An Improved Multipoint Relaying Scheme for Message Propagation in Distributed Peer-to-Peer System

Message propagation is a primary means to locate resources in current unstructured peer-to-peer (P2P) systems and how to reduce effectively the redundant messages of propagation while keeping its high network coverage is what many researchers go in for in this field. In this paper, we propose the algorithm of LMPR, a scheme of improved MPR for message propagation in distributed unstructured P2P system. Based on analyzing the process and message redundancy of MPR, this paper proposes to add to such scheme a mechanism of specified relay-list to reduce further the number of its retransmitting of message. By attaching to each relay-peer a relay-list with peers it will relay message to, the scheme can assure that in the view of each decision-peer a broadcast message can be dispatched and only be dispatched once to every neighbor peer within 2 hops of it. Simulation results show that the scheme of LMPR has better performance than that of MPR in message redundancy, network overhead, and fluctuation brought to the system.


Introduction
Peer-to-peer (P2P) systems become immensely popular in recent years and they are used in a variety of contexts, from file sharing applications, distributed storage, to content streaming, and so forth [1,2]. Among them, fully distributed unstructured P2P systems are the most common ones, with the collaboration of all participants and by virtue of the huge number of peers, objects can be widely replicated, providing the opportunity for high availability and scalability. In such systems, there is no centralized coordinator, each peer only maintains a small amount of neighbor links and the locations of resources are unrelated to the topology of network [3]. Therefore in current fully distributed unstructured P2P systems the locating of resources mostly relies on message propagation, also known as message broadcast, which is to send message from a source peer to all other peers in the network [4,5].
Many protocols have been proposed for message propagation and flooding-based broadcast is the basic idea of them [2,[6][7][8][9]. Although this classic technique can diffuse a message reliably and robustly in the network, it consumes a large amount of bandwidth as its cost. As we know, in P2P systems, bandwidth capacity is one of the most precious resources and the traffic should be restricted as much as possible particularly for those of wireless and mobile participants [10,11]. If this constraint of communication traffic is not considered while designing an algorithm, the system may suffer greatly from performance degradations due to the high overloads or congestion of message flooding.
In broadcasting, message needs a mechanism to reach the far away nodes. And the concept of intermediate peers which serve as relays to pass the messages between the source and the destination is one of the solutions. By reducing the number of redundant intermediate peers, the scheme of multipoint relaying (MPR) [10] can achieve equal good results to that of pure flooding with much less control traffic. However, there are still many redundant messages re-transmitted under MPR scheme. To further improve the performance of message broadcasting, we propose the algorithm of LMPR where a specified relay-list is assigned to each relay-peer on the base of MPR. Our claim is that if we can reduce the redundant retransmissions of MPR while 2 International Journal of Distributed Sensor Networks maintaining approximate message coverage with MPR, the scheme can favor the message propagation and improve the performance of MPR.
The remaining of this paper is organized as follows. Section 2 briefly presents the basic idea of scheme of MPR. Section 3 analyzes the message redundancy of MPR and introduces our inspiration for improving the MPR scheme. And Section 4 describes our proposed scheme of LMPR, multipoint relaying with specified relay-list. In Section 5 simulation methodology and the simulated results are reported. Finally, we conclude this paper and make suggestions for further research in Section 6.

Algorithm of Multipoint Relaying
Pure flooding is the simplest broadcast scheme in distributed P2P overlay networks. It starts with the source peer S sending a message package to all its neighbor peers. On receipt of the message first time, a neighbor peer forwards the message to each of its own neighbor peers except for the sender. Thus, a message floods in the network. When a peer receives a repeat message, it drops it and does not retransmit it. The pure flooding scheme is easy to implement and has a high probability to disseminate a message to all other peers in the network. However it implies a huge network overhead due to its characteristic of message explosion.
Multipoint relaying (MPR) scheme can be seen as developed to reduce the number of duplicate retransmissions of pure flooding. In this protocol, the number of message re-transmitters is restricted to a small subset, not all the sender's neighbor peers that receive the message first time, like pure flooding scheme. This subset of retransmitters is called multipoint relays of a given network in scheme of MPR. These multipoint relays can cover the same network region as all the re-transmitters of flooding algorithm. Each node decides the set of multipoint relays in the view of its own neighbor peers within 2 hops, completely independent of other nodes' selection of their MPRs. To select the multipoint relays for a node , let the set of 1-hop neighbors of node be N( ), and the set of its 2-hop neighbors N2( ). Let the selected multipoint relay set of node be MPR( ). And the heuristic selecting of multipoint relays proposed by MPR is presented as follows [10].
(2) First select every 1-hop neighbor peer in N( ) as a multipoint relay which is the only neighbor peer of some peer in N2( ); that is, N( ) ∩ N( ) = and add the 1-hop neighbor peer to the multipoint relay set MPR( ).

Network Model.
To analyze intuitively the message redundancy of MPR in broadcasting, we consider a scenario of message propagation in the miniature of a typical unstructured P2P network. With this network model the message redundancy of pure flooding and MPR is analyzed. And the network topology is given in Figure 1 where each node represents a peer and each edge is the neighbor link between the two end peers. Here, the source peer S wants to disseminate a message to all the other peers in the network. According to the hops away from S, these peers are divided into three layers and named separately with the prefix of "I, " "j" and "k. " More specifically, as is shown in Figure 1 the names of 1-hop peers from S are prefixed with character "I, " named i1, i2, and i3 in sequence. Similarly, the peers named from j1 to j6 are all 2 hops away from S and peers with the distance of 3 hops are named k1, k2,. . . , k12 in sequence.
In order to focus on the problem of message redundancy in MPR when broadcasting, in this paper we assume a simplified network model where there is no message failure, where messages are delivered instantly and where each peer has a unique identity assigned by the system. And we also assume that the less hops a peer away from S the earlier it receives the broadcasting message. For those peers who both have the same hops away from S and receive the broadcasting message transmitted by the same source or relay-peer, the smaller the serial number of a peer, the earlier it receives message from the transmitter. For example, the source peer S transmits the message to its neighbors in order of i1, i2, and i3, and the peer j1 transmits its relay message in order of k1, k2, and k3. For convenience of presenting, we divide peers into two groups: the peers who relay the broadcasting message to their neighbors after receiving it are called relay-peers, and the others are called reception-peers who do not forward the broadcasting message further after receiving it.

Pure Flooding.
In the scheme of pure flooding, all the peers except for the source are relay-peers, and every relaypeer always transmits the message to all its neighbors except for the senders. Therefore, each link in network corresponds to a message transmission. As for the network scenario with topology given in Figure 1 the flooding effect is shown in Figure 2 where each arrow represents a message from the tail node to the head one and the number of messages is 34 in 3 hops.

Multipoint
Relaying. The main objective of MPR scheme is to obtain a minimized set of relay-peers to cover all peers in network. According to the MPR scheme, in the network scenario given above, firstly the source peer S decides to choose i1 and i2 as relay-peers, then peer i1 chooses j1, j2, j6 as relay-peers, and peer i2 chooses j4 as relay-peer to cover all the 2-hop neighbors in their view. As a result, within 3 hops from S the message reaches 21 peers: 6 relay-peers (i1, i2, j1, j2, j6, and j4) and 15 reception-peers (i3, j3, j5, and k1∼k12). And the major improvement is that the three peers (i3, j3, and j5) simply act as reception-peers in MPR while they are relay-peers in pure flooding. The propagation effect of MPR is shown in Figure 3. Totally the number of messages is 27 in 3 hops. And 7 duplicate retransmissions are reduced in comparison with the flooding scheme. For convenience of comparison these reduced redundant messages are plotted using dash lines in Figure 4 instead of solid lines in Figure 2.
In MPR scheme, although the number of relay-peers is minimized on the base of pure flooding, each of the selected relay-peers still transmits a message to all its 1-hop neighbors except for the sender. Thus if a reception-peer has direct links to many relay-peers at one time, it will surely receive separately a message from each of these neighboring relaypeers. Similarly, if one relay-peer is neighboring to another relay-peer there always exits a message from the one who is the earlier receiver to the other. However, for each peer one message is theoretically enough, no matter it is a relay-peer or not, all the other messages it received are redundant. As for the network scenario we discussed, there are 21 peers within 3 hops from S, so 21 messages are enough for an optimal scheme to broadcast the message to every peer. Nevertheless, the MPR scheme expends 27 messages to realize the broadcasting; although this number is 7 less than that of pure flooding, there is still 6 redundant messages to optimize compared with the optimal scheme. Therefore, if the relay-peers selected by MPR scheme have many common neighbors or have many links between themselves, the number of redundant messages is surely nontrivial. In fact, in the current P2P networks which are generally of power-law distribution characteristics, this situation is always there [12][13][14][15].

Inspiration for Improving the MPR Scheme.
As can be seen from the above analysis of message redundancy that although the MPR technique reduces greatly the number of retransmissions of pure flooding, the scheme still brings heavy extra message load to the P2P applications which are generally built on the complex network with characters of power-law distribution. The reason is that relay-peers in MPR scheme do not share the information of their relay targets, which leads to the fact that after one relay-peer has already sent a message to a neighboring peer there are still many other relay-peers transmitting message to the same target peer. In other words, many relay-peers transmit repeatedly the message to common target peers because of their blindness of one another's relaying information. Aiming at improving this situation, this paper proposes the scheme of LMPR which is to add to the MPR scheme a technique of specified relaylist. By attaching to each relay-peer a relay-list with peers it will relay message to, a decision-peer assigns for each of its 2-hop neighbors a responsible relay-peer, so as to assure that multiple relay-peers will not transmit message to one common peer in the 2-hop view of the decision-peer.

Multipoint Relaying with Specified Relay-List (LMPR)
4.1. The Basic Idea of LMPR. The scheme of LMPR works in a distributed manner and starts from the source peer of message propagation. According to the role in relaying process we divided the working states of a peer into two kinds: decision-peer and normal-peer. When a source peer begins to broadcast message to its 1-hop neighbors or when a peer receives the broadcasting message, it turns into the state of a decision-peer who decides how to forward the message to peers within 2 hops of its view. A decision-peer decides independently the set of relay-peers in its own view and assigns for each of these relay-peers a specified list containing the subset of all 2-hop neighbors of the decision-peer. (Here, the specified list is used to tell the corresponding relaypeer which 2-hop neighbors of the decision-peer it should relay message to.) And then the decision-peer sends to each neighbor a message accompanied by the specified list. After transmitting the message accompanied by relay-list to every neighbor, the peer turns into the state of normal-peer in which the peer updates its neighboring information, manages the information used in LMPR, or does other things which are required in P2P application but beyond the discussion of basic idea of LMPR. Therefore the basic idea of LMPR is generally implemented by the actions of decision-peer, which includes mainly three parts: multipoint relaying with relaylist, generating of N2Set( ), and generating of relay-lists.

Multipoint Relaying with Relay-List.
First, Similar to MPR, we assume that each peer in the system knows all its neighbors within 2 hops and their neighboring relations between each other. And a peer can obtain this information by exchanging the 1-hop neighboring information with all its 1-hop neighbors. Based on this information and the relay-list named list0 which is received from its upstream decisionpeer, each decision-peer calculates its own set of N2Set( ) which includes all those 2-hop neighbors need to be covered by the message originated from the current decision-peer itself. Then a decision-peer must also assign for each of its 1-hop neighbors included in list0 a relay-list that specifies which 2-hop neighbors in N2Set( ) the neighbor should relay message to. If a 1-hop neighbor is relay-peer then the list contains IDs of those peers it will relay message to; otherwise the list contains nothing. Finally a decision-peer sends the message with corresponding specified relay-list to each of those 1-hop neighbors given in list0. Thus, through the message relaying of these relay-peers a broadcast message can be dispatched and only be dispatched once to every peer within 2 hops away from a decision-peer in its view. And the details of generating N2Set( ) and generating relay-lists are presented separately in the following two subsections.

Generating of Set 2 ( ).
Since a relay-peer only transmits the message to the part of its 1-hop neighbors specified by list0 when it turns into a decision-peer, therefore only those 2-hop neighbors covered by the 1-hop neighbors given in list0 are needed to be broadcast to. And the remaining 2-hop neighbors of it can be broadcasted message to by the relay-peers not included in list0 and such transmitting assignment is considered by the upstream decisionpeer according to the principle of LMPR. Otherwise, this redundancy problem will arise when the message is relayed to 3-hop neighbors of the decision-peer. Thus, to extend the optimizing mechanism of relay-list to the peers farther than 2 hops, the set of N2Set( ) must be defined as different from that of MPR in which the set includes all the 2-hop neighbors of a decision-peer. In scheme of LMPR, when a peer receives the message accompanied by a relay-list named list0 from , becomes a new decision-peer. If list0 is not empty, then peer picks out one by one a peer from the list and adds all those 1-hop neighbors of this peer into the N2Set( ) when they are still not exists in the set. This process continues until all peers in list0 are gone through and thus the N2Set( ) of the new decision-peer is formed.

Generating of Relay-Lists.
To avoid that several relaypeers transmit message to a common neighbor in its view, a decision-peer assigns for each of its relay-peers a specified list containing the IDs of those 2-hop neighbors it will relay message to. And the mechanism of relay-list makes ensure that each 2-hop peer must appear and only appears once in one of the lists. To generate such relay-lists, decision-peer can initially add all the peers in list0 into a set named RSet( ).
Here, if the decision-peer is a source peer of broadcasting, then list0 is composed of all its 1-hop neighbors; otherwise list0 is the relay-list sent by the upstream decision-peer. Then picks out one by one a relay-peer y from RSet( ), each time generates a specified list named relay-list which contains all IDs of those peers that are the 1-hop neighbors of y as well as the elements of N2Set( ). If there is no such peer meeting this condition, then the relay-peer is actually a receptionpeer and relay-list is an empty list. As a relay-list has been generated the decision-peer removes separately the picked relay-peer y from RSet( ) and its responsible 2-hop neighbors of from N2Set( ). This process continues until RSet( ) becomes empty. Thus the decision-peer can generate for each of its relay-peers a tuple consisting of the relay-peer's identity and specified relay-list; that is, ⟨ID , relay-list ⟩. Finally, transmits the broadcast message attached by relaylist y to the neighbor with identity of ID . And becomes a decision-peer after it receives the broadcast message and turns into the state of normal-peer when it finishes all its message sending.

Pseudocode Description of LMPR.
The working procedures of a decision-peer in scheme of LMPR can be as follows.
Step 1. If it is a source peer, generates a unique identity named MessageID for the message to be broadcast, sets list0 ← {all 1-hop neighbors of }, N2Set( ) ← {all 2-hop neighbors of }, and then skips to Step 4. Otherwise starts from Step 2.
Accepts the message package including ⟨MessageID, Message, list⟩ from a upstream decisionpeer. Based on the data of MessageID stored locally, decides if the message has been broadcast before. If the message is a repeated one, then skips to Step 7; otherwise it turns to Step 3.
Step 3. Stores the MessageID, and sets: list0 ← list, N2Set( ) ← {N2Set( ) = ; for each ∈ list0, adds into N2Set( ) all the peers that are 's 1-hop neighbors as well as the 2-hop neighbors of while they do not exist in the set.} Step 4. Sorts the list0 according to the MPR selection algorithm for the sake of efficiency.
Step 5. For each ∈ list0, initializes a new empty relay-list firstly, then extracts from N2Set( ) the peers that are 1-hop neighbors of , and puts them into relay-list . If there is no such satisfied peer for some , then its relay-list keeps empty. Thus generates for each relay-peer specified by list0 an item of relaying information; that is,⟨ID , relay-list ⟩.
Step 6. For each item of ⟨ID , relay-list ⟩, sends to peer with identity of ID the message package with ⟨MessageID, Message, list⟩ where the list is relay-list .
Step 7. Turns into the state of normal-peer.

Message Propagation of LMPR in the Given Network
Scenario. To better illustrate the scheme of LMPR and show its improvement over MPR, we still take the network scenario given in Section 3.1 as an example, presenting the process of message propagation in scheme of LMPR and analyzing its message redundancy in this subsection.
As for the network shown in Figure 1, the scheme of LMPR starts its message broadcast from the source peer S. Firstly, according to the mechanism of LMPR, S generates for all its three 1-hop neighbors items of relaying information: ⟨i1, {j1, j2, j3, j6}⟩, ⟨i2, {j4, j5}⟩, and ⟨i3, {NULL}⟩. It means that decision-peer S only chooses in its view peers i1 and i2 as relay-peers and regards i3 as a reception-peer. And through  Certainly, it can be seen from these relaying items that the four peers of j1, j2, j6, and j4 become decisionpeers in the next round of propagation and each decisionpeer has its own relaying target peers assigned by specified relay-list, and so on. The propagation effect of LMPR can be illustrated as Figure 5. From the process of message propagation presented above, we can see obviously that a relay-peer does not forward a message to all its neighbors as it does in MPR. However it only transmits the message to those assigned by the specified relay-list, so as to reduce the number of messages while the message coverage keeps unchangeable. Although there is still a redundant message from peer j4 to k5 shown as a dash line in Figure 5 because of some blindness of relay-list mechanism beyond 3 hops of decision-peer, the total number of messages spread in LMPR is 22 which is 5 less than that of MPR. To show intuitively its improvement of the message redundancy over that of MPR, we illustrate further the propagation effect of LMPR as Figure 6 where the reduced redundant messages are plotted using dash lines instead of solid lines in Figure 3. And all the 5 redundant messages reduced on the base of MPR can be seen apparently.

Simulations
The performance of MPR scheme and its advantage over the pure flooding has been studied by [10]. In this section, we evaluate the performance of the proposed LMPR scheme and compare it with the protocol of MPR by analyzing their message overhead, propagation convergence, and network coverage of broadcasting. We divide the simulations into two subsections: the performance in a classic stable P2P network and the stability of performance under varying network size and packet loss probability. The first subsection is to evaluate the main performance of the two schemes of LMPR and MPR in a classic stable P2P network. And the second subsection shows their performances under P2P networks with different sizes and packet loss probabilities, which is to testify the stability and representative of performances observed by the first subsection.

Simulation Methodology.
To observe the performance of LMPR and MPR which are basically two algorithms of message broadcasting in P2P network, the process of message propagation between peers following these two schemes should be simulated. The simulation work in this paper is carried on the Java based PeerSim [16] which is one of the most known simulators among P2P researchers. The PeerSim engine has two simulation models: cycle-based model and event-based model. We have chosen the event-based model where message sending is modeled in more detail than the cycle-based one. To simulate and observe the performance of the two schemes of LMPR and MPR, we have designed and programmed separately these two protocols on the platform of PeerSim. As far as programming technology is concerned, simulation works of these two protocols are similar. Therefore, for simplicity we only present the implementation of LMPR protocol which includes mainly six Java classes whose function descriptions are given in Table 1. network. And the main configuration parameters of the network in simulation are listed in Table 2.

Performance in a Classic
In our simulation experiments, the network topology is generated by having each node that represents a peer in the network randomly select two other nodes and build edges with the latter ones. These edges represent the neighboring relationships between peers. Thus the topology of generated network is in the form of an undirected random graph [17]. As for the network generated in this part of simulation its average degree of all network nodes is 4.94, the minimum degree is 3 and the maximum degree is 10. And the degree distribution of all nodes in the simulated network is shown in Figure 7.
As a scheme of message propagation, the primary function of algorithm LMPR is to transmit the broadcast message to entire network as soon as possible. To observe this performance, we have measured the number of nodes having received the broadcast message on schemes of both LMPR and MPR in the simulated network and the result is plotted in Figure 8. As is shown in the figure, the number increases apparently from the 11th time unit and when it comes to the 55th time unit all 100 nodes in the network have received the message. It can be seen that the increase of node coverage rate of broadcast message is similar between the two algorithms of LMPR and MPR. However, the increasing curve of LMPR is lower and smoother than that of MPR which means that the scheme of LMPR runs a little slower but steadier than MPR and the end time of message propagation of both algorithms is almost the same. The reason is that the specified relaylists of scheme LMPR only reduce the redundant messages in broadcasting and the pruning of messages does not influence the rate of its network coverage.
International Journal of Distributed Sensor Networks 7 Table 1: Function descriptions of main classes designed for simulating LMPR algorithm.

Class name Function description
LmprED LmprED, the core class of the algorithm LMPR, implements the interfaces of both CDProtocol and EDProtocol. The former interface is mainly used to simulate the action of initiating message broadcasting from source peer. And the later interface is mainly used to simulate the action of message transferring by general peers. Both two actions have the function of generating set of N2Set(x) and corresponding relay-lists.

RelayItem
RelayItem, an auxiliary class of LmprED, is in nature a data structure that helps to store the relay-information which includes relay-peers and relay-lists.

LmprIdleProtocol
LmprIdleProtocol is an auxiliary class of protocol LmprED. It stores the broadcast message to and from the current peer, which includes message identity, sender, receiver, response state, total number of messages, and number of redundant messages. And LmprIdleProtocol also has the function of deciding if the current peer is in active at any given time.

DecisionMakingState
DecisionMakingState, an auxiliary class of LmprIdleProtocol, is a data structure used to store the number of sent messages, the number of responded messages and the time when each message is sent.

LmprMessage
LmprMessage is an auxiliary class of protocol LmprED and it is a data structure used to store the message package transmitted between peers. This data structure includes mainly a message's identity, content, sender, and relay-list.

LmprObserver
LmprObserver is in charge of outputting the simulation results of algorithm LMPR. Based on the parameters set in configuration file, it counts and outputs regularly the observed simulation results. Simulation results related to the scheme of LMPR in this paper are all output by the function of this class.

MessageSize 20
The size of broadcast message is supposed to be 20 bytes. And this parameter is determined by the application, none of relay-list or relay-peer.
The amount of messages resulted by a proposed algorithm is an important index of its performance. Figure 9 shows the total number of messages disseminated in the network over time. From the 25th time unit the amount of messages generated by scheme LMPR is less than that of MPR notably. Till the 70th time unit, the overall numbers of messages of both algorithms arrive at their highest value where the total number of messages transmitted in LMPR is 267 and that number in MPR is 325. Although the total number of messages generated by both algorithms is much more than the ideal value of 100 when each node only receives one message, the performance of LMPR is still better than MPR. And it demonstrates that the mechanism of relay-list cuts down apparently the amount of messages in the network on the base of algorithm MPR.
As is known from Figure 8 that all nodes have received the broadcast message at time unit 55, however, Figure 9 shows that the amounts of messages resulted by both algorithms are still increasing after the time unit 55. It is because that some nodes are still in active state at the moment and And we can see that the scheme of LMPR brings a smaller fluctuation to the system than that of MPR. The main objective of the proposed algorithm of LMPR in this paper is to reduce the amount of redundant messages in message propagation on the base of MPR while keeping its rate of network coverage almost unchangeable. Therefore, the number of redundant messages in the network is observed in our simulation and the results are shown in Figure 11. It can be seen from the figure that although the redundant messages in the two observed schemes both start to emerge at about the time unit 30 and then increase rapidly, the quantity resulted by algorithm of LMPR is much less than that of MPR.
Although the number of redundant messages generated by LMPR is less than that of MPR, the size of each message package in the former algorithm is larger than that of the latter because of the additional overhead brought by the assigned relay-lists described in Section 4.1. Therefore, the network overhead resulted by the two schemes becomes another big concern in the simulation. If the size of the message broadcast is supposed to be 20 bytes in our simulation, then the network overhead resulted by the two observed algorithms can be plotted as in Figure 12. From the figure we can see that the network overhead brought by LMPR is higher than the other algorithm. However, since the size of relay-lists is invariable at a given network topology, with the increase of the size of broadcast message the influence of network overhead brought by assigned relay-lists will surely decrease. In the simulation environment assumed by this paper, if the size of the broadcast message is larger than 48 bytes, then the network overhead resulted by the algorithm of LMPR becomes lower than that of MPR. The varying of network overhead with the size of broadcast message is shown in Figure 13 characteristics observed can still hold on when the two algorithms work under P2P networks with different sizes and packet loss probabilities is the main task of the simulation described in this subsection. Figure 14 presents the average number of redundant messages per node in networks with different sizes. It is shown by the figure that the quantity of average redundant messages increases for some extent when the size of network adds from 100 to 500, and then the value keeps mostly unchangeable after the size is larger than 500. In general, the average number of redundant messages per node in the scheme of MPR is about 2.1 while that number in LMPR is about 1.8, which is of better performance than the former algorithm.
Finally, the number of nodes having received the broadcast message is measured when the network size is set to 1000 International Journal of Distributed Sensor Networks  Figure 15 which shows that both algorithms have high message coverage when the packet loss probability is lower than 0.2. And with the increase of probability, message coverage begins to decrease in both schemes. Then as the packet loss probability increases to about 0.6, the number of nodes having received the broadcast message in LMPR goes down sharply and turns to zero soon after. And this happens when the packet loss probability increases to about 0.7 in MPR. It is because that there are more redundant messages contributing to the reliability of the system in the scheme of MPR. Anyhow the simulation result demonstrates that the scheme of LMPR also performs well in tolerating the packet loss probability.

Conclusions
Message propagation is used widely in unstructured P2P systems for resource searching and distributing. In this paper we have presented LMPR, a scheme of improved MPR for message propagation in distributed P2P system. Aiming at reducing the message redundancy of scheme of MPR while keeping its message coverage almost unchangeable, this paper proposes to add to the MPR scheme a technique of specified relay-list. By attaching to each relay-peer a relay-list with peers it will relay message to, the scheme assures that a broadcast message can be dispatched and only be dispatched once to every peer within 2 hops away from a decision-peer in its view.
Simulation experiments prove that the number of redundant messages resulted by algorithm of LMPR is much less than that of MPR. And if the size of the broadcast message is larger than some constant value such as 48-bytes of our experiment, then the network overhead resulted by the algorithm of LMPR becomes lower than that of MPR. Furthermore, the simulation results also show that the scheme of LMPR brings a smaller fluctuation to the system than MPR and the main performance characteristics can still hold on under P2P networks with different sizes and packet loss probabilities.
However, owing to the openness and anonymity of P2P systems, there always exists invalid relay-peers in message propagation such as free-rider or failure of peer [15,18,19]. Therefore, to improve the performance of LMPR, further research is also encouraged to apply the reputation mechanism to the selecting of relay-peers and generating of relaylists.

Conflict of Interests
There is no conflict of interests regarding the publication of this paper.