MaxProp作为机会网络路由协议中基于调度策略的路由协议之一,由Burgess等人提出。按照优先级的顺序对消息队列里的消息进行排列。该优先级是根据链路的历史数据以及几个补充机制来设定的。当节点相遇时,则依据该消息队列进行消息的传输与删除工作。
若节点i与节点j相遇,则依据如下5步进行消息的调度:
1、若消息的目的节点为所相遇的节点,则将这些消息传递给相遇节点。
2、相遇两节点交换彼此记录历史相遇节点的相遇概率表。
3、若消息成功到达目的地,则发送反馈消息。
4、计算阀值。由于静态的阀值无法满足所有情况,因此,使用动态的方法。记录每次传输时所传数据的位数x,将其与总缓存大小b进行比较,设定阀值p:
①若x<b/2。那么p=x;
②若b/2<=x<b。那么p=min{x,(b-x)};
③若x>b。则p=0;
得到阀值p之后,则将消息按优先级进行排列,然后找出第一个溢出阀值的消息,获取它的跳数,则该跳数即为跳数阀值t。
5、剩余的消息则按优先级顺序进行发送。
依据上述的5步,MaxProp将消息发送出去。在这里要注意的是MaxProp的优先级的设置,依据节点间的相遇概率,得到消息从本节点到达目的节点的开销,从而得出优先级。然后判断消息的跳数与阀值的关系:若小于阀值,则从跳数最小的消息开始发送。若大于阀值,则按消息优先级顺序进行发送。
MaxProp的核心点就是管理这2个队列。依据什么机制管理这2个队列是本协议的重点。