49
Lecture 1: Two Decades of Mobile Computing: Challenges and Achievements Cristian Borcea Department of Computer Science NJIT

Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Lecture 1: Two Decades of Mobile Computing: Challenges and Achievements

Cristian Borcea

Department of Computer Science

NJIT

Page 2: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 3: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Founded in 1881

Public (state) university

~9,000 students

▪ ~1,500 in computing sciences

Located in Newark, NJ

~10 miles from Manhattan 3

Page 4: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 5: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 6: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 7: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 8: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Introduction

Nomadic computing

Mobile IP

Wireless TCP

Mobile ad hoc networks

Context-aware mobile computing

8

Page 9: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 10: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 11: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 12: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 13: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 14: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 15: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Introduction

Nomadic computing

Mobile IP

Wireless TCP

Mobile ad hoc networks

Context-aware mobile computing

15

Page 16: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 17: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 18: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 19: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 20: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 21: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 22: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 23: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Introduction

Nomadic computing

Mobile IP

Wireless TCP

Mobile ad hoc networks

Context-aware mobile computing

23

Page 24: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 25: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 26: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 27: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 28: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 29: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 30: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 31: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Introduction

Nomadic computing

Mobile IP

Wireless TCP

Mobile ad hoc networks

Context-aware mobile computing

31

Page 32: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 33: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 34: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 35: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 36: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 37: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 38: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 39: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 40: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 41: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

Introduction

Nomadic computing

Mobile IP

Wireless TCP

Mobile ad hoc networks

Context-aware mobile computing

41

Page 42: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 43: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 44: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 45: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 46: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 48: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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

Page 49: Lecture 1: Two Decades of Mobile Computing: …E.g., Cubic TCP which runs on Android phones, TCP Westwood, etc. Improve congestion control algorithm for high bandwidth-delay product

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