Research Article

Routing in Mobile Opportunistic Social Networks with Selfish Nodes

Algorithm 1

SORSI message forwarding with selfishness detection.
procedure ENCOUNTERNODE()
  exchangeCentralityValues()
  exchangeOnlineContactsLists()
  exchangeInterestNodeList()
  exchangeForwardingHistoryList()
  for every message m in message_buffer do
   D   .destination()
   myMLS   computeMLScore()
   encounterMLS   computePeerMLScore()
   if       ==  then
    forwardMessage(,)
   end if
  end for
  for every message m in forwarding_history_list do
   if   last encounter with   &&  == then
    if last encounter with last encounter with   &&  .receivedMessage()==false
     then
       .selfishScore()
       .setSelfishScore(+1)
    end if
   end if
  end for
end procedure