IDE Debugging via Gateway for Distributed Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The debugging process for distributed applications is complex due to the need for multiple terminal devices to be connected and managed simultaneously, requiring developers to establish separate communication connections to each device, which complicates the debugging operation.

Innovation Solution

An application debugging method where an IDE establishes a communication connection only with a directly connected device, and uses that device to establish connections to indirectly connected devices, allowing simultaneous debugging of both through a single debug session without needing direct connections to all devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the IDE device establishes separate communication connections to each terminal device for debugging, then the debugging functionality is complete, but the operation complexity increases and user experience deteriorates

Engineering Contradiction:
Improvedebugging operation complexityVSAvoidcommunication connection structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a gateway device as an intermediary component that centralizes the management of communication connections between the IDE device and multiple terminal devices. The gateway device receives debugging requests from the IDE device and distributes them to the appropriate terminal devices, eliminating the need for the IDE device to establish separate direct connections to each terminal device. This mediator approach simplifies the overall system architecture and reduces operational complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple communication connections into a single unified connection path through the gateway device. Instead of having the IDE device maintain separate connections to each terminal device (IDE-Device1, IDE-Device2, IDE-Device3), all connections are consolidated through the gateway (IDE-Gateway-Device1, IDE-Gateway-Device2, IDE-Gateway-Device3). This consolidation reduces the number of connection management operations and simplifies the debugging process.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple separate debug sessions are established for each terminal device, then each device can be debugged independently, but the time consumption and debugging efficiency decrease

Engineering Contradiction:
Improvedebugging efficiencyVSAvoidtime for establishing connections
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The gateway device performs preliminary actions by pre-establishing and maintaining communication channels with multiple terminal devices before debugging sessions begin. This allows the IDE device to quickly initiate debugging across multiple devices without repeatedly establishing connections from scratch. The gateway maintains ready-state connections that can be activated immediately when debugging is required.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The gateway device is designed with multi-functionality to handle multiple terminal devices simultaneously through a single interface. It can manage diverse debugging sessions for different device types (mobile phones, tablets, wearables, etc.) concurrently, providing a universal debugging solution that improves productivity by allowing developers to debug multiple devices in parallel rather than sequentially.

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

3Adaptability or versatility

If the IDE device directly connects to all terminal devices, then direct control is achieved, but the system complexity and difficulty of management increase

Engineering Contradiction:
Improvedevice management flexibilityVSAvoidconnection management structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the connection management function by separating it from the IDE device and assigning it to a dedicated gateway device. This segmentation divides the complex system into manageable components: the IDE device focuses on debugging logic, while the gateway device handles connection management. This functional segmentation reduces the complexity burden on any single component and improves overall system adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The gateway device serves as an intermediary layer that provides flexible management of terminal device connections. It can dynamically establish, maintain, and terminate connections with various terminal devices based on debugging requirements. This intermediary structure enhances adaptability by allowing the system to easily accommodate different device types and connection scenarios without complicating the IDE device's architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20230273872A1Application debuging method and electronic device
Publication Date: 2023.08.31 HUAWEI TECH CO LTD
  • US20230273872A1 patent drawing
  • US20230273872A1 patent drawing
  • US20230273872A1 patent drawing

AI summary

An application debugging method is provided. In the method, in response to a user operation, an intergrated development environment (IDE) device sends, to a directly connected device, a first debug packet used to debug a to-be-debugged application in the directly connected device and a third debug packet used to debug a to-be-debugged application in an indirectly connected device. The directly connected device receives the first debug packet and the third debug packet. The directly connected device sends the third debug packet to the indirectly connected device. According to a technical solution provided in this disclosure, the IDE device may not need to establish a communication connection to the indirectly connected device.