(VirtualWiFi
is an old project, and we started working on it in 2002. We are not actively
working on this project since 2006, and will not be supporting this software at
Microsoft Research. Thanks for your interest. However, the software and code
will still be available for you to play around with. Also, check out the supported VirtualWiFi OIDs in Windows 7.)

VirtualWiFi (previously known as MultiNet)
is a virtualization architecture for wireless LAN (WLAN) cards. It abstracts a
single WLAN card to appear as multiple virtual WLAN cards to the user. The user
can then configure each virtual card to connect to a different wireless
network. Therefore, VirtualWiFi allows a user to
simultaneously connect his machine to multiple wireless networks using just one
WLAN card. This new functionality introduced by VirtualWiFi
enables many new applications, which were not possible earlier using a single
WLAN card. For example,

·With VirtualWiFi,
you can connect to a guest's machine or play games over an ad hoc network,
while surfing the web via an infrastructure network.

·You can use VirtualWiFi to connect your ad hoc network, which may
contain many nodes, to the Internet using only one node.

·VirtualWiFi
can help make your home infrastructure network elastic by extending its
access to nodes that are out of range of your home WiFi
Access Point.

We have explored several
other applications of VirtualWiFi. The first
application is called Client Conduit, which is a very useful tool for fault
diagnosis and recovery in Wireless LANs. Client Conduit is a tool that provides
a thin pipe of communication for disconnected clients to exchange diagnosis
information with the back end servers. The thin pipe is achieved by running VirtualWiFi on the connected clients. These clients
dynamically connect to disconnected clients over an ad hoc network, and send
messages from them to the back end servers. VirtualWiFi
enables this thin pipe without requiring the connected client to explicitly
disconnect from the infrastructure network. A more detailed description of
Client Conduit can be found in the paper titled: "Architecture
and Techniques for Diagnosing Faults in IEEE 802.11 Infrastructure
Networks".

The second application of VirtualWiFi that increases
the capacity of wireless ad hoc networks using orthogonal channels is called Slotted Seeded Channel Hopping (SSCH). SSCH uses VirtualWiFi
to virtualize a wireless card with as many instances as the number of
orthogonal channels. It then connects each virtual wireless card on a different
orthogonal channel. Furthermore, SSCH proposes a novel scheme of partial
synchronization that can be used with VirtualWiFi.
The details of the SSCH protocol are described in another paper, titled: "SSCH: Slotted Seeded Channel Hopping for
Capacity Improvement in IEEE 802.11 Ad-Hoc Wireless Networks".

The third application of VirtualWiFi is called WiFiProfiler, which enables clients to cooperatively
diagnose the root cause of various wireless problems. Clients, including the
ones that are disconnected from the WLAN, use VirtualWiFi
to form an information plane, which is different from the data plane (the
WLAN). All clients then exchange configuration information over this
information plane and use this information to diagnose the root cause of
various wireless failures. The details of this idea are described in a
technical paper, titled: "WiFiProfiler: Cooperative Diagnosis in Wireless LANs".

We have implemented VirtualWiFi on Windows XP. The
current version is a prototype implementation of VirtualWiFi,
and we are in the process of making our software more robust to include more
features. Your comments are very welcome.