Replication and replica management in a wide area file system
First Claim
Patent Images
1. A method of managing replicated files for a wide-area distributed file system, the method comprising:
- storing at least three replicas of a file, each replica being located at a corresponding one of a plurality of computer nodes connected by a graph and each replica having an indication of its location in the file system;
accessing one of the replicas for performing a write operation thereby making an update to the replica; and
after the update is made, propagating the update to the other replicas in two phases by sending a harbinger for the update along the graph to the other computer nodes that store the replicas in a first phase, the harbinger being other than the update, and, in response to the harbinger, receiving a request for the update from one or more of the other computer nodes in a second phase,wherein the indication for each replica comprises a directory identifier and file name for the replica,wherein the update comprises a delta that describes a change to a portion of the file, andwherein the harbinger includes a timestamp corresponding to the update.
4 Assignments
0 Petitions
Accused Products
Abstract
An embodiment of the invention provides a method and apparatus for constructing and maintaining a consistent hierarchical namespace in a wide-area distributed file system, where individual files and directories are replicated in the system. An embodiment of the invention provides a method and apparatus for achieving eventual data (file contents) and metadata (directory contents) consistency in a wide-area distributed file system.
95 Citations
35 Claims
-
1. A method of managing replicated files for a wide-area distributed file system, the method comprising:
-
storing at least three replicas of a file, each replica being located at a corresponding one of a plurality of computer nodes connected by a graph and each replica having an indication of its location in the file system; accessing one of the replicas for performing a write operation thereby making an update to the replica; and after the update is made, propagating the update to the other replicas in two phases by sending a harbinger for the update along the graph to the other computer nodes that store the replicas in a first phase, the harbinger being other than the update, and, in response to the harbinger, receiving a request for the update from one or more of the other computer nodes in a second phase, wherein the indication for each replica comprises a directory identifier and file name for the replica, wherein the update comprises a delta that describes a change to a portion of the file, and wherein the harbinger includes a timestamp corresponding to the update. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for managing replicated files for a wide-area distributed file system, the system comprising a plurality of computer nodes connected by a graph for storing at least three replicas of a file, each replica being located at a corresponding one of the computer nodes and each replica having an indication of its location in the file system, wherein in response to one of the replicas at a first one of the computer nodes is being accessed for performing a write operation thereby making an update to the replica and, the first one of the computer nodes is configured to after the update is made, propagate the update to the other replicas in two phases by sending a harbinger for the update along the graph to the other computer nodes that store the replicas in a first phase, the harbinger being other than the update, and, in response to the harbinger, the first one or the computer nodes is configured to receive a request for the update from one or more of the other computer nodes in a second phase,
wherein the indication for each replica comprises a directory identifier and file name for the replica, wherein the update comprises a delta that describes a change to a portion of the file, and wherein the harbinger includes a timestamp corresponding to the update.
-
35. An article of manufacture comprising a machine-readable medium having stored thereon instructions for implementing a method of managing replicated files for a wide-area distributed file system, the method comprising:
-
storing at least three replicas of a file, each replica being located at a corresponding one of a plurality of computer nodes connected by a graph and each replica having an indication of its location in the file system; accessing one of the replicas for performing a write operation thereby making an update to the replica; and after the update is made, propagating the update to the other replicas in two phases by sending a harbinger for the update along the graph to the other computer nodes that store the replicas in a first phase, the harbinger being other than the update, and, in response to the harbinger, receiving a request for the update from one or more of the other computer nodes in a second phase, wherein the indication for each replica comprises a directory identifier and file name for the replica, wherein the update comprises a delta that describes a change to a portion of the file, and wherein the harbinger includes a timestamp corresponding to the update.
-
Specification