US 11,863,452 B2
System of load balancing
Harsha Honnappa, West Lafayette, IN (US); and Vijay Subramanian, Ann Arbor, MI (US)
Assigned to Purdue Research Foundation, West Lafayette, IN (US); and The Regents of the University of Michigan, Ann Arbor, MI (US)
Filed by Purdue Research Foundation, West Lafayette, IN (US); and The Regents of the University of Michigan, Ann Arbor, MI (US)
Filed on Feb. 17, 2021, as Appl. No. 17/177,290.
Application 17/177,290 is a continuation of application No. 16/593,719, filed on Oct. 4, 2019, granted, now 10,931,583.
Claims priority of provisional application 62/741,514, filed on Oct. 4, 2018.
Prior Publication US 2021/0194811 A1, Jun. 24, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 12/803 (2013.01); G06F 9/50 (2006.01); H04L 47/125 (2022.01); H04L 47/17 (2022.01); H04L 47/726 (2022.01); H04L 47/625 (2022.01)
CPC H04L 47/125 (2013.01) [G06F 9/5072 (2013.01); H04L 47/17 (2013.01); H04L 47/6255 (2013.01); H04L 47/726 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A load balanced server system, comprising:
a plurality of task-processing processors interconnected therewith forming a processing network, each processor of the plurality of task-processing processors having a queue of tasks to be processed;
a memory having an initial k-regular graph loaded thereon including nodes and branches connecting the nodes, where each node represents a processor of the plurality of task-processing processors, and each node is connected to other nodes by k branches, where k is the degree of the graph, and where k is at least one, wherein d walkers are assigned to the k-regular graph, where each walker is randomly assigned to a node, where d is at least 2; and
a dispatchers adapted to:
receive a new task to be processed by the processing network,
access the k-regular graph in the memory and walk from the assigned nodes to new nodes by randomly choosing a new node from one or more available nodes connected to the assigned nodes by the branches, without backtracking in one step from each of the assigned nodes to a node from which each of the d walkers immediately walked,
compare the queues of the new nodes,
determine which queue of the new nodes has the least number of tasks, and
assign the new task to the node with the least number of tasks.