Choreographed caching
First Claim
Patent Images
1. A computer implemented method comprising:
- monitoring, by a computing device, requests received on a plurality of routing devices for application data corresponding to a network resource identifier;
aggregating the requests over a caching time window to derive an aggregated number of requests received on the plurality of routing devices;
determining that the aggregated number of requests received within the caching time window is above a caching threshold;
in response to determining the aggregated number of requests is above the caching threshold, notifying one or more of the plurality of routing devices to cache the application data;
after notifying the one or more of the plurality of routing devices to cache the application data, monitoring subsequent requests received on the plurality of routing devices for the application data;
aggregating the subsequent requests over a de-caching time window to derive an aggregated number of subsequent requests received on the plurality of routing devices;
determining that the aggregated number of subsequent requests received within the de-caching time window is below a de-caching threshold; and
in response to determining the aggregated number of subsequent requests is below the de-caching threshold, notifying the one or more of the plurality of routing devices to de-cache the application data.
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
18 Claims
-
1. A computer implemented method comprising:
-
monitoring, by a computing device, requests received on a plurality of routing devices for application data corresponding to a network resource identifier; aggregating the requests over a caching time window to derive an aggregated number of requests received on the plurality of routing devices; determining that the aggregated number of requests received within the caching time window is above a caching threshold; in response to determining the aggregated number of requests is above the caching threshold, notifying one or more of the plurality of routing devices to cache the application data; after notifying the one or more of the plurality of routing devices to cache the application data, monitoring subsequent requests received on the plurality of routing devices for the application data; aggregating the subsequent requests over a de-caching time window to derive an aggregated number of subsequent requests received on the plurality of routing devices; determining that the aggregated number of subsequent requests received within the de-caching time window is below a de-caching threshold; and in response to determining the aggregated number of subsequent requests is below the de-caching threshold, notifying the one or more of the plurality of routing devices to de-cache the application data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
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; monitoring requests received on a plurality of routing devices for application data corresponding to a network resource identifier; aggregating the requests over a caching time window to derive an aggregated number of requests received on the plurality of routing devices; determining that the aggregated number of requests received within the caching time window is above a caching threshold; in response to determining the aggregated number of requests is above the caching threshold, notifying one or more of the plurality of routing devices to cache the application data; after notifying the one or more of the plurality of routing devices to cache the application data, monitoring subsequent requests received on the plurality of routing devices for the application data; aggregating the subsequent requests over a de-caching time window to derive an aggregated number of subsequent requests received on the plurality of routing devices; determining that the aggregated number of subsequent requests received within the de-caching time window is below a de-caching threshold; and in response to determining the aggregated number of subsequent requests is below the de-caching threshold, notifying the one or more of the plurality of routing devices to de-cache the application data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations comprising:
-
monitoring requests received on a plurality of routing devices for application data corresponding to a network resource identifier; aggregating the requests over a caching time window to derive an aggregated number of requests received on the plurality of routing devices; determining that the aggregated number of requests received within the caching time window is above a caching threshold; in response to determining the aggregated number of requests is above the caching threshold, notifying one or more of the plurality of routing devices to cache the application data; after notifying the one or more of the plurality of routing devices to cache the application data, monitoring subsequent requests received on the plurality of routing devices for the application data; aggregating the subsequent requests over a de-caching time window to derive an aggregated number of subsequent requests received on the plurality of routing devices; determining that the aggregated number of subsequent requests received within the de-caching time window is below a de-caching threshold; and in response to determining the aggregated number of subsequent requests is below the de-caching threshold, notifying the one or more of the plurality of routing devices to de-cache the application data. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification