Paper #: Week 3 Paper 1 Title: Search and Replication in Unstructured Peer to Peer Networks (1) Problems This paper tries to address the problems faced by Unstructured Peer to Peer Networks (especially systems based on the Gnutella algorithm) in their Search and Replication methods. It tries to highlight the flooding algorithm and its problem of creating a large load on the network and propose solutions for the same. Also, according to the Gnutella algorithm only the requester makes a copy of a requested object. The authors point out that this does not yield good performance and provide solutions to the same. (2) New Idea and Strengths i) The paper is well written. The authors assume the reader knows the Gnutella protocol. They launch into a brief overview of the problem and then explain their solutions concisely and precisely. ii) Better Search Methods: Each of their search methods arise from the weaknesses of the Gnutella algorithm. The solutions intuitively make sense and are as simple as they are smart. The tweaks of checking and keeping state for the random walk algorithm are nice optimisations. iii) Replication Strategy: By doing experiments for the random or path replication strategies the authors show the superior performance results yielded by these intuitive strategies. (3) Weaknesses and Extensions i) I think a little more explanation on how the experiments were carried out would be helpful in understanding if the experiments (and hence the results) were correct. Also using this data for comparison is not feasible since details of the experimental study are not provided. ii) The paper is focussed towards the problems faced by the Gnutella algorithm only. This might be too narrow a problem. iii) The replication strategy might not be feasible. All the users of the network will have to consent to download and store objects which might not be useful to them to make this strategy work. iv) Extensions to this paper: More algorithms for the Search method can be thought about. a) Instead of giving the same TTL to all the outgoing queries, some paths can be given more TTL than others. The value of the TTL's for the different paths can be found out probabilistically or by using past performance as a criteria. b) Also, instead of flooding, queries can be given by the source node to only some of its neighbours (like random walk) but these neighbours can be chosen probabilistically. The criteria could be based on their past performance or the number of nodes those neighbour nodes are connected to etc -- END --