CSAIL Publications and Digital Archive header
bullet Technical Reports bullet Work Products bullet Research Abstracts bullet Historical Collections bullet

link to publications.csail.mit.edu link to www.csail.mit.edu horizontal line


Research Abstracts - 2006
horizontal line

horizontal line

vertical line
vertical line

CafNet: Carry-and-Forward Networking

Vladimir Bychkovsky, Kevin Chen, Hari Balakrishnan & Samuel Madden

Project Overview

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.

Project Goals

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 Design

CafNet is an instance of a delay tolerant network(DTN) protocol stack[1]. 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.

Initial Progress

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.


[1] Kevin Fall. "A Delay Tolerant Networking Architecture for Challenged Internets", Proc. SIGCOMM 2003, Aug. 2003


vertical line
vertical line
horizontal line

MIT logo Computer Science and Artificial Intelligence Laboratory (CSAIL)
The Stata Center, Building 32 - 32 Vassar Street - Cambridge, MA 02139 - USA
tel:+1-617-253-0073 - publications@csail.mit.edu