Master Process for Concurrent Code Updates in Stateful Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenetwork functionalityVSAvoidnetwork availability
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvenetwork securityVSAvoidupdate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvecode update capabilityVSAvoidconnection continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10382584B2Concurrent code application in a stateful computing environment
Publication Date: 2019.08.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10382584B2 patent drawing
  • US10382584B2 patent drawing
  • US10382584B2 patent drawing

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.