Nova Patents
EP1589442A2

Directory distributor

Abstract

Dividing a set of leaf objects having the same path of a directory namespace allows the divided path data sets to be distributed over separate physical stores (e.g., directory servers, network storage, separate memory, etc.). Distribution of divided path data sets over separate physical stores enhances scalability of a directory namespace and facilitates efficient utilization of resources. A directory distributor maintains information that indicates distribution of data path sets of a directory namespace and directs requests for the directory namespace to appropriate stores in accordance with this information.

EP1589442A2, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Projected expiry passed 15 April 2025, 1.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

34 claims: 22 independent, 12 dependent

  1. 1
    A method of processing directory requests for a distributed directory namespace, the method comprising:decoding at least part of a directory request to determine a value that corresponds to a distribution criteria, wherein sets of leaf objects having a same directory path in the directory namespace are distributed over separate stores in accordance with the distribution criteria;determining an appropriate one or more of the separate stores based at least in part on the value;andforwarding the directory request according to the determined appropriate one or more separate stores.
  2. 4
    The method of any preceding claim further comprising broadcasting a second directory request to the separate stores if the second directory request does not indicate a second value that corresponds to the distribution criteria.
  3. 5
    The method of any preceding claim wherein the directory request includes one of a read type directory request and a write type directory request.
  4. 7
    The method of any preceding claim wherein a requestor is authenticated to a first of the separate stores based on the requestor's identity that is represented in the first store, and authenticated to a second of the separate stores based on a generic identity mapped to the authenticated requestor's identity, wherein the generic identity is represented in the second store.
  5. 8
    The method of any preceding claim wherein the directory namespace is implemented as a directory information tree.
  6. 10
    The method of any preceding claim, wherein the distribution criteria includes one or more of attributes of the directory namespace and attributes of the leaf objects.
  7. 11
    The method of any preceding claim, wherein determining the appropriate one or more of the separate stores includes hashing the value and looking up the appropriate one or more of the separate stores based at least in part on the hashed value.
  8. 12
    The method of any preceding claim wherein the directory namespace corresponds to one or more of electronic mail addresses, personnel information, phone numbers, assets, and security information.
  9. 13
    A computer program product comprising instructions operable to carry out the method of any preceding claim.
  10. 14
    An application that directs directory requests to respective ones of separate stores that represent different sets of leaf objects of a directory namespace hierarchy, based at least in part on a distribution criteria, wherein the different sets of leaf objects have a same directory path in the directory namespace hierarchy and the different leaf objects of the directory namespace hierarchy are distributed among the separate stores according to the distribution criteria.
  11. 17
    The application of claims 16 or 17 that directs read type directory requests to those respective ones of the separate stores representing replicated copies of the corresponding leaf objects.
  12. 22
    The application of any of claims 14-21, wherein a requestor is authenticated to a first of the separate stores based on the requestor's identity that is represented in the first store, and authenticated to a second of the separate stores based on a generic identity mapped to the authenticated requestor's identity, wherein the generic identity is represented in the second store.
  13. 23
    The application of any of claims 14-24, wherein the separate stores includes one or more of separate memory, separate directory servers, and separate storage devices.
  14. 24
    The application of any of claims 14-24, wherein the application includes a proxy application, a directory service application, and a network protocol application.
  15. 25
    The application of any of claims 14 - 26 that broadcasts directory requests to the separate stores if the distribution criteria cannot be determined from the directory requests.
  16. 26
    An apparatus comprising:a set of one or more processors;anda distributor module operable to associate directory requests with corresponding ones of a plurality of separately stored sets of leaf objects, at least two sets of the plurality of sets of leaf objects having a same path in a directory namespace.
  17. 28
    The apparatus of claims 26 or 27 further comprising a network interface operable to broadcast directory requests that do not indicate the distribution criteria.
  18. 29
    The apparatus of any claims 26 - 28 further comprising the module operable to forward write type directory requests to devices that correspond to master copies of associated sets of leaf objects and read type directory requests to devices that correspond to replicates of the master copies.
  19. 30
    The apparatus of any of claims 27 - 28 further comprising the module operable to map a requestor's authenticated identity to a generic identity, wherein the requestor's identity is authenticated to a first device and the generic identity is represented in a second device that does not represent the requestor's identity.
  20. 31
    A computer program product comprising:a first sequence of instructions executable to receive a directory request for a directory namespace;anda second sequence of instructions executable to direct the directory request to one of a plurality of separate stores, based at least in part on a value that corresponds to a distribution criteria, wherein the directory namespace includes a plurality of leaf objects, which have a same directory path in the directory namespace, distributed over the plurality of separate stores.
  21. 33
    The computer program product of claims 31 or 32 comprising the second sequence of instructions executable to distinguish read type directory requests and write type directory requests, and forward the write type directory requests to those of the separate stores that host master copies of their corresponding ones of the plurality of leaf objects and the read type directory requests to those of the separate stores that host replicates of the master copies.
  22. 34
    The computer program product of any one of claims 13, 31, 32 and 33 comprising one or more machine readable media carrying the instructions.
Independent claims22