ioan petri* omer f. rana yacine rezgui gheorghe cosmin...

19
Int. J. Cloud Computing, Vol. 1, Nos. 2/3, 2012 221 Copyright © 2012 Inderscience Enterprises Ltd. Trust modelling and analysis in peer-to-peer clouds Ioan Petri* School of Engineering, Cardiff University, Queen’s Buildings, Newport Road, Cardiff CF24 3AA, UK E-mail: [email protected] *Corresponding author Omer F. Rana School of Computer Science and Informatics, Cardiff University, Queen’s Buildings, Newport Road, Cardiff CF24 3AA, UK E-mail: [email protected] Yacine Rezgui School of Engineering, Cardiff University, Queen’s Buildings, Newport Road, Cardiff CF24 3AA, UK E-mail: [email protected] Gheorghe Cosmin Silaghi Business Information Systems, Babeş-Bolyai University, Romania 58-60, Theodor Mihali Street, Cluj-Napoca, 400591, Romania E-mail: [email protected] Abstract: In the context of an increasing demand for data and computational services, the benefits of cloud computing are substantial. However, cloud computing capabilities (as currently provisioned) can prove limited when accessed through a single provider. Extending capabilities of clouds by using user owned and provisioned devices can address a number of challenges arising in the context of current cloud deployments – such as data centre power efficiency, availability and outage management and secure access. We present a mechanism of forming trustworthy P2P clouds where various end-users can join and exchange resources. We propose a trust model for managing the formation and use of such clouds where feedback aggregation is used for identifying the trust distribution. Using various experimental setups we evaluate the status of the cloud in the context of different malicious end-users.

Upload: others

Post on 21-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Int. J. Cloud Computing, Vol. 1, Nos. 2/3, 2012 221

Copyright © 2012 Inderscience Enterprises Ltd.

Trust modelling and analysis in peer-to-peer clouds

Ioan Petri* School of Engineering, Cardiff University, Queen’s Buildings, Newport Road, Cardiff CF24 3AA, UK E-mail: [email protected] *Corresponding author

Omer F. Rana School of Computer Science and Informatics, Cardiff University, Queen’s Buildings, Newport Road, Cardiff CF24 3AA, UK E-mail: [email protected]

Yacine Rezgui School of Engineering, Cardiff University, Queen’s Buildings, Newport Road, Cardiff CF24 3AA, UK E-mail: [email protected]

Gheorghe Cosmin Silaghi Business Information Systems, Babeş-Bolyai University, Romania 58-60, Theodor Mihali Street, Cluj-Napoca, 400591, Romania E-mail: [email protected]

Abstract: In the context of an increasing demand for data and computational services, the benefits of cloud computing are substantial. However, cloud computing capabilities (as currently provisioned) can prove limited when accessed through a single provider. Extending capabilities of clouds by using user owned and provisioned devices can address a number of challenges arising in the context of current cloud deployments – such as data centre power efficiency, availability and outage management and secure access. We present a mechanism of forming trustworthy P2P clouds where various end-users can join and exchange resources. We propose a trust model for managing the formation and use of such clouds where feedback aggregation is used for identifying the trust distribution. Using various experimental setups we evaluate the status of the cloud in the context of different malicious end-users.

Page 2: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

222 I. Petri et al.

Keywords: peer-to-peer; P2P; cloud computing; service level agreements; SLAs; penalties; rewards; trust; prisoner dilemma.

Reference to this paper should be made as follows: Petri, I., Rana, O.F., Rezgui, Y. and Silaghi, G.C. (2012) ‘Trust modelling and analysis in peer-to-peer clouds’, Int. J. Cloud Computing, Vol. 1, Nos. 2/3, pp.221–239.

Biographical notes: Ioan Petri holds a PhD in Cybernetics and Statistics from Babes-Bolyai University, Romania. He has worked in industry, as a Software Developer at Cybercom Plenware and then as a Research Assistant on several projects funded by Romanian Authority of Research. Starting with 2009, he collaborated with the School of Computer Science and Informatics, Cardiff University as an Internship Researcher in distributed and parallel computing. Currently, he is an Associate Researcher in School of Engineering, computational engineering researching group.

Omer F. Rana is Reader in the School of Computer Science at Cardiff University, and Deputy Director of the Welsh eScience Centre. He holds a PhD in Computing from Imperial College, London, and works in the areas of high performance distributed computing, multi-agent systems and data mining. His research interests extend to three main areas within computer science: problem solving environments, high performance agent systems and novel algorithms for data analysis and management.

Yacine Rezgui is an Associate Professor in School of Engineering. He specialises in the deployment and adoption of information and communication technologies and areas related to knowledge engineering, virtual organisations, and service-oriented computing. Within a number of researching projects, he has developed solutions to support collaboration and cooperation needs of (global) virtual teams across the lifecycle of a construction project; promote knowledge management practices, value creation and sustainability in organisations and on projects; and provide total lifecycle information models with a view of delivering a dynamic and self-updating digital representation of a building.

Gheorghe Cosmin Silaghi is an Associate Professor at the Babes-Bolyai University of Cluj-Napoca, Romania. He received his Bachelor in Business Information Systems in 2000 and Engineering degree in Computer Science in 2002. In 2002, he received his MSc in Artificial Intelligence from Free University of Amsterdam. He completed his PhD in 2005. He joined the Babes-Bolyai University in 2000 and currently he is the Head of the Business Information Systems Department. His current research interests are focused on resource management techniques in untrusted distributed environments, like peer-to-peer systems.

1 Introduction and motivation

With an increasing demand for computational capability and data storage, cloud computing offers the ability to outsource some of these requirements to external, third-party providers. As outlined in the definitions from NIST (2011), a number of models exist to support such provisioning: private, public, hybrid or community clouds. Whereas private clouds share a number of similarities with work undertaken in grid and

Page 3: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 223

cluster computing, the establishment of community and hybrid clouds offer new deployment and usage models not previously explored by the grid computing community. In cloud-based provisioning it is useful to identify two important parts:

1 services defining consumer and business products and services

2 infrastructure that enables the delivery of such services over, quite often, publicly provisioned networks – such as the internet.

Many existing commercial cloud deployments utilise large (often multiple, distributed) data centres in order to store and process data streams. They have a centralised server administration system which balances client demand, monitors traffic and service level agreements (SLAs) and attempts to provide load balancing across multiple resources. A number of challenges arise in the context of such deployment – such as data centre power efficiency, availability and outage management and secure access. Although power usage trends have significantly improved over the years, there is an acute need to reduce this further through improvement in cooling and reduced consumption within processing, storage and network elements. Another important challenge for clouds is to improve the design of a network data centre. A possible solution could involve the development of reliable programming models for supporting the client and cloud application as well as the provided services.

In emerging applications such as social networks, blogs, podcasts and media streaming, there is a significant demand for storage. The user generated content managed within such applications may be classified into four parts:

1 intermittent content often required at different time intervals but not continuously

2 temporary content required for a short period of time (e.g., processing memory for running an experiment) and often only once

3 backup content required with the highest security implications and privacy

4 working content that can be accessed in real time and continuously (Barga et al., 2011).

In previous work, the STACEE system (Neumann et al., 2011) was developed for dynamically creating storage clouds using edge devices, such as routers, routing switches, multiplexers, mobile phones, PCs/media centres, set-top boxes and modems. The functional architecture within STACEE makes use of edge device capacity in a cloud using peer-to-peer (P2P) technology, thereby reducing energy consumption at a single site and maximising user engagement with the system. With a four-layer architecture, the system ensures a high level of communication, control, synchronisation and data access. The availability of storage resources and access latency are also significantly improved. The establishment of such P2P-based community clouds requires a robust mechanism for controlling interactions between end-users and their access to resources/devices. For instance, in the context of such a cloud model, end-users can contribute with their own resources in addition to making use of resources provided by others (at different times and for access to differing services). It is necessary to have inherent trust between users and providers of such systems, an approach also explored in social clouds (Chard et al., 2011) – which considers how storage resources can be traded between friends within a social network such as Facebook. The social cloud model assumes the existence of trust between users within such a system, thereby overcoming some of the restrictions to

Page 4: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

224 I. Petri et al.

sharing that would arise within a more open environment. A number of incentive models are also outlined in Chard et al. (2011) that encourage users to contribute resources for use by others.

However, in a more open system, users providing resources can have varying past activities and history. It is therefore necessary to better assess the reliability of user contributed resources to a P2P cloud. For instance, where cloud capability is provisioned through providers who have not existing within a marketplace over a long time frame, it is necessary to identify whether such providers are likely to deliver their advertised capability. Considering how ‘trust’ can be established between cloud users and providers in such a P2P-based cloud model (akin to STACEE and social clouds discussed above), in a more open context where there is incentive for both truth-telling and malicious behaviour from providers, becomes essential. Trust can have different representations based on the mechanisms involved. For determining trust a variety of clues and past experiences are used to decide when such risk is appropriate. In addition, trust can be calculated by using indirect mechanisms such as social behaviours or third party experiences. Aggregating feedback and opinion about a provider [from a number of other entities (providers and users)] enables the reputation (a community view) of an entity to be developed (Mui, 2002). Reputation can also have an associated sanctioning role in social groups. When entities violate predefined trust standards they become subject to penalties. In the context of bilateral interactions involving risk, no stage can be performed until one party acquires a certain level of trust that can enable the second party to fulfil its obligations.

However, the study of trust outside formal mechanisms becomes more important in new communities where such mechanisms have yet to be firmly established. This is particularly the case for cloud communities today. These communities require reputation or rating systems for the express purpose of encouraging trusting and trustworthy behaviours. For cloud communities, SLAs are efficient instruments for mediating business transactions between interacting end-users – especially if such end-users have not interacted in the past. An SLA may be used to specify quality of service terms, the measurement criteria, reporting criteria and penalty/reward clauses between participants involved in a transaction. Within an electronic market, an SLA may be used for:

1 an expression/proof of debts as well as credits – debts to the client and credits to the service provider

2 as a token of exchange between participants

3 as an identification of responsibilities of participants involved (such as the client and service provider).

Establishing an SLA between two parties (client and service provider) implies that the service provider has agreed to provide a particular capability to the client within some quality of service. In return, the client must provide a monetary payment (most often) or credit to the provider once the service has been delivered (subject to a penalty, often also monetary, in case the quality of service terms have not been adhered to) (Petri et al., 2010). When one party is unknown (provider or client) the level of risk associated with the transaction is considerably increased. Different studies (Arenas et al., 2010; Mui, 2002; Dingledine et al., 2003; Xiong and Liu, 2004) have been investigating how a trusted environment can be developed by using reputation as a metric for monitoring the system.

Page 5: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 225

This paper addresses the problem of forming P2P clouds using user provisioned resources and the associated malicious behaviours that arise during such formation. In our approach, we use SLA compliance history to assess trust that can be placed within a provider. Penalties and rewards from previous interactions are used as a basis to calculate trust. We use penalties to identify negative interactions (i.e., non-compliance to an SLA) whereas rewards are used to identify positive interactions. We demonstrate the effectiveness of this approach in selecting trusted cloud participants via simulations carried out on the PeerSim simulator.

2 Related work

Trust Net (Schillo et al., 2000) is designed to evaluate an agents’ honesty by using a completely decentralised architecture, utilising a game theoretic approach (Mui, 2002). In Trust Net each agent announces its strategy in advance and selects another agent based on this strategy. To calculate trust, each agent is evaluated based on the:

1 number of rounds during which the agent has been honest

2 number of total rounds.

Agents can communicate their trust values (corresponding to trust in other agents) enhancing the process of convergence. A preliminary trust level is calculated in accordance with the values transmitted by other peers. The overall trust level relies on the aggregation of direct experiences and testimonials provided by other peers in the system.

The LIAR model (Muller and Vercouter, 2010) provides a mechanism for controlling the communication in P2P networks, such as support for query routing. The core functionality is based on expected behaviours of peer-nodes which are regulated with the help of social control, using a predefined level of acceptability for evaluating social commitments and trust intentions. A mechanism for detecting violations of social commitments and the associated sanctions enable peer-nodes to provide recommendations. Recommendation, observation and evaluation are used for calculating the trust based on indirect interactions. LIAR makes use of two different approaches:

1 direct interaction-based reputation

2 recommendation-based reputation.

ReGreT (Sabater and Sierra, 2002) is a modular trust system applied in the context of complex e-commerce environments where social relations between users have an important role. ReGreT uses an initial contract to identify the terms and conditions of the transaction. Based on the contract a set of outcomes and impressions are extracted. Impressions are handled as subjective evaluations of an outcome from a specific point of view. The reliability of direct trust is based on the number of outcomes and on the calculation of a deviation – identified in ReGreT as the variability of rating values received for the same peer. Within ReGret, users gather beliefs from society members by using two criteria for evaluating the credibility of agents providing feedback:

1 social relations

2 past history.

Page 6: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

226 I. Petri et al.

ReGreT uses fuzzy rules to calculate how the structure of social relations in uence the credibility of the information. A three dimensional reputation score involving

1 an individual dimension

2 a social dimension

3 a ontological dimension is subsequently defined.

In EigenTrust (Kamvar et al., 2003) trust information is aggregated across all transactions between peers and a distributed calculation is used for building a trust matrix (identifying ‘transitive’ or recommendation-based trust). All peer-nodes are cooperative and store a global trust vector (eigenvector) containing trust values for other peer-nodes. Each peer-node has a unique global trust value based on the peer’s history of operations. EigenTrust works with a set of pre-trusted peer-nodes as the basis for the trust aggregation mechanism. In addition, the inactive peers and malicious collectives are handled as part of the algorithm. A mechanism for normalising the local and global trust and a probabilistic interpretation reduces the complexity and increases the accuracy of the algorithm. It is proved that malicious collectives do not decisively boost the global trust value of peers while inactive peers are isolated. In the context of corrupted files, EigenTrust can reduce but cannot completely eliminate corrupted content.

PowerTrust (Zhou and Hwang, 2007) is another system for evaluating the trustworthiness of participating peer-nodes. PowerTrust implements an overlay network for modelling trust relationships between peers and relates the approach to the power distribution of feedbacks from eBay. A dynamic selection of power nodes is used in order to improve the reputation accuracy and aggregation speed. The selection is performed based on a distribution ranking mechanism. The power nodes are those which have a good reputation and they ensure the reliability of the scoring process when aggregating and generating global reputation. The PowerTrust process is triggered when a transaction takes place between any pair of peer-nodes. All peer-nodes provide scores for each other based on their mutual transaction. The PowerTrust system aggregates local scores for calculating the global reputation of each participating peer-node.

When evaluating related systems we observe that they have a decentralised mechanism of reputation, with the reputation metric defined over the interval [–1, 1], the type of feedback is mostly continuous (except in EigenTrust which uses a binary type of feedback), the SLA negotiation is disabled (except in Regret which uses QoS verification) and they all use the notion of pre-trusted nodes. In our evaluation we do not make use of pre-trusted nodes (unlike EigenTrust).

A key contribution of this work is the consideration of both truthful and malicious feedback when evaluating trust – and in particular how such trust can be used to develop P2P-based edge clouds. We vary the behaviour of peers within a system and demonstrate the impact this has on the formation of the resulting cloud computing system.

3 Approach and methodology

Based on the motivation identified in Section 1, in this section we discuss the foundations and stages for establishing a P2P-based cloud, focusing on how such clouds may be:

Page 7: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 227

1 formed

2 used

3 evaluated based on feedback.

Our approach is centred primarily on the use of feedback and recommendations provided by other peers within the system.

The incentive for users to provide feedback may be motivated by a number of factors, such as:

1 as an encouragement for others to do the same, thereby allowing such feedback to be utilised for a future transaction

2 for altruistic reasons, to become more active participants within a network – even where some of the other transaction partners may not be known

3 to complain about a service transaction that did not meet expectations

4 to gain a reward (financial or otherwise) if feedback is provided.

Such a reward can also include improving the visibility of a peer within a network or providing it greater privileges (such as ability to download, storage space, etc.) within the system, etc. Without support for mechanisms of non-repudiation, it is often difficult to determine whether such feedback is accurate and reflects the correct status of the transaction. Many P2P systems have also attempted to overcome the ‘free-riding’ problem using a combination of approaches identified above.

3.1 Formation and usage

This is the first stage and identifies how a P2P-based cloud is dynamically constructed. At this stage it is important to identify the level of trust for each end-user contributing resources to the cloud and the subsequent selection of those which have an acceptable level of trust. We assume that each user accessing a remotely provisioned resource has local monitoring data which is not globally shared. Determining whether the transaction was successful or not is therefore only known to the user and may not be revealed to a third party. The only mechanism for accessing such information is to directly query the user, who may report this truthfully or lie about the outcome. Hence, when evaluating providers based on a feedback aggregation process the following situations can be identified:

• accurate feedback – when end users are truth telling – i.e., an end user accurately reports on the outcome of their interaction with a provider (another peer in the system), regardless of whether the result was a success (i.e., transaction was successfully completed) or failure

• inaccurate feedback – when end-users lie about previous interactions they have had.

At formation, end-users (identified as P1, P2, P3 in Figure 1) can be rated based on their previous SLAs – with each peer node corresponding to one user. Those which successfully completed all SLA contracts are assigned a higher reputation. According to these reputation ratings end-user resources may be selected or denied by a cloud manager entity (not shown in the figure). Hence, for peers i and j to interact and form an SLA,

Page 8: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

228 I. Petri et al.

peer i has to perform trust analysis over the list of all potential peers jk (where index k represents all peers j that peer i can interact with directly) to select a peer with the greatest reputation score.

Figure 1 Cloud formation

3.2 Trust calculation

Consider a collection of peer-nodes P = [p1, p2, p3,…,pn], where each pi performs an initial search to identify a peer with the required capability/resource ri. If pj is the selected peer node, Lij represents the trust rating assigned by pi to pj as a consequence of previous interactions. Each interaction involves monitoring a set of (independent) attributes A = [A1, A2, A3,…,An], such as availability, response time, integrity, latency, etc. Trust may be calculated in the context of one particular attribute, or by assigning different levels of importance to attributes. The local trust between peers i and j may be calculated as:

( )( )1

max 0,

ijij n

ijk

LT

L=

=

∑ (1)

where 1

( )i

nAij ij ij

k

L P N=

= −∑ is the metric for calculating the local trust between pi and pj

(for a given attribute Ai), Pij represents the number of positive interactions between pi and pj, while Nij identifies the number of negative interactions between pi and pj from peer pi. Ai identifies the attributes which have been used when rating the interactions as being either positive or negative. When multiple attributes are used i > 1,

1 2 .i nA AA Aij ij ij ij ijL L L L Lφ α β γ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤= = + + +⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦…

Page 9: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 229

All interactions are referenced to the SLA previously established between pi and pj.

3.3 Global trust

When rating peer-nodes, local trust can be subjective. In order to ensure a more objective rating we introduce global trust as a metric which allows peer-nodes to perform a global evaluation. In a P2P-based cloud environment, global trust therefore reflects how a resource provider is seen by the community based on its previous interactions. We use the term ‘community’ in this context to refer to the use of cloud resources for a particular purpose. Although members of such a community may be unknown to each other – the community may be formed in an adhoc way to address a particular goal/requirement identified by a user (as described in Akram et al., 2005). It is important to note that within our model, each resource user and provider has an associated number of one hop neighbours – referred to as ‘view’ in subsequent discussion. For defining the global trust of peer-node i we combine direct interactions from immediate neighbours [j1, j2,…,jm] with indirect interaction of [k1, k2,…,kn] with peer-node j.

( )( )1

max 0,

jkjk n

jkp

LT

L=

=

∑ (2)

where 1

( )n

jk jk jkp

L P N=

= −∑ represents the local trust between pk and pj, with Pjk being

the number of positive interactions between pk and pj, while Njk identifies the number of negative interactions between pk and pj.

For calculating trust based on an indirect referral, Tik = Tij ∗ Tjk can be used for calculating the trust level of node i as the product between the local trust Tij and the indirect interaction rating Tjk obtained from peers in the neighbourhood of node j. From the above representation, Tij identifies the trust that peer j has in peer i based on direct interactions, while Tjk identifies the trust that peer k has in peer j based on their previous direct interactions (Kamvar et al., 2003). After receiving feedback, a peer is identified to be trusted/untrusted if the aggregated value exceeds the threshold δ.

– – peer-node untrusted– – peer-node trusted

ik

ik

T jT j

δδ

≤ =

> =

From Figure 2, it can be seen that the view of peer i is formed by peers j1, j2,…,jm, whereas each j1, j2,…,jm peer has an associated view such as

( ) ( )( )

11 12 1 21 22 2

1 2

1 2, , , , , , , and

, , , .n n

m m mn

j j j j j j

m j j j

view j k k k view j k k k

view j k k k

= =⎡ ⎤ ⎡ ⎤⎣ ⎦ ⎣ ⎦= ⎡ ⎤⎣ ⎦

… …

The local trust between i and jp is specified by mijL while the local trust between jp and

mnjk is specified by .m nj kL

Page 10: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

230 I. Petri et al.

Figure 2 Aggregating interaction bases ratings

3.4 Trust implications

Aggregation of trust values make use of feedback provided by neighbouring peers, based on their prior interactions and opinions. It is useful to note that a neighbouring peer only sends a single value to the requesting peer – and does not reveal the mechanism it has used to calculate this trust value. Hence, if Tik = Tij ∗ Tjk is the global trust of peer j, where peer j represents a potential SLA partner for i, peer k can ‘behave’ in a number of possible ways when asked for feedback about j. In such a context, the value of Tik can be inaccurate as Tjk may not reflect the real interaction history between k and j. We use a game theoretic approach to capture the perceived payoff that a peer sees when returning feedback to a requesting peer – based on the Prisoners Dilemma utility mechanism. Using this approach, each peer-node can perform different behaviours according to its own decision function – which is used to determine the expected utility (or payoff) that a peer sees when returning this information to a requesting neighbour. In many other trust-based systems, a truth telling feedback mechanism is assumed. We currently assume that each peer operates independently of others. However, it is also possible for agents to form coalitions and collaborate with each other to provide feedback (truthful or malicious). The establishment of ‘malicious collectives’ that attempt to subvert the system have not been considered in our simulations.

In our approach, peer-nodes are scheduled to perform different behaviours. Each peer-node has an associated decision function fdec(p): P → M, where P represents the set of peers and M the set of behaviours each peer node can perform. We assume that peer pi has an associated behaviour mi which can change over time and is not constant.

Page 11: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 231

We use an instance of the Prisoner Dilemma game where one peer-node has the option to cooperate or defect. Each option has an associated payoff (incentive) and the decision of defecting or cooperating is given by a decision function used by each peer. We assume that no peer-node can know in advance the decision mechanism of the opponent. We assume a two player game, based on exchange taking place between two peers at a time. In our use of the Prisoner Dilemma, each peer has an associated incentive ii for each behaviour mi, defined within IPD = [(m1, i1), (m2, i2), (m3, i3),…,(mn, in)]. Hence, a peer node i can decide to perform mi ∈ M because according to its subjective decision function fdec(pi), mi enables it to maximise its utility. In this work, we do not consider how such utility measure is calculated or what is the basis for a particular peer to defect (i.e., give inaccurate feedback). We primarily modify the ability to defect through a behaviour probability, which can alter the behaviour of a peer during simulation.

From the set of behaviours M = [m1, m2, m3,…,mn], ∀ Mm ⊆ M, where Mm = [m1, m2, m3,…,mp], p < n, represents the set of behaviours that are malicious. Over time, each peer-node can perform one malicious behaviour mi ∈ Mm or a set of malicious behaviours such as mk = mi ∧ mj, where mi ∈ Mm. We consider two types of malicious behaviours,

1 pi provides incorrect feedback when queried

2 mj ∈ Mm identifies the case when pj stops interacting with one peer and joins another (i.e., it removes itself from the immediate neighbourhood of one peer and joins the neighbourhood of another) – we refer to this as a migration.

Therefore, mk ∈ Mm would represent a sum of behaviours such as migrating to the view of other peers (mj) and providing incorrect feedback (mi). In this work, we focus on the first of these behaviours – i.e., peers providing incorrect feedback about their past interactions, based on a malicious behaviour probability pml.

4 Simulator

To validate our approach, we simulate the establishment of a P2P-based cloud and undertake subsequent trust modelling within it using the PeerSim simulator. It is an open source, Java-based simulation framework for developing and testing P2P algorithms in a dynamic environment which can work in two different modes: cycle-based or event-based. The cycle-based engine relies on a time scheduling algorithm that is also part of the simulator. In PeerSim (Jelasity et al., 2011), components may be ‘plugged in’ and used through a simple ASCII file based configuration mechanism. PeerSim consists of a number of modules that may be used to construct and initialise the underlying network, handle the different protocols used for communication between peers, control and modify the network, etc. PeerSim has the following components:

• Protocols – used to define the behaviour of the different peers. They can be of different types such as handling and simulating the overlay network, or implementing a distributed algorithm over the peers.

• Nodes – represented as entities of the P2P network. Each peer-node has a protocol stack, one protocol simulating the behaviour of peer-nodes.

Page 12: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

232 I. Petri et al.

• Controls – used to control the simulation, either at regular intervals or during initialisation. They can be realised through simple observers which gather statistics or they can modify the simulation by changing different protocols between the peer-nodes.

We use a random network topology (any initial network topology, including fully connected, partial connected or fully disconnected, has no significant effect on the outcomes of the simulations).

We conduct a number of experiments – reported in Section 5 – which demonstrate various aspects of the P2P cloud – a summary is provided in Table 1. Table 1 Summary of experiments reported in Section 5

Experiment Objective

Experiment 1 Impact of variation in malicious probability (as outlined in Section 3.4) with a fixed number of providers and users within the cloud.

Experiment 2 Whereas Experiment 1 shows the evolution in trust during the simulation lifecycle, this experiment demonstrates the overall trustworthiness of the community at the end of the simulation. It demonstrates the total number of trusted and untrusted peers present at the end of the simulation.

Experiment 3 Demonstrates how trustworthiness changes when the number of resources (cloud users/providers) change. In Experiments 1 and 2, the number of users were fixed – in this case, cloud users can be dynamically added.

Experiment 4 In this experiment, the number of peers that a user can see (i.e., it is one-hop neighbours) is changed. This is referred to as the view of a peer. In this experiment the number of neighbours is fixed and the experiment demonstrates the impact such a parameter has on the overall trust. Essentially, the greater the neighbours that a peer can interact with, the greater the feedback that it can receive about another peer. We also use a malicious probability to indicate whether the returned feedback is truthful or malicious.

Experiment 5 In this experiment, the view of a peer (as identified in Experiment 4 above) is dynamically modified during the experiment – to demonstrate varying number of feedback received by a peer.

5 Results

We use simulation for validating various hypothesis related to P2P cloud formation and usage. Various experiments are conducted to analyse the effect of malicious end-users on the overall trust distribution within a P2P cloud. From this perspective, the system uses different types of behaviours with different associated payoffs. Each experiment presents the trust distribution in the context of different types of behaviours assigned to each cloud user. For simulating a P2P-based cloud where end-users can have various behaviours (see Section 3.4), we use an unstructured P2P architecture with peers providing feedback. We use a cycle-based simulation process with 2,000 peer-nodes (end-users) scheduled to perform different behaviours according to the execution probabilities – pml, pmi. In the following experiments, each cloud end-user holds a certain distribution of services and can perform a set of behaviours. We used the level of trust to identify the status of cloud when different malicious behaviours among end-users take place.

Page 13: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 233

Each node is involved in feedback processing with selected neighbours. In our simulation, each node (in each cycle, on average) initiates some application level activity causing a value update and generating feedback. In one time cycle, N nodes are selected from the population. When a node is selected, it chooses a neighbour based on a service distribution. If a node is selected that currently has no neighbours then a link is made to another node so feedback interaction can be possible. A feedback aggregation is then processed, both nodes executing the strategy indicated by their decision function.

Each experiment has been run ten times and the results are identical. The error rate within the experiments is very low (may be negligible).

5.1 Experiment 1

The level of trust during 1,000 execution cycles, when the malicious behaviour probability pml is varied within the interval [0.01, 0.1].

Keeping a fixed cloud system size to 2,000 end users, the experiment presents the evolution of trust during 1,000 execution cycles. From Figure 3 is observed the level of trust expressed in terms of trusted and untrusted end users when the malicious probability is varied according to the interval [0.01–0.1].

Figure 3 A cycle-based representation of trust at different malicious probabilities (see online version for colours)

In the context of a malicious probability of pml = 0.01 we observe a continuous variation in terms of trusted/untrusted peers over the interval [600–700]. The trust level becomes stable after cycle 750. When using a malicious probability of pml = 0.1 the decay in terms of trusted end-users is associated with the interval [700–800].

Page 14: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

234 I. Petri et al.

This behaviour is influenced by the availability of feedback at particular points in the simulation. When end-users start sending feedback the trust level decreases because of malicious behaviour involving incorrect feedback. The processing of feedback provides a method of altering the level of trust within the cloud. Within the experiment an increase in untrusted end-users is induced by feedback which can be malicious and which are aggregated for the trust calculation (see Section 3.3). We can conclude from the experiment that a malicious probability of pml = 0.1 has a higher impact over the cloud in term of trust distribution than pml = 0.01 because pml = 0.1 leads to greater malicious behaviour over the simulation time.

5.2 Experiment 2

The trust distribution of cloud in the context of 2,000 end-users where the probability of malicious behaviour is varied in accordance with the set pml = [0.1, 0.05, 0.01].

Figure 4 illustrates the level of trust expressed in terms of trusted and untrusted end-users after 1,000 simulation cycles. It is important to note that this experiment presents the distribution of trust at the end of the simulation process. This experiment illustrates the impact of the trust distribution when the simulator is configured to use a malicious behaviour probability of pml = 0.05. With this probability, the number of end-users which can provide malicious feedback is high and therefore the distribution of trust is significantly affected. Similar distribution is observed for a malicious probability of pml = 0.01. A significant change of trust can be observed when the system uses pml = 0.1 – recording the highest number of malicious behaviours and therefore the trust level identifies the highest decrease in terms of trusted end-users. It is important to note that within this experiment we keep the migrating probability fixed.

Figure 4 Trust level at different malicious probabilities (see online version for colours)

Page 15: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 235

5.3 Experiment 3

This experiment investigates how the level of trust is distributed across the community when expanding the size of cloud. The experiment uses a variable cloud size [4,000, 8,000] and a fixed malicious probability.

Figure 5 presents the trust distribution in the context of large scale clouds. In accordance with previous experiments, the trust level maintains similar tendency even when dealing with a large scale cloud. It is interesting to observe that the trust equilibrium is reached at an earlier stage when the cloud uses a network size of 4,000 end-users. This takes place after [750–800] simulation cycles while for a large scale cloud of 8,000 end-users the experiment would need more simulation cycles in order to reach an equilibrium value. On the other hand, the fixed migration and malicious behaviour probabilities seem to have higher impact on trust in the context of smaller scale clouds.

Figure 5 Cycle-based trust level at different cloud sizes (see online version for colours)

The equilibrium states along the experiments are determined by the process of feedback provision. The processing of feedback starts at cycle 400 for a cloud of 4,000 end-users while for a cloud of 8,000 end-users the processing of feedback is scheduled to take place at cycle 800. For small scale clouds (cloud size of 4,000), the trust equilibrium is reached at cycle 750 which identifies an equal distribution of trusted/untrusted end-users. For large scale clouds the simulator needs more cycles in order to reach a trust equilibrium. The system achieves equilibrium when there are an equivalent number of trusted and untrusted end-users during simulation. The feedback is processed after a particular number of simulation cycles. However, in the context of large scale clouds, the processing of feedback occurs at a predefined cycle but the effect of malicious

Page 16: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

236 I. Petri et al.

behaviours can be observed with a certain latency. This latency arises due to the time taken to propagate the feedback (and is proportional to the number of resources involved in the cloud environment).

5.4 Experiment 4

This experiment provides a representation of trust when the simulator works with different views of end-users. The view of end-users is a parameter identifying the number of links (connective paths) one end-user has within the cloud – representing the number of end-users in the immediate neighbourhood (one hop connection) of each end-user. In the context of fixed execution probabilities this experiment investigates how the size of end-user communities interferes with the distribution of trust. With a cloud size of 2,000 end-users, the experiment presents the level of trust when view = [20] and view = [5].

Figure 6 Cycle-based trust level at different views of end-users (see online version for colours)

From Figure 6, it can be observed that large cloud communities are more affected by malicious behaviours than small cloud communities. A community of peers is identified by the number of end-users in view. It is important to note that a high number of end-users in view (large community) amplifies the effect of malicious behaviours because the number of processed feedback increase. When using lower values for the view parameter, the effect of malicious behaviours is reduced because the number of feedback decrease. Therefore, in the context of our calculation the number of processed feedback represents an important parameter for the distribution of trust. The equilibrium state is reached for view = 20 after approximately 100 execution

Page 17: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 237

cycles as well as the decrease/increase in terms of trusted/untrusted end-users relies on the process of feedback provision. It this experiment it can be observed that after a threshold of 15 end-users in view the effect of malicious behaviours over the trust distribution is low. We can therefore assume that increasing the view over a threshold of 20 end-users would bring no significant effect on the trust distribution.

5.5 Experiment 5

Trust distribution when working with different views of end-users. The execution probabilities are fixed and the view of end-users is varied according to the view interval of [20, 15, 10, 5]. The cloud size is set to 2,000 end-users.

This experiment presents how the size of end-user-communities (simulated with the view parameter) affect the distribution of trust in terms of trusted/untrusted end-users. This experiment illustrates the distribution of trust after the simulator runs 1,000 cycles. It is observed from Figure 7 that a view of 20 end-users has a significant impact over the distribution of trust. This is illustrated by the decrease in terms of trusted end-users taking place within the cloud. When using 15 respectively ten end-users in view the impact over the trust distribution is lower than for 20 end-users in view. This happens because 20 end-users in view(large communities) represent a higher number of feedback processed during the simulation. The lowest impact over trust is identified when working with a view size of five end-users. In this case the number of processed feedback is limited therefore the impact is reduced.

Figure 7 The trust level at different views of end-users (see online version for colours)

Page 18: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

238 I. Petri et al.

6 Conclusions and future work

We demonstrate how trust metrics may be used to support the reliable formation and usage of P2P-based cloud systems. P2P clouds provide an alternative to data centre-based (often geographically centralised) systems available today. P2P clouds enable end users to offer parts of their resources for use by others and in this way share similarities with volunteer computing systems – some of the differences are highlighted in Neumann et al. (2011). However, determining who can be trusted to provide resources that are reliable remains a significant challenge within such systems. Utilising previous provision history (based on the adherence to or violation of an SLA) provides a useful basis for gauging reliability and therefore trust within a provider.

Hence, the selection of end users to contribute resources to a cloud is based on their level of trust. Determining whether a provider is likely to be trustworthy is based on feedback from one hop neighbours; we demonstrate how such feedback can be both truthful and malicious (and where the behaviour of a peer may change from being truthful to malicious using a probability distribution), and the overall impact this distinction has on a cloud system. The algorithm uses as input the associated penalties and rewards from previous SLA exchanges and identifies how the trust level is distributed within a P2P-based cloud community. Through a number of experimental scenarios we demonstrate that a complex malicious behaviour can significantly alter the level of trust whereas a simple malicious behaviour can only alter the trust level of a specific cloud community. When varying the size of a cloud system – i.e., where the number of peers providing feedback and resources can change, we observe that large scale clouds are affected to a greater extent by malicious behaviours.

In the current work, we do not consider the formation of malicious collectives who could subvert the system. Existing trust approaches, such as EigenTrust (in Section 2) overcome this by inserting pre-trusted peers into the system. Our future work involves better understanding how such feedback mechanisms can be implemented within the social cloud (Chard et al., 2011) environment, where collaboration between friends can be used to guide resource sharing. As there may be varying degrees of trust between friends within a social network, the feedback mechanism discussed in this paper could provide the basis for better assessing risk of using such third party resources. It is also useful to emphasise that incorrect/inaccurate feedback may be due to errors in the underlying monitoring systems and not just malicious intent. Better understanding the basis for a particular type of feedback, derived over multiple interactions is also another future direction to consider.

References Akram, A., Allan, R. and Rana, O.F. (2005) ‘Virtual communities and community coordinator’,

Proceedings of International Conference on Semantics, Knowledge and Grid (SKG 2005), November, IEEE Computer Society Press, Beijing, China.

Arenas, A.E., Aziz, B. and Silaghi, G.C. (2010) ‘Reputation management in collaborative computing systems’, Security and Communication Networks, pp.546–564, John Wiley & Sons, Ltd.

Barga, R., Gannon, D. and Reed, D. (2011) ‘The client and the cloud: democratizing research computing’, IEEE Internet Computing Journal, Vol. 15, No. 1, pp.72–75, IEEE Educational Activities Department.

Page 19: Ioan Petri* Omer F. Rana Yacine Rezgui Gheorghe Cosmin Silaghics691vrbsky.cs.ua.edu/2013/Papers/AlZubidy.591.pdf · 2013-11-06 · Biographical notes: Ioan Petri holds a PhD in Cybernetics

Trust modelling and analysis in peer-to-peer clouds 239

Chard, K., Bubendorfer, K., Caton, S. and Rana, O. (2011) ‘Social cloud computing: a vision for socially motivated resource sharing’, IEEE Transactions on Services Computing, 99 preprints, IEEE Computer Society Press.

Dingledine, R., Mathewson, N. and Syverson, P. (2003) ‘Reputation in P2P anonymity systems’, Workshop on Economics of Peer-to-Peer Systems, Berkeley, California, USA.

Jelasity, M., Montresor, A., Jesi, G.P. and Voulgaris, S. (2011) ‘The Peersim simulator’, available at http://peersim.sourceforge.net/ (accessed on August).

Kamvar, S.D., Schlosser, M.T. and Garcia-Molina, H. (2003) ‘The Eigen-trust algorithm for reputation management in P2P networks’, Proceedings of the 12th International World Wide Web Conference, Budapest, Hungry.

Mui, L. (2002) ‘Computational models of trust and reputation: agents, evolutionary games’, PhD thesis on trust and reputation modeling, Department of Electrical Engineering and Computer Science, Massachussets Institute of Technology (MIT), available at http://groups.csail.mit.edu/ medg/medg/people/lmui/docs/phddissertation.pdf (accessed on June 2011).

Muller, G. and Vercouter, L. (2010) ‘L.I.A.R.: achieving social control in open and decentralised multi-agent systems’, Applied Artificial Intelligence, Vol. 24, No. 8, pp.723–768, Taylor & Francis, Inc.

Neumann, D., Bodenstein, C., Rana, O.F. and Krishnaswamy, R. (2011) ‘STACEE: enhancing storage clouds using edge devices’, Proceedings of the ACM/IEEE workshop on Autonomic Computing in Economics (ACE), alongside ICAC 2011, Karlsruhe, Germany, June, ACM Press.

NIST (2011) ‘Cloud computing definitions’, available at http://csrc.nist.gov/publications/drafts/ 800-145/Draft-SP-800-145_cloud-definition.pdf (accessed on June 2011).

Petri, I., Rana, O. and Silaghi, G.C. (2010) ‘SLA as a complementary currency in peer-2-peer markets’, Economics of Grids, Clouds, Systems, and Services, Lecture Notes in Computer Science, pp.141–152, Springer, Berlin/Heidelberg.

Sabater, J. and Sierra, C. (2002) ‘Social ReGreT, a reputation model based on social relations’, SIGecom Exchanges, Vol. 3, No. 1, pp.44–56.

Schillo, M., Funk, P. and Rovatsos, M. (2000) ‘Using trust for detecting deceitful agents in artificial societies’, Applied Artificial Intelligence, Special Issue on Trust, Deception and Fraud in Agent Societies, Vol. 14, No. 8, pp.825–848.

Xiong, L. and Liu, L. (2004) ‘PeerTrust: supporting reputation-based trust for peer-to-peer electronic communities’, IEEE Transactions on Knowledge and Data Engineering, Vol. 16, No. 7, pp.843–857, IEEE Computer Society.

Zhou, R. and Hwang, K. (2007) ‘PowerTrust: a robust and scalable reputation system for trusted peer-to-peer computing’, IEEE Trans. Parallel Distrib. Syst., Vol. 18, No. 4, pp.460–473, IEEE Press.