Patent ID: 8861356

Claim:
A method comprising: decomposing a sequence of topology graphs that model a time-varying network topology into a plurality of virtual graphs, where each virtual graph of the plurality of virtual graphs corresponds to a distinct traffic class, the virtual topology graph representing a partial topology of a time-varying network; selecting a network code for each virtual graph in the plurality of the virtual graphs to meet requirements of the distinct traffic class corresponding to said each topology graph, where the network code comprises a mathematical operation that is applied to incoming packets of its corresponding traffic class to encode packets of the associated traffic class, wherein the mathematical operation for the network code for at least one distinct traffic class comprises an operation performed jointly on a plurality of packets of the at least one distinct traffic class; processing packets of each traffic class using the network code determined by its corresponding virtual topology and the requirements of said each traffic class, including using a virtual buffer system to implement the network code corresponding to each traffic class over the time-varying network topology by applying the mathematical operation of the network code associated with said each class to incoming packets of a corresponding traffic class at a network node to transform the incoming packet data into encoded packet data associated with each class and placing the encoded packet data into virtual output buffers associated with said each class at an outgoing physical interface of the network node; and using a scheduler to determine the transmission schedules for each output packet from the virtual buffer system of each traffic class through the outgoing physical interface, where scheduling decisions are based, at least in part, on the QoS requirements of each class.