Patent US2748385A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5960404A Expired / Lapsed US ⏱️ 0.0 years remaining

Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation

Assignee: International Business Machines Corp
•
Filing: 1997-08-28
•
Granted: 1999-09-28
•
Expires: 2017-08-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A mechanism for heterogeneous, peer-to-peer, and disconnected workflow execution across a network infrastructure. Performer Agent entities provide a homogeneous view of humans, applications, and heterogeneous workflow systems and components that act as Performers on the network by executing Tasks. Source Agent entities provide a homogeneous view of heterogeneous service requesters such as workflow scripts executing on different workflow systems, which generate Activities that need to execute on Performers as Tasks. Task Request and Task Response messages are used to standardize the communication between Source Agents and Performer Agents, along with other messages for controlling and queuing Tasks. Workflow systems interact with each other as peers using this mechanism by sending workflow execution requests, workflow script templates, and workflow execution environments to each other. Disconnected operation is handled by ensuring the continuous availability of Source Agents and Performer Agents on the network and providing a mechanism for Sources to disconnect from Source Agents and Performers to disconnect from Performer Agents.

Inventors

  • 👤 Jarir K. Chaar
  • 👤 Brent T. Hailpern
  • 👤 Edwin S. Park
  • 👤 Santanu Paul

Bibliographic Details

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

Claims Analysis

Total Claims: 51
Claim 1
Independent Claim 135 words
A computer system for workflow operation with heterogeneous components, comprising: a. sources, representing heterogeneous service requesters, capable of generating service requests; b. activities, representing units of work generated within said sources; c. performers, representing heterogeneous service providers, capable of performing said service requests and generating service responses; d. tasks, representing units of work executing within said performers in response to incoming service requests, such that each task is uniquely associated with an activity within a source; e. source agents that act as proxies of said sources; f. performer agents that act as proxies of said performers; g. task request and task response messages, used to transmit service requests and service responses between said source agents and performer agents; h. a continuously available network to which said source agents and said performer agents are always connected.
Claim 2
Dependent Claim 135 words
A computer system for workflow operation with heterogeneous components, comprising: a. sources, representing heterogeneous service requesters, capable of generating service requests; b. activities, representing units of work generated within said sources; c. performers, representing heterogeneous service providers, capable of performing said service requests and generating service responses; d. tasks, representing units of work executing within said performers in response to incoming service requests, such that each task is uniquely associated with an activity within a source; e. source agents that act as proxies of said sources; f. performer agents that act as proxies of said performers; g. task request and task response messages, used to transmit service requests and service responses between said source agents and performer agents; h. a continuously available network to which said source agents and said performer agents are always connected.
Claim 3
Dependent Claim 37 words
The system of claim 1, wherein each source comprises: a. means for generating and issuing said service requests for said activities; b. means for receiving said service responses; c. a connection to its own unique source agent.
Claim 4
Dependent Claim 40 words
The system of claim 1, wherein each performer comprises: a. means for receiving said service requests; b. means for performing service requests as said tasks; c. means for generating service responses; d. a connection to its own unique performer agent.
Claim 5
Dependent Claim 88 words
The system of claim 2, wherein sources can comprise one or more of the group consisting of: a. a workflow script specified as a control and data-flow graph, a set of rules, or means executing on a centralized workflow server; b. a custom workflow program written in a standard programming language that implements a specific process by generating service requests in a sequence; c. a workflow-aware human agent implementing a specific process by generating service requests in a sequence; d. a long-running collaborative application that generates service requests.
Claim 6
Dependent Claim 69 words
The system of claim 3, wherein performers can comprise one or more of the group consisting of: a. a human participant; b. an automated application, including a database, a gateway, or a program or electronic device for receiving inputs and generating outputs; c. a workflow server; d. an organization, business unit; e. an intermediary application that receives activities from said source agents and dispatches the activities to performer agents.
Claim 7
Dependent Claim 102 words
The system of claim 1, wherein said task request represents a service request to a performer agent, comprising: a. activity ID, a unique, unchangeable identifier assigned by an originator source agent that identifies a specific activity in said source that caused the service request; b. source agent reference, a unique reference to the originator source agent of the activity, which can be used by a performer agent to identify the originator source agent; c. task details, which contain information about the exact type of task to be created on the performer and the input parameters required to create and start the task.
Claim 8
Dependent Claim 67 words
The system of claim 6, wherein said task request further can comprise one or more of the group consisting of: a. status information of said task request; b. annotations that provide an informal description of said task request; c. information about priority of said task request; d. information about deadlines on said task request; e. a detailed history or log of the routing of said task request.
Claim 9
Dependent Claim 103 words
The system of claim 1, wherein said task response represents a service response to a source agent, comprising: a. activity ID, which uniquely identifies an activity in said source to which the response corresponds; b. source agent reference, a unique reference to said source agent that generated the task request; c. performer agent reference, a unique reference to said performer agent which handled the task request; d. task ID, a unique identifier of the task executed on said performer; e. task result details, which contain information about the exact type of task executed on the performer and the outputs generated for the task.
Claim 10
Dependent Claim 59 words
The system of claim 8, wherein said task response further can compromise one or more of the group consisting of: a. annotations that provide an informal description of said task response; b. status information which describes if the task was completed correctly, failed, or was forwarded; c. a detailed history or log of the routing of said task response.
Claim 11
Dependent Claim 63 words
The system of claim 1, wherein each source agent comprises: a. a continuous connection to said network; b. a task response handler component, for receiving and handling said task responses over said network on behalf of its source; c. a task request dispatcher component, which generates said task requests from said service requests and dispatches them to said performer agents via said network.
Claim 12
Dependent Claim 60 words
The system of claim 1, wherein each performer agent comprises: a. a continuous connection to said network; b. a task request handler component, for receiving and handling task requests over said network for its performer; c. a task response dispatcher component, which constructs said task responses from said service responses and returns them to said source agents via said network.
Claim 13
Dependent Claim 22 words
The system of claim 11, wherein said performer agent is a client to its performer, which is an automated application or server.
Claim 14
Dependent Claim 42 words
The system of claim 11, wherein said performer agent is a worklist which is a persistent store of arriving task requests, and its performer is a human or application accessing it via a pull client application resident on a connected computing device.
Claim 15
Dependent Claim 55 words
The system of claim 13, wherein said pull client application comprises a user interface, comprising: a. means for being notified by the performer agent about the arrival of new task requests on the worklist; b. means for explicitly refreshing the content of the worklist; c. means for downloading specific task requests from the performer agent.
Claim 16
Dependent Claim 32 words
The system of claim 11, wherein said performer agent is a push server that pushes arriving task requests to its performer via a push client application residing on a connected computing device.
Claim 17
Dependent Claim 140 words
The system of claim 11, wherein a performer agent further can comprise one or more of the group consisting of: a. means for enabling said source agents on said network to request a listing of the capabilities and services available on a performer; b. means for enabling authorized source agents on said network to request that a task currently in progress be aborted; c. means for enabling authorized source agents on said network to request that a task currently in progress be suspended; d. means for enabling authorized source agents on said network to request that a task currently in suspension be resumed; e. means for enabling authorized source agents on said network to request the status of a task request; f. means for enabling authorized source agents on said network to request the current workload on the performer agent.
Claim 18
Dependent Claim 78 words
The system of claim 1, further comprising a directory means comprising: a. means for registering location information of said performer agents; b. means for registering service capabilities of said performer agents; c. means for mediating between service requirements of said source agents and the service capabilities of said performer agents; d. means for enabling said source agents to retrieve location information of matching performer agents subsequent to mediation; e. means for unregistering location information of said performer agents.
Claim 19
Dependent Claim 20 words
The system of claim 13, further comprising worklist servers on which said worklists are created and managed on said network.
Claim 20
Dependent Claim 52 words
The system of claim 1, wherein said network comprises: a. a network means, comprising one or more of the group consisting of a LAN, WAN, Internet, Intranet, Extranet and wireless network; b. a communication means, comprising one or more of the group consisting of electronic mail, TCP/IP sockets, RPC, HTTP, and IIOP.
Claim 21
Dependent Claim 38 words
The system of claim 11, wherein a performer agent further comprises means for acting as an intermediary, role, or group, by receiving said task requests from said source agents and dispatching said task requests to said performer agents.
Claim 22
Dependent Claim 30 words
The system of claim 13, further comprising means for enabling multiple performers to share a single performer agent which is a worklist, thus providing the functionality of a shared worklist.
Claim 23
Dependent Claim 52 words
The system of claim 10, further comprising means for enabling multiple sources to re-use a single source agent, comprising: a. source identifiers that can be used by said source agent to resolve each source; b. a mapping of each task response to its corresponding activity and said source by the source agent.
Claim 24
Dependent Claim 87 words
The system of claim 1, further comprising a workflow specification environment, comprising: a. means for enabling a human workflow designer to create a workflow script by graphical specification as a template and store it in a workflow template repository; b. means for enabling a human workflow designer/administrator to create an instance of a source and its source agent by instantiating a template from the workflow template repository; c. means for enabling a human workflow designer/administrator to monitor the execution of said source, and modify the specification graphically.
Claim 25
Dependent Claim 139 words
A computer system for peer-to-peer workflow operation between workflow systems, comprising: a. sources, representing instances of executing workflows that represent processes such as data and control flow graphs, sets of rules, or other custom programs; b. activities, representing units of work generated within said sources; c. performers, representing instances of workflow systems; d. tasks, representing units of work executing within said performers in response to service requests, such that each task is uniquely associated with an activity within a source; e. source agents that act as proxies of said sources; f. performer agents that act as proxies of said performers; g. task request and task response messages, used to transmit service requests and service responses between said source agents and performer agents; h. a continuously available network to which said source agents and said performer agents are always connected.
Claim 26
Dependent Claim 139 words
A computer system for peer-to-peer workflow operation between workflow systems, comprising: a. sources, representing instances of executing workflows that represent processes such as data and control flow graphs, sets of rules, or other custom programs; b. activities, representing units of work generated within said sources; c. performers, representing instances of workflow systems; d. tasks, representing units of work executing within said performers in response to service requests, such that each task is uniquely associated with an activity within a source; e. source agents that act as proxies of said sources; f. performer agents that act as proxies of said performers; g. task request and task response messages, used to transmit service requests and service responses between said source agents and performer agents; h. a continuously available network to which said source agents and said performer agents are always connected.
Claim 27
Dependent Claim 85 words
The system of claim 24, wherein each performer comprises: a. a connection to its own unique performer agent; b. a local repository of workflow script templates; c. means for receiving execution requests for workflow script execution via its performer agent; d. means for creating said workflow scripts from said local repository in response to said execution requests; e. means for execution of said workflow scripts on a local workflow execution environment; f. means for returning the results of said workflow script execution to said sources.
Claim 28
Dependent Claim 48 words
The system of claim 24, wherein each source comprises: a. a connection to its own unique source agent; b. means for generating requests for workflow script executions on remote performers; c. means for receiving the results of workflow script executions on said remote performers, via its source agent.
Claim 29
Dependent Claim 114 words
The system of claim 24, wherein said task request represents a service request to a performer agent, comprising: a. activity ID, a unique, unchangeable identifier assigned by an originator source agent that identifies a specific activity in said source that caused the service request; b. source agent reference, a unique reference to said originator source agent of the activity, which can be used by a performer agent to identify the originator source agent; c. task details, which contain a request for a workflow script template available in the local repository of said performer to be instantiated and executed on said performer, and input data required for the creation and execution of said workflow script.
Claim 30
Dependent Claim 67 words
The system of claim 27, wherein said task request further can comprise one or more of the group consisting of: a. status information of said task request; b. annotations that provide an informal description of said task request; c. information about priority of said task request; d. information about deadlines on said task request; e. a detailed history or log of the routing of said task request.
Claim 31
Dependent Claim 24 words
The system of claim 28, wherein task details further comprise the workflow script template that is to be instantiated and executed on said performer.
Claim 32
Dependent Claim 27 words
The system of claim 29, wherein task details further comprise a portable workflow execution environment that is required to execute said workflow script downloaded on said performer.
Claim 33
Dependent Claim 100 words
The system of claim 24, wherein said task response represents a service response to a source agent, comprising: a. activity ID, which uniquely identifies an activity in said source to which the response corresponds; b. source agent reference, a unique reference to said source agent that generated the task request; c. performer agent reference, a unique reference to said performer agent which handled the task request; d. task ID, a unique identifier of the task executed on said performer; e. task result details, which contain information about the exact type of task executed on the performer and the outputs generated.
Claim 34
Dependent Claim 59 words
The system of claim 31, wherein said task response further can comprise one or more of the group consisting of: a. annotations that provide an informal description of said task response; b. status information which describes if the task was completed correctly, failed, or was forwarded; c. a detailed history or log of the routing of said task response.
Claim 35
Dependent Claim 63 words
The system of claim 24, wherein each source agent comprises: a. a continuous connection to said network; b. a task response handler component, for receiving and handling said task responses over said network on behalf of its source; c. a task request dispatcher component, which generates said task requests from said service requests and dispatches them to said performer agents via said network.
Claim 36
Dependent Claim 59 words
The system of claim 24, wherein each performer agent comprises: a. a continuous connection to said network b. a task request handler component, for receiving and handling task requests for its performer; c. a task response dispatcher component, which constructs said task responses from said service responses and returns the task responses to the source agents via said network.
Claim 37
Dependent Claim 64 words
The system of claim 33, wherein a single source agent can be utilized by multiple sources, and comprising: a. means for said task request dispatcher to receive service requests from multiple sources and post them as task requests to appropriate performer agents; b. means for said task response handler to return service responses to appropriate sources based on the origin of the service request.
Claim 38
Dependent Claim 52 words
The system of claim 24, wherein said network comprises: a. a network means, comprising one or more of the group consisting of a LAN, WAN, Internet, Intranet, Extranet and wireless network; b. a communication means, comprising one or more of the group consisting of electronic mail, TCP/IP sockets, RPC, HTTP and IIOP.
Claim 39
Dependent Claim 163 words
A computer system for workflow operation with disconnected or occasionally connected components, comprising: a. sources, representing heterogeneous service requestors, capable of generating service requests; b. activities, representing units of work generated within said sources; c. performers, representing heterogeneous service providers, capable of performing said service requests and generating service responses; d. tasks, representing units of work executing within said performers in response to service requests, such that each task is uniquely associated with an activity within a source; e. source agents that act as proxies of said sources; f. performer agents that act as proxies of said performers; g. task request and task response messages, used to transmit service requests and service responses between said source agents and performer agents; h. a continuously available network to which said source agents and said performer agents are always connected; i. an occasionally available source-side network between said source and said source agent; j. an occasionally available performer-side network between said performer and said performer agent.
Claim 40
Dependent Claim 163 words
A computer system for workflow operation with disconnected or occasionally connected components, comprising: a. sources, representing heterogeneous service requestors, capable of generating service requests; b. activities, representing units of work generated within said sources; c. performers, representing heterogeneous service providers, capable of performing said service requests and generating service responses; d. tasks, representing units of work executing within said performers in response to service requests, such that each task is uniquely associated with an activity within a source; e. source agents that act as proxies of said sources; f. performer agents that act as proxies of said performers; g. task request and task response messages, used to transmit service requests and service responses between said source agents and performer agents; h. a continuously available network to which said source agents and said performer agents are always connected; i. an occasionally available source-side network between said source and said source agent; j. an occasionally available performer-side network between said performer and said performer agent.
Claim 41
Dependent Claim 54 words
The system of claim 37, wherein each source comprises: a. means for generating and issuing said service requests for said activities; b. means for receiving said service responses; c. a connection to its own unique source agent; d. a mechanism for connecting with and disconnecting from its own source agent over said source-side network.
Claim 42
Dependent Claim 57 words
The system of claim 37, wherein each performer comprises: a. means for receiving said service requests; b. means for performing service requests as said tasks; c. means for generating service responses; d. a connection to its own unique performer agent; e. a mechanism for connecting with and disconnecting from its own performer agent over said performer-side network.
Claim 43
Dependent Claim 102 words
The system of claim 37, wherein said task request represents a service request to a performer agent, comprising: a. activity ID, a unique, unchangeable identifier assigned by an originator source agent that identifies a specific activity in said source that caused the service request; b. source agent reference, a unique reference to the originator source agent of the activity, which can be used by a performer agent to identify the originator source agent; c. task details, which contain information about the exact type of task to be created on the performer and the input parameters required to create and start the task.
Claim 44
Dependent Claim 67 words
The system of claim 40, wherein said task request further can comprise one or more of the group consisting of: a. status information of said task request; b. annotations that provide an informal description of said task request; c. information about priority of said task request; d. information about deadlines on said task request; e. a detailed history or log of the routing of said task request.
Claim 45
Dependent Claim 103 words
The system of claim 37, wherein said task response represents a service response to a source agent, comprising: a. activity ID, which uniquely identifies an activity in said source to which the response corresponds; b. source agent reference, a unique reference to said source agent that generated the task request; c. performer agent reference, a unique reference to said performer agent which handled the task request; d. task ID, a unique identifier of the task executed on said performer; e. task result details, which contain information about the exact type of task executed on the performer and the outputs generated on the task.
Claim 46
Dependent Claim 59 words
The system of claim 42, wherein said task response further can comprise one or more of the group consisting of: a. annotations that provide an informal description of said task response; b. status information which describes if the task was completed correctly, failed, or was forwarded; c. a detailed history or log of the routing of said task response.
Claim 47
Dependent Claim 123 words
The system of claim 37, wherein each source agent comprises: a. a continuous connection to said network; b. means for potential disconnected operation from its source, comprising, i. means for accepting connection requests from said associated source via said source-side network, ii. means for accepting disconnect requests from its source, iii. a task response queue component, for receiving and temporarily storing said task responses over said network, iv. a task response handler component, for receiving and handling said task responses over said network on behalf of its source, and returning them to said source when it is connected, v. a task request dispatcher component, which generates said task requests from said service requests and dispatches them to said performer agents via said network.
Claim 48
Dependent Claim 118 words
The system of claim 37, wherein each performer agent comprises: a. a continuous connection to said network; b. means for potential disconnected operation from its performer, comprising, i. means for accepting connection requests from said performer via said performer-side network, ii. means for accepting disconnect requests from said performer, iii. a task request queue component, for an authorized source agent to send a task request over said network and for temporarily storing the incoming task requests, iv. a task request handler component, for receiving and handling task requests for its said performer, v. a task response dispatcher component, which constructs said task responses from said service responses and returns them to the originating source agent via said network.
Claim 49
Dependent Claim 52 words
The system of claim 37, wherein said network comprises: a. a network means, comprising one or more of the group consisting of a LAN, WAN, Internet, Intranet, Extranet and wireless network; b. a communication means, comprising one or more of the group consisting of electronic mail, TCP/IP sockets, RPC, HTTP and IIOP.
Claim 50
Dependent Claim 46 words
The system of claim 37, wherein said source-side network comprises: a. a network means, comprising one or more of the group consisting of a LAN, WAN, Internet, Intranet, Extranet and wireless network; b. a communication means such as electronic mail, TCP/IP sockets, RPC, HTTP and IIOP.
Claim 51
Dependent Claim 53 words
The system of claim 37, wherein said performer-side network comprises: a. a network means, comprising one or more of the group consisting of a LAN, WAN, Internet, Intranet, Extranet and wireless network; b. a communication means, comprising one or more of the group consisting of electronic mail, TCP/IP sockets, RPC, HTTP and IIOP.

References Cited (Backward Citations)

US5535322A Cited
US5721913A Cited
US5721912A Cited
US5826020A Cited
US5802493A Cited
WO1997007472A1 Cited
US5809265A Cited
US5828375A Cited
DE19712946A1 Cited
US5819263A 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-09-27 2003-03-29 2003-09-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-27 2007-03-29 2007-09-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-27 2011-03-29 2011-09-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag