A Village Storage System for Developing-World Facebook Friends
In Macha, Zambia, where uploads fail 75 percent of the time, a smart file sharing system can store data locally when necessary.
In developing countries, bandwidth can be limited and Internet access can be prohibitively expensive.
The rural village of Macha, Zambia, has satellite Internet connectivity, but uploads of photos and other content to sites like Facebook fail 75 percent of the time. A new file sharing prototype developed by a researchers in Zambia and California solves this problem by uploading content to a separate website served by one local PC, taking advantage of the fact that most people who ultimately view the content are right there in the village.
Users enroll in a site called Kwaabana and tell the system where they are. That lets it know what site it should fetch the photo from later—either the local PC (if they are in the village) or a server in the United States (if they are anywhere else).
“People share photos and videos quite frequently to people who are physically close to them,” says Elizabeth Belding, a computer science professor at the University of California at Santa Barbara, who did the research with colleagues in Zambia. “When you are in a rural community, what would typically happen is they might be using satellite links, and that same file is going up and down over that link many times.”
In Macha, 300 people vie for Internet access through the equivalent of a dial-up modem, and the most popular site is Facebook, with 15 percent of the traffic. The new way of serving them, described in this paper presented at a recent conference in South Africa, essentially works like this.
A user signs up with Kwaabana—which also refers to the file-sharing architecture—and discloses his or her location. The system imports a list of friends from the person’s Facebook account. If the user wants to share a photo, he uploads it, selects the Facebook friends intended to see it, and hits “Share.” The photo is stored right away on the local PC; overnight, when bandwidth frees up, the system uploads the photo to a remote server, in this case at Santa Barbara.
The uploader gets a message saying the photo has been shared. A friend within the same local area—as determined from the location named at registration—will get a URL for the file that is the local copy; a friend who is somewhere else will get URL for the copy stored in Santa Barbara when it becomes available hours later. But in both cases, the satellite link is used to send the photo only once—for the overnight upload.
Though the bandwidth congestion was triggered in part by the local popularity of Facebook, the system operates outside the Facebook site. An earlier version of the technology tried to work as a locally hosted application within Facebook, but Internet access was spotty and the mere act of logging in to Facebook incurred network costs, Belding says. So the research team ended up importing Facebook friends, essentially replicating that network on Kwaabana and doing the sharing there more affordably.
Vivek Pai, a computer scientist at Princeton who’s also working on efficient systems for storing data locally in the developing world (see “TR10: HashCache”), says the technology deals with file sharing in a novel way. “By taking into account bandwidth congestion and service availability issues that you commonly see in the developing world, the research puts an interesting twist on file sharing technology,” he says. He adds that while many existing technologies allow file sharing, few are so focused on keeping bandwidth use to a minimum.
Belding says that the project wasn’t just about boosting bandwidth. “Many people are focusing work on giving higher-speed Internet access to the developing world. But we need to look at what actual user access looks like and see what the issues are,” she says. Belding says her team is now working on a way to expand the concept into a peer-to-peer technology so that, where possible, some or all of the local storage can be done directly on users’ phones.