Research Article

Software-Defined Multilayered Admission Control for Quality of Service Assurance in Mobile Ad-hoc Networks

Algorithm 1

Path selection process in the SD_MAC model.
// Node i broadcasts P_beacon packet to immediate neighbors
Ni P_beacon (NId, NRSSI, NSNR, NTS, SOfdprediction_index);
// Neighbor Node j receives P_beacon packet of Ni node i
NjP_beacon (NId, NRSSI, NSNR, NTS, SOfdprediction_index);
//extract the beacon of Node i and store in LAT of Node j
LATj extract_data();
Nj send P_beacon (NId, NRSSI, NSNR, NTS, SOfdprediction_index);
NiP_beacon (NId, NRSSI, NSNR, NTS, SOfdprediction_index);
LATi extract_data();
/∗ entry in LAT contains the following field. 𢅺/
LATfields = [NHid, NHAvRSSI, NHAvSNR, NHTS, SOfdprediction_index]
// if source node has data and does not know path to destination
if (Sn (data) = = “T” && path_to_destination( ) = = “F”) then
SCNi = Sn_lookup (LATsn);
end if;
if (is exist(SCNi)) then // strongly connected neighbor node exists
 // send DPReq packet to SCN found
Sn send DPReq (Saddr, Daddr, Seqid, Servicepath, SReqprediction_index)
 // SCN receivesDPReq packet
 SCNi DPReq (Saddr, Daddr, Seqid, Servicepath, SReqprediction_index)
 Check_QHtable(); //SCN checks QH table
 if (Seqid = = exists()) then
   Discard DPReq();
 else
  if (SOfdprediction_index ≥ SReqprediction_index) then
   append (Servicepath);
   extract_signal_data();
   store_into_LAT();
   forward DPReq() packet to SCN;
   send DRAck() to source //send Ack to source
  end if;
 end if;
end if;