No Slide Title
Download
Report
Transcript No Slide Title
Ubiquitous Computing and
Active Spaces
The Gaia Approach
Fabio Kon
[email protected]
Department of Computer Science
University of São Paulo, Brazil
http://www.ime.usp.br/~kon
Ubiquitous Computing
“We believe that people live through their
practices and tacit knowledge so that the most
powerful things are those that are effectively
invisible in use”.
“For 30 years most interface design, and most
computer design, has been headed down the
path of the ‘dramatic’ machine”.
Mark Weiser
University of Tromsø
2
Active Spaces
“This is a challenge that affects all of computer science.
Our preliminary approach: Activate the World”.
Mark Weiser
Active Spaces: Physical spaces augmented
with computing devices and software to
enhance its capabilities.
Examples: offices, lecture and meeting rooms,
homes, hospitals, campuses, airports, cities,
highways, ...
University of Tromsø
3
Priority #1:
Managing Dynamism
Mobile users
Mobile devices
Mobile Software
Evolving Software
new component versions
new configurations
Evolving Hardware
Replacing old devices by new ones
Reconfiguring devices
University of Tromsø
4
Our Approach
2K Network-Centric OS: a meta-OS
that provides support for any kind of
dynamic, heterogeneous environment.
Gaia: provides services directly related to
supporting physical active spaces.
University of Tromsø
5
The 2k Network-Centric OS
Runs as middleware on top of Solaris,
Linux, Windows.
Goal: Facilitate the management of
dynamic, heterogeneous systems by
developers,
system administrators, and
users.
University of Tromsø
6
Scope of 2K Research
1. Interoperability
(IDL, CORBA, reflective ORBS, minimal ORBs)
2. Naming and Trading (OMG standard)
3. Component-based services and applications
4. Dynamic (re)configuration
5. Security and Privacy
University of Tromsø
7
Scope of 2K Research
6. Distributed Resource Management
7. Quality of Service
8. Monitoring
9. Fault-Tolerance
But, remember:
Not all these features are required all the
time. So, configurability is the key.
University of Tromsø
8
Gaia: Getting Physical
In addition to the 2K functionality, must have:
Federation of Name Servers and Traders
Framework to represent heterogeneous devices
Data Object Service
Location Service (for things that move)
Event Service
Discovery Service
Security Service
Bridges/adapters to other models (e.g. Jini)
University of Tromsø
9
Representing Physical Spaces
University of Tromsø
10
Using the Trader Federation
To Locate Devices
printerOffer =
DCLTrader->query(“printer”,
“Postscript == True and PagesPerMinute > 10”,
“min (Price)”);
myPrinter
= printerOffer.reference;
myPrinterProperties = printerOffer.properties;
myPrinter->print (myFile);
cout << “Your file is being printed in room ” <<
myPrinterProperties[ROOM] << endl;
University of Tromsø
11
Framework for Representing
Heterogeneous Devices
Plan9 and UNIX use a single FILE
interface for accessing all devices.
Other extreme: having an independent
interface for each new device.
Many times this is not appropriate.
Difficult to manage and to program.
Intermediate approach:
Object-Oriented Framework for Devices.
University of Tromsø
12
Inheritance Diagram for
Active Space Entities
University of Tromsø
13
The Data Object Service
Christopher Hess (Illinois) inspired by Francisco
Ballesteros (Madrid).
Motivation:
Growing use of heterogeneous devices connected to
a single global network, accessing the same data.
Some devices possess limited resources and may not
be able to render data in original format.
Using an Adaptable Data Service devices access data
source in the format they require.
Service handles complex tasks ordinarily left to the
application developer.
University of Tromsø
14
Data Object Service
Overview
Applications open data as desired type
dynamically typed file system.
Information delivered as data objects.
Data sources represented as containers.
Access to data gained via iterators.
System sets up data flow paths.
Modules in flow path may alter data.
University of Tromsø
15
Example
BitmapContainer
AudioContainer
GrepContainer
BitmapContainer
Pixel2Bitmap
Converter
PixelContainer
GIF2Pixel
Converter
Text2Audio
Converter
Grep
Processor
Word
Container
Word
Pixel2Bitmap
Converter
GIF2Pixel
Converter
PowerPoint
Container
PowerPoint
University of Tromsø
Mail
Container
MPEG
Container
Mail
MPEG
16
Architecture Overview
Client
Library
Container
Manager
XML Database
Component
Repository
Application
[room]
Layout
Manager
University of Tromsø
17
Container Categories
File containers – access to native
operating system files.
Processor containers – files with “dynamic
content”.
Converter containers – transform content.
Partition containers – creates chunks for
“streamable” containers.
University of Tromsø
18
Path Generator
Converter/Processor
Containers
Interface Map
File
Containers
.gif
BitmapContainer
PixelContainer
bitmap
pixel
GIF2PixelConverter
gif
PowerPointContainer
mpeg
MPEGContainer
WordContainer
text
TextContainer
DirectoryContainer
PowerPointContainer
MPEGContainer
TextContainer
dirent
.ppt
.mpg
.txt
.doc
ByteContainer
byte
University of Tromsø
ByteContainer
*
19
Uses of Containers
Data storage – files and directories.
Devices - printer, whiteboard, X10.
Shared memory - tuple spaces.
Proxies – remote transformations.
Change interfaces of data sources –
whiteboard to mouse.
Services – news.
University of Tromsø
20
Ongoing Work
Port to small devices (e.g., PalmPilot).
Dynamic placement for load balancing.
Streaming of container contents.
Use as location-specific storage:
Layout
Manager
University of Tromsø
21
Gaia Kernel
Discovery Service
Tracks entities entering and leaving the space:
Software Components
People
Physical entities
Keeps information about active entities
Exports information using the Event Service.
University of Tromsø
22
Gaia Kernel
Space Repository
Stores and exports information about
entities contained in the space.
Automatically updates a trading service
with entity information (includes object
reference).
Keeps a list of entities up-to-date by listening
on the Discovery Channel.
At bootstrap, parses an XML file containing a
list of entities to be started automatically.
University of Tromsø
23
Gaia Kernel
Security Service
Binny Gill and Prashant Viswanathan:
Authentication and Credentials
Access Control
Secure Loading of Components
Secure Bootstrapping of Active Spaces
Tracking and Privacy
University of Tromsø
24
Gaia Kernel
Security Service
Authentication:
In an ubiquitous computing environment
different mechanisms of authentication will
exist
Swipe
Cards.
Smart Badges.
Fingerprinting, Voice recognition, etc.
Traditional login/password authentication.
University of Tromsø
25
Gaia Kernel
Security Service
Authentication:
Problems addressed
Delegation
of authority to trusted programs.
Delegation of authority to untrusted programs.
Simple authentication – a user authenticating
himself to a service
Mechanisms
Credentials:
Delegatable.
Generic, Restricted and NonUniversity of Tromsø
26
Gaia Kernel
Security Service
Access Control:
Users can be assigned:
Roles
and Role Attributes. (student , new employee)
Value Attributes. (Age = 23)
Policies for resources:
Specified
in terms of roles and attributes.
Support method-level policies.
Associated with every resource and are used by the
Access Control Service in conjunction with
credentials to grant/deny access.
University of Tromsø
27
Gaia Kernel
Security Service
Secure component loading:
All components are downloaded from a Component
Repository and are loaded in a Component Container.
Policies in the Component Container determine which
user can load components within it.
The Component Repository also has policies associated
with it determining which user can upload/download
components.
Components can be signed to verify authenticity.
University of Tromsø
28
Gaia Kernel
Security Service
Secure bootstrap (two levels):
First Level consists of boot-strapping Security
Services, Naming Service and other basic services.
The services started in the first level constitute the
Trusted Computing Base for GAIA.
Second Level boots an active space after verifying
the integrity of the first level.
University of Tromsø
29
Gaia Kernel
Security Service
Tracking and privacy:
Tracking: the system is aware of the location
of users and devices.
Privacy: the location information should not
be made public unless explicitly desired by
the user.
University of Tromsø
30
Universally Interoperable
Core
Component-based communication
middleware by Manuel Román (Ubicore)
Motivation
Ubiquitous Computing requires a very flexible
and dynamically configurable distributed object
model (e.g. dynamicTAO).
But
CORBA (and dynamicTAO) is too big
Unfortunately [?] CORBA is not the only model
University of Tromsø
31
UIC and WYNIWYG
What You Need is What You Get
The ORB is broken small components.
Only the required ones are loaded.
Components can be loaded and unloaded
dynamically to customize functionality.
Result: the middleware can fit in very small
devices.
University of Tromsø
32
Current Approach
Different interoperability mechanisms require
different object implementations.
Object
1
Object
1
Corba
JavaRMI
SOAP
Object
1
University of Tromsø
33
UIC: Object is Always the Same
Changes in the interoperability mechanisms
should not affect the implementation of the
object.
Corba
JavaRMI
SOAP
Object
1
University of Tromsø
34
Customization
Transport protocol and Connection establishment
Marshaling and demarshaling strategies
Memory Management
Method invocation protocols
Data streaming protocols
Method dispatching scheduling
Object reference generation and parsing
Object registration and method dispatching
Client and Server Interface
Thread strategies
University of Tromsø
35
UIC Personalities
skeleton
UIC-RTP
UIC-CORBA
UIC-SOAP
Common
infrastructure
University of Tromsø
UIC™-Multipersonality
36
Static Configuration
Assemble the UIC at link time.
No reconfiguration allowed.
Best size results.
University of Tromsø
37
Dynamic Configuration
Assemble the UIC at runtime.
Replace components at runtime.
Reconfigure architecture at runtime.
Size increases (dynamic manipulation
infrastructure).
Recommended for dynamic scenarios.
Service provider can update UIC remotely.
University of Tromsø
38
UIC-CORBA Sizes
PalmOS
Static Library
WindowsNT
Release DLL
24 KB
68 KB
UIC-CORBA
Server-Side
31.5 KB
84 KB
UIC-CORBA
Client/Server
37 KB
92 KB
UIC-CORBA
Client-Side
13 KB
WindowsCE
(SH3 proc.)
Release DLL
University of Tromsø
39
Ongoing Work
Integration of all current services in
experimental Active Spaces at the U. of Illinois
Sensing / Tracking / Visual Recognition
Adaptive Networking
Power Management for Mobile Devices
Rendering Realistic 3D Models
U. São Paulo:
Supporting Adaptive Applications
Distributed Information Services for Mobile Users
University of Tromsø
40
Project SIDAM:
Traffic Information System
São Paulo is a city of 17M people
Street and road traffic is a complete chaos.
Goal:
develop a prototype of a very-large-scale
system to provide relevant information about
traffic conditions in real-time to mobile users.
University of Tromsø
41
Research Topics
Scalability, replication, data consistency
Protocols for mobile computing
Data obsolescence
Dynamic Reconfiguration for
fault-tolerance
load balance
mobility (change of context)
promoting data locality
University of Tromsø
42
The Java Prototype
Information Servers (traffic information).
Location Servers (a directory service of
Information Servers).
ComponentConfigurators manage the
dependencies between ISs and LSs.
Also hold information about alternatives.
Failure of an Information Server triggers
automatic reconfiguration.
University of Tromsø
43
Project SIDAM:
Ongoing Work
Trigger automatic reconfiguration when any
component in the system fails.
Creation and destruction of Information and
Location Servers according to system load.
Migration of components according to load
and phisical location of clients.
Goal: increase availability and response time
of the Traffic Information System.
University of Tromsø
44
For more information
Roy Campbell: [email protected]
Fabio Kon:
[email protected]
2K Web site:
http://choices.cs.uiuc.edu/2K
Gaia Web site:
http://choices.cs.uiuc.edu/gaia
SIDAM Web site:
http://www.ime.usp.br/~sidam
University of Tromsø
45