wwwebsurfer All American 10217 Posts user info edit post |
As a self-proclaimed geek I sometimes like to think about theoretical problems and how I'd solve them with off-the-shelf, low-cost hardware. I know it's a stretch, but I'm betting there are some other people out there that enjoy finding out about problems and chew them over whilst enjoying a brew each night. Mental stimulation sans TV.
So I pose the question: how to distribute large files. For the sake of example you can't afford a big/fancy server to dedicate to this, nor can you afford a 20Mbit uplink at your house. You do, however, have a handful (5-8) of friends who are willing to let you skim their internet connection.
The target audience is not the handful of friends, but people browsing from the general internet. You have a $3/month plan from no-frills linux hosting, but with 5,000 sites on that server and only 1GB of space you can't distribute your 2GB files.
How would you go about distributing the files with a few goals in mind: 1) You want to be able to serve 100+ users simultaneously 2) You want their download to average 2Mb/s or better (0.25 MB/s) 3) You would prefer they don't have to install additional software 3.1) They do not have complex programs like bittorrent installed 3.2) They do have internet standards like AIR and Java available 4) Total cost cannot exceed, say, $50/month - the equivalent beer budget as a thank you 5) You have $250 available for initial investment 1/21/2011 1:13:00 AM |
Grandmaster All American 10829 Posts user info edit post |
Amazon S3? 1/21/2011 1:21:26 AM |
wwwebsurfer All American 10217 Posts user info edit post |
For the sake of the thread how would you build it - not necessarily just something you can go buy and be done
For example: A simple minifridge would solve the problem of warm beer. But when you build your own you can conveniently end up with a robot that will toss you a cold one. 1/21/2011 1:27:03 AM |
lewisje All American 9196 Posts user info edit post |
lulz AIR isn't an internet standard
and BitTorrent is much less complicated than that or Java 1/21/2011 2:39:10 AM |
scrager All American 9481 Posts user info edit post |
so you don't want to buy something off the shelf, you want to build it yourself ($$$$$) you have a limited budget ($)
does not compute...
don't re-invent the wheel, especially if you don't have the capital to invest in the research, building, and testing.
The simple solution is either Amazon, or buy a more dedicated website. 5-8 friends could probably support one or two users, but not 100. At least not on standard Roadrunner uplinks. And even if they could support it, they wouldn't want to at times they want to use the internet themselves. 1/21/2011 9:38:48 AM |
smoothcrim Universal Magnetic! 18968 Posts user info edit post |
$50 will not cover your bandwidth. even with 80 friends giving you 1mbps, ASSuming they have a router that supports QoS to allow bandwidth partitioning and don't care about power consumption, 100*0.25MB/s = 25MB/s or 400mbps and you are 320mbps short of that. something like rapidshare is the best you're going to come up with on your shoestring budget. better get good at writing a script to create accounts and upload to them. 1/22/2011 4:21:19 PM |
wwwebsurfer All American 10217 Posts user info edit post |
This is a completely theoretical problem - sorry for those whom I have confused. For work stuff we're evaluating the RollingThunder network at Highwinds. 'Cause, you know, we have a budget
^that's a solution I haven't considered. Back in the day I used to have a download manager that would allow download segmenting - can you do that from multiple sources? Makes me think of a new solution: use a flash or java based downloader to pull from a list of servers. For $50 we could have accounts on 10 different cheap hosts to spread the love around. Update the server list via XML file and we'd also be set for expansion. $5 for every time we wanted to add additional bandwidth to the pool. I wonder if we could script in a basic heartbeat network. Build-your-own rapidshare 1/22/2011 7:28:55 PM |