|
IEEE DS Online Exclusive Content Education Mobile Computing Ravi Prakash University of Texas at Dallas
Mobile computing and related
networking issues have received considerable attention in the academic and
industrial research community. So, it's logical that computer science
departments in various universities have started offering a graduate-level
course on this topic.
Several departments offer the course as a research seminar where the instructor
and students study a set of research papers and work on some projects. Other
places structure it as a formal course. Both instruction approaches face
similar challenges. There is no comprehensive, widely accepted textbook on
mobile computing. Recently, Charles E. Perkins published Ad Hoc Networking (see
the "Further
Reading" sidebar for more details), a collection of articles on mobile
ad hoc networks (MANETs). However, this book addresses only a specific area of
mobile computing. Similarly, while selecting a set of papers for a mobile
computing course, how do you determine that the selection truly represents the
area?
In my four years of teaching a graduate-level course on mobile computing
systems at the University of Texas at Dallas, I have seen the course evolve
from a seminar to a formally structured course. Based on this experience, this
article describes what a semester-long mobile computing course should cover. My
choices reflect my bias; I'm sure others have differing views, and I hope this
article generates discussion.
What is mobile computing?
Students must be able to distinguish between mobile
computing and wireless networking. These two terms are not synonymous. You
could do computing on the move with a wired connection to the network wherever
you go: office, home, conference, hotel, and so on. However, wireless
networking is, and will continue to be, an important ingredient of mobile
computing because it offers users greater flexibility of movement.
Students must also be sensitized to the scarcity of resources in a mobile
computing system, especially if the communication medium is wireless. Today's
mobile computers run on batteries with a limited energy supply and might have
low communication bandwidth. Technological advancements will improve battery
performance and increase wireless-network bandwidth, but the resource scarcity
is relative. Mobile computing environments will continue to be resource-poor
compared to their fixed counterparts, at least in the foreseeable future. Some
early papers survey mobile computing's challenges (see the "Further Reading"
sidebar).
A discussion of resource constraints challenges the students to think of new
solutions and new ways of porting existing network applications to mobile
computing. At the same time, consideration of the offered flexibility and
increased information availability should motivate them to think of new
applications. After all, everybody is waiting for that killer
application!
What do mobile networks look like?
To initiate meaningful class discussion on mobile computing, the course must
first cover various network models. Students need to know the most common
models:
- Nomadic users with wired network connectivity at access points. A nomadic
user might disconnect from an access point before a move and might later
reconnect with an access point. In the interim period, the user operates in
disconnected mode, relying solely on information resident on the mobile
computer.
- A cellular-like network with a wired infrastructure and wireless connection
between a user terminal and the network infrastructure. A wireless LAN with a
connection to a larger infrastructure network belongs to this category. The
wireless LAN resembles a cell in a cellular network.
- A MANET with no wired infrastructure. In this model, all the nodes are
mobile, and communication is over wireless links. Because paths between nodes
might comprise multiple wireless links, each node should be capable of data
forwarding. A MANET might have a gateway that connects it to other networks. In
the simplest form, all MANET nodes are identical. However, other possibilities
exist-for example, a hierarchical mobile network where some nodes are more
powerful, have an abundant energy supply, and collectively support the
relatively resource-poor nodes.
Mobile computing issues
Next, the course needs to cover design issues. The approach I prefer is to
progressively ascend the network protocol stack and consider the relevant
issues. This mirrors most networking courses' organization. Because most
students in a mobile computing course have already taken a networking course,
they will probably feel comfortable with this sequence.
The data link layer
It is relatively easy to convince students that, with the increasing
popularity of mobile computation and communication systems, the demand for the
limited number of wireless-communication channels is also increasing. So,
efficient channel utilization is of paramount importance. To illustrate the
importance that service providers attach to bandwidth availability, I talk
about the high price they pay for it in FCC bandwidth auctions. Even though the
course will cover mobile computing applications later, it is important to state
early on that applications' needs for channels differ significantly. Most
non-real-time packet-based applications do not require a dedicated channel.
However, real-time applications that expect a certain quality of service (QoS)
would be best served by having some dedicated bandwidth. This topic provides an
easy transition to discuss reservation-based solutions such as
- channel allocation for cellular networks and
- contention-based approaches for wireless LANs.
Channel allocation. This solution is appropriate when connections between
the mobile node and the base stations will be long-lived. Proposed channel
allocation techniques take one of two approaches: centralized or distributed.
The course should emphasize the relative strengths of these approaches. If
centralized solutions are simpler and always result in channel utilization that
is at least as high as that for distributed solutions, why use distributed
solutions? This question lets me initiate discussions on reliability and
scalability: centralized solutions have a single point of failure and might not
scale well. To a student who has already taken a distributed computing course,
the advantages of distributed solutions are obvious. Others start appreciating
this point early in the course, which helps later when we cover MANETs.
Similarly, the course needs to discuss the relative merits of fixed channel
allocation and dynamic channel allocation algorithms. FCA assigns a fixed
number of channels to each cell in a cellular network. It can result in poor
channel utilization, especially if the spatial distribution of demand is
nonuniform. DCA protocols, while resulting in better channel utilization, tend
to be more complex and require more communication between base stations.
A third alternative is hybrid channel allocation, which divides the set of
channels into a fixed and a dynamic set. This solution divides channels in the
fixed set into subsets of nominal channels associated with each cell and
allocates these channels using FCA algorithms. Channels in the dynamic set are
available to all cells and are allocated using DCA algorithms when a cell's
nominal channels are all in use.
By the end of the channel allocation discussion, students notice that they have
sacrificed design simplicity for better utilization, scalability, and
reliability. However, the course needs to emphasize that simplicity of design
can help prove the correctness of the design and implementation. Otherwise,
some students will develop a complicated solution that is only marginally
better than a much simpler, obvious solution.
See the "Further Reading" sidebar for
papers on channel allocation.
Contention-based approaches. Early on, the
students need to understand the hidden terminal problem. Those who have taken
networking courses have studied carrier sense multiple access with collision
detection (CSMA/CD) protocols, which rely on the transmitter for collision
detection. However, in wireless LANs, an interferer can be in the intended
receiver's communication range but the transmitter doesn't sense the
interferer's transmissions. In this situation, the transmitter won't sense a
collision even though the receiver experiences interference, and CSMA/CD will
not yield desirable performance. Therefore, protocols such as IEEE 802.11
employ collision avoidance. Wireless LANs can also operate in contention-free
mode when the base station regulates access to the channel. So, unlike
Ethernet, where control is distributed, protocols such as IEEE 802.11 support
both distributed and centralized operation.
Location management and Mobile
IP
Location management in mobile networks
doesn't fit neatly into a layer of the protocol stack. However, I cover it
before Mobile IP and routing because
- call establishment in cellular networks and packet routing in mobile
networks must deal with a similar problem, and
- the solutions are similar in both contexts.
The course first examines the following
issues, which results in interesting discussions:
- A change in a mobile node's location means a change in the route to that
node. Should the mobile node be responsible for informing all its correspondent
nodes about changes in its location?
- Should the correspondent nodes be responsible for tracking the mobile node?
What if a correspondent node is old and doesn't have mobility support? Does
this mean that the node can't communicate with mobile nodes?
- A mobile node can't predict which nodes might want to communicate with it.
So, if it is responsible for location updates, should it send its location
updates (and the resultant route updates) to the entire network?
- A mobile node might want to communicate with other nodes without revealing
its location. How do you support such a facility?
Location management in cellular telephony
employs home location registers and visitor location registers. When a mobile
phone is in a foreign region, it registers with the VLR serving the foreign
region. The VLR conveys this registration information to the mobile phone's
HLR. Subsequently, when a call for the mobile phone is routed to its home
region, the HLR forwards the call to the VLR. The VLR determines which cell the
phone is in and completes the call.
Mobile IP, the protocol to deliver IP packets to mobile nodes, has a similar
approach. Home agents and foreign agents correspond to the HLRs and VLRs.
Unlike mobile-telephone networks, Mobile IP doesn't support real-time handoff
of an ongoing call between cells. For details of Mobile IP, the Internet
Engineering Task Force's (IETF) Web page on the Mobile IP working group (http://www.ietf.org/html.charters/mip6-charter.html)
is a good starting point, along with Perkins' book Mobile IP Design Principles
and Practices (see the "Further Reading"
sidebar).
Routing
After studying the data link layer issue of delivering frames
across a wireless link-that is, between adjacent nodes-the course moves on to
data communication between nonadjacent nodes. Routing in mobile networks is a
very interesting problem. We could spend an entire semester on it.
The routing solution depends on whether the mobile computing model is nomadic,
cellular, or a MANET.
Nomadic computing. As I mentioned before, this model assumes no network
connectivity during a move. So, each time a node connects to the network, the
node could register with appropriate name servers and locate the servers that
provide the desired services by probing the known directory services.
Subsequently, packets could be routed to the mobile node. If the node's
mobility will be hidden, the network could employ Mobile IP. All the
communicating nodes could route packets to the mobile node's home address.
There, the home agent would intercept the packets and tunnel them to the mobile
node.
Cellular computing. Cellular networks that provide continuous connectivity and
data communication for mobile nodes take a different approach. As a mobile node
moves out of one cell into a neighboring cell (or from one wireless LAN to a
neighboring wireless LAN), seamless handoff between the cells is needed. A
mobile computing course must discuss this problem for three reasons:
- Unlike with handoff of voice calls in cellular networks, occasional loss of
a few data packets can severely degrade the performance of several data
communication applications.
- Applications that rely on data communication in a cellular setting will
become prevalent when third-generation packet radio networks become a reality.
The cellular networking domain currently doesn't have many such applications,
owing to the low available bandwidth.
- Depending on the nature of the application, data packets might or might not
have delivery deadlines and reliability requirements. So, QoS issues are
important in routing decisions. The added dimension of mobility makes the
problem more challenging. QoS research and solutions related to backbone
networks do not necessarily address the issue of source and destination
mobility.
MANETs. Owing to the absence of any infrastructure and the need
for all nodes to collaborate in routing and packet forwarding, MANET routing is
fertile ground for the application of distributed computing ideas. While no
deployed MANETs exist, such networks have interesting potential civilian and
military applications. Also, this area has several interesting proposed
solutions and many unsolved problems. Hence, I can't overemphasize this topic's
importance in a graduate-level mobile computing course. While the IETF MANET
working group is relatively new, similar problems of routing and packet
forwarding were investigated in the context of DARPA's packet radio networks in
the '70s and '80s. So, students must have a good historical perspective lest
they reinvent the wheel.
Owing to the dynamic nature of MANETs, any routing protocol for them should
undergo these tests:
- What volume of control traffic do you need to propagate routing
information?
- How much time do the routing tables at all the nodes take to converge after
a topology change?
- Are there situations when the routing tables might not stabilize?
- Does the protocol determine routes that are optimal with respect to the
metric that is being optimized? Some protocols try to minimize the number of
links on the path between the source and destination. Others might have
different goals, such as load-balancing among all nodes, minimizing energy
consumption, or minimizing latency.
- Wireless links might be unidirectional. Can the routing protocol utilize
such links? If so, do you need any modifications at the data link layer?
- What fraction of packets is dropped owing to nonavailability of routes even
though the source and destination are part of the same connected
component?
- What fraction of packets is misrouted?
The answers to these questions will determine if the routing
protocol is scalable. Such scalability will be a requirement for the wide
deployment of MANETs.
Discussing the abundance of proposed routing protocols for MANETs in minute
detail is neither possible nor useful, especially because several have similar
design principles. (For a brief description of several MANET routing protocols,
see the entry for Charles Perkins' Ad Hoc Networking in the "Further Reading" sidebar.)
So, I find it useful to discuss the criteria for classification of MANET
routing protocols and the relative strengths and suitability of each category
of protocols. Graduate students are mature enough that, once they understand
the principles, they will read the Internet drafts and absorb the
details.
You can classify MANET routing protocols on the basis of when routing
information is gathered or propagated or on the basis of the network's logical
organization. In the first classification, routing protocols can be proactive
or reactive. Proactive protocols rely on the periodic exchange of routing
information between nodes, and are triggered by network topology changes.
Subsequently, when a node has to forward data packets, it performs a table
lookup. Proactive protocols have been criticized for incurring high route
update overheads even when no data communication takes place between nodes.
This criticism has led to the development of reactive protocols that perform
route discovery only when there is data to forward and then cache the
discovered routes. Subsequently, if a source sends additional packets to a
destination, it can use the cached route information.
Proactive protocols have been discarded in haste. Students must
realize that they should compare protocols for a range of
communication-to-mobility ratios. Proactive protocols will definitely lose when
communication is infrequent and mobility is high (requiring frequent routing
updates). However, in the reverse situation, reactive protocols might lose
their advantage over the proactive protocols. Furthermore, don't reactive
protocols suffer from higher latency due to on-demand route discovery?
In terms of the network's logical organization, MANET routing protocols can be
cluster-based and hierarchical, or flat, or a hybrid of the two. Cluster-based
protocols logically divide the network into clusters, each having a head. The
heads collectively maintain topology information and provide information for
packet forwarding to their cluster members. Flat protocols maintain no such
node hierarchy; all nodes maintain routing tables. So, when would a
hierarchical protocol be better than a flat protocol, and vice versa? There
does not seem to be significant literature on this question, and I find that
some students are intrigued by this question.
Some researchers suggest that nodes should track the location of other nodes
for packet-forwarding purposes. A packet could be forwarded to a neighbor in
the destination's general direction, and topology information wouldn't need to
be disseminated throughout the network. Students must understand that such
solutions work only under some circumstances. Wireless signals do not propagate
outward in nice circles. Instead, the terrain, the vegetation, the weather, and
activities by other transmitters influence a received signal's quality. At
times, the route that a packet should take between two nodes might have little
correlation to the straight line connecting those nodes.
I use the abundance of competing MANET routing protocols and the sometimes
conflicting claims made by the related papers to instill a measure of
skepticism among the students. A few students have, unfortunately, a tendency
to unhesitatingly accept anything that is published in a reputed technical
journal or conference. It's interesting to propel the students to thoroughly
investigate the validity of claims made for various protocols.
In addition to unicast communication, the course should cover multicasting and
broadcasting. No paper on multicasting protocols conclusively proves that every
node in the multicast group gets the packet.
The transport layer
Teaching issues pertaining to the transport layer, especially
TCP, can get tricky in the context of mobile networks. At this layer, only
end-to-end considerations matter. However, in a mobile network, the data link
layer characteristics of wireless links, such as high bit error rate and low
bandwidth, can significantly affect the performance of TCP connections.
Consider a TCP connection in a cellular system where only one link (the last or
first) is wireless. Packets dropped across a wireless link will result in TCP
time-outs and retransmissions by the source. Retransmitted packets will travel
over the entire path, including the reliable wired links.
Students need to determine the best possible solutions that do not violate the
end-to-end TCP semantics or the layered protocol stack approach. For example,
the Snoop protocol relies on an agent at a base station to monitor the reliable
delivery of link layer frames carrying TCP traffic. Does this solution stay
true to the layered approach of solving networking problems? Should transport
layer information be available to the data link layer?
Indirect TCP, another solution, relies on establishing two connections for a
TCP connection. One connection spans the relatively reliable and bandwidth-rich
wired part; the other spans only the wireless link and is optimized for this
link. Some people object to I-TCP because it violates the end-to-end semantics
of TCP connections. (For articles describing Snoop and I-TCP, see the "Further Reading"
sidebar.)
These topics should lead to further discussion about the layered approach to
solving networking problems. Ideally, intermediate nodes should treat all the
packets the same, whether they carry TCP or UDP (user datagram protocol)
traffic. So, how widely deployable is a solution that expects intermediate
nodes to do special processing for TCP traffic? Will such a solution work for
TCP connections that span several diverse networks, all of which might not be
under one administrative control?
For MANETs, the network's dynamism and the resultant changes in path length and
propagation time can impact TCP's mechanisms for congestion control in ways
that are difficult to predict. So, are TCP's simple time-out and self-clocking
mechanisms good enough to handle such dynamism? Or do we need new solutions for
end-to-end traffic management in a MANET?
Mobility support for applications
At this point, students should understand the issues relevant
to end-to-end communication between nodes in a mobile network. So, this is an
opportune moment to apply this know-how to the design of new applications and
to porting existing applications to mobile networks.
An important issue in designing applications for mobile networks is the
disconnected operation mode. We can realistically assume that the mobile node,
to save energy, will not always be connected to the network. Even when the node
is connected, the available bandwidth and the bit error rate might fluctuate.
Applications must be aware of such conditions and adapt to them. The class
should discuss how applications can adapt to intermittent network connectivity.
A solution that several students usually offer and that appears in the
scientific literature is increased reliance on a locally stored copy of the
files or database records.
However, studying this solution should trigger a thorough reexamination of
existing cache-coherence and replica-consistency solutions in the context of
mobile applications. Reads performed on the local copy are not guaranteed to
return the result of the latest write. Because writes might be performed
concurrently on mutually unreachable replicas, the replicas' state might
diverge. So, when two previously unreachable nodes with mutually divergent
replicas become reachable, how do you synchronize the replicas? It's
interesting to nudge the class toward the realization that the insistence on
strict replica consistency or cache coherence they learned in database and
computer architecture courses, respectively, might be bad for the disconnected
mode: data availability will be adversely affected. So, we need a weaker notion
of replica consistency. However, what is the meaning of weak data consistency?
We do not yet fully understand the related issues of synchronization. The
exploration of such issues is especially interesting for a graduate-level
course.
A related issue is network-aware computing. As the mobile device moves between
heterogeneous networks (from connection to a wired access point, to a wireless
connection through a wireless LAN, to a MANET) and as the speed of motion
changes, the quality of the network link and of other available resources might
change significantly. So, the application servers and clients should be able to
adjust accordingly. For example, a user walks along a street carrying a mobile
node with a high-bandwidth wireless link but with a limited energy supply and a
very basic I/O interface. Later, the user enters a car, slips the mobile node
into its docking port, and starts driving along a highway. Now, the node has a
relatively abundant energy supply from the car's battery and a much better I/O
interface, but a much lower wireless bandwidth owing to the car's high speed.
What do the server and client need to do to hide such environmental
fluctuations from the user? Should we design applications to adapt to changing
conditions? Should we store data in a variety of formations, each suited for a
specific condition? We need to discuss these questions and more with
students.
Students should also investigate new applications that provide information to a
user on the basis on the user's location. Important issues in this regard are
location-based filtering, security, and privacy.
A variety of tools exist for students to conduct lab experiments and try
various options (see the sidebar, "Resources for Course
Projects").
Because mobile computing is a fast-changing
research field with tremendous commercial potential, we must properly train
students in this field. Toward that end, I've tried to provide a set of issues
that a mobile computing course should cover. However, due to the field's
continuous evolution, this set is bound to become obsolete. So, the course will
need to supplement the basic materials with research papers from various
conferences (such as MobiCom, SIGCOMM, INFOCOM, the International
Communications Conference, Milcom, and MobiHoc) and journals (such as IEEE/ACM
Transactions on Networking, the IEEE Journal on Selected Areas of
Communications, IEEE Transactions on Vehicular Technology, ACM/Baltzer Mobile
Networks, and ACM/Baltzer Wireless Networks).
Ravi Prakash is an associate professor in
the Department of Computer Science at the University of Texas at Dallas. His
research areas are mobile computing and distributed systems. He previously was
a visiting assistant professor in the Department of Computer Science at the
University of Rochester. He obtained his MS and PhD from the Department of
Computer and Information Sciences at Ohio State University. He is a member of
the IEEE. Contact him at the Dept. of Computer Science, Univ. of Texas at
Dallas, Richardson, TX 75083-0688;ravip@utdallas.edu.
Further Reading
Mobile computing
challenges
G.H. Forman and J. Zahorjan, "The Challenges of Mobile
Computing," Computer, vol. 27, no. 4, Apr. 1994, pp. 38-47.
T. Imielinski and B.R. Badrinath, "Mobile Wireless Computing," Comm.
ACM, vol. 37, no. 10, Oct. 1994, pp. 19-28.
L. Kleinrock, "Nomadic Computing: An Opportunity," Computer
Communication Rev., vol. 25, no. 1, Jan. 1995, pp. 36-40.
Channel allocation
A.S. Acampora and M. Naghshineh, "An Architecture and
Methodology for Mobile-Executed Handoff in Cellular ATM Networks," IEEE J.
Selected Areas in Communications, vol. 12, no. 8, Oct. 1994, pp.
1365-1375.
Y. Akaiwa and H. Andoh, "Channel Segregation: A Self-Organized Dynamic
Channel Allocation Method: Application to TDMA/FDMA Microcellular System,"
IEEE J. Selected Areas in Communications, vol. 11, no. 6, Aug. 1993, pp.
949-954.
I. Katzela and M. Naghshineh, "Channel Assignment Schemes for Cellular
Mobile Telecommunication Systems: A Comprehensive Survey," IEEE Personal
Communications, vol. 3, no. 3, June 1996, pp. 10-31. This paper, with its
extensive bibliography, is a good starting point for studying channel
allocation.
R. Prakash, N. Shivaratri, and M. Singhal, "Distributed Dynamic Channel
Allocation for Mobile Computing," IEEE Trans. Vehicular Technology, vol.
48, no. 6, Nov. 1999, pp. 1874-1888. This paper proposes an algorithm for
cellular networks that is based on the principles of distributed mutual
exclusion.
M. Zhang and T.-S.P. Yum, "Comparisons of Channel-Assignment Strategies in
Cellular Mobile Telephone Systems," IEEE Trans. Vehicular Technology, vol.
38, no. 4, Nov. 1989, pp. 211-215. This paper presents a channel allocation
algorithm and compares the performance of various centralized and distributed
channel allocation algorithms.
Location management and Mobile
IP
I.F. Akyildiz and J.S.M. Ho, "On Location Management for
Personal Communications Networks," IEEE Communications Magazine, vol. 34,
no. 9, Sept. 1996, pp. 138-145. This article is a good starting point for
discussion on location management for cellular networks.
C.E. Perkins, Mobile IP Design Principles and Practices, Addison-Wesley,
Reading, Mass., 1999.
Routing protocols
A.D. Amis et al., "Max-Min D-Cluster Formation in Wireless
Ad Hoc Networks," Proc. 2000 IEEE INFOCOM, IEEE Press, Piscataway, N.J.,
2000. This paper presents solutions for clustering and cluster-based routing in
mobile ad hoc networks (MANETs).
D.J. Baker, A. Ephremides, and J. A. Flynn, "The Design and Simulation of a
Mobile Radio Network with Distributed Control," IEEE J. Selected Areas in
Communications, vol. SAC 2, no. 1, Jan. 1984, pp. 226-237. This paper describes
some early work on cluster-based packet radio networks.
M. Gerla and J. T.-C. Tsai, "Multicluster, Mobile, Multimedia Radio
Network," ACM Baltzer J. Wireless Networks, vol. 1, no. 3, 1995, pp.
255-265. This paper also presents solutions for clustering and cluster-based
routing in MANETs.
C.E. Perkins, ed., Ad Hoc Networking, Addison-Wesley, Reading, Mass., 2000.
This book describes several proposed protocols. Destination sequenced distance
vector is a proactive flat routing protocol for MANETs proposed by Charles
Perkins and Pravin Bhagwat. Ad hoc on-demand distance vector, proposed by
Perkins, Elizabeth Royer, and Samir Das, and dynamic source routing, proposed
by David Johnson and David Maltz, are reactive flat routing protocols. Vincent
Park and M. Scott Corson describe TORA (temporally ordered routing algorithm),
a routing protocol for MANETs based on edge reversals. The zone routing
protocol, proposed by Zygmunt Haas and Marc Pearlman, is a hybrid routing
protocol for MANETs.
P. Sinha, R. Sivakumar, and V. Bharghavan, "CEDAR: A Core-Extraction
Distributed Ad Hoc Routing Algorithm," Proc. 1999 IEEE INFOCOM, IEEE Press,
Piscataway, N.J., 1999. This paper also presents solutions for clustering and
cluster-based routing in MANETs.
Improving TCP
performance
A. Bakre and B.R. Badrinath, "I-TCP: Indirect TCP for
Mobile Hosts," Proc. 15th Int'l Conf. Distributed Computing Systems, IEEE
CS Press, Los Alamitos, Calif., 1995, pp. 136-143. I-TCP (see "The transport layer") is one
proposed solution for improving TCP performance.
H. Balakrishnan et al., "A Comparison of Mechanisms for Improving TCP
Performance over Wireless Links," IEEE/ACM Trans. Networking, vol. 5, no.
6, Dec. 1997, pp. 756-769. This paper surveys various solutions, including the
Snoop protocol (see "The transport layer").
K. Chandran et al., "A Feedback Based Scheme for Improving TCP Performance
in Ad Hoc Networks," IEEE Personal Communications, vol. 8, no. 1, February
2001, pp. 34-39.
R. Yavatkar and N. Bhagwat, "Improving End-to-End Performance of TCP over
Mobile Internetworks," Proc. Workshop Mobile Computing Systems and
Applications, IEEE Press, Piscataway, N.J., 1994. This paper proposes a
solution to improve TCP performance over mobile networks by transparently
splitting an end-to-end connection into two connections.
The impact of mobility on
applications
A.D. Joseph et al., "Rover: A Toolkit for Mobile
Information Access," Proc. SIGOPS 95, ACM Press, New York, 1995, pp.
156-171. Rover, at the Massachusetts Institute of Technology, deals with
replica management and communication over wireless links with intermittent
connectivity.
B.D. Noble and M. Satyanarayanan, "Experience with Adaptive Mobile
Applications in Odyssey," Mobile Networks and Applications, vol. 4, no. 4,
Jan. 1999, pp. 245-254. One of the earliest works regarding developing
applications for the disconnected operation mode (see "Mobility support for
applications") was the Coda project at Carnegie Mellon University.
While Coda was geared toward developing a file system for disconnected
operation using portable computers, its successor, the Odyssey project,
addresses similar issues for mobile, wireless networks.
E. Pitoura and B. Bhargava, "Maintaining Consistency of Data in Mobile
Distributed Environments," Proc. 15th Int'l Conf. Distributed Computing
Systems, IEEE CS Press, Los Alamitos, Calif., 1995, pp. 404-413.
D.B. Terry et al., "Managing Update Conflicts in Bayou, a Weakly Connected
Replicated Storage System," Proc. SIGOPS 95, ACM Press, New York, 1995, pp.
172-183. The Bayou project at the Xerox Palo Alto Research Center also
addresses issues of replica management and communication over wireless links
with intermittent connectivity.
Resources for
Course Projects
Building a mobile network from scratch in one semester would not be feasible in
most computer science departments. So, the best alternative is simulation.
Fortunately, several simulation tools for this purpose are available. A popular
simulator in the mobile computing community is ns version 2 (www.isi.edu/nsnam/ns/ns-documentation.html).
It is a comprehensive simulation tool for the entire TCP/IP protocol stack and
is the result of collaboration between the University of California at
Berkeley, Lawrence Berkeley National Laboratories, the University of Southern
California, and the Xerox Palo Alto Research Center. The Monarch group at
Carnegie Mellon University added mobility support to the original ns, and
several other researchers have contributed to this simulator.
Another useful simulator is GloMoSim (http://pcl.cs.ucla.edu/projects/glomosim),
developed at the University of California at Los Angeles. It is a parallel
discrete-event simulator for wired and wireless networks.
Both ns version 2 and GloMoSim are available free of charge from the Web. Opnet
Modeler (www.opnet.com/products/modeler/home.html),
a commercial product for network modeling and simulation, is available at a
significant educational discount and is being used by several
universities.
Unfortunately, not much literature is available on the validation of all the
simulators, especially their wireless propagation models. So, making assertions
about the accuracy of the results of such simulations is difficult. It is to be
hoped that the simulation engines will evolve. Validation of any of these
simulators could be an important master's- or PhD-level research project.
|
back to Volume 2, Number
6 archives

Cite this article:
Ravi Prakash, "Mobile Computing", IEEE Distributed Systems Online, vol. 2, no. 6, 2001, art. no. 0106-o06edu. |
|
Department Editor
Anand Tripathi
Education Archives
|