Patent ID: 7865908

Claim:
A computer system that enables a first guest operating system (OS) and a second guest OS to access a network by way of a host OS, comprising: a physical network interface capable of communicating over a network connection; at least one processor coupled to at least one memory, the at least one processor capable of executing program instructions stored in the at least one memory, the program instructions comprising instructions for the first guest OS, the second guest OS, and the host OS; the first guest OS comprising a first guest virtual network interface card (VNIC), the first guest VNIC providing network services to the first guest OS; the second guest OS comprising a second guest VNIC, the second guest VNIC providing network services to the second guest OS; the host OS comprising a first host VNIC, a second host VNIC, and a third host VNIC, the first, second and third host VNICs being in communication with network traffic via the physical network interface, the third host VNIC sending a first network traffic to an application executing within the host OS without sending the first network traffic to a protocol driver of the host OS; the host OS further comprising the protocol driver disposed in the a first point-to-point connection between the first guest VNIC and the first host VNIC, and disposed in a second point-to-point connection between the second guest VNIC and the second host VNIC, the protocol driver selecting a communication protocol for the first guest VNIC and the first host VNIC to communicate over the first point-to-point connection, the protocol driver choosing a communication protocol for the second guest VNIC and the second host VNIC to communicate over the second point-to-point connection, the host OS further comprising a first host intermediate (IM) driver disposed in the first point-to-point connection between the protocol driver and the first host VNIC, the first host IM driver filtering or monitoring network traffic sent between the first host VNIC and the first guest VNIC; and the host OS further comprising a second host intermediate (IM) driver disposed in the second point-to-point connection between the protocol driver and the second host VNIC, the second host IM driver filtering or monitoring network traffic sent between the second host VNIC and the second guest VNIC.