Research Article

Analysis and Enhancement of IEEE 802.15.4e DSME Beacon Scheduling Model

Algorithm 1

Possible SD slot selection algorithms.
(Variables)
A : BITMAP ARRAY
sA: Size of bitmap data type
(eg., unsigned char A BITMAP_ARRAY_SIZE ,
in that case we have sA = 8)
index: indicator of array index
position: bit position in a A ,
where = 0, 1, 2,…, BITMAP_ARRAY_SIZE
     LAB (A)
(1) index 0
(2)for  i 0  to BIITMAP_ARRAY_SIZE
(3)  for  j 0  to sA – 1
(4)     if (A & (0 × 01 << ) == 0
(5)         SD_index + (sA * i)
(6)         return SD_index
(7)     
(8)  
(9)return NO_AVAILABLE_SD
    MAB (A)
(1) index (BITMAP_ARRAY_SIZE − 1)/sA
(2)position (BITMAP_ARRAY_SIZE − 1) mod sA
(3)if (A index & (0 × 01 << position) == 1
(4)  return NO_AVAILABLE_SD
(5)for   index to 0
(6)  for   0 to sA − 1
(7)     if (A & ((0 × 01 << sA − 1) >> ) == 0
(8)         SD_index sA − + (j * sA)
(9)         return SD_index
(10)      
(11)  
(12) return NO_AVAILABLE_SD
    RAND_SD (A)
(1)do
(2)  r_sd random(1.MAX_SD)
(3)  index r_sd/sA
(4)  position r_sd mod sA
(5)while (A index & (0 × 01 << position)) == 1
(6)SD_index position + index * sA
(7)return SD_index