US 12,271,763 B2
Intelligent load balancing in a distributed system
George Mathew, Belmont, CA (US); Mukesh K. Sharma, Wakad Pune (IN); and Murthy V. Mamidi, Queen Creek, AZ (US)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Apr. 22, 2022, as Appl. No. 17/727,505.
Prior Publication US 2023/0342222 A1, Oct. 26, 2023
Int. Cl. G06F 16/00 (2019.01); G06F 9/50 (2006.01); G06F 16/13 (2019.01); G06F 16/176 (2019.01); G06F 16/182 (2019.01)
CPC G06F 9/5083 (2013.01) [G06F 16/137 (2019.01); G06F 16/1774 (2019.01); G06F 16/182 (2019.01)] 19 Claims
OG exemplary drawing
 
1. A method of performing load balancing in a filesystem of a distributed network, comprising:
identifying hardware-based worker nodes accessing shared resources of a deduplication backup system that are controlled by distributed locks to grant and prevent access from clients of the filesystem;
utilizing a namespace of the filesystem using a directory inode: child inode key format, wherein the directory inode is a primary key and the child inode is a secondary key, and wherein all children of a directory are placed in a directory tree corresponding to their directory key;
providing, over network links, feedback from each worker node to a processor-based load balancer to expose an internal state of acquired resources and physical placement in terms of closeness of the worker node to a backend service, and state of shared locks of the distributed locks of each worker node, as each worker node performs a data backup operation of the deduplication backup system;
using the feedback to periodically update a range of directories that need to be collocated to ensure that each range of directory entries is assigned to a single worker node;
organizing the range of directories so that a complete subtree of the directory tree fits in a single range to minimize any page lock effect resulting from requests bouncing among different clients;
maintaining, in response to periodic updates of the directory ranges to be collocated, directory ranges in each worker so that complete subtrees of a directory tree fit in a single range assigned to a single worker node;
selecting, by the load balancer and upon receipt of a client request to operate on a data asset, a worker node that satisfies the request based on the worker node internal states and other parameters by assigning to the selected node one or more subtrees that minimize directory lock and unlock by the distributed locks among the worker nodes so as to achieve a performance gain for the deduplication backup system using the acquired resources; and
balancing, by the load balancer, data processing operations on the data asset by the backup operation performed by the deduplication backup system to optimize usage of the shared resources of the distributed network and performance of the distributed network as a whole.