Patent US5968197A successfully refreshed from Google Patents.
US5968197A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for data recovery
Assignee: Unwired Planet LLC
•
Filing: 1996-04-01
•
Granted: 1999-10-19
•
Expires: 2016-04-01
Abstract
Abstract The present invention recovers data utilizing information from previously received data packets to reconstruct a data packet with an ever increasing probability of reconstructing the actually transmitted data packet. With each new reception, the accumulated information brings the receiver closer to obtaining the actually transmitted data packet. This use of information which might otherwise be discarded permits highly efficient and effective bit error correction particularly useful in hostile communications environments by transceivers with limited data processing and/or memory resources.
Inventors
- 👤 Timothy J. Doiron
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 17:43
CPC Classifications
H; H04; H04L; H04L1/00; H04L1/12; H04L1/16; H04L1/18; H04L1/1867; H04L1/188; H04L1/1829; H04L1/1835; H04L1/1845; H04L1/1812
Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
165 words
A data communications method comprising: (a) transmitting a data message including plural data packets; (b) receiving the data message and checking a first data packet included in the received data message for errors; (c) requesting retransmission of the data packet if an unacceptable error is detected in the first data packet; (d) receiving the retransmitted data packet as a second data packet; (e) comparing the bits of the first and second data packets; (f) changing one or more bits in one of the first and second data packets that do not match with one or more corresponding bits in the other of the first and second data packets; (g) checking the changed data packet for errors; (h) repeating steps (f) and (g) if an unacceptable error is detected until all possible bit combinations for the non-matching bits have been tried or until the changed packet is found acceptable; and (i) if the changed data packet is found acceptable in step (g), transmitting an acknowledge signal.
Claim 2
Dependent Claim
165 words
A data communications method comprising: (a) transmitting a data message including plural data packets; (b) receiving the data message and checking a first data packet included in the received data message for errors; (c) requesting retransmission of the data packet if an unacceptable error is detected in the first data packet; (d) receiving the retransmitted data packet as a second data packet; (e) comparing the bits of the first and second data packets; (f) changing one or more bits in one of the first and second data packets that do not match with one or more corresponding bits in the other of the first and second data packets; (g) checking the changed data packet for errors; (h) repeating steps (f) and (g) if an unacceptable error is detected until all possible bit combinations for the non-matching bits have been tried or until the changed packet is found acceptable; and (i) if the changed data packet is found acceptable in step (g), transmitting an acknowledge signal.
Claim 3
Dependent Claim
21 words
The method in claim 1, wherein step (e) includes performing an exclusive-OR operation on the first and second received data packets.
Claim 4
Dependent Claim
35 words
The method in claim 1, wherein each data packet includes data bits and error detection bits, and wherein the checking steps (b) and (g) include performing a cyclic redundancy code calculation on the data packet.
Claim 5
Dependent Claim
35 words
The method in claim 1, further comprising: comparing the number of non-matching bits determined in step (e) with a threshold, and executing step (f) when the number of non-matching bits is less than the threshold.
Claim 6
Dependent Claim
209 words
A data communications method comprising: (a) transmitting a data message including plural data packets: (b) receiving the data message and checking a first data packet included in the received data message for errors; (c) requesting retransmission of the data packet if an unacceptable error is detected in the first data packet; (d) receiving the retransmitted data packet as a second data packet; (e) comparing the bits of the first and second data packets; (f) changing one or more bits in one of the first and second data packets that do not match with one or more corresponding bits in the other of the first and second data packets; (g) checking the changed data packet for errors; (h) repeating steps (f) and (g) if an unacceptable error is detected; and (i) if the changed data packet is found acceptable in step (g), transmitting an acknowledge signal, (j) requesting another retransmission of the data packet; (k) receiving the another retransmitted data packet as a third data packet; (l) performing a majority vote of the first, second, and third data packets and generating a majority data packet; (m) checking the majority data packet for errors; and (n) generating an acknowledge signal if the majority data packet is found acceptable in step (m).
Claim 7
Dependent Claim
209 words
A data communications method comprising: (a) transmitting a data message including plural data packets: (b) receiving the data message and checking a first data packet included in the received data message for errors; (c) requesting retransmission of the data packet if an unacceptable error is detected in the first data packet; (d) receiving the retransmitted data packet as a second data packet; (e) comparing the bits of the first and second data packets; (f) changing one or more bits in one of the first and second data packets that do not match with one or more corresponding bits in the other of the first and second data packets; (g) checking the changed data packet for errors; (h) repeating steps (f) and (g) if an unacceptable error is detected; and (i) if the changed data packet is found acceptable in step (g), transmitting an acknowledge signal, (j) requesting another retransmission of the data packet; (k) receiving the another retransmitted data packet as a third data packet; (l) performing a majority vote of the first, second, and third data packets and generating a majority data packet; (m) checking the majority data packet for errors; and (n) generating an acknowledge signal if the majority data packet is found acceptable in step (m).
Claim 8
Dependent Claim
53 words
The method in claim 5, wherein the majority vote performing step (1) includes the step of maintaining a bit accumulator for each corresponding bit position in the data packet such that each bit accumulator sums the bit value in the corresponding bit position from each of the first, second, and third data packets.
Claim 9
Dependent Claim
161 words
A data communications method comprising: (a) transmitting a data message including plural data packets (b)) receiving the data message and checking a first data packet included in the received data message for errors; (c) requesting retransmission of the data packet if an unacceptable error is detected in the first data packet; (d) receiving the retransmitted data packet as a second data packet; (e) comparing the bits of the first and second data packets; (f) changing one or more bits in one of the first and second data packets that do not match with one or more corresponding bits in the other of the first and second data packets; (g) checking the changed data packet for errors; (h) repeating steps (f) and (g) if an unacceptable error is detected; and (i) if the changed data packet is found acceptable in step (g), transmitting an acknowledge signal, wherein each data packet includes data bits and error detection bits but not error correction bits.
Claim 10
Dependent Claim
161 words
A data communications method comprising: (a) transmitting a data message including plural data packets (b)) receiving the data message and checking a first data packet included in the received data message for errors; (c) requesting retransmission of the data packet if an unacceptable error is detected in the first data packet; (d) receiving the retransmitted data packet as a second data packet; (e) comparing the bits of the first and second data packets; (f) changing one or more bits in one of the first and second data packets that do not match with one or more corresponding bits in the other of the first and second data packets; (g) checking the changed data packet for errors; (h) repeating steps (f) and (g) if an unacceptable error is detected; and (i) if the changed data packet is found acceptable in step (g), transmitting an acknowledge signal, wherein each data packet includes data bits and error detection bits but not error correction bits.
Claim 11
Dependent Claim
165 words
A data processing method, comprising the steps of: receiving a sequence of data units including a first transmitted data unit and one or more retransmitted data units; reconstructing a data unit using the sequence of data units including: for alternating data units in the sequence, performing a majority vote operation using information from data units received earlier in the sequence and a currently received data unit to generate a majority voted data unit, the majority voted data unit being the reconstructed data unit for the alternating data units, and for data units in the sequence other than the alternating data units, comparing the majority voted data unit and a currently received data unit to identify one or more bit positions having different bit values and changing one or more of those bit values, the data unit with the one or more changed bit values being the reconstructed data unit for the other data units; and determining whether each of the reconstructed data units is acceptable.
Claim 12
Dependent Claim
165 words
A data processing method, comprising the steps of: receiving a sequence of data units including a first transmitted data unit and one or more retransmitted data units; reconstructing a data unit using the sequence of data units including: for alternating data units in the sequence, performing a majority vote operation using information from data units received earlier in the sequence and a currently received data unit to generate a majority voted data unit, the majority voted data unit being the reconstructed data unit for the alternating data units, and for data units in the sequence other than the alternating data units, comparing the majority voted data unit and a currently received data unit to identify one or more bit positions having different bit values and changing one or more of those bit values, the data unit with the one or more changed bit values being the reconstructed data unit for the other data units; and determining whether each of the reconstructed data units is acceptable.
Claim 13
Dependent Claim
29 words
The method in claim 8, wherein the alternating data units are odd data units in the sequence and the other data units are even data units in the sequence.
Claim 14
Dependent Claim
41 words
The method in claim 8, wherein the comparing step includes performing an exclusive-OR operation, comparing the number of different bit values with a threshold, and performing the changing step when the number of different bit values is less than the threshold.
Claim 15
Dependent Claim
123 words
The method in claim 8, wherein the majority voted data unit is determined in accordance with the following steps: accumulating for each corresponding bit position in the data unit a sum of the bit values in the corresponding bit position from each data unit in the sequence; determining a threshold based on the number of data units in the sequence; comparing each accumulated sum to the threshold; if the accumulated sum is less than or equal to the threshold, setting the bit value for the corresponding bit position of the majority voted data unit to 0; and if the accumulated sum is greater than the threshold, setting the bit value for the corresponding bit position of the majority voted data unit to 1.
Claim 16
Dependent Claim
39 words
The method in claim 8, wherein the determining step includes analyzing each of the data units for an error, each data unit including error detection bits, and requesting retransmission of the data unit if an unacceptable error is detected.
Claim 17
Dependent Claim
26 words
The method in claim 10, wherein the error detection bits are cyclic redundancy code check bits and each data unit does not include error correction bits.
Claim 18
Dependent Claim
75 words
In an automatic repeat request (ARQ) data transaction system where transmitted data units are received, checked for errors, and retransmitted if errors are detected thereby generating a sequence of data units, a method for processing data wherein a first data unit reconstruction operation is performed on alternate data units in the sequence and a second data unit reconstruction operation is performed on the other data units in the sequence to reconstruct an acceptable data unit.
Claim 19
Dependent Claim
75 words
In an automatic repeat request (ARQ) data transaction system where transmitted data units are received, checked for errors, and retransmitted if errors are detected thereby generating a sequence of data units, a method for processing data wherein a first data unit reconstruction operation is performed on alternate data units in the sequence and a second data unit reconstruction operation is performed on the other data units in the sequence to reconstruct an acceptable data unit.
Claim 20
Dependent Claim
36 words
The method in claim 14, wherein one of the first and second reconstruction operations includes determining a majority voted data unit based on a currently received data unit and previously received data units in the sequence.
Claim 21
Dependent Claim
119 words
The method in claim 15, further comprising: (a) accumulating for one or more corresponding bit positions in the reconstructed data unit a sum of the bit values for the corresponding bit position from each of the data units in the sequence; (b) determining a threshold based on the number of data units in the sequence; (c) comparing each accumulated sum to the threshold; (d) if the accumulated sum is less than or equal to the threshold, setting the bit value for the corresponding bit position of the reconstructed data unit to 0; and (e) if the accumulated sum is greater than the threshold, setting the bit value for the corresponding bit position of the reconstructed data unit to 1.
Claim 22
Dependent Claim
27 words
The method in claim 16, wherein the threshold determining step includes: dividing the number of data units in the sequence by two, and truncating the resulting quotient.
Claim 23
Dependent Claim
19 words
The method in claim 16, wherein steps (a)-(e) are performed for each bit position in the reconstructed data unit.
Claim 24
Dependent Claim
22 words
The method in claim 16, wherein steps (a)-(e) are performed for only a portion of bit positions in the reconstructed data unit.
Claim 25
Dependent Claim
129 words
The method in claim 14, wherein the majority voted data unit is determined in accordance with the following steps: accumulating for each corresponding bit position in the data unit a sum of the bit values in the corresponding bit position from each of the current and previously received data units in the sequence; determining a threshold based on the number of data units in the sequence; comparing each accumulated sum to the threshold; if the accumulated sum is less than or equal to the threshold, setting the bit value for the corresponding bit position of the majority voted data unit to 0; and if the accumulated sum is greater than the threshold, setting the bit value for the corresponding bit position of the majority voted data unit to 1.
Claim 26
Dependent Claim
61 words
The method in claim 14, wherein the one of the first and second reconstruction operations includes: comparing the currently received data unit with a data unit based on one or more data units previously received; identifying the number of bit positions having different bit values; and changing one or more of the different bit values to generate a new data unit.
Claim 27
Dependent Claim
30 words
The method in claim 21, further comprising: determining if the new data unit is acceptable, and if not, repeating the changing step a different one of the different bit values.
Claim 28
Dependent Claim
53 words
The method in claim 14, wherein the first data unit reconstruction operation is a majority vote operation performed on data units in the sequence and the second data reconstruction operation is a comparison operation comparing a currently received data unit with a data unit based on one or more data units previously received.
Claim 29
Dependent Claim
190 words
A data communications system comprising: a sender for transmitting a data unit plural times over a data communications link thereby generating a sequence of data units, and a receiver including a data processor and a transceiver connected to the data communications link for receiving the sequence of data units, wherein the data processor (1) reconstructs a data unit for (a) alternating data units received in the sequence by performing a majority vote operation using information from data units received earlier in the sequence and a currently received data unit to generate a majority voted data unit, the majority voted data unit being the reconstructed data unit for the alternating data units, and (b) for data units received in the sequence other than the alternating data units, by comparing the majority voted data unit and a currently received data unit to identify a number of bit positions having different bit values and changing one or more of those bit values, the data unit with the one or more changed bit values being the reconstructed data unit for the other data units, and (2) determines whether the reconstructed data unit is acceptable.
Claim 30
Dependent Claim
190 words
A data communications system comprising: a sender for transmitting a data unit plural times over a data communications link thereby generating a sequence of data units, and a receiver including a data processor and a transceiver connected to the data communications link for receiving the sequence of data units, wherein the data processor (1) reconstructs a data unit for (a) alternating data units received in the sequence by performing a majority vote operation using information from data units received earlier in the sequence and a currently received data unit to generate a majority voted data unit, the majority voted data unit being the reconstructed data unit for the alternating data units, and (b) for data units received in the sequence other than the alternating data units, by comparing the majority voted data unit and a currently received data unit to identify a number of bit positions having different bit values and changing one or more of those bit values, the data unit with the one or more changed bit values being the reconstructed data unit for the other data units, and (2) determines whether the reconstructed data unit is acceptable.
Claim 31
Dependent Claim
23 words
The system in claim 24, wherein the receiver is a portable radio unit and the data communications link is a wireless radio channel.
Claim 32
Dependent Claim
101 words
An automatic repeat request (ARQ) radio communications system where transmitted data units are received, checked for errors, and retransmitted if errors are detected such that a sequence of data units is generated, comprising: a sending radio for transmitting a sequence of data units over a radio communications channel, and a receiving radio including a data processor and a transceiver for receiving the sequence of data units, wherein the data processor performs a first reconstruction operation on alternate data units in the sequence and a second reconstruction operation on the other data units in the sequence to reconstruct an acceptable data unit.
Claim 33
Dependent Claim
101 words
An automatic repeat request (ARQ) radio communications system where transmitted data units are received, checked for errors, and retransmitted if errors are detected such that a sequence of data units is generated, comprising: a sending radio for transmitting a sequence of data units over a radio communications channel, and a receiving radio including a data processor and a transceiver for receiving the sequence of data units, wherein the data processor performs a first reconstruction operation on alternate data units in the sequence and a second reconstruction operation on the other data units in the sequence to reconstruct an acceptable data unit.
Claim 34
Dependent Claim
53 words
The system in claim 26, wherein the first data unit reconstruction operation is a majority vote operation performed on the sequence of data units and the second data reconstruction operation is a comparison operation comparing a currently received data unit with a data unit based on one or more data units previously received.
Claim 35
Dependent Claim
64 words
The system in claim 26, wherein the first data unit reconstruction operation is a majority vote operation performed on the sequence of data units, the data processor maintaining a bit accumulator for one or more bit positions in the reconstructed data unit for storing a sum of the bit values for the corresponding bit position from each of the data units in the sequence.
Claim 36
Dependent Claim
86 words
The system in claim 28, wherein the data processor determines a threshold based on the number of data units in the sequence, compares each accumulated sum to the threshold, and if the accumulated sum is less than or equal to the threshold, sets the bit value for the corresponding bit position of the majority voted data unit to 0, and if the accumulated sum is greater than the threshold, sets the bit value for the corresponding bit position of the majority voted data unit to 1.
Claim 37
Dependent Claim
60 words
The system in claim 26, wherein in performing the second reconstruction operation, the data processor compares the currently received data unit with a data unit based on one or more data units previously received, identifies the number of bit positions having different bit values, and changes one or more of the different bit values to generate a new data unit.
Claim 38
Dependent Claim
28 words
The system in claim 30, wherein the data processor determines if the new data unit is acceptable, and if not, makes another change to the different bit values.
References Cited (Backward Citations)
US3662338A
Cited
US4128809A
Cited
US4132975A
Cited
US4375102A
Cited
US4471485A
Cited
US4956641A
Cited
US5463646A
Cited
US5241548A
Cited
WO1993006671A1
Cited
US5321703A
Cited
US5404374A
Cited
US5426653A
Cited
US5745502A
Cited
US5870406A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-10-18 | 2003-04-19 | 2003-10-19 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-10-18 | 2007-04-19 | 2007-10-19 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-10-18 | 2011-04-19 | 2011-10-19 | $7700.00 | Window Closed / Lapsed |