Virtual WiFi helps a user connect to multiple IEEE 802.11 networks with one WiFi card. VIt works by exposing multiple virtual adapters, one for each wireless network to which connectivity is desired. Virtual WiFi uses a network hopping scheme to switch the wireless card across the desired wireless networks. Switching between networks is transparent to the applications, such that the user feels she is connected to multiple wireless networks simultaneously. Virtual WiFi is implemented as an NDIS intermediate driver, and a user-level service in Windows XP. Virtual WiFi interacts with the card device driver at the lower end, and network protocols at the upper end. The buffering protocol is implemented in the kernel and the switching logic is implemented as a user-level service.