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