Back to results
US 12,114,036 B2Granted
Caching recorded content segments on playback
AssigneeComcast Cable Communications, LLC
InventorsChristopher Lintz, Jeremy Pfeifer
Life of this patent
Estimating the term…
Abstract
Methods and apparatus are disclosed for efficient storage and retrieval of content items, such as recorded content items of a cloud DVR system or other system storing content items.
Claims41
A method, comprising:
- receiving, from a user device, a request for a segment of a plurality of segments of a content item;
- determining, based on the request, which of a plurality of bundles of segments of the content item contains the requested segment;
- retrieving, from the storage, metadata associated with the determined bundle, wherein the metadata specifies, for each segment contained in the determined bundle, an end of segment location within the determined bundle;
- storing, in a cache memory, the determined bundle;
- and
- sending, to the user device, and based on the retrieved metadata, the requested segment of the segments of the determined bundle stored in the cache.
3 more elements
A method, comprising:
- receiving, from a user device, a request for a segment of a plurality of segments of a content item;
- determining, based on the request, which of a plurality of bundles of segments of the content item contains the requested segment, wherein for each bundle of the plurality of bundles of segments of the content item, a plurality of copies of the bundle is stored in a different one of a plurality of files on a storage, and wherein each copy of the bundle is associated with a different user;
- storing, in the cache memory, a linked list data structure containing the segments of the determined bundle, wherein each segment comprises an element of the linked list;
- and
- sending, to the user device, the requested segment of the segments of the determined bundle stored in the linked list data structure.
2 more elements
A computing device, comprising:
- one or more processors;
- and
- memory storing computer-executable instructions, which when executed by the one or more processors, cause the device to:
- receive, from a user device, a request for a segment of a plurality of segments of a content item;
- determine, based on the request, which of a plurality of bundles of segments of the content item contains the requested segment;
- retrieve, from the storage, metadata associated with the determined bundle, wherein the metadata specifies, for each segment contained in the determined bundle, an end of segment location within the determined bundle;
- store, in a cache memory, the determined bundle;
- and
- send, to the user device, and based on the retrieved metadata, the requested segment of the segments of the determined bundle stored in the cache.
6 more elements
A computing device, comprising:
- one or more processors;
- and
- memory storing computer-executable instructions, which when executed by the one or more processors, cause the device to:
- receive, from a user device, a request for a segment of a plurality of segments of a content item;
- determine, based on the request, which of a plurality of bundles of segments of the content item contains the requested segment, wherein for each bundle of the plurality of bundles of segments of the content item, a plurality of copies of the bundle is stored in a different one of a plurality of files on a storage, and wherein each copy of the bundle is associated with a different user;
- store, in the cache memory, a linked list data structure containing the segments of the determined bundle, wherein each segment comprises an element of the linked list;
- and
- send, to the user device, the requested segment of the segments of the determined bundle stored in the linked list data structure.
5 more elements
A non-transitory, computer-readable medium storing instructions that, when executed, cause:
- receiving, from a user device, a request for a segment of a plurality of segments of a content item;
- determining, based on the request, which of a plurality of bundles of segments of the content item contains the requested segment;
- retrieving, from the storage, metadata associated with the determined bundle, wherein the metadata specifies, for each segment contained in the determined bundle, an end of segment location within the determined bundle;
- storing, in a cache memory, the determined bundle;
- and
- sending, to the user device, and based on the retrieved metadata, the requested segment of the segments of the determined bundle stored in the cache.
3 more elements
A non-transitory, computer-readable medium storing instructions that, when executed, cause:
- receiving, from a user device, a request for a segment of a plurality of segments of a content item;
- determining, based on the request, which of a plurality of bundles of segments of the content item contains the requested segment, wherein for each bundle of the plurality of bundles of segments of the content item, a plurality of copies of the bundle is stored in a different one of a plurality of files on a storage, and wherein each copy of the bundle is associated with a different user;
- storing, in the cache memory, a linked list data structure containing the segments of the determined bundle, wherein each segment comprises an element of the linked list;
- and
- sending, to the user device, the requested segment of the segments of the determined bundle stored in the linked list data structure.
2 more elements
Dependencies are inferred from the claim text.