基于分布式哈希表的覆盖网络的路由机制的制作方法

文档序号:7943470阅读:261来源:国知局
专利名称:基于分布式哈希表的覆盖网络的路由机制的制作方法
技术领域
本发明涉及基于分布式哈希表的覆盖网络的路由机制。本发明特别适用于确定对等网络中资源请求的路由的优化过程。
背景技术
对等或P2P网络利用包括处理能力和通信带宽等参与节点的合并资源,以有利于包括文件共享和因特网话音协议(VoIP)电话的各种各样的服务。在缺少中央服务器时,特定P2P服务可利用“覆盖网络”优化资源位置。覆盖网络包括由虚拟链路连接的节点,虚拟链路表示在基础网络(例如,因特网)中的可能许多物理链路上延伸的路径。覆盖网络中的每个节点保持包含到覆盖网络内某些其它节点的链路的集合的路由表。资源请求在节点之间传递,直至它们到达负责该资源的节点。哈希表是将密钥与值相关联的数据结构。密钥例如能够是人员的名字和该人员的联系地址(例如,电子邮件地址或会话启动协议(SIP)统一资源标识符(URI))的相关联值。哈希表支持的主要操作是查找-即给定一个密钥,哈希表找到对应的值。分布式哈希表(DHT)提供类似于哈希表的查找服务。然而,不同于常规哈希表,DHT是在分布式系统或网络中使用的非集中哈希表。在DHT中,保持从名称到值的映射的责任分布在参与系统的节点之间。这通过在参与节点之间划分密钥空间来实现。DHT提供了用于将资源名称(“密钥”)映射到覆盖网络内位置的有效方式。DHT 利用哈希算法将例如歌曲标题、SIP URI等密钥映射到例如128比特等有限值空间。哈希算法经选择以确保哈希值在值空间上的相对均勻分布。因此,例如,100个歌曲标题的哈希将可能产生100个哈希值,这些值在值空间上相对均勻地间隔开。通过用户名标识覆盖网络内的节点,用户名本身哈希为相应哈希值。每个节点随后变为对值空间内与其自己值相邻的哈希值的集合负责。实际上,节点将存储资源位置(例如,IP地址),从资源位置能够获得匹配它“拥有”的资源名称的资源。在覆盖网络中的节点接收对资源的请求时,节点确定它是否拥有对应的哈希值。如果是,它将资源的位置返回到请求者(经由覆盖网络)。如果它不拥有该哈希值,则它检查其路由表以识别表内具有与该请求的哈希值最接近的哈希值的节点,并且将该请求转发到该节点。接收节点重复该过程并继续,直至该请求到达确实拥有对应于该请求的哈希值并因此知道资源位置的节点。在诸如 Chord [I. Stoica、R. Morris、D. Karger > Μ. F. Kaashoek 及 H. Balakrishnan 所著“Chord 因特网应用的可扩展对等查找服务” (Chord =A Scalable Peer-to-peer Lookup Service for Internet Applications)-Proceedings of the ACM SIGCOMM' 01 Conference, August 2001,San Diego, California, USA.]等一些 DHT 中,路由表中的条目称为指部指示符(pointer)。除路由表外,每个节点也保持称为邻居列表的另一数据结构。 邻居列表包含到覆盖网络中节点的紧邻的后继(successor)和前趋(predecessor)(即邻居)的指示符。节点根据网络的拓扑挑选其邻居。邻居(其能够是前趋或后继)与指部之间的不同在

图1中示出,图1示出了具有环状拓扑的覆盖网络(仅示出在该环内的少量节点)。每个节点保持一个路由表,路由表包含在环中少量后继和前趋节点及少量更远节点的位置和哈希值。在所示网络中,节点X在其路由表中保持两个后继节点、两个前趋节点及三个远程节点的位置。例如,在上述Chord DHT算法中,每个节点η保持带有最多m个指部的路由表(m经选择以便它等于节点标识符中的比特数量)。在节点η处的表中第i个条目包含标识符环上在η后至少2Η的第一节点s的身份。图2示出Chord环的一个示例,其中,m = 5,表示每个节点保持5个指部。节点N 将标识符环划分成五个不同指部间隔,其范围在表1中列出。例如,间隔3的指部F3是在标识符环上在N后至少23—1 = 4的第一节点。
权利要求
1.一种节点,所述节点在覆盖网络内使用并且包括用于基于所述覆盖网络中对等节点的集合的功耗水平和/或功率可用性的知识做出路由判定的判定单元。
2.如权利要求1所述的节点,所述节点是移动用户终端。
3.如权利要求1或权利要求2所述的节点,其中所述对等节点的集合是路由邻居节点, 所述节点包括存储器,用于存储路由表以及用于每个路由邻居的所述路由表中的参数或与所述路由表相关联的参数,对于每个路由邻居节点所述路由表包含所述节点的覆盖网络地址与所述节点的物理定位器之间的映射,所述参数包括功率使用参数,指示多个操作状态中每个操作状态的功耗水平,以及功率管理状态PMS参数,指示当前或最近通知的所述路由邻居的操作状态;以及处理单元,配置为基于所述路由邻居的所述功率使用参数和所述PMS参数确定消息要转发到的路由邻居。
4.如权利要求3所述的节点,并且配置为从路由邻居接收指示所述路由邻居将要更改其操作状态的状态更新消息,所述状态更新消息包括对于所述路由邻居将要进入的所述操作状态所述路由邻居的新PMS参数,所述节点在用于所述路由邻居的所述路由表条目中存储所述新PMS参数。
5.如权利要求4所述的节点,并且配置为根据所述路由表中所述路由邻居的所述参数确定是否任何所述路由邻居处于休眠模式,以及存储所述覆盖网络中的所述状态更新消息以便以后在所述休眠路由邻居将状态从所述休眠模式更改为活动或受限模式时输送给它所述休眠路由邻居。
6.一种节点,所述节点在覆盖网络内使用并且配置为将所述节点的多个操作状态中每个操作状态的功耗水平提供到所述覆盖网络中的其它节点,以及通知所述网络中一个或多个对等节点所述节点的操作状态的即将更改。
7.如权利要求6所述的节点,所述节点是移动用户终端。
8.如权利要求6或权利要求7所述的节点,并且包括存储指示所述功耗水平的功率使用参数的存储器,以及处理单元,配置为在发送到所述覆盖网络中其它节点的对等协议消息中提供所述功率使用参数,以及在发送到所述网络的其它节点的通知中提供指示所述节点将要进入的操作状态的PMS参数。
9.如权利要求8所述的节点,并且配置为将指示它将要更改其操作状态的状态更新消息发送到所述覆盖网络内的一个或多个路由邻居,所述状态更新消息包括对于所述节点将要进入的所述操作状态所述节点的PMS参数。
10.如权利要求6到9任一项所述的节点,还配置为将有关其剩余电池容量的信息提供到所述网络的其它节点。
11.如权利要求10所述的节点,其中所述剩余电池容量包括如果所述节点仍处于活动状态,它将在某个时间量内用尽电池容量的指示。
12.如前面权利要求任一项所述的节点,并且配置为访问无线电资源控制RRC状态机以确定操作状态信息。
13.如权利要求12所述的节点,并且配置用于在宽带码分多址WCDMA覆盖网络中操作。
14.如权利要求12或权利要求13所述的节点,并且包括在所述节点的本地平台上运行以便访问所述RRC状态机的应用。
15.如权利要求14所述的节点,其中所述应用包括配置为访问所述RRC状态机的供应商特定应用编程接口(API)或借助于Java规范请求(JSR)获得的Java应用,所述Java应用允许访问所述RRC状态机。
16.如权利要求1到11任一项所述的节点,配置为通过参考所述节点的终端型号,以及从web服务器或者从通过在所述节点驻留的P2P应用提供的数据获得节点的功率使用参数。
17.如权利要求16所述的节点,并且配置为通过参考系统属性确定所述终端的所述型号。
18.如前面权利要求任一项所述的节点,其中所述节点无法确定另一对等体的所述操作状态,所述节点配置为在它发起的对等协议消息中将PMS参数设置为“未知”。
19.如前面权利要求任一项所述的节点,其中在包括以下一项或多项的功率使用参数方面指定所述功耗水平休眠模式功率使用SMPU参数,指定所述节点处于节能或休眠模式时的功耗;活动模式功率使用AMPU参数,指定所述节点在活动模式中操作时的功耗;以及受限模式功率使用RMPU参数,指定所述节点在受限模式中操作时的功耗。
20.如前面权利要求任一项所述的节点,其中所述PMS参数指示从以下项中选择的操作状态节能或休眠状态;活动状态;受限状态;及未知状态。
21.一种在覆盖网络的路由节点做出路由判定的方法,所述方法包括基于所述对等节点的功耗水平和/或功率可用性的知识,选择在所述覆盖网络中消息要转发到的对等节点的集合中的一个或多个对等节点。
22.如权利要求21所述的方法,其中所述覆盖网络采用分布式哈希表DHT,以及其中所述覆盖网络包括保持路由表的节点,对于所述覆盖网络中路由邻居节点的集合的每个路由邻居节点路由表包含所述节点的覆盖网络地址与所述节点的物理定位器之间的映射,所述方法还包括在每个所述覆盖网络节点保持用于每个路由邻居的所述路由表中的参数或与所述路由表相关联的参数,所述参数包括功率使用参数,指示多个操作状态中每个操作状态的功耗水平,以及功率管理状态PMS参数,指示当前或最近通知的所述路由邻居的操作状态。
23.如权利要求22所述的方法,其中保持参数包括从路由邻居接收状态更新消息,所述状态更新消息包括指定所述路由邻居将要进入的下一操作状态的PMS参数;以及更新其路由表中的或与其路由表相关联的所述路由邻居的PMS参数。
24.如权利要求22或权利要求23所述的方法,还包括检查所述路由邻居的所述PMS状态,以及在路由邻居不在休眠时发送所述状态更新消息到所述路由邻居,或者在路由邻居正在休眠时,存储所述覆盖网络中的所述消息以便以后输送到所述路由邻居。
25.如权利要求M所述的方法,其中存储所述覆盖网络中的所述状态更新消息包括 检查所述休眠路由邻居的直接路由邻居的所述PMS状态,以识别非休眠直接路由邻居;以及将目的地为所述休眠路由邻居的所述状态更新消息发送到所述非休眠直接邻居以便存储。
26.如权利要求25所述的方法,其中所述非休眠直接路由邻居将要进入所述休眠模式,所述方法还包括将所述状态更新消息转发到所述休眠路由邻居的另一非休眠直接路由邻居。
27.如权利要求21到沈任一项所述的方法,其中所述覆盖网络在对等P2P网络中操作,与所述功耗水平和/或功率可用性有关的信息在使用诸如P2P SIP等对等协议在节点之间发送的消息中提供。
28.如权利要求21到27任一项所述的方法,其中选择消息要转发到的路由邻居包括将备选路由邻居的集合确定为要路由到目的地对等体的消息的下一跳对等节点;检查所述下一跳对等节点的操作状态;以及如果在所述消息发送到下一跳对等节点时将不需要状态更改,则将所述消息转发到该节点;或者如果所有节点都需要状态更改,则检查所述下一跳对等节点的功耗水平,计算在更改每个所述下一跳对等体的状态中涉及的功耗的增大,以及将所述消息转发到需要功耗最小增大的下一跳对等体。
29.如权利要求21到观任一项所述的方法,其中所述DHT使用Chord算法或Kademlia 算法操作。
30.如权利要求21到四任一项所述的方法,其中基于所述DHT的覆盖网络以递归方式或以迭代方式路由消息。
31.如权利要求21到30任一项所述的方法,其中所述路由邻居是分层覆盖网络中的超级对等体。
32.如权利要求观到31任一项所述的方法,其中在包括一个或多个“未知”状态参数的PMS参数方面指定路由邻居的所述操作状态,所述方法包括A)如果所述备选下一跳节点的集合包含处于活动模式的至少一个对等体,则将所述消息转发到处于活动模式的所述对等体之一;以及B)如果所述备选下一跳节点的集合不包含处于所述活动模式的对等体,则从具有未知状态的所述对等体中选择在所述活动模式中具有最小功耗的对等体。
全文摘要
一种在诸如基于分布式哈希表的覆盖网络等覆盖网络内使用并配置为跨覆盖网络路由分组的节点。节点包括用于基于覆盖网络中对等节点的集合的功耗水平和/或功率可用性的知识做出路由判定的部件。
文档编号H04W84/18GK102204346SQ200880131844
公开日2011年9月28日 申请日期2008年8月27日 优先权日2008年8月27日
发明者J·梅恩帕, T·埃克 申请人:爱立信电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1