Parent = BS; hop = 1. //schedule the BS’s DR from 1-hop nodes
while  hop maxhop. do
while  Parent has children. do
  while  Parent has data to receive from its children. do
   if  Parent is idle in the Time Slot Slot. then
    With global information, Parent searches its entire children to alternatively find
      a  child whose transmission results in its reception at the Slot.
    if  Parent finds a suitable child. then
      schedule the child’s transmission and the related reception and interference.
      break searching.
   end if
   end if
   Parent fetches the next Slot for reception.
  end while
  fetch the next Parent to schedule reception.
  end while
hop = hop + 1. //schedule the DR tier by tier
end while
Algorithm 2: CalcSchedule() function at the BS.