Dynamic network load balancing using roundtrip heuristic
First Claim
1. At least one computer-readable media having computer-executable instructions, which when executed perform steps, comprising:
- determining a relative load between first and second servers of a cluster based upon a first time value that corresponds to how much time is taken by the first server to handle a packet set comprising at least one packet, and a second time value corresponding to how much time is taken by the second server to handle a packet set comprising at least one packet; and
transferring at least some load between the first server and second server based upon the relative load.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a technology by which a relative load of network traffic handling is determined between servers of a cluster, based upon time values that correspond to the time taken by each server to handle a packet. Load may then be transferred between the servers based upon the relative load, for example by having a less-loaded server take some of the responsibility for processing incoming traffic from a more-loaded server. For example, the processing time of a server may be determined by when a receiving server receives a request packet, and when that server sends a return packet. A round trip time for a request and return communication may also be established. A logical tree of nodes representing the servers may be constructed to select pairs of servers for balancing with one another, with the selection algorithm operating recursively, in parallel, and/or repeatedly, until the cluster is balanced.
136 Citations
20 Claims
-
1. At least one computer-readable media having computer-executable instructions, which when executed perform steps, comprising:
-
determining a relative load between first and second servers of a cluster based upon a first time value that corresponds to how much time is taken by the first server to handle a packet set comprising at least one packet, and a second time value corresponding to how much time is taken by the second server to handle a packet set comprising at least one packet; and transferring at least some load between the first server and second server based upon the relative load. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a cluster of servers, a method comprising:
-
measuring a first time for a first server to handle a packet set comprising at least one packet; measuring a second time for a second server to handle another packet set comprising at least one packet; and assigning responsibility for handling incoming network traffic based upon the first and second times. - View Dependent Claims (9, 10, 11, 12)
-
-
13. In a cluster of servers that share handling of network traffic load, a system comprising:
a load balancing component that; determines a relative load between two servers of the cluster based on packet handling times taken by those servers; and balances the network traffic load between the servers based on the relative load. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
Specification