Client Device QoS Control for SaaS Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current desktop virtualization systems, such as VDI, lack the ability to dynamically adjust Software as a Service (SaaS) application sessions based on end-to-end Quality of Service (QoS) to enhance user experience, as SaaS vendors have limited visibility into the user's experience and cannot control the client-side environment.

Innovation Solution

A client computing device that cooperates with a server to determine end-to-end QoS for SaaS application sessions and adjusts the SaaS application data stream by changing communications links or display attributes, such as switching between low latency and high bandwidth links, or modifying display settings, based on user interaction and viewing time, to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If desktop virtualization systems are used to provide centralized management and security, then user experience and QoS control are limited due to lack of visibility and control at client-side

Engineering Contradiction:
ImproveQoS controlVSAvoidUser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

An intermediary component is introduced at the client computing device that acts as a bridge between the SaaS application data stream and the client environment. This intermediary monitors QoS parameters, analyzes user experience metrics, and dynamically adjusts the data stream characteristics, thereby providing both QoS control and enhanced user experience without requiring changes to the centralized SaaS infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If SaaS vendors have limited visibility into user experience, then QoS optimization is constrained, but increasing visibility requires additional client-side components

Engineering Contradiction:
ImproveUser experience visibilityVSAvoidClient-side components
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The client computing device is equipped with self-service capabilities that enable it to autonomously monitor its own QoS performance, analyze user experience metrics, and adjust the SaaS application data stream without external intervention. This self-service approach provides complete visibility into user experience while minimizing the need for complex external monitoring infrastructure.

Inventive Principle:
Principle #25Self-service

3Productivity

If the SaaS application data stream is adjusted in real-time based on QoS changes, then performance is optimized, but system complexity increases

Engineering Contradiction:
ImproveSaaS application performanceVSAvoidData stream adjustment mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements dynamic adjustment of the SaaS application data stream based on real-time QoS conditions. The client computing device continuously monitors QoS parameters and dynamically modifies data stream characteristics such as bandwidth allocation, latency tolerance, and protocol selection. This dynamic approach optimizes SaaS application performance while keeping the adjustment mechanism integrated within the existing client architecture, thereby limiting the increase in system complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10958705B2Client computing device providing end-to-end quality of service (QoS) control for software as a service (SaaS) sessions and related methods
Publication Date: 2021.03.23 CITRIX SYSTEMS INC
  • US10958705B2 patent drawing
  • US10958705B2 patent drawing
  • US10958705B2 patent drawing

AI summary

A client computing device for use with a server configured to provide Software as a Service (SaaS) application sessions is provided. The client computing device may include a memory and a processor cooperating therewith to run a SaaS application session based upon a SaaS application data stream between the client computing device and the server, determine an end-to-end Quality of Service (QoS) for the SaaS application session, and change the SaaS application data stream based upon changes in the end-to-end QoS for the SaaS application session.