Method and system for self-tuning cache management
First Claim
1. A method for caching objects in a self-tuning cache memory, comprising:
- employing a hardware processor for;
(a) performing operations during a convergence phase, comprising repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase;
(a1) receiving a request (hit) for an object having a predetermined time to live;
(a2) caching the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory;
(a3) adjusting the hit threshold HT as a function of the convergence cache size threshold;
(a4) increasing the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects and(a5) terminating the convergence phase provided a duration of the convergence phase is greater than or equal to the TTL_avg;
thus filling the cache memory with most popular objects.
4 Assignments
0 Petitions
Accused Products
Abstract
Web objects, such as media files are sent through an adaptation server which includes a transcoder for adapting forwarded objects according to profiles of the receiving destinations, and a cache memory for caching frequently requested objects, including their adapted versions. The probability of additional requests for the same object before the object expires, is assessed by tracking hits. Only objects having experienced hits in excess of a hit threshold are cached, the hit threshold being adaptively adjusted based on the capacity of the cache, and the space required to store cached media files. Expired objects are collected in a list, and may be periodically ejected from the cache, or when the cache is nearly full.
-
Citations
22 Claims
-
1. A method for caching objects in a self-tuning cache memory, comprising:
-
employing a hardware processor for; (a) performing operations during a convergence phase, comprising repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase; (a1) receiving a request (hit) for an object having a predetermined time to live; (a2) caching the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) adjusting the hit threshold HT as a function of the convergence cache size threshold; (a4) increasing the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects and (a5) terminating the convergence phase provided a duration of the convergence phase is greater than or equal to the TTL_avg; thus filling the cache memory with most popular objects. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for caching objects in a self-tuning cache memory, comprising:
-
employing a hardware processor for; (a) performing operations during a convergence phase, comprising repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase; (a1) receiving a request (hit) for an object having a predetermined time to live; (a2) caching the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) adjusting the hit threshold HT as a function of the convergence cache size threshold, a total cache memory usage, the cache size threshold, a time interval for cache update, and an average time to live time of non-expired objects; and (a4) increasing the convergence cache size threshold as the function of the average time to live of non-expired objects thus filling the cache memory with most popular objects. - View Dependent Claims (7)
-
-
8. A method for caching objects in a self-tuning cache memory, comprising:
-
employing a hardware processor for; (a) performing operations during a convergence phase, comprising repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase; (a1) receiving a request (hit) for an object having a predetermined time to live; (a2) caching the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) adjusting the hit threshold HT as a function of the convergence cache size threshold; and (a4) increasing the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects; further comprising determining the convergence cache size threshold as a function of; an elapse time; a start time; the average time to live time of non-expired objects; and the cache size threshold thus filling the cache memory with most popular objects. - View Dependent Claims (9)
-
-
10. A method for caching objects in a self-tuning cache memory, comprising:
-
employing a hardware processor for; (a) performing operations during a convergence phase, comprising repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase; (a1) receiving a request (hit) for an object having a predetermined time to live; (a2) caching the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) dynamically adjusting the hit threshold HT as a function of the convergence cache size threshold; and (a4) increasing the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects; the method further comprising; adapting the object into an adapted object according to a destination profile; and determining a hit threshold for caching adapted objects, by reducing the hit threshold HT as a function of an average size reduction of adapted objects with respect to a size of respective objects from which the adapted objects were adapted thus filling the cache memory with most popular objects. - View Dependent Claims (11)
-
-
12. A system for caching objects in a self-tuning cache memory, the system comprising:
-
a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to; (a) perform operations at a convergence phase, repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase, causing the processor to; (a1) receive a request (hit) for an object having a predetermined time to live; (a2) cache the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) adjust the hit threshold HT as a function of the convergence cache size threshold; (a4) increase the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects; and (a5) terminate the convergence phase provided a duration of the convergence phase is greater than or equal to the TTL_avg; thus filling the cache memory with most popular objects. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system for caching objects in a self-tuning cache memory, the system comprising:
-
a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to; (a) perform operations at a convergence phase, repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase, causing the processor to; (a1) receive a request (hit) for an object having a predetermined time to live; (a2) cache the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) adjust the hit threshold HT as a function of the convergence cache size threshold, a total cache memory usage, the cache size threshold, a time interval for cache update, and an average time to live time of non-expired objects; and (a4) increase the convergence cache size threshold as a function of the average time to live of non-expired objects; thus filling the cache memory with most popular objects. - View Dependent Claims (18)
-
-
19. A system for caching objects in a self-tuning cache memory, the system comprising:
-
a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to; (a) perform operations at a convergence phase, repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase, causing the processor to; (a1) receive a request (hit) for an object having a predetermined time to live; (a2) cache the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) adjust the hit threshold HT as a function of the convergence cache size threshold; and (a4) increase the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects; wherein the computer readable instructions further cause the processor to determine the convergence cache size threshold as a function of; an elapse time; a start time; the average time to live time of non-expired objects; and the cache size threshold; thus filling the cache memory with most popular objects. - View Dependent Claims (20)
-
-
21. A system for caching objects in a self-tuning cache memory, the system comprising:
-
a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by a processor, causing the processor to; (a) perform operations at a convergence phase, repeating until a convergence cache size threshold reaches a cache size threshold, the cache size threshold being lower than a cache memory capacity, the convergence cache size threshold being a target cache usage during the convergence phase, causing the processor to; (a1) receive a request (hit) for an object having a predetermined time to live; (a2) cache the object after receiving an Nth request for the object, N being greater than a hit threshold HT, provided there is space available in the cache memory; (a3) dynamically adjust the hit threshold HT as a function of the convergence cache size threshold; and (a4) increase the convergence cache size threshold as a function of an average time to live (TTL_avg), the TTL_avg being an average time to live time of non-expired objects; wherein the computer readable instructions further cause the processor to; adapt the object into an adapted object according to a destination profile; and determine a hit threshold for caching adapted objects, by reducing the hit threshold HT as a function of an average size reduction of adapted objects with respect to a size of respective objects from which the adapted objects were adapted; thus filling the cache memory with most popular objects. - View Dependent Claims (22)
-
Specification