Object-level migration in a partition-based distributed file system
First Claim
1. A computer-implemented method for moving an object from a source partition server to a target partition server in a distributed file system having multiple partition servers, wherein each object has at least one associated and linked parent object, and each partition server owns a subset of objects of the file system, comprising:
- creating a copy in a target partition server of a selected object from a source partition server;
establishing at the source partition server a forwarding link that references the copy in the target partition server;
linking the copy to the parent object of the selected object; and
responding to requests for access to the selected object with the forwarding link.
3 Assignments
0 Petitions
Accused Products
Abstract
Method and system for moving an object from a source partition server to a target partition server in a distributed file system having multiple partition servers. Each object has at least one associated and linked parent object, and each partition server owns a subset of objects of the file system. The object migration is accomplished by creating a copy in a target partition server of a selected object from a source partition server. At the source partition server, a forwarding link is created that references the copy in the target partition server. The copy is linked to the parent object of the selected object, and requests for access to the selected object are responded to with the forwarding link.
86 Citations
19 Claims
-
1. A computer-implemented method for moving an object from a source partition server to a target partition server in a distributed file system having multiple partition servers, wherein each object has at least one associated and linked parent object, and each partition server owns a subset of objects of the file system, comprising:
-
creating a copy in a target partition server of a selected object from a source partition server;
establishing at the source partition server a forwarding link that references the copy in the target partition server;
linking the copy to the parent object of the selected object; and
responding to requests for access to the selected object with the forwarding link. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
creating a back pointer from the copy to the source-parent object; and
creating a forward pointer from the source-parent object to the copy.
-
-
6. The method of claim 5, further comprising deleting in the selected object a back pointer to the source-parent object.
-
7. The method of claim 6, further comprising:
-
temporarily creating the copy as a child of a target-parent object and creating a back pointer from the copy to the target-parent object; and
after creating the back pointer in the copy to the source-parent object, deleting the back-pointer to the target-parent object.
-
-
8. The method of claim 7, further comprising:
-
maintaining a reference count of links between the selected object and the at least one parent object;
adjusting the reference count as each link between the selected object and the at least one parent object is changed to reference the copy in the target partition server; and
returning the selected object and forwarding link to available space in the file system after a selected period of time that begins when the reference count indicates that no remaining namespace links reference the selected object.
-
-
9. The method of claim 1, further comprising:
-
queueing access requests from requesters for the selected object while creating the copy and establishing the forwarding link; and
responding with the forwarding link to requesters of queued access requests after the object has been moved.
-
-
10. An apparatus for moving an object from a source partition server to a target partition server in a distributed file system having multiple partition servers, wherein each object has at least one associated and linked parent object, and each partition server owns a subset of objects of the file system, comprising:
-
means for creating a copy in a target partition server of a selected object from a source partition server;
means for establishing at the source partition server a forwarding link that references the copy in the target partition server;
means for linking the copy to the parent object of the selected object; and
means for responding to requests for access to the selected object with the forwarding link.
-
-
11. A computer-readable medium configured with computer program code for moving an object from a source partition server to a target partition server in a distributed file system having multiple partition servers, wherein each object has at least one associated and linked parent object, and each partition server owns a subset of objects of the file system, the computer program code configured to cause a computer to perform the steps comprising:
-
creating a copy in a target partition server of a selected object from a source partition server;
establishing at the source partition server a forwarding link that references the copy in the target partition server;
linking the copy to the parent object of the selected object; and
responding to requests for access to the selected object with the forwarding link.
-
-
12. A distributed file management system, comprising:
-
a plurality of partition servers configured for ownership of a set of logical volumes of logically related file system objects, each partition server configured to control access to the set of logical volumes owned by the partition server, wherein each object has at least one associated and linked parent object;
wherein one of the partition servers functions as a source partition server and another of the partition servers functions as a target partition server in response to a migration request that specifies migration of a selected object from the source partition server to the target partition server, and each of the partition servers is adapted to selectably function as a source partition server or a target partition server;
wherein the target partition server is adapted to create a copy of the selected object from a source partition server, and link the copy to the parent object of the selected object; and
wherein the source partition server is adapted to establish a forwarding link that references the copy in the target partition server, and respond to requests for access to the selected object with the forwarding link. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification