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: 9064049
    Abstract: A server exposes debugger services to a plurality of debugger clients. One or more debugger clients can select a debug operation and establish a debug session in a thread of a server process for debugging user code. A two-way debug communication pipeline can be established between a debugger client and the server using standard encoding protocols and standard network transport protocols. A two-way debug communication pipeline can be established using HTTP where the server can initiate a communication with the debugger client using a long polling technique. When one of the threads of the server process is suspended, the other threads in the server process continue to execute.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: June 23, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Igor A. Zinkovsky, Marcin Sawicki, Jonathon Michael Stall, Anthony L. Crider, Thomas E. Quinn, Jr.
  • 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
  • Publication number: 20120151452
    Abstract: A server exposes debugger services to a plurality of debugger clients. One or more debugger clients can select a debug operation and establish a debug session in a thread of a server process for debugging user code. A two-way debug communication pipeline can be established between a debugger client and the server using standard encoding protocols and standard network transport protocols. A two-way debug communication pipeline can be established using HTTP where the server can initiate a communication with the debugger client using a long polling technique. When one of the threads of the server process is suspended, the other threads in the server process continue to execute.
    Type: Application
    Filed: December 14, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Igor A. Zinkovsky, Marcin Sawicki, Jonathon Michael Stall, Anthony L. Crider, Thomas E. Quinn, JR.
  • Patent number: 8201185
    Abstract: Communicating between managed add-ins and COM hosts. A computing environment includes host objects which may be one of a COM object or a managed code object. The computing environment further includes add-in objects implemented in managed code. Add-in object can provide additional functionality to the host objects. A method includes acts for communicating between add-in objects and host objects. The method includes determining that a first host object to be communicated with is a COM object of a COM host. As a result of determining that a host object to be communicated with is a COM object, incoming and outgoing communications from a managed code add-in are routed through an interop proxy. The interop proxy is implemented in managed code with a managed code add-in. The interop proxy is configured to translate managed code invocations to COM code invocation, and to translate COM code invocations to managed code invocations.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventors: Thomas E. Quinn, Jr., Igor Zinkovsky, Apurva A. Sinha
  • 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: 7856505
    Abstract: An embodiment not only instantiates a pipeline that allows communication between first and second executable nodes regardless of whether the nodes have compatible or incompatible interface views, but also structures the pipeline based on the relationship between the interface views so, for example, the pipeline does not consume unnecessary overhead or introduce unnecessary data-transfer delay. For example, an embodiment compares a first interface view of a first executable node to a second interface view of a second executable node. A first communication pipeline having a first structure is instantiated between the first and second nodes if the first view has a first pre-established relationship to the second view, and a second communication pipeline having a second structure is instantiated between the first and second nodes if the first view has a second pre-established relationship to the second view.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: December 21, 2010
    Assignee: Microsoft Corporation
    Inventors: John C. Gudenkauf, Thomas E. Quinn, Jr., Zifeng He, Jesse D. Kaplan, Peter H. Sheill
  • Patent number: 7676785
    Abstract: Architecture that integrates an unmanaged application as a hosted application into a design environment in a coherent yet usable manner such that the developer can use the hosted application's native functionality yet leverage rich productivity features provided by the IDE. The IDE includes a hosting component that comprises an application adaptor for providing an interface from the unmanaged application to the IDE. The IDE further includes a designer framework that provides user access to designer capabilities of the IDE. The host adaptor interfaces to the designer framework either directly and/or through an integration interface. Thus, the developer/user can then access the native functionality of the unmanaged application as well as the IDE functionality. This provides rich integration between the development environment and the hosted application, the end result of which is the designer interacting with the IDE.
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Svetlana Loksh, Thomas E. Quinn, Jr., Reza Chitsaz
  • Publication number: 20090328064
    Abstract: Communicating between managed add-ins and COM hosts. A computing environment includes host objects which may be one of a COM object or a managed code object. The computing environment further includes add-in objects implemented in managed code. Add-in object can provide additional functionality to the host objects. A method includes acts for communicating between add-in objects and host objects. The method includes determining that a first host object to be communicated with is a COM object of a COM host. As a result of determining that a host object to be communicated with is a COM object, incoming and outgoing communications from a managed code add-in are routed through an interop proxy. The interop proxy is implemented in managed code with a managed code add-in. The interop proxy is configured to translate managed code invocations to COM code invocation, and to translate COM code invocations to managed code invocations.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: Thomas E. Quinn, JR., Igor Zinkovsky, Apurva A. Sinha
  • 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
  • Patent number: 7523444
    Abstract: A managed automation programming model is provided for versioning computing components independently, isolating such components, and dynamically binding them. For example, components such as an application and an and-in are able to version independently of one another, so that disparate versions of these components are still able to communicate—or in the nominal case, the same versions are able to communicate. Moreover, such components are isolated by the managed automation programming model so that they can be disintegrated and bound with other components in a seamless manner. Lastly, the independent versioning and component isolation advantageously allows for dynamic binding of the components at runtime.
    Type: Grant
    Filed: June 27, 2005
    Date of Patent: April 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas E. Quinn, Jr., Nirav Y. Shah
  • Publication number: 20090006629
    Abstract: An embodiment not only instantiates a pipeline that allows communication between first and second executable nodes regardless of whether the nodes have compatible or incompatible interface views, but also structures the pipeline based on the relationship between the interface views so, for example, the pipeline does not consume unnecessary overhead or introduce unnecessary data-transfer delay. For example, an embodiment compares a first interface view of a first executable node to a second interface view of a second executable node. A first communication pipeline having a first structure is instantiated between the first and second nodes if the first view has a first pre-established relationship to the second view, and a second communication pipeline having a second structure is instantiated between the first and second nodes if the first view has a second pre-established relationship to the second view.
    Type: Application
    Filed: June 29, 2007
    Publication date: January 1, 2009
    Applicant: Microsoft Corporation
    Inventors: John C. Gudenkauf, Thomas E. Quinn, JR., Zifeng He, Jesse D. Kaplan, Peter H. Sheill
  • 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: 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: 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