Service Dependency-Aware Update Sequencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in updating services within an organization's IT infrastructure is the potential for cascading failures due to dependencies between services, which can lead to corruption of data and system instability during the update process.

Innovation Solution

An update system that generates a runbook of steps to selectively stop and start services based on their dependencies, ensuring that services dependent on another service stop before it stops and start after it has been updated, thereby preventing cascading failures and maintaining data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all services are shutdown to prevent cascading failures during update, then system reliability is improved, but productivity deteriorates due to complete service unavailability

Engineering Contradiction:
Improvesystem reliabilityVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the service update process into distinct phases (stop dependent services, update service, start dependent services) and applies different availability requirements to different services based on their dependency relationships. This allows partial service availability rather than complete shutdown.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by identifying and stopping dependent services before updating the target service. This preliminary stoppage of only necessary dependent services prevents cascading failures while minimizing the scope of service unavailability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If services are updated in arbitrary order, then update speed is improved through parallel execution, but reliability deteriorates due to potential cascading failures

Engineering Contradiction:
Improveupdate speedVSAvoidupdate safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis to determine the correct update order by analyzing service dependencies before execution. Services are updated in an order that respects dependency relationships, enabling parallel execution of independent services while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from dependency analysis to dynamically determine the update sequence. By continuously checking which services depend on which others, the system can optimize the update order to maximize parallel execution while preventing cascading failures.

Inventive Principle:
Principle #23Feedback

3Reliability

If manual update processes are used to manage service dependencies, then reliability is improved through careful control, but productivity deteriorates due to time-consuming operations

Engineering Contradiction:
Improveupdate controlVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically performs dependency analysis, service stoppage, update execution, and service restart without manual intervention. The automated system services itself by managing the entire update lifecycle, eliminating manual time consumption while maintaining reliability through systematic control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the state parameters of services (stopped, updating, started) automatically based on dependency relationships. This automated parameter management replaces manual control while maintaining the reliability of dependency-aware updates.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3387528B1Updating dependent services
Publication Date: 2023.08.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3387528B1 patent drawingFigure 1a
  • EP3387528B1 patent drawingFigure 1b
  • EP3387528B1 patent drawingFigure 2a

AI summary

An update system is provided that performs a stop of that service at each machine that hosts that service such that a service that is dependent on another service stops before that other service starts performing a stop. After a machine hosting a service stops, the update system performs an update of that service on that machine. The update system then performs a start of that service at each machine that hosts that service such than a service that another service depends on starts before that other service starts performing a start.