USB device redirection for remote systems
First Claim
1. A computer implemented method for redirecting isochronous requests for a local device connected to a local computing device to a remote computing device in communication with the local computing device, wherein the remote computing device hosts a simulated device associated with the local device, the method for redirecting isochronous requests comprising:
- receiving, at the remote computing device, a first request for processing from the local computing device, wherein the first request for processing includes a first processing time for when the request should be processed by the remote computing device;
receiving, at the remote computing device, a second request for processing from the local computing device, wherein the second request for processing includes a second processing time for when the request should be processed by the remote computing device;
forwarding the first request for processing to the simulated device associated with the local device;
receiving fake isochronous feedback from the simulated device regarding the first request for processing;
in response to receiving the fake isochronous feedback, forwarding the second request for processing to the simulated device associated with the local device; and
sending, from the remote computing device to the local computing device at a third time, a first response that is based on the first request and a second response that is based on the second request.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides systems and method for redirecting control of a client side connected USB device from the client to the server in a remote system. Specifically, the present disclosure creates a simulated USB device at the server. The simulated USB device is treated as a proxy for a redirected USB device at the client. The client side redirected USB device is not treated as the USB device but, rather, acts as a pass through to facilitate communication between requesting applications and the client connected device. The simulated USB device allows an application to send requests for a local device to the simulated USB device at the server. The simulated USB device then processes the requests and forwards the requests to the local device connected to the client.
82 Citations
21 Claims
-
1. A computer implemented method for redirecting isochronous requests for a local device connected to a local computing device to a remote computing device in communication with the local computing device, wherein the remote computing device hosts a simulated device associated with the local device, the method for redirecting isochronous requests comprising:
-
receiving, at the remote computing device, a first request for processing from the local computing device, wherein the first request for processing includes a first processing time for when the request should be processed by the remote computing device; receiving, at the remote computing device, a second request for processing from the local computing device, wherein the second request for processing includes a second processing time for when the request should be processed by the remote computing device; forwarding the first request for processing to the simulated device associated with the local device; receiving fake isochronous feedback from the simulated device regarding the first request for processing; in response to receiving the fake isochronous feedback, forwarding the second request for processing to the simulated device associated with the local device; and sending, from the remote computing device to the local computing device at a third time, a first response that is based on the first request and a second response that is based on the second request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing system that is in communication with a local computing device comprising:
- a processor, a simulated device associated with a local device that is connected to the local computing device;
memory storing instructions that when executed by the processor enable the processor to;
receive, at the remote computing device, a first request for processing from the local computing device, wherein the first request for processing includes a first processing time for when the request should be processed by the local device;
receive, at the remote computing device, a second request for processing from the local computing device, wherein the second request for processing includes a second processing time for when the request should be processed by the local device;
forward the first request for processing to the simulated device associated with the local device;
receive fake isochronous feedback from the simulated device regarding the first request for processing;
in response to receiving the fake isochronous feedback, forward the second request for processing to the simulated device associated with the local device; and
send, from the remote computing device to the local computing device at a third time, a first response that is based on the first request and a second response that is based on the second request. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- a processor, a simulated device associated with a local device that is connected to the local computing device;
-
19. A computer implemented method for redirecting isochronous requests for a local device connected to a local computing device to a remote computing device in communication with the local computing device, the method for redirecting isochronous requests comprising:
- receiving device parameters from the local computing device;
using the device parameters to configure a simulated device at the remote computing device that is associated with the local device;
installing the simulated device on the remote computing system;
installing an actual device driver for the simulated device on the remote computing device;
receiving a first request for processing from the local computing device, wherein the first request for processing includes a first processing time for when the request should be processed by the remote computing device;
receiving a second request for processing from the local computing device, wherein the second request for processing includes a second processing time for when the request should be processed by the remote computing device;
forwarding the first request for processing to the simulated device associated with the local device;
receiving fake isochronous feedback from the simulated device regarding the first request for processing;
in response to receiving the fake isochronous feedback, forwarding the second request for processing to the simulated device associated with the local device; and
sending a first response and a second response to the local computing device at a third time, wherein the first response is based on the first request and the second response is based on the second request. - View Dependent Claims (20, 21)
- receiving device parameters from the local computing device;
Specification