Collaborative Applications Prasun Dewan Department of Computer - - PowerPoint PPT Presentation

collaborative applications
SMART_READER_LITE
LIVE PREVIEW

Collaborative Applications Prasun Dewan Department of Computer - - PowerPoint PPT Presentation

Collaborative Applications Prasun Dewan Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175 dewan@cs.unc.edu http:/www.cs.unc.edu/~dewan Dewan 290-F99 1 5.1. DEFINITION OF A


slide-1
SLIDE 1

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 dewan@cs.unc.edu http:/www.cs.unc.edu/~dewan

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Dewan 290-F99 3

Definition

User 1 User 2 Coupling Potentially Real-Time I/O I/O

Collaborative Application

slide-4
SLIDE 4

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 2 User 1 hi hello

slide-5
SLIDE 5

Dewan 290-F99 5

Views of Collaboration Systems

♦ Problems ♦ Issues ♦ Disciplines

♦ Systems: Applications and Infrastructures

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Dewan 290-F99 7

Problems: Generic Tasks

  • Design
  • Implementation
  • Inspection/Review
  • Consulting
slide-8
SLIDE 8

Dewan 290-F99 8

Views of Collaboration Systems

  • Problems
  • Issues
  • Disciplines
  • Systems: Applications and Infrastructures
slide-9
SLIDE 9

Dewan 290-F99 9

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?

slide-10
SLIDE 10

Dewan 290-F99 10

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

Issues: Semantics (Contd.)

slide-11
SLIDE 11

Dewan 290-F99 11

Issues: Implementation

  • Objects: What kind of objects are used to program a collaborative

application?

  • Collaboration Awareness: Which of these objects are collaboration aware

and how are these objects integrated with existing, collaboration-unaware

  • bjects?
  • 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?

slide-12
SLIDE 12

Dewan 290-F99 12

  • Replication/Migration: Which of these objects are centralized and which

are replicated? Which of the centralized objects can migrate?

  • Real-Time Support: What kind of services are provided to ensure real-time

interaction with tolerable jitter and latency?

Issues: Implementation (Contd.)

slide-13
SLIDE 13

Dewan 290-F99 13

Views of Collaboration Systems

  • Problems
  • Issues
  • Disciplines
  • Systems: Applications and Infrastructures
slide-14
SLIDE 14

Dewan 290-F99 14

Computer Science Disciplines

  • Operating Systems
  • Database Management Systems
  • Programming Languages
  • User Interface Systems
  • Software Engineering
slide-15
SLIDE 15

Dewan 290-F99 15

Views of Collaboration Systems

  • Problems
  • Issues
  • Disciplines
  • Systems: Applications and Infrastructures
slide-16
SLIDE 16

Dewan 290-F99 16

  • MUDs (Multiuser Dungeons)
  • DIVE (Distributed Interactive Virtual

Environment)

  • 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

slide-17
SLIDE 17

Dewan 290-F99 17

Applications (Contd)

  • GROVE (Group Outline Viewing Editor)
  • CES (Collaborative Editing System)
  • GroupDraw
  • ClearBoard
  • TeamWorkstation
  • GroupLens
  • IRI
slide-18
SLIDE 18

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

slide-19
SLIDE 19

Dewan 290-F99 19

Traditional Collaborative Applications

File save User 1 User 2 load Mail send User 2 receive Talk hi hello User 2 User 1 User 1 hi hello Implicit Comm. Artifact-based Polling Asynchronous Explicit Comm. Private Messages Auto Notification Asynchronous Implicit Comm. Session-based Auto Notification Synchronous

slide-20
SLIDE 20

Dewan 290-F99 20

Implicit & Explicit Comm. Artifact-based Session-based Synchronous & Asynchronous Session-based Explicit Messages Artifact-based Private Messages Implicit Comm. Artifact-based Session-based Synchronous

Novel Collaborative Applications

File++ Mail++ Talk++ File + Mail Talk + Mail File + Mail + Talk Talk + File

slide-21
SLIDE 21

Dewan 290-F99 21

Talk++

  • Talk++
  • Mail++
  • File++
  • Talk + Mail
  • Talk + File
  • Mail + File
  • Talk + Mail + File
slide-22
SLIDE 22

Dewan 290-F99 22

Mary John

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)

slide-23
SLIDE 23

Dewan 290-F99 23

Video Walls: Video-based Virtual Reality

Camera & Microphone Screen & Speaker Camera & Microphone Room 1 Room 2 Screen & Speaker

slide-24
SLIDE 24

Dewan 290-F99 24

Media Space

Room 2 Room 4 Map

slide-25
SLIDE 25

Dewan 290-F99 25

Hydra: Gaze Awareness

Figure originally appears in [5].

slide-26
SLIDE 26

Dewan 290-F99 26

6.1.7. MAJIC: Real-Life with Seamless User Boundaries

Figure originally appears in [36]

slide-27
SLIDE 27

Dewan 290-F99 27

Session

DIVE: Navigation- based VR

Application User 2 User 1 User 3 User 4 Aura Supports Unintended Collaboration Non intrusive

slide-28
SLIDE 28

Dewan 290-F99 28

Hallway Model

slide-29
SLIDE 29

Dewan 290-F99 29

Gesture Cam: Remote Surrogate

Figure originally appears in [30]

slide-30
SLIDE 30

Dewan 290-F99 30

Gesture Cam: Architecture

Figure Originally appears in [30]

slide-31
SLIDE 31

Dewan 290-F99 31

  • Colab. PsyBench
slide-32
SLIDE 32

Dewan 290-F99 32

PSyBench

Psybench.gif

slide-33
SLIDE 33

Dewan 290-F99 33

Psy Bench Architecture

slide-34
SLIDE 34

Dewan 290-F99 34

In Touch

slide-35
SLIDE 35

Dewan 290-F99 35

In Touch Architecture

slide-36
SLIDE 36

Dewan 290-F99 36

6.1.9. Mail++

  • Talk++
  • Mail++
  • File++
  • Talk + Mail
  • Talk + File
  • Mail + File
  • Talk + Mail + File
slide-37
SLIDE 37

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

slide-38
SLIDE 38

Dewan 290-F99 38

Notes Mail

Category 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 2 2/24/96 Main message 2 (Mary Lowe, 1 response) Doe, Joe

  • 1. 2/26/99 Response 2 (re. Main message 1)

Lowe, Mary

  • 1. 2/24/99 Main message 2
  • 2. 2/26/96 Response 2 (Joe Doe)

By Category By Author

slide-39
SLIDE 39

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 of form fields alerts, reminders status information Customer Producer Request Agree Satisfaction Complete

slide-40
SLIDE 40

Dewan 290-F99 40

Action Workflow

Status By Candidate Workflow Step Manage Review Director Manager Director Manager 2 Schedule Interview 1 4 3 Director Manager Declare Assessment 9 8 10 7 Manager Technical Directors Submit Evaluation Form 5 6

slide-41
SLIDE 41

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

slide-42
SLIDE 42

Dewan 290-F99 42

6.1.15. File++

  • Talk++
  • Mail++
  • File++
  • Talk + Mail
  • Talk + File
  • Mail + File
  • Talk + Mail + File
slide-43
SLIDE 43

Dewan 290-F99 43

Quilt: Writeable Typed Hypermedia

Revisions Suggestions Public comments Private messages Other Document Creation time Creator Logging Machine Level (Insert-Char) User-Level (Reorganized Section 2) Roles Reader < Commenter < Co-Author Triggers Alert significant changes Colab Styles Author modifies owned section Co-author modifies all Designated editor modifies all

Artifact = Document +

  • Colab. Info.
slide-44
SLIDE 44

Dewan 290-F99 44

PREP: Zero-Cost Hyperlinks

Main text Alice’s comments Benu’s comments Chou’s comments Para 1 Para 2

slide-45
SLIDE 45

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 & fast AO: Will not be available in time Resolved issue Unresolved position Argument Supporting Current position Rejected position Argument objecting

Artifact =

  • Colab. Info.
slide-46
SLIDE 46

Dewan 290-F99 46

6.1.19. CLARE: Structured Discussion + Process Model

RESRA (Representation Schema of Research Artifacts)

Figure originally appears in [39]

slide-47
SLIDE 47

Dewan 290-F99 47

CLARE: Structured Discussion + Process Model

SECAI (Summarization, Evaluation, Comparison, Argumentation)

Figure originally appears in [39]

slide-48
SLIDE 48

Dewan 290-F99 48

6.1.20. Talk + File

  • Talk++
  • Mail++
  • File++
  • Talk + File
  • Talk + Mail
  • Mail + File
  • Talk + Mail + File
slide-49
SLIDE 49

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: 10am Vote: Yes Proposal: 10am Vote: No Public Appts Private Appts Public Appts Public Appts Public Appts Topic, Participants Chair, Controller Topic, Participants Chair, Controller Awareness

slide-50
SLIDE 50

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 Title 1.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 Scrolling Incremental Sharing No Concurrency Control User and State Awareness Fine-grained Access Control public, shared, private read, write rights

slide-51
SLIDE 51

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

slide-52
SLIDE 52

Dewan 290-F99 52

GroupDraw: Virtual Gestures & Optimistic Locks

User 2 Implicit Locking/Unlocking Optimistic Locking Fine-grained CC & AC Uncoupled Scrollbars & Palettes Coupled Graphical Objects User 1 Multiuser Scrollbar & Gestalt Viewer

slide-53
SLIDE 53

Dewan 290-F99 53

Pebbles: Single-Display Groupware

* +

slide-54
SLIDE 54

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.

slide-55
SLIDE 55

Dewan 290-F99 55

Clearboard: Architecture

Figure first appeared in [26]

slide-56
SLIDE 56

Dewan 290-F99 56

TeamWorkstation: Integrated Desktop & Computer Awareness

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

slide-57
SLIDE 57

Dewan 290-F99 57

Editing paper xxxx yyyyy

TELE-SCREEN

slide-58
SLIDE 58

Dewan 290-F99 58

Editing paper xxxx yyyyy

TELE-DESK

slide-59
SLIDE 59

Dewan 290-F99 59

Editing paper xxxx yyyyy

SCREEN-OVERLAY

slide-60
SLIDE 60

Dewan 290-F99 60

Editing paper xxxx yyyyy

DESK-OVERLAY

slide-61
SLIDE 61

Dewan 290-F99 61

SCREEN & DESK-OVERLAY

Editing paper xxxx yyyyy

slide-62
SLIDE 62

Dewan 290-F99 62

Editing paper xxxx yyyyy

COMPUTER-SHARING

slide-63
SLIDE 63

Dewan 290-F99 63

6.1.27. Talk + Mail

  • Talk++
  • Mail++
  • File++
  • Talk + File
  • Talk + Mail
  • Mail + File
  • Talk + Mail + File
slide-64
SLIDE 64

Dewan 290-F99 64

6.1.28. Mail + File

  • Talk++
  • Mail++
  • File++
  • Talk + Mail
  • Talk + File
  • Mail + File
  • Talk + Mail + File
slide-65
SLIDE 65

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

slide-66
SLIDE 66

Dewan 290-F99 66

News: Scaleable Architecture

News Client News Client News Client eventual delivery of immutable messages post news News Server News Server News Server News Server exchange news read news

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

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

slide-70
SLIDE 70

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

slide-71
SLIDE 71

Dewan 290-F99 71

Experiments

No Filterbot 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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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

slide-74
SLIDE 74

Dewan 290-F99 74

6.1.34. Talk + Mail + File

  • Talk++
  • Mail++
  • File++
  • Talk + Mail
  • Talk + File
  • Mail + File
  • Talk + Mail + File
slide-75
SLIDE 75

Dewan 290-F99 75

6.1.35. IRI: Distance Learning Environment

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