Content Switching Virtual Server for Application Version Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application systems terminate or end existing sessions to deploy new or updated versions of applications, disrupting user experience and session persistence.
Innovation Solution
A content switching virtual server is used to manage requests across multiple load balancing servers, selectively deploying new versions based on client properties and characteristics to maintain session persistence across multiple load balancing groups.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing sessions are terminated to deploy new or updated versions of applications, then the application version can be updated, but session persistence is lost and user experience is disrupted
Solution Approach 1:
The system segments the application deployment process by creating separate deployment channels for different application versions. Load balancing servers are divided into multiple groups, each serving specific version requirements. This segmentation allows simultaneous operation of multiple versions without forcing all users to migrate at once, thereby maintaining session persistence while enabling version updates.
Solution Approach 2:
The content switching virtual server acts as an intermediary between clients and load balancing servers. It receives client requests, determines the appropriate application version based on session state and deployment configuration, and routes requests to the corresponding load balancing server group. This intermediary layer enables seamless version transitions while preserving session continuity, as the content switching server maintains session information and ensures users are directed to servers running their current application version.
2Productivity
If new application versions are deployed across all servers simultaneously, then deployment speed is improved, but existing sessions are interrupted and users experience disruption
Solution Approach 1:
The system implements dynamic version routing where the content switching virtual server continuously monitors session state and deployment status to dynamically determine the appropriate application version for each client. This dynamic approach allows the system to adapt in real-time, maintaining high deployment productivity by enabling simultaneous version rollout while preserving user experience continuity through intelligent session-aware routing decisions.
Solution Approach 2:
The system changes the routing parameter from static (all users directed to same server group) to dynamic (routing decisions based on session state, client characteristics, and deployment phase). The content switching virtual server evaluates multiple parameters including session identifiers, client IP addresses, and deployment configuration to determine optimal version assignment. This parameter change enables rapid deployment across multiple server groups while maintaining user experience continuity through context-aware routing.
3Adaptability or versatility
If multiple load balancing groups are used to support different application versions, then version management flexibility is improved, but system complexity increases
Solution Approach 1:
The content switching virtual server is designed as a universal component that handles multiple functions: session state tracking, version determination, request routing, and deployment coordination. By consolidating these functions into a single multi-functional entity, the system achieves high version management flexibility across multiple load balancing groups while minimizing the increase in overall system complexity. The load balancing servers themselves also exhibit multi-functionality by being capable of serving multiple application versions.
Data Source
AI summary
Disclosed herein includes a system, a method, and a device for providing persistence across applications using a content switching server. A device can receive a first request from a client for a version of an application having different versions provided by one or more servers. The device can provide access to each version of the application via different load balancing virtual servers. A content switching virtual server of the device can select a load balancing virtual server to handle the first request for the version of the application. The content switching virtual server can generate a session identifier for a session between the client and the version of the application to persist the session with the selected load balancing virtual server for subsequent requests from the client for the version of the application.


