发明名称 一种气味路由方法
摘要 本发明提出了一种气味路由方法,特别适用于拥有较多移动用户的网络。网络中的用户、内容、服务等对象之间会话时会在沿途的路由器中留下和加强自己特有的“气味”,被动等待访问的用户、内容、服务等对象也会在其周围散发自己的气味,气味会随着距离和时间的增加而衰减。用户沿着气味浓度最强的路径找到特定的用户、内容、服务等对象。本发明使得热点用户、内容、服务等对象可以形成长时间和大范围的气味留存,变得更容易被寻址;使得网络能够适应大的规模和动态变化,能够支持用户、内容、服务等对象的移动,能够用做未来互联网的基本架构。
申请公布号 CN102413058B 申请公布日期 2014.05.21
申请号 CN201110439713.4 申请日期 2011.12.23
申请人 中山大学 发明人 余顺争
分类号 H04L12/70(2013.01)I;H04L12/18(2006.01)I 主分类号 H04L12/70(2013.01)I
代理机构 广州粤高专利商标代理有限公司 44102 代理人 邱奕才;禹小明
主权项 1.一种气味路由方法,其特征在于包括以下操作:一、命名:使用唯一的id标识网络中的对象,所述对象包括移动用户和非移动用户、内容和/或服务,其中把移动用户和非移动用户统称为用户;设置一个k维向量(h<sub>1</sub>,h<sub>2</sub>,...,h<sub>k</sub>)来标识气味在气味表中的位置:h<sub>j</sub>=hash<sub>j</sub>(id),j=1,2,...,k公式(1),所述hash<sub>j</sub>(·),j=1,2,...,k,是k个不同的散列函数,h<sub>j</sub>是大于等于0的整数;每个节点记录气味的方法是,对节点中的每个接口i都设置k个气味表:D<sub>i,1</sub>,D<sub>i,2</sub>,...,D<sub>i,k</sub>,当从接口i收到来自于对象id的一个带气味标记的数据包时,令D<sub>i,j</sub>(h<sub>j</sub>)=D<sub>i,j</sub>(h<sub>j</sub>)+d,j=1,2,...,k公式(2),其中,d为气味增量;D<sub>i,j</sub>(h<sub>j</sub>)表示对象气味浓度的具体值;二、散发气味:等待请求和访问的对象,采用广播的方式在网络中向周围散发代表对象自己的气味,散发的气味的浓度随着跳数的增加而衰减,散发气味的方法是,每隔一个时间周期,产生一个广播包,其头部包含一个整数r代表气味散发的半径,并令其TTL=r,然后把该广播包从所有的接口广播出去;如果某个节点从接口i收到该广播包,先检查该广播包是否第一次收到;如果不是第一次收到,则删除该广播包;如果是第一次收到,则令d=α<sup>(r-TTL)</sup>并用公式(2)记录其气味,其中0&lt;α&lt;1是给定的衰减系数;然后,令TTL减1;如果TTL=0,则删除该广播包,否则把该广播包向除了接口i之外的所有接口广播出去,其中,TTL为一变量;三、留下和加强气味:对象在每次通信开始时发出的第一个请求包或者响应包中,都给出一个气味标记;此后,随着通信时间的加长,每隔一个时间周期,每个对象都在发出的某个数据包中给出一个气味标记;沿途的节点每当看到这个标记时,就在收到该数据包的接口处留下或加强该对象的气味;同一个节点中的同一个接口收到来自相同对象的有气味标记的包的次数越多,该对象的气味就越浓;留下和加强气味的方法是,当节点从接口i收到一个带有气味标记的数据包时,从该数据包头部找到其来源id,令d=1,并用公式(2)留下或加强其气味;四、气味随时间衰减:所有气味都随着时间衰减;不被加强的气味将被衰减为0;气味随时间衰减的方法是,每隔一个时间周期,对所有接口的所有气味表中的值衰减一个给定系数0&lt;β&lt;1,即令:D<sub>i,j</sub>(h<sub>j</sub>)=D<sub>i,j</sub>(h<sub>j</sub>)×β,j=1,2,...,k公式(3),其中,i代表接口序号;五、按气味浓度转发:当一个节点收到一个数据包时,根据该数据包要寻址的对象,在其所有接口中查找该对象的气味,并把该数据包向具有该对象最浓气味的接口转发出去;如果所有接口都具有相等浓度的该对象的气味,则随机选择一个接口转发出去;具体地,当节点收到一个目的地为对象id的数据包时,用公式(1)得到其气味标识(h<sub>1</sub>,h<sub>2</sub>,...,h<sub>k</sub>),然后在所有的接口中提取其气味浓度,即令<maths num="0001"><![CDATA[<math><mrow><msub><mi>S</mi><mi>i</mi></msub><mo>=</mo><munder><mi>min</mi><mrow><mi>j</mi><mo>&Element;</mo><mo>{</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>k</mi><mo>}</mo></mrow></munder><mo>{</mo><msub><mi>D</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><msub><mi>h</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>}</mo></mrow></math>]]></maths>公式(4),再找到含有其最浓气味的接口<maths num="0002"><![CDATA[<math><mrow><mi>i</mi><mo>*</mo><mo>=</mo><mi>arg</mi><munder><mi>max</mi><mi>i</mi></munder><mo>{</mo><msub><mi>S</mi><mi>i</mi></msub><mo>}</mo></mrow></math>]]></maths>公式(5),然后,把该数据包从接口i*转发出去;如果所有S<sub>i</sub>都相等,则随机地选择一个接口转发出去。
地址 510000 广东省广州市新港西路135号