<Week 3> Title: PeerCQ: A Decentralized and Self-Configuring Peer-to-Peer Information Monitoring System Last three digits of GTID: 430 Peer-to-Peer networks have received widespread deployment and notice primarily due to the advantages that they offer in the form of improved robustness, scalability and diversity of the data that is available to the participants of the networks. PeerCQ presents a decentralized system that performs information monitoring over P2P networks with heterogeneous nodes. The authors mention that most of the P2P protocols (for both structured and unstructured networks) tend to assume that the participation of all the nodes in the network is equal. The PeerCQ system uses Continual Queries (CQ) to send out information monitoring requests to the nodes. The paper makes two main contributions; the first being their approach to processing CQs and the second is the PeerCQ service partitioning mechanism that takes into account node heterogeneity and information monitoring characteristics. The paper describes the PeerCQ architecture and protocol in a detailed manner which gives the reader an insight into how the system achieves load balancing and good system utilization. Part of the system is the Capability-Sensitive Service Partitioning which assigns CQs to those nodes in the network that are best suited, in terms of resource capabilities to perform this task. This is achieved by peer awareness or the knowledge of what system resources have been allocated by a particular node to processing CQs. The authors also describe the simulator used for evaluating the service partitioning system and the three sets of experiments used to verify the load balancing and system utilization properties of the system. The P2P protocol used by PeerCQ is distributed hash table - based which means that the underlying network is structured. It would be interesting to see how solving the same problems of load balancing and utilization can be approached for unstructured networks such as Gnutella. There have been studies such as described in the paper "Storage load balancing via local interactions among peers in unstructured P2P networks" which aims to achieve storage load balancing by storing more data with nodes that have a higher degree (are connected to more peers) thus reducing the average number of hops required to search for and locate a particular file. They also use an interesting approach to reduce the resulting load on the well-connected nodes by replicating files in high demand on low-degree nodes which can then share the load on the high-degree nodes. This approach requires a high degree of localized interactions between nodes. The study does an excellent job of explaining the service partitioning mechanism and the P2P protocol in use and the experimental evaluation is detailed. However, it would have been useful for the reader to know how the issues addresses by the paper (load balancing & utilization) differ in the cases of unstructured and structured networks and how, accordingly, their solutions must be different especially considering that even today unstructured P2P networks are more widespread than structured networks.