# Patent

## Title
Randomized distributed network coding

## Abstract

A network and a method for transmitting processes in a network are disclosed, where a randomized coding approach is provided. Network nodes transmit on each outgoing link a linear combination of incoming signals, specified by independently and randomly chosen code coefficients from a finite field. The approach allows robust, distributed transmission and compression of information in networks and is advantageous over routing-based approaches.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. provisional Patent Application Ser. No. 60/524,926, filed Nov. 25, 2003 for a “Randomized Distributed Network Coding Method and Apparatus” by Tracey Ho, Ralf Koetter, Muriel Medard and David Karger, the disclosure of which is incorporated herein by reference in its entirety.


STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
The present invention was made with support from the United States Government under Grant numbers CCR-0325324, CCR-0220039 and CCR-0325496 made by the National Science Foundation. The United States Government may have certain rights in the invention.


BACKGROUND
1. Technical Field
Nodes in a computer network can also function as encoders. In particular, a node operating as encoder does not just relay or replicate information received from an input link (switch behavior), it also encodes such information. Coding at a node in a network is known as network coding.
2. Description of the Prior Art
Throughout the description of the present disclosure, reference will be made to the enclosed Annexes A1, A2, A3 and A4, which make part of the present disclosure.
Network coding enables connections that are not possible with just routing. In particular, it has been shown R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network Information Flow”, IEEE Transactions on Information Theory, vol. 46, pp. 1204-1216 (2000), that it is in general not optimal to simply route or replicate the information to be multicast. Rather, by employing coding at the nodes, bandwidth can generally be saved.
A network can be represented as a directed graph, as shown in R. Koetter and M. Medard, “Beyond Routing: An Algebraic Approach to Network Coding”, Proceedings of the 2002 IEEE Infocom (2002). The graph comprises source nodes and receiver nodes, where discrete independent random processes (source processes) are observable at one or more of the source nodes and output processes are observable at the receiver nodes. In the above reference, an algorithm for finding a linear coding solution to a given multicast problem, using knowledge of the entire network topology is disclosed.
However, in applications where communication is limited or expensive, it may be preferable to determine each node's behavior in a distributed manner.
SUMMARY
Acyclic delay-free networks can be modeled as delay-free acyclic graphs with unit capacity directed links and one or more discrete sources. A typical problem connected with such networks is the multicast connection problem, where all source processes have to be transmitted to each of the receiver nodes.
The present disclosure provides a method to solve the multicast connection problem on acyclic delay-free networks by means of linear coding, i.e. where the sources are independent or linearly correlated. Such method is also generalized to networks with cycles and delays, and to arbitrarily correlated sources.
According to a first aspect, a network is provided comprising: one or more source nodes, wherein source processes are observable at the source nodes; one or more receiver nodes, wherein receiver processes are observable at the receiver nodes; and coding nodes, allowing communication of the source processes to each receiver node of the receiver nodes, the coding nodes being connected with input links for communication of input signals to the coding nodes and output links for communication of output signals from the coding nodes, wherein the output signals are a linear combination of the input signals and wherein coefficients of the linear combination are randomly chosen.
According to a second aspect, a network is provided comprising nodes allowing communication of processes, each node having input links for communication of input signals to the node, and output links for communication of output signals from the node, wherein the output signals are a linear combination of the input signals, wherein coefficients at each node are randomly chosen from a finite field, and the overall linear combinations obtained by transmission through the network are polynomials in a delay variable.
According a third aspect, a method for transmitting processes from one or more sources to each receiver of one or more receivers in a network is provided, the method comprising: providing coding nodes between the one or more sources and the one or more receivers; providing, for each coding node, input links for transmitting input signals to the coding node, and output links for transmitting output signals from the coding nodes, the output signals being a linear combination of the input signals; randomly choosing, for each coding node, coding coefficients, the coding coefficients being the coefficients of the linear combination of the input signals.
According to a fourth aspect, a network is provided, comprising: one or more source nodes, wherein source processes are observable at the source nodes; one or more receiver nodes, wherein receiver processes are observable at the receiver nodes; and coding nodes, allowing communication of the source processes to each receiver node of the receiver nodes, the coding nodes being connected with input links for communication of input signals to the coding nodes and output links for communication of output signals from the coding nodes, wherein the output signals are obtained by a combination of the input signals and wherein the combination is associated with a random choice.
The approach according to the present disclosure achieves robustness in a way quite different from traditional approaches. Traditionally, compression is applied at source nodes so as to minimize required transmission rate and leave spare network capacity, and the addition of new sources may require re-routing of existing connections. The approach according to the present disclosure fully utilizes available or allocated network capacity for maximal robustness, while retaining full flexibility to accommodate changes in network topology or addition of new sources.
The approach according to the present disclosure is useful in all those environments where networks are adopted, such as computer/communications networks (especially overlay networks, ad hoc networks, sensor networks), and distributed computer systems.



BRIEF DESCRIPTION OF THE FIGURES
FIGS. 1 and 2 show schematic representations of acyclic networks. FIG. 3 shows a series of steps in accordance with the present disclosure.



DETAILED DESCRIPTION
A first embodiment of the present disclosure makes reference to acyclic delay-free networks, as also generally shown in Annex A1 and more specifically in Annex A2.
FIGS. 1 and 2 show two examples of acyclic networks having source nodes S and receiver nodes R, and a plurality of intermediate nodes C. The intermediate nodes allow communication of source processes to each receiver node R. The intermediate nodes (see node 10, for example) have input links I and output links O. The input links I communicate input signals to the node 10, while the output links O communicate or transmit output signals from the intermediate nodes.
Differently from what shown in the prior art, the present disclosure considers an approach, in which network nodes independently and randomly choose code coefficients from some finite field and transmit on each outgoing link a linear combination of incoming signals, specified by the independently and randomly chosen code coefficients from some finite field. For a detailed explanation, reference is made to sections II and III of Annex A2.
The management information comprised of the various linear combinations can be maintained and sent through the network, for each signal in the network, as a vector of scalar coefficients for each of the source processes, and updated at each coding node by applying the same linear combinations or mappings to the coefficient vectors as to the data or information signals. For a detailed explanation, reference is made to section II and III of Annex A2.
According to the present disclosure, a lower bound is provided on the success probability of random network coding for multicast connections. See Theorem 1 in section III of Annex A2. The corresponding upper bound on failure probability is on the order of the inverse of the size of the finite field from which the code coefficients are shown. See Theorem 1 in section III of Annex A2. The result obtained in Theorem 1 shows that the failure probability can be made arbitrarily small by choosing code coefficients in a sufficiently large finite field, and that the failure probability decreases exponentially with the number of codeword bits. Since routing state does not have to be exchanged or maintained, random linear codes are potentially very useful for networks with unknown or changing topologies. Proof of Theorem 1 is provided in section IV of Annex A2.
In particular, an upper bound on the routing success probability for a source-receiver pair on a grid network in terms of their relative grid locations is combinatorially derived, which is surpassed by the corresponding lower bound for randomized coding in sufficiently large finite fields.
The lower bound on coding success probability applies for linearly correlated sources, for which the effect of randomized coding can be viewed as distributed compression occurring within the network rather than at the sources.
In other words, for a feasible multicast connection problem and a randomized code of sufficient complexity, with high probability the information flowing across any cut will be sufficient to reconstruct the original source processes.
Additionally, it is shown that the only management information needed by the receiver nodes for decoding will be the overall linear combination of source processes present in each of their incoming signals.
The present disclosure illustrates the advantages of randomized linear coding over randomized routing in rectangular grid networks. This can be seen by comparing the results of Theorem 2 and Theorem 3 of section III of Annex A2 and by making reference to Table I at page 4 of Annex A2. The utility of randomized linear coding is also shown by simulation in networks where receivers dynamically join and leave. See section V of Annex A4. Randomized linear coding has the same success bound for linearly correlated sources. Therefore, randomized linear coding effectively compresses correlated information to the capacity of any cut that it passes through.
This is achieved without the need for any coordination among the source nodes, which is advantageous in distributed environments where such coordination is impossible or expensive.
The first embodiment above considers independent or linearly correlated sources on acyclic delay-free networks, and shows an upper bound on error probability that decreases exponentially with the length of the codes. See also Lemma 1 in section IV of Annex A2.
According to a second embodiment, these results can be generalized to networks with cycles and delays. Reference can be made to Annex A3.
Going from the acyclic delay-free case to the case with cycles and delay, the scalar coefficients of the linear combinations become polynomials in a delay variable. The number of terms of the polynomials to be sent, and the memory required at the receivers, depend on the number of links involved in cycles (memory registers) in the network. For less frequently changing networks, instead of sending coefficient vectors through the network, a phase can be provided in which the sources take turns to each send a unit impulse through the network. See section 2 of Annex A3.
In this second embodiment, similar results to those shown with reference to the first embodiment are obtained. See Theorems 1-4 in Section 3 of Annex A3 and related proof in Section 4 of Annex A3.
In particular, bounds for the success probability of distributed randomized network coding for multi-source multicast in networks are shown. The first (see Theorem 1 in Sections 3 and 4 of Annex A3) is a very general bound for arbitrary networks, which may have cycles or delay, in term of the number of receivers and the number of links with independently chosen linear mappings.
Further, an approach for obtaining tighter results for more specific networks has been provided. For any given acyclic network, randomized coding success probability can be bounded by the probability of connection feasibility in a related network problem with unreliable links (see Theorem 3 in sections 3 and 4 of Annex A3). From this, the Applicants have obtained a success probability bound for randomized network coding in networks with unreliable links and excess capacity, in terms of link failure probability and amount of redundancy, as shown by Theorem 4 in sections 3 and 4 of Annex A3.
According to a third embodiment, these results can be generalized to arbitrarily correlated sources. Reference can be made to Annex A4.
In this third embodiment, randomized linear network coding is done over vectors of bits in the finite field of size two. This can be treated similarly to the first two embodiments by conceptually extending each source into multiple sources and each link into multiple links, such that each new source and link corresponds to one bit in the code vectors. Randomized coding and transmission of code coefficients to the receivers can then be done similarly to the previous embodiments. See section II of Annex A4.
Similar results to those shown with reference to the first two embodiments are obtained. In particular, a bound on the error probability for distributed randomized linear coding of arbitrarily correlated sources over an arbitrary network is given, which decreases exponentially with the number of codeword bits. See Theorem 1 in Section III of Annex A4.
FIG. 3 shows a series of steps in accordance with the present disclosure. In step S1, code nodes are provided between the one or more sources and the one or more receivers. In step S2, for each coding node, input links are provided for transmitting input signals to the coding node, and output links are provided for transmitting output signals from the coding nodes, the output signals being a linear combination of the input signals. In step S3, coding coefficients are randomly chosen, for each coding node, the coding coefficients being the coefficients of the linear combination of the input signals. In step S4. the overall linear combination of source processes is specified as a vector of coefficients. In step S5. the vector of coefficients is transmitted through the network and undated at each coding node by applying to it linear combinations which are the same as the linear combinations applied to the data transmitted to the network.
While several illustrative embodiments of the invention have been shown and described in the above description and in the enclosed Annexes A1, A2, A3 and A4, numerous variations and alternative embodiments will occur to those skilled in the art. Such variations and alternative embodiments are contemplated, and can be made without departing from the scope of the invention as defined in the appended claims. For example, in case of a nonlinear combination of the input signals, part of the formation of the nonlinear combination can involve a random linear combination of a function of the input signals or be associated with some other related random choice. Additionally, the matrix characteristics of the combination may involve a random choice. Techniques similar to those described can be applied over fields other than finite fields. Also, there may be variations on the format and procedure by which information specifying the cumulative transformation for each signal in the network resulting from transformations at individual network nodes is sent to the network and updated at intermediate nodes.

## Claims

1. A network comprising:
one or more source nodes, wherein source processes are observable at the source nodes;
one or more receiver nodes, wherein receiver processes are observable at the receiver nodes; and
coding nodes, allowing communication of the source processes to each receiver node, the coding nodes being connected with input links for communication of input signals to the coding nodes and output links for communication of output signals from the coding nodes,
wherein the output signals are a linear combination of the input signals and wherein coefficients of the linear combination are randomly chosen,
wherein the overall linear combination of source processes present in each signal in the network is specified as a vector of coefficients, each coefficient corresponding to a source process, and
wherein the vector of coefficients is transmitted through the network and updated at each coding node by applying to the vector of coefficients linear combinations, wherein the linear combinations applied to the vector of coefficients are the same as the linear combinations applied to data transmitted through the network.

2. The network of claim 1, wherein the network is an acyclic network.

3. The network of claim 1, wherein the network comprises cycles and delays.

4. The network of claim 1, wherein the coefficients of the linear combination are randomly chosen from a field of coefficients.

5. The network of claim 4, wherein the field is a finite field.

6. The network of claim 1, wherein the network is a computer network.

7. The network of claim 1, wherein the input signals comprise input bits and the output signals comprise output bits.

8. A method for transmitting processes from one or more sources to each receiver of one or more receivers in a network, the method comprising:
providing coding nodes between the one or more sources and the one or more receivers;
providing, for each coding node, input links for transmitting input signals to the coding node, and output links for transmitting output signals from the coding nodes, the output signals being a linear combination of the input signals;
randomly choosing, for each coding node, coding coefficients, the coding coefficients being the coefficients of the linear combination of the input signals,
wherein an overall linear combination of the processes transmitted from the one or more sources present in each signal in the network is specified as a vector of coefficients, each coefficient corresponding to a process to be transmitted from one or more sources, and
wherein the vector of coefficients is transmitted through the network and updated at each coding node by applying to the vector of coefficients linear combinations, wherein the linear combinations applied to the vector of coefficients are the same as the linear combinations applied to data transmitted through the network.

9. The method of claim 8, wherein the network is an acyclic network.

10. The method of claim 8, wherein the network comprises cycles and delays.

11. The method of claim 8, wherein the network is a computer network.