IP Library Granted Patent US 8,451,718
Granted Patent B2
US 8,451,718 · App. 10/825,654 · Granted May 28, 2013

Flow control and congestion control in a data distribution network

View Patent ↗
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 8,451,718
App. No.
10/825,654
Granted
May 28, 2013
Kind
B2
Abstract

Methods, systems, and devices are provided for managing flow of datagram traffic, generally across networks. According to some of these methods, a flow control mechanism is used to avoid over-subscription of some ports without pausing extended areas of a network. According to other methods, a congestion control mechanism is used to minimize datagram traffic between a port sending datagrams to an over-subscribed port and the over-subscribed port itself.

Claims (75)

1. A method of managing flow of datagram traffic, the method comprising:

receiving datagrams from a first port of a first device at a first port of a second device using a pathway that is operably connected to a second port of the first device and a second port of the second device;

determining, by the second device, that the first port of the second device is oversubscribed;

in response to determining that that the first port of the second device is oversubscribed, transmitting a control frame indicating the oversubscription from the second device to the first device, the indication of the oversubscription being independent of an address of the first port of the first device;

in response to, and based on the indication of the oversubscription of the first port of the second device:

determining, by the first device, that the first port of the first device is contributing the oversubscription;

transmitting, by the first device, a pause frame to the first port of the first device, the pause frame causing the first port of the first device to individually pause transmission of the datagrams to the first port of the second device using the pathway; and

receiving datagrams from a third port of the first device at the first port of the second device using the pathway, while the first port on the first device is individually paused.

2. The method of claim 1 , further comprising:

re-activating the individually paused port including transmitting a re-activation signal to the individually paused port.

3. The method of claim 1 , further comprising:

re-activating the individually paused port pursuant to detection of a condition wherein the first port of the second device has datagram traffic flowing therethrough in an amount that is below a lower trigger value.

4. The method of claim 1 , further comprising:

re-activating the individually paused port pursuant to passage of a pre-determined time increment.

5. The method of claim 1 , wherein the transmitting the control frame comprises transmitting an in-band control frame.

6. The method of claim 1 , wherein the transmitting the control frame comprises using separate pathways between the first device and the second device to transmit datagrams and control frames.

7. The method of claim 1 , wherein the transmitting the control frame is performed using non-memory-consuming communication.

8. The method of claim 1 , wherein the transmitting the pause frame comprises referencing a listing of ports that are oversubscribed.

9. The method of claim 8 , wherein the transmitting the pause frame comprises periodically updating the listing of ports that are oversubscribed.

10. The method of claim 1 , wherein the pause frame is transmitted by a memory unit of the first device in response to the control frame.

11. A method of managing flow of datagram traffic in a network, the method comprising:

receiving datagrams from a first port of a first device at a first port of a second device using a pathway that is operably connected to a second port of the first device and a second port of the second device;

determining, by the second device, that the first port of the second device is oversubscribed;

in response to determining that that the first port of the second device is oversubscribed, transmitting a control frame indicating the oversubscription from the second device to the first device, the indication of the oversubscription being independent of an address of the first port of the first device;

in response to, and based on the indication of the oversubscription of the first port of the second device:

determining, by the first device, that the first port of the first device is contributing the oversubscription; and

individually signaling, by the first device, the first port of the first device to continue sending datagrams to the first port of the second device at a reduced rate; and

receiving datagrams from a third port of the first device at the first port of the second device using the pathway that is operably connected to the second port of the first device and the second port of the second device, while continuing to receive the datagrams at the reduced rate from the first port of the first device at the first port of the second device.

12. The method of claim 11 , wherein the individual signaling comprises signaling the first port of the first device to send datagrams in proportion to a total number of datagrams attempting to reach the first port of the second device.

13. The method of claim 11 , wherein the transmitting is performed using non-memory-consuming communication.

14. The method of claim 11 , wherein the transmitting comprises broadcasting the control frame to alert ports on a network that the first port of the second device is oversubscribed.

15. The method of claim 11 , wherein the receiving datagrams from a first port of a first device at a first port of a second device comprises referencing a listing of ports on the network that are oversubscribed before transferring a datagram between the first port of the first device to the first port of the second device.

16. The method of claim 11 , further comprising:

resuming unrestricted datagram receipt at the first port of the second device including broadcasting a signal.

17. The method of claim 11 , further comprising:

resuming unrestricted datagram receipt at the first port of the second device when a total number of datagrams attempting to reach the first port of the second device falls below a lower trigger value.

18. The method of claim 11 , further comprising:

resuming unrestricted datagram receipt at the first port of the second device after passage of a pre-determined time increment.

19. The method of claim 11 , wherein the transmitting the control frame comprises transmitting an in-band control frame.

20. The method of claim 11 , wherein the transmitting comprises using a separate link to transmit control frames.

21. A communications device comprising:

a first communications means for receiving datagrams from a first port of a first data distribution means at a first port of a second data distribution means in a network;

determining means for determining, by the second data distribution means, that the first port of the second data distribution means is oversubscribed;

transmitting means for transmitting a control frame from the second data distribution means to the first data distribution means, the control frame indicating the oversubscription of the first port of the second data distribution means, the indication of the oversubscription being independent of an address of the first port of the first data distribution means;

control means of the first data distribution means for selectively, individually pausing, by the first data distribution means in response to, and based on, the indication of the oversubscription of the first port of the second data distribution means, individual ports of the first data distribution means, including the first port of the first data distribution means, that are causing oversubscription of the first port of the second data distribution means; and

means for receiving datagrams from a second port of the first data distribution means at the first port of the second data distribution means, while the individual ports are paused.

22. The device of claim 21 wherein the second data distribution means is connected to a second communications means that is non-lossy.

23. The device of claim 21 , further comprising storage means for storing information concerning which ports in the network are oversubscribed.

24. A communications device comprising:

first communications means for receiving datagrams from a first port of a first data distribution means at a first port of a second data distribution means in a network;

determining means for determining that the first port of the second data distribution means is oversubscribed;

transmitting means for transmitting a control frame from the second data distribution means to the first data distribution means, the control frame indicating the oversubscription of the first port of the second data distribution means, the indication of the oversubscription being independent of an address of the first port of the first data distribution means;

control means of the first data distribution means for, in response to, and based on the indication of the oversubscription:

determining that the first port of the first data distribution means is contributing to the oversubscription of the first port of the second data distribution means; and

individually signaling the first port of the first data distribution means to send fewer datagrams to the first port of the second data distribution means; and

means for receiving datagrams from a second port of the first data distribution means at the first port of the second data distribution means, while continuing to receive datagrams from the first port of the first data distribution means at a reduced rate at the first port of the second data distribution means.

25. The device of claim 24 , wherein the second data distribution means is attached to a second communications means that is non-lossy.

26. The device of claim 24 , further comprising:

storage means for storing information concerning which ports in the network are oversubscribed.

27. A communications device comprising:

an interconnect port controller configured to transmit datagrams from a first port of the communications device to a first port of another communications device; and

a memory unit controller configured to determine, at the communications device, individual ports on the communications device that cause oversubscription of the first port of the other communications device, wherein

the interconnect port controller is configured to:

receive a signal from the other communications device, the signal indicating the oversubscription, the signal indicating the oversubscription being independent of respective addresses of the individual ports on the communications device; and

selectively and individually pause ports of the individual ports on the communications device that are causing oversubscription of the first port of the other communications device based on the indication of the oversubscription of the first port of the other communications device.

28. The device of claim 27 , further comprising:

a memory unit configured to store information concerning which ports in the device are oversubscribed.

29. A communications device comprising:

an interconnect port controller configured to transmit datagrams from a first port of the communications device to a first port of another communications device in a network; and

a memory unit controller configured to determine, at the communications device, individual ports on the communications device that cause oversubscription of the first port of the other communications device, wherein

the interconnect port controller is configured to:

receive a signal from the other communications device, the signal indicating the oversubscription, the signal indicating the oversubscription being independent of respective addresses of the individual ports on the communications device causing the oversubscription; and

in conjunction with the memory controller, individually instruct the individual ports on the communications device contributing to the oversubscription to continue sending datagrams to the first port of the-other communications device at a reduced rate in response to the indication of the oversubscription.

30. The device of claim 29 further comprising:

a memory unit configured to store information concerning which ports in the network are oversubscribed.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 09/05/2018 PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0133. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0456 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0133 →
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 Apr 16, 2004
From: KISHORE, KARAGADA RAMARAO; KALKUNTE, MOHAN; WU, CHIEN-HSIEN
To: BROADCOM CORPORATION
Reel/Frame 015225/0422 →