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: 20240031426
    Abstract: 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: Application
    Filed: October 2, 2023
    Publication date: January 25, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Arunjeet SINGH, John M SHEEHAN, Kunal GANDHI, Sean MCKENNA, Akhilesh (Akhil) KAZA, Sameer TEJANI
  • Patent number: 11818199
    Abstract: 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: Grant
    Filed: January 13, 2022
    Date of Patent: November 14, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arunjeet Singh, John M Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
  • Publication number: 20220141284
    Abstract: 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: Application
    Filed: January 13, 2022
    Publication date: May 5, 2022
    Inventors: Arunjeet Singh, John M. Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
  • Patent number: 11228640
    Abstract: 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: Grant
    Filed: July 27, 2020
    Date of Patent: January 18, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arunjeet Singh, John M Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
  • Publication number: 20200358845
    Abstract: 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: Application
    Filed: July 27, 2020
    Publication date: November 12, 2020
    Inventors: Arunjeet Singh, John M. Sheehan, Kunal Gandhi, Sean Mckenna, Akhilesh (Akhil) Kaza, Sameer Tejani
  • Patent number: 10728314
    Abstract: 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: Grant
    Filed: June 22, 2017
    Date of Patent: July 28, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arunjeet Singh, John M Sheehan, Kunal Gandhi, Sean McKenna, Akhilesh (Akhil) Kaza, Sameer Tejani
  • Patent number: 10514940
    Abstract: 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: Grant
    Filed: March 17, 2010
    Date of Patent: December 24, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John M. Sheehan, Cread W. Mefford, Ted Kotei Annan, Jeb Remus
  • Publication number: 20190354355
    Abstract: 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: Application
    Filed: April 29, 2019
    Publication date: November 21, 2019
    Inventors: Neil Jacobson, Jeremy E. Dunker, Eric C. Jewart, John M. Sheehan
  • Patent number: 10447814
    Abstract: 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: Grant
    Filed: February 2, 2017
    Date of Patent: October 15, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Vintzel, Jason G. Salameh, Sandeep P. George, Sarjana S. Mitra, Carl W. Russell, John M. Sheehan
  • Patent number: 10353687
    Abstract: 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: Grant
    Filed: February 6, 2017
    Date of Patent: July 16, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kristofer Reierson, Feroz Gora, Charles Kossi Kekeh, Peter A. Morgan, Joseph W. Rovine, John M. Sheehan, Lidiya Vikhlyayeva
  • Patent number: 10356204
    Abstract: 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: Grant
    Filed: December 13, 2012
    Date of Patent: July 16, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. M. Hazen, Stan D. Pennington, Sermet Iskin, Robin C. Speed, John M. Sheehan, Scott B. Graham
  • Patent number: 10331466
    Abstract: 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: Grant
    Filed: February 15, 2016
    Date of Patent: June 25, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: John M. Sheehan
  • Patent number: 10318263
    Abstract: 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: Grant
    Filed: August 28, 2015
    Date of Patent: June 11, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neil Jacobson, Jeremy E. Dunker, Eric C. Jewart, John M. Sheehan
  • Publication number: 20190163457
    Abstract: 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: Application
    Filed: February 1, 2019
    Publication date: May 30, 2019
    Inventors: Kristofer REIERSON, Feroz GORA, Charles Kossi KEKEH, Peter A. MORGAN, Joseph W. ROVINE, John M. SHEEHAN, Lidiya VIKHLYAYEVA
  • Patent number: 10241771
    Abstract: 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: Grant
    Filed: March 29, 2013
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kristofer Reierson, Feroz Gora, Charles Kossi Kekeh, Peter A. Morgan, Joseph W. Rovine, John M. Sheehan, Lidiya Vikhlyayeva
  • Patent number: 10176331
    Abstract: 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: Grant
    Filed: June 10, 2016
    Date of Patent: January 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John M. Sheehan, Vishal Agarwal, Crispin Cowan, Juan-Lee Pang, Greg Domzalski, David C. LeBlanc
  • Patent number: 10171558
    Abstract: 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: Grant
    Filed: October 7, 2014
    Date of Patent: January 1, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arunjeet Singh, Kunal Gandhi, Sameer Tejani, Sean McKenna, John M Sheehan, Akhilesh (Akhil) Kaza
  • Patent number: 10108441
    Abstract: 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: Grant
    Filed: March 15, 2016
    Date of Patent: October 23, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neil A. Jacobson, John M. Sheehan
  • Publication number: 20180239894
    Abstract: 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: Application
    Filed: February 17, 2017
    Publication date: August 23, 2018
    Inventors: 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: 20180219972
    Abstract: 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: Application
    Filed: February 2, 2017
    Publication date: August 2, 2018
    Inventors: John J. Vintzel, Jason G. Salameh, Sandeep P. George, Sarjana S. Mitra, Carl W. Russell, John M. Sheehan