24
1 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

1 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

Embed Size (px)

Citation preview

Page 1: 1 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

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

Page 2: 1 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

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

Page 3: 1 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

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

Page 4: 1 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

4

Naïve Approach to Customization

Explicit customization Requires expert rules

Problems: Domain specific expertise Error prone Expensive

Page 5: 1 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

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

Page 6: 1 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

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

Page 7: 1 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

7

Decoupling Example

WebLogs

Miner

AccessPatterns

DecisionModule

UserPolicies

CACDDirectives

Apache Proxy

PrefetchingModule

DirectiveServer

Triggering Effecting

OtherContext

Page 8: 1 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

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

Page 9: 1 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

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

Page 10: 1 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

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

Page 11: 1 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

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

Page 12: 1 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

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

Page 13: 1 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

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

Page 14: 1 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

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

Page 15: 1 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

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

Page 16: 1 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

16

Back-up Slides…

Page 17: 1 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

17

The Context Tailor Slogan

To shield application developers from the complexity of customization.

“Write Once,Run For Everyone”

Page 18: 1 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

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

Page 19: 1 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

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

Page 20: 1 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

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

Page 21: 1 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

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

Page 22: 1 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

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

Page 23: 1 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

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

Page 24: 1 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

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