IP Library Granted Patent US 7,224,669
Granted Patent B2
US 7,224,669 · App. 10/054,148 · Granted May 29, 2007

Static flow rate control

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,224,669
App. No.
10/054,148
Granted
May 29, 2007
Kind
B2
Abstract

A method for static rate flow control includes receiving a sequence of data packets for transmission over a network, including at least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths, and transmitting the first packet to the destination address. Responsive to transmitting the first packet, an entry is placed in a flow control table, and a timeout period is set for the entry responsive to the first length. The second packet is transmitted only after the timeout period has expired.

Claims (41)

1. A method for static rate flow control, comprising:

receiving a sequence of data packets for transmission over a network, including at least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths;

transmitting the first packet to the destination address;

responsive to transmitting the first packet, placing an entry in a flow control table;

setting a timeout period for the entry responsive to the first length; and

transmitting the second packet only after the timeout period has expired;

wherein placing the entry in the flow control table comprises placing the entry corresponding to the destination address of the first packet, and comprising removing the entry from the table upon expiration of the timeout period; and

wherein transmitting the second packet comprises checking the table with reference to the destination address of the second packet to determine whether the table contains the entry, and sending the second packet only when the entry is absent from the table.

2. A method according to claim 1 , wherein transmitting the second packet comprises restoring the entry corresponding to the destination address to the table upon transmitting the second packet.

3. A method for static rate flow control, comprising:

receiving a sequence of data packets for transmission over a network, including at least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths;

transmitting the first packet to the destination address;

responsive to transmitting the first packet, placing an entry in a flow control table;

setting a timeout period for the entry responsive to the first length; and

transmitting the second packet only after the timeout period has expired;

wherein placing the entry comprises placing the entry corresponding to the destination address of the first packet among a plurality of entries in the table corresponding to different destination addresses in the network to which the packets in the sequence are directed; and

wherein some of the destination addresses in the network are subject to static flow control, while others are not, and wherein placing the entry comprises associating an attribute with the first packet indicating whether the destination address of the first packet is subject to the static flow control, and placing the entry in the table responsive to the attribute.

4. A method for static rate flow control, comprising:

receiving a sequence of data packets for transmission over a network, including at Least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths;

transmitting the first packet to the destination address;

responsive to transmitting the first packet, placing an entry in a flow control table;

setting a timeout period for the entry responsive to the first length; and

transmitting the second packet only after the timeout period has expired;

wherein placing the entry comprises placing the entry corresponding to the destination address of the first packet among a plurality of entries in the table corresponding to different destination addresses in the network to which the packets in the sequence are directed; and

wherein placing the entry comprises writing the entry in a memory having a size determined according to a maximum number of the different destination addresses to which static flow control scheduling is likely to be applied simultaneously.

5. A network end-node device, for transmitting a sequence of data packets over a network, including at least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths, the device comprising:

a memory, configured to hold a flow control table; and

link output circuitry adapted to transmit the first packet to the destination address and, responsive to transmitting the first packet, to place an entry in the flow control table and to set a timeout period for the entry responsive to the first length, and to transmit the second packet only after the timeout period has expired;

wherein the entry in the flow control table corresponds to the destination address of the first packet, and wherein the link output circuitry is adapted to remove the entry from the table upon expiration of the timeout period; and

wherein the link output circuitry is adapted to check the table with reference to the destination address of the second packet to determine whether the table contains the entry, and to send the second packet only when the entry is absent from the table.

6. A device according to claim 5 , wherein the link output circuitry is adapted to restore the entry corresponding to the destination address to the table upon transmitting the second packet.

7. A network end-node device, for transmitting a sequence of data packets over a network, including at least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths, the device comprising:

a memory, configured to hold a flow control table; and

link output circuitry adapted to transmit the first packet to the destination address and, responsive to transmitting the first packet, to place an entry in the flow control table and to set a timeout period for the entry responsive to the first length, and to transmit the second packet only after the timeout period has expired;

wherein the link output circuitry is adapted to place a plurality of entries in the table corresponding to different destination addresses in the network to which the packets in the sequence are directed, including the entry in the flow control table corresponding to the destination address of the first packet; and

wherein some of the destination addresses in the network are subject to static flow control, while others are not, and wherein an attribute is associated with each of the packets indicating whether the destination addresses of the packets are subject to the static flow control, and wherein the link output circuitry is adapted to place each of the entries in the table responsive to the attribute.

8. A network end-node device, for transmitting a sequence of data packets over a network, including at least first and second packets having a common destination address on the network, the first and second packets having respective first and second lengths, the device comprising:

a memory, configured to hold a flow control table; and

link output circuitry adapted to transmit the first packet to the destination address and, responsive to transmitting the first packet, to place an entry in the flow control table and to set a timeout period for the entry responsive to the first length, and to transmit the second packet only after the timeout period has expired;

wherein the link output circuitry is adapted to place a plurality of entries in the table corresponding to different destination addresses in the network to which the packets in the sequence are directed, including the entry in the flow control table corresponding to the destination address of the first packet; and

wherein the memory has a size allocated to the table that is determined according to a maximum number of the different destination addresses to which static flow control scheduling is likely to be applied simultaneously.

Assignments (2)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37900/0720 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 046542/0792 →
PATENT SECURITY AGREEMENT Recorded Feb 24, 2016
From: MELLANOX TECHNOLOGIES, LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037900/0720 →