You are on page 1of 71

TABLE OF CONTENTS

Chapters
1. Introduction 1.1 Essential characteristics of cloud computing 1.2 Cloud service models 1.3 Cloud deployment models 1.4 Cloud architecture 1.5 Benefits 1.6 Resource management 1.7 Organization of report 2. Literature Survey 2.1 Utility based placement of dynamic web applications with fairness goals 2.2 Robust monitoring of network-wide aggregates through gossiping 2.3 A latency-aware algorithm for dynamic service placement in largescale overlays 2.4 A gossiping protocol for detecting global threshold crossings 2.5 Dynamic resource allocation in computing clouds using distributed multiple criteria decision analysis 2.6 PRESS: PRedictive Elastic ReSource Scaling for cloud systems 2.7 Gossip-based resource allocation for green computing in large Clouds 3. Problem Definition 3.1 Existing System 3.2 Drawbacks in Existing System 3.3 Proposed System

Page No.
1 2 3 4 5 6 7 8 9 9

9 10

10 11

11 12

13 13 13 13

4.

System Requirements 4.1 Introduction 4.2 Functional Requirements

15 15 15

iii

4.3 Non-functional Requirements 4.4 Hardware and Software Requirements 5. System Design 5.1 Design Considerations 5.2 High Level Design 5.3 Low Level Design 5.3.1 Administrator 5.3.2 User 5.4 Use Case Diagram 5.5 Sequence Diagram 5.6 Flow Charts 6. Implementation 6.1 Steps to Run the Project 6.2 Coding 7. Testing 7.1 Software Testing 7.2 Testing Methods 7.3 Test Cases 8. 9. Performance Evaluation Conclusion and Future Enhancement 9.1 Conclusion 9.2 Future Enhancement REFERENCES APPENDIX A (SNAPSHOTS) APPENDIX B (PAPERS PRESENTED)

16 16 17 17 18 19 20 20 20 22 23 25 25 26 39 39 39 41 47 49 49 49 50 51 66

iv

LIST OF FIGURES
Fig No.
Fig 1.1 Fig 1.2 Fig 1.3 Fig 5.1 Fig 5.2 Fig 5.3 Fig 5.4 Fig 5.5 Fig 5.6 Fig 5.7 Fig 8.1 Fig 8.2 Delivery models Cloud deployment model Cloud architecture System architecture High level design Use case diagram of administrator Use case diagram of user Sequence diagram Flow chart to compute heuristic solution Flow chart for closing the passive connection Fairness among sites Scalability with respect to the number of machines and sites

Page No.
3 5 6 17 19 21 21 22 23 24 47 48

LIST OF TABLES
Table 7.1 The test case against which the system is tested 42

An Epidemic Protocol for Resource Management

CHAPTER 1

INTRODUCTION
Cloud computing emerges as one of the hottest topic in field of information technology. Many people are confused as to exactly what cloud computing is, especially as the term can be used to mean almost anything. Roughly, it describes highly scalable computing resources provided as an external service via the internet on a pay-as-you-go basis. The cloud is simply a metaphor for the internet, based on the symbol used to represent the worldwide network in computer network diagrams. Economically, the main appeal of cloud computing is that customers only use what they need, and only pay for what they actually use. Resources are available to be accessed from the cloud at any time, and from any location via the internet. Theres no need to worry about how things are being maintained behind the scenes you simply purchase the IT service you require as you would any other utility. Because of this, cloud computing has also been called utility computing, or IT on demand. This new, webbased generation of computing utilises remote servers housed in highly secure data centres for data storage and management, so organisations no longer need to purchase and look after their IT solutions in-house. Examples of cloud services include online file storage, social networking sites, webmail, and online business applications. Cloud computing provides a shared pool of resources, including data storage space, networks, computer processing power, and specialized corporate and user application.Cloud computing shares characteristics with Autonomic computing,Clientserver model Grid computing,Mainframe computer,Utility computing. Many companies are delivering services from the cloud. Some notable examples include the following: Google Has a private cloud that it uses for delivering many different services to its users, including email access, document applications, text translations, maps, web analytics, and much more.

Dept of CSE, AMCEC

2012-2013

An Epidemic Protocol for Resource Management

Microsoft Has Microsoft Sharepoint online service that allogws for content and business intelligence tools to be moved into the cloud, and Microsoft currently makes its office applications available in a cloud. Salesforce.com Runs its application set for its customers in a cloud, and its Force.com and Vmforce.com products provide developers with platforms to build customized cloud services.

1.1 Essential characteristics of cloud computing


On demand self services: computer services such as email, applications, network

or server service can be provided without requiring human interaction with each service provider. Cloud service providers providing on demand self services include Amazon Web Services (AWS), Microsoft, Google, IBM and Salesforce.com. New York Times and NASDAQ are examples of companies using AWS (NIST). Broad network access: Cloud Capabilities are available over the network and

accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms such as mobile phones, laptops and PDAs. Resource pooling: The providers computing resources are pooled together to

serve multiple consumers using multiple-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. The resources include among others storage, processing, memory, network bandwidth, virtual machines and email services. The pooling together of the resource builds economies of scale. Rapid elasticity: Cloud services can be rapidly and elastically provisioned, in

some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time. Measured service: Cloud computing resource usage can be measured, controlled,

and reported providing transparency for both the provider and consumer of the utilised service. Cloud computing services use a metering capability which enables to control and optimise resource use. This implies that just like air time, electricity or municipality
Dept of CSE, AMCEC 2012-2013 2

An Epidemic Protocol for Resource Management

water IT services are charged per usage metrics pay per use. The more you utilise the higher the bill. Just as utility companies sell power to subscribers, and telephone companies sell voice and data services, IT services such as network security management, data center hosting or even departmental billing can now be easily delivered as a contractual service.

1.2 Cloud service models


The following figure shows the various types of cloud services as three distinct models: Infrastructure as a Service, Platform as a Service, and Software as a Service.

Fig 1.1: Delivery models

Infrastructure as a Service is the delivery of computer hardware (servers, networking technology, storage, and data center space) as a service. It may also include the delivery of operating systems and virtualization technology to manage the resources. Platform as a Service includes the delivery of more than just infrastructure. It delivers what you might call a solution stack an integrated set of software that provides everything a developer needs to build an application for both software development and runtime. Software as a Service is the delivery of business applications designed for a

specific purpose. Software as a Service comes in two distinct modes:

Dept of CSE, AMCEC

2012-2013

An Epidemic Protocol for Resource Management

Simple multi-tenancy: Each customer has its own resources that are segregate from those of other customers. It amounts to a relatively inefficient multi- tenancy. Fine-grain multi-tenancy: This offers the same level of segregation but is far more efficient. All resources are shared, but customer data and access capabilities are segregated within the application.

1.3 Cloud deployment models


Deploying cloud computing can differ depending on requirements, and the following four deployment models have been identified,each with specific characteristics that support the needs of the services and users of the clouds in particular ways. Public cloud Public cloud applications, storage, and other resources are made available to the general public by a service provider. These services are free or offered on a pay-per-use model. Generally, public cloud service providers like Amazon AWS, Microsoft and Google own and operate the infrastructure and offer access only via Internet (direct connectivity is not offered) Community cloud

Community cloud shares infrastructure between several organizations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party and hosted internally or externally. The costs are spread over fewer users than a public cloud (but more than a private cloud), so only some of the cost savings potential of cloud computing are realized. Hybrid cloud

Hybrid cloud is a composition of two or more clouds (private, community or public) that remain unique entities but are bound together, offering the benefits of multiple deployment models. By utilizing "hybrid cloud" architecture, companies and individuals are able to obtain degrees of fault tolerance combined with locally immediate usability without dependency on internet connectivity. Hybrid cloud architecture requires both onDept of CSE, AMCEC 2012-2013 4

An Epidemic Protocol for Resource Management

premises resources and off-site (remote) server-based cloud infrastructure. Hybrid clouds lack the flexibility, security and certainty of in-house applications. Hybrid cloud provides the flexibility of in house applications with the fault tolerance and scalability of cloud based services. Private cloud

Private cloud is cloud infrastructure operated solely for a single organization, whether managed internally or by a third-party and hosted internally or externally. Undertaking a private cloud project requires a significant level and degree of engagement to virtualize the business environment, and it will require the organization to reevaluate decisions about existing resources. When it is done right, it can have a positive impact on a business, but every one of the steps in the project raises security issues that must be addressed in order to avoid serious vulnerabilities.

Fig1.2: Cloud deployment model

1.4 Cloud architecture


Cloud architecture, the systems architecture of the software systems involved in the delivery of cloud computing, comprises hardware and software designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces, usually web services. This closely resembles the UNIX philosophy of having multiple programs doing one thing well and working together over universal interfaces.
Dept of CSE, AMCEC 2012-2013 5

An Epidemic Protocol for Resource Management

Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts. Cloud architecture extends to the client, where web browsers and/or software applications access cloud applications. Cloud storage architecture is loosely coupled, where metadata operations are centralized enabling the data nodes to scale into the hundreds, each independently delivering data to applications or user.

Cloud platform mmmm

Cloud service

Cloud infrastructure

Cloud storage

Fig 1.3 Cloud Architecture

1.5 Benefits
The following are some of the possible benefits of cloud computing-based services and applications: Cost Savings Companies can reduce their capital expenditures and use operational expenditures for increasing their computing capabilities. This is a lower barrier to entry and also requires fewer in-house IT resources to provide system support.
Dept of CSE, AMCEC 2012-2013 6

An Epidemic Protocol for Resource Management

Scalability/Flexibility Companies can start with a small deployment and grow to a large deployment fairly rapidly, and then scale back if necessary. Also, the flexibility of cloud computing allows companies to use extra resources at peak times, enabling them to satisfy consumer demands. Reliability Services using multiple redundant sites can support business continuity and disaster recovery. Maintenance Cloud service providers do the system maintenance, and access is through APIs that do not require application installations onto PCs, thus further reducing maintenance requirements. Mobile Accessible Mobile workers have increased productivity due to systems accessible in an infrastructure available from anywhere.

1.6 Resource management


Resource Management is critical in cloud computing.With improper resource management,applications might experience network congestion,long time wait,CPU waist,overused CPU and memory,and security problems.To maximize cloud computing infrastructure utilization and minimize total cost of both the cloud computing infrastructure and running applications,resources need to be managed properly. To overcome this there are kinds of resources in the large-scale computing infrastructure need to be managed, CPU load, network bandwidth, disk quota, and even type of operating systems. To provide better quality of service, resources are provisioned to the users or applications, via load balancing mechanism, high availability mechanism and security and authority mechanism. To maximize cloud utilization, the capacity of application requirements shall be calculated so that minimal cloud computing infrastructure devices shall be procured and maintained.Given access to the cloud computing infrastructure, applications shall allocate proper resources to perform the computation with time cost and infrastructure cost minimized. Resource Management deals with the problem of managing the resources dynamically over a large-scale cloud environment. Such an environment includes the

Dept of CSE, AMCEC

2012-2013

An Epidemic Protocol for Resource Management

physical infrastructure and associated control functionality that enables the provisioning and management of cloud services.

1.7 Organization of report


This section is intended to give the reader a brief overview of the structure of this document and the composition of each chapter. Chapter 1 contains an introduction to the cloud computing and introduces the reader to Resource Management. Chapter 2 of this document contains an overview of related works. Chapter 3 describes the existing system and proposed system. Chapter 4 starts of with the system analysis and detailed description about the requirements of the project is presented. Chapter 5 actual design of the project. Chapter 6 explains the implementation of the system. Chapter 7 includes different level of testing and presents various test cases with its results. Chapter 8 includes performance evaluation. Chapter 9 concludes the work and presents some possibilities from the further enhancement in this work. Sample outputs illustrating the working of project presented as snapshots.

Dept of CSE, AMCEC

2012-2013

An Epidemic Protocol for Resource Management

CHAPTER 2

LITERATURE SURVEY
allocation D.Carrera[1] et.al in 2008 addressed the problem of dynamic resource to clustered Web applications by extending the application server

middleware with the ability to automatically decide the size of application clusters and their placement on physical machines. Unlike existing solutions, which focus on maximizing resource utilization and may unfairly treat some applications, the approach introduced here considers the satisfaction of each application with a particular resource allocation and attempts to at least equally satisfy all applications. Satisfaction is modeled using utility functions, mapping CPU resource allocation to the

performance of an application relative to its objective. The demonstrated online placement technique aims at equalizing the utility value across all applications while also satisfying operational constraints, preventing the over-allocation of memory, and minimizing the number of placement changes. This technique is implemented in a leading commercial middleware product. Simulation results show the benefit of the utility-driven technique as compared to other state-of-theart techniques. Aggregates are computed from local management variables using functions

such as SUM, MAX, or AVERAGE. In network-wide aggregation, crash failures offer a particular challenge due to the problem of mass loss, namely, how to correctly account for contributions from nodes that have failed. F.Wuhib[2] et.al in 2009 proposed G-GAP, a gossip protocol for continuous monitoring of aggregates, which is robust against failures that are discontiguous in the sense that neighbouring nodes do not fail within a short period of each other. The results suggest that the design goals for this protocol have been met. For instance, the tradeoff between estimation accuracy and protocol overhead can be controlled, and a high estimation accuracy (below some 5% error in our measurements) is achieved by the protocol, even for large networks and frequent node failures. Further, a
Dept of CSE, AMCEC 2012-2013 9

An Epidemic Protocol for Resource Management

comparative assessment of G-GAP against a tree-based aggregation protocol is done using simulation. Surprisingly, it is found that the tree-based aggregation protocol consistently outperforms the gossip protocol for comparative overhead, both in terms of accuracy and robustness. A generic and self managing service hosting infrastructure, provides means to

offer a large variety of services to users across the Internet. Such an infrastructure provides a mechanism to automatically allocate the resources to services, discover the location of these services, and route client requests to a suitable service instance. Famaey[3]et.al in 2009 proposed a latency-aware algorithm for allocating server resources to different services. This new algorithm is based on service placement algorithms proposed by Adam which takes in to account the latency to the nearest instance of services, when deciding which services to place and how many resources to allocate to them. In the original design it was assumed that servers were clustered together in data centers, in such a case network latency between the servers is assumed negligible. Here however it is assumed that servers are spread across Internet. In this case underlying network characteristics, such as latency do become important. In Dynamic service placement in large-scale Overlays an illustration is done to compare the solution of latency-aware algorithm to the latency-unaware variant. Simulation results show that latency-aware algorithm performs well in terms of system efficiency and scalability. A variety of protocols have been proposed for detecting the threshold crossing.

Threshold crossing alerts (TCAs) indicate to a management system that a monitored management variable, for instance a device counter, has crossed a preconfigured value the threshold. Based on push-synopses, Fetahi Wuhib[4] et.al in 2010 proposed a gossip protocol that indicates whether a global aggregate of static local values is above or below a given threshold. An extension to this protocol called TG-GAP, is introduced that executes in a dynamic network environment where local values change and implements hysteresis behavior with upper and lower thresholds. Key elements of its design are the construction of snapshots of the global aggregate for threshold detection and a mechanism for synchronizing local states, both of which are realized through the
Dept of CSE, AMCEC 2012-2013 10

An Epidemic Protocol for Resource Management

underlying gossip protocol. Simulation studies suggest that TG-GAP is efficient in detecting global threshold crossings in the type of scenarios investigated, the tree-based protocol incurs a significantly lower overhead and a smaller detection delay than a gossip protocol such as TG-GAP. In computing clouds, it is desirable to avoid wasting resources as a result of

under-utilization and to avoid lengthy response times as a result of over-utilization. Yagiz Onat Yazir[5] et.al in 2010 proposed a new approach for dynamic autonomous resource management in computing clouds which is two-fold. First, a

distributed architecture where resource management is decomposed into independent tasks is adopted, each of which is performed by Autonomous Node Agents that are tightly coupled with the physical machines in a data center. Second, the Autonomous Node Agents carry out configurations in parallel through Multiple Criteria Decision Analysis using the PROMETHEE method. The second phase involves the computation and application of a new configuration by distributing the resources in a data center among the VMs that represent AEs. The configuration is computed based on the output of the mappings produced in the first phase. In the second phase, certain constraints and limitations need to be taken into consideration. Two of these are the time-spent during the selection of a new configuration, and the feasibility of it. Simulation results show that the proposed approach is promising in terms of feasibility and flexibility. Z.Gongwe[6]et.al in 2010 proposed a

novel PRedictive Elastic reSource Scaling (PRESS) scheme for cloud systems. PRESS unobtrusively extracts fine-grained dynamic patterns in application resource demands and adjust their resource allocations automatically. This approach leverages light-weight signal processing and statistical learning algorithms to achieve online predictions ofdynamic application resource requirements. PRESS system has been implemented on Xen and tested it using RUBiS and an application load trace from Google. Experiments show that a good resource prediction accuracy with less than 5% over-estimation error and near zero under-estimation error is achieved, and elastic resource scaling can both significantly reduce resource waste and SLO violations.

Dept of CSE, AMCEC

2012-2013

11

An Epidemic Protocol for Resource Management

Power consumption and the problem of resource allocation in data centers is

significant; it has been growing rapidly in recent years. To avoid this problem, Rerngvit Yanggratoke [7]et.al in 2011 proposed a generic gossip protocol for resource allocation, which can be instantiated for specific objectives. An instantiation of this generic protocol is developed which aims at minimizing power consumption through server consolidation, while satisfying a changing load pattern. This protocol, called GRMP-Q, provides a heuristic solution to the problem of minimizing power consumption, which will effective and scalable. The results proved the effectiveness of the protocol compared to an ideal system, and it also suggests that key performance metrics do not change with increasing system size, making the resource allocation process scalable to a very large cloud.

Dept of CSE, AMCEC

2012-2013

12

An Epidemic Protocol for Resource Management

CHAPTER 3

PROBLEM DEFINITION
3.1 Existing system
Application placement in datacenters is often modeled through mapping a set of applications onto a set of machines such that some utility function is maximized under resource constraints. This approach has been taken and solutions from these works have been incorporated in middleware products .While these product solutions rely on centralized architectures, which do not scale to system sizes. The mechanisms currently incorporated in scales with the number of machines, but it does not scale in the number of applications. Additionally, in addressing the problem of minimizing power consumption & fair resource allocation, these assume static i/p & produces single o/p. The problem of resource management is application placement and load balancing in processor networks.

3.2 Drawbacks in existing system


Application placement is difficult one. Epidemic protocol in the existing system assume static input and produces single output value Whenever the input changes, they are restarted and produce a new output value which leads to time consumption and requires global synchronization. Its hard to adapt to changes as the input is static

3.3 Proposed system


In proposed system, a significant contribution towards engineering a resource management middleware for cloud environments is done. The proposed protocol executes in a middleware platform with three design goals namely

fairness,adaptability,scalability.The protocol continuously executes in a distributed fashion while its input and consequently its output dynamically changes.The proposed scheme provides a heuristic solution to the resource allocation problem for a dynamically

Dept of CSE, AMCEC

2012-2013

13

An Epidemic Protocol for Resource Management

changing resource demand. All machines are treated as equivalent in the sense they do not belong to specific racks or clusters.

3.4 Advantages in proposed system


Global Synchronization can be avoided, as there is a single continuous execution instead of sequence of executions with restarts. The system can continuously adapt to changes in local input. The Epidemic protocol continuously executes and dynamically solves the problem of optimally placing applications in a cloud, achieving fair resource allocation.

Dept of CSE, AMCEC

2012-2013

14

An Epidemic Protocol for Resource Management

CHAPTER 4

SYSTEM REQUIREMENTS
4.1 Introduction
A Software Requirements Specification (SRS) is a complete description of the behavior of the system that is to be developed. SRS has functional requirement to describe what the system must do.SRS also includes non functional (or supplementary) requirements. Non functional requirements are requirements which impose constraints on the design or implementation (such as performance engineering requirements, quality standards or design constraints). Software design is a process by which the software requirements are translated into a representation of software components, interfaces and data necessary for the implementation phase. The Software Development Design (SDD) shows how the software system will be structured to satisfy the requirements. It is the primary reference for code development and therefore, it must contain all the information required by a programmer to write code.

4.2 Functional requirements


The system is expected to have the following functionalities. The administrator must be able to login for authentication. The administrator must be able to configure the cloud by providing cloud name, URL, total bandwidth, per connection bandwidth. The administrator must be able to add, delete and edit the server details. The administrator must be able to add the applications by providing application name, description, deployment name. The administrator must be able to edit and delete applications. The administrator must be able to deploy the applications by selecting the cloud and application name. The administrator must be able to change the password. The administrator must be able to view active connection details.
Dept of CSE, AMCEC 2012-2013 15

An Epidemic Protocol for Resource Management

The administrator must be able to monitor the server details. The user must be able to view the applications deployed on the browser. The user must be able to request for the application and get the access. When the total bandwidth exceeds the available bandwidth the request must be migrated to another server. The user will not come to know from which server the user is getting the service. The user must be able to close the connection.

4.3 Non functional requirements


The Nonfunctional requirements of the system are given below. The project needs more than 1 system to show the redirection to different server. Requires internet connection.

4.4 Hardware and Software Requirements


HARDWARE Processor RAM Monitor Hard Disk : : : : Pentium IV 2.6 GHz, Intel Core 2 Duo. 512 MB DD RAM 15 Color 40 GB

SOFTWARE Operating System Technology Web Technologies IDE Web Server Database Java Version : : : : : : : Windows Java and J2EE Html, JavaScript, CSS My Eclipse Tomcat My SQL JDK1.6

Dept of CSE, AMCEC

2012-2013

16

An Epidemic Protocol for Resource Management

CHAPTER 5

SYSTEM DESIGN
5.1 Design considerations
This section describes many of the issues which are needed to be addressed or resolved before attempting to devise a complete design solution.

Fig 5.1: System Architecture

High level design covers specific assumption and dependencies for the project. It also covers data flow diagram which gives the flow of data for overall project, assumptions and dependencies.
Dept of CSE, AMCEC 2012-2013 17

An Epidemic Protocol for Resource Management

5.2 High level design


Software sometimes can be a complex entity. Its development usually follows what is known as Software Development Life Cycle (SDLC). High Level Design is one of the initial stages. Typically a Software Development Life-cycle (SDLC) has four stages: Requirements Design Coding Testing The second stage in the SDLC is the Design Stage.The objective of the design stage is to produce the overall design of the software.The design stage involves two substages namely: High-Level Design Low-Level Design In the High-Level Design, the Technical Architect of the project will study the proposed applications functional and non-functional requirements and design overall solution architecture of the application which can handle those needs. The high level design has the following activities: Design of the Solution Architecture for the project Design of the technical Architecture for the project Development of the Logical model for the project Development of the Physical Data Model for the project System designing produces overall design of the proposed software based on the identified requirements and the detailed analysis of a new system as shown in the Fig 5.2.

Dept of CSE, AMCEC

2012-2013

18

An Epidemic Protocol for Resource Management

App1

App2

Local Mgr

Client 1 Cloud server 1 Global Mgr


Gate Way Server I N T E R N E T

Client 2

Client 3

Local Mgr

Cloud Server n

DB

Client N Appn-1 App n

Fig 5.2 : High Level Design

An Epidemic protocol is a web based application which uses MVC architecture. The technology used in this system is J2EE which uses My-SQL as back-end database. The architecture consists of n number of servers,n number of clients, and a gateway server where end users access cloud-based applications through a web browser on a light-weight desktop.When ever the request arrives from the client ,the gateway server will check whether the requested server on which the application enabled is free by comparing the available bandwidth and requested bandwidth.If the requested server is free, it serves the particular client. If not the gate way server dynamically compares the requested bandwidth and available bandwidth and forwards the request to another server which is free.All this dynamic resource allocation process is kept hidden from the clients, where the client would just get the service without any interruption.

5.3 Low level design


There are 2 modules in the project and they are mentioned below: 1. Administrator
Dept of CSE, AMCEC

2.User
2012-2013 19

An Epidemic Protocol for Resource Management

5.3.1 Administrator
Once the administrator logs in to the system he can do the following functionalities Cloud Configuration: In the cloud configuration page, the administrator can add the server by providing cloud name, URL, total bandwidth, per connection bandwidth , he can also edit and delete the server details. Application : In the application page, the administrator can add the applications by providing application name, description, deployment name. he can also edit and delete the application details. Application Deployment :The administrator can deploy the applications by selecting the cloud name, application name and he can also delete the deployed applications. Active Connection: The administrator can view the connections which are active on the cloud by clicking on active connections button. Monitoring Server: The administrator can view all the server details by clicking on monitoring server button. Change Password: The administrator can update the password to his profile by clicking on change password button.

5.3.2 User
User functionalities are Display System: The user can view the applications displayed on the browser by providing proper URL. Connection Request: The user can request for the applications present on the browser and here the gate way server will check whether the requested bandwidth exceeds the available bandwidth. If so the request would be migrated to another server, if not the user will be provided with the service. Connection Close: Once the service is provided he can close the connection.

5.4 Use case diagram


A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a use-case analysis. Its purpose is to present a
Dept of CSE, AMCEC 2012-2013 20

An Epidemic Protocol for Resource Management

graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases) and any dependencies between those use cases. The main purpose of a use case diagram is to show what system functions are performed for which actor. Roles of the actors in the system can be depicted. Fig. 5.3 and 5.4 shows the usecase diagram of Administrator and User.

Login

Add

Application

Edit

Deploy Application

Delete

Add

Administrator

Cloud Configuration

Edit
Delete

Monitoring

Fig 5.3: Use case diagram of Administrator


Dispatcher

Application Display Access Control

Connection Request

Application Access

Access control Connection Close Connection Close

User

Fig 5.4: Use case diagram of User

Dept of CSE, AMCEC

2012-2013

21

An Epidemic Protocol for Resource Management

5.5 Sequence diagram


A sequence diagram is a interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams typically are associated with use case realizations in the Logical View of the system under development.

User request

Dispatcher server

Connection control

Server1

Server2

list of application

selected application Application details

Application details

Application access Application details Application access

Fig 5.5: Sequence Diagram

Dept of CSE, AMCEC

2012-2013

22

An Epidemic Protocol for Resource Management

5.6 Flow Charts

Fig 5.6: Flowchart to compute heuristic solution

Dept of CSE, AMCEC

2012-2013

23

An Epidemic Protocol for Resource Management

Fig 5.7: Flowchart for Closing the Passive Connection

Dept of CSE, AMCEC

2012-2013

24

An Epidemic Protocol for Resource Management

CHAPTER 6

IMPLEMENTATION
The software design phase is succeeded by implementation phase. In this phase the detailed approach of the software development will be taken into consideration. The implementation phase will give the procedures the developer used to develop the software. It specifies the program structure as a whole.

6.1 Steps to run the project


In order to run this project, we need 2 or more systems, one system to run as server and the other as client. Step 1: Open Eclipse IDE, to check whether tomcat is started or not, just open your browser and type http://localhost:8088, Tomcat home page will be open, then open project for admin login in the main window.

Step 2: Now in admin module configure the cloud by providing cloud name, URL, total bandwidth and per connection bandwidth.

Step 3: Now add the applications by providing the required details like application name, description, deployment name by clicking on applications button.

Step 4: Now deploy the applications on to the server by providing cloud name, deployment name by clicking on deploy application button.

Step 5: When the user access the application on the browser,he gets the service depending up on the availability of bandwidth.If the requested bandwidth exceeds the available bandwidth, the gateway server will redirect the request to another server.

Dept of CSE, AMCEC

2012-2013

25

An Epidemic Protocol for Resource Management

Step 6: The administrator can view the redirection details by clicking on cloud configuration button and application deployment button.

Step 7: The administrator can view the active connection details by clicking on active connection button.

Step 8: The administrator can monitor the server details by clicking on monitoring server button.

6.2 Coding
CL_DAO.java Package com.admin.service; import java.sql.Connection; import java.sql.DriverManager; import com.admin.comman.Global; public class CL_DAO { public static Connection connector() { Connection con=null; try { Class.forName(Global.JDBC_DRIVER); System.out.println("Driver has loaded");

Con=DriverManager.getConnection(Global.JDBC_HOST_URL_WITH_DBNAME,Glo bal.DATABASE_USERNAME, Global.DATABASE_PASSWORD); System.out.println("Connected" + con); } catch (Exception e)


Dept of CSE, AMCEC 2012-2013 26

An Epidemic Protocol for Resource Management

{ System.out.println("Exception in serverconnector-->connector():"+ e); } return con; } }

Admin.java package com.admin.process; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.admin.service.CL_DAO; public class CL_Admin { private static Connection connection = null; private static Statement statement = null; private static ResultSet resultSet = null; public static boolean checkAdmin(String name, String pass) throws SQLException { boolean flag=false; try { connection=CL_DAO.connector(); statement = connection.createStatement(); resultSet = statement.executeQuery("select * from m_admin where admin_id='"+name+"' and admin_pwd='"+pass+"'"); if(resultSet.next())

Dept of CSE, AMCEC

2012-2013

27

An Epidemic Protocol for Resource Management

{ flag = true; } System.out.println("Admin User Login Status : "+flag); } catch(Exception e) { System.out.println("Exception in CL_Admin class->checkAdmin() : "+e); } return flag; } public static boolean changePass(String pass) { boolean flag=false; try { connection=CL_DAO.connector(); statement = connection.createStatement(); int i = statement.executeUpdate("update m_admin set admin_pwd='"+pass+"'"); if(i!=0) { flag = true; } System.out.println("Admin Change Password Status : "+flag); } catch(Exception e) { System.out.println("Exception in CL_Admin class-->changePass() : "+e); } return flag; }
Dept of CSE, AMCEC 2012-2013 28

An Epidemic Protocol for Resource Management

public static void main(String[] args) { // TODO Auto-generated method stub

} }

Admin Login.java package com.admin.action; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.admin.comman.Global; import com.admin.process.CL_Admin; public class AdminLogin extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); try { boolean result=CL_Admin.checkAdmin(username,password); if(result) { request.setAttribute("name", username);
Dept of CSE, AMCEC 2012-2013 29

An Epidemic Protocol for Resource Management

response.sendRedirect("JSP/admin_set.jsp"); } else { RequestDispatcher rd;

request.setAttribute(Global.ADMIN_LOGIN_STATUS,Global.ADMIN_INVALID_ME SSAGE); rd = request.getRequestDispatcher("JSP/admin_login.jsp"); rd.forward(request, response); } } catch (SQLException e) { System.out.println("Exception in AdminLogin Servlet : "+e); } } }

Add server.java package com.admin.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.admin.comman.Global; import com.admin.process.CL_Configuration; public class AddServer extends HttpServlet {
Dept of CSE, AMCEC 2012-2013 30

An Epidemic Protocol for Resource Management

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String cloud_name=request.getParameter("cloud_name"); String url=request.getParameter("url"); int total_bandwidth=Integer.parseInt(request.getParameter("totalB")); int per_connection=Integer.parseInt(request.getParameter("per_conn")); System.out.println(cloud_name+"-"+url+"-"+total_bandwidth+"-"+per_connection); try { RequestDispatcher rd; boolean result=CL_Configuration.addServer(cloud_name, url, total_bandwidth, per_connection); if(result) { response.sendRedirect("JSP/cloud_config.jsp?no=0&no1=11"); } else { request.setAttribute(Global.ADMIN_LOGIN_STATUS,

Global.ADMIN_INVALID_MESSAGE);

rd=request.getRequestDispatcher("JSP/cloud_config.jsp?no=1"); rd.forward(request, response); } } catch(Exception e) { System.out.println("Exception in AddServer Servlet : "+e); } } }


Dept of CSE, AMCEC 2012-2013 31

An Epidemic Protocol for Resource Management

Add Appication.java package com.admin.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.admin.comman.Global; import com.admin.process.CL_Applications; public class AddApplication extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String app_name=request.getParameter("app_name"); String desc=request.getParameter("desc"); String deploy_name=request.getParameter("deploy_name"); System.out.println(app_name+"-"+desc+"-"+deploy_name); try { RequestDispatcher rd; boolean result=CL_Applications.addApplication(app_name, desc, deploy_name); if(result) {

response.sendRedirect("JSP/applications.jsp?no=0&no1=11"); } else {
Dept of CSE, AMCEC 2012-2013 32

An Epidemic Protocol for Resource Management

request.setAttribute(Global.ADMIN_LOGIN_STATUS,Global.ADMIN_INVALID_ME SSAGE);

rd=request.getRequestDispatcher("JSP/applications.jsp?no=1"); rd.forward(request, response); } } catch(Exception e) { System.out.println("Exception in AddApplication Servlet : "+e); } } } Deploy application.java package com.admin.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.admin.comman.Global; import com.admin.process.CL_Applications; import com.admin.process.CL_Configuration; import com.admin.process.CL_Deploy_Applications;

public class DeployApplication extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
Dept of CSE, AMCEC 2012-2013 33

An Epidemic Protocol for Resource Management

{ int c_no=Integer.parseInt(request.getParameter("c_no")); int a_no=Integer.parseInt(request.getParameter("a_no")); String url=CL_Configuration.getURL(c_no); int TotalConn=CL_Configuration.getTotConn(c_no); int CurrentConn=CL_Configuration.getCurrConn(c_no); try { boolean result=false; boolean status; RequestDispatcher rd; boolean flag=CL_Deploy_Applications.checkExist(a_no, c_no); if(flag) { status=CL_Deploy_Applications.getStatus(a_no); if(!status) { result=CL_Deploy_Applications.deployApp(c_no, a_no, TotalConn, CurrentConn, "Deactive", url+CL_Applications.getDName(a_no)); } else { result=CL_Deploy_Applications.deployApp(c_no, a_no, TotalConn, CurrentConn, "Active", url+CL_Applications.getDName(a_no)); } } if(result) {

response.sendRedirect("JSP/app_deploy.jsp?no=0&no1=11"); }
Dept of CSE, AMCEC 2012-2013 34

An Epidemic Protocol for Resource Management

else { request.setAttribute(Global.ADMIN_LOGIN_STATUS,Global.ADMIN_INVALID_ME SSAGE);

rd=request.getRequestDispatcher("JSP/app_deploy.jsp?no=1"); rd.forward(request, response); } } catch(Exception e) {

} } } Getrequest.java package com.admin.action; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.admin.comman.Global; import com.admin.process.CL_Configuration; import com.admin.process.CL_Connection_Request; import com.admin.process.CL_Deploy_Applications;

Dept of CSE, AMCEC

2012-2013

35

An Epidemic Protocol for Resource Management

public class GetRequest extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String ip=request.getParameter("ip"); int a_no=Integer.parseInt(request.getParameter("appid")); System.out.println("..."+ip+"...."+a_no); String url=CL_Deploy_Applications.getURL(a_no); int cloudNo =CL_Deploy_Applications.getCloudNo(url); RequestDispatcher rd; boolean result=CL_Connection_Request.checkExist(ip); if(!(url=="") && result) { Calendar currentDate = Calendar.getInstance(); SimpleDateFormat dateFormatter=new SimpleDateFormat("dd-MM-yyyy"); SimpleDateFormat timeFormatter=new SimpleDateFormat("HH:mm:ss"); String date = dateFormatter.format(currentDate.getTime()); String time =timeFormatter.format(currentDate.getTime()); CL_Connection_Request.addConnection(date, time, ip, cloudNo, a_no ,"LIVE"); CL_Deploy_Applications.addConnection(url, cloudNo,a_no, "Active"); CL_Configuration.addConnection(cloudNo); CL_Deploy_Applications.makeDeactive(cloudNo, a_no); HttpSession httpSession = request.getSession(true); httpSession.setAttribute(Global.USER_SESSION_STATUS, Global.USER_SESSION_VALUE); httpSession.setAttribute(Global.USER_ID, ip); response.sendRedirect("JSP/user_set.jsp?url="+url); }
Dept of CSE, AMCEC 2012-2013 36

An Epidemic Protocol for Resource Management

else { if(!(result)) request.setAttribute(Global.USER_LOGIN_STATUS,Global.USER_INVALID_LOGIN; else request.setAttribute(Global.USER_LOGIN_STATUS, Global.USER_INVALID_MESSAGE); rd = request.getRequestDispatcher("index.jsp?no=1"); rd.forward(request, response); } } catch(Exception e) { System.out.println("Exception in GetRequest Servlet : "+e); } } }

Change password.java package com.admin.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.admin.comman.Global; import com.admin.process.CL_Admin; public class ChangePass extends HttpServlet {

Dept of CSE, AMCEC

2012-2013

37

An Epidemic Protocol for Resource Management

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String pass=request.getParameter("pass"); System.out.println("Your new password - "+pass); boolean result = CL_Admin.changePass(pass); RequestDispatcher rd; if(result) { response.sendRedirect("JSP/change_pass.jsp?no=1"); } else { request.setAttribute(Global.ADMIN_LOGIN_STATUS,Global.ADMIN_INVALID_ME SSAGE);

rd=request.getRequestDispatcher("JSP/change_pass?no=0"); rd.forward(request, response); } } catch(Exception e) { System.out.println(e); }} }

Dept of CSE, AMCEC

2012-2013

38

An Epidemic Protocol for Resource Management

CHAPTER 7

TESTING
7.1 Software testing
Testing is an important stage in the System Development Life Cycle (SDLC).It is vital for thorough checking of the system and finding faults from different test conditions. The common view of the testing held by the user is performed to prove that the software is free from errors. There are many ways to test the system reliability, completeness, correctness and maintainability. Software is the only one element of a large computer-based system. Ultimately, software is incorporated with other system elements (e.g. Hardware, People and Information) and a series of system integration and validation tests are conducted. These tests fall outside the scope of the software process and are not conducted solely by software engineers. However, steps taken during software design and testing can greatly improve the probability of successful software integration in the larger system. The unreliability is mainly because of the absence of any executable code. So all the errors will be reflected in the code since code is frequently the only product that can be executed to check the actual behavior. So testing phase is performed after coding, to detect all the errors and provide quality assurance and ensure reliability of the software.

7.2 Testing methods


Unit Testing: Unit testing focuses verification efforts on the smallest unit of software design, the module. This is also known as Module Testing. The modules are tested separately. This testing is carried out during programming stage itself. In this testing step each module is found to be working satisfactorily as regard to the expected output from the module. Integration Testing: Integration testing is a systematic testing for constructing program structure, while at the same time conducting tests to uncover errors associated within the interface. The objective is to take unit-tested module and build a program structure. All
Dept of CSE, AMCEC 2012-2013 39

An Epidemic Protocol for Resource Management

the modules are combined and tested as a whole. Here correction is difficult because the vast expense of the entire program complicate the isolation of causes. Thus in the integration testing step, all the errors are uncovered and corrected for the next testing steps. Data can be lost across an interface. One module can have an adverse effort on the other. Sub functions when combined may not produce the desired major functions. System Testing: System testing makes a logical assumption that if all the paths of the system
are correct, the goal will be successfully achieved. System testing is aimed at ensuring that the system works accurately and efficiently before it can be operated on live data.

The logical design is thoroughly done and continuously examined. Inadequate testing may lead to error and may explode into a much larger problem in course of time if not treated properly. The main objective for system testing is described as follows: Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding undiscovered error. Validation Testing: After Integration Testing, the software is completely assembled as a
package, interfacing errors have been uncovered and corrected and then test of software is conducted i.e., Validation Test. Validation test succeeds when the software function is in a manner that can be reasonably expected by the client. Software validation is achieved through series of Black Box Testing, which confirms with the requirements.

Interface Testing: Interface testing is done after creating interfaces. This testing is done to ensure the interface which is working properly without any failure. This mainly checks areas such as user and application interaction points. Black Box Testing: Black box testing is conducted at the software interfaces. This test is
designed to uncover errors interfaces is also used to demonstrate that software functions as desired input is properly accepted, output are produced correctly and that the integrity of external information are maintained.

Black box testing attempts to find errors in the following categories: Incorrect or missing functions.
Dept of CSE, AMCEC 2012-2013 40

An Epidemic Protocol for Resource Management

Interface errors. Errors in Database Structure. Performance and Termination errors.

White Box Testing: In this type of testing the control flow and the condition testing inside the program decides the test data so that it will pass through all the statements. By passing the data to the system will definitely pick out as logical errors and condition errors. User Acceptance Testing: User acceptance testing in a system is the key factor for the success of any system. The system under consideration is tested for user acceptance by constantly keeping in touch with the prospective system users at time of developing and making changes wherever required.

7.3 Test Cases


The test cases are used to indicate the proper functioning of the project. It will give an overview of all the necessary steps carried out in testing the project. In administrator module administrator will login using user name and password. After logging in administrator has to set the cloud configuration details,add applications and deploy the applications on to the server.Now when the client accesses the applications present on the server,the client should get the service from the server.If the requested bandwidth exceeds the available bandwidth,the gateway server should redirect the request to another server which is free and the client doesnt know from which server the request is being served.Active connection list shows the number of active connections present on the server,monitoring server shows the details of servers.

Dept of CSE, AMCEC

2012-2013

41

An Epidemic Protocol for Resource Management


Table 7.1: The test case against which the system is tested

Test Case Id GSP_01

Test Input

Expected Result

Actual Result

Rem arks

In the admin Admin login Enter page navigated

should

be Admin is navigated Pass to to homepage which the cloud

valid homepage which has has

username and the password click on login button

cloud configuration button

configuration button

GSP_02

Enter invalid Error message The Error message The Pass username and username password the or username or you

in password you entered password

admin is incorrect must be entered is incorrect displayed is displayed

login page

GSP_03

Click cloud

on The cloud details list The cloud details Pass that includes cloud list no, cloud cloud that no, includes cloud

configuration

button in the name,url,bandwidth,c homepage onnections,status,edit

name,url,bandwidth, connections,status,e

and delete,add server dit and delete link is link must be shown shown

Dept of CSE, AMCEC

2012-2013

42

An Epidemic Protocol for Resource Management

GSP_04

Click on edit The changes must be The link cloud configuration in the edited

changes

is Pass

successfully edited successfully

with a confirmation with a confirmation message update message successful update

web table list successful make necessary changes for

the respective parameters

GSP_05

Click

on The selected cloud The selected cloud Pass

delete link in must be deleted from is deleted from the the cloud the cloud details list cloud that is the details list

configuration web table list

cloud that is the cloud web configuration table with web a

configuration table

confirmation message deleted

successfully

GSP_06

Click on link The newly created The newly created Pass add new server must be added server is added in the cloud the configuration cloud list

server in the in homepage enter all the details that

configuration list

with a confirmation message server

includes cloud no, cloud

added successfully

Dept of CSE, AMCEC

2012-2013

43

An Epidemic Protocol for Resource Management

name, bandwidth details

url

GSP_07

Click application

on The details

application The list that details

application Pass list that

button in the includes homepage

application includes application

name,description,depl name,description,de oyment name,add ployment name,add

application link must application link is be shown shown

GSP_08

Click on link The newly created The newly created Pass add applicationin the homepage Enter all the details includes application name,descript ion,deployme nt name Click on link that application must be application is added added in the in the application list

application list

GSP_09

edit application

The changes must be The edited a

changes

is Pass

successfully edited successfully message with a message

and make the with necessary changes


Dept of CSE, AMCEC

update successful for


2012-2013

update successful

44

An Epidemic Protocol for Resource Management

respective parameters

GSP_10

Click on link The delete application

selected The

selected Pass is in the

application must be application deleted in the deleted

application list

application list

GSP_11

Click deploy application

on The list that includes The select cloud,select includes

list

that Pass select

application,deploy

cloud,select

button in the application link must application,deploy homepage be shown application link is shown

GSP_12

Click active connections

on The list that includes The

list

that Pass

the active connection includes the active details must be connection is shown details

button in the shown homepage

GSP_13

Click monitoring

on The server details list The server details Pass that includes total list total bandwidth,available of bandwidth,total number of that includes

server button bandwidth,available in homepage the bandwidth,total number connections,current connections,idle

connections,current

connections must be connections,idle shown connections is

Dept of CSE, AMCEC

2012-2013

45

An Epidemic Protocol for Resource Management

shown

GSP_14

Click cloud

on The

redirection

to The redirection to Pass

different server must different server is be shown shown

configuration button when

the requested bandwidth exceeds available capacity GSP_15 Click on The password must The password change be changed changed password successfully successfully button and provide new password is Pass the

Dept of CSE, AMCEC

2012-2013

46

An Epidemic Protocol for Resource Management

CHAPTER 8

PERFORMANCE EVALUATION
Performance evaluation is required at every stage in the life cycle of a computer system, including its design, manufacturing, sales/purchase, use, upgrade, and so on. Performance evaluation of the current system helps in determining how well it is performing and whether any improvements need to be made. The goal of performance evaluation is to measure system usability and performance through mechanisms installed in the system. Fig 8.1 and 8.2 shows the fairness among sites and scalability with respect to number of sites and applications.

Fig 8.1: Fairness among sites

Dept of CSE, AMCEC

2012-2013

47

An Epidemic Protocol for Resource Management

Fig. 8.2: Scalability with respect to the number of machines and sites.

Dept of CSE, AMCEC

2012-2013

48

An Epidemic Protocol for Resource Management

CHAPTER 9

CONCLUSION AND FUTURE ENHANCEMENT


9.1 Conclusion
A significant contribution towards engineering a resource management middleware for cloud environments is made.A key component of such a middleware is identified and a protocol is presented to meet the design goals of resource management: fairness of resource allocation with respect to sites, efficient adaptation to load changes and scalability of the middleware layer in terms of both the number of machines in the cloud as well as the number of hosted sites/applications. An epidemic protocol P* is presented that computes, in a distributed and continuous fashion, provides a heuristic solution to the resource allocation problem for a dynamically changing resource demand.

9.2 Future Enhancement


Extend the middleware design to become robust to various types of failures.

Extend the middleware design to span several clusters and several datacenters.

Dept of CSE, AMCEC

2012-2013

49

An Epidemic Protocol for Resource Management

REFERENCES
[1] D. Carrera, M. Steinder, I. Whalley, J. Torres, and E. Ayguade, Utility based placement of dynamic web applications with fairness goals, in2008 IEEE Network Operations and Management Symposium. [2] F. Wuhib, M. Dam, R. Stadler, and A. Clem, Robust monitoring of network-wide aggregates through gossiping, IEEE Trans. Network and Service Management, vol. 6, no. 2, pp. 95109, June 2009. [ 3] J. Famaey, W. De Cock, T. Wauters, F. De Turck, B. Dhoedt, and P. Demeester, A latency-aware algorithm for dynamic service placement in large-scale overlays, in 2009 International Conference on Integrated Network Management. [4] F. Wuhib, M. Dam, and R. Stadler, A gossiping protocol for detecting global threshold crossings, IEEE Trans. Network and Service Manage- ment, vol. 7, no. 1, pp. 4257, Mar. 2010. [5] Y. Yazir, C. Matthews, R. Farahbod, S. Neville, A. Guitouni, S. Ganti, and Y. Coady, Dynamic resource allocation in computing clouds using distributed multiple criteria decision analysis, in 2010 IEEE International Conference on Cloud Computing.
[6]

Z. Gong, X. Gu, and J. Wilkes, PRESS: PRedictive Elastic ReSource Scaling for cloud systems, in 2010 International Conference on Network and Service Management. [7] R. Yanggratoke, F. Wuhib, and R. Stadler, Gossip-based resource allocation for green computing in large clouds, in 2011 International Conference on Network and Service Management.

Websites
[8] www.google.com. [9] www.wikipedia.com

Dept of CSE, AMCEC

2012-2013

50

An Epidemic Protocol for Resource Management

APPENDIX A

SNAPSHOTS

Fig A.1: Home Page

Fig A.2: Authentication

Dept of CSE, AMCEC

2012-2013

51

An Epidemic Protocol for Resource Management

Fig A.3: Wrong Pass

Fig A.4: Correct Pass

Dept of CSE, AMCEC

2012-2013

52

An Epidemic Protocol for Resource Management

Fig A.5: Server1 added successfully

Fig A.6: Add Server2

Dept of CSE, AMCEC

2012-2013

53

An Epidemic Protocol for Resource Management

Fig A.7: Server2 added successfully

Fig A.8: Delete Server

Dept of CSE, AMCEC

2012-2013

54

An Epidemic Protocol for Resource Management

Fig A.9: Update Server

Fig A.10: Application Home Page

Dept of CSE, AMCEC

2012-2013

55

An Epidemic Protocol for Resource Management

Fig A.11: Add Application1

Fig A.12: Application1 added successfully

Dept of CSE, AMCEC

2012-2013

56

An Epidemic Protocol for Resource Management

Fig A.13: Add Application2

Fig A.14: Application2 added successfully

Dept of CSE, AMCEC

2012-2013

57

An Epidemic Protocol for Resource Management

Fig A.15: Application Deployment Page

Fig A.16: Deploy New Application page

Dept of CSE, AMCEC

2012-2013

58

An Epidemic Protocol for Resource Management

Fig A.17: Deploy Application1 on server1

Fig A.18: Application1 deployed successfully on server1

Dept of CSE, AMCEC

2012-2013

59

An Epidemic Protocol for Resource Management

Fig A.19: Application2 deployed successfully on server 2

Fig A.20: Deployed Applications on Home page

Dept of CSE, AMCEC

2012-2013

60

An Epidemic Protocol for Resource Management

Fig A.21: Client accessing the application from Browser

Fig A.22: Accessed application

Dept of CSE, AMCEC

2012-2013

61

An Epidemic Protocol for Resource Management

Fig A.23: Application output

Fig A.24: Redirection

Dept of CSE, AMCEC

2012-2013

62

An Epidemic Protocol for Resource Management

Fig A.25: Redirection output

Fig A.26: Active Connections

Dept of CSE, AMCEC

2012-2013

63

An Epidemic Protocol for Resource Management

Fig A.27: Monitoring Server

Fig A.28: Password change

Dept of CSE, AMCEC

2012-2013

64

An Epidemic Protocol for Resource Management

Fig A.29: Password changed successfully

Dept of CSE, AMCEC

2012-2013

65

An Epidemic Protocol for Resource Management

APPENDIX B

PAPERS PRESENTED
SI. No
1

Conference Paper Title


Load Balancing Techniques in Grid Computing

Presented At
AMC College Engineering

An

Epidemic

Protocol

for

Cloud

Resource AMC College

Engineering

Management

Dept of CSE, AMCEC

2012-2013

66

An Epidemic Protocol for Resource Management

This paper was presented in National Conference held at AMC Engineering College, National Conference on Cloud Computing and Enterprise Networks.

Dept of CSE, AMCEC

2012-2013

67

An Epidemic Protocol for Resource Management

The project paper was presented in international Conference held at AMC Engineering College, International Conference on Advanced Computing and Information Technology.

Dept of CSE, AMCEC

2012-2013

68

You might also like