分组交换网络中的方法和设备的制作方法

文档序号:7739403阅读:126来源:国知局
专利名称:分组交换网络中的方法和设备的制作方法
技术领域
本发明涉及支持多播 的分组交换网络(如IPv6网络)中的方法和设备,以及具体来说涉及用于实现内容可搜索网络的解决方案。
背景技术
因特网协议(IP)网络是包括多个服务器和路由器的分布式环境。这些服务器的其中一些可以是存储要在其它服务器与用户之间共享的内容的内容服务器。当搜索特定内容时,问题在于查找提供该特定内容的服务器。用于搜索内容的现有机制有索引服务器、泛洪(flooding)和各种复杂的算法。在索引服务器中,内容拥有方将资源的信息发布到索引服务器。当某人希望搜索内容时,他向索引服务器发送请求,并且索引服务器响应该请求。这是有效率的解决方案,但是如果索引服务器发生故障,则整个索引机制失效。在泛洪中,每个服务器记录其邻居的IP地址。当服务器希望搜索某个东西时,它向所有相邻服务器发送请求。然后,相邻服务器将该请求转发到相邻服务器的邻居。这显然不是有效率的解决方案,因为它占用大量带宽,但是该解决方案不依赖于作为索引服务器的一个单点。如Chord、伪DHT的复杂算法能够用于优化泛洪的行为。这些算法使得仅向邻居的子集发送请求成为可能。

发明内容
因此,问题在于实现一种用于分布式环境中(如IP网络中)的内容搜索的解决方案。根据本发明的第一方面,提供一种用于在支持多播的网络中发布内容的服务器中的方法。该方法包括将内容存储在存储器中,由第一关联器将内容与至少一个字符串关联。对于至少一个字符串中的每个字符串,由第二关联器将该字符串与多播地址关联,以及服务器通过输入来监听所述多播地址以能够在所述多播地址上接收对存储内容的请求。根据本发明的第二方面,提供一种在支持多播的网络中用于搜索该网络中的内容的方法。在第一步骤中,由输入接收要用于搜索所述内容的字符串。即,用户可以经由输入装置手动输入字符串。由关联器将该字符串与多播地址关联。在后一步骤中,将对所述内容的请求发送到所述多播地址。该请求除了直接与内容请求相关的信息外还可以包含验证信息。根据本发明的第三方面,提供一种用于在支持多播的网络中发布内容的服务器。该服务器包括用于存储内容的存储器和用于将该内容与至少一个字符串关联的第一关联器。此外,提供用于将字符串与多播地址关联的第二关联器,以及提供用于监听所述多播地址以能够在所述多播地址上接收对存储内容的请求的输入。根据本发明的第四方面,提供一种调适成用于在支持多播的网络中搜索内容的节点。该节点包括用于接收要用于搜索所述内容的字符串的输入。可以经由输入装置从最终用户(例如经由最终用户终端)接收这个字符串。另外,提供用于将字符串与多播地址关联的关联器,以及用于向所述多播地址发送对所述内容的请求的输出。本发明实施例的优点在于,该解决方案对于故障是健壮的。另外优点在于,该解决方案是有效率且简单的。



图I示出可实现本发明的典型拓扑。图2示出根据本发明的实施例的内容拥有方。图3示出根据本发明的实施例的搜索器。图4示出根据本发明的实施例的内容服务器和搜索器服务器。图5和图6是根据本发明的实施例的方法的流程图。
具体实施例方式下文将参考附图更全面地描述本发明,附图中示出了本发明的优选实施例。但是,本发明可以采用很多不同形式来实施,且不应被解释为限于本文所阐述的实施例;更确切地说,提供这些实施例使得本公开将是透彻且完整的,并且将全面地把本发明的范围传达给本领域技术人员。在附图中,相似的参考符号指相似的单元。此外,本领域技术人员将领会,可以使用结合按照编程的微处理器或通用计算机来起作用的软件和/或使用专用集成电路(ASIC)来实现下文中说明的装置和功能。还将领会,虽然主要以方法和装置的形式来描述本发明,但是还可以在计算机程序产品以及包括计算机处理器和耦合到处理器的存储器的系统中实施本发明,其中存储器编码有可以执行本文公开的功能的一个或多个程序。为了在分布式环境中(如IPv6网络中)使能有效率的内容搜索,设想是利用多播。可以实现本发明的分布式环境的示例是目前支持多播的IPv6网络,但是能够在支持多播的所有网络中使用本发明。分布式环境通常包括多个服务器和路由器,其中这些服务器的其中一些是内容服务器。能够将每个内容与一个或多个字符串关联。本发明涉及这样的情况服务器或另一个实体希望通过使用字符串来搜索内容且搜索器(searcher)然后将查找具有与所使用的字符串关联的内容的所有服务器。内容的示例是TV剧场的剧集,其中字符串是参与该TV剧场的一个演员的姓名。因此,服务器存储内容并且至少一个字符串与该内容关联。应该注意,虽然内容与字符串之间的一对一映射可能是优选的,但是多个字符串可以用于一个内容。根据本发明,每个字符串在某个方面描述内容,并且每个字符串与多播地址关联。能够通过例如对字符串应用产生数序列(例如十六进制数序列或另一种序列)的函数来执行与多播地址的关联。然后可以将序列转换成多播地址。内容拥有方监听它能够接收到对其存储的内容的请求的多播地址。因此,当服务器通过使用上述字符串来搜索内容时,搜索服务器将该字符串与内容服务器相同的多播地址关联,并将该请求发送到内容拥有方监听的该多播地址。因此,如果内容存在,则仅通过一个请求来查找内容是可能的。多播地址可以是链路本地多播地址,在RFC 2373中对其有进一步描述。
图I示出可实现本发明的实施例的典型拓扑。为了在网络中使能多播,将支持多播的交换机或路由器104连接到服务器。另外,拥有内容的服务器100、102必须具有至网络(例如IPv6网络)的连接。另外,实现本发明的网络应该具有指派多播地址的权限,但是那并非要求。现在将结合图2和图3来描述本发明的实施例。图2和图3示出服务器A 100拥有内容(内容A)的情形,其中内容A 与字符串202 “任何字符串”(“any string”)关联,并且“任何字符串”在至少一个方面描述内容A。内容的示例可以是音乐视频,并且字符串可以是音乐视频的艺术家的姓名。另一个示例是内容A是书籍,与该书籍关联的第一字符串是该书籍的作者,以及与该书籍关联的第二字符串是该书籍的标题。在这个示例中,服务器将监听两个多播地址,每个字符串一个多播地址。另一个服务器(服务器B 102)搜索内容A,并因此搜索拥有内容A的服务器100。如图2中所示,服务器A 100存储与“任何字符串”202关联的内容,并且服务器A100调用函数204 (在这个示例中,函数204是散列函数)以生成序列206,以十六进制数序列“AB⑶1234AB⑶1234AB⑶12345678”举例说明。然后,由转换器208将这个序列206转换成多播地址210,例如链路本地多播地址,例如,由转换器208转换成FF02:ABra:1234:ABra:1234: ABCD: 1234:5678。通过监听多播地址 FF02: ABCD: 1234: ABCD: 1234: ABCD: 1234:5678,服务器A能够接收对与关键字“任何字符串”关联的内容的请求。换言之,服务器A通过监听212这个多播地址将信息“我拥有与字符串“任何字符串”关联的内容”发布到分布式环境。现在转到图3,其示出通过使用字符串“任何字符串”来搜索内容的服务器102 (月艮务器102可以是包括多播功能性的任何实体),服务器B。服务器B 102对字符串302 “任何字符串”应用与服务器A 100相同的函数304。这个函数304必须是在分布式环境中全局地已知的。因为对相同的字符串应用相同的函数304,所以将获得相同的序列306。在服务器B 102中以与服务器A 100中相同的方式转换这个序列306,并因此获得相同的多播地址210。为了搜索与字符串302 “任何字符串”关联的内容,服务器B 102向所获得的多播地址210发送一个请求。监听该多播地址(即,加入该多播群)的所有服务器将接收到对该内容的请求。并且,加入该多播地址的所有服务器具有与字符串“任何字符串”关联的内容。虽然所有服务器可能并非包含同样的内容。当内容拥有方在该多播地址上接收到请求时,它回复搜索服务器。搜索服务器可以接收到多于一个回复。在该情况中,需要在回复之间进行选择并选择所找到的内容之一的机制。但是,这种机制不在本发明的范围内。因此,如图5的流程图中所示,提供一种用于在支持多播的网络中发布内容的服务器中的方法。该方法包括将内容存储501在存储器中,由第一关联器将内容与至少一个字符串关联502。对于至少一个字符串中的每个字符串,由第二关联器将该字符串与多播地址关联503,以及服务器通过输入来监听504所述多播地址以能够在所述多播地址上接收对存储内容的请求。另外,将字符串与多播地址关联的步骤还可以包括对字符串应用503a函数以生成序列,并将序列转换503b成多播地址。此外,图6的流程图中示出一种用于IP网络中搜索内容的方法。在第一步骤601中,由输入接收要用于搜索所述内容的字符串。即,用户可以经由输入装置手动输入字符串。在步骤602中,由关联器将该字符串与多播地址关联。在后一步骤603中,将对所述内容的请求发送到所述多播地址。该请求除了直接与内容请求相关的信息外还可以包含验证信息。根据一个实施例,将字符串与 多播地址关联的步骤包括对字符串应用602a函数以生成序列,并将序列转换602b成多播地址。IPv6多播地址是一群节点的标识符。节点(例如,服务器)可以属于任何数量的多播群。在RFC 2373中,多播群标识包括112个位。所以,理论上,可以使用2112=5. 19e+33个多播群。但是,多播群的总数量不一定限制字符串的可能数量。如果字符串的数量大于5. 19e+33 (即,可能多播群的数量),则可使用函数来将多个字符串映射到一个单个多播地址,并因此使能大于5. 19e+33个可能的字符串。作为另外备选,还可能利用IP地址的端口号,其也扩大可能字符串的数量,因为每个IP地址具有65535个端口号。要应用于字符串的函数必须是在分布式环境中全局地已知的。希望作为根据本发明实施例的方法的一部分的每个服务器必须知悉这个函数。该函数以散列函数为例来说明,但是能够将字符串均匀地映射到例如数空间的其它函数也是可能的。例如,如果有2112=5. 19e+33个不同字符串,则期望该函数应该将每个字符串映射到一个专用的多播地址。如果服务器位于不同的链路中,即,服务器不能够彼此直接访问并且必须使用路由器或L3交换机,则使用站点本地或组织本地或全局范围的多播群(多播IP路由选择)是可能的,其具有 FF05:x:x:x:x:x:x:x、FF08:x:x:x:x:x:x:x 和 FF0E:x:x:x:x:x:x:x 的格式。内容拥有方应该监听以FF02、FF05或FFOE开头的IP地址,并且搜索方也应该向这些群发送请求。那意味着,可能需要IPv6多播路由选择支持来跨IPv6路由器或交换机转发请求。在这个情况中,所有这些网络装置应该是IPv6多播路由选择使能的。现在转到图4,其示出用于IP网络中发布内容的服务器100。服务器100包括用于存储内容的存储器402和用于将该内容与至少一个字符串关联的第一关联器404。此外,提供用于将字符串与多播地址关联的第二关联器406,以及提供用于监听所述多播地址以能够在所述多播地址上接收对存储内容的请求的输入408。第二关联器406还可以包括用于对字符串应用如散列函数的函数以生成序列的应用器,以及用于将序列转换成多播地址的转换器。图4中还示出节点102,如服务器或最终用户终端,其调适成用于IP网络中搜索内容。节点102包括用于接收要用于搜索所述内容的字符串的输入420。可以经由输入装置从最终用户(例如经由最终用户终端)接收这个字符串。另外,提供用于将字符串与多播地址关联的关联器422,以及用于向所述多播地址发送对所述内容的请求的输出424。这个关联器422还可以包括用于对字符串应用函数以生成序列的应用器,以及用于将序列转换成多播地址的转换器。还应该注意在小网络中,广播对内容的请求是可能的,这意味着所有内容拥有者将接收到所有请求。可以在缺乏多播支持的网络中和支持多播的网络中均使用这个广播解决方案,因为广播解决方案可以比小网络中的多播更低成本。本领域技术人员受益于前文描述和关联附图中提出的教导,将想到所公开的本发明的修改和其它实施例。因此,要理解本发明不限于所公开的特定实施例,并且打算将修改和其它实施例包括在本公开的范围内。虽然本文可能采用特定的术语,但是仅是在通用和描述性意义上而非为了限制的目 的来使用它们。
权利要求
1.一种用于在支持多播的网络中发布内容的服务器中的方法,所述方法包括如下步骤 -存储(501)内容, -将所述内容与至少一个字符串关联(502 ), 对于所述至少一个字符串中的每个字符串 -将所述字符串与多播地址关联(503),以及 -监听(504)所述多播地址以能够在所述多播地址上接收对存储内容的请求。
2.根据权利要求I所述的方法,其中将所述字符串与多播地址关联的步骤包括 -对所述字符串应用(503a)函数以生成序列,以及 -将所述序列转换(503b)成所述多播地址。
3.根据权利要求1-2中任一项所述的方法,其中所述函数是散列函数。
4.根据权利要求1-3中任一项所述的方法,其中所述多播地址是链路本地多播地址。
5.—种在支持多播的网络中用于搜索所述网络中的内容的方法,所述方法包括如下步骤 -接收(601)要用于搜索所述内容的字符串, -将所述字符串与多播地址关联(602),以及 -将对所述内容的请求发送(603)到所述多播地址。
6.根据权利要求5所述的方法,其中将所述字符串与多播地址关联的步骤包括 -对所述字符串应用(602a)函数以生成序列,以及 -将所述序列转换(602b)成所述多播地址。
7.根据权利要求5-6中任一项所述的方法,其中所述函数是散列函数。
8.根据权利要求5-7中任一项所述的方法,其中所述多播地址是链路本地多播地址。
9.根据权利要求5-8中任一项所述的方法,其中经由输入装置从最终用户接收所述字符串。
10.一种用于在支持多播的网络中发布内容的服务器(100),所述服务器(100)包括用于存储内容的存储器(402)、用于将所述内容与至少一个字符串关联的第一关联器(404)、用于将所述字符串与多播地址关联的第二关联器(406)以及用于监听所述多播地址以能够在所述多播地址上接收对存储内容的请求的输入(408 )。
11.根据权利要求10所述的服务器(100),其中所述第二关联器(406)还包括用于对所述字符串应用函数以生成序列的应用器,以及用于将所述序列转换成所述多播地址的转换器。
12.根据权利要求10-11中任一项所述的服务器(100),其中所述函数是散列函数。
13.根据权利要求10-12中任一项所述的服务器(100),其中所述多播地址是链路本地多播地址。
14.一种调适成用于在支持多播的网络中搜索内容的节点(102),包括用于接收要用于搜索所述内容的字符串的输入(420)、用于将所述字符串与多播地址关联的关联器(422)以及用于向所述多播地址发送对所述内容的请求的输出(424)。
15.根据权利要求14所述的节点(102),其中所述关联器(422)还包括用于对所述字符串应用函数以生成序列的应用器,以及用于将所述序列转换成所述多播地址的转换器。
16.根据权利要求14-16中任一项所述的节点(102),其中所述函数是散列函数。
17.根据权利要求14-16中任一项所述的节点(102),其中所述节点是服务器。
18.根据权利要求14-16中任一项所述的节点(102),其中所述节点是移动终端。
19.根据权利要求14-16中任一项所述的节点(102),其中所述多播地址是链路本地多播地址。
全文摘要
本发明涉及分布式环境中(如IPv6网络中)的内容搜索。这通过根据与要搜索的内容关联的字符串导出多播地址来实现。搜索方和拥有内容的服务器使用共同函数来导出这个多播地址。内容拥有方监听这个多播地址,并且搜索方在该多播地址上发送对内容的请求。
文档编号H04L12/56GK102714616SQ200980163009
公开日2012年10月3日 申请日期2009年12月18日 优先权日2009年12月18日
发明者王金辉 申请人:爱立信(中国)通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1