Disclosed is an architecture for automating testing tasks, which would
otherwise have to be done manually using actual hardware, by providing
the capability to dynamically create many types of networked computing
devices with different network configurations, eliminating the need to
have actual test machines physically networked. Virtual endpoints are
virtual computing devices networked to virtual adapters on a real
computer. The virtual endpoints architecture comprises a miniport driver,
a filter engine, virtual networked computing devices, a virtual stack,
and a user mode to kernel mode interface. The virtual endpoints
architecture technology can be used to test bridge and Internet
connection sharing features as well as for testing any NDIS driver or
client/server application. The virtual endpoints architecture lowers the
cost of testing and allows for the ability to run the aforementioned
types of tests in a batch nodal stress suite and without the need for
large test network topologies.