← Back to Patent Explorer
US6667975B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Port aggregation load balancing

Assignee: Cisco Technology Inc
•
Filing: 2002-09-19
•
Granted: 2003-12-23
•
Expires: 2022-09-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Provided are methods, apparatuses and systems for balancing the load of data transmissions through a port aggregation. The methods and apparatuses of the present invention allocate port assignments based on load, that is, the amount of data being forwarded through each port in the group. The load balancing of the present invention is preferably dynamic, that is, packets from a given stream may be forwarded on different ports depending upon each port's current utilization. When a new port is selected to transmit a particular packet stream, it is done so that the packets cannot be forwarded out of order. This is preferably accomplished by ensuring passage of a period of time sufficient to allow all packets of a given stream to be forwarded by a port before a different port is allocated to transmit packets of the same stream. The invention may be used in a variety of different network environments and speeds, including 10Base-T, 100Base-T, and Gigabit Ethernet, and other network environments.

Inventors

  • 👤 Gregory L. DeJager
  • 👤 James R. Rivers
  • 👤 David H. Yen
  • 👤 Stewart Findlater
  • 👤 Scott A. Emery

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 16:12
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/13; H04L47/11; H04L47/12; H04L47/125; H04L49/00; H04L49/90; H04L49/9084; H04L49/9089; H04L49/9094

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 104 words
A method of distributing traffic over a network port group, comprising: receiving a packet of data to be forwarded; determining a stream ID for said packet; determining whether a prior packet having the stream ID has been distributed to a queue for a port of the group during a predetermined time interval; where a prior packet having the stream ID for the packet has not been distributed to a queue of a port in the group during the predetermined time interval, allocating the packet to a queue for a port having a lesser load in its queue than any other port of the group.
Claim 2
Independent Claim 104 words
A method of distributing traffic over a network port group, comprising: receiving a packet of data to be forwarded; determining a stream ID for said packet; determining whether a prior packet having the stream ID has been distributed to a queue for a port of the group during a predetermined time interval; where a prior packet having the stream ID for the packet has not been distributed to a queue of a port in the group during the predetermined time interval, allocating the packet to a queue for a port having a lesser load in its queue than any other port of the group.
Claim 3
Dependent Claim 42 words
The method of claim 1 , further comprising: where a prior packet having the stream ID for the packet has been distributed to a queue for a port of the group during the predetermined time interval, allocating the packet to said queue.
Claim 4
Dependent Claim 43 words
The method of claim 2 , further comprising: reallocating the stream ID to a less utilized queue for another port of the port group when a packet having the stream ID has not been distributed to the queue during the predetermined time interval.
Claim 5
Dependent Claim 22 words
The method of claim 1 , further comprising monitoring the port group queues to maintain proper identification of the least utilized queue.
Claim 6
Dependent Claim 23 words
The method of claim 1 , wherein said stream ID determination for said packet comprises hashing and masking an address for said packet.
Claim 7
Dependent Claim 14 words
The method of claim 5 , wherein said hashed and masked address is 6-bits.
Claim 8
Dependent Claim 87 words
A network switch, comprising: a port group; a system for distributing network traffic among ports of the port group, comprising, a mechanism for determining a stream ID for a packet and assigning the packet having the stream ID to a queue of a port of the port group, and a mechanism for adjusting a queue assignment of a subsequent packet having the stream ID to a queue of a different port of the port group based on load in the queues of the ports of the group.
Claim 9
Dependent Claim 87 words
A network switch, comprising: a port group; a system for distributing network traffic among ports of the port group, comprising, a mechanism for determining a stream ID for a packet and assigning the packet having the stream ID to a queue of a port of the port group, and a mechanism for adjusting a queue assignment of a subsequent packet having the stream ID to a queue of a different port of the port group based on load in the queues of the ports of the group.
Claim 10
Dependent Claim 90 words
The switch of claim 7 , wherein the mechanism for determining a stream ID and assigning the packet having the stream ID to a queue for a port of the port group comprises: a hashing and masking mechanism for determining a stream ID for the packet; a pair of time mark registers for determining whether another packet having the stream ID has been distributed to a queue for a port of the group during a time interval; and a stream state table for storing stream IDs with corresponding queue assignments.
Claim 11
Dependent Claim 46 words
The switch of claim 7 , wherein the adjusting mechanism comprises: a least utilized queue register for maintaining proper identification of a least utilized queue; and a pair of queue mark registers for determining whether a queue for a port of the port group is current.
Claim 12
Dependent Claim 17 words
The switch of claim 9 , further comprising a clock for timing a load balance time interval.
Claim 13
Dependent Claim 20 words
The switch of claim 10 , wherein said load balance time interval is less than about 1 millisecond in duration.
Claim 14
Dependent Claim 111 words
A network switch, comprising: one or more links for providing a packet of data to be forwarded; a mechanism for determining a stream ID for said packet; a mechanism for determining whether a prior packet having the stream ID has been distributed to a queue for a port of the group during a predetermined time interval; a mechanism for allocating the packet to a queue for a port having a lesser load in its queue than any other port of the group, where a prior packet having the stream ID for the packet has not been distributed to a queue of a port in the group during the predetermined time interval.
Claim 15
Dependent Claim 111 words
A network switch, comprising: one or more links for providing a packet of data to be forwarded; a mechanism for determining a stream ID for said packet; a mechanism for determining whether a prior packet having the stream ID has been distributed to a queue for a port of the group during a predetermined time interval; a mechanism for allocating the packet to a queue for a port having a lesser load in its queue than any other port of the group, where a prior packet having the stream ID for the packet has not been distributed to a queue of a port in the group during the predetermined time interval.
Claim 16
Dependent Claim 45 words
The switch of claim 12 , further comprising: a mechanism for allocating the packet to a queue where a prior packet having the stream ID for the packet has been distributed to said queue for a port of the group during the predetermined time interval.
Claim 17
Dependent Claim 25 words
The switch of claim 12 , further comprising a mechanism for monitoring the port group queues to maintain proper identification of the least utilized queue.
Claim 18
Dependent Claim 23 words
The switch of claim 12 , wherein said mechanism for stream ID determination for said packet comprises an address hashing and masking mechanism.
Claim 19
Independent Claim 98 words
A method of distributing traffic over a network port group, comprising: receiving network traffic at a port group; distributing the network traffic among ports of the port group, comprising, determining a stream ID for a packet of the network traffic and assigning the packet having the stream ID to a queue of a port of the port group, and adjusting a queue assignment of a subsequent packet of the network traffic having the stream ID to a queue of a different port of the port group based on load in the queues of the ports of the group.
Claim 20
Independent Claim 98 words
A method of distributing traffic over a network port group, comprising: receiving network traffic at a port group; distributing the network traffic among ports of the port group, comprising, determining a stream ID for a packet of the network traffic and assigning the packet having the stream ID to a queue of a port of the port group, and adjusting a queue assignment of a subsequent packet of the network traffic having the stream ID to a queue of a different port of the port group based on load in the queues of the ports of the group.
Claim 21
Dependent Claim 125 words
A network switch, comprising: a port group; a system for distributing network traffic among ports of the port group, comprising, means for receiving a packet of data to be forwarded via the port group; means for determining a stream ID for said packet; means for determining whether a prior packet having the stream ID has been distributed to a queue for a port of the group during a predetermined time interval; where a prior packet having the stream ID for the packet has not been distributed to a queue of a port in the group during the predetermined time interval, means for allocating the packet to a queue for a port having a lesser load in its queue than any other port of the group.
Claim 22
Dependent Claim 125 words
A network switch, comprising: a port group; a system for distributing network traffic among ports of the port group, comprising, means for receiving a packet of data to be forwarded via the port group; means for determining a stream ID for said packet; means for determining whether a prior packet having the stream ID has been distributed to a queue for a port of the group during a predetermined time interval; where a prior packet having the stream ID for the packet has not been distributed to a queue of a port in the group during the predetermined time interval, means for allocating the packet to a queue for a port having a lesser load in its queue than any other port of the group.
Claim 23
Dependent Claim 44 words
The switch of claim 17 , further comprising: where a prior packet having the stream ID for the packet has been distributed to a queue for a port of the group during the predetermined time interval, means for allocating the packet to said queue.
Claim 24
Dependent Claim 24 words
The switch of claim 17 , further comprising: means for monitoring the port group queues to maintain proper identification of the least utilized queue.
Claim 25
Dependent Claim 45 words
The switch of claim 19 , further comprising: means for reallocating the stream ID to a less utilized queue for another port of the port group when a packet having the stream ID has not been distributed to the queue during the predetermined time interval.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-12-22 2007-06-23 2007-12-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-12-22 2011-06-23 2011-12-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-12-22 2015-06-23 2015-12-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag