Patent ID: 6587866
Filing Date: 2003-07-01
Classification: H04L

Abstract:
A method of distributing packets to server nodes in a cluster of nodes, comprising the steps of:receiving a packet that is directed to a selected service supported by the cluster wherein the selected service can be provided by a plurality of nodes in the cluster; determining an appropriate server node based at least in part on whether the service designates client affinity, wherein the packet includes a source address with a first part and a second part and a destination address, wherein the step of determining an appropriate server node comprises the steps of: determining if the packet matches a service object; if a service object matches the packet, checking a load balancing policy type of the service object matched with the packet to see if there is a client affinity; if the service object matched with the packet indicates no client affinity, performing a function which is dependent on the second part of the source address and that maps the first part of the source address and the second part of the source address to an entry in a packet distribution table associated with the service object matched with the packet, the packet distribution table including entries containing identifiers for server nodes in the cluster of nodes; and if the service object matched with the packet indicates client affinity, performing a function which is independent of the second part of the source address and that maps the first part of the source address to an entry in a packet distribution table associated with the service object matched to the packet, the packet distribution table including entries containing identifiers for server nodes in the cluster of nodes; and passing the received packet to the appropriate server node.