Quick Messaging Service John Sung. Objective Use Demeter/Java to the fullest –Use COOL for coordination –Use RIDL for RMI Ability to send messages “instantly”

Slides:



Advertisements
Similar presentations
A Pervasive Reminder System for Smart Homes Sylvain GIROUX and Simon GUERTIN Département d’informatique, Université de Sherbrooke 2500 boul. Université,
Advertisements

Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
IPv6 Multihoming Support in the Mobile Internet Presented by Paul Swenson CMSC 681, Fall 2007 Article by M. Bagnulo et. al. and published in the October.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Distributed components
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Tzu-Han Wu Yi-Chi Chiang Han-Yang Ou
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Extensible Scalable Monitoring for Clusters of Computers Eric Anderson U.C. Berkeley Summer 1997 NOW Retreat.
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
Electronic Mail. Functionality First software allowed a user to send some text to another user connected to Internet; Current systems allow.
2/23/2009CS50901 Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial Fred B. Schneider Presenter: Aly Farahat.
Amit Caspi Idan Manor Yoav Zur Itamar Zamir. General description Easy to use. Dynamically updated. Powerful. Graphical view. Forecast ability.
1 Wolfgang Oberle Ferdinand Herrmann Wolfgang Graetsch Wolfgang Blau Anita Borg Presented by Marina Surlevich Fault Tolerance Under Unix.
Team 2: The House Party Blackjack Mohammad Ahmad Jun Han Joohoon Lee Paul Cheong Suk Chan Kang.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 Fault Tolerance in the Nonstop Cyclone System By Scott Chan Robert Jardine Presented by Phuc Nguyen.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Distributed Transactions March 15, Transactions What is a Distributed Transaction?  A transaction that involves more than one server  Network.
Cognos TM1 Satya Mobile:
04/18/2005Yan Huang - CSCI5330 Database Implementation – Distributed Database Systems Distributed Database Systems.
Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Client-Server Processing, Parallel Database Processing and Distributed Database Systems. KEVIN ROBERTS ANIKET MURLIDHARAN.
Distributed Data Mining System in Java Group Member D 王春笙 D 林俊甫 D 王慧芬.
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
Computer Emergency Notification System (CENS)
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
SafetyNet Improving the Availability of Shared Memory Multiprocessors with Global Checkpoint/Recovery Daniel J. Sorin, Milo M. K. Martin, Mark D. Hill,
FailSafe SGI’s High Availability Solution Mayank Vasa MTS, Linux FailSafe Gatekeeper
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
Explore Patterns in Context-Aware Applications --Using Reactor Pattern to Develop In/Out Board Fall 2002 Yu Du.
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
Multi-Station and Fault Tolerance  A single computer controlling all features of the Home is problematic. –In multi-floor homes access to Home features.
Databases Illuminated
Plug-in for Singleton Service in Clustered environment and improving failure detection methodology Advisor:By: Dr. Chung-E-WangSrinivasa c Kodali Department.
Distributed Trading System SWE 622 Charles Beach James Wolfe Scott Jones Sharita Green.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
The Process Manager in the ATLAS DAQ System G. Avolio, M. Dobson, G. Lehmann Miotto, M. Wiesmann (CERN)
Meta-Server System Software Lab. Overview In the Music Virtual Channel system, clients can’t query for a song initiatively Through the metadata server,
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Jabber Technical Overview Presenter: Ming-Wei Lin.
Warlords Patrick Levoshko SE 558 – Multiplayer Game Design.
V1.7Fault Tolerance1. V1.7Fault Tolerance2 A characteristic of Distributed Systems is that they are tolerant of partial failures within the distributed.
Presentation-2 Group-A1 Professor:Mohamed Khalil Anita Kanuganti Hemanth Rao.
Proposal of DIS Project Net Meeting System. Project Participants R 高茂原R 高茂原 R 饒訓豪R 饒訓豪 R 李建興R 李建興 R
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
The Project Presentation April 28, : Fault-Tolerant Distributed Systems Team 7-Sixers Kyu Hou Minho Jeung Wangbong Lee Heejoon Jung Wen Shu.
Revisiting failure detectors Some of you asked questions about implementing consensus using S - how does it differ from reaching consensus using P. Here.
Replication Improves reliability Improves availability ( What good is a reliable system if it is not available?) Replication must be transparent and create.
Communication Model for Cooperative Robotics Simulator MSE Presentation 1 Acharaporn Pattaravanichanon.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Example  Software for a virtual library (borrowing books using the Internet) Internet terminal DB.
FTOP: A library for fault tolerance in a cluster R. Badrinath Rakesh Gupta Nisheeth Shrivastava.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
Space Notifier Jeh-Sang Cho Jin Pae. Introduction  Registering for classes  What do you do when a class is full?  How often do you check for space.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Replication & Fault Tolerance CONARD JAMES B. FARAON
Iteration 1 Presentation
Fault Tolerance Distributed Web-based Systems
Abstractions for Fault Tolerance
Presentation transcript:

Quick Messaging Service John Sung

Objective Use Demeter/Java to the fullest –Use COOL for coordination –Use RIDL for RMI Ability to send messages “instantly” Ability to handle 1 server fault at a time

QMS Implementation Implemented in 3.1 phases –Phase 1: Client/Server database with accessor traverversals and testing infrastructure –Phase 2: Client’s GUI –Phase 2.1: Client/Server communication –Phase 3: Server/Server communication for Fault-Tolerance

QMS System Architecture Client Server User Server Notifications Logon/Logoff/ Messages

Client’s View of System User Logs on and off it’s server Sends message with source and destination to the server Server looks up in the database to find the destination client Another server will notify if the current server is unreachable

Server’s View of System User Message Delivery –Find destination client in the database –Send the message directly to the client Notifications to other servers in the system –Client Logon/Logoff – New Server Entering System –Server Failure Recovery

Server Failure Recovery Detection –Attempt to connect to all of the servers in the system at a regular interval Recovery –All servers broadcast timestamp of failure detection time –Each server determines the server with the lowest timestamp to take over –Failed Clients notified of change by the winning server –All servers update their databases

Fault-Tolerance Fault-Tolerance  Robustness Able to handle 1 server fault at a time Possible Failing Cases –Client logon/logoff during server failure recovery –New server attempting to enter system during server failure recovery

Screen Shots

COOl Example selfex processServerFailureNotification; mutex {serverFailureRecoveryStart, processServerFailureNotification,getWonServer} condition finishedRecovery = false; processServerFailureNotification { on exit { notificatoinReceived++; if (notificationExpected != -1 && notificationExpected == notificationReceived) finishedRecovery = true; } } getWonServer requires(finishedRecovery) { on exit { finishedRecovery = false; notificationExpected = -1; }

RIDL Example // the portal for the qmsServer object portal qmsServer { public void clientLogOn(ClientAddress newClientAddr) newClientAddr: copy; public void sendMessage(qmsUserMessage newMsg) newMsg: copy; public void clientLogOff(ClientAddress client) client: copy; public ServerList newServerEnterSystemRequest(ServerAddress newSrv) newSrv: copy return: copy ; public void newServerEnteredNotification(ServerAddress newSrv) newSrv: copy; public void newClientLogOnNotification(ServerAddress srvAddr, ClientAddress newClientAddress) srvAddr: copy newClientAddress: copy ; public void oldClientLogOffNotification(ServerAddress srvAddr, ClientAddress oldClientAddress) srvAddr: copy oldClientAddress: copy ; public Boolean isAlive() return: copy; } // qmsServer

Conclusion All of the basic functionality works –Client’s GUI –Client can send messages to server –Server can deliver messages from the client –New server can enter the system –Notifications of clients and servers –Very Limited Single Fault Tolerance There are still many bugs hidden in there!

Conclusion Found bugs in RIDL and COOL Demeter/Java Pros –Great for accessing databases and traversing trees/graphs –Great for testing parts of the program Demeter/Java Cons –Performance of code generator/compilation –Robustness of different features