Rodi is going big time

larytet said:
it depends on your expectations from the service and link you have.
well what if i download a 1gig file and there is a corrupt packet somewhere, will this app acknowlegde this and get the packet resent or am i gonna be sitting with a useless pile of packets? Sorry but this how i have always seen UDP, only for use with small data transfers with less of a time lapse ie it is great for streaming video because of the less time to recieve and if a packet goes corrupt, so what?

I cant imagine using UDP in P2P, unless you have some other way to monitor those packets
 
craigsa said:
So slim how does this software actually work? Is it a download prog. or run via website? Thanks
craig to answer the question... both, a website could be set up similar to one of those torrent websites, the hash file (the equivilent of a .torrent file) could be passed as an argument to the java application as well as some extra data and then the download starts, so you could have a multithread p2p download coming through your browser without the need to install any applications (the rodi overhead is tiny, I am trying to strip debug data etc from the app to make it smaller, hopefully it will end up being about 260KB) OR if you have the rodi application on your pc in the form of a program you could use that.

It's really extensible
jjtoymachine said:
Isnt that really unreliable....
yes and no, there will be lost packets, UDP is connectionless as your probably know however it sends data in blocks (default 4MB) and each block is split into chunks, 1024KB and is hash checked, if chunks 1, 3 and 4 come down nicely and chunk 2 is corrupt then you will request chunk 2 again. Torrent are similar, torrent downloads are almost always corrupt somehwere along the line but the file you end up with is perfect, the same can be said with Rodi. You can change block sizes too, so if you're on a 100mbit you can make 40MB blocks if you wanted to.

To fully grasp Rodi it's best people see it in action, when i was capped I ran a test download, it wasn't throttled at all, not to 8k, reasons for this is because the throttling at WBS seems to work with the packets involved with connecting, ACK, SYN, ACK SYN, it can't manipulate the connection and therefor I got data as fast as they could send it. Sort of like those iBurst to iBurst transfers when you are throttled, except this works for international too.

Larytet will be implementing resume support (he is hoping for later this week, but he is a busy guy) after that I'm hoping to built the first Rodi site (with his help ofcourse) to give a practical example to the world and more than likely it will have something to do with iBurst, I have already started playing around with some code.

This can be much more than merely a new bittorrent for you to download your movies with (although thats a simplified statement it can be that) it can also be a new content delivery system for legal downloads, not only your suse ISO's but imagine the MPAA (movie picture association of america) or some TV company for example is sick of piracy, they know people want a standard type of p2p to get thier files so in trying to fill that demand online they offer a members service where you pay per view, you then pay and get 5 movie access on thier site, you browse the films at the box office, and you find say 'The Longest yard' with Adam Sandler, you like it so you dim the lights and click download, immediatly you could have the file streaming to your pc, at a bitrate watchable to you (600kbit should do it) after you're finished watching you have a copy on your pc at 2000kbit, a perfect copy, so you can watch while you download and have a nice copy to show your cat or whatever. Then obviously thy'll probably have some protection to make sure you can't distribute the file further. the possibilities are endless though.

And i should mention this tiny robust little piece of software doesn't need to be installed (later installable clients may well show up), can multithread like a dream, it can run either in swarms like bittorrent or giant swarms like edonkey, can work behind a NAT, can find the ports for you (at no time do you *have* to tell other peers your IP or port), is extremly anonymous. You can search not only for file names but for file content too.

Larytet would say I've oversimplified the explanation here ;) (perhaps even speculative) but I think that's exactly what Rodi needs to appeal to the masses, right now its great technology but a little out of the reach of Joe Average.
 
Last edited:
im almost sure that UPD doesnt resend...for the exact reason of it being connectionless. If tweaked headers have been added to it, then sure you can get it to resend. But thats my whole question im trying to ask? How do you get UDP to have any sort of reliability? Im not trying to say the app dosent work...im sure it does :)
 
oh yes it does resend, it resends because you tell the peer to resend, Larytet mentions it up there, you request your data chunk, the peer (who will be known as the server from here) says 'ok mate, no probs here's your data, call me if you need anything', now remember theres no actual connection going on from here, the server then chucks the data to you, you catch it and notice that its failed the hash check but you carry on getting chunk 2, chunk 3, chunk 4 etc, then you send a message back to the server saying 'ummm nope didn't get chunk 1 properly, please send again, but send it a little slower' or whatever.

So yes the packets arent resent because of UDP like they would be with TCP, but the Rodi protocol makes sure they are. In other words the protocol layer over UDP is responsible for that.

People are so used to TCP when they hear UDP they almost fall off thier chair, but it does have alot of advantages that TCP doesn't, all of the connectivity rules in our litte internet world are written around TCP, we expect to 'connect' because we have done so with TCP, the first thing people learn about UDP is that its connectionless, unstable and only good for video streaming. The first thing people learn about evading packet shaping is that its good to be connectionless, unstable and use technology used in video streaming :p

basically rodi attempts to take care of UDP's short comings for you, all the advantages of UDP with the reliability of TCP (well not on the low level, but higher up at the application level).

Rodi makes sure if you request something, it comes down as fast as it can be sent and arrives at your door step as it was intended, a complete, perfect copy of the file requested
 
Last edited:
Ok the software aside, Larytet (Arkady) is a breed unto himself, he's a developer watching the internet turning into George Orwells 1984's prediction. Big Brother so to speak. So he's putting more control in our hands the way I see it, taking a piece back. Rodi is 100% non-profit, non-commercial and thats the way I like it. He even decided to not use a paypal donate link on the Rodi site at sourceforge because he looked at the html and I assume cookies and saw some things he wasn't happy with regarding users privacy.

This is exactly what we need. He's basically putting in alot of his spare time to develop a tool to help those of us who don't benifit from multi-nationals profit binging, and all for nothing.. just perhaps a little recognition (but even without that he's happy).

I have no doubt this tool is exactly what users like us (who incidently exist all over the world) need. And once I make the first pracitical example, the first real world application of this technology hopefully you guys will think so too. And the fact that this first practical example will be used on WBS is pretty cool to me, and if nothing else (if you don't care about how/why it works and how it could change things and why it could or couldn't be huge) you will at least have p2p working on your heavily shaped connections, guaranteed.
 
Top
Sign up to the MyBroadband newsletter
X