Method and System for Federated Over-the-Top Content Delivery
A method is provided for managing over-the-top delivery of content through a plurality of content delivery networks (CDN). The method provided works transparently with standard HTTP servers supporting an initial request for content from a client to a first preferred CDN. If the first CDN does not have the content, the method includes provisions for the first CDN to acquire the content from a second CDN, or for the client to request the content from a second CDN directly. A system is also specified for implementing a client and server infrastructure in accordance with the provisions of the method.
1 . A method of operating a client device for retrieving content from a content delivery system including a plurality of content delivery networks, comprising:
transmitting a request for a desired content;
receiving a prioritized list of content delivery networks from which the desired content can be retrieved;
selecting an initial content delivery network from the prioritized list, the initial content delivery network being the first content delivery network listed in the prioritized list of content delivery networks;
transmitting a first request for a segment to the initial content delivery network; and
transmitting a second request to a new content delivery network, the new content delivery network being the second content delivery network listed in the prioritized list of content delivery networks.
2 . The method of claim 1 further comprising determining that the first request failed, wherein the second request is transmitted after determining that the first request has failed.
3 . The method of claim 1 , wherein the first and second requests include HTTP range requests to retrieve a plurality of segments.
4 . The method of claim 1 , wherein the request for the desired content, the first request, and the second request are transmitted using HTTP protocol.
5 . The method of claim 1 , further comprising transmitting content delivery network performance information.
6 . The method of claim 5 , wherein the content delivery network performance information includes initial response latency and/or throughput of content retrieval.
7 . The method of claim 1 , wherein the desired content includes audio and/or video content.
8 . The method of claim 1 :
wherein the desired content is encrypted; and
further comprising receiving a decryption key to decrypt the desired content.
9 . A client device, comprising:
a least one processor;
a non-transitory computer-readable storage medium coupled to the at least one processor, further comprising computer-readable instructions, when executed by the at least one processor, are configured to:
transmit a request for a desired content;
receive a prioritized list of content delivery networks from which the desired content can be retrieved;
select an initial content delivery network from the prioritized list, the initial content delivery network being the first content delivery network listed in the prioritized list of content delivery networks;
transmit a first request for a segment to the initial content delivery network; and
transmit a second request to a new content delivery network, the new content delivery network being the second content delivery network listed in the prioritized list of content delivery networks.
10 . The client device of claim 9 further configured to determine that the first request failed, wherein the second request is transmitted after determining that the first request has failed.
11 . The client device of claim 9 , wherein the first and second requests include HTTP range requests to retrieve a plurality of segments.
12 . The client device of claim 9 , wherein the request for the desired content, the first request, and the second request are transmitted using HTTP protocol.
13 . The client device of claim 9 , further configured to transmit content delivery network performance information.
14 . The client device of claim 13 , wherein the content delivery network performance information includes initial response latency and/or throughput of content retrieval.
15 . The client device of claim 9 , wherein the desired content includes audio and/or video content.
16 . The client device of claim 9 :
wherein the desired content is encrypted; and
the client device is further configured to receive a decryption key to decrypt the desired content.