Session Broker for Virtual Desktop Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current remote computing systems face challenges in providing efficient load balancing, placement, and orchestration of virtual machines for centralized desktops, leading to suboptimal user experiences and resource management.

Innovation Solution

The introduction of a terminal services virtualization platform with a session broker that uses APIs to manage and optimize remote desktop connections, allowing for seamless load balancing, placement, and orchestration of virtual machines, enabling users to connect to virtual desktops as if they were physical desktops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual machines are used for centralized desktops, then resource utilization is improved, but load balancing and orchestration complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidload balancing and orchestration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a session broker as an intermediary component that manages remote desktop connections to virtual machines. The session broker handles load balancing, placement decisions, and orchestration tasks, separating these complex functions from the virtual machine infrastructure itself. This mediator approach allows virtual machines to be efficiently utilized while the session broker absorbs the complexity of load balancing and orchestration, resolving the contradiction between improved resource utilization and increased system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple plug-ins are used for load balancing and orchestration, then system functionality is improved, but system complexity increases

Engineering Contradiction:
Improvesystem functionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the session management system into distinct plug-in components, each responsible for specific functions such as load balancing, placement, and orchestration. These modular plug-ins communicate through standardized interfaces with the session broker, allowing individual functions to be developed, deployed, and managed independently. This segmentation enables enhanced system functionality through specialized plug-ins while managing complexity through modular architecture and standardized communication protocols.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If seamless connection experience is provided to users, then user experience is improved, but connection management complexity increases

Engineering Contradiction:
Improveuser experienceVSAvoidconnection management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the session broker automatically performs load balancing decisions, placement optimizations, and connection orchestration without requiring user intervention. The system autonomously manages the complexity of connection routing and virtual machine selection, while users experience seamless connections to their virtual desktops. This self-service approach resolves the contradiction by hiding connection management complexity from users while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9009329B2Platform for enabling terminal services virtualization
Publication Date: 2015.04.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9009329B2 patent drawing
  • US9009329B2 patent drawing
  • US9009329B2 patent drawing

AI summary

Disclosed are techniques for providing a platform and application program interface (API) that leverages a terminal services session broker infrastructure to support third party plug-in applications. In a typical scenario, when a user requests for a connection to access third party plug-in applications, the application program interface may interact with the session broker process to identify sessions or suitable servers to which the user can be connected. The user may access the third party plug-in applications through the identified sessions or suitable servers.