Method and apparatus for moving subtrees in a distributed network directory
First Claim
1. A method of moving a partition in a distributed directory operating over a plurality of servers, said directory having a plurality of partitions with one or more objects in each of said partitions, said one or more objects including a root object, at least one of said plurality of servers having a replica of one or more of said plurality of partitions and having a hierarchy of superior and subordinate objects in which at least of one of the root objects is subordinate to a superior object, said method comprising the steps of:
- (a) identifying a target partition having a root object that is subordinate to a source object;
(b) identifying a destination object within a destination partition;
(c) requesting a move of the target partition from the source object to the destination object;
(d) identifying one or more relevant servers that hold one or more of;
(i) a replica of the target partition;
(ii) a replica of the destination partition;
or(iii) a reference to an object in the target partition; and
(e) moving the target partition using at least one of the steps of;
(i) changing in each relevant server the subordination of the root object in the target partition from the source object to the destination object if such relevant server has at least one of the following;
(A) a replica of the target partition and a replica of the destination partition;
(B) a replica of the target partition and a reference to the root object of the destination partition;
(C) a replica of the target partition and neither a replica of the destination partition nor a reference to the root object of the destination partition;
or(D) a reference to the root object of the target partition and a reference to the root object of the destination partition;
(ii) creating in each relevant server a reference to the root object of the target partition if such relevant server has at least one of the following;
(A) a reference to the root object of the target partition and a replica of the destination partition;
or(B) neither a replica of the target partition nor a reference to the root object of the target partition and a replica of the destination partition;
or(iii) creating in each relevant server a reference to the destination object if such relevant server has a reference to the root object of the target partition and neither a replica of the destination partition nor a reference to the root object of the destination partition.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of moving leaf objects and subtrees in computer networks that employ a distributed network directory is disclosed. The method employs the existing directories and an authentication procedure for each server. A first object that is under the physical control of the administrator of one partition of the distributed network directory requests access to a second object that is under the physical control of the administrator of another partition of the distributed network directory. The directory verifies that the access control list of the first object includes the second object. The access control list of the second object is then checked to verify that it includes a reference to the first object as an object that is permitted access to the second object. As a result, access is only granted in response to requests from objects that appear in the access control list of the second object. a method of synchronizing the access control lists based upon an authoritative access control list is also disclosed.
-
Citations
21 Claims
-
1. A method of moving a partition in a distributed directory operating over a plurality of servers, said directory having a plurality of partitions with one or more objects in each of said partitions, said one or more objects including a root object, at least one of said plurality of servers having a replica of one or more of said plurality of partitions and having a hierarchy of superior and subordinate objects in which at least of one of the root objects is subordinate to a superior object, said method comprising the steps of:
-
(a) identifying a target partition having a root object that is subordinate to a source object; (b) identifying a destination object within a destination partition; (c) requesting a move of the target partition from the source object to the destination object; (d) identifying one or more relevant servers that hold one or more of; (i) a replica of the target partition; (ii) a replica of the destination partition;
or(iii) a reference to an object in the target partition; and (e) moving the target partition using at least one of the steps of; (i) changing in each relevant server the subordination of the root object in the target partition from the source object to the destination object if such relevant server has at least one of the following; (A) a replica of the target partition and a replica of the destination partition; (B) a replica of the target partition and a reference to the root object of the destination partition; (C) a replica of the target partition and neither a replica of the destination partition nor a reference to the root object of the destination partition;
or(D) a reference to the root object of the target partition and a reference to the root object of the destination partition; (ii) creating in each relevant server a reference to the root object of the target partition if such relevant server has at least one of the following; (A) a reference to the root object of the target partition and a replica of the destination partition;
or(B) neither a replica of the target partition nor a reference to the root object of the target partition and a replica of the destination partition;
or(iii) creating in each relevant server a reference to the destination object if such relevant server has a reference to the root object of the target partition and neither a replica of the destination partition nor a reference to the root object of the destination partition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of changing the subordination of a partition in a distributed directory operating over a plurality of servers, said directory having a plurality of partitions with one or more objects in each of said partitions, said one or more objects including a root object, at least one of said plurality of servers having a replica of one or more of said plurality of partitions and having a hierarchy of superior and subordinate objects in which at least of one of the root objects is subordinate to a superior object, said method comprising the steps of:
-
(a) identifying a target partition having a root object that is subordinate to a source object; (b) identifying a destination object within a destination partition; (c) requesting a change in the subordination of the root object of the target partition from the source object to the destination object; (d) identifying one or more relevant servers that hold one or more of; (i) a replica of the target partition; (ii) a replica of the destination partition;
or(iii) a reference to an object in the target partition; (e) changing the subordination of the target partition by changing in each relevant server the subordination of the root object in the target partition from the source object to the destination object if such relevant server has at least one of the following; (i) a replica of the target partition and a replica of the destination partition; (ii) a replica of the target partition and a reference to the root object of the destination partition; (iii) a replica of the target partition and neither a replica of the destination partition nor a reference to the root object of the destination partition;
or(iv) a reference to the root object of the target partition and a reference to the root object of the destination partition. - View Dependent Claims (14, 15)
-
-
16. A method of changing the subordination of a partition in a distributed directory operating over a plurality of servers, said directory having a plurality of partitions with one or more objects in each of said partitions, said one or more objects including a root object, at least one of said plurality of servers having a replica of one or more of said plurality of partitions and having a hierarchy of superior and subordinate objects in which at least of one of the root objects is subordinate to a superior object, said method comprising the steps of:
-
(a) identifying a target partition having a root object that is subordinate to a source object; (b) identifying a destination object within a destination partition; (c) requesting a change in the subordination of the root object of the target partition from the source object to the destination object; (d) identifying one or more relevant servers that hold one or more of; (i) a replica of the target partition; (ii) a replica of the destination partition;
or(iii) a reference to an object in the target partition; (e) changing the subordination of the target partition by creating in each relevant server a reference to the root object of the target partition if such relevant server has at least one of the following; (i) a reference to the root object of the target partition and a replica of the destination partition;
or(ii) neither a replica of the target partition nor a reference to the root object of the target partition and a replica of the destination partition. - View Dependent Claims (17, 18)
-
-
19. A method of changing the subordination of a partition in a distributed directory operating over a plurality of servers, said directory having a plurality of partitions with one or more objects in each of said partitions, said one or more objects including a root object, at least one of said plurality of servers having a replica of one or more of said plurality of partitions and having a hierarchy of superior and subordinate objects in which at least of one of the root objects is subordinate to a superior object, said method comprising the steps of:
-
(a) identifying a target partition having a root object that is subordinate to a source object; (b) identifying a destination object within a destination partition; (c) requesting a change in the subordination of the root object of the target partition from the source object to the destination object; (d) identifying one or more relevant servers that hold one or more of; (i) a replica of the target partition; (ii) a replica of the destination partition;
or(iii) a reference to an object in the target partition; (e) changing the subordination of the target partition by creating in each relevant server a reference to the destination object if such relevant server has a reference to the root object of the target partition and neither a replica of the destination partition nor a reference to the root object of the destination partition. - View Dependent Claims (20, 21)
-
Specification