0 ratings0% found this document useful (0 votes) 1K views360 pagesMobile Computing Book PDF
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
McGRAW-HILL PROFESSIONAL ENGINEERING Pf
Fundamentals
of Mobile
and Pervasive
ee
v Embedded wireless sensor networking
V Wireless security a
ws neon
V Ubiquitous computing yer ae Ca
Penta 4
v Middleware
Frank Adelstein
Sandeep K.S. Gupta
Golden G. Richard III
man Loren SchwiebertInformation contained in this work has been obtained by Tata McGraw-Hill, from
sources believed to be ‘reliable. However, neither Tata McGraw-Hill nor its
authors guarantee the accuracy or completeness of any information published
herein, and neither Tata McGraw-Hill nor its authors shall be responsible for any
errors. omissions, or damages arising out of use of this information. This work is
published with the understanding that Tata McGraw-Hill and its authors are
suet 2 information but are not attempting to render engineering or other
. If such services are required, the assistance of an |
appropriate professional should be sought.
WA
INS
G1 Tata McGraw-Hill
Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.
No part of this publication may be reproduced or distributed in any form or by
any means, or stored in a database or retrieval system, without the prior written
permission of the publisher
Tata McGraw-Hill Edition 2005
Fourth reprint 2008
RLXCRRYXRCYXC
Reprinted in India by arrangement with The McGraw-Hill Companies,
Inc., New York
Sales territories: India, Pakistan, Nepal, Bangladesh, Sri Lanka and Bhutan
CIP Data is on file with the Library of Congress
ISBN-13: 978-0-07-060364-6
ISBN-10: 0-07-060364-2
Published by Tata McGraw-Hill Publishing Company Limited,
7 West Patel Nagar, New Delhi 110 008, and printed at
Gopaljee Enterprises, Delhi 110 053Contents,
Preface xv
Acknowledgments xix
Chapter 1, Mobile Adaptive Computing
1.1_What Is Mobile Computing?
1.2 _Adaptability—The Key to Mobile Computing
1.2.1 Transparency
1.22 Constraints of mobile computing environments.
1.2.3 Application-aware adaptation -
1.3 Mechanisms for Adaptation
1.3.1 Adapting functionality
1.32 Adapting data
1.4 How to Develop or Incorporate Adaptations in Applications
1.4.1 Where can adaptations be performed? 12
1.5 Support for Building Adaptive Mobile Applications
1.5.1 Odyssey
1.5.2 Rover
1.6_Summary
I= [eo loo leo lovlonlanleo lo low
RE Risis
Chapter 2. Mobility Management
2.1 Mobility Management
2.2 Location Management Principles and Techniques
2.2.4 Registration area—based location management
2.3 Location Management Case Studies
2.3.1_ PCS location management scheme.
2.32 Mobile IP
24 Summary
Bssisisish &
len
Io
Chapter 3. Data Dissemination and Management
3.1_Challenges
3. ta mi
3.2.1 Bandwidth allocation for publishing
3.2.2 Broadcast disk scheduling
Ree isviii Contents
3.3. Mobile Data Caching or
3.3.1 Caching in traditional distributed systems 68
3.3.2 Cache consistency maintenance 69
3.4 Mobile Cache Maintenance Schemes 72
3.4.1 A taxonomy of cache maintenance schemes _ 72
3.42 Cache maintenance for push-based information dissemination 74
3.4.3 Broadcasting invalidation reports 75
Disconnected operation 77
isynchronous stateful (AS) scheme 78
prone : 2
_Mobile Web Caching 86
3.5.1 Handling disconnections 87
3.5.2 Achieving energy and bandwidth efficiency 87
3.6 Summary 88
Chapter 4. Context-Aware Computing
4.1_Ubiquitous or Pervasive Computing
91
92
4.2, What Is a Context? Various Definitions and Types of Contexts 94
4.2.1 Enumeration-based 94
4.2.2 Role-based ee : -)
4.3 Context-Aware Computing and Applications 96
4.3.1_Core capabilities for context awareness Ed
4.3.2 Types of context-aware applications 98
4.3.3 Developing context-aware applications 100
4.4. Middleware Support 102,
4.4.1 Contextual services 103
4.4.2 Actuator service 104
4.4.3 An example: context toolkit 404
4.44 Providing location context 105
4.5 Summary 106
Chapter 5. Introduction to Mobile Middleware 109
5.1_What Is Mobile Middleware? 109
5.2 Adaptation 110
.3_ Agents 41
: 5.4 Service Discovery 114
Chapter 6. Middleware for Application Developme!
Adaptation and Agents 113
61 Acaptation 113
The spectrum of adaptation 114
"Resource monitoring 114
Characterizing adaptation strategies 115
An application-aware adaptation architecture: Odyssey 117
A sample Odyssey application 119
‘More adaptation middleware 120,
Copyrighted6.2 Mobile Agents _ 123
6.2.1 Why mobile agents? And why not? 125
62.2 Agentarchitectures CC‘“‘“‘*«s
62.3 Migration strategies 130
6.2.4 Communication strategies 73t
6.3 Summary 133
Chapter 7. Service Discovery Middleware: Finding Needed Services 137
7.1 Common Ground 140
arvic 142
7.2.1__Universally unique identitiers 142
2.2.2 Standardization 144
7.2.3 Textual descriptions _ 145
7.2.4 Using interfaces for standardization 149
More on Discovery and Advertisement Protocols 150
.1_Unicast discovery 150
Multicast discovery and advertisement 151
7.3.3 Service catalogs | 155
7.4 Garbage Collection 156
7.4.1 Leasing 156
7.4.2 Advertised expirations 158
7.5_ Eventing 159
7.6 Security 163
7264_Jink
7.6.2 Service location protocol 164
7.6.3 Ninja 165
7.7 Interoperability 166
7.7.1 Interoperability success stories 167
7.8_ Summary 167
Chapter 8. Introduction to Ad Hoc and Sensor Networks 171
8.1 Overview 171
8.1.1 Outline of chapter 172
8.2 Properties of an Ad Hoc Network 175
8.2.1 No preexisting infrastructure 175
c b ion 175
8.2.3 Power-limited devices 177
8.3_Unique Features of Sensor Networks 178
“8.3.1 Direct interaction with the physical world «SV.
“Very limited 180
8.3.4 Operate without a human interface. 181
8.3.5 Specialized routing patterns 181
8.4 Proposed Applications 182
8.4.1 Military applications 182
8.4.2 Medical applications 785
8.4.3 Industrial applications 186
8.44 Environmental applications CST
8.4.5 Other application domains _ 188
Copyrighted materialx Contents
Chapter 9. Challenges
9.1 Rooesaines Resources
-1_No centralized authority
Limited power
“Wireless communication
Storage constraints
Limited input and output options
9.2 Security
9.2.1 Small keys
9.2.2_Limited computation
9.2.3 Changing network membership
3.2.4 Arbitrary topology
9.3 Mobility
9.31 Mobility requirements
§.3.2_ Loss of connectivity
3.3.3 _Data loss
3.3.4 Group communication
‘Maintaining consistent views
9.4 Summary
‘Chapter 10. Protocols
10.1__Autoconfiguration
0.1.1_ Neighborhood dis
Limited computation and storage
&
BRE
BERBREB REESE EERE
BB
ia
10.1.2 Topology discovery
10.1.3 Medium access control schedule construction
10.1.4 Security protocol configuration
10.2 Energy-Efficient Communication
10.2.1 Multihop routing
10.2.2. Communication scheduling
10.2.3 Duplicate message suppression
10.2.4 Message fon
10.2.5 Duatradio scheduling
10.2.6 Sleep-mode scheduling
10.2.7 Clustering
Mobility Requirements
10.3.1 Movement detection
10.3.2 Patterns of movement
70.3.3 Changing group dynamics
10.3.4 Resynchronization
10.4 Summary
10.
@
Chapter 11. Approaches and Solutions
11.1_Deployment and Configuration
T1.1.1_Random deployment
1.1.2 Scalability
11.1.3 _Seif-organization
11.1.4 Security protocol configuration
BSREBE RRERESRR NERContents
11.1.5 _Reconfiguration/redeployment 249
11.1.6 Location determination 249
11.2 Routing 252
11.2.1, Event-driven routing 253
11.22 Periodic sensor readings 254
11.2.3 Diffusion routing 260
11.2.4 Directional routing 285
11.25 Group communication 268
11.2.6 Synchronization 271
11.3. Fault Tolerance and Rellability 273
11.31 FEC and ARQ 273
11.3.2 Agreement among sensor nodes (Reliability of
measurements) 274
11.3.3 Dealing with dead or faulty nodes 278
11.4 Energy Efficiency 279
11.4.1 Uniform power dissipation 280
11.42 Sensor component power management 281
11.4.3 MAC layer protocols 282
11.4.4 Tradeoffs between performance and energy efficiency 283
11.8 Summary 284
Chapter 12. Wireless Security 287
12.1 Traditional Security Issues 287
12.1.1 Integrity 287
12.1.2 Confidentiality 288
12.1.3 Nonrepudiation 288
12.1.4 Availability 288
12.2 Mobile and Wireless Security issues 200
12.2.1 Detectability 200
12.2.2 Resource depletion/exhaustion 291
12.2.3 Physical intercept problems 291
12.2.4 Theft of service 201
12.2.5 War driving/walking/chalking 292
12.3 Mobility 209
12.4 Problems in Ad Hoc Networks 293
12.4.1 Routing 294
12.4.2_Prekeying 294
72.4.3 Reconfiguring 295
12.4.4 Hostile environment 295
12.5 Additional Issues: Commerce 295
125.1 Liability 296
12.5.2 Fear, uncertainty, and doubt 296
125.3 Fraud 296
12.5.4 Big bucks at stake 297
12.6 Additional Types of Attacks 297
12.6.1 “Man in the middie” attacks 297
12.6.2 Traffic analysis 298
426.3 Replay attacks 298
12.6.4 Buffer-overfiow attacks 298
12.7 Summary 299xii Contents
Chapter 13. Approaches to Security 301
13.1_Limit the Signal 301
13.1.1 Wire integrity and tapping 301
13.1.2 Physical limitation 301
43.2_ Encryption 302
13.2.1 Public and private key encryption 302
13.2.2 Computational and data overhead 303
13.3 Integrity Codes 304
13.3.1 Checksum versus cryptographic hash 304
13.3.2 Message authentication code (MAC) 305
193.8 Paylosdversusheader 088
13.3.4 Traffic analysis
13.4 IPSec 307
13.4.1 Authentication header (AH) 307
13.4.2 Encapsulating security payload (ESP) 308
13.5 Other Security-Related Mechanisms 308
135.1 Authentication protocols 308
135.2 AAA 313
13.5.3 Special hardware 315
13.6 Summary 315
Chapter 14. Security in Wireless Personal Area Networks 317
444 Basicidea
14.1.1 Bluetooth specifications 317
4441.2 Bluetooth network terms SCSC~ST
14.1.3 Bluetooth securitymechanisms 820
14.2 Bluetooth SecuriyModes 8D
14.3 Basic Security Mechanisms 321
14.3.1 Initialization key 322,
143.2 _Unitkey 322
14.3.3 Combination key 322
143.4 Masterkey 0 8B
14.4 Encryption 323
14.5 Authentication 325
14.6 Limitations and Problems 325
14.7 Summary 327
Chapter 15. Security in Wireless Local Area Networks 329
454 Basicidea
15.2 Wireless AlphabetSoup 88.
15.3 Wired-Eduivalent Privacy (WEP) 333
15.3.1 WEP goals 333
15.3.2 WEP data frame 334
15.3.3 WEP encryption 334
15.3.4 WEP decryption 335
15.3.5 WEP authentication 8
15.3.6 WEP flaws ‘336
152.7 WEPfiyees 8BContents — xiii
15.4 WPA 340
168 soniye 8
15.5.1 Encryption protocols 340
15.5.2 Accesscontrolvia8021x
15.6 Fixes and “Best Practices” 344
15.6.1 Anything is better than nothing 344
15.6.2, Know thine enemy aM
15.6.3 Use whatever wireless security mechanisms are present 345
15.6.4 End-to-end VPN 345
15.6.5 Firewall protection 346
15.6.6 Use whatever else Is available 346
15.7 Summary 348
Chapter 16. Security in Wireless Metropolitan Area Networks (802.16) 349
16.1 BroadbandWirelessAccess 8D
462 IEEE@O216
16.3_802.16 Security 350
16.3.1_Key management a5
16.3.2 Security associations 351
16.3.3 Keying material lifetime 352
16.3.4 Subscriber station (SS) authorization 353
16.3.5 Encryption 353
18.4 Problems and Limitations 354
16.5 Summary 354
Chapter 17. Security in Wide Area Networks 357
Wi Basicides 8
12.2_CDMA 359
12 GSM 360
17.3.1_GSM authentication 360
17.3.2 GSM encryption 360
17.4 Problems with GSM Security 361
12.4.1 Session life 362
17.4.2 Weak encryption algorithm 362
17.4.3 Encryption between mobile host and base station only 363
17.4.4 Limits to the secret key 363
17.4.5 Other problems 364
15 The Four Generations of Wireless: 1G-4G_ 8
126_3G 364
12.7 Limitations 366
17.8 Summary 366
Appendix A_Brief Introduction to Wireless Communication
and Networking 369
Appendix B Questions 375
Index _389Preface
Mary sits with her PDA in a coffee shop in Woods Hole reviewing her
appointments for the day and notes that the location for her lunch meet-
ing with a CEO is marked TBD. After reviewing menus for a few nice
restaurants, she selects an appropriate location. As she gets into her car,
with notes for the lunch meeting she printed at the coffee shop, she
quickly checks her credit card limit with her PDA, and then sends the
CEO a note on the suggested location. Suddenly, 9000 miles to the west,
asperm whale surfaces in the Pacific Ocean. The whale carries a small,
low-power radio transmitter that has been recording its vital signs for
the last 2 months. Now above the water, the transmitter establishes con-
tact with a low-earth-orbit satellite and uploads its data. It also uploads
vital signs for other similarly equipped whales it passed since the radio
last contacted the satellite. The data indicate a growth in the pod pop-
ulation, Scientists halfway around the world are thrilled with the new
data and news filters up the chain to the company CEO, who can now
approve a research grant for the chief scientist of a marine biology insti-
tute he is meeting for lunch. As she leaves the restaurant, Mary shares
the good news with members of her research group using her cell phone.
Acommon thread in the above scenario is the use of mobile and per-
vasive computing. Mobile computing is characterized and driven by
portable, lightweight hardware, wireless communication, and innova-
tions in application and system software. The technology drives new
applications which in turn fuel the demand for the new technology.
Pervasive computing uses small, battery-powered, wireless computing
and sensing devices embedded in our environment to provide contextual
information to new types of applications. The trend of technology get-
ting smaller and more portable is likely to continue for the foreseeable
future. Bandwidth available to a home user through a broadband
Internet connection exceeds the bandwidth available to all but the
largest organizations several years ago. The bandwidth in low-priced
network connections continues to increase at a similar rate. Wireless and
cellular technologies allow users to connect to networks from practicallyxvi Preface
any location and to remain connected in transit. This is the age of mobile
and pervasive computing!
This book provides a focused look at important topics in Mobile and
Pervasive Computing. Although the underlying technology is essential,
we avoid being completely bound to it. Technology will change and
evolve, and in fact has changed even during the course of writing this
book. Data rates increase. Protocols evolve. More efficient algorithms are
created. But the underlying techniques, the essentials of how computers
share, protect, and use data in an environment in which the location is
not fixed, remain relatively stable. ‘I'his book is intended to address
these fundamental points, the ones that continue to be significant long
after this book is published.
Audience
This book has been designed for two audiences. The first group con-
tains professionals seeking to get a solid understanding of mobile
computing—the problems and solutions, the protocols, and the appli-
cations. The second group comprises students in a senior-undergraduate
or graduate-level course. To help the second group, Appendix B con-
tains both short questions, to help review the chapters, and longer ques-
tions and project ideas that instructors may select as starting points for
lab assignments or for further research.
Book Organization
Conceptually, the book is organized into four parts:
Part One, which comprises the first four chapters, covers issues
related to mobile and pervasive computing applications. This includes
not only disseminating and caching data, but also routing and loca-
tion management to determine where to send data in the first place.
Context aware computing is the final chapter of the first part.
Part Two, which comprises Chapters 5 to 7, focuses on middleware,
the layer that bridges mobile computing applications to the underly-
ing systems that support this mobility. Middleware topics include
agents and service discovery, as well as techniques and methods.
Part Three, which comprises Chapters 8 to 11, covers an important
enabling networking technology for pervasive computing: adhoc and
wireless sensor networks. Adhoc networks form when needed, on-the-
fly, without central management or infrastructure. Wireless sensors
record some type of data, such as temperature and humidity, and
form an adhoc network to efficiently disseminate these readings.Preface — xvii
Part Three discusses the applications, problems, approaches, and
protocols for wireless sensor networking.
Part Four, which comprises Chapters 12 to 17, covers security in
wireless environments. After describing common security problems,
these chapters discuss how security is handled in personal, local, met-
ropolitan, and wide area networks, as well as current research work
and future trends.
How to Use This Book
Since this book provides the coverage of almost all the important aspects
of mobile and pervasive computing, it can be used in several ways. Two
of the authors have used this book in semester-long courses. Since each
part of the book is almost self-contained, an instructor can easily select
the parts most suitable for his or her course, permitting the book to be
used in quarter-long courses or even short introductory courses. The
book provides two appendices to assist in teaching this course. Appendix
A provides a brief introduction to wireless communication and net-
working that can be used by instructors to quickly cover the essentials
of wireless communication and networking. Appendix B provides ques-
tions for each chapter of the book. These questions can be used by an
instructor to encourage students to further explore the topics covered
in this book.Acknowledgments
Over the entire process of the development of this book, many people
have helped us; without them, this book would not have been possible.
First we thank the many people who reviewed drafts of this book:
John Bodily, Michel Gertraide, Manish Kochhal, Fernando Martincic,
John Quintero, Georgios Varsamapoulos, and Yong Xi.
We are grateful to the National Science Foundation (NSF) and the
Center for Embedded Networking Technologies (CEINT) for supporting
our research in the areas related to this book.
We thank our employers, the Arizona State University, the University
of New Orleans, the Wayne State University, and the Odyssey Research
Associates/ATC-NY, for providing the working environment that made
this book possible. We also thank the Ohio State University, where all
of us obtained our doctoral degrees, and the Buckeye Spirit. Go Bucks,
Go!
Our heartfelt thanks go to our original sponsoring editor Marjorie
Spencer; our editor Steve Chapman, who provided the needed level of
support and encouragement to see this book through from conception
to completion; Priyanka Negi, who oversaw the copyediting process;
and the entire crew of McGraw-Hill.
Last but not least, we thank our family members and friends who
accepted the time away from them spent writing this book. Without
their support, this book could never have been finished.Chapter
Mobile Adaptive Computing
1.1 What ts Mobile Computing?
What is mobile computing? What are its different aspects? Basically,
mobile computing systems are distributed systems with a network to
communicate between different machines. Wireless communication is
needed to enable mobility of communicating devices. Several types of
wireless networks are in use currently, and many books have been
devoted to mobile communication. In this book we cover only the basic
aspects of mobile communication. However, this book is not devoted to
wireless communication and networks. Readers not familiar with wire-
less communication and networking can refer to Appendix A for a short
description. In this book, we are concerned mostly with the logical
aspects of mobile communication.
What is the difference between mobile computing and mobile commu-
nication? Communication is necessary for distributed computing. Many
mobile computing tasks require mobile communication. But that is not
the end of it. Mobile communication does not solve all the problems. As
we will see in this book, many issues need to be resolved from a higher-
level perspective than just being able to exchange signals/packets.
What interests us the most about mobile computing is what we can
do with this new facility of mobile communication. What new applica-
tions can be enabled? Think about the applications we currently use.
Many of these applications do not adapt very well to our needs. For
example, suppose that we are browsing the World Wide Web and are
interested in going to an Italian restaurant for lunch. What information
will we get when we do a search for “Italian restaurant” through search
engines such as Google? Usually we get a lot of information that we do not
require. The search engines of today do not care about who is invoking2 Chapter One
the search or the location from where the search is being invoked. You
can type “Italian restaurant in Tempe” or “Italian restaurant near
Arizona State University.” You can make your query as specific as pos-
sible. But wouldn't it be nice if the applications were aware of your loca-
tion or, more generally, your context and if the response from the search
engine were ordered according to your context? Surely, such context
aware applications will make us more productive.
Let us consider another application, such as video streaming over the
Internet. Suppose that you are on the move, watching a movie. Wireless
communication is different from wired communication. When you have
a wire, you usually have a fixed bandwidth available to you and your
application. Once the application is started and the movie starts, you can
watch the movie at a good quality of service (QoS). (Currently, this is not
really true if streaming is done across the Internet. Nevertheless, it is
expected that this will become a reality in the near future.) In wireless
communication, however, the bandwidth is mostly shared among several
users in a dynamic fashion. This is to say that no dedicated bandwidth
is available. Even if your application can reserve certain wireless band-
width, the usable bandwidth fluctuates owing to the nature of the wire-
less medium. There are both short- and long-term fluctuations. The
question is, “How should the application respond to these fluctuations?”
One way that the application can respond is in a uniform manner, irre-
spective of what you are watching. The other approach is to respond
based on the type of movie you are watching. For example, suppose that
you are watching an action movie. The application can reduce the band-
width requirement by switching from full-color video to black and white
or by reducing the resolution. On the other hand, if you are watching an
interview of Bill Gates, the application may switch simply to audio
streaming. There are several important points to note here. These deci-
sions are based on the content of the video, and the decision making
may involve both the client and the server (the client needs to inform the
server that it no longer wants the video frames, only the audio).
In this chapter we will reexamine computer (software) system design
to see how it needs to be changed to accommodate mobility. As we will
see, many of the changes are concerned with providing mechanisms for
adapting to changing environmental and system conditions, such as
the location and the available resources. Mobile computing is about pro-
viding information anytime anywhere or, more generally, computing
anytime and anywhere.
Mobile computing is also about dealing with limitations of mobile
computing devices. For example, personal digital assistants (PDAs)
and laptops have small interfaces and are powered by batteries. One
of the major issues is how to do computation in an energy-efficient
manner. Battery technology is not advancing at the same pace asMobile Adaptive Computing 3
processor technology, so it is not expected that battery capacity will
double at a fixed rate, as is true about processor speeds, according to
Moore's law. One does not have to deal with these issues when design-
ing systems for stand-alone or distributed systems. One may have to deal
with issues of fault tolerance in distributed systems, such as server
crashes or network link failures. However, energy usually is not an
issue. In mobile systems, energy becomes a resource like processing
time or memory space. Therefore, one now has to design resource man-
agement techniques for energy, just as traditional operating systems
deal with process and memory management.
Different computers in a mobile computing environment may have dif-
ferent capabilities. Any collaborative activity between these devices needs
an underlying software entity to deal with the heterogeneity of these
devices. This software entity is called a middleware layer. A middleware
layer also may allow a mobile device and a wired device to interact. When
mobile clients move from one administrative domain to another, they
may want to know what new services are available.
How about security or privacy? Wireless communication takes place
over an “open” wire and is relatively easy to tap. It may seem that tradi-
tional techniques of cryptography can be used to secure wireless commu-
nication. However, the main problem is that these secure techniques are
designed for wired networks and are computation- and communication-
intensive. Attempts to reduce these overheads lead to security schemes that
are relatively easy to break. We will look into security schemes for mobile
networks in later chapters.
1.2 Adaptability—The Key to Mobile
Computing
Humans have evolved to be on the top of the food chain. It is probably unde-
niable that we have done so by being able to adapt quickly and effectively
to varying situations. It is only because of our ability to adapt that we can
be found from Arctic regions to the Sahara Desert. What are the techniques
by which we are able to adapt to such diverse environments? Can we
incorporate some of these techniques into our computing systems? Anyone
who has used computers seriously would like them to be more resilient and
adaptive to our needs and circumstances. Computing systems and appli-
cations fail for various reasons. What is most frustrating is when they fail
for no apparent reason. You install a new application, and some other
apparently unrelated application stops functioning. And sometimes we just
want our computers to learn from our past actions and act proactively and
appropriately. Making systems resilient and adaptive is not a trivial task.
It took us millions of years to rise to the top of the food chain. Computers
as we know them today are not even a hundred years old.4 Chapter One
The vision of mobile computing is to be able to roam seamlessly with
your computing devices while continuing to perform computing and
communication tasks uninterrupted. Many technological advances at
various fronts such as security, privacy, resource allocation, charging,
and billing have to be made to make this feasible. A quintessential
characteristic of any solution to mobile computing problems is its abil-
ity to adapt to dynamic changes in computing and communication envi-
ronments. A system's agility to react to changes in the computing
environment and continue its computing tasks uninterrupted is a new
measure of performance in mobile computing environments.
Consider a scenario in which you move from one coverage area of an
access point to another while a video streaming application is running
on your computer. To continue receiving the video stream uninterrupted
and without deterioration in video quality, the video stream packets
now should be routed automatically through the new access point. In an
Internet Protocol (IP)—based network this may involve the mobile client
obtaining a new IP address in the new access point’s IP network and
informing the server of the new address so that it can now send the pack-
ets to the new address. Many more sophisticated solutions to this prob-
lem have been developed. The point here is that the underlying system
has to take many actions automatically to ensure continued connectiv-
ity, in this case uninterrupted viewing of the video stream. In essence,
the system has to adapt to the changes in the environment, such as the
network configuration and the availability of communication and com-
putation resources and services. However, is this enough? More specif-
ically, the preceding adaptation scheme does not take into account the
applications requirements, and the applications themselves did not play
any part in the adaptation. Does this application-transparent way of
adapting suffice to meet the goals of mobile computing?
1.2.1. Transparency
Transparency is the ability of a system to hide some characteristics of
its underlying implementation from users. Much of the research effort
in distributed computing has been devoted to developing mechanisms
for providing various forms of transparency. Examples of these include
the following:
® Access transparency is the ability of a system to hide the differences
in data representation on various machines and the mode of access of
a particular resource.
= Location transparency is the ability of a system to conceal the loca-
tion of a resource. Related to location transparency are name trans-
parency (which ensures that the name of a resource does not revealMobile Adaptive Computing 5
any hints as to the physical location of the resource) and user mobil-
ity (which ensures that no matter which machine a user is logged
onto, she should be able to access resources with the same name).
= Failure transparency is the ability of the system to hide failure and
recovery of a system component.
Mobile computing systems can be viewed as a form of distributed
system, and attempts can be made to provide “mobility transparency,”
which would encompass the transparencies just mentioned. This would,
in essence, support application-transparent adaptation. But is this an
achievable, or even desirable, goal for building mobile computing sys-
tems and applications? Let us look closely at the characteristics of the
mobile computing environment and their implications in these regards.
1.2.2. Constraints of mobile computing
environments:
Mobile computing has many constraints that distinguish a mobile com-
puting environment (MCE) from the traditional desktop workstation/
PC-based distributed computing environment. Notable among these
are the following (Satyanarayanan, 1996a, 1996b):
1. Mobile computers can be expected to be more resource-poor than their
static counterparts. With the continued rapid improvement of hard-
ware technology, in accordance with Moore's law, it is almost certain that
a laptop computer purchased today is more powerful that the desktop
computer purchased just a year or even a few months ago. However,
mobile computers require a source of electrical energy, which is usually
provided by battery packs. Since batteries store a finite amount of
energy, they need to be replaced or recharged. The first option costs
money, and the second option, although cheaper in terms of money
expended, requires plugging in the computer for recharging, restrict- ~
ing mobility. This has an impact on the design of mobile computers—
all the hardware and software components in mobile computers
are designed to reduce energy consumption and to increase the life-
time of the batteries, For example, processors on mobile computers are
designed to consume less energy and, consequently, achieve a lower
computation performance.
2. Mobile computers are less secure and reliable. Since mobile computers
accompany their users everywhere, they are much more likely to be lost
or stolen. Furthermore, they are more likely to be subjected to hostile
or unfriendly use, e.g., a child throwing his daddy’s PDAin a tantrum.
3. Mobile connectivity can be highly variable in terms of its perform-
ance (bandwidth and latency) and reliability. Disconnections, both6 Chapter One
Acoourcarpaar More reliance on
boo Infrastructure
Less secure ‘e
26
Mobile Dynamic changes fs
computing environment in environment &s
Intermittent connectivity °
|__| Less reliance
Eneray-constrained on infrastructure
Figure 1.1. Need for dynamic adaptation in mobile computing environments.
voluntary and involuntary, are common. The link bandwidth can
vary by orders of magnitude over time and space.
Thus, in general, resource availability and quality vary dynamically.
The preceding characteristics of a mobile computing environment
require rethinking about.how mobile applications and systems should
be designed. Resource paucity and the lower reliability of mobile devices
point toward designing systems in such a manner that more reliance is
placed on the static infrastructure. On the other hand, the possibility
of disconnections and poor connectivity point toward making systems
less reliant on the static infrastructure. Further, as mobile devices are
moved around (or even if they are not), their situations keep changing
over time. Mobile devices should change their behavior to be either
more or less reliant on static infrastructure depending on current con-
ditions. Figure 1.1 illustrates this need for dynamic adaptation in a
mobile computing environment.
1.2.3. Application-aware adeptation
Who should be responsible for adaptation—the application, the system,
or both? There are two extreme approaches to designing adaptive sys-
tems: application-transparent (the system is fully responsible for adap-
tation) and laissez-faire (the system provides no support at all)
(Satyanarayanan, 1996a). Obviously, the laissez-faire approach is not
desirable because it puts too much burden on the application developer.
Further, no support from the underlying system restricts the types of
adaptations that can be performed. However, as the following example
points out, the application-transparent approach is not sufficient either.
Consider two different multimedia applications. In one you are video-
conferencing using a mobile device, and in the other you are watching
a live video stream from a remote server on your mobile device. Now con-
sider the following scenarios. In one, you move from an area with suf-
ficient bandwidth for your application to an area where the amount ofMobile Adaptive Computing 7
bandwidth is less than that needed by your application. In the other,
your laptop’s battery power level drops considerably. Both scenarios
deal with changes in availability of resources. How would you like your
system/application to behave under each scenario?
In the application (user)-transparent approach, the system/applica-
tion may behave the same irrespective of the application running.
However, different responses may be suitable depending on the type of
application that is running. For example, in the first scenario, a non-
adaptive system may just do nothing and let the audio/video quality
drop. In the second scenario, the system may just give a warning to the
user without any assistance on how to deal with the situation. In an
adaptive system, various behaviors can be envisioned. For example, the
system may try to do its best in both situations. However, the system’s
adaptation does not take into account the kind of application that is run-
ning. For example, in the first scenario, the system may try to adapt by
requesting that the server or other peers start to send lower-quality
video, in effect requiring lower bandwidth. In the second scenario, the
system may try to conserve energy by reducing the intensity of the back-
light of the display (besides warning the user of the lower battery power
level). A still more adaptive approach is possible in which the system
interacts with the user/application in deciding how to adapt.
In the application-transparent approach, the responsibility of adap-
tation lies solely with the underlying system. On the other hand, in the
application-aware approach, the application collaborates with the under-
lying system software. Here the system provides status information
about the available resources. The application uses this information to
make decisions on how to adapt to changes in the resource availability.
Each application can adapt in its own way. Figure 1.2 illustrates the spec-
trum of adaptation strategies that are possible (Satyanarayanan, 1996a).
Application-aware
(Collaboration between system and application)
T
Laissez-faire Application-transparent
(no system support) (no changes to.
application)
Figure 1.2 The spectrum of adaptation strategies (Satyanarayanan, 1996a).