Scalable enforcement of aggregation constraints within transactions
AssigneeInternational Business Machines Corporation
InventorsRonald J. Barber, Vijayshankar Raman, Richard Sefton Sidle, Yuanyuan Tian
Life of this patent
Estimating the term…
Abstract
Embodiments relate to aggregation operations. More specifically, embodiments relate to enforcing an aggregation constraint across a distributed network of compute nodes responding asynchronously. Each compute node individually processes the local partial aggregate value in parallel and asynchronously communicates with a conflict resolution node (CRN).
Claims20
A computer system comprising:
- a computer processor operatively coupled to computer memory;
- an aggregation constraint engine in communication with the computer processor and computer memory and operatively coupled to one or more compute nodes, the aggregation constraint engine configured to enforce an aggregation constraint, including to access program code of the computer memory and process the program code with the computer processor to:
- leverage a last committed aggregate value as a current prefix sum for an interval aggregation;
- asynchronously receive one or more remotely computed preliminary interval aggregate values from the one or more compute nodes;
- assess a preliminary interval aggregate responsive to the asynchronous receipt of the preliminary aggregate values;
- adjust the current prefix sum with the one or more received preliminary interval aggregate values, including selective application of a constraint requirement;
- and
- send the adjusted prefix sum to the one or more compute nodes;
- a rollback manager configured to access the program code of the computer memory and process the program memory with the computer processor to run on the one or more compute nodes in receipt of the adjusted prefix sum to locally evaluate the aggregation constraint, including identify any local transactions violating the aggregation constraint, and selectively apply a rollback protocol to the one or more violating transactions;
- and
- a director configured to access the program code of the computer memory and process the program memory with the computer processor to replace the last committed aggregate value with a refreshed current prefix sum and apply the refreshed current prefix sum for a subsequent interval aggregation.
A computer program product to perform enforcement of an aggregation constraint, the computer program product comprising:
- a computer readable storage medium having program code embodied therewith, the program code executable by a computer processor to read and execute the program code to:
- leverage a last committed aggregate value as a current prefix sum for an interval aggregation;
- asynchronously receive one or more remotely computed preliminary interval aggregate values from one or more operatively coupled compute nodes;
- assess a preliminary interval aggregate responsive to the asynchronous receipt of the preliminary aggregate values, the assessment including:
- adjusting the current prefix sum with the one or more received preliminary interval aggregate values, including selectively applying a constraint requirement;
- and
- sending the adjusted prefix sum to the one or more compute nodes;
- delegate responsibility of rolling back any violating transactions to the one or more compute nodes in receipt of the adjusted prefix sum to locally evaluate an aggregation constraint, including identify any local transactions in violation of the aggregation constraint, and selectively apply a rollback protocol to the one or more violating transactions;
- and
- replace the last committed aggregate value with a refreshed current prefix sum and apply the refreshed current prefix sum for a subsequent interval aggregation.
A computer implemented method to perform enforcement of an aggregation constraint, the method comprising:
- using a computer processor to access and process program code of computer memory operatively coupled to the computer processor:
- leveraging a last committed aggregate value as a current prefix sum for an interval aggregation;
- asynchronously receiving one or more remotely computed preliminary interval aggregate values from one or more operatively coupled compute nodes;
- assessing a preliminary interval aggregate responsive to the asynchronous receipt of the preliminary aggregate values, the assessment including:
- adjusting the current prefix sum with the one or more received preliminary interval aggregate values, including selectively applying a constraint requirement;
- and
- sending the adjusted prefix sum to the one or more compute nodes;
- delegating responsibility of rolling back any violating transactions to the one or more compute nodes in receipt of the adjusted prefix sum to locally evaluate the aggregation constraint, including identifying any local transactions in violation of the aggregation constraint, and selectively applying a rollback protocol to the one or more violating transactions;
- and
- replacing the last committed aggregate value with a refreshed current prefix sum and applying the refreshed current prefix sum for a subsequent interval aggregation.
Dependencies are inferred from the claim text.