Linked databases
First Claim
1. An enterprise database system comprising:
- a processor;
a plurality of databases participating together as participants of an enterprise database for an enterprise, the enterprise having a plurality of enterprise domains, the enterprise database combining together objects from the plurality of enterprise domains to present a data set as being available from a single database;
each database in the plurality of databases including an instance database and an associated cache, a local table, and a relationship table,wherein the instance database stores objects more frequently accessed from an enterprise domain, from among the plurality of enterprise doamins, andwherein the associated cache stores cached instances of other objects frets more frequently accessed from one or more other enterprise domains, from among the plurality of enterprise domains, but that are at least temporarily relevant within the enterprise domain,wherein the local table lists locally stored objects, including objects stored in the instance database and other objects stored in the associated cache, andwherein the relationship table indicates relationships between objects stored in the database and objects stored in the one or more other databases, the one or more other databases for different enterprise domains from among the plurality of enterprise domains;
each enterprise domain including one or more database clients configured to process a query issued against the enterprise database from within the enterprise domain, including;
receive a request for one or more objects stored in the enterprise database, the one or more objects identified in a query issued against the enterprise database from within the enterprise domain;
refer to the local table to determine if any of the one or more requested objects are available locally in the database, including determining if any of the one or more requested objects are stored in the instance database due to being more frequently accessed from the enterprise domain or if any of the one or more requested objects are stored in the associated cache due to being at least temporarily relevant within the enterprise domain;
for any of the one or more requested objects not available locally, refer to the relationship table to determine if there is a relationship between the requested object and another database from among the one or more other databases, the other database in one of the one or more other enterprise domains;
for at least one object not locally available and for which the relationship table does indicate a relationship to another database, directly access the at least one object from the other enterprise domain by using a reference to the other database contained in the relationship table, directly accessing the at least one object from the other database conserving network resources; and
for any of the one or more requested objects not available locally and for which the relationship table does not indicate a relationship to another individual database;
query the one or more other databases to determine the location of the requested object; and
query the determined location to retrieve the requested object.
3 Assignments
0 Petitions
Accused Products
Abstract
Several local databases may be linked together to form a large database. Each database may share a common type definition, but may contain only a portion of the large database. When a local database queries information from another database, the result may be stored locally using the type system. Across the entire database, items may be identified as their local or home database along with an identifier provided by that database. Cached information may be stored locally and may refer to the source for that information through the identifier. Once the cached information is present, queries that reference the record may be satisfied by the cached information. The cached information may be refreshed from the source database or may expire to avoid stale or changed data in the cache.
40 Citations
20 Claims
-
1. An enterprise database system comprising:
-
a processor; a plurality of databases participating together as participants of an enterprise database for an enterprise, the enterprise having a plurality of enterprise domains, the enterprise database combining together objects from the plurality of enterprise domains to present a data set as being available from a single database; each database in the plurality of databases including an instance database and an associated cache, a local table, and a relationship table, wherein the instance database stores objects more frequently accessed from an enterprise domain, from among the plurality of enterprise doamins, and wherein the associated cache stores cached instances of other objects frets more frequently accessed from one or more other enterprise domains, from among the plurality of enterprise domains, but that are at least temporarily relevant within the enterprise domain, wherein the local table lists locally stored objects, including objects stored in the instance database and other objects stored in the associated cache, and wherein the relationship table indicates relationships between objects stored in the database and objects stored in the one or more other databases, the one or more other databases for different enterprise domains from among the plurality of enterprise domains; each enterprise domain including one or more database clients configured to process a query issued against the enterprise database from within the enterprise domain, including; receive a request for one or more objects stored in the enterprise database, the one or more objects identified in a query issued against the enterprise database from within the enterprise domain; refer to the local table to determine if any of the one or more requested objects are available locally in the database, including determining if any of the one or more requested objects are stored in the instance database due to being more frequently accessed from the enterprise domain or if any of the one or more requested objects are stored in the associated cache due to being at least temporarily relevant within the enterprise domain; for any of the one or more requested objects not available locally, refer to the relationship table to determine if there is a relationship between the requested object and another database from among the one or more other databases, the other database in one of the one or more other enterprise domains; for at least one object not locally available and for which the relationship table does indicate a relationship to another database, directly access the at least one object from the other enterprise domain by using a reference to the other database contained in the relationship table, directly accessing the at least one object from the other database conserving network resources; and for any of the one or more requested objects not available locally and for which the relationship table does not indicate a relationship to another individual database; query the one or more other databases to determine the location of the requested object; and query the determined location to retrieve the requested object. - View Dependent Claims (2, 3, 4)
-
-
5. At a computer system, the computer system including a database and a processor, the database participating with one or more other databases to form an enterprise database for an enterprise, the enterprise having a plurality of enterprise domains, the enterprise database combining together objects from the plurality of enterprise domains to present a data set as being available from a single database, the database having an instance database and an associated cache, a local table, and a relationship table, the instance database storing objects more frequently accessed from an enterprise domain, from among the plurality of enterprise domains, the associated cache storing cached instances of other objects more frequently accessed from one or more other enterprise domains, from among the plurality of enterprise domains, but that are at least temporarily relevant within the enterprise domain, the local table listing locally stored objects, the relationship table indicating relationships between objects stored in the database and objects stored in the one or more other databases, the one or more other databases for different enterprise domains from among the plurality of enterprise domains, a method for identifying data responsive to a query issued against the enterprise database, the method comprising the processor:
-
receiving a request for one or more objects stored in the enterprise database, the one or more objects identified in a query issued against the enterprise database from within the enterprise domain; referring to the local table to determine if any of the one or more requested objects are locally available in the database, including determining if any of the one or more requested objects are stored in the instance database due to being more frequently accessed from the enterprise domain or if any of the one or more requested objects are stored in the associated cache due to being at least temporarily relevant within the enterprise domain; for any of the one or more requested objects not locally available, referring to the relationship table to determine if there is a relationship between the requested object and another database from among the one or more other databases, the other database in one of the one or more other enterprise domains; for at least one object not locally available and for which the relationship table does indicate a relationship to another database, directly accessing the at least one object from the other enterprise domain by using a reference to the other database contained in the relationship table, directly accessing the at least one object from the other database conserving network resources; and for any of the one or more requested objects not available locally and for which the relationship table does not indicate a relationship to another database, querying the one or more other databases to determine the location of the requested object. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product for use at a computer system, the computer system including a database, the database participating with one or more other databases to form an enterprise database for an enterprise, the enterprise having a plurality of enterprise domains, the enterprise database combining together different objects from the plurality of enterprise domains to present a data set as being available from a single database, the database having an instance database and an associated cache, a local table, and a relationship table, the instance database storing objects more frequently accessed from an enterprise domain, from among the plurality of enterprise domains, the associated cache storing cached instances of other objects more frequently accessed from one or more other enterprise domains, from among the plurality of enterprise domains, but that are at least temporarily relevant within the enterprise domain, the local table listing locally stored objects, the reference relationship table indicating relationships between objects stored in the database and objects stored in the one or more other databases, the one or more other databases for different enterprise domains from among the plurality of enterprise domains, the computer program product for implementing a method for identifying data responsive to a query issued against the enterprise database, the computer program product comprising one or computer storage devices having stored thereon computer-executable instructions that, when executed at a processor, cause the computer system to perform the method, including the following:
-
receive a request for one or more objects stored in the enterprise database, the one or more objects identified in a query issued against the enterprise database from within the enterprise domain; refer to the local table to determine if any of the one or more requested objects are locally available in the database, including determining if any of the one or more requested objects are stored in the instance database due to being more frequently accessed from the enterprise domain or if any of the one or more requested objects are stored in the associated cache due to being at least temporarily relevant within the enterprise domain; for any of the one or more requested objects not locally available, refer to the relationship table to determine if there is a relationship between the requested object and another database from among the one or more other databases, the other database in one of the one or more other enterprise domains; for at least one object not locally available and for which the relationship table does indicate a relationship to another database, directly access the at least one object from the other enterprise domain by using a reference to the other database contained in the relationship table, directly accessing the at least one object from the other database conserving network resources; and for any of the one or more requested objects not available locally and for which the relationship table does not indicate a relationship to another database, query the one or more other databases to determine the location of the requested object. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification