Patent ID: 8244902

Claim:
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.