Patents by Inventor John M. Sheehan
John M. Sheehan 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).
-
Publication number: 20240031426Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: ApplicationFiled: October 2, 2023Publication date: January 25, 2024Applicant: Microsoft Technology Licensing, LLCInventors: Arunjeet SINGH, John M SHEEHAN, Kunal GANDHI, Sean MCKENNA, Akhilesh (Akhil) KAZA, Sameer TEJANI
-
Patent number: 11818199Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: GrantFiled: January 13, 2022Date of Patent: November 14, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Arunjeet Singh, John M Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
-
Publication number: 20220141284Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: ApplicationFiled: January 13, 2022Publication date: May 5, 2022Inventors: Arunjeet Singh, John M. Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
-
Patent number: 11228640Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: GrantFiled: July 27, 2020Date of Patent: January 18, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Arunjeet Singh, John M Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
-
Publication number: 20200358845Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: ApplicationFiled: July 27, 2020Publication date: November 12, 2020Inventors: Arunjeet Singh, John M. Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
-
Patent number: 10728314Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: GrantFiled: June 22, 2017Date of Patent: July 28, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Arunjeet Singh, John M Sheehan, Kunal Gandhi, Sean McKenna, Akhilesh (Akhil) Kaza, Sameer Tejani
-
Patent number: 10514940Abstract: Techniques for creating and using a recipe to create a virtual package for a virtual application. Existing methods for creating virtual packages may require the use of an expert or may not be reliable. In some embodiments, a dehydrator is use to create a recipe. The dehydrator may take as input a reference virtual package and install media for the application and output a recipe that may be used to create a particular virtual package for a particular operating system and/or environment. In some embodiments, a rehydrator may be used to create a particular virtual package from a recipe. The rehydrator may take as input a recipe and install media for an application and output a particular virtual package for a particular operating system and/or environment.Type: GrantFiled: March 17, 2010Date of Patent: December 24, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John M. Sheehan, Cread W. Mefford, Ted Kotei Annan, Jeb Remus
-
Publication number: 20190354355Abstract: Configuration items for a software application can be automatically and/or manually discovered, and the application can be packaged to form a virtual application package. A deployment configuration can include settings for the configuration items. The deployment configuration can be set after packaging the software application. For example, a selected configuration item in the deployment configuration may be changed in response to user input. The virtual application package can be deployed to instantiate the application one or more times, and the deployment configuration can be applied in the instantiated application.Type: ApplicationFiled: April 29, 2019Publication date: November 21, 2019Inventors: Neil Jacobson, Jeremy E. Dunker, Eric C. Jewart, John M. Sheehan
-
Patent number: 10447814Abstract: Methods, systems, and apparatuses for publishing, acquiring, and servicing of related software packages together. Flexible yet robust software package version control through joint servicing using atomic sets, including business software applications and consumer software applications, is performed by client and developer devices in conjunction with a host server. Developers and publishers develop and provide applications and assign specific, related versions of software packages, that are jointly operable per atomic sets embodied in atomic set manifests, in software program bundles for acquisition by end users. Adherence to jointly serviced software packages using atomic sets is performed by client devices and/or servers in a manner that is transparent to the end user. The end user is enabled to acquire all or less than all software packages that make up an atomic set, yet each software package acquired adheres to the version requirements set forth by the atomic set.Type: GrantFiled: February 2, 2017Date of Patent: October 15, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John J. Vintzel, Jason G. Salameh, Sandeep P. George, Sarjana S. Mitra, Carl W. Russell, John M. Sheehan
-
Patent number: 10353687Abstract: A virtual application packaged for a specific executing environment may be executed on a processing device having an executing environment different from the specific executing environment. A reference, included in extracted installer metadata, to one or more key paths of a hierarchically-structured data store may be modified according to a set of rules related to the executing environment detected in the processing device. The modified extracted installer metadata may be provided to an installer for installing the virtual application. During execution of the virtual application, a request to read, write, or modify the hierarchically-structured data store may be intercepted and changed, such that a first key path included in the request may be mapped to a second key path, based on the detected executing environment. Similarly, a response to the request, which may include the second key path, may be intercepted and modified, to the first key path.Type: GrantFiled: February 6, 2017Date of Patent: July 16, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Kristofer Reierson, Feroz Gora, Charles Kossi Kekeh, Peter A. Morgan, Joseph W. Rovine, John M. Sheehan, Lidiya Vikhlyayeva
-
Patent number: 10356204Abstract: An application based hardware identifier is generated for an application on a device. The application based hardware identifier is generated based on both information describing the application and information describing one or more hardware components of the device. The application based hardware identifier can also optionally be based on an identifier of a user of the device. The application based hardware identifier can be provided by the application to a service provider, allowing the service provider to associate the application based hardware identifier with a particular user or user account. However, as the application based hardware identifier is based on the application information, different applications on the same device will have different application based hardware identifiers. The application based hardware identifier thus helps maintain privacy by preventing tracking of the device across different applications.Type: GrantFiled: December 13, 2012Date of Patent: July 16, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John A. M. Hazen, Stan D. Pennington, Sermet Iskin, Robin C. Speed, John M. Sheehan, Scott B. Graham
-
Patent number: 10331466Abstract: An extension point virtualization system uses operating system-provided reparse points to provide minimal extension point registration. Reparse points preserve application isolation while removing the scale problem of writing custom extension point proxies for each extension point. Instead, the system can use a single file system filter that generically handles application virtualization reparse points, and store reparse point data for extension points that need redirection. Many extension points can be handled by redirecting the operating system from a typical location for an application resource to a virtualized safe location for the application resource. Thus, the system simplifies the process of handling new extension points by allowing an application virtualization system to simply register new locations that should be handled with reparse points and to then handle registered locations generically.Type: GrantFiled: February 15, 2016Date of Patent: June 25, 2019Assignee: Microsoft Technology Licensing, LLCInventor: John M. Sheehan
-
Patent number: 10318263Abstract: Configuration items for a software application can be automatically and/or manually discovered, and the application can be packaged to form a virtual application package. A deployment configuration can include settings for the configuration items. The deployment configuration can be set after packaging the software application. For example, a selected configuration item in the deployment configuration may be changed in response to user input. The virtual application package can be deployed to instantiate the application one or more times, and the deployment configuration can be applied in the instantiated application.Type: GrantFiled: August 28, 2015Date of Patent: June 11, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Neil Jacobson, Jeremy E. Dunker, Eric C. Jewart, John M. Sheehan
-
Publication number: 20190163457Abstract: An application packaged for a specific executing environment may be executed on a processing device having an executing environment different from the specific executing environment. A first path of a first executing environment is modified to be a second path of a second executing environment, where the first path is contained in installer metadata associated with an application packaged for operating in the first executing environment. The modified installer metadata is provided to an installer, the application is installed according to the modified installer metadata to create the second path in the second executing environment of a processing device, a request to access the first path in the first executing environment is modified to a modified request to access the created second path in the second executing environment, and the modified request is processed by the processing device.Type: ApplicationFiled: February 1, 2019Publication date: May 30, 2019Inventors: Kristofer REIERSON, Feroz GORA, Charles Kossi KEKEH, Peter A. MORGAN, Joseph W. ROVINE, John M. SHEEHAN, Lidiya VIKHLYAYEVA
-
Patent number: 10241771Abstract: A virtual application packaged for a specific executing environment may be executed on a processing device having an executing environment different from the specific executing environment. A reference, included in extracted installer metadata, to one or more key paths of a hierarchically-structured data store may be modified according to a set of rules related to the executing environment detected in the processing device. The modified extracted installer metadata may be provided to an installer for installing the virtual application. During execution of the virtual application, a request to read, write, or modify the hierarchically-structured data store may be intercepted and changed, such that a first key path included in the request may be mapped to a second key path, based on the detected executing environment. Similarly, a response to the request, which may include the second key path, may be intercepted and modified, to the first key path.Type: GrantFiled: March 29, 2013Date of Patent: March 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Kristofer Reierson, Feroz Gora, Charles Kossi Kekeh, Peter A. Morgan, Joseph W. Rovine, John M. Sheehan, Lidiya Vikhlyayeva
-
Patent number: 10176331Abstract: Aspects of the technology described herein can provide enhanced metadata to authentically report the provenance of a file. An exemplary computing device may have a file broker to receive an indication from a first security principal to write a file to a file system. The file broker can use one file utility to write the file, but use another file utility to write an identification of the first security principal and its opinion about the file into metadata associated with the file. Subsequently, the identification of the first security principal and its opinion may be used to authentically report the provenance of the file and applied in other security applications.Type: GrantFiled: June 10, 2016Date of Patent: January 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John M. Sheehan, Vishal Agarwal, Crispin Cowan, Juan-Lee Pang, Greg Domzalski, David C. LeBlanc
-
Patent number: 10171558Abstract: Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.Type: GrantFiled: October 7, 2014Date of Patent: January 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Arunjeet Singh, Kunal Gandhi, Sameer Tejani, Sean McKenna, John M Sheehan, Akhilesh (Akhil) Kaza
-
Patent number: 10108441Abstract: Systems and methods for running add-on components in virtual environments are described. An add-on component can be executed in a virtual environment by setting up a communication link between a component proxy in the host operating system and a server process running in the virtual environment. The server process executes the add-on component based on commands forwarded from the operating system via the component proxy.Type: GrantFiled: March 15, 2016Date of Patent: October 23, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Neil A. Jacobson, John M. Sheehan
-
Publication number: 20180239894Abstract: A computer-implemented method comprises executing a first application package in a runtime having a first application security context, identifying a dependency element in a second application package, and if the dependency element is associated with the first application package, then executing the second application package within the runtime and security context for the first application package.Type: ApplicationFiled: February 17, 2017Publication date: August 23, 2018Inventors: Sarjana Sheth Mitra, John M. Sheehan, John J. Vintzel, Jason G. Salameh, Carl W. Russell, Howard S. Kapustein, Paul Sliwowicz, Letao Wang, Stephen R. Reading, William L. Cheng
-
Publication number: 20180219972Abstract: Methods, systems, and apparatuses for publishing, acquiring, and servicing of related software packages together. Flexible yet robust software package version control through joint servicing using atomic sets, including business software applications and consumer software applications, is performed by client and developer devices in conjunction with a host server. Developers and publishers develop and provide applications and assign specific, related versions of software packages, that are jointly operable per atomic sets embodied in atomic set manifests, in software program bundles for acquisition by end users. Adherence to jointly serviced software packages using atomic sets is performed by client devices and/or servers in a manner that is transparent to the end user. The end user is enabled to acquire all or less than all software packages that make up an atomic set, yet each software package acquired adheres to the version requirements set forth by the atomic set.Type: ApplicationFiled: February 2, 2017Publication date: August 2, 2018Inventors: John J. Vintzel, Jason G. Salameh, Sandeep P. George, Sarjana S. Mitra, Carl W. Russell, John M. Sheehan