Auto Bug Capture Architecture for Automated Device Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The proliferation of electronic devices and applications leads to frequent bugs, especially when devices interact in ecosystems, making it difficult to detect and diagnose issues due to the complexity of interactions and environments.

Innovation Solution

A novel debugging architecture that enables devices to automatically detect and report bug events to a server set, which aggregates and processes these events, using event signatures and data archives to identify root causes without user intervention, and allows for automated analysis and data collection across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If devices automatically detect and report bug events with detailed data archives, then bug detection capability is improved, but network bandwidth consumption and device storage requirements increase

Engineering Contradiction:
Improvebug detection capabilityVSAvoiddata transmission volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The bug event data is segmented into two parts: event signatures (small, structured, sent for all events) and data archives (large, unstructured, sent only for selected events). This segmentation allows the system to maintain high bug detection capability while controlling data transmission volume by sending only essential signature data for all events and detailed archives only when necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of transmitting complete data archives for all bug events, the system transmits only event signatures for all events and full data archives only for a subset of selected events. This partial action approach maintains effective bug detection while significantly reducing overall data transmission volume and storage requirements.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If complete data archives are collected for all bug events, then root cause analysis accuracy is improved, but device storage requirements and processing overhead increase

Engineering Contradiction:
Improveroot cause analysis accuracyVSAvoiddata management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments data collection into two levels: lightweight event signatures containing essential bug information, and comprehensive data archives containing detailed diagnostic data. This segmentation reduces device storage requirements and processing overhead while maintaining root cause analysis accuracy for selected events through the archive structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and separates critical bug event information into event signatures that are transmitted for all events, while keeping complete data archives only for selected events on device storage. This extraction reduces the burden of managing complete archives for all events while preserving analytical accuracy when needed.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If all bug event signatures are transmitted to servers, then bug aggregation completeness is improved, but network bandwidth consumption increases

Engineering Contradiction:
Improvebug event information completenessVSAvoidnetwork data transmission
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The system extracts and transmits only the essential event signature portion of bug data, which contains structured information about the bug event, while retaining the larger unstructured data archives on-device. This extraction maintains bug aggregation completeness for all events while significantly reducing network data transmission requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system transmits complete event signatures for all bug events to ensure information completeness, but transmits full data archives only for a subset of selected events. This partial transmission approach maintains adequate bug aggregation completeness while controlling network bandwidth consumption.

Inventive Principle:
Principle #16Partial or excessive action

4Ease of operation

If devices perform automated bug detection and reporting, then user intervention requirements are reduced, but device computational overhead increases

Engineering Contradiction:
Improveuser intervention requirementVSAvoiddevice computational energy
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The automated bug detection system is segmented into lightweight signature generation (performed for all events with low computational overhead) and comprehensive data archiving (performed only for selected events with higher computational requirements). This segmentation reduces overall device computational energy consumption while maintaining ease of operation through full automation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The device performs automated bug detection and signature generation for all events with minimal computational overhead, and performs more intensive data archiving operations only for a subset of selected events. This partial intensive action approach maintains user-friendly automation while reducing overall computational energy requirements.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10795750B2Auto bug capture
Publication Date: 2020.10.06 APPLE INC
  • US10795750B2 patent drawing
  • US10795750B2 patent drawing
  • US10795750B2 patent drawing

AI summary

Some embodiments of the invention provide a novel architecture for debugging devices. This architecture includes numerous devices that without user intervention automatically detect and report bug events to a set of servers that aggregate and process the bug events. When a device detects a potential bug event, the device in some embodiments generates a description of the potential bug event, and sends the generated description to the server set through a network. In addition to generating such a description, the device in some embodiments directs one or more of its modules to gather and store a collection of one or more data sets that are relevant to the potential bug event, in case the event has to be further analyzed by the server set. In the discussion below, the generated bug-event description is referred to as the event signature, while the gathered collection of data sets for an event is referred to as the event's data archive. The server set aggregates and processes the bug-event signatures that it receives from the various devices. For only a subset of the reported bug-event signatures, the server set then directs the devices that sent these signatures to also send the data archives that these devices have gathered and stored for the events associated with these signatures. These data archives can be further analyzed to identify the root causes of the bug events.