Shared Cache for Cloud Configuration Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Speed

If a shared cache system is implemented to improve data access efficiency, then data retrieval speed improves, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidcaching system complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

2Loss of energy

If data is cached to reduce network traffic, then network bandwidth consumption decreases, but data consistency may deteriorate

Engineering Contradiction:
Improvenetwork trafficVSAvoiddata consistency
Core Design Contradiction:
Loss of energyVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

3Reliability

If configuration data is frequently updated to maintain data freshness, then data reliability improves, but system performance deteriorates during high load

Engineering Contradiction:
Improvedata freshnessVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If a shared cache is used to handle high load operations, then system scalability improves, but implementation complexity increases

Engineering Contradiction:
Improvesystem scalabilityVSAvoidcaching architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

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

Data Source

PatentUS11716406B2Data caching for cloud services
Publication Date: 2023.08.01 CITRIX SYSTEMS INC
  • US11716406B2 patent drawing
  • US11716406B2 patent drawing
  • US11716406B2 patent drawing

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.