IP Library Granted Patent US 9,661,049
Granted Patent B2
US 9,661,049 · App. 15/215,889 · Granted May 23, 2017

Systems and methods of providing interspersed manifest file specifications 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,661,049
App. No.
15/215,889
Granted
May 23, 2017
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 (50)

1. A system for providing an interspersed manifest file specification for an adaptive streaming video, the 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 system to:

receive, from a requesting device, a request for data relating to an interspersed manifest file to be created for an adaptive streaming video, wherein the adaptive streaming video is encoded at a plurality of reference bitrates, and wherein a plurality of video segment files corresponding to the adaptive streaming video is stored for each of the plurality of reference bitrates;

determine an interspersing pattern of universal resource locators (URLs) for the interspersed manifest file, wherein the interspersing pattern of URLs specifies that a first subset of URLs corresponding to a first subset of video segment files hosted by a first domain, are to be interspersed among a second subset of URLs corresponding to a second subset of video segment files hosted by a second domain; and

transmit, to the requesting device in response to the request, data identifying the interspersing pattern of URLs for the interspersed manifest file to be created for the adaptive streaming video, and data identifying the second domain configured to serve the second subset of video segment files.

2. The system of claim 1 , the memory storing therein additional instructions that, when executed by the one or more processing units, cause the system to:

identify one or more attributes associated with a user device, wherein the user device is associated with the request received from the requesting device;

determine, based on one or more of the attributes associated with the user device, a subset of the plurality of reference bitrates to be used for serving the plurality of video segment files corresponding to the adaptive streaming video; and

transmit, to the requesting device in response to the request, data identifying the determined subset of the plurality of reference bitrates.

3. The system of claim 2 , wherein the identified attributes associated with the user device include an access network associated with the user device.

4. The system of claim 2 , wherein the identified attributes associated with the user device include a device type of the user device.

5. The system of claim 1 , wherein the determined interspersing pattern of URLs for the interspersed manifest file to be created comprises a repeating pattern of a single URL from the first subset of URLs hosted by the first domain, followed by a plurality of URLs from the second subset of URLs hosted by the second domain.

6. The system of claim 1 , the memory storing therein additional instructions that, when executed by the one or more processing units, cause the system to:

select the second domain from a plurality of domains associated with a plurality of infrastructure services, based on a distribution policy, the distribution policy defining a load allocation among the plurality of infrastructure services.

7. The system of claim 1 , wherein the system additionally comprises one or more segment file servers, and wherein the memory stores additional instructions that, when executed by the one or more processing units, cause the system to:

receive, at the one or more segment file servers, a plurality of requests for video segment files from a user device executing the interspersed manifest file, wherein the plurality of received requests includes requests for the first subset of video segment files and does not include requests for the second subset of video segment files; and

serve, via the one or more segment file servers, one or more of the first subset of video segment files to the user device in response to the plurality of requests.

8. A method of providing an interspersed manifest file specification for an adaptive streaming video, the method comprising:

receiving, from a requesting device, a request for data relating to an interspersed manifest file to be created for an adaptive streaming video, wherein the adaptive streaming video is encoded at a plurality of reference bitrates, and wherein a plurality of video segment files corresponding to the adaptive streaming video is stored for each of the plurality of reference bitrates;

determining an interspersing pattern of universal resource locators (URLs) for the interspersed manifest file, wherein the interspersing pattern of URLs specifies that a first subset of URLs corresponding to a first subset of video segment files hosted by a first domain, are to be interspersed among a second subset of URLs corresponding to a second subset of video segment files hosted by a second domain; and

transmitting, to the requesting device in response to the request, data identifying the interspersing pattern of URLs for the interspersed manifest file to be created for the adaptive streaming video, and data identifying the second domain configured to serve the second subset of video segment files.

9. The method of claim 8 , further comprising:

identifying one or more attributes associated with a user device, wherein the user device is associated with the request received from the requesting device;

determining, based on one or more of the attributes associated with the user device, a subset of the plurality of reference bitrates to be used for serving the plurality of video segment files corresponding to the adaptive streaming video; and

transmitting, to the requesting device in response to the request, data identifying the determined subset of the plurality of reference bitrates.

10. The method of claim 9 , wherein the identified attributes associated with the user device include an access network associated with the user device.

11. The method of claim 9 , wherein the identified attributes associated with the user device include a device type of the user device.

12. The method of claim 8 , wherein the determined interspersing pattern of URLs for the interspersed manifest file to be created comprises a repeating pattern of a single URL from the first subset of URLs hosted by the first domain, followed by a plurality of URLs from the second subset of URLs hosted by the second domain.

13. The method of claim 8 , further comprising:

selecting the second domain from a plurality of domains associated with a plurality of infrastructure services, based on a distribution policy, the distribution policy defining a load allocation among the plurality of infrastructure services.

14. The method of claim 8 , further comprising:

receiving a plurality of requests for video segment files from a user device executing the interspersed manifest file, wherein the plurality of received requests includes requests for the first subset of video segment files and does not include requests for the second subset of video segment files; and

serving one or more of the first subset of video segment files to the user device in response to the plurality of requests.

15. A system for providing an interspersed manifest file specification for an adaptive streaming video, the 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 system to:

receive, from a requesting device, a request for data relating to an interspersed manifest file to be created for an adaptive streaming video, wherein the adaptive streaming video is encoded at a plurality of reference bitrates, and wherein a plurality of video segment files corresponding to the adaptive streaming video is stored for each of the plurality of reference bitrates;

determine a second domain configured to serve a second subset of video segment files corresponding to a second subset of URLs, wherein the interspersed manifest file to be created includes a first subset of URLs hosted by a first domain which are interspersed among the second subset of URLs hosted by the second domain; and

transmit, to the requesting device in response to the request, data identifying the second domain configured to serve the second subset of video segment files.

16. The system of claim 15 , the memory storing therein additional instructions that, when executed by the one or more processing units, cause the system to:

identify one or more attributes associated with a user device, wherein the user device is associated with the request received from the requesting device;

determine, based on one or more of the attributes associated with the user device, a subset of the plurality of reference bitrates to be used for serving the plurality of video segment files corresponding to the adaptive streaming video; and

transmit, to the requesting device in response to the request, data identifying the determined subset of the plurality of reference bitrates.

17. The system of claim 16 , wherein the identified attributes associated with the user device include an access network associated with the user device.

18. The system of claim 16 , wherein the identified attributes associated with the user device include a device type of the user device.

19. The system of claim 15 , wherein determining the second domain comprises selecting the second domain from a plurality of domains associated with a plurality of infrastructure services, based on a distribution policy, the distribution policy defining a load allocation among the plurality of infrastructure services.

20. The system of claim 15 , wherein the system additionally comprises one or more segment file servers, and wherein the memory stores additional instructions that, when executed by the one or more processing units, cause the system to:

receive, at the one or more segment file servers, a plurality of requests for video segment files from a user device executing the interspersed manifest file, wherein the plurality of received requests includes requests for the first subset of video segment files and does not include requests for the second subset of video segment files; and

serve, via the one or more segment file servers, one or more of the first subset of video segment files to the user device in response to the plurality of requests.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2025
From: DLVR, INC.
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 071414/0658 →
CONVERSION Recorded Jun 13, 2025
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 071574/0546 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2016
From: GORDON, MICHAEL
To: DLVR, INC.
Reel/Frame 039210/0306 →