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:
- An optimistic replication system capable of supporting both
stationary and mobile users
- The ability for any-to-any communication and synchronization
between any two replicas in the entire system
- The ability to become mobile at any time without advance
warning or required ``pre-motion'' operations.
- An architecture that scales well (hundereds of read-write replicas)
- Algorithms for as-fast-as-possible garbage collection of
user data while still maintaining understandable semantics
and guaranteeing that user data will never be accidently lost
due to hypothetical scenarios involving dynamic naming
and communication delays.
- Algorithms for the dynamic maintenance of version vectors,
allowing the version vector itself to scale much better.
- A solution that runs entirely at the application level with no
kernel hooks or support, making it extremely portable.
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:
-
D. Ratner, P. Reiher, G. J. Popek, and G. H. Kuenning.
Replication Requirements in Mobile Environments.
Dial M for Mobility:
1st International Workshop on Discrete Algorithms
and Methods for Mobile Computing and Communications, October 1st,
1997, Budapest Hungary, held in conjunction with ACM/IEEE
MobiCom'97.
To appear in Mobile Networks and Applications.
Available in
postscript
format.
-
D. Ratner, P. Reiher, and G. Popek,
Dynamic Version Vector Maintenance .
UCLA Technical Report CSD-970022. June, 1997.
Available via
ftp.
-
D. Ratner, G. Popek, and P. Reiher,
The Ward Model: A Scalable Replication Architecture for Mobility.
Workshop on Object Replication and Mobile Computing , October 1996.
-
D. Ratner, G. Popek, and P. Reiher,
Peer Replication with Selective Control.
UCLA Technical Report CSD-960031. July, 1996.
Avaiable by
ftp.
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