Ruleset-Based Data Filtering for Flexible Comparison Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems lack a flexible and efficient method for filtering data, relying on simple lists for positive and negative filtering, which are inflexible and require code changes for updates, failing to effectively manage complex nested objects in large archives.

Innovation Solution

A computer-based filtering method driven by a ruleset with ordered collections of rules, allowing for both positive and negative filtering, where each rule has a comparison operation and data element, and a default action, enabling efficient inclusion or exclusion of objects based on attribute comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If simple lists are used for positive and negative filtering, then the filtering method is simple to implement, but the flexibility is insufficient and code changes are required for updates

Engineering Contradiction:
Improveease of implementationVSAvoidflexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The filtering system transitions from static simple lists to dynamic rulesets where filtering criteria can be modified at runtime without code changes. The ruleset structure allows dynamic addition, removal, and modification of filtering rules through data-driven configurations, enabling the system to adapt to changing requirements while maintaining ease of implementation through a standardized framework.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention introduces configurable parameters within the ruleset structure, including comparison operators, data elements, and rule priorities. These parameters can be adjusted through data configurations rather than code modifications, allowing the filtering behavior to be customized for different scenarios while maintaining a consistent implementation approach.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If hard coding of filtering data is used, then the flexibility is maximized, but code changes are required whenever updates are needed

Engineering Contradiction:
ImproveflexibilityVSAvoidease of maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The filtering system is segmented into distinct components: the ruleset structure, individual rules with specific criteria, comparison operations, and data elements. This segmentation allows each component to be independently configured and modified through data files rather than code changes, maintaining flexibility while improving maintainability. Updates can be made by modifying specific rule configurations without affecting the overall system structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces an intermediary layer between the filtering logic and the actual filtering data. The ruleset structure acts as this intermediary, separating the executable filtering rules from the data configurations. This allows filtering criteria to be updated through data files without modifying the underlying code, achieving both flexibility and ease of maintenance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all rules in the ruleset are invoked, then complete filtering coverage is achieved, but the filtering process becomes less efficient

Engineering Contradiction:
Improvefiltering coverageVSAvoidfiltering efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The ruleset structure includes preliminary elements such as default actions and optimized rule ordering that prepare the filtering process before actual execution. High-priority rules are positioned to execute first, and default actions are predefined to handle cases where no specific rules match. This preliminary structuring ensures comprehensive filtering coverage while minimizing the number of rules that need to be evaluated for each object.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The filtering system implements partial action by stopping the evaluation process after the first matching rule is found, rather than invoking all rules in the ruleset. This optimization maintains reliability by ensuring that the first matching rule provides sufficient filtering coverage, while significantly improving efficiency by avoiding unnecessary evaluations of subsequent rules.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7529760B2Use of positive and negative filtering with flexible comparison operations
Publication Date: 2009.05.05 SAP SE
  • US7529760B2 patent drawing
  • US7529760B2 patent drawing
  • US7529760B2 patent drawing

AI summary

A computer-based filtering method driven by a ruleset for positive and negative filtering with flexible comparison operations. Method first creates a ruleset as an ordered collection of rules which has a single ruleset default action. Each rule has a rule action, a comparison operation and at least one comparison data element. Filtering of an object from the ruleset result set is performed with the comparison operation on the object and the comparison data from the ruleset. Filtering step invokes each rule from the ruleset to compare the object with each comparison data element to determine whether or not the object is to be included or excluded from the result set. Filtering stops after the first matching rule is found and then the rule action is taken, or after invoking all rules without finding the matching rule and then the ruleset default action is taken.