Cricket: A Location-Support System for

Pervasive Mobile Computing

9807-04

Progress Report: July 1, 2000–December 31, 2000

Hari Balakrishnan and John Guttag

 

Project Overview

WIND is a system of middleware and protocols that will enable new applications in dynamic, mobile networks of devices. The main focus of WIND is in designing and implementing context management techniques. With the technologies developed in WIND, applications can adapt their behavior to their physical location using the Cricket location-support system, to the other services in their environment using the Intentional Naming System (INS) for resource discovery, to "vertical" mobility between a variety of wireless networks using the Migrate mobility architecture, and to changing network conditions using the Congestion Manager (CM) module.

 

Progress Through December 2000

1. Implementation of Cricket v1, a location-support system that preserves user privacy. We have implemented a prototype version of Cricket, which allows users and applications to learn about the geographic space they are in. Unlike some other past systems like Active Badge (Olivetti/Xerox PARC), Cricket preserves user privacy using passive devices attached to mobiles; Cricket is a fully decentralized and distributed system, making deployment significantly easier than in past systems; Cricket's location granularity is on the order of a few inches of linear accuracy, and a few feet of spatial resolution; and it is made out of inexpensive off-the-shelf components. We have developed techniques to infer the orientation of handheld mobile devices using the same infrastructure and are prototyping it; this is a substantially harder problem than inferring position.

The technology used by Cricket is an interesting combination of RF and ultrasonic signals. Each listener has both RF and ultrasonic receivers. The idea is to transmit, at the same time, data associated with the location on the RF and an ultrasonic pulse from a beacon. In the absence of any interference of multipath effects, a listener can observe the difference in time between the reception of the first RF bit and the arrival of the ultrasonic pulse. Because sound travels at 1 foot/ms and the speed of light (RF) is virtually infinite relative to that of sound, this time difference is a good estimate of the distance from the beacon to the listener.

We have implemented a map application for service discovery that uses Cricket to infer the location of mobiles and devices. Our current research includes a study of energy-efficiency, scalability, and improving its precision.

2. Migrate mobility architecture. Migrate is an end-to-end architecture for Internet host mobility that uses dynamic updates to the Domain Name System (DNS) to track host location. Existing TCP connections are retained using secure and efficient connection migration, enabling established connections to seamlessly negotiate a change in endpoint IP addresses without the need for a third party. Our architecture is secure–name updates are effected via the secure DNS update protocol, while TCP connection migration uses a novel set of "Migrate" options–and provides a pure end-system alternative to routing-based approaches such as Mobile IP. Migrate allows more efficient "vertical" mobility across different wireless networks. We have alpha software available: please see http://nms.lcs.mit.edu/projects/migrate/. We have also submitted an Internet-Draft to IETF for standardizing connection migration.

3. Congestion Manager. On October 16, 2000, we released an alpha version of the Congestion Manager (CM) software for Linux. This code is available under a GPL license (and an MIT copyright) from http://nms.lcs.mit.edu/software/CM/

Research Plan for the Next Six Months

  1. Scalable wide-area resource discovery using INS. We have recently developed techniques for this using ideas of peer-to-peer networking, and will be experimenting with and analyzing these.
  2. Energy-efficiency in Cricket.
  3. Stream redirection application architecture using Cricket, INS, and Migrate. This will enable applications like a music stream following a user as (s)he moves around a building.