Research Article

AirCache: A Crowd-Based Solution for Geoanchored Floating Data

Algorithm 1

Slot status computation.
       input: FrameInformation (LocalFI), ReservationBoard (ReservationBoard), Received
       FrameInformation(s) (ReceivedFIs), Local Node Identifier (NodeId)
       output: Updated ReservationBoard and FrameInformation
()    bool Collision False, Owned False;
()    int Position −1; BCH Channel ;
()    for    to  Length(LocalFI)  do
()     BCH Heard BasicChannel(LocalFI, );
()     foreach    in receivedFIs  do
()      Position Shift(, );
()      Channel BasicChannel(, position);
()      Collision False;
()      Owned Owner(Channel);
()   if  Owned and NotSameId(Channel, Heard)  then
()    Collision True;
()    break;
()   end
()  end
()  if  Collision  then
()   UpdateBoard(Reservationboard, , Free);
()   UpdateFI(LocalFI, , Free);
()   if   = Id(Heard)  then
()    Collision(True);
()    EnterContention();
()   end
()  else
()   if  (AdditionalAndExpired(Channel))  then
()    UpdateBoard(board, , Free);
()   else
()    UpdateBoard(board, , Reserved);
()   end
()  end
() end