Methods and apparatus for content caching in a video network
First Claim
1. A method of operating a network having a plurality of client devices associated therewith, the method comprising:
- receiving from a first user a first request for a content element rendered in a first format;
generating a record of said first request for storage at a database;
providing to said first user said content element rendered in said first format;
determining whether to cache said content element in said first format;
at a subsequent point in time, not exceeding a predetermined time limit from receipt of said first request, receiving from a second user a second request for said content element rendered in a second format;
accessing said database to determine whether a record of a previous request for said content element has been made;
in response to an identification of said record, checking a cache for said content element irrespective of a format thereof;
when said content element is identified within said cache in said first format, transforming said content element rendered in said first format into said content element rendered in said second format;
caching said content element in said second format only when said second request is received within said predetermined time limit; and
providing said content element rendered in said second format.
7 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for selectively caching (and de-caching) video content in network so as to reduce content transformation requirements and also cache storage requirements. In one embodiment, a content caching controller associated with a content server differentiates content requests based on content attributes such as the requested codec format (e.g., MPEG or Windows Media), resolution, bitrate, and/or encryption type or security environment. If the content requested by a user is not available with the requested attribute(s), the content server transfers to content to the user by first transforming it. The content server also speculatively caches the transformed content locally, so that a future request for the same content with the same attributes can be filled by transferring without the intermediate transformation step. The controller allows the network operator to optimize use of available storage and transcoding resources.
-
Citations
15 Claims
-
1. A method of operating a network having a plurality of client devices associated therewith, the method comprising:
-
receiving from a first user a first request for a content element rendered in a first format; generating a record of said first request for storage at a database; providing to said first user said content element rendered in said first format; determining whether to cache said content element in said first format; at a subsequent point in time, not exceeding a predetermined time limit from receipt of said first request, receiving from a second user a second request for said content element rendered in a second format; accessing said database to determine whether a record of a previous request for said content element has been made; in response to an identification of said record, checking a cache for said content element irrespective of a format thereof; when said content element is identified within said cache in said first format, transforming said content element rendered in said first format into said content element rendered in said second format; caching said content element in said second format only when said second request is received within said predetermined time limit; and providing said content element rendered in said second format. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operating a network having a plurality of substantially heterogeneous client devices associated therewith, the method comprising:
-
making available a plurality of different content elements; receiving a first request for one of said content elements in a first particular format; evaluating said first request to determine whether said first request can be serviced by using a previously transformed and cached version of said first requested content element, said previously transformed and cached version of said first requested content element comprising a version of said first requested content element which, upon a previous user request was transformed from a source version thereof, to a version encoded according to a second particular format and cached, said second particular format being different than said first particular format; transforming said previously transformed and cached version of said first requested one of said content element a second time into a version rendered in said first particular format, and delivering said second transformed version; and caching said second transformed version when it is determined that a user associated with said first request and a user associated with said previous user request have at least one characteristic in common. - View Dependent Claims (6, 7)
-
-
8. Network apparatus for use in a content delivery network, comprising:
-
a server configured to serve at least a plurality of video content elements; a storage device configured to store said plurality of video content elements; a transformation entity configured to transform individual ones of said plurality of video content elements from a first format to a second format; and a controller operatively communicating with said server, said storage device, and said transformation entity, said controller configured to; evaluate a first request by a first user for a content element rendered in a first format to determine whether said content element in said first format has been previously requested; and evaluate a second request from a second user for said content element rendered in a second format, said controller caching said content element in said second format when said second request is received within a predetermined time limit from receipt of the first request, and said first user and said second user have at least one common characteristic. - View Dependent Claims (9, 10, 11)
-
-
12. Network server apparatus for use in a content distribution network, the apparatus comprising:
-
a server configured to receive a plurality of content elements from a content source, and serve one or more of said content elements to one or more users of said network; and a controller in operative communication with said server, said controller configured to; evaluate a first request by a first user for a content element rendered in a first format to determine whether said first request can be serviced by using a previously transformed and cached version of said first content element; when said evaluation indicates that said content in said first format has not previously been requested, cause transformation of said content from said first format to a second format to produce transformed content, and serve said first request using said transformed content; generate a record of said first request for storage at a database and not caching said second format; evaluate a second request by a second user for said content element rendered in said second format; and identify an instance where said first user and said second user have at least one common characteristic, and based at least in part on said identification, cache said content element in said second format, and serve said second request using said transformed content. - View Dependent Claims (13, 14, 15)
-
Specification