Method and apparatus for prioritized information delivery with network coding over time-varying network topologies
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed herein for information delivery with network coding over time-varying network topologies. In one embodiment, the method comprises 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, and the virtual topology graph representing a partial topology of a time-varying network. The method also includes 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 is used to encode packets of the associated traffic class, and 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 physical network topology. The method also includes using a scheduler to determine the transmission schedules for each output packet from the virtual buffer system of each traffic class where the scheduling decisions are based, at least in part, on the QoS requirements of each class.
182 Citations
35 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 28, 32)
-
-
8. A communication network system having a plurality of senders and a plurality of receivers in which information to be delivered from the senders to the receivers comprises information blocks of different classes, the network comprising:
a plurality of intermediate nodes to process and relay information between the senders and receivers, the plurality of nodes arranged in a time-varying network topology that is subject to change dynamically during use, wherein each node classifies incoming data according to traffic class, encodes the incoming data for each traffic class separately to transform the incoming data into encoded packet data associated with each class by applying a mathematical operation of a network code assigned based on meeting requirements of the traffic class corresponding to a sub-virtual network topology graph of a virtual topology graph representing a topology of the dynamically changeable network decomposed into a plurality of distinct topology sequences, wherein the mathematical operation of 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, stores the encoded packet data into virtual output buffers of a virtual buffer system, each of the virtual output buffers being associated with one traffic class, and sends encoded data from the virtual output buffers through an outgoing physical interface of the network node to one or more other nodes in the network topology, according to traffic class, when transmission opportunities are available. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 29, 33)
-
23. A network node comprising:
-
a physical incoming interface; a virtual buffer system to buffer incoming data and apply a network code to the incoming data based on traffic class and based on meeting requirements of the traffic class, where the network code comprises a mathematical operation that the virtual buffer system applies to incoming data to transform the incoming packet data into encoded packet data associated with each class, the virtual buffer system being operable to place the encoded packet data into virtual output buffers associated with said each 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 one traffic class; a scheduler coupled to the virtual buffer system to cause codes generated by the virtual buffer system to be output, wherein the scheduler allocates one or more of short-term and long-term bandwidth and short-term and long-term rate based on a virtual graph associated with a given virtual output buffer; and a physical outgoing interface coupled to the virtual buffer system and the scheduler to output codes generated by the virtual buffer system and stored in the virtual output buffers under control of the scheduler. - View Dependent Claims (24, 25, 30, 34)
-
-
26. A method to perform virtual topology based service provisioning and service differentiation in a network having a time-varying network topology, the method comprising:
-
decoupling a fixed virtual network graph representing the time-varying topology into two or more virtual topologies, each of the two or more virtual topologies being associated with a different traffic class; assigning a network code to each of the two or more virtual topologies based on quality of service (QoS) provisioning; processing, at a network node, incoming data by differentiating flows with respect to their priority levels, their associated network coding functions and corresponding routes, including encoding the incoming data for each traffic class separately to transform the incoming data into encoded packet data associated with each class by applying a mathematical operation associated with the network code assigned to and associated with each of the two or more virtual topologies based on quality of service (QoS) provisioning, 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. - View Dependent Claims (27, 31, 35)
-
Specification