Abstracts - 2006
CafNet: Carry-and-Forward Networking
Vladimir Bychkovsky, Kevin Chen, Hari Balakrishnan & Samuel Madden
Advances in storage density and miniaturization made mobile storage devices with networking capabilities a reality. The existence of such devices in turn has created an opportunity for new type of networking. Traditionally the networks are associated with wires or at least wireless antennas. We believe that this is going to change in the years to come. In this new type of network each ubiquious device, a data mule, would physically carry a large amounts of data. Data mules would opportunistically forward the data (possibly through another mule) towards the destination. Even though such carry-and-forward networks are not suited to replace existing wired and wireless infrastructure, they could provide a cheap, effective, and easy-to-deploy means of transferring large amounts of latency-insensitive data.
CafNet is developed as a part of the CarTel project. CarTel uses data mules to transfer large amounts of sensor information from and to mobile nodes. The goal of the CafNet project is to provide seamless bidirectional data transport in an intermittently connected environment.
CafNet is an instance of a delay tolerant network(DTN) protocol stack. DTNs, in general, are characterized by long periods of disconnection. High capacity of individual data mules coupled with long periods of disconnection allows for very large amount of data in flight at any period of time. The large bandwidth-delay product renders traditional application interfaces useless. Application designers need to be made aware of underlying delays. This warrants creating of a new application programming interface(API) for DTNs.
The proposed CafNet protocol has three layers: the CafNet Transport Layer, the CafNet Network layer, and the Mule Adaptation Layer. These roughly correspond to the transport, network, and link layers of a traditional network stack.
Each network node runs one CafNet Network Layer, which queues up messages to be sent. The CafNet Network Layer then processes the messages and sends them to the Mule Adaptation Layers, one corresponding to each network interface, such as Bluetooth or 802.11. These Mule Adaptation Layers perform the actual data receiving and sending to other nodes.
Each application that uses the CafNet network stack links to a library that implements the CafNet Transport Layer, so there is one CafNet Transport Layer for every application. When the application wants to send a message, it provides the CafNet Transport Layer with some metadata for the message. When the CafNet Network Layer has space in its queue, it informs the CafNet Transport Layer, which then requests the actual data from the application --- the CafNet Transport Layer does not maintain a message queue of its own.
A prototype running over cellphones and laptops using Wi-Fi and Bluetooth networks, and flash and USB devices for storage is nearly complete.
This project is funded by Quanta Corporation.
 Kevin Fall. "A Delay Tolerant Networking Architecture for Challenged Internets", Proc. SIGCOMM 2003, Aug. 2003