Network-aware caching
First Claim
1. A system, comprising:
- one or more computing devices configured to implement a network-aware caching system, wherein the one or more computing devices include a client computing device, and wherein the network-aware caching system is configured to;
determine performance characteristics comprising respective access characteristics of a plurality of storage locations as measured by the client computing device, wherein the plurality of storage locations comprise one or more dedicated storage locations of the client computing device and one or more shared network-access storage locations accessible to the client computing device over a network;
receive, from the client computing device, a request to access data wherein the requested access comprises read access, write access, or read/write access, and wherein the data is currently stored at one of the plurality of storage locations;
in response to the request or a user access pattern including the request, determine whether to cache the data based at least in part on differences between respective ones of the performance characteristics, and in response to a determination to cache the data;
select one of the plurality of storage locations for caching the data, wherein the selected storage location is determined based at least in part on the performance characteristics;
cache the data in the selected storage location, wherein to cache the data in the selected storage location the network-aware caching system is configured to;
copy the data to the selected storage location; and
maintain a copy of the data at the selected storage location such that updates to the data by a computing device other than the client computing device are reflected in the copy of the data at the selected storage location; and
implement the read access, write access, or read/write access based on the cached data.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for implementing network-aware caching are disclosed. Respective performance characteristics are determined for accessing a plurality of storage locations from a client computing device. The storage locations comprise one or more shared network-access storage locations accessible to the client computing device over a network and optionally one or more dedicated storage locations of the client computing device. One of the storage locations is selected for storing data to which access is requested by the client computing device. The selected storage location is determined based on the respective performance characteristics of the storage locations. The data is cached in the selected storage location.
18 Citations
20 Claims
-
1. A system, comprising:
one or more computing devices configured to implement a network-aware caching system, wherein the one or more computing devices include a client computing device, and wherein the network-aware caching system is configured to; determine performance characteristics comprising respective access characteristics of a plurality of storage locations as measured by the client computing device, wherein the plurality of storage locations comprise one or more dedicated storage locations of the client computing device and one or more shared network-access storage locations accessible to the client computing device over a network; receive, from the client computing device, a request to access data wherein the requested access comprises read access, write access, or read/write access, and wherein the data is currently stored at one of the plurality of storage locations; in response to the request or a user access pattern including the request, determine whether to cache the data based at least in part on differences between respective ones of the performance characteristics, and in response to a determination to cache the data; select one of the plurality of storage locations for caching the data, wherein the selected storage location is determined based at least in part on the performance characteristics; cache the data in the selected storage location, wherein to cache the data in the selected storage location the network-aware caching system is configured to; copy the data to the selected storage location; and maintain a copy of the data at the selected storage location such that updates to the data by a computing device other than the client computing device are reflected in the copy of the data at the selected storage location; and implement the read access, write access, or read/write access based on the cached data. - View Dependent Claims (2, 3, 4)
-
5. A computer-implemented method, comprising:
-
determining performance characteristics comprising respective access characteristics of a plurality of storage locations as measured by a client computing device, wherein the plurality of storage locations comprise one or more dedicated storage locations managed by the client computing device and one or more shared network-access storage locations accessible to the client computing device over a network; determining whether to cache data to which access is requested by the client computing device based at least in part on differences between respective ones of the performance characteristics, wherein the data is currently stored at one of the plurality of storage locations, and in response to a determination to cache the data; selecting one of the plurality of storage locations for caching the data, wherein the selected storage location is determined based at least in part on the performance characteristics; and caching the data in the selected storage location, comprising; copying the data to the selected storage location; and maintaining the copy of the data at the selected storage location such that updates to the data by a computing device other than the client computing device are reflected in the copy of the data at the selected storage location. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform:
-
determining performance characteristics comprising respective access characteristics of a plurality of storage locations as measured by a client computing device, wherein the plurality of storage devices comprise one or more dedicated storage devices managed by the client computing device and one or more shared storage devices accessible to the client computing device over a network; determining whether to cache data to which access is requested by the client computing device based at least in part on differences between respective ones of the performance characteristics, wherein the data is currently stored at one of the plurality of storage locations, and in response to a determination to cache the data; selecting one of the plurality of storage locations for caching the data, wherein the selected storage location is determined based at least in part on the performance characteristics; and causing the data to be cached on the selected storage device, comprising; causing the data to be copied to the selected storage location; and causing the copy of the data to be maintained at the selected storage location such that updates to the data by a computing device other than the client computing device are reflected in the copy of the data at the selected storage location. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification