35 US patents granted on 29 April 2008 and assigned to Microsoft
| 1 | 7,367,015 | Method and system for software program editing in common language runtime environment (CLRE) |
| 2 | 7,366,991 | Method and system for providing an extensible user interface |
| 3 | 7,366,984 | Phonetic searching using multiple readings |
| 4 | 7,366,983 | Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction |
| 5 | 7,366,982 | Packages that contain pre-paginated documents |
| 6 | 7,366,978 | Method and system for creating a grid-like coordinate system for addressing data contained in an irregular computer-generated table |
| 7 | 7,366,976 | Methods and systems for generating a viewable document using view descriptors and generic view stylesheets |
| 8 | 7,366,973 | Item, relation, attribute: the IRA object model |
| 9 | 7,366,972 | Dynamically mediating multimedia content and devices |
| 10 | 7,366,960 | Use of incarnation number for resource state cycling |
| 11 | 7,366,944 | Increasing software fault tolerance by employing surprise-removal paths |
| 12 | 7,366,925 | Portable power management for a computing device carrying case |
| 13 | 7,366,918 | Configuring and managing resources on a multi-purpose integrated circuit card using a personal computer |
| 14 | 7,366,915 | Digital license with referral information |
| 15 | 7,366,896 | Systems and methods for limiting access to potentially dangerous code |
| 16 | 7,366,861 | Portable media synchronization manager |
| 17 | 7,366,858 | Framework for taking shadow copies and performing backups in a networked environment |
| 18 | 7,366,825 | NAND flash memory management |
| 19 | 7,366,796 | Method and levels of ping notification |
| 20 | 7,366,792 | Method and system for proxying telephony messages |
| 21 | 7,366,763 | Scalable notification delivery service |
| 22 | 7,366,760 | System and method for improved client server communications of email messages |
| 23 | 7,366,740 | Systems and methods for automatic maintenance and repair of enitites in a data model |
| 24 | 7,366,733 | Method and apparatus for reproducing play lists in record media |
| 25 | 7,366,716 | Integrating vertical partitioning into physical database design |
| 26 | 7,366,705 | Clustering based text classification |
| 27 | 7,366,654 | Learning translation relationships among words |
| 28 | 7,366,546 | Sports channel |
| 29 | 7,366,500 | SMS shorthand dictionary service |
| 30 | 7,366,237 | Low complexity real-time video coding |
| 31 | 7,366,172 | Receiver-driven layered error correction multicast over heterogeneous packet networks |
| 32 | 7,366,097 | Increasing the accuracy and efficiency of admission control for data streams |
| 33 | 7,365,872 | Client computer system, method and computer readable medium comprising executable instructions for rendering printable documents in a native printer language on the network |
| 34 | 7,365,758 | System and method for scaling data according to an optimal width for display on a mobile device |
| 35 | 7,365,754 | System and method for applying color management on captured images |