Patent ID: 9585175
Date: 2017-02-28
CPC Classifications: H04L,H04W,Y02D

Claim:
1. A method for transmitting data packets by a first communications router to a second communications router, wherein the first communications router and second communication router are multi wide area network (WAN) routers and support aggregating the bandwidth of multiple Internet connections, comprising: establishing an aggregated end-to-end connection with the second communications router through Internet, wherein the aggregated end-to-end connection is a virtual private network (VPN) tunnel; wherein the aggregated end-to-end connection comprising a plurality of established end-to-end connections; classifying, the plurality of established end-to-end connections into a first group and at least one non-first group of established end-to-end connection(s), wherein the first group of established end-to-end connection(s) satisfy all of one or more conditions and wherein the at least one non-first group of established end-to-end connection(s) do not satisfy all of the one or more conditions; wherein when there is more than one condition, weights are assigned to the more than one condition, wherein conditions with higher weights have higher priority than conditions with lower weights when classifying the plurality of established end-to-end connections; wherein the first group of established end-to-end connection(s) comprises a first established end-to-end connection and the at least one non-first group of established end-to-end connection(s) comprises a second established end-to-end connection; wherein the one or more conditions are selected from a group consisting of service provider, geographical location, time, usage price, security, user identity, Internet protocol address range, communication technology, and device; transmitting data packets through the aggregated end-to-end connection by transmitting the data packets through the first group of established end-to-end connection(s) and the at least one non-first group of established end-to-end connection(s), wherein the first group of established end-to-end connection(s) are preferred for transmitting the data packets; determining a probability of the first established end-to-end connection not being able to remain in the first group of established end-to-end connections; transmitting warm-up packets through the second established end-to-end connection when the probability reaches a predefined probability threshold; removing the first established end-to-end connection from the first group of established end-to-end connections when the first established end-to-end connection stops satisfying the one or more conditions; stopping to transmit data packets through the first established end-to-end connection; transmitting maintenance packets, health check packets or management packets through the first established end-to-end connection when the first established end-to-end connection is not being used for transmitting data packets; reclassifying the plurality of end-to-end connections periodically by determining periodically whether the plurality of network interfaces satisfy conditions of the first group of conditions.