Intra switch transport protocol
First Claim
Patent Images
1. A method comprising:
- identifying a maximum window size for network traffic according to a predetermined bandwidth and a round trip time between a plurality of ingress ports of a network switch and an egress port of the network switch;
receiving virtual output queue values from the plurality of ingress ports;
calculating an assigned window value for one of the plurality of ingress ports based on the maximum window size and an adjustment factor, wherein the maximum window size is distributed across the plurality of ingress ports;
generating an acknowledgment message including the assigned window value for the one of the plurality of ingress ports;
assigning an initial value for the assigned window value for the one of the plurality of ingress ports according to a predetermined portion of the maximum window size; and
generating a subsequent value for the assigned window value for the one of the plurality of ingress ports according to an average of initial values for assigned window values over a number of the plurality of ingress ports that includes at least one ingress port whose initial value for the assigned window value is zero.
1 Assignment
0 Petitions
Accused Products
Abstract
In one implementation, a network device is configured to implement an intra switch transport protocol. The intra switch transport protocol is configured to determine a maximum window size according to a predetermined bandwidth and a round trip time between a plurality of ingress ports and an egress port. The network device is configured to calculate an assigned window value for the one of the plurality of ingress ports based on the maximum window size and generate an acknowledgment message including the assigned window value for the one of the plurality of ingress ports, and to delay successive acknowledgement messages according to fabric congestion and egress port occupancy.
84 Citations
20 Claims
-
1. A method comprising:
-
identifying a maximum window size for network traffic according to a predetermined bandwidth and a round trip time between a plurality of ingress ports of a network switch and an egress port of the network switch; receiving virtual output queue values from the plurality of ingress ports; calculating an assigned window value for one of the plurality of ingress ports based on the maximum window size and an adjustment factor, wherein the maximum window size is distributed across the plurality of ingress ports; generating an acknowledgment message including the assigned window value for the one of the plurality of ingress ports; assigning an initial value for the assigned window value for the one of the plurality of ingress ports according to a predetermined portion of the maximum window size; and generating a subsequent value for the assigned window value for the one of the plurality of ingress ports according to an average of initial values for assigned window values over a number of the plurality of ingress ports that includes at least one ingress port whose initial value for the assigned window value is zero. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus comprising:
-
a memory configured to store a maximum window size for network traffic according to a predetermined bandwidth and a round trip time between a plurality of ingress ports of a network switch and an egress port of the network switch including a grid of nodes between the egress port and the plurality of ingress ports, wherein the maximum window size is distributed across the plurality of ingress ports; and a controller configured to; calculate an assigned window value for one of the plurality of ingress ports based on the maximum window size and an adjustment factor; generate an acknowledgment message including the assigned window value for the one of the plurality of ingress ports; assign an initial value for the assigned window value for the one of the plurality of ingress ports according to a predetermined portion of the maximum window size; and generate a subsequent value for the assigned window value for the one of the plurality of ingress ports according to an average of initial values for assigned window values over a number of the plurality of ingress ports, wherein the number of the plurality of ingress ports includes at least one ingress port whose initial value for the assigned window value is zero, wherein the adjustment factor for the assigned window value for the one of the plurality of ingress ports is a function of congestion. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
storing an egress count level for an egress device, wherein the egress count level relates to pending data transfer; selecting an egress queue based on the egress count level; generating, at a controller, an acknowledgement message corresponding to the egress queue; accessing a size of a data packet in the egress queue; delaying transmission of a subsequent acknowledgement message for a period of time based on the size of the data packet and an indicator of congestion upstream of the egress device; generating an egress shadow queue value based on a rate that is less than a rate of the egress queue; comparing the egress shadow queue value to an egress shadow queue threshold; and inserting a congestion indication into the data packet when the egress shadow queue value exceeds the egress shadow queue threshold. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
a memory configured to store an egress count level for an egress device, wherein the egress count level relates to past data transfer; and a controller configured to detect arrival of a data packet at an egress queue and calculate a delay time period according to a size of the data packet and an indication of congestion, wherein an acknowledgement message corresponding to the data packet is generated after the delay time period has elapsed, wherein the controller is configured to calculate an egress shadow queue value based on a rate that is less than a rate of the egress queue, and insert a congestion value into the data packet when the egress shadow queue value exceeds an egress shadow queue threshold. - View Dependent Claims (18, 19, 20)
-
Specification