US 12,010,171 B2
Domain-based Raft consensus selection of leader nodes in distributed data services
Yash Sharma, Delhi (IN); and Sandeep Kumar Chauhan, Miyapur (IN)
Assigned to Bank of America Corporation, Charlotte, NC (US)
Filed by Bank of America Corporation, Charlotte, NC (US)
Filed on Apr. 18, 2023, as Appl. No. 18/135,890.
Application 18/135,890 is a continuation of application No. 17/679,838, filed on Feb. 24, 2022, granted, now 11,671,488.
Prior Publication US 2023/0269294 A1, Aug. 24, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 12/00 (2006.01); G06F 11/34 (2006.01); G06F 16/27 (2019.01); H04L 67/104 (2022.01); H04L 67/1074 (2022.01)
CPC H04L 67/1051 (2013.01) [G06F 11/3409 (2013.01); G06F 16/27 (2019.01); H04L 67/1085 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A domain-based server-selection method comprising the steps of:
(a) providing a distributed data service operative based on a plurality of nodes in a domain, each of said plurality of nodes having a shard coupled thereto;
(b) sharding data, based on temporal activity, across data stores coupled to the plurality of nodes;
(c) determining one or more domain attributes for each of said plurality of nodes in the domain;
(d) if at least one of said domain attributes exceeds a threshold:
(i) nominating, by the plurality of nodes in the domain, at least one candidate node based on the domain attributes;
(ii) electing, by the plurality of nodes in the domain, a leader node from the candidate nodes based on which of said plurality of nodes has a highest of said domain attributes;
(iii) designating, each of said plurality of nodes in the domain other than the leader node as follower nodes;
(iv) executing, by the leader node, leader transactions for a leader shard coupled to the leader node;
(v) executing, by the follower nodes, follower transactions for follower shards coupled to the follower nodes; and
(e) if none of said domain attributes exceeds the threshold, using a consensus selection process to vote on and select said leader node and designate said follower nodes.