IP Library Granted Patent US 10,015,222
Granted Patent B2
US 10,015,222 · App. 14/038,008 · Granted Jul 3, 2018

Systems and methods for selective retrieval of adaptive bitrate streaming media

Inventors: Christoph Pakulski (Mississauga, CA); Robert Linwood Myers (Mississauga, CA)
Assignee: ARRIS Canada, Inc.
H04L65/60H04L65/4084H04L65/4092H04L65/608H04L65/80H04L67/02H04N21/2387H04N21/6175H04N21/637H04N21/64322H04N21/84H04N21/8456
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,015,222
App. No.
14/038,008
Granted
Jul 3, 2018
Kind
B2
Abstract

Methods and apparatus that enable a subscriber of an adaptive bitrate streaming service provider to begin viewing a live program already in progress, and further have the ability to pause, rewind or start the program over from the beginning of the program regardless of its actual length or the manifest window defined by an encoder. Selective retrieval of a live media stream is provided by storing, at a server, a plurality of media fragments beginning at an initial time along with a server manifest for the media stream. In response to a client request for a start time later than the initial time, the server generates a program-specific manifest based on the server manifest.

Claims (31)

1. A method of providing selective retrieval of a live media stream in progress at a current time, the media stream formed of a plurality of fragments, the method comprising:

storing, for the plurality of fragments corresponding to a program having a beginning at an initial time, archival manifest information comprising at least one manifest for the media stream beginning at the initial time;

receiving, from a client device, a request for a portion of the media stream beginning at a selected late-start time later than the initial time and earlier than the current time;

in one or more computer processors, automatically generating a program-specific late-start time-specific manifest based on the archival manifest information and comprising a subset of the archival manifest information, wherein a chronologically-earliest manifest entry for a chronologically-earliest fragment in the program-specific late-start time-specific manifest corresponds to a selected fragment in the plurality of fragments at the selected late-start time, and wherein a chronologically-latest manifest entry for a chronologically-latest fragment in the program-specific late-start time-specific manifest corresponds to a current fragment in the plurality of fragments; and

providing the program-specific late-start time-specific manifest to the client device.

2. The method of claim 1 , further comprising receiving the plurality of fragments from a media server.

3. The method of claim 1 , further comprising receiving the archival manifest information from a media server.

4. The method of claim 2 , wherein the media server is an adaptive bitrate streaming server.

5. The method of claim 1 , further comprising providing a request URL for the portion of the media stream to the client device.

6. The method of claim 5 , wherein the request URL comprises a token that identifies the portion of the media stream.

7. The method of claim 6 , wherein the token identifies the selected late-start time.

8. The method of claim 6 , wherein the token identifies a rewind window from a current time to the selected late-start time.

9. The method of claim 6 , wherein the token comprises an authorization to provide the portion of the media stream.

10. The method of claim 5 , wherein the request URL is provided by an interface server.

11. The method of claim 1 , further comprising periodically generating the archival manifest information for a preselected number of the plurality of fragments, prior to storing the archival manifest information.

12. The method of claim 1 , wherein generating the program-specific late-start time-specific manifest further comprises inserting at least one manifest entry for a media fragment related to a different media stream.

13. The method of claim 1 , wherein the media stream is an HTTP Live Streaming stream, wherein the archival manifest information comprises a plurality of manifests each relating to a manifest window, and wherein the program-specific late-start time-specific manifest is generated by identifying a subset of the plurality of manifests that contain fragments beginning at the selected late-start time, and extracting the manifest entries beginning at the selected late-start time from the subset.

14. The method of claim 1 , wherein the media stream is a Smooth Streaming stream, wherein the archival manifest information comprises an initial manifest, and wherein the program-specific late-start time-specific manifest is generated beginning from the initial manifest using the plurality of fragments.

15. A manifest modification server for providing selective retrieval over a data network of a live media stream in progress at a current time, the media stream formed of a plurality of fragments, the fragments stored at a media server beginning at an initial time, the server comprising:

a network interface operatively coupled to the data network;

a memory; and

a processor operatively coupled to the memory and the network interface, the processor configured to:

store, for the plurality of fragments corresponding to a program having a beginning at an initial time, archival manifest information comprising at least one manifest for the media stream beginning at the initial time;

receive, from a client device, a request for a portion of the media stream beginning at a selected late-start time later than the initial time and earlier than the current time;

automatically generate a program-specific late-start time-specific manifest based on the archival manifest information and comprising a subset of the archival manifest information, wherein a chronologically-earliest manifest entry for a chronologically-earliest fragment in the program-specific late-start time-specific manifest corresponds to a selected fragment in the plurality of fragments at the selected late-start time, and wherein a chronologically-latest manifest entry for a chronologically-latest fragment in the program-specific late-start time-specific manifest corresponds to a current fragment in the plurality of fragments; and

transmit the program-specific late-start time-specific manifest to the client device.

16. A non-transitory computer readable medium for storing instructions executable by a computer processor, the instructions when executed for causing the computer processor to perform a method of providing selective retrieval of a live media stream in progress at a current time, the media stream formed of a plurality of fragments, the method comprising:

storing, for the plurality of fragments corresponding to a program having a beginning at an initial time, archival manifest information comprising at least one manifest for the media stream beginning at the initial time;

receiving, from a client device, a request for a portion of the media stream beginning at a selected late-start time later than the initial time and earlier than the current time;

automatically generating a program-specific late-start time-specific manifest based on the archival manifest information and comprising a subset of the archival manifest information, wherein a chronologically-earliest manifest entry for a chronologically-earliest fragment in the program-specific late-start time-specific manifest corresponds to a selected fragment in the plurality of fragments at the selected late-start time, and wherein a chronologically-latest manifest entry for a chronologically-latest fragment in the program-specific late-start time-specific manifest corresponds to a current fragment in the plurality of fragments; and

providing the program-specific late-start time-specific manifest to the client device.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
Reel/Frame 050721/0401 →
MERGER Recorded Oct 20, 2015
From: SEAWELL NETWORKS, INC.
To: ARRIS CANADA, INC.
Reel/Frame 036834/0426 →
SECURITY INTEREST Recorded Jun 26, 2015
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036020/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2014
From: PAKULSKI, CHRISTOPH; MYERS, ROBERT LINWOOD
To: SEAWELL NETWORKS, INC.
Reel/Frame 033790/0692 →
Continuity (1)
Related Publication 20150088965A1 · Mar 26, 2015