IP Library Granted Patent US 9,509,742
Granted Patent B2
US 9,509,742 · App. 14/925,693 · Granted Nov 29, 2016

Configuring manifest files referencing infrastructure service providers for adaptive streaming video

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,509,742
App. No.
14/925,693
Granted
Nov 29, 2016
Kind
B2
Abstract

Techniques for serving a manifest file of an adaptive streaming video include receiving a request for the manifest file from a user device. The video is encoded at different reference bitrates and each encoded reference bitrate is divided into segments to generate video segment files. The manifest file includes an ordered list of universal resource locators (URLs) that reference a set of video segment files encoded at a particular reference bitrate. A source manifest file that indicates the set of video segment files is identified based on the request. An issued manifest file that includes a first URL and a second URL is generated based on the source manifest file. The first URL references a first domain and the second URL references a second domain that is different from the first domain. The issued manifest file is transmitted to the user device as a response to the request.

Claims (55)

1. A system for configuring and providing manifest files for adaptive streaming video, the system comprising:

one or more segment file servers, each segment file server comprising:

a processing unit including one or more processors; and

memory coupled with and readable by the processing unit and storing therein a set of instructions;

wherein the execution of the one or more sets of instructions by the one or more processing units, causes the one or more segment file servers to:

process one or more requests received at the segment file server, each said request identifying one or more requested video segment files corresponding to a portion of a first adaptive streaming video;

in response to each said request, transmit the requested video segment files to a recipient device; and

collect data metrics corresponding to the transmission of the requested video segment files from the segment file server to the recipient device; and

a manifest file serving system including one more or servers, each server in the manifest file serving system comprising:

a processing unit including one or more processors; and

memory coupled with and readable by the processing unit and storing therein a set of instructions;

wherein the execution of the one or more sets of instructions by the one or more processing units, causes the one or more servers of the manifest file serving system to:

determine one or more infrastructure service providers associated with the data metrics collected by the one or more segment file servers, wherein each of the determined infrastructure service providers is operated separately from the one or more segment file servers and is identified as receiving requests for other portions of the first adaptive streaming video that are not transmitted to the one or more recipient devices by the one or more segment file servers;

determine, based on the collected data metrics corresponding to the transmission of the requested video segment files from the one or more segment file servers to the one or more recipient devices, and based on the determined infrastructure service providers associated with the collected data metrics, one or more performance metrics associated with the each of the one or more infrastructure service providers;

receive a manifest file request for an adaptive streaming video, wherein said manifest file request is received after the collection of the data metrics by the one or more segment file servers;

select one or more of the determined infrastructure service providers to be referenced in a manifest file responsive to the manifest file request, based on the performance metrics associated with the infrastructure service providers;

configure a manifest file including one or more Uniform Resource Locators (URLs) referencing video segment files corresponding to portions of the adaptive streaming video, wherein the video segment files referenced by the URLs are provided by the one or more selected infrastructure service providers; and

transmit the configured manifest file in response to the received manifest file request.

2. The system for configuring and providing manifest files for adaptive streaming video of claim 1 , wherein the configured manifest file includes Uniform Resource Locators (URLs) identifying segment file servers to serve portions of the adaptive streaming video, interspersed with the Uniform Resource Locators (URLs) identifying one or more infrastructure service providers operated separately from the one or more segment file servers to serve other portions of the adaptive streaming video.

3. The system for configuring and providing manifest files for adaptive streaming video of claim 1 , wherein determining the performance metrics associated with the one or more infrastructure service providers comprises:

determining that a shift from one bandwidth version of the adaptive streaming video to another bandwidth version of the adaptive streaming video has been initiated by a recipient device of the adaptive streaming video; and

attributing the shift to a first infrastructure service provider operated separately from the segment file server.

4. The system for configuring and providing manifest files for adaptive streaming video of claim 1 , wherein determining the performance metrics associated with the one or more infrastructure service providers comprises:

detecting, based on requests received at the one or more segment file servers, that a buffering event occurred at a recipient device of the adaptive streaming video; and

attributing the buffering event to a first infrastructure service provider operated separately from the segment file server.

5. The system for configuring and providing manifest files for adaptive streaming video of claim 1 , wherein determining the performance metrics associated with the one or more infrastructure service providers comprises:

detecting a failure of a first infrastructure service provider operated separately from the segment file server.

6. The system for configuring and providing manifest files for adaptive streaming video of claim 5 , wherein detecting the failure of the infrastructure service provider comprises:

receiving a first request for a first video segment file at the one or more segment file servers;

determining that the first request includes a first URL corresponding to a primary URL within a first manifest file for the adaptive streaming video;

receiving a second request for a second video segment file at the one or more segment file servers;

determining that the second request includes a second URL corresponding to a failover URL within the first manifest file for the adaptive streaming video; and

determining, based on the first manifest file, that the first infrastructure service provider failed to provide at least a portion of the adaptive streaming video in between the first video segment file and the second video segment file.

7. The system for configuring and providing manifest files for adaptive streaming video of claim 1 , wherein configuring the manifest file comprises interspersing URLs referencing a first domain associated with the manifest file serving system between URLs referencing a second domain associated with one of the selected infrastructure service providers.

8. The system for configuring and providing manifest files for adaptive streaming video of claim 7 , wherein the URLs referencing the first domain are interspersed at periodic intervals within the manifest file.

9. The system for configuring and providing manifest files for adaptive streaming video of claim 7 , wherein the one or more segment file servers comprises a plurality of segment file servers, and wherein configuring the manifest file by the manifest file serving system further comprises:

selecting one or more of the segment file servers to be referenced in video segment URLs included in the manifest file for the adaptive streaming video, based on data metrics collected by the segment file servers corresponding to transmissions of requested video segment files from the one or more segment file servers to the one or more recipient devices, wherein the selected segment file servers correspond to the first domain.

10. A method for configuring and providing manifest files for adaptive streaming video, comprising:

receiving, by one or more servers within a first infrastructure service provider, one or more video segment requests, each said request identifying one or more requested video segment files corresponding to a portion of an adaptive streaming video;

transmitting, by the one or more servers within the first infrastructure service provider, the requested video segment files to one or more recipient devices, wherein at least a portion of the adaptive streaming video is not transmitted by one or more servers within the first infrastructure service provider, but is provided by one or more infrastructure service providers operated separately from the first infrastructure service provider;

collecting, by the one or more servers within the first infrastructure service provider, data metrics corresponding to the transmission of the requested video segment files from the first infrastructure service provider to the one or more recipient devices;

determining, within the first infrastructure service provider, based on the collected data metrics corresponding to the transmission of the requested video segment files from the first infrastructure service provider, performance metrics associated with the one or more infrastructure service providers operated separately from the first infrastructure service provider;

receiving, by the first infrastructure service provider, a request for a manifest file for the adaptive streaming video, wherein said request is received after the collection of the data metrics;

selecting, by the first infrastructure service provider, a second infrastructure service provider of the one or more infrastructure service providers operated separately from the first infrastructure service provider, to provide at least a portion of the adaptive streaming video, based on the determined performance metrics;

configuring, by first infrastructure service provider, a manifest file including one or more Uniform Resource Locators (URLs) referencing video segment files corresponding to one or more portions of the adaptive streaming video, the URLs referencing the selected second infrastructure service provider; and

transmitting, by the first infrastructure service provider, the generated manifest file in response to the request for the manifest file.

11. The method for configuring and providing manifest files for adaptive streaming video of claim 10 , wherein the one or more video segment requests comprise a plurality of requests for video segment files that correspond to interspersed portions of the adaptive streaming video, and wherein said interspersed portions are transmitted by the first infrastructure service provider between additional portions of the adaptive streaming video provided by the one or more infrastructure service providers operated separately from the first infrastructure service provider.

12. The method for configuring and providing manifest files for adaptive streaming video of claim 10 , wherein determining the performance metrics associated with the one or more infrastructure service providers operated separately from the first infrastructure service provider comprises:

determining at least one of a bandwidth shift, a buffering event, or a server failure during the transmission of the adaptive streaming video to one or more recipient devices; and

attributing the at least one bandwidth shift, buffering event, or server failure to one or more of the infrastructure service providers operated separately from the first infrastructure service provider.

13. The method for configuring and providing manifest files for adaptive streaming video of claim 10 , wherein configuring the manifest file comprises interspersing URLs referencing a first domain associated with the first infrastructure service provider between URLs referencing a second domain associated with the selected second infrastructure service provider.

14. The method for configuring and providing manifest files for adaptive streaming video of claim 13 , wherein the URLs referencing the first domain are interspersed at periodic intervals within the manifest file.

15. The method for configuring and providing manifest files for adaptive streaming video of claim 13 , wherein the first infrastructure service provider comprises a plurality of segment file servers, and wherein configuring the manifest file further comprises:

determining, based on the collected data metrics corresponding to the transmission of the requested video segment files from the first infrastructure service provider, one or more performance metrics associated with at least one segment file server within the first infrastructure service provider; and

selecting one or more of the plurality of segment file servers within the first infrastructure service provider to provide at least a portion of the adaptive streaming video, wherein the selected segment file server corresponds to the first domain.

Assignments (7)
CONVERSION Recorded Jun 13, 2025
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 071574/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2025
From: DLVR, INC.
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 071414/0658 →
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
SECURITY INTEREST Recorded Aug 30, 2021
From: DLVR, INC.
To: AKITA INVESTMENTS LLC
Reel/Frame 057326/0430 →
SECURITY INTEREST Recorded Feb 5, 2020
From: DLVR, INC.
To: AKITA INVESTMENTS LLC
Reel/Frame 051725/0613 →
CORRECTIVE ASSIGNMENT TO CORRECT THE UNSIGNED SUPPORTING DOCUMENT PREVIOUSLY RECORDED ON REEL 037099 FRAME 0450. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 2, 2015
From: GORDON, MIKE
To: DLVR, INC.
Reel/Frame 037195/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2015
From: GORDON, MIKE
To: DLVR, INC.
Reel/Frame 037099/0450 →