Graph-Based Software Upgrade Without Downtime
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If redundant hardware is implemented for software upgrades, then reliability is improved through failover capability, but device complexity and cost increase
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.
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
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.
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.
Data Source
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.


