Title: The Gaia System
1The Gaia System
2Not Invented Here
- Lots of Pervasive Computing Projects
- Carnegie Mellon Univ.
- U. Washington
- Georgia Tech
- UC Berkeley
- Univ. Illinois Urbana Champaign
- Gaia
- England Scandinavia ??
3Similarities
- Pervasive computing can be characterized as
- Extensive management for components (services,
devices) - Components are autonomous
- Some application programming support
- Java or Python
- Rules or scripts
- Still very primitive (in my opinion)
4Gaia 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
5Component Management Core
- Provides functionality to manipulate components
in Gaia - Creation
- Destruction
- Uploading
- Contains three basic abstractions
- Components
- Component Containers
- Nodes
6Component Management Core
Active Space
Gaia Component Container
Gaia Node
Gaia Node
Gaia Components
Gaia Component Container
Gaia Node Examples
7Gaia Kernel Services
- Event Manager
- Context Service
- Context File System
- Component Repository
- Presence Service
- Space Repository
8Event Manager
- Loosely coupled communication based on channels.
- Supports push, pull, and hybrid mechanisms.
- Supports creation of named event channels and
distribution of load. -
9Event 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
10Context-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,
11Context Service
- Provides a taxonomy and uniform representation of
context types. - Provides an infrastructure to promote design,
implementation, and evolution of context-aware
applications.
12Context 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.
13Data Organization
space office location RM2401 time 11/28/01
14Data Transformation
15Component Repository
- Provides persistent storage of components.
- Allows addition, removal, and browsing of
components. - Used by Component Management Core to dynamically
retrieve components.
16Presence 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.
17Presence 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
18Space 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.
19Space Repository
Presence Channels
Component
Detection Mechanism
Component
Query Interface
Database
Component
20Application Framework
- Active Spaces render traditional applications
obsolete. - Applications for Active Spaces are
- Distributed
- Adaptable
- Mobile
- Multi-Machine User Interface
21Traditional Application Mapping
Application Logic
Display
Controller
22Active Space Application Mapping
23Model Presentation Controller Coordinator
Application Framework
Model
Controllers
Presentations
Slide Show Data
Application Functional Level
Application Meta-Level
Coordinator
MPCC Application
24MPCC 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).
25(No Transcript)
26(No Transcript)
27(No Transcript)
28Application Generic Description
29Application Concrete Descp.
30(No Transcript)
31Applications
- Mobile Video
- Context Data Browser
- Presentation Viewer
32Mobile Video
Move!
Location A
Location B
Media Gateway
Media Server
Component Database
User Profile Server
33Context Data Browser
Context Mode
File Mode
34Presentation Viewer
35(No Transcript)
36(No Transcript)
37The Context Model
- Enables creation of complex, first-order
expressions involving context - Makes it possible to write rules, prove theorems,
evaluate queries
38Basic Structure
- Four parts
- context-type
- Subject Person, place, or thing
- Relater something that related subject to object
- Object is a value associated with subject
39Some examples
- Context(Location, Chris, Entering, G868)
- Context(Temperature, G868, Is, 98F)
- Context(Stock Quote, IBM, , 60 )
- Context(Printer Status, Pulp, Is, Empty)
- Context(Time, New York, Is 1200 01/01/04)
40Operations on Contexts
- Boolean, Existential, Quantification
- Context(lighting, G868,Is,Off) OR
- Context(lighting, G828,IS, Dim)
41Context Chat