throbber
US006041306A
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket