75
Dewan 290-F99 1 Collaborative Applications Prasun Dewan Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175 [email protected] http:/www.cs.unc.edu/~dewan

Collaborative Applications

  • Upload
    teenie

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

Collaborative Applications. Prasun Dewan. Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175 [email protected] http:/www.cs.unc.edu/~dewan. Definition. Collaborative Application. I/O. I/O. Coupling. User 2. User 1. - PowerPoint PPT Presentation

Citation preview

Page 1: Collaborative Applications

Dewan 290-F99 1

Collaborative Applications

Prasun Dewan

Department of Computer ScienceUniversity of North CarolinaCB 3175 Sitterson HallChapel Hill, NC 27599-3175

[email protected]:/www.cs.unc.edu/~dewan

Page 2: Collaborative Applications

Dewan 290-F99 2

5.1. DEFINITION OF A COLLABORATIVE APPLICATION (GROUPWARE)

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 toshared environment

Peter & Johnson-Lenz: computer-mediated culture, intentional group processesplus supporting software

Johansen: specialized computer aids for collaborative work groups

Winograd: state of mind

Page 3: Collaborative Applications

Dewan 290-F99 3

Definition

User 1 User 2Coupling

Potentially Real-Time

I/O I/O

Collaborative

Application

Page 4: Collaborative Applications

Dewan 290-F99 4

Traditional Collaborative Applications

File

save

User 1 User 2

load

Mail Talk

send

User 2

receive

User 1

hi

hello

User 2User 1

hi

hello

Page 5: Collaborative Applications

Dewan 290-F99 5

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

Page 6: Collaborative Applications

Dewan 290-F99 6

Business Management

National Collaboratory

Engineering/Design

Software Engineering

Writing

Education

Medicine

Air Traffic Control

Command and Control

Games/Casual Interaction

Any complex task!

Problems: Application Areas

Page 7: Collaborative Applications

Dewan 290-F99 7

Problems: Generic Tasks

Design

Implementation

Inspection/Review

Consulting

Page 8: Collaborative Applications

Dewan 290-F99 8

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

Page 9: Collaborative Applications

Dewan 290-F99 9

Issues: Semantics

Session Management: How do distributed users create, destroy, join, andleave collaborative sessions?

Single-User Interface: What are the application semantics if there is a singleuser in the session?

Coupling: what feedback does a user receive in response to the input ofanother user?

Access Control: How do we ensure that users do not execute unauthorizedcommands?

Concurrency Control: How do we ensure that concurrent users do not enterinconsistent commands?

Page 10: Collaborative Applications

Dewan 290-F99 10

Process Control: How do we ensure that users follow prescribed groupprocesses?

Merging: How do we merge concurrent commands entered by differentusers?

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 theircollaborator?

Issues: Semantics (Contd.)

Page 11: Collaborative Applications

Dewan 290-F99 11

Issues: Implementation

Objects: What kind of objects are used to program a collaborativeapplication?

Collaboration Awareness: Which of these objects are collaboration awareand how are these objects integrated with existing, collaboration-unawareobjects?

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 addressspaces and hosts?

Page 12: Collaborative Applications

Dewan 290-F99 12

Replication/Migration: Which of these objects are centralized and whichare replicated? Which of the centralized objects can migrate?

Real-Time Support: What kind of services are provided to ensure real-timeinteraction with tolerable jitter and latency?

Issues: Implementation (Contd.)

Page 13: Collaborative Applications

Dewan 290-F99 13

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

Page 14: Collaborative Applications

Dewan 290-F99 14

Computer Science Disciplines

Operating Systems

Database Management Systems

Programming Languages

User Interface Systems

Software Engineering

Page 15: Collaborative Applications

Dewan 290-F99 15

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

Page 16: Collaborative Applications

Dewan 290-F99 16

MUDs (Multiuser Dungeons)

DIVE (Distributed Interactive VirtualEnvironment)

Video Walls

Media Space

Hydra

MAJIC (Multi-Attendant Joint Inteface for Collaboration)

GestureCam

Shasthtra

Information Lens

Coordinator

Action Workflow

Computational Mail

Quilt

PREP

IBIS

CLARE

RTCAL (Real-Time Calendar)

Systems: Applications

Page 17: Collaborative Applications

Dewan 290-F99 17

Applications (Contd)

GROVE (Group Outline Viewing Editor)

CES (Collaborative Editing System)

GroupDraw

ClearBoard

TeamWorkstation

GroupLens

IRI

Page 18: Collaborative Applications

Dewan 290-F99 18

File Systems

DBMS

Lotus Notes

Coda

IPC

ISIS

Xerox's Colab

XTV, NetMeeting

Suite

Web

Rendevous

GroupKit

TeamWorkstation

Weasel, Clock

Systems: Infrastructures

Page 19: Collaborative Applications

Dewan 290-F99 19

Traditional Collaborative Applications File

save

User 1 User 2

load

Mail

send

User 2

receive

Talk

hi

hello

User 2User 1 User 1

hi

hello

Implicit Comm.Artifact-based

PollingAsynchronous

Explicit Comm.Private Messages

Auto NotificationAsynchronous

Implicit Comm.Session-based

Auto NotificationSynchronous

Page 20: Collaborative Applications

Dewan 290-F99 20

Implicit & Explicit Comm.Artifact-basedSession-basedSynchronous & Asynchronous

Session-based Explicit Messages

Artifact-basedPrivate Messages

Implicit Comm.Artifact-basedSession-basedSynchronous

Novel Collaborative Applications File++ Mail++ Talk++

File + Mail Talk + Mail

File + Mail + Talk

Talk + File

Page 21: Collaborative Applications

Dewan 290-F99 21

Talk++

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

Page 22: Collaborative Applications

Dewan 290-F99 22

MaryJohn

MUDs: Textual Virtual Reality

Say Hi everyone

Emote smiles

Whisper “Boring” to Joe

You whisper, “Boring” to Joe

@who

Name Connect Idle Time Time

John has entered the room (hear footsteps)

You say, “Hi everyone” John says, “Hi everyone”

You smile John smiles

Look John

Move John to public place

Change John’s description

John’s textual description

Disallow John whisper

Disallow John from this room

(Wizard)

Page 23: Collaborative Applications

Dewan 290-F99 23

Video Walls: Video-based Virtual Reality

Camera & Microphone

Scr

een

& S

peak

er Camera & Microphone

Room 1 Room 2

Scr

een

& S

peak

er

Page 24: Collaborative Applications

Dewan 290-F99 24

Media Space

Room 2 Room 4

Map

Page 25: Collaborative Applications

Dewan 290-F99 25

Hydra: Gaze Awareness

Figure originally appears in [5].

Page 26: Collaborative Applications

Dewan 290-F99 26

6.1.7. MAJIC: Real-Life with Seamless User Boundaries

Figure originally appears in [36]

Page 27: Collaborative Applications

Dewan 290-F99 27

Session

DIVE: Navigation- based VR

Application

User 2

User 1

User 3

User 4

Aura

Supports Unintended Collaboration

Non intrusive

Page 28: Collaborative Applications

Dewan 290-F99 28

Hallway Model

Page 29: Collaborative Applications

Dewan 290-F99 29

Gesture Cam: Remote Surrogate

Figure originally appears in [30]

Page 30: Collaborative Applications

Dewan 290-F99 30

Gesture Cam: Architecture

Figure Originally appears in [30]

Page 31: Collaborative Applications

Dewan 290-F99 31

Colab. PsyBench

Page 32: Collaborative Applications

Dewan 290-F99 32

PSyBench

Psybench.gif

Page 33: Collaborative Applications

Dewan 290-F99 33

Psy Bench Architecture

Page 34: Collaborative Applications

Dewan 290-F99 34

In Touch

Page 35: Collaborative Applications

Dewan 290-F99 35

In Touch Architecture

Page 36: Collaborative Applications

Dewan 290-F99 36

6.1.9. Mail++

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

Page 37: Collaborative Applications

Dewan 290-F99 37

Information Lens: Typed Messages

Subject: ….

Type: Exam Change Notice

Semi-structured typed messages

Messages

Notices Requests

Room Change Notice

Exam Change Notice

Exam Change Request

Class Absence Request

Type Hierarchy

Joe Absence

14 Exam Change

Type-based filtering

Notices

Page 38: Collaborative Applications

Dewan 290-F99 38

Notes MailCategory 1

2/24/99 Main message 1 (John Smith, responses)2/25/99 Response 1 (Mary Lowe, 1 response) 2/26/96 Response 2 (Joe Doe)

Category 22/24/96 Main message 2 (Mary Lowe, 1 response)

Doe, Joe 1. 2/26/99 Response 2 (re. Main message 1)

Lowe, Mary1. 2/24/99 Main message 2 2. 2/26/96 Response 2 (Joe Doe)

By Category

By Author

Page 39: Collaborative Applications

Dewan 290-F99 39

Coordinator: Structured Conversation

Customer Producer

Request (response, completion, alert dates)

Acknowledge

Agree

Interim-Report/Cancel/New-Promise

Report-Completion

Satisfaction

Automation ofform fieldsalerts, remindersstatus information

Customer Producer

Request Agree

Satisfaction Complete

Page 40: Collaborative Applications

Dewan 290-F99 40

Action Workflow

Status By Candidate Workflow Step

Manage Review

Director Manager

Director Manager

2

Schedule Interview

1 43

Director Manager

Declare Assessment

98

10 7

Manager Technical Directors

Submit Evaluation Form

56

Page 41: Collaborative Applications

Dewan 290-F99 41

ATOMICMAIL: Computational Mail

Data Program

Mail Receiver

display/animate graphics gather data and mail

Lisp-based PL Single Directory Accessed File Creation Limited Mail Messages Limited

Page 42: Collaborative Applications

Dewan 290-F99 42

6.1.15. File++

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

Page 43: Collaborative Applications

Dewan 290-F99 43

Quilt: Writeable Typed Hypermedia

Revisions Suggestions Public comments Private messages Other

Document

Creation time

Creator

LoggingMachine Level (Insert-Char) User-Level (Reorganized Section 2)

RolesReader < Commenter < Co-Author

TriggersAlert significant changes

Colab StylesAuthor modifies owned section Co-author modifies all Designated editor modifies all

Artifact = Document + Colab. Info.

Page 44: Collaborative Applications

Dewan 290-F99 44

PREP: Zero-Cost HyperlinksMain text Alice’s

commentsBenu’scomments

Chou’scomments

Para 1

Para 2

Page 45: Collaborative Applications

Dewan 290-F99 45

IBIS: Structured Issue Resolution

*I: Which processor should be used ?P: Processor A

AS: Fast*P: Processor B

AS: Cheap, already in use-P: Processor C

AS: Cheap & fastAO: Will not be available in time

Resolved issue Unresolved position Argument Supporting Current position

Rejected position

Argument objecting

Artifact = Colab. Info.

Page 46: Collaborative Applications

Dewan 290-F99 46

6.1.19. CLARE: Structured Discussion + Process Model

RESRA (Representation Schema of Research Artifacts)Figure originally appears in [39]

Page 47: Collaborative Applications

Dewan 290-F99 47

CLARE: Structured Discussion + Process Model

SECAI (Summarization, Evaluation, Comparison, Argumentation)

Figure originally appears in [39]

Page 48: Collaborative Applications

Dewan 290-F99 48

6.1.20. Talk + File

Talk++

Mail++

File++

Talk + File

Talk + Mail

Mail + File

Talk + Mail + File

Page 49: Collaborative Applications

Dewan 290-F99 49

RTCAL: Real-Time Artifact Sharing

Application Commands

Regular User Chair

Conference Control Commands

join, leave get floor, release floor, terminate

Application Commands

Proposal: 10amVote: Yes

Proposal: 10amVote: No

Public Appts

Private Appts

Public Appts

Public Appts

Public Appts

Topic, Participants Chair, Controller

Topic, Participants Chair, Controller

Awareness

Page 50: Collaborative Applications

Dewan 290-F99 50

GROVE: Access-Controlled Views

Outline Title 1. Readable and writeable item 1.1 Also readable and writeable *.Shared readable and writeable * .* Shared readable

User 2 User 3 User 4

Outline Title1.Readable and writeable item 1.1 Also readable and writeable 1.2 Another public item

*.* Different shared item

User 1 User 3 User 4

User 1 User 2

Independent ScrollingIncremental SharingNo Concurrency ControlUser and State Awareness Fine-grained Access Control

public, shared, private

read, write rights

Page 51: Collaborative Applications

Dewan 290-F99 51

Central Host

Host 1 Host 2

CES: Delayed Commitment & Tickle Locks

Document Root

Text Node Owner User 1

Text Node Owner User 2

Sharing of Committed Results

Implicit Commit Del/CR

Tickle Locks

Version Stack

Page 52: Collaborative Applications

Dewan 290-F99 52

GroupDraw: Virtual Gestures & Optimistic Locks

User 2

Implicit Locking/UnlockingOptimistic Locking

Fine-grained CC & ACUncoupled Scrollbars & PalettesCoupled Graphical Objects

User 1

Multiuser Scrollbar & Gestalt Viewer

Page 53: Collaborative Applications

Dewan 290-F99 53

Pebbles: Single-Display Groupware

*

+

Page 54: Collaborative Applications

Dewan 290-F99 54

6.1.25. Clearboard: Face to face Awareness

Figure available from http://ishii.www.media.mit.edu/people/ishii/CB.html.

Page 55: Collaborative Applications

Dewan 290-F99 55

Clearboard: Architecture

Figure first appeared in [26]

Page 56: Collaborative Applications

Dewan 290-F99 56

TeamWorkstation: Integrated Desktop & Computer Awareness

Figure available at http://ishii.www.media.mit.edu/people/ishii/TWS.html

Page 57: Collaborative Applications

Dewan 290-F99 57

Editing paperxxxx yyyyy

TELE-SCREEN

Page 58: Collaborative Applications

Dewan 290-F99 58

Editing paperxxxx yyyyy

TELE-DESK

Page 59: Collaborative Applications

Dewan 290-F99 59

Editing paperxxxx yyyyy

SCREEN-OVERLAY

Page 60: Collaborative Applications

Dewan 290-F99 60

Editing paperxxxx yyyyy

DESK-OVERLAY

Page 61: Collaborative Applications

Dewan 290-F99 61

SCREEN & DESK-OVERLAY

Editing paperxxxx yyyyy

Page 62: Collaborative Applications

Dewan 290-F99 62

Editing paperxxxx yyyyy

COMPUTER-SHARING

Page 63: Collaborative Applications

Dewan 290-F99 63

6.1.27. Talk + Mail

Talk++

Mail++

File++

Talk + File

Talk + Mail

Mail + File

Talk + Mail + File

Page 64: Collaborative Applications

Dewan 290-F99 64

6.1.28. Mail + File

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

Page 65: Collaborative Applications

Dewan 290-F99 65

Message M

Message 1

Message 2

News: Shared Mailboxes

Send Receive

User 2 User 2

User 1

User N

User 1

User N

Page 66: Collaborative Applications

Dewan 290-F99 66

News: Scaleable Architecture

News Client

News Client

News Client

eventual delivery of immutable messages

post newsNews Server

News Server

News Server

News Server

exchange news

read news

Page 67: Collaborative Applications

Dewan 290-F99 67

Message/News Filtering

• Agent-based– Newsgroup– Discussion Thread– Urgent Message– Sender Cost– Strings in Messages– Message Length– Spell Checking– Included Messages

• Rating-based– Moderator– Known Reviewers– Anonymous

Reviewers

Page 68: Collaborative Applications

Dewan 290-F99 68

6.1.31. Group Lens: Aggregate-based Filtering

Multiple (arbitrary) people rate message

Rating combined into one aggregate number specific to reader

Correlation coefficient - CAB:

Sum (i = 1 to n) ((Ai - Amean)* (Bi - Bmean)) --------------------------------------------- Sqrt ( (Sum (i = 1 to n) (Ai - Amean)**2) * Sum (i = 1 to n) (Bi - Bmean)**2))

Given set S of rating users, aggregate:

Sum (i = 1 to n) (Bi - Bmean)*CABi) -------------------------------------- + Amean Sum (I = 1 to n) CABi

Page 69: Collaborative Applications

Dewan 290-F99 69

Group Lens

News Client

News Server

post news read news

Better Bit Bureau

send rating

post rating

Modified News Client get rating

read rating

Filterbot (Rating Agent)

read news

send rating

Page 70: Collaborative Applications

Dewan 290-F99 70

Evaluating Aggregation-based Filtering

• Coverage– Measures % of time predications are available

• Statistical Accuracy– Measures how computed rating deviates from actual

rating

– Disproportionately higher weight to large deviation

• Decision Support Accuracy– Probability random “good” item rejected by system

– Probablility random “bad” item accepted by system

Page 71: Collaborative Applications

Dewan 290-F99 71

Experiments

NoFilterbot

Spell Include Length

general 40, 69 43, 67 46, 70 44, 67

perl.misc 7, 65 42, 74 13, 64 13, 68

linux.announce 14, 66 46, 68 20, 61 48, 70

food.recipes 22, 61 71, 66 27, 66 42, 56

rec.humor 15, 46 50, 80 50, 72 16, 71

Coverage, Decision Making Accuracy

Page 72: Collaborative Applications

Dewan 290-F99 72

Mercury: Automatic Asynchronous Error Notification

module A

export T

type T = char

User 1

Module B

import T

v: T = ‘a’

User 2

Edit T Asynchronous Error notification

Buffered Notifications

module A

export T

type T = String

Page 73: Collaborative Applications

Dewan 290-F99 73

GroupDesk: Automatic Customizable Awareness Notification

Relations: Owner Events: Modification Interested Users: Alice, Benu

Relation Classes Object Classes Event Classes

Similar-to

Document

Modification

Version-of

Object

Comment Added

can establish can raise

Interest Context

Page 74: Collaborative Applications

Dewan 290-F99 74

6.1.34. Talk + Mail + File

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

Page 75: Collaborative Applications

Dewan 290-F99 75

6.1.35. IRI: Distance Learning Environment

Figure available at http://www.cs.odu.edu/~tele/iri.