Session Service Cache Segmentation for Backend Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is challenging to maintain a multi-faceted cache for supporting sessions between a session service of an application store and user devices, where the cache stores customized data aspects and ensures timely population and eviction based on various conditions.

Innovation Solution

A session service cache is populated with customized data aspects for backend services, triggered by conditions such as session establishment or peak usage times, and evicted based on time-to-live conditions, allowing each aspect to be replaced with current data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a multi-faceted cache is maintained to store customized data aspects for multiple backend services, then data retrieval efficiency and service functionality are improved, but cache management complexity increases

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache is segmented into multiple facets, where each facet stores data customized for a specific backend service. This segmentation allows independent management of data for different services while improving retrieval efficiency, as each service only accesses its dedicated facet without interfering with other services' data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache system provides multi-functionality by supporting multiple backend services simultaneously through a unified cache management framework. The same cache infrastructure serves multiple purposes by maintaining different data aspects for different services, reducing the need for separate cache systems for each service.

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

2Reliability

If cache population is triggered based on multiple conditions (session establishment, peak usage times), then data availability and user experience are improved, but system complexity and control difficulty increase

Engineering Contradiction:
Improvedata availabilityVSAvoidtrigger management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-populating the cache during off-peak hours or in anticipation of peak usage periods. This ensures that data is already available when needed, improving response time and user experience without requiring complex real-time processing during peak loads.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache population strategy incorporates feedback mechanisms that monitor usage patterns and adjust population triggers accordingly. When usage patterns indicate approaching peak times or when specific sessions are established, the system automatically triggers cache population, creating a self-regulating system that adapts to changing conditions.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If out-of-date data is evicted from the cache based on time-to-live conditions, then data freshness and accuracy are improved, but cache management operations and potential data loss increase

Engineering Contradiction:
Improvedata freshnessVSAvoiddata loss
Core Design Contradiction:
Measurement precisionVSLoss of substance

Solution Approach 1:

Different time-to-live (TTL) values are assigned to different cache facets based on the specific data requirements of each backend service. This local quality approach allows critical data to retain longer while less critical data is evicted sooner, optimizing the balance between data freshness and minimizing unnecessary data loss.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system discards outdated data according to TTL conditions while maintaining the capability to recover and replenish this data. When data is evicted, the system can detect when the data is needed and repopulate the cache, ensuring continuous availability of fresh data without permanent loss.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10051079B1Session service aspect-oriented cache
Publication Date: 2018.08.14 AMAZON TECH INC
  • US10051079B1 patent drawing
  • US10051079B1 patent drawing
  • US10051079B1 patent drawing

AI summary

A method and apparatus for utilizing a session service cache to provide a session to a client device are provided. In the method and apparatus, a cache is populated with a plurality of aspects of data pertaining to a communication session between a session service and the client device. A request to retrieve an aspect of the data is received from a backend service and the backend service is identified based at least in part on the request. The aspect of the plurality of aspects corresponding to the backend service is retrieved and provided to the backend service.