Proxy Selection Using Communication History Labels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with firewalls, external devices face challenges in determining the appropriate proxy to communicate with a computing device behind the firewall, leading to time-consuming and complex initial communications due to the lack of knowledge about proxy availability and characteristics.

Innovation Solution

An external computing device maintains information on previous communication attempts with proxies to determine which proxy to use for future communications, using success labels to categorize proxies based on their communication history and update their availability, allowing for passive and active determination of proxy sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external devices repeatedly ping proxies to determine availability and track mappings, then proxy selection reliability is improved, but communication time and system complexity increase

Engineering Contradiction:
Improveproxy selection reliabilityVSAvoidcommunication time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing and maintaining a mapping between external devices and proxies before actual communication is needed. Computing devices track and store proxy availability information and communication history in advance, so that when communication is required, the mapping is already available and no repeated pinging is needed. This resolves the contradiction by preparing reliability data beforehand, eliminating the need for time-consuming real-time proxy availability checks.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If computing devices track and continually update proxy mappings, then proxy selection accuracy is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improveproxy selection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements self-service by having computing devices automatically track, monitor, and update their own proxy mappings without external intervention. Each computing device independently maintains its own record of proxy availability and communication history, using its local resources to perform the tracking and updating functions. This eliminates the need for complex centralized management systems while achieving accurate proxy selection through distributed self-monitoring.

Inventive Principle:
Principle #25Self-service

3Device complexity

If external devices lack knowledge of proxy availability and characteristics, then initial communication complexity is reduced, but communication efficiency and productivity decrease

Engineering Contradiction:
Improveinitial communication complexityVSAvoidcommunication efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system employs feedback mechanisms where computing devices provide feedback information about proxy availability and communication success to external devices. This feedback is stored and utilized by external devices to make informed proxy selection decisions for future communications. The feedback loop enables external devices to learn from past communication experiences and maintain accurate knowledge of proxy characteristics, significantly improving communication efficiency without requiring complex real-time discovery protocols.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10594660B2Selecting proxies
Publication Date: 2020.03.17 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US10594660B2 patent drawing
  • US10594660B2 patent drawing
  • US10594660B2 patent drawing

AI summary

Example embodiments relate to selecting proxies. In this manner, the embodiments disclosed herein enable determination of a device to which to send communication through a firewall and determination of a set of proxies available to communicate with the device through the firewall. A set of success labels are determined for the set of proxies, wherein a success label for an individual proxy comprises information related to communicating with the device via the individual proxy. Based on a first success label determined for the first proxy, a first proxy may be selected to communicate with the determined device.