Name Server for Automatic Service Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server systems require manual intervention by clients to locate and switch to alternative servers when the primary server becomes non-functional, which is time-consuming and inefficient, especially since each server maintains its own broker and requires knowledge of the machine providing the service.

Innovation Solution

Implementing a name server that stores connection information for multiple servers, allowing clients to automatically obtain and update handles for service connections, enabling transparent service selection and failover without client intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each server maintains its own broker and requires client knowledge of the machine providing the service, then the system architecture is simple and decentralized, but the client cannot automatically locate alternative servers when the primary server becomes non-functional

Engineering Contradiction:
Improveservice availabilityVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a name server as an intermediary component that stores mapping information between service names and server addresses. The client queries the name server to obtain connection information, enabling automatic failover without requiring the client to know specific server addresses. This mediator resolves the contradiction by providing centralized service location information while maintaining the decentralized nature of individual servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the client manually performs lookups to locate alternative servers when the primary server fails, then the system does not require additional centralized components, but the service restoration time is increased

Engineering Contradiction:
Improveservice restoration speedVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The name server pre-stores mapping information between service names and multiple server addresses before any failure occurs. When the primary server becomes non-functional, the client can immediately query the name server to obtain alternative server addresses without performing time-consuming manual lookups or traversing the network to discover alternative servers. This preliminary preparation of service location information significantly reduces downtime.

Inventive Principle:
Principle #10Preliminary action

3Extent of automation

If a separate name server is introduced to store service connection information, then automatic service selection and failover are enabled, but the system complexity increases

Engineering Contradiction:
Improveautomatic service selectionVSAvoidsystem components
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The name server performs multiple functions: it stores service-to-server mappings, provides service location information to clients, and enables automatic failover by providing alternative server addresses. This multi-functional component consolidates what would otherwise require separate mechanisms for service discovery, address resolution, and failover management, thereby reducing overall system complexity despite the addition of the name server.

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

Data Source

PatentUS7779086B1Methods and apparatus for performing a remote procedure call
Publication Date: 2010.08.17 ORACLE AMERICAN INC
  • US7779086B1 patent drawing
  • US7779086B1 patent drawing
  • US7779086B1 patent drawing

AI summary

Methods and apparatus for performing automatic service selection in a client are disclosed, where the client supports a protocol for calling a subroutine on a remote server. A request is sent to a name server for connection information for a specified service. A first handle for the specified service is then obtained using connection information received from the name server, the first handle including the connection information for the specified service, thereby enabling the specified service to be called via the first handle. A notice indicating that the first handle is not functional is then received. A subsequent request is automatically sent to the name server for connection information for the specified service when the notice is received. A second handle including updated connection information for the specified service is then obtained, thereby enabling the specified service to be called via the second handle.