PLATFORM FOR ENABLING TERMINAL SERVICES VIRTUALIZATION
First Claim
1. In a system for enabling connections between a client computer and at least one of a plurality of virtual machines executing on a plurality of servers, a method comprising:
- receiving at one of said plurality of servers a request from the client computer for a virtual machine session;
requesting a redirection packet for redirecting the client computer to a target destination;
invoking a first plug-in for determining the target destination;
returning an indication of the target destination and further indicating one or more secondary plug-ins for load balancing and orchestrating said redirecting;
invoking the one or more secondary plug-ins and requesting the following;
a selected virtual machine;
indication of whether the selected virtual machine is instantiated;
a location when the selected virtual machine is not instantiated; and
preparing the selected virtual machine for accepting a new connection;
identifying an internet protocol (IP) address for said selected virtual machine and returning the IP address;
embedding said IP address in said redirection packet and transmitting the redirection packet to the client computer; and
connecting the client computer to one of the plurality of virtual machines based on information contained in the redirection packet.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are techniques for providing a platform and application program interface (API) that leverages a terminal services session broker infrastructure to support third party plug-in applications. In a typical scenario, when a user requests for a connection to access third party plug-in applications, the application program interface may interact with the session broker process to identify sessions or suitable servers to which the user can be connected. The user may access the third party plug-in applications through the identified sessions or suitable servers.
-
Citations
20 Claims
-
1. In a system for enabling connections between a client computer and at least one of a plurality of virtual machines executing on a plurality of servers, a method comprising:
-
receiving at one of said plurality of servers a request from the client computer for a virtual machine session; requesting a redirection packet for redirecting the client computer to a target destination; invoking a first plug-in for determining the target destination; returning an indication of the target destination and further indicating one or more secondary plug-ins for load balancing and orchestrating said redirecting; invoking the one or more secondary plug-ins and requesting the following; a selected virtual machine; indication of whether the selected virtual machine is instantiated; a location when the selected virtual machine is not instantiated; and preparing the selected virtual machine for accepting a new connection; identifying an internet protocol (IP) address for said selected virtual machine and returning the IP address; embedding said IP address in said redirection packet and transmitting the redirection packet to the client computer; and connecting the client computer to one of the plurality of virtual machines based on information contained in the redirection packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system adapted to connect a client computer to one of a plurality of virtual machines executing on a plurality of servers, comprising:
-
at least one processor; and at least one memory communicatively coupled to said at least one processor, the memory having stored therein computer-executable instructions for implementing; a redirector configured to connect the client computer to a terminal server and request a redirection packet for redirecting the client computer to a target destination; and a session broker configured to receive said request and communicate with one or more plug-in modules to (1) determine an internet protocol (IP) address identifying a virtual machine as the target destination, (2) identify a plug-in module for load balancing and orchestrating said redirecting, (3) determine a current state of the target destination, (4) prepare the target destination for accepting connections, and (5) send a redirection packet including the IP address to the redirector. - View Dependent Claims (15, 16, 17)
-
-
18. A computer readable storage medium storing thereon computer executable instructions for enabling the connection of a remote client computer to one of a plurality of virtual machines executing on a plurality of servers, comprising instructions for:
-
receiving at one of said plurality of servers a request from the client computer for a virtual machine session; requesting a redirection packet for redirecting the client computer to a target destination on said plurality of servers; invoking one or more plug-in modules for determining the target destination, performing load balancing, and orchestrating said redirecting; identifying an internet protocol (IP) address for said target destination; and embedding said IP address in said redirection packet and transmitting the redirection packet to the client computer. - View Dependent Claims (19, 20)
-
Specification