240 likes | 572 Views
Context Tailor: Towards a Programming Model for Context Aware Computing. John S. Davis, Daby M. Sow , Marion Blount and Maria Ebling IBM T.J. Watson Research Center Hawthorne, NY 10532. Context Aware Computing.
E N D
Context Tailor: Towards a Programming Model for Context Aware Computing John S. Davis, Daby M. Sow, Marion Blount and Maria Ebling IBM T.J. Watson Research Center Hawthorne, NY 10532
Context Aware Computing • The process of using pervasivecontext 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
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
Naïve Approach to Customization • Explicit customization • Requires expert rules • Problems: • Domain specific expertise • Error prone • Expensive
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
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
Decoupling Example Triggering Effecting Other Context Web Logs Miner Apache Proxy User Policies Access Patterns Prefetching Module Decision Module Directive Server CACD Directives
Instant MessagingContext Driver LocationContext Driver CalendarContext Driver DesktopContext Driver Desktopclient 802.11 SameTime Existing Context Service CS API Context Dispatcher Service Context Driver Interface Internal Utilities Context Push Interface Notes
Context Tailor Architecture Application Layer Service 1 Service 2 Service n CS API ContextTailor API (trigger, feedback) Arbitrator Context Patterns Context Logs Pattern Activator Learning Engine Framework Layer CS API Context Service Source 1 Source 2 Source 3 Source m Pattern: Condition Trigger
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
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
Z Grouped Events Applications of initial interest to the Context Tailor Project are shown in the grey subspace. Ordered Events Timed Events Y Recurrent Events Instantaneous Duration Rare Events X 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
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
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 Impact of PvC on ML
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
The Context Tailor Slogan • To shield application developers from the complexity of customization. “Write Once, Run For Everyone”
Instant MessagingContext Driver RIMContext Driver PBXContext Driver LocationContext Driver CalendarContext Driver DesktopContext Driver RIM Desktopclient 802.11 SameTime Existing Context Service CS API Context Dispatcher Service Context Driver Interface Internal Utilities Context Cache Connection Mgr Privacy Engine Event Engine Work Pacer Context Push Interface PBX Notes
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
Context Service Vocabulary Information Flow 1. New Context Pattern Activator 2. Pattern Query 4. Service query Context Patterns Registered Services 3. Patterns 5. Services 6. Triggers Arbitrator 7. Triggers 8. Triggers Service n Service m
LZ algorithm (Lempel & Ziv, 1976) Related Fields Statistical Signal Processing 1960’s Probability Theory Pascal, Fermat,1654 Kolmogorov, 1933 Information Theory (Shannon, 1948) Computability Theory (Turing, 1936) Algorithmic Complexity Theory (1960’s) Chaitin (incompleteness) Solomonoff (prediction) Kolmogorov (randomness)
c log c + c L(U) = 1 - log nU c = number of nodes in tree nu = number of url’s in system number of users = 623 mean = 0.74 variance = 0.0084 Web UserLearnability Distribution
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
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