|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 | | |