Parallel Text Parsing via Finite State Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetext parsing speedVSAvoidprocessing system complexity
Core Design Contradiction:
SpeedVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If parallel processing is implemented, then processing efficiency is significantly improved, but the system complexity increases

Engineering Contradiction:
Improvetext processing throughputVSAvoidparallel processing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Inventive Principle:
Principle #26Copying

3Quantity of substance

If serial processing is used, then memory usage is minimized, but large quantities of textual data cannot be processed quickly

Engineering Contradiction:
Improvevolume of textual data processedVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250117584A1Parallel processing of hierarchical text
Publication Date: 2025.04.10 NVIDIA CORP
  • US20250117584A1 patent drawing
  • US20250117584A1 patent drawing
  • US20250117584A1 patent drawing

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.