Gradual Upgrade Engine for Software Data Schema Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Upgrading software applications to new versions can result in extended downtime due to the large volume of user data, which is unacceptable for mission-critical and high-availability systems, as existing methods often require complete data schema conversion, rendering systems unavailable for days or weeks.
Innovation Solution
A gradual upgrade technique that converts user data in phases, allowing limited access to the application during the process by converting data segments one at a time, using a gradual update engine that manages the upgrade process and provides options for selective data segment conversion and temporary URL redirection to maintain system availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complete data schema conversion is performed during software upgrade, then data integrity is ensured, but system downtime increases significantly
Solution Approach 1:
The patent divides the data set into multiple data segments and converts them sequentially rather than all at once. The upgrade process processes one data segment at a time, allowing the system to remain partially available during conversion. This segmentation approach maintains data integrity for converted segments while reducing overall downtime by enabling phased conversion.
2Productivity
If the entire data set is converted to the new schema, then the new version of the application can fully operate, but the system becomes unavailable for extended periods
Solution Approach 1:
The patent implements partial conversion of the data set, where only portions of the data are converted to the new schema at any given time. This allows the application to operate with partially converted data, providing limited functionality while avoiding complete system unavailability. The gradual conversion process enables the system to progress toward full new-version functionality without requiring total data conversion before operation.
3Reliability
If data conversion is performed in phases, then system availability is maintained, but the upgrade process complexity increases
Solution Approach 1:
The patent introduces a data conversion service as an intermediary component that manages the phased conversion process. This service coordinates between the old and new data schemas, handling the complexity of segment-by-segment conversion while presenting a simplified interface to the application. The conversion service acts as a mediator that abstracts the complexity of gradual conversion from the main application logic.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques to perform gradual upgrades are described. An apparatus may include a database with a data set for a first version of an application program, and a computing device to couple to the database. The computing device may have a processor and memory, with the memory to store a first version of an application program, an installer program, and a gradual update engine. The processor may execute the installer program to install a second version of the application program, and said gradual update engine to convert the data set to a data schema used by the second version one data segment at a time. Other embodiments are described and claimed.