Oxygen Fdis

Embed Size (px)

Citation preview

  • 8/3/2019 Oxygen Fdis

    1/36

    Project Oxygenhttp://oxygen.lcs.mit.edu/

    MIT

    Hari Balakrishnanhttp://nms.lcs.mit.edu/

  • 8/3/2019 Oxygen Fdis

    2/36

    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 dynamicsettings

    Build to use; use to build

  • 8/3/2019 Oxygen Fdis

    3/36

    Situated

    computingProjector

    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!

    The Oxygen Environment

  • 8/3/2019 Oxygen Fdis

    4/36

    What Oxygen is and isnt

    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!

  • 8/3/2019 Oxygen Fdis

    5/36

    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 dont have all the answers (yet!)

  • 8/3/2019 Oxygen Fdis

    6/36

    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

  • 8/3/2019 Oxygen Fdis

    7/36

    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

  • 8/3/2019 Oxygen Fdis

    8/36

    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

  • 8/3/2019 Oxygen Fdis

    9/36

    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)

  • 8/3/2019 Oxygen Fdis

    10/36

    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

  • 8/3/2019 Oxygen Fdis

    11/36

    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

  • 8/3/2019 Oxygen Fdis

    12/36

    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

  • 8/3/2019 Oxygen Fdis

    13/36

    Oxygen in action:

    Context-aware networking

    Resource discovery and secure

    information access

    Vertical mobility

    Spontaneous networking

    Context-aware speech-driven active

    maps (location-specific)

  • 8/3/2019 Oxygen Fdis

    14/36

    Self-configuring networks

    Software physical layer allows flexible (de)modulation,

    parameter adaptation

    Self-updating software to overcome compatibilityproblems

    Topology creation using decentralized protocols in ad

    hoc networks

    Network monitoring across multiple networks for better

    routing decisions

  • 8/3/2019 Oxygen Fdis

    15/36

    Edisons 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

  • 8/3/2019 Oxygen Fdis

    16/36

    addr = armask = mr

    addr = brmask = mr

    [ar:mr]

    addr = cr

    mask = n

    Coalesce?

    Route?

    Ad hoc topology formation

    Static configuration impossible

    DHCP-like configuration undesirable

    Pre-configured subnets and broadcasts are problematic overwireless

    Solution: Distributed, randomized addressing

  • 8/3/2019 Oxygen Fdis

    17/36

    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

  • 8/3/2019 Oxygen Fdis

    18/36

    Traditional approach

    Networked

    sensor grid

    Location DB

    ID = u

    ID = u?

    Responder

    Problems: privacy; administration; granularity; cost

  • 8/3/2019 Oxygen Fdis

    19/36

    Cricket

    Beacon

    Listener

    No central beacon control or location database

    Passive listeners + active beacons preserves privacy

    Straightforward deployment and programmability

    space = a1

    space = a2

    Pick nearest toinfer space

  • 8/3/2019 Oxygen Fdis

    20/36

    Problems

    Location granularity

    Interference

    Lack of explicit beacon coordination

    Energy consumption

    Listener inference algorithms

  • 8/3/2019 Oxygen Fdis

    21/36

    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

    RFdata

    (spacename)

    US

    pulse

  • 8/3/2019 Oxygen Fdis

    22/36

  • 8/3/2019 Oxygen Fdis

    23/36

    Technology

    Beacon: 418 MHz AM RF and 40KHz US

    Listener correlates RF and US samples

    Interference from another beacons 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 received US from elsewhere

  • 8/3/2019 Oxygen Fdis

    24/36

    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 todays naming system name by (network)locations

    Names should refer to what, not where

  • 8/3/2019 Oxygen Fdis

    25/36

    ResponsivenessLate binding of name to location to

    handle failover, mobility

    Robustness

    Easy configurationName 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

  • 8/3/2019 Oxygen Fdis

    26/36

    Intentional names

    [service = lcs.mit.edu/thermo][building = NE43

    [floor = 5[room = *]]]

    [temperature > 250C]

    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

  • 8/3/2019 Oxygen Fdis

    27/36

    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

    Resolverself-configuration

  • 8/3/2019 Oxygen Fdis

    28/36

    How does it work?

    Name resolver networkName resolver network

    Overlay network ofresolvers

    ClientClient

    ServiceService

    namename

    [service = camera][building = 10

    [room = 510]]

    QueryPeriodic

    advertisement

  • 8/3/2019 Oxygen Fdis

    29/36

    Routing protocol tracks changes

    Overlay network ofresolvers

    ClientClient

    [service = camera][building = ne-43

    [room = 510]]

    Triggeredupdate

    Service mobility

    [service = camera][building = ne-43

    [room = 510]]

  • 8/3/2019 Oxygen Fdis

    30/36

    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 tobest location

    Intentional anycast

  • 8/3/2019 Oxygen Fdis

    31/36

    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 alongspanning tree

  • 8/3/2019 Oxygen Fdis

    32/36

    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 dont work well

    Per-application choices impossible

    Inefficient routing

    Deployment is hard

    Not all mobile applications are equal

  • 8/3/2019 Oxygen Fdis

    33/36

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

    (picks best networkfor connections)

  • 8/3/2019 Oxygen Fdis

    34/36

    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

  • 8/3/2019 Oxygen Fdis

    35/36

    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

  • 8/3/2019 Oxygen Fdis

    36/36

    Links

    http://oxygen.lcs.mit.edu/ for Oxygen vision,

    technologies, and research agenda

    http://nms.lcs.mit.edu/ for details on Spectrumware,

    Cricket, INS, and Migrate

    Questions?