System and method for achieving deferred invalidation consistency
First Claim
Patent Images
1. In a system having a plurality of storage elements, a method for maintaining stored objects in the plurality of storage elements, comprising the steps of:
- storing an object in a plurality of storage elements;
in response to a request to update the object determining a future invalidation time when the object will be invalidated in storage elements currently storing the object, the invalidation time including a time selected such that each of the plurality of storage elements has either received notification of an update pursuant to the request or has declared itself failed;
delaying updating the object until the invalidation time has passed; and
updating the object after the invalidation time has passed to maintain consistency for the object across the plurality of storage elements by allowing the storage elements to serve an old version of the object until all active storage elements are ready to serve a new updated version of the object.
1 Assignment
0 Petitions
Accused Products
Abstract
In a system having a plurality of caches, a method for maintaining cached objects includes storing an object in a plurality of caches. In response to a request to update the object, a future invalidation time is determined when the object should be invalidated in caches currently storing the object. Updating of the object is delayed until the invalidation time has passed.
165 Citations
28 Claims
-
1. In a system having a plurality of storage elements, a method for maintaining stored objects in the plurality of storage elements, comprising the steps of:
-
storing an object in a plurality of storage elements; in response to a request to update the object determining a future invalidation time when the object will be invalidated in storage elements currently storing the object, the invalidation time including a time selected such that each of the plurality of storage elements has either received notification of an update pursuant to the request or has declared itself failed; delaying updating the object until the invalidation time has passed; and updating the object after the invalidation time has passed to maintain consistency for the object across the plurality of storage elements by allowing the storage elements to serve an old version of the object until all active storage elements are ready to serve a new updated version of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a method for maintaining stored objects in a plurality of storage elements, the method steps comprising:
-
storing an object in a plurality of storage elements; in response to a request to update the object, determining a future invalidation time when the object will be invalidated in storage elements currently storing the object, the invalidation time including a time selected such that each of the plurality of storage elements has either received notification of an update pursuant to the request or has declared itself failed; delaying updating the object until the invalidation time has passed; and updating the object after the invalidation time has passed to maintain consistency for the object across the plurality of storage elements by allowing the storage elements to serve an old version of the object until all active storage elements are ready to serve a new updated version of the object.
-
-
11. A method for maintaining stored objects comprising the steps of:
-
providing a plurality of storage elements; storing an object in a plurality of storage elements; requesting an update for the object; determining a future invalidation time when the object will be invalidated in storage elements currently storing the object, the invalidation time including a time selected such that each of the plurality of storage elements has either received notification of an update pursuant to the request or has declared itself failed; delaying updating the object until the invalidation time has passed; updating the object after the invalidation time has passed to maintain consistency for the object across the plurality of storage elements by allowing the storage elements to serve an old version of the object until all active storage elements are ready to serve a new updated version of the object. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for maintaining stored objects, the method steps comprising:
-
providing a plurality of storage elements; storing an object in a plurality of storage elements; requesting an update for the object; determining a future invalidation time when the object will be invalidated in storage elements currently storing the object, the invalidation time including a time selected such that each of the plurality of storage elements has either received notification of an update pursuant to the request or has declared itself failed; delaying updating the object until the invalidation time has passed updating the object after the invalidation time has passed to maintain consistency for the object across the plurality of storage elements by allowing the storage elements to serve an old version of the object until all active storage elements are ready to serve a new updated version of the object.
-
-
21. A system for maintaining stored objects consistently, comprising:
-
at least one object; a plurality of storage elements for storing the object; and a consistency coordinator which receives a request to update the object from at least one the storage elements and in response determines a future invalidation time when the object will be invalidated in storage elements currently storing the object, the invalidation time including a time selected such that each of the plurality of storage elements has either received notification of an update pursuant to the request or has declared itself failed; the storage elements delaying updating the object until the invalidation time has passed, such that the object is updated after the invalidation time has passed to maintain consistency for the object across the plurality of storage elements by allowing the storage elements to serve an old version of the object until all active storage elements are ready to serve a new updated version of the object. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
Specification