Support for RDBMS in LDAP system
First Claim
Patent Images
1. A method of providing for mapping between data formats, comprising:
- accessing a first data format, said first data format includes objects, said objects include attributes and wherein one or more of said attributes are multi-valued;
accessing a relational database format that uses tables, said tables store data forsaid attributes;
classifying said attributes based on column and table in said relational database format, wherein classifications are used to translate between the data formats and each classification is translated differently;
creating a customized mapping catalog for said relational database format based on said classifications, said mapping catalog maps said attributes of said objects to said tables of said relational database format and identifies relationships between tables of said relational database;
storing the mapping catalog for use in translating subsequent data access requests;
receiving a request to access data for a first attribute, wherein the request includes the first attribute and a filter for accessing the data for the first attribute;
determining a relational database from a plurality of data stores to service said request, wherein the plurality of data stores comprises the relational database and at least one LDAP directory and wherein determining the relational database from the plurality of data stores comprises comparing the filter for accessing the data for the first attribute to a partitioning expression for each of the data stores and defining data stored in that data store, wherein the partitioning expression is in an LDAP filter format and comparing the filter for accessing the data for the first attribute to the partitioning expression for each of the data stores comprises determining whether the filter for accessing the data for the first attribute and the partitioning expression overlap at least in part by performing a partition compare function using said filter and the partition expressions to determine whether said filter overlaps with one of the partition expressions if said filter and said one of the partition expressions are both simple expressions and performing said partition compare function by treating said filter as an input partition expression and treating the partition expressions as an input filter in order to determine whether said filter overlaps one of the partition expressions if said one of the partition expressions is a composite expression;
accessing the stored mapping catalog based on determining the relational database; and
translating at least a portion of the request based on the stored mapping catalog.
5 Assignments
0 Petitions
Accused Products
Abstract
A mapping scheme is disclosed so that data can be communicated between a relational database and a system that represents data in a manner different than the relational database. In one embodiment, the mapping scheme uses a mapping catalog that identifies attributes, columns and tables in the relational database that store data for the attributes, and relations between tables in order to determine how to access the attributes.
-
Citations
35 Claims
-
1. A method of providing for mapping between data formats, comprising:
-
accessing a first data format, said first data format includes objects, said objects include attributes and wherein one or more of said attributes are multi-valued; accessing a relational database format that uses tables, said tables store data for said attributes; classifying said attributes based on column and table in said relational database format, wherein classifications are used to translate between the data formats and each classification is translated differently; creating a customized mapping catalog for said relational database format based on said classifications, said mapping catalog maps said attributes of said objects to said tables of said relational database format and identifies relationships between tables of said relational database; storing the mapping catalog for use in translating subsequent data access requests; receiving a request to access data for a first attribute, wherein the request includes the first attribute and a filter for accessing the data for the first attribute; determining a relational database from a plurality of data stores to service said request, wherein the plurality of data stores comprises the relational database and at least one LDAP directory and wherein determining the relational database from the plurality of data stores comprises comparing the filter for accessing the data for the first attribute to a partitioning expression for each of the data stores and defining data stored in that data store, wherein the partitioning expression is in an LDAP filter format and comparing the filter for accessing the data for the first attribute to the partitioning expression for each of the data stores comprises determining whether the filter for accessing the data for the first attribute and the partitioning expression overlap at least in part by performing a partition compare function using said filter and the partition expressions to determine whether said filter overlaps with one of the partition expressions if said filter and said one of the partition expressions are both simple expressions and performing said partition compare function by treating said filter as an input partition expression and treating the partition expressions as an input filter in order to determine whether said filter overlaps one of the partition expressions if said one of the partition expressions is a composite expression; accessing the stored mapping catalog based on determining the relational database; and translating at least a portion of the request based on the stored mapping catalog. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of providing for mapping between data formats, comprising:
-
accessing a first data format, said first data format includes objects, said objects include attributes and wherein one or more of said attributes are multi-valued; accessing a preexisting relational database that includes tables, said tables store data for said attributes; classifying said attributes based on column and table in said relational database, wherein classifications are used to translate between the data formats and each classification is translated differently; creating a customized mapping for said preexisting relational database based on said classifications, said mapping maps said attributes of said objects to said tables of said accessed relational database format and identifies relationships between tables of said relational database; storing the mapping catalog for use in translating subsequent data access requests; receiving a request to access data for a first attribute, wherein the request includes the first attribute and a filter for accessing the data for the first attribute; determining a relational database from a plurality of data stores to service said request, wherein the plurality of data stores comprises the relational database and at least one LDAP directory and wherein determining the relational database from the plurality of data stores comprises comparing the filter for accessing the data for the first attribute to a partitioning expression for each of the data stores and defining data stored in that data store, wherein the partitioning expression is in an LDAP filter format and comparing the filter for accessing the data for the first attribute to the partitioning expression for each of the data stores comprises determining whether the filter for accessing the data for the first attribute and the partitioning expression overlap at least in part by performing a partition compare function using said filter and the partition expressions to determine whether said filter overlaps with one of the partition expressions if said filter and said one of the partition expressions are both simple expressions and performing said partition compare function by treating said filter as an input partition expression and treating the partition expressions as an input filter in order to determine whether said filter overlaps one of the partition expressions if said one of the partition expressions is a composite expression; accessing the stored mapping catalog based on determining the relational database; and translating at least a portion of the request based on the stored mapping catalog. - View Dependent Claims (19, 20, 21)
-
-
22. A method of using a mapping between data formats, comprising:
-
receiving a request to access data for a first attribute, said request identifies said data in a first data format, said first data format includes objects, said objects include one or more attributes wherein one or more of said attributes are multi-valued and wherein the request includes the first attribute and a filter for accessing the data for the first attribute; determining a relational database from a plurality of data stores to service said request, wherein the plurality of data stores comprises the relational database and at least one LDAP directory and wherein determining the relational database from the plurality of data stores comprises comparing the filter for accessing the data for the first attribute to a partitioning expression for each of the data stores defining data stored in the data store, wherein the partitioning expression is in an LDAP filter format and comparing the filter for accessing the data for the first attribute to the partitioning expression for each of the data stores comprises determining whether the filter for accessing the data for the first attribute and the partitioning expression overlap at least in part by performing a partition compare function using said filter and the partition expressions to determine whether said filter overlaps with one of the partition expressions if said filter and said one of the partition expressions are both simple expressions and performing said partition compare function by treating said filter as an input partition expression and treating the partition expressions as an input filter in order to determine whether said filter overlaps one of the partition expressions if said one of the partition expressions is a composite expression; accessing a previously stored mapping catalog customized for a relational database schema, wherein the mapping catalog maps the first attribute to the relational database schema based on a classification of the first attribute and said mapping catalog identifies a portion of a table in the relational database that stores said data for said first attribute and identifies relationships between tables of said relational database; translating at least a portion of the request based on the mapping catalog; and accessing said portion of said table in said relational database that stores said data for said first attribute based on said translated request. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
receiving a request to access data for a first attribute, said request identifies said data in a first data format, said first data format includes objects, said objects include one or more attributes wherein one or more of said attributes are multi-valued and wherein the request includes the first attribute and a filter for accessing the data for the first attribute; determining a relational database from a plurality of data stores to service said request, wherein the plurality of data stores comprises the relational database and at least one LDAP directory and wherein determining the relational database from the plurality of data stores comprises comparing the filter for accessing the data for the first attribute to a partitioning expression for each of the data stores defining data stored in the data store, wherein the partitioning expression is in an LDAP filter format and comparing the filter for accessing the data for the first attribute to the partitioning expression for each of the data stores comprises determining whether the filter for accessing the data for the first attribute and the partitioning expression overlap at least in part by performing a partition compare function using said filter and the partition expressions to determine whether said filter overlaps with one of the partition expressions if said filter and said one of the partition expressions are both simple expressions and performing said partition compare function by treating said filter as an input partition expression and treating the partition expressions as an input filter in order to determine whether said filter overlaps one of the partition expressions if said one of the partition expressions is a composite expression; accessing a previously stored mapping catalog customized for a relational database schema, wherein the mapping catalog maps the first attribute to the relational database schema based on a classification of the first attribute and said mapping catalog identifies a portion of a table in the relational database that stores said data for said first attribute and identifies relationships between tables of said relational database; translating at least a portion of the request based on the mapping catalog; and accessing said portion of said table in said relational database that stores said data for said first attribute based on said translated request. - View Dependent Claims (29, 30, 31, 32, 33)
-
-
34. An apparatus that maps between data formats, comprising:
-
means for receiving a request to access data for a first attribute, said request identifies said data in a first data format, said first data format includes objects, said objects include one or more attributes wherein one or more of said attributes are multi-valued and wherein the request includes the first attribute and a filter for accessing the data for the first attribute; means for determining a relational database from a plurality of data stores to service said request, wherein the plurality of data stores comprises the relational database and at least one LDAP directory and wherein determining the relational database from the plurality of data stores comprises comparing the filter for accessing the data for the first attribute to a partitioning expression for each of the data stores defining data stored in the data store, wherein the partitioning expression is in an LDAP filter format and comparing the filter for accessing the data for the first attribute to the partitioning expression for each of the data stores comprises determining whether the filter for accessing the data for the first attribute and the partitioning expression overlap at least in part by performing a partition compare function using said filter and the partition expressions to determine whether said filter overlaps with one of the partition expressions if said filter and said one of the partition expressions are both simple expressions and performing said partition compare function by treating said filter as an input partition expression and treating the partition expressions as an input filter in order to determine whether said filter overlaps one of the partition expressions if said one of the partition expressions is a composite expression; means for accessing a previously stored mapping catalog customized for a relational database schema, wherein the mapping catalog maps the first attribute to the relational database schema based on a classification of the first attribute and said mapping catalog identifies a portion of a table in the relational database that stores said data for said first attribute and identifies relationships between tables of said relational database; means for translating at least a potion of the request based on the mapping catalog; and means for accessing said portion of said table in said relational database that stores said data for said first attribute based on said translated request. - View Dependent Claims (35)
-
Specification