Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon Department of Computer Science University of São Paulo, Brazil

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

Towards a GRID Operating System: from GLinux to a Pervasive GVM Domenico TALIA DEIS University of Calabria ITALY CoreGRID Workshop.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Introduction to Computer Administration Introduction.
1 Secure Dynamic Reconfiguration of Scalable Systems with Mobile Agents Fabio Kon, Binny Gill, Manish Anand, Roy Campbell, and M. Dennis Mickunas
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
SANKHYA ® Varadhi The Digital Bridge TM. (c) Sankhya Technologies Private Limited. All Rights Reserved.2 Varadhi at a glance Object middleware.
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Gaia: A Middleware Platform for Active Spaces Summarized by Dongjoo Lee, IDS Lab., Seoul National University.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Mobile Computing Dorota Huizinga Department of Computer Science.
Distributed Systems Architectures
Gaia Context and Location-Aware Encryption for Pervasive Computing Environments Jalal Al-MuhtadiRaquel Hill Roy Campbell Dennis Mickunas University of.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Distributed Service Architectures Yitao Duan 03/19/2002.
Adaptive Directory Services for Highly Dynamic Environments Fabio Kon Department of Computer Science University of São Paulo, Brazil
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
Andrei Goldchleger, Fabio Kon, Alfredo Goldman and Marcelo Finger University of São.
A Mobile Agent Infrastructure for QoS Negotiation of Adaptive Distributed Applications Roberto Speicys Cardoso & Fabio Kon University of São Paulo – USP.
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
Smart Space & Oxygen CIS 640 Project By Usa Sammpun
Master Course /06/ Some additional words about pervasive/ubiquitous computing Lionel Brunie National Institute of Applied Science (INSA)
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Self-Organizing Adaptive Networks Hari Balakrishnan MIT Laboratory for Computer Science
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Print Services. 2 Objectives Understand Print Server terms and concepts Understand how printing works Print Server Considerations Printer Hardware Considerations.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Architectures of distributed systems Fundamental Models
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
Cerberus: A Context-Aware Security Scheme for Smart Spaces presented by L.X.Hung u-Security Research Group The First IEEE International Conference.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Future Directions in Middleware Research and Technology Fabio Kon Department of Computer Science University of São Paulo, Brazil
Master Course /11/ Some additional words about pervasive/ubiquitous computing Lionel Brunie National Institute of Applied Science (INSA)
 Problem Definition  Presented by Sushant and Alex Overview of the problem space Scenario Issues Example (plant care example) Discussion conclusion open.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
ICMC 2004 – Nov. 5 1 Andante: Composition and Performance with Mobile Musical Agents Leo Kazuhiro Ueda Fabio Kon
A Study of Context-Awareness: Gaia & SOCAM Presented by Dongjoo Lee IDS Lab., Seoul National University Gaia: A Middleware Infrastructure to.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
1 My Dream of Jini Fabio Kon Jalal Al-Muhtadi Roy Campbell M. Dennis Mickunas Department of Computer Science University of Illinois at.
Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
2: Operating Systems Networking for Home & Small Business.
Towards ‘Ubiquitous’ Ubiquitous Computing: an alliance with ‘the Grid’ Oliver Storz, Adrian Friday, and Nigel Davies Computing Department, Lancaster University,
Gaia Ubiquitous Computing Directions Roy Campbell University of Illinois at Urbana-Champaign.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Chapter 1 Characterization of Distributed Systems
The Role of Reflection in Next Generation Middleware
Network Operating Systems (NOS)
Printers.
Print Services.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Unit V Mobile Middleware.
Architectures of distributed systems Fundamental Models
Operating Systems.
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
System Software for Ubiquitous Computing
Operating Systems.
Presentation transcript:

Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon Department of Computer Science University of São Paulo, Brazil

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

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

University of Tromsø 4 Priority #1: Managing Dynamism l Mobile users l Mobile devices l Mobile Software l Evolving Software l new component versions l new configurations l Evolving Hardware l Replacing old devices by new ones l Reconfiguring devices

University of Tromsø 5 Our Approach l 2K Network-Centric OS: a meta-OS that provides support for any kind of dynamic, heterogeneous environment. l Gaia: provides services directly related to supporting physical active spaces.

University of Tromsø 6 The 2k Network-Centric OS l Runs as middleware on top of Solaris, Linux, Windows. l Goal: Facilitate the management of dynamic, heterogeneous systems by l developers, l system administrators, and l users.

University of Tromsø 7 Scope of 2K Research 1. Interoperability l (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ø 8 Scope of 2K Research 6. Distributed Resource Management 7. Quality of Service 8. Monitoring 9. Fault-Tolerance But, remember: l Not all these features are required all the time. So, configurability is the key.

University of Tromsø 9 Gaia: Getting Physical In addition to the 2K functionality, must have: l Federation of Name Servers and Traders l Framework to represent heterogeneous devices l Data Object Service l Location Service (for things that move) l Event Service l Discovery Service l Security Service l Bridges/adapters to other models (e.g. Jini)

University of Tromsø 10 Representing Physical Spaces

University of Tromsø 11 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ø 12 Framework for Representing Heterogeneous Devices l Plan9 and UNIX use a single FILE interface for accessing all devices. l Many times this is not appropriate. l Other extreme: having an independent interface for each new device. l Difficult to manage and to program. l Intermediate approach: l Object-Oriented Framework for Devices.

University of Tromsø 13 Inheritance Diagram for Active Space Entities

University of Tromsø 14 The Data Object Service l Christopher Hess (Illinois) inspired by Francisco Ballesteros (Madrid). l Motivation: l Growing use of heterogeneous devices connected to a single global network, accessing the same data. l Some devices possess limited resources and may not be able to render data in original format. l Using an Adaptable Data Service devices access data source in the format they require. l Service handles complex tasks ordinarily left to the application developer.

University of Tromsø 15 Data Object Service Overview l Applications open data as desired type l dynamically typed file system. l Information delivered as data objects. l Data sources represented as containers. l Access to data gained via iterators. l System sets up data flow paths. l Modules in flow path may alter data.

University of Tromsø 16 MPEG Container MPEG Word Container Word Example Grep Processor Pixel2Bitmap Converter Text2Audio Converter GIF2Pixel Converter GIF2Pixel Converter Pixel2Bitmap Converter BitmapContainer AudioContainer PixelContainer Mail Container PowerPoint Container MailPowerPoint BitmapContainerGrepContainer

University of Tromsø 17 Architecture Overview Container Manager [room] Layout Manager XML Database Application Component Repository Client Library

University of Tromsø 18 Container Categories l File containers – access to native operating system files. l Processor containers – files with “dynamic content”. l Converter containers – transform content. l Partition containers – creates chunks for “streamable” containers.

University of Tromsø 19 Path Generator Interface Map Converter/Processor Containers bitmap pixel BitmapContainer MPEGContainer PowerPointContainer PixelContainer ByteContainer DirectoryContainer WordContainer TextContainer File Containers dirent byte.ppt *.mpg.gif gif mpeg.txt.doc text ByteContainer DirectoryContainer TextContainer WordContainer GIF2PixelContainer Pixel2BitmapConverter MPEGContainer GIF2PixelConverterPowerPointContainer

University of Tromsø 20 Uses of Containers l Data storage – files and directories. l Devices - printer, whiteboard, X10. l Shared memory - tuple spaces. l Proxies – remote transformations. l Change interfaces of data sources – whiteboard to mouse. l Services – news.

University of Tromsø 21 Ongoing Work l Port to small devices (e.g., PalmPilot). l Dynamic placement for load balancing. l Streaming of container contents. l Use as location-specific storage: Layout Manager

University of Tromsø 22 Gaia Kernel Discovery Service l Tracks entities entering and leaving the space: l Software Components l People l Physical entities l Keeps information about active entities l Exports information using the Event Service.

University of Tromsø 23 l Stores and exports information about entities contained in the space. l Automatically updates a trading service with entity information (includes object reference). l Keeps a list of entities up-to-date by listening on the Discovery Channel. l At bootstrap, parses an XML file containing a list of entities to be started automatically. Gaia Kernel Space Repository

University of Tromsø 24 Gaia Kernel Security Service l Binny Gill and Prashant Viswanathan: l Authentication and Credentials l Access Control l Secure Loading of Components l Secure Bootstrapping of Active Spaces l Tracking and Privacy

University of Tromsø 25 Gaia Kernel Security Service l Authentication: l In an ubiquitous computing environment different mechanisms of authentication will exist l Swipe Cards. l Smart Badges. l Fingerprinting, Voice recognition, etc. l Traditional login/password authentication.

University of Tromsø 26 Gaia Kernel Security Service l Authentication: l Problems addressed l Delegation of authority to trusted programs. l Delegation of authority to untrusted programs. l Simple authentication – a user authenticating himself to a service l Mechanisms l Credentials: Generic, Restricted and Non- Delegatable.

University of Tromsø 27 Gaia Kernel Security Service l Access Control: l Users can be assigned: l Roles and Role Attributes. (student, new employee) l Value Attributes. (Age = 23) l Policies for resources: l Specified in terms of roles and attributes. l Support method-level policies. l Associated with every resource and are used by the Access Control Service in conjunction with credentials to grant/deny access.

University of Tromsø 28 Gaia Kernel Security Service l Secure component loading: l All components are downloaded from a Component Repository and are loaded in a Component Container. l Policies in the Component Container determine which user can load components within it. l The Component Repository also has policies associated with it determining which user can upload/download components. l Components can be signed to verify authenticity.

University of Tromsø 29 Gaia Kernel Security Service l Secure bootstrap (two levels): l First Level consists of boot-strapping Security Services, Naming Service and other basic services. l The services started in the first level constitute the Trusted Computing Base for GAIA. l Second Level boots an active space after verifying the integrity of the first level.

University of Tromsø 30 Gaia Kernel Security Service Tracking and privacy: l Tracking: the system is aware of the location of users and devices. l Privacy: the location information should not be made public unless explicitly desired by the user.

University of Tromsø 31 UIC: Universally Interoperable Core l Component-based communication middleware by Manuel Román (Ubicore) l Motivation l Ubiquitous Computing requires a very flexible and dynamically configurable distributed object model (e.g. dynamicTAO). l But l CORBA (and dynamicTAO) is too big l Unfortunately [?] CORBA is not the only model

University of Tromsø 32 UIC and WYNIWYG l What You Need is What You Get l The ORB is broken small components. l Only the required ones are loaded. l Components can be loaded and unloaded dynamically to customize functionality. l Result: the middleware can fit in very small devices.

University of Tromsø 33 l Different interoperability mechanisms require different object implementations. Object 1 Object 1 Object 1 Object 1 Corba JavaRMI SOAP Current Approach

University of Tromsø 34 l Changes in the interoperability mechanisms should not affect the implementation of the object. Object 1 Object 1 Corba JavaRMI SOAP UIC: Object is Always the Same

University of Tromsø 35 Customization Transport protocol and Connection establishment l Marshaling and demarshaling strategies Memory Management l Method invocation protocols l Data streaming protocols Method dispatching scheduling l Object reference generation and parsing l Object registration and method dispatching Client and Server Interface l Thread strategies

University of Tromsø 36 skeleton UIC-CORBA UIC-SOAP Common infrastructure UIC Personalities UIC-RTP UIC™-Multipersonality

University of Tromsø 37 l Assemble the UIC at link time. l No reconfiguration allowed. l Best size results. Static Configuration

University of Tromsø 38 l Assemble the UIC at runtime. l Replace components at runtime. l Reconfigure architecture at runtime. l Size increases (dynamic manipulation infrastructure). l Recommended for dynamic scenarios. l Service provider can update UIC remotely. Dynamic Configuration

University of Tromsø 39 UIC-CORBA Sizes PalmOS Static Library WindowsCE (SH3 proc.) Release DLL WindowsNT Release DLL UIC-CORBA Client-Side 13 KB24 KB68 KB UIC-CORBA Server-Side 31.5 KB84 KB UIC-CORBA Client/Server 37 KB92 KB

University of Tromsø 40 Ongoing Work l Integration of all current services in experimental Active Spaces at the U. of Illinois l Sensing / Tracking / Visual Recognition l Adaptive Networking l Power Management for Mobile Devices l Rendering Realistic 3D Models l U. São Paulo: l Supporting Adaptive Applications l Distributed Information Services for Mobile Users

University of Tromsø 41 Project SIDAM: Traffic Information System l São Paulo is a city of 17M people l Street and road traffic is a complete chaos. l Goal: l 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ø 42 Research Topics l Scalability, replication, data consistency l Protocols for mobile computing l Data obsolescence l Dynamic Reconfiguration for l fault-tolerance l load balance l mobility (change of context) l promoting data locality

University of Tromsø 43 The Java Prototype l Information Servers (traffic information). l Location Servers (a directory service of Information Servers). l ComponentConfigurators manage the dependencies between ISs and LSs. l Also hold information about alternatives. l Failure of an Information Server triggers automatic reconfiguration.

University of Tromsø 44 Project SIDAM: Ongoing Work l Trigger automatic reconfiguration when any component in the system fails. l Creation and destruction of Information and Location Servers according to system load. l Migration of components according to load and phisical location of clients. l Goal: increase availability and response time of the Traffic Information System.

University of Tromsø 45 For more information Roy Campbell: Fabio Kon: 2K Web site: Gaia Web site: SIDAM Web site: