IP Library Granted Patent US 12,362,858
Granted Patent B2
US 12,362,858 · App. 17/538,128 · Granted Jul 15, 2025

Packet coding based network communication

Inventors: Tracey Ho (Pasadena, CA); John Segui (Costa Mesa, CA); Chun Meng (South Pasadena, CA); Steven Blumenthal (Lexington, MA)
Assignee: STRONG FORCE IOT PORTFOLIO 2016, LLC
H04L1/0076H03M13/05H03M13/13H03M13/373H03M13/3761H03M13/611H03M13/6547H04L1/0002H04L1/0041H04L1/1614H04L1/187H04L47/27
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 12,362,858
App. No.
17/538,128
Filed
Nov 30, 2021
Granted
Jul 15, 2025
Kind
B2
Art Unit
2477
USPC
714/776
Abstract

A method for data communication between a first node and a second node includes forming one or more redundancy messages from data messages at the first node using an error correcting code and transmitting first messages from the first node to the second node over a data path, the transmitted first messages including the data messages and the one or more redundancy messages. Second messages are received at the first node from the second node, which are indicative of: (i) a rate of arrival at the second node of the first messages, and (ii) successful and unsuccessful delivery of the first messages. A transmission rate limit and a window size are maintained according to the received second messages. Transmission of additional messages from the first node to the second node is limited according to the maintained transmission rate limit and window size.

Claims (37)

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, via an intermediate node, the method comprising:

receiving, on a first channel, at least a first set of messages at the intermediate node from the first node, wherein the first set of messages includes first channel redundancy information, wherein the first channel redundancy information includes first channel characteristics associated with the first channel;

determining second channel redundancy information by modifying the first channel redundancy information based, at least in part, on at least one characteristic of a second channel; and

transmitting a second set of messages from the intermediate node to the second node on the second channel, wherein the second set of messages includes the second channel redundancy information.

2. The method of claim 1 , wherein the second channel redundancy information is further determined based, at least in part, on a second channel transmission rate based on a rate of arrival of messages at the second node, and the method further comprises limiting the transmitting of messages from the intermediate node to the second node based on the second channel transmission rate.

3. The method of claim 2 , wherein the rate of arrival of messages at the second node is based, at least in part, on at least one acknowledgment message received at the intermediate node from the second node.

4. The method of claim 1 , wherein the at least one of the first channel characteristics includes at least one of a block size, a congestion window size, or a pacing rate associated with the first channel.

5. The method of claim 1 , wherein the first channel redundancy information is determined, at least in part, using a forward error correction, wherein the forward error correction is based on a linear error correcting code.

6. The method of claim 1 , wherein the first channel redundancy information is determined, at least in part, using a forward error correction, wherein the forward error correction is based on a nonlinear error correcting code.

7. The method of claim 1 , wherein the first set of messages further includes a first encoded data message, and wherein the second set of messages further includes a second encoded data message.

8. The method of claim 7 , further including:

decoding the first encoded data message, resulting in message data; and

encoding the message data, resulting in the second encoded data.

9. The method of claim 1 ,

wherein the first set of messages further includes a first encoded data message, and

further comprising sending the first encoded data message to the second node unchanged.

10. The method of claim 1 , wherein the first channel characteristics include at least one of a capacity, a latency, a variability in transit time, an error rate, or a burst characteristic.

11. The method of claim 1 , wherein the second channel redundancy information is based, at least in part, on a pacing rate associated with the at least one channel characteristic of the second node.

12. The method of claim 1 , further comprising sending a first feedback message, indicative of successful or unsuccessful delivery, from the intermediate node to the first node in response to the at least one of the first set of messages.

13. The method of claim 12 , further comprising:

determining a round trip time from the transmitting of the at least one of the set of first messages to the receiving of the first feedback message;

estimating an available bandwidth of the first channel based on the round trip time;

in response to the estimated available bandwidth, updating the first channel redundancy information based, at least in part, the estimated available bandwidth; and

transmitting a third set of messages from the first node to the intermediate node, including applying forward error correction to at least one of the set of third messages, based at least in part on, the estimated available bandwidth.

14. A communication apparatus comprising: a first interface for passing messages to and from a first node over a first data path coupling the first node to the communication apparatus,

a second data interface for passing messages to and from a second node over a second data path coupling the second node to the communication apparatus; and a communication controller configured to:

receive, on a first channel, a first set of messages at the communication apparatus from the first node, wherein the first set of message includes first channel redundancy information associated with the first channel;

determine second channel redundancy information based, at least in part, on modifying the first channel redundancy information based on a second channel characteristic of the second data path; and

transmit, from the communication apparatus to the second node, on the second data path, a second set of messages including the second channel redundancy information.

15. The communication apparatus of claim 14 , wherein the second channel redundancy information is based on a rate of arrival of messages at the second node, and the communication controller is further configured to limit the transmit of further messages from the communication apparatus to the second node based on a second transmission rate, wherein the second transmission rate is based on the rate of arrival of messages from the communication apparatus at the second node.

16. The communication apparatus of claim 15 , wherein the communication controller further receives acknowledgement messages based on successful and unsuccessful delivery of messages, and wherein the second transmission rate is further based on a round trip time between the transmission of a message from the communication apparatus to the second node and the receiving of the acknowledgement messages from the second node.

17. The communication apparatus of claim 14 , wherein the first channel redundancy information of the first set of messages is based on successful and unsuccessful delivery of messages at the communication apparatus, and the communication controller is further configured to transmit messages based on successful and unsuccessful delivery of messages from the communication apparatus to the first node.

18. The communication apparatus of claim 11 , wherein the first set of messages further includes a first encoded data message and the second set of messages further includes a second encoded data message.

19. The communication apparatus of claim 18 , wherein the communication controller is further configured to:

decode the first encoded data message, resulting in message data; and

encode the message data, resulting in the second encoded data message.

20. The communication apparatus of claim 14 , wherein the first set of messages further includes a first encoded data message, and wherein the communication controller is further configured to send the first encoded data message to the second node without additional processing.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2026
From: STRONG FORCE IOT PORTFOLIO 2016, LLC
To: SIM IP 1 LLC
Reel/Frame 075075/0607 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: HO, TRACEY; MENG, CHUN; BLUMENTHAL, STEVEN
To: STRONG FORCE IOT PORTFOLIO 2016, LLC
Reel/Frame 063021/0372 →
Continuity (30)
Continuation 17245922 · Apr 30, 2021
Continuation 16780275 · Feb 3, 2020
Continuation In Part 16733921 · Jan 3, 2020
Continuation In Part 16456543 · Jun 28, 2019
Continuation In Part 16456471 · Jun 28, 2019
Continuation In Part 16277055 · Feb 15, 2019
Continuation In Part 16176718 · Oct 31, 2018
Continuation In Part 16165041 · Oct 19, 2018
Continuation In Part 16164022 · Oct 18, 2018
Continuation 15972800 · May 7, 2018
Continuation In Part 15972849 · May 7, 2018
Continuation In Part 15972898 · May 7, 2018
Continuation 15972767 · May 7, 2018
Continuation 15818171 · Nov 20, 2017
Continuation 15061211 · Mar 4, 2016
Continuation 15060877 · Mar 4, 2016
Continuation 15061043 · Mar 4, 2016
Continuation In Part 15061267 · Mar 4, 2016
Continuation 15060908 · Mar 4, 2016
Continuation 15060925 · Mar 4, 2016
Continuation 14935966 · Nov 9, 2015
Continuation 14936049 · Nov 9, 2015
Continuation 14935885 · Nov 9, 2015
Continuation 14936010 · Nov 9, 2015
Provisional Application 62189509 · Jul 7, 2015
Provisional Application 62076709 · Nov 7, 2014
Provisional Application 62076612 · Nov 7, 2014
Provisional Application 62076595 · Nov 7, 2014
Provisional Application 62076583 · Nov 7, 2014
Related Publication 20220166544A1 · May 26, 2022
References Cited (169)
US 5809427A · Perreault et al. · 1998 [cited by applicant]
US 5870474A · Wasilewski et al. · 1999 [cited by applicant]
US 6345301B1 · Burns et al. · 2002 [cited by applicant]
US 6480497B1 · Flammer et al. · 2002 [cited by applicant]
US 7570589B1 · Apostolopoulos et al. · 2009 [cited by applicant]
US 7620483B2 · Florentin · 2009 [cited by examiner]
US 7882253B2 · Pardo-Castellote et al. · 2011 [cited by applicant]
US 8130776B1 · Sundararajan et al. · 2012 [cited by applicant]
US 8583820B2 · Harrang et al. · 2013 [cited by applicant]
US 8644296B1 · Croak et al. · 2014 [cited by applicant]
US 8780693B2 · Kim et al. · 2014 [cited by applicant]
US 8819520B1 · Slavetsky · 2014 [cited by applicant]
US 9148274B2 · Balakrishnan et al. · 2015 [cited by applicant]
US 9215082B2 · Liu et al. · 2015 [cited by applicant]
US 9537759B2 · Calmon et al. · 2017 [cited by applicant]
US 9705675B2 · Painchault · 2017 [cited by examiner]
US 9825733B1 · Ho · 2017 [cited by examiner]
US 9979664B2 · Ho et al. · 2018 [cited by applicant]
US 10333651B2 · Ho · 2019 [cited by examiner]
US 10498359B2 · Vafin · 2019 [cited by examiner]
US 10530700B2 · Ho et al. · 2020 [cited by applicant]
US 10554565B2 · Ho · 2020 [cited by examiner]
US 10560388B2 · Ho et al. · 2020 [cited by applicant]
US 10623143B2 · Ho · 2020 [cited by examiner]
US 10715454B2 · Ho et al. · 2020 [cited by applicant]
US 10903853B2 · Vafin · 2021 [cited by examiner]
US 10999012B2 · Ho et al. · 2021 [cited by applicant]
US 11799586B2 · Ho et al. · 2023 [cited by applicant]
US 11817954B2 · Ho et al. · 2023 [cited by applicant]
US 11817955B2 · Ho et al. · 2023 [cited by applicant]
US 20010023445A1 · Sundqvist · 2001 [cited by applicant]
US 20020046382A1 · Yang · 2002 [cited by examiner]
US 20020150048A1 · Ha et al. · 2002 [cited by applicant]
US 20020163933A1 · Benveniste · 2002 [cited by applicant]
US 20020178273A1 · Pardo-Castellote et al. · 2002 [cited by applicant]
US 20030067877A1 · Sivakumar · 2003 [cited by examiner]
US 20030123481A1 · Neale et al. · 2003 [cited by applicant]
US 20030128672A1 · Komandur · 2003 [cited by examiner]
US 20040153534A1 · Gibart · 2004 [cited by examiner]
US 20040160943A1 · Cain · 2004 [cited by applicant]
US 20040174816A1 · Stewart et al. · 2004 [cited by applicant]
US 20040193871A1 · Seshadri · 2004 [cited by applicant]
US 20040252700A1 · Anandakumar et al. · 2004 [cited by applicant]
US 20050013246A1 · Miyake et al. · 2005 [cited by applicant]
US 20050058151A1 · Yeh · 2005 [cited by applicant]
US 20050088986A1 · Sun et al. · 2005 [cited by applicant]
US 20050181739A1 · Krasny et al. · 2005 [cited by applicant]
US 20050243059A1 · Morris · 2005 [cited by examiner]
US 20060104340A1 · Walton et al. · 2006 [cited by applicant]
US 20060215592A1 · Tomoe et al. · 2006 [cited by applicant]
US 20060250949A1 · Ramakrishnan et al. · 2006 [cited by applicant]
US 20060250964A1 · Vasseur et al. · 2006 [cited by applicant]
US 20060251011A1 · Ramakrishnan et al. · 2006 [cited by applicant]
US 20070079223A1 · Mondin et al. · 2007 [cited by applicant]
US 20070091927A1 · Apostolopoulos et al. · 2007 [cited by applicant]
US 20070097985A1 · Lee · 2007 [cited by examiner]
US 20070157060A1 · Ganga et al. · 2007 [cited by applicant]
US 20070192812A1 · Pickens et al. · 2007 [cited by applicant]
US 20070206615A1 · Plamondon et al. · 2007 [cited by applicant]
US 20070211633A1 · Gunawardena et al. · 2007 [cited by applicant]
US 20070211810A1 · Bohnke et al. · 2007 [cited by applicant]
US 20070233896A1 · Hilt et al. · 2007 [cited by applicant]
US 20080045215A1 · Chen · 2008 [cited by examiner]
US 20080049624A1 · Ray et al. · 2008 [cited by applicant]
US 20080065890A1 · Lundsgaard · 2008 [cited by applicant]
US 20080117930A1 · Chakareski et al. · 2008 [cited by applicant]
US 20080144493A1 · Yeh · 2008 [cited by applicant]
US 20080170513A1 · Niranjan et al. · 2008 [cited by applicant]
US 20080253369A1 · Oran · 2008 [cited by examiner]
US 20080304483A1 · Williams et al. · 2008 [cited by applicant]
US 20080304491A1 · Scott et al. · 2008 [cited by applicant]
US 20080317017A1 · Wiemann et al. · 2008 [cited by applicant]
US 20090016265A1 · Katayama et al. · 2009 [cited by applicant]
US 20090080332A1 · Mizrachi et al. · 2009 [cited by applicant]
US 20090094353A1 · Isobe · 2009 [cited by applicant]
US 20090097563A1 · Brown et al. · 2009 [cited by applicant]
US 20090147738A1 · Larsson et al. · 2009 [cited by applicant]
US 20090196294A1 · Black et al. · 2009 [cited by applicant]
US 20090268662A1 · Larsson et al. · 2009 [cited by applicant]
US 20090276686A1 · Liu et al. · 2009 [cited by applicant]
US 20100067401A1 · Medvedev et al. · 2010 [cited by applicant]
US 20100142437A1 · Gin et al. · 2010 [cited by applicant]
US 20100246474A1 · Zhang et al. · 2010 [cited by applicant]
US 20100260176A1 · Hartwich · 2010 [cited by applicant]
US 20100268775A1 · Doppler et al. · 2010 [cited by applicant]
US 20100274871A1 · Harrang et al. · 2010 [cited by applicant]
US 20100299526A1 · Wiseman et al. · 2010 [cited by applicant]
US 20110013524A1 · Stephens · 2011 [cited by examiner]
US 20110029632A1 · Siemens · 2011 [cited by applicant]
US 20110103379A1 · Kim et al. · 2011 [cited by applicant]
US 20110110264A1 · Froelich et al. · 2011 [cited by applicant]
US 20110200045A1 · Baehre · 2011 [cited by applicant]
US 20110258510A1 · Watson et al. · 2011 [cited by applicant]
US 20110268200A1 · Yonge et al. · 2011 [cited by applicant]
US 20110276699A1 · Pedersen · 2011 [cited by applicant]
US 20120072340A1 · Amron · 2012 [cited by applicant]
US 20120128009A1 · Yang et al. · 2012 [cited by applicant]
US 20120182860A1 · Liu · 2012 [cited by examiner]
US 20120188949A1 · Salkintzis et al. · 2012 [cited by applicant]
US 20120192031A1 · Liu et al. · 2012 [cited by applicant]
US 20120210199A1 · Gale et al. · 2012 [cited by applicant]
US 20120218891A1 · Sundararajan et al. · 2012 [cited by applicant]
US 20120226802A1 · Wu · 2012 [cited by examiner]
US 20120236809A1 · Senoo · 2012 [cited by applicant]
US 20120236870A1 · Klein · 2012 [cited by applicant]
US 20120246537A1 · Kubo · 2012 [cited by examiner]
US 20120269062A1 · Cho · 2012 [cited by applicant]
US 20120314648A1 · Zhang et al. · 2012 [cited by applicant]
US 20120331160A1 · Tremblay et al. · 2012 [cited by applicant]
US 20130019025A1 · Chaturvedi et al. · 2013 [cited by applicant]
US 20130044183A1 · Jeon et al. · 2013 [cited by applicant]
US 20130051377A1 · Seferoglu et al. · 2013 [cited by applicant]
US 20130117796A1 · Qi · 2013 [cited by applicant]
US 20130135523A1 · Ramalho et al. · 2013 [cited by applicant]
US 20130195106A1 · Calmon et al. · 2013 [cited by applicant]
US 20130235843A1 · Gohari et al. · 2013 [cited by applicant]
US 20140006631A1 · Meskauskas et al. · 2014 [cited by applicant]
US 20140010088A1 · Stewart · 2014 [cited by examiner]
US 20140115094A1 · Dao et al. · 2014 [cited by applicant]
US 20140146676A1 · Howes et al. · 2014 [cited by applicant]
US 20140157009A1 · Kherani · 2014 [cited by applicant]
US 20140162680A1 · Kotecha et al. · 2014 [cited by applicant]
US 20140207845A1 · Han et al. · 2014 [cited by applicant]
US 20140310566A1 · Balakrishnan et al. · 2014 [cited by applicant]
US 20150078160A1 · Rankin · 2015 [cited by applicant]
US 20150100858A1 · Zhovnirnovsky et al. · 2015 [cited by applicant]
US 20150109942A1 · Nguyen et al. · 2015 [cited by applicant]
US 20150117468A1 · Shin et al. · 2015 [cited by applicant]
US 20150146526A1 · Kulkarni · 2015 [cited by applicant]
US 20150172883A1 · Cili et al. · 2015 [cited by applicant]
US 20150181460A1 · Subramanian et al. · 2015 [cited by applicant]
US 20150189009A1 · Bemmel · 2015 [cited by applicant]
US 20150229490A1 · Brandstätter · 2015 [cited by applicant]
US 20150295692A1 · Gowda et al. · 2015 [cited by applicant]
US 20150326940A1 · Deiss et al. · 2015 [cited by applicant]
US 20160065475A1 · Hilt et al. · 2016 [cited by applicant]
US 20160066222A1 · Makinen et al. · 2016 [cited by applicant]
US 20160234298A1 · Takeda et al. · 2016 [cited by applicant]
US 20160286003A1 · Pessis et al. · 2016 [cited by applicant]
US 20160366099A1 · Jordan · 2016 [cited by applicant]
US 20170012868A1 · Ho et al. · 2017 [cited by applicant]
US 20170195231A1 · Serrano et al. · 2017 [cited by applicant]
US 20190181984A1 · Ho · 2019 [cited by examiner]
US 20190394136A1 · Ho et al. · 2019 [cited by applicant]
US 20200177311A1 · Ho et al. · 2020 [cited by applicant]
US 20220210076A1 · Stalling et al. · 2022 [cited by applicant]
EP 1010287B1 · 2012 [cited by applicant]
EP 2782281A1 · 2014 [cited by applicant]
EP 2890179A1 · 2019 [cited by applicant]
WO 2004082227 · 2004 [cited by applicant]
WO 2005034474 · 2005 [cited by applicant]
WO 2005055556A1 · 2005 [cited by applicant]
U.S. Appl. No. 17/446,179, filed Aug. 27, 2021, Ho et al. [cited by applicant]
U.S. Appl. No. 17/538,140, filed Nov. 30, 2021, Ho et al. [cited by applicant]
U.S. Appl. No. 17/538,155, filed Nov. 30, 2021, Ho et al. [cited by applicant]
U.S. Appl. No. 17/538,184, filed Nov. 30, 2021, Ho et al. [cited by applicant]
Chakravorty, R. et al., “Optimizing Web Delivery Over Wireless Links: Design, Implementation, and Experiences,” IEEE Journal On Selected Areas In Communications, vol. 23, No. 2, Feb. 2005, pp. 402-416. [cited by applicant]
Cloud, J. et al., “Multi-Path TCP with Network Coding for Mobile Devices in Heterogeneous Networks,” IEEE, 2013, 5 pages. [cited by applicant]
Li, M. et al., “Multipath Transmission for the Internet: A Survey,” IEEE Communications Surveys & Tutorials, vol. 18, No. 4, Fourth Quarter 2016, pp. 2887-2925. [cited by applicant]
Li, M. et al., “Network Coding Based Multipath TCP,” Global Internet Symposium 2012, pp. 25-30. [cited by applicant]
Xia et al., A Multipath TCP based on Network Coding in Wireless Mesh Networks, IEEE, 5 pages, 2009. [cited by applicant]
Ali, F.A. et al., “Bandwidth Efficient Adaptive Forward Error Correction Mechanism with Feedback Channel,” Journal of Communications and Networks, vol. 16, No. 3, Jun. 2014, pp. 322-334. [cited by applicant]
IEEE Standards Association, “IEEE Standard for Information Technology—Telecommunication and information exchange between systems, Local and metropolitan area networks—Specific Requirements—Part 11: Wirless LAN Medium Ac… [cited by applicant]
Lamoriniere, C. et al., “Dynamic Switching Between Adaptive FEC Protocols For Reliable Multi-Source Streaming,” IEEE “GLOBECOM” 2009 Proceedings, 6 pages. [cited by applicant]
U.S. Appl. No. 17/538,097, filed Nov. 30, 2021, Ho et al. [cited by applicant]
U.S. Appl. No. 17/538,113, filed Nov. 30, 2021, Ho et al. [cited by applicant]
U.S. Appl. No. 17/245,922, filed Apr. 30, 2021, Ho et al. [cited by applicant]
U.S. Appl. No. 18/382,839, filed Oct. 23, 2023, Ho et al. [cited by applicant]
U.S. Appl. No. 18/514,014, filed Nov. 20, 2023, Ho et al. Sep. 12, 2024. [cited by applicant]