Download presentation
Presentation is loading. Please wait.
1
Collaboration Systems
11/9/2018 Collaboration Systems Prasun Dewan Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 11/9/2018 290-63:Overview
2
Definition Oxford: Work jointly esp at literary or artistic production
Malone: helps people work together more effectively Lynch et al: makes users aware they are part of a group Wells: software and hardware for shared interactive environment Ellis: supports groups engaged in a common task and provides an interface to shared environment Peter & Johnson-Lenz: computer-mediated culture, intentional group processes plus supporting software Johansen: specialized computer aids for collaborative work groups Winograd: state of mind 11/9/2018 290-63:Overview
3
Potentially Real-Time
Definition Collaborative Application Same output? Symmetric? N-User? I/O I/O Coupling User 2 User 1 Potentially Real-Time 11/9/2018 290-63:Overview
4
Traditional Collaborative Applications
File Mail Talk send User 2 receive User 1 hi hello User 2 User 1 save User 1 User 2 load 11/9/2018 290-63:Overview
5
Benefits: Towards Being There
Face-to-Face Interaction Computer-Supported Interaction Network 11/9/2018 290-63:Overview
6
Gesture Cam: Remote Surrogate
11/9/2018 290-63:Overview
7
Benefits: Beyond Being There
Face-to-Face Hollan & Stornetta ‘92 Interaction Computer-Supported Interaction Network 11/9/2018 290-63:Overview
8
Action Workflow Director Manager 2 Schedule Interview
Status By Candidate Workflow Step 3 1 4 Manage Review Manager Director 7 10 Manager Technical Directors Submit Evaluation Form 5 6 Director Manager Declare Assessment 9 8 11/9/2018 290-63:Overview
9
Combining Both Goals? 11/9/2018 290-63:Overview
10
View controls manipulated concurrently
Phantom controls associated with concurrency and access control View Divergence 11/9/2018 290-63:Overview
11
Collaboration vs. Virtual Environments
Shared Whiteboard Nanomanipulator Remote VE Collaborative Applications VE Immersive VE Telepresence Colab. Nanomanipulator Asynchronous/ Face-to-face Collaboration 11/9/2018 290-63:Overview
12
Collaboration vs. Real-Time & Distributed Apps.
Factoring Prime Numbers Audio/Video Conferencing Multi-Mouse Whiteboard Distributed Applications Real-Time Applications Collaborative Applications Shared Whiteboard Colab VE Lotus Notes Embedded Systems 11/9/2018 290-63:Overview
13
Collaboration vs. Mobile Apps.
Disconnected Shared Editing with Syncing Disconnected Editing with Syncing Collaborative Applications Mobile Applications Connected Shared Interaction Connected Interaction 11/9/2018 290-63:Overview
14
Relationship with Object-Oriented and User Interface- Technology
Interactive Applications Collaborative Applications O-O Applications Beans Model-View-Controller-Coupler, Jitter Manager, ... Collaborative Beans Model-View-Controller 11/9/2018 290-63:Overview
15
Traditional System Aspects
Applications Existing Shared Screen Interoperability FC vs. CC Extensibility/Composability Applications Telepointer Jitter Performance/Resource Management Functionality/Abstraction Coupling System Support 11/9/2018 290-63:Overview
16
Views of Collaboration Systems
Ensure actual needs met. Conceptual depth, avoid duplication. Build on existing knowledge. See integrated sets of features Problems Issues Disciplines Systems : Applications and Infrastructures 11/9/2018 290-63:Overview
17
Problems: Application Areas
Business Management National Collaboratory Software Engineering Engineering/Design Writing Decision making, business processes, monitor state. Connected labs. Team development Just in time VR-based Distributed co-authoring. 11/9/2018 290-63:Overview
18
Problems: Application Areas
Education Medicine Air Traffic Control Command and Control Games/Casual Interaction Any complex task! Distance presentation, remote lab., colab projects Distance, sharing, workflow Coordinate controllers Coordination Sharing of information/actions Is collaborative 11/9/2018 290-63:Overview
19
Generic Tasks Social Interaction Information Exchange Presentation
Consulting Comment/Discuss Compose Artifact 11/9/2018 290-63:Overview
20
Generic Tasks: Product Life Cycle
Design Implementation Debugging/Testing Inspection/Review 11/9/2018 290-63:Overview
21
Specific Experimental Tasks
Annotate/discuss research article/software specs/video Present lecture to remote and local audience Rank job candidates Choose videos to rent, take on road trip Get status report on action items and feedback from each participant Choose name for new game Search for shopping list online 11/9/2018 290-63:Overview
22
Views of Collaboration Systems
Problems Issues Disciplines Systems: Applications and Infrastructures 11/9/2018 290-63:Overview
23
Issues: Semantics Session Management: How do distributed users create, destroy, join, and leave collaborative sessions? Single-User Interface: What are the application semantics if there is a single user in the session? Coupling: what feedback does a user receive in response to the input of another user? Access Control: How do we ensure that users do not execute unauthorized commands? Concurrency Control: How do we ensure that concurrent users do not enter inconsistent commands? 11/9/2018 290-63:Overview
24
Issues: Semantics (Contd.)
Process Control: How do we ensure that users follow prescribed group processes? Merging: How do we merge concurrent commands entered by different users? Undo/Redo: What are the semantics of undo/redo in a collaborative session? Awareness: How are users made aware of ``out of band'' activities of their collaborator? 11/9/2018 290-63:Overview
25
Issues: Implementation
Objects: What kind of objects are composed in a collaborative application? Collaboration Awareness: Which of these objects are collaboration aware and how are these objects integrated with existing, collaboration-unaware objects? Layers: How are these objects arranged in layers? Concurrency: How is the application decomposed into concurrent threads? Distribution: How are the application objects placed in different address spaces and hosts? 11/9/2018 290-63:Overview
26
Issues: Implementation (Contd.)
Replication/Migration: Which of these objects are centralized and which are replicated? Which of the centralized objects can migrate? Display Consistency: How to ensure actions are executed in the same order on computers that share them? Real-Time Support: What kind of services are provided to ensure real-time interaction with tolerable jitter and latency? 11/9/2018 290-63:Overview
27
Views of Collaboration Systems
Problems Issues Disciplines Systems: Applications and Infrastructures 11/9/2018 290-63:Overview
28
Computer Science Disciplines
Operating Systems Database Management Systems Programming Languages User Interface Systems Software Engineering Distributed file, memory, scheduling, “OS-based” IM Concurrency Control, Recovery Shared object constructs I/O distribution of window systems, toolkits Application area, process control, patterns 11/9/2018 290-63:Overview
29
Views of Collaboration Systems
Problems Issues Disciplines Systems: Applications and Infrastructures 11/9/2018 290-63:Overview
30
Systems: Applications
RTCALendering Cognoter whiteboard CES (Transaction-based Collaborative Editing System) Grove Outline Editor Information Lens Typed Coordinator Speech-Act Workflow Quilt Editor Annotations IBIS Discussions Video Walls Hydra GroupDraw optimistic CC PREP Diff-based Editor MUDs (Multiuser Dungeons) DIVE (Distributed Interactive Virtual Environment)/ MASSIVE MIT (Sarin & Greif) Xerox (Stefik et al) MIT (Liskov) MCC (Ellis) MIT (Malone) Stanford (Winograd) Bellcore (Leland) Xerox (Abel) U. Toronto (Buxton) U. Calgary (Greenberg) CMU (Neuwirth) Xerox (Curtis) Sweden (Fahlen)/ Nottingham (Benford) 11/9/2018 290-63:Overview
31
Systems: Infrastructures
NLS (Engelbart ’68) Colab (Stefik ’85) VConf (Lantz ‘86) Rapport (Ahuja ’89) XTV (Abdel-Wahab, Jeffay & Feit ‘91) Rendezvous (Patterson ‘90) Suite (Dewan & Choudhary ‘92) TeamWorkstation (Ishii ’92) Weasel (Graham ’95) Habanero (Chabert et al ‘ 98) JCE (Abdel-Wahab ‘99) Disciple (Marsic ‘01) Post Xerox Xerox Stanford Bell Labs UNC/ODU Bellcore Purdue Japan Queens U. Illinois ODU Rutgers 11/9/2018 290-63:Overview
32
Systems: Products VNC (Li, Stafford-Fraser, Hopper ’01) NetMeeting
Groove Advanced Reality LiveMeeting (Pay by minute service model) Webex (service model) ATT Research Microsoft 11/9/2018 290-63:Overview
33
Database Transactions
Multiple Views Coupling Issue Cognoter Application WYSIWIS Interaction Database Transactions Discipline Infrastructure App. Area Task NetMeeting Software Engineering Design 11/9/2018 290-63:Overview
34
Course Goals State-of-the-art Project Applications Infrastructure
Shared Word, Browser Infrastructure Groove, Shared Objects Project Writing Integrate with 291 Programming Integrate with 243/RAship Presentation Research 11/9/2018 290-63:Overview
35
Projects Infrastructure-based Application-/usage- based 11/9/2018
290-63:Overview
36
Infrastructure-based
Replication vs. centralization Existing system can change it dynamically. Hypothesis: Transition to centralized when conference gets less interactive and larger Dynamic policies for transitions Formal performance model Shared layer VNC and NetMeeting share different user-interface layers Benefits of different sharing different layers. Can we dynamically change shared layer? Dynamic policies, performance model 11/9/2018 290-63:Overview
37
Infrastructure-based
Scheduling Feedback vs. Feedthrough processing Give sufficient time to both using proportional scheduling. Energy-aware collaboration Energy dissipation a function of amount and rate of information communication Can study and adjust the coupling (send summary information in batches) 11/9/2018 290-63:Overview
38
Infrastructure-based
Locking Many locking schemes Lock whole spreadsheet vs. individual cell. Provide one comprehensive mechanism. Partly designed but not implemented. Lock-free Consistency management Locking ensures displays are consistent – no race conditions. Consistency without locks – operation transformation Called optimistic CC - misnomer 11/9/2018 290-63:Overview
39
Infrastructure-based
Context-specific presence Can synchronously monitor idle time. Can synchronously monitor every input in shared apps. Synchronously summarize application-specific information E.g. whose mail are you reading? Access control Needed because we collaborate But it is a pain Let us collaborate on setting access control. 11/9/2018 290-63:Overview
40
Application-based Qual scheduler TA/RA Matcher Automatic did not work.
Semi-automatic, collaborative. Students enter courses and time constraints Faculty members enter expertise and time constraints Schedulers form committees and assign times based. System checks qual constraints met. TA/RA Matcher Students and faculty enter preferences. Administrators can see all data. Students and faculty can see filtered data. E.g. one on one matches. 11/9/2018 290-63:Overview
41
11/9/2018 290-63:Overview
42
11/9/2018 290-63:Overview
43
11/9/2018 290-63:Overview
44
11/9/2018 290-63:Overview
45
11/9/2018 290-63:Overview
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.