Patents by Inventor Michael Shneerson

Michael Shneerson 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: 9417931
    Abstract: A system and method for facilitating execution of multiple assemblies in a framework, in which the assemblies use a component external to the framework, is provided. A runtime manager may retrieve metadata from each of the assemblies, and selectively insert the metadata into a unified types object, so that metadata corresponding to equivalent type definitions is shared. When each assembly is executed, the combined metadata may be used to invoke or otherwise interact with the external component.
    Type: Grant
    Filed: June 24, 2008
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Raja Krishnaswamy, Shrikrishna V. Borde, Michael Shneerson, Samuel Ng, Timothy Ng
  • 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: 8370740
    Abstract: The invention enables document level controls to be added to applications which display documents by using an application level add-in. The application level add-in tracks document opening and closing and dynamically constructs the document level control accordingly to ensure that the document level control is active only while the document is open.
    Type: Grant
    Filed: March 11, 2008
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Igor Zinkovsky, Michael Shneerson, David A. Whitechapel
  • Patent number: 8201155
    Abstract: User assemblies can be created by a compiler that can handle more than one type definition during execution. Local copies are created for respective authoritative types in a code library, and the local copies are marked with a local type identifier. An authoritative type identifier (e.g., a globally unique identifier (GUID)) is copied from the authoritative type to the local type, and functions and properties associated with the local type are also copied from the authoritative type. Authoritative types are resolved for requested types when a local assembly references a local type from a compiled user assembly. The local type can be identified by a local type identifier, and an authoritative type can be retrieved from the code library that has a same authoritative type identifier as the requested type. A local copy of the retrieved authoritative type can be copied to the local assembly under compilation. The compiler can then emit user assemblies that comprise merely local types.
    Type: Grant
    Filed: January 9, 2009
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventors: Avner Y. Aharoni, Samuel Y. Ng, Michael Shneerson, Edward T. Maurer, Raja Krishnaswamy, Kevin Halverson, Timothy Y. Ng, Aleksey V. Tsingauz
  • 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: 8146109
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and custom code that is managed code is provided. A host application exposes an application-level object and a document-level object. A custom code runtime provides a wrapper for the document-level object within the application domain of the custom code runtime. The custom code runtime also provides a mechanism within the application domain of the custom code runtime for providing to custom code a reference to the application-level object directly, rather than through a wrapper. Custom code can then access functionality of the application-level object directly using the reference without having to use a wrapper provided by the custom code runtime.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: March 27, 2012
    Assignee: Microsoft Corporation
    Inventors: 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
  • Publication number: 20100180264
    Abstract: User assemblies can be created by a compiler that can handle more than one type definition during execution. Local copies are created for respective authoritative types in a code library, and the local copies are marked with a local type identifier. An authoritative type identifier (e.g., a globally unique identifier (GUID)) is copied from the authoritative type to the local type, and functions and properties associated with the local type are also copied from the authoritative type. Authoritative types are resolved for requested types when a local assembly references a local type from a compiled user assembly. The local type can be identified by a local type identifier, and an authoritative type can be retrieved from the code library that has a same authoritative type identifier as the requested type. A local copy of the retrieved authoritative type can be copied to the local assembly under compilation. The compiler can then emit user assemblies that comprise merely local types.
    Type: Application
    Filed: January 9, 2009
    Publication date: July 15, 2010
    Applicant: Microsoft Corporation
    Inventors: Avner Y. Aharoni, Samuel Y. Ng, Michael Shneerson, Edward T. Maurer, Raja Krishnaswamy, Kevin Halverson, Timothy Y. Ng, Aleksey V. Tsingauz
  • Patent number: 7735059
    Abstract: Systems and methods for hosting managed code controls within unmanged hosts, such as MICROSOFT Word and Excel. There are two components to the hosting architecture, a wrapper control that implements various interfaces and a container control that hosts the managed code control. A design-time implementation allows for a designer to drag and drop managed code controls onto documents that run in a design component process. A runtime component allows managed code controls to run within hosts under security permissions specified by a policy.
    Type: Grant
    Filed: June 9, 2005
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: Geoffrey Charles Darst, Eric Hyde Carter, Michael Shneerson, Stephen James Styrchak
  • Publication number: 20090320007
    Abstract: A system and method for facilitating execution of a computer program in a framework, in which the computer program uses a component external to the framework is provided. The computer program is generated by compiling corresponding source code to produce generated code, extracting metadata corresponding to the external component, and combining the generated code with the metadata. The extracted metadata may be a partial subset of the metadata corresponding to the external component. When the computer program is executed, the combined metadata may be used to invoke or otherwise interact with the external component.
    Type: Application
    Filed: June 24, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Raja Krishnaswamy, Shrikrishna V. Borde, Michael Shneerson
  • Publication number: 20090319991
    Abstract: The determination of whether two managed code types are of equivalent types on the basis of a comparison between type identifiers of the managed types. The type identifiers may be independent of an assembly in which the managed types are created, a namespace of the corresponding managed type, or a name of the corresponding managed type. Accordingly, the type equivalence determination may be made to be quite flexible, thereby potentially resulting in better type equivalence determinations in of managed types.
    Type: Application
    Filed: June 20, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Michael Shneerson, Raja Krishnaswamy, Shrikrishna V. Borde
  • Publication number: 20090319554
    Abstract: A system and method for facilitating execution of multiple assemblies in a framework, in which the assemblies use a component external to the framework, is provided. A runtime manager may retrieve metadata from each of the assemblies, and selectively insert the metadata into a unified types object, so that metadata corresponding to equivalent type definitions is shared. When each assembly is executed, the combined metadata may be used to invoke or otherwise interact with the external component.
    Type: Application
    Filed: June 24, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Raja Krishnaswamy, Shrikrishna V. Borde, Michael Shneerson
  • Publication number: 20090235148
    Abstract: Document level add-ins. A computing environment may include one or more applications. The applications host documents. A method includes acts for facilitating an application level add-in to add document level controls. The method includes determining that a document has been opened or created. The method further includes determining from an application level add-in, a class of documents for which document level controls should be added. It is determined that the document that has been opened or created is in the class of documents. A document level control specified in the application level add-in is added to the document.
    Type: Application
    Filed: March 11, 2008
    Publication date: September 17, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Igor Zinkovsky, Michael Shneerson, David A. Whitechapel
  • 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: 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: 20080201691
    Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and custom code that is managed code is provided. A host application exposes an application-level object and a document-level object. A custom code runtime provides a wrapper for the document-level object within the application domain of the custom code runtime. The custom code runtime also provides a mechanism within the application domain of the custom code runtime for providing to custom code a reference to the application-level object directly, rather than through a wrapper. Custom code can then access functionality of the application-level object directly using the reference without having to use a wrapper provided by the custom code runtime.
    Type: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
  • Publication number: 20060282817
    Abstract: Systems and methods for hosting managed code controls within unmanged hosts, such as MICROSOFT Word and Excel. There are two components to the hosting architecture, a wrapper control that implements various interfaces and a container control that hosts the managed code control. A design-time implementation allows for a designer to drag and drop managed code controls onto documents that run in a design component process. A runtime component allows managed code controls to run within hosts under security permissions specified by a policy.
    Type: Application
    Filed: June 9, 2005
    Publication date: December 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Geoffrey Darst, Eric Carter, Michael Shneerson, Stephen Styrchak