Cluster Election via Connectivity Bit-Vectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database cluster systems face challenges in optimally selecting a master node during communication failures, leading to sub-optimal cluster configurations and potential data inconsistencies due to simplistic node ID-based selection methods, which may result in smaller surviving clusters and inaccurate node eviction strategies.

Innovation Solution

Implementing a prioritized messaging protocol to distribute cluster topology representations as connectivity bit-vectors across nodes, allowing for the identification and election of a master node in the sub-cluster with the largest number of members, ensuring optimal cluster configuration and minimizing data inconsistencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If node ID-based selection method is used to identify master node, then selection simplicity is improved, but cluster optimality deteriorates

Engineering Contradiction:
Improveselection simplicityVSAvoidcluster optimality
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent changes the selection parameter from simple node ID to a composite parameter based on sub-cluster size and node ID. This allows the system to maintain simplicity in the selection process while improving optimality by considering the size of the sub-cluster, ensuring that the largest surviving cluster is selected as the master cluster.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary classification of nodes into sub-clusters based on connectivity bit-vectors before the master node selection. This preliminary action allows the system to identify the largest sub-cluster in advance, ensuring that the optimal cluster is selected as the master cluster while maintaining a simple selection process.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If connectivity information is not accurately tracked, then system complexity is reduced, but measurement precision deteriorates

Engineering Contradiction:
Improvesystem complexityVSAvoidnode status accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent uses connectivity bit-vectors as a compact copy of the connectivity information between nodes. Each node maintains a bit-vector that represents its connectivity status with other nodes, allowing accurate tracking of node statuses without requiring complex distributed state management, thus maintaining low system complexity while achieving high measurement precision.

Inventive Principle:
Principle #26Copying

3Loss of time

If simplistic master node selection is used, then decision speed is improved, but data consistency deteriorates

Engineering Contradiction:
Improvedecision speedVSAvoiddata consistency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent changes the selection parameter from simple node ID to a composite parameter that includes sub-cluster size. This allows the system to make a quick decision by comparing cluster sizes while ensuring data consistency by selecting the largest cluster as the master cluster, preventing split-brain scenarios and maintaining ACID properties.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11108700B2Method and system to implement messaging for cluster elections
Publication Date: 2021.08.31 ORACLE INT CORP
  • US11108700B2 patent drawing
  • US11108700B2 patent drawing
  • US11108700B2 patent drawing

AI summary

Described is a system, method, and computer program product for performing elections in a database cluster, where cluster topology representations are distributed across the cluster nodes using a prioritized messaging protocol. The cluster topology representations may be implemented as connectivity bit-vector that provide information that identifies which nodes in the cluster are able to communicatively connect with other nodes.