IP Library Granted Patent US 11,558,443
Granted Patent B2
US 11,558,443 · App. 17/233,963 · Granted Jan 17, 2023

Methods, systems, and media for delivering manifestless streaming media content

Inventors: Tristan Schmelcher (Sammamish, WA); William Cyr (Boston, MA); Thomas DeWeese (Boxborough, MA); Nils Krahnstoever (Brookline, MA); Matthew Carson (San Francisco, CA); Pawel Jurczyk (Newton, MA); Thomas Dinger (Waltham, MA); Jeffrey Calow (Arlington, MA)
Assignee: Google LLC
H04L65/613H04L65/612H04N21/2187H04N21/84H04N21/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 11,558,443
App. No.
17/233,963
Granted
Jan 17, 2023
Kind
B2
Abstract

Methods, systems, and media for delivering manifestless streaming media content are provided. In some embodiments, the method comprises: receiving, from a user device, a request for a URL corresponding to a format of a live stream that is provided in a plurality of formats, wherein the live stream comprises a plurality of segments for each of the plurality of formats and wherein each segment of the plurality of segments comprises a respective sequence number; resolving the request to a specific segment of the live stream based on the URL, wherein the resolving comprises: identifying the format of the live stream associated with the request from the plurality of formats based on the URL; identifying a sequence number associated with the request based on the URL; and identifying a segment of the plurality of segments corresponding to the identified format and having a sequence number matching the identified sequence number; loading a segment file corresponding to the specific segment; and returning the segment file to the user device in a response to the request.

Claims (40)

1. A method for delivering live streaming content, the method comprising:

receiving, from a user device, a request for a URL corresponding to a format of a live stream that is provided in a plurality of formats, wherein the live stream comprises a plurality of segments for each of the plurality of formats and wherein each segment of the plurality of segments comprises a respective sequence number;

resolving the request to a specific segment of the live stream by identifying the format of the live stream associated with the request from the plurality of formats based on the requested URL;

loading a segment file corresponding to the specific segment; and

returning the segment file to the user device in a response to the request.

2. The method of claim 1 , wherein the URL comprises a base URL, and wherein the format of the live stream associated with the request is identified from the plurality of formats based on the base URL.

3. The method of claim 1 , further comprising identifying a sequence number associated with the request based on the requested URL, wherein the segment file comprises metadata indicating the identified sequence number.

4. The method of claim 3 , further comprising identifying a segment of the plurality of segments corresponding to the identified format and having a sequence number matching the identified sequence number.

5. The method of claim 4 , wherein the sequence number is identified by determining a current head sequence number for a most recent segment that is available for playback of the one or more segments, wherein the identified sequence number is the current head sequence number and wherein the identified segment is the most recent segment that is available for playback.

6. The method of claim 3 , wherein the sequence number is identified by identifying a sequence number associated with the request that is greater than a sequence number for a most recently complete segment that is available to load based on the URL.

7. The method of claim 6 , further comprising:

iteratively loading one or more portions of the segment file as the one or more portions are being generated; and

iteratively returning the generated one or more portions to the user device in a single response.

8. A system for delivering live streaming content, the system comprising:

a hardware processor that:

receives, from a user device, a request for a URL corresponding to a format of a live stream that is provided in a plurality of formats, wherein the live stream comprises a plurality of segments for each of the plurality of formats and wherein each segment of the plurality of segments comprises a respective sequence number;

resolves the request to a specific segment of the live stream by identifying the format of the live stream associated with the request from the plurality of formats based on the requested URL;

loads a segment file corresponding to the specific segment; and

returns the segment file to the user device in a response to the request.

9. The system of claim 8 , wherein the URL comprises a base URL, and wherein the format of the live stream associated with the request is identified from the plurality of formats based on the base URL.

10. The system of claim 8 , wherein the hardware processor further identifies a sequence number associated with the request based on the requested URL, wherein the segment file comprises metadata indicating the identified sequence number.

11. The system of claim 10 , wherein the hardware processor further identifies a segment of the plurality of segments corresponding to the identified format and having a sequence number matching the identified sequence number.

12. The system of claim 11 , wherein the sequence number is identified by determining a current head sequence number for a most recent segment that is available for playback of the one or more segments, wherein the identified sequence number is the current head sequence number and wherein the identified segment is the most recent segment that is available for playback.

13. The system of claim 10 , wherein the sequence number is identified by identifying a sequence number associated with the request that is greater than a sequence number for a most recently complete segment that is available to load based on the URL.

14. The system of claim 13 , wherein the hardware processor further:

iteratively loads one or more portions of the segment file as the one or more portions are being generated; and

iteratively returns the generated one or more portions to the user device in a single response.

15. A non-transitory computer-readable medium for delivering live streaming content, the method comprising:

receiving, from a user device, a request for a URL corresponding to a format of a live stream that is provided in a plurality of formats, wherein the live stream comprises a plurality of segments for each of the plurality of formats and wherein each segment of the plurality of segments comprises a respective sequence number;

resolving the request to a specific segment of the live stream by identifying the format of the live stream associated with the request from the plurality of formats based on the requested URL;

loading a segment file corresponding to the specific segment; and

returning the segment file to the user device in a response to the request.

16. The non-transitory computer-readable medium of claim 15 , wherein the URL comprises a base URL, and wherein the format of the live stream associated with the request is identified from the plurality of formats based on the base URL.

17. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises identifying a sequence number associated with the request based on the requested URL, wherein the segment file comprises metadata indicating the identified sequence number.

18. The non-transitory computer-readable medium of claim 17 , wherein the method further comprises identifying a segment of the plurality of segments corresponding to the identified format and having a sequence number matching the identified sequence number.

19. The non-transitory computer-readable medium of claim 18 , wherein the sequence number is identified by determining a current head sequence number for a most recent segment that is available for playback of the one or more segments, wherein the identified sequence number is the current head sequence number and wherein the identified segment is the most recent segment that is available for playback.

20. The non-transitory computer-readable medium of claim 17 , wherein the sequence number is identified by identifying a sequence number associated with the request that is greater than a sequence number for a most recently complete segment that is available to load based on the URL.

21. The non-transitory computer-readable medium of claim 20 , wherein the method further comprises:

iteratively loading one or more portions of the segment file as the one or more portions are being generated; and

iteratively returning the generated one or more portions to the user device in a single response.

Continuity (3)
Continuation 16573090 · Sep 17, 2019
Provisional Application 62732567 · Sep 17, 2018
Related Publication 20210243240A1 · Aug 5, 2021
Cited By (1)
US 12,470,615