an adaptable data object service for pervasive computing environments

19
An Adaptable Data Object Service for Pervasive Computing Environments Christopher K. Hess, Francisco Ballesteros, Roy H. Campbell, and M. Dennis Mickunas University of Illinois at Urbana- Champaign

Upload: gordon

Post on 12-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

An Adaptable Data Object Service for Pervasive Computing Environments. Christopher K. Hess, Francisco Ballesteros, Roy H. Campbell, and M. Dennis Mickunas University of Illinois at Urbana-Champaign. Introduction. Entering age of ubiquitous computing. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An Adaptable Data Object Service for Pervasive Computing Environments

An Adaptable Data Object Service for

Pervasive Computing Environments

Christopher K. Hess, Francisco Ballesteros, Roy H. Campbell, and

M. Dennis MickunasUniversity of Illinois at Urbana-

Champaign

Page 2: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 2

Introduction Entering age of ubiquitous computing. Future “smart” cities, buildings,

rooms, vehicles will join disparate devices.

Traditional file systems/databases are static and generally targeted at homogeneous environments.

Some attempts to incorporate weaker devices – WAP, TACC, etc.

Page 3: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 3

Gaia – Enabling Active Spaces Coordinates devices in an active space. Operating system for physical spaces. Treats space as one logical computing

device. Merging of physical and virtual. Application model:

MVC inspired. Adaptors change data model.

Page 4: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 4

Motivation Some devices possess limited resources. May not be able to render data in original

format. Propose adaptable data service to

accommodate requirements of diverse set of devices.

Device accesses data source in the format it requires.

Service handles complex tasks ordinarily left to the application developer.

Page 5: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 5

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

Page 6: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 6

MPEGContainer

MPEG

WordContainer

Word

Example

GrepProcessor Pixel2Bitmap

Converter

Text2AudioConverter

GIF2PixelConverter

GIF2PixelConverter

Pixel2BitmapConverter

BitmapContainer

AudioContainer

PixelContainer

MailContainer

PowerPointContainer

MailPowerPoint

BitmapContainerGrepContainer

Page 7: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 7

Architecture OverviewContainerManager

LayoutManager

XML Database

Application

Component Repository

ClientLibrary

Page 8: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 8

Architecture System layer:

Distributed objects. Container and stream interfaces.

User layer: Combination of templates and

wrappers. Container/iterator API plus container-

specific methods.

Page 9: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 9

Factory for container creation. Application specifies source and

type. Manager chains containers

together.

Container Manager

createContainer(source, type)

Manager

Application

Source

otype

itype

type

Page 10: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 10

Container Manager Interface of container may be

changed to produce different data format.

Used to call methods on “inner” container.

Obj. ref.

adaptInterface(type)

ContainerManager

Obj. ref.

Container

Manager

typeotype

type

itype

Page 11: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 11

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 12: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 12

XML Container Description <DOS:Container> <DOS:Converter/> <DOS:Interface>BitmapContainer</DOS:Interface> <DOS:Name>Pixel2BitmapConverter</DOS:Name> <DOS:Input>pixel</DOS:Input> <DOS:Output>bitmap</DOS:Output></DOS:Container>

Page 13: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 13

Path GeneratorInterface Map

Converter/Processor Containers

bitmap

pixelBitmapContainer

MPEGContainerPowerPointContainer

PixelContainer

ByteContainerDirectoryContainer

WordContainerTextContainer

FileContainers

dirent

byte

.ppt

*

.mpg

.gif

gif

mpeg

.txt

.doc

text

ByteContainer

DirectoryContainer

TextContainer

WordContainer

GIF2PixelContainerPixel2BitmapConverter

MPEGContainer

GIF2PixelConverter PowerPointContainer

Page 14: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 14

API Based on containers and iterators (STL). Combination of template classes and

C++ wrappers provides simple interface.

Apply generic programming to distributed objects. CORBA

ContainerIteratorContainer Wrapper

DataObjects Container Template

Specific Methods

Page 15: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 15

Generic Programming Containers adhere to method name

conventions. Templates used to handle data type

differences. Container specifies iterator type:

ForwardObjectIterator RandomObjectIterator InputStreamIterator RandomStreamIterator

Page 16: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 16

Application ExampleBitmapViewer viewer;PowerPointContainer p("/tmp/presentation.ppt");p.setDimensions(352, 240);BitmapContainer *b = new BitmapContainer(&p);BitmapContainer::iterator i;for (i = b->begin(); i != b->end(); i++) {

BitmapObject obj = *i;viewer.display(obj);// get input from user

}

Page 17: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 17

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 18: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 18

Future 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 19: An Adaptable Data Object Service for Pervasive Computing Environments

04/22/23 COOTS'01 19

Conclusions Heterogeneous distributed systems

becoming more pervasive. Some devices cannot accept original

data format due to available resources. Applications open data as desired type. Data object service adapts content to

device characteristics. Simple user interface.