Wearable Computers as Packet Transport Mechanisms in Highly-Partitioned Ad-Hoc Networks zyx James A. Davis Andrew H. Fagg Brian N. Levine Department of Computer Science University of Massachusetts Amherst, Massachusetts 01003 {jdavis, fagg, brian} @cs.umass.edu Abstract zyxwvuts The decreasing size and cost of wearable computers and mobile sensors is presenting new challenges and opportuni- ties for deploying networks. Existing network routing pro- tocols provide reliable communication between nodes arid allow for mobility and even ad-hoc deployment. They rely, however; on the assumption of a dense scattering of nodes and end-to-end connectivity itz the network. In this paper, we address routing support for ad-hoc, wireless nehvorks wider conditions of sporadic connectivity and ever-present network partitions. This work proposes a general zyxwvutsr frame- work of agetit movement and coiiiniunicatioti in which mo- bile computers physically carry packets across network par- titions. We then propose algorithms that exploit the relative position of stationuiy devices and non-randomness in the movement of mobile agents in the network. The learned structure of the network is used to inform an adaptive rout- ing strategy. With a simulation, we evaluate these algo- rithms and their ability to route packets efJiciently through a highly-partitioned network. 1. Introduction As sensing, computing and data storage devices become increasingly small, inexpensive and pervasive, we can ex- pect such devices to support new applications in our envi- ronments. These devices allow for greater interaction be- tween wearable users and the objects in their environments, e.g., rooms, appliances, robots, or pets. For many of these applications only low-cost networking support is likely to exist. Furthermore, we expect that these devices will be more mobile, sparsely concentrated, and randomly placed than most local networks can support today. If these devices require little or no administrative over- zyxwvu 1530-0811/01 /$10.00 zyxwvutsrqp 0 2001 IEEE 14 1 head, they can be placed with impunity, thus allowing us to create and place devices for very specific applications. For example, a system of inexpensive beacons with only local RF or IR communication abilities may be scattered through- out an office building (e.g., a locust swarm [7]). Sensors at- tached to plants may allow them to request water when the soil is dry; conference rooms may broadcast meeting sched- ules; soda machines and supply cabinets may keep lists of current inventory and make restocking requests; and many devices may automatically make repair and maintenance re- quests. In order to pass packets between these stationury zy iso- lated agents, packets can be transmitted to passing mobile agents: wearable computers, palmtops, or laptops carried by a human, robot, mail cart, or elevator. From there, the packet might make several hops between mobile and sta- tionary agents as it makes its way to its destination. To allow such devices to cooperate with one another and for the framework to be scalable, new types of network sup- port must be available. Existing ad-hoc routing protocols support communication among a group of nodes without a pre-deployed infrastructure, including routers, policy or ad- ministration. However, these protocols assume that a series of cooperative nodes connects any pair of nodes end-to-end in the network. Otherwise, no route between the two hosts exists, and packets from one to the other are dropped. Tra- ditionally these networks are referred to as store and for- ward. Unless one assumes a sufficiently open environment and a dense scattering of devices, assumptions of end-to- end connectivity do not hold. In a highly-partitioned ad-hoc network, routing protocols must exploit the resources and mobility of agents in the network to store, carry, and for- ward packets between devices that are physically isolated from one-another. In other words, under conditions of high partitioning, a protocol is needed that forwards packets dur- ing times of connectivity, and prioritizes and stores packets