Sharded Resource Broker for Virtual Desktop Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual desktop infrastructure (VDI) systems face scalability bottlenecks in monolithic shared-everything architectures, particularly when deploying large numbers of virtual desktops, as they require complex configurations that offer only marginal improvements in scalability.
Innovation Solution
Implementing a shared-nothing virtualization architecture where multiple agent concentrators maintain state information for their respective virtual machines, allowing brokers to scale independently by dividing the task of brokering user sessions and tracking virtual machines into separate tiers, and using a sharded resource broker architecture for parallel search mechanisms across sharded data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a monolithic shared-everything architecture is used for connection brokers, then the system can maintain complete state information of all virtual machines, but the scalability is limited when the number of deployments approaches ten thousand virtual desktops
Solution Approach 1:
The patent divides the monolithic connection broker into multiple agent concentrators, each maintaining state information for a specific shard of virtual machines. This segmentation allows the system to scale horizontally by adding more agent concentrators while each individual concentrator maintains manageable state information, resolving the contradiction between complete state tracking and scalability.
2Productivity
If attempts are made to improve an individual cluster's scalability or link federate clusters of connection brokers, then some scalability improvement is achieved, but complex configurations are required and only marginal improvements are obtained
Solution Approach 1:
The system segments virtual machine state information across multiple agent concentrators using a sharded architecture, where each concentrator handles a specific portion of the state data. This natural segmentation eliminates the need for complex federation configurations between clusters, as the sharded architecture inherently supports horizontal scaling with simpler inter-concentrator communication protocols.
Solution Approach 2:
The patent introduces a new architectural dimension by separating the brokering function into distinct agent concentrators that can be independently scaled and configured. This dimensional separation allows each concentrator to operate autonomously with simplified configurations while collectively providing the required scalability, avoiding the complex inter-cluster federation approaches.
3Productivity
If the number of connection brokers is increased to handle larger loads, then service capacity can be expanded, but the monolithic architecture presents a scalability bottleneck
Solution Approach 1:
The patent segments the connection broker functionality into multiple agent concentrators, each handling a specific shard of virtual machine state information. This segmentation enables linear scaling of service capacity by simply adding more agent concentrators, as each new concentrator independently manages its own state data without requiring complex integration with the entire system state, thus avoiding the scalability bottlenecks of monolithic architectures.
Data Source
AI summary
This disclosure describes a virtual desktop brokering system that brokers a virtual desktop session. During operation, a broker receives a request to establish the session. Next, the broker broadcasts, to a set of agent concentrators, a request to find an available machine for the session, wherein each agent concentrator maintains state information of a respective group of available machines. The broker receives, from at least one agent concentrator, a list of available machines. Subsequently, the broker chooses an available machine from the list for the session, and the broker sends a request to the agent concentrator associated with the chosen machine to initiate the session.


