Online Cache Migration Hybrid Process
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed caching systems face challenges during resharding or rebalancing, as it often requires temporarily taking the system offline, leading to increased computing resource demand on the backing data storage system and making it impractical due to the in-place nature of the process, which can be time-consuming and inefficient.
Innovation Solution
A hybrid migration process that allows the source caching server to remain online for both reading and writing cache data during migration, using an external migration controller to mirror writes and migrate values while ensuring eventual consistency between the source and target caching servers without requiring concurrency synchronization primitives, enabling non-destructive migration and allowing for easy reversion to the original caching server if issues arise.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the caching system is taken offline for resharding or rebalancing, then the migration can be performed, but the system becomes unavailable and read requests must be served from the backing data storage system, creating catastrophic computing resource demand
Solution Approach 1:
The patent segments the cache migration process into multiple phases: a migration preparation phase where the target cache is initialized, a migration execution phase where data is copied while both caches operate concurrently, and a switchover phase where traffic is redirected. This segmentation allows the source cache to remain operational during migration, avoiding complete system shutdown and maintaining availability.
Solution Approach 2:
The patent performs preliminary actions by creating and populating the target cache before actual migration begins. The migration controller is pre-configured with the necessary metadata and mapping information. This preparation allows the migration to proceed smoothly without requiring the source cache to be taken offline, as all migration infrastructure is already in place.
2Ease of manufacture
If the caching system is taken offline for resharding or rebalancing, then the migration can be performed, but the process becomes time-consuming and reverting to the pre-resharding state is impractical
Solution Approach 1:
The patent implements dynamic switching between source and target caches during the migration process. The migration controller can dynamically adjust the migration progress, pause or resume data copying, and dynamically switch traffic routing. This dynamic approach allows for flexible control over the migration timeline and enables quick reversion if needed, reducing both migration time and reversion time.
Solution Approach 2:
The migration controller continuously monitors the migration progress and receives feedback about the state of both source and target caches. This feedback mechanism allows for real-time adjustments to the migration process, identification of bottlenecks, and optimization of migration timing. The system can detect when migration is complete or when issues arise, enabling timely reversion or continuation as needed.
3Device complexity
If an in-place resharding or rebalancing is performed, then the migration can be done without adding new nodes, but the process is time-consuming and cannot easily revert to the original state
Solution Approach 1:
The patent performs preliminary actions by creating the target cache structure before migration begins. All necessary metadata, mapping relationships, and migration configurations are prepared in advance. This preliminary setup enables the migration to proceed efficiently without requiring complex real-time restructuring, reducing the overall migration time while maintaining the in-place architecture.
Solution Approach 2:
The patent introduces a migration controller as an intermediary component that coordinates the migration process between source and target caches. This intermediary manages the complexity of data copying, handles concurrent access, and orchestrates the switchover. The migration controller abstracts the complexity from the cache nodes themselves, allowing the in-place structure to remain simple while enabling efficient migration.
4Productivity
If the source caching server remains online during migration, then system performance is maintained and backing data store load is reduced, but concurrency synchronization primitives are required to ensure consistency
Solution Approach 1:
The patent performs preliminary actions by capturing the complete state of the source cache at specific checkpoints during migration. Instead of continuously synchronizing with complex concurrency primitives, the system takes snapshots of the source cache state at defined intervals and transfers these snapshots to the target cache. This approach maintains performance while avoiding the complexity of real-time concurrency synchronization.
Solution Approach 2:
The patent uses copying of cache data at checkpoints rather than real-time synchronization. The migration controller copies the source cache state to the target cache at predetermined intervals, ensuring consistency without requiring complex concurrency primitives. This copying approach allows both caches to operate independently and concurrently, maintaining system performance while simplifying the synchronization mechanism.
Data Source
AI summary
Techniques for an online cache migration in a distributed caching system using a hybrid migration process include an application server in a network environment determining that an online cache migration from a source cache to a target cache is running. Based on this, the application server selectively mirroring writes to the source cache in the target cache. Meanwhile, an external migration controller migrates the cache from the source cache to the target cache in a way that does not require the external migration controller or the application server to synchronize their concurrent access to the source and target caches yet still allows the application server to read, write, and delete cache data in the source cache during the migration.


