Distributed Key-Value Storage with In-Memory Cache
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in providing wide geographic coverage and real-time data availability for applications like unified communications, as they often rely on complex and inefficient methods to manage and retrieve data across large areas.
Innovation Solution
A high-performance distributed key/value storage service is implemented, utilizing an in-memory cache and a distributed persistent storage service to store and retrieve data as key/value pairs, ensuring consistent state and rapid access through a network service API, which includes methods for creating, retrieving, updating, and deleting data across geographically distributed instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is stored in a geographically distributed manner across multiple regions, then data availability and access speed for local users are improved, but system complexity and data consistency management become worse
Solution Approach 1:
The system divides data storage into multiple geographically distributed data centers, with each data center containing independent storage nodes. This segmentation allows local users to access data from the nearest data center, improving access speed while distributing system complexity across multiple independent units rather than one complex centralized system.
Solution Approach 2:
The patent introduces a coordination service that acts as an intermediary between distributed data centers and clients. This mediator manages data routing, consistency protocols, and cross-region synchronization, thereby improving data access speed locally while centralizing the management of system complexity in a dedicated coordination layer.
2Speed
If data is cached in memory for rapid access, then data retrieval speed is improved, but memory consumption and data persistence reliability become worse
Solution Approach 1:
The system performs preliminary actions by caching frequently accessed data in memory before it is actually needed, enabling rapid data retrieval. Simultaneously, it proactively replicates and persists this cached data to durable storage systems and synchronizes it across data centers, ensuring reliability is maintained even though memory is volatile.
Solution Approach 2:
The patent changes the state parameters of data by maintaining it in multiple forms simultaneously: volatile in-memory copies for speed, and persistent disk-based copies for reliability. The system dynamically adjusts the balance between these states based on access patterns, allowing rapid retrieval when data is in memory while ensuring persistence through replicated storage.
3Reliability
If data is replicated across multiple geographic regions, then data availability and access latency are improved, but data consistency and synchronization complexity become worse
Solution Approach 1:
The coordination service implements feedback mechanisms by continuously monitoring data consistency states across replicated data centers. When changes occur, the system sends synchronization signals to other regions, which then update their copies and report back their state. This feedback loop maintains data availability across regions while systematically managing consistency through automated coordination.
Solution Approach 2:
The system performs preliminary replication of data to multiple geographic regions before actual write operations complete, ensuring data availability from the outset. Synchronization protocols are pre-configured and automatically executed, reducing the complexity of real-time consistency management by handling replication proactively rather than reactively.
4Adaptability or versatility
If a distributed storage system is implemented across multiple data centers, then geographic coverage and fault tolerance are improved, but infrastructure cost and operational complexity become worse
Solution Approach 1:
The patent creates a universal distributed storage architecture where each data center node can perform multiple functions: local data storage, data replication source, replication target, and coordination participant. This multi-functionality allows the system to achieve wide geographic coverage and fault tolerance while reducing operational complexity, as the same standardized nodes serve multiple purposes rather than requiring specialized infrastructure for each function.
Data Source
AI summary
Technologies for providing high performance geographically distributed data storage, retrieval and update are disclosed herein. In particular, a key/value storage service exposes a network service application programming interface (“API”) that includes create, update, retrieve, delete and configuration methods in some configurations. In order to implement the methods exposed by the API, the key/value storage service utilizes an in-memory cache service to store key/value pairs in an in-memory cache for highly performant retrieval. The key/value storage service also utilizes a distributed persistent storage service for storage of key/value pairs in a persistent backing store and for propagation of the key/value pairs to geographically distributed instances of the distributed persistent storage service.


