Agile network protocol for secure communications with assured system availability
First Claim
1. A method of transmitting data packets, the method comprising the steps of:
- (1) assigning a weight value to each of a plurality of transmission paths, wherein each respective weight value represents the relative number of packets that a respective transmission path will transmit;
(2) for each data packet that is to be transmitted from a first computer to a second computer, selecting one of the plurality of transmission paths on the basis of each respective transmission path'"'"'s assigned weight value;
(3) measuring a transmission quality for each of the plurality of transmission paths; and
(4) adjusting downwardly to a non-zero value the assigned weight value for a transmission path for which the transmission quality has declined.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems allowing a plurality of computer nodes to communicate using weighted transmission paths are provided. A load balancer distributes packets across weighted transmission paths according to transmission path quality, which is monitored and updated from time to time. As transmission quality on a specific transmission path decreases, the weight assigned to that transmission path is reduced. Similarly, weights may be increased if transmission quality improves. The weights assigned to various transmission paths may correspond to a relative number of packets to be transmitted on each respective transmission path. The transmission path for each packet can be selected based on the weights of the various transmission paths. Using weights based on transmission quality, transmission paths with higher transmission quality are used more often than transmission paths with lower transmission quality, resulting in more efficient communications.
216 Citations
27 Claims
-
1. A method of transmitting data packets, the method comprising the steps of:
-
(1) assigning a weight value to each of a plurality of transmission paths, wherein each respective weight value represents the relative number of packets that a respective transmission path will transmit;
(2) for each data packet that is to be transmitted from a first computer to a second computer, selecting one of the plurality of transmission paths on the basis of each respective transmission path'"'"'s assigned weight value;
(3) measuring a transmission quality for each of the plurality of transmission paths; and
(4) adjusting downwardly to a non-zero value the assigned weight value for a transmission path for which the transmission quality has declined. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A first computer that transmits data packets to a second computer over a plurality of separate transmission paths, wherein the first computer performs the steps of:
-
(1) assigning a weight value to each of the plurality of transmission paths, wherein each respective weight value represents the relative number of packets that a respective transmission path will transmit;
(2) for each data packet that is to be transmitted to the second computer, selecting one of the plurality of transmission paths on the basis of each respective transmission path'"'"'s assigned weight value;
(3) measuring the transmission quality for each of the plurality of transmission paths; and
(4) adjusting downwardly to a non-zero value the assigned weight value for a transmission path for which the transmission quality has declined. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification