Dewan290-F991 Collaborative Applications Prasun Dewan Department of Computer Science University of...

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
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

Transcript of Dewan290-F991 Collaborative Applications Prasun Dewan Department of Computer Science University of...

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

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

Dewan 290-F99 3

Definition

User 1 User 2Coupling

Potentially Real-Time

I/O I/O

Collaborative

Application

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

Dewan 290-F99 5

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

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

Dewan 290-F99 7

Problems: Generic Tasks

Design

Implementation

Inspection/Review

Consulting

Dewan 290-F99 8

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

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?

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

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?

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

Dewan 290-F99 13

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

Dewan 290-F99 14

Computer Science Disciplines

Operating Systems

Database Management Systems

Programming Languages

User Interface Systems

Software Engineering

Dewan 290-F99 15

Views of Collaboration Systems

Problems

Issues

Disciplines

Systems: Applications and Infrastructures

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

Dewan 290-F99 17

Applications (Contd)

GROVE (Group Outline Viewing Editor)

CES (Collaborative Editing System)

GroupDraw

ClearBoard

TeamWorkstation

GroupLens

IRI

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

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

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

Dewan 290-F99 21

Talk++

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

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)

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

Dewan 290-F99 24

Media Space

Room 2 Room 4

Map

Dewan 290-F99 25

Hydra: Gaze Awareness

Figure originally appears in [5].

Dewan 290-F99 26

6.1.7. MAJIC: Real-Life with Seamless User Boundaries

Figure originally appears in [36]

Dewan 290-F99 27

Session

DIVE: Navigation- based VR

Application

User 2

User 1

User 3

User 4

Aura

Supports Unintended Collaboration

Non intrusive

Dewan 290-F99 28

Hallway Model

Dewan 290-F99 29

Gesture Cam: Remote Surrogate

Figure originally appears in [30]

Dewan 290-F99 30

Gesture Cam: Architecture

Figure Originally appears in [30]

Dewan 290-F99 31

Colab. PsyBench

Dewan 290-F99 32

PSyBench

Psybench.gif

Dewan 290-F99 33

Psy Bench Architecture

Dewan 290-F99 34

In Touch

Dewan 290-F99 35

In Touch Architecture

Dewan 290-F99 36

6.1.9. Mail++

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

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

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

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

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

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

Dewan 290-F99 42

6.1.15. File++

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

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.

Dewan 290-F99 44

PREP: Zero-Cost HyperlinksMain text Alice’s

commentsBenu’scomments

Chou’scomments

Para 1

Para 2

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.

Dewan 290-F99 46

6.1.19. CLARE: Structured Discussion + Process Model

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

Dewan 290-F99 47

CLARE: Structured Discussion + Process Model

SECAI (Summarization, Evaluation, Comparison, Argumentation)

Figure originally appears in [39]

Dewan 290-F99 48

6.1.20. Talk + File

Talk++

Mail++

File++

Talk + File

Talk + Mail

Mail + File

Talk + Mail + File

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

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

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

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

Dewan 290-F99 53

Pebbles: Single-Display Groupware

*

+

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.

Dewan 290-F99 55

Clearboard: Architecture

Figure first appeared in [26]

Dewan 290-F99 56

TeamWorkstation: Integrated Desktop & Computer Awareness

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

Dewan 290-F99 57

Editing paperxxxx yyyyy

TELE-SCREEN

Dewan 290-F99 58

Editing paperxxxx yyyyy

TELE-DESK

Dewan 290-F99 59

Editing paperxxxx yyyyy

SCREEN-OVERLAY

Dewan 290-F99 60

Editing paperxxxx yyyyy

DESK-OVERLAY

Dewan 290-F99 61

SCREEN & DESK-OVERLAY

Editing paperxxxx yyyyy

Dewan 290-F99 62

Editing paperxxxx yyyyy

COMPUTER-SHARING

Dewan 290-F99 63

6.1.27. Talk + Mail

Talk++

Mail++

File++

Talk + File

Talk + Mail

Mail + File

Talk + Mail + File

Dewan 290-F99 64

6.1.28. Mail + File

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

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

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

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

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

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

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

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

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

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

Dewan 290-F99 74

6.1.34. Talk + Mail + File

Talk++

Mail++

File++

Talk + Mail

Talk + File

Mail + File

Talk + Mail + File

Dewan 290-F99 75

6.1.35. IRI: Distance Learning Environment

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