Sei sulla pagina 1di 77

A

PROJECT
Report on

DeyPoS: DEDUPLICATABLE DYNAMIC PROOF OF


STORAGE FOR MULTI-USER ENVIRONMENT

Thesis submitted in partial fulfillment of requirement for award of degree of

Master of Technology
In
COMPUTER SCIENCE AND ENGINEERING

Submitted By
B.VINIL KUMAR
15P61D5819
Under the Esteemed Guidance of
V.SRIDHAR REDDY
ASSOCIATE PROFESSOR

VIGNANA BHARATHI INSTITUTE OF TECHNOLOGY Aushapur (V), Ghatkesar

(M), R.R.Dist-501301, Telangana, India. Department of COMPUTER SCIENCE AND

ENGINEERING Academic Year (2015-2017)


1
Department of COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

This is to certify that the Thesis entitled “DeyPoS: DEDUPLICATABLE


DYNAMIC PROOF OF STORAGE FOR MULTI-USER ENVIRNOMENT” Is
being submitted by B.VINIL KUMAR bearing roll number 15P61D5819 in partial
fulfillment of requirement for award of degree of Master of Technology in
COMPUTER SCIENCE AND ENGINEERING to the VIGNANA BHARATHI
INSTITUTE OF TECHNOLOGY, affiliated to JNTU HYDERABAD is a record of
bonafied work carried out by him under my guidance and supervision during the
academic year 2015-2017. The results presented in this thesis have been verified and are
found to be satisfactory. The results embodied in this thesis have not been submitted to
any other University for the award of any other degree or diploma.

2
Department of COMPUTER SCIENCE AND ENGINEERING

DECLARATION

I B.VINIL KUMAR bearing Roll Number 15P61D5819 a bonafied student of


VIGNANA BHARATHI INSTITUTE OF TECHNOLOGY AND SCIENCE, would
like to declare that the project titled “DeyPoS: DEDUPLICATABLE DYNAMIC
PROOF OF STORAGE FOR MULTI-USER ENVIRONMENT” a partial fulfillment
of Master of Technology Degree course of VIGNANA BHARATHI INSTITUTE OF
SCIENCE AND TECHNOLOGY, affiliated to JNTU HYDERABAD is my original
work in the year 2015 under the guidance of Mr.V.Sridhar Reddy, Associate Professor
of COMPUTER SCIENCE AND ENGINEERING Department.

Date: B.VINIL KUMAR

15P61D5819

3
ACKNOWLEDGEMENT

First and foremost, I wish to express my gratitude towards the institution


“VIGNANA BHARATHI INSTITUTE OF TECHNOLOOGY” for fulfilling the
most cherished goal of my life to do Master of Technology.

It is great pleasure in expressing deep sense of gratitude to my Internal


Guide Mr.V.Sridhar Reddy Associate Professor, Department of Computer Science
and Engineering for his valuable guidance and freedom he gave to me.

I also express my sincere thanks to Mr.N.SRINIVAS, Head of the CSE


Department for his encouragement and support throughout the Project.

I also express my sincere thanks to Mr. SRIDHAR Reddy, M.Tech


Coordinator for his encouragement and support throughout the Project.

I take immense pleasure in thanking Prof. Dr. G.AMARENDAR RAO


Principal, VIGNANA BHARATHI INSTITUTE OF TECHNOLOGY, Ghatkesar
for having permitted me to carry out this Project work.

My outmost thanks to all the FACULTY MEMBERS and NON-


TEACHING STAFF of the Department of Computer Science and Engineering for
their support throughout my Project work

B.VINIL KUMAR
15P61D5819

4
ABSTRACT

Dynamic Proof of Storage (PoS) is a useful cryptographic primitive that enables a user to check
the integrity of outsourced files and to efficiently update the files in a cloud server. Although
researchers have proposed many dynamic PoS schemes in single user environments, the problem
in multi-user environments has not been investigated sufficiently. A practical multi-user cloud
storage system needs the secure client-side cross-user deduplication technique, which allows a
user to skip the uploading process and obtain the ownership of the files immediately, when other
owners of the same files have uploaded them to the cloud server. To the best of our knowledge,
none of the existing dynamic PoSs can support this technique. In this paper, I introduce the
concept of Deduplicatable dynamic proof of storage and propose an efficient construction called
DeyPoS, to achieve dynamic PoS and secure cross-user deduplication, simultaneously.
Considering the challenges of structure diversity and private tag generation, I exploit a novel tool
called Homomorphic Authenticated Tree (HAT). I prove the security of our construction, and the
theoretical analysis and experimental results show that our construction is efficient in practice.

5
Table of contents
Contents Page No

1. INTRODUCTION 08

1.1. Objective of the project 08

2. LITERATURE SURVER 09

2.1. A Secure and Dynamic Multi-Keyword Ranked 09

Search Scheme over Encrypted Cloud Data

2.2. From Security to Assurance in the Cloud: A Survey 09

2.3. Provable data possession at untrusted stores 10

2.4. Scalable and Efficient Provable Data Possession 10

2.5. Proofs of storage from Homomorphic identification protocols 11

3. ANALYSIS 12

3.1. Introduction 12

3.2. Existing System 12

3.2.1. Disadvantages of Existing System 13

3.3. Proposed System 13

3.3.1. Advantages of Proposed System 14

3.4. Process Model used with Justification 14

3.5. Software Requirement Specification 23

3.5.1. General Description 23

3.5.2. External Interface Requirements 25

4. DESIGN 26

4.1. Use Case Diagram 27

6
4.2. Class Diagram 28

4.3. Sequence Diagram 29

4.4. Component Diagram 30

4.5. Deployment Diagram 31

4.6. Data flow Diagram 32

4.7. Activity Diagram 34

5. IMPLEMENTATION 35

5.1. Implementation of Proposed System 35

5.1.1. Modules 36

5.1.1.1. System Construction 36

5.1.1.2. Block Generation 37

5.1.1.3. Deduplicatable Dynamic PoS 37

5.1.1.4. Homomorphic Authenticated Tree 38

5.2. Sample Code 39

6. TESTING 58

7. SCREENSHOOTS 62

8. CONCLUSION 74

9. BIBLIOGRAPHY 75

7
1. INTRODUCTION

Storage outsourcing is turning into additional and additional engaging to each business and
domain as a result of the benefits of low price, high accessibility, and simple sharing. mutually of
the storage outsourcing forms, cloud storage gains wide attention in recent years. several firms,
like Amazon, Google, and Microsoft, give their own cloud storage services, wherever users will
transfer their files to the servers, access them from numerous devices, and share them with the
others. though cloud storage services area unit wide adopted in current days, there still stay
several security problems and potential threats .Data integrity is one in every of the foremost
vital properties once a user outsources its files to cloud storage. Users ought to be convinced that
the files hold on within the server aren't tampered. ancient techniques for safeguarding
knowledge integrity, like message authentication codes (MACs) and digital signatures need users
to transfer all of the files from the cloud server for verification, that incurs an important
communication price. These techniques aren't appropriate for cloud storage services wherever
users might check the integrity oft, like each hour .Thus; researchers introduced Proof of Storage
(PoS) for checking the integrity while not downloading files from the cloud server. what is more,
users might also need many dynamic operations, like modification, insertion, and deletion, to
update their files, whereas maintaining the aptitude of PoS. Dynamic PoS is projected for such
dynamic operations.

Objective of the Project

In this paper, I propose and implement the primary economical construction of


Deduplicatable dynamic PoS referred to as Dey-PoS, that supports unlimited range of
verification and update operations. the safety of this construction is verified within the random
oracle model, and also the performance is analyzed on paper and by experimentation.

8
2. LITERATURE SURVEY

Literature Survey

1) A Secure and Dynamic Multi-Keyword Ranked Search Scheme over Encrypted Cloud
Data

AUTHORS: Z. Xia, X. Wang, X. Sun, and Q. Wang 40%

Due to the increasing quality of cloud computing, further and extra info householders ar
meant to supply their info to cloud servers for nice convenience and reduced worth in info
management. However, sensitive info need to be encrypted before outsourcing for privacy
desires, that obsoletes info utilization like keyword-based document retrieval. throughout this
paper, I gift a secure multi-keyword hierarchical search theme over encrypted cloud info, that at
identical time supports dynamic update operations like deletion and insertion of documents.
Specifically, the vector house model and additionally the widely-used TF x force model ar
combined at intervals the index construction and question generation. I construct a special tree-
based index structure and propose a “Greedy Depth-first Search” formula to provide economical
multi-keyword hierarchical search. The secure kNN formula is utilized to inscribe the index and
question vectors, and within the meanwhile guarantee correct connexion score calculation
between encrypted index and question vectors. thus on resist applied mathematics attacks,
phantom terms ar further to the index vector for blazing search results. due to the utilization of
our special tree-based index structure, the planned theme will do sub-linear search time and
subsume the deletion and insertion of documents flexibly. intensive experiments ar conducted to
demonstrate the efficiency of the planned theme.

2) From Security to Assurance in the Cloud: A Survey

AUTHORS: C. A. Ardagna, R. Asal, E. Damiani, and Q. H. Vu


The cloud computing paradigm has become a mainstream solution for the deployment of
business processes and applications. In the public cloud vision, infrastructure, platform, and
software services are provisioned to tenants (i.e., customers and service providers) on a pay-as-
you-go basis. Cloud tenants can use cloud resources at lower prices, and higher performance and
flexibility, than traditional on-premises resources, without having to care about infrastructure
management. Still, cloud tenants remain concerned with the cloud’s level of service and the
nonfunctional properties their applications can count on. In the last few years, the research
community has been focusing on the nonfunctional aspects of the cloud paradigm, among which

9
cloud security stands out. Several approaches to security have been described and summarized in
general surveys on cloud security techniques. The survey in this article focuses on the interface
between cloud security and cloud security assurance. First, I provide an overview of the state of
the art on cloud security. Then, I introduce the notion of cloud security assurance and analyze its
growing impact on cloud security approaches. Finally, I present some recommendations for the
development of next-generation cloud security and assurance solutions.

3) Provable data possession at untrusted stores


AUTHORS: G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, and D.
Song
I introduce a model for demonstrable information possession (PDP) that permits a
consumer that has keep information at Associate in Nursing untrusted server to verify that the
server possesses the initial information while not retrieving it. The model generates probabilistic
proofs of possession by sampling random sets of blocks from the server, that drastically reduces
I/O prices. The consumer maintains a continuing quantity of data to verify the proof. The
challenge/response protocol transmits alittle, constant quantity of knowledge, that minimizes
network communication. Thus, the PDP model for remote information checking supports
massive information sets in widely-distributed storage system.

I gift 2 provably-secure PDP schemes that square measure a lot of economical than
previous solutions, even in comparison with schemes that bring home the bacon weaker
guarantees. specially, the overhead at the server is low (or even constant), as critical linear within
the size of the information. Experiments victimization our implementation verify the usefulness
of PDP and reveal that the performance of PDP is delimited by disk I/O and not by cryptological
computation.

4) Scalable and Efficient Provable Data Possession


AUTHORS: G. Ateniese, R. Di Pietro, L. V. Mancini, and G. Tsudik
Storage outsourcing may be a rising trend that prompts variety of fascinating security
problems, several of that are extensively investigated within the past. However, demonstrable

10
knowledge Possession (PDP) may be a topic that has solely recently appeared within the analysis
literature. the most issue is the way to often, expeditiously and firmly verify that a storage server
is reliably storing its client's (potentially terribly large) outsourced knowledge. The storage
server is assumed to be untrusted in terms of each security and responsibleness. (In different
words, it would maliciously or accidentally erase hosted data; it would conjointly relegate it to
slow or off-line storage.) the matter is exacerbated by the consumer being atiny low electronic
computer with restricted resources. previous work has addressed this drawback victimisation
either public key cryptography or requiring the consumer to source its knowledge in encrypted
type.
In this paper, I construct a extremely economical and incontrovertibly secure PDP
technique primarily based entirely on parallel key cryptography, whereas not requiring any bulk
cryptography. Also, in distinction with its predecessors, our PDP technique permits outsourcing
of dynamic knowledge, i.e., it expeditiously supports operations, like block modification,
deletion and append.

5) Proofs of storage from Homomorphic identification protocols 67%


AUTHORS: G. Ateniese, S. Kamara, and J. Katz
Proofs of storage (PoS) ar interactive protocols permitting a consumer to verify that a
server reliably stores a file. Previous work has shown that proofs of storage will be created from
any Homomorphic linear critic (HLA). The latter, roughly speaking, ar signature/message
authentication schemes wherever `tags' on multiple messages will be Homomorphically
combined to yield a `tag' on any linear combination of those messages.
I offer a framework for building public-key HLAs from any identification protocol satisfying
bound Homomorphic properties. I then show a way to flip associatey public-key HLA into
publicly-verifiable PoS with communication quality freelance of the file length and supporting
an boundless variety of verifications. I illustrate the employment of our transformations by
applying them to a variant of associate identification protocol by Shoup, therefore getting the
primary unbounded-use PoS supported factorization (in the random oracle model)

11
3. ANALYSIS

Introduction
The Systems Development Life Cycle (SDLC), or code Development Life Cycle in systems
engineering, data systems and code engineering, is that the method of making or sterilization
systems, and therefore the models and methodologies that individuals use to develop these
systems. In code engineering the SDLC idea underpins several varieties of code development
methodologies. These methodologies type the framework for coming up with associated
dominant the creation of an data system the code development method.

Existing System:

 In most of the prevailing dynamic PoSs, a tag used for integrity verification is generated
by the key key of the uploader. Thus, different homeowners United Nations agency have
the possession of the file however haven't uploaded it because of the cross-user
deduplication on the client-side cannot generate a brand new tag once they update the
file. during this state of affairs, the dynamic PoSs would fail.
 Halevi et al. introduced the construct of proof of possession that could be a resolution of
cross-user deduplication on the client-side. It needs that the user will generate the Merkle
tree while not the assistance from the cloud server, that could be a massive challenge in
dynamic PoS.
 Pietro and Sorniotti projected another proof of possession theme that improves the
potency.
 Xu et al.proposed a client-side deduplication theme for encrypted information, however
the theme employs a settled proof algorithmic program that indicates that each file
contains a settled short proof. Thus, anyone United Nations agency obtains this proof will
pass the verification while not possessing the file regionally.

12
Disadvantages Of Existing System:

 Existing dynamic PoSs can not be extended to the multi-user atmosphere.


 All existing techniques for cross-user deduplication on the client-side Ire designed for
static files. Once the files ar updated, the cloud server must regenerate the entire attested
structures for these files, that causes significant computation price on the server-side.
 Due to the matter of structure diversity and personal tag generation, existing system can
not be extended to dynamic PoS.
 Unfortunately, these schemes cannot support deduplication thanks to structure diversity
and personal tag generation.

Proposed System:

 To the simplest of our information, this can be the primary work to introduce a primitive
known as Deduplicatable dynamic Proof of Storage (Deduplicatable dynamic PoS), that
solves the structure diversity and personal tag generation challenges.
 In distinction to the present attested structures, like skip list and Merkle tree, I style a
unique attested structure known as Homomorphic attested Tree (HAT), to scale back the
communication value in each the proof of storage section and also the deduplication
section with similar computation value.
 Note that HAT will support integrity verification, dynamic operations, and cross-user
deduplication with smart consistency.
 I propose and implement the primary economical construction of deduplicatable dynamic
PoS known as Dey-PoS, that supports unlimited range of verification and update
operations. the safety of this construction is proved within the random oracle model, and
also the performance is analyzed in theory and through an experiment.

13
ADVANTAGES OF PROPOSED SYSTEM:

 It is AN economical echt structure.


 It is that the 1st sensible Deduplicatable dynamic PoS theme known as DeyPoS and
tested its security within the random oracle model.
 The theoretical and experimental results show that our DeyPoS implementation is
economical,
 Performs higher particularly once the file size and also the range of the challenged blocks
square measure massive

Process Model Used with Justification

System Architecture:

14
SDLC (Umbrella Model):
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by
software industry to develop good software
Umbrella
DOCUMENT CONTROL

Umbrella
Business Requirement
Documentation

• Feasibility Study
• TEAM FORMATION
Requirements
• Project Specification ANALYSIS &
PREPARATION DESIGN CODE UNIT TEST
Gathering ASSESSMENT

INTEGRATION ACCEPTANCE
& SYSTEM TEST
DELIVERY/INS
TESTING
TALLATION

Umbrella
TRAINING

Stages in SDLC:

• Requirement Gathering
• Analysis
• Designing
• Coding
• Testing
• Maintenance

Requirements Gathering stage:

The necessities gathering method takes as its input the goals known within the high-level
requirements section of the project set up. every goal are refined into a group of 1 or additional
necessities. These necessities outline the most important functions of the meant application,
outline operational knowledge areas and reference knowledge areas, and outline the initial
knowledge entities. Major functions embody crucial processes to be managed, as unwell as
mission crucial inputs, outputs and reports. A user category hierarchy is developed and related to

15
these major functions, data areas, and knowledge entities. every of those definitions is termed a
demand. necessities area unit known by distinctive demand identifiers and, at minimum, contain
a demand title and matter description.

These needs area unit absolutely represented within the primary deliverables for this stage:
the wants Document and therefore the needs Traceability Matrix (RTM). demands|the wants|the
necessities} document contains complete descriptions of every requirement, together with
diagrams and references to external documents as necessary. Note that elaborated listings of info
tables and fields don't seem to be enclosed within the needs document.

The title of every demand is additionally placed into the primary version of the RTM, at the
side of the title of every goal from the project set up. the aim of the RTM is to indicate that the
merchandise parts developed throughout every stage of the package development lifecycle area
unit formally connected to the parts developed in previous stages.

In the needs stage, the RTM consists of an inventory of high-level needs, or goals, by title,
with an inventory of associated needs for every goal, listed by demand title. during this class-
conscious listing, the RTM shows that every demand developed throughout this stage is formally
joined to a particular product goal. during this format, every demand will be copied to a
particular product goal, thus the term needs traceability.

16
The outputs of the requirements definition stage include the requirements document, the
RTM, and an updated project plan.

• Feasibility study is all about identification of problems in a project.


• No. of staff required to handle a project is represented as Team Formation, in this case only
modules are individual tasks will be assigned to employees who are working for that project.
• Project Specifications are all about representing of various possible inputs submitting to the
server and corresponding outputs along with reports maintained by administrator.

Analysis Stage:

The planning stage establishes a germander speedwell read of the meant product, and
uses this to determine the fundamental project structure, judge practicableness and risks related
to the project, and describe acceptable management and technical approaches.

The most crucial section of the project arrange may be a listing of high-level product
necessities, conjointly named as goals. All of the product necessities to be developed throughout
the wants definition stage be due one or a lot of of those goals. The minimum data for every goal
consists of a title and matter description, though further data and references to external
documents could also be enclosed. The outputs of the project {planning stage|drawing
board|drafting board|strategy arrangening stage|starting stage} square measure the configuration
management plan, the standard assurance arrange, and therefore the project arrange and
schedule, with a close listing of scheduled activities for the future necessities stage, and high
level estimates of effort for the out stages.

17
Designing Stage:

The design stage takes as its initial input needs|the wants|the necessities} known within
the approved requirements document. for every demand, a collection of 1 or additional style
parts are made as a results of interviews, workshops, and/or epitome efforts. style parts describe
the required software system options thoroughly, and customarily embrace practical hierarchy
diagrams, screen layout diagrams, tables of business rules, business method diagrams, pseudo
code, and an entire entity-relationship diagram with a full information wordbook. These style
parts are supposed to explain the software system in sufficient detail that experienced
programmers could develop the software system with stripped-down extra input.

When the look document is finalized and accepted, the RTM is updated to indicate that
every style part is formally related to a particular demand. The outputs of the look stage ar the
look document, associate updated RTM, associated an updated project arrange.

18
Development (Coding) Stage:

The development stage takes as its primary input style|the planning|the look} components
represented within the approved design document. for every style component, a group of 1 or
additional software system artifacts are going to be created. software system artifacts embody
however don't seem to be restricted to menus, dialogs, and knowledge management forms,
knowledge news formats, and specialised procedures and functions. acceptable take a look at
cases are going to be developed for every set of functionally connected software system artifacts,
and an internet facilitate system are going to be developed to guide users in their interactions
with the software system.

The RTM are going to be updated to indicate that every developed object is joined to a
selected style component, which every developed object has one or additional corresponding
action at law things. At now, the RTM is in its final configuration. The outputs of the event stage
embody a completely useful set of software system that satisfies the wants and style components
antecedently documented, an internet facilitate system that describes the operation of the
software system, AN implementation map that identifies the first code entry points for all major
system functions, a take a look at arrange that describes the take a look at cases to be accustomed
validate the correctness and completeness of the software system, AN updated RTM, ANd an
updated project arrange.

19
Integration & Test Stage:

During the combination and check stage, the code artifacts, on-line facilitate, and check
knowledge ar migrated from the event surroundings to a separate check surroundings. At this
time, all check cases ar run to verify the correctness and completeness of the code. triple-crown
execution of the check suite confirms a sturdy and complete migration capability. throughout this
stage, reference knowledge is finalized for production use and production users ar known and
coupled to their applicable roles. the ultimate reference knowledge (or links to reference
knowledge supply files) and production user list ar compiled into the assembly Initiation arrange.

The outputs of the combination associate degreed check stage embrace an integrated set
of code, an internet facilitate system, associate degree implementation map, a production
initiation arrange that describes reference knowledge and production users, associate degree
acceptance arrange that contains the ultimate suite of check cases, associate degreed an updated
project arrange.

20
• Installation & Acceptance Test:
During the installation and acceptance stage, the software package artifacts, on-line
facilitate, and initial production information square measure loaded onto the assembly server.
At now, all take a look at cases square measure run to verify the correctness and
completeness of the software package. triple-crown execution of the take a look at suite may
be a necessity to acceptance of the software package by the client.
After client personnel have verified that the initial production information load is correct and
also the take a look at suite has been dead with satisfactory results, the client formally
accepts the delivery of the software package.
The primary outputs of the installation and acceptance stage embody a production
application, a completed acceptance take a look at suite, and a memoranda of client
acceptance of the software package. Finally, the PDR enters the last of the particular labor
information into the project schedule and locks the project as a permanent project record. At
now the PDR "locks" the project by archiving all software package things, the
implementation map, the ASCII text file, and also the documentation for future reference.

21
Maintenance:

Outer rectangle represents maintenance of a project, Maintenance team will start with
requirement study, understanding of documentation later employees will be assigned work and
they will undergo training on that particular assigned category.

For this life cycle there is no end, it will be continued so on like an umbrella (no ending
point to umbrella sticks).

22
Software Requirement Specification

Overall Description:
A software system needs Specification (SRS) – a needs specification for a code is a whole
description of the behavior of a system to be developed. It includes a collection of use cases that
describe all the interactions the users can have with the software system. additionally to use cases,
the SRS additionally contains non-functional needs. Nonfunctional needs square measure needs that
impose constraints on the planning or implementation (such as performance engineering needs,
quality standards, or style constraints).

System needs specification: A structured assortment of knowledge that embodies the


wants of a system. A business analyst, typically titled system analyst, is to blame for analyzing the
business desires of their shoppers and stakeholders to assist determine business issues and propose
solutions. among the systems development lifecycle domain, the BA usually performs a liaison
operate between the business aspect of associate enterprise and also the info technology department
or external service suppliers. comes square measure subject to 3 types of requirements:

Business needs describe in business terms what should be delivered or accomplished to produce
price.
• Product needs describe properties of a system or product (which might be one in every of
many ways that to accomplish a group of business needs.)
• Process needs describe activities performed by the developing organization. as an
example, method needs might specify .Preliminary investigation examine project practicability,
the probability the system are helpful to the organization. the most objective of the practicability
study is to check the Technical, Operational and Economical practicability for adding new
modules and debugging recent running system. All system is possible if they're unlimited
resources and infinite time. There ar aspects within the practicability study portion of the
preliminary investigation:

23
 ECONOMIC FEASIBILITY

This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and development
of the system is limited. The expenditures must be justified. Thus the developed system as Ill
within the budget and this was achieved because most of the technologies used are freely
available. Only the customized products had to be purchased.

 OPERATIONAL FEASIBILITY

Proposed comes area unit useful provided that they will be clad into data system. which
will meet the organization’s in operation necessities. Operational practicability aspects of the
project area unit to be taken as a vital a part of the project implementation. this technique is
targeted to be in accordance with the preceding problems. Beforehand, the management
problems and user necessities are taken into thought. thus there's absolute confidence of
resistance from the users which will undermine the potential application edges. The Ill-planned
style would make sure the best utilization of the pc resources and would facilitate within the
improvement of performance standing.

 TECHNICAL FEASIBILITY

This study is meted out to envision the technical practicableness, that is, the technical
needs of the system. Any system developed should not have a high demand on the offered
technical resources. this may cause high demands on the offered technical resources. this may
cause high demands being placed on the shopper. The developed system should have a modest
demand, as solely lowest or null changes area unit needed for implementing this method.

 SOCIAL FEASIBILITY

The side of study is to see the extent of acceptance of the system by the user. This includes
the method of coaching the user to use the system expeditiously. The user should not feel
vulnerable by the system, instead should settle for it as a necessity. the extent of acceptance by
the users only depends on the ways that area unit used to teach the user concerning the system
and to form him conversant in it. His level of confidence should be raised in order that he's
conjointly ready to create some constructive criticism, that is welcome, as he's the ultimate user
of the system.

24
External Interface Requirements
User Interface

The user interface of this system is a user friendly Java Graphical User Interface.

Hardware Interfaces

The interaction between the user and the console is achieved through Java capabilities.

Software Interfaces

The required software is JAVA1.7.

Operating Environment

Windows etc…

HARDWARE CONFIGURATION

• Processor - Pentium –IV


• Speed - 1.1 GHz

• RAM - 512MB

• Hard Disk - 20 GB

• Key Board - Standard Windows Keyboard

• Mouse - Two or Three Button Mouse

• Monitor - SVGA

SOFTWARE CONFIGURATION
• Operating System : Windows

• Programming Language : JAVA

• Database : MySql

• IDE : Net Beans

25
4. DESIGN

UML diagrams
The Unified Modeling Language permits the technologist to specific Associate in
Nursing analysis model mistreatment the modeling notation that's ruled by a group of syntactical
linguistics and pragmatic rules.

A UML system is depicted mistreatment 5 totally different|completely different}


views that describe the system from clearly different perspective. every read is outlined by a
group of diagram, that is as follows.
• User Model View
• This view represents the system from the user’s perspective.
• The analysis representation describes a usage scenario from the end-users
perspective.

• Structural Model view


• In this model the data and functionality are arrived from inside the system.
• This model view models the static structures.

• Behavioral Model View


It represents the dynamic of activity as components of the system, portraying
the interactions of assortment between varied structural parts delineate within the user model and
structural model read.

• Implementation Model View


In this the structural and behavioral as parts of the system are represented as they
are to be built.

• Environmental Model View


In this the structural and behavioral aspects of the environment in which the
system is to be implemented are represented.

26
USE CASE DIAGRAM:

A use case diagram at its simplest may be a illustration of a user's interaction with the
system and representational process the specifications of a use case. A use case diagram will
portray varied} styles of users of a system and also the various ways in which they act with the
system. this sort of diagram usually} employed in conjunction with the matter use case and can
often be in the middle of alternative styles of diagrams similarly.

REGISTRATION

USER DATA OWNER

LOGIN

UPLOAD

SECRET KEY

CLOUD

DOWNLOAD

DEDUPLICATION

LOGOUT

27
CLASS DIAGRAM:

In computer code engineering, a category diagram within the Unified Modeling


Language (UML) may be a style of static structure diagram that describes the structure of a
system by showing the system's categories, their attributes, operations (or methods), and
therefore the relationships among the categories. It explains that category contains data.

USER DATA OWNER


REGISTRATION LOGIN
REQUEST SECRET KEY UPLOAD
DOWNLOAD DUPLICATION
SECRET KEY
REGISTRATION()
DOWNLOAD() UPLOAD()
DUPLICATION()

CLOUD
STORE FILE
STORE BLOCKS
SECRET KEY
DUPLICATION

FILE()
BLOCKS()
FIND DUPLICATE()

28
SEQUENCE DIAGRAM:

A sequence diagram in Unified Modeling Language (UML) could be a reasonably


interaction diagram that shows however processes operate with each other and in what order. it's
a construct of a Message Sequence Chart. Sequence diagrams area unit generally referred to as
event diagrams, event situations, and temporal arrangement diagrams.

cloud

User Data Owner

Registration

Login

Login

File Upload

Deduplication

Request Share

Activation

Download

29
COMPONENT DIAGRAM:

In the Unified Modeling Language, a element diagram depicts however parts ar wired
along to create larger parts and or software package systems. they're wont to illustrate the
structure of every which way systems

Components ar wired along by victimization Associate in Nursing assembly


instrumentation to attach the specified interface of 1 element with the provided interface of
another element. This illustrates the service client - service supplier relationship between the 2
parts.

30
DEPLOYMENT DIAGRAM:
A preparation diagram within the Unified Modeling Language models the physical
preparation of artifacts on nodes. to explain an internet web site, for instance, a preparation
diagram would show what hardware parts ("nodes") exist (e.g., an internet server, Associate in
Nursing application server, and a information server), what computer code parts ("artifacts") run
on every node (e.g., net application, database), and the way the various items square measure
connected (e.g. JDBC, REST, RMI).
The nodes seem as boxes, and therefore the artifacts allotted to every node seem as
rectangles among the boxes. Nodes might have sub nodes, that seem as nested boxes. one node
during a preparation diagram might conceptually represent multiple physical nodes, like a cluster
of information servers.

31
DATA FLOW DIAGRAM:

Data flow diagrams illustrate but data is processed by a system in terms of inputs and
outputs.

Data flow diagrams are going to be accustomed supply a clear illustration of any
business operate. The technique starts with academic degree overall image of the business and
continues by analyzing each of the purposeful areas of interest. This analysis are going to be
distributed in mere the extent of detail required. The technique exploits approach|a technique}
noted as top-down growth to conduct the Associate in Nursingalysis in an passing targeted
means.

As the name suggests, data flow diagram (DFD) is academic degree illustration that
explicates the passage of information in Associate in Nursing passing technique. A DFD are
going to be merely drawn victimization straightforward symbols. to boot, subtle processes are
going to be merely automated by creating DFDs victimization easy-to-use, free downloadable
illustration tools. A DFD can be a model for constructing and analyzing information processes.
DFD illustrates the flow of information in Associate in Nursing passing technique relying upon
the inputs and outputs. A DFD can also be mentioned as a technique Model. A DFD
demonstrates business or technical technique with the support of the skin data saved, and
therefore the the} data flowing from the strategy to a unique and also the end results.

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.

32
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.

Data Flow Diagram


REGISTERATION

LOGIN

PRE-PROCESS

FILE BLOCK/UPLOAD

DUPLICATION

CHECKING

ACCESS DENIED

UPLOADED IN CLOUD

UPDATE FILE

CHECK CROSS DUPLICATION

PROFF OF STORAGE

DOWNLOAD File/block

END

33
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.

REGISTRATION

LOGIN

FILE/ BLOCK UPLOAD

DUPLICATION

ACCESS DENIED

UPLOADED IN CLOUD

DOWNLOAD file/block

34
5. IMPLEMENTATION

Architecture Diagram

SYSTEM ARCHITECTURE:

35
Modules:
 System Construction
 Block Generation
 Deduplicatable Dynamic POS
 Homomorphic Authenticated Tree

MODULES DESCSRIPTION:

System Construction:

 In the first module I develop the System Construction module, to evaluate and implement
a Deduplicatable dynamic proof of storage and propose an efficient construction called
DeyPoS. For this purpose I develop User and Cloud entities. In User entity, a user can
upload a new File, Update uploaded File blocks and a user can deduplicate other users
File by using Deduplicatable dynamic proof of storage.
 Our system model considers two types of entities: the cloud server and users. For each
file, original user is the user who uploaded the file to the cloud server, while subsequent
user is the user who proved the ownership of the file but did not actually upload the file
to the cloud server.
 In the Cloud entity, the cloud first check login authentication of users and then it gives
permission for deduplication process for authenticated users and user’s data are stored in
blocks.
 The asymptotic performance of our scheme in comparison with related schemes, where n
denotes the number of blocks, b denotes the number of the challenged blocks, and |m|
denotes the size of one block. From the table, I observe that our scheme is the only one
satisfying the cross-user deduplication on the client-side and dynamic proof of storage
simultaneously. Furthermore, the asymptotic performance of our scheme is better than
the other schemes except which only provides weak security guarantee.

36
Block Generation:

 In this module, I develop the Block Generation process. In the update phase, users may
modify, insert, or delete some blocks of the files. Then, they update the corresponding
parts of the encoded files and the authenticated structures in the cloud server, even the
original files were not uploaded by them. Note that, users can update the files only if they
have the ownerships of the files, which means that the users should upload the files in the
upload phase or pass the verification in the Deduplication phase.
 Though I can create n-blocks in this module, I split the files into 3 Blocks. The Blocks for
files are divided equally accordingly and then the blocks are uploaded in the Cloud
Server too.

Deduplicatable Dynamic POS:

 In this module I specialise in a Deduplicatable Dynamic PoS theme in multiuser


environments. Deduplicatable Dynamic Proof of Storage is employed to deduplicate the
opposite users file with correct authentication however while not uploading identical file.
 Deduplicatable Dynamic Proof of Storage (deduplicatable dynamic PoS), that solves the
structure diversity and personal tag generation challenges.
 The main method of this module is Original user is that the user UN agency uploaded the
file to the cloud server, whereas succeeding user is that the user UN agency verified the
possession of the file however failed to really transfer the file to the cloud server. There
ar 5 phases in an exceedingly deduplicatable dynamic PoS system: pre-process, upload,
deduplication, update, and proof of storage.
 In the pre-process part, users shall transfer their native files. The cloud server decides
whether or not these files ought to be uploaded. If the transfer method is granted, move
into the transfer phase; otherwise, move into the deduplication part.
 In the transfer part, the files to be uploaded don't exist within the cloud server. the initial
users write in code the native files and transfer them to the cloud server.

37
 In the deduplication part, the files to be uploaded exist already within the cloud server.
the next users possess the files regionally and also the cloud server stores the documented
structures of the files. succeeding users got to persuade the cloud server that they own the
files while not uploading them to the cloud server.

 In the update part, users could modify, insert, or delete some blocks of the files. Then,
they update the corresponding elements of the encoded files and also the documented
structures within the cloud server, even the initial files Ire not uploaded by them. Note
that, users will update the files providing they need the ownerships of the files, which
implies that the users ought to transfer the files within the transfer part or pass the
verification within the deduplication part. for every update, the cloud server has got to
reserve the initial file and also the documented structure if there exist alternative
homeowners, and record the updated a part of the file and also the documented structure.
this allows users to update a file at the same time in our model, since every update is
barely hooked up to the initial file and documented structure.

 In the proof of storage part, users solely possess atiny low constant size data regionally
and that they need to ascertain whether or not the files ar dependably hold on within the
cloud server while not downloading them. The files might not be uploaded by these users,
however they pass the deduplication part and prove that they need the ownerships of the
files.

Homomorphic Authenticated Tree:

 In this module I style a completely unique attested structure referred to as


homomorphic attested tree (HAT).For scale back the communication value in each the
proof of storage part and therefore the deduplication part with similar computation
value. And conjointly HAT will support integrity verification, dynamic operations, and
cross-user deduplication with sensible consistency.

38
 A HAT may be a binary tree within which every leaf node corresponds to a knowledge
block. tho' HAT doesn't have any limitation on the quantity of knowledge blocks, for
the sake of description simplicity, I assume that the quantity of knowledge blocks n is
up to the quantity of leaf nodes in an exceedingly full binary tree.
 Thus, for a file F = (m1, m2, m3, m4) wherever mι represents the ι-th block of the file.
every node in HAT consists of a four-tuple νi = (i, li, vi, ti). i is that the distinctive
index of the node. The index of the foundation node is one, and therefore the indexes
will increase from high to bottom and from left to right. li denotes the quantity of leaf
nodes that may be reached from the i-th node. vi is that the version range of the i-th
node. ti represents the tag of the i-th node.
 When a HAT is initialized, the version range of every leaf is one, and therefore the
version range of every non-leaf node is that the total of that of its 2 youngsters. For the
i-th node, mi denotes the mixture of the blocks admire its leaves. The tag ti is
computed from F(mi), wherever F denotes a tag generation operate.

Fron t end or User I nterfa ce Desi gn

The entire program is planned to be developed in browser specific surroundings with barely of

Intranet-Based design for achieving the Distributed thought.

The browser specific elements area unit designed by exploitation the markup language standards,

and therefore the dynamism of the designed by concentrating on the constructs of the Java Server

Pages.

Communi ca tion o r Da tabas e Conn ecti vity T ier

The Communication design is intended by concentrating on the Standards of Servlets and

Enterprise Java Beans. The information property is established by victimisation the Java

information Base property.

39
The standards of three-tier design area unit given major concentration to stay the standards of

upper cohesion and restricted coupling for effectiveness of the operations.

Featu res of th e Lan guag e Us ed

In my project, I have chosen Java language for developing the code.

About Java

Initially the language was known as as oak however it had been renamed as Java in 1995. the
first motivation of this language was the requirement for a platform-independent (i.e., design
neutral) language that would be wont to produce code to be embedded in varied client electronic
devices.

 Java may be a programmers language.

 Java is cohesive and consistent.

 Except for those constraints obligatory by the web setting, Java provides the technologist,
full management.

Finally, Java is to Internet programming where C was to system programming.


I mportan ce of J ava to th e In tern et

Java has had a profound impact on the web. this is often because; Java expands the Universe of
objects that may move regarding freely in Internet. in a very network, 2 classes of objects square
measure transmitted between the Server and also the laptop computer. They are: Passive data and
Dynamic active programs. The Dynamic, Self-executing programs cause serious issues within
the areas of Security and likelihood. But, Java addresses those issues and by doing thus, has
opened the door to AN exciting new style of program known as the applications programme.

Java can b e us ed to create two typ es of programs

Applications and Applets: : AN application may be a program that runs on our laptop
underneath the package of that laptop. it's additional or less like one making victimisation C or
C++. Javas ability to form Applets makes it necessary. AN applications programme is AN
application designed to be transmitted over the web and dead by a Java compatible application
program. AN applications programme is truly a little Java program, dynamically downloaded
across the network, similar to a picture. however the distinction is, it's AN intelligent program,
not simply a media file. It will react to the user input and dynamically amendment.

40
Featu res of Jav a

Security:

Every time you that you download a “normal” program; you are risking a viral infection. Prior to
Java, most users did not download executable programs frequently, and those who did scan them
for viruses prior to execution. Most users still worried about the possibility of infecting their
systems with a virus. In addition, another type of malicious program exists that must be guarded
against. This type of program can gather private information, such as credit card numbers, bank
account balances, and passwords. Java answers both these concerns by providing a “firewall”
between a network application and your computer.

When you use a Java-compatible web browser, you can safely download Java applets without
fear of virus infection or malicious intent.

Portability:

For programs to be dynamically downloaded to all the various types of platforms connected to
the Internet, some means of generating portable executable code is needed .As you will see, the
same mechanism that helps ensure security also helps create portability. Indeed, Java’s solution
to these two problems is both elegant and efficient.

41
The Byte code:

The key that enables the Java to unravel the protection and movableness issues is that the output
of Java compiler is computer memory unit code. computer memory unit code may be a
extremely optimized set of directions designed to be dead by the Java run-time system, that is
named the Java Virtual Machine (JVM). That is, in its normal type, the JVM is associate degree
interpreter for computer memory unit code.

Translating a Java program into computer memory unit code helps makes it abundant easier to
run a program during a large choice of environments. the explanation is, once the run-time
package exists for a given system, any Java program will run on that.

Although Java was designed for interpretation, there's technically nothing regarding Java that
forestalls on-the-fly compilation of computer memory unit code into native code. Sun has simply
completed its simply In Time (JIT) compiler for computer memory unit code. once the JIT
compiler may be a a part of JVM, it compiles computer memory unit code into possible code in
real time, on a piece-by-piece, demand basis. it's impossible to compile a whole Java program
into possible code all quickly, as a result of Java performs varied run-time checks that may be
done solely at run time. The JIT compiles code, because it is required, throughout execution.

Java, Virtual Machine (JVM):

Beyond the language, there's the Java virtual machine. The Java virtual machine is a crucial
component of the Java technology. The virtual machine is embedded among an internet browser
or associate software system. Once a bit of Java code is loaded onto a machine, it's verified. As a
part of the loading method, a category loader is invoked and will computer memory unit code
verification makes positive that the code thats has been generated by the compiler won't corrupt
the machine that its loaded on. computer memory unit code verification takes place at the top of
the compilation method to create positive that's all correct and proper. therefore computer
memory unit code verification is integral to the aggregation and death penalty of Java code.

Overall Description:

Java Source Java byte code JavaVM

Java .Class

Picture showing the development process of JAVA Program

Java programming uses to provide computer memory unit codes and executes them. the primary
box indicates that the Java ASCII text file is found in a very. Java file that's processed with a
Java compiler referred to as javac. The Java compiler produces a file referred to as a .class file,

42
that contains the computer memory unit code. The .class file is that then loaded across the
network or loaded regionally on your machine into the execution surroundings is the Java virtual
machine, that interprets and executes the computer memory unit code.

Java Architecture:

Java design provides a transportable, robust, high playacting surroundings for development. Java
provides movableness by aggregation the computer memory unit codes for the Java Virtual
Machine, that is then taken on every platform by the run-time surroundings. Java may be a
dynamic system, able to load code once required from a machine within the same space or across
the earth.

Compilation of code:

When you compile the code, the Java compiler creates machine code (called byte code) for a
hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the
byte code. The JVM is created for overcoming the issue of portability. The code is written and
compiled for one machine and interpreted on all machines. This machine is called Java Virtual
Machine.

43
Compiling and interpreting Java Source Code:

Java
PC Compiler Java Interpreter
Source
(PC)
Code
Macintosh Byte code Java
………..
Compiler Interpreter
………..
(Macintosh)

SPARC (Platform
Java

Interpreter

(Sparc)

During run-time the Java interpreter tricks the computer memory unit code file into thinking that
it's running on a Java Virtual Machine. actually may|this might} be associate Intel Pentium
Windows ninety five or Sun SARC station running Solaris or Apple Macintosh running system
and every one could receive code from any laptop through net and run the Applets.

44
Simple:

Java was designed to be straightforward for the skilled applied scientist to find out and to use
effectively. If you're associate full-fledged C++ applied scientist, learning Java are even easier.
as a result of Java inherits the C/C++ syntax and plenty of of the thing homeward-bound options
of C++. Most of the confusing ideas from C++ area unit either not noted of Java or enforced in a
very cleaner, a lot of approachable manner. In Java there area unit alittle variety of clearly
outlined ways that to accomplish a given task.

Object-Oriented:

Java wasn't designed to be source-code compatible with the other language. This allowed the
Java team the liberty to style with a blank slate. One outcome of this was a clean usable,
pragmatic approach to things. the thing model in Java is straightforward and simple to increase,
whereas easy varieties, like integers, area unit unbroken as superior non-objects.

Robust:

The multi-platform atmosphere of the net places extraordinary demands on a program, as a result
of the program should execute dependably in a very form of systems. the power to form strong
programs was given a high priority within the style of Java. Java is strictly written language; it
checks your code at compile time and run time.

Java just about eliminates the issues of memory management and deallocation, that is totally
automatic. in a very literary Java program, all run time errors will and will be managed by your
program.

45
JAVASCRIPT:

JavaScript may be a script-based artificial language that was developed by browser


Communication Corporation. JavaScript was originally referred to as Live Script and renamed as
JavaScript to point its relationship with Java. JavaScript supports the event of each consumer and
server elements of web-based applications. On the consumer facet, it are often accustomed write
programs that ar dead by an internet browser inside the context of an internet page. On the server
facet, it are often accustomed write internet server programs that may method info submitted by
an internet browser then update the browser’s show consequently

Even though JavaScript supports each consumer and server internet programming, I like
JavaScript at consumer facet programming since most of the browsers supports it. JavaScript is
nearly as straightforward to find out as markup language, and JavaScript statements are often
enclosed in markup language documents by introduction the statements between a combine of
scripting tags<SCRIPTS>..</SCRIPT>.

<SCRIPT LANGUAGE = “JavaScript”>

JavaScript statements

</SCRIPT>

Here are a few things I can do with JavaScript:

 Validate the contents of a kind and build calculations.


 Add scrolling or dynamical messages to the Browser’s standing line.
 Animate pictures or rotate pictures that amendment after I move the mouse over
them.
 Detect the browser in use and show totally different content for various browsers.
 Detect put in plug-ins and send word the user if a plug-in is needed.
I can do much more with JavaScript, including creating entire application.

46
JavaScript Vs Java:

JavaScript and Java are entirely completely different languages. a couple of the foremost evident
variations are:

 Java applets ar typically displayed throughout a box within the net document; JavaScript
can have a bearing on any a vicinity of the net document itself.

 While JavaScript is best suited to easy applications and adding interactive choices to web
pages; Java are going to be used for implausibly sophisticated applications.

There unit many completely different variations but the important issue to remember is that
JavaScript and Java unit separate languages. they are every useful for varied things; so they will
be used on to combine their blessings.

ADVANTAGES:

 JavaScript is used for Sever-side and Client-side scripting.

 it's additional versatile than VBScript.

 JavaScript is that the default scripting languages at Client-side since all the browsers
supports it.

47
Hyper Text Markup Language:

Hypertext language (HTML), the languages of the planet Wide internet (WWW), permits users
to produces websites that embody text, graphics and pointer to different websites (Hyperlinks).

HTML isn't a artificial language however it's associate application of ISO commonplace 8879,
markup language (Standard Generalized Markup Language), however specialised to machine-
readable text and tailored to the Ib. the thought behind machine-readable text is that rather than
reading text in rigid linear structure, I will simply jump from one purpose to a different purpose.
I will navigate through the data supported our interest and preference. A language is solely a
series of components, every delimited with special characters that outline however text or
different things penned among the weather ought to be displayed. Hyperlinks square measure
underlined or emphasised works that load to different documents or some parts of an equivalent
document.

HTML will be wont to show any form of document on the host pc, which might be
geographically at a special location. it's a flexible language and might be used on any platform or
desktop.

HTML provides tags (special codes) to create the document look enticing. HTML tags aren't
case-sensitive. mistreatment graphics, fonts, totally different sizes, color, etc., will enhance the
presentation of the document. something that's not a tag is a component of the document itself.

Basic HTML Tags:

<! -- --> Comments

<A>………. </A> Creates hypertext links

<B>………. </B> Formats text as bold

<BODY>…</BODY> Contains all tags and text in the HTML document

<CENTER>...</CENTER> Creates text

<DD>…</DD> Definition of a term

48
<DL>...</DL> Creates definition list

<FONT>…</FONT> Formats text with a particular font

<FORM>...</FORM> Encloses a fill-out form

<FRAME>...</FRAME> Defines a particular frame in a set of frames

<H#>…</H#> Creates headings of different levels

<HEAD>...</HEAD> Contains tags that specify information about a document

<HR>...</HR> Creates a horizontal rule

<HTML>…</HTML> Contains all other HTML tags

<META>...</META> Provides meta-information about a document

<SCRIPT>…</SCRIPT> Contains client-side or server-side script

<TABLE>…</TABLE> Creates a table

<TD>…</TD> Indicates table data in a table

<TR>…</TR> Designates a table row

<TH>…</TH> Creates a heading in a table

ADVANTAGES:

 A markup language document is tiny and thence simple to send over net. it's little
as a result of it doesn't embrace formatted data.
 HTML is platform freelance.
 HTML tags aren't case-sensitive.

49
JAVA DATABASE CONNECTIVITY:

What Is JDBC?

JDBC may be a Java API for execution SQL statements. (As some extent of interest, JDBC may
be a proprietary name associate degreed isn't an acronym; notwithstanding, JDBC is usually
thought of as standing for Java information property. It consists of a collection of categories and
interfaces written within the Java programing language. JDBC provides a typical API for
tool/database developers and makes it potential to write down information applications
employing a pure Java API.
Using JDBC, it's simple to send SQL statements to nearly any on-line database. One will write
one program victimization the JDBC API, and also the program are going to be ready to send
SQL statements to the suitable information. The combos of Java and JDBC lets a applied
scientist write it once and run it anyplace.

What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:

 Establish a reference to a information


 Send SQL statements
 Process the results.

JDBC versus ODBC and other APIs

At now, Microsoft's ODBC (Open info Connectivity) API is that most likely the foremost wide
used programming interface for accessing relative databases. It offers the flexibility to attach to
most databases on most platforms.

So why not simply use ODBC from Java? the solution is that you just will use ODBC from Java,
however this is often best through with the assistance of JDBC within the style of the JDBC-
ODBC Bridge, that i will be able to cowl shortly. The question currently becomes "Why does
one would like JDBC?" There square measure many answers to the present question:

50
1. ODBC isn't applicable for direct use from Java as a result of it uses a C interface. Calls
from Java to native C code have variety of drawbacks within the security,
implementation, robustness, and automatic movableness of applications.

2. A literal translation of the ODBC API into a Java API wouldn't be fascinating. for
instance, Java has no pointers, and ODBC makes copious use of them, together with the
notoriously erring generic pointer "void *". you'll consider JDBC as ODBC translated
into AN object-oriented interface that's natural for Java programmers.

3. ODBC is difficult to find out. It mixes straightforward and advanced options along, and
it's complicated choices even for straightforward queries. JDBC, on the opposite hand,
was designed to stay straightforward things straightforward whereas permitting additional
advanced capabilities wherever needed.

4. A Java API like JDBC is required so as to alter a "pure Java" answer. once ODBC is
employed, the ODBC driver manager and drivers should be manually put in on each
consumer machine. once the JDBC driver is written utterly in Java, However, JDBC code
is mechanically installable, portable, and secure on all Java platforms from network
computers to mainframes.

Two-tier and Three-tier Models


The JDBC API supports each two-tier and three-tier models for info access.

In the two-tier model, a Java application program or application talks on to the info. this needs a
JDBC driver that may communicate with the actual direction system being accessed. A user's
SQL statements square measure delivered to the info, and therefore the results of these
statements square measure sent back to the user. The info could also be set on another machine
to that the user is connected via a network. this is often spoken as a client/server configuration,
with the user's machine because the consumer, and therefore the machine housing the info
because the server. The network are often associate computer network, which, as an example,
connects workers among a company, or it are often the web.

JAVA
Client machine
Applicatio
n
JDBC DBMS-proprietary protocol

Database server
DBMS
51
In the three-tier model, commands square measure sent to a "middle tier" of services, that then
send SQL statements to the info. The info processes the SQL statements and sends the results
back to the center tier, that then sends them to the user. MIS administrators realize the three-tier
model terribly enticing as a result of the center tier makes it potential to keep up management
over access and therefore the sorts of updates that may be created to company information.
Another advantage is that once there's a middle tier, the user will use associate easy-to-use
higher-level API that is translated by the center tier into the acceptable low-level calls. Finally, in
several cases the three-tier design will give performance benefits.

Java Html
browser Client machine (GUI)

Application
Server (Java) Server machine (business Logic)

JDBC

Database server

DBMS

Until now the center tier has usually been written in languages like C or C++, which provide
quick performance. However, with the introduction of optimizing compilers that translate Java
computer memory unit code into economical machine-specific code, it's changing into sensible
to implement the center tier in Java. This makes it potential to require advantage of Java's
hardiness, multithreading, and safety features. JDBC is vital to permit info access from a Java
middle tier.

JDBC Driver Types

The JDBC drivers that i used to be attentive to at this point work into one among four categories:

 JDBC-ODBC bridge and ODBC driver

 Native-API partly-Java driver

52
 JDBC-Net pure Java driver

 Native-protocol pure Java driver

JDBC-ODBC Bridge

If attainable, use a Pure Java JDBC driver rather than the Bridge ANd an ODBC driver. This
fully eliminates the consumer configuration needed by ODBC. It conjointly eliminates the
potential that the Java VM may well be corrupted by a slip within the native code brought in
by the Bridge (that is, the Bridge native library, the ODBC driver manager library, the ODBC
driver library, and also the info consumer library).

What Is the JDBC- ODBC Bridge?


The JDBC-ODBC Bridge could be a JDBC driver, that implements JDBC operations by
translating them into ODBC operations. To ODBC it seems as a standard programme. The
Bridge implements JDBC for associatey info that an ODBC driver is offered. The Bridge is
enforced because the

Java Server Pages (JSP)

Java server Pages may be a easy, however powerful technology for making and maintaining
dynamic-content websites. supported the Java artificial language, Java Server Pages offers
well-tried movableness, open standards, and re-usable part model .The Java Server Pages
design allows the separation of content generation from content presentation. This separation
not eases maintenance headaches; it additionally permits net team members to specialise in
their areas of experience. Now, website designer will consider layout, and net application
designers on programming, with tokenish concern regarding impacting every other’s work.

Features of JSP

Portability:

Java Server Pages files will be run on any net server or web-enabled application server that
has support for them. Dubbed the JSP engine, this support involves recognition, translation, and
management of the Java Server Page lifecycle and its interaction elements.

53
Components
It was mentioned earlier that the Java Server Pages design will embody reusable Java parts. The
design conjointly permits for the embedding of a scripting language directly into the Java Server
Pages file. The parts current supported embody Java Beans, and Servlets.

Processing

A Java Server Pages file is basically Associate in Nursing markup language document with JSP
scripting or tags. The Java Server Pages file includes a JSP extension to the server as a Java
Server Pages file. Before the page is served, the Java Server Pages syntax is parsed and
processed into a Servlet on the server facet. The Servlet that's generated outputs real content in
straight markup language for responding to the consumer.

Access Models

A Java Server Pages file is also accessed in a minimum of 2 alternative ways. A client’s request
comes directly into a Java Server Page. during this state of affairs, suppose the page accesses
reusable Java Bean parts that perform specific unclear computations like accessing a info. The
results of the Beans computations, referred to as result sets is hold on at intervals the Bean as
properties. The page uses such Beans to get dynamic content and gift it back to the consumer.

In each of the on top of cases, the page may conjointly contain any valid Java code. Java Server
Pages design encourages separation of content from presentation

Steps in the execution of a JSP Application:

1. The consumer sends an invitation to the online server for a JSP file by giving the name of the
JSP file among the shape tag of a hypertext markup language page.

2. This request is transferred to the JavaWebServer. At the server facet JavaWebServer receives
the request and if it's an invitation for a jsp digital computer provides this request to the JSP
engine.

3. JSP engine is program which may perceive the tags of the jsp and so it converts those tags into
a Servlet program and it's keep at the server facet. This Servlet is loaded within the memory and
so it's dead and also the result's given back to the JavaWebServer and so it's transferred back to
the result's given back to the JavaWebServer and so it's transferred back to the consumer.

54
JDBC connectivity

The JDBC provides informationbase-independent property between the J2EE platform and a
good vary of tabular data sources. JDBC technology permits associate degree Application
element supplier to:

Perform association and authentication to a information server


Manager transactions
Move SQL statements to a information engine for preprocessing and execution
Execute keep procedures
Inspect and modify the results from choose statements.
Tomcat 6.0 Web server

Tomcat is associate open supply net server developed by Apache cluster. Apache Felis catus is
that the Servlet instrumentation that's employed in the official Reference Implementation for the
Java Servlet and Java Server Pages technologies. The Java Servlet and Java Server Pages
specifications square measure developed by Sun beneath the Java Community method. net
Servers like Apache Felis catus support solely magnetic flux unit parts whereas associate
application server supports net parts as unwell as business parts (BEAs Weblogic, is one in every
of the popular application server).To develop {a net|an internet|an online} application with
jsp/servlet install any web server like JRun, Felis catus etc to run your

55
application.application.

Bibliography:

Ref erences for the Project Developmen t Ire taken f ro m th e f ollow ing
B o o k s a n d we b S i t e s .

Oracle

PL/SQL Programming by Scott Urman

SQL complete reference by Livion

JAVA Technologies

JAVA Complete Reference

Java Script Programming by Yehuda Shiran

Mastering JAVA Security

JAVA2 Networking by Pistoria

JAVA Security by Scotl oaks

56
Head First EJB Sierra Bates

J2EE Professional by Shadab siddiqui

JAVA server pages by Larne Pekowsley

JAVA Server pages by Nick Todd

HTML

HTML Black Book by Holzner

JDBC

Java Database Programming with JDBC by Patel moss.

Software Engineering by Roger Pressman

57
6. TESTING

System Testing

The purpose of testing is to get errors. Testing is that the method of making an attempt to
get each conceivable fault or weakness in an exceedingly work product. It provides the simplest
way to see the practicality of parts, sub assemblies, assemblies and/or a finished product it's the
method of workout computer code with the intent of making certain that the
Software system meets its needs Associate in Nursingd user expectations and doesn't fail in
an unacceptable manner. There area unit numerous sorts of take a look at. every take a look at
sort addresses a selected testing demand.

Types Of Tests
Unit testing
Unit checking involves the design of check cases that validate that the inner program logic is
functioning properly, that program inputs manufacture valid outputs. All decision branches and
internal code flow have to be compelled to be valid. it is the testing of individual code units of
the applying .it is done once the completion of a private unit before integration. this will be a
structural testing, that depends on data of its construction and is invasive. Unit checks perform
basic checks at half level and test a specific business methodology, application, and/or system
configuration. Unit tests confirm that each distinctive path of a business methodology performs
accurately to the documented specifications and contains clearly made public inputs and
expected results.

Integration testing
Integration tests ar designed to check integrated code parts to see if they really run joined
program. Testing is event driven and is a lot of involved with the fundamental outcome of
screens or fields. Integration tests demonstrate that though the parts Ire separately satisfaction, as

58
shown by with success unit testing, the mix of parts is correct and consistent. Integration testing
is specifically geared toward exposing the issues that arise from the mix of parts.
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.

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures : interfacing systems or procedures must be invoked.

Organization and preparation of purposeful tests is targeted on necessities, key functions, or


special take a look at cases. additionally, systematic coverage bearing on establish Business
method flows; information fields, predefined processes, and serial processes should be thought of
for testing. Before purposeful testing is complete, further tests square measure known and
therefore the effective price of current tests is decided.
System Test
System testing ensures that the complete integrated code meets needs. It tests a configuration to
make sure acknowledged and inevitable results. AN example of system checking is that the
configuration homeward system integration test. System testing is predicated on method
descriptions and flows, action pre-driven method links and integration points.

59
White Box Testing

White Box Testing may be a testing during which during which the software system tester has
data of the inner workings, structure and language of the software system, or a minimum of its
purpose. it's purpose. it's accustomed check areas that can't be reached from a recorder level.

Black Box Testing


Black Box Testing is testing the package with none information of the inner workings, structure
or language of the module being tested. recorder tests, as most different kinds of tests, should be
written from a definitive supply document, like specification or necessities document, like
specification or necessities document. it's a take a look ating during which the package below
test is treated, as a recorder .you cannot “see” into it. The take a look at provides inputs and
responds to outputs while not considering however the package works.

6.1 Unit Testing:

Unit checking is typically conducted as a part of a combined code and unit test section of
the package lifecycle, though it's not uncommon for cryptography and unit testing to be
conducted as 2 distinct phases.

Test strategy and approach

Field testing will be performed manually and functional tests will be written in detail.

Test objectives

• All field entries should work properly.

• Pages should be activated from the known link.

• The entry screen, messages and responses should not be delayed.

Features to be tested

• Verify that the entries square measure of the proper format

• No duplicate entries ought to be allowed


• All links ought to take the user to the proper page.

60
6.2 Integration Testing:

Software integration testing is that the progressive integration testing of 2 or additional


integrated code elements on one platform to provide failures caused by interface defects.

The task of the combination take a look at is to visualize that elements or code
applications, e.g. elements in a very computer code or – one maximize – code applications at the
corporate level – act while not error.

Test Results: All the take a look at cases mentioned on top of passed with success. No defects
encountered.

6.3 Acceptance Testing:

User Acceptance Testing may be a crucial section of any project and needs vital
participation by the top user. It conjointly ensures that the system meets the practical necessities.

Test Results: All the take a look at cases mentioned higher than passed with success. No defects
encountered.

61
7. SCREEN SHOTS

SCREEN SHOTS

62
63
64
65
66
67
68
69
70
71
72
73
8. CONCLUSION

I projected the great needs in multi-user cloud storage systems and introduced the model of
deduplicatable dynamic PoS. I designed a unique tool known as HAT that is associate
economical documented structure. supported HAT, I projected the primary sensible
deduplicatable dynamic PoS theme known as DeyPoS and well-tried its security within the
random oracle model. The theoretical and experimental results show that our DeyPoS
implementation is economical, particularly once the file size and therefore the variety of the
challenged blocks area unit giant.

74
9. BIBLIOGRAPHY

REFERENCES
[1] S. Kamara and K. Lauter, “Cryptographic cloud storage,” in Proc. of FC, pp. 136–149, 2010.

[2] Z. Xia, X. Wang, X. Sun, and Q. Wang, “A Secure and Dynamic Multi-Keyword Ranked
Search Scheme over Encrypted Cloud Data,” IEEE Transactions on Parallel and Distributed
Systems, vol. 27, no. 2, pp. 340–352, 2016.

[3] Z. Xiao and Y. Xiao, “Security and privacy in cloud computing,” IEEE Communications
Surveys Tutorials, vol. 15, no. 2, pp. 843–859, 2013.

[4] C. A. Ardagna, R. Asal, E. Damiani, and Q. H. Vu, “From Security to Assurance in the
Cloud: A Survey,” ACM Comput. Surv., vol. 48, no. 1, pp. 2:1–2:50, 2015.

[5] G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, and D. Song,


“Provable data possession at untrusted stores,” in Proc. of CCS, pp. 598–609, 2007.

[6] G. Ateniese, R. Di Pietro, L. V. Mancini, and G. Tsudik, “Scalable and Efficient Provable
Data Possession,” in Proc. of SecureComm, pp. 1–10, 2008.

[7] G. Ateniese, S. Kamara, and J. Katz, “Proofs of storage from homomorphic identification
protocols,” in Proc. of ASIACRYPT, pp. 319–333, 2009.

[8] C. Erway, A. K¨upc ¨u, C. Papamanthou, and R. Tamassia, “Dynamic provable data
possession,” in Proc. of CCS, pp. 213–222, 2009.

[9] R. Tamassia, “Authenticated Data Structures,” in Proc. of ESA, pp. 2–5, 2003.

75
[10] Q. Wang, C. Wang, J. Li, K. Ren, and W. Lou, “Enabling public verifiability and data
dynamics for storage security in cloud computing,” in Proc. of ESORICS, pp. 355–370, 2009.

[11] F. Armknecht, J.-M. Bohli, G. O. Karame, Z. Liu, and C. A. Reuter, “Outsourced proofs of
retrievability,” in Proc. of CCS, pp. 831–843, 2014.

[12] H. Shacham and B. Waters, “Compact Proofs of Retrievability,” Journal of Cryptology, vol.
26, no. 3, pp. 442–483, 2013.

[13] Z. Mo, Y. Zhou, and S. Chen, “A dynamic proof of retrievability (PoR) scheme with o(logn)
complexity,” in Proc. of ICC, pp. 912–916, 2012.

[14] E. Shi, E. Stefanov, and C. Papamanthou, “Practical dynamic proofs of retrievability,” in


Proc. of CCS, pp. 325–336, 2013.

[15] S. Halevi, D. Harnik, B. Pinkas, and A. Shulman-Peleg, “Proofs of ownership in remote


storage systems,” in Proc. of CCS, pp. 491–500, 2011.

[16] J. Douceur, A. Adya, W. Bolosky, P. Simon, and M. Theimer, “Reclaiming space from
duplicate files in a serverless distributedfile system,” in Proc. of ICDCS, pp. 617–624, 2002.

[17] A. Juels and B. S. Kaliski, Jr., “PORs: Proofs of retrievability for large files,” in Proc. of
CCS, pp. 584–597, 2007.

[18] H. Shacham and B. Waters, “Compact proofs of retrievability,” in Proc. of ASIACRYPT, pp.
90–107, 2008.

[19] Y. Dodis, S. Vadhan, and D. Wichs, “Proofs of retrievability via hardness amplification,” in
Proc. of TCC, pp. 109–127, 2009.

76
77

Potrebbero piacerti anche