Packet transmission system and method
US-2020236043-A1 · Jul 23, 2020 · US
US12598115B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12598115-B2 |
| Application number | US-202218273237-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 19, 2022 |
| Priority date | Jan 19, 2021 |
| Publication date | Apr 7, 2026 |
| Grant date | Apr 7, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1 . 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 such that each network of the plurality of networks can be ordered in an order sequence based on the network characteristics; monitor whether a trigger event has occurred within the plurality of network connections, the trigger event including at least one of new data packets in an input queue of the plurality of connections, an acknowledgement that one or more previous data packets have been received at a destination device, and a negative acknowledgement that the one or more previous data packets have been received at the destination device; upon determining that the trigger event has occurred: establish the 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; measure modified monitored network characteristics that include system overhead processing time, and utilize either the original network characteristics or the modified network characteristics to determine at least one of a bandwidth delay product (BDP) and a congestion window; order the plurality of networks in the order sequence based on the score values for each of the plurality of networks and the at least one of the estimated transmission rate of a bottleneck link, the estimated round-trip time, the estimated round-trip propagation time, the 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, the duration is adjusted based on at least one of packet loss and changes in the round-trip time, 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. 2 . The packet communication controller of claim 1 , wherein the packet communication controller is a push scheduler, and wherein the processor, to determine whether monitored network characteristics of the plurality of networks are suitable, is further configured to: measure a transmission capacity of each of the plurality of network connections; and assign the one or more data packets while there is available transmission capacity of one or more of the plurality of network connections. 3 . The packet communication controller of claim 1 , wherein the processor is further configured to assign the one or more data packets when sensing new data packets in the input queue or when receiving an acknowledgement that one or more previous data packets have been received at the destination device. 4 . The packet communication controller of claim 1 , wherein the estimating of the at least one of a transmission rate of a bottleneck link, a round-trip time, and a round-trip propagation time includes estimation of plurality of score values for at least two of the transmission rate of the bottleneck link, the round-trip time, and the round-trip propagation time, and the order sequence is based on a comparison of the score values corresponding to a pre-defined most important characteristic, and if the score values corresponding to the pre-defined most important characteristic are equal, proceeding to a pre-defined next most important characteristic for comparison. 5 . The packet communication controller of claim 4 , wherein the processor is configured to conduct a flow classification of the unassigned data packets, and based on the flow classification, the pre-defined most important characteristic and the pre-defined next most important characteristic are identified. 6 . The packet communication controller of claim 1 , the processor is further configured to: estimate a Mathis factor data value indicative of a relative upper bound for throughput achievable on the network connection of the plurality of network connections, given the network connection's round-trip time and packet loss; compare the estimated Mathis factor data value to a reference range of Mathis factor data values; and wherein the ordered sequence of the plurality of networks is further based on the comparison of the estimated Mathis factor data value against the reference range. 7 . The packet communication controller of claim 1 , wherein the processor is configured to conduct a flow classification of the unassigned data packets, and based on the flow classification, the pre-defined most important characteristic and the pre-defined next most important characteristic are identified. 8 . The packet communication controller of claim 1 , wherein, to order the plurality of networks, the processor is further configured to: estimate a capacity factor indicative of efficient transmission defined at least in part by dividing the reference range of transmission rates of the bottleneck link by the reference range of round-trip propagation times; compare the estimated capacity factor to a reference range of capacity factors; and order of the plurality of networks based on the comparison of the capacity factor. 9 . The packet communication controller of claim 1 , wherein the processor is configured to: maintain a nominal time for each of the plurality of networks having available suitable monitored characteristics; append the maintained nominal time to each of the one or more data packets during assigning the one or more data packets to the one or more output queues, and schedule data packets for pushing out of the respective output queue based on the nominal time associated with the respective data packets. 10 . The packet communication controller of claim 1 , wherein each of the one or more data packets is associated with one or more data flows, and the processor is configured to: assign the one or more data packets by: estimating a data packet classi
Network utilisation, e.g. volume of load or congestion level · CPC title
Delays · CPC title
relying on flow classification, e.g. using integrated services [IntServ] · CPC title
for supporting different services, e.g. a differentiated services [DiffServ] type of service · CPC title
using multiple queues, one for each individual QoS, connection, flow or priority · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.