Update manager for database system
First Claim
1. A data management method, comprising:
- in response to a read request received from an application;
reading, from a database management system of a group of databases, a data object referenced by the read request;
applying a hash function to select data fields of the data object, generating therefrom a first update token, the hash function taking as inputs contents of data field that for which data inconsistencies cannot be tolerated and omitting other data fields, andsending the requested data object and the first update token to a sender of the read request; and
in response to a write request received from the application subsequent to the read request, the write request addressed to the data object and including the first update token;
reading, from the database management system, a current version of the data object;
applying the hash function to the select data fields of the current version of data object, generating therefrom a second update token, andcomparing the first update token received in the write request to the second update token generated from the current version of the data object;
if the first and second update tokens match, executing the write request at the database management system;
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.
1 Assignment
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.
59 Citations
17 Claims
-
1. A data management method, comprising:
-
in response to a read request received from an application; reading, from a database management system of a group of databases, a data object referenced by the read request; applying a hash function to select data fields of the data object, generating therefrom a first update token, the hash function taking as inputs contents of data field that for which data inconsistencies cannot be tolerated and omitting other data fields, and sending the requested data object and the first update token to a sender of the read request; and in response to a write request received from the application subsequent to the read request, the write request addressed to the data object and including the first update token; reading, from the database management system, a current version of the data object; applying the hash function to the select data fields of the current version of data object, generating therefrom a second update token, and comparing the first update token received in the write request to the second update token generated from the current version of the data object; if the first and second update tokens match, executing the write request at the database management system; 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)
-
-
7. A data management method in a multi-application computer system, comprising:
in response to a write request received from a first application, the write request addressed to a data object stored in a database of a group of databases and including an update token received by the first application during a prior interaction with the data object, determining whether the data object has been updated by another application during a time period between generation of the first update token and a time of the write request; reading, from the database, a current version of the data object; applying a hash function to select data fields of the data object, generating therefrom a second update token, the hash function taking as inputs fields of the data object for which data inconsistencies cannot be tolerated, the hash function omitting other data fields of the data object; comparing the first update token received in the write request to the second update token generated from the hash function; and if the first and second update tokens match, executing the write request at the database management system; 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 (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 receiving a read request to read data; forward the read request to a database of a group of databases; receive a requested data object referenced by the read request; select data fields from the requested data object for which data inconsistencies cannot be tolerated; apply a hash function to the selected data fields to generate a first update token and omitting other data fields not selected, wherein the other data fields not selected are data fields for which data inconsistencies can be tolerated, and send the requested data object and the first update token to a sender of the read request; and in response to receiving a write request to write data to a destination data object; compare a second update token contained in the write request to a local update token associated with the destination data object; if the second update token and the local update token match, store data received in the write request to the database; wherein the second and local update tokens will match even if updates to the destination data object have occurred during a time between generation of the second and local update tokens, provided the updates to the destination data object are directed to data fields thereof that are tolerant of data inconsistencies; 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, 17)
-
Specification