Topology Management in Heterogeneous P2P Overlay Networks ...

3 downloads 2452 Views 2MB Size Report
The robustness of such a heterogeneous P2P overlay network is ... Although topology management and network monitoring are the two main topics of ..... [16] L. A. Katherina and M. Kaufmann, "Random Graphs, Small-Worlds and Scale-Free.
Topology Management in Heterogeneous P2P Overlay Networks

Fei Peng, Apostolos Malatras, Michèle Courant, Béat Hirsbrunner Technical Report 09-05 Department of Informatics, University of Fribourg, Switzerland Email: [email protected], [email protected], [email protected], [email protected]

Abstract The deployment of wireless communication technologies has led to significant research in the area of heterogeneous network management. Pervasive computing applications based on networks with both wired and wireless connections involve collections of heterogeneous and resource-limited devices, typically operated over ad-hoc, completely decentralized networks and without requiring dedicated infrastructure support. Peer-to-peer overlay networks constructed on top of such infrastructures is a prominent approach to mitigate the drawbacks brought by such pervasive networks such as dynamicity, heterogeneity and complexity. This report presents a series of experiments based on BlatAnt, a fully distributed and adaptive algorithm inspired by Ant Colony Optimization (ACO). It manages the topology of P2P overlays by bounding its diameter within a user-defined limit. Our experiments included both confirmatory tests and exploratory tests; the latter one formed the basis for our studies of a new research topic which focuses on the management of dynamic heterogeneous networks.

1. Introduction Peer-to-peer overlays form the substrate of diverse peer-to-peer applications. These systems provide a powerful platform for the construction of a variety of decentralized services, especially for pervasive scenarios. With its outstanding stability and robustness, peer-to-peer overlays allow applications to locate an object in a probabilistically bounded network hops, while requiring pernode routing tables with only a small number of entries. Moreover, the systems are scalable and fault tolerant [1]. New generations of applications, in terms of the mobility and heterogeneity, aided by the global presence of the Internet infrastructure, are and will continuously be playing a critical role in the Peer-to-Peer overlay network. Such increasing reach is making the demand for robust operation of such systems more necessary than ever. Failures or anomalies in these systems can have enormous cost and serious consequences. On the other hand, the dramatic increase in heterogeneity of the networked devices such as handhelds and embedded computers is making the building of integrated information systems ever more challenging. The robustness of such a heterogeneous P2P overlay network is critical, especially for highly dynamic scenarios. To ensure this, a flexible yet powerful network monitoring and topology management mechanism should be devised to serve as the foundation of P2P overlay network management. It monitors the status of every node and the whole network, and provides necessary data to support the decision making of the overlay management mechanisms.

1

BlatAnt [2] is a distributed and adaptive algorithm inspired by Ant Colony Optimization (ACO) [3] to create overlay networks with small diameter by adding and removing logical links. In contrast to most existing methods, it is dynamic and can be used in evolving networks. Simulation results show that its approach produces and maintains networks with bounded diameter. In this report, we present a series of our experiments based on BlatAnt. Our experiments were divided into two parts. The first part is composed of repetitive experiments aimed at familiarising ourselves with the configuration algorithm and also at gaining an in-depth understanding of the rewiring process. Moreover, we made a comparison between the original result set and the one obtained using our testing environment. The second part consisted of experiments with alternated parameters. This part gave us indications about any possible improvements to the BlatAnt algorithm and its adoption to suit dynamic environments. Through the above mentioned experiments, we aim at draw a first conclusion on the adaptability of the current BlatAnt algorithm and subsequently give a proposal of a new algorithm inspired by BlatAnt, which should be suitable for a dynamic overlay network comprised of heterogeneous devices.

2. State of the Art This section presents our studies about the state-of-the art relating to the background of our experiments: swarm computing for network management. In recent years, applications based on pervasive networks are playing an increasingly important role in the evolving of Peer-to-Peer systems. Such paradigms have put diverse requirements for both the overlay network and its underlying infrastructure, especially in terms of robustness, mobility and heterogeneity. To ensure this, flexible yet powerful routing, load balancing, topology management algorithms and network monitoring mechanisms are being widely studied by different research groups worldwide. Although topology management and network monitoring are the two main topics of our future research, in order to achieve the goals and satisfy requirements set by the BioMPE project, other relating factors contributing to network performance should also be considered and studied. The concept of Swarm Intelligence was first introduced by Gerardo Beni and Jing Wang 20 years ago [4]. Among them, a series of promising results are noteworthy and of great consequence to nowadays research. Agent-based Modelling and Simulation is a new approach to modelling systems comprised of autonomous, interacting agents. [5] describes its theoretical and practical foundations, identifies toolkits and methods for developing ABMS models, and provides insight on the relationship between ABMS and traditional modelling techniques. Agilla [6] is a mobile agent middleware that enables the rapid deployment of adaptive applications in wireless sensor networks (WSNs). It allows users to create and inject mobile agents into WSNs. They coordinate through local tuple spaces, and migrate across the WSN performing application-specific tasks. Chord [7] is a distributed lookup protocol for efficient location of a node that stores a desired data item, which is a fundamental problem that confronts peer-to-peer applications. eXtreme-Ants addresses the problem of multi-agent task allocation with a large number of agents with overlapping functionality operating in dynamic environments with possible inter-task constraints [8]. In [9], a grid information system supported by a self-structured overlay topology and proactive information caching is presented. The proposed approach featured an ant-inspired selforganized overlay construction that maintains a bounded diameter overlay, and a selective flooding based discovery algorithm that exploits local caches to reduce the number of visited nodes. Routing in P2P overlay networks, especially in a pervasive environment implies different decision factors. An autonomic routing framework for sensor networks is presented in [10]. It proposes an autonomic framework to promote the adaptivity of routing services in sensor networks by maintaining some feature functions that are decoupled from originally-integrated routing services. This separation enables significant service changes to be done by only tuning these functions. Mavromoustakis et al. developed a swarm control method for optimizing multiclass priority routing over active networks using a bandwidth clustering approach [11]. A 2

framework for the crucial challenge of self-organization of any large scale fixed sensor network is proposed in [12]. It allows self-organization of the swarm entities in the network, setting the stage for global routing and tracking algorithms.

3. BlatAnt Experimentation 3.1 Motivation of Experiments The “small-world phenomenon” was first observed in the 1960s by Stanley Milgram [13]. It stated that in the real world two people are connected by a limited number of links with high probability. This situation could be mapped to a graph with short paths between nodes. Furthermore, Watts and Strogatz analysed different kinds of real networks and gave a very simple network model that is able to reproduce the small-world phenomenon on a regular graph [14]. According to their model, by rewiring uniformly at random a small amount of edges, the diameter of the graph can be dramatically reduced to the same order of a random graph which has the same number of nodes and edges, while the clustering coefficient doesn't change significantly. Clustering coefficient C(p) denotes the average connectivity among nodes of the neighbour set Ni of node i in a graph. If ci is the number of neighbours of a node i, there are pi = ci (ci -1)/2 possible links between each pair of neighbours. Denoting ri the number of links that are really present among the neighbours of node i, then Ci = ri / pi is the proportion of real links to all possible links. Clustering coefficient C(p) is the average of Ci over all nodes. In computer networks, especially in P2P overlay networks for possible mobile pervasive environments, it is particularly interesting to be able to reach other nodes via limited number of hops. BlatAnt is a distributed algorithm that creates a P2P overlay on top of an existing network with a minimal number of new logical links in order to minimize its diameter [2]. It is fully distributed and does not need any prior knowledge of the network topology. In a series of evaluations reported in [15], BlatAnt gave encouraging results, which reduced the diameter of networks with only a reasonable number of new logical links. However, the results of an evaluation largely depend on the settings of parameters adopted. As a result, based on theoretical analysis, experiments with altered parameters can help in discovering the potential of an algorithm under different configurations of experiments. The remaining of this section is composed of three sub-sections. Section 3.2 of our experiments and the methods we adopted. Section 3.3 presents experiments. Section 3.4 gives a detailed discussion about our results. In propose some improvements to the BlatAnt algorithm, in the case when a dynamic network is considered.

describes the setup the results of the section 4, we will heterogeneous and

3.2 Rewiring rules of BlatAnt The algorithm rewires the network according to two simple rules. The first rule is used to create an edge if the distance between two nodes is greater than a user-defined threshold. The second rule is used to remove those edges that do not contribute to the solution. These rules only depend on a single integer parameter D > 0. For an in-depth explanation of these rules, please refer to [2]. Rule 1 (Connection Rule). Let ni and nj be two non-connected nodes in the network graph G, and dG(ni, nj) the minimal distance from ni to nj in G. We connect ni to nj if: dG (ni, nj) ≥ 2D − 1

(1)

Rule 2 (Disconnection Rule). Let ni and nj be two connected nodes in the network graph G, i ≠ j. Let G’ ← G \ {ni }, and Ni be the set of all nodes adjacent to ni. Node ni is disconnected from nj ∈ Ni if: ∃ nk ∈ Ni, k ≠ j : dG′ (nj , nk) + 1 ≤ D

3

(2)

3.3 Methods and Setup

Figure 1. Important parameters of BlatAnt

Our experiments were composed of two main parts. The first part was a series of validating experiments. The purpose of this part was to familiarise ourselves with both the configuration and the execution of the program, to gain an objective understanding of the rewiring process and to make a comparison between its original result set and the one obtained using our testing environment. This part was conducted with the following topologies: a path graph of 1024 nodes featuring a bus topology, a 2D grid of size 32x32 and a LAN of 1281 nodes. In every above mentioned scenario, a simulation run consisted of 600 to 1000 iterations, instead of 1280 iterations in the original evaluation, was carried out. An iteration means a complete migration of the entire population of ants. The reduction of the amount of iterations was due to the limitation of our computing resources at the time of these experiments. Despite the reduction, we assert that we can still draw a valid conclusion in terms of convergence. Each run was executed 10 times, in order to get average values. The second part involves experiments with alternated parameters. Alterations were made to them in order to acquaint ourselves with the potential impact of those parameters. More importantly, the second part will inspire us about any possible improvements to the BlatAnt algorithm and its adaptivity in dynamic environments. As the experiment took place on reliable networks, for the above two mentioned parts, ant colonies were created only at the beginning of each simulation run. Details on the parameter values used during all tests are listed in the following sub-sections. For meanings and usage of each parameter, please refer to [15]. Here we just give a brief description about important parameters: Target Diameter D – The expected diameter value of the overlay. The algorithm performs the link creation and link removing operations based on this parameter. Alpha Table αi – Each node ni has an αi table. It stores local information about the network by being constantly updated by ants. As the table has a fixed maximum size, old information is removed from the end of information queue. Pheromone coefficients 𝜹 𝒂𝒏𝒅 𝜳 – Pheromone is the bio-information left by ants. It constantly evaporates as time goes by. Ants coming from node ni to nj reinforces the pheromone concentration on both nodes. The strength of pheromone is the basis for decision making when ants choose their next destination. Moreover, if the pheromone of a node evaporates completely, the node is assumed to be dead, and a disconnection procedure is initiated.

4

Length of buffer lv – Each ant carries a buffer V which stores information of nodes visited by that ant. The information in buffer V will be exchanged with the information in α table in order to keep it up to date. lv is the length of buffer V.

3.4 Results and Analysis 3.4.1 Part one - Validating Experiments In part one, a series of validating experiments were carried out. In this part, as explained in the previous sub-section, we used the same parameters as the original ones. Values are listed in Figure 2. We tested the convergence of diameter, the total number of edges, average degree of nodes and the variance of node degree in the network. Our result was not as smooth as the original experiment. This was because we didn‟t repeat the experiment as many times as in the original case. However, as depicted in Figure 3, the results of our experiment are accordant with both the theoretical anticipation and the results of original evaluations. The diameter converges negative exponentially in all considered topologies.

Figure 2. Parameter setting of original evaluation

All results are below the upper bound 2D-1, which is 11 in this case. The LAN takes more iterations. This is because of the low connectivity in the original network. As a result, it requires a longer exploration phase in the first few hundreds of iterations. From Figure 3 we can also see that our experiments gave almost the same result set as the original one. This indicated two aspects. Firstly, the BlatAnt algorithm has good stability, which means that its behaviour is repeatable under the same settings. Secondly, our experimental environment satisfied the same condition as the one of original evaluations. In later experiments, we only give diagrams of our results. For results of original evaluation, please refer to [15].

Figure 3. Comparison of the convergence of diameter on different topologies between original evaluation (left) and new experiments (right). In order to facilitate the comparison, the diagram of the original one was truncated at the 600th iteration.

In order to reduce the diameter, a necessary number of logical links must be added. We measured the number of edges in the resulting graph. The number of edges grows up until the diameter reaches the limit. At this point, the number of new edges decreases and the graph becomes stable. 5

We suggest that this could be a point which can be improved in the future. Let us take the LAN as an example. The diameter converges down to less than 2D-1 just after the 220th iteration, thereafter it keeps below the threshold. Technically speaking, from this moment, we have already achieved our goal of suppressing the diameter below a certain value. After this point, the diameter didn‟t have significant reduction. However, it took more than 600 iterations to stop the edges from increasing. During this period, more than 1000 edges were added. It is negotiable whether so many new edges are needed to achieve only a small amount of improvement, especially in a heterogeneous and dynamic environments. As a result, considering the real network environment, we could investigate a mechanism to suppress the generation of new edges after a certain threshold. We also measured the evolution of mean degree and its variance under different topologies. The mean degree in LAN remains relatively low across the whole process while its variance increased at a higher rate compared to the other two. A high variance means that the distribution of degree in the graph fluctuates dramatically. Hence it was more likely that hubs were developed.

Figure 4. Number of edges and a side by side comparison with diameter.

Figure 5. Mean Degree

6

Figure 6. Variance

3.4.2 Part two – Experiments with Altered Parameters Having gained a better understanding of BlatAnt, we investigated the possible improvements of the algorithm. We carried out a series of experiments with selected changed parameters. 3.4.2.1 Target Diameter D Firstly, we set the target diameter D to 4 and 8 instead of the default value 6. In order to reduce the diameter of the network, new edges must be added. If we consider the whole network as a graph, these new edges can be regarded as “shortcuts” in the graph. Although theoretically only a small amount of new edges are enough to reduce the diameter of a regular graph [16], for real networks it could cost more, especially when there is a definite target diameter.

Figure 7 Diameter and number of edges under different target diameters D in a Grid-32*32 network

7

Figure 8a Diameters under different target D in a Path-1024 network

Figure 8b. Number of edges under different target D in a Path-1024 network

Figure 9 Diameter and number of edges under different target diameters D in a LAN-1281 network

8

From Figure 7 to 9 we found that the reduction rates were not only decided by the target diameters but also largely influenced by the initial topologies. Through the experiment runs, a common property we found was that reducing D from 6 to 4 did not cause any substantial change to both the diameters and numbers of edges. The two corresponding lines overlapped each other. Moreover, the lines of D=6 in all three topologies, and the one of D=8 in the first two topologies, converged to the same value with the line of D=4. In other words, even if we set D to 6, it has the same effect with D being set to 4 with regard to the values of diameter and edges. This observation implied that further optimisation is possible to the algorithm. In the near future we plan to carry out more detailed experiments with different D values. We will examine other side effects to the performance of the algorithm when D is changed. When D was set to 8, the diameters converged slower than the cases of D being 6 and 4. This was because a larger target diameter was more close to the initial diameter of our test topologies. Hence, according to rule (1) and (2) mentioned in section 3.2, less new edges were added while more existing edges were removed. This conclusion can be further approved by the plots of edges in Figures 7, 8 and 9. On the LAN-1281 network, the diameter converged much slower than the other two networks. In the paper of Amos Brocco et al. [15], this phenomenon was attributed to the low initial degree of connectivity. It forced ants to have a longer exploration phase before nodes with a sufficient distance were found [2]. 3.4.2.2 Size of α-table Secondly, we adjusted the size of α-table to 10 and 30 instead of 20. The α-table stores local information about the network. Data in the table is constantly updated by ants. On one hand, although the size of α-table is negligible compared to the available memory of nowadays devices, updating information and then deducing the local topology by this information can consume different computing resources. The overhead of the whole network is therefore affected. On the other hand, a smaller size of α-table means less information for each node to compute the local logical structure of its neighbours. Hence more iterations are likely to be needed in order to reach the designated diameter. Besides, a side effect of having more edges is the fact that they help in having more resilience and more failsafe operation. This could be an interesting research topic.

Figure 10 Parameter settings of the improved experiments

Figure 11 shows the evolution of diameters and edges with different size of α-table on a 32-by32-Grid network. Since the image of local topology is constructed based on local information only, the larger the size of alpha table, the better the local view of the network that can be constructed. From the plot we can see, the diameter of size 10, the smallest size among the three experiments, reduced at the lowest speed. It took twice the iterations compared with the default size (20). However, a noteworthy difference between size 10 and larger sizes was the number of new edges generated after the diameters had reached the targets. When the size of α-table was set to 10, the target diameter was achieved after some 120 iterations. In the same time, we have around 2400 edges in our graph. After this point, the number of edges should be controlled, which is not the case in our experiment. It continued rising to 4300 in the plot, and didn't show any signs of stopping in the following iterations. Contrarily, if we set the size of α-table to 20 or more, the number of new edges could be ideally controlled, especially for the case of 30. From the above analysis we can see that a larger size of α-table brought less number of iterations and fewer number of new edges to our experiment. So, does it necessarily mean that the larger sizes the better results? Figure 12 illustrated a comparison of CPU time between different size of 9

alpha table. Each bar represents the time needed to finish a 600-iteration simulation run under our testing environment. With the size set to 10, it took only 1 minute; conversely, with the size of 30, the time jumped to over 43 minutes. Here we must point out that this group of measurement data was based on the simulation runs on a single machine with synchronization between two iterations. The differences among the three bars were mainly decided by the complexity of local calculation instead of the overhead of the network. Increasing or reducing the size of α-table doesn‟t directly affect the network overhead. The comprehensive effect of changing the size of α-table in a real distributed environment is therefore another interesting research topic in our future research.

Figure 11 Diameter and Edges with different size of α-table

Figure 12 CPU time needed for a 600-iteration on Grid-32x32 with different maximum size of α table

10

3.4.2.3. Length of buffer v

Figure 13 Diagrams and Edges with different length of buffer V

In BlatAnt, a special species of artificial ants called discovery ants wanders across the network. They are responsible for collecting and spreading information about visited nodes. This information is carried by the ant in the form of a circular buffer V of length lV. Each time an ant arrives on a node, it interacts with the node and exchanges information about visited nodes. We took a series of experiments with the length of buffer V set to different values. Its default value was 15. We adopted two smaller values, 11 and 13 and a bigger value of 17 in our experiments. Figure 13 Diagrams and Edges with different length of buffer Vshows the corresponding effects on the diameter value and the number of edges. With the length set to 17, the diameter reduced at a faster rate. If we compare the number of iterations needed between lV = 15 and lV = 17 at the time of reaching the target diameter, we can easily work out that with an increase of 13% of the buffer‟s size, the iterations needed for reaching the target diameter were reduced by 31%. Similarly, if we reduce the length of buffer V, the number of iterations before the target diameter was reached increased significantly. Although the diameter at lV = 11 did not reach the target value within 600 iterations, it decreased monotonically which implied its convergence. While increasing the length of buffer brought us the reduction of iterations, there was however a drawback. As the size of buffer increased, the amount of edges also increased. 3.4.2.4. Random Coefficient κ To ensure a complete coverage of the network, the notion of pheromone trail is used. It directs ants to underexploited paths. However, we can specify and control the importance of such a pheromone trail. By using a probability κ, an ant can chose whether to follow an existing trail

11

with the least amount of pheromone, or to proceed to one of its neighbours at random. Figure 20 depicted the corresponding influence on the diameter of a LAN with 1281 node. In this figure the three groups of data were almost the same. We didn‟t see any obvious difference. Although it didn‟t affect the diameter, it could nevertheless be meaningful in other aspects such as reducing the CPU load on each node due to the different complexity between sorting and random number generation. We consider therefore that this should be one of our research interests regarding finetuning the algorithm in the future.

Figure 14 Diameters with different kappa

4. Proposed Solution 4.1 Initial The scenarios we considered are pervasive computing applications with emphasis on network monitoring and resource discovery including computing resources, files, services and information. For them we need P2P overlays to increase scalability and stability. To increase the robustness of such overlay networks supporting pervasive applications, efficient and adaptive node and network monitoring mechanisms will be addressed by the project, based on bio-inspired models and algorithms.

4.2 Possible Improvements to BlatAnt In section 3.4.2.2, we mentioned that the size of the α-table affected the CPU time dramatically. On one hand, with the size of the table cut down from 20 to 10, the corresponding CPU time dropped down to 5.41% of the one under default setting. On the other hand, the small α-table caused a notable increase on the number of new edges. This is not hard to understand. The α-table is a local database storing information about other nodes. The larger the size of alpha table, the better field-of-view a node can have, hence a more complete „local view‟ of the network graph can be constructed. In our experiments, after we have reduced the size of α-table, each node constructed a less complete local view. As a result, compared with the case under a better local view where a shortcut connecting to a more remote node can be established, under the limited local view, new logical links can only be made within a narrower set. From the view point of the whole network, longer shortcuts were replaced by more but shorter shortcuts, which in the same time decelerated the reduction of diameter. Based on the above analysis, we propose to develop an algorithm which adjusts its parameters dynamically and adaptively. Take α-table as an example. From figure 11 we can see, despite of the different size of α-tables, the lines of the first 50 iterations almost overlap each other. Considering the short CPU time under small table sizes, and the well-controlled number of new edges under larger sizes, one of our suggestions is a new algorithm inspired by BlatAnt, which adjusts the size of its α-table dynamically according to network conditions. Since a smaller αtable reduces the CPU time significantly, this idea could be extremely helpful for a heterogeneous 12

network. Considering the proposed new algorithm, one of the research interests could be the automatic adaptation of parameters based on pre-defined rules. Although it is not difficult to change the size of α-table, in a heterogeneous network with wireless connections, great diversity exists among devices. Hence it is not adequate to adopt a fixed policy on how and when to change the parameter. For example, different kind of devices can have different computing capabilities; different types of connections provide different bandwidth and stability, etc. As a result, node conditions, as well as network conditions, form the important factors to our new algorithm. Consequently, a robust and flexible monitoring mechanism will be a solid foundation for our algorithm. With the comprehensive monitoring data being the input of our proposed algorithm, each node will be available to decide autonomously the occasion of adjusting its parameters. This decision is decided by local information about its neighbour set only.

5. Conclusion This report presented a series of experiments based on BlatAnt, a fully distributed and adaptive algorithm for P2P overlay management inspired by Ant Colony Optimization (ACO). The first part was a series of validating experiments conducted on three different typical topologies. Through this part, we familiarised ourselves with both the configuration and the execution of the program, gained an objective understanding of the rewiring process and made a comparison between its original result set and the one obtained in our testing environment. We also found out that our experiments gave almost the same result set as the original one. This indicated two aspects. Firstly, the BlatAnt algorithm has good stability, which means that its behaviour is repeatable under the same settings. Secondly, our experimental environment satisfied the same conditions as the ones of original evaluations. The second part consisted of experiments with alternated parameters. This part gave us indications about any possible improvement to the BlatAnt algorithm and its adoption to dynamic environments. Here we draw the conclusion that BlatAnt was an excellent algorithm for overlays build on top of static networks. It improved the network performance and stability by reducing the network diameter. However its behaviour was largely influenced by topologies of networks. Moreover, the settings of parameters also put significant effect on the performance. As a result, the current version of BlatAnt is not suitable for overlays build on top of highly dynamic networks due to the rapid and constant changing of their topologies. Nonetheless, the ideas behind BlatAnt are worth to a more in-depth study. It is invaluable for our future research towards the topology management for dynamic networks.

13

References [1] M. Castro, P. Druschel, A. Ganesh, A. Rowstron, and D. S. Wallach, "Secure routing for structured peer-to-peer overlay networks," in Proceeding of the 5th Usenix Symposium on Operating Systems, Boston, MA, 2002. [2] A. Brocco, F. Frapolli, and B. Hirsbrunner, "BlatAnt: Bounding Networks' Diameter with a Collaborative Distributed Algorithm," Sixth International Conference on Ant Colony Optimization and Swarm Intelligence, Springer, ANTS, Bruxelles, pp. 275-282, 2008. [3] A. Colorni, M. Dorigo, and V. Maniezzo, "Distributed Optimization by Ant Colonies," in Proceedings of ECAL91 - European Conference on Artificial Life, Paris, France, 1991, pp. 134-142. [4] B. Gerardo and J. Wang, "Swarm Intelligence in Cellular Robotic Systems, Proceed," in , Tuscany, Italy, June 26–30 (1989). [5] C. M. Macal and M. J. North, "Tutorial on agent-based modeling and simulation.," in Proceedings of the 37th Conference on Winter Simulation, Orlando, Florida, 2005, pp. 2-15. [6] C.-L. Fok, G.-C. Roman, and C. Lu, "Mobile agent middleware for sensor networks: an application case study," in Proceedings of the 4th international symposium on Information processing in sensor networks, vol. 51, Piscataway, NJ, USA, 2005. [7] I. Stoica, et al., "Chord: a scalable peer-to-peer lookup protocol for internet applications," IEEE/ACM Transactions on Networking, vol. Volume 11, Issue 1, no. 1063-6692, pp. 17-32, 2003. [8] F. d. Santos and A. L. C. Bazzan, "An ant based algorithm for task allocation in large-scale and dynamic multiagent scenarios," in , vol. Track 1: ant colony optimization and swarm intelligence, 2009, pp. 73-80. [9] A. Brocco, A. Malatras, and B. Hirsbrunner, "Proactive information caching for efficient resource discovery in a self-structured grid," in Proceedings of the 2009 Workshop on Bioinspired Algorithms For Distributed Systems, Barcelona, Spain, 2009. [10] H. Yu, C. S. Raghavendra, S. Berson, and R. Braden, "An autonomic routing framework for sensor networks," Cluster Computing, vol. 9, no. 2, pp. 191-200, Apr. 2006. [11] C. X. Mavromoustakis and H. D. Karatza, "Swarm-based Active Tunable Routing for Overhead Reduction in Multiservice Networks," Simulation Symposium, vol. 39th Annual, p. 8, Apr. 2006. [12] A. Kröller, S. P. Fekete, D. Pfisterer, and S. Fischer, "Deterministic boundary recognition and topology extraction for large sensor network," in , Miami, Florida, January 22 - 26, 2006. [13] S. Milgram, "The Small World Problem," Psychology Today 2, pp. 60-67, 1967. [14] D. J. Watts and S. H. Strogatz, "Collective dynamics of "small-world networks"," Nature 393, pp. 440-442, 1998. [15] A. Brocco, F. Fulvio, and H. Béat, "Bounded Diameter Overlay Construction: A Self Organized Approach," in IEEE Swarm Intelligence Symposium. Nashville, Tennessee, USA: SIS, 2009, pp. 114-121. [16] L. A. Katherina and M. Kaufmann, "Random Graphs, Small-Worlds and Scale-Free Networks," in Peer-to-Peer System and Applications, LNCS 3485. Springer, 2005. [17] R. Schollmeier, "A Definition of Peer-to-Peer Networking for the Classification of Peer-toPeer Architectures and Applications," in Proceedings of the First International Conference on Peer-to-Peer Computing, IEEE, Lingköping, Sweden, 2002. [18] A. Colorni, M. Dorigo, and V. Maniezzo, "Distributed Optimization by Ant Colonies," in PROCEEDINGS OF ECAL91 - EUROPEAN CONFERENCE ON ARTIFICIAL LIFE, PARIS, FRANCE, 1992, pp. 134-142. [19] R. Schollmeier and G. Kunzmann, "GnuViz - Mapping the Gnutella Networks to its Geographical Locations," Praxis der Informationsverarbeitung und Kommunikation (PIK), 26(2), pp. 74-79, 2003. [20] A. Schmidt, M. Beigl, and H. W. Gellersen, "There is more to Context than Location," 2007.

14

[21] N. Brehm, J. M. Gomez, and C. Rautenstrauch, "Web Services und Peer-to-PeerNetzwerke," in 2002. Springer.

15