Sunteți pe pagina 1din 50

Chapter 1

INTRODUCTION

1.1 INTRODUCTION

AS organizations and individuals adopt cloud technologies, many have


become aware of the serious concerns regarding security and privacy of
accessing personal and confidential information over the Internet. In
particular, the recent and continuing data breaches highlight the need for
more secure cloud storage systems. While it is generally agreed that
encryption is necessary, cloud providers often perform the encryption and
maintain the private keys instead of the data owners. That is, the cloud can
read any data it desired, providing no privacy to its users. The storage of
private keys and encrypted data by the cloud provider is also problematic
in case of data breach. Hence, researchers have actively been exploring
solutions for secure storage on private and public clouds where private
keys remain in the hands of data owners.

Boneh et al. [1] proposed one of the earliest works on keyword searching.
Their scheme uses public key encryption to allow keywords to be
searchable without revealing data content. Waters et al. [2] investigated the
problem for searching over encrypted audit logs. Many of the early works
focused on single keyword searches. Recently, researchers have proposed
solutions on conjunctive keyword search, which involves multiple
keywords [3], [4]. Other interesting problems, such as the ranking of search
results [5], [6], [7] and searching with keywords that might contain errors
[8], [9] termed fuzzy keyword search, have also been considered. The
ability to search for phrases was also recently investigated [10], [11], [12],

1
[13]. Some [14] have examined the security of the proposed solutions and,
where flaws were found, solutions were proposed [15].

In this paper, we present a phrase search scheme which achieves a much


faster response time than existing solutions. The scheme is also scalable,
where documents can easily be removed and added to the corpus. We also
describe modifications to the scheme to lower storage cost at a small cost
in response time and to defend against cloud providers with statistical
knowledge on stored data. We begin by presenting the communication
framework in section 2 and various backgrounds including related works
in section 3. Although phrase searches are processed independently using
our technique, they are typically a specialized function in a keyword search
scheme, where the primary function is to provide conjunctive keyword
searches. Therefore, we describe both the basic conjunctive keyword
search algorithm and the basic phrase search algorithm in section 4 along
with design techniques in section 4.3. Performance analysis and
experimental results are included in section 5 and 6.

2
Chapter 2

TECHNOLOGIES LEARNED

2.1 Software Environment


The project experimental setup desires software system package Windows 7 and JDK
one.6 and MySQL 2008 Databases. And to boot true cat server, SQL YOG required.

2.1.1 Java Technology

Java technology is used for programming language and a platform for both.

2.1.2. The Java Programming Language

The Java programming language is a sophisticated language that can be categorized


by all of the following buzzwords:

 Simple
 Architecture neutral
 Object oriented
 Portable
 Distributed
 High performance
 Interpreted
 Multithreaded
 Robust
 Dynamic
 Secure

With most programming languages, you either compile or interpret a project


with the goal that you can run it on your PC. The Java programming dialect is irregular
in that a project is both arranged and deciphered. With the compiler, first you make an
interpretation of a system into a middle of the road dialect called Java byte codes —
the platform-autonomous codes deciphered by the translator on the Java platform. The
translator parses and runs every Java byte code direction on the PC. Aggregation
happens just once;

3
understanding happens every time the project is executed. The accompanying figure
outlines how this works.

Fig.2.1. Working of Java Program

You can consider Java byte codes as the machine code guidelines for the Java
Virtual Machine (Java VM). Each Java translator, whether it's an advancement device
or a web program that can run applets, is an execution of the Java VM. Java byte codes
make "compose once, run anyplace" conceivable. You can incorporate your project into
byte codes on any stage that has a Java compiler. The byte codes can then be keep
running on any execution of the Java VM. That implies that the length of a PC has a
Java VM, the same system written in the Java programming dialect can keep running
on a Solaris workstation, Windows 2000, or on an iMac.

Fig.2.2. Java in other Operating Systems

4
2.1.3. The Java Platform

A platform is the hardware or software environment in which a project runs. I've


specified probably the most prevalent platforms like Linux, Windows 2000,Solaris,
and MacOS. Most platforms can be depicted as a mix of the working framework and
hardware. The Java platform varies from most different platforms in that it's a
software-just platform that keeps running on top of other hardware-dependent
platforms.

The Java platform has two components:

The Java VM (Java Virtual Machine)

The Java API (Java Application Programming Interface)

You’ve been acquainted with the Java VM. It's the base for the Java stage and is ported
onto different equipment based platforms.

The Java API is a huge collection of ready-made software components that offer many
useful abilities, such as graphical user interface (GUI) widgets. The Java API is
assembled into libraries of related classes and interfaces; these libraries are known as
packages.

2.1.4. Functionalities of JAVA API

The taking after figure delineates a system that is running on the Java platform. As the
figure demonstrates, the Java API and the virtual machine protect the system from the
hardware.

Fig.2.3. Program Running in Java Platform

5
Native code is code that after you compile it, the compiled code runs on a particular
hardware platform. As a platform-free environment, the Java platform can be somewhat
slower than local code. Notwithstanding, brilliant compilers, all around tuned
translators, and in the nick of time byte code compilers can convey execution near that
of local code without debilitating portability.

2.1.5. Working Java Technology

The general common sorts of programs written in the Java programming dialect are
applets and applications. On the off chance that you've surfed the web, you're likely
effectively acquainted with applets. An applet is a system that holds fast to specific
traditions that permit it to keep running inside of a Java-empowered browser.However,
the Java programming language is not only to write adorable, enlivening applets for the
Ib. The broadly useful, abnormal state Java programming dialect is additionally an
intense software platform. Utilizing the liberal API, you can compose numerous sorts
of programs.

An application is a standalone program that runs straightforwardly on the Java


platform. An uncommon sort of utilization known as a server serves and backings
customers on a system. Illustrations of servers are Ib servers, intermediary servers, mail
servers, and print servers. Another particular project is a servlet. A servlet can
practically be considered as an applet that keeps running on the server side. Java
Servlets are a well-known decision for building intelligent web applications,
supplanting the utilization of CGI scripts. Servlets are like applets in that they are
runtime expansions of uses. Rather than working in programs, however, servlets keep
running inside of Java web servers, arranging or customizing the server.

How can API support different kinds of programs? It does so with packages of
software components it gives a broad range of functionality. Every complete
implementation of the Java platform gives you the following features:

 The essentials: Objects, threads, strings, numbers, input and output, system
properties, data structures, date and time, and so on.

 Applets: The set of conventions used by applets.

 Networking: URLs, Transmission Control Protocol (TCP), User Data gram


Protocol(UDP) sockets, and Internet Protocol(IP) addresses.

6
 Internationalization: Help for composing projects that can be limited for
clients around the world. Projects can naturally adjust to particular areas and be
shown in the suitable language.

 Security: Both low level and high level, private and public key
management,access control, including electronic signatures, and certificates.

 Software components: Known as JavaBeansTMs, can plug into already present


component architectures.

 Object serialization: Accepts lightweight persistence and communication via


RMI (Remote Method Invocation).

 Java Database Connectivity (JDBCTM): Provides equal access to a broad


range of relational databases.

The Java platform contains Application programming interfaces (APIs) for 2D and

3D graphics, servers, collaboration, telephony, accessibility, animation, speech and

more. The following figure says what is in the Java 2 SDK.

Fig. 2.4. JAVA 2 SDK

7
2.1.6. Java Technology Change My Life

It is not like promising that you get name, fortune, wealth, or even a job if you learn
the Java programming language. Even though, it is makes your program better and
requires less time and work than other languages. I trust that Java technology would
help you do the following:

 Get started quickly: Even though the Java programming language is a strong
object-oriented language, it is easy to learn, especially for programmers who are
familiar with C or C++.

 Write less code: Java programming language can be four times smaller than
the same program in C++.

 Write better code: The Java programming language empowers great coding
practices, and its junk accumulation offers you some assistance with avoiding
memory spills. Its item introduction, its JavaBeans segment building design,
and its far reaching, effortlessly extendible API let you reuse other individuals'
tried code and present less bugs.
 Develop programs more quickly: Your improvement time may be as much as
twice as quick versus composing the same system in C++. Why? You compose
less lines of code and it is an easier programming dialect than C++.

 Avoid platform dependencies with 100% Pure Java: You can keep your
project compact by dodging the utilization of libraries written in different
languages. The 100% Pure Javas Product Certification Program has a vault of
chronicled procedure manuals, white papers, leaflets, and comparable materials
online.

 Write once, run anywhere: Because 100% Pure Java programs are
assembled into machine-autonomous byte codes, they run reliably on any Java
platform.

 Distribute software more easily: You can update applets effectively from a

 focal server. Applets exploit the component of permitting new classes to be


stacked "on the fly," without recompiling the whole program

8
2.1.7. ODBC

Microsoft ODBC (Open Database Connectivity) is a standard programming interface


for application designers and database frameworks suppliers. Before ODBC turned into
a true standard for Windows projects to interface with database frameworks, software
engineers needed to utilize restrictive dialects for every database they needed to
associate with. Presently, ODBC has settled on the decision of the database framework
verging on immaterial from a coding point of view, which is as it ought to be.
Application designers have substantially more critical things to stress over than the
grammar that is expected to port their system starting with one database then onto the
next when business needs abruptly change.

Through the ODBC Administrator in Control Panel, you can indicate the
specific database that is connected with an information source that an ODBC
application project is composed to utilize. Think about an ODBC information source as
an entryway with a name on it. Every entryway will lead you to a specific database. For
instance, the information source named Sales Figures may be a SQL Server database,
while the Accounts Payable information source could allude to an Access database. The
physical database alluded to by an information source can live anyplace on the LAN.

The ODBC system files are not introduced on your system by Windows 95.
Maybe, they are introduced when you setup a different database application, for
example, SQL Server Client or Visual Basic 4.0. At the point when the ODBC symbol
is introduced in Control Panel, it utilizes a document called ODBCINST.DLL. It is
likewise conceivable to direct your ODBC information sources through a stand-alone
program called ODBCADM.EXE. There is a 16-bit and a 32-bit adaptation of this
system and each keeps up a different rundown of ODBC information sources.

From a programming point of view, the excellence of ODBC is that the


application can be composed to utilize the same arrangement of capacity calls to
interface with any information source, paying little heed to the database seller. The
source code of the application doesn't change whether it converses with Oracle or SQL
Server. I just say these two as an illustration. There are ODBC drivers accessible for a
few dozen Ill known database systems. Indeed, even Excel spreadsheets and plain
content files can be transformed into information sources. The working framework
utilizes the Registry data composed by ODBC Administrator to figure out which low-

9
level ODBC drivers are expected to converse with the information source, (for example,
the interface to Oracle or SQL Server). The stacking of the ODBC drivers is
straightforward to the ODBC application program. In a customer/server environment,
the ODBC API even handles huge numbers of the system issues for the application
programmer.

The advantages of this plan are numerous to the point that you are most likely
thinking there must be some catch. The main drawback of ODBC is that it isn't as
productive as talking specifically to the local database interface. ODBC has had
numerous spoilers make the charge that it is too moderate. Microsoft has dependably
asserted that the basic component in execution is the nature of the driver programming
that is utilized. As I would see it, this is valid. The accessibility of good ODBC drivers
has enhanced an incredible arrangement as of late. What's more, at any rate, the
feedback about execution is to some degree practically equivalent to the individuals
who said that compilers would never coordinate the pace of unadulterated low level
computing construct. Possibly not, but rather the compiler (or ODBC) gives you the
chance to compose cleaner projects, which implies you every year.

2.1.8. JDBC

In an effort to set a free database standard API for Java; Sun Microsystems created Java
Database Connectivity, or JDBC. JDBC offers a bland SQL database access system
that gives a predictable interface to an assortment of RDBMSs. This predictable
interface is accomplished through the utilization of "module" database availability
modules, or drivers. In

the event that a database seller wishes to have JDBC bolster, he or she must
give the driver to every stage that the database and Java run on.

To get a broad acceptance of JDBC, Sun construct JDBC's structure in light of


ODBC. As you found before in this part, ODBC has across the board support on an
assortment of stages. Constructing JDBC in light of ODBC will permit sellers to put
up JDBC drivers for sale to the public much speedier than adding to a totally new
availability solution.

10
JDBC was proclaimed in March of 1996. It was released for a 90 day public
review that was ended June 8, 1996. Due to the user input, the final JDBC v1.0
specification was released soon after.

The rest of this segment will sufficiently cover data about JDBC for you to
recognize what it is about and how to utilize it viably. This is in no way, shape or form
a complete review of JDBC. That would fill a whole book.

2.1.9. JDBC Goals

Few programming packages are planned without objectives personality a primary


concern. JDBC is one that, due to its numerous objectives, drove the advancement of
the API. These objectives, in conjunction with ahead of schedule analyst criticism, have
settled the JDBC class library into a strong structure for building database applications
in Java.

The targets that Ire set for JDBC are critical. They will give you some
knowledge in the matter of why certain classes and functionalities act the way they do.
The eight outline objectives for JDBC are as follows:

 SQL Level API


 The designers felt that their principle objective was to characterize a SQL
interface for Java. In spite of the fact that not the most minimal database
interface level conceivable, it is at a sufficiently low level for larger amount
apparatuses and APIs to be made. Then again, it is at a sufficiently high level
for application programmers to utilize it unquestionably. Accomplishing
objective takes into consideration future instrument sellers to "produce" JDBC
code and to conceal huge numbers of JDBC's complexities from the end user.

 SQL Conformance
SQL syntax shifts as you move from database seller to database merchant. With
an end goal to bolster a wide assortment of merchants, JDBC will permit any
question proclamation to be gone through it to the basic database driver. This
permits the network module to handle non-standard usefulness in a way that is
suitable for its users.

11
 JDBC must be implemental on top of common database interfacesThe
JDBC SQL API must “sit” on top of other general SQL level APIs. This goal
permits JDBC to utilize existing ODBC level drivers by the utilization of a
software interface. This interface would translate JDBC calls to ODBC and
vice versa.
 Provide a Java interface that is consistent with the rest of the Javasystem
because of Java’s acknowledgment in the client group so far, the architects
feel that they ought not stray from the present configuration of the core Java
system.

 Keep it simple
This objective most likely up in all product outline objective postings. JDBC is
no special case. Sun felt that the outline of JDBC ought to be extremely basic,
taking into account one and only system for finishing an assignment for each
instrument. Permitting copy usefulness just serves to befuddle the clients of the
API.

 Use strong, static typing wherever possible


Strong writing takes into consideration more blunder checking to be done at
accumulate time; likewise, less mistake show up at runtime.

 Keep the common cases simpleBecause more often than not, the usual SQL
calls utilized by the programmer are simple INSERT’s, SELECT’s,
UPDATE’s and DELETE’s, these inquiries are easy to perform with JDBC.
On the otherhand, more perplexing SQL statements ought to additionally be
conceivable.
 Java ha two things: a programming language and a platform. Java is a
high-level programming language that is all of the following

 Simple
 Object-oriented
 Distributed
 Interpreted
 Dynamic
 Secure

12
 Architecture-neutral
 Portable
 High-performance
 Multithreaded
 Robust

Java is additionally irregular in that every Java project is both gathered


and translated. With an aggregate you make an interpretation of a Java
program into a middle language called Java byte codes the stage free code
guideline is passed and keep running on the computer.

Compilation happens just once; interpretation occurs each time the


program is executed. The figure illustrates how this works.

Interpreter

JavaProgram

Compilers My Program

Fig.2.5. Compilation and Execution of JAVA Program

You can consider Java byte codes as the machine code instructions for the Java VM
(Java Virtual Machine). Each Java interpreter, whether it's a Java advancement
instrument or a web program that can run Java applets, is an execution of the Java VM.
The Java VM can likewise be actualized in hardware. Java byte codes make "compose
once, run anyplace" possible. You can accumulate your Java program into byte codes
on my stage that has a Java compiler. The byte codes can then be run any usage of the

13
Java Virtual Machine. For example, the same Java program can run Solaris, Windows
NT, and Macintosh.

2.1.10Networkigg TCP/IP stack

The TCP/IP stack is shorter than the OSI one:

Fig.2.6. TCP/IP Model

TCP is a connection-oriented protocol; UDP (User Datagram Protocol) is a


connectionless protocol.

IP datagram’s

The IP layer gives a connectionless and problematic conveyance system. It considers


each datagram autonomously of the others. Any relationship between datagram must
be supplied by the higher layers. The IP layer supplies a checksum that incorporates its
own particular header. The header incorporates the source and destination addresses.
The IP layer handles directing through an Internet. It is additionally in charge of

14
separating huge datagram into littler ones for transmission and reassembling them at
the other end.

UDP

UDP is also connectionless and inconsistent. What it adds to IP is a checksum for the
substance of the datagram and port numbers. These are utilized to give a
customer/server model - see later.

TCP

TCP supplies logic to give a dependable association situated convention above IP. It
gives a virtual circuit that two procedures can use to impart.

Internet addresses

In request to utilize an administration, you must have the capacity to discover it. The
Internet utilizes a location plan for machines with the goal that they can be found. The
location is a 32 bit number which gives the IP address. This encodes a system ID and
additionally tending to. The system ID falls into different classes as per the span of the
system address.

Network address

Class A utilizes 8 bits for the system address with 24 bits left over for other tending to.
Class B utilizes 16 bit system tending to. Class C utilizes 24 bit system tending to and
class D employments all 32.

Subnet address

Internally, the UNIX system is separated into sub systems. Building 11 is right now
on one sub system and uses 10-bit tending to, permitting 1024 distinctive hosts.

Host address

8 bits are finally used for host addresses within our subnet. This places a limit of256
machines that can be on the subnet.

Port addresses

A administration exists on a host, and is distinguished by its port. This is a 16 bit


number. To make an impression on a server, you send it to the port for that

15
administration of the host that it is running on. This is not area straightforwardness!
Sure of these ports are "Ill known".

Sockets

A socket is an information structure kept up by the system to handle system


associations. An attachment is made utilizing the call attachment. It gives back a whole
number that is similar to a document descriptor. Truth be told, under Windows, this
handle can be utilized with Read File and Write File functions.

#include <sys/types.h>

#include <sys/socket>

int socket(int family, int type, int protocol);

Here "family" will be AF_INET for IP communications, protocol will be zero, and type
will rely on upon whether TCP or UDP is utilized. Two procedures wishing to impart
over a system make an attachment each. These are like two finishes of a funnel - yet
the real pipe does not yet exist.

2.1.11. JFree Chart

JFreeChart is a free 100% Java chart library that does it easy for developers to display
professional quality charts in their applications. JFreeChart's extensive feature set
includes:

A consistent and Ill-documented API, supporting a wide range of chart types;

A adaptable outline that is anything but difficult to develop, and targets both server-
side and customer side applications;

Support for including Swing components, many output types, image files (including
JPEG and PNG), and vector graphics file formats (including EPS, PD, and SVG);

JFreeChart is "open source" or, all the all the more especially, free programming. It is
passed on under the terms of the GNU Lesser General Public Licensee (LGPL), which
permits use in selective applications.

16
1. Map Visualizations

Charts showing values that identify with geological ranges. A few cases include: (a)
populace thickness in every condition of the United States, (b) salary per capita for
every nation in Europe, (c) future in every nation of the world. The tasks in this project
include:

Sourcing freely redistributable vector plots for the nations of the world, states/areas
specifically (USA in particular, but also other areas);

Creating a suitable dataset interface (in addition to default usage), a rendered, and
coordinating this with the existing XY Plot class in JFreeChart;

Testing, documenting, testing some more, documenting some more.

2. Time Series Chart Interactivity

Implement another (to JFreeChart) highlight for intuitive time arrangement outlinesto
show a different control that demonstrates a little form of ALL the time arrangement
information, with a sliding "perspective" rectangle that permits you to choose the
subset of the time arrangement information to show in the main chart.

2. Dashboards

There is at present a considerable measure of enthusiasm for dashboard shows. Make


an adaptable dashboard component that supports a subset of JFreeChart diagram sorts
(dials, pies, thermometers, bars, and lines/time arrangement) that can be conveyed
effectively through both Java web Start and an applet.

4. Property Editors

The property editor mechanism system in JFreeChart just handles a little subset of the
properties that can be set for graphs. Augment (or re implement) this component to give
more note worthy end-client control over the presence of the chart.

2.2. Java web Application


A Java web application produces intuitive site pages containing different sorts of
markup dialect (XML, HTML, and so on) and dynamic content. It is ordinarily involved
We segments, for example, Java Server Pages (JSP), servlets and JavaBeans to alter

17
and briefly store data, collaborate with databases and web administrations, and render
content because of customer requests.

Because a large number of the errands included in web application advancement can be
tedious or require an overflow of standard code, web structures can be connected to
reduce the overhead connected with basic exercises. For instance, numerous structures,
for example, JavaServer Faces, give libraries to templating pages and session
administration, and regularly advance code reuse.

2.2.1 Java EE

Java EE (Enterprise Edition) is a broadly utilized stage containing an arrangement of


facilitated innovations that fundamentally decrease the expense and multifaceted nature
of creating, sending, and overseeing multi-level, server-driven applications. Java EE
expands upon the Java SE stage and gives an arrangement of APIs (application
programming interfaces) for creating and running compact, powerful, efficient and
secure server-side applications.

Some of the fundamental components of Java EE include:

 Enterprise JavaBeans (EJB): a managed, server-side component structure


utilized to encapsulate the business logic of an application. EJB technology enables
rapid and simplified development of transactional, distributed, portable and secure
applications depending on Java technology.

 Java Persistence API (JPA): a framework that accepts developers to maintain


data utilizing ORM (object-relational mapping) in applications built on the Java
Platform.

2.2.2. JavaScript and Ajax Development

JavaScript is an object-oriented scripting language primarily used in client-side


interfaces for web applications. Ajax (Asynchronous JavaScript and XML) is a web 2.0
technique that permits changes to happen in a website page without the need to perform
a page revives. JavaScript tool boxes can be utilized to apparatus Ajax-empowered parts
and usefulness in web pages.

18
2.2.3. Web Server and Client

Web Server is software that can handle the customer demand and send the reaction
back to the customer. For instance, Apache is a standout amongst the most generally
utilized web server. Web Server keeps running on some physical machine and listens
to customer request on specific port.

A web client is a software that assists in corresponding with the server. The
absolute most generally utilized web customers are Firefox, Google Chrome, Safari
and so forth. When I ask for something from server (through URL), web customer deals
with making a solicitation and sending it to server and after that parsing the server
reaction and present it to the user.

2.2.4. HTML and HTTP

Web Server and net shopper square measure 2 totally different code merchandise,thus
there need to be some traditional language for communication. HTML is that the basic
language within the middle of server and shopper and stands for Hyper Text
terminology

2.3. MySQL:
MySQL, the popular Open Source SQL database management system, is
introduced, published, and supported by Oracle Corporation.

The MySQL Web site is http://www.mysql.com/ giving the updated information


about MySQL software.

MySQL is a database administration framework.

A database is an organized collection of information. It may be anything from


a fundamental shopping once-over to a photograph show or the unfathomable measures
of information in a corporate framework. To incorporate, get to, and process
information set away in a PC database, you require a database organization structure,
for instance, MySQL Server. Since PCs are awesome at dealing with a considerable
measure of information, database organization systems expect a central part in
preparing, as standalone utilities, or as parts of distinctive applications.

19
MySQL databases are social.

A social database stores information specifically tables instead of putting all the
information in one noteworthy storeroom. The database structures are sorted out into
physical records enhanced for rate. The predictable model, with articles, for instance,
databases, tables, points of view, lines, and portions, offers a versatile programming
environment. You set up guidelines speaking to the associations between particular
information fields, for instance, adjusted, one-to-various, intriguing, required or
optional, and "pointers" between assorted tables. The database maintains these
principles, so that with an inside and out laid out database, your application never sees
clashing, duplicate, vagrant, obsolete, or missing information.

The MySQL is base of "SQL" it signifies "Organized Query Language".


SQL(Structured Query Language) is the general institutionalized dialect used to get to
databases. Contingent upon your programming surroundings, you may enter SQL
specifically, implant SQL proclamations into code written in another dialect, or utilize
a dialect particular Application Programming Interfaces that shrouds the SQL linguistic
structure.

SQL is characterized by the ANSI/ISO SQL Standard. The Structured Query


Language standard has been maintain subsequent to 1986 and numerous forms exist. In
this manual, "SQL-92" identified with the standard discharged in 1992, "SQL:1999"
alludes to the standard discharged in 1999, and "SQL:2003" alludes to the present form
of the standard. I utilize the expression "the SQL standard" to mean the present
adaptation of the SQL Standard whenever.

MySQL programming is Open Source.

Open Source implies that it is workable for anyone to use and modify the item.
Anybody can download the MySQL programming from the Internet and use it without
paying anything. If you wish, you may focus on the source code and change it to suit
your needs. The MySQL programming uses the GPL (GNU General Public License),
http://www.fsf.org/licenses/, to portray what you may and may not do with the item in
unmistakable circumstances. In case you feel uncomfortable with the GPL or need to
embed MySQL code into a business application, you can buy a mechanically approved
structure

20
from us. See the MySQL Licensing Overview for more information
(http://www.mysql.com/association/legal/allowing/).

The MySQL Database Server is quick, solid, adaptable, and simple to utilize.

In the event that that is the thing that you are searching for, you should give it a shot.
MySQL Server can run effortlessly on a desktop or convenient PC, near to your
distinctive applications, Web servers, and so on, requiring no thought. If you confer an
entire machine to MySQL, you can alter the settings to misuse all the memory, CPU
poIr, and I/O limit open. MySQL can in like manner scale up to bundles of machines,
sorted out together. You can find an execution relationship of MySQL Server with other
database chiefs on our benchmark page.

MySQL Server was at first made to handle generous databases much speedier
than existing courses of action and has been adequately used as a piece of exceedingly
asking for era circumstances for very much an extended period of time. Yet under
predictable headway, MySQL Server today offers a rich and profitable plan of limits.
Its system, rate, and security make MySQL Server significantly suited for getting to
databases on the Internet.

MySQL Server works in customer/server or installed frameworks.

The MySQL Database Software is a customer/server framework that contains of a


multi-hung SQL server that frameworks for upkeeps different back terminations, some
particular customer ventures and libraries, administrative gadgets, and a vast of
utilization programming interfaces (APIs).

I additionally give MySQL Server as an embedded multi-strung library that you


can interface into your application to get a speedier, littler, less demanding to-oversee
standalone item.

A huge measure of contributed MySQL programming is accessible.

MySQL Server has a genuine arrangement of scenes created in close backing with our
clients. It is likely that your favored application or dialect bolsters the MySQL Database
Server.

21
The permitted approach to affirm "MySQL" is "My EssQue Ell" (not "my spin-
off"), then I wouldn't fret in the event that you say it as "my continuation" or in some
other restricted way.

including 150 words or less. In dynamic assaults permitting test inquiries to the
objective channel, 30 words will get half of blocked spam past.

2.4. Installation of JDK 1.6 and MySQL


2.4.1 Step by Step Procedure for JDK 1.6

The latest version of JDK is JDK sixu2 (Java(TM) SE Development Kit six Update
2), that's to boot referred to as Java SE six (Java traditional Edition 6). the following
unit the steps to transfer and install JDK 6u2 on native machine.

 Open the Java SE transfer page with this URL:


 http://java.sun.com/javase/downloads.

 Click the transfer button next to "JDK 6u2". It will' show a innovative page
with a list of assorted transfer files of JDK 6u2.

 Notice the "Windows Platform - Java(TM) SE Development Kit six


Update 2" section.
 4
Click
. the hyper link of "Windows Offline Installation (build 06), Multi-language",

 that links to jdk-6u2-windows-i586-p.exe with size of sixty 5.57 MB.

 Save java development kitadev-6u2-windows-i586-p.exe to a quick directory.


 Double-click on javadevelopmentkit-6u2-windows-i586-p.executable to
start the installation wizard.
 The installation wizard will guide to finish the installation.

To test the installation, open a command window to undertake the


java command. If it shows the following output, the installation was
ok:

C:\>program\java\jdk1.6.0_02\bin\java

-version Java version \"1.6.0_02\"

Java SE Run time environment (construct one.6.0_02-b06)

22
Java Hot spot(TM) shopper VM (construct one.6.0_02-b06, both mode, sharing)

2.5 Step By Step Procedure for MYSQL 6.0

 To place in MY SQL the file to transfer is “Windows thirty two bit and X86 Installer
MSI Essentials” is required.
 On the downloaded My Structured query language double click and this will the
installation of My SQL.
 Select "I accept terms inside the license agreement “and click on next.
 Inside consequent window, select the "custom “icon to change the path of the
installation.
 Next window looks, presently browse or navigate the folder
C:\server\mystructurequery language to place within the files in that folder.
 Inside consequent window, once the modification press OK.
 Press install in next window.
 Select a customary pattern, and click on next.
 To place within the My structure Query language service, click next.
 It'd sort of a secret for MySQL information, please enter a secret, please bear in
mind the login name in most cases is root and thus the key user choosing, in my
case, and choose admin.
 It will perform all the commands enter, thus click "run".
 To setup My SQL graphical computer program, head to programs menu (My SQL)
click on "My SQL Administrator" login into information as local host - username
and secret head to "service control" and click on the tab "configure

23
Chapter 3
ANALYSIS &DEVELOPED

3.1 INTRODUCTION

After analysing the requirements of the task to be performed, the next step is to analyse
the problem and understand its context. The first activity in the phase is studying the
existing system and other is to understand the requirements and domain of the new
system. Both the activities are equally important, but the first activity serves as a basis
of giving the fundamental specifications and then successful design of the proposed
system. Understanding the properties and requirements of a new system is more
difficult and requires creative thinking and understanding of existing running system is
difficult, improper understanding of the present system can lead diversion from
solution.

3.2 SOFTWARE REQUIREMENT SPECIFICATION

3.2.1 User Requirements

Requirement Specification plays an important role to create quality software solution.


Requirements are refined and analysed to assess the clarity. Requirements are
represented in a manner that ultimately leads to successful software implementation.
Each requirement must be consistent with the overall objective.
3.2.2 Software Requirements

The software requirements specification is produced at the end of the analysis task.
Software requirement is a difficult task, only decided after testing whether it fits the
requirements.
 Operating System - Windows XP
 Coding Language - Java/J2EE(JSP,Servlet)
 Front End - J2EE
 Back End - MySQL

24
3.2.3 Hardware Requirements

This is an IoT project so hardware plays an important role. Selection of hardware also
plays an important role in existence and performance of any software. The size and
capacity are main requirements.
 Processor - Pentium –IV
 RAM - 4 GB (min)
 Hard Disk - 20 GB
 Key Board - Standard Windows Keyboard
 Mouse - Two or Three Button Mouse
 Monitor - SVGA

3.3 ANALYSIS MODEL

The model that is being followed is the SOFTWARE DEVELOPMENT LIFE CYCLE
MODEL, which states that the phases are organised in order. First of all the feasibility
study is done. Once that part is completed, the requirement analysis and project
planning begins. If system existsonce, then modifications and addition of new modules
is needed, analysis of present system can be used as basic model.

The design starts after the requirement analysis is completed and the coding
begins after the design is completed. Once the programming is completed, the testing
is done. In this model the sequence of activities performed in a software development
project are

 Project planning
 Requirement definition
 Design
 Development
 Integration and testing
 Installation and acceptance

25
3.4 EXISTING SYSTEM

 In the existing system, Ding et al. [3] extended Boneh et al.’s scheme using bilinear
mapping to perform multiple keyword search and described a solution that did not
include expensive pairing operations in the encryption and trapdoor generation phase.
 Kerschbaum et al. [4] considered the search of unstructured text, where positions of
keywords are unknown. The use of encrypted index for keyword search was examined
in [22] and a scheme secure against chosen keyword attack was proposed. The ranking
of search results was looked at by Wang et al. in [17]. The authors described a solution
based on the commonly used TFIDF (Term Frequency x Inverse Document Frequency)
rule and the use of order preserving symmetric encryption.
 Liu et al. [23] considered the search for potentially erroneous keywords termed fuzzy
keyword search. The index-based solution makes use of fuzzy dictionaries containing
various misspelling of keywords including wildcards.
3.5 DISADVANTAGES

There is less security on outsourced data due to lack of Modified phrase search scheme
against IR attacks.

There is no Data integrity technique to audit outsourced data.

3.6 PROPOSED SYSTEM

In the proposed system, the system presents a phrase search scheme which achieves a
much faster response time than existing solutions. The scheme is also scalable, where
documents can easily be removed and added to the corpus. The system also describes
modifications to the scheme to lower storage cost at a small cost in response time and
to defend against cloud providers with statistical knowledge on stored data.

In the proposed system, the system also presents a phrase search technique based on
Bloom filters that is significantly faster than existing solutions, with similar or better
storage and communication cost. The proposed system technique uses a series of n-
gram filters to support the functionality.

26
The scheme exhibits a trade-off between storage and false positive rate, and is adaptable
to defend against inclusion-relation attacks. A design approach based on an
application’s target false positive rate is also described.

3.7 ADVANTAGES

The Data retrieval is fast due to Conjunctive keyword search scheme.

The security is more on outsourced data due to Modified phrase search scheme
against IR attacks.

27
Chapter 4

DESIGN

4.1 INTRODUCTION

Software design sites at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and the area of application. Design is
the first step in the development phase for any engineered product or system. The
designer’s goal is to produce a model or representation of an entity that will later be
built. Beginning, once system requirements have been specified and analysed, system
design is the first of the three technical activities – design, code and test that is required
to build and verify software.

During design, progressive refinement of data structure, program structure and


procedural details are developed, reviewed and documented. System design can be
viewed from either technical or project management perspective. From the technical
point of view, design is comprised of four activities – architectural design, data structure
design, interface design, procedural design.

4.2. Feasibility Study


Feasibility study is accompanied once the difficult is obviously understood.
The feasibility study which is a great level lozenge version of the whole system
analysis and design procedure. The independent is to define whether the planned
system is possible or not and it benefits us to the least expense of how to resolve the
problem and to govern, if the Problem is wealth solving.

The following are the three important tests that have been conceded out for
feasibility Study.

 Technical Feasibility
 Economic feasibility
 Operational feasibility

28
4.2.1 TECHNICAL FEASIBILITY

In the technical feasibility study, one has to assess whether the implemented
system can be established using existing technology or not. It is intended to
implement the implemented system in JSP. The project enabled is theoretically
feasible since the following reasons.

 All needed technology exists to improve the system.


 The existing system is so malleable that it can be advanced further.

4.2.2 ECONOMIC FEASIBILITY

As a portion of this, the expenses and profits related with the implemented
systems are to be associated. The project is carefully feasible only if tangible and
intangible assistances balance the cost. We can say the implemented system is
feasible founded on the following grounds.

 The charge of developing the filled system is sensible.


 The cost of hardware and software for the application is less.
4.2.3 OPERATIONAL FEASIBILITY

This project is operationally feasible for there is necessary support from the
project organization and the users of the implemented system .Implemented system
absolutely does not damage and determination not create the corrupt results and no
problem will ascend after implementation of the system.

User-friendly

Customer will use the forms for their various transactions i.e. for adding new
routes, viewing the routes details. Also the Customer wants the reports to view the
various transactions based on the constraints. These forms and reports are generated as
user-friendly to the Client.

Reliability

The package wills pick-up current transactions on line.


Regarding the old transactions, User will enter them in to the system.

Security

The web server and database server should be protected from hacking, virus etc.

29
Availability

This software will be available always.

4.3 UML DIAGRAM

4.3.1 CLASS DIAGRAMS

CLASS DIAGRAM Cloud Server

Data Owner METHODS: View data owners and


authorize, View End users and
METHODS: Register and Login
server authorize, View enc key and
Data owners,Req cloud to give authorize, View dec key and
enc key permission and view res authorize, View uploaded files,View
,Browse file, enc, Apply ABE and all files and audit owner data and
Upload,View all Uploaded Files send log to corresponding owner,
with digital sign,View file from View all owner and user transactions,
cloud ,View your files and Update View file attackers, View all file
contents,View Your files and content attackers, Find File rank
Delete, View sec req and give results in chart.
permission.
MEMBERS:
Cloud server name, password, fname,
MEMBERS:Owner
trapdoor, Owner_Name,Uploaded_DT
name,password,fname,trapdoor

Attacker

End User
Methods : attack the contents
METHODS: Req dec from cloud and
MEMBERS :
view res, Req sec key permission
Attacker name,file name,content. from,Search file ,Data owner and
view res, Download the file.

MEMBERS:

End user name,password,file name


,secret key, mobile number,email
address,pin code.

fig:4.3.1.CLASS diagrams

30
4.3.2 USE CASE DIAGRAMS

Attack File Contents


Attacker

Register and Login Data owners,Req


cloud to give enc key permission and
view res
View data owners and authorize,
View End users and authorize,View
Browse file, enc, Apply ABE and enc key and authorize,View dec key
Upload,View all Uploaded Files and authorize,
Data Owner with digital sign

View your files and Update


Cloud Server View uploaded files
contents,View Your files and Delete,
View sec req and give permission.

View file attackers,View all file


content attackers

End user
Req dec from cloud and view res

, Req sec key permission


from,Search file

Data owner and view res, Download


the file

Fig 4.3.2 use case diagrams

31
4.3.3 SEQUANCE DIAGRAMS

Data Owner Cloud server Attacker End user

Register and Login


Register and Login

Store all Owner


Browse file, enc, Apply ABE and
and end user Req dec from
Upload,View all Uploaded Files
registration details cloud and req
with digital sign
sec key
View your files and Update permission
contents,View Your files and View data owners
Delete and authorize,View
End users and
authorize,View enc
key and
authorize,View dec
key and authorize

Response to both dec and sec key

View files from cloud


View uploaded files

Attack File Contents


download File

View download response

Fig 4.3.3:sequence diagrams

32
4.4 MODULE DESIGN AND ORGANIZATION

The System Design Document describes the system requirements, operating


environment, system and subsystem architecture, files and database design, input
formats, output layouts, human-machine interfaces, detailed design, processing logic,
and external interfaces.

MODULES

 Data Owner

In this module, the data owner uploads their data in the cloud server. For the security
purpose the data owner encrypts the file and the index name and then store in the
cloud. The data encryptor can have capable deleting of a specific file. And also he
can view the transactions based on the files he uploaded to cloud and will do the
following operations like Register and Login Data owners,Req cloud to give enc
key permission and view res,Browse file, enc, Apply ABE and Upload, View all
Uploaded Files with digital sign, View your files and Update contents, View Your
files and Delete , View sec req and give permission.

.Data User

In this module, user logs in by using his/her user name and password. After Login
user requests search control to cloud and will Search for files based on the index
keyword with the Score of the searched file and downloads the file. User can view
the search of the files and also do some operations like Req dec from cloud and
view res,Req sec key permission from, Search file ,Data owner and view
res,Download the file.

 Cloud Server
The cloud server manages a cloud to provide data storage service. Data owners
encrypt their data files and store them in the cloud for sharing with Remote User.
To access the shared data files, data consumers download encrypted data files of
their interest from the cloud and then decrypt them.

33
The cloud server authorizes the data owner and the data user and provides the search
requests sent from the users. Also in this module it shows personalized search model
and the interest search model. Can view all the file attackers and doing following
operations View data owners and authorize, View End users and authorize, View
enc key and authorize, View dec key and authorize, View uploaded files, View all
files and audit owner data and send log to corresponding owner, View all owner
and user transactions, View file attackers, View all file content attackers, Find File
rank results in chart, View Time Delay Results, View throughput Results.

5.5 SYSTEM IMPLEMENTATION

5.5.1 SAMPLE CODING

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%@ include file="connect.jsp" %>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Social Network User Authorization Page</title>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<link href="style.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="js/cufon-yui.js"></script>

<script type="text/javascript" src="js/arial.js"></script>

<script type="text/javascript" src="js/cuf_run.js"></script>

<style type="text/css">

<!--

.style2 {font-size: 18px}

.style3 {

34
font-size: 24px;

color: #FF0000;

font-weight: bold;

.style40 {color:#CC3333}

-->

</style>

</head>

<body>

<div class="main">

<div class="header">

<div class="header_resize">

<div class="logo">

<h1><a href="index.html"><span class="style2">A Comprehensive Study on


Mining</span></a></h1>

</div>

<div class="menu">

<ul>

<li><a href="index.html" class="active"><span>Home</span></a></li>

<li><a href="SocialLogin.jsp"><span>Social Network</span></a></li>

<li><a href="UserLogin.jsp"><span>User</span></a></li>

<li><a href="contact.html"><span></span></a></li>

35
</ul>

</div>

<div class="clr"></div>

</div>

<div class="headert_text_resize"> <img src="images/text_area_img.jpg" alt=""


width="395" height="396" />

s2=rs.getString(4);

s3=rs.getString(6);

s4=rs.getString(11);

s5=rs.getString(10);

<td height="0" align="center" valign="middle"><div align="center"


class="style5 style37 style54 style55 style22"><span class="style22">

<%out.println(i);%>

</span></div></td>

<td width="116" rowspan="1" align="center" valign="middle" ><div


class="style5 style37 style54 style55 style22" style="margin:10px 13px 10px 13px;"
> <a class="#" id="img1" href="#" >

<input name="image" type="image" src="user_Pic.jsp?id=<%=i%>"


style="width:90px; height:90px;" />

</a> </div></td>

<td height="0" align="center" valign="middle"><div align="center"


class="style22">

<span class="style40">

36
<b><a
href="Social_UserProfile.jsp?uname=<%=s1%>&type=<%="Social_Authorize"%>&
id=<%=i%>"><%out.println(s1);%></a></b>

</span></div></td>

<td height="0" align="center" valign="middle"><div align="center"


class="style22">

<span class="style22">

<%out.println(s2);%>

</span></div></td>

<td height="0" align="center" valign="middle"><div align="center"


class="style5 style20 style37 style54 style55 style22">

<span class="style22">

<%out.println(s3);%>

</span></div></td>

<%

if(s5.equalsIgnoreCase("waiting"))

%>

<td valign="middle" height="0"


style="color:#000000;"align="center"><div align="center" class="style22 style5
style20 style30 style37">

37
4.6 TESTING AND VALIDATION

The goal of testing is to acquire errors. Testing is that the technique of trying
to get each possible error or weakness in an extremely work product. It provides the
way to observe the practicality of parts, sub-assemblies, assemblies and or a finished
product it is the technique of effort code with the concentrating of guaranteeing that
the software meets its requirements and user hopes and does not fail in an undesirable
manner. There are numerous sorts of check. Every check sort reports a designated
testing demand.

Testing objectives:

The key objective of testing is to determine a mass of errors, systematically


and with minimum effort and time. Stating formally, we can say, testing is a process
of executing a program with resolved of discover an error.

 A successful test is one that determines an as however undiscovered error.


 A good test case is one that has possibility of discover an error, if it exists.
 The test is insufficient to detect possibly present errors.
 The software more or less approves to the quality and unswerving standards.

38
4.6.1 Types of Testing

The basic levels of Testing:

Client needs acceptance testing

equirements system testing

Design integration testing

Code unit testing

Fig. 4.1 Levels of Testing

Functional Testing

Real tests give efficient protests that functions tested are attainable as specific by the
business and technical requirements, system documentation, and user manuals.

Functional testing is focused on the subsequent items:

Valid Input : known categories of valid input should be accepted.

39
Invalid Input : known categories of invalid input should be rejected.

4.6.2 TYPES OF TESTS

Unit testing:

A unit is the smallest piece of source code that can be tested. It is also known
as a module which consists of numerous lines of code that are processed by a single
programmer. The key purpose of performing unit testing is to expose that a particular
unit doesn’t satisfy the specified functional requirements and also to show that the
structural implementation is not like to the projected structure designed.

Integration testing:

Integration tests are intended to test incorporated programming segments to


figure out whether they really keep running as one system. Testing is occasion driven
and is more worried with the fundamental result of screens or fields. Reconciliation
tests exhibit that in spite of the fact that the parts were separately fulfillment, as
appeared by effectively unit testing, the blend of segments is right and comprised.
Integration testing is specifically aimed at revealing the problems that rise from the
mixture of components.

Functional test

Functional tests give efficient challenges that capacities tried are accessible as
determined by the business and specialized necessities, framework documentation, and
client 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.

Association and arrangement of practical tests is centered around prerequisites,


key capacities, or unique experiments. Likewise, efficient scope relating to recognize

40
Business procedure streams; information fields, predefined procedures, and
progressive procedures must be considered for testing. Before utilitarian testing is
finished, extra tests are distinguished and the powerful estimation of current tests is
resolved.

System Test

System testing guarantees that the entire coordinated programming framework meets
prerequisites. It tests a design to guarantee known and unsurprising results. A sample
of framework testing is the arrangement situated framework combination test.
Framework testing depends on procedure portrayals and streams, stressing pre-driven
procedure connections and mix focuses.

White Box Testing

It is a testing in which the product analyzer has information of the internal workings,
structure and dialect of the product, or if nothing else its motivation. It is reason. It is
utilized to test ranges that can't be gotten a handle on from a discovery level.

Black Box Testing

It is the testing the product with no information of within workings, structure or dialect
of the part being tried. Discovery tests, as most different sorts of tests, must be
composed from a complete source report, for example, prerequisite or necessities
archive, for example, determination or necessities record. It is a trying in which the
product under test is dealt with, as a discovery .you can't "see" into it. The test gives
inputs and reacts to yields without considering how the product functions.

Unit Testing:

Unit testing is by and large appeared as a major aspect of a joined code and unit test
period of the product lifecycle, in spite of the fact that it is not exceptional for coding
and unit testing to be directed as two unmistakable stages.

Test strategy and approach

Ground testing will be done physically and functional tests will be inscribed in detail.

41
Test objectives

 All field admissions essentially work appropriately.


 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.
Features to be tested

 Validate that the accesses are of the correct format


 No duplicate entries should be allowed
 Entire links must gross the user to the accurate page.
Integration Testing

Software integration testing is the incremental combination analysis of two or more


joint software components on a single platform to generate failures created by boundary
faults.

The task of the integration test is to design those components or s/w applications, e.g.
modules in a software system or – one step up – software presentations at the company
level

– interact without faults.

Test Results: All the test cases stated above passed effectively. No defects met.

Acceptance Testing

User Acceptance Testing is a serious phase of any project and needs important
contribution by the end user. It also guarantees that the system encounters the functional
requirements.

42
Fig 7.10: Testcase Template

Test Results: All the test cases stated above passed effectively. No defects met.

43
CHAPTER 5

SCREEN SHOTS & CONCLUSION & & REFERENCES

Fig 5.1 welcome cloud

44
Fig 5.2 user details

45
Fig 5.3 data owners

46
Fig 5.4 file details

47
fig 5.5 uploaded results

48
8.1 CONCLUSION

In this paper, we presented a phrase search scheme based on Bloom filter that is
significantly faster than existing approaches, requiring only a single round of
communication and Bloom filter verifications. The solution addresses the high
computational cost noted in [13] by reformulating phrase search as n-gram verification
rather than a location search or a sequential chain verification. Unlike [10], [12],[13],
our schemes consider only the existence of a phrase, omitting any information of its
location. Unlike [11], our schemes do not require sequential verification, is
parallelizable and has a practical storage requirement. Our approach is also the first to
effectively allow phrase search to run independently without first performing a
conjunctive keyword search to identify candidate documents. The technique of
constructing a Bloom filter index introduced in section 4.2 enables fast verification of
Bloom filters in the same manner as indexing. According to our experiment, it also
achieves a lower storage cost than all existing solutions except [13], where a higher
computational cost was exchanged in favor of lower storage. While exhibiting similar
communication cost to leading existing solutions, the proposed solution can also be
adjusted to achieve maximum speed or high speed with a reasonable storage cost
depending on the application. An approach is also described to adapt the scheme to
defend against inclusion-relation attacks. Various issues on security and efficiency,
such as the effect of long phrases and precision rate, were also discussed to support our
design choices.

49
BIBILIOGRAPHY

[1] D. Boneh, G. D. Crescenzo, R. Ostrovsky, and G. Persiano, “Public key encryption


with keyword search,” in In proceedings of Eurocrypt, 2004, pp. 506–522.

[2] B. Waters, D. Balfanz, G. Durfee, and D. K. Smetters, “Building an encrypted and


searchable audit log,” in Network and Distributed System Security Symposium, 2004.

[3] M. Ding, F. Gao, Z. Jin, and H. Zhang, “An efficient public key encryption with
conjunctive keyword search scheme based on pairings,” in IEEE International
Conference on Network Infrastructure and Digital Content, 2012, pp. 526–530.

[4] F. Kerschbaum, “Secure conjunctive keyword searches for unstructured text,” in


International Conference on Network and System Security, 2011, pp. 285–289.

[5] C. Hu and P. Liu, “Public key encryption with ranked multi keyword search,” in
International Conference on Intelligent Networking and Collaborative Systems, 2013,
pp. 109–113.

[6] Z. Fu, X. Sun, N. Linge, and L. Zhou, “Achieving effective cloud search services:
multi-keyword ranked search over encrypted cloud data supporting synonym query,”
IEEE Transactions on Consumer Electronics, vol. 60, pp. 164–172, 2014.

[7] C. L. A. Clarke, G. V. Cormack, and E. A. Tudhope, “Relevance ranking for one to


three term queries,” Information Processing and Management: an International Journal,
vol. 36, no. 2, pp. 291–311, Jan. 2000.

50

S-ar putea să vă placă și