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, the media file being a copy of a remote media file stored at a remote media source, the cache service module comprising:
- a file analysis module, comprising a computer readable storage medium having computer readable instructions stored thereon for execution by a processor for;
(i) 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 shorter than the file size of the remote media file;
(ii) concatenating bytes in the M ranges into a string of bytes;
(iii) generating a signature for the media file using the string of bytes; and
(iv) determining the presence of the media file in the cache, including interrogating the cache with the signature for the media file.
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
34 Claims
-
1. A cache service module, determining a presence of a media file in a cache, the media file being a copy of a remote media file stored at a remote media source, the cache service module comprising:
-
a file analysis module, comprising a computer readable storage medium having computer readable instructions stored thereon for execution by a processor for; (i) 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 shorter than the file size of the remote media file;(ii) concatenating bytes in the M ranges into a string of bytes; (iii) generating a signature for the media file using the string of bytes; and (iv) determining the presence of the media file in the cache, including interrogating the cache with the signature for the media file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for caching a media file, comprising:
-
(a) a cache, comprising a computer readable storage medium, for storing a media file, which is a copy of a remote media file stored at a remote media source; (b) a bandwidth optimizing server, including a processor and a computer readable storage medium having computer readable instructions stored thereon, for receiving a request from a media client device for the media file; and (c) a cache server, comprising a processor and a computer readable medium having computer readable instructions stored thereon for execution by the processor, the cache server having; a cache service module, determining a presence of the media file in the cache, the cache service module comprising a file analysis module for; (i) 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 shorter than a file size of the remote media file;(ii) concatenating bytes in the M ranges into a string of bytes; (iii) generating a signature for the media file using the string of bytes; (iv) determining 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, 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 (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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 shorter than a file size of the remote media file;(b) concatenating bytes in the M ranges into a string of bytes; (c) generating a signature for the media file using the 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 (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification