Client Socket Establishment via Backup Directory Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication systems for online gaming face issues such as incorrect IP address mapping across service providers, leading to failed socket establishment and prolonged wait times, resulting in poor user experience due to inefficient resource utilization.

Innovation Solution

A computer-implemented method where a client machine sends communication requests to a directory server and, if a socket is not established within a predetermined time, it sequentially or concurrently contacts backup directory and data servers to obtain information about available data servers, improving the probability of identifying valid servers within a shorter time frame.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the client machine waits for the directory server to return an IP address within a predetermined period of time, then the system maintains simplicity in the connection establishment process, but the wait time may be excessively long and the IP address may have already changed, resulting in failed socket establishment

Engineering Contradiction:
Improveconnection establishment processVSAvoidwait time for IP address retrieval
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The client machine performs preliminary actions by simultaneously sending communication requests to multiple servers (directory server and backup servers) before the predetermined time period expires. This allows the client to obtain IP addresses from alternative sources in advance, preventing the IP address change problem and reducing overall wait time while maintaining operational simplicity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention introduces backup directory servers and backup data servers as intermediary elements. These backup servers act as mediators that can provide IP address information when the primary directory server fails to respond in time or provides incorrect information, thereby resolving the contradiction between maintaining simple connection processes and reducing wait times.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the directory server maps IP addresses to domain names for data servers hosted by multiple service providers, then the system achieves centralized management, but incorrect IP address mapping occurs leading to failed socket establishment

Engineering Contradiction:
Improvecentralized server managementVSAvoidsocket establishment success rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The invention segments the centralized directory server function into multiple independent backup directory servers, each potentially managed by different service providers. This segmentation allows the system to maintain centralized management capabilities while distributing the risk of incorrect IP address mapping, as each backup server can provide correct mappings for its respective service provider's data servers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of server availability by introducing multiple backup servers with different IP address mappings. When the primary directory server provides incorrect or outdated IP address information, the client can switch to alternative parameters (backup servers) that provide correct mappings, thereby maintaining both centralized management and high reliability.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If the system uses a single directory server for providing data server information, then the device complexity is reduced, but the resource utilization efficiency decreases when the server fails to respond promptly

Engineering Contradiction:
Improveserver architectureVSAvoidinformation retrieval efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The client machine performs preliminary actions by simultaneously initiating communication with multiple servers (directory server and backup servers) rather than sequentially. This preliminary parallel action increases information retrieval efficiency without significantly increasing device complexity, as the additional communication channels are established concurrently rather than requiring complex sequential coordination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Backup servers are introduced as intermediary elements that provide alternative information channels. These intermediaries enable the system to maintain relatively simple architecture while improving productivity, as they only activate when needed and provide fallback information without complicating the primary communication path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9591080B2Method of establishing a network socket with a data server
Publication Date: 2017.03.07 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US9591080B2 patent drawing
  • US9591080B2 patent drawing
  • US9591080B2 patent drawing

AI summary

A computer-implemented method is performed by a client machine to establish communication with a data server. The client machine sends a first communication request to a directory server having information concerning available data servers that provide specific data to the client machine. The client machine further determines whether a first socket is established to allow communication with the directory server within a first predetermined period of time. When the first socket is established, the client machine receives the information concerning the available data servers from the directory server and establishes a target socket with a data server selected from the available data servers for receiving the specific data. However, when the first socket is not established, the client machine sends more communication requests to secondary servers according to a predetermined order, until the client machine receives the information concerning the available data servers or the specific data.