Interview Responses From BitTorrent's Bram Cohen
1) Bit-Torrent browsing... by CashCarSTAR
Has any effort/thought been put towards bit torrent page distribution?
Specifically, a way that one can use BT to mirror webpages. A way to get around the /. effect, and as well would work wonders the next emergency that comes out (see 9/11).
Bram:
Images in web pages are very small and require very low latency. BitTorrent is designed for much larger files, which download on the order of minutes or hours rather than seconds. BitTorrent uses the significant amount of time those downloads take to try out and compare different connections. This process has inherent latencies which make it unsuitable for images on web pages.
Certainly it would beis possible on paper to dramatically reduce the cost of hosting an ordinary web site using peer transfers, but the logistical problems of handling many small files at low latency have yet to be solved, and will probably require a protocol which looks significantly different from BitTorrent.
2) Forward successful download stats to originators... by gsfprez
Many freeware/shareware folks like to keep download stats for marketing purposes, so P2P software and mirrors really irk them....
In order to foster more love from freeware/shareware distributors, could BitTorrent be made to inform the end user (me) that BitTorrent was going to send a "notice of download" (not including any personal information, such as an IP, etc) upon sucessful download (that I could preview before sending of course)?
If *I* was Warner Bros, and eveyone offered to distribute and pay for all the bandwidth for the next version of the Animatrix, while I still got to see download statistics, i'm not sure I'd even would need to provide a direct link to the 150 meg QuickTime files.
With this kind of feedback mechanism, the software/media providers get all the love - download stats, far far far less bandwidth used - and we get all the goodness - their free movies, software, freeware, data, etc. Its the ultimate mirror.
Or am i missing something?
Bram:
I'm happy to report that you are, in fact, missing something. Clients report very detailed statistics to the BitTorrent tracker, including the number of complete downloads and the total amount each peer uploaded and downloaded. If you host a file using your own tracker, all of this data is readily accessible, the same as if you hosted it via http.
By the way, many people find out about tracker statistics reporting and falsely think that hacking their client to exaggerate their upload rate will increase download speeds. Clients actually decide who to upload to based strictly on the transfer rates they experience directly; Tracker statistics are never even sent to them.
3) Comparison to other P2P... by jfmiller
As far as I can tell the genius of BitTorrent is allowing peers who themselves do not yet have a complete file to share the parts they do. With all dew respect to the effort taken, the rest is just functional glue that allows the system to work as it should.
The eDonkey protocol used the same basic premise. How is BitTorrent different to it and other P2P protocols and why did you make that choice?
Bram:
That 'functional glue' is extraordinarily difficult to get to work well. Ever-changing network conditions and very high rates of peers disconnecting produce a very thorny logistical problem. Most existing swarming implementations don't even manage to fully utilize all the upload capacity available to them.
That said, there are other decent swarming implementations. For example, the one in eDonkey is quite serviceable, and Furthurnet's works okay as well. BitTorrent handles the little details of file transfer better than all of the others, but if that were the only difference its advantage would be relatively minor and subtle.
What sets BitTorrent apart is its very robust technique for rewarding specifically the peers which upload the most, known as leech resistance. On the highest level, this prevents a long-term meltdown of the system from being caused by people running leeching clients. It also causes upload and download rates to be somewhat correlated, so peers on good pipes get decent download rates, which increases general good feeling about how the system behaves. Overnet, the follow-on to eDonkey, may start using BitTorrent's peer protocol in the future specifically for the leech resistance properties.
By the way, people sometimes run clients hacked to not upload at all and still experience good download rates. Usually this is because they're downloading a file which has been available for a while and there are many clients which have finished downloading but been left running, so there's plenty of excess bandwidth to go around. Not uploading in a swarm which is still ramping up is generally ruinous for download rates.
4) Improvements... by BJH
Bram,
Do you have any plans for improvements to BitTorrent to improve some of its (few) weaknesses, such as searching for torrent files, bandwidth usage by trackers and inability to download if the tracker goes off the air?
Bram:
I have no plans to add search functionality, since that can be handled at a higher layer, such as google, and finding content via links is considerably more versatile and widespread than keyword searching anyway.
Bandwidth used by the tracker is currently around 1/1000 the total amount of bandwidth used. With some tweaking, I can get that down to around 1/10,000. Going lower than that would require sacrificing the tracker's ability to collect statistics, since those get significant at that scale.
Relying on a single tracker is really no different than relying on a single web site. Any well-colocated machine is plenty reliable enough, and if you really need failover you can do it at the DNS level.
4a) Re: Improvements... by ichimunki5) Impending doom... by damuI would like to refine this question because I have some specific nits that I'd like to pick: why doesn't the client/server open a single port and listen on that instead of opening a new port for each file? Second, why don't the peers maintain and share information about other peers once the download has started-- going through the central tracker provides a central point of failure. Wouldn't decentralizing allow for a .torrent file to have a list of seeds, and then each of the seeds would be able to share information about peers, eliminating the need for a tracker altoghether?
Bram:
Single port has been high on my list of things to do for a while now but keeps getting put off as more immediate concerns pop up. It mostly hasn't been done yet for a highly technical reason. The way BitTorrent currently shuts down is with a hack where the entire event loop is terminated; To support multiple downloads a cleaner technique which only stopped events and sockets related to a particular download which one of them terminates would be necessary. This is reasonably straightforward to implement, but requires a lot of surgery.
By the way, my mail load has made getting actual development done rather difficult as of late. I'm hoping to offset this with contributions from other developers. While there's been plenty of interest in contributing, and a significant amount of contribution to the tracker, to date noone other than me has made any significant changes to the core download functionality.
If anyone really wants to make a significant development contribution to BitTorrent, you should read over the codebase enough to understand it all (the irc channel can be helpful with this) then ask me what's on the to do list. I suggest you do not start implementing your own BitTorrent client. There are already several of those being worked on, and they're all very far from being as mature as the main line client. What's really needed is more development on the main branch.
Are you taking any precautions for your clash with the RIAA/MPAA?
Bram:
I don't expect to run into any legal trouble. BitTorrent can be used for any kind of content, and several web sites have used it for their own files. Also, all the etree usage (live show recordings of bands which permit it) is completely legal. BitTorrent's total bandwith usage would be quite substantial even if the etree distributions were all it was used for.
6) Future Considerations... by pgrote
Do you feel that BitTorrent's core functionality can one day be integrated in the operating system as a file system? The ability to share files among disparate systems in remote locations can be seen as extension of what was started with HTML, et. al.
Bram:
No. BitTorrent's API is one of starting a download and later being notified that the whole download is complete. File system APIs very specifically involve open(), seek(), read() and write(), which are completely different and wholly incompatible with the way BitTorrent works.
The same is true of http by the way. Attempting to make certain protocols act like local file file system access is kludgy at best, both as a literal concept and as a metaphor.
7) Panhandling for internet dollars... by Matey-O
You've got a paypal dontation button to help compensate you for your non-trivial expenditure of time...how well is that working? Is it an adequate revenue stream, or just enough for a pizza or two?
Bram:
So far, more than a pizza, but less than a living. The donations definitely help though.
8) Re: most obvious question... by Noksagt
...what do you think of what people have done with what you have created. I'm sure you might be sick of people asking you how to obtain a torrent for the latest movie, but are you troubled that it is being used for copyright infringement? Pleased? Apathetic?
Do you wish that it was used more for distributing legal ISOs and other files? If so, do you believe you should promote it more for this purpose or promote development of tools to push it in this direction (perhaps automatic creation of torrents on a successful build, etc.).
Bram:
I'm amused mostly. I find humans highly entertaining.
My attempts to promote BitTorrent for any specific purpose basically failed. It's grown almost entirely through guerilla marketing. That said, I'm hoping that in the future BitTorrent starts being used directly by content producers to distribute their own works.
9) Success... by pgrote
BitTorrent has seen a wide array of usage since it debuted. Many have been surprising and it has caught the fire that makes sofwtare a success. How do you personally measure the success of BitTorrent? Has it achieved the goals you first set?
Bram:
I generally measure software success by how many machines it's deployed on. In that sense BitTorrent has done very well, but it will probably become much more widespread as publishers make their content available using it. My current hope is that BitTorrent will one day be installed on almost all end user machines.
10) Commercial Interest... by Noksagt
I think that bittorrent can be of significant commercial interest. It might be used for software updates for instance. Have you pursued this path or have companies approached you? I certainly hope you'd keep a free version available, but a more feature-rich version would surely land you a great deal of money with the right pitch.
Bram:
So far there hasn't been much commercial interest, but I expect that to change now that large deployments have proven the technology so dramatically.
Starting a business is very tempting. BitTorrent has the potential to create such incredible amounts of value that if I manage to make even a tiny fraction of that I could do very well.
-----
My question would have been...
How do you feel about slashdot crushing every torrent web site and tracker everytime it runs a story on your program?
Davak
Normally the slashdot interviewees take a long time to answer their questions, (I'm not complaining as the candidates are normally very busy people), but this one seems like it was much quicker than any recent one.
Perhaps he distributed the answering of the questions?
one day, just maybe, he'll even make a living from it...
Bram hopes to make a living off code that he wrote that the community seems to really like? Queue the peanut gallery with cries of "sell-out" and "greed" and random smatterings of the words "corporate" and "freedom". I've not used BT extensively but what little I've seen impressed me immensely. Hopefully he can turn it into something that funds its own improvements, and if he's lucky to help pay some bills as well.
Go here to get it http://prdownloads.sourceforge.net/bittorrent/
The question I missed the most was when someone asked why he wrote in python, or more importantly why he has sayed with Python. Bram states that python is his favorite language, but I don't remember him saying if he thought it was the most appropriate one.
If bittorrent ever get modified to server much smaller objects, like html pages and gif and jpegs, then the ton of trakers needed would see a big improvement if written in a compiled lanuage or even java (though I hear a java version is in the works). It would have been interesting to hear from his point of view though.
Why, o why must the sky fall when I've learned to fly?
My advice would be to license the source code under the GPL for OSS projects, and additionally under a commercial license for businesses.
Provide BT technology for incorporation into random commercial products. Resell your consulting skills at a good rate. Train others to be able to do the same. With licensing and consulting fees, you will do nicely.
Sig for sale or rent. One previous user. Inquire within.
Ward Cunningham's Wiki on Patterns has an interesting page on the attitude of referring to details as *just* details.
Very often, the person saying "Oh you just did it this way" has some more learning to do.
A good project for someone to use, is to have the corporate version where the main corporate site can have the file as a bittorrent, and always be serving it. If it cant find any other clients, it uses the corporate file LAST to download from.
;-) oh well, bittorrent rocks!
this way the first few people on the thing would be getting it from the corporate client, then after that from other peers, but then when the file becomes unpopular, people would then basically be getting it from the corporate client again.
This would a little improvement. Though this may just show my ignorance of how bittorrent works as well. Currently I download some files using bittorrent (wolfenstein enemy territories) but when all the seeds go away it can cause issues.
So basically make it so that there is a relatively permanent seed, and he is always requested from LAST. that way if the file is popular the site doesnt have to worry about losing bandwidth.
also, stats tracking should be "ramped up" a little, to where someone would have to register to use the torrents on a specific site, this way the tracking per user could be used. Now this wouldnt interfere with anyones right to privacy, but could be used as a "bonus" system, to provide incentive to keep the torrent open. IE the more you upload the more "credit" you are given. If you think of it in slashdot subscriber terms, perhaps people that have a high "credit" (ie they leave their client open after being finished) would get earlier access to files. maybe have a 3 teir file access. top teir (high uploaders) would get the file as soon as it was served. second teir would get at it 20 minutes later, and 3rd teir get it 45 minutes to an hour later.
this would allow sites to reward those that are high quality users, and maybe allow them to track site benefits based on participation.
maybe call it "sitetorrent" or such.
and this is actually an original idea i thought of trying to get some freinds of mine and myself to code 2 years ago, but I had neither the experience nor the time to work on it. Then someone showed me bittorrent about 2 months ago and I was like "holy shit thats exactly what my product was going to be sans user participation"
Oh, and you cant steal my idea, i provide it free to the public today 6/2/03, as a business application given freely and documented.
Buzz OUT!
If you don't vote, you don't matter, so don't waste your time telling me your opinion
"I don't expect to run into any legal trouble. BitTorrent can be used for any kind of content, and several web sites have used it for their own files"
This hasn't seemed to stop them in the past... The RIAA even admitted that at least 15% of Napster use was legal, more than the amount of legal use they admitted in the betamax case...
I think he should start saving up those paypal donations fo the legal fund because in all likelyhood he is going to need it!
Visualize the world of wine
my sources in the community tell me that the apt-get guys are busy incorporating P2P into the latest version of apt-get in order to extend the availability of rare debian packages and to lessen the load on the central debian servers, which are frequently crashing under their present heavy load.
Unless, of course, he has a hot 15 year-old daughter that wears skimpy clothes and says, "I'm Bitty. Share me!". Aimster/Madster probably patented that business model, though.
Do you even lift?
These aren't the 'roids you're looking for.
Also, all the etree usage (live show recordings of bands which permit it) is completely legal. BitTorrent's total bandwith usage would be quite substantial even if the etree distributions were all it was used for.
many people are not aware bands like Dave Matthews Band have an open taping policy. while not soundboard, many audience recordings are really close. many tapers spend $5000-6000 dollars in equipment and acheive pristine copies of the concerts. access to the shows has become even easier thanks to an amalgamation between archive.org and etree.org, we now have the etree.org audio archive.
these files are distributed in the lossless SHN format so each copy will sound the same no matter which generation of the disc you have.
with the addition of BitTorrent the trading of these concerts has become even easier. Many links can be found under the music of Smiler's BitTorrent site. But here are a few direct links; here and here.
Check out the etree newbie FAQ and the etree trader database for more info.
The best part is the RIAA can do nothing about it, imagine that legal free music!
Mike
The following (not python but java/gcj based) project is nice The Hunting of the Snark Project.
Although maybe not yet perfect it includes a BitTorrent client and tracker implementation which seems to do very nicely for smaller downloads. It includes a build in webserver and tracker which makes sharing files really easy.
... Are you concerned that M$ might decide to make a P2P system that works similarly to this and start bundling the client with Windows, or even as a part of their Media Player? They would then license the tech to the media companies to use for distributing movies, etc. Such a move could dramatically reduce the growth potential of BitTorrent (see "Netscape" and "RealPlayer").
Even if M$ just gave it away at first in order to take the biggest chunk of the market for later reaping, the impact on other products such as yours and Kazaa and others would be, well, bad.
Flash is the Herpes of the Internet.
your.opinion >
Anybody have a bittorrent link for a text-file of the article? In case it gets slashdotted.
Do you even lift?
These aren't the 'roids you're looking for.
A commercial branch of BT could be packaged up nicely as a spyware free alternative to things like kontiki which companys like gamespot.com use to send large files to non paying users but avoiding the bandwidth costs.
I run a tracker that hosts a number of game related files (here) and have a "headless downloader" for each one. That is, you run btdownloadheadless.py on a .torrent on your server and let it continue running. You can set the max upload speed, etc, so that it doesn't use up your entire pipe. It acts as if it's just another seed/client.
.torrent, then start a downloader on that with a max upload of 100 - 200k/sec. That ensures that there is always at least one seed for each file, and it helps provide some additional upload bandwidth. I am surprised more trackers don't do this, even if they just set the max upload at 5k/sec or something it would help a lot.
What I do is put the source file onto the server, create the
He said images on a website are too small to bother with. Well, how about a tarball of the entire site?
... torrent://slashdotted.site.com
With the home page at the front. It would be terrific if people didn't have to fear being slashdotted. It would be cool if an Apache module could be developed to detect when bandwidth reached over a certain level, made a tarball and only allowed Torrent download of that. Then later, reverted to normal.
Making a file system driver for BitTorrent - not possible too different? I don't buy that. I could be done. Of course, there'd be latency.
Perhaps not handy of interactive use.
Also, how about new bowser protocol tag (like http://)
Since Gnome's VFS already does smb: etc this
would be a nice place to add it.
This application is highly I/O-bound, not CPU-bound, so raw processing speed is not a factor. It only has to be "fast enough", which it is. The things that do matter are things Python is good at:
;-)
- Security. This is a server, so buffer overflows and memory allocation errors are not acceptable.
- Readability. Bram expressed a strong interest in getting more developers involved, making readability essential.
- Platform neutrality.
Other languages cover some of these requirements too, of course. But Python is a great choice.
As for reducing the slashdot effect using a distributed mechanism, I'd like to see something like this: Slashdot runs a BitTorrent server and provides a "package" for every story. Users run a small local HTTP server that fetches web pages from Slashdot story packages, downloaded via BitTorrent. Slashdot lets users set a preference that converts all front page URLs to fetch from the local HTTP server instead of the real site.
The net effect is Slashdot provides a "cache" without actually using up bandwidth. We wouldn't even have to change the BitTorrent protocol. Slashdotters unite!
BT only works well when people leave their clients open well after their downloads end. At the moment, there exists no good way to maximize the seeders, other than intially seeding a file that's 99% done, and then putting the remaining 1% up when there are lots of seeders.
You can still easily leech like a mofo, once your download is done, there's no real check for it.
It doesn't mean much now, it's built for the future.
- Rapid development. For anything (like a P2P app) where the value increases mostly through network effects (how many other people are using the same product), translating ideas into working code is critically important.
- Built-in, conveniently accessed hashes. (aka associative arrays) I program in java regularly, and it's a much bigger pain using a
.get() call for every damn dictionary access than the same code in python. (or perl, for that matter) Any piece of syntax that gets in the way of seeing the forest for all the damn tree leftovers cluttering up your view should be eliminated.
- Cross-platform independence.
As to your objections to python, I find them bizarre. Perhaps on the tracker of a very busy download the CPU speed/memory usage is significant, (witness his statement that several alternative trackers are being worked on) but in any client the entire process is completely network IO bound. As for the problems with Python's garbage collector - BitTorrent (well, the code of it that I've looked at so far) doesn't use recursive structures, so I don't see what the objection is there.Also, "awkward approach towards object creation/destruction"? What exactly does Python do that you wish it didn't? It sounds to me like you're pining for the days before people realized that object destruction costs, and that therefore it's best left to a garbage collector that can operate at idle times.
When looking into the BitTorrent protocol and reading posts to various groups I keep finding the same thing. Bram has stated that his client has been tuned to work with a complex algorithm (to stop leeching amoung other things). Now whilst the protocol is known and documented the algorithms for sharing has not been. I would like to know if there are any plans to document this algorithm anywhere (other than the Python source). The algorith seems to be the important (read new and inovative) thing not the superficial protocol.
----
sigh..
I don't think he gets it. First, we've already discussed the virtues/sins of DNS round-robin. But basically, when DNS round-robin doesn't solve your problem, you have to go to Big-IP. Which means 'free' tracker sites will need complex setup for failover/redundancy.
If the Tracker itself, had this built in, i propose it could do it more efficently, and with less setup hassle. Imagine being able to setup a mirror by simply having the admin place your new "cluster-able" tracker IP:Port on an approved mirror list. The main tracker could refer clients to a mirror after behind-the-scenes communication to determine which mirror has least load.
A step below this, but better than DNS round-robin, would be to give the client an array of tracker addresses. This is better than DNS because you don't get the stalled server mixed with cached DNS record causing inaccessibility. The clients could try connections randomly to the servers in the array, and prevent cached dns records for altering distribution.
-Malakai
-Malakai
A Dragon Lives in my Garage
Insert Witty Remark Here ===>____________________________
Save me from reading this boring interview.
If *I* was Warner Bros, and eveyone offered to distribute and pay for all the bandwidth for the next version of the Animatrix, while I still got to see download statistics, i'm not sure I'd even would need to provide a direct link to the 150 meg QuickTime files.
Yes, the answer to this question was that BT provided download stats.
But I'd like to point out that with DRM wouldn't it be possible to know your download stats of movies / mp3's etc?
I'll see your senator, and I'll raise you two judges.
"Leeching clients? They are all leeching clients and must be jailed immediately! Call the FBI!"
Never confuse feeling with thinking.
Most of the sites linked on slashdot consist of perhaps one meg of text and images. At some point someone will write a slashbot to spider each new story at depth 1 or 2, create a tar and zip of the local mirror, and autopost the torrent within the first 10 comments. You'll then hack together a quick script to find the bot's comment, hit the torrent, and fire up your browser in that directory upon completion.
Of course, unless it's hosted in Russia the first copyright complaint will close the doors. Good thing this is a game multiple people can play.
... if you can use Sharelive for BitTorrents?
I'm the parent too, and it looks like it just went down.
You will be able to make good money from BT if you package the technology in such a way that commercial interests can use it.
What makes you sure it is that simple "package the technology in such a way that commercial interests can use it" ? This is the biggest challenge for any open source (or even closed source for that matter) project.
BitTorrent has got a momentum, but in order to turn it into a commercial success it needs much more than an elegance of the solution and a general interest from a non-paying crowd.
Remember OpenCola (aka SwarmCast) ? It was almost exactly what BitTorrent is in the beginning, yet they evolved into knowledge management, which implies that there was no money in distributed content distribution as-is.
However, there are companies that are present in the subject area. Bycast, for example. But all of them specialize on the very narrow market segments, and that seems to be the only way to get the business off the ground.
2c
3.243F6A8885A308D313
Now if Bram would just get busy and figure out how to swarm a multimedia feed, we could solve the bandwidth problem for that.
Radio on the net, video on the net...the problem is the multiplying lag factor. You need to organize the swarm into tiers, by lag. Tough but doable. Add support for IP broadcast, where available...
With all dew respect to the effort taken, the rest is just functional glue that allows the system to work as it should.
That's right, never disrespect the Dew!! Never!!
"The purpose of learning is growth, and our minds, unlike our bodies, can continue growing as long as we live." - M.J. A
" You have no idea what you're talking about do you? Java runs on a VM just like python. They are both "compiled" languages; more to the point, Python using C extentions is *WAY* faster than Java."
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
Why, o why must the sky fall when I've learned to fly?
Python can also be fairly well optimized; I have a strong suspicion that the slashdotting of trackers is more a bandwidth issue than a processing capacity issue. It's also quite possible (caveat: I haven't read the code yet) that the internal structure placed a higher priority on readability and maintainability than on processing efficiency - I know I've written server applications using that approach, because I'd rather spend an extra $500 on hardware upgrades if more power is needed than an extra $5000 later on additional maintenance, debugging and testing.
Finally, on the issue of speed: a lot of what a tracker does involves managing lists, hash tables, etc. - the type of thing that's built into Python and highly-optimized. It's like someone's discovery when VB5 or VB6 came out that a VB program was faster at some tasks than a corresponding C++ program, because all the processing was being done using very heavily optimized builtins - if you're running a relatively inefficient scripting language but using it to call highly-optimized native code, you may not see the performance degradation that you might expect.
fencepost
just a little off
I'm amused mostly. I find humans highly entertaining.
Whoa - is this guy a fucking android?!?
If perhaps there was a way for windows to send all ACK packets before any other data, so my downloads dont drop to 30 k/s and lower when Im using my entire upstream bandwidth. But there isn't a way, so I don't use it.
You're nothing; like me.
From the BitTorrent FAQ...
How do I limit the amount of bandwidth consumed by BitTorrent?
Use the --max_upload_rate command line parameter, which takes an upload rate in kilobytes/sec.
.:diatonic:.
Now that Shareaza now has .torrent support in its newest beta (1.8.9.0), it should bring in quite a bit of content to the "network"...
--
Time is on my side
Sounds like you could use BTDownloadRoundRobin , a utility which rotates between several torrents, thus letting you painlessly seed multiple files, but not all at the same time.
he's well aware of a tarball of an entire site. so the images are 5-40k on most sites. you have 20 images. so what. that's no more than 1mb. that's still way too small to torrent.
.tar.bz2 files in that case and opening the browser to the local filesystem extraction thereof after the entire thing has downloaded.
the latency issue still applies. since bittorrent gets content from all parts of the file at once rather than in-order you wouldn't be able to view any content until the entire thing has loaded.
its best to write a wrapper around bittorrent for hosting
it doesn't belong within bittorrent itself.
mojonation had / mnet has the ability to publish website content with direct access. it works but that's because it makes a reasonable attempt to do in-order-ish on demand retreival of the data so that it can extract it and feed it to the browser as soon as it has enough to do so. bittorrent is an entirely different beast meant for exactly what bram intended it for: large content.
All the leet guys KNOW that energy-motrons went out in the last century. All the cool guys use computrons with the evil bit filtered buffer tub overflowing scheduling module compiled in. N00bs, what can ya do with them....
ROFL :D
-------- This sig's for rent
I think that no matter how much bandwidth there is, or how cheap it is, there will always be bottlenecks or a need for more.
I can download The Matrix reloaded at low res in few hours, or at super hi res in a week. People will always drive a use a but more. As there are bigger pipes, people will find uses for it.
By decentralising the network for big files, you will make a better use of a resource.
On Win2k: .Torrent filetype
Open Explorer [Windows key + e]
Tools -> Folder Options -> Filetypes
Find
Click [Advanced]
Select the default action - probably [Open]
Click [Edit]
Add the command line option after whatever is in the field:
[Application used to perform action]
Yay me!
TERRORISTS!!!!!!!!! This is a perfect example of Cyberterrorism and once Bush finds out about it all you slashdotters are in DEEP shit!
The previous text was a joke, all people who view it must send me 98 billion dollars or be subject to my army of lawyers for pirating my writing by copying it with your eyeballs.
Buy Steampunk Clothing Online!
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
I don't know much about the protocol beyond what the FAQ says, so I'm not sure it is possible. Anyway, even now you download different parts of a file simultaneously, so "seeking" doesn't seems to be that difficult.
However, overheads may become significant if the ratio between the average amount downloaded and the total size becomes too low.
the issue is most clients hit DNS servers which cache lookups. the bigger the network the client is on (AOL, Time Warner cable, ...etc..etc) the more skewed your "load balancing" get. If all roadrunner users are hitting 1 IP because that's the IP that got Cached for the next X seconds/mins/hours the server is helpless.
If you were to send the client alist of available IP:PORT, it could then do a random on it, and not be affected by bandwidth-saving-dns-cache-entries that network administers love to use.
Or, like i said in another response, clients needs to go Authortative on every DNS lookup.
-malakai
-Malakai
A Dragon Lives in my Garage
On the other hand, if you interpret "the wheel" as merely the computer industry boom-and-bust cycle, next time will do, but this time would still be better. And the industry version of nerdvana is to sell your business or cash out your stock options during the boom and retire at 35 or 23 as a Mozillionaire; if you feel like coming back as an avatar, that either means doing yet another startup when you've already made your money, or else only showing up as MMORPG characters.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
In particular, Bram said in his responses that the current bandwidth ratio is 1000:1, and that he might be able to push it to 10000:1 without fundamentally disabling critical functions. Is there a CPU bottleneck now on a fast server? Would supporting 10x as many users by buying a faster pipe for the torrent server without changing the software make CPU the bottleneck? Would supporting 10 times as many users by changing data structures or algorithms like that increase the CPU load by 10x? 2x? 20x? Decrease to 0.8x? (Remember that sending fewer or smaller messages often means using less CPU to manage them, though sometimes it means more CPU to handle bit-twiddly compression.) If you want the thing changed around, those are directions to look before you start programming.
Also, if you want to change the bittorrent environment by *putting* the tracker for some interesting product on a big server, e.g. because you're Red Hat or Some Big Music/Movie Company, you also want to check these things out.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks