IP Library Granted Patent US 10,735,509
Granted Patent B2
US 10,735,509 · App. 15/885,762 · Granted Aug 4, 2020

Systems and methods for synchronizing microservice data stores

Inventors: Qing Li (Cupertino, CA); Min Hao Chen (Milpitas, CA); Wenjing Wang (Sunnyvale, CA)
Assignee: CA, Inc.
H04L67/1095G06F9/5088G06F16/27H04L67/20
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 10,735,509
App. No.
15/885,762
Granted
Aug 4, 2020
Kind
B2
Abstract

The disclosed computer-implemented method for synchronizing microservice data stores may include (i) establishing, at a first network node, an instance of a first microservice for an application and an instance of a distinct second microservice, (ii) establishing, at a distinct second network node, an additional instance of the first microservice and an additional instance of the distinct second microservice, (iii) establishing a single network channel for synchronizing, between the first network node and the distinct second network node, a first data store for the first microservice and a second data store for the distinct second microservice, and (iv) synchronizing the first data store for the first microservice and the second data store for the distinct second microservice. Various other methods, systems, and computer-readable media are also disclosed.

Claims (53)

1. A computer-implemented method for synchronizing microservice data stores, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

establishing, at a first network node, an instance of a first microservice for an application and an instance of a distinct second microservice;

establishing, at a distinct second network node, an additional instance of the first microservice and an additional instance of the distinct second microservice;

establishing a single network channel for synchronizing, between the first network node and the distinct second network node, a first data store for the first microservice and a second data store for the distinct second microservice; and

synchronizing, across the single network channel between the first network node and the distinct second network node, the first data store for the first microservice and the second data store for the distinct second microservice, such that the synchronizing is adjusted based on an analysis of context information for both the first microservice and the distinct second microservice, rather than synchronizing the first data store and the second data store independently across two separate network channels;

wherein:

a synchronization engine schedules a transmission of at least one network packet based on the analysis of the context information for both the first microservice and the distinct second microservice; and

the network packet includes within a payload data from both the first microservice and the distinct second microservice.

2. The computer-implemented method of claim 1 ,

wherein the context information defines at least one of:

a specification of delay tolerance; or

an indication of whether encryption is applied.

3. The computer-implemented method of claim 1 , wherein the context information defines at least one of:

a specification of an update frequency; or

a priority categorization.

4. The computer-implemented method of claim 1 , wherein synchronizing the first data store for the first microservice and the second data store for the distinct second microservice enables high availability of intra-transaction data for a cloud service according to a high availability protocol.

5. The computer-implemented method of claim 1 , wherein synchronizing the first data store for the first microservice and the second data store for the distinct second microservice is performed as part of a third-party cloud computing service provided by a security vendor that ensures a level of security to protect users of the application.

6. The computer-implemented method of claim 1 , wherein the first network node and the distinct second network node belong to a cloud computing cluster.

7. The computer-implemented method of claim 6 , wherein all nodes belonging to the cloud computing cluster are homogeneous such that the cloud computing cluster functions as a full mesh network without a static master node.

8. The computer-implemented method of claim 7 , wherein the full mesh network is self-healing.

9. The computer-implemented method of claim 7 , wherein all nodes belonging to the cloud computing cluster dynamically synchronize the first data store for the first microservice and the second data store for the distinct second microservice such that each node belonging to the cloud computing cluster maintains access to the first data store for the first microservice and the second data store for the distinct second microservice.

10. The computer-implemented method of claim 1 , wherein synchronizing, across the single network channel between the first network node and the distinct second network node, the first data store for the first microservice and the second data store for the distinct second microservice reduces a number of network channels in comparison to synchronizing the first data store and the second data store independently across two separate network channels.

11. A system for synchronizing microservice data stores, the system comprising:

an establishment module, stored in memory, that:

establishes, at a first network node, an instance of a first microservice for an application and an instance of a distinct second microservice;

establishes, at a distinct second network node, an additional instance of the first microservice and an additional instance of the distinct second microservice; and

establishes a single network channel for synchronizing, between the first network node and the distinct second network node, a first data store for the first microservice and a second data store for the distinct second microservice;

a synchronization module, stored in memory, that synchronizes, across the single network channel between the first network node and the distinct second network node, the first data store for the first microservice and the second data store for the distinct second microservice, such that the synchronizing is adjusted based on an analysis of context information for both the first microservice and the distinct second microservice, rather than synchronizing the first data store and the second data store independently across two separate network channels; and

at least one physical processor configured to execute the establishment module and the synchronization module;

wherein:

a synchronization engine schedules a transmission of at least one network packet based on the analysis of the context information for both the first microservice and the distinct second micro service; and

the network packet includes within a payload data from both the first microservice and the distinct second microservice.

12. The system of claim 11 ,

wherein the context information defines at least one of:

a specification of delay tolerance; or

an indication of whether encryption is applied.

13. The system of claim 11 , wherein the context information defines at least one of:

a specification of an update frequency; or

a priority categorization.

14. The system of claim 11 , wherein the synchronization module synchronizes the first data store for the first microservice and the second data store for the distinct second microservice in a manner that enables high availability of intra-transaction data for a cloud service according to a high availability protocol.

15. The system of claim 11 , wherein the synchronization module synchronizes the first data store for the first microservice and the second data store for the distinct second microservice as part of a third-party cloud computing service provided by a security vendor that ensures a level of security to protect users of the application.

16. The system of claim 11 , wherein the first network node and the distinct second network node belong to a cloud computing cluster.

17. The system of claim 16 , wherein all nodes belonging to the cloud computing cluster are homogeneous such that the cloud computing cluster functions as a full mesh network without a static master node.

18. The system of claim 17 , wherein the full mesh network is self-healing.

19. The system of claim 17 , wherein all nodes belonging to the cloud computing cluster dynamically synchronize the first data store for the first microservice and the second data store for the distinct second microservice such that each node belonging to the cloud computing cluster maintains access to the first data store for the first microservice and the second data store for the distinct second microservice.

20. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

establish, at a first network node, an instance of a first microservice for an application and an instance of a distinct second microservice;

establish, at a distinct second network node, an additional instance of the first microservice and an additional instance of the distinct second microservice;

establish a single network channel for synchronizing, between the first network node and the distinct second network node, a first data store for the first microservice and a second data store for the distinct second microservice; and

synchronize, across the single network channel between the first network node and the distinct second network node, the first data store for the first microservice and the second data store for the distinct second microservice, such that the synchronizing is adjusted based on an analysis of context information for both the first microservice and the distinct second microservice, rather than synchronizing the first data store and the second data store independently across two separate network channels;

wherein:

a synchronization engine schedules a transmission of at least one network packet based on the analysis of the context information for both the first microservice and the distinct second micro service; and

the network packet includes within a payload data from both the first microservice and the distinct second microservice.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2018
From: LI, QING; CHEN, MIN HAO; WANG, WENJING
To: SYMANTEC CORPORATION
Reel/Frame 044836/0869 →
Continuity (1)
Related Publication 20190238636A1 · Aug 1, 2019