Virtual Desktop Search Indexing via Dynamic Resource Pooling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional search indexing in virtual desktop environments faces challenges due to limited processing power and memory allocation, leading to inefficient resource utilization and outdated search indexes, which result in a poor user experience and increased processing demands during index updates.

Innovation Solution

A system with a Virtual Resource Manager (VRM) that dynamically allocates resources across multiple servers, allowing initial and incremental indexing processes to run independently of user log-in status, using a shared resource pool to manage indexing processes and prevent overcommitment of resources, while ensuring that search indexes are kept up-to-date through scheduled updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If search indexing is performed on physical discrete hardware, then indexing can be completed, but significant computer resources (processor, volatile memory, non-volatile memory) are consumed

Engineering Contradiction:
Improveindexing completionVSAvoidcomputer resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent combines multiple indexing operations across virtual desktops into a centralized indexing service that runs on the virtualization infrastructure. This merging allows resource sharing and consolidation, enabling indexing to be performed without requiring significant resources from individual virtual desktops or their host systems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The indexing service operates autonomously in the background without requiring user intervention or consuming virtual desktop resources. The system self-manages the indexing process, storing results in user profiles that are automatically updated and made available when needed, eliminating the need for manual indexing operations.

Inventive Principle:
Principle #25Self-service

2Reliability

If indexing processes run during user sessions, then search indexes can be updated, but processing power is required during user sessions which may impact user experience

Engineering Contradiction:
Improvesearch index currencyVSAvoiduser experience during session
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs indexing operations in advance and stores results in user profiles before they are needed. Indexing is decoupled from user sessions, allowing the system to pre-process and update indexes without requiring processing power during active user sessions, thus maintaining both index currency and smooth user experience.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple users share virtual desktop infrastructure, then resource utilization can be optimized, but indexing processes may compete for available processing power

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidindexing process management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a centralized indexing service as an intermediary between the virtual desktop infrastructure and user data. This mediator manages all indexing operations centrally, coordinating resource allocation and process scheduling across multiple users, thereby simplifying the complexity of managing concurrent indexing processes while maintaining efficient resource utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11238022B1Methods and systems for searching and indexing virtual environments
Publication Date: 2022.02.01 X1 DISCOVERY
  • US11238022B1 patent drawing
  • US11238022B1 patent drawing
  • US11238022B1 patent drawing

AI summary

Methods and systems for generating search indexes in a virtual desktop environment are disclosed. An initial index generation module is configured to generate initial iterations of search indexes for a plurality of users associated with respective virtual desktops and store the initial iterations of search indexes on a shared data store. An incremental search indexing module is configured to update existing iterations of search indexes associated with the plurality of users according to respective schedules. A search processing module is configured to receive a search query from a first user while the first user is logged into the first virtual desktop, identify, utilizing an iteration of the search index associated with a first user and stored on the server storing search indexes for the plurality of users associated with respective virtual desktops, matching documents, and to cause search results corresponding to the matching documents to be presented via the first virtual desktop.