We noticed you're browsing in private or incognito mode.

To continue reading this article, please exit incognito mode or log in.

Not a subscriber? Subscribe now for unlimited access to online articles.

Emerging Technology from the arXiv

A View from Emerging Technology from the arXiv

Self-Replicating USBs Spread Software Faster than an Internet Connection

Downloading free software is hugely time consuming and expensive in the developing world. Now one computer scientist has worked out how to spread it faster and more cheaply without using the internet.

  • December 3, 2013

Getting hold of software, even freeware, is a significant challenge in the developing world. Bandwidth is such a precious commodity in these places that even modest downloads are beyond the budget of most people.

The map above reveals the problem. It shows the density of IPv4 addresses around the world, a useful proxy for the density of internet servers.  Clearly the internet is not yet evenly distributed.

And therein lies the problem. In most parts of the world, a free operating system that is several gigabytes in size will take too long and cost too much to download. Consequently, much of the best freeware simply hasn’t spread to those who would benefit from it most.

That looks set to change, at least in part, thanks to some neat work by Thierry Monteil at the Université Montpellier II in France. This guy has devised a cheap and simple way to transmit large software packages without using the internet and at rates that eclipse all but the best internet connections.

His idea is simple: create a self-replicating bootable USB stick that holds an operating system and any software that needs to run on it. This stick is self-replicating in the sense that it can copy its contents to another USB stick with just a few clicks and no expert knowledge.

And that’s exactly what Monteil has done. He has written a script that clones the contents of one USB stick to another of sufficient size. It copies only the designated software, without copying any personal data on the first stick (except for any stored in a special /shared folder). It also preserves any data already on the second stick.

To test the idea, Monteil used the script to transfer Sage, a free alternative to mathematical software such as Mathematica, Maple, Matlab and so on. This runs on the free Linux Debian operating system so the script also transfers this too–about 2.7 GB in total. It can also be burned to a CD so that it can run on a Mac or a computer too old to boot from a USB, as many are in the developing world.

What’s interesting about this method is that each new stick can seed other sticks. So it can spread to n people in a time that is of the order of log (n). For large n, that has the potential to be significantly faster than even the best internet connections.

To test it in the field, he took the stick to a computer workshop in Bobo Dioulasso in Burkino Fasso with 60 participants. Monteil says the transfer to these 60 people could be done in 6 cloning rounds during a coffee break. So even allowing 5 minutes for each person to boot up their machine and play around with the new software, that’s a massive rate of transfer.

“The amortized bandwidth becomes 30MB/s,” says Monteil. There’s simply no comparison with 60 users downloading the same data one after the other over an unreliable dial-up modem connection.

Of course, there are potential disadvantages with this method. The first and most significant is the potential for malware to enter the chain somewhere. Because of this, Monteil recommends that it is used only for short distance communication: in a classroom, for example, where there is not enough time between cloning events for malware to be added.

And everybody must have a USB stick. That’s certainly not a given in the developing world but is changing rapidly as these devices become cheaper.

The end result is a mechanism that looks to be an extremely effective way of spreading software, albeit with one or two limitations. “While being very efficient for our purpose of spreading huge free software inside a community, it is definitely not advisable for spreading sensitive software, or for large-scale distribution,” says Monteil.

Although it’s not hard to imagine it being used in this way given its utility. For example, it would be straightforward to transfer the contents of Wikipedia in this way, dramatically increasing the number of people in the developing world who can benefit from this knowledge.

An impressive solution to an increasingly pressing problem.

Ref: arxiv.org/abs/1311.6754: Spreading Huge Free Software Without Internet Connection Via Self-Replicating USB Keys

Learn from the humans leading the way in Connectivity at EmTech Next. Register Today!
June 11-12, 2019
Cambridge, MA

Register now
More from Connectivity

What it means to be constantly connected with each other and vast sources of information.

Want more award-winning journalism? Subscribe to All Access Digital.
  • All Access Digital {! insider.prices.digital !}*

    {! insider.display.menuOptionsLabel !}

    The digital magazine, plus unlimited site access, our online archive, and The Download delivered to your email in-box each weekday.

    See details+

    12-month subscription

    Unlimited access to all our daily online news and feature stories

    Digital magazine (6 bi-monthly issues)

    Access to entire PDF magazine archive dating back to 1899

    The Download: newsletter delivery each weekday to your inbox

You've read of three free articles this month. for unlimited online access. You've read of three free articles this month. for unlimited online access. This is your last free article this month. for unlimited online access. You've read all your free articles this month. for unlimited online access. You've read of three free articles this month. for more, or for unlimited online access. for two more free articles, or for unlimited online access.