Data center congestion management for non-tcp traffic
Abstract
Methods, apparatus and software for implementing enhanced data center congestion management for non-TCP traffic. Non-congested transmit latencies are determined for transmission of packets or Ethernet frames along paths between source and destination end-end-nodes when congestion along the paths is not present or minimal. Transmit latencies are similarly measured along the same source-destination paths during ongoing operations during which traffic congestion may vary. Based on whether a difference between the transmit latency for a packet or frame and the non-congested transmit latency for the path exceeds a threshold, the path is marked as congested or not congested. A rate at which the non-TCP packets are transmitted along the path is then managed as function of a rate at which the path is marked as congested. In one implementation, non-TCP traffic is managed by mimicking a Data Center TCP technique, under which the congestion marking status of the path is substituted as an input to a DCTP algorithm in place of the normally-used ECN-Echo flag input. The congestion window output by the DCTCP algorithm is then used to manage the rate at which non-TCP packets to be forwarded via the path are transmitted from a source end-node.
Claims
exact text as granted — not AI-modified1 . A method for implementing congestion management of non-TCP (Transmission Control Protocol) traffic in a network, comprising:
encapsulating non-TCP packets in Ethernet frames; for each path of a plurality of paths from a source end-node to a destination end-node, wherein the path traverses at least one Ethernet switch:
periodically determining a first roundtrip transit time of a set of first roundtrip transit times for transfer of Ethernet frames encapsulating non-TCP packets along the path based on a timing of first acknowledgment packets received by the source end-node from the destination end-node;
periodically determining a second roundtrip transit time of a set of second roundtrip transit times for transfer of Ethernet frames encapsulating non-TCP packets along the path based on a timing of second acknowledgment packets received by the source end-node from the destination end-node; and
determining measures of congestion based on comparing at least one of the set of the first roundtrip transit times to at least one of the set of the second roundtrip transit times, wherein the source end-node manages a rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the source end-node to the destination end-node via the plurality of paths based on the measures of congestion.
2 . The method claim 1 , wherein determining a first roundtrip transit time, determining a second roundtrip transit time, determining a measure of congestion, and managing a rate are not performed by the at least one Ethernet switch between the source end-node and destination end-node.
3 . The method of claim 1 , wherein the method is implemented without any modification to the at least one Ethernet switch between the source end-node and destination end-node.
4 . The method of claim 1 , wherein the rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the source end-node to the destination end-node via the plurality of paths is based on a rate of change of the determined roundtrip transit times.
5 . A system for implementing congestion management of non-TCP (Transmission Control Protocol) traffic in a network, comprising:
a sender; a receiver; a network comprising a plurality of Ethernet switches connected via Ethernet, wherein the sender is configured to:
encapsulate non-TCP packets in Ethernet frames; and
for each path of a plurality of paths from the sender to the receiver:
periodically determine a first roundtrip transit time of a set of first roundtrip transit times for transfer of Ethernet frames encapsulating non-TCP packets along the path based on a timing of first acknowledgment packets received by the sender from the receiver;
periodically determine a second roundtrip transit time of a set of second roundtrip transit times for transfer of Ethernet frames encapsulating non-TCP packets along the path based on a timing of second acknowledgment packets received by the sender from the receiver; and
determine measures of congestion based on comparing at least one of the set of the first roundtrip transit times to at least one of the set of the second roundtrip transit times, wherein the sender is further configured to manage a rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver via the plurality of paths based on the measures of congestion.
6 . The system of claim 5 , wherein the rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver via the plurality of paths is based on a rate of change of the determined roundtrip transit times.
7 . The system of claim 5 , wherein the system is implemented without any modification to the Ethernet switches.
8 . A method for implementing congestion management of non-TCP (Transmission Control Protocol) traffic in a network, comprising:
encapsulating non-TCP packets in Ethernet frames; determining a first transit time for transfer of Ethernet frames encapsulating non-TCP packets along a path between a sender and a receiver, wherein the path traverses at least one Ethernet switch and the first transit time is determined based, at least in part, on the timing of acknowledgment packets received by the sender from the receiver; detecting a second transit time for transfer of Ethernet frames encapsulating non-TCP packets along the path between the sender and the receiver; detecting whether congestion is present along the path based on comparing the first transit time to the second transit time; and managing a rate at which the Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver via the path based on the detection of congestion, wherein determining the first transit time and second transit time and managing the rate are implemented for multiple paths of a plurality of paths between the sender and the receiver, the plurality of paths collectively traversing a plurality of Ethernet switches.
9 . The method of claim 8 , wherein determining the first transit time is performed repeatedly, on occasion.
10 . The method of claim 9 , wherein determining the first transit time occurs repeatedly, at regular intervals.
11 . The method of claim 9 , wherein the rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver is based on a rate of change of the first transit time.
12 . The method of claim 8 , wherein congestion is detected when the difference between the first transit time and the second transit time exceeds a threshold.
13 . The method of claim 8 , wherein the second transit time is detected based at least in part on timing of second acknowledgment packets received by the sender from the receiver.
14 . The method of claim 8 , wherein the non-TCP packets comprise a first packet and a second packet, wherein the first and second packets belong to a flow and traverse different paths.
15 . The method of claim 14 , wherein the first packet comprises a flow identifier and the second packet comprises a flow identifier.
16 . The method of claim 15 , wherein the flow identifier of the first packet is equal to the flow identifier of the second packet.
17 . The method of claim 8 comprising marking the path as congested based on a detection of congestion.
18 . The method of claim 17 , wherein managing the rate comprises the sender reducing the rate at which the non-TCP packets or Ethernet frames are transmitted from the sender over paths marked as congested.
19 . The method of claim 8 , wherein the plurality of Ethernet switches are not configured to mark the Ethernet frames encapsulating non-TCP traffic for congestion notification.
20 . A system for implementing congestion management of non-TCP (Transmission Control Protocol) traffic in a network, comprising:
a receiver; a network comprising a plurality of Ethernet switches connected via Ethernet; a sender, wherein the sender is configured to:
encapsulate non-TCP packets in Ethernet frames;
determine a first transit time for transfer of Ethernet frames encapsulating non-TCP packets along a first path between the sender and the receiver, wherein the first path traverses at least one Ethernet switch and the first transit time is determined based, at least in part, on the timing of acknowledgment packets received by the sender from the receiver, wherein determining the first transit time is performed for a first plurality of times;
determine a second transit time for transfer of Ethernet frames encapsulating non-TCP packets along the first path between the sender and the receiver, wherein determining the second transit time is performed for a second plurality of times;
manage a rate at which the Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver via the first path based on a difference between respective first and second transit times; and
determine the first transit time and second transit time and manage the rate for multiple paths of a plurality of paths between the sender and the receiver, the plurality of paths collectively traversing a plurality of Ethernet switches.
21 . The system of claim 20 , wherein determining a first transit time occurs repeatedly, at regular intervals.
22 . The system of claim 20 , wherein the rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver is based on a rate of change of the first transit time.
23 . The system of claim 20 , wherein the sender is configured to detect whether congestion is present along the path based on comparing the first transit time to the second transit time.
24 . The system of claim 20 , wherein the sender is configured to detect whether congestion is present along respective paths of the multiple paths when the difference between the respective first transit time and the respective second transit time exceeds a threshold.
25 . The system of claim 24 , wherein managing the rate comprises the sender reducing the rate at which the non-TCP packets or Ethernet frames are transmitted from the sender when congestion is detected along multiple paths of the plurality of paths.
26 . The system of claim 20 , wherein the second transit time is detected based at least in part on timing of second acknowledgment packets received by the sender from the receiver.
27 . The system of claim 20 , wherein the non-TCP packets comprise a first packet and a second packet, wherein the first and second packets belong to a flow and traverse different paths.
28 . The system of claim 27 , wherein the first packet comprises a flow identifier and the second packet comprises a flow identifier.
29 . The system of claim 28 , wherein the flow identifier of the first packet is equal to the flow identifier of the second packet.
30 . The system of claim 20 , wherein the sender is configured to detect whether congestion is present along the path and the first path is marked as congested based on a detection of congestion.
31 . The system of claim 30 , wherein managing the rate comprises the sender reducing the rate at which the non-TCP packets or Ethernet frames are transmitted from the sender over paths marked as congested.
32 . The system of claim 20 , wherein the plurality of Ethernet switches are not configured to mark the Ethernet frames encapsulating non-TCP traffic for congestion notification.
33 . A method for managing non-TCP (Transmission Control Protocol) traffic in a network, comprising:
encapsulating non-TCP packets in Ethernet frames; determining a first transit time for transfer of Ethernet frames encapsulating non-TCP packets along a path between a sender and a receiver, wherein the path traverses at least one Ethernet switch and the first transit time is determined based, at least in part, on the timing of acknowledgment packets received by the receiver from the sender; determining a second transit time for transfer of Ethernet frames encapsulating non-TCP packets along the path between the sender and the receiver; and managing a rate at which the Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver via the path based on a difference between the first transit time and the second transit time, wherein determining the first transit time and second transit time and managing the rate are implemented for multiple paths of a plurality of paths between the sender and the receiver, the plurality of paths collectively traversing a plurality of Ethernet switches.
34 . The method of claim 33 , wherein determining the first transit time is performed repeatedly, on occasion.
35 . The method of claim 34 , wherein determining the first transit time occurs repeatedly, at regular intervals.
36 . The method of claim 35 , wherein the rate at which Ethernet frames encapsulating non-TCP packets are transmitted from the sender to the receiver is based on a rate of change of the first transit time.
37 . The method of claim 33 , further comprising detecting whether congestion is present along the path when the difference between the first transit time and the second transit time exceeds a threshold.
38 . The method of claim 33 , wherein the second transit time is detected based at least in part on timing of second acknowledgment packets received by the sender from the receiver.
39 . The method of claim 33 , wherein the non-TCP packets comprise a first packet and a second packet, wherein the first and second packets belong to a flow and traverse different paths.
40 . The method of claim 39 , wherein the first packet comprises a flow identifier and the second packet comprises a flow identifier.
41 . The method of claim 40 , wherein the flow identifier of the first packet is equal to the flow identifier of the second packet.
42 . The method of claim 33 , further comprising detecting whether congestion is present along the path and marking the path as congested based on a detection of congestion.
43 . The method of claim 42 , wherein managing the rate comprises the sender reducing the rate at which the non-TCP packets or Ethernet frames are transmitted from the sender over paths marked as congested.
44 . The method of claim 33 , wherein the plurality of Ethernet switches are not configured to mark the Ethernet frames encapsulating non-TCP traffic for congestion notification.Join the waitlist — get patent alerts
Track US2022360533A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.