Cache invalidation technique with spurious resource change indications
First Claim
1. A server invalidation method for use by a server that maintains a client list for a resource, the method comprising transmitting an invalidation message for said resource to at least one of the clients on said client list, said invalidation message being transmitted even though said resource did not change subsequent to said resource having been served to said client.
1 Assignment
0 Petitions
Accused Products
Abstract
A Web server maintains, for one or more resources, a respective list of clients who requested that resource. The server takes on the responsibility of notifying all of those clients on when the resource in question changes, thereby letting them know that if the resource is again asked for by a user, an updated copy will have to be requested from the origin server. The server thereupon purges the client list, and then begins rebuilding it as subsequent requests come in for the resource in question. Invalidation messages are sent to selected “victim” clients on the client list, independent of whether the resource in question has changed, when the list meets a predetermined criterion, such as becoming too large. The victim clients may include clients who access the server less frequently than others, clients who have accessed the server in the more distant past than other clients, i.e., using a first-in-first methodology, or clients who have not subscribed to a service that keeps them from being victim clients. Review of a client list to determine whether it meets the selected criterion can be invoked every time a client gets added to a client list or on a scheduled basis.
-
Citations
47 Claims
- 1. A server invalidation method for use by a server that maintains a client list for a resource, the method comprising transmitting an invalidation message for said resource to at least one of the clients on said client list, said invalidation message being transmitted even though said resource did not change subsequent to said resource having been served to said client.
-
12. A method for use by a server that serves at least one resource, the method comprising:
-
maintaining a list of clients to whom a particular version of a resource was sent by said server, and transmitting to at least one of said clients on said client list an invalidation message indicative of the fact that a newer version of said resource is available to be served by said server, said invalidation message being transmitted even though said server is still responding to requests for said resource by serving said particular version of said resource. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for use by a server comprising:
-
maintaining client lists each associated with a respective one of a plurality of resources, responding to a request from a client for an individual one of said resources by a) causing the requested resource to be served to said client, b) placing said client on a particular client list, said particular client list being the list associated with the requested resource, and c) causing said client to thereafter utilize a cached copy of the requested resource without fist determining from said server whether said requested resource had changed, responsive to there being a change in said resource a) sending an invalidation message to at least ones of the clients on said particular client list, said invalidation message being indicative of the fact that the resource has changed since it was served to said at least ones of said clients and b) removing said at least ones of said clients from said particular client list, and sending an invalidation message to at least one of the clients on said particular client list in response to said particular client list meeting a predetermined criterion. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. An article of manufacture, comprising a machine accessible medium having instructions encoded thereon for enabling a server that serves at least one resource to perform the operations of:
-
maintaining a list of clients to whom a particular version of a resource was sent by said server, and transmitting to at least one of said clients on said client list an invalidation message indicative of the fact that a newer version of said resource is available to be served from said server, said invalidation message being transmitted even though said server is still responding to requests from said particular resource by serving said particular version of said resource. - View Dependent Claims (35, 36, 37)
-
-
38. A server adapted to:
-
maintain a client list associated with each of a plurality of resources, respond to a request from a client for an individual one of said resources by a) causing the requested resource to be served to said client and b) placing said client on a particular client list, said particular client list being the list associated with the requested resource, in response to there being a change in said resource a) send an invalidation message to at least ones of the clients on said particular client list, said invalidation message being indicative of the fact that the resource has changed since it was served to said at least ones of said clients and b) remove said at least ones of said clients from said particular client list, and send an invalidation message to at least one of the clients on said particular client list in response to said particular client list meeting a predetermined criterion. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification