38
A Framework for Synchronous and Ubiquitous Collaboration Advisor & Chairperson : Dr. Geoffrey Fox Committee Faculty : Dr. Dennis Gannon, Dr. Kay Connelly, Dr. Sun Kim Kangseok Kim [email protected] Computer Science Department Indiana University

A Framework for Synchronous and Ubiquitous Collaboration

  • Upload
    pakuna

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

A Framework for Synchronous and Ubiquitous Collaboration. Advisor & Chairperson : Dr. Geoffrey Fox Committee Faculty : Dr. Dennis Gannon, Dr. Kay Connelly, Dr. Sun Kim Kangseok Kim [email protected] Computer Science Department Indiana University. Outline . Motivation Research Issues - PowerPoint PPT Presentation

Citation preview

Page 1: A Framework for Synchronous and Ubiquitous Collaboration

A Framework for Synchronous and Ubiquitous

Collaboration

Advisor & Chairperson : Dr. Geoffrey FoxCommittee Faculty : Dr. Dennis Gannon, Dr. Kay Connelly, Dr. Sun Kim

Kangseok [email protected]

Computer Science Department Indiana University

Page 2: A Framework for Synchronous and Ubiquitous Collaboration

2

Outline Motivation Research Issues Universal XGSP Collaboration Framework XGSP (XML based General Session Protocol) XRBAC (XML Role Based Access Control) XFloor (XML Floor Control) Experimental Results Contribution Future Work

Page 3: A Framework for Synchronous and Ubiquitous Collaboration

3

Page 4: A Framework for Synchronous and Ubiquitous Collaboration

4

Research Issues I Heterogeneous community collaboration

Most heterogeneous community collaboration systems cannot communicate with each other.

e.g. H.323 <-> AG, AG <-> SIP We need wider range of collaboration by building integrated

collaboration system, which combines collaborative applications as well as other collaboration into a single easy-to-use environment.

Universal collaboration and access Mean capability of multiple users to link together with dispar

ate access modes to access collaborative systems. Make systems more usable and more useful, and enable pe

ople to work together with others remotely.

Page 5: A Framework for Synchronous and Ubiquitous Collaboration

5

Research Issues II Access control in collaboration system

The cooperation on the resources shared among a group of users may produce new results on the shared resources.

Access control policies and mechanisms are needed to restrict unauthorized access to a variety of protected information and resources.

Group coordination support As users try to manipulate shared application at the same ti

me, a user may have to contend with other users for access to the shared application.

To maintain consistent shared state at application level, we need to control competing accesses and mitigate race conditions for shared resources.

Page 6: A Framework for Synchronous and Ubiquitous Collaboration

6

Universal XGSP Collaboration Framework Built on heterogeneous (wire, wireless) computing environmen

t. Handle cooperation and communication among heterogeneous

communities. Provide collaborative applications in the heterogeneous commu

nity collaboration. Shared event mechanism. Structured as three layers and six major components: node ma

nager, session / membership control manager, access / floor control manager, policy manager, request and reply event message handlers, and communication channel.

Page 7: A Framework for Synchronous and Ubiquitous Collaboration

Universal XGSP Collaboration Framework Architecture

Collaborative Applications

Node Manager

Session/Membership Control Manager Access/Floor Control Manager

XGSP Event Messages XGSP Event Messages XGSP Event Messages

Request/Reply Handler Request/Reply Handler Request/Reply Handler

Communication Channel

Policy Manager

Page 8: A Framework for Synchronous and Ubiquitous Collaboration

Broad View Architecture

Application Proxy

Application Filter

Conference Manager

Message / Service Middleware (Broker)

Page 9: A Framework for Synchronous and Ubiquitous Collaboration

9

XGSP (XML based General Session Protocol)

Session means online workgroup of collaborators working with sharing various collaborative resources.

Means control logic defined in XML. The control logic is used to manage presences and connectivity among

collaborators in online session, and organize online workgroups (sessions or conference).

To maintain consistent state information among sessions and collaborators in a coordinated way.

We use query-dissemination interaction event messaging mechanism with publish-subscribe messaging service.

provide a flexibility for adapting dynamic changes of collaboration states (creation and destroy of workgroups, and presences of participating users in workgroups)

Page 10: A Framework for Synchronous and Ubiquitous Collaboration

XRBAC (XML Role Based Access Control)

RBAC is a scheme that describes access rights based on roles in an organization. Pros: ease of administration, scalable Cons: not flexible, not effective to fine-grained

access control

XRBAC Use roles based on users’ privileges and devices’

capabilities Chairperson-mediated interaction mechanism

(request-response) mechanism Flexibility – adapting to the state change of

collaborative resources at run time Fine-grained action - defined as the smallest

interactive major events (semantic events)

Page 11: A Framework for Synchronous and Ubiquitous Collaboration

XRBAC Architecture

Chair node Request node

DecisionResponse

AccessRequest

Conference Manager

Message / Service System

(Broker)

Push Policy Push Policy

KMC (Key Management Center)

Activation / Deactivation

Service

Access Decision Service

Authentication Service

Local Policy Store

Pull Policies

Activation / Deactivation

Service

Access Decision Service

Authentication Service

Local Policy Store

Pull Policies

Page 12: A Framework for Synchronous and Ubiquitous Collaboration

12

XFloor (XML Floor Control) Interaction management for synchronous collaborative

application. In traditional face-to-face offline session, participants generally follow rules

of etiquette or social protocol when they interact with each other. In online session, participants usually interact with each other using comput

er-mediated policies with CSCW (Computer Supported Cooperative Work) tools.

Floor control policy and mechanisms have to be able to provide a floor on shared resource for only one participant in online session at any time.

XFloor provides flexibility ranging from free-for-all to application specific floor control mechanism.

Free-for-all (no floor) ex) Text-chat application

Chairperson-mediated floor control mechanism ex) Shared whiteboard application Major event conflict detection function (Strictly conflict avoidance) Non-optimistic locking mechanism

Two-player turn-taking mechanism ex) Collaborative chess game application

Page 13: A Framework for Synchronous and Ubiquitous Collaboration

Examples

Broker

Major event

(Moving object)Major event

(Moving object)

XGSP event XGSP eventXG

SP e

vent

Drawing

even

t Drawing event

Drawing event

Text event Text event

Major event(Moving object)

Page 14: A Framework for Synchronous and Ubiquitous Collaboration

14

XFloor Policy Floor policy means how users request resources, how the

resources are assigned and released. A set of predicate rules (policies) are defined in terms of request,

response, and release to provide the floor for only one participant at a time.

Request Users can request through the use of XFloor control tool Chairperson can directly assign a floor to collaborators

Response If the floor is available, a chairperson assigns the floor to the

floor requester. Otherwise, the floor request is queued into a floor waiting

queue or can be denied. Release

Floor is assigned to a requester waiting in a floor waiting queue in FIFO order

Floor can also be released from directly chairperson or after a prefixed amount of time.

Page 15: A Framework for Synchronous and Ubiquitous Collaboration

15

XFloor Mechanism Determination of types classified to access resources

If the return type is “Implicit” -----> grant “Exclusive” ---> grant or queued “Shared” -----> grant or deny “Released” ----> grant

If one of the elements does not exist in policy, then a type “Invalid” is returned into chairperson and the request is denied.

Determination of whether an action in a request exists in current floor state information table, in other words, a request action conflicts with the action of current floor holder

If the return type is “Exclusive” and request action exists in the floor state information table, then the request is queued. Otherwise, the request is granted

If the return type is “Released” and a floor waiting queue is not empty, then the request is granted and the first request in the waiting queue is granted.

If the return type is “Released” and a floor waiting queue is empty, then the request is granted

Page 16: A Framework for Synchronous and Ubiquitous Collaboration

Decision Procedures of XFloor Mechanism (strictly Conflict Avoidance)

FloorRequestQueue

Access TypeDecision Service

Access and Floor ControlDecision Service

PolicyStore

Current Floor StateInformation Table

FloorWaitingQueue

Decision

Access / Floor Control Manager

Floor Requesters Chairperson

- This guarantees the mitigation of race conditions of floor requests to shared application.

Page 17: A Framework for Synchronous and Ubiquitous Collaboration

Non-optimistic Locking Mechanism with Shared Whiteboard

Access / FloorControl Manager

BROKER

SetFloor

RequestFloor

1. Lock

2. Request Floor3. Request Floor

4. Decision

5. Grant 6. Grant (unlock)

Fine-grained locks are used to allow more concurrent activity among participants. Coarse-grained lock can be used to allow a participant to make more activities at a time. This mechanism guarantees that the consistency state at application level is maintained among participants.

Page 18: A Framework for Synchronous and Ubiquitous Collaboration

Request-Response Interaction Scheme between a Chairperson and a Floor Requester with Human-Computer Interaction

BROKER

Access /Floor

ControlManager

Set Floor

Set Floor

Request FloorRequest Floor

Decision

Decision(Grant, Deny,

Queued, Release)

Page 19: A Framework for Synchronous and Ubiquitous Collaboration

19

Baseline Performance Results

SDSC

NCSACGL at IU

9.37 ms / 1 byte54.65 ms / 60 KB

0.43 ms / 1 byte13.79 ms / 60 KB

64.78 ms / 1 byte353.44 ms / 60 KB

2.58 sec / 1 byte28.43 sec / 60 KB

2.33 sec / 1 byte22.18 sec / 60 KB

2.34 sec / 1 byte22.86 sec / 60 KB

Page 20: A Framework for Synchronous and Ubiquitous Collaboration

Baseline Performance Results ILatency in Round Trip Time(Desktop - Broker - Desktop)

0

100

200

300

400

500

600

10 20 30 40 50 60 70 80 90 100Data size in killobytes

Tim

e in

mill

isec

onds

GridFarm NCSA SDSC

Page 21: A Framework for Synchronous and Ubiquitous Collaboration

Baseline Performance Results IILatency in Round Trip Time

(Cell phone - Broker - Cell phone)

0100020003000400050006000700080009000

10000

1 2 3 4 5 6 7 8 9 10Data size in killobytes

Tim

e in

mill

isec

onds

GridFarm NCSA SDSC

Page 22: A Framework for Synchronous and Ubiquitous Collaboration

Baseline Performance Results IIILatency in Round Trip Time

(Cell phone - Broker - Cell phone)

0

5000

10000

15000

20000

25000

30000

10 20 30 40 50 60Data size in killobytes

Tim

e in

mill

isec

onds

GridFarm NCSA SDSC

Page 23: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Results ITransit Time in Request and Response of Sessions

Transit Time in Request and Response of Sessions(Desktop - Broker - chair node - Broker - Desktop)

020406080

100120140160180200

10(1.4)

20(2.7)

30(3.9)

40(5.2)

50(6.5)

60(7.8)

70(9.1)

80(10.3)

90(11.6)

100(12.9)

Session size in number (Data size in killobytes)

Tim

e in

mill

iseco

nds GridFarm NCSA SDSC

Page 24: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Results IITransit Time in Request and Response of Sessions

Transit Time in Request and Response of Sessions(Cell phone - Broker - chair node - Broker - Cell phone)

0100020003000400050006000700080009000

10(1.4)

20(2.7)

30(3.9)

40(5.2)

50(6.5)

60(7.8)

70(9.1)

80(10.3)

90(11.6)

100(12.9)

Session size in number (Data size in killobytes)

Tim

e in

mill

iseco

nds

GridFarm NCSA SDSC

Page 25: A Framework for Synchronous and Ubiquitous Collaboration

Application (Whiteboard) Filter Architecture View

Broker

Filter

Display

Display

DisplayTranscoding

Graphical display data(Image or drawingobject data)

Pre-transcodingProblem: as new device or new type of

application is added, all types ofapplication have to be updated

Post-trancodingProblem: wireless network and

cell phone does not support the transfer of more than 60 KB

Page 26: A Framework for Synchronous and Ubiquitous Collaboration

Image Filtering Structure

Create Image

Create Buffered Image

Scale Image

Convert to PNG

Broker

Whiteboard Application Filter

BinaryImage Data

BinaryImage Data

Canvas Size(1024 x 768)

Canvas Size(160 x 144)

Binary Image Data Transcoded Binary Image Data

Page 27: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Results III Transfer time of Image from Desktop to Cell phone

Transfer time of Image from Desktop to Cell phone

0

5000

10000

15000

20000

25000

GridFarm NCSA SDSCLocations

Tim

e in

mill

iseco

nds

Filtering TimeImage

Page 28: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Results IVTransfer time of Drawing objects from Desktop to Cell phone

Transfer time of Drawing objectsfrom Desktop to Cell phone

0100020003000400050006000700080009000

GridFarm NCSA SDSCLocations

Tim

e in

mill

iseco

nds Filtering Time

Drawing Objects

Page 29: A Framework for Synchronous and Ubiquitous Collaboration

800x600 JPEG Image on Desktop vs. 158x134 PNG Image on Cell Phone

60 KB (JPEG)800 x 600

50 KB (PNG)158 x 134Shrunk size

0.2 x 0.2

Page 30: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Scenario Overview

BrokerAccess Request Simulator

Chair Node(Decision Node)

Request Node

<RequestAction>Request arrivals

with exponential Distribution with mean interarrival time (3 sec)

<SetAppAction>

Three different network combinations over three different locations (# of requests = 100)1. collaboration using only desktop devices (wired network)

(# of requests = 100)2. collaboration using only cell phone devices (wireless network)

(# of requests = 100)3. collaboration using desktops and cell phones together

(wired + wireless network) (desktop (# 50) + (cell phone (# 50))

Page 31: A Framework for Synchronous and Ubiquitous Collaboration

Overhead Timing Considerations

Total latency (Ttotal) = Waiting time (Tw) + Decision time (Td) + Network transit time (Tn = Treq + Tres)

Broker

QueueDecision

Procedure

Chair node Request nodes

Decision Response

AccessRequest

Td Tw Tn = Treq + Tres

Ttotal = Td + Tw + Tn

Page 32: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Results V Mean completion time of a request vs. Mean request interarrival time (3000 milliseconds)

Mean completion time of a request vs. Mean requestinterarrival time (3000 milliseconds)

0

1000

2000

3000

4000

5000

6000

Desktop Desktop +Cellphone

Cell phone

Mean request interarrival time in milliseconds

Mean

com

plet

ion

time

ofa

requ

est i

n m

illise

cond

s GridFarmNCSASDSC

Page 33: A Framework for Synchronous and Ubiquitous Collaboration

Experimental Results VIReply + Non-Blocking vs. No-Reply + Blocking

Mean completion time of a request vs. Mean requestinterarrival time (3000 milliseconds)

05000

10000150002000025000300003500040000

Desktop Desktop +Cellphone

Cell phone

Mean request interarrival time in milliseconds

Mean

com

plet

ion

time

ofa

requ

est i

n m

illise

cond

s GridFarmNCSASDSC

Mean completion time of a request vs. Mean requestinterarrival time (3000 milliseconds)

0

1000

2000

3000

4000

5000

6000

Desktop Desktop +Cellphone

Cell phone

Mean request interarrival time in millisecondsMe

an c

ompl

etio

n tim

e of

a re

ques

t in

mill

iseco

nds GridFarm

NCSASDSC

Reply + Non-Blocking No-Reply + Blocking

Desktop : 9.77% (GridFarm), 1.12% (NCSA), 7.51% (SDSC)Desktop + Cell phone : 51.46% (GridFarm), 59.79% (NCSA), 59.83% (SDSC)Cell phone : 84.88% (GridFarm), 87.42% (NCSA), 86.96% (SDSC)

Page 34: A Framework for Synchronous and Ubiquitous Collaboration

34

Formal Verification by Colored Petri Net

We modeled the mechanisms (XRBAC and XFloor) and verified the modeled mechanisms in terms of mutual exclusion, dead lock, and starvation.

The key part for the modeling and formal verification is to show consistent shared state at application level to collaborators by mitigating race conditions for shared resources

We used Colored Petri Nets (CP-nets or CPNs) with time for the abstract modeling representation of the control mechanisms.

Page 35: A Framework for Synchronous and Ubiquitous Collaboration

XML based Control Mechanism Modeled by CP-nets

i f boo lsthen 1` (IntInf.to Int (time()))e ls e empty

if s haredReqs < > [] then s etF a ls eAc tion(s haredReqs )e ls e s haredReqs

o ldReqs

if grantDeny = give orels e grantDeny = re leas ed then (s ort OldReq.lt tmpReqs )e ls e o ldReqs

(loc k ,grantDeny,newReq) (lock ,grantDeny,newReq)

(loc k,grantDeny ,newReq)

o ldReqsif grantDeny = grant then (s o rt OldReq.lt tmpReqs )e ls e o ldReqs

if grantDeny = givethen 1` loc ke ls e empty

loc k if grantDeny < > releas ed anda ls o grantDeny < > givethen 1` loc ke ls e empty

if boo ls andals o s haredReqs < > []then timeOverAc tion(s haredReqs )e ls e s haredReqs

s haredReqs

o ldReqs

s haredReqs

s haredReqs

if s haredReqs = []then s haredReqse ls e rm (hd s haredReqs ) s haredReqsif s haredReqs < > []

then 1` (loc k , grantDeny , hd s haredReqs )e ls e empty

loc k

if grantDeny = releas edthen 1` loc ke ls e empty

(loc k,grantDeny )

(loc k ,grantDeny )

loc k

s haredReqs

s haredReqs

bools

s haredReqs

if ex is tAc tion(newReq, o ldReqs )then (s haredReqs ^ ^ [newReq])e ls e s haredReqs

(loc k ,grantDeny ,newReq) (loc k ,grantDeny ,newReq) (lock ,grantDeny ,newReq) (loc k ,grantDeny ,newReq)

if grantDeny = re leas ed ore ls e grantDeny = givethen 1` (loc k ,grantDeny ,newReq)els e empty

(loc k ,grantDeny ,newReq)(loc k,grantDeny ,newReq)

(loc k ,grantDeny ,newReq)

n

n@+ ex pTime(100)

n if n= kthen emptyels e 1` ((n+ 1)@+ expTime(100))

if s haredReqs = [] ore ls e timeChec k Ac tion(hd s haredReqs )then newReqs ^ ^ [newReques t()]e ls e [o ldReques t(hd s haredReqs )]^ ^ newReqs

newReqs

proc time

if GT (proc time, re leas edtime) anda ls o s haredReqs < > []then trueels e fa ls e

if GT(proc time, re leas edtime)then 1` proc timeels e 1` re leas edtime

releas edtime

releas edtime

proc time

IntInf.to Int (time())

loc k

if s haredReqs < > [] andals o o ldReqs < > []then (loc k ,grantDeny ,findAc tion(hd s haredReqs , o ldReqs ))e ls e (loc k ,grantDeny ,newReq)

(loc k ,grantDeny ,newReq)(loc k ,grantDeny ,newReq)

(loc k ,grantDeny ,newReq)

o ldReqs

(loc k ,grantDeny ,newReq)

(loc k ,newReq)

(loc k ,newReq)if !res pons e = 4then 1` (loc k,newReq)els e empty

if !res pons e = 3then 1` (loc k,newReq)e ls e empty

(loc k ,grantDeny ,newReq)

(loc k ,grantDeny ,newReq)

(lock ,newReq)

(lock ,newReq)

if !res pons e = 2then 1` (loc k,newReq)els e empty

if !res pons e = 1then 1` (loc k ,newReq)els e empty

(loc k,grantDeny ,newReq)(loc k ,newReq)if !res pons e = 0then 1` (loc k ,newReq)e ls e empty

newReq::newReqs

newReqs (loc k , newReq)@+ proc time

(loc k ,newReq)

UpdateTable

input (newReq, o ldReqs );output (tmpReqs );ac tionc hangedAc tion(newReq, o ldReqs , o ldReqs );

GiveF looroutput (grantDeny );actiondec is ionGive();

GIVEorUnlock

Unloc k

T imeOver

Trans mitReply

ReceiveDec is ion

Rec eiveReply

input (newReq, o ldReqs );output (tmpReqs );ac tionchangedAc tion(newReq, o ldReqs , oldReqs );

SendReply

Init

Arriva l

Poll ing

Trans mitDec is ion

D4

input (newReq, o ldReqs );output (grantDeny );ac tionif ex is tAc tion(newReq, o ldReqs )then dec is ionQueued()e ls e dec is ionGrant()

D5

input (s haredReqs );output (grantDeny , re leas edtime);ac tionif s haredReqs = []then dec is ionGR()e ls e dec is ionGT()

D3

output (grantDeny );ac tiondec is ionGD();

D2

output (grantDeny );actiondec is ionGrant();

SendDec is ion

D1

output (grantDeny );ac tiondec is ionDeny ();

StopStart

output (proc time);ac tionexpT ime(90);

ZL oc kxGrantDeny xNewReq

LL oc k

Giv eF loorL oc k

UL ock xGrantDeny

WaitingL is t

Queue

1` []

SharedReqs

EL ock xGrantDenyx NewReq

DLoc k xGrantDeny xNewReq

Nodes

Loc k xGrantDenyx NewReq

CL oc k x GrantDeny xNewReq

Simula tionStart

1` 1

COUNT

Reques tNodes

COUNT

T imeOver

BOOL

Waiting T ime

1` 0

INT

T ime

INT

BLoc k xGrantDenyx NewReq

StateInformation

Table1` []

OldReqs

AL oc k xGrantDenyx NewReq

Releas edL oc k xNewReq

Exc lus iv eL oc k x NewReq

SharedL oc k x NewReq

Implic itL oc k x NewReq

Dec is ionDone

L oc k x GrantDeny xNewReqInv a lid

L oc k x NewReq

Reques tQueue

1` []

NewReqs

Nex tReques t

loc k

L oc k

Bus yL oc kx NewReq

1 1` []

1 1` 1@0 1 1` 0

1 1` []

1 1` []

1 1` loc k @0

Page 36: A Framework for Synchronous and Ubiquitous Collaboration

Simplied XML based Control Mechanism Model

SimulationStart

Init

RequestNodes

Arrival

RequestQueue

PolicyStore

Access TypeDecision Service

Real Code

SendDecision

Nodes

Access and Floor ControlDecision Service

Current Floor StateInformation Table

Critical Section

Waiting List Queue

Unlock

Communication Service

Page 37: A Framework for Synchronous and Ubiquitous Collaboration

Contribution1. Building of Universal XGSP Collaboration Framework on both mobile device (cell ph

one) and non-mobile device (desktop) Defined general session protocol in XML (XGSP) This includes another colleague’s contribution on desktop

2. Designed and implemented XRBAC The use of role based on users’ privileges and devices’ capabilities Scalability, Flexibility, Fine-grained access control

3. Designed and implemented XFloor Provides flexibility from free-for-all to application specific floor control mechanis

m Chairperson-mediated interaction control with strictly conflict avoidance and no

n-optimistic locking mechanism4. Building of application filter for cooperation of heterogeneous types of whiteboard a

pplication Shared display model and shared event model

5. Building of application proxy for Instant Messenger Shared event model

6. Building of collaborative applications on cell phone Text Chat, Instant Messenger, Shared Whiteboard with Image Annotation

7. Modeling of XML based control mechanisms (XRBAC and XFloor) To prove the correctness of the modeled mechanisms

Page 38: A Framework for Synchronous and Ubiquitous Collaboration

38

Future Work Fault-tolerant role delegation mechanism with role hierarchy policy

A recovery approach from failure-prone system We already implemented polling (heart-beat message) mechanism.

Design issues for building applications on mobile devices An approach to overcome technical limitation occurring as porting applic

ations from desktop computers (moderate screen size) to mobile devices (small screen size)

Improvement of quality of the transcoded image from desktop into cell phone

Design and implement the authentication of users joining a session during roaming with cell phone devices, and the encryption of messages sent to and from the cell phone devices

Support for floor control of synchronous collaborative media applications such as audio / video

Optimistic floor control mechanism Means allowing conflicts and resolving them With time-stamp and with different application