Systems and methods for data transmission across unreliable connections
An improved data packet communications approach is described that is adapted for communications across unreliable connections. In particular, the approach can be implemented as systems and methods for a networked router device configured to monitor communication characteristics and to group the connections into various tiers based on their communication reliability data. When a new packet is to be communicated, the grouped connections are utilized in aggregate to meet a target transmission reliability probability (e.g., target value or a band of values).
1 . A network router computing device, the device comprising:
a processor coupled to computer memory and data storage, the processor configured to:
receive one or more data sets indicative of monitored network communications characteristics;
maintain, in a data structure stored on the data storage, a tiered representation of a plurality of connections segregated into a plurality of groups, each group established based at least on a minimum probability associated with a successful communication of a data packet across one or more connections of the plurality of connections residing within the group; and
control a plurality of communications of a data packet such that the data packet is sent at least once across one or more connections of the plurality of connections such that, in aggregate, the plurality of communications cause the transmission of the data packet to satisfy a target probability threshold;
wherein the plurality of groups are organized into a plurality of corresponding tiers, each tier representing a number of times the data packet would have to be transmitted across any corresponding connections of the tier to achieve the target probability threshold; and
wherein the plurality of communications include re-transmissions across connections of a tier of the plurality of tiers, wherein a number of re-transmissions are based on the number of times the data packet would have to be transmitted across corresponding connections of the tier to achieve the target probability threshold for the corresponding tier.
2 . The network router computing device of claim 1 , wherein the re-transmissions are conducted across different connections of the tier.
3 . The network router computing device of claim 1 , wherein the plurality of communications includes re-transmissions across connections of different tiers of the plurality of tiers.
4 . The network router computing device of claim 1 , wherein an additional group is an indeterminate group established for connections that do not have sufficient data for assessing reliability, or an additional group is an unreliable group established for connections that are indicated as below a threshold reliability for data communication.
5 . The network router computing device of claim 4 , wherein membership of the indeterminate group or the unreliable group is periodically modified to classify connections into the plurality of groups.
6 . The network router computing device of claim 4 , wherein connections of the plurality of groups is periodically monitored to shift membership into the indeterminate group or the unreliable group where connection data is stale or indicative of increased unreliability.
7 . The network router computing device of claim 4 , wherein the indeterminate group is utilized for the communications of a data packet using assigned reliability probabilities.
8 . The network router computing device of claim 7 , wherein the assigned reliability probabilities are periodically adjusted based on the monitored network communications characteristics.
9 . The network router computing device of claim 4 , wherein the connections for which a number of transmits or retransmits were required were greater than a threshold are transferred into the indeterminate group or the unreliable group.
10 . The network router computing device of claim 1 , wherein the processor is configured to maintain one or more state machines for classifying each connection of the plurality of connections.
11 . A method for network communications, the method comprising:
receiving one or more data sets indicative of monitored network communications characteristics;
maintaining, in a data structure stored on the data storage, a tiered representation of a plurality of connections segregated into a plurality of groups, each group established based at least on a minimum probability associated with a successful communication of a data packet across one or more connections of the plurality of connections residing within the group; and
controlling a plurality of communications of a data packet such that the data packet is sent at least once across one or more connections of the plurality of connections such that, in aggregate, the plurality of communications cause the transmission of the data packet to satisfy a target probability threshold;
wherein the plurality of groups are organized into a plurality of corresponding tiers, each tier representing a number of times the data packet would have to be transmitted across any corresponding connections of the tier to achieve the target probability threshold; and
wherein the plurality of communications include re-transmissions across connections of a tier of the plurality of tiers, wherein a number of re-transmissions are based on the number of times the data packet would have to be transmitted across corresponding connections of the tier to achieve the target probability threshold for the corresponding tier.
12 . The method of claim 11 , wherein the re-transmissions are conducted across different connections of the tier.
13 . The method of claim 11 , wherein the plurality of communications includes re-transmissions across connections of different tiers of the plurality of tiers.
14 . The method of claim 11 , wherein an additional group is an indeterminate group established for connections that do not have sufficient data for assessing reliability, or an additional group is an unreliable group established for connections that are indicated as below a threshold reliability for data communication.
15 . The method of claim 14 , wherein the method further comprises periodically transmitting data packets across connections in the indeterminate group or the unreliable group, and wherein the periodic transmission of the data packets incorporates a backoff timer to reduce an overall system inefficiency.
16 . The method of claim 14 , wherein membership of the indeterminate group or the unreliable group is periodically modified to classify connections into the plurality of groups.
17 . The method of claim 14 , wherein connections of the plurality of groups is periodically monitored to shift membership into the indeterminate group or the unreliable group where connection data is stale or indicative of increased unreliability.
18 . The method of claim 14 , wherein the indeterminate group is utilized for the communications of a data packet using assigned reliability probabilities.
19 . The method of claim 18 , wherein the assigned reliability probabilities are periodically adjusted based on the monitored network communications characteristics.
20 . The method of claim 14 , wherein the connections for which a number of transmits or retransmits were required were greater than a threshold are transferred into the indeterminate group or the unreliable group.
21 . A non-transitory computer readable medium storing non-transitory instructions, which when executed by a processor, cause the processor to perform a method comprising:
receiving one or more data sets indicative of monitored network communications characteristics;
maintaining, in a data structure stored on the data storage, a tiered representation of a plurality of connections segregated into a plurality of groups, each group established based at least on a minimum probability associated with a successful communication of a data packet across one or more connections of the plurality of connections residing within the group; and
controlling a plurality of communications of a data packet such that the data packet is sent at least once across one or more connections of the plurality of connections such that, in aggregate, the plurality of communications cause the transmission of the data packet to satisfy a target probability threshold;
wherein the plurality of groups are organized into a plurality of corresponding tiers, each tier representing a number of times the data packet would have to be transmitted across any corresponding connections of the tier to achieve the target probability threshold; and
wherein the plurality of communications include re-transmissions across connections of a tier of the plurality of tiers, wherein a number of re-transmissions are based on the number of times the data packet would have to be transmitted across corresponding connections of the tier to achieve the target probability threshold for the corresponding tier.