Dynamic Event Tracing via Static Manifest Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing event-based logging technologies are incompatible with modern applications written in dynamic languages, leading to a proliferation of disjointed logs and requiring administrative rights for installation, which complicates the correlation and management of logs across different applications.

Innovation Solution

Modern application tracing techniques enable dynamic logging of events declared in a static manifest, which are compiled into a library of functions compatible with existing tracing APIs, allowing modern applications to use existing logging infrastructure without administrative privileges and preserving features for legacy applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing event-based logging infrastructure is used for legacy applications, then logging capability is provided, but it is incompatible with modern dynamic language applications

Engineering Contradiction:
Improvecompatibility with modern applicationsVSAvoidlogging functionality
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a translation layer that converts dynamic language event logging calls into static event formats that existing tracing APIs can process. This intermediary component enables modern dynamic applications to use the legacy logging infrastructure without direct modification to the core system, resolving the incompatibility while maintaining logging functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transforms the event logging parameters and format dynamically. It converts event data from dynamic language structures into the static event parameter format expected by traditional tracing APIs, allowing the same logging infrastructure to handle both legacy and modern application types through parameter transformation.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If separate event logging is implemented by individual applications, then each application can log its events, but it creates a proliferation of logs and formats that are difficult to correlate

Engineering Contradiction:
Improvelogging capabilityVSAvoidlog management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal event logging interface that standardizes event formats across different applications. By providing a common translation layer that all applications can use, it enables diverse applications to log events in a unified format that can be easily correlated, while maintaining the ability to capture application-specific details.

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

Solution Approach 2:

The system segments the logging functionality into distinct components: application-specific event generation, format translation, and centralized logging. This segmentation allows each application to independently log events while the translation layer ensures uniform processing, reducing the complexity of managing multiple log formats.

Inventive Principle:
Principle #1Segmentation

3Reliability

If administrative rights are required to install dynamic code for logging, then system-wide logging can be implemented, but it complicates deployment and management

Engineering Contradiction:
Improvesystem-wide loggingVSAvoidinstallation complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent enables applications to perform their own event logging through self-contained translation capabilities. Each application can independently convert and log its events without requiring system-wide installation or administrative privileges, simplifying deployment while maintaining reliable logging functionality.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8621439B2Modern application tracing
Publication Date: 2013.12.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8621439B2 patent drawing
  • US8621439B2 patent drawing
  • US8621439B2 patent drawing

AI summary

Modern application tracing techniques are described herein that enable dynamic logging of events declared in a static manifest. Various events for logging can be declared in a static manifest. The static manifest may then be compiled to translate the declared events into a library of corresponding functions that can be called by “modern” applications written using dynamic code. Calls made to these functions from dynamic code are converted to corresponding static events and forwarded to existing tracing application programming interfaces (APIs) designed to handle logging of static events for “legacy” applications that use compiled code. In this manner, static functions that are compatible with tracing APIs can be created and called dynamically from dynamic code. This can occur without requiring administrative rights to install the code and while preserving existing features for legacy applications, such that a tracing log can include events from both modern applications and legacy applications.