Patents by Inventor John A. Shepard
John A. Shepard 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: 11734091Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: GrantFiled: December 1, 2020Date of Patent: August 22, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Jackson M. Davis, John A. Shepard
-
Publication number: 20210081264Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: ApplicationFiled: December 1, 2020Publication date: March 18, 2021Applicant: Microsoft Technology Licensing LLCInventors: Jackson M. DAVIS, John A. SHEPARD
-
Patent number: 10872006Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: GrantFiled: September 7, 2018Date of Patent: December 22, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Jackson M. Davis, John A. Shepard
-
Publication number: 20190073250Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: ApplicationFiled: September 7, 2018Publication date: March 7, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Jackson M. Davis, John A. Shepard
-
Patent number: 10102048Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: GrantFiled: April 22, 2016Date of Patent: October 16, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Jackson M. Davis, John A. Shepard
-
Publication number: 20160239357Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: ApplicationFiled: April 22, 2016Publication date: August 18, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Jackson M. Davis, John A. Shepard
-
Patent number: 9323592Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: GrantFiled: March 8, 2010Date of Patent: April 26, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jackson M. Davis, John A. Shepard
-
Publication number: 20150020057Abstract: A facility is provided for controlling application features. In various embodiments, the facility assembles an indication of features, starts a controlled application, and provides the assembled indication of features to the controlled application so that the controlled application can disable a feature of the controlled application. The facility can include a controlling application that is adapted for assembling a set of tokens that identify features by adding or removing tokens when a user of the controlling application selects a command associated with the controlling application, and a controlled application that, when invoked by the controlling application and provided the assembled set of tokens, controls a feature of the controlled application based on the assembled set of tokens.Type: ApplicationFiled: August 25, 2014Publication date: January 15, 2015Inventors: Paul Stubbs, Eric S. Schnepp, Peter J. Torr, John A. Shepard
-
Patent number: 8850388Abstract: A facility is provided for controlling application features. In various embodiments, the facility assembles an indication of features, starts a controlled application, and provides the assembled indication of features to the controlled application so that the controlled application can disable a feature of the controlled application. The facility can include a controlling application that is adapted for assembling a set of tokens that identify features by adding or removing tokens when a user of the controlling application selects a command associated with the controlling application, and a controlled application that, when invoked by the controlling application and provided the assembled set of tokens, controls a feature of the controlled application based on the assembled set of tokens.Type: GrantFiled: September 7, 2006Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: Paul Stubbs, Eric S. Schnepp, Peter J. Torr, John A. Shepard
-
Patent number: 8082555Abstract: A dynamic proxy object is disclosed that is capable of intercepting calls from a calling object to a target object. The dynamic proxy can imitate the target object so that even though the calling object may be of a different version or type from the target object, it can still communicate with the target object. Specifically, the dynamic proxy can intercept early bound invocation by the calling object, obtain metadata from these invocations, and pass it to an adapter via a set of reflective interfaces. The adapter can also obtain metadata from the target object via late bound invocations, and then compare this metadata to the metadata provided by the dynamic proxy in order to make a determination whether or not the calling object and the target object should be communicating. If so, communication can occur between the calling and target objects in spite of differing versioning or object types.Type: GrantFiled: February 21, 2006Date of Patent: December 20, 2011Assignee: Microsoft CorporationInventors: Charles Aaron Hare, John A. Shepard
-
Patent number: 7921409Abstract: A Managed Add-in Framework (MAF) proxy generation tool comprises a library analyzer module operable for taking as input either a type library or managed software code assembly of the existing host application, and a proxy code generation module. Also, an additional input XML file that describes changes that a user would like to be made may be received by the tool and data acquired form the inspection of the additional input XML file and the inspection of the other inputs is merged and used to create the code of the proxy to the host object model. The proxy to the host's object model conforms to requirements of the MAF.Type: GrantFiled: February 28, 2006Date of Patent: April 5, 2011Assignee: Microsoft CorporationInventors: John A. Shepard, Nirav Y. Shah
-
Patent number: 7908580Abstract: A facility is provided for connecting with an application instance. In various embodiments, the facility starts an integrated development environment component, provides an identifier to the integrated development environment component so that the integrated development environment component can indicate the identifier when registering, locates the provided identifier in a registry, and connects to the identified process. The facility can include a running object table component that stores identifications of running application instances and their corresponding monikers, and an application having a provider component that can communicate with an integrated development environment component that, when started by the application, receives an identifier and registers the started integrated development environment with the running object table, the registration including the associated identifier so that the application can identify the started integrated development environment.Type: GrantFiled: September 7, 2006Date of Patent: March 15, 2011Assignee: Microsoft CorporationInventors: Paul Stubbs, Philo N. Nordlund, Jackson M. Davis, John A. Shepard
-
Publication number: 20100162266Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: ApplicationFiled: March 8, 2010Publication date: June 24, 2010Applicant: MICROSOFT CORPORATIONInventors: Jackson M. Davis, John A. Shepard
-
Patent number: 7725873Abstract: A Managed Add-in Framework (MAF) proxy generation tool comprises a library analyzer module operable for taking as input either a type library or managed software code assembly of the existing host application, and a proxy code generation module. Also, an additional input XML file that describes changes that a user would like to be made may be received by the tool and data acquired form the inspection of the additional input XML file and the inspection of the other inputs is merged and used to create the code of the proxy to the host object model. The proxy to the host's object model conforms to requirements of the MAF.Type: GrantFiled: February 28, 2006Date of Patent: May 25, 2010Assignee: Microsoft CorporationInventors: John A. Shepard, Nirav Y. Shah
-
Patent number: 7676811Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.Type: GrantFiled: March 23, 2006Date of Patent: March 9, 2010Assignee: Microsoft CorporationInventors: Jackson M. Davis, John A. Shepard
-
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: 20080127055Abstract: A facility is provided for enabling an application proxy that is capable of customizing an integrated development environment to execute in-process with the integrated development environment. In various embodiments, the facility loads a project file, determines whether the project file indicates an application proxy, and when the project file indicates an application proxy, loads the application proxy so that the application proxy can customize the integrated development environment based on configuration settings. In various embodiments, the facility includes a project file associated with an application, an application proxy component, and an integrated development environment that loads the application proxy component when loading the project file so that the application proxy component can handle communications between the integrated development environment and the application to customize the integrated development environment for use with the application.Type: ApplicationFiled: September 7, 2006Publication date: May 29, 2008Applicant: Microsoft CorporationInventors: Jackson M. Davis, Paul Stubbs, John A. Shepard
-
Publication number: 20080127053Abstract: A facility is provided for controlling application features. In various embodiments, the facility assembles an indication of features, starts a controlled application, and provides the assembled indication of features to the controlled application so that the controlled application can disable a feature of the controlled application. The facility can include a controlling application that is adapted for assembling a set of tokens that identify features by adding or removing tokens when a user of the controlling application selects a command associated with the controlling application, and a controlled application that, when invoked by the controlling application and provided the assembled set of tokens, controls a feature of the controlled application based on the assembled set of tokens.Type: ApplicationFiled: September 7, 2006Publication date: May 29, 2008Applicant: Microsoft CorporationInventors: Paul Stubbs, Eric S. Schnepp, Peter J. Torr, John A. Shepard
-
Publication number: 20080127054Abstract: A facility is provided for connecting with an application instance. In various embodiments, the facility starts an integrated development environment component, provides an identifier to the integrated development environment component so that the integrated development environment component can indicate the identifier when registering, locates the provided identifier in a registry, and connects to the identified process. The facility can include a running object table component that stores identifications of running application instances and their corresponding monikers, and an application having a provider component that can communicate with an integrated development environment component that, when started by the application, receives an identifier and registers the started integrated development environment with the running object table, the registration including the associated identifier so that the application can identify the started integrated development environment.Type: ApplicationFiled: September 7, 2006Publication date: May 29, 2008Applicant: Microsoft CorporationInventors: Paul Stubbs, Philo N. Nordlund, Jackson M. Davis, John A. Shepard
-
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