  Consider a connected network of n nodes that all wish to recover k desired
packets. Each node begins with a subset of the desired packets and exchanges
coded packets with its neighbors. This paper provides necessary and sufficient
conditions which characterize the set of all transmission schemes that permit
every node to ultimately learn (recover) all k packets. When the network
satisfies certain regularity conditions and packets are randomly distributed,
this paper provides tight concentration results on the number of transmissions
required to achieve universal recovery. For the case of a fully connected
network, a polynomial-time algorithm for computing an optimal transmission
scheme is derived. An application to secrecy generation is discussed.
