storage management in private cloud

Upload: sri-harish

Post on 03-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Storage Management in Private Cloud

    1/63

    An Implementation of Storage Management inPrivate Cloud

    PROJECT REPORT

    Submitted in partial ful f i llment for the award of the degree of

    MS

    I n

    Software Engineering

    By

    MKS SRI HARISH 10mse0116

    VENGAT SUDHEENDRA 10mse0337

    Under the Guidance of

    PROF M LAWANYA SHRI

    VITU N I V E R S I T Y

    (Estd. u/s 3 of UGC Act 1956)

    School of Information Technology & Engineering [SITE]

    SOFTWARE ENGINEERING DIVISION

    NOV 2013

  • 8/11/2019 Storage Management in Private Cloud

    2/63

    DECLARATION BY THE CANDIDATE

    We hereby declare that the project report entitled An Implementation of

    Storage Management in Private Cloud submitted by us to Vellore

    Institute of Technology, Vellore in partial fulfillment of the requirement for

    the award of the degree of M.S.(Software Engineering) is a record of

    bonafide project work carried out by us under the guidance of Prof. M

    LAWANYA SHRI. We further declare that the work reported in this

    project has not been submitted and will not be submitted, either in part or in

    full, for the award of any other degree or diploma in this institute or any

    other institute or university.

    Place: VelloreDate:

    Signature of the Candidates

    M.K.S.SRIHARISH, 10mse0116

    VENGAT SUDHEENDRA, 10mse0337

  • 8/11/2019 Storage Management in Private Cloud

    3/63

    VITU N I V E R S I T Y

    (Estd. u/s 3 of UGC Act 1956)

    School of Information Technology & Engineering [SITE]

    SOFTWARE ENGINEERING DIVISION

    CERTIFICATE

    This is to certify that the project report entitled An Implementation of

    Storage Management in Private Cloud submitted by MKS SRI

    HARISH (10mse0116) and VENGAT SUDHEENDRA (10mse0337) toVellore Institute of Technology, Vellore in partial fulfillment of the

    requirement for the award of the degree of M.S.(Software Engineering)is

    a record of bonafide work carried out by him/her under my guidance. The

    project fulfills the requirements as per the regulations of this Institute and in

    my opinion meets the necessary standards for submission. The contents of

    this report have not been submitted and will not be submitted either in part

    or in full, for the award of any other degree or diploma in this institute or

    any other institute or university.

    Prof. M LAWANYA SHRI

    GUIDE

    ASST.PROF, SITE

    Internal Examiner (s) External Examiner (s)

  • 8/11/2019 Storage Management in Private Cloud

    4/63

    CERTIFICATE BY THE EXTERNAL GUIDE

    This is to certify that the project report entitled Implementation of

    storage management using private cloud submitted by MKS Sriharish(10mse0116) and Vengat Sudheendra(10mse0337) to VelloreInstitute of Technology University, Vellore in partial fulfillment ofthe requirement for the award of the degree MS in SoftwareEngineering is a record of bonafide work carried out by him/her undermy guidance. The project fulfills the requirements as per theregulations of this Institute and in my opinion meets the necessarystandards for submission. The contents of this report have not been

    submitted and will not be submitted either in part or in full, for theaward of any other degree or diploma in this institute or any otherinstitute or university.

    EXTERNAL SUPERVISOR

  • 8/11/2019 Storage Management in Private Cloud

    5/63

    ACKNOWLEDGEMENT

    We would like to thank the chancellor of Vellore Institute of Technology

    University, Dr. G. Viswanathan,for giving us the opportunity to pursue M.S Software

    Engineering.

    We would like to thank the Director of School of Information Technology and

    Engineering Dr. R.Saravanan.

    We would also like to thank our Program Manager of M.S Software Engineering,

    Prof Jayaram Reddyfor giving us adequate guidance to carry out our project.

    We would also like to thank our year coordinator of M.S Software Engineering,

    Prof Manikandanfor giving us adequate support and guidance to carry out our project.

    We would like to extend our sincere thanks to Prof. M Lawanya Shri our

    internal guide for her timely help and support and for guiding us to complete the project

    successfully.

    Place : Vellore

    Date :M.K.S. SRIHARISH

    VENGAT SUDHEENDRA

  • 8/11/2019 Storage Management in Private Cloud

    6/63

    Table of Contents

    Chapter No Title Page No

    ABSTRACT i

    LIST OF TABLES iii

    LIST OF FIGURES Iv

    LIST OF SYMBOLS v

    1. INTRODUCTION 1

    1.1 OVERVIEW 1

    1.2 PURPOSE 2

    1.3 SCOPE 2

    1.4 OBJECTIVE 2

    2. PROBLEM ANALYSIS 3

    2.1 ABSTRACT 3

    2.2 DEFINITION OF CONCEPTS 42.3 LITERATURE REVIEW 8

    3 DESIGN AND ARCHITECTURE 14

    3.1 EUCALYPTUS ARCHITECTURE 14

    3.2 CLASS DIAGRAM 16

    3.3 USE CASE DIAGRAM 17

    3.4 ACTIVITY DIAGRAM 18

    3.5 SEQUENCE DIAGRAM 19

    3.6 EXPERIMENT SET UP 20

    4 IMPLEMENTATION 30

    4.1 METHODOLOGY USED 30

    4.2 IMPLEMENTATION OF THE SYSTEM 314.3 TESTING 41

    5 CONCLUSION AND FUTURE WORK 50

    5.1 CONCLUSION 50

    5.2 FUTURE WORK 51

    6 REFERENCES 52

  • 8/11/2019 Storage Management in Private Cloud

    7/63

    i

    Abstract

    Private cloudis the phrase used to describe a cloud computing

    platform that is implemented within the corporate firewall, under thecontrol of the IT department. Organizations in every industry, regardlessof size or geography are embracing cloud computing as a way to reducethe complexity and costs associated with traditional IT approaches. Thereality is driven by three related shifts. Customer, employee and partnerexpectations are changing as self- service consumption of technologyand services becomes the norm. The economics of computing arechanging as organizations access world-class computing power, nowavailable anytime, anywhere. Faster delivery of higher-value productsand services is now mandatory to address formidable competition and

    escalating customer and shareholder expectations. Storage managementis a general storage industry phrase that is used to describe the tools,

    processes, and policies used to manage storage networks and storageservices such as virtualization, replication, mirroring, security,compression, traffic analysis and other services. The phrase storagemanagement also encompasses numerous storage technologies including

    process automation, real-time infrastructure products and storageprovisioning. Private cloud also called internal cloud is cloudinfrastructure operated solely for a single organization, whether managed

    internally or by a third-party and hosted internally or externally. Aprivate cloud is designed to offer the same features and benefits of publiccloud systems, but removes a number of objections to the cloudcomputing model including control over enterprise and customer data,worries about security, and issues connected to regulatory compliance.Some of the advantages of cloud storage are: a cloud storage serviceautomatically transfers files into the cloud; access to unlimited cloudstorage services; ability to synchronize files across different computers;very easy to share files with others. The proposed model is to build a

    private cloud in our infrastructure using eucalyptus software platformand provide database (include - storage) as a service to the user. Cloudcomputing is the use of a networked resources that are on demand whichcan be either Server, application, storage, services through a pool ofshared devices that are interconnected to a remote device that offers it.Private cloud is a solution that has been recently developed for theaccess of shared resources solely for a single entity or organizationwhere the sharing is managed either internally or externally through athird party client. Private cloud has had its inception to incorporate the

    aspects of enhanced security features to a private organizations data andservices. The foundation for cloud is the systematic virtualization of

  • 8/11/2019 Storage Management in Private Cloud

    8/63

    ii

    resources that further proceeded towards the out of box thinking of aprivate cloud where each and every organizations resources arevirtualized and shared. The reason for preference of private cloud is thegreater control of the entire stack of resources available. The issue of

    storage management in private cloud arises when there is an extensivedemand for resources. In this project, we have implemented an effectivestorage management mechanism for uploading and sharing of files on astorage cloud. This is done by removing the need to transfer files

    between users (when files are shared) and to simply grant them privilegeto access those files by using database entries. This not only helps tomanage memory but also to increase security in the cloud server.

  • 8/11/2019 Storage Management in Private Cloud

    9/63

    iii

    LIST OF TABLES

    S.NO Table Name Page No

    1 Table 2.1 Front End Requirements 6

    2 Table 2.2 Node Requirements 7

    3 Table 2.3 Literature Review 8

    4 4.3.1 UTC 1 - Test whether the website can be accessedwithin the cluster.

    41

    5 4.3.2 UTC 2Test whether the user is able to register. 42

    6 4.3.3 UTC 3Test whether the user is able to upload files. 43

    7 4.3.4 UTC 4Test whether another user is able to accessuploaded files.

    44

    8 4.3.5 UTC 5Test whether the user is able to download files. 46

    9 4.3.6 UTC 6Test whether the user is able to share theupload files.

    47

    10 4.3.7 UTC 7Test whether the user is able to delete theuploaded file(s).

    49

  • 8/11/2019 Storage Management in Private Cloud

    10/63

    iv

    LIST OF FIGURES

    S.NO Figure Name Page No

    1 Fig 3.1 Eucalyptus Architecture 14

    2 Fig 3.2 Project System Architecture 14

    3 Fig 3.3 Class Diagram 16

    4 Fig 3.4 Use Case Diagram 17

    5 Fig 3.5 Activity Diagram 18

    6 Fig 3.6 Sequence Diagram 19

    7 Fig 3.7 Install Screen 20

    8 Fig 3.8 Install Screen 2 21

    9 Fig 3.9 Install Screen 3 21

    10 Fig 3.10 UEC store 24

    11 Fig 3.11 UEC Images 25

    12 Fig 4.1 Waterfall model 30

    13 Fig 4.2 Home Page 31

    14 Fig 4.3 Sign up Page 32

    15 Fig 4.4 Log in Page 33

    16 Fig 4.5 Upload Page 34

    17 Fig 4.6 File Successfully Uploaded 35

    18 Fig 4.7 Confirm Replace Page 35

    19 Fig 4.9 File Index 36

    20 Fig 4.10 File Access 37

    21 Fig 4.11 File Download 38

    22 Fig 4.12 File Share 39

    23 Fig 4.13 Shared File 39

    24 Fig 4.14 Confirm Deletion 40

    25 Fig 4.15 File Deleted 40

    26 Fig 4.16 File Uploaded 44

    27 Fig 4.17 File Index view 45

    28 Fig 4.18 File Share Test 48

    29 Fig 4.19 File Share Test 48

  • 8/11/2019 Storage Management in Private Cloud

    11/63

    v

    LIST OF ACRONYMS

    Node Controller (NC)- Eucalyptus component that runs on nodes which host the virtualmachines that comprise the cloud. This service is provided by the Ubuntu package eucalyptus-nc.

    S3- Simple Storage Service. Amazon's pay-by-the-gigabyte persistent storage solution for EC2.

    Storage Controller (SC)- Eucalyptus component that manages dynamic block storage services(EBS). Each 'cluster' in a Eucalyptus installation can have its own Storage Controller. This

    component is provided by the eucalyptus-scpackage.

    UEC- Ubuntu Enterprise Cloud. Ubuntu's cloud computing solution, based on Eucalyptus.

    VM- Virtual Machine.

    VT- Virtualization Technology. An optional feature of some modern CPUs, allowing for

    accelerated virtual machine hosting.

    Walrus- Eucalyptus component that implements the Amazon S3 API, used for storing VMimages and user storage using S3 bucket put/get abstractions.

  • 8/11/2019 Storage Management in Private Cloud

    12/63

    1

    Chapter 1

    INTRODUCTION

    1.1 Overview

    Cloud computingis an expression used to describe a variety of computing concepts

    that involve a large number of computers connected through a real-time

    communication network such as the Internet In science, cloud computing is a

    synonym for distributed computing over a network, and means the ability to run a

    program or application on many connected computers at the same time. The phrase

    also more commonly refers to network-based services, which appear to be provided

    by real server hardware, and are in fact served up by virtual hardware, simulated by

    software running on one or more real machines. Such virtual servers do not

    physically exist and can therefore be moved around and scaled up (or down) on thefly without affecting the end user - arguably, rather like a cloud.

    The popularity of the term can be attributed to its use in marketing to sell hosted

    services in the sense of application service provisioning that run client server

    software on a remote location.

    Cloud computing is a kind of grid computing, it has evolved by addressing

    the QoS (quality of service) and reliability problems. Cloud computing provides thetools and technologies to build data/compute intensive parallel applications with

    much more affordable prices compared to traditional parallel computing techniques.

    Private cloud is cloud infrastructure operated solely for a single organization,

    whether managed internally or by a third-party and hosted internally or

    externally. Undertaking a private cloud project requires a significant level and degree

    of engagement to virtualize the business environment, and requires the organization

    to re-evaluate decisions about existing resources. When done right, it can improve

    business, but every step in the project raises security issues that must be addressed to

    prevent serious vulnerabilities. They have attracted criticism because users "still haveto buy, build, and manage them" and thus do not benefit from less hands-on

    management, essentially "the economic model that makes cloud computing such an

    intriguing concept".

  • 8/11/2019 Storage Management in Private Cloud

    13/63

    2

    1.2 Purpose

    The purpose of this project is to implement the storage management mechanism in avirtual environment in a way to enhance the abilities and capabilities of the cloudsystem. The ultimate purpose is to depict the endurance power of the cloud storage

    system.

    1.3 Scope

    The scope of this process is not just limited to cloud storage system but also itsworking in different environments where it has been deployed. The cloud storagemechanism along with its shadow the virtual environment is combined in a

    privately created cloud wherein the interaction are not just limited within the cloudnetwork but also to all the networks interconnected through its IP address.

    1.4 Objective

    Implement a private cloud and its deployment.

    Implement a virtual environment and its interconnections

    Implement a workable storage mechanism in the virtual environment

    Ensure maintainability of the implemented storage mechanism

  • 8/11/2019 Storage Management in Private Cloud

    14/63

    3

    CHAPTER 2

    PROBLEM ANALYSIS

    2.1 Problem Overview

    Organizations in every industry, regardless of size or geography are embracing cloudcomputing as a way to reduce the complexity and costs associated with traditional ITapproaches. The reality is driven by three related shifts. Customer, employee and

    partner expectations are changing as self- service consumption of technology andservices becomes the norm. The economics of computing are changing asorganizations access world-class computing power, now available anytime,anywhere. Faster delivery of higher-value products and services is now mandatory toaddress formidable competition and escalating customer and shareholder

    expectations.

    Storage managementis a general storage industry phrase that is used to describe thetools, processes, and policies used to manage storage networks and storage servicessuch as virtualization, replication, mirroring, security, compression, traffic analysisand other services. The phrase storage management also encompasses numerousstorage technologies including process automation, real-time infrastructure productsand storage provisioning.

    Private cloud also called internal cloud is cloud infrastructure operated solely for asingle organization, whether managed internally or by a third-party and hostedinternally or externally. A private cloud is designed to offer the same features and

    benefits of public cloud systems, but removes a number of objections to the cloudcomputing model including control over enterprise and customer data, worries aboutsecurity, and issues connected to regulatory compliance.

    Some of the advantages of cloud storage are: a cloud storage service automaticallytransfers files into the cloud; access to unlimited cloud storage services; ability tosynchronize files across different computers; very easy to share files with others.

    The proposed model is to build a private cloud in our infrastructure using eucalyptus

    software platform and provide database (include - storage) as a service to the userusing UEC.

  • 8/11/2019 Storage Management in Private Cloud

    15/63

    4

    2.2 Definition of Concepts

    Storage as Service

    Virtualization

    Eucalyptus software

    UEC

    2.2.1 Storage as Service

    Storage as a service is an architecture model in which a provider provides digitalstorage on their own infrastructure. Storage as a service can be implemented as a

    business model in which a large service provider rents space in their storage

    infrastructure on a subscription basis. The economy of scale in the service provider's

    infrastructure theoretically allows them to provide storage much more cost

    effectively than most individuals or corporations can provide their own storage,

    when total cost is considered is considered. Storage as a Service is often used to

    solve offsite backup challenges.

    2.2.2 Virtualization

    Storage virtualization is part of the software-defined storage layer that must offerimprovements in performance and space efficiency without requiring the purchase ofadditional storage hardware.It must enable rapid provisioning so that high-performance, space-efficient storagecan be spun up as fast as a VM can be spun up today. It must offer a VM-centricstorage management model that is intuitive for virtual administrators who are takingon more of the storage management tasks in virtual environments. And it mustintegrate with the hypervisor platform to leverage familiar, native workflows.Storage virtualization is a combination of capabilities that provide an abstractionlayer for physical storage resources to be addressed, managed and optimized in a

    virtualization deployment.Storage virtualization technology provides a fundamentally better way to managestorage resources for virtual infrastructure, giving the ability to:

    Significantly improve storage resource utilization and flexibility Simplify OS patching and driver requirements, regardless of storage topology Increase application uptime and simplify day-to-day operations Leverage and complement existing storage infrastructure

    2.2.3 Eucalyptus

    Eucalyptus is free and open-source computer software for building Amazon WebService (AWS)-compatible private and hybrid cloud computing environmentsmarketed by the company Eucalyptus Systems. Eucalyptus enables pooling compute,

  • 8/11/2019 Storage Management in Private Cloud

    16/63

    5

    storage, and network resources that can be dynamically scaled up or down asapplication workloads change.Eucalyptus has six components:

    The Cloud Controller (CLC)is aJavaprogram that offers EC2-compatible

    interfaces, as well as a web interface to the outside world. In addition to handlingincoming requests, the CLC acts as the administrative interface for cloud

    management and performs high-level resource scheduling and system

    accounting. The CLC accepts user API requests from command-line interfaces

    like euca2ools or GUI-based tools like the Eucalyptus User Console and

    manages the underlying compute, storage, and network resources. Only one CLC

    can exist per cloud and it handles authentication, accounting, reporting, and

    quote management.

    Walrus, also written in Java, is the Eucalyptus equivalent to AWS Simple

    Storage Service (S3). Walrus offers persistent storage to all of the virtualmachines in the Eucalyptus cloud and can be used as a simple HTTP

    put/getstorage as a service solution. There are no data type restrictions for

    Walrus, and it can contain images (i.e., the building blocks used to launch virtual

    machines), volume snapshots (i.e., point-in-time copies), and application data.

    Only one Walrus can exist per cloud.

    The Cluster Controller (CC)is written in C and acts as the front end for a cluster

    within a Eucalyptus cloud and communicates with the Storage Controller and

    Node Controller. It manages instance (i.e., virtual machines) execution and

    Service Level Agreements (SLAs) per cluster.

    The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent

    to AWS EBS. It communicates with the Cluster Controller and Node Controller

    and manages Eucalyptus block volumes and snapshots to the instances within its

    specific cluster. If an instance requires writing persistent data to memory outside

    of the cluster, it would need to write to Walrus, which is available to any instance

    in any cluster.

    The VMware Brokeris an optional component that provides an AWS-compatible

    interface forVMware environments and physically runs on the Cluster

    Controller. The VMware Broker overlays existing ESX/ESXi hosts andtransforms Eucalyptus Machine Images (EMIs) to VMware virtual disks. The

    VMware Broker mediates interactions between the Cluster Controller and

    VMware and can connect directly to either ESX/ESXi hosts or to vCenter Server.

    TheNode Controller (NC)

    2.2.4 UEC

    Prerequisites

    To deploy a minimal cloud infrastructure, youll need at

    least twodedicated systems: A front end.

    http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Storage_as_a_servicehttp://en.wikipedia.org/wiki/VMwarehttp://en.wikipedia.org/wiki/VMwarehttp://en.wikipedia.org/wiki/Storage_as_a_servicehttp://en.wikipedia.org/wiki/Java_(programming_language)
  • 8/11/2019 Storage Management in Private Cloud

    17/63

    6

    One or more node(s).

    The following are recommendations, rather than fixed requirements.However, our experience in developing this documentation indicated the

    following suggestions.Front End Requir ements

    Use the following table for a system that will run one or more of: Cloud Controller (CLC)

    Cluster Controller (CC)

    Walrus (the S3-like storage service)

    Storage Controller (SC)

    Eucalyptus- Elastic Utility Computing Architecture for Linking Your Programs ToUseful Systems. An open source project originally from the University of Californiaat Santa Barbara, now supported by Eucalyptus Systems, a Canonical Partner.

    Front-end - Physical machine hosting one (or more) of the high level Eucalyptus

    components (cloud, walrus, storage controller, cluster controller).

    Node - A node is a physical machine that's capable of running virtual machines,running a node controller. Within Ubuntu, this generally means that the CPU hasVT extensions, and can run the KVM hypervisor.

    Table 2.1 Front End Requirements

  • 8/11/2019 Storage Management in Private Cloud

    18/63

    7

    Node Requirements:

    Table 2.2 Node Requirements

  • 8/11/2019 Storage Management in Private Cloud

    19/63

    8

    2.3 Literature Review:

    Storage

    Management in

    Virtualized

    Cloud Environment

    Sankaran Sivathanu, Ling Liu, MeiYiduo, and Xing Pu

    In order to enable & support cloud-based applications in a cost-effective

    manner and to lower the barrier to entryfor such applications, a somewhat recent

    business model that has emerged is thatof a service provider hosting third-partyapplications in a shared data centre.A key technology that enables suchcost-efficient resource sharing in suchdata centers is virtualization; by

    providing isolation and separateprotection domains for multiple thirdparty applications, virtual machines

    enable server consolidation, andconsequently significant savings in thecost of managing such data centres.A detailed experimental analysis of theI/O performance observed in avirtualized environmentthrough a series of systematicexperiments on the Xen VMM platformshow that the storage I/O performanceobserved by an application inside a VMdepends on various aspects such aswhich disk partition the virtual machineuses, the CPU utilization of other VMson that system, the nature of I/O

    performed by other VMs on the hostedsystem and the block size used for

    performing disk I/OAs the disk seek distance is vastlyreduced when the virtual disk size issmall, the throughput achieved by a4GB virtual disk is significantly better

    than that of a 40GB disk for the exactlysame workload. When disproportionateamount of disk space, with respect todata footprint of the workload, isallocated for a user, some file systemallocation policies or applicationdecisions might lead to data beingspread across a larger footprint on disk.Cloud service providers can improvetheir storage efficiency by practicingthin provisioning of their storage

    resources. Customers of cloud storagecan purchase storage based on their

  • 8/11/2019 Storage Management in Private Cloud

    20/63

    9

    expected workload footprint rather thanjust the price. This is important because,customers may tend to purchase moredisk space than what they need,especially when the price differential is

    not significant. It is beneficial to placesequentially accessed virtual disk in theouter zone of the disk to achieve better

    performance (Eg. VMs that host movies,large OS distributions, etc.,). When acloud service provider needs to placemultiple virtual disks in a single

    physical storage, those virtual diskswhoseMost of the infrastructure cloud systemsemploy Dynamic Frequency Scaling

    technique to conserve power. Therefore,strategies for co-locating workloads can

    be critical for achieving maximumperformance and at the same timeconserving power. Cloud service

    providers should avoid co-locating VMswith two sequential I/O workloads on asingle physical machine, even wheneach of them goes to separate physicaldisks.Virtualization overhead is more felt insequential workloads accessed throughsmaller block sizes than randomworkloads. The cloud customers canestimate the expected performance

    based on the characteristics of theworkload they deploy. Cloud service

    providers can practice static partitioningof memory across multiple VMs hostedin a single physical machine, wheneverstrict performance isolation is important

    across different customers.

    Secure Data storage

    and Retr ieval in the

    Cloud

    Vaibhav Khadilkar, Anuj Gupta,Murat Kantarcioglu, Latifur Khan,

    Bhavani Thuraisingham

    A new web-based system is created(Hive Access System) that minimizesstorage costs and provides sufficientlevel of security in cloud.

    The Hadoop Distributed File System iscombined with Hive to provide acommon storage area for participatingorganizations.

    The System has a mechanism to load

  • 8/11/2019 Storage Management in Private Cloud

    21/63

    10

    and query shared data securely that isstored in HDFS using Hive.

    It also has an additional layer of securityabove HDFS and Hive using a XACML

    policy-based mechanism.

    The system provides a secure loginfeature to users based on a salted hashtechnique. When a user logs into oursystem, based on the group that the user

    belongs to he/she is provided withdifferent options.

    The system also allows new users toregister but only a designated special

    user admin can assign these users tothe appropriate groups.

    The System is provided with some basicquery rewriting rules that abstract usersfrom the query language of Hive(HiveQL). This allows them to enterregular SQL queries in the webapplication which are translated intoHiveQL using the basic rewriting rules.

    This system is different from AWS inthe sense that our cloud infrastructure iscompletely private versus AWSsinfrastructure that is in the publicdomain.This distinguishing factor makes ourinfrastructure trusted over the AWS

    infrastructure where data must be storedin an encrypted format since AWS is inthe public domain. In the future we plan

    to extend our work to include both,public and private clouds.

  • 8/11/2019 Storage Management in Private Cloud

    22/63

    11

    Evolution of Cloud

    Storage as Cloud

    Computing

    Infrastructure

    Service

    R. Arokia Paul Rajan, S.Shanmugapriyaa

    Private and Public clouds serve as thebackbone for a variety of different cloudcomputing service models.

    Currently the industry has been

    successfully adopting three commontypes of cloud computing servicemodels.

    Infrastructure as a Service (IaaS), is aservice model around servers (compute

    power), storage capacity, and networkbandwidth. Examples include AmazonEC2 and S3, Rackspace, AT&T, andVerizon.

    Platform-as-a-Service (PaaS) providesan externally managed platform for

    building and deploying applications andservices. This model typically providesdevelopment tools such as databases anddevelopment studios for working withthe supplied frameworks, as well as theinfrastructure to host the builtapplication. Examples includeForce.com, Microsoft Azure, andGoogle App Engine.

    Software-as-a-Service (SaaS) is simplyhaving a software system running on acomputer that doesn't belong to thecustomer and isn't on the customers

    premises. It is based on the concept ofrenting an application from a service

    provider rather than buying, installingand running software yourself.

    No need to invest any capital on storagedevices.

    No need for technical expert to maintainthe storage, backup, replication andimportantly disaster management.

    Allowing others to access your data willresult with collaborative working styleinstead of individual work.

    A Cloud Storage ApplicationProgramming Interface (API) is amethod for access to and utilization of acloud storage system. The most

  • 8/11/2019 Storage Management in Private Cloud

    23/63

    12

    common of these kinds are REST(REpresentational State Transfer)although there are others, which are

    based on SOAP (Simple Object AccessProtocol).

    All these APIs are associated withestablishing requests for service via theInternet. REST is a concept widelyrecognized as an approach to "quality"scalable API design. One of the mostimportant features of REST is that it is a"stateless" architecture.

    This means that everything needed tocomplete the request to the storage

    cloud is contained in the request, so thata session between the requestor and thestorage cloud is not required.

    A Secure Model for

    Cloud Computing

    Based Storage and

    Retrieval

    Yaga Reddemma, LingalaThirupathi, Sreekanth Gunti

    The proposed business model separatesdata storage service from that ofencryption and decryption service. This

    paper uses CRM concept to demonstratethe new mechanism proposed.

    In the proposed system the party thatuses cloud storage services must encryptdata before sending it to cloud while theservice provider who is responsible forencryption/decryption must delete dataonce encryption/decryption process iscompleted.

    This separation is required as the cloudserver administrators might have illegalaccess to data of the users. To prevent

    this, the services such as storage andencryption/decryption are separated andmoved to different cloud servers.Generally users use cloud environmentfor specific purposes. For instancesSAPs ERP services, Salesforce.coms

    CRM service and so on. The datagenerated by these operations is saved tocloud storage. However, this studyadvocates an additional cloud server thattakes care of encryption/decryption

    activities which are independent ofstorage service.

  • 8/11/2019 Storage Management in Private Cloud

    24/63

    13

    First of all users credentials are

    authenticated by CRM cloud service.Once authentication is done user canaccess CRM server through which he

    performs data retrieval and data storageoperations. As per the users instructions

    the CRM cloud service interacts withstorage cloud service and makes datausage request. Then the storage cloudservice sends encrypted data which isavailable in to encryption/decryptionservice and requests for decryption. Theencryption/decryption service takesencrypted data and simply decrypts itand sends the decrypted data to CRM

    cloud service. SSL (Secure SocketsLayer) is used for encryption anddecryption purposes. The last step is thatthe CRM cloud service sends requesteddata to end user. Thus securecommunication is taking place across allcomponents as part of proposed dataretrieval mechanism.

    After due authentication, the end userssends data storage request to CRMcloud service.In turn the CRM cloud service sendsunencrypted data toencryption/decryption cloud service.The encryption/decryption cloud serviceactually encrypts the given content andsends it to storage cloud service where itis stored. Then the storage cloud servicesends resultant message to CRM cloudservice, which is then displayed to the

    user.

  • 8/11/2019 Storage Management in Private Cloud

    25/63

    14

    Chapter 3

    DESIGN AND ARCHITECTURE

    3.1 Eucalyptus Architecture

    Fig 3.1 Eucalyptus Architecture

    3.1.1 System Architecture:

    Cluster

    Data Store

    Server

    Node Controller

    Node Controller

    Private Cloud

    Web Interface or EC2 API

    Cloud Controller

    Walrus Storage Controller

    Regular Network

    Fig 3.2 Project System Architecture

  • 8/11/2019 Storage Management in Private Cloud

    26/63

    15

    The Node Controller (NC) is part of the Node level of the cloudcomputing architecture. It is written in C and hosts the virtual machineinstances and manages the virtual network endpoints. The NC downloadsand caches images from Walrus as well as creates and caches instances.While there is no theoretical limit to the number of NCs per cluster,

    performance limi ts do ex ist.

    Cluster Controller (CC)

    The Cluster Controller (CC) is written in C and acts as the front end for a clusterwithin a Eucalyptus cloud and communicates with the Storage Controller (SC) and

    Node Controller (NC). The CC manages instance (i.e., virtual machines) executionand Service Level Agreements (SLAs) per cluster.

    Storage Controller (SC)

    The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent toAWS Elastic Block Store (EBS). The SC communicates with the Cluster Controller(CC) and Node Controller (NC) within the distributed cloud architecture andmanages Eucalyptus block volumes and snapshots to the instances within its specificcluster. If an instance requires writing persistent data to memory outside of thecluster, it would need to write to Walrus, which is available to any instance in anycluster. The SC interfaces with storage systems, including local, NFS, iSCSI, andSAN.

    VMware Broker (Optional)

    The VMware Broker is an optional component that provides an AWS-compatibleinterface for VMware environments and physically runs on the Cluster Controller(CC) within the distributed cloud computing architecture. The VMware Brokeroverlays existing ESX/ESXi hosts and transforms Eucalyptus Machine Images(EMIs) to VMware virtual disks. The VMware Broker mediates interactions

    between the CC and VMware and can connect directly to either ESX/ESXi hosts orto vCenter Server.

  • 8/11/2019 Storage Management in Private Cloud

    27/63

    16

    3.2 Class Diagram:

    #Verify User()

    #Process Command()

    +ID : string

    +User Name : string

    #Password : string

    Controller

    -Send Requests to Server()

    Node

    -Store Files()

    -Retrieve Files()

    #Delete Files()

    Server

    +Log-in()

    #Store Files()

    #Share Files()

    #Download Files()

    #Delete Files()

    +ID : string

    #Password : string

    #File ID : string

    User

    #Files

    Data Store

    1

    1 0..*

    1

    1..*

    0..*

    -Manage Cloud Server()

    -Manage Users()

    -Manage Nodes()

    -Manage Data Store()

    Cloud Administrator

    1..*

    1

    1

    1..*

    +Maintain Nodes()

    -Node List : string

    Cluster

    +Maintain Clusters()

    -Cluster List : string

    Cloud

    -Data Store Information

    Storage

    +Manage Storage()

    Walrus

    1*

    1

    *

    1

    *

    1

    *

    1

    *

    Fig 3.3 Class Diagram

  • 8/11/2019 Storage Management in Private Cloud

    28/63

    17

    3.3 Use Case Diagram :

    User

    Server

    Storage

    Administrator

    Store Files

    Share Files

    *

    * *

    *

    uses

    *

    *

    *

    *

    Manage Users

    *

    *

    *

    *

    Store/Retrieve Data

    **

    Manage Storage

    1

    * *

    *

    *

    1Intelligent Storage

    Read Share

    uses

    Read-Write Share

    uses

    Sign up

    ** *

    *

    Login*

    * *

    *

    Fig 3.4 Use Case Diagram

  • 8/11/2019 Storage Management in Private Cloud

    29/63

    18

    3.4 Activity Diagram:

    Data StoreServerUser

    Share FileCheck Share Type

    Display Result

    Grant Read AccessGrant Write Access

    Read

    Read-Write

    Forward Result

    Grant Read Access

    Fig 3.5 Activity DiagramSharing a File

  • 8/11/2019 Storage Management in Private Cloud

    30/63

    19

    3.5 Sequence Diagram:

    User ServerData Store

    Send Data to be stored

    [Success] Send Notification

    Display Result

    Forward Data

    Set Permissions

    Intelligent Storage

    Fig 3.6 Sequence DiagramFile Upload

  • 8/11/2019 Storage Management in Private Cloud

    31/63

    20

    3.6 Experiment Setup:

    The Private Cloud is implemented in a virtual environment using VMware.

    The Cloud used here is Ubuntu Enterprise Cloud.

    The Server includescloud controller, cluster controller, storage controller,

    Walrus Storage service.

    The complete installation procedure is very detailed and thus only basic stepsare mentioned here.

    Install and Configure the Node Controller(s)

    Installing the Eucalyptus Node Service on a running Ubuntu system consistsof doing the following on one or more systems:

    1.

    Install Ubuntu 10.04 Server

    Fig 3.7 Install Screen

  • 8/11/2019 Storage Management in Private Cloud

    32/63

  • 8/11/2019 Storage Management in Private Cloud

    33/63

    22

    2. Update to the most current state in the Ubuntu archive:

    sudo apt-get update

    sudo apt-get dist-upgrade

    3.

    Install the eucalyptus-nc package

    sudo apt-get install eucalyptus-nc

    4.

    Install the Node controller on a different Virtual Machine.5. Repeat steps 2 and 3 for the node controller.6.

    Finally, you need to install the Cloud Controller's eucalyptususer's public sshkey into the Node Controller's eucalyptus user's authorized_keys file. Theeasiest way to do this:

    1. On the Node Controller, temporarily set a password forthe eucalyptususer:

    o sudo password eucalyptus

    2. Then, on the Cloud Controller:

    o sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub

    eucalyptus@

    3. You can now remove the password of the eucalyptusaccount on theNode:

    o sudo password -d eucalyptus

    3.6.1 Obtain Credentials

    After installing and booting the Cloud Controller, users of the cloud will need toretrieve their credentials. This can be done either through a web browser, or at the

    command line.

    From a Web Browser1.

    From your web browser (either remotely or on your Ubuntu server) access thefollowing URL:

    https://:8443/Important!You must use a secure connection, so make sure you use "https"not "http" in your URL. You will get a security certificate warning. You willhave to add an exception to view the page. If you do not accept it you will not

    be able to view the Eucalyptus configuration page.

    2.

    Use username 'admin' and password 'admin' for the first time login (you will beprompted to change your password).

  • 8/11/2019 Storage Management in Private Cloud

    34/63

    23

    3. Then follow the on-screen instructions to update the admin password and emailaddress.

    4. Once the first time configuration process is completed, click the 'credentials'tab located in the top-left portion of the screen.

    5. Click the 'Download Credentials' button to get your certificates

    6. Save them to ~/.euca

    7. Unzip the downloaded zipfile into a safe location (~/.euca)

    unzip -d ~/.euca mycreds.zip

    From a Command Line

    1.

    Alternatively, if you are on the command line of the Cloud Controller, you canrun:

    2.

    mkdir -p ~/.euca3. chmod 700 ~/.euca4.

    cd ~/.euca5. sudo euca_conf --get-credentials mycreds.zip6. unzip mycreds.zip7. ln -s ~/.euca/eucarc ~/.eucarc

    3.6.2 Extracting and Using Your Credentials

    Now you will need to setup EC2 API and AMI tools on your server using X.509certificates.

    1.

    Install the required cloud user tools:

    sudo apt-get install euca2ools2. To validate that everything is working correctly, get the local cluster

    availability details:

    3. . ~/.euca/eucarc4. euca-describe-availability-zones verbose5.

    AVAILABILITYZONE myowncloud 192.168.1.16. AVAILABILITYZONE |- vm types free / max cpu ram disk7.

    AVAILABILITYZONE |- m1.small 0004 / 0004 1 192 28. AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5

    9.

    AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 1010.AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20

    https://help.ubuntu.com/community/UEC/Credentials?action=AttachFile&do=upload_form&ticket=00527bc3d5.b9d1d30e7ea91d58b5da583d7ed7d389866fd690&target=UECcredentials-2.png
  • 8/11/2019 Storage Management in Private Cloud

    35/63

    24

    AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20

    3.6.3 Install an image from the store

    The following is by far the simplest way to install an image. However, advanced

    users may be interested in learning how to Bundle their own image.The simplest way to add an image to UEC is to install it from the Image Store on theUEC web interface.

    1.

    Access the web interface at the following URL (Make sure you specify https):

    https://:8443/

    2.

    Enter your login and password (if requested, as you may still be logged in fromearlier)

    3.

    Click on the Store tab

    Fig 3.10 UEC store4.

    Browse available images

    5.

    Click on install for the image you want

    Once the image has been downloaded and installed, you can click on "How to run?"that will be displayed below the image button to view the command to execute toinstantiate (start) this image. The image will also appear on the list given on theImage tab.

  • 8/11/2019 Storage Management in Private Cloud

    36/63

    25

    Fig 3.11 UEC Images

    3.6.4 Run an Image

    There are multiple ways to instantiate an image in UEC:1. Use the command line

    2. Use one of the UEC compatible management tools such as Landscape

    3.

    Use theElasticFox extension to FirefoxHere we will describe the process from the command line:

    1. Before running an instance of your image, you should first create a keypair(ssh key) that you can use to log into your instance as root, once it boots. Thekey is stored, so you will only have to do this once. Run the followingcommand:

    2.

    if [ ! -e ~/.euca/mykey.priv ]; then3. mkdir -p -m 700 ~/.euca4. touch ~/.euca/mykey.priv5. chmod 0600 ~/.euca/mykey.priv6. euca-add-keypair mykey > ~/.euca/mykey.priv7.

    fi

    Note:You can call your key whatever you like (in this example, the key iscalled 'mykey'), but remember what it is called. If you forget, you can alwaysrun euca-describe-keypairs to get a list of created keys stored in the system.

    8. You must make sure to source ~/.euca/eucarc before you run any of theeucatools. It is probably best to add this to the bottom of your .bashrc script.

    9. You must also allow access to port 22 in your instances:

    euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

    10.Next, you can create instances of your registered image:

    euca-run-instances $EMI -k mykey -t m1.small

    https://help.ubuntu.com/community/UEC/ElasticFoxhttps://help.ubuntu.com/community/UEC/ElasticFox
  • 8/11/2019 Storage Management in Private Cloud

    37/63

    26

    Note:If you receive an error regarding image_id, you may find it by viewingImages page or click "How to Run" on the Store page to see the samplecommand.

    11.The first time you run an instance, the system will be setting up caches for the

    image from which it will be created. This can often take some time the firsttime an instance is run given that VM images are usually quite large. Tomonitor the state of your instance, run:

    watch -n5 euca-describe-instances

    In the output, you should see information about the instance, including its state.While first-time caching is being performed, the instance's state will be'pending'.

    12.

    When the instance is fully started, the above state will become 'running'. Lookat the IP address assigned to your instance in the output, then connect to it:

    13.IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk

    '{print $4}')

    ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR

    14.And when you are done with this instance, exit your SSH connection, thenterminate your instance:

    15.

    INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 |awk '{print $2}')

    euca-terminate-instances $INSTANCEID

    The Node uses the node controller and the server uses the cloud controller,cluster controller and the storage controller.

    After installing and configuring server and node check the servers IP addressusing :

    o Ifconfig

    Update the server and node using :

    o

    sudo apt-get updateo sudo apt-getu upgrade

  • 8/11/2019 Storage Management in Private Cloud

    38/63

    27

    Test the server-node connection using:

    o ping

    Install desktop on the node using:

    sudo apt-get install ubuntu-desktop

    On the nodes browser, connect to the server by giving the address

    https://:8443/

    Perform first time configuration.

    On the server side run :

    o

    sudo vi /usr/lib/python2.6/dist-packages/imagestore/lib/fetch.py

    Add the following lines after line 142 :

    o

    curl.setopt(pycurl.SSL_VERIFYPEER, 0)o curl.setopt(pycurl.SSL_VERIFYHOST, 0)

    Save and close the file.

    Get certificates for the server using:

    o sudo wgetP /usr/local/share/ca-certificates/ --no-check-certificatehttps://certs.godaddy.com/repository/gd-class2-root.crthttps://certs.godaddy.com/repository/gd_intermediate.crt

    https://certs.godaddy.com/repository/gd_cross_intermediate.crt

  • 8/11/2019 Storage Management in Private Cloud

    39/63

    28

    Update server certificates using:

    o sudo update-ca-certificates

    Get the server credentials using:

    o mkdir -p ~/.eucao chmod 700 ~/.eucao

    cd ~/.eucao sudo euca_conf --get-credentials mycreds.zipo unzip mycreds.zipo ln -s ~/.euca/eucarc ~/.eucarco cd

    Install euca tools using:

    o sudo apt-get install euca2ools

    Get availability details using:

    o . ~/.euca/eucarc

    o

    euca-describe-availability-zones verbose

    On the node side, open the server login page; go to the store tab anddownload the image suitable for the cloud used.

    Create a key-pair using:

  • 8/11/2019 Storage Management in Private Cloud

    40/63

    29

    o if [ ! -e ~/.euca/mykey.priv ];mkdir -p -m 700 ~/.eucao touch ~/.euca/mykey.privo chmod 0600 ~/.euca/mykey.privo euca-add-keypair mykey > ~/.euca/mykey.priv fi

    Source the eucarc file using:o . ~/.euca/eucarc

    Allow access to port 22 using:o euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

    Run the image using:

    euca-run-instances -k mykey -t m1.small

  • 8/11/2019 Storage Management in Private Cloud

    41/63

    30

    Chapter 4

    Implementation

    4.1 Methodology Used:Waterfall Model is adopted as the design process for this project. The

    Waterfall development Model is a sequential design processes, in which progress is

    seen as flowing steadily downwards (like a waterfall) through the phases of

    Requirements Specification, Design, Construction (Implementation or Coding),

    Integration, Testing and Debugging (Validation), Installation, and Maintenance.

    Fig4.1 Waterfall Model

    The selection of waterfall model has the following reasons:

    a) Requirements are clear and unambiguous.

    b)

    Project Reviews are conducted at the end of each phase of the

    development.

    c) The feedback from the reviews is followed up at the end of each phase

    of the development.

    Requirements

    Design

    Construction

    Integration

    Testing

  • 8/11/2019 Storage Management in Private Cloud

    42/63

    31

    4.2 Implementation of the System:The project should be developed as a File sharing website on a private cloud

    environment. The website is run on the cloud server and thus can be easily accessed

    by the nodes in the cluster. The uploaded files are store on the server and share by

    using intelligent storage management. The website consists of the following modules

    Sign-up module

    Log-in module

    File upload module

    File index module

    File access module

    File download module

    File share module

    File delete module

    This is the homepage for the project website. Users can sign-up, log-in, learn how to

    use the system and contact the administrators using the various links provided at the

    bottom of the website.

    Fig 4.2 Home Page

  • 8/11/2019 Storage Management in Private Cloud

    43/63

    32

    4.2.1 Sign-up module:

    In this module the user registers on the website by giving the appropriate information

    such as: User name, Password, Email. When the user clicks the Register button the

    server creates a folder for the user where the files uploaded by the user will be saved.

    Fig 4.3 Sign up Page

  • 8/11/2019 Storage Management in Private Cloud

    44/63

    33

    4.2.2 Log-in module:

    The user uses this screen to log-in to the website. If the user provides the correctcredentials, they are logged in to the system and their user name is stored in a sessionvariable. After the user has logged in the Sign up and Login links on the bottom

    of the website are replaced by Access Files and Upload Files links which giveaccess to upload files and allow the user to access the uploaded files respectively.

    Fig 4.5 Log-in page

  • 8/11/2019 Storage Management in Private Cloud

    45/63

    34

    4.2.3 File Upload module:

    After the user has logged in to the system they can upload files to the cloud by usingthe upload module. In this module the user points to the path of the files and clicksupload. The server then checks if any file with the same name is already present. If

    yes then it checks whether the user has read or read- write permission. If the user hasonly read permission then Access Denied message will be displayed. If the user

    has read- write permission then an Are you sure? message will be displayed to getuser confirmation before uploading the file to the server. If the file doesnt exist inthe database then the file is simply uploaded. After uploading an entry for the file iscreated in the database with the readand writepermission set to the user or if filealready exists on the server the database entry is updated.

    Fig 4.6 Upload Page

  • 8/11/2019 Storage Management in Private Cloud

    46/63

    35

    Fig 4.7 File successfully uploaded

    Fig 4.8 Confirm Replace Page

  • 8/11/2019 Storage Management in Private Cloud

    47/63

    36

    4.2.4 File index module:

    After the user has uploaded one or more files, they can access the uploaded files byusing the file index module. When the user clicks the Access files link the server

    accesses the file table in the database and finds the files for which the user has read

    or write permission and retrieves them. These files are displayed in a table formatwith three columns: File Name, Uploaded by and Last Updated. The File names

    are displayed as a link and by clicking the links the user can access the respectivefiles.

    Fig 4.9 File Index

  • 8/11/2019 Storage Management in Private Cloud

    48/63

    37

    4.2.5 File Access module:

    The user accesses the individual files using the file access module. In this module thefile is retrieved from storage and displayed to the user. If the user has only read

    permission then they can only view and download the file. If the user has read and

    write permissions then the user can share, download and delete the uploaded file. Onthe left hand side of the webpage, information about the file is displayed. Thisincludes: File name, Uploaded by, File size and Last updated.

    Fig 4.10 Access File

  • 8/11/2019 Storage Management in Private Cloud

    49/63

    38

    4.3.6 File Download module:

    The user downloads the file using the download module. In this module the relevantfile is accessed in storage, its data is read and outputted to the user in the form of afile. The method of download varies based on browser and users softwares.

    Fig 4.11 File Download

  • 8/11/2019 Storage Management in Private Cloud

    50/63

    39

    4.2.7 File Share Module:

    The user shares the uploaded file using the file share module. In this module the userfirst gives the ID of the user to which file should be shared and then gives the type ofsharing to be done, whether it is a read share or a read-write share. When the user

    clicks the share button the server checks the type of share that the user has chosenand updates the privileges accordingly. There is no real sharing of files done here(thought that can be easily added), but rather granting permission to access theuploaded files. The shared files are shown to the appropriate user when they try toaccess the uploaded files.

    Fig 4.12 File Share

    Fig 4.13 Shared File

  • 8/11/2019 Storage Management in Private Cloud

    51/63

    40

    4.2.8 File Delete module:

    The user deletes the uploaded files using the delete module. When the user isviewing the uploaded file, if they click the Delete link then they are forwarded to

    the delete module. First the website checks whether the user has read-write privilege

    and if yes it then asks the user for confirmation before deleting the file. If the userconfirms deletion the file is deleted and the associated entry in the database table isremoved.

    Fig 4.14 Confirm Deletion

    Fig 4.15 File Deleted

  • 8/11/2019 Storage Management in Private Cloud

    52/63

    41

    4.3 Testing -Unit Test Case Specification

    4.3.1 UTC 1 - Test whether the website can be accessed within the

    cluster.

    Test Case ID UTC 1

    Test Case Description Test whether the output of the application deployed inUbuntu is displayed correctly.

    Expected Output The output of the application should be displayed.

    Test Setup The application starts running in the

    Test Procedure

    Step Input Expected Output

    1. User types the address in thebrowser

    The application displays the output inthe browser

  • 8/11/2019 Storage Management in Private Cloud

    53/63

    42

    4.3.2 UTC 2Test whether the user is able to register

    Test Case ID UTC 2

    Test Case Description Test whether the user is able to register to upload a file.

    Expected Output The output of the application should display that the useris successfully registered to upload a file

    Test Setup The application deployed takes the values given andvalidates the user as a new user.

    Test Procedure

    Step Input Expected Output

    1. User types only the username/onlypassword or username & passwordonly and clicks enter.

    The application asks for a passwordor email id .

    2. User types the password andconfirm password differently

    The applications displays the outputas passwords dont match

    3. The passwords match and user nameand all are specified

    The output is displayed assuccessfully registered.

  • 8/11/2019 Storage Management in Private Cloud

    54/63

    43

    4.3.3 UTC 3Test whether the user is able to upload files

    Test Case ID UTC 3

    Test Case Description Test whether the user is able to upload a file.

    Expected Output The output of the application should display that the userhas successfully uploaded the file

    Test Setup The application deployed validates the user and uploadsthe file as he wishes.

    Test Procedure

    Step Input Expected Output

    1. User selects the file from the diskand clicks submit

    The application accepts it and loadsthe file into the cloud.

    2. User selects a very large file The applications displays that verylarge files cant be uploaded

    3. The user selects an empty file The output is displayed as 0kb fileuploaded.

  • 8/11/2019 Storage Management in Private Cloud

    55/63

    44

    Fig 4.16 File Uploaded

    4.3.4 UTC 4Test whether another user is able to access uploaded

    files

    Test Case ID UTC 4

    Test Case Description Test whether another user is able to see the uploaded file.

    Expected Output The output of the application should display that the useris able to see another

    Test Setup The application deployed is able to display the uploadedfiles to the user once

  • 8/11/2019 Storage Management in Private Cloud

    56/63

    45

    Test Procedure

    Step Input Expected Output

    1. User types only the username/onlypassword and clicks enter.

    The application asks for a password.

    2. User types the password differently The applications displays the outputas wrng password

    3. The user successfully logs in andclicks access files

    The output is displayed with the filesthat have been uploaded by him andthose files which have been shared tohim.

    Fig 4.17 File Index view

  • 8/11/2019 Storage Management in Private Cloud

    57/63

    46

    4.3.5 UTC 5Test whether the user is able to download files

    Test Case ID UTC 5

    Test Case Description Test whether the user is able to download an uploadedfile.

    Expected Output The output of the application should display that the useris able to download and save it in a desired location

    Test Setup The application deployed downloads the file uploaded

    Test Procedure

    Step Input Expected Output

    1. User successfully logs in The application displays theusername and he can access orupload files.

    2. User accesses the files stored in thecloud

    The application displays the output asa table with the list of files that have

    been uploaded

    3. The user clicks on the file andselects download

    A window pops up with a messageon where to store the file .

  • 8/11/2019 Storage Management in Private Cloud

    58/63

    47

    4.3.6 UTC 6Test whether the user is able to share the upload files

    Test Case ID UTC 6

    Test Case Description Test whether the user is able to share the uploaded file.

    Expected Output The output of the application should display that theusers enabled in the share are able to access those files.

    Test Setup The application deployed takes the username of those towhom the files are to be shared.

    Test Procedure

    Step Input Expected Output

    1. User types a valid username andclicks share

    The application asks for the mode ofsharing whether it is read or readwrite

    2. User types The applications displays the output

    as passwords dont match

    3. The passwords match and user nameand all are specified

    The output is displayed assuccessfully registered.

  • 8/11/2019 Storage Management in Private Cloud

    59/63

    48

    Fig 4.18 File Share Test

    Fig 4.19 File Share Test 2

  • 8/11/2019 Storage Management in Private Cloud

    60/63

    49

    4.3.7 UTC 7Test whether the user is able to delete the uploaded

    file(s)

    Test Case ID UTC 7

    Test Case Description Test whether the user is able to delete the uploaded file.

    Expected Output The output of the application should display that a filehas been deleted from the storage cloud

    Test Setup The application deployed selects the name of the file tobe removed and deletes it accordingly

    Test Procedure

    Step Input Expected Output

    1. A user who has uploaded a fileclicks the access file option

    The list of files uploaded aredisplayed in a table.

    2. The user then clicks the file whichhe had uploaded

    The output is a new window with 3options like download , share anddelete.

    3. The user clicks the delete option The output is displayed as a pop upsaying that the user is about to deletethe file permanently.

    1.

    The user clicks on submit The file is deleted permanently from

    the cloud.

  • 8/11/2019 Storage Management in Private Cloud

    61/63

    50

    Chapter 5

    CONCLUSION AND FUTURE WORK

    5.1 ConclusionThe website has been successfully developed and deployed in the private cloudenvironment. Thus the website provides file upload, file download and file sharingfeatures and uses intelligent storage management mechanisms to increase securityand the efficiency of memory management. This website can be easily deployed inany private cloud environment to promote file sharing.

  • 8/11/2019 Storage Management in Private Cloud

    62/63

    51

    5.2 Future Work:

    This can be extended to a large software application which requires

    secured file storage, secured file access and a secured file sharing,uploading facility in a cloud based environment. The application can alsoimprove the existing storage mechanism facility of any currentlydeployed cloud storage application. The application can also be usefulfor integrating other cloud storage facility so as to enhance security,transparency, simplicity for small as well as large files. The applicationcan be useful for simplifying the cloud storage mechanism by ensuringthat cloud storage need not require an expounding method to providesuch a facility.

  • 8/11/2019 Storage Management in Private Cloud

    63/63

    References:

    [1]. Sankaran Sivathanu, Ling Liu, Mei Yiduo and Xing Pu, StorageManagement in Virtualized Cloud Environment in IEEE 3rd InternationalConference on Cloud Computing (CLOUD), 2010, PP 204-211.

    [2]. Vaibhav Khadilkar, Anuj Gupta, Murat Kantarcioglu, Latifur Khan,Bhavani Thuraisingham, Secure Data storage and Retrieval in the Cloud, in6th International Conference on Collaborative Computing: Networking,Applications and Worksharing (CollaborateCom), 2010, pp 1-8.

    [3]. R. Arokia Paul Rajan, S. Shanmugapriyaa, Evolution of Cloud Storage asCloud Computing Infrastructure Service, in arXiv:1308.1303v1 [cs.DC].

    [4]. Yaga Reddemma, Lingala Thirupathi , Sreekanth Gunti, A Secure Model

    for Cloud Computing Based Storage and Retrieval, in IOSR Journal ofComputer Engineering (IOSRJCE) Volume 6, Issue 1 (Sep-Oct. 2012), pp 01-05 .

    [5]. Cong Wang, Qian Wang, Kui Ren, Ning Cao and Wenjing Lou, TowardsSecure and Dependable Storage Services in Cloud Computing, in IEEETransactions on Services Computing, vol. 5, no. 2, pp. 220-232, Second 2012,doi:10.1109/TSC.2011.24 .

    [6]. Cong Wang, Qian Wang, Kui Ren, Wenjing Lou Privacy-PreservingPublic Auditing for Data Storage Security in Cloud Computing, in 2010

    Proceedings IEEE INFOCOM, pp 1 - 9.

    [7]. James Broberg, Rajkumar Buyya, Zahir Tari, MetaCDN: HarnessingStorage Clouds for high performance content delivery, in Journal of

    Network and Computer Applications, Volume 32, Issue 5, September 2009,Pages 10121022 .