Nested queries with index
First Claim
Patent Images
1. A method comprising:
- receiving, by a lightweight directory access protocol (LDAP) directory server that performs directory queries on an LDAP database, a request to process a nested query, the request including an input attribute and an input value for a distinguished name (DN) entry, wherein the input attribute and the DN entry correspond to objects defined in a schema for the LDAP database; and
generating, by the LDAP directory server in response to the request, a virtual recursive attribute index that defines values for a virtual recursive attribute that does not correspond to an object defined in the schema because a value of the virtual recursive attribute is determined by a value of a DN of an entry that the virtual recursive attribute points plus a value of a DN of the pointed-to entry, wherein the generating further comprises;
navigating through a directory tree of the LDAP directory server starting at the DN entry specified by the input value;
for each current DN entry navigated to in the directory tree, adding a DN value from an attribute of the current DN entry as an entry in the virtual recursive attribute index if that attribute is equal to the input attribute; and
returning the virtual recursive attribute index when a value for the attribute equal to the input attribute in a navigated-to DN entry is at least one of null or empty; and
utilizing, by the LDAP directory server, the generated virtual recursive attribute index to process standard nested queries sent to the LDAP directory server;
wherein modifications to both the value of the DN of the entry that the virtual recursive attribute points and the value of the DN of the pointed-to entry are reflected by flagging the virtual recursive attribute as a relational attribute and identifying an attribute used for a relation between the values.
1 Assignment
0 Petitions
Accused Products
Abstract
Values for virtual recursive attributes are generated for distinguished name entries in a lightweight directory access protocol directory by navigating through the directory tree starting at the distinguished name entry specified by an input value. An attribute list of the values for the virtual recursive attributes may be cached or indexed. In another aspect, attribute lists are generated for all branches of the directory tree.
40 Citations
18 Claims
-
1. A method comprising:
-
receiving, by a lightweight directory access protocol (LDAP) directory server that performs directory queries on an LDAP database, a request to process a nested query, the request including an input attribute and an input value for a distinguished name (DN) entry, wherein the input attribute and the DN entry correspond to objects defined in a schema for the LDAP database; and generating, by the LDAP directory server in response to the request, a virtual recursive attribute index that defines values for a virtual recursive attribute that does not correspond to an object defined in the schema because a value of the virtual recursive attribute is determined by a value of a DN of an entry that the virtual recursive attribute points plus a value of a DN of the pointed-to entry, wherein the generating further comprises; navigating through a directory tree of the LDAP directory server starting at the DN entry specified by the input value; for each current DN entry navigated to in the directory tree, adding a DN value from an attribute of the current DN entry as an entry in the virtual recursive attribute index if that attribute is equal to the input attribute; and returning the virtual recursive attribute index when a value for the attribute equal to the input attribute in a navigated-to DN entry is at least one of null or empty; and utilizing, by the LDAP directory server, the generated virtual recursive attribute index to process standard nested queries sent to the LDAP directory server; wherein modifications to both the value of the DN of the entry that the virtual recursive attribute points and the value of the DN of the pointed-to entry are reflected by flagging the virtual recursive attribute as a relational attribute and identifying an attribute used for a relation between the values. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium having executable instructions to cause a processor to perform a process comprising:
-
receiving a request to process a nested query, the request including an input attribute and an input value for a distinguished name (DN) entry, wherein the input attribute and the DN entry correspond to objects defined in a schema for the lightweight directory access protocol (LDAP) directory server; and generating, in response to the request, a virtual recursive attribute index that defines values for a virtual recursive attribute that does not correspond to an object defined in the schema because a value of the virtual recursive attribute is determined by a value of a DN of an entry that the virtual recursive attribute points plus a value of a DN of the pointed-to entry, wherein the generating further comprises; navigating through a directory tree of the LDAP directory server starting at the DN entry specified by the input value; for each current DN entry navigated to in the directory tree, adding DN value from an attribute of the current DN entry as an entry in the virtual recursive attribute index if that attribute is equal to the input attribute; and returning the virtual recursive attribute index when a value for the attribute equal to the input attribute in a navigated-to DN entry is at least one of null or empty; and utilizing the generated virtual recursive attribute index to process standard nested queries sent to the LDAP directory server; wherein modifications to both the value of the DN of the entry that the virtual recursive attribute points and the value of the DN of the pointed-to entry are reflected by flagging the virtual recursive attribute as a relational attribute and identifying an attribute used for a relation between the values. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system comprising:
-
a processor coupled to a memory through a bus; and instructions executed from the memory by the processor to cause the processor to perform a process comprising; receiving a request to process a nested query, the request including an input attribute and an input value for a distinguished name (DN) entry, wherein the input attribute and the DN entry correspond to objects defined in a schema for the lightweight directory access protocol (LDAP) directory server; and generating, in response to the request, a virtual recursive attribute index that defines values for a virtual recursive attribute that does not correspond to an object defined in the schema because a value of the virtual recursive attribute is determined by a value of a DN of an entry that the virtual recursive attribute points plus a value of a DN of the pointed-to entry, wherein the generating further comprises; navigating through a directory tree of the LDAP directory server starting at the DN entry specified by the input value; for each current DN entry navigated to in the directory tree, adding a DN value from an attribute of the current DN entry as an entry in the virtual recursive attribute index if that attribute is equal to the input attribute; and returning the virtual recursive attribute index list when a value for the attribute equal to the input attribute in a navigated-to DN entry is at least one of null or empty; and utilizing the generated virtual recursive attribute index to process standard nested queries sent to the LDAP directory server; wherein modifications to both the value of the DN of the entry that the virtual recursive attribute points and the value of the DN of the pointed-to entry are reflected by flagging the virtual recursive attribute as a relational attribute and identifying an attribute used for a relation between the values. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification