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 to connect the client computer to one of the plurality of virtual machines;
requesting a redirection packet for redirecting the client computer to connect to a target destination server of the plurality of servers;
invoking a policy plug-in configured to determine the target destination server and a resource plug-in for processing a redirection decision from the target destination server, the resource plug-in configured to identify one of the plurality of virtual machines to connect to and prepare the identified virtual machine to receive the connection;
returning an indication of the target destination server and an indication of the resource plug-in and a filter plug-in configured to load balance and orchestrate redirecting across the plurality of virtual machines;
requesting from the resource plug-in and filter plug in;
a selected virtual machine, said selected virtual machine chosen by a process comprising load balancing;
an indication of whether the selected virtual machine is instantiated;
a location of the selected virtual machine when the selected virtual machine is not instantiated; and
preparation of 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.
31 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 to connect the client computer to one of the plurality of virtual machines; requesting a redirection packet for redirecting the client computer to connect to a target destination server of the plurality of servers; invoking a policy plug-in configured to determine the target destination server and a resource plug-in for processing a redirection decision from the target destination server, the resource plug-in configured to identify one of the plurality of virtual machines to connect to and prepare the identified virtual machine to receive the connection; returning an indication of the target destination server and an indication of the resource plug-in and a filter plug-in configured to load balance and orchestrate redirecting across the plurality of virtual machines; requesting from the resource plug-in and filter plug in; a selected virtual machine, said selected virtual machine chosen by a process comprising load balancing; an indication of whether the selected virtual machine is instantiated; a location of the selected virtual machine when the selected virtual machine is not instantiated; and preparation of 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 configured 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 server from the plurality of servers; and a session broker configured to; apply a policy indication, said policy indication comprising criteria for selecting suitable target virtual machines; and receive said request and communicate with one or more plug-in modules configured to;
(1) determine an internet protocol (IP) address identifying a target virtual machine destination, (2) identify a resource plug-in configured to apply a redirection indication from the target destination server identifying the target virtual machine destination, and prepare the target virtual machine destination for accepting connections, and filter plug-ins configured to load balance and orchestrate said redirecting across the plurality of virtual machines, (3) determine a current state of the target virtual machine destination, (4) send a redirection packet including the IP address to the redirector, and (5) override session broker logic for selecting suitable target virtual machines. - View Dependent Claims (15, 16, 17)
-
-
18. A computer readable storage device storing thereon computer executable instructions for enabling connection of a remote client computer to one of a plurality of virtual machines executing on a plurality of servers, comprising instructions for:
-
receiving, by at least one of said plurality of servers, a request to connect the remote client computer to one of the plurality of virtual machines; requesting a redirection packet for redirecting the client computer to connect to a target destination on said plurality of servers; invoking a resource plug-in for processing a redirection decision from the target destination and a filter plug-in to determine the target destination on said plurality of servers, perform load balancing, and orchestrate said redirecting across the plurality of virtual machines, the resource plug-in configured to identify one of the plurality of virtual machines to connect to and prepare the identified virtual machine to receive the connection; 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 remote client computer. - View Dependent Claims (19, 20)
-
Specification