Method and system for object-based relational distributed databases
First Claim
1. A method of operating a distributed data processing system including a plurality of 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 via a data communication network,the user computers being operative to perform data processing operations upon user data in response to user commands, comprising the steps of:
- (a) creating an object instance by assigning a unique object identifier to data items associated with a particular 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) associating a selected object identifier with data items stored in each of a plurality of user computers, some of the data items associated with the selected object identifier at a first one of the plurality of user computers being different from corresponding data items associated with the selected object identifier at a second one of the plurality of user computers;
(e) in response to a query to the object broker computer for data relating to the particular subject, retrieving the selected object identifier;
(f) in response to retrieval of an object identifier for the subject in the preceding step, retrieving the location of a selected one of the plurality of user computers associated with the selected object identifier; and
(g) retrieving data stored at the selected one of the plurality of user computers associated with the selected object identifier via the data communication network.
2 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.
599 Citations
118 Claims
-
1. A method of operating a distributed data processing system including a plurality of 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 via a data communication network, the user computers being operative to perform data processing operations upon user data in response to user commands, comprising the steps of: -
(a) creating an object instance by assigning a unique object identifier to data items associated with a particular 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) associating a selected object identifier with data items stored in each of a plurality of user computers, some of the data items associated with the selected object identifier at a first one of the plurality of user computers being different from corresponding data items associated with the selected object identifier at a second one of the plurality of user computers; (e) in response to a query to the object broker computer for data relating to the particular subject, retrieving the selected object identifier; (f) in response to retrieval of an object identifier for the subject in the preceding step, retrieving the location of a selected one of the plurality of user computers associated with the selected object identifier; and (g) retrieving data stored at the selected one of the plurality of user computers 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, 44)
-
-
45. 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 central computer,
the user computers being interconnected with the central computer via a data communication network, the user computers being operative to perform data processing operations upon user data items in response to user commands, comprising the steps of: -
(a) determining a set of objects, each object comprising a predetermined collection of attributes relating to a subject, each of the attributes comprising a data item; (b) 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; (c) for the object, storing the attributes associated with the subject at the user computer in association with the object identifier in an object attribute table, the object attribute table being identified by an object attribute table identifier; (d) transmitting a data message from the user computer that created the object to the central computer comprising the object identifier and the object attribute table identifier associated with the object; (e) at the central computer, storing the locations of the user computers in a mapping table in association with object identifiers and the object attribute table identifiers; (f) at the central computer, providing an index table relating the object identifiers to at least one predetermined search term, each search term comprising at least one data item associated with objects; (g) in response to a query to the central computer for data relating to a particular subject in question, consulting the index table to retrieve an object identifier for the subject in question; (h) 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 retrieved object identifier from the mapping table; and (i) retrieving data stored at the remote user computer associated with the object identifier. - View Dependent Claims (46, 47)
-
-
48. A method of operating a distributed data processing system including a plurality of remotely located user computers that process user data and at least one central computer,
the user computers being interconnected with the central computer via a data communication network, the user computers being operative to perform data processing operations in response to user commands, comprising the steps of: -
(a) maintaining a mapping table in the central computer, the mapping table comprising a plurality of map table entries, each map table entry comprising object identifiers, location information, and status information associated with at least one data item stored in at least one of the user computers; (b) in response to a query for information relating to a queried data item from a user at a querying one of the user computers, transmitting a query message from the querying user computer to the central computer via the data communication network, the query message including an object identifier associated with the queried data item; (c) receiving the query message at the central computer; (d) at the central computer, retrieving any stored map table entries from the mapping table corresponding to the object identifier associated with the queried data item; (e) evaluating in accordance with predetermined status criteria the status information for the retrieved map table entries and determining the location of a selected one of a plurality of user computers having selected information stored therein concerning the queried data item; (f) using the determined location, transmitting a get message including the object identifier associated with the queried data item from the central computer to the selected user computer via the data communication network; (g) in response to the get message at the selected user computer, retrieving the selected information associated with the object identifier associated with the queried data item; (h) transmitting the retrieved selected information to the central computer from the selected user computer via the data communications network; and (i) upon receipt of the retrieved selected information at the central computer from the selected user computer, transmitting the retrieved selected information to the querying user computer via the data communications network. - View Dependent Claims (49)
-
-
50. A method of operating a distributed data processing system including a plurality of remotely located user computers and at least one central computer,
the user computers being interconnected with the central computer via a data communication network, comprising the steps of: -
(a) at a first user computer, associating a particular object identifier with selected data items; (b) transmitting the particular object identifier from the first user computer to the central computer via the data communication network; (c) at a second user computer, associating the particular object identifier with different selected data items; (d) transmitting the particular object identifier from the second user computer to the central computer via the data communication network; and (e) at the central computer, storing the particular object identifiers from the first user computer and from the second user computer as plural map table entries in a mapping table, each of the map table entries including location information corresponding to the location of the first user computer and of the second user computer, and status information relating to the selected data items. - View Dependent Claims (51, 52, 53, 54, 55)
-
-
56. A method of operating a distributed data processing system including a plurality of remotely located user computers that process user data in user databases,
the user computers being interconnected via a data communication network, comprising the steps of: -
(a) maintaining an object location service for associating object identifiers with search terms, object attribute table identifiers corresponding to object attribute tables located at user computers, and locations of user computers storing object attribute tables corresponding to object attribute table identifiers; (b) at a selected user computer, associating a particular object identifier with a selected set of user data items; (c) storing the selected set of user data items in a selected object attribute table at the selected user computer, the selected object attribute table being identified by a selected object attribute table identifier; (d) transmitting the particular object identifier, a selected search term associated with the object identifier, and the object attribute table identifier to the location service via the data communication network; and (e) at the location service, storing the particular object identifier, the selected search term, the selected object attribute table identifier, and location information. - View Dependent Claims (57, 58, 59, 60, 61, 62)
-
-
63. A method of operating a distributed data processing system including a plurality of remotely located user computers that process user data in user databases and at least one central computer,
the user computers being interconnected with the central computer via a data communication network, comprising the steps of: -
(a) maintaining at the central computer an object index associating object identifiers with search terms; (b) maintaining at the central computer a map table associating object identifiers with object attribute table identifiers corresponding to object attribute tables located at user computers, and locations of user computers storing object attribute tables corresponding to object attribute table identifiers; (c) at a computer associated with a selected user computer, associating a particular object identifier with a selected set of user data items in the selected user computer; (d) storing the selected set of user data items in a selected object attribute table at the selected user computer, the selected object attribute table being identified by a selected object attribute table identifier; (e) transmitting the particular object identifier, a selected search term associated with the object identifier, and the object attribute table identifier to the central computer via the data communication network; and (f) at the central computer, storing the particular object identifier and the selected search term in the object index, and the selected object attribute table identifier and location information in the map table. - View Dependent Claims (64, 65, 66, 67, 68)
-
-
69. A method of operating a distributed data processing system including a plurality of remotely located user computers that process user data in user databases,
the user computers being interconnected via a data communication network, comprising the steps of: -
(a) associating the same predetermined object identifier with a selected subset of data items stored in each of a plurality of user computers, the selected subset of data items in each of the plurality of user computers corresponding to the same logical object, a selected subset of data items associated with a selected object identifier stored at a first user computer being more current than a corresponding subset of data items associated with the same object identifier at a second user computer as indicated by status information; (b) providing a location service storing information relating object identifiers, location information, and status information associated with subsets of data items stored in the plurality of user computers; (c) in response to a request for information relating to a particular logical object from a user at a requesting one of the user computers, searching an object index based on a selected search term to obtain at least one selected object identifier; (d) consulting the location service based on the selected object identifier to obtain status information; (e) examining the status information and the location information to determine a selected location of a selected user computer storing the most current data items associated with the selected object identifier; (f) retrieving selected data items from the selected user computer; and (g) transmitting the retrieved selected data items from the selected user computer to the requesting one of the user computers. - View Dependent Claims (70, 71, 72, 73, 74, 75)
-
-
76. A method of operating a distributed data processing system including a plurality of remotely located user computers that store user data in heterogeneous user databases,
the user computers being interconnected via a data communication network, comprising the steps of: -
(a) determining a selected subset of heterogeneous user data items at one of the user computers corresponding to a predetermined logical object; (b) homogenizing the selected subset of heterogeneous user data items to obtain homogenized data items by associating at least portions of the user data items with a predetermined object identifier related to the predetermined logical object; (c) maintaining an index relating search terms to object identifiers associated with logical objects with; and (d) maintaining a map table relating object identifiers with location information indicative of the location of each user computer that stores homogenized data items in association with object identifiers. - View Dependent Claims (77, 78, 79)
-
-
80. A method of operating a distributed computing system including a plurality of remotely located user computers that store user data items, comprising the steps of:
-
providing a location service storing information relating to object identifiers, location information relating to locations of remotely located user computers where attributes of objects associated with object identifiers are stored, and status information relating to the currency of object attributes, where object attributes comprise user data items; providing at least one object index relating predetermined search terms to object identifiers; at a requesting computer, providing a selected search term for locating an object; searching the object index based on the selected search term to determine whether an object identifier is associated with the selected search term; in response to a determination in the preceding step that an object identifier is associated with the selected search term, retrieving a selected object identifier associated with the selected search term from the location service; retrieving status information from the location service based on the selected object identifier; utilizing the status information, determining selected location information from the location service indicative of the most current information for selected object attributes associated with the selected object identifier; initiating a communication to a user computer associated with the selected location information to retrieve the selected object attributes associated with the selected object identifier; and transmitting the selected object attributes to the requesting computer. - View Dependent Claims (81, 82, 83, 84, 85)
-
-
86. A method of operating a distributed data processing system including a plurality of remotely located user computers,
the user computers being interconnected for data communications via a data communication network, comprising the steps of: -
(a) providing a location service storing information relating object identifiers and location information associated with data items stored in a plurality of user computers; (b) providing a first object identifier in association with data items relating to a first logical object; (c) providing at least one second object identifier in association with data items relating to at least one second logical object; (d) providing an object index table for associating the first logical object with at least one second logical object by storing the first object identifier in association with at least one second object identifier; (e) in response to a request for information relating to the first logical object originating at one of the user computer, searching the object index table based on the first object identifier to obtain at least one selected second object identifier associated with at least one second logical object; (f) consulting the location service based on the at least one selected second object identifier to obtain the location of a selected user computer storing data items associated with the at least one selected second object identifier; and (g) retrieving data items associated with the at least one second object identifier from the selected user computer. - View Dependent Claims (87, 88, 89)
-
-
90. A method of operating a distributed data processing system including a plurality of remotely located user computers,
the user computers being interconnected for data communications via a data communication network, comprising the steps of: -
(a) providing a location service storing information relating object identifiers and location information associated with data items stored in a plurality of user computers; (b) providing a plurality of types of object identifiers, each object identifier being associated with data items relating to a logical object of a predetermined type; (c) providing an object index table for associating logical objects by storing object identifiers of one type in association with object identifiers of a different type; (d) in response to a request for information relating to a particular logical object of a first type originating at one of the user computers, searching the object index table based on the object identifier of the particular logical object to obtain one or more selected object identifiers of a second type associated with one or more second logical objects; (e) consulting the location service based on the one or more selected object identifiers of the second type to obtain the location of one or more selected user computers storing data items associated with the one or more selected object identifiers of the second type; and (f) retrieving data items associated with the one or more selected object identifiers of the second type from the one or more selected user computers. - View Dependent Claims (91, 92, 93, 94)
-
-
95. A method of operating a distributed data processing system including a plurality of remotely located user computers and at least one central computer,
the user computers being interconnected with the central computer via a data communication network, comprising the steps of: -
(a) providing an object attribute table in at least one of the user computers for storing data items in association with object identifiers; (b) providing an object index table at the central computer for associating predetermined search information to object identifiers; (c) providing a mapping table at the central computer for storing locations of the user computers and object attribute tables at the user computers in association with object identifiers; (d) assigning a selected object identifier to data items associated with a particular subject; (e) storing the data items associated with the particular subject in association with the selected object identifier at a particular user computer; (f) in response to a query to the central computer for data relating to the particular subject, utilizing the predetermined search information in the object index table to retrieve the selected object identifier associated with the subject; (g) utilizing the selected object identifier, determining from the mapping table the location of the particular user computer and an object attribute table at the particular user computer; (h) retrieving data items associated with the selected object identifier that are stored in the object attribute table at the particular user computer via the data communication network.
-
-
96. A distributed computer system, comprising:
-
a plurality of remotely located user computers, each of the user computers being operative to perform data processing operations in response to user commands; at least one central computer; a data communication network connecting the user computers with the central computer; each of the user computers being operative for; storing data items in association with an object identifier; and transmitting said object identifier to said central computer; the central computer being operative for storing object identifiers received from the user computers in association with information indicating the location of the user computers; and the central computer being operative for storing plural instances of a particular object identifier associated with data items stored in each of a plurality of user computers, some of the data items associated with the particular object identifier at a first one of the plurality of user computers being different from corresponding data items associated with the particular object identifier at a second one of the plurality of user computers. - View Dependent Claims (97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117)
-
-
118. A distributed data processing system, comprising:
-
a plurality of remotely located user computers; at least one central computer; a data communication network connecting the user computers with the central computer; an object attribute table stored in at least one of the user computers for storing data items in association with object identifiers; an object index table at the central computer for associating predetermined search information to object identifiers; a mapping table at the central computer for storing locations of the user computers and object attribute tables at the user computers in association with object identifiers; a user computer being operative for; assigning a selected object identifier to data items associated with a particular subject; and storing the data items associated with the particular subject in association with the selected object identifier; the central computer being operative in response to a query for data relating to the particular subject for; utilizing the predetermined search information in the object index table to retrieve the selected object identifier associated with the subject; utilizing the selected object identifier, determining from the mapping table the location of a particular user computer storing data items associated with the particular subject and the identity of a particular object attribute table at the particular user computer in which said data items are stored; and retrieving data items associated with the selected object identifier that are stored in the particular object attribute table at the particular user computer via the data communication network.
-
Specification