Shared Cache for Cloud Configuration Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing systems face scalability challenges in handling a large number of requests for data access, particularly during high load operations, as existing data caching solutions struggle to efficiently manage configuration data across multiple resources, leading to potential inconsistencies and increased network traffic.
Innovation Solution
Implementing a shared cache system that uses an in-memory database to store configuration data, allowing for efficient data retrieval and updating based on operation modes, such as high load or low load operations, and utilizing a refresh service to maintain data freshness and reduce reliance on the configuration service during peak times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a shared cache system is implemented to improve data access efficiency, then data retrieval speed improves, but system complexity increases
Solution Approach 1:
The patent introduces a shared cache as an intermediary component between the configuration service and resource instances. This cache stores configuration data and acts as a mediator that serves read requests, reducing direct access to the configuration service and improving data retrieval speed while managing complexity through a standardized caching layer.
Solution Approach 2:
The system segments data access operations into two paths: cached reads through the shared cache for fast access, and direct reads from the configuration service for data updates. This segmentation allows the system to optimize for speed in the common case while maintaining data freshness through periodic refreshes.
2Loss of energy
If data is cached to reduce network traffic, then network bandwidth consumption decreases, but data consistency may deteriorate
Solution Approach 1:
The system performs preliminary actions by pre-loading configuration data into the shared cache before it is needed by multiple resource instances. The cache is refreshed periodically or on-demand to ensure data consistency, allowing subsequent reads to occur locally without network traffic while maintaining reliability through proactive data updates.
Solution Approach 2:
The shared cache implements periodic refresh mechanisms where configuration data is updated at regular intervals or triggered by events. This periodic action ensures that cached data remains consistent with the source configuration service while minimizing network traffic by avoiding continuous synchronization.
3Reliability
If configuration data is frequently updated to maintain data freshness, then data reliability improves, but system performance deteriorates during high load
Solution Approach 1:
The system creates copies of configuration data and stores them in the shared cache. Instead of having all resource instances directly access and process updates from the configuration service, they use cached copies. This copying mechanism maintains data reliability through selective refreshes while protecting system throughput during high load by isolating the cache from direct configuration service dependency.
4Adaptability or versatility
If a shared cache is used to handle high load operations, then system scalability improves, but implementation complexity increases
Solution Approach 1:
The shared cache is designed as a universal component that serves multiple functions: storing configuration data, serving read requests for multiple resource instances, and providing a standardized interface for data refreshes. This multi-functionality improves scalability by allowing the same caching infrastructure to support growing numbers of resources while managing complexity through a unified, reusable component.
Data Source
AI summary
Methods and systems for caching data for resources using a shared cache are described herein. The data may be stored in a configuration service, in the resources, or in the shared cache. The data stored in the configuration service may be modified. The data stored in the resources and in the shared cache may be updated according to the modified data in the configuration service. The data stored in the configuration service, in the resources, or in the shared cache may be used based on an operation mode.


