Roam: A Replication System for Mobile Environments

A Brief Description

Replication is extremely important in mobile environments because nomadic users require local copies of important data. Replication is even more important than in stationary environments, because mobile users are often disconnected from network or pay a high price for a degraded network connection. While the stationary user has fast, cheap, and easy access to off-machine resources, the mobile user does not, and therefore requires that his or her important data be replicated locally.

However, today's replication systems are not ``mobile-ready.'' Instead of improving the mobile user's environment, the replication system actually hinders mobility and complicates mobile operation. Designed for stationary environments, the replication services do not and cannot provide mobile users with the capabilities they require. Instead, they often force users to behave as if they were stationary, requiring the user to make expensive, long-distance phone calls over low bandwidth links to synchronize data with the server back home.

Consider, for example, the case of two businesspeople who travel from Los Angeles to New York for a meeting. In their hotel room, they would like to and should be able to directly synchronize data on each of their laptops. However, existing client-server solutions require that first laptop A contact the Los Angeles server via a long-distance connection and upload the changes and then laptop B can make the same connection and download the changes...even though the two laptops are physically only a few feet apart! Existing peer-to-peer solutions would enable such direct communication, but suffer from dramatic scaling problems in the number of replicas, limiting the number of overall users and impacting performance.

Replication in mobile environments requires fundamentally different solutions than those previously proposed, because nomadicity presents a fundamentally new and different computing paradigm. Roam is a system designed to meet those requirements.

Why Aren't Existing Systems Good Enough?

There are numerous examples like the one above that illustrate scenarios that mobile users would like to work in but cannot, given the restraints of the replication system. In general, a main reason for this disparity is that many of the replication systems and underlying algorithms were designed without considering mobile computing and the strains mobility places on the system.

Before mobile computing was a feasible reality, software designers simply didn't design their systems to be mobile-enabled. Computers were largely stationary, so there was no need to consider what would happen if it were easy for people to move around geographically. Consider the case of mobile-IP. When the Internet Protocol (IP) was developed, mobility was not feasible, and therefore was not considered in the design. Now that mobility is a reality, many researchers are trying to fix or redesign IP to support real mobility. Like the mobile-IP case, the replication system software must also be redesigned to account for mobile computing.

What Does Roam Provide?

Roam is built using the Ward Model---a new replication architecture that has been designed especially with mobility in mind, though of course it applies equally well to stationary environments. The Ward Model provides a new replication paradigm that is neither strictly peer nor client-server; rather, it is a hybrid model of the two that allows everyone to be effectively a peer while maintaining good scalability in the number of replicas.

Additionally, Roam provides a number of new distributed algorithms. For instance, Roam contains new and improved distributed algorithms for garbage collection (the deallocation of disk space occupied by unnameable files) and for dynamic management of the version vector, the main data structure behind most optimistic replication systems.

Overall, therefore, Roam provides:

Published Papers

There are many published and to-be-published papers on Roam and its subsystems. A complete listing of FMG publications can be found on the FMG home page. Here is a listing of some of the Roam-specific publications:

Current Status

Roam is currently demo-able software. It is the culmination of Dave Ratner's PhD research, and will be completed shortly.
Back to the FMG home page or read more about Dave Ratner's research.
Last modified: Sat Sep 20 12:00:47 1997