SciELO - Scientific Electronic Library Online

 
vol.28 número2Detection of Wildlife Species in the Peruvian Amazon Using Transfer LearningPolicy Gradient MaxSAT Solver índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay artículos similaresSimilares en SciELO

Compartir


Computación y Sistemas

versión On-line ISSN 2007-9737versión impresa ISSN 1405-5546

Comp. y Sist. vol.28 no.2 Ciudad de México abr./jun. 2024  Epub 31-Oct-2024

https://doi.org/10.13053/cys-28-2-4721 

Articles

Performance Analysis in Peer-to-Peer Networks with Collaborative Initial States

Gerardo Hernández-Oregón1 

Mario E. Rivero-Ángeles1  * 

Juan C. Chimal-Eguía1 

Jorge E. Coyac-Torres1 

11 Insituto Politécnico Nacional, Centro de Investigación en Computación, Mexico. ghernandezo1101@alumno.ipn.mx, jcoyact1900@alumno.ipn.mx, jchimale@ipn.mx.


Abstract:

Currently, the trends of the new generations of telecommunications (6G and beyond) point towards a non-centralized process, however, for these architectures where no central entity regulates the transmission and information sharing, collaboration among nodes becomes a major issue to provide an adequate service. To this end, in this paper, we study Peer-to-Peer (P2P) systems to obtain models that reproduce these technologies’ operation and the collaboration mechanism. The behavior of these systems is modeled through a Continuous Time Markov Chain (CTMC), and later we develop a Discrete Event Simulation (DES) to validate the analytical results. For solving these processes, M/M/s type queues were used in order to analyze the impact of collaboration levels on the system performance.

Keywords: Peer-to-peer (P2P) systems; continuous time Markov chain (CTMC); collaboration mechanism; discrete event simulation (DES); collaborative threshold (ζ)

1 Introduction

As a result of the creation of the first computer network, new topologies and data structures began to be implemented, in particular, centralized architectures where a server acts as the entity in charge of distributing information through the network. However, these architectures suffer from bottlenecks at the servers when popular files (and more recently videos and movies in streaming services) are downloaded and shared in social networks, producing high delays and degrading the performance of the networks.

In the same context, networks, such as Peer-to-Peer (P2P), emerge in a disruptive way to eliminate the need for central nodes and instead act together to complete tasks in common.

In a decentralized P2P network, a file is shared among the nodes that belong to the network, and all these nodes behave as servers and clients, sharing resources (memory, bandwidth, processing, and more).

In addition, in the case of the P2P-BitTorrent network studied in this article, the transmitted files are divided into small segments called chunks so that the nodes that contain the complete file are named seeds (x), while the Nodes that do not contain the full chunks are known as leechers (y).

Furthermore, while centralized networks aim to have distribution centers that can create conflicts of security, cost, stability, and other problems, P2P networks aim to expand to create reliable operations and make the nodes active in the network [7], however, in decentralized architectures apart from well-known security issues, such as worm distributions and viruses, the main problem is that the system operation relies heavily on nodes’ collaboration to share their files and resources for the benefit of all users.

Although the phenomenon of collaboration has been largely overlooked through rules of connectivity, priorities and incentive mechanisms, this paper studies the fact that in real P2P networks, there are certain nodes that since the first moment connect anonymously or are not disposed to share information with the other peers but they also download the available chunks using the network’s resources, for these reasons, it is important to highlight the fact that for our paper we consider an initial state of collaboration (σ) for every node in the network (υ0,υ1,υ2,,υn1,υn), where this σ state is a binary variable that says if the node is sharing information (σ=σ1=1) or not (σ=σ0=0). In the same line, we consider that a non-collaborative peer (υσ0) is not willing to share information, even if it has all the information ready to share, on the contrary, a collaborative peer (υσ1) will try to share data through all the network during its lifespan.

It is important to notice that every leecher and every seed contain a σ that defines their state of collaboration and for the case of conversions from leechers to seeds, the new seeds will preserve the antique σ state as when they were leechers. For the previous reasons, the total number of seeds can be expressed as xσ=xσ1+xσ0, which includes the collaborative and non-collaborative seeds due to the initial σ state, as well, the total number of leechers is expressed as yσ=yσ1+yσ0yσ = yσ1 +yσ0.

In this sense, a collaborative initial state (σ) allows greater fluidity in the processing of nodes for the transfer of information since it avoids the periods in which nodes have to determine priorities or apply incentive mechanisms in cooperation, allowing greater efficiency in nodes that require greater confidentiality without relegating them to the end of the process. Finally, a collaborative threshold (ζ) in the systems defines the maximum percentage of υσ0 nodes in the environment, and once this percentage was reached, this type of nodes could not connect or would have to change their policies to be added as a υσ1 or until some υσ0 nodes leave the system. The main contributions of this paper are listed below:

  • – A Markovian model is proposed and solved through a Continuous Time Markov Chain (CTMC) that describes the fluid system of a P2P system.

  • – The model is validated through chain solutions (fluid model and simulation), describing the steps to follow and comparing each solution with the fluid model.

  • – A variation in the simulation of the system is proposed in order to study the impact of collaboration for leechers and seeds evolution in time.

  • – The behavior of a network that has variation in its collaboration is described.

The rest of the article is composed as follows: Section 2, presents the technologies in which P2P networks have been applied, as well as studies on the collaboration of nodes in this type of networks.

Section 3 details the dynamics of the P2P networks studied in this article through their fluid model, while Section 4 models the system through a CTMC and presents the algorithms that solve this chain through its fluid model and its simulation.

The final part of the article shows the relevant results from the CTMC solution and the impact of collaboration through the variation of υσ0 nodes in the network, as well as conclusions and future work.

2 Related Work

The excessive growth in computing capabilities, the Internet, and new technologies such as IoT, AI, and VR are determining factors to search for other technologies and network architectures [8].

In the same line, P2P systems allow to implement decentralized file sharing by allowing all nodes to simultaneously act as servers and clients, increasing the resources in the network and, although P2P are still in constant development of cost reduction [14] in their infrastructure and detection of malicious nodes that may affect network processes [2], they are emerging as an alternative that could complement current environments having a significant peak in streaming services and with the future promise of a decentralized Internet as described by Philip Agre [1]. On the other hand, another important feature of P2P networks is the relationship that the peers maintain between them and the rules that they follow through the network.

In the same vein, few studies investigate the disposition of nodes to share information on the network and, although most refer to this process as collaboration, this collaboration can be approached from different points of view as shown by Chow [5, 4], who details how mobile nodes transmit information through caching techniques to reduce download times and to efficiently share information in the system, in the same way, Kumar [9] uses this procedure to vehicular networks by modeling a discrete-time Markov chain that describes the initial, waiting, and updating states of these scenarios and the structures necessary for their operation.

The previous works manage the collaboration through the structure in which the nodes share due to their mobility and their physical capabilities in the transmission of data, however, there are other works that consider collaboration in P2P networks in terms of exchange not only of information but of energy as proposed by Amin [3] in its P2P electricity network in which there are collaborative and non-collaborative houses depending if they have solar panels and if they share them with the network.

It is important to note that there are interesting works whose objective is to study the collaboration in order to obtain certain parameters of the system, such as the one accomplished by Edgar Báez [6] for the calculation of collaborative and non-collaborative peers with different death rates, i.e., in this case the collaboration level is related to the average dwelling times inside the system, according to their priority scheme calculating latency, delay, successful downloads and percentage of blocked peers, or the study presented by Petrovic [11] in which a P2P system is analyzed in which there are different files of interest, then he details the download times and memory requirements for this type of scenario.

Distinctively to the articles described, this article focuses on the process of a Markovian analysis of the P2P system to study the collaboration among nodes considering that the peers enter anonymously (it is not possible to apply priority schemes) and determining if it will be collaborative (υσ1) or non-collaborative (υσ0) (through a proposed collaborative threshold (ζ)) from the first moment that the node enters in the network and keeping it in that state until its departure, finally, we analyze the impact of these initial states (σ1,σ2,σ3,,σn1,σn) of collaboration through the evolution of the network on the average number of leechers and seeds.

Those adjustments allow us to improve the speed of sharing information and safeguard nodes’ anonymity, which means a better performance of P2P networks applied to technologies such as IoT that connect a lot of devices through the same network (many times in real-time) avoiding larger control information frames both uploading and downloading data.

3 P2P Networks

As we mentioned before, P2P-BitTorrent networks are very useful for sharing trending information through a large number of nodes with better performance than centralized networks, moreover, the P2P behavior is caused by some parameters that will be detailed in this section, however, it is just as important how nodes connect to each other according to the following intrinsic rules of P2P mechanisms:

  • – Seeds do not connect to each other, because they already contain all the information available in the network, however, they can connect to any leecher to upload parts of the file.

  • – Leechers that connect to any seed can download all available chunks (if network rules allow it).

  • – Leechers will only connect to other leechers that have different chunks between them.

Likewise, the nodes of the system can download with a rate c and upload information with a rate μ, having as a general (but not necessary) assumption:

cμ. (1)

It is important to mention that bandwidths c and μ will determine the rate in which a leecher becomes a seed (τ), in such a way that, if the system has enough resources, it means that the leechers are interacting with a high upload rate of chunks and this generates a greater available bandwidth, which means that the maximum download rate will be given by the product between the system leechers and the download rate (cxσ).

Conversely, if the interaction of leechers is performed through a large number of repeated chunks (modeled by η), bottlenecks could appear indicating that all available bandwidth is being consumed and causing a lower download rate in the network, therefore, the conversion of lecheers to seeds will be modeled by the upload bandwidth, the number of seeds and the interaction between leechers (μ(ηxσ+yσ)). Finally, the rate at which leechers are converted to seeds is defined as τ and is given by the following relationship:

τ=min(cxσ,μ(ηxσ+yσ)), (2)

where

τ =

conversion rate (τ,τ>0)

c =

downloading bandwidth (c,c>0)

μ =

uploading bandwidth (μ,μ>0)

η =

sharing effectiveness (η,0<η<=1)

xσ =

number of leechers (xσ,xσ>=0)

yσ =

number of seeds (yσ,yσ>=1)

This system can be represented as a fluid model analyzed by D. Qiu [13, 12, 10] and developed for P2P-BitTorrent networks, and it can be expressed in a system of differential equations that are shown below in Equations 3 and 4:

d(xσ1+xσ0)dt=λθ(xσ1+xσ0)τ, (3)

d(yσ1+yσ0)dt=τγ(yσ1+yσ0). (4)

For stable conditions, in which a slight disturbance does not produce too disruptive effects on the system, we have:

λθxsτ=0, (5)

τγyσ=0. (6)

Depending on the values of their bandwidths and output/input rates to the system, this type of network is classified into two states: penury and abundance. This relation is described in Table 1. For abundance state we substitute τ=cxσ in equations 5 and 6:

λθxσcxσ=0, (7)

cxσγyσ=0. (8)

Table 1 P2P system states 

State Condition τ
Penury cxσ>μ(ηxσ+yσ) μ(ηxσ+yσ)
Abundance cxσ<μ(ηxσ+yσ) cxσ

Clearing xσ variable:

xσ=γθ+c, (9)

xσ=γyσc. (10)

Then:

γyσc=λθ+c.

Solving yσ:

yσ=(cγ)(λθ+c).

The same way is applied to find xσ and yσ values for τ=(ηxσ+yσ) in penury state, the range of values that are valid for the departure rate of the seeds (γ) is obtained depending on the state in which the study is to be carried out, as shown in Table 2.

Table 2 Solutions of the fluid model for stable conditions 

State Leechers Seeds γ
Abundance xσ=λθ+c yσ=(cγ)(λθ+c) γ<μccμη
Penury xσ=λθ+μη(1μγμ) yσ=μηxσγμ γ>μccμη

4 Mathematical Analysis

This paper studies the operation and collaboration of the P2P networks through a Markovian analysis in which the system can be represented as a homogeneous, irreducible, aperiodic CTMC with states (xσ,yσ) positive recurring (ergodic chain) like the one shown in Fig. 1, where:

λ =

leechers input rate (λ,λ>0).

θ =

leechers output rate (θ,θ>0).

γ =

seeds output rate (γ,γ>0).

τ =

conversion rate (τ,τ>0).

xσ =

number of leechers (xσ,xσ>=0).

yσ =

number of seeds (yσ,yσ>=1).

Fig. 1 CTMC of the P2P (BitTorrent) network 

CTMC has a space of valid states Ω:{(xσ,yσ)|xσ,yσ}, such for the states (xσ,yσ) it has the following transitions:

  • – There is a transition to state (xσ+1,yσ) with rate λ and denotes the arrival of a new leecher to the system.

  • – There is a transition to the (xσ1,yσ) state with rate (θ)(xσ) and denotes the output of a leecher from the system.

  • – There is a transition to the (xσ,yσ1) state with rate (γ)(yσ) and denotes the output of a seed from the system.

  • – There is a transition to the (xσ1,yσ+1) state with rate (τ) and denotes the conversion from a leecher to a seed.

The initial state is (0,1), where there is no leechers asking for information and there is just one seed, for the above we cannot hope for a seed departure (because there must be at least one seed in the system) or a leecher departure but we can see that if state (0,2) presents a seed departure, we can return to (0,1) as is shown in Fig. 2. In the same way, we can generalized arrives and departures from state (i,j) as in the Fig. 3 and for steady state this chain can be solved by equalizing their output and input transition rates, that is, by a flow balance Eqn. 11:

p0,1(λ0,1)=p1,1θ1,1+2p0,2γ0,2, (11)

Fig. 2 Input and output transition rates for the state (0,1) 

Fig. 3 Input and output transition rates for the state (i, j) 

p1,1(λ1,1+τ1,1+θ1,1)=p0,1λ0,1+2p2,1θ2,1. (12)

p15,16(λ15,16++τ15,16)=p14,16λ14,16++τ16,15. (13)

pi,j(λi,j++τi,j)=pi1,jλi1,j++τi+1,j1. (14)

Once the Markovian model was described, the CTMC was solved numerically by modeling the jumps in the chain, creating exponential times corresponding to each transition rate as it is shown in Algorithm 1. After the numerical solution for the fluid model, we solve the chain by means of the Algorithm 2 simulating the events and characteristics of the system and applying the collaborative threshold ζ in the system.

Algorithm 1 Markov chain algorithm for a P2P network 

Algorithm 2 Simulation algorithm for a P2P network with collaboration variation 

Before any variation, our simulation was compared with the numerical solution to validate the data obtained in the simulation. A more detailed description of algorithms 1 and 2 is found below, in which, we take into consideration the collaboration between the nodes, remembering that for our paper we consider an initial state σ for every node in the network.

Furthermore, we remark and show the behavior of the state σi for a node i from the first moment that it gets into the network to the last moment it leaves the system. For the above, we remark that a υσ0 peer has an initial collaboration state σ=0, which means that, this node will not share information, contrary, we consider a υσ1 peer when it has σ=1.

4.1 CTMC Numerical Solution

The process of Algorithm 1 is detailed below:

  • – As a first step, the rates, bandwidths, and the number of iterations detailed in the Algorithm 1 are entered. However, for the simulation method, it will also be required to detail the number of chunks and the parameter ζ that will determine the collaboration between the present nodes in the network.

  • – In the next stage, the simulation time (tsim) and the number of leechers (xσ) are initialized to zeros, and a seed is added to the list.

  • – From this moment on, the subsequent steps will be repeated during the indicated iterations. Next, the function min() is executed, which will create the exponential times corresponding to each possible state that can be accessed from the state (xσ,yσ) and which will later determine the smallest time (tmin) and its position (position), taking into account that this shortest time corresponds to the time to the nearest event.

  • – Once the minor time has been identified, it proceeds to add it to the simulation time, and this time would correspond to the time that the state (xσ,yσ) remained before jumping to the new state.

  • – Subsequently, the transitions described above are considered cases in which the cases of conversion, departure of leechers/seeds from the system, and the arrival of leechers are considered.

  • – As a final step, the function probabilities() is executed, which will calculate the steady probabilities (list pr) corresponding to each state present in the solution equations ( 15 and 16), to finally obtain the average number of leechers and seeds equations(17 and 18):

P(Xi)=i=0t(xi)tsimulation, (15)

P(Yi)=i=0t(yi)tsimulation, (16)

P(X¯)=i=0P(Xi)Xi, (17)

P(Y¯)=i=0P(Yi)Yi. (18)

4.2 Discrete Event Simulator

As with the numerical solution algorithm, the corresponding steps of the algorithm are detailed by Algorithm 2:

  • – At first instance, the input rate of leechers (λ), the output rates of leechers and seeds (θ,γ), as well as the upload and download bandwidths (c,μ), the number of iterations (iterations), and the variable η are acquired. Finally, the average number of leechers and seeds in the system will be obtained.

  • – In the next stage, the simulation time (tsim) is initialized, then a seed and a leecher are added to the collaborative mode list. In other words, these nodes, in addition to downloading information, will collaborate by actively sharing them throughout the network. In order to have a count of the collaboration of the nodes, the counters of collaborative nodes (xσ1,yσ1) and non-collaborative nodes (xσ0,yσ0) are also initialized.

  • – The following steps will be repeated for the number of iterations entered. Next, the first node in the list (list.get_first()) will be taken, and its time (event.time()) will add that time to the simulation time.

  • – Subsequently, the number of conversions() from leechers to seeds in that time (if any) will be obtained and divided between collaborative (cσ1) and non-collaborative (cσ0) conversions.

  • – As the next step, the current event will be evaluated, and depending on its type and action to be carried out, following possibilities will be obtained:

    • If the type of the event (event.type) is a leecher and its action is a birth, then a unit is added to the leechers counter (collaborative or non-collaborative as the case may be) and a new time (event.time) is created for it, changing its action to death (event.action).

      • Then, the possible providers of information in the network are searched for (search_tx()), and a new birth is created, which, depending on the random value (random(0, 1)) generated in comparison with the collaboration, this comparison determine if rebirth will be collaborative or non-collaborative.

    • If the type of the event is a leecher but has a death action, then the leecher’s counter is decreased by one unit (xσ1 or xσ0, as the case may be), and the upload and download connections of the node are eliminated (event.clearconnections()).

    • Finally, if the event type is a seed with a death action, then the seed counter is decreased by one unit (yσ1 or yσ0, as the case may be), and the upload and download connections of the node are eliminated event.clearconnections(). It should be noted that there must always be at least one seed in the system, so if there is a death and only one seed in the system, a new death time for this node is generated.

  • – At the end of the iterations, the average number of leechers and seeds is obtained through the simulation, as well as the collaborative and non-collaborative nodes.

Under the collaborative circumstances described, we assume the same input (λ) and output (θ,γ) rates for collaborative peers and non-collaborative peers in order to observe the queuing of leechers and seeds when they are not willing to share information, this behavior is considered with the collaborative threshold ζ applied to the simulation when a peer is created, then, for every new node considered in the simulation we decided the state σ by means of the comparison between a determined value of ζ (0<ζ<1); if ξζ then the new peer will have σ=1 and it will be collaborative with the other nodes otherwise it will be non-collaborative with σ=0. It is important to mention that when ζ=1 we have an ideal P2P environment in which all peers distribute information in the network, on the other hand, if ζ=0 we will have a centralized network in which only the initial node (that owns the file) could be capable of transmitting information to the other peers (Client-Serve architecture).

5 Results

Once the chain was solved, the fluid model was compared with the Markovian model through the DES of the system and the numerical solution of the Markov chain with ζ=1. The results of these comparisons are shown in the figures 4 and 5. At the same time, the parameters used for these solutions are indicated in Table 3. Figures 4 5 provide a validation of the proposed CTMC and the methods used for its solution. For this reason, the following subsection will show the results obtained from simulating the system with a collaborative threshold different from unity (0<ζ<1).

Table 3 Table of parameters and values utilized 

Parameter Value
λ [0.11, 0.12, 0.13, 0.14, 0.15]
θ [0.001, 0.002, 0.003, 0.004, 0.005]
γ [0.0009, 0.0012, 0.0015, 0.0018, 0.0021]
ζ [0.2, 0.4, 0.6, 0.8, 1.0]
iterations 50,000
c 0.002
μ 0.00125

Fig. 4 Number of leechers in the system for the fluid model and the Markovian model in ζ=1 

Fig. 5 Number of seeds in the system for the fluid model and the Markovian model with ζ=1 

5.1 Collaboration in P2P Environments

Ideally, all peers are willing to cooperate through the P2P network, however, in real environments, this could be different. The modeling referring to the P2P network studied in this work suggests another that allows glimpsing system’s operation varying the ζ parameter in the network (Algorithm 1).

Figures 6 and 7 show that although the collaboration in this experiment was lowered, the values of leechers and seeds remained very close to the values calculated by the fluid model through the variation of the λ and θ rates with a γ value of 0.0009. The preceding shows that although many non-collaborative nodes exist in the system, an equilibrium is maintained that allows operation very close to the ideal operation.

Fig. 6 Collaborative (xσ1) and non-collaborative (xσ0) leechers calculated by the simulations (ζ=0.4,γ=0.0009) compared to the ideal collaborative scenario (ζ=1,γ=0.0009) 

Fig. 7 Collaborative (yσ1) and non-collaborative (yσ0) seeds calculated by the simulations (ζ=0.4,γ=0.0009) compared to the ideal collaborative scenario (ζ=1,γ=0.0009) 

However, figures 8 and 9 show a scenario in which collaboration between nodes is further reduced and output rate of the seeds (γ) increases, resulting in a network unable to provide the information in an effective way, producing a higher number of leechers in the queue and a very low number of seeds. Consequently, it can be affirmed that the level of collaboration directly impacts the conversion of leechers to seeds.

Fig. 8 Collaborative (xσ1) and non-collaborative (xσ0) leechers calculated by the simulation compared to the fluid model (ζ=0.2,γ=0.0021) 

Fig. 9 Collaborative (yσ1) and non-collaborative (yσ0) seeds calculated by the simulation compared to the fluid model (ζ=0.2,γ=0.0021) 

Hence, figures 8 and 9 result from variations in the arrival and departure rates of the nodes (λ and θ respectively) while the departure rate of the seeds (γ) was constant with the aim of observe the bearing of the network from the behavior of the leechers, then, it is important to study the system through the collaboration sweep varying γ and holding λ and θ constant.

For the above, Figures 10 and 11 show that the lower the collaboration, the greater the number of leechers in the queue (since leechers only depend on their arrival rate), and they will mostly be non-collaborative, which would cause a low number of seeds in the system (the number of conversions decreases). On the contrary, the greater the collaboration, the number of leechers and seeds will remain stable.

Fig. 10 Impact of the variation of ζ and the rate γ on the number of leechers of a P2P system (λ = 0.12, θ=0.003 

Fig. 11 Impact of the variation of ζ and the γ rate on the number of seeds of a P2P system (λ = 0.12, θ=0.003

6 Conclusions and Future Work

This work developed a Markovian model that describes a P2P network, besides, we solve the model numerically and the simulation of the system, validating the solutions’ results with pre-existing fluid models.

On the other hand, necessary adjustments were made to achieve variation in collaboration between the nodes of the network through the parameter ζ, taking into account real environments in which it is not possible to control all the peers and their collaboration. Furthermore, we propose to include the initial state of collaboration σ in the simulation to provide a better approach to real environments and then estimate the performance in the network according to this control variable.

On the other hand, despite the adjustments applied allowing nodes to hold their anonymity, the parameter ζ defines the total percentage of σ0 nodes authorized in the network, corroborating that the smaller number of xσ0 nodes in the environment the greater number of yσ1 are created and then, the complete file can be shared through all the nodes more efficiently.

For the above, it can be affirmed that a P2P network can work efficiently, finding the balance of its rates even if its collaboration is not maximum (ζ=1) and thus maintaining a performance similar to that presented by the fluid model.

However, it is clear that if the balance as mentioned above is not achieved, a null creation of collaborative leechers (xσ1) can be obtained, which in turn translates into a very low number of seeds and, therefore, an inefficient P2P network in which it is complicated to get the information within the network. Therefore, it would be convenient and interesting to calculate the collaboration balance for future work and determine the impact found through ζ directly in the fluid model.

Data Availability

All experiments and data used in this work are available if required.

Acknowledgments

This research was funded by Instituto Politécnico Nacional grant number SIP 20231239 and CONACYT.

References

1. Agre, P. E. (2003). P2P and the promise of internet equality. Communications of the ACM, Vol. 46, No. 2, pp. 39–42. DOI: 10.1145/606272.606298. [ Links ]

2. Al-Otaiby, N., Alhindi, A., Kurdi, H. (2022). Anttrust: An ant-inspired trust management system for peer-to-peer networks. Sensors, Vol. 22, No. 2, pp. 533. DOI: 10.3390/s22020533. [ Links ]

3. Amin, W., Huang, Q., Afzal, M., Khan, A. A., Umer, K., Ahmed, S. A. (2020). A converging non-cooperative and cooperative game theory approach for stabilizing peer-to-peer electricity trading. Electric Power Systems Research, Vol. 183, pp. 106278. DOI: 10.1016/j.epsr.2020.106278. [ Links ]

4. Chi-Yin, C., Hong-Va, L., Chan, A. T. S. (2007). GroCoca: Group-based peer-to-peer cooperative caching in mobile environment. IEEE Journal on Selected Areas in Communications, Vol. 25, No. 1, pp. 179–191. DOI: 10.1109/jsac.2007.070118. [ Links ]

5. Chow, C. Y., Leong, H. V., Chan, A. (2004). Peer-to-peer cooperative caching in mobile environments. Proceedings of the 24th International Conference on Distributed Computing Systems Workshops, pp. 528–533. DOI: 10.1109/icdcsw.2004.1284083. [ Links ]

6. Esquivel, E. E. B., Rivero-Angeles, M. E., Orea-Flores, I. Y. (2014). Performance analysis of bittorrent-like P2P networks for video streaming services at the chunk level. Proceedings of the IEEE 28th International Conference on Advanced Information Networking and Applications, pp. 806–812. DOI: 10.1109/AINA.2014.98. [ Links ]

7. Karaata, M., Al-Mutairi, A., Alsubaihi, S. (2022). Multipath routing over star overlays for quality of service enhancement in hybrid content distribution peer-to-peer networks. IEEE Access, Vol. 10, pp. 7042–7058. DOI: 10.1109/access.2021.3139936. [ Links ]

8. Kumar, D., Pandey, M. (2022). An optimal load balancing strategy for P2P network using chicken swarm optimization. Peer-to-Peer Networking and Applications, Vol. 15, No. 1, pp. 666–688. DOI: 10.1007/s12083-021-01259-3. [ Links ]

9. Kumar, N., Lee, J. H. (2014). Peer-to-peer cooperative caching for data dissemination in urban vehicular communications. IEEE Systems Journal, Vol. 8, No. 4, pp. 1136–1144. DOI: 10.1109/jsyst.2013.2285611. [ Links ]

10. Ma, Z., Qiu, D. (2009). A novel optimistic unchoking algorithm for bittorrent. Proceedings of the 6th IEEE Consumer Communications and Networking Conference, pp. 1–4. DOI: 10.1109/CCNC.2009.4784859. [ Links ]

11. Petrovic, S., Brown, P. (2009). Large scale analysis of the eDonkey P2P file sharing system. Proceedings of the IEEE International Conference on Computer Communications, pp. 2746–2750. DOI: 10.1109/infcom.2009.5062224. [ Links ]

12. Qiu, D., Sang, W. (2008). Global stability of peer-to-peer file sharing systems. Computer Communications, Vol. 31, No. 2, pp. 212–219. DOI: 10.1016/j.comcom.2007.08.012. [ Links ]

13. Qiu, D., Srikant, R. (2004). Modeling and performance analysis of bittorrent-like peer-to-peer networks. ACM SIGCOMM Computer Communication Review, Vol. 34, No. 4, pp. 367–378. DOI: 10.1145/1030194.1015508. [ Links ]

14. Singh, S. K., Kumar, C., Nath, P. (2022). Resource-cardinality based scheme to reduce resource lookup cost in structured P2P networks. Wireless Personal Communications, Vol. 125, No. 4, pp. 3351–3377. DOI: 10.1007/s11277-022-09714-x. [ Links ]

Received: October 16, 2023; Accepted: November 21, 2023

* Corresponding author: Luis Alberto Holgado-Apaza, e-mail: mriveroa@ipn.mx

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License