Session Handling in Multitenant Application Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multitenant application server environments, session handling during patching processes is challenging due to session loss and compatibility issues, where patched or unpatched servers may fail to deserialize sessions from servers of opposite states, leading to potential session loss and downtime.

Innovation Solution

A system and method for session handling that includes session replication, lazy deserialization, and failover mechanisms to ensure sessions are available across the cluster, allowing traffic directors to redirect requests to servers capable of deserializing sessions, thereby minimizing downtime and session loss during patching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If session replication is implemented to maintain session availability during patching, then service continuity is improved, but system complexity increases due to additional failover mechanisms and compatibility detection

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

Solution Approach 1:

The system performs preliminary actions by replicating sessions to multiple servers before patching occurs and by pre-establishing compatibility detection mechanisms. This ensures that when patching begins, sessions are already distributed and ready for failover, reducing the complexity of real-time decision-making during the patching process itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a traffic director as an intermediary component that manages the complexity of session routing during patching. This traffic director handles the failover decisions, compatibility detection, and request routing, thereby isolating the complexity from the core session replication mechanism and making the overall system more manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If patched and unpatched servers coexist in the cluster, then patching can be applied incrementally without downtime, but session deserialization failures occur when servers of opposite states attempt to load sessions

Engineering Contradiction:
Improvepatching efficiencyVSAvoidsession compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system applies local quality by allowing different servers in the cluster to have different patch states (some patched, some unpatched) while providing localized compatibility handling. Each server is aware of its own patch state and can appropriately handle sessions based on its capabilities, enabling incremental patching without requiring uniform patching across all servers.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements feedback mechanisms where servers provide information about their patch state and session compatibility to the traffic director. This feedback loop enables the traffic director to make informed routing decisions, directing requests to servers that can successfully deserialize sessions, thereby maintaining reliability during incremental patching.

Inventive Principle:
Principle #23Feedback

3Duration of action of stationary object

If the front end fails over requests to remaining server members during patching, then service continuity is maintained, but session loss occurs when no capable servers are available

Engineering Contradiction:
Improveservice continuityVSAvoidsession loss
Core Design Contradiction:
Duration of action of stationary objectVSLoss of information

Solution Approach 1:

The system performs preliminary session replication to multiple servers before patching begins, ensuring that when failover is needed, capable servers with session copies are already in place. This preliminary preparation prevents session loss during the critical failover moment while maintaining service continuity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by creating redundancy in the session distribution before patching occurs. Multiple servers hold copies of sessions, providing a cushion against the risk of session loss during failover. This redundancy ensures that even if some servers become unavailable during patching, session-capable servers remain to handle requests.

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

Data Source

PatentUS10178184B2System and method for session handling in a multitenant application server environment
Publication Date: 2019.01.08 ORACLE INT CORP
  • US10178184B2 patent drawing
  • US10178184B2 patent drawing
  • US10178184B2 patent drawing

AI summary

In accordance with an embodiment, systems and methods for session handling in a multitenant application server environment are provided. The ability to replicate a session is important but equally so is the ability to ensure the session is successfully deserialized on some server in order to serve the request. After a server has been shut down, the front end can fail over the request to one of the remaining server members in a cluster. Once the server receives the request it can attempt to grab the session from a server that holds a copy of that session. When a patched or unpatched server attempts to load the session that originated from a server of the opposite state, it can fail to deserialize the session, and inform the traffic director of severs in the cluster that are capable of deserializing the session.