Patents by Inventor Michael J. Grier
Michael J. Grier has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9189605Abstract: A method of establishing a protected environment within a computing device including validating a kernel component loaded into a kernel of the computing device, establishing a security state for the kernel based on the validation, creating a secure process and loading a software component into the secure process, periodically checking the security state of the kernel, and notifying the secure process when the security state of the kernel has changed.Type: GrantFiled: February 23, 2009Date of Patent: November 17, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Sumedh N. Barde, Jonathan D. Schwartz, Reid Joseph Kuhn, Alexandre Vicktorovich Grigorovitch, Kirt A. Debique, Chadd B. Knowlton, James M. Alkove, Geoffrey T. Dunbar, Michael J. Grier, Ming Ma, Chaitanya D. Upadhyay, Adil Ahmed Sherwani, Arun Upadhyaya Kishan
-
Patent number: 7631298Abstract: A software-development system or versioning system has a collection of modules for performing individual development functions such as document editing, keyword processing, and private-copy management. Each module has an interface compatible with that of the others, so that modules can be added to or substituted for the original modules, if the new modules conform to the interface. The architecture of this system supports the performance of development actions such as document merging and keyword expansion at any location within the system. The system operates upon documents and files as objects in an object space, rather than in name spaces.Type: GrantFiled: June 30, 2005Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Martyn S. Lovell, Michael J. Grier, Bradley J. Bartz
-
Publication number: 20090158036Abstract: A method of establishing a protected environment within a computing device including validating a kernel component loaded into a kernel of the computing device, establishing a security state for the kernel based on the validation, creating a secure process and loading a software component into the secure process, periodically checking the security state of the kernel, and notifying the secure process when the security state of the kernel has changed.Type: ApplicationFiled: February 23, 2009Publication date: June 18, 2009Applicant: Microsoft CorporationInventors: Sumedh N. Barde, Jonathan D. Schwartz, Reid Joseph Kuhn, Alexandre Vicktorovich Grigorovitch, Kirt A. Debique, Chabd B. Knowlton, James M. Alkove, Geoffery T. Dunbar, Michael J. Grier, Ming Ma, Chaitanya D. Upadhyay, Adil Ahmed Sherwani, Arun Upadhyaya Kishan
-
Patent number: 7475097Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: GrantFiled: November 24, 2004Date of Patent: January 6, 2009Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Patent number: 7287259Abstract: An infrastructure that allows applications to run with specified versions of dependent assemblies, wherein each assembly may exist and run side-by-side on the system with other versions of the same assembly being used by other applications. An application provides a manifest to specify any desired assembly versions on which it is dependent. Similarly, each assembly may have an assembly manifest that specifies the versions of assemblies on which it is dependent. During an initialization phase, an activation context is created for the application, based on the manifests, to map version independent names to a particular assembly version maintained on the system. While the application is in a running phase, for any globally named object that the application wants created, the activation context is accessed to locate the application's or assembly's manifest-specified version. The manifests and activation context constructed therefrom thus isolate an application from assembly version changes.Type: GrantFiled: April 24, 2001Date of Patent: October 23, 2007Assignee: Microsoft CorporationInventors: Michael J. Grier, RoseMarie FitzSimons, David D'Souza, Peter Wilson, Srivatsan Parthasarathy, Sanjay G. Shenoy, Micheal Dunn
-
Patent number: 7251655Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: GrantFiled: May 21, 2004Date of Patent: July 31, 2007Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Patent number: 7073170Abstract: A method, system and infrastructure that allow an application to run with specified versions of assemblies bound thereto, while allowing the application author, assembly publisher and/or an administrator to change the originally-specified version as desired. Each assembly may exist and run side-by-side on the system with other versions of the same assembly being used by other applications. An application manifest specifies any desired assembly versions, which may be redirected to another version (overridden) by an application configuration. A publisher configuration provided by an assembly publisher can similarly override the specified version. Lastly, an administrator configuration is capable of overriding other configuration versioning information. A table built from the manifest and any configuration redirection may be accessed during execution to quickly locate the appropriate version.Type: GrantFiled: March 21, 2005Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Michael Dunn, Alan Shi
-
Patent number: 6973466Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: GrantFiled: May 21, 2004Date of Patent: December 6, 2005Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Patent number: 6928447Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: GrantFiled: May 21, 2004Date of Patent: August 9, 2005Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Patent number: 6915507Abstract: A software development system or versifying system has a collection of modules for performing individual development functions such as document editing, keyword processing, and private-copy management. Each module has an interface compatible with that of the others, so that modules can be added to or substituted for the original modules, if the new modules conform to the interface. The architecture of this system supports the performance of development actions such as document merging and keyword expansion at any location within the system. The system software interfaces to a keyword processing subsystem comprising a plurality of expanders for processing different sets of keywords and a keyword broker for selecting among the expanders, whereby the client can access resources of the software development service providers for development services identified using the keywords.Type: GrantFiled: November 21, 2000Date of Patent: July 5, 2005Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Martyn S. Lovell, Michael J. Grier, Bradley J. Bartz
-
Patent number: 6871344Abstract: A method, system and infrastructure that allow an application to run with specified versions of assemblies bound thereto, while allowing the application author, assembly publisher and/or an administrator to change the originally-specified version as desired. Each assembly may exist and run side-by-side on the system with other versions of the same assembly being used by other applications. An application manifest specifies any desired assembly versions, which may be redirected to another version (overridden) by an application configuration. A publisher configuration provided by an assembly publisher can similarly override the specified version. Lastly, an administrator configuration is capable of overriding other configuration versioning information. A table built from the manifest and any configuration redirection may be accessed during execution to quickly locate the appropriate version.Type: GrantFiled: April 24, 2001Date of Patent: March 22, 2005Assignee: Microsoft CorporationInventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Micheal Dunn, Alan Shi
-
Publication number: 20040216089Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: ApplicationFiled: May 21, 2004Publication date: October 28, 2004Applicant: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Publication number: 20040215646Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: ApplicationFiled: May 21, 2004Publication date: October 28, 2004Applicant: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Publication number: 20040216090Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: ApplicationFiled: May 21, 2004Publication date: October 28, 2004Applicant: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Patent number: 6766334Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.Type: GrantFiled: November 21, 2000Date of Patent: July 20, 2004Assignee: Microsoft CorporationInventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
-
Publication number: 20020100017Abstract: A method, system and infrastructure that allow an application to run with specified versions of assemblies bound thereto, while allowing the application author, assembly publisher and/or an administrator to change the originally-specified version as desired. Each assembly may exist and run side-by-side on the system with other versions of the same assembly being used by other applications. An application manifest specifies any desired assembly versions, which may be redirected to another version (overridden) by an application configuration. A publisher configuration provided by an assembly publisher can similarly override the specified version. Lastly, an administrator configuration is capable of overriding other configuration versioning information. A table built from the manifest and any configuration redirection may be accessed during execution to quickly locate the appropriate version.Type: ApplicationFiled: April 24, 2001Publication date: July 25, 2002Applicant: Microsoft CorporationInventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Micheal Dunn, Alan Shi
-
Publication number: 20020019972Abstract: An infrastructure that allows applications to run with specified versions of dependent assemblies, wherein each assembly may exist and run side-by-side on the system with other versions of the same assembly being used by other applications. An application provides a manifest to specify any desired assembly versions on which it is dependent. Similarly, each assembly may have an assembly manifest that specifies the versions of assemblies on which it is dependent. During an initialization phase, an activation context is created for the application, based on the manifests, to map version independent names to a particular assembly version maintained on the system. While the application is in a running phase, for any globally named object that the application wants created, the activation context is accessed to locate the application's or assembly's manifest-specified version. The manifests and activation context constructed therefrom thus isolate an application from assembly version changes.Type: ApplicationFiled: April 24, 2001Publication date: February 14, 2002Inventors: Michael J. Grier, RoseMarie FitzSimons, David D'Souza, Peter Wilson, Srivatsan Parthasarathy, Sanjay G. Shenoy, Michael Dunn