Phased Software Deployment Architecture for Node Subset Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for deploying and managing software applications on distributed networked nodes are cumbersome, error-prone, and lack fault tolerance, requiring manual intervention and system downtime during updates, which limits flexibility and resilience.

Innovation Solution

A modular deployment architecture that allows independent invocation of phases of an operation across networked peer nodes, enabling phased and schedulable deployment, fault tolerance, and reduced administrative control over specific subsets of nodes, rather than the entire network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If automated deployment process is implemented across all nodes, then manual intervention is eliminated, but the system lacks fault tolerance and requires complete restart upon failure

Engineering Contradiction:
Improveautomation of deployment processVSAvoidfault tolerance
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The deployment process is divided into discrete phases that can be independently executed on individual nodes. Each phase represents a separable unit of work that can be managed, monitored, and restarted independently, allowing failed phases to be retried without affecting other phases or nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The deployment system dynamically adapts to failures by allowing selective retry of failed phases on affected nodes while continuing deployment on successful nodes. The system transitions from a rigid all-or-nothing approach to a flexible, adaptive process that responds to actual system state.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If deployment is performed on entire network of nodes, then consistency is maintained, but system downtime increases during updates

Engineering Contradiction:
Improveconsistency of software across nodesVSAvoidsystem downtime during updates
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The network of nodes is segmented into groups that can be deployed independently. Phases can be executed on subsets of nodes rather than requiring simultaneous deployment across the entire network, allowing progressive updates that maintain consistency while minimizing downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Deployment is performed in periodic phases across different node subsets. Instead of a single bulk update causing complete downtime, the system performs periodic deployment cycles on different groups of nodes, maintaining continuous service availability.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If manual deployment process is used on each node, then flexibility and control are maintained, but complexity and error-proneness increase

Engineering Contradiction:
Improveadministrative control over deploymentVSAvoidcomplexity of deployment process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An intermediary deployment management system is introduced that sits between administrators and individual nodes. This intermediary automates the coordination of phased deployment across nodes while preserving administrative control through configurable phase definitions and node selection, reducing manual complexity without sacrificing flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Stability of the object's composition

If complete retry is required upon failure, then consistency is maintained, but productivity and efficiency decrease

Engineering Contradiction:
Improveconsistency of deployment stateVSAvoiddeployment efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

Successful phases are completed and recorded before failure occurs. When failures happen, the system uses these preliminary successful actions as a foundation for recovery, avoiding the need to undo and redo already-successful work while maintaining overall deployment consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system discards only the failed phase attempts and recovers by retrying those specific phases on affected nodes, rather than discarding and recovering the entire deployment process. This selective approach maintains consistency while improving productivity.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS7698391B2Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate
Publication Date: 2010.04.13 ORACLE INT CORP
  • US7698391B2 patent drawing
  • US7698391B2 patent drawing
  • US7698391B2 patent drawing

AI summary

An application deployment architecture provides the capability to independently invoke different phases of an operation associated with an application, thereby progressively deploying the application across a network of peer nodes and providing fault tolerance. Therefore, applications are easier to deploy on the network of nodes, the deployment process is less error prone, and remediation of deployment errors is simpler than with prior approaches. Tasks constituent to phases of a deployment process are schedulable rather than completely automated and outside the control of the administrator, and are schedulable on a subset of the nodes rather than only on the entire network of nodes.