Abstract:
Systems and methods for providing interaction of multiple business process events by nesting the information from prerequisite events into a business process that is dependent on those processes to transact. In one embodiment, a business process comprises a dependent event that is launched by users, completed events or application calls and one or more prerequisite events that are launched by dependent events. The dependent event, rather than the prerequisite event, manages a set of rules used to evaluate nested information, determine if an exception is required and who needs to approve exceptions. Nested information is used by a dependent event to automatically monitor the progress of each prerequisite event. Nesting allows prerequisite events to be free of business rules, so they can be reused by many dependent processes without duplication. A library of prerequisite events can be kept so new business processes can be quickly constructed using already existing events.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority to U.S. Provisional Patent Application No. 60/373,292, entitled “Business Process Nesting Method And Apparatus,” by Paul V. Morinville, filed Apr. 17, 2002, which is incorporated by reference as if set forth in its entirety herein. 
    
    
     FIELD OF THE INVENTION 
     The invention relates generally to systems and methods for automating business processes. More specifically is relates to systems and methods for providing interaction of multiple business process events by nesting the information from prerequisite events into a business process that is dependent on those processes to transact. 
     BACKGROUND 
     Market conditions have driven companies to leverage employees, partners, suppliers, customers and information to reduce costs. To successfully accomplish this, organizations must efficiently control the way people, resources, and information technology interact. This can be referred to as Business Process Management (BPM). 
     Business processes are used to control costs, speed production, increase resource efficiency and control information that is shared among internal and external participants, and across applications. Thousands of business processes permeate such areas as engineering, manufacturing, distribution, sales, branding, marketing, advertising, purchasing, corporate communications, legal, customer relations, finance, staffing, payroll, benefits, training, employee records and more. 
     A business process is an ordered series of events. An event is the managed change of information from one or more sources to one or more destinations. Sources and destinations can be internal, customer, or partner applications, documents, vendor catalogs, etc. Controlling the change is generally accomplished by managing how the event is accessed, who collaborates to perform the change and how it is approved. Typically, an event manages on a single item or a group of similar items. For example, the purchase of a pen is an event. Access is often restricted to certain users. When launched, the price and description of the pen is pulled from the vendor catalog, and the billing cost center and user information is pulled from internal company applications. The user makes changes and a manager may be required to approve the purchase. Once approved, a purchase order is sent to the vendor and to accounts payable. 
     A business process can be a comprised of a single event as in the purchase of a pen, or it can be a complex succession hundreds of events launched both sequentially and simultaneously at varying points in business process. Some events simply perform their function and stop, while other events perform their function and launch another set of events. Events that must be completed in order to launch another event are referred to as prerequisite events and events that are dependent on the completion of prerequisite events are called dependent events. 
     Reuse of Events: 
     Referring to  FIG. 1 , current systems launch events in a series such that one or more prerequisite events are launched and upon completion, one or more dependent events are launched. For example, the business process to create a new employee record (commonly called on-boarding) is dependent on positive completion of security background check and drug testing events. Current systems require that the security background check and the drug testing event be launched together and when they are both completed the On-Boarding event is launched. 
     The same event is often required in more than one business processes. For example, an event of purchasing a pen may be required when hiring a new employee and therefore is one of the events in an on-boarding business process. Current employees may also need to purchase pens during the normal course of day-to-day business, so it is also used as its own business process. 
     Depending on the use of the event, different access and approval rules may be applied. For example, the event of purchasing a pen when used in an on-boarding business process would likely be launched by the completion of the security background test and drug testing events and therefore would not need to have access controlled. It would also not need to have any approval because it is part of an approved business process. However, when used as a business process by employees who are already on-board, access to purchase a pen could be restricted to area administrators and a first level manager may be required to approve the purchase. In current systems, these access and approval rules are a defined in the event. If the same event were used in both processes and the event rules required access control and approval, the day-to-day purchase of a pen would work fine, but the on-boarding process would require a unnecessary approval and may require that the administrative assistant launch it manually. If the same event were used in both processes and the event rules required no access control and no approval, the on-boarding process would work fine, but any employee could order pens and nobody would be required to approve it. 
     Problem: 
     Each use of an event requires the creation of a new event; events cannot be reused. This increases the time and cost of creating new business processes. Because there are multiple instances of the same event, changes that affect similar events need to be made to each event one at a time. For example, if the company changes the pen supplier from one vendor to another, the vendor must be changed in each event that purchases a pen. Some events could be duplicated dozens of times to satisfy all the possible processes, requiring dozens of changes. If it were possible to reuse the same event for all processes, then it would only require one change. 
     Exception Management: 
     In the day-to-day course of doing business, it is often necessary to override one or more prerequisite events to allow the dependent event to launch. This is exception management. Because current systems launch events sequentially, each prerequisite event must be monitored to ensure the business process can continue. For example, the recruiter must monitor the security background check and the drug test events to ensure they are completed in time to launch the on-boarding event so the new employee can start work the planned start date. 
     If it is determined that a prerequisite event will not be completed before the dependent event needs to launch, an exception is necessary to continue the business process. Exceptions generally require approval, so the user who monitors the business process must identify the need and notify the approver of the problem. Upon approval, the user or an administrator overrides the event. For example, a newly hired candidate needs to start quickly to fill a critical business need. The recruiter monitors the hiring process and determines that the security background check will be not completed before the start date. He gathers information and notifies the VP that he needs an override. The VP reviews and approves. The recruiter contacts the administrator who manually overrides the security background check. The system then launches the on-boarding process to create an employee record and start the candidate. 
     Problem: 
     Managing an exception can take as little as a few hours, but will often take several days during which time the business process can stall. A stalled process can translate to stalled revenue, lost business, dissatisfied customers, missing assets, or many more problems. For example, starting a new employee critical to a project that directly impacts revenue can be delayed by a week or more. A technical support process can impact customer uptime putting the customer at risk. A delayed sales process can lose the deal. A delayed engineering change order can take a factory down. In addition, time is consumed monitoring the events and managing exceptions. Labor consumed in a large company with thousands of business processes can translate to millions of dollars per year in unnecessary costs. 
     Monitoring: 
     Each event in a business process requires constant monitoring and regular exception management. For example, a recruiter in a large manufacturing or sales organization may hire 100 employees per week. The on-boarding process of each candidate must be monitored daily to ensure that new employees start timely. An on-boarding process may have 15 to 20 events, so the recruiter may need to monitor between 1500 and 2000 events per day. 
     Problem: 
     The volume and complexity of business processes is very high and frequently exceptions are missed causing the process to stall. In companies that have automated many business processes, a significant amount of time is used monitoring ongoing processes. 
     Conclusion: 
     A business process management platform that automatically monitors events and process exceptions, and is capable of reusable events is therefore necessary to decrease cost, improve efficiency and reduce complexity so management can improve control. 
     SUMMARY OF INVENTION 
     One or more of the problems outlined above may be solved by the various embodiments of the invention. Broadly speaking, the invention comprises systems and methods for automating and increasing the efficiency of business processes using a reusable event that can be linked as prerequisite or dependent events to create complex business processes. 
     In one embodiment of the invention, there are prerequisite and dependent events. Referring to  FIG. 2 , a dependent event is the primary event that is launched by users, completed events or application calls. Prerequisite events are secondary events that are launched by dependent events. 
     In the preferred embodiment of this invention, certain information processed by prerequisite event(s) may be monitored and used by the dependent event. This is called Nesting. 
     Nested information may be analyzed by the dependent event against rules contained in the dependent event to determine if approvers are necessary and if so, who those approvers are. This allows prerequisite events to be free of rules so they can be reused in any number of dependent events and allows exceptions to be managed for all prerequisite events launched by the dependent event. 
     For example, the on boarding event is a dependent event. The security background and the drug testing events are the prerequisite events. When the on-boarding event is launched by a user, it launches the security background and drug test events. The status of each prerequisite event is “nested” into the on-boarding event. The on-boarding event monitors the status to determine if it can proceed to create a new employee record. When both prerequisite events have a status of completed, the on boarding event can create a new employee record without approval. If the user attempts to complete the on-boarding event with one or both status not completed, the on-boarding event will analyze the status against business rules contained in the on-boarding event and require approval to create a new employee record 
     Exception Management: 
     The dependent event stores and manages a set of rules used to evaluate nested information, determine if an exception is required and if so, who needs to approve it. These rules are stored, managed and administered within the dependent event and not within the prerequisite event. 
     Value: 
     Nesting prerequisite information into the dependent event consolidates the administration and management of unlimited events into a single event. The entire business process made up of hundreds of events may be managed using a single dependent event or a series of dependent events. All exceptions are automatically managed making it difficult to overlook an exception and stall the process. Overall, users are more efficient, it is unlikely that business processes will stall unnecessarily, and management control of complex business processes is greatly improved. 
     Monitoring: 
     Nested information is used by a dependent event to automatically monitor the progress of each prerequisite event. 
     Value: 
     Nesting information allows the user to monitor only one event even though hundreds may be actually occurring reducing the time it takes to monitor each event and improving the quality of the business process. 
     Reuse: 
     Nesting allows prerequisite events to be free of business rules, so they can be reused by many dependent processes without duplication. A library of prerequisite events can be kept so new business processes can be quickly constructed using already existing events. 
     Value: 
     Source or destination addresses can be changed in a single place, and immediately impact every business process. New business processes can be built and deployed in a fraction of the time. Current business processes can be quickly changed by adding or removing prerequisite events. 
     Various alternative embodiments of the invention are possible, and will be evident to persons of skill in the art of the invention upon reading this disclosure. The descriptions here and are therefore intended to be illustrative, rather than limiting of the invention which is claimed below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram illustrating the launch of events in current systems. 
         FIG. 2  is a diagram illustrating the launch of events in accordance with one embodiment of the invention. 
         FIG. 3  is a diagram illustrating the launch of events in accordance with one embodiment. 
         FIG. 4  is a diagram illustrating the association of rules with fields of event data in accordance with one embodiment. 
         FIG. 5  is a diagram illustrating the build state of an event in accordance with one embodiment. 
         FIG. 6  is a diagram illustrating the analyze state of an event in accordance with one embodiment. 
         FIG. 7  is a diagram illustrating the approve state of an event in accordance with one embodiment. 
         FIG. 8  is a diagram illustrating the execute state of an event in accordance with one embodiment. 
         FIG. 9  is a diagram illustrating the business process of hiring a new employee in according one embodiment. 
         FIG. 10  is a diagram illustrating a dual element event in accordance with one embodiment. 
         FIG. 11  is a diagram illustrating the mirroring of information in a transaction element by a management element in accordance with one embodiment. 
         FIG. 12  is a diagram illustrating a management element triggering a dynamic approval role in accordance with one embodiment. 
         FIG. 13  is a diagram illustrating the addition of new transactions to management elements in accordance with one embodiment. 
         FIG. 14  is a diagram illustrating an example of nested business processes in accordance with one embodiment. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     In the preferred embodiment of this invention, a business process is an ordered succession of serial and parallel events. An event is the retrieval of specified data from one or more sources, the managed addition, change or deletion of data, the approval of the new data, and the return of specified data to one or more destinations. 
     There are two classes of events, dependent and prerequisite. A dependent event is launched by a user, another event, or an application call. The prerequisite event is launched by a dependent event. The dependent that launched the prerequisite event may be dependent on the successful completion of a prerequisite event. The dependent event may retrieve (or nest) data from one or more of its prerequisite events within itself. This “nested” data is analyzed to trigger additional approvers. 
     Dependent events contain the business rules that generate approval. Prerequisite events may not. 
     Event Sequence: 
     An event is a five-step, state driven process: launch, build, analyze, approve and execute. Each stage has a method of entrance and a method of exit. Any method of entrance or method of exit can be manually engaged by a user or automatically engaged by business rules contained in the event. 
     Launch: 
     Launch is the creation of the event. Launch is illustrated in  FIG. 3 . Dependent events may be launched by a user, the completion of another prerequisite or dependent event, or from an internal or external application procedure. One or more prerequisite events may be launched by a dependent event. 
     Build: 
     Build is the state or an event where information is retrieved from predefined sources and user input may be allowed. Build is illustrated in  FIG. 5 . Sources may be events such as prerequisite events launched by the event; other events; internal applications; vendor, partner or customer applications; hosted, web and Internet applications; documents; and other sources. The address of the source, unique identifier, and definition of the data being retrieved are contained in the event. 
     Referring to  FIG. 4 , dependent events may have rules associated with any field of data managed by the event. Rules are contained in the dependent event. Rules are unique to each field. Rules consist of comparison data or sets of comparison data to be used for analysis against field data, a comparison operator to drive the analysis, and an approver(s) to be used if the analysis is true. 
     Comparison operators may be numbers, text, dates, currency, etc. Comparison equations may be &gt;, &lt;, &gt;=, &lt;=, =, &lt; &gt;, &gt;&lt;, Boolean expressions, mathematical calculations, date calculations, etc. Approvers may be user names, ID numbers, roles, positions, or other unique user identification. 
     The build state may allow the user to add, change or delete predefined data. Rules governing which information may be added, changed or deleted are properties of the event. 
     Summarize changes its state to Analyze. The user may manually summarize the event or the event may automatically summarize the event. 
     Analyze: 
     The analyze state allows the event to analyze each field against the field&#39;s rules and list Approvers for all true comparisons. Analyze is illustrated in  FIG. 6 . 
     Submit changes the state to Approval. Events may be submitted in various ways. The event may automatically submit when all comparisons are false. The event may automatically submit whether the comparisons are true or false. The event may automatically submit based on a date calculation whether all comparisons are true or false. The user may manually submit whether comparisons are true or false. 
     Approve: 
     Approve is the state where approvers may be required to approve or decline the event. Approve is illustrated in  FIG. 7 . The process of notifying approvers may be accomplished via email, pager, cell phone, etc. 
     The approver may approve or decline the event and enter comments. If any approver declines the state changes to Build. If all approvers approve, the state changes to Execute. 
     Execute: 
     Execute is the state where the event sends data to its destination(s). The execute state is illustrated in  FIG. 8 . The event may send information from itself and/or its prerequisite events to predefined destinations. The dependent event may also launch one or more dependent events. The event may be set up to automatically send some or all of its information and new event launches automatically upon approval. It may also be set up to send some or all of its information and new event launches manually. In other words, the event could send some combination of information and new events automatically, and require a user to manually complete the event to send other information and launch other events. 
     Destinations may be an internal application; hosted, external, or web applications; documents; vendor, customer or partner applications; or some other receptor of information. 
     Completion of the dependent event may cause the completion of one or more prerequisite events. One or more prerequisite events may be left to complete as they normally would. 
     Full Business Process: 
     13 events make up the full business process of hiring a new employee. Three are dependent processes. Administration of the complete business process is accomplished in these three events. 
     Referring to  FIG. 9 , the full business process of hiring a new employee starts with the dependent event of approving an offer and ends with the events of creating a new employee record and starting all the related employee services. 
     Offer Approval: 
     A user engages the offer approval event. The offer approval event retrieves salary low, mid and high points from the compensation application keyed by the grade; candidate information, and title and job description from the staffing application; and hiring manager and recruiter information from the human resources application. The user enters the offer salary and summarizes the event. The event analyzes the offer salary against the salary low, mid and high points to determine if approval is required, and if so lists the approvers. The user submits the event and the state changes to Approval. The approvers all approve and the state changes to Execute. The user executes the event. The state changes to Completed and a candidate acceptance event is launched. 
     Candidate Acceptance: 
     The candidate acceptance event retrieves information from the offer approval event. The user enters the candidates decision and summarizes the event. No approvers are required so the event automatically changes its state to execute. The event automatically completes and launches the on-boarding event. 
     On-Boarding: 
     The on-boarding events retrieves information from the offer approval and the candidate acceptance events and launches the security background check, drug test, computer purchase, office supplies purchase and IT set up work order events. 
     The on-boarding event also retrieves the status of the security background test and the drug test events. The security background check and drug test events are therefore nested prerequisite events. The other prerequisite events are not nested. 
     Each prerequisite event automatically retrieves information from sources predetermined by their own event. Each automatically submits. 
     The security background test and the drug test approvers are their respective vendors. When the vendors approve the testes, each automatically completes and changes the state to Complete. 
     The computer and office supply orders require no approval and automatically change state to Execute. Each sends its information in the form of a PO to the vendor and waits to be manually completed when the order arrives. When the order arrives, the user manually completes and the event sends information to the asset management application and the finance application. 
     The IT set up event requires the IT set up employee to approve when they get the work done. Upon approval, the event automatically completes. 
     The on-boarding event retrieves the current status of the security background and drug tests at timed intervals. The on-boarding event has rules for the nested field of status for both nested events. Comparison data is “compete”. The comparison operator is “Not” and the approver is Fred the VP. When both events have a status of complete, the event may automatically submit with no approval. The event may automatically submit regardless of the status of the nested prerequisites three days before the scheduled start date, which would require Fred the VP to approve. The user may manually submit before both nested prerequisite events have status of complete, which would require Fred the VP to approve. 
     Once in the Execute stage, the on-boarding event waits for the user to complete the event to create the employee record, turn on benefits, engage relocation and turn on building access. 
     Dual Element Event. A dual element event consisting of a Management Element and a Transactional Element are used. The dual element is illustrated in  FIG. 10 . In summary, the Management Element controls the Transaction Element. 
     Management Element. The Management Element is a standard object for every Event, which first accepts key information regarding static approval roles, the position and the user who is requesting the Event, the position and the user who is affected by the event, and any other information that is necessary to transact the Event. 
     The management element launches one or more transaction elements and shares key information required by the transaction element. 
     The management element manages the Event State, and passed that state to each transaction element. The transactional element uses that state to drive its exchange of information. 
     The transaction element communicates with data sources and can query information from those sources or send information back to those sources based upon the state of the management element. 
     The management element mirrors selected information held in the transaction element and may allow the user to edit, or add new information. This is illustrated in  FIG. 11 . 
     Data that is mirrored by the management element may be compared specific information to trigger a dynamic approval role as shown in  FIG. 12 . 
     The management element is summarized by the user triggering Automated Signature Looping and identifying the approving people by their role within the organization. Upon completion of approvals, the management element state change causes each transaction to send its information to its sources. 
     Multiple transaction elements can be used for each management element. It is possible to use the same transaction element in many management elements, which allows them to be stored in a library and dropped into management elements wherever necessary. 
     For example, a change of employee status may be required to hire a new employee, to grant a leave of absence to an existing employee, and to terminate an employee. The same transaction element that changes the status of the employee can be used in each Event. 
     This makes it possible to change something at the data source or the query of the transaction, and that change is automatically felt in every management element using the transaction. 
     For example, if the HR system is changed from Great Plains to PeopleSoft, a single change is made to the transaction element and all Events using that transaction are automatically changed. 
     In addition, new functionality can be quickly added to existing business processes simply by adding transactions and dropping them into existing management elements. This is illustrated in  FIG. 13 . 
     Nesting business processes works the same as described above. An example of nested business processes is illustrated in  FIG. 14 .