Method and systems for reducing network latency
AssigneePismo Labs Technology Limited
InventorWan Chun Leung
Life of this patent
Estimating the term…
Abstract
The present invention discloses methods and systems for reducing network latency. A first network device establishes a plurality of connections with a second network device. After that, determining non-congesting latency of each of the plurality of connections. Assigning a weighting to each of the plurality of connections. Decreasing the weighting of a connection when the performance of the connection deteriorated according to a first criteria. The first network device may perform weight decreasing again after a time interval. Last, sending data packets through the plurality of connections according to the weightings.
Claims20
A method carried out at a first network device, the method comprising:
- (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 one 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:
- when the respective non-congesting latency of each connection in the plurality of connections is determined at step (b), no data packet is transmitted or received through the plurality of connections;
- when the at least one weighting of the at least one connection is updated at step (d), the data packets are transmitted or received through the plurality of connections;
- 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.
A method carried out at a first network device, the method comprising:
- (a) determining a respective non-congesting latency of each wide area network (WAN) interface in a plurality of WAN interfaces by:
- (I) sending a respective latency estimation packet through each WAN interface in the plurality of WAN interfaces to a second network device;
- and
- (II) receiving a respective acknowledgment packet through each WAN interface in the plurality of WAN interfaces from the second network device;
- (b) assigning a respective weighting of each WAN interface in the plurality of WAN interfaces according to the respective non-congested latency determined for each WAN interface in the plurality of WAN interfaces;
- (c) updating, based on performance of at least one WAN interface in the plurality of WAN interfaces, at least one weighting of the at least one WAN interface:
- (I) when the performance of the at least one WAN interface is decreased, decreasing the at least one weighting of the at least one WAN interface;
- and
- (II) when the performance of the at least one WAN interface is increased, increasing the at least one weighting of the least WAN interface;
- (d) when the performance of the at least one WAN interface is deteriorated according to a criteria, dropping all data packets from at least one queue of the at least one WAN interface;
- (e) sending, based on:
- (i) the respective weighting of each WAN interface in the plurality of WAN interfaces, (ii) the at least one weighting of the at least one WAN interface updated at step (c), and (iii) a sum of all weightings of the plurality of WAN interfaces, all undropped data packets through the plurality of WAN interfaces;
- wherein:
- when the respective non-congesting latency of each WAN interface in the plurality of WAN interfaces is determined at step (b), no data packet is transmitted or received through the plurality of WAN interfaces;
- when the at least one weighting of the at least one WAN interfaces is updated at step (c), the data packets are transmitted or received through the plurality of WAN interfaces;
- step (b) is performed by estimating a respective latency of each WAN interface in the plurality of WAN interfaces;
- step (c) is performed regularly after different time intervals or a same time interval;
- and
- the data packets to be dropped from the at least one queue of the at least one WAN interface are selected based on a selection policy.
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.
Dependencies are inferred from the claim text.