Runtime Analytics Instrumentation via Pointer Swapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solutions for collecting and analyzing data from software applications require integration of tracking software into the application's source code, leading to increased complexity, cost, and inflexibility, making it difficult to adapt to changing user needs or market conditions.

Innovation Solution

A system that uses a library of analytics functions to instrument applications at runtime, allowing for dynamic data collection and analysis without modifying the source code, by changing implementation pointers to execute analytics functions instead of target functions, enabling real-time data collection and modification of application behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tracking software is integrated into the application source code, then analytics data collection capability is improved, but device complexity and implementation cost increase

Engineering Contradiction:
Improveanalytics data collection capabilityVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component (tracking software module) that sits between the application and the analytics system. This module can be dynamically loaded and unloaded without modifying the core application code, thereby enabling analytics data collection while minimizing integration complexity and preserving application modularity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If source code modification is required for tracking integration, then data collection precision is improved, but ease of manufacture and deployment worsen

Engineering Contradiction:
Improvedata collection precisionVSAvoiddeployment ease
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The patent implements preliminary action by pre-configuring tracking templates and data collection schemas before application deployment. The tracking software is designed to automatically instrument applications using these pre-defined templates, eliminating the need for manual source code modification while maintaining precise data collection capabilities through standardized measurement protocols.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If wholesale application replacement is required to modify analytics data collection, then adaptability to different user needs is improved, but loss of time and productivity worsen

Engineering Contradiction:
Improveadaptability to user needsVSAvoidmodification time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements dynamics by making the analytics data collection configuration mutable and adaptable at runtime. The system allows dynamic modification of tracking parameters, data collection scopes, and analysis focus areas without requiring application re-compilation or re-deployment. Configuration changes can be made through simple parameter updates or configuration file modifications, enabling rapid adaptation to different user needs and market conditions.

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If detailed instrumentation is added to the application, then measurement precision is improved, but device complexity and development cost increase

Engineering Contradiction:
Improveanalytics measurement precisionVSAvoidsoftware engineering complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the analytics functionality into distinct, modular components: data collection modules, data processing modules, and analysis modules. Each module can be independently configured, activated, or deactivated based on specific needs. This segmentation allows precise instrumentation where needed while keeping the overall system manageable and reducing development complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9389935B2Analytics data collection with low integration cost for dynamic message passing systems
Publication Date: 2016.07.12 CISCO TECHNOLOGY INC
  • US9389935B2 patent drawing
  • US9389935B2 patent drawing
  • US9389935B2 patent drawing

AI summary

A method, an apparatus, and a computer program product which capture and use analytics data relating to the internal activity of software programs executing in a message-passing runtime environment, such as that provided by Objective-C. The invention exploits the well documented interfaces of these environments together with their dynamic runtime capabilities to insert data collection and analysis code into an application without modification of the target application.