Network bandwidth detection and distribution
First Claim
1. In a node configured to communicate with one or more other nodes over a network, a method for distributing available bandwidth for network traffic among two or more distinct channels of communication within a single application running on the node, the method comprising:
- a) detecting an available bandwidth for communication between the first node and a second node;
b) determining a distribution for the available bandwidth among the two or more communication channels;
c) adjusting a sending rate for data sent from the first node to the second node over one or more of the two or more communication channels in response to a detected change in the available bandwidth; and
d) determining a maximum transmission unit (MTU) size in a network path between the first and second nodes byi) sending a plurality of test packets of varying transmission unit (TU) size from the first host to the second host, wherein a “
do not fragment”
(DF) flag for the test packets is not set;
ii) determining whether one or more of the test packets were received by the second hose;
iii) calculating an estimated path MTU size for a network path between the first and second hosts based on one or more patterns of receipt of the test packets by the second host, wherein the path MTU size is determined differently if the network path is bit-rate limited than if the network path is packet rate limited; and
iv) sending one or more message packets of a size less than or equal to the estimated path MTU size over the network path.
4 Assignments
0 Petitions
Accused Products
Abstract
In a node configured to communicate with one or more other nodes over a network, available bandwidth for network traffic may be distributed among two or more distinct channels of communication within a single application running on the node. An available bandwidth may be detected for communication between the first node and a second node. A distribution may be determined for the available bandwidth among the two or more communication channels. A sending rate may be adjusted for data sent from the first node to the second node over one or more of the two or more communication channels in response to a detected change in the available bandwidth.
267 Citations
17 Claims
-
1. In a node configured to communicate with one or more other nodes over a network, a method for distributing available bandwidth for network traffic among two or more distinct channels of communication within a single application running on the node, the method comprising:
-
a) detecting an available bandwidth for communication between the first node and a second node; b) determining a distribution for the available bandwidth among the two or more communication channels; c) adjusting a sending rate for data sent from the first node to the second node over one or more of the two or more communication channels in response to a detected change in the available bandwidth; and d) determining a maximum transmission unit (MTU) size in a network path between the first and second nodes by i) sending a plurality of test packets of varying transmission unit (TU) size from the first host to the second host, wherein a “
do not fragment”
(DF) flag for the test packets is not set;ii) determining whether one or more of the test packets were received by the second hose; iii) calculating an estimated path MTU size for a network path between the first and second hosts based on one or more patterns of receipt of the test packets by the second host, wherein the path MTU size is determined differently if the network path is bit-rate limited than if the network path is packet rate limited; and iv) sending one or more message packets of a size less than or equal to the estimated path MTU size over the network path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A node configured to communicate with one or more other nodes over a network and distribute available bandwidth for network traffic among two or more distinct channels of communication within a single application running on the node, the node comprising:
-
a) means for detecting an available bandwidth for communication between the first node and a second node; b) means for determining a distribution for the available among the two or more communication channels; c) means for adjusting a sending rate for data sent from the first node to the second node over one or more of the two or more communication channels in response to a detected change in the available bandwidth; and d) means for determining a maximum transmission unit (MTU) size in a network path between the first and second nodes by i) sending a plurality of test packets of varying transmission unit (TU) size from the first host to the second host, wherein a “
do not fragment”
(DF) flag for the test packets is not set;ii) determining whether one or more of the test packets were received by the second host; iii) calculating an estimated path MTU size for a network path between the first and second hosts based on one or more patterns of receipt of the test packets by the second host, wherein the path MTU size is determined differently if the network path is bit-rate limited than if the network path is packet rate limited; and iv) sending one or more message packets of a size less than or equal to the estimated path MTU size over the network path.
-
-
13. A node configured to communicate with one or more other nodes over a network and distribute available bandwidth for network traffic among two or more distinct channels of communication within a single application running on the node, the node comprising:
-
a) a processor; and b) a set of computer executable instructions operably to implement a bandwidth detection module and a bandwidth distribution module on the processor, wherein the bandwidth module is configured to; i) determine an available bandwidth for communication between the first node and a second node; and ii) adjust a sending rate for data sent from the first node to the second node over one or more of the two or more communication channels in response to a detected change in the available bandwidth; and iii) determine a maximum transmission unit (MTU) size in a network path between the first and second nodes by 1) sending a plurality of test packets of varying transmission unit (TU) size from the first host to the second host, wherein a “
do not fragment”
(DF) flag for the test packets is not set;2) determining whether one or more test packets were received by the second host; 3) calculating an estimated path MTU size for a network path between the first and second hosts based on one or more patterns of receipt of the test packets by the second host, wherein the path MTU size is determined differently if the network path is bit-rate limited than if the network path is packet rate limited; and 4) sending one or more message packets of a size less than or equal to the estimated path MTU size over the network path, wherein the bandwidth distribution module is configured to manage a distribution for the available bandwidth among the two or more communication channels. - View Dependent Claims (14, 15, 16, 17)
-
Specification