Title: Nomadic Information Access
1Nomadic 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
2Imagine 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. Hes ready to leave
but the download isnt 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, hes finally ready to start on
pulling todays 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 ?
3Instead, 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. Hes ready to leave
but the download isnt 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, hes ready to start on pulling
todays 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
hes all set
4Nomadic System Architecture
Indoor GPS within few cms Generic API
Networked sensors/actuators Ad hoc network
integration
Energy-efficient protocols
Location-awareness Cricket
E21 information
Context-aware Nomadic applications
Secure cooperative file system
Finding by intent
Global file access CFS
Global resource discovery INS
Internet-scale hashing abstraction
Scalable decentralized lookups Chord
Seamless end-to-end sessions Migrate
Suspend-resume capability for nomadic applications
5Migrate Towards End-to-end Mobility (Alex
Snoerens dissertation)
Correspondent Host
xxx.xxx.xxx.xxx
6Migrate 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)
7Session Continuations A New Abstraction for
Nomadic Access
- Initialization
- At beginning of session, exchange information for
subsequent migration (crypto token exchange) - Disconnection
- Identify critical state (a session
continuation) - Package and store
- Suspend applications
- Resumption
- Resynchronize transport, session, and application
state - Security achieved by presenting token negotiated
in 1 - Restart session
A session continuation encapsulates state Exports
migration-awareness API for application
adaptation Interfaces with connectivity monitor
and policy module
8CFS Cooperative File System
Server
Server ( client)
Server
Internet
Server
Server
- 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
9CFS Architecture Layers
File System ID995 (public key)
431
901 a.txt ID144
144 ID431 ID795
995 ID901 ID732 Signature
File System
(data)
732
795
(i-node block)
(directory blocks)
(root block)
Chord Maps keys to nodes (e.g., CFS IDs)
10Chord Internet-Scale Hash Tables
N5
N10
N110
N20
N99
Circular ID Space
N32
Stores block IDs 21..32
N80
N60
Block IDs 33..60
- Chord maps IDs to successor
- Nodes and blocks have 160-bit IDs
- Successor Node with next highest ID
11Basic lookup
N120
N10
Where is key 80?
N105
Successor pointer
N32
N90 has K80
N90
K80
N60
12Finger table allows log(N)-time lookups
½
¼
R log(n) immediate Successors for
robustness Stabilization methods for
concurrency
1/8
1/16
1/32
1/64
1/128
fingerk points to successor (n 2k) log(n)
fingers in all
N80
13RON/CFS Deployment
KAIST, Korea Venezuela MSR, UK
20 RON nodes running CFS servers in 4
continents Many different Autonomous Systems
14Robustness Against Failures
1000 CFS servers Average of 5 runs Run before
stabilization All failures due to replica
failing 50 of nodes disappear but only less
than 1.6 of lookups fail
Failed Lookups (Fraction)
Failed Nodes (Fraction)
15INS Nomadic Resource Discovery
schafer-printer_at_schafercorp.com
Lookup
Resolver self-configuration
- Intentional name resolvers
- form an overlay network
- Uses Chord as underlying hash lookup
- for scalability
Late binding integrate resolution and message
routing
16Cricket Toward Location-Awareness
B
Beacons on ceiling
SPACENE43-510 ID34 COORD146 272
0 MOREINFO http//cricket.lcs.mit.edu/
Cricket listener
Mobile device
Mobile device
Obtain linear distance estimates RF
ultrasound Pick nearest to infer space Solve
for mobiles (x, y, z) Determine ? w.r.t. each
beacon and deduce orientation vector
17Cricket Architecture
Beacon
Estimate distances to infer location
Listener
No central beacon control or location
database Passive listeners active beacons
preserves privacy Straightforward deployment and
programmability
18Determining Distance
Beacon
Ultrasound (pulse)
Listener
- 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
19Cricket v1 Prototype
RF module (rcv)
RF module (xmit)
Ultrasonic sensor
Ultrasonic sensor
RF antenna
Listener
Beacon
Atmel processor
RS232 i/f
Host software libraries in Java Linux daemon
(in C) for Oxygen BackPaq handhelds Several apps
20Synergies
Networked sensors/actuators Ad hoc network
integration
Indoor GPS within few cms
Energy-efficient protocols
Location-awareness Cricket
E21 information
Context-aware Nomadic applications
Philips, Nokia, Intel, Duke, (recently) UW
Secure cooperative file system
Finding by intent
Oceanstore
SDS,
Global file access CFS
Global resource discovery INS
Internet-scale hashing abstraction
CAN, Pastry, Tapestry
Scalable decentralized lookups Chord
Seamless end-to-end sessions Migrate
Suspend-resume capability for nomadic applications
Coda for network applications Data staging
(Aura)
21Summary
- 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