CN103299295A - 对等网络中的搜索 - Google Patents
对等网络中的搜索 Download PDFInfo
- Publication number
- CN103299295A CN103299295A CN2010800707775A CN201080070777A CN103299295A CN 103299295 A CN103299295 A CN 103299295A CN 2010800707775 A CN2010800707775 A CN 2010800707775A CN 201080070777 A CN201080070777 A CN 201080070777A CN 103299295 A CN103299295 A CN 103299295A
- Authority
- CN
- China
- Prior art keywords
- node
- bloom filter
- search
- peer
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
本文公开了用于搜索结构化P2P网络的方法和设备。请求节点获得搜索词,并用使用搜索词生成布隆过滤器。布隆过滤器被发送到搜索节点,搜索节点比较收到的布隆过滤器和在搜索节点可访问的数据库存储的至少一个另外布隆过滤器。该另外布隆过滤器与P2P网络中的另外节点相关联。如果该布隆过滤器与该另外布隆过滤器匹配,则搜索节点向请求节点发送该另外节点的身份。这允许请求节点查询该另外节点是否有要求的数据。
Description
技术领域
本发明涉及在对等网络中的数据搜索领域。
背景技术
对等(P2P)网络利用包括处理能力和通信带宽等参与节点的汇集资源,以有利于包括文件共享和VoIP电话等各种各样的服务。在缺少中央服务器时,特定P2P服务可利用“覆盖网络”优化资源位置。覆盖网络包括由虚拟链路连接的节点,虚拟链路表示跨基础网络(例如,因特网)中的可能许多物理链路延伸的路径。覆盖网络中的每个节点保持包含到覆盖网络内某些其它节点的链路集的路由表。资源请求在节点之间传递,直至它们到达负责该资源的节点。
P2P网络能够在许多不同情形中实现。此类情形的示例包括文件共享、话音IP等等。P2P网络可以是未结构化或已结构化。未结构化P2P网络在其组织中没有特定模式;相反,P2P网络中不同对等节点之间的连接相当随机设置。另一方面,结构化P2P网络在对等节点之间具有使用某些算法确定的连接,并且结果P2P网络具有更结构化的模式。迄今为止,最常见类型的结构化P2P网络是基于DHT(分布式哈希表)的网络,如Chord(参阅R. Stoica等人所著:“Chord:用于因特网应用的可扩展对等查找服务”("Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications," Proceedings of the ACM SIGCOMM '01 Conference, San Diego, California, Aug. 2001, pp. 149))。
分布式哈希表(DHT)提供了用于将资源名称(“关键字(key)”)映射到覆盖网络内位置的有效方式。DHT利用哈希算法将例如歌曲名称、SIP URI等关键字映射到例如128比特等有限值空间。哈希算法经选择以确保哈希值跨值空间的相对均匀扩展。因此,例如,100个歌曲名称的哈希将可能产生100个哈希值,这些值跨值空间相对均匀间隔。哈希值在带有几对值的哈希表中存储(关键字,值)。在覆盖网络内的节点根据用户名识别,用户名本身通过哈希运算为相应哈希值。每个节点随后变得对值空间内与其自己值相邻的哈希值集负责。实际上,节点将存储位置(例如,IP地址),从位置能够获得匹配它“拥有”的资源名称的资源。在覆盖网络中的节点接收对资源的请求时,节点确定它是否拥有对应的哈希值。如果有,它将资源的位置返回到请求者(经覆盖网络)。如果它不拥有该哈希值,则它检查其路由表以识别表内具有与请求的哈希值最近的哈希值的节点,并且将请求转发到该节点。接收节点重复该过程并继续,直至请求到达确实拥有对应于请求的哈希值并因此知道资源位置的节点。
当前,P2PSIP在开发之中。P2PSIP是SIP(会话启动协议,参阅J. Rosenberg等人所著“SIP:会议启动协议”("SIP: Session Initiation Protocol," RFC 3261, Internet Engineering Task Force, June 2002))和P2P网络的组合。P2PSIP的主要属性是无需提供集中式服务器,如在IP多媒体子系统(IMS)中使用的那些服务器,并且因此P2PSIP网络比标准IMS网络更健壮并且更可适应更改。
资源位置和发现(RELOAD,参阅C. Jennings等人所著“资源位置和发现(RELOAD)基础协议”("Resource location and discovery (RELOAD) base protocol", Draft, Internet Engineering Task Force, November 2009))是使用Chord作为DHT算法的P2PSIP的实现。RELOAD网络是结构化P2P网络。如果对等节点要获得来自另一对等节点的资源,则通过比较用于资源的关键字和在其它对等节点中存储的关键字,执行查找。如果关键字完全匹配内容,则检索内容将是可能的。
如上所述搜索资源有关的问题是在资源关键字未知时不可能制定搜索。对等节点不能使用不完全匹配用于在另一对等节点中存储的资源的关键字的关键字来查找资源。因此,例如,如果对等节点要查找用于“约翰·史密斯(John Smith)”的电子邮件地址(资源),则他将需要已经知道用于约翰·史密斯的电子邮件地址以便获得该数据。对等节点不能使用例如词语“约翰”或“史密斯”制定搜索,这是因为用于这些词的关键字将不匹配在其它节点存储的任何资源。在搜索对等节点具有的关于它在查看的内容的信息是不完整或不准确的情形中,这成了严重的问题。
发明内容
本文提供了即使在有关在搜索的数据的全部信息不可用的情况下也允许对等节点制定结构化对等网络的搜索的方法和设备。
根据第一方面,提供了一种在结构化对等(P2P)网络中使用的请求节点。请求节点提供有用于获得搜索词的装置。处理器也提供用于使用搜索词生成布隆过滤器。第一传送器用于将布隆过滤器发送到搜索节点,该布隆过滤器可由搜索节点用于执行搜索。第一接收器提供用于从搜索节点接收在P2P网络中另外节点的身份。该另外节点具有对应于该布隆过滤器的另外布隆过滤器识别的数据的访问权。第二传送咕嘟也提供用于将对数据的请求发送到该另外节点以便请求节点能够获得要求的数据。将布隆过滤器用于搜索数据,这允许制定更灵活得多的搜索。
请求节点能够通过许多方式获得搜索词,并且许多不同类型的装置能够使用。装置的可选示例包括用于允许用户输入搜索词的用户输入装置和用于生成搜索词的处理器。
作为选项,第一传送器布置成在RELOAD请求消息中将布隆过滤器发送到搜索节点。
根据第二方面,提供了一种在结构化P2P网络中使用的搜索节点。搜索节点提供有接收器,接收器用于从请求节点接收消息,消息包括从搜索词生成的布隆过滤器。也提供了用于查询数据库的数据库访问功能。数据库存储至少一个另外布隆过滤器,该另外布隆过滤器与P2P网络中的另外节点相关联。处理器用于确定收到的布隆过滤器和另外布隆过滤器是否匹配。如果是,则传送器向请求节点发送该另外节点的身份,以便请求节点能够查询请求节点是否有请求的数据。
作为选项,搜索节点还包括用于从另外对等节点接收布隆过滤器的第二接收器,并且处理器布置成为数据库填充带有与作为收到的布隆过滤器的来源的另外节点的身份相关联的布隆过滤器。
传送器可选布置成将布隆过滤器转发到另外搜索节点。这允许更多搜索节点代表请求节点查找数据,并且增大请求节点获得能够提供请求的数据的另外对等节点的身份的机会。
在一可选实施例中,在RELOAD请求消息中接收来自搜索节点的布隆过滤器。
根据第三方面,提供了一种在结构化P2P网络中使用的对等节点。为对等节点提供了存储器形式的计算机可读媒体,存储器用于存储数据。处理器提供用于使用存储数据的至少一部分生成布隆过滤器。传送器提供用于将布隆过滤器和对等节点的身份发送到搜索节点以便搜索节点在数据的搜索中使用布隆过滤器和节点的身份。
根据第四方面,提供了一种搜索结构化P2P网络的方法。请求节点获得搜索词,并用使用搜索词生成布隆过滤器。布隆过滤器被发送到搜索节点,搜索节点比较收到的布隆过滤器和在搜索节点可访问的数据库存储的至少一个另外布隆过滤器。该另外布隆过滤器与P2P网络中的另外节点相关联。如果该布隆过滤器与该另外布隆过滤器匹配,则搜索节点向请求节点发送该另外节点的身份。
作为选项,方法还包括在搜索节点在从请求节点接收布隆过滤器之前从该另外节点接收另外布隆过滤器,该另外布隆过滤器已使用该另外节点可访问的数据来生成。在数据库中存储从该另外节点收到的该另外布隆过滤器和该另外节点的相关联身份。
方法可选择包括在比较收到的布隆过滤器和在数据库存储的至少一个另外布隆过滤器后,搜索节点将请求发送到另外搜索节点以便改进搜索将成功的可能性。
在此情况下,在将请求发送到该另外搜索节点之前,可选地将比较的结果添加到请求,使得在回复最终被发送回请求节点时,它包含所有搜索节点进行的比较的结果。
在RELOAD请求消息中将布隆过滤器可选择地发送到搜索节点。
根据第五方面,提供了一种包括计算机可读代码部件的计算机程序,计算机可读代码部件在请求节点上运行时,促使请求节点表现得如上在第一方面中所述。
根据第六方面,提供了一种包括计算机可读代码部件的计算机程序,计算机可读代码部件在搜索节点上运行时,促使搜索节点表现得如上在第二方面中所述。
根据第七方面,提供了一种包括计算机可读代码部件的计算机程序,计算机可读代码部件在对等节点上运行时,促使对等节点表现得如上在第三方面中所述。
根据第八方面,提供有一种计算机程序产品,包括计算机可读媒体和如上在第五、第六或第七方面的任何方面中所述的计算机程序,其中,计算机程序存储在计算机可读媒体上。
附图说明
图1以示意图方式在框图中示出根据本发明的一实施例的对等网络和信令;
图2以示意图方式在框图中示出根据本发明的一实施例的消息结构;
图3是示出根据本发明的一实施例的搜索要求的信令的信令图;
图4以示意图方式在框图中示出根据本发明的一实施例的对等节点;以及
图5以示意图方式在框图中示出根据本发明的一实施例的搜索促成器节点;以及
图6以示意图方式在框图中示出根据本发明的一实施例的在对等网络中使用的节点。
具体实施方式
如上所述,使用DHT搜索P2P网络要求确切知道对等节点在搜索的资源(或资源的身份)。本发明者认识到,使用布隆过滤器(Bloom filter)能够执行更灵活和更少限制的搜索。
布隆过滤器是用于测试元素是否为一个集合的成员的具空间效率的概率数据结构。误肯定是可能的,但误否定不可能。具有误肯定的概率随着元素的数量而增大。空布隆过滤器是全部设成具有0值的比特的阵列。为添加元素到布隆过滤器,应用了哈希函数。例如,如果添加与资源有关的数据,则应用哈希函数到数据,并且将结果理解为布隆过滤器中的阵列位置。随后,将布隆过滤器内的那些阵列位置设成1值。更多的元素能够被添加,并且这能够由于用于多于一个元素的值设成1而导致冲突。在元素在阵列中造成相同1值的情况下,布隆过滤器因此能够导致误肯定,并且添加到布隆过滤器的元素越多,查询布隆过滤器时返回误肯定的可能性就越大。然而,将明白的是,布隆过滤器不能返回误否定,这是因为如果元素被输入布隆过滤器中,阵列中的比特只设成1。
参照本文中的图1,网络包括多个对等节点(由圆圈示出)。在此示例中,对等节点1要搜索网络以查找某个资源。网络还包括被指定成搜索节点、在本文中称为搜索促成器(SF) 2、3、4、5的一个或多个对等节点。
考虑对等节点1要查找用于约翰·史密斯的联系人信息的示例。除非对等节点1制定完全匹配DHT中条目的请求,否则,对等节点1将不能找到用于约翰·史密斯的联系人信息。
SF 2用于存储从在其它对等节点存储的数据推导的布隆过滤器。在此情况下,一个或多个SF存储与用于约翰·史密斯的联系人详细信息有关的一个或多个布隆过滤器。
对等节点1使用基于标记的搜索查询SF2。在此情况下,我们假设与约翰·史密斯有关的数据具有与[SIP URI: john.smithwork.com; Name: Smith, John; Address:; Phone: +331234567; Email: john.smithyahoo.fi; Type: person, Company: Firm,...]行一起的某些参数或标记。
存储联系人信息的对等节点创建带有上述参数的布隆过滤器。备选,SF创建布隆过滤器。随后,该布隆过滤器存储在SF中。注意,该布隆过滤器能够手动或自动创建。在SF存储布隆过滤器比在SF存储所有数据的记录更具空间效率得多,由此节点了存储空间。在对等节点要执行数据的搜索而没有执行DHT搜索要求的所有信息时,使用在SF存储的布隆过滤器。
在此示例中,对等节点1只具有与约翰·史密斯有关的部分信息。在此情况下,对等节点1具有的唯一信息是约翰·史密斯的姓名和联系人的类型(人员(person))。对等节点1因此计算用于已知信息的布隆过滤器,并且做出有关将该布隆过滤器发送到的SF的决定。随后,在步骤S1中将请求消息发送到SF 2,查询消息包括生成的布隆过滤器。SF2比较收到的布隆过滤器和在其存储器中存储的布隆过滤器,并且如果发现与在SF 2存储的布隆过滤器的肯定匹配,则SF通过与存储的布隆过滤器相关联的节点的身份做出回复。这允许对等节点1从具有要求的信息的对等节点获得信息。
虽然SF 2能够通过用于布隆过滤器的适合匹配项的列表立即进行回复,但由于更佳的匹配项可能被找到,因此,请求可转发到另外SF。在图1所示示例中,在步骤S2中,SF 2将请求转发到第二SF 3。此过程在步骤S3和S4重复进行,并且请求被转发到SF 4和5。最后,在步骤S5中将回复从SF 5发送到对等节点1。回复包括所有最可能的匹配项,并且随后能够查询识别的对等节点以便获得要求的信息。
注意,此实施例描述请求按顺序发送到每个SF;在备选实施例中,对等节点1能够将请求发送到每个SF。这可以进行使得所有请求在大约相同时间被发送,或备选,对等节点1能够按顺序将请求发送到每个SF,仅在它从一个SF已收到回复后才将请求发送到另一SF。任一情况下,对等节点将接收来自每个SF的回复。
在本发明的一实施例中,SF 1是在RELOAD覆盖网络中的节点。在此情况下,查询消息以请求的形式发送,并且具有图2所示的消息结构。消息6具有报头7和包括搜索过滤器9的消息内容8。安全块11也存在。回复消息具有与请求消息相同的结构,并且还包括节点ID列表9。
搜索促成器2在接收请求消息时,比较有效负载的布隆过滤器和它已存储的布隆过滤器。如果存在是存储的布隆过滤器的超集(即,比特匹配的高百分比)的不同过滤器,则搜索促成器2通过匹配过滤器的对等体的节点ID做出回复。
图1示出在覆盖网络中的路由选择是递归的,并且消息被发送到多于一个SF,但其它备选也是可行的。例如,SF 2可通过回复直接回复对等节点1,而不是将请求消息发送到其它SF。
参照图3,示出根据上述实施例的信令。以下编号对应于图3:
S6. 对等节点1获得搜索词。这例如可为自动化搜索生成,或者由用户输入。
S7. 对等节点1想搜索用于约翰·史密斯的联系人信息,并且因此使用词“约翰”、“史密斯”和“人员”生成布隆过滤器。
S8. 对等节点1确定在RELOAD请求中将布隆过滤器发送到的SF,并且确定RELOAD请求要发送到SF 2。此确定使用服务发现机制做出,并且其示例是ReDiR。
S9. 将包括生成的布隆过滤器的RELOAD请求发送到SF 2。
S10. SF 2比较请求中的布隆过滤器和存储的布隆过滤器,并且根据存储的布隆过滤器确定具有信息的节点ID的列表。注意,此信息可包含一些误肯定结果,但不能包含误否定结果。
S11. SF 2将RELOAD回复发送到对等节点1,回复包括用于具有约翰·史密斯的联系人信息的节点的节点ID。备选,请求可转发到覆盖网络中的另一SF。
上述示例假设使用了RELOAD协议,但将领会的是,类似的信令能够由使用诸如P2PP或专有协议等其它协议的消息携带。
为使SF 2有效运行,它必须获得与P2P网络中其它对等节点保持的数据有关的布隆过滤器。其它对等节点存储表示它们具有访问权的数据的布隆过滤器,并且这些布隆过滤器被发送到至少一个SF。
现在转到图4,图中示出对等节点1。对等节点1提供有用于获得搜索词的装置。这例如可以是诸如键盘、鼠标、触摸屏等的数据输入装置。这允许对等节点1的用户输入搜索词。备选,装置12可以是作为自动化搜索的一部分自动生成搜索词的处理器。提供了布置成使用搜索词生成布隆过滤器的处理器13。第一传送器14布置成将布隆过滤器发送到SF 2。第一接收器15布置成从SF或另一SF接收在P2P网络中另外节点的身份,该另外节点具有对应于搜索词并且由对应于该布隆过滤器的另外布隆过滤器识别的数据的访问权。第二传送器也提供用于将对数据的请求发送到另外节点。
在另外实施例中,对等节点1提供有存储器17形式的计算机可读媒体。计算机程序18可存储在存储器17上。计算机程序由处理器执行时,它促使对等节点1表现得如上所述。
图5示出SF 2。SF 2提供有用于从对等节点1接收消息的接收器1,消息包括从搜索词生成的布隆过滤器。数据库访问功能20提供用于查询数据库21。注意数据库21可位于SF本地或者在远程单独位置。在图4所示示例中,它位于SF 2。数据库填充有从其它对等节点获得的布隆过滤器,每个布隆过滤器与作为获得其的来源的对等节点的身份相关联。
处理器22提供用于确定从对等节点1收到的布隆过滤器是否匹配在数据库21中存储的布隆过滤器。如果是,则传送器23将该另外节点的身份发送到对等节点1。
在另外实施例中,SF 2提供有存储器24形式的计算机可读媒体。计算机程序25可存储在存储器24上。计算机程序由处理器执行时,它促使SF 2表现得如上所述。
在SF 2获得来自另外P2P节点的布隆过滤器以便填充数据库21的情况下,它提供有用于从其它对等节点接收包含至少一个布隆过滤器的消息的第二接收器27。处理器22随后能够使用收到的信息为数据库21填充布隆过滤器和作为收到的布隆过滤器的来源的相关联节点。
SF 2可实现为单独的节点,或者例如实现为在DHT对等体上的服务器组件。
为填充数据库21,每个SF必须接收来自P2P网络中其它节点的布隆过滤器。图6示出此类节点28。节点28提供有存储器29形式的计算机可读媒体以便存储数据。处理器30使用存储数据的至少一部分生成布隆过滤器,并且使用传送器31将布隆过滤器和节点的身份发送到SF 2。这允许SF在数据的搜索中使用该布隆过滤器和节点的身份。接收器32也可提供以接收来自SF 2的对布隆过滤器的请求。
在另外实施例中,计算机程序33存储在存储器29上或者在不同存储器。计算机程序33由处理器执行时,它促使节点26表现得如上所述。
即使内容不完全匹配搜索词,本发明也允许对等节点1搜索能够是任何类型的数据的内容。通过使用提供节点列表和它们具有请求的数据的可能性的SF,本发明也提供了由请求对等节点获得数据的方式。以上描述使用RELOAD协议作为示范协议,但将领会的是,任何适合的协议均可使用。
例如,如果用户在P2P网络中搜索特定影片,则使用现有技术方法,他将需要知道确切数据,例如,影片的名称等等。使用本发明时,用户能够制定更宽松的搜索词,并且仍找到该影片。在此情况下,通过对值[题目:奥林匹克2010,比特率:162 bps,长度:200分钟,大小:700 MB,格式:avi,类型:电影,种类:体育,年份:2010,…(Title: Olympics 2010, Bitrate: 162 bps, Length: 200 minutes, Size: 700 MB, Format: avi, Type: Movie, Genre: Sports, Year: 2010,...)]进行哈希处理,可已创建与影片有关并且在SF 2中存储的布隆过滤器。寻找影片但不知道确切标题的对等节点1能够使用搜索词“电影 体育 2010(movie sports 2010)”。通过对这些词进行哈希处理,创建布隆过滤器,并且该布隆过滤器将与在SF 2存储的布隆过滤器具有肯定匹配。SF 2通过与存储的布隆过滤器相关联的节点的身份做出响应,并且对等节点1能够从该节点直接请求该影片。
在备选实施例中,SF可将请求直接转发到已存储数据的节点,允许节点将数据直接提供到请求对等节点1而对等节点1不必提出单独的请求。
本领域的技术人员将理解,在不脱离随附权利要求书中定义的本发明的范围的情况下,可对上述实施例进行各种修改。
本说明书中使用了以下缩略词:
RELOAD 资源位置与发现
DHT 分布式哈希表
P2P 对等
P2PP 对等协议
P2PSIP 对等会话启动协议
SF 搜索促成器。
Claims (17)
1. 一种在结构化对等网络中使用的请求节点(1),所述请求节点包括:
用于获得搜索词的装置(12);
处理器(13),用于使用所述搜索词生成布隆过滤器;
第一传送器(14),用于将所述布隆过滤器发送到搜索节点;
第一接收器(15),用于从所述搜索节点接收所述对等网络中另外节点的身份,所述另外节点具有由对应于所述布隆过滤器的另外布隆过滤器识别的数据的访问权;以及
第二传送器(16),用于将对所述数据的请求发送到所述另外节点。
2. 如权利要求1所述的请求节点,其中用于获得搜索词的所述装置从允许用户输入搜索词的用户输入装置和用于生成所述搜索词的处理器之一中选择。
3. 如权利要求1或2所述的请求节点,其中所述第一传送器布置成在RELOAD请求消息中将所述布隆过滤器发送到所述搜索节点。
4. 一种在结构化对等网络中使用的搜索节点(2),所述请求节点包括:
接收器(19),用于从请求节点(1)接收消息,所述消息包括从搜索词生成的布隆过滤器;
数据库访问功能(20),用于查询数据库(21),所述数据库包括至少一个另外布隆过滤器,所述另外布隆过滤器与所述对等网络中的另外节点相关联;
处理器(22),用于确定所述收到的布隆过滤器和所述另外布隆过滤器是否匹配;以及
传送器(23),用于在所述布隆过滤器和所述另外布隆过滤器匹配的情况下向所述请求节点发送所述另外节点的身份。
5. 如权利要求4所述的请求节点,还包括:
第二接收器(27),用于从所述另外对等节点接收布隆过滤器;
其中所述处理器(22)布置成,为所述数据库(21)填充与作为收到的所述布隆过滤器的来源的所述另外节点的身份相关联的所述布隆过滤器。
6. 如权利要求4或5所述的搜索节点,其中所述传送器(23)布置成将所述布隆过滤器转发到另外搜索节点。
7. 如权利要求4、5或6所述的搜索节点,其中在RELOAD请求消息中接收来自所述搜索节点的所述布隆过滤器。
8. 一种在结构化对等网络中使用的对等节点(26),所述节点包括:
存储器(27),用于存储数据;
处理器(28),用于使用所述存储数据的至少一部分生成布隆过滤器;以及
传送器(29),用于将所述布隆过滤器和所述节点的身份发送到搜索节点以便所述搜索节点在数据的搜索中使用所述布隆过滤器和所述节点的所述身份。
9. 一种搜索结构化对等网络的方法,所述方法包括:
在请求节点(1),获得(S6)搜索词;
在所述请求节点,使用所述搜索词生成(S7)布隆过滤器;
将所述布隆过滤器发送(S9)到搜索节点(2);
在所述搜索节点(2),比较(S10)所述收到的布隆过滤器和在所述搜索节点可访问的数据库存储的至少一个另外布隆过滤器,所述另外布隆过滤器与所述对等网络中的另外节点相关联;
如果所述布隆过滤器与所述另外布隆过滤器匹配,则向所述请求节点(1)发送(S11)所述另外节点的身份。
10. 如权利要求9所述的方法,还包括:
从所述另外节点接收另外布隆过滤器,所述另外布隆过滤器已使用所述另外节点可访问的数据来生成;以及
在所述数据库中存储从所述另外节点收到的所述另外布隆过滤器和所述另外节点的相关联身份。
11. 如权利要求9或10所述的方法,还包括:
在所述搜索节点,在比较所述收到的布隆过滤器和在数据库存储的至少一个另外布隆过滤器后,将所述请求发送到另外搜索节点。
12. 如权利要求11所述的方法,其中在将所述请求发送到所述另外搜索节点之前,将所述比较的结果添加到所述请求。
13. 如权利要求8到12任一项所述的方法,其中所述布隆过滤器在RELOAD请求消息中被发送到所述搜索节点。
14. 一种计算机程序(18),包括计算机可读代码部件,所述计算机可读代码部件在请求节点(1)上运行时,促使所述请求节点表现得如权利要求1到3任一项所述。
15. 一种计算机程序(25),包括计算机可读代码部件,所述计算机可读代码部件在搜索节点(2)上运行时,促使所述搜索节点表现得如权利要求4到7任一项所述。
16. 一种计算机程序(33),包括计算机可读代码部件,所述计算机可读代码部件在对等节点(28)上运行时,促使所述对等节点表现得如权利要求8所述。
17. 一种包括计算机可读媒体(17;24;29)和如权利要求14、15或16所述计算机程序(18;25;33)的计算机程序产品,其中所述计算机程序产品存储在所述计算机可读媒体上。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2010/051426 WO2012087188A1 (en) | 2010-12-20 | 2010-12-20 | Searching in peer to peer networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103299295A true CN103299295A (zh) | 2013-09-11 |
Family
ID=46235784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800707775A Pending CN103299295A (zh) | 2010-12-20 | 2010-12-20 | 对等网络中的搜索 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120158756A1 (zh) |
EP (1) | EP2656244A4 (zh) |
JP (1) | JP5666719B2 (zh) |
CN (1) | CN103299295A (zh) |
WO (1) | WO2012087188A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2500848A1 (en) * | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for centralized reservation context management on multi-server reservation system |
US9667713B2 (en) * | 2011-03-21 | 2017-05-30 | Apple Inc. | Apparatus and method for managing peer-to-peer connections between different service providers |
US8972337B1 (en) | 2013-02-21 | 2015-03-03 | Amazon Technologies, Inc. | Efficient query processing in columnar databases using bloom filters |
JP6291573B2 (ja) * | 2013-07-02 | 2018-03-14 | コンヴィーダ ワイヤレス, エルエルシー | セマンティクス公表および発見のための機構 |
US9847951B2 (en) * | 2013-11-04 | 2017-12-19 | Ciena Corporation | Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network |
KR102306628B1 (ko) * | 2014-06-24 | 2021-09-28 | 구글 엘엘씨 | 메쉬 네트워크 커미셔닝 |
US11005950B1 (en) * | 2015-02-10 | 2021-05-11 | Marvell Asia Pte, Ltd. | Optimized bloom filter |
CN109146447B (zh) * | 2018-07-09 | 2022-07-05 | 矩阵元技术(深圳)有限公司 | 区块链透明分片方法、装置及系统 |
EP3821587A1 (en) | 2018-07-11 | 2021-05-19 | Telefonaktiebolaget LM Ericsson (publ) | System and method for distributed indexing in peer-to-peer networks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108368A1 (en) * | 2003-10-30 | 2005-05-19 | Aditya Mohan | Method and apparatus for representing data available in a peer-to-peer network using bloom-filters |
CN101123565A (zh) * | 2007-07-30 | 2008-02-13 | 中兴通讯股份有限公司 | P2p系统及用于该系统的资源查询方法 |
CN101529420A (zh) * | 2006-10-19 | 2009-09-09 | 摩托罗拉公司 | 用于过滤对等网络对有限能力设备的搜索的方法和装置 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6731743B2 (en) * | 2001-12-18 | 2004-05-04 | Sbc Properties, L.P. | AIN query redirection |
US7263560B2 (en) * | 2002-08-30 | 2007-08-28 | Sun Microsystems, Inc. | Decentralized peer-to-peer advertisement |
US7668949B1 (en) * | 2003-03-11 | 2010-02-23 | Nortel Networks Limited | Verification of configuration information in BGP VPNs |
US7409406B2 (en) * | 2003-09-08 | 2008-08-05 | International Business Machines Corporation | Uniform search system and method for selectively sharing distributed access-controlled documents |
US7730207B2 (en) * | 2004-03-31 | 2010-06-01 | Microsoft Corporation | Routing in peer-to-peer networks |
US7779463B2 (en) * | 2004-05-11 | 2010-08-17 | The Trustees Of Columbia University In The City Of New York | Systems and methods for correlating and distributing intrusion alert information among collaborating computer systems |
US8239394B1 (en) * | 2005-03-31 | 2012-08-07 | Google Inc. | Bloom filters for query simulation |
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7778972B1 (en) * | 2005-12-29 | 2010-08-17 | Amazon Technologies, Inc. | Dynamic object replication within a distributed storage system |
US7764701B1 (en) * | 2006-02-22 | 2010-07-27 | Qurio Holdings, Inc. | Methods, systems, and products for classifying peer systems |
JP4828315B2 (ja) * | 2006-06-09 | 2011-11-30 | 三菱電機株式会社 | リソース検索システム |
US7917471B2 (en) * | 2006-07-14 | 2011-03-29 | Nokia Corporation | Method for obtaining information objects in a communication system |
US7702683B1 (en) * | 2006-09-18 | 2010-04-20 | Hewlett-Packard Development Company, L.P. | Estimating similarity between two collections of information |
JP2008102795A (ja) * | 2006-10-19 | 2008-05-01 | Fuji Xerox Co Ltd | ファイル管理装置、システム及びプログラム |
US7937428B2 (en) * | 2006-12-21 | 2011-05-03 | International Business Machines Corporation | System and method for generating and using a dynamic bloom filter |
US20080155229A1 (en) * | 2006-12-21 | 2008-06-26 | Kevin Scott Beyer | System and method for generating a cache-aware bloom filter |
US7930547B2 (en) * | 2007-06-15 | 2011-04-19 | Alcatel-Lucent Usa Inc. | High accuracy bloom filter using partitioned hashing |
JP5140151B2 (ja) * | 2007-06-15 | 2013-02-06 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 重複セルを発見する方法 |
US8037145B2 (en) * | 2007-09-30 | 2011-10-11 | Symantec Operating Corporation | System and method for detecting email content containment |
EP2255518A1 (en) * | 2008-02-13 | 2010-12-01 | Telefonaktiebolaget LM Ericsson (publ) | Overlay network node and overlay networks |
US8103718B2 (en) * | 2008-07-31 | 2012-01-24 | Microsoft Corporation | Content discovery and transfer between mobile communications nodes |
EP2350879A1 (en) * | 2008-09-19 | 2011-08-03 | Oracle International Corporation | Hash join using collaborative parallel filtering in intelligent storage with offloaded bloom filters |
CN102246172A (zh) * | 2008-10-13 | 2011-11-16 | 法卢资产有限公司 | 用于电子内容的分布式索引搜索的系统及方法 |
WO2010065271A2 (en) * | 2008-11-25 | 2010-06-10 | Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Systems and methods for providing continuous file protection at block level |
WO2010108535A1 (en) * | 2009-03-23 | 2010-09-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Event identification in peer to peer networks |
US9179305B2 (en) * | 2009-06-11 | 2015-11-03 | Qualcomm Incorporated | Bloom filter based device discovery |
US8996568B2 (en) * | 2009-07-14 | 2015-03-31 | Qualcomm Incorporated | Methods and apparatus for efficiently processing multiple keyword queries on a distributed network |
CN102118263B (zh) * | 2010-01-06 | 2015-05-20 | 中兴通讯股份有限公司 | 配置信息的发布方法及系统 |
US20120275466A1 (en) * | 2010-10-21 | 2012-11-01 | Texas Instruments Incorporated | System and method for classifying packets |
-
2010
- 2010-12-20 CN CN2010800707775A patent/CN103299295A/zh active Pending
- 2010-12-20 JP JP2013544423A patent/JP5666719B2/ja not_active Expired - Fee Related
- 2010-12-20 WO PCT/SE2010/051426 patent/WO2012087188A1/en active Application Filing
- 2010-12-20 EP EP10861181.5A patent/EP2656244A4/en not_active Withdrawn
- 2010-12-22 US US12/976,808 patent/US20120158756A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108368A1 (en) * | 2003-10-30 | 2005-05-19 | Aditya Mohan | Method and apparatus for representing data available in a peer-to-peer network using bloom-filters |
CN101529420A (zh) * | 2006-10-19 | 2009-09-09 | 摩托罗拉公司 | 用于过滤对等网络对有限能力设备的搜索的方法和装置 |
CN101123565A (zh) * | 2007-07-30 | 2008-02-13 | 中兴通讯股份有限公司 | P2p系统及用于该系统的资源查询方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012087188A1 (en) | 2012-06-28 |
US20120158756A1 (en) | 2012-06-21 |
JP2014504411A (ja) | 2014-02-20 |
EP2656244A4 (en) | 2015-10-21 |
EP2656244A1 (en) | 2013-10-30 |
JP5666719B2 (ja) | 2015-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103299295A (zh) | 对等网络中的搜索 | |
US8805932B2 (en) | Sharing of digital contents in P2P networks exploiting localization data | |
CN101860474B (zh) | 基于对等网络的资源信息处理方法及对等网络 | |
JP4277918B2 (ja) | データ検索装置、データ検索方法およびデータ検索用プログラム | |
US8838690B2 (en) | Caching of digital contents in P2P networks | |
US20070233832A1 (en) | Method of distributed hash table node ID collision detection | |
US20080130516A1 (en) | P2p Overplay Network Construction Method and Apparatus | |
TW200803303A (en) | Inter-proximity communication within a rendezvous federation | |
EP2612487B1 (en) | Method and arrangement in a peer-to-peer network | |
US20110099226A1 (en) | Method of requesting for location information of resources on network, user node and server for the same | |
US9686353B2 (en) | Method and node for locating objects in a peer-to-peer network | |
Liu et al. | An efficient and trustworthy P2P and social network integrated file sharing system | |
CN110866046B (zh) | 一种可扩展的分布式查询方法及装置 | |
CN111046065B (zh) | 可扩展的高性能分布式查询处理方法及装置 | |
CN101425958A (zh) | 一种p2p叠加网中请求应答方法、装置和系统 | |
Shen et al. | A proximity-aware interest-clustered P2P file sharing system | |
JP2008269141A (ja) | オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム | |
Hautakorpi et al. | A feasibility study of an arbitrary search in structured peer-to-peer networks | |
Fantar et al. | Exploiting locality using geographic coordinates and semantic proximity in Chord | |
Ngo | From inter-connecting P2P overlays to co-operating P2P systems | |
Muñoz-Gea et al. | A hybrid topology architecture for p2p file sharing systems | |
Mischke et al. | Efficient protocol specification and implementation for a highly scalable peer-to-peer search infrastructure | |
Cowan | S4h: A Peer-to-Peer Search Engine with Explicit Trust | |
Karnstedt et al. | Completeness estimation of range queries in structured overlays | |
JP5754405B2 (ja) | 通信システム、情報処理装置、プログラム及び情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130911 |