You are on page 1of 32

Dynamic Cluster Infrastructure

Using
Peer to Peer Mechanisms

Subodh Kumar E S
ShashiKiran B S
Shivakumar M
Contents

Introduction
Requirement Analysis
Design
Implementation
Conclusion
Future Enhancement
INTRODUCTION
Cluster Architecture

Cluster is group of linked, cooperati ng computers,


working together closely so that they form a single
system image.
MASTER
NODE

SERVER SERVER
NODE 1 NODE 4
LAN

SERVER SERVER
NODE 2 NODE 3
Off ers a ser vice
Advantages :
Deployed to improve performance or high availability
for an applicati on.

Deployed to balance load among the multi ple nodes.

Limitations :
Master Node maintains synchrony for every
communicati on in the cluster.

Adding a server node dynamically into the cluster is


diffi cult.
Limitations :

Dynamically loading an applicati on into the node is


diffi cult.

Altering redundancy models and introducing new


redundancy models diffi cult.

Once a cluster is confi gured, its hard to accommodate


new services.

The current cluster infrastructure off ers a rigid


scalability on nodes in the cluster.
Dynamic Cluster Architecture

MASTER
NODE

SERVER SERVER
NODE 1 NODE 3
LAN

Off ers a ser vice SERVER SERVER


Type 1 NODE 2 NODE 4 Off ers a ser vice
Type 2
Advantages of Dynamic Cluster Model :
Nodes can join and exit the cluster at any ti me
bringing dynamicity in its operati on.

Node replacement for maintenance purposes can be


done easily.

Flexible redundancy model is provided in this model.

The operator of the Cluster is reduced by the


manageability eff orts for node maintenance and
service availability.

The cluster can be made to off er more scalability and


more services.
Applications :

Distributed Computi ng

File sharing and Content Distributi on

Instant Messaging

Enterprise Collabarati on
REQUIREMENT
ANALYSIS
Objective of the Model
Provide a Dynamic node joining procedure, for the
server nodes which want to join the cluster.

The Master node should be able to confi gure the


server nodes according to the applicati on they host.

Any changes in the group of related server nodes


should not aff ect group of other server nodes.

Proper backup model should be adopted by the


master server to handle server node leaving
dynamically from the cluster.
Functional Requirements
The requirements are specifi ed under three
categories:

Boot Strapping
Deals with the Cluster setup

Cluster Management
Deals with the managing cluster

Applicati on Interacti on
Deals with the service management
Boot Strapping
Setti ng up Master Node of the Cluster Infrastructure

Cluster Management
Discovery of the Master Node
Server Node Joining mechanism
Confi gurati on of the Server Node
Set the mode of the Applicati on Server
Transfer of Cluster informati on
Cluster Management
Server node leaving procedure
Status check of every server node
Inti mati on of Masters exit
Display of Cluster status informati on to the user

Application Interaction
Allocati on of Applicati on Server
Managing back up of user informati on
Non Functional Requirements
Response Time
Inter Operability
Usability
Scalability
Security

Software Requirements
Windows XP/2000/ Vista OS
JVM , Networking APIs
NetBeans Integrated Development Environment
Hardware Requirements
Processor - Intel Penti um-III or above
RAM - 512 MB or above
Ethernet Card
LAN Switch
DESIGN
Design Specifications

The Design of the enti re system are explained using


a set of DFD’s for each requirements
Data fl ow diagrams shows how an input data item is
functi onally transformed by a system into an output
data item.

Processes are represented as circles.

External enti ti es are represented as boxes.

Data fl ow are represented by arrows between the


processes.
Boot Strapping

Setti ng up the Master Node

Master IP
Master Node Start Up

Master Port

Master Port Listen


Start
MasterNode Requests

Master IP

IP LIST

Node
Cluster Management

Master Node Discovery

Get
IP LIST MasterNode

Master IP

Status request
Node

Check
Status
Cluster Management

Server Node Joining mechanism and Confi gurati on

Master Port IP, AppType


Listen for
MasterNode Node
Requests

IP, AppType List of Active


Server nodes

IP, AppType
Update Configure
Cluster info Node Multicast

NODE LIST
Cluster Management

Set the Mode of the Server

MasterNode
AppNode

Mode
Assignment

NODE LIST
Cluster Management

Server node leaving mechanism

Inform IP , Log_out
msg MasterNode
MasterNode

Master IP, Port

IP , Log_out Remove: IP
Inform all Update Cluster
Node Leaving msg members Structure

Updated
List of Server Server Node
Nodes List

NODE LIST
MEMBER LIST
Cluster Management

Status check Mechanism

IP, Port Member IP


Get Check
Node
Members Status

List of Server Nodes

IP, Status
MEMBER LIST

Active
Server Node
List Update
Member List
Cluster Management

Master Node Exit Inti mati on

Get Node IP, M_Exit


MasterIP Inform
Master Node Master Port Nodes Nodes

List of
Server Nodes

Stop
Nodes Master
NODE LIST
Node
Application Interaction

Assignment of Server Nodes

NODE LIST
Master Node
Server Node List

getAppNode(AppType)

Get Nodes

Get
App Node AppNode IP, Port

Assign
Master IP
AppType

AppNode

Client
Application Interaction

User Informati on Backup

Update Client IP
App Node
UserList
Service Info,
Client IP
Updated
Client List

Client IP
App
USER LIST Service

Client List
Service Info

Server Node
IP, Port
Update Service
Client
Members Request

Server
Node
List

MEMBER LIST
IMPLEMENTATION
Boot Strapping
Setti ng up the Master Node
Class MasterNode
ssm : ServerSocket
sma : Socket
MasterNode( ) : IPaddrM : String
IPaddrL : String
Initi alizes all the Lists AppType : String
MSStatus : int
Initi alizes GUI NodeList : Hashtable
Sets the Master Node Status TempList : Vector
AppA : Hashtable
AppB : Hashtable
Run( ) : AppC : Hashtable
Starts to Listen Node requests
Independent Service for requests MasterNode() : void
Disp_CInfo() : void
Init_GUI() : void
Inform_All() : void
MultiCast(AppType ) : void
CheckApp(IP,Apptype) : boolean
CheckSt(IP) : boolean
run() : void
Cluster Management
Master Node Discovery
AppServer( ) :
Class AppServer

Initi alizes GUI. ass : ServerSocket


IPaddrA: String
Starts looking for Master Node. IPaddrM : String
AppType : String
getMasterServer( ) : AppList : Vector
ASStatus : int
Active : String
Sends a Hello message to Master.
Sends the Ipaddress of itself.
Master On : gets Acknowledgement AppServer() : void
GetMasterIP() : int
Master Off : gets Error getMasterServer() : String
initAppGUI() : void
initA ppGUI(): MultiCast() : void
CheckSt() : boolean
run() : void
Provides following opti ons:
a. Join the Cluster
b. Exit from the Cluster
c. Get the Cluster Informati on
Cluster Management
Server Node Joining mechanism
Join Opti on :

Sends request to Master Node for Joining.


Sends its IP and A pplicati on type on acceptance of request.
Starts accepti ng for Service Requests.

Server Node Confi gurati on and Mode setti ng


MasterNode.Multi cast(A pptype) :
Master Node informs the related cluster about the new Node.
MasterNode inti mates the new Node its status in Cluster.

AppReader Class:
Listens for Mode assignment from Master Node.
Gets the Status and Cluster Informati on.
Cluster Management
Transfer of Cluster Informati on
MasterNode.Multi cast(A pptype):
Master Node module for Informati on transmission.

AppSer ver.Multi cast():


Ser ver Node module for Informati on transmission.

Server Node Leaving Procedure


AppSer ver.initAppGUI. Exit:

Sends a Logout message to MasterNode.


Sends a Logout message to other Cluster members.

You might also like