Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas
First Claim
1. A computer-implemented method for controlling a plurality of updates of stored data in a plurality of data replicas, the computer-implemented method comprising:
- initializing an arbitration token specifying an order in which the arbitration token is to be passed to each replica administration agent in the plurality of data replicas;
responsive to receiving a data request in a memory from a requestor, identifying a data replica, that is next in line to receive the arbitration token, to resolve the data request to form an identified data replica;
transmitting an update data request to a replica administration agent of the data replica if the data request is an update data request;
determining whether the arbitration token is present in the replica administration agent of the data replica;
responsive to a determination that the arbitration token is present in the replica administration agent of the data replica, updating the data, by the replica administration agent, in the identified data replica in an amount of time permitted by the arbitration token;
transmitting an updated arbitration token to a next replica administration agent in the plurality of data replicas in an order specified in the arbitration token;
determining the order from a plurality of entries in a data replication column, each of the plurality of entries corresponding to a particular data replica of the plurality of data replicas identified in a data replica identity column, the plurality of entries indicating the order in which the arbitration token is passed between the plurality of data replicas, wherein the data replication column and the data replica identity column are in a table in the arbitration token;
responsive to a determination that the data request is an update data request, calculating the amount of time by multiplying a quality of service time delay value times a data replica weight to get a product and dividing the product by a data replica weight of a highest weighted data replica, wherein the quality of service time delay value is retrieved from a quality of service time delay column in a table and the data replica weight is retrieved from a data replica weight column in the table;
responsive to a determination that the data request is not an update data request, determining whether requested data of the data request is in a cache of the identified data replica;
responsive to a determination that the requested data is in the cache, retrieving the requested data from the cache; and
transmitting the requested data to the requestor through a communications unit.
1 Assignment
0 Petitions
Accused Products
Abstract
Illustrative embodiments present a computer-implemented method for controlling update of stored data in a set of data replicas. The computer-implemented method responsive to receiving a data request from a requester, identifies a data replica to resolve the data request to form an identified data replica. The computer-implemented method transmits an update data request to a replica administration agent if the data request is an update data request, determines whether an arbitration token is present, and responsive to a determination that the arbitration token is present; a replica administration agent updates the data in the identified data replica.
-
Citations
17 Claims
-
1. A computer-implemented method for controlling a plurality of updates of stored data in a plurality of data replicas, the computer-implemented method comprising:
-
initializing an arbitration token specifying an order in which the arbitration token is to be passed to each replica administration agent in the plurality of data replicas; responsive to receiving a data request in a memory from a requestor, identifying a data replica, that is next in line to receive the arbitration token, to resolve the data request to form an identified data replica; transmitting an update data request to a replica administration agent of the data replica if the data request is an update data request; determining whether the arbitration token is present in the replica administration agent of the data replica; responsive to a determination that the arbitration token is present in the replica administration agent of the data replica, updating the data, by the replica administration agent, in the identified data replica in an amount of time permitted by the arbitration token; transmitting an updated arbitration token to a next replica administration agent in the plurality of data replicas in an order specified in the arbitration token; determining the order from a plurality of entries in a data replication column, each of the plurality of entries corresponding to a particular data replica of the plurality of data replicas identified in a data replica identity column, the plurality of entries indicating the order in which the arbitration token is passed between the plurality of data replicas, wherein the data replication column and the data replica identity column are in a table in the arbitration token; responsive to a determination that the data request is an update data request, calculating the amount of time by multiplying a quality of service time delay value times a data replica weight to get a product and dividing the product by a data replica weight of a highest weighted data replica, wherein the quality of service time delay value is retrieved from a quality of service time delay column in a table and the data replica weight is retrieved from a data replica weight column in the table; responsive to a determination that the data request is not an update data request, determining whether requested data of the data request is in a cache of the identified data replica; responsive to a determination that the requested data is in the cache, retrieving the requested data from the cache; and transmitting the requested data to the requestor through a communications unit. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system for controlling update of stored data in a plurality of data replicas, the data processing system comprising:
-
a bus; a memory connected to the bus, wherein the memory contains computer-executable instructions; a processor unit, connected to the bus, wherein the processor unit executes the computer-executable instructions to direct the data processing to; initialize an arbitration token specifying an order in which the arbitration token is to be passed to each replica administration agent in the plurality of data replicas; responsive to receiving a data request from a requestor, identify a data replica to resolve the data request to form an identified data replica; transmit an update data request to a replica administration agent if the data request is an update data request; determine whether the arbitration token is present in the replica administration agent of the data replica; and responsive to a determination that the arbitration token is present in the replica administration agent of the data replica, update the data in the identified data replica by the replica administration agent in an amount of time permitted by the arbitration token; and transmitting an updated arbitration token to a next replica administration agent in the plurality of data replicas in the order specified in the arbitration token; determining the order from a plurality of entries in a data replication column, each of the plurality of entries corresponding to a particular data replica of the plurality of data replicas identified in a data replica identity column, the plurality of entries indicating the order in which the arbitration token is passed between the plurality of data replicas, wherein the data replication column and the data replica identity column are in a table in the arbitration token; determining whether the data request is an update data request; responsive to a determination that the data request is an update data request, calculating the amount of time by multiplying a quality of service time delay times a data replica weight to get a product and dividing the product by a data replica weight of a highest weighted data replica, wherein the quality of service time delay value is retrieved from a quality of service time delay column in the table and the data replica weight is retrieved from a data replica weight column in the table; responsive to a determination that the data request is not an update data request, determining whether requested data of the data request is in a cache of the identified data replica; responsive to a determination that the requested data is in the cache, retrieving the requested data from the cache; and transmit the requested data to the requestor. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for controlling update of stored data in a plurality of data replicas, the computer program product comprising:
-
a non-transitory computer-recordable storage medium containing computer-executable instructions stored thereon, the computer-executable instructions comprising; computer-executable instructions for initializing an arbitration token specifying an order in which the arbitration token is to be passed to each replica administration agent in the plurality of data replicas; computer-executable instructions responsive to receiving a data request from a requestor, for identifying a data replica to resolve the data request to form an identified data replica; computer-executable instructions for transmitting an update data request to a replica administration agent of the data replica if the data request is an update data request; computer-executable instructions for determining whether the arbitration token is present in the replica administration agent of the data replica; computer-executable instructions responsive to a determination that the arbitration token is present in the replica'"'"'s administration agent of the data replica, for updating the data in the identified data replica by the replica administration agent in an amount of time permitted by the arbitration token; computer-executable instructions for transmitting an updated arbitration token to a next replica administration agent in the plurality of data replicas in the order specified in the arbitration token; computer-executable instructions for determining the order from a plurality of entries in a data replication column, each of the plurality of entries corresponding to a particular data replica of the plurality of data replicas identified in a data replica identity column, the plurality of entries indicating the order in which the arbitration token is passed between the plurality of data replicas, wherein the data replication column and the data replica identity column are in a table in the arbitration token; computer-executable instructions for determining whether the data request is an update data request; computer-executable instructions responsive to a determination that the data request is an update data request, for calculating the amount of time by multiplying a quality of service time delay times a data replica weight to get a product and dividing the product by a data replica weight of a highest weighted data replica, wherein the quality of service time delay value is retrieved from a quality of service time delay column in the table and the data replica weight is retrieved from a data replica weight column in the table; computer-executable instructions responsive to a determination that the data request is not an update data request, for determining whether requested data of the data request is in a cache of the identified data replica; computer-executable instructions responsive to a determination that the requested data is in the cache, for retrieving the requested data from the cache; and computer-executable instructions for transmitting the requested data to the requestor. - View Dependent Claims (14, 15, 16, 17)
-
Specification