Patent ID: 8150970

Claim:
A computer-implemented method comprising: receiving a plurality of requests from a plurality of applications for access to one of n server processes, where n is an integer greater than 1, the n server processes comprise n core processes executing on a server and each request is for work for an application requesting work from the server; receiving a selection of a point within a hosting hierarchy at which to distribute requests to the n server processes, wherein the hierarchy includes a plurality of hierarchical levels including a media server at a first level, one or more adaptors at a second level, one or more virtual hosts at a third level, one or more applications at a fourth level and one or more application instances at a fifth level, and wherein the selected point is one of the hierarchical levels; and for each of the plurality of requests: extracting a portion of an identifier based on the selected point in the hierarchy, wherein the identifier is associated with the request and corresponds to the application that made the request and wherein the identifier includes information to determine two or more hierarchical levels in the hosting hierarchy that will receive the work corresponding to the request and extracting a portion of the identifier comprises ignoring information in the identifier about hierarchical levels below the selected point in the hosting hierarchy; applying a mixing function to the portion of the identifier to generate a reproducible output representative of the identifier; applying a modulo operation to the output, where a dividend in the modulo operation is the output and a divisor in the modulo operation is n, to determine a remainder; and assigning the request to a server process from the n server processes in accordance with the remainder; wherein applying the mixing function, applying the modulo operation and assigning the request are performed by one or more programmable processors of one or more computers.