IP Library Granted Patent US 9,906,594
Granted Patent B2
US 9,906,594 · App. 14/675,602 · Granted Feb 27, 2018

Techniques for shaping real-time content between multiple endpoints

Inventors: Adam P. Cuzzort (Westfield, IN); Brandon Fischer (Carmel, IN)
Assignee: PRYSM, INC.
H04L67/1095G06F3/1454H04L65/1089H04L65/403H04L65/4084H04N7/14H04M7/0027
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 9,906,594
App. No.
14/675,602
Granted
Feb 27, 2018
Kind
B2
Abstract

A client application coupled to a display generates a shared workspace that includes a content stream derived from a local user device a well as another content stream derived from a remote device. The client application is configured to detect when a user device is coupled locally, and to receive a content stream from that device. The client application determines when the other content stream is available, and then accesses that content stream via a streaming infrastructure. The client application then generates the shared workspace by rendering the two content streams to a display.

Claims (83)

1. A computer-implemented method for sharing content streams across a plurality of displays, the method comprising:

receiving, at a first display system, a first stream from a first user device, the first stream being associated with a first set of stream display attributes;

polling, at the first display system, a stream server for new notifications received at the stream server from a second display system, the second display system comprising a second user device;

in response to the polling, receiving, at the first display system from the stream sever, a first notification originating from the second display system, the first notification including a second set of stream display attributes associated with a second stream from the second user device and first data indicating a location to access the second stream, the location comprising a uniform resource locator (URL) combined with a first identifier for the second display system and a second identifier for the second user device;

parsing the first notification to extract the second set of stream display attributes and the first data;

in response to receiving the first notification from the second display system, accessing, based on the first data included in the first notification, the second stream from the stream server, wherein the second stream originates from the second user device;

generating a first workspace that includes displaying the first stream within a first presentation window and the second stream within a second presentation window; and

causing the first workspace along with the first stream and the second stream to be displayed on a first display, wherein the first stream is displayed according to the first set of stream display attributes that includes at least one of a position on the display, a picture size and an aspect ratio, and the second stream is displayed according to the extracted second set of stream display attributes, that includes at least one of a position on the display, a picture size and an aspect ratio.

2. The computer-implemented method of claim 1 , further comprising:

generating a second notification that includes second data that identifies the first stream; and

transmitting the second notification to the second display system via a messaging infrastructure, wherein the second display system is configured to access and display the first stream from the stream server based on the second notification.

3. The computer-implemented method of claim 2 , further comprising:

receiving at the second display system the second notification originating from the first display system;

parsing at the second display system the second notification to extract the second data;

accessing at the second display system the first stream based on the second data from the stream server;

generating a second workspace that includes the first stream and the second stream; and

causing the second workspace to be displayed on a second display.

4. The computer-implemented method of claim 3 , wherein the second notification further includes the first set of stream display attributes that reflect display settings for the first stream, and further comprising:

parsing the second notification to extract the first set of stream display attributes; and

displaying the first stream within the second workspace based on the first set of stream display attributes.

5. The computer-implemented method of claim 3 , wherein the first workspace and the second workspace comprise substantially similar data that is substantially synchronized in real time.

6. The computer-implemented method of claim 3 , further comprising:

receiving a command directed towards at least one of the first workspace and the second workspace; and

in response, causing at least one of the first user device and the second user device to execute the command.

7. The computer-implemented method of claim 3 , further comprising:

receiving a command directed towards at least one of the first workspace and the second workspace; and

in response, replaying a portion of at least one of the first stream and the second stream.

8. The computer-implemented method of claim 1 , further comprising down sampling the second stream based on a display resolution associated with the first display.

9. The computer-implemented method of claim 1 , wherein the first user device is coupled to the first display and configured to output the first stream to the first display.

10. The computer-implemented method of claim 1 , wherein the second user device is coupled to a second display and configured to output the second stream to the second display.

11. The computer-implemented method of claim 1 , wherein the steps of receiving the first stream, receiving the first notification, parsing, accessing, generating, and causing are performed by a software module that resides in the first user device.

12. A non-transitory computer-readable medium storing program instructions that, when executed by a processor, cause the processor to share content streams across a plurality of displays, by performing the steps of:

receiving, at a first display system, a first stream from a first user device, the first stream being associated with a first set of stream display attributes;

polling, at the first display system, a stream server for new notifications received at the stream server from a second display system, the second display system comprising a second user device;

in response to the polling, receiving, at the first display system from the stream sever, a first notification originating from the second display system, the first notification including a second set of stream display attributes associated with a second stream from the second user device and first data indicating a location to access the second stream, the location comprising a uniform resource locator (URL) combined with a first identifier for the second display system and a second identifier for the second user device;

parsing the first notification to extract the second set of stream display attributes and the first data;

in response to receiving the first notification from the second display system, accessing, based on the first data included in the first notification, the second stream from the stream server, wherein the second stream originates from the second user device;

generating a first workspace that includes displaying the first stream within a first presentation window and the second stream within a second presentation window; and

causing the first workspace along with the first stream and the second stream to be displayed on a first display, wherein the first stream is displayed according to the first set of stream display attributes that includes at least one of a position on the display, a picture size and an aspect ratio, and the second stream is displayed according to the extracted second set of stream display attributes, that includes at least one of a position on the display, a picture size and an aspect ratio.

13. The non-transitory computer-readable medium of claim 12 , further comprising:

generating a second notification that includes second data that identifies the first stream; and

transmitting the second notification to the second display system via a messaging infrastructure, wherein the second display system is configured to access and display the first stream from the stream server based on the second notification.

14. A system for sharing content streams across a plurality of displays, comprising:

a first user device configured to generate and output a first stream; and

a first display system that includes:

a first display, and

a first appliance that has:

a first memory storing a first client application, and

a first processor that, in conjunction with executing the first client application:

receives the first stream from the first user device, the first stream being associated with a first set of stream display attributes,

polls a stream server for new notifications received at the stream server from a second display system, the second display system comprising a second user device,

in response to the polling, receives from the stream sever, a first notification originating from the second display system, the first notification including a second set of stream display attributes associated with a second stream from the second user device and first data indicating a location to access the second stream, the location comprising a uniform resource locator (URL) combined with a first identifier for the second display system and a second identifier for the second user device,

parses the first notification to extract the second set of stream display attributes and the first data,

in response to receiving the first notification from the second display system, accesses, based on the first data included in the first notification, the second stream from the stream server, wherein the second stream originates from the second user device,

generates a first workspace that includes displaying the first stream within a first presentation window and the second stream within a second presentation window, and

causes the first workspace, the first stream, and the second stream to be displayed on the first display, wherein the first stream is displayed according to the first set of stream display attributes that includes at least one of a position on the display, a picture size, and an aspect ratio, and the second stream is displayed according to the extracted second set of stream display attributes, that includes at least one of a position on the display, a picture size, and an aspect ratio.

15. The system of claim 14 , further comprising:

a second user device, configured to generate and output the second stream; and

a second display system that includes:

a second display, and

a second appliance that has:

a second memory storing a second client application, and

a second processor that, in conjunction with executing the second client application:

receives the second stream from the second user device,

transmits the second stream to the stream server, and

transmits the first notification to the first display system, via a messaging infrastructure, that identifies the second stream, wherein the first processor is configured to access the second stream, from the stream server, based on the first notification.

16. The system of claim 15 , wherein the first processor, in conjunction with executing the first client application, transmits the first stream to the stream server, and the second processor, in conjunction with executing the second client application:

accesses the first stream from the stream server;

generates a second workspace that includes the first stream and the second stream; and

causes the second workspace, the first stream, and the second stream to be displayed on the second display.

17. The system of claim 15 , further comprising:

a third display system that includes:

a third display, and

a third appliance that has:

a third memory storing a third client application, and

a third processor that, in conjunction with executing the third client application:

receives the first stream,

receives the second stream,

generates a third workspace that includes the first stream and the second stream, and

causes the third workspace, the first stream, and the second stream to be displayed on the third display.

18. The computer-implemented method of claim 1 , further comprising:

at the first display system, transmitting a second notification to the stream server, the second notification including the first set of stream display attributes associated with the first stream.

19. The computer-implemented method of claim 1 , wherein the first workspace further includes at least one asset having associated metadata specifying, for the at least one asset, an aspect ratio and a position in terms of percent location along an x-axis and y-axis of the first workspace.

Assignments (5)
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 →
SECURITY INTEREST Recorded Aug 3, 2017
From: PRYSM, INC.
To: KUWAIT INVESTMENT AUTHORITY, AS COLLATERAL AGENT
Reel/Frame 043432/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: CUZZORT, ADAM P.; FISCHER, BRANDON
To: PRYSM, INC.
Reel/Frame 035305/0379 →
Continuity (4)
Continuation In Part 13773015 · Feb 21, 2013
Provisional Application 61601182 · Feb 21, 2012
Related Publication 20150207878A1 · Jul 23, 2015
Related Publication 20170180472A9 · Jun 22, 2017