Plug-in for Singleton Service in Clustered environment and improving failure detection methodology Advisor:By: Dr. Chung-E-WangSrinivasa c Kodali Department.

Slides:



Advertisements
Similar presentations
GOC resilience John Gordon, STFC GridPP 22 microtalk.
Advertisements

COS 461 Fall 1997 Network Objects u first good implementation: DEC SRC Network Objects for Modula-3 u recent implementation: Java RMI (Remote Method Invocation)
CS 542: Topics in Distributed Systems Diganta Goswami.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Leader Election Let G = (V,E) define the network topology. Each process i has a variable L(i) that defines the leader.  i,j  V  i,j are non-faulty.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
JADE: The Bully Algorithm. Problem Context of distributed computing Problem of leader election: leader election is the process of designating a single.
WebLogic Clustering - Failover, and Load Balancing Bryan Ferrel and Ramarao Desaraju CS 522 Computer Communications December 4, 2002.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
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.
Socket Programming.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Enterprise Applications & Java/J2EE Technologies Dr. Douglas C. Schmidt Professor of EECS.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Middleware Technologies compiled by: Thomas M. Cosley.
CS526 Dr.Chow1 HIGH AVAILABILITY LINUX VIRTUAL SERVER By P. Jaya Sunderam and Ankur Deshmukh.
Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
Fundamentals of Python: From First Programs Through Data Structures
Understanding and Managing WebSphere V5
Intro to Servlets Lec 26. Web-Based Enterprise Applications in Java Figure shows a simplified view of one application and its layers.
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
+ A Short Java RMI Tutorial Usman Saleem
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 4 Communication.
J2EE Overview ver 1.0Page 1 © Wipro Technologies Talent Transformation J2EE Overview.
Distributed Database Systems Overview
Clever Framework Name That Doesn’t Violate Copyright Laws MARCH 27, 2015.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Enabling Peer-to-Peer SDP in an Agent Environment University of Maryland Baltimore County USA.
Lecture 4: Sun: 23/4/1435 Distributed Operating Systems Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
Peer Pressure: Distributed Recovery in Gnutella Pedram Keyani Brian Larson Muthukumar Senthil Computer Science Department Stanford University.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
ABSTRACT The JDBC (Java Database Connectivity) API is the industry standard for database- independent connectivity between the Java programming language.
 Load balancing is the process of distributing a workload evenly throughout a group or cluster of computers to maximize throughput.  This means that.
DIS PROPOSAL - Distributed Data Warehouse - R 蔣孟儒 R 龍秋明.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
A D - HOC MOBILE APPLICATION Submitted by: Artem Barger Itai Gannon Tatiana Shvartzman.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Leader Election (if we ignore the failure detection part)
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
Cloud Computing Computer Science Innovations, LLC.
Hwajung Lee. Let G = (V,E) define the network topology. Each process i has a variable L(i) that defines the leader.   i,j  V  i,j are non-faulty ::
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Clustering in OpenDaylight
ZOOKEEPER. CONTENTS ZooKeeper Overview ZooKeeper Basics ZooKeeper Architecture Getting Started with ZooKeeper.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Distributed Systems Lecture 9 Leader election 1. Previous lecture Middleware RPC and RMI – Marshalling 2.
Seminar On Rain Technology
Presented by Deepak Varghese Reg No: Introduction Application S/W for server load balancing Many client requests make server congestion Distribute.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
TensorFlow– A system for large-scale machine learning
Troubleshooting Tools
Distributed Computing
MCA – 405 Elective –I (A) Java Programming & Technology
Implementing RPC by Birrell & Nelson
Enterprise Application Architecture
Knowledge Byte In this section, you will learn about:
Leader Election (if we ignore the failure detection part)
Design pattern for cloud Application
CS4470 Computer Networking Protocols
Protocols and combining networks
When Democracy and Computer Science Come Together
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

Plug-in for Singleton Service in Clustered environment and improving failure detection methodology Advisor:By: Dr. Chung-E-WangSrinivasa c Kodali Department of computer science California state university, Sacramento

AGENDA Importance of Singleton service in clustered environment. Implementation of singleton service. Need for singleton service as a plug-in Handling failure detection Improving failure detection methodologies Future Developments

Importance of Singleton service in clustered environment What is singleton service? Service which manages all the singleton objects across the clustered application. What are singleton objects? Singleton is a pattern which makes sure that only one instance of that object is present at any point of time in the application. Need for singleton services At a time if only one user need to access the JDBC connection. Chat room application in the clustered environment where multiple users will be sending messages and broadcaster should send the messages to all the clients. Here broadcaster should be only one instance.

Implementation of Singleton Service Implementation requires all the singleton objects to be accessible only as RMI objects. Instances of the service code will be present in all the JVM Instances but only one instance of RMI will be started. If the RMI service is started at one instance then update of JNDI registry should take place which tells where singleton service is running. JNDI will maintained to know which JVM is running the service and other JVM’s running on the system. If another server instance need access to singleton object then the instance should make RMI call to the instance where the singleton service is running by looking into the JNDI.

Implementation of Singleton Service cont’d Service contains a set of API methods which helps to start the RMI service, binding to the JNDI and unbinding the service. Some of the API methods that plug-in will contain are: start() - will create RMI service on particular server. Bind() - Bind particular address to the JNDI directory. unBind() – Un bind the address from the JNDI registry. getServerInstances() - returns a list of server instances running at that point.

Need for developing a plug-in Open source servers doesn’t have the singleton service implementation. Plug-in will reduces the coding time and maintenance capabilities of singleton services in clustered environment. Plug-in will be compatible with different kind of J2EE application servers like Tomcat, Jetty, glassfish etc.,

Handling failure detection In clustered environment if the service running the JVM fails, all the singleton objects will not be accessible. It can become single-point failure. If JVM running the singleton service is down, how would the system know? A monitor in the cluster will be pinging the system which is running the singleton service at equal interval. What if the monitor pinging the system is down? A Highly available singleton service need to developed. How would other system know that the service is down If the monitor can’t ping the system, monitor should be able to start the another singleton service automatically and update the JNDI directory.

Improving failure detection methodologies Methodologies to make the singleton service highly available i.e failure detection algorithms: Heart beat method: similar to the Ping system which mentioned above. Async-BFD ( Asynchronous Bi-directional forwarding detection method) : In this method any two nodes( can be random node, neighbor node) should be able to establish a communicate channel for a period of time. In the channel the nodes should send messages (ping) each other. If the ping node gets the reply back then other node alive. This method can eradicate any single point failure.

Future Developments This methodology can be extended to cluster the instances like JMS etc., Electing server to start the singleton service (failover detection) can be challenging task. Can use using complex distributed algorithms like leader- election algorithm.

Questions ??