Patent ID: 7680848

Claim:
A method to be executed at least in part in a computing device for handling client requests in a multi-tenant environment, the method comprising: receiving a request from a client, wherein each client is associated with at least one organization; determining whether the request is for synchronous processing; if the request is for synchronous processing, handling the request at a receiving server and providing a response to the requesting client; if the request is for asynchronous processing: determining which organization database is applicable for the request; placing the request in a queue associated with the organization database; when an asynchronous server becomes available for the request in the queue, enabling the asynchronous server to pull the request from the queue, wherein a group of asynchronous servers and a group of organization databases interact in a distributed manner; enabling the client to poll at a later time to check a progress of asynchronous processing; and reassigning another asynchronous server to the organization database in response to a failure at the original asynchronous server such that handling of the request is recovered.