200 likes | 304 Vues
This paper explores the significance of situational information or context in improving human-computer interaction. By developing a taxonomy and standardized representation of context types, it highlights the challenges and infrastructure required for designing context-aware applications. The study illustrates various context types, such as physical, environmental, social, and application-based, and presents examples like a Context-Aware Planner and Ambience Generator. The discussion also addresses privacy and security concerns associated with context-aware services, emphasizing the need for flexible, extensible context specifications and communication between applications and context sensors.
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?