IP Library Granted Patent US 11,734,068
Granted Patent B1
US 11,734,068 · App. 17/935,461 · Granted Aug 22, 2023

Synchronization system based on dynamic data dependency in a federated fashion to reach eventual consistency

Inventors: Samkeet Sanjay Shah (Mountain View, CA); Hao Chi Lieu (Mountain View, CA); Fangzhou Xu (Mountain View, CA); Ameen Radwan (Mountain View, CA); Abhishek Surendra Singh Dhabriya (Mountain View, CA); Omer Sheen Azmon (Mountain View, CA); Aditi Rajawat (Mountain View, CA); Ankith A. Aiyar (Mountain View, CA); Gennadiy Ziskind (Mountain View, CA)
Assignee: INTUIT INC.
G06F9/5005G06F16/2455
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 11,734,068
App. No.
17/935,461
Granted
Aug 22, 2023
Kind
B1
Abstract

The disclosed system and methods are directed to a data-driven choreography of microservices sagas that enable the composition of microservices without depriving each individual microservice of its independence.

Claims (45)

1. A system comprising:

a server comprising one or more processors; and

a non-transitory memory, in communication with the server, storing instructions that when executed by the one or more processors, causes the one or more processors to implement a method comprising:

responsive to receiving a microservice composition request from a requesting microservice:

publishing a sub-graph schema on a microservice framework;

broadcasting a federated mutation request on the microservice framework to one or more microservices;

extracting a sub-graph associated with the requesting microservice;

creating one or more data-driven dependencies by replacing one or more values of the sub-graph with a reference link;

resolving the one or more data-driven dependencies, the resolving comprising replacing the reference link with new values from the status events and idempotently executing business logic ;

publishing a business logic event status on the microservice framework in response to idempotently executing business logic.

2. The system of claim 1 , wherein the reference link is a single key-value pair, and the single key-value pair adheres to a syntax such that a key is represented by a symbol followed by an event processor name, and a value is represented by a JSON path to an element in a status event associated with an independent microservice.

3. The system of claim 1 , wherein publishing the sub-graph schema further comprises publishing parameter requirements associated with the requesting microservice.

4. The system of claim 1 , further comprising monitoring the microservice framework for status event receipts associated with status events of the one or more microservices.

5. The system of claim 1 , wherein extracting the sub-graph, further comprises extracting the sub-graph from a supergraph with including additional sub-graphs associated with the one or more independent microservices.

6. The system of claim 1 , wherein resolving the one or more data-driven dependencies further comprises using a unique supergraph transaction identifier to locate events associated with the federated mutation request on the microservice framework.

7. The system of claim 1 , wherein idempotently executing business logic further comprises transmitting a transaction associated with the federated mutation request from the microservice framework to an idempotent business layer.

8. The system of claim 1 , wherein the one or more independent microservices each extract their corresponding sub-graphs in response to receiving the broadcasted federated mutation request.

9. A computer-implemented method comprising:

responsive to receiving a microservice composition request from a requesting microservice:

publishing a sub-graph schema on a microservice framework;

broadcasting a federated mutation request on the microservice framework to one or more microservices;

extracting a sub-graph associated with the requesting microservice;

creating one or more data-driven dependencies by replacing one or more values of the sub-graph with a reference link;

resolving the one or more data-driven dependencies, the resolving comprising replacing the reference link with new values from the status events; and

terminating the saga in based on the one or more data-driven dependencies being resolved.

10. The computer-implemented method of claim 9 , further comprises idem potently executing business logic in response to resolving the one or more data-driven dependencies; and publishing a business logic event status on the microservice framework.

11. The computer-implemented method of claim 9 , wherein the reference link is a single key-value pair, and the single key-value pair adheres to a syntax such that a key is represented by a symbol followed by an event processor name, and a value is represented by a JSON path to an element in a status event associated with an independent microservice.

12. The computer-implemented method of claim 9 , wherein publishing the sub-graph schema further comprises publishing parameter requirements associated with the requesting microservice.

13. The computer-implemented method of claim 9 , further comprising monitoring the microservice framework for status event receipts associated with status events of the one or more independent microservices.

14. The computer-implemented method of claim 9 , wherein extracting the sub-graph, further comprises extracting the sub-graph from a supergraph with including additional sub-graphs associated with the one or more independent microservices.

15. The computer-implemented method of claim 9 , wherein resolving the one or more data-driven dependencies further comprises using a unique supergraph transaction identifier locate events associated with the federated mutation request on the microservice framework.

16. The computer-implemented method of claim 10 , wherein idempotently executing business logic further comprises transmitting a transaction associated with the federated mutation request from the microservice framework to an idempotent business layer.

17. A system comprising:

a server comprising one or more processors; and

a non-transitory memory, in communication with the server, storing instructions that when executed by the one or more processors, causes the one or more processors to implement a method comprising:

responsive to receiving a microservice composition request from a requesting microservice:

publishing a sub-graph schema on a microservice framework;

broadcasting a federated mutation request on the microservice framework to one or more microservices;

extracting a sub-graph associated with the requesting microservice;

creating one or more data-driven dependencies by replacing one or more values of the sub-graph with a reference link;

resolving the one or more data-driven dependencies, the resolving comprising replacing the reference link with new values from the status events; and

terminating the saga based on the one or more data-driven dependencies being resolved.

18. The system of claim 17 , further comprises idempotently executing business logic in response to resolving the one or more data-driven dependencies; and publishing a business logic event status on the microservice framework.

19. The system of claim 17 , wherein the reference link is a single key-value pair, and the single key-value pair adheres to a syntax such that a key is represented by a symbol followed by an event processor name, and a value is represented by a JSON path to an element in a status event associated with an independent microservice.

20. The system of claim 17 , wherein publishing the sub-graph schema further comprises publishing parameter requirements associated with the requesting microservice.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2023
From: SHAH, SAMKEET SANJAY; LIEU, HAO CHI; XU, FANGZHOU; RADWAN, AMEEN; DHABRIYA, ABHISHEK SURENDRA SINGH; AZMON, OMER SHEEN; RAJAWAT, ADITI; AIYAR, ANKITH A.; ZISKIND, GENNADIY
To: INTUIT INC.
Reel/Frame 063332/0594 →
Cited By (1)
US 12,299,038