IP Library Granted Patent US 11,082,468
Granted Patent B2
US 11,082,468 · App. 16/872,351 · Granted Aug 3, 2021

Anchors for live streams

Inventors: Justin Lewis (Marina del Rey, CA); Scott Davies (Santa Monica, CA)
Assignee: Google LLC
H04L65/4084H04L65/60H04L67/32H04L67/42H04N21/2187H04N21/23424H04N21/26258H04N21/8455
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 11,082,468
App. No.
16/872,351
Granted
Aug 3, 2021
Kind
B2
Abstract

A stream hosting server generates anchors associated with a live stream, each anchor specifying a timestamp of the live stream that represents an opportune moment for a user to join the live stream. When a viewer client device sends a request to join the live stream, the stream hosting server analyzes the anchor list and selects an appropriate anchor. The stream hosting server provides the live stream to the viewer client device beginning at the timestamp specified by the anchor. Thus, the viewer client device can begin displaying the live stream at the opportune moment specified by the anchor. The stream hosting server also creates video on demand content that include a completed live stream as well as anchors associated with the live stream. The viewer client device can display the VOD beginning at different anchors.

Claims (53)

1. A computer-implemented method comprising:

receiving, by an application on a viewer client device, a user input to access a live stream;

sending, by the application on the viewer client device, a request to access the live stream;

presenting, by the application on the viewer client device, information allowing a user to indicate one of a plurality of anchors associated with the live stream;

receiving the live stream and the indicated anchor specifying a timestamp of the live stream; and

displaying, by the application on the viewer client device, the live stream beginning at the timestamp specified by the identified anchor.

2. The computer-implemented method of claim 1 wherein the sent request to access the live stream is one of a join request or a rejoin request based on whether the viewer client device previously accessed the live stream over a threshold amount of time.

3. The computer-implemented method of claim 1 , wherein the sent request to access the live stream is a join request, and wherein the identified anchor specifies a timestamp of the live stream that is nearest to a timestamp associated with the sent join request to access the live stream.

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

receiving a content item to be presented to a user on the viewer client device;

identifying a departure time interval of the live stream associated with the content item;

displaying the received content item in place of the live stream responsive to expiration of the departure time interval; and

storing a departure timestamp of the live stream corresponding to when the received content item was displayed in place of the live stream.

5. The computer-implemented method of claim 4 , wherein the request to access the live stream is a rejoin request and is sent responsive to having finished displaying the received content item to the user.

6. The computer-implemented method of claim 2 , wherein the sent request to access the live stream is a rejoin request, and wherein the indicated anchor specifies a timestamp nearest to the departure timestamp of the live stream.

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

providing an indication that the live stream is currently in a semi-live state; and

providing a selectable indication that, when selected, transitions the live stream in the semi-live state to a live segment of the live stream.

8. A non-transitory computer-readable medium comprising instructions, which when executed by a processor of a viewer client device, causes the processor to perform operations comprising:

receiving, by an application on the viewer client device, a user input to access a live stream;

sending, by the application on the viewer client device, a request to access the live stream;

presenting, by the application on the viewer client device, information allowing a user to indicate one of a plurality of anchors associated with the live stream;

receiving the live stream and the indicated anchor specifying a timestamp of the live stream; and

displaying, by the application on the viewer client device, the live stream beginning at the timestamp specified by the identified anchor.

9. The non-transitory computer-readable medium of claim 8 , wherein the sent request to access the live stream is one of a join request or a rejoin request based on whether the viewer client device previously accessed the live stream over a threshold amount of time.

10. The non-transitory computer-readable medium of claim 8 , wherein the sent request to access the live stream is a join request, and wherein the identified anchor specifies a timestamp of the live stream that is nearest to a timestamp associated with the sent join request to access the live stream.

11. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

receiving a content item to be presented to a user on the viewer client device;

identifying a departure time interval of the live stream associated with the content item;

displaying the received content item in place of the live stream responsive to expiration of the departure time interval; and

storing a departure timestamp of the live stream corresponding to when the received content item was displayed in place of the live stream.

12. The non-transitory computer-readable medium of claim 11 , wherein the request to access the live stream is a rejoin request and is sent responsive to having finished displaying the received content item to the user.

13. The non-transitory computer-readable medium of claim 9 , wherein the sent request to access the live stream is a rejoin request, and wherein the indicated anchor specifies a timestamp nearest to the departure timestamp of the live stream.

14. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

providing an indication that the live stream is currently in a semi-live state; and

providing a selectable indication that, when selected, transitions the live stream in the semi-live state to a live segment of the live stream.

15. The non-transitory computer-readable medium of claim 8 , wherein the indicated anchor is associated with a validity duration.

16. A system comprising:

a memory; and

a processor, coupled to the memory, to perform operations comprising:

receiving, by an application on a viewer client device, a user input to access a live stream;

sending, by the application on the viewer client device, a request to access the live stream;

presenting, by the application on the viewer client device, information allowing a user to indicate one of a plurality of anchors associated with the live stream;

receiving the live stream and the indicated anchor specifying a timestamp of the live stream; and

displaying, by the application on the viewer client device, the live stream beginning at the timestamp specified by the identified anchor.

17. The system of claim 16 , wherein the sent request to access the live stream is one of a join request or a rejoin request based on whether the viewer client device previously accessed the live stream over a threshold amount of time.

18. The system of claim 16 , wherein the sent request to access the live stream is a join request, and wherein the identified anchor specifies a timestamp of the live stream that is nearest to a timestamp associated with the sent join request to access the live stream.

19. The system of claim 16 , wherein the operations further comprise:

receiving a content item to be presented to a user on the viewer client device;

identifying a departure time interval of the live stream associated with the content item;

displaying the received content item in place of the live stream responsive to expiration of the departure time interval; and

storing a departure timestamp of the live stream corresponding to when the received content item was displayed in place of the live stream.

20. The system of claim 19 , wherein the request to access the live stream is a rejoin request and is sent responsive to having finished displaying the received content item to the user.

Assignments (2)
CHANGE OF NAME Recorded Oct 21, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 054174/0826 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2020
From: LEWIS, JUSTIN; DAVIES, SCOTT
To: GOOGLE INC.
Reel/Frame 053291/0805 →
Continuity (2)
Continuation 15339874 · Oct 31, 2016
Related Publication 20200344281A1 · Oct 29, 2020
Cited By (1)
US 12,389,050