US2002169926A1PendingUtilityA1

Systems and methods for efficient cache management in streaming applications

Priority: Apr 19, 2001Filed: Apr 19, 2002Published: Nov 14, 2002
Est. expiryApr 19, 2021(expired)· nominal 20-yr term from priority
H04N 21/4126H04N 21/6587H04N 21/6125H04N 21/47202H04N 21/64707H04N 21/222H04N 21/2402H04N 21/23406H04N 21/23113H04N 21/4396H04N 7/17336H04N 21/6405H04N 21/2381H04N 21/23106H04N 21/4788H04L 63/08H04N 21/2225H04N 21/23439H04N 21/2326H04N 21/6373
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods for streaming of multimedia files over a network are described. A streaming delivery accelerator (SDA) caches content from a content provider and streams the cached content to a user. Cached content is incrementally added to the cache memory, and the SDA is disconnected from the content provider when sufficient content for a predetermined time of play has been received. The caching process can be iterative, with only content not previously retained in the cache requested from the content provider. A method for cache eviction of content no longer of interest to users is also described.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . Method for allocating cache memory for streaming, comprising: 
 receiving a request from a user for streaming content from a content file, said request including a play position;    checking if the content is in cache memory, and if the content is not in memory, caching the content at least at the play position from a content provider;    determining a cache fill initiate horizon (CFIH), said CFIH defining a cache memory content sufficient to begin streaming to the user, and caching content from the content provider that is missing between the play position and the CFIH;    defining a cache fill terminate horizon (CFTH), said CFTH defining additional cache memory content sufficient for maintaining a content stream of predetermined duration after streaming to the user has begun;    advancing said CFIH and CFTH synchronously during play; and    caching content from the content provider that is missing between the CFIH and the CFTH.    
     
     
         2 . The method of  claim 1 , wherein said setting of the CFIH and the CFTH depends on a transmission rate of the streamed content to the user.  
     
     
         3 . The method of  claim 1 , wherein said setting of the CFIH and the CFTH depends on a header duration information of the content file.  
     
     
         4 . The method of  claim 1 , wherein said setting of the CFIH and the CFTH depends on a bit rate of the content file.  
     
     
         5 . The method of  claim 1 , wherein said setting of the CFIH and the CFTH depends on a time for establishing a connection to the content provider.  
     
     
         6 . The method of  claim 1 , further including stopping a position of the CFTH when reaching an end of file and disconnecting from the content provider.  
     
     
         7 . The method of  claim 1 , further including disconnecting from the content provider when the content between the play position and the CFTH is in the cache memory.  
     
     
         8 . The method of  claim 1 , further including: 
 upon detection of an interruption in streaming the content to the user, determine if the cache memory contains more than a predetermined fraction of the content file; and    if the cache memory contains more than the predetermined fraction of the content file, finish caching the remaining fraction of the content file from the content provider; and    if the cache memory contains less than the predetermined fraction of the content file, purge the cached content from cache memory.    
     
     
         9 . Method of managing cache memory for streaming, comprising: 
 receiving from a content provider content of a content file;    caching said content and storing at least a portion of said content as a cache file in a cache memory for streaming;    collecting a request history for streaming of the cache file;    determining from the request history the portion of the cache file that meets predetermined cache eviction criterion; and    evicting from the cache memory the determined portion of the cache file that meets the cache eviction criterion.    
     
     
         10 . The method of  claim 9 , wherein the cache eviction criterion includes a fixed time period, an elapsed time since a previous request, a frequency of previous requests, and a quality metric.  
     
     
         11 . The method of  claim 9 , wherein the cache eviction criterion includes a location of the cached content within a cache file.  
     
     
         12 . The method of  claim 11 , wherein the location includes at least one of a central and a trailing segment of the cache file.  
     
     
         13 . The method of  claim 9 , further including storing said content in the cache file as payload data and as system data, and evicting from the cache memory the payload data of the determined portion of the cache file before evicting the system data of the determined portions.  
     
     
         14 . The method of  claim 13 , wherein the system data include metadata.  
     
     
         15 . A computer-readable medium containing instructions for causing a computer to manage a cache memory for streaming, including: 
 computer instructions for receiving from a content provider content of a content file;    computer instructions for caching said content and storing at least a portion of said content as a cache file in a cache memory for streaming;    computer instructions for collecting a request history for streaming of the cache file;    computer instructions for determining from the request history the portion of the cache file that meets predetermined cache eviction criterion; and    computer instructions for evicting from the cache memory the determined portion of the cache file that meets the cache eviction criterion.    
     
     
         16 . The computer-readable medium of  claim 15 , wherein the cache eviction criterion includes a fixed time period, an elapsed time since a previous request, a frequency of previous requests, and a quality metric.  
     
     
         17 . The computer-readable medium of  claim 15 , wherein the cache eviction criterion includes a location of the cached content within a cache file.  
     
     
         18 . The computer-readable medium of  claim 17 , wherein the location includes at least one of a central and a trailing segment of the cache file.  
     
     
         19 . The computer-readable medium of  claim 15 , further including storing said content in the cache file as payload data and as system data, and evicting from the cache memory the payload data of the determined portion of the cache file before evicting the system data of the determined portions.  
     
     
         20 . The computer-readable medium of  claim 19 , wherein the system data include metadata.

Join the waitlist — get patent alerts

Track US2002169926A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.