WWG a Wide-Area Infrastructure for Groups Joan Manuel Marquès. Universitat Oberta de Catalunya (UOC) Leandro Navarro Universitat.

Slides:



Advertisements
Similar presentations
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Oracle Beehive Vivek Pavle Orabyte LLC Orabyte.
Navarro, Marquès & Freitag 1 April 2004 On Distributed Systems and CSCL Joan Manuel Marquès - Universitat Oberta de Catalunya Leandro.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Maintaining and Updating Windows Server 2008
Christine G. Balmes Melissa Ann D. Callejo Mercy Carmela U. Dañez BLIS-III.
Query Processing in Mobile Databases
Understanding and Managing WebSphere V5
Test Review. What is the main advantage to using shadow copies?
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
November 10, 2010 Washington, D.C.. Agenda Secure Component tool Secure Component tool Contacts and Messaging Contacts and Messaging Workspaces Workspaces.
Computing on the Cloud Jason Detchevery March 4 th 2009.
COMP 410 Update. The Problems Story Time! Describe the Hurricane Problem Do this with pictures, lots of people, a hurricane, trucks, medicine all disconnected.
Chapter 1 Lecture 2 By :Jigar M Pandya WCMP 1. Architecture of Mobile Computing The three tier architecture contains the user interface or the presentation.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Distributed Systems: Concepts and Design Chapter 1 Pages
Chapter 13 Users, Groups Profiles and Policies. Learning Objectives Understand Windows XP Professional user accounts Understand the different types of.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Two Installing and Configuring Exchange Server 2003.
Computer Emergency Notification System (CENS)
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Lubomír Bulej Java Performance.
Fisheries Oceanography Collaboration Software Donald Denbo NOAA/PMEL-UW/JISAO Presented by Nancy Soreide NOAA/PMEL AMS 2002/IIPS 10.3.
Event-Based Hybrid Consistency Framework (EBHCF) for Distributed Annotation Records Ahmet Fatih Mustacoglu Advisor: Prof. Geoffrey.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Is an “Effective” Online Group Really Effective? Daradoumis Thanasis, Xhafa Fatos, Marquès J. M., Universitat Oberta de Catalunya (UOC) Workshop:
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
 Distributed file systems having transaction facility need to support distributed transaction service.  A distributed transaction service is an extension.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Five Managing Addresses.
Module 4 Planning for Group Policy. Module Overview Planning Group Policy Application Planning Group Policy Processing Planning the Management of Group.
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Mobile agents based implementation of a distance evaluation system Vikram Jamwal Sridhar Iyer School of Information Technology IIT Bombay SAINT’2003.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
.NET Mobile Application Development XML Web Services.
Towards Decentralized Resource Allocation for Collaborative Peer- to-Peer Learning Environments Xavier Vilajosana, Daniel Lázaro and Joan Manuel Marquès.
The overview How the open market works. Players and Bodies  The main players are –The component supplier  Document  Binary –The authorized supplier.
1 CS 430: Information Discovery Lecture 26 Architecture of Information Retrieval Systems 1.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Module 11 Configuring and Managing Distributed File System.
Maintaining and Updating Windows Server 2008 Lesson 8.
Planning File and Print Services Lesson 5. File Services Role The File Services role and the other storage- related features included with Windows Server.
GroupRocket.net. Years back checking s in the morning was the first ever thing most of the professionals would start their day with. And with the.
BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Java and WebDAV Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer.
The Concept of Universal Service
How Do Users Share Computer Files?
Building Distributed Educational Applications using P2P
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Peer-to-peer networking
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Enterprise Computing Collaboration System Example
Processes The most important processes used in Web-based systems and their internal organization.
Concurrent Version Control
#01 Client/Server Computing
Using Groove Philip S. Vavalides Professor - IT/Networking Guilford Technical Community College Jamestown, NC.
Replication Middleware for Cloud Based Storage Service
Advanced Operating Systems
Outline Announcements Fault Tolerance.
Multiple Processor Systems
Reportin Integrates with Microsoft Office 365 to Provide an End-to-End Platform for Financial Teams That Simplifies Report Creation and Management OFFICE.
WEB SERVICES From Chapter 19, Distributed Systems
#01 Client/Server Computing
Presentation transcript:

WWG a Wide-Area Infrastructure for Groups Joan Manuel Marquès. Universitat Oberta de Catalunya (UOC) Leandro Navarro Universitat Politècnica de Catalunya (UPC) Collaborative experiences that has enlighten the design of WWG Experiences done at Computer Sciences Studies at UOC (Open Univesity of Catalunya. a virtual university providing education to the Catalan and Spanish speaking world. Both experiences used BSCW as collaborative tool. Tutor Coordination in a Computer Architecture course Period: 2 semesters Participants: 10 tutors involved (the 10 tutors were responsible for facilitating the learning to around 650 students each semester) Tasks: Coordination to agree upon the: contents of the course; pace of study; partial examinations; evaluation criteria; kind of activities and exams Collaboration to: prepare exams and partial examinations; prepare new activities; decide changes on the materials (as we decided to update the contents) Conclusions (as reported by participants): shared workspaces complemented with awareness information about group and individuals activity makes collaborative and coordination work more effective PBCL in a Software Development course Period: 1 semester Participants: 17 students –divided in 4 groups of four to five students- and 1 tutor Tasks: Realize a project to develop a software Conclusions: The tutor needs information on the evolution of every group, in the right level of abstraction for the task and volume of information to avoid being overloaded. It needs that information about the progress of groups not only to evaluate students, but also to improve their learning process Learning at Internet Scale Multiplicity: people may belong to several groups at the same time. The degree of involvement may differ heavily. Group membership may be relatively small, even though there may be large groups. Awareness: effective group work requires that members must be aware of the progress of the group Quality of service: users will be offered the most accessible server from the set of currently available. Mobility: one person may connect from different environments: work, home, mobile, etc. Degree of connectivity: many group activities do not require to be always connected to the rest of members. Event Distribution WWG is intended for situations where users get virtually synchronous information (equivalent to real-time information but relaxed to scale better and save resources) about the actions that occur on the system. Synchronous event distribution allows us to do the following assumptions: Consistency through events: virtual synchrony and consistent distribution of events can lead to a consistent distributed and replicated system. Consistency is possible because the system always knows where the latest version of every object is located. Events provide “sense of immediateness”: event distribution provides information about what is happening now in the system i.e. in the groups of interest. Events provide “maximum information”: when a learning or working activity is done in groups is of great importance to have the maximum amount of information about what are doing all participants. For us, “maximum information” means both the number of events received by a member and the amount of information that every event conveys. ARCHITECTURE OF WWG MIDDLEWARE WWG is a distributed and decentralized infrastructure with the aim of supporting distributed group learning and team work, centered on the distribution of events, so that every participant can be notified and thus be aware of the actions, changes, progress of the groups he belongs to. WWG has been designed for situations where participants interact and work asynchronously, but receive synchronously information about the actions done in the group. This event distribution mechanism provides consistency, sense of immediateness, and awareness about what’s going on. Components User agent: represent users in the system. Collects notifications of all actions done by the user. Interacts with the rest of the system to get the action processed or to get the information about the action distributed to other members of the group, in form of an event. Receives events about actions done by other members of the group and provides this information to the user. Repository agents: dedicated to the storage of the information generated by the group (documents, discussions, events, users, groups, folders, etc). Information may be replicated in different storage components. Meta-information Agents: in charge of efficient distribution of information (events) generated by the users and the system.Form an intermediate layer between user agents and repositories. Features that guided the design of WWG: Open infrastructure: Application independent; extendable protocols Internet scale: participants can be anywhere; supports an arbitrary large number of groups; membership depends on the task and the degree of involvement of members. Synchronous distribution of events: Synchronous awareness Members of the group share objects asynchronously. Small objects can be embedded into events providing a virtual synchronism. E.g. a chat interaction. Interaction organized in groups: events and objects are restricted to the group. The group may be presented to the users as a group workspace. Some events are provided. Applications may extend existing events or define new application specific events. EVENTS User-actions events: events generated by the application (task-oriented awareness [9]) or the user agent (social awareness) for each user action. Examples of that kind of events are: read, create, delete, modify, copy, paste, undelete, etc. documents or messages. Inferred events: the virtual groups members need information of how the group evolves. The inferred events are particular interpretations about the group evolving. The user agent (or a client application) has information about the group and the actions done by the local user. With all that information, like an external observer, the user agent infers events about the group evolving. Those inferred events are perceptions: they are neither true nor false. WWG PROTOTYPE Has been developed to prove the viability of the architecture Components User Agent: a Java application that uses the Swing user interface components to present events about the activity of other group participants, and an object workspace where people can express interest in several groups, browse through documents and folders in these groups, and publish new documents. Notifies user actions to the meta-information agent. Also gets actions done by other users from that meta-information agent Meta-Information Agent: propagates actions to other meta-information agents and finally to other group browsers interested in the same group. Objects are stored at the closest repository agent. Siena is used to provide event distribution among meta-information agents. In this implementation, repository agents have been implemented as part of meta-information agents to simplify development. In the second phase of development, we are going to develop a shared argumentation tool for an experiment with several people collaborating to produce a report. Conflict events: the events that inform that a conflict has occurred or the events that tries to solve the conflict. In asynchronous activities, the conflicts will be rare. In an environment such as WWG most of the conflicts can be avoided by choosing carefully some design alternatives. If the conflict cannot be solved automatically, the members of the group will be informed and someone will be responsible for the explicit resolution. Conflicts and conflict resolution has been studied in a separate report. Modify-state events: the events produced after an action that modifies the global state of the system: a new document, a delete action, a change of location, etc. Informative events: the events that inform about actions that don’t modify the global state of the system. Those events include actions as read document or message and inferred events. Events related to conflicts must be sent immediately. Modify-state events must be sent as soon as possible. Different policies can be applied to informative events, which are the majority. It is not the aim of that paper to study those policies, nevertheless we present two possibilities: aggregation (when 10 actions occur in an object, a single event is sent indicating that 10 actions have occurred), grouping (when several events goes to the same destination, send all of them in the same message). During the experiences at UOC, events were generated. From those, 80% were informative events and 20% were modify-state events, and only 2.2% were events that may cause conflicts if not propagated immediately. This supports our intuition that most of the events generated in a system are informative events. That conclusion is even reinforced because, in the version of BSCW we used, a read event is only generated the first time a user reads a document. Successive are not recorded as events. In WWG we want to distribute all the events generated on the system to give the “maximum information” to the users. Then, all the read actions would need to be distributed. VIEWER Events Viewer Docs Explorer CACHE GROUPS Events DATA REFRESHMENT CONNECTIONS MANAGER HTTP CLIENT CONNEXION DATA WEBDAV CLIENT (HTTP Extension) XML PARSER (SAX) Handlers for WebDAV and events lists DOCUMENT VIEWER DOCUMENT TRANSFER MANAGER Proceses of transference CONFIGURATION MANAGER Access to the local file system User Agent (Java Application, interface in Swing) Interaction with the user HTTP (Basic Methods ) XML (Events) WebDAV (XML) Protocol ACCESS FOR HTTP – BASIC METHODS WEBDAV INTERFACE (EXTENDED-HTTP) Docs Access Collections Manager REPOSITORY MANAGER USERS MANAGER Localization of Users LOCAL USER GROUPS MANAGE R Localization of Groups GROUP - EVENTS M HH SIENA (Events distribution) Siena Extension (localization of users and groups within the MIAs network) DATA PROTECTION Access to the local file system HTTP (Basic Methods) XML (Events) WebDAV (XML) Protocol Meta-Information Agents network (MIAs) Siena Port Port to the master Meta-Information Agent (Servlet running upon Jakarta TOMCAT) notifications + subscriptions notifications