Bandwidth Emulation for Streaming Media in Virtual Desktops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization systems, the variability and unreliability of network bandwidth between session hosts and clients can lead to difficulties in streaming digital media content, as session hosts often have higher available bandwidth than session clients, causing performance issues.

Innovation Solution

The method involves emulating the client device's bandwidth by hooking into and throttling APIs associated with digital media applications on the session host, intercepting API calls, and returning data based on the client's bandwidth, thereby tricking the application into making bandwidth determinations based on the emulated client bandwidth rather than the host's actual bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the session host uses its actual high bandwidth for streaming digital media, then the host can deliver high-quality content, but the client cannot properly receive and process it due to limited client bandwidth

Engineering Contradiction:
ImprovebandwidthVSAvoidstreaming performance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a bandwidth emulation layer as an intermediary between the digital media application and the network interface. This intermediary monitors and throttles API calls to simulate the client's actual bandwidth constraints, allowing the application to make accurate bandwidth decisions without being directly exposed to the mismatch between host capability and client capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes the bandwidth parameter presented to the application by throttling API responses. Instead of using the actual high bandwidth available at the host, the system adjusts the effective bandwidth parameter to match the client's limitations, enabling the application to select appropriate streaming quality levels.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the application determines bandwidth based on host availability, then high bitrate selection is made, but streaming fails or performs poorly at the client due to lower client bandwidth

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidbandwidth measurement accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent creates a virtual copy of the client's bandwidth characteristics at the host level. By replicating the client's bandwidth profile through API throttling, the system enables the application to measure and decision based on accurate bandwidth information that reflects actual client conditions rather than host capabilities.

Inventive Principle:
Principle #26Copying

3Reliability

If bandwidth throttling is applied to emulate client limits, then accurate bitrate selection is achieved, but additional processing complexity is introduced on the session host

Engineering Contradiction:
Improvestreaming qualityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The bandwidth emulation system automatically monitors API usage patterns and dynamically adjusts throttling without requiring manual configuration or complex external control systems. The system serves itself by learning bandwidth characteristics from observed traffic patterns and autonomously making adjustments to maintain optimal streaming quality.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2815559B1Client bandwidth emulation in hosted services
Publication Date: 2019.04.10 CITRIX SYSTEMS INC
  • EP2815559B1 patent drawingFigure 1
  • EP2815559B1 patent drawingFigure 2
  • EP2815559B1 patent drawingFigure 3

AI summary

Bandwidth on the Internet and intranets is highly variable and unreliable, two properties that can make streaming digital media content difficult. In a virtualization system (e.g., virtual desktop, remote desktop, remote application, and the like), this is especially so based on different bandwidths available to the session host and the session client. Methods and systems for emulating a bandwidth of a client device in a virtualization system are described. When the session host is executing an application (e.g., a digital media application), the session host may emulate the bandwidth of the session client by hooking into and throttling data over one or more APIs associated with the digital media application, thereby tricking the application into making a bandwidth determination based on the emulated bandwidth of the session client, rather than based on the bandwidth of the session host.