A source node arranged to communicate with one or more destination nodes across a network, the network having a plurality of paths (406, 414) between the source node and the one or more destination nodes, the source node comprising: a processor and a memory configured to: prepare at least one of a plurality of uncoded packets for transmission on a first one of the plurality of paths from the source node to a destination node; and generate a first coded packet for transmission on a second, different one of the plurality of paths from the source node to the destination node, the first coded packet based upon a set of uncoded packets, wherein the set of uncoded packets comprises: a next uncoded packet to be transmitted by the source node; α previously transmitted uncoded packets where α is an integer equal to or greater than zero; and β uncoded packets that are to be transmitted after the next uncoded packet where β is an integer equal to or greater than zero; wherein the sum of α and β is greater than zero, characterized in that the processor and the memory are further configured to determine β based on relative delays of the first one of the plurality of the paths and the second one of the plurality of paths. a processor and a memory configured to: prepare at least one of a plurality of uncoded packets for transmission on a first one of the plurality of paths from the source node to a destination node; and generate a first coded packet for transmission on a second, different one of the plurality of paths from the source node to the destination node, the first coded packet based upon a set of uncoded packets, wherein the set of uncoded packets comprises: a next uncoded packet to be transmitted by the source node; α previously transmitted uncoded packets where α is an integer equal to or greater than zero; and β uncoded packets that are to be transmitted after the next uncoded packet where β is an integer equal to or greater than zero; wherein the sum of α and β is greater than zero, characterized in that the processor and the memory are further configured to determine β based on relative delays of the first one of the plurality of the paths and the second one of the plurality of paths. prepare at least one of a plurality of uncoded packets for transmission on a first one of the plurality of paths from the source node to a destination node; and generate a first coded packet for transmission on a second, different one of the plurality of paths from the source node to the destination node, the first coded packet based upon a set of uncoded packets, wherein the set of uncoded packets comprises: a next uncoded packet to be transmitted by the source node; α previously transmitted uncoded packets where α is an integer equal to or greater than zero; and β uncoded packets that are to be transmitted after the next uncoded packet where β is an integer equal to or greater than zero; wherein the sum of α and β is greater than zero, characterized in that the processor and the memory are further configured to determine β based on relative delays of the first one of the plurality of the paths and the second one of the plurality of paths. a next uncoded packet to be transmitted by the source node; α previously transmitted uncoded packets where α is an integer equal to or greater than zero; and β uncoded packets that are to be transmitted after the next uncoded packet where β is an integer equal to or greater than zero; wherein the sum of α and β is greater than zero, characterized in that the processor and the memory are further configured to determine β based on relative delays of the first one of the plurality of the paths and the second one of the plurality of paths.