Metadata in directory service systems and methods
First Claim
1. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
- using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries, each entry representing an object and each entry having at least one attribute, each attribute being related to one of a plurality of attribute types and each attribute having an attribute value;
wherein the database comprises;
a first column adapted to store the attribute types;
a second column adapted to store attribute syntaxes, wherein each attribute syntax identifies treatment for an attribute value in an entry associated with the attribute syntax, the treatment based on one or more syntax rules;
a third column adapted to store the attribute values;
a fourth column adapted to store one or more distinguished value identifiers corresponding to one or more of the plurality of attributes, wherein each distinguished value identifier indicates whether the corresponding attribute value is used to name a corresponding entry; and
a fifth column adapted to store aliases, wherein each alias correlates two or more of the plurality of entries, each alias pointing from a first entry to a correlated entry by providing an alternative name for that entry and identifying that the first entry is an alias of the correlated entry.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for implementing directory services, such as X.500 and LDAP in a SQL environment, and for providing a desired level of indexing, extensibility and scalability. In the directory service system, a plurality of objects are defined to be hierarchical, and the relationships among objects follow a tree structure where each object has a parent object and except for a root, each parent can have zero or more children. The database comprises at least one table having a plurality of rows and columns and stores a plurality of data items, each having a value, each being related to one of a plurality of data types and each having attributes defined by the directory. The attributes of the directory are arranged in a row-per-data type and value format, resulting in a representation identified as meta-data, wherein values are represented per row by
- data type: identifying one of said plurality of data types,
- syntax: identifying the nature of the data type, and
- value: identifying the data value.
In the application of metadata to directory services, such as X.500 or LDAP, a ‘PROPERTY table’ is provided in which object name and parent name is added to the ‘principal design’. Other arrangements of tables and attributes provide for the achievement of the system goals.
-
Citations
22 Claims
-
1. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
-
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries, each entry representing an object and each entry having at least one attribute, each attribute being related to one of a plurality of attribute types and each attribute having an attribute value; wherein the database comprises; a first column adapted to store the attribute types; a second column adapted to store attribute syntaxes, wherein each attribute syntax identifies treatment for an attribute value in an entry associated with the attribute syntax, the treatment based on one or more syntax rules; a third column adapted to store the attribute values; a fourth column adapted to store one or more distinguished value identifiers corresponding to one or more of the plurality of attributes, wherein each distinguished value identifier indicates whether the corresponding attribute value is used to name a corresponding entry; and a fifth column adapted to store aliases, wherein each alias correlates two or more of the plurality of entries, each alias pointing from a first entry to a correlated entry by providing an alternative name for that entry and identifying that the first entry is an alias of the correlated entry.
-
-
2. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
-
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries, each entry representing an object and each entry having at least one attribute, each attribute being related to one of a plurality of attribute types, and each attribute having an attribute value; wherein a single table of the database comprises; a first column adapted to store the attribute types; a second column adapted to store attribute syntaxes, wherein each attribute syntax identifies treatment for an attribute value in an entry associated with the attribute syntax, the treatment based on one or more syntax rules; and a third column adapted to store the attribute values. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A computer-implemented method for managing a directory service system, the method comprising:
-
using one or more processors to attributes of a directory in a database adapted to store a plurality of entries, each entry representing an object and each entry having at least one attribute, each attribute being related to one of a plurality of attribute types, and each attribute having an attribute value; wherein the database comprises; a first column adapted to store the attribute types; a second column adapted to store attribute syntaxes, wherein each attribute syntax identifies treatment for an attribute value in an entry associated with the attribute syntax, the treatment based on one or more syntax rules; and a third column adapted to store the attribute values. - View Dependent Claims (8, 9, 10, 11)
-
-
12. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
-
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries;
each entry representing an object, each entry having at least one entry identifier, and each entry having at least one attribute;
each attribute having at least one attribute identifier;wherein the database comprises; a first table adapted to store the entry identifiers and the attribute identifiers; and a second table adapted to store one or more attribute syntaxes for correlated attribute identifiers in the first table, wherein each attribute syntax identifies treatment for an attribute value in an entry associated with the attribute syntax, the treatment based on one or more syntax rules. - View Dependent Claims (13, 14)
-
-
15. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
-
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries;
each entry representing an object, each entry having at least one entry identifier, and each entry having at least one attribute;
each attribute having at least one attribute identifier;wherein the database comprises; a first table adapted to store the entry identifiers and the attribute identifiers; and a second table adapted to store; the attribute value as a plurality of attribute value fragments for correlated attribute identifiers in the first table, wherein the attribute value occupies a plurality of rows in the second table, wherein each multiple attribute value fragment is stored in a separate one of the plurality of rows in the second table and combine to define a single attribute value; and a plurality of fragment identifiers to index the plurality of attribute value fragments. - View Dependent Claims (16)
-
-
17. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries, each entry representing an object and each entry having at least one attribute, the database comprising a table adapted to store a plurality of entries and a plurality of aliases, wherein each alias correlates two or more entries, and wherein each alias points from a first entry to a correlated entry by providing an alternative name for the first entry and identifies that the first entry is an alias of the correlated entry.
-
18. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries, each entry representing an object and each entry having at least one attribute, the database comprising a table adapted to store a plurality of entry identifiers and a plurality of alias identifiers, wherein each entry identifier correlates an associated object with hierarchy information for the associated object, and wherein each alias identifier correlates two or more entry identifiers, each alias identifier pointing from a first entry identifier to a correlated entry identifier by providing an alternative name for the first entry identifier.
-
19. Software for use in implementing a directory services system, the software comprising a program of instructions encoded on a computer readable memory and when executed using one or more processors, operable to:
-
using one or more processors to arrange attributes of a directory in a database adapted to store a plurality of entries, each entry having a plurality of attributes, each attribute having an attribute value; wherein the database comprises a table comprising; a first column adapted to store the attribute values; a second column adapted to store one or more distinguished value identifiers corresponding to one or more of the attributes values, wherein each distinguished value identifier indicates whether the corresponding attribute value is used to name the corresponding entry; and a third column adapted to store attribute syntaxes, wherein each attribute syntax identifies treatment for the corresponding attribute value in the corresponding entry associated with the attribute syntax, the treatment based on one or more syntax rules. - View Dependent Claims (20, 21, 22)
-
Specification