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

Directional and priority based flow control mechanism between nodes

Assignee: Intel Corp
•
Filing: 2004-09-30
•
Granted: 2008-11-25
•
Expires: 2024-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A node uses a two dimensional array of transmit queues to store frames to be transmitted from the node to another node. The size of the array is governed by the number of directions to which the other node may forward frames once received from the node, and the number of priorities that may be associated with the frames. The transmit queues are distinguished from each other based on direction and priority. A transmitter transmits frames dequeued from the transmit queues to the other node. Control logic that controls the transmit queues receives an indication from the other node whether the other node is experiencing traffic congestion in any of the directions and the priority of frames at or below which the control logic is to control the dequeuing of frames from transmit queues corresponding to the directions in which the other node is experiencing traffic congestion.

Inventors

  • 👤 Gary McAlpine
  • 👤 Tanmay Gupta
  • 👤 Manoj K. Wadekar

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 08:16
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/20; H04L47/12; H04L47/125; H04L47/24; H04L47/2441; H04L47/26; H04L47/30; H04L47/50; H04L47/62; H04L47/6215

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 260 words
In a node, a method for controlling transmission of a frame, comprising: queuing into one of a plurality of transmit queues a frame to be transmitted from the node over a communication medium to another node, the transmit queue distinguished from the other transmit queues on the basis of where the other node will forward the frame, once received, and a priority associated with the frame; receiving a communication indicating whether the other node is experiencing traffic congestion to where the other node forwards frames and indicating a priority of frames for which the node is to control transmission to the other node in the event of traffic congestion; determining eligibility for arbitrating the transmission of the frame from the transmit queue responsive to the communication, including calculating a period of time for delaying eligibility for arbitrating the transmission of the frame; regulating the transmission of the frame eligible for arbitration, including determining that: the received communication indicates that where the other node will forward the frame from the transmit queue, once received, is experiencing traffic congestion, and the priority of the frame is at or less than the priority of frames for which the node is to control transmission to the other node as indicated in the received communication; and delaying eligibility for arbitrating the transmission of the frame from the transmit queue, wherein calculating the period of time for delaying eligibility for arbitrating the transmission of the frame is based on a size of a frame most recently transmitted from the transmit queue and a current rate factor.
Claim 2
Dependent Claim 260 words
In a node, a method for controlling transmission of a frame, comprising: queuing into one of a plurality of transmit queues a frame to be transmitted from the node over a communication medium to another node, the transmit queue distinguished from the other transmit queues on the basis of where the other node will forward the frame, once received, and a priority associated with the frame; receiving a communication indicating whether the other node is experiencing traffic congestion to where the other node forwards frames and indicating a priority of frames for which the node is to control transmission to the other node in the event of traffic congestion; determining eligibility for arbitrating the transmission of the frame from the transmit queue responsive to the communication, including calculating a period of time for delaying eligibility for arbitrating the transmission of the frame; regulating the transmission of the frame eligible for arbitration, including determining that: the received communication indicates that where the other node will forward the frame from the transmit queue, once received, is experiencing traffic congestion, and the priority of the frame is at or less than the priority of frames for which the node is to control transmission to the other node as indicated in the received communication; and delaying eligibility for arbitrating the transmission of the frame from the transmit queue, wherein calculating the period of time for delaying eligibility for arbitrating the transmission of the frame is based on a size of a frame most recently transmitted from the transmit queue and a current rate factor.
Claim 3
Dependent Claim 43 words
The method of claim 1 , wherein the communication indicating whether the other node is experiencing traffic congestion to where the other node forwards frames includes indicating whether the other node is experiencing traffic congestion at an output port of the other node.
Claim 4
Dependent Claim 54 words
The method of claim 1 , wherein the communication indicating whether the other node is experiencing traffic congestion to where the other node forwards frames includes indicating whether the other node is experiencing traffic congestion at a set of resources within the other node to which a receiver in the other node forwards frames.
Claim 5
Dependent Claim 20 words
The method of claim 3 , wherein the set of resources comprises a protocol stack operating in the other node.
Claim 6
Dependent Claim 51 words
The method of claim 1 , wherein the communication indicating whether the other node is experiencing traffic congestion to where the other node forwards frames indicates an Institute for Electrical and Electronic Engineers (IEEE) 802.3 Media Access Control (MAC) address associated with a node to which the other node forwards frames.
Claim 7
Dependent Claim 51 words
The method of claim 1 , wherein the communication indicating a priority of frames for which the node is to control transmission to the other node in the event of traffic congestion indicates a priority of frames at and/or below which the node is to control transmission to the other node.
Claim 8
Dependent Claim 50 words
The method of claim 6 , wherein regulating the transmission of the frame eligible for arbitration comprises determining that the frame is to be forwarded by the other node, once received, to where the other node is experiencing traffic congestion, and delaying eligibility for arbitrating the transmission of the frame.
Claim 9
Dependent Claim 45 words
The method of claim 7 , wherein regulating the transmission of the frame eligible for arbitration further comprises determining that the priority of the frame is at or below the priority indicated in the communication, and delaying eligibility for arbitrating the transmission of the frame.
Claim 10
Dependent Claim 41 words
The method of claim 1 , further comprising setting the current rate factor based on the extent to which the other node is experiencing congestion to where the other node is to forward the frame in the transmit queue, once received.
Claim 11
Dependent Claim 45 words
The method of claim 1 , further comprising setting the current rate factor based on the extent to which there is a variance in the other node experiencing congestion to where the other node is to forward the frame in the transmit queue, once received.
Claim 12
Dependent Claim 42 words
The method of claim 1 , further comprising setting the current rate factor to a value indicating the other node is experiencing no congestion to where the other node is to forward the frame of data in the transmit queue, once received.
Claim 13
Dependent Claim 336 words
A node, comprising: a two dimensional array of transmit queues to store frames to be transmitted from the node to another node, a size of the array governed by a number of directions, N, to which the other node may forward one or more of the frames, once received, and a number of priorities, M, one of which may be associated with each of the frames to be transmitted, the transmit queues distinguished from each other based on direction and priority; a transmitter coupled to the transmit queues to transmit frames dequeued from the transmit queues to the other node; and control logic coupled to the transmit queues, the control logic to receive an indication from the other node whether the other node is experiencing traffic congestion in one or more of the N directions and a priority of frames at or below which the control logic is to control dequeuing of frames from the transmit queues corresponding to the one or more of the N directions in which the other node is experiencing traffic congestion, wherein the control logic is to determine eligibility to arbitrate for dequeuing of frames from the transmit queues based on the indication from the other node, and further wherein the control logic to determine eligibility to arbitrate for dequeuing of frames from the transmit queues corresponding to one or more of the N directions in which the other node is experiencing traffic congestion and at or below the priority indicated by the other node by introducing a delay for eligibility to arbitrate for dequeuing of frames from the transmit queues corresponding to one or more of the N directions in which the other node is experiencing traffic congestion, and further wherein the control logic to calculate a period of time for the delay based on a size of a frame most recently transmitted from a set of transmit queues corresponding to one of the N directions in which the other node is experiencing traffic congestion and a current rate factor.
Claim 14
Dependent Claim 336 words
A node, comprising: a two dimensional array of transmit queues to store frames to be transmitted from the node to another node, a size of the array governed by a number of directions, N, to which the other node may forward one or more of the frames, once received, and a number of priorities, M, one of which may be associated with each of the frames to be transmitted, the transmit queues distinguished from each other based on direction and priority; a transmitter coupled to the transmit queues to transmit frames dequeued from the transmit queues to the other node; and control logic coupled to the transmit queues, the control logic to receive an indication from the other node whether the other node is experiencing traffic congestion in one or more of the N directions and a priority of frames at or below which the control logic is to control dequeuing of frames from the transmit queues corresponding to the one or more of the N directions in which the other node is experiencing traffic congestion, wherein the control logic is to determine eligibility to arbitrate for dequeuing of frames from the transmit queues based on the indication from the other node, and further wherein the control logic to determine eligibility to arbitrate for dequeuing of frames from the transmit queues corresponding to one or more of the N directions in which the other node is experiencing traffic congestion and at or below the priority indicated by the other node by introducing a delay for eligibility to arbitrate for dequeuing of frames from the transmit queues corresponding to one or more of the N directions in which the other node is experiencing traffic congestion, and further wherein the control logic to calculate a period of time for the delay based on a size of a frame most recently transmitted from a set of transmit queues corresponding to one of the N directions in which the other node is experiencing traffic congestion and a current rate factor.
Claim 15
Dependent Claim 28 words
The apparatus of claim 12 , wherein a value for the current rate factor is based on the degree to which the other node is experiencing traffic congestion.
Claim 16
Dependent Claim 31 words
The apparatus of claim 12 , wherein a value for the current rate factor is based on the degree to which the other node is experiencing a variation in traffic congestion.
Claim 17
Independent Claim 316 words
A system comprising: a destination component comprising: a receiver to be coupled to a communication medium to receive frames of data therefrom; a demultiplexor to forward frames to be received in one or more of a plurality of directions; and a feedback logic block to generate an indication of traffic congestion in zero or more of the plurality of directions and a priority of frames at or below which to control a rate at which the receiver to receive frames to be forwarded to a congested direction; a source component comprising: a transmitter to be coupled to the communication medium to transmit frames to the receiver; a two-dimensional array of transmit queues coupled to the transmitter, one dimension defined by different priorities capable of being associated with the frames, the other dimension defined by different directions to which the demultiplexor can forward the frames, once received; and a control logic block having an input to receive the indication of traffic congestion in zero or more directions and the priority of frames at or below which to control a rate at which the transmitter to transmit frames to be forwarded by the demultiplexor to a congested direction, the control logic block having a separate output coupled to each set of transmit queues defined by the different priorities for a particular direction, over which to signal the rate at which frames to be forwarded to a congested direction and having a priority at or below that indicated are dequeued for transmission, the control logic block to delay eligibility to arbitrate transmission of frames from the set of transmit queues defined by the different priorities for a particular direction, wherein the delay is based on a size of a frame most recently transmitted and a current rate at which frames to be forwarded to the congested direction and having a priority at or below that indicated are being dequeued.
Claim 18
Independent Claim 316 words
A system comprising: a destination component comprising: a receiver to be coupled to a communication medium to receive frames of data therefrom; a demultiplexor to forward frames to be received in one or more of a plurality of directions; and a feedback logic block to generate an indication of traffic congestion in zero or more of the plurality of directions and a priority of frames at or below which to control a rate at which the receiver to receive frames to be forwarded to a congested direction; a source component comprising: a transmitter to be coupled to the communication medium to transmit frames to the receiver; a two-dimensional array of transmit queues coupled to the transmitter, one dimension defined by different priorities capable of being associated with the frames, the other dimension defined by different directions to which the demultiplexor can forward the frames, once received; and a control logic block having an input to receive the indication of traffic congestion in zero or more directions and the priority of frames at or below which to control a rate at which the transmitter to transmit frames to be forwarded by the demultiplexor to a congested direction, the control logic block having a separate output coupled to each set of transmit queues defined by the different priorities for a particular direction, over which to signal the rate at which frames to be forwarded to a congested direction and having a priority at or below that indicated are dequeued for transmission, the control logic block to delay eligibility to arbitrate transmission of frames from the set of transmit queues defined by the different priorities for a particular direction, wherein the delay is based on a size of a frame most recently transmitted and a current rate at which frames to be forwarded to the congested direction and having a priority at or below that indicated are being dequeued.
Claim 19
Dependent Claim 23 words
The system of claim 15 , wherein each priority is mapped to a different class of service specified in an upper layer protocol.
Claim 20
Dependent Claim 23 words
The system of claim 15 , wherein each priority represents an aggregate of different classes of service specified in an upper layer protocol.
Claim 21
Dependent Claim 20 words
The system of claim 15 , wherein each direction is mapped to a different output port of the destination node.
Claim 22
Dependent Claim 20 words
The system of claim 15 , wherein each direction represents an aggregate of different output ports of the destination node.
Claim 23
Dependent Claim 18 words
The system of claim 15 , wherein each direction is mapped to a different upper layer protocol stack.
Claim 24
Dependent Claim 86 words
The system of claim 15 , wherein the control logic block to delay eligibility to arbitrate transmission of frames is to insert a period of time to wait to arbitrate whether a priority queue for the direction is to dequeue next, wherein a duration of the period of time is based on the size of the frame most recently transmitted and the current rate at which frames to be forwarded to the congested direction and having a priority at or below that indicated are being dequeued.

References Cited (Backward Citations)

US5379297A Cited
US6134218A Cited
US5910955A Cited
US6091709A Cited
US6721273B1 Cited
US6778546B1 Cited
US20020141427A1 Cited
US20030016685A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2011-11-25 2012-05-26 2012-11-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2015-11-25 2016-05-26 2016-11-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2019-11-25 2020-05-26 2020-11-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag