Server-Side Cache for State-Based Client-Server Response Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User interfaces in state-based client-server applications often experience significant delays due to server processing time, network bandwidth constraints, and network latency, which existing techniques fail to adequately address, particularly in scenarios requiring complex interdependent user operations.

Innovation Solution

Implementing a server-side cache that maintains application states and allows for asynchronous updates by prefetching incremental state difference data and using hierarchical caches to reduce the need for complete refreshes, while processing client requests concurrently with cache retrieval to minimize delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If server processing is performed for each client request, then application state accuracy is maintained, but user interface response time increases

Engineering Contradiction:
Improveuser interface response timeVSAvoidapplication state accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The server performs preliminary actions by computing possible future states in advance and storing them in the application state server-side cache before clients request them. When a client request arrives, the server can immediately retrieve pre-computed states from the cache, eliminating the need for immediate server processing and reducing UI response time while maintaining state accuracy through validation mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The server creates copies of application states and stores them in the application state server-side cache. Instead of computing states on-demand for each client request, the server generates and caches multiple possible state copies in advance. Clients receive these pre-computed state copies, significantly reducing response time while the server maintains the ability to validate and update states as needed.

Inventive Principle:
Principle #26Copying

2Reliability

If complete UI refresh is performed for each state change, then data consistency is ensured, but network bandwidth is consumed and update delay increases

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts and transmits only the incremental differences between old and new application states rather than complete UI refresh data. The server identifies and sends only the changed portions of state data to clients, reducing network bandwidth consumption while maintaining data consistency through targeted updates. Clients apply these incremental changes to their local UI representations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The UI update process is segmented into incremental state differences rather than complete refreshes. The server divides state changes into discrete, manageable increments and transmits them separately. Clients process these segmented updates individually, reducing overall network bandwidth consumption and update delay while ensuring data consistency through systematic application of changes.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If server-side cache is used to reduce processing time, then UI response time decreases, but handling complex interdependent user operations becomes difficult

Engineering Contradiction:
ImproveUI update delayVSAvoidcomplex interdependent operation handling
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system implements feedback mechanisms where clients send information about their current state and intended operations to the server. The server validates these operations against the cached application states, ensuring correctness even for complex interdependent operations. This feedback loop allows the server to maintain cache efficiency while adapting to complex user interactions that require state validation and coordination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12081611B1Application state server-side cache for a state-based client-server application
Publication Date: 2024.09.03 VERSATA DEVELOPMENT GROUP INC
  • US12081611B1 patent drawing
  • US12081611B1 patent drawing
  • US12081611B1 patent drawing

AI summary

Response delay associated with a state-based client-server application can be reduced with utilization of an application state server-side cache. A server caches data for a set of one or more possible states of a client-server application that may follow a current state of the application. The server rapidly responds to a client request with data that corresponds to an appropriate new state of the application in accordance with the application state server-side cache. The server determines that the application will transition to the appropriate new state from the current state of the application with the application state server-side cache based, at least in part, on an operation indicated by the client request.