IP Library Patent Application 13404785
Patent Application
App. No. 13/404,785

Hash-Based Load Balancing with Flow Identifier Remapping

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/404,785
Abstract

Methods and apparatus for improving hash-based load balancing using flow identifier remapping are disclosed. The node-based remapping of flow identifiers introduces additional information into the hash function by injecting new values into the hash key on a per node basis. The methods and apparatus described herein perform a remapping operation on a fixed per-flow attribute such as one or more packet fields. Upon receipt of a packet, a set of the packet fields is selected as a hash key. From these selected packet fields, one or more fields are selected and remapped using a remapping operation. A transformed hash key is formed using the one or more remapped values along with other packet fields. The transformed hash key is then presented as an input to an arbitrary hash function. The hash function generates a hash value that is then used for path selection.

Claims (50)

1 . A method for improving hash function performance in a network device, comprising:

receiving, at the network device, a data packet having a plurality of fields;

selecting a first set of fields from the data packet as a hash key;

selecting a first field from the first set of fields, the first field having a value;

transforming the value of the first field to a transformed value;

replacing, in the hash key, the value of the first field with the transformed value to create a transformed hash key; and

generating a hash value, in a hash module, using the transformed hash key as input.

2 . The method of claim 1 , wherein transforming the value of the first field to a transformed value includes:

generating an index into a flow identifier remapping table; and

retrieving a value stored in the flow identifier remapping table using the index, wherein the retrieved value is the transformed value of the first field.

3 . The method of claim 2 , wherein generating the index into the flow identifier remapping table includes:

assigning the value of the first field as the index into the flow identifier remapping table.

4 . The method of claim 2 , wherein generating the index into the flow identifier remapping table includes:

receiving the first field in an index generation function; and

generating the index by applying an arbitrary function to the first field.

5 . The method of claim 4 , wherein the arbitrary function is a hash function.

6 . The method of claim 1 , further comprising:

selecting a path in a plurality of paths using the hash value.

7 . The method of claim 6 , wherein selecting the path includes:

applying a modulo function to the hash value.

8 . The method of claim 2 , further comprising:

prior to receiving the data packet,

initializing the flow identifier remapping table using a seed value.

9 . The method of claim 8 , wherein the seed value is unique for the network device.

10 . The method of claim 8 , wherein the seed value is generated in the network device.

11 . A computer program product comprising a non-transitory computer useable medium having computer program logic recorded thereon, the computer control logic when executed by a processor enabling the processor to process packet data according to a method, the method comprising:

selecting a first set of fields from a received data packet as a hash key;

selecting a first field from the first set of fields, the first field having a value;

transforming the value of the first field to a transformed value;

replacing, in the hash key, the value of the first field with the transformed value to create a transformed hash key; and

generating a hash value, in a hash module, using the transformed hash key as input.

12 . The computer program product of claim 11 , wherein transforming the value of the first field to a transformed value includes:

generating an index into a flow identifier remapping table; and

retrieving a value stored in the flow identifier remapping table using the index, wherein the retrieve value is the transformed value of the first field.

13 . The computer program product of claim 12 , wherein generating the index into the flow identifier remapping table includes:

assigning the value of the first field as the index into the flow identifier remapping table.

14 . The computer program product of claim 12 , wherein generating the index into the flow identifier remapping table includes:

receiving the first field in an index generation function; and

generating the index by applying an arbitrary function to the first field.

15 . The computer program product of claim 14 , wherein the arbitrary function is a hash function.

16 . The computer program product of claim 11 , further comprising:

selecting a path in a plurality of paths using the hash value.

17 . The computer program product of claim 16 , wherein selecting the path includes:

applying a modulo function to the hash value.

18 . The computer program product of claim 12 , further comprising:

prior to receiving the data packet,

initializing the flow identifier remapping table using a seed value.

19 . The computer program product of claim 18 , wherein the seed value is unique for the network device.

20 . The computer program product of claim 18 , further comprising:

generating the seed value.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2012
From: MATTHEW, BRAD; AGARWAL, PUNEET
To: BROADCOM CORPORATION
Reel/Frame 027760/0231 →