Namespace management in a distributed file system
AssigneeHewlett-Packard Development Company, L.P.
InventorsChristos Karamanolis, Zheng Zhang
Life of this patent
Estimating the term…
Loading patent…
AssigneeHewlett-Packard Development Company, L.P.
InventorsChristos Karamanolis, Zheng Zhang
Estimating the term…
Method and system for performing a namespace operation in a distributed file system. The file system is disposed on a plurality of partition servers, and each partition server controls access to a subset of hierarchically-related, shared storage objects. Each namespace operation involves a namespace object and a target object that are part of the shared storage objects. Namespace operations received at each partition server are serialized. In response to an unlink namespace operation, a reference in the namespace object to the target object is removed, and after removal the target object is modified in accordance with the unlink operation. In response to a link operation, the target object is modified consistent with the link operation. After modification of the target object, a reference to the target object is inserted in the namespace object. A log record is stored in association with each namespace operation when the operation is started, and a log record is deleted upon completion of the associated operation.
A computer-implemented method for performing namespace operations in a distributed file system disposed on a plurality of partition servers, each partition server controlling access to a subset of shared storage objects in the distributed file system, wherein the shared storage objects are hierarchically related, and each namespace operation involves a namespace object and a target object that are part of the shared storage objects, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Information retrieval; Database structures therefor; File system structures therefor: file systems; File servers
Computing and data processing
Term ended 20 Aug 2022 (estimated)
The present invention generally relates to distributed file systems, and more particularly to management of a namespace in a distributed file system.
A partition-based approach to achieve high scalability for access to distributed storage services is currently being explored. The partition-based approach addresses the inherent scalability problems of cluster file systems, which are due to contention for the globally shared resources. In a partition-based approach, the resources of the system are divided into partitions, with each partition stored on a different partition server. Shared access is controlled on a per-partition basis.
All implementations of partition-based distributed storage services must maintain namespaces, which generally are distributed and reference objects that reside in multiple partitions. A namespace provides a mapping between names and physical objects in the system (e.g., files). A user usually refers to an object by a textual name. The textual name is mapped to a lower-level reference that identifies the actual object, including a location and object identifier. The namespace is implemented by means of directories, which are persistent files of <name, reference> pairs.
Various aspects and advantages of the invention will become apparent upon review of the following detailed description and upon reference to the drawings in which:
FIG. 1 is a functional block diagram of an example distributed file system that is implemented with partition servers;
FIG. 2 is a block diagram that illustrates links from example namespace objects to an example target object and links from the target objects back to the namespace object;
In various embodiments, the present invention provides a set of protocols for implementing the two main classes of operations (link and unlink) performed in distributed namespaces. The protocol minimizes the runtime overhead incurred in support of recoverability from host and communications failures by reducing the number of synchronous input/output operations in the critical path of the operation. In addition, the protocols avoid locking distributed resources by serializing operations at each partition server. In most failure scenarios, the protocols use aggressive recovery techniques to replay incomplete operations. Overall, the invention reduces communications overhead, reduces synchronous I/O and increases operation concurrency.
As described above, the two main classes of namespace operations are link and unlink. Other namespace operations can be either reduced to or composed by these two primitives. Table 1 below illustrates mappings of example file service operations to the associated namespace operations.
TABLE 1 File Service operation Namespace primitive(s) create/mkdir obtain a new object + link remove/rmdir/unlink unlink rename link (to_dir) + unlink(from_dir)