Title: Collaboration Systems
1Collaboration Systems
Prasun Dewan
Department of Computer Science University of
North Carolina CB 3175 Sitterson Hall Chapel
Hill, NC 27599-3175 dewan_at_cs.unc.edu http/www.c
s.unc.edu/dewan
2Definition
- 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
3Definition
Collaborative Application
- Same output?
- Symmetric?
- N-User?
I/O
I/O
Coupling
User 2
User 1
Potentially Real-Time
4Traditional Collaborative Applications
File
Mail
Talk
5Benefits Towards Being There
Face-to-Face
Interaction
Computer-Supported
Interaction
Network
6Gesture Cam Remote Surrogate
7Benefits Beyond Being There
Face-to-Face
Hollan Stornetta 92
Interaction
Computer-Supported
Interaction
Network
8Action Workflow
Status By Candidate Workflow Step
Manage Review
Manager
Director
9Combining Both Goals?
10(No Transcript)
11Collaboration vs. Virtual Environments
VE
12Collaboration vs. Real-Time Distributed Apps.
Collaborative Applications
13Collaboration vs. Mobile Apps.
Mobile Applications
Collaborative Applications
14Relationship with Object-Oriented and User
Interface- Technology
Interactive Applications
O-O Applications
15Traditional System Aspects
Applications
Shared Screen
FC vs. CC
Interoperability
Extensibility/Composability
Applications
Telepointer Jitter
Performance/Resource Management
Functionality/Abstraction
Coupling
System Support
16Views 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
17Problems 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.
18Problems 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
19Generic Tasks
- Social Interaction
- Information Exchange
- Presentation
- Consulting
- Comment/Discuss
- Compose Artifact
20Generic Tasks Product Life Cycle
- Design
- Implementation
- Debugging/Testing
- Inspection/Review
21Specific 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
22Views of Collaboration Systems
- Problems
- Issues
- Disciplines
- Systems Applications and Infrastructures
23Issues 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?
24Issues 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?
25Issues 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?
26Issues 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?
27Views of Collaboration Systems
- Problems
- Issues
- Disciplines
- Systems Applications and Infrastructures
28Computer 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
29Views of Collaboration Systems
- Problems
- Issues
- Disciplines
- Systems Applications and Infrastructures
30Systems Applications
- RTCALendering
- Cognoter whiteboard
- CES (Transaction-based Collaborative Editing
System) - Grove Outline Editor
- Information Lens Typed Email
- 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)
- MCC (Ellis)
- Xerox (Abel)
- U. Toronto (Buxton)
- U. Calgary (Greenberg)
- CMU (Neuwirth)
- Xerox (Curtis)
- Sweden (Fahlen)/ Nottingham (Benford)
31Systems 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
32Systems Products
- VNC (Li, Stafford-Fraser, Hopper 01)
- NetMeeting
- Groove
- Advanced Reality
- LiveMeeting (Pay by minute service model)
- Webex (service model)
- ATT Research
- Microsoft
- Microsoft
33Multiple Views
Coupling
Cognoter
WYSIWIS Interaction
Database Transactions
NetMeeting
Software Engineering
Design
34Course Goals
- State-of-the-art
- Applications
- Shared Word, Browser
- Infrastructure
- Groove, Shared Objects
- Project
- Writing
- Integrate with 291
- Programming
- Integrate with 243/RAship
- Presentation
- Research
35Projects
- Infrastructure-based
- Application-/usage- based
36Infrastructure-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
37Infrastructure-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)
38Infrastructure-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
39Infrastructure-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.
40Application-based
- Qual scheduler
- 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.
41(No Transcript)
42(No Transcript)
43(No Transcript)
44(No Transcript)
45(No Transcript)