Two-Phase Deployment Framework for Server Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for deploying changes across multiple server machines lack a robust mechanism to ensure all servers commit changes simultaneously, leading to potential inconsistencies and difficulties in rolling back changes if not all servers are able to commit.

Innovation Solution

A two-phase deployment framework that allows components to register and manage changes in a coordinated manner, enabling prepare and commit messages to ensure all servers are ready before applying changes, with the option to roll back if any server cannot commit, and supporting multiple types of objects through a unified interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If changes are deployed to multiple server machines simultaneously, then deployment speed is improved, but system consistency and rollback capability deteriorate

Engineering Contradiction:
Improvedeployment speedVSAvoidsystem consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The deployment process is divided into two distinct phases: prepare phase and commit phase. In the prepare phase, the system checks readiness of all server machines without actually applying changes. In the commit phase, changes are applied to all machines simultaneously only if all prepare checks pass. This segmentation allows speed optimization in the commit phase while ensuring consistency through the prepare phase checks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The prepare phase performs preliminary actions by checking whether all server machines are ready to receive changes before the actual deployment occurs. This preliminary validation ensures that when the commit phase executes, all machines can successfully apply changes, maintaining system consistency and enabling reliable rollback if any machine fails.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If changes are deployed to multiple server machines simultaneously, then deployment time is reduced, but the ability to roll back changes deteriorates

Engineering Contradiction:
Improvedeployment timeVSAvoidrollback capability
Core Design Contradiction:
Loss of timeVSEase of repair

Solution Approach 1:

By segmenting deployment into prepare and commit phases, the system可以快速 validate readiness across all machines in the prepare phase without actual deployment. The commit phase then applies changes to all machines simultaneously, minimizing deployment time. The segmented structure also enables clean rollback by simply reverting the commit phase if any machine fails, maintaining ease of repair.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The deployment framework acts as an intermediary between the deployment request and the actual server machines. It coordinates the prepare phase checks and the commit phase execution, providing a control layer that enables both fast simultaneous deployment and reliable rollback through centralized management of the deployment state.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple separate deployment systems are used for different object types, then system versatility is improved, but system complexity increases

Engineering Contradiction:
Improveobject type supportVSAvoiddeployment system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The deployment framework is designed as a universal system that can handle multiple types of deployable objects (applications, configurations, services, etc.) through a common prepare-commit interface. Instead of creating separate deployment systems for each object type, the framework provides unified functionality that works across all object types, reducing overall system complexity while maintaining versatility.

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

Solution Approach 2:

The framework merges the deployment logic for different object types into a single coordinated system. The prepare phase validates readiness for all object types together, and the commit phase applies changes to all objects simultaneously. This combining approach eliminates the need for multiple independent deployment systems, reducing complexity while preserving the ability to deploy diverse object types.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7631057B2Two-phase deployment framework
Publication Date: 2009.12.08 ORACLE INT CORP
  • US7631057B2 patent drawing
  • US7631057B2 patent drawing
  • US7631057B2 patent drawing

AI summary

A two-phase deployment framework can allow multiple types of components to register and be part of a two-phase deployment.