microsoft patent