JUST-IN-TIME WORKFLOW
First Claim
1. A method of dynamically constructing a distributed process engine comprising an ordered list of network services that forms an instance of a logical process for carrying out a task, wherein said services are drawn from a pool of heterogeneous network services, said method comprising the steps of:
- (a) providing a template comprising at least two constraints on network services forming said logical process instance;
(b) selecting and instantiating a first said service from said pool to said ordered list, depending on the first constraint in said template;
(c) identifying a subset of potential second services, by at least one of said first service, a member of said subset, and a third service, depending on a next constraint in said template;
(d) instantiating to said ordered list a second service from within said subset of potential second services based on detection of at least one of an event, a parameter, a status, and a constraint monitored by at least one of said first service, a member of said subset, and a fourth service; and
(e) repeating, if the template does not indicate construction is complete, steps (c), (d) and (e) with said second service as said first service.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are arrangements, referred to as just-in-time workflow (JITW) arrangements, which provide a decentralised process (900) for performing a sequence of tasks, in which individual network services successively identify (961), assemble (960) and execute (962) a chain of subsequent network services on the basis of their suitability to communicate over a network and to perform their associated tasks.
156 Citations
21 Claims
-
1. A method of dynamically constructing a distributed process engine comprising an ordered list of network services that forms an instance of a logical process for carrying out a task, wherein said services are drawn from a pool of heterogeneous network services, said method comprising the steps of:
-
(a) providing a template comprising at least two constraints on network services forming said logical process instance;
(b) selecting and instantiating a first said service from said pool to said ordered list, depending on the first constraint in said template;
(c) identifying a subset of potential second services, by at least one of said first service, a member of said subset, and a third service, depending on a next constraint in said template;
(d) instantiating to said ordered list a second service from within said subset of potential second services based on detection of at least one of an event, a parameter, a status, and a constraint monitored by at least one of said first service, a member of said subset, and a fourth service; and
(e) repeating, if the template does not indicate construction is complete, steps (c), (d) and (e) with said second service as said first service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for dynamically constructing a distributed process engine comprising an ordered list of network services that forms an instance of a logical process for carrying out a task, wherein said services are drawn from a pool of heterogeneous network services, said system comprising:
-
at least one memory module for storing a program; and
at least one processor for executing the program, said program comprising;
(a) code for providing a template comprising at least two constraints on network services forming said logical process instance;
(b) code for selecting and instantiating a first said service from said pool to said ordered list, depending on the first constraint in said template;
(c) code for identifying a subset of potential second services, by at least one of said first service, a member of said subset, and a third service, depending on a next constraint in said template;
(d) code for instantiating to said ordered list a second service from within said subset of potential second services based on detection of at least one of an event, a parameter, a status, and a constraint monitored by at least one of said first service, a member of said subset, and a fourth service; and
(e) code for repeating, if the template does not indicate construction is complete, steps (c), (d) and (e) with said second service as said first service.
-
-
21. A computer program product including a computer readable medium having recorded thereon a computer program for directing a processor to execute a method for dynamically constructing a distributed process engine comprising an ordered list of network services that forms an instance of a logical process for carrying out a task, wherein said services are drawn from a pool of heterogeneous network services, said program comprising:
-
(a) code for providing a template comprising at least two constraints on network services forming said logical process instance;
(b) code for selecting and instantiating a first said service from said pool to said ordered list, depending on the first constraint in said template;
(c) code for identifying a subset of potential second services, by at least one of said first service, a member of said subset, and a third service, depending on a next constraint in said template;
(d) code for instantiating to said ordered list a second service from within said subset of potential second services based on detection of at least one of an event, a parameter, a status, and a constraint monitored by at least one of said first service, a member of said subset, and a fourth service; and
(e) code for repeating, if the template does not indicate construction is complete, steps (c), (d) and (e) with said second service as said first service.
-
Specification