×

Method, system, and computer program product for optimizing runtime branch selection in a flow process

  • US 8,984,259 B2
  • Filed: 11/04/2008
  • Issued: 03/17/2015
  • Est. Priority Date: 11/04/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method for optimizing runtime branch selection in a flow process of an enterprise service bus of a service-oriented architecture, comprising:

  • gathering, by a runtime branch collector, performance metrics of flow branch behavior for executed flows in a runtime system of the enterprise service bus of the service-oriented architecture over a period of time;

    passing the performance metrics for the flow branch behavior from the runtime branch collector to a global runtime metric collector, the global runtime metric collector comprising a central repository for containing performance metrics for a plurality of types of flows and flow branches as routes of messages in the runtime system of the enterprise service bus;

    using, by a global runtime branch switch director, the performance metrics for the flow branch behavior from the global runtime metric collector to determine an optimal ordering of branches for a currently running flow of the enterprise service bus of the service-oriented architecture, comprising;

    identifying a branch point in the currently running flow by the global runtime branch switch director, the branch point having two or more branches that are taken from the branch point according to a branch ordering;

    generating all ordering permutations, by the global runtime branch switch director, for at least a portion of the branches in the branch point for the currently running flow and identifying any permutations that have not been executed from the ordering permutations;

    gathering metrics, by the runtime branch collector, for at least one permutation of the branch point in the currently running flow;

    comparing the metrics to performance metrics of executed flows having substantially similar flow branch behavior by searching the global runtime metric collector for similar flows; and

    identifying, by the global runtime branch switch director, optimal branch ordering for the permutation based upon the comparison and data associated between the two or more branches; and

    executing the flow, by a flow engine, according to the optimal branch ordering as directed by the global runtime branch switch director such that a runtime branch switch of the flow engine is directed with the optimal branch ordering at each branch encountered.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×