Tuesday, 20 April 2010

BitTorrent for legitimate work purposes

I've been going through something painful at work over the past few working days. I'm transferring some very large database backups from a client network to our own network for testing. The experience leaves something to be desired. It goes like this:
  1. Back up databases (many hours)
  2. Zip databases for faster transfers (another several hours)
  3. Split zip files into 1GB pieces (because the server won't send the extraordinarily large files as-is)
  4. Copy the pieces to a web-accessible server (many hours)
  5. Download the pieces individually
  6. Reconstruct the full backup zip archives
  7. Unzip
  8. Restore databases
All the while, I need to babysit the connection, because the VPN times out if there's no activity for a certain amount of time.

I couln't help but think that the whole thing could be a great deal simpler with BitTorrent. After the databases are backed up (and probably zipped, because the compression helps a lot), if I could create a .torrent file and open it on both ends, then nobody needs to babysit the connection and I could leave it going over the weekend instead of wasting entire workdays waiting for downloads and manually copying files. In terms of the list above, steps 3 to 6 become things that happen while I'm sleeping. Doesn't that sound better?

Mokalus of Borg

PS - I know that's not quite the intention of BitTorrent, but it would work.
PPS - That's assuming both machines have direct internet access and BitTorrent is not blocked.


Miv said...

I may not be completely enlightened, but isn't that the exect reason for bittorrent?

Sure it has been used almost exclusively for the transferral of pirated material, but isn't that looking at the package, rather than the process?

Surely a proposal that will allow the business savings counted in days would be well recevied?

John said...

Well, my understanding of the main difference between this and the designed purpose of BitTorrent is that it is meant to use many servers rather than one. But I get your point - even with one server, this is the kind of thing it was meant for.

As for actually setting it up, that might be just a bit far-fetched. We are graciously provided very secure remote access to this client's machines, and we're handling their databases in this case. Saying that I want to allow BitTorrent (red flag) access to their private business databases (red flag) over the internet (red flag) without a way to secure it (red flag) might take some convincing. :)