Script Object Logging Mechanism for Web Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software and rich media monitoring systems face challenges in efficiently logging and tracking events within client-side web applications, particularly in scenarios where local file system access is restricted, leading to difficulties in collecting and processing usage data and error logs.

Innovation Solution

A script-based invocation mechanism is employed, where a client-side script object is dynamically created to log data to a remote server and then promptly destroyed, ensuring that the script object persists only as long as necessary to log the event, using a markup language page instrumented with a control script and a logging API that imports and exports data via HTTP parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a script object is dynamically created to log data to a remote server, then real-time data collection and processing is enabled, but the client-side resources are consumed during the logging process

Engineering Contradiction:
Improvereal-time data collection efficiencyVSAvoidclient-side resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The logging mechanism is pre-configured in the web page code, but the actual script object creation is deferred until an error occurs. This preliminary setup allows the system to be ready for logging without consuming resources during normal operation, and only activates when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The script object is created temporarily just for the purpose of logging the error data to the server, then immediately destroyed after the logging operation completes. This disposable approach minimizes resource consumption by keeping the script object alive only for the shortest necessary duration.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Reliability

If a script object persists in the client to handle logging, then data can be reliably transmitted to the server, but the script object may interfere with user interactions

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoiduser interaction smoothness
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The logging functionality is extracted into a separate, dynamically created script object that operates independently from the main user interface. This separation ensures that the logging process does not interfere with user interactions, while still maintaining reliable data transmission to the server.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The script object executes the logging operation quickly and destroys itself immediately after completion. This rapid execution minimizes the time the script object is present in the client, reducing potential interference with user interactions while ensuring reliable data transmission.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If local file system access is restricted in web applications, then security is improved, but logging and tracking events becomes difficult

Engineering Contradiction:
ImprovesecurityVSAvoidlogging mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of writing directly to the local file system (which is restricted), the logging mechanism uses an intermediary approach by creating a script object that transmits data over the network to a remote server. This intermediary transmission method bypasses the file system restriction while maintaining security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The logging mechanism is made dynamic by creating the script object only when needed (upon error occurrence) rather than having a static file writing system. This dynamic approach adapts to the security constraints of web environments while enabling effective logging and tracking.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9578089B2Remote invocation mechanism for logging
Publication Date: 2017.02.21 ACUITYADS US INC
  • US9578089B2 patent drawing
  • US9578089B2 patent drawing
  • US9578089B2 patent drawing

AI summary

One or more events occurring within a client-side web application are logged at a remote server using a script-based invocation mechanism. The mechanism comprises a client-side script, and associated server-side code. Upon occurrence of an event to be logged, a script object is created on the client and used to pass logged data to the server, which then issues a response to destroy the script object. In this manner, the script object is created and persists in the client only as long as it is needed to log the event.