XML Policy Matching Engine with Segmented DFA and AFilter Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing XML matching systems face scalability issues and high memory consumption when handling large numbers of queries, particularly due to the use of non-deterministic finite automata with wildcard and descendant expressions, which leads to performance bottlenecks and memory exhaustion.

Innovation Solution

The system employs separate data structures for simple and complex XPath queries, using a simple policy lookup data structure for queries without wildcards and a complex policy lookup data structure for queries with wildcards, allowing simultaneous querying and execution of policies, leveraging modified DFA and AFilter structures to optimize memory usage and processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single data structure is used to store all XPath queries (including those with wildcards and descendant expressions), then the system can handle diverse query types, but memory consumption increases and performance bottlenecks occur

Engineering Contradiction:
Improvequery type coverageVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent divides the XPath query storage system into two separate data structures: one for simple queries (without wildcards and descendant expressions) and another for complex queries (with wildcards and descendant expressions). This segmentation allows each data structure to be optimized for its specific query type, reducing overall memory consumption while maintaining the ability to handle diverse query types.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If non-deterministic finite automata are used to handle wildcard and descendant expressions, then query flexibility is improved, but processing speed decreases and memory exhaustion occurs

Engineering Contradiction:
Improvewildcard expression handlingVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent separates query processing into two distinct paths: simple queries are processed using efficient deterministic methods, while complex queries with wildcards and descendant expressions are processed using non-deterministic finite automata. This segmentation ensures that the overhead of NFA is only applied when necessary, maintaining high processing speed for simple queries while preserving flexibility for complex queries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different processing qualities to different query types: deterministic processing for simple queries and non-deterministic processing for complex queries. This local quality approach optimizes processing speed for the majority of simple queries while maintaining the flexibility needed for complex queries with wildcards and descendant expressions.

Inventive Principle:
Principle #3Local quality

3Reliability

If all policies are queried simultaneously for each XML object, then complete policy matching is achieved, but processing time increases

Engineering Contradiction:
Improvepolicy matching completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the policy querying process into two simultaneous but separate operations: querying simple policies and querying complex policies. By maintaining separate data structures for simple and complex policies, the system can efficiently process both types without the overhead of searching through all policies for every query, thus reducing processing time while maintaining complete policy matching.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7668802B2Method and appliance for XML policy matching
Publication Date: 2010.02.23 RPX CORP
  • US7668802B2 patent drawing
  • US7668802B2 patent drawing
  • US7668802B2 patent drawing

AI summary

An XML matching engine and method are provided, where policy rules expressed using XPath/XQuery policies are matched to streaming XML documents. Two distinct data structures are used: a combined modified DFA data structure for storing simple XPath queries (no wildcards or descendents) and a modified AFilter structure for storing complex queries (with wildcards or/and descendents). As the matching engine receives XML tags from XML parser, matching is performed in both structures in parallel.