Cluster Management Lifecycle Manager State Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and operating distributed applications across a cluster of machines is challenging due to collisions between different operational aspects, such as upgrading the application while minimizing unintended disruptions, which existing solutions like remote execution and instance count systems fail to address effectively.

Innovation Solution

A method and apparatus that utilize a lifecycle manager to determine nodes for application execution, compare the cluster's goal state to its actual state, and send goal states to agents, which in turn determine and execute actions to resource managers to align the actual state with the desired state, enabling precise ownership and unified operations for controlled deviations and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If remote execution systems or instance count systems are used to manage distributed applications, then some operational aspects can be controlled, but collisions between different operational aspects (e.g., upgrading while minimizing disruptions) occur and cannot be effectively resolved

Engineering Contradiction:
Improveoperation controlVSAvoidoperational collision avoidance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the cluster management system into distinct hierarchical levels: cluster-level management (lifecycle manager determining which nodes run applications) and node-level management (agents determining local resource allocation). This segmentation allows independent control of different operational aspects, preventing collisions between cluster-wide operations and node-specific operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces goal state specifications as an intermediary layer between operational commands and system execution. The lifecycle manager and agents compare actual states against goal states to determine appropriate actions, mediating between different operational requirements and preventing direct conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple operational aspects are managed simultaneously in a cluster, then comprehensive control is achieved, but unintended disruptions occur due to operational collisions

Engineering Contradiction:
Improvemulti-operation managementVSAvoidunintended disruptions
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent performs preliminary state comparison before executing operations. The lifecycle manager and agents determine differences between goal states and actual states, and only perform actions necessary to bridge these gaps. This preliminary assessment prevents unnecessary operations and potential disruptions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous feedback loops where agents monitor actual node states and report to the lifecycle manager, which compares against goal states. This feedback mechanism enables real-time detection and correction of operational deviations, preventing unintended disruptions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9860311B1Cluster management of distributed applications
Publication Date: 2018.01.02 EMC IP HLDG CO LLC
  • US9860311B1 patent drawing
  • US9860311B1 patent drawing
  • US9860311B1 patent drawing

AI summary

A method includes performing at a lifecycle manager a first process. The first process includes determining nodes in a cluster to run an application, determining a difference between a cluster goal state and a cluster actual state for the application, determining goal state for each node and sending respective goal state to agents. The method also includes performing at each agent a second process. The second process includes determining a difference between the goal state of the node and an actual state of the node, determining actions to be performed based on the difference between the goal state of the node and the actual state of the node and sending actions to resource managers to perform based on the difference between the goal state of the node and the actual state of the node.