IP Library Granted Patent US 8,244,902
Granted Patent B2
US 8,244,902 · App. 13/334,216 · Granted Aug 14, 2012

Device, system, and method of distributing messages

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,244,902
App. No.
13/334,216
Granted
Aug 14, 2012
Kind
B2
Abstract

Device, system, and method of distributing messages. For example, a data publisher capable of communication with a plurality of subscribers via a network fabric, the data publisher comprising: a memory allocator to allocate a memory area of a local memory unit of the data publisher to be accessible for Remote Direct Memory Access (RDMA) read operations by one or more of the subscribers; and a publisher application to create a message log in said memory area, to send a message to one or more of the subscribers using a multicast transport protocol, and to store in said memory area a copy of said message. A subscriber device handles recovery of lost messages by directly reading the lost messages from the message log of the data publisher using RDMA read operation(s).

Claims (36)

1. A data publisher for communicating with a plurality of subscriber devices via a network fabric, the data publisher comprising:

a memory allocator to allocate a memory area of a local memory unit of the data publisher to be accessible for Remote Direct Memory Access (RDMA) read operations by one or more of the subscriber devices; and

a publisher application configured (a) to create a message log in said memory area, (b) to send messages to subscriber devices using a multicast transport protocol, and (c) to store in said memory area copies of said messages;

a message builder to insert, into a header each message that is sent to subscriber devices using the multicast transport protocol, information that allows a subscriber device to (A) autonomously calculate a virtual memory address in the message log of the publisher device, at which a copy of a missing message is stored, the missing message comprising a multicast message that was sent by the publisher device using the multicast transport protocol after a first message received by the subscriber device and before a second message received by the subscriber device; (B) autonomously perform one or more RDMA read operations to autonomously retrieve said missing message from said message log of the publisher device, without utilizing control messages and without obtaining a specific approval of the publisher device for performing the one or more RDMA read operations; (C) retrieve the missing message via RDMA in parallel to reception of further one or more multicast messages from the publisher device;

wherein the data publisher is implemented by utilizing at least a hardware component.

2. The data publisher of claim 1 , wherein one or more of the subscriber devices are authorized by the data publisher to read one or more messages stored in said memory area using one or more RDMA read operations independently of access to said memory area by other subscriber devices.

3. The data publisher of claim 1 , wherein the memory area comprises a cyclic buffer able to store copies of messages sent using the multicast transport protocol by the publisher application to the subscriber devices.

4. The data publisher of claim 1 , wherein the header comprises:

a value indicating a sequence number of said message;

a value indicating a size of said message; and

a value indicating a virtual memory address of a memory location of said memory area in which the copy of said message is stored.

5. The data publisher of claim 1 , wherein the header comprises:

a value indicating a sequence number of said message; and

a value indicating a virtual memory address of said memory area in which a copy of a message consecutive to said message is stored.

6. The data publisher of claim 1 , wherein the publisher application is to send said message using the multicast transport protocol through InfiniBand hardware.

7. The data publisher of claim 1 , wherein the publisher application is to send said message by one or more operations that bypass an Operating System (OS) of the data publisher.

8. The data publisher of claim 1 , wherein the memory area is registered to be accessible through RDMA read operations by a RDMA-capable hardware component of one or more of the subscriber devices.

9. A method of distributing messages from a data publisher to subscriber devices via a network fabric, the method comprising:

allocating a memory area of a local memory unit of the data publisher to be accessible for Remote Direct Memory Access (RDMA) read operations by one or more of the subscriber devices; creating a message log in said memory area;

sending messages to subscriber devices using a multicast transport protocol;

storing in said memory area copies of said messages; wherein, prior to sending each message, the method comprises inserting, into a header each message that is sent to subscriber devices using the multicast transport protocol, information that allows a subscriber device to (A) autonomously calculate a virtual memory address in the message log of the publisher device, at which a copy of a missing message is stored, the missing message comprising a multicast message that was sent by the publisher device using the multicast transport protocol after a first message received by the subscriber device and before a second message received by the subscriber device; (B) autonomously perform one or more RDMA read operations to autonomously retrieve said missing message from said message log of the publisher device, without utilizing control messages and without obtaining a specific approval of the publisher device for performing the one or more RDMA read operations; (C) retrieve the missing message via RDMA in parallel to reception of further one or more multicast messages from the publisher device.

10. The method of claim 9 , wherein one or more of the subscriber devices are authorized by the data publisher to read one or more messages stored in said memory area using one or more RDMA read operations independently of access to said memory area by other subscriber devices.

11. The method of claim 9 , wherein allocating the memory area comprises:

creating a cyclic buffer able to store copies of messages sent using the multicast transport protocol by the publisher application to the subscriber devices.

12. The method of claim 9 , wherein the header comprises:

a value indicating a sequence number of said message;

a value indicating a size of said message; and

a value indicating a virtual memory address of a memory location of said memory area in which the copy of said message is stored.

13. The method of claim 9 , wherein the header comprises:

a value indicating a sequence number of said message; and

a value indicating a virtual memory address of said memory area in which a copy of a message consecutive to said message is stored.

14. The method of claim 9 , comprising:

sending said message using the multicast transport protocol through InfiniBand hardware.

15. The method of claim 9 , comprising:

sending said message by one or more operations that bypass an Operating System (OS) of the data publisher.

16. The method of claim 9 , wherein the memory area is registered to be accessible through RDMA read operations by a RDMA-capable hardware component of one or more of the subscriber devices.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37898/0959 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 046542/0699 →
PATENT SECURITY AGREEMENT Recorded Feb 23, 2016
From: MELLANOX TECHNOLOGIES TLV LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037898/0959 →
CHANGE OF NAME Recorded Apr 24, 2013
From: VOLTAIRE LTD
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 030271/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2012
From: OVED, TZAH
To: VOLTAIRE LTD.
Reel/Frame 027859/0169 →