Parallel Text Parsing via Finite State Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing text processing technologies are inefficient due to their serial nature, which limits the ability to parse large quantities of textual data quickly despite advances in computing hardware.
Innovation Solution
The use of parallel processing techniques, including parallelized simulation of finite state machines and logical stacks adapted for parallel processing, to efficiently parse textual data across multiple processing units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If serial text processing is used, then text parsing can be performed with simple processing logic, but the processing speed is slow and cannot efficiently utilize modern computing hardware
Solution Approach 1:
The patent divides the text processing task into multiple independent segments that can be processed in parallel. Each processing unit handles a portion of the input text simultaneously, transforming the serial processing approach into a parallel architecture. This segmentation enables efficient utilization of modern computing hardware with multiple cores and processing units, directly addressing the speed limitation while maintaining manageable complexity through modular design
Solution Approach 2:
The patent transitions from one-dimensional serial processing to multi-dimensional parallel processing by introducing additional processing dimensions. Multiple processing units operate simultaneously on different portions of the text, effectively adding a temporal parallelism dimension. This dimensional transformation allows the system to leverage modern multi-core processors and distributed computing architectures, resolving the contradiction between processing speed and system complexity
2Productivity
If parallel processing is implemented, then processing efficiency is significantly improved, but the system complexity increases
Solution Approach 1:
The patent designs processing units with universal functionality that can handle various text processing operations. Each processing unit is equipped with finite state machines and logical stacks that can perform multiple functions (parsing, pattern matching, state transitions) within a unified framework. This multi-functionality reduces the need for specialized components for each operation, thereby increasing productivity while controlling system complexity through standardized, reusable processing modules
Solution Approach 2:
The patent employs multiple copies of the same processing unit architecture to achieve parallel processing. Instead of creating complex specialized processors for each task, identical copies of the processing unit (each containing finite state machines and logical stacks) are instantiated in parallel. This copying approach simplifies the overall system design by repeating a proven, manageable unit rather than designing complex inter-dependent components, thus improving throughput while keeping individual unit complexity low
3Quantity of substance
If serial processing is used, then memory usage is minimized, but large quantities of textual data cannot be processed quickly
Solution Approach 1:
The patent implements preliminary action by pre-compiling regular expressions and processing rules into finite state machines before text processing begins. This preprocessing step transforms complex pattern-matching operations into efficient state transition tables that can be executed rapidly during parallel processing. By performing this preparation in advance, the system can quickly process large volumes of text without incurring runtime compilation overhead, thereby reducing processing time while maintaining efficient memory utilization during the actual parsing operation
Data Source
AI summary
Apparatuses, systems, and techniques to parse textual data using parallel computing devices. In at least one embodiment, text is parsed by a plurality of parallel processing units using a finite state machine and logical stack to convert the text to a tree data structure. Data is extracted from the tree by the plurality of parallel processors and stored.


