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: 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: 20100171748Abstract: A motion desktop, including a moving image, may be presented on a display screen of a processing device. Foreground items such as, for example, icons and associated text, or other information, may appear on a surface of the motion desktop. In embodiments consistent with the subject matter of this disclosure, foreground content may be rendered to a composing surface, which may be an alpha-enabled surface capable of presenting translucent items. A motion desktop module may render content for at least a portion of a background of the motion desktop to a respective shared memory, shared with a composer. The composer may periodically copy the rendered content from the shared memory to the composing surface, where the composer may compose and blend a scene from background and foreground content. The composed scene may then be presented as the motion desktop.Type: ApplicationFiled: March 16, 2010Publication date: July 8, 2010Applicant: Microsoft CorporationInventors: John Shepard, Felix Cheung, Alex Aben-Athar Kipman
-
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: 7712047Abstract: A motion desktop, including a moving image, may be presented on a display screen of a processing device. Foreground items such as, for example, icons and associated text, or other information, may appear on a surface of the motion desktop. In embodiments consistent with the subject matter of this disclosure, foreground content may be rendered to a composing surface, which may be an alpha-enabled surface capable of presenting translucent items. A motion desktop module may render content for at least a portion of a background of the motion desktop to a respective shared memory, shared with a composer. The composer may periodically copy the rendered content from the shared memory to the composing surface, where the composer may compose and blend a scene from background and foreground content. The composed scene may then be presented as the motion desktop.Type: GrantFiled: January 3, 2007Date of Patent: May 4, 2010Assignee: Microsoft CorporationInventors: John Shepard, Felix Cheung, Alex Aben-Athar Kipman
-
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
-
Publication number: 20090263761Abstract: A denture retention system includes a denture and an abutment. The denture has an inner channel with an elastic liner having shaped cavities. The cavities have a shaft, a radially outwardly extending ledge surface at the inner end of the shaft and an opening at the outer end of the shaft. The abutment has a shaft portion, a head portion at one end of the shaft portion and a threaded portion at the other end of the shaft portion. The head portion has an undercut surface that extends radially outwardly from the shaft portion. The ledge surface and undercut surfaces overlap and engage one another to retain the denture in the cavity. The threaded part of the abutment threads into an implant or implants into a jaw. The cavity expands when the abutment is inserted or removed from the cavity, and contracts after insertion.Type: ApplicationFiled: April 16, 2008Publication date: October 22, 2009Inventor: JOHN 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: 20080163060Abstract: A motion desktop, including a moving image, may be presented on a display screen of a processing device. Foreground items such as, for example, icons and associated text, or other information, may appear on a surface of the motion desktop. In embodiments consistent with the subject matter of this disclosure, foreground content may be rendered to a composing surface, which may be an alpha-enabled surface capable of presenting translucent items. A motion desktop module may render content for at least a portion of a background of the motion desktop to a respective shared memory, shared with a composer. The composer may periodically copy the rendered content from the shared memory to the composing surface, where the composer may compose and blend a scene from background and foreground content. The composed scene may then be presented as the motion desktop.Type: ApplicationFiled: January 3, 2007Publication date: July 3, 2008Applicant: Microsoft CorporationInventors: John Shepard, Felix Cheung, Alex Aben-Athar Kipman
-
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
-
Publication number: 20070234312Abstract: 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: ApplicationFiled: February 28, 2006Publication date: October 4, 2007Applicant: Microsoft CorporationInventors: John Shepard, Nirav Shah
-
Publication number: 20070234329Abstract: 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: ApplicationFiled: February 28, 2006Publication date: October 4, 2007Applicant: Microsoft CorporationInventors: John Shepard, Nirav Shah
-
Publication number: 20070226752Abstract: 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 23, 2006Publication date: September 27, 2007Applicant: Microsoft CorporationInventors: Jackson Davis, John Shepard
-
Publication number: 20070209043Abstract: 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: ApplicationFiled: February 21, 2006Publication date: September 6, 2007Applicant: Microsoft CorporationInventors: Charles Hare, John Shepard
-
Publication number: 20070073822Abstract: A communication technique enables the efficient transmission of data through a low bandwidth and/or time delayed communication link and minimizes the idle time of the communication link by using a deferred acknowledgment of message bundles to temporally pack the communication link. The transmitting system stores messages to be transmitted in a pending message queue and applies a dynamic window to the pending message queue to define a message bundle to be sent through the slow communication link. The transmitting system requests an acknowledgment for at least one message within the bundle, but does not require an acknowledgment for every message within the bundle. Transmitted messages are temporarily stored as outstanding messages in a retransmission queue until the transmitted messages are acknowledged or until a time-out period associated with the messages has lapsed.Type: ApplicationFiled: September 11, 2006Publication date: March 29, 2007Applicant: FISHER-ROSEMOUNT SYSTEMS, INC.Inventors: William Bennett, Ken Beoughter, Robert Havekost, John Shepard, Dwight Jennings