Patent ID: 9747288
Date: 2017-08-29
CPC Classifications: G06F

Claim:
1. A computer-implemented method for providing a data repository service, comprising: managing, by one or more computer systems, start of a plurality of candidate transactions associated with an election transaction by at least updating metadata associated with at least some of the plurality of candidate transactions to ensure consistency, such that no more than one candidate transaction of the plurality of candidate transactions starts at any given time and at least two candidate transactions of the plurality of candidate transactions are executed at least in part concurrently; storing, by the one or more computer systems, a plurality of candidate datasets respectively associated with the plurality of candidate transactions, each candidate dataset of the plurality of candidate datasets being provided in one or more data batches where each data batch of the one or more data batches includes a subset of the candidate dataset; for each candidate transaction of the plurality of candidate transactions, maintaining, by the one or more computer systems, the metadata associated with the candidate transaction, the metadata including storage location information and state information for the candidate dataset associated with the candidate transaction; managing, by the one or more computer systems, commits of the plurality of candidate transactions by at least updating the metadata associated with at least some of the plurality of candidate transactions to ensure consistency, such that no more than one candidate transaction of the plurality of candidate transactions commits at any given time; receiving, by the one or more computer systems, a request for data resulting from the election transaction, the request comprising an isolation level that is associated with a commit state corresponding to the state information of the metadata associated with each candidate transaction; selecting, by the one or more computer systems, one or more of the plurality of candidate datasets based at least in part on the isolation level and the metadata associated with one or more of the plurality of candidate transactions corresponding to the one or more of the plurality of candidate datasets; and providing, by the one or more computer systems, requested data based at least in part on the one or more selected candidate datasets.