Patent Publication Number: US-2006010025-A1

Title: E-mail notification support for workflows

Description:
RELATED APPLICATIONS  
      Priority is claimed from U.S. Provisional Application No. 60/586,231 filed Jul. 9, 2004 and U.S. Provisional Application No. 60/623,872 filed Nov. 2, 2004. 
    
    
     BACKGROUND  
      The present invention relates to collaboration systems and methods that provide a guided framework for handling business workflows. In particular, the present invention relates to collaboration systems and methods with e-mail notification support for business workflows.  
      Collaboration systems support a variety of business processes, or “workflows,” that are to be performed by one or more individuals within a business organization via the corporate network. These collaboration systems share workflows that typically define incremental process steps or tasks of some business function to be performed among the business actors. A Customer Relationship Management (CRM) system and an Enterprise Resource Planning system are examples of such collaboration systems. When stored by the CRM system, for example, the workflows remain in a workflow repository. To perform a business function, a system operator opens an instance of the workflow in the collaboration system (e.g., the CRM or ERP system). With reference to the workflow, the collaboration system guides the operator through the various tasks that must be performed to complete the business operation.  
      One or more different tasks are often performed by different actors within one or more business organizations. When a person completes a first task, manual effort is required to notify the next person responsible for a subsequent task indicating that the subsequent task is now active. This manual process may be time consuming and is prone to errors.  
      Accordingly, there is a need in the art for collaboration systems and methods with e-mail notification support for processing business workflows. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       FIG. 1  is a block diagram of a computer system with e-mail notification support according to an embodiment of the present invention.  
       FIG. 2  is a communication flow diagram of a computer system with e-mail notification support according to an embodiment of the present invention.  
       FIG. 3  is a flowchart illustrating a method for providing e-mail notification for a computer system according to an embodiment of the present invention.  
       FIG. 4  is a flowchart illustrating a method for providing e-mail notification for a computer system according to another embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION  
      The present invention provides a collaboration system and method with e-mail notification support. In particular, an embodiment of the present invention provides a collaboration system and method that includes automatic notifications for tasks as they become active in a workflow. When a first task of the workflow is completed, the computer system receives a notification from a first operator indicating that the first task is done. The computer system then identifies a person, who is responsible for performing a next task in the workflow sequence, and automatically generates a new e-mail notification. The computer system may then send the new notification for the next task to the identified operator of the next task. In one embodiment, the next task may be e-mailed to the recipient&#39;s mail box and further may be integrated into the recipient&#39;s backend system when a send button is pressed. In another instances, the next task may be attached to an e-mail and further may be integrated into the recipient&#39;s backend or local system if the attached new task is scanned by a groupware server when the user reconnects to the network. When the next task is marked as completed, a notification, which records completion of the task, may be returned to the computer system. This process may continue recursively until the workflow reaches its conclusion.  
       FIG. 1  is a block diagram of a computer system with e-mail notification support  100  according to an embodiment of the present invention. The system  100  may include one or more servers  110  (only one shown). Each server  110  may be in communication with multiple user terminals  120 ,  130  via a communication network  140 , such as the Internet or a corporate Intranet. The server  110  may include an e-mail server  110 - 1  and a workflow engine  110 - 2 , which may be part of a Customer Relationship Management (CRM) system, for example. The server  110  also may store one or more workflows  110 - 3  in a workflow repository (not shown separately in  FIG. 1 ). The workflows may map predefined business processes and set forth tasks to be performed, rules of operation, and/or other useful information in performing the workflow.  
      Each workflow  110 - 3  may include a number of interconnected stages S that are to be performed consecutively by one or more users. Each stage S may define a task to be performed and a task owner who is designated to perform the task. In one embodiment of the present invention, the task owner may be identified by a user identifier (user ID), a user role identifier (role ID), or a group identifier (group ID). The stage S also may define a due date of the task and/or the workflow, a supervisor identifier (Supervisor ID), a next task identifier (next task ID), and the like. According to an embodiment of the present invention, the due date may be defined as an offset from the start date. The supervisor ID may identify a supervisor who is responsible for managing the workflow. The next task ID may identify which task(s) are to be performed after the current task is completed. The workflow  110 - 3  also may include one or more stages that are to be performed in parallel by different users. Each task may be performed by one or more individual users, a group, and/or any member(s) of the group.  
      According to an embodiment of the present invention, when a workflow instance is loaded, the workflow engine  110 - 2  may manage operation of the workflow and transmission of automatic notifications for tasks as they become active. In particular, when a workflow instance begins, the workflow engine  110 - 2  automatically may generate an e-mail notification and call the e-mail service  110 - 1  to send the notification to the first task owner along with the first task. Upon completion of the first task, the first task owner may send a notification to the workflow engine  110 - 2 . The workflow engine  110 - 2  may then determine a next task and its task owner by referring to the workflow  110 - 3  stored in the workflow repository. Thereafter, the workflow engine  110 - 2  automatically may generate an e-mail notification to the next task owner and call the e-mail service  110 - 1  to transmit the notification.  
      When called by the workflow engine  110 - 2 , the e-mail service  110 - 1  may receive and transmit e-mails to intended recipients at user terminals  120 ,  130  via communication network  140 . According to an embodiment, the e-mail engine  110 - 2  may be any messaging system that may preferably allow document sharing and document management, group calendaring and scheduling, group contact and task management, threaded discussions, text chat, data conferencing, audio- and video-conferencing, and/or the like. For example, a groupware product may be used to provide communication (e.g., Microsoft Windows Messaging, Microsoft Outlook, Lotus Notes, Exchange Client for Windows, and the like).  
      According to an embodiment of the present invention, each stage may have a generic format such as extensible markup language (XML). As such, the supervisor may modify the workflows  110 - 3 , or any stages therein, before or during operation of the workflow. The computer system  100  also may allow each task owner to modify specific steps within the task assigned to the task owner or its path. In such cases, the computer system  100  may monitor and notify the supervisor of such modifications. Additionally, the computer system  100  may require each completed task to be approved by the supervisor before a notification is sent to the next task owner. Alternatively, such a review process may be predefined as one or more stages of a workflow. The computer system  100  also may send progress reports to the supervisor. Typically, the computer system  100  may identify who may modify the workflows, or any part thereof, and who may receive notifications regarding modifications to the workflows and/or progress reports.  
      According to an embodiment of the present invention, the workflow may be managed on a common server. In other instances, the workflow may be managed via multiple servers. Such implementation differences are immaterial to the present discussion.  FIG. 1  illustrates a single server management merely to facilitate presentation of the present invention.  
       FIG. 2  is a data flow diagram illustrating communication flow of a collaboration system  200  among a server  210 , a first user terminal  220 , and a second user terminal  230  according to an embodiment of the present invention. The server  210  may include an e-mail service  240 , a workflow engine  250 , and a workflow repository  260 . As mentioned above, the server  210  may communicate with the first and second user terminal  220 ,  230  via a communication network.  
      Interaction typically begins when a first user terminal  220  sends a notification to the workflow engine  250  indicating that a task is complete. The notification may identify the workflow with a workflow identifier (workflow ID) and a task that is completed by a task identifier (task ID). The workflow engine  250  may refer to the workflow repository  260  to determine a next task and a next task owner. For example, the workflow engine  250  may locate the workflow instance stored in the workflow repository  260  by looking up the workflow ID and determine the next task and the next task owner by comparing by the task ID and a recipient e-mail address and/or identifier (recipient ID). The workflow engine  250  may then request the e-mail service  240  to transmit a notification of the next task to a new recipient. The e-mail service  240  may then send a notification to the next task owner at the second user terminal  230 . As described above, the new task may be sent as an e-mail to a special mail box and further may be incorporated into the recipient&#39;s system when the recipient opens the e-mail. In other instances, the new task may be attached to an e-mail and further may be incorporated into the recipient&#39;s system if the attachment is scanned by a groupware server when the user reconnects to the network. This process may continue recursively until all stages of the workflow are completed.  
      Typically, a workflow instance begins when the supervisor chooses to perform the workflow, or when triggered by completion of other, related workflows. Additionally, the workflow engine  250  may be designed to respond to errors and exceptions in other, existing business processes. In such instances, a workflow may begin when predefined events occur. For example, a workflow instance, or a task therein, can be triggered if particular errors are found during an automatic check.  
      According to an embodiment of the present invention, the collaboration system  200  may provide a synchronization unit (not shown) to facilitate synchronization with workflow applications of different users. In other instances, the collaboration system  200  may support online/offline handling of the workflow. For example, as the workflow engine  250  transmits a task to its task owner, the task may be copied and stored in internal storage or internal tables. The task owner may then retrieve the task from internal storage and perform the task offline. When the task owner reconnects its user terminal to the network, information regarding the task may be submitted to the collaboration system  200  and the task may be synchronized with its workflow.  
      Offline support also may include a conflict resolution manager (not shown) to facilitate synchronization of data and objects within a workflow. For example, a task may be assigned to an operator who connects to the network on an intermittent basis, for example, via a laptop. Conflicts may arise if, for example, an off-line user changes a workflow object by completing a task and, while the user is off line, another operator changes another object in the workflow. For example, the task also may be completed by another user or the task may be reassigned or opened by another user.  
      When the offline user returns to the system, a synchronization operation may be performed upon the workflow objects. A conflict may be identified if time stamps of the objects are different between the two systems or if object histories indicate that modifications occurred on each system. In such a case, a conflict resolution manager may be opened. The conflict resolution manager may query, for example, a system operator to select which data and object fields within the objects should be imparted into the system.  
       FIG. 3  illustrates a method for providing e-mail notification for a computer system  300  according to an embodiment of the present invention. The method  300  may receive a completion notification from a first user terminal indicating that an active workflow stage has been completed (box  310 ). Using information included in the notification, the method  300  may identify a workflow related to the completed stage and mark the stage as completed (box  320 ). As mentioned previously, the workflow may map predefined business processes or tasks and may include useful information in performing the workflow. The method  300  may then refer to the workflow to identify one or more next stages to be performed (box  330 ). The method  300  also may add a timestamp to the identified next stage(s) indicating that they have become active. From the workflow, the method  300  may determine who will perform operations of the identified next stage(s) (box  340 ). The method  300  may then send notifications to the identified operator(s) (box  350 ).  
       FIG. 4  illustrates a method for providing e-mail notification for a computer system  400  according to another embodiment of the present invention. In this embodiment, the method  400  may send a notification to a workflow&#39;s supervisor if a stage is overdue. The method  400  may review all active stages of active workflows (box  410 ). The method  400  may determine whether a stage is overdue by, for example, comparing the task due date with the start date (box  420 ). If so, the method  400  may retrieve supervisor ID (box  430 ) and send a notification to the supervisor indicating that the stage is overdue (box  440 ). Alternatively, the method  400  may determine whether the next stage may be performed without waiting for the overdue stage to be complete (box  450 ). If so, the method  400  may send a notification to the supervisor and/or the next task owner (box  460 ). The method  400  may repeat this process for each and every active stage of all active workflows. According to an embodiment of the present invention, the method  400  may be performed at the supervisor&#39;s request and/or automatically at predetermined intervals.  
       FIG. 3  and  FIG. 4  are illustrated as separate methods merely to facilitate presentation of the present invention. Commonly, the collaboration system with e-mail notification support, according to an embodiment of the present invention, may be capable of performing both methods  300  and  400  simultaneously.  
      Furthermore, according to an embodiment of the present invention, the collaboration system with e-mail notification support also may perform a routine check on the quality of completed tasks and send results to its users. The collaboration system may generate and send workflow progress reports at predetermined stages or intervals. Additionally, the collaboration system may monitor and report any exceptions or errors detected during execution of the workflow.  
      Several embodiments of the present invention are specifically illustrated and described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.