Namespace consistency for a wide-area file system
First Claim
1. A method for a wide-area file system, including a plurality of nodes storing replicas of objects, the objects being files and file directories, wherein for each replica of an object at a node, a parent directory for the object is replicated at the node, the method comprising:
- propagating an update to a replica of a file directory to other replicas of the file directory via a graph, wherein each replica of the file directory has edges to only a subset of the other replicas such that all the replicas of the file directory are connected via the graph; and
in response to receiving a propagated update to a replica of the file directory at a node, updating the replica for the file directory at the node.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention is a system for and a method of maintaining namespace consistency in a wide-area file system. In one embodiment, a wide-area file system has a plurality of replicas for a file. Each replica of a file and parent directories for the file are at a node. An update to a replica of the file is propagated to other replicas of the file. In response to receiving a propagated update to a replica at a node, the replica for the file at the node is updated. A directory operation (e.g., rename, link or unlink) may affect a backpointer for a replica. When a backpointer for a replica at a node is not consistent with the parent directories for the replica at the node, the the parent directories are modified to be consistent with the backpointer. A modification may be performed at a node while an earlier inconsistent modification may be ignored. As a result, consistency is maintained among the replicas.
-
Citations
29 Claims
-
1. A method for a wide-area file system, including a plurality of nodes storing replicas of objects, the objects being files and file directories, wherein for each replica of an object at a node, a parent directory for the object is replicated at the node, the method comprising:
-
propagating an update to a replica of a file directory to other replicas of the file directory via a graph, wherein each replica of the file directory has edges to only a subset of the other replicas such that all the replicas of the file directory are connected via the graph; and in response to receiving a propagated update to a replica of the file directory at a node, updating the replica for the file directory at the node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system including:
-
a plurality of nodes that store replicas of objects, the objects being files and file directories, wherein for each replica of an object at a node, the node stores a replica of a parent directory for the object and a backpointer having an identification of the parent directory for the object, and wherein each replica of a file directory has edges to only a subset of the other replicas of the file directory such that all the replicas of the file directory are connected via the graph and the nodes are configured to propagate updates to replicas of each file directory to other replicas of the file directory via the graph. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification