使用前缀哈希树(pht)在对等通信网络中定位服务的制作方法

文档序号:6477474阅读:227来源:国知局

专利名称::使用前缀哈希树(pht)在对等通信网络中定位服务的制作方法
技术领域
:本发明涉及对等通信网络领域。更具体地,涉及在这种对等网络中定位服务。
背景技术
:对等网络已逐渐显现为某些类型的服务的有效选择方案。例如,Skype公司已在用于建立基于IP的语音(VoIP)或基于IP的多媒体通信会话的对等模式上获得了成功。其它内容交换服务也是基于对等技术,诸如eMule、Bittorrent和JXTA网络。对等网络的基本原理在于无需中心体服务逻辑分布在对等网络的所有单元上;每个单元实质上既是客户机(请求服务),也是服务器(提供服务)。许多对等网络都是基于分布式哈希表。分布式哈希表是一种用于在诸如对等网络的大型分布系统内记忆和恢复信息的技术。原则上,哈希表的内容分布在网络的所有对等体或节点上,没有中央设备。这种分布式哈希表在2003年2月的杂志"ACM通信"第46巻第2册中发表的H.Balakrishna、F.Kaashoek、D.Karger、R.Morris和I.Stoica所著的文章"LookingupDatainP2PSystems"中进行了描述。图l描述了由节点X,,X2,X3…Xn枸成的分布式哈希表DHT。一条信息通过将其与关键字K相关联并对该关键字应用哈希函数H而保存在DHT网络内。值H(K)确定用于识别网络内特定节点的索引(例如,5具有索引i的最近的节点,或者仅仅更低的节点)。为了恢复信息,可以执行相同的过程。信息保存和恢复机制已经在本领域的普通技术人员可获得的相关主题的许多出版物中净皮说明。此外,这些机制将在后面稍加进一步地描述。在此重要的是,注意保存过程的完全分布式特性,以及由此用于将被保存的信息的空间可被分割成由N个节点构成的存储空间的事实。在超过一种用于通信网络体系结构以及用于基于IP的语音(VoIP)/基于IP(因特网协议)的多媒体应用的方式上,该分布式方面4W趣。其也可能克服集中式系统所具有的某些负担在服务的订户的数量大时增加的集中式系统的^!^莫;维持集中式系统的必要性和复杂性;处理系统崩溃和故障;等等。对等体系结构的最终成功已经鼓舞IETF(互联网工程任务组)来从事定义用于基于会话启动协议(SIP)的服务的特定体系。SIP协议由IETF的RFC3261定义,并被设计为承栽在基于因特网协议(IP)传送数据的网络上协商和建立多媒体会话所需的信令。该工作目前由IETF的P2P-SIP(对等SIP)工作组承担。描述该工作的一个文档是题为"dSIP:AP2PApproachtoSIPRegistrationanResourceLocation"的IETF草案,其于2007年2月以"draft勿an-p2psip-dsip-00"为名发表。SIP协议需要一定数量的服务(诸如"注册器"),其可通过分布式哈希表实施而不是中央服务器。这些服务还可包括-STUN(用户数据报协议(UDP)简单穿越网络地址转换器(NAT)),由RFC3489定义;-TURN(使用中继(Relay)方式穿越NAT),于2005年9月以"draft-rosenberg-midcom-rurn-08.txt"为名并以"IETF草案,,状态发表;-媒体中继;-在席月艮务(presenceservice)等。这些服务可以由分布式哈希表的一个或多个节点提供,但这带来了SIP客户机或其它网络单元如何定位它们的问题。在IETF工作组的讨论中已经提到了几种可能的解决方案。第一种方法包括使用单个中央服务器,该中央服务器的目的是维持服务与提供这些服务的服务器的地址之间的关联性。该服务器应当具有被适当确定的地址,以致客户机可以容易地联系它。这样,查找STUN服务器的客户机将向其发送包含参数"STUN"的服务请求,并将接收一列地址,其中每个地址对应于提供该服务的分布式哈希表的节点。然而,该第一种方法并不令人满意,因为其引入中央服务器,而这与对等网络的真正原理是相反的。集中式方案的上述缺点导致对等方案的创建和成功,因此也适用于此,特别是该服务器在体系结构中成为弱点的事实如果出现故障,则客户机将不再能够定位提供正被搜索的服务的服务器(节点)。此外,该中央服务器是有害的拒绝服务(DOS)攻击的优选目标。因此,可供选择的方法包括将位置信息保存到分布式哈希表本身。根据该方法的第一种方案包括将关键字与一组位置信息相关联。该思想已在2006年12月提交到IETF的P2PSIP工作组的邮件列表。然而,该第一种方案有若干缺点。具体地,如果分布式哈希表中服务的数量或者节点的数量较大,则位置信息将占据大量的空间。这可导致正在处理该信息的节点的大小问题根据分布式哈希表的基本原理,由于该表是自我管理的,因此无法检查哪个节点正在处理给定的信息。另外,位置信息可由客户机是分布式哈希表的一部分的体系结构中具有有限容量的节点管理,诸如通信客户机。除了存储问题,还有该节点接收所有服务请求的缺点。这在通信网络中产生超负荷点。笫二种方案包括对每个服务实例定义不同的位置信息。例如,可以对每个服务定义一个前缀,并将实例的索引号添加到该前缀上,以便形成位置信息关键字。这可用于创建"STUN1"关键字(其与至少包含提供STUN服务的第一服务器的IP地址的位置信息相关联)、"TURN5"关键字(其与至少包含提供TURN服务的第五服务器的IP地址的位置信息相关联)等。但是,出现了如何向通信客户机提供有关可用的关键字的信息(什么服务可用?哪些索引可用于每个服务?)的问题。由于分布式哈希表仅接受"准确的"请求,即搜索准确确定的关键字,因此,搜索位置信息需要若干连续的请求,以致客户机能够获得所有与给定服务(诸如"STUN")有关的位置信息。另外,该方法在处理分布式哈希表的动态方面非常差每当客户M提供所请求的服务的最后一个服务器接收位置信息时,其它服务器可能被连接到该表,而其它服务器可能被断开。那么,客户机获得最新的信息变得不可能。
发明内容本发明的目的是提供一种用于定位提供所请求的服务的一组服务器的方案。本发明的第一个目的是一种通信网络,其包括分布式哈希表,该分布式哈希表的节点提供对于连接到所述通信网络的网络单元能够访问的服务。分布式哈希表具有-用于从网络单元接收服务定位请求的装置,所述请求包含至少一个服务标识符;以及-用于在分布式哈希表内搜索至少一个位置信息并将其传输到网络单元的搜索装置。这些位置信息中的每一个对应于提供由服务标识符确定的服务的节点。本发明的通信网络的特征在于-组织p合希表,以致位置信息与包含至少一个服务标识符的关键字相关联,其中关键字对应于其节点的标签分布在分布式哈希表内的PHT二叉树上的叶子;-搜索装置被设计为在所有或一部分叶子中搜索位置信息并将其传输到网络单元,其中所述叶子的标签是包含在服务请求内的服务标识符的前缀。在本发明的一个实施例中,网络单元是通信客户机,特别地,是被设计为使用SIP协议进行通信的通信客户机。该通信客户机可以是通信终端。标签和关键字可以是二进制字,其中标签以使得采用降序排列的每个比特的权重对应于二叉树内增加的深度层级的方式形成。所需的服务例如可以是STUN和/或TURN服务,和/或符合IETF的RFC3489bis。提供服务的节点可以是分布式哈希表的节点中的一个。因此,也可以是分布式p合希表之外的节点。在本发明的一个实施例中,标签可以由至少一个服务标识符、传输协议指示、位置信息和端口构成。具体地,位置信息可以是IP地址。这些标签还可包括根据IETF的RFC1630定义通用资源标识符或URI的所有或一部分参数。本发明的另一个目的是一种使通信设备能够访问由分布式哈希表提供的服务的方法。该方法包括-传输服务定位请求的步骤,其中所述请求包含服务标识符;以及-在分布式哈希表中搜索至少一个位置信息的步骤,其中这些位置信息中的每一个对应于提供服务的节点。本发明的方法的特征在于,搜索步骤包括在其节点的标签分布在分布式哈希表内的PHT二叉树内搜索关键字。该关键字至少包含服务标识符,所述搜索包括在所有或一部分叶子中搜索位置信息,其中所述叶子的标签;U良务标识符的前缀。在本发明的一个实施例中,网络单元是通信客户机,具体地,是被设计为使用SIP协议进行通信的通信客户机。该通信客户机可以是通信终端。而且,标签和关键字可以是二进制字。标签可以使得采用降序排列的每个比特的权重对应于二叉树内增加的深度层级的方式形成。月艮务可以是STUN和/或TURN服务,和/或符合IETF的RFC3489bis。具体地,提供服务的节点可以是分布式哈希表的节点中的一个。标签可以由至少一个服务标识符、传输协议指示、位置信息和端口构成。更准确地说,所述定位信息可以是一个IP地址。标签还可包括才艮据IETF的RFC1630定义通用资源标识符或URI的所有或一部分参数。本发明的另一个目的是一种计算机程序,其被设计为每当在信息处理设备上运行时执行这种方法。具体地,该设备可以是诸如通信网络的分布式系统。在这种情况下,通过分布在不同物理设备上的不同的软件模块,可以实现该方法的各种步骤。本发明的另一个目的是一种包含这种计算机程序的计算机介质。该介质可以是诸如CD-ROM或DVD-ROM的光学存储装置。它也可以是硬盘驱动器,因此也^Jl务器,可从中下载计算机程序。在以下结合附图的说明中,本发明及其优点将会变得更加清楚。图l给出分布式哈希表的图,如上所述;图2描述根据本发明的一个可能的体系结构;图3给出示例性的PHT二叉树的图4描述本发明在通信网络内定位STUN服务器的一个应用。具体实施例方式图2描述的体系结构表示本发明的一个可能的实现方式。通信网络NET包括由一组节点Xi、X2、X3…Xn枸成的分布式哈希表DHT。不言而喻,这些节点的数量可以是动态的这些节点可以动态地从分布式哈希表中除去和添加到分布式哈希表中。分布式哈希表具有用于通过在组成盖分布式哈希表的节点内重新分配信息来处理该动态方面的算法装置。网络单元可以连接到通信网络NET,并访问分布式P合希表DHT。图中示出了网络单元T与分布式哈希表DHT之间的直接连接,但实际上,各种类型的网络设备可以位于这两个设备之间网络地址转换器NAT、会话边界控制器SBC、SIP代理等。网络单元T可以是通信客户机,特别地,是被设计为使用SIP协议与通信网络NET进行通信的通信客户机。在此,术语"通信客户机,,是指任何用于发送请求,特别是SIP请求的设备。具体地,它可以是与用户进^f亍交互的通信终端。这些网络单元可以发送服务定位请求R,其包含至少一个用于被搜索的服务的标识符ID。如上所述,该服务可以是STUN、TURN或ICE服务、媒体中继、在席服务等。服务,因此,正被搜索的服务也可以是"统一的服务,,。分布式哈希表被设计为接收这些定位请求。这些接收装置可分布在所有节点上,或者分布在仅仅一部份节点上。服务定位请求从网络单元接收,但可穿过中间设备。在某些情况卞,;这些中间设备中的一部分可以解析服务定位请求的内容,并编辑某些字段,包括确定服务标识符的最终值。在这种情况下,分布式哈希表DHT具有用于搜索与该服务标识符ID相关联的位置信息的装置。该位置信息可对应于分布式哈希表的提供所需服务的一个或多个节点。例如,该位置信息可以是这些节点的IP(因特网协议)地址。在一个变形中,位置信息可对应于分布式哈希表DHT之外的节点。该表用作位置的装置,外部节点(或服务器)使用该表以将自己注册为服务提供者,变成对于服务请求者可访问。然后,该位置信息可被发送到请求网络单元T。在本发明中,分布式哈希表的特征在于,其以使得位置信息与包含至ii少一个服务标识符并对应于PHT二叉树或前缀"^合希表上的叶子的关键字相关联。PHT二叉树在SriramRamabhadran、SylviaRatnasamy、JosephM.Hellerstein和ScottShenker所著的文章"PrefixHashTree-AnIndexingDataStructureoverDistributedHashTables"(才支术净艮告,伯克利英特尔研究,2004年2月)中进行了描述。这是一种在分布式哈希表上部署的结构,以便产生间隔请求。它属于更广范畴的"trie树"。trie树是一种数据结构,其形成用于保存关g的有序树,关联表的关键字是字符串。trie树的更完整定义可以在DonaldKmith的著作"计算机编程技术第3巻排序与搜索"(第三版,Addison-Wesley,1997年,第492—512页)中找到。。在PHT中,字符串是二进制字符串。通常,在PHT中,节点的标签没有^^在节点内,但可以从树内的节点的位置中导出。图3给出PHT的图。每个节点或者有两个子节点或者没有。如果没有,则称为二叉树的"叶子"。在图中,节点p5、p6、p8、p10、pll、p13、p14、pl6和pl7是叶子。该属性确保PHT二叉树的叶子形成一组通用前缀对于每个关键字,只有一个叶子的标签是该关键字的前缀。当节点不是叶子时,其两个子节点的每一个都通过具有二进制值,即"0"值(图中的左手分支)或'T,值(图中的右手分支)的分支连接到该节点。将从根pl开始并扩展到一个叶子的分支的值连接在一起以给出该叶子的标签。例如,叶子p14具有标签"00100",叶子p10具有标签"110",等。因此,加标签可以被看作递归法如果节点的标签是I,则其左和右子节点分别是"10"和"II"。关键字被保存在PHT二叉树的叶子内,其取决于这些叶子的标签。更具体地,关键字K被保存在其标签是关键字K的前缀的叶子中。根据以上论述,下表给出了图3所示的例子的关键字与匹配叶子之间的匹配的例子。叶子<table>tableseeoriginaldocumentpage13</column></row><table>为了建造PHT二叉树,使用两个规则-每个叶子包含有限数量的关键字。该最大值此后标记为B。-每个中间节点在其子树中包含最多B+l个。作为这两个规则的结果,如果一个叶子以包含比极限B更多的关键字结束,则成为内部节点,创建两个新叶子作为其子节点。这些关键字被分配在两个子叶子中。例如,如果足够多数量的关键字被添加到叶子P11上,则从pll中创建两个新的叶子标签为"1110"的左侧叶子plla和标签为"1111"的右侧叶子pllb。那么,节点pll变成内部节点。相反,如果内部节点在其子树上不具有足够的关键字,则子树叶子与其父亲内部节点合并。例如,如果叶子plO和pll不再包含足够的关键字,则这两个叶子消失,其关键字被保存在节点p7中,那么p7变成叶子。另外,每个关键字在关键字-叶子关联中仅出现一次。虽然单个叶子可包含多个关键字(如表中的例子所给出的),但是,单个关键字只被分配给一个叶子。另外,为了优化数据结构,二叉树上的每个叶子可具有指向被定位到其紧挨着的右方和左方的叶子的指针。因此,例如,叶子p6具有指向叶子p5和p10的指针;叶子p13具有指向叶子p5和p17的指针。如上所述,这种二叉树建立在分布式哈希表DHT的"上面,,。对于分布式哈希表,有多种可能的实现。为了容易理解,图l描述了简化的例子,但是,本发明不应当被理解为限于该特定实施方式。分布式哈希表DHT的一组节点X^X2、X3…Xn扮演相同的角色。为了保存或恢复该表(或网络)中的值,这些节点中的任何一个都可能净皮联系。在图l所给出的例子中,如上所述,设备D通过向节点X3提供逻辑地址来查询节点X3。该节点基于所提供的逻辑地址计算哈希函数H。哈希函数是用于将属于较大规模的组(所有可能的逻辑地址的组)的值转换成属于较小规模的组的第二值的函数。在此,该第二值是在包含1和N在内的1和N之间的数字,其中N是分布式哈希表DHT中节点的数哈希函数H通常应当遵守以下的数学属性H(X)^H(y)-x-y。另外,如果x^y,则H(X)-H(y)的概率必然高。函数H理想地适合于获得寻址空间内的统一关键字分布。该分布倾向于与大量的关键字的统一性。哈希函数所返回的值i使节点X3推断出节点&可能是拥有所接收的逻辑地址与对应域之间的关联的节点。节点X3将该请求传输给节点Xj。如果该节点确实拥有该关联,则它可返回与该逻辑地址相关联的域。否则,它可将该请求传输到可能拥有该关联的另一个(邻居)节点。通过迭代,算法朝着实际上拥有该关联的节点越来越近地收敛。保存新关联的原理是类似的。在对等DHT网络上的任何节点接收保存请求,并基于哈希函数和逻辑地址计算一个值。该值从分布式哈希表DHT的所有节点中确定一个特定节点,第一个节点向该特定节点重发保存请求。所指定的节点保存关联。在本发明使用PHT二叉树的情况下,PHT二叉树的节点的标签被分布在哈希表DHT内。具体地,为了保存标签,哈希函数H被应用于该标签,二叉树节点被保存在由哈希函数H返回的值所确定的哈希表节点上。在本发明中,关键字包含至少一个服务标识符,并与位置信息相关联。例如,关键字可包含物理地址、IP地址/端口配对等。例如,关键字还可包含其它信息,诸如所使用的传输协议。关键字的结构可以如下所示<table>tableseeoriginaldocumentpage15</column></row><table>如果地址是IPv4,则该关键字可以是例如72比特。服务标识符占据16比特,传输协议8比特,IPv4地址32比特,端口16比特。传输协议指示通常使用IANA(互联网编号分配机构)所定义的值。对于IPv6地址,长度为128比特。必然地,在不脱离本发明的范围的情况下,可以添加其它字段。例如,如在IETF的RFC1630中给出的定义统一资源标识符或URI的所有或部分参数可以被添加到关键字结构或标签中。因此,本发明具有额外的优点集成如在RFC1630中给出的URI的所有参数(或子集)。这在使用诸如以上所述的传统的对等方法时是不可能的,因为在对等网络中使用的索引是二进制数字,而URI是ASCII字符串。通过使用PHT二叉树,本发明可以使用所有的(如果需要的话)URI的ASCII参数。关键字对应于PHT二叉树上的叶子。更准确地,如上所述,每个关键字被保存在其标签是关键字的前缀的叶子中。标签(其通常比关键字小)被分布在分布式哈希表DHT的节点中,如上所述。以上已示出分布式哈希表DHT净皮设计为接收定位请求。这些请求包含至少一个服务标识符。另外,还具有用于搜索提供该服务标识符所表示的服务的一个或多个位置信息的搜索装置。为此,搜索装置被设计为在PHT二叉树内搜索包含在其标签对应于服务标识符的一个或多个叶子中的关键字。几种搜索方法是可能的。一些在所引用的SriramRamabhadran、SylviaRatnasamy、JosephM.Hellerstein和ScottShenker的文章中描述。例如,如果请求包含"STUN"服务的标识符,则搜索装置可以搜索提供该STUN服务的一个节点,或者提供该STUN服务的几个节点,或者甚至提供该STUN服务的所有节点。换句话说,如果多个节点"STUN1"、"STUN2"、"STUN3"、…提供相同的服务,则请求的发送方无需指定其联系哪个节点。该机制是透明的,甚至不需要知道有多少个节点正在提供所请求的服务。特别地,由于在相邻叶子中使用指针,因此,可能容易进行间隔搜索。并且,定位请求可包含象"STUN"的服务标识符而无需指定是否是"STUN1"、"STUN2"等。于是,搜索装置必须找到所有或一部分对应的叶子。分布式哈希表必须搜索的回复的数量可以在定位请求中指定;例如,如果发送方只想要提供服务的N个节点,或者提供服务的所有节点的集合。在通过搜索发现的叶子中保存的关键字包含位置信息,其对应于分布式哈希表中提供所请求的服务的节点。如上所述,它们可以是具有短关键字的二进制字段。该位置信息被返回到定位请求的发送方。接着,发送方可使用该位置信息以联系分布式哈希表DHT的节点。图4示出本发明用于在通信网络内定位STUN服务的实例性应用。四个设备NpN2、N3、N4在分布式哈希表DHT内连接。子网SN将节点N2与其它节点N!、N3、N4隔离。网络地址转换器NAT将该子网SN连接到通信网络的其^P分。这些节点中的一部分提供STUN服务,并在图中用阴影线表示。它们是节点NpN2和N"为了能够产生所期望的结果和功能,STUN服务必须位于通信网络的公共空间。其一定不在通过NAT设备与公共空间隔离的子网中。请求服务的设备在专用子网内是自身已知的真正事实不足以断定位于NAT设备的另一侧的STUN服务自动在公共空间中,因为子网可以是彼此嵌套的。为了解决这个问题,已知属于公共空间的节点最初被定义为STUN服务的提供者。它用作引导器。在图4中,它是节点Nj。该初始指定可以人工地或通过本发明之外的自动机制来进行。于是,分布式哈希表DHT中包括STUN功能的每个节点可以经由STUN机制自我检测,以便告知其是在7>共空间内还是在NAT设备的后面。为此,采用已知的方式,节点N4例如向节点I^发送STUN请求。&向N4返回其看见其拥有的IP地址。由于在两个节点之间没有发现NAT设备,因此,节点N!所观察的地址是节点N4的"真实"地址。因此,,N4告知它在公共空间中,并将自身添加到分布式哈希表DHT中,作为STUN服务的提供者。节点N2可以与提供STUN服务的一个节点,即节点N,或节点N4,抹行相同的操作。然而,这一次,所查询的节点返回与N2已知的地址不同的地址。那么,N2可以推断出它在通过NATi殳备与/^共区域分离的子网SN内。因此,N2不将自己添加到提供STUN服务的节点的列表中。使用上述的方法,执行向列表添加节点。首先,基于STUN服务标识符以及诸如IP地址和端口的位置信息,构造关键字。然后,该关键字被保存在其标签分布在分布式哈希表DHT内的PHT二叉树内。位于子网SN2内并在网络地址转换器NAT2后面的i殳备D想要访问STUN服务。为此,其向分布式哈希表DHT发送定位请求。如上所述,然后,分布式哈希表DHT搜索所保存的信息,并返回]^和N4的地址,或者只返回其中的一个地址。然后,设备D可以联系该分布式哈希表的特定节点以获得STUN服务。18权利要求1.一种通信网络(NET),包括分布式哈希表(DHT),所述分布式哈希表(DHT)的节点(X1,X2,X3...XN)提供对于连接到所述通信网络的网络单元(T)能够访问的服务,所述分布式哈希表(DHT)具有-用于从网络单元(T)接收服务定位请求(R)的装置,所述请求包含至少一个服务标识符(ID);以及-搜索装置,用于在所述分布式哈希表内搜索至少一个位置信息,并将其传输给所述网络单元,其中每一个位置信息对应于提供由所述服务标识符表示的服务的节点;其特征在于,组织所述哈希表,以致位置信息与包含至少一个服务标识符的关键字相关联,所述关键字对应于其节点的标签分布在所述分布式哈希表内的PHT二叉树上的叶子;所述搜索装置被设计为在所有或一部分叶子中搜索位置信息,并将其传输给所述网络单元,其中所述叶子的标签是包含在所述服务请求内的服务标识符的前缀。2.根据权利要求1所述的通信网络,其中,所述网络单元(T)是通信客户机,特别地,是被设计为使用SIP协议进行通信的通信客户机。3.根据权利要求1或2所述的通信网络,其中,所述通信客户机是通信终端。4.根据前述权利要求之一所述的通信网络,其中,所述标签和所述关键字是二进制字,所述标签以使得以降序排列的每个比特的权重对应于所述二叉树内增长的深度层级的方式形成。5.根据前述权利要求之一所述的通信网络,其中,所述服务是STUN和/或TURN,和/或符合IETF的RFC3489bis。6.根据前述权利要求之一所述的通信网络,其中,所述节点是所述分布式哈希表(DHT)的节点(XhX2,X3...Xn)中的一个。7.根据前述权利要求之一所述的通信网络,其中,所述标签由至少一个服务标识符、传输协议指示、位置信息和端口构成。8.根据前述权利要求之一所述的通信网络,其中,所述标签还包括根据IETF的RFC1630定义通用资源标识符URI的所有或一部分参数。9.一种使通信设备(D)能够访问由分布式哈希表(DHT)提供的服务的方法,包括传输服务定位请求的步骤,其中所述请求包含所述服务的服务标识符;以及在所述分布式哈希表中搜索至少一个位置信息的步骤,其中每一个位置信息对应于提供所述服务的节点;其特征在于,所述搜索步骤包括在其节点的标签分布在所述分布式哈希表内的PHT二叉树中搜索关键字,所述关键字至少包含所述服务标识符,所述搜索包括在所有或一部分叶子中搜索位置信息,其中所述叶子的标签作为所述服务标识符的前缀。10.根据权利要求9所述的方法,其中,所述网络单元(T)是通信客户机,特别地,是被设计为使用SIP协议进行通信的通信客户机。11.根据权利要求9或10所述的方法,其中,所述通信客户机是通信终端。12.根据权利要求9至11之一所述的方法,其中,所述标签和所述关键字是二进制字,所述标签以使得以降序排列的每个比特的权重对应手所述二叉树内增加的深度层级的方式形成。13.根据权利要求9至12之一所述的方法,其中,所述服务是STUN和/或TURN,和/或符合IETF的RFC3489bis。14.根据权利要求9至13之一所述的方法,其中,所述节点是所述分布式哈希表(DHT)的节点(X"X2,X3...XN)中的一个。15.根据权利要求9至14之一所述的方法,其中,所述标签由至少一个服务标识符、传输协议指示、位置信息和端口构成。16.根据前述权利要求之一所述的方法,其中,所述标签还包括根据IETF的RFC1630定义通用资源标识符URI的所有或一部分^lt。17.—种计算机程序,其被设计为每当在信息处理设备上运行时,执行根据权利要求9至16之一所述的方法。、18.—种计算机介质,包含根据权利要求17所述的计算机程序。全文摘要本发明涉及一种包括分布式哈希表(DHT)的通信网络(NET),在该分布式哈希表中,节点(X1,X2,X3...XN)提供能够被网络单元(T)访问的服务,并包括用于接收服务定位请求(R)的装置,所述请求包含至少一个服务标识符(ID);用于在哈希表中搜索至少一个位置信息的搜索装置。本发明的特征在于,组织哈希表,以致位置信息与包含至少一个服务标识符并对应于节点标签分布在哈希表中的PHT类型的二叉树的叶子的关键字相关联;搜索装置用于在一部分或所有叶子中搜索位置信息,其中所述叶子的标签是包含在服务请求中的服务标识符的前缀。文档编号G06F17/30GK101689195SQ200880019068公开日2010年3月31日申请日期2008年4月24日优先权日2007年6月8日发明者J-F·沃蒂,T·弗罗门特申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1