Testing and Validation of Peer-to-peer Systems - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2009

Testing and Validation of Peer-to-peer Systems

Test et Validation des Systémes Pair-à-pair

Résumé

Peer-to-peer (P2P) offers good solutions for many applications such as large data sharing and collaboration in social networks. Thus, it appears as a powerful paradigm to develop scalable distributed applications, as reflected by the increasing number of emerging projects based on this technology. However, building trustworthy P2P applications is difficult because they must be deployed on a large number of autonomous nodes, which may refuse to answer to some requests and even leave the system unexpectedly. This volatility of nodes is a common behavior in P2P systems and can be interpreted as a fault during tests. In this thesis, we propose a framework and a methodology for testing and validating P2P applications. The framework is based on the individual control of nodes, allowing test cases to precisely control the volatility of nodes during their execution. We also propose three different architectures to control the execution of test cases in distributed systems. The first approach extends the classical centralized test coordinator in order to handle the volatility of peers. The other two approaches avoids the central coordinator in order to scale up the test cases. We validated the framework and the methodology through implementation and experimentation on two popular open-source P2P applications (i.e. FreePastry and OpenChord). The experimentation tests the behavior of the system on different conditions of volatility and shows how the tests were able to detect complex implementation problems.
Le pair-à-pair (P2P) offre de bonnes solutions pour de nombreuses applications distribuées, comme le partage de grandes quantités de données et/ou le support de collaboration dans les réseaux sociaux. Il apparaît donc comme un puissant paradigme pour développer des applications distribuées évolutives, comme le montre le nombre croissant de nouveaux projets basés sur cette technologie. Construire des applications P2P fiables est difficile, car elles doivent être déployées sur un grand nombre de noeuds, qui peuvent être autonomes, refuser de répondre à certaines demandes, et même quitter le système de manière inattendue. Cette volatilité des noeuds est un comportement commun dans les systèmes P2P et peut être interprétée comme une faute lors des tests. Dans cette thèse, nous proposons un cadre et une méthodologie pour tester et valider des applications P2P. Ce cadre s'appuie sur le contrôle individuel des noeuds, permettant de contrôler précisément la volatilité des noeuds au cours de leur exécution. Nous proposons également trois différentes approches de contrôle d'exécution de scénarios de test dans les systèmes distribués. La première approche étend le coordonnateur centralisé classique pour gérer la volatilité des pairs. Les deux autres approches permettent d'éviter le coordinateur central afin de faire passer à l'échelle l'exécution des cas de tests. Nous avons validé le cadre et la méthodologie à travers la mise en oeuvre et l'expérimentation sur des applications P2P open-source bien connues (FreePastry et OpenChord). Les expérimentations ont permis de tester le comportement des systèmes sur différentes conditions de volatilité, et de détecter des problèmes d'implémentation complexes.
Fichier principal
Vignette du fichier
these_eduardo.pdf (2.37 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00451521 , version 1 (29-01-2010)

Identifiants

  • HAL Id : tel-00451521 , version 1

Citer

Eduardo Cunha de Almeida. Testing and Validation of Peer-to-peer Systems. Software Engineering [cs.SE]. Université de Nantes, 2009. English. ⟨NNT : ⟩. ⟨tel-00451521⟩
257 Consultations
1900 Téléchargements

Partager

Gmail Facebook X LinkedIn More