Systems and methods for push-based data communications
AssigneeDejero Labs Inc.
InventorsDavid Pui Keung SZE, Imad AZZAM, George Richard JONES
Life of this patent
Estimating the term…
Abstract
A data packet communication system is described, which can be implemented as a physical push based data packet communication device, such as a router, a gateway, or a controller circuit coupled to a router or a gateway adapted for controlling data packet communications. The data packet communication system is adapted to evaluate network capacity of each of the multiple networks at the time of a monitored communication event and assigns data packets accordingly.
Claims20
A packet communication controller coupled to a plurality of network connections, each having a corresponding output queue from a plurality of output queues, the packet communication controller including a processor configured to:
- monitor and maintain, in a data object, network characteristics associated with each network of the plurality of networks;
- monitor whether a trigger event has occurred within the plurality of network connections;
- upon determining that the trigger event has occurred:
- establish an order sequence for network connections of a selected set of network connections based on the network characteristics;
- assign one or more data packets of unassigned data packets of the input queue to one or more corresponding output queues of the plurality of networks by assigning the one or more data packets to successive available network connections based on availability and the order sequence;
- update the data object storing the monitored network characteristics of the corresponding plurality of networks based on the one or more data packets which have been assigned to the plurality of network connections;
- assess the updated data object to determine that a current congestion window of the network connections has not been consumed by the assigned one or more data packets;
- and
- communicate the assigned data packets from the plurality of output queues to the destination device;
- wherein:
- for each of the plurality of network connections, measure the monitored network characteristics by:
- estimating at least one of a transmission rate of a bottleneck link, a round-trip time, and a round-trip propagation time;
- and
- comparing the at least one of the estimated round-trip propagation time, the estimated round-trip time, and the estimated transmission rate to respective reference ranges of at least one of round-trip propagation times, reference ranges of round-trip times, and reference ranges of transmission to establish a score value for each of the at least one of the estimated round-trip propagation time, the estimated round-trip time, and the estimated transmission rate under consideration;
- order the plurality of networks in the order sequence based on at least the score values for each of the plurality of networks, a bandwidth delay product (BDP) and the congestion window;
- wherein the measured monitored network characteristics are measured across a dynamically adjusted sliding window history corresponding to a duration of one or more corresponding sliding window histories, where dynamically adjusting the duration of one or more corresponding sliding window histories includes shortening the duration of the one or more corresponding sliding window histories when a packet loss event or an increase in round-trip time is monitored.
A method for packet communications using a packet communication controller coupled to a plurality of network connections, each having a corresponding output queue from a plurality of output queues, the method comprising:
- monitoring and maintaining, in a data object, network characteristics associated with each network of the plurality of networks;
- monitoring whether a trigger event has occurred within the plurality of network connections;
- upon determining that the trigger event has occurred:
- establishing an order sequence for network connections of a selected set of network connections based on the network characteristics;
- assigning one or more data packets of unassigned data packets of the input queue to one or more corresponding output queues of the plurality of networks by assigning the one or more data packets to successive available network connections based on availability and the order sequence;
- updating the data object storing the monitored network characteristics of the corresponding plurality of networks based on the one or more data packets which have been assigned to the plurality of network connections;
- assess the updated data object to determine that a current congestion window of the network connections has not been consumed by the assigned one or more data packets;
- and
- communicating the assigned data packets from the plurality of output queues to the destination device;
- wherein:
- for each of the plurality of network connections, measure the monitored network characteristics by:
- estimating at least one of a transmission rate of a bottleneck link, a round-trip time, and a round-trip propagation time;
- and
- comparing the at least one of estimated round-trip propagation time, the estimated round-trip time, and the estimated transmission rate to, respective reference ranges of at least one of round-trip propagation times, reference ranges of round-trip times, and reference ranges of transmission to establish a score value for each of the at least one of estimated round-trip propagation time, the estimated round-trip time, and the estimated transmission rate under consideration;
- order the plurality of networks in the order sequence based on at least the score values for each of the plurality of networks, a bandwidth delay product (BDP), and the congestion window;
- and
- wherein the measured monitored network characteristics are measured across a dynamically adjusted sliding window history corresponding to a duration of one or more corresponding sliding window histories, where dynamically adjusting the duration of one or more corresponding sliding window histories includes shortening the duration of the one or more corresponding sliding window histories when a packet loss event or an increase in round-trip time is monitored.
A non-transitory computer readable medium storing machine interpretable instructions, which when executed by a processor, cause the processor to perform a method for packet communications using a packet communication controller coupled to a plurality of network connections, each having a corresponding output queue from a plurality of output queues, the method comprising:
- monitoring and maintaining, in a data object, network characteristics associated with each network of the plurality of networks;
- monitoring whether a trigger event has occurred within the plurality of network connections;
- upon determining that the trigger event has occurred:
- establishing an order sequence for network connections of a selected set of network connections based on the network characteristics;
- assigning one or more data packets of unassigned data packets of the input queue to one or more corresponding output queues of the plurality of networks by assigning the one or more data packets to successive available network connections based on availability and the order sequence;
- updating the data object storing the monitored network characteristics of the corresponding plurality of networks based on the one or more data packets which have been assigned to the plurality of network connections;
- assess the updated data object to determine that a current congestion window of the network connections has not been consumed by the assigned one or more data packets;
- and
- communicating the assigned data packets from the plurality of output queues to the destination device;
- wherein:
- for each of the plurality of network connections, measure the monitored network characteristics by:
- estimating at least one of a transmission rate of a bottleneck link, a round-trip time, and a round-trip propagation time;
- and
- comparing the at least one of the estimated round-trip propagation time, the estimated round-trip time, and the estimated transmission rate to, respective reference ranges of at least one of round-trip propagation times, reference ranges of round-trip times, and reference ranges of transmission to establish a score value for each of the at least one of estimated round-trip propagation time, the estimated round-trip time, and the estimated transmission rate under consideration;
- order the plurality of networks in the order sequence based on at least the score values for each of the plurality of networks, a bandwidth delay product (BDP) and the congestion window;
- and
- wherein the measured monitored network characteristics are measured across a dynamically adjusted sliding window history corresponding to a duration of one or more corresponding sliding window histories, where dynamically adjusting the duration of one or more corresponding sliding window histories includes shortening the duration of the one or more corresponding sliding window histories when a packet loss event or an increase in round-trip time is monitored.
Dependencies are inferred from the claim text.