Modifying data structures in distributed file systems
First Claim
Patent Images
1. A method of software execution by a computer, comprising:
- using, by the computer, minitransactions that include a set of compare items and a set of write items stored in a host to atomically modify data structures in storage nodes of a distributed file system;
validating, by the computer, cached data stored in the host by comparing a version number of an inode stored in the host with a version number of the inode stored in one of the storage nodes; and
allowing, by the computer, the host to write to the data structures with the cached data when the version number of the inode stored in the host matches the version number of the inode stored in the one of the storage nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments include methods, apparatus, and systems for modifying data structures in distributed file systems. One method of software execution includes using minitransactions that include a set of compare items and a set of write items to atomically modify data structures in a distributed file system.
36 Citations
19 Claims
-
1. A method of software execution by a computer, comprising:
-
using, by the computer, minitransactions that include a set of compare items and a set of write items stored in a host to atomically modify data structures in storage nodes of a distributed file system; validating, by the computer, cached data stored in the host by comparing a version number of an inode stored in the host with a version number of the inode stored in one of the storage nodes; and allowing, by the computer, the host to write to the data structures with the cached data when the version number of the inode stored in the host matches the version number of the inode stored in the one of the storage nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium having instructions for causing a computer to execute a method, comprising:
-
forming at least one storage node that includes (1) an inode area having attributes of files in the storage node and (2) a data block area storing contents of the files; adding the storage node to a distributed file system in which a set of cluster nodes share files; storing contents of the inode area in one of the cluster nodes; determining that data stored in a cache of the one of the cluster nodes is valid by comparing contents of the inode area stored in the one of cluster nodes with contents of the inode area stored in the storage node; using the data stored in the cache to perform a write operation in the distributed file system when the data stored in the cache is valid; and changing attributes of the inode area by atomically modifying attributes of the inode area with a single minitransaction that verifies a version number in the inode area against a cached inode version number. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system, comprising:
-
a memory for storing an algorithm; and a processor for executing the algorithm to; transmit minitransactions between cluster nodes and storage nodes in a distributed file system, wherein the minitransactions include a set of compare items and a set of write items that atomically modify data structures in the distributed file system, and the minitransactions compare data of two inodes to validate contents of cached data stored in the cluster nodes by comparing a version of an inode stored in a host of the distributed file system with a version number of the inode stored in one of the storage nodes to allow the cluster nodes to modify the data structures with the contents of the cached data when the version number of the inode stored in the host matches the version number of the inode stored in the one of the storage nodes. - View Dependent Claims (16, 17, 18, 19)
-
Specification