IP Library › Granted Patent US 11,012,908
Granted Patent B2
US 11,012,908 · App. 16/428,939 · Granted May 18, 2021

Systems and methods for dynamic channel bonding

Inventors: William Weiyeh Chow (Los Angeles, CA); Mark Lea Tsuie (Canoga Park, CA); Brian Alex Truong (Cerritos, CA)
Assignee: MOBOPHILES, INC.
H04W36/14H04L43/0852H04L43/0894H04L45/22H04L45/28H04W36/165H04W36/22H04W48/18
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,012,908
App. No.
16/428,939
Granted
May 18, 2021
Kind
B2
Abstract

A method for managing network traffic on a portable communication device including a processor, a memory, and a plurality of network interfaces configured to connect to a plurality of networks includes: processing network traffic of an application running on the processor via a first network of the plurality of networks, the first network being specified as a primary network by an operating system running on the processor; monitoring a plurality of network status information associated with the first network; detecting a problem of the first network when one or more parameters of the received network status information is outside of one or more threshold values; in response to detecting the problem in the first network, selecting a second network of the plurality of networks as the primary network; and processing the network traffic via the second network as the updated primary network.

Claims (50)

1. A method for managing network traffic on a portable communication device comprising a processor, a memory, and a plurality of network interfaces configured to connect to a plurality of networks, the method comprising:

intercepting, by a traffic manager running on the processor, network data to and from an application running on the processor;

determining, by the traffic manager, when the network data comprises an idempotent request for a server;

transmitting, by the traffic manager, the same idempotent request as received from the application to the server via the plurality of networks;

receiving, by the traffic manager, a response to the idempotent request from the server via a first network on the plurality of networks; and

selecting, by the traffic manager, the first network of the plurality of networks to use for receiving and transmitting additional network data associated with the idempotent request to and from the application.

2. The method of claim 1 , wherein the transmitting the idempotent request to the server via the plurality of networks comprises transmitting the idempotent request on a second network of the plurality of networks, and

wherein the method further comprises terminating the idempotent request on the second network.

3. The method of claim 1 , wherein the transmitting the idempotent request to the server via the plurality of networks comprises:

transmitting the idempotent request to the server via one network of the plurality of networks; and

transmitting the idempotent request to the server via one or more other networks of the plurality of networks in accordance with a delay.

4. The method of claim 3 , wherein the delay is shorter than an application-level timeout of the application running on the portable communication device.

5. The method of claim 3 , wherein the delay is set based on a typical response time to the idempotent request.

6. The method of claim 3 , wherein the idempotent request is associated with a network protocol, and

wherein the delay is set based on the network protocol associated with the idempotent request.

7. The method of claim 3 , wherein the delay is set based on a size of a response to the idempotent request.

8. The method of claim 3 , wherein the delay is set based on a network quality metric.

9. The method of claim 3 , wherein the plurality of networks are arranged in a preference ranking, and

wherein the one or more other networks are selected in accordance with the preference ranking.

10. The method of claim 9 , wherein each of the networks is associated with a different delay in accordance with the preference ranking.

11. The method of claim 9 , further comprising rearranging the plurality of networks in the preference ranking in accordance with one or more dynamic factors.

12. The method of claim 11 , wherein the one or more dynamic factors comprise network performance.

13. The method of claim 11 , wherein the one or more dynamic factors comprise network traffic cost.

14. The method of claim 1 , wherein the plurality of networks comprise a plurality of different types of networks.

15. The method of claim 14 , wherein the types of networks comprise one or more of: cellular, Bluetooth, and Wi-Fi networks.

16. A portable communication device comprising a processor, a memory, and a plurality of network interfaces configured to connect to a plurality of networks, the memory storing instructions that, when executed by the processor, cause the processor to manage network traffic of the portable communication device by:

intercepting, by a traffic manager running on the processor, network data to and from an application running on the processor;

determining, by the traffic manager, when the network data comprises an idempotent request for a server

transmitting, by the traffic manager, the same idempotent request as received from the application to the server via the plurality of networks;

receiving, by the traffic manager, a response to the idempotent request from the server via a first network on the plurality of networks; and

selecting, by the traffic manager, the first network of the plurality of networks to use for receiving and transmitting additional network data associated with the idempotent request to and from the application.

17. The portable communication device of claim 16 , wherein the transmitting the idempotent request to the server via the plurality of networks comprises transmitting the idempotent request on a second network of the plurality of networks, and

wherein the instructions further comprise instructions that cause the processor to terminate the idempotent request on the second network.

18. The portable communication device of claim 16 , wherein the transmitting the idempotent request to the server via the plurality of networks comprises:

transmitting the idempotent request to the server via one network of the plurality of networks; and

transmitting the idempotent request to the server via one or more other networks of the plurality of networks in accordance with a delay.

19. The portable communication device of claim 18 , wherein the delay is shorter than an application-level timeout of the application running on the portable communication device.

20. The portable communication device of claim 18 , wherein the delay is set based on a typical response time to the idempotent request.

21. The portable communication device of claim 18 , wherein the idempotent request is associated with a network protocol, and

wherein the delay is set based on the network protocol associated with the idempotent request.

22. The portable communication device of claim 18 , wherein the delay is set based on a size of a response to the idempotent request.

23. The portable communication device of claim 18 , wherein the delay is set based on a network quality metric.

24. The portable communication device of claim 18 , wherein the plurality of networks are arranged in a preference ranking, and

wherein the one or more other networks are selected in accordance with the preference ranking.

25. The portable communication device of claim 24 , wherein each of the networks is associated with a different delay in accordance with the preference ranking.

26. The portable communication device of claim 24 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to rearrange the plurality of networks in the preference ranking in accordance with one or more dynamic factors.

27. The portable communication device of claim 26 , wherein the one or more dynamic factors comprise network performance.

28. The portable communication device of claim 27 , wherein the one or more dynamic factors comprise network traffic cost.

29. The portable communication device of claim 16 , wherein the plurality of networks comprise a plurality of different types of networks.

30. The portable communication device of claim 29 , wherein the types of networks comprise one or more of: cellular, Bluetooth, and Wi-Fi networks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2019
From: CHOW, WILLIAM WEIYEH; TSUIE, MARK LEA; TRUONG, BRIAN ALEX
To: MOBOPHILES, INC., DBA MOBOLIZE
Reel/Frame 049346/0669 →
Continuity (2)
Provisional Application 62678810 · May 31, 2018
Related Publication 20190373526A1 · Dec 5, 2019