IP Library Granted Patent US 8,875,137
Granted Patent B2
US 8,875,137 · App. 13/225,504 · Granted Oct 28, 2014

Configurable mass data portioning for parallel processing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,875,137
App. No.
13/225,504
Granted
Oct 28, 2014
Kind
B2
Abstract

A configurable mass data portioning for parallel processing is described herein. One or more operation attributes are selected to participate in parallelization criteria. The values of the selected operation attributes for a number of operations are submitted to a specified algorithm using to provide parallelization values corresponding to the operations. The parallelization values are applied to group the operations in comparable portions for parallel execution without conflicts.

Claims (64)

1. A computer system for processing business transactions in parallel, the system comprising:

a memory device to store computer executable instructions; and

a processor communicatively coupled to said memory device and configured to execute said instructions to:

receive a selection of one or more qualitative attributes from a plurality of qualitative attributes;

in response to the selection, determine whether the selected one or more qualitative attributes meet at least one parallelization criteria, and when the selected one or more qualitative attributes does not meet said at least one or more parallelization criteria, iteratively select and examine one or more additional qualitative attributes to determine at least one qualitative attribute that meets at least one parallelization criteria sufficient for parallelization;

for the determined at least one qualitative attribute meeting said one or more parallelization criteria, compute a plurality of parallelization values;

determine a plurality of operations based on said computed plurality of parallelization values;

split said plurality of operations into a plurality of portions based on said plurality of parallelization values;

lock a shared resource based on said selected one or more qualitative attribute;

execute simultaneously said plurality of portions in a plurality of parallel process threads; and

generate a report including an aggregation of a plurality of results from said simultaneous execution of said plurality of portions corresponding to said plurality of operations.

2. The computer system of claim 1 , further comprising generating a data structure, wherein the data structure comprises:

at least one field corresponding to at least one qualitative attribute to store at least one value of said one or more qualitative attribute; and

at least one field to store said at least one parallelization value corresponding to said at least one qualitative attribute.

3. The computer system of claim 1 , wherein computing said plurality of parallelization values comprises:

executing an algorithm for determining said at least one operation from said plurality of operations based on said selected one or more qualitative attribute corresponding to the said parallelization criteria.

4. The computer system of claim 1 , wherein said locking of said shared resource provides simultaneous access to said shared resource using said plurality of parallel process threads.

5. A non-transitory computer-readable medium storing instructions, which when executed cause a computer system to:

receive a selection of one or more qualitative attributes from a plurality of qualitative attributes, the plurality of qualitative attributes;

in response to the selection, determine whether the selected one or more qualitative attributes meet at least one parallelization criteria, and when the selected one or more qualitative attributes does not meet said at least one or more parallelization criteria, iteratively select and examine one or more additional qualitative attributes to determine at least one qualitative attribute that meets at least one parallelization criteria sufficient for parallelization;

for the determined at least one qualitative attribute meeting said one or more parallelization criteria, compute a plurality of parallelization values;

determine a plurality of operations based on said computed plurality of parallelization values;

split said plurality of operations into a plurality of portions based on said plurality of parallelization values;

lock a shared resource based on said selected one or more qualitative attribute;

execute simultaneously said plurality of portions in a plurality of parallel process threads; and

generate a report including an aggregation of a plurality of results from said simultaneous execution of said plurality of portions corresponding to said plurality of operations.

6. The computer-readable medium of claim 5 , wherein receiving said selection of said one or more qualitative attribute comprises:

receiving at least one value of one or more qualitative attribute; and

storing a correspondence between said at least one value of said one or more qualitative attribute and said selected one or more qualitative attribute.

7. The computer-readable medium of claim 5 , wherein computing said plurality of parallelization values comprises:

extracting at least one value of said selected one or more qualitative attribute corresponding to the said parallelization criteria; and

assigning said at least one value of said one or more qualitative attribute to a specified algorithm to derive at least one corresponding parallelization value.

8. The computer-readable medium of claim 5 , wherein computing said plurality of parallelization values further comprises:

calculating a first result of a hash function with at least one input parameter set to at least one value of said one or more qualitative attribute for a first operation of said plurality of operations;

calculating a second result of said hash function with said at least one input parameter set to at least one value of said one or more qualitative attribute for a second operation of said plurality of operations; and

execute said first operation and said second operation based on said first result and said second result of said hash function.

9. The computer-readable medium of claim 5 , wherein said splitting of said plurality of operations comprises:

grouping said plurality of parallelization values in a plurality of intervals; and

portioning said plurality of operations by said plurality of intervals.

10. The computer-readable medium of claim 5 , wherein executing a first portion and a second portion of said plurality of operations simultaneously, comprises: accessing said shared resource by said plurality of parallel process threads based on locking said shared resource by said first portion and said second portion of said plurality of operations.

11. The computer-readable medium of claim 5 , wherein generating said report including said aggregation of said plurality of results comprises:

consolidating a first result with a second result of said simultaneous execution of a first portion and a second portion of said plurality of operations.

12. A computer implemented method for processing business transactions in parallel, the method comprising:

receiving a selection of one or more qualitative attributes from a plurality of qualitative attributes, the plurality of qualitative attributes;

in response to the selection, determine whether the selected one or more qualitative attributes meet at least one parallelization criteria, and when the selected one or more qualitative attributes does not meet said at least one or more parallelization criteria, iteratively select and examine one or more additional qualitative attributes to determine at least one qualitative attribute that meets at least one parallelization criteria sufficient for parallelization;

for the determined at least one qualitative attribute meeting said one or more parallelization criteria, computing a plurality of parallelization values;

determine a plurality of operations based on said computed plurality of parallelization values;

splitting said plurality of operations into a plurality of portions based on said plurality of parallelization values;

locking a shared resource based on said selected one or more qualitative attribute;

executing simultaneously said plurality of portions in a plurality of parallel process threads; and

generate a report including an aggregation of a plurality of results from said simultaneous execution of said plurality of portions corresponding to said plurality of operations.

13. The computer implemented method of claim 12 , wherein receiving said selection of one or more qualitative attribute comprises:

receiving at least one value of at least one qualitative attribute; and

storing a correspondence between said selected at least one qualitative attribute and said selected at least one value of said selected qualitative attribute.

14. The computer implemented method of claim 12 , wherein computing said plurality of parallelization values comprises:

extracting at least one value of said selected at least one qualitative attribute; and

assigning said at least one value of said one or more qualitative attribute to a specified algorithm to derive at least one corresponding parallelization value.

15. The computer implemented method of claim 12 , wherein computing said plurality of parallelization values comprises:

calculating a first result of a hash function with at least one input parameter set to at least one value of said one or more qualitative attribute for a first operation of said plurality of operations; and

calculating a second result of said hash function with said at least one input parameter set to at least one value of said one or more qualitative attribute for a second operation of said plurality of operations.

16. The computer implemented method of claim 12 , wherein splitting said plurality of operations comprises: indexing said plurality of operations based on said plurality of parallelization values.

17. The computer implemented method of claim 12 , wherein executing a first portion and a second portion of said plurality of operations simultaneously comprises: accessing said shared resource by said plurality of parallel process threads based on locking said shared resource by said first portion and said second portion of said plurality of operations.

18. The computer implemented method of claim 12 , wherein generating said report including said aggregation of said plurality of results comprises:

consolidating a first result with a second result based on said simultaneous execution of said first portion and said second portion of said plurality of operations.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2012
From: KAUFMANN, ARTUR; LANG, GEORG
To: SAP AG
Reel/Frame 028432/0300 →