Internet access is growing steadily in developing nations, but limited infrastructure means that at times connections can still be painfully slow. A major bottleneck for these countries is the need to force a lot of traffic through international links, which typically have relatively low bandwidth.
Now computer scientists in Pakistan are building a system to boost download speeds in the developing world by letting people effectively share their bandwidth. Software chops up popular pages and media files, allowing users to grab them from each other, building a grassroots Internet cache.
In developed countries, Internet service providers (ISPs) create Web caches–machines that copy and store content locally–to boost their customers’ browsing speeds. When a user wants to view a popular website, the information can be pulled from the cache instead of from the computer hosting the website, which may be on the other side of the planet and busy with requests. Similar services are offered by content distribution companies such as Akamai, based in Cambridge, MA. High-traffic sites pay Akamai to host copies of their content in multiple locations, and users are automatically served up a copy of the site from the cache closest to them.
In countries like Pakistan, Internet connections are generally slow and expensive, and few ISPs offer effective caching services, limiting access to information–one reason why the United Nations has made improving Internet connectivity worldwide one of its Millennium Development Goals. None of Pakistan’s small ISPs cache much data, and traffic is often routed through key Internet infrastructure in other nations.
“In Pakistan, almost all the traffic leaves the country,” says Umar Saif, a computer scientist at the Lahore University of Management Sciences (LUMS). That’s the case even when a Pakistani user is browsing websites hosted in his or her own country. “The packets can get routed all the way through New York and then back to Pakistan,” Saif says.
So Saif’s team at LUMS is developing DonateBandwidth, a system inspired by the BitTorrent peer-to-peer protocol that is popular for trading large music, film, and program files. With BitTorrent, people’s computers swap small pieces of a file during download, reducing the strain placed on the original source.
DonateBandwidth works in much the same way but lets people share more than just large files. When users try to access a website or download a file, a DonateBandwidth program running on their machine checks first with the peer-to-peer cache to see if the data is stored there. If so, it starts downloading chunks of the file from peers running the same software, while also getting parts of the file through the usual Internet connection. The software could allow people in countries that have better Internet connections to donate their bandwidth to users in the developing world.
DonateBandwidth also manipulates an ISP’s cache. “Say a person with a dial-up connection wants to download a file,” Saif says. “When running DonateBandwidth, their computer starts downloading part of a file, while also sending a request for other DonateBandwidth users who have access through the same ISP, and whose computers have spare bandwidth, to trigger them to start downloading other parts of the same file.” The file is then loaded into the ISP’s cache, so it can be downloaded more quickly.
Saif compares the project to distributed computing schemes such as SETI@Home, which uses volunteers’ spare computer power to collaboratively analyze radio signals from space, looking for signs of intelligent life. “DonateBandwidth permits sharing of unused Internet bandwidth, which is much more valuable in the developing world, compared to computing cycles or disk space,” he says.
The more people who use DonateBandwidth within the same country, the more websites and files could be cached, freeing up the international link. In the developed world, “typical bandwidth savings due to caching are around 30 to 40 percent,” Saif says. The program is not publicly available yet, but Saif’s team is currently testing a proof-of-concept version and will collaborate with Eric Brewer and colleagues at the University of California, Berkeley, to implement it in Pakistan.
“In Pakistan and a lot of developing countries, they are building a good local network, but the international network is not very good,” says computer scientist Saman Amarasinghe of MIT. “Having a system like what [Saif] proposed is very valuable.”
“Misconfiguration of caches rings true with our experiences in Kenya and Ghana,” adds Tariq Khokar of Aptivate, a nonprofit group in Cambridge, U.K., that works on improving connectivity in developing countries. “I doubt anybody outside of a developing country would have come up with DonateBandwidth.”
Aptivate created another system, called Loband, that strips photos and formatting from Web pages to make them load faster for users in developing countries. “Loband helps with bandwidth but not latency,” Khokar says, but “having content cached in country means the latency associated with an international hop is eliminated.”