IP Library Granted Patent US 12689537
Granted Patent B2
US 12689537 · App. 17/660,385 · Granted Jul 21, 2026

Single-producer-multiple consumers synchronization and multicast data transfer

Inventors: Vijayalakshmi Srinivasan (New York City, NY); Scot Rider (Pleasant Valley, NY); Swagath Venkataramani (White Plains, NY); Kailash Gopalakrishnan (New York City, NY); Sunil K Shukla (Scarsdale, NY); Brian William Curran (Saugerties, NY); Martin A Lutz (Peekskill, NY)
Assignee: International Business Machines Corporation
H04L12/185H04L41/0826H04L41/16H04L41/5019
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 12689537
App. No.
17/660,385
Granted
Jul 21, 2026
Kind
B2
Abstract

Embodiments for providing single-producer-multiple consumers synchronization and multicast data transfer by a processor are disclosed. Multicast data transfer is synchronized based on an identification tag and a request from each one of a plurality of recipients for the multicast data. The multicast data is transferred to each of the plurality of recipients based on the identification tag, the request from each one of the plurality of recipients, and a list of the plurality of recipients.

Claims (32)

1 . A method for providing single-producer-multiple consumers synchronization and multicast data transfer in a computing environment by one or more processors comprising:

constructing a list of recipients for a multicast group, wherein the constructing is done in real time based on a notification for a multicast request and the list includes a plurality of recipients;

initiating a multicast data transfer that is generated by a producer and is configured to be sent to the plurality of recipients, wherein the plurality of recipients are consumers of the multicast data transfer, and the multicast data transfer is associated with an identification tag;

synchronizing, in response to the initiating and the constructing, the multicast data transfer based on the identification tag and a receiving a request from each one of the plurality of recipients for the multicast data transfer, wherein the identification tag is a common identification tag for the plurality of recipients; and

transferring, in response to the synchronizing, the multicast data to each of the plurality of recipients based on the identification tag and the receiving the request from each one of the plurality of recipients, wherein the synchronizing includes delaying the transferring of the multicast data to each of the one or more recipients until the receiving the request from each of the plurality of recipients.

2 . The method of claim 1 , further including determining one or more data sharing patterns between the plurality of recipients.

3 . The method of claim 1 , further including forming the plurality of recipients as the multicast group based on data sharing patterns.

4 . The method of claim 1 , further including assigning the identification tag to the plurality of recipients.

5 . The method of claim 1 , further including generating a list of destination address of the plurality of recipients.

6 . The method of claim 1 , wherein the request from each one of the plurality of recipients indicates each recipient is ready to receive the multicast data.

7 . The method of claim 6 , wherein each request indicates a local memory address for each recipient of the plurality of recipients.

8 . A system for providing single-producer-multiple consumers synchronization and multicast data transfer in a computing environment, comprising:

one or more computers with executable instructions that when executed cause the system to:

construct a list of recipients for a multicast group, wherein the construction is done in real time based on a notification for a multicast request and the list includes a plurality of recipients;

initiate a multicast data transfer that is generated by a producer and is configured to be sent to the plurality of recipients, wherein the plurality of recipients are consumers of the multicast data transfer, and the multicast data transfer is associated with an identification tag;

synchronize, in response to the initiation and the construction, the multicast data transfer based on the identification tag and a receiving a request from each one of the plurality of recipients for the multicast data transfer, wherein the identification tag is a common identification tag for the plurality of recipients; and

transfer, in response to the synchronization, the multicast data to each of the plurality of recipients based on the identification tag and the receiving the request from each one of the plurality of recipients, wherein the synchronizing includes delaying the transferring of the multicast data to each of the one or more recipients until the receiving the request from each of the plurality of recipients.

9 . The system of claim 8 , wherein the executable instructions when executed cause the system to determine one or more data sharing patterns between the plurality of recipients.

10 . The system of claim 8 , wherein the executable instructions when executed cause the system to form the plurality of recipients as the multicast group based on data sharing patterns.

11 . The system of claim 8 , wherein the executable instructions when executed cause the system to assign the identification tag to the plurality of recipients.

12 . The system of claim 8 , wherein the executable instructions when executed cause the system to generate a list of destination address of the plurality of recipients.

13 . A computer program product for providing single-producer-multiple consumers synchronization and multicast data transfer in a computing environment, the computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instruction comprising:

program instruction to construct a list of recipients for a multicast group, wherein the construction is done in real time based on a notification for a multicast request and the list includes a plurality of recipients;

program instructions to initiate a multicast data transfer that is generated by a producer and is configured to be sent to the plurality of recipients, wherein the plurality of recipients are consumers of the multicast data transfer, and the multicast data transfer is associated with an identification tag;

program instructions to synchronize, in response to the initiation and the construction, the multicast data transfer based on the identification tag and a receiving a request from each one of the plurality of recipients for the multicast data transfer, wherein the identification tag is a common identification tag for the plurality of recipients; and

program instructions to transfer, in response to the synchronization, the multicast data to each of the plurality of recipients based on the identification tag and the receiving the request from each one of the plurality of recipients, wherein the synchronizing includes delaying the transferring of the multicast data to each of the one or more recipients until the receiving the request from each of the plurality of recipients.

14 . The computer program product of claim 13 , further including program instructions to determine one or more data sharing patterns between the plurality of recipients.

15 . The computer program product of claim 13 , further including program instructions to:

form the plurality of recipients as the multicast group based on data sharing patterns.

16 . The computer program product of claim 13 , further including program instructions to assign the identification tag to the plurality of recipients.

17 . The computer program product of claim 13 , further including program instructions to generate a list of destination address of the plurality of recipients.