Cache optimization
AssigneeAmazon Technologies, Inc.
InventorsDavid R. Richardson, Christopher L. Scofield
Life of this patent
Estimating the term…
Abstract
A system and method for management and processing of resource requests at cache server computing devices is provided. Cache server computing devices segment content into an initialization fragment for storage in memory and one or more remaining fragments for storage in a media having higher latency than the memory. Upon receipt of a request for the content, a cache server computing device transmits the initialization fragment from the memory, retrieves the one or more remaining fragments, and transmits the one or more remaining fragments without retaining the one or more remaining fragments in the memory for subsequent processing.
Claims31
A computer-implemented method comprising:
- receiving, at a cache component, an object for storage;
- segmenting the object into a first fragment for storage in memory, a second fragment for storage in a first media having higher latency than the memory, and a third fragment for storage in a second media having higher latency than the first media, wherein the size of the first fragment is based on a latency associated with retrieval of the second fragment, and wherein the size of the second fragment is based on a latency associated with retrieval of the third fragment;
- receiving a request for the object at a cache component;
- transmitting the first fragment of the object from the memory;
- retrieving the second fragment of the object;
- transmitting the second fragment without retaining the second fragment in memory for subsequent processing;
- retrieving the third fragment of the object;
- transmitting the third fragment without retaining the third fragment in the memory for subsequent processing;
- collecting performance data associated with at least one of the retrieval of the second fragment and the transmission of the first fragment;
- and
- updating the size of the first fragment based on the collected performance data.
A computer-implemented method comprising:
- receiving a request for an object at a cache component;
- transmitting a first fragment of the object from memory;
- retrieving a second fragment of the object;
- transmitting the second fragment without retaining the second fragment in memory for subsequent processing;
- retrieving a third fragment of the object;
- transmitting the third fragment without retaining the third fragment in memory for subsequent processing;
- collecting performance data associated with at least one of the retrieval of the second fragment and the transmission of the first fragment;
- and
- updating the size of the first fragment based on the collected performance data.
A computer-implemented method comprising:
- receiving, at a cache component, an object for storage;
- segmenting the object into a first fragment for storage in memory, a second fragment for storage in a first media having higher latency than the memory, and a third fragment for storage in a second media having higher latency than the first media, wherein the size of the first fragment is based on a latency associated with retrieval of at least one of the second fragment and the third fragment;
- collecting performance data associated with retrieval of at least one of the second fragment and the third fragment;
- and
- updating the size of the first fragment based on the collected performance data.
A computer-implemented method comprising:
- receiving, at a cache component, an object for storage;
- segmenting the object into a first fragment for storage in memory, a second fragment for storage in a first media having higher latency than the memory, and a third fragment for storage in a second media having higher latency than the first media, wherein the size of the first fragment is based on a frequency of a first set of requests for the object;
- collecting request data associated with a second set of requests for the object;
- and
- updating the size of the first fragment based on the collected request data.
A computer-implemented method comprising:
- receiving, at a cache component, an object for storage;
- and
- segmenting the object into a first fragment for storage in memory, a second fragment for storage in a media having higher latency than the memory, and a third fragment for storage in a second media having higher latency than the first media, wherein the size of the first fragment is based on a frequency of a first set of requests for an object related to the requested object;
- collecting request data associated with a second set of requests for the object related to the requested object;
- and
- updating the size of the first fragment based on the collected request data.
A computer-implemented method comprising:
- receiving, at a cache component, an object for storage;
- determining a first fragment, a second fragment, and a third fragment for the object;
- associating a storage location in memory with the first fragment;
- associating a first storage location with the second fragment, wherein the associated first storage location of the second fragment corresponds to a first media having higher latency than the memory;
- associating a second storage location with the third fragment, wherein the associated second storage location of the third fragment corresponds to a second media having higher latency than the first media;
- collecting performance data associated with at least one of retrieval of the third fragment from the second storage location, the retrieval of the second fragment from the first storage location, and transmission of the first fragment;
- and
- associating a storage location in the memory with an incremental fragment, wherein the size of the incremental fragment is based on the collected performance data, and wherein the incremental fragment supplements the first fragment.
Dependencies are inferred from the claim text.