Ant-based Load Balancing Algorithm in Structured P2P Systems
1
Wei Mi,
2Chunhong Zhang,
3Xiaofeng Qiu
Beijing University of Posts and Telecommunications, Beijing 100876, China,
{miwei1985, zhangch.bupt.001, qiuxiaofeng}@gmail.com
Abstract
Dynamic load balancing is one key adaptation mechanism often deployed in networking and computing systems. Numerous proposals exist for load balancing in P2P networks. All of them will enhance the availability of P2P system to some extent. However, their convergence rate is still low, and the load collection overhead and load transfer overhead are high. In this paper, we propose an ant-based load balancing algorithm, and design a candidate nodes discovery mechanism and a target nodes selection mechanism. Two types of agents are cooperating to realize these mechanisms: Search ant and Guide ant. Performance evaluation shows that, to achieve some specific load balancing effect, compared to the classical algorithms, the convergence rate, the load collection overhead and load transfer overhead of our proposed algorithm are significantly reduced; In addition, this paper analysis how system and algorithm parameters affect the performance of proposed algorithm in depth.
Keywords
: P2P, DHT, Load balancing, Ant colony optimization, Search ant, Guide ant1. Introduction
Decentralized structured overlays and distributed hash tables (DHT) proffer a unique vision of computing: a collection of computing and communication resources shared by active users. However, nodes are heterogeneous, workload assigned to system may be heavy-tailed, node availability and churn rates may change over time. Load balancing is a key step towards adapting to these characteristics and ensuring the reliability and availability of the systems.
There is a large body of literature on load balancing schemes of DHT system. The basic idea of all algorithms is based on the real-time load condition of some part or all DHT system, to design the load re-assign or load transfer algorithm. Therefore, the evaluation index of load balancing algorithms include: load balancing effect, load balancing overhead. Here, load balancing overhead can be divided into load information collection overhead and load transfer overhead, the speed of load information collection and load transfer reflect the convergence rate indirectly.
According to the different entity which is responsible for collecting real-time load conditions and generating load re-assign or load transfer algorithm, the DHT load balancing can be divided into two categories: centralized and decentralized dynamic load balancing algorithm.
Centralized load balancing algorithm [1-6] can be divided into all-centralized and semi-centralized load balancing. In all-centralized load balancing scheme, a central node is responsible for collecting real-time load conditions and generating load re-assign or load transfer algorithm for global system; in the semi-centralized load balancing scheme, multi-central nodes are respectively responsible for collecting real-time load conditions and generating load re-assign or load transfer algorithm for local system. In the centralized model, although the load collection and redistribution centers can provide efficient global or local optimal allocation strategy, these centers can easily cause single point failure and the system performance bottleneck in large-scale dynamic systems, because the overhead of load information collection and load distribution strategy implementation is huge.
In the decentralized load balancing schemes [1-2, 7-10], the load transfer nodes need to detect the load distribution of the system, then based on the detected load conditions, to achieving load balancing effect, they need to change their ID or transfer their some part load. In this model, decentralized load balancing scheme can avoid the single point failure, but its convergence rate is higher caused by the blindness of the load detection. The load effect is much closer to global or local optimal one, the load information collection overhead is much greater.
In this paper, based on the analysis of advantages and disadvantages in centralized and decentralized load balancing algorithm, we propose an Ant-based load balancing in Structured P2P network,
This work is supported by China-Finland Cooperation Project (No. 2010DFA12780), National Key Program (No.
2011ZX03005-abbreviation ANT-algorithm. ANT-algorithm makes a compromise between the load balancing effect and balancing cost, and is greatly improved in scalability, adaptability and robustness. Such advantages of ANT-algorithm are as following:
1) algorithm relies on all nodes in the system, so it can avoid a single point failure; ANT-algorithm introduce the parameters of load balancing effect and balancing overhead into the load transfer nodes selection, it is a fundamental tradeoff between the load balancing effect and balancing overhead. So, this algorithm is more suitable for the actual system requirements.
2) Based on ant colony optimization, a load transfer nodes selection technique is proposed in
ANT-algorithm. This is a non-direct cooperation way, it can avoid the blind search and
improve system convergence rate, which is greatly improved in extensibility. Compared to the proposed centralized and decentralized load balancing schemes, the load information collection overhead of ANT-algorithm is significantly reduced.
3) During the process of load transfer node selection, ANT-algorithm not only consider the load state of node, but also introduce a delay in the link between nodes which can avoid the load transfer on the large link delay between nodes, so ANT-algorithm can reduce the load transfer costs;
4) ANT-algorithm selects the available load of nodes as pheromone whose update is complete with the DHT routing table update. It does not need any additional structures to collect load information which enhance the system robustness, and it can solve the slow convergence problem which is caused by no significant differences of pheromone in the initial ant colony optimization.
The rest of this paper is structured as follows. The related work is presented in Section 2. Section 3 describes the ANT- algorithm. We evaluate performance of the proposed load balancing algorithm in Section 4. Finally, we conclude and present future work in Section 5.
2. Related work
As previous description, the basic idea of DHT load balancing algorithm is design the load re-assign or the load transfer algorithm based on the real-time load state collection of the whole or partial system. According to the different entity which is responsible for collecting real-time load conditions and generating load re-assign or load transfer algorithm, the DHT load balancing can be divided into two categories: centralized and decentralized load balancing algorithm. The difference of these methods is the specific load information collection and load re-assign or load transfer program.
In centralized dynamic load balancing model, reference [1, 2] provides one or more directory nodes which are responsible for collecting the load information and generating the load transfer schemes. A directory node periodically calculates load information of random nodes in the system and achieves load balancing through transferring virtual servers. Reference [3] builds a structure on top of the P2P: k-ary tree, which is responsible for the collection and the release of node information, as well as the transfer strategy of virtual server. Reference [4] the system is divided into several rings, each ring represents a region. To begin with, it balances the load in each ring. If not fully balanced, it will balance the load among the rings. There is a super-node in each ring which is responsible for the load state collection and the load re-assign.
In decentralized dynamic load balancing model, reference [1, 7] clones a node into multiple virtual servers, the number of virtual servers is proportional to some performance parameters, such as computing power; each virtual server acts as a node in the logical space and responsible for the corresponding space; the capacity of node is stronger, the number of its virtual servers is more, the proportion of its shared resource space is greater, so it will gain more request load. Reference [9] provides two methods to adjust the node mapping space: first, a node has multiple virtual servers, but only one of them become active at any time, it can connect to other nodes randomly and split the load space of the heavy-loaded nodes to balancing the load; second, to achieve the load balancing, it change the ID of the light-load node which make it share the load of the heavy-load node. Reference [10] also uses the similar method.
In this paper, the proposed algorithm is based on Ant colony optimization (ACO). ACO is a novel evolutionary algorithm, which has the characteristics such as positive feedback, distributing computing and the use of a constructive heuristic etc. And these features quite match the demands of network
optimization, some ant-based algorithms have been proposed for many application[12-13], such as mobile
3. Ant-based Load Balancing in DHT Systems
This paper adopts ant colony optimization to design the ANT-algorithm. It includes the candidate nodes discovery mechanism and target nodes selection mechanism. Specially, two types of agents cooperate to realize these mechanisms: Search ant and Guide ant. Search ant simulates the food-seeking behavior of ants that searches for light-nodes. Guide ant is responsible for managing a candidate light-load node list, instructing source node to select target nodes. In this section, the related definition, data structure of search and guide ants, candidate light-load nodes discovery mechanism, target node selection mechanism and overall process of load balancing algorithm will be presented.
3.1. Related Definitions
Definition 1 Node Capacity (C)
The factors that affect the load capacity of the node, such as CPU speed, storage capacity, delay, bandwidth, and so on, are unified as one resource.
C=P CPU( ) * 1w +P Space( ) * 2w +P Memory( ) * 3w +P IO( ) * 4w +P BandWidth( ) * 5w (1)
Where wi represents the weight of each factor; P(x) represents the value of factor x’s capacity.
Different application systems have different weight of each factor.
Definition 2 Node Load (L).
In DHT network, the load of nodes is the demand for capacity.
L=L(CPU) * 1 L(w + Space) * 2w +L(Memory) * 3w +L(IO) * 4w +L(BandWidth) * 5w (2)
Where wi represents the weight of each factor; L(x) represents the value of factor x’s load.
Definition 3 Utilization Rate (μ/m)
Node utilization rate μ refers to the ratio of load of node L to its largest carrying capacity C, that is,
μ=L/C. Node utilization rate describes the situation of the current node load.
System utilization rate mrefers to the ratio of all the nodes’ load in the system to the largest
carrying capacity, which represents the total load situation of network. It can be described as i=1 i=1 = ( ) / ( ) N N L i C i m
å
å
(3)Definition 4 Load Deviation Rate (e)
It can be described as the difference between utilization rate of node and system utilization rate.
e=m-m
(4)
Definition 5 Physical Distance (D)
In this paper, we adopt the delay(a,b) as the physical distance between node a and b. It can be achieved
by network coordinates or actual network measure. In this paper, the physical distance of the simulation uses the real data of the delay measure: P2PSim data sets.
3.2. Data Structure of the Search and Guide ants
Based on the different tasks performed by the ants, there are two types: Search ant and Guide ant. Search ant simulates the food-seeking behavior of an ant that searches for light-nodes. Guide ant is responsible for managing a candidate light-load node list, instructing source node to select target nodes.
Search ant is generated by the source node whose e reach some setting threshold, that find
candidate light-load nodes in the DHT. Each search ant has a tabu list to record the visited nodes which
prevent repeat visit nodes and a maximal survival time TTL. Guide ant generated by candidate
light-load node or node whose search ant’s TTL is 0. Guide ant is responsible for managing a candidate
light-load node list that consists of pheromone and physical distance (delay).
Table 1. Structure table of search ant
Ant Id Restricted
condition
Source Node
Taboo list Delay list Pheromone
list
Survival time
AntID res(m) s.t FN tabu list Ds list Info list TTL Table 2. Structure table of guide ant
Ant Id Source Node Candidate nodes
list
Delay list Pheromone
list
AntID FN Candi list Ds list Info list
3.3. Candidate Light-load Nodes Discovery Mechanism
In DHT systems, the specific circumstance of node’s load is unknown, and nodes are heterogeneity. Adopting ant colony optimization algorithm, we can find candidate light-load nodes in the unknown load distribution system, and choose the suitable one or more nodes to data migration. In this section, we will elaborate the candidate node discovery mechanism from the following aspects: the generation and update of the pheromone, the routing mechanism and life-span control policy of Search ant.
3.3.1. Generation and Updating of Pheromone
Pheromone plays an important role in the candidate node discovery mechanism. It guides the route direction of search ant. Therefore, pheromone must fully reflect the node load. This paper defines
the pheromone ph(i) as the available capacity of node i , that is, ph(i)=C(i)-L(i).
How to generate and update pheromone is a key. For faster speed and lower cost, updating of pheromone is complete with DHT node routing table update process. The specific process is:
(1) Source node S sends route table update message;
(2) On receiving routing table update message, node i reply message with available capacity ph(i);
(3) On receiving a reply message, node S records nodes’ information in the routing table entry. This generation and update mode does not need any additional structures to collect load information. It solves slow convergence problem caused by no significant differences of pheromone in the initial.
3.3.2. Routing Mechanism of Search Ant
Pheromone is the core of the solution based ant colony optimization, which represents some prior knowledge, and its size represents the load balancing effect. Delay is also introduced in routing selection as a heuristic factor, which guaranteeing the load transfer overhead. Therefore, both pheromone and heuristic must be considered in DHT routing. Suppose that node i receives search ant k,
node i will select the neighbor node j as next hop by forward probability pk(i, j).
( ) ( ) *(1/ ( )) ( ) *(1/ ( )) k , ( ) 0 & & ( ) ( ) p (i 0, u routingTable i ph j delay j
ph u delay j ph j j routingTable i tabu k
others a b a b Î ì > Î -ï å í ï î , j ) = (5)
Where, ph(j) represents the phenomenon value of node j; delay(j) represents the heuristic value of
node j; α and βis the relative important factor of pheromone and heuristic; routingTable(i) identifies
the routing table entry of node i; tabu(k )is the taboo list of search ant k.
3.3.3. Life-span Control Policy
In this algorithm, the survival time of search ant is controlled by life-span control policy. To
generate the Search ant, TTL will be set an initial value and minus one with every hop forward. When
a node receives a search ant, the control of its life cycle as follows:
(1) If the current node meets the restrictions, it should generate guide ant, update the TTL of search
ant to 0 by force, and end forward search ant.
(2) If its all neighbor nodes are in tabu list of search ant, this node should generate guide ant, update
(3) If neither the current node meets the constraints, nor all neighbors are in tabu list of search ant,
then it should update search ant TTL to TTL=TTL-1; and according to the formula (5), this node
chooses neighbor node whose forward probability is largest as the next hop, and forwards search ant.
In the first case, search is ended as long as candidate node is found. In the other case, if TTL is
0, target transfer nodes should require two or more candidate light-nodes to share the overloaded load.
3.4. Target Node Selection Mechanism
Source node takes the candidate light-load nodes from guide ant as a node list M, and chooses the optimal set of one or more light-load nodes from list M. The metrics should consider two factors: 1) load balancing effect, here, may be expressed in the standard deviation of e. 2) load migration overhead, here, may be expressed in the bandwidth consumption for transfer load.
The objective function (obF) for target node selected and the constraints (s.t.) as follows. 2 2 1 1 1 _ ( m ) _ 1 * ( ) ( ) * * ( ) M M m M Load transfer Load transfer m A e m e s B rep m + = = + å å obF= (6) 1 _ ( ) * ( ( ) ( )) . . ( ) _ ( ) ( ) * _ (m) _ M m
Load transfer C s e s threshold e
s t m M L m Load transfer m C m
Load transfer Load transfer
m = ì ü ï ³ - ï ï ï ï ï " Î + £ í ý ï ï ï ³ ï ï ï î
å
þ (7)The selected target nodes (lists) are the candidate nodes who meet s.t. and their obF is largest. In
formula (6,7), where A and B are the weight of load deviation rate and service reputation;
Load_transfer is total load which source node transfers out; Load_transfer(m) is the load of node m receives. The constraints are as follows: lode deviation rate of overloaded node can drop
below threshold(e), lode deviation rate of light node can’t exceed 0.
3.5. Overall Process of Load Balancing Algorithm
Once source node FN’s load deviation rate e reach threshold(e), the flow is as follows:
(1) Node FN generates kth (k is initialized to 1) Search ant, and sets ant ID, constraints, node FN’s
information (address, physical distance etc) and TTL;
(2) According to the formula (5), node FN chooses the neighbor whose forward probability is
kth largest as the next hop, and forwards search ant k;
(3) On receiving ant k, node DN puts its ID, pheromones and delay into the data structure of ant k.
According to s.t., node DN judges whether it is a valid candidate node;
a. If node DN meets the s.t., it should generate guide ant which return to node FN directly, update
the TTL to 0 by force, and end forward search ant k.
b. If node DN does not meet the s.t., and all neighbors are in tabu lists, it should generate guide ant
which return to node FN directly, update the TTL to 0 by force, and end forward search ant k.
c. If neither node DN meets the s.t., nor all neighbors are in tabu list of search ant, it should update
TTL to TTL=TTL-1; If TTL=0, node DN generates guide ant which return to node FN directly,
otherwise, according to the formula (5), node DN chooses the neighbor whose forward probability is largest as the next hop, and forwards search ant, then go to step (3).
(4) On receiving guide ant, source node FN should make all candidate node forms list, and selects target nodes who meet formula( 7) and the value of formula (6) is largest, then doing data migration.
(5) Source node FN calculates the new load deviation rate e, if e>threshold(e), then k=k+1, go to
step (1); Otherwise the algorithm is end.
4. Performance Evaluation
In this section, we set some goal for load balancing effect using a list of threshold(e). For each
information overhead and load transfer overhead among ANT-algorithm-algorithm , O2O-algorithm [2]
(classic decentralized load balancing) and M2M-algorithm [2] (classic centralized load balancing) in
Chord context, and evaluates how system and algorithm parameters affect the performance of ANT-algorithm-algorithm. Parameters used in this section are listed in Table 3 and Table 4.
Table 3. Basic experiment parameters
Parameters Description Value
N node number [21,216] Load System load 106
C node’s capacity [0.5 C ,2 C ] delay(a,b) the delay between
node a and b
m Node utilization rate
[0,1]
Table 4. Balancing algorithm parameters
Parameters Description Value
threshold(e) the threshold of e [0,1] TTL maximal survival time log2N
α the relative importance factor of pheromone
[0,1]
β the relative importance factor of heuristic
[0,1] dNum directory nodes number log2N
4.1. Performance comparison and analysis with the classical algorithm
In ANT-algorithm, once node’s e>threshold(e), it should execute to search for suitable light-load
nodes to data migration; In O2O-algorithm, light-load nodes, whose μ< m, should random detect node
periodically, if the node’s e>threshold(e), light-load node will do data migration from this node; In
M2M-algorithm, the assignment of loads is typically performed by one or more directory nodes, a directory node periodically receives nodes’ load information and executes the load balancing algorithm.
4.1.1. Load Balancing Effect
To evaluate load balancing effect, we compare the load distribution in ANT-algorithm, O2O, M2M
algorithms and without load balancing. Load distribution is also compared among different threshold(e)
(0.1, 0.2, 0.3, 0.4), N=210, m=0.4. And the simulation runs under different capacity settings.
-0.50 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.2 0.4 0.6 0.8 1
Load deviation rate e
F (e) threshold(e)=0.1 -0.50 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.2 0.4 0.6 0.8 1
Load deviation rate e
F (e) threshold(e)=0.2 -0.50 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.2 0.4 0.6 0.8 1
Load deviation rate e
F (e) threshold(e)=0.3 -0.50 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.2 0.4 0.6 0.8 1
Load deviation rate e
F (e) threshold(e)=0.4 No load-balancing ANT-algorithm O2O-algorithm M2M-algorithm No load-balancing ANT-algorithm O2O-algorithm M2M-algorithm No load-balancing ANT-algorithm O2O-algorithm M2M-algorithm No load-balancing ANT-algorithm O2O-algorithm M2M-algorithm
Figure 1. Cumulative Distribution Function of e. N=210
Fig. 1 shows the empirical CDF of e. As shown, maximum e is reduced a lot when using load
balancing algorithm, and three algorithms can balance the nodes load below threshold(e). However,
minimum e of M2M-algorithm is slightly bigger than the other two algorithms; in O2O-algorithm, the
proportion of nodes whose e>0 is obviously lower than the other two algorithms, and it is equal in the
other two algorithms. It means that compared with classical decentralized load balancing algorithms, algorithm is more efficient; compared with classical centralized load balancing algorithms, ANT-algorithm share many characters in common, and differ in relatively minor characters.
For balancing system load, all solutions have to collect the load information and adjust the load through transferring data or virtual servers, which results in increasing load information collection overhead and load migration overhead a lot. Consequently, we will evaluate load collection overhead and load migration overhead. Here, load collection overhead is evaluated with the DHT routing hops for load collection per heavy-node which could also represent the convergence rate of the system; load migration overhead is evaluated with bandwidth consumption for transfer load, transfer load times delay. As shown in Fig. 2, experimental results as follows:
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 20 40 60 80 100 120 140 threshold(e) DHT ro u ti n g h o p s fo r lo ad co ll ecti o n p er h eavy n o d e
load collection overhead
0.1 0.15 0.2 0.25 0.3 0.35 0.4 1 2 3 4 5 6x 10 9 threshold(e) tran sfer lo ad * d el ay
Load migration overhead ANT-algorithm O2O-algorithm M2M-algorithm ANT-algorithm O2O-algorithm M2M-algorithm
Figure 2. The load balancing Overhead
(1) The mean of the DHT routing hops load collection per heavy nodes for ANT-algorithm, O2O
and M2M algorithms are distributed in [15,20], [25,45], [110,140] range respectively, indicating that
ANT-algorithm can reduce the load collection overhead. Because it is a non-direct collaboration way, blind search services can be avoided. So, it can improve the convergence rate of the system.
(2) The data migration overhead of our ANT-algorithm is lower than the other two algorithms obviously. It is because that candidate nodes discovery mechanism introduces physical distance, and target node selection mechanism makes a compromise between load balancing effect and overhead.
4.2. The Effect of System and algorithm parameters on algorithm performance
This section analysis how system and algorithm parameters affect the performance of proposed algorithm in depth. It is evaluated with following considerations:
(1) This simulation analysis how the system size and load balancing requirements affect the
performance of ANT-algorithm. Here, load balancing requirement is expressed by threshold(e),
range [0.1, 0.4], the interval value is 0.05; system size N is in the range of [21, 216].
(2) Mechanism based on Ant Colony contains some adjustable parameters. However, the values
of these parameters are not strictly theoretical guidance. So, it needs to determine the
optimal parameter through several experiments. In formula (5), [α, β] is important to ANT-algorithm, so, in simulation, the value of [α, β] is [0.4, 0.6], [0.5, 0.5], [0.6, 0.4], [0.8, 0.2] respectively.
(3) Different algorithm parameters [α, β], with the change of threshold(e) or N, this paper analysis
the load balancing effect and overhead.
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.05 0.1 0.15 0.2 0.25 threshold(e) L o ad d evi ati o n rate (stan d ard d evi ati o n )
Load balancing effect
0.1 0.15 0.2 0.25 0.3 0.35 0.4 18.8 19 19.2 19.4 19.6 threshold(e) DHT ro u ti n g h o p s fo r lo ad co ll ecti o n p er h eavy n o d e
Load collection overhead
0.1 0.15 0.2 0.25 0.3 0.35 0.4 1 2 3 4 5x 10 10 threshold(e) T ran sfer lo ad * d el ay
Load migration overhead
a=0.4;b=0.6 a=0.5;b=0.5 a=0.6;b=0.4 a=0.8;b=0.2 a=0.4;b=0.6 a=0.5;b=0.5 a=0.6;b=0.4 a=0.8;b=0.2 a=0.4;b=0.6 a=0.5;b=0.5 a=0.6;b=0.4 a=0.8;b=0.2
100 500 900 1300 1700 0.148 0.15 0.152 0.154 0.156 0.158 0.16 N L o ad d evi ati o n rate (stan d ard d evi ati o n )
Load balancing effect
100 500 900 1300 1700 12 14 16 18 20 22 N DHT ro u ti n g h o p s fo r lo ad co ll ecti o n p er h eavy n o d es
Load collection overhead
100 500 900 1300 1700 2.6 2.8 3 3.2 3.4 3.6 3.8x 10 10 N T ran sfer lo ad * d el ay
Load migration overhead
a=0.4;b=0.6 a=0.5;b=0.5 a=0.6;b=0.4 a=0.8;b=0.2 a=0.4;b=0.6 a=0.5;b=0.5 a=0.6;b=0.4 a=0.8;b=0.2 a=0.4;b=0.6 a=0.5;b=0.5 a=0.6;b=0.4 a=0.8;b=0.2
Figure 4. Simulation results under different N and algorithm parameter [α, β] As shown in Fig. 3 and Fig. 4, experimental results are as follows:
(1) threshold(e) represents the load balancing requirements, so, threshold(e) becomes greater, the load balancing effect becomes worse and the load balancing overhead decreases.
(2) With changing of the system size N, load balancing effect and overhead appear to be leveling off.
While the fluctuation of load collection overhead is relatively large, because as N increases,
the ant's TTL is is logarithmic growth. So ANT-algorithm has a good scalability.
(3) In the candidate node discovery mechanism, α, β represent the relative importance of available
capacity and delay respectively. With the increase of α (decrease of β), load balancing effect appears a
good trend, the convergence rate becomes faster, and load balancing overhead is increased.
5. Conclusions
This paper has presented an Ant-based load balancing in structured P2P network called ANT-algorithm. Considering load balancing effect and overhead, it designs a candidate nodes discovery mechanism and a target nodes selection mechanism. Two types of agents are cooperating to realize these mechanisms: Search ant and Guide ant. Performance evaluation shows that, compared to the classical algorithms, the convergence rate and load balancing overhead are significantly raised. In the future, based on the collected load information, we still need to develop systemic analysis for the specific load adjustment schemes.
6. References
[1] Rao A, Lakshminarayanan K, Surana S, Karp R, and Stoica I, “Load Balancing in Structured P2P
Systems”, Peer-to-Peer Systems II, Springer, vol.2735, pp.68-79, 2003.
[2] Godfrey B, Lakshminarayanan K, Surana S. and Karp R. and Stoica I, “Load balancing in dynamic
structured P2P systems”, INFOCOM 2004, IEEE, vol.4, pp.2253-2262, 2004.
[3] Zhu Y, Hu Y, “Efficient, proximity-aware load balancing for DHT based P2P systems”, IEEE
Trans. on Parallel and Distributed Systems, vol. 6, no. 4, pp. 349-361, 2005.
[4] Bienkowski M, Korzeniowski M, der Heide F, “Dynamic load balancing in distributed hash
tables”, Peer-to-Peer Systems IV, Springer, vol. 4, pp. 217-225, 2005
[5] PENG Limin, XIAO Wenjun, “A Binary-Tree based Hierarchical Load Balancing Algorithm in
Structured Peer-to-Peer Systems”, JCIT, Vol. 6, No. 4, pp. 42-49, 2011.
[6] Wei Mi, Chunhong Zhang, “An Effective Load-Balancing Algorithm SDYA for Structured P2P
Systems”, Journal of Beijing University of Posts and Telecommunications, vol. 33, no. 5, pp. 116-120, 2010.
[7] Dabek F, Kaashoek M.F, “Wide-Area Cooperative storage with CFS”, ACM SIGOPS Operating
Systems Review, vol. 35, no. 5, pp. 202-215, 2001.
[8] Godfrey P.B, Stoica I, “Heterogeneity and load balance in distributed hash tables,” INFOCOM
2005, IEEE, vol. 1, pp.596-606, 2005.
[9] Karger D, Ruhl M, “Simple efficient load balancing algorithms for peer-to-peer systems”, In
LNCS, 131-140, 2005.
[10]Shen H, Xu C.Z, “Locality-aware and churn-resilient load-balancing algorithms in structured
peer-to-peer networks”, IEEE Transactions on Parallel and Distributed Systems, IEEE, vol. 18, no. 6, pp. 849-862, 2007.
[11]WANG Bin, SHEN Qing-guo, “An Effective Algorithm for Hierarchical P2P Load Balancing”, JCIT, Vol. 6, No. 5, pp. 231-236, 2011.
[12]Ducatelle F, Di Caro G, “Ant agents for hybrid multipath routing in mobile ad hoc networks”, In
2th Annual Conference on Wireless On-demand Network Systems and Services, pp. 44-53, 2005.
[13]Khan S.A, Engelbrecht A.P, “A fuzzy ant colony optimization algorithm for topology design of