The present invention, in its several embodiments, relates to methods, devices and systems for data processing of documents, and particularly pertains to storing and retrieving data across workflow activities of a workflow instance.
In workflow type applications that have multiple stages, or activities, it is common that a particular processing stage of the workflow, i.e., a particular activity, depends on data that has been produced at any of the earlier processing stages or activities. Workflow applications, or workflow instances, typically require that data be passed from one stage, step, or activity, to another in a sequential manner. Identifying a linkage for passing the data is commonly referred to as “data binding.” In a typical workflow instance the data binding requires knowledge of system names to be used for the binding of data components to activities within a workflow application. Often, at a given processing stage, the designer of the application or the application user must instruct the workflow application as to what the input document or documents to be processed at this stage are. A novice application user or application designer, when setting up the workflow application, may not be sufficiently cognizant of the requisite system names for effective data binding, and the challenges to the user grow as the binding task is further complicated by increasing complex data structures.
The invention, in its several embodiments, includes machine-enabled methods of, and devices and systems for workflow instance execution, particularly workflow instance execution that may include document storing and retrieving based on at least one of: a document type, and/or a document source activity identifier.
Document metadata may be characterized as including a “document type” and a “source activity name.” A designation of a “document type” may be used to indicate origins of a document. Accordingly, a “document type” may include: (a) a scanned document—an electronic document or document file generated via an MFP-scanned document; (b) an OCR document—an electronic document or document file generated by an application of an optical character recognition tool to an image having one or more characters; (c) an XML document—a document file comprising data in an XML format; and/or (d) an image document—a document file generated via image processing. A designation of “source activity name” may be defined as a name uniquely applied to a particular activity from which a document is generated.
A process embodiment of the present invention may comprise the steps of (and not necessarily in the order of): (a) optionally defining or designating a store location or a storage container for current workflow instance; (b) receiving document and its metadata associated with the one or more documents into the document set as an output document of an input activity; (c) selecting, by an output activity, the one or more documents from the document set for input by designating the document metadata corresponding to the one or more documents; and (d) selecting, by a processing activity, the one or more documents from the document set to input by designating the corresponding document metadata. After the processing task is completed, the process activity may output, into the document set, the one or more documents with their respective document metadata.
A workflow instance of embodiments of the present invention may comprise a document set. A document set may be stored in addressable memory comprising the one or more documents and their metadata associated with a current workflow instance. An input activity may be defined as an activity that, while not necessarily requiring a document as input, may produce one or more documents that may be output from the input activity to a document set, and the output document may be stored for, and accessed by, workflow downstream activities. An output activity may be defined as an activity that takes one or more documents produced from upstream activities of the workflow, as input documents with which to perform work according to instructions. An example of an output activity is a “SendEmail” activity that sends email with an attachment. The attachment is a document input from a document set into this exemplary output activity, and the result is that the document is sent via email, for this example. A processing activity may be defined as an activity that gets, as input, one or more documents in a document set, e.g., documents produced from upstream activities and stored, process the input, i.e., do some work, and output the one or more documents to a documents set for subsequent access by downstream activities. An exemplary embodiment of the machine-based method of workflow instance execution based on stored data may comprise: outputting by a workflow instance on a computing device, to an output store, a document comprising a specified attribute of at least one of: a document type and a document source activity identifier; and retrieving by the workflow instance from the output store a document based on at least one of: a document type and a document source activity identifier of the retrieved document.
Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, and in which:
The exemplary printing device or MFP device 110 of
For purposes of illustration, activities may be categorized as input activities, process activities, and output activities. An input activity may produce one or more documents, i.e., generates one or more documents for use by workflow downstream activities, and puts the produced documents into a document set. An input activity is typically not an activity that takes a document from the document set as input. A processing activity may get one or more documents from the document set of the current workflow instance as input and the processing activity may generate one or more output documents which may be put into a document set that may be available for downstream ctivities. An output activity may get one or more input documents from the document set and perform operations according to its respective instructions. An output activity may generate results for the workflow, but may not place a document into the document set. Documents placed into document sets may have two attributes: (a) the type of the document; and (b) the name of the source activity that generated the document. Accordingly, when processing activities or output activities need one or more documents as input, they must either specify the one or more types of the documents to input and/or specify the source activity name. In the first case, the documents of the selected types in the document set may be fetched by the activity. In the second case, the documents generated by the specific activity may be fetched by the current running activity. An activity itself may execute filtering instructions to remove one or more unwanted fetched documents.
Generally, a workflow instance may comprise one or more activities or stages.
An example of a workflow instance 510 comprising a data generating-activity and a data-consuming activity may be illustrated by an exemplary Expense Calculator activity and a Check Issuer activity of
After combining the prefix and suffix, the name of the data in the storage container that is equal to the Expense property value of the Expense Calculator activity will be “ExpenseCalculator1Money”. At run time, the Check Issuer activity 512 may query the document set 531 of the data store 530 for the value of the “Amount” property by setting the prefix equal to the activity name of source activity. In this example, the prefix will be “ExpenseCalculator1”. At run time, the Check Issuer activity 512 may combine the prefix and suffix to form the name “ExpenseCalculator1Money.” Thereafter, the Check Issuer activity 512 may retrieve the data specified by the same name from the document set 531 of the data store 530.
One of ordinary skill in the art will also appreciate that the elements, modules, and functions described herein may be further subdivided, combined, and/or varied and yet still be in the spirit of the embodiments of the invention. In addition, while a number of variations of the invention have been shown and described in detail, other modifications, which are within the scope of this invention, will be readily apparent to those of ordinary skill in the art based upon this disclosure, e.g., the exemplary flowcharts or processes described herein may be modified and varied and yet still be in the spirit of the invention. It is also contemplated that various combinations or subcombinations of the specific features and aspects of the embodiments may be made and still fall within the scope of the invention. Accordingly, it should be understood that various features and aspects of the disclosed embodiments can be combined with or substituted for one another in order to form varying modes of the disclosed invention. Thus, it is intended that the scope of the present invention herein disclosed should not be limited by the particular disclosed embodiments described above.
Number | Name | Date | Kind |
---|---|---|---|
6289460 | Hajmiragha | Sep 2001 | B1 |
6839062 | Aronson et al. | Jan 2005 | B2 |
7080066 | Scheurich et al. | Jul 2006 | B1 |
7174342 | Scheurich et al. | Feb 2007 | B1 |
7184967 | Mital et al. | Feb 2007 | B1 |
7467371 | Meredith et al. | Dec 2008 | B1 |
7496563 | Newbold et al. | Feb 2009 | B2 |
7849053 | Wolff et al. | Dec 2010 | B2 |
20040164987 | Aronson et al. | Aug 2004 | A1 |
20040194033 | Holzwarth et al. | Sep 2004 | A1 |
20040205462 | Levine | Oct 2004 | A1 |
20050009050 | Nadeau et al. | Jan 2005 | A1 |
20050066287 | Tattrie et al. | Mar 2005 | A1 |
20050071209 | Tatavu et al. | Mar 2005 | A1 |
20050076330 | Almgren et al. | Apr 2005 | A1 |
20050144192 | Chkodrov et al. | Jun 2005 | A1 |
20050157341 | Levine | Jul 2005 | A1 |
20060031253 | Newbold et al. | Feb 2006 | A1 |
20060158463 | Michlin | Jul 2006 | A1 |
20070073572 | McLaughlin et al. | Mar 2007 | A1 |
20070156486 | Sanabria et al. | Jul 2007 | A1 |
20070276689 | Slone et al. | Nov 2007 | A1 |
20080072225 | Nagatsuka | Mar 2008 | A1 |
20080114810 | Malek et al. | May 2008 | A1 |
20100250487 | Gabriel et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
2001-216319 | Aug 2001 | JP |
2004-163997 | Jun 2004 | JP |
2008-140378 | Jun 2008 | JP |
WO 2004095309 | Nov 2004 | WO |
WO 2004095309 | Nov 2004 | WO |
WO 2007134265 | Nov 2007 | WO |
WO 2007134265 | Nov 2007 | WO |
WO 2008075304 | Jun 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20110004614 A1 | Jan 2011 | US |