Replication System Software Upgrade via Concurrent Version Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing replication systems face significant resource consumption and data inconsistency issues during software upgrades, as they require substantial modifications to data structures and often disrupt operation, leading to potential loss of writes and time-consuming resynchronization procedures.
Innovation Solution
A software upgrade tool and procedure that allows both old and new versions of replication system components to run concurrently, enabling uninterrupted operation by querying and replicating the configuration of old versions to new versions, ensuring no intercepted writes are missed and reducing the time needed for upgrades.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the write interception component is upgraded by modifying data structures and rebooting, then the software version is updated, but substantial resources are consumed and operation is interrupted
Solution Approach 1:
The patent applies preliminary action by modifying data structures in advance before the upgrade is needed. The system creates a copy of the write interception component with modified data structures, prepares it offline, and then switches to it without interrupting the running system. This eliminates the need to perform modifications during the upgrade process.
Solution Approach 2:
The patent uses copying by creating a duplicate of the write interception component (old version and new version running in parallel). The new version is configured with modified data structures while the old version continues operating. This allows the system to test and validate the new version before fully switching to it, avoiding direct modification of the running component.
2Adaptability or versatility
If the write interception component is upgraded by halting operation, then the new software version can be installed, but interception of writes may be disrupted causing inconsistency
Solution Approach 1:
The patent applies dynamics by enabling the system to transition smoothly between old and new versions of the write interception component. Both versions run concurrently, and the system dynamically switches between them without interruption. This dynamic approach ensures that write interception continues uninterrupted while the new version is activated.
Solution Approach 2:
The patent uses an intermediary approach by introducing a version switch mechanism that mediates between the old and new versions of the write interception component. This switch allows seamless transition without halting operations, ensuring that write interception remains continuous and data consistency is maintained throughout the upgrade process.
3Reliability
If resynchronization procedure is performed after interruption, then data consistency is restored, but the process is time consuming and may fail during disaster
Solution Approach 1:
The patent applies preliminary anti-action by preventing the disruption that would require resynchronization in the first place. By using hot swapping to allow continuous operation during upgrades, the system avoids the write loss that necessitates resynchronization. This proactive approach eliminates the need for time-consuming resynchronization procedures.
Solution Approach 2:
The patent ensures continuity of useful action by maintaining uninterrupted write interception throughout the upgrade process. The hot swapping mechanism allows the new version to be activated without stopping the write interception function, ensuring continuous data capture and eliminating the need for subsequent resynchronization to restore consistency.
Data Source
AI summary
A software upgrade tool and procedure provide uninterrupted operation of a replication system during an upgrade of software components of the system. The replication system includes one or more user systems coupled to one or more target storage systems over a communications network, such as a computer network. Illustratively, each user system is embodied as a replication client, while each target storage system is embodied as a replication server. In addition, the replication system includes a management system embodied as a management server that manages configuration of the system, including during upgrade of the software components of the replication system. To that end, the software upgrade tool cooperates with the management server to query the configuration of “old” versions of the software components and to manage upgrades of those components to “new” versions of software. According to the invention, the upgrade tool and procedure enable both the old and new versions of the software components to run concurrently on the replication client and replication server, as well as the management server.


