P
US8423581B2ActiveUtilityPatentIndex 40

Proxy support for special subtree entries in a directory information tree using attribute rules

Assignee: HAZLEWOOD KRISTIN MARIEPriority: Oct 7, 2009Filed: Oct 7, 2009Granted: Apr 16, 2013
Est. expiryOct 7, 2029(~3.3 yrs left)· nominal 20-yr term from priority
Inventors:HAZLEWOOD KRISTIN MARIEMCCONAUGHY JOHN MARKWILLIAMS GARY DALE
G06F 16/9027H04L 67/563
40
PatentIndex Score
0
Cited by
16
References
20
Claims

Abstract

A mechanism for providing proxy support for special subtree entries in a directory information tree by defining filters at the proxy level to indicate relationships between main subtree entries and associated special subtree entries. A proxy server receives a request from a client for a special subtree entry and determines whether the distinguished name of the main subtree entry can be built using information in the request and pre-defined relationships between the main subtree entry and the requested subtree entry. If so, the proxy server builds the distinguished name of the main subtree entry associated with the special subtree entry and applies a partitioning filter to the distinguished name of the main subtree entry to determine a target directory server in the plurality of backend directory servers that comprise the special subtree. The proxy server then sends the request to the target directory server.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer implemented method of locating special subtree entries in a distributed directory environment using a proxy server, the computer implemented method comprising:
 receiving, at the proxy server, a request from a client for a special subtree entry, wherein the special subtree entry is stored in a special subtree in one of a plurality of backend directory servers in the distributed directory environment; 
 retrieving by the proxy server a partitioning filter associated with the requested special subtree entry; 
 determining whether the request comprises a distinguished name control, wherein the control specifies the distinguished name of a main subtree entry associated with the special subtree entry; 
 responsive to a determination that the request does not comprise a distinguished name control, building the distinguished name of the main subtree entry associated with the special subtree entry; 
 applying the partitioning filter to the distinguished name of the main subtree entry to determine a target directory server in the plurality of backend directory servers that comprise the special subtree; and 
 sending the request to the target directory server, wherein the special subtree entries comprise directory entries that represent changes made to entries in main subtrees. 
 
     
     
       2. The computer implemented method of  claim 1 , further comprising:
 determining at least one of a new distinguished name for the special subtree entry or a new search filter for the request; 
 updating the request with the at least one new distinguished name or new search filter to form a directed search, wherein the directed search retrieves the special subtree entry from the target directory server; and 
 sending the directed search to the target directory server. 
 
     
     
       3. The computer implemented method of  claim 1 , further comprising:
 responsive to a determination that the request comprises a distinguished name control, obtaining the distinguished name of the main subtree entry from the distinguished name control; 
 applying the partitioning filter to the distinguished name of the main subtree entry to determine a target directory server in the plurality of backend directory servers that comprises the special subtree; and 
 sending the request to the target directory server. 
 
     
     
       4. The computer implemented method of  claim 1 , wherein building the distinguished name of the main subtree entry associated with the special subtree entry comprises:
 determining whether the distinguished name of the main subtree entry can be built using information in the request and pre-defined relationships between the main subtree entry and the requested special subtree entry; and 
 building the distinguished name of the main subtree entry associated with the special subtree entry in response to a determination that the distinguished name of the main subtree entry can be built. 
 
     
     
       5. The computer implemented method of  claim 4 , further comprising:
 sending the request to all directory servers in the plurality of backend directory servers in response to a determination that the distinguished name of the main subtree entry cannot be built. 
 
     
     
       6. The computer implemented method of  claim 5 , further comprising:
 determining whether multiple identical entries with the distinguished name of the special subtree entry exist in the plurality of backend directory servers; and 
 responsive to a determination that multiple identical entries exist, rejecting the request. 
 
     
     
       7. The computer implemented method of  claim 6 , further comprising:
 responsive to a determination that multiple copies do not exist, identifying a directory server that contains the special subtree entry as the target directory server; and 
 sending the request to the target directory server. 
 
     
     
       8. The computer implemented method of  claim 1 , wherein applying the partitioning filter to the original distinguished name further comprises:
 applying a hash function to relative distinguished names at a level of the distinguished name of the main subtree entry; and 
 obtaining a result of the hash function, wherein the result indicates the target directory server that comprises the requested special subtree entry. 
 
     
     
       9. The computer implemented method of  claim 4 , wherein the pre-defined relationships between the main subtree entry and the requested special subtree entry comprise relationships between the distinguished name of the main subtree entry and the distinguished name of the special subtree entry or between the distinguished name of the main subtree entry and an attribute of the special subtree entry. 
     
     
       10. The computer implemented method of  claim 1 , wherein the special subtree entry is one of a changelog subtree entry or tombstone subtree entry. 
     
     
       11. An apparatus comprising:
 a bus; 
 a storage device connected to the bus, wherein the storage device contains computer usable code; 
 at least one managed device connected to the bus; 
 a communications unit connected to the bus; and 
 a processing unit connected to the bus, wherein the processing unit executes the computer usable code to receive, at the proxy server, a request from a client for a special subtree entry, wherein the special subtree entry is stored in a special subtree in one of a plurality of backend directory servers in the distributed directory environment; retrieve by the proxy server a partitioning filter associated with the requested special subtree entry; determine whether the request comprises a distinguished name control, wherein the control specifies the distinguished name of a main subtree entry associated with the special subtree entry; build, in response to a determination that the request does not comprise a distinguished name control, the distinguished name of the main subtree entry associated with the special subtree entry; apply the partitioning filter to the distinguished name of the main subtree entry to determine a target directory server in the plurality of backend directory servers that comprise the special subtree; and send the request to the target directory server, wherein the special subtree entries comprise directory entries that represent changes made to entries in main subtrees. 
 
     
     
       12. A tangible computer usable storage device comprising a computer program product having computer usable program code stored thereon, the computer usable program code for execution by a computer, comprising:
 computer usable program code for receiving, at the proxy server, a request from a client for a special subtree entry, wherein the special subtree entry is stored in a special subtree in one of a plurality of backend directory servers in the distributed directory environment; 
 computer usable program code for retrieving by the proxy server a partitioning filter associated with the requested special subtree entry; 
 computer usable program code for determining whether the request comprises a distinguished name control, wherein the control specifies the distinguished name of a main subtree entry associated with the special subtree entry; 
 computer usable program code for building, in response to a determination that the request does not comprise a distinguished name control, the distinguished name of the main subtree entry associated with the special subtree entry; 
 computer usable program code for applying the partitioning filter to the distinguished name of the main subtree entry to determine a target directory server in the plurality of backend directory servers that comprise the special subtree; and 
 computer usable program code for sending the request to the target directory server, wherein the special subtree entries comprise directory entries that represent changes made to entries in main subtrees. 
 
     
     
       13. The tangible computer usable storage device comprising a computer program product of  claim 12 , further comprising:
 computer usable program code for determining at least one of a new distinguished name for the special subtree entry or a new search filter for the request; 
 computer usable program code for updating the request with the at least one new distinguished name or new search filter to form a directed search, wherein the directed search retrieves the special subtree entry from the target directory server; and 
 computer usable program code for sending the directed search to the target directory server. 
 
     
     
       14. The tangible computer usable storage device comprising the computer program product of  claim 12 , further comprising:
 computer usable program code for obtaining, in response to a determination that the request comprises a distinguished name control, the distinguished name of the main subtree entry from the distinguished name control; 
 computer usable program code for applying the partitioning filter to the distinguished name of the main subtree entry to determine a target directory server in the plurality of backend directory servers that comprises the special subtree; and 
 computer usable program code for sending the request to the target directory server. 
 
     
     
       15. The tangible computer usable storage device comprising the computer program product of  claim 12 , further comprising:
 computer usable program code for determining whether the distinguished name of the main subtree entry can be built using information in the request and pre-defined relationships between the main subtree entry and the requested special subtree entry; and 
 computer usable program code for building the distinguished name of the main subtree entry associated with the special subtree entry in response to a determination that the distinguished name of the main subtree entry can be built. 
 
     
     
       16. The tangible computer usable storage device comprising the computer program product of  claim 15 , further comprising:
 computer usable program code for sending the request to all directory servers in the plurality of backend directory servers in response to a determination that the distinguished name of the main subtree entry cannot be built. 
 
     
     
       17. The tangible computer usable storage device comprising the computer program product of  claim 16 , further comprising:
 computer usable program code for determining whether multiple identical entries with the distinguished name of the special subtree entry exist in the plurality of backend directory servers; and 
 computer usable program code for rejecting the request in response to a determination that multiple identical entries exist. 
 
     
     
       18. The tangible computer usable storage device comprising the computer program product of  claim 12 , wherein the computer usable program code for applying the partitioning filter to the original distinguished name further comprises:
 computer usable program code for applying a hash function to relative distinguished names at a level of the distinguished name of the main subtree entry; and 
 computer usable program code for obtaining a result of the hash function, wherein the result indicates the target directory server that comprises the requested special subtree entry. 
 
     
     
       19. The tangible computer usable storage device comprising the computer program product of  claim 12 , wherein the computer usable program code is stored in a computer readable storage medium in a data processing system, and wherein the computer usable program code is downloaded over a network from a remote data processing system. 
     
     
       20. The tangible computer usable storage device comprising the computer program product of  claim 12 , wherein the computer usable program code is stored in a computer readable storage medium in a server data processing system, and wherein the computer usable program code is downloaded over a network from a remote data processing system for use in a computer readable storage medium with the remote system.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.