ubiquitous computing and active spaces the gaia approach
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Ubiquitous Computing and Active Spaces
The Gaia Approach
Fabio [email protected]
Department of Computer ScienceUniversity 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
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ø 5
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ø 6
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ø 7
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ø 8
Scope of 2K Research
6. Distributed Resource Management7. Quality of Service8. Monitoring9. Fault-Tolerance
But, remember: 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: 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ø 10
Representing Physical Spaces
University of Tromsø 11
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ø 12
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ø 13
Inheritance Diagram for Active Space Entities
University of Tromsø 14
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ø 15
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ø 16
MPEGContainer
MPEG
WordContainer
Word
Example
GrepProcessor
Pixel2BitmapConverter
Text2AudioConverter
GIF2PixelConverter
GIF2PixelConverter
Pixel2BitmapConverter
BitmapContainer
AudioContainer
PixelContainer
MailContainer
PowerPointContainer
MailPowerPoint
BitmapContainerGrepContainer
University of Tromsø 17
Architecture Overview
ContainerManager
[room]Layout
Manager
XML Database
Application
Component Repository
ClientLibrary
University of Tromsø 18
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ø 19
Path Generator
Interface Map
Converter/Processor Containers
bitmap
pixelBitmapContainer
MPEGContainer
PowerPointContainer
PixelContainer
ByteContainer
DirectoryContainer
WordContainer
TextContainer
FileContainers
dirent
byte
.ppt
*
.mpg
.gif
gif
mpeg
.txt
.doc
text
ByteContainer
DirectoryContainer
TextContainer
WordContainer
GIF2PixelContainerPixel2BitmapConverter
MPEGContainer
GIF2PixelConverter PowerPointContainer
University of Tromsø 20
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ø 21
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ø 22
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ø 23
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.
Gaia Kernel Space Repository
University of Tromsø 24
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ø 25
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ø 26
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ø 27
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ø 28
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ø 29
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ø 30
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ø 31
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ø 32
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ø 33
Different interoperability mechanisms require different object implementations.
Object1
Object1
Object1
Object1
CorbaJavaRMI
SOAP
Current Approach
University of Tromsø 34
Changes in the interoperability mechanisms should not affect the implementation of the object.
Object1
Object1
CorbaJavaRMI
SOAP
UIC: Object is Always the Same
University of Tromsø 35
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ø 36
skeleton
UIC-CORBA UIC-SOAP
Commoninfrastructure
UIC Personalities
UIC-RTP
UIC™-Multipersonality
University of Tromsø 37
Assemble the UIC at link time.
No reconfiguration allowed.
Best size results.
Static Configuration
University of Tromsø 38
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.
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 KB 24 KB 68 KB
UIC-CORBA Server-Side
31.5 KB 84 KB
UIC-CORBA Client/Server
37 KB 92 KB
University of Tromsø 40
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ø 41
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ø 42
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ø 43
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ø 44
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ø 45
For more information
Roy Campbell: [email protected] 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