1 / 66

Collaboration Systems

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

alina
Download Presentation

Collaboration Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. Overview • Why Collaborative Applications? • Related Areas • Nature of System Support • Concrete Examples • Lessons 290-63:Overview

  4. Benefits: Towards Being There Face-to-Face Interaction Computer-Supported Interaction Network 290-63:Overview

  5. Gesture Cam: Remote Surrogate 290-63:Overview

  6. Benefits: Beyond Being There Face-to-Face Hollan & Stornetta ‘92 Interaction Computer-Supported Interaction Network 290-63:Overview

  7. Schedule Interview Manager Director 2 3 1 4 10 5 7 6 9 8 Technical Directors Manager Director Manager Declare Assessment Submit Evaluation Form Action Workflow Status By Candidate Workflow Step Manage Review Manager Director 290-63:Overview

  8. Dual Collaboration Goals • Towards Being There • Beyond Being There 290-63:Overview

  9. 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

  10. 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

  11. Collaboration Vs Mobile Apps. Disconnected Shared Editing with Syncing Disconnected Editing with Syncing Shared Notebook Electronic Notebook Collaborative Applications Mobile Applications 290-63:Overview

  12. 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

  13. 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

  14. System Support Applications Existing Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support X, Windows, Java Apps. 290-63:Overview

  15. 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

  16. 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

  17. 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

  18. System Support Applications Existing Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support X, Windows, Java Apps. 290-63:Overview

  19. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Beyond WYSIWIS 290-63:Overview

  20. 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

  21. 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

  22. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Distributed Architecture, Jitter & Latency Control 290-63:Overview

  23. 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

  24. 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

  25. Migration X Client Pseudo Server Pseudo Server X Server X Server User 3 User 4 Handheld Handheld 290-63:Overview

  26. Centralized -> Replicated X Client X Client Pseudo Server Pseudo Server X Server X Server User 3 User 4 Handheld Handheld 290-63:Overview

  27. 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

  28. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Distributed Architecture, Jitter & Latency Control 290-63:Overview

  29. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support 290-63:Overview

  30. Monolithic System Pseudo Server Suite Shared Windows Merging Logging Coupling Replication User-Interface 290-63:Overview

  31. Component-based System Pseudo Server Suite Shared Windows Merging Logging Coupling Replication User-Interface Logging 290-63:Overview

  32. 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

  33. Genericity • A logger can compose with different loggables at different levels of abstraction. XTV Logging Service Suite 290-63:Overview

  34. Generic API 290-63:Overview

  35. 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

  36. Connection Bus Collaboration Bus Connection Facets Pseudo Server Suite Shared Windows Merging Logging Coupling Replication User-Interface 290-63:Overview

  37. Proxy Support Model Out Model In 290-63:Overview

  38. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Generic Interfaces, Design Patterns, Connection Managers 290-63:Overview

  39. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Coupling, Concurrency Control, Merging, Access Control 290-63:Overview

  40. Interoperation Inter-operation Our Organization’s Collaborative Spreadsheet Your Organization’s Collaborative Spreadsheet User 1 User 2 User 3 User 4

  41. 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

  42. 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

  43. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support Coupling, Concurrency Control, Merging, Access Control 290-63:Overview

  44. Existing System Support Applications Interoperability Extensibility/Composability Applications Performance/Resource Management Functionality System Support 290-63:Overview

  45. Lessons • NetMeeting, Shared whiteboards, video-conferencing successful • Being there • Communication • Software Inspection Review • Control • Workflow • Beyond Being there Flexibility Needed 290-63:Overview

  46. 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

  47. 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

  48. Lessons • Infrastructure • XTV • Suite • Rendezvous Constraint-based languages • Lotus Notes • GroupKit • Java Enterprise Beans • Java Shared Data API • Make different tradeoffs 290-63:Overview

  49. Favoring Automation/Reusability XTV Programmer User

  50. Favoring Performance/Flexibility Suite Programmer User

More Related