US 11,907,258 B2
Distributed database configuration
Alexander Shraer, Stanford, CA (US); Artyom Sharov, Haifa (IL); Arif Abdulhusein Merchant, Los Altos, CA (US); and Brian F. Cooper, San Jose, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Dec. 28, 2022, as Appl. No. 18/090,453.
Application 18/090,453 is a continuation of application No. 17/074,578, filed on Oct. 19, 2020, granted, now 11,556,561.
Application 17/074,578 is a continuation of application No. 15/200,939, filed on Jul. 1, 2016, granted, now 10,831,777, issued on Nov. 10, 2020.
Claims priority of provisional application 62/188,076, filed on Jul. 2, 2015.
Prior Publication US 2023/0136193 A1, May 4, 2023
Int. Cl. G06F 16/27 (2019.01); G06F 16/25 (2019.01); H04L 67/1025 (2022.01); H04L 67/1097 (2022.01); G06F 16/955 (2019.01); H04L 67/52 (2022.01); H04L 67/1023 (2022.01)
CPC G06F 16/27 (2019.01) [G06F 16/25 (2019.01); G06F 16/955 (2019.01); H04L 67/1023 (2013.01); H04L 67/1025 (2013.01); H04L 67/1097 (2013.01); H04L 67/52 (2022.05)] 18 Claims
OG exemplary drawing
 
1. A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
receiving historic data corresponding to a plurality of computing clusters, the historic data comprising past workload data;
predicting, based on the historic data, a future workload for the plurality of the computing clusters;
selecting, based on the future workload, a leader computing cluster from the plurality of the computing clusters, the leader computing cluster of the plurality of the computing clusters executing a distributed database, the leader computing cluster responsible for proposing operations for the plurality of the computing clusters to perform on the distributed database;
monitoring interactions between a client application and the distributed database;
generating workload data representative of the interactions between the client application and the distributed database;
determining, based on the workload data, that a different computing cluster of the plurality of the computing clusters has less communication delay than the leader computing cluster; and
assigning, based on determining that the different computing cluster has less communication delay than the leader computing cluster, the different computing cluster as a new leader computing cluster.