IP Library Granted Patent US 11,824,746
Granted Patent B2
US 11,824,746 · App. 17/446,179 · Granted Nov 21, 2023

Packet coding based network communication

Inventors: Tracey Ho (Pasadena, CA); John Segui (Costa Mesa, CA)
Assignee: Strong Force IOT Portfolio 2016, LLC
H04L43/0835H04L43/16H04L47/193
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 11,824,746
App. No.
17/446,179
Filed
Aug 27, 2021
Granted
Nov 21, 2023
Kind
B2
Art Unit
2462
USPC
370/236
Abstract

A method for data communication between a first node and a second node over a data path includes estimating a rate at which loss events occur, where a loss event is either an unsuccessful delivery of a single packet to the second data node or an unsuccessful delivery of a plurality of consecutively transmitted packets to the second data node, and sending redundancy messages at the estimate rate at which loss events occur.

Claims (34)

1. A method for data communication between a first node and a second node over a data path coupling the first node and the second node, the method comprising:

receiving messages at the first node from the second node, including receiving messages indicative of successful and unsuccessful delivery of the messages transmitted from the first node to the second node;

maintaining an estimate of a rate at which loss events occur over the communication path based on the messages received from the second node, including:

updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a single packet to the second data node, and

updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a window of transmitted packets to the second data node; and

dynamically adjusting a code rate or packet transmission rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur as opposed to a rate of packet loss.

2. The method of claim 1 , wherein dynamically adjusting the code rate or packet transmission rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes dynamically adjusting both the code rate and the packet transmission rate of redundancy messages transmitted from the first node.

3. The method of claim 1 , further comprising determining one or more redundancy messages from data messages at the first node using an error correcting code which is selected based at least in part on an estimated rate of loss events where a number of consecutive messages unsuccessfully delivered to the second data node in the window is less than a predetermined threshold.

4. The method of claim 3 , wherein the error correcting code includes a burst error correcting code.

5. The method of claim 3 , further comprising selecting the error correcting code.

6. The method of claim 5 , wherein selecting the error correcting code comprises selecting a burst error correcting code when the estimate of the rate at which loss events occur indicates loss bursts of up to a certain length in the window.

7. A communication apparatus comprising a first device having an interface for passing messages to and from a second device over a communication path coupling the first device to the second device, the first device further comprising a communication controller configured to:

receive messages at the first node from the second node, including receiving messages indicative of successful and unsuccessful delivery of the messages transmitted from the first node to the second node;

maintain an estimate of a rate at which loss events occur over the communication path based on the messages received from the second node, including:

updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a single packet to the second data node, and

updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a window of transmitted packets to the second data node; and

dynamically adjust a code rate or packet transmission rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur as opposed to a rate of packet loss.

8. The communication apparatus of claim 7 , wherein dynamically adjusting the code rate or packet transmission rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes dynamically adjusting both the code rate and the packet transmission rate of redundancy messages transmitted from the first node.

9. The communication apparatus of claim 7 , wherein the communication controller is further configured to determine one or more redundancy messages from data messages at the first node using an error correcting code, which is selected based at least in part on an estimated rate of loss events where a number of consecutive messages unsuccessfully delivered within the window to the second data node is less than a predetermined threshold.

10. The communication apparatus of claim 9 , wherein the error correcting code includes a burst error correcting code.

11. The communication apparatus of claim 9 , wherein the communication controller is further configured to select the error correcting code.

12. The communication apparatus of claim 11 , wherein selecting the error correcting code comprises selecting a burst error correcting code when the estimate of the rate at which loss events occur indicates loss bursts of up to a certain length in window.

13. The method of claim 5 , wherein selecting the error correcting code comprises selecting a combination of a burst error correcting code and an isolated error correcting code.

14. The method of claim 1 , wherein updating the estimate to incorporate the single loss event when one or more of the messages received from the second node indicate the unsuccessful delivery of the window of transmitted packets to the second data node comprises:

determining a number of the plurality of consecutively transmitted packets unsuccessfully delivered to the second data node; and

updating the estimate to incorporate the single loss event when the number of the plurality of consecutively transmitted packets unsuccessfully delivered to the second data node is below a threshold.

15. The method of claim 14 , further comprising updating the estimate to incorporate more than the single loss event when the number of the plurality of consecutively transmitted packets unsuccessfully delivered to the second data node is above the threshold.

16. The method of claim 15 , wherein dynamically adjusting the code rate or packet transmission rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes dynamically adjusting both the code rate and the packet transmission rate of redundancy messages transmitted from the first node.

17. The communication apparatus of claim 11 , wherein selecting the error correcting code comprises selecting a combination of a burst error correcting code and an isolated error correcting code.

18. The communication apparatus of claim 7 , wherein updating the estimate to incorporate the single loss event when one or more of the messages received from the second node indicate the unsuccessful delivery of the window of transmitted packets to the second data node comprises:

determining a number of the plurality of consecutively transmitted packets unsuccessfully delivered to the second data node; and

updating the estimate to incorporate the single loss event when the number of the plurality of consecutively transmitted packets unsuccessfully delivered to the second data node is below a threshold.

19. The communication apparatus of claim 18 , wherein the communication controller is further configured to update the estimate to incorporate more than the single loss event when the number of the plurality of consecutively transmitted packets unsuccessfully delivered to the second data node is above the threshold.

20. The communication apparatus of claim 19 , wherein dynamically adjusting the code rate or packet transmission rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes dynamically adjusting both the code rate and the packet transmission rate of redundancy messages transmitted from the first node.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2026
From: HO, TRACEY; SEGUI, JOHN
To: SPEEDY PACKETS, INC.
Reel/Frame 075062/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2026
From: SPEEDY PACKETS, INC.
To: STRONG FORCE IOT PORTFOLIO 2016, LLC
Reel/Frame 075063/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2026
From: STRONG FORCE IOT PORTFOLIO 2016, LLC
To: SIM IP 1 LLC
Reel/Frame 075063/0846 →
SECURITY INTEREST Recorded Apr 6, 2026
From: POWERBRIDGE IP PROTECTION LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075366/0001 →
CHANGE OF NAME Recorded Mar 27, 2026
From: SIM IP 1 LLC
To: POWERBRIDGE IP PROTECTION LLC
Reel/Frame 075275/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2026
From: STRONG FORCE IOT PORTFOLIO 2016, LLC
To: SIM IP 1 LLC
Reel/Frame 075119/0603 →
Continuity (5)
Continuation 16456471 · Jun 28, 2019
Continuation 15972767 · May 7, 2018
Continuation 14935885 · Nov 9, 2015
Provisional Application 62076583 · Nov 7, 2014
Related Publication 20210392063A1 · Dec 16, 2021