Methods and systems for object-based relational distributed databases
First Claim
1. A method of operating a distributed data processing system including a plurality of independent remotely located user computers that process user data in user databases and at least one object broker computer,the user computers being interconnected with the object broker computer by data communication hardware over a data communication network,the user computers being operative to perform data operations of storing, updating, and retrieving user data items in response to user commands, comprising the steps of:
- (a) for a subject at one of the user computers for which data is to be processed in the system, creating an object instance by assigning a unique object identifier to data items associated with the subject by;
(a1) providing a global object identification address space corresponding to a range of object identifiers for association with a plurality of subjects; and
(a2) allocating a predetermined range of object identifiers within the global object identification address space to each remotely located user computer;
(b) storing the data items associated with the subject at the user computer in association with the object identifier;
(c) at the object broker computer, storing the locations of the user computers in a mapping table in association with object identifiers;
(d) in response to a query to the object broker computer for data relating to a particular subject in question, retrieving a selected object identifier for the subject in question;
(e) in response to retrieval of an object identifier for the subject in question in the preceding step, retrieving the location of a remote user computer associated with the selected object identifier; and
(f) retrieving data stored at the remote user computer associated with the selected object identifier via the data communication network.
3 Assignments
0 Petitions
Accused Products
Abstract
An object-based relational distributed database system and associated methods of operation that transforms data stored in a plurality of remote, heterogeneous user databases into a homogeneous data model is disclosed. Data stored in distributed, heterogeneous user database structures is homogenized by mapping into object attributes of predetermined instances of objects forming to a conceptual model that relates the various heterogeneous databases. The object attributes are stored in remote databases at client sites, which can be separate computer systems from the heterogeneous user databases or separate processes running on a computer system that maintains the heterogeneous user databases. The system stores location information and status information relating to the homogenized data in a centralized object broker for object management, thereby facilitating location and retrieval of data items from one or more of the remote, heterogeneous user databases.
-
Citations
85 Claims
-
1. A method of operating a distributed data processing system including a plurality of independent remotely located user computers that process user data in user databases and at least one object broker computer,
the user computers being interconnected with the object broker computer by data communication hardware over a data communication network, the user computers being operative to perform data operations of storing, updating, and retrieving user data items in response to user commands, comprising the steps of: -
(a) for a subject at one of the user computers for which data is to be processed in the system, creating an object instance by assigning a unique object identifier to data items associated with the subject by; (a1) providing a global object identification address space corresponding to a range of object identifiers for association with a plurality of subjects; and (a2) allocating a predetermined range of object identifiers within the global object identification address space to each remotely located user computer; (b) storing the data items associated with the subject at the user computer in association with the object identifier; (c) at the object broker computer, storing the locations of the user computers in a mapping table in association with object identifiers; (d) in response to a query to the object broker computer for data relating to a particular subject in question, retrieving a selected object identifier for the subject in question; (e) in response to retrieval of an object identifier for the subject in question in the preceding step, retrieving the location of a remote user computer associated with the selected object identifier; and (f) retrieving data stored at the remote user computer associated with the selected object identifier via the data communication network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method of operating a distributed data processing system including a plurality of independent remotely located user computers that process user data in user databases,
the user computers being interconnected for data communications by data communication hardware over a data communication network, the user computers being operative to perform data operations of storing, updating, and retrieving user data items in response to user commands, comprising the steps of: -
(a) providing a location service storing information relating object identifiers and location information associated with subsets of data items stored in the plurality of user computers; (b) associating a first object identifier with a selected first set of user data items relating to a first logical object; (c) associating a second object identifier with a selected second set of user data items relating to a second logical object; (d) associating a third object identifier with a third set of user data items relating to a third logical object, the third set of user data items including particular data items corresponding to the first logical object and the second logical object; (e) in response to a selected search term relating to the third logical object originating at one of the user computers, searching an object index relating search terms to the object identifiers to obtain the third object identifier; (f) consulting the location service based on the third object identifier to obtain the related first object identifier and second object identifier; (g) determining selected locations of a user computer storing data items associated with the first object identifier and a user computer storing data items associated with the second object identifier; (h) retrieving data items associated with the first object identifier and the second object identifier from the selected user computers; and (i) joining the retrieved selected data items associated with the first object identifier and the second object identifier to obtain a complete set of data items associated with the third object identifier. - View Dependent Claims (44, 45, 46)
-
-
47. A method of operating a distributed data processing system including a plurality of independent remotely located user computers that process user data in user databases and at least one object broker computer,
the user computers being interconnected with the object broker computer by data communication hardware over a data communication network, the user computers being located at a user computer site including at least one customer database and at least one remote database associated therewith, the user computers being operative to perform data operations of storing, updating, and retrieving user data items in response to user commands, comprising the steps of: -
(a) for a subject at one of the user computers for which data is to be processed in the system, creating an object instance by assigning a unique object identifier to data items associated with the subject; (b) storing the data items associated with the subject at the user computer in association with the object identifier by; (b1) importing data items from a customer database into an associated remote database as selected data attributes associated with a particular object identifier by; (b1a) importing a first set of data items from the customer database as object attributes associated with a first object identifier; (b1b) determining that the first object identifier is related to at least one additional second object identifier; and (b1c) importing a second set of data items from the customer database as object attributes associated with the second object identifier; and (b2) communicating the particular object identifier to the object broker computer; (c) at the object broker computer, storing the locations of the user computers in a mapping table in association with object identifiers; (d) in response to a query to the object broker computer for data relating to a particular subject in question, retrieving a selected object identifier for the subject in question; (e) in response to retrieval of an object identifier for the subject in question in the preceding step, retrieving the location of a remote user computer associated with the selected object identifier; (f) retrieving data stored at the remote user computer associated with the selected object identifier via the data communication network; (g) storing object attributes associated with the first object identifier in a first object attribute table; (h) storing the first object identifier and the second object identifier in a junction table relating object identifiers to each other; (i) storing object attributes associated with the second object identifier in a second object attribute table; (j) in response to a determination that the storing of object attributes for the second object identifier calls for information corresponding to the first object identifier, storing the first object identifier in a corresponding field in the second object attribute table, whereby reference to the second object identifier causes referral to the first object identifier for selected object attributes. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A method of operating a distributed data processing system including a plurality of independent remotely located user computers that process user data in user databases and at least one object broker computer,
the user computers being interconnected with the object broker computer by data communication hardware over a data communication network, the user computers being operative to perform data operations of storing, updating, and retrieving user data items in response to user commands, comprising the steps of: -
(a) for a subject at one of the user computers for which data is to be processed in the system, creating an object instance by assigning a unique object identifier to data items associated with the subject; (b) storing the data items associated with the subject at the user computer in association with the object identifier; (c) at the object broker computer, storing the locations of the user computers in a mapping table in association with object identifiers; (d) in response to a query to the object broker computer for data relating to a particular subject in question, retrieving a selected object identifier for the subject in question; (e) in response to retrieval of an object identifier for the subject in question in the preceding step, retrieving the location of a remote user computer associated with the selected object identifier; (f) retrieving data stored at the remote user computer associated with the selected object identifier via the data communication network; (g) maintaining an object index table at the object broker computer for relating at least one predetermined search term to at least one object identifier, wherein the object index table for relating at least one predetermined search term to at least one object identifier is a relational data base table; and (h) maintaining a junction index table relating object identifiers corresponding to a first class of objects to object identifiers corresponding to a second class of objects. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
-
Specification