Project Oxygen MIT Hari Balakrishnan

Slides:



Advertisements
Similar presentations
XProtect ® Professional Efficient solutions for mid-sized installations.
Advertisements

SelfCon Foil no 1 Dynamic component systems 1. SelfCon Foil no 2 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content.
The Cricket Compass for Context-Aware Mobile Applications Nissanka B. Priyantha.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Implementing Inter-VLAN Routing
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
Component-Based Software Engineering Oxygen Paul Krause.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Location Systems for Ubiquitous Computing Jeffrey Hightower and Gaetano Borriello.
CS 672 Paper Presentation Presented By Saif Iqbal “CarNet: A Scalable Ad Hoc Wireless Network System” Robert Morris, John Jannotti, Frans Kaashoek, Jinyang.
WSN Simulation Template for OMNeT++
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
UNIVERSITY of CRETE Fall04 – HY436: Mobile Computing and Wireless Networks Location Sensing Overview Lecture 8 Maria Papadopouli
Power saving technique for multi-hop ad hoc wireless networks.
The Cricket Location-Support System By: Min Chen 10/28/03.
1 Energy Efficient Communication in Wireless Sensor Networks Yingyue Xu 8/14/2015.
Self-Organizing Adaptive Networks Hari Balakrishnan MIT Laboratory for Computer Science
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture Cricket tutorial Cricket Tutorial on using cricket location system.
P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *
Introduction to Networking Concepts. Introducing TCP/IP Addressing Network address – common portion of the IP address shared by all hosts on a subnet/network.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Distributed Computing COEN 317 DC2: Naming, part 1.
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
Implementing a Sentient Computing System Presented by: Jing Lin, Vishal Kudchadkar, Apurva Shah.
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
Dynamic Source Routing in ad hoc wireless networks Alexander Stojanovic IST Lisabon 1.
Copyright © 2002 Intel Corporation. Intel Labs Towards Balanced Computing Weaving Peer-to-Peer Technologies into the Fabric of Computing over the Net Presented.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
October 7, 1999Reactive Sensor Network1 Workshop - RSN Update Richard R. Brooks Head Distributed Intelligent Systems Dept. Applied Research Laboratory.
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.
Institute of Technology Sligo - Dept of Computing Sem 2 Chapter 12 Routing Protocols.
Differential Ad Hoc Positioning Systems Presented By: Ramesh Tumati Feb 18, 2004.
1 Mobile Computing and Wireless Networking CS 851 Seminar 2002 Fall University of Virginia.
1 A Context Discovery Middleware for Context-Aware Applications with Heterogeneous Sensors Yu-Min Tseng.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Wireless Networks of Devices Resource Discovery William Adjie-Winoto,Elliot Schwartz Anit Chakraborty,Jeremy Lilley Hari Balakrishnan,John Guttag MIT Lab.
Nissanka B. PriyanthaAnit Chakraborty Hari Balakrishnan MIT Lab for Computer Science The Cricket Location-Support System.
John Ankcorn Networks and Mobile Systems Group MIT LCS Software Technologies for Wireless Communication and Multimedia.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Networking for Pervasive Computing Hari Balakrishnan Networks and Mobile Systems Group MIT Laboratory for Computer Science
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
Resource Discovery in Self-Organizing Networks Hari Balakrishnan MIT Lab for Computer Science With: William Adjie-Winoto,
The Cricket Compass for Context-Aware Mobile Applications
Resource Discovery Using an Intentional Naming System Hari Balakrishnan MIT Lab for Computer Science With: William.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
The Cricket Location-Support System N. Priyantha, A. Chakraborty, and H. Balakrishnan MIT Lab for Computer Science MOBICOM 2000 Presenter: Kideok Cho
Nissanka Bodhi Priyantha Computer Science, Massachusetts Institute of Technology RTLab. Seolyoung, Jeong Dissertation, MIT, June 2005.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Sem 2 v2 Chapter 12: Routing. Routers can be configured to use one or more IP routing protocols. Two of these IP routing protocols are RIP and IGRP. After.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Meier, R. Cahill, V. Distributed Systems Group, School of Computer Science and Statistics, Trinity College Dublin, Ireland RTLab. Seolyoung,
Module 8: Networking Services
Lecture 28 Mobile Ad hoc Network Dr. Ghalib A. Shah
Ad-hoc Networks.
Mobile and Pervasive Computing - 5 Case Study – Oxygen Project
SEMINAR ON PROJECT OXYGEN Presented By: VIJET R HEGDE 3VC05IS056.
Wireless Networks of Devices
Chapter 3: Windows7 Part 4.
Design Unit 26 Design a small or home office network
The Globus Toolkit™: Information Services
Project Oxygen… Shashwat Shriparv
Tutorial on using cricket location system
Presentation transcript:

Project Oxygen MIT Hari Balakrishnan

Vision & Goals Pervasive, human-centered computing Improve human productivity and comfort –Move computation into the mainstream of our lives –Improve ease-of-use and accessibility Develop a deep understanding of how to develop, deploy, and manage systems of systems in dynamic settings Build to use; use to build

“Situated” computing Projector Phone Camera array Microphone array Speech & vision - Natural, peceptual interfaces (speech, vision) - Handheld, mobile computers (e.g., Handy21) - Situated computing resources & sensors (e.g, Enviro21) - Numerous other networked devices... - And tons of software making all this work together! - Natural, peceptual interfaces (speech, vision) - Handheld, mobile computers (e.g., Handy21) - Situated computing resources & sensors (e.g, Enviro21) - Numerous other networked devices... - And tons of software making all this work together! The Oxygen Environment

What Oxygen is… and isn’t A system of systems –Several diverse component systems designed by different minds A computing environment A philosophy for developing and deploying future computing environments It is not: –Designed by committee –A panacea for all computing ills!

This talk Cross-cutting systems design and implementation issues for Oxygen Design considerations and goals –Six considerations to keep in mind –Annotated using specific examples Context-aware networking walkthrough –Distributed systems and networking slant We don’t have all the answers (yet!)

Configuration and management C1. Take the human out of the configuration and maintenance loop Cause of much frustration today –Setting up a network, device support, software versions –Deploying distributed network services Examples –Self-configuring networks –Self-updating software –Run-time introspection

Software adaptation C2. Expose resource availability and constraints to software & applications Energy: compiler techniques; application- specific, low-energy routing Network bandwidth, latency: monitor network conditions and export via API Gates (computation) –Configure gates using smart compilers (RAW) –Application-partitioning in situated computing

Mobility and nomadicity C3. Design software for mobility and nomadicity Services will join, move, fail, recover, disappear: dynamic resource discovery Data will move: access to files from anywhere Users will move across multiple networks: vertical mobility based on performance Software will move: updates/upgrades Running programs will move: on-the-fly application-partitioning

Context-awareness C4. Develop infrastructure to expose environmental context to applications Understand user and application intent Location-awareness Information management for individuals and communities: context-sensitive query handling Speech interfaces across domains Semantic web of information in documents and service descriptions (“synonyms”)

Security and privacy C5. Address user privacy and security from the beginning Context-awareness raises many privacy concerns –Location-tracking is problematic; a private location-support system is better Security concerns abound –File system access –Resource discovery system –Anonymous, personalizable devices

User-empowerment C6. Empower users to “program” Oxygen Allow users to compose functionality and express requirements Gentle-slope language –Scale from novices to over-eager high-school kids and undergraduates –Robustness via introspective operation

Engineering methods C7. Develop design techniques to engineer, model, and debug pervasive systems Systematically model correctness, robustness, performance Compiler techniques to help software development in distributed, embedded systems Communication modes between loosely- coupled component systems –Diversity of languages, object models, philosophy

Oxygen in action: Context-aware networking Resource discovery and secure information access Vertical mobility “Spontaneous” networking Context-aware speech-driven active maps (location-specific)

Self-configuring networks Software physical layer allows flexible (de)modulation, parameter adaptation Self-updating software to overcome compatibility problems Topology creation using decentralized protocols in ad hoc networks Network monitoring across multiple networks for better routing decisions

Edison’s radio pages = (BlockSize/4096) +1; if ((guppi_open("guppi0",pages)) < 0 ) exit(0); guppi_start_rec(); for ( i=0 ; i< NumBlocks ; i++) { pdata = (char *)guppi_rec_buf(); for ( j=0 ; j< IntsPerBlock ; j++) { RealTap_ptr=RealTap; ImagTap_ptr=ImagTap; OutputDataReal = 0.0; OutputDataImag = 0.0; a=cos(TwoPi * CenterFreq / (float)SampleFreqIn * index); b=sin(TwoPi * CenterFreq / (float)SampleFreqIn * index); index += DecFactor; for ( k=0; k< FilterLength ; k++, pdata++) { OutputDataReal += ((float)*pdata * RealTap[k]); OutputDataImag += ((float)*pdata * ImagTap[k]);... Spectrumware radio Software physical layers

addr = a r mask = m r addr = b r mask = m r [a r :m r ] addr = c r mask = n Coalesce? Route? Ad hoc topology formation Static configuration impossible DHCP-like configuration undesirable –Pre-configured subnets and broadcasts are problematic over wireless Solution: Distributed, randomized addressing

Location-awareness Goal: System that provides information about physical location; must work indoors too Several goals must be met –User privacy –Decentralized administration –Cost-effectiveness –Portion-of-a-room granularity –Network heterogeneity GPS-oriented solutions do not provide required accuracy, reliability, or cost-effectiveness

Traditional approach Networked sensor grid Location DB ID = u ID = u? Responder Problems: privacy; administration; granularity; cost

Cricket 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 space = “a1” space = “a2” Pick nearest to infer space

Problems Location granularity Interference –Lack of explicit beacon coordination Energy consumption Listener inference algorithms

Every problem is an opportunity Pure RF is problematic –Too imprecise (large granularity) –In-building propagation is hard to model Solution: use RF + ultrasound (US) Beacon Listener Speed of light >> speed of sound! (c = 1 foot/ns vs v = 1 foot/ns) When first RF bit arrives, note time When US pulse detected, check time difference (dt) Distance estimate = v * dt RF data (spacename) US pulse

More opportunities Interference –Lack of coordination hampers RF-US correlation –US has tremendous multipath effects Multiple millisecond reflections Randomized transmission schedule loop: pick r ~ U[R 1,R 2 ]; delay(r); xmit(RF,US); // takes time = S/b for data to reach Can determine optimal R 1 and R 2 analytically

Technology Beacon: 418 MHz AM RF and 40KHz US Listener correlates RF and US samples –Interference from another beacon’s US –Reflections (multipath) are problematic Maximum-likelihood estimator at listener that picks minimum distance of all modes LOW bandwidth RF is good! t RF US receivedUS from elsewhere

Resource discovery Services advertise/register resources Consumers make queries for services System matches services and consumers This is really a naming problem –Name services and treat queries are resolution requests –Problem: most of today’s naming system name by (network) locations –Names should refer to what, not where

Responsiveness Late binding of name to location to handle failover, mobility Robustness Easy configuration Name resolvers self-configure into overlay network Expressiveness Decentralized, cooperating resolvers Intentional Naming System (INS) Names are intentional; apps know what, not where Scalability Aggressive partitioning of namespace and delegation

Intentional names [service = lcs.mit.edu/thermo] [building = NE43 [floor = 5 [room = *]]] [temperature > 25 0 C] data [service = mit.edu/camera] [building = NE43 [room = 510]] [resolution=800x600] [access = public] [status = ready] Expressive name language (like XML) Providers announce attributes Clients make queries –Attribute-value matches –Wildcard matches –Ranges

INS architecture [service = camera] [building = NE43 [room = 510]] Intentional name Intentional name resolvers form an overlay network Late binding: integrate resolution and message routing image Lookup camera510.lcs.mit.edu Resolver self-configuration

How does it work? Name resolver network Overlay network of resolvers Client Servicename [service = camera] [building = 10 [room = 510]] Query Periodic advertisement

Routing protocol tracks changes Overlay network of resolvers Client [service = camera] [building = ne-43 [room = 510]] Triggered update Service mobility [service = camera] [building = ne-43 [room = 510]]

Late binding handles mobility [service = camera] [building = ne-43 [room = *]] flag = ANY data [service = camera] [building = ne-43 [room = 510]] [service = camera] [building = ne-43 [room = 504]] Forward to best location Intentional anycast

Intentional multicast for group communication [service = camera] [building = ne-43 [room = *]] flag = ALL data [service = camera] [building = ne-43 [room = 510]] [service = camera] [building = ne-43 [room = 504]] Forward along spanning tree

Vertical mobility Devices with multiple network choices –Software physical layers enhance this capability How to pick best network at any time, per- application? Mobile-IP-like approaches don’t work well –Per-application choices impossible –Inefficient routing –Deployment is hard –Not all mobile applications are equal

Mobility is an end-to-end issue! Use secure updates to DNS to track host IP End-nodes negotiate connection migration in a secure way DNS Migrate using Diffie-Hellman vmobiled (picks best network for connections)

Oxygen is a system of systems Pervasive, human-centered, dynamic environment Perceptual, intentional interfaces using speech, vision, and writing Programmable and composable architecture General approaches to handling a variety of contexts (e.g., location, information, speech) Networking software and services Novel hardware (and associated software) –RAW-based configurable, energy-efficient handhelds –Situated computing architectures

Summary: How might we cope? C1. Eliminate human involvement in configuration C2. Expose resources to software C3. Design for mobility and nomadicity C4. Expose and exploit environmental context C5. Pay close attention to privacy and security C6. Enable user programmability

Links for Oxygen vision, technologies, and research agenda for details on Spectrumware, Cricket, INS, and Migrate Questions?