Dual-Cache User Data Mirroring for Real-Time Communication Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems for storing user data in real-time communication applications, such as instant messaging and VoIP, are inefficient, leading to time delays and a deteriorated user experience, especially as the number of users increases.

Innovation Solution

Implementing a dual-cache system where user data is mirrored across two cache devices, allowing for rapid access and redundancy, with logic to switch between cache devices based on availability and priority, ensuring continuous data access and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If user data is stored in a conventional database, then data persistence and reliability are improved, but access speed and real-time communication performance deteriorate

Engineering Contradiction:
Improvedata persistenceVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system segments data storage into two distinct components: a database for persistent storage and cache devices for high-speed access. This segmentation allows each component to optimize for its specific function - the database ensures data persistence while the cache devices provide rapid data retrieval, thereby resolving the contradiction between reliability and access speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Cache devices are introduced as intermediary components between the database and the application server. These intermediaries store frequently accessed user data in high-speed memory, reducing the frequency of direct database queries. The cache acts as a mediator that maintains data persistence through periodic synchronization with the database while providing significantly faster access speeds for real-time communications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a single cache device is used for storing user data, then access speed is improved, but system reliability and redundancy deteriorate

Engineering Contradiction:
Improvedata access speedVSAvoidsystem redundancy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements local quality by assigning different functional characteristics to different cache devices. Each cache device can independently serve specific user data, and the system can dynamically determine which cache device to query based on availability and performance characteristics. This allows the system to maintain high access speeds by utilizing fast local cache memory while ensuring reliability through distributed redundancy across multiple cache devices.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system prepares for potential cache device failures by implementing redundancy before problems occur. Multiple cache devices are configured to store mirrored copies of user data, ensuring that if one cache device becomes unavailable, the system can immediately switch to another cache device without data loss or service interruption. This beforehand cushioning maintains both high access speeds and system reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Quantity of substance

If database queries are used for retrieving user data, then data completeness is improved, but processing time and message delivery latency increase

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-loading user data into cache devices before it is needed for real-time communications. User data is periodically synchronized from the database to the cache devices in advance, so that when communication requests arrive, the data is already available in high-speed memory. This eliminates the need for time-consuming database queries during critical communication moments, significantly reducing processing time while maintaining data completeness through periodic updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system ensures continuity of useful action by maintaining continuous synchronization between the database and cache devices. User data is continuously updated in the cache devices as changes occur in the database, ensuring that the cache always contains the most current information. This continuous update mechanism provides complete and accurate data without requiring slow database queries during communication operations, thereby eliminating processing time delays.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7769951B2Intelligent caching of user data for real time communications
Publication Date: 2010.08.03 VERIZON PATENT & LICENSING INC
  • US7769951B2 patent drawing
  • US7769951B2 patent drawing
  • US7769951B2 patent drawing

AI summary

Apparatus and methods for storing user data for use in real-time communications (e.g., IM or VoIP) are provided. The apparatus comprises at least a first cache device (e.g., a cache server) and a second cache device for storing user data, wherein the user data stored with the first cache device is mirrored with the second cache device. The apparatus further comprising a server having logic for causing access to the user data (e.g., to respond to or process messages) from the first cache device, if accessible, and from the second cache device if the user data is not accessible form the first cache device. The apparatus may further include logic for causing user data to be restored to the first cache device from the second cache device if the first cache device loses user data (e.g., if the first cache device goes down).