Filter Logic Expression Auto-Update for Boolean Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The removal of a search condition from a Boolean filter logic expression in data storage systems often leads to tedious and error-prone manual updates, as it requires users to correct reference errors and ensure that remaining identifiers refer to the appropriate search conditions, especially in complex filter logic expressions.

Innovation Solution

A filter manager component automatically updates the filter logic expression by reassociating remaining search conditions with new identifiers and modifying the expression to preserve sequential order, thereby relieving users of the need for manual corrections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a search condition is removed from a Boolean filter logic expression, then the filter logic becomes simpler and more maintainable, but manual updates are required to correct reference errors and reassociate identifiers

Engineering Contradiction:
ImproveEase of filter maintenanceVSAvoidTime for manual updates
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The system performs automatic self-updating of filter logic expressions when search conditions are removed. The filter manager component automatically detects removed identifiers, reassociates remaining identifiers with new sequential positions, and updates the filter logic expression without requiring manual intervention, thereby eliminating the time-consuming manual update process while maintaining simplicity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary automatic updates of the filter logic expression before the user needs to use it again. When a search condition is removed, the system proactively reassociates all subsequent identifiers and updates the expression in advance, so that when the user returns to the filter, the expression is already corrected and ready for use.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a search condition is removed from a Boolean filter logic expression, then obsolete conditions are eliminated, but reference errors and syntax errors occur in the expression

Engineering Contradiction:
ImproveAccuracy of filter logicVSAvoidReference errors and syntax errors
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The system implements a feedback mechanism where the filter manager component continuously monitors the filter logic expression for reference errors after search conditions are removed. When errors are detected, the system automatically identifies the problematic identifiers and corrects them by reassociating them with new sequential positions, thereby eliminating reference errors and syntax errors while maintaining filter logic accuracy.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies beforehand cushioning by performing preventive updates to the filter logic expression before errors can propagate. When a search condition is removed, the system proactively reassociates all subsequent identifiers and updates the expression in advance, cushioning against potential reference errors and syntax errors before they can affect filter operations.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Extent of automation

If search conditions are reassociated with new identifiers to preserve sequential order, then the filter logic expression remains valid, but automated updates require system complexity

Engineering Contradiction:
ImproveAutomatic filter logic updatingVSAvoidComplexity of filter manager component
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system segments the filter management functionality into a dedicated filter manager component that handles automatic updates. This component is further divided into sub-functions: identifying removed identifiers, reassociating remaining identifiers with new sequential positions, and updating the filter logic expression. By segmenting these tasks, the system achieves automation without excessive overall complexity, as each segment handles a specific, well-defined task.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The filter manager component is designed as a universal multi-functional element that handles multiple aspects of filter logic maintenance: removing obsolete conditions, reassociating identifiers, updating expressions, and detecting errors. By consolidating these diverse functions into a single versatile component, the system reduces overall system complexity compared to having separate mechanisms for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9589070B2Method and system for updating a filter logic expression representing a boolean filter
Publication Date: 2017.03.07 SALESFORCE INC
  • US9589070B2 patent drawing
  • US9589070B2 patent drawing
  • US9589070B2 patent drawing

AI summary

A method for automatically updating a filter logic expression representing a Boolean filter comprising a plurality of search conditions is disclosed. The method includes receiving a first indication to remove a first search condition from a condition list comprising search conditions. Each search condition is associated with an identifier and the first search condition is associated with a first identifier, and the search conditions are listed in sequential order according to the associated identifier. In response to receiving the first indication, a second search condition associated with a second identifier that sequentially follows the first identifier is identified, and the second search condition is reassociated with a third identifier that immediately precedes the second identifier. A filter logic expression comprising a plurality of identifiers and operators and representing a Boolean filter is then modified by automatically replacing any reference to the second identifier with the third identifier.