Skip to main content
. 2008 Jun 1;8(6):3601–3623. doi: 10.3390/s8063601
The algorithm is described as below:

  1. Node SSNi chooses a certain number of SSNs as Si in term of a random algorithm;

  2. Node SSNi receives data from MSNs as the local data and chooses k local data as the initial local cluster centres C0i,j (j = 0, …, k−1);

  3. Node SSNi calculates the Euclidean distance between each local data and each C0i,j;

  4. Node SSNi distributes each data to the nearest C0i,j as the member of this cluster, and each local cluster of SSNi can be described as (C0i,j, Numi,j);

  5. Node SSNi sends polling messages in intervals to each SSN in Si and expect to receive data information form them;

  6. Node SSNx in Si sends back the local data description (C0x,j, Numx,j) to SSNi if it receives the polling message from SSNi;

  7. If node SSNi receives all the data information it expects send back from all the node in Si, SSNi calculates the new cluster centres as C1i,j;

  8. Node SSNi computes the offset between C1i,j and C0i,j, if the offset ≤ δ, then the algorithm finishes; otherwise replaces C0i,j by C1i,j, and go to step 3.