`Patent Number:
`11
`(45) Date of Patent:
`
`6,041,306
`Mar. 21, 2000
`
`5,867,824 2/1999 Saito et al. .................................. 705/9
`
`United States Patent (19)
`Du et al.
`
`54 SYSTEM AND METHOD FOR PERFORMING
`FLEXBLE WORKFLOW PROCESS
`EXECUTION IN A DISTRIBUTED
`WORKFLOW MANAGEMENT SYSTEM
`75 Inventors: Weimin Du, San Jose; James W.
`Davis; Clemens Pfeifer, both of
`Sunnyvale; Ming-Chien Shan,
`Saratoga; Nicolas Sheard, Palo Alto, all
`of Calif.
`
`73 Assignee: Hewlett-Packard Company, Palo Alto,
`Calif.
`
`21 Appl. No.: 08/821,940
`22 Filed:
`Mar 21, 1997
`
`OTHER PUBLICATIONS
`Hollingsworth, “Workflow Management Coalition”, pp.
`1–55, Jan. 19, 1995.
`Primary Examiner Tod R. Swann
`ASSistant Examiner Matthew Smithers
`Attorney, Agent, or Firm Thomas X. Li
`57
`ABSTRACT
`A system and method for performing flexible workflow
`process execution in a distributed workflow management
`system is described. The distributed workflow management
`System is formed by a computer network comprising a
`plurality of computers. Each computer has a processor,
`memory and input/output facilities. A workflow process
`management System operates on one or more of the com
`Related U.S. Application Data
`puters to control the computer network in executing the
`60 Provisional application No. 60/032,567, Dec. 5, 1996.
`Workflow process. The Workflow process includes at least
`(51) Int. Cl. .................................................. G06F 940
`OC y of multiple t A plurality of ..
`52 U.S. Cl. ......................................... 705/8; 705/7; 705/8
`coupled to respective ones of the computers to carrv out the
`s
`s
`58 Field of Search .............39 s".8, 7, 9; 395/200.31, NR E. A plurality of State Air C Sea S
`/200.32, 200.33, 182.13
`computer-operable code in at least one memory and include
`References Cited
`a plurality of States interconnected by arcS logically forming
`a directed graph. The workflow management System further
`includes logic for instantiating each action with one State
`and logic for executing the logical Sequence of the action as
`State transitions in each State machine.
`
`56)
`
`U.S. PATENT DOCUMENTS
`
`5,301,320 4/1994 McAtee et al. ............................. 705/9
`5,581,691 12/1996 Hsu et al. ........
`395/182.13
`5,745,901
`4/1998 Entner et al. ...
`... 707/103
`5,799.297 8/1998 Goodridge et al. ......................... 707/1
`
`7 Claims, 10 Drawing Sheets
`
`195
`
`188
`
`y
`
`
`
`
`
`
`
`
`
`200
`SUSPEND
`
`
`
`185
`
`TERMINATE
`
`COMPENSATION
`COMPENSATE NODE
`198 204
`TERMINATE
`
`
`
`196
`
`
`Ex.1017 / Page 1 of 22Ex.1017 / Page 1 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 1 of 10
`
`6,041,306
`
`15a
`
`MACHINE 1
`
`-e-D
`
`15b
`
`
`
`MACHINE 2
`
`16
`MCROPROCESSOR
`CONTROLLED
`DEVICE
`
`
`
`
`Ex.1017 / Page 2 of 22Ex.1017 / Page 2 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 2 of 10
`
`6,041.306
`
`Fig. 2
`
`24b
`
`PROCESS
`STATUS
`24a MONITOR
`
`PROCESS 46s
`INSTANCE
`PROCESS
`EXECUTION
`PESIGNER 12
`23a
`22a
`
`HP OpenPM
`DATABASE
`
`28C
`
`RESOURCE
`MANAGEMENT
`
`2
`8a
`
`28b.
`
`TRADER
`
`29
`
`30
`
`BUSINESS OBJECT 33
`MANAGEMENT
`SAP
`OV/
`DM
`31 LEGACY APPLICATIONS 3
`
`APPLICATION
`DATABASE
`
`
`
`APPLICATION
`DATABASE
`34b
`
`
`Ex.1017 / Page 3 of 22Ex.1017 / Page 3 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 3 of 10
`
`6,041,306
`
`09
`
`NO||L\/TV/OSE
`
`
`
`EZINJOH LOV
`
`g *BIJ
`
`
`
`EZINHOH LTV7
`
`Af7
`
`HSVO
`
`ENOC]
`
`Eld
`
`97
`
`X|OEHO
`
`WIWITO
`
`| #7
`
`
`
`LIW EITIS
`
`WIWITO
`
`
`
`
`
`
`
`
`Ex.1017 / Page 4 of 22Ex.1017 / Page 4 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 4 of 10
`
`6,041.306
`
`ØNI? JO LINOW
`
`
`SSE OORHd
`
`
`
`
`
`
`
`NOILÍTOEXE
`SSHOO?Hd
`SNO||LINI-H-HBC]
`
`
`
`SSE OORHd
`
`ESVÆV/IV/C]
`quedO dH
`
`
`Ex.1017 / Page 5 of 22Ex.1017 / Page 5 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 5 of 10
`
`6,041,306
`
`
`
`Wduedo dHÍODH
`
`
`
`
`
`
`
`
`
`
`
`
`
`- S? HETICINVH
`
`|LSITXRJONA
`
`|-No.096
`
`
`Ex.1017 / Page 6 of 22Ex.1017 / Page 6 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 6 of 10
`
`6,041,306
`
`ALIWNDAS
`
`“JOVNVAN
`
`LNAW
`
`bb
`
`9‘BI
`
`SOIAYNAS
`LNAWSSVNVIN
`
`ASIANAS
`
`SONVYENSSV
`
`ASIANS
`
`NOLLWAILOV
`
`NOILVSYO
`
`YaAVI
`
`SSANISNG
`
`ADIAYAS
`
`INAWNS9SVNVA
`
`YsaAVI
`
`MYOMLAN
`
`INSWS9VNVAN
`
`YyaAVI1
`
`LNAWSTA
`
`LNAWASVNVA
`
`YysAVI
`
`MYOMLAN
`
`
`Ex.1017 / Page 7 of 22Ex.1017 / Page 7 of 22
`Ex.1017 / Page 7 of 22
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`
`
`U.S. Patent
`
`6,041,306
`
`
`
`
`
`
`
`
`
`
`
`| | |
`
`| | |
`
`
`
`r= = = = = = = = = - - - - - - - ~ – – – – – – – –NgzL Z INEAE CESIVAJ
`
`
`
`||SHOHnOSHH MEN `N `N
`
`
`
`?HO-H IN/WA Z INE/AE
`
`
`Ex.1017 / Page 8 of 22Ex.1017 / Page 8 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 8 of 10
`
`6,041,306
`
`
`
`CREATE
`INSTANCE
`
`18 164
`
`159
`
`COMP
`C
`172 OMPLETE
`
`175
`
`
`Ex.1017 / Page 9 of 22Ex.1017 / Page 9 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 9 of 10
`
`6,041,306
`
`
`
`
`
`
`
`CJE CINEdSTIS ºd VNO O
`
`
`Ex.1017 / Page 10 of 22Ex.1017 / Page 10 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`U.S. Patent
`
`Mar. 21, 2000
`
`Sheet 10 of 10
`
`6,041.306
`
`Fig. 11
`
`210
`
`START BO
`
`209
`/
`
`DELEGATE BO
`
`BO
`COMPLETED
`
`213
`
`STARTACTIVITY
`
`GET RM OK Y214
`
`GET RM FAILED
`
`216
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`230
`
`PROCESS EVENT
`
`236
`
`
`Ex.1017 / Page 11 of 22Ex.1017 / Page 11 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`6,041.306
`
`1
`SYSTEMAND METHOD FOR PERFORMING
`FLEXBLE WORKFLOW PROCESS
`EXECUTION IN A DISTRIBUTED
`WORKFLOW MANAGEMENT SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`The present patent application is a continuation applica
`tion of provisional application No. 60/032,567, filed Dec. 5,
`1996, by Weimin Du et al., and entitled WORKFLOW/
`PROCESS FLOW PROCESS MANAGEMENT SYSTEM,
`the disclosure of which is incorporated herein by reference.
`This patent application is also related to a commonly
`assigned patent application Ser. No. 08/768,261, filed on
`Dec. 17, 1996, U.S. Pat. No. 5,826,239 and entitled DIS
`TRIBUTED WORKFLOW RESOURCE MANAGEMENT
`SYSTEMAND METHOD
`
`15
`
`2
`history information in the form of an audit trail for com
`pleted workflow processes and collect Statistical data for
`process and resource bottleneck analysis, flow optimization
`and automatic workload balancing.
`Moreover, given the trend towards open Systems and
`standards, a WFPM system must coexist with and take
`advantage of Standards-based commercial products for net
`work communication, legacy application invocation and
`System monitoring. In particular, these Standards include the
`Object Management Group's Common Object Request Bro
`ker Architecture (CORBA), the Open Software Founda
`tion's Distributed Computing Environment (OSF DCE),
`Hewlett Packard's OpenView and the International Stan
`dards Organization Open Systems Interconnection (ISO
`OSI) X.400 technologies.
`Workflow process execution should be correct, efficient
`and flexible. Flexible execution of workflow processes is
`important in a dynamic workflow environment. For
`example, a workflow process might need to be modified
`after being Started. A resource manager might not be able to
`find resources for the workflow activities and a workflow
`assigned to an activity might not be able to perform the
`assigned task. A WFPM system must be flexible enough to
`cope with these situations to provide correct and efficient
`Workflow process execution.
`Existing workflow products adopt a centralized process
`execution Strategy which requires all workflows to be reg
`istered with the WFPM system before use. The relationships
`between WFPM systems and resource managers, that is,
`built-in resource managers, and between workflow activities
`and resources specified at process definition time are Static.
`Thus, the proceSS execution is inefficient, as Some resource
`managers and workflows might be heavily loaded while
`others remain idle. The approach is also inflexible, as it is
`difficult to change resource manager and workflow at
`runtime, particularly during resource assignment or appli
`cation execution processing.
`Therefore, what is needed is a flexible and preferably
`decentralized WFPM system able to dynamically redefine
`the relationships between the WFPM system and resource
`managerS.
`There is a further need for a flexible WFPM system
`capable of dynamically redefining workflow activity and
`resource definitions to efficiently perform proceSS execution.
`Such a WFPM system would preferably balance the distri
`bution of Such proceSS execution between resource manag
`erS and workflows to minimize overloading and idle time.
`There is still a further need for a flexible WFPM system
`capable of dynamically change resource assignments and
`application execution processing to resource managers and
`workflows at runtime.
`
`SUMMARY OF THE INVENTION
`The present invention provides a System and method for
`performing flexible workflow process execution in a distrib
`uted workflow management System. It is an object of the
`present invention to provide proceSS execution techniques
`for allowing flexible process instantiation, resource assign
`ment and application execution.
`An embodiment of the present invention is a System and
`method for performing flexible workflow proceSS execution
`
`
`Ex.1017 / Page 12 of 22Ex.1017 / Page 12 of 22
`
`TESLA, INC.TESLA, INC.
`
`25
`
`35
`
`40
`
`45
`
`BACKGROUND OF THE INVENTION
`The present invention relates to the field of workflow
`proceSS management and more particularly to a System and
`method for performing flexible workflow process execution
`in a distributed workflow management System.
`Workflow process re-engineering, that is, the fundamental
`rethinking and re-implementation of workflow processes to
`achieve never-before-possible levels of quality, cost,
`throughput and Service, is emerging as one of the crucial
`business strategies of the 1990s. The need for re-engineering
`is especially significant in an era of workforce downsizing
`coupled with greater demands for Shortened time to market
`and faster customer response. Moreover, the need is perva
`Sive. Organizations are currently engaging in workflow
`proceSS re-engineering in many domains, including financial
`Services, telecommunications Services, healthcare Services,
`customer order fulfillment, manufacturing procedure auto
`mation and electronic commerce.
`While workflow proceSS re-engineering provides a busi
`neSS management concept, workflow process management
`(WFPM) software-or more accurately, middleware
`provides the enabling technologies for actually performing
`workflow process re-engineering. WFPM Supports flexible
`Solutions for the management of enterprise-wide operations,
`including workflow process control, automation and moni
`toring, resource allocation, authorization and authentication;
`task initialization and data eXchange, and end-to-end com
`50
`munication and security. However, while WFPM offers an
`overall environment and approach to unifying, automating
`and measuring workflow processes, it is not limited to
`Supporting workflow proceSS re-engineering and can be used
`to manage existing nonautomated legacy or work processes.
`In general, WFPM systems perform a wide range of tasks.
`For instance, they can provide a method for defining and
`managing the flow of a work proceSS or Support the defini
`tion of resources and their attributes. In addition, they can
`assign resources to work, determine which Steps will be
`executed next within a work process and when they will be
`executed and can ensure that the workflow proceSS continues
`until proper termination. Moreover, they can notify
`resources about pending work, enforce administrative
`policies, Such as access control and track execution and
`Support user inquiries of Status. Finally, they can provide
`
`55
`
`60
`
`65
`
`
`
`6,041.306
`
`3
`in a distributed workflow management system. The distrib
`uted workflow management System is formed by a computer
`network comprising a plurality of computers. Each com
`puter has a processor, memory and input/output facilities. A
`5
`Workflow process management System operates on one or
`more of the computers to control the computer network in
`executing the workflow process. The workflow proceSS
`includes at least one Sequence of multiple actions. A plural
`ity of resources is coupled to respective ones of the com
`puters to carry out the multiple actions. A plurality of State
`machines are Stored as computer-operable code in at least
`one memory and include a plurality of States interconnected
`by arcS logically forming a directed graph. The workflow
`management System further includes logic for instantiating
`each action with one State and logic for executing the logical
`Sequence of the action as State transitions in each State
`machine.
`The foregoing and other objects, features and advantages
`of the invention will become more readily apparent from the
`following detailed description of a preferred embodiment of
`the invention which proceeds with reference to the accom
`panying drawings.
`
`15
`
`4
`FIG. 11 shows the activity state machine for the activity
`instance manager for use with the workflow process Soft
`ware engine of FIG. 4.
`FIG. 12 shows the rule node instance state machine for the
`rule node instance manager for use with the workflow
`process Software engine of FIG. 4.
`DETAILED DESCRIPTION
`Workflow Process Management System
`FIG. 1 shows a block diagram of a workflow process
`management (WFPM) system 10 implemented in a network
`11 of computer Systems 12a-d coupled to a plurality of users
`14a–b and machines 15a-b for management and control of
`Workflow proceSS activities. Each computer System 12a-dis
`shown coupled with a single user 14a–b or machine 15a-b,
`but multiple users or machines or combinations thereof can
`also be employed. The WFPM system 10 is shown from an
`enterprise perspective with the control and coordination of
`each of the computer Systems 12a-d being accomplished by
`computer Software, preferably object-oriented Software,
`executed as a distributed application by the computer Sys
`tems 12a-d. Optionally, workflow process activity
`information, Such as resource data and rules, can be Stored
`in a database on a centralized WFPM server 17 which is
`accessible by the computer Systems 12a-d over the network
`11 or can be Stored in a plurality of databases on each of the
`computer Systems 12a-d. The computer Systems 12a-d and
`centralized WFPM server 17 conventionally include a
`processor, memory and input/output interface including net
`work communications facilities and user input and output
`devices.
`Each workflow proceSS 18 includes a Sequence of
`activities, each of which is ordinarily performed by one of
`the computer Systems 12a-d in conjunction with an associ
`ated user 14a–b or machine 15a-b, although some activities
`can be performed by microprocessor-controlled devices 16
`(one such device shown in FIG. 1, although multiple devices
`can be used), Such as a telephone or facsimile machine,
`printing device or Similar Self-controlling mechanism. In
`addition, each machine 15a-b can be a work instrument or
`computer resource.
`The workflow process 18 can span several business
`organizations (only one organization is shown in FIG. 1)
`with multiple activities potentially performed in parallel. In
`such cases, the WFPM system 10 acts as the “superstruc
`ture' that ties together disparate computer Systems 12a-d
`whose business purposes are interconnected. The WFPM
`system 10 provides procedural automation 13 of the work
`flow process 18 by managing the Sequence of process
`activities and the invocation of appropriate user 14a–b,
`machine 15a–b or microprocessor-controlled device 16
`resources associated with the various activity Steps.
`Workflow Process Specification
`The procedural automation 13 of the workflow process 18
`involves the high-level specification of individual work
`flows (examples shown in FIG. 3 and FIG. 7) which pro
`vides the operational “glue” and environment Support
`needed by the WFPM system 10 for managing and auto
`mating the workflow processes 18, recovering from failures
`and enforcing consistency. AS further described
`hereinbelow, the WFPM system 10 also enforces various
`administrative policies associated with resources and work.
`
`
`Ex.1017 / Page 13 of 22Ex.1017 / Page 13 of 22
`
`TESLA, INC.TESLA, INC.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of a process flow management
`System implemented in a network of computers coupled to
`a plurality of users and machines for management and
`control of workflow process activities performed by the
`users and machines.
`FIG. 2 is a block diagram of a hardware and Software
`machine for a typical node in the network of FIG. 1 showing
`the architecture of an example of process flow management
`middleware employing the present invention.
`FIG. 3 is a computer display of the user interface for the
`user of the machine of FIG. 2 to interact with the process
`flow management System, the display showing an example
`of a process flow diagram for a business process flow
`managed by the System.
`FIG. 4 is a block diagram of the preferred form of
`Workflow process Software engine that coordinates execu
`tion flow of the managed process.
`FIG. 5 is a block diagram of the system architecture with
`optional worklist handler and application data handler fea
`tures to enhance Scalability.
`FIG. 6 is a diagram showing management function layers
`provided by busineSS process flow management using the
`system of FIGS. 1-5 for the example of management of a
`telecommunications network.
`FIG. 7 is a process definition diagram for configuration
`management of the telecommunications network in the
`example of FIG. 6.
`FIG. 8 shows, by way of example, a workflow process
`Specified via the workflow process definition interface using
`the proceSS design modules shown in FIG. 2.
`FIG. 9 shows the process state machine for the process
`instance manager for use with the workflow process Soft
`ware engine of FIG. 4.
`FIG. 10 shows the work node instance state machine for
`the work node instance manager for use with the workflow
`proceSS Software engine of FIG. 4.
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`6,041.306
`
`5
`
`15
`
`35
`
`60
`
`65
`
`25
`
`S
`The specific structure and flow of each workflow process
`18 managed by the WFPM system 10 can be preplanned or
`developed in an ad hoc fashion. For example, in a WFPM
`system 10 used for managing the workflow process 18 of
`providing telecommunications Services, Some aspects of the
`workflow process 18 are determined ad hoc and depend in
`part on the Services required by each individual customer.
`However, other aspects of the workflow process 18 can be
`preplanned and deliberately Structured. For instance, inde
`pendent from the individual Services required by a single
`customer, the workflow proceSS 18 always originates in the
`Sales department and typically ends in the billing depart
`ment. The parts of the workflow process 18 involving these
`departments can be preplanned.
`HP OpenPM
`FIG. 2 is a block diagram of a hardware and software
`machine for a typical node 12a in the network 11 of FIG. 1
`showing, by way of example, an architecture for WPFM
`middleware employing the present invention. An example of
`middleware Suitable for implementing the present invention
`is the Hewlett Packard (HP) OpenPM system. HP OpenPM
`is an open, enterprise-capable, object-oriented WFPM sys
`tem developed at Hewlett Packard Laboratories, Palo Alto,
`Calif., for managing proceSS activities that Support complex
`enterprise processes in a distributed, heterogeneous comput
`ing environment. The use of a WFPM system 10 imple
`mented in middleware represents a Substantial evolution
`over traditional workflow technologies. HP OpenPM pro
`vides a generic framework and complete Set of Services for
`Workflow process management using a middleware-based
`approach with an emphasis on performance, availability,
`Scalability and System robustness.
`Briefly, HP OpenPM provides an open system with a
`Workflow Management Coalition-standard interface.
`Second, it offerS high performance as a result of optimized
`database acceSS and commitment features. It also provides
`effective management when coupled with an HP OpenView
`40
`based System management environment. Finally, HP
`OpenPM presents a comprehensive solution for business
`re-engineering, including an extensive set of products.
`The overall architecture of the HP OpenPM system is
`depicted in FIG. 2. The core is the HP OpenPM engine 20,
`45
`which supports five interfaces. The interfaces enable the HP
`OpenPM engine 20 to interact with workflow process
`designer 22a-c, workflow process instance execution
`23a–b, workflow process monitor 24a-c, workflow man
`50
`agement 28a–C and business object management modules
`30, 31, 32, 33. In addition, worldwide web client support is
`provided by each individual network node 12a which can
`execute middleware modules expressed in platform
`independent languages, Such as Java Applets and HTML
`55
`code. An HP OpenPM database 21 is maintained on the
`centralized WFPM server 17 (shown in FIG. 1) for use by
`the HP OpenPM engine 20.
`A workflow proceSS 18 is specified by the process design
`modules 22a-c via the workflow process definition inter
`face. An instance of a workflow proceSS 18 can be started,
`controlled or Stopped by the proceSS instance execution
`modules 23a–b via the proceSS execution interface. Status
`information of each process instance and load information
`for the WFPM system 10 can be queried using the process
`Status monitor modules 24a–C via the process Status moni
`
`6
`toring interface. The workflow management interface is
`used to allocate, at run time, execution resources to a task,
`according to the policies defined by the organization
`(including authorization and authentication) and the avail
`ability of the resources using the workflow management
`modules 28a–c. Interaction with the external world, Such as
`invoking an application, controlling an instrument or deliv
`ering a work order to a person's electronic mail in-box, is
`performed by the various business object management mod
`ules 30, 31, 32, 33.
`HP OpenPM Process Model
`In general, a workflow proceSS 18 is a description of the
`Sequencing, timing, dependency, data, physical agent
`allocation, busineSS rule and organization policy enforce
`ment requirements of process activities needed to enact
`work. FIG.3 shows, by way of example, a workflow process
`18 which is represented as a directed graph 40 consisting of
`a Set of nodes connected by arcs as displayed on the HP
`OpenPM user interface.
`There are two kinds of nodes: work nodes 41, 43, 45, 46,
`48, 50, 52, 54, which are shown as squares, and rule nodes
`42, 44, 47, 49, 51,53,55, which are shown as circles. There
`are also two kinds of arcs, forward arcs and reset arcs. A
`work node has at most one inward arc and one or more
`outward arcs. A rule node can have any number of inward
`and outward arcs.
`Forward arcs represent the forward execution flow of
`process activities and form a directed acyclic graph 40.
`Successful completion of a node at the Source end of a
`forward arc triggers the Starting of the node at the destination
`end of the forward arc.
`Reset arcs are used to Support repetitions or explore
`alternatives in a workflow process 18. Reset arcs differ from
`forward arcs in that they reach backwards in the process
`graph.
`Work nodes 41, 43, 45, 46, 48, 50, 52, 54 represent
`activities to be performed external to the HP OpenPM
`engine 20. These activities include authorization, resource
`allocation, execution of business objects and provision of
`input data for the business objects and output data from
`them. Rule nodes 42, 44, 47, 49, 51, 53, 55 represent
`processing internal to the HP OpenPM engine 20. This
`processing includes decisions of about which nodes should
`execute next, generation or reception of events, and Simple
`data manipulation.
`A work node 41 is a placeholder for a process activity,
`which is a logical representation of a piece of work con
`tributing towards the accomplishment of a process 18. A
`process activity is mapped to the invocation of an operation
`on business objects during the execution of the proceSS and
`each process activity can represent a manual operation by a
`human or a computerizable task to execute legacy applica
`tions 30, 31, 32, 33 (shown in FIG. 2), access application
`databases 34a, 34b (also shown in FIG. 2), control
`instrumentation, Sense events in the external World or effect
`physical changes. A proceSS activity definition includes a
`forward activity and optionally, a compensation activity, a
`cancel activity, a workflow management activity, timeout
`and deadline information and input and output data.
`Rule nodes 42, 44, 47,49, 51, 53, 55 are used to specify
`Workflow processes 18 that are more complex than a simple
`Sequence. A rule language is used to program the rule node
`
`
`Ex.1017 / Page 14 of 22Ex.1017 / Page 14 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`6,041.306
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`7
`decision. When executed, a rule node 42 determines which
`outward arcs to fire based on the Status passed along the
`inward arcs, the time at which each inward arc is fired and
`proceSS-relevant data associated with the process instance.
`Rule nodes 42, 44, 47, 49, 51, 53, 55 are also used to
`Support events. A rule node 42 can raise events when certain
`conditions are met as defined by the rules and an event can
`activate rule nodes that have Subscribed to receive the event.
`Rule nodes 42, 44, 47, 49, 51, 53, 55 are executed each
`time any inward arc fires. Work nodes 41, 43, 45, 46,48, 50,
`52, 54 have states of initial or fired. When the inward arc is
`fired on a work node 41 in the initial state, the work node 41
`changes its State to active and performs or requests its
`associated activity. When the inward arc is fired on a work
`node 41 in a State other than the initial State, nothing is done.
`A reset arc, for example, between nodes 42–45, together
`with the forward arcs between its destination and Source,
`forms a loop. When traversed, a reset arc causes all nodes
`42-45 within its loop to be reset. Resetting a fired work node
`43 changes its state to initial so that the node 43 can be
`re-executed. Resetting an active work node 43 cancels the
`current execution of the corresponding proceSS activity and
`changes its State to initial.
`Associated with each workflow process 18, there is a
`process data template defined by a workflow process
`designer module 22a (shown in FIG. 2). The process data
`template is used to provide initial data for the creation of
`proceSS instances. At run time, based on the process data
`template and read/write lists of activities defined in a work
`flow process 18, HP OpenPM will generate a case packet for
`each proceSS instance to facilitate data passing between
`activities and the HP OpenPM engine 20.
`HP OpenPM Process Execution
`FIG. 4 is a block diagram of the preferred form of a
`workflow process software engine, such as the HP Open PM
`engine 20, that coordinates execution flow of the workflow
`processes 18. The HP OpenPM engine 20 functions as a
`highly reliable, log-based State machine which interfaces
`with external environments through a uniform CORBA
`based transport interface, independent of the actual physical
`dispatch of the requests.
`The HP OpenPM engine 20 launches workflow process
`instances in response to user requests. For each instance, the
`HP OpenPM engine 20 steps through the nodes in the
`directed graph 40 (examples shown in FIG. 3 and FIG. 7)
`according to the order Specified in its workflow proceSS
`definition. For work nodes, the HP OpenPM engine 20
`executes the associated process (forward) activity. For rule
`nodes, the HP OpenPM engine 20 evaluates the rules and
`performs the rule actions when the rule conditions are met.
`Each node transition is durably logged to facilitate for
`ward rolling of incomplete workflow processes 18 at System
`restart time in the event of a System failure or to facilitate a
`Support activity compensation process in the case of a
`process activity failure. In addition, the HP OpenPM engine
`20 allows flexible Specification of compensation Scopes and
`actions, Such as compensation activity or cancel activity to
`Support various application needs.
`In the HP OpenPM engine 20, different versions of similar
`workflow processes 18 are supported by the engine 20 under
`the concept of a process group. A user can designate a
`particular version as the default version to be used when no
`
`8
`Specific version is requested at the time a workflow process
`instance is created.
`To monitor the progreSS of running process activities and
`support system management, the HP OpenPM engine 20
`maintains a comprehensive log of all events using a log
`manager 70 and provides a native interface 79a as well as an
`SNMP 79b and CMIP 79c gateways to facilitate integration
`with the HP OpenView environment. The formats and
`contents of the logged information can be customized to
`Support Specific application needs.
`HP OpenPM Workflow Objects
`The HP OpenPM engine 20 has to interact with process
`activities Supported by various implementations encoun
`tered in real life. These activities can range from manual
`handling by users 14a–b to automated processes executed by
`computers 15a-b. An infrastructure is needed to enable the
`effective management and invocation of these process
`activities.
`Distributed object technologies have become the primary
`infrastructure for enterprise-Scale distributed computing.
`Among them, the OMG (Object Management Group)
`CORBA (Common Object Request Broker Architecture)
`technology has been developed to Support interoperability
`for application integration.
`Based on CORBA technology, in the HP OpenPM engine
`20, an abstraction called a business object 93a (shown in
`FIG. 5) is built to encapsulate whatever piece of work each
`process activity has to accomplish. The wrapping code
`provides an IDL (Interface Definition Language) interface.
`The business objects are catalogued by a database manager
`64 in the HP OpenPM business object library in business
`databases 94a–c (shown in FIG. 5). An object cache 75 is
`optionally used to optimize business object access.
`A business object 93a, as defined by the OMG, is a
`representation of Something active in the busineSS domain,
`including its busineSS name and definition, attributes, behav
`ior and constraints. It provides a uniform way to encapsulate
`legacy Systems and applications and a direct mapping, in
`understandable business terms, between the busineSS model
`and the possibly Sophisticated operational procedures of the
`Workflow process System.
`By representing these proceSS activities in busineSS
`objects 93a-c, new workflow processes 18 can be quickly
`created by assembling business objects 93a-c to describe
`workflow processes 18. The business object library avoids
`repetitive coding to tailor the process activity implementa
`tion to each individual workflow process 18.
`HP OpenPM Resource and Policy Management
`A resource is a perSon, computer process or machine that
`can be used to accomplish a task. A resource has a name and
`various attributes defining its characteristics, Such as job
`code, skill Set, organization unit and availability.
`A policy is a set of rules that determines how resources are
`related to tasks within a WFPM system 10. One common use
`is for task assignment. Policies can be used to specify which
`resource, under which role, is eligible or available to per
`form a task. Policies are also used to ensure proper autho
`rization and authentication.
`In HP OpenPM, the mapping between the process activity
`(task) specified in a workflow process 18 and the business
`object (resource) to be invoked is performed by the resource
`manager 28a (shown in FIG. 2) during run time as part of the
`
`
`Ex.1017 / Page 15 of 22Ex.1017 / Page 15 of 22
`
`TESLA, INC.TESLA, INC.
`
`
`
`6,041.306
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`9
`execution of the process activity. The HP OpenPM engine 20
`allows multiple resource managerS 28a–C to be used to
`resolve a single resource assignment request; each resolves
`the request at a different level within an organization.
`HP OpenPM Worklist and Application Data Handlers
`FIG. 5 is a block diagram of the system architecture of
`FIG. 2 with optional features to enhance scalability of HP
`OpenPM systems. Two optional components that can be
`added in



