aura: invisible ubiquitous computingaura/talkdir/aura02-short.pdf · aura: invisible ubiquitous...
Post on 04-Apr-2018
241 Views
Preview:
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.
top related