Window Display Synchronization in Terminal Server Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing window display priorities in remote desktop applications can lead to user confusion, as local and remote applications compete for foreground display, complicating seamless interaction between local and remote computing systems.

Innovation Solution

A method for synchronizing window display information between two computing systems engaged in a terminal server session, where both systems identify and share their window display priorities and states, allowing the client system to formulate a combined ordering for presenting windows and transmit it back to the server system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If remote desktop applications allow both local and remote applications to open windows independently, then application functionality and versatility are improved, but window management complexity and user confusion increase

Engineering Contradiction:
Improveapplication functionalityVSAvoidwindow management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a window manager as an intermediary component that mediates between local and remote applications. The window manager receives window creation requests from both local and remote applications, assigns z-order values, and manages the display stack. This intermediary layer abstracts the complexity of coordinating multiple applications across different systems, allowing both to function independently while maintaining organized window presentation through centralized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the OS displays windows based on simple first-come-first-served ordering, then ease of operation is improved, but seamless interaction between local and remote applications deteriorates

Engineering Contradiction:
Improvewindow display simplicityVSAvoidseamless interaction between systems
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent extends the traditional single-dimension window stacking model by introducing a multi-dimensional ordering system. Instead of only considering the order windows were opened, the system now considers multiple dimensions including which system (local or remote) created the window, the application type, and user preferences. This dimensional expansion allows the window manager to seamlessly integrate windows from both local and remote applications while maintaining intuitive display behavior.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If remote applications open windows independently on the client system, then application autonomy is improved, but display coordination and user experience deteriorate

Engineering Contradiction:
Improveapplication autonomyVSAvoiddisplay coordination
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements a feedback mechanism where the window manager continuously monitors window creation, activation, and closure events from both local and remote applications. When a remote application creates or activates a window, the window manager receives feedback about this event, recalculates the z-order based on current system state, and updates the display arrangement. This feedback loop ensures that autonomous applications automatically maintain proper display coordination without requiring changes to their internal logic.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7620899B2Windows display synchronization
Publication Date: 2009.11.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7620899B2 patent drawing
  • US7620899B2 patent drawing
  • US7620899B2 patent drawing

AI summary

Embodiments of the invention, are directed to synchronizing the presentation of windows between two computing systems. A client computing system participates in a terminal server session with a server computing system. Both computing systems identifying their own windows display information (e.g., client-side for local windows and server-side for remote windows respectively). The server computing system transmits its windows display information to the client computing system. The client computing system accesses the windows display information of the server computing system. The client computing system formulates combined ordering applicable to the presentation of both local and remote windows at the client computing system. The combined ordering is based on both the client side and the server-side windows display information. The client computing system presents windows in accordance with the formulated combined ordering. Additionally or alternatively, the client computing system transmits the formulated combined ordering to the server computing system.