Patents by Inventor Thomas E. Quinn

Thomas E. Quinn 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: 8793676
    Abstract: A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Patent number: 8615743
    Abstract: In a managed execution environment, an error may be deferred until execution of the application, program, function, or other assemblage of code reaches a point at which calling the reference to a module associated with a missing type or type member becomes inevitable.
    Type: Grant
    Filed: February 27, 2006
    Date of Patent: December 24, 2013
    Assignee: Microsoft Corporation
    Inventors: James S. Miller, Thomas E. Quinn
  • Patent number: 8336043
    Abstract: A method and system for dynamically downloading custom code for execution within a host application is provided. A deployment system augments the manifest used for deploying managed applications to include information describing how the host application is to use the custom code, referred to as host manifest information. The deployment system reports the progress of the downloading of the manifest and the custom code to the host application. The host application can then perform appropriate host-specific processing. The host application may provide to the deployment system an interface for verifying the trust of the custom code. The deployment system also allows the host application to control the uninstalling of the custom code.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: December 18, 2012
    Assignee: Microsoft Corporation
    Inventors: Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, Jeff Young, Brent Rector
  • Patent number: 8181188
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and managed code is provided. A version resiliency technique specifies that the host application and the managed code communicate via an adapter that implements a protocol to access an object exposed by the host application. The version resiliency technique specifies that when a new version of the host application that impacts an interface exposed by the object of the host application is released, a new version of the adapter that executes within the application domain of the custom code is released. A version of managed code that adheres to the protocol will correctly interact with new versions of the host application that include a new version of the object because a new implementation of the adapter is also provided.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: May 15, 2012
    Assignee: Microsoft Corporation
    Inventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Patent number: 8010970
    Abstract: The forms hosting system allows a developer to design custom Outlook form regions containing standard and custom managed controls using popular development tools. The forms hosting system provides a runtime wrapper that appears to Outlook as a normal ActiveX control. When Outlook invokes the runtime wrapper control, the runtime wrapper control loads the managed controls defined by the developer. The runtime wrapper control translates messages received from Outlook into messages understood by the managed controls.
    Type: Grant
    Filed: April 10, 2007
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
  • Patent number: 7945921
    Abstract: A system allows a non-virtual method of a base class inherited by a derived class to be effectively overridden so that code developed to access the method via the base class accesses the overriding behavior. The system replaces an instance of the derived class with a dynamic object and transparent object with the transparent object appearing to provide to invoking code an implementation of the derived class. Upon receiving an invocation of a method, the transparent proxy directs the invocation to the dynamic object by invoking an invoke method of the dynamic object passing an indication of the invoked method of the transparent object. The dynamic object may be an instance of a dynamic class that inherits a real class with a virtual invoke method. The dynamic class overrides the invoke method to provide overriding behavior.
    Type: Grant
    Filed: March 1, 2007
    Date of Patent: May 17, 2011
    Assignee: Microsoft Corporation
    Inventor: Thomas E. Quinn
  • Patent number: 7634578
    Abstract: Node-to-node communication pipelines may include code modules that are configured and assembled across a protocol according to dynamically input module-specific parameters. The parameters may be input to a service into which the modules are registered, and one or more appropriate pipelines may be dynamically assembled.
    Type: Grant
    Filed: July 14, 2005
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Brian K. Pepin, James S. Miller, Jeffrey Richter, Thomas E. Quinn
  • Patent number: 7530079
    Abstract: A facility is provided for managing application customization. In various embodiments, an application associated with the facility receives an indication of an application identifier that identifies a customized instance of the application, determines whether the customized instance of the application is available and, when the customized instance of the application is available, configures the application to employ a resource associated with the customized instance of the application. The facility can receive an identifier and an indication to update common components of an application, the application having a customized instance of the application; remove components associated with the customized instance of the application; copy common components associated with the application; associate the common components with the received identifier; and apply customizing components that customize the common components of the application to create a customized instance of the application.
    Type: Grant
    Filed: September 7, 2006
    Date of Patent: May 5, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul Stubbs, Philo N. Nordlund, John A. Shepard, Thomas E. Quinn, C. Douglas Hodges
  • Publication number: 20080256555
    Abstract: The forms hosting system allows a developer to design custom Outlook form regions containing standard and custom managed controls using popular development tools. The forms hosting system provides a runtime wrapper that appears to Outlook as a normal ActiveX control. When Outlook invokes the runtime wrapper control, the runtime wrapper control loads the managed controls defined by the developer. The runtime wrapper control translates messages received from Outlook into messages understood by the managed controls.
    Type: Application
    Filed: April 10, 2007
    Publication date: October 16, 2008
    Applicant: Microsoft Corporation
    Inventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
  • Publication number: 20080216102
    Abstract: A system allows a non-virtual method of a base class inherited by a derived class to be effectively overridden so that code developed to access the method via the base class accesses the overriding behavior. The system replaces an instance of the derived class with a dynamic object and transparent object with the transparent object appearing to provide to invoking code an implementation of the derived class. Upon receiving an invocation of a method, the transparent proxy directs the invocation to the dynamic object by invoking an invoke method of the dynamic object passing an indication of the invoked method of the transparent object. The dynamic object may be an instance of a dynamic class that inherits a real class with a virtual invoke method. The dynamic class overrides the invoke method to provide overriding behavior.
    Type: Application
    Filed: March 1, 2007
    Publication date: September 4, 2008
    Applicant: Microsoft Corporation
    Inventor: Thomas E. Quinn
  • Publication number: 20080201759
    Abstract: A method and system for enforcing a security policy that is version-independent of a managed environment when loading custom code for a host application is provided. A security system of the managed environment receives an identifier of custom code to be loaded by the host application. Before loading the identified custom code, the managed environment enforces the security policy using the security system. The security system applies the security policy expressed using a version-independent indication of identifiers of untrusted custom code. If the security system determines that the trust of the custom code is unknown, then the security system requests a trust manager associated with the host application to enforce a host application-specific security policy. When the custom code is trusted, the managed environment loads the custom code.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Michael D. Downen, Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, David A. Whitechapel, Jeff Young, Shawn Farkas
  • Publication number: 20080201707
    Abstract: A method and system for dynamically downloading custom code for execution within a host application is provided. A deployment system augments the manifest used for deploying managed applications to include information describing how the host application is to use the custom code, referred to as host manifest information. The deployment system reports the progress of the downloading of the manifest and the custom code to the host application. The host application can then perform appropriate host-specific processing. The host application may provide to the deployment system an interface for verifying the trust of the custom code. The deployment system also allows the host application to control the uninstalling of the custom code.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, Jeff Young, Brent Rector
  • Publication number: 20080201568
    Abstract: A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Publication number: 20080201700
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and managed code is provided. A version resiliency technique specifies that the host application and the managed code communicate via an adapter that implements a protocol to access an object exposed by the host application. The version resiliency technique specifies that when a new version of the host application that impacts an interface exposed by the object of the host application is released, a new version of the adapter that executes within the application domain of the custom code is released. A version of managed code that adheres to the protocol will correctly interact with new versions of the host application that include a new version of the object because a new implementation of the adapter is also provided.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Publication number: 20080066051
    Abstract: A facility is provided for managing application customization. In various embodiments, an application associated with the facility receives an indication of an application identifier that identifies a customized instance of the application, determines whether the customized instance of the application is available and, when the customized instance of the application is available, configures the application to employ a resource associated with the customized instance of the application. The facility can receive an identifier and an indication to update common components of an application, the application having a customized instance of the application; remove components associated with the customized instance of the application; copy common components associated with the application; associate the common components with the received identifier; and apply customizing components that customize the common components of the application to create a customized instance of the application.
    Type: Application
    Filed: September 7, 2006
    Publication date: March 13, 2008
    Applicant: Microsoft Corporation
    Inventors: Paul Stubbs, Philo N. Nordlund, John A. Shepard, Thomas E. Quinn, C. Douglas Hodges
  • Publication number: 20070240120
    Abstract: In a managed execution environment, an error may be deferred until execution of the application, program, function, or other assemblage of code reaches a point at which calling the reference to a module associated with a missing type or type member becomes inevitable.
    Type: Application
    Filed: February 27, 2006
    Publication date: October 11, 2007
    Inventors: James S. Miller, Thomas E. Quinn