Edge Server Script Injection for Client APM Data Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computer systems face challenges in efficiently collecting and processing client-side application performance monitoring (APM) information, leading to increased network traffic and processing load on application servers.

Innovation Solution

Shifting the collection and aggregation of client-side APM parameters to edge servers by injecting script code fragments into web pages, which direct HTTP requests to static objects at edge servers, reducing the burden on application servers and optimizing network traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If client-side APM parameters are collected and aggregated at application servers, then comprehensive performance monitoring data is obtained, but network traffic and processing load on application servers increase

Engineering Contradiction:
ImproveAPM data collection completenessVSAvoidnetwork traffic and processing load
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent segments the APM data collection function by deploying edge servers at strategic network positions (e.g., CDN edges, DNS resolvers) to collect and aggregate client-side parameters before they reach the application server. This divides the originally centralized collection task into distributed segments, reducing the burden on application servers while maintaining data completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces edge servers as intermediary components between clients and application servers. These intermediaries perform the APM parameter collection and aggregation functions, acting as mediators that prevent raw monitoring data from consuming application server resources while still enabling comprehensive performance tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If script code fragments are injected into web pages to collect APM parameters, then real-time data collection is enabled, but additional processing steps are required

Engineering Contradiction:
Improvereal-time data collection capabilityVSAvoidscript injection and processing mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes edge servers multi-functional by combining their existing roles (CDN content delivery, DNS resolution, load balancing) with the new APM data collection function. This universal approach allows the same infrastructure component to simultaneously handle content delivery and performance monitoring without requiring separate dedicated collection systems.

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

Solution Approach 2:

The patent implements self-service mechanisms where the injected script code automatically collects APM parameters and sends them to edge servers without requiring manual intervention. The system serves itself by using the web page's existing HTTP requests to deliver both content and monitoring data, eliminating the need for separate data submission processes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10103961B2Collecting client-side application performance monitoring information
Publication Date: 2018.10.16 TEACHERS INSURANCE & ANNUITY ASSOC OF AMERICA
  • US10103961B2 patent drawing
  • US10103961B2 patent drawing
  • US10103961B2 patent drawing

AI summary

Systems and methods for collecting client-side application performance monitoring (APM) information in distributed computer systems. An example method may comprise: inserting a script code fragment into an electronic document to be transmitted to a client computing device, wherein the script code fragment is to issue a request for loading an object from a second computer system, the request comprising at least one of: a parameter of a client browser executed by the client computing device, a parameter of an application being executed within the client browser, or a parameter of a current session of the client browser; and transmitting the electronic document to at least one of: the second computer system or the client computing device.