IP Library Granted Patent US 12,401,392
Granted Patent B2
US 12,401,392 · App. 18/599,886 · Granted Aug 26, 2025

Data channel monitoring and selection

Inventors: Kevin Cunningham (Swarthmore, PA); Harry Volek (Philadelphia, PA); Brian Prodoehl (Plymouth Meeting, PA); Alexander Gizis (Philadelphia, PA)
Assignee: CONNECTIFY, INC.
H04B1/74H04B17/309H04B17/382H04L1/02H04L1/20H04L43/08H04L43/0823H04L43/0847H04L43/0852H04L43/0864H04L43/16H04L47/29H04L49/55H04L49/552
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,401,392
App. No.
18/599,886
Granted
Aug 26, 2025
Kind
B2
Abstract

One example may include transmitting data between a client device and a server over a first channel, identifying a transmission rate of the first channel, transmitting additional data between the client device and the server over a second channel, determining whether a transmission rate of the second channel is above or below a transmission rate threshold associated with the first channel, and bonding the first channel with the second channel based on the transmission rate of the second channel being above the transmission rate threshold.

Claims (51)

1. A method comprising:

transmitting data between a client device and a server over a first channel and a second channel;

determining a transmission rate of the second channel by measuring a speed of data transmitted on the second channel;

determining the transmission rate of the second channel is above a transmission rate threshold associated with the first channel;

determining an expected bandwidth increase for a combined transmission rate of both channels for the first channel being bonded with the second channel, wherein the expected bandwidth increase is determined based on a comparison of a transmission rate of the first channel and the transmission rate of the second channel; and

bonding the first channel with the second channel when it is determined that the transmission rate of the second channel is above the transmission rate threshold and when a data value assigned as a cost to use the second channel is less than or equal to a data value threshold.

2. The method of claim 1 , comprising:

determining whether the transmission rate of the second channel is higher than the transmission rate of the first channel; and

determining to use the second channel when the transmission rate of the second channel is higher than the transmission rate of the first channel.

3. The method of claim 1 , wherein the transmission rate threshold is based on the transmission rate of the first channel.

4. The method of claim 1 , comprising:

sending test data between the client device and the server on the second channel to identify the transmission rate of the second channel.

5. The method of claim 4 , comprising:

determining a latency associated with the first channel and a latency associated with the second channel.

6. The method of claim 1 , comprising:

determining a data value of the first channel and a data value of the second channel, wherein the data values are based on an availability of data associated with the channels, wherein when the data value of the second channel equals a data value threshold and the transmission rate is greater than the transmission rate threshold then performing the bonding.

7. The method of claim 1 , wherein when the transmission rate of the first channel is greater than the transmission rate threshold but less than another transmission rate threshold, then determining not to perform the bonding of the first channel with the second channel.

8. A server comprising:

a receiver configured to receive transmitted data from a client device over a first channel and a second channel;

a processor configured to

determine a transmission rate of the second channel by measuring a speed of data transmitted on the second channel;

determine the transmission rate of the second channel is above a transmission rate threshold associated with the first channel;

determine an expected bandwidth increase for a combined transmission rate of both channels for the first channel being bonded with the second channel, wherein the expected bandwidth increase is determined based on a comparison of a transmission rate of the first channel and the transmission rate of the second channel; and

bond the first channel with the second channel when it is determined that the transmission rate of the second channel is above the transmission rate threshold and when a data value assigned as a cost to use the second channel is less than or equal to a data value threshold.

9. The server of claim 8 , wherein the processor is further configured to:

determine whether the transmission rate of the second channel is higher than the transmission rate of the first channel; and

determine to use the second channel when the transmission rate of the second channel is higher than the transmission rate of the first channel.

10. The server of claim 8 , wherein the transmission rate threshold is based on the transmission rate of the first channel.

11. The server of claim 8 , wherein the processor is further configured to:

send test data between the client device and the server on the second channel to identify the transmission rate of the second channel.

12. The server of claim 11 , wherein the processor is further configured to:

determine a latency associated with the first channel and a latency associated with the second channel.

13. The server of claim 8 , wherein the processor is further configured to:

determine a data value of the first channel and a data value of the second channel, wherein the data values are based on an availability of data associated with the channels, wherein when the data value of the second channel equals a data value threshold and the transmission rate is greater than the transmission rate threshold then performing the bonding.

14. The server of claim 8 , wherein when the transmission rate of the first channel is greater than the transmission rate threshold but less than another transmission rate threshold, then the processor determines not to perform the bonding of the first channel with the second channel.

15. A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform:

transmitting data between a client device and a server over a first channel and a second channel;

determining a transmission rate of the second channel by measuring a speed of data transmitted on the second channel;

determining the transmission rate of the second channel is above a transmission rate threshold associated with the first channel;

determining an expected bandwidth increase for a combined transmission rate of both channels for the first channel being bonded with the second channel, wherein the expected bandwidth increase is determined based on a comparison of a transmission rate of the first channel and the transmission rate of the second channel; and

bonding the first channel with the second channel when it is determined that the transmission rate of the second channel is above the transmission rate threshold and when a data value assigned as a cost to use the second channel is less than or equal to a data value threshold.

16. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

determining whether the transmission rate of the second channel is higher than the transmission rate of the first channel; and

determining to use the second channel when the transmission rate of the second channel is higher than the transmission rate of the first channel.

17. The non-transitory computer readable storage medium of claim 15 , wherein the transmission rate threshold is based on the transmission rate of the first channel.

18. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

sending test data between the client device and the server on the second channel to identify the transmission rate of the second channel.

19. The non-transitory computer readable storage medium of claim 18 , wherein the processor is further configured to perform:

determining a latency associated with the first channel and a latency associated with the second channel.

20. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

determining a data value of the first channel and a data value of the second channel, wherein the data values are based on an availability of data associated with the channels, wherein when the data value of the second channel equals a data value threshold and the transmission rate is greater than the transmission rate threshold then performing the bonding.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2025
From: CUNNINGHAM, KEVIN; VOLEK, HARRY; PRODOEHL, BRIAN; GIZIS, ALEXANDER
To: CONNECTIFY, INC.
Reel/Frame 070888/0806 →
CHANGE OF ASSIGNEE ADDRESS Recorded Apr 19, 2025
From: CONNECTIFY, INC.
To: CONNECTIFY, INC.
Reel/Frame 070892/0084 →
Continuity (4)
Continuation 18109839 · Feb 14, 2023
Continuation 17458534 · Aug 26, 2021
Provisional Application 63070874 · Aug 27, 2020
Related Publication 20240214027A1 · Jun 27, 2024
References Cited (155)
US 5909443A · Fichou · 1999 [cited by examiner]
US 7106760B1 · Perumal et al. · 2006 [cited by applicant]
US 8493988B2 · Wong · 2013 [cited by examiner]
US 8548034B2 · Ling et al. · 2013 [cited by applicant]
US 8948032B1 · Sampath · 2015 [cited by applicant]
US 9019973B1 · Shukla et al. · 2015 [cited by applicant]
US 9160673B1 · Lang · 2015 [cited by examiner]
US 9265055B2 · Okuda · 2016 [cited by examiner]
US 9439093B2 · Chetlur et al. · 2016 [cited by applicant]
US 9762495B1 · Chen · 2017 [cited by examiner]
US 9900406B1 · Hanks · 2018 [cited by examiner]
US 10064100B2 · Schoppmeier · 2018 [cited by applicant]
US 10120662B1 · Furman · 2018 [cited by examiner]
US 10277699B1 · Ali et al. · 2019 [cited by applicant]
US 10349435B2 · Seo et al. · 2019 [cited by applicant]
US 10530517B2 · Yuan et al. · 2020 [cited by applicant]
US 10784999B2 · Liu et al. · 2020 [cited by applicant]
US 10939476B1 · Chu et al. · 2021 [cited by applicant]
US 11115839B1 · Marupaduga · 2021 [cited by examiner]
US 11818799B1 · Chu · 2023 [cited by examiner]
US 11956008B2 · Cunningham · 2024 [cited by examiner]
US 20030028890A1 · Swart · 2003 [cited by examiner]
US 20030035388A1 · Schmidt · 2003 [cited by applicant]
US 20030236902A1 · Weiss · 2003 [cited by examiner]
US 20040062198A1 · Pedersen et al. · 2004 [cited by applicant]
US 20050041587A1 · Lee · 2005 [cited by applicant]
US 20060153093A1 · Cloonan · 2006 [cited by examiner]
US 20070133588A1 · Kwon et al. · 2007 [cited by applicant]
US 20080069006A1 · Walter · 2008 [cited by examiner]
US 20080273548A1 · Leano et al. · 2008 [cited by applicant]
US 20080300889A1 · Dawson · 2008 [cited by examiner]
US 20090067403A1 · Chan · 2009 [cited by examiner]
US 20090180478A1 · Yu et al. · 2009 [cited by applicant]
US 20090182871A1 · Gupta et al. · 2009 [cited by applicant]
US 20090225777A1 · Dong · 2009 [cited by examiner]
US 20090313311A1 · Hoffmann et al. · 2009 [cited by applicant]
US 20100011230A1 · Mater · 2010 [cited by applicant]
US 20100158036A1 · Choi et al. · 2010 [cited by applicant]
US 20100202382A1 · Park et al. · 2010 [cited by applicant]
US 20100238693A1 · Jeddeloh · 2010 [cited by applicant]
US 20100254409A1 · Lu · 2010 [cited by examiner]
US 20110044169A1 · Liu · 2011 [cited by applicant]
US 20110085647A1 · Hicks, III · 2011 [cited by examiner]
US 20110110237A1 · Wong · 2011 [cited by examiner]
US 20110116444A1 · Relyea · 2011 [cited by examiner]
US 20110124333A1 · Lotze · 2011 [cited by examiner]
US 20110154425A1 · Kim et al. · 2011 [cited by applicant]
US 20110211518A1 · Gupta et al. · 2011 [cited by applicant]
US 20110292812A1 · Kim · 2011 [cited by examiner]
US 20110299538A1 · Maruta · 2011 [cited by applicant]
US 20110310738A1 · Lee · 2011 [cited by examiner]
US 20120039173A1 · Danzig et al. · 2012 [cited by applicant]
US 20120128045A1 · Ling et al. · 2012 [cited by applicant]
US 20120263117A1 · Love · 2012 [cited by examiner]
US 20130003800A1 · Finkelstein et al. · 2013 [cited by applicant]
US 20130039658A1 · Abbas et al. · 2013 [cited by applicant]
US 20130044621A1 · Jung · 2013 [cited by examiner]
US 20130120159A1 · Stählin et al. · 2013 [cited by applicant]
US 20130182705A1 · Avni et al. · 2013 [cited by applicant]
US 20130223418A1 · Schmidt · 2013 [cited by applicant]
US 20130235883A1 · Hou et al. · 2013 [cited by applicant]
US 20130279507A1 · Miyabe · 2013 [cited by applicant]
US 20140006822A1 · Diab et al. · 2014 [cited by applicant]
US 20140030979A1 · Bowman · 2014 [cited by examiner]
US 20140086081A1 · Mack et al. · 2014 [cited by applicant]
US 20140154973A1 · Schoppmeier · 2014 [cited by examiner]
US 20140161096A1 · Tohzaka et al. · 2014 [cited by applicant]
US 20140178073A1 · Katagiri · 2014 [cited by applicant]
US 20140192710A1 · Charette · 2014 [cited by examiner]
US 20140219284A1 · Chau et al. · 2014 [cited by applicant]
US 20140226665A1 · Ido · 2014 [cited by applicant]
US 20140344443A1 · Macinnis · 2014 [cited by examiner]
US 20150029862A1 · Olenz et al. · 2015 [cited by applicant]
US 20150055608A1 · Egner · 2015 [cited by examiner]
US 20150078256A1 · Van Wyk · 2015 [cited by examiner]
US 20150173009A1 · Vallath · 2015 [cited by examiner]
US 20150208341A1 · Mohamed et al. · 2015 [cited by applicant]
US 20150223098A1 · Sze · 2015 [cited by examiner]
US 20150237491A1 · Selén et al. · 2015 [cited by applicant]
US 20150281871A1 · Poulsen · 2015 [cited by examiner]
US 20150288599A1 · Zhou et al. · 2015 [cited by applicant]
US 20150311923A1 · Valliappan et al. · 2015 [cited by applicant]
US 20150372929A1 · Rochwerger et al. · 2015 [cited by applicant]
US 20160062623A1 · Howard et al. · 2016 [cited by applicant]
US 20160112495A1 · Gizis · 2016 [cited by examiner]
US 20160142343A1 · Tongle et al. · 2016 [cited by applicant]
US 20160164781A1 · Imai et al. · 2016 [cited by applicant]
US 20160212755A1 · Cao · 2016 [cited by examiner]
US 20160219589A1 · Khawer et al. · 2016 [cited by applicant]
US 20160323878A1 · Ghosh et al. · 2016 [cited by applicant]
US 20160329986A1 · Eitan · 2016 [cited by applicant]
US 20170013507A1 · Lee et al. · 2017 [cited by applicant]
US 20170026128A1 · Remein et al. · 2017 [cited by applicant]
US 20170026970A1 · Pack et al. · 2017 [cited by applicant]
US 20170055179A1 · Radunovic et al. · 2017 [cited by applicant]
US 20170135070A1 · Huber et al. · 2017 [cited by applicant]
US 20170280435A1 · Egner et al. · 2017 [cited by applicant]
US 20170367099A1 · Cariou et al. · 2017 [cited by applicant]
US 20180014226A1 · Li et al. · 2018 [cited by applicant]
US 20180027468A1 · Pasulka · 2018 [cited by examiner]
US 20180027506A1 · Pasulka et al. · 2018 [cited by applicant]
US 20180077748A1 · Kazmi · 2018 [cited by examiner]
US 20180098238A1 · Saxena · 2018 [cited by examiner]
US 20180103425A1 · Arora et al. · 2018 [cited by applicant]
US 20180198732A1 · Karthikeyan et al. · 2018 [cited by applicant]
US 20180234884A1 · Nakagawa · 2018 [cited by examiner]
US 20180235005A1 · Ansari · 2018 [cited by examiner]
US 20180324763A1 · Huber · 2018 [cited by examiner]
US 20180351721A1 · Li et al. · 2018 [cited by applicant]
US 20180367650A1 · Motozuka et al. · 2018 [cited by applicant]
US 20190046876A1 · Dietrich et al. · 2019 [cited by applicant]
US 20190081900A1 · Peleska et al. · 2019 [cited by applicant]
US 20190098601A1 · Kumar · 2019 [cited by examiner]
US 20190103952A1 · Goudal et al. · 2019 [cited by applicant]
US 20190104460A1 · Poorrezaei et al. · 2019 [cited by applicant]
US 20190190835A1 · Sung · 2019 [cited by examiner]
US 20190191414A1 · Bang et al. · 2019 [cited by applicant]
US 20190229796A1 · Wee et al. · 2019 [cited by applicant]
US 20190297674A1 · Min et al. · 2019 [cited by applicant]
US 20190327679A1 · Gupta et al. · 2019 [cited by applicant]
US 20200007265A1 · Min · 2020 [cited by examiner]
US 20200052926A1 · Sung et al. · 2020 [cited by applicant]
US 20200053829A1 · Morioka · 2020 [cited by applicant]
US 20200059929A1 · Jones · 2020 [cited by applicant]
US 20200076718A1 · Khan · 2020 [cited by examiner]
US 20200119976A1 · Xu et al. · 2020 [cited by applicant]
US 20200128482A1 · Daoura et al. · 2020 [cited by applicant]
US 20200145325A1 · LaVigne · 2020 [cited by examiner]
US 20200145342A1 · Olesen et al. · 2020 [cited by applicant]
US 20200177311A1 · Ho et al. · 2020 [cited by applicant]
US 20200196182A1 · Nam et al. · 2020 [cited by applicant]
US 20200204235A1 · Liu · 2020 [cited by examiner]
US 20200213360A1 · Ojha · 2020 [cited by examiner]
US 20200259738A1 · Wang · 2020 [cited by examiner]
US 20200313970A1 · Almasmoum · 2020 [cited by examiner]
US 20200322096A1 · Sung et al. · 2020 [cited by applicant]
US 20200329470A1 · Liu · 2020 [cited by examiner]
US 20210019276A1 · Meiri et al. · 2021 [cited by applicant]
US 20210037409A1 · Thorsén · 2021 [cited by examiner]
US 20210051653A1 · Park · 2021 [cited by examiner]
US 20210114616A1 · Altman · 2021 [cited by examiner]
US 20210119725A1 · Yang · 2021 [cited by examiner]
US 20210176666A1 · Ayadurai et al. · 2021 [cited by applicant]
US 20210219110A1 · Kousaridas et al. · 2021 [cited by applicant]
US 20210234579A1 · Han · 2021 [cited by examiner]
US 20210266768A1 · Siripurapu · 2021 [cited by examiner]
US 20210289384A1 · Wang · 2021 [cited by examiner]
US 20210289388A1 · Huang · 2021 [cited by applicant]
US 20210351817A1 · Cordeiro · 2021 [cited by examiner]
US 20210399960A1 · Cunningham · 2021 [cited by examiner]
US 20220030625A1 · Yang et al. · 2022 [cited by applicant]
US 20220131951A1 · Ovadia · 2022 [cited by applicant]
US 20220210698A1 · Ly et al. · 2022 [cited by applicant]
US 20220353123A1 · Kim et al. · 2022 [cited by applicant]
US 20230180275A1 · Feng · 2023 [cited by examiner]