Document controlled workflow systems and methods

The document controlled workflow techniques are provided that can be represented by refinable Petri nets. A document may contain a control code that indicates to the document controlled workflow system to implement specified operations (i.e., functions) at a refinable place. The operations implemented at the refinable place are determined by the control code in the document. An author of the document can customize a document controlled workflow system of the present invention by entering a control code into a document that triggers the implementation of operations customized to that particular document at a refinable place in the document workflow system. The operations specified by a control code in a document can be represented by a refinement network.

BACKGROUND OF THE INVENTION

The present invention relates to the application of Petri nets to document workflow systems and methods, and more particularly, to active document controlled refinement workflow systems and methods.

A Petri net is a computer science structure that defines a concurrent process. Petri nets may be depicted graphically. In a Petri net, operations are represented by transitions (boxes), and states are represented as places (circles). The causal flow of a token through a Petri net is depicted by arcs linking transitions to states and states to transitions. The status of a state is indicated by the presence or absence of a token at that state.

A document workflow system is a pre-defined set of operations performed on document. A Petri net may be used to represent a document workflow system. In a Petri net representation of a document workflow system, a token passing through the Petri net represents a document. Petri nets provide a unifying formal language for document workflow systems. Typically, in document workflow systems, operations are performed on documents. For example, a document can be encrypted, translated, or photocopied. In a Petri net representation of a document workflow system, operations are represented by transitions.

In traditional document workflow systems, the designer of the document workflow retains absolute control over the workflow process by creating a set of operations that can be performed on a document. In a Petri net representation of a such a traditional document workflow system, the states and transitions in the Petri net are connected together in a fixed way that is predefined by the document workflow designer. Thus, each state and transition in the Petri net representation is pre-defined by design and cannot be changed without redesigning the document workflow system.

It may be desirable to modify the set of operations performed on a particular document in a document workflow system. In a Petri net representation of a prior art document workflow system, a workflow designer can modify a target Petri net by inserting a refinement network into the target Petri net.

The workflow designer specifies the target Petri network. A designer also specifies a refinement network. In prior art systems, the only way to modify the target network is for a workflow system designer to replace part of the target net with a refinement network that is specified by the workflow system designer. Thus, if one desires to perform different operations on each document, the workflow designer has to alter or refine the document workflow explicitly each time for each document.

BRIEF SUMMARY OF THE INVENTION

The present invention provides document controlled workflow techniques. In a document controlled workflow system of the present invention, a control code in a document triggers one or more operations (i.e., functions) at a refinable place in an existing document workflow system. An author of a document can customize a document controlled workflow system by entering a control code into the document that triggers operations at a refinable place. The operations triggered by the control code can be represented by a refinement network.

Document controlled workflow systems and methods of the present invention can be represented by Petri networks (i.e., Petri nets). A Petri net representation of a document controlled workflow system includes a refinement network that can replace a refinable place. A control code contained in the token itself (i.e., the document) determines the structure of the refinement network that replaces the refinable place. The refinement network refines the target network and uses the resources that the workflow system has available.

The three properties of token cleanup, a reachable output, and a no dead transitions are referred to as soundness properties, which are fundamental to creating a workflow Petri net. If the original Petri net and the refinement network possess these three soundness properties and the refinable place is replaced according to the processes discussed in the present application, refined Petri networks of the present invention also possess these three properties.

DETAILED DESCRIPTION OF THE INVENTION

An embodiment of the present invention is shown inFIGS. 1–3.FIG. 1illustrates a Petri net10representation of a document controlled workflow system of the present invention. Petri net10includes state nodes11,14,16,18, and20, and transition nodes12,13,15,17,19, and21. State node18is a novel refinable place that can be replaced by a document controlled refinement network. An example of a refinement network is illustrated inFIGS. 2–3. Petri net10as shown inFIG. 1is also referred to as a target network.

Petri net10may represent, for example, a document workflow system for a newspaper publisher, as will now be described in further detail. In this example, all of the transitions and states within region25are predefined process steps designed to be performed at the newspaper editorial office. Nodes11–14are selected and performed by a reporter, and transition21is performed by a typesetter.

A reporter in the field who has prepared an article for publication by the newspaper is ready to submit the article for publication, as indicated by state11. The reporter may submit the article to the newspaper via facsimile (indicated by transition13) or via e-mail (indicated by transition12). If the reporter submits the draft article via facsimile (transition13), the draft article is available at the newspaper office in faxed form, as indicated by state14.

At the newspaper office, the document is received and scanned into a scanner to create an electronic version of the draft article (indicated by transition15). The scanning of the draft article into electronic form may require human intervention. Alternatively, the reporter can fax the article to a facsimile machine that automatically scans documents it receives into an electronic version available for further manipulation (indicated by state16). If the reporter e-mails the draft article to the newspaper office (transition12), the document is directly available as an electronic text, as indicated by state16. The draft article is logged into the newspaper's database, as a submission (transition17).

Document workflow system10then performs tasks that are specified by a control code in the active document. According to principles of the present invention, document workflow system10checks the document to determine if it contains a control code indicating that refinable state18is to be replaced with a refinement network. If the document does not contain a control code, then the document is electronically passed to an editor who makes corrections to the article (indicated by transition19), in an example workflow system. The edited article is complete (as indicated by state20), and the article is passed to the typesetter for printing and publication (indicated by transition21).

Refinable state18can be replaced by a refinement network. Refinable state18is built into the document workflow system by a document workflow system designer. The reporter (i.e., the author of the document) can enter a control code into a document that is recognized by document workflow system10at refinable state18. The control code triggers one or more operations (i.e., functions) that can be represented by a refinement network18A. Refinement network18A may, for example, represent a process for encrypting a document or translating a document into Japanese. Thus, the control code specifies which operations are performed at a refinable place.

In a Petri net representation of document controlled workflow system, refinable state18is replaced by refinement network18A (shown inFIGS. 2 and 3). The structure of refinement network18A is determined by the control code in the document. The control code may be, for example, a code in the header or footer of the document, a bar code, or a code anywhere in the document that is recognized by the document workflow system. The control code is distinguishable from content data in the document, such as the text of an article.

Refinement network18A contains states22and24as well as transition23. Refinement network18A may represent any number of operations (i.e., functions) specified by a control code in a document. The operations are performed automatically or through human intervention on documents passing through the document workflow system.

For example, the document may contain a code that triggers an encryption function in the document workflow system. In this example, refinement network18A corresponds to an encryption function (represented by transition23). The encryption function is triggered by a control code in a document that is recognized by the document workflow system. The function of encryption is performed using a predefined encryption protocol (transition23). Subsequently, the draft article is in an encrypted form (state24).

As another example, a control code in a document may trigger the document workflow system to implement functions that translate an English document into Japanese. In this instance, refinement network18A represents steps for translating an English document into Japanese. If the draft article contains a control code that triggers Japanese translation, the draft article is translated into Japanese, as indicated by transition23. The article is sent to a translator (e.g., a human translator or a software translator) for translation into Japanese. When translation is completed, the draft article includes a Japanese version, as indicated by state24. The translated article then passed to the editor (transition19) for further processing according to the document workflow system.

If a document controlled workflow system has resources available to implement a particular operation, it can perform that particular operation. For example, if a control code in a document triggers an encryption function at refinable state18, a document controlled workflow system can only implement the encryption function if it has encryption software. As another example, if a control code in a document triggers a translation function at refinable state18, a document controlled workflow system can only implement the translation function if it has translation software or a human translator available. If the encryption or translation functions are not available, the document controlled workflow system cannot implement the unavailable function, despite the presence of a control code in a document indicating the unavailable function should be performed. In that case, the document is merely passed according to the processes of the target document workflow system.

The designer of a document controlled workflow system of the present invention provides an author of a document with the ability to modify the document workflow processes according to specific requirements encoded within the document. Thus, the document controlled workflow techniques of the present invention provide a powerful tool for adding flexibility into a document workflow system so that operations performing in the workflow system can be tailored to each individual document.

The document controlled refinement networks of the present invention may comprise refinable places that comprises initial and final states. The refinement networks have initial and final nodes that are states, not transitions. For example, refinable node18in Petri net10is a state node, and refinement network18A has an initial state22and a final state24that are linked to transitions17and19, respectively. States are refined instead of transitions, because it simplifies formal definitions.

Petri network50illustrated inFIGS. 4A–4Bis a representation of a document controlled workflow system in accordance with another embodiment of the present invention. Petri network50include states51,53,55,57,72, and74as well as transitions52,54,56,58,71, and73. Nodes53-55define a novel refinable place59that can be replaced with refinement network60. Refinable place59is an example of a refinable place that comprises a plurality of states and transitions. Refinement network60includes states61,65, and67as well as transitions62,63,64, and66. Transitions52,54,56,58,71,73,62-64, and66may, for example, represent any suitable software processes. If the document in the workflow system contains a predetermined control code that is recognized by the workflow system, refinement network60replaces refinable place59.

State61represents a decision that is made in the workflow process in terms of which of three operations or sets of operations are performed on the document at transitions62,63, or64and66. The decision can be made automatically through software processing, for example, based upon the content of the document or other environmental factors. Alternatively, the decision can be based upon human input or intervention. State67is the final state of the refinement network, after which an operation in the original target workflow system is performed on the document (indicated by transition56or73).

Operations can be performed on some portions of a document and not on other portions of the document in a document controlled workflow system. For example, a document passing through a document controlled workflow system may contain three chapters. The document may contain a first predetermined control code that triggers the workflow system to translate chapter one into Japanese (indicated by transition62). The document may also contain a second predetermined control code that concurrently triggers the document workflow system perform a spell checking function only on chapter two (indicated by transition63). The document may also contain a third predetermined control code that concurrently triggers the workflow system to bold certain words (transition64) and italicize certain words (transition66) only in chapter three.

The three soundness properties of 1) token cleanup, 2) a reachable output, and 3) a no dead transitions are fundamental to creating a workflow Petri net. A reachable output in a document workflow Petri net means that there are no conditions internal to the Petri net that could cause a document to get stuck in the Petri net. A document passing through the Petri net should always reaches the output without getting stuck in the Petri net, for example, at an infinite loop or at a dead end node.

The property of no dead transitions means that there are no transitions in the Petri net that can never be fired. Conversely, all transitions can be fired from a reachable state. The property of token cleanup means that once a token (e.g., a document) reaches the output node of the network, the network has no tokens remaining elsewhere in the Petri net. In other words, if a document can reach an output node in the Petri net from the input node, then that output node is the only output node. If a target network and a refinement network are both sound (i.e., they both possess the three soundness properties) and the refinable place is replaced according to the process discussed below with respect toFIG. 5, then the resulting document controlled refined network also possesses the three soundness properties.

FIG. 5is a flow chart illustrating the steps involved in passing a document through a document controlled workflow system of the present invention. A document passes through the document controlled workflow system at step101, that may, for example, be represented by Petri net50. At step102, the document is passed to a refinable place such as refinable place59. The document controlled workflow system then determines if the document contains a predetermined control code associated with one or more operations. These operations are represented as a refinement network, such as refinement network60linked to refinable place59.

The control code may be, for example, a predetermined set of data in the document, a predetermined image or graphic, or a predetermined string of characters, numbers, and/or symbols. The control code may be located at a predetermined location in the document. The document workflow system scans the document for the predetermined control code. If the predetermined control code is not present anywhere within the document (decision103), the document workflow system bypasses the refinement network and continues to execute processes represented by the target network at step110. Alternatively, the document workflow system may bypass the refinement network and continue to execute processes represented by the target network at step110if the control code is not found in a predetermined location in the document.

If the document controlled workflow system finds a control code it recognizes in a document (decision103), the workflow system implements the operations indicated by the control code. The document controlled workflow system should have resources available to implement the operations specified by the control code. The document-specified operations are represented by a refinement network, e.g., network60. The arcs in the refinable place are deleted at step104to prevent the implementation of the refinable place. For example, all the arcs coupled to nodes53–55are deleted in target net50(including the arcs connecting transitions52and71with state53and the arcs connecting state55with transitions73and56) as shown inFIG. 4Bso that refinable place59is not implemented.

At step105, the refinement network is substituted between the initial and final nodes in the target network that link to the refinable place. For example, refinement network60is substituted between transitions52,71,56, and73, and arcs are created between transition52and state61, between transition71and state61, between state67and transition56, and between state67and transition73as shown inFIG. 4B. The normal firing rule of Petri nets, under which transitions change only the distribution of tokens to places, is adapted. In the present invention, a refinable place may be replaced by a refinement network.

The document controlled workflow system then deletes the control code in the document that triggers the refinement network at step106so that the control code does not trigger the document system to repeat any of the process steps. The operations represented by the refinement network are then executed until the document is at the output state (e.g., state67) at step107. Operations represented by the original target Petri net are then performed on the document. For example, after output state67, operations represented by transitions56or73are performed.

After operations represented by the refinement network are performed, the refinement network is deleted, and the arcs reconnecting the refinable place to the rest of the target network are recreated, at step108. The nodes in the target network are now linked as they were before step104. The input and output nodes of the refinable place should continue to be marked as such during the refinement process so that the arcs are reconnected to the proper nodes. For example, the links to input state53and output state55of refinable place59shown inFIG. 4Aare reconnected at step108.

Steps104–108ensure the proper network is implemented by adding a refinement network only after the connections to the network it is replacing are deleted. The document system then continues executing the processes represented by the target network at step110. Additional documents that enter the document controlled workflow system are processed according to steps101–108and110, as discussed above.

In another embodiment, a document controlled workflow system of the present invention can include two or more refinable places that can be replaced by operations (represented by refinement networks) triggered by a control code in a document. Document controlled workflow networks of the present invention may be implemented on any suitable hardware embodiment. For example, a document controlled workflow system can be preformed on a personal computer, in a network environment using a plurality of computers connected through a network, on computers or processors connected through the Internet, using computers connected to a server in a client-server arrangement, or any combination thereof.