IP Library Granted Patent US 9,094,163
Granted Patent B2
US 9,094,163 · App. 13/596,835 · Granted Jul 28, 2015

Assessment and correction of transmitted data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,094,163
App. No.
13/596,835
Granted
Jul 28, 2015
Kind
B2
Abstract

Methods and systems for improving the quality of transmitted data are described. Multiple distinct communication channels are used to transmit segments representing the same pre-transmission block of a data packet. Upon receipt of these segments, a system identifies differences between the segments for those segments that meet a quality threshold. The system selects one of segments for subsequent transmission or re-assembly into a data packet based on the prior performance of the communication channels used to transmit the segments.

Claims (57)

1. A method for receiving data, comprising:

receiving a first segment on a first communication channel, the first segment comprising a first data portion;

receiving a second segment on a second communication channel, the second segment comprising a second data portion, the second data portion being a copy of the first data portion made prior to transmission of the first data portion;

determining that the first and second data portions both meet a quality threshold, the quality threshold comprising an upper error limit;

responsive to determining that the first data portion has at least one difference from the second data portion:

determining a first performance metric indicative of a first number of errors or a probability of error in segments previously received on the first communication channel;

determining a second performance metric indicative of a second number of errors or a probability of error in segments previously received on the second communication channel; and

responsive to the first performance metric indicating fewer errors than the second performance metric, selecting the first segment for continued processing.

2. The method of claim 1 , wherein determining that the first and second data portions both meet the quality threshold comprises:

decoding a first error detection code (EDC) portion of the first segment to determine a number of errors in the first data portion;

determining that the number of errors in the first data portion is less than the quality threshold;

decoding a second EDC portion of the second segment to determine a number of errors in the second data portion; and

determining that the number of errors in the second data portion is less than the quality threshold.

3. The method of claim 2 , wherein the quality threshold is zero errors.

4. The method of claim 2 , wherein the quality threshold is a single error.

5. The method of claim 2 , wherein the quality threshold is at least two errors.

6. The method of claim 1 , wherein receiving the first segment on the first communication channel comprises using a radio frequency (RF) receiver or a Free Space Optical (FSO) receiver for the receiving, and receiving the second segment on the second communication channel includes using the other type of receiver for the receiving.

7. The method of claim 1 , wherein determining each performance metric for a communications channel comprises:

determining a time window comprising an amount of time prior to a present time;

accessing a plurality of previous segments received on the communications channel during the time window, each of the plurality of previous segments including one or more errors;

counting the errors from the plurality of previous segments received during the time window; and

determining the performance metric based on the counted errors from the plurality of previous segments received during the time window.

8. The method of claim 1 , wherein determining each performance metric for a communications channel comprises:

determining a window comprising a data quantity received prior to the first and second segments;

accessing a plurality of previous segments received on the communications channel during the window, each of the plurality of previous segments including one or more errors;

counting the errors from the plurality of previous segments; and

determining the performance metric based on the counted errors from the plurality of previous segments received during the window.

9. The method of claim 1 , wherein determining each performance metric for a communications channel comprises:

determining a window comprising a number of data segments received prior to a received data bit;

accessing a plurality of previous segments received on the communications channel during the window, each of the plurality of previous segments including one or more errors;

counting the errors from the plurality of previous segments received during the window; and

determining the performance metric based on the counted errors from the plurality of previous segments received during the window.

10. The method of claim 1 , wherein the first performance metric is based on a first transmission power level of the first communication channel, and the second performance metric is based on a second transmission power level of the second communication channel.

11. The method of claim 1 , wherein the first performance metric and the second performance metric are based on a number of segments having one or more errors received within the window.

12. The method of claim 1 , wherein the first performance metric and the second performance metric are based on a number of errors detected before error correction in an instantly received segment.

13. A method for receiving data comprising:

receiving a first segment having a first data portion and a second segment having a second data portion, the second data portion being a copy of the first data portion made prior to transmission of the first data portion, the first and second segments received via at least two communication channels;

comparing a number of errors in each of the first data portion and the second data portion to a quality threshold, the quality threshold defining an upper limit of a number of allowed errors in each portion;

responsive to the first and second portions each having fewer errors than the quality threshold, determining a presence of at least one difference between the two portions; and

responsive to determining the presence of the at least one difference, selecting one of the segments for continued processing based on a performance metric of the at least two communication channels.

14. The method of claim 13 , further comprising responsive to selecting one of the segments for continued processing, discarding the un-selected segment.

15. The method of claim 13 , wherein determining each performance metric for a communications channel comprises:

determining a time window comprising an amount of time prior to a present time;

accessing a plurality of previous segments received on the communications channel during the time window, each of the plurality of previous segments including one or more errors;

counting the errors from the plurality of previous segments received during the time window; and

determining the performance metric based on the counted errors from the plurality of previous segments received during the time window.

16. The method of claim 13 , wherein determining each performance metric for a communications channel comprises:

determining a window comprising a data quantity received prior to the first and second segments;

accessing a plurality of previous segments received on the communications channel during the window, each of the plurality of previous segments including one or more errors;

counting the errors from the plurality of previous segments received during the window; and

determining the performance metric based on the counted errors from the plurality of previous segments received during the window.

17. The method of claim 13 , wherein determining each performance metric for a communications channel comprises:

determining a window comprising a number of data segments received prior to a received data bit;

accessing a plurality of previous segments received on the communications channel during the window, each of the plurality of previous segments including one or more errors;

counting the errors from the plurality of previous segments received during the window; and

determining the performance metric based on the counted errors from the plurality of previous segments received during the window.

18. The method of claim 13 , wherein the performance metric is based on using a transmission power level of a channel of the at least one channel.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2020
From: COLLINEAR NETWORKS, INC.
To: COLLINEAR NET (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 054614/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2020
From: COLLINEAR NET (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: EOS DEFENSE SYSTEMS USA, INC.
Reel/Frame 054614/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2016
From: AOPTIX TECHNOLOGIES, INC
To: AOPTIX (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 040596/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2016
From: AOPTIX (ASSIGNEMTN FOR THE BENEFIT OF THE CREDITORS), LLC
To: COLLINEAR NETWORKS, INC.
Reel/Frame 040326/0851 →
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2016
From: GOLD HILL CAPITOL 2008, LP
To: AOPTIX TECHNOLOGIES, INC
Reel/Frame 040326/0051 →
SECURITY INTEREST Recorded Jun 27, 2014
From: AOPTIX TECHNOLOGIES, INC.
To: GOLD HILL CAPITAL 2008, LP
Reel/Frame 033247/0438 →
SECURITY INTEREST Recorded Jun 24, 2014
From: AOPTIX TECHNOLOGIES, INC.
To: SILICON VALLEY BANK
Reel/Frame 033225/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2013
From: SAINT GEORGES, ERIC; SHIRAN, JOSEPH; YOUNG, SCOTT ALAN
To: AOPTIX TECHNOLOGIES, INC.
Reel/Frame 029556/0962 →