Processing

Please wait...

Settings

Settings

Goto Application

1. WO2016153779 - HIERARCHICAL COST BASED CACHING FOR ONLINE MEDIA

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

WE CLAIM:

1. A method of operating a first cache device, the method comprising:

receiving, at the first cache device, a request to send a first asset to a second device; determining whether the first asset is stored at the first cache device; and

when the determining determines that the first asset is not stored at the first cache device,

obtaining, at the first cache device, the first asset,

calculating a cost associated with the first asset,

selectively storing the first asset at the first cache device based on a moving average of a marginal value of the first asset with respect to the first cache device and a characteristic marginal value of the first cache device, the characteristic marginal value of the first cache device representing a cost conscious average period of time between receipt of last requests for, and eviction of, assets cached at the first cache, and

sending the first asset and the calculated cost to the second device.

2. The method of claim 1, wherein the first cache is one of a plurality of cache devices of a content distribution network divided into a plurality of hierarchy levels, and the method further comprises:

for each of the plurality of cache devices,

determining a moving average of the marginal value of a requested asset, when a request for the requested asset is received by a respective one of the plurality of cache devices, and

determining a characteristic marginal value associated with a respective one of the plurality of cache devices, when the cache device evicts an asset.

3. The method of claim 2, wherein the obtaining obtains the first asset and an obtained cost associated therewith from a higher level of the plurality of hierarchy levels, and the calculating the cost includes adding a marginal cost to the obtained cost if the selectively storing does not store the first asset.

^

4. The method of claim 1, further comprising:

determining the characteristic marginal value of the first cache device by,

initializing the characteristic marginal value of the first cache device as a value which is higher than the initialized value of the moving average of the marginal value of the first asset with respect to the first cache device, and

updating the characteristic marginal value of the first cache device based on exponentially weighted moving average of periods of time between receipt of last requests for, and eviction of, assets cached at the first cache device and the cost associated with the assets, in accordance with a least recently used cache eviction policy.

5. The method of claim 1, further comprising:

determining the moving average of the marginal value of the first asset with respect to the first cache device by,

initializing the moving average of the marginal value of the first asset with respect to first cache device as a value lower than the initialized value of the characteristic marginal value of the first cache device, and

updating the moving average of the marginal value of the first asset with respect to the first cache device based on exponentially weighted moving average of periods of time between consecutive receipts of requests for the first asset and the cost associated with the first asset, at the first cache device, the requests requesting the first cache device to send the first asset to another device.

6. The method of claim 1, wherein the selectively storing includes,

assigning the first asset to a first database, when an initial request for the first asset is received at the first cache device; and

when a second request is received consecutively with respect to the initial request, determining an inter-arrival time of the first asset based on times at which the initial and second requests were received at the first cache device, and

if a number of assets stored in an inter-arrival database is greater than or equal to a threshold then,

determining a second asset to remove from an inter-arrival database based on which of a plurality of assets stored in the inter-arrival database has a largest

^

marginal value associated therewith that decreases as the cost associated with the second asset increases, the inter-arrival time database storing arrival times of requests corresponding to assets, the inter-arrival time database being different than the first database, and

removing the second asset from the inter-arrival database; and assigning the first asset to the inter-arrival time database.

7. The method of claim 6, further comprising:

determining the marginal value of the assets by dividing a last requested time of each of the plurality of assets by the cost associated therewith, wherein

the cost associated with the first asset represents one or more of a number of hops between a source of the first asset and the first cache device and a latency the first asset encountered therebetween.

8. A first cache device comprising:

a processor and a memory, the memory containing computer readable code that, when executed by the processor, configures the processor to,

receive a request to send a first asset to a second device,

determine whether the first asset is stored at the first cache device, and when the processor determines that the first asset is not stored at the first cache device, the processor is configured to,

obtain, at the first cache device, the first asset,

calculate a cost associated with the first asset,

selectively store the first asset at the first cache device based on a moving average of a marginal value of the first asset with respect to the first cache device and a characteristic marginal value of the first cache device, the characteristic marginal value of the first cache device representing a cost conscious average period of time between receipt of last requests for, and eviction of, assets cached at the first cache, and

send the obtained first asset and the calculated cost to the second device.

9. The first cache device of claim 8, wherein,

^

the first cache is one of a plurality of cache devices of a content distribution network divided into a plurality of hierarchy levels, each of the plurality of cache devices having a processor associated therewith, and

each one of the plurality of cache devices is configured to,

determine a moving average of the marginal value of a requested asset, when a request for the requested asset is received by a respective one of the plurality of cache devices, and

determine a characteristic marginal value associated with a respective one of the plurality of cache devices, when the cache device evicts an asset.

10. The first cache device of claim 9, wherein the processor is configured to, obtain the first asset and an obtained cost associated therewith from a higher level of the plurality of hierarchy levels,

calculate the cost by adding a marginal cost to the obtained cost if the processor determines not to store he first asset, and

selectively store the first asset by,

assigning the first asset to a first database, when an initial request for the first asset is received at the first cache device;

if a number of assets stored in an inter-arrival database is greater than or equal to a threshold when a second request is received consecutively with respect to the initial request then,

determining an inter-arrival time of the first asset based on times at which the initial and second requests were received at the first cache device, and

determining a second asset to remove from an inter-arrival database based on which of a plurality of assets stored in the inter-arrival database has a largest marginal value associated therewith that decreases as the cost associated with the second asset increases, the inter-arrival time database storing arrival times of requests corresponding to assets, the inter-arrival time database being different than the first database, and

removing the second asset from the inter-arrival database; and assigning the first asset to the inter-arrival time database.

^