Highly efficient guarantee of data consistency
AssigneeNetApp, Inc.
InventorsRichard P. Jernigan, IV, Robert Wyckoff Hyer, Jr., John R. Boyles
Life of this patent
Estimating the term…
Abstract
The disclosed embodiments are directed to improving the efficiency of guaranteeing data consistency to clients, such as for one or more objects stored on a plurality of volumes configured as a Striped Volume Set. In particular, the disclosed embodiments optimize requests from clients which span multiple Data Volumes and which require strong serialization. The disclosed embodiments provide a “viral ticket book” model that provides lower latency while improving compatibility with client protocols.
Claims24
A storage architecture for enabling a sequence of operations with respect to an object, comprising:
- a storage element in communication with a first storage, the first storage comprising at least a portion of an object;
- and
- a network element in communication with the storage element, the network element comprising a cache of a first ticket book associated with the object, wherein a ticket book is a data structure comprising a plurality of different modification time attributes,
- wherein the network element is configured to:
- receive a request to perform an operation upon the at least a portion of the object;
- and
- forward at least a portion of the request in conjunction with an indication of what timestamps of the first ticket book have been returned previously to a client, to the storage element,
- wherein the storage element is configured to request a second ticket book based on the first ticket book, and
- wherein the plurality of different modification time attributes of the first ticket book and the plurality of different modification time attributes of the second ticket book comprise non-overlapping ranges of time stamps allocated before receipt of the request to perform the operation.
A method of enabling a sequence of operations with respect to an object in a file system, the method comprising:
- receiving, at a network element, a request to perform an operation upon at least a portion of an object stored on at least one storage device in communication with a storage element;
- forwarding from the network element to the storage element, at least a portion of the request in conjunction with an indication of what timestamps of a first ticket book stored at the network element have been returned previously to a client, wherein a ticket book is a data structure comprising a plurality of different modification time attributes;
- and
- requesting, at the storage element, a second ticket book based on the first ticket book,
- wherein the plurality of different modification time attributes of the first ticket book and the plurality of different modification time attributes of the second ticket book comprise non-overlapping ranges of time stamps allocated before receipt of the request to perform the operation.
At least one non-transitory computer-readable medium comprising instructions configured to cause a storage system to:
- receive, at a network element, a request to perform an operation upon at least a portion of an object stored on at least one storage device in communication with a storage element;
- forward from the network element to the storage element, at least a portion of the request in conjunction with an indication of what timestamps of a first ticket book stored at the network element have been returned previously to a client, wherein a ticket book is a data structure comprising a plurality of different modification time attributes;
- and
- request at the storage element, a second ticket book based on the first ticket book,
- wherein the first plurality of different modification time attributes of the ticket book and the plurality of different modification time attributes of the second ticket book comprise non-overlapping ranges of time stamps allocated before receipt of the request to perform the operation.
Dependencies are inferred from the claim text.