Self-Updating Distributed System Node Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face challenges in updating software without disrupting services, requiring laborious and error-prone manual processes or ad-hoc scripts, which are costly and resource-intensive, especially for small and medium-sized businesses without local IT experts.

Innovation Solution

A self-updating distributed system that determines node membership and performs updates while maintaining service availability, using a self-updating cluster software that moves workloads, orchestrator responsibility, and persists state information to update nodes without external help, including rebooting and reinstating services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual updating processes are used to update distributed system nodes, then service availability can be maintained through careful planning and migration, but operational costs and IT administrator burden increase significantly

Engineering Contradiction:
Improveservice availabilityVSAvoidupdating process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The distributed system performs self-updating through automated processes. The system determines its own node membership, selects nodes for updating, migrates workloads automatically, applies updates, and reinstates services without external human intervention. This eliminates the need for manual administrator operations while maintaining service availability through automated service-aware updating.

Inventive Principle:
Principle #25Self-service

2Productivity

If ad-hoc scripts are used to automate updating processes, then some manual labor is reduced, but error-proneness and maintenance costs remain high

Engineering Contradiction:
Improveupdating efficiencyVSAvoidupdating reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The self-updating system implements comprehensive feedback mechanisms to monitor the updating process. It tracks node membership status, update application success, service migration state, and system health metrics. This feedback enables automated decision-making and corrective actions, ensuring reliable updates without the error-proneness of ad-hoc scripts.

Inventive Principle:
Principle #23Feedback

3Reliability

If comprehensive service-aware updating is implemented, then service disruption is minimized, but the updating process becomes more laborious and time-consuming

Engineering Contradiction:
Improveservice continuityVSAvoidupdating time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions before updates are applied. It pre-determines node membership, pre-migrates workloads to alternative nodes, and pre-configures update parameters. This preliminary preparation enables rapid update application without service disruption, reducing both service interruption time and total updating time through automated orchestration.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If distributed systems grow in number, then service coverage increases, but operational expenses for manual updating processes become unsustainable

Engineering Contradiction:
Improvesystem scalabilityVSAvoidoperational cost
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The self-updating system implements a universal automated updating mechanism that serves all distributed system nodes regardless of their specific function or location. The same automated process handles updates across enterprise headquarters, branch offices, and remote locations uniformly, eliminating the need for specialized manual intervention at each site and making the system scalable without proportional increases in operational costs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2810178B1Self-updating functionality in a distributed system
Publication Date: 2024.12.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2810178B1 patent drawingFigure 1A
  • EP2810178B1 patent drawingFigure 1B
  • EP2810178B1 patent drawingFigure 2

AI summary

Described is a technology by which a distributed system of computer nodes that provides services is self-updated via a component of the distributed system. Such a self- updating run applies one or more updates to each of the member computer nodes in the distributed system while maintaining the services provided by the distributed system. The updating run may include moving workloads from each computer node to be updated, updating that node, and reinstating workloads after updating. Performing the updating run may include moving update-related responsibility, which may be a workload, from one computer node to another computer node.