Patent ID: 8756689

Claim:
An input/output virtualization-enabled computing device for managing communications of virtual machines with a virtualized input/output hardware device of the computing device, the computing device comprising, embodied in one or more non-transitory machine accessible storage media of the computing device: a physical function driver to manage functions that globally affect the virtualized input/output hardware device of the computing device; a plurality of virtual function drivers each associated with a virtual machine, the virtual function drivers to send communications that globally affect the use of the virtualized input/output hardware device by the virtual machines to the physical function driver and to send communications that do not globally affect the use of the virtualized input/output hardware device directly to the virtualized input/output hardware device; a request analyzer to, by the physical function driver, determine whether the communications from the plurality of virtual function drivers to the physical function driver present one or more of a security condition and a performance condition and determine whether to disable a virtual function driver based on at least one communication from the virtual function driver to the physical function driver that is determined to present the one or more of the security condition and the performance condition; and a virtual function profiler to, by the physical function driver, maintain, over time, at least one communication profile comprising data relating to a plurality of different types of communications from the virtual function drivers to the physical function driver, wherein the communication profile is embodied in the one or more non-transitory computer accessible storage media of the computing device, and wherein the physical function driver is to track a number of communications from the virtual function driver to the physical function driver.