View File - University of Engineering and Technology, Taxila

Download Report

Transcript View File - University of Engineering and Technology, Taxila

http://oxygen.lcs.mit.edu/
Mobile and Pervasive
Computing - 6
Case Study – Oxygen
Project
Presented by: Dr. Adeel Akram
University of Engineering and Technology,
Taxila,Pakistan
http://web.uettaxila.edu.pk/CMS/SP2014/teMPCms
Hari
Balakrishnan
http://nms.lcs.mit.edu/
Vision & Goals

Pervasive, human-centered computing


Computation embedded into human life, like the Oxygen
we breathe
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
The Oxygen Environment
Speech &
vision
Camera array
Projector
Phone
“Situated”
computing
Microphone array
- 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!
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, lowenergy routing

Network bandwidth, latency: monitor network
conditions and export via API

Gates (computation)

Configure gates using smart compilers

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 applicationpartitioning
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 locationsupport 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
Device Technologies

E21 Intelligent Spaces

Space centered computation, embedded in ordinary
environment

Populated by cameras, microphones, displays, sound
output

Controls for physical entities like curtains, lighting, doorlocks

People interact in Intelligent Spaces naturally, using
speech, gestures
Device Technologies

H21 Mobile Devices

Person centered devices also the Universal Personal
Appliances

Equipped with perpetual transducers such as microphone,
speakers

Auto reconfigurable, light weight, inexpensive

Anonymous generic devices
Device Technologies

N21 Network Devices

Networks make it easy to establish ad-hoc collaborating
communities of computer devices
E21- Intelligent Spaces

Connected to sensors, suitably encapsulated into
physical objects

Communicate with each other and nearby handheld
devices (H21) through Dynamically Configured Networks
(N21)

E21 provide computational power throughout the
system to


Communicate with people

Support Oxygen User Technologies

Monitor and control their environment
E21 software is robust, and configurable among
themselves
H21 – Mobile Devices

Generic devices also called Universal Personal
Appliances

Do not carry large amount of permanent local state

They configure themselves according to the person using
them

Being small and lightweight, they have few transducers

They have less computational power than E21

Can be configured to be used as radio, cellphone or even
TV

Power efficient, the software controls the power
consumption
Intelligent Rooms

Capable of Detection motion

Recognize voice patterns

Identify a person by face
sensors
H21 - Prototype
N21 – Network Technologies

Networks make it easy to establish ad-hoc collaborating
communities of

computer devices

Through algorithms, protocols and middleware, they

Configure collaborative regions automatically

Create topologies and adapt them to change

Provide automatic resource and location discovery

Provide secure, authenticated and private access

N21 networks use intentional names rather than
conventional static names

They support location discovery through proximity
Software Technologies

Software systems adapt - to user, to environment, to
change, to failure

Project Oxygen's software architecture provides
mechanisms for


Building applications using distributed components

Customizing, adapting and altering component behavior

Person-centric rather than device-centric security

Disconnected operation and nomadic code
Eternal Computation: The system must never shut
down or reboot though components are upgraded,
removed and reinstalled
Perceptual Techniques

Two types of Perceptual Techniques are used


Spoken Interaction

Users and Machines engage in interactive conversations

Highly efficient
Visual Interaction

Users interact with perceptual modalities

Use of body language and gestures
Spoken Interaction
Visual Interaction

It consists of


Visual perception Subsystem

It recognizes and classify objects and actions

Complements spoken language subsystem
Visual rendering Subsystem

Creates 3D scenes from 2D data

Provide macroscopic view of application supplied data
User Technologies

Knowledge Access


Automation


Access any time, anywhere, almost anything
Automate control of physical environment
Collaboration

Connecting people
Oxygen in action:
Context-aware networking
• “Spontaneous” networking
• Context-aware speech-driven
active maps (location-specific)
• Resource discovery and secure
information access
• Vertical mobility
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
Software physical layers
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]);
...
Edison’s radio
Spectrumware radio
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
Location DB
ID = u?
Networked
sensor grid
Responder
Problems: privacy; administration; granularity; cost
ID = u
Cricket
space = “a2”
Beacon
space = “a1”
Listener
Pick nearest to
infer space
No central beacon control or location database
Passive listeners + active beacons preserves privacy
Straightforward deployment and programmability
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
RF data
(spacename)
US
pulse
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
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[R1,R2];
delay(r);
xmit(RF,US); // takes time = S/b for data to reach

Can determine optimal R1 and R2 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!
RF
t
US received
US 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
Intentional Naming System (INS)
Expressiveness
Names are intentional; apps know
what, not where
Responsiveness
Late binding of name to location
to handle failover, mobility
Robustness
Decentralized, cooperating
resolvers
Easy configuration
Name resolvers self-configure into
overlay network
Scalability
Aggressive partitioning of
namespace and delegation
Intentional names
• Expressive name language (like XML)
• Providers announce attributes
• Clients make queries
– Attribute-value matches
– Wildcard matches
– Ranges
[service = mit.edu/camera]
[building = NE43
[room = 510]]
[resolution=800x600]
[access = public]
[status = ready]
[service = lcs.mit.edu/thermo]
[building = NE43
[floor = 5
[room = *]]]
[temperature > 250C]
data
INS architecture
camera510.lcs.mit.edu
Intentional name
[service = camera]
[building = NE43
[room = 510]]
Lookup
image
Resolver
self-configuration
Intentional name resolvers
form an overlay network
Late binding: integrate resolution and message routing
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
Migrate using Diffie-Hellman
vmobiled
(picks best network
for connections)
DNS
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
Questions???
References

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
Assignment # 2
 Write
Note on Spectrumware,
Cricket, INS, and Migrate