Patent ID: 8595741

Claim:
A method for accelerating input/output (IO) access operation on a virtual machine running on a host computer that has IO resources, comprising the steps of: a. providing a smart IO device that includes an unrestricted command queue, a plurality of restricted command queues, each restricted command queue for configuring and controlling only a respective portion of the IO resources of the host computer, and a corresponding plurality of data queues separate from the restricted command queues; b. by a hypervisor, allocating the respective portion of the IO resources of one of the restricted command queues to a guest domain through the unrestricted command queue, and c. allowing the guest domain to directly configure and control the respective portion of the IO resources of the one restricted command queue through the one restricted command queue; wherein said respective portion of said IO resources of only said one of the restricted command queues is allocated to said guest domain.