Directory services system and methods with mapping in database tables
First Claim
1. A method of implementing directory services for a relational data base management system using a relational language comprising:
- establishing a database using a plurality of tables, each table having a plurality of rows and columns, said database comprising at least one each of a HIERARCHY table, an OBJECT table and an ATTRIBUTE table;
defining a plurality of relational language commands, each corresponding to a respective one of a plurality of directory services, each service having a corresponding service executing procedure;
selecting one of said plurality of directory services;
applying a process of name resolution to the selected directory service, executing the procedure corresponding to the selected service, and building a result comprising an error or search result in response to said executing step.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for addressing problems associated with the implementation of directory services, such as X.500 and LDAP, in a SQL environment, particularly problems associated with interrogating database provided to implement directory services in the SQL environment. According to the disclosed method and apparatus, the system is based on the use of tables that may be arranged to have a plurality of columns, so that they support a variety of functions in order to implement directory services, such as X.500 and LDAP. In one aspect, the present invention provides a method of creating one or more SQL commands corresponding to a directory service. In another aspect, the present invention provides a many examples of tables and their function. Many examples of an implementation of directory services using SQL based technology are disclosed.
This application is a divisional of U.S. Ser. No. 08/793,575, which is currently pending and which is incorporated herein by reference in its entirety.
45 Citations
161 Claims
-
1. A method of implementing directory services for a relational data base management system using a relational language comprising:
-
establishing a database using a plurality of tables, each table having a plurality of rows and columns, said database comprising at least one each of a HIERARCHY table, an OBJECT table and an ATTRIBUTE table;
defining a plurality of relational language commands, each corresponding to a respective one of a plurality of directory services, each service having a corresponding service executing procedure;
selecting one of said plurality of directory services;
applying a process of name resolution to the selected directory service, executing the procedure corresponding to the selected service, and building a result comprising an error or search result in response to said executing step. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 47, 134, 135, 136, 137, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160)
-
-
32. A method of implementing directory services for a relational data base management system using a relational language comprising:
-
establishing a database using a plurality of tables, each table having a plurality of rows and columns, said database comprising at least one each of a HIERARCHY table comprising a DIT, NAME, ALIAS and TREE table, an OBJECT table comprising a SEARCH and an ENTRY table, and an ATTRIBUTE table;
defining a plurality of relational language commands, each corresponding to a respective one of a plurality of directory services, each service having a corresponding service executing procedure;
selecting one of said plurality of directory services;
applying a process of name resolution to the selected directory service, executing the procedure corresponding to the selected service, and building a response comprising an error or search result in response to said executing step. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
48. A system for implementing directory services for a relational data base management system using a relational language comprising:
-
means for establishing a database using a plurality of tables, each table having a plurality of rows and columns, said database comprising at least one each of a HIERARCHY Table, an OBJECT Table and an ATTRIBUTE Table;
means for defining a plurality of relational language commands, each corresponding to a respective one of a plurality of directory services, each service having a corresponding service executing procedure;
means for selecting one of said plurality of directory services;
means for applying a process of name resolution to the selected directory service, means for executing the procedure corresponding to the selected service, and means for building a response comprising an error or search result in response to said executing means. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 91, 138)
-
-
77. A system for implementing directory services for a relational data base management system using a relational language comprising:
-
means for establishing a database using a plurality of tables, each table having a plurality of rows and columns, said database comprising at least one each of a HIERARCHY Table comprising a DIT Table, NAME Table, ALIAS Table and TREE Table, an OBJECT Table comprising a SEARCH Table and an ENTRY Table, and an ATTRIBUTE Table;
means for defining a plurality of relational language commands, each corresponding to a respective one of a plurality of directory services, each service having a corresponding service executing procedure;
means for selecting one of said plurality of directory services;
means for applying a process of name resolution to the selected directory service, means for executing the procedure corresponding to the selected service, and means for building a response comprising an error or search result in response to said executing step. - View Dependent Claims (78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90)
-
-
92. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and iv. building an error or result in response to step iii. - View Dependent Claims (93, 94, 95)
-
-
96. A method of executing a service in a directory service system, the method including using a DIT Table for a navigate function.
-
97. A method of executing a service in a directory service system, the method including using a DIT Table for a one level search function.
-
98. A method of executing a service in a directory service system, the method including using a SEARCH Table for a find function.
-
99. A method of executing a service in a directory service system, the method including using a NAME Table for a returning DN function.
- 100. A method of executing a service in a directory service system, the method including using an ENTRY Table for a returning object function.
-
101. A method of executing a service in a directory service system, the method including using a TREE Table for a returning DN function.
-
102. A method of executing a service in a directory service system, the method including using a TREE Table for a subtree search function.
-
103. A method of executing a service in a directory service system, the method including using an ALIAS Table for an alias function.
-
104. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and iv. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using a DIT Table for a one level search function.
-
-
105. A method of creating one or more SQL commands corresponding to a directory service, wherein the service control comprises a time limit.
- 106. A method of creating one or more SQL commands corresponding to a directory service, wherein the service control comprises a size limit.
-
107. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and v. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using a SEARCH Table for a find function. - View Dependent Claims (109)
-
-
110. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and vi. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using a NAME Table for returning a DN function. - View Dependent Claims (111, 112)
-
-
113. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and vi. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using an ENTRY Table for returning an object function. - View Dependent Claims (114, 115)
-
-
116. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and viii. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using a TREE Table for returning a DN function. - View Dependent Claims (117, 118)
-
-
119. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and ix. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using a TREE Table for a subtree search function. - View Dependent Claims (120, 121)
-
-
122. A method of creating one or more SQL commands corresponding to a directory service, the method including the steps of:
-
i. determining the directory service, ii. applying a process of name resolution to the service, iii. executing a procedure corresponding to the service, and x. building an error or result in response to step iii, the method further comprising, applying at least one service control, wherein the step of executing comprises using an ALIAS Table for an alias function. - View Dependent Claims (123, 124)
-
-
125. A method of providing directory services in a directory service system, the method including the step of:
caching the ATTRIBUTE Table thereby limiting SQL statements issued to the database.
-
126. A method of providing directory services in a directory service system, the method including the step of:
performing validation in memory.
-
127. A method of providing arbitrary complexity in directory services in a directory service system, the method including the step of:
in applying an arbitrary filter, building a dynamic SQL equivalent.
-
128. A method of providing directory services in a directory service system, the method including the step of:
utilising set orientation queries of SQL.
-
129. A method of providing directory services in a directory service system, the method including the step of:
providing a FLAG column in order to enhance extensibility.
-
130. A method of providing directory services in a directory service system, the method including the step of:
providing a FLAG column as a ‘
summary’
function of contents of a table.
-
131. A method of providing directory services in a directory service system, the method including the step of:
providing cached aliases.
-
132. A method of providing directory services in a directory service system, the method including the step of:
providing a LEV column to shorten indexes on each table.
-
139. A method of implementing X.500 services in a RDBMS which supports a relational language, using service modeling, comprising:
-
modeling each of a plurality of X.500 services;
defining the relationships among each of said plurality of X.500 services;
defining a fixed set of queries/services using said modelled X.500 services and relationships; and
processing arbitrary data using said fixed set of queries/services;
wherein said service modeling uses relational queries to satisfy X.500 services compatibly with RDBMS. - View Dependent Claims (140, 141, 142, 143, 144)
-
-
145. An implementation of X.500 services in a RDBMS which supports a relational language, using service modeling, the implementation comprising:
-
an ATTRIBUTE Table, where extensibility is addressed by allowing the definition of a new attribute type by adding a row to the table;
an OBJECT Table, which defines the attributes within each object; and
/ora HIERARCHY Table which defines the relationship between the objects. - View Dependent Claims (146, 147, 148, 149, 150)
-
-
161. The invention as herein disclosed.
Specification