Asynchronous Context Data Messaging via Acceleration Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for storing user computer-specific context data on web servers face issues such as data loss during server failures, reduced load balancing effectiveness, and increased complexity and delay due to the need for external data storage and retrieval processes.

Innovation Solution

A network messaging system with an acceleration engine that intercepts requests, conditionally retrieves and sends context data asynchronously to the appropriate web server, reducing the burden on load balancers and improving data availability by storing context data externally and updating it independently of request processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If context data is stored on web servers, then data availability is improved, but system complexity and vulnerability to server failures increase

Engineering Contradiction:
Improvedata availabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system separates context data storage from web server operations by introducing an external data store. The web server is divided into functional components: request processing logic and context data access logic. This segmentation allows the context data to be stored externally while maintaining reliable access through standardized interfaces, reducing the complexity burden on the web server itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An external context data store acts as an intermediary between the web server and context data. This mediator layer handles data persistence, retrieval, and management independently of the web server's operational state. The intermediary approach allows the web server to access context data without direct coupling, improving reliability while managing system complexity through clear interface boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If context data is stored on a specific web server, then data retrieval is simplified, but load balancing effectiveness is reduced

Engineering Contradiction:
Improvedata retrieval simplicityVSAvoidload balancing effectiveness
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The external context data store provides universal access to context data for multiple web servers. Instead of each server maintaining its own context data, the external store serves as a shared resource that any web server can access. This multi-functional approach maintains data retrieval simplicity while enabling effective load balancing across the server farm.

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

Solution Approach 2:

The system moves context data storage from the horizontal dimension (distributed across individual servers) to a vertical dimension (centralized external store). This dimensional change allows web servers to remain stateless regarding context data storage, enabling free movement between servers for load balancing purposes while maintaining simple data retrieval through the external interface.

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

3Adaptability or versatility

If context data is stored externally, then load balancing is improved, but data retrieval complexity and delay increase

Engineering Contradiction:
Improveload balancing effectivenessVSAvoiddata retrieval complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements preliminary actions by establishing connection pools and caching mechanisms in advance. The web server maintains pre-established connections to the external data store, and frequently accessed context data is cached in server memory. These preliminary preparations reduce the complexity and delay of actual data retrieval operations during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The external context data store implements continuous data synchronization and caching mechanisms. Context data that changes on the web server is continuously propagated to the external store, and the store maintains ready-state data in memory caches. This continuous action ensures that data retrieval remains simple and fast without compromising load balancing effectiveness.

Inventive Principle:
Principle #20Continuity of useful action

4Stability of the object's composition

If context data is synchronized with external storage, then data consistency is improved, but processing time and system overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system implements periodic synchronization rather than continuous real-time synchronization. Context data changes are propagated to the external store at defined intervals or upon specific events. This periodic approach maintains data consistency while avoiding the continuous processing overhead of real-time synchronization, reducing the time penalty for each synchronization operation.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The external context data store maintains copies of context data rather than serving as the single source of truth. When the web server needs context data, it retrieves copies from the external store. This copying approach improves data consistency by providing redundant access points while reducing processing time through parallel access paths and local caching of copied data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8166114B2Asynchronous context data messaging
Publication Date: 2012.04.24 RADWARE LTD
  • US8166114B2 patent drawing
  • US8166114B2 patent drawing
  • US8166114B2 patent drawing

AI summary

An acceleration engine that stores context data is operatively disposed between a network and at least one web server. Incoming requests from the network are inspected by the acceleration engine and passed on to the web server. If the inspection reveals a reference to context data, the acceleration engine retrieves the context data and asynchronously sends the context data to the web server. The web server synchronizes that request and context data and generates a response message accordingly. The response message is forwarded back to the initiator of the request with or without interception by the acceleration engine. Should context data be generated during processing of the request, such context data is sent to the acceleration engine for updating purposes.