IP Library Granted Patent US 11,563,788
Granted Patent B2
US 11,563,788 · App. 17/336,911 · Granted Jan 24, 2023

Multipath data streaming over multiple networks

Inventors: Bogdan Frusina (Kitchener, CA); Akos Horvath (Kitchener, CA); David Pui Keung Sze (Waterloo, CA); Barry Gilhuly (Waterloo, CA); Cameron Kenneth Smith (Oakville, CA); Joseph Robert Wayne Mallet (Kitchener, CA); Robert Flatt (Kitchener, CA)
Assignee: DEJERO LABS INC.
H04L65/611H04L5/003H04L5/0053H04L5/0058H04L65/613H04N21/2343H04N21/23406H04N21/44004H04N21/4622H04N21/6131H04N21/631H04N21/6373H04N21/6377H04N21/658
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,563,788
App. No.
17/336,911
Granted
Jan 24, 2023
Kind
B2
Abstract

Embodiments described herein relate to real-time streaming of large quantities of time critical data over multiple distinct networks from a communications device. More specifically, embodiments described herein may address challenges and problems of maintaining consistent data reception quality when faced with the anomalies of a moving sender that is sending data using a relatively unstable method. This may be achieved by converting single source data into multiple data streams, placing them in transport buffers and storing them for forwarding.

Claims (30)

1. A system for communicating data over a plurality of communication links comprising:

a plurality of communication interfaces configured to communicate a plurality of data packets representing a data stream to the plurality of communication links to aggregate throughput across the plurality of communication links, wherein the plurality of communication interfaces are configured to provide one or more connectivity conditions to the computer processor regarding the plurality of communication links; and

a computer processor operating in conjunction with computer memory, configured to process the one or more connectivity conditions to: for a data packet of the plurality of data packets and prior to a communication of the data packet, withdraw the data packet from a transport buffer of one or more transport buffers and select a communication interface of the plurality of communication interfaces for the communication of the data packet over at least one of the plurality of communication links.

2. The system of claim 1 , wherein the computer processor is configured to receive the plurality of data packets from the plurality of communication links for reassembly.

3. The system of claim 2 , wherein the computer processor is configured to provide receiver feedback regarding additional connectivity conditions for the plurality of communication links, and wherein the computer processor is further configured to process the receiver feedback to select a communication interface of the plurality of communication interfaces for the communication of the data packet.

4. The system of claim 1 , wherein the computer processor is configured to match an input rate for the plurality of data packets with a withdraw rate for the plurality of data packets at a transport buffer of the multiple transport buffers using the connectivity conditions.

5. The system of claim 1 , wherein the one or more connectivity conditions comprises one-way network latency, and wherein the one-way network latency comprises a delay between when a data packet is communicated and when the data packet is received.

6. The system of claim 1 , wherein at least one communication interfaces of the plurality of communication interfaces concurrently maintains multiple network connections to the plurality of communication links.

7. The system of claim 1 , wherein the computer processor is configured, using the received connectivity conditions, to dynamically and selectively redirect a data packet of the plurality of data packets from one communication interface to another communication interface of the plurality of communication interfaces, and from one available network to another available network of the plurality of communication links, whereby data throughput to a destination receiver is maintained.

8. The system of claim 1 , wherein the connectivity conditions comprise information relating to:

an error rate for each communication interface of the plurality of communication interfaces based on the assembled packets that are not delivered at the destination for re-assembly; and

a capacity condition for each communication interface of the plurality of communication interfaces based on the assembled packets that are delivered at the destination for re-assembly.

9. The system of claim 1 , wherein the computer processor is configured to control:

delivery of each data packet of the plurality of data packets from a transport buffer of the multiple transport buffers to a corresponding communication interface of the plurality of communication interfaces; and

communication, for re-assembly at a destination, of each data packet of the plurality of data packets from the plurality of communication interfaces for communication over one of the plurality of communication links.

10. The system of claim 1 , wherein the computer processor is configured to use the received connectivity conditions to control at least one of the quantity and the quality of the captured continuous real-time stream.

11. The system of claim 1 , wherein the computer processor is further configured to route redundant packets to at least one communication interface of the plurality of communication interfaces for increased communication reliability.

12. The system of claim 1 , wherein the one or more connectivity conditions are selected from the group consisting of: one-way network latency, glass-to-glass latency, communicate collisions at one or more said simultaneously available different communication links; the number of the modules in the communication with each said simultaneously available different network; throughput requirements of the plurality of modules for the communication on each said simultaneously available different network; coverage drop-off indicators; time between successful communication attempts; status values; Received Signal Strength Indicator (RSSI); packet retransmissions; average packet loss per link; sender bandwidth; destination bandwidth; current available bandwidth; and combinations thereof.

13. The system of claim 1 , wherein the computer processor is further configured, using the one or more connectivity conditions, to control a communication rate of data packets to a corresponding communication interface module of the plurality of communication interface modules from the multiple transport buffers.

14. The system of claim 1 , wherein at least one of the communication interfaces of the plurality of communication interfaces is configured to apply congestion control to establish and maintain a communication rate of data packets.

15. The system of claim 14 , wherein the at least one of the communication interfaces of the plurality of communication interfaces is configured to apply congestion control by determining a congestion avoidance threshold.

16. The system of claim 15 , wherein an initial value of the congestion avoidance threshold is determined as a function of a measured communication rate.

17. The system of claim 16 , wherein a target communication rate is determined based on at least one of the congestion avoidance threshold and a measured communication latency.

18. The system of claim 16 , wherein the congestion avoidance threshold is increased when a measured communication latency is within a pre-defined range.

19. A method for communicating data over a plurality of communication links, the method comprising:

communicating a plurality of data packets representing a data stream to the plurality of communication links to aggregate throughput across the plurality of communication links, wherein the plurality of communication interfaces are configured to provide one or more connectivity conditions to the computer processor regarding the plurality of communication links; and

processing the one or more connectivity conditions to: for a data packet of the plurality of data packets and prior to a communication of the data packet, (i) withdraw the data packet from a transport buffer of one or more transport buffers and (ii) select a communication interface of the plurality of communication interfaces for the communication of the data packet over at least one of the plurality of communication links.

20. A non-transitory computer readable medium storing machine-interpretable instructions, which when executed by a processor, cause the processor to perform a method for communicating data over a plurality of communication links, the method comprising:

communicating a plurality of data packets representing a data stream to the plurality of communication links to aggregate throughput across the plurality of communication links, wherein the plurality of communication interfaces are configured to provide one or more connectivity conditions to the computer processor regarding the plurality of communication links; and

processing the one or more connectivity conditions to: for a data packet of the plurality of data packets and prior to a communication of the data packet, (i) withdraw the data packet from a transport buffer of one or more transport buffers and (ii) select a communication interface of the plurality of communication interfaces for the communication of the data packet over at least one of the plurality of communication links.

Assignments (3)
SECURITY INTEREST Recorded Jan 6, 2026
From: DEJERO LABS INC.
To: MULTIPLIER GROWTH PARTNERS, LP, AS ADMINISTRATIVE AGENT
Reel/Frame 074213/0282 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2025
From: RUNWAY GROWTH FINANCE CORP.
To: DEJERO LABS INC.
Reel/Frame 072980/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: FRUSINA, BOGDAN; HORVATH, AKOS; SZE, DAVID PUI KEUNG; GILHULY, BARRY; SMITH, CAMERON KENNETH; MALLET, JOSEPH ROBERT WAYNE; FLATT, ROBERT
To: DEJERO LABS INC.
Reel/Frame 056867/0010 →