ubiquitous computing and active spaces the gaia approach fabio kon [email protected] department of...

45
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

Upload: reilly-super

Post on 01-Apr-2015

226 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

Ubiquitous Computing and Active Spaces

The Gaia Approach

Fabio [email protected]

Department of Computer ScienceUniversity of São Paulo, Brazil

http://www.ime.usp.br/~kon

Page 2: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 2

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

Page 3: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 3

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, ...

Page 4: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 4

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

Page 5: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 5

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.

Page 6: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 6

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.

Page 7: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 7

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

Page 8: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 8

Scope of 2K Research

6. Distributed Resource Management7. Quality of Service8. Monitoring9. Fault-Tolerance

But, remember: Not all these features are required all

the time. So, configurability is the key.

Page 9: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 9

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)

Page 10: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 10

Representing Physical Spaces

Page 11: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 11

Using the Trader FederationTo 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;

Page 12: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 12

Framework for Representing Heterogeneous Devices

Plan9 and UNIX use a single FILE interface for accessing all devices. Many times this is not appropriate.

Other extreme: having an independent interface for each new device. Difficult to manage and to program.

Intermediate approach: Object-Oriented Framework for

Devices.

Page 13: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 13

Inheritance Diagram for Active Space Entities

Page 14: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 14

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.

Page 15: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 15

Data Object ServiceOverview

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.

Page 16: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 16

MPEGContainer

MPEG

WordContainer

Word

Example

GrepProcessor

Pixel2BitmapConverter

Text2AudioConverter

GIF2PixelConverter

GIF2PixelConverter

Pixel2BitmapConverter

BitmapContainer

AudioContainer

PixelContainer

MailContainer

PowerPointContainer

MailPowerPoint

BitmapContainerGrepContainer

Page 17: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 17

Architecture Overview

ContainerManager

[room]Layout

Manager

XML Database

Application

Component Repository

ClientLibrary

Page 18: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 18

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.

Page 19: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 19

Path Generator

Interface Map

Converter/Processor Containers

bitmap

pixelBitmapContainer

MPEGContainer

PowerPointContainer

PixelContainer

ByteContainer

DirectoryContainer

WordContainer

TextContainer

FileContainers

dirent

byte

.ppt

*

.mpg

.gif

gif

mpeg

.txt

.doc

text

ByteContainer

DirectoryContainer

TextContainer

WordContainer

GIF2PixelContainerPixel2BitmapConverter

MPEGContainer

GIF2PixelConverter PowerPointContainer

Page 20: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 20

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.

Page 21: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 21

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

Page 22: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 22

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.

Page 23: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 23

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.

Gaia Kernel Space Repository

Page 24: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 24

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

Page 25: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 25

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.

Page 26: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 26

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: Generic, Restricted and Non-

Delegatable.

Page 27: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 27

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.

Page 28: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 28

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.

Page 29: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 29

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.

Page 30: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 30

Gaia KernelSecurity 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.

Page 31: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 31

UIC: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

Page 32: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 32

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.

Page 33: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 33

Different interoperability mechanisms require different object implementations.

Object1

Object1

Object1

Object1

CorbaJavaRMI

SOAP

Current Approach

Page 34: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 34

Changes in the interoperability mechanisms should not affect the implementation of the object.

Object1

Object1

CorbaJavaRMI

SOAP

UIC: Object is Always the Same

Page 35: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 35

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

Page 36: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 36

skeleton

UIC-CORBA UIC-SOAP

Commoninfrastructure

UIC Personalities

UIC-RTP

UIC™-Multipersonality

Page 37: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 37

Assemble the UIC at link time.

No reconfiguration allowed.

Best size results.

Static Configuration

Page 38: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 38

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.

Dynamic Configuration

Page 39: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 39

UIC-CORBA Sizes

PalmOS Static Library

WindowsCE (SH3 proc.) Release DLL

WindowsNT Release DLL

UIC-CORBA Client-Side

13 KB 24 KB 68 KB

UIC-CORBA Server-Side

31.5 KB 84 KB

UIC-CORBA Client/Server

37 KB 92 KB

 

Page 40: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 40

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

Page 41: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 41

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.

Page 42: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 42

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

Page 43: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 43

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.

Page 44: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 44

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.

Page 45: Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon kon@ime.usp.br Department of Computer Science University of São Paulo, Brazil kon

University of Tromsø 45

For more information

Roy Campbell: [email protected] 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