Remote Window Z-Order Integration via Local Stub Windows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current remote presentation protocols, such as RDP, limit the integration of remote windows into a client's desktop by not accurately emulating the z-order behavior of local windows, leading to inconsistencies and usability issues when mixing local and remote applications.
Innovation Solution
A method that clips and recalculates the region of remote windows to match the z-order of local windows, using local stub windows and dynamic updates to ensure seamless integration, with notifications from the server to the client for accurate positioning and handling of remote windows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If remote windows are integrated into the client's desktop using existing RDP protocols, then the seamless windows experience is improved, but the z-order behavior consistency deteriorates because remote windows do not accurately emulate local window stacking behavior
Solution Approach 1:
The patent creates local stub windows that copy the essential properties and behavior of remote windows. These stub windows are generated on the client side to mirror the z-order, position, and size characteristics of remote windows, allowing them to participate correctly in the local window stacking hierarchy while maintaining the seamless integration experience
Solution Approach 2:
The patent introduces local stub windows as intermediary elements between the remote window system and the local desktop environment. These stub windows act as mediators that translate remote window operations into local window behavior, ensuring proper z-order management and integration with local applications without requiring changes to the remote presentation protocol
2Adaptability or versatility
If the entire remote desktop is transmitted as a single unit, then network compatibility is maintained, but the ability to integrate individual remote windows into the local desktop deteriorates
Solution Approach 1:
The patent segments the remote desktop transmission by extracting individual window information from the remote desktop image. Instead of transmitting the entire desktop as one unit, the system identifies and separates remote window boundaries, positions, and sizes, allowing selective integration of individual windows into the local desktop while maintaining compatibility with existing RDP protocols
Solution Approach 2:
The patent performs preliminary analysis of the remote desktop image to identify window boundaries, positions, and sizes before integration. By pre-processing the remote desktop data to extract window-specific information, the system prepares the necessary data structures and parameters needed for seamless integration without requiring protocol modifications
3Reliability
If local windows are clipped to remote window boundaries, then remote window visibility is improved, but local window overlap behavior deteriorates because local windows cannot properly overlay remote windows
Solution Approach 1:
The patent inverts the traditional clipping approach by not clipping local windows to remote window boundaries. Instead, it allows local windows to naturally overlay remote windows by creating transparency or clipping holes in the remote desktop display areas where local windows should appear, reversing the clipping direction to preserve local window hierarchy
Data Source
AI summary
In a client-server system, a server-node application runs a user session and a remote presentation protocol communicates between the client node and the server node. The server node stores a remote virtual desktop including remote windows of the user session. The client node displays multiple local windows of applications running locally on the client node and further displays one or more windows of the remote virtual desktop. The one or more windows are clipped to produce a clipped region so that the remote windows are displayed therein to appear as the local windows. The local windows are enumerated according to z-order from back to front and an area of each local window which overlaps the clipped region is subtracted from the clipped region so that the local windows show through the area.


