Variable-strength error correction in ad-hoc networks
First Claim
Patent Images
1. A method, comprising:
- encoding a header of a data packet with a first error correction code to provide an encoded header;
encoding a payload of said data packet with a second error correction code to provide an encoded payload, the second error correction code being different from the first error correction code;
combining the encoded header and the encoded payload of said packet to provide an encoded data packet, wherein the second error correction code is dynamically selected based on a bit error rate of a communication channel used for transmitting the encoded data packet; and
prioritizing the encoded data packet for transmission based on an associated strength of encoding, where the strength of encoding is based on at least one of the first error correction code and the second error correction code.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for encoding packetized data include applying different codings to the header and the payload. The header of a data packet is encoded for error correction separately from the payload of the data packet. The use of separate error correction techniques for the header and payload of a packet permits optimization of each for use in a data network, and more particularly, in a wireless data network.
48 Citations
21 Claims
-
1. A method, comprising:
-
encoding a header of a data packet with a first error correction code to provide an encoded header;
encoding a payload of said data packet with a second error correction code to provide an encoded payload, the second error correction code being different from the first error correction code;
combining the encoded header and the encoded payload of said packet to provide an encoded data packet, wherein the second error correction code is dynamically selected based on a bit error rate of a communication channel used for transmitting the encoded data packet; and
prioritizing the encoded data packet for transmission based on an associated strength of encoding, where the strength of encoding is based on at least one of the first error correction code and the second error correction code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
wherein the communication channel is a wireless network communication channel. -
3. The method of claim 1 wherein the header is a TCP/IP packet header.
-
4. The method of claim 1 wherein the packet is a UDP packet.
-
5. The method of claim 1 wherein the first error correction code is a binary BCH code.
-
6. The method of claim 1 wherein the second error correction code is a Reed-Solomon code.
-
7. The method of claim 1, further comprising:
-
decoding the header of the encoded data packet using the first error correction code to provide an unencoded header;
decoding the payload of said encoded data packet using the second error correction code to provide an unencoded payload; and
combining the unencoded header and the unencoded payload to provide an unencoded data packet.
-
-
8. The method of claim 7, further comprising:
receiving the encoded data packet over a wireless network.
-
9. The method of claim 7, wherein the unencoded header is a TCP/IP packet header.
-
10. The method of claim 7, wherein the unencoded data packet is a UDP packet.
-
11. The method of claim 7, wherein a strength of the second error correction code is dependent on a bit error rate of a communication channel used to transmit the unencoded data packet.
-
12. The method of claim 1, further comprising:
dynamically selecting the first error correction code based on the bit error rate of the communication channel.
-
-
13. An apparatus, comprising:
-
means for determining a fist bit error rate of a communication channel;
means for encoding a header of a first data packet using a first error correction code to provide a first encoded header;
means for dynamically selecting a second error correction code based on the first bit error rate of the communication channel;
means for encoding a payload of the first data packet using the second error correction code to provide a first encoded payload, the second error correction code being different from the first error correction code;
means for combining the first encoded header and the first encoded payload to provide a first encoded data packet;
means for transmitting the first encoded data packet over the communication channel; and
means for prioritizing the first encoded data packet for transmission based on an associated strength of encoding, where the strength of encoding is based on at least one of the first error correction code and the second error correction code. - View Dependent Claims (14, 15, 16, 17, 18, 19)
means for dynamically selecting a first error correction code based on the first bit error rate of the communication channel.
-
-
18. The apparatus of claim 13, further comprising:
-
means for receiving the first encoded data packet over the communication channel;
means for decoding the first encoded header using the first error correction code to provide a decoded header;
means for decoding the first encoded payload using the second error correction code to provide a decoded payload; and
means for combining the decoded header and the decoded payload to provide an unencoded data packet.
-
-
19. The apparatus of claim 18, further comprising:
-
means for determining a second bit error rate of the communication channel based on the receipt of the first encoded data packet;
means for encoding a header of a second packet using the first error correction code to provide a second encoded header;
means for dynamically selecting a third error correction code based on the second bit error rate of the communication channel;
means for encoding a payload of a second packet using the third error correction code to provide a second encoded payload, the third error correction code being different from the first error correction code;
means for combining the second encoded header and the second encoded payload to provide a second encoded data packet; and
means for transmitting the second encoded data packet over the communication channel.
-
-
20. A computer program product disposed on a computer readable medium and having instructions operable to cause a processor to:
-
encode a header of a data packet with a first error correction code to provide an encoded header;
encode a payload of said data packet with a second error correction code to provide an encoded payload, the second error correction code being different from the first error correction code;
combine the encoded header and the encoded payload of said packet to provide an encoded data packet, wherein the second error correction code is dynamically selected based on a bit error rate of a communication channel used for transmitting the encoded data packet;
queueing a plurality of data packets, wherein the plurality of data packets include the encoded data packet; and
prioritizing removal of each of the plurality of packets according to a strength of encoding associated with each of the plurality of packets. - View Dependent Claims (21)
dynamically select the first error correction code based on the bit error rate of the communication channel.
-
Specification