Intermediary Device for Reducing Debugging Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The exchange of data between devices at different locations or using different networks is often hindered by significant latency, making it difficult or impossible to acquire useful information about the performance of applications, especially when using debugging protocols like LLDB that require alternating requests and responses.

Innovation Solution

A system and method that use a separate intermediary device to communicate locally with a device executing an application, reducing latency by acquiring information from the device and sending it to a remote device using fewer transmissions, with the intermediary device communicating via a wired connection or wireless networks with lower latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If direct communication is used between remote devices, then data exchange can occur, but significant latency affects the acquisition of useful information

Engineering Contradiction:
Improvedata exchange reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary device located at the same network location as the target device. This intermediary acts as a local proxy that receives requests from remote devices, forwards them to the target device, and returns responses. By placing the intermediary locally, the patent eliminates network latency for the critical request-response exchanges between the intermediary and the target device, while only incurring latency for communication between the remote device and the intermediary.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If debugging protocols requiring alternating requests and responses are used, then device performance information can be acquired, but significant latency makes acquisition difficult or impossible

Engineering Contradiction:
Improveperformance information acquisitionVSAvoidlatency
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The intermediary device enables debugging protocols by locally hosting a debugging service that can communicate with the target device without network latency. The intermediary receives debugging requests from remote devices, executes them locally against the target device, and returns results immediately. This local execution of debugging operations eliminates the latency that would otherwise prevent effective use of request-response debugging protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If multiple transmissions are used for data exchange between remote devices, then data can be transferred, but latency is significantly increased

Engineering Contradiction:
Improvedata transfer volumeVSAvoidtransmission time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The intermediary device consolidates multiple transmissions by acting as a local buffer and processor. Instead of requiring multiple round-trip transmissions between remote devices and the target device, the intermediary receives data locally, processes it against the target device, and returns consolidated results. This reduces the number of network round-trips required, thereby reducing total transmission time while maintaining the ability to transfer substantial data volumes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11770458B1Systems for exchanging data using intermediate devices
Publication Date: 2023.09.26 PARTNER ONE ACQUISITIONS INC
  • US11770458B1 patent drawing
  • US11770458B1 patent drawing
  • US11770458B1 patent drawing

AI summary

When significant latency exists between a test device executing an application and a remote device used to debug the application, an intermediate device is used to receive requests from the remote device. When a first request is received, the intermediate device determines other requests that are related to the first request, sequentially sends the other requests to the test device, and receives a response after each request, using a wired connection or a wireless network having lower latency than wireless communication between the remote device and the test device. The intermediate device then sends each of the responses to the remote device. The remote device stores the responses. The remote device is then able to use the stored data to determine responses for subsequent requests.