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

Slides:



Advertisements
Similar presentations
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
The Cricket Compass for Context-Aware Mobile Applications Nissanka B. Priyantha.
Peer-to-Peer (P2P) Distributed Storage 1Dennis Kafura – CS5204 – Operating Systems.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Chord A Scalable Peer-to-peer Lookup Service for Internet Applications
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up.
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up protocol.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
Presented by Elisavet Kozyri. A distributed application architecture that partitions tasks or work loads between peers Main actions: Find the owner of.
1 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
CS 672 Paper Presentation Presented By Saif Iqbal “CarNet: A Scalable Ad Hoc Wireless Network System” Robert Morris, John Jannotti, Frans Kaashoek, Jinyang.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications 吳俊興 國立高雄大學 資訊工程學系 Spring 2006 EEF582 – Internet Applications and Services 網路應用與服務.
Data Networking Fundamentals Unit 7 7/2/ Modified by: Brierley.
Wide-area cooperative storage with CFS
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Pervasive Location-Aware Computing Hari Balakrishnan Networks and Mobile Systems Group MIT Laboratory for Computer Science
Host Identity Protocol
Self-Organizing Adaptive Networks Hari Balakrishnan MIT Laboratory for Computer Science
Enabling Internet “Suspend/Resume” with Session Continuations Alex C. Snoeren MIT Laboratory for Computer Science (with Hari Balakrishnan, Frans Kaashoek,
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture Cricket tutorial Cricket Tutorial on using cricket location system.
Wide-Area Cooperative Storage with CFS Robert Morris Frank Dabek, M. Frans Kaashoek, David Karger, Ion Stoica MIT and Berkeley.
Wide-area cooperative storage with CFS Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
INAT Hari BalakrishnanFrans Kaashoek John Guttag Robert Morris MIT Laboratory for Computer Science NGI PI Meeting October 2, 2000.
Presented by: Tianyu Li
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Nissanka B. PriyanthaAnit Chakraborty Hari Balakrishnan MIT Lab for Computer Science The Cricket Location-Support System.
Peer to Peer Network Design Discovery and Routing algorithms
The Cricket Indoor Location System Hari Balakrishnan Bodhi Priyantha, Allen Miu, Jorge Nogueras, John Ankcorn, Kalpak Kothari, Steve Garland, Seth Teller.
Networking for Pervasive Computing Hari Balakrishnan Networks and Mobile Systems Group MIT Laboratory for Computer Science
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Nick McKeown CS244 Lecture 17 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications [Stoica et al 2001]
The Cricket Location-Support System N. Priyantha, A. Chakraborty, and H. Balakrishnan MIT Lab for Computer Science MOBICOM 2000 Presenter: Kideok Cho
Peer-to-Peer (P2P) File Systems. P2P File Systems CS 5204 – Fall, Peer-to-Peer Systems Definition: “Peer-to-peer systems can be characterized as.
Nissanka Bodhi Priyantha Computer Science, Massachusetts Institute of Technology RTLab. Seolyoung, Jeong Dissertation, MIT, June 2005.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
Magdalena Balazinska, Hari Balakrishnan, and David Karger
A Scalable Peer-to-peer Lookup Service for Internet Applications
Mobile and Pervasive Computing - 5 Case Study – Oxygen Project
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Consistent Hashing and Distributed Hash Table
#02 Peer to Peer Networking
Presentation transcript:

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

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 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 

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

Nomadic System Architecture Seamless end-to-end sessions: Migrate Global file access: CFSGlobal resource discovery: INS Scalable decentralized lookups: Chord Context-aware Nomadic applications Location-awareness: Cricket Networked sensors/actuators Ad hoc network integration E21 information Suspend-resume capability for nomadic applications Energy-efficient protocols Secure cooperative file system Finding by intent Internet-scale hashing abstraction “Indoor GPS” within few cms Generic API

Migrate: Towards End-to-end Mobility (Alex Snoeren’s dissertation) Naming Service (Dynamic DNS) Mobile Host foo.bar.edu Location Query (DNS Lookup) Session Initiation xxx.xxx.xxx.xxx Correspondent Host Location Update (DNS Update) Session Migration via continuation yyy.yyy.yyy.yyy

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)

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 state Exports migration-awareness API for application adaptation Interfaces with connectivity monitor and policy module

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 Internet Server ( & client)

CFS Architecture Layers 995: ID=901 ID=732 Signature File System ID=995 (public key) 732: … 901: “a.txt” ID= : ID=431 ID= : … 431: … (root block) (directory blocks) (i-node block) (data) File System Internet Node A Node C Node B 995: ID=901 ID=732 Signature Block : ID=407 ID=992 ID=705 Signature Block 407 Block 705 DHash Chord: Maps keys to nodes (e.g., CFS ID’s)

Chord: Internet-Scale Hash Tables N32 N10 N5 N20 N110 N99 N80 N60 Circular ID Space Chord maps ID’s to “successor” Nodes and blocks have 160-bit ID’s Successor: Node with next highest ID Stores block IDs Block IDs

Basic lookup N32 N90 N105 N60 N10 N120 K80 “Where is key 80?” “N90 has K80” Successor pointer

“Finger table” allows log(N)-time lookups N80 ½ ¼ 1/8 1/16 1/32 1/64 1/128 finger[k] points to successor (n + 2 k ) log(n) fingers in all R = log(n) immediate Successors for robustness Stabilization methods for concurrency

RON/CFS Deployment ~20 RON nodes running CFS servers in 4 continents Many different Autonomous Systems KAIST, Korea Venezuela MSR, UK

Robustness Against Failures Failed Lookups (Fraction) Failed Nodes (Fraction) 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

INS: Nomadic Resource Discovery [service = printer] [building = schafer [room = *]] Intentional name Late binding: integrate resolution and message routing Lookup Resolver self-configuration Intentional name resolvers form an overlay network Uses Chord as underlying hash lookup for scalability [service = printer] [building = schafer [room = 405]] Intentional name

Beacons on ceiling B  SPACE=NE ID=34 COORD= MOREINFO= Obtain linear distance estimates: RF + ultrasound Pick nearest to infer “space” Solve for mobile’s (x, y, z) Determine  w.r.t. each beacon and deduce orientation vector Obtain linear distance estimates: RF + ultrasound Pick nearest to infer “space” Solve for mobile’s (x, y, z) Determine  w.r.t. each beacon and deduce orientation vector Mobile device Cricket listener Cricket: Toward Location-Awareness

Cricket Architecture Beacon Listener No central beacon control or location database Passive listeners + active beacons preserves privacy Straightforward deployment and programmability No central beacon control or location database Passive listeners + active beacons preserves privacy Straightforward deployment and programmability info = “a1” info = “a2” Estimate distances to infer location

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 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)

Ultrasonic sensor RF antenna Ultrasonic sensor RF module (rcv) Atmel processor ListenerBeacon RF module (xmit) RS232 i/f Cricket v1 Prototype Host software libraries in Java; Linux daemon (in C) for Oxygen BackPaq handhelds Several apps…

Synergies Seamless end-to-end sessions: Migrate Global file access: CFSGlobal resource discovery: INS Scalable decentralized lookups: Chord Context-aware Nomadic applications Location-awareness: Cricket Networked sensors/actuators Ad hoc network integration E21 information Suspend-resume capability for nomadic applications Energy-efficient protocols Secure cooperative file system Finding by intent Internet-scale hashing abstraction “Indoor GPS” within few cms “Coda” for network applications Data staging (Aura) Oceanstore Philips, Nokia, Intel, Duke, (recently) UW CAN, Pastry, Tapestry SDS, …

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