IP Library Granted Patent US 9,628,406
Granted Patent B2
US 9,628,406 · App. 13/798,724 · Granted Apr 18, 2017

Intra switch transport protocol

Inventors: Guglielmo Morandin (San Jose, CA); Sushil Singh (Mountain View, CA); Jonathan Chang (Cupertino, CA); John Huber (San Diego, CA)
Assignee: Cisco Technology, Inc.
H04L47/826H04L47/225H04L47/27H04L47/283H04L69/16
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 9,628,406
App. No.
13/798,724
Granted
Apr 18, 2017
Kind
B2
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 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 sending at least one data packet from an ingress port to an egress port without first receiving any acknowledgement from the egress port. The network device continues to send packets and increment a counter accordingly until the counter reaches the window size. The network device ceases transmission of subsequent data packets and/or queues subsequent data packets based on the counter exceeding the window size.

Claims (34)

1. A method for operation of a crossbar switch including an egress device and a plurality of ingress devices, the method comprising:

calculating, at the egress device, a maximum window size according to a bandwidth delay product, wherein the bandwidth delay product is calculated based on a bandwidth and a round trip time between the ingress device sending the data packet and the egress device;

assigning an egress default window value sequentially to the plurality of ingress devices;

identifying when the maximum window size has been fully allocated in the assigned egress default window values;

calculating, in response to receipt of a data packet sent from one of the plurality of ingress devices assigned the egress default window value, an assigned window value for the one ingress device sending the data packet based on an average window currently allocated to the plurality of ingress devices assigned the egress default window value; and

assigning a smaller window value subsequently to one of the plurality of ingress devices not previously assigned a window value, when the one ingress device not previously assigned a window value requests to send a data packet, wherein the smaller window value is less than the egress default window value.

2. The method of claim 1 , wherein the bandwidth is associated with the egress device.

3. The method of claim 2 , wherein the round trip time corresponds to a time from when the data packet leaves the ingress device until an acknowledgment message is received.

4. The method of claim 1 , wherein the egress default window size is calculated from dividing the maximum window size by a number of the plurality of ingress devices.

5. The method of claim 1 , wherein the egress default window size is a predetermined percentage of the bandwidth delay product.

6. The method of claim 1 , wherein the assigned window value is assigned based on a priority class of the data packet.

7. The method of claim 1 , wherein the crossbar switch connects the plurality of ingress devices to the egress device.

8. An apparatus for operating a crossbar switch including an egress device and a plurality of ingress devices comprising:

a controller configured to:

calculate, at the egress device, a maximum window size according to a bandwidth delay product calculated based on a bandwidth and a round trip time between the ingress device sending the data packet and the egress device;

assign an egress default window value to the plurality of ingress devices;

identify when the maximum window size has been fully allocated in the assigned egress default window values;

calculate, in response to receipt of a data packet sent from one of the plurality of ingress devices assigned the egress default window value, an assigned window value for the one ingress device sending the data packet based on the average window currently allocated to the plurality of ingress devices assigned the egress default window value; and

assign a smaller window value subsequently to one of the plurality of ingress devices not previously assigned a window value when the one ingress device not previously assigned a window value requests to send a data packet.

9. The apparatus of claim 8 , wherein the round trip time corresponds to a time from when the data packet leaves the ingress device until an acknowledgment message is received.

10. The apparatus of claim 8 , wherein the egress default window size is calculated from dividing the maximum window size by a number of the plurality of ingress devices.

11. The apparatus of claim 8 , wherein the egress default window size is a predetermined percentage of the bandwidth delay product.

12. The apparatus of claim 8 , wherein the assigned window value is assigned based on a priority class of the data packet.

13. The apparatus of claim 8 , wherein the crossbar switch connects the plurality of ingress devices to the egress device.

14. A non-transitory computer readable medium including instructions that when executed are operable to:

calculate, at an egress device, a maximum window size according to a bandwidth delay product calculated based on a bandwidth and a round trip time between the ingress device sending the data packet and the egress device;

assign an egress default window value to a plurality of ingress devices;

identify when the maximum window size has been fully allocated in the assigned egress default window values;

calculate, in response to receipt of a data packet sent from one of the plurality of ingress devices assigned the egress default window value, an assigned window value for the one ingress device sending the data packet based on the average window currently allocated to the plurality of ingress devices assigned the egress default window value; and

assign a smaller window value subsequently to one of the plurality of ingress devices not previously assigned a window value, when the one ingress device not previously assigned a window value requests to send a data packet, wherein the smaller window value is less than the egress default window value.

15. The non-transitory computer readable medium of claim 14 , wherein the round trip time corresponds to a time from when the data packet leaves the ingress device until an acknowledgment message is received.

16. The non-transitory computer readable medium of claim 14 , wherein the egress default window size is calculated from dividing the maximum window size by a number of the plurality of ingress devices.

17. The non-transitory computer readable medium of claim 14 , wherein the egress default window size is a predetermined percentage of the bandwidth delay product.

18. The non-transitory computer readable medium of claim 14 , wherein the assigned window value is assigned based on a priority class of the data packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2013
From: MORANDIN, GUGLIELMO; SINGH, SUSHIL; CHANG, JONATHAN; HUBER, JOHN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 029986/0417 →
Continuity (1)
Related Publication 20140269294A1 · Sep 18, 2014