Discovery Agent Proxy Server Load Balancing via Dynamic Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional agentless discovery methods face challenges in managing dynamic proxy server activations and deactivations, leading to issues with connectivity and load balancing in network management systems, which can result in disrupted communication and inefficient resource utilization.

Innovation Solution

Implementing agent-based discovery with discovery agents that receive a registration payload listing available proxy servers, allowing them to dynamically select the best proxy server based on response time and load, ensuring nearly uninterrupted connectivity and balanced load distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If preconfigured proxy server addresses are used by discovery agents, then initial connectivity can be established, but connectivity is disrupted when proxy servers are activated or deactivated frequently

Engineering Contradiction:
Improveconnectivity reliabilityVSAvoidadaptability to dynamic proxy server changes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The discovery agent implements a feedback mechanism by periodically testing connectivity to proxy servers and receiving updated registration payloads from the computational instance. When a proxy server becomes unavailable, the agent detects this through connectivity tests and receives updated proxy server lists from the computational instance, allowing it to adapt to dynamic changes in proxy server availability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static preconfigured proxy server addresses to dynamic proxy server selection. The discovery agent maintains a list of available proxy servers that is periodically updated by the computational instance, allowing the agent to dynamically adapt to proxy server activations and deactivations rather than relying on fixed configurations.

Inventive Principle:
Principle #15Dynamics

2Reliability

If all discovery agents connect to the same available proxy server, then connectivity is maintained, but load on the proxy server becomes unbalanced

Engineering Contradiction:
Improveconnectivity availabilityVSAvoidproxy server efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the proxy server connections by distributing discovery agents across multiple available proxy servers. Instead of all agents connecting to a single proxy server, the computational instance provides multiple proxy server options in the registration payload, and agents are distributed across these servers, balancing the load and improving overall system efficiency.

Inventive Principle:
Principle #1Segmentation

3Reliability

If discovery agents perform connectivity tests to all proxy servers, then optimal proxy server selection is achieved, but time and computational resources are consumed

Engineering Contradiction:
Improveproxy server selection qualityVSAvoidproxy server selection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The discovery agent performs partial connectivity tests by testing only a subset of proxy servers rather than all available proxy servers. The agent receives a registration payload with multiple proxy server options and performs connectivity tests on selected servers to determine the best available proxy, balancing selection quality with time and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11418586B2Load balancing of discovery agents across proxy servers
Publication Date: 2022.08.16 SERVICENOW INC
  • US11418586B2 patent drawing
  • US11418586B2 patent drawing
  • US11418586B2 patent drawing

AI summary

A non-transitory computer readable storage medium may have stored thereon instructions that, when executed by an endpoint device, cause the endpoint device to perform operations including: (i) establishing, by the endpoint device, a first communication channel with an intermediary proxy server; (ii) receiving, from a computational instance and via the intermediary proxy server, a registration payload comprising a list of available proxy servers; (iii) ranking, at the endpoint device, the list of available proxy servers; (iv) selecting, by the endpoint device, a particular proxy server from the list of available proxy servers as ranked; (v) establishing, by the endpoint device, a second communication channel with the particular proxy server; and (vi) communicating, by the endpoint device, with the computational instance via the particular proxy server by utilizing the second communication channel.