I‘ve been working with Michael Freedman at Coral to come up with a solution to the podcast issues some of you have been experiencing.
As you may know I use Coral to distribute the bandwidth costs for my podcasts. To quote from the Coral site:
Coral is peer-to-peer content distribution network, comprised of a world-wide network of web proxies and nameservers. It allows a user to run a web site that offers high performance and meets huge demand, all for the price of a $50/month cable modem.
Coral is part of the IRIS peer-to-peer network project funded by the National Science Foundation, and it’s an amazing community service.
Essentially, Coral is a distributed network of volunteer servers that cache content for web sites. When I post a new podcast I use a modified URL: http://www.leoville.tv.nyud.net:8090/airchecks/20050306-1.mp3 for example. A request for that file goes first to nyud.net over port 8090 – that’s Coral central. It will route the request to the geographically nearest Coral server. The server will check to see if it has a copy of the file. If it does not it will check with other Coral servers. If none of them have a cached copy of the file they will download it from leoville.tv and cache it for future requests. For the next 24 hours requests for that file will be served by Coral not leoville.tv.
This greatly reduces the bandwidth requirements for leoville.tv and provides users with faster servers that are closer to home. Because there are many Coral servers no one server should have to do too much work, but to protect the volunteers there is a quota system in place. When any one site, like leoville.tv, draws too much bandwidth, that server can decline the Coral request with a 403 FORBIDDEN error. We have exceeded quota with every single podcast release. In fact, Mike tells me we’re one of the top 5 Coral users.
This has caused a problem with some podcast clients. Instead of retrying later, they give up, saying the file does not exist and you’ll miss a podcast. Michael has implemented a new system that allows me to tell the Coral servers to redirect excess traffic back to leoville.tv. If I’ve saturated Coral’s bandwidth I will serve the file directly for a while. That means my bandwidth costs go up, but it doesn’t confuse podcast clients.
This system has been implemented starting with the current KFI podcast (shows from March 5 and 6). Please let me know if your podcast client has any problems with these files. You shouldn’t see any 403 errors.
Thanks for your patience. Just so you know, you’re involuntary guinea pigs in a brand new medium. But the combination of podcasting and Coral P2P makes it feasible for anyone, even with very limited bandwidth, to create programming that the whole world can download, and I think that’s tremendously exciting. You’re helping change the face of broadcasting!