supporting rapid mobility via locality in an overlay network ben y. zhao anthony d. joseph john d....

27
Supporting Rapid Mobility via Locality in an Overlay Network Ben Y. Zhao Anthony D. Joseph John D. Kubiatowicz Sahara / OceanStore Joint Session June 10, 2002

Post on 20-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Supporting Rapid Mobility via Locality in an Overlay Network

Ben Y. Zhao

Anthony D. Joseph

John D. Kubiatowicz

Sahara / OceanStoreJoint SessionJune 10, 2002

June 10, [email protected]

Ubiquitous Computing to the Edge

Trends– Network infrastructure growing fast (802.11b, 3G)– Edge devices getting smaller, more powerful– Edge devices increasing in storage capacity

Legacy mobility support not enough– Mobile IP focused on single roaming nodes– # of mobile devices reaching critical mass

E.g. ~400 million Cellphones, PDAs Sheer volume can overwhelm mobility infrastructure

– Devices need object location support for P2P applications (IM, file sharing, directory services)

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Pushing the Limits of Mobility

What is the next step? Scenario I

– UCB Professor roaming to MIT, directing streaming media to his laptop, participating in video-conference

– Need: persistent connection with low latency delivery, and fast handover between proxies

Scenario II– Morning ride on BART, 100-1000 wired commuters

switching from proxy to proxy in tandem– Need: scalable solution to proxy handover for large

mobile groups (tourist groups, airplane passengers, etc…)

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Legacy Mobility Support

Mobile IP review– Mobile Host (MH), Correspondent Host (CH)

Home Agent (HA), Foreign Agent (FA)– Path: CH HA FA MH

Issues– Triangle routing (High RDP)– More fault-prone– Higher BW

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

What Do We Need and Why?

Mobile IP weakness: triangle routing– High latency for messages and location updates– Messages / updates incur high costs in wide-area– Messages / updates susceptible to wide-area routing failures

Key insight: scalability via locality-awareness– Client requests result in load on overall network – Dampen / confine the impact of network operations:

reduce wide-area storage / communication costs, faults– In practice: minimize routing and update latency by localizing

communication

Strategy:– Leverage locality-aware overlay infrastructure: Tapestry

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Tapestry Review

Decentralized object location and routing overlay– Related to approach in PRR97– Related projects: Pastry, Chord, CAN, Kademlia

Routing infrastructure based on prefix routing– Route to nearest node increasing prefix match by 1

AA93 4A6D 4361 437A 4378

Locality-aware design:– Proximity routing: local traffic confined to local network– Object location: replicate Log(N) pointers to object, place

disproportionate more replicates near object– Result: RDP of routing to node is small

Finds closest copy of object with low RDP

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Object Location and Routing

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Mobile Tapestry

Intro Algorithms Evaluation Conclusion

Reduce mobility problem to object location

Register (MN) = Proxy “publish” object MN with reverse forwarding path

Routing to MN = Find object MN + forward by proxy

No HA, no FA, no triangle routingThe Internet is your home network!

June 10, [email protected]

Registration and Routing

Mobile node mn registers with nearby proxy P

RegisterMsg R publishes object named mn atnode P

Nodes store locationmapping <mn, P>

Message for mn routesto P, then to mn

Object location locality distance traveled by message proportional to actual distance between CH and P

B

R(mn)

A

mn

P1

P2

CH

RegisterMsg

Message to mn

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Location Updates

mn moves from P1 to P2sends ProxyHandoverMsg U

mn sets up forward link fromP1 to P2

Update message U routesup until intersects old route at B

U backtracks to P1 to delete old references

Message M forwardedas RouteObjMsg toproxy P2, then to mn

Routing locality distance traveled by update “proportional” to distance between proxies

B

R(mn)

A

mn

P1

P2

CH

UpdateMsg

Message to mn

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Mobile Objects

Extending object location to mobile nodes– Access data on roaming devices

Mobile object location– Extra step of indirection

CH routes message to mobile object MO– Route msg to MO, find <MO, MN>– Route msg to mobile address MN, find <MN, P>– Route msg to proxy P, then forward

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Mobile Objects

P

B

R(mn) R(mo)

<mo, mn>

CH

A

location updateforwarding pointer

mn

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Hierarchical Mobility

Scenario: – Networked bullet train in motion– Carrying passengers with 1000 networked devices

Train server is node in mobile Tapestry– Server registers with nearby proxies Px as node S

– Each proxy Px updates location of S

Each mobile device registers with train as MDi

– Server publishes MDi as local object<MDi, S> for all i

CH sends message to a device– Message routes to Di, finds mapping for S

– Message routes towards S, routes to P, then S, then Di.

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Hierarchical Mobility

bullet train S

md1 md2 md3

md4 md5

P2 P1

B

R(S) R(md1)

<md1, S>

CH

A

location updateforward pointer

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Levels of Type Indirection

Functionality enabled by multiple levels of indirection

Mobile node = object on static node (proxy)

Mobile object = object on mobile node

Mobile child = object on mobile node (proxy)

Potentially limitless levels of indirection for hierarchy of mobile devices

Proxy Node

Mobile Node

Mobile Child

Object onStatic Node

Object onMobile Node

Object onMobile Child

residing on

residing on

residing on

Indirection as

Indirection as

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

GUID Aliasing

Utilize redundancy for performance and stability Each node gets several aliases

– Generated by SHA-1(nodeID, int i) for (0 < i < 5)

Usage1. CH sends message to ALL aliases

MN receives first, drops duplicates

2. On initializing connection, CH sends message to ALL aliases. MN responds and indicates preferred alias.All subsequent communication uses chosen alias.

June 10, [email protected]

Simulation Framework

Packet level simulation– Simulation of network topologies

(5000 nodes, 4096 Tapestry nodes, 6 digit base 4 IDs for nodes / objects)

– No simulation of congestion or network-level traffic flow Experiments on GT-ITM topology

– Aggregated over 9 topologies– Each run over 3 random overlay placements

GUID aliasing– Initiate connection by using 3 parallel aliases– Quickly measure and pick alias for good performance

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

GUID Aliasing vs. Mobile IP

GUID Aliasing vs. Mobile IP

0

5

10

15

20

25

30

35

40

45

0 100 200 300 400 500 600

Shortest Path Latency from CH to MN (ms)

Lat

ency

RD

P

MIP Distant HA MIP Closeby HA Tapestry (2 GUIDs) Tapestry (5 GUIDs)

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Update Latency w/ Rapid Mobility

Update Latency under Rapid Mobility

0

200

400

600

800

1000

1200

1400

1600

1800

2000

0 100 200 300 400 500 600

Latency Between Proxies (ms)

Lo

cati

on

Up

dat

e L

aten

cy (

ms)

Distant Home Agent Nearby Home Agent 2 GUIDs 5 GUIDs

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Router Load vs. Mass Mobility

Maximum Router Load from Location Binding Updates

0

500

1000

1500

2000

2500

100 200 300 400 500 600 700 800 900 1000

# of Mobile Nodes Roaming at 1 Proxy/minute

Ma

x L

oa

d p

er

Ro

ute

r (M

sg

s/m

in)

Mobile IP Mobile Tapestry

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Summing It Up…

Intro Algorithms Evaluation Conclusion

Mobility via indirection– Mobile nodes register as “objects” in infrastructure– Messages to mobile node redirect through location pointer

Distinctions from ROAM: all based on locality-awareness Performance

– Tapestry routes with locality low RDP for routing (even with indirection), fast location updates

Extreme scalability– Localize traffic around shortest path, stabilize wide-area– Use multiple levels of indirection for hierarchical mobility

Fault-tolerance– Reduce susceptibility to wide-area faults by localizing wide-area

traffic

June 10, [email protected]

For More Information…

Intro Algorithms Evaluation Conclusion

Tapestry / Bayeux / Brocade– http://www.cs.berkeley.edu/~ravenben/tapestry– Locality-awareness Mechanisms for Large-scale Networks

Zhao, Joseph, Kubiatowicz. Proc. of FuDiCo 2002

OceanStore– http://oceanstore.cs.berkeley.edu

Other relevant material:– http://www.cs.berkeley.edu/~ravenben

June 10, [email protected]

Backup slides follow…

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

GUID Aliasing

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Towards Uniquitous Computing

Applications driving force– Leveraging resources on a global scale– Storage: file sharing, multimedia Rio, I-Pod– Connectivity: decentralized communication AIM/ICQ

How close are we?– Networking, Hardware scaling down, HCI,

management, … Some issues getting closer with time

– Devices decreasing in size – Increasing in power (Moore’s law)– Network connectivity expanding

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Ongoing Issues I

Enabling edge devices– Less resources– Disconnected / mobile operation

Need infrastructure support

Intro Algorithms Evaluation Conclusion

June 10, [email protected]

Ongoing Issues II

Extending scale– Network increasing in size and complexity– Faults, misconfiguration, flash-crowds result in loss of

availability

Intro Algorithms Evaluation Conclusion