US 11,907,745 B2
Methods and systems for securely and efficiently clustering distributed processes using a consistent database
Srinivas Neginhal, Belmont, CA (US); Medhavi Dhawan, Cupertino, CA (US); Vjekoslav Brajkovic, Mountain View, CA (US); Cheng Zhang, Palo Alto, CA (US); Jiaqi Chen, Santa Clara, CA (US); David Tsai, Palo Alto, CA (US); Maithem Munshed, Palo Alto, CA (US); Zeeshan Lokhandwala, Palo Alto, CA (US); Ming Wen, Palo Alto, CA (US); Ragnar Edholm, Sunnyvale, CA (US); and Rajneesh Bajpai, San Jose, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware LLC, Palo Alto, CA (US)
Filed on Jan. 25, 2021, as Appl. No. 17/157,075.
Application 17/157,075 is a continuation of application No. 16/255,768, filed on Jan. 23, 2019, granted, now 10,901,771.
Prior Publication US 2021/0141660 A1, May 13, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/46 (2006.01); G06F 9/455 (2018.01); H04L 9/40 (2022.01); G06F 16/182 (2019.01); G06F 3/06 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 3/062 (2013.01); G06F 3/067 (2013.01); G06F 3/0662 (2013.01); G06F 16/1827 (2019.01); H04L 63/0869 (2013.01); G06F 2009/45562 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of adding one or more nodes to a first cluster including a first node in a computer system, the method comprising:
receiving, by the first node, a first request from a second node, the first request indicating an intention of the second node to join the cluster, wherein:
the first node is configured to execute a first one or more processes associated with one or more distributed applications;
the first request includes authentication information associated with the second node; and
the authentication information comprises one or more security certificates for a second one or more processes running on the second node;
retrieving, by the first node, a cluster configuration associated with the cluster from a database;
creating, by the first node, an updated cluster configuration using the cluster configuration and the authentication information;
populating, by the first node, a trust store associated with each of the first one or more processes with the authentication information to allow the first one or more processes to authenticate the second one or more processes running on the second node;
writing, by the first node, the updated cluster configuration to the database;
providing, by the first node, the updated cluster configuration to the second node;
determining, by a first process of the first one or more processes, that the first process can trust a second process of the second one or more processes based on retrieving, from the trust store associated with the first process, a corresponding security certificate of the one or more security certificates; and
communicating, by the first process, with the second process based on the determining that the first process can trust the second process.