Contributory_Broadcast_Encryption_document

advertisement
1
CONTENT
S.NO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
20
21
22
TITLE
Abstract
Introduction
Existing system
Disadvantages
Proposed system
Advantages
System Architecture
Flow Diagram
Use case Diagram
Class Diagram
Sequence Diagram
Testing Of Product
Modules
Modules Description
Algorithm Description
Literature Survey
Hardware Requirements
Software Requirements
H/W&S/W Description
Screen Shots
Future Enhancement
Conclusion
References
PAGE .NO
2
3
6
7
8
9
10
11
12
13
14
15
19
19
21
22
32
32
33
40
2
ABSTRACT
Traditional broadcast encryption (BE) schemes allow a sender to securely
broadcast to any subset of members but require a trusted party to distribute
decryption keys. Group key agreement (GKA) protocols enable a group of
members to negotiate a common encryption key via open networks so that only the
group members can decrypt the ciphertexts encrypted under the shared encryption
key, but a sender cannot exclude any particular member from decrypting the
ciphertexts. In this paper, we bridge these two notions with a hybrid primitive
referred to as contributory broadcast encryption (ConBE). In this new primitive, a
group of members negotiate a common public encryption key while each member
holds a decryption key. A sender seeing the public group encryption key can limit
the decryption to a subset of members of his choice. Following this model, we
propose a ConBE scheme with short ciphertexts. The scheme is proven to be fully
collusion-resistant under the decision n-Bilinear Diffie-Hellman Exponentiation
(BDHE) assumption in the standard model. Of independent interest, we present a
new BE scheme that is aggregatable. The aggregatability property is shown to be
useful to construct advanced protocols.
3
INTRODUCTION
WITH the fast advance and pervasive deployment of
communication technologies, there is an increasing
demand of versatile cryptographic primitives to protect group
communications and computation platforms. These new platforms
include instant-messaging tools, collaborative computing,
mobile ad hoc networks and social networks. These
new applications call for cryptographic primitives allowing a
sender to securely encrypt to any subset of the users of the
services without relying on a fully trusted dealer. Broadcast
encryption (BE) is a well-studied primitive intended for
secure group-oriented communications. It allows a sender
to securely broadcast to any subset of the group members. Nevertheless,
a BE system heavily relies on a fully trusted key
server who generates secret decryption keys for the members
and can read all the communications to any members.
Group key agreement (GKA) is another well-understood
cryptographic primitive to secure group-oriented communications.
A conventional GKA allows a group of members to
4
establish a common secret key via open networks. However,
whenever a sender wants to send a message to a group, he
must first join the group and run a GKA protocol to share
a secret key with the intended members. More recently, and
to overcome this limitation, Wu et al. introduced asymmetric
GKA , in which only a common group public key is negotiated
and each group member holds a different decryption key.
However, neither conventional symmetric GKA nor the newly
introduced asymmetric GKA allow the sender to unilaterally
exclude any particular member from reading the plaintext1.
Hence, it is essential to find more flexible cryptographic
primitives allowing dynamic broadcasts without a fully trusted
dealer. We present the Contributory Broadcast Encryption (ConBE)
primitive, which is a hybrid of GKA and BE. First, we model the ConBE
primitive and formalize its
security definitions. ConBE incorporates the underlying ideas
of GKA and BE. A group of members interact via open
networks to negotiate a public encryption key while each
member holds a different secret decryption key. Using the
public encryption key, anyone can encrypt any message to any
subset of the group members and only the intended receivers
5
can decrypt. Unlike GKA, ConBE allows the sender to exclude
some members from reading the ciphertexts. Compared to BE,
ConBE does not need a fully trusted third party to set up
the system. We formalize collusion resistance by defining an
attacker who can fully control all the members outside the
intended receivers but cannot extract useful information from
the ciphertext.
EXISTING SYSTEM
Group
key
agreement
cryptographic primitive to
(GKA)
is
another
secure group-oriented
well-understood
communications. A
conventional GKA allows a group of members to establish a common secret
key via open networks. However, whenever a sender wants to send a message
to a group, he must first join the group and run a GKA protocol to share a secret
key with the intended members.
More recently, and to overcome this limitation, Wu et al. introduced
asymmetric GKA, in which only a common group public key is negotiated and
each group member holds a different decryption key.
However, neither conventional symmetric GKA nor the newly introduced
asymmetric GKA allow the sender to unilaterally exclude any particular
6
member from reading the plaintext. Hence, it is essential to find more flexible
cryptographic primitives allowing dynamic broadcasts without a fully trusted
dealer.
DISADVANTAGES OF EXISTING SYSTEM:
 Need a fully trusted third party to set up the system.
 Existing GKA protocols cannot handle sender/member changes
efficiently.
PROPOSED SYSTEM
We present the Contributory Broadcast Encryption (ConBE)
primitive, which is a hybrid of GKA and BE.
This full paper provides complete security proofs, illustrates the necessity of
the aggregatability of the underlying BE building block and shows the
practicality of our ConBE scheme with experiments.
First, we model the ConBE primitive and formalize its security definitions.
ConBE incorporates the underlying ideas of GKA and BE. A group of
members interact via open networks to negotiate a public encryption key
while each member holds a different secret decryption key. Using the public
encryption key, anyone can encrypt any message to any subset of the group
members and only the intended receivers can decrypt.
7
We formalize collusion resistance by defining an attacker who can fully
control all the members outside the intended receivers but cannot extract
useful information from the ciphertext.
Second, we present the notion of aggregatable broadcast encryption
(AggBE). Coarsely speaking, a BE scheme is aggregatable if its secure
instances can be aggregated into a new secure instance of the BE scheme.
Specifically, only the aggregated decryption keys of the same user are valid
decryption keys corresponding to the aggregated public keys of the
underlying BE instances.
Finally, we construct an efficient ConBE scheme with our AggBE scheme as
a building block. The ConBE construction is proven to be semi-adaptively
secure under the decision BDHE assumption in the standard model.
ADVANTAGES OF PROPOSED SYSTEM:
 We construct a concrete AggBE scheme tightly proven to be fully
collusion-resistant under the decision BDHE assumption.
 The proposed AggBE scheme offers efficient encryption/decryption and
short ciphertexts.
 Only one round is required to establish the public group encryption key
and set up the ConBE system.
8
SYSTEM DESIGNS
SYSTEM ARCHITECTURE:
9
DATA FLOW DIAGRAM:
10
TESTING OF PRODUCT
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.
TYPES OF TESTS
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.
11
Functional test
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system
documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input
:
identified classes of valid input must be
accepted.
Invalid Input
:
identified classes of invalid input must be
rejected.
Functions
:
identified functions must be exercised.
Output
:
identified classes of application outputs.
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.
System Test
System testing ensures that the entire integrated software system meets
requirement. 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.
12
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.
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.
Test objectives
 All field entries must work properly.
 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.
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.
13
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.
14
MODULES
 Loading and preprocessing of data.
 Analysis of user reviews.
 Mapper and reducer process
 Prediction of recommendation list.
 Evaluation process.
MODULES DESCRIPTION
Loading and preprocessing of data
In this module , we first load the data.After loading , we analyze the data.After
analyzing process , we view the information present in the dataset.After that we
start the preprocessing step.In the preprocessing step,we remove the null
value,missing tuples etc.
Analysis of user reviews.
After preprocessing , we view the cleaned or processed data.At the same time we
analyze the user reviews.The user reviews contain the information about the place
or hotels or transportation etc.Using the review we further continue our process.
Mapper and reducer process
15
In this module we first collect the user preferences in the form of query model.We
implement the query model to get the user request, here it is user preference.The
user preference is processed using the map reduce mechanism.The process is
performed by splitting the preferences i.e.it is done using mapper process.After the
processing , the results are aggregated.
Prediction of recommendation list.
After map reduce process execution ,we aggregate the result to generate the
recommendation list.The recommendation list is generated
using user
collaborative
the
filtering
algorithm.This
algorithm
generates
output
,recommendation list.A keyword-aware service recommendation method, named in
this
paper,
which
is
based
on
a
user-based
Collaborative
Filtering
algorithm.Keywords extracted from reviews of previous users are used to indicate
their preferences.
Evaluation process
The evaluation process takes place to predict the accuracy of the recommendation
list.The evaluation is in the form of graphs.To evaluatethe performance of KASR
in accuracy, we compare KASRwith other two well-known recommendation
methods: Rank Boost algorithm using Pearson Correlation Coefficient(PCC) and
item-based algorithm using PCC, which arecalled as UPCC
respectively.
ALGORITHM DESCRIPTION
and IPCC
16
The Diffie-Hellman protocol is a method for two computer users to generate a
shared private key with which they can then exchange information across an
insecure channel. Let the users be named sender and receiver. First, they agree on
two prime numbers and , where is large (typically at least 512 bits) and is
a primitive root modulo . (In practice, it is a good idea to choose such
that
is also prime.) The numbers and need not be kept secret from other
users. Now sender chooses a large random number as her private key and
receiver similarly chooses a large number . Sender then computes
which she sends to Receiver, and Receiver computes
,
, which he sends
to sender
Now both Sender and Receiver compute their shared key
, which
Sender computes as
and Receiver computes as
Sender and Receiver can now use their shared key
to exchange information
without worrying about other users obtaining this information. In order for a
potential eavesdropper (Eve) to do so, she would first need to
obtain
knowing only , ,
This can be done by computing from
and
and from
.
. This is
the discrete logarithm problem, which is computationally infeasible for large .
Computing the discrete logarithm of a number modulo takes roughly the same
17
amount of time as factoring the product of two primes the same size as , which is
what the security of the RSA cryptosystem relies on.
SOFTWARE REQUIREMENTS
Hardware Requirement:
System
:
Pentium dual core
Hard Disk
:
160 GB
Monitor
:
15 VGA color
Mouse
:
Logitech.
Keyboard
:
110 keys enhanced
18
Software Requirement:
 Operating system :
Windows XP/7.
 Coding Language :
JAVA
 IDE
:
Eclipse
 Database
:
MYSQL
SOFTWARE DESCRIPTION
4.1.FRONT END

JAVA (Programming Language)
This project uses JAVA (Programming Language). J2EE(JAVA 2 ENTERPRISE
EDITION) is a programming language developed and marketed by Sun Microsystems to allow
programmers to build dynamic web sites, web applications and web services. James Gosling,
Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was
originally designed for interactive television, but it was too advanced for the digital cable
television industry at the time. The language was initially called Oak after an oak tree that stood
outside Gosling's office; it went by the name Green later, and was later renamed Java, from Java
coffee, said to be consumed in large quantities by the language's creators. Gosling aimed to
implement a virtual machine and a language that had a familiar C/C++ style of notation.
19
One characteristic of Java is portability, which means that computer programs written in
the Java language must run similarly on any hardware/operating-system platform. This is
achieved by compiling the Java language code to an intermediate representation called Java byte
code, instead of directly to platform-specific machine code. Java byte code instructions are
analogous to machine code, but are intended to be interpreted by a virtual machine (VM) written
specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE)
installed on their own machine for standalone Java applications, or in a Web browser for Java
applets. Standardized libraries provide a generic way to access host-specific features such as
graphics, threading, and networking.
A major benefit of using byte code is porting. However, the overhead of interpretation
means that interpreted programs almost always run more slowly than programs compiled to
native executables would. Just-in-Time (JIT) compilers were introduced from an early stage that
compiles byte codes to machine code during runtime
Oracle Corporation is the current owner of the official implementation of the Java SE
platform. This implementation is based on the original implementation of Java by Sun. The
Oracle implementation is available for Mac OS X, Windows and Solaris. Because Java lacks any
formal standardization recognized by Ecma International, ISO/IEC, ANSI, or any other thirdparty standards organization, the Oracle implementation is the de facto standard.
The Oracle implementations are packaged into two different distributions. The Java
Runtime Environment (JRE) which contains the parts of the Java SE platform required to run
Java programs. This package is intended for end-users. The Java Development Kit (JDK), is
intended for software developers and includes development tools such as the Java compiler,
Javadoc, Jar, and a debugger.
Open JDK is another notable Java SE implementation that is licensed under the GPL. The
implementation started when Sun began releasing the Java source code under the GPL. As of
Java SE 7, Open JDK is the official Java reference implementation.
The goal of Java is to make all implementations of Java compatible. Historically, Sun's
trademark license for usage of the Java brand insists that all implementations be "compatible".
This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft
20
implementation did not support RMI or JNI and had added platform-specific features of their
own. Sun sued in 1997 and in 2001 won a settlement of US$20 million, as well as a court order
enforcing the terms of the license from Sun. As a result, Microsoft no longer ships Windows with
Java. Platform-independent Java is essential to Java EE, and an even more rigorous validation is
required to certify an implementation. This environment enables portable server-side
applications.
There were five primary goals in the creation of the Java language:
● It should be "simple, object-oriented and familiar"
● It should be "robust and secure"
● It should be "architecture-neutral and portable"
● It should execute with "high performance"
● It should be "interpreted, threaded, and dynamic"
In 2010, IBM released Rational Application Developer version 8.0. This release supported
WebSphere Application Server version 8.0 as well as the new Java EE 6 programming standard.
This release included tools supporting the OSGi applications framework and cloud computing.
The cloud computing support included the ability to instantiate and manages virtual machines
running application servers and also inclusion of virtual machine appliances for Rational
Application Developer in the IBM Smart Cloud Enterprise image catalogue. The latest version of
Rational Application Developer is Version 9.0, which was released in June 2013.
 SERVLETS
This project use servlets technology. A Servlet is a Java-based server-side web
technology. As the name implies, it serves a client request and receives a response from the
server. Technically speaking, a Servlet is a Java class in Java EE that conforms to the Java
Servlet API, a protocol by which a Java class may respond to requests. They are not tied to a
specific client-server protocol, but are most often used with the HTTP protocol. Therefore, the
word "Servlet" is often used in the meaning of "HTTP Servlet". Thus, a software developer may
use a servlet to add dynamic content to a Web server using the Java platform. The generated
content is commonly HTML, but may be other data such as XML. Servlets are the Java
counterpart to non-Java dynamic Web content technologies such as PHP and ASP.NET. Servlets
21
can maintain state in session variables across many server transactions by using HTTP cookies,
or URL rewriting.
To deploy and run a Servlet, a Web container must be used. A Web container (also
known as a Servlet container) is essentially the component of a Web server that interacts with the
servlets. The Web container is responsible for managing the lifecycle of servlets, mapping a URL
to a particular servlet and ensuring that the URL requester has the correct access rights.
The servlet API, contained in the Java package hierarchy javax.servlet, defines the
expected interactions of the Web container and a servlet. A Servlet is an object that receives a
request and generates a response based on that request. The basic servlet package defines Java
objects to represent servlet requests and responses, as well as objects to reflect the servlets
configuration parameters and execution environment. The package javax.servlet.http defines
HTTP-specific subclasses of the generic servlet elements, including session management objects
that track multiple requests and responses between the Web server and a client. Servlets may be
packaged in a WAR file as a Web application.
Servlets can be generated automatically from JavaServer Pages (JSP) by the JavaServer
Pages compiler. The difference between Servlets and JSP is that Servlets typically embed HTML
inside Java code, while JSPs embed Java code in HTML. While the direct usage of Servlets to
generate HTML (as shown in the example below) has become rare, the higher level MVC web
framework in Java EE (JSF) still explicitly uses the Servlet technology for the low level
request/response handling via the FacesServlet. A somewhat older usage is to use servlets in
conjunction with JSPs in a pattern called "Model 2", which is a flavor of the model-viewcontroller pattern. Three methods are central to the life cycle of a servlet. These are init( ),
service( ), and destroy( ). They are implemented by every servlet and are invoked at specific
times by the server.


Eclipse
Eclipse is an integrated development environment (IDE). It contains a base workspace
and an extensible plug-in system for customizing the environment. Written mostly in Java,
Eclipse can be used to develop applications. By means of various plug-ins, Eclipse may also be
used to develop applications in other programming languages: Ada, ABAP, C, C++, COBOL,
22
Fortran,Haskell, JavaScript, Lasso, Natural, Perl, PHP, Prolog, Python, R, Ruby (including Ruby
on Rails framework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used to develop
packages for the software Mathematical. Development environments include the Eclipse Java
development tools (JDT) for Java

Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others. The initial codebase
originated from IBM Visual Age. The Eclipse software development kit (SDK), which includes
the Java development tools, is meant for Java developers. Users can extend its abilities by
installing plug-ins written for the Eclipse Platform, such as development toolkits for other
programming languages, and can write and contribute their own plug-in modules.

Released under the terms of the Eclipse Public License,

Eclipse SDK is free and open source software (although it is incompatible with the GNU
General Public License. It was one of the first IDEs to run under GNU Classpath and it runs
without problems under Iced Tea.
 About HTML
HTML(HYPER TEXT MARUP LANGUAGE) is a language used to
create hypertext documents that have hyperlinks embedded in them .You can build web
pages. It is only a formatting language and not a programming language. Hyperlinks are
underlined or emphasized words or locations in a screen that lead to other documents. WWW
is a global, interactive, graphical, hypertext information system.
The behind hypertext is that instead of reading text in rigid liner structure you
can easily jump from point to another point .You can navigate through the information based
on your interest and preferences.
Hyper Media: HTML pages audio and video files linked to them are Hyper Media.
 MYSQL
The following list shows the most important properties of MySQL. This section is
directed to the reader who already has some knowledge of relational databases. We will use
some terminology from the relational database world without defining our terms exactly. On
23
the other hand, the explanations should make it possible for database novices to understand
to some extent what we are talking about.
Relational Database System: Like almost all other database systems on the market,
MySQL is a relational database system.
Client/Server Architecture: MySQL is a client/server system. There is a database server
(MySQL) and arbitrarily many clients (application programs), which communicate with the
server; that is, they query data, save changes, etc. The clients can run on the same computer
as the server or on another computer (communication via a local network or the Internet).
SQL compatibility: MySQL supports as its database language -- as its name suggests – SQL
(Structured Query Language). SQL is a standardized language for querying and updating
data and for the administration of a database. There are several SQL dialects (about as many
as there are database systems). MySQL adheres to the current SQL standard (at the moment
SQL:2003), although with significant restrictions and a large number of extensions.
SubSELECTs: Since version 4.1, MySQL is capable of processing a query in the form
SELECT * FROM table1 WHERE x IN (SELECT y FROM table2) (There are also
numerous syntax variants for subSELECTs.)
Views: Put simply, views relate to an SQL query that is viewed as a distinct database object
and makes possible a particular view of the database. MySQL has supported views since
version 5.0.
Stored procedures: Here dealing with SQL code that is stored in the database system.
Stored procedures (SPs for short) are generally used to simplify certain steps, such as
inserting or deleting a data record. For client programmers this has the advantage that they do
not have to process the tables directly, but can rely on SPs. Like views, SPs help in the
administration of large database projects. SPs can also increase efficiency. MySQL has
supported SPs since version 5.0.
24
Triggers: Triggers are SQL commands that are automatically executed by the server in
certain database operations (INSERT, UPDATE, and DELETE). MySQL has supported
triggers in a limited form from version 5.0, and additional functionality is promised for
version 5.1.
Unicode: MySQL has supported all conceivable character sets since version 4.1, including
Latin-1, Latin-2, and Unicode (either in the variant UTF8 or UCS2).
User interface: There are a number of convenient user interfaces for administering a
MySQL server.
Full-text search: Full-text search simplifies and accelerates the search for words that are
located within a text field. If you employ MySQL for storing text (such as in an Internet
discussion group), you can use full-text search to implement simply an efficient search
function.
CONCLUSION
In this paper, we formalized the ConBE primitive. In
ConBE, anyone can send secret messages to any subset
of the group members, and the system does not require a
trusted key server. Neither the change of the sender nor the
dynamic choice of the intended receivers require extra rounds
to negotiate group encryption/decryption keys. Following the
ConBE model, we instantiated an efficient ConBE scheme that
is secure in the standard model. As a versatile cryptographic
25
primitive, our novel ConBE notion opens a new avenue to
establish secure broadcast channels and can be expected to secure
numerous emerging distributed computation applications.
REFERENCES
[1] J. Manyika, M. Chui, B. Brown, et al, “Big Data: The next frontier for
innovation, competition, and productivity,” 2011.
[2] C. Lynch, “Big Data: How do your data grow?” Nature, Vol. 455, No. 7209, p.
28-29, 2008.
26
[3] F. Chang, J. Dean, S. Ghemawat, and W. C. Hsieh, “Bigtable: A distributed
storage system for structured data,” ACM Transactions on Computer Systems,Vol.
26, No. 2 (4) , 2008.
[4] W. Dou, X. Zhang, J. Liu, J. Chen, “HireSome-II: Towards Privacy-Aware
Cross-Cloud Service Composition for Big Data Applica-tions,” IEEE Transactions
on Parallel and Distributed Systems, 2013.
[5] G. Linden, B. Smith, and J. York, “Amazon.com Recommendations: Item-toItem Collaborative Filtering,” IEEE Internet Computing, Vol. 7, No.1, pp. 76-80,
2003.
[6] M. Bjelica, “Towards TV Recommender System Experiments with User
Modeling,” IEEE Transactions on Consumer Electronics, Vol. 56, No.3, pp. 17631769, 2010.
[7] M. Alduan, F. Alvarez, J. Menendez, and O. Baez, “Recommender System for
Sport Videos Based on User Audiovisual Consumption,” IEEE Transactions on
Multimedia, Vol. 14, No.6, pp. 1546-1557, 2013.
[8] Y. Chen, A. Cheng and W. Hsu, “Travel Recommendation by Min-ing People
Attributes and Travel Group Types From Community-Contributed Photos”.IEEE
Transactions on Multimedia, Vol. 25, No.6, pp. 1283-1295, 2012.
[9] Z. Zheng, X Wu, Y Zhang, M Lyu, and J Wang, “QoS Ranking Pre-diction for
Cloud Services,” IEEE Transactions on Parallel and Dis-tributed Systems, Vol. 24,
No. 6, pp. 1213-1222, 2013.
[10] W. Hill, L. Stead, M. Rosenstein, and G. Furnas, “Recommending and
Evaluating Choices in a Virtual Community of Use,” In CHI '95 Proceedings of the
SIGCHI Conference on Human Factors in Com-puting System, pp. 194-201, 1995.
27
[11] P. Resnick, N. Iakovou, M. Sushak, P. Bergstrom, and J. Riedl, “GroupLens:
An Open Architecture for Collaborative Filtering of Netnews,” In CSCW '94
Proceedings of the 1994 ACM conference on Computer supported cooperative
work, pp. 175-186, 1994.
[12] R. Burke, “Hybrid Recommender Systems: Survey and Experi-ments,” User
Modeling and User-Adapted Interaction, Vol. 12, No.4, pp. 331-370, 2002.
[13] G. Adomavicius, and A. Tuzhilin, “Toward the Next Generation of
Recommender Systems: A Survey of the Stateof- the-Art and Possi-ble
Extensions,” IEEE Transactions on Knowledge and Data Engi-neering, Vol.17,
No.6 pp. 734-749, 2005.
[14] D. Agrawal, S. Das, A. El Abbadi, “Big Data and cloud computing: new wine
or just new bottles?” Proceedings of the VLDB Endow-ment, Vol. 3, No.1, pp.
1647-1648, 2010.
[15] J. Dean, and S. Ghemawat, “MapReduce: Simplified data processing on large
clusters,” Communications of the ACM, Vol. 51, No.1, pp. 107-113, 2005.
[16] G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Laksh-man, A.
Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, “Dynamo: Amazons
highly available key-value store,” In: Proceed-ings of the 21st ACM Symposium
on Operating Systems Principles, pp. 205-220, 2007.
[17] M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly, “Dryad:Distributed
data-parallel programs from sequential build-ing blocks,” European Conference on
Computer Systems, pp. 59-72, 2007.
[18] S. Ghemawat, H. Gobioff, and S. T. Leung, “The Google File Sys-tem,” The
19th ACM Symposium on Operating Systems Principles, pp. 29-43, 2003.
28
[19] L. Zhang, “Editorial: Big Services Era: Global Trends of Cloud Computing
and Big Data”. IEEE Transactions on Services Compu-ting, Vol. 5, No. 4, pp. 467468, 2012.
[20] Z. Luo, Y. Li and J. Yin, “Location: a feature for service selection in the era
of big data,” 2013 IEEE 20th International Conference on Web Service, pp. 515522, 2013.
[21] H. Schütze and J. O. Pedersen, “A cooccurrence-based thesaurus and two
applications to information retrieval,” Information Processing & Management,
Vol. 33, No. 3, pp. 307-318, 1997.
[22] Y. Jing and W. Croft, “An association thesaurus for information retrieval,”
Proceedings of RIAO, Vol. 94, No. 1994, pp.146-160, 1994.
[23] B. Issac and W. J. Jap, “Implementing spam detection using baye-sian and
porter stemmer keyword stripping approaches,” TEN-CON 2009-2009 IEEE
Region 10 Conference, pp. 1-5, 2009.
[24] P. Castells, M. Fernandez, and D. Vallet, “An Adaptation of the Vector-Space
Model for Ontology-Based Information Retrieval,” IEEE Transactions on
Knowledge and Data Engineering, Vol. 19, No.2, pp. 261-272, February 2007.
[25] Y. Zhu, Y. Hu,”Enhancing search performance on Gnutella-like P2P
systems,” IEEE Transactions on Parallel and Distributed Sys-tems, Vol. 17, No.
12, pp. 1482-1495, 2006.
[26] A. Chu, R. Kalaba, and K. Spingarn, “A comparison of two me-thods for
determining the weights of belonging to fuzzy sets”, Journal of Optimization
Theory and Applications, Vol. 27, No.4, pp.531-538, 1979.
29
[27] G. Salton, “Automatic Text Processing,” Addison-Wesley, 1989.
[28] B. Sarwar, G. Karypis, J. Konstan, J. Riedl, “Item-based collabora-tive
filtering recommendation algorithms,” Proceedings of the 10th international
conference on World Wide Web, pp. 285-295, 2001.
[29] K. Lakiotaki, N. F. Matsatsinis, and A. Tsoukis,“Multi-Criteria User
Modeling in Recommender Systems”, IEEE Intelligent Sys-tems, Vol. 26, No. 2,
pp. 64-76, 2011.
[30] Y. Pan, L. Lee, “Performance analysis for lattice-based speech in-dexing
approaches using words and subword units,” IEEE Transac-tions on Audio,
Speech, and Language Processing, Vol. 18, No. 6, pp. 1562-1574, 2010.
[31] G. Kang, J. Liu, M. Tang, X. Liu and B. cao, “AWSR: Active Web Service
Recommendation Based on Usage History,” 2012 IEEE 19th International
Conference on Web Services (ICWS), pp. 186-193, 2012.
[32] G. M. Amdahl, “Validity of the single-processor approach to achieving large
scale computing capabilities,” Proceedings of spring joint computer conference,
pp. 483-485, 1967.
[33] X. Yang, Y. Guo, Y. Liu, “Bayesian-inference based recommenda-tion in
online social networks,” IEEE Transactions on Parallel and Distributed Systems,
Vol. 24, No. 4, pp. 642-651, 2013.
[34] G. Adomavicius, and Y. Kwon, “New Recommendation Tech-niques for
Multicriteria Rating Systems,” IEEE Intelligent Systems, Vol. 22, No. 3, pp. 48-55,
2007.
30
[35] Z. D. Zhao, and M. S. Shang, "User-Based Collaborative-Filtering
Recommendation Algorithms on Hadoop," In the third Internation-al Workshop on
Knowledge Discovery and Data Mining, pp. 478-481, 2010.
[36] H. Liang, J. Hogan, and Y. Xu, “ Parallel User Profiling Based on
Folksonomy for Large Scaled Recommender Systems: An Impli-mentation of
Cascading MapReduce,” In Proceedings of the IEEE International Conference on
Data Mining Workshops, pp. 156-161, 2010.
[37] Y. Jin, M. Hu, H. Singh, D. Rule, M. Berlyant, and Z. Xie, “MyS-pace Video
Recommendation with Map-Reduce on Qizmt,” Pro-ceedings of the 2010 IEEE
Fourth International Conference on Se-mantic Computing, pp.126-133, 2010.
Download