Patent ID: 7925755

Claim:
A method for allocating resources for a transaction, comprising: under control of a downstream resource provider controller on a computer having a processor, subscribing to at least one message posted on a resource event bulletin board by an upstream resource provider controller, wherein the messages notify the downstream resource provider controller of resource allocation events, wherein the resource allocation events occur when there is a change in resource allocation, wherein the downstream resource provider controller is downstream of the upstream resource provider controller for the transaction, and wherein the transaction sequentially uses resources from the upstream resource provider controller and the downstream resource provider controller; under control of the upstream resource provider controller on the computer, receiving performance metrics for a transaction; determining whether one or more service level objectives are being violated based on the received performance metrics; in response to determining that the one or more service level objectives are being violated, allocating additional resources to the transaction; and in response to allocating the additional resources, publishing a resource allocation event to the resource event bulletin board; and under control of the downstream resource provider controller, receiving a message that provides notification of the resource allocation event that indicates that there has been a resource allocation change by the upstream resource provider controller; determining whether resources are to be reallocated based on resource allocation performed by the upstream resource provider controller; in response to determining that resources are to be reallocated, allocating additional resources to the transaction based on the resource allocation performed by the upstream resource provider; and publishing a new resource allocation event, wherein another resource provider controller that provides resources for the transaction is downstream of the downstream resource provider controller and receives a message that provides notification of the resource allocation event that indicates that there has been a resource allocation change by the downstream resource provider controller.