IP Address Virtualization for Terminal Server Sessions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a terminal server environment, all applications share a single IP address, preventing simultaneous instances of applications that use IP addresses for identification purposes, and posing challenges for tracking user sessions and configuring access control.
Innovation Solution
Implementing IP address virtualization techniques that allow each terminal server session or application to have a unique virtual IP address, using a client component with a layer service provider and name service provider to intercept socket calls and manage virtual IP addresses from a server component, which allocates and manages these addresses from DHCP or static pools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all applications in a terminal server session share a single IP address, then the terminal server environment maintains simplicity and resource efficiency, but applications that require unique IP addresses for identification and tracking cannot run simultaneously
Solution Approach 1:
The patent creates virtual copies of IP addresses by assigning virtual IP addresses to terminal server sessions. These virtual IP addresses are not physical but logical representations that allow multiple applications to have unique identifiers while sharing the same physical network infrastructure. The virtual IP address manager allocates these virtual addresses from a pool, enabling application identification and tracking without requiring separate physical IP addresses for each application instance.
Solution Approach 2:
The patent introduces a virtual IP address manager as an intermediary component between the terminal server sessions and the network. This manager mediates IP address allocation and management, assigning virtual IP addresses to sessions and handling the mapping between virtual and physical addresses. The intermediary layer abstracts the complexity of IP management from individual applications while providing them with unique identifiers.
2Loss of information
If multiple terminal server sessions share the same IP address, then network resources are optimized and simplified, but ISP requirements for tracking network usage and configuring access control per user cannot be met
Solution Approach 1:
The system creates virtual copies of IP addresses that can be allocated to different terminal server sessions. These virtual IP addresses serve as unique identifiers for tracking user sessions and network usage by ISPs. The virtual IP address manager maintains a pool of virtual addresses and assigns them to sessions, enabling information tracking while sharing physical network resources.
Solution Approach 2:
The patent segments the IP address space into virtual IP addresses that can be independently allocated to different terminal server sessions. This segmentation allows each session to have its own unique virtual identifier for tracking purposes, while the physical network infrastructure remains shared. The virtual IP address manager handles the segmentation and allocation process.
3Reliability
If virtual IP addresses are assigned to all applications, then unique identification and tracking are enabled, but systems with multiple network adapters may experience undesirable side effects
Solution Approach 1:
The patent applies local quality by selectively assigning virtual IP addresses based on the specific characteristics and requirements of each terminal server session. Not all applications or sessions receive virtual IP addresses - only those that require unique identification and tracking. The virtual IP address manager evaluates each session's needs and assigns virtual addresses accordingly, avoiding unnecessary assignments that could cause problems in systems with multiple network adapters.
Data Source
AI summary
Techniques are disclosed for virtualizing internet protocol (IP) addresses in terminal server sessions. A client component comprises a layer service provider (LSP) and a name service provider (NSP) that intercept a socket call to associate a port with a socket for a terminal server session. The client component queries a server component for a virtual IP address, and the server component determines whether the terminal server session can use a virtual IP address. Where the session can use a virtual IP address, the server returns a virtual IP address and the client component binds the socket call to the virtual IP address. Where the session cannot use a virtual IP address, the server returns an indication of that, and the client component acts as a proxy for that socket call and any future calls for that socket.


