Microsoft patent 060606