Patent ID: 8412800

Claim:
A computing device comprising: one or more processors; computer-readable storage media operably coupled with the one or more processors; an application stored on the computer-readable storage media and executed on the one or more processors on behalf of a client device in communication with the computing device, the application configured to interact with a client universal serial bus (USB) device connected to the client device, the application further configured to provide a control code for remotely controlling the client USB device; and a proxy USB driver stored on the computer-readable storage media and executed on the one or more processors to provide the application with remote interaction with the client USB device by communicating with a client USB driver on the client device, wherein the communicating is based on a device-specific object generated for the client USB device, and wherein the proxy USB driver provides the application with remote interaction with the client USB device by providing to the client USB device one or more input/output request packets (IRPs) generated from the control code.