Ubiquitous computing and active spaces the gaia approach
Download
1 / 45

Ubiquitous Computing and - PowerPoint PPT Presentation


  • 242 Views
  • Updated On :

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ubiquitous Computing and ' - LionelDale


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ubiquitous computing and active spaces the gaia approach l.jpg

Ubiquitous Computing and Active SpacesThe Gaia Approach

Fabio Kon

[email protected]

Department of Computer Science

University of São Paulo, Brazil

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


Ubiquitous computing l.jpg
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ø


Active spaces l.jpg
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ø


Priority 1 managing dynamism l.jpg
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ø


Our approach l.jpg
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ø


The 2k network centric os l.jpg
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ø


Scope of 2k research l.jpg
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ø


Scope of 2k research8 l.jpg
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ø


Gaia getting physical l.jpg
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ø


Representing physical spaces l.jpg
Representing Physical Spaces

University of Tromsø


Using the trader federation to locate devices l.jpg
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;

University of Tromsø


Framework for representing heterogeneous devices l.jpg
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.

University of Tromsø



The data object service l.jpg
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ø


Data object service overview l.jpg
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.

University of Tromsø


Example l.jpg

BitmapContainer

BitmapContainer

AudioContainer

GrepContainer

PixelContainer

Example

Pixel2Bitmap

Converter

GIF2Pixel

Converter

Text2Audio

Converter

Grep

Processor

Pixel2Bitmap

Converter

Word

Container

GIF2Pixel

Converter

PowerPoint

Container

Mail

Container

MPEG

Container

Word

PowerPoint

Mail

MPEG

University of Tromsø


Architecture overview l.jpg
Architecture Overview

Container

Manager

XML Database

Client

Library

Component

Repository

Application

[room]

Layout

Manager

University of Tromsø


Container categories l.jpg
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ø


Path generator l.jpg
Path Generator

Converter/Processor

Containers

File

Containers

Interface Map

.gif

GIF2PixelContainer

bitmap

Pixel2BitmapConverter

BitmapContainer

pixel

gif

.ppt

GIF2PixelConverter

PowerPointContainer

PixelContainer

PowerPointContainer

mpeg

.mpg

MPEGContainer

MPEGContainer

WordContainer

text

TextContainer

.txt

TextContainer

WordContainer

DirectoryContainer

dirent

.doc

ByteContainer

DirectoryContainer

byte

*

ByteContainer

University of Tromsø


Uses of containers l.jpg
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ø


Ongoing work l.jpg
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ø


Gaia kernel discovery service l.jpg
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ø


Gaia kernel space repository l.jpg
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ø


Gaia kernel security service l.jpg
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ø


Gaia kernel security service25 l.jpg
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ø


Gaia kernel security service26 l.jpg
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.

University of Tromsø


Gaia kernel security service27 l.jpg
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ø


Gaia kernel security service28 l.jpg
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ø


Gaia kernel security service29 l.jpg
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ø


Gaia kernel security service30 l.jpg
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.

University of Tromsø


Uic universally interoperable core l.jpg
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

University of Tromsø


Uic and wyniwyg l.jpg
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ø


Current approach l.jpg
Current Approach

  • Different interoperability mechanisms require different object implementations.

Object

1

Object

1

Object

1

Corba

Object

1

JavaRMI

SOAP

University of Tromsø


Uic object is always the same l.jpg
UIC: Object is Always the Same

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

Corba

Object

1

Object

1

JavaRMI

SOAP

University of Tromsø


Customization l.jpg
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ø


Uic personalities l.jpg

UIC™-Multipersonality

UIC Personalities

skeleton

UIC-RTP

UIC-SOAP

UIC-CORBA

Common

infrastructure

University of Tromsø


Static configuration l.jpg
Static Configuration

  • Assemble the UIC at link time.

  • No reconfiguration allowed.

  • Best size results.

University of Tromsø


Dynamic configuration l.jpg
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ø


Uic corba sizes l.jpg

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

UIC-CORBA Sizes

University of Tromsø


Ongoing work40 l.jpg
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ø


Project sidam traffic information system l.jpg
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ø


Research topics l.jpg
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ø


The java prototype l.jpg
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ø


Project sidam ongoing work l.jpg
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ø


For more information l.jpg
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ø


ad