Patent CH184693A successfully refreshed from Google Patents.
Patent JPS5220388A successfully refreshed from Google Patents.
Patent US5959968A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5959968A Expired / Lapsed US ⏱️ 0.0 years remaining

Port aggregation protocol

Assignee: Cisco Technology Inc
•
Filing: 1997-07-30
•
Granted: 1999-09-28
•
Expires: 2017-07-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A port aggregation protocol (PAGP) dynamically aggregates redundant links between two neighboring devices in a computer network through the exchange of aggregation protocol data unit (AGPDU) frames between the two devices. Each AGPDU frame contains a unique identifier corresponding to the device sourcing the frame and a port number corresponding to the port through which the frame is forwarded. The exchange of AGPDU frames and the information contained therein allows the neighboring devices to identify those ports corresponding to the redundant links. Each device then dynamically aggregates its ports corresponding to the redundant links into a logical aggregation port (agport) which appears as a single, high-bandwidth port or interface to other processes executing on the device.

Inventors

  • 👤 Hon Wah Chin
  • 👤 Michael Fine
  • 👤 Norman W. Finn
  • 👤 Richard J. Hausman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 08:07
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/46; H04L12/4604; H04L45/00; H04L45/24; H04L45/247; H04L45/02

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 147 words
A method of aggregating a plurality of redundant links connecting corresponding physical ports of neighboring devices in a computer network, the method comprising the steps of: generating an aggregation protocol data unit (AGPDU) at each of two or more physical ports of a first neighboring devices, each AGPDU including a unique identifier corresponding to the first neighboring device and a port number associated with the respective physical port; forwarding each AGPDU through the respective physical port for receipt by one or more neighboring devices at corresponding physical ports; based on the information contained in AGPDUs received at a second neighboring device, determining whether two or more physical ports are directly coupled to two or more physical ports at the first neighboring device by respective redundant links; and aggregating the two or more physical ports directly coupled to the first neighboring device into a single, logical aggregation port.
Claim 2
Independent Claim 147 words
A method of aggregating a plurality of redundant links connecting corresponding physical ports of neighboring devices in a computer network, the method comprising the steps of: generating an aggregation protocol data unit (AGPDU) at each of two or more physical ports of a first neighboring devices, each AGPDU including a unique identifier corresponding to the first neighboring device and a port number associated with the respective physical port; forwarding each AGPDU through the respective physical port for receipt by one or more neighboring devices at corresponding physical ports; based on the information contained in AGPDUs received at a second neighboring device, determining whether two or more physical ports are directly coupled to two or more physical ports at the first neighboring device by respective redundant links; and aggregating the two or more physical ports directly coupled to the first neighboring device into a single, logical aggregation port.
Claim 3
Dependent Claim 62 words
The method of claim 1 wherein the step of determining includes the steps of: storing the information contained in the AGPDUs received at each physical port of the second neighboring device in an associated memory; and reviewing the stored information for each physical port to thereby determine whether the two or more physical ports are directly coupled to the first neighboring device.
Claim 4
Dependent Claim 116 words
The method of claim 2 further comprising the steps of: generating one or more AGPDUs at a physical port of the second neighboring device, each AGPDU including a unique identifier corresponding to the second neighboring device and a port number associated with the respective physical port; forwarding each AGPDU through the respective physical port at the second neighboring device for receipt by the first neighboring device; and in response to receiving an AGPDU from the second neighboring device at a given physical port of the first neighboring device, loading the unique identifier and the port number from the received AGPDU into AGPDUs subsequently generated and forwarded through the given physical port of the first neighboring device.
Claim 5
Dependent Claim 26 words
The method of claim 3 wherein the first neighboring device repeatedly and periodically performs the steps of generating and forwarding an AGPDU through each physical port.
Claim 6
Dependent Claim 59 words
The method of claim 4 further comprising the steps of: generating at least one AGPDU at an aggregated physical port, the AGPDU including an aggregate port number corresponding to the aggregation port to which the physical port is aggregated; and forwarding the AGPDU with the aggregate port number through the aggregated physical port for receipt by the neighboring device.
Claim 7
Dependent Claim 71 words
The method of claim 5 wherein one or more AGPDUs generated at the first and second neighboring devices further include a group number associated with a particular configuration of the respective physical port on which the one or more AGPDUs is forwarded and the step of aggregating further includes the step of matching the group number of AGPDUs sent and received at the corresponding physical ports of the second neighboring device.
Claim 8
Dependent Claim 34 words
The method of claim 6 further comprising the step of presenting the single, logical aggregation port to one or more processes executing at the second neighboring device in place of the aggregated physical ports.
Claim 9
Dependent Claim 36 words
The method of claim 7 wherein the step of determining occurs after sufficient time in which to receive at least one AGPDU from each neighboring device connected to the physical ports of the second neighboring device.
Claim 10
Dependent Claim 46 words
The method of claim 8 further comprising the step of releasing a physical port from an aggregation port, in response to subsequently receiving an AGPDU having a unique identifier corresponding to a device other than the device to which the physical port had been directly coupled.
Claim 11
Dependent Claim 67 words
The method of claim 9 further comprising the steps of: after the step of storing the information in a received AGPDU in the associated memory, setting a timer having a preselected time-out; resetting the timer corresponding to stored information in response to the receipt of a subsequent AGPDU having the same information; and erasing the stored information from the associated memory in response to the corresponding time-out.
Claim 12
Dependent Claim 65 words
The method of claim 10 wherein the steps of generating and forwarding AGPDUs through a given physical port are repeated less frequently in response to receiving no AGPDUs through the given port for a preselected period of time and further wherein the steps of generating and forwarding AGPDUs are resumed at an original rate in response to receiving an AGPDU through the given physical port.
Claim 13
Independent Claim 124 words
A device for use in a computer network, the device comprising: a plurality of physical ports for use in connecting the device to neighboring devices; means for receiving aggregation protocol data units (AGPDUs) generated and forwarded by the neighboring devices at two or more of the physical ports, each AGPDU containing a unique identifier corresponding to the neighboring device that generated the AGPDU and a port number associated with the port through which the AGPDU was forwarded; means for determining whether two or more of the physical ports are directly coupled to the same neighboring device, based on the information contained in the received AGPDUs; and means for aggregating physical ports singularly coupled to the same neighboring device into a single, logical aggregation port.
Claim 14
Independent Claim 124 words
A device for use in a computer network, the device comprising: a plurality of physical ports for use in connecting the device to neighboring devices; means for receiving aggregation protocol data units (AGPDUs) generated and forwarded by the neighboring devices at two or more of the physical ports, each AGPDU containing a unique identifier corresponding to the neighboring device that generated the AGPDU and a port number associated with the port through which the AGPDU was forwarded; means for determining whether two or more of the physical ports are directly coupled to the same neighboring device, based on the information contained in the received AGPDUs; and means for aggregating physical ports singularly coupled to the same neighboring device into a single, logical aggregation port.
Claim 15
Dependent Claim 52 words
The device of claim 12 wherein the means for determining includes a memory associated with each physical port for storing the information in received AGPDUs and means for reviewing the information contained in the memory to thereby determine whether two or more physical ports are directly coupled to the same neighboring device.
Claim 16
Dependent Claim 76 words
The device of claim 13 further comprising: means for generating at least one AGPDU at two or more of the physical ports of the device, each AGPDU including a unique identifier corresponding to the device and a port number associated with the physical port through which the AGPDU is to be forwarded; and means for forwarding each AGPDU through the respective physical port of the device for receipt by one or more of the neighboring devices.
Claim 17
Dependent Claim 138 words
An aggregation data protocol unit (AGPDU) for use in aggregating a plurality or redundant links connecting corresponding physical ports of first and second neighboring devices of a computer network into a single, logical aggregation port, the AGPDU generated and forwarded by the first neighboring device and stored in a memory associated with the second neighboring device, the AGPDU comprising: a first field containing a unique identifier corresponding to the first neighboring device; a second field containing a value associated with the physical port through which the AGPDU is forwarded and to which a respective redundant link may be coupled; a third field that may contain a unique identifier corresponding to the second neighboring device; and a fourth field that may contain a value associated with the physical port through which the AGPDU is received at the second device.
Claim 18
Dependent Claim 138 words
An aggregation data protocol unit (AGPDU) for use in aggregating a plurality or redundant links connecting corresponding physical ports of first and second neighboring devices of a computer network into a single, logical aggregation port, the AGPDU generated and forwarded by the first neighboring device and stored in a memory associated with the second neighboring device, the AGPDU comprising: a first field containing a unique identifier corresponding to the first neighboring device; a second field containing a value associated with the physical port through which the AGPDU is forwarded and to which a respective redundant link may be coupled; a third field that may contain a unique identifier corresponding to the second neighboring device; and a fourth field that may contain a value associated with the physical port through which the AGPDU is received at the second device.
Claim 19
Dependent Claim 27 words
The AGPDU of claim 15 further comprising a fifth field containing a value associated with the number of neighboring devices to which the physical port is connected.
Claim 20
Dependent Claim 36 words
The AGPDU of claim 16 further comprising one or more additional fields containing information associated with a particular data forwarding scheme to be utilized upon aggregation of the physical port through which the AGPDU is forwarded.
Claim 21
Dependent Claim 19 words
The AGPDU of claim 17 further comprising a sixth field containing a value associated with the corresponding aggregation port.
Claim 22
Dependent Claim 27 words
The AGPDU of claim 18 further comprising a seventh field containing a value identifying a particular configuration of the physical port through which the AGPDU is forwarded.
Claim 23
Dependent Claim 30 words
The AGPDU of claim 19 further comprising an eighth field configured to carry information relating to one or more filtering rules to be implemented by the device receiving the AGPDU.
Claim 24
Dependent Claim 30 words
The AGPDU of claim 20 further comprising a ninth field configured to carry information relating to one or more pre-sorting techniques to be implemented by the device receiving the AGPDU.
Claim 25
Dependent Claim 155 words
A computer readable medium containing executable program instructions for aggregating a plurality of redundant links connecting corresponding physical ports of neighboring devices in a computer network, the executable program instructions comprising program instructions for; generating an aggregation protocol data unit (AGPDU) at each of two or more physical ports of a first neighboring device, each AGPDU including a unique identifier corresponding to the first neighboring device and a port number associated with the respective physical port; forwarding each AGPDU through the respective physical port for receipt by one or more neighboring devices at corresponding physical ports; based on the information contained in AGPDUs received at a second neighboring device, determining whether two or more physical ports are directly coupled to two or more physical ports at the first neighboring device by respective redundant links; and aggregating the two or more physical ports directly coupled to the first neighboring device into a single, logical aggregation port.
Claim 26
Dependent Claim 155 words
A computer readable medium containing executable program instructions for aggregating a plurality of redundant links connecting corresponding physical ports of neighboring devices in a computer network, the executable program instructions comprising program instructions for; generating an aggregation protocol data unit (AGPDU) at each of two or more physical ports of a first neighboring device, each AGPDU including a unique identifier corresponding to the first neighboring device and a port number associated with the respective physical port; forwarding each AGPDU through the respective physical port for receipt by one or more neighboring devices at corresponding physical ports; based on the information contained in AGPDUs received at a second neighboring device, determining whether two or more physical ports are directly coupled to two or more physical ports at the first neighboring device by respective redundant links; and aggregating the two or more physical ports directly coupled to the first neighboring device into a single, logical aggregation port.
Claim 27
Dependent Claim 66 words
The computer readable medium of claim 22 wherein the program instructions for determining further comprise program instructions for: storing the information contained in the AGPDUs received at each physical port of the second neighboring device in an associated memory; and reviewing the stored information for each physical port to thereby determine whether the two or more physical ports are directly coupled to the first neighboring device.
Claim 28
Dependent Claim 118 words
The computer readable medium of claim 23 further comprising program instuctions for: generating one or more AGPDUs at a physical port of the second neighboring device, each AGPDU including a unique identifier corresponding to the second neighboring device and a port number associated with the respective physical port; forwarding each AGPDU through the respective physical port at the second neighboring device for receipt by the first neighboring device; and in response to receiving an AGPDU from the second neighboring device at a given physical port of the first neighboring device, loading the unique identifier and the port number from the received AGPDU into AGPDUs subsequently generated and forwarded through the given physical port of the first neighboring device.
Claim 29
Dependent Claim 35 words
The method of claim 7 further comprising the step of balancing network traffic, that is to be forwarded from the single agport at the second neighboring device, over the two or more constituent physical ports.
Claim 30
Dependent Claim 34 words
The device of claim 13 further comprising means for balancing network traffic, that is to be forwarded from the single agport at the second neighboring device, over the two or more constituent physical ports.
Claim 31
Dependent Claim 197 words
An intermediate network device for use in forwarding messages in a computer network, the computer network including one or more devices configured to transmit aggregation protocol data unit (AGPDU) messages, each AGPDU message carrying a device identifier and a port identifier that correspond to the device transmitting the AGPDU and the port through which the AGPDU is transmitted, the intermediate network device comprising: a plurality of physical ports in communicating relationship with the one or more AGPDU-capable devices; a plurality of aggregation state machine engines, each engine associated with a corresponding physical port and configured to capture and process AGPDU messages received at the corresponding physical port; and a partner table associated with and accessible by each aggregation state machine engine, wherein, in response to receiving an AGPDU message from a first neighboring device at a first physical port, the corresponding aggregation state machine engine copies at least the device and port identifiers from the received AGPDU message into the corresponding partner table, and further wherein the corresponding aggregation state machine engine queries the partner tables associated with the other physical ports to determine whether other physical ports have received AGPDU messages from the first neighboring device.
Claim 32
Dependent Claim 197 words
An intermediate network device for use in forwarding messages in a computer network, the computer network including one or more devices configured to transmit aggregation protocol data unit (AGPDU) messages, each AGPDU message carrying a device identifier and a port identifier that correspond to the device transmitting the AGPDU and the port through which the AGPDU is transmitted, the intermediate network device comprising: a plurality of physical ports in communicating relationship with the one or more AGPDU-capable devices; a plurality of aggregation state machine engines, each engine associated with a corresponding physical port and configured to capture and process AGPDU messages received at the corresponding physical port; and a partner table associated with and accessible by each aggregation state machine engine, wherein, in response to receiving an AGPDU message from a first neighboring device at a first physical port, the corresponding aggregation state machine engine copies at least the device and port identifiers from the received AGPDU message into the corresponding partner table, and further wherein the corresponding aggregation state machine engine queries the partner tables associated with the other physical ports to determine whether other physical ports have received AGPDU messages from the first neighboring device.
Claim 33
Dependent Claim 56 words
The intermediate network device of claim 27 further wherein, in response to determining that two or more physical ports at the intermediate network device are directly coupled to the first neighboring device, the aggregation state machine engines corresponding to the two or more physical ports aggregate their corresponding physical ports into a single, logical aggregation port.
Claim 34
Dependent Claim 82 words
The intermediate network device of claim 28 further comprising a port table associated with and accessible by each aggregation state machine engine, each port table including a device identifier corresponding to the intermediate network device and a port identifier for the corresponding physical port, wherein each aggregation state machine engine is further configured to generate one or more AGPDU messages having the identifiers from its associated port table and to forward the one or more AGPDU messages from its corresponding physical port.
Claim 35
Dependent Claim 199 words
An intermediate network device for use in forwarding messages in a computer network, the computer network including one or more devices capable of transmitting aggregation protocol data unit (AGPDU) messages containing information, the intermediate network device comprising: a plurality of physical ports in communicating relationship with the one or more AGPDU-capable devices; and a plurality of aggregation state machine engines, each engine associated with a corresponding physical port and configured to capture and process AGPDU messages received at the corresponding physical port and to transition the physical port among one of idle, transmission, linked, available and aggregated states, in response to the receipt of AGPDU messages and the information contained therein, wherein the idle state corresponds to a physical port unable to transmit network traffic, the linked state corresponds to a physical port able to transmit network traffic, the linked state corresponds to the receipt of one or more AGPDU messages at the respective physical port, the available state corresponds to the physical port being directly coupled to a neighboring device and the aggregated state corresponds to the respective physical port being aggregated with one or more other physical ports that are directly coupled to the same neighboring device.
Claim 36
Dependent Claim 199 words
An intermediate network device for use in forwarding messages in a computer network, the computer network including one or more devices capable of transmitting aggregation protocol data unit (AGPDU) messages containing information, the intermediate network device comprising: a plurality of physical ports in communicating relationship with the one or more AGPDU-capable devices; and a plurality of aggregation state machine engines, each engine associated with a corresponding physical port and configured to capture and process AGPDU messages received at the corresponding physical port and to transition the physical port among one of idle, transmission, linked, available and aggregated states, in response to the receipt of AGPDU messages and the information contained therein, wherein the idle state corresponds to a physical port unable to transmit network traffic, the linked state corresponds to a physical port able to transmit network traffic, the linked state corresponds to the receipt of one or more AGPDU messages at the respective physical port, the available state corresponds to the physical port being directly coupled to a neighboring device and the aggregated state corresponds to the respective physical port being aggregated with one or more other physical ports that are directly coupled to the same neighboring device.
Claim 37
Dependent Claim 170 words
In an intermediate network device having a plurality of physical ports in communicating relationship with one or more neighboring devices through respective links, the one or more neighboring devices capable of transmitting aggregation protocol data unit (AGPDU) messages, each AGPDU message carrying a device identifier and a port identifier that correspond to the device transmitting the AGPDU and the port through which the AGPDU is transmitted, a method of aggregating a plurality of redundant links coupled to a first neighboring device, the method comprising the steps of: receiving one or more AGPDU messages from the first neighboring device at two or more physical ports of the intermediate network device; based on the identifiers contained in the one or more received AGPDU messages, determining that the two or more physical ports of the intermediate network device are directly coupled to the first neighboring device by respective redundant links; and aggregating the two or more physical ports that are directly coupled to the first neighboring device into a single, logical aggregation port.
Claim 38
Dependent Claim 170 words
In an intermediate network device having a plurality of physical ports in communicating relationship with one or more neighboring devices through respective links, the one or more neighboring devices capable of transmitting aggregation protocol data unit (AGPDU) messages, each AGPDU message carrying a device identifier and a port identifier that correspond to the device transmitting the AGPDU and the port through which the AGPDU is transmitted, a method of aggregating a plurality of redundant links coupled to a first neighboring device, the method comprising the steps of: receiving one or more AGPDU messages from the first neighboring device at two or more physical ports of the intermediate network device; based on the identifiers contained in the one or more received AGPDU messages, determining that the two or more physical ports of the intermediate network device are directly coupled to the first neighboring device by respective redundant links; and aggregating the two or more physical ports that are directly coupled to the first neighboring device into a single, logical aggregation port.

References Cited (Backward Citations)

US5018137A Cited
US5150360A Cited
US5734824A Cited
US5737316A Cited
US5732086A Cited
US5740171A Cited
US5742604A Cited
US5764636A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-27 2003-03-29 2003-09-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-27 2007-03-29 2007-09-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-27 2011-03-29 2011-09-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag