Patent ID: 8726284

Claim:
A computer-implemented method in a request management component in one tier of a multi-tier system, the method comprising: chaining together a plurality of stages, each stage comprising a request queue and an invocation module, the request queue comprising multiple request groups, different assignments of multiple requests being made to each stage based on different criteria; receiving at a first stage, from a producer component in a previous tier of the multi-tier system, a request, of the multiple requests, to perform an operation on a backend service in a next tier of the multi-tier system; assigning at the first stage, based on one or more criteria, the request to one of one or more of multiple different request groups, the one or more criteria including characteristics of the producer component; selecting, at one or more successive stages after the first stage, requests from a previous stage in the chain based at least in part on one or more additional criteria comprising a quality of service associated with a user of the producer component; assigning selected requests to a respective request group in a successive stage of the one or more successive stages; invoking, at the successive stage, a next stage in the chain for the selected request; determining, at a final stage, based at least in part on both an execution policy associated with the one of multiple different request groups to which the request is assigned and an execution strategy, when to invoke the backend service for the request, the execution strategy having been changed from previous execution strategies used by the request management component based on statistics collected regarding execution of previous requests received from the producer component by multiple different instances of the request management component; and invoking, if quality of service terms for the producer component will be met, the backend service for the request, when it is determined that the backend service for the request is to be invoked, and otherwise rejecting the request, rejecting the request allowing the producer component to resubmit the request and have the request routed to one of the multiple different instances of the request management component.