Microsoft patent 060606 2020