Intranet distributed caching
First Claim
Patent Images
1. A method, comprising:
- receiving, on a first routing device of a plurality of routing devices, a request for application data including a data file;
determining that the data file is to be cached based on previous requests for the data file;
determining a size of the data file and an amount of available memory on the first routing device for caching data;
determining, using the size of the data file and an amount of available memory on the first routing device, that the data file will be cached across multiple routing devices;
determining, using the amount of available memory on the first routing device, a first portion of the data file and a second portion of the data file distinct from the first portion, wherein a size of the first portion of the data file is less than or equal to the amount of available memory on the first routing device;
caching the first portion of the data file at the first routing device;
determining, by the first routing device, that a second routing device of the plurality of routing devices has an amount of available memory sufficient for caching the second portion of the data file; and
sending, by the first routing device, a notification to the second routing device of the plurality of routing devices to cache the second portion of the data file that is not being cached at the first routing device.
2 Assignments
0 Petitions
Accused Products
Abstract
A routing device capable of performing application layer data caching is described. Application data caching at a routing device can alleviate the bottleneck that an application data host may experience during high demands for application data. Requests for the application data can also be fulfilled faster by eliminating the network delays for communicating with the application data host. The techniques described can also be used to perform analysis of the underlying application data in the network traffic transiting though a routing device.
-
Citations
30 Claims
-
1. A method, comprising:
-
receiving, on a first routing device of a plurality of routing devices, a request for application data including a data file; determining that the data file is to be cached based on previous requests for the data file; determining a size of the data file and an amount of available memory on the first routing device for caching data; determining, using the size of the data file and an amount of available memory on the first routing device, that the data file will be cached across multiple routing devices; determining, using the amount of available memory on the first routing device, a first portion of the data file and a second portion of the data file distinct from the first portion, wherein a size of the first portion of the data file is less than or equal to the amount of available memory on the first routing device; caching the first portion of the data file at the first routing device; determining, by the first routing device, that a second routing device of the plurality of routing devices has an amount of available memory sufficient for caching the second portion of the data file; and sending, by the first routing device, a notification to the second routing device of the plurality of routing devices to cache the second portion of the data file that is not being cached at the first routing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 25, 26)
-
-
9. A routing device, comprising:
-
an application data cache; one or more data processors; and a non-transitory computer readable storage medium containing instructions, which when executed on the one or more data processors, cause the one or more processors to perform operations including; receiving, on a first routing device of a plurality of routing devices, a request for application data including a data file; determining that the data file is to be cached based on previous requests for the data file; determining a size of the data file and an amount of available memory on the first routing device for caching data; determining, using the size of the data file and an amount of available memory on the first routing device, that the data file will be cached across multiple routing devices; determining, using the amount of available memory on the first routing device, a first portion of the data file and a second portion of the data file distinct from the first portion, wherein a size of the first portion of the data file is less than or equal to the amount of available memory on the first routing device; caching the first portion of the data file at the first routing device; determining, by the first routing device, that a second routing device of the plurality of routing devices has an amount of available memory sufficient for caching the second portion of the data file; and sending, by the first routing device, a notification to the second routing device of the plurality of routing devices to cache the second portion of the data file that is not being cached at the first routing device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 27, 28)
-
-
17. A non-transitory computer-readable storage medium having instructions stored thereon, which when executed by a computing device, cause the computing device to:
-
receive, on a first routing device of a plurality of routing devices, a request for application data including a data file; determine that the data file is to be cached based on previous requests for the data file; determine a size of the data file and an amount of available memory on the first routing device for caching data; determine, using the size of the data file and an amount of available memory on the first routing device, that the data file will be cached across multiple routing devices; determine, using the amount of available memory on the first routing device, a first portion of the data file and a second portion of the data file distinct from the first portion, wherein a size of the first portion of the data file is less than or equal to the amount of available memory on the first routing device; cache the first portion of the data file at the first routing device; determine, by the first routing device, that a second routing device of the plurality of routing devices has an amount of available memory sufficient for caching the second portion of the data file; and send, by the first routing device, a notification to the second routing device of the plurality of routing devices to cache the second portion of the data file that is not being cached at the first routing device. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 29, 30)
-
Specification