Rapid Prototyping and Deployment of User-to-User Networked Applications



Similar documents
A Practical Application Based Theory of Communication

Model Engineering using Multimodeling

The Ptolemy Project. Modeling and Design of Reactive Systems. Edward A. Lee Professor. UC Berkeley Dept. of EECS. tektronix.fm

System Behaviour Analysis with UML and Ptolemy. Scope and goals

Software Engineering

Outline. TIM 50 - Business Information Systems. Lecture 10. Instructor: Terry Allen UC Santa Cruz 10/28/2011

TIM 50 - Business Information Systems

What really is a Service?

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

Introducing Cisco Voice and Unified Communications Administration Volume 1

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Vennfer v.1.0. A software based video conferencing system

3.1 TELECOMMUNICATIONS, NETWORKS AND THE INTERNET

San Diego Supercomputer Center, UCSD. Institute for Digital Research and Education, UCLA

IT Architecture Review. ISACA Conference Fall 2003

Quality of Service Management for Teleteaching Applications Using the MPEG-4/DMIF

"Charting the Course... Implementing Cisco IP Telephony & Video, Part 1 v1.0 ( CIPTV1 ) Course Summary

Reinventing Virtual Learning: Delivering Hands-On Training using Cloud Computing

Master of Science in Computer Science Information Systems

WebOnCOLL: Medical Collaboration in Regional Healthcare Networks *

Implementing Cisco IP Telephony & Video, Part 1 CIPTV1 v1.0; 5 Days; Instructor-led

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Effective Java Programming. efficient software development

Software design (Cont.)

How To Use Cisco Cucm For A Test Drive

MEng, BSc Applied Computer Science

Agenda What can we do now? And 5 years from now we will still be current!

CSE 3461 / 5461: Computer Networking & Internet Technologies

External Device Management - Using SNMP - Enabling the Next Wave of Connectivity

Advanced Analysis and Design

Designing Real-Time and Embedded Systems with the COMET/UML method

Service-Oriented Architecture and Software Engineering

How To Deploy Cisco Jabber For Windows On A Server Or A Network (For A Non-Profit) For A Corporate Network (A.Net) For Free (For Non Profit) For An Enterprise) Or

Technical Specification. Solutions created by knowledge and needs

A Multimedia Call Centre on the Internet

Protocols and Architecture. Protocol Architecture.

The Role of Computers in Synchronous Collaborative Design

Serial port interface for microcontroller embedded into integrated power meter

Peer-to-Peer: an Enabling Technology for Next-Generation E-learning

Introduction to Basics of Communication Protocol

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Implementing Cisco IP Telephony & Video, Part 1

Software Synthesis from Dataflow Models for G and LabVIEW

A B S T R A C T. Index Trems- Wi-Fi P2P, WLAN, Mobile Telephony, Piconet I. INTRODUCTION

Computer Information Systems

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview

Designing a Robotic System

The Security Framework 4.1 Programming and Design

Instant Messaging. Copyright 2006 Haim Levkowitz. Copyright 2006 Haim Levkowitz

Industrial IT Ó Melody Composer

Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track)

Architecture Example Point-to-point wire

Understanding Digital Dashboard

Coursar WebMeeting Manual

TEACHING AND EXAMINATION SCHEME FOR

The Kiel Reactive Processor

VIA CONNECT PRO Deployment Guide

MEng, BSc Computer Science with Artificial Intelligence

OpenScape Web Collaboration

Computer and Information Sciences

Traditional Telephony IP Telephony Voice, Data, Video Integration. Media Convergence. IP Router Server IP Router. Video Distribution Fax

Position Paper for The Fourth W3C Web and TV Workshop. Mingmin Wang Oriental Cable Network

Towards Global Collaboration Tools

What's New in Sametime 8.5. Roberto Chiabra IBM Certified IT Specialist

End User Guide The guide for /ftp account owner

OpenControl. Utilization

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

: Introducing Cisco Voice and Unified Communications Administration (ICOMM) v8.0 Course Introduction

How do I load balance FTP on NetScaler?

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

AA Automated Attendant is a device connected to voice mail systems that answers and may route incoming calls or inquiries.

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

Testing Intelligent Device Communications in a Distributed System

Configure Web Conference Parameters Through The Web Conference Administration User Interface.

4. H.323 Components. VOIP, Version 1.6e T.O.P. BusinessInteractive GmbH Page 1 of 19

Visual Programming of Logic, Motion, and Robotics

WebSphere Business Monitor

Resource Management and Containment for Active Services

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

Ptolemy Ptutorial. Edward A. Lee UC Berkeley. This tutorial is aimed at the software developer planning to use Ptolemy as a platform.

Network support for tele-education

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Information. OpenScape Web Collaboration V7

User Service and Directory Agent: Configuration Best Practices and Troubleshooting

The Research on Industrial Information Monitoring System Based on B/S Structure Xuexuan ZHU1, a

SCADE Suite in Space Applications

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Integrated Open-Source Geophysical Processing and Visualization

Principles of Network Applications. Dr. Philip Cannata

School of Computer Science

Performance Monitoring and Analysis System for MUSCLE-based Applications

BusinessObjects Enterprise InfoView User's Guide

Table of Contents. Welcome Login Password Assistance Self Registration Secure Mail Compose Drafts...

About Network Data Collector

Virtual Team Collaboration Glossary

SDR Architecture. Introduction. Figure 1.1 SDR Forum High Level Functional Model. Contributed by Lee Pucker, Spectrum Signal Processing

FileMaker Server 15. Getting Started Guide

Virtual Lab : Bring the Hands-on Activity to Online Courses

NETWORK SETUP GLOSSARY

Transcription:

Rapid Prototyping and Deployment of User-to-User Networked Applications Wan-Teh Chang Department of Electrical Engineering and Computer Sciences University of California at Berkeley DSP SEMINAR, 3 MAY 1996

Acknowledgments Faculty advisors: Prof. David G. Messerschmitt and Prof. Edward A. Lee Collaborators: Joe Buck, Stephen Edwards, Alain Girault, Bilung Lee, and Kennard White Weiyi Li and Houman Hashemi

Taxonomy of networked applications Networked applications: User-to-information-server: file transfer, news, gopher, Web browsing, and video on demand User-to-user: telephony, video conferencing, voice mail, e-mail, shared whiteboard, and shared editor Implementation architectures: Client-server: chat Peer-to-peer: talk Client Peer Server

Motivation Problem: relatively few user-to-user applications Objective: proliferation of user-to-user applications Design: rapid prototyping methodology Deployment: dynamic network deployment

Design and deployment Interaction semantics Control Discrete event Dataflow Synchronous reactive Design environment: specify, simulate, verify, synthesize Application design using a mixture of models of computation Application definition Dynamic network deployment of application definition to programmable terminals Programmable terminal Network: architecture and protocols Programmable terminal

Rapid prototyping methodology Design environment: specification, modeling, synthesis, and verification Models of computations: Dataflow, discrete event, synchronous/reactive, finite state machine Interacting modules Module Written in a general purpose programming language Module Module

Framework Ptolemy s heterogeneous approach: mixing domainspecific models of computation Partitioning of functionality I/O & user interface Objects Numeric computation Control flow Dataflow Sequencing of operations - Handling GUI events - Networking protocols Focus on: 1. Good formal model for specifying control flow - state/event based 2. Combine control with rest of system

Finite state machine (FSM) Advantages: intuitive, formal mathematical theory Weaknesses: flat, sequential a S0 p!a/q a/p a/p b S1 ab/q S2 q

Organizing complex state space Solution: add hierarchy and concurrency to basic FSM Statechart, Argos, Esterel S a Statechart Hierarchical state T0 T U Concurrent substates V W T1 T3 a V0 b/c W0 c d V1 W1 T2 Event broadcast

Statechart example R B/O A &!B R B &!A A & B/O A/O R Natural language specification: Emit O whenever both A and B have occurred. Reset whenever R occurs. Basic FSM R Statechart A SeenA B SeenB (in SeenA & in SeenB) / O

Mixing control with dataflow Embed dataflow graphs in states: Switching between modes of operation Control in Control out Data in Data out Dataflow graphs are encapsulated within states Specification

Nesting FSM and concurrency models Concurrency and hierarchical FSM are orthogonal semantic properties Hierarchical nesting of FSM and concurrency models (dataflow, synchronous/reactive) subsumes variants of Statecharts: *charts Event broadcast Point-to-point

Implementation of hierarchical FSM Select is the key primitive A block is replaced by one of a set of internal systems. The choice of internal system is controlled dynamically by a FSM. Control in Control (FSM) Control out Select Internal events Data in Implementation Internal systems Data out

Summary of rapid prototyping methodology *charts good for specifying complex control and combining control and dataflow Semantics defined Implementation in Ptolemy: simulation; code generation I/O & user interface Numeric computation Objects Control flow

Rapid deployment: motivation Two obstacles to rapid deployment of new networked applications: Architectural constraints: application functionality implemented by the network Standardization at application level Major economic barrier to deployment of user-to-user applications: Network externality problem: early users derive little benefit from the applications

Solution Applications defined in user terminals, and increasingly in software. Network deployment: software-defined applications can be distributed via the network. Web browsers, document viewers, audio players Manual file transfer and installation Have to anticipate the need Dynamic network deployment: transfer application definition at session establishment (and during the session).

The dynamic network deployment approach Platform Application definition language Protocol for transfer of application definitions Application design environment Repository of applications Application Application Transfer of application definitions Platform Programmable terminal Computer with O.S. and resources Platform Programmable terminal

Discussion Limit standardization to infrastructure elements Downloadable software definition of remainder of application functionality Bypass network externality problem: a community of interest consisting of all networked platforms Similar ideas: Postscript, Telescript agents, Java applets, MSDL File servers on LANs

Security: Issues Application definition language must be a high-level language with restricted functionality Authentication of trusted sources Hardware/O.S. independence ==> high-level language Performance: Session establishment time: download time, interpretation/compilation Run-time: interpretation overhead Pricing and charging; licensing; learning to use

Prototype based on Java and WWW Application definition language: Java Platform: Netscape + helper program Session establishment procedure Originating user Netscape Responding user Netscape Helper program Java applets

Originating user places a call

Alerting the responding user

JavaTalk 14.6 KB, uses a widget library of 18.2KB

Chalkboard 10.8KB

Whiteboard (being developed) >35KB

Conclusions Rapid prototyping: heterogeneous approach Systems consisting of DSP, control, GUI, etc. Combining domain-specific design styles Dynamic network deployment Avoid standardization of actual application Limit network externality problems Security and high-speed networking are key Java-enabled Web browser as integrated environment for user-to-server and user-to-user applications Encourage a proliferation of innovative user-to-user applications

Future directions Service configuration: terminal-network signaling Heterogeneity in networks, terminals, and applications Negotiation of processing and quality of service Adapting to changing conditions at run time Application of transportable computation (mobile programs) Design environment: Design of flexible, adaptive applications