Establishing and utilizing terminal server dynamic virtual channels
First Claim
1. At a terminal server, a method for establishing a dynamic virtual channel to a plug-in at a client, the method comprising:
- an act of sending a new channel request to create a new channel between a server side plug-in at the terminal server and a client side plug-in at the client, the channel request including the name of the plug-in;
an act of receiving a channel accept from the client, the channel accept indicative of a listener for the client side plug-in receiving the channel request and creating an instance of the client side plug-in;
an act of creating an instance of the server side plug-in to communicate with the instance of the client side plug-in;
an act of a server component at the terminal server negotiating with a client component at the client to establish a dynamic virtual channel between the instance of the server side plug-in and the instance of the client side plug-in; and
an act of the server component agreeing to a unique identifier for the established dynamic virtual channel, the unique identifier usable by the server component to forward communication from the instance of the server side plug-in to the instance of the client side plug-in, the unique identifier differing from the name of the plug-in.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for establishing and utilizing terminal server dynamic virtual channels. In some embodiments, a terminal server sends a new channel request to a terminal server. The client receives the new channel request and forwards the new channel request to a listener for a plug-in. The listener creates an instance of the client side plug-in and sends a channel accept to the terminal server. The terminal server receives the channel accept and creates an instance of a server side plug-in. The server and the client agree to use a unique identifier for identifying the established dynamic virtual channel. In other embodiments, data for a dynamic virtual channel is tunneled between computers over a static virtual channel.
61 Citations
20 Claims
-
1. At a terminal server, a method for establishing a dynamic virtual channel to a plug-in at a client, the method comprising:
-
an act of sending a new channel request to create a new channel between a server side plug-in at the terminal server and a client side plug-in at the client, the channel request including the name of the plug-in;
an act of receiving a channel accept from the client, the channel accept indicative of a listener for the client side plug-in receiving the channel request and creating an instance of the client side plug-in;
an act of creating an instance of the server side plug-in to communicate with the instance of the client side plug-in;
an act of a server component at the terminal server negotiating with a client component at the client to establish a dynamic virtual channel between the instance of the server side plug-in and the instance of the client side plug-in; and
an act of the server component agreeing to a unique identifier for the established dynamic virtual channel, the unique identifier usable by the server component to forward communication from the instance of the server side plug-in to the instance of the client side plug-in, the unique identifier differing from the name of the plug-in. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14)
-
-
8. At a client, a method for establishing a dynamic virtual channel to a plug-in at a terminal server, the method comprising:
-
an act of a receiving a new channel request to create a new channel between a client side plug-in at the client and a server side plug-in at the terminal server, the channel request including the name of the plug-in;
an act of forwarding the new channel request to a listener for the plug-in having the included name;
an act of the listener creating a instance of the client side plug-in, in response to receiving the new channel request;
an act of sending a channel accept to the terminal server, the channel accept indicative of the listener creating the instance of the client side plug-in;
an act of the client component at negotiating with a server component at the terminal server to establish a dynamic virtual channel between the instance of the client side plug-in and a corresponding instance of the server side plug-in at the terminal server; and
an act of the server component agreeing to a unique identifier for the established dynamic virtual channel, the unique identifier usable by the client component to forward communication from the instance of the client side plug-in to the instance of the server side plug-in, the unique identifier differing from the name of the plug-in. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
15. At a computer system, a method for transferring data over a dynamic virtual channel, the method comprising:
-
an act of accessing application data from an instance of a plug-in that is to be transferred over a dynamic virtual channel;
an act of accessing a unique identifier corresponding to the dynamic virtual channel;
an act of encapsulating the unique identifier and application data within static virtual channel data for a static virtual channel;
an act of further encapsulating the static virtual channel data within lower layer data corresponding to lower layers of a communication stack; and
an act of sending the lower layer data such that the unique identifier for the dynamic virtual session and the application data are tunneled to the destination. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification