Proactive network provider participation for P2P
P4P, or proactive network provider participation for P2P, is a method for internet service providers (ISPs) and peer-to-peer (P2P) software to optimize peer-to-peer connections. P4P proponents say that it can save an ISP significant costs, and that using local connections also speeds up download times for P2P downloaders by 45%, critics say that this will favor downloaders on some ISPs but come at the expense of others.
The P4P working group has participants from the ISP, movie/content, &\and P2P industries. It is focused on helping ISPs handle the demands of large media files and enabling legal distribution – they are building what they believe will be a more effective model of transmitting movies and other large files to customers. The current P2P model shares data equally with all peers, regardless of whether they are nearby, and this results in several nearby peers sending and receiving data across the world but not to each other when this is possible – working group members say that currently "the pattern of traffic poses a problem".
P4P works by having an ISP use a new "iTracker" which provides information on how the ISP's network is configured. P2P client software (and P2P torrent servers, called trackers) can query the iTracker to identify the data routes the ISP prefers and connections to avoid, changing depending on the time of day. The P2P software can then co-operatively connect to peers which are closer (or cheaper for the ISP), selectively favoring peers instead of choosing peers randomly.
This provides three methods of finding local peers:
- the P2P client receives network information from the ISP's iTracker without revealing what file is being downloaded. It separately receives a list of peers from the torrent's tracker as usual. Note that for torrents with thousands of peers, when queried only a short list of potential peers is sent and it can take many queries to find all local peers
- the torrent's tracker can receive network information from the ISP's P4P iTracker, and use this to provide a customized list of local peers to the P2P client
- the P2P client can query the P4P iTracker, providing it with details of the file being downloaded. The ISP's iTracker (instead of the torrent tracker) can then provide the client with a list of local peers
Note that P4P does not replace or control P2P networks. P4P allows ISPs to provides additional information regarding network topology that P2P networks may choose to utilize to optimize network data delivery. This information should be used in combination with the other information that P2P networks collect, such as observed peer data transfer rates. If, for example, a P2P network is selecting between a "nearby" peer that is slow, and a "far" peer that is fast, that decision is entirely under the control of the P2P network. Because implementation of P4P is entirely voluntary on the part of both the ISPs and the P2P networks, it will only be adopted if it is mutually beneficial.
There is concern by existing P2P trackers that P4P may be used to prevent piracy in the future. The P4P working group includes some prominent members of the entertainment industry and well known anti-piracy lobbyists, and anti-piracy measures could be added in the future.
The P2P industry also says that P4P may slow down transfers for some users. BitTorrent, for example, is designed to favor the fastest peers available – if that is changed to favor the closest peers instead then it must affect the speed. The equality and balance of peers would be lost – clients on networks with a good "backbone" but slow upload speeds would download slower, and clients using ISPs who do not support P4P would not benefit from using local peers.
P4P will only work on software that supports it, yet other protocols which currently dominate the network will keep being blind to locality. LiteLoad by Shay Horovitz and Danny Dolev [Hebrew University] presents a solution that leads to P2P locality in ISPs on both existing protocols and future ones.
- The Ono Project – an open source program to identify local peers for P2P file transfer
- ALTO Protocol – Application-Layer Traffic Optimization (IETF)