Multi-level Cache Synchronization for Social Networking Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Social networking applications experience slow data retrieval due to frequent calls to social networking services, leading to decreased execution speed and user experience.

Innovation Solution

A multi-level caching and synchronization system is implemented, utilizing process caches, hot caches, and warm caches, along with a persistent storage manager, to efficiently retrieve and share data across geographical regions, reducing the need for direct access to social networking services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If frequent calls are made to social networking services for data retrieval, then data access completeness is ensured, but execution speed decreases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidexecution speed
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements a multi-level caching system that pre-loads and stores frequently accessed social networking data in process caches, hot caches, and warm caches before actual retrieval is needed. This preliminary action eliminates the need for frequent direct calls to social networking services, thereby improving both data retrieval speed and overall execution speed without compromising data access completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces caching layers (process caches, hot caches, warm caches) as intermediary storage between the application and social networking services. These intermediaries hold copies of frequently accessed data, allowing rapid retrieval without direct service calls, thus resolving the contradiction between ensuring data access completeness and maintaining high execution speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If multi-level caching system is implemented, then data access speed is improved, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the caching system into multiple hierarchical levels: process caches at the application level, hot caches for frequently accessed data, and warm caches for less frequently accessed data. This segmentation allows each cache level to be optimized independently and managed separately, reducing the complexity burden on any single component while collectively improving data access speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a temporal and frequency dimension to data storage by creating multiple cache levels with different retention policies and access patterns. Process caches handle immediate needs, hot caches handle frequent requests, and warm caches handle periodic requests. This dimensional approach to caching improves access speed while distributing system complexity across multiple specialized components rather than one complex monolithic cache.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8700735B1Multi-level cache with synch
Publication Date: 2014.04.15 ZYNGA INC
  • US8700735B1 patent drawing
  • US8700735B1 patent drawing
  • US8700735B1 patent drawing

AI summary

Disclosed in some examples is a method of caching by storing data in a first cache specific to a first geographic area and accessible only by a first application in the first geographic area; storing data in a second cache specific to a second geographic area and accessible by a plurality of applications in the second geographic area including the first application and a second application, the second geographic area being larger than and encompassing at least part of the first geographic area; responsive to a miss in the first cache for data, contacting the second cache and searching for the data in the second cache; and responsive to a hit for the data in the second cache, sending the data to a first application, wherein the data was placed in the second cache by a second application.