1.1 Working of Cloud Computing
1.1 Working of Cloud Computing
INTRODUCTION
Cloud computing is the use of computing resources (hardware and software) that are
delivered as a service over a network (typically the Internet). The name comes from the
common use of a cloud-shaped symbol as an abstraction for the complex infrastructure it
contains in system diagrams. Cloud computing entrusts remote services with a user's data,
software and computation. Cloud computing consists of hardware and software resources made
available on the Internet as managed third-party services. These services typically provide
access to advanced software applications and high-end networks of server computers.
1. Reduce capital costs: There’s no need to spend big money on hardware, software or
licensing fees.
2. Improve accessibility: You have access anytime, anywhere, making your life so much
easier.
3. Monitor projects more effectively: Stay within budget and ahead of completion cycle
times.
4. Less personnel training is needed: It takes fewer people to do more work on a cloud,
with a minimal learning curve on hardware and software issues.
5. Minimize licensing new software: Stretch and grow without the need to buy expensive
software licenses or programs.
6. Improve flexibility: You can change direction without serious “people” or “financial”
issues at stake.
1.5 Advantages
1. Price: Pay for only the resources used.
2. Security: Cloud instances are isolated in the network from other instances for improved
security.
3. Performance: Instances can be added instantly for improved performance. Clients
have access to the total resources of the Cloud’s core hardware.
4. Scalability: Auto-deploy cloud instances when needed.
5. Uptime: Uses multiple servers for maximum redundancies. In case of server failure,
instances can be automatically created on another server.
6. Control: Able to login from any location. Server snapshot and a software library lets
you deploy custom instances.
7. Traffic: Deals with spike in traffic with quick deployment of additional instances to
handle the load.
2. SYSTEM ANALYSIS
2.1 Existing System
The off-site data storage cloud utility requires users to move data in cloud’s virtualized
and shared environment that may result in various security concerns. Pooling and elasticity of
a cloud, allows the physical resources to be shared among many users. The data outsourced to
a public cloud must be secured. Unauthorized data access by other users and processes (whether
accidental or deliberate) must be prevented As discussed above, any weak entity can put the
whole cloud at risk. In such a scenario, the security mechanism must substantially increase an
attacker’s effort to retrieve a reasonable amount of data even after a successful intrusion in the
cloud.
The aim of is Division and Replication of Data in the Cloud for Optimal Performance
and Security (DROPS) that collectively approaches the security and performance
issues.
The scope of this paper is the DROPS methodology; we divide a file into fragments,
and replicate the fragmented data over the cloud nodes. Each of the nodes stores only a
single fragment of a particular data file that ensures that even in case of a successful
attack, no meaningful information is revealed to the attacker.
2.4 Advantages of Proposed System
The implications of TCP in cast over the DROPS methodology need to be studied that
is relevant to distributed data storage and access.
To improve data retrieval time, the nodes are selected based on the centrality measures
that ensure an improved access time.
3. SYSTEM REQUIREMENTS
3.1 Hardware Requirements
• Processor : Pentium IV 2.4 GHz
• Hard Disk : 40 GB
• Monitor : 15 VGA Colour
• Mouse : Logitech
• Ram : 512 Mb
3.2 Software Requirements
• Operating system : - Windows XP/7/8/10.
• Coding Language : JAVA 1.8 /J2EE
• Data Base : MYSQL
• Web Server : Apache Tomcat
• Other Tools : Edit plus and SQLYog607.
• Front End : HTML,CSS,JAVASCRIPT and JSP
• Backend : JDBC
• IDE/Tool : Netbeans 8.2
3.3 Functional Requirements
A. Data Owner
There are mainly different types of data that are stored on cloud. The data which is created
by user before uploading the file into cloud. The owner has their own services like register,
login, file upload, view file, select cloud, and Update file. Delete File and logout.
B. User
User will be any person who will use cloud. The users have their own services which are
provided by data owner like register, login, view file, select cloud, download file and logout
C. Fragmentation
The security of a large-scale system, such as cloud depends on the security of the system
as a whole and the security of individual nodes. A successful intrusion into a single node may
have severe consequences, not only for data and applications on the victim node, but also for
the other nodes. The data on the victim node may be revealed fully because of the presence of
the whole file. A successful intrusion may be a result of some software or administrative
vulnerability. The file owner specifies the fragmentation threshold of the data file is specified
to be generated by. The file owner can specify the fragmentation threshold in terms of either
percentage or the number and size of different fragments.
3.4 Fragment Placement
To provide the security while placing the fragments, the concept of T-coloring is used that
was originally used for the channel assignment problem. This generates a non-negative random
number and builds the set T starting from zero to the generated random number. The set T is
used to restrict the node selection to those nodes that are at hop-distances not belonging to T.
For this purpose, it assigns colors to the nodes, such that, initially, all of the nodes are given
the open color. When a fragment is placed on the node, all of the nodes neighborhood nodes at
a distance belonging to T are assigned close color.
A. Replication
To increase the data availability, reliability, and improve data retrieval time, it also
performs a controlled replication. It places the fragment on the node that provides the decreased
access cost with an objective to improve retrieval time for accessing the fragments for
reconstruction of original file. While replicating the fragment, the separation of fragments in
the placement technique through T-coloring, is also taken care of. In case of a large number of
fragments or small number of nodes, it is also possible that some of the fragments are left
without being replicated because of the T-coloring. T-coloring prohibits storing the fragment
in neighborhood of anode storing a fragment, resulting in the elimination of a number of nodes
to be used for storage. In such a case, only for the remaining fragments, the nodes that are not
holding any fragment are selected for storage randomly.
B. T-Coloring
Suppose we have a graph G = (V;E) and a set T containing non-negative integers
including 0. The T coloring is a mapping function f from the vertices of V to the set of non-
negative integers, such that Sf(x)f(y)S ¶ T, where (x; y) > E. The mapping function f assigns a
color to a vertex. In simple words, the distance between the colors of the adjacent vertices must
not belong to T. Formulated by Hale, the T-coloring problem for channel assignment assigns
channels to the nodes, such that the channels are separated by a distance to avoid interference.
4. FEASIBILITY STUDY
The feasibility of the project is analyzing in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system
Is to be carried out. This is to ensure that the proposed system is not a burden to the company.
For feasibility analysis some understanding of the major requirements for the system is
essential.
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
OPERATIONAL FESIBILITY
5. SYSTEM DESIGN
5.1 System Architecture
UML stands for Unified Modeling Language. UML is a standardized general-purpose
modeling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.
Call Message
A message defines a particular communication between Lifelines of an Interaction.
Call message is a kind of message that represents an invocation of operation of
target lifeline.
Return Message
A message defines a particular communication between Lifelines of an Interaction.
Return message is a kind of message that represents the pass of information back to
the caller of a corresponded former message.
Self Message
A message defines a particular communication between Lifelines of an Interaction.
Self message is a kind of message that represents the invocation of message of the
same lifeline.
Note
A note (comment) gives the ability to attach various remarks to elements. A
comment carries no semantic force, but may contain information that is useful to a modeler.
5.4.4 Collaboration Diagram
A collaboration diagram, also called a communication diagram or interaction diagram,
is an illustration of the relationships and interactions among software objects in the Unified
Modeling Language (UML). The concept is more than a decade old although it has been refined
as modeling paradigms have evolved.
UML collaboration diagram symbols
Pre-drawn UML collaboration diagram symbols represent object, multi-object,
association role, delegation, link to self, constraint and note. These symbols help create
accurate diagrams and documentation.
Objects
Multi-object
represents a set of lifeline instances.
Association role
Association role is optional and suppressible.
Delegation
Delegation is like inheritance done manually through object composition.
Link to self
Link to self is used to link the bjects that fulfill more than one role.
Constraint
Constraint is an extension mechanism that enables you to refine the semantics of a
UML model element.
Cloud
TPA
Data 16: Forward file alerts
owner
13: Forward update alert
19: Login
22: File decryption
29: Logout
Action Flow
Action flow also called edges and paths ,illusta=ratevthe transitions from on action
state to another.they are usually drawn with an arrowed lines.
Object Flow
Object flow refers to the creation and modification of objects by activities.an object
flow arrow from an action to an object means that the action creates or influences the
object.an object flow arrow from an object to an action indicates that he action state uses the
object.
Decisions and Branching
A diamond represents a decision with alternate paths.when an activity requires a
decision prior tomoving an to the next activity ,add a diamond between the two activities the
outgoing alternates should be labeled with a condition or guard expression.you can also label
one of the paths “else”.
Synchronization
A fork node is used to split a single incoming flow into multiple concurrent flows.it is
represented as a atraight,slightly thicker line in an activity diagram .a join s multiple
concurrent flows back into an single outgoing flow.a fork and join mode used together are
often referred to as synchronization.
5.4.5 Component Diagram
File
data owner Fragmentation
File
Replication
cloud
tpa File Request
data user & Download
T-Coloring
Algorithm Fragment
placement
Component Notation
A component in UML is shown in the following figure with a name inside. Additional
elements can be added wherever required.
CLOUD COMPONENT
5.4.5 Deployment Diagram
Deployment diagrams are used to visualize the topology of the physical components of
a system, where the software components are deployed.
File Upload
Data Owner
File
Replication
Log in
Register User
Data User
File
Fragmentation
Cloud
File Request
& Download
Fragment
T-Colouring Placement
Node Notation
A node in UML is represented by a square box as shown in the following figure with
a name. A node represents the physical component of the system.
Log in
File upload File fragmentation File replcation View files & File alerts File request & Download T-Colouring Fragment placement
Logout
6. SYSTEM CODING AND IMPLEMENTATION
6.1 Sample Code
Userlogin.jsp
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Multi Cloud</title>
<script type="text/javascript">
function valid()
{
var a=document.s.uid.value;
if(a=="")
{
alert("Enter User ID");
document.s.uid.focus();
return false;
}
var b=document.s.pass.value;
if(b=="")
{
alert("Enter Password");
document.s.pass.focus();
return false;
}}
</script>
<meta name="keywords" content="" />
</head>
<body>
<div id="upbg"></div>
<div id="outer">
<div id="header">
<div id="headercontent" style="top: 12px; height: 46px; left: 10px; width: 959px;">
<h2 align="center"><FONT><FONT><FONT><FONT size="4" color="orange"><img
src="images/Cool276907228248920.png"></FONT></FONT></FONT></FONT></h2>
</div>
</div>
<div id="menu">
<ul style="top: 15px;">
<!--<li><a href="index.html" >Back</a></li>-->
<li><a href="#" class="active">User</a></li>
<li><a href="index.html" >Back</a></li>
<!-- <li><a href="#">Tpa</a></li>
<li><a href="#">Admin</a></li>
<li><a href="#">Contact</a></li>-->
</ul>
</div>
<div id="menubottom"></div>
<div id="content">
<p> <strong><FONT face="Verdana, Arial, Helvetica, sans-serif" size="+1"
color="#990000" style="text-decoration: underline;">User
Login</FONT></strong> <br/></p>
<div id="primarycontainer">
<div id="primarycontent">
<div class="box">
<form name="s" action="user_log1.jsp" method="get" onsubmit="return valid()">
<table align="center" cellpadding="20" cellspacing="20" width="500"><tr>
<td><font face="Courier New" size="+1"><strong><img
src="images/login1.png"> User
ID</strong></font></td>
<td> <input type="text" name="uid"
class="b"></td></tr>
<td><font face="Courier New" size="+1"><strong><img
src="images/login.png"> Password</strong></font></td>
<td> <input type="password" name="pass"
class="b"></td></tr>
<tr> <td><font face="Courier New" size="+1"><strong><img
src="images/login.png"> User
Type</strong></font></td><td> <select name="utype”>
<option value="--">-----Choose Type-----</option>
<option value="Owner">Data Owner</option>
<option value="User">Data User</option></select></td></tr>
<tr> <td></td>
<td><input type="submit" name="s" value="submit" class="b1" > <input
type="reset" name="r" value="clear" class="b1"></td></tr>
<tr> <td colspan="2" align="center"><font size="2"><b>
message=request.getParameter("message");
if(message!=null && message.equals)
{ out.println("<font color='red'><blink>Your username and password is incorrect
!</blink></font>"); }%>
</b></font></td> </tr> </table> </form> </div> </div> </div>
<div id="secondarycontent">
<div class="post"><img src="images/cloud_user1.jpeg"> </div></div>
</div> <div id="footer"> <strong><font color="#990033" face="Geneva, Arial,
Helvetica, sans-serif"><br /></font></strong></div></div>
</body>
</html>
Fileupload:
<%@ page import="java.sql.*" import="databaseconnection.*"%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Multi Cloud</title>
<script type="text/javascript">
function valid()
{
var a=document.s.fn.value;
if(a==""){
alert("Enter File Name");
document.s.fn.focus();
return false; }
var b=document.s.file.value;
if(b==""){
alert("Browse a File");
document.s.file.focus();
return false; }
if(document.s.server.selectedIndex==0) {
alert("Select a Cloud Server");
document.s.server.focus();
return false; }}
</script>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" type="text/css" href="default.css" />
</head>
<body>
<%
String name=(String)session.getAttribute("name");
%>
<div id="upbg"></div>
<div id="outer">
<div id="header">
<div id="headercontent" style="top: 12px; height: 46px; left: 10px; width: 959px;">
<h2 align="center"><FONT><FONT><FONT><FONT size="4" color="orange"><img
src="images/Cool276907228248920.png"></FONT></FONT></FONT></FONT></h2></di
v></div>
<div id="menu">
<ul> <li><a href="user_home.jsp">User Home</a></li>
<li><a href="file_upload.jsp" class="active">File Upload</a></li>
<li><a href="file_update.jsp" >File Update</a></li>
<li><a href="index.html">Logout</a></li>
<!-- <li><a href="signup.jsp" >Sign up</a></li>
<li><a href="#">Tpa</a></li>
<li><a href="#">Admin</a></li>
<li><a href="#">Contact</a></li>--></ul> <br />
<font
color="#FFFFFF"><strong><em>Welcome:</em></strong></font> &n
bsp;<font color="#99FFFF" size="+2" face="Courier
New"><strong><em><%=name%></em></strong></font> </div>
<div id="menubottom"></div>
<div id="content">
<p><img src="images/upload.png" width="40" height="40">
<strong><em><font color="#990000" size="+1" face="Verdana, Arial, Helvetica, sans-serif"
style="text-decoration:underline">File
Upload</font></em></strong> <br/><br/> </p>
<div id="primarycontainer">
<div id="primarycontent">
<div class="box">
<form name="s" action="file_upload1.jsp" method="get" onsubmit="return valid()">
<table align="center" cellpadding="20" cellspacing="20" width="500"><tr>
<td colspan="2" align="center"><font size="2"><b>
<% String
message=request.getParameter("message");
if(message!=null && message.equalsIgnoreCase("success"))
{
out.println("<font color='blue'>File Successfully Uploaded !</font>");
}
String message1=request.getParameter("msg");
if(message1!=null && message1.equalsIgnoreCase("success"))
{
out.println("<font color='red'>File is Already Existed!</font>");
}
%>
</b></font></td></tr>
<tr> <td><font face="Footlight MT Light" size="+1"><strong> User
Name</strong></font></td>
<td> <em><strong><font color="#336633"
size="+1"><%=name%></font></strong></em></td></tr> <tr> <td><font
face="Footlight MT Light" size="+1"><strong> File
Name</strong></font></td>
<td> <input type="text" name="fn"
class="b"></td></tr>
<tr> <td><font face="Footlight MT Light" size="+1"><strong> Upload
File</strong></font></td>
<td> <input type="file" name="file"
class="b"></td></tr>
<tr> <td><font face="Footlight MT Light" size="+1"><strong> File
Key</strong></font></td>
<td> <input type="text" name="fkey" class="b"
value="<%=(int)(Math.random()*10000)%>"></td></tr>
<tr> <td></td>
<td><input type="submit" name="s" value="submit" class="b1" <input
type="reset" name="r" value="clear" class="b1"></td></tr> </table> </form>
</div>
</div>
</div>
<div id="secondarycontent">
<div class="post"><img src="images/up-down2.jpeg"> </div></div></div>
<div id="footer">
<div class="left"><strong><font color="#990033" face="Geneva, Arial, Helvetica, sans-
serif"><br /></font></strong></div></div></div>
</body>
</html>
Filerequest.jsp:
<%@ page import="java.sql.*"
import="databaseconnection.*,databaseconnection1.*,databaseconnection2.*,databaseconnec
tion3.*"%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Multi Cloud</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" type="text/css" href="default.css" />
</head>
<body>
<%
String name=(String)session.getAttribute("name");
%>
<%
String message=request.getParameter("message");
if(message!=null && message.equalsIgnoreCase("success"))
{
out.println("<script>alert('File Request is Sended to Owner !')</script>"); }
%>
<div id="upbg"></div>
<div id="outer">
<div id="header">
<div id="headercontent" style="top: 12px; height: 46px; left: 10px; width: 959px;">
<h2 ><FONT><FONT><FONT><FONT size="4" color="orange"><img
src="images/Cool276907228248920.png"></FONT></FONT></FONT></FONT></h2>
</div></div>
<div id="menu">
<ul> <li><a href="#" class="active" >User Home</a></li>
<li><a href="file_request.jsp" >File Request</a></li>
<li><a href="user1_home.jsp" >View Files</a></li>
<li><a href="index.html">Logout</a></li>
<!-- <li><a href="signup.jsp" >Sign up</a></li>
<li><a href="#">Tpa</a></li>
<li><a href="#">Admin</a></li>
<li><a href="#">Contact</a></li>--></ul><br /
<font
color="#FFFFFF"><strong><em>Welcome:</em></strong></font> &n
bsp;<font color="#99FFFF" size="+2" face="Courier
New"><strong><em><%=name%></em></strong></font> </div>
<div id="menubottom"></div>
<div id="content">
<p><img src="images/home.jpg" height="20" width="20">
<strong><em><font color="#990000" size="+1" face="Verdana, Arial, Helvetica, sans-serif"
style="text-decoration:underline">New File
Request</font></em></strong> <br/><br/></p>
<div id="primarycontainer">
<div class="box"> <p><br>
<strong><font color="#ff3333" size="+1" face="Verdana, Arial, Helvetica, sans-serif"
>New File Request</font>
<br/> <br/></p>
<form name="s" action="file_request1.jsp" method="post" onsubmit="return valid()">
<table width="600" height="200" align="center" cellpadding="20" cellspacing="20">
<%
String message1=request.getParameter("mes");
if(message1!=null && message1.equalsIgnoreCase("success"))
{
out.println("<script>alert('Request is Already Existed!')</script>");
}
%>
<td><font size="+1"><strong> FID
:</strong></font>
<td> <select name="fid">
<option>-------Select File ID-------</option>
<%
String uid=null,uname=null,date=null,fid=null,fname=null,fsize=null,sta=null;
String u=(String)session.getAttribute("u");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection cona =
DriverManager.getConnection("jdbc:mysql://localhost:3306/cloudserver1","root","root");
Statement staa = cona.createStatement();
String cspprivatekey=null;
String qrya="select * from filestore";
ResultSet rsa =staa.executeQuery(qrya);
while(rsa.next())
{
cspprivatekey=rsa.getString("fid");
%>
<option value="<%=cspprivatekey%>"><%=cspprivatekey%> </option>
<%
catch(Exception e1)
{
out.println(e1.getMessage());
} %>%>
</select></td></tr>
<tr> <td><font size="+1"><strong> UID
:</strong></font></td>
<td> <input type="text" name="uid" size="20"
value="<%=u%>" readonly> </td></tr> <t r> <td><font
size="+1"><strong> Access Rights
:</strong></font></td>
<td> <select name="arw">
<option>------Select Access------</option>
<option value="Download">Download</option>
<option value="Read">Read Only</option> </select></td></tr>
<tr><td></td>
</tr><tr> <td ><input type="submit" value="Send File Request" style="height:
30px;width: 200px;background-color:orange">
&nbs
p; </tr>
</table>
</form>
<br> <br> <br><br> <form>
<table cellpadding="5" cellspacing="5" width="725" border="0">
<tr bgcolor="#ff9933">
<td align="center"><font color="#110022"><strong>File ID</strong></font></td>
<td align="center"><font color="#110022"><strong>Access Rights</strong></font></td>
<td align="center"><font color="#110022"><strong>Status</strong></font></td> </tr>
<%
Try
{
Class.forName("com.mysql.jdbc.Driver");
Connection cona = DriverManager.getConnection("jdbc:mysql://localhost:3306/multi-
cloud","root","root");
Statement staa = cona.createStatement();
String cspprivatekey=null;String cspprivatekey1=null;String accre=null,ridd=null;
String qrya="select * from userrequests where uid='"+u+"'";
ResultSet rsa =staa.executeQuery(qrya);
while(rsa.next())
{
cspprivatekey=rsa.getString("fid");
cspprivatekey1=rsa.getString("status");
accre=rsa.getString("ar");
ridd=rsa.getString("rid");
%>
<tr bgcolor="#F0f0f0">
<td align="center" class="paragraping"> <strong><font color="#6300C6">
<%=cspprivatekey%> </font></strong></td>
<td align="center" class="paragraping"> <strong><font color="#6300C6">
<%=accre%> </font></strong></t> <%if(cspprivatekey1.equals("no")){%>
<td align="center" class="paragraping"><strong><font color="#6300C6">
Processing</font></strong></td>
<%}else{%>
<td align="center" class="paragraping"><a
href="results.jsp?<%=cspprivatekey%>"><strong><font color="#6300C6">View
Results</font></strong></a></td></tr>
<%
} }}
catch(Exception e1)
{
out.println(e1.getMessage());
}
%>
</table>
</form>
</div></div></div>
if(b=="")
{
alert("Enter Password");
document.s.pass.focus();
return false;
}
</script>
<style type="text/css">
.b:hover{
border-size:3px;
border-color:red;
.b1
background-color: #color;
border-bottom:solid;
border-left: #FFEEEE;
border-right:solid;
border-top: #EEEEEE;
color: brown;
</style>
</head>
<body>
<div id="upbg"></div>
<div id="outer">
<div id="header">
<div id="headercontent" style="top: 12px; height: 46px; left: 10px; width: 959px;">
</div>
</div>
<div id="menu">
<!-- HINT: Set the class of any menu link below to "active" to make it appear active -->
<li><a href="#">Admin</a></li>
<li><a href="#">Contact</a></li>-->
</ul>
</div>
<div id="menubottom"></div>
<br />
</p>
<div id="primarycontainer">
<div id="primarycontent">
<div class="box">
<tr>
ID</strong></font></td>
&nbs
p;
<input type="reset" name="r" value="clear" class="b1"></td></tr>
<tr>
<td colspan="2" align="center"><font size="2"><b>
<%
String message=request.getParameter("message");
if(message!=null && message.equalsIgnoreCase("fail"))
{
out.println("<font color='red'><blink>Your username and password is incorrect
!</blink></font>");
}
%>
</b></font></td></tr>
< /table>
</form>
</div>
</div>
</div>
<!-- Secondary content: Stuff that goes in the secondary content column (by default, the
narrower right column) -->
<div id="secondarycontent">
</div>
</div>
Design</a></div>-->
</div>
</body>
</html>
Serverlog.jsp:
<html>
<head>
<title>Multi Cloud</title>
<script type="text/javascript">
function valid()
{
var a=document.s.uid.value;
if(a=="")
{
alert("Enter User ID");
document.s.uid.focus();
return false;
var b=document.s.pass.value;
if(b=="")
alert("Enter Password");
document.s.pass.focus();
return false;
if(document.s.ser.selectedIndex==0)
alert("Select a Server");
document.s.ser.focus();
return false;
</script>
<style type="text/css">
.b:hover{
border-size:3px;
border-color:red;
}
.b1
background-color: #color;
border-bottom:solid;
border-left: #FFEEEE;
border-right:solid;
border-top: #EEEEEE;
color: brown;
</style>
</head>
<body>
<div id="upbg"></div>
<div id="outer">
<div id="header">
<div id="headercontent" style="top: 12px; height: 46px; left: 10px; width: 959px;">
<h2 align="center"><FONT><FONT><FONT><FONT size="4" color="orange"><img
src="images/Cool276907228248920.png"></FONT></FONT></FONT></FONT></h2>
</div>
</div>
<div id="menu">
<!-- HINT: Set the class of any menu link below to "active" to make it appear active -->
<li><a href="#">Admin</a></li>
<li><a href="#">Contact</a></li>-->
</ul>
</div>
<div id="menubottom"></div>
<div id="content">
<!-- Normal content: Stuff that's not going to be put in the left or right column. -->
Login</font></em></strong> <br/>
<br/>
</p>
<!-- Primary content: Stuff that goes in the primary content column (by default, the left
column) -->
<div id="primarycontainer">
<div id="primarycontent">
<div class="box">
<tr>
ID</strong></font></td>
</tr>
<tr>
</tr>
<tr>
<td><font face="Courier New" size="+1"><strong><img src="images/ser.png"
height="30" width="25"> Server</strong></font></td>
<option value="0">--select--</option>
</select></td>
</tr>
<tr>
<td></td>
</tr></tr>
<tr>
<%
String message=request.getParameter("message");
%>
</b></font></td>
</tr>
</table>
</form>
</div>
<!-- Primary content area end -->
</div>
</div>
<!-- Secondary content: Stuff that goes in the secondary content column (by default, the
narrower right column) -->
<div id="secondarycontent">
<!-- Secondary content area start -->
<!-- HINT: Set any div's class to "box" to encapsulate it in (you guessed it) a box -->
<div class="post"><img src="images/cloud_lock1.jpg" width="250" height="250">
</div>
<!-- Secondary content area end -->
</div>
</div>
<div id="footer"> <strong><font color="#990033" face="Geneva, Arial, Helvetica, sans-
serif">SCSoftSolutions.</font></strong></div>
</body>
</html>
6.2 Programming Language
6.2.1 Java Technology
Java technology is both a programming language and a platform.
The Java Programming Language
The Java programming language is a high-level language that can be characterized by
all of the following buzzwords:
Simple
Architecture neutral
Object oriented
Portable
Distributed
High performance
Interpreted
Multithreaded
Robust
Dynamic
Secure
Java byte codes
The platform-independent codes interpreted by the interpreter on the Java platform. The
interpreter parses and runs each Java byte code instruction on the computer. Compilation
happens just once; interpretation occurs each time the program is executed. The following
figure illustrates how this works.
SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an effort to
support a wide variety of vendors, JDBC will allow any query statement to be passed through
it to the underlying database driver. This allows the connectivity module to handle non-
standard functionality in a manner that is suitable for its users.
3. Keep it simple
This goal probably appears in all software design goal listings. JDBC is no exception. Sun
felt that the design of JDBC should be very simple, allowing for only one method of completing
a task per mechanism.
Because more often than not, the usual SQL calls used by the programmer are simple
SELECT’s, INSERT’s, DELETE’s and UPDATE’s.
Compilers My Program
6.2.3 Networking
IP datagram’s
The IP layer provides a connectionless and unreliable delivery system. It considers each
datagram independently of the others. Any association between datagram must be supplied by
the higher layers. The IP layer supplies a checksum that includes its own header.
UDP
UDP is also connectionless and unreliable. What it adds to IP is a checksum for the
contents of the datagram and port numbers. These are used to give a client/server model - see
later.
TCP
TCP supplies logic to give a reliable connection-oriented protocol above IP. It provides a
virtual circuit that two processes can use to communicate.
Internet addresses
In order to use a service, you must be able to find it. The Internet uses an address scheme
for machines so that they can be located. The address is a 32 bit integer which gives the IP
address. This encodes a network ID and more addressing. The network ID falls into various
classes according to the size of the network address.
Network address
Class A uses 8 bits for the network address with 24 bits left over for other addressing.
Class B uses 16 bit network addressing. Class C uses 24 bit network addressing and class D
uses all 32.
Subnet address
Internally, the UNIX network is divided into sub networks. Building 11 is currently on
one sub network and uses 10-bit addressing, allowing 1024 different hosts.
Host address
8 bits are finally used for host addresses within our subnet. This places a limit of 256
machines that can be on the subnet.
Total address
Fig10:total address
Port addresses:
A service exists on a host, and is identified by its port. This is a 16 bit number. To send a
message to a server, you send it to the port for that service of the host that it is running on.
This is not location transparency! Certain of these ports are "well known".
JFree Chart
JFreeChart is a free 100% Java chart library that makes it easy for developers to display
professional quality charts in their applications. JFreeChart's extensive feature set includes:
1. Map Visualizations
Charts showing values that relate to geographical areas. Some examples include: (a)
population density in each state of the United States, (b) income per capita for each country in
Europe, (c) life expectancy in each country of the world. The tasks in this project include:
Sourcing freely redistributable vector outlines for the countries of the world,
states/provinces in particular countries (USA in particular, but also other areas);
Creating an appropriate dataset interface (plus default implementation), a rendered, and
integrating this with the existing XYPlot class in JFreeChart;
Testing, documenting, testing some more, documenting some more.
2. Time Series Chart Interactivity
Implement a new (to JFreeChart) feature for interactive time series charts --- to display
a separate control that shows a small version of ALL the time series data, with a sliding
"view" rectangle that allows you to select the subset of the time series data to display in the
main chart.
3. Dashboards
There is currently a lot of interest in dashboard displays. Create a flexible dashboard
mechanism that supports a subset of JFreeChart chart types (dials, pies, thermometers, bars,
and lines/time series) that can be delivered easily via both Java Web Start and an applet.
4. Property Editors
The property editor mechanism in JFreeChart only handles a small subset of the properties that
can be set for charts. Extend (or reimplement) this mechanism to provide greater end-user
control over the appearance of the charts.
J2ME (Java 2 Micro edition)
Sun Microsystems defines J2ME as "a highly optimized Java run-time environment
targeting a wide range of consumer products, including pagers, cellular phones, screen-phones,
digital set-top boxes and car navigation systems." Announced in June 1999 at the JavaOne
Developer Conference, J2ME brings the cross-platform functionality of the Java language to
smaller devices, allowing mobile wireless devices to share applications. With J2ME, Sun has
adapted the Java platform for consumer products that incorporate or are based on small
computing devices.
J2ME uses configurations and profiles to customize the Java Runtime Environment
(JRE). As a complete JRE, J2ME is comprised of a configuration, which determines the JVM
used, and a profile, which defines the application by adding domain-specific classes.
2. Developing J2ME applications
Introduction In this section, we will go over some considerations you need to
keep in mind when developing applications for smaller devices. We'll take a look at the way
the compiler is invoked when using J2SE to compile J2ME applications. Finally, we'll explore
packaging and deployment and the role preverification plays in this process.
3. Design considerations for small devices
Developing applications for small devices requires you to keep certain strategies in mind
during the design phase. It is best to strategically design an application for a small device before
you begin coding. Correcting the code because you failed to consider all of the "gotchas" before
developing the application can be a painful process. Here are some design strategies to consider
Keep it simple. Remove unnecessary features, possibly making those features a separate,
secondary application.
Smaller is better. This consideration should be a "no brainer" for all developers. Smaller
applications use less memory on the device and require shorter installation times. Consider
packaging your Java applications as compressed Java Archive (jar) files.
Minimize run-time memory use.
4. Configurations overview
The configuration defines the basic run-time environment as a set of core classes and a
specific JVM that run on specific types of devices. Currently, two configurations exist for
J2ME, though others may be defined in the future:
Connected Limited Device Configuration (CLDC) is used specifically with the KVM for
16-bit or 32-bit devices with limited amounts of memory. This is the configuration (and the
virtual machine) used for developing small J2ME applications. Its size limitations make CLDC
more interesting and challenging (from a development point of view) than CDC. * Connected
Device Configuration (CDC) is used with the C virtual machine (CVM) and is used for 32-
bit architectures requiring more than 2 MB of memory. An example of such a device is a Net
TV box.
5. J2ME profiles
What is a J2ME profile
As we mentioned earlier in this tutorial, a profile defines the type of device supported.
The Mobile Information Device Profile (MIDP), for example, defines classes for cellular
phones. It adds domain-specific classes to the J2ME configuration to define uses for similar
devices
Profile 1: KJava
KJava is Sun's proprietary profile and contains the KJava API. The KJava profile is
built on top of the CLDC configuration. The KJava virtual machine, KVM, accepts the same
byte codes and class file format as the classic J2SE virtual machine. KJava contains a Sun-
specific API that runs on the Palm OS.
Profile 2: MIDP
MIDP is geared toward mobile devices such as cellular phones and pagers. The MIDP,
like KJava, is built upon CLDC and provides a standard run-time environment that allows new
applications and services to be deployed dynamically on end user devices. MIDP is a common,
industry-standard profile for mobile devices that is not dependent on a specific vendor. It is a
complete and supported foundation for mobile application, development.
6.3 IMPLEMENTATION
A. Data Owner
There are mainly different types of data that are stored on cloud. The data which is
created by user before uploading the file into cloud. The owner has their own services like
register, login, file upload, view file, select cloud, and Update file. Delete File and logout.
B. User
User will be any person who will use cloud. The users have their own services which
are provided by data owner like register, login, view file, select cloud, download file and logout
C. Fragmentation
The security of a large-scale system, such as cloud depends on the security of the system
as a whole and the security of individual nodes. A successful intrusion into a single node may
have severe consequences, not only for data and applications on the victim node, but also for
the other nodes. The data on the victim node may be revealed fully because of the presence of
the whole file. A successful intrusion may be a result of some software or administrative
vulnerability. The file owner specifies the fragmentation threshold of the data file is specified
to be generated by. The file owner can specify the fragmentation threshold in terms of either
percentage or the number and size of different fragments. The percentage fragmentation
threshold, for example, can dictate that each fragment will be of 5% size of the total size of the
file. Alternatively, the owner can generate separate file containing information about the
fragment number and size, for instance, fragment 1of size 4,000 Bytes, fragment 2 of size 6,749
Bytes. The owner of the file is the best candidate to generate fragmentation threshold as he is
very well aware about the significant information from the file. The owner can best split the
file such that each fragment does not contain significant amount of information. The default
percentage fragmentation threshold can be made a part of the Service Level Agreement (SLA),
if the user does not specify the fragmentation threshold while uploading the data file
D. Fragment Placement
To provide the security while placing the fragments, the concept of T-coloring is used that
was originally used for the channel assignment problem. This generates a non-negative random
number and builds the set T starting from zero to the generated random number. The set T is
used to restrict the node selection to those nodes that are at hop-distances not belonging to T.
For this purpose, it assigns colors to the nodes, such that, initially, all of the nodes are given
the open color. When a fragment is placed on the node, all of the nodes neighborhood nodes at
a distance belonging to T are assigned close color. In this process, this loses some of the central
nodes that may increase the retrieval time. But it achieves a higher security level. If anyhow
the intruder compromises a node and obtains a fragment, he cannot determine the location of
the other fragments. The attacker can only keep on guessing the location of the other fragments,
because the nodes are separated by T-coloring.
E. Replication
To increase the data availability, reliability, and improve data retrieval time, it also
performs a controlled replication. It places the fragment on the node that provides the decreased
access cost with an objective to improve retrieval time for accessing the fragments for
reconstruction of original file. While replicating the fragment, the separation of fragments in
the placement technique through T-coloring, is also taken care of. In case of a large number of
fragments or small number of nodes, it is also possible that some of the fragments are left
without being replicated because of the T-coloring. T-coloring prohibits storing the fragment
in neighborhood of anode storing a fragment, resulting in the elimination of a number of nodes
to be used for storage. In such a case, only for the remaining fragments, the nodes that are not
holding any fragment are selected for storage randomly.
F. T-COLORING
Suppose we have a graph G = (V;E) and a set T containing non-negative integers
including 0. The T coloring is a mapping function f from the vertices of V to the set of non-
negative integers, such that Sf(x)f(y)S ¶ T, where (x; y) > E. The mapping function f assigns a
color to a vertex. In simple words, the distance between the colors of the adjacent vertices must
not belong to T. Formulated by Hale, the T-coloring problem for channel assignment assigns
channels to the nodes, such that the channels are separated by a distance to avoid interference.
7. SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/or a finished product It is the
process of exercising software with the intent of ensuring that the Software system meets its
requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.
Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
8. RESULTS
The following figure shows home screen which is entry point of our project
The following figure shows user login screen
The following figure shows when ever tpa click the view link it shows all 3 fragmented
files in encrypted formate by using we decrypte the files
The following figure shows tpa view after decrypt
The following figure shows after login to user in file request module we have download
option screen
9. CONCLUSION
We proposed the DROPS methodology, a cloud storage security scheme that
collectively deals with the security and performance in terms of retrieval time. The data file
was fragmented and the fragments are dispersed over multiple nodes. The nodes were separated
by means of T-coloring. The fragmentation and dispersal ensured that no significant
information was obtainable by an adversary in case of a successful attack. No node in the cloud,
stored more than a single fragment of the same file. The performance of the DROPS
methodology was compared with full-scale replication techniques. The results of the
simulations revealed that the simultaneous focus on the security and performance resulted in
increased security level of data accompanied by a slight performance drop. Currently with the
DROPS methodology, a user has to download the file, update the contents, and upload it again.
It is strategic to develop an automatic update mechanism that can identify and update the
required fragments only. The aforesaid future work will save the time and resources utilized in
downloading, updating, and uploading the file again. Moreover, the implications of TCP in cast
over the DROPS methodology need to be studied that is relevant to distributed data storage and
access.
REFERENCES
[1] K. Bilal, S. U. Khan, L. Zhang, H. Li, K. Hayat, S. A. Madani, N. Min-Allah, L. Wang, D.
Chen, M. Iqbal, C. Z. Xu, and A. Y.Zomaya, “Quantitative comparisons of the state of the art
data center architectures,” Concurrency and Computation: Practice and Experience, Vol. 25,
No. 12, 2013, pp. 1771-1783.
[2] K. Bilal, M. Manzano, S. U. Khan, E. Calle, K. Li, and A. Zomaya, “On the characterization
of the structural robustness of data center networks,” IEEE Transactions on Cloud Computing,
Vol. 1, No. 1, 2013, pp. 64-77.
[3] D. Boru, D. Kliazovich, F. Granelli, P. Bouvry, and A. Y. Zomaya, “Energy-efficient data
replication in cloud computing datacenters,” In IEEE Globecom Workshops, 2013, pp. 446-
451. .
[4] Y.Deswarte,L.Blain, and J-C. Fabre, “Intrusion tolerance in distributed computing
systems,” In Proceedings of IEEE Computer Society Symposium on Research in Security and
Privacy, Oakland CA, pp. 110-121, 1991.
[5] B. Grobauer, T.Walloschek, and E. Stocker, “Understanding cloud computing
vulnerabilities,” IEEE Security and Privacy, Vol 9, No. 2, 2011, pp. 50-57.
[6] W. K. Hale, “Frequency assignment: Theory and applications,” Proceedings of the IEEE,
Vol. 68, No. 12, 1980, pp. 1497-1514.
[7] K. Hashizume, D. G. Rosado, E. Fernndez-Medina, and E. B. Fernandez, “An analysis of
security issues for cloud computing,” Journal of Internet Services and Applications, Vol. 4,
No. 1,2013, pp. 1-13.
[8] M. Hogan, F. Liu, A.Sokol, and J. Tong, “NIST cloud computing standards roadmap,”
NIST Special Publication, July 2011.
[9] W. A. Jansen, “Cloud hooks: Security and privacy issues in cloud computing,” In 44th
Hawaii IEEE International Conference on System Sciences (HICSS), 2011, pp. 1-10.