Article Preview
TopIntroduction
The use of open-source software has become inevitable in several research and development areas. In many cases, the economic factor is the most important motivation for developers to choose this kind of software. For instance, in the field of large-scale and distributed systems, building a Grid, Cloud or P2P platform is likely to be costly. For this reason, many developers of distributed systems prefer to use network simulators to test and validate their applications. Actually, developers generally opt for reusing open source network simulators, because they can adapt such source codes to their needs.
In this context, the performance evaluation and testing of P2P environments is a serious problem. This kind of networks poses many challenges because they are characterized by the high volatility and dynamism of connected nodes. A real analysis of P2P networks performances, require taking into account the existent protocols, equipment and realistic traffic models. This situation involves a lot of problems in terms of cost and complexity. For these reasons, many P2P tools have been developed to simulate this kind of environments (AnhDinh, Theodoropoulos, & Minson, 2008). In this context, several open sources implementations of existent P2P protocols have been proposed. These implementations are generally developed for a particular simulator. Among the P2P simulation systems, Peersim (Montresor & Jelasity 2009) is one of the most popular simulators in this context. It is written in Java and composed of two simulation engines, a simplified (cycle-based) one and event driven one. As open software, Peersim is used under the GPL open source license. Until now, the users of this simulator provide 24 additional packages developed for different kinds of P2P protocols (These latter are generally classified as unstructured, structured and hybrid systems). Among the most popular P2P protocols, we find an open source code of Chord (Stoica, Morris, Karger, Kaashoek, & Balakrishnan, 2001), which is a structured P2P protocol based on the DHT mechanism (Data Hash Table). In this kind of protocols (like CAN (Ratnasamy, Francis, Handley, M., Karp, R., & Shenker, 2001) and Pastry (Rowstron, & Druschel, 2001)) resources are associated to a key produced by hashing, for example, the file name or the file content. DHT systems have scalable routing, the network topology is tightly controlled and files are placed at the precisely locations identified by their keys. The range of the values of the hash function constitutes the ID space. Each peer in the network is responsible for storing key belonging to a single partition of the ID space. Routing tables are stored locally on individual peers; including a list of other peers with addresses and range of keys they are responsible for (Bianchini, Antonellis, Melchiori, & Salvi, 2006). This kind of search mechanism is implemented by a kind of protocols known as Structured and Informed ones. It is generally characterized by the exactitude and the precision of the sent requests. To improve the research mechanism of Chord, we tried to implement a distributed algorithm for semantic Web services discovery by using an ameliorated version of Chord protocol called TTL-Chord (Gharzouli, Messelem, & Bounas, 2014), in which we have marked the research requests by a TTL (Time To Live). The main objective of TTL-Chord is to implement semantic and blind requests by hashing semantic concepts (input, output and goal) of a resource. Then, in this article, the main objective of our work is to present the different made modifications to implement this new version of Chord for Peersim simulator.