Regular readers of my tweets may have seen a couple of carrier pigeon ones. I don’t have any particular interest in carrier pigeons, but it is randomly interesting to see how data transfer can be done in other ways and how it compares with traditional online methods.
|Image source: https://cuteoverload.com/2010/04/14/those-carrier-pigeons-just-get-smarter-and-smarter/|
I was first inspired to think about this by South African Kevin Rolfe’s protest against slow download speeds from his company’s ISP in 2009. He flew a carrier pigeon carrying a 4GB memory stick thus beating the equivalent download.
As memory gets cheaper and smaller, it is true to say that the volume of data that can be transmitted over the average home broadband connection is not getting much better, particularly in rural areas. In some places in the UK, it is probably better to get a wireless 4G contract if coverage permits.
Anyway, back to Pigeons. The Internet Engineering Task Force (IETF) have a couple of spoof RFCs which define a standard for IP over Avian Carrier (RFC1149); the revised version adding Quality of Service too (RFC2549).
Calculating the data payload is relatively easy as you can see:
Payload of a carrier pigeon. This Reddit thread says 75g. Being unscientific as we are, we’ll go with that.
- Weight of normal sized SD: 2 grams
- Weight of microSD: 0.4g +/- 0.1g
So basically physically we’re talking:
- 37 full sized SD cards (with 1/2 a full sized one to spare)
- 187 microSDs (with 1/2 a microSD to spare)
I’m not sure exactly how these would be bundled up, I’ll leave that to a Pigeon expert (which I am not).
This is changing on a regular basis as new SDs get released, but here are some examples:
- 256GB microSD (May 2016)
- 1TB SD card (September 2016)
- 2 TB SD micro SD card supported in Nintendo Switch (January 2017)
So let’s try and make some comparison to download speeds. I may not be right with these aspects, so please feel free to correct me in the comments and I will revise the blog.
We need to work out how fast a pigeon can go. A racing pigeon can fly up to 400 miles at an average of 92.5mph apparently. I don’t like to reference the Daily Mail but here we go. As an interesting factoid, the fastest homing pigeon is allegedly the very expensive Bolt, who sold for £300,000 at auction.
Using another reliable source (Stack Overflow), let’s work out packet time from latency and bandwidth. Using the data payload example above:
Bandwidth = Payload (374TB)
Latency = Total Time (see below)
Throughput over 400 miles (at 92.5mph)
= 4hrs, 19mins, 27.56 seconds
= 14400 + 1140 + 27.56 = 15567.56 seconds
Data / Time
= 374TB / 15567.56
Bytes / Seconds
= 3.74e+14 / 15567.56 = 24,024,317,234 bytes per second
= 24.024 GB per second
Converted to Gbps = 24.024 / 0.125 conversion (according to this site)
= 192.192 Gbps speed (woo spooky homing pigeon IP joke in here somewhere!)
Whilst we’re probably not likely to drop individual data packets, we may drop the whole lot. The risk of catastrophic failure is pretty high when it comes to the pigeon. Carrier pigeons were used in hostile environments quite a lot in both world wars. 32 pigeons have been awarded the “animal VC”, the Dickin medal.
|A hostile pigeon environment. Source: Wikimedia Commons: https://en.wikipedia.org/wiki/War_pigeon#/media/File:Shooting_Homing_Pigeons.png|
There are some slightly safer examples. This book claims: “Out of 300 released between 53 and 73 got to Paris”. So if we take the median point of that claim (63), then we have 21% success. That is the optimistic statement. That also means we have a 79% chance of total data loss!
I didn’t consider the time that data might take to load onto a computer – I assumed instant access but obviously that wouldn’t be the case.
It isn’t likely that the world is going to
start using carrier pigeons to transmit all their data, but what it does demonstrate is a viable offline mechanism for data transfer that doesn’t involve wires or antennae. The fact that I wrote it entirely on the train whilst connected (in and out, but mostly in) is quite a nice feature of the modern world, for me anyway. However, the internet and web isn’t architected for such large latency scenarios and the offline web appears to be neglected by most of the big information companies who seemingly would rather you accessed the data when they can gather data about you. Perhaps it might be useful in the interplanetary/galactic internet/web as a catch-up mechanism – dump a large offline copy onto the next ship going up a space station or planet.
Anyway, I hope you enjoyed the read and would welcome your comments!