Post on 16-Jan-2016
transcript
The Gaia System
6.893 Spring 2004: Gaia Larry Rudolph
Not Invented Here
Lots of Pervasive Computing Projects
Carnegie Mellon Univ.
U. Washington
Georgia Tech
UC Berkeley
Univ. Illinois Urbana ChampaignGaia
England & Scandinavia & ??
6.893 Spring 2004: Gaia Larry Rudolph
Similarities
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)
6.893 Spring 2004: Gaia Larry Rudolph
Mid
dlew
are
Gaia Architecture
Gaia
Kernel
EventManager
ContextService
ContextFile
System
ComponentRepository
PresenceService
SpaceRepository
ResourceManagement
Service
ApplicationFramework Configuration
ManagementService
QoSInstantiation
Service
QoSTranslation
Service
QoSAdaptation
Service
Applications
Component Management Core
6.893 Spring 2004: Gaia Larry Rudolph
Component Management Core
Provides functionality to manipulate components in Gaia:
Creation
Destruction
Uploading
Contains three basic abstractions:
Components
Component Containers
Nodes
6.893 Spring 2004: Gaia Larry Rudolph
Component Management Core
Gaia Components
Gaia Component ContainerGaia Node Examples
Gaia Node
Active Space
Gaia Component ContainerGaia Node
6.893 Spring 2004: Gaia Larry Rudolph
Gaia Kernel Services
Event Manager
Context Service
Context File System
Component Repository
Presence Service
Space Repository
6.893 Spring 2004: Gaia Larry Rudolph
Event Manager
Loosely coupled communication based on channels.
Supports push, pull, and hybrid mechanisms.
Supports creation of named event channels and distribution of load.
6.893 Spring 2004: Gaia Larry Rudolph
Event Manager
Event Manager
Event ChannelFactory 1
. . .Event Channel
Factory n
CreateChannelTypeDeleteChannelTypeCreateEventChannelGetEventChannelDeleteEventChannelListChannelTypesListEventChannels
ConsumersConsumers
Suppliers Suppliers
EventChannels
6.893 Spring 2004: Gaia Larry Rudolph
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, …
6.893 Spring 2004: Gaia Larry Rudolph
Context Service
Provides a taxonomy and uniform representation of context types.
Provides an infrastructure to promote design, implementation, and evolution of context-aware applications.
6.893 Spring 2004: Gaia Larry Rudolph
Context File SystemData 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.
6.893 Spring 2004: Gaia Larry Rudolph
Data Organization
space = officelocation = RM2401time = 11/28/01
6.893 Spring 2004: Gaia Larry Rudolph
Data Transformation
MPEGContainer
MPEG
Pixel2BitmapConverter
Text2AudioConverter
GIF2PixelConverter
Pixel2BitmapConverter
BitmapContainer
AudioContainer
MailContainer
PowerPointContainer
MailPowerPoint
BitmapContainer
MP3Container
MP3
PCM2GSMConverter
GSMContainer
6.893 Spring 2004: Gaia Larry Rudolph
Component Repository
Provides persistent storage of components.
Allows addition, removal, and browsing of components.
Used by Component Management Core to dynamically retrieve components.
6.893 Spring 2004: Gaia Larry Rudolph
Presence ServiceDetects 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.
6.893 Spring 2004: Gaia Larry Rudolph
Presence Service
Digital Entity
Presence
Physical Entity
Presence
Person Tracker
Application
Service
Device
Person
Event Manager Channels
Dev
ice
Pre
senc
e C
hann
el
Per
son
Pre
senc
e C
hann
el
Ser
vice
Pre
senc
e C
hann
el
App
lica
tion
Pre
senc
e C
hann
el
EnterLeaveEvents
6.893 Spring 2004: Gaia Larry Rudolph
Space RepositoryCentralized 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.
6.893 Spring 2004: Gaia Larry Rudolph
Space Repository
DetectionMechanism
Database
Presence Channels
ComponentQ
uery
Int
erfa
ce
Component
Component
6.893 Spring 2004: Gaia Larry Rudolph
Application Framework
Active Spaces render traditional applications obsolete.
Applications for Active Spaces are:
Distributed
Adaptable
Mobile
Multi-Machine User Interface
6.893 Spring 2004: Gaia Larry Rudolph
Traditional Application Mapping
Display
Controller
ApplicationLogic
6.893 Spring 2004: Gaia Larry Rudolph
Active Space Active Space Application MappingApplication Mapping
Controllers
Displays
ApplicationLogic
6.893 Spring 2004: Gaia Larry Rudolph
Model – Presentation – Controller – Coordinator Application Framework
Coordinator
ApplicationFunctionalLevel
Application Meta-Level
MPCC Application
Model
Slide ShowData
Controllers Presentations
6.893 Spring 2004: Gaia Larry Rudolph
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).
MPCC Application Framework
6.893 Spring 2004: Gaia Larry Rudolph
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
Application Generic Description
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
Application Concrete Descp.
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
Applications
Mobile Video
Context Data Browser
Presentation Viewer
6.893 Spring 2004: Gaia Larry Rudolph
Mobile Video
Media Server
ComponentDatabase
Location A Location BMove!
User ProfileServer
Media Gateway
6.893 Spring 2004: Gaia Larry Rudolph
Context Data Browser
File Mode
Context Mode
6.893 Spring 2004: Gaia Larry Rudolph
Presentation Viewer
6.893 Spring 2004: Gaia Larry Rudolph
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
6.893 Spring 2004: Gaia Larry Rudolph
The Context Model
Enables creation of complex, first-order expressions involving context
Makes it possible to write rules, prove theorems, evaluate queries
6.893 Spring 2004: Gaia Larry Rudolph
Basic Structure
Four parts:
context-type
Subject: Person, place, or thing
Relater: something that related subject to object
Object: is a value associated with subject
6.893 Spring 2004: Gaia Larry Rudolph
Some 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 12:00 01/01/04)
6.893 Spring 2004: Gaia Larry Rudolph
Operations on Contexts
Boolean, Existential, Quantification
Context(lighting, G868,Is,Off) OR
Context(lighting, G828,IS, Dim)
6.893 Spring 2004: Gaia Larry Rudolph
Context Chat