1 context tailor: towards a programming model for context aware computing john s. davis, daby m....
TRANSCRIPT
1
Context Tailor: Towards a Programming Model for Context Aware Computing
John S. Davis, Daby M. Sow, Marion Blount and Maria EblingIBM T.J. Watson Research Center
Hawthorne, NY 10532
2
Context Aware Computing
The process of using pervasive context to assist a computing service on behalf of a particular user
Focus on Customized Context Aware (CCA) Applications Applications that customize their
execution to the expected needs of users
3
More on CCA Applications Application examples:
Weiser’s waking state coffee machine Smart HVAC system Context Sensitive Scheduler Context Aware Content Distribution (CACD)
System The Customization Challenge
Need effective mechanism to incorporate user preferences
4
Naïve Approach to Customization
Explicit customization Requires expert rules
Problems: Domain specific expertise Error prone Expensive
5
Context Tailor Approach
Automatic generation of context patterns
Middleware to learn context patterns
Application Model API enabling application developers to
use the learning capabilities of the middleware
6
More on the Approach Model: Decouple CCA applications
Triggering (the brain) The process that uses context to initiate an
application’s execution Effecting (the muscles)
The process that uses context to impact an application during run-time
Framework Move the triggering process into the middleware
and out of the developer’s view Allow the developer to focus on the effecting
process
7
Decoupling Example
WebLogs
Miner
AccessPatterns
DecisionModule
UserPolicies
CACDDirectives
Apache Proxy
PrefetchingModule
DirectiveServer
Triggering Effecting
OtherContext
8
Existing Context Service
Dispatcher
LocationC
ontext Driver
Desktop
Context D
river
Context Driver Interface
ContextService
Instant Messaging
Context D
river
InternalUtilities
CS API
802.11
Notes
Calendar
Context D
river
Context Push Interface
Desktopclient
SameTime
9
Context Tailor Architecture
Context Service
Source 2 Source 3 Source m
LearningEngine
PatternActivator
ContextPatterns
ContextLogs
Service 1 Service 2 Service n
Arbitrator
Source 1
FrameworkLayer
ApplicationLayer
CS API ContextTailor API (trigger, feedback)
CS API
Pattern: Condition Trigger
10
Research Challenges Effecting
A Programming Model for Deep Context-Aware Computing Applications
Driven by the need for a machine learning-independent interface that is reusable across applications
Triggering Machine Learning (ML) applied to a
Pervasive Computing Environment Driven by characteristics of a pervasive
computing environment Security and Privacy
11
Relating Applications
No single Machine Learning (ML) algorithm is useful for all applications
Our framework must map each application to an appropriate ML algorithm The triggering specification interface
must support this without requiring ML expertise
12
Application Classification
Different ML techniques apply to different portions of the classification space
The API will enable the developer to determine where in the classification an application falls
Z
Instantaneous DurationRecurrentEvents
RareEvents
TimedEvents
OrderedEvents
GroupedEvents
Applications of initial interest to the Context Tailor Project are shown in the grey subspace.
Y
X
13
Research Challenges Effecting
A Programming Model for Deep Context-Aware Computing Applications
Driven by the need for a machine learning-independent interface that is reusable across applications
Triggering Machine Learning (ML) applied to a
Pervasive Computing Environment Driven by characteristics of a pervasive
computing environment Security and Privacy
14
Impact of PvC on ML Pervasive Computing
Distributed infrastructure Highly dynamic data How/when is context
accessed Heterogeneous data
formats Varied communications
protocols Temporarily
disconnected networks Specification of context
compositions Privacy & security issues Varying reliability Broad user
characteristics
Impact on ML Incremental Learning Universality Need for Semantic
Closeness Handling of Out of Order
Events
15
Future Work: Security and Privacy Management of privacy policies
Need to generate privacy policies on generated rules
Need to keep the user in the loop in a non intrusive manner
Administration across domains Context may be owned by several distinct
organization Context Tailor can help publishing
summaries of user context without exposing detailed user context
16
Back-up Slides…
17
The Context Tailor Slogan
To shield application developers from the complexity of customization.
“Write Once,Run For Everyone”
18
Existing Context Service
Dispatcher
LocationC
ontext Driver
Desktop
Context D
river
Context Driver Interface
ContextService
Instant Messaging
Context D
river
Event Engine
Privacy Engine
Connection Mgr
Context Cache
Internal Utilities
CS API
802.11 Notes
PBX
Calendar
Context D
river
Context Push Interface
SameTime
RIM
Work Pacer
PB
XC
ontext Driver
RIM
Context D
river
Desktopclient
19
Challenges of Pervasive Computing (PvC) Environments
Distributed Infrastructure Highly dynamic data How/when is context accessed Heterogeneous data formats Varied communications protocols Temporarily disconnected networks Specification of context compositions Privacy & Security Issues Varying reliability Abundance of context data available to application
developers Need ways to extract meaningful information from
the noise Meaningful information is customized
20
Information Flow
ContextPatterns
Conte
xt S
erv
iceV
oca
bula
ry
PatternActivator
Arbitrator
Service n Service m
1. New Context2. Pattern Query
3. PatternsRegisteredServices
4. Service query
5. Services 6. Triggers
7. Triggers 8. Triggers
21
Related Fields
ComputabilityTheory
(Turing, 1936)
AlgorithmicComplexity Theory
(1960’s)
Kolmogorov(randomness)
Chaitin(incompleteness)
Solomonoff(prediction)
LZ algorithm(Lempel & Ziv, 1976)
ProbabilityTheory
Pascal, Fermat,1654Kolmogorov, 1933
InformationTheory
(Shannon, 1948)
Statistical Signal
Processing1960’s
22
Web UserLearnability Distribution
log nU
c log c + c L(U) = 1 -
c = number of nodes in treenu = number of url’s in system
number of users = 623mean = 0.74variance = 0.0084
23
Context Source Failure
Problem: In pervasive environments context
sources will go down Initial approach:
Ontology and closeness of data sources
If source A fails, use source B for learning/prediction because d(A,B) is small according to ontology
24
Out-of-Order Events
Problem: Receiving delayed events and the
effect on on-line learning techniques Initial Approach
Dynamic batching schemes Storing the N-last patterns generated Adjusting N dynamically
Generic event insertion