Virtual UI Subsystem for Multi-Application Screen Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current techniques for capturing and transmitting screens and I/O events from a server to a client device are inefficient, particularly when multiple applications need to be transmitted to multiple users, as they require multiple Windows sessions and can only display one interactive window at a time, leading to resource-intensive operations and limitations in concurrent user support.
Innovation Solution
The method involves executing multiple applications in non-interactive Windows Stations or separate Windows Desktops under a single Windows Session, using a virtual UI subsystem to capture and transmit screen changes and I/O events, bypassing traditional APIs and drivers, and employing an image-diff method to efficiently transmit only the necessary screen updates over HTTP or HTML standards.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple Windows sessions are used to transmit multiple applications to multiple users, then the system can support concurrent users, but the resource consumption increases and the system becomes more complex
Solution Approach 1:
The patent merges multiple Windows sessions into a single session by executing multiple applications in non-interactive Windows Stations or separate Windows Desktops under one session. This allows the system to support multiple concurrent users without requiring separate Windows sessions for each user, thereby reducing system complexity while maintaining adaptability.
Solution Approach 2:
The patent segments the Windows Station into non-interactive stations that can execute multiple applications simultaneously. By dividing the traditional interactive Windows Station model into non-interactive segments, the system can handle multiple applications and users within a single session framework, reducing overall system complexity.
2Reliability
If traditional APIs and drivers are used for screen capture and event transmission, then the system maintains compatibility, but the transmission efficiency decreases and resource consumption increases
Solution Approach 1:
The patent introduces a virtual UI subsystem as an intermediary layer that captures screen changes and I/O events without relying on traditional Windows APIs and drivers. This intermediary approach maintains compatibility while significantly improving transmission efficiency by bypassing the overhead of traditional API calls and driver interactions.
Solution Approach 2:
The patent replaces the mechanical system of traditional Windows APIs and drivers with a virtualized event capture mechanism. Instead of using direct system calls through APIs and drivers, the system uses a virtual UI subsystem that intercepts and transmits events efficiently, substituting the traditional mechanical interaction model with a more efficient virtualized approach.
3Manufacturing precision
If complete screen outputs are transmitted to clients, then the display quality is maintained, but the data transmission volume increases and network bandwidth is consumed
Solution Approach 1:
The patent extracts only the necessary screen update information from complete screen outputs and transmits only these changes to the client. By extracting and transmitting only the delta (changes) rather than the complete screen, the system maintains display quality while significantly reducing network bandwidth consumption.
Solution Approach 2:
The patent implements periodic screen capture and update transmission instead of continuous full-screen transmission. By capturing and transmitting only periodic updates (screen changes) rather than continuous complete outputs, the system maintains adequate display quality while reducing overall network bandwidth consumption.
Data Source
AI summary
A method and system for capturing and transmitting screen content and input/output events from a server to a client device are provided. The method includes transmitting, to the client device, a screen output rendered by the server respective of a first instance of a first application; and transmitting, to the client device, the screen output rendered by the server respective of a second instance of a second application, wherein the first instance is contained in a first securable object associated with the first application and the second instance is contained in a second securable object associated with the second application, wherein the first instance and the second instance are simultaneously executed by the server under a single logon session.


