Patent ID: 8051421

Claim:
A system including instructions recorded on a computer-readable medium and executable by at least one processor, the system comprising: at least one processor; and a resource provisioning estimator including: a workflow manager configured to cause the at least one processor to obtain a first workflow path of a plurality of workflow paths in a Service Oriented Architecture, the first workflow path including a first external invocation node, a first group of service nodes, a first group of node connectors, and a first group of hardware nodes, wherein the first workflow path includes a first directed ordered path indicating a first ordering of a flow of execution of services associated with the first group of service nodes, from the first external invocation node, to one or more of the hardware nodes included in the first group of hardware nodes; a propagated workload engine configured to cause the at least one processor to determine an indicator of a first service node workload associated with a first service node included in the first workflow path based on: attribute values associated with the first service node, wherein the attribute values include a units of work value associated with an average amount of work the service associated with the first service node needs to execute for each invocation; and an indicator of a first propagated workload based on combining attribute values associated with the first external invocation node and one or more other service nodes or node connectors preceding the first service node in the first workflow path based on the ordering, wherein the attribute values associated with the first external invocation node include an invocation rate and the attribute values associated with the one or more other service nodes or node connectors preceding the first service node in the first workflow path include workload propagators, each of the workload propagators indicating the workload propagated from one service to another service as a result of the one service invoking the other service; and a provisioning engine configured to cause the at least one processor to provision the first service node onto a first hardware node included in the first group of hardware nodes based on combining the indicator of the first service node workload associated with the first service node and an indicator of a first current resource demand associated with the first hardware node.