Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Peer-to-Peer Networks Projects for University Students, Study Guides, Projects, Research of Computer Science

Six peer-to-peer (p2p) network projects for university students, each with different objectives and requirements. Projects include implementing and testing various p2p network protocols, simulating search algorithms, and exploring space-filling curves. Students are expected to work in teams, write reports, and present demonstrations. Projects may involve using open-source software and simulators, and some require expertise in python.

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 09/17/2009

koofers-user-aod
koofers-user-aod 🇺🇸

5

(1)

10 documents

1 / 5

Toggle sidebar

Related documents


Partial preview of the text

Download Peer-to-Peer Networks Projects for University Students and more Study Guides, Projects, Research Computer Science in PDF only on Docsity! 22C: 196: 001 Peer-to-peer Networks List of projects Total points = 100 (worth 30% of your grades) Assigned February 19, 2009, due May 7, 2009 This is a first draft of the projects. Pick a project topic, form a team of two persons, and start working. At the end, you need to write a report, and arrange a demonstration of your work if appropriate. The length of the report should be similar to that of a conference paper (10-15 pages), and it must document all your activities, along with a list of relevant references. Do not include codes, but you can put them on your webpage, with a citation containing the URL of the link. Project 1 You have to implement a P2P network using the open source software BRITE that can be downloaded from http://www.cs.bu.edu/brite/download.html The simulator reads a topology file containing the physical nodes, randomly selects a portion of the physical nodes as the overlay nodes, and then generates a P2P network on top of the topology specified in the topology file. The number of overlay nodes should be configurable by the user. Use BRITE to generate the topology of the physical layer and output topology of the P2P overlay as a topology file. After the P2P network is built, the system should be able to output the following information: - The number of nodes and edges in the P2P network. - The ID, node degree and coordinates of any node in the P2P network. - The 1-hop neighbor nodes of any node in the P2P network. - The overlay route and the underlying physical route between any two nodes in the P2P network. The simulator has the following functionality: (a) It can accept an input file, and places it (deterministically or randomly) on one or more nodes in the P2P network. (b) It can issue a query message from any node to search a file in the P2P network. The query is configured with a TTL value. The query is broadcast to all neighbors. When a node receives a query, it searches the local "file list" file. If there is a match, then it generates and sends a hit message back to the source node that issued the query. If the file cannot be found in the local file list, then the query is forwarded to all the neighbors except the one sending the query. The hit message is sent back via reverse path routing. To make it possible, each node maintains a routing table that maps the message ID to its sender. Try out the simulator and its functionalities. Issue a query from any node in the network and retrieve a file. No specific interface is necessary. You may implement it either with GUI or with simple text modes. Now, generate graphs of size up to n ≥ 5000 nodes. Arrange to randomly place copies of 20 files – each file should be placed at 0.1% to 1% of the peers. Now, run various search algorithms (a) using Gnutella-type flooding (b) using the random walker model. In each case, compute the search time from multiple trials, as well as the total number of nodes visited to locate the object. Then compare the performances of the two search algorithms. Add explanations about your findings. The project report should be (a) a user manual of your simulator, introducing how your project compiles and runs. All the functionalities described above should be implemented in your project and introduced in your project report. (b) The source code - remember to provide a Makefile to automatically build your project. (c) Executable files of your project. Note that your project must be self-contained. So please include all the files necessary for your project to work well. Project 2 Implement various skip graphs with 10,000 - 1,000,000 nodes, and do the following experiments: (a) Implement the protocols for key insertion and key deletion. Plot the time (i.e. the number of steps) needed to perform these tasks against the size of the graph. (b) Assume an arbitrary node as the hotspot and consider 10,000 accesses from randomly chosen nodes across the network. Compute the load distribution around a hotspot in the skip graph and verify if it agrees with the theoretical result. (c) Induce random failures, and study how searches are affected by such failures (i.e. find out what percentage of them are failed searches). Also, find out how many random failures are likely to partition the skip graph.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved