Presentation on theme: "Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon Department of Computer Science University of São Paulo, Brazil"— Presentation transcript:
Ubiquitous Computing and Active Spaces The Gaia Approach Fabio Kon firstname.lastname@example.org Department of Computer Science University of São Paulo, Brazil http://www.ime.usp.br/~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
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ø 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ø 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: email@example.com Fabio Kon: firstname.lastname@example.org 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