Per User Index Virtual Hard Disk Roaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Remote Desktop Services (RDS) environments, users experience significant time and resource expenses due to the need for re-indexing their database and configuration data whenever they switch to a different machine, as the index database is typically empty on new machines, leading to inefficient user roaming across multiple machines in a machine pool.

Innovation Solution

Implementing a system that uses a virtual hard disk (VHD) to store and manage user-specific data, allowing the indexer to analyze files and identify user ownership without input from application sessions, and dynamically load/unload user indexing data based on logon/logoff events, enabling seamless data roaming and eliminating the need for re-indexing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the index database is stored locally on each machine in the machine pool, then the user can access their index data on any machine, but the index database becomes empty when the user switches to a new machine, requiring expensive re-indexing operations

Engineering Contradiction:
Improveuser roaming capabilityVSAvoidre-indexing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a copy of the user's index database and stores it in a network location accessible by all machines in the machine pool. This allows the user to access their index data on any machine without performing re-indexing operations, resolving the contradiction between user roaming capability and re-indexing time loss.

Inventive Principle:
Principle #26Copying

2Reliability

If re-indexing is performed every time a user switches to a different machine, then the index database is up-to-date on each machine, but significant computing resources and time are consumed

Engineering Contradiction:
Improveindex database accuracyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of performing expensive re-indexing operations on each machine, the patent copies the user's index database from their home machine to a network location. This maintains index database accuracy across machines while preserving system efficiency by avoiding redundant re-indexing operations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs the indexing operation once on the user's home machine before the user roams to other machines. This preliminary action ensures the index database is up-to-date in advance, eliminating the need for repeated re-indexing operations on subsequent machines and maintaining both reliability and productivity.

Inventive Principle:
Principle #10Preliminary action

3Speed

If the index database is stored on the user's local machine, then access speed is fast, but the user cannot access their index data when roaming to other machines without re-indexing

Engineering Contradiction:
Improvesearch speedVSAvoidmachine pool roaming
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent copies the user's index database to a network location that is accessible by all machines in the machine pool. This enables the user to access their index data with fast search speeds on any machine in the pool, resolving the contradiction between search speed and machine pool roaming capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3966705B1Per user index for virtual desktop
Publication Date: 2025.01.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3966705B1 patent drawingFigure 1
  • EP3966705B1 patent drawingFigure 2
  • EP3966705B1 patent drawingFigure 3

AI summary

A per user system include for a virtual desktop includes a server connected to multiple users, wherein each server hosts multiple application sessions accessible by the users. An indexer hosted on the server can be configured to analyze a file on the server to identify a user that owns the file without input from the application sessions and to save the file to a virtual hard disk (VHD) of the identified user. The VHD can be temporarily saved on the server. A communications device can be connected to the indexer, where the communication device can send the VHD of the identified user from the server to a storage device. A processor can be on a second server, where the processor can retrieve the VHD of the identified user from the storage device and temporarily save the VHD of the identified user on the second server.