1 / 40

A FRAMEWORK FOR SYNCHRONOUS AND UBIQUITOUS COLLABORATION

This research explores a framework for synchronous and ubiquitous collaboration, focusing on control mechanisms and experimental results. It addresses research issues in heterogeneous community collaboration, access control, and floor control. The framework aims to support collaborative applications in a heterogeneous environment, enabling real-time sharing of resources. The architecture includes control managers, policy managers, and communication channels. The XML-based General Session Protocol (XGSP) is used for maintaining consistent state information among sessions and collaborators.

duval
Télécharger la présentation

A FRAMEWORK FOR SYNCHRONOUS AND UBIQUITOUS COLLABORATION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 kakim@cs.indiana.edu Computer Science Department, School of Informatics Indiana University, Bloomington

  2. Outline • Motivation • Research Issues • Collaboration Framework • Control Mechanisms • Session Control • Access Control • Floor Control • Experimental Results • Contribution • Future Work

  3. Key Terminologies • Session • online workgroup of collaborators working with sharing various collaborative applications. • Synchronous collaboration • enable different users of a session to share the same resource in real time (at the same time) • all participants in collaboration always have the same views and data in real time • Asynchronous collaboration • allow different users of a session to access the same resource at different times • Floor control • mechanism by which interaction with synchronous shared application is mediated. • e.g. collaborative chess game (only one player can play at a time) • Ubiquitous collaboration • capability of multiple users to link together with disparate access devices in anytime and anywhere

  4. Role Definitions • Administrator • Define policies and manage conference manager • Chairperson • Create or destroy sessions • Control sessions and participants’ presence in a conference by a set of session protocols • Moderator or Master • A person who plays a control role in a session • e.g. Control who has a floor for a shared whiteboard • Requester • Normal user

  5. Research Issues I • Heterogeneous community collaboration • Most heterogeneous community collaboration systems cannot communicate with each other. • e.g. H.323 <-> AG (Access Grid) • We need wider range of collaboration by building integrated collaboration system, which combines heterogeneous community collaboration into a single easy-to-use environment. • Ubiquitous collaboration • Current virtual conferencing systems lack support for ubiquitous collaboration. • Make systems more usable and more useful, and enable people to work together with roaming users as well as others remotely.

  6. Research Issues II • Access control in collaboration system • Operations on shared resources by collaborators may produce new results on the shared resources. • Access control policies and mechanisms are needed to restrict unauthorized access to a variety of protected resources. • Group coordination (Floor control) • As users try to manipulate shared application at the same time, 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.

  7. Collaboration Framework • Built on heterogeneous (wire, wireless) computing environment. • Handle cooperation and communication among heterogeneous communities. • Provide collaborative applications in the heterogeneous community collaboration. • Shared event mechanism. • Structured as three layers and six major components • control manager • session / membership control manager • access / floor control manager • policy manager • request and reply event message handlers • communication channel

  8. A Framework Architecture Session Application Instance Application Instance Application Instance Application Instance Control Manager Session/Membership Control Manager Access/Floor Control Manager Policy Manager JoinConf Handler UserList Handler SessionList Handler Action Request/Reply Handler JoinConf XGSP Message UserList XGSP Message SessionList XGSP Message Request/Set Action XGSP-XRBAC Message Communication Channel

  9. Control manager User roster Session roster Application Instance 0 Application Instance 1 Broad View Architecture • Registries of all scheduled conferences • User accounts • Policies Application (Instant Messenger) Proxy Application (Whiteboard) Filter Conference Manager (Web Server) Message / Service Middleware (Broker) User Node User Node User Node User Node

  10. XGSP (XML based General Session Protocol) • Means control logic defined in XML. • manage presence membership • maintain connectivity among collaborators • organize online sessions • support heterogeneous community collaboration • 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 sessions, and presences of users in sessions)

  11. XGSP-Floor (XGSP Floor Control) • In a face-to-face offline session, users generally follow rules of etiquette or social protocol when they interact with each other. • In online session, users usually interact with each other using computer-mediated policies and tools. • Floor control policy and mechanisms have to be able to provide a floor on shared application for only one user in online session at any time. • XGSP-Floor provides flexibility ranging from free-for-all to application specific floor control mechanism. • Free-for-all (no floor control) • e.g. Text-chat application • Moderator-mediated floor control mechanism • e.g. Shared whiteboard application • Major event conflict detection function (strict conflict avoidance) • Non-optimistic locking mechanism • Two-player turn-taking mechanism • e.g. Collaborative chess game application

  12. Examples Major event (Moving object) Major event (Moving object) Major event (Moving object) Text event Text event Broker XGSP event XGSP event Drawing event Drawing event XGSP event Drawing event

  13. XGSP-Floor Policy • Floor policy means how users request applications, how the applications are assigned and released. • Request • Users can request through the use of XGSP-Floor control tool • Moderator can directly assign a floor to collaborators • Response • If the floor is available, a moderator 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 moderator or after a prefixed amount of time.

  14. XGSP-Floor Mechanism • Determination of types classified to access applications • <Action> <ActionName>line</ActionName> <Capabilities>line drawing</Capabilities> <AccessType>shared</AccessType> </Action> • Access types: Exclusive, Shared, Released, Implicit • 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 access 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 access 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 access type is “Released” and a floor waiting queue is empty, then the request is granted

  15. Decision Procedures of XGSP-Floor Mechanism(Strict Conflict Avoidance) Access / Floor Control Manager 2. Access Type Decision Service 3. Access and Floor Control Decision Service Floor Request Queue Decision 1. Policy Store 4. Current Floor State Information Table Floor Waiting Queue Floor Requesters Moderator • Major event conflict detect function is used to avoid floor conflicts. • This guarantees the mitigation of race conditions of floor requests to a shared application.

  16. Non-optimistic Locking Mechanism with Shared Whiteboard Access / Floor Control Manager 2. Request Floor 3. Request Floor B R O K E R Requester 4. Decision 1. Lock 5. Set Floor (Grant) 6. Grant (unlock) Moderator • Fine-grained actions are used to allow more concurrent activity among participants. • Coarse-grained action can be used to allow a participant to make more activities at a time. • This mechanism guarantees that the consistent state at application level is maintained among participants.

  17. Request-Response Interaction Scheme between a Moderator and a Floor Requester with Human-Computer Interaction B R O K E R Access / Floor Control Manager Request Floor Request Floor Decision Requester Moderator Set Floor Set Floor Decision (Grant, Deny, Queued, Release)

  18. XGSP-RBAC (XGSP Role Based Access Control) • RBAC is a scheme that describes access rights based on roles in an organization. • Pros: ease of administration, scalable, wide use in Grid and Distributed system • e.g. PERMIS (Privilege and Role Management Infrastructure Standards) • Cons: not flexible, not effective for fine-grained access control • XGSP-RBAC • Use roles based on users’ privileges and devices’ capabilities • Define policies in XML to enable only authorized users to access protected collaborative applications • Authorization is performed by explicitly moderator-mediated interaction (request-response) mechanism • Flexibility – adapting to the state change of collaborative applications at run time • Fine-grained action - defined as the smallest major events (semantic events)

  19. 6. Activation / Deactivation Service 5. Access Decision Service 4. Pull Policies Local Policy Store 3. Authentication Service XGSP-RBAC Architecture • Push mode • policy is passed to a user at conference join time • this leads to policy consistency Conference Manager 1. Push Policy 7. Decision Response Decision Response Message / Service System (Broker) GUI Fine-grained actions Access Request 2. Access Request Requester • Pull mode • policy is retrieved from internal store at access time Moderator KMC (Key Management Center)

  20. Experimental Measurements • Formal Verification by Colored Petri Net • Baseline Performance Test • Query and Dissemination Time of Sessions • Transfer time of Image from Desktop to Cell phone • Mean completion time of a request vs. Mean request interarrival time (3 seconds) • Completion time of a request = Waiting time + Decision time + Network transit time • Reply + Non-Blocking vs. No-Reply + Blocking

  21. Formal Verification by Colored Petri Net • We modeled the mechanisms (XGSP-RBAC and XGSP-Floor) 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.

  22. Abstract Representation of Control Mechanism by Colored-Petri Net

  23. Simplied Abstract Representation of Control Mechanism Unlock Request Queue Critical Section 1 Access and Floor Control Decision Service Current Floor State Information Table 5 Arrival Waiting List Queue 3 Send Decision Request Nodes Communication Service 4 Init Real Code 2 Simulation Start Access Type Decision Service Policy Store Nodes

  24. Baseline Performance Results The latency of wired network is in the range of milliseconds. The latency of wireless network is in the range of seconds. 9.37 ms / 1 byte 54.65 ms / 60 KB 2.33 sec / 1 byte 22.18 sec / 60 KB NCSA CGL at IU 0.43 ms / 1 byte 13.79 ms / 60 KB SDSC 2.34 sec / 1 byte 22.86 sec / 60 KB 64.78 ms / 1 byte 353.44 ms / 60 KB 2.58 sec / 1 byte 28.43 sec / 60 KB

  25. Baseline Performance Results I

  26. Baseline Performance Results II

  27. Experimental Results IQuery and Dissemination Time of Sessions <ReplySessionList> <UserID>kakim</UserID> <ConferenceID>testroom</ConferenceID> <SessionList> Session list in testroom conference </SessionList> </ReplySessionList> <RequestSessionList> <UserID>kakim</UserID> <ConferenceID>testroom</ConferenceID> </RequestSessionList>

  28. Experimental Results IIQuery and Dissemination Time of Sessions

  29. Application (Whiteboard) Filter Architecture View • Pre-transcoding • Problem: as new device or new type of application is added, all types of • applications have to be updated Display Graphical display data Display Broker (Image or drawing object data) Display Transcoding Filter • Post-trancoding • Problem: wireless network and cell phone does not support • the transfer of more than 60 KB

  30. Image Filtering Structure Broker 4.Transcoded Binary Image Data 1.Binary Image Data Canvas Size (160 x 144) Canvas Size (1024 x 768) 2.Binary Image Data 3.Transcoded Binary Image Data Create Image Create Buffered Image Scale Image Convert to PNG Whiteboard Application Filter

  31. Experimental Results III Transfer time of Image from Desktop to Cell phone • In our experiments, 1 MB (on desktop) image size is transformed into 52 KB (for cell phone) image size by application filter.

  32. 800x600 JPEG Image on Desktop vs. 158x134 PNG Image on Cell Phone 60 KB (JPEG) 800 x 600 50 KB (PNG) 158 x 134 Shrunk size 0.2 x 0.2

  33. Experimental Scenario Overview Broker Access Request Simulator Moderator Node (Decision Node) <RequestAction> Request arrivals with exponential distribution with mean interarrival time (3 seconds) <SetAppAction> Request Nodes • Three different network combinations over three different locations: • 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 desktop and cell phone together (wired + wireless) • (# of requests from desktop =50)+(# of requests from cell phone =50)

  34. Overhead Timing Considerations Ttotal = Td + Tw + Tn Td Tw Tn = Treq + Tres Access Request Queue Broker Decision Procedure Decision Response Moderator Requesters Total latency (Ttotal) (Completion time of a request) = Waiting time (Tw) + Decision time (Td) + Network transit time (Tn = Treq + Tres)

  35. Experimental Results IVMean completion time of a request vs. Mean request interarrival time (3000 milliseconds) • We may need to make the granularity of fine-grained actions larger to reduce the wireless network overhead. • but it may decrease the • amount of concurrency and • introduce complexity. • We need to observe user’s behavior with applications considering • responsiveness vs. concurrency and • responsiveness vs. simplicity.

  36. Experimental Results VReply + Non-Blocking vs. No-Reply + Blocking Reply + Non-Blocking No-Reply + Blocking • Gain of performance from (No-Reply + Blocking) scheme: • 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)

  37. Contribution I: System Research • A framework for synchronous and ubiquitous collaboration • Designed a framework for controlling sessions, accesses, and floors for synchronous and ubiquitous collaboration as well as heterogeneous community collaboration • XGSP-RBAC • Flexible and fine-grained access control mechanism based on RBAC model • XGSP-Floor • A floor control mechanism with a major event conflict detection strategy and a non-optimistic locking strategy to maintain consistent shared state at application level • Provides flexibility from free-for-all to application specific floor control mechanism • XGSP • Extended a general solution for heterogeneous community collaboration • Formal verification of modeled control mechanisms (XGSP-RBAC and XGSP-Floor) • mutual exclusion, deadlock, starvation

  38. Contribution II: System Software • Building of a framework on both cell phone and desktop • Defined general session protocol in XML (XGSP) • This includes another colleague’s contribution on desktop • Design and implementation of XGSP-RBAC and XGSP-Floor • Building of application filter for cooperation of heterogeneous types of whiteboard applications • Building of application proxy for Instant Messenger • Building of collaborative applications on cell phone • Text Chat, Instant Messenger, Shared Whiteboard with Image Annotation • Modeling of control mechanisms (XGSP-RBAC and XGSP-Floor) • Use of Colored Petri-net to prove the correctness of the modeled mechanisms

  39. Future Work • Fault-tolerant role delegation mechanism with role hierarchy policy • A recovery approach from failure-prone system • Design issues for building applications on mobile devices • An approach to overcome technical limitation occurring as porting applications from desktop computers (moderate screen size) to mobile devices (small screen size) • e.g. Collaborative chess game on cell phone • Support for floor control of synchronous collaborative media applications such as audio / video • Extension to new generation of cell phone such as iPhone • iPhone – multimedia and Internet-enabled mobile phone

More Related