Server Failover via Distributed Dialog State Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice continuityVSAvoiddialog information
Core Design Contradiction:
ReliabilityVSLoss of information

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvemonitoring mechanismVSAvoiddialog recovery
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8201016B2Heartbeat distribution that facilitates recovery in the event of a server failure during a user dialog
Publication Date: 2012.06.12 WSOU INVESTMENTS LLC
  • US8201016B2 patent drawing
  • US8201016B2 patent drawing
  • US8201016B2 patent drawing

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.