Virtual Machine Session Broker for Seamless Reconnection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In remote computing systems, efficiently reconnecting a user to a preexisting virtual machine session across multiple servers while maintaining session state and load balancing is challenging, especially when virtual machines are in an inactive state and need to be restored for connection.

Innovation Solution

A system comprising a redirector module and a broker module that manages client connections by sending redirection packets with IP addresses and virtual machine names to redirect clients to available virtual machines, maintaining a cache of user sessions for load balancing and session state tracking, and waking up inactive virtual machines for connection readiness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If virtual machines are maintained in inactive state to save resources, then energy consumption is reduced, but connection establishment time increases when users need to reconnect

Engineering Contradiction:
Improveenergy consumptionVSAvoidconnection establishment time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining virtual machines in an inactive but preserved state rather than completely shutting them down. The broker module keeps session information and VM configuration data ready, allowing rapid restoration when reconnection is needed. This preliminary preservation of state enables quick activation without full initialization, resolving the contradiction between energy savings and connection speed.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If session information is stored centrally in broker module, then session state tracking is improved, but system complexity increases

Engineering Contradiction:
Improvesession state trackingVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The broker module serves multiple functions: it acts as a session information repository, a load balancer, a VM orchestrator, and a connection manager. By consolidating these diverse functions into a single multi-functional component, the system reduces overall complexity while improving session tracking. The broker's universal role eliminates the need for separate specialized components for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If load balancing is implemented across multiple servers, then system reliability is improved, but connection management complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidconnection management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The broker module serves as an intermediary between clients and the distributed server infrastructure. It abstracts the complexity of load balancing and session management across multiple servers, presenting a simplified interface to clients while managing the distributed system's complexity internally. This mediator approach maintains reliability through distribution while hiding connection management complexity from end users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10146566B2Enabling virtual desktop connections to remote clients
Publication Date: 2018.12.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10146566B2 patent drawing
  • US10146566B2 patent drawing
  • US10146566B2 patent drawing

AI summary

Disclosed are techniques for providing a platform that allows a user to remotely establish a connection with a virtual machine operating on a server farm 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.