WO2001024037A2 - Method, system, and software for an interactive, multi-user workflow management system - Google Patents

Method, system, and software for an interactive, multi-user workflow management system Download PDF

Info

Publication number
WO2001024037A2
WO2001024037A2 PCT/US2000/025831 US0025831W WO0124037A2 WO 2001024037 A2 WO2001024037 A2 WO 2001024037A2 US 0025831 W US0025831 W US 0025831W WO 0124037 A2 WO0124037 A2 WO 0124037A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
task
recited
tasks
coach
Prior art date
Application number
PCT/US2000/025831
Other languages
French (fr)
Other versions
WO2001024037A8 (en
Inventor
Eric Martin Hanich
Original Assignee
Lombardi Software, Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lombardi Software, Inc filed Critical Lombardi Software, Inc
Priority to AU75969/00A priority Critical patent/AU7596900A/en
Publication of WO2001024037A2 publication Critical patent/WO2001024037A2/en
Publication of WO2001024037A8 publication Critical patent/WO2001024037A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the present invention relates generally to systems integration and, more particularly, to workflow management systems.
  • EAI Enterprise Application Integration software
  • the multi-user interactive workflow forms should address understanding and documenting business processes with modeling, defining and executing flexible workflow, automating tasks and the flow of data, establishing control between applications and people, managing and monitoring the enterprise environment to meet service levels and support business process improvement while supporting the needs of knowledge workers, individually and as a group, and maintaining and improving their effectiveness in rapidly changing environments.
  • the present invention provides a multi-user interactive workflow management system comprising at least one processor, memory operably associated with the processor, and a program of instructions, storable in the memory and executable in the processor
  • the program of instructions is configured to implement, in response to at least one event, defining a workflow sequence of tasks, based upon at least one characte ⁇ stic of at least a first user and a second user and directing at least one task, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task
  • the present invention also provides a method of managing workflow in an interactive multi-user environment which implements defining a workflow sequence of tasks, in response to at least one event, based upon at least one characteristic of at least a first user and a second user and directing at least one task, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task
  • the present invention further provides a computer readable medium tangibly embodying a program of instructions implementing a method of managing workflow in an interactive, multi-user environment
  • the method includes the steps of defining a workflow sequence of tasks, in response to at least one event, and based upon at least one characteristic of at least a first user and a second user and directing at least one task, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task
  • the present invention also provides a multi-user interactive workflow management system comprising at least one processor, memory operably associated with the processor, a program of instructions, storable in the memory and executable in the processor
  • the program of instructions implementing, detecting at least one event; defining a workflow sequence of tasks, in response to the event, based upon at least one characte ⁇ stic of at least a first user and a second user, attaching coaching information to at least one task of the workflow sequence of tasks, directing the at least one task and the coaching information, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task; and maintaining an application portal configured to provide the user access to resources required to complete the task
  • the present invention provides the advantage of integrating diverse applications, hardware, relational database management systems, and operating systems
  • Figure 1 illustrates a representative hardware environment capable of employing the present invention according to a preferred embodiment
  • Figure 2 illustrates a block diagram showing how the present invention integrates with an enterprise's existing systems according to a preferred embodiment of the present invention.
  • Figure 3 illustrates an application portal employed by a preferred embodiment of the present invention.
  • Figure 4 illustrates a process flow panel setup form according to a preferred embodiment of the present invention.
  • Figure 5 illustrates a process flow panel button setup form according to a preferred embodiment of the present invention
  • Figure 6 illustrates a process flow workbench according to a preferred embodiment of the present invention
  • Figure 7 illustrates a coach panel, as seen by a user, according to a preferred embodiment of the present invention.
  • Figure 8 illustrates an analyze process statistics form utilized by a preferred embodiment of the present invention
  • Figure 9 illustrates a configure business objects setup form according to a preferred embodiment of the present invention.
  • Figure 10 illustrates an advanced properties for execution setup form according to a preferred embodiment of the present invention
  • Figure 11 illustrates a configure business rules setup form according to a preferred embodiment of the present invention.
  • Figure 12 illustrates a configure agent mission setup form according to a preferred embodiment of the present invention.
  • Figure 13 illustrates an assign undercover agent setup form according to a preferred embodiment of the present invention.
  • the present invention in its preferred embodiment, is implemented as a program of instructions and therefore the following detailed description illustrates this implementation It is understood that many different modules and many different sequences of code can be implemented to achieve the functions detailed herein The possibility of and/or for generating hardware specific coding, allowing for the optimization of specific hardware resources is also anticipated by the present invention With this in mind, the following detailed desc ⁇ ption avoids discussing any specific modules or sequences of code and relies only on describing the functions by which the present invention, in a preferred embodiment, may be practiced A representative hardware environment for practicing the present invention is depicted in Figure 1.
  • Information handling system 1 may be, for example, a desktop computer, a server, mainframe, etc
  • Information handling system 1 shown in FIG 1 includes random access memory (RAM) 15, read only memory (ROM) 20, and input/output (I/O) adapter 25 for connecting peripheral devices such as disk units 30 and tape drives 35 to system bus 10, a user interface adapter 40 for connecting keyboard 45, mouse 50, speaker 55, microphone 60, and/or other user interface devices to system bus 10, communications adapter 65 for connecting information handling system 1 to an information network such as the Internet, and display adapter 70 for connecting system bus 10 to a display device such as monitor 75
  • Mouse 50 has a series of buttons 80, 85 and is used to control a cursor displayed on monitor 75
  • FIG. 2 a block diagram illustrating how the present invention integrates into a (n) tier enterprise software and hardware environment is shown
  • the multi-user interactive workflow management system, or business process manager (BPM) can be broken down into both a client side 102 and a server side 104
  • the client side 102 of the present invention integrates the various enterprise client platforms 106, or operating systems, and a web application server 107 with its client side components task manager 108, coaching module 1 10, process manager 1 12, client business objects 1 14, BPM for the web 1 16 and electronic mail (E-mail) 1 18
  • the server side 104 of the present invention integrates the various enterprise server databases/applications 130 and hardware resources 133 with its server side components message manager 136, agent event manager 139, undercover agents 142, business rules 145, server business objects 148 and standard services 151 Server side 104 and client side 102 are able to communicate through common network drivers/protocols 154, 157
  • UNIFACE enables communication between such client enterprise platforms 106 as Microsoft Windows 3 X, 9X, NT, Apple's Macintosh operating system, IBM's OS/2, MOTIF, and many others. Additionally, UNIFACE enables communication between server database/application resources 130 such as Oracle, SAP, SQL, Informix, IMS, and many others as well as among hardware resources 133 such as RS/6000, Alpha, Vax, AS/400, NCR, Siemens. DEC UNIX, etc.
  • the task manager 203 which is the application portal or user interface for the multi-user interactive workflow management system or business process manager (BPM) is illustrated.
  • the task manager 203 presents work to users' on their desktops. This allows users to focus on the work and tasks required. When users log in to this environment, they are presented with a personal list of outstanding tasks They can carry out a task assigned to them, create a new task and add it to their "to-do" mailbox
  • the task manager 203 When a user arrives at the task manager 203, they will see their hst of tasks 206 and messages 212. These are the tasks 206 that have been assigned to them and are awaiting action There is also a series of pull-down menus (not shown) along the top of the task manager 203, these will contain the standard menus for the software.
  • the task manager 203 ensures that users have a prioritized task schedule to work to. Thus, users can carry out assigned tasks and manage work time more efficiently. The following is an introduction to the task manager 203 and contains the information required to work effectively with the task manager 203 interface.
  • Each user of the multi-user interactive workflow management system is assigned a role.
  • the task manager 203 identifies users by their user ID and by the role assigned to them. Roles define the positions within an organization and where each position fits within the organizational structure. For example, an accounts clerk may report to the accounts manager who reports to the financial manager who then reports to the general manager who reports to the managing director. In this example, the accounts clerk role, the accounts manager role, the financial manager role, the general manager role, and the managing director role would all be set up.
  • the task manager 203 can then determine where each role fits within the reporting lines When you log into the system, the task manager 203 can identify you by your user ID and by the role assigned to you You will receive the messages 212 and tasks 206 sent to your user ID, to your role or to a dist ⁇ bution list on which you appear
  • the "to-do" mailbox 209 is the default mailbox and contains your outstanding tasks 206 and messages 212
  • the sent mailbox 215 contains a copy of the messages 212 you have sent to others
  • the closed mailbox 218 contains completed, closed and actioned tasks 206
  • the special mailbox 221 contains any tasks 206 or messages 212 you put there for any reason
  • the "to-do" mailbox 209 will be on top You can get to the other mailboxes by clicking on their respective tabs
  • the information displayed for each task 206 or message 212 in the "to-do" mailbox 209 is the symbol 224, the priority 227, the status 230, the due date 233, sent by 236, the subject 239, and the details 242 If a message 212 or task 206 has a coach attached, there will also be a start option 245
  • the attachment column 248 is used to signal that a task 206 or message 212 has a file attached (l e , the paper clip symbol will be displayed in this column
  • An actioned status indicates a task 206 which you have actioned.
  • a closed status indicates a task 206 you have completed or a task 206 or message 212 that you have placed in the closed mailbox 218.
  • a special status indicates a task 206 or message 212 that you have placed in your special mailbox 221.
  • a sent status indicates a copy of a task 206 or message 212 that you have sent to another user.
  • the details button 251 is used to read the details associated with a message 212 and the start button 254 is used to start an attached coach or process.
  • the role icon 257 will be displayed if a task 206 or message 212 is sent to a role.
  • roles define users in relation to their work. Tasks 206 are sent to a role if they can be carried out by any one of a number of users. The task 206 will appear in the "to-do" mailbox 209 of all users with that role, but it will belong to the first user who activates it.
  • the task manager 203 will place any new tasks 206 or messages 212 in your "to-do" mailbox 209 If the message manager 136 is active, you will receive your messages as they occur and you will be notified whenever new mail arrives in your "to-do" mailbox 209, even if you are working with another application at the time.
  • the message manager 136 is an optional process within the multi-user interactive workflow management or BPM. If the message manager 136 is not running, you will receive your mail at preset intervals. The message manager 136 also provides access to the chat facility incorporated into the present invention. You can click filter button 260 to filter tasks 206 and messages 212. This will reduce the number of tasks 206 displayed or you can use it to locate a specific task 206 or category of tasks For example, you may want to view only high p ⁇ o ⁇ ty tasks or tasks 206 sent from a particular person. Some predefined filters included are messages 212 only (i.e no attached process), unread messages, urgent tasks only, and urgent unread messages.
  • a task's details button 251 You can click on a task's details button 251 to see the task's details, including an associated message and the task's history A view task detail form will be displayed, showing the task priority, attention, due date, status, subject, narrative, sent from and when it was sent If a task has one or more files attached, an attachment button will be displayed You can click the attachment button to view the display attached files pop-up form On that form, you can click the start button to view an attached file, the save button to save an attached file to a different location or under a different file name, or the thread button to view the history of the task 206
  • Additional functionality included in the present invention allows a user to give another user permission to access their list of tasks Once permission has been granted to another user, that user can then switch between viewing their own tasks and viewing the assumed user's task, without exiting from the task manager 203. Access is gained by selecting the "access another user's tasks” option from the "File" pull-down menu (not shown). This menu option activates the access another user's task form (not shown). Selecting a user from this form will change the view in your task manager 203 to a view of the assumed user's tasks 206. If a logged in user changes to an assumed user, the task manager 203 will show the assumed user's list of tasks 206.
  • the "closed by" field will indicate that the logged-in user closed the task, not the assumed user. If a logged-in user changes to an assumed user and elects to view the hot task list, via selection of hot task icon
  • the list will contain the logged-in user's hot tasks. If a logged-in user changes to an assumed user and then activates a hot task, the hot task will be in the logged-in user's task manager (i.e., it will not be seen until the logged-in user defaults back to his or her own "to- do" mailbox 209) If a logged-in user changes to an assumed user and then creates a task 206, via new task button 270, the task's sent by field 272 will contain the logged-in user's name.
  • the forwarded task sent by field 272 will indicate the logged-in user If a logged-in user changes to an assumed user and forwards one of the assumed user's tasks via forward button 274, the forwarded task sent by field 272 will indicate the logged-in user If a logged-in user changes to an assumed user and replies to one of the assumed user's tasks via reply button 275, the reply's sent by field 272 will indicate the logged-in user. If a logged-in user changes to an assumed user, starts a role assigned task, the role assigned task becomes actioned by the assumed user The task 206 is not actioned by the logged-in user since that user may not be in the role
  • the task manager 203 also allows you to send messages to other users, to roles or to distribution lists.
  • the task manager 203 identifies users by their user ID and by the role assigned to them. Messages 212 can be sent and received using these special identifiers
  • Messages 212 can also be sent and received using distribution lists. Distribution lists are set up by the system administrator to define working groups, departments, teams or any other grouping of users. Messages 212 are created by first clicking the new task button 270. The task manager 203 then displays a create new task pop-up form. With the create new task pop-up form, you enter the particulars of your message 212 and, when you accept out of the form, the task manager 203 sends the message 212
  • the create new task pop-up form contains the option to specify a process to be attached You choose the process from a drop-down list WT en you accept out of the form, the task manager 203 sends the message 212 with the coach attached The recipient of the message 212 clicks on the start button 254 to activate the coach You can create a new task 206 for your "to-do" mailbox 209 by clicking the new task button 270, completing the create new task pop-up form, and by either leaving the "send to" field blank or entering your own user ID When you accept, the task 206 will be placed in your "to-do" mailbox 203
  • the task manager 203 will display the reply/forward task pop-up form Enter your reply and when you accept out of the form, the reply will be sent The same method is used to forward a task or message using the forward button 274
  • the task manager 203 also has a facility that allows you to chat with other users
  • the chat facility is used to exchange messages in "conversation" mode while working in the task manager environment
  • the chat facility is only available if the message manager 136 is active
  • a blank chat session form will be opened Enter the user ID of the person you want to chat with You can search a list of user ID's by double clicking on the chat with field Next, type in your message and click the call button If that person is not logged in, the message manager 136 lets you know If the user is available, they will be asked if they wish to receive the call If your call is accepted, the chat session can
  • the coaches introduced above consist of a se ⁇ es of steps which are activated in a pre-determined sequence
  • For each step there is a display panel
  • the display panels act like instruction sets, they contain desc ⁇ ptive or instructional text, graphics and command buttons.
  • the command buttons initiate the actions that need to occur such as to, run an OpenPlus form, run an external process, go to the next step or send an e-mail.
  • the present invention includes four basic coach types in its coaching module
  • training coaches contain training material only They do not incorporate access to the actions required to carry out tasks.
  • Personal coaches are configured to provide quick access to common tasks and are usually accessed from a user's hot task list.
  • Process coaches help users to complete complex tasks quickly and proficiently without having to go through menus. They contain information to assist users to make correct decisions and to determine the appropriate actions to take.
  • a single user completes all the steps in a process coach.
  • Workflow coaches are used for procedures that require interaction by more than one user, i.e., inter-departmental tasks.
  • Workflow coaches allow a task to be passed from user to user as each stage is completed, they also contain information to assist users to make correct decisions and to determine the appropriate actions to take Workflow coaches ensure that each stage in a multi-step task is completed and that the task is passed on to each person involved in the process
  • Training coaches can be used to train new users or to train existing users when new systems and procedures are introduced They provide just in time training, 1 e., users can access helpful information and demonstrations just before they attempt a new task, including video, screen-cam movie format, or other multi-media demonstrations Training coaches can also be set up to allow access to training databases Training Coaches explain the steps, processes and reasoning required to complete tasks and procedures and can test a user's knowledge
  • the creation of a coach is an iterative process requi ⁇ ng investigation, planning, development and testing Coaches consist of a series of step, to be activated in a predetermined sequence presented in a number of display panels and using various command buttons. Command buttons initiate the available actions such as to run a form, run an external process, go to the next step or send an e-mail. Coaches can include branching and can initiate new tasks and assign them to other users There are four recommended stages to setting up a coach The requirements stage, which identifies the business process for which a coach will be developed and the desired outcomes of that business process, is the first stage.
  • the planning and preparation stage which identifies the steps in the business process and the required actions including any forms to be run or external processes to be activated, is the second stage
  • the coach setup stage which includes creating the panels, including the actions required when buttons are pressed and defining the flow, i.e , how control is to be passed from one panel to the next and what constitutes tasks completion, is the third stage.
  • the Testing stage which tests the coach to ensure it works as planned, is the fourth and final recommended stage of setting up a coach
  • the first step is to define the process flow panels
  • the panels contain the information that a user will need in order to determine what action to take and one or more command buttons
  • the command buttons initiate the actions and determine the flow of the process It is the command buttons that link a number of panels together to form a coach
  • the process flow panel setup form 303 is used to set up the display panels and to name the command buttons
  • the actions that are to occur when a command button is pressed and the next panel in the sequence are defined on the process flow panel button set-up form illustrated in Figure 5
  • a panel number 306 will be allocated or you can enter your own choice of number Enter a panel name 309, the panel name of the first panel m a coach will become the task subject when this coach is attached to a task 206 and assigned to a user
  • the panel group 312 is used to identify a group of related panels so they can be easily located You can use panel group 312 to group the panels in a single coach or to identify the panels used to connect a se ⁇ es of coaches
  • Auto process check box 315 is only set for panels that are to be processed automatically. Auto process panels are hidden, users do not see these panels and all actions specified for the command buttons are carried out automatically by the task manager.
  • buttons on the panel are activated in sequence. When all buttons have been processed, control will pass to the panels specified in the last "step to next" panel encountered. If a "step to next" panel is not specified for any of the panel buttons, control will return to the originating panel.
  • Form layouts 321 provide different ways of presenting the information and graphics that you want to display. Enter the form title 324, this text will appear in the title bar of the panel when the panel is displayed. To determine where the form will displayed on the user's screen, enter a display starting row 327 and a display starting column 330. For example, you may wish to position the panel in the center of the screen if you are creating a training coach or to the far left or far right for a workflow coach, enabling the user to view the coach and a form at the same time. The text to appear on the panel is keyed into areas for message one 333, message two 336, and message three 339.
  • variable data can be inserted into the message text or assigned as button labels using the "field_name" option.
  • the previous panel button can invoke a business object that obtains the user's name from the database and assigns it to a parameter called "user iame.” The message text could then be
  • the next step in setting up the panel is to set up the command buttons for the panel. You can have multiple buttons on each panel
  • the text to be displayed on the command button is entered in button prompt field 351
  • Variable data can be assigned to a button label using the "field_name" option
  • the button label would entered as "button label.”
  • a previous panel button could invoke a business object to obtain a value and assign it to the "button abel” parameter.
  • the parameter's value would then be displayed as the button label when the panel is accessed.
  • the details button 354 links to the process flow panel button setup form illustrated in Figure 5 That form is used to specify the button actions and the next panel in the sequence.
  • buttons are special buttons that can be automatically added to a panel by setting the button order 357 to (91) previous, (92) quit, and (93) next. These buttons are smaller than the standard buttons and are typically placed in the lower right-hand corner of a coach panel
  • a process flow panel button setup form is illustrated according to the preferred embodiment of the present invention.
  • the process flow panel button setup form 403 is used to specify the actions that are to occur when a command button on a coach panel is activated.
  • the different types of actions that can be specified are: run attached form 406, run a system command 409, run a business object 412, step to the next panel 415, quit the coach 418, log activity 421, set parameter values for use by other panels or panel buttons, change due date of task 424, forward task to another user
  • the process flow panel button setup form 403 can be accessed from the process flow panel setup form 303 or the process flow workbench illustrated in Figure 6.
  • the button description you entered on the process flow panel setup form 303 will be shown in brackets in the title bar 436 Specifications on this form apply to that button only If the panel being defined is not an auto process panel, the first field will be labeled hint text 439 and you can enter hint text to be displayed on the bottom of the user's screen when this command button is selected
  • the process flow panel button set-up form will display a red marker and the first field on the form will be labeled business rule instead of hint text 439 If this is the case, choose a business rule from the list of all available business rules or leave the field blank if a business rule is not required. You can use a business rule to make button actions conditional If you enter a business rule, the button actions will occur if the business rule returns a value of true. If you leave the business rule blank, the button actions will always occur
  • run attached form check box 406 If the run attached form check box 406 is set, when this button being setup is selected, the form attached to the task will be activated.
  • Forms can be attached by an undercover agent, discussed below, or by creating a task under the add new task option while viewing an open form You can only enter a form number in the form to run field 442 if the run attached form check box is clear, I e., these two options are mutually exclusive. If you do enter a form to run, the form will be activated when the command button is pressed
  • An alternative method to run a form is to configure business objects to run specific forms before commencing the development of process flows This method allows the process flows to be created by users who have knowledge of the business processes rather than knowledge of the technical aspects required to configure business objects or identify the required forms.
  • a business object is a logical item that has been setup to cause an action or a process to commence Business objects can be setup to run a UNIFACE form, activate a service, execute an operating system command, communicate to DDE application or invoke an OLE server If you want the coach to move to the next panel once the specified actions have occurred, set the step to next panel 415 check box and select the name of the panel from the drop-down list attached to the next panel field 448 If you set the quit coach 418 check box, the coach will end and the user will be returned
  • Advanced button 451 links to the advanced properties for execution pop-up form, illustrated in Figure 10
  • This form can be used to set parameters and test for error conditions You can assign values to parameters for subsequent retrieval and use, carry-out complex calculations, as well as test error conditions returned after executing a business object or running a UNIFACE form
  • the modify attached task region 454 is used to change task properties Use the change due date option 424 if you want the user to be able to defer a task Use the allow forwarding option 427 if you want the user to be able to forward the task to another person
  • the task will be placed in the originating user's closed mailbox 218
  • Set the quit coach 418 check box if you wish to allow the user to exit the coach at this point If you do set the quit coach 418 check box, the change status 430 and clear panel 457 check boxes are used to specify what is to happen once the user exits the coach If you set the quit coach 418 and the change status 430 check boxes, you can enter a new status to indicate where the task is to be placed.
  • a closed or actioned status will put the task into the user's closed mailbox 218.
  • a special status will put the task into the user's special mailbox 221.
  • the clear panel check box 457 is used to indicate if you want retain the start button 254 or not. If you set the clear panel 457 check box, the start button 254 is removed and the task can then be deleted If you leave the clear panel 457 check box clear, the start button 254 is retained and the task can be restarted
  • the send hidden mail options 433 can be used to pass the task to another user, reply to the sender of a task, send notification that an action has or has not occurred, or to initiate new tasks
  • Set the no-mail required check box 460 if no hidden mail is to be sent If hidden mail is to be sent, set the reply to initiator check box 463 to send mail to the user who originated the task.
  • Set the forward task check box 466 to forward the current task to another user, or set the create new task check box 469 to create a new task for another user or users
  • the due date check box 481 If you set the up-date due date check box 481 , you can enter an amount of time and a specific time of day to be used to calculate the due date when the hidden mail is sent. By entering a number, a category, i.e., month, day, hour, minute, and specific time of day in the due in fields 484, when the hidden mail is sent, the due date will be set by adding the number of months, days, hours, and/or minutes to the cu ⁇ ent date and time of day.
  • the hidden mail will inherit the due date from the originating task Enter desc ⁇ ptive text into the message field 487 For forwarded tasks, the message text from the original task will be appended to the message text entered For new tasks, only the text you enter in the message field 487 will appear as the task message
  • the keep panel check box 490 and the new panel field 493 are used when the message being sent will have a coach associated with it, I e , when the task is received in the user's "to-do" mailbox 209 there will be a start button 254 to activate the specified coach If you set the keep panel check box 490, the forwarded or new task will start with the current panel If vou choose a new panel 493 from the drop-down hst, the forwarded, or new task, will start with the panel vou specify li neither field is set, the forwarded or sent item will be a message only, I e , there will be no start button 254
  • the first step in coach review is to locate the panel you want to use and use the mouse to drag it to the cu ⁇ ent panel position 509 on the left A graphic representation of
  • the panel flow i.e., the buttons, the actions and the next panels, will be displayed.
  • a running man is shown for auto process panels (not shown)
  • Various icons are available to represent the actions specified for a button as illustrated at 516. Actions include sending mail, send mail with an attached coach, run a system command, run a business object, run a form, log activity, quit cu ⁇ ent coach, previous button, quit button, and next button
  • the extended view displays any panel that is called by the panel being viewed
  • Coach panel 603 illustrates the results of the setup efforts illustrated in the process flow setup form 303 of Figure 4
  • Panel name 309 is indicated in title bar 606 of coach panel 603
  • Form layout 321 determines the configuration of the button placement, text placement and size of coach panel 603
  • the text entered in the areas for message one 333, message two336, and message three 339 are indicated in coach panel 603 at 609, 612 and 615 respectively Image one 342, image two 345 and image three 348 associated with message one 333, message two 336 and message 339, are indicated in coach panel 603 at 609, 612 and 615 respectively Image one 342, image two 345 and image three 348 associated with message one 333, message two 336 and message 339, are indicated in coach panel 603 at
  • the present invention is configured to collect processing statistics to provide objective figures for analysis and identification of areas for improvement as well as to respond to changing needs Statistical data is collected by using the logging option 421 available in coaches Logging is a panel characteristic set during panel button definition If logging is set for a coach, you can monitor activity in terms of coach usage, routing through the coach and completion times Analysis is available by user, by user group, by coach, by promptness of completion and by activity characteristics
  • Logging can be set at specific points in a coach Then, each time the logging point is encountered, information will be collected For example, if you set a logging point on the first panel, you will be able to see how much time has elapsed between the message creation and the task activation You can also place multiple logging points in a coach so you can find out which part of the coach takes the longest or which branches are used most frequently Additional statistical information which can be collected includes cu ⁇ ent date and time, current user ID, cu ⁇ ent panel, cu ⁇ ent panel button, originating task, due date and time, previous log date and time, previous log panel, actual button text and actual button desc ⁇ ption This information is analyzed and can be viewed using the analyze process statistics form illustrated in Figure 8 or in graph form by linking to OpenPlus graph or a similar application The process statistics collected can identify potential problems by high-hghtmg inconsistent or unexpected behavior Causes of inconsistency, however, must still be identified before making changes Outcomes might include redesigning processes which consistently cause problems or create bottlenecks, extra
  • This form displays all users who have performed selected actions
  • the profile and process buttons on this form work in the same manner as on the analyze process statistics form 703 items 718 and 742 respectively
  • the profile will retain any settings entered on the previous form, however, you can change them if you want to view a different range of information
  • the graph button links to OpenPlus graph or a similar graphing utility From OpenPlus graph, you can click the details button to link to the task manager's log user inquiry to see accesses by an individual user
  • This form shows the details for each access of a coach by a user Details that are specific to the coach are also displayed at this level For example, due date, whether it was late and by how much. You can print the details displayed on any form by using standard printing facilities.
  • the present invention provides abilities for organizations to set-up their applications to be pro-active.
  • the BPM can be configured to monitor application software and to automatically schedule tasks.
  • the system can detect events or exception conditions and can initiate actions when those events or conditions occur. It can also be set up to carry out tasks unattended, such as to ⁇ in weekly reports, post transactions at the end of the day or to consolidate balances
  • These actions involve business objects, business rules and undercover agents which are developed using SQL language and the functions and facilities provided by the UNIFACE development environment
  • Undercover agents are processes that are activated at icgular intervals They run in the background to detect speci fied events or conditions and to carry out specified actions Agents can be run as often as every 15 minutes or as seldom as once per year, or you can specify an exact date and time Agents are defined and setup using the business process manager Undercover agents detect conditions and initiate tasks.
  • a task scheduler or agent event manager then passes the tasks to individuals with any necessary process flows attached, i.e., coaches
  • the logic or processing at the heart of an agent is specified in the SQL programming language using the configure agent mission and configure business rules forms discussed below
  • an agent mission is assigned using the assign undercover agent form and scheduled for use on the up-date undercover agent schedule form
  • Assigning an agent includes specifying any parameters that are required and the actions the agent is to initiate.
  • Scheduling an agent involves entering the time intervals at which the agent is to run Agents can check for any situation within an application or where user intervention is required, they make the software pro-active Undercover agents can schedule and carry out tasks unattended and they can allocate and deliver tasks to users for completion The range of conditions and activities for which undercover agents can be employed is unlimited.
  • a configure business object form is illustrated according to the prefe ⁇ ed embodiment of the present invention.
  • the present invention also provides the ability to configure business objects that can be used with undercover agents and with process flows.
  • a business object is a logical item that has been setup within the business process manager such that when it is activated, it causes an action or process to commence.
  • Business objects can be used to run a UNIFACE form, activate a service, execute an operating system command, communicate to a DDE application or invoke an OLE server
  • Business objects provide a method of integrating different applications when used to run programs or forms from different software applications.
  • An object type 812 such as running UNIFACE form, activating a service, executing an operating system command, communicating to a DDE application or invoking an OLE server can be selected from the pull-down list. Additionally, the fields displayed and the steps to configure business objects depend on the object type.
  • fields to be completed include: naming the form to run 815; if the form requires any variables 818 to be set or returned, choose add and enter the general variable number and the value 821 , if the process will output a value, set the update check box 824 and enter the field name to be updated; if you will use more than one variable 818, choose add again and repeat the steps
  • the macro command 827 and choices pull down list 830 are used to enter data in the form Choose an action from the choices pull-down list 830, your selection will be inserted into macro command field 827.
  • type in the information as if you were entering it into a UNIFACE form. You can string a number of macro choices together The strings and typing depend on the form. You can also click the advanced button 833 to specify pre and post-execution assignments and e ⁇ or handling, you will be linked to the advanced properties for execution pop-up form illustrated in Figure 10 as a result.
  • This service can be a UNIFACE program, an "other" language program, a DLL, etc.
  • the service must exist, be accessible and its signature attributes must be set using the signature option on the editor's pull-down menu of the UNIFACE environment. Enter the operation that is to occur. If the service uses variables to receive or pass information, choose add and enter the parameter number. For passed parameters, also enter the value If the process will output a value, set the update check box near the field name to be updated. If you use more than one variable, choose add again and repeat these steps. Set the asynchronous check box if the operation should be executed asynchronously, without returning any parameters and freeing the client machine to continue processing.
  • the DDE topic identifies the type of information that will be entered into the DDE item field.
  • a DDE topic of 'SYSTEM' is used to indicate to Microsoft Windows that commands will be entered, (e.g., run, quit, open and close) Enter the commands and specify the data that those commands are to operate on in the DDE item field
  • enter the name of the default OLE server, (l e , the Windows application) You can specify one or more functions to be performed to pass and return arguments, choose add and enter the name of the function
  • the pointer is used with the "OAEXECMULTI" function to point to the data the command is to operate on If the pointer is left blank, the default pointer for the application is used
  • the parameters area is used to pass the input parameters to
  • Advanced properties are optional, they allow you specify parameters, assignments and/or e ⁇ or handling They can be used to set parameter values to be used later in the process flow
  • Business objects' advanced properties can be setup on the configure business object form 803 as well as on the process flow panel button setup form
  • the pre-execution assignment fields 906 are used to set the initial parameter values
  • the e ⁇ or processing fields 909 are used to specify actions based on the e ⁇ or code returned to an object or form as executed Enter a field name in the save return status field 912 This field will hold the return e ⁇ or status Specify a condition 915 to be tested and select the action 918 that is to occur when the condition is true You can choose output warning, or stop further processing from the drop-down list You can also enter a message 921 to be displayed to the user if the condition is true The message is optional and can be specified regardless of the action selected An add option is included if you want to test for additional conditions
  • the post execution assignment field 924 is used to set parameter values after an object or form is executed.
  • a configure business rules form 1003 is illustrated according to the prefe ⁇ ed embodiment of the present invention.
  • Business rules are used by undercover agents and by auto process panels.
  • Business rules can ret ⁇ eve data from databases using a SQL path and SQL clause.
  • Business rules resolve the condition statement 1027 of Figure 1 1 and return a value of true or false to the undercover agent or to the auto process panel The true or false condition is then used to determine if an action is to be ca ⁇ ied out or not.
  • the condition statement 1027 can use any information selected or derived by the agent mission or by any business rules specified for the agent mission.
  • Business rules can also carry out calculations and the results of the calculations can be used by subsequent business rules.
  • To configure a business rule choose add and a business rule number 1006 will be allocated or you can enter any unique number. Also, enter a description 1009 of the business rule. The description 1009 is used to select the business rule from a list of all business rules, so make sure it clearly identifies the business rule being developed and also indicates what condition will cause the value of true to be returned.
  • the SQL path 1012 is the logical name of the path that points to the database on which the SQL statements
  • the SQL path 1012 must be defined in the assignment file. The default is the "def ' path which is defined in the assignment file delivered with BPM software.
  • the SQL statements that will select data from the database are entered as the SQL clause 1015 The SQL statements you use must be compatible with the database underlying the application.
  • the condition statement 1027 can make use of parameters, data items known to the business rule, absolute values and standard mathematic operators When control passes to a business rule, the SQL clause 1015 will be performed and the parameter values will be set before the condition statement 1027 is evaluated.
  • the configure agent mission form 1 103 is where the processing to be ca ⁇ ied out by an agent is defined. This can include defining parameters 1 106 and entering a SQL path 1 109 and a SQL clause 1012 to select data from a database or databases A list of business rules 1 1 15 can also be specified for an undercover agent.
  • a true value allows you to specify an action for the cu ⁇ ent record.
  • a false value passes control to the next business rule.
  • To configure an undercover agent choose add and a number 1 1 18 for the agent mission will be allocated or you may enter your own choice of a number. Enter a desc ⁇ ption 1 121, the desc ⁇ ption is used to select the mission from a list of all agent missions, so make sure it clearly identifies what the mission does.
  • parameters 1 106 You can enter one or more parameters 1 106 to specify that values are to be entered when this agent mission is assigned. For example, if you define parameters for a first customer to check and last customer to check, the prompts "first customer check” and "last customer check” will be displayed on the assign undercover agent form illustrated in Figure 13. Enter a parameter name 1124 and type 1127.
  • the type field 1127 is used to specify the entry format required for a parameter.
  • the available format types are: null, which is free-format st ⁇ ng; date, which is a date in yyyymmdd format; mt, which is an integer format and st ⁇ ng, which is a free format st ⁇ ng. You can select an attached object 1130 from a list of all business objects.
  • the entity to attach 1 133 is an optional field This field can be used in conjunction with the attached object to specify that a form and data will be attached to tasks resulting from this agent. If a form is attached as an object, that form will be activated when the user starts any task originating from this agent If an entity is also attached, when the form is activated, the exact record will be displayed, i.e., the record that caused the task to be created.
  • the SQL path 1 109 is the logical name of the path that points to the database on which the SQL statements w ill operate.
  • the SQL statements that will select the records and data on the database is entered as the SQL clause 1 1 12.
  • assign undercover agent form is illustrated according to the prefe ⁇ ed embodiment of the present invention.
  • Assigning an undercover agent includes specifying: parameters that are required for the agent to operate, what task the agent is to initiate, who is to receive the task and when it will fall due.
  • To assign and schedule an undercover agent choose add and an undercover agent number 1206 will be allocated or you can enter your own choice of the number. Enter a description 1209 for the assigned agent. Enter the mission that this undercover agent is to carry out when it is deployed as the agent mission 1212. You can select a mission from a drop-down list of all configured agent missions.
  • the prompts and entry fields that appear in this form differ depending on which agent is being assigned, they are the parameters required for the agent to operate, they identify the records that the agent will check. If there are prompts in this form, enter the values as requested. There are many different configurations possible for undercover agents and there are many different ways in which prompts can be used. For example, if you want to specify a range of records you can use wildcards. If there will be too many tasks generated for one user to deal with, you can assign the same agent mission 1212 several times but with different values entered. You can also assign the same agent mission 1212 several times if different users have responsibilities for different areas. For example, an agent may have a starting customer prompt and end customer prompt, this will allow for the resulting tasks to be assigned to a number of users. Customers A-G could be assigned to user 1, H-M to user 2, etc. In some instances, there may be no prompts at all.
  • the agent is being set-up to carry-out a process unattended, set the run auto process panel check box (not shown) and select the auto process panel from the drop-down list (not shown).
  • This is the option that is used to run processes without user intervention.
  • the auto-process could run weekly reports, end of day postings or it can be used to calculate the value of the days trading and inform the financial manager via an e-mail.
  • the processes you want to run are defined by creating an auto process panel containing a command button for each action required.
  • the actions can be set so that they are always carried out or you can make them conditional by specifying a business rule Auto process agents cannot have a message or task attached via this form However, you can send a message or attach a task by specifying it as an action for one of the auto process panel buttons on the process panel button set-up form 403
  • the first column is used to set the months the agent is to be activated. Click on the month required
  • the second column can be used m conjunction with the days of the week in the third column, i.e., click on every, first or last, then select the day Alternatively, you can select the actual day of the month For example, day one, day two, day three, etc Next, set the time of day by selecting a time from the fourth column Finally, you can choose between on the hour, 15 past the hour, 30 past the hour or 45 past the hour If you click the compute button, the next run, date and time will be calculated You can also enter the next run date and time directly if you wish If you do so, the agent will be run at that date and time The date and time of the following run using the settings above will be automatically calculated If an e ⁇ or is encountered when the agent is run, a message is sent to the system
  • a house-keeping form is provided to clean-up completed messages and attachments and to minimize the storage space being used for the present invention
  • the house-keeping form has four options which can be used for all users
  • the first option is "Clean-up attachments associated with deleted messages or that have been orphaned.” This option should not be required, it is provided as a safeguard only and should only be run once a year It will search for and delete any attachments that have been disassociated from their original messages and therefore may not have been deleted when the message was deleted
  • the second option is "Clean up messages and attachments where the entire thread has been deleted from all user's mailbox " This option will only delete messages and attachments from the database if they have been deleted from all users' closed 218 and sent mailboxes 215
  • the third option is "Clean-up messages and attachments where the entire thread has been deleted or resides in a user's sent mailbox" 215 This option is the default, it assumes users do not wish to retain messages once they have been sent It deletes messages and attachments from the
  • the present invention is a workflow management tool It gives organizations the ability to setup application software to be pro-active and to monitor and control day-to-day activities It allows organizations to manage their computerized application systems more effectively by providing functionalities that can be used to integrate diverse systems, improve and automate workflow using coaches and automatic scheduling, detect and re-engineer inefficient business processes, support and simplify the introduction of new business processes, monitor and improve user productivity, carry out recurring tasks unattended such as end-of-day processing, detect conditions and events requiring follow-up action and initiate tasks to ensure those actions occur
  • the multi-user interactive workflow management system of the present invention incorporates a task manager user interface, the ability to create process flow coaches to facilitate and automate business processes, the ability to collect processing statistics for analysis, as well as the ability to configure and deploy undercover agents which monitor application systems and carry-out unattended actions
  • One of the preferred implementations of the invention is as sets of instructions resident in the random access memory of one or more computer or information handling systems and configured generally as described in Figures 1-13 Until required by the computer system, the set of instructions may be stored in another computer readable memory, for example, in a hard disk drive, or in a removable memory such as an optical disk for eventual use in a CD- ROM drive, or a floppy disk for eventual use in a floppy disk drive.
  • the set of instructions can be stored in the memory of another computer or encoded or embodied in a signal, such as an analog or digital signal, embodied in a propagation medium and transmitted over the propagation medium by a user.
  • the propagation medium may include a local area network or a wide area network, such as the Internet, or other propagation medium.
  • One skilled in the art would appreciate that the physical storage or encoding of the sets of instructions physically changes the medium upon which it is stored or encoded electrically, magnetically, or chemically so that the medium carries computer readable instructions and other information. The invention is limited only by the following claims and their equivalents.

Abstract

A multi-user interactive workflow management system, method and software enabling the transparent and rapid integration of disparate workers, locations, processes, applications, workflow, systems, etc. The system is configured to pro-actively equip knowledge workers with all of the information and resources needed, at the time they are needed, to collaborate, make decisions and take actions. Undercover agents are employed by the system to monitor multiple systems, carry out unattended tasks, detect events or conditions requiring action, pass data from one system to another, create tasks, attach coaches to the tasks, as well as place the tasks in a user's "to-do" mailbox, among other functions. A task manager is also incorporated into the system and is configured to notify users of tasks to be completed as well as to give the user a single user interface with which the user can access all of the resources required to complete a task. The "to-do" mailbox presents a prioritized task schedule which helps users to manage their time more effectively as well as to list completed and incomplete tasks. To ensure that the company procedures and policies are adhered to, a process engineer enabling workflow processes to be graphically designed using drag and drop technology and a series of coaches capable of guiding users through the workflow process are included in the system. Coaches can be configured to: train workers; gather metrics about processes and aid in automating workflow; improve productivity; reduce the learning curve for new processes, improve quality control; identify ineffective procedures and build user confidence.

Description

METHOD, SYSTEM, AND SOFTWARE FOR AN INTERACTIVE, MULTI-USER WORKFLOW MANAGEMENT SYSTEM
CROSS REFERENCE TO RELATED APPLICATIONS
United States Patent Application Serial No.09/399,384, filed of even date herewith, entitled "METHOD, SYSTEM, AND SOFTWARE FOR AN INTERACTIVE, MULTIUSER WORKFLOW MANAGEMENT SYSTEM," of common assignee herewith incorporated by reference.
FIELD OF THE INVENTION
The present invention relates generally to systems integration and, more particularly, to workflow management systems.
BACKGROUND OF THE INVENTION
Complex organizations are rapidly evolving entities requiring a new generation of solutions built from the ground up. Typical organizations employ a "best of breed" mentality when it comes to their information technology (IT) solutions. The result of this mentality is the utilization of an average of 49 applications, thirteen operating systems, and ten databases. From this disparity results organizational fragmentation. This fragmentation is occurring at the people, department, location, process, workflow and systems levels. Additionally, this fragmentation is preventing many enterprises from becoming agile. As a result, organizations cannot respond to market and competitive situations fast enough, presenting them with the risk of market share loss to newer, more nimble upstarts.
The fact that these fragmented information systems are so entrenched in the way organizations operate is also the reason why a solution to the fragmentation problem is so difficult to formulate. At the same time, increasing competition is forcing companies to improve response time and efficiency, reduce fragmentation and streamline their business processes through the integration of disparate applications As a result, companies are spending 40% of their IT budgets on integration In the past, many businesses have turned to ERP (Enterprise Resource Planning) packages for a partial integration solution. The problem with ERP packages, aside from only providing a partial solution, has been trying to integrate these solutions with the company's existing systems. This integration has turned out to be costly and labor intensive Research shows that 40% of the costs associated with an ERP implementation are spent on integrating the ERP applications with a company's existing applications. To collaborate and be responsive to these accelerating competitive and technology changes, organizations must increasingly improve the management of their business processes and heterogeneous technologies Organizations can achieve operational excellence through the total integration of applications, and the integration of the flow and touch points of business processes, independent of underlying applications, databases, operating systems, etc.
Since these efforts are expensive and ERP packages only provide part of the solution, a new class of software solution is emerging which enables intelligent and flexible enterprise wide integration. This solution is known as Enterprise Application Integration software ("EAI") EAI software solutions focus on enabling enterprise wide integration to create a more dynamic IT infrastructure which can evolve with an organization.
Pπor art systems have failed to solve the problem of organizational fragmentation by delivering only partial integration and by requiring too much upheaval with their revolutionary approach It is common for prior art systems to require organizations to completely replace existing systems, incur massive implementation costs and significant business disruption, significantly re-engineer processes, and implement their integration through inflexible, hard-wired systems
Additionally, pπor art systems have failed to deliver appropriate solutions with respect to user interaction These prior art systems lack the ability to lead users through the steps of a process as well as the ability to obtain user input at key points in the execution of a task. With that, is the lack of ability by the prior art systems to route tasks to the appropπate workers by authoπzation level, skill level, etc.
Therefore, what is needed is a multi-user interactive workflow management system, method and software capable of addressing all of the key elements that impact the effectiveness of the execution of business processes. The multi-user interactive workflow forms should address understanding and documenting business processes with modeling, defining and executing flexible workflow, automating tasks and the flow of data, establishing control between applications and people, managing and monitoring the enterprise environment to meet service levels and support business process improvement while supporting the needs of knowledge workers, individually and as a group, and maintaining and improving their effectiveness in rapidly changing environments.
SUMMARY OF THE INVENTION
The present invention provides a multi-user interactive workflow management system comprising at least one processor, memory operably associated with the processor, and a program of instructions, storable in the memory and executable in the processor The program of instructions is configured to implement, in response to at least one event, defining a workflow sequence of tasks, based upon at least one characteπstic of at least a first user and a second user and directing at least one task, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task
The present invention also provides a method of managing workflow in an interactive multi-user environment which implements defining a workflow sequence of tasks, in response to at least one event, based upon at least one characteristic of at least a first user and a second user and directing at least one task, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task
The present invention further provides a computer readable medium tangibly embodying a program of instructions implementing a method of managing workflow in an interactive, multi-user environment The method includes the steps of defining a workflow sequence of tasks, in response to at least one event, and based upon at least one characteristic of at least a first user and a second user and directing at least one task, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task
The present invention also provides a multi-user interactive workflow management system comprising at least one processor, memory operably associated with the processor, a program of instructions, storable in the memory and executable in the processor The program of instructions implementing, detecting at least one event; defining a workflow sequence of tasks, in response to the event, based upon at least one characteπstic of at least a first user and a second user, attaching coaching information to at least one task of the workflow sequence of tasks, directing the at least one task and the coaching information, in the workflow sequence of tasks, to the first user and from the first user to the second user to receive input, from the first user and the second user, necessary to complete the task; and maintaining an application portal configured to provide the user access to resources required to complete the task
It is an object of the present invention to provide transparent and rapid integration of people, processes, workflow and systems
It is another object of the present invention to integrate people, processes, workflow and systems in organizations which have high value, high touch, user interactive processes that require collaboration and decision making that cannot be programmed
It is a further object of the present invention to pro-actively equip knowledge workers with the data and resources needed, at the time they are needed, to collaborate, make decisions and take actions
It is another object of the present invention to enable organizations to rapidly change systems with minimal disruption to operations
The present invention provides the advantage of integrating diverse applications, hardware, relational database management systems, and operating systems
The present invention also provides the advantage of increasing productivity and efficiency by creating a pro-active approach to problem solution and issue resolution in the enterprise environment
BRIEF DESCRIPTION OF THE DRAWINGS
Other objects, advantages, features and characteristics of the present invention, as well as methods, operation and functions of related elements of structure, and the combination of parts and economies of manufacture, will become apparent upon consideration of the following description and claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various Figures.
Figure 1 illustrates a representative hardware environment capable of employing the present invention according to a preferred embodiment
Figure 2 illustrates a block diagram showing how the present invention integrates with an enterprise's existing systems according to a preferred embodiment of the present invention. Figure 3 illustrates an application portal employed by a preferred embodiment of the present invention. Figure 4 illustrates a process flow panel setup form according to a preferred embodiment of the present invention.
Figure 5 illustrates a process flow panel button setup form according to a preferred embodiment of the present invention
Figure 6 illustrates a process flow workbench according to a preferred embodiment of the present invention
Figure 7 illustrates a coach panel, as seen by a user, according to a preferred embodiment of the present invention.
Figure 8 illustrates an analyze process statistics form utilized by a preferred embodiment of the present invention Figure 9 illustrates a configure business objects setup form according to a preferred embodiment of the present invention.
Figure 10 illustrates an advanced properties for execution setup form according to a preferred embodiment of the present invention
Figure 11 illustrates a configure business rules setup form according to a preferred embodiment of the present invention.
Figure 12 illustrates a configure agent mission setup form according to a preferred embodiment of the present invention.
Figure 13 illustrates an assign undercover agent setup form according to a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
In the following detailed description of a preferred embodiment and other embodiments according to the present invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration, specific preferred embodiments in which the invention may be practiced These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and/or electrical changes may be made without departing from the spirit or scope of the invention To avoid detail not necessary to enable those skilled in the art to practice the invention, the description may omit certain information known to those skilled in the art The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims
The present invention, in its preferred embodiment, is implemented as a program of instructions and therefore the following detailed description illustrates this implementation It is understood that many different modules and many different sequences of code can be implemented to achieve the functions detailed herein The possibility of and/or for generating hardware specific coding, allowing for the optimization of specific hardware resources is also anticipated by the present invention With this in mind, the following detailed descπption avoids discussing any specific modules or sequences of code and relies only on describing the functions by which the present invention, in a preferred embodiment, may be practiced A representative hardware environment for practicing the present invention is depicted in Figure 1. which illustrates the typical hardware configuration of an information handling system 1 in accordance with the present invention, having a central processing unit 5, such as an Intel, Advanced Micro Devices or similarly enabled microprocessor, and a number of other units interconnected via at least one system bus 10 Information handling system 1 may be, for example, a desktop computer, a server, mainframe, etc Information handling system 1 shown in FIG 1 includes random access memory (RAM) 15, read only memory (ROM) 20, and input/output (I/O) adapter 25 for connecting peripheral devices such as disk units 30 and tape drives 35 to system bus 10, a user interface adapter 40 for connecting keyboard 45, mouse 50, speaker 55, microphone 60, and/or other user interface devices to system bus 10, communications adapter 65 for connecting information handling system 1 to an information network such as the Internet, and display adapter 70 for connecting system bus 10 to a display device such as monitor 75 Mouse 50 has a series of buttons 80, 85 and is used to control a cursor displayed on monitor 75
Referring now to Figure 2, a block diagram illustrating how the present invention integrates into a (n) tier enterprise software and hardware environment is shown The multi-user interactive workflow management system, or business process manager (BPM), can be broken down into both a client side 102 and a server side 104 The client side 102 of the present invention integrates the various enterprise client platforms 106, or operating systems, and a web application server 107 with its client side components task manager 108, coaching module 1 10, process manager 1 12, client business objects 1 14, BPM for the web 1 16 and electronic mail (E-mail) 1 18
The server side 104 of the present invention integrates the various enterprise server databases/applications 130 and hardware resources 133 with its server side components message manager 136, agent event manager 139, undercover agents 142, business rules 145, server business objects 148 and standard services 151 Server side 104 and client side 102 are able to communicate through common network drivers/protocols 154, 157
Communication between the components of the present invention and client enterprise platforms 106, web application server 107, enterprise server database/application resources 130, hardware resources 133 as well as between client side 102 and server side 104 is accomplished v ia the utilization of UNIFACE development technology by COMPUWARE UNIFACE enables communication between such client enterprise platforms 106 as Microsoft Windows 3 X, 9X, NT, Apple's Macintosh operating system, IBM's OS/2, MOTIF, and many others. Additionally, UNIFACE enables communication between server database/application resources 130 such as Oracle, SAP, SQL, Informix, IMS, and many others as well as among hardware resources 133 such as RS/6000, Alpha, Vax, AS/400, NCR, Siemens. DEC UNIX, etc. Referring now to Figure 3, the task manager 203, which is the application portal or user interface for the multi-user interactive workflow management system or business process manager (BPM) is illustrated. The task manager 203 presents work to users' on their desktops. This allows users to focus on the work and tasks required. When users log in to this environment, they are presented with a personal list of outstanding tasks They can carry out a task assigned to them, create a new task and add it to their "to-do" mailbox
209, create a new task and assign it to another user, close a completed task as well as run any form that appears on their menu.
When a user arrives at the task manager 203, they will see their hst of tasks 206 and messages 212. These are the tasks 206 that have been assigned to them and are awaiting action There is also a series of pull-down menus (not shown) along the top of the task manager 203, these will contain the standard menus for the software. In summary, the task manager 203 ensures that users have a prioritized task schedule to work to. Thus, users can carry out assigned tasks and manage work time more efficiently. The following is an introduction to the task manager 203 and contains the information required to work effectively with the task manager 203 interface.
Each user of the multi-user interactive workflow management system is assigned a role. The task manager 203 identifies users by their user ID and by the role assigned to them. Roles define the positions within an organization and where each position fits within the organizational structure. For example, an accounts clerk may report to the accounts manager who reports to the financial manager who then reports to the general manager who reports to the managing director. In this example, the accounts clerk role, the accounts manager role, the financial manager role, the general manager role, and the managing director role would all be set up. The task manager 203 can then determine where each role fits within the reporting lines When you log into the system, the task manager 203 can identify you by your user ID and by the role assigned to you You will receive the messages 212 and tasks 206 sent to your user ID, to your role or to a distπbution list on which you appear
When you arπve at the task manager 203, your desktop will contain your mailboxes The "to-do" mailbox 209 is the default mailbox and contains your outstanding tasks 206 and messages 212 The sent mailbox 215 contains a copy of the messages 212 you have sent to others The closed mailbox 218 contains completed, closed and actioned tasks 206 The special mailbox 221 contains any tasks 206 or messages 212 you put there for any reason The "to-do" mailbox 209 will be on top You can get to the other mailboxes by clicking on their respective tabs The information displayed for each task 206 or message 212 in the "to-do" mailbox 209 is the symbol 224, the priority 227, the status 230, the due date 233, sent by 236, the subject 239, and the details 242 If a message 212 or task 206 has a coach attached, there will also be a start option 245 The attachment column 248 is used to signal that a task 206 or message 212 has a file attached (l e , the paper clip symbol will be displayed in this column if an attachment is present) If you click on the paper clip, a display attached files pop-up window will be displayed On this form, you can click the start button to view an attached file, the application invoked will be dependent upon the file-type option settings in Windows Explorer (l e , file type options settings equate a file extension to an application such as doc to Microsoft Word or xls with Microsoft Excel) or the save button to save an attached file to a different location or under a different file name Normally, the pπority 227 settings available are high, normal and low However, pπoπties 227 can be set up by each organization so that they may be different There are standard status settings 230 for tasks 206 and messages 212 A new message 212 or task 206, that you have created for yourself, will have a new status 230 A received status indicates that a message 212 or task 206 was sent to you from the system administrator, from another user, etc A forwarded status indicates a message 212 or task 206 that you have forwarded to another user A replied status indicates a message 212 or task 206 to which you have replied. An actioned status indicates a task 206 which you have actioned. A closed status indicates a task 206 you have completed or a task 206 or message 212 that you have placed in the closed mailbox 218. A special status indicates a task 206 or message 212 that you have placed in your special mailbox 221. A sent status indicates a copy of a task 206 or message 212 that you have sent to another user.
You can click on the "to-do" mailbox 209 tab to refresh the current display Additionally, you can click on any column heading to sort the messages. For example, by clicking the due date 223 column, the messages will be sorted in ascending sequence according to due date Click again, and the messages are sorted in descending sequence according to due date. The details button 251 is used to read the details associated with a message 212 and the start button 254 is used to start an attached coach or process. The role icon 257 will be displayed if a task 206 or message 212 is sent to a role As mentioned above, roles define users in relation to their work. Tasks 206 are sent to a role if they can be carried out by any one of a number of users. The task 206 will appear in the "to-do" mailbox 209 of all users with that role, but it will belong to the first user who activates it.
Once activated, the task 206 will disappear from every other user's "to-do" mailbox 209
Once you have logged in, the task manager 203 will place any new tasks 206 or messages 212 in your "to-do" mailbox 209 If the message manager 136 is active, you will receive your messages as they occur and you will be notified whenever new mail arrives in your "to-do" mailbox 209, even if you are working with another application at the time.
The message manager 136 is an optional process within the multi-user interactive workflow management or BPM. If the message manager 136 is not running, you will receive your mail at preset intervals. The message manager 136 also provides access to the chat facility incorporated into the present invention. You can click filter button 260 to filter tasks 206 and messages 212. This will reduce the number of tasks 206 displayed or you can use it to locate a specific task 206 or category of tasks For example, you may want to view only high pπoπty tasks or tasks 206 sent from a particular person. Some predefined filters included are messages 212 only (i.e no attached process), unread messages, urgent tasks only, and urgent unread messages. You can click on a task's details button 251 to see the task's details, including an associated message and the task's history A view task detail form will be displayed, showing the task priority, attention, due date, status, subject, narrative, sent from and when it was sent If a task has one or more files attached, an attachment button will be displayed You can click the attachment button to view the display attached files pop-up form On that form, you can click the start button to view an attached file, the save button to save an attached file to a different location or under a different file name, or the thread button to view the history of the task 206
If you wish to change a message 212 or the status 230 of a task 206, this can only be done by moving the message or task from one mailbox to another or by completing an attached coach For example, if you want to close a task 206 in the "to-do" mailbox 209, the sent mailbox 215 or the special mailbox 221 , select the task 206 and click the close button 263 The selected task will be transferred to the closed mailbox 218 and its status 230 will be changed to closed Tasks 206 cannot be closed when there is a start button 254 attached Start buttons 254 are only removed when a task 206 is complete To move a task
206 from the "to-do" mailbox 209 to your special mailbox 221 , select the task 206 and click on the make special button 266 The status 230 will be changed to special and the selected task will be transferred to the special mailbox 221 To move a task 206 from the closed 218 or special mailbox 221 to the "to-do" mailbox 209, select the task 206 and click the make current button The task's status 230 will be changed to new and the task 206 will be transferred to your "to-do" mailbox 209 You can only delete items from the closed 218 or sent mailboxes 215 Items in the closed mailbox 218 must have a status 230 of closed or actioned and must not have a coach attached If a task 206 has a coach attached, it cannot be deleted until the task is completed and the start button 254 has been removed If you wish to delete items that are in the "to-do" 209 or special mailboxes 221 , move them to the closed mailbox 218 first Their status 230 will be changed to closed and you will then be able to delete them
Additional functionality included in the present invention allows a user to give another user permission to access their list of tasks Once permission has been granted to another user, that user can then switch between viewing their own tasks and viewing the assumed user's task, without exiting from the task manager 203. Access is gained by selecting the "access another user's tasks" option from the "File" pull-down menu (not shown). This menu option activates the access another user's task form (not shown). Selecting a user from this form will change the view in your task manager 203 to a view of the assumed user's tasks 206. If a logged in user changes to an assumed user, the task manager 203 will show the assumed user's list of tasks 206. If a logged-in user changes to an assumed user and they close one of the assumed user's tasks, the "closed by" field will indicate that the logged-in user closed the task, not the assumed user. If a logged-in user changes to an assumed user and elects to view the hot task list, via selection of hot task icon
269, the list will contain the logged-in user's hot tasks. If a logged-in user changes to an assumed user and then activates a hot task, the hot task will be in the logged-in user's task manager (i.e., it will not be seen until the logged-in user defaults back to his or her own "to- do" mailbox 209) If a logged-in user changes to an assumed user and then creates a task 206, via new task button 270, the task's sent by field 272 will contain the logged-in user's name. If a logged-in user changes to an assumed user and forwards one of the assumed user's tasks via forward button 274, the forwarded task sent by field 272 will indicate the logged-in user If a logged-in user changes to an assumed user and replies to one of the assumed user's tasks via reply button 275, the reply's sent by field 272 will indicate the logged-in user. If a logged-in user changes to an assumed user, starts a role assigned task, the role assigned task becomes actioned by the assumed user The task 206 is not actioned by the logged-in user since that user may not be in the role
The task manager 203 also allows you to send messages to other users, to roles or to distribution lists. The task manager 203 identifies users by their user ID and by the role assigned to them. Messages 212 can be sent and received using these special identifiers
Messages 212 can also be sent and received using distribution lists. Distribution lists are set up by the system administrator to define working groups, departments, teams or any other grouping of users. Messages 212 are created by first clicking the new task button 270. The task manager 203 then displays a create new task pop-up form. With the create new task pop-up form, you enter the particulars of your message 212 and, when you accept out of the form, the task manager 203 sends the message 212
You can attach a coach to a message 212 if required The create new task pop-up form contains the option to specify a process to be attached You choose the process from a drop-down list WT en you accept out of the form, the task manager 203 sends the message 212 with the coach attached The recipient of the message 212 clicks on the start button 254 to activate the coach You can create a new task 206 for your "to-do" mailbox 209 by clicking the new task button 270, completing the create new task pop-up form, and by either leaving the "send to" field blank or entering your own user ID When you accept, the task 206 will be placed in your "to-do" mailbox 203
If you want to reply to a message 212, select the message 212 and click on the reply button 275 The task manager 203 will display the reply/forward task pop-up form Enter your reply and when you accept out of the form, the reply will be sent The same method is used to forward a task or message using the forward button 274 As mentioned above, the task manager 203 also has a facility that allows you to chat with other users The chat facility is used to exchange messages in "conversation" mode while working in the task manager environment The chat facility is only available if the message manager 136 is active To start a chat session, select the start a chat session option from the "Tools" pull-down menu A blank chat session form will be opened Enter the user ID of the person you want to chat with You can search a list of user ID's by double clicking on the chat with field Next, type in your message and click the call button If that person is not logged in, the message manager 136 lets you know If the user is available, they will be asked if they wish to receive the call If your call is accepted, the chat session can proceed Type your message in the message area and click the call button A transcπpt window will show the conversation, in full, for both parties When the conversation is complete, click the hang-up button and the other party will be notified
The coaches introduced above consist of a seπes of steps which are activated in a pre-determined sequence For each step, there is a display panel The display panels act like instruction sets, they contain descπptive or instructional text, graphics and command buttons. The command buttons initiate the actions that need to occur such as to, run an OpenPlus form, run an external process, go to the next step or send an e-mail.
The present invention includes four basic coach types in its coaching module First, training coaches contain training material only They do not incorporate access to the actions required to carry out tasks. Personal coaches are configured to provide quick access to common tasks and are usually accessed from a user's hot task list. Process coaches help users to complete complex tasks quickly and proficiently without having to go through menus. They contain information to assist users to make correct decisions and to determine the appropriate actions to take. A single user completes all the steps in a process coach. Workflow coaches are used for procedures that require interaction by more than one user, i.e., inter-departmental tasks. Workflow coaches allow a task to be passed from user to user as each stage is completed, they also contain information to assist users to make correct decisions and to determine the appropriate actions to take Workflow coaches ensure that each stage in a multi-step task is completed and that the task is passed on to each person involved in the process
Training coaches can be used to train new users or to train existing users when new systems and procedures are introduced They provide just in time training, 1 e., users can access helpful information and demonstrations just before they attempt a new task, including video, screen-cam movie format, or other multi-media demonstrations Training coaches can also be set up to allow access to training databases Training Coaches explain the steps, processes and reasoning required to complete tasks and procedures and can test a user's knowledge
Personal, process and workflow coaches generally mimic the organization's standard business processes They ensure that organizational procedures are followed and they give you confidence when attempting unfamiliar tasks Users do not need to remember the individual steps in a task or take copious notes for next time, the coach remembers the steps and provides the notes. For tasks that are repeated on a regular basis, coaches are quicker than locating forms or applications through menus and it ensures that no steps in a task are overlooked. All coaches are developed using the same forms and procedures.
The creation of a coach is an iterative process requiπng investigation, planning, development and testing Coaches consist of a series of step, to be activated in a predetermined sequence presented in a number of display panels and using various command buttons. Command buttons initiate the available actions such as to run a form, run an external process, go to the next step or send an e-mail. Coaches can include branching and can initiate new tasks and assign them to other users There are four recommended stages to setting up a coach The requirements stage, which identifies the business process for which a coach will be developed and the desired outcomes of that business process, is the first stage. The planning and preparation stage, which identifies the steps in the business process and the required actions including any forms to be run or external processes to be activated, is the second stage The coach setup stage, which includes creating the panels, including the actions required when buttons are pressed and defining the flow, i.e , how control is to be passed from one panel to the next and what constitutes tasks completion, is the third stage. The Testing stage, which tests the coach to ensure it works as planned, is the fourth and final recommended stage of setting up a coach
The requirements of a process should be fully understood and documented before commencing coach development The following is a list of possible steps: analyze the business process as it is now, obtain agreement on what the desired outcomes of the business process are, reinvestigate to see if the process should be redesigned or refined and document the business process as it will be developed Once the above steps, or a similar set of steps, are completed, you can progress to the planning and preparation stage.
In the planning and preparation stage, the business process must be looked at in detail to ensure it is fully understood and that all the tendencies have been identified The following is a list of possible steps for this stage, finalize the steps in the process; identify participant responsibilities and interactions; identify interactions with proposed and existing application software and identify the requirements for the collection of statistical data for analysis to assist in identifying areas for improvement, post implementation Once you have investigated and documented the business procedure or training session, create a specification that lists the coach's steps, outlines the information to be displayed and stipulates the actions required Follow your specification and create the panels in the coach using the process flow panel setup form 303 illustrated in Figure 4 The text, graphics and buttons that will appear on the panels are defined at this point The actions required when a button is pressed maynot be able to be specified at this point because the panel may need to branch to another panel which has not yet been defined Task flow is defined using a process flow workbench Button action definitions are assigned using a flow panel button setup form, both of which are discussed in the following paragraphs The coach is then tested by creating a new task and assigning it to yourself
Step through each panel and be sure you test all possible branches and actions to make sure they operate as expected
Once you have identified the steps and actions that are required in a business process, you can commence the task of setting up the coach The first step is to define the process flow panels The panels contain the information that a user will need in order to determine what action to take and one or more command buttons The command buttons initiate the actions and determine the flow of the process It is the command buttons that link a number of panels together to form a coach The process flow panel setup form 303 is used to set up the display panels and to name the command buttons The actions that are to occur when a command button is pressed and the next panel in the sequence are defined on the process flow panel button set-up form illustrated in Figure 5
To create a process flow panel, choose add from the drop-down menu A panel number 306 will be allocated or you can enter your own choice of number Enter a panel name 309, the panel name of the first panel m a coach will become the task subject when this coach is attached to a task 206 and assigned to a user The panel group 312 is used to identify a group of related panels so they can be easily located You can use panel group 312 to group the panels in a single coach or to identify the panels used to connect a seπes of coaches Auto process check box 315 is only set for panels that are to be processed automatically. Auto process panels are hidden, users do not see these panels and all actions specified for the command buttons are carried out automatically by the task manager. You can use auto process panels when a user response requires that a number of different actions be initiated. Each button on the panel is activated in sequence. When all buttons have been processed, control will pass to the panels specified in the last "step to next" panel encountered. If a "step to next" panel is not specified for any of the panel buttons, control will return to the originating panel.
Set the first panel in process check box 318 if this is the first panel in a coach. Leave the check box clear for all other panels.
Choose a form layout 321 from the many different form layouts to determine how your panel will be presented to users. Form layouts 321 provide different ways of presenting the information and graphics that you want to display. Enter the form title 324, this text will appear in the title bar of the panel when the panel is displayed. To determine where the form will displayed on the user's screen, enter a display starting row 327 and a display starting column 330. For example, you may wish to position the panel in the center of the screen if you are creating a training coach or to the far left or far right for a workflow coach, enabling the user to view the coach and a form at the same time. The text to appear on the panel is keyed into areas for message one 333, message two 336, and message three 339. If you have chosen a layout that allows less than three blocks of text, message three 339 and/or message two 336 will be grayed out and you will not be able to enter text in these areas. Additionally, variable data can be inserted into the message text or assigned as button labels using the "field_name" option. For example, the previous panel button can invoke a business object that obtains the user's name from the database and assigns it to a parameter called "user iame." The message text could then be
"Welcome To The Task Manager Training Session 'user name'," so that the current user's name would always replace the "user_name" parameter when the panel is accessed. Double click on the image one 342, image two 345 or image three 348 fields to locate graphics associated with the text in areas message one 333, message two 336, and message three 339, to be displayed on the form.
The next step in setting up the panel is to set up the command buttons for the panel. You can have multiple buttons on each panel The text to be displayed on the command button is entered in button prompt field 351 Variable data can be assigned to a button label using the "field_name" option For example, the button label would entered as "button label." Then, a previous panel button could invoke a business object to obtain a value and assign it to the "button abel" parameter. The parameter's value would then be displayed as the button label when the panel is accessed. The details button 354 links to the process flow panel button setup form illustrated in Figure 5 That form is used to specify the button actions and the next panel in the sequence. You can connect to the process flow panel button setup form 403 to complete the panel specification at this point as long as the next panel has already been set up. Otherwise, complete the display panels before specifying button action. "Next," "Quit" and "Previous" buttons are special buttons that can be automatically added to a panel by setting the button order 357 to (91) previous, (92) quit, and (93) next. These buttons are smaller than the standard buttons and are typically placed in the lower right-hand corner of a coach panel
Referπng next to Figure 5, a process flow panel button setup form is illustrated according to the preferred embodiment of the present invention. The process flow panel button setup form 403 is used to specify the actions that are to occur when a command button on a coach panel is activated. The different types of actions that can be specified are: run attached form 406, run a system command 409, run a business object 412, step to the next panel 415, quit the coach 418, log activity 421, set parameter values for use by other panels or panel buttons, change due date of task 424, forward task to another user
427, change the status of the task 430, send hidden e- mail 433, or initiate a new task with or without a coach attached
The process flow panel button setup form 403 can be accessed from the process flow panel setup form 303 or the process flow workbench illustrated in Figure 6. When you arrive at this form, the button description you entered on the process flow panel setup form 303 will be shown in brackets in the title bar 436 Specifications on this form apply to that button only If the panel being defined is not an auto process panel, the first field will be labeled hint text 439 and you can enter hint text to be displayed on the bottom of the user's screen when this command button is selected
If the panel being defined is an auto process panel, the process flow panel button set-up form will display a red marker and the first field on the form will be labeled business rule instead of hint text 439 If this is the case, choose a business rule from the list of all available business rules or leave the field blank if a business rule is not required. You can use a business rule to make button actions conditional If you enter a business rule, the button actions will occur if the business rule returns a value of true. If you leave the business rule blank, the button actions will always occur
If the run attached form check box 406 is set, when this button being setup is selected, the form attached to the task will be activated. Forms can be attached by an undercover agent, discussed below, or by creating a task under the add new task option while viewing an open form You can only enter a form number in the form to run field 442 if the run attached form check box is clear, I e., these two options are mutually exclusive. If you do enter a form to run, the form will be activated when the command button is pressed An alternative method to run a form is to configure business objects to run specific forms before commencing the development of process flows This method allows the process flows to be created by users who have knowledge of the business processes rather than knowledge of the technical aspects required to configure business objects or identify the required forms.
If you want the button actions to include a system command, set the run system command 409 check box and enter the command in the command field which subsequently appears. The run system command 409 option has many uses, you can use it to play an AVI file, load a screen cam demonstration or activate an external application such as a word processor or spread sheet If you want the button action to run a business obj ect, set the run business object 412 check box and select the name of business object from the drop-down list attached to the object field 445 A business object is a logical item that has been setup to cause an action or a process to commence Business objects can be setup to run a UNIFACE form, activate a service, execute an operating system command, communicate to DDE application or invoke an OLE server If you want the coach to move to the next panel once the specified actions have occurred, set the step to next panel 415 check box and select the name of the panel from the drop-down list attached to the next panel field 448 If you set the quit coach 418 check box, the coach will end and the user will be returned to the task manager 203 desktop once all the specified button actions have occurred If you set the log activity 421 check box, the following items will be recorded in a log file when the button is activated cuπent date and time, current user ID, current panel, current panel button, originating task, due date and time, previous log date and time, previous log panel, actual button text, and actual button descπption The current date and time is the time the current button was pressed The previous log date and time is the most recent log activity that occurred during the execution of the current task or, if this is the first log activity, the time the task was received in the user's mailbox This information can be viewed and analyzed using the analyze process statistic form (illustrated in Figure 8)
Advanced button 451 links to the advanced properties for execution pop-up form, illustrated in Figure 10 This form can be used to set parameters and test for error conditions You can assign values to parameters for subsequent retrieval and use, carry-out complex calculations, as well as test error conditions returned after executing a business object or running a UNIFACE form
The modify attached task region 454 is used to change task properties Use the change due date option 424 if you want the user to be able to defer a task Use the allow forwarding option 427 if you want the user to be able to forward the task to another person
If you also set the change status check box 430 and set the new status to closed or actioned, the task will be placed in the originating user's closed mailbox 218 Set the quit coach 418 check box if you wish to allow the user to exit the coach at this point If you do set the quit coach 418 check box, the change status 430 and clear panel 457 check boxes are used to specify what is to happen once the user exits the coach If you set the quit coach 418 and the change status 430 check boxes, you can enter a new status to indicate where the task is to be placed. A closed or actioned status will put the task into the user's closed mailbox 218. A special status will put the task into the user's special mailbox 221. If you don't change the status, the task will be put into the user's "to-do" mailbox 209. The clear panel check box 457 is used to indicate if you want retain the start button 254 or not. If you set the clear panel 457 check box, the start button 254 is removed and the task can then be deleted If you leave the clear panel 457 check box clear, the start button 254 is retained and the task can be restarted The send hidden mail options 433 can be used to pass the task to another user, reply to the sender of a task, send notification that an action has or has not occurred, or to initiate new tasks Set the no-mail required check box 460 if no hidden mail is to be sent If hidden mail is to be sent, set the reply to initiator check box 463 to send mail to the user who originated the task. Set the forward task check box 466 to forward the current task to another user, or set the create new task check box 469 to create a new task for another user or users
You can send mail to one user or to several users and/or to external e-mail addresses Double click on send to field 472 to access a select user's pop-up window (not shown) Complete the subject field 475 of the mail message You can leave the subject field 475 blank for forwarded mail, the task manager 203 will utilize the subject from the originating task The subject field 475 cannot be left blank when creating a new task. You can also select a priority 478 from the drop down list
If you set the up-date due date check box 481 , you can enter an amount of time and a specific time of day to be used to calculate the due date when the hidden mail is sent. By entering a number, a category, i.e., month, day, hour, minute, and specific time of day in the due in fields 484, when the hidden mail is sent, the due date will be set by adding the number of months, days, hours, and/or minutes to the cuπent date and time of day. If you leave the update due date check box 481 clear, the hidden mail will inherit the due date from the originating task Enter descπptive text into the message field 487 For forwarded tasks, the message text from the original task will be appended to the message text entered For new tasks, only the text you enter in the message field 487 will appear as the task message
The keep panel check box 490 and the new panel field 493 are used when the message being sent will have a coach associated with it, I e , when the task is received in the user's "to-do" mailbox 209 there will be a start button 254 to activate the specified coach If you set the keep panel check box 490, the forwarded or new task will start with the current panel If vou choose a new panel 493 from the drop-down hst, the forwarded, or new task, will start with the panel vou specify li neither field is set, the forwarded or sent item will be a message only, I e , there will be no start button 254
This completes the definition of a panel Continue adding panels until all panels required for a coach have been defined Next, specify the button actions by linking to the process flow panel button set-up form for each button on each panel Refeπing next to Figure 6, an illustration of a process flow work bench according to the preferred embodiment of the present invention is shown After button actions have been defined, the last step is to check and refine the coach's flow using the process flow workbench form 503 The display of the process flow work bench 503 represents the flow and button actions defined for a coach panel You can use this form as the main point for designing and setting up a coach or you can use it to check and adjust a coach after the panels have already been entered Panels can be selected and dragged using a mouse You can view the flow for another panel by dragging its graphic to the cuπent panel position 509 or you can change the next panel for a button by dragging a new graphic to the next panel position 512 You can double click on any square graphic 506, 509, 512 or 521 to link to the process flow panel setup form 303 or any diamond shape 515 to link to the process flow panel button setup form 403 Filters 518 are also available to locate the panel or panels you want to view or review When viewing the listing of available panels 521 , the first panels in process will be indicated by bold titles 524, all other panel names will be dim
The first step in coach review is to locate the panel you want to use and use the mouse to drag it to the cuπent panel position 509 on the left A graphic representation of
^4 the panel flow, i.e., the buttons, the actions and the next panels, will be displayed. You can tell if the panel is an auto process or a standard panel by the graphic used to represent the panel command buttons. A running man is shown for auto process panels (not shown) Various icons are available to represent the actions specified for a button as illustrated at 516. Actions include sending mail, send mail with an attached coach, run a system command, run a business object, run a form, log activity, quit cuπent coach, previous button, quit button, and next button
You can review the flow of the coach by progressively viewing each panel Start with the first panel in the coach Locate it in the list and then drag it to the cuπent panel position 509 Then you can drag subsequent panels to the front from the next panel position 512 and the buttons and actions associated with that panel will be displayed If a panel button does not have a next panel to go to, a broken line 524 is displayed and the next panel remains blank You can click the preview button 527 to see how the cuπent panel will appear to the eventual user of the coach. If you are viewing a brief format (not shown) of the workbench, you can click the extended button to change to the extended format.
From the extended format, you can click the brief button 530 to return to the brief format. The extended view displays any panel that is called by the panel being viewed
You can create a new panel by clicking the add panel button 533 or you can view the details for an existing panel by double clicking on the panel's graphic You will be linked to the process flow panel setup form 303 where you can view and change panel specifications or add new panels You can change the next panel for a button specification by dragging a panel graphic from the panel list to the next panel position 512. The button definition on the process flow panel button setup form 403 will be updated automatically. You can view or change a panel button specification by double clicking on the diamond 515 that represents the button, you will be linked to the process flow panel button setup form
Refeπing now to Figure 7, an illustration of a coach panel, as seen by an eventual user, is shown Coach panel 603 illustrates the results of the setup efforts illustrated in the process flow setup form 303 of Figure 4 Panel name 309 is indicated in title bar 606 of coach panel 603 Form layout 321 determines the configuration of the button placement, text placement and size of coach panel 603 The text entered in the areas for message one 333, message two336, and message three 339 are indicated in coach panel 603 at 609, 612 and 615 respectively Image one 342, image two 345 and image three 348 associated with message one 333, message two 336 and message 339, are indicated in coach panel 603 at
618, 621 and 624 respectively The button prompts entered at 351 of Figure 4 appear on button 627 and button 630 of coach panel 603 Coach panel 603 also illustrates the "Next" 633, "Quit" 636 and "Previous" 639 buttons introduced above
The present invention is configured to collect processing statistics to provide objective figures for analysis and identification of areas for improvement as well as to respond to changing needs Statistical data is collected by using the logging option 421 available in coaches Logging is a panel characteristic set during panel button definition If logging is set for a coach, you can monitor activity in terms of coach usage, routing through the coach and completion times Analysis is available by user, by user group, by coach, by promptness of completion and by activity characteristics
Logging can be set at specific points in a coach Then, each time the logging point is encountered, information will be collected For example, if you set a logging point on the first panel, you will be able to see how much time has elapsed between the message creation and the task activation You can also place multiple logging points in a coach so you can find out which part of the coach takes the longest or which branches are used most frequently Additional statistical information which can be collected includes cuπent date and time, current user ID, cuπent panel, cuπent panel button, originating task, due date and time, previous log date and time, previous log panel, actual button text and actual button descπption This information is analyzed and can be viewed using the analyze process statistics form illustrated in Figure 8 or in graph form by linking to OpenPlus graph or a similar application The process statistics collected can identify potential problems by high-hghtmg inconsistent or unexpected behavior Causes of inconsistency, however, must still be identified before making changes Outcomes might include redesigning processes which consistently cause problems or create bottlenecks, extra training for processes which are consistently misunderstood, additional training for an individual user or for all users, redesign of training materials or adoption of a successful approach in wider areas of the organization Referring now to Figure 8, an illustration of the analyze process statistics form is shown Statistical analysis can be viewed at the summary level and at detailed levels You can see the maximum/minimum and average times taken by task, you can dπll down to see the maximum/minimum and average times taken by user, and down again to view details for each time the user has undertaken a specific task To use the analyze process statistics inquiry, select the range of users you wish to view statistics for by entering a user ID 706 and user group 709, or wild cards, leave the fields blank to select all users, or any combination of the above Next, select the business hours 712 or total hours radio button 715 to indicate if you want the calculations to be based on a 24 hour day or an 8 hour day Now click the profile button 718 to display the task log pop-up profile (not shown) This profile can be used to view the statistics selectively You can specify none, one or more of starting panel, ending panel, minimum hits, minimum total hours, minimum average hours, maximum hours vaπance and minimum hours variance If you don't enter a retrieved profile, click the process button 742 to retrieve the data and figures You can click the details button 745 to link to the task manager log detail inquiry
(not shown) to see the details for individual users This form displays all users who have performed selected actions The profile and process buttons on this form work in the same manner as on the analyze process statistics form 703 items 718 and 742 respectively The profile will retain any settings entered on the previous form, however, you can change them if you want to view a different range of information The graph button links to OpenPlus graph or a similar graphing utility From OpenPlus graph, you can click the details button to link to the task manager's log user inquiry to see accesses by an individual user This form shows the details for each access of a coach by a user Details that are specific to the coach are also displayed at this level For example, due date, whether it was late and by how much. You can print the details displayed on any form by using standard printing facilities.
The present invention provides abilities for organizations to set-up their applications to be pro-active. The BPM can be configured to monitor application software and to automatically schedule tasks. The system can detect events or exception conditions and can initiate actions when those events or conditions occur. It can also be set up to carry out tasks unattended, such as to πin weekly reports, post transactions at the end of the day or to consolidate balances These actions involve business objects, business rules and undercover agents which are developed using SQL language and the functions and facilities provided by the UNIFACE development environment
Undercover agents are processes that are activated at icgular intervals They run in the background to detect speci fied events or conditions and to carry out specified actions Agents can be run as often as every 15 minutes or as seldom as once per year, or you can specify an exact date and time Agents are defined and setup using the business process manager Undercover agents detect conditions and initiate tasks. A task scheduler or agent event manager then passes the tasks to individuals with any necessary process flows attached, i.e., coaches The logic or processing at the heart of an agent is specified in the SQL programming language using the configure agent mission and configure business rules forms discussed below Once an agent mission has been configured, it is assigned using the assign undercover agent form and scheduled for use on the up-date undercover agent schedule form Assigning an agent includes specifying any parameters that are required and the actions the agent is to initiate. Scheduling an agent involves entering the time intervals at which the agent is to run Agents can check for any situation within an application or where user intervention is required, they make the software pro-active Undercover agents can schedule and carry out tasks unattended and they can allocate and deliver tasks to users for completion The range of conditions and activities for which undercover agents can be employed is unlimited.
Referring now to Figure 9, a configure business object form is illustrated according to the prefeπed embodiment of the present invention. The present invention also provides the ability to configure business objects that can be used with undercover agents and with process flows. A business object is a logical item that has been setup within the business process manager such that when it is activated, it causes an action or process to commence. Business objects can be used to run a UNIFACE form, activate a service, execute an operating system command, communicate to a DDE application or invoke an OLE server
Business objects provide a method of integrating different applications when used to run programs or forms from different software applications.
To create a business object, choose add from the "Options" menu and the BPM will allocate an object ID 806 or you can enter any unique number for the business object. A description 809 of the business object must also be entered An object type 812 such as running UNIFACE form, activating a service, executing an operating system command, communicating to a DDE application or invoking an OLE server can be selected from the pull-down list. Additionally, the fields displayed and the steps to configure business objects depend on the object type. For example, when creating, run a UNIFACE form object type, fields to be completed include: naming the form to run 815; if the form requires any variables 818 to be set or returned, choose add and enter the general variable number and the value 821 , if the process will output a value, set the update check box 824 and enter the field name to be updated; if you will use more than one variable 818, choose add again and repeat the steps The macro command 827 and choices pull down list 830 are used to enter data in the form Choose an action from the choices pull-down list 830, your selection will be inserted into macro command field 827. Next, type in the information as if you were entering it into a UNIFACE form. You can string a number of macro choices together The strings and typing depend on the form. You can also click the advanced button 833 to specify pre and post-execution assignments and eπor handling, you will be linked to the advanced properties for execution pop-up form illustrated in Figure 10 as a result.
To create an activate a service object type, you will need to enter the name of the service. This service can be a UNIFACE program, an "other" language program, a DLL, etc. The service must exist, be accessible and its signature attributes must be set using the signature option on the editor's pull-down menu of the UNIFACE environment. Enter the operation that is to occur. If the service uses variables to receive or pass information, choose add and enter the parameter number. For passed parameters, also enter the value If the process will output a value, set the update check box near the field name to be updated. If you use more than one variable, choose add again and repeat these steps. Set the asynchronous check box if the operation should be executed asynchronously, without returning any parameters and freeing the client machine to continue processing.
Alternatively, several standard services have been set up and can be used from creating an activated service object type When you click the load standard service button a select standard pop-up window will be displayed You can zoom in on the detailed descriptions to view an explanation of a service and instructions for using it Select the standard service you want and choose accept The service type and operations field will be set for the selected service. Signature attributes for standard services have already been created You can click on the advanced button to specify pre and post-execution assignments and eπor handling, you will be linked to the advanced properties for execution pop-up form, illustrated in Figure 10, as a result. To create and execute an operating system command object type enter the operating system command that is to be executed
Set the asynchronous check box if the operation should be executed asynchronously without returning any parameters and freeing the client machine to continue processing You can click the advanced button to specify pre and post-execution assignments and eπor handling As a result, you will be linked to the advanced properties for execution pop-up form illustrated in Figure 10
To create a communicate to a DDE application object type enter the operating system command that defines the path and starts the application Enter the name of the DDE service, (i.e., the Windows application) The DDE topic identifies the type of information that will be entered into the DDE item field. A DDE topic of 'SYSTEM' is used to indicate to Microsoft Windows that commands will be entered, (e.g., run, quit, open and close) Enter the commands and specify the data that those commands are to operate on in the DDE item field You can specify multiple commands and data by enteπng one after the other, if you are using DDE poke "USE DDE Poke" is used to indicate that you want fields set to certain values You can press the advanced button to specify pre and post-execution assignments and error handling As a result, you will be linked to the advanced properties for execution pop-up form illustrated in Figure 10 To create an invoke an OLE server object type, enter the name of the default OLE server, (l e , the Windows application) You can specify one or more functions to be performed to pass and return arguments, choose add and enter the name of the function The pointer is used with the "OAEXECMULTI" function to point to the data the command is to operate on If the pointer is left blank, the default pointer for the application is used The parameters area is used to pass the input parameters to the OLE object It can contain a mix of UNIFACE commands and commands known to the OLE application Set the update check box if the function will return arguments that will be used to update a field name You can access the advanced properties for execution pop-up form, illustrated in Figure 10, to specify pre and post-execution assignments and eπor handling by selecting the advanced button
Refeπing now to Figure 10, an illustration of an advanced properties for execution form 903 is shown Advanced properties are optional, they allow you specify parameters, assignments and/or eπor handling They can be used to set parameter values to be used later in the process flow Business objects' advanced properties can be setup on the configure business object form 803 as well as on the process flow panel button setup form
403 The pre-execution assignment fields 906 are used to set the initial parameter values The eπor processing fields 909 are used to specify actions based on the eπor code returned to an object or form as executed Enter a field name in the save return status field 912 This field will hold the return eπor status Specify a condition 915 to be tested and select the action 918 that is to occur when the condition is true You can choose output warning, or stop further processing from the drop-down list You can also enter a message 921 to be displayed to the user if the condition is true The message is optional and can be specified regardless of the action selected An add option is included if you want to test for additional conditions The post execution assignment field 924 is used to set parameter values after an object or form is executed. Enter the parameter as the field name 927 and the value you want to assign to that parameter as the field value 930. The field value 930 can be a simple assignment or a complex calculation. Choose add if you want to assign values for more than one parameter. Referπng now to Figure 1 1 , a configure business rules form 1003 is illustrated according to the prefeπed embodiment of the present invention. Business rules are used by undercover agents and by auto process panels. Business rules can retπeve data from databases using a SQL path and SQL clause. Business rules resolve the condition statement 1027 of Figure 1 1 and return a value of true or false to the undercover agent or to the auto process panel The true or false condition is then used to determine if an action is to be caπied out or not. The condition statement 1027 can use any information selected or derived by the agent mission or by any business rules specified for the agent mission. Business rules can also carry out calculations and the results of the calculations can be used by subsequent business rules. To configure a business rule, choose add and a business rule number 1006 will be allocated or you can enter any unique number. Also, enter a description 1009 of the business rule. The description 1009 is used to select the business rule from a list of all business rules, so make sure it clearly identifies the business rule being developed and also indicates what condition will cause the value of true to be returned. The SQL path 1012 is the logical name of the path that points to the database on which the SQL statements
1015 will operate. The SQL path 1012 must be defined in the assignment file. The default is the "def ' path which is defined in the assignment file delivered with BPM software. The SQL statements that will select data from the database are entered as the SQL clause 1015 The SQL statements you use must be compatible with the database underlying the application.
You can select an attached object 1018 from the list of all business objects. If you do select an object, it will be attached to the business rule. If the business rule returns a value of true, the specified object will replace any object that is already attached to the calling undercover agent or task. You can use the parameter list to create one or more parameters and to assign values to them, choose add and enter a field name 1021 and the value 1024 to be assigned to that field.
The condition statement 1027 can make use of parameters, data items known to the business rule, absolute values and standard mathematic operators When control passes to a business rule, the SQL clause 1015 will be performed and the parameter values will be set before the condition statement 1027 is evaluated.
Referπng now to Figure 12, a configure agent mission form is illustrated according to the preferred embodiment of the present invention. The configure agent mission form 1 103 is where the processing to be caπied out by an agent is defined. This can include defining parameters 1 106 and entering a SQL path 1 109 and a SQL clause 1012 to select data from a database or databases A list of business rules 1 1 15 can also be specified for an undercover agent.
Only one SQL clause 1 1 12 can be entered on the configure agent mission form 1103. The use of business rules allows for additional SQL clauses 1 112 to be included. This provides for more complex processing. Business rules return the value of true or false.
A true value allows you to specify an action for the cuπent record. A false value passes control to the next business rule. To configure an undercover agent choose add and a number 1 1 18 for the agent mission will be allocated or you may enter your own choice of a number. Enter a descπption 1 121, the descπption is used to select the mission from a list of all agent missions, so make sure it clearly identifies what the mission does.
You can enter one or more parameters 1 106 to specify that values are to be entered when this agent mission is assigned. For example, if you define parameters for a first customer to check and last customer to check, the prompts "first customer check" and "last customer check" will be displayed on the assign undercover agent form illustrated in Figure 13. Enter a parameter name 1124 and type 1127. The type field 1127 is used to specify the entry format required for a parameter. The available format types are: null, which is free-format stπng; date, which is a date in yyyymmdd format; mt, which is an integer format and stπng, which is a free format stπng. You can select an attached object 1130 from a list of all business objects. If you do select an object, it will be attached to any task that results from this undercover agent. If a business rule specified for this undercover agent is evaluated as true and has an object attached, its attached object will replace this object The entity to attach 1 133 is an optional field This field can be used in conjunction with the attached object to specify that a form and data will be attached to tasks resulting from this agent. If a form is attached as an object, that form will be activated when the user starts any task originating from this agent If an entity is also attached, when the form is activated, the exact record will be displayed, i.e., the record that caused the task to be created.
The SQL path 1 109 is the logical name of the path that points to the database on which the SQL statements w ill operate. The SQL statements that will select the records and data on the database is entered as the SQL clause 1 1 12.
To specify one more business rules to be evaluated as true or false each time a record is selected from the database, choose add and select a business rule from the list of all defined business rules If the value of false is returned, the next business rule will be performed. If a value of true is returned, the action specified as the action if business rule returns true 1 136 will be carried out. The following actions are available: continue to next business rule, control will pass to the next business rule, (this option can be used when a business rule is used to carry out an intermediary calculation), process current records, this action depends on how the agent is assigned on the assign undercover agent form, if one task will be created per selected record, a the task with this record attached will be created, if only one task is to be created for all selected records, the data retπeved by the SQL statement is added to the task message for each processed record; skip-next business rule, the next business rule will be bypassed and control passed to the next but-one business rule, ignore cuπent record, no task will be created for the cuπent record and the agent will return to the SQL clause to retrieve another record and abort agent and ignore current record, the agent will cease to operate, no further tasks will be created, if the agent was assigned to create one task for all selected records, there will be no task, if the agent has been assigned to create one task per selected records, some tasks may have been created.
Referring now to Figure 13, an assign undercover agent form is illustrated according to the prefeπed embodiment of the present invention. Assigning an undercover agent includes specifying: parameters that are required for the agent to operate, what task the agent is to initiate, who is to receive the task and when it will fall due. To assign and schedule an undercover agent, choose add and an undercover agent number 1206 will be allocated or you can enter your own choice of the number. Enter a description 1209 for the assigned agent. Enter the mission that this undercover agent is to carry out when it is deployed as the agent mission 1212. You can select a mission from a drop-down list of all configured agent missions. The prompts and entry fields that appear in this form differ depending on which agent is being assigned, they are the parameters required for the agent to operate, they identify the records that the agent will check. If there are prompts in this form, enter the values as requested. There are many different configurations possible for undercover agents and there are many different ways in which prompts can be used. For example, if you want to specify a range of records you can use wildcards. If there will be too many tasks generated for one user to deal with, you can assign the same agent mission 1212 several times but with different values entered. You can also assign the same agent mission 1212 several times if different users have responsibilities for different areas. For example, an agent may have a starting customer prompt and end customer prompt, this will allow for the resulting tasks to be assigned to a number of users. Customers A-G could be assigned to user 1, H-M to user 2, etc. In some instances, there may be no prompts at all.
If the agent is being set-up to carry-out a process unattended, set the run auto process panel check box (not shown) and select the auto process panel from the drop-down list (not shown). This is the option that is used to run processes without user intervention. For example, the auto-process could run weekly reports, end of day postings or it can be used to calculate the value of the days trading and inform the financial manager via an e-mail. The processes you want to run are defined by creating an auto process panel containing a command button for each action required. The actions can be set so that they are always carried out or you can make them conditional by specifying a business rule Auto process agents cannot have a message or task attached via this form However, you can send a message or attach a task by specifying it as an action for one of the auto process panel buttons on the process panel button set-up form 403
If you set the single task for all hits check box (not shown), only one task will be created for all records processed, i e , each time a record is processed the data retrieved by the SQL statement is added to the attached message, and the next record is retrieved The task is not created and released until all records have been processed. If you leave this check box clear, a separate task is created for each record processed, i.e., as each record is processed, the data retrieved by the SQL statement is added to the task message and a task is created and released You can send the task to one user or to several users. Double click on send to field 1215 to select from a list of users, roles and distribution lists Each time you select a name, it will be added to send to field 1215. User IDs can also be entered directly, using commas as separators.
Enter the subject for this task 1218 You can insert any of the fields, as passed parameters, that will be extracted from the database into the task subject 1218 and the message 1221 naπative to make them more informative Select the task priority 1224 from the drop- down list If a task coach is to be attached, select it from drop-down list 1227 If no task is required, select none from list 1227 Set the date and time the task is due in
1230, the values you enter here will be added to the cuπent date and time when the task is initiated. Use spin button 1233 and drop down list 1236 to set the number of minutes, hours, days or months to be added to the initiation date and time. Enter descπptive text into message 1221 field. You can use data selected by the SQL clause in message field 1221 The data is inserted as a variable. If the agent has been run, the last run date and time will be displayed at 1239
Once all items of the form have been entered, select the schedule button 1242 to connect to the update undercover agent schedule form (not shown) When you are at this form, choose clear to clear all existing settings. The first column is used to set the months the agent is to be activated. Click on the month required The second column can be used m conjunction with the days of the week in the third column, i.e., click on every, first or last, then select the day Alternatively, you can select the actual day of the month For example, day one, day two, day three, etc Next, set the time of day by selecting a time from the fourth column Finally, you can choose between on the hour, 15 past the hour, 30 past the hour or 45 past the hour If you click the compute button, the next run, date and time will be calculated You can also enter the next run date and time directly if you wish If you do so, the agent will be run at that date and time The date and time of the following run using the settings above will be automatically calculated If an eπor is encountered when the agent is run, a message is sent to the system administrator, the assign undercover agent form for the offending agent will also be attached to the message
A house-keeping form is provided to clean-up completed messages and attachments and to minimize the storage space being used for the present invention The house-keeping form has four options which can be used for all users The first option is "Clean-up attachments associated with deleted messages or that have been orphaned." This option should not be required, it is provided as a safeguard only and should only be run once a year It will search for and delete any attachments that have been disassociated from their original messages and therefore may not have been deleted when the message was deleted The second option is "Clean up messages and attachments where the entire thread has been deleted from all user's mailbox " This option will only delete messages and attachments from the database if they have been deleted from all users' closed 218 and sent mailboxes 215 The third option is "Clean-up messages and attachments where the entire thread has been deleted or resides in a user's sent mailbox" 215 This option is the default, it assumes users do not wish to retain messages once they have been sent It deletes messages and attachments from the database as they have been deleted from all users' closed 218 and sent mailboxes 215 or if they only exist within a sent mailbox 215 The fourth option is "Clean-up messages and attachments where the entire thread has been deleted, or resides in users' closed 218 or sent mailbox" 215 This option assumes users do not wish to retain messages once they have been sent or closed. It deletes messages and attachments from the database if they have been deleted from all users' closed 215 and sent mailboxes 218 or if they exist within sent 218 or closed mailboxes 215
In summary, the present invention is a workflow management tool It gives organizations the ability to setup application software to be pro-active and to monitor and control day-to-day activities It allows organizations to manage their computerized application systems more effectively by providing functionalities that can be used to integrate diverse systems, improve and automate workflow using coaches and automatic scheduling, detect and re-engineer inefficient business processes, support and simplify the introduction of new business processes, monitor and improve user productivity, carry out recurring tasks unattended such as end-of-day processing, detect conditions and events requiring follow-up action and initiate tasks to ensure those actions occur The multi-user interactive workflow management system of the present invention incorporates a task manager user interface, the ability to create process flow coaches to facilitate and automate business processes, the ability to collect processing statistics for analysis, as well as the ability to configure and deploy undercover agents which monitor application systems and carry-out unattended actions
Although an embodiment of the present invention has been shown and described in detail herein, along with certain variants thereof, many other varied embodiments that incorporate the teachings of the invention may be easily constructed by those skilled in the art Accordingly, the present invention is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention
Although the invention has been described with a certain degree of particularity, it should be recognized that elements thereof may be altered by persons skilled in the art without departing from the spirit and scope of the invention One of the preferred implementations of the invention is as sets of instructions resident in the random access memory of one or more computer or information handling systems and configured generally as described in Figures 1-13 Until required by the computer system, the set of instructions may be stored in another computer readable memory, for example, in a hard disk drive, or in a removable memory such as an optical disk for eventual use in a CD- ROM drive, or a floppy disk for eventual use in a floppy disk drive. Further, the set of instructions can be stored in the memory of another computer or encoded or embodied in a signal, such as an analog or digital signal, embodied in a propagation medium and transmitted over the propagation medium by a user. The propagation medium may include a local area network or a wide area network, such as the Internet, or other propagation medium. One skilled in the art would appreciate that the physical storage or encoding of the sets of instructions physically changes the medium upon which it is stored or encoded electrically, magnetically, or chemically so that the medium carries computer readable instructions and other information. The invention is limited only by the following claims and their equivalents.

Claims

CLAIMSWhat is claimed is:
1. A multi-user interactive workflow management system compπsmg: at least one processor; memory operably associated with said processor; a program of instructions, storable in said memory and executable in said processor, implementing: in response to at least one event, defining a workflow sequence of tasks based upon at least one characteπstic of at least a first user and a second user; and directing at least one task, in said workflow sequence of tasks, to said first user and from said first user to said second user to receive input, from said first user and said second user, necessary to complete said task.
2. The system, as recited in Claim 1, further comprising at least one undercover agent capable of detecting said at least one event.
3. The system, as recited in Claim 2, wherein said at least one undercover agent is further capable of attaching coaching information to said task
4. The system, as recited in Claim 3, wherein said coaching information is a personal coach initiated by said user and capable of guiding said user through steps associated with said task.
5. The system, as recited in Claim 3, wherein said coaching information is a process coach containing steps in said task to be completed by a single user.
6 The system, as recited in Claim 3, wherein said coaching information is a workflow coach containing steps in a task to be completed by said first user and at least said second user
7 The system, as recited in Claim 2, wherein said undercover agent is capable of responding to at least a portion of said task associated with said event without user input
8 The system, as recited in Claim 1, wherein said workflow sequence of tasks is capable of changing in response to input from said user
9 The system, as recited in Claim 1 , further comprising an application portal capable of providing said user access to resources required to complete said task
10 The system, as recited in Claim 1 , further comprising a coaching editor capable of building and modifying at least one coach associated with said workflow sequence of tasks
1 1 The system, as recited in Claim 10, wherein said coach is further capable of capturing metrics associated with said task enabling analysis and improvement of said task
12 A method of managing workflow in an interactive, multi-user environment, implemented m a computer, comprising the following steps in response to at least one event, defining a workflow sequence of tasks based upon at least one characteristic of at least a first user and a second user, and directing at least one task, in said workflow sequence of tasks, to said first user and from said first user to said second user to receive input, from said first user and said second user, necessary to complete said task
1 13 The method, as recited in Claim 12, further comprising the step of employing at least one undercover agent capable of detecting said at least one event
1 14 The method, as recited in Claim 13, further comprising the step of attaching coaching information to said task with said undercover agent
1 15 The method, as recited in Claim 14, wherein said coaching information is a personal coach initiated by said user and capable of guiding said user through steps associated with
Figure imgf000044_0001
1 16 The method, as recited in Claim 14, wherein said coaching information is a process i coach containing steps in said task to be completed by a single user
1 17 The method, as recited in Claim 14, wherein said coachin »g information is a workflow i coach containing steps in a task to be completed by said first user and at least said second user
1 18 The method, as recited in Claim 13, further comprising the step of responding to at least
2 a portion of said task associated with said event with said undercover agent and without
3 user input
19. The method, as recited in Claim 12, further comprising the step of changing said workflow sequence of tasks in response to input from said user.
20. The method, as recited in Claim 12, further comprising the step of maintaining an application portal capable of providing said user access to resources required to complete said task.
21. The method, as recited in Claim 12, further comprising the step of maintaining a coaching editor capable of building and modifying at least one coach associated with said workflow sequence of tasks.
22. The method, as recited in Claim 21, further comprising the step of enabling said coach to capture metrics associated with said task for utilization in analysis and improvement of said task.
23. A computer readable medium tangibly embodying a program of instructions implementing a method of managing workflow in an interactive, multi-user environment comprising: in response to an event, defining a workflow sequence of tasks based upon at least one characteristic of at least a first user and a second user; and directing at least one task, in said workflow sequence of tasks, to said first user and from said first user to said second user to receive input, from said first user and said second user, necessary to complete said task.
24. The computer readable medium, as recited in Claim 23, further comprising: employing at least one undercover agent capable of detecting said at least one event.
25. The computer readable medium, as recited in Claim 24, further comprising: attaching coaching information to said task with said undercover agent.
26. The computer readable medium, as recited in Claim 25, wherein said coaching information is a personal coach initiated by said user and capable of guiding said user through steps associated with said task.
27. The computer readable medium, as recited in Claim 25, wherein said coaching information is a process coach containing steps in said task to be completed by a single user.
28. The computer readable medium, as recited in Claim 25, wherein said coaching information is a workflow coach containing steps in a task to be completed by said first user and at least said second user.
29. The computer readable medium, as recited in Claim 24, further comprising: responding to at least a portion of said task associated with said event with said undercover agent and without user input.
30. The computer readable medium, as recited in Claim 23, further comprising: changing said workflow sequence of tasks in response to input from said user.
31. The computer readable medium, as recited in Claim 23. further comprising: maintaining an application portal capable of providing said user access to resources required to complete said task.
32. The computer readable medium, as recited in Claim 23, further comprising: maintaining a coaching editor capable of building and modifying at least one coach associated with said workflow sequence of tasks.
33. The computer readable medium, as recited in Claim 32, further comprising: enabling said coach to capture metrics associated with said task for utilization in analysis and improvement of said task.
34. A multi-user interactive workflow management system comprising: at least one processor; memory operably associated with said processor; a program of instructions, storable in said memory and executable in said processor, implementing: detecting at least one event; in response to at least one event, defining a workflow sequence of tasks based upon at least one characteristic of at least a first user and a second user; attaching coaching information to at least one task of said workflow sequence of tasks; directing said at least one task and said coaching information, in said workflow sequence of tasks, to said first user and from said first user to said second user to receive input, from said first user and said second user, necessary to complete said task; and maintaining an application portal configured to provide said user access to resources required to complete said task.
PCT/US2000/025831 1999-09-20 2000-09-19 Method, system, and software for an interactive, multi-user workflow management system WO2001024037A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU75969/00A AU7596900A (en) 1999-09-20 2000-09-19 Method, system, and software for an interactive, multi-user workflow management system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39886999A 1999-09-20 1999-09-20
US09/398,869 1999-09-20

Publications (2)

Publication Number Publication Date
WO2001024037A2 true WO2001024037A2 (en) 2001-04-05
WO2001024037A8 WO2001024037A8 (en) 2002-06-20

Family

ID=23577125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/025831 WO2001024037A2 (en) 1999-09-20 2000-09-19 Method, system, and software for an interactive, multi-user workflow management system

Country Status (2)

Country Link
AU (1) AU7596900A (en)
WO (1) WO2001024037A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1522939A1 (en) * 2003-08-12 2005-04-13 GBS Global Business Software and Services Limited Method for providing process-dependent data
US7606824B2 (en) 2005-11-14 2009-10-20 Microsoft Corporation Databinding workflow data to a user interface layer
US7941492B2 (en) 2004-03-01 2011-05-10 Microsoft Corporation Message data management
US11521141B1 (en) 2020-01-10 2022-12-06 State Farm Mutual Automobile Insurance Company Task management user interface (GUI)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1522939A1 (en) * 2003-08-12 2005-04-13 GBS Global Business Software and Services Limited Method for providing process-dependent data
US7941492B2 (en) 2004-03-01 2011-05-10 Microsoft Corporation Message data management
US8161125B2 (en) 2004-03-01 2012-04-17 Microsoft Corporation Message data management
US8230032B2 (en) 2004-03-01 2012-07-24 Microsoft Corporation Message data management
US7606824B2 (en) 2005-11-14 2009-10-20 Microsoft Corporation Databinding workflow data to a user interface layer
US11521141B1 (en) 2020-01-10 2022-12-06 State Farm Mutual Automobile Insurance Company Task management user interface (GUI)

Also Published As

Publication number Publication date
WO2001024037A8 (en) 2002-06-20
AU7596900A (en) 2001-04-30

Similar Documents

Publication Publication Date Title
US7302436B2 (en) Business workflow database and user system
US5848271A (en) Process and apparatus for controlling the work flow in a multi-user computing system
US10075493B2 (en) Information management problem initiative system
US7788598B2 (en) System and method for assigning and scheduling activities
US7729935B2 (en) Method and apparatus for managing workflow
US6381610B1 (en) System and method for implementing project procedures
JP5113119B2 (en) Computer-executable workflow control system
US8700414B2 (en) System supported optimization of event resolution
US7275039B2 (en) Workflow management software overview
US20060090071A1 (en) Systems and methods for project management
US20030066032A1 (en) System and method for facilitating user interaction in a browser environment
US20060053199A1 (en) Displaying monitored information in an email response management system
US7676705B2 (en) User interface messaging system and method permitting deferral of message resolution
US20040215544A1 (en) Method, system, and graphic user interface for automated asset management
US20120151311A1 (en) System and method for generating a customized task list
WO2001024037A2 (en) Method, system, and software for an interactive, multi-user workflow management system
US20070174778A1 (en) System and method for combining multiple software panes
CN114049091A (en) Universal workflow implementation method and device based on work order
US20030187712A1 (en) Decision tree systems and methods
US20070260983A1 (en) Method for providing a summary of user activities
US11777892B1 (en) Management of queries in electronic mail messages
WO2001022214A9 (en) System, method, signal and software for implementing system undercover agents
WO2000054199A2 (en) Methods and systems for performing workflow
Österle et al. Foundations of a Business Engineering Method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP