Accelerated price calculation using in-memory technology
First Claim
Patent Images
1. A system comprising:
- an in-memory computing engine having at least two processing cores of at least one processor;
an application server coupled to the in-memory computing engine, the application server includinga pricing schema reader configured to read a plurality of pricing schemas from the in-memory computing engine to obtain a pricing schema therefrom, the pricing schema including a plurality of price components and corresponding to at least one item;
a pricing calculation flow analyzer configured to analyze the pricing schema to sort the plurality of price components to obtain one or more parallel calculation procedures and one or more sequential calculation procedures for executing the plurality of price components, expressed as a language-independent process flow;
a parallel calculation flow program generator configured to convert the language-independent process flow into executable, language-specific runtime artifacts;
a repository accessor configured to store the runtime artifacts within at least one parallel calculation flow handling procedure stored using a repository of the in-memory computing engine, wherein the in-memory computing engine includesa price calculator configured to cause the at least one processor to receive a pricing request for the at least one item, the price calculator includinga record reader configured to cause the at least one processor to retrieve master data records corresponding to the at least one item from a data store of the in-memory computing engine;
a parallel price calculator configured to cause the at least one processor to retrieve the at least one parallel calculation flow handling procedure corresponding to the at least one item and designating at least two price subcomponents common to the price components, and further configured to cause the at least one processor to calculate the at least two price subcomponents for the price components in parallel, using the parallel calculation flow handling procedure and the retrieved master data records, to thereby satisfy the pricing request for the at least one item,wherein each occurrence of the at least two price subcomponents of the plurality of price components is calculated in conjunction with a corresponding calculation type and rate value, and wherein the parallel price calculator is further configured to cause the at least one processor to;
identify, within one of the at least two price subcomponents, at least two subgroupings having a common calculation type, andcalculate the at least two subgroupings in parallel.
2 Assignments
0 Petitions
Accused Products
Abstract
A price calculator may receive a pricing request for at least one item, the at least one item priced in accordance with a pricing schema including a plurality of price components. The price calculator may include a parallel price calculator configured to retrieve a parallel calculation flow handling procedure corresponding to the at least one item and designating at least two price subcomponents common to the price components. The price calculator may then calculate the at least two price subcomponents for the price components in parallel, using the parallel calculation flow handling procedure.
18 Citations
14 Claims
-
1. A system comprising:
-
an in-memory computing engine having at least two processing cores of at least one processor; an application server coupled to the in-memory computing engine, the application server including a pricing schema reader configured to read a plurality of pricing schemas from the in-memory computing engine to obtain a pricing schema therefrom, the pricing schema including a plurality of price components and corresponding to at least one item; a pricing calculation flow analyzer configured to analyze the pricing schema to sort the plurality of price components to obtain one or more parallel calculation procedures and one or more sequential calculation procedures for executing the plurality of price components, expressed as a language-independent process flow; a parallel calculation flow program generator configured to convert the language-independent process flow into executable, language-specific runtime artifacts; a repository accessor configured to store the runtime artifacts within at least one parallel calculation flow handling procedure stored using a repository of the in-memory computing engine, wherein the in-memory computing engine includes a price calculator configured to cause the at least one processor to receive a pricing request for the at least one item, the price calculator including a record reader configured to cause the at least one processor to retrieve master data records corresponding to the at least one item from a data store of the in-memory computing engine; a parallel price calculator configured to cause the at least one processor to retrieve the at least one parallel calculation flow handling procedure corresponding to the at least one item and designating at least two price subcomponents common to the price components, and further configured to cause the at least one processor to calculate the at least two price subcomponents for the price components in parallel, using the parallel calculation flow handling procedure and the retrieved master data records, to thereby satisfy the pricing request for the at least one item, wherein each occurrence of the at least two price subcomponents of the plurality of price components is calculated in conjunction with a corresponding calculation type and rate value, and wherein the parallel price calculator is further configured to cause the at least one processor to; identify, within one of the at least two price subcomponents, at least two subgroupings having a common calculation type, and calculate the at least two subgroupings in parallel. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for executing instructions stored on a non-transitory computer readable storage medium, the method comprising:
-
constructing, using design time tools of an application server, a parallel calculation flow handling procedure corresponding to at least one item priced in accordance with a pricing schema, the pricing schema specifying a plurality of price components, wherein the parallel calculation flow handling procedure calculates at least two price subcomponents common to the price components in parallel; storing the parallel calculation flow handling procedure in a process repository of an in-memory computing engine; selecting, using runtime tools of the application server and in response to a pricing request for the at least one item, the parallel calculation flow handling procedure; and instructing the in-memory computing engine to calculate the plurality of price components using the parallel calculation flow handling procedure, including the calculating of the at least two price subcomponents common to the price components in parallel, using at least two processing cores of the in-memory computing engine, wherein the constructing includes; reading, using a pricing schema reader of the design time tools, the pricing schema from a datastore of the in-memory computing engine; constructing, using a pricing calculation flow analyzer of the design time tools, a language-independent logic flow specifying the at least two price subcomponents to be calculated in parallel; and generating, using a parallel calculation flow program generator of the design time tools, the parallel calculation flow handling procedure in language-specific form using at least one language executable by the in-memory computing engine. - View Dependent Claims (8, 9, 10)
-
-
11. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:
-
construct a language-independent logic flow specifying at least two price subcomponents of a price component of a pricing schema to be calculated in parallel; convert the language-independent logic flow into language-specific runtime code executable by an in-memory computing engine, to thereby obtain a parallel calculation flow handling procedure; receive a pricing request for at least one item, the at least one item priced in accordance with the pricing schema including a plurality of price components, including the price component; retrieve the parallel calculation flow handling procedure corresponding to the at least one item and designating the at least two price subcomponents common to the plurality of price components; and calculate the at least two price subcomponents for the plurality of price components in parallel, using the parallel calculation flow handling procedure, wherein the instructions are executed within an in-memory computing engine, and the at least one computing device includes at least two processing cores of the in-memory computing engine, and further wherein the in-memory computing engine is configured to store the pricing schema within a plurality of pricing schemas, and further configured to store the parallel calculation flow handling procedure among a plurality of parallel flow handling procedures corresponding to the plurality of pricing schemas and pre-calculated using a parallel calculation flow program generator of an application server. - View Dependent Claims (12, 13, 14)
-
Specification