ESTABLISHING AND UTILIZING TERMINAL SERVER DYNAMIC VIRTUAL CHANNELS
First Claim
1. At a terminal computing system that includes at least one processor, a method for transferring data over a dynamic virtual channel between a server side plug-in and a corresponding client side plug-in at a client computing system, both of the server side plug-in and the corresponding client side plug-in being associated with a common plug-in name, 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.
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.
-
Citations
18 Claims
-
1. At a terminal computing system that includes at least one processor, a method for transferring data over a dynamic virtual channel between a server side plug-in and a corresponding client side plug-in at a client computing system, both of the server side plug-in and the corresponding client side plug-in being associated with a common plug-in name, 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 (2, 3, 4, 5, 6)
-
-
7. One or more storage media having stored computer-executable instructions which, when executed by at least one computing system with a processor, implement a method for transferring data over a dynamic virtual channel between a server side plug-in and a corresponding client side plug-in at a client computing system, both of the server side plug-in and the corresponding client side plug-in being associated with a common plug-in name, the method including:
-
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 (8, 9)
-
-
10. At a client computing system, a method for accessing application data transferred over a dynamic virtual channel between a server side plug-in and a corresponding client side plug-in at the client computing system, both of the server side plug-in and the corresponding client side plug-in being associated with a common plug-in name, the method comprising:
-
receiving lower layer data from a terminal server, the lower layer data corresponding to lower layers of a communication stack, the lower layer data encapsulating static virtual channel data that includes a unique identifier and application data which were previously encapsulated by the server, such that the application data and the unique identifier are tunneled from the terminal server; unencapsulating the static virtual channel data from the lower layer data; unencapsulating the unique identifier and the application data from the static virtual channel data; comparing the unique identifier to a channel mapping to identify the dynamic virtual channel corresponding to the application data; and sending the application data to the plug-in corresponding to the dynamic virtual channel. - View Dependent Claims (11, 12, 13)
-
-
14. One or more storage media having stored computer-executable instructions which, when executed by at least one computing system with a processor, implement a method for a client computing system accessing application data transferred over a dynamic virtual channel between a server side plug-in and a corresponding client side plug-in at the client computing system, both of the server side plug-in and the corresponding client side plug-in being associated with a common plug-in name, the method comprising:
-
receiving lower layer data from a terminal server, the lower layer data corresponding to lower layers of a communication stack, the lower layer data encapsulating static virtual channel data that includes a unique identifier and application data which were previously encapsulated by the server, such that the application data and the unique identifier are tunneled from the terminal server; unencapsulating the static virtual channel data from the lower layer data; unencapsulating the unique identifier and the application data from the static virtual channel data; comparing the unique identifier to a channel mapping to identify the dynamic virtual channel corresponding to the application data; and sending the application data to the plug-in corresponding to the dynamic virtual channel. - View Dependent Claims (15, 16, 17, 18)
-
Specification