Slashdot Mirror


Increasing Wireless Network Speed By 1000% By Replacing Packets With Algebra

MrSeb writes "A team of researchers from MIT, Caltech, Harvard, and other universities in Europe, have devised a way of boosting the performance of wireless networks by up to 10 times — without increasing transmission power, adding more base stations, or using more wireless spectrum. The researchers' creation, coded TCP, is a novel way of transmitting data so that lost packets don't result in higher latency or re-sent data. With coded TCP, blocks of packets are clumped together and then transformed into algebraic equations (PDF) that describe the packets. If part of the message is lost, the receiver can solve the equation to derive the missing data. The process of solving the equations is simple and linear, meaning it doesn't require much processing on behalf of the router/smartphone/laptop. In testing, the coded TCP resulted in some dramatic improvements. MIT found that campus WiFi (2% packet loss) jumped from 1Mbps to 16Mbps. On a fast-moving train (5% packet loss), the connection speed jumped from 0.5Mbps to 13.5Mbps. Moving forward, coded TCP is expected to have huge repercussions on the performance of LTE and WiFi networks — and the technology has already been commercially licensed to several hardware makers."

357 comments

  1. This is cool. But... by Anonymous Coward · · Score: 5, Insightful

    ...I don't see how it will solve "spectrum crunch" when every nibble of your LTE bandwidth is oversubscribed by 5 to 1. Whether you have 32 users doing 10 Mbps streams, or 320 user doing 1 Mbps streams, it's all accounted for. I'd certainly like to be one of the 10, but 20 Mhz worth of spectrum at 16 symbols/Hertz is not a limitation you can change with fast/excellent forward error correction.

  2. Just like parity files by Ignorant+Aardvark · · Score: 5, Insightful

    If you've ever used Usenet, and you've used parity files to recover missing segments of data, then you know exactly how this technique works.

    Frankly, I'm surprised it took so long for someone to apply it to lossy network environments. It seems obvious in hindsight.

    1. Re:Just like parity files by timeOday · · Score: 4, Interesting

      Forward error correction is a pretty basic principle in encoding and has been used nearly since "the beginning" in the 1940s. They're used in several places up and down the protocol stack; WiMax uses Reed-Solomon coding, for example. But I guess this implementation uses a better algorithm at a different level in the stack.

    2. Re:Just like parity files by ArtuRock · · Score: 1

      And if I recall correctly parity files get their algorithms from the same ones used in RAID arrays: http://web.archive.org/web/20110724075400/http://parchive.sourceforge.net/

    3. Re:Just like parity files by Rene+S.+Hollan · · Score: 5, Informative

      Wouldn't bet on it. Probably just reinvented the wheel.

      I coded Reed-Solomon FECs for packet radio in the 1980s to combat picket-fencing for mobile data radios using Z80 CPUs.

      --
      In Liberty, Rene
    4. Re:Just like parity files by oodaloop · · Score: 2

      It seems obvious in hindsight.

      So does everything. Or was that the joke?

      --
      Tic-Tac-Toe, Global Thermonuclear War, and relationships all have the same winning move.
    5. Re:Just like parity files by Platinumrat · · Score: 1

      I'm sure that this is pretty much standard for how NASA send and receive data using the Deep Space Network. Only using TCP. What's actually patent-able here?

    6. Re:Just like parity files by Ignorant+Aardvark · · Score: 1

      Well, not so much of a joke as an inevitability, but yeah, a lot of the great inventions seem obvious in hindsight. Yet, for some reason, no one figured it out for awhile.

    7. Re:Just like parity files by Anonymous Coward · · Score: 2, Funny

      Well, not so much of a joke as an inevitability, but yeah, a lot of the great inventions seem obvious in hindsight. Yet, for some reason, no one figured it out for awhile.

      One day it will be obvious to us why this is the case.

    8. Re:Just like parity files by Bill_the_Engineer · · Score: 1

      The brand name?

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    9. Re:Just like parity files by Anonymous Coward · · Score: 0

      ...packets are clumped together and then transformed into algebraic equations... ...solving the equations is simple and linear... ...the technology has already been commercially licensed to several hardware makers...

      So now math IS intellectual property?

    10. Re:Just like parity files by SpazmodeusG · · Score: 4, Informative

      Yes, Raptor Codes are the specific ones used by NASA on their newest deep space missions link. Raptor codes are a type of fountain code.

      Fountain codes are worth looking at if you haven't been keeping up with the latest and greatest Comp Sci developments in the last 15 years. With fountain codes you can break up a chunk of data into any number of unique packets. Any subset of those packets that add up to the size of the original packet can be used to reform the original file.

      So say i had a 1MB file to send to Mars. I run a fountain encoder on that and i tell the encoder to make me 10,000,000 packets 1KB in size out of that 1MB file. So the fountain coder gives me 10GB of generated packets from that 1MB file. Now i spam those 10,000,000 packets across a really noisy connection. As soon as the receiver successfully receives any 1,001 of those packets (totalling up to just over 1MB worth of received packets) it can rebuild that file. I don't need to wait for retransmission requests or anything and it doesn't matter what packets make it or not. Just as long as the receiver can eventually successfully receive slightly over X bytes of data it can rebuild an X byte file.

      Traditional error correction codes are great for correcting bit errors in a message that mostly gets there. Fountain codes on the other hand are great in situations where entire chunks of the desired message can be lost, they can avoid the retransmission of these lost packets entirely. The only issue is that they require redundancy in transmission in the first place.

      It seems here they are grouping 50 packets of data together into 1 lot and making 50+R coded packets out of it where R is some number that's variable depending on how much loss they see. So they might send 60 coded packets. If any 50 of the 60 coded packets make it there they should have enough to rebuild the original 50 packets using fountain codes.

    11. Re:Just like parity files by Anonymous Coward · · Score: 0

      It didn't take so long:
      http://en.wikipedia.org/wiki/Luby_transform_code

    12. Re:Just like parity files by martas · · Score: 1

      From what little I remember about wireless, between-packet redundancy is the novel part here (at least I have personally never heard of it before). Within-packet redundancy has of course been used since pretty much the beginning of time.

    13. Re:Just like parity files by BeanThere · · Score: 1

      Slashdot has really gone down compared to its early days if a comment gets +5 of someone stating that error correction codes for lossy data transfer is only now being applied to networks (and then boasting 'surprised it took so long' as if the poster is chuffed at how presumably smart he is then because this is so 'obvious'). I remember implementing such error correction schemes back in the 90s.

    14. Re:Just like parity files by Xest · · Score: 1

      Reed-Solomon is fairly commonplace, I think it's even what's used in the Compact Disc standard for example, it's been a very succesful algorithm.

      I've not read the paper but from what I've gathered from the summary and comments here it sounds like they've basically just invented a more efficient error correction/detection algorithm in terms of bits corrected vs. data sent and that this has simply become possible because of an increase in processing power to handle the likely more complex algorithm involved.

      In other words, it sounds like a natural evolution of coding theory that takes advantage of the increases in computing power we've seen since the likes of Reed-Solomon came along as a fairly common method of handling error detection and correction rather than something that manages to genuinely find extra usable bandwidth out of nowhere - I don't think it's doing that, I think it's probably just trading processor cycles for more usable bandwidth, which makes sense given an increased abundance of processing cycles available cheaply for such tasks.

      Still, maybe I'm wrong, if I get chance I'll have a look through the paper at some point and find out either way I guess.

    15. Re:Just like parity files by Anonymous Coward · · Score: 0

      The slashdot article isn't written very clear. Pretty much every data transmission technology uses one or more coding technologies for error correction (Mobile networks, DAB/DVB, WLAN too for sure, etc.). Without error correction applied, the range of those technologies would be extremely limited. The special thing here seems to be, that the coding is applied on packet-level. That allows to reconstruct completely lost packets (That were disturbed by the damn tree that just passed the window you sit next to in the train while you tried to load your youtube videos).

    16. Re:Just like parity files by swalve · · Score: 1

      Except that, from what it sounds like, rather than just sending extra data by default as parity information, they are encoding it differently. Sort of like how the FLAC audio codec works to compress audio. By representing the data payload as algebraic expressions, missing data can be extrapolated rather than calculated.

      But it seems to me that the right way to handle problems with the medium (wireless being lossy) is in that layer, rather than in upper layers. Why mess with TCP when the problem isn't in that layer? If the physical layer is lossy, make that layer do the work to ameliorate its own problems. Each link should be doing its own "can you hear me now?" work so that TCP retransmission can do what it is supposed to do, which is correct for congestion.

      Something is also fishy with the technique or the writeup, since isn't most streaming data (like the mentioned youtube videos) sent UDP anyway?

    17. Re:Just like parity files by Anonymous Coward · · Score: 0

      You're wasting a lot of bandwidth if you need 10 million packets to transmit 1 million bytes of data.

    18. Re:Just like parity files by Anonymous Coward · · Score: 0

      Umm. 1001 1K packets is under 1MB. Didn't you mean 1025?

  3. Good but... by Anonymous Coward · · Score: 0, Offtopic

    Will it blend?

  4. too specialized on a single protocol? by Anonymous Coward · · Score: 0

    So this only covers TCP packets? What about UDP, ICMP, NETBIOS and other IP based protocols?

    Sounds like a solution that is way too specialized.

     

    1. Re:too specialized on a single protocol? by Anonymous Coward · · Score: 0

      You clearly don't understand the difference between TCP and UDP. Hint: there's a reason they implemented this with TCP.

    2. Re:too specialized on a single protocol? by broginator · · Score: 5, Funny

      You know what the best part about UDP jokes is? I don't care if you get it or not.

      --
      s/[stupid comments]/[intelligent discourse]/gi
    3. Re:too specialized on a single protocol? by wierd_w · · Score: 3, Informative

      By definition, UDP sessions don't have delivery garantees like TCP does. That's what TCP does! It provides a mechanism for clients to ensure integrity and ordering of received packets. Netbios is an encapsulated protocol over IP, which uses TCP to ensure delivery. ICMP... really? Are you really asking for delivery correction on multi packet ICMP? For real? You do realize that fragmented ICMP is a nono, right, and that ICMP should be wholly contained in single packet messages?

      While true that I wouldn't work for UDP, the clearing of traffic normally consumed by TCP requests and responses would improve performance of UDP by making the medium more available even if the coded TCP method has no direct implication with UDP. (It is up to the UDP session members to negotiate and handle lost datagrams. Not the network stack. UDP is intended for custom user protocols that can't easily live inside a TCP/IP packet, like large video or streaming audio feeds. Normally these protocols can deal with loss, and the burden of ensuring 100% delivery comes at prohibitive performance costs, so UDP with acceptible loss is ideal.)

    4. Re:too specialized on a single protocol? by vlm · · Score: 1

      The problem is probably that he missed they "clump" packets together. If they hadn't done that, then this FEC scheme would work pretty well for UDP.

      Any post 1980's telephone modem (needs trellis coding from a 14.4 modem or better) already does FEC at layer 1... this is a scheme to reimplement that idea over wifi by doing it at layer 3, which seems superficially kinda dumb. Common rule of networking is always push that kind of stuff as low in the OSI model as possible... I do believe that given an awful layer 1, a cruddy implementation at layer 3 will improve overall system thruput... its still a bad design.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    5. Re:too specialized on a single protocol? by flowerp · · Score: 0

      I did not miss anything here.

      If I send a video stream as a sequence of UDP or RTP packets, clumping together to perform some kind of forward error correction is perfectly possible and reasonable.

      When you invent some kind of solution to prevent packet loss on wireless links, it should apply to all kinds of IP traffic and not single one protocol.

      --
      --- Eat my sig.
    6. Re:too specialized on a single protocol? by AK+Marc · · Score: 1

      layer-2 FEC is implemented on UDP packets over wireless now (and has been for the last 20 years). So why is layer-3 FEC inappropriate?

    7. Re:too specialized on a single protocol? by bws111 · · Score: 1

      Except that they are not 'preventing' packet loss, they are coping with it. And if you care about coping with packet loss, why are you using a protocol who's main feature is that you don't care if the packet is received or not?

    8. Re:too specialized on a single protocol? by wierd_w · · Score: 1

      I believe wireless layer 1 qualifies as "cruddy", even if the adjective isn't quite strong enough. (Especially since it is the equivalent of using wired cabling for multiple non-network uses simultaneously with data with no sharing scheme implemented. Eg, sharing physical layer with a microwave oven.)

      802.11a/b/g/n does the best it can, but don't implement multipacket reconstruction to avoid resends. Instead, the radio has to repeatedly shout over the noise floor, and hope the recipient got the datagram, and that a reciept response makes it back. As the popularity of the medium grows (and with it deployments), the noisier the floor gets.

      I agree that layer 3 is not the best place, but due to the peculiarities and unreliability of lower levels, i'd rather see it there than up at the presentation layer, or some other rediculous place.

    9. Re:too specialized on a single protocol? by AK+Marc · · Score: 1

      It would work just fine with UDP, and in most cases is more "valuable" with UDP than TCP. Why? Because TCP will auto-correct. With UDP, autocorrect is usually not used because the autocorrect time is so long that the data is no longer useful (100 ms network time, 60 ms jitter buffer VoIP call couldn't get a retransmit in time to use it). But a real-time FEC would allow that data to be reconstructed in real time, improving call quality. If your FTP packet is dropped, then you just have to wait 100 ms longer for your download to complete. *yawn*.

      And for all the "UDP doesn't allow for error correction" tell me how TFTP works.

      Why yes, I do deal with things like this on a daily basis. No, "network engineer" doesn't mean "the guy that sets up the AP and plugs in the servers".

    10. Re:too specialized on a single protocol? by Anonymous Coward · · Score: 5, Funny

      And the problem with TCP jokes is people keep retelling them slower until you get them.

    11. Re:too specialized on a single protocol? by wierd_w · · Score: 1

      That's not what I said.

      I said that it is up to the participants in the session to handle data correction over UDP, and that usually that data type is used by protocols that expect transmission errors and continue anyway without correction. (Because getting a resend comes at too great a performance penalty.)

      I didn't say that UDP doesn't do data correction.

    12. Re:too specialized on a single protocol? by viperidaenz · · Score: 1

      Can you say that again? I missed the bit in the middle.

    13. Re:too specialized on a single protocol? by parlancex · · Score: 1

      TCP packets are probably 90% of the packets transmitted on the Internet in a given day by volume, and probably 99% by actual payload volume.

    14. Re:too specialized on a single protocol? by viperidaenz · · Score: 1

      If you had FEC and low latency over TCP, why not just use TCP for your VOIP call instead of UDP? Why complicate a simple protocol that is only useful because it is simple?

    15. Re:too specialized on a single protocol? by DeadboltX · · Score: 1

      I got it, I just chose not to ack your bad joke.

    16. Re:too specialized on a single protocol? by Anonymous Coward · · Score: 0

      But the packet loss with the general public is atrocious

    17. Re:too specialized on a single protocol? by enoz · · Score: 1

      Forward Error Correction makes IPTV streams watchable over congested networks or fragile wireless connections.

    18. Re:too specialized on a single protocol? by AK+Marc · · Score: 1

      If you had FEC and low latency over TCP, why not just use TCP for your VOIP call instead of UDP?

      The example I gave had 100 ms latency. You consider that "low"? TCP is fine for VoIP, and a number of propriatary chat protocols have used TCP for VoIP, and they worked fine. And there's no complication to UDP by adding FEC. You are already doing layer-2 FEC on wireless, so if something inserts transparent layer-3 FEC, why do you care so much?

      Why complicate a simple protocol that is only useful because it is simple?

      Answer your own question. Go read about TFTP, as I already suggested. Your presumably rhetorical question has been answered hundreds of times by people smarter than you. Why don't you seek the information and absorb it, rather than remaining willfully ignorant?

    19. Re:too specialized on a single protocol? by AK+Marc · · Score: 1

      sually that data type is used by protocols that expect transmission errors and continue anyway without correction. (Because getting a resend comes at too great a performance penalty.)

      So, rather than improving quality by reducing resends with FEC, your answer is to blame the victim for using UDP? Oh, and you failed to address why there would be FTP on TCP and TFTP on UDP performing what's essentially the same thing, but over separate protocols. No application works well with excessive packet loss, and reducing packet loss helps UDP and TCP alike.

    20. Re:too specialized on a single protocol? by viperidaenz · · Score: 1

      TFTP uses UDP how it was supposed to be used. It's a simple protocol that adds simple ordering and packet retransmit on top of an inherently unreliable protocol. Why? Because TCP requires much more code and memory to implement than UDP. Not every device out there is going to have a full TCP stack, like the boot rom on some embedded device. A network stack that only implements UDP can run with less RAM overhead than a single packet. A TCP implementation needs to buffer packets until they're acknowledged. TFTP doesn't need to buffer packets, the source file is available to be read again. The client receiving the file needs no packet buffering at all.

    21. Re:too specialized on a single protocol? by bws111 · · Score: 1

      Well, sure. But that is an application decision. With UDP, the application designer can decide how much of each packet to use for correction, how many packets can be lost, how to recover from lost packets, etc. It would be bad to have lower layers modifying your packets to try to create some lost packet recovery when the application is already doing it. That is different from TCP, where the application is sending a stream, not packets, and does not care what the individual packets contain or how they are managed.

      Might it be nice to have some standard FEC library that UDP apps could use? Sure. Should the OS, etc be doing it 'under the covers'? No.

    22. Re:too specialized on a single protocol? by AK+Marc · · Score: 1

      TFTP is FTP with packet data verification. FTP doesn't have data verification, hence why you check the MD5 after an FTP. FTP is a simpler program than TFTP because it lets TCP do the heavy lifting. The more complex implementation is on the simpler protocol. Hence why your "Why complicate a simple protocol that is only useful because it is simple?" is self answering in that you are wrong.

    23. Re:too specialized on a single protocol? by MarkRose · · Score: 1

      NetBIOS. The protocol is the joke.

      --
      Be relentless!
    24. Re:too specialized on a single protocol? by TheLink · · Score: 1

      Layer 2 might be OK as well.

      However the Wireless bunch (at least the WiFi ones) have proven themselves to be fairly incompetent in coming up with good solutions.

      --
    25. Re:too specialized on a single protocol? by Anonymous Coward · · Score: 0

      I didn't say that UDP doesn't do data correction.

      You didn't. And it doesn't. if an application uses UDP it needs to provide its own error detection/correction mechanism. That's why RFC 768 is 3 pages long and RFC 793 is 85 pages long.

      Sigh!

    26. Re:too specialized on a single protocol? by fsterman · · Score: 1

      ...if you care about coping with packet loss, why are you using a protocol who's main feature is that you don't care if the packet is received or not?

      Because TCP isn't designed for the type of loss that it is being relied on to abstract away... so someone created a fix. Such violations of networking abstractions are okay, as specified in RFC 3439

      However, in the data networking context structured layering implies that the functions of each layer are carried out completely before the protocol data unit is passed to the next layer. This means that the optimization of each layer has to be done separately. Such ordering constraints are in conflict with efficient implementation of data manipulation functions. One could accuse the layered model (e.g., TCP/IP and ISO OSI) of causing this conflict. In fact, the operations of multiplexing and segmentation both hide vital information that lower layers may need to optimize their performance.

      Yes, there is an official IETF RFC encouraging violating standardized network abstractions. Hacks are a feature, not a bug : )

      --
      Is there anything better than clicking through Microsoft ads on Slashdot?
    27. Re:too specialized on a single protocol? by viperidaenz · · Score: 1
      Have a read of http://www.ietf.org/rfc/rfc1350.txt and you'll realise TFTP is much simpler than FTP and was designed to be so.

      It is designed to be small and easy to implement. Therefore, it lacks most of the features of a regular FTP. The only thing it can do is read and write files (or mail) from/to a remote server. It cannot list directories, and currently has no provisions for user authentication.

    28. Re:too specialized on a single protocol? by AK+Marc · · Score: 1

      You are confusing the application with the protocol. And yes, I've read that RFC before.

  5. Awesome name by Anonymous Coward · · Score: 1, Interesting

    What the fuck were they thinking?

    It's like if tomorrow I invent a new protocol for mobile phones and I call it GSM.

    Or is this a fucking joke?

    1. Re:Awesome name by Anonymous Coward · · Score: 0

      They named it "coded TCP", not TCP.

    2. Re:Awesome name by Anonymous Coward · · Score: 0

      It's a way of encoding TCP packets on the wire, not a whole new protocol. You just need routers converting to/from the coded form on segments of the network, or your network card driver encoding/decoding the packets.

      Which makes it very useful as your existing clients (eg web browsers using HTTP) will work just fine completely transparently.

    3. Re:Awesome name by psmears · · Score: 1

      What the fuck were they thinking?

      It's like if tomorrow I invent a new protocol for mobile phones and I call it GSM.

      Or is this a fucking joke?

      Not a joke, but a badly-worded summary - the invention is called "coded TCP" (presumably because it's a version of TCP with error-correcting codes). I agree that the summary reads as if the protocol is called "TCP"...

    4. Re:Awesome name by CanHasDIY · · Score: 2

      They named it "coded TCP", not TCP.

      Yea, the phrasing was written in the most confusing way possible.

      On second thought, I take that back - it could have been written in Esperanto.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    5. Re:Awesome name by Anonymous Coward · · Score: 0

      No, it's like if you invented an improved protocol for mobile phones using redundant codes and called it "coded GSM".

      Which would be a pretty logical name...

    6. Re:Awesome name by jonadab · · Score: 1

      > Yea, the phrasing was written in the most confusing way possible.
      > On second thought, I take that back - it could have been written in Esperanto.

      It could have been written using Esperanto vocabulary and Japanese grammar, then translated to English using an online translation service.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  6. Math! by Anonymous Coward · · Score: 2, Insightful

    To everyone who grew up saying that they never used math after high school, and it didn't have any meaningful use further than simple addition... you can kindly eat your own words now.

    I'll just sit here and watch.

    1. Re:Math! by Anonymous Coward · · Score: 0

      Whats a math?

    2. Re:Math! by KernelMuncher · · Score: 1

      Where's that politician who said people didn't need to study Algebra ??

    3. Re:Math! by Anonymous Coward · · Score: 1

      Quiet, you bloo'y bri'ish git.

    4. Re:Math! by bws111 · · Score: 2

      Yes, clearly this is the first time math has ever been used in computing!

      I'll just sit here and watch. Watch what? All those people who didn't learn math happily using their computers with improved speed? Or do you think it is going to be up to the user to solve the equations to re-create this missing data?

    5. Re:Math! by Grishnakh · · Score: 3, Insightful

      Sorry, but those people were right. They don't need anything more than simple addition to work at Starbucks making crappy burnt coffee drinks. The fact that their mobile phones will work better as they send inane messages to each other on Facebook is nice, but it doesn't require them to know any algebra or other higher math; the engineers (in other countries where math is valued) implementing this stuff need to know that math, but the users don't.

    6. Re:Math! by boristdog · · Score: 1

      I always tell them: "If you think you won't ever use much math, you probably won't. And your bank account probably won't get big enough to require many decimals."

    7. Re:Math! by Grishnakh · · Score: 3, Informative

      Don't be so sure. Lots of people make tons of money in this country without doing any math. Look at contractors (plumbers, HVAC repair, etc.); they make really good money without any real education and without having to do any math. They probably make out better than most engineers. Or look at Mitt Romney: you think he's ever had to do any math in his business? Heck, go all the way back to Thomas Edison: that guy didn't understand math either (that's why he hated AC power). And he got filthy rich basically by using a brute-force method.

    8. Re:Math! by Anonymous Coward · · Score: 1

      I always tell them: "If you think you won't ever use much math, you probably won't. And your bank account probably won't get big enough to require many decimals."

      Most of us get along with two.

    9. Re:Math! by Anonymous Coward · · Score: 0

      The sad* thing is that he suggested that math and chemistry detract from other classes which would be of more benefit to his children, such as public speaking.

      In other words, if you know you're going to grow up to be a politician, why do you need even rudimentary knowledge of the sciences?

      He's not advocating stupidity, per se. He is, however, suggesting that politicians see no value in knowing anything about subjects his policies will regulate or impact. So much so that he wants to reform the institutions that forced that experience upon him. And that should absolutely terrify you.

      *When I started this post, this word was "funny". By the end of the post, I no longer found it funny. :(

    10. Re:Math! by ThorGod · · Score: 1

      do you think it is going to be up to the user to solve the equations to re-create this missing data?

      No, but that would be mildly enjoyable from my perspective.

      --
      PS: I don't reply to ACs.
    11. Re:Math! by CanHasDIY · · Score: 1

      IAnd your bank account probably won't get big enough to require many decimals."

      Do they ever respond, "Why would I ever need more than 2?"

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    12. Re:Math! by Anonymous Coward · · Score: 0

      I always tell them: "If you think you won't ever use much math, you probably won't. And your bank account probably won't get big enough to require many decimals."

      Yea! I mean,
      who
      besides
      math majors
      and
      engineers
      ever
      got
      rich?

      What a maroon...

    13. Re:Math! by TapeCutter · · Score: 2

      Look at contractors (plumbers, HVAC repair, etc.); they make really good money without any real education and without having to do any math.

      Plumbers make good money because they are educated in plumbing, you think there is nothing to it because you are not educated in plumbing. Here in Oz it takes 4yrs to become a plumber and you must constantly keep your 'tickets' (qualification for doing job X) up to date. It took me 3yrs to get a degree in computer science 20yrs ago and there are no 'tickets' to maintain.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    14. Re:Math! by geekoid · · Score: 1

      "user to solve the equations to re-create this missing data?"
      I would be happy if the user had to solve equations to turn their computer on.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    15. Re:Math! by Grishnakh · · Score: 0

      I'm sorry, the level of knowledge needed to do residential plumbing doesn't come close to approaching what's needed to get a BSCS degree. It probably takes 4 years in your country because they have an apprenticeship program of some kind, so it's on-the-job learning (i.e., you can't claim to be a "plumber" (on your own) if you haven't put in the time). It's not like it really takes 4 years to learn how to solder some copper pipes together and unclog a drain line with a sewer snake.

    16. Re:Math! by icebraining · · Score: 1

      People would just leave them on 24/7, wasting massive amounts of electricity.

      Either that, or they'd use their smartphones to input them into Wolfram Alpha.

    17. Re:Math! by CastrTroy · · Score: 4, Insightful

      Sadly, most people who are plumbers are probably better qualified then most people who call themselves programmers. I think that all degrees/diplomas should require some kind of apprenticeship/co-operative education/internship program to get you real on the job experience. There's only so much that can be learned in the classroom. Being on the job, doing actual work allows you to learn a lot of stuff that just would not come up in a classroom.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    18. Re:Math! by Anonymous Coward · · Score: 0

      The engineers in other countries aren't allowed in the same building where the "implimentation" model is stored, they make less than that starbucks employee who spits in your coffee every morning.

    19. Re:Math! by Anonymous Coward · · Score: 0

      I would be happy if the user had to solve equations to turn their computer on.

      Nowadays we just have to talk sexy to it to do that.

    20. Re:Math! by Anonymous Coward · · Score: 0

      If you think contractors don't do math, you've obviously never worked in the trades.

    21. Re:Math! by Grishnakh · · Score: 1

      I'm quite sure contractors don't do any calculus.

  7. Obvious by Anonymous Coward · · Score: 0

    Pretty sure this has been done before, but perhaps not specifically applied to wireless networks.

  8. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 1

    This isn't data compression, it is however the same technique used for Par2 files used in usnet since, forever - not that new applications of existing technology shouldn't be lauded.

  9. Introducing... by sootman · · Score: 5, Funny

    ... the new Linksys 802.11x=(-b+/-sqrt(b^2-4ac))/2a router!

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    1. Re:Introducing... by Anonymous Coward · · Score: 0

      ... the new Linksys 802.11x=(-b+/-sqrt(b^2-4ac))/2a router!

      of course without parentheses around the 2a all of the packets get lost

    2. Re:Introducing... by mrbester · · Score: 2

      Or they were imaginary to begin with.

      --
      "Wait. Something's happening. It's opening up! My God, it's full of apricots!"
    3. Re:Introducing... by Anonymous Coward · · Score: 0

      Good one, sir.

    4. Re:Introducing... by Anonymous Coward · · Score: 0

      if that were the case I could call my new router parabolic without needing that shape of antenna.

  10. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    That's what I thought. If any old packet could be represented as an equation, then I'll just send you a quick text and you can solve for the 50MB file your ISP's email is blocking.

  11. forward endcoding by Anonymous Coward · · Score: 1

    So they basically re-invented forward error correction.

    1. Re:forward endcoding by jschultz410 · · Score: 2

      I don't even think they re-invented FEC. Instead, they simply applied it to TCP in a transparent way. I'm sure they aren't the first people to do something along these lines.

    2. Re:forward endcoding by Anonymous Coward · · Score: 0

      I'm really surprised than WiFi doesn't already do forward error correction. I suppose that in all but the most noisy environments, it must hurt more than it helps.

    3. Re:forward endcoding by Relic+of+the+Future · · Score: 1

      Every environment is noisy now.

      --
      Those who fail to understand communication protocols, are doomed to repeat them over port 80.
    4. Re:forward endcoding by Anonymous Coward · · Score: 1

      I'm really surprised than WiFi doesn't already do forward error correction. I suppose that in all but the most noisy environments, it must hurt more than it helps.

      WiFi has always had forward error correction. I can't imagine transmitting digital data without one. The advance here, which is conveyed very poorly, is using forward error correction to recover from packet loss in the TCP layer.

    5. Re:forward endcoding by AK+Marc · · Score: 2

      I've used Silver Peak before, and they use transparent packet FEC. These guys aren't the first, but they just moved the idea to new devices, an AP and wireless drivers. Not ground breaking, but may expand use to more people.

  12. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 2, Informative

    MIT, Caltech, Harvard, and other universities in Europe

    I understand what they mean, but it's a silly way to write it. Maybe Slashdot should have someone who edits submissions.

  13. Re:This is cool. But... by jargonburn · · Score: 5, Insightful

    I agree that it's not a magic bullet. The point is, however, that the overall throughput of the network was increased by better usage of the available resources! If the *effective* available bandwidth is increased, then the performance of everyone "nibbling" on that network will *also* presumably increase. Also, think how much more money carriers may be able to squeeze out of users without needing to invest more in infrastructure! [/sarcasm]

  14. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    How is it not compression? It reduces the data size being transferred and is recoverable on the other end. Maybe I'm not an expert, but isn't that _exactly_ the definition of compression?

  15. Wireless by Anonymous Coward · · Score: 0

    Seems like they've solved the nasty issue with wireless, that the near constant packet loss really screws over TCP.
    Losing a packet causes nasty delays while the error is bucked up and down the network/application stack. Wireless, do to it's nature, nearly always loses packets.

    Wonder what the overhead is.

    1. Re:Wireless by AK+Marc · · Score: 1

      I think it would be more efficient to use the AP as a TCP proxy and TCP acceleration across it to detect and correct for wireless errors without window size limitations and such.

  16. Similar to existing data recovery? by JDG1980 · · Score: 1

    With coded TCP, blocks of packets are clumped together and then transformed into algebraic equations (PDF) that describe the packets. If part of the message is lost, the receiver can solve the equation to derive the missing data.

    It's been a while since I read the paper on exactly how it works, but isn't this basically the same principle as the par2 file recovery slices that have been used for Usenet binaries for quite some time?

    1. Re:Similar to existing data recovery? by AK+Marc · · Score: 1

      Yes, sounds like packet-PAR to me as well.

  17. Error Correction Codes implementation? by Moskit · · Score: 4, Insightful

    Article is very light in details (except "Libraries of Congress" things), but it looks like those guys implemented a kind of error correction code (ECC) to recover lost data through extra data found in other packets. This has been in use for various types of networks (optical, DSL, GSM) for years.

    Of course it is all down to how good the actual algorithm ("algebra") is in terms of overhead vs extent/capability of error correction vs introduced coding delay. There is always a trade-off, but a particular algorithm can take into account technology specifics (WiFi) and optimize it very well for a given task (whole packet lost, but not so often).

    Journalists like to put BIG BUZZWORDS to well known things.

    1. Re:Error Correction Codes implementation? by Anonymous Coward · · Score: 0

      Honestly it sounds like compression with an error correction mechanism.

      I don't think the measured speeds are actual wire speeds, instead they're measuring data throughput. You know, like when you compress a 500 MB text file to 50 MB and then transfer it. Suddenly you're network is running 10 times faster! (not)

    2. Re:Error Correction Codes implementation? by enemorales · · Score: 1

      I think that the transmission delay is not as important as the energy consumption. I'm pretty sure that computing to repair loss data will be quicker than retransmitting; but I do not know if the energy used is less. Because if that is not the case then it is bye bye cell phone & tablet batteries!

  18. ECC is old by mcelrath · · Score: 3, Interesting

    So basically they're applying interleaved checksumming error correction (a la RAID5)? Good idea. What they didn't say is how much extra data was required to be sent by their solution. If they want to be able to recover 10% packet loss, presumably that means at least 10% more data sent, and there's still a failure point where the loss is greater than the checksum's size.

    We've had these algorithms for decades. I've long been frustrated that checksums/ECC are not used at every single transmission and receiving point. Let's put this into the expansion bus, memory bus (ECC), and filesystem (btrfs/zfs), and of course, wifi and wired networks. Unfortunately the drive to the price floor resulted in everyone wanting to shave that 10% to make things cheaper. ECC was once commonly available in consumer hardware too, now you can only find it on ultra-specialized and ultra-pricey rackmount server hardware.

    The 1980's assumption that the error is 1e-20, so can be ignored, is demonstrably false in nearly every computer application today. We need to (re-)start designing error correction into everything. Hey, why not use adaptive error correction, that increases the size of the checksum when the measured loss increases?

    --
    1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
    1. Re:ECC is old by Anonymous Coward · · Score: 0

      I've long been frustrated that checksums/ECC are not used at every single transmission and receiving point.

      I'm glad they don't. ECC is not very good. It's fast and simple enough to put in a memory controller, but there are much better algorithms out there for telecommunications.

    2. Re:ECC is old by viperidaenz · · Score: 1

      Weird signature.
      Try this: 1^0 = 1; 2^0 = 1; 1^0 = 2^0; 1 = 2;
      I can miss use math too!

    3. Re:ECC is old by aiht · · Score: 1

      Weird signature.
      Try this: 1^0 = 1; 2^0 = 1; 1^0 = 2^0; 1 = 2;
      I can misuse math too!

      Or, for those of you who aren't comfortable doing XOR in your heads, here is a similar one with plus:
      1 + 7 = 1; 9 + 6 = 1; 1 + 7 = 9 + 6; 8 = 5; 1 = 0.
      Sorry, mcelrath, I'm honestly curious.
      Is there a joke here that I am missing?

    4. Re:ECC is old by MightyYar · · Score: 1

      Agreed. I once got bit by random corruption of data in the worst of all places: my family photos.

      Luckily, my backup routine was to use Unison, which uses checksums, and my backup drive showed different checksums then my master drive. So obviously, I love Unison.

      Last year when I re-jiggered everything, I kept this in mind and now run ZFS on my backup server. It is an old Core 2 Duo HP workstation that I picked up on eBay - specifically because it has ECC RAM. The HP microservers with AMD chips also support ECC, but they weren't available yet when I set mine up. That only fixes the storage end of things - stuff can still randomly corrupt in other parts of the chain. I'm still hooked on Unison for my photo backups, but I understand that there is some kind of checksumming available in rsync as well. Like you, I'm frustrated that their isn't some kind of end-to-end checksumming/error correction built-in. Or I should say "better" error correction, since there usually is some kind of error correction going on, but not at a high enough threshold.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  19. Re:This is cool. But... by MyFirstNameIsPaul · · Score: 1

    Overall throughput? I'm skeptical. I have yet to consistently get 3G speeds out of even a 4G phone.

    --

    I once took an excursion to Reddit, and later HN. Unlimited up/down voting sucks when dealing with a hive-mind.

  20. It's just FEC by Zarhan · · Score: 5, Interesting

    Forward error correction - there are different algorithms that are dime a dozen.

    The one thing that *does* surprise me is that no such thing is built-in to the link layer of 802.11 spec. Physical layer does whatever it can to garner signal from the noise, but there is no redundant data at higher layers at all.

    All this has of course resulted in a gazillion papers on that very topic, hoping to see practical application soon.

    1. Re:It's just FEC by hdas · · Score: 5, Informative

      This is not plain FEC for point-to-point communication. This is based on network coding, e.g., see http://en.wikipedia.org/wiki/Linear_network_coding and how it can increase the capacity in the butterfly network over traditional packet routing schemes, counter to our intuition for flow networks/water pipes.

      Network coding has been a fairly hot research topic in information theory and coding theory over last few years. But it is fairly revolutionary in my opinion. It is still early days in terms of practical coding schemes and implementations.

    2. Re:It's just FEC by Anonymous Coward · · Score: 0

      The one thing that *does* surprise me is that no such thing is built-in to the link layer of 802.11 spec. Physical layer does whatever it can to garner signal from the noise, but there is no redundant data at higher layers at all.

      Are you sure there are not? I think the main reason it isn't at low level, because there are already existing forward error correction going on at the application layer, like the par files everybody mentions. It would just reduce the actual useful data throughput.

    3. Re:It's just FEC by DrJimbo · · Score: 1

      Doing it at the application level does not help because a lower level is slowing down and re-transmitting due to packet loss. The key is to transmit redundant information at the lower level so you still get 100% of the data received even if there is some packet loss. IOW the transmitter assumes there will be some packet loss and always sends extra information. For perfect channels you lose maybe 10% of the bandwidth by doing this but for imperfect channels you get the great gains reported in the article.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
  21. Re:Congratulations, Baldrick by TheSpoom · · Score: 4, Insightful

    It's an error-correction method that happens to have compression built-in.

    Also, I really wish people would stop shitting on new technologies like they're some sort of oracle. This is awesome. Accept it.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  22. Re:Congratulations, Baldrick by Samantha+Wright · · Score: 1

    Think of it like really fancy checksums. Most of the data we no longer have to transfer is redundant packets re-sent due to errors.

    --
    Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  23. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion

  24. Re:Congratulations, Baldrick by JDG1980 · · Score: 5, Informative

    How is it not compression? It reduces the data size being transferred and is recoverable on the other end.

    No, it slightly increases the data size being transferred, thus allowing it to be recoverable on the other end if there are minor losses.

    Here's an example of how it might work. Say you have a packet that holds 1024 bytes of payload data, plus a few extra for overhead. (Probably not realistic, but this is just to lay out the principles involved.) Now, you could send all 1024 bytes as straight data, but then if even 1 bit is wrong, the whole packet must be re-sent, adding latency. Instead, you send (say) only 896 bytes of actual data, and 128 bytes of recovery data. You break up the data into 64-byte blocks. Thus you have 14 blocks of actual data. The other 2 blocks consist of recovery data, generated by some sort of mathematical equation too complicated to describe here (and which frankly I don't understand myself). Here's the trick: on the receiving end, any 14 of the 16 blocks is enough to recover the whole 896-byte original datagram. Doesn't matter which 2 blocks are bad, as long as no more than 2 are bad, you can recover the whole thing.

    This could be useful in an environment where packet loss is very high. A similar method is currently used when transmitting large binary files on Usenet, since many Usenet servers do not have 100% propagation and/or retention.

  25. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 5, Funny

    Just send a starting position in PI and a length.

    Implementation is left as an exercise.

  26. Re:Congratulations, Baldrick by psmears · · Score: 5, Informative

    How is it not compression? It reduces the data size being transferred and is recoverable on the other end. Maybe I'm not an expert, but isn't that _exactly_ the definition of compression?

    It doesn't make it smaller - in fact, it will make the data larger. It gives improved performance because of the way TCP responds to dropped packets:

    (1) Normally the receiver has to notice the dropped packet, notify the sender, and wait for the packet to be retransmitted - meaning that the data in question (and any data after it in the stream) is delayed by at least one round-trip. With this scheme, there is enough redundancy in the data that the receiver can reconstruct the missing data provided not too much is lost, improving the latency.

    (2)TCP responds to packet loss by assuming that it is an indication of link congestion, and slowing down transmission. With wired links, this is a good assumption, and results in TCP using the full bandwidth of the link fairly smoothly. With wireless links, however, you can get loss due to random interference, and so TCP will often end up going slower than it needs to as a result. The error correction allows this to be avoided too.

  27. Reinventing the wheel by currently_awake · · Score: 1

    If your new error correction technology eliminates lost packets, and you lose 5% normally, then using this you gain 5% back not 10x. What they actually invented is data compression, and it's been around for decades.

    1. Re:Reinventing the wheel by wonkey_monkey · · Score: 1

      If your new error correction technology eliminates lost packets, and you lose 5% normally, then using this you gain 5% back not 10x. What they actually invented is data compression, and it's been around for decades.

      It's not that simple, and it's not data compression.

      http://hardware.slashdot.org/comments.pl?sid=3205219&cid=41744891

      --
      systemd is Roko's Basilisk.
    2. Re:Reinventing the wheel by bws111 · · Score: 1

      Um, no. First of all, data compression means you are sending less data, and they are not. They are sending more data in total, but can tolerate missing packets.

      Second, no, 5% missing packets does not slow you down by only 5%. Worst case, the sender has to wait for a timeout to occur with no ack received before resending the packet - that is going to be a long time.

    3. Re:Reinventing the wheel by Anonymous Coward · · Score: 0

      then using this you gain 5% back not 10x.

      The other 9.95x is because TCP shits itself when packets repeatedly go missing.

    4. Re:Reinventing the wheel by Macman408 · · Score: 1

      That's not true. In terms of raw packets across the interface, sure. But what they're improving is the speed of TCP. In some older implementations, if a packet is lost, every subsequent packet has to be sent again as well. In addition, in all implementations, packet loss is taken as evidence of network congestion. Because a very congested network means that nobody gets any useful data through, the protocol says that the sender should send less data before waiting for the receiver to acknowledge receipt. Thus, if you have a nearly unused but noisy wireless link, the sender will reduce the rate at which they send, hoping that doing so will reduce the rate of packet loss.

      What this (and many other solutions for the same problem) suggests is that instead, we can send MORE data across a known noisy link, and use that extra data to correct transmission errors. By doing so, TCP will not see network congestion where there is none, and will keep sending packets at high speed. Thus, you *can* get a 10x improvement in your useful throughput (sometimes called "goodput") by changing the algorithms a little bit, even if you're only losing 5% of your packets normally.

    5. Re:Reinventing the wheel by WillRobinson · · Score: 1

      You forgot "On a Cell Phone"

    6. Re:Reinventing the wheel by viperidaenz · · Score: 2

      TCP will also not see network congestion when there is network congestion...

    7. Re:Reinventing the wheel by Anonymous Coward · · Score: 0

      If network congestion can't be detected, it doesn't exist.

      Let me put it another way. Network congestion is detected when disparate sources battle for the available bandwidth. If the disparate sources aren't battling for available bandwidth, then the network isn't congested.

    8. Re:Reinventing the wheel by jonadab · · Score: 1

      > If your new error correction technology eliminates lost packets, and
      > you lose 5% normally, then using this you gain 5% back not 10x.

      The summary is horribly misleading, and the article is not much better, but the bottom line when you sift through all that is they're talking primarily about latency rather than bandwidth.

      Every time you don't have to resend the packet, it saves you an entire round trip on your latency for that packet. With 5% packet loss, 5% of packets need a second round trip, and a quarter of a percent of all packets need a third round trip. Add to this that the network stack normally can't know that the packet didn't make it until it times out, and a quarter of a percent of your packets require not just triple the average but in fact triple the *maximum* single-trip latency. The difference, if you can prevent almost all of those resends, can be very noticeable indeed for some applications.

      If you're downloading large files (say, ISO images of the latest Debian stable) using reasonably robust software (like, say, wget), you won't notice any difference at all. In that use case, you could go through a tunnel where the whole connection drops entirely for thirty seconds, and it would only add about thirty-one seconds to your total download time. If you weren't watching the progress bar very closely, this could go entirely unnoticed. Not all network applications are so forgiving of latency spikes, however.

      A VOIP call (or most other UDP applications) will just drop the late packets entirely, so the multiple round trips wouldn't happen. The article, however, was talking about TCP. Specifically it talks about watching YouTube videos (near-real-time sequential media delivered over HTTP), and apparently they don't know (or discounted) the trick where if your connection is a bit choppy you just pause the video right away, look at something else in another browser tab for thirty seconds, and then go back and watch the video.

      And yes, error correction is a very old idea, and this is just yet another specific implementation.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  28. old concept new application by Dan9999 · · Score: 1

    While using complex algbraic expressions this is somewhat like raid or even the udpsender tool. Nice.

  29. Thank you for your interest in this topic. by Sheetrock · · Score: 2, Interesting

    Efficiency in wireless communication is something of a purple elephant, mostly due to interference concerns that aren't at issue in wired Ethernet transactions. True, wired connections will have the occasional collision (though this is largely solved by modern algorithms and operating systems) but digital transmissions over an analog medium are difficult enough when they aren't running into each other in the air. And then you have other interference introduced by microwaves, whether from devices like cell phones, microwaves, or sunspots. It's a very noisy environment!

    The concept of using algebra is a unique step forward in this field. Most here would agree, if you're in a crowded cafe and trying to carry on a conversation, it's easier to shout "Pythagoreas" than to talk about squares and triangles. But with computers it happens to be exactly the opposite because they're designed to compute -- it's what they do and what they like to do. So feed it generalities and, often, it can come up with specifics, much like the Monty Hall Paradox.

    The next step appears to be to move from algebraics to broad descriptions of the type of data you want to download. This is waiting on computers with a great deal more processing power and perhaps emergent AI, but there will come a time where instead of feeding a bunch of packets over a noisy channel the Internet will simply say to your computer "short film with 20-something actor wondering whether to marry now or enjoy life for a while longer" and your system will fill in the rest, completing the transfer mathematically. This is down the road a ways, but newer technology such as lossy compression for data is already available and potentially lucrative for those who are willing to think outside of the conventional box and try something with a few more holes in it.

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




    1. Re:Thank you for your interest in this topic. by Eunuchswear · · Score: 3, Informative

      The concept of using algebra is a unique step forward in this field.

      No it isn't. It's the way all error correcting codes work.

      This stuff is maybe 50 years old!

      --
      Watch this Heartland Institute video
    2. Re:Thank you for your interest in this topic. by Anonymous Coward · · Score: 0

      Collisions? On what planet? The days of half-duplex wired comms are dead. Furthermore, collisions have nothing to do with an algorithim or operating system. It has to do with the physical media and the seperation of tx/rx paths and the ability to preclude any two nodes from using the same path at the same time.

      DOCSIS uses seperate upstream/downstream with grants on upstream. DSL uses seperate upstream/downstream. Ethernet uses seperate pairs.

      Please join the 21st century.

    3. Re:Thank you for your interest in this topic. by RedBear · · Score: 1

      The next step appears to be to move from algebraics to broad descriptions of the type of data you want to download. This is waiting on computers with a great deal more processing power and perhaps emergent AI, but there will come a time where instead of feeding a bunch of packets over a noisy channel the Internet will simply say to your computer "short film with 20-something actor wondering whether to marry now or enjoy life for a while longer" and your system will fill in the rest, completing the transfer mathematically. This is down the road a ways, but newer technology such as lossy compression for data is already available and potentially lucrative for those who are willing to think outside of the conventional box and try something with a few more holes in it.

      Later that day your surgically implanted computing device warns you that you're about to run out of space on your 300 petabyte holographic storage crystal. Surprised, you do some investigating and find that the crystal has been filled with 17,381 full-length short films with a 20-something actor wondering whether to marry now or enjoy life for a while longer. At the end of the month you get billed for 2.3 billion dollars for exceeding your monthly data transfer quota.

      This happens every month.

      A truly glorious future awaits us!

    4. Re:Thank you for your interest in this topic. by Anonymous Coward · · Score: 0

      -5 Total Idiot

    5. Re:Thank you for your interest in this topic. by Anonymous Coward · · Score: 0

      Why does this post even have a score of 2? It should be -2! Seriously, get a clue. This is not revolutionary, although it is useful to apply to wireless networks. Nothing along the line of the magical AI you describe that compresses movies to a description. This isn't even compression.

  30. I've yet to get by goldcd · · Score: 2

    3G speeds out of my 3G phone.
    HSPDA+ 'should' be capable of providing me with WAY more bandwidth than I could possibly need from my phone (42MB/ps?).
    I know this is a theoretical speed, but at least in the UK there is a order of magnitude difference between what you actually get using this tech, based on your operator. I.e. the majority of telcos could up their average speed, but for cost reasons choose not to (or more fairly, wouldn't expect the investment to pay off due to the complete lack of interest from the majority of their customers).
    I completely fail to see why LTE will be any different for the consumer - the case for the telco is fantastic, as it removes the need to keep on increasing their pt2pt backhaul, but consumers paying extra for 'LTE' now... eejits. If you want speed switch to a decent 3G telco. If you want to save money, just wait a bit and select the telco that's small/flexible enough to bite the bullet and ask/pay for you to switch.

    1. Re:I've yet to get by Tanktalus · · Score: 1

      You must work for Lotus. Sorry, but Notes is still an email program. The fact that you think it's a database that also does email shows how disconnected from your customer base you still are.

  31. Wait... by Anonymous Coward · · Score: 0

    Wait. Wait... wait.

    I am going to use algebra for something in my life?

    I just lost a bet 12 years ago.

    1. Re:Wait... by viperidaenz · · Score: 1

      You've never used RSA encryption or ECC?

  32. it does use more spectrum by YesIAmAScript · · Score: 2, Insightful

    It's called forward error correction and it requires sending additional redundant data so you can solve for what is missing. Sending additional redundant data does use more spectrum for the same throughput, because you're sending more data. It may be worth it to avoid retransmissions when data is lost, but it definitely use using additional spectrum.

    This is nothing new, your computer uses FEC on its storage (HDD or SSD) and maybe even on its RAM (if it has ECC RAM).

    --
    http://lkml.org/lkml/2005/8/20/95
  33. Re:This is cool. But... by Firehed · · Score: 5, Informative

    That's kinda the point. Crappy signal results in high packet loss. If you can recover lost packets through some recipient-side magic (clever math, apparently) rather than retransmission, you avoid the overhead of another roundtrip, and get higher bandwidth as a result. This cuts down massively on latency (huge win) and should also decrease network congestion significantly.

    I'm trying to think of a way to put this in the requisite car analogy, but don't honestly know enough about the lower-level parts of the network stack to do so without sounding like an idiot to someone sufficiently informed. But I'm sure there's something about a car exploding and all traffic backs up for tens of miles along the way ;)

    --
    How are sites slashdotted when nobody reads TFAs?
  34. Finally, some use for High School Algebra! by Pepebuho · · Score: 0

    This makes me glad that I learned Algebra in high school. At last I can apply it!

    1. Re:Finally, some use for High School Algebra! by geekoid · · Score: 1

      If you aren't apply Allegra regularly, you aren't living.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:Finally, some use for High School Algebra! by tibit · · Score: 1

      Newsflash: every nontrivial device around you is leveraging the branch of mathematics called algebra. The "algebra" you've learned in grade school, if that's what you're referring to, is quite far removed from what a mathematician would consider algebra. The grade school version does everything to obscure the matters, and only gives you a peek at a very particular application area of algebra.

      --
      A successful API design takes a mixture of software design and pedagogy.
  35. doesn't add up by illestov · · Score: 1

    I've only read the abstract of the article and this is probably a stupid question but as i understand it, this algorithm is designed to efficiently recover lost packets in the transmission, so when the article claims that "MIT found that campus WiFi (2% packet loss) jumped from 1Mbps to 16Mbps" shouldn't the increase in speed be only 2% and not 16x?

    1. Re:doesn't add up by Anonymous Coward · · Score: 1

      The large effective bandwidth increase comes from being able to transmit continuously & reliably rather than waiting (and waiting, and waiting) for retransmissions due to packet loss.

    2. Re:doesn't add up by gr8_phk · · Score: 1

      so when the article claims that "MIT found that campus WiFi (2% packet loss) jumped from 1Mbps to 16Mbps" shouldn't the increase in speed be only 2% and not 16x?

      Nope. Because when those 2 percent of packets are lost, they not only need to be retransmitted but TCP backs off on transmission speed because it thinks there is congestion on the network. By getting helping the packets get through TCP will not throttle itself.

    3. Re:doesn't add up by lightBearer · · Score: 1

      I believe the increase is due to preventing TCP from self-throttling which it will do when it detects lost packets. Since fewer packets are lost, TCP doesn't need to throttle and you not only regain the packets that may have been dropped, but you also eliminate some of the need for retransmission, holding up a transaction while the missing packets are retransmitted as well as the slowdown that occurs when TCP detects a congested network.

      This is a gross simplification, but hopefully it describes the situation.

      --
      - No Bounce, No Play -
    4. Re:doesn't add up by suutar · · Score: 1

      They're measuring speed as "size of file / time it takes to get a usable copy". The size is going up some from redundant info, but the time to get a usable copy is dropping a lot because there's no waiting for retransmits; the delay before retransmitting is _huge_ compared to the actual data-shovelling time.

      Here's an example. Say you're downloading 4.5 megabytes of data over TCP. That's 36 megabits, and on a 54megabit/sec link it should take 2/3 of a second. But that's also about 3000 packets (at about 1500 bytes each) and if you're losing 2% of them that's 60 packets. Now comes the brutal part: it takes the sender about a second to stop waiting for acknowledgement, decide that the packet didn't make it, and send a replacement. If the replacement gets lost the sender will wait twice as long before trying again, and so forth, but let's ignore that for now. So each of those 60 packets takes about a second to retry, and now instead of 2/3 of a second it takes 60 seconds, a factor of 90 slowdown.

      of course there's a lot more details to it and the numbers are back-of-napkin grade, but that's why it's not 2%; 2% loss can result in much more than 2% slowdown because of how retries are handled.

    5. Re:doesn't add up by illestov · · Score: 1

      thanks, that makes sense. I didn't realize error correction was so ridiculously inefficient. According to your description, you would get a speed up from just sending copies of each packet just in case one of them gets lost.. at a certain amount of redundancy you will get 0% of packets lost and even though you are sending perhaps 4 times as much data, it is still way faster than having to go back and figure out which packets got lost and request them again..

    6. Re:doesn't add up by tibit · · Score: 1

      It does describe the situation. Basically, IP protocol is deficient because there's no way for network equipment to tell the recipient why a packet was lost (and that it was, indeed, lost). TCP assumes that packets are lost because the network is saturated. On wireless links this assumption is most often wrong.

      --
      A successful API design takes a mixture of software design and pedagogy.
    7. Re:doesn't add up by tibit · · Score: 1

      It's inefficient because the TCP protocol can't but assume that packet loss is due to network saturation. On wireless links this is practically hardly ever the case.

      --
      A successful API design takes a mixture of software design and pedagogy.
    8. Re:doesn't add up by jonadab · · Score: 1

      > shouldn't the increase in speed be only 2% and not 16x?

      Define "speed".

      The _bandwidth_ is almost certainly reduced a bit, because of the redundant data that have to be sent to make the error correction work.

      The article and summary are not as clear about this as would be desired, but it's obvious that what they're talking about improving has more to do with effective latency than bandwidth.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    9. Re:doesn't add up by Anonymous Coward · · Score: 0

      Also TCP wont just retransmit the lost 2% it will retransmit all the data that came after the lost packet as well.

  36. we were being inefficient by OrangeTide · · Score: 4, Insightful

    Shannon Limit shows that there is only so much information that can fit in a channel.

    Plenty of forward error correction codes exist (algebraic encodings) to enable a channel to approach the shannon limit. Most of you have heard of Reed-Solomon or Hamming Code before.

    NASA has used these since the 1970s to provide a more robust link with the effect of utilizing more bandwidth of that link.

    This is a little fancier than what I mentioned, but conceptually similar I imagine. The advantage of just using some existing forward error correction, perhaps combined with one of the popular compression algorithms, is that techniques that have been in use for the past 4 decades probably can't have enforceable patents placed on it.

    --
    “Common sense is not so common.” — Voltaire
    1. Re:we were being inefficient by Anonymous Coward · · Score: 0

      If that's the case, enhanced performance with existing WiFi routers could be just a firmware update away. I would love to be able to wake up to a new day rolling this out.

    2. Re:we were being inefficient by Anonymous Coward · · Score: 0

      I thought LDCP encoding recently replaced RS/ECC in HDDs. Is the Hamming Code specific to 'old fasioned' RS/ECC?

    3. Re:we were being inefficient by Anonymous Coward · · Score: 0

      hamming code is a generalization of several algebraic encodings. ECC is a type of hamming code.

  37. Re:Congratulations, Baldrick by bws111 · · Score: 1

    Seems to me it is a much data compression as RAID-5 is. Spread 2 packets of information across 3 packets. Lose any one of them and you are still OK. You didn't send any less data (in fact, you sent more) but you can tolerate lost packets now.

    Note that I am NOT saying that is what they are doing, just giving an example where being able to lose data does not imply compression.

  38. Re:This is cool. But... by Jeng · · Score: 4, Insightful

    Also, think how much more money carriers may be able to squeeze out of users without needing to invest more in infrastructure!

    This might actually hurt them then because they charge by what was transmitted, not by what was received.

    --
    Don't know something? Look it up. Still don't know? Then ask.
  39. Coded TCP by XB-70 · · Score: 2

    It's obvious that nothing new has been invented here. It's just that they have put one previous idea cleverly together with another. What they are trying to do is to create Coded TCP... IP!!

    --
    *** Don't be dull.***
    1. Re:Coded TCP by bws111 · · Score: 2

      So putting two previous ideas together 'cleverly' is not a new invention, eh? What exactly would qualify as a new invention?

    2. Re:Coded TCP by Anonymous Coward · · Score: 0

      one more step:something taken away. classic example: take a 4 legged stool. removing 1 leg is not a new invention. taking away a leg, then adding a back: thats a new invention. PS the best data throughput is when you use a coding system at both ends to translate simple messages into complex data. I think what they did is similar to sending a Unicode version of sheet music (does Unicode cover musical notation?). both sides know how to read the sheet music. the result: when handed out to a full symphony orchestra, you have sent 90 minutes of music in the time it takes to send a teeny tiny string of unicode symbols. Presto!

    3. Re:Coded TCP by bws111 · · Score: 1

      I disagree. The fourth leg on a chair is not superfluous. Removing it involves a tradeoff. In exchange for better stability on uneven surfaces, you get a seat that is either a triangle (uncomfortable) or unstable at some points (there will be places that are off to the sides of two legs. I see no reason why making a decision to trade seating area for stability does not count as invention.

      On the other hand, you claim that putting a back on a chair IS invention. Why? People have been resting against trees and rocks forever, so that is not a 'new idea'. People have been sitting on things forever, so that is not a 'new idea'.

      Your example of transmitting sheet music is really bad, and has absolutely nothing to do with what they have done. What you are suggesting is that somehow an entire movie (for example) has already been transmitted to the remote computer (we will conveniently ignore how), but by send a very short message (play file x) we have somehow 'encoded' the download of that movie very efficiently.

  40. Re:Congratulations, Baldrick by fa2k · · Score: 4, Informative

    Not data compression, more like ECC or forward error correction

  41. MIT, Caltech, Harvard, and other universities by Anonymous Coward · · Score: 0

    in Europe? Since when have they been in Europe?

    I think the summary was meant to read

    MIT, Caltech, Harvard, and several universities in Europe

    :)

  42. Moderately ridiculous sounding. by Ancient_Hacker · · Score: 1

    Ah yes, all we have to do is find an algebraic equation whose 1542 roots happen to match packet #1767 of the Angry Birds video. And whose coefficients take up less than 5%, 75 bytes lets say.

    I thought up this compression scheme in 8th grade. even then I knew there just had to be some basic problem with it.

    1. Re:Moderately ridiculous sounding. by wonkey_monkey · · Score: 1

      It's not compression. It's a fancy checksum which means less packets have to be discarded as lost, meaning less time wasted waiting for resent packets and less chance of network speed being negotiated down because of said lost packets.

      --
      systemd is Roko's Basilisk.
    2. Re:Moderately ridiculous sounding. by suutar · · Score: 1

      That would indeed be tricky, though I've also thought about that as a music compression system. But this sounds more like RAID or PAR2, only with packets instead of disks/files.

  43. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 3, Informative

    That works, actually!
    The problem is that on average, the number of bits needed to express the starting position in pi is equal to the number of bits you are transmitting.

  44. If you divide every byte by 0 by Ukab+the+Great · · Score: 1

    Then the mathematic representation of the packet is effectively nothing, and even a computer with unplugged network cable becomes infinitely fast.

    1. Re:If you divide every byte by 0 by geekoid · · Score: 1

      Slashdot, where divide by zero on the computer = infinitely fast.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  45. This only works end to end by flowerp · · Score: 5, Interesting

    This is why I think this will not catch on easily. You can't just put a new router with their coding functionality into your home and expect this to work. It also needs support from the server hosting the content you want to acces.

    The way they designed their system is end to end. Meaning that the internet server has to run a modified TCP stack and the client system (alternatively your router inbetween) also has to understand this modified TCP dialect.

    The chance of millions of Internet servers changing to a (likely) patented, proprietary version of TCP is ZERO.

    This is why this idea will fail.

    Christian

    --
    --- Eat my sig.
    1. Re:This only works end to end by flowerp · · Score: 3, Informative

      And in case you want to read about the changes they made to TCP, here's the paper:
      http://arxiv.org/pdf/0809.5022.pdf

      The paper mentioned in the summary only does a performance evaluation for this TCP
      dialect, but is light on details.

      --
      --- Eat my sig.
    2. Re:This only works end to end by MatthiasF · · Score: 1

      ...eh?

      Just use a router to convert the packets from proprietary to standard when it hits a wired connection.

      I doubt the wireless connection will notice the latency of the conversion if the processor in the router is moderately powerful.

    3. Re:This only works end to end by Anonymous Coward · · Score: 0

      I think this will succeed in the very areas the inventors envision - wireless. If the cell manufacturers can put this modified stack into the handsets and the towers, then it will be placed and most effective in the very point in the overall communications link that it is needed the most. And the folks that build the tower equipment and the handsets very much listen to the directions/requirements given to them by the carriers. Expect this technology to be driven by the AT&T/Verizon/Sprint/TMobile oligopoly so they can advertise faster speeds and deliver better streaming (improved customer experience) to handsets, and of course, to help you burn through your limited data package even faster.

      As for your commodity wifi adapters and access points, not so much. I agree that there will be little adoption there. VPNs? Perhaps, where latency is a huge concern (think financial trading and authorization networks).

    4. Re:This only works end to end by Anonymous Coward · · Score: 0

      Being that it was implemented as a modified TCP algorithm, it could be added to the TCP options. An RFC could also allow a wireless device to transparently add and remove such an option.

      But the idea of using forward error correction (FEC) is not new. In fact, the method described does not even define new equations but simply assumes that you can generate FEC. The interesting bit is the way they use round-trip times to determine how much FEC is needed. That is it dynamically determines how many bits of error correction are needed for a particular flow to minimize overencoding and to maximize the recoveries made by FEC.

      Although this is unlikely to catch on in the near-term, this technique (or an enhancement of it) may become part of lower layer protocols later.

    5. Re:This only works end to end by suutar · · Score: 4, Insightful

      It doesn't necessarily need support from the server hosting the content. Any router along the path could take the old-style packets and wrap them in new-style packets. Since the servers are likely to be using wired connections anyway, this technique might not help them a lot anyway; the real win is using this to beef up the connection from the radio tower (be it cell or wifi) to the client (be it cellphone or wireless card), and that's a much smaller set of hardware/firmware to update.

    6. Re:This only works end to end by complete+loony · · Score: 1

      The wifi layer should be doing the extra error correction on everything. All packets should be sent as a stream of 64 byte blocks, with the recipient sending a "Got it" (ACK), "Lets just give up now" (NACK), or a new "More ECC blocks please" response. Instead of dropping the entire frame on the floor you could keep sending more data until the receiver can reconstruct the entire frame, up to a maximum threshold of course.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    7. Re:This only works end to end by geekoid · · Score: 1

      Changes aren't heard of. Usually the server will upgrades to it as part of a normal upgrade cycle, then home users who buy a new modem will get the advantage.

      This patent means no one will use it bullshit on /. is become inexcusable. It's the exception that a patented good idea doesn't get used.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    8. Re:This only works end to end by thegarbz · · Score: 1

      No it won't. It only requires end to end support between the hop that is the problem, i.e. the mobile tower or the wifi access point. This point can de-construct the TCP packets and then forward them on to the internet using the traditional method, which would work very well because the whole point of this process is that the fundamental problem lies in the wireless link at one end.

      That's where the packets are being lost and that's where the speed gains are to be had.

    9. Re:This only works end to end by tibit · · Score: 1

      I hate to rain on your parade, but there's plenty of network equipment that can transparently re-terminate a TCP/IP connection -- whatever TCP protocol layer stuff is seen by the either of the endpoints of the link is generated by the network equipment, not the endpoint. This is a must on any long-latency connection. It is also necessary on wireless links, but, unfortunately, most wireless networking equipment isn't that clever. In late 90s an acquaintance of mine was involved in R&D on a custom wireless networking system and it did just that, otherwise TCP/IP performance was unbearable.

      --
      A successful API design takes a mixture of software design and pedagogy.
  46. Re:This is cool. But... by Anonymous Coward · · Score: 2, Interesting

    We'll get the extra packets that were re-transmits for sure. But the throughput gain (if I understand their sketchy details correctly) is from dropped packets not causing a pause at the TCP window size limit waiting for the dropped packet. You can just keep streaming them and generally assume the other end is happy.

    But this doesn't increase the available bandwidth of your transport network. And if every packet from 300 users is going out back-to-back with another users packet then it doesn't "fix spectrum crunch" any further than eliminating retries. They were estimating the fast moving train had a 5% drop rate. Assuming your area's 4G is saturated (I'm looking at you AT&T) with the same drop rate, you can expect 1) fewer pauses and a steadeir transmission 2) 5% more bandwidth.

    Applying this technology to the "long fat pipe" problem for ftp-style transfers to Europe however sounds like a grand plan. I hope it becomes an IEEE standard soon.

  47. RAID for packets by ShanghaiBill · · Score: 2

    You've invented data compression.

    This is NOT data compression. It is more like "RAID for packets". If a packet is dropped, you can recreate it from the other packets instead of requesting it again.

    1. Re:RAID for packets by Anonymous Coward · · Score: 0

      RAIP?

  48. What the FEC? by AK+Marc · · Score: 2

    Hasn't this already been solved for before? There are tons of FEC implementations out there. Shoot, from their description, they just PAR'd them all together and transmitted the parity as an (or some) extra packet(s). They just used "algebra" to generate their PAR.

    Cool that someone's using it. Dynamic parity/FEC is a much better loss tolerant scenario than TCP's algorithm, but that doesn't make it new or novel. Silver Peak is a network acceleration device (like Riverbed) that integrates FEC, so it's been out commercially available for years. Putting it on an AP (with a matched wireless client) isn't that interesting. I could have done it 2 years ago with Silver Peak VMs running on the AP and my computer, though not as practical.

    Maybe I'm just jaded because FEC and parity are things I've been working with for 20+ years.

    1. Re:What the FEC? by hdas · · Score: 1

      Please see Network Coding: http://en.wikipedia.org/wiki/Linear_network_coding [wikipedia.org]. It is beyond simple FEC and can increase the capacity in networks over traditional packet routing schemes, counter to our intuition for flow networks/water pipes.

    2. Re:What the FEC? by AK+Marc · · Score: 0

      So a Wikipedia page, 7+ years old, describes this new breakthrough? Also, from the description, network coding is an advantage only if you assume "routing" means single-path routing. Coding looks to be a version of multipath routing. http://en.wikipedia.org/wiki/Multipath_routing

    3. Re:What the FEC? by hdas · · Score: 1

      No, network coding is strictly better than multipath routing, which is simply simultaneous transmission along multiple routes. Multipath routing still looks at information networks as commodity flow networks. Please see the butterfly network example in the network coding article again in Wikipedia to understand why information flow networks are different and allow for higher capacities and pure routing cannot achieve this. Hope you will appreciate the counter-intuition.

      The paper is not a breakthrough in terms of the concept itself, which has been around for quite a while. And the concept is truly remarkable -- as much as if 2 + 1 = 4 (which is essentially the case in the butterfly network). But practical coding schemes (in terms of computational complexity) and implementations are still works in progress.

    4. Re:What the FEC? by AK+Marc · · Score: 0

      You are assuming the worst possible multipath vs the best possible coding. I've used equal and unequal mutlipath with no data duplication, so your assertion otherwise is proof to me that you don't know what you are talking about. Someone told you network coding was cool, so you take that as gospel and absorb no new information.

  49. Re:This is cool. But... by gr8_phk · · Score: 2, Informative

    This might actually hurt them then because they charge by what was transmitted, not by what was received.

    Yeah, but you have to consider how they do math. You assume they calculate profit based on usage and rates. The reality is they calculate the rate based on the desired profit and usage. So when you use less data (fewer retransmits) they will just charge you more for the bits that get through.

  50. Re:This is cool. But... by amRadioHed · · Score: 1

    The point is it will give them higher data rates for free which they can then charge extra for.

    --
    We hope your rules and wisdom choke you / Now we are one in everlasting peace
  51. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    so, it's RAID for file transfers?

  52. Re:Congratulations, Baldrick by gr8_phk · · Score: 1

    I didn't see the compression built in part? The correction allows better utilization but that's different than compression.

  53. Network coding. by hdas · · Score: 5, Informative

    This is not simple data compression or error control coding. This is network coding, e.g., see http://en.wikipedia.org/wiki/Linear_network_coding [wikipedia.org] and how it can increase the capacity in the butterfly network over traditional packet routing schemes, counter to our intuition for flow networks/water pipes.

    It is a fairly hot research topic that has been around for last few years. But it is fairly revolutionary. It is still early days in terms of practical coding schemes and implementations.

    1. Re:Network coding. by Kurrel · · Score: 1

      If the server must do more arithmetic for transmission, is it more susceptible to denial of service attacks?

    2. Re:Network coding. by DragonWriter · · Score: 1

      This is not simple data compression or error control coding. This is network coding, e.g., see http://en.wikipedia.org/wiki/Linear_network_coding and how it can increase the capacity in the butterfly network over traditional packet routing schemes, counter to our intuition for flow networks/water pipes.

      So, what your saying is, the internet is not like a series of tubes? Maybe its more like a big truck you can just dump stuff on?

  54. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    It's called network coding

  55. Re:Congratulations, Baldrick by wonkey_monkey · · Score: 5, Funny

    This is awesome. Accept it.

    I agree, but... this is Slashdot.

    --
    systemd is Roko's Basilisk.
  56. New technologies, but old technique. by Anonymous Coward · · Score: 3, Insightful

    My grandpa used to tell me stories of old men who pulled up into town offering medicinal cures for all sorts of diseases, old age, arthur-itis, bad vision, whatever.

    "Medicine men" would orchestrate a "medicine show" with all sorts of claims and testimonies of the miracles of the precious snake oils he vended. Fistfuls of cash soon filled the air, and his cronies went through them exchanging their hard-earned cash for bottles of God-knows-what. ( Grandpa tells me the most common ingredients were assortments of oily vegetables with a smattering of creosote - same stuff used to preserve telephone poles - thrown in for good measure - and maybe a smattering of moonshine to give it a medicinal smell ).

    These were simple old country folk he sold to - mostly farmers. They knew all about how to run a farm, and respected their doctor - and the charlatans of the medicine show knew full well how to monetize the people's faith in the technical jargon of chemistry.

    A few days after the wagon left town, the people discovered they were no better off, and quite a bit poorer, after the medicine man left.

    Woe to the medicine man if he visited a town a few weeks after another medicine man had pulled his scheme off.

    I think we have seen so much stuff today whose sole purpose is monetizing bullshit, that we are leery of accepting stuff we do not understand. I - for one - would love to understand Rossi's "eCat" cold fusion LENR device, but the shroud of secrecy around it, along with what YouTube video I have seen of it has me believing it is just more snake oil, however much I would love to see something like this actually work..

    As far as packet loss is concerned, if its a problem, put each packet through ECC just as we do on CD's or DVD's - and match the ECC size to the packet size. To me that is obvious - and being I am not advanced in this field - I think I would be reasonable in claiming that is an obvious use of the technology

  57. Re:This is cool. But... by Anonymous Coward · · Score: 0

    Another satisfied AT&T customer...

  58. Re:Congratulations, Baldrick by Bill_the_Engineer · · Score: 4, Insightful

    Actually they came up with yet another method of Forward Error Correction (FEC). I haven't had time to read the article and look forward to see how they compare to Reed-Solomon or other Reed-Muller codes (Walsh-Hadamard code is used in CDMA).

    This isn't exactly new but I'm glad to see someone take the initiative to apply it to today's WiFi networks. The mentality as of late is that the speed is more than fast enough to deliver the data and the occasional resend. FEC currently used where data rates are quite limited or the latencies are such that retransmissions are prohibitive long.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  59. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 5, Informative

    There is no compression. Its RX error correction. This, seemingly, will reduce latency and increase effective throughput because you are now spending less time in a RX/TX retransmit cycle or a TX-TO retransmit cycle. As such, it allows more time for TCP window scaling to open up, even in the face of lost packets. In turn, a larger window means higher throughput with less protocol overhead.

    I completely agree. Its awesome.

  60. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 4, Funny

    Also, I really wish people would stop shitting on new technologies like they're some sort of oracle. This is awesome. Accept it.

    But if I keep shitting on new stuff like that, I can point back to my posts and say "LOOK! SEE? I SAID SO! I DID! ADMIT I WAS RIGHT FOR ONCE!!!!1!" if it fails. If it succeeds, though, I'm counting on nobody remembering my old posts so I can join in the praising of it later! It's a foolproof win-win for me, and that's all that matters!

  61. Cant wait! by hesaigo999ca · · Score: 1

    You mean we get to keep all the hardware as is, and not pay more to get more..... I am in, but alas, Canadian Monopoly companies will see through this, and implant some way of getting more money for the lost bandwidth they are able to charge us for....too bad it is not credible business model.

  62. 1000% == 11 times by kelk1 · · Score: 2

    It is news for nerds after all.

    1. Re:1000% == 11 times by aardwolf64 · · Score: 1

      It's "boosting" by up to 10 times, which will equal up to 11.

    2. Re:1000% == 11 times by WillgasM · · Score: 1

      These go to 11...it's 1 faster.

    3. Re:1000% == 11 times by Anonymous Coward · · Score: 0

      Good thing I am not the only one annoyed by that ...

  63. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    it's not awesome, sorry.

  64. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 1

    Isn't this a layering violation? Shouldn't this occur at the link layer? There is no reason for these redundant packets to be sent across the whole internet, just over wireless hops. In fact, over the rest of the internet, the old TCP behavior is the correct behavior.

  65. Re:Congratulations, Baldrick by Eunuchswear · · Score: 2, Insightful

    No, they've invented forward error correction.

    How novel.

    "While the exact process is being kept secret (and has already been licensed by “several companies”), "

    Fuck 'em and the horse they rode in to town on.

    --
    Watch this Heartland Institute video
  66. It does add up by Anonymous Coward · · Score: 0

    The packets lost get resent and there is a time delay in that process if you don't have to do that then you save more TIME which could be used for more transmission. The difference is 2% packet loss being DATA and 16Mpbs being a data RATE.

    The rate is impacted by the round trip delay for each lost packet-- which is not just 2 steps; it is 1 to send, 1 to request a resend, 1 to respond back. The nature of the traffic also impacts the speed because you have buffering and operations that block until the message is constructed before the next step can be performed which can amplify the delay. In a broadcast network like Wifi you can also have issues with the shared load impacting the rates where you can cross thresholds where the congestion causes rates to drop. The drop can be large relative to the small increase in load if a threshold is crossed.

  67. Re:"commercially licensed" by Eunuchswear · · Score: 1

    Mod this ++good.

    --
    Watch this Heartland Institute video
  68. This is good, but not new by anom · · Score: 3, Interesting

    The reason this is a problem at all is because TCP was developed for wired networks in which packet loss was almost always a signal of congestion -- and therefore the logical response was to reduce the rate.

    In these newfangled wireless networks losses can be completely random, yet TCP will still assume that congestion is responsible and reduce its rate. So, the answer is to either change TCP or do correction at a lower layer to "hide" the losses from TCP -- and, this has been a subject of research in networking for years now.

    Linear coding certainly isn't new -- it has been proposed for a variety of things -- including but not limited to bittorrent, to reduce the reliance on receiving a specific block and rather on simply receiving "enough" information.

    So yes, it is all well and good that we are applying this technique to TCP to reduce the impact of random, noncongestion losses, but there had better be something pretty magical in the way they do it for it to be (IMO) novel enough to be patentable/licensable/etc.

    1. Re:This is good, but not new by evilviper · · Score: 1

      Your premise really isn't true. Telcom folks certainly had lines with intermittent packet-loss, and TCP was designed to handle it. But when the BSD folks wrote their implementation, they left out the "source-quench" option to signal congestion like most other telecom protocols, and invented the slow-start and exponential back-off on packet-loss that we all know and hate. And since it was BSD-licensed, every other OS out there took that BSD-TCP stack, unmodified, and made it their own, Microsoft included.

      The power of legacy equipment has meant that TCP never got fixed, and the bug gets passed forward. And everyone out there with fat pipes has to reinvent their own protocols that have congestion control like TCP once had. One change to the normal TCP stack, and all those "almost-TCP" protocols go away in a flash.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  69. MIT mentality by Anonymous Coward · · Score: 0

    MIT always gives the impression that they are the first to accomplish anything. It's to the point that everyone outside of MIT take everything they crow about with a huge grain of salt.

    1. Re:MIT mentality by CanHasDIY · · Score: 1

      MIT always gives the impression that they are the first to accomplish anything.

      So... MIT == Apple now?

      Calm down, fanbois, you know it's true.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
  70. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 2, Funny

    RAIP: Redundant Array of Inexpensive Packets

    I can see why they didn't use that acronym...

  71. Re:This is cool. But... by Gilmoure · · Score: 5, Insightful

    Think of it as bitmap vs vector graphic.

    --
    I drank what? -- Socrates
  72. Yawn by Anonymous Coward · · Score: 0

    Yawn, they re-invented Turbo Coding and packet interleaving for FEC, and just used larger packets... https://en.wikipedia.org/wiki/Turbo_code

  73. Re:Congratulations, Baldrick by AK+Marc · · Score: 1

    I understand what they mean, but it's a silly way to write it.

    "MIT, Caltech, Harvard, and elite European universities." Either that, or California Institute of Technology and Massachusetts Institute of Technology are in Sweden. I've never been to Sweden, for all I know, there is a California, Sweden.

  74. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    RAIP: Redundant Array of Inexpensive Packets

    I can see why they didn't use that acronym...

    From the Cloud:

    Redundant Array of Packet Expediters.

  75. Re:Congratulations, Baldrick by rpresser · · Score: 1

    As well as the resources it takes, in both CPU and storage, to compute pi out that far.

  76. Re:Congratulations, Baldrick - RAID-Fi by Thaedron · · Score: 0

    I would call it "RAID-5 for WiFi" Or how about RAID-Fi... :-)

  77. Re:This is cool. But... by Anonymous Coward · · Score: 0

    The point is it will give them higher data rates for free which they can then charge extra for.

    If you believe carriers will get rich and fat from this, then by all means, buy stock! They are public companies. Put your money where your mouth is.

  78. Why is WiFi's FEC so bad? by Animats · · Score: 4, Interesting

    The actual paper, which I need to read a few more times, proposes at least two mechanisms. One problem with TCP is that, when ICMP Source Quench went away in the 1980s, the assumption was made that a lost packet indicated congestion. So a lost packet means slow down. This is a problem for systems with high packet loss rates and no link level retransmit, like WiFi. Also, with TCP, packets need not arrive in order, but if one is missing, all later packets have to be retransmitted, because the ACK scheme has no way to describe which byte ranges are missing, just the last good sequence number. So losing one packet when there are many in flight costs multiple retransmits.

    Their solution involves addressing both of those issues. Then they add the "algebra", which is a simple form of forward error correction. They send M linear combinations of N packets, M > N, from which all N packets can be reconstructed provided that not more than K packets are lost where K Why is that? This is a link layer problem and ought to be dealt with at the link layer. FEC at the WiFi link layer is apparently not as effective as it should be.

    1. Re:Why is WiFi's FEC so bad? by Anonymous Coward · · Score: 0

      tcp does not have to retransmit every packet between the loss and
      the current snd.ptr. with fast retransmit, on the 3d duplicate
      ack, you resend one frame at snd.una (the unacked pointer).
      given open window, it's possible to advanced snd.ptr during loss.
      selective ack (sack) also provides away around multiple losses
      per round-trip-time.

  79. Bufferbloat? by WillgasM · · Score: 1

    So does this make bufferbloat better or worse?

  80. Re:Congratulations, Baldrick by rpresser · · Score: 1

    MIT, Caltech, Harvard, and other universities in Europe

    I understand what they mean, but it's a silly way to write it. Maybe Slashdot should have someone who edits submissions.

    How would you revise it without adding anything?

    Best I can come up with is

    MIT, Caltech, and Harvard, as well as some European universities

  81. Re:Congratulations, Baldrick by AK+Marc · · Score: 2

    It increases the amount transferred with the intention of minimizing total throughput. Not sending something isn't compression. Compression is sending less than you started with, and recovering the whole thing at the other end. This is FEC, where you send more than the original and then reconstruct the original at the other end.

  82. Re:Congratulations, Baldrick by potpie · · Score: 1

    Could that be overcome by conventionally breaking up pi into blocks of certain sizes, then conceptualizing those blocks as matrices of conventional height and width?

    --
    Esoteric reference.
  83. Hmm by RenHoek · · Score: 1

    From the excerpt, it sounds a little like wavelet compression. But that works well for lossy compression like video/audio. It's just really hard to get a formula that describes 'random-ish' data that would typically be going over WiFi.

    To be honest, it smells like an infinite recursive compression story. I'd like to see proof of this before I get excited.

  84. Re: How is this not compression? by Capt.Albatross · · Score: 2

    How is it not compression? It reduces the data size being transferred and is recoverable on the other end. Maybe I'm not an expert, but isn't that _exactly_ the definition of compression?

    While I agree with the people who say that it is not data compression, it is also worth noting that the question is beside the point - you may as well say 'it is communication' as if the fact that something of that nature has been done before renders it irrelevant. The point is that it is a clever, useful and significant extension to the state of the art.

  85. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    Actually, on average, the number of bits needed to express the starting position in pi would greatly exceed the number of bits being transmitted.

  86. Re:This is cool. But... by CanHasDIY · · Score: 4, Funny

    The point is it will give them higher data rates for free which they can then charge extra for.

    If you believe carriers will get rich and fat from this, then by all means, buy stock! They are public companies. Put your money where your mouth is.

    I'd put my money in hay bales, personally, considering people such as AC here's propensity for building strawmen.

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
  87. Re:Congratulations, Baldrick by SuperMooCow · · Score: 2, Funny

    I always knew that cloud hosting companies were screwing us.

  88. Re:Congratulations, Baldrick by isaac1987a · · Score: 5, Informative

    I work in Sattelite Communications and we use these algorithims by default. We call it forward error correction. I would assume that they would use a much less aggressive algorithim, maby 1 correction bit per 8-16 bits rather than a 1 for 1 data, or a 1 for 2 data that you see for dirty links in the space operations. See http://en.wikipedia.org/wiki/Viterbi_algorithm or http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction. The additional throughput is not from compression but from not having to TCP resend entire packets and probably also prevents the TCP window from resetting.

  89. There's no magic by Anonymous Coward · · Score: 0

    Something must be awfully broken in order to make putting this in have a big impact.

    They aren't compressing the data by making the router solve an equation. It sounds like there are so many dropped packets being dropped due to a few corrupted bits that adding a little redundancy overcomes that. Why are there so many corrupted bits? Somebody else mentioned that the routers are throttling back when packets drop because there's an assumption that dropped packets mean congestion. Maybe the real solution is to just not throttle back so eagerly. Don't get me wrong. It sounds like a great hack; but it also sounds like a band-aid as opposed to a real solution.

    1. Re:There's no magic by WillgasM · · Score: 2

      They just need to put copper mesh over all the windows to keep the bits from escaping

  90. Re:Congratulations, Baldrick by Aryden · · Score: 1

    It's not compression, it would be closer to expansion. We're talking about creating and sending an equation to represent a value instead of sending the value itself. 1 + 32 = 33 is far larger than just sending 33. The difference is, if the receiver gets x +32 = 33, it can solve for x and thus rebuild the missing packet.

  91. Re:Congratulations, Baldrick by CanHasDIY · · Score: 1

    MIT, Caltech, Harvard, and other universities in Europe

    I understand what they mean, but it's a silly way to write it. Maybe Slashdot should have someone who edits submissions.

    How would you revise it without adding anything?

    Best I can come up with is

    MIT, Caltech, and Harvard, as well as some European universities

    MIT, Caltech, Harvard, and some universities in Europe

    MIT, Caltech, Harvard, and several universities in Europe

    MIT, Caltech, Harvard, and a handful of universities in Europe

    MIT, Caltech, Harvard, and a number of universities in Europe

    Best Case, per your criteria of no additions:
    MIT, Caltech, Harvard, and universities in Europe

    No need for superfluous words, especially words that imply specific connection... like 'other.'

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
  92. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    You don't know how to use question marks?

  93. Re:Congratulations, Baldrick by mark-t · · Score: 2

    All very well and good, except that the encoded representation of the starting position may take up more space than the length of data you are wanting to send.

  94. Re:Congratulations, Baldrick by Guspaz · · Score: 1

    Indeed, and I was tempted to post a comment about how researchers had rediscovered forward error correction. This technique is already used extensively absolutely everywhere, from optical media to DSL lines. What's so new and impressive about this "new" version of FEC?

  95. Re:"commercially licensed" by Anonymous Coward · · Score: 0

    Mod this ++good.

    Double plus good ; where have I heard that before?

  96. Article was dumbified to death by Anonymous Coward · · Score: 0

    The article and the slashdot recap were dumbified to death. Trying to explain something in "layman terms" just makes it incomprehensible to both the layman and the expert. I work in communications department of an university and we do have practical research in coding methods for LTE. Though we can use industry and research community agreed terms, like Turbo Coding to describe the process of coding across the data.. Expert can just nod in acknowledgment and laymen can go use wikipedia.

    So, dear Slashdot Editor and dear TFA-writer, stick your terms so deep in your Algebra that you can taste them.

  97. Re:This is cool. But... by Anonymous Coward · · Score: 1

    Straw and hay are not the same thing, smart ass.

  98. Imagine! by Anonymous Coward · · Score: 0

    Imagine what it would do in a Boeing 777!!!

  99. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    She does? But she's a teenager? She's totally going to watch Breaking Dawn part 2?

  100. Re:This is cool. But... by CheshireDragon · · Score: 1

    Then you must live in high foliage, a building with lead paint or some other signal bashing source. Even in my home at -115dB on my 4G device I can still get a sustained 8+Mb speeds on the hotspot connection.

    --
    "That's right...I said it."
  101. It would be a bitch if it was limited only to 5Ghz by Anonymous Coward · · Score: 0

    because none of my linux/android gadgets running, (l)ubuntu 12.04, Nook Color, LG Optimus V, seem to speak on that bandwidth, and I would hate to fall back on the evil Win7 which seems to have no problem speaking 5Ghz.

  102. Re:This is cool. But... by White+Flame · · Score: 5, Interesting

    It prevents backtracking the stream.

    Say you have 10 packets to transmit. You encode them into 10 linearly combined results, with a 10-byte coefficient header (1 per packet), and transmit those 10 encoded packets.

    If the 5th packet was lost, in standard TCP you'd need to retransmit packets 5-10. With this encoding, you could in theory transmit only 1 packet to complete the set, regardless of which was lost, based on how the new ACKs describe the algebraic degrees of freedom remaining in solving for the original packet bytes. That means that you put out 11 packets instead of 15 packets into the same noisy environment, and the existing TCP window controls perceive less losses. If everybody does that, the overall contention might go down compared to stock TCP.

    In the case where it's very difficult to get any individual packet through, I could see this still encoding 2-3 packets at a time and saving bandwidth on resending vs regular unencoded serial transmission.

    (given my skimming of the paper)

  103. Re:Congratulations, Baldrick by viperidaenz · · Score: 1

    But there is a connection, MIT, Caltech, Harvard and the universities in Europe are all universities.
    Removing the word "other" implies every university in Europe was involved.

  104. Re:Congratulations, Baldrick by AwesomeMcgee · · Score: 1

    So have a super-fast readonly ram module which contains 1gb(or however little would be necessary to get a valid set of permutations) of Pi, the starting position is simply a pointer address to that module.

  105. Re:Congratulations, Baldrick by geekoid · · Score: 0

    "Here's an example of how it might work."
    let us know when you can give an example of how it does work.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  106. Re:Congratulations, Baldrick by CanHasDIY · · Score: 1

    But there is a connection, MIT, Caltech, Harvard and the universities in Europe are all universities. Removing the word "other" implies every university in Europe was involved.

    No, including the word other implies that all the schools are in Europe.

    "Sam and the other boys..." implies that Sam is a boy.

    "Chevy, Ford, and other manufacturers in Japan" implies that Chevy and Ford are Japanese.

    Same deal here.

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
  107. Re:This is cool. But... by EEPROMS · · Score: 1

    I can understand the logic of adding extra information to a transmission so the end point receiver can extrapolate the complete packet due to data loss. My question is what if there is no or very little data loss won't the extra overhead work against you ?

  108. Re:Congratulations, Baldrick by CanHasDIY · · Score: 1

    Removing the word "other" implies every university in Europe was involved.

    Forgot to address this one: No again.

    "MIT, Caltech, and universities in Europe" does not imply all universities in Europe; it makes a distinction between MIT, Caltech, and European universities.

    "MIT, Caltech, and all the universities in Europe" less implies it, and more just says it.

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
  109. Phrases in context by DragonWriter · · Score: 1

    But there is a connection, MIT, Caltech, Harvard and the universities in Europe are all universities. Removing the word "other" implies every university in Europe was involved.

    No it doesn't. "A team of researchers from MIT, Caltech, and universities in Europe" does not, even a little bit, imply that the "team of researchers" included researchers from every university in Europe. Whereas "A team of researchers from MIT, Caltech, and other universities in Europe" definitely states that MIT, Caltech, and the other universities from which the researchers on the team come are all in Europe, which is just a little bit wrong.

  110. Network Coding Meets TCP: Theory and Implementatio by Anonymous Coward · · Score: 0

    Search for the mentioned paper and you'll find the details.

    cheers,
    inno

  111. Math! ... you're doing it wrong by DragonWriter · · Score: 1

    I always tell them: "If you think you won't ever use much math, you probably won't. And your bank account probably won't get big enough to require many decimals."

    I'm having trouble imagining how a bank account balance is going to require more than one decimal to express, regardless of how big it gets.

  112. Re:This is cool. But... by Imagix · · Score: 4, Insightful

    Car analogy: Somebody ships you a car. It arrives with a bent bumper. Instead of having the source shipping you a new car, you just unbend the bumper.

  113. Re:Congratulations, Baldrick by Guru80 · · Score: 1

    Because, although slightly, it makes it bigger.

  114. Don't Misunderstand by rabtech · · Score: 4, Informative

    Most of the posters here seem to misunderstand what this is; it is NOT just a simple Forward Error Correction scheme.

    TCP has two design decisions (as pointed out by others) that are totally wrong for a WiFi environment where random packet loss is a normal and expected operating condition:

    1. A lost packet means a collision or network congestion, therefore the proper response to a lost packet notification is to slow down the transmit rate

    2. When packet #2 is lost, even though the client has perfectly cromulent copies of packets 3-1094932, they must *all* be thrown away and the entire stream is restarted. There is no facility to go back and retransmit just the missing packet - the ACK can't say "I got packets 1,3-1094932, please just re-send #2".

    This new scheme reconstructs packet #2 in this scenario by using the FEC data in the other packets. This allows the link to tolerate a certain % of packet loss without requiring any re-transmits, thus all those packets from 3 upwards don't have to be retransmitted. It also greatly reduces latency as reconstructing packet #2 is faster (due to the computationally efficient FEC algorithm) than requesting a retransmit. This also prevents the TCP link from scaling back its transmit rate, further improving performance.

    It's definitely clever. One of the downsides of relying on older technology (TCP in this case) is when it makes fundamental assumptions that are completely, horribly wrong for new applications (WiFi).

    To those who ask why not just do this at the link layer? Because then you are wasting the effort on protocols like UDP, etc that may not want or need this kind of correction. It may also introduce delays that are unacceptable for certain applications (like VoIP). A 50ms delay is great to avoid degrading your file transfer from 10mbit to 0.5mbit, but is completely useless during a VoIP call or a multi-player FPS. Personally I'd like to see this kind of tech rolled into the next version of TCP to make it an official part of the standard... then again I'd like to see the standard MTU size increased given the ubiquity of gigabit ethernet these days, but that still hasn't happened as far as I know, due to incompatibilities, interop issues, etc.

    --
    Natural != (nontoxic || beneficial)
    1. Re:Don't Misunderstand by Anonymous Coward · · Score: 3, Informative

      TCP does not require all the packets be re-transmitted when Selective ACK is supported. Selective ACK is ubiquitous.

      Preventing TCP from scaling back the transmit rate is a defect, not a feature.

    2. Re:Don't Misunderstand by Anonymous Coward · · Score: 0

      There is no facility to go back and retransmit just the missing packet - the ACK can't say "I got packets 1,3-1094932, please just re-send #2".

      Yes, there is, it's called SACK (selective acknowledgement).

    3. Re:Don't Misunderstand by Anonymous Coward · · Score: 0

      Isn't your point 2 addressed by RFC 2018?

    4. Re:Don't Misunderstand by Anonymous Coward · · Score: 0

      the ACK can't say "I got packets 1,3-1094932, please just re-send #2".

      RTFM: RFC 2018, SACK.

    5. Re:Don't Misunderstand by BuGless · · Score: 1

      the ACK can't say "I got packets 1,3-1094932, please just re-send #2".

      RTFM: RFC 2018, SACK.

    6. Re:Don't Misunderstand by tricorn · · Score: 1

      The way to handle this at the link layer is to have a way to indicate that a packet should be given a higher level of effort to deliver it correctly (i.e. that if the link layer can't deliver it, the layers above it will be retransmitting it anyway, so go ahead and spend whatever extra resources are appropriate given that hint).

      See http://tools.ietf.org/html/rfc2597 and its follow up http://tools.ietf.org/html/rfc3260 for example.

      This type of handling is just another type of QoS and needs to be handled at each link, making it end-to-end is inappropriate.

  115. Re:Congratulations, Baldrick by tompaulco · · Score: 1

    You've invented data compression.
    Are you sure? It sounds like he invented striping.

    --
    If you are not allowed to question your government then the government has answered your question.
  116. that only does anything in multicast transmission by YesIAmAScript · · Score: 1

    Note the multiple deliveries in the butterfly network.

    It doesn't increase capacity for unicast case. And TCP is unicast.

    --
    http://lkml.org/lkml/2005/8/20/95
  117. NAK that by girlinatrainingbra · · Score: 1

    I will NAK that as a joke....

  118. Welcome to compression by holophrastic · · Score: 1

    Yay, another type of compression. I'm sure it's very easy to decompress. I shudder to think of the effort on the transmitter to describe packets algebraically. But I agree that in a high-loss environment, it's better than re-transmission.

  119. Re:Congratulations, Baldrick by CmdTako · · Score: 3, Interesting

    Nope, Nowadays we have pi on tap

  120. Re:This is cool. But... by danceswithtrees · · Score: 1

    To paraphrase Churchill, "Gentlemen, we have run out of spectral bandwidth. Now we have to think."

  121. Standard TCP? by Anonymous Coward · · Score: 0

    They're comparing to standard TCP, and claiming gains on the discarded future data after a lost packet.

    Standard TCP Options exist for this purpose, Selective ACK (RFC2018) is widely supported and allows a TCP stream to acknowledge receipt of data that is not immediately next in the sequence and thereby avoid retransmitting all that data.

    TCP/NC seems like it's just error correction used for that purpose, though it additionally avoids the retransmit of the initially lost packet. I wonder how much it adds to the packet size.

  122. They invented a denial of service attack by Anonymous Coward · · Score: 0

    The gain is from their TCP not reacting to packet drops. They essentially stole the entire spectrum from other users on their cell tower, using the error correction to hide any packets drops (which are a normal part of TCP operation!!!) from TCP.

    In other words, terminate them for violation of TOS.

  123. Re:This is cool. But... by EETech1 · · Score: 1

    Less NACKs should give you more for your money though.

    It's almost a win, win...

    Cheers

  124. Doesn't wifi have this at some level? by tinkwink · · Score: 1

    I was always under the impression with wifi that retransmissions were done at the link level. When you do a ping packets are often delayed for 100s of ms. indicating retransmits. I was also under the impression that wifi was all algibra being developed by the csiro to effectivly turn almost noise into some sort of coherent siginal. surely this packet level correction can be done with more buffering at an in between layer. Alternatively a transparent proxy at the ap. You wouldn't want it at the server as it would be sending redundent data over links that don't need it.

  125. Make it adaptive by Anonymous Coward · · Score: 0

    I bet the throughput remains constant, or gets worse for large downloads. All that excess baggage in the packet to prevent resends improves network connection speed but the packets now contain data that may never be used.

    As an adaptive protocol it makes more sense, i.e. if packet loss starts to rise then switch over to this mode.

  126. Re:This is cool. But... by TheGratefulNet · · Score: 4, Interesting

    better: there is an unknown part that was found rattling around inside. you find out what it was and put it back where it should have been.

    --

    --
    "It is now safe to switch off your computer."
  127. Interactions with 802.11n? by johndoe42 · · Score: 1
    I don't think this is a good fit for 802.11n. From the paper:

    We assume that there is are [sic] random erasures within in the network.

    802.11n aggregates frames. This means that (at least for throughput-limited flows) multiple packets will be transmitted at once, and they're likely to all be lost together. This won't help. In any case, it makes sense for inherently lossy links to do their own FEC -- the end-to-end principle is not a good way to maximize capacity. But hacking around TCP like this seems silly -- just fix the problem at the link layer.

  128. RAID5 for Wifi by Gothmolly · · Score: 1

    You burn overall throughput for resiliency in the face of partial loss.

    --
    I want to delete my account but Slashdot doesn't allow it.
  129. Re:Congratulations, Baldrick by __aaltlg1547 · · Score: 1

    I work in Sattelite Communications and we use these algorithims by default. We call it forward error correction. I would assume that they would use a much less aggressive algorithim, maby 1 correction bit per 8-16 bits rather than a 1 for 1 data, or a 1 for 2 data that you see for dirty links in the space operations. See http://en.wikipedia.org/wiki/Viterbi_algorithm or http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction. The additional throughput is not from compression but from not having to TCP resend entire packets and probably also prevents the TCP window from resetting.

    But they're claiming greater than 10x increases in network throughput when the packet loss rates were only 2% to 5%. That doesn't add up. If the packet loss rates were in the single digits, only 2% to 5% of packets should have to be retransmitted. The retransmit request requires another packet the other way, so that the throughput should be 90% to 96% of packets originally transmitted. In other words, a 2% to 5% packet loss rate shouldn't slow down a network so dramatically and if that's the case, it shouldn't be POSSIBLE to increase the maximum throughput by a large factor.

  130. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 2, Informative

    The problem is that TCP's congestion control is very poorly designed for wireless communications. TCP is designed with the mindset that if everything is working well, there is no packet loss and any packet loss is a sign of congestion or other abnormal network patterns. For wireless links, this is simply untrue, so TCP is way over conservative in how many packets to send over wireless links. The article is about using error correction to fix that.

  131. Doesn't seem so revolutionary by russotto · · Score: 2

    They've rediscovered forward error correction?

    1. Re:Doesn't seem so revolutionary by BeanThere · · Score: 1

      FFS, NOWHERE do they claim to have "discovered" forward error correction, NOWHERE do they claim this is "revolutionary". All they're claiming is an incremental improvement in efficiencies of existing networking, and if it works even half as well as claimed, then it is correct and useful (unlike stupid snarky posts on /. by people who think that bashing something makes them smart ... what is your contribution to the field of networking?)

    2. Re:Doesn't seem so revolutionary by russotto · · Score: 1

      The tone of the summary is rather breathless, and they do claim it's "novel". That opens them up to the sort of jeering they're getting.

  132. Re:Congratulations, Baldrick by iamhassi · · Score: 1

    I work in Sattelite Communications and we use these algorithims by default. We call it forward error correction. I would assume that they would use a much less aggressive algorithim, maby 1 correction bit per 8-16 bits rather than a 1 for 1 data, or a 1 for 2 data that you see for dirty links in the space operations. See http://en.wikipedia.org/wiki/Viterbi_algorithm or http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction. The additional throughput is not from compression but from not having to TCP resend entire packets and probably also prevents the TCP window from resetting.

    But.... TCP/IP already has parity bits, so how is this different? this is still sending an extra something so the math can be done to figure out the missing data, sounds like the same thing we've been doing for ages...

    --
    my karma will be here long after I'm gone
  133. Re:This is cool. But... by __aaltlg1547 · · Score: 2

    What they seem to say they're doing forward error correction, but with giant coding blocks (superblocks) comprising multiple TCP packets. Presumably this is accomplished by swapping the bits around between the packets and then using a conventional block coding algorithm on smaller blocks within each packet. So a whole packet can be lost and the block-decoding algorithm will still decode the superblock correctly even with a missing packet (but not two missing packets).

    It's a clever idea to work around the problem of RF interference in wireless networks (and I'm ashamed I didn't think of it first long ago.).

    Conventional wireless network protocols use FEC in the link layer as well, but they lose packets due to collisions and interference from other devices that share spectrum with them. The only piece of it that I have trouble believing is that there can be a 10x or more increase in network throughput when the original packet drop rates were

  134. Re:This is cool. But... by craighansen · · Score: 2

    This mechanism has been in place for years with the PAR encoding used in USENET messages. A little redundancy permits one or more messages to be dropped without losing the transmission.

    A much simpler mechanism could get most of the claimed benefit:

    In TCP, a packet erasure is assumed to have resulted from congestion. However, if we start receiving packets out of order when the window size is large, we could instead presume that a packet erasure may have occurred. In a sequence of packets sent when the window size is 20 packets, say packets 1-20, packet 5 is missing, instead of NAKing packet 5 and dropping 6-20, ACKing packets 6-20+ could provoke a response of retransmitting packet 5 and once 5 is ACKed, the transmitter can move on past packet 21 (by the time packet 5 is presumed lost, the transmitter would have transmitted even more packets) - thus only lost packets are retransmitted.

    The size of the transmit window can be reduced modestly when this occurs, instead of resetting it to one - perhaps the appropriate adjustment is to where the transmit window would be after successfully ACKing 19 packets after a reset. This can be generalized for multiple lost packets within the transmit window, and no "algebra" on packets would be required, only a similar amount of memory at the receiver and transmitter to the coded TCP scheme. Coded TCP takes additional bandwidth because (1) more redundant packets are sent than are needed (2) the overhead of sending which packets are algebraically combined in each packet.

    The proposal assumes a constant erasure rate with packet size - for many networks this is not true. Reducing the packet size often improves the erasure rate. I've seen this in practice, in a DSL line where reducing the MTU from 1500 to a few hundred made the line usable (until I could get it fixed).

    The coded TCP scheme (or the above scheme) could be implemented in software using UDP packets. Why it needs new (and licensed!?!) hardware is beyond my understanding.

  135. I don't think this is Linear Network Coding by slew · · Score: 1

    The way they describe it, it appears to be a simple point-to-point adaptive error correction which is like FEC.

    A simple way to think about this is to think about a trivial code. Consider the situation where a transmitter batches up 10 TCP packets and the receiver receives 9/10. If the transmitter thinks that any of those 10 packets weren't received (say because of a timeout), it could just send the parity of all 10 packets. In a pure FEC system, it would always send that parity packet. In an adaptive system, it would only send that packet if it thought any 1 of 10 was lost. Of course you can replace parity with more sophisticated coding schemes that can more easily correct for more than 1 lost packet out of 10, and you can look at the packet loss statistics and speculatively send some of the "parity" packets in anticipation. Of course if all 10 packets are lost, you'd have to send all 10 new "parity" packets (can't avoid that).

    Contrast this with normal TCP where if you lost the 1st and the 10'th packet, you'd probably have to wait until the transmitter sent all 10 packets (because the receiver can't communicate this back to the transmitter using standard TCP). With an adaptive FEC-like scheme, as soon as 2 packets were recieved, you could correct both the 1st and the 10th packet (not have to wait for packets 2-9 which you already got). I'm sure the scheme is a bit more sophisticated than this, but I'm pretty sure that's the general idea. They are probably are using a simple punctured convolution code instead of basic parity packets, but the idea is the same.

    The Linear Network Coding idea is slightly different. It attempts to optimize the multi-cast scenario (not the point-to-point scenario). As I understand LNC, you take advantage of looking at broadcast packets and reconstructing your stream out of the ones you receive (kinda like how CDMA works over the shared air medium).

  136. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    How about naming the European universities as well? That would solve the syntax problem while giving credit where it is due.

  137. Re:This is cool. But... by CTachyon · · Score: 1

    If the 5th packet was lost, in standard TCP you'd need to retransmit packets 5-10. With this encoding, you could in theory transmit only 1 packet to complete the set, regardless of which was lost, based on how the new ACKs describe the algebraic degrees of freedom remaining in solving for the original packet bytes. That means that you put out 11 packets instead of 15 packets into the same noisy environment, and the existing TCP window controls perceive less losses.

    Uhh, that sounds like an extremely convoluted reinvention of TCP SACK (RFC 2018) using some knockoff of Reed-Solomon instead of, y'know, "I got packets 1-4 and 6-10, please retransmit #5".

    --
    Range Voting: preference intensity matters
  138. Re:This is cool. But... by Anonymous Coward · · Score: 0

    Here's one, imagine you driving to the supermarket to buy tampons, on the way back you spill, err coffee, yes boiling coffee on it and ruin them. In the old way, you'd have to double back and buy em again experiencing all the awkwardness all over. In the proposed new way, these tampons are resilient in such a way you can wring the coffee from em and they'd be good as new and you'll get to enjoy your coffee after all. No need to double back to the supermarket.

    P.S: Logic gap on how spilled coffee can ruin tampons in plastic wrap noted and ignored for illustrative purposes.

  139. HDTV application? by Anonymous Coward · · Score: 0

    Could this be adapted to make over the air HDTV signals less likly to freeze and such?

  140. Ironic math error by Anonymous Coward · · Score: 0

    It's ironic that an article related to mathematics is written by someone who doesn't understand that an increase by a factor of 10 is a 900% increase, not a 1000% increase.

  141. Re:Congratulations, Baldrick by rpresser · · Score: 1

    From the PDF you yourself linked: "Of course, no algorithm using a bounded amount of memory can generate a nonrepeating sequence such as the digits of p indefinitely, so we have to allow arbitrary-precision arithmetic, or some other manifestation of dynamic memory allocation."

  142. Re:This is cool. But... by craighansen · · Score: 2

    It looks like RFC 1072 (TCP extensions for long-delay paths, 1996) and RFC 2018 (TCP selective Acknowlegement options, 1988) already does what I suggest. Does anyone know why it's not already widely adopted? If these RFCs were in place, the additional speed-up of coded TCP ought to be negligible.

    Here's a quote from the coded TCP paper: "Other variants include those with selective acknowledgment schemes [21]. It may be interesting to compare the performance of the TCP variants with that of TCP/NC. However, we focus on traditional TCP here." The footnote [21] is to a paper that appears to be based on RFC 2018 with matching authors. I'd suggest that if they compared TCP/NC to RFC 2018, they'd see that their mechanism is way more complicated and has negligible advantages.

  143. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    This only helps with decoding, and it still takes exponential time to decode an n-bit message.

  144. Re:Congratulations, Baldrick by fikx · · Score: 1

    So....I wonder if we knew "all" of pi, it could be used to represent all the data in the universe. The we'd just need the pointers to pick bits of data out of it. cool...

    --
    AB HOC POSSUM VIDERE DOMUM TUUM
  145. Re:This is cool. But... by craighansen · · Score: 1

    Yes, it would.

  146. Re:This is cool. But... by pipatron · · Score: 1

    Yes, it would.

    But TCP already adjust its packet rate if it experiences too many losses, it could instead adaptively choose to include more redundancy if the current level of redundancy is not enough.

    --
    c++; /* this makes c bigger but returns the old value */
  147. Re:Congratulations, Baldrick by pipatron · · Score: 2

    Well... Look at it as "parity bits on steroids". This method is sort of the same, but much more powerful.

    The most important difference is that you can't repair damage with a simple parity/checksum, but with these algorithms you can actually use the extra data to fix most of the missing data.

    --
    c++; /* this makes c bigger but returns the old value */
  148. Re:This is cool. But... by Anonymous Coward · · Score: 0

    Mods, this sounds kinda on-topic to me.

  149. Been there, done that. by Anonymous Coward · · Score: 0

    How is this different, or better than Luby codes.

    http://en.wikipedia.org/wiki/Luby_transform_code

    Dr. Luby founded a company, Digital Fountain, then that company was sold to Qualcomm.

  150. Re:This is cool. But... by Anonymous Coward · · Score: 1

    Even better, they send you the instructions detailing how to put the piece back in the event that it is rattling around.

  151. Re:Congratulations, Baldrick by nedlohs · · Score: 1

    They know how TCP works and you don't.

  152. Re:Congratulations, Baldrick by skelly33 · · Score: 1

    Pi is a non-terminating irrational number. You can't know it "all"... so conceivably an infinitely long number to represent an unfathomably (and for all intents and purposes, "infinitely") deep volume of data...? Sure, why not? The answer still comes out to 42.

  153. Re:This is cool. But... by Anonymous Coward · · Score: 0

    even with standard TCP you need only retransmit the missing packet (fast retransmit)

  154. Re:This is cool. But... by profplump · · Score: 1

    RFC 2018 is widely adopted -- it's supported in modern linux, Windows, and Mac OS (generally called "SACK" in the TCP tuning parameters) and on by default in all those for a number of years.

    RFC 1072 was not implemented mostly because it was never proposed as a standard, just as a basis for further study. And as of RFC 6247 it is now a "historic" RFC.

  155. Re:Congratulations, Baldrick by Anonymous Coward · · Score: 0

    It's an error-correction method that happens to have compression built-in.

    Don't have many existing compression methods error-correction built-in?

  156. Re:This is cool. But... by GrpA · · Score: 1

    Uh, no, under TCP in most implementations I've seen, you'd ack '4 until you received '5, then you'd ack '10. In a perfect world, this would mean only 11 packets were transmitted, unless the sender chose to re-send 6 to 10.

    Spending some time with a packet sniffer on different networks can be illuminating :)

    Because not every implementation of TCP works the same, that makes for an effective tool to exploit vulnerabilities also in some cases, where the packets as subsequently sent contain different data from the original - as some IDSs don't cope well with understanding which packet to keep.

    GrpA

    --
    Enjoy science fiction? "Turing Evolved" - AI, Mecha, Androids and rail-gun battles. What more could you want?
  157. Re:This is cool. But... by DarwinSurvivor · · Score: 1

    Also known as "selective repeat" instead of "go back n".

  158. Re:"commercially licensed" by Anonymous Coward · · Score: 0

    "the technology has already been commercially licensed to several hardware makers."

    Yeah I was thinking 'Thats kinda cool' until I read the last line... so not as open as TCP.

  159. Forward Error Correction by flyingfsck · · Score: 0

    Duh - Adding FEC to TCP improves operation over wireless links. Call me unimpressed.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  160. Re:This is cool. But... by ciggieposeur · · Score: 1

    I'm genuinely surprised the TCP window algorithm would throw away packet 6-20 in this case. Kermit sliding windows wouldn't, they would NAK 5, ACK the rest, and then the sender would re-send 5 and pick back up again at 20 once it got the ACK to 5.

    And that was described in detail in The Kermit Protocol back in 1986.

  161. Error correction by Kim0 · · Score: 1

    But this sounds precisely like standard error correction.
    Since turbo codes were discovered in the 90ies, transmissions can now be sent at near their theoretical maximal speed.
    So, what is different here? Some kind of RAID5 similar scheme? A data fountain? All well known not new technology.

  162. so much bad information by Anonymous Coward · · Score: 0

    It is not FEC in the sense of reed solomon. It is not linear network coding. This is not interleaving recovery information throughout the stream (FEC) or at either end of the data. It is applying a transformation on the data such that the result is a new stream of data that is transformed using algebra, The data as sent looks nothing like the original data. The new data stream is the result of the algebraic transformation and recovering the data is simply performing the algebra in reverse. Its very clever but its been done before. Typically digital fountain or fountain codes and Raptor Codes are applied to UDP streams but you can (and we have) been applying them to TCP flows as well. The result is two things, you can essentially eliminate retransmissions and in the case of large pipes you can eliminate bandwidth delay product.

    I don't know about their solution because the article has so little detail but fountain codes and more recently raptor codes are extremely clever and useful.

  163. Re:This is cool. But... by ByOhTek · · Score: 1

    I think you missed part of the point. Removing the need to send lost packets is only part of the issue. It looks like it also increases the data stored in each packet.

    So, not only do you remove the 5% packet loss, but you also, for the same amount of data, remove 90% of the remaining packets.

    Of course, like any compression algorithm, there is probably variability, so it is possible that there will be some variability, but the data in TFS, that 90% is probably an average, not a peak.

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  164. Irony by ThatsNotPudding · · Score: 1

    My browser timed-out the first time I loaded this page.

  165. I can see the line item charge now by ThatsNotPudding · · Score: 2

    "Algebraic packet reconstruction fee: $.01/kb"

  166. Just name them by aclarke · · Score: 1

    How about this:

    MIT, the University of Porto in Portugal, Harvard University, Caltech, and Technical University of Munich.

    That's straight from the article. Wouldn't it have been easier to just copy that than for some inexplicable reason dumb it down to "other universities in Europe", like it's only the American universities that matter?

    Maybe it was strategic genius, as the main thing that got me clicking through to the article was wondering which European universities were involved in this research.

  167. Re:This is cool. But... by Byrel · · Score: 1

    This implies a disturbing amount of foresight about probable failure modes...

  168. Re:This is cool. But... by Anonymous Coward · · Score: 0

    Overall throughput? I'm skeptical. I have yet to consistently get 3G speeds out of even a 4G phone.

    Since you have no way of actually measuring your speed between your phone and the cell tower, that's a pretty bold claim to make. 4G is only the wireless portion of your connection, and in many cases the bottleneck is due to the tower not having enough backhaul capacity as opposed to a bandwidth crunch on the wireless portion.

  169. Re:Congratulations, Baldrick by ImprovOmega · · Score: 1

    That's *always* the case. It's the classic pigeon hole problem. In order to encode absolutely every possible string of bytes there must be some encodings which use at least that many bytes to do so. You see this readily with lossless image/audio compression algorithms. They make everything smaller in the average case (normal songs, spoken audio, landscape pics, family photos), but shove a randomly generated mess at them and they almost always produce a file larger than the original.

  170. Re:This is cool. But... by Anonymous Coward · · Score: 0

    But I'm sure there's something about a car exploding and all traffic backs up for tens of miles along the wa

    Well if you figure the packet is like a car, and the data is like a nice moist cake in that car, and using wireless is like having that car driven by a very fat lady.... much of the time when the car reaches the destination the fat lady has eaten the cake. So then she has to drive back and tell you the cake was "lost", so now you have to send another cake. This means that there are a lot of cars making a lot of extra trips, so traffic gets really congested.
    Using this technology is like sending a teenage girl with bulimia as a driver- when she eats the cake and gets to the destination, she runs to the bathroom and pukes it back up where it can be put back together, and thus she doesn't have to make a second trip.

  171. Re:This is cool. But... by c++0xFF · · Score: 1

    Think of it as bitmap vs vector graphic of a mustang.

    FTFY. Analogy fail. He was looking for a car analogy.

  172. Re:This is cool. But... by Anonymous Coward · · Score: 0

    So, not only do you remove the 5% packet loss, but you also, for the same amount of data, remove 90% of the remaining packets.

    You're talking about two different ways to view the bandwidth at the same time, and are confusing the issue.
    The amount of data, from the point of view of the transport, is still the same, and the bandwidth hasn't actually changed regardless of how many retransmits you eliminate or how much information you pack into each packet.
    What you seem to be talking about is the effective bandwidth from the point of view of the application. If you need to send 100 megs of data, and can compress that into a single meg, then you can say that your 1 meg pipe is effectively acting as a 100 meg pipe.

    Removing retransmits also does not actually increase the bandwidth from a physical layer point of view, but again from a higher layer point of view it does.

  173. Re:This is cool. But... by Anonymous Coward · · Score: 0

    If it's encoded and knows what each packet is based upon the equation, why not just send the packet equation (if it's less data than the packets themselves) and have the other end run the numbers. Isn't this like compressing/zipping a file?

  174. Re:This is cool. But... by tibit · · Score: 1

    Well, all common desktop OS implementations of TCP support SACK (selective acknowledgments) so the big retransmits (6-20 in your example) are an issue only if the TCP/IP stack doesn't implement RFC 2018. Said RFC is 25 years old...

    --
    A successful API design takes a mixture of software design and pedagogy.
  175. Re:This is cool. But... by MyFirstNameIsPaul · · Score: 1

    4G is only the wireless portion of your connection, and in many cases the bottleneck is due to the tower not having enough backhaul capacity as opposed to a bandwidth crunch on the wireless portion.

    DING! DING! DING! We have a WINNER! Let's hear it for A.C.!

    --

    I once took an excursion to Reddit, and later HN. Unlimited up/down voting sucks when dealing with a hive-mind.

  176. Re:This is cool. But... by Anonymous Coward · · Score: 0

    That's essentially what Error Corrective Coding is.

  177. Digital Fountain was doing this 12 years ago by Anonymous Coward · · Score: 0

    This has been being done for years. Originated at a company called Digital Fountain back in 2000. The sender side would generate and send equations that described the data at the bit level, then the receiver could solve for the data once it had enough equations. Companies like Disney and Warner used Digital Fountain to make movies in New Zealand and blast the dailies back over the Internet at line speed. Packet loss didn't matter because the next packet coming down the pipe had equations just as valuable to solving the content. Didn't matter which equations you received just as long as you had enough of them.

  178. 1000% increase in sillyness by WaffleMonster · · Score: 2

    When reading this paper it is important to not loose sight of reality.

    "This is due to the fact that TCP requires in-order reception."

    ORLY...

    "A single packet loss within a transmission window forces all subsequent packets in the window to be out of order. Thus, they are discarded by the TCP receiver."

    More like selective amnesia (SACK).

    Translation "our ECC shit only works on sequential frames"

    If you assume the link layer is reliable (trivial to no packet loss in absence of congestion) and error free then the Internet works.. If you don't then it quickly turns to mush.

    TCP is simply the wrong place for this crap. You need to do retransmission/correcting code at link layer if you have a noisy enough environment to warrant.

    We don't see TCP checksums being relied upon to catch actual errors all the heavy lifting is done at link layer with fancy algorithms for a reason: It is closer to the real world/source of error.

    If you have a radio then integrate predictive moderation of correcting codes with QOS/channel provisioning and current knowledge of the RF environment. This way higher layers do not see mixed signals with respect to congestion avoidance.

    Their answer to this was simply to rely on the threshold of loss where the correction scheme was still able to fill in the gaps. This is naive and far from optimal.

    Another benefit if you do these things at radio link there is less lag on detection of head end frame as other frames for unrelated sessions may be used to assist in rapid detection of missing frames.

    Delaying or otherwise bundling frames into some sort of super cork is not the answer either as your just trading throughput for latency.

    Finally I think it is important to consider possibility just maybe TCP/HTTP is the wrong solution for every single problem in the first place. Ultimatly attempting to mask these realities will not only never be optimal but can actually cause harm *IF* people are willing to trade congestion avoidance for gains they don't deserve to have in the first place.

    To be clear I'm not saying there is no merit to error correction schemes... I just don't think they belong in IP.

  179. Re:Congratulations, Baldrick by TheSpoom · · Score: 1

    From the summary, I was under the impression that there was de facto compression involved: There was less information transmitted that losslessly could be converted back to full packets. Perhaps I should have RTFA.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  180. Re:This is cool. But... by CanHasDIY · · Score: 1

    Straw and hay are not the same thing, smart ass.

    No shit, Sherlock.

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
  181. Golay codes by cwsumner · · Score: 1

    Back in the 90's I worked with error correction methods called "Golay" codes. It is not compression, in fact it sometimes Doubled the size of the packets. But, in the presents of occasional noise bursts it could have the same apperrent effect as compression.

    The overall result is as though the noise level was less. But it still fails if the noise level is too high. The real use is where the noise is in bursts, instead of being constant, so that a bad packet is not all bad. In some types of noise it can have startling improvements. It is quite possible that this could be true of the WiFi signals.

    Most network connections don't need error correction, because the noise is very low. Others can't use it because when they go out, they go really bad. But for some, it can be quite useful.

    It sounds like the original designers of the WiFi systems were -way- too accustomed to wired connections! 8-)

  182. Response from Muriel Medard. by Anonymous Coward · · Score: 0

    Thank you for the many thoughtful comments. There are a couple of recurring points I would like to address.

    The first is about the relation between this and traditional FECs. The codes here are not like conventional FECs, such as block codes (think Reed-Solomon and their ilk) or rateless codes (think Fountain Codes and the such). Such codes can be used over UDP readily. Using such codes over TCP is quite difficult.

    Besides the usual difficulties, traditional codes have a structure that precludes their composability. There are several issues with this. One is that they cannot be re-encoded without being decoded. The ability to re-encode blindly is crucial to achieving capacity. For a theoretical treatment of this, I would refer you to:
    http://202.114.89.42/resource/pdf/1131.pdf
    The article is rather mathematical but the abstract provides the gist of the results "
    We consider the use of random linear network coding in lossy packet networks. In particular, we consider the following simple strategy: nodes store the packets that they receive and, whenever they have a transmission opportunity, they send out coded packets formed from random linear combinations of stored packets. In such a strategy, intermediate nodes perform additional coding yet do not decode nor wait for a block of packets before sending out coded packets. Moreover, all coding and decoding operations have polynomial complexity.
    We show that, provided packet headers can be used to carry an amount of side-information that grows arbitrarily large (but independently of payload size), random linear network coding achieves packet-level capacity for both single unicast and single multicast connections and for both wireline and wireless networks. "

    The benefit of this composability, which we had first shown theoretically, is illustrated in TCP in the following paper that recently appeared in Proceedings of IEEE

    http://dandelion-patch.mit.edu/people/medard/papers2011/Network%20CodingMeets%20TCP-%20Theory%20and%20Implementation.pdf

    The theory of network coding promises significant benefits in network performance, especially in lossy networks and in multicast and multipath scenarios. To realize these benefits in practice, we need to understand how coding across packets interacts with the acknowledgment (ACK)-based flow control mechanism that forms a central part of today’s Internet protocols such as transmission control protocol (TCP). Current approaches such as rateless codes and batch-based coding are not compatible with TCP’s retransmission and sliding-window mechanisms. In this paper, we propose a new mechanism called TCP/NC that incorporates network coding into TCP with only minor changes to the protocol stack, thereby allowing incremental deployment. In our scheme, the source transmits random linear combinations of packets currently in the con- gestion window. At the heart of our scheme is a new interpretation of ACKs the sink acknowledges every degree of freedom (i.e., a linear combination that reveals one unit of new information) even if it does not reveal an original packet immediately (...) An important feature of our solution is that it allows intermediate nodes to perform re-encoding of packets, which is known to provide significant throughput gains in lossy networks and multicast scenarios.

    The exciting news that prompted the piece in TR is that we now had an implementation "in the wild", in a simple Amazon proxy, which required significant engineering and works remarkably well.

    The article refers to the issue of composability by pointing out that there would be advantage if it were built "directly into transmitters and routers, she says". The more places you build this, the better. Dave Talbot also provided a link to work that our group has done with researchers at Alcatel-Lucent
    http://arxiv.org/pdf/1203.2841.pdf
    which touches on this point to show the very important energy savings that could be obtained by implementing network coding in different parts of the network.

    T

    1. Re:Response from Muriel Medard. by craighansen · · Score: 1

      So, why model against TCP w/o SACK? Isn't that just beating a paper tiger? SACK allows TCP to utilize all the packets after the lost packet(s) without retransmitting them, and requires no more memory in the transmitter and receiver than coded TCP, and with proper tuning of window size with regards to round-trip time and loss rate, should work just as well, and its been around for 25 years or so.

  183. Re:This is cool. But... by craighansen · · Score: 1

    Well, then the coded TCP researchers excluded technology that's in modern TCP that makes their work redundant. In colloquial terms, they slayed a paper tiger. Is SACK used in current smartphones, or does a 2% or 5% erasure rate (the rates indicated in the benchmark figures of the paper) somehow prevent it from working? Omitting SACK from a cellphone's TCP implementation (or implementing it poorly) would be a cause of low transfer rates and wasted traffic in the airwaves.

  184. Re:This is cool. But... by lsatenstein · · Score: 1

    I agree that it's not a magic bullet.
    The point is, however, that the overall throughput of the network was increased by better usage of the available resources! If the *effective* available bandwidth is increased, then the performance of everyone "nibbling" on that network will *also* presumably increase.

    Also, think how much more money carriers may be able to squeeze out of users without needing to invest more in infrastructure! [/sarcasm]

    ====================
    on hard disks and server memories, we have ecc correction. A bad bit can be recalculated. If one uses a form of xor chain encoding, I believe that any block with a neighbor on each side can be used to construct a damaged or missing block. One has to appreciate XOR use

    --
    Leslie Satenstein Montreal Quebec Canada
  185. Careful what you ask for by Tablizer · · Score: 1

    What if E=mc^2 is really Goatse compressed?

  186. Re:This is cool. But... by Anonymous Coward · · Score: 0

    they are not all using 10mbps / 1mbps all the time - get more throughput of users - on-downloadpage-off

  187. Re:This is cool. But... by Anonymous Coward · · Score: 0

    It really depends where you are.

    When I was on holiday 2 weeks ago before my just recently-dismissed-from-hospital (4 hours ago) second week holiday, I was getting insane speeds on my wireless dongle. But around here, my speeds are average-ish. Strange thing is this town is larger than the other, now considerably faster place. Both are seaside towns too.
    The problem is more the data than the speed though. It is PAYG... so I accept the non-contract restrictions since I'm usually not doing intense internet stuff while away anyway. Contract bandwidth is better.