Distributed Checkpoint Synchronization for Software Upgrade Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software upgrade systems face challenges in managing upgrades across multiple hosts in a distributed computing environment due to complexity, concurrency issues, and the need for centralized databases, which are resource-intensive and unreliable for continuous connectivity.
Innovation Solution
A novel scheme that uses shared storage accessible by all upgrade processes to read and write checkpoint data, allowing each process to synchronize and coordinate its activities, with dedicated locations for each process to prevent race conditions and ensure data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized database is used to coordinate upgrade activities among multiple hosts, then data persistence and coordination are improved, but device complexity and operational overhead increase
Solution Approach 1:
The patent extracts the coordination function from a centralized database and implements it through distributed checkpoint files stored on shared storage. Each upgrade process writes its state to a dedicated checkpoint file, eliminating the need for a centralized database while maintaining coordination capability among multiple hosts.
Solution Approach 2:
Instead of using a centralized database, the system creates multiple copies of checkpoint data distributed across shared storage. Each upgrade process has its own checkpoint file that can be read by other processes, providing persistence and coordination without requiring a centralized database infrastructure.
2Productivity
If multiple upgrade processes run concurrently on multiple hosts, then productivity is improved, but race conditions and data integrity issues occur
Solution Approach 1:
The patent segments the shared storage into dedicated locations for each upgrade process. Each process writes to its own isolated checkpoint file, preventing race conditions between concurrent processes. This segmentation allows parallel execution across multiple hosts while maintaining data integrity through isolated write operations.
Solution Approach 2:
The shared storage acts as an intermediary that mediates communication between upgrade processes. Each process reads and writes checkpoint data through this intermediary storage, enabling coordination and synchronization without direct process-to-process communication that could cause race conditions.
3Manufacturing precision
If Prevayler checkpointing is used for thread-safe operations, then manufacturing precision is improved, but adaptability to multi-host environments is reduced
Solution Approach 1:
The patent makes the checkpointing system universal by implementing it through standard file I/O operations on shared storage rather than relying on Prevayler's process-specific mechanisms. This universal approach allows the same checkpointing infrastructure to serve multiple upgrade processes across different hosts, providing both thread-safety and multi-host adaptability.
Data Source
AI summary
Embodiments provide techniques for concurrently upgrading one or more software applications hosted by one or multiple hosts. Checkpoint data associated with the upgrade processes executing on the multiple hosts may be generated during the upgrade. The checkpoint data may be stored in a shared storage that can be accessed by the upgrade processes. Each upgrade process running on a host may be adapted to read checkpoint data from the shared storage and write checkpoint data only to a dedicated location on the shared storage. Checkpoint data written by a first upgrade process may be read by a second upgrade process to determine the status and/or progress of the first upgrade process on a given host. In this manner, the checkpoint data enable the multiple upgrade processes to synchronize with each other.


