Iterative Filter Processing for Embedded Data Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In object models, filtering embedded objects is challenging when data is not stored in a database that supports powerful data manipulation operations like joins, especially in demo modes where data is stored in arrays of files and lacks database facilities for satisfying filtering requests.

Innovation Solution

A tree-based structure is used for filtering embedded objects, with an iterated filter expression loop that processes each object separately, creating new logical branches for embedded objects and applying filter criteria to both primitive-valued and object-valued fields, ensuring only requested properties are returned.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is stored in arrays of files without database facilities, then storage simplicity is improved, but filtering capability deteriorates

Engineering Contradiction:
Improvestorage simplicityVSAvoidfiltering capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces a server application as an intermediary between the file-based storage system and the filtering requirements. This server application implements filtering logic that processes filter expressions against objects loaded from files, providing database-like filtering capabilities without requiring a actual database system. The server mediates between the simple file storage and the complex filtering needs, resolving the contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If all object properties are returned, then completeness of data is improved, but bandwidth usage increases

Engineering Contradiction:
Improvecompleteness of dataVSAvoidbandwidth usage
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent extracts only the specific properties requested by the client from the complete object data, rather than returning all properties. The filtering mechanism identifies which properties are needed based on the filter expressions and client requirements, then returns only those extracted properties. This reduces bandwidth usage while maintaining data completeness for the requested information.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If embedded objects are filtered separately with iterative processing, then filtering accuracy is improved, but processing time increases

Engineering Contradiction:
Improvefiltering accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the filtering process into separate iterations for each embedded object level. The filter expression processing is divided into discrete steps where each embedded object is evaluated independently against the filter criteria. This segmentation ensures accurate filtering by systematically checking each object and its embedded objects, while the iterative structure allows for efficient early termination when filter conditions are not met, balancing accuracy with processing time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9348888B1Iterative filter expression processing for filtering embedded data objects
Publication Date: 2016.05.24 EMC IP HLDG CO LLC
  • US9348888B1 patent drawing
  • US9348888B1 patent drawing
  • US9348888B1 patent drawing

AI summary

A computerized device filters a set of first data objects each including primitive-valued fields and object-valued fields each specifying a respective second data object as an embedded object. A filter object specifies filter criteria as a set of filter expressions. Each first data object and its respective embedded second filter objects are processed according to the filter expressions. The processing includes iterated execution of a filter expression loop, a first iteration producing a first filter test result for each primitive-valued field of the first data object and initiating a second iteration for each object-valued field of the first data object, and the second iteration producing a second filter test result for each primitive-valued field of the respective embedded second filter object. A given first data object is included in a final set of filtered objects only if both the first and second filter test results are success test results.