Adaptive Parallel Data Processing for Document Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data processing techniques become inefficient with large or complex data, leading to user frustration due to prolonged processing times, especially when converting documents from image formats to searchable and editable formats.

Innovation Solution

Adaptive parallel data processing techniques involve splitting data into smaller portions and sub-portions, which are processed in parallel across multiple nodes, allowing for dynamic redistribution and completion, thereby reducing overall processing time by leveraging nodes with faster processing times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional sequential data processing techniques are used, then processing accuracy and completeness are maintained, but processing time increases significantly for large and complex documents

Engineering Contradiction:
Improveprocessing timeVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent divides a large data file into multiple portions and further splits remaining portions into sub-portions, distributing them across multiple nodes for parallel processing. This segmentation enables simultaneous processing of multiple data segments, dramatically reducing total processing time while maintaining complete data coverage through systematic reassignment of unfinished sub-portions.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is split into multiple portions and processed in parallel, then processing speed increases, but system complexity increases due to dynamic splitting and node coordination

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic splitting of data portions into sub-portions based on real-time processing status. When a portion is completed, its remaining sub-portions are dynamically reassigned to available nodes. This dynamic adaptation allows the system to optimize resource utilization and maintain parallel processing efficiency without requiring complex predetermined scheduling algorithms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors processing completion status of each data portion and uses this feedback to dynamically reassign sub-portions to available nodes. This feedback mechanism enables automatic load balancing and ensures that all data portions are eventually processed without requiring manual intervention or complex centralized control.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If large documents are converted from image format to searchable format using traditional methods, then conversion accuracy is maintained, but user experience deteriorates due to lengthy processing times

Engineering Contradiction:
Improveuser experienceVSAvoidconversion time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments large image documents into multiple manageable portions for parallel conversion processing. By dividing the conversion task across multiple nodes simultaneously working on different portions, the system maintains accurate conversion quality while dramatically reducing the time users wait for document conversion to complete.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10162829B2Adaptive parallel data processing
Publication Date: 2018.12.25 ADOBE INC
  • US10162829B2 patent drawing
  • US10162829B2 patent drawing
  • US10162829B2 patent drawing

AI summary

Adaptive parallel data processing techniques are described. In one or more embodiments, a request is received to process a data file. The data file is split into multiple portions and sent to multiple nodes, where each node is configured to process a respective portion of the data file. Responsive to an amount of processing of the data file being completed, at least one of the multiple portions of the data file is dynamically split into multiple sub-portions. The sub-portions are submitted to one or more of the multiple nodes for processing of the sub-portions.