Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 75

ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of the task would be incomplete
without mention of the people who made it possible through constant guidance and encouragement
crowns all efforts with success.

We express our sincere thanks to Dr Ravuri Venkataswamy Garu, Chairman, Sri


Venkateswara College of Engineering and Technology (Autonomous) for providing all the facilities
and support in completing our project successfully.

We express our sincere thanks to Sri Ravuri Srinivas Garu, Vice-Chairman, Sri Venkateswara
College of Engineering and Technology (Autonomous) for providing facilities in his esteemed
institution.

We express deep sense of gratitude to Dr.C.Vijayabhaskar Reddy, Principal for his


encouragement, suggestions and for his timely guidance in the conduct of our project
work.

We are extremely thankful to Dr.T.Sunil Kumar Reddy, M.Tech, Ph.D, HOD, Department of
Computer Science and Engineering, for giving us his valuable guidance, without whom we would
not have able to complete our project work.

We would also like to express my sincere gratitude to my Project Guide Mr.


M.Balasubramaniyan, Assistant Professor in Department of Computer Science and
Engineering for his assistance, timely suggestions and guidance throughout the duration of
the project.

We also convey our gratitude to all CSE staff members and my parents and other members
in the project and those who have contributed to this project directly or indirectly.

Y.G.HEMA 15781A05B0
DILMUROD TASHPULATOV 15781A05D8
BIJAYA TWANABASU 15781A05B9
SEGATHITH KEOMUANVONG 15781A05D5

i
ABSTRACT
The traditional architecture of the cloud computing cannot satisfy the requirements such as
low latency, fast data access for IoT applications. Mobile edge computing can solve these
problems, and improve the execution efficiency of the system. In this paper, we propose a
privacy preserving data aggregation scheme for mobile edge computing assisted IoT
applications. In our model, there are three participants, i.e. terminal device, edge server and
public cloud center. The data generated by the terminal devices is encrypted and transmitted
to the edge server, then the edge server aggregates the data of the terminal devices and
submits the aggregated data to the public cloud center. At last, the aggregated plain text
data can be recovered by public cloud center through its private key. Our scheme not only
guarantees data privacy of the terminal devices, but also provides source authentication and
integrity.

ii
CONTENTS
TITLE PAGE NO.

ACKNOWLEDGEMENT...........................................................................................................i
ABSTRACT.....................................................................................................ii
CONTENTS....................................................................................................iii
LIST OF FIGUES.............................................................................................v
LIST OF ABBREVIATIONS.........................................................................vi
CHAPTER 1 INTRODUCTION...........................................................................................1
1.1 PREVIOUS WORK....................................................................................3
CHAPTER 2 LITERATURE SURVEY...............................................................................5
2.1 LITERATURE SURVEY...........................................................................6
CHAPTER 3 SYSTEM ANALYSIS.....................................................................................8
3.1 EXISTING SYSTEM:................................................................................9
3.2 PROPOSED SYSTEM:..............................................................................9
3.3 SYSTEM REQUIREMENTS..................................................................10
CHAPTER 4 SYSTEM DESIGN........................................................................................11
4.1 UML DIAGRAMS....................................................................................12
4.2 GOALS......................................................................................................12
4.3 SOFTWARE ENVIRONMENT................................................................21
CHAPTER 5 IMPLEMENTATION....................................................................................28
5.1 MODULES.................................................................................................29
5.2 SOURCE CODES.......................................................................................30
CHAPTER 5 RESULTS.......................................................................................................51
CHAPTER 6 SYSTEM TESTING......................................................................................59
6.1 TYPES OF TESTING................................................................................60
6.2 UNIT TESTING:.......................................................................................62
6.3 TEST STRATEGY AND APPROACH....................................................62
6.4 INTEGRATION TESTING.......................................................................62
6.5 ACCEPTANCE TESTING........................................................................62
CHAPTER 7 CONCLUSION..............................................................................................63

iii
7.1 FUTURE SCOPE:......................................................................................64
7.2 RECOMMENDATIONS:..........................................................................64
REFERENCE...........................................................................................................................65

iv
LIST OF FIGURES

FIG NO NAME PAGE NO


4.1.1.1 User usecase diagram 13
4.1.1.2 Edge usecase diagram 14
4.1.1.3 Csp usecase diagram 14
4.1.2 Class diagram 15
4.1.3 Sequence diagram 16
4.1.4 Collaboration diagram 17
4.1.5 Activity diagram 18
4.1.6 Component diagrams 19
4.1.7 Deployment diagrams 20

v
LIST OF ABBREVIATIONS

SL NO ABBREVIATION DESCRIPTION
1 IDE Integrated Development
Environment
2 IOT Internet of Things
3 GUI Graphical User Interface
4 XML Extensive Markup Language
5 UML Unified Modelling Language
6 RFID Radio-frequency
Identification
7 WSN Wireless Sensor Networks
8 MEC Mobile Edge Computing

vi
PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 1

INTRODUCTION

Dept.of CSE, SVCET,Chittoor 1


PRIVACY PRESERVING DATA AGGREGATION SCHEME

1. INTRODUCTION
Cloud computing has dramatically changed the traditional computing model, which provides
users with usable, on-demand access, convenient computing and storage services. By
leveraging cloud computing services, enterprises and ordinary users can rent the resources of
cloud service provider and do not need to build their own infrastructure. Cloud computing is
widely accepted due to the features of flexibility, easy to use, high scalability, location
independence and reliability. Meanwhile, with the development of sensing technology and
microelectronics technology, the Internet of Things (IoT) allows any device to access the
Internet. In the IoT vision, the object can be identified by radio-frequency identification
(RFID) technique, and the environment parameters can be sensed by wireless sensor networks
(WSN). Then, the various smart applications, such as smart grid, smart home, smart city, and
intelligent agriculture, can be built by analyzing and utilizing the sensory data. Take intelligent
agriculture as an example, the crop growth environment information can be obtained by
different types of sensors (environmental temperature and humidity, soil moisture, carbon
dioxide, images, etc.) deployed at the agricultural production sites. Then the sensory data
collected and analyzed by the control center and the corresponding operations such as
irrigation, cooling, fertilization and spraying can be done according to the feedback of all
kinds of collected information. To take complementary advantages of the IoT and cloud,
researcher have proposed the concept of cloud assisted IoT. In the new paradigm, IoT is no
longer restricted by the storage, communication and processing capacities, which are
compensated by the could. On the contrary, the cloud can deal with more real life applications
in a more distributed and dynamic way by combine with the IoT. Different organizations have
predicted that billions of smart devices will be connected to the Internet in near future, and
will generate huge amount of data, which should be analyzed and processed in a security and
effective way. Besides, the widespread applications of IoT require the smart devices to have
low latency, high data rate, fast data access for real-time data processing/analysis and decision
making. However, the traditional cloud computing cannot satisfy these requirements, and the
concept of mobile edge computing (MEC) was proposed by researchers. A typical architecture
of mobile edge computing assisted IoT applications is explained as follows. It is a three-level
hierarchy that contains the Cloud, MEC and terminal devices. The terminal devices can be the
mobile devices, sensors and wearable devices with communication and sensing capabilities.

Dept.of CSE, SVCET,Chittoor 2


PRIVACY PRESERVING DATA AGGREGATION SCHEME

Compared to IoT terminal devices, more computing, storage and communication resources are
available on the edge server. The edge server can be a standalone server or a gateway device,
which is deployed at the edge of a cloud computing network and physical proximity to the IoT
terminal devices, and plays as the bridge between IoT terminal devices and public cloud
center. Edge computing allows some computations and processing to be performed at the edge
of the network, thus improving the efficiency of the traditional cloud computing. The edge
server not only performs computing offloading, data storage and processing, but also delivers
services from the cloud to the user.

1.1 PREVIOUS WORK


Some previous work had proved that the edge computing greatly reduces the response time
and the energy consumption compared to the traditional could computing. Therefore, the
mobile edge computing has a wide range of applications, such as healthcare, video analytics,
mobile big data analytics, connected vehicles, smart grid, smart building control, ocean
monitoring. Take MEC based healthcare application as an example, MEC device can collect
vital signs parameters of the patient from medical sensor or wearable devices and submit it to
the medical cloud center for storage and sharing. Medical professionals can access these data
and make timely diagnosis for patients. However, due to the complexity and real-time feature
of the MEC service model, the multi-source heterogeneity and the resource-constrained of the
terminal devices, the data security and privacy protection mechanisms in the traditional cloud
computing environment are no longer applicable to MEC. The security of data storage,
sharing, computing, and privacy protection are becoming more and more prominent have
pointed out the security and privacy issues of mobile edge computing. In this paper, we
consider the scenario of mobile edge computing assisted Internet of Things. Via the edge
computing, the public cloud center can utilize the sensing function of the IoT terminal devices
to acquire the special parameters. The data collected by the terminal devices is aggregated by
the edge servers, and finally the public cloud center can get the total aggregated plaintext from
the aggregated cipher text data from edge servers. Such as counting the frequency of
occurrence of specific abnormal situation in a very large area. In this case, it requires that the
total result can only be obtained by the public cloud center, and privacy of the terminal
devices should be ensured. To achieve this purpose, we first introduce the privacy preserving
data aggregation scheme for mobile edge computing assisted IoT applications. Then we give
the system model and security model, and design a privacy preserving data aggregation

Dept.of CSE, SVCET,Chittoor 3


PRIVACY PRESERVING DATA AGGREGATION SCHEME

scheme for mobile edge computing assisted IoT applications based on the Boneh-Goh-Nissim
cryptosystem or RSA Algorithm.

Dept.of CSE, SVCET,Chittoor 4


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 2

LITERATURE SURVEY

Dept.of CSE, SVCET,Chittoor 5


PRIVACY PRESERVING DATA AGGREGATION SCHEME

LITERATURE SURVEY
INTRODUCTION

Literature survey is the most important step in software development process. Before
developing the tool it is necessary to determine the time factor, economy n company strength.
Once these things r satisfied, ten next steps are to determine which operating system and
language can be used for developing the tool. Once the programmers start building the tool the
programmers need lot of external support. This support can be obtained from senior
programmers, from book or from websites. Before building the system the above
consideration are taken into account for developing the proposed system.

2.2 LITERATURE SURVEY


2.2.1 X. Li, J. Peng, J. Niu, F. Wu, J. Liao, and K. R. Choo, A robust and energy
efficient authentication protocol for industrial internet of things

The Internet of Things (IoT) is an emerging technology and expected to provide solutions for
various industrial fields. As a basic technology of the IoT, wireless sensor networks (WSNs)
can be used to collect the required environment parameters for specific applications. Due to
the resource limitation of sensor node and the open nature of wireless channel, security has
become an enormous challenge in WSN

Authentication as a basic security service can be used to guarantee the legality of data access
in WSN. Recently, Chang and Le proposed two authentication protocols for WSN for different
security requirements. However, their protocol cannot provide proper mutual authentication
and has other security and functionality defects. We present a three-factor user authentication
protocol for WSN to remove the weaknesses of previous protocols. The security of the
proposed protocol is analyzed, and the security, functionality and performance of our protocol
are compared with other related protocols. The comparison results and simulation results by
NS-3 show that the proposed protocol is robust and energy efficient for IoT applications.

Dept.of CSE, SVCET,Chittoor 6


PRIVACY PRESERVING DATA AGGREGATION SCHEME

2.2.2 N. Abbas, Y. Zhang, A. Taherkordi, and T. Skeie,“Mobile edge computing:

A survey, Mobile edge computing (MEC) is an emergent architecture where cloud computing
services are extended to the edge of networks leveraging mobile base stations. As a promising
edge technology, it can be applied to mobile, wireless, and wire line scenarios, using software
and hardware platforms, located at the network edge in the vicinity of end-users. MEC
provides seamless integration of multiple application service providers and vendors toward
mobile subscribers, enterprises, and other vertical segments It is an important component in
the 5G architecture which supports variety of innovative applications and services where
ultralow latency is required. This paper is aimed to present a comprehensive survey of relevant
research and technological developments in the area of MEC. It provides the definition of
MEC, its advantages, architectures, and application areas; where we in particular highlight
related research and future directions. Finally, security and privacy issues and related existing
solutions are also discussed.

2.2.3 R. Roman, J. Lopez, and M. Mambo, “Mobile edge computing, fog et al.:

A survey and analysis of security threats and challenges, “For various reasons, the cloud
computing paradigm is unable to meet certain requirements (e.g. low latency and jitter, context
awareness, mobility support) that are crucial for several applications (e.g. vehicular networks,
augmented reality). To fulfill these requirements, various paradigms, such as fog computing,
mobile edge computing, and mobile cloud computing, have emerged in recent years. While
these edge paradigms share several features, most of the existing research is
compartmentalized; no synergies have been explored. This is especially true in the field of
security, where most analyses focus only on one edge paradigm, while ignoring the others.

The main goal of this study is to holistically analyze the security threats, challenges, and
mechanisms inherent in all edge paradigms, while highlighting potential synergies and venues
of collaboration. In our results, we will show that all edge paradigms should consider the
advances in other paradigms

Dept.of CSE, SVCET,Chittoor 7


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER-3

SYSTEM ANALYSIS

Dept.of CSE, SVCET,Chittoor 8


PRIVACY PRESERVING DATA AGGREGATION SCHEME

SYSTEM ANALYSIS

3.1 EXISTING SYSTEM


Different organizations have predicted that billions of smart devices will be connected to the
Internet in near future and will generate huge amount of data, which should be analyzed and
processed in a security and effective way. Besides, the widespread applications of IoT require
the smart devices to have low latency, high data rate, fast data access for real-time data
processing/analysis and decision making. However, the traditional cloud computing cannot
satisfy these requirements, and the concept of mobile edge computing (MEC) was proposed by
researchers.

3.1.1 Disadvantages:

1. Communication cost is high.

2. It is not suitable for mobile edge computing assisted IoT applications

3.2 PROPOSED SYSTEM


In this paper, we consider the scenario of mobile edge computing assisted Internet of Things.
Via the edge computing, the public cloud center can utilize the sensing function of the IoT
terminal devices to acquire the special parameters. The data collected by the terminal devices
is aggregated by the edge servers, and finally the public cloud center can get the total
aggregated plaintext from the aggregated cipher text data from edge servers. Such as counting
the frequency of occurrence of specific abnormal situation in a very large area. In this case, it
requires that the total result can only be obtained by the public cloud center, and privacy of the
terminal devices should be ensured. To achieve this purpose, we first introduce the privacy
preserving data aggregation scheme for mobile edge computing assisted IoT applications.
Then we give the system model and security model, and design a privacy preserving data
aggregation scheme for mobile edge computing assisted IoT applications.

Dept.of CSE, SVCET,Chittoor 9


PRIVACY PRESERVING DATA AGGREGATION SCHEME

3.2.2 Scope

To provide the secured way of communication of data through the use of the edge server and
cloud based encryption mechanism, the security and privacy of IoT as well as related to it data
will be ensured such that the enhanced system will do everything that is possible to keep the
invasion as well as indulgence of the data far away from the device and related to it
infrastructure.

3.2.3 Advantages

1. Communication cost is less.


2. It is very suitable for mobile edge computing assisted IoT applications.

3.3 SYSTEM REQUIREMENTS


3.3.1 H/W System Configuration

1. Processor - I3/Intel Processor


2. RAM - 4GB (min)
3. Hard Disk - 160GB
4. Key Board - Standard Windows Keyboard
5. Mouse - Two or Three Button Mouse
6. Monitor - SVGA
3.3.2 S/W System Configuration
1. Operating System - Windows 7/8/10
2. Application Server - Glassfish-Server
3. Front End - HTML, JSP
4. Scripts - JavaScript.

5. Server side Script - Java Server Pages.

6. Database - ORACLE 10g

7. Database Connectivity - JDBC

Dept.of CSE, SVCET,Chittoor 10


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 4

SYSTEM DESIGN

Dept.of CSE, SVCET,Chittoor 11


PRIVACY PRESERVING DATA AGGREGATION SCHEME

SYSTEM DESIGN

4.1 UML DIAGRAMS


UML stands for Unified Modeling Language. UML is a standardized general-purpose
modeling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.

The goal is for UML to become a common language for creating models of object oriented
computer software. In its current form UML is comprised of two major components: a Meta-
model and a notation. In the future, some form of method or process may also be added to; or
associated with, UML.

The Unified Modeling Language is a standard language for specifying, Visualization,


Constructing and documenting the artifacts of software system, as well as for business
modeling and other non-software systems.

The UML represents a collection of best engineering practices that have proven successful in
the modeling of large and complex systems.

The UML is a very important part of developing objects oriented software and the software
development process. The UML uses mostly graphical notations to express the design of
software projects.

4.2 GOALS
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they can
develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.

Dept.of CSE, SVCET,Chittoor 12


PRIVACY PRESERVING DATA AGGREGATION SCHEME

7. Integrate best practices.

4.1.1 Usecase diagrams

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram
defined by and created from a Use-case analysis. Its purpose is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors in
the system can be depicted.

email
(from Logical View)

user

password
(from Logical View)

Figure - Figure 4.1.1.1: user usecase diagram

Dept.of CSE, SVCET,Chittoor 13


PRIVACY PRESERVING DATA AGGREGATION SCHEME

email
(from Logical View)

edge

password
(from Logical View)

Figure - Figure 4.1.1.2: edge usecase diagram

email
(from Logical View)

csp

password
(from Logical View)

Figure - Figure 4.1.1.3: csp usecase diagram

Dept.of CSE, SVCET,Chittoor 14


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4.1.2 Class diagram:

In software engineering, a class diagram in the Unified Modeling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among the classes. It
explains which class contains information.

USER
CSP
email Edge
email
password email
password
password
login()
login()
check avalable center() add edge data center()
add data center()
data center request() logout()
view data center()
upload file()
purchased data center()
download file()
logout()
loguot()

Figure - Figure 4.1.2: class diagram

Dept.of CSE, SVCET,Chittoor 15


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4.1.3 Sequence diagram:

A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram


that shows how processes operate with one another and in what order. It is a construct of a
Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.

user edge system CSP

login

login

login add data center

puechased data center


add edge data center

check avalable data center

data center request

view edge data center

upload file

download file

logout

logout
logout

Figure - Figure 4.1.3: sequence diagram

Dept.of CSE, SVCET,Chittoor 16


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4.1.4 Collaboration diagram:

In collaboration diagram the method call sequence is indicated by some numbering technique
as shown below. The number indicates how the methods are called one after another. We have
taken the same order management system to describe the collaboration diagram. The method
calls are similar to that of a sequence diagram. But the difference is that the sequence diagram
does not describe the object organization where as the collaboration diagram shows the object
organization.

edge
user

3: login
7: check avalable data center
8: data center request
10: upload file
11: download file
12: logout
14: logout
2: login
6: add edge data center
9: view edge data center

CSP
system

1: login
4: add data center
5: puechased data center
13: logout

Figure - Figure 4.1.4: collaboration diagram

Dept.of CSE, SVCET,Chittoor 17


PRIVACY PRESERVING DATA AGGREGATION SCHEME

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

user csp
edge

login
login

login

check avalabe data center add data center

add data center


data center request view data center

upload file purchased data center


view data center

download file

logout logout logout

Figure - Figure 4.1.5: activity diagram

Dept.of CSE, SVCET,Chittoor 18


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4.1.6 Component diagrams:

Component diagrams are used to describe the physical artifacts of a system. This artifact
includes files, executables, libraries etc. So the purpose of this diagram is different,
Component diagrams are used during the implementation phase of an application. But it is
prepared well in advance to visualize the implementation details. Initially the system is
designed using different UML diagrams and then when the artifacts are ready component
diagrams are used to get an idea of the implementation.

user

system
csp

edge

Figure - Figure 4.1.6: component diagrams:

Dept.of CSE, SVCET,Chittoor 19


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4.1.7 Deployment diagrams:

Deployment diagram represents the deployment view of a system. It is related to the


component diagram. Because the components are deployed using the deployment diagrams. A
deployment diagram consists of nodes. Nodes are nothing but physical hardware’s used to
deploy the application.

CSP
user

edge system

Figure - Figure 4.1.7: deployment diagrams

Dept.of CSE, SVCET,Chittoor 20


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4.3 SOFTWARE ENVIRONMENT:


4.3.1 Why we use java:

1. Easy to learn: Well friends Java was designed for the C++ programmer because it is


derived from C++. The team of Java developers actually started a very big project that will
be platform-independent but they stuck and decided to develop a new language and if they
change the syntax of Java then its very difficult to understand a new programming
language. That is why it inherits all the features of C and C++. For example, here is a
simple program that prints "Hello User":
2. Secure: Java is secure because it provides Encapsulation and Data Abstraction by which
we can do data hiding. That is how we secure our data. Not only Encapsulation and Data
Abstraction, an Applet (it is a small program that runs directly in web browser) also
provides security.

3. Free: Believe it or not but people want free stuff. Don't you? But if we talk about an
organization's cost then it is an important factor in development and to create a Java
application you need to pay nothing but your idea.
4. Documents Supports: Javadoc’s! It has all the stuff you want when you learn Java or
when creating application. It has each and every thing about Java, like how to use a class,
what method belongs to which class and so on.
5. Rich API: It is also one of the best reasons to learn Java because it has a highly visible
and rich API because if we talk about other programming languages like Turbo C++, it has
a simple interface and very poor quality animation capability. But in Java, it has a great
interface and very high quality animation capability. 

Dept.of CSE, SVCET,Chittoor 21


PRIVACY PRESERVING DATA AGGREGATION SCHEME

6. Robust: Robustness means that which is strong, powerful and not effected by others. But
how is Java strong and powerful, in what sense? So friends here robust means reliable and
there is no programming language as reliable as Java. It provides a very low chance of
error for the programmer because of its strong memory allocation, garbage collection
mechanism and exception handling compared to other programming languages.
7. Platform Independent: As I said earlier, the team started a project that will be platform-
independent but they had no resource to make a program platform-independent. That is
why Java was born. And now we can see that if we write a Java program we can run in any
environment using the JVM. 

Dept.of CSE, SVCET,Chittoor 22


PRIVACY PRESERVING DATA AGGREGATION SCHEME

8. Object Oriented: Well object oriented itself a different thing. It depends on


(classandobjects, encapsulation, Inheritance, Abstraction and polymorphism) and Java
supports all the features of OOP. Using OOP we can break complex code into a modular
form and make a fine application without giving extra effort.
9. Multithreaded: Java supports multithreaded (thread is a light weight process) that helps
us to develop a program that can do multiple tasks at a time and it increases CPU
efficiency. It is not supported by other programming languages. 

Dept.of CSE, SVCET,Chittoor 23


PRIVACY PRESERVING DATA AGGREGATION SCHEME

10. Open Source: Well friends Java is also an open source programming language by which
we can make fast and cost effective applications easily. And the reason behind it is it has a
great framework like Spring, Struts and so on and many libraries that are contributed by
Google and other organizations. 
11. High Performance: Java is high-performance language because the JVM is very
intelligent. When we run a Java program the JVM does not interpret the entire code into
machine instructions. It interprets the required code that will be executed. This enhances
the performance.
12. Distributed: Distributed systems are those systems in which resources are shared and this
can be done in Java using Remote Method Invocation (RMI). In RMI there is a server and
one or more clients can communicate.

Dept.of CSE, SVCET,Chittoor 24


PRIVACY PRESERVING DATA AGGREGATION SCHEME

13. Portable: Java is a portable language because we can make a program in one computer,
compile in another computer and execute in another computer. And using its platform
independence we can write code in one operating system and execute in another operating
system.
14. Development Tools:  Java has great development tools such as  Netbeans,  Eclipse and so
on that plays a major role in development. Using these tools we can create our code faster
because it provides help and great debugging capability.

4.3.2 Why we use Java Server Pages (JSP):

JavaServer Pages (JSP) is a technology for developing Webpages that supports dynamic
content. This helps developers insert java code in HTML pages by making use of special JSP
tags, most of which start with <% and end with %>.

A JavaServer Pages component is a type of Java servlet that is designed to fulfill the role of a
user interface for a Java web application. Web developers write JSPs as text files that
combine HTML or XHTML code, XML elements, and embedded JSP actions and
commands.

Using JSP, you can collect input from users through Webpage forms, present records from a

Dept.of CSE, SVCET,Chittoor 25


PRIVACY PRESERVING DATA AGGREGATION SCHEME

database or another source, and create Webpages dynamically.

JSP tags can be used for a variety of purposes, such as retrieving information from a database
or registering user preferences, accessing JavaBeans components, passing control between
pages, and sharing information between requests, pages etc.

Why Use JSP?


Java Server Pages often serve the same purpose as programs implemented using
the Common Gateway Interface (CGI). But JSP offers several advantages in comparison
with the CGI.

1. Performance is significantly better because JSP allows embedding Dynamic Elements


in HTML Pages itself instead of having separate CGI files.
2. JSP are always compiled before they are processed by the server unlike CGI/Perl
which requires the server to load an interpreter and the target script each time the page
is requested.
3. Java Server Pages are built on top of the Java Servlets API, so like Servlets, JSP also
has access to all the powerful Enterprise Java APIs, including JDBC, JNDI, EJB,
JAXP, etc.
4. JSP pages can be used in combination with servlets that handle the business logic, the
model supported by Java servlet template engines.

Finally, JSP is an integral part of Java EE, a complete platform for enterprise class
applications. This means that JSP can play a part in the simplest applications to the most
complex and demanding.

4.3.3 Why we use Oracle Database:

An Oracle database is a collection of data treated as a unit. The purpose of a database is to


store and retrieve related information. A database server is the key to solving the problems of
information management. In general, a server reliably manages a large amount of data in a
multiuser environment so that many users can concurrently access the same data. All this is
accomplished while delivering high performance. A database server also prevents
unauthorized access and provides efficient solutions for failure recovery.

Oracle Database is the first database designed for enterprise grid computing, the most flexible
and cost effective way to manage information and applications. Enterprise grid computing

Dept.of CSE, SVCET,Chittoor 26


PRIVACY PRESERVING DATA AGGREGATION SCHEME

creates large pools of industry-standard, modular storage and servers. With this architecture,
each new system can be rapidly provisioned from the pool of components. There is no need
for peak workloads, because capacity can be easily added or reallocated from the resource
pools as needed.

The database has logical structures and physical structures. Because the physical and


logical structures are separate, the physical storage of data can be managed without affecting
the access to logical storage structures.

Why Use Oracle?

1. Functionality Oracle databases are used for practically all corporation level
applications. Thus, Oracle databases dominate the banking industry. Ten of the world's top
banks use Oracle databases to conduct their business. This is primarily due to Oracle's
functionality. They provide a combination of high-level technology and integrated
business solutions. This is a perfect for practically all corporations that have huge amounts
of data to store and access.

2. Reliability Another important advantage offered by Oracle databases are their reliability.
Oracle is a database that delivers excellent performance when challenged with demanding
tasks. The ACID test, which is an important tool used to ensure the integrity of data stored,
was easily passed by Oracle databases. This test is important since reliable data storage is
the main purpose of a database. Thus, Oracle databases have been proven to deliver high
integrity of data storage.

3. Flashback Technology Oracle databases incorporate Flashback technology, which is a


significant advantage. In the event of an application outage, due to any number of reasons,
it is important not to lose data stored on a database system. Oracle's Flashback technology
allows for efficient recovery of data incorrectly deleted or lost. Thus, Flashback
technology essentially removes human error and increases database recovery time. In the
end, this feature allows for a simplified management and administrative process.

Dept.of CSE, SVCET,Chittoor 27


PRIVACY PRESERVING DATA AGGREGATION SCHEME

4. Other Advantages Oracle databases have also successfully featured the four properties
that all database systems must have. These four properties are atomicity, consistency,
isolation and durability. All four of the properties are well maintained by Oracle databases,
thus providing a reliable and competent database system.

Dept.of CSE, SVCET,Chittoor 28


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 5

IMPLEMENTATION

Dept.of CSE, SVCET,Chittoor 29


PRIVACY PRESERVING DATA AGGREGATION SCHEME

5. IMPLEMENTATION

5.1 MODULES:
Three modules:

1. Edge
2. CSP
3. User

5.1.1 Edge:

Edges are maintained by CPS, and located at the proximity of Users (edge of the network).
Edges bridge the Users and CPS to extend the applications of cloud services by providing
store and processing services for the User’s.
5.1.2 CSP:

CSP provides cloud computing and storage services for the users with large storage capacity
and strong computing power. The data from Users and Edges can be stored and processed on
CSP. CSP initializes the system by generating system parameters. Besides, CSP is responsible
for the registration of Users and generates the private/public keys for Edges.
5.1.3 User:

User’s devices, such as the mobile phone and the IoT devices, which are connected to the edge
network to collect specific data. These devices usually have limited computing and
communications resources

Dept.of CSE, SVCET,Chittoor 30


PRIVACY PRESERVING DATA AGGREGATION SCHEME

5.2 SOURCE CODES:


5.2.1 SessionTrack.java

package csp;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

import csp.AddDataCenter;

import csp.Login;

import csp.Logout;

import csp.Register;

import csp.ViewDataCenter;

import org.project.User;

// Extend HttpServlet class

public class SessionTrack extends HttpServlet {

private String message;

public void init() throws ServletException {

// Do required initialization

message = "Hello World";

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

String query = request.getParameter("query");

if(query.equals("logreg")){

HttpSession session = request.getSession(true);

Dept.of CSE, SVCET,Chittoor 31


PRIVACY PRESERVING DATA AGGREGATION SCHEME

session.setAttribute("salary", "logreg");

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

else if(query.equals("logout")){

try {

new Logout().logout(request, response);

System.out.println("\n>>>>>SUCESSFULLY LOGGED OUT !!!!!\n\n");

}catch (Exception ex) {

ex.printStackTrace();

else if(query.equals("AddDC")){

HttpSession session = request.getSession(true);

session.setAttribute("salary", "AddDC");

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

else if(query.equals("AddDCEdge")){

HttpSession session = request.getSession(true);

session.setAttribute("salary", "AddDCEdge");

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

else if(query.equals("ViewDC")){

HttpSession session = request.getSession(true);

Dept.of CSE, SVCET,Chittoor 32


PRIVACY PRESERVING DATA AGGREGATION SCHEME

session.setAttribute("salary", "ViewDC");

try{new ViewDataCenter().ViewDataCenter(request, response,"csp");}

catch(Exception e){

e.printStackTrace();

else if(query.equals("ViewDCEdge")){

HttpSession session = request.getSession(true);

session.setAttribute("salary", "ViewDCEdge");

try{new ViewDataCenter().ViewDataCenter(request, response,"edge");}catch(Exception e){

e.printStackTrace();

else if(query.equals("ViewDCAccept")){

String name = request.getParameter("dcn");

HttpSession session = request.getSession(true);

String userType = (String)session.getAttribute("userType");

String attribute = null;

if(userType.equals("csp")){

new ActivateDeactivateScpEdge().activate(name, userType);

session.setAttribute("salary", "ViewDC");

attribute = "ViewDC";

else{

new ActivateDeactivateScpEdge().activate(name, userType);

session.setAttribute("salary", "ViewDCEdge");

Dept.of CSE, SVCET,Chittoor 33


PRIVACY PRESERVING DATA AGGREGATION SCHEME

attribute = "ViewDCEdge";

//----------------------------

response.sendRedirect(request.getContextPath()+ "/SessionTrack?query="+attribute);

//-----------------------------

else if(query.equals("ViewDCReject")){

String name = request.getParameter("dcn");

HttpSession session = request.getSession(true);

String userType = (String)session.getAttribute("userType");

String attribute = null;

if(userType.equals("csp")){

new ActivateDeactivateScpEdge().deactivate(name, userType);

session.setAttribute("salary", "ViewDC");

attribute = "ViewDC";

else{

new ActivateDeactivateScpEdge().deactivate(name, userType);

session.setAttribute("salary", "ViewDCEdge");

attribute = "ViewDCEdge";

//----------------------------

response.sendRedirect(request.getContextPath()+ "/SessionTrack?query="+attribute);

//-----------------------------

else if(query.equals("AvailableDataCenter")){

Dept.of CSE, SVCET,Chittoor 34


PRIVACY PRESERVING DATA AGGREGATION SCHEME

try{

new AvailableDataCenter().viewAvailable(request, response);

}catch(Exception e){

e.printStackTrace();

//user request data_center

else if(query.equals("SelectDataCenter")){

try{

new RequestDataCenter().request(request, response);

}catch(Exception e){

e.printStackTrace();

//---view status of data center

else if(query.equals("PurchaseDC")){

try{

new PurchasedDataCenters().viewPurchased(request, response);

catch(Exception e){e.printStackTrace();}

//---purchased data center status

else if(query.equals("PurchasedDCAccept") || query.equals("PurchasedDCReject")){

String name = request.getParameter("dcn");

String email = request.getParameter("email");

if(query.equals("PurchasedDCAccept")){

Dept.of CSE, SVCET,Chittoor 35


PRIVACY PRESERVING DATA AGGREGATION SCHEME

new ActivateDeactivatePurchasedDC().activate(name,email);

else{

new ActivateDeactivatePurchasedDC().deactivate(name,email);

HttpSession session = request.getSession(true);

session.setAttribute("salary", "PurchaseDC");

response.sendRedirect(request.getContextPath()+"/SessionTrack?query=PurchaseDC");

//Status of data Center

else if(query.equals("DataCenterStatus")){

try{

new UserPurchasedDataCenterStatus().requestStatus(request, response);

}catch(Exception e){

e.printStackTrace();

//remove

else if(query.equals("PurchasedDCRemove")){

String name = request.getParameter("dcn");

String email = request.getParameter("email");

try{

new UserPurchasedDataCenterStatus().remove(name, email);

}catch(Exception e){

e.printStackTrace();

Dept.of CSE, SVCET,Chittoor 36


PRIVACY PRESERVING DATA AGGREGATION SCHEME

HttpSession session = request.getSession(true);

session.setAttribute("salary", "DataCenterStatus");

response.sendRedirect(request.getContextPath()+ "/SessionTrack?query=DataCenterStatus");

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

String source = request.getParameter("source");

if("register".equals(source)){

try {

new Register().register(request, response);

System.out.println("\n>>>>>SUCESSFULLY REGISTERED !!!!!\n\n");

} catch (Exception ex) {

ex.printStackTrace();

else if("login".equals(source)){

try {

String userType = request.getParameter("usertype");

if(!userType.equals("user")){

User user = new User();

String email = request.getParameter("email");

String password = request.getParameter("password");

user.setEmail(email);

Dept.of CSE, SVCET,Chittoor 37


PRIVACY PRESERVING DATA AGGREGATION SCHEME

user.setPassword(password);

user.setUsertype(userType);

HttpSession session = request.getSession(true);

session.setAttribute("User", user);

if(userType.equals("csp") && email.equals("di@g.com") && password.equals("p")){

session.setAttribute("userType", "csp");

session.setAttribute("salary", "Welcome");

else if(userType.equals("edge") && email.equals("dil@g.com") && password.equals("p")){

session.setAttribute("userType", "edge");

session.setAttribute("salary", "Welcome");

else{

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

else{

new Login().login(request, response);

System.out.println("\n>>>>>SUCESSFULLY LOGGED IN !!!!!\n\n");

} catch (Exception ex) {

ex.printStackTrace();

Dept.of CSE, SVCET,Chittoor 38


PRIVACY PRESERVING DATA AGGREGATION SCHEME

else if("AddDC".equals(source)){

try {

new AddDataCenter().AddDataCenter(request, response,"csp");

} catch (Exception ex) {

ex.printStackTrace();

else if("AddDCEdge".equals(source)){

try {

new AddDataCenter().AddDataCenter(request, response,"edge");

} catch (Exception ex) {

ex.printStackTrace();

public void destroy() {

// do nothing.

Dept.of CSE, SVCET,Chittoor 39


PRIVACY PRESERVING DATA AGGREGATION SCHEME

5.2.2 Login.java

package csp;

import java.io.IOException;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.project.DatasetAccess;

import org.project.User;

/*-----------REGISTRATION---------*/

public class Login implements java.io.Serializable{

private Statement stmt = null;

private Connection conn = null;

public void login(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException, Exception

String email = request.getParameter("email");

String password = request.getParameter("password");

String usertype = request.getParameter("usertype");

Dept.of CSE, SVCET,Chittoor 40


PRIVACY PRESERVING DATA AGGREGATION SCHEME

User user = new User();

user = this.getUserDetailsLogin(email, password, usertype);

//

System.out.println("\n"+user+"\n");

//

this.closeStatement();

if (user.getEmail() == null || "".equals(user.getEmail())) {

//request.setAttribute("msg", "invalid");

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

//ADD MESSAGE

}else{

HttpSession session = request.getSession(true);

session.setAttribute("User", user);

session.setAttribute("salary", "Welcome");

session.setAttribute("userType", usertype);

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

public User getUserDetailsLogin(String email, String password,

String usertype) throws SQLException, Exception {

ConnectionEstablishment connection = new ConnectionEstablishment();

conn = connection.getCon();

stmt = conn.createStatement();

Dept.of CSE, SVCET,Chittoor 41


PRIVACY PRESERVING DATA AGGREGATION SCHEME

User user = new User();

ResultSet rs = stmt.executeQuery("select name,email,usertype from reg where email = '"+


email+ "' and password = '"password+ "' and usertype = '" + usertype + "' and status='1'");

while (rs.next()){

user.setName(rs.getString(1));

user.setEmail(rs.getString(2));

user.setUsertype(rs.getString(3));

return user;

public void closeStatement() throws SQLException {

if (stmt != null) {

stmt.close();

if (conn != null) {

conn.close();

5.2.3 Register.java

package csp;

import java.io.IOException;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.Statement;

Dept.of CSE, SVCET,Chittoor 42


PRIVACY PRESERVING DATA AGGREGATION SCHEME

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.project.DatasetAccess;

import org.project.User;

/*-----------REGISTRATION---------*/

public class Register implements java.io.Serializable{

private Statement stmt = null;

private Connection conn = null;

public void register(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException, Exception

String name = request.getParameter("name");

String email = request.getParameter("email");

String mobile = request.getParameter("mobile");

String password = request.getParameter("pass");

String state = request.getParameter("state");

String usertype = request.getParameter("usertype");

User user = new User();

user.setName(name);

user.setEmail(email);

Dept.of CSE, SVCET,Chittoor 43


PRIVACY PRESERVING DATA AGGREGATION SCHEME

user.setPassword(password);

user.setMobile(mobile);

user.setState(state);

user.setUsertype(usertype);

//

System.out.println("\n"+user+"\n");

//

this.registerUser(user);

this.closeStatement();

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

public void registerUser(User user) throws SQLException, Exception {

ConnectionEstablishment connection = new ConnectionEstablishment();

conn = connection.getCon();

stmt = conn.createStatement();

stmt.execute("Insert into reg (name,email,password,mobile,state,usertype,status) values ('"

+ user.getName()+ "','"+ user.getEmail()+ "','"+ user.getPassword()+ "','"+ user.getMobile()

+ "','"+ user.getState() + "','" + user.getUsertype() + "','1')");


System.out.println("\n>>>>>>>>SUCESSFULLY INSERTED\n");

public void closeStatement() throws SQLException {

if (stmt != null) {

stmt.close();

Dept.of CSE, SVCET,Chittoor 44


PRIVACY PRESERVING DATA AGGREGATION SCHEME

if (conn != null) {

conn.close();

5.2.4 ActivateDeactivatePurchasedDC.java

package csp;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.Statement;

public class ActivateDeactivatePurchasedDC implements java.io.Serializable {

private Statement stmt = null;

private Connection conn = null;

public void activate(String name, String email){

try{

System.out.println("\n>>>>>>PURCHASED DATACENTER ACTIVATE HAS BEEN


CALLED "+name);

this.updateEdgeDC(name, "2",email);

this.closeStatement();

}catch(Exception e){

e.printStackTrace();

Dept.of CSE, SVCET,Chittoor 45


PRIVACY PRESERVING DATA AGGREGATION SCHEME

public void deactivate(String name, String email){

try{

System.out.println("\n>>>>>>PURCHASED DATACENTER DE-ACTIVATE HAS BEEN


CALLED "+name);

this.updateEdgeDC(name, "1",email);

this.closeStatement();

}catch(Exception e){

e.printStackTrace();

public void updateEdgeDC(String dname, String status, String email)

throws SQLException, Exception {

ConnectionEstablishment connection = new ConnectionEstablishment();

conn = connection.getCon();

stmt = conn.createStatement();

stmt.execute("update userdc set status='" + status

+ "' where datacenters='" + dname + "' and email ='"+email+"'");

System.out.println("\n>>>>SUCESSFULLY QUERY EXCECUTED !!!! \n");

public void closeStatement() throws SQLException {

if (stmt != null) {

stmt.close();

if (conn != null) {

conn.close();

Dept.of CSE, SVCET,Chittoor 46


PRIVACY PRESERVING DATA AGGREGATION SCHEME

5.2.5 ActivateDeactivateScpEdge.java

package csp;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.Statement;

public class ActivateDeactivateScpEdge implements java.io.Serializable{

private Statement stmt = null;

private Connection conn = null;

public void activate(String name, String type){

try{

System.out.println("\n>>>>>>ACTIVATE HAS BEEN CALLED "+name+":::"+type);

this.updateEdgeDC(name, "1", type);

this.closeStatement();

}catch(Exception e){

e.printStackTrace();

public void deactivate(String name, String type){

try{

Dept.of CSE, SVCET,Chittoor 47


PRIVACY PRESERVING DATA AGGREGATION SCHEME

this.updateEdgeDC(name, "0", type);

this.closeStatement();

}catch(Exception e){

e.printStackTrace();

public void updateEdgeDC(String dname, String status, String dc)

throws SQLException, Exception {

ConnectionEstablishment connection = new ConnectionEstablishment();

conn = connection.getCon();

stmt = conn.createStatement();

stmt.execute("update " + dc + " set status='" + status where datacenters='" + dname + "'");

public void closeStatement() throws SQLException {

if (stmt != null) {

stmt.close();

if (conn != null) {

conn.close();

5.2.6 AddDataCenter.java

Dept.of CSE, SVCET,Chittoor 48


PRIVACY PRESERVING DATA AGGREGATION SCHEME

package csp;

import java.io.IOException;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.Statement;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.project.DatasetAccess;

import org.project.User;

public class AddDataCenter implements java.io.Serializable{

private Statement stmt = null;

private Connection conn = null;

public void AddDataCenter(HttpServletRequest request, HttpServletResponse response,String


dc)

throws ServletException, IOException, Exception

try {

HttpSession session = request.getSession(true);

User user = new User();

user = (User) session.getAttribute("User");

Dept.of CSE, SVCET,Chittoor 49


PRIVACY PRESERVING DATA AGGREGATION SCHEME

String email = user.getEmail();

String usertype = user.getUsertype();

String dname = request.getParameter("dname");

String state = request.getParameter("state");

String latlog[] = LatLng.getLatLongPositions(state);*/

String lat = request.getParameter("lat");

String logt = request.getParameter("lng");

this.insertEDC(dname, state, lat, logt, dc);

this.closeStatement();

if(dc.equals("csp")){

session.setAttribute("salary", "AddDC");

else{

session.setAttribute("salary", "AddDCEdge");

RequestDispatcher view = request.getRequestDispatcher("index1.jsp");

view.forward(request, response);

} catch (Exception ex) {

ex.printStackTrace();

public void insertEDC(String dname, String state, String lat, String logt,

String dc) throws SQLException, Exception {

ConnectionEstablishment connection = new ConnectionEstablishment();

conn = connection.getCon();

Dept.of CSE, SVCET,Chittoor 50


PRIVACY PRESERVING DATA AGGREGATION SCHEME

stmt = conn.createStatement();

stmt.execute("Insert into " + dc+ "(datacenters,state,lat,logt,status) values ('" + dname

+ "','" + state + "','" + lat + "','" + logt + "','0')");

public void closeStatement() throws SQLException {

if (stmt != null) {

stmt.close();

if (conn != null) {

conn.close();

Dept.of CSE, SVCET,Chittoor 51


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 5

RESULTS

Dept.of CSE, SVCET,Chittoor 52


PRIVACY PRESERVING DATA AGGREGATION SCHEME

5. RESULTS

HOME PAGE: it is the lending page, where the person trying to utilize the system will lend
and be given a choice of whether to login or register. All three concerning persons, CSP user,
Edge User and just user will go through this page.

CSP ADMIN: has to log in to view the options or facilities available to the concerning
individual.

EDGE ADMIN: has to log in to view the options or facilities available to the concerning
individual.

USER: has to log in to view the options or facilities available to the concerning individual.

Dept.of CSE, SVCET,Chittoor 53


PRIVACY PRESERVING DATA AGGREGATION SCHEME

LOGIN CSP PAGE: asking all the concerning persons to provide their verification details so
that the customer will be verified and allowed to proceed.

CSP LOGIN: after csp user being logged in, the following view will come out and show the
available options to the concerning individual.

Dept.of CSE, SVCET,Chittoor 54


PRIVACY PRESERVING DATA AGGREGATION SCHEME

ADD DATA CENTER PAGE: asking all the concerning persons to provide required
information to add the data about data center server that will be available to the user.

VIEW DATA CENTER PAGE: asking all the concerning persons to view required
information regarding the data centers and activate them if necessary.

Dept.of CSE, SVCET,Chittoor 55


PRIVACY PRESERVING DATA AGGREGATION SCHEME

VIEW PURCHASED DATA CENTER PAGE: asking all the concerning persons to view
required information regarding the purchased data centers and activate them if necessary.

ADD EDGE DATA CENTER PAGE: asking all the concerning persons to provide required
information to add the data about edge data center server that will be available to the user.

Dept.of CSE, SVCET,Chittoor 56


PRIVACY PRESERVING DATA AGGREGATION SCHEME

VIEW EDGE DATA CENTER PAGE: asking all the concerning persons to view required
information regarding the edge data centers and activate them if necessary.

USER LENDING PAGE AFTER LOGIN: to such a view will be presented the user after
being logged in, provided with full of options to fully utilize the capabilities of the system.

Dept.of CSE, SVCET,Chittoor 57


PRIVACY PRESERVING DATA AGGREGATION SCHEME

VIEW DATA CENTER STATUS PAGE: asking all the concerning persons to view
required information regarding the data center status, whether it is activated or not.

UPLOAD PAGE: asking all the concerning persons to upload the information if required and
to do it to a specific data center.

Dept.of CSE, SVCET,Chittoor 58


PRIVACY PRESERVING DATA AGGREGATION SCHEME

DOWNLOAD PAGE: asking all the concerning persons to download the information if
required and to do it from a specific data center.

Dept.of CSE, SVCET,Chittoor 59


PRIVACY PRESERVING DATA AGGREGATION SCHEME

Dept.of CSE, SVCET,Chittoor 60


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 6

SYSTEM TESTING

Dept.of CSE, SVCET,Chittoor 61


PRIVACY PRESERVING DATA AGGREGATION SCHEME

6. SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality
of components, sub-assemblies, assemblies and/or a finished product It is the process of
exercising software with the intent of ensuring that the

Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.

6.1 TYPES OF TESTING


6.1.1 Unit testing
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches
and internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests
perform basic tests at component level and test a specific business process, application, and/or
system configuration. Unit tests ensure that each unique path of a business process performs
accurately to the documented specifications and contains clearly defined inputs and expected
results.

6.1.2 Integration testing


Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of
components is correct and consistent. Integration testing is specifically aimed at exposing the
problems that arise from the combination of components

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

Dept.of CSE, SVCET,Chittoor 62


PRIVACY PRESERVING DATA AGGREGATION SCHEME

Functional testing is centered on the following items:

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


2. Invalid Input : identified classes of invalid input must be rejected.
3. Functions : identified functions must be exercised.
4. Output : identified classes of application outputs must be exercised.

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

Organization and preparation of functional tests is focused on requirements, key functions, or


special test cases. In addition, systematic coverage pertaining to identify Business process
flows; data fields, predefined processes, and successive processes must be considered for
testing. Before functional testing is complete, additional tests are identified and the effective
value of current tests is determined.

6.1.4 System Test


System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.

6.1.5 White Box Testing


White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It
is used to test areas that cannot be reached from a black box level.

6.1.6 Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software
under test is treated, as a black box .you cannot “see” into it. The test provides inputs and
responds to outputs without considering how the software works.

Dept.of CSE, SVCET,Chittoor 63


PRIVACY PRESERVING DATA AGGREGATION SCHEME

6.2 UNIT TESTING:


Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.

6.3 Test strategy and approach


Field testing will be performed manually and functional tests will be written in detail.
Test objectives
1. All field entries must work properly.
2. Pages must be activated from the identified link.
3. The entry screen, messages and responses must not be delayed.
Features to be tested
1. Verify that the entries are of the correct format
2. No duplicate entries should be allowed
3. All links should take the user to the correct page.

6.4 INTEGRATION TESTING


Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.

The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company level
– interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

6.5 ACCEPTANCE TESTING


User Acceptance Testing is a critical phase of any project and requires significant participation
by the end user. It also ensures that the system meets the functional requirements.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

Dept.of CSE, SVCET,Chittoor 64


PRIVACY PRESERVING DATA AGGREGATION SCHEME

CHAPTER 7

CONCLUSION

Dept.of CSE, SVCET,Chittoor 65


PRIVACY PRESERVING DATA AGGREGATION SCHEME

7. CONCLUSION

Mobile edge computing is a new paradigm that complements the could computing and IoT
complement to each other. This paper defined the privacy preserving data aggregation for
mobile edge computing assisted IoT applications, which not only save the communication
overhead of the full system, but also preserve privacy of terminal devices. Hereafter, we
designed a privacy preserving data aggregation for mobile edge computing assisted IoT
applications based on the holomorphic property of Boneh-Goh-Nissimcryptosystem or RSA
Algorithm. The proposed scheme can protect privacy and provide source authentication and
integrity. The performance analysis show that the proposed scheme can save almost half of the
communication cost compared with traditional method. Therefore, it is very suitable for the
mobile edge computing assisted IoT applications. In future work, we will evaluate the
proposed scheme under realistic IoT environment. Besides, the mobile edge computing is a
new thing, and the research on its security and privacy issues is just getting started.
Furthermore, the characteristics of mobile edge computing, such as multisource heterogeneity,
cross-trust domain, and limited terminal resources, may create new security and privacy
issues, and the traditional security and privacy preserving mechanisms of cloud computing
may not suitable for mobile edge computing. In future research, we will also focus on the
lightweight authentication mechanisms across trust domains and the data sharing schemes
with privacy protection in different trust domains suitable for mobile edge computing.

7.1 FUTURE SCOPE:


As the word is developing faster and the number of IoT devices are increasing at a rapid pace,
therefore the privacy as well as security related to them would be considered to be highest
importance and therefore, this project is considered to be the most important in the near and
distant future for the sake of humanity as well as stability of the world and related to it
infrastructure.

7.2 RECOMMENDATIONS:
The software developed by us is going to be in high demand, therefore, the leading IT
corporations such as Google, Microsoft and Amazon should take the first initiative and be the
first one to implement and utilize our technology with related to it infrastructure.

Dept.of CSE, SVCET,Chittoor 66


PRIVACY PRESERVING DATA AGGREGATION SCHEME

REFERENCE

Dept.of CSE, SVCET,Chittoor 67


PRIVACY PRESERVING DATA AGGREGATION SCHEME

REFERENCE

1. M. Peter and T. Grance, “The nist definition of cloud computing,” 2011.


2. M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H. Katz, A. Konwinski,G. Lee, D. A.
Patterson, A. Rabkin, I. Stoica et al., “A viewof cloud computing,” Communications of The
ACM, vol. 53, no. 4, pp.50–58, 2010.
3. L. Atzori, A. Iera, and G. Morabito, “The internet of things: A survey,”Computer
Networks, vol. 54, no. 15, pp. 2787–2805, 2010.
4. J. A. Stankovic, “Research directions for the internet of things,” IEEEInternet of Things
Journal, vol. 1, no. 1, pp. 3–9, 2014.
5. R. Want, “An introduction to rfid technology,” IEEE Pervasive Computing,vol. 5, no. 1,
pp. 25–33, 2006.
6. I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “Wirelesssensor networks:
a survey,” Computer Networks, vol. 38, no. 4, pp. 393–422, 2002.
7. A. Botta, W. de Donato, V. Persico, and A. Pescap´e, “Integration ofcloud computing and
internet of things: A survey,” Future GenerationComputer Systems, vol. 56, pp. 684–700,
2016.
8. M. Diaz, C. Martin, and B. Rubio, “State-of-the-art, challenges, and openissues in the
integration of internet of things and cloud computing,”Journal of Network and Computer
Applications, vol. 67, pp. 99–117,2016.
9. X. Li, J. Peng, J. Niu, F. Wu, J. Liao, and K. R. Choo, “A robust andenergy efficient
authentication protocol for industrial internet of things,”IEEE Internet of Things Journal, vol.
5, no. 3, pp. 1606–1615, 2018.
10. X. Li, J. Niu, M. Z. A. Bhuiyan, F. Wu, M. Karuppiah, and S. Kumari,“A robust ecc-
based provable secure authentication protocol with privacypreserving for industrial internet of
things,” IEEE Transactions onIndustrial Informatics, vol. 14, no. 8, pp. 3599–3609, 2018.
11. A. Nordrum, “The internet of fewer things [news],” IEEE Spectrum,vol. 53, no. 10, pp.
12–13, 2016.
12. M. B. Mollah, M. A. K. Azad, and A. Vasilakos, “Secure data sharingand searching at the
edge of cloud-assisted internet of things,” IEEECloud Computing, vol. 4, no. 1, pp. 34–42,
2017.
13. Y. C. Hu, M. Patel, D. Sabella, N. Sprecher, and V. Young, “Mobile edgecomputing a key
technology towards 5g,” ETSI white paper, vol. 11,no. 11, pp. 1–16, 2015.

Dept.of CSE, SVCET,Chittoor 68


PRIVACY PRESERVING DATA AGGREGATION SCHEME

14. W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: Visionand challenges,”
IEEE Internet of Things Journal, vol. 3, no. 5, pp.637–646, 2016.
15. N. Abbas, Y. Zhang, A. Taherkordi, and T. Skeie, “Mobile edgecomputing: A survey,”
IEEE Internet of Things Journal, vol. 5, no. 1,pp. 450–465, 2018.
16. S. Yi, Z. Hao, Z. Qin, and Q. Li, “Fog computing: Platform andapplications,” in In 2015
Third IEEE Workshop on Hot Topics in WebSystems and Technologies (Hot Web). IEEE,
2015, pp. 73–78.
17. K. Ha, Z. Chen, W. Hu, W. Richter, P. Pillai, and M. Satyanarayanan,“Towards wearable
cognitive assistance,” pp. 68–81, 2014.
18. B. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, “Clone cloud: elasticexecution
between mobile device and cloud,” pp. 301–314, 2011.

Dept.of CSE, SVCET,Chittoor 69

You might also like