IP Library Granted Patent US 7,859,996
Granted Patent B2
US 7,859,996 · App. 11/259,095 · Granted Dec 28, 2010

Intelligent congestion feedback apparatus and method

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 7,859,996
App. No.
11/259,095
Granted
Dec 28, 2010
Kind
B2
Abstract

An intelligent congestion feedback apparatus and method thereof includes a source endpoint transmitting data packets, and a destination endpoint receiving the data packets, and a timer in the destination endpoint set to zero. An intermediate node detects congestion between the source endpoint and the destination endpoint. Upon congestion detection, the intermediate node marks the data packets transmitted to the destination endpoint indicative of congestion. Upon receipt of the marked data packets, the timer begins reverse counting from a preset time value to zero and a feedback loop is turned-on between the destination endpoint and the source endpoint to transmit congestion notification (CN) messages to the source endpoint contributing to the congestion.

Claims (58)

1. An intelligent congestion feedback apparatus, comprising:

a source endpoint configured to transmit data packets;

a destination endpoint configured to receive the data packets;

a timer in the destination endpoint configured to initially be set to zero; and

an intermediate node configured to detect congestion between the source endpoint and the destination endpoint, wherein

upon congestion detection, the intermediate node marks the data packets transmitted to the destination endpoint indicative of congestion, and

upon receipt of the marked data packets:

the timer begins reverse counting from a preset time value to zero; and

a feedback loop is turned-on between the destination endpoint and the source endpoint to transmit congestion notification (CN) messages to the source endpoint contributing to the congestion.

2. The intelligent congestion feedback apparatus as recited in claim 1 , wherein headers of the data packets are marked with a congestion notification bit tag.

3. The intelligent congestion feedback apparatus as recited in claim 1 , wherein when the timer reaches zero, the destination endpoint stops sending the CN messages and terminates the feedback loop.

4. The intelligent congestion feedback apparatus as recited in claim 1 , wherein when the timer is counting down from the preset time value to zero and the destination endpoint receives another marked data packet from the source endpoint indicative of congestion, the timer is reset back to the preset time value and resumes count down.

5. The intelligent congestion feedback apparatus as recited in claim 1 , wherein when the destination endpoint receives a user configurable number of unmarked data packets and the timer has not reached zero, the destination endpoint terminates the feedback loop and the timer is set to zero.

6. The intelligent congestion feedback apparatus as recited in claim 1 , wherein, for each CN message, the destination node sets an explicit congestion notification-echo flag in an acknowledgment (ACK) packet associated with each marked data packet.

7. The intelligent congestion feedback apparatus as recited in claim 1 , wherein each CN message comprises an SrcEndpointAddress field, a DestEndpointAddress field, and a CongestionState field.

8. The intelligent congestion feedback apparatus as recited in claim 1 , wherein the timer is provided for each source endpoint per class of service.

9. The intelligent congestion feedback apparatus as recited in claim 1 , wherein the preset time value of the timer is set depending upon a responsiveness of the source endpoint in correcting the congestion at the intermediate node, a number of source endpoints contributing to the congestion, or a degree of congestion.

10. The intelligent congestion feedback apparatus as recited in claim 1 , wherein the preset time value defines a period of time that the destination endpoint is to maintain the feedback loop turned-on for transmitting the CN messages back to the source endpoint.

11. The intelligent congestion feedback apparatus as recited in claim 1 , wherein, upon receipt of the CN message, the source endpoint contributing to the congestion interrupts or reduces a rate of transmission of the data packets to the intermediate node on a per class of service basis without affecting the transmission of the data packets corresponding to other classes of service.

12. An intelligent congestion feedback method, comprising:

transmitting data packets from a source endpoint;

receiving the data packets at a destination endpoint;

detecting congestion between the source endpoint and the destination endpoint;

marking the data packets transmitted to the destination endpoint indicative of congestion; and

in response to receiving the marked data packets:

reverse counting from a preset time value to zero; and

turning on a feedback loop between the destination endpoint to the source endpoint to transmit congestion notification (CN) messages to the source endpoint contributing to the congestion.

13. The intelligent congestion feedback method as recited in claim 12 , further comprising:

marking the data packets with a congestion notification bit tag.

14. The intelligent congestion feedback method as recited in claim 12 , further comprising:

stopping sending the CN messages and terminating the feedback loop when the reverse counting reaches zero.

15. The intelligent congestion feedback method as recited in claim 12 , further comprising:

using a timer to perform the reverse counting from the preset time value to zero;

resetting the timer back to the preset time value and resuming the reverse counting when the destination endpoint receives another marked data packet from the source endpoint.

16. The intelligent congestion feedback method as recited in claim 12 , further comprising:

using a timer to perform the reverse counting from the preset time value to zero;

terminating the feedback loop and setting the timer to zero when the destination endpoint receives a user configurable number of unmarked data packets and the timer has not reached zero.

17. The intelligent congestion feedback method as recited in claim 12 , further comprising:

providing a timer to perform the reverse counting from the preset time value to zero for each source endpoint per class of service.

18. The intelligent congestion feedback method as recited in claim 12 , further comprising:

adjusting the preset time value depending upon a responsiveness of the source endpoint in correcting the congestion at the intermediate node, a number of source endpoints contributing to the congestion, or a degree of congestion.

19. The intelligent congestion feedback method as recited in claim 12 , further comprising:

setting, for each CN message, an explicit congestion notification flag in a packet associated with each marked data packet.

20. The intelligent congestion feedback method as recited in claim 12 , further comprising:

setting, for each CN .message, an SrcEndpointAddress field, a DestEndpointAddress field, and a CongestionState field.

21. The intelligent congestion feedback method as recited in claim 12 , further comprising:

defining the preset time value to zero as a period of time to maintain the feedback loop turned-on for transmitting the CN messages back to the source endpoint.

22. The intelligent congestion feedback method as recited in claim 12 , further comprising:

mapping the CN message to a highest priority class of service queue when transmitting the CN message to the source endpoint.

23. The intelligent congestion feedback method as recited in claim 12 , wherein, upon receipt of the CN message, the method further comprises:

interrupting or reducing a rate of transmission of the data packets from the source contributing to the congestion to the intermediate node on a per class of service basis without affecting the transmission of the data packets corresponding to other classes of service.

24. An intelligent congestion feedback apparatus, comprising:

source endpoint means for transmitting data packets;

destination endpoint means for receiving the data packets;

timing means in the destination endpoint means initially set to zero; and

intermediate means for detecting congestion between the source endpoint and the destination endpoint, wherein

upon congestion detection, the intermediate means marks the data packets transmitted to the destination endpoint indicative of congestion, and

upon receipt of the marked data packets, the timing means begins reverse counting from a preset time value to zero and a feedback loop is turned-on between the destination endpoint means and the source endpoint means for transmitting congestion notification (CN) messages to the source endpoint contributing to the congestion.

Assignments (3)
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 →