Merged I/O Requests for Virtual Desktop Directory Listing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual desktop infrastructure (VDI) technologies face performance issues during directory enumeration in client drive redirection (CDR), particularly when accessing shared directories with many files and subdirectories, due to the high number of sequential requests and responses over the network.
Innovation Solution
The implementation of merged input/output (I/O) requests and responses in the CDR system, where the CDR server combines multiple expected I/O requests into a single packet and the CDR client merges corresponding responses, reduces the number of network trips and enhances directory listing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If sequential I/O requests are used for directory enumeration in CDR, then each file metadata can be retrieved individually, but the number of network requests increases significantly leading to poor performance
Solution Approach 1:
The patent merges multiple individual I/O requests into a single batched request packet. Instead of sending separate requests for each file metadata (filename, size, timestamp, etc.), the system consolidates these requests and transmits them in one network packet, reducing the number of round trips from N (number of files) to 1, thereby dramatically improving directory enumeration performance
Solution Approach 2:
The system performs preliminary actions by predicting and preparing all necessary I/O requests before actual directory enumeration begins. By pre-defining the complete set of metadata queries that will be needed and batching them together in advance, the system eliminates the sequential overhead of individual request-processing cycles
2Loss of information
If multiple sequential network requests are sent for directory listing, then complete file information can be obtained, but network latency significantly affects performance
Solution Approach 1:
The patent combines multiple I/O requests that would otherwise be sent sequentially into a single merged request packet transmitted over the network. This batching approach ensures all file metadata (names, sizes, timestamps, attributes) is retrieved in one network round trip, maintaining complete information while eliminating the time penalty of multiple sequential requests受网络延迟影响
Solution Approach 2:
The system maintains continuous useful action by keeping the network connection active and utilizing it efficiently. Instead of opening and closing connections for each request, the merged request approach keeps the communication stream continuous, maximizing the utilization of network bandwidth and minimizing idle time between requests
3Ease of operation
If traditional CDR directory enumeration is used, then file access is possible, but the number of packets transmitted increases leading to poor performance in large directories
Solution Approach 1:
The patent applies merging by consolidating numerous individual I/O requests into a single batched request packet. For directories containing many files, instead of transmitting one packet per file metadata query, the system merges all these queries into one packet, reducing packet quantity from O(N) to O(1) where N is the number of files, thereby dramatically improving performance while maintaining full file access capability
Solution Approach 2:
The merged request packet serves multiple functions simultaneously - it retrieves filenames, sizes, timestamps, and attributes for multiple files in a single transmission. This multi-functional approach eliminates the need for separate specialized requests for each type of metadata, reducing overall packet traffic while maintaining complete file access functionality
Data Source
AI summary
System and methods are provided for improved directory enumeration on shared client directories in virtual desktops. A merged I/O request containing multiple expected I/O requests for enumerating a directory can be produced on the virtual desktop. The merged I/O request can be conveyed to the client device and a merged I/O response containing multiple I/O responses to the expected I/O requests can be received from the client device. The received I/O responses can be stored in cache memory on the virtual desktop and used to respond to subsequent queries for enumerating the directory on the virtual desktop.


