Policy-based forward error correction in packet networks
AssigneeNokia Corporation
InventorRaymond Counterman
Life of this patent
Estimating the term…
Abstract
The present invention provides a method and apparatus for a communications system that prioritizes packets that are transmitted over a digital communication channel utilizing at least one error-correcting transmission path associated with a Quality of Service (QoS) objective. The QoS objective is used to select the appropriate transmission path (that may include forward error coding, scrambling, and interleaving) that satisfies the relevant metrics of the desired level of service quality such as packet latency, variation of the packet latency, information throughput, and packet error rate (PER). The communications system selects a transmission path that is associated with QoS objectives best matched to the QoS objectives as required by the originating application.
Claims32
A method for transmitting a packet in a packet network, comprising the steps of:
- (1) receiving the packet;
- (2) classifying the packet by a mechanism based upon at least one quality of service (QoS) objective in accordance with a policy;
- (3) directing the packet to one of a plurality of transmission paths in accordance with the at least one QoS objective;
- (4) encoding the packet by the one of the plurality of transmission paths;
- and
- (5) multiplexing a plurality of packets into a frame, the packet being contained in the plurality of packets.
A method for receiving a packet in a packet network, comprising:
- (1) receiving a signal conveying a frame comprising the packet and a header;
- (2) de-multiplexing a plurality of packets from the frame, the packet being contained in the plurality of packets;
- (3) directing the packet to one of a plurality of transmission paths in accordance to the header, each of the plurality of transmission paths being characterized by a different quality of service (QoS) objective;
- (4) decoding the packet in accordance with the header;
- and
- (5) outputting the packet for a service.
An apparatus for transmitting a packet from in a packet network, comprising:
- a packet classifier that classifies the packet in accordance to a quality of service (QoS) parameter;
- a first transmission path characterized by a first time latency and a first degree of error correction robustness for transmitted packets;
- a second transmission path characterized by a second time latency and a second degree of error correction robustness, wherein the second time latency is greater than the first time latency and the second degree of error correction robustness is greater than the first degree of error correction robustness for transmitted packets;
- a forwarding switch that receives the classified packet and routes the packet to either the first transmission path or the second transmission path on the basis of the QoS parameter;
- and
- a frame formatter coupled to an output of the first transmission path and an output of the second transmission path, wherein the frame formatter formats a frame comprising packets output by the first and second transmission paths.
An apparatus for receiving a packet over a data communication channel, the packet contained in a frame, the apparatus comprising:
- a first transmission path, the first transmission path characterized by a first time latency and a first degree of error correction robustness for received packets;
- and
- a second transmission path, the second transmission path characterized by a second time latency and a second degree of error correction robustness, wherein the second time latency is greater than the first time latency and the second degree of error correction robustness is greater than the first degree of error correction robustness for received packets;
- and
- a frame de-multiplexer, coupled to the first transmission path and to the second transmission path, that receives a frame over the communication channel, separates a plurality of packets from the frame, and directs the packet to either the first transmission path or the second transmission path in accordance to a header contained in the frame, wherein the packet is contained in the plurality of packets.
A computer-readable medium containing instructions for controlling a computer system to transmit a packet in a packet network, by:
- receiving the packet;
- classifying the packet by a mechanism based upon at least one quality of service (QoS) objective in accordance with a policy;
- directing the packet to one of a plurality of transmission paths in accordance with the at least one QoS objective;
- encoding the packet by the one of the plurality of transmission paths;
- and
- multiplexing a plurality of packets into a frame, the packet being contained in the plurality of packets.
A computer-readable medium containing instructions for controlling a computer system to receive a packet in a packet network, by:
- receiving a signal conveying a frame comprising the packet and a header;
- de-multiplexing a plurality of packets from the frame, the packet being contained in the plurality of packets;
- directing the packet to one of a plurality of transmission paths in accordance to the header, each of the plurality of transmission paths being characterized by a quality of service (QoS) objective;
- decoding the packet in accordance with the header;
- and
- outputting the packet for a service.
A method for transporting a packet in a packet network, comprising the steps of:
- receiving the packet from an originating application;
- classifying the packet by a policy-based mechanism in accordance with at least one quality of service (QoS) objective;
- directing the packet to either a first transmission path or a second transmission path in accordance with the at least one QoS objective, wherein the first transmission path is characterized by a small time latency, a small degree of error correction robustness, and a first bandwidth, and wherein the second transmission path is characterized by a large time latency, a large degree of error correction robustness, and a second bandwidth;
- scrambling the packet in response to directing the packet;
- encoding the packet utilizing a Reed-Solomon code in response to scrambling the packet;
- interleaving the packet in response to encoding the packet;
- multiplexing a plurality of packets into a frame in response to interleaving the packet, the packet being contained in the plurality of packets, wherein the frame comprises the packet and a header;
- symbol encoding and modulating a signal conveying the frame in response to multiplexing the packet;
- transporting the signal over a transmission medium in response to symbol encoding and modulating the signal;
- receiving the signal in response to the transporting the signal over the transmission medium;
- symbol decoding and demodulating the signal to detect a frame in response to receiving the signal;
- de-multiplexing the plurality of packets from the frame in response to symbol decoding and demodulating the signal;
- directing the packet to either a third transmission path or a fourth transmission path in accordance with the header contained in the frame, wherein the third transmission path is characterized by a small time latency, a small degree of error correction robustness, and a third bandwidth, and wherein the fourth transmission path is characterized by a large time latency, a large degree of error correction robustness, and a fourth bandwidth;
- inverse interleaving the packet in response to directing the packet;
- decoding the packet in accordance with the header utilizing the Reed-Solomon code in response to inverse interleaving the packet;
- unscrambling the packet in response to decoding the packet;
- and
- outputting the packet to a terminating application in response to unscrambling the packet.
Dependencies are inferred from the claim text.