A FRAMEWORK FOR SYNCHRONOUS AND UBIQUITOUS COLLABORATION Advisor & Chairperson : Dr. Geoffrey Fox Committee Faculty : Dr. Dennis Gannon, Dr. Kay Connelly,

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

BY MAULIK PATEL CED, GPERI Computing Architecture.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Database Architectures and the Web
Concurrency Important and difficult (Ada slides copied from Ed Schonberg)
High Performance Computing Course Notes Grid Computing.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Integration of Hand-Held Devices into Collaboration Environments IC’02 Las Vegas, NV June June Geoffrey Fox, Sung-Hoon Ko, Kangseok Kim,
1 7 Concepts of Database Management, 4 th Edition, Pratt & Adamski Chapter 7 DBMS Functions.
Shared Screens and Windows Kimberly Tee CPSC 781.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persistent chat room Authors: Hazanovitch Evgeny Hazanovitch.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Introduction to client/server architecture
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Principles for Collaboration Systems Geoffrey Fox Community Grids Laboratory Indiana University Bloomington IN 47404
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
Building Scalable and High Efficient Java Multimedia Collaboration Wenjun Wu, Tao Huang, Geoffrey Fox Community Grids Computing Laboratory, Indiana University,
On P2P Collaboration Infrastructures Manfred Hauswirth, Ivana Podnar, Stefan Decker Infrastructure for Collaborative Enterprise, th IEEE International.
Concepts of Database Management, Fifth Edition
Managing Service Metadata as Context The 2005 Istanbul International Computational Science & Engineering Conference (ICCSE2005) Mehmet S. Aktas
Database Application Security Models Database Application Security Models 1.
DCE (distributed computing environment) DCE (distributed computing environment)
Distributed Systems: Concepts and Design Chapter 1 Pages
1 Another group of Patterns Architectural Patterns.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
XMPP Concrete Implementation Updates: 1. Why XMPP 2 »XMPP protocol provides capabilities that allows realization of the NHIN Direct. Simple – Built on.
1 Vigil : Enforcing Security in Ubiquitous Environments Authors : Lalana Kagal, Jeffrey Undercoffer, Anupam Joshi, Tim Finin Presented by : Amit Choudhri.
Event-Based Hybrid Consistency Framework (EBHCF) for Distributed Annotation Records Ahmet Fatih Mustacoglu Advisor: Prof. Geoffrey.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
A Framework for Synchronous and Ubiquitous Collaboration Advisor & Chairperson : Dr. Geoffrey Fox Committee Faculty : Dr. Dennis Gannon, Dr. Kay Connelly,
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
A FRAMEWORK FOR SYNCHRONOUS AND UBIQUITOUS COLLABORATION Advisor & Chairperson : Dr. Geoffrey Fox Committee Faculty : Dr. Dennis Gannon, Dr. Kay Connelly,
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
A Collaborative Framework for Scientific Data Analysis and Visualization Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox Department of Computer.
Shuman Guo CSc 8320 Advanced Operating Systems
Message Management April Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN.
Virtual Classes Provides an Innovative App for Education that Stimulates Engagement and Sharing Content and Experiences in Office 365 MICROSOFT OFFICE.
Web and Video Conferencing Solutions for SMU Faculty Presented by: Blair Simmons SMU Information Technology Services August 28, 2012 Footer.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
XGSP Session Protocol DS-RT 2005 Grid Tutorial IEEE DS-RT 2005 Montreal Canada Oct Geoffrey Fox CTO Anabas Corporation and Computer Science, Informatics,
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 AHM, 2–4 Sept 2003 e-Science Centre GRID Authorization Framework for CCLRC Data Portal Ananta Manandhar.
Ubiquitous Access for Collaborative Information System Using SVG July Sangmi Lee, Geoffrey Fox, Sunghoon Ko, Minjun Wang, Xiaohong Qui
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Scaling and Fault Tolerance for Distributed Messages in a Service and Streaming Architecture Hasan Bulut Advisor: Prof. Geoffrey Fox Ph.D. Defense Exam.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
ACGT Architecture and Grid Infrastructure Juliusz Pukacki ‏ EGEE Conference Budapest, 4 October 2007.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Self Healing and Dynamic Construction Framework:
Introduction to client/server architecture
#01 Client/Server Computing
Design and Implementation of Audio/Video Collaboration System Based on Publish/subscribe Event Middleware CTS04 San Diego 19 January 2004 PTLIU Laboratory.
Hasan Bulut Scaling and Fault Tolerance for Distributed Messages in a Service and Streaming Architecture Hasan Bulut
Computer Science Department
MWCN`03 Singapore 28 October 2003
#01 Client/Server Computing
Presentation transcript:

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

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

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

6  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.

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

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

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

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

11  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)

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

 Examples Broker Major event (Moving object) Major event (Moving object) XGSP event Drawing event Text event Major event (Moving object)

14  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.

15  XGSP-Floor Mechanism Determination of types classified to access applications  line line drawing shared  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

 Decision Procedures of XGSP-Floor Mechanism (Strict Conflict Avoidance)  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. Moderator Floor Request Queue 2. Access Type Decision Service 3. Access and Floor Control Decision Service 1. Policy Store 4. Current Floor State Information Table Floor Waiting Queue Decision Access / Floor Control Manager Floor Requesters

 Non-optimistic Locking Mechanism with Shared Whiteboard Access / Floor Control Manager BROKERBROKER 1. Lock 2. Request Floor 3. Request Floor 4. Decision 5. Set Floor (Grant) 6. Grant (unlock)  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. Requester Moderator

 Request-Response Interaction Scheme between a Moderator and a Floor Requester with Human-Computer Interaction BROKERBROKER Access / Floor Control Manager Set Floor Request FloorRequest Floor Decision (Grant, Deny, Queued, Release) Moderator Requester

19  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)

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

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

22  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.

23  Abstract Representation of Control Mechanism by Colored-Petri Net

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

25  Baseline Performance Results SDSC NCSA CGL at IU 9.37 ms / 1 byte ms / 60 KB 0.43 ms / 1 byte ms / 60 KB ms / 1 byte ms / 60 KB 2.58 sec / 1 byte sec / 60 KB 2.33 sec / 1 byte sec / 60 KB 2.34 sec / 1 byte sec / 60 KB The latency of wired network is in the range of milliseconds. The latency of wireless network is in the range of seconds.

 Baseline Performance Results I

 Baseline Performance Results II

 Experimental Results I Query and Dissemination Time of Sessions kakim testroom kakim testroom Session list in testroom conference

 Experimental Results II Query and Dissemination Time of Sessions

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

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

32  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.

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

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

35  Overhead Timing Considerations Total latency (T total ) (Completion time of a request) = Waiting time (T w ) + Decision time (T d ) + Network transit time (T n = T req + T res ) Broker Queue Decision Procedure ModeratorRequesters Decision Response Access Request TdTd TwTw T n = T req + T res T total = T d + T w + T n

36  Experimental Results IV Mean completion time of a request vs. Mean request interarrival time (3000 milliseconds)  We need to observe user’s behavior with applications considering responsiveness vs. concurrency and responsiveness vs. simplicity.  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.

37  Experimental Results V Reply + Non-Blocking vs. No-Reply + Blocking Reply + Non-BlockingNo-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)

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

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

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