Patents by Inventor Simon J. Hall

Simon J. Hall 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: 8522227
    Abstract: A runtime activation system uses a set of policies designed to provide a balance between backwards compatibility and ease of migrating existing (non side-by-side aware) applications to new runtime versions. The system chooses the runtime version to activate when an application runs or when a runtime application programming interface is invoked based on the set of policies. The system implements these policies by consulting compatibility data associated with the application indicating the intent of the author and level of side-by-side support provided by the application and/or global configuration data. Based on the compatibility data, the system chooses policies that are right in the most common cases, and easy to modify in less common cases. Thus, the runtime activation system allows applications to be flexibly configured to handle new runtime versions in a manner determined by the application author, a system administrator, or others.
    Type: Grant
    Filed: August 24, 2009
    Date of Patent: August 27, 2013
    Assignee: Microsoft Corporation
    Inventors: Luiz F. Santos, Jesse D. Kaplan, David S. Mortenson, Richard E. Lander, Simon J. Hall, Mark Miller, Richard M. Byers, Ladislav Prosek, Sean Selitrennikoff
  • Patent number: 8316357
    Abstract: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.
    Type: Grant
    Filed: September 3, 2008
    Date of Patent: November 20, 2012
    Assignee: Microsoft Corporation
    Inventors: Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Patrick H. Dussud, Simon J. Hall, Rudi Martin, Michael M. Magruder, Andrew Pardoe, Madhusudhan Talluri
  • Patent number: 8271938
    Abstract: Mechanisms that allow frameworks significant flexibility in varying the library of common base classes in a manner that better suits the domain of applications served by the framework. Instead of providing the base class library, the runtime provides a data contract for the data structure of each base class. The frameworks can then define each base class in a custom way so long as the data contract is honored. Thus, for example, the framework may provide custom framework-specific methods and/or properties as is appropriate for the framework. Another framework might define the base classes in a different way.
    Type: Grant
    Filed: September 3, 2008
    Date of Patent: September 18, 2012
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Raja Krishnaswamy, Simon J. Hall, Madhusudhan Talluri, Rudi Martin, Michael M. Magruder, Andrew J. Pardoe
  • Publication number: 20110047536
    Abstract: A runtime activation system uses a set of policies designed to provide a balance between backwards compatibility and ease of migrating existing (non side-by-side aware) applications to new runtime versions. The system chooses the runtime version to activate when an application runs or when a runtime application programming interface is invoked based on the set of policies. The system implements these policies by consulting compatibility data associated with the application indicating the intent of the author and level of side-by-side support provided by the application and/or global configuration data. Based on the compatibility data, the system chooses policies that are right in the most common cases, and easy to modify in less common cases. Thus, the runtime activation system allows applications to be flexibly configured to handle new runtime versions in a manner determined by the application author, a system administrator, or others.
    Type: Application
    Filed: August 24, 2009
    Publication date: February 24, 2011
    Applicant: Microsoft Corporation
    Inventors: Luiz F. Santos, Jesse D. Kaplan, David S. Mortenson, Richard E. Lander, Simon J. Hall, Mark Miller, Richard M. Byers, Ladislav Prosek, Sean Selitrennikoff
  • Publication number: 20100058283
    Abstract: Mechanisms that allow frameworks significant flexibility in varying the library of common base classes in a manner that better suits the domain of applications served by the framework. Instead of providing the base class library, the runtime provides a data contract for the data structure of each base class. The frameworks can then define each base class in a custom way so long as the data contract is honored. Thus, for example, the framework may provide custom framework-specific methods and/or properties as is appropriate for the framework. Another framework might define the base classes in a different way.
    Type: Application
    Filed: September 3, 2008
    Publication date: March 4, 2010
    Applicant: Microsoft Corporation
    Inventors: Patrick H. Dussud, Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Raja Krishnaswamy, Simon J. Hall, Madhusudhan Talluri, Rudi Martin, Michael M. Magruder, Andrew Pardoe
  • Publication number: 20100058304
    Abstract: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.
    Type: Application
    Filed: September 3, 2008
    Publication date: March 4, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Patrick H. Dussud, Simon J. Hall, Rudi Martin, Michael M. Magruder, Andrew Pardoe, Madhusudhan Talluri
  • Publication number: 20090319982
    Abstract: Embodiments described herein are directed to extending a software interface to include non-public functions. In one embodiment, a computer system receives a user input indicating that an interface is to be used to manage code inheritance in the generation of a software application. The interface includes a public functions declaration identifying functions that are publicly available to generate an application. The computer system determines that the received indication indicates that a non-public function is to be used in addition to any public functions, where the non-public function is accessible through the interface. The computer system also generates a software application using the non-public function and a public function, as indicated in the received user input.
    Type: Application
    Filed: June 24, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Simon J. Hall, Nigel Perry
  • Publication number: 20090193392
    Abstract: Embodiments are directed to providing intermediate language (IL) code on a per-method basis for at least one method of a binary. In one embodiment, a computer system selects a method from among various methods included in a binary file, where the methods are configured to perform various intended functions for an application. The computer system appends a descriptive marker to the selected method indicating how to obtain IL code that is to be included in the body of the selected method, receives a command to execute the selected method, and refers to the appended descriptive marker to generate an IL code request based on the indication in the descriptive marker. The computer system submits the generated IL code request to one or more IL code providers to request IL code for the selected method, receives the requested IL code for the selected method and inserts the IL code into the body of the selected method.
    Type: Application
    Filed: January 29, 2008
    Publication date: July 30, 2009
    Inventors: Michael David Downen, Aidan T. Hughes, Jonathan W. Keljo, Simon J. Hall, Xia Li, Raja Krishnaswarny, Atsushi Kanamori