Shared Database Migration via Data Access Layer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing data migration between multiple versions of a software service is complex due to maintaining state, coordinating migration execution, managing data operations, and handling errors in a shared database environment where different versions of the service access and update data.

Innovation Solution

A system and method that determine the highest common data schema version supported by all service versions, migrate the database to this version, and instruct service instances to perform operations compatible with it, handling errors and continuation tokens to ensure seamless migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple versions of the software service access the shared database simultaneously, then service availability and user access are maintained, but data schema compatibility and migration coordination become complex

Engineering Contradiction:
Improveservice availabilityVSAvoiddata migration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a data access layer as an intermediary between multiple service versions and the shared database. This layer abstracts data operations and manages schema compatibility, allowing different service versions to coexist without direct conflicts. The data access layer handles migration coordination centrally, reducing the complexity that would otherwise exist in coordinating migrations across multiple simultaneous service versions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If incremental user migration is performed, then rollback capability and testing ability are improved, but migration state maintenance across instances becomes complex

Engineering Contradiction:
Improverollback capabilityVSAvoidmigration state maintenance
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts migration state management from individual service instances and centralizes it in the data access layer. By removing the burden of state maintenance from each instance, the system can track migration progress centrally while maintaining rollback capability. This extraction reduces the complexity of coordinating state across multiple instances while preserving the benefits of incremental migration.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If multiple sets of data access layer code are maintained for different versions, then version-specific data operations are supported, but code maintenance and synchronization become complex

Engineering Contradiction:
Improveversion-specific data operationsVSAvoidcode maintenance
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data access layer that serves multiple service versions simultaneously. Rather than maintaining separate code sets for each version, the single data access layer is designed to handle schema compatibility and version-specific operations through abstraction. This universal approach reduces code maintenance complexity while preserving the ability to support different service versions through configurable access patterns.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11681585B2Data migration for a shared database
Publication Date: 2023.06.20 CITRIX SYSTEMS INC
  • US11681585B2 patent drawing
  • US11681585B2 patent drawing
  • US11681585B2 patent drawing

AI summary

Methods and systems for coordinating migration for a database of a service are described herein. Multiple releases of the service may be simultaneously implemented, and these multiple releases may access a shared database. As new releases of the service are activated, the database may be incrementally migrated to a new data schema version. The new data schema version may be compatible with each release of the service that is in use. After a migration has begun, instances of the service may be instructed to perform database operations using methods compatible with the new data schema version. Continuation tokens may be returned during the migration, which indicate portions of the shared database that have not yet been migrated. If an error occurs during the migration, the continuation tokens may be discarded, and the migration may be restarted.