A Flexible, Interoperable Framework for Active Spaces
Fabio Kon Chris Hess Manuel Roman Roy Campbell M. Dennis Mickunas
Department of Computer Science University of Illinois at Urbana-Champaign
1
Introduction
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, ...
2
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
3
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.
4
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.
5
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
6
Scope of 2K Research
6. Distributed Resource Management 7. Quality of Service 8. Monitoring 9. Fault-Tolerance
But, remember:
Not all these features are required all the time. So, configurability is the key.
7
Gaia: Getting Physical
In addition to the 2K functionality, must have: Federation of CORBA Name Servers Federation of CORBA Traders Object-Oriented Framework to represent heterogeneous devices Location Service (for things that move fast) Event Service (supporting discovery & reconfiguration) Bridges/adapters to other models (e.g. Jini)
8
Representing Physical Spaces
9
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;
10
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.
11
Inheritance Diagram for Active Space Entities
12
Ongoing Work
Integration of all current services in experimental Active Spaces at the University of Illinois Sensing / Tracking / Visual Recognition Adaptive Networking Supporting Adaptive Applications Power Management for Mobile Devices Rendering Realistic 3D Models
13
How to contact us
{f-kon,roy}@cs.uiuc.edu
2K Web site:
http://choices.cs.uiuc.edu/2K
Active Spaces Web site:
http://choices.cs.uiuc.edu/ActiveSpaces
14
The 2K Architecture
15