Patent ID: 6667980
Filing Date: 2003-12-23
Classification: H04L

Abstract:
A method for distributing packets to server nodes in a cluster of nodes in order to provide at least one service, the method comprising:receiving a packet at an interface node in the cluster of nodes, the packet including a source address specifying a location of a client that the packet originated from, and a destination address specifying a service provided by the cluster of nodes; mapping the source address to an entry in a packet distribution table, the packet distribution table including entries containing identifiers for server nodes in the cluster of nodes, wherein mapping the source address includes using a hash function that maps different source addresses to different entries in the packet distribution table in a substantially random manner, wherein the hash function always maps a given source address to the same entry in the packet distribution table, and wherein a policy for distributing packets between server nodes in the cluster of nodes is enforced by varying a number of entries in the packet distribution table for each server node so that a server node with more entries receives packets more frequently than a server node with fewer entries; retrieving an identifier specifying a server node from the entry in the packet distribution table; and forwarding the packet to the server node specified by the identifier so that the server node can perform the service for the client specified by the destination address.