Techniques for cache updates based on quality of service
First Claim
1. A method for processing requests, the method comprising:
- recording a profile comprising information regarding one or more prior requests from a client to a server;
receiving, from the client at the server, a request to apply a first update that updates a primary copy of first data stored on non-volatile storage of the server, a cached copy of the first data additionally being stored in a cache of the server, whereby the server is configured such that said cache is arranged on the server separate to the non-volatile storage and provides quicker client access to the first data than the non-volatile storage;
detecting a behavioral pattern in connection with prior requests by evaluating the information recorded in the profile, wherein the detected behavioral pattern describes an urgency by which a prior request from the client to the server to update data stored on the server was followed by a request from the client to the server to retrieve the updated data;
based on the detected behavioral pattern, determining one of a first or a second quality of service as a quality of service to be applied in connection with the received request, wherein the first quality of service includes applying the first update to both the primary copy of the first data and the cached copy of the first data and notifying the client of completion upon both the primary copy and the cached copy of the first data being updated with the first update, and wherein the second quality of service includes applying the first update to the primary copy of the first data and notifying the client of completion independent of whether or not the cached copy of the first data has been updated with the first update;
performing periodic cache update processing that, at each occurrence of a time interval, updates cached copies of data stored in the cache of the server using corresponding primary copies of data from the server;
responsive to said receiving of the request, applying the first update to the primary copy of the first data stored on non-volatile storage of the server; and
determining, in accordance with the quality of service, whether to perform an additional update to the cache to apply the first update to the cached copy of the first data stored in the cache of the server, wherein said additional update is an out of band cache update operation performed in addition to cache updating performed by said periodic cache update processing.
10 Assignments
0 Petitions
Accused Products
Abstract
Described are techniques for processing requests. A profile is recorded comprising a plurality of prior requests from a client to a server. The plurality of prior requests associated with first data. A cached copy of the first data is stored in a cache of the server. A quality of service associated with the received request is determined for affecting when the update is applied to the cached copy of first data. The quality of service associated with the received request is dependent on the prior requests in the profile. The first update is applied to the first data. In accordance with the quality of service, the first update is applied to the cached copy of the first data.
34 Citations
20 Claims
-
1. A method for processing requests, the method comprising:
-
recording a profile comprising information regarding one or more prior requests from a client to a server; receiving, from the client at the server, a request to apply a first update that updates a primary copy of first data stored on non-volatile storage of the server, a cached copy of the first data additionally being stored in a cache of the server, whereby the server is configured such that said cache is arranged on the server separate to the non-volatile storage and provides quicker client access to the first data than the non-volatile storage; detecting a behavioral pattern in connection with prior requests by evaluating the information recorded in the profile, wherein the detected behavioral pattern describes an urgency by which a prior request from the client to the server to update data stored on the server was followed by a request from the client to the server to retrieve the updated data; based on the detected behavioral pattern, determining one of a first or a second quality of service as a quality of service to be applied in connection with the received request, wherein the first quality of service includes applying the first update to both the primary copy of the first data and the cached copy of the first data and notifying the client of completion upon both the primary copy and the cached copy of the first data being updated with the first update, and wherein the second quality of service includes applying the first update to the primary copy of the first data and notifying the client of completion independent of whether or not the cached copy of the first data has been updated with the first update; performing periodic cache update processing that, at each occurrence of a time interval, updates cached copies of data stored in the cache of the server using corresponding primary copies of data from the server; responsive to said receiving of the request, applying the first update to the primary copy of the first data stored on non-volatile storage of the server; and determining, in accordance with the quality of service, whether to perform an additional update to the cache to apply the first update to the cached copy of the first data stored in the cache of the server, wherein said additional update is an out of band cache update operation performed in addition to cache updating performed by said periodic cache update processing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium comprising code stored thereon for processing requests, the computer readable medium comprising code stored thereon for:
-
recording a profile comprising information regarding one or more prior requests from a client to a server; receiving, from the client at the server, a request to apply a first update that updates a primary copy of first data stored on non-volatile storage of the server, a cached copy of the first data additionally being stored in a cache of the server, whereby the server is configured such that said cache is arranged on the server separate to the non-volatile storage and provides quicker client access to the first data than the non-volatile storage; detecting a behavioral pattern in connection with prior requests by evaluating the information recorded in the profile, wherein the detected behavioral pattern describes an urgency by which a prior request from the client to the server to update data stored on the server was followed by a request from the client to the server to retrieve the updated data; based on the detected behavioral pattern, determining one of a first or a second quality of service as a quality of service to be applied in connection with the received request, wherein the first quality of service includes applying the first update to both the primary copy of the first data and the cached copy of the first data and notifying the client of completion upon both the primary copy and the cached copy of the first data being updated with the first update, and wherein the second quality of service includes applying the first update to the primary copy of the first data and notifying the client of completion independent of whether or not the cached copy of the first data has been updated with the first update; performing periodic cache update processing that, at each occurrence of a time interval, updates cached copies of data stored in the cache of the server using corresponding primary copies of data from the server; responsive to said receiving of the request, applying the first update to the primary copy of the first data stored on non-volatile storage of the server; and determining, in accordance with the quality of service, whether to perform an additional update to the cache to apply the first update to the cached copy of the first data stored in the cache of the server, wherein said additional update is an out of band cache update operation performed in addition to cache updating performed by said periodic cache update processing. - View Dependent Claims (18, 19)
-
-
20. A system comprising:
-
a client; and a server in communication with said client, the server including a memory comprising code stored therein for processing requests, the memory comprising code stored therein for; recording a profile comprising information regarding one or more prior requests from the client to the server; receiving, from the client at the server, a request to apply a first update that updates a primary copy of first data stored on non-volatile storage of the server, a cached copy of the first data additionally being stored in a cache of the server, whereby the server is configured such that said cache is arranged on the server separate to the non-volatile storage and provides quicker client access to the first data than the non-volatile storage; detecting a behavioral pattern in connection with prior requests by evaluating the information recorded in the profile, wherein the detected behavioral pattern describes an urgency by which a prior request from the client to the server to update data stored on the server was followed by a request from the client to the server to retrieve the updated data; based on the detected behavioral pattern, determining one of a first or a second quality of service as a quality of service to be applied in connection with the received request, wherein the first quality of service includes applying the first update to both the primary copy of the first data and the cached copy of the first data and notifying the client of completion upon both the primary copy and the cached copy of the first data being updated with the first update, and wherein the second quality of service includes applying the first update to the primary copy of the first data and notifying the client of completion independent of whether or not the cached copy of the first data has been updated with the first update; performing periodic cache update processing that, at each occurrence of a time interval, updates cached copies of data stored in the cache of the server using corresponding primary copies of data from the server; responsive to said receiving of the request, applying the first update to the primary copy of the first data stored on non-volatile storage of the server; and determining, in accordance with the quality of service, whether to perform an additional update to the cache to apply the first update to the cached copy of the first data stored in the cache of the server, wherein said additional update is an out of band cache update operation performed in addition to cache updating performed by said periodic cache update processing.
-
Specification