Recombinant Computing

Slides:



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

A component- and message-based architectural style for GUI software
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Exchange server Mail system Four components Mail user agent (MUA) to read and compose mail Mail transport agent (MTA) route messages Delivery agent.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Cmpe 494 Peer-to-Peer Computing Anıl Gürsel Didem Unat.
Distributed Systems: Concepts and Design Chapter 1 Pages
Linked-data and the Internet of Things Payam Barnaghi Centre for Communication Systems Research University of Surrey March 2012.
FI-CORE Data Context Media Management Chapter Release 4.1 & Sprint Review.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
SIEMENS OOPSLA 2000, Jini Pattern Language Workshop Profile-based Serivce Browsing Martin Gitsels, Jochen Sauter.
Integrated Systems Division Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop Guy Bieber,
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1.Registration block send request of registration to super peer via PRP. Process re-registration will be done at specific period to info availability of.
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 Middleware and future telecom ’platform’ By Lill Kristiansen, ntnu.
Dude, Where's My Car? And Other Questions in Context-Awareness Jason I. Hong James A. Landay Group for User Interface Research University of California.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Information Structures: Standards Week 7 Lecture notes INF 380E: Perspectives on Information 1.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Programming Paradigms, Software Architectural Patterns, and MVC CS 378 – Mobile Computing for iOS Dr. William C. Bulko.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
ICrafter: A Service Framework for Ubiquitous Computing Environments
Web fundamentals: Clients, Servers, and Communication
.NET Omid Darroudi.
Building Distributed Educational Applications using P2P
draft-ietf-simple-message-sessions-00 Ben Campbell
Mobile Application Test Case Automation
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
Module 4 Remote Login.
NOX: Towards an Operating System for Networks
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Processes The most important processes used in Web-based systems and their internal organization.
Understanding the OSI Reference Model
Representational State Transfer
UNIT 15 Webpage Creator.
University of Technology
#01 Client/Server Computing
Cloud Computing.
Jonathan Rosenberg Bell Laboratories 8/24/98
Intent (Thanks to Jim Fawcett for the slides)
Wsdl.
DHCP, DNS, Client Connection, Assignment 1 1.3
Model-Driven Analysis Frameworks for Embedded Systems
The Internet and HTTP and DNS Examples
Interpreter Style Examples
A Pattern Language for Software Architecture
Distrustful Decomposition
Lecture 1: Multi-tier Architecture Overview
Chapter 20 Object-Oriented Analysis and Design
WIS Strategy – WIS 2.0 Submitted by: Matteo Dell’Acqua(CBS) (Doc 5b)
About Thetus Thetus develops knowledge discovery and modeling infrastructure software for customers who: Have high value data that does not neatly fit.
Middleware for Internet of Things: A Survey
Automated Analysis and Code Generation for Domain-Specific Models
ECE 4450:427/527 - Computer Networks Spring 2017
Implementation support
Human Computer Interaction Lecture 09 Interaction Paradigms
System Software for Ubiquitous Computing
Enabling the business-based Internet of Things and Services
Web Servers (IIS and Apache)
Architectural Mismatch: Why reuse is so hard?
#01 Client/Server Computing
Implementation support
Presentation transcript:

Recombinant Computing Evan Welbourne, 590UC

Problem: Interoperability Future UbiComp environments: “Combinatorial explosion” of devices and services Each addition should add value to the entire network Challenges for a solution: no foreknowledge must discover, accommodate must be flexible and generic

Solution: Recombinant Computing Three Foundation Technologies: - Component arch + Resource Discovery + Mobile Code Basic Premises: Fixed, domain-independent interfaces Mobile code User-in-the-loop Allows users to “recombine” devices for previously unplanned tasks

Why Not Jini? Why is recombinant computing better than related work? Sun’s Jini also uses mobile code to support extensibility but doesn’t separate semantics from syntax in interfaces e.g. getName(), getPrinterType(), … HP’s Cooltown uses HTTP for a fixed, universal interface but is limited by constraints on data types and protocols Stanford’s iRoom allows tuple sharing with an event heap but isn’t scalable and requires prior agreement on tuples

Embodied Solution: Speakeasy A component-based embodiment Connection-oriented: - components connect and exchange objects - objects are “leased” and expire after a timeout - calling component’s context is provided to callee Component functionality expressed through interfaces: Original set of Interfaces: - Connection, Context, Control Evolved into: - Data transfer, Collection, Metadata, Control Interfaces implement generic communication “patterns”

Data Transfer Interface Challenge: A wide variety of transfer protocols and data types in use, how do they interoperate? Approach: 1 Setup connection with a public communication “pattern” 2 Sender sends ‘source-provided endpoint’ to receiver 3 Data over private interface with appropriate protocol 4 Receiver accepts byte-stream from endpoint A 3rd party can initiate this transfer receiver sender SPE

Discovery Protocol Bridge Collection Interface Challenge: Need extensible discovery protocols, and a way for users to cluster components together Approach: 1 Return an object representing the aggregate 2 Object allows search on its components 3 Object allows queries on membership changes Example Collection Interfaces: - Filesystem aggregates directories - Bridge to another network with different protocols Discovery Protocol Bridge

Contextual Metadata Interface Challenge: Allow sensemaking of components without hardcoding semantics Approach: 1 Caller sends a metadata object to callee 2 Object contains an extensible list of key-value pairs 3 User or inference engine interprets or ignores metadata 4 Metadata object can dynamically update metadata Examples Keys: - Name, Location, Administrative Domain, …

Control Interface Challenge: Allow component-specific control without prior agreement or foreknowledge Approach: 1 Multiple UIs for each component (e.g. GUI, HTML) 2 Caller can indicate the type of UI it wants 3 Callee sends component-specific UI object to the caller 4 Caller interacts with callee using the UI object Example UIs: - UNIX pipes, web browser, form wizard Drawbacks: - Must explicitly write UIs for each component or use UIML - UI should be amenable to non-human control

Applications A number of possible paradigms: UNIX pipes, scripting languages, dataflow diagrams, browser-style drag-and-drop, form-wizard Assuming user interaction via a “resource poor” device (PDA, cell phone) Implemented the HTML-based Speakeasy browser: - Supports discovery, connection, and interaction - Direct-connect mode allows access to raw functionality - Task-oriented templates offer intelligent task prototypes - New templates can be created by example and shared

CSCW – Adhoc P2P Collaboration Casca: an application for adhoc P2P collaboration - Creates “converspace” across machines and networks - Allows sharing of files, services, devices,… - Uses Speakeasy to allow “spontaneous” collaboration Casca avoids the limitations of similar P2P systems: - share only a fixed set of resources (Napster, mp3s) - limited resource discovery - assumes interest in all peers - restricted network transport

User Evaluation Evaluating the Speakeasy browser: 2 evaluations First evaluation (5 users, 2-week period) - Users given PDA with mockup browser - Asked to setup and give a presentation, with hints - All but one were able to form and use a mental model Second evaluation (6 users, ?-week period) - Users given PDA with real browser - Same task, but using templates and no hints given - One of six couldn’t complete task without intervention Users were confused by large number of components Users found a lack of feedback on the state of the world

Questions – User oriented Is this the right user-model for UbiComp? Explicit connections demand user’s attention What is the limit to user-in-the-loop computing? Tangible and non-display interfaces? Whiteboard? Is a collection interface the right abstraction? User has to think about system: network bridge, etc Heterogeneous collections? Can a collection be automatically created? Has there been enough ongoing evaluation? Is it the right kind of evaluation?

Questions – System oriented Multi-standard service interoperation problem Speakeasy uses single-standard services Says service standards should be domain independent

References Slide 1-2 images: Siemens Webzine (http://w4.siemens.de) Other images from Google image search or the following papers: W. K. Edwards et. al.: “The Case for Recombinant Computing” “Using Speakeasy for Ad Hoc Peer to Peer Collaboration” “Challenge: Recombinant Computing and the Speakeasy Approach” M. W. Newman et. al.: “User Interfaces When and Where They are Needed: An Infrastructure for Recombinant Computing” “Designing for Serendipity: Supporting End-User Configuration of Ubiquitous Computing Environment”