Presentation is loading. Please wait.

Presentation is loading. Please wait.

Collaboration Systems

Similar presentations


Presentation on theme: "Collaboration Systems"— Presentation transcript:

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


Download ppt "Collaboration Systems"

Similar presentations


Ads by Google