Runtime Analytics Instrumentation via Pointer Swapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solutions for collecting and analyzing data in 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 modification of application behavior without modifying the source code, by changing implementation pointers to execute analytics functions instead of target functions, enabling targeted data collection and real-time adaptation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

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:
Loss of informationVSDevice complexity

Solution Approach 1:

The system segments analytics functionality into separate interchangeable modules (e.g., data collection modules, data processing modules) that can be independently selected and configured. This allows the application to gain analytics capability without integrating tracking software directly into the source code, thereby reducing implementation complexity while maintaining data collection effectiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal analytics framework that can collect and process multiple types of analytics data through a single integrated system. The framework supports various data collection methods and can adapt to different analytics requirements without requiring separate tracking software integrations for each data type, thus improving capability while controlling complexity.

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

2Measurement precision

If source code modification is required for tracking software 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 extracts the tracking software integration requirement from the application development process. Instead of modifying source code to integrate analytics, the system provides pre-built analytics modules that can be deployed independently. This extraction maintains precise data collection capability while eliminating the need for source code modification, thereby improving deployment ease.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system introduces an intermediary analytics layer that sits between the application and the data collection infrastructure. This intermediary provides precise measurement capabilities through standardized interfaces without requiring direct modification of application source code, thus maintaining data precision while simplifying deployment.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If conventional tracking software is used, then initial data collection is improved, but adaptability to changing user needs worsens

Engineering Contradiction:
Improvedata collection effectivenessVSAvoidadaptability to user needs
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic analytics system where the configuration of data collection modules can be changed at runtime based on evolving user needs and market conditions. The system allows administrators to enable, disable, or reconfigure specific analytics modules without redeploying the entire application, thereby maintaining effective data collection while significantly improving adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables parameter changes in analytics configuration through a centralized management interface. Different sets of analytics parameters can be activated based on user community characteristics or market segments, allowing the same application to collect different types of data effectively for different user groups without code modification.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If analytics modules are added after application deployment, then adaptability is improved, but reliability may worsen due to runtime modifications

Engineering Contradiction:
Improveruntime adaptabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent prepares analytics modules and configuration options in advance during application deployment, but their activation and specific configuration occur later through controlled mechanisms. This preliminary preparation ensures that runtime modifications are performed with pre-validated modules, maintaining system reliability while achieving the desired adaptability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms that monitor the impact of analytics module additions and configurations on system performance and stability. This feedback allows administrators to make informed decisions about module activation, ensuring that adaptability improvements do not compromise system reliability through uncontrolled runtime modifications.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9118679B2Analytics data collection with low integration cost for dynamic message passing systems
Publication Date: 2015.08.25 CISCO TECHNOLOGY INC
  • US9118679B2 patent drawing
  • US9118679B2 patent drawing
  • US9118679B2 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.