Lecture 1: Two Decades of Mobile Computing: Challenges and Achievements Cristian Borcea Department of Computer Science NJIT
Lecture 1: Two Decades of Mobile Computing: Challenges and Achievements
Cristian Borcea
Department of Computer Science
NJIT
Associate Professor of Computer Science @ New
Jersey Institute of Technology (NJIT)
Ph.D. from Rutgers University, NJ, USA
B.Sc. from University Politehnica Bucharest, Romania
http://www.cs.njit.edu/~borcea
Research: mobile & ubiquitous computing; ad hoc &
sensor networks; distributed systems
Teaching: Computer networks; Mobile computing
and sensor networks; Cloud computing
Will be at NII until 30 November 2011 2
Founded in 1881
Public (state) university
~9,000 students
▪ ~1,500 in computing sciences
Located in Newark, NJ
~10 miles from Manhattan 3
Smart phones: the first truly ubiquitous mobile devices
Always with us, Internet-enabled, location-aware
Expected number: 2 billions by 2015
Applications: email, web, location-based services, augmented reality, etc.
4
Internet Services
5
Computing, communication, and sensing anytime, anywhere
5-10 Billion sensors by 2020
Large scale vehicular network tests under way (1000s of cars) ▪ May become standard technology by 2020
Significant number of mobile robots; autonomous?
Smart phones, cars, robots will have lots of sensors
Wireless systems cooperate to achieve distributed tasks
Objective: broad view of state-of-the-art and future trends in mobile computing
Lectures 1. Two decades of mobile computing: challenges and
achievements
2. Infrastructure support for mobility
3. Mobile social computing
4. People-centric sensing
5. Programming mobile ad hoc networks
6. Vehicular computing and networking
7. Privacy and security in mobile computing
6
While the vast majority of the lecture slides are
mine, occasionally I borrow:
Slides from the authors of referenced papers
Figures from public sources on the Internet
7
Introduction
Nomadic computing
Mobile IP
Wireless TCP
Mobile ad hoc networks
Context-aware mobile computing
8
Client-server architectures Users access data stored on servers
Storage space on mobile devices is insufficient to hold all data the users may need ▪ Data could also be shared with other users
Users may be disconnected for long periods Early 90’s: wireless coverage and bandwidth very limited,
wireless access expensive How to provide users access to data they need
during disconnections? How to deal with multiple users accessing the same
data in disconnected mode? 9
Caching exploited to improve availability Clients maintain [second class] replicas
Servers maintain [first class] replicas
Cache coherence protocol between clients and servers
Unit of caching: whole files
10
Normal access & Hoarding
Reintegration & normal access
Disconnected operation
Clients use hoarding (prefetching) to provide file access during disconnection Relies on priority hoard database: most recently-used
files and user-specified files While disconnected, create and maintain replay log Log contains system calls applied on files & file versions
Reintegration attempts to apply the operations in replay log at the server replicas (cache coherence) If conflict detected (e.g., client wrote outdated version
of file), it‘s up to the user to decide what to do Coda works reasonably well when there are few
concurrent writes
11
Allows mobile users to read/write local replica of shared data at any time Mobiles hold complete replicas
Writes are tentative until replicas are reconciled
▪ Applications aware of this weak consistency model Pair-wise anti-entropy protocol for replica
reconciliation ▪ Mobiles will reach eventual consistency as they connect
to each other (epidemic-style protocol)
▪ Writes performed in the same order at all mobiles ▪ Not necessarily the real-time order
12
Consider a shared calendar application for room R1
13
T1: U1, R1: 2-4pm T2: U2, R1: 10-11am T0: U3, R1: 1-3pm OR U3, R1: 4-6pm
U2, R1: 10-11am U1, R1: 2-4pm
U2, R1: 10-11am U1, R1: 2-4pm
U2, R1: 10-11am U1, R1: 2-4pm U3, R1: 4-6pm
U2, R1: 10-11am U1, R1: 2-4pm U3, R1: 4-6pm
U2, R1: 10-11am U1, R1: 2-4pm U3, R1: 4-6pm
Yes, but not in the context they were proposed
Long disconnection periods – a thing of the past
Since mobile devices have lots of storage,
hoarding/prefetching can improve
Privacy: execute privacy-sensitive queries (e.g., location-
based) on the mobile
Performance: don’t wait for large data transfers
Weak-consistency makes sense in delay/disruption
tolerant networking (DTN)
14
Introduction
Nomadic computing
Mobile IP
Wireless TCP
Mobile ad hoc networks
Context-aware mobile computing
15
Goal: maintain TCP connections/UDP sessions when
users are handed over from one coverage area to
another
Problem: the IP address associated with a mobile
host is network dependent
When the user connects to another network, the IP
address changes
Packets belonging to ongoing connections need to be
delivered to the new IP address!
16
Analogy with moving
from one apartment
to another
Leave a forwarding
address with old post-
office
Old post-office
forwards mail to new
post-office, which then
forwards it to us
17
Corresponding Host (CH)
Mobile Host (MH)
Foreign Agent (FA)
Home Agent (HA)
Traditional triangular routing in Mobile IP
MH registers with HA the new address
Called CoA (care-of-address)
HA captures packets meant for MH and forwards
them to FA, which then delivers them to MH
HA forwards packets addressed to MH using IP-in-IP
encapsulation
▪ The destination in the additional IP header is CoA
18
MH uses its home IP address as source address
CH is unaware of Mobile IP
Security-conscious boundary routers will drop this packet
1. Packet coming from inside network, but source IP address does not belong inside network
2. Packet coming from outside network, but source IP address does not belong outside network 19
Home network Foreign network
1 2 CH
MH
MH encapsulates original packets and sends them to HA, which then decapsulates them and forwards them to CH
Provide “safe” route through HA both ways
The slowest and most conservative option
Known as quadrilateral routing 20
Home network Foreign network
CH MH HA
Source = CoA Destination = HA
Mobile IP isn’t deployed widely in real world
CISCO provides it in several routers
[Some] cellular companies use it for 3G handoff between
PDSNs (packet data serving nodes)
Why?
Security, overhead, HA is potential bottleneck
Many applications use short-lived connections (no real
need for Mobile IP)
21
Mobile IP will be deployed widely
In conjunction with IPv6
May be a different version from current one
Why?
Handoff between different types of wireless systems
(e.g., WiFi, cellular, WiMAX)
Long-term connections required by more applications
▪ E.g., VPN sessions, live streaming (UDP session), stubs
of mobile applications running in the Cloud
22
Introduction
Nomadic computing
Mobile IP
Wireless TCP
Mobile ad hoc networks
Context-aware mobile computing
23
No (from a performance point of view)
Unmodified TCP over wireless links results in
throughput degradation
Why?
Random and bursty packet losses due to handoffs and
high bit error rates on wireless links
In TCP, all packet losses are treated as signals of
network congestion
▪ Thus, the transmission rate is reduced multiplicatively
24
Use a “split-connection” approach Regular TCP between Fixed Host (FH) and Mobile
Source Router (MSR)
Wireless TCP between Mobile Host (MH) and MSR
Mobile Host
Base Station
Internet
Fixed Host
Split connection
Wireless TCP
Regular TCP
MSR
25
Good
Separates flow and congestion control of the wireless and wired link ▪ Wireless TCP may adapt differently to packet losses
▪ Wired connection minimally affected by wireless losses
Backward compatible to TCP (FH unaware of MSRs)
Bad
Violation of end-to-end semantics
MSR maintains state ▪ MSR failure causes connection loss
▪ Handoff latency increases due to state transfer
Unless optimized, extra copying of data at MSR 26
Built on top of Mobile IP
MSR acts as proxy to MH
Fakes an MH image and hands its state to a new MSR
during base station switches
I-TCP does not compromise end-to-end reliability
if there are no MSR failures and indefinite MH
disconnections
Well-suited for throughput intensive applications
27
Closely integrated with registration in Mobile IP Handoff starts when MH starts
the registration of new CoA with HA
Transfer of socket state by the I-TCP daemon to new MSR
Buffering of data segments in transit when handoff is in progress Avoid congestion control
28
I-TCP was the first in a series of TCP versions for wireless (e.g., M-TCP, Split TCP)
None of them deployed in real-world Why?
Split connections break the end-to-end semantics of TCP router failures may lead to broken connections
Many wireless losses hidden/avoided by lower layers ▪ E.g., WiFi uses RTS/CTS + ACK & rate adaptation
Slow handoff
Potential security issues when state is transferred across different administrative domains
29
If we evolve the current Internet architecture, we
will see only sender-side modifications
E.g., Cubic TCP which runs on Android phones, TCP
Westwood, etc.
▪ Improve congestion control algorithm for high bandwidth-delay
product
In a clean-slate Internet architecture, we may
end-up with segment-by-segment transport
Routers similar to MSR may help with handoffs, but also
run DTN routing and caching protocols
30
Introduction
Nomadic computing
Mobile IP
Wireless TCP
Mobile ad hoc networks
Context-aware mobile computing
31
Instantly deployable, re-configurable No base stations
Direct communication limited by radio transmission range
Created on-the-fly to satisfy a temporary need Every node is a potential router
▪ Multi-hop communication
Highly volatile Mobility, failures, resources at nodes
change over time
Nodes are functionally heterogeneous Nodes have limited battery power
32
Military and environmental monitoring
There is no available infrastructure in the region
Emergency situations when infrastructure is down
After a hurricane, earthquake, etc.
Make sense for smart phones and cars which may have Internet connectivity available all the time?
33
Scalability Cell operators have big scalability problems with the
advent of smart phones
▪ Both wireless and wired bandwidth
▪ Problem could be exacerbated by mobile sensing apps
Ad hoc networks reduce the load on the infrastructure Cost No need for potentially expensive data plans
Simpler systems & faster answers due to locality Many applications need data from around their current
position
34
Avoid “big brother” scenarios No centralized server to collect sensitive data
Data typically shared with devices located in proximity Hybrid solutions (cellular + ad hoc) may work best
in many situations
35
Vehicular network Control plane: cellular +
server ▪ Achieve global view
Data plane: WiFi ▪ Achieve scalability
Typically, reactive protocols perform best
Maintain routes only if needed (e.g., AODV, DSR)
3 phases
▪ Route discovery based on flooding
▪ Route reply unicasted by destination to source
▪ Route error unicasted to source when path broken
Hybrid solutions prove useful in certain situations
E.g., Reactive/Proactive + Location-aware in vehicular networks
What to do when networks are sparse and destinations unreachable?
36
3
S
D
1
2
4
5
6
7
8
9
10
11
12 13
14
16 15
Store and forward routing Next hop selection difficult if only one copy forwarded
Overhead and storage issues if multiple copies forwarded
37
38
Data Mobile base station (car or plane)
Data
Data
Store-and-forward communication
Data
Collar:
Tracking node with CPU, FLASH, radio and GPS
Data aggregation
Disseminate all tracking data to each node to enable simple data collection
MANETs used in military and disaster situations
DTN protocols probably used as backup
Large scale tests for vehicular networks under way
Will happen, but hybrid communication model is expected
MANETs work reasonably well for low throughput,
unreliable communication & short paths (<= 4 hops)
Capacity is very limited due to contention
TCP works poorly due to losses caused by mobility
Longer paths compound these problems
39
Don’t know of any production DTN Many prototypes/test-beds Inter-planetary communication
▪ It will happen as there is no alternative
Communication in remote areas in under-developed regions ▪ It’s a matter of time until it becomes irrelevant
Vehicles/UAVs/boats collect and disseminate information from/to sensors along their routes ▪ Useful for bridging the gap between Internet & sensor networks
Could be used in future Internet to communicate with disconnected users (email++ at network layer)
40
Introduction
Nomadic computing
Mobile IP
Wireless TCP
Mobile ad hoc networks
Context-aware mobile computing
41
Transparently switch between 3G and WiFi Delay tolerant applications take advantage of higher WiFi throughput
Same connection may use both, but not concurrently
42 Proxy
Yelp shows nearby points of interest & their reviews
Loopt shows nearby friends
Beatthetraffic shows traffic conditions in real-time
S
C
TJam predicts traffic jams ahead of driver
43
Ring/vibrate/silence phone based on current social
context and relationship with caller
Based on location, ad hoc communication to detect nearby
users, and social service to determine relationships 44
Social service
To save power, WiFi should be off when not needed If WiFi is off, how to receive incoming VoIP calls?
Internet
IP Phone Soft Phone
LAN
Access Point
SIP Proxy
Smart Phone
Wi - Fi interface
GSM interface Base Station
ATA
GSM Network
PSTN
Enterprise Network
Register GSM number
Incoming VoIP call
Disable Wi-Fi
Match VoIP to GSM number Call GSM number
Enable Wi-Fi
Complete call setup over Wi-Fi
ATA = Analog Telephony Adapter 45
Agreement: context is integral part of mobile computing
Location and energy are first-class citizens already
No agreement: the right level to deal with context
Application, middleware, operating system, network, all of them?
More and more sensors embedded in mobile devices and physical world
Lead to much richer context information, but privacy becomes an issue
AI techniques being developed to infer context 46
Nomadic computing http://www.coda.cs.cmu.edu/
http://www2.parc.com/csl/projects/bayou/ Mobile IP http://www.rfc-editor.org/rfc/rfc5944.txt (IPv4)
http://www.rfc-editor.org/rfc/rfc6275.txt (IPv6) Wireless TCP http://www.computer.org/portal/web/csdl/doi/10.1109/I
CDCS.1995.500012
http://www4.ncsu.edu/~rhee/export/bitcp/cubic-paper.pdf
47
MANET/DTN http://pdos.csail.mit.edu/papers/grid:mobicom01/paper.p
df
http://www.eecs.harvard.edu/~mdw/course/cs263/papers/holland-wn02.pdf
http://www.princeton.edu/~mrm/zebranet.html Context-aware mobile computing http://cs.njit.edu/~borcea/papers/ieee-tmc07.pdf
http://www.cs.umass.edu/~arunab/paper/wiffler.pdf
http://cs.njit.edu/~borcea/papers/middleware10.pdf
http://research.microsoft.com/en-us/projects/cell2notify/
48
1. Two decades of mobile computing
2. Infrastructure support for mobility
Internet suspend/resume
Mobility & the Cloud
Application offloading
Future Internet architectures
3. Mobile social computing
4. People-centric sensing
5. Programming mobile ad hoc networks
6. Vehicular computing and networking
7. Privacy and security in mobile computing
49