Redirection of multiple remote devices
First Claim
Patent Images
1. A computer-implemented method for redirecting input/output (IO) data in a client-server environment, the method comprising:
- receiving a request from an application executing on a server for available IO devices;
in response to the request, requesting IO device information from a client computer;
receiving the IO device information from the client computer, the IO device information uniquely identifying IO devices on the client computer;
mapping the uniquely identified IO devices by associating a proxy device with at least one identified IO device and returning information regarding the associated proxy device to the application;
establishing one or more Remote Desktop Protocol (RDP) communications channels;
synchronizing proxy device property information for the at least one identified IO device, said synchronizing comprising receiving, via the one or more RDP communications channels, property values from the at least one identified IO device, and further comprising sending, via the one or more RDP communications channels, property values to the at least one identified IO device and receiving a result;
receiving from one or more applications a plurality of audio streams directed to the associated proxy device;
measuring communication channel parameters on the one or more RDP communications channels and selecting an audio encoder as a function of the communication channel parameters;
combining the plurality of audio streams;
encoding the combined audio streams using the selected audio encoder; and
redirecting the encoded audio streams to the at least one identified IO device associated with the associated proxy device over the one or more RDP communications channels to the at least one identified IO device.
2 Assignments
0 Petitions
Accused Products
Abstract
Example embodiments of the present disclosure provide techniques for multiple audio device capture and playback during a remote desktop session. A custom device manager may instantiate proxy audio input and output devices on the server corresponding to each real device on the client computer. The proxy devices may redirect their respective audio input and output data to the physical device on the client. In an embodiment, multiple audio devices may be instantiated during a remote session, and multiple independent audio streams may be redirected to the selected device on the client computer.
-
Citations
14 Claims
-
1. A computer-implemented method for redirecting input/output (IO) data in a client-server environment, the method comprising:
-
receiving a request from an application executing on a server for available IO devices; in response to the request, requesting IO device information from a client computer; receiving the IO device information from the client computer, the IO device information uniquely identifying IO devices on the client computer; mapping the uniquely identified IO devices by associating a proxy device with at least one identified IO device and returning information regarding the associated proxy device to the application; establishing one or more Remote Desktop Protocol (RDP) communications channels; synchronizing proxy device property information for the at least one identified IO device, said synchronizing comprising receiving, via the one or more RDP communications channels, property values from the at least one identified IO device, and further comprising sending, via the one or more RDP communications channels, property values to the at least one identified IO device and receiving a result; receiving from one or more applications a plurality of audio streams directed to the associated proxy device; measuring communication channel parameters on the one or more RDP communications channels and selecting an audio encoder as a function of the communication channel parameters; combining the plurality of audio streams; encoding the combined audio streams using the selected audio encoder; and redirecting the encoded audio streams to the at least one identified IO device associated with the associated proxy device over the one or more RDP communications channels to the at least one identified IO device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system adapted to provide services to a client computer over a Remote Desktop Protocol (RDP) communications channel, 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 that upon execution by the at least one processor cause; receiving via a first API a request for available audio devices; transmitting a request for audio devices to a client device manager executing on the client computer, wherein the client device manager communicates to resources on the client computer via a second API executing on the client computer; receiving from the client device manager information indicative of specific audio devices on the client computer; associating proxy devices corresponding to the specific audio devices, the proxy devices enabling mapping and redirection of multiple audio input/output (IO) data streams to corresponding audio devices, wherein each proxy device retains independent state and configuration information; receiving a plurality of audio streams directed to at least one proxy device; measuring communication channel parameters on the RDP communications channel and selecting an audio encoder as a function of the communication channel parameters; combining the plurality of audio streams; encoding the combined audio streams using the selected audio encoder; and redirecting the encoded audio streams to a specific audio device associated with the at least one proxy device over the RDP communications channel to the specific audio device associated with the at least one proxy device. - View Dependent Claims (7, 8, 9)
-
-
10. A computer readable storage device storing thereon computer executable instructions for redirecting audio data, comprising:
-
receiving from a server over a Remote Desktop Protocol (RDP) communications channel a request for available input/output (IO) audio devices; in response to the request, requesting, via an API, IO audio device information, the IO audio device information uniquely identifying IO audio device interfaces; encoding and transmitting the IO audio device information over the RDP communications channel to the server; mapping the uniquely identified IO devices by associating a proxy device with at least one identified IO audio device, the proxy device comprising at least one interface for receiving redirected audio data from the server; receiving a redirected audio stream over the RDP communications channel via the proxy device, the redirected audio stream comprising combined and encoded data from a plurality audio streams, the encoded data encoded using an encoder selected based on measured communication channel parameters on the RDP communications channel; and directing the redirected audio stream to an audio device associated with the proxy device. - View Dependent Claims (11, 12, 13, 14)
-
Specification