← Back to Patent Explorer
US5758344A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for moving subtrees in a distributed network directory

Assignee: Oracle International Corp
•
Filing: 1996-10-31
•
Granted: 1998-05-26
•
Expires: 2016-10-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Ranjan Prasad
  • 👤 Dale R. Olds

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 01:27
CPC Classifications
H; H04; H04L; H04L41/00; H04L41/22; G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/282; H04L61/00; H04L61/45; H04L61/4505; H04L61/4517; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/955; Y10S707/956; Y10S707/964; Y10S707/966; Y10S707/971; Y10S707/972; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 285 words
A method in a computer system for reorganizing a distributed directory, said method comprising the steps of: (a) identifying a source subtree having a root object directly subordinate to a parent object; (b) identifying a destination object within a destination subtree; (c) creating a list of computers; (d) for each computer on the list having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, changing in each such computer the direct subordination of the root object in the source subtree from the parent object to the destination object; (e) for each computer on the list having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, creating in each such computer a reference to the source subtree; and (f) for each computer on the list having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, creating in each such computer a reference to the destination object.
Claim 2
Independent Claim 285 words
A method in a computer system for reorganizing a distributed directory, said method comprising the steps of: (a) identifying a source subtree having a root object directly subordinate to a parent object; (b) identifying a destination object within a destination subtree; (c) creating a list of computers; (d) for each computer on the list having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, changing in each such computer the direct subordination of the root object in the source subtree from the parent object to the destination object; (e) for each computer on the list having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, creating in each such computer a reference to the source subtree; and (f) for each computer on the list having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, creating in each such computer a reference to the destination object.
Claim 3
Dependent Claim 34 words
A method as recited in claim 1, wherein step (d) is achieved by switching in the local record of each such computer the root object's parent from the parent object to the destination object.
Claim 4
Dependent Claim 21 words
A method as recited in claim 1, wherein step (e) is achieved by creating a subordinate reference for the source subtree.
Claim 5
Dependent Claim 21 words
A method as recited in claim 1, wherein step (f) is achieved by creating an external reference for the destination object.
Claim 6
Dependent Claim 24 words
A method as recited in claim 1, wherein one of the computers is a master server holding a master replica of the source subtree.
Claim 7
Dependent Claim 32 words
A method as recited in claim 5, further comprising in step (e) the step of informing the master server to add the subordinate reference to the replica list of the source subtree.
Claim 8
Dependent Claim 28 words
A method as recited in claim 5, further comprising in step (f) the step of informing the master server to create a back link to each such computer.
Claim 9
Dependent Claim 27 words
A method as recited in claim 5, wherein the master server sends a request to each of the computers on the list to move the source subtree.
Claim 10
Dependent Claim 20 words
A computer system as recited in claim 1, wherein the source and destination subtrees are partitions in the distributed directory.
Claim 11
Dependent Claim 16 words
A method as recited in claim 1, wherein the computers are interconnected in a client/server network.
Claim 12
Dependent Claim 18 words
A method as recited in claim 10, wherein the reorganization is initiated by a client in the network.
Claim 13
Dependent Claim 51 words
A computer system as recited in claim 10, wherein the list of computers includes one or more servers that hold one or more of the following: (a) a replica of the source subtree; (b) a replica of the destination subtree; or (c) a reference to an object in the source subtree.
Claim 14
Dependent Claim 294 words
A computer readable medium comprising a program for reorganizing a distributed directory having a hierarchy of objects, said program being operative to perform the steps of: (a) identifying a source subtree having a root object directly subordinate to a parent object, (b) identifying a destination object within a destination subtree; (c) creating a list of computers; (d) for each computer on the list having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, changing in each such computer the direct subordination of the root object in the source subtree from the parent object to the destination object; (e) for each computer on the list having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, creating in each such computer a reference to the source subtree; and (f) for each computer on the list having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, creating in each such computer a reference to the destination object.
Claim 15
Dependent Claim 294 words
A computer readable medium comprising a program for reorganizing a distributed directory having a hierarchy of objects, said program being operative to perform the steps of: (a) identifying a source subtree having a root object directly subordinate to a parent object, (b) identifying a destination object within a destination subtree; (c) creating a list of computers; (d) for each computer on the list having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, changing in each such computer the direct subordination of the root object in the source subtree from the parent object to the destination object; (e) for each computer on the list having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, creating in each such computer a reference to the source subtree; and (f) for each computer on the list having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, creating in each such computer a reference to the destination object.
Claim 16
Dependent Claim 166 words
A computer system, comprising: (a) a plurality of objects, said objects including: i. a parent object, ii. a root object, and iii. a destination object; (b) a plurality of pointers defining a hierarchy in the objects, said hierarchy including: i. a source subtree holding the root object, wherein the root object is the child of the parent object, and ii. a destination subtree holding the destination object; (c) a plurality of computers, wherein one or more of said plurality of computers stores replicas of one or more of said objects and at least a portion of said plurality of pointers; and (d) a reorganization mechanism operative to reorganize the hierarchy by modifying the pointers in one or more of the plurality of computers such that the parent of the root object of the source subtree is changed to the destination object of the destination subtree, and the root object of the source subtree is no longer a child of the parent object of the parent subtree.
Claim 17
Dependent Claim 166 words
A computer system, comprising: (a) a plurality of objects, said objects including: i. a parent object, ii. a root object, and iii. a destination object; (b) a plurality of pointers defining a hierarchy in the objects, said hierarchy including: i. a source subtree holding the root object, wherein the root object is the child of the parent object, and ii. a destination subtree holding the destination object; (c) a plurality of computers, wherein one or more of said plurality of computers stores replicas of one or more of said objects and at least a portion of said plurality of pointers; and (d) a reorganization mechanism operative to reorganize the hierarchy by modifying the pointers in one or more of the plurality of computers such that the parent of the root object of the source subtree is changed to the destination object of the destination subtree, and the root object of the source subtree is no longer a child of the parent object of the parent subtree.
Claim 18
Dependent Claim 248 words
A computer system as recited in claim 14, wherein the reorganization mechanism performs one or more of the following steps: (a) for each computer having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, changing in each such computer the parent of the root object in the source subtree from the parent object to the destination object; (b) for each computer having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, creating in each such computer a reference to the source subtree; and (c) for each computer having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, creating in each such computer a reference to the destination object.
Claim 19
Dependent Claim 35 words
A computer system as recited in claim 15, wherein step (a) is achieved by switching in the local record of each such computer the root object's parent from the parent object to the destination object.
Claim 20
Dependent Claim 22 words
A computer system as recited in claim 15, wherein step (b) is achieved by creating a subordinate reference for the source subtree.
Claim 21
Dependent Claim 22 words
A computer system as recited in claim 15, wherein step (c) is achieved by creating an external reference for the destination object.
Claim 22
Dependent Claim 25 words
A computer system as recited in claim 15, wherein one of said computers is a master server holding a master replica of the source subtree.
Claim 23
Dependent Claim 33 words
A computer system as recited in claim 19, further comprising in step (b) the step of informing the master server to add the subordinate reference to the replica list of the source subtree.
Claim 24
Dependent Claim 30 words
A computer system as recited in claim 19, further comprising in step (c) the step of informing the master server to create a back link to each such relevant server.
Claim 25
Dependent Claim 25 words
A computer system as recited in claim 19, wherein the master server sends a request to each of the computers to move the source subtree.
Claim 26
Dependent Claim 19 words
A computer system as recited in claim 14, wherein the plurality of computers are interconnected in a client/server network.
Claim 27
Dependent Claim 17 words
A computer system as recited in claim 14, wherein the hierarchy of objects comprises a distributed directory.
Claim 28
Dependent Claim 20 words
A computer system as recited in claim 24, wherein the source and destination subtrees are partitions in the distributed directory.
Claim 29
Independent Claim 137 words
A method in a computer network of reorganizing a distributed directory, comprising the steps of: (a) sending a request to move a source subtree from a parent object in a parent subtree to a destination object in a destination subtree; (b) checking whether the requested move is permitted, and terminating the method if the request is not permitted; (c) if an object is being renamed in the request, recording the new and old names of such object; (d) creating a list of computers; (e) modifying the pointers in one or more of the computers on the list such that the root object of the source subtree is directly subordinate to the destination object of the destination subtree, and the root object of the source subtree is not directly subordinate to the parent object of the parent subtree.
Claim 30
Independent Claim 137 words
A method in a computer network of reorganizing a distributed directory, comprising the steps of: (a) sending a request to move a source subtree from a parent object in a parent subtree to a destination object in a destination subtree; (b) checking whether the requested move is permitted, and terminating the method if the request is not permitted; (c) if an object is being renamed in the request, recording the new and old names of such object; (d) creating a list of computers; (e) modifying the pointers in one or more of the computers on the list such that the root object of the source subtree is directly subordinate to the destination object of the destination subtree, and the root object of the source subtree is not directly subordinate to the parent object of the parent subtree.
Claim 31
Dependent Claim 67 words
A method as recited in claim 26, wherein the checking step comprises one or more of the following steps: (a) enforcing access control; (b) enforcing directory schema rules; (c) checking whether the object of the server holding the master replica of the destination subtree is itself involved in an reorganization unrelated to the client's request; or (d) checking whether a software version can support the requested move.
Claim 32
Dependent Claim 34 words
A method as recited in claim 26, further comprising the step of checking whether the parent and destination subtrees overlap, and locking the parent subtree if the parent and destination subtrees do not overlap.
Claim 33
Dependent Claim 20 words
A method as recited in claim 26, wherein the source, parent and destination subtrees are partitions in the distributed directory.
Claim 34
Dependent Claim 257 words
A method as recited in claim 26 wherein step (e) is achieved by one or more of the following steps: (a) for each computer on the list having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, changing in each such computer the parent of the root object in the source subtree from the parent object to the destination object; (b) for each computer on the list having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, creating in each such computer a reference to the source subtree; and (c) for each computer on the list having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, creating in each such computer a reference to the destination object.
Claim 35
Dependent Claim 319 words
A computer system, comprising: (a) a distributed directory having a hierarchy of objects, said distributed directory comprising: i. a parent object, ii. a source subtree having a root object that is a child of the parent object, and iii. a destination object within a destination subtree; (b) a plurality of computers that hold one or more of the following: i. a replica of the source subtree, ii. a replica of the destination subtree, or iii. a reference to an object in the source subtree; and (c) for each computer having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, means for changing in each such computer the parent of the root object in the source subtree from the parent object to the destination object; (d) for each computer having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, means for creating in each such computer a reference to the source subtree; and (e) for each computer having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, means for creating in each such computer a reference to the destination object.
Claim 36
Dependent Claim 319 words
A computer system, comprising: (a) a distributed directory having a hierarchy of objects, said distributed directory comprising: i. a parent object, ii. a source subtree having a root object that is a child of the parent object, and iii. a destination object within a destination subtree; (b) a plurality of computers that hold one or more of the following: i. a replica of the source subtree, ii. a replica of the destination subtree, or iii. a reference to an object in the source subtree; and (c) for each computer having at least one of the following: i. a replica of the source subtree and a replica of the destination subtree, ii. a replica of the source subtree and a reference to the root object of the destination subtree, iii. a replica of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, or iv. a reference to the root object of the source subtree and a reference to the root object of the destination subtree, means for changing in each such computer the parent of the root object in the source subtree from the parent object to the destination object; (d) for each computer having at least one of the following: i. a reference to the root object of the source subtree and a replica of the destination subtree, or ii. neither a replica of the source subtree nor a reference to the root object of the source subtree, and a replica of the destination subtree, means for creating in each such computer a reference to the source subtree; and (e) for each computer having a reference to the root object of the source subtree and neither a replica of the destination subtree nor a reference to the root object of the destination subtree, means for creating in each such computer a reference to the destination object.

References Cited (Backward Citations)

US5001628A Cited
US5113519A Cited
US5418942A Cited
US5410691A Cited
US5032979A Cited
US5367698A Cited
US5418966A Cited
US5557731A Cited
EP0663640A1 Cited
US5560005A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-25 2001-11-24 2002-05-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-25 2005-11-24 2006-05-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-25 2009-11-24 2010-05-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag