Master Process for Concurrent Code Updates in Stateful Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network updates in public and private networks often result in unavailability of resources, leading to time, resource, and financial losses, especially in open source network environments where fixes and distribution patterns are unclear, increasing costs and complexities for engineers.
Innovation Solution
A master process is employed to control and maintain network upgrades, allowing for real-time application of code patches and new functions without interrupting service by initializing and managing socket connections, ensuring continuous uptime and availability through secure, fault-tolerant operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If network updates (patches, fixes, new functions) are applied to network resources, then network functionality and security are improved, but network availability deteriorates due to resource unavailability during updates
Solution Approach 1:
A standby application process is initialized and code patches are prepared in advance before the current application process needs updating. The standby process is pre-configured with updated code but remains inactive until needed, allowing updates to be staged without interrupting current operations.
Solution Approach 2:
A master process acts as an intermediary between the running application process and the update system. The master process manages the transition by coordinating between the current application process, the standby process with updated code, and the code patch distribution system, enabling seamless updates without direct interruption to service.
2Reliability
If code patches and updates are applied to network resources, then security and functionality are enhanced, but device complexity increases due to unclear fixes and distribution patterns in open source networks
Solution Approach 1:
The master process serves as a centralized intermediary that manages the complexity of code updates, patches, and distribution patterns. It handles the coordination between multiple application processes, manages code patch application, and controls the transition between versions, thereby reducing the complexity burden on individual application processes and network engineers.
Solution Approach 2:
The standby application process is automatically initialized and configured with updated code by the master process without requiring manual intervention. The system self-manages the update lifecycle including code distribution, process initialization, and transition coordination, reducing the need for manual update management.
3Adaptability or versatility
If application process is restarted for code updates, then updated functionality is achieved, but TCP connections are lost and service interruption occurs
Solution Approach 1:
A standby application process is pre-initialized with updated code before the current process needs updating. This standby process is ready to immediately take over without interruption, ensuring that code updates can be applied while maintaining continuous service and TCP connections.
Solution Approach 2:
The master process acts as an intermediary that manages the transition between the current application process and the standby process. It coordinates the handover of TCP connections and ensures seamless transition, allowing code updates to be applied without losing active connections or interrupting service.
Data Source
AI summary
Embodiments herein relate to a master process being executed by a processor to control an upgrade to an application process. For instance, the master process initializes an environment for operating an application process and starting an execution of the application process within the environment. Further, the master process upgrades a code of the application process while the master process maintains the environment and the execution of the application process.


