In-Memory Session State Replication for Site Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application server systems face challenges in providing high availability and fault tolerance across clusters and geographic locations, relying on third-party solutions like JDBC persistence which are performance-intensive and unsatisfactory from a reliability standpoint.

Innovation Solution

A system and method for enabling site failover in application servers and clustered environments, allowing HTTP session state replication across multiple clusters using a global load balancer and local load balancers, with synchronous in-memory replication within metropolitan area networks and asynchronous data replication across wide area networks, eliminating the need for third-party products.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If JDBC persistence with third-party database solutions is used to replicate session state across clusters, then failover capability is provided, but system performance deteriorates and integration complexity increases

Engineering Contradiction:
Improvefailover capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the session state replication function from the application server and implements it directly within the JVM using native memory structures. This eliminates the need for JDBC persistence and third-party database solutions, providing failover capability without the performance penalty of database I/O operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary replication mechanism that operates at the memory level between application servers across clusters. This intermediary layer enables direct session state copying without involving database systems, thus maintaining high performance while ensuring failover reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If JDBC persistence with third-party solutions is used for cross-cluster failover, then session state replication is achieved, but device complexity increases due to multiple vendor integrations

Engineering Contradiction:
Improvesession state replicationVSAvoidintegration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the session state replication functionality directly into the application server's JVM environment, combining what were previously separate components (application server, database system, replication software) into a unified in-memory solution. This eliminates the need to integrate multiple vendor technologies.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal in-memory replication mechanism that works across different clusters and geographic locations without requiring vendor-specific database solutions. This multi-functional approach handles both intra-cluster and inter-cluster failover using the same underlying technology.

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

3Reliability

If clusters are spread across multiple geographic regions and power grids, then fault tolerance improves, but data replication performance deteriorates

Engineering Contradiction:
Improvefault toleranceVSAvoiddata replication speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent changes the fundamental parameter of data replication from disk-based JDBC operations to in-memory operations. This parameter change enables fast replication even across wide area networks by operating on data already resident in memory, thus maintaining speed while achieving geographic distribution for fault tolerance.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary actions by maintaining session state in memory at the application server level before failover is needed. This preliminary preparation of data in accessible memory formats enables rapid replication to geographically distributed clusters without the performance penalty of remote database access during failover events.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP1963985B1System and method for enabling site failover in an application server environment
Publication Date: 2016.07.06 ORACLE INT CORP
  • EP1963985B1 patent drawingFigure 1
  • EP1963985B1 patent drawingFigure 2
  • EP1963985B1 patent drawingFigure 3

AI summary

A system and method for enabling site failover in an application server or clustered environment. In addition to providing HTTP session state replication across servers within a cluster, the invention provides the ability to replicate HTTP session state across multiple clusters. This improves high-availability and fault tolerance by allowing clusters to be spread across multiple geographic regions, power grids, and Internet service providers.