US 12,229,084 B2
Rebalancing engine for use in rebalancing files in a distributed storage systems
Umeshkumar Vasantha Rajasekaran, Cranberry Township, PA (US); Glenn Cook, Pittsburgh, PA (US); Rajavardhan Mallepally, Aubrey, TX (US); Brett Sander, Pittsburgh, PA (US); and Wenxin Zhou, Vancouver (CA)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp, Inc., San Jose, CA (US)
Filed on Apr. 3, 2023, as Appl. No. 18/194,860.
Claims priority of provisional application 63/399,598, filed on Aug. 19, 2022.
Prior Publication US 2024/0061807 A1, Feb. 22, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/13 (2019.01); G06F 16/14 (2019.01); G06F 16/16 (2019.01); G06F 16/17 (2019.01); G06F 16/182 (2019.01); G06F 16/27 (2019.01); H04L 67/1029 (2022.01)
CPC G06F 16/134 (2019.01) [G06F 16/148 (2019.01); G06F 16/16 (2019.01); G06F 16/1734 (2019.01); G06F 16/183 (2019.01); G06F 16/27 (2019.01); H04L 67/1029 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A rebalancing engine in a local data container of a distributed file system having a plurality of data containers, each data container having its own rebalancing engine to facilitate rebalancing of files within the distributed file system, the rebalancing engine in the local data container to:
monitor characteristics associated with files stored in a local data container with respect to container-level parameters for the characteristics;
responsive to determining that the container-level parameters exceed one or more predetermined thresholds,
communicate with one or more remote rebalancing engines in remote data containers to determine a selected destination data container to which one or more files from the local data container are to be moved from the local data container;
generate a query to identify the one or more files from the local data container to be moved to the selected destination data container;
receive a response to the query indicating the one or more files to be moved from the local data container;
store results of the query indicating the one or more files to be moved in candidate database; and
cause movement of the one or more files as indicated by the candidate database to the selected data destination container, wherein the one or more files are stored in the selected destination container.