Peer-to-Peer (P2P) networks currently make up for a major share of the overall traffic on the Internet. They act as a medium for the exchange of a wide variety of content, ranging from comparibly small pictures or music files to voluminous content like complete software packages, linux distributions, or movies or similar types of multimedia content.
Generally, P2P networks do not account for the location of different peers, which may lead to a rather inefficient usage of networking resources. This has an affect both on the achievable performance, seen at the participating devices, and on the management and resource disposition of the Internet Service Providers (ISP). The latter may suffer serious disadvantages with respect to their peering cost or may experience bandwidth limitations for competing services and content. In consequence, ISPs have started to introduce shaping of P2P traffic, or even to attempt blocking P2P traffic completely, which has lead to an arms race between developers, who have started to conceal P2P traffic, and the ISPs that are trying to again identify it.
Keeping P2P traffic local in their network may lead to a partial relief for the ISPs. However, ISPs are not in the position to cause significant changes to the protocols and applications used for P2P networking. Replicating and serving the requests from local resources, much alike the content distribution approach implemented for web caching, may be a possible solution. With the volume of the distributed content being on orders of magnitude higher than for conventional web pages, and knowing of the drastically differing popularity of the content, a sensible selection of replicated data has to be identified. As the popularity can change very quickly, it preferably has to be identified very fast, or if possible, even before the rush of requests has taken place on the local network.
To achieve this estimation of a set of the most popular content in the existing P2P networks, an efficient and non-intrusive distributed monitoring infrastructure is needed.