IP Library Granted Patent US 8,989,011
Granted Patent B2
US 8,989,011 · App. 13/802,926 · Granted Mar 24, 2015

Communication over multiple virtual lanes using a shared buffer

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 8,989,011
App. No.
13/802,926
Granted
Mar 24, 2015
Kind
B2
Abstract

A method for communication includes, in a sender node that sends packets to a receiver node over a physical link, making a decision, for a packet that is associated with a respective virtual link selected from among multiple virtual links, whether the receiver node is to buffer the packet in a dedicated buffer assigned to the respective virtual link or in a shared buffer that is shared among the multiple virtual links. The packet is sent, and the decision is signaled, from the sender node to the receiver node.

Claims (31)

1. A method for communication, comprising:

in a sender node that sends packets to a receiver node over a physical link, making a decision, for a packet that is associated with a respective virtual link selected from among multiple virtual links, whether the receiver node is to buffer the packet in a dedicated buffer assigned to the respective virtual link or in a shared buffer that is shared among the multiple virtual links; and

sending the packet, and signaling the decision, from the sender node to the receiver node.

2. The method according to claim 1 , wherein making the decision comprises receiving from the receiver node credit reports that are indicative of an available space in each of the dedicated buffers and in the shared buffer, and making the decision depending on the credit reports.

3. The method according to claim 2 , wherein making the decision comprises deciding to buffer the packet in the shared buffer if the shared buffer has the available space for buffering the packet, and to buffer the packet in the dedicated buffer only if the shared buffer does not have the available space.

4. The method according to claim 1 , wherein signaling the decision comprises assigning a value indicative of the decision to a bit in a header of the packet.

5. The method according to claim 1 , wherein signaling the decision comprises sending the decision in a signaling command separate from the packet.

6. The method according to claim 1 , wherein sending the packet comprises sending in a header of the packet both a first field indicating the decision and a second field indicating the virtual link.

7. A method for communication, comprising:

in a receiver node that receives packets sent from a sender node over a physical link, receiving a packet that is associated with a respective virtual link selected from among multiple virtual links;

receiving from the sender node an instruction whether to buffer the packet in a dedicated buffer assigned to the respective virtual link or in a shared buffer that is shared among the multiple virtual links; and

buffering the packet in the dedicated buffer or in the shared buffer, in accordance with the instruction.

8. The method according to claim 7 , wherein receiving the instruction comprises receiving a bit value indicative of the instruction in a header of the packet.

9. The method according to claim 7 , wherein receiving the instruction comprises receiving the instruction in a signaling command separate from the packet.

10. The method according to claim 7 , wherein receiving the packet comprises receiving in a header of the packet both a first field indicating the instruction and a second field indicating the virtual link.

11. The method according to claim 7 , and comprising advertising from the receiver node respective credit values, which are indicative of an available space in the shared buffer and in each of the dedicated buffers.

12. A communication node, comprising:

an output circuit, which is configured to send data packets to a receiver node over a physical link; and

a controller, which is configured to make a decision, for a packet that is associated with a respective virtual link selected from among multiple virtual links, whether the receiver node is to buffer the packet in a dedicated buffer assigned to the respective virtual link or in a shared buffer that is shared among the multiple virtual links, and to send the packet and signal the decision to the receiver node via the output circuit.

13. The communication node according to claim 12 , wherein the controller is configured to receive from the receiver node credit reports that are indicative of an available space in each of the dedicated buffers and in the shared buffer, and to make the decision depending on the credit reports.

14. The communication node according to claim 13 , wherein the controller is configured to decide to buffer the packet in the shared buffer if the shared buffer has the available space for buffering the packet, and to decide to buffer the packet in the dedicated buffer only if the shared buffer does not have the available space.

15. The communication node according to claim 12 , wherein the controller is configured to signal the decision by assigning a value indicative of the decision to a bit in a header of the packet.

16. The communication node according to claim 12 , wherein the controller is configured to signal the decision by sending the decision in a signaling command separate from the packet.

17. The communication node according to claim 12 , wherein the controller is configured to send in a header of the packet both a first field indicating the decision and a second field indicating the virtual link.

18. A communication node, comprising:

an input circuit, which is configured to receive data packets from a sender node over a physical link; and

a controller, which is configured to receive from the sender node a packet that is associated with a respective virtual link selected from among multiple virtual links, to receive from the sender node an instruction whether to buffer the packet in a dedicated buffer assigned to the respective virtual link or in a shared buffer that is shared among the multiple virtual links, and to buffer the packet in the dedicated buffer or in the shared buffer, in accordance with the instruction.

19. The communication node according to claim 18 , wherein the controller is configured to receive the instruction by receiving a bit value indicative of the instruction in a header of the packet.

20. The communication node according to claim 18 , wherein the controller is configured to receive the instruction in a signaling command separate from the packet.

21. The communication node according to claim 18 , wherein the controller is configured to receive in a header of the packet both a first field indicating the instruction and a second field indicating the virtual link.

22. The communication node according to claim 18 , wherein the controller is configured to advertise to the sender node respective credit values, which are indicative of an available space in the shared buffer and in each of the dedicated buffers.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: RAVID, RAN; HARAMATY, ZACHY; KRISS, ROY; WERTHEIM, ODED
To: MELLANOX TECHNOLOGIES LTD.
Reel/Frame 029992/0769 →