SYSTEM AND METHOD FOR FETCHING THE LATEST VERSIONS OF STORED DATA OBJECTS
0 Assignments
0 Petitions
Accused Products
Abstract
A distributed storage system may store data object instances in persistent storage and may cache keymap information for those data object instances. The system may cache a latest symbolic key entry for some user keys of the data object instances. When a request is made for the latest version of stored data object instances having a specified user key, the latest version may be determined dependent on whether a latest symbolic key entry exists for the specified user key, and keymap information for the latest version may be returned. When storing keymap information, a flag may be set to indicate that a corresponding latest symbolic key entry should be updated. The system may delete a latest symbolic key entry for a particular user key from the cache in response to determining that no other requests involving the keymap information for data object instances having the particular user key are pending.
7 Citations
53 Claims
-
1-33. -33. (canceled)
-
34. A method, comprising:
performing, by a computer system that stores a plurality of data objects in a distributed storage system; storing keymap entries for a plurality of data object versions stored in the distributed storage system, wherein keymap entries map a user key for a respective data object to a locator and the locator to a particular version of the data object; wherein when a new version of a respective data object is created, associating the new version with a version identifier indicating an ordering of the new version with other versions of the respective data object; wherein the keymap entries for versions of a data object are ordered according to respective version identifiers; receiving a request to retrieve a latest version of a data object, wherein the request specifies a user key for the requested data object but does not include a version identifier of the latest version of the requested data object; in response to receiving the request; locating the latest version of the requested data object based on the ordering of keymap entries associated with versions of the requested data object; and returning, in response to the request, the latest version of the data object. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43)
-
44. A non-transitory, computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computers to implement:
-
storing keymap entries for a plurality of data object versions stored in the distributed storage system, wherein keymap entries map a user key for a respective data object to a locator and the locator to a particular version of the data object; wherein when a new version of a respective data object is created, associating the new version with a version identifier indicating an ordering of the new version with other versions of the respective data object; wherein the keymap entries for versions of a data object are ordered according to respective version identifiers; receiving a request to retrieve a latest version of a data object, wherein the request specifies a user key for the requested data object but does not include a version identifier of the latest version of the requested data object; in response to receiving the request; locating the latest version of the requested data object based on the ordering of keymap entries associated with versions of the requested data object; returning, in response to the request, the latest version of the data object. - View Dependent Claims (47, 48)
-
- 45. Wherein the version identifier comprises a generation time for the respective data object version and wherein the keymap entries are ordered according to respective generation times for data object versions.
-
49. A system, comprising:
-
a distributed data store that stores a plurality of data objects; a cache; one or more processors; and a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to; store keymap entries for a plurality of data object versions stored in the distributed storage system, wherein keymap entries map a user key for a respective data object to a locator and the locator to a particular version of the data object; wherein when a new version of a respective data object is created, associating the new version with a version identifier indicating an ordering of the new version with other versions of the respective data object; wherein the keymap entries for versions of a data object are ordered according to respective version identifiers; receive a request to retrieve a latest version of a data object, wherein the request specifies a user key for the requested data object but does not include a version identifier of the latest version of the requested data object; in response to receiving the request; locate the latest version of the requested data object based on the ordering of keymap entries associated with versions of the requested data object; and return, in response to the request, the latest version of the data object. - View Dependent Claims (50, 51, 52, 53)
-
Specification