22-06-2012, 02:17 PM
Mobile Computing
mobile computing.pdf (Size: 482.09 KB / Downloads: 63)
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 resourcepoor
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.
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
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
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
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?
mobile computing.pdf (Size: 482.09 KB / Downloads: 63)
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 resourcepoor
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.
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
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
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
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?