Abstract
Bobby Kleinberg: Network Coding
What is the maximum rate at which one can simultaneously transmit data streams
in a network with error-free links of finite capacity? Surprisingly, this
fundamental question has never been answered. When the only operation
that can be performed on data is routing (i.e. storing and forwarding packets
without modifying their contents) then the problem is called multi-commodity
flow, and its solution is well known. But when nodes are allowed to send
outgoing messages by combining two or more incoming messages (e.g. taking the
XOR of two packets) the situation is much less well understood. There are
examples of directed graphs where these "network coding solutions" achieve
a faster transmission rate than that which can be achieved by routing.
For undirected graphs in which each stream has a single sender and single
receiver, no such examples are known.
I will introduce the subject of network coding via some illustrative examples, and then I'll present some recent results and open problems in this area, guided by questions such as: "How much faster can we transmit data streams using network coding versus routing? Can we identify broad classes of situations in which there is or isn't a speedup? How is the network coding rate related to combinatorial parameters like the sparsest cut in the network? How does it depend on other network properties such as packet sizes, or the amount of memory used for buffering messages?"