IP Library Granted Patent US 11,144,572
Granted Patent B2
US 11,144,572 · App. 16/049,542 · Granted Oct 12, 2021

Centralized configuration database cache

Inventors: Bruce Rabe (Dedham, MA); Isao Yanagimachi (Boxborough, MA); Kavitha Shravani Ravilla (Natick, MA)
Assignee: Hewlett Packard Enterprise Development LP
G06F16/27G06F16/217G06F16/24552G06F16/273
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,144,572
App. No.
16/049,542
Granted
Oct 12, 2021
Kind
B2
Abstract

Example implementations relate to synchronizing configuration dataset information from independent cluster groups. In an example, an aggregator selects nodes to each represent a different respective cluster group of a plurality of independent cluster groups. The aggregator establishes a respective server-sent event channel with each of the nodes. The aggregator receives, from a node, transaction log information representing changes to a configuration database associated with the independent cluster group represented by the node. The aggregator plays back the received transaction log information, which is in the form of database statements, into a centralized configuration database cache.

Claims (54)

1. A method comprising:

selecting, by an aggregator in a management appliance, nodes to synchronize configuration database information with the aggregator, each of the nodes representing a different respective cluster group of a plurality of independent cluster groups;

establishing, by the aggregator, a respective server-sent event channel between the aggregator and each of the nodes;

receiving, by the aggregator and from a node of the nodes via the respective server-sent event channel for the node, transaction log information representing changes to a configuration database associated with the independent cluster group represented by the node, the transaction log information being in the form of database statements; and

playing back, by the aggregator, the received transaction log information into a centralized configuration database cache.

2. The method of claim 1 , further comprising discovering, by the management appliance, a topology of the plurality of independent cluster groups, clusters within each of the independent cluster groups, and nodes within each of the clusters,

wherein the selecting is based on the topology as discovered.

3. The method of claim 1 , further comprising, prior to the receiving:

importing, by the aggregator, a database schema from each of the nodes into the centralized configuration database cache; and

copying, by the aggregator, a configuration database snapshot received from each of the nodes into the centralized configuration database cache to initialize the centralized configuration database cache.

4. The method of claim 1 , wherein the playing back does not include interpreting the transaction log information.

5. The method of claim 1 , wherein the node includes predefined triggers in the configuration database for types of changes for which transaction log information is sent to the aggregator.

6. The method of claim 1 , wherein

the node includes a hyperconverged virtual controller different from ua of the node,

the configuration database is maintained in a consistent state at the hyperconverged virtual controller by distributed consensus among nodes of the cluster group represented by the node, and

the transaction log information is sent to the aggregator via the server-sent event channel by an interface of the hyperconverged infrastructure virtual controller.

7. A system comprising:

a management appliance that governs a federation of independent cluster groups, each of the cluster groups including a plurality of clusters of nodes, the management appliance having an aggregator to maintain a centralized configuration database cache that encompasses the independent cluster groups;

a plurality of nodes in communication with the management appliance, each node of the plurality of nodes belonging to a different respective cluster group of the independent cluster groups, wherein each node includes:

a configuration database maintained by distributed consensus with other nodes of the different respective cluster group to which the each node belongs, the configuration database having predefined triggers for types of changes to send to the aggregator, and

an interface to send transaction log information representing configuration database changes identified by the predefined triggers over a server-sent event channel between the interface and the aggregator, the transaction log information being in the form of database statements,

wherein the aggregator is to play back received transaction log information from each node into the centralized configuration database cache.

8. The system of claim 7 , wherein

the management appliance is to discover a topology of the federation, and

the aggregator is to select, based on the topology, node to represent the different respective cluster group.

9. The system of claim 7 , wherein the aggregator is to initialize the centralized configuration database cache by:

importing a database schema from each node into the centralized configuration database cache, and

before playing back received transaction log information, copying a configuration database snapshot received from each node into the centralized configuration database cache.

10. The system of claim 7 , wherein the triggers include database statements including insert, update, and delete, and the triggers are registered to a transaction log table of the configuration database.

11. The system of claim 7 , wherein the configuration database and the interface are included in a hyperconverged infrastructure virtual controller.

12. The system of claim 7 , wherein the aggregator is to play back the received transaction log information into the centralized configuration database cache directly without interpretation.

13. The system of claim 7 , wherein the aggregator is to recover from a failed server-sent event channel by:

reestablishing a server-sent event channel with a node of a cluster group associated with the failed server-sent event channel,

clearing at least a portion of the centralized configuration database cache related to the cluster group associated with failed server-sent event channel, and

reinitializing the centralized configuration database cache with a new configuration database snapshot received from the node with which the server-sent event channel is reestablished.

14. A non-transitory machine readable medium storing instructions of a management appliance executable by a processing resource, the medium comprising:

instructions to select nodes with which to synchronize configuration database information, each of the nodes representing a different respective cluster group of a plurality of independent cluster groups;

instructions to establish a respective server-sent event channel with each of the nodes;

instructions to receive from a node of the nodes via the respective server-sent event channel for the node, transaction log information representing changes to a configuration database associated with the cluster group represented by the node, the transaction log information being in the form of database statements; and

instructions to play back the received transaction log information into a centralized configuration database cache.

15. The non-transitory machine readable medium of claim 14 , further comprising instructions to discover a topology of the plurality of independent cluster groups, clusters within each of the independent cluster groups, and nodes within each of the clusters,

wherein the instructions to select nodes utilize the topology as discovered.

16. The non-transitory machine readable medium of claim 14 , further comprising:

instructions to import a database schema from each of the nodes into the centralized configuration database cache; and

instructions to copy a configuration database snapshot received from each node into the centralized configuration database cache to initialize the centralized configuration database cache.

17. The non-transitory machine readable medium of claim 14 , wherein the node includes predefined triggers in the configuration database for types of changes for which transaction log information is sent via the respective server-sent event channel.

18. The non-transitory machine readable medium of claim 17 , the predefined triggers include triggers related to virtual machine backup policies and related to database statements including insert, update, and delete.

19. The non-transitory machine readable medium of claim 14 , wherein the instructions to play back aggregator is to play back the received transaction log information into the centralized configuration database cache directly without parsing.

20. The non-transitory machine readable medium of claim 14 ; further comprising:

instructions to detect a failure in the respective server-sent event channel for the node; and

instructions to, responsive to the failure:

reestablish a server-sent event channel with a node of a cluster group associated with the failure,

clear at least a portion of the centralized configuration database cache related to the cluster group associated with the failure, and

reinitialize the centralized configuration database cache with a new configuration database snapshot received from the node with which the server-sent event channel is reestablished.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2018
From: RABE, BRUCE; YANAGIMACHI, ISAO; RAVILLA, KAVITHA SHRAVANI
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 046505/0219 →
Continuity (1)
Related Publication 20200034459A1 · Jan 30, 2020