System and methods for efficient media delivery using cache
First Claim
1. A cache service module, determining a presence of a media file in a cache and caching the media file, the media file being a copy of a remote media file stored at a remote media source, the cache service module comprising:
- a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to;
(i) obtain, from the remote media source, a file size of the remote media file, and M ranges of bytes, M>
=2, at respective offsets relative to the beginning of the remote media file, each range of bytes being substantially shorter than the file size of the remote media file, the ranges being spread over the length of the file without overlap, and the size of the remote media file being substantially larger than the number of bytes in all M ranges of bytes;
(ii) concatenate all bytes in the M ranges of bytes into a single string of bytes;
(iii) generate a signature for the media file using the single string of bytes;
(iv) determine the presence of the media file in the cache, including interrogating the cache with the signature for the media file; and
(v) absent the media file in the cache, obtain the media file in its entirety from the remote media source and store the media file in the cache along with the signature.
8 Assignments
0 Petitions
Accused Products
Abstract
To improve the efficiency of media delivery over the Internet, a system and a method are provided for caching remote media files and retrieving cached media files, comprising hardware and software modules as well as steps for storing a remote media file into the cache and retrieving the cached media file based on a signature created by hashing only discrete parts of the media file. The signature is a key for finding the cached media files in the cache upon subsequent requests for the same media file, even if it is received from a different internet location. Media files may be adapted to the characteristics of different media clients, and adapted media files may be equally cached.
-
Citations
28 Claims
-
1. A cache service module, determining a presence of a media file in a cache and caching the media file, the media file being a copy of a remote media file stored at a remote media source, the cache service module comprising:
-
a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to; (i) obtain, from the remote media source, a file size of the remote media file, and M ranges of bytes, M>
=2, at respective offsets relative to the beginning of the remote media file, each range of bytes being substantially shorter than the file size of the remote media file, the ranges being spread over the length of the file without overlap, and the size of the remote media file being substantially larger than the number of bytes in all M ranges of bytes;(ii) concatenate all bytes in the M ranges of bytes into a single string of bytes; (iii) generate a signature for the media file using the single string of bytes; (iv) determine the presence of the media file in the cache, including interrogating the cache with the signature for the media file; and (v) absent the media file in the cache, obtain the media file in its entirety from the remote media source and store the media file in the cache along with the signature. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for caching a media file and sending the media file to a media client device, the system comprising:
-
(a) a cache, comprising a non-transitory computer readable storage medium, for storing a media file, which is a copy of a remote media file stored at a remote media source; and (b) a cache server comprising a cache service module for determining a presence of the media file in the cache, the cache service module comprising; a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to; (i) obtain, from the remote media source, a file size of the remote media file, and M ranges of bytes, M>
=2, at respective offsets relative to the beginning of the remote media file, each range of bytes being substantially shorter than the file size of the remote media file, the ranges being spread over the length of the file without overlap, and the size of the remote media file being substantially larger than the number of bytes in all M ranges of bytes;(ii) concatenate all bytes in the M ranges of bytes into a single string of bytes; (iii) generate a signature for the media file using the single string of bytes; (iv) determine the presence of the media file in the cache, including interrogating the cache with the signature for the media file; and (v) absent the media file in the cache, obtain the media file in its entirety from the remote media source and store the media file in the cache along with the signature. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for caching a media file, which is a copy of a remote media file stored at a remote media source, the method comprising:
-
(a) obtaining, from the remote media source, a file size of the remote media file, and M ranges of bytes, M>
=2, at respective offsets relative to the beginning of the remote media file, each range of bytes being substantially shorter than the file size of the remote media file, the ranges being spread over the length of the file without overlap, and the size of the remote media file being substantially larger than the number of bytes in all M ranges of bytes;(b) concatenating all bytes in the M ranges into a single string of bytes; (c) generating a signature for the media file using the single string of bytes; (d) determining the presence of the media file in the cache, including interrogating the cache with the signature for the media file; and (e) absent the media file in the cache, obtaining the media file in its entirety from the remote media source and storing the media file in the cache along with the signature. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification