200 likes | 298 Views
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.
E N D
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, Time • Environmental – Weather, stock quotes, sports scores • Social – Activity, Individual & Group dynamics, Moods • Application – email, websites visited • System – network traffic, status of printers
Context-Aware Apps • Context-Aware Planner • Context-Aware Ambience Generator
Context-Aware Planner • Gives suggestions for an individual can plan out his activities • Uses context like: • Location • Time • Weather • Movie listings • Concert/Symphony timings • History of what he/she has done
Context-Aware Planner- 2 • Group activities can be planned • Using 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 extensible • Standardised?
XML for specifying context • Apps to specify context they require • Context Type • App ID (UCR/IOR) • Real Time / History • Event based / Polling • Time to live • Format • Boolean expression (for notifications ) • Granularity / Reliability
XML for specifying context –2 • Context sensors send apps their context • Context Type • Timestamp • SourceID (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 App App App Context Engine Context History Context Synthesizer Context Provider Context Provider Context Widget Context Widget Context Widget
Context Widget • Actually senses the context • Eg. The Ibutton reader, RF badge basestation • Gets address of context provider(s) and sends it events
Context Provider • Stores subscriptions of context consumers and sends them events • Apps can also query them • Can do some interpretation / translation of context from one form to another
Context Engine • Similar to Trader Service • Context 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 interface • SendContext(XMLFile)
Future issues • Resolving ambiguous context • Where does privacy fit in?