ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford.

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

DataNaut, LLC 1 Building Cross-Platform Accessible Applications Using Qt Technical Overview September 2012.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec Software.
Service Oriented Architectures in Heterogeneous Environments
Modelling Feature Interaction Patterns in Nokia Mobile Phones using Coloured Petri Nets and Design/CPN Louise Lorentsen University of Aarhus Antti-Pekka.
Ubiquitous Computing The death of PC?. Ubiquitous Computing ubiquitous = Being or seeming to be everywhere at the same time; omnipresent. Mark Weiser,
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Application architectures
Figure 1.1 Interaction between applications and the operating system.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
Introduction to client/server architecture
Application architectures
What’s New in DICOM 2004 Robert Horn Agfa Healthcare Chair DICOM WG-06 (Base Standard)
MVC pattern and implementation in java
(1) User Interface Frameworks: Twitter Bootstrap 3.0 Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University.
Electronic Visualization Laboratory, University of Illinois at Chicago PAVIS Pervasive Adaptive Visualization and Interaction Service Javid Alimohideen.
1 NETE4631 Mobile Cloud Computing Lecture Notes #10.
Input/OUTPUT [I/O Module structure].
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
CSCW Prof. Klemmer · Autumn 2007 Source:.
Computer –the machine the program runs on –often split between clients & servers Human-Computer Interaction (HCI) Human –the end-user of a program –the.
 Machine translation is 70 years old. (first presentation at Georgetown University in 1954)  Trados is 30 years old.  World Wide Web is 25 years old.
11.10 Human Computer Interface www. ICT-Teacher.com.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Pervasive Computing: What is it good for? Andrew C. Huang, Benjamin C. Ling, Shankar Ponnekanti, Armando Fox Stanford University.
1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Page 1 Alliver™ Page 2 Scenario Users Contents Properties Contexts Tags Users Context Listener Set of contents Service Reasoner GPS Navigator.
SIEMENS OOPSLA 2000, Jini Pattern Language Workshop Profile-based Serivce Browsing Martin Gitsels, Jochen Sauter.
March 20, 2006 © 2005 IBM Corporation Distributed Multimodal Synchronization Protocol (DMSP) Chris Cross IETF 65 March 20, 2006 With Contribution from.
Model View Controller MVC Web Software Architecture.
Connect. Communicate. Collaborate PerfsonarUI plug-in tutorial Nina Jeliazkova ISTF, Bulgaria.
Justin Tilton uPortal Framework and User Interface Demonstration.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Overview of Jini CS Fall 2000 Jason I. Hong.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
March 20, 2006 © 2005 IBM Corporation Distributed Multimodal Synchronization Protocol (DMSP) Chris Cross IETF 65 March 21, 2006 With Contribution from.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
John Li Jeff Lee Hardware, software, information Technology Hardware --The physical machinery and devices that make up a computer system. Software.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
2002 年 卒論中間発表 COIN: A Composable Interface masaya
Computer software: There are at least six step developmental procedures the programmer: Define problem Make or buy decision Design program Code program.
What’s New in DICOM 2004 Created by: Robert Horn – Agfa Healthcare Chair DICOM WG-06 (Base Standard) Presented by: Bas Revet – Philips.
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
CaBIO iPhone App Konrad Rokicki SAIC. Why a native app? Current web UIs are cumbersome to use from a mobile device This could be addressed by developing.
System Software for Ubiquitous Computing Pervasive Computing 2002 Tim Kindberg, Armando Fox 2003 년 11 월 26 일 박준호.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
CROSSMARC WP4: Prototype architecture VeltiNet S.A.
1 Seminar: Pervasive Computing 2004 Automatic mobile device configuration: Status & open challenges Stefan Hoferer Supervisor: Andreas Fasbender.
1 Multimedia services over networks Service provider Service client Service registry Publish Discovery Bind Multimedia system Review/background Framework/
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
AUTHOR PRADEEP KUMAR B.tech 1 st year CSE branch Gnyana saraswati college of eng. & technology Dharmaram(b)
ICrafter: A Service Framework for Ubiquitous Computing Environments
Human Computer Interaction (HCI)
Support for the Development of Interactive Systems
11.10 Human Computer Interface
Introduction to client/server architecture
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
Database Management System (DBMS)
Personalization in E-commerce Applications
Recombinant Computing
Principles/Paradigms Of Pervasive Computing
PREPARED BY: RIDDHI PATEL (09CE085)
An Introduction to Software Architecture
uPortal Framework and User Interface Demonstration
Presentation transcript:

ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford Univ.)

Outline What Example Model and Terminology Why Challenges Contributions How Architecture Techniques

Example

Example (Contd.)

Model and Terminology Workspace: A physically confined environment intended for collaboration

Model and Terminology (contd.) Service A h/w or s/w resource Provides a useful function to end-users Example: Light, projector, browser, ppt Appliance Facility used for interaction with services Example: Laptop, PDA SUIML Swing UI Markup Language

Outline What? Why? Challenges Contributions How?

Appliance Heterogeneity Must accommodate a variety of UI languages/ modalities.

Workspace Heterogeneity UIs must reflect workspace configuration

Aggregation May seem individual UIs can be combined. However ….

UI(S1+S2) != UI(S1)+UI(S2) Good for individual operations Clumsy for compound operation: snap- and-display

UI(S1+S2) != UI(S1) + UI(S2) Transfer = snap and display in one click

Where We Stand Suppose n services, m appliances and w workspaces O( F(n) × m × w ) UIs F(n) is some combinatorial function of n Existing ad-hoc interaction systems: Jini, UPnP, Hodes et al (Mobicom97, USITS99), Roman et al (WMCSA00) Mostly focus on appliance heterogeneity

Results Offload UI selection to third-party (i.e, non-service, non-appliance) Generalize existing approaches to appliance heterogeneity Frameworks for handling workspace heterogeneity and Techniques for aggregation

Outline What? Why? How? Architecture Techniques

Architecture Network Interface Manager Service Appliance

Interface Manager RequestUI(appl, target services ) Interface Manager User Appliance Generator Processor ReturnUI Generator Selector Generator Repository Generator (s)

Example Generator { S1 = lookup_cmx (Proj1, src1) S2 = lookup _cmx(Proj1, src2) } Select one of the following: {print $S1} {print $S2} …. Select one of the following: Left screen Right screen ….

Generators: Handling Appliance Heterogeneity Existing work: two extremes of quality/effort tradeoff UIs for each service for every appliance (Jini, UPnP, Hodes et al [Mobicom97] Generic appliance-independent service descriptions (Roman et al [WMCSA00]

Specialization Hierarchy HPPrinter Printer DataConsumerDevice Device Services Appliances HTML SUIML FunkyML More Effort Better Quality

Generator Spectrum HPPrinterService HTML Generator HPPrinterService SUIML Generator PrinterService HTML Generator PrinterService SUIML Generator DataConsumerDevice HTML Generator DataConsumerDevice SUIML Generator Fully Generic HTML Generator Fully Generic SUIML Generator Appliance Specificity Service Specificity

Generators: Workspace Heterogeneity All workspace configuration stored in a centralized "context memory" (Winograd, HCI 01) Generators access configuration information using fixed APIs lookup_cmx(service, configuration property) Advantages of centralized configuration easier to administer flexible, powerful queries

Examples lookup_cmx(projector, source1)lookup_cmx(light, location)

Generators: Handling Aggregation Generators for multiple services Eg. {Camera, Display}, {Camera, Display, Display} Generators for service patterns Eg. {Camera, Display+}, {Projector * } Generators for service interface patterns Eg. {DataProducer, DataDisplayer+}

Simplified Example Request for {Camera, Display} Matches Camera generator, Display generator, and {DataProducer, DataDisplayer} generator

Simplified Example Aggregated using panels

Outline What? Why? How?

Bootstrapping

Future Work Authentication and synchronization Aggregation: more intelligent generator set selection: Eg. Eliminate a {DataProducer, DataDisplayer} generator if a {Camera, Display} generator exists

Interactive Workspaces Project Info Some software already available Major release (including ICrafter) due this month For software and other info: