State Machine Engine for Parallel Pattern Recognition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing systems face inefficiencies in pattern recognition due to the need to search large data streams for multiple patterns sequentially, leading to increased processing time and bottlenecks, especially when dealing with complex data analysis tasks like spam or malware detection.
Innovation Solution
A state machine engine with a hierarchical configuration of finite state machine lattices operates in parallel, analyzing data streams across multiple criteria simultaneously, employing a cascaded architecture similar to the human brain's neuron layers to enhance processing speed and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional sequential pattern recognition is used to search data streams for multiple patterns, then processing accuracy is maintained, but processing time increases and system productivity decreases
Solution Approach 1:
The patent divides the pattern recognition task into multiple segments by using separate circuits for different patterns. Each circuit independently processes the data stream for its specific pattern, allowing parallel execution of what would otherwise be sequential operations. This segmentation enables simultaneous pattern detection without requiring the system to process one pattern at a time, thereby reducing total processing time while maintaining accuracy.
Solution Approach 2:
The patent transitions from sequential (one-dimensional) pattern processing to parallel processing by adding temporal dimensionality. Multiple circuits operate simultaneously on the same data stream, effectively moving from a single-threaded sequential approach to a multi-threaded parallel approach. This dimensional change in processing architecture allows the system to evaluate multiple patterns at once rather than iterating through them sequentially.
2Productivity
If multiple circuits operate in parallel to search data streams simultaneously, then processing speed increases, but intermediate results become larger than original input data
Solution Approach 1:
The patent extracts only the essential matching information from parallel circuit operations rather than processing and storing all intermediate results. Each circuit outputs only its pattern match status, and the system extracts the final pattern detection results without retaining the full intermediate data structures. This extraction approach maintains parallel processing speed benefits while reducing the volume of data that needs to be managed and processed further.
Solution Approach 2:
The patent implements partial action by having circuits process only the specific patterns they are designed for, rather than all patterns. Each circuit performs a specialized function for its assigned pattern, avoiding the excessive processing that would occur if all circuits analyzed all patterns. This partial specialization reduces the overall data volume and computational overhead while maintaining comprehensive pattern detection coverage.
3Adaptability or versatility
If the number of patterns to search increases, then detection capability improves, but system complexity and processing bottleneck increase
Solution Approach 1:
The patent implements universal circuit designs that can be configured to detect different patterns using the same underlying hardware architecture. Rather than designing specialized circuits for each pattern, the system uses multi-functional circuits that can be programmed or configured to recognize various patterns. This universality allows the system to handle an increasing number of patterns without proportionally increasing system complexity, as the same circuit template can serve multiple pattern detection functions.
Data Source
AI summary
A markup language is provided. The markup language describes the composition of automata networks. For example, the markup language uses elements that represent automata processing resources. These resources may include at least one of a state transition element, a counter element, and a Boolean element as respective automata processing resources.


