Patent ID: 8924481
Filing Date: 2014-12-30
Classification: H04L

Abstract:
1. Apparatus for routing requests from a plurality of connected clients to a plurality of connected servers, comprising a processor, memory and a network interface, wherein said processor is configured to: run a plurality of identical processes, each process being for receiving requests and connecting each received request to a server, thereby creating a plurality of connections; maintain data in memory indicating, for each server, a maximum number of connections it can service, thereby defining a global maximum number of serviceable connections across said plurality of servers, such that at any time the number of available connections is determined by the difference between said global maximum and the number of connections; and when running one of said processes: maintain a queue of requests in memory, determine a number of queued requests that may be connected to a server, attempt to connect said number of queued requests; accept further requests, and if said queue is not empty, place said further requests in said queue, and if said queue is empty, attempt to connect said further requests; wherein said processor determines said number of queued requests that may be connected to a server in dependence upon the length of the queues of all the processes, queue length of said queue, and the number of available connections.