← Back to Patent Explorer
US5937388A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for performing scalable distribution of process flow activities in a distributed workflow management system

Assignee: Hewlett Packard Development Co LP
•
Filing: 1997-03-21
•
Granted: 1999-08-10
•
Expires: 2017-03-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for performing scalable distribution of process flow activities in a distributed workflow management system is described. The distributed workflow management system operates over the computer network which includes a plurality of interconnected computers. Each computer includes a processor, memory and input/output facilities. A plurality of resources are each operatively coupled to at least one of the computers and execute at least one of the activities in the process flow. A process flow engine, including a database in which is stored data used in effecting each of the process flow activities, coordinates and schedules execution of the process flow activities on the resources. Bidirectional proxy components are operatively interposed between the process flow engine and the resources. The bidirectional proxy components include logic for handling application data for the resources, logic for handling worklists for access by the resources and logic for managing transport of messages between the process flow engine and each of the resources.

Inventors

  • 👤 James W. Davis
  • 👤 Weimin Du
  • 👤 Ming-Chien Shan
  • 👤 Nicolas Sheard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 10:10
CPC Classifications
G; G06; G06Q; G06Q10/00; G06Q10/06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5027; G06F9/5038; G06Q10/063; G06Q10/0631; G06Q10/06316; G06Q10/10; G06Q10/103

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 163 words
A system for performing scalable distribution of process flow activities in a distributed workflow management system, comprising: a computer network comprising a plurality of interconnected computers, each computer including a processor, memory and input/output facilities, the distributed workflow management system operating over the computer network; a plurality of resources which are each operatively coupled to at least one of the computers and execute at least one of the activities in the process flow; a process flow engine, including a database in which is stored data used in effecting each of the process flow activities, the process flow engine coordinating and scheduling execution of the process flow activities on the resources; and bidirectional proxy components operatively interposed between the process flow engine and the resources, the bidirectional proxy components comprising logic for handling application data for the resources, logic for handling worklists for access by the resources and logic for managing transport of messages between the process flow engine and each of the resources.
Claim 2
Independent Claim 163 words
A system for performing scalable distribution of process flow activities in a distributed workflow management system, comprising: a computer network comprising a plurality of interconnected computers, each computer including a processor, memory and input/output facilities, the distributed workflow management system operating over the computer network; a plurality of resources which are each operatively coupled to at least one of the computers and execute at least one of the activities in the process flow; a process flow engine, including a database in which is stored data used in effecting each of the process flow activities, the process flow engine coordinating and scheduling execution of the process flow activities on the resources; and bidirectional proxy components operatively interposed between the process flow engine and the resources, the bidirectional proxy components comprising logic for handling application data for the resources, logic for handling worklists for access by the resources and logic for managing transport of messages between the process flow engine and each of the resources.
Claim 3
Dependent Claim 49 words
A system according to claim 1, wherein the database of the process flow engine categorizes the data into process-specific data used in effecting the process flow, application-specific data used in effecting the process flow activities and process-relevant data used in effecting the process flow and the process flow activities.
Claim 4
Dependent Claim 99 words
A system according to claim 1, further comprising a generic database associated with the distributed workflow management system and whereby the logic for handling application data comprises a plurality of application data handler, each application data handler being associated with one of the resources, each application data handler comprising: means for accessing data stored in the generic database; means for augmenting the accessed data with data specific to the activity prior to the execution of the at least one process flow activity on the associated resource; and means for storing back changes in the data to the generic database.
Claim 5
Dependent Claim 64 words
A system according to claim 3, wherein the generic database comprises the database of the process flow engine, the means for accessing data further comprising means for accessing the data stored in the database of the process flow engine and the means for storing back changes further comprising means for storing back changes in the data to the database of the process flow engine.
Claim 6
Dependent Claim 61 words
A system according to claim 3, wherein the generic database comprises a further database substantially distinct from the database of the process flow engine, the means for accessing data further comprising means for accessing data stored in the further database and the means for storing back changes further comprising means for storing back changes in the data to the further database.
Claim 7
Dependent Claim 44 words
A system according to claim 3, the application data handler further comprising means for providing transactional semantics to a plurality of the process flow activities, the transactional semantics including means for obtaining data from the database of the process flow engine for each resource.
Claim 8
Dependent Claim 107 words
A system according to claim 1, whereby the logic for handling worklists for access by the resources comprises a plurality of worklist handlers, each worklist handler being associated with one of the resources, each worklist handler comprising: a queue of work to be performed by the resources in effecting the process flow activities, the process flow engine further comprising means for dispatching work requests to each work queue of the worklist handlers; an interface enabling each resource to interactively access the work queue of the associated worklist handler; and means for selecting the work to be performed by the resource to effect one such process flow activity.
Claim 9
Dependent Claim 91 words
A system according to claim 1, whereby the logic for managing transport of messages between the process flow engine and each of the resources comprises a plurality of transport managers, each transport manager being associated with one of the resources, each transport manager comprising: a first message interface between the process flow engine and the transport manager; a second message interface between the transport manager and each associated resource; and means for exchanging the messages between the flow process engine and each associated resource via the first and second message interfaces.
Claim 10
Independent Claim 185 words
A method for performing scalable distribution of process flow activities in a distributed workflow management system, the distributed workflow management system operating over a computer network comprising a plurality of interconnected computers and a plurality of resources, each computer including a processor, memory and input/output facilities, each resource operatively coupled to at least one of the computers and executing at least one of the activities in the process flow, the method comprising the steps of: coordinating and scheduling the execution of the process flow activities on the resources using a process flow engine, including storing data used in effecting each of the process flow activities in a database of the process flow engine; providing application data accessed from the database of the process flow engine to the resources using a application data handler interposed between the resources and process flow engine; managing worklists for access by the resources using a worklist handler interposed between the resources and process flow engine; and transporting messages between the process flow engine and each of the resources using a transport manager interposed between the resources and process flow engine.
Claim 11
Independent Claim 185 words
A method for performing scalable distribution of process flow activities in a distributed workflow management system, the distributed workflow management system operating over a computer network comprising a plurality of interconnected computers and a plurality of resources, each computer including a processor, memory and input/output facilities, each resource operatively coupled to at least one of the computers and executing at least one of the activities in the process flow, the method comprising the steps of: coordinating and scheduling the execution of the process flow activities on the resources using a process flow engine, including storing data used in effecting each of the process flow activities in a database of the process flow engine; providing application data accessed from the database of the process flow engine to the resources using a application data handler interposed between the resources and process flow engine; managing worklists for access by the resources using a worklist handler interposed between the resources and process flow engine; and transporting messages between the process flow engine and each of the resources using a transport manager interposed between the resources and process flow engine.
Claim 12
Dependent Claim 91 words
A method according to claim 9, further comprising the steps of: providing process-specific data used in effecting the process flow into the database of the process flow engine; providing application-specific data used in effecting the process flow activities into the database of the process flow engine; and providing process-relevant data used in effecting the process flow and the process flow activities into the database of the process flow engine, the step of handling application data using the application data handler further comprising augmenting the process-relevant data augmented with the application-specific data.
Claim 13
Dependent Claim 90 words
A method according to claim 9, wherein the distributed workflow management system further comprises a generic database and the step of providing application data further comprises the steps of: accessing data stored in the generic database; augmenting the accessed data with data specific to at least one such activity to be performed by one of the associated resources prior to the execution of the at least one process flow activity on the associated resource; and storing back changes in the data to the generic database upon completion of the execution.
Claim 14
Dependent Claim 60 words
A system according to claim 11, wherein the generic database comprises the database of the process flow engine, the step of accessing data further comprising accessing the data stored in the database of the process flow engine and the step of storing back changes further comprising storing back changes in the data to the database of the process flow engine.
Claim 15
Dependent Claim 57 words
A system according to claim 11, wherein the generic database comprises a further database substantially distinct from the database of the process flow engine, the step of accessing data further comprising accessing data stored in the further database and the step of storing back changes further comprising storing back changes in the data to the further database.
Claim 16
Dependent Claim 41 words
A method according to claim 11, further comprising the step of providing transactional semantics to a plurality of the process flow activities, the transactional semantics including means for obtaining data from the database of the process flow engine for each resource.
Claim 17
Dependent Claim 94 words
A method according to claim 9, wherein the step of managing worklists further comprises the steps of: maintaining a queue of work to be performed by the resources in effecting the process flow activities, the step of coordinating and scheduling further comprising dispatching work requests to each work queue of the worklist handlers using the process flow engine; accessing the work queue of the associated worklist handler interactively from each resource an interface on each worklist handler; and selecting the work to be performed by the resource to effect one such process flow activity.
Claim 18
Dependent Claim 64 words
A method according to claim 9, wherein the step of transporting messages further comprises the steps of: providing a first message interface between the process flow engine and the transport manager; providing a second message interface between the transport manager and each associated resource; and exchanging the messages between the flow process engine and each associated resource via the first and second message interfaces.
Claim 19
Independent Claim 202 words
A method for managing process flow activities in a distributed processing environment, each of the process flow activities comprising units of work performed by a resource operating within the distributed processing environment, the method comprising the steps of: coordinating the process flow activities using a process management engine operating on a computer system within the distributed processing enviromnment, the process management system identifying the work units to be performed; augmenting data maintained by the process management engine with further data specific to each such process flow activity using an application data handler functionally interposed between the process management engine and each such resource within the distributed processing enviromnment; maintaining a list of the work units using a worklist handler functionally interposed between the process management engine and each such resource within the distributed processing environment, the process management engine providing the work units list to the worklist handler and each such resource interactively selecting such work units from the work units list; and exchanging messages containing descriptions of the work units using a transport manager functionally interposed between the process management engine and each such resource within the distributed processing environment, each such resource interpreting the descriptions for the selected work units.
Claim 20
Independent Claim 202 words
A method for managing process flow activities in a distributed processing environment, each of the process flow activities comprising units of work performed by a resource operating within the distributed processing environment, the method comprising the steps of: coordinating the process flow activities using a process management engine operating on a computer system within the distributed processing enviromnment, the process management system identifying the work units to be performed; augmenting data maintained by the process management engine with further data specific to each such process flow activity using an application data handler functionally interposed between the process management engine and each such resource within the distributed processing enviromnment; maintaining a list of the work units using a worklist handler functionally interposed between the process management engine and each such resource within the distributed processing environment, the process management engine providing the work units list to the worklist handler and each such resource interactively selecting such work units from the work units list; and exchanging messages containing descriptions of the work units using a transport manager functionally interposed between the process management engine and each such resource within the distributed processing environment, each such resource interpreting the descriptions for the selected work units.
Claim 21
Dependent Claim 52 words
A method according to claim 17, wherein the step of augmenting data further comprises the steps of: processing an outbound message received from the process management engine for dispatch to one of the resources; and processing an inbound message received from one of the resources for dispatch to the process management engine.
Claim 22
Dependent Claim 157 words
A method according to claim 18, wherein the step of processing an outbound message further comprises the steps of: receiving the outbound message with a value list from the process management engine for dispatch to one of the resources, the value list comprising a destination address list, a source address list and program commands; identifying the program commands in the value list; executing the program commands against a data repository associated with one of the resources in the destination address list; augmenting the source address list with a return processing address if return trip processing of the outbound message is required; omitting or adding an alternate processing address if return trip processing is not required; removing a first element from the destination address list to thereby form a new first element in the destination address list; and forwarding the message to one of the resources as determined by the new first element in the destination address list.
Claim 23
Dependent Claim 141 words
A method according to claim 18, wherein the step of processing an inbound message further comprises the steps of: receiving the inbound message with a value list from the process management engine for dispatch to one of the resources, the value list comprising a destination address list, a source address list and program commands; identifying the program commands in the value list; executing the program commands against a data repository associated with one of the resources in the destination address list; applying required updates against the data repository associated with one of the resources in the destination address list; removing a first element from the destination address list to thereby form a new first element in the destination address list; and forwarding the message to one of the resources as determined by the new first element in the destination address list.
Claim 24
Dependent Claim 96 words
A method according to claim 18, wherein the step of processing an inbound message further comprises the steps of: receiving the inbound message with a value list from the process management engine for dispatch to one of the resources, the value list comprising a destination address list, a source address list and program commands; removing a first element from the destination address list to thereby form a new first element in the destination address list; and forwarding the message to one of the resources as determined by the new first element in the destination address list.
Claim 25
Dependent Claim 51 words
A method according to claim 17, wherein the step of maintaining a list of work units further comprises the steps of: processing an outbound message received from the process management engine for dispatch to one of the resources; and checking a claim from one of the resources against the outbound message.
Claim 26
Dependent Claim 100 words
A method according to claim 19, wherein the step of processing an outbound message further comprises the steps of: receiving the outbound message with a value list from the process management engine for dispatch to one of the resources, the value list comprising a destination address list, a source address list and program commands; parsing the value list for a destination claim; validating the destination claim for the worklist handler against the work units identified by the process management engine; and storing the outbound message in the worklist handler using the claim as an index to the stored outbound message.
Claim 27
Dependent Claim 95 words
A method according to claim 19, wherein the step of checking a claim further comprises the steps of: receiving a client message with a claim list from a client corresponding to one of the resources; validating the claim list with a security service associated with the worklist handler against outbound messages stored in the worklist handler; identifying available messages in the worklist handler matching the client claims, each of the matching available messages having an index corresponding to one of the client claims; and supplying the client resource with a list of validly claimable messages.
Claim 28
Dependent Claim 31 words
A method according to claim 17, wherein the step of exchanging messages further comprises the step of processing a message, the message comprising either an outbound message or an inbound message.
Claim 29
Dependent Claim 107 words
A method according to claim 23, wherein the step of exchanging messages further comprises the steps of: receiving the message with a value list from the process management engine for dispatch to one of the resources, the value list comprising a destination address list, a source address list and program commands; augmenting the source address list associated with the message with a return processing address; removing a first element from the destination address list to thereby form a new first element in the destination address list; and forwarding the message to one of the resources as determined by the new first element in the destination address list.

References Cited (Backward Citations)

US5546571A Cited
US5072401A Cited
US5287501A Cited
US5627764A Cited
US5412806A Cited
US5408470A Cited
US5675785A Cited
US5809507A Cited
US5787437A Cited
US5826239A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-09 2003-02-08 2003-08-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-09 2007-02-08 2007-08-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-09 2011-02-08 2011-08-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag