multimedia collaboration and application sharingboyaci/appshare/candidacytalk.pdf · low level...

45
Multimedia Collaboration and Application Sharing Omer Boyaci June 5, 2008

Upload: others

Post on 10-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Multimedia Collaboration and Application Sharing

Omer BoyaciJune 5, 2008

Page 2: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Outline● Introduction ● Taxonomy of sharing systems ● Collaboration-aware systems● Collaboration-transparent systems● Collaboratories

Page 3: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Introduction● Application sharing

– Real-time concurrent event– Two or more participants– Working on the same document/drawing/..

Page 4: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Introduction

Page 5: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Introduction

Page 6: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Introduction

Page 7: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Introduction

Page 8: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Introduction

● Applicability– Generic (support all applications)– Specific (per application or per domain)

● Scalability– Unicast– Multicast

● Clients– Thin-client– Fat-client

● Concurrency and consistency– Sequential work – Concurrent work

Challenges and features

Page 9: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Application sharing modelsApplication sharing

App/Domain specificGeneric

Collaboration-transparentCollaboration-aware

Netbeans / Google Docs

VNC / MAST CoWord / CTE

Page 10: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Application sharing modelsApplication sharing

App/Domain specificGeneric

Collaboration-transparentCollaboration-aware

Frame buffer OSNew Existing Homogeneous Heterogeneous

Page 11: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-aware models

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

● New– Google Docs– Draw-Together– Collaborative distance learning

● Existing– Microsoft Office– Netbeans IDE– N-ABLE– Collaborative CAD

Collaboration aware

NewNewExisting

Page 12: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-aware models (New)

● Draw-together

Collaboration transparent

Collaboration aware

NewNewExisting

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 13: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-aware models (New)

● Draw-together – Fine granularity locking– Concurrent work

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Collaboration aware

NewNewExisting

Page 14: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-aware models (New)

● Collaborative distance learning– Different bandwidth clients

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Collaboration aware

NewNewExisting

Page 15: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-aware models (Exist)

common mental model for problem and solution

Collaboration transparent

Collaboration aware

NewExistingExisting

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 16: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-aware models (Exist)

Collaborative computer-aided design, W.D. Li

● “3D streaming”– VRML, X3D, STEP

Thin server + strong clientStrong server + thin clientPeer-to-peer

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Collaboration aware

NewExistingExisting

Page 17: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent models

Collaboration aware

NewExisting

Collaboration transparent

GenericGeneric(VNC)(VNC)

Frame BufferFrame BufferOSOS

App/Domain specific

Homogeneous

Heterogeneous

Page 18: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Frame Buffer based models● VNC● RDP● THINC● Distributed Workspace● TTT: Tele-teaching Tool● SharedAppVNC● MAST: Multicast App Sharing Tool

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferFrame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 19: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Frame Buffer based models● Low level commands (pixel updates)● Very-thin client● Can be inefficient● Compression is a must● Generic (Collaboration-transparent)● Mostly sequential access to K&M

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferFrame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 20: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Frame Buffer based models● SharedAppVNC

– Modified VNC protocol,multiple cursorsCollaboration

awareNew

Existing

Collaboration transparent

Generic(VNC)

Frame BufferFrame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 21: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Frame Buffer based models

System Pull / Push Technique MoviesVNC Pull Mirror Driver Region

Pull + Push Mirror Driver RegionPull Polling Region

MAST Push Polling RegionRDP Push Mirror Driver High B/WTHINC Push Mirror Driver High B/WDistributed Workspace Push Mirror Driver High B/W

Multicast App Sharing

TTT: TeleTeachingTool(VNC)SharedAppVNC

Page 22: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Interesting Work• A generic application sharing architecture based on message-oriented middleware platform

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Collaboration transparent

Generic(VNC)

Frame BufferFrame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Gateway

VNCserver

RDPserver

VNCclient

RDPclient

Citrixserver

Genericclient New

Existing

Page 23: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Survey paper● On the performance of wide-area

thin-client computing– Optimize latency versus bandwidth– Minimize synchronization b/w client/server– Use simpler display encoding primitives– Compress display updates– Push display updates eagerly– Optimize transport protocol

Albert Lai and Jason Nieh

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferFrame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 24: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

OS level models● MPX (Multi-pointer X) Single PC

Multiple I/O Collaboration

awareNew

Existing

Collaboration transparent

Generic(VNC)

Frame BufferOSOS

App/Domain specific

Homogeneous

Heterogeneous

● MultiPoint for education (MS Research)

Page 25: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

OS level models● X-Multiplexors

– CCFX(98), XMX(93)– Heterogeneous X-Servers

● Byte-orders● Pixel format and depth

– Late connection problemCollaboration transparent

Generic(VNC)

Frame Buffer

App/Domain specific

Homogeneous

Heterogeneous

Collaboration aware

NewExisting

OSOS

Page 26: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent models

Collaboration transparent

Collaboration aware

NewExisting

Generic(VNC)

Frame BufferOS

App/Domain App/Domain specificspecific

HomogeneousHomogeneous

HeterogeneousHeterogeneous

Page 27: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Homogeneous)

● CoWord– Concurrent work– High engineering cost– Independent view– All participants require MS Word – Efficient– Based on Word's API

Collaboration transparent

Collaboration aware

NewExisting

Generic(VNC)

Frame BufferOS

App/Domain specific

HomogeneousHomogeneous

Heterogeneous

Page 28: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Homo)

● CoWord

Collaboration transparent

Collaboration aware

NewExisting

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

HomogeneousHomogeneous

Page 29: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Homogeneous)

● CoWord

Problems•Does not support all MS Word features•Depends on MS Word API•Does not support MS Word 2007

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

HomogeneousHomogeneous

Page 30: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Heterogeneous)

● Li, D. and Lu, J. 2006. A lightweight approach to transparent sharing of familiar single-user editors.

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

HeterogeneousHeterogeneous

Page 31: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Heterogeneous)

● Fazhi He, Soonhung Han, A method and tool for human-human interaction and instant collaboration in CSCW-based CAD

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

HeterogeneousHeterogeneousHeterogeneous

Page 32: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Heterogeneous)

● Fazhi He, Soonhung Han, A method and tool for human-human interaction and instant collaboration in CSCW-based CAD

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

-Fine granularity locking for concurrent work

Page 33: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Comparison of application sharing models

Metric \ Model Collaboration-awareConcurrent work Yes No YesEfficiency Good Moderate GoodApplication support Single/some All Single/someApplication modification Source code No External plug-inEngineering cost per app Moderate Low HighThin-client No Yes No

Collaboration-transparent (Generic)

Collaboration-transparent (Specific)

Page 34: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboratories● BSC (Biological sciences collaboratory)● The Access Grid

Page 35: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboratories (BSC)

Page 36: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboratories (Active Grid)

Page 37: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Papers● VNC● RDP● THINC● Distributed Workspace● TTT● SharedAppVNC● MAST● MPX● Wide-area Thin client● MOM

● Distance Learning● CoWord● Familiar editors● ACPBrush● CAD tool● CAD R&D● Draw-together● BSC● N-ABLE● Access Grid

Page 38: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Backup Slides

Page 39: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Application sharing models● Distributed

– Example: CoWord– Each participant must install an application

● Centralized– Example: Frame Buffer based models

Page 40: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Application sharing models● Same View

– Example: All Frame Buffer models– May require floor control mechanism

● Independent View– Example: CoWord– May allow concurrent work

Page 41: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Frame Buffer based models● TTT: Tele-teaching Tool

– VNC based system– Supports multicasting(Refresh in every

2sec)– Participants are viewer only– Basic encoding (Hextile)

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 42: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboration-transparent (Hetero)

● Li, D. and Lu, J. 2006. A lightweight approach to transparent sharing of familiar single-user editors. In Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work (Banff, Alberta, Canada, November 04 - 08, 2006). CSCW '06. ACM, New York, NY, 139-148.

● Fazhi He, Soonhung Han, A method and tool for human-human interaction and instant collaboration in CSCW-based CAD, Computers in IndustryVolume 57, Issues 8-9, , Collaborative Environments for Concurrent Engineering Special Issue, December 2006, Pages 740-751.

Collaboration aware

NewExisting

Collaboration transparent

Generic(VNC)

Frame BufferOS

App/Domain specific

Homogeneous

Heterogeneous

Page 43: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboratories (BSC)

Page 44: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboratories (Active Grid)

Page 45: Multimedia Collaboration and Application Sharingboyaci/appshare/candidacytalk.pdf · Low level commands ... • A generic application sharing architecture based on message-oriented

Collaboratories (Active Grid)