Patent ID: 7904563
Filing Date: 2011-03-08
Classification: G06F,H04L

Abstract:
1. At a terminal server comprising a server side plug-in, a method for establishing a dynamic virtual channel between the server side plug-in and a corresponding client side plug-in at a client, 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 establishing, over a terminal server session, a static virtual channel between the server side plug-in at the terminal server and the corresponding client side plug-in at the client by at least sending the common plug-in name of the client side plug-in to the client side plug-in, wherein the static virtual channel is identifiable by the common plug-in name of the client side plug-in and wherein the common plug-in name of the client side plug-in is also usable by a server component at the terminal server to communicate with a client component at the client via the static virtual channel; an act of sending a new channel request over the terminal server session via the static virtual channel to create a new dynamic virtual channel between the server side plug-in at the terminal server and the corresponding client side plug-in at the client, the new channel request including the common plug-in name of the client side 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 the server component at the terminal server negotiating with the client component at the client to establish the new dynamic virtual channel over the terminal server session 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 new 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 via the new dynamic virtual channel, the unique identifier differing from the common plug-in name of the client side plug-in.