Dialog Session State Serialization for Server Resource Reclamation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Advanced human-machine dialog interaction sessions, such as FAQ applications, face limitations due to the need to maintain active sessions for long periods, leading to resource constraints and scalability issues, as idle sessions cannot be invalidated, forcing 'sticky sessions' that bind users to the same server and limit the number of supported sessions.
Innovation Solution
Implementing a method to automatically suspend and resume dialog sessions based on configurable settings, such as a unique identifier, allowing for resource reclamation and serialization of session state information, enabling higher session density and eliminating the need for sticky sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of moving object
If active sessions are maintained for long periods to support human-machine dialog interaction, then session continuity and user experience are improved, but server resource consumption increases and scalability deteriorates
Solution Approach 1:
The patent extracts session state information from active server memory and stores it externally in a session repository. This separation allows the server to release computational resources while preserving session data, enabling long session durations without proportionally increasing server resource consumption.
Solution Approach 2:
The system changes the state parameter of sessions from 'active' to 'suspended' based on inactivity thresholds. This parameter change triggers resource reclamation while maintaining the ability to restore sessions when needed, thus managing resource quantity while supporting extended session durations.
2Stability of the object's composition
If sticky sessions are implemented to maintain session state, then session continuity is improved, but server adaptability and load balancing capability deteriorate
Solution Approach 1:
The patent introduces a session repository as an intermediary between the server and session state. This mediator stores session information independently, allowing any server instance to access and resume sessions without requiring sticky session binding, thus improving both session continuity and server adaptability.
Solution Approach 2:
The system segments session management into two independent components: session state storage (in the repository) and session processing (on server instances). This segmentation decouples session continuity from specific server instances, enabling load balancing and improved scalability while maintaining session stability.
3Productivity
If session resources are released for idle sessions, then resource efficiency is improved, but session resumption capability deteriorates
Solution Approach 1:
The system performs preliminary action by storing session state information in the repository before fully releasing resources. This advance preparation ensures that when sessions need to be resumed, the state data is already available, maintaining reliability while enabling resource efficiency during idle periods.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Embodiments disclosed herein enable scaling up and making advanced natural language (NLU) applications more robust. According to one embodiment, state(s) associated with a dialog session may be recorded to a fixed medium. The dialog session may be suspended after a given period of inactivity and later automatically awakened based on unique client, session, or device identifier, or any combination thereof. Memory and resources associated with the suspended session may be reclaimed, the memory and resources being otherwise held by the session during the period of inactivity, enabling higher density (e.g., a larger number of sessions supported). Embodiments disclosed herein obviate a need for sticky dialog sessions, enabling higher density, and may further failover protection and fault tolerance for the dialog sessions.