IP Library Granted Patent US 10,970,534
Granted Patent B2
US 10,970,534 · App. 16/259,656 · Granted Apr 6, 2021

Document processing system capture flow compiler

Inventors: Vitaly Stanislavovitch Kozlovsky (Saint-Petersburg, RU); Mikhail Yurievitch Zakharov (Saint-Petersburg, RU); Aleksandr Yevgenyevitch Maklakov (Saint-Petersburg, RU); Alexey Vyatcheslavovitch Petrochenko (Saint-Petersburg, RU)
Assignee: OPEN TEXT CORPORATION
G06K9/00469G06F16/93G06F40/151G06K9/00442G06K9/00993H04N1/00241H04N1/0461G06K2209/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,970,534
App. No.
16/259,656
Granted
Apr 6, 2021
Kind
B2
Abstract

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.

Claims (29)

1. A system comprising:

a communication interface;

a processor coupled to the communications interface; and

a non-transitory computer readable medium coupled to the processor and storing a set of computer executable 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, wherein a step in the first sequence of steps holds configuration information for a corresponding configurable code component;

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, wherein compiling the input capture flow into the capture process comprises determining an optimized second sequence of steps that comprises steps from the first sequence of steps and compiling the second sequence of steps into the capture process, and wherein determining the second sequence of steps comprises:

reordering, for parallel execution, a group of independent steps indicated in the input capture flow for sequential execution; and

based on a determination that the input capture flow contains a duplicative step, eliminating the duplicative step, wherein compiling the input capture flow into the capture process comprises building an in-memory model of the input capture flow and manipulating the in-memory model to reorder the group of independent steps and eliminate the duplicative step; and

deploy the capture process to the document capture system.

2. The system of claim 1 , wherein the in-memory model comprises a directed graph of vertexes and edges with each vertexes representing the steps in the first sequence of steps and the edges representing links between steps in the first sequence of steps based on input and output attributes specified for the steps in the input capture flow.

3. The system of claim 2 , wherein the computer executable instructions are executable to build the directed graph based on instruction scheduling rules.

4. The system of claim 2 , wherein compiling the input capture flow into the capture process comprises identifying, from the directed graph, a set of steps of a same type that have identical input attributes and output attributes and eliminating all but one of the set of steps of the same type that have identical input attributes and output attributes.

5. The system of claim 2 , wherein compiling the input capture flow into the capture process comprises ordering steps represented at a same level in the directed graph for parallel execution.

6. The system of claim 1 , wherein the computer executable instructions are executable to provide a just-in-time compiler to compile the input capture flow into the capture process responsive to an operator request to run a process on a batch.

7. The system of claim 1 , wherein the computer executable instructions are executable to provide a look ahead compiler to compile the input capture flow into the capture process, wherein the look ahead compiler performs capture flow optimization work before execution begins.

8. The system of claim 1 , wherein the capture process comprises instructions to the document capture system specifying the configurable code components to use, the processing order for the configurable code components and the setup attribute values for the configurable code components.

9. A computer program product comprising a non-transitory computer readable medium storing a set of computer executable instructions, the set of computer executable instructions executable to:

receive an input capture flow comprising a first sequence of steps representing configurable code components of a document capture system, wherein a step in the first sequence of steps holds configuration information for a corresponding configurable code component;

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, wherein compiling the input capture flow into the capture process comprises determining an optimized second sequence of steps that comprises steps from the first sequence of steps and compiling the second sequence of steps into the capture process, and wherein determining the second sequence of steps comprises:

reordering, for parallel execution, a group of independent steps indicated in the input capture flow for sequential execution; and

based on a determination that the input capture flow contains a duplicative step, eliminating the duplicative step, wherein compiling the input capture flow into the capture process comprises building an in-memory model of the input capture flow and manipulating the in-memory model to reorder the group of independent steps and eliminate the duplicative step; and

deploy the capture process to the document capture system.

10. The computer program product of claim 9 , wherein the in-memory model comprises a directed graph of vertexes and edges with the vertexes representing the steps in the first sequence of steps and the edges representing links between steps in the first sequence of steps based on input and output attributes specified for the steps in the input capture flow.

11. The computer program product of claim 10 , wherein the computer executable instructions are executable to build the directed graph based on instruction scheduling rules.

12. The computer program product of claim 10 , wherein compiling the input capture flow into the capture process comprises identifying, from the directed graph, a set of steps of a same type that have identical input attributes and output attributes and eliminating all but one of the set of steps of the same type that have identical input attributes and output attributes.

13. The computer program product of claim 10 , wherein compiling the input capture flow into the capture process comprises ordering steps represented at a same level in the directed graph for parallel execution.

14. The computer program product of claim 9 , wherein the computer executable instructions are executable to provide a just-in-time compiler to compile the input capture flow into the capture process responsive to an operator request to run a process on a batch.

15. The computer program product of claim 9 , wherein the computer executable instructions are executable to provide a look ahead compiler to compile the input capture flow into the capture process, wherein the look ahead compiler performs capture flow optimization work before execution begins.

16. The computer program product of claim 9 , wherein the capture process comprises instructions to the document capture system specifying the configurable code components to use, the processing order for the configurable code components and the setup attribute values for the configurable code components.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: KOZLOVSKY, VITALY STANISLAVOVITCH; ZAKHAROV, MIKHAIL YURIEVITCH; MAKLAKOV, ALEKSANDR YEVGENYEVITCH; PETROCHENKO, ALEXEY VYATCHESLAVOVITCH
To: OPEN TEXT CORPORATION
Reel/Frame 055069/0129 →
Priority Claims (1)
RU 2018103208 · Jan 29, 2018 · national
Continuity (1)
Related Publication 20190236350A1 · Aug 1, 2019
Cited By (1)
US 12,511,488