21
Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project Oxygen DARPA Ubiquitous Computing Meeting January 22, 2002

Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Embed Size (px)

DESCRIPTION

Instead, what if… Harry wakes up in the morning later than he should have. He has a 7am flight to catch. He starts downloading huge ppt files and his while he gets ready. He’s ready to leave but the download isn’t complete. He suspends this and decides to resume it later He reaches the airport and has a few minutes to spare. He resumes his long download. Despite the new network and disconnection in-between, it continues from where it left off. He reaches DC and makes his meeting on time, but he still has to work on his slides. He gets a network connection and resumes the download task. Thankfully, his files are in a globally distributed file system and his software finds a nearby set of servers to continue from 2 minutes later, he’s ready to start on pulling today’s talk together. He has 78 minutes left to do this in. Piece of cake! To get a good overview of all the stuff he should talk about, he really would like to print some slides. His location-aware resource discovery system finds an accessible nearby printer and he’s all set

Citation preview

Page 1: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Nomadic Information Access

Hari BalakrishnanS. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students

MIT Project Oxygen

DARPA Ubiquitous Computing MeetingJanuary 22, 2002

Page 2: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Imagine this…• Harry wakes up in the morning later than he should have. He has a 7am

flight to catch.• He starts downloading huge ppt files and his email while he gets ready.

He’s ready to leave but the download isn’t complete. Cursing, he aborts it and decides to deal with it in DC.

• He reaches the airport and has a few minutes to spare. He starts to download things again. Same problem.

• He reaches DC and makes his meeting on time, but he still has to work on his slides. He gets a network connection and starts the painful download. His connection to his office server is reeeeeeallly slow.

• An hour later, he’s finally ready to start on pulling today’s talk together. He only has 20 minutes left to do this in.

• To get a good overview of all the stuff he should talk about, he really would like to print some slides. Oops…

• Harry gives a lousy talk

Page 3: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Instead, what if…• Harry wakes up in the morning later than he should have. He has a 7am flight to

catch.• He starts downloading huge ppt files and his email while he gets ready. He’s

ready to leave but the download isn’t complete. He suspends this and decides to resume it later

• He reaches the airport and has a few minutes to spare. He resumes his long download. Despite the new network and disconnection in-between, it continues from where it left off.

• He reaches DC and makes his meeting on time, but he still has to work on his slides. He gets a network connection and resumes the download task. Thankfully, his files are in a globally distributed file system and his software finds a nearby set of servers to continue from

• 2 minutes later, he’s ready to start on pulling today’s talk together. He has 78 minutes left to do this in. Piece of cake!

• To get a good overview of all the stuff he should talk about, he really would like to print some slides. His location-aware resource discovery system finds an accessible nearby printer and he’s all set

Page 4: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Nomadic System Architecture

Seamless end-to-end sessions: Migrate

Global file access: CFS Global resource discovery: INSScalable decentralized lookups: Chord

Context-awareNomadic applications

Location-awareness:Cricket

Networked sensors/actuatorsAd hoc network integration

E21 information

Suspend-resume capability for nomadic applications

Energy-efficientprotocols

Secure cooperative file system

Findingby intent

Internet-scale hashing abstraction

“Indoor GPS”within few cms

Generic API

Page 5: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Migrate: Towards End-to-end Mobility (Alex Snoeren’s dissertation)

Naming Service(Dynamic DNS)

Mobile Hostfoo.bar.edu

Location Query(DNS Lookup)

Session Initiation

xxx.xxx.xxx.xxx

CorrespondentHost

Location Update(DNS Update)

Session Migrationvia continuation

yyy.yyy.yyy.yyy

Page 6: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Migrate Functions

• Locate the mobile host or service• Preserve communication across movement

– Support changes in network attachment– Choose best network amongst available choices

• Expect and support disconnection– Gracefully detect lack of connectivity– Conserve resources during disconnection– Reconnect quickly and efficiently

• Key idea: Notion of sessions to preserve application connectivity across suspensions– Migrating TCP connections across changes in IP is an important

optimization (solves long-standing open issue in TCP design)

Page 7: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Session Continuations: A New Abstraction for Nomadic Access

1. Initialization– At beginning of session, exchange information for

subsequent migration (crypto token exchange)2. Disconnection

– Identify critical state (a “session continuation”)– Package and store– Suspend applications

3. Resumption– Resynchronize transport, session, and application state– Security achieved by presenting token negotiated in #1– Restart session

A session continuation encapsulates stateExports migration-awareness API for application adaptation

Interfaces with connectivity monitor and policy module

Page 8: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

CFS: Cooperative File System

• Highly available using aggressive replication• Provides robustness under failures

– No central server; handles joins and leaves robustly• Incremental scaling with new servers• Harnesses server resources, cooperatively• Provides authentic and secure file access

Server

Server

Server Server

Internet

Server( & client)

Page 9: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

CFS Architecture Layers

995:ID=901ID=732Signature

File System ID=995 (public key)

732:…

901:“a.txt” ID=144 144:

ID=431ID=795

795:…

431:…

(root block) (directory blocks)(i-node block)

(data)File

System

InternetNode A

Node C

Node B

995:ID=901ID=732Signature

Block732

247:ID=407ID=992ID=705Signature

Block407

Block705

DHash

Chord: Maps keys to nodes (e.g., CFS ID’s)

Page 10: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Chord: Internet-Scale Hash Tables

N32

N10

N5

N20

N110

N99

N80

N60

CircularID Space

• Chord maps ID’s to “successor”• Nodes and blocks have 160-bit ID’s

• Successor: Node with next highest ID

Stores block IDs 21..32

Block IDs 33..60

Page 11: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Basic lookup

N32

N90

N105

N60

N10N120

K80

“Where is key 80?”

“N90 has K80”

Successor pointer

Page 12: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

“Finger table” allows log(N)-time lookups

N80

½¼

1/8

1/161/321/641/128finger[k] points to

successor (n + 2k)log(n) fingers in all

R = log(n) immediate Successors for robustness

Stabilization methods for concurrency

Page 13: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

RON/CFS Deployment

CA-T1CCIArosUtah

CMU

To vu.nlLulea.se

MITMA-CableCisco

Cornell

NYU

OR-DSL

~20 RON nodes running CFS servers in 4 continentsMany different Autonomous Systems

KAIST, KoreaVenezuelaMSR, UK

Page 14: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Robustness Against Failures

Faile

d Lo

okup

s (Fr

actio

n)

Failed Nodes (Fraction)

1000 CFS serversAverage of 5 runsRun before stabilization All failures due to replica failing

50% of nodes disappear but only less than 1.6% of lookups fail

Page 15: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

INS: Nomadic Resource Discovery

[service = printer][building = schafer

[room = *]]

Intentional name

Late binding: integrate resolution and message routing

Lookup

[email protected]

Resolver self-configuration

Intentional name resolvers form an overlay network

Uses Chord as underlying hash lookupfor scalability

[service = printer][building = schafer

[room = 405]]

Intentional name

Page 16: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Beacons onceiling

B

SPACE=NE43-510 ID=34COORD=146 272 0MOREINFO= http://cricket.lcs.mit.edu/

Obtain linear distance estimates: RF + ultrasoundPick nearest to infer “space”Solve for mobile’s (x, y, z)Determine w.r.t. each beacon and deduce orientation vector

Mobile deviceMobile deviceCricketlistener

Cricket: Toward Location-Awareness

Page 17: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Cricket Architecture

Beacon

Listener

No central beacon control or location databasePassive listeners + active beacons preserves privacyStraightforward deployment and programmability

info = “a1”

info = “a2”

Estimate distancesto infer location

Page 18: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

• A beacon transmits an RF and an ultrasonic signal simultaneously– RF carries location data, ultrasound is a narrow

pulse

• The listener measures the time gap between the receipt of RF and ultrasonic signals– A time gap of x ms roughly corresponds to a

distance of x feet from beacon– Velocity of ultrasound << velocity of RF

Determining Distance

RF data(space name)

Beacon

Listener

Ultrasound(pulse)

Page 19: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Ultrasonicsensor

RF antenna

Ultrasonicsensor

RF module (rcv)

Atmelprocessor

Listener Beacon

RF module (xmit)

RS232i/f

Cricket v1 Prototype

Host software libraries in Java; Linux daemon (in C) for Oxygen BackPaq handhelds

Several apps…

Page 20: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Synergies

Seamless end-to-end sessions: Migrate

Global file access: CFS Global resource discovery: INSScalable decentralized lookups: Chord

Context-awareNomadic applications

Location-awareness:Cricket

Networked sensors/actuatorsAd hoc network integration

E21 information

Suspend-resume capability for nomadic applications

Energy-efficientprotocols

Secure cooperative file system

Findingby intent

Internet-scale hashing abstraction

“Indoor GPS”within few cms

“Coda” for network applicationsData staging (Aura)

Oceanstore

Philips, Nokia, Intel,Duke, (recently) UW

CAN, Pastry,Tapestry

SDS, …

Page 21: Nomadic Information Access Hari Balakrishnan S. Devadas, F. Kaashoek, D. Karger, R. Morris, K. Steele, I. Stoica, S. Teller & Several Students MIT Project

Summary

• Several new technologies for context-aware nomadic applications– Migrate, Chord, CFS, INS, Cricket, energy-efficient protocols,

sensor/device integration• Fundamental new abstractions

– Session continuations, cooperative overlays, distributed hash tables, intentional naming, late binding

• Public-domain prototypes and several papers– Some technologies being used outside of Oxygen

• What next?– Robust integration of context into application workflow– Software system architecture for embedded + human-centric systems– Dealing with scale and unreliable components– Handling challenging privacy and security issues