Directory services searching system and methods
First Claim
1. A method of searching a directory service database, having a plurality of entries arranged in at least one of a plurality of tables, comprising:
- initially prescribing the scope of search area for said database, and conducting a search of said database using said prescribed search area.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for applying an application of a database service, such as X.500 or LDAP, to a relational database, a database design and use of the database to perform such services. Specifically addressed is the problem of database searching, particularly search speed and complexity of search. The method and apparatus concern searching a directory service database, in which the scope of search area is initially prescribed and/or in which a filter is applied over the search area. Moreover, in dealing with an alias during a search, a unique set of areas is found which define areas of a search tree that need to be searched. A FLAG column is used to indicate if an alias points inside a subtree. The method and apparatus also enable single pass resolution in any one of a search, filter or subtree search of a directory service, the method and apparatus including the use of a path column to simultaneously apply an arbitrary filter over an arbitrary subtree. Further disclosed is a method and apparatus of retrieving data from a directory service database, which includes conducting search, collecting all entries that need to be retrieved, and retrieving entries in parallel.
99 Citations
107 Claims
-
1. A method of searching a directory service database, having a plurality of entries arranged in at least one of a plurality of tables, comprising:
-
initially prescribing the scope of search area for said database, and conducting a search of said database using said prescribed search area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 102, 103, 105)
-
-
14. A method of searching a directory service database comprising a plurality of entries arranged in at least one table, comprising:
-
prescribing a scope of search area for said database, applying a filter over the search area, and conducting a search of said database using said prescribed search area and said filter. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 27, 28, 29, 30)
-
-
23. A method of searching a directory service database comprising a plurality of entries arranged in at least one table and having an alias therein, comprising:
-
identifying a unique set of areas of a tree; and
searching said areas. - View Dependent Claims (24, 25, 26)
-
-
31. A method of performing a directory service search comprising:
-
navigating an incoming distinguished name to its appropriate entry ID (EID), and thereafter performing the search.
-
-
32. A method of searching a directory service database, having a plurality of entries arranged in at least one of a plurality of tables with a plurality of columns, comprising:
-
navigating entries in at least one table;
identifying the presence of an alias during navigation; and
caching a location to which the alias points. - View Dependent Claims (33, 35, 37)
-
-
34. A method of enabling single pass resolution in any one of a search, filter or subtree search of a directory service, said directory service comprising at least one table having a plurality of columns, including a path column, the method comprising the step of:
using the path column to simultaneously apply an arbitrary filter over a first arbitrary subtree. - View Dependent Claims (36)
-
38. A method of enhancing the application of a filter to a search service of a directory service, the method including the steps of:
storing the “
path”
of each entry as a string in a manner that results in each path being prefixed by the path of its parent entry.
-
39. A method of searching a directory service database having aliases within a subtree area to be searched, comprising:
-
defining a FLAG column for use to indicate if an alias points inside the subtree; and
conducting a search of said database and, on the basis of a detection of a FLAG, transferring said search to a path inside said subtree. - View Dependent Claims (40)
-
-
41. A method of retrieving data from directory service database, the method including the step of:
-
conducting search, collecting all entries that need to be retrieved, retrieving entries in parallel.
-
-
42. A method of searching a directory service database having a plurality of subtrees, each represented by a unique base object, and having aliases within at least one subtree to be searched, comprising:
-
maintaining a list of base objects, which define unique subtrees;
conducting a search of a subtree in said database and, if an alias if found that points outside the subtree being processed, adding the aliased object to said list of base objects. - View Dependent Claims (43)
-
-
44. A method of determining a search area in a directory service database having at least one subtree including at least one alias, each subtree being represented as a unique base object, the method including the steps of:
-
a. establishing a list of base objects starting with a first base object;
b. as an alias is located within the first subtree, which alias indicates a second base object of a second subtree outside the first subtree, adding the second base object to the list, and repeating step b. until alias(es) within the first subtree have been resolved. - View Dependent Claims (45, 48, 49)
-
-
46. A method of determining a search area in a database having at least one subtree, the method comprising:
determining a set of non-overlapping subtree(s) in which all aliases, if any, point to an object inside the set. - View Dependent Claims (47, 50, 51)
-
52. An argument for conducting a directory search service comprising:
-
a baseObject identifying where to start the search (baseObject), a subset, identifying the scope of the search, a filter, identifying the conditions to apply, and a selection, identifying what information should be returned, as herein disclosed. - View Dependent Claims (53, 54, 55)
-
-
56. A system comprising a processor executing a method and a memory for storing a directory service database, having a plurality of entries arranged in at least one table, comprising:
-
means for initially prescribing the scope of search area for said database, and means for conducting a search of said database using said prescribed search area. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
-
69. A system comprising a processor executing a method and a memory for storing a directory service database, having a plurality of entries arranged in at least one table, comprising:
-
means for prescribing a scope of search area for said database, means for applying a filter over the search area, and means for conducting a search of said database using said prescribed search area and said filter. - View Dependent Claims (70, 71, 72, 73, 74)
-
-
75. A system for searching a directory service database comprising a plurality of entries arranged in at least one table and having an alias therein, comprising:
-
identifying a unique set of areas of a tree; and
searching said areas. - View Dependent Claims (76, 77, 78, 79, 80, 81, 82)
-
-
83. A system for performing a directory service search comprising:
-
means for navigating an incoming distinguished name to its appropriate entry ID (EID), and means thereafter for performing the search.
-
-
84. A system for searching a directory service database comprising a plurality of entries arranged in at least one of a plurality of tables with a plurality of columns and having an alias therein, comprising:
means for caching where an alias points during navigation. - View Dependent Claims (85)
-
86. A system for searching a directory service database comprising a plurality of entries arranged in at least one of a plurality of tables having a plurality of columns including a path column, comprising:
means for enabling single pass resolution in any one of a search, filter or subtree search of a directory service, by using the path column to simultaneously apply an arbitrary filter over a first arbitrary subtree. - View Dependent Claims (87, 88, 89)
-
90. A system of enhancing the application of a filter to a search service of a directory service, the system comprising:
means for storing the path of each entry as a string in a manner that results in each path being prefixed by the path of its parent entry.
-
91. A system for searching a directory service database having aliases within a subtree area to be searched, comprising:
-
means for defining a FLAG column for use to indicate if an alias points inside the subtree; and
means for conducting a search of said database and, on the basis of a detection of a FLAG, transferring said search to a path inside said subtree. - View Dependent Claims (92)
-
-
93. A method for retrieving data from a directory service database, the method comprising the step of:
-
conducting a search;
collecting all entries that need to be retrieved; and
retrieving entries in parallel.
-
-
94. In a system for searching a directory service database having a plurality of subtrees, each represented as a unique base object, and having aliases within at least one subtree to be searched, a means for determining a search area in said database, said means for determining comprising:
-
means for establishing a list of base objects starting with a first base object, as an alias is located within the first subtree, which alias indicates a second base object of a second subtree outside the first subtree, and means for adding the second base object to the list, until alias(es) within the first subtree have been resolved. - View Dependent Claims (95, 96, 97, 98, 99)
-
-
100. In a system for searching a directory service database having a plurality of subtrees, each represented as a unique base object, and having aliases within at least one subtree to be searched, a means for determining a search area in said database, said means for determining comprising:
means for determining a set of non-overlapping subtree(s) in which all aliases, if any, point to an object inside the set. - View Dependent Claims (101, 104, 106)
-
107. The invention as herein disclosed.
Specification