Clustered network acceleration devices having shared cache
First Claim
Patent Images
1. A method for sharing a cache within a cluster of intermediate network devices positioned between a client device and a network server, the method comprising:
- intercepting, with a first intermediate network device of the cluster of intermediate network devices, a content request from the client device that requests network content stored to the network server, wherein the first intermediate network device does not include the shared-cache of the cluster;
generating and issuing, with a cache client executing within the first intermediate network device, a cache access request in response to the content request intercepted from the client device, wherein the cache access request is separate from the content request and requests the network content of the content request, and wherein the cache access request is generated in accordance with a cache message protocol that is different from a protocol to which the intercepted content request corresponds;
receiving, with a second intermediate network device of the cluster of intermediate network devices, the cache access request in accordance with the cache message protocol, wherein the second intermediate network device includes the cache and provides the cache as a shared cache of network content for the cluster of intermediate network devices, and wherein the second intermediate network device transparently services the cache access request as if the cache access request was generated by a local cache client executing within the second intermediate network device;
accessing, with the second intermediate network device, the cache based on the cache access request received from the first intermediate network device to determine whether the cache contains the requested content; and
transmitting, with the second intermediate network device, the requested content to the first intermediate network device after determining that the cache contains the requested content.
1 Assignment
0 Petitions
Accused Products
Abstract
A network acceleration device provides application programming interface (API) that facilitates the sharing of cache resources among multiple network acceleration devices, thereby allowing the network acceleration devices to be clustered and share a common cache of network content. This clustered approach may advantageously allow clients serviced by one network acceleration device to benefit from previous network access requests issued by clients serviced by a different network acceleration device of the cluster.
-
Citations
23 Claims
-
1. A method for sharing a cache within a cluster of intermediate network devices positioned between a client device and a network server, the method comprising:
-
intercepting, with a first intermediate network device of the cluster of intermediate network devices, a content request from the client device that requests network content stored to the network server, wherein the first intermediate network device does not include the shared-cache of the cluster; generating and issuing, with a cache client executing within the first intermediate network device, a cache access request in response to the content request intercepted from the client device, wherein the cache access request is separate from the content request and requests the network content of the content request, and wherein the cache access request is generated in accordance with a cache message protocol that is different from a protocol to which the intercepted content request corresponds; receiving, with a second intermediate network device of the cluster of intermediate network devices, the cache access request in accordance with the cache message protocol, wherein the second intermediate network device includes the cache and provides the cache as a shared cache of network content for the cluster of intermediate network devices, and wherein the second intermediate network device transparently services the cache access request as if the cache access request was generated by a local cache client executing within the second intermediate network device; accessing, with the second intermediate network device, the cache based on the cache access request received from the first intermediate network device to determine whether the cache contains the requested content; and transmitting, with the second intermediate network device, the requested content to the first intermediate network device after determining that the cache contains the requested content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An intermediate network device of a cluster of intermediate network devices positioned between one or more client devices and one or more server devices, the intermediate network device comprising:
-
a cache that stores content previously requested by the client devices from the server devices, wherein the cache is shared by the intermediate network device with the cluster of intermediate network devices; and a cache engine executing on the intermediate network device that services cache access requests from one or more remote cache clients executing within each of one or more other intermediate network devices of the cluster of intermediate network devices, wherein the cache engine provides a network-based cache message protocol that is different from a protocol to which content requests correspond for receiving the cache access requests from the remote cache clients executing within each of one or more of the other intermediate network devices, wherein the remote cache clients intercept the content requests for the content originating from the client devices, generate the cache access requests in accordance with the network-based cache message protocol, and issue the cache access requests to the intermediate network device, wherein these cache access requests are separate from the content request, wherein each of the one or more other intermediate network devices do not include a cache, wherein the cache engine accesses the cache based on the cache access requests received from the one or more other intermediate network devices to determine whether the cache contains the requested content and transmits the requested content to the one or more other intermediate network devices after determining that the cache contains the requested content, and wherein the cache engine transparently services the cache access requests as if the cache access requests were generated by a local cache client executing within the second intermediate network device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable medium comprising instructions for causing a programmable processor to share a cache with a cluster of intermediate network devices located between a client device and a network server, wherein the instructions cause the processor to:
-
receive a cache access request from a remote cache client executing within a first intermediate network device of the cluster of intermediate network devices with a second intermediate network device of the cluster of intermediate network devices that includes the cache, wherein the cache access request requests content from the cache of the second intermediate network device via a network-based cache message protocol, wherein the first intermediate network device does not include a cache and the second intermediate network device provides the cache as a shared cache of network content for the cluster of intermediate network devices, wherein the cache client intercepts a content request originated from the client device that requests the content from the network server, generates the cache access request in accordance with the network-based cache message protocol that is different from a protocol to which the intercepted content request corresponds, and issues the cache access request to the second intermediate network device, wherein the cache access request is separate from the intercepted content request; access, with the second intermediate network device, the cache based on the cache access request to determine whether the cache contains the requested content, wherein the access of the cache occurs transparent to the second intermediate device as if the cache access request was generated by a local cache client executing within the second intermediate network device; and transmit, with the second intermediate network device, the requested content in accordance with the network-based cache message protocol based on the determination. - View Dependent Claims (21, 22)
-
-
23. A system comprising:
-
at network server that serves content; at least one of a plurality of client devices that issues a content request requesting the content served by the network server; a cluster of intermediate network devices that share a cache, wherein each of the intermediate network devices couple to a different set of the plurality of client devices, wherein a first intermediate network device of the cluster includes the cache and a second intermediate network device of the cluster does not include the cache, wherein the first intermediate network device provides the cache as a shared cache for the second intermediate network device, wherein a second intermediate network device of the cluster includes a control unit that intercepts the content request and spawns a remote cache client on the second intermediate network device in response to intercepting the content request, wherein the remote cache client executing on the second intermediate network device generates a cache access request in accordance with a network-based cache message protocol that is different from a protocol to which the intercepted content request corresponds based on the content request and issues the cache access request to the first intermediate network device, wherein the cache access request is separate from the content request, wherein the first intermediate device provides the network-based cache message protocol for receiving the cache access request from the remote cache client executing within the second intermediate network device, and wherein the first intermediate network device further includes a cache engine that receives the cache access request in accordance with the network-based cache message protocol, accesses the cache based on the cache access request received from second intermediate network device to determine whether the cache contains the requested content and transmits the requested content to the second intermediate network device after determining that the cache contains the requested content, and wherein the cache engine transparently services the cache access request as if the cache access request were generated by a local cache client executing within the second intermediate network device.
-
Specification