Chunk-Based Trace Architecture for High-Speed Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current trace architectures in computing environments are inefficient, leading to incorrect or unexpected results during development and management, and existing trace solutions fail to provide effective debugging and troubleshooting tools due to inefficiencies in trace data management.

Innovation Solution

A high-speed trace architecture that utilizes 'chunks' of data with consistent size and format, managed through a chunk agent, which efficiently captures and processes trace records, allowing for high concurrency and scalability, and includes features like chunk management, filtering, and routing to enhance trace functionality in on-demand services environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional trace architectures are used, then trace functionality is provided, but processing efficiency and speed are insufficient

Engineering Contradiction:
Improvetrace record processing speedVSAvoidtime to capture and process trace records
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments trace data into fixed-size chunks that are managed independently. Each chunk contains a header with metadata and a body with trace records, allowing parallel processing and reducing contention. The trace buffer is divided into multiple chunks that can be filled and processed concurrently, significantly improving throughput compared to traditional monolithic trace architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of data organization from individual trace records to fixed-size chunks with consistent format. This parameter change enables efficient memory allocation, predictable performance, and optimized I/O operations. The chunk-based approach with fixed headers and bodies allows for streamlined processing pipelines and reduced overhead.

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If detailed trace records are captured, then debugging information is comprehensive, but system overhead and resource consumption increase

Engineering Contradiction:
Improvetrace information completenessVSAvoidcomputational overhead for trace management
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential trace record data into chunks, separating critical information from unnecessary overhead. The chunk header contains only essential metadata (size, format, ownership), while the body contains the trace records themselves. This extraction approach minimizes processing overhead while preserving all necessary debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses disposable chunks that are allocated, filled with trace records, and then discarded or archived. Each chunk is a temporary container that serves its purpose and is then replaced. This approach avoids the overhead of managing persistent complex data structures while ensuring complete trace information is captured during the monitoring period.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Adaptability or versatility

If trace functionality is extended to multitenant environments, then service coverage is improved, but contention and complexity increase

Engineering Contradiction:
Improvemultitenant environment supportVSAvoidtrace management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal chunk-based trace architecture that serves multiple tenants through a shared buffer. The same chunk management mechanisms serve different tenants' trace requirements, eliminating the need for separate trace systems for each tenant. The filter and route mechanisms can be configured per-tenant while using the same underlying infrastructure, reducing overall system complexity.

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

Solution Approach 2:

The patent introduces chunks as an intermediary layer between trace record production and consumption in multitenant environments._chunks act as neutral containers that buffer trace data from multiple sources before routing to appropriate destinations. This intermediary approach decouples the complexity of multitenant management from the core trace capture functionality, simplifying the overall architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10567475B2High-speed trace functionality in an on-demand services environment
Publication Date: 2020.02.18 SALESFORCE INC
  • US10567475B2 patent drawing
  • US10567475B2 patent drawing
  • US10567475B2 patent drawing

AI summary

Techniques and architectures to provide trace functionality. Trace record data is received from a plurality of client threads executed by one or more processors. The trace record data is stored in a plurality of chunks maintained in an in-use list. The in-use list has a chunk for individual use by the corresponding client threads. Chunks in the in-use list are moved to a completed queue when a chunk in the in-use list is substantially full. A chunk from a free list is placed in the in-use list to replace removed chunks. The chunks from the completed queue are stored in at least one memory device.