Selfish Node Clustering for Distributed System Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fault-tolerant, high-availability distributed systems face increased cost and complexity, leading to abrupt instability and cascading failures under severe pressure, as the cost and complexity of achieving reliability grow faster than the benefits.

Innovation Solution

The implementation of a selfish child clustering method, where a selfish node evaluates and switches between servicing nodes based on responsiveness, allowing for load balancing and preventing cascading failures by optionally 'tantruming' and refusing connections if unsatisfied, thereby distributing load and maintaining system stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fault-tolerant, high-availability distributed systems are implemented with redundancy and isolation, then system reliability is improved, but system cost and complexity grow faster than the gains in reliability

Engineering Contradiction:
Improvesystem reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each node autonomously evaluates and selects its own servicing nodes without centralized coordination. The selfish node independently monitors responsiveness metrics and dynamically switches between servicing nodes based on its own performance requirements, eliminating the need for complex centralized management while maintaining high availability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adapts to changing conditions by allowing nodes to continuously evaluate servicing node responsiveness and switch connections in real-time. This dynamic behavior enables the system to gracefully handle pressure and failures without rigid predefined configurations, reducing overall system complexity

Inventive Principle:
Principle #15Dynamics

2Reliability

If fault-tolerant, high-availability distributed systems are implemented with redundancy and isolation, then system reliability is improved, but abrupt instability and cascading failures occur under severe pressure

Engineering Contradiction:
Improvesystem reliabilityVSAvoidsystem stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

Selfish nodes continuously monitor the responsiveness of their servicing nodes and use this feedback to dynamically switch connections. When a servicing node becomes unresponsive, the selfish node detects this through lack of response to probe requests and switches to an alternative servicing node, preventing cascading failures by isolating problems to individual node pairs rather than propagating system-wide

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system segments the relationship between nodes into independent selfish node-servicing node pairs, where each pair operates autonomously. This segmentation prevents failures from propagating across the entire system because each selfish node independently evaluates and switches servicing nodes without affecting other nodes, maintaining stability under severe pressure

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9253064B2System and method for selfish child clustering
Publication Date: 2016.02.02 ORACLE INT CORP
  • US9253064B2 patent drawing
  • US9253064B2 patent drawing
  • US9253064B2 patent drawing

AI summary

A system and method for selfish child clustering are disclosed. In one embodiment, the system comprises a selfish node; and a plurality of servicing nodes each connected to the selfish node, wherein the selfish node selects a first one of the servicing nodes to service requests therefrom; and wherein the selfish node evaluates a responsiveness of the first one of the servicing nodes and, responsive to a determination that the responsiveness of the first one of the servicing nodes is unacceptable, the selfish node selects a second one of the servicing nodes to service requests therefrom.