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

Method and apparatus for simple IP-layer bandwidth allocation using ingress control of egress bandwidth

Assignee: Nortel Networks Ltd
•
Filing: 1998-04-30
•
Granted: 2003-09-30
•
Expires: 2018-04-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention relates to a switch for processing data units, such as IP data packets. The switch can be implemented as a router that includes a plurality of input ports, a plurality of output ports and a switch fabric capable of establishing logical pathways to interconnect a certain input port with a certain output port. A characterizing element of the router is its ability to control bandwidth usage on a basis of a logical pathway. This prevents congestion to occur in the switch fabric and also at the level of the output ports. For every active logical pathway the router sets-up a bandwidth control mechanism including at least one queue to hold data units received at an input port. The bandwidth control mechanism performs an accounting operation to determine the average bandwidth usage and if less than a threshold requests for releasing data units in the switch fabric are sent to the switch fabric controller. When the threshold is exceeded the bandwidth control mechanism stops sending requests for service to the switch fabric controller. The system also supports priorities. Instead of stopping the issuance of signals requesting release of data packets the priority level of the queue (reflected in a priority field in the signal requesting release of a data packet) changes from HI to LO. The switch fabric controller is designed to recognize priority requests and will accept LO priority requests only when there are no other HI priority requests pending. The present invention also provides a data transport device which includes a plurality of nodes interconnected by a physical link that establishes two ring-shaped paths on which data is transported on opposite directions. Each node is capable of sending a control message to the upstream node to advise the upstream node of the data carrying requirements of the node at which the message has originated. The upstream node can then throttle the introduction of data in the paths to preserve capacity that can be used by the downstream nodes.

Inventors

  • 👤 Alan Stanley John Chapman
  • 👤 Hsiang-Tsung Kung

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 20:53
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L41/00; H04L41/08; H04L41/0896; H04L47/12; H04L47/50

Claims Analysis

Total Claims: 60
Claim 1
Independent Claim 159 words
A switch for processing data units, said switch including: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway between said certain output port and said certain input port; a plurality of bandwidth control mechanisms, each bandwidth control mechanism being associated with a different logical pathway established through said switch fabric, each bandwidth control mechanism operative to: a) compute a bandwidth usage of the respective logical pathway; and b) regulate the transport of data units over the respective logical pathway on a basis of the computed bandwidth usage.
Claim 2
Dependent Claim 159 words
A switch for processing data units, said switch including: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway between said certain output port and said certain input port; a plurality of bandwidth control mechanisms, each bandwidth control mechanism being associated with a different logical pathway established through said switch fabric, each bandwidth control mechanism operative to: a) compute a bandwidth usage of the respective logical pathway; and b) regulate the transport of data units over the respective logical pathway on a basis of the computed bandwidth usage.
Claim 3
Dependent Claim 14 words
A switch as defined in claim 1 , wherein said switch is a router.
Claim 4
Dependent Claim 26 words
A switch as defined in claim 2 , wherein said switch includes an independent bandwidth control mechanism for each logical pathway established through said switch fabric.
Claim 5
Dependent Claim 33 words
A switch as defined in claim 3 , wherein each bandwidth control mechanism regulates bandwidth usage over a respective logical pathway independently from the regulation of bandwidth usage over a different logical pathway.
Claim 6
Dependent Claim 34 words
A switch as defined in claim 4 , wherein each bandwidth control mechanism comprises a queue for storage of data units to be transported over the logical pathway associated with the bandwidth control mechanism.
Claim 7
Dependent Claim 39 words
A switch as defined in claim 5 , wherein each bandwidth control mechanism includes a queue control unit for regulating a rate of data packets released from said queue over the logical pathway associated with the bandwidth control mechanism.
Claim 8
Dependent Claim 34 words
A switch as defined in claim 6 , wherein said queue control unit is capable of performing an accounting operation to determine bandwidth usage as a result of releasing data packets from said queue.
Claim 9
Dependent Claim 27 words
A switch as defined in claim 7 , wherein said queue control unit is capable of computing an average bandwidth usage value when performing an accounting operation.
Claim 10
Dependent Claim 31 words
A switch as defined in claim 8 , wherein said queue control unit prevents release of data units from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 11
Dependent Claim 30 words
A switch as defined in claim 9 , wherein said queue control unit alters a priority setting of said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 12
Dependent Claim 16 words
A switch as defined in claim 1 , wherein said data units are IP data packets.
Claim 13
Dependent Claim 32 words
A switch as defined in claim 6 , wherein said switch fabric includes a switch fabric controller to regulate the transport of data units through respective logical pathways of said switch fabric.
Claim 14
Dependent Claim 48 words
A switch as defined in claim 12 , wherein said queue control unit is capable of issuing a request for data release signal to said switch fabric controller to request authorization from said switch fabric controller to release a data packet from said queue to said switch fabric.
Claim 15
Dependent Claim 39 words
A switch as defined in claim 13 , wherein said queue control unit is responsive to an authorization for data release signal from said switch fabric controller to release a data packet from said queue to said switch fabric.
Claim 16
Dependent Claim 18 words
A switch as defined in claim 14 , wherein said request for data release signal includes priority information.
Claim 17
Dependent Claim 39 words
A switch as defined in claim 15 , wherein said priority information establishes a right of preeminence to gain access to said switch fabric relative to other request for data release signals from queues associated to different logical pathways.
Claim 18
Dependent Claim 20 words
A switch as defined in claim 16 , wherein said priority information is indicative of at least two priority levels.
Claim 19
Dependent Claim 32 words
A switch as defined in claim 17 , wherein said queue control unit sets the priority level of said request for data release signal in dependence of bandwidth usage of said queue.
Claim 20
Dependent Claim 34 words
A switch as defined in claim 18 , wherein said queue control unit is capable of performing an accounting operation to determine bandwidth usage as a result of releasing data packets from said queue.
Claim 21
Dependent Claim 27 words
A switch as defined in claim 19 , wherein said queue control unit is capable of computing an average bandwidth usage value when performing an accounting operation.
Claim 22
Dependent Claim 78 words
A switch as defined in claim 20 , wherein said queue control unit is capable of setting the priority level of said request for data release signal at either one of first and second levels, said first level being indicative of a higher priority than said second level, said queue control unit setting the priority level of said request for data release signal at said first level when said average bandwidth usage is less than a certain threshold.
Claim 23
Dependent Claim 37 words
A switch as defined in claim 21 , wherein said queue control unit sets the priority level of said request for data release signal at said second level when said average bandwidth usage exceeds said certain threshold.
Claim 24
Independent Claim 141 words
A method for managing the transport of data units in a switch, said switch comprising: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway; for a particular logical pathway, said method comprising the steps of: a) computing a bandwidth usage of the particular logical pathway; and b) regulating the transport of data units over the particular logical pathway on a basis of the bandwidth usage computed in step a.
Claim 25
Independent Claim 141 words
A method for managing the transport of data units in a switch, said switch comprising: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway; for a particular logical pathway, said method comprising the steps of: a) computing a bandwidth usage of the particular logical pathway; and b) regulating the transport of data units over the particular logical pathway on a basis of the bandwidth usage computed in step a.
Claim 26
Dependent Claim 14 words
A method as defined in claim 23 , wherein said switch is a router.
Claim 27
Dependent Claim 30 words
A method as defined in claim 24 , comprising the step of providing said switch with an independent bandwidth control mechanism for each logical pathway established through said switch fabric.
Claim 28
Dependent Claim 34 words
A method as defined in claim 25 , wherein each bandwidth control mechanism comprises a queue for storage of data units to be transported over the logical pathway associated with the bandwidth control mechanism.
Claim 29
Dependent Claim 39 words
A method as defined in claim 26 , wherein each bandwidth control mechanism includes a queue control unit for regulating a rate of data packets released from said queue over the logical pathway associated with the bandwidth control mechanism.
Claim 30
Dependent Claim 34 words
A method as defined in claim 27 , wherein said queue control unit is capable of performing an accounting operation to determine bandwidth usage as a result of releasing data packets from said queue.
Claim 31
Dependent Claim 27 words
A method as defined in claim 28 , wherein said queue control unit is capable of computing an average bandwidth usage value when performing an accounting operation.
Claim 32
Dependent Claim 30 words
A method as defined in claim 29 , wherein said queue control unit stops releasing data units from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 33
Dependent Claim 33 words
A method as defined in claim 30 , wherein said queue control unit reduces a rate of data units released from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 34
Dependent Claim 16 words
A method as defined in claim 23 , wherein said data units are IP data packets.
Claim 35
Dependent Claim 150 words
A switch for processing data units, said switch including: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway associated to said certain output port and to said certain input port; means responsive to establishment of a logical pathway through said switch fabric to enable a bandwidth control mechanism to: a) compute a bandwidth usage of the logical pathway; and b) regulate the transport of data units over the logical pathway on a basis of the computed bandwidth usage.
Claim 36
Dependent Claim 150 words
A switch for processing data units, said switch including: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway associated to said certain output port and to said certain input port; means responsive to establishment of a logical pathway through said switch fabric to enable a bandwidth control mechanism to: a) compute a bandwidth usage of the logical pathway; and b) regulate the transport of data units over the logical pathway on a basis of the computed bandwidth usage.
Claim 37
Dependent Claim 14 words
A switch as defined in claim 33 , wherein said switch is a router.
Claim 38
Dependent Claim 37 words
A switch as defined in claim 34 , wherein said means responsive to establishment of a logical pathway through said switch fabric enables an independent bandwidth control mechanism for each logical pathway established through said switch fabric.
Claim 39
Dependent Claim 33 words
A switch as defined in claim 35 , wherein each bandwidth control mechanism regulates bandwidth usage over a respective logical pathway independently from the regulation of bandwidth usage over a different logical pathway.
Claim 40
Dependent Claim 34 words
A switch as defined in claim 36 , wherein each bandwidth control mechanism comprises a queue for storage of data units to be transported over the logical pathway associated with the bandwidth control mechanism.
Claim 41
Dependent Claim 39 words
A switch as defined in claim 37 , wherein each bandwidth control mechanism includes a queue control unit for regulating a rate of data packets released from said queue over the logical pathway associated with the bandwidth control mechanism.
Claim 42
Dependent Claim 34 words
A switch as defined in claim 38 , wherein said queue control unit is capable of performing an accounting operation to determine bandwidth usage as a result of releasing data packets from said queue.
Claim 43
Dependent Claim 27 words
A switch as defined in claim 39 , wherein said queue control unit is capable of computing an average bandwidth usage value when performing an accounting operation.
Claim 44
Dependent Claim 30 words
A switch as defined in claim 40 , wherein said queue control unit stops releasing data units from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 45
Dependent Claim 33 words
A switch as defined in claim 41 , wherein said queue control unit reduces a rate of data units released from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 46
Dependent Claim 16 words
A switch as defined in claim 33 , wherein said data units are IP data packets.
Claim 47
Independent Claim 153 words
A method for managing the transport of data units in a switch, said switch comprising: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway; in response to the establishment of a certain logical pathway through said switch fabric, said method comprising the steps of enabling a bandwidth control mechanism to: a) compute a bandwidth usage of the certain logical pathway; and b) regulate the transport of data units over the certain logical pathway on a basis of the computed bandwidth usage.
Claim 48
Independent Claim 153 words
A method for managing the transport of data units in a switch, said switch comprising: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway; in response to the establishment of a certain logical pathway through said switch fabric, said method comprising the steps of enabling a bandwidth control mechanism to: a) compute a bandwidth usage of the certain logical pathway; and b) regulate the transport of data units over the certain logical pathway on a basis of the computed bandwidth usage.
Claim 49
Dependent Claim 14 words
A method as defined in claim 44 , wherein said switch is a router.
Claim 50
Dependent Claim 51 words
A method as defined in claim 45 , comprising the step of establishing a given logical pathway between a given input port and a given output port when a data unit is received at said given input port and has a destination that can be reached through said given output port.
Claim 51
Dependent Claim 27 words
A method as defined in claim 46 , comprising the step of enabling an independent bandwidth control mechanism for each logical pathway established through said switch fabric.
Claim 52
Dependent Claim 34 words
A method as defined in claim 47 , wherein each bandwidth control mechanism comprises a queue for storage of data units to be transported over the logical pathway associated with the bandwidth control mechanism.
Claim 53
Dependent Claim 39 words
A method as defined in claim 48 , wherein each bandwidth control mechanism includes a queue control unit for regulating a rate of data packets released from said queue over the logical pathway associated with the bandwidth control mechanism.
Claim 54
Dependent Claim 34 words
A method as defined in claim 49 , wherein said queue control unit is capable of performing an accounting operation to determine bandwidth usage as a result of releasing data packets from said queue.
Claim 55
Dependent Claim 27 words
A method as defined in claim 50 , wherein said queue control unit is capable of computing an average bandwidth usage value when performing an accounting operation.
Claim 56
Dependent Claim 30 words
A method as defined in claim 51 , wherein said queue control unit stops releasing data units from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 57
Dependent Claim 33 words
A method as defined in claim 52 , wherein said queue control unit reduces a rate of data units released from said queue when said average bandwidth usage value exceeds a certain threshold.
Claim 58
Dependent Claim 16 words
A method as defined in claim 53 , wherein said data units are IP data packets.
Claim 59
Dependent Claim 210 words
A switch for processing data units, said switch including: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway between said certain output port and said certain input port; a plurality of bandwidth control mechanisms for regulating the transport of data units in said switch, each bandwidth control mechanism being associated with a different logical pathway established through said switch fabric, each bandwidth control mechanism including: a) a queue for storage of data units to be transported over the logical pathway associated with the bandwidth control mechanism; and b) a queue control unit for regulating a rate of data packets released from said queue over the respective logical pathway, said queue control unit being capable of performing an accounting operation to determine bandwidth usage of the respective logical pathway as a result of releasing data packets from said queue.
Claim 60
Dependent Claim 210 words
A switch for processing data units, said switch including: a plurality of input ports, each input port capable of receiving data units; a plurality of output ports, each output port capable of releasing data units; a switch fabric capable of selectively establishing a plurality of logical pathways between said input ports and said output ports, each logical pathway connecting a certain input port to a certain output port, whereby a data unit received at the certain input port can be transported to the certain output port on the logical pathway between said certain output port and said certain input port; a plurality of bandwidth control mechanisms for regulating the transport of data units in said switch, each bandwidth control mechanism being associated with a different logical pathway established through said switch fabric, each bandwidth control mechanism including: a) a queue for storage of data units to be transported over the logical pathway associated with the bandwidth control mechanism; and b) a queue control unit for regulating a rate of data packets released from said queue over the respective logical pathway, said queue control unit being capable of performing an accounting operation to determine bandwidth usage of the respective logical pathway as a result of releasing data packets from said queue.

References Cited (Backward Citations)

US5768258A Cited
US6229789B1 Cited
US6052361A Cited
US6118761A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag