1 / 19

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 Mickunas University of Illinois at Urbana-Champaign. Introduction. Entering age of ubiquitous computing.

gordon
Download Presentation

An Adaptable Data Object Service for Pervasive Computing Environments

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. 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. 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. 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. COOTS'01

  6. 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 COOTS'01

  7. Architecture Overview Container Manager XML Database Client Library Component Repository Application Layout Manager 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. COOTS'01

  9. Container Manager • Factory for container creation. • Application specifies source and type. • Manager chains containers together. Application createContainer(source, type) type otype itype Manager Source 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. Obj. ref. type type adaptInterface(type) otype itype Container Container Manager Manager 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. 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> COOTS'01

  13. 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 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. Container Wrapper CORBA Container Data Objects Iterator Container Template Specific Methods 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 COOTS'01

  16. Application Example BitmapViewer 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 } 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. 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 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. COOTS'01

More Related