Increasing cache hits for usb request blocks that target a redirected usb device
AssigneeDell Products L.P.
InventorsGokul Thiruchengode Vajravel, Ankit Kumar
Life of this patent
Estimating the term…
Abstract
Cache hits are increased for URBs that target a redirected USB device. When a virtual bus driver in a VDI environment queues an IRP for an URB that targets the redirected USB device, it can ensure that the IRP and therefore the URB is completed on the same processor that originated the URB. This can be accomplished in both NUMA and non-NUMA multiprocessor environments.
Claims20
A method, implemented by a virtual bus driver that executes on a server in a virtual desktop infrastructure (VDI) environment, for increasing cache hits for universal serial bus (USB) request blocks (URBs) that target a USB device that is connected to a client terminal and redirected to the server, the method comprising:
- receiving an I/O request packet (IRP) that is associated with an URB that targets the USB device that is connected to the client terminal and redirected to the server;
- in conjunction with queuing the IRP while the URB is sent to the redirected USB device, obtaining an identifier of a first processor that is currently executing and storing an association between the queued IRP and the identifier, the server comprising more than one processor;
- upon receiving a response to the URB that was sent to the redirected USB device, obtaining and employing the identifier to request that a routine for completing the IRP be executed by the first processor;
- and
- as the first processor executes the routine, completing the IRP using the response to the URB.
One or more computer storage media storing computer-executable instructions which when executed on a server in a multiprocessor environment implement a method for increasing cache hits for universal serial bus (USB) request blocks (URBs) that target a USB device that is connected to a client terminal and redirected to the server, the method comprising:
- receiving I/O request packets (IRPs) each of which is associated with an URB that targets a USB device that is connected to a client terminal and redirected to the server;
- for each IRP:
- queueing the IRP;
- obtaining an identifier of a current processor;
- storing an association between the queued IRP and the identifier;
- sending the associated URB to the client terminal to which the targeted USB device is connected;
- upon receiving a response to the associated URB, obtaining and employing the corresponding identifier of the current processor to request that a routine for completing the IRP be executed by the same processor;
- and
- as the same processor executes the routine, completing the IRP using the response to the associated URB.
A method for increasing cache hits for universal serial bus (USB) request blocks (URBs) that target a USB device that is connected to a client terminal and redirected to the server, the method comprising:
- receiving an I/O request packet (IRP) that is associated with an URB that targets the USB device that is connected to the client terminal and redirected to the server;
- queuing the IRP;
- sending the URB to the client terminal for submission to the redirected USB device;
- obtaining an identifier of a first processor that is currently executing and storing an association between the queued IRP and the identifier, the server comprising more than one processor;
- upon receiving a response to the URB that was sent to the redirected USB device, obtaining and employing the identifier to request that a routine for completing the IRP be executed by the first processor;
- and
- as the first processor executes the routine, completing the IRP using the response to the URB.
Dependencies are inferred from the claim text.