Session Handling in Multitenant Application Servers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


