WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Controlled work flow system    

Get related patents on CD
United States Patent4503499   
Link to this pagehttp://www.wikipatents.com/4503499.html
Inventor(s)Mason; Gary R. (Agoura, CA); Speaker; Kenneth W. (Studio City, CA); Macropol; James L. (Camarillo, CA); McKie; Robert A. (Rome, NY); Bailin; Sidney C. (Washington, DC)
AbstractIn a system for controlling the flow of paper work of a multiplicity of documents by a multiplicity of individuals, the documents are stored electronically in the memory of a central data processor and are electronically transmitted to remote processors to be displayed by display devices of terminals connected to the remote processors when the paper work tasks are performed. Schedules of tasks are stored in the memory of the central data processor, each schedule comprising a plurality of data packets and each data packet containing the identification of a document, the task to be performed on the document, the individual who is to perform the task, whether the task has been completed, whether the task must await the completion of a preceding task identified in the data packet in the schedule and, if so, which preceding data packets have tasks which must be first completed. The central data processor processes the data in the data packets of the schedules and transmits the data packets to the remote data processors when the data packets do not await the completion of an uncompleted task of a preceding data packet. When an individual indicates he wishes to perform a task in a packet which has been transmitted to a data processor, the document of the task will be electronically transmitted from the central data processor memory to the remote data processor and be displayed on the cathode ray tube display device of a terminal connected to the remote processor. The individual will then be able to perform his assigned task on the displayed document. When he has completed his task, the document is electronically transmitted back to the memory of the central data processor and an indication is stored in the corresponding data packet of the stored schedules that the task of the data packet has been completed.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 4503499
Controlled work flow system - US Patent 4503499 Drawing
Controlled work flow system
Inventor     Mason; Gary R. (Agoura, CA); Speaker; Kenneth W. (Studio City, CA); Macropol; James L. (Camarillo, CA); McKie; Robert A. (Rome, NY); Bailin; Sidney C. (Washington, DC)
Owner/Assignee     Eaton Corporation (Cleveland, OH)
Patent assignment
All assignments
Company News
Publication Date     March 5, 1985
Application Number     06/419,216
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 14, 1982
US Classification     718/101 709/206
Int'l Classification     G06F 015/16
Examiner     Zache; Raulfe B.
Assistant Examiner    
Attorney/Law Firm     Lane, Aitken & Kananen
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/200 MS File 364/900 MS File 364/300 364/401 364/402
Patent Tags     controlled work flow
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4318173
Freedman
718/103
Mar,1982

[0 after 0 votes]
4032899
Jenny
710/316
Jun,1977

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A computer system for improving the efficiency in carrying out a project involving the creation or modification of the multiplicity of documents by a multiplicity of individuals comprising:

storage means to electronically store a schedule of a multiplicity of work events comprising a stored packet of data for each work event, each of said packets identifying (1) a document, (2) a task to be performed with respect to said document selected from a set of tasks including creation of the document and modification of an existing document, (3) the individual who is assigned the task to be performed on the document, (4) an indication of whether the work event corresponding to the packet is completed, and (5) whether or not the commencement of the work event corresponding to the packet must await the completion of a preceding work event in said schedule;

document storage means to electronically store existing documents identified in said stored packets of said schedule;

keyboard means to generate input signals representing data,

display means to display data transmitted to said display means;

data control means (1) operable to process the data in said packets and cause said display means to display the identification of uncompleted work events in said schedule which do not await the completion of preceding uncompleted work events (2) responsive to input signals received from said keyboard means for selecting one of the work events identified by said display means to cause the document of the selected work event as stored in said document storage means to be displayed by said display means, and (3) responsive to input signals received from said keyboard means to modify or create the document of the selected work event and to store the document as modified or created in said document storage means.

2. A computer system as recited in claim 1, wherein said data control means is responsive to input signals from said keyboard means selecting a work event in said schedule and indicating that the work event is completed, to store an indication in the packet corresponding to the selected work event that the selected work event is completed.

3. A computer system as recited in claim 1, wherein said keyboard means and said display means comprises a plurality of data terminals each having a keyboard for generating signals representing data and a display device for displaying data transmitted to said terminal, said data control means operating in response to signals received from a keyboard of one of said terminals selecting one of said work events to cause the display device of said terminal to display the document of the selected work event.

4. A computer system as recited in claim 1, including a current work storage means for each of the individuals assigned a task in said schedule and operable to store packets of data transmitted thereto by said data control means, said data control means transmitting copies of packets in said schedule which do not await completion of an uncompleted preceeding work event in said schedule to the current work storage means of the individual assigned the task of such work event, said data control means responding to input signals from said keyboard means identifying one of said individuals and indicating a request for a list of work events ready to be worked on causing said display means to display the identification of each of the work events corresponding to the packets in the current work storage means of the individual identified by the input signals from said keyboard means.

5. A computer system as recited in claim 4, wherein said data control means stores the current time in each data packet in said schedule when said data control means transmits a copy of such data packet to the current work storage means of the individual assigned the task of such work event, said computer system including further storage means to store data from said packets, said data control means being responsive to input signals from said keyboard indicating a request for status information on said project to store in said further storage means data from at least one packet of said schedule selected in accordance with the times stored in said packets.

6. A system for facilitating the carrying out of a project involving the performance of multiple tasks to be performed by a multiplicity of persons wherein some of said tasks must await completion of other of said tasks, said system comprising:

information storage means storing a schedule of work events comprising a packet of data for each work event, each stored packet including:

(1) the identification of the task to be performed;

(2) the identification of the person responsible for performing the task; and

(3) whether the work event corresponding to the packet must await the completion of a preceeding work event in said schedule; and

(4) an indication of whether the work event has been completed;

display means to display information in human readable form;

data control means operable to process the data in the stored packets of said schedule to determine which work events in said schedule do not await the completion of a preceeding uncompleted work event in said schedule and cause said display means to display the identification of the work events which have been determined not to await the completion of a preceeding uncompleted work event in said schedule.

7. A system as recited in claim 6, further comprising current work storage means for each of the individuals assigned a task in said work schedule operable to store packets of data transmitted thereto, said data control means transmitting each packet of data of said schedule corresponding to a work event determined as not awaiting completion of a preceeding uncompleted work event in said schedule to the current work storage means of the individual assigned the task of said work event, said display means including keyboard means associated therewith, said data control means responsive to input signals received from said keyboard means identifying an individual assigned a task in said schedule to cause said display means to display the identification of the work events corresponding to packets stored in the current work storage means of the individual identified by the signals received from said keyboard means.

8. A system as recited in claim 6, further comprising keyboard means for generating input signals representing data, said data control means being responsive to input signals received from said keyboard means selecting a work event in said schedule and indicating that the work event in said schedule is complete to store an indication in the packet corresponding to such work event in said schedule indicating that such work event is complete.

9. A system as recited in claim 6, wherein keyboard means is associated with said display means, wherein said computer system includes further storage means for storing data from said packets and wherein said data control means is responsive to signals received from said keyboard means indicating a request for a status report on said work schedule to process the data in the packets of said schedule and store data from selected packets of said schedule in said further storage means.

10. A computer system for improving the efficiency of office procedure in carrying out a project involving the performance of a multiplicity of tasks by a multiplicity of individuals wherein the commencements of some of the tasks of the project have to await completion of other preceding tasks of the project comprising:

a first data processing means having information storage means for storing a schedule of work events, comprising a stored packet of data for each work event, each stored packet including:

(1) the identification of the task to be performed;

(2) the identification of the person to perform the task;

(3) an indication of whether the work event corresponding to the packet is completed; and

(4) an indication of whether the commencement of the work event corresponding to the packet must await the completion of a preceeding work event in said schedule;

second data processing means;

transmission means interconnecting said second data processing means with said first data processing means for the transmission of data between said first data processing means and said second data processing means;

said first data processing means having data control means to process the data in the packets of said schedule and transmit over said transmission means to said second data processing means a copy of the packets in said schedule corresponding to work events which do not await the completion of an uncompleted preceding work event in said schedule;

said second data processing means having information storage means to store the packets transmitted thereto from said first data processing means over said transmission menas, display means connected to said second data processing means to display data in human readable form, said second data processing means including data control means operable to cause said display means to display the identification of the work events corresponding to packets stored in said information storage means of said second data processing means.

11. A computer system as recited in claim 10, wherein said second data processing means comprises a plurality of data processors, each having information storage means to store packets transmitted thereto from said first data processing means over said transmission means, said display means comprising at least one display device connected to each of said second data processors to display data in human readable form, each of said data processors having data control means operable to cause the display device connected thereto to display the identification of the work events corresponding to packets of data stored in the information storage means of such data processor.

12. A computer system as recited in claim 10, further comprising keyboard means connected to said second data processing means to generate input signals to said second data processing means, and wherein said data control means of said second data processing means operates to cause said display means to display the identification of selected work events corresponding to packets stored in the information storage means of said second data processing means in response to input signals received from said keyboard means.

13. A computer system as recited in claim 12, wherein said information storage means in said second data processing means includes a separate packet storage means for each individual assigned a task in said schedule of work events, the packets stored in the information storage means of said second data processing means each being stored in the packet storage means corresponding to the individual who is assigned the task of the work event corresponding to such packet, said data control means of said second data processing means operating in response to input signals received from said keyboard means including signals identifying an individual assigned a task in said schedule to cause said display means to display the identification of the work events corresponding to packets stored in the packet storage means of such individual.

14. A computer system as recited in claim 12, wherein the data control means of said second data processing means is responsive to input signals from said keyboard identifying one of the work events corresponding to a packet in the information storage means of said second data processing means and indicating that the work event corresponding to such data packet has been completed to remove such data packet from the information storage means of said second data processing means and to transmit a message to said first data processing means indicating that the work event identified by the input signals from said keyboard means has been completed, the data control means of said first data processing means being responsive to a message received from said second data processing means indicating that a work event has been completed to store an indication in the packet of said schedule corresponding to such work event indicating that the work event has been completed.

15. A system for facilitating the carrying out of a project involving the performance of multiple tasks to be performed by a multiplicity of individuals, said system comprising:

a central data processor including information storage means to store a schedule of work events comprising a stored packet of data for each work event stored in said schedule, each packet including (1) the identification of one of said tasks, (2) the identification of the person responsible for performing the task, (3) an indication of whether the work event corresponding to the packet has been completed, and (4) whether the commencement of the work event corresponding to the packet must await the completion of a preceeding work event in said schedule,

a plurality of second data processors,

data transmission means connecting said second data processors to said central data processor to transmit data between said second data processors and said central data processor,

said central data processor including data control means for proceessing the data in the stored packets of said schedule to determine which of said work events of said schedule do not await the completion of an uncompleted preceeeding work event in said schedule and to transmit the packets corresponding to work events determined not to await completion of an uncompleted preceding work event to said second data processors, each of said second data processors including information storage means to store the packets transmitted thereto by the data control means of said central data processor, a display means connected to each of said second data processors to display data transmitted thereto by the corresponding second data processor, each of said second data processors including data control means operable thereto by the corresponding second data processor, each of said second data processors including data control means operable to cause the display means connected thereto to display the identification of the work events corresponding to the packets stored in the information storage means of such second processor.

16. A method of operating a computer system to coordinate the creation and modification of a multiplicity of related documents, said computer system having a central processing unit and memory means to store data comprising:

(1) establishing in said memory means a schedule of work events, each work event being represented in said memory means by a stored packet of data identifying a document, a task to be performed with respect to said document selected from a set of tasks including creation and modification of said document, the individual who is assigned the task of the work event, and whether or not the work event must await completion of a preceding work event, and whether or not the work event has been completed;

(2) maintaining a file of the existing documents identified in said packets electronically stored in said memory means;

(3) initially setting the indication in each packet to indicate that the work event of such packet has not been completed,

(4) changing the indication in each packet to indicate that such work event has been completed when the task of such work event has been completed,

(5) displaying the documents of said work events to the respective individuals assigned the tasks of work events with the document for each packet which contains an indication that the corresponding work event must await the completion of a preceding work event being displayed to the individual assigned the task of such work event only after the indication in the packet corresponding to the preceding work event has been changed to indicate that such preceding work event has been completed,

(6) carrying out the tasks identified in the packets of the work events on the documents identified in the packets of the work events when the documents are displayed at the terminals, and

(7) after the completion of each work event electronically storing any document of such work event modified or created by the task of such work event in said file of existing documents.
 Description Submit all comments and votes
 


REFERENCE TO MICROFICHE APPENDIX

This invention makes use of a computer program, the source code listings of which are found in the microfiche appendix submitted herewith. The microfiche appendix comprises 9 microfiche totalling 538 microfiche frames.

BACKGROUND OF THE INVENTION

This invention relates to a data processing system for improving the management of work performed by a large number of workers carrying out related interdependent tasks and, more particularly, to a system for automating office procedure to coordinate the flow of work on documents and the transmittal of documents between office personnel.

One source of inefficiency in office work of the type involving preparation, editing documents, filling in forms, etc. arises when a large number of documents relating to a given project have to be worked on by a large number of different people with different people being required to work on common documents and some of the tasks to be performed by some of the personnel having to await the completion of tasks performed by other personnel. When one person does not perform a task on a given document within a reasonable time, this can cause a bottleneck holding up the entire project. In addition, delays in the project tend to occur as a result of misrouting of documents and failure to promptly notify persons who have a given task to perform that the task is ready to be performed, particularly when such task has to await completion of other previous tasks. These problems are exacerbated because information as to the existence of a delay or bottleneck or its cause is not readily available to the project manager and further delays occur before he is informed of a problem and can take corrective action.

SUMMARY OF THE INVENTION

The present invention employs data processing techniques to avoid the above described inefficiencies. In accordance with the present invention, a central data processor is connected to a plurality of remote data processors by means of a communications network. A plurality of terminals are connected to each remote data processor and comprises a keyboard and a cathode ray tube display device. Each terminal respresents the place where one or more individuals will perform the desired paperwork and documentary tasks by means of the keyboard and the cathode ray tube display device. Alternatively, some or all of the terminals may each have its own individual remote data processor connected to the communications network. The documents that are created or worked on by the system of the invention are electronically stored in a memory of the central data processor.

In accordance with the present invention, the paperwork to be performed with respect to a given project is divided into individual tasks each performed by one individual on one document. A file is created in the memory of the central processor for each project containing the schedule of tasks to be performed in the project, identifying the persons who are to perform the tasks, the identification of the documents on which the tasks are to be performed, and an identification of what other tasks have to be completed before each task can be started. A program is executed by the central data processor to operate on the files in the central processor memory containing the scheduled tasks and notifies the workers who are to perform the tasks when the tasks are ready to be performed. The program, in response to requests from the workers, causes the central processor to electronically send the necessary documents to the remote processor where the persons who are to perform the tasks are located.

The system is designed for projects in which some tasks of the project have to await completion of one or more other tasks in the project. The program at the central processor keeps track of the project by storing in the schedule file an indication of which tasks are completed as notified by the workers. When the central processor receives notification that a given task is complete, and other tasks are awaiting completion of the given task, the program sends out notification to the persons who are assigned these other tasks that these other tasks are now ready to be performed. The manager of the project may check on the progress of the project by causing the program executed by the central data processor to examine the schedule file and return information as to the status of the individual tasks of the project.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating the hardware or architecture of the overall system of the present invention;

FIG. 1a illustrates a computer terminal, called a work station, employed in the system of FIG. 1;

FIG. 2 illustrates a data file, called an effort RO file, employed in the system of the invention, and stored in a computer memory of the system of FIG. 1;

FIG. 3 illustrates the organization of a portion of the data file shown in FIG. 2, which portion is called an event packet;

FIG. 4 illustrates the organization of an entry in a table, called the effort table, employed in the system of the present invention and stored in a computer memory of the system of FIG. 1;

FIGS. 5a and 5b show a flow chart of a computer program process, called the dispatch process, employed in the system of the present invention;

FIG. 6 is a flow chart illustrating the steps of a decision sequence employed in the dispatch process of FIGS. 5a and 5b in more detail;

FIG. 7 is a flow chart illustrating a computer program process, called the request monitor, employed in the system of the present invention;

FIGS. 8a and 8b illustrate a flow chart of a computer program subprocess, called the select server subprocess, which is initiated by the request monitor process shown in FIG. 7;

FIG. 9 is a flow chart of a computer program subprocess, called a complete server subprocess, which is initiated by the request monitor process shown in FIG. 7;

FIG. 10 is a flow chart illustrating a computer program subprocess, called the start session server subprocess, which is initiated by the request monitor process shown in FIG. 7;

FIG. 11 is a flow chart illustrating a computer program subprocess, called the collect server subprocess, which is initiated by the request monitor process shown in FIG. 7;

FIG. 12 is a flow chart illustrating a computer program subprocess, called the stop server subprocess, which is initiated by the request monitor process of FIG. 7;

FIG. 13 is a flow chart illustrating a computer program subprocess, called the cancel server subprocess, which is initiated by the request monitor process of FIG. 7;

FIG. 14 is a flow chart illustrating a computer program subprocess, called the end session server subprocess, which is initiated by the request monitor process shown in FIG. 7;

FIG. 15 is a flow chart illustrating a computer program subprocess, called the trace server subprocess, which is initiated by the request monitor process shown in FIG. 7;

FIG. 16 is a flow chart illustrating a computer program subroutine illustrating part of the subprocess of FIG. 15 in more detail;

FIG. 17 is a flow chart of a computer program subprocess, called the add effort server subprocess, which is initiated by the request monitor process of FIG. 7;

FIG. 18 is a flow chart of a computer program, called the work interface program, employed in the system of the present invention as shown in FIG. 1;

FIG. 19 is a flow chart of a subroutine forming part of the work interface program of FIG. 18 and carried out in response to a keyboard entered command LIST;

FIG. 20 is a flow chart of a computer subroutine forming part of the work interface program of FIG. 18 carried out in response to a keyboard entered command of SHOW;

FIG. 21 is a flow chart of a subroutine of the work interface program of FIG. 18 carried out in response to the keyboard entered command SELECT;

FIG. 22 is a flow chart of a subroutine of the work interface program of FIG. 18 carried out in response to the keyboard entered command COMPLETE;

FIG. 23 is a subroutine forming part of the work interface program of FIG. 18 carried out in response to a keyboard entered administrative type command;

FIG. 24 is a flow chart illustrating a computer program subroutine forming part of the subroutine of FIG. 22 and carried out in response to the keyboard entered command ADMIN TRACE.

DESCRIPTION OF A SPECIFIC EMBODIMENT

As shown in FIG. 1, the system of the present invention comprises a central data processor 11, which is connected by a communications network 13 to a plurality of remote data processors 14, which are called "work station processors". Each work station data processor has a plurality of terminals called "work stations" connected thereto. Each work station, as shown in FIG. 1a, comprises a keyboard 17 for entering data and commands into the corresponding remote processor 14 and a cathode ray tube display device 16 operated by the corresponding remote processor for displaying documents and data in the memory of the remote processor. The keyboard is provided with at least one signal lamp 18, called the "work light".

The central data processor 11 comprises a CPU 20 which executes programs of the controlled work flow system of the present invention and which has a memory 19 to store files associated with the controlled work flow system. The central data processor 11 is provided with a central library facility to store and access documents of the controlled work flow system. The central library facility has a library memory comprising a portion of the memory 19 to store the documents and a program for accessing the documents called the CLF daemon. The CLF daemon will access the documents in the library memory and send documents to or fetch documents from a selected work station processor over the communications network 13. For example, in response to a request, which is referred to as BORROW, identifying a specific document stored in the central library facility, the central library facility will read out the identified document from the library memory and send it to a work station processor. The documents received by a work station processor are stored in a portion of the memory of the work station processor, called the "document directory". The request BORROW will identify the document directory in a particular work station processor to which the document is to be sent and the central library facility will electronically transmit the document to the remote processor and store it in this document directory. A document sent to a work station processor in response to a BORROW request is said to be "borrowed". A work station connected to the work station processor receiving the borrowed document can then modify the borrowed document. In response to a request, which is referred to as RETURN, the central library facility will fetch the borrowed document from the document directory identified with the RETURN request and store the document back in the document file for the document in the library memory in the form as modified by the work station. If a newly created document is to be stored in the central library facility memory, the document is fetched by the central library facility in response to a request, which is referred to as STORE. In response to receiving a STORE request, the central library facility will store the document in a new document file set up for the document in the central library facility memory.

When a document is borrowed from the central library facility, the central library facility retains a copy of the document, but the central library facility will not respond positively to a request to borrow a document which is already borrowed. The central library facility will also respond to a request, referred to as COPY, and identifying a document in the central library facility. In response to receiving the request COPY, the central library facility will read out the identified document and store it in a special document directory at the work station processor identified with the COPY request. The central library facility, however, will only respond positively to a RETURN request if the document has been borrowed and, accordingly, only a borrowed document can be modified and returned to the central library facility..sup.1

.sup.1 The source code listing for the CLF daemon is found in frames 386 through 401 of the microfiche appendix.

In the controlled work flow process, the scheduling of work tasks in a project is controlled by the program executed by the data processor 11, which program is called the "work daemon". Each paperwork project involving a multiplicity of documents and a multiplicity of personnel to work on the documents is referred to as an "effort" and files referred to as effort RO files, each designating the schedule of paperwork for a given effort, are stored in the memory 19. Each effort is broken down into tasks with each task to be performed by one individual worker on one document. These tasks are called "work events". The individual workers and managers who make use of the controlled work flow system are called "users". The work daemon operates on the effort RO files to notify the users at the work stations 15 what work events are ready to be carried out and issues BORROW, RETURN, STORE, and COPY requests to the central library facility to transmit documents between the work station processors and the central library facility. When a user indicates that he wishes to proceed with a specified work event, which involves modification of an existing document, the work daemon will issue a BORROW request to the central library facility to cause the document of the work event to be sent to the work station processor corresponding to the user for the work event. When a user indicates that he has completed a work event on a borrowed or newly created document, the work daemon will issue a RETURN or STORE request to the central library facility and cause the document, as modified, to be sent back to the central library facility for storage back in the library memory. In a given effort, some of the work events may have to await completion of tasks by other individuals. In such instances, the work daemon awaits the completion of the necessary previous work event or events and, then on completion of these previous events, sends notification to the user at the work station that the specific work event is now ready for the user to perform.

At each work station processor, a work interface program is provided to organize the information received from the work daemon. The work interface program also responds to commands from the user entered by the keyboard at a work station to transmit requests to the work daemon, displays the documents received from the CLF daemon in response to operations of the work daemon, and enables the user to carry out the tasks of his assigned work events.

An effort manager will be named to be in charge of each effort and an effort manager will usually have the responsibility for setting up the schedule of work events in a work effort. This schedule is called a "route specification" and each effort RO file is generated from the information in a route specification. To generate a route specification, the effort manager makes use of a program called the "effort program" in which he enters the data of a route specification into the computer system by means of one of the work stations 15. The effort program is preferably resident at each of the remote processors 14. The data will go first into a route specification file and, from the route specification file, it will be compiled into an effort RO file and stored in the memory 19..sup.2

.sup.2 The source code listing for the effort program is found in frames 119 to 123 in the microfiche appendix.

To make the route specification file, the effort manager first breaks the effort down into work events and may separate the work events into one or more groups of logically related work events, which groups are called "steps". Then, using the effort program, the effort manager enters the data of a route specification by first entering a unique name for the effort followed by his own identification and an identification of the type or classification in which the effort falls. The effort manager will then enter the appropriate data for each work event of the effort including: (1) the identification of the person who will carry out the task of the work event; (2) an identification of the task to be perfomed; (3) the document name which uniquely identifies the document in the effort; (4) the type of document, such as, for example, form, text or drawing; (5) the estimated days required to complete the event; (6) in the case of forms, the identification of the fields of the form which are to be acted upon by the user who is assigned the task of the event; and (7) an identification of each preceeding event which must be completed before the given event can proceed. The effort manager may include a label uniquely identifying each event within the effort at the beginning of each event. A unique identifying label should be entered for each event which requires completion before another event of the effort can be undertaken. The task to be performed in each event will be limited to a predetermined set of actions which, for example, may be CREATE, UPDATE, SIGN, COMMENT and EXAMINE. When the action is CREATE, this means that the document of the event is to be created by the user. If the action is UPDATE, this means that the document exists and is to be updated or edited by the user of the event. If the action to be taken is SIGN, then the user of the event is to signify an electronic signature to the document indicating his approval of the document or specified portion of the document. If the action is COMMENT, then the user for the event is to enter his comments regarding the document in a special comments file associated with the effort. If the action is EXAMINE, the user of the event is to merely examine the document. The effort manager may include with each event any comment or instruction to the user who is to carry out the task of the event.

An example of a route specification file is shown below:

______________________________________ effort proj848 acm,acquisition ______________________________________ make event who = acm action = create docname = form77 doctype = form takes = 2 fields = 1, 3, 4, 5, 7, 8, 9, 22, 23, 25, 34: make1 event who = jmmj action = update docname = frm77 doctype = form takes = 1 fields = 2, 6, 11 waitfor = make sowc event who = acm action = create docname = SOW doctype = text takes = 40 make2 event who = lrpb action = update docname = form77 doctype = form takes = 1 fields =12 waitfor = make1 f77 event who = cmndr action = sign docname = form takes = 1 fields = 14 waitfor = make2 event who = acm action = create docname = form191 doctype = form takes = 1 fields = 1, 2, 3, 4, 5, 6, 7, 8, 9 waitfor = f77 comment = cant proceed until form 77 is signed. event who = rlk action = update docname = SOW doctype = text takes = 14 waitfor = sowc ______________________________________

In the above route specification file, the name of the effort is PROJ 848. The effort manager's identification is ACM. The type of effort is ACQUISITION meaning that effort is the paperwork for a procurement project. Another type of effort, for example, might be TRIP/TRAVEL meaning that effort is the paperwork associated with a trip authorization or a trip report. In the example, there are seven events. The first five events are given the labels make, make1, sowc, make2 and f77. The sixth and seventh events are unlabeled. The user, to carry out the task in each event, is identified opposite "who=". The task to be carried out is identified opposite "action=". The name of the document for each event is identified opposite the "docname=". The type of document for the event is identified opposite "doctype=". The number of days estimated to carry out the task of the event is identified opposite "takes=". When a document is a form, the identification of fields of the form to be filled in by the user for the event are identified opposite " fields". Those events which must wait for the completion of a preceding event or events, identify the preceding event or events opposite "wait for=". Thus, before the event make1 can be undertaken, the event make must be completed; before the event make2 can be undertaken, the event make1 must be completed; before the event f77 can be undertaken, the event make2 must be completed; before the penultimate event of the effort (unlabeled) can be undertaken, the event f77 must be completed; and before the last event of the effort (unlabeled) can be undertaken, the event identified sowc must be completed. The effort manager has included with the penultimate event the comment "cant proceed until form 77 is signed."

After the effort manager has created a route specification file, as described above, for a given effort, he will then use a program called the "route compiler" to cause the effort to be compiled into an effort RO file, which will be transmitted to the central processor and stored in the memory 19 of the central data processor 11..sup.3 Each effort RO file has essentially the same information as in the route specification file, but converted to a form to be processed by the work daemon. As shown in FIG. 2, which illustrates the organization of an effort RO file, each effort RO file begins with a start packet containing the effort name, the effort type, the event number "0", and the identification of the effort manager, followed by a status flag, which is used by the work daemon in the management of the effort RO file. The start packet is followed by a series of event packets, each of which contains the information from a corresponding work event in the route specification file.

.sup.3 The source code listing for the route compiler is found in frames 124 to 141 in the microfiche appendix.

As shown in FIG. 3, which illustrates the organization of an event packet in the effort RO file, the entries thereof comprise: (1) the effort type followed by, (2) the effort name, (3) the identification of the effort manager, (4) the event number, which is the number assigned to the event in accordance with its sequential position in the effort RO file, (5) the event status flags, which indicate the present status of the event in the effort, (6) the user identification, which is the identification of the individual to perform the task, (7) the action, which is the task to be performed, (8) the document name, (9) the document type, which may be text form, or graph, (10) the estimated number of days to complete the task of the event. The above entries are found in every event packet at the time that it is included in an effort RO file. Following these entries are the time dispatched, time selected, and time complete sections, which are for entering times indicating the progress of the event in the effort. After the time sections, an "events-waited-for" section is provided to enter identification of those preceeding events which must be first completed before the task of the present event can be undertaken. Following the events-waited-for section is a "form field" section used only when the document type is a form to identify the field or fields in the form to be acted upon by the user. Following the form field section is a section to receive any comment or instruction regarding the event from the effort manager.

As will be explained below, the event packet will be dispatched to a file assigned to the user of the event when the event is ready to be undertaken by the user; that is, when all the preceding events for which the present event must wait have been completed. The time that the event packet is dispatched is entered in the time dispatched section. The time that the user selects the event packet to begin carrying out the task of the event is inserted in the time selected section and the time that the user indicates that he has completed the task is inserted in the time complete section. The status flags comprise a dispatched flag which is set when the event packet is dispatched, a selected flag which is set when the event is selected, and a complete flag which is set when the user indicates that he has completed the task of the event packet. The status flag in the start packet in each effort RO file is also a complete flag. This complete flag in the start packet must be set in order for the work daemon to dispatch any event packets of the effort. Thus, setting or clearing the flag serves to start or stop the dispatching of events in the effort. As indicated above, the document type may be a text, drawing, or form. If the document type is a form, the document identification