参考文献(Stojmenovic,2004)提出了另一种保证传输的策略,它是基于入口点概念的。入口点(在前一小节中也称为外部边界节点)是一个位于目标区域之外,但至少有一个邻居位于目标区域之内的节点。该策略用于将地域群播问题简化为到达每个入口点的问题,可以从这些入口点启动智能洪泛,以到达区域内的连通节点。
假设R是传输半径,且对于每个节点来说是相同的。根据定义可以得出,每个入口点必定位于距离区域边界≤R的位置。然后,它才可能通过在地区周围精心挑选的区域使用地理组播,从而到达所有入口点。必须确定好这些位置(称为入口区),这样:
1)任何入口点必定属于某个入口区,这意味着所有入口区的并集必定位于宽度大于R的区域内。
2)如果任何区域内的一个节点重发消息,则同一区域内的任何其他节点必定会收到该消息。这种特性能够确保从区域内任意节点发送的,能够消息到达该区域内的所有潜在入口点。
如图5-10所示,如果考虑区域中的单个层(图5-10a中的两种指标是不相容的),这两个限制条件无法同时得到满足。满足这些标准的入口区构建实际上取决于地域群播区域的形状。例如,如果地域群播区域是矩形的,则入口区可能是由两层长度为R/2的正方形,或者更理想的情况,是由一维(与区域垂直的那维)长度为R/2,另一维尽可能大的矩形构成的,假定区域直径不超过R(如图5-10b所示)。另一个实例是参考文献(Stojmenovic and Wu,2006)提供的将地域群播区域看做是一个圆形的解决方案。
图5-10 入口区分层(www.xing528.com)
a)1层入口区 b)两层入口区
一旦源节点确定了所有入口区,则采用诸如GMR协议(见第5.1节),启动从源节点到所有区域“中心”的地理组播任务。需要注意的是,此处所谓的中心实际上是指区域内的任意点。一旦组播启动,则路由路径可以进行分割,来为目标节点提供最优服务。对于每个目标节点来说,当到达对应区域内的任意节点,或者恢复模式中的环路形成(它意味着目标区是空集或与网络其他部分是断开的)时,进程中止。在消息到达每个节点的情形中,为了使消息到达位于同一区域内的所有潜在入口点,该节点重传一次消息,然后这些节点(如果存在的话)在目标区域内启动智能洪泛过程。
参考文献(Stojmenovic,2004)提出了该协议的一些优化思路。例如,某一路径上的几个节点可以集体推断某个区域(或一组区域)是空集,从而避免在恢复模式中形成完全环路。另一种可能的优化方法是组播任务执行期间,强制节点在接收和重发之间等待一段时间,以合并接收到的来自于不同邻居的潜在路由分配方案。同时,不同入口区可以在不同时间,触发区域中的多个洪泛操作的事实,要求对超时和流量记忆调整为比常规洪泛任务稍大的值,以确保能够识别已接收的消息,且不再进行重传。需要注意的是,由于组播协议可能用到恢复模式,因而时间延迟非常重要。
显而易见,此协议存在的主要问题是由空穴区导致的开销。实际上,如果我们不考虑上面讨论的优化问题,则每个空穴区可能会在网络内触发更大范围的面遍历,且即使可以避免部分环路的形成,在稀疏网络中,该协议的通信开销仍然很大。但是,在密集网络中,该协议执行效果非常好。同时,如果在现实世界部署时考虑采用该协议,则它有一个有意思的特点,即基于两种现有方案(组播和洪泛),这一点会降低传感器上路由软件的内存消耗总量。
在参考文献(Khan et al.,2008),作者假定通常情况下地域群播区域相同的场景。基于这一假设,可以永久性选择区域入口点(选择一个实际节点来为区域内的每个连通组件提供服务)。选择结果要向位置服务器进行报告。当节点准备在区域内进行地域群播时,它向位置服务器发送请求,位置服务器回送与距离源节点最近的入口点有关的信息。通过与最近入口点进行单播通信,然后依次到达其他节点。每个入口点在区域内部,洪泛分配给它的连通性组件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。