Dynamic Instrumentation Locator IDs for Web Page Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy techniques for web page instrumentation rely on hard-coded location identifiers that become outdated with changes in web page structure, leading to inaccurate tracking of user interactions.

Innovation Solution

Dynamic generation of instrumentation locator IDs using the document object model, which modifies the user interface description to include instrumentation code that generates hierarchical location IDs, ensuring that log messages reflect current user interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If hard-coded location identifiers are used for web page instrumentation, then the instrumentation code is simple to implement, but the identifiers become outdated when web page structure changes

Engineering Contradiction:
Improveease of implementationVSAvoidaccuracy of tracking
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent transforms static hard-coded location identifiers into dynamic identifiers that are generated at runtime based on the current document object model (DOM) structure. Instead of using fixed strings that become outdated, the system generates identifiers by traversing the live DOM hierarchy, ensuring they always reflect the current page structure while maintaining implementation simplicity through automated generation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The instrumentation system automatically generates its own location identifiers by traversing the DOM tree and constructing hierarchical paths from element positions. This self-service mechanism eliminates the need for manual identifier maintenance and ensures identifiers remain synchronized with structural changes without external intervention.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If class name concatenation is used to generate instrumentation identifiers, then the identifiers adapt to structure changes, but any change to the hierarchy causes new event identifiers that don't match previous identifiers

Engineering Contradiction:
Improveadaptability to structure changesVSAvoidconsistency of event identifiers
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent shifts from using class names (semantic dimension) to using DOM hierarchical paths (structural dimension) for identifier generation. By traversing the DOM tree and constructing paths based on element positions and relationships rather than class names, the system achieves both adaptability to structural changes and consistency, as the hierarchical path remains stable even when class names change.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If statically-determined location identifiers are used, then the instrumentation code is simple and fast, but the identifiers become incorrect when elements are moved in the web page

Engineering Contradiction:
Improveexecution speedVSAvoidaccuracy of location tracking
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary DOM traversal and identifier generation when the page loads or when structural changes occur, rather than using pre-hard-coded identifiers. This preliminary action ensures that identifiers are generated based on the actual current structure before tracking begins, maintaining both speed (through cached DOM references) and accuracy (through structure-based generation).

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11580001B2Dynamic generation of instrumentation locators from a document object model
Publication Date: 2023.02.14 BOX INC
  • US11580001B2 patent drawing
  • US11580001B2 patent drawing
  • US11580001B2 patent drawing

AI summary

Systems for web page or web application instrumentation. Embodiments commence upon identification of a computer-readable user interface description comprising at least some markup language conforming to a respective document object model that is codified in a computer-readable language. An injector process modifies the user interface description by inserting markup text and code into the user interface description, where the inserted code includes instrumentation code to invoke dynamic generation of instrumentation locator IDs using the hierarchical elements found in the document object model. The modified computer-readable interface description is transmitted to a user device. Log messages are emitted upon user actions taken while using the user device. The log messages comprise the instrumentation locator IDs that are formed using hierarchical elements found in the document object model.