Final Document
Final Document
In Cloud Computing
A PROJECT REPORT
Submitted by
BACHELOR OF ENGINEERING
in
APRIL 2017
Predictive Allocation Of Resources
In Cloud Computing
A PROJECT REPORT
Submitted by
BACHELOR OF ENGINEERING
in
APRIL 2017
ANNA UNIVERSITY: CHENNAI 600025
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Dr.A.UMAMAGESWARI. M.Tech.Ph.D Mr.S.KINGSLEY ME.,
HEAD OF THE DEPARTMENT SUPERVISOR
ASSISTANT PROFESSOR
Palanchur, Palanchur,
Chennai-600123. Chennai-600123.
1 INTRODUCTION 1
1.1 Overall view
2 LITERATURE SURVEY 2
3 SYSTEM ANALYSIS 5
3.1 Existing System
3.1.1 Disadvantages of Existing System
3.2 Proposed System
3.2.1 Advantages of Proposed System
4 SYSTEM REQUIREMENT 8
4.1 Hardware Configuration
4.2 Software Configuration
5 SYSTEM DESIGN 9
5.1 Architecture Diagram
5.2 System Description
6 System Study 12
7.1 Modules
7.2 Module Description
7.2.1 Client Registration
7.2.2 Client Login
7.2.3 Cloud
7.2.4 Graph
8 CONCLUSION AND 16
FUTURE ENHANCEMENT
APPENDICES 17
APPENDIX A
SOURCE CODING
APPENDIX B
SCREENSHOTS
REFERENCES 36
LIST OF FIGURES
8a Client Registration 31
8b Client Login 32
8c Resource Allocation 33
8d Cloud 34
8e Admin Screen 35
LIST OF ABBREVATION
SA - Simulated annealing
GM - Green Manufacturing
SD - Sustainable Development
GA - Genetic Algorithm
CHAPTER 1
INTRODUCTION
1
CHAPTER 2
LITERATURE SURVEY
Demerits: Only problems faced by deadline and budget is solved partially. QOS is
said to be provided on certain circumstances
Demerits: The RMA algorithm which is said to be used in this paper is providing
resources for a short time only with high benefits.
2
3. A. Y. Zomayaand Y. H. Teh,“Observations on Using Genetic Algorithms
for Dynamic Load-Balancing,”IEEE Trans. Parallel and Distributed
Systems,vol.12, no. 9, pp.899-911, Sep 2001.
3
5. L. Ramachandran, N. C. Narendra, K. Ponnalagu, “Dynamic Provisioning
in Multi-Tenant ServiceClouds,”Service Oriented Computing and
Applications, vol. 6, no. 4, pp.283-302, Dec 2012.
4
CHAPTER 3
SYSTEM ANALYSIS
5
3.1.1 DISADVANTAGES OF EXISTING SYSTEM
The RBFNN model is compared with a grey exponent static model and
simulation results show that it has attached a good learning capability.
6
Numerical experiments have also been conducted to compare the
performances of the proposed KGA and PSO. Testing results in a case study have
demonstrated the good performances of KGA in terms of both convergence and
running time for solving collaborative simulation problem.
7
CHAPTER 4
SYSTEM REQUIREMENT
8
CHAPTER 5
SYSTEM DESIGN
UI SLA
User
1 layer layer
Multi view
menu
Middle ware
layer SLA
Multiview
function Resource Performan
dispencer ce monitor
Dynamic
migration
9
As the development of complex products involves the collaboration of
different people from different domains in completing a series of tasks. An
effective and efficient mechanism is necessary to analyse the tasks and then
identify and match resource requirements in terms of their quantities and qualities.
Most of the analysis work is now done based on the experience obtained in
previous projects. By reusing this kind of implicit knowledge, a Radial Basis
Function Neural Network (RFBNN) is established to estimate the resources
required by each tenant. In a cloud computing environment, the qualified services
are usually numerous and dynamic, which makes it a challenging task to allocate
resources.
The total cost is a widely-used criterion to measure the performance of
allocation schemes. As Green Manufacturing (GM) and Sustainable Development
(SD) are playing even more important roles in the business and industry of the 21st
century , the energy consumption of a cloud center has to be taken into
consideration as well.
Therefore, load balance is considered as one of the optimization indexes
during the resource allocating process. As some problems such as services security
need to be addressed urgently, the priority of each tenant also becomes important to
the resource allocating process, and as such a priority-based satisfaction index is
proposed to ensure the tenants’ highest satisfaction. Thus, the performance of
resource allocation in cloud computing is evaluated using a Multi-Objective
Optimization (MOO) problem with three indexes in this research. Compared with
the single objective optimization (SOO) problems, the MOO problems are
characterized by incommensurability and contradiction between different
objectives.
Specifically, incommensurability refers to the fact that there is no uniform
measure for various objectives while contradiction means performance of one
objective is improved at the cost of making others worse. A common method for
analyzing such a problem is to transform a MOO problem into a SOO problem
using the method of weighting aggregation.
However, the optimization result is largely determined by the weights of
different factors and determination of these weights is very difficult without
comprehensive knowledge of the problem. Researchers have made significant
progress in overcoming this difficulty by finding out all the no dominated solutions
which are called the set of Pareto front solutions. As the solution space of resource
scheduling in cloud computing is too huge to explore for the conventional
operational research (OR) algorithms, some artificial intelligence methods have
been proposed in recent years, such as the Genetic Algorithm (GA), the Particle
Swarm Optimization (PSO), the Simulated Annealing (SA), the Ant Colony
Optimization (ACO) and so on.
10
Owing to the simplicity of operation and the power of effect of the GA
approach, it has been widely applied to timetabling and scheduling problems.
Nevertheless, genetic algorithms have some inherent limitations. For
example, they have a tendency to converge towards local optima and an
exponential increase of search space and time will be incurred when they are
applied to large-scale problems. To overcome these limitations for solving the
problem of cloud computing resources scheduling effectively and efficiently, the
K-means based GA (KGA) has been proposed by taking advantages of the
traditional GAs and local search. The main contributions of this paper include:
1. A radial basis function neural networks is established as a knowledge model
for estimating the required resources of each tenant.
2. A novel resource scheduling model is formulated for a highly
heterogeneous cloud environment by considering the tenant priority, load
balance and energy consumption criteria.
3. An improved KGA algorithm is developed based on the elitist strategy and
the k-means approach and its effectiveness and feasibility is demonstrated
in a resource scheduling case study.
4. To allocate resources effectively in a highly heterogeneous cloud
environment, a multi-objective optimization model is established by
considering the tenant priority, load balance and energy consumption
criteria.
11
CHAPTER 6
SYSTEM STUDY
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. This allows companies to carefully manage their money
to insure the most profitable projects are undertaken. Economic feasibility also
helps companies determine whether or not revisions to a project that at first seems
unfeasible will make it feasible.
The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the
developed system as well within the budget and this was achieved because most of
12
the technologies used are freely available. Only the customized products had to be
purchased.
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on the
available technical resources.
All the resources are available for the client and they can access them easily.
So that the technical feasibility can be achieved easily,and the can get the best
performance for the services that are needed by them.
This will lead to high demands being placed on the client. The developed
system must have a modest requirement, as only minimal or null changes are
required for implementing this system.
The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system efficiently. The
user must not feel threatened by the system, instead must accept it as a necessity.
It involves taking a judgment call on whether a project is doable. The two
criteria to judge feasibility are cost required and value to be delivered.
A well-designed study should offer a historical background of the
business or project, a description of the product or service, accounting
statements, details of operations and management, marketing research and
policies, financial data, legal requirements and tax obligations.
Generally, such studies precede technical development
and project implementation. The level of acceptance by the users solely depends
on the methods that are employed to educate the user about the system and to make
him familiar with it.
His level of confidence must be raised so that he is also able to make some
constructive criticism, which is welcomed, as he is the final user of the system.
13
CHAPTER 7
PROJECT DESCRIPTION
7.1 MODULES:
Client Registration
Client Login
Resource Allocation
Cloud
graph generation
A login generally requires the user to enter two pieces of information, first
a user name and then a password. This information is entered into
14
a login window on a GUI(graphical user interface) or on the command line in
a console (i.e., an all-text mode screen), depending on the system and situation.
Client can request resource to cloud. The resource may be software, os, etc.
7.2.3 Cloud:
The cloud stores the client’s files and provides download service for the
client.(Fig no:8d) Cloud storage is universally viewed as one of the most important
services of cloud computing. Although cloud storage provides great benefit to
users, it brings new security challenging problems. One important security problem
is how to efficiently check the integrity of the data stored in cloud.
The cloud can allocate and deallocate the resouces required by users.
7.2.4 GRAPH:
we generated 3 types of graphs for optimization.
i) User based:
The user based graph is based on the number of users connected to the
cloud network and the total number of services that are provided to them.
In memory based graph the total amount of memory that are needed
and the amount of memory that are allocated for the users are shown.
It gives the details about the number of services provided and the
number of services allocated to the users connected to the particular cloud
network.
16
APPENDIX A
Source Code:
return false;
}
else if ((form.un.value.length < 5))
{
alert( "UserName Must be in More than 5 Characters" );
form.un.focus();
return false;
}
else if((form.ps.value== ""))
{
alert( "Please enter your Password " );
form.ps.focus();
return false ;
}
else
{
CLIENT LOGIN:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<jsp:include page="includes/header.jsp" />
<script language="JavaScript" type="text/javascript">
<!--
function cf( form )
{
18
if ((form.un.value == ""))
{
alert( "Please enter your UserName " );
form.un.focus();
return false;
}
else if ((form.un.value.length < 5))
{
alert( "UserName Must be in More than 5 Characters" );
form.un.focus();
return false;
}
else if((form.ps.value== ""))
{
alert( "Please enter your Password " );
form.ps.focus();
return false ;
}
else
{
19
<form action="clogin" name="form1" method="post" onsubmit="return cf(this)
">
<table cellpadding=15 cellspacing=15>
<tr><td>User Name:</td><td><input class="form-control" type="text"
name="un"></td></tr>
<tr><td>Password:</td><td><input class="form-control" type="password"
name="ps"></td></tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr><td></td><td><input class="btn btn-primary" type="submit" value="Login">
<input type="reset" class="btn btn-default" value="ClearFields">
<input type="hidden" name="err1" value="<
%=request.getParameter("error")%>"/>
</td></tr>
</table>
</form>
</div>
<jsp:include page="includes/footer.jsp" />
REGISTRATON:
return false;
}
20
if (form.eid.value == "")
{
alert( "Please enter your Email Address" );
form.eid.focus();
return false ;
}
else
{
/* var emailID = form.emailid.value;
atpos = emailID.indexOf("@");
dotpos = emailID.lastIndexOf(".");
if (reg.test(form.eid.value) == false)
{
alert('Invalid Email Address');
return false;
}
}
if ((form.un.value == ""))
{
alert( "Please enter your UserName " );
form.un.focus();
return false;
}
else if ((form.un.value.length < 5))
{
alert( "UserName Must be in More than 5 Characters" );
form.un.focus();
return false;
21
}
else if((form.ps.value== ""))
{
alert( "Please enter your Password " );
form.ps.focus();
return false ;
}
else
{
else
{
if ((form.ps.value!=form.rps.value))
{
alert( "Password & Re-Password Doesnot Match" );
form.ps.focus();
form.rps.focus();
return false ;
}
else
{var e = document.getElementById("dd");
var e1=document.getElementById("mm");
var e2=document.getElementById("yy");
var strUser = e.options[e.selectedIndex].value;
var strUser1 = e1.options[e1.selectedIndex].value;
var strUser2 = e2.options[e2.selectedIndex].value;
if(strUser==0)
22
{
alert("Please select a Day");
return false;
}
else if(strUser1==0)
{
alert("Please select Month");
return false;
}
else if(strUser2==0)
{
alert("Please select Year");
return false;
}
}
}
}
if (form.mno.value == "")
{
alert( "Please enter your Mobile Number" );
form.mno.focus();
return false ;
}else
{
var phoneno = /^\d{10}$/;
if((form.mno.value.match(phoneno)))
{
return true;
}
else
{
if(isNaN(form.mno.value))
{
alert("Enter the valid Mobile Number(Like : 9566137117)");
form.mno.focus();
return false;
}
23
else
{
alert( "Mobile Number Must be in 10 Digits" );
form.mno.focus();
return false ;
}
}
}
return true ;
}
</script>
<div class="userInput register">
<h2>Client Registration</h2>
<form action="cregs" method="post" onsubmit="return cf(this) ">
<table>
<tr>
<td>Name:</td>
<td colspan="2"><input class="form-control" type="text"
name="nm"></td>
</tr>
<tr>
<td>Select gender:</td>
<td colspan="2"><input type="radio" name="gender" value="Male"
checked> Male
<input type="radio" name="gender"value="Female"> Female</td>
</tr>
<tr><td>Email_Id:</td><td colspan="2"><input class="form-control" type="text"
name="eid"></td></tr>
<tr><td>UserName:</td><td colspan="2"><input class="form-control"
type="text" name="un"></td></tr>
<tr><td>Password:</td><td colspan="2"><input class="form-control"
type="password" name="ps"></td></tr>
<tr><td>Re_password:</td><td colspan="2"><input class="form-control"
type="password" name="rps"></td></tr>
<tr>
<td colspan="3">DOB:</td>
</tr>
<tr>
24
<td></td>
<td>
<select class="form-control" id=mm name="month"
onchange="return wait_for_load(this, event, function()
{ editor_date_month_change(this, 'birthday_day','birthday_year');
});">
<option value="0">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</td><td>
<select class="form-control" name="day" id=dd>
<option value="0">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</td><td style="width: 110px;">
<select class="form-control" name="year" id=yy>
<option value="0">Year</option>
<option value="2015">2015</option>
25
<option value="2014">2014</option>
26
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
</select></td></tr>
<tr><td>Mobile Number:</td><td colspan="2"><input class="form-control"
type="text" name="mno"></td></tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr><td style="width: 150px;"></td><td><input class="btn btn-primary"
type="submit" value="Register"></td><td><input class="btn btn-default"
type="reset" value="Clear Fields"></td></tr>
</table>
</form>
</div>
<jsp:include page="includes/footer.jsp" />
AVAILABLE RESOURCES:
<th>CLOUD NAME</th>
<th>RESOURCE ID</th>
<th>SOFTWARE</th>
<th>MEMORY</th>
<th>STORAGE</th>
<th>AVAILABLE</th>
<th>REQUEST</th>
</tr>
<%Connection con = DAOFactory.getConnection();
String un=(String)session.getAttribute("un");
PreparedStatement ps = con.prepareStatement("select
a.rid,a.software,a.Memory,a.Storage,a.available,b.cname from resource_available a
inner join cloud_master b where a.cid=b.cid");
ResultSet rs = ps.executeQuery();
int rid=0;
String cname="";
String sname="";
int ram=0,mem=0,avail=0;
%>
<%while(rs.next()) {
cname=rs.getString("cname");
rid=rs.getInt("rid");
sname=rs.getString("software");
ram=rs.getInt("Memory");
mem=rs.getInt("Storage");
avail=rs.getInt("available");
%>
<tr>
<td ><%=cname%><input type="hidden" value=<%=cname %>
name="cname"/></td>
<td ><%=rid%><input type="hidden" value=<%=rid %> name="rid"/></td>
28
<td ><%=sname%><input type="hidden" value=<%=sname %>
name="sname"/></td>
<td ><%=ram+"MB"%><input type="hidden" value=<%=ram%>
name="ram"/></td>
<td ><%=mem+"MB"%><input type="hidden" value=<%=mem%>
name="mem"/></td>
<td ><%=avail%><input type="hidden" value=<%=avail %>
name="avail"/></td>
<td><a href="Reqtext.jsp?rid=<%=rid%>&cname=<%=cname%>&sname=<
%=sname%> &ram=<%=ram%>&mem=<%=mem%>">Request Resource
Here</a></td>
</tr>
<%} %>
</table>
</div>
<jsp:include page="includes/footer.jsp" />
UNALLOCATED RESOURCES:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="com.eyeopen.dao.DAOFactory"%>
<%@page import="java.sql.Connection"%>
<jsp:include page="includes/header.jsp" />
<jsp:include page="includes/sidemenu.jsp" />
<div class="col-md-9">
<th>CLOUD NAME</th>
<th>RESOURCE ID</th>
<th>SOFTWARE</th>
<th>MEMORY</th>
<th>STORAGE</th>
<th>REMARKS</th>
</tr>
<%Connection con = DAOFactory.getConnection();
29
String un=(String)session.getAttribute("un");
PreparedStatement ps = con.prepareStatement("select
a.rid,a.software,a.Memory,a.Storage,b.nop,b.cloud,b.remarks from
resource_available a inner join resource_allocated b where a.software=b.resource
and sts=0 and b.uname=?");
ps.setString(1,un);
ResultSet rs = ps.executeQuery();
int rid=0;
String cname="";
String sname="",rem="";
int ram=0,mem=0,avail=0;
%>
<%while(rs.next()) {
cname=rs.getString("cloud");
rid=rs.getInt("rid");
sname=rs.getString("software");
ram=rs.getInt("Memory");
mem=rs.getInt("Storage");
rem=rs.getString("remarks");
%>
<tr>
<td ><%=cname%><input type="hidden" value=<%=cname %>
name="cname"/></td>
<td ><%=rid%><input type="hidden" value=<%=rid %> name="rid"/></td>
<td ><%=sname%><input type="hidden" value=<%=sname %>
name="sname"/></td>
<td ><%=ram+"MB"%><input type="hidden" value=<%=ram%>
name="ram"/></td>
<td ><%=mem+"MB"%><input type="hidden" value=<%=mem%>
name="mem"/></td>
<td ><%=rem%><input type="hidden" value=<%=rem %>
name="rem"/></td>
</tr>
<%} %>
</table>
</div>
Client Registration:
Fig no:8a
31
User Login:
Fig no:8b
32
Resource
Allocation:
Fig no:8c
33
Cloud:
Fig no:8d
34
Admin Login:
Fig no:8e
35
REFERENCES:
36
[12] F. Tao, Y. Feng, L. Zhang L, and T. W. Liao. “CLPS-GA: A Case Library and
Pareto Solution-Based Hybrid Genetic Algorithm for Energy-Aware Cloud Service
Scheduling,”Applied Soft Computing, vol. 19, pp.264-279, Jun 2014.
[13] J. Yu, R. Buyya, and K. Ramamohanarao. “Workflow Scheduling Algorithms
for Grid Computing,” Metaheuristics for schedul-ing in distributed computing
environments. Springer Berlin Hei-delberg, pp. 173-214, 2008.
[14] A. Y. Zomayaand Y. H. Teh,“Observations on Using Genetic Algorithms for
Dynamic Load-Balancing,”IEEE Trans. Parallel and Distributed Systems,vol.12,
no. 9, pp.899-911, Sep 2001.
[15] K. M. Sim,“Agent-Based Cloud Computing,”IEEE Trans. Services
Computing, vol. 5, no. 4, pp.564-577, Nov 2012.
[16] F. Tao, C. Li, and T. Liao, “BGM-BLA: A New Algorithm for Dynamic
Migration of Virtual Machines in Cloud Computing,”IEEE Trans. Services
Computing, Mar 2015, doi: 10.1109/TSC.2015.2416928.
[17] P. C. Churchand A. M. Goscinski,“A Survey of Cloud-Based Service
Computing Solutions for Mammalian Genomics,” IEEE Trans. Services
Computing, vol. 7, no. 4, pp. 726-740, Dec 2014, doi: 10.1109/TSC.2014.2353645.
[18] J. Yang, J. Qiu, and Y. Li, “A Profile-Based Approach to Just-In-Time
Scalability for Cloud Applications,” inProc. IEEE In-ternational Conference
onCloud Computing(CLOUD), Bangalore, pp. 9-16, Sept 2009.
[19] H. Wang, A. L. Johnson, and R. H. Bracewell, “The Retrieval of Structured
Design Rationale for the Re-Use of Design Knowledge with an Integrated
Representation,”Advanced En-gineering Informatics, vol. 26, no. 2, pp. 251-266,
Apri2012.
[20] F. Behloul, BPF. Lelieveldt, and A. Boudraa, “Optimal Design of Radial Basis
Function Neural Networks for Fuzzy-Rule Ex-traction in High Dimensional Data,”
Pattern Recognition,vol. 35, no. 3, pp. 659-675, Mar 2002.
[21] L. Zhang, Y. Luo, F. Tao,et al,“Cloud Manufacturing: A New Manufacturing
Paradigm,”Enterprise Information Systems, vol. 8, no. 2, pp.167-187, 2014.
[22] X. Lin, Y. Wang, and Q. Xie, “Task Scheduling with Dynamic Voltage and
Frequency Scaling for Energy Minimization in The Mobile Cloud Computing
Environment,”IEEE Trans. Ser-vices Computing, vol. 8, no. 2, pp.175-186, Apri
2015, doi: 10.1109/TSC.2014.2381227.
[23] J. M. Alcarazand A. J. Gutierrez, “Mon-Paas: AnAdaptive Monitoring
Platformas aService for Cloud Computing Infra-structures and Services,”IEEE
Trans. Services Computing, vol. 8, no. 1, pp. 65-78, Feb 2015, doi:
10.1109/TSC.2014.2302810.
[24] S. Chaisiri, B. S. Lee, and D. Niyato,“Optimization of Re-Source Provisioning
Cost in Cloud Computing,”IEEE Trans. Services Computing, vol. 5, no. 2, pp.
37
164-
38
39