IP Library Granted Patent US 8,650,602
Granted Patent B2
US 8,650,602 · App. 12/395,503 · Granted Feb 11, 2014

Input queued content switching using a playlist

Inventors: Daniel Pond (Andover, MA); Thomas V. Radogna (Westboro, MA); Weidong Xu (Westford, MA); Qin-Fan Zhu (Acton, MA); Steve Branam (Ayer, MA); Craig Frink (Chelmsford, MA); Michael G. Hluchyj (Wellesley, MA); Santosh Krishnan (Windham, NH)
Assignee: Akamai Technologies, Inc.
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 8,650,602
App. No.
12/395,503
Granted
Feb 11, 2014
Kind
B2
Abstract

Described are computer-based methods and apparatuses, including computer program products, for input queued content switching using a playlist. A retrieval sequence is generated using a plurality of content requests based on content location information. A first portion of content is requested to be queued at a first content source, and a second portion of content is requested to be queued at a second content source. A content stream of the first portion and the second portion of content is generated using the retrieval sequence. The generating includes selecting the first portion of content from a queue associated with the first content source and transferring the first portion of content to an output buffer, then terminating transfer of the first portion of content and initiating transfer of the second portion of content from a queue associated with the second content source. The portion of content in the output buffer is transmitted to a client device.

Claims (68)

1. A computerized method for input queued content switching across different content types, the method comprising:

generating, by a first computing device, a retrieval sequence using a plurality of content requests, the content requests being based on content location information;

requesting, by the first computing device, content of a first type to be queued at a first content source and content of a second type to be queued at a second content source using the retrieval sequence;

generating, at the first computing device, a content stream of the content of the first type, the content of the second type, and proxy content, the generating comprising:

selecting the content of the first type from a queue associated with the first content source using the retrieval sequence,

transferring the content of the first type from the queue associated with the first content source to an output buffer,

terminating transfer of the content of the first type from the queue associated with the first content source to the output buffer, and initiating transfer of the content of the second type from a queue associated with the second content source to the output buffer, by selecting the content of the second type from the queue associated with the second content source using the retrieval sequence;

selecting the proxy content from a proxy content source using the retrieval sequence and transferring the proxy content to the output buffer without first storing the proxy content in a storage module, when the content of the second type is unavailable in the queue associated with the second content source; and

transmitting the content of the first type and the content of the second type in the output buffer to a client device when the content of the second type is available; and

transmitting the content of the first type and the proxy content in the output buffer to the client device when the content of the second type is unavailable.

2. The method of claim 1 , wherein the generating a retrieval sequence comprises:

generating a plurality of retrieval entries based on each content request;

inserting the retrieval entries into the retrieval sequence.

3. The method of claim 2 , further comprising:

determining, by the first computing device, a content access delay for each retrieval entry; and

determining, by the first computing device, a content request time based on the content access delay.

4. The method of claim 3 , wherein the content request time is based on content type, content length, content source, a temporal value, or any combination thereof.

5. The method of claim 1 , wherein the requesting comprises:

sending a first content retrieval request to the first content source and a second content retrieval request to the second content source.

6. The method of claim 1 , wherein the content of the second type is unavailable in the queue associated with the second content source and the proxy content is unavailable at the proxy content source, the generating step further comprising:

selecting substitute content of the first type or the second type from a queue associated with a third content source using the retrieval sequence; and

transferring the substitute content to the output buffer.

7. The method of claim 6 , wherein the first content source and the third content source are the same.

8. The method of claim 1 , wherein the content requests are based on session control information.

9. The method of claim 1 , wherein the content requests are based on a request from the client device.

10. The method of claim 1 , further comprising:

processing, by the first computing device, the transferred content of the first type to determine the existence of an indicator.

11. The method of claim 10 , further comprising:

inserting, by the first computing device, control information into the output buffer based on the indicator.

12. The method of claim 1 , wherein the content location information includes a primary content source, a proxy content source, or any combination thereof.

13. The method of claim 1 , wherein the output buffer is a first-in first-out buffer.

14. The method of claim 1 , wherein the output buffer includes content delivery processing.

15. The method of claim 1 , wherein the first content source, the second content source, and the first computing device are connected by a switch fabric.

16. The method of claim 1 , wherein the retrieval sequence is a data structure.

17. A computer program product, tangibly embodied in a machine-readable storage device, for input queued content switching across different content types, the computer program product including instructions operable to cause a server computing device to:

generate a retrieval sequence using a plurality of content requests, the content requests being based on content location information;

request content of a first type to be queued at a first content source and content of a second type to be queued at a second content source using the retrieval sequence;

generate a content stream of the content of the first type, the content of the second type, and proxy content, the generating comprising:

selecting the content of the first type from a queue associated with the first content source using the retrieval sequence,

transferring the content of the first type from the queue associated with the first content source to an output buffer,

terminating transfer of the content of the first type from the queue associated with the first content source to the output buffer, and initiating transfer of the content of the second type from a queue associated with the second content source to the output buffer, by selecting the content of the second type from the queue associated with the second content source using the retrieval sequence;

selecting the proxy content from a proxy content source using the retrieval sequence and transferring the proxy content to the output buffer without first storing the proxy content in a storage module, when the content of the second type is unavailable in the queue associated with the second content source; and

transmit the content of the first type and the content of the second type in the output buffer to a client device when the content of the second type is available; and

transmit the content of the first type and the proxy content in the output buffer to the client device when the content of the second type is unavailable.

18. A system for input queued content switching across different content types, the system comprising:

a content request processor configured to:

generate a retrieval sequence using a plurality of content requests, the content requests being based on content location information,

request content of a first type to be queued at a first content source and content of a second type to be queued at a second content source using the retrieval sequence;

and

a content retrieval processor configured to:

generate a content stream of the content of the first type, the content of the second type, and proxy content, the generating comprising:

selecting the content of the first type from a queue associated with the first content source using the retrieval sequence,

transferring the content of the first type from the queue associated with the first content source to an output buffer,

terminating transfer of the content of the first type from the queue associated with the first content source to the output buffer, and initiating transfer of the content of the second type from a queue associated with the second content source to the output buffer, by selecting the content of the second type from the queue associated with the second content source using the retrieval sequence;

selecting the proxy content from a proxy content source using the retrieval sequence and transferring the proxy content to the output buffer without first storing the proxy content in a storage module, when the content of the second type is unavailable in the queue associated with the second content source; and

transmit the content of the first type and the content of the second type in the output buffer to a client device when the content of the second type is available; and

transmit the content of the first type and the proxy content in the output buffer to the client device when the content of the second type is unavailable.

19. A system for input queued content switching across different content types, the system comprising:

means for generating a retrieval sequence using a plurality of content requests, the content requests being based on content location information;

means for requesting content of a first type to be queued at a first content source, content of a second type to be queued at a second content source using the retrieval sequence;

means for generating a content stream of the content of the first type, the content of the second type, and proxy content, the generating comprising:

selecting the content of the first type from a queue associated with the first content source using the retrieval sequence,

transferring the content of the first type from the queue associated with the first content source to an output buffer,

terminating transfer of the content of the first type from the queue associated with the first content source to the output buffer, and initiating transfer of the content of the second type from a queue associated with the second content source to the output buffer, by selecting the content of the second type from the queue associated with the second content source using the retrieval sequence;

selecting the proxy content from a proxy content source using the retrieval sequence and transferring the proxy content to the output buffer without first storing the proxy content in a storage module, when the content of the second type is unavailable in the queue associated with the second content source; and

means for transmitting the content of the first type and the content of the second type in the output buffer to a client device when the content of the second type is available; and

means for transmitting the content of the first type and the proxy content in the output buffer to the client device when the content of the second type is unavailable.

20. The method of claim 1 , wherein the content of the first type is live content and the content of the second type is stored content.

Assignments (2)
MERGER Recorded May 8, 2013
From: VERIVUE, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 030370/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2009
From: BRANAM, STEVE; FRINK, CRAIG; HLUCHYJ, MICHAEL G.; KRISHNAN, SANTOSH; POND, DANIEL; RADOGNA, THOMAS V.; XU, WEIDONG; ZHU, QIN-FAN
To: VERIVUE, INC.
Reel/Frame 022573/0700 →
Continuity (1)
Related Publication 20100223392A1 · Sep 2, 2010