Caching and delivering media content from multiple streaming providers
AssigneeCharter Communications Operating, LLC
InventorKarim Ghessassi
Life of this patent
Estimating the term…
Abstract
In a system and method for distribution of media content, a cable provider gateway cooperates with a broker API, one or more streaming provider gateways, and one or more streaming applications to locally cache and display media content from the streaming provider gateways even when the streaming applications do not have connectivity to their gateways.
Claims19
A method for caching and delivering media content from multiple streaming providers, the method comprising:
- implementing a broker Application Programming Interface (API) at a consumer premises equipment that includes a memory and a processor, connected in communication with a cable provider gateway, a first streaming provider gateway, a second streaming provider gateway, and a Local Area Network (LAN);
- receiving by the broker API, from a first streaming application implemented in the LAN, an encrypted request for first media content;
- retrieving by the broker API, from the storage device, a first encrypted manifest of locally stored content;
- comparing by the broker API the encrypted request to the first encrypted manifest, wherein the request and the first manifest both are encrypted by a first streaming key, which is known by the first streaming provider gateway and the first streaming application implemented in the LAN, but not known by the broker API, the second streaming provider gateway, the cable provider gateway, and a second streaming application;
- in response to a match between the encrypted request and the first encrypted manifest, retrieving by the broker API, from the storage device, the first media content that is encrypted by the first streaming key;
- and
- delivering the encrypted first media content by the broker API to the first streaming application.
A method for caching and delivering media content from multiple streaming providers, the method comprising:
- receiving a consumer selection of first content by a first streaming application from a user via a first streaming application User Interface (UI);
- generating a first encrypted content selection by the first streaming application encrypting the consumer selection of first content using a first streaming key;
- transmitting the first encrypted content selection by the first streaming application to a broker Application Programming Interface (API) that is implemented in a Local Area Network (LAN) in communication with the first streaming application, wherein the broker API does not know the first streaming key;
- receiving by the first streaming application, from the broker API, encrypted first content corresponding to the first encrypted content selection, wherein the encrypted first content is encrypted by the first streaming key;
- generating first content by the first streaming application decrypting the encrypted first content using the first streaming key;
- and
- displaying the first content by the first streaming application to the user via the first streaming application UI.
A method for proactively delivering media content from a streaming provider gateway to a subscriber streaming application, the method comprising:
- receiving at the streaming provider gateway, from the subscriber streaming application, an encrypted selection of first media content to be consumed, wherein the selection is encrypted by a first streaming key, wherein the streaming provider gateway and the subscriber streaming application know the first streaming key;
- encrypting the first media content by the first streaming key;
- pushing the encrypted first media content from the streaming provider gateway to a cable provider gateway that does not know the first streaming key;
- using a recommendation engine at the streaming provider gateway to identify second media content corresponding to the first media content;
- encrypting the second media content by the first streaming key;
- and
- pushing the encrypted second media content from the streaming provider gateway to the cable provider gateway before the subscriber streaming application requests it.
A method for locally storing and delivering encrypted content, the method comprising:
- receiving, by a cable provider gateway, a first diff file that is pushed from a first streaming provider gateway, wherein the first diff file includes first content and an updated manifest that are encrypted by a first streaming key, wherein the first streaming provider gateway and a first streaming application know the first streaming key but the cable provider gateway does not know the first streaming key;
- the cable provider gateway pushing the first diff file through a consumer premises equipment to local storage;
- receiving, by a broker API that is implemented in a local area network (LAN) in communication with the local storage, an encrypted selection of media content from the first streaming application that also is implemented in the LAN, wherein the encrypted selection of media content is encrypted by the first streaming key, which the broker API does not know;
- the broker API matching the encrypted selection to the updated encrypted manifest in the local storage;
- the broker API retrieving the encrypted first content from the local storage in response to the encrypted selection;
- and
- the broker API delivering the encrypted first content to the first streaming application via the LAN.
A method for locally caching and displaying media content, the method comprising:
- implementing a broker Application Programming Interface (API) at a consumer premises equipment that includes a memory and a processor, connected in communication with a cable provider gateway, a first streaming provider gateway, a second streaming provider gateway, and a Local Area Network (LAN);
- retrieving by the broker API, from the storage device, a first encrypted manifest of locally stored content;
- receiving a consumer selection of first content by a first streaming application from a user via a first streaming application User Interface (UI);
- generating a first encrypted request by the first streaming application encrypting the consumer selection of first content using a first streaming key;
- transmitting the first encrypted request by the first streaming application to the broker API, wherein the broker API does not know the first streaming key;
- receiving by the broker API, from the first streaming application, the first encrypted request;
- comparing by the broker API the first encrypted request to the first encrypted manifest, wherein the first request and the first manifest both are encrypted by the first streaming key;
- in response to a match between the first encrypted request and the first encrypted manifest, retrieving by the broker API, from the storage device, the first media content that is encrypted by the first streaming key;
- delivering the encrypted first media content by the broker API to the first streaming application;
- receiving by the first streaming application, from the broker API, the encrypted first media content;
- generating first content by the first streaming application decrypting the encrypted first media content using the first streaming key;
- and
- displaying the first content by the first streaming application to the user via the first streaming application UI.
A system for caching and delivering media content from multiple streaming providers, the system comprising:
- a storage device that implements a broker Application Programming Interface (API);
- and
- a display device that implements a streaming application,
- wherein the broker API is configured to:
- receive from the streaming application an encrypted request for first media content;
- retrieve from the storage device, a first encrypted manifest of locally stored content;
- compare the encrypted request to the first encrypted manifest, wherein the request and the first manifest both are encrypted by a first streaming key, which is known by the streaming application, but not known by the broker API;
- in response to a match between the encrypted request and the first encrypted manifest, retrieve from the storage device the first media content that is encrypted by the first streaming key;
- and
- deliver the encrypted first media content by the broker API to the first streaming application;
- wherein the streaming application is configured to:
- receive a consumer selection of first content via a streaming application User Interface (UI);
- generate the encrypted request by encrypting the consumer selection of first content using the first streaming key;
- transmit the encrypted request to the broker API;
- receive, from the broker API, encrypted first media content that corresponds to the encrypted request;
- generate first content by decrypting the encrypted first media content using the first streaming key;
- and
- display the first content to the user via the streaming application UI.
Dependencies are inferred from the claim text.