Long-Awaited BitTorrent 4.0 Released
wintermute1974 writes "After sitting at a stable release of 3.4.2 since last spring, Bram Cohen's official BitTorrent client has been upgraded to version 4. In addition to its existing, rock-steady functionality, BitTorrent now sports a new queue-based UI. The revision details are on the BitTorrent site. Packets are now marked as bulk data too, which is significant considering that about a third of all Internet traffic is currently torrent data."
Since it's a decentralized standard, we'll need other clients to mark packets as 'bulk data' as well to get full benefits in routing from this. Since companies are starting to use BT commonly to distribute files in-game (or will, shortly), their code will need to be updated too. So, no magic bullet but a step in the direction of creating a heirarchy of data packets.
I'm interested to see where this'll go-- will ISPs absolutely choke 'bulk data' packets and drive folks into using older or fringe BT clients to get faster downloads? Will this help solve VoIP realtime bandwidth issues? Will the 'good net citizen' vibe surrounding writing the 'bulk data' flag into ones code overshadow potentially making ones users into second-class net citizens?
Or will this not be a big deal at all?
Probably some of everything, I suppose.
The actual link is to the download is here.
The changelog:
Gan Family Homepage
No you don't, because the protocol has not changed.
Also of note is that BT 4.0 is using a modified version of the Jabber Open Source License.
It's complient with the Open Source Definition. Not huge shaking news it seems like.
Better yet, now that BT 4.0.0 uses GTK instead of wxWidgets (as per the release notes), will this hamper the OS X frontend?
The only other OS X native BT frontend I know is Tomato Torrent ... but that's just a tweaked 3.4.2 build. CLI / X Windows here I come...
I tried the official website and it seems that their News area is non-functional at the time of this posting and Google just brings up tons of people asking the same question.
I haven't heard so much as a peep regarding the new Mac version during the dev of the latest Windows client. Can anyone give us an ETA on 4.0 for OS X?
NOTE: This is the windows version
Tried it out throwing down some linux torrent simultaneously.
Downloads save to the desktop by default (although editable) and look like Firefox's Download Manager with details, progress bars, etc. Really nice because opening up 5 torrents used to mean 5 seperate windows. Client worked fine on most of the trackers given by A Quick Google Search.
Download it quick! I'm sure someone will torrent the executable...
This makes sense though, because it simply works incredibly, and they're probably working on some bigger things now for a new version. It's stabilized quite nicely, better than any closed-source software out there lately!
Berto
Might want to try Bits on wheels
It's a flag at the IP level which routers use to handle different traffic classes (realtime, low-bandwith/low-lag, etc. In particular, bulk data is high-bandwith and lag tolerant so that someone using a high lag system like a sat. connection can route the packets in a manner that improves overall performance. This normally involves allowing for bigger chunks of data at a time with less feedback (the ACKs) for each chunk.
--
Free iPod? Try a free Mac Mini
Or a free Nintendo DS, GC, PS2, Xbox
Wired article as proof
Now, taking these one at a time. VoIP has certain needs: it needs a certain amount of bandwidth, and its data must be transferred within a short period of time, or it becomes unusable. A VoIP connection is generally held for of the order of minutes, so quick setup of a connection is not a high priority. HTTP needs quick setup/teardown, because you have one connection for each file (typically kilobytes in size; yes, I know that later versions of HTTP can transfer multiple files within one connection), but latency is not a huge concern; bandwidth might be, depending on the data. FTP is an interesting beast: low latency and low bandwidth for commands, but high bandwidth and don't-care latency for data. Setup/teardown times not a major issue. NNTP needs high bandwidth, but latency is not a concern at all. SMTP usually needs low bandwidth, and latency isn't a major issue, as long as the message gets through. SSH needs low latency, but bandwidth needs are generally low.
You have a relatively small pipe to the rest of the Internet. There are high demands on this pipe. How do you decide what gets pushed through, and what gets dropped, or delayed until later?
BitTorrent marking its packets as bulk means that quality of service systems can say "These packets aren't of major importance; they can be deferred until later". So the short-term throughput of BT is reduced, for the benefit of others who need the pipe for applications like VoIP (for example). When those other applications reduce their demands, BT is able to transfer its data.
The understanding is simple: the urgency in the transfer of data via bittorrent is low, so if bandwidth is at a premium, the routers can drop, or throttle, the bittorrent data to make room for high priority data. It's the same principle as FedEx uses: if you have stuff that needs to be moved FAST, you pay a price premium, and it gets moved on the next plane, bumping off some low-urgency, low-price cargo to the plane afterwards. If there's a lot of high priority and low priority traffic, such that the low priority traffic is building up faster than it can be moved, it's time for FedEx to buy more planes, or start not accepting low priority traffic -- or, in the ISP business, to buy a fatter pipe.
Hope this helps.
Look at the licence, it seems to me that's the "control" is something he certainly isn't overly interested in.
He probably just wants to offer a product he can be proud of, maybe so people will appreciate his work and choose to support him.
Boffoonery - downloadable Comedy Benefit for Bletchley Park
Not here at slashdot according to this.
The problem is the users
The protocol section in the packet header is marked 30. As such it should follow the rfc969 guidelines.
Azureus runs just fine on OS X as an Aqua application. It's probably the best OS X BitTorrent out there.
Albuquerque PC
Might as well link to the joke so...
c om puter.mov
http://media.ebaumsworld.com/index.php?e=gijoe-
and more can be found at
http://www.ebaumsworld.com/gijoe.html
It's one of those were either you laugh your ass off or become disturbed at the amount of free time people have. Personally I laugh my ass off.
The official client's new interface is streamlined and simple. It installs in a second (literally). It has all of the options that I need (I'm a simple man, I just want to download some files). And it never asks me annoying questions while I'm just trying to download something.
In short, the new interface is great; I wholeheartedly recommend it (unless you have a fetish for tabs and arcane configuration dialogs, in which case by all means continue using Azureus).
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
There isn't much improvement to this client that will carry over to other clients. That is, this is not the second version of the BitTorrent protocol, as explained here. Bram has been pretty mum on the second version of the protocol, although the official developer forum has had some heated debates over how some of these features should be incorporated and what their parameters should be (note that, although at times heated, purely constructive ;).
So if already content with Azureus or BitComet or whatever, nothing to see here... Move along folks.
- shadowmatter
ABC is nice indeed. If you are an advocate of BitTornado, but prefer a single window for all of your downloads, ABC is the client for you. (It uses BitTornado as its core, so you get all of BitTornado + extra features + a single window).
Are your ports properly forwarded? Find out here!
I have an old 400Mhz Dell Dimension L500cx with 512MB RAM. It does have a new 80GB hard-drive, but everything else is pretty old.
Azureus works fine-- no big performance problems at all. I can download and my wife can still use iTunes and MS Word at the same time. Azureus maxes out our DSL connection, but that's the network, and all computers are affected.
94% of Repubs and 21% of Dems voted to renew the Patriot Act
eXeem is a sloppy piece of crap, and a thinly veiled vehicle to get spyware and malware on your system (whse).
Slashdot staff should be ashamed to have promoted it like they did. They did 2 or 3 articles about it, as if it were some great tech sent from the heavens.
Besides the fact that the very notion of it is what's wrong with the internet, and why the government will eventually regulate the hell out of it. The entire point is to trade warez. I did an eXeem search for linux, and didn't get one result - so don't give me some bullshit about slackware isos. Society are like kindergarteners, they had a little freedom, and blew it. Now we're all going to be grounded.
Actually, is that why michael left? It wasn't long after he "wrote" a couple "eXeem is great! get your warez on eXeem!" articles that he left.
I don't need no instructions to know how to rock!!!!
No. In order for users to voluntarily mark their packets as "bulk data", there has to be a benefit for them. That benefit is supposed to be higher overall transfer rate. The tradeoff is higher latency. So a router that receives a BitTorrent packet and a VOIP packet at the same time would send the VOIP packet first to reduce latency, and queue the BitTorrent packet for afterwards. But if the queue is full it would *not* preferentially drop the BitTorrent packet because that would reduce throughput. In fact, if the queue has many VOIP packets, the router should preferentially drop incoming VOIP packets, because it would not be able to send them with low latency anyway. This limits VOIP throughput, which is fine. In fact that's the result we want: VOIP = low latency low throughput, BitTorrent = high latency high throughput.
At least, I hope this is how ISPs implement routing for packets marked as bulk data, because otherwise it will never be adopted.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
Yes Azureus does rock. Some of the features that have been around for a while are its support for pluggins. The one that seems to be most popular is its RSS feed reader. It monitors and filters RSS feeds for files that a user wants to have downloaded. This makes going on a several day vacation quite a bit easier. I use it to download my latest Al Franken Show from Air America. -dk
AFAIK streaming won't work because the info. arrives in deliberately random chunks so as to even out which peers are u/l-ing and which is d/l-ing. Everyone gets to contribute within a pretty short time of joining a torrent.
Looks like it is being worked on. I regularly checkout the cvs and I see tons of OSX changes being downloaded.
First, let me say: Hi-Larious.
But your comment is still completely irrelevant to the question of the specifics of why bitorrent has a custom open-source license.
The best answer you're going to get is by reading it, line for line.
A quick answer on WHY the license is needed, is:
- unlike the BSD / MIT licenses, it requires to you make source code modifications to the bittorrent code available to the public.
- unlike the GPL it does not require you to make the rest of your [non-bittorrent] source code available, if bittorrent is integrated into your project.
- it includes a provision to void the entire license if you file a patent claim against the bittorrent code / its author.
Unfortunately BitComet only runs on Windows.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
rtorrent (http://libtorrent.rakshasa.no/) is indeed an ncurses interface, but it's one of the most effective interfaces I've ever used. Not only can you throttle downloads, set priorities on files, do session management with fast resume, it also displays any information on the torrent you'd ever want.
I used qtorrent before, which has significantly less features, because as you say: java for linux sucks.
If you can't for the life of it use a console interface, then it's your own fault. Also, I heard, people are planning on writing guis for the libtorrent library.
If that were all he's interested in, he'd use some simple and brief non-copylefted free software license like the new BSD license or the MIT X11 license.
There is considerably more in the new BitTorrent license than in either of those licenses. Among other things, the new BitTorrent license specifies which licenses can be used as sublicenses and how much one can charge for distributing the source code of sublicensed derivatives.
Pride in one's work doesn't come from a license and people aren't going to give him money because of the license.
Digital Citizen
That's probably because bittorrent isn't very efficient for small files.
If you want to follow the example of Bram who only downloads legal stuff, you can test your brand new BT 4.0 client with the excellent Wired CD, in Ogg Vorbis :
.torrent
Wired CD
In practice, it doesn't leak resources like all the python/java/etc implementations do, and its interactive ncurses client is the best bittorrent one I know of. It does also use our well-known GP L :).
I care
.torrent files on any machine, then ftp them to the right directory on my main machine and voila yet another torrent downloading .
btdownloadmanycurses running under a screen session means that I can have my torrents up and downloading as long as my machine stays up.
If I accidentally crash X whilst playing doom3 (or whatever) it does not hurt my torrents.
In fact I can download
Usually the stuff has downloaded by the time I get home again, and I can listen to them immediately (live concerts from easytree). Try that with any of the facny GUI clients
If the license isn't valid, you are not allowed to redistribute the code. That is basic copyright law.
The *only* thing that allows you to redistribute the code is the license. So it is in your own interest to defend the license.
Of course, if you don't redistribute the code, you don't have to accept the license. The GPL is very specific about this, but it is true for all licenses. Or used to be, apparently there is a trend in some juristictions to consider the transfer of the program from harddisk to ram in order to run the code to be covered by copyright (very much against the spirit of copyright law), which mean accepting these licenses will be needed if you just want to run the program.
If you're downloading a lot, the overhead of running the one instance of Azureus needed to do that beats that of running, say, the dozen instances of the the official client, hands down.
I use CTorrent, a console torrent client in plain C. Feature is a bit limited, but it works and has relatively small footprint.
And doesnt report stats right. Not a problem for some, but anyone that uses empornium should know that they get no upload credit and will end up throttled
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
> I find it tragic that noone has released a high
:)
:)
> quality POSIX C client. Maybe the OpenBSD guys
> will eventually get around to OpenBT?
Well there is C BitTorrent client. A bit stagnated (meaning developement/releases) but it works usually and is under GPL so it is nice base to start off.
http://ctorrent.sourceforge.net/
Keep in mind that this client is writen in *nix way - meaning that it does not have fancy GUI at all, it does not do queue etc. - it just gets torrents.
I've used to use ctorrent, but now I am only using BTQueue which is very extended original BitTorrent client. It has queue abilities, gives loads of info, can do throttling etc. extremely configurable. It is a bit raw but can be used once you get used to it.
http://btqueue.sourceforge.net/
It even exports WebService with ACL for full control.
If you have a 3D video card, try activating opengl acceleration in java. From the script launching azureus, add the following command line property:
-Dsun.java2d.opengl=true
This will activate the opengl pipeline for Java2D calls. (Swing uses Java2D for all rendering...)
In order for users to voluntarily mark their packets as "bulk data", there has to be a benefit for them. That benefit is supposed to be higher overall transfer rate.
No, the benefit is that their Internet connection remains usable for interactive traffic instead of slowing to a crawl due to the BitTorrent traffic. (The overall transfer rate is likely to be the same either way.) You don't stop using the Internet just because you're downloading something, do you?
If you're not using your connection for anything else, BitTorrent can max out the bandwidth, with or without the bulk data flag. If you have other traffic, the TCP/IP stack will have to make room in the stream of data for those other packets sooner or later -- and when those packets go through really won't affect the final download time because latency is of little importance. However, it may be critical to the other traffic, so it's best to label the bulk data to keep it from being prioritized before more urgent packets.
Really, the only reason not to use the flag is because such traffic could be easily singled out for blocking. However, such action would be foolish, since people would just stop marking the data as "bulk" if that caused it to get dropped. This would cause all the bulk data to be transferred as if it were time-critical interactive traffic, defeating the value of the flag altogether. (Email can be marked as bulk email, but do spammers use that flag? Of course not! They know they'll be blocked.)
It's best for everyone if all bulk data is labelled, the routers prioritize it intelligently, and nobody blocks bulk data transfers.
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
If your cable modem's queue supports packet prioritization, yes. Most of them don't since they're simple devices. (In the VoIP age, this might start changing.)
Set an upload cap on your BT client if you don't want it killing your connection, or replace your router with a Linux box that has more intelligent packet filtering. (Specifically, if you know your upstream cap, you can set up the Linux box to be the actual upstream bottleneck and not the cable modem, and when the router is the upstream bottleneck, it's a lot easier to prioritize packets effectively.)
Also some BT clients support automatic upstream detection. The way they do it is by measuring your latency to a few sites, if they see the latency spike, they throttle themselves back until latency goes down.
retrorocket.o not found, launch anyway?
Didn't know that, but if it touches the Java2D api at all there should be a speedup. Apparently Azureus uses SWT that does not use Java2D (as far as I know) but it can...