State Machine Engine Parallel Pattern Recognition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing systems face inefficiencies in pattern recognition due to the sequential processing of data streams, leading to bottlenecks as the number of patterns to be identified increases, especially in detecting spam or malware, where current hardware struggles to process large volumes of data in real-time.
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, mimicking the biological brain's hierarchical neuron layers to enhance processing speed and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional sequential processing is used to search for patterns in data streams, then the system is simple to implement, but the processing speed decreases as the number of patterns increases
Solution Approach 1:
The patent divides the pattern recognition task into multiple segments by distributing the data stream among a plurality of circuits. Each circuit searches for specific patterns in parallel, transforming a single sequential processing task into multiple concurrent processing tasks, thereby increasing overall processing speed without proportionally increasing system complexity
Solution Approach 2:
The patent transitions from one-dimensional sequential processing to multi-dimensional parallel processing by organizing circuits in a hierarchical structure with multiple levels. Data flows through multiple dimensions of processing simultaneously, allowing the system to handle increasing numbers of patterns without linearly increasing processing time
2Productivity
If a large number of circuits operate in parallel to search for patterns, then the processing capacity increases, but the intermediate results become larger than the original input data
Solution Approach 1:
The patent extracts only the necessary pattern match results from the parallel circuit operations, discarding unnecessary intermediate data. By taking out only the relevant information (pattern matches) rather than processing and storing all intermediate results, the system maintains high processing capacity while keeping data volume manageable
Solution Approach 2:
Instead of having circuits output all intermediate results and then filtering them, the patent inverts the approach by having circuits directly output only the final pattern match results. This inversion eliminates the need to handle large volumes of intermediate data while maintaining parallel processing capacity
3Loss of time
If sequential pattern searching is performed on data streams, then the system uses less hardware resources, but the delay increases with the number of patterns
Solution Approach 1:
The patent implements preliminary action by pre-configuring multiple circuits with specific pattern matching capabilities before data processing begins. This allows the system to immediately process incoming data streams in parallel without sequential delays, as the processing infrastructure is already in place and ready to operate
Solution Approach 2:
The patent ensures continuity of useful action by maintaining parallel circuit operations that continuously process data streams without interruption or sequential waiting. Multiple circuits operate simultaneously and continuously, eliminating the delays inherent in sequential processing while using hardware resources efficiently through sustained parallel operation
Data Source
AI summary
An apparatus includes a state machine engine. The state machine engine may also include an automaton, whereby the automaton is configured to analyze data from a beginning of an input data stream until a point when an end of data signal is seen. The automaton may further be configured to report an event representative of a satisfaction of a Boolean clause of a conjunctive normal form (CNF) Boolean expression representative of a Boolean Satisfiability problem (SAT) by a portion of the input data stream.


