aura: invisible ubiquitous computingaura/talkdir/aura02-short.pdf · aura: invisible ubiquitous...

29
Page 1 Peter A. Steenkiste, CMCL, CMU 1 Aura: Invisible Ubiquitous Computing http://www.cs.cmu.edu/~prs Peter Steenkiste School of Computer Science Department of Electrical and Computer Engineering Carnegie Mellon University ETH, October 2002 Peter A. Steenkiste, CMCL, CMU 2 The Airport Scenario Jane wants to send e-mail from the airport before her flight leaves. » She has several large enclosures » She is using a wireless interface She has many options. » Simply send the e-mail Is there enough bandwidth? » Compress the data first Will that help enough? » Pay extra to get reserved bandwidth Are reservations available? » Send the “diff” relative to older file Are the old versions around? » Walk to a gate with more bandwidth Where is there enough bandwidth? How do we choose automatically? Can I send my e-mail?

Upload: nguyenkhue

Post on 04-Apr-2018

238 views

Category:

Documents


2 download

TRANSCRIPT

Page 1

Peter A. Steenkiste, CMCL, CMU 1

Aura: Invisible Ubiquitous Computing

http://www.cs.cmu.edu/~prs

Peter SteenkisteSchool of Computer Science

Department of Electrical and Computer EngineeringCarnegie Mellon University

ETH, October 2002

Peter A. Steenkiste, CMCL, CMU 2

The Airport Scenario

Jane wants to send e-mail from the airport before her flight leaves.

» She has several large enclosures» She is using a wireless interface

She has many options.» Simply send the e-mail

– Is there enough bandwidth?» Compress the data first

– Will that help enough?» Pay extra to get reserved bandwidth

– Are reservations available?» Send the “diff” relative to older file

– Are the old versions around?» Walk to a gate with more bandwidth

– Where is there enough bandwidth?How do we choose automatically?

Can Isend mye-mail?

Page 2

Peter A. Steenkiste, CMCL, CMU 3

Aura saves Scott’s task.Scott enters office and gets strong authentication and secure access.Aura restores Scott’s task on desktop machine and uses a large display.Scott controls application by voice.Bradley enters room.Bradley gets weak authentication, Scott’s access changes to insecure.Aura denies voice access to sensitive email application.Scott has multi-modal control of PowerPoint application.Aura logs Scott out when he leaves the room.

Desktop - Office

Laptop - plane

Physical environment

securein

The Mobile Task Scenario

Peter A. Steenkiste, CMCL, CMU 4

Outline

Motivation.The Aura projectContextual services.

» Architecture» Space service» Bandwidth advisor» People location: security

Adaptation in Aura.» Adaptation based on software architectures» System-wide adaptation

Summary.

Page 3

Peter A. Steenkiste, CMCL, CMU 5

Ubiquitous Computing

The environment has lots of computing, storage, and communication capabilities.

» Leverage Moore’s law» This is already true today!

The environment is device rich.» Displays, cameras, touch screens, microphones, ..» Multi-modal interaction between users and the system

The goal is to help the user with a broad set of tasks in an efficient way.

» Access to information, preparing documents, ..

Peter A. Steenkiste, CMCL, CMU 6

Disk Capacity

Moore’s Law Reigns Supreme

Page 4

Peter A. Steenkiste, CMCL, CMU 7

Cost per Megabyte

Moore’s Law Reigns Supreme

Peter A. Steenkiste, CMCL, CMU 8

Glaring Exception

Adam & Eve 2002 AD

Human Attention

Page 5

Peter A. Steenkiste, CMCL, CMU 9

Aura: Ubiquitous Invisible Computing

The most precious resource in computing

is human attention

Aura Goals• Reduce user distraction• Trade-off plentiful resources of Moore’s law for

reduced load on human attention• Achieve this scalably for mobile users in a

failure-prone, variable-resource environment

Peter A. Steenkiste, CMCL, CMU 10

Aura Research Framework

Users

Physical Devices

OS/Network

Services

Tasks

HCI/Agents/Speech

Research Examples

Task-driven computingRapid service configuration

Energy-aware adaptationMulti-fidelity computationNomadic data access

Intelligent networkingPower/bw-aware devicesWearable computers

Page 6

Peter A. Steenkiste, CMCL, CMU 11

Adaptivity and Proactivity

Automatically adapt the system to best need the user’s needs.

» Consider not only computing environment (network bandwidth), but also user preferences (need coffee anyway) and physical infrastructure (nearby coffee shop)

Further reduce distractions by proactively and opportunistically adapting to anticipated needs and events.

» E.g. direct Jane to a restaurant with high bandwidth, anticipating that she will want to send her e-mail

What will it take?» Lots of information about the user’s context» Support for reactive and proactive adaptation

Peter A. Steenkiste, CMCL, CMU 12

Making AvailableContext Information

Where is Jane?How much bandwidth is available here?Where is the nearest printer?What is Joe’s cell phone number?

How should we make context information available to context-aware applications?

Printer location, networkbandwidth, telephone numbers,

server load, printer info, …

API?

How about using a database?

Page 7

Peter A. Steenkiste, CMCL, CMU 13

A Context Information Database(Glenn Judd)

Databases are very effective at finding information and relationships.

» SQL language supports powerful queries» Query optimization speeds up common queries

But context information does not readily “fit” in a regular database.

» Some information is dynamic» Some information has meta-attributes, e.g. precision

Solution: use SQL-like interface to access a set of distributed contextual services.

Peter A. Steenkiste, CMCL, CMU 14

Aura Contextual Services

Four entities: devices, people, networks, space.Store information about the entities and their relationship.

» Entity information is often static» Relationships are often dynamic

People

Devices

Physical Space

NetworkSegments

DeviceCarriers

DeviceOwners

NetSeg AttachedDevices

PeopleLocation

NetSegLocation

DeviceLocation

Page 8

Peter A. Steenkiste, CMCL, CMU 15

Common Query Format

QueryResult query(selectedAttribs, serviceName, expression, attribReqs, timeLimit)

» selectedAttribs – list of attributes selected» serviceName – name of service from which attributes are selected» expression – describes the information desired» attribReqs – requirements such as updateTime, confidence, etc.» timeLimit – time within which the information should be returned

Example: where is Joe?» selectedAttribs – name = Joe» serviceName – PeopleLocation» expression – location» attribReqs – room, 5 minutes» timeLimit – 100 msec

Peter A. Steenkiste, CMCL, CMU 16

An Integrated Contextual Service

Build front-end that maps complex queries onto the distributed contextual services

People

Devices

Physical Space

NetworkSegments

DeviceCarriers

DeviceOwners

NetSeg AttachedDevices

PeopleLocation

NetSegLocation

DeviceLocation

Page 9

Peter A. Steenkiste, CMCL, CMU 17

Aura Contextual Services

People

Devices

Physical Space

NetworkSegments

DeviceCarriers

DeviceOwners

NetSeg AttachedDevices

PeopleLocation

NetSegLocation

DeviceLocation

Peter A. Steenkiste, CMCL, CMU 18

Wireless Bandwidth Advisor(Glenn Judd)

The bandwidth advisor periodically polls access points to collect bandwidth utilization, number of laptops, ….

» A Remos collector optimized for 802.11 Wireless networks

Uses this information to calculate load in cells.

» Uses a network-space service to tie results to physical space

Load information can be used to predict throughput for new users.

» Very messy: different transmission rates, power control, application properties, ...

Page 10

Peter A. Steenkiste, CMCL, CMU 19

Effectiveness of “Prev” Predictor

Ratio of total predictions

[0.0

, 0.1

)

[0.3

, 0.4

)

[0.6

, 0.7

)

[0.9

, 1.0

)

[1.2

, 1.3

)

[0.0, 0.1)

[0.3, 0.4)

[0.6, 0.7)

[0.9, 1.0)

[1.2, 1.3)

Actual Traffic

Predicted Traffic

[0.0, 0.1)

[0.4, 0.5)

[0.8, 0.9)

[1.2, 1.3)

[0.0, 0.1)

[0.4, 0.5)

[0.8, 0.9)

[1.2, 1.3)

0.00000010.0000010.000010.00010.0010.010.11

Actual TrafficPredicted

Traffic

Peter A. Steenkiste, CMCL, CMU 20

Throughput Prediction

00.5

11.5

22.5

33.5

44.5

5

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Predicted Throughput

Act

ual T

hrou

ghpu

t

Page 11

Peter A. Steenkiste, CMCL, CMU 21

Bandwidth Advisor Status

The simple “Prev” predictor is very good at predicting future cell utilization.

» More complex models (e.g. ARFIMA) are better at predicting the background load of unloaded cells

» Should also consider external data (historical, agenda)Predicting expected TCP throughput is a much harder problems.

» Throughput is influenced by many factors– Number of active flows (different from number of

stations)– Power management– Multi-rate feature of 802.11– Application and host properties

» Can possibly also benefit from historical data

Peter A. Steenkiste, CMCL, CMU 22

Physical Spaces and Location

Location in physical space plays a central role in ubiquitous computing.

» Help users in context-aware fashion» Not an issue in traditional networking or distributed

systems: do you care where your router is?

Natural location representation is application-specific.

» Room number, coordinates on map, GPS, ….

How should applications and services exchange information about physical spaces and locations?

Page 12

Peter A. Steenkiste, CMCL, CMU 23

Space Representation(Changhao Jiang)

Hierarchical names.» Examples: DNS, file names, ..» Earth – US – PA – Pittsburgh – CMU – Wean Hall – 5320B» Human readable and captures relative position» Not very precise and has problems with distance

Coordinate systems.» Examples: 3D, GPS, ..» (X, Y, Z) = (25, 32, 8)» Very accurate but not always intuitive» Not practical to use single coordinate system for all

spaces

How can we combine the benefits?

Peter A. Steenkiste, CMCL, CMU 24

Aura Location Identifier

What is an ALI? » A unique identifier of each location in the form of

formatted string» Universal representation of every location» Enable the exchange of location information between

different services or clients.

Features:» A hierarchical naming scheme » Each space can have a coordinate system for more

accurate representation of spaces and locations» Complies with the UNI’s (universal Resource Identifier)

generic syntax

Page 13

Peter A. Steenkiste, CMCL, CMU 25

Examples of ALI

Space» ali://cmu/wean-hall/floor3/3700-Corridor» ali://cmu/wean-hall/floor4/

Point» ali://cmu/wean-hall#(12.1,21.1,2)» ali://cmu/wean-hall/floor3#(12,21,2)Foot

GPS form» ali://GPS#( longitude, latitude, altitude)

Peter A. Steenkiste, CMCL, CMU 26

Hybrid Hierarchical and Coordinate Space Model

CMU

Wean WarnerNewell-Simon

Floor1 Floor2

RM3709

Floor3

RM3718RM3701

Every space has its own relative coordinate system. Every space has its own relative coordinate system. ----defined by giving an origin and three axesdefined by giving an origin and three axes

sup

sub

Page 14

Peter A. Steenkiste, CMCL, CMU 27

Super and SubspaceRelationship

Peter A. Steenkiste, CMCL, CMU 28

Service-level Space Service

Space service implementation does not recognize ALI datatype.

» E.g. implementation based on database that stores information on space tree nodes

Must break up queries, e.g. “find closest printer”.

» Find all printers» Find distance to each printer» Select closest

Simple but not efficient.

Client

ALI Name Coord …

…ALI Name Coord …

ALI

Query Implementation

Page 15

Peter A. Steenkiste, CMCL, CMU 29

Database-level Space Service

ALI datatype is integrated into the database.» Implemented as user-defined datatype in PostgreSQL» Space tree is basic datastructure

Space operations are implemented as primitive operations.

» E.g. distance, contains, …Space-related operations can now be specified as database queries.

» More efficient because no need to retrieve intermediate results

» Uses power of the database query optimizers» But: only works for static properties

Peter A. Steenkiste, CMCL, CMU 30

Performance Comparison“Nearest” Query

“Find the nearest printer to location A”

Page 16

Peter A. Steenkiste, CMCL, CMU 31

Performance Comparison“Optimize” Query

find the printer within 3rd floor of Wean Hall, whose job queue is less than 3 jobs

Peter A. Steenkiste, CMCL, CMU 32

The Jane Airport Scenario

Jane wants to send e-mail from the airport before her flight leaves.

» She has several large enclosures» She is using a wireless interface

She has many options.» Simply send the e-mail

– Is there enough bandwidth?» Compress the data first

– Will that help enough? GIFs?» Pay extra to get reserved bandwidth

– Are reservations available?» Send the “diff” relative to older versions

of the documents– Are the old versions around?

» Walk to a gate with more bandwidth– Where is there enough bandwidth?

Can Isend mye-mail?

Page 17

Peter A. Steenkiste, CMCL, CMU 33

Using the Contextual Services

Where is Jane -> location AHow much bandwidth at A -> bandwidth BProperties of Jane’s laptop -> properties CData size from task -> size DEstimated transfer time from B, C, D Good enough -> transfer +/- compressionOtherwise: find nearby unloaded cell E Suggest to Jane that she walk to location EPop up map with directions to E

Peter A. Steenkiste, CMCL, CMU 34

To Compress or Not To Compress?

Estimate transmission time based on estimates for bandwidth, and compression ratio and speed.

» Model of application performance is simple

Automatic selection works well in controlled environment.» Always selects the right option» Errors are caused by bandwidth estimation errors and model

inaccuraciesAround crossover point, a bad decision has minimal impact.

» Curves are flat, close together» Robust

Uncomp Time = Size

BandwidthComp Time =

Size / Comp RatioBandwidth

SizeComp Rate

+

Page 18

Peter A. Steenkiste, CMCL, CMU 35

Application Performance

Peter A. Steenkiste, CMCL, CMU 36

Map Component

Help users by visualizing the floor plan of the building.

» Zoom in (out), up, down, left, right» Different levels of details (floor,

rooms)» Display icons in locations of ALI

Java software module (class library)

» Application extensible (by class aggregation or subclass)

DBMap JDBC

Page 19

Peter A. Steenkiste, CMCL, CMU 37

Example: Guide User toCertain Resources

Find the nearby resources to mobile user’s location. » Printers, Wireless Access Points, Etc.Resources can be iconized arbitrarily, user-friendly hints.

Peter A. Steenkiste, CMCL, CMU 38

The People Location Service

Develop a people location service that uses multiple sources of information.

» Login: where last logged in?» Wavelan: triangulate on signal

strength» RF/IR badges: commercial» Calendar: schedule meeting?

Sources differ in many aspects.

» Precision, accuracy» Applicability to specific people» Overhead

People Location

Login CalendarDeviceLocator

Wavelan RF/IRBadges

Page 20

Peter A. Steenkiste, CMCL, CMU 39

But What About Security?(Urs Hengartner)

But I don’t want just anybody to find out where I am!Allow users to specify location policies.

» Who can locate you?» What services can be used?

Policies provide fine grain access control.» Alice can locate me during working hours» Bob can locate me when I am on campus» Fine-grain versus coarse-grain access

CertificateStorage

Alice Admin

People Location Service

Device Service

Login Service

CalendarService

GPSService

RF Badge Service

Wavelan Service

Peter A. Steenkiste, CMCL, CMU 40

Prototype based on Public Key Infrastructure

Users generate certificates to grant rights.

» What users and services can initiate queries?

» What services can be involved in executing the queries

Policy checking performed by building a chain of certificates.

» Done automatically by a toolServices must do a user policy and service trust check.

» Does the requesting user have the right to locate the located user?

» Does the requesting service have the right to help locate the user?

People Location Service

Device Service

Login Service

CalendarService

GPSService

RF Badge Service

Wavelan Service

Alice

Page 21

Peter A. Steenkiste, CMCL, CMU 41

Prototype Evaluation

Use of digital certificates has many advantages.» Good tools for policy checking» Support for delegation of checking

– Performance, convenience» Supports creation of names and groups

Approach limits flexibility of policies.» Implemented using the “tag” section of the certificates» More general filtering is probably required

– Example: release information to nearby people

User study in progress.» What type of policies do people use?» What applications are useful?

Peter A. Steenkiste, CMCL, CMU 42

Supporting Adaptation

Adaptation based on software architectures.

But what about system wide issues?

Page 22

Peter A. Steenkiste, CMCL, CMU 43

Motivation: Adaptive Applications

Applications must adapt to execution environment.» Performance, robustness, user’s context, ...

Today, adaptation is often hard-coded into the application.» Adaptation can be tailored to the needs of the applications » Good solution for “local” adaptation, e.g. bandwidth tuning

Unfortunately, approach is not good for» System-wide “global” adaptation» Choosing between adaptation options based on a diagnosis of

the problem» Modularity, e.g. cannot easily add and modify adaptation policies

and mechanisms

Peter A. Steenkiste, CMCL, CMU 44

An Alternate Approach

Use Software Architectural Models at runtime to guide self-adaptation.This approach is» General

– Can be reused across applications and domains» External

– Can be reasoned about separately, changed without modifying application

» Principled– Can reuse well-known, rigorous design time analyses

Page 23

Peter A. Steenkiste, CMCL, CMU 45

Software Architecture

High-level model of system» Graph of components + connectors» Reuse of styles and idioms

Traditionally used at design time to» Provide comprehensive view of runtime structures» Determine system-wide properties» Reason about system behavior and performance

For runtime use:» Maintain models and analyses dynamically» Extend architectural notation» Provide runtime infrastructure for monitoring, analysis, and

change

Peter A. Steenkiste, CMCL, CMU 46

Example: Load Balancing

Component ServerGrp1(ServerGrpRep)

Server1 Server2 Server3

User1 User2 User3 User4 User5 User6

ServerGrp1 ServerGrp2 ServerGrp3

Component ServerGrp1(ServerGrpRep)

Server1 Server2 Server3

User1 User2 User3 User4 User5 User6

ServerGrp1 ServerGrp2 ServerGrp3

System: Distributed servicewith load balancing

Corresponding softwarearchitecture

Page 24

Peter A. Steenkiste, CMCL, CMU 47

Task Layer

Model Layer

Runtime Layer

RuntimeSystem

Adaptation Framework

Task layer decides on what applications to run, resource allocations, …Model layer captures the architecture of the application, including the adaptation strategies.Runtime layer consists of the running application, its execution environment, and a runtime manager.

TaskManager

Translator

ArchitectureManager

Environment& RuntimeManager

Task Model

Architectural Model

1

2

34

5

6

Peter A. Steenkiste, CMCL, CMU 48

Prototype System

Executing System

Architectural Style

Architecture Manager

Armani

Acme ModelG

ener

icA

PI

Tailor

Style APIInterpreter

Runtime Manager

TranslatorEnvironment

Manager

PP

P

G

G

Remos, ..

Siena

Page 25

Peter A. Steenkiste, CMCL, CMU 49

Repair Strategies

Repair strategies are invoked when an architectural constraint is violated» Determines cause of problem» Identifies solution

Strategy consists of set of tactics» Preconditions determines applicability» Repair script uses operators to fix problem

Strategy controls sequencing of tactics

Peter A. Steenkiste, CMCL, CMU 50

Repair Strategy for Latency Constraint Violation

Invariant: AverageLatency <= MaxStrategy: FixLatencyFixLatency:

» FixServerLoad– If LoadedServerGroup: add server to group

» Else: FixBandwidth– Find server group with more bandwidth

» Else: Raise alarm

Page 26

Peter A. Steenkiste, CMCL, CMU 51

Example: Details

1invariant r : averageLatency <= maxLatency2!→ fixLatency(r);34strategy fixLatency (badRole : ClientRoleT)={5 let badClient : ClientT =6 select one cli : ClientT in self.Components |7 exists p : RequestT in cli.Ports |8 attached(badRole, r);9 if (fixServerLoad(badClient)) {10 commit repair; }11 else if (fixBandwidth(badClient,badRole) {12 commit repair; }13 else {abort ModelError;}14}1516 tactic fixServerLoad (client:ClientT) :boolean={17 let loadedServerGroups : set{ServerGroupT}=18 select sgrp:ServerGroupT in19 self.Components |20 connected(sgrp,client) and21 sgrp.load > maxServerLoad;

22 if (size(loadedServerGroups) == 0)23 return false;24 foreach sGrp in loadedServerGroups {25 sgrp.addServer(); }26 return (size(loadedServerGroups)>0);2728 tactic fixBandwidth(client:ClientT29 role:ClientRoleT):boolean={30 if (role.bandwidth>=minBandwidth) {31 return false;}32 let oldSGrp: ServerGroupT =33 select one sGrp:ServerGroupT in34 self.Components | connected (client,sGrp);35 let goodSGrp : ServerGroupT =36 findGoodSGrp(client,minBandwidth);37 if (goodSGrp != nil) {38 client.move (goodSGrp);39 return true;40 } else {41 abort NoServerGroupFound;42}}

Peter A. Steenkiste, CMCL, CMU 52

Experiment Design

We controlled the experiment by:

» Seeding the clients so that the size of requests and responses occurred in the same sequence

» Generating the same bandwidth competition

» Isolating the network from outside traffic and users.

S7

S6

C2C1C3

C5C6

C4 S5

S4S1

S2

S3

Page 27

Peter A. Steenkiste, CMCL, CMU 53

Results: Control Run

Latency above 2s after about 2 minutesSystem does not recover

0.1

1

10

100

1000

0 600 1200 1800Time elapsed (s)

Late

ncy

(s)

0.0001

0.001

0.01

0.1

1

10

0 600 1200 1800Time elapsed (s)

Ava

ilabl

e B

andw

idth

(Mbp

s)

0.1

1

10

100

1000

10000

0 600 1200 1800

Time elapsed (s)

Que

ue L

engt

h

LatencyLatency

LoadLoad BandwidthBandwidth

Peter A. Steenkiste, CMCL, CMU 54

Results: Repair Run

Repairs occur whenever high latency detectedRepairs fix latency problem

0.1

1

10

100

0 600 1200 1800

Time elapsed (s)

Late

ncy

(s)

0.1

1

10

100

0 600 1200 1800

Time elapsed (s)

Que

ue L

engt

h

0.01

0.1

1

10

100

0 600 1200 1800

Time elapsed (s)

Ava

ilabl

e B

andw

idth

(Mbp

s)

LatencyLatency

LoadLoad BandwidthBandwidth

Page 28

Peter A. Steenkiste, CMCL, CMU 55

The Jane Airport Scenario

Jane wants to send e-mail from the airport before her flight leaves.

» She has several large enclosures» She is using a wireless interface

She has many options.» Simply send the e-mail

– Is there enough bandwidth?» Compress the data first

– Will that help enough? GIFs?» Pay extra to get reserved bandwidth

– Are reservations available?» Send the “diff” relative to older versions

of the documents– Are the old versions around?

» Walk to a gate with more bandwidth– Where is there enough bandwidth?

Can Isend mye-mail?

Peter A. Steenkiste, CMCL, CMU 56

Hierarchy of Adaptation Options

Ask Jane to walk to a gate with more bandwidth.

Only send the files belonging to multi-user tasks.

Offload other tasks to local server to speed up compression and transmission

Send the e-mail and finish simulation.Pay extra to get reserved bandwidth.Compress the data before transmission.

InvolveUser

TaskChange

GlobalCompute

LocalizedCompute

Env

Page 29

Peter A. Steenkiste, CMCL, CMU 57

Adaptation Architecture

System is a set of layers, where each layer can:

» Trigger changes» Provide information

that may affect how changes are handled

» Provide opportunities for adaptation

Adaptation at lower level is often easier and preferable.Previous work focused on local and global changes in the lower layer.

Users

Devices

OSNetwork

Services

Tasks

Context Aware agentsUser location mapUser silence

Adaptation Examples

Task-driven computingTask redefinition

Nomadic data accessMulti-fidelity computationEnergy-aware adaptation

Intelligent networkingNetwork weather map Flow transformation

Peter A. Steenkiste, CMCL, CMU 58

Summary

The challenge in pervasive computing is how to make them invisible.Aura is using adaptivity and proactivity to automatically adapt the system to the user’s needs.Contextual services provide static and dynamic information about the user’s context.

» SQL like query format» Supports meta-data for ``real world’’ information

Exploring adaptation based on models of the different parts of the system.