HTTP Session Failover Testing via Pre-captured Data Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing HTTP sessions in a clustered environment is challenging due to the need for manual simulation of failover scenarios, which is time-consuming and often infeasible, especially when ensuring proper replication and serialization of session data across servers.

Innovation Solution

A system and method for testing HTTP sessions using a computer-readable medium that configures a computer to receive, serialize, deserialize, and analyze session objects, including the use of listeners and filters to intercept and verify session data during request and response cycles, and provide error messages for serialization and deserialization issues, allowing for simulated failover testing without actual deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual failover testing is performed by bringing down the web server on each page request, then session replication can be verified, but the testing process becomes extremely time-consuming and often infeasible

Engineering Contradiction:
Improvesession replication verificationVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by capturing and storing session data in memory before actual failover occurs. Listeners monitor session creation and attribute changes, pre-serializing session data to a known good state. This allows rapid failover testing without manually bringing down servers for each page request, as the test system can directly inject pre-captured session data into the standby server.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates copies of session data from the primary server and injects them into the standby server for verification. Instead of performing manual failover testing on live traffic, the system captures session objects, serializes them, and copies them to the standby environment for automated verification, dramatically reducing testing time while maintaining reliability verification.

Inventive Principle:
Principle #26Copying

2Productivity

If automated testing system is implemented to capture and verify session data, then testing efficiency improves, but system complexity increases due to additional components like listeners, filters, and test frameworks

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtesting system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The testing system is designed with multi-functionality to reduce overall complexity. The same listener infrastructure used for session capture is also used for session verification and data injection. The test framework serves multiple purposes: capturing session data, serializing it, verifying replication, and injecting into standby servers. This universal approach consolidates multiple functions into unified components, reducing the need for separate specialized systems.

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

Solution Approach 2:

The invention introduces an intermediary test system that sits between the production cluster and the testing process. This intermediary captures session data through listeners, manages serialization, and facilitates verification without requiring direct modification of the production servers or complex manual intervention. The intermediary abstracts the complexity, providing a standardized interface for automated testing while keeping the production environment unchanged.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Extent of automation

If session data is captured and stored in memory during request-response cycles, then failover verification becomes automated, but memory usage and processing overhead increase

Engineering Contradiction:
Improvefailover testing automationVSAvoidprocessing overhead
Core Design Contradiction:
Extent of automationVSUse of energy by moving object

Solution Approach 1:

The system extracts only the essential session data needed for failover verification, rather than capturing and processing all request-response cycle data. Listeners are configured to capture specific session attributes and critical data elements, leaving out redundant information. This selective extraction reduces memory consumption and processing overhead while maintaining the ability to verify failover functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The testing system implements a discard and recover strategy where session data is captured in memory during normal operation, then discarded after successful verification or failure injection. The system recovers only the essential serialized session data needed for failover testing, discarding detailed request-response information after processing. This approach minimizes ongoing memory usage and processing overhead while maintaining automation capability.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8166460B2System and method for analyzing HTTP sessions
Publication Date: 2012.04.24 CONCENTRIX CVG CUSTOMER MANAGEMENT DELAWARE LLC
  • US8166460B2 patent drawing
  • US8166460B2 patent drawing

AI summary

Software intended to operate in a clustered environment can be tested for appropriate failover behavior through the use of an automated tool which allows failover to be simulated without requiring that the application be deployed in a cluster environment and observing the effects of actual failover. Such an automated tool can measure the characteristics of one or more session objects created by the application and provide appropriate messages for a developer when those characteristics indicate improper coding for failover.