Triage Dump Engine Privacy Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error reporting systems face challenges in collecting memory dumps that are excessively large, with full memory dumps containing unnecessary information, and there is a risk of including user-specific personal data, compromising privacy.

Innovation Solution

The system employs a triage dumping engine that identifies personal data in memory and overwrites it with 'poisoned' values, allowing differentiation between overwritten and retained data, ensuring privacy while maintaining diagnostic value, and sends only a portion of the memory dump for analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a full memory dump is sent to software developers, then complete diagnostic information is provided, but the data size becomes excessively large and includes unnecessary information

Engineering Contradiction:
Improvediagnostic information completenessVSAvoidmemory dump size
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary diagnostic information from the full memory dump by identifying and sending specific data structures (such as call stacks, register states, and relevant variable values) while excluding unnecessary portions. This extraction approach provides sufficient diagnostic information to software developers without transmitting the entire memory contents, thereby reducing data size while maintaining diagnostic completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of information

If personal data is included in the memory dump, then complete system state information is provided for debugging, but user privacy is compromised

Engineering Contradiction:
Improvesystem state information completenessVSAvoiduser privacy risk
Core Design Contradiction:
Loss of informationVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by treating different portions of the memory dump differently based on their sensitivity. Personal identifiable information (such as user names, email addresses, and other PII) is identified and redacted or masked, while non-sensitive diagnostic information is preserved in full detail. This selective processing maintains system state completeness for debugging while protecting user privacy through localized data quality modification.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If detailed memory information is sent, then error cause identification is improved, but the time to process and transmit the dump increases

Engineering Contradiction:
Improveerror diagnosis precisionVSAvoiddump processing and transmission time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-identifying and prioritizing the most diagnostically valuable information structures before generating the memory dump. Critical data such as call stacks, exception information, and register states are marked for inclusion, while less critical data is excluded. This preliminary identification process enables rapid extraction and transmission of high-value diagnostic information, improving error diagnosis precision while minimizing processing and transmission time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8510523B2Memory dump with expanded data and user privacy protection
Publication Date: 2013.08.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8510523B2 patent drawing
  • US8510523B2 patent drawing
  • US8510523B2 patent drawing

AI summary

A system and method for generating a triage dump of useful memory data from a computer that encounters an error while executing one or more software programs. The computer system may identify data values within the triage dump that are characteristic of personal data. To protect the privacy of the software user the personal data may be poisoned by overwriting the data values with overwrite values. The overwrite values used to poison the data values may be predetermined, based on the data values themselves, or chosen at random. The triage dump may be sent to an external server to associated with the developer of the one or more software programs for analysis. When overwrite values are dynamically selected, the specific overwrite values used may be sent to the server in connection with a triage dump.