IP Library Granted Patent US 10,129,306
Granted Patent B1
US 10,129,306 · App. 15/493,962 · Granted Nov 13, 2018

Shared applications including shared applications that permit retrieval, presentation and traversal of information resources

Inventors: Stephan Christopher Nagy (Fishers, IN); Adam P. Cuzzort (Westfield, IN)
Assignee: Prysm, Inc.
H04L65/403H04L51/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,129,306
App. No.
15/493,962
Granted
Nov 13, 2018
Kind
B1
Abstract

Techniques are described to support shared applications, including a shared application that permits retrieval, presentation and traversal of information resources. The innovative techniques enable multiple participants at different locations to both see and interact with assets such as a web-based content. The innovative techniques centralize the functionality of an application that is to be shared. A shared application is executed, during a collaboration, at a centralized location in a manner that does not require any local resources to create an application instance.

Claims (48)

1. A computer-implemented method comprising:

receiving, by a centralized service provider, a message that indicates that a shared application that permits retrieval, presentation and traversal of information resources is to be created as part of a collaboration amongst multiple appliances, wherein the centralized service provider is not one of the multiple appliances participating in the collaboration;

responsive to receiving the message, instantiating a container at the centralized service provider, the container being configured to execute the shared application at a centralized location by the centralized service provider in a manner that does not require any local resources of the multiple appliances participating in the collaboration to execute an instance of the shared application on a respective one of the multiple appliances;

using the container to cause the shared application to be shared with the multiple appliances by executing actions on the shared application by the centralized service provider, capturing executed actions as video, and causing the video of the captured executed actions to be streamed to each of the multiple appliances; and

responsive to control of the shared application being passed from one user to another, dehydrating collaboration session state information associated with a particular user from whom control is passed, said dehydrating comprising saving said particular user's collaboration session state information so that when control is passed to said another user, said another user will not have access to any of said particular user's collaboration session state information, said collaboration session state information including authentication information associated with said particular user.

2. The method as described in claim 1 , wherein said using comprises capturing said video using a software camera and said causing the video of the captured executed actions to be streamed comprises streaming the video to a server configured to share the video with the multiple appliances.

3. The method as described in claim 1 , wherein said using comprises using one or more event listeners to listen for user events associated with an appliance user's interaction with the shared application and causing said user's interaction to be executed on the shared application.

4. The method as described in claim 1 , wherein said using comprises using one or more event listeners to listen for user events associated with an appliance user's interaction with the shared application and causing said user's interaction to be executed on the shared application; said capturing video comprises using a software camera; and said causing the video of the captured executed actions comprises streaming the video to a server configured to share the video with the multiple appliances.

5. The method as described in claim 1 , wherein said using comprises contacting a port mapper to ascertain a server to which the video is to be streamed.

6. The method as described in claim 1 , wherein said using comprises:

contacting a port mapper to ascertain a server to which the video is to be streamed; and

said capturing executed actions as video comprises using a software camera; and

said causing the video comprises streaming the captured video to the server, wherein the server is configured to share the video with the multiple appliances.

7. The method as described in claim 1 , wherein said using comprises:

contacting a port mapper to ascertain a server to which the video is to be streamed;

sending an event to each of the multiple appliances informing each of the multiple appliances of the server from which the video may be accessed;

said capturing executed actions as video comprises using a software camera; and

said causing the video comprises streaming the captured video to the server, wherein the server is configured to share the captured video with the multiple appliances.

8. The method as described in claim 1 further comprising prior to said dehydrating, enabling control to be passed amongst the multiple appliances to enable only one user to interact with the shared application at a time.

9. The method as described in claim 1 further comprising responsive to control of the shared application being passed back to the particular user, rehydrating the state information.

10. A system implemented in a collaborative environment in which multiple appliances can share a common network connection to participate in a collaboration in which assets can be shared amongst the multiple appliances, the system comprising:

a centralized service provider;

one or more processors associated with the centralized service provider;

one or more computer-readable media storing computer-executable instructions which, when executed by the one or more processors perform operations comprising:

receiving, by the centralized service provider, a message that indicates that a shared application is to be created as part of the collaboration amongst multiple appliances, wherein the centralized service provider is not one of the multiple appliances participating in the collaboration;

responsive to receiving the message, instantiating, by the centralized service provider, a container configured to execute the shared application at a centralized location by the centralized service provider in a manner that does not require any local resources of the multiple appliances participating in the collaboration to execute an instance of the shared application on a respective one of the multiple appliances; and

using the container to cause the shared application to be shared with the multiple appliances by executing actions on the shared application by the centralized service provider, capturing executed actions as video, and causing the video of the captured executed actions to be streamed to each of the multiple appliances; and

responsive to control of the shared application being passed from one user to another, dehydrating collaboration session state information associated with a particular user from whom control is passed, said dehydrating comprising saving said particular user's collaboration session state information so that when control is passed to said another user, said another user will not have access to any of said particular user's collaboration session state information, said collaboration session state information including authentication information associated with said particular user.

11. The system as described in claim 10 , wherein said using comprises capturing said video using a software camera and said causing the video of the captured executed actions to be streamed comprises streaming the video to a server configured to share the video with the multiple appliances.

12. The system as described in claim 10 , wherein said using comprises using one or more event listeners to listen for user events associated with an appliance user's interaction with the shared application and causing said user's interaction to be executed on the shared application.

13. The system as described in claim 10 , wherein said using comprises using one or more event listeners to listen for user events associated with an appliance user's interaction with the shared application and causing said user's interaction to be executed on the shared application; said capturing video comprises using a software camera; and said causing the video of the captured executed actions comprises streaming the video to a server configured to share the video with the multiple appliances.

14. The system as described in claim 10 , wherein said using comprises contacting a port mapper to ascertain a server to which the video is to be streamed.

15. The system as described in claim 10 , wherein said using comprises:

contacting a port mapper to ascertain a server to which the video is to be streamed; and

said capturing executed actions as video comprises using a software camera; and

said causing the video comprises streaming the captured video to the server, wherein the server is configured to share the video with the multiple appliances.

16. The system as described in claim 10 , wherein said using comprises:

contacting a port mapper to ascertain a server to which the video is to be streamed;

sending an event to each of the multiple appliances informing each of the multiple appliances of the server from which the video may be accessed;

said capturing executed actions as video comprises using a software camera; and

said causing the video comprises streaming the captured video to the server, wherein the server is configured to share the captured video with the multiple appliances.

17. The system as described in claim 10 further comprising prior to said dehydrating, enabling control to be passed amongst the multiple appliances to enable only one user to interact with the shared application at a time.

18. One or more non-transitory computer-readable media storing computer-executable instructions which, when executed by the one or more processors, perform operations comprising:

receiving, by a centralized service provider, a message that indicates that a shared application is to be created as part of a collaboration amongst multiple appliances, wherein the centralized service provider is not one of the multiple appliances participating in the collaboration;

responsive to receiving the message, instantiating a container configured to execute the shared application at a centralized location by the centralized service provider in a manner that does not require any local resources of the multiple appliances participating in the collaboration to execute an instance of the shared application on a respective one of the multiple appliances; and

using the container to cause the shared application to be shared with the multiple appliances by executing actions on the shared application by the centralized service provider, capturing executed actions as video, and causing the video of the captured executed actions to be streamed to each of the multiple appliances; and

responsive to control of the shared application being passed from one user to another, dehydrating collaboration session state information associated with a particular user from whom control is passed, said dehydrating comprising capturing and storing said particular user's collaboration session state information so that when said particular user regains control of the shared application, said particular user's collaboration session state information can be reloaded to rehydrate said particular user's collaboration session state information.

19. The one or more non-transitory computer-readable media as described in claim 18 , wherein the shared application comprises an application that permits retrieval, presentation and traversal of information resources.

Assignments (4)
ORDER CONFIRMING THE PREPACKAGED PLAN OF REORGANIZATION OF PRYSM, INC. INCLUDING RELEASING SECURITY INTERESTS IN PATENTS Recorded Mar 17, 2025
From: KUWAIT INVESTMENT AUTHORITY
To: PRYSM, INC.
Reel/Frame 072856/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: PRYSM SYSTEMS, INC.
To: MSSL CONSOLIDATED INC.
Reel/Frame 070442/0135 →
MERGER AND CHANGE OF NAME Recorded Nov 18, 2020
From: PRYSM, INC.; SOCOCO, INC.
To: SOCOCO, LLC
Reel/Frame 054411/0409 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: NAGY, STEPHAN CHRISTOPHER; CUZZORT, ADAM P.
To: PRYSM, INC.
Reel/Frame 042186/0767 →
Cited By (1)
US 12,321,658