Skip to main content
. 2017 Sep 21;17(10):2166. doi: 10.3390/s17102166
Algorithm 2 CKP_InitProcess( )
 Ask_token (CHm); //ask for token
if (token is assigned) then
 WAIT (token);
else
CSNi = CSNi+1; //increase its own CSN
for (PkPLmki) do
 SEND_DLrequest(Pk); //send DL request
 CALCULATE(LDS, Pi);
 DO_uncheckpoint(SCi);
UCi = 1; //change mark of uncertain CKP
for (PkLDS) do
if (PkDPm) then
 SEND_CKPReq(CHm); //send CKP request
else
 SEND_CKPReq(Pk);
if (Pi get all replies) then
 CKP_Turning(SCi); //turn uncertain CKP to certain CKP
for (PkLDS) do
if (PkDPm) then
 SEND_CKPturn(CHm); //send checkpoint turn request
else
 SEND_CKPturn (Pk);
 FIND_CKPdeleted(IntraCDGfinal); //find the deletable checkpoints*/
 NOTICE_CKPdeleted();
 /*notice processes in same cluster of CKP elimination*/
MNi = 0; /*reset receiving messages number*/