Terminal Server Virtualization for Legacy Application Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy applications designed for single-user environments face compatibility issues when deployed on terminal servers due to multi-user access and privilege requirements, leading to data corruption and execution failures.

Innovation Solution

A virtual single-user system is created within the terminal server environment using filter drivers and API shims, providing a configuration layer to redirect resources and simulate a single-user experience for each client, allowing multiple users to access shared resources without corruption and enabling non-privileged users to write to protected areas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If legacy applications are deployed on terminal server environment, then multi-user access capability is improved, but application compatibility and execution reliability deteriorate due to multi-user access conflicts and privilege issues

Engineering Contradiction:
Improvemulti-user access capabilityVSAvoidapplication execution reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the terminal server environment into multiple virtual single-user sessions, where each user receives a dedicated virtual environment that simulates exclusive access to system resources. This segmentation isolates users from each other, preventing conflicts while maintaining multi-user access capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a session virtualization layer as an intermediary between legacy applications and the terminal server environment. This virtualization layer intercepts and manages resource access requests, redirecting them appropriately to prevent conflicts and maintain application compatibility without requiring application modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If applications are designed for single-user environment with exclusive resource access, then application execution simplicity is improved, but multi-user environment compatibility deteriorates due to data corruption and access conflicts

Engineering Contradiction:
Improveapplication execution simplicityVSAvoidmulti-user environment compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

Instead of modifying legacy applications to work in multi-user environments, the patent inverts the approach by bringing the single-user environment to the multi-user terminal server. Each user receives a virtualized single-user session, allowing applications to run as intended without modification while the system handles multi-user requirements.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent creates virtual copies of single-user system environments for each terminal server session. These virtual copies include virtual file systems, registries, and named objects that mimic the exclusive resource access characteristics of single-user environments, allowing legacy applications to operate without modification.

Inventive Principle:
Principle #26Copying

3Reliability

If virtual single-user system is implemented for each client, then application compatibility is improved, but system complexity increases due to resource virtualization and configuration management

Engineering Contradiction:
Improveapplication compatibilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal session virtualization framework that handles multiple functions through a single mechanism. The virtualization layer manages file system redirection, registry virtualization, named object isolation, and privilege simulation through unified filter drivers and API shims, reducing overall system complexity despite the sophisticated virtualization capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The session virtualization system implements self-service mechanisms where the configuration layer automatically manages virtual environment setup and resource allocation based on application requirements. The system self-configures virtual file systems, registries, and security contexts without requiring manual intervention, reducing operational complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9141412B2Terminal services application virtualization for compatibility
Publication Date: 2015.09.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9141412B2 patent drawing
  • US9141412B2 patent drawing
  • US9141412B2 patent drawing

AI summary

Systems, methods and computer-readable storage media are disclosed for providing a virtual single-user session to a client in a terminal server session. In an embodiment, requests to a resource in the system-space of a system made by an application are intercepted. A determination is made as to whether to virtualize the resource for the application. Where the resource is to be virtualized, a user-specific virtualized resource is created or maintained in user-space and provided to the application.