Server Failover via Distributed Dialog State Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing server health monitoring systems, relying on heartbeats, are inadequate for handling server failures during ongoing user dialogs, as they fail to ensure seamless recovery and often require users to retransmit prior information.
Innovation Solution
A method where periodic heartbeat information is used to detect failed servers, allowing for automatic recovery by redirecting ongoing dialog requests to another server with retrieved dialog information, minimizing the need for users to retransmit previous communications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the monitoring node redirects future service requests to another node upon detecting a failed node, then the service request can be processed by a healthy node, but the user must retransmit previously transmitted information that was part of the dialog
Solution Approach 1:
The system performs preliminary actions by storing dialog information in a distributed manner across multiple nodes before failure occurs. Each node maintains copies of dialog state information, so when a node fails, the information is already available at other nodes without requiring user retransmission.
Solution Approach 2:
The patent introduces an intermediary mechanism where dialog information is not solely stored at the serving node but is also maintained in a shared or distributed storage accessible by multiple nodes. This intermediary storage layer allows any healthy node to retrieve the dialog information and continue service without user intervention.
2Device complexity
If a single monitoring node periodically transmits inquiries to determine node health, then the monitoring mechanism is simple, but the system cannot facilitate seamless recovery for ongoing dialogs when a server fails
Solution Approach 1:
The monitoring function is segmented and distributed across multiple nodes rather than concentrated at a single monitoring node. Each node can independently monitor the health of other nodes and participate in failover decisions, enabling seamless dialog recovery while maintaining relatively simple individual monitoring mechanisms.
Solution Approach 2:
Nodes in the system serve multiple functions: they act as service providers, monitors of other nodes, and potential failover targets. This multi-functionality allows the system to maintain simple monitoring mechanisms while achieving reliable dialog recovery, as any node can take on the role of monitoring and service provision.
Data Source
AI summary
An exemplary method facilitates automatic recovery upon failure of a server in a network responsible for replying to user requests. Periodic heartbeat information is generated by a first group of servers responsible for replying to user requests. The heartbeat information provides an indication of the current operational functionality of the first group of servers. A second group of servers determines that one of the first servers has failed based on the periodic heartbeat information. The second group of servers is disposed in communication channels between users and the first group of servers. One of the second group of servers receives a message containing a request from a first user having the one of the first group of servers as a destination. One of the second group of servers determines that the message is part of an ongoing dialog of messages between the first user and the one of the first group of servers. Stored dialog information contained in previous communications between the first user and the one of the first group of servers associated with the ongoing dialog is retrieved. Another message is transmitted from the one of the second group of servers to another of the first group of servers. The another message includes the request contained in the message and the retrieved dialog information. This enables the another server to process the request based on the retrieved dialog information without requiring the first user to have to retransmit previously transmitted information that was part of the dialog information.


