IP Library Granted Patent US 12671732
Granted Patent B2
US 12671732 · App. 17/875,548 · Granted Jun 30, 2026

Distributed transactions over broadcast communication channel within microservices environment

Inventors: Eitan Klein (James, NY); Jonathan Baier (Lovettsville, VA); Mohammed Balal Ahmed (Jersey City, NJ)
Assignee: ADP, Inc.
H04L67/10H04L67/63
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 12671732
App. No.
17/875,548
Granted
Jun 30, 2026
Kind
B2
Abstract

Aspects of the present disclosure relate to distributed transactions over a broadcast communication channel within a microservices environment. In embodiments, a method includes: receiving a request to process distributed transactions input in a data schema in order to perform a task of an application in a cloud computing environment; broadcasting to a plurality of microservices a multicast message requesting availability to execute the distributed transactions in the data schema; receiving confirmation of preparation from at least one of the plurality of microservices to execute one or more of the distributed transactions in the data schema; sending at least one unicast message to the at least one of the of the plurality of microservices to execute the one or more of the distributed transactions in the data schema; and receiving an acknowledgement of the execution of each of the distributed transactions in the data schema.

Claims (63)

1 . A method, comprising:

receiving, by a computing device, a request to process distributed transactions input in a data schema in order to perform a task of an application in a cloud computing environment, wherein the data schema identifies a plurality of types of the distributed transactions involving a respective plurality of databases in the cloud computing environment;

broadcasting, by the computing device, to a plurality of microservices in the cloud computing environment, a multicast message requesting availability to execute one or more of the plurality of types of the distributed transactions in the data schema;

sending, by the computing device, one or more messages to one or more of the plurality of microservices in the cloud computing environment to make preparations to execute the one or more of the distributed transactions in the data schema;

receiving, by the computing device, confirmation of preparation from at least two microservices of the plurality of microservices in the cloud computing environment, the confirmation generated subsequent to resources being locked by the at least two microservices in preparation to execute the one or more of the plurality of types of the distributed transactions in the data schema;

selecting, by the computing device, a microservice from the at least two microservices based on a location of the resources locked by the at least two microservices;

sending, by the computing device, at least one message to the selected microservice in the cloud computing environment to execute the one or more of the distributed transactions in the data schema; and

receiving, by the computing device, an acknowledgement of the execution of each of the distributed transactions in the data schema from the selected microservice in the cloud computing environment.

2 . The method of claim 1 , further comprising generating, by the computing device, the multicast message requesting availability from the plurality of microservices to execute the distributed transactions in the data schema.

3 . The method of claim 1 , further comprising generating, by the computing device, the at least one message to send to the selected microservice in the cloud computing environment to execute the one or more of the distributed transactions in the data schema.

4 . The method of claim 1 , wherein:

the data schema delineates distributed transactions of various types involving heterogeneous databases in the cloud computing environment; and

each of the at least two of the plurality of microservices executes distributed transactions input in the data schema of a different type for each of the heterogeneous databases.

5 . The method of claim 1 , wherein the broadcasting comprises sending the multicast message to a multicast socket through a User Datagram Protocol tunnel in a RESTful protocol message.

6 . The method of claim 1 , further comprising:

receiving, by the computing device, at least one multicast message identifying at least one of the plurality of microservices in the cloud computing environment available to execute the one or more of the distributed transactions in the data schema; and

selecting, by the computing device, the microservice responsive to receiving the at least one multicast message.

7 . The method of claim 6 , wherein the receiving the at least one multicast message identifying the at least one of the plurality of microservices comprises:

receiving an identification of an instance of the microservice; and

receiving a unicast port for communicating with that instance of the microservice.

8 . The method of claim 1 , further comprising marking, by the computing device, each transaction with an acknowledgement of the execution as completed in a transaction database.

9 . The method of claim 1 , further comprising sending, by the computing device, to the application in the cloud computing environment confirmation that the distributed transactions in the data schema were executed.

10 . The method of claim 1 , wherein the receiving confirmation comprises receiving confirmation of preparation from two instances of a same microservice to execute different distributed transactions of the one or more of the distributed transactions in the data schema.

11 . A system, comprising:

one or more processors, coupled with memory, to:

receive a request to process distributed transactions input in a data schema in order to perform a task of an application in a cloud computing environment, wherein the data schema identifies a plurality of types of the distributed transactions involving a respective plurality of databases in the cloud computing environment;

broadcast, to a plurality of microservices in the cloud computing environment, a multicast message requesting availability to execute one or more of the plurality of types of the distributed transactions in the data schema;

send one or more messages to one or more of the plurality of microservices in the cloud computing environment to make preparations to execute the one or more of the distributed transactions in the data schema;

receive confirmation of preparation from at least two microservices of the plurality of microservices in the cloud computing environment, the confirmation generated subsequent to resources being locked by the at least two microservices in preparation to execute the one or more of the plurality of types of the distributed transactions in the data schema;

select a microservice from the at least two microservices based on a location of the resources locked by the at least two microservices;

send at least one message to the selected microservice in the cloud computing environment to execute the one or more of the distributed transactions in the data schema; and

receive an acknowledgement of the execution of each of the distributed transactions in the data schema from the selected microservice in the cloud computing environment.

12 . The system of claim 11 , wherein the one or more processors further:

generate the multicast message requesting availability from the plurality of microservices to execute the distributed transactions in the data schema.

13 . The system of claim 11 , wherein the one or more processors further:

generate the at least one message to send to the selected microservice in the cloud computing environment to execute the one or more of the distributed transactions in the data schema.

14 . The system of claim 11 , wherein:

the data schema delineates distributed transactions of various types involving heterogeneous databases in the cloud computing environment; and

each of the at least two of the plurality of microservices executes distributed transactions input in the data schema of a different type for each of the heterogeneous databases.

15 . The system of claim 11 , wherein to broadcast the multicast message, the one or more processors further:

send the multicast message to a multicast socket through a User Datagram Protocol tunnel in a RESTful protocol message.

16 . The system of claim 11 , wherein the one or more processors further:

receive at least one multicast message identifying at least one of the plurality of microservices in the cloud computing environment available to execute the one or more of the distributed transactions in the data schema; and

select the microservice responsive to receiving the at least one multicast message.

17 . The system of claim 16 , wherein to receive the at least one multicast message identifying the at least one of the plurality of microservices, the one or more processors further:

receive an identification of an instance of the microservice; and

receive a unicast port for communicating with that instance of the microservice.

18 . The system of claim 11 , wherein the one or more processors further:

mark each transaction with an acknowledgement of the execution as completed in a transaction database.

19 . The system of claim 11 , wherein the one or more processors further:

send, to the application in the cloud computing environment, confirmation that the distributed transactions in the data schema were executed.

20 . The system of claim 11 , wherein to receive the confirmation of preparation, the one or more processors further:

receive the confirmation of preparation from two instances of a same microservice to execute different distributed transactions of the one or more of the distributed transactions in the data schema.

21 . A non-transitory computer-readable medium storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors:

receive a request to process distributed transactions input in a data schema in order to perform a task of an application in a cloud computing environment, wherein the data schema identifies a plurality of types of the distributed transactions involving a respective plurality of databases in the cloud computing environment;

broadcast, to a plurality of microservices in the cloud computing environment, a multicast message requesting availability to execute one or more of the plurality of types of the distributed transactions in the data schema;

send one or more messages to one or more of the plurality of microservices in the cloud computing environment to make preparations to execute the one or more of the distributed transactions in the data schema;

receive confirmation of preparation from at least two microservices of the plurality of microservices in the cloud computing environment, the confirmation generated subsequent to resources being locked by the at least two microservices in preparation to execute the one or more of the plurality of types of the distributed transactions in the data schema;

select a microservice from the at least two microservices based on a location of the resources locked by the at least two microservices;

send at least one message to the selected microservice in the cloud computing environment to execute the one or more of the distributed transactions in the data schema; and

receive an acknowledgement of the execution of each of the distributed transactions in the data schema from the selected microservice in the cloud computing environment.

22 . The non-transitory computer-readable medium of claim 21 , wherein the processor-executable instructions further include instructions to:

generate the multicast message requesting availability from the plurality of microservices to execute the distributed transactions in the data schema.