The Web and Networks Interest Group hosted several discussions around the role of P2P in Content Delivery networks architectures.
This page hosts some of the insights that emerged from these discussions.
Peer-To-Peer CDN Talk Q&A
Q: What's the difference between PCDN and CDN?
PCDN get resources distributed from peer-to-peer networks instead of server-client networks.
Peers compares to servers, don't have a static IP address, or event don't have any globally routed IP address. That's the main difference between PCDN and CDN.
Furthermore, peers are widely deployed, which has a large amount, to reduce the impact of a single server fails.
Q: Why don't we just use GEO-based DNS?
Sometimes we use so-called "idle resources" act as upload peers. Those servers, or, peers, don't have any global routed IP addresses, so the server-client model won't work here, while p2p technology can use STUN servers which allows two peers to exchange data between them.
Q: Do you still have servers?
Yes, peer-to-peer doesn't mean we use our clients' network as servers. Instead, we use some idle resources, for example, home routers, microservers at home or office. These resources are cheaper, but they don't have global routed IP addresses, and they are not as stable as real servers.
We do not "seed" resources directly from users' networks, which means at the client-side, it won't get more upload traffic. Uploads only occur on managed peers.
Q: How do you use PCDN in native APP?
We use libtorrent as our P2P library, so download files are the same as download files from a private BT network, except that the APP won't upload any bit of files to other peers.
We deploy seed programs on our managed peers, some of them have a globally routed IP address so we can use PEX for p2p hole punching for other peers.
Q: How web ecology can benefit from PCDN?
PCDN can distribute content more efficiently, so that users will have their files download more rapidly, without native APP installed. PCDN can also reduce the cost of web providers, they can spend less budget on bandwidth and servers.