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: 8793676Abstract: 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: GrantFiled: February 15, 2007Date of Patent: July 29, 2014Assignee: Microsoft CorporationInventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Patent number: 8615743Abstract: 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: GrantFiled: February 27, 2006Date of Patent: December 24, 2013Assignee: Microsoft CorporationInventors: James S. Miller, Thomas E. Quinn
-
Patent number: 8336043Abstract: 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: GrantFiled: February 15, 2007Date of Patent: December 18, 2012Assignee: Microsoft CorporationInventors: Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, Jeff Young, Brent Rector
-
Patent number: 8181188Abstract: 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: GrantFiled: February 15, 2007Date of Patent: May 15, 2012Assignee: Microsoft CorporationInventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Patent number: 8010970Abstract: 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: GrantFiled: April 10, 2007Date of Patent: August 30, 2011Assignee: Microsoft CorporationInventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
-
Patent number: 7945921Abstract: 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: GrantFiled: March 1, 2007Date of Patent: May 17, 2011Assignee: Microsoft CorporationInventor: Thomas E. Quinn
-
Patent number: 7634578Abstract: 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: GrantFiled: July 14, 2005Date of Patent: December 15, 2009Assignee: Microsoft CorporationInventors: Brian K. Pepin, James S. Miller, Jeffrey Richter, Thomas E. Quinn
-
Patent number: 7530079Abstract: 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: GrantFiled: September 7, 2006Date of Patent: May 5, 2009Assignee: Microsoft CorporationInventors: Paul Stubbs, Philo N. Nordlund, John A. Shepard, Thomas E. Quinn, C. Douglas Hodges
-
Publication number: 20080256555Abstract: 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: ApplicationFiled: April 10, 2007Publication date: October 16, 2008Applicant: Microsoft CorporationInventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
-
Publication number: 20080216102Abstract: 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: ApplicationFiled: March 1, 2007Publication date: September 4, 2008Applicant: Microsoft CorporationInventor: Thomas E. Quinn
-
Publication number: 20080201759Abstract: 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: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: 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: 20080201707Abstract: 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: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, Jeff Young, Brent Rector
-
Publication number: 20080201568Abstract: 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: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Publication number: 20080201700Abstract: 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: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Publication number: 20080066051Abstract: 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: ApplicationFiled: September 7, 2006Publication date: March 13, 2008Applicant: Microsoft CorporationInventors: Paul Stubbs, Philo N. Nordlund, John A. Shepard, Thomas E. Quinn, C. Douglas Hodges
-
Publication number: 20070240120Abstract: 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: ApplicationFiled: February 27, 2006Publication date: October 11, 2007Inventors: James S. Miller, Thomas E. Quinn