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: 9189605
    Abstract: 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: Grant
    Filed: February 23, 2009
    Date of Patent: November 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 7631298
    Abstract: 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: Grant
    Filed: June 30, 2005
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Martyn S. Lovell, Michael J. Grier, Bradley J. Bartz
  • Publication number: 20090158036
    Abstract: 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: Application
    Filed: February 23, 2009
    Publication date: June 18, 2009
    Applicant: Microsoft Corporation
    Inventors: 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: 7475097
    Abstract: 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: Grant
    Filed: November 24, 2004
    Date of Patent: January 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 7287259
    Abstract: 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: Grant
    Filed: April 24, 2001
    Date of Patent: October 23, 2007
    Assignee: Microsoft Corporation
    Inventors: Michael J. Grier, RoseMarie FitzSimons, David D'Souza, Peter Wilson, Srivatsan Parthasarathy, Sanjay G. Shenoy, Micheal Dunn
  • Patent number: 7251655
    Abstract: 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: Grant
    Filed: May 21, 2004
    Date of Patent: July 31, 2007
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 7073170
    Abstract: 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: Grant
    Filed: March 21, 2005
    Date of Patent: July 4, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Michael Dunn, Alan Shi
  • Patent number: 6973466
    Abstract: 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: Grant
    Filed: May 21, 2004
    Date of Patent: December 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 6928447
    Abstract: 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: Grant
    Filed: May 21, 2004
    Date of Patent: August 9, 2005
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 6915507
    Abstract: 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: Grant
    Filed: November 21, 2000
    Date of Patent: July 5, 2005
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Martyn S. Lovell, Michael J. Grier, Bradley J. Bartz
  • Patent number: 6871344
    Abstract: 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: Grant
    Filed: April 24, 2001
    Date of Patent: March 22, 2005
    Assignee: Microsoft Corporation
    Inventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Micheal Dunn, Alan Shi
  • Publication number: 20040216089
    Abstract: 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: Application
    Filed: May 21, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20040215646
    Abstract: 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: Application
    Filed: May 21, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20040216090
    Abstract: 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: Application
    Filed: May 21, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 6766334
    Abstract: 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: Grant
    Filed: November 21, 2000
    Date of Patent: July 20, 2004
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20020100017
    Abstract: 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: Application
    Filed: April 24, 2001
    Publication date: July 25, 2002
    Applicant: Microsoft Corporation
    Inventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Micheal Dunn, Alan Shi
  • Publication number: 20020019972
    Abstract: 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: Application
    Filed: April 24, 2001
    Publication date: February 14, 2002
    Inventors: Michael J. Grier, RoseMarie FitzSimons, David D'Souza, Peter Wilson, Srivatsan Parthasarathy, Sanjay G. Shenoy, Michael Dunn