Device, system, and method of publishing information to multiple subscribers
First Claim
Patent Images
1. A Remote Direct Memory Access (RDMA) data publisher capable of communication with one or more RDMA subscribers, the data RDMA publisher comprising:
- a memory allocator to allocate a memory area of a local memory unit of the RDMA data publisher for storing data to be accessible for RDMA read operations by one or more of said RDMA subscribers,wherein the memory area comprises one or more message stores able to store a plurality of messages corresponding to said data,wherein each message store is capable of serving a plurality of subscribers simultaneously,wherein each message store comprises a cyclic buffer of messages,wherein the RDMA data publisher is to write messages into the cyclic buffer utilizing a structure which enables each RDMA subscriber (a) to autonomously detect loss of messages, and (b) to autonomously re-read lost messages via RDMA,wherein the RDMA data publisher is to write messages into the cyclic buffer independently from operations of the RDMA subscribers and independently from a subscriber request to perform RDMA read of one or more particular messages from the message store,wherein a first RDMA subscriber is authorized by the RDMA data publisher to remotely pull data using RDMA from a first message store and is not authorized by the data publisher to remotely pull data using RDMA from a second message store,wherein the first RDMA subscriber and a second RDMA subscriber are authorized by the RDMA data publisher to concurrently pull data from the first message store,wherein the first RDMA subscriber is to remotely pull messages from the first message store at a first pace using RDMA read operations, and wherein the second RDMA subscriber is to concurrently remotely pull the same messages from the first message store at a second, different, pace using RDMA read operations.
4 Assignments
0 Petitions
Accused Products
Abstract
Device, system, and method of publishing information to multiple subscribers. For example, a data publisher capable of communication with one or more subscribers includes: a memory allocator to allocate a memory area of a local memory unit of the data publisher for storing data to be accessible for Remote Direct Memory Access (RDMA) read operations by one or more of said subscribers.
-
Citations
23 Claims
-
1. A Remote Direct Memory Access (RDMA) data publisher capable of communication with one or more RDMA subscribers, the data RDMA publisher comprising:
-
a memory allocator to allocate a memory area of a local memory unit of the RDMA data publisher for storing data to be accessible for RDMA read operations by one or more of said RDMA subscribers, wherein the memory area comprises one or more message stores able to store a plurality of messages corresponding to said data, wherein each message store is capable of serving a plurality of subscribers simultaneously, wherein each message store comprises a cyclic buffer of messages, wherein the RDMA data publisher is to write messages into the cyclic buffer utilizing a structure which enables each RDMA subscriber (a) to autonomously detect loss of messages, and (b) to autonomously re-read lost messages via RDMA, wherein the RDMA data publisher is to write messages into the cyclic buffer independently from operations of the RDMA subscribers and independently from a subscriber request to perform RDMA read of one or more particular messages from the message store, wherein a first RDMA subscriber is authorized by the RDMA data publisher to remotely pull data using RDMA from a first message store and is not authorized by the data publisher to remotely pull data using RDMA from a second message store, wherein the first RDMA subscriber and a second RDMA subscriber are authorized by the RDMA data publisher to concurrently pull data from the first message store, wherein the first RDMA subscriber is to remotely pull messages from the first message store at a first pace using RDMA read operations, and wherein the second RDMA subscriber is to concurrently remotely pull the same messages from the first message store at a second, different, pace using RDMA read operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of publishing data to one or more Remote Direct Memory Access (RDMA) subscribers, the method comprises:
-
allocating a memory area of a local memory unit of a RDMA data publisher for storing data to be accessible for RDMA read operations by one or more of said subscribers, wherein allocating the memory area comprises creating one or more message stores able to store a plurality of messages corresponding to said data, wherein each message store is capable of serving a plurality of subscribers simultaneously, wherein each message store comprises a cyclic buffer of messages; writing messages into the cyclic buffer utilizing a structure which enables each RDMA subscriber (a) to autonomously detect loss of messages, and (b) to autonomously re-read lost messages via RDMA; writing messages into the cyclic buffer independently from operations of the RDMA subscribers and independently from a subscriber request to perform RDMA read of one or more particular messages from the message store; authorizing a first RDMA subscriber to remotely pull data using RDMA from a first message store and un-authorizing the first RDMA subscriber to remotely pull data using RDMA from a second message store; authorizing the first RDMA subscriber and a second RDMA subscriber to concurrently pull data from the first message store; authorizing the first RDMA subscriber to remotely pull messages from the first message store at a first pace using RDMA read operations, and authorizing the second RDMA subscriber to concurrently remotely pull the same messages from the first message store at a second, different, pace using RDMA read operations. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification