Update manager for database system
First Claim
1. A data management method, comprising:
- in response to a first read request to read data from a group of databases;
reading a requested data object referenced by the first read request from a database of the group of databases, andreturning the requested data object and a first update token to a sender of the first read request, wherein the first update token is generated by applying a hash function to selected data fields of the requested data object for which data inconsistencies cannot be tolerated and the first update token is not changed before any data in the selected data fields of the requested data object is changed, other data fields not selected are omitted by the hash function and the other data fields not selected are data fields for which data inconsistencies can be tolerated; and
in response to a second read request to read the requested data object from the database;
returning the requested data object and the first update token to a sender of the second read request,in response to a first write request to store updated data for the requested data object to the database;
storing updated data for the requested data object to the database, the updated data comprise updates to at least one selected data fields for which data inconsistencies cannot be tolerated;
generating a second update token by applying the hash function to the selected data fields of the requested data object for which data inconsistencies cannot be tolerated;
in response to a second write request to store updated data for the requested data object to the database;
comparing the second update token to an update token contained in the second write request to store updated data, andwhen the second update token and the update token contained in the second write request to store updated data match, storing data received in the second write request to the database,wherein the second update token and the update token contained in the second write request to store updated data will match even if updates to the requested data object stored at the database have occurred during a time between generation of the update token contained in the second write request to store updated data and the second update token, provided the updates to the stored requested data object are only directed to data fields thereof that are tolerant of data inconsistencies, andwherein the group of databases comprise a first database that provides native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously and a second database that does not provide native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously.
2 Assignments
0 Petitions
Accused Products
Abstract
A database management protocol exchanges update tokens between a client and a server on which the database resides. When a client requests data to be read from a database, an update manager either reads an update token stored therein or generates one dynamically. The update token represents a current state of the data object being read. Sometime thereafter, if the client requests new data to be stored in the object, the client may furnish the update token back to the update manager. The update manager compares the client'"'"'s update token to a local update token representing a current state of the database and, if they match, determines that the state has not changed. If they do not match, an error results.
-
Citations
16 Claims
-
1. A data management method, comprising:
-
in response to a first read request to read data from a group of databases; reading a requested data object referenced by the first read request from a database of the group of databases, and returning the requested data object and a first update token to a sender of the first read request, wherein the first update token is generated by applying a hash function to selected data fields of the requested data object for which data inconsistencies cannot be tolerated and the first update token is not changed before any data in the selected data fields of the requested data object is changed, other data fields not selected are omitted by the hash function and the other data fields not selected are data fields for which data inconsistencies can be tolerated; and in response to a second read request to read the requested data object from the database; returning the requested data object and the first update token to a sender of the second read request, in response to a first write request to store updated data for the requested data object to the database; storing updated data for the requested data object to the database, the updated data comprise updates to at least one selected data fields for which data inconsistencies cannot be tolerated; generating a second update token by applying the hash function to the selected data fields of the requested data object for which data inconsistencies cannot be tolerated; in response to a second write request to store updated data for the requested data object to the database; comparing the second update token to an update token contained in the second write request to store updated data, and when the second update token and the update token contained in the second write request to store updated data match, storing data received in the second write request to the database, wherein the second update token and the update token contained in the second write request to store updated data will match even if updates to the requested data object stored at the database have occurred during a time between generation of the update token contained in the second write request to store updated data and the second update token, provided the updates to the stored requested data object are only directed to data fields thereof that are tolerant of data inconsistencies, and wherein the group of databases comprise a first database that provides native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously and a second database that does not provide native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system, comprising
one or more integrated computer servers each comprising a computer processor, the computer servers being interconnected by a computer network and executing, by respective computer processors: -
applications to be used by a plurality of distributed operators, the applications including execution engines and associated data sets stored in a group of databases, wherein among the group of databases, a first database provides native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously, and a second database does not provide any native support for update control, and an update manager to govern update operations from disparate users to the data sets stored in the group of databases, the update manager adapted to; in response to a first read request to read data from the group of databases; read a requested data object referenced by the first read request from a database of the group of databases, and return the requested data object and a first update token to a sender of the first read request, wherein the first update token is generated by applying a hash function to selected data fields of the requested data object for which data inconsistencies cannot be tolerated and the first update token is not changed before any data in the selected data fields of the requested data object is changed, other data fields not selected are omitted by the hash function and the other data fields not selected are data fields for which data inconsistencies can be tolerated; and in response to a second read request to read the requested data object from the database; return the requested data object and the first update token to a sender of the second read request, in response to a first write request to store updated data for the requested data object to the database; store updated data for the requested data object to the database, the updated data comprise updates to at least one selected data fields for which data inconsistencies cannot be tolerated; generate a second update token by applying the hash function to the selected data fields of the requested data object for which data inconsistencies cannot be tolerated; in response to a second write request to store updated data for the requested data object to the database; compare the second update token to an update token contained in the second write request to store updated data, and when the second update token and the update token contained in the second write request to store updated data match, store data received in the second write request to the database, wherein the second update token and the update token contained in the second write request to store updated data will match even if updates to the requested data object stored at the database have occurred during a time between generation of the update token contained in the second write request to store updated data and the second update token, provided the updates to the stored requested data object are only directed to data fields thereof that are tolerant of data inconsistencies. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. An apparatus for data management, the apparatus comprising:
-
a memory device having executable instructions stored therein; and a processor in operable communication with the memory device and operative to; in response to a first read request to read data from a group of databases; read a requested data object referenced by the first read request from a database of the group of databases, and return the requested data object and a first update token to a sender of the first read request, wherein the first update token is generated by applying a hash function to selected data fields of the requested data object for which data inconsistencies cannot be tolerated and the first update token is not changed before any data in the selected data fields of the requested data object is changed, other data fields not selected are omitted by the hash function and the other data fields not selected are data fields for which data inconsistencies can be tolerated; and in response to a second read request to read the requested data object from the database; return the requested data object and the first update token to a sender of the second read request, in response to a first write request to store updated data for the requested data object to the database; store updated data for the requested data object to the database, the updated data comprise updates to at least one selected data fields for which data inconsistencies cannot be tolerated; generate a second update token by applying the hash function to the selected data fields of the requested data object for which data inconsistencies cannot be tolerated; in response to a second write request to store updated data for the requested data object to the database; compare the second update token to an update token contained in the second write request to store updated data, and when the second update token and the update token contained in the second write request to store updated data match, store data received in the second write request to the database, wherein the second update token and the update token contained in the second write request to store updated data will match even if updates to the requested data object stored at the database have occurred during a time between generation of the update token contained in the second write request to store updated data and the second update token, provided the updates to the stored requested data object are only directed to data fields thereof that are tolerant of data inconsistencies, and wherein the group of databases comprise a first database that provides native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously and a second database that does not provide native support for update control that prevents inconsistencies introduced by multiple attempts to update same data simultaneously. - View Dependent Claims (13, 14, 15, 16)
-
Specification