The power of 'random': 'Seemingly loopy' technique could dramatically improve communications networks

A radical new approach to the design of communications networks, called "network coding," promises to make Internet file sharing faster, streaming video more reliable, and cell-phone reception better -- among other improvements.
MIT is in the thick of these new developments. Last year, MIT researchers shared in two awards from IEEE, formerly the Institute of Electrical and Electronics Engineers, for papers that made vital contributions to the field of network coding.
鈥淢ost networks right now are built roughly along the same principles as a transportation network, or any other network that鈥檚 trying to deliver tangible goods,鈥 says Muriel M茅dard, a professor in the Research Laboratory of Electronics who was a coauthor on both papers. A packet of data traveling across the Internet, for instance, passes through a series of devices called routers before it reaches its destination. A router doesn鈥檛 tamper with the packet鈥檚 contents; it just sends it on to the next router.
This is the first article in a two-part series on MIT contributions to the fledgling field of network coding. (part two is available ).
With network coding, however, a router doesn鈥檛 just hand off the packets it receives; it mathematically combines them into new, hybrid packets. If the combination is done cleverly enough, this makes the whole network more efficient.
To see how this might work, suppose that we鈥檙e at a coffee shop with our laptops. I鈥檓 trying to send you a message over the coffee shop鈥檚 WiFi connection at the same time you鈥檙e trying to send me a message. Ordinarily, my message will travel to the coffee shop鈥檚 wireless router, and then the router will send it to you. Your message will travel to the router, and then the router will send it to me. That鈥檚 four total transmissions. But if, instead of forwarding our messages, the router combines them and broadcasts the combination, there are only three total transmissions. Since you have a copy of the message you sent me, you can subtract it from the combination, and I can do the same with the message I sent you. If our laptops and the router do a little extra processing, they reduce the system鈥檚 bandwidth consumption by 25 percent.
Of course, this example assumes that the receivers already have the data they need to decode the combination, which is rarely the case in the real world. And data traveling over a network usually pass through a number of routers: if each of those routers is recombining packets that are already combinations themselves, the decoding process becomes much more complicated. But in principle, there鈥檚 a way to get it all to work.
Cracked code
Network coding was born around 1999 or 2000, in a couple of papers that suggested that combining data at routers could improve network efficiency. But how that combination should be done, and what kinds of efficiency gains were possible, were unclear.
Then, in 2003, M茅dard, her grad student Tracey Ho (who鈥檚 now at Caltech), MIT professor of electrical engineering David Karger, and colleagues at the University of Illinois and Caltech : in many cases, the best way to combine data at a router is to do it randomly.
Today, cell phones and computers send messages digitally: every message is a sequence of 0s and 1s. But any sequence of 0s and 1s can be thought of as a single number. With random network coding, a router receives, say, three messages, multiplies each of them by a different, randomly selected number, and adds the results together. That final sum is the new, hybrid message. The router sends the hybrid on to the next router in the network 鈥 but it also includes information about the three random numbers it used to produce the hybrid.
Random coding yields the biggest gains in networks where connections are spotty, but where there are several possible routes between sender and receiver. Suppose, for instance, that you鈥檙e in a densely populated city with good cell-phone coverage. You鈥檙e within range of several different cell towers, but you鈥檙e inside a building that鈥檚 interfering with your transmissions. Your cell phone is sending out lots of packets of data, but there鈥檚 not one nearby cell tower that鈥檚 receiving all of them. If each tower simply 鈥渉ybridizes鈥 the packets it receives and sends them on, then as long as the recipient gets enough hybrids from enough different towers, it can reconstruct the original message.
Ho, M茅dard, and their colleagues proved mathematically that if the same group of messages was sent to several different receivers, random coding made the most efficient possible use of the network鈥檚 bandwidth.
鈥淭he idea is seemingly loopy,鈥 M茅dard says. 鈥淚 think it鈥檚 fair to say that it was greeted with some amount of bemusement in some parts of the community.鈥 As a graduate student, Ho was charged with presenting the findings at a conference in Japan, and her audience was skeptical. 鈥淧eople said, 鈥榊ou must be comparing it to bad routing,鈥欌 M茅dard says. Under cross-examination from a room full of seasoned researchers, M茅dard says, 鈥淎nyone else would have just curled into a fetal position.鈥 But Ho, she says, was 鈥渃ool as a cucumber. She was also the collegiate pistol champion. So the girl can keep her cool.鈥
The IEEE award last year was an indication that the bemusement had turned to recognition. 鈥淚t鈥檚 a theoretical result, but it has deep practical implications,鈥 says Chris Ramming, director of the Corporate External Research Office for chip manufacturer Intel. Before coming to Intel, Ramming worked for the U.S. Defense Department鈥檚 Defense Advanced Research Projects Agency (DARPA). 鈥淲hen I was a program manager at DARPA, we had a big project that used that approach as the core of the implementation techniques,鈥 Ramming says. 鈥淚t was definitely seminal, and people are trying to build on it. So it鈥檚 hugely important.鈥
The other paper honored by the IEEE last year, and MIT researchers鈥 continuing work on network coding, will be the subject of part two of this series.
This is the first article in a two-part series on MIT contributions to the fledgling field of network coding. (part two is available ).
Provided by Massachusetts Institute of Technology