Dynamic Resource Allocation in Desktop Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In desktop virtualization environments, there is a challenge in balancing resource utilization between clients and servers to maximize the number of hosted desktops without degrading user experience, as improper task offloading can lead to excessive resource utilization on either side, affecting performance and battery life.

Innovation Solution

Implementing a method that uses machine learning models to track and evaluate client and server resource utilization, creating policies to dynamically optimize sessions by applying configuration settings that adjust based on current resource usage, thereby optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are offloaded to clients, then server resource utilization is reduced and more desktops can be hosted, but client resource utilization increases and may degrade user experience

Engineering Contradiction:
Improvenumber of hosted desktopsVSAvoiduser experience
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts task offloading decisions based on real-time resource utilization metrics from both server and client. The machine learning model continuously learns from resource usage patterns and adapts offloading policies to optimize the balance between hosting capacity and user experience, making the system flexible rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback loops where resource utilization data from clients and servers is continuously collected, analyzed by the machine learning model, and used to adjust offloading decisions. This closed-loop control ensures that offloading actions are based on actual system state and learn from past performance to improve future decisions.

Inventive Principle:
Principle #23Feedback

2Use of energy by stationary object

If multimedia redirection is performed on battery-powered clients, then server rendering load is reduced, but client battery drains quickly

Engineering Contradiction:
Improveserver rendering loadVSAvoidclient battery life
Core Design Contradiction:
Use of energy by stationary objectVSUse of energy by moving object

Solution Approach 1:

The system changes the parameter of multimedia rendering location based on client power state. When the client is battery-powered, the model learns to keep multimedia rendering on the server; when AC-powered, it may safely offload to the client. This parameter adjustment resolves the energy trade-off by adapting to power availability conditions.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If tasks are not offloaded, then client resource utilization remains low, but server resource utilization becomes excessive

Engineering Contradiction:
Improveclient resource utilizationVSAvoidserver resource utilization
Core Design Contradiction:
Ease of operationVSUse of energy by stationary object

Solution Approach 1:

The system applies partial offloading based on current resource conditions rather than all-or-nothing approaches. The machine learning model determines the optimal degree of offloading by evaluating both server and client resource states, applying just enough offloading to balance the system without overloading either side.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20210385281A1Intelligently managing resource utilization in desktop virtualization environments
Publication Date: 2021.12.09 DELL PROD LP
  • US20210385281A1 patent drawing
  • US20210385281A1 patent drawing
  • US20210385281A1 patent drawing

AI summary

Resource utilization can be intelligently managed in desktop virtualization environments. Utilization of client and server resources can be tracked during sessions that are established to access desktops. Machine learning models can be applied to the client and server resource utilization to create policies that define configuration settings for dynamically optimizing sessions based on the current utilization of resources during the sessions.