Juggler: An open-source virtual link layer for Linux
Juggler is a virtual link layer for Linux, allowing mobile devices to associate with more than one
WiFi AP, mesh network, or ad hoc peer at once. This aim is similar to that of prior work such as
MultiNet/VirtualWifi
from Microsoft Research, and
concurrent work such as FatVAP from MIT.
Unlike VirtualWiFi, we (as does FatVAP) implement Juggler at the link layer, with support inside
the wireless device driver, to ensure superior switching efficiency. FatVAP is concerned with
the aggregation of AP bandwidth. While Juggler supports such data striping, we also easily
support other useful applications, such as seamless handoff between WiFi APs, and maintaining side channels to
mesh or ad hoc networks (such as one's personal area network) while not impacting foreground
connectivity to an infrastructure AP.
The details of our implementation can be found in the following paper:
Juggler: Virtual Networks for Fun and Profit
[pdf]
Anthony J. Nicholson, Scott Wolchok, and Brian D. Noble
To appear in IEEE Transactions on Mobile Computing
Juggler is freely available under the terms of the
GNU General Public License (GPL):
    juggler_0.99.tar.bz2
Requirements: Linux 2.6.22.14 kernel, supported wireless card (see below)
This initial
release is handcrafted grad student code, with all the potential for
bugginess one would expect---no warranty, implied or otherwise.
Documentation can be found in the
README file found at the root of the tarball.
The current release of Juggler supports cards with the Realtek rtl8185/7 chipset. See
this page for a list of suggested cards.
Additionally,
researchers at Duke University, as part of the
COPSE Project have ported Juggler to the Broadcom chipset.
Please check their project page for details on this port.
Contact Information:
Anthony Nicholson
Ph.D. Candidate, University of Michigan
tonynich at eecs.umich.edu
http://www.eecs.umich.edu/~tonynich/