Capture Flow Compiler Optimizes Document Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Document capture systems often compile processes with redundant or unnecessary steps, leading to inefficient use of computer resources due to complex capture flows with multiple branches and steps.
Innovation Solution
A capture flow compiler optimizes the capture flow by reordering independent steps for parallel execution, eliminating duplicative steps, and building an in-memory model using a directed graph to determine an optimized sequence of steps, which are then compiled into a capture process and deployed to a document capture system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a process design tool compiles capture flows with multiple branches and steps, then the capture process can handle complex document processing requirements, but the compiled process contains redundant or unnecessary steps resulting in inefficient use of computer resources
Solution Approach 1:
The compiler extracts and removes redundant or unnecessary steps from the capture flow, retaining only the essential steps needed for document processing. This extraction is performed automatically during compilation based on analysis of the flow graph and dependency relationships between steps.
Solution Approach 2:
The compiler performs preliminary optimization of the capture flow before execution by analyzing the flow graph structure, identifying independent steps that can be executed in parallel, and reordering steps to eliminate redundancies. This preliminary action occurs during the compilation phase rather than at runtime.
2Adaptability or versatility
If the capture flow includes multiple branches and steps to handle various processing requirements, then the system can accommodate diverse document types, but the sequential execution of all steps increases processing time
Solution Approach 1:
The capture flow is segmented into independent steps that can be executed in parallel. The compiler analyzes dependency relationships and divides the flow into groups where steps within each group are independent and can run simultaneously, reducing overall processing time while maintaining all necessary processing capabilities.
Solution Approach 2:
The system transitions from static sequential execution to dynamic parallel execution. The compiler reorders steps and creates execution plans that dynamically allocate resources and execute independent steps concurrently, allowing the system to adapt execution timing based on dependencies while maximizing throughput.
3Ease of operation
If the process design tool allows graphical design of capture processes, then users can easily design complex workflows, but the tool compiles the design into a capture process with redundant steps
Solution Approach 1:
The compiler performs self-service optimization by automatically analyzing the graphically designed flow, identifying redundancies, and generating an optimized capture process without requiring user intervention. The system serves itself by transforming the high-level graphical design into an optimized execution plan automatically.
Data Source
AI summary
A system for document capture comprising a communication interface, a processor coupled to the communications interface, and a computer readable medium coupled to the processor. The computer readable medium stores a set of computer executable instructions that include instructions executable by the processor to receive an input capture flow comprising a first sequence of steps representing configurable code components of a document capture system. A step in the first sequence of steps holds configuration information for a corresponding configurable code component. The instructions further include instructions executable to compile the input capture flow into a capture process that defines a processing order for the configurable code components and setup attribute values for the configurable code components. Compiling the input capture flow into the capture process comprises optimizing the capture flow into a second sequence of steps and compiling the second sequence of steps into the capture process.


