IP Library Granted Patent US 10,958,954
Granted Patent B2
US 10,958,954 · App. 16/389,547 · Granted Mar 23, 2021

Live video streaming system and method

Inventors: Markus Woschank (Vienna, AT); Christian Maan (Vienna, AT); Patrick Marschik (Vienna, AT); Marc Dietrichstein (Vienna, AT); Eric Richardson (Durham, NC); Kevin Conner (Durham, NC); Thomas Steven Miller (Winter Park, FL); Joseph August Fisher, III (Maitland, FL); William Bronson Tubb, Jr. (Oviedo, FL)
Assignee: HALOGEN NETWORKS, LLC
H04N21/2541H04N21/2187H04N21/234H04N21/2393H04N21/2396H04N21/234309H04N21/2402H04N21/25435H04N21/26258H04N21/435H04N21/437H04N21/4627H04N21/475H04N21/632H04N21/6473H04N21/83H04N21/8586
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,958,954
App. No.
16/389,547
Granted
Mar 23, 2021
Kind
B2
Abstract

Systems and methods for broadcasting a video stream are disclosed. The systems and methods can receive a video stream from a broadcaster, process the video steam, store the video streaming, and deliver the video stream to a viewer as a live video stream or a video on demand. The viewer may use an access token to access the video stream. The systems and methods may include an error detection mechanism for detecting an interrupt in the video stream. The systems and methods can restore the access token to its original state if an error is detected. The systems and methods can also include one or more link sharing mechanisms for sharing links to a video stream. The shareable links may be associated with share tokens.

Claims (79)

1. A system comprising:

a video streaming system comprising a plurality of servers configured in a distributed network architecture, at least one of the plurality of servers comprising a hardware processor configured to:

receive first video data from a first client device, the first video data comprising a plurality of bits of video;

encode the first video data into second video data appropriate for broadcasting as a video stream to a plurality of other client devices;

broadcast a first bit of the video stream to the other client devices while receiving the plurality of bits of the first video data from the first client device;

receive a request from the first client device to share the video stream with a second client device;

generate a unique uniform resource locator (URL) linked to the video stream, the URL comprising metadata that is associated with the video stream and an identifier of the first client device;

communicate the URL to the first client device to enable the first client device to share the URL with the second client device;

receive a request to access the video stream from a second client device, the request comprising the metadata of the URL;

in response to receipt of the request to access the video stream comprising the metadata from the second client device:

identify the video stream based at least in part on an analysis of the metadata of the URL,

identify an access token stored in association with the second client device, and

determine that the access token associated with the second client device meets a threshold condition for accessing the video stream; and

in response to a determination that the access token associated with the second client device meets the threshold condition:

communicate the video stream to the second client device,

determine that the second client device received the metadata of the URL from the first client device in response to communicating the video stream to the second client device,

identify a share token associated with the first client device in response to determining that the second client device received the metadata of the URL, and

instruct a token processing system to:

process the access token, and

allocate the share token to a token repository associated with the first client device based at least in part on the communication of the video stream to the second client device.

2. The system of claim 1 , wherein to determine that the access token associated with the second client device meets a threshold condition for accessing the video stream, the hardware processor is configured to calculate a value of the access token and determine that the value of the access token corresponds with accessing the video stream.

3. The system of claim 1 , wherein the value of the share token is a portion of the value of the access token.

4. The system of claim 1 , wherein the access token comprises at least one of a system token or an exchange token.

5. The system of claim 4 , where the access token comprises a combination of the system token and the exchange token, the share token also comprises a combination of the system token and the exchange token wherein a proportion between the value of the system token the value of the exchange token in the share token correspond to a proportion between the value of the system token the value of the exchange token in the access token.

6. The system of claim 4 , wherein a value of the system token correlates with a value of the exchange token and wherein the hardware processor is further configured to dynamically adjust a ratio between the value of the system token and the value of the exchange token.

7. The system of claim 4 , wherein to determine that the second client device meets the threshold condition for accessing the video stream, the hardware processor is configured to determine that a value of the system token, a value of the exchange token, or a value of a combination of the system token and the exchange token corresponds with accessing the video stream.

8. The system of claim 7 , wherein the metadata of the URL further comprises a ratio between the value of the share token and a value of the access token.

9. The system of claim 7 , wherein to process the access token and the share token, the hardware processor is further configured to:

calculate a remaining value of the access token based on the value of the share token; and

transfer the remaining value of the access token to a token repository associated with the first client device.

10. A method comprising:

under control of a plurality of servers configured in a distributed network architecture, at least one of the plurality of servers comprising a hardware processor configured to:

receiving first video data from a first client device, the first video data comprising a plurality of bits of video;

encoding the first video data into second video data appropriate for broadcasting as a video stream to a plurality of other client devices;

broadcasting a first bit of the video stream to the other client devices while receiving the plurality of bits of the first video data from the first client device;

receiving a request from the first client device to share the video stream with a second client device;

generating a unique uniform resource locator (URL) linked to the video stream, the URL comprising metadata that is associated with the video stream and an identifier of the first client device;

communicating the URL to the first client device to enable the first client device to share the URL with the second client device;

receiving a request to access the video stream from a second client device, the request comprising the metadata of the URL;

in response to receipt of the request to access the video stream from the second client device:

identifying an access token stored in association with the second client device, and

determining that the access token associated with the second client device meets a threshold condition for accessing the video stream; and

in response to a determination that the access token associated with the second client device meets the threshold condition:

communicating the video stream to the second client device,

determining that the second client device received the metadata of the URL from the first client device in response to communicating the video stream to the second client device,

identifying a share token associated with the first client device in response to determining that the second client device received the metadata of the URL, and

instructing a token processing system to:

process the access token, and

allocate the share token to a token repository associated with the first client device based at least in part on the communication of the video stream to the second client device.

11. The method of claim 10 , wherein to determine that the access token associated with the second client device meets a threshold condition for accessing the video stream, the hardware processor is configured to calculate a value of the access token and determine that the value of the access token corresponds with accessing the video stream.

12. The method of claim 10 , wherein the value of the share token is a portion of the value of the access token.

13. The method of claim 10 , wherein the access token comprises at least one of a system token or an exchange token.

14. The method of claim 13 , where the access token comprises a combination of the system token and the exchange token, the share token also comprises a combination of the system token and the exchange token wherein a proportion between the value of the system token the value of the exchange token in the share token correspond to a proportion between the value of the system token the value of the exchange token in the access token.

15. The method of claim 13 , wherein a value of the system token correlates with a value of the exchange token and wherein the hardware processor is further configured to dynamically adjust a ratio between the value of the system token and the value of the exchange token.

16. The method of claim 13 , wherein to determine that the second client device meets the threshold condition for accessing the video stream, the hardware processor is configured to determine that a value of the system token, a value of the exchange token, or a value of a combination of the system token and the exchange token corresponds with accessing the video stream.

17. The method of claim 16 , wherein the metadata of the URL further comprises a ratio between the value of the share token and a value of the access token.

18. The method of claim 16 , wherein to process the access token and the share token, the hardware processor is further configured to:

calculate a remaining value of the access token based on the value of the share token; and

transfer the remaining value of the access token to a token repository associated with the first client device.

19. A non-transitory, computer-readable medium storing computer-executable instruction, that when executed by a computer processor, cause computer hardware to perform operations comprising:

processing first video data received from a first client device, the first video data comprising a plurality of bits of video;

encoding the first video data into second video data appropriate for broadcasting as a video stream to a plurality of other client devices;

broadcasting a first bit of the video stream to the other client devices while receiving the plurality of bits of the first video data from the first client device;

receiving a request from the first client device to share the video stream with a second client device;

generating a unique uniform resource locator (URL) linked to the video stream, the URL comprising metadata that is associated with the video stream and an identifier of the first client device;

communicating the URL to the first client device to enable the first client device to share the URL with the second client device;

receiving a request to access the video stream from a second client device, the request comprising the metadata of the URL;

in response to receipt of the request to access the video stream from the second client device:

identifying an access token stored in association with the second client device, and

determining that the access token associated with the second client device meets a threshold condition for accessing the video stream; and

determining that the access token associated with the second client device meets the threshold condition;

in response to a determination that the access token associated with the second client device meets the threshold condition:

communicating the video stream to the second client device,

determining that the second client device received the metadata of the URL from the first client device in response to communicating the video stream to the second client device,

identifying a share token associated with the first client device in response to determining that the second client device received the metadata of the URL, and

instructing a token processing system to:

process the access token, and

allocate the share token to a token repository associated with the first client device based at least in part on the communication of the video stream to the second client device.

20. The non-transitory, computer-readable medium of claim 19 , wherein the value of the share token is a portion of the value of the access token.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2019
From: TUBB, WILLIAM BRONSON, JR.
To: HALOGEN NETWORKS, LLC
Reel/Frame 049755/0545 →
SECURITY INTEREST Recorded May 10, 2019
From: HALOGEN NETWORKS, LLC
To: HARBERT CREDIT SOLUTIONS FUND IV, L.P.
Reel/Frame 049142/0858 →
Continuity (4)
Continuation 15298017 · Oct 19, 2016
Provisional Application 62332312 · May 5, 2016
Provisional Application 62244027 · Oct 20, 2015
Related Publication 20190261039A1 · Aug 22, 2019