Patent ID: 11895031
Assignee: PISMO LABS TECHNOLOGY LIMITED
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 11:
12. A first network device, comprising:
a secondary storage;
a main memory;
at least one processing unit;
at least two network interfaces; and
at least one non-transitory computer readable storage medium;
wherein the non-transitory computer readable storage medium storing program instructions executable by the at least one processing unit for:
(a) establishing a plurality of connections with a second network device;
(b) determining a respective non-congesting latency of each connection in the plurality of connections by:
(i) sending a respective latency estimation packet through each connection in the plurality of connections to the second network device; and
(ii) receiving a respective acknowledgment packet through each connection in the plurality of connections from the second network device;

(c) assigning a respective weighting to each connection in the plurality of connections according to the respective non-congested latency determined for each connection in the plurality of connections;
(d) updating, based on performance of at least one connection in the plurality of connections, at least one weighting of the at least one connection:
(i) when the performance of the at least connection is decreased, decreasing the at least one weighting of the at least one connection; and
(ii) when the performance of the at least one connection is increased, increasing the at least one weighting of the least one connection;

(e) sending, based on: (i) the respective weighting of each connection in the plurality of connection, (ii) the at least one weighting of the least one connection updated at step (d), and (iii) a sum of all weightings of the plurality of connections, data packets through the plurality of connections;
wherein;
step (b) is performed by estimating a respective latency of each connection in the plurality of connections; and
step (d) is performed regularly after different time intervals or a same time interval.