Title: Gaia An Infrastructure for Active Spaces
1GaiaAn Infrastructure for Active Spaces
Computer Science Department University of Illinois
Prof. Klara Nahrstedt Prof. David Kriegman Prof.
Dennis Mickunas
Prof. Roy H. Campbell Prof. Michael Garland Prof.
Robin Kravets
Funding and contact information can be found at
http//choices.cs.uiuc.edu/gaia http//cairo.cs.ui
uc.edu
2Motivation
- People-Centric
- mobile users in pervasive computing environment
- many resources, devices per user
- Ubiquitous computing model for applications.
- Resource management and infrastructure for
pervasive computing. - Context sensitive adaptation of applications,
services, and resources.
3Gaia Information Spaces
- Active Space an abstraction of a physical or
virtual space. - Physical spaces defined by computing devices
located in attire, rooms, buildings, cities. - Virtual spaces represent mobile user and group
activities or sessions. - Gaia a software infrastructure that implements
Active Spaces on devices in a physical space.
4Research
- Important issues
- Context
- Mobility
- Virtual spaces
- Generic applications
- Research scope
- Ubiquitous Computing
- Distributed Systems
- Operating Systems
- Middleware
- Quality of Service
- Multimedia
- Security
5Gaia Architecture
Applications
QoS Adaptation Service
Application Framework
QoS Instantiation Service
Configuration Management Service
Context File System
Context Service
Component Repository
Presence Service
Space Repository
Component Management Core
6Component Management Core
7Component Management Core
- Provides functionality to manipulate components
in Gaia - Creation
- Destruction
- Uploading
- Contains three basic abstractions
- Components
- Component Containers
- Nodes
8Component Management Core
Active Space
Gaia Component Container
Gaia Node
Gaia Node
Gaia Components
Gaia Component Container
Gaia Node Examples
9Kernel Services
10Gaia Kernel Services
- Event Manager
- Context Service
- Context File System
- Component Repository
- Presence Service
- Space Repository
11Event Manager
12Event Manager
- Loosely coupled communication based on channels.
- Supports push, pull, and hybrid mechanisms.
- Supports creation of named event channels and
distribution of load. -
13Event Manager
Event Channel Factory 1
Event Channel Factory n
Suppliers
Suppliers
. . .
Event Manager
Event Channels
CreateChannelType DeleteChannelType CreateEventCha
nnel GetEventChannel DeleteEventChannel ListChanne
lTypes ListEventChannels
Consumers
Consumers
14Context Service
15Context-Aware Applications
- Situational information, or context, increases
richness of communication in human-computer
interaction. - Makes it possible to produce more useful
computational services. - Example contexts location, time, weather, stock
prices, moods, user activity,
16Context Service
- Provides a taxonomy and uniform representation of
context types. - Provides an infrastructure to promote design,
implementation, and evolution of context-aware
applications.
17Context File System
18Context File System
- Data Organization
- Context affects data organization.
- Data important in current context is easily
accessible. - Can attach context to files and directories.
- Context situation, location, space, group, time.
- Data Transformation
- Applications open data as desired type
dynamically typed file system. - System converts data to desired type.
19Data Organization
space office location RM2401 time 11/28/01
20Data Transformation
21Component Repository
22Component Repository
- Provides persistent storage of components.
- Allows addition, removal, and browsing of
components. - Used by Component Management Core to dynamically
retrieve components.
23Presence Service
24Presence Service
- Detects the presence of digital and physical
entities. - Generates events based on entity presence
- ENTER
- LEAVE
- Defines a group of event channels to disseminate
presence information. - Maintains soft-state of all digital entities
through a leasing mechanism.
25Presence Service
Physical Entity Presence
Person Presence Channel
Person
Application Presence Channel
Person Tracker
Enter Leave Events
Device Presence Channel
Service
Service Presence Channel
Digital Entity Presence
Application
Device
Event Manager Channels
26Space Repository
27Space Repository
- Centralized repository containing information
about active entities. - Interacts with Presence Service to keep
information up to date. - All entities described by a set of properties
(e.g., entity type, name, location, owner). - Exports a query interface based on properties.
28Space Repository
Presence Channels
Component
Detection Mechanism
Component
Query Interface
Database
Component
29Gaia QoS Services
30Gaia QoS Services
- Represents an overlay distributed system running
on top of Gaia kernel. - Provides resource management for QoS-sensitive
applications. - Dynamically adapts applications based on QoS
constraints and determines appropriate nodes for
service instantiation. - Translates high-level application QoS
requirements into system requirements.
31Gaia QoS Services
- Resource Management Service
- Configuration Management Service
- QoS Translation Service
- QoS Instantiation Service
- QoS Adaptation Service
32Resource Management Service
33Resource Management Service
- Delivers soft real-time guarantees to multimedia
applications in general-purpose, dynamic hardware
environment. - Monitors the current availability of system
resources in the distributed machines in an
Active Space. - Allows the Active Space administrator to monitor
the spaces resource availability via
user-friendly GUIs. - Provides APIs which can be used to query the
current resource availability.
34Resource Management Service
Multimedia Applications
reserve
schedule
notify
adapt
DSRT CPU Scheduler
Memory Management
QualMan
Power Management
Network Management
monitor
adapt
OS
Hardware Resources
35Configuration Management Service
36Configuration Management Service
- Selects the most suitable application-specific
configuration to be instantiated in an active
space, based on - compiled information
- location discovery
- resource availability
- Finds the best host to instantiate a service
component, - based on different discovery algorithms.
- Finds the possible instances of required service
- components in the configuration.
37Configuration Management Service
Configuration Repository
Application-specific QoS-aware Configuration
Selection Service
Executor
application request QoS level /most
suitable configuration
application request QoS level /all
possible configurations
Service Discovery Service
Resource Monitoring Service
38QoS Translation Service
39QoS Translation Service
- Associates QoS-aware application graph with
high-level application QoS requirements. - Translates association into system resource
requirements.
40QoS Translation Service
Space Repository
Application/ middleware association
System resource requirement translation
Gaia node
Available QoS-oriented Middleware services
41QoS Instantiation Service
42QoS Instantiation Service
- Instantiates an application-specific
configuration into the Active Space.
43QoS Instantiation Service
Component repository
Executor
QoS-aware Configuration Instantiation Service
application-specific configuration/ success or
failure
optional dynamic downloading
create component(s)
Gaia Node 1
Gaia Node 2
Gaia Node 3
Application component container
DSRT
Network management
Network management
DSRT
Middleware component container
44QoS Adaptation Service
45QoS Adaptation Service
- Controls and manages the QoS adaptations within
the same configuration. - Controls and manages the available configurations
of an application in the Active Space.
46QoS Adaptation Service
Configuration Repository
Application-specific adaptation policy
If CPU over runs then drop frame rate If
machine shuts down then switch machine If
machine client moves then switch
configuration
DSRT
DSRT
QoS_degrade() QoS_upgrade() Switch()
Resource-specific monitoring services
events
Resource Monitoring Service
register
QoS Adaptation Service
register
Presence Service
events
47Application Framework
48Application Framework
- Active Spaces render traditional applications
obsolete. - Applications for Active Spaces are
- Distributed
- Adaptable
- Mobile
- Multi-Machine User Interface
49Traditional Application Mapping
Application Logic
Display
Controller
50Active Space Application Mapping
51Model Presentation Controller Coordinator
Application Framework
Model
Controllers
Presentations
Slide Show Data
Application Functional Level
Application Meta-Level
Coordinator
MPCC Application
52MPCC Application Framework
- Model encapsulates the application logic.
- Presentation presents the data of the model
(audio, video, changes in the physical
environment). - Controller modifies the state of the model.
- Coordinator manages the application
architecture (application meta-level).
53Applications
54Applications
- Mobile Video
- Context Data Browser
- Presentation Viewer
55Mobile Video
Move!
Location A
Location B
Media Gateway
Media Server
Component Database
User Profile Server
56Context Data Browser
Context Mode
File Mode
57Presentation Viewer
58Thank You!
http//choices.cs.uiuc.edu/gaia http//cairo.cs.ui
uc.edu