architecture for context-aware services in gaia anand ranganathan
TRANSCRIPT
Architecture for Context-Aware Services in Gaia
Anand Ranganathan
Why context?
Situational information, or context, increases richness of communication in human-computer interaction
Makes it possible to produce more useful computational services
Challenges in using context
To develop a taxonomy and uniform representation of context types
Infrastructure to promote design , implementation and evolution of context-aware applications
Discovery of compelling context-aware applications
Issues of privacy and security
Different types of context
Physical – Location, TimeEnvironmental – Weather, stock quotes,
sports scoresSocial – Activity, Individual & Group
dynamics, MoodsApplication – email, websites visitedSystem – network traffic, status of
printers
Context-Aware Apps
Context-Aware PlannerContext-Aware Ambience Generator
Context-Aware Planner
Gives suggestions for an individual can plan out his activities
Uses context like:LocationTimeWeatherMovie listingsConcert/Symphony timingsHistory of what he/she has done
Context-Aware Planner- 2
Group activities can be plannedUsing social context between two or
more people – like similar interests, relationship, etc.
Context-Aware Ambience Generator
Context-Aware Ambience Generator
Based on moods of persons in room, social contexts, festivals, whether there’s a football game going on, etc. suitably changing the ambience of a room
Music, lighting, TV/radio
Specifying context
Apps must be able to specify what type of context they want and in what format.
Context sensors must be able to send context to the apps.
Format should be flexible and extensibleStandardised?
XML for specifying context
Apps to specify context they requireContext TypeApp ID (UCR/IOR)Real Time / HistoryEvent based / PollingTime to liveFormatBoolean expression (for notifications )Granularity / Reliability
XML for specifying context –2
Context sensors send apps their contextContext TypeTimestampSourceID (UCR)Value of context
What do context-aware apps want?
Contextual information in a format they can understand (eg in temp in C or F)
Want to be notified when a context they are interested in occurs (eg. When temp > 98 F)
Want to be able to poll or query certain types of context (eg. What is temp now?)
Want to access context history (how did temp change ?)
Don’t care about actual context sensor
Infrastructure
Context Engine
Context Widget Context Widget Context Widget
Context Provider Context Provider
Context Synthesizer
Context History
App App App
Context Widget
Actually senses the contextEg. The Ibutton reader, RF badge
basestationGets address of context provider(s) and
sends it events
Context Provider
Stores subscriptions of context consumers and sends them events
Apps can also query themCan do some interpretation / translation
of context from one form to another
Context Engine
Similar to Trader ServiceContext providers “advertise” the
context they provide, the granularity, real-time/history, etc. with CE
Context consumers query CE for appropriate context.
Context Synthesizers
Makes use of more than one context to give another contextual cue.
Eg. Deducing if a meeting is taking place based on no. of people, sound, whether there’s a powerpoint ppt.
Is a context consumer and context provider
Context History
Databases that subscribe to contextual information
Keep recording specific contexts like the location of a person
Is also a context consumer + context producer
More details
ContextProvider interface GetContext(XMLFile)GetContext(XMLFile, IOR)
ContextConsumer interfaceSendContext(XMLFile)
Future issues
Resolving ambiguous contextWhere does privacy fit in?