×

Maintaining client affinity in network load balancing systems

  • US 8,046,467 B2
  • Filed: 08/29/2008
  • Issued: 10/25/2011
  • Est. Priority Date: 08/29/2008
  • Status: Active Grant
First Claim
Patent Images

1. A computer-readable storage medium comprising memory, optical recording media, magnetic recording media, or a combination thereof, the computer-readable storage medium storing computer-executable instructions, which when executed by a node perform steps, the node participating in a plurality of nodes that each receive same incoming packets and that each maintain a corresponding client affinity list and a corresponding set of currently assigned buckets, a client affinity list of a node identifying clients associated with that node, wherein any given client is allowed to be in only one affinity list at any given time, and wherein periodic load-rebalancings cause some buckets to be reassigned between nodes, the steps comprising:

  • servicing the set of buckets currently assigned to the node, wherein buckets are periodically added to and removed from the set of buckets currently assigned to the node when there are corresponding load-rebalancings of the plurality of nodes;

    receiving packets at the node from a source, the packets having also been received by another node; and

    for any given packet of the received packets, deciding whether to service the given packet, the given packet including client data that identifies a client that sent the given packet, anddeciding to service the given packet by determining that the given packet maps to a bucket in the set of buckets currently assigned to the node;

    when the given packet does not map to a bucket in the set of buckets currently assigned to the node, deciding to service the given packet by using the client data in the given packet to determine that the client identified in the client data is present in the affinity list; and

    deciding to not service the given packet by determining that the client identified in the client data is not present in the affinity list and determining that the given bucket does not map to a bucket in the set of buckets currently assigned to the node.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×