Collaboration Systems. Prasun Dewan. Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175 dewan@cs.unc.edu http:/www.cs.unc.edu/~dewan. Issues. Advanced? Writing Integrated with 291 Programming Careful Vs Bulk
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
F I N
Plus de contenu associé
Transcription de la présentation
Collaboration Systems Prasun Dewan Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175 dewan@cs.unc.edu http:/www.cs.unc.edu/~dewan 290-63:Overview
Issues • Advanced? • Writing • Integrated with 291 • Programming • Careful Vs Bulk • Combined with 243 • Presentation • Pick a Project Quickly • Nature of Area • Look at Web Page 290-63:Overview
Overview • Why Collaborative Applications? • Related Areas • Nature of System Support • Concrete Examples • Lessons 290-63:Overview
Shared Whiteboard Nanomanipulator Remote VE Collaborative Applications Immersive VE Asynchronous/ Face-to-face Collaboration Colab. Nanomanipulator Telepresence Collaboration Vs Virtual Environments VE 290-63:Overview
Collaboration Vs Real-Time & Distributed Apps. Factoring Prime Numbers Audio/Video Conferencing Multi-Mouse Whiteboard Distributed Applications Real-Time Applications Lotus Notes Embedded Systems Shared Whiteboard Colab VE Collaborative Applications 290-63:Overview
Collaboration Vs Mobile Apps. Disconnected Shared Editing with Syncing Disconnected Editing with Syncing Shared Notebook Electronic Notebook Collaborative Applications Mobile Applications 290-63:Overview
Relationship with Object-Oriented and User Interface- Technology Collaborative Applications Beans Collaborative Beans Model-View-Controller Model-View-Controller-Coupler, Jitter Manager, ... Interactive Applications O-O Applications 290-63:Overview
Existing User Interface System Support Applications Windows Apps Competing Systems Interoperability Extensibility/Composability Applications Distribution Performance/Resource Management Functionality Coupling System Support 290-63:Overview
System Support Applications Existing Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support X, Windows, Java Apps. 290-63:Overview
Shared Window System Application + Tightly-Coupled Meetings + Easy to Understand + Application-Independent + Automatable Window Window WYSIWIS Coupling Audio/Video User 1 User 2 290-63:Overview
Centralized Architecture XTV (‘88) VConf (‘87) Rapport (‘88) NetMeeting X Client Pseudo Server Pseudo Server X Server X Server User 1 User 2 290-63:Overview
Shared Window System Application - Scroll Wars + Tightly-Coupled Meetings - Window Wars + Easy to Understand - No Flexibility + Application-Independent - Performance + Automatable - Consistency Window Window WYSIWIS Coupling Audio/Video User 1 User 2 290-63:Overview
System Support Applications Existing Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support X, Windows, Java Apps. 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Beyond WYSIWIS 290-63:Overview
User Session Management Coupling Merging Undo/Redo Awareness CC/AC Flexible Model of Collaboration Application Window Version 1 Window Version 1 290-63:Overview User 1 User 2
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Coupling, Merging, Diffing, Undo, User Interface, Security, Concurrency Control 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Distributed Architecture, Jitter & Latency Control 290-63:Overview
XTV Centralized Architecture Pseudo Server Pseudo Server Pseudo Server Pseudo Server Laptop++ Laptop Handheld Handheld X Client X Server X Server X Server X Server User 1 User 2 User 3 User 4 290-63:Overview
Migration X Client Pseudo Server Pseudo Server Pseudo Server X Server X Server X Server User 2 User 3 User 4 Laptop Handheld Handheld 290-63:Overview
Migration X Client Pseudo Server Pseudo Server X Server X Server User 3 User 4 Handheld Handheld 290-63:Overview
Centralized -> Replicated X Client X Client Pseudo Server Pseudo Server X Server X Server User 3 User 4 Handheld Handheld 290-63:Overview
Replication -> Centralized X Client Pseudo Server Pseudo Server Pseudo Server Pseudo Server X Server X Server X Server X Server User 1 User 2 User 3 User 4 Laptop++ Laptop Handheld Handheld 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Distributed Architecture, Jitter & Latency Control 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support 290-63:Overview
Monolithic System Pseudo Server Suite Shared Windows Merging Logging Coupling Replication User-Interface 290-63:Overview
Component-based System Pseudo Server Suite Shared Windows Merging Logging Coupling Replication User-Interface Logging 290-63:Overview
Composability • A logging service can dynamically compose with different instances of a client. • A client can dynamically compose with different instances of a server. Logging Service XTV 1 XTV 2 Logging Service XTV Logging Service 290-63:Overview
Genericity • A logger can compose with different loggables at different levels of abstraction. XTV Logging Service Suite 290-63:Overview
Generic UI Protocol Interface to Logger (Translation) Ease of Programming X Client XTV X UI Protocol Specialized Logging Service Other Services X UI Protocol X Servers (a) XTV Implementing Latecomer Service X Client XTV X UI Protocol Generic Logging Service Other Services X UI Protocol X Servers (b) XTV Using Logger for Latecomer Service 290-63:Overview
Connection Bus Collaboration Bus Connection Facets Pseudo Server Suite Shared Windows Merging Logging Coupling Replication User-Interface 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Generic Interfaces, Design Patterns, Connection Managers 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Coupling, Concurrency Control, Merging, Access Control 290-63:Overview
Interoperation Inter-operation Our Organization’s Collaborative Spreadsheet Your Organization’s Collaborative Spreadsheet User 1 User 2 User 3 User 4
Lock Controller Spreadsheet Model WYSIWIS Coupler Floor Controller Spreadsheet Replica Spreadsheet Replica Spreadsheet View Spreadsheet View Interoperation Example Habanero Spreadsheet Custom Spreadsheet Flexible Coupler User 1 User 2 User 3 User 4
Spreadsheet Replica/View Dummy User Interoperating Coupling Dynamic Composition Local Semantics Preserved Spreadsheet Model WYSIWIS Coupler Flexible Coupler Spreadsheet Replica Spreadsheet Replica Spreadsheet View Spreadsheet View User 1 User 2 User 3 User 4
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Coupling, Concurrency Control, Merging, Access Control 290-63:Overview
Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support 290-63:Overview
Lessons • NetMeeting, Shared whiteboards, video-conferencing successful • Being there • Communication • Software Inspection Review • Control • Workflow • Beyond Being there Flexibility Needed 290-63:Overview
Mostly Asynchronous Mostly Synchronous Life Cycle • Requirements • Design • Programming • Debugging • Testing • Review • Maintenance Integration of Sync and Async Integration of Life Cycle Steps 290-63:Overview
Lessons • Flexibility • New area explored faster • Training needed • Exploratory Environment • How to see effects on other users • textual descriptions • animations • network simulations? 290-63:Overview
Lessons • Infrastructure • XTV • Suite • Rendezvous Constraint-based languages • Lotus Notes • GroupKit • Java Enterprise Beans • Java Shared Data API • Make different tradeoffs 290-63:Overview