Advanced Search
CS Search   Google Search
DS Online Who we are: IEEE Distributed Systems Online is a springboard for building a stronger distributed systems community and a forum for sharing ideas and discussing projects.
Text size: A  A  A
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.
  • Are the routes stable?
  • 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

Return to DS Online



Cite this article:
Ravi Prakash, "Mobile Computing", IEEE Distributed Systems Online, vol. 2, no. 6, 2001, art. no. 0106-o06edu.

dso

Department Editor

Anand Tripathi

Anand Tripathi

Education Archives