Transcript Document
A Survey on Context-Aware Computing
: Past, Present, and Future
Sang-keun Lee
Intelligent Database Systems Lab
School of Computer Science & Engineering
Seoul National University, Seoul, Korea
Center for E-Business Technology
Seoul National University
Seoul, Korea
Motivation
Context-Aware System
Copyright 2008 by CEBT
History of Context-Aware Computing:
Context Definition
Term ‘Context-aware’ appeared in Schilit and Theimer(1994)
Authors describe context as location, identities of nearby people,
objects, and changes to those objects
Ryan et al. (1997) referred to context as the user’s location,
environment, identity, time
Day (1998) : the user’s emotional state, focus on attention,
location, and orientation, date and time, as well as objects and
people in the environment
Dey and Abowd (2000)
Any information that can be used to characterize the situation of
entities that are considered relevant to the interaction between a
user and an application, including the user and the application
themselves
Copyright 2008 by CEBT
History of Context-Aware Computing:
Application & System, Context Model
Active Badge Location System (Wang et al., 1992)
One of the first context-aware systems
Forward phone calls to a telephone close to the user
Couple of location-aware tour guides
Abowd et al., 1997; Sumi et al., 1998; Cheverst et al.,2000
Providing information according to the user’s current location
Watson Project (Budzik and Hammond, 2000)
W3C, RDF available (2000)
IntelliZap (Finkelstein, 2001)
Context Toolkit (Dey and Abowd, 2001)
p2p architecture + centralized discoverer, attribute-value tuple/XML - Context
aggregation/interpretation, historical context data, Context Ownership (Privacy)
Hydrogen (Hofer, 2002)
local/remote context, Object Oriented Model, process higher-level context
abstraction in application layer
Copyright 2008 by CEBT
History of Context-Aware Computing:
Application & System, Context Model
Gaia project (Roman’s)
Extends operating system contepts to include context-awareness
4-ary predicates in DAML+OIL, context processing is based on first-order logic
operation
Graphical Context Model: ORM (Hendricksen, 2003)
Context Managing Framework (Koripaa, 2003)
Centralized server
CoBrA- Context Broker Architecture (Chen, 2003)
COBRA-Ont(Ontology Model), Inference Engine, historical context data,
Broker federation – Avoiding bottleneck
Context Knowledge base – You can assert, delete, modify, query the stored data(API)
Flexibile policy language to control context access called Rei (privacy)
2004 W3C, OWL available
Copyright 2008 by CEBT
History of Context-Aware Computing:
Application & System, Context Model
Markup scheme model: Composite Capabilities/Preference Profile (CC/PP)
(W3C, 2004)
SOCAM(Service-Oriented Context-Aware Middleware) (Gu, 2004)
Upper ontology, Domain-specific Ontology
CASS (Fahy and Clarke, 2004)
CORTEX (2004)
Based on sentient object model – sensor fusion to manage uncertainty of sensor
data
Graphical Context Model: Context Modeling using UML (Sheng and
Benatallah, 2004)
CoCA (Ejigu, 2007)
Enhanced CoCA (Ejigu, 2008)
Using a hybrid context management model – Relational Database, Ontology Tools
Heuristics for better performance
Copyright 2008 by CEBT
History of Context-Aware Computing:
Sensor Definition
Burnett (2003) and Gustavsen (2002)
External and internal
Hofer et al. (2002)
Physical and logical
Context that can be measured by
hardware sensors, i.e,., locationa, light,
sound, movement, touch, temperature or
air pressure
Easier to sense
Context that can be captured by user
interactions, i.e., the user’s goals, tasks,
work context, emotional state
Copyright 2008 by CEBT
Semantic Tech & Context - 7
Copyright 2008 by CEBT
Practical Semantic Technology - 8
Copyright 2008 by CEBT
Practical Semantic Technology - 9
The History in Summary
Specific Context Definition to General Context Definition
Non-Flexible Context Models to Flexible and Extensible
Context Model
Domain-specific Applications to General Frameworks
Copyright 2008 by CEBT
Categories of Context Aware Applications
Schilit (1994)
Proximate Selection
–
Automatic Contextual Reconfigurations
–
11
Queries on contextual information can produce different results according to the context in which
they are issued
Context-Triggered Actions
–
Reconfiguration is the process of adding new components, removing existing components or altering
the connections between components
Contextual Information and Commands
–
A user interface technique where the located-objects that are nearby are emphasized or otherwise
made easier to choose
Context-triggered actions are simple IF-THEN rules used to specify how context-aware systems
should adapt
Sang-keun Lee
Context-Aware / Personalized Contents Push
Seamless Device Switching
Automatic Device Configuration
Decision Support/Suggestion
Context Aware User Interface
Context-aware computing applications (Schilit, B.; Adams, N.; Want, R.)
Copyright 2008 by CEBT Mobile Computing Systems and Applications, 1994. Proceedings.,
Workshop onVolume , Issue , 8-9 Dec 1994 Page(s):85 - 90
An Example of Domain-dependent Applications:
Cyberguide : A mobile context-aware tour guide (1997)
Goal
know where tourist is, and what she is looking for
predict and answer question she may pose
provide interaction with other people and environment
Copyright 2008 by CEBT
Design Principles – Architecture
Chen (2004) presents three different approaches on how to acquire contextual
information
Direct sensor access – devices with sensors locally built in
Middleware infrastructure – hiding low-level sensing details, more extensible
Context Server – multiple clients access to remote data source
Winograd (2001)
Widgets – a software component that provides a public interface for a hardware sensor,
hiding low-level details of sensing, managed by widget manager
Networked services – more flexible, discovery techniques are used, not as efficient as a
widget architecture but provides robustness
Blackboard model – data centric view, simplicity of adding new context sources (easy
configuration)
Architecture Style
Peer to Peer
–
Limitation of Memory Resource, CPU Performance
–
Only uses local built-in sensors
Centralized Approach
–
Robustness
Copyright 2008 by CEBT
Baldauf, M., Dustdar, S., and Rosenberg, F. 2007. A survey on contextaware systems. Int. J. Ad Hoc Ubiquitous Comput. 2, 4 (Jun. 2007), 263277. DOI= http://dx.doi.org/10.1504/IJAHUC.2007.014070
Hydrogen (2002)
Framework Architecture
Three layer
–
Application layer
–
Management layer
–
Providing and retrieving
contexts and sharing
context information
with other devices using
P2P communication
Adaptor Layer
Separating context storing, sensing from other layers
Responsible to get information from sensors
Providing same context information to multiple applications
All application have access to all context data by querying the ContextServer
All layers are located on one device
–
Robust against network disconnections, Peer to Peer
Object-oriented Context Model
Copyright 2008 by CEBT
SOCAM Architecture (2004)
Context providers, Context interpreter, Context database, Context-aware services, and Service locating
service
Architectural Requirements
A common context model that can be shared by all devices and services
A set of services that perform context acquisition, context discovery, context interpretation and context
dissemination
Upper/Domain-specific Ontology
Context Providers
•Acquire context from sources
Context Interpreter
•Provides logic reasoning
Context Database
•Stores context ontologies
Context-aware Services
•Adapt the way they behave
Service Locating Service
•provides a mechanism where Context Providers and
the Context Interpreter can advertise their presence
15
Copyright 2008 by CEBT
The Context Fabric (2004)
Primarily concerned with privacy
rather than with context sensing
and processing
provides an architecture for
privacy-sensitive systems, as well
as a set of privacy mechanisms
that can be used by application
developers
Previous work on privacy has tended
to focus on anonymity or on keeping
information from hackers
Copyright 2008 by CEBT
Confab’s focus is in empowering
people with choice and informed
consent, so that they can share the
right information, with the right
people and services, in the right
situation
The CoCA Service Platform (2007)
It Keeps the rules in the
rule repository
It consists of domain
dependent/independent ontology
The Platform aims at acquiring and
utilizing context information to provide
appropriate services
Interface Manager
Responsible to provide necessary data to the core service (GCoM)
Reasoning -> Decision & Action
Interpretation, Aggregation
Responsible to provide the core context aware service after reasoning on the components
Supplementary Service
IDS Lab.
Manages a UI and interface between the CoCA platform and other modules
Core Service
contexts to the context
repository
Data Source
E.g) A cell phone is always set to
vibrating mode when its holder is
in the library
It filters and sends useful
Knowledge discovery & Collaboration service
Copyright 2008 by CEBT
17
The Enhanced CoCA Service Platform (2008)
Enhanced version of CoCA
Combine the best of the relational approach and ontology approach
Selective feature of loading only relevant context data into the reasoner
using heuristics
Copyright 2008 by CEBT
Summary: Existing systems and frameworks
Copyright 2008 by CEBT
Baldauf, M., Dustdar, S., and Rosenberg, F. 2007. A survey on contextaware systems. Int. J. Ad Hoc Ubiquitous Comput. 2, 4 (Jun. 2007), 263277. DOI= http://dx.doi.org/10.1504/IJAHUC.2007.014070
Criteria
Copyright 2008 by CEBT
Henricksen, K., Indulska, J., McFadden, T. and Balasubramaniam, S. (2005).
Middleware for distributed context-aware systems. In: Robert meersman and
Zahir Tari et al International Symposium on Distributed Objects and
Applications (DOA), Agia Napa, Cyprus, 31 October - 4 November, 2005.
Discussion
Does a context-aware system bother users?
MS Office Assistant Clippy
Three Levels of Interactivity
–
Personalization
–
–
The majority of users use the default setting of change a small subset of the possible features
Passive Context-awareness
Presenting the updated context to the user
Let the user specify how the application should change
Ex) mobile phone prompts the user with information about the time zone change
Active Context-awareness
Changing the content autonomously on the basis of measured sensor data
Ex) Mobile phone that changes its time autonomously by new time zone
The authors conclude that people are willing to give up partial control if the reward in usefulness is great enough
How could we deal with the imperfect/probabilistic context data?
Fuzzy Logic
Context Data Abstraction
What could be the Killer Application?
What could we mine from the log data?
Support Rules
Peer to Peer vs. Centralized System
L Barkhuus, A Dey, Is Context-Aware Computing Taking Control Away from
Copyright 2008 by CEBT the User? Three Levels of Interactivity Examined,2003
Layered Conceptual Framework with Core
Components
Private
Context-Aware Services:
Service & Application
Design Layer:
Semantic Technology Layer:
Ontology Repository
Inference Engine
Foundation Layer:
Sensors
Data/Rule Mining
Relational Database
Network
Seamless
Context Aware
User Interface
Scalable
Context-Aware
Personalized
Contents Push
Intelligent
Seamless
Device
Switching
Automatic
Device
Configuration
Ubiquitous
Decision Support
& Suggestion
Domain-specific
Context Data
Modeling
Rule
Defining
Service
Algorithm
Implementation
Privacy & Security
Policy
Defining
Context Ontology
Modeling
Context Fusion
& Abstraction
Rule based
Action Triggering
Ontology Data
Storage
& Management
Low-level
Data Modeling
Context Acquisition
Device
Communication
Data Management
& Mining
Copyright 2008 by CEBT
Conclusions
We talked about
Motivation
History of Context-aware Computing
Categories of Context-aware Applications
Design Principle
Examples of Context-aware Systems
Criteria & Discussion
What will be the future Context-aware System?
A Context-aware system with
–
Better scalability and performance
–
Utilizing historical context data (Rule mining, ...)
–
Better Security policies and privacy protection
–
Virtual and logical sensor support
–
Standard communication protocol and context model
Copyright 2008 by CEBT