580 likes | 603 Views
Gaia An 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:.
E N D
GaiaAn 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.uiuc.edu
Motivation • 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.
Gaia 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.
Research • Important issues: • Context • Mobility • Virtual spaces • Generic applications • Research scope: • Ubiquitous Computing • Distributed Systems • Operating Systems • Middleware • Quality of Service • Multimedia • Security
QoS Translation Service Middleware Resource Management Service Event Manager Gaia Kernel Gaia 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
Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Gaia Kernel Component Management Core Component Management Core
Component Management Core • Provides functionality to manipulate components in Gaia: • Creation • Destruction • Uploading • Contains three basic abstractions: • Components • Component Containers • Nodes
Component Management Core Active Space Gaia Component Container Gaia Node Gaia Node Gaia Components Gaia Component Container Gaia Node Examples
Gaia Kernel Services • Event Manager • Context Service • Context File System • Component Repository • Presence Service • Space Repository
Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Gaia Kernel Component Management Core Event Manager
Event Manager • Loosely coupled communication based on channels. • Supports push, pull, and hybrid mechanisms. • Supports creation of named event channels and distribution of load.
Event Manager Event Channel Factory 1 Event Channel Factory n Suppliers Suppliers . . . Event Manager Event Channels CreateChannelType DeleteChannelType CreateEventChannel GetEventChannel DeleteEventChannel ListChannelTypes ListEventChannels Consumers Consumers
Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core Gaia Kernel Context Service
Context-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, …
Context Service • Provides a taxonomy and uniform representation of context types. • Provides an infrastructure to promote design, implementation, and evolution of context-aware applications.
Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core Gaia Kernel Context File System
Context 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.
Data Organization space = office location = RM2401 time = 11/28/01
BitmapContainer BitmapContainer AudioContainer GSMContainer Pixel2Bitmap Converter GIF2Pixel Converter Text2Audio Converter PCM2GSM Converter Pixel2Bitmap Converter MP3 Container MPEG Container PowerPoint Container Mail Container MPEG MP3 PowerPoint Mail Data Transformation
Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Gaia Kernel Component Management Core Component Repository
Component Repository • Provides persistent storage of components. • Allows addition, removal, and browsing of components. • Used by Component Management Core to dynamically retrieve components.
Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Gaia Kernel Component Management Core Presence Service
Presence 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.
Presence 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
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core Space Repository
Space 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.
Space Repository Presence Channels Component Detection Mechanism Component Query Interface Database Component
Gaia 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.
Gaia QoS Services • Resource Management Service • Configuration Management Service • QoS Translation Service • QoS Instantiation Service • QoS Adaptation Service
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core Resource Management Service
Resource 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 space’s resource availability via user-friendly GUIs. • Provides APIs which can be used to query the current resource availability.
Resource Management Service Multimedia Applications reserve schedule notify adapt DSRT CPU Scheduler Memory Management QualMan Power Management Network Management monitor adapt OS HardwareResources
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core Configuration Management Service
Configuration 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.
Configuration 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
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core QoS Translation Service
QoS Translation Service • Associates QoS-aware application graph with high-level application QoS requirements. • Translates association into system resource requirements.
QoS Translation Service Space Repository Application/ middleware association System resource requirement translation Gaia node Available QoS-oriented Middleware services
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core QoS Instantiation Service
QoS Instantiation Service • Instantiates an application-specific configuration into the Active Space.
QoS 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
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core QoS Adaptation Service
QoS 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.
QoS 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
Gaia Kernel Applications QoS Adaptation Service QoS Translation Service Middleware Application Framework Resource Management Service Configuration Management Service QoS Instantiation Service Context File System Event Manager Context Service Component Repository Presence Service Space Repository Component Management Core Application Framework
Application Framework • Active Spaces render traditional applications obsolete. • Applications for Active Spaces are: • Distributed • Adaptable • Mobile • Multi-Machine User Interface
Traditional Application Mapping Application Logic Display Controller
Application Logic Displays Controllers Active Space Application Mapping