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.

Slides:



Advertisements
Similar presentations
Robin Kravets Tarek Abdelzaher Department of Computer Science University of Illinois The Phoenix Project.
Advertisements

Motorola General Business Use MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are.
GT 4 Security Goals & Plans Sam Meder
Executional Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Arrow color indicates specific subset of Security Service Desk Common Backplane API. is DC Backplane API impledmented by the Backplane Services. Devices.
A Component Based Programming Framework for Autonomic Applications Hua Liu, Manish Parashar, and Salim Hariri ICAC ‘04 John Otto Wi06 CS 395/495 Autonomic.
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Semantic Web and Web Mining: Networking with Industry and Academia İsmail Hakkı Toroslu IST EVENT 2006.
MS DB Proposal Scott Canaan B. Thomas Golisano College of Computing & Information Sciences.
SWE Introduction to Software Engineering
Components and Architecture CS 543 – Data Warehousing.
Establishing the overall structure of a software system
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Theories and Frameworks for Ubiquitous Computing Alan Dearle School of Computer Science University of St Andrews.
Personalized Ontologies for Web Search and Caching Susan Gauch Information and Telecommunications Technology Center Electrical Engineering and Computer.
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Presenter: Chi-Hung Lu 1. Problems Distributed applications are hard to validate Distribution of application state across many distinct execution environments.
Enterprise Resource Planning
Distributed (Operating) Systems -Introduction- 1 Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University.
A Human-centric framework for universal access Canadian Undergraduate Software Engineering Conference March 7-9, 2002 Jacob Slonim Dalhousie.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Context-Aware Middleware for Anytime, Anywhere Social Networks Dario Bottazzi, Rebecca Montanari, and Alessandra Toninelli University of Bologna IEEE Intelligent.
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Division of IT Convergence Engineering Towards Unified Management A Common Approach for Telecommunication and Enterprise Usage Sung-Su Kim, Jae Yoon Chung,
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
A Study of Context-Awareness - CASS, Hydrogen Context Team Summarized and Presented by Seungseok Kang.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
The Grid System Design Liu Xiangrui Beijing Institute of Technology.
Page 1 WWRF Briefing WG2-br2 · Kellerer/Arbanowski · · 03/2005 · WWRF13, Korea Stefan Arbanowski, Olaf Droegehorn, Wolfgang.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Workshop on Future Learning Landscapes: Towards the Convergence of Pervasive and Contextual computing, Global Social Media and Semantic Web in Technology.
Geneva, Switzerland, 17 October 2011 Summary of Session 4: SDP standardization status and requirements Huilan Lu, Ph.D. SG 13 Vice Chairman ITU Workshop.
“Trusted Passages”: Meeting Trust Needs of Distributed Applications Mustaque Ahamad, Greg Eisenhauer, Jiantao Kong, Wenke Lee, Bryan Payne and Karsten.
What is SAM-Grid? Job Handling Data Handling Monitoring and Information.
1 Mobile Computing and Wireless Networking CS 851 Seminar 2002 Fall University of Virginia.
NGCWE Expert Group EU-ESA Experts Group's vision Prof. Juan Quemada NGCWE Expert Group IST Call 5 Preparatory Workshop on CWEs 13th.
An Architecture to Support Context-Aware Applications
CSC480 Software Engineering Lecture 10 September 25, 2002.
Enabling Self-management of Component-based High-performance Scientific Applications Hua (Maria) Liu and Manish Parashar The Applied Software Systems Laboratory.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Semantic sewer pipe failure detection: Linked data approaches for discovering events Jonathan Yu | Research software engineer Environmental Information.
NeOn Components for Ontology Sharing and Reuse Mathieu d’Aquin (and the NeOn Consortium) KMi, the Open Univeristy, UK
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Semantic Data Extraction for B2B Integration Syntactic-to-Semantic Middleware Bruno Silva 1, Jorge Cardoso 2 1 2
Fuego Core 2005/7 Possible Directions Kimmo Raatikainen Principal Scientist Helsinki Institute for Information Technology
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
1 Multimedia services over networks Service provider Service client Service registry Publish Discovery Bind Multimedia system Review/background Framework/
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
MetaOS Concept MetaOS developed by Ambient Computing to coordinate the function of smart, networked devices Smart networked devices include processing.
Chapter 18 MobileApp Design
CHAPTER 3 Architectures for Distributed Systems
Technical Capabilities
Presentation transcript:

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

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 Web Logs Miner Access Patterns Decision Module User Policies CACD Directives Apache Proxy Prefetching Module Directive Server TriggeringEffecting Other Context

8 Existing Context Service Dispatcher Location Context Driver Desktop Context Driver Context Driver Interface Context Service Instant Messaging Context Driver Internal Utilities CS API Notes Calendar Context Driver Context Push Interface Desktop client SameTime

9 Context Tailor Architecture Context Service Source 2Source 3Source m Learning Engine Pattern Activator Context Patterns Context Logs Service 1 Service 2Service n Arbitrator Source 1 Framework Layer Application Layer CS APIContextTailor 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 InstantaneousDuration Recurrent Events Rare Events Timed Events Ordered Events Grouped Events 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 Location Context Driver Desktop Context Driver Context Driver Interface Context Service Instant Messaging Context Driver Event Engine Privacy Engine Connection Mgr Context Cache InternalUtilities CS API Notes PBX Calendar Context Driver Context Push Interface SameTime RIM Work Pacer PBX Context Driver RIM Context Driver Desktop client

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 Context Patterns Context Service Vocabulary Pattern Activator Arbitrator Service n Service m 1. New Context 2. Pattern Query 3. Patterns Registered Services 4. Service query 5. Services 6. Triggers 7. Triggers8. Triggers

21 Related Fields Computability Theory (Turing, 1936) Algorithmic Complexity Theory (1960’s) Kolmogorov (randomness) Chaitin (incompleteness) Solomonoff (prediction) LZ algorithm (Lempel & Ziv, 1976) Probability Theory Pascal, Fermat,1654 Kolmogorov, 1933 Information Theory (Shannon, 1948) Statistical Signal Processing 1960’s

22 Web User Learnability Distribution log n U c log c + c L(U) = 1 - c = number of nodes in tree n u = number of url’s in system number of users = 623 mean = 0.74 variance =

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