Network Appliance Script Injection for Web Page Loading Measurement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current end-user experience monitoring systems fail to accurately measure parameters associated with web page loading times, such as server response time, browser load time, and user interaction time, due to variability across different browsers and implementations, and lack efficient methods for accelerating web page delivery.

Innovation Solution

A method and system that intercepts web page requests and responses, injects a script to register web page events, and applies acceleration techniques like compression, TCP pooling, multiplexing, and caching to enhance delivery, using a network appliance to measure and report loading parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a script is injected into web page responses to register event notifications, then measurement precision of web page loading parameters is improved, but device complexity increases

Engineering Contradiction:
Improvemeasurement precisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

A network appliance is introduced as an intermediary component between the web server and the end-user browser. The appliance intercepts HTTP responses, injects monitoring scripts into the web page content, and manages the collection of loading parameters. This intermediary approach enables precise measurement of server response time, browser load time, and user interaction time without requiring direct modification of the web server or browser infrastructure, thereby improving measurement precision while containing device complexity through a dedicated monitoring component.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If acceleration techniques like compression and TCP pooling are applied, then productivity of web page delivery is improved, but device complexity increases

Engineering Contradiction:
ImproveproductivityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network appliance performs preliminary actions by pre-compressing web page content and pre-establishing TCP pooled connections before the actual web page delivery to the end-user. By compressing content in advance and maintaining a pool of reusable TCP connections to the web server, the system reduces the time required for web page delivery and minimizes connection establishment overhead. These preliminary preparations improve productivity by making web page loading faster while the complexity is managed through centralized acceleration functions in the network appliance.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If multiple acceleration techniques are implemented, then loss of time in web page loading is reduced, but device complexity increases

Engineering Contradiction:
Improveloss of timeVSAvoiddevice complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Multiple acceleration techniques including compression, TCP pooling, and script injection are merged into a single integrated network appliance. Instead of implementing these techniques as separate distributed components, the system combines them in one centralized device that handles all acceleration functions. This merging reduces the overall system complexity while achieving cumulative time savings from all acceleration techniques working together to minimize web page loading time for end-users.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9231815B2Systems and methods for script injection
Publication Date: 2016.01.05 CITRIX SYSTEMS INC
  • US9231815B2 patent drawing
  • US9231815B2 patent drawing
  • US9231815B2 patent drawing

AI summary

Systems and methods for script injection are shown and described. The method can include intercepting, by a network appliance, a request for a web page from a computing device, transmitting, by the network appliance, the request for a web page to a web server, and intercepting, by the network appliance, a response from the web server, the response including at least a portion of the requested web page. The method can also include injecting, by the network appliance, a script having instructions that when executed by the computing device registers to be notified of the occurrence of a web page event thereby creating a modified response and transmitting the modified response to the computing device that requested the web page.