This document was uploaded by user and they confirmed that they have the permission to share
it. If you are author or own the copyright of this book, please report to us by using this DMCA
report form. Report DMCA
Overview
Download & View Final Documentation.docx as PDF for free.
1. 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.
Fig1: Structure of cloud computing
1.1 Working of cloud computing The goal of cloud computing is to apply traditional supercomputing, or highperformance computing power, normally used by military and research facilities, to perform tens of trillions of computations per second, in consumer-oriented applications such as financial portfolios, to deliver personalized information, to provide data storage or to power large, immersive computer games. The cloud computing uses networks of large groups of servers typically running low-cost consumer PC technology with specialized connections to spread data-processing chores across them. This shared IT infrastructure contains large pools of systems that are linked together. Often, virtualization techniques are used to maximize the power of cloud computing.
1.2 Characteristics and Services Models The salient characteristics of cloud computing based on the definitions provided by the National Institute of Standards and Terminology (NIST) are outlined below: On-demand self-service A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. Broad network access Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Resource pooling The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location-independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or data center). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. Rapid elasticity Capabilities 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 systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be managed, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
Fig2:Characteristics of cloud computing
1.3 Services Models Cloud Computing comprises three different service models, namely Infrastructure-asa-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). The three service models or layer are completed by an end user layer that encapsulates the end user perspective on cloud services.
Fig3: Structure of service models
The model is shown in figure below. If a cloud user accesses services on the infrastructure layer, for instance, she can run her own applications on the resources of a cloud infrastructure and remain responsible for the support, maintenance, and security of these applications herself. If she accesses a service on the application layer, these tasks are normally taken care of by the cloud service provider.
1.4 Benefits of cloud computing Achieve economies of scale increase volume output or productivity with fewer people. Your cost per unit, project or product plummets. Reduce spending on technology infrastructure Maintain easy access to your information with minimal upfront spending. Pay as you go (weekly, quarterly or yearly), based on demand. Globalize your workforce on the cheap People worldwide can access the cloud, provided they have an Internet connection. Streamline processes Get more work done in less time with less people. 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.
2.2 Disadvantages of Existing System
The data compromise may occur due to attacks by other users and nodes within the cloud.
The employed security strategy must also take into account the optimization of the data retrieval time.
2.3 Proposed System We collectively approach the issue of security and performance as a secure data replication problem. We present Division and Replication of Data in the Cloud for Optimal Performance and Security (DROPS) that judicially fragments user files into pieces and replicates them at strategic locations within the cloud. The division of a file into fragments is performed based on a given user criteria such that the individual fragments do not contain any meaningful information. Each of the cloud nodes (we use the term node to represent computing, storage, physical, and virtual machines) contains a distinct fragment to increase the data security.
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 nonnegative 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. Three key considerations involved in the feasibility analysis are
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
OPERATIONAL FESIBILITY 4.1 Economical Feasibility This study is carried out to the check the economic impact that the system will have on the organization. the amount of found 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 with in the budget and these was achieved because most of the technologies used are freely available. Only the customized products had to be purchased.
4.2 Technical Feasibility This study is carry 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 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.
4.3 Operational Feasibility The aspect of study of the study is to check the level of acceptance of the system by the user.this includes the process of tranining the user to use the system efficiently.the user must not feel threatened by the system,instead must accept it as a necessity.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,aa he is the final user of the system.
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.
Fig4: System architecture
5.2 UML Diagrams The goal is for UML to become a common language for creating models of object oriented computer software. In its current form UML is comprised of two major components: a Meta-model and a notation. In the future, some form of method or process may also be added to; or associated with, UML. The Unified Modeling Language is a standard language for specifying, Visualization, Constructing and documenting the artifacts of software system, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing objects oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects.
5.2 Goals The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they can develop and exchange meaningful models. 2. Provide extendibility and specialization mechanisms to extend the core concepts. 3. Be independent of particular programming languages and development process. 4. Provide a formal basis for understanding the modeling language. 5. Encourage the growth of OO tools market. 6. Support higher level development concepts such as collaborations, frameworks, patterns and components. 7. Integrate best practices.
5.3 Data Flow Diagram 1. The DFD is also called as bubble chart. It is a simple graphical formalism that can be used to represent a system in terms of input data to the system, various processing carried out on this data, and the output data is generated by this system. 2. The data flow diagram (DFD) is one of the most important modeling tools. It is used to model the system components. These components are the system process, the data used by the process, an external entity that interacts with the system and the information flows in the system. 3. DFD shows how the information moves through the system and how it is modified by a series of transformations. It is a graphical technique that depicts information flow and the transformations that are applied as data moves from input to output. 4. DFD is also known as bubble chart. A DFD may be used to represent a system at any level of abstraction. DFD may be partitioned into levels that represent increasing information flow and functional detail.
5.4 UML Diagrams The goal is for UML to become a common language for creating models of object oriented computer software. In its current form UML is comprised of two major components: a Meta-model and a notation. In the future, some form of method or process may also be added to; or associated with, UML. The Unified Modeling Language is a standard language for specifying, Visualization, Constructing and documenting the artifacts of software system, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing objects oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects.
5.4.1 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 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.
5.4.2 Class Diagram In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes. It explains which class contains information.
5.4.3 Sequence Diagram A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams. Life Line
A lifeline represents an individual participant in the Interaction.
Activations
A thin rectangle on a lifeline) represents the period during which an element is performing an operation.
The top and the bottom of the of the rectangle are aligned with the initiation and the completion time respectively.
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 Objects are model elements that represent instances of a class or of classes.
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.
1: new owner registration 3: Upload file by applying file fragmentation 9: Apply Tcoloring algorithm 14: View owner approach fragments data 4: File 10: replication Upload files into cloud nodes by applying fragment placement 17: Upload files 7: View owner fragmented files 5: View and update and delete files
19: Login 22: File decryption 29: Logout
18: User registration Data base
Data user 20: View owner files 26: Download file
5.4.4 Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control.
Initial State or Start Point A small filled circle followed by an arrow represents intial action state or the start point for any activity diagram.For activity diagram using swimlany,make sure the start point is placed in the top left corner of the first column.
Activity or Action State An action state represents the non-interruptible action of objects.you can draw an action state in smart draw using rectangle with rounded corners.
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 Component diagram fall under the category of an implementation diagram, a kind of diagram that models the implementation and deployment of the system. A component diagram in particular is used to describe the dependencies between various software component such as the dependency between various software component such as the dependency between the executable files and source files.
File Upload File Fragmentation
data owner
File Replication Register User
Update & Delete files
Login
View Files & File Alerts
cloud tpa data user
T-Coloring Algorithm
File Request & Download
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
View files & Fil e alerts
TPA
Cloud File Request & Download
T-Colouring
Fragment 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.
5.4.6 State chart Diagrams The name of the diagram itself clarifies the purpose of the diagram and other details. It describes different states of a component in a system. The states are specific to a component/object of a system.
Initial State Notation Initial state is defined to show the start of a process. This notation is used in almost all diagrams.
Final State Notation Final state is used to show the end of a process. This notation is also used in almost all diagrams to describe the end.
Authentication
Log in
Data owner
File upload
File fragmentation
Data user
File replcation
TPA
View files & File alerts
Logout
File request & Download
Cloud
T-Colouring
Fragment placement
6. SYSTEM CODING AND IMPLEMENTATION 6.1 Sample Code Userlogin.jsp <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> Multi Cloud <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; }} <meta name="keywords" content="" /> <meta name="description" content="" />