IP Library Granted Patent US 9,442,968
Granted Patent B2
US 9,442,968 · App. 14/230,912 · Granted Sep 13, 2016

Evaluation of variant configuration using in-memory technology

Inventors: Petra Meyer (Walldorf, DE); Sven Liesecke (Mannheim, DE); Nadine Gaertner (Speyer, DE)
Assignee: SAP SE
G06F17/30327G06Q30/0621G06Q50/04Y02P90/30
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 9,442,968
App. No.
14/230,912
Granted
Sep 13, 2016
Kind
B2
Abstract

A system, method, and computer program product for evaluating variant configuration using in-memory technology. Embodiments receive configuration data and a selection condition to be solved, bring Boolean selection condition expressions into disjunctive normal form (DNF) in memory, join concrete configuration values with the selection condition, and compare values. Embodiments aggregate the comparison results per AND-group with a minimum function, and aggregate those results per OR-group with a maximum function and output results of the selection condition for a concrete configuration. Embodiments may employ SQL Script statements. Embodiments may use conjunctive normal form (CNF) instead of DNF with corresponding aggregation ordering. Embodiments may extend the pure normal forms to enable calculations, string operations, evaluation of non-fixed-value literals, multi-valued literals, in-lists, and variant tables by translating and integrating them into the pattern of conjunctive and disjunctive aggregations. Parallelization and complexity-ordered branch evaluations are also provided.

Claims (34)

1. A computer-implemented method for variant configuration, comprising:

using a computer, loading a dependency tree comprising Boolean expressions describing an input selection condition into memory in one of disjunctive normal form (DNF) and conjunctive normal form (CNF);

joining concrete configuration values from input configuration data with the dependency tree, and comparing values of one or more literals;

aggregating the comparison results and aggregating the aggregation results, using an AND-group with a minimum function and an OR-group with a maximum function in an alternating sequence ordered corresponding to the chosen normal form; and

outputting the result of the selection condition evaluation for the concrete configuration;

wherein each separate branch of the dependency tree comprises Boolean expressions selectively cast in one of DNF and CNF according to which normal form most reduces the number of Boolean expressions in each branch.

2. The method of claim 1 further comprising evaluating multiple Boolean expressions at least one of simultaneously and in increasing complexity order.

3. The method of claim 1 further comprising evaluating multiple aggregations simultaneously.

4. The method of claim 1 further comprising generalizing the dependency tree to evaluate added terms comprising at least one of a non-fixed-value literal, a multi-valued literal, an in-list, and a variant table, by translating and integrating each added term into the sequence of aggregations.

5. The method of claim 4 further comprising evaluating the added terms separately at each leaf level of the generalized dependency tree.

6. The method of claim 1 further comprising evaluating multiple dependency trees simultaneously by evaluating string operations and numeric operations in separate dependency trees.

7. A system for variant configuration, comprising:

a processor executing non-transitory instructions to:

load a dependency tree comprising Boolean expressions describing an input selection condition into memory in one of disjunctive normal form (DNF) and conjunctive normal form (CNF);

join concrete configuration values from input configuration data with the dependency tree, and comparing values of one or more literals;

aggregate the comparison results and aggregate the aggregation results, using an AND-group with a minimum function and an OR-group with a maximum function in an alternating sequence ordered corresponding to the chosen normal form; and

output the result of the selection condition evaluation for the concrete configuration;

wherein each separate branch of the dependency tree comprises Boolean expressions selectively cast in one of DNF and CNF according to which normal form most reduces the number of Boolean expressions in each branch.

8. The system of claim 7 wherein the processor evaluates multiple Boolean expressions at least one of simultaneously and in increasing complexity order.

9. The system of claim 7 wherein the processor evaluates multiple aggregations simultaneously.

10. The system of claim 7 wherein the processor further generalizes the dependency tree to evaluate added terms comprising at least one of a non-fixed-value literal, a multi-valued literal, an in-list, and a variant table, by translating and integrating each added term into the sequence of aggregations.

11. The system of claim 10 wherein the processor evaluates the added terms separately at each leaf level of the generalized dependency tree.

12. The system of claim 7 wherein the processor evaluates multiple dependency trees simultaneously by evaluating string operations and numeric operations in separate dependency trees.

13. A non-transitory computer readable medium storing instructions that,

when executed by a processor, perform a variant configuration method comprising:

loading a dependency tree comprising Boolean expressions describing an input selection condition into memory in one of disjunctive normal form (DNF) and conjunctive normal form (CNF);

joining concrete configuration values from input configuration data with the dependency tree, and comparing values of one or more literals;

aggregating the comparison results and aggregating the aggregation results, using an AND-group with a minimum function and an OR-group with a maximum function in an alternating sequence ordered corresponding to the chosen normal form; and

outputting the result of the selection condition evaluation for the concrete configuration;

wherein each separate branch of the dependency tree comprises Boolean expressions selectively cast in one of DNF and CNF according to which normal form most reduces the number of Boolean expressions in each branch.

14. The medium of claim 13 further comprising instructions for evaluating multiple Boolean expressions at least one of simultaneously and in increasing complexity order.

15. The medium of claim 13 further comprising instructions for generalizing the dependency tree to evaluate added terms comprising at least one of a non-fixed-value literal, a multi-valued literal, an in-list, and a variant table, by translating and integrating each added term into the sequence of aggregations.

16. The medium of claim 15 further comprising instructions for evaluating the added terms separately at each leaf level of the generalized dependency tree.

17. The medium of claim 13 further comprising instructions for evaluating multiple dependency trees simultaneously by evaluating string operations and numeric operations in separate dependency trees.

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 Apr 3, 2014
From: MEYER, PETRA; LIESECKE, SVEN; GAERTNER, NADINE
To: SAP AG
Reel/Frame 032595/0740 →
Continuity (1)
Related Publication 20150278347A1 · Oct 1, 2015