SaaS Embedded Browser Telemetry for Fault Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprises face challenges in managing fault conditions associated with network applications due to differences between client devices and how they access network resources, lacking effective tools for reporting performance bugs and grievances.

Innovation Solution

Implementing a software-as-a-service (SaaS) container with an embedded browser that collects and reports telemetry and user experience data, allowing for the capture and transmission of detailed metrics and user interactions to aid in troubleshooting and debugging network applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an enterprise uses multiple client devices to access network applications, then mobility and accessibility are improved, but fault condition management and error tracking become more difficult

Engineering Contradiction:
Improveclient device accessibilityVSAvoidfault condition management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary system comprising a client agent and server application that mediates between diverse client devices and the network application. The client agent collects telemetry data from the client device and transmits it to the server application, which aggregates and analyzes the data. This intermediary layer simplifies fault condition management by providing a unified interface regardless of the underlying client device diversity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The server application performs multiple functions including collecting telemetry data, generating error reports, capturing screen recordings, and analyzing JavaScript console logs. This multi-functional approach consolidates various debugging and monitoring tasks into a single system, reducing the complexity of managing fault conditions across different client devices.

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

2Measurement precision

If detailed telemetry and user experience data are collected from client applications, then debugging information quality is improved, but data collection and processing complexity increases

Engineering Contradiction:
Improvedebugging information qualityVSAvoiddata collection system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the data collection system into distinct functional components: a client agent responsible for collecting telemetry data and capturing screen recordings, a server application for aggregating and analyzing data, and specific modules for collecting JavaScript console logs and error messages. This segmentation allows each component to focus on specific data collection tasks, improving debugging information quality while managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client agent acts as an intermediary that collects detailed telemetry data from the client device and transmits it to the server application. This intermediary handles the complexity of data collection locally, processing and packaging data before transmission, thereby improving the quality of debugging information while reducing the burden on the server side.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If screen recordings and user interaction data are captured, then performance bug identification is improved, but bandwidth and storage requirements increase

Engineering Contradiction:
Improveperformance bug identificationVSAvoiddata transmission volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by capturing screen recordings and user interaction data locally on the client device before transmission. The client agent records user actions, application states, and error conditions as they occur, storing this data locally until it needs to be transmitted for analysis. This preliminary capture ensures that performance bug identification data is available even in low-bandwidth scenarios.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the most relevant debugging information for transmission to the server application. The client agent selectively captures telemetry data, error messages, and screen recordings based on predefined criteria such as error conditions or performance thresholds. This extraction approach reduces the volume of transmitted data while maintaining the reliability of performance bug identification.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10936470B2Systems and methods for performance bug and grievance reports for SaaS applications
Publication Date: 2021.03.02 CITRIX SYSTEMS INC
  • US10936470B2 patent drawing
  • US10936470B2 patent drawing
  • US10936470B2 patent drawing

AI summary

Systems and methods for reporting performance issues or grievances of network applications on client devices are provided. A first server of a first entity receives, from a client application on a client device, a data package including embedded browser activity of an embedded browser of the client application captured responsive to a capture trigger detected by the client application. The embedded browser activity relates to a network application of a second server of a second entity. The first server identifies, based on the embedded browser activity included in the data package, the network application to which the embedded browser activity corresponds. The first server generates, responsive to a report generation trigger corresponding to the network application, an error report based on the data package. The error report is then transmitted via a connection established between the first server and the one or more second servers corresponding to the network application.