Patent ID: 7840674

Claim:
A method for routing requests over a network having at least one client and a plurality of servers, the requests including idempotent and non-idempotent requests, to ensure that non-idempotent requests are processed, the method comprising: maintaining a list of servers from the plurality of servers, wherein each server in the list of servers is marked a status of available or unavailable; wherein a server that has successfully processed a previous request is marked as available; and wherein a server that either does not respond to a client request or did not process a previous request is marked as unavailable; marking a server that last indicated successful processing of a request from a client as a last available server in the list of servers; determining a type of a subsequent request; responsive to the subsequent request being a non-idempotent request, routing the subsequent non-idempotent request exclusively to the server marked as the last available server; and responsive to the subsequent request being an idempotent request, routing the subsequent request to an available server using at least one algorithm for server selection, the algorithm selected from the group consisting of: a random selection, round robin selection, and least recently used selection.