Patent ID: 7844635
Filing Date: 2010-11-30
Classification: G06Q,Y10S

Abstract:
1. A computer program product in a computer readable storage medium for traversing a directed graph for selecting services of a business process for execution, the computer program product comprising: first instructions that read a directed graph comprising a plurality of nodes and a plurality of edges, wherein each of the plurality of nodes is representative of a business service, and each of the plurality of edges links two related nodes of the plurality of nodes, wherein each of the plurality of edges has a respective weight assigned thereto that defines a service preference; second instructions that, responsive to the first instructions reading the directed graph, select a first subset of the plurality of nodes, wherein the first subset includes a first start node; third instructions that, responsive to the second instructions selecting the first subset, traverse edges of the plurality of edges that link the first start node with other nodes of the first subset by evaluating weights assigned to the edges; fourth instructions that select another node of the other nodes; responsive to the fourth instructions selecting the another node, repeating, by the third and fourth instructions, the traversing step and the selecting another node step from the another node until a predefined number of nodes including a last node have been selected; fifth instructions that select a second subset of the plurality of nodes, wherein the second subset includes the last node; and repeating, by the third and fourth instructions, the traversing step and the selecting another node step for the second subset of the plurality of nodes beginning from the last node; sixth instructions that record state data of each node encountered by the third instructions during the traversing step; seventh instructions that monitor the state data for a state data change of a node that exceeds a threshold; and eighth instructions that, responsive to the seventh instructions identifying the state data change, return processing to the third instructions to repeat the traversing step beginning from the node having the state data change, wherein the sixth instructions remove any nodes that have been selected after the node having the state data change from the record.