Graph-Based Software Upgrade Without Downtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications, such as VoIP call control systems, require downtime or redundant hardware for software upgrades, which is costly and inefficient.

Innovation Solution

A method to upgrade software represented as a graph by identifying a target region, obtaining a new region, determining state correspondence, and replacing the target region with the new region while allowing the rest of the graph to continue running, enabling in-place upgrades without stopping the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software upgrades are performed using traditional methods, then system reliability is maintained through redundant hardware, but device complexity and cost increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The software graph is divided into multiple independent regions, allowing selective upgrading of specific功能 modules without affecting the entire system. This segmentation enables incremental updates while maintaining system stability through the isolation of upgraded and non-upgraded regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The new region is prepared and validated before being activated. The system performs preliminary checks including state correspondence verification and token migration preparation, ensuring that the upgrade process maintains system reliability before actually switching to the new region.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If software upgrades are performed by bringing down the system, then manufacturing precision is improved through complete system control, but productivity and loss of time worsen due to downtime

Engineering Contradiction:
Improvesystem control precisionVSAvoidsystem availability
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system dynamically switches between old and new regions during operation. The graph execution engine can transition from executing tokens in the old region to the new region without stopping the overall system, enabling continuous operation during upgrades through dynamic region activation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The state correspondence mechanism acts as an intermediary between the old and new regions. It maps states from the old region to the new region, allowing seamless transition and ensuring that token execution continues uninterrupted during the upgrade process.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If redundant hardware is implemented for software upgrades, then reliability is improved through failover capability, but device complexity and cost increase

Engineering Contradiction:
Improveupgrade reliabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of maintaining redundant hardware systems, the invention creates a copy of the software graph in the form of a new region. This software-based copy can be validated and activated without requiring duplicate hardware infrastructure, reducing complexity while maintaining upgrade reliability.

Inventive Principle:
Principle #26Copying

4Manufacturing precision

If the entire graph is stopped for upgrades, then manufacturing precision is improved through complete system control, but productivity worsens due to full system downtime

Engineering Contradiction:
Improveupgrade control precisionVSAvoidsystem downtime
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The graph is segmented into old and new regions, allowing the upgrade process to affect only the specific region being upgraded while the rest of the system continues to operate. This segmentation enables precision control over the upgrade scope and minimizes downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous operation during upgrades by keeping non-upgraded regions active and only suspending tokens in the specific region being upgraded. The graph execution engine continues to process tokens in unaffected regions, ensuring continuous useful action throughout the upgrade process.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8146069B2Method and apparatus for performing non service affecting software upgrades in place
Publication Date: 2012.03.27 WSOU INVESTMENTS LLC
  • US8146069B2 patent drawing
  • US8146069B2 patent drawing
  • US8146069B2 patent drawing

AI summary

The invention includes a method and apparatus for upgrading software represented as a graph, where the graph has a plurality of states and a plurality of state transitions and tokens traverse the graph executing functions. A method includes identifying a target region of the graph, obtaining a new region for the graph, determining a correspondence between states of the target region of the graph and states of the new region for the graph, and replacing the target region of the graph with the new region for the graph using the correspondence between states of the target region of the graph and states of the new region for the graph. The target region of the graph may be replaced by suspending the operation of the target region of the graph, or while the target region of the graph continues running.