Skip to main content
Log in

Delay and capacity analysis of structured P2P overlay for lookup service

  • Published:
Telecommunication Systems Aims and scope Submit manuscript

Abstract

In this paper, we provide an analytical model for the performance study of different structured P2P overlay networks used for lookup service in IP telephony systems. The overlay provides an infrastructure for the lookup service required before an actual voice communication is initiated. Our model captures the performance behavior of such overlays including the mean session set-up delay of a call as well as the system capacity. These parameters reflect how good an IP telephony overlay is performing. We formulate the system as a queuing network. We idealize Chord routing semantics to extract useful observations to obtain closed form expressions for the session setup delay and capacity as a function of the number of participating supernodes (SN). The analysis also answers the question of finding an optimum number of SN for minimum session setup delay.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Baset, S. A., & Schulzrinne, H. G. (2006). An analysis of the skype peer-to-peer internet telephony protocol. INFOCOM, 2006, 1–11.

  2. Baset, G. G. S. A., & Schulzrinne, H. (August 2008). OpenVoIP: An open peer-to-peer VoIP and IM system. Proceedings of SIGCOMM’08 (demo).

  3. Berl, A., & de Meer, H. (2011). Integrating mobile cellular devices into popular peer-to-peer systems. Telecommunication Systems, 48, 173–184. doi:10.1007/s11235-010-9327-x.

    Article  Google Scholar 

  4. Bolch, G., Greiner, S., de Meer, H., & Trivedi, K. S. (2006). Queueing networks and markov chains: Modeling and performance evaluation with computer science applications. New York: Wiley.

    Book  Google Scholar 

  5. Bonfiglio, D., Mellia, M., Meo, M., & Rossi, D. (2009). Detailed analysis of skype traffic. IEEE Transactions on Multimedia, 11(1), 117–127.

    Article  Google Scholar 

  6. Caizzone, G., Corghi, A., Giacomazzi, P., & Nonnoi, M. (May 2008). Analysis of the scalability of the overlay skype system. IEEE International Conference on Communications, 2008. ICC’08, pp. 5652–5658.

  7. Chawathe, Y., Ratnasamy, S., Breslau, L., Lanham, N., & Shenker, S. (2003). Making gnutella-like p2p systems scalable. In: SIGCOMM’03, pp. 407–418, New York, NY: ACM.

  8. Ge, Z., Figueiredo, D. R., Jaiswal, Sharad, Kurose, J., & Towsley, D. (March-3 April 2003). Modeling peer-peer file sharing systems. In: INFOCOM 2003, Vol. 3, pp. 2188–2198.

  9. Ghimire, J., Mani, M., Crespi, N., & Sanguankotchakorn, T. (July 2010). Delay and capacity analysis of structured p2p overlay for ip telephony. International Symposium on Performance Evaluation of Computer and Telecommunication Systems.

  10. http://www.p2psip.org/implementations.php (Online).

  11. Huang, T. Y., Chen, K. T., & Huang, P. (2009). Tuning skypes redundancy control algorithm for user satisfaction.

  12. ITU-T (May 1999). Network grade of service parameters and target values for circuit-switched services in evolving ISDN. Recommendations E.721, Telecommunication Standardization Sector of ITU, Geneva, Switerland.

  13. Kawahara, Y., Aoyama, T., & Morikawa, H. (2004). A peer-to-peer message exchange scheme for large-scale networked virtual environments. Telecommunication Systems, 25, 353–370. doi:10.1023/B:TELS.0000014789.70171.fd.

  14. Ktari, S., Hecker, A., & Labiod, H. (2011). Symmetric routing in DHT overlays. Telecommunication Systems, 48, 163–172. doi:10.1007/s11235-010-9326-y.

  15. Lee, H., & Lee, H.-W. (nov. 2010). Interworking architecture between ims and p2psip for ubiquitous services. International Conference on Information and Communication Technology Convergence (ICTC), pp. 288–291.

  16. Lo Piccolo, F., & Neglia, G. (Oct. 2004). The effect of heterogeneous link capacities in bittorrent-like file sharing systems. International Workshop on Hot Topics in Peer-to-Peer Systems, pp. 40–47.

  17. Lua, E. K., Crowcroft, J., Pias, M., Sharma, R., & Lim, S. (2005). A survey and comparison of peer-to-peer overlay network schemes. IEEE Communications Surveys & Tutorials, 7(2), 72–93.

    Article  Google Scholar 

  18. ns 2. http://www.isi.edu/nsnam/ns/.

  19. P2psip Status Pages. http://tools.ietf.org/wg/p2psip/ (Online).

  20. Qiu, D, & Srikant, R. (2004). Modeling and performance analysis of bittorrent-like peer-to-peer networks. SIGCOMM’04: Proceedings of the 2004 conference on Applications, technologies, architectures, and protocols for computer communications, pp. 367–378, New York, NY: ACM.

  21. Ratnasamy, S., Francis, P., Handley, M., Karp, R. M., & Schenker, S. (2001) A scalable content-addressable network.

  22. Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., & Schooler, E. (2002). SIP: Session Initiation Protocol. RFC 3261 (Proposed Standard). Updated by RFCs 3265, 3853, 4320, 4916, 5393, 5621.

  23. Rowstron, A., & Druschel, P. (November 2001). Pastry: Scalable, decentraized object location and routing for large-scale peer-to-peer systems. Proceedings of the 18th IFIP/ACM International Conference on Distributed Systems Platforms (Middleware).

  24. Small, T., Liang, B., & Li, B., (2006). Scaling laws and tradeoffs in peer-to-peer live multimedia streaming. IN PROC. ACM MULTIMEDIA 06, pp. 539–548. ACM.

  25. Stoica, I., Morris, R., Karger, D., Kaashoek, F., & Balakrishnan, H. (2001) Chord: A scalable peer-to-peer lookup service for internet applications. SIGCOMM 2001 Conference.

  26. Wu, D., Liu, Y., & Ross, K. W. (April 2009). Queuing network models for multi-channel p2p live streaming systems. INFOCOM 2009. The 28th Conference on Computer Communications. IEEE, pp. 73–81.

  27. Yang, X., & de Veciana, G. (March 2004). Service capacity of peer to peer networks. INFOCOM 2004, Vol. 4, pp. 2242–2252.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Noel Crespi.

Appendices

Appendix 1: proof of Proposition 5

Proposition

In the load-balanced Chord Model with \(N\!=\!2^c\) and \(K=2^k\), each peer will have \(c\) neighbors.

Proof

To prove this result, we assert the following three statements with proofs:

Statement 1: Any SN with SN id \(x+2^{i-1} T\) for \(1\leqslant i\leqslant c \) is a finger entry and a distinct neighbor of a given SN.

Proof of the statement 1: We represent \(T=\frac{2^k}{2^c}=2^{k-c}\), the partition of keyspace belonging to each SN. For a SN \(X\) with node id \(x\), all other SNs are occupying the ids: \((x+T)\%K,(x+2T)\%K,(x+3T)\%K\cdots ,(x+iT)\%K,\cdots \). \(\%\) represents the modulo operation. But not all of them fall in the neighbor list of SN \(X\).

We see that \(x+2^{i-1} T = x+ 2^{k-c+i}\) is an element of the set \(X=\{x+2^{i-1} : i= 1,2,3,\cdots , k\}\) and this \(S\) is the set of all fingers anticipated by the Chord routing. (To learn about what are the possible finger entries in Chord, refer to [25]). The maximum entry of the finger list is when \(2^{k-c-i} = 2^{k-1}\). i.e. \(i=c-1\). This proves the statement 1.

Statement 2: No other SNs fall in the set \(X=\{x+2^{i-1} : i= 1,2,3,\cdots , k\}\).

Proof of the statement 2: First we assume that this statement is false. For the above statement to be false, we require both of the following equations to be satisfied.

$$\begin{aligned} x+nT&=x+2^{i-1}\end{aligned}$$
(36)
$$\begin{aligned} n&\ne 2^l \text { For any } l \in \{1,2,3,4, \cdots c-1\} \end{aligned}$$
(37)

But, it is impossible to satisfy both equations together for \(T=2^{k-c}\). Thus statement 2 is valid.

Statement 3: No reference is ever made by the finger pointer to a key that lies between neighbor SNs with node id \(x+2^{j-1} T\) and \(x+2^{j} T\) for \(1\leqslant j\leqslant c \).

Proof of the statement 3: We determine the entry \(i_1\) in the finger table corresponding to node ID \(x+2^{j-1} T\) from the equation below

$$\begin{aligned} x+2^{j-1} T&=x+2^{i_1-1}\\ i_1&={j}+{k-c}=j+k-c \end{aligned}$$

Also the corresponding entry \(i_2\) in the finger table corresponding to node ID \(x+2^{j} T\) is solved by using the equation below

$$\begin{aligned} x+2^{j-1} T&=x+2^{i_2-1}\nonumber \\ i_2&=j+k-c+1 \end{aligned}$$

The next entry after \(i_1\) in finger entry table is \(i_1+1\) pointing to the key \(x+2^{i_1+1-1}\). This is the entry corresponding to \(i_2\). It means that the next finger pointer after \(i_1\) is \(i_2\) itself. There are no referrals to any key in between.

Statement 1 means that \(c\) SNs having id \(x+2^i T\) for \(0 \leqslant i \leqslant c-1\) fall in the neighbor list of SN \(X\). Statement 2 says that no other SNs fall as the neighbor of SN \(X\). Statement 3 shows that there would be no pointer references to a key between the two fingers as determined in statement 1. The three statements then together mean that there are exactly \(c\) neighbors of SN \(X\). \(\square \)

Appendix 2: proof of Proposition 6

Proposition: Prove that in a load-balanced Chord, a lookup being forwarded to the \(i\)th neighbor of SN \(X\) is forwarded to one of the first \(i-1\) neighbors only.

Proof

In order to prove this result, we first assert the following statement.

Statement 4: The \(i\)th neighbor of the \(i\)th neighbor of node \(X\) is the \((i+1)\)th neighbor of node \(X\).

Proof of the statement 4: We represent the node id of the \(i\)th neighbor of node \(X\) with node id \(x\) as \(N_i(x)\). Then from previous argument in statement 1 of Appendix 1, we have

$$\begin{aligned} N_i(x)=x+2^{i-1} T \end{aligned}$$
(38)

The \(i\)th neighbor of the \(i\)th neighbor of node \(X\) is represented as \(N_i (N_i(x))\). We obtain the following

$$\begin{aligned} N_i (N_i(x))&=N_i(x+2^{i-1} T)=x+ 2^ {i-1} T + 2^ {i-1} T \nonumber \\&=x + T (2^{i-1}+2^{i-1})= x+2^i T \end{aligned}$$
(39)

But, from 38, we have

$$\begin{aligned} N_{i+1}(x) = x + 2^ {i+1-1} \end{aligned}$$
(40)

From 39 and 40, we conclude that statement 4 is true.

Using this statement 4, for any lookup forwarded by node \(X\) to its \(i\)th neighbor \(Y\), we can say that \(Y\) will never forward the lookup to its \(i\)th neighbor \(Z\). This is because if it had to, \(X\) would have directly forwarded to its \(i+1\)th neighbor (node \(Z\)) following the greedy algorithm. The greedy behavior of routing also prohibits any subsequent forward by node \(Y\) beyond its \(i\)th neighbor because if any such nodes existed, \(Z\) would be chosen by \(X\) at first place. \(\square \)

Appendix 3: proof of Proposition 7

Proposition

Prove that each SN in the load-balanced Chord has \(2^{c-b}\) E\(b\)-NRSN.

Proof

In the Lookup Routing Path Tree (LRPT) of any SN \(i\), a SN in the \(j\)th branch of LRPT can have one more SN if and only if \(j \ge b\).

We define \(\Lambda _b(i)\) as the number of E\(b\)-NRSN in the \(i\)th branch of the LRPT of the SN under consideration. Then, we have the following:

$$\begin{aligned} \Lambda _b(i)&=0 \text { For } 0 \leqslant i < b \nonumber \\ \Lambda _b(b)&=1 \end{aligned}$$
(41)

The LRPT has a general recurrence as described earlier. The recursion leads to the fact that the number of E\(b\)-NRSN in the \(i+1\)th branch is the sum of the numbers in the previous branches. i.e.

$$\begin{aligned} \Lambda _b(i+1)&= \sum \limits _{j=0}^{i} {\Lambda _b(j)}=\sum \limits _{j=b}^{i} {\Lambda _b(j)}\nonumber \\&=\Lambda _b(b)+\sum \limits _{j=b+1}^{i} {\Lambda _b(j)} \text { For all }i > b \end{aligned}$$
(42)

This recurrence and the initial condition of \(\Lambda _b(b)=1\) means that the expression for \(\Lambda _b(i+1)\) is expressed as:

$$\begin{aligned} \Lambda _b(i+1)&=1+1+2+2^2+2^3+\cdots +2^{i-b}=1\nonumber \\&+\frac{2^{i-b}-1}{2-1}\nonumber \\&=2^{i-b} \end{aligned}$$
(43)

Then we have

$$\begin{aligned} \Lambda _b(c)=1+\sum \limits _{i=b+1}^{c-1}\Lambda _b(i)=2^{c-b-1} \end{aligned}$$
(44)

Now, the total number of E\(b\)-NRSN (i.e. \(n_b\)) is the sum of all these. i.e

$$\begin{aligned} n_b&= \sum \limits _{i=b}^{c}\Lambda _b(i)=1+\sum \limits _{i=b+1}^{c-1} \Lambda _b(i)+\Lambda _b(c)\nonumber \\&=2\Lambda _b(c)=2\times 2^{c-b-1}=2^{c-b} \end{aligned}$$
(45)

\(\square \)

Appendix 4: derivation of lookup hop distribution of load-balanced chord DHT

Let, random variable \(S\) denote the number of SNs visited by a lookup originating at one of the SNs.

we define,

$$\begin{aligned} P\{ S = i\} \!=\! {\text {Prob}}\{ \text {A Lookup visits }i{\text { SNs before absorption}}\} \end{aligned}$$

By observing the lookup routing path tree in Fig. 5, and defining \(X(i)\) as the number of nodes in the tree in Fig. 5 that are \((i-1)\) hop away from the originating SN, we note the followings:

$$\begin{aligned} X(1)&=1 \quad X(2)=c \quad X(3)=\sum \limits _{i = 1}^{c - 1} i \quad X(4)=\sum \limits _{i = 1}^{c - 2} {\sum \limits _{j = 1}^i j } \nonumber \\&\cdots \nonumber \\ X(\kappa )&=\underbrace{\sum \limits _{a = 1}^{c - (\kappa - 2)} {\sum \limits _{b = 1}^a { \cdots \sum \limits _{i = 1}^h {\sum \limits _{j = 1}^i {} j} } } }_{(\kappa - 2){\text { sums of sums}}} \quad for 1 \le \kappa \le (c+1) \end{aligned}$$
(46)

For any lookup originating at one of the SNs, the probability of a lookup being absorbed after visiting \(i\) SNs is proportional to \(X(i)\) as all the nodes in the root are equiprobabally absorbing a lookup.We get,

$$\begin{aligned} P\{ S = i\}=\frac{X(i)}{N} \end{aligned}$$
(47)

Now, the expected number of SNs visited before a lookup is absorbed is:

$$\begin{aligned} E\{S\}= \overline{S}&=\sum \limits _{i = 1}^{c + 1}i P\{ S = i\}\nonumber \\&=1+\frac{c}{2} \end{aligned}$$
(48)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ghimire, J., Mani, M., Crespi, N. et al. Delay and capacity analysis of structured P2P overlay for lookup service. Telecommun Syst 58, 33–54 (2015). https://doi.org/10.1007/s11235-014-9872-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11235-014-9872-9

Keywords

Navigation