Table arrangement for a directory service system and for related method facilitating queries for the directory
AssigneeComputer Associates Think, Inc.
InventorRichard Hans Harvey
Life of this patent
Estimating the term…
Abstract
A directory services system, such as one providing a X.500 or LDAP directory service, having a design and a method of operation which facilitates queries in and out of the directory, table organisation/layout and clustering. In the arrangement of the directory service, tables are organized corresponding to their function, thereby permitting an arrangement based on service modeling and functional organisation that permits clustering. A preferred layout design incorporates principal, conceptual, logical and/or physical designs.
Claims113
A directory service arrangement comprising a data base using a plurality of tables, each table having a plurality of rows and columns, said tables being organised corresponding to their function.
A directory service arrangement as claimed in claim I wherein said plurality of tables comprises at least a first table allowing a new attribute type to be defined by adding a row to the table, a second table defining the attributes within each object, and a third table defining the relationship between objects.
A directory service arrangement comprising:
- a database using a plurality of tables, each table having a plurality of rows and columns, and storing arbitrary data, and
- means for processing said arbitrary data using a fixed set of queries/services.
A method of providing tables in a directory service apparatus, comprising:
- establishing a plurality of tables in a directory service apparatus, each of said tables comprising a plurality of columns, and
- defining the plurality of tables on the basis of corresponding functions related to said services.
A method of processing arbitrary data in a directory service apparatus, said apparatus comprising a plurality of tables established on the basis of respective functions, the method including the step of:
- processing the arbitrary data using a fixed set of queries/services.
A method of managing data in a directory service arrangement supporting at least one of X.500 or LDAP services, wherein data is identifiable by a predetermined criteria and is stored in a database medium, the method comprising the step of:
- clustering data of the same criteria in the same area of the database medium.
The invention as herein disclosed.
A method of arranging tables of a directory service arrangement, for providing directory services, comprising primary services and secondary services, the method comprising the steps of:
- a. decomposing tables around primary service relationships, and
- b. deriving secondary services via joins.
A method of decomposing a principal database design, having a PROPERTY table comprising at least a column for object name and parent name, in a directory service system, the method including the step of:
- applying functional decomposition to the PROPERTY table, and
- deriving a conceptual design having a HIERARCHY table, an OBJECT table, and an ATTRIBUTE table.
A method of decomposing a conceptual design in a directory service system offering a plurality of services and being operative with a database having a plurality of tables, including a HIERARCHY table and an OBJECT table, each comprising a plurality of columns, the method including the steps of:
- a. applying service decomposition to said HIERARCHY table, thereby deriving at least two table(s) comprising a DIT (Directory Information Tree) table having information required for navigation, a NAME table having information required for returning names, including raw relative distinguished name (RDN), a TREE table having information about an entry's path, and an ALIAS table having entries that are aliases:
- and
- b. applying service decomposition to said OBJECT table, thereby deriving at least two tables, a SEARCH table for resolving filters in a Search service, said SEARCH table including one row for each attribute value of each entry, and an ENTRY table for returning values in Read and Search services, said ENTRY table having one row for each attribute value of each entry, and
- c. deriving a logical design having tables defined in steps a and b above and an ATTR (ATTRIBUTE) table.
A method of decomposing a logical design of a directory service system into a physical design, comprising the steps of:
- applying physical decomposition to the logical design, thereby deriving the physical design.
A directory service system for one or more objects, wherein said system comprises:
- a plurality of tables according to a principal design, a conceptual design and a logical design,
- wherein said principal design comprises at least one table which is a PROPERTY table.
A directory service system, having a plurality of tables arranged in a conceptual design, wherein each table comprises a plurality of columns, said system comprising:
- a HIERARCHY table, adapted to contain information about objects, comprising their parents, their names, their relative positions in a hierarchy, and if they are aliases, for defining the structural relationship between objects;
- an OBJECT table, adapted to contain information for finding a particular value and for retrieving values, for defining the attribute values within each object;
- and
- an ATTRIBUTE table, adapted to contain information about the attributes of object(s).
A directory service system, comprising a plurality of tables, each having a plurality of columns, and being arranged in a logical design, said tables comprising one or more of:
- a directory information tree (DIT) table, having information for navigation;
- a TREE table, having information about the sequence of EID's down from the root;
- an ALIAS table, having information about entries that are aliases;
- a NAME table, having information required for returning names;
- a SEARCH table, having information used to resolve filters in a search service and find values during other services;
- an ENTRY table, which is used to return values in Reads and Searches, with one row being used for each attribute value of each entry;
- and
- an ATTRIBUTE table, which describes information about attributes of entry(s).
A directory services system comprising a plurality of tables, each having a plurality of columns, and being arranged in a physical design, said tables comprising one or more of the following:
- a directory information tree (DIT) table, having information for navigation;
- a TREE table, having information about the sequence of EID's down from the root;
- an ALIAS table, having information about entries that are aliases;
- a NAME table, having information required for returning names;
- a SEARCH table, having information used to resolve filters in a search service and find values during other services;
- an ENTRY table, which is used to return values in Reads and Searches, with one row being used for each attribute values of each entry;
- an INFO table, which holds the highest EID value that has been used in the database;
- a SENTRY table, which stores attribute values in raw form alone, where they do not need to be normalized;
- a BLOB table, which stores binary large objects that are greater in size than that of the ENTRY table;
- an ATTRIBUTE table, which stores information about attributes of entry(s);
- and
- an OCLASS table, which provides information about object class(es) in entry(s).
An implementation of directory services in a RDBMS which supports a relational language, using service modeling, the implementation comprising:
- an ATTRIBUTE table, where extensibility is provided 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
- a HIERARCHY table which defines the relationship between the objects.
A method of implementing a data service in a RDBMS data base which supports a relational language, having a fixed set of queries/services defined by service modeling, the method comprising:
- defining an ATTRIBUTE table, where extensibility is addressed by allowing the definition of a new attribute type by adding a row to the table;
- defining an OBJECT table, which defines the attributes within each object;
- and/or
- defining a HIERARCHY table which defines the relationship between the objects;
- and
- providing arbitrary data entries to said ATTRIBUTE table;
- and
- processing said arbitrary data using said fixed set of queries/services.
A data arrangement for implementing directory services in a RDBMS which supports a relational language, having a fixed set of queries/services defined by service modeling, the data arrangement comprising:
- an extensible ATTRIBUTE table, comprising information about attributes;
- an OBJECT table, comprising data which defines the attributes within each object;
- and/or
- a HIERARCHY table, comprising data which defines the relationship between the objects.
Dependencies are inferred from the claim text.