Method for incremental rename propagation between hierarchical file name spaces
First Claim
1. In a computer networking environment comprising a local file system name space (FSNS) and at least one remote FSNS, said local FSNS containing a plurality of local objects comprising local files and local directories containing other local directories or said local files, each of said at least one remote FSNS containing a plurality of remote objects comprising remote files and remote directories containing other remote directories or said remote files, a method for propagating a rename of local objects from said local FSNS to said at least one remote FSNS, the method comprising the steps of:
- generating a rename list for any of said local objects that have been renamed in said local FSNS, said rename list comprising an unique object identification, an old name, and a new name for each renamed local object;
adjusting any of said old names and said new names in said rename list when any local directory containing said renamed local objects has been renamed in said local FSNS and the rename of said any local directory has been propagated to said at least one remote FSNS;
building object rename sets in said local FSNS for said renamed local objects identified by said rename list, each object rename set comprising the unique object identification, the old name, and the new name for its renamed local object;
renaming any of said remote objects that have been renamed in said at least one remote FSNS to an old name when the renamed remote objects are in rename conflict with any of said renamed local objects; and
propagating the rename of said renamed local objects to said at least one remote FSNS by renaming said remote objects according to said object sets, said propagating step further comprising the step of renaming any of said remote objects having an original name which occupies the new name of any of said renamed local objects.
1 Assignment
0 Petitions
Accused Products
Abstract
A rename tracking and propagation facility propagates renames, executed in multiple isolated file system name spaces (FSNS), to a remote FSNS on a per object basis without corruption of the remote FSNS names. In propagating an object'"'"'s rename, the smallest set of additional object'"'"'s renames which must be applied in the remote FSNS in order to apply the object'"'"'s rename in the remote FSNS is determined. The set of renames is applied in the correct order, in the remote FSNS, accounting for those renames already propagated to the remote FSNS. A record of renames executed in a FSNS is utilized to determine which renames are to propagated. To accommodate parallel development (multiple users modifying part of the fill system all the time without explicit locking), name collisions in the remote FSNS are detected and resolved. These sets of renames are constructed such that they can be applied to the remote FSNS in any order. Though this may result in the application of renames in a different order in the remote FSNS, the application of renames in the remote FSNS succeeds and ultimately the remote FSNS will be exactly the same as the local FSNS. Since these sets of renames commute, objects can be propagated between FSNS'"'"'s in any order and at any time without corrupting the remote FSNS.
-
Citations
2 Claims
-
1. In a computer networking environment comprising a local file system name space (FSNS) and at least one remote FSNS, said local FSNS containing a plurality of local objects comprising local files and local directories containing other local directories or said local files, each of said at least one remote FSNS containing a plurality of remote objects comprising remote files and remote directories containing other remote directories or said remote files, a method for propagating a rename of local objects from said local FSNS to said at least one remote FSNS, the method comprising the steps of:
-
generating a rename list for any of said local objects that have been renamed in said local FSNS, said rename list comprising an unique object identification, an old name, and a new name for each renamed local object; adjusting any of said old names and said new names in said rename list when any local directory containing said renamed local objects has been renamed in said local FSNS and the rename of said any local directory has been propagated to said at least one remote FSNS; building object rename sets in said local FSNS for said renamed local objects identified by said rename list, each object rename set comprising the unique object identification, the old name, and the new name for its renamed local object; renaming any of said remote objects that have been renamed in said at least one remote FSNS to an old name when the renamed remote objects are in rename conflict with any of said renamed local objects; and propagating the rename of said renamed local objects to said at least one remote FSNS by renaming said remote objects according to said object sets, said propagating step further comprising the step of renaming any of said remote objects having an original name which occupies the new name of any of said renamed local objects. - View Dependent Claims (2)
-
Specification