CN101083581B - 自组织对等网络中控制多播的方法及其装置 - Google Patents
自组织对等网络中控制多播的方法及其装置 Download PDFInfo
- Publication number
- CN101083581B CN101083581B CN200610088562A CN200610088562A CN101083581B CN 101083581 B CN101083581 B CN 101083581B CN 200610088562 A CN200610088562 A CN 200610088562A CN 200610088562 A CN200610088562 A CN 200610088562A CN 101083581 B CN101083581 B CN 101083581B
- Authority
- CN
- China
- Prior art keywords
- agreement
- node
- searching request
- request
- stand
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开在自组织对等网络中控制多播协议独立服务搜索请求的方法及装置,该方法包括搜索请求发起方多播第一协议独立服务搜索请求;至少一个节点接收该第一协议独立服务搜索请求,且该节点至少使用第一协议独立服务搜索请求所使用的第一协议,并且向当前搜索请求发起方返回应答;根据所述至少一个节点所作出的应答,搜索请求发起方选择所述至少一节点中的至少一个作为请求代理方或服务提供方。其中,当搜索请求发起方选择所述至少一节点作为请求代理方时,所述被选择的至少一节点将作为下一级搜索请求发起方多播所述协议独立服务搜索请求,并且重复上述步骤直到搜索请求发起方找到合适的服务提供方。
Description
技术领域
本发明涉及自组织对等网络(Ad Hoc peer to peer networks),更具体地说,涉及自组织对等网络中控制多播的方法及其装置。
背景技术
服务搜索/消费是自组织对等网络的一项本质的特点。当前,有一些可用的诸如UPnP和JXTA等一样的对等协议和网络服务等。众所周知,基于不同协议的服务之间是不能相互通信的。而JSR 259的目的就是定义统一的应用程序接口(Application Programming Interface,API),其使得在承载未知的自组织对等网络环境中的移动设备之间的通信成为可能。终端用户不用关心底层协议即可搜索/消费协议独立服务。例如,基于UPnP的JSR 259应用可以搜索/消费基于JXTA的服务。称为“协议间多跳(inter-protocolmulti-hop)”的方法可以达到上述目的。在公开号为US 2005/0058109、申请日为2003年09月16日、发明名称为“MECHANISM FOR IMPROVING CONNECTIONCONROL IN PEER-TO-PEER AD-HOC NETWORKS”的美国专利申请中公开了实现上述目的的方法。在该方法中,存在称为“转发器(repeater)”的对等角色。通常,该“转发器”实现多对等协议。在解析所接收的协议-独立搜索请求之后,该“转发器对等实体”将其翻译成另外的协议搜索请求并且将其多播。在相同自组织网络中的另一方的“转发器对等实体”接收该多播搜索请求并且该搜索请求可以被翻译成另一种协议搜索请求并且被多播。服务独立搜索请求被反复地翻译成特定协议的搜索请求。
在通过将上述方法构建在JSR-259中间件中而将其实现的过程中,如何优化该方法是主要要克服的问题。在理想的自组织网络环境中,该方法没有问题。但是,在“恶劣”的网络环境中,由于过多多播请求分组的原因,该方法缺乏效率并且容易引起网络拥塞。例如,在自组织网络中,存在两个“转发器”,“转发器A”和“转发器B”,实现UPnP和Jxta协议。它们几乎同时接收UpnP SSDP请求,然后将其翻译成Jxta发现询问消息并且多播该消息。很明显,这将导致严重的冗余。此外,这也非常容易引起加重网络拥塞的多播环(multicast-loop)同时也将增加转发器的开销。
如图1所示,现有的对等自组织网络中的多播消息是无序和混乱的。当前,转发器的概念仅仅预见在相同协议中的转发或者注重在不同协议之间翻译由此扩展转发器性能的可能性。因此,经过优化设计的转发器应当执行一些功能以便防止上述问题的出现,而不仅仅简单地翻译和多播。
发明内容
有鉴于上述情况,本发明的目的是提供一种在自组织对等网络中控制多播协议独立服务搜索请求的方法以及采用该方法的节点装置,从而可以防止现有的对等自组织网络中无序并且混乱地多播消息。
本发明的另一个目的是提供一种在自组织对等网络中控制多播协议独立服务搜索请求的方法以及采用该方法的节点装置,从而可以扩展转发器性能,而不仅仅将其功能局限在简单的翻译和多播。
根据本发明的一个方面,提供一种在自组织对等网络中控制多播协议独立服务搜索请求的方法,该网络包括至少三个节点,所述至少三个节点分别为:搜索请求发起方、请求代理方和服务提供方,该方法包括步骤:(a)搜索请求发起方多播第一协议独立服务搜索请求;(b)所述节点中的至少一个节点接收所述第一协议独立服务搜索请求,其中所述节点至少可使用所述第一协议独立服务搜索请求所可使用的第一协议,并且向所述搜索请求发起方返回应答;(c)根据所述至少一个节点所作出的应答,搜索请求发起方选择所述至少一节点中的至少一个作为请求代理方或者作为服务提供方;(d)当搜索请求发起方选择所述至少一节点作为请求代理方时,所述被选择的至少一节点将作为下一级搜索请求发起方将所述第一协议独立服务搜索请求根据其可使用的协议翻译为对应的第二协议独立服务搜索请求,并多播所述第二协议独立服务搜索请求,且记录所述被选择的下一级搜索请求发起方对应的节点,并且重复步骤(a)至(c)直到搜索请求发起方找到合适的服务提供方。其中步骤(a)还包括:生成第一协议表、在所述第一协议表中添加所述搜索请求发起方所可使用的协议,并且在所述第一协议独立服务搜索请求中包括该第一协议表;步骤(b)具体包括:如果所述接收所述第一协议独立服务搜索请求的至少一节点判断其自身为服务提供方,则向搜索请求发起方发送服务应答;否则,如果其判断其自身使用所述第一协议表之外的协议时,则向搜索请求发起方作出转发应答;步骤(c)具体包括:如果搜索请求发起方接收服务应答,则选择接收所述第一协议独立服务搜索请求的节点作为服务提供方;否则,如果搜索请求发起方接收转发应答,则选择接收所述第一协议独立服务搜索请求的节点作为请求代理方;并且步骤(d)具体包括:所述被选择的请求代理方将其所使用的、不同于所述第一协议表所包括协议的第二协议表添加到所述第二协议独立服务搜索请求中,并且使用所述第二协议独立服务搜索请求,继续多播该协议独立服务搜索请求。
根据本发明的另一个方面,提供一种用于控制多播服务搜索请求的自组织对等网络的节点装置,包括:信号发送器;信号接收器;请求产生器,用于通过所述信号发送器向其它至少一个节点多播第一协议独立服务搜索请求;请求代理方选择器,通过所述信号接收器接收所述其它至少一个节点所作出的应答,并且选择其中的至少一个作为请求代理方或者作为服务提供方;协议表生成器,用于生成协议表;和协议表添加器,用于在所生成的协议表中添加该节点装置所使用的协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该协议表。其中:所述信号接收器接收当接收所述第一协议独立服务搜索请求的至少一节点判断其自身为服务提供方时向该节点装置所发送的服务应答,或者当接收所述第一协议独立服务搜索请求的至少一节点判断其自身使用所述第一协议表之外的第二协议时向该节点装置所发送的转发应答;如果所述信号接收器接收该接收所述第一协议独立服务搜索请求的至少一节点所发送的服务应答,则所述请求代理方选择器将其选择为服务提供方;否则,如果所述信号接收器接收该接收所述第一协议独立服务搜索请求的至少一节点所发送的转发应答,则该请求代理方选择器将其选择为请求代理方。
根据本发明的另一个方面,提供一种用于控制多播服务搜索请求的自组织对等网络的节点装置,包括:信号接收器,用于接收从其它节点装置向该节点装置所发送的第一协议独立服务搜索请求,其中该节点装置使用该第一协议;应答产生器,用于根据该第一协议独立服务搜索请求产生应答;和信号发送器,用于向所述其它节点装置返回该应答;其中,如果该节点装置被所述其它节点装置选择为请求代理方时,该节点装置将作为下一级搜索请求发起方将所述第一协议独立服务搜索请求根据其可使用的协议翻译为对应的第二协议独立服务搜索请求,并多播所述第二协议独立服务搜索请求,且记录所述被选择的下一级搜索请求发起方对应的节点。所述节点装置还包括:服务判断器,用于判断该节点装置是否提供所述第一协议独立服务搜索请求所搜索的服务;和协议判断器,用于判断该节点装置所使用的第二协议与该节点所接收到的其它节点多播的协议表中的第一协议是否相同,其中,如果该服务提供判断器判断该节点装置为服务提供方,则所述应答产生器产生服务应答并且通过信号发送器向所述其它节点发送,否则,如果所述协议判断器判断该节点装置使用所述第一协议之外的第二协议时,则所述应答产生器产生转发应答并且通过信号发送器向所述其它节点发送;协议翻译器,用于根据该节点装置可使用的协议将第一协议独立服务搜索请求翻译为对应的第二协议独立服务搜索请求;协议表生成器,用于生成协议表;和协议表添加器,用于在所生成的协议表中添加该节点装置所使用的第二协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该第二协议表;其中当所述节点装置被选择为请求代理方时,所述协议表添加器在由所述协议表生成器所生成的协议表中添加该节点装置所使用的第一协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该协议表,所述协议翻译器根据该节点装置可使用的第一协议将第一协议独立服务搜索请求翻译为对应的第二协议独立服务搜索请求。
采用根据本发明的在自组织对等网络中控制多播协议独立服务搜索请求的方法以及采用该方法的节点装置,能够降低多播请求的冗余、防止在不同底层协议之间转发/翻译所引起的拥塞,同时提供转发器的效率并减小其开销。
附图说明
通过以下借助附图的详细描述,将会更容易地理解本发明,其中相同的标号指定相同结构的单元,并且在其中:
图1示出在现有自组织网络中多播消息的示意图;
图2A-2C是根据本发明的第一优选实施例的在自组织对等网络中控制多播协议独立服务搜索请求的发送方和接收方的流程图;
图3A-3C是根据本发明的第二优选实施例的在自组织对等网络中控制多播协议独立服务搜索请求的发送方和接收方的流程图;
图4示出结合本发明第一优选实施例的、控制多播协议独立服务搜索请求的自组织对等网络的实例;
图5A-5B示出根据本发明第一优选实施例的、用于控制多播服务搜索请求的自组织对等网络节点装置的方框图;和
图6A-6B示出根据本发明第二优选实施例的、用于控制多播服务搜索请求的自组织对等网络节点装置的方框图。
具体实施方式
下面将结合附图详细描述本发明的优选实施例。在下面的描述中,现有对等自组织网络系统中公知的单元将不再详细描述,以免不必要的细节混淆本发明。
首先,给出如下定义。将多播服务搜索请求的节点称为搜索请求发起方,将接收多播服务搜索请求的节点称为请求代理方,并且将提供所期望服务的节点成为服务提供方。
图2A-2C是根据本发明的第一优选实施例的在自组织对等网络中控制多播协议独立服务搜索请求的发送方和接收方的流程图。该自组织对等网络包括至少三个节点,所述至少三个节点分别属于搜索请求发起方、请求代理方或服务提供方。按照其多播服务请求的来源,作为搜索请求发起方的节点可分为两种:第一种搜索请求发起方多播根据其自身的应用所产生的协议独立服务搜索请求,即该协议独立服务搜索请求的最先发起者,而第二种搜索请求发起方多播其作为请求代理方时所接收的协议独立服务搜索请求,即该协议独立服务搜索请求的上一级的转发者。而就对于多播的控制而言,两者并无差异,可以将搜索请求发起方视为第一级的搜索请求发起方。同时,搜索请求发起方在服务提供方与搜索代理方中做选择。所以,下面以搜索请求发起方、请求代理方/服务提供方为例来说明根据本发明第一优选实施例对多播的控制。
图2A示出了由请求搜索发送方多播请求并且在待选的请求代理方/服务提供方中选择请求代理方节点的流程图。首先,在步骤S200,搜索请求发起方在协议表中添加其自身所使用的协议并且在协议独立服务搜索请求中包括该协议表。该协议表由搜索请求发起方生成,随着协议独立服务搜索请求的多播而动态更新,使得其随着协议独立服务搜索请求每到达一个节点时都包括该协议独立服务搜索请求所经过的各个节点所使用的协议。然后,在步骤S201,搜索请求发起方多播协议独立服务搜索请求。比如,如果搜索请求发起方使用协议UPnP发送协议独立服务搜索请求,则将在所生成的协议表中包括该UPnP协议并且将该协议表包括在要发送的独立服务搜索请求中。接着,在步骤S202,作为待选请求代理方的至少一个节点接收该协议独立服务搜索请求,该节点至少使用搜索请求发起方发送该协议独立服务搜索请求所使用的协议;比如,如果搜索请求发起方使用协议UPnP,则待选请求代理方的至少一个也要使用协议UPnP。接着,在步骤S203,如果该作为待选请求代理方/服务提供方的至少一个节点之一判断其自身其为服务提供方,则在步骤S204-1向搜索请求发起方作出服务应答,否则该作为待选请求代理方/服务提供方的至少一个节点之一判断其自身使用其所接收的协议表所包括的协议之外的协议,则在步骤S204-2向搜索请求发起方作出转发应答。比如,如果待选请求代理方的至少一个除了使用协议UPnP之外还使用诸如JXTA等的其它协议,则向搜索请求发起方返回应答。接着,在步骤S205,如果搜索请求发起方在预定的时间内未接收到该转发应答,则不选择该待选请求代理方作为下一级的搜索请求发起方,否则进入步骤S206,判断所接收的应答是转发应答还是服务应答。如果是转发应答,则在步骤S207向该请求代理方发送选择命令以便完成所述选择,并且记录所述被选择的下一级搜索请求发起方对应的节点。为了进一步提高效率,如果搜索超过一预定时间,则该搜索请求发起方搜索查询所述记录,基于该记录,如果存在所选择的至少一个请求代理方,则命令其停止多播。在步骤S208,所述被选择的至少一个节点作为下一级搜索请求发起方多播该协议独立服务搜索请求。优选地,所述被选择的至少一个节点将其所使用的、不同于该协议表所包括协议的协议添加到所述协议表中并且使用后者多播协议独立服务搜索请求。比如,如果协议表包括仅UPnP,而该请求代理方节点支持JXTA,则将JXTA添加到协议表中并且利用JXTA多播协议独立服务搜索请求至接点A。通过在待选请求代理方作S203中的判断并且将判断结果通知搜索请求发起方,搜索请求发起方能够在作为待选请求代理方的至少一个节点中选择至少一个执行下一级多播的节点。
图2B示出当被选择的请求代理方(下一级的搜索请求发起方)优选地支持至少一种协议时,该协议不同于协议表的协议,该请求代理方的多播方法。根据图2B,步骤S208还包括:在步骤S208-1,判断是否还存在不同于协议表中的并且未用于多播的另一个协议?如果“是”,则在步骤S208-2,用该协议多播协议独立搜索请求,即将协议独立搜索请求翻译成该另一个协议的搜索请求;在步骤S208-3多播(转发)该另一个协议的搜索请求;并且,在步骤S208-4记录该次多播,比如可以记录请求代理方节点等。否则,结束。通过S208-1至S208-4,使得能够充分利用每个请求代理方节点所支持的协议,这有利于提高搜索效率。
图2C示出在图2A中当S206判断所接收的应答是服务应答时的流程图的继续。其进一步解决了如下问题:在选择了请求代理方节点的过程中,搜索请求发起方收到了服务应答。比如,当前搜索请求发起方向节点A、B、C和D多播了搜索服务请求,并且选择了A和B作为请求代理方节点,期间节点D返回了服务应答。图2C的方法将提供对节点A、B和D的处理。如果在步骤S206判断所接收的应答是服务应答,则在步骤S209搜索请求发起方查询转发记录。在步骤S210判断是否找到记录?如果“是”,则在步骤S211判断是否存在其它的请求代理方节点?如果“是”,则在步骤S212发送消息给该节点使其停止搜索(转发)。然后,在步骤S213单播搜索应答给上一级搜索请求发起方。
优选地,在一预定时间内所述搜索请求发起方至少一次多播包括协议表的协议独立服务搜索请求,之后所选择的请求代理方节点才进行转发。这有利于降低网路拥塞。
优选地,所述转发应答还包括请求代理方节点的底层协议、额外开销、负载、可达连接数和到达下一级请求代理方节点的时间中的至少一个;并且在步骤S203中,以额外开销小、负载低、可达的节点数目高或到达下一级节点的时间少中的任何一项或者其组合为选择标准来在已选择的请求代理方中作进一步选择。这样,能够进一步减小请求代理方的数目,从而进一步缓解网络拥塞。
图3A-3C是根据本发明的第二优选实施例的在自组织对等网络中控制多播协议独立服务搜索请求的发送方和接收方的流程图。与第一优选实施例不同的是对于待选的请求代理方的判断不是在该待选的请求代理方自身,而是在搜索请求发起方中完成。由此,相同的部分将不再说明。图3A与图2A的不同之处在于S303至S306,并且图3A中没有步骤对应于图2A中的步骤S200。下面将仅对上述步骤进行说明。在步骤S302作为待选请求代理方的至少一个节点接收该协议独立服务搜索请求之后,在步骤S303请求代理方/服务提供方作出应答。具体来讲,当其判断其自身为服务提供方,则在步骤S303-1向搜索请求发起方发送服务应答;否则,在步骤S303-2向搜索请求发起方作出转发应答,其中该转发应答包括其自身所使用的协议。在步骤S304中,如果搜索请求发起方在预定的时间内未接收到该转发应答,则不选择该待选请求代理方作为下一级的搜索请求发起方,否则进入步骤S305,判断所接收的应答是转发应答还是服务应答。如果是待选请求代理方节点的应答,则在步骤S306判断待选请求代理方的底层协议是否为协议表所包括的协议之外的协议,如果“是”,则在步骤S307向被选择的请求代理方节点发送选择命令以便完成所述选择。S301、S307和S308的说明同S201、S207和S208。
优选地,在预定时间内被选择的请求代理方节点接收请求代理方所发送的命令。
优选地,转发应答还可包括该请求代理方节点的额外开销、该请求代理方节点的负载、该请求代理方节点可达的节点数目和该请求代理方节点到达下一级节点的时间中的至少一个。相应地,在S306中的选择标准为:选择在作为请求代理方的至少一个节点中的、额外开销小、负载低、可达的节点数目高或到达下一级节点的时间少的节点作为该请求代理方节点。
图3B和图3C中S308-1至S308-4和S319至S313的说明同图2B和图2C中S208-1至S208-4和S219至S213的说明。
本领域的技术人员应当了解本发明的第一和第二实施例可以综合使用,即搜索请求发起方和在请求代理方分担进行选择的计算量。
图4示出结合本发明第一优选实施例的、控制多播协议独立服务搜索请求的自组织对等网络的实例。其中,存在4个节点:节点A、节点B、节点C和节点D。节点A作为搜索请求发起方,其使用UPnP协议。节点B和C作为待选请求代理方使用UPnP协议和JXTA协议。作为服务提供方的节点D使用JXTA协议。节点A期望搜索/消费协议独立服务,比如计算器服务,而节点D提供该服务。
节点A在协议表中添加其自身所使用的协议UPnP,在协议独立服务搜索请求中包括该协议表,并且节点A使用UPnP多播协议独立服务搜索请求。节点B和C几乎同时接收该协议独立服务搜索请求,并且发现节点A期望搜索/消费协议独立服务。除了记录在协议表中的UPnP协议,节点B和C知道JXTA协议是一种底层协议(underlying protocol)。于是,他们向节点A发送包括JXTA协议信息的应答。
如果节点A在预定的时间内接收到应答,则节点B和C具有相同的转发能力。但是,根据一些标准,诸如该待选搜索转发方节点的底层协议、该请求代理方节点的额外开销、该请求代理方节点的负载、该请求代理方节点可达的节点数目和该请求代理方节点到达下一级节点的时间等,比如,节点C到达下一级节点的时间短,则节点A通过向节点C发送命令来选择节点C执行协议翻译工作。节点B等待节点A的命令直到超时。
节点C接收该命令。然后,将其请求翻译为JXTA PDP消息并且将其广播。同时,记录关于传输请求的信息。
节点D接收节点C所发送的请求,并且对节点C作关于计算器服务的应答。
节点C接收节点D的应答,然后将JXTA发现应答消息翻译为UPnP SSDP应答并发送给节点A。
节点A接收该应答并且知道在节点D存在计算器服务。
图5A-5B示出根据本发明第一优选实施例的、用于控制多播服务搜索请求的自组织对等网络节点装置的方框图。如图5A所示,根据本发明第一优选实施例的、当其作为搜索请求发起方时的节点装置包括:信号发送器501;信号接收器502;请求产生器503,用于产生协议独立服务搜索请求,将该协议独立服务搜索请求通过所述信号发送器501向作为待选请求代理方的其它至少一个节点多播,比如节点1、节点2和节点3;请求代理方选择器504,并且通过所述信号接收器接收作为待选请求代理方的至少一个节点所作出的应答,比如节点1和2。如果未收到服务提供方所作出的应答,则通过信号发送器501在作为待选请求代理方的至少一个节点中选择至少一个请求代理方节点作为下一级搜索请求发起方;和协议表生成器505,用于生成协议表、在所生成的协议表中添加该搜索请求发起方所使用的协议并且在将由信号发送器501所发送的协议独立服务搜索请求中包括该协议表,其中:所述信号接收器502接收当接收所述协议独立服务搜索请求的至少一节点,比如节点1,判断其自身为服务提供方时向该节点装置所发送的服务应答,或者当接收所述协议独立服务搜索请求的至少一节点,比如节点2,判断其自身使用所述协议表之外的协议时向该节点装置所发送的转发应答;如果所述信号接收器接收该接收所述协议独立服务搜索请求的至少一节点所发送的服务应答,则所述请求代理方选择器将其选择为服务提供方,比如,如果节点1提供协议独立服务搜索请求所搜索的服务,则将节点1选择为服务提供方;否则,如果所述信号接收器接收该接收所述协议独立服务搜索请求的至少一节点所发送的转发应答,则该请求代理方选择器将其选择为请求代理方,比如,如果节点2返回转发应答,则将节点2选择为请求代理方。
如图5B所示,根据本发明第一优选实施例的、当其作为请求代理方时的节点装置包括:服务判断器507,用于判断该节点装置是否提供所述其它节点所搜索的服务;协议判断器508,用于判断该节点装置所使用的协议与该节点所接收到的其它节点多播的协议表中的协议是否相同,其中所述协议表包括该协议独立服务搜索请求所经过的各个节点所使用的协议;应答产生器509;和协议翻译器510。如果服务判断器507判断该节点装置为服务提供方,则通过信号发送器501向所述其它节点发送由应答产生器509所产生的服务应答。否则,如果协议判断器508判断该节点装置使用其它节点多播的协议表中的协议之外的协议时,则该节点装置使用其自身的协议通过信号发送器501向所述其它节点发送由应答产生器509所产生的转发应答;并且,如果该节点装置被所述其它节点装置选择为请求代理方时,请求产生器503还通过协议翻译器510根据该节点装置所使用的协议将所接收到的服务搜索请求翻译为对应的服务搜索请求,并且信号发送器501向下一级作为待选请求代理方的至少一个节点多播翻译后的协议独立服务搜索请求。由此,该节点装置由请求代理方转变为下一级的请求发起方,其结构已经在上文结合图5A做了描述,在此不再复述。优选地,信号发送器501向被选择的请求代理方节点发送选择命令以便完成所述选择。
图6A-6B示出根据本发明第二优选实施例的、用于控制多播服务搜索请求的自组织对等网络节点装置的方框图。如图6A所示,根据本发明第二优选实施例的、当其作为搜索请求发起方时的节点装置包括:信号发送器601;信号接收器602;请求产生器603,用于根据本节点中的应用产生协议独立服务搜索请求,将该协议独立服务搜索请求通过所述信号发送器601向作为待选请求代理方的其它至少一个节点多播,比如节点1、节点2和节点3;协议判断器604,用于判断该节点装置所使用的协议与该节点所接收到的其它节点所单播的转发应答中的协议是否相同;和请求代理方选择器605,通过信号接收器602接收所述其它至少一个节点所作出的应答,并且选择其中的至少一个作为请求代理方或者作为服务提供方。具体来说,已接收所述协议独立服务搜索请求的作为待选请求代理方的其它至少一个节点判断其自身为服务提供方时,向该节点装置发送服务应答,否则已接收所述第一协议独立服务搜索请求的至少一节点向该节点装置发送转发应答,其中该转发应答包括已接收所述第一协议独立服务搜索请求的节点自身所使用的协议。如果是前一种情况,请求代理方选择器605通过信号发送器601将该已接收所述第一协议独立服务搜索请求的至少一节点选择为服务提供方;如果是后一种情况,协议判断器604进一步判断该节点装置所使用的协议与所接收的转发应答中的协议是否相同,如果不相同,则请求代理方选择器605通过信号发送器601将该已接收所述第一协议独立服务搜索请求的至少一节点选择为请求代理方。
如图6B所示,根据本发明第二优选实施例的、当其作为待选搜索转发方时的节点装置包括:服务判断器606,用于判断该节点装置是否提供所述其它节点所搜索的服务;协议添加器607,用于向转发应答中添加该节点装置所使用的协议;应答产生器608,如果服务判断器606判断该节点装置为服务提供方,则产生服务应答并且将其通过信号发送器601向所述其它节点发送,否则,则产生转发应答、由协议添加器607向该转发应答中添加该节点装置所使用的协议并且将其通过信号发送器601向所述其它节点发送。该作为待选搜索转发方的节点装置还包括:协议翻译器609,如果该节点装置被选择为请求代理方,则根据该节点装置可使用的协议将来自所述其它节点的协议独立服务搜索请求翻译为对应的协议独立服务搜索请求,由此所述请求产生器603产生所述经翻译的协议独立服务搜索请求并且信号发送器601还多播所述经翻译的协议独立服务搜索请求。
优选地,转发应答还可包括该请求代理方节点的额外开销、该请求代理方节点的负载、该请求代理方节点可达的节点数目和该请求代理方节点到达下一级节点的时间中的至少一个。相应地,在S306中的选择标准为:选择在作为请求代理方的至少一个节点中的、额外开销小、负载低、可达的节点数目高或到达下一级节点的时间少的节点作为该请求代理方节点。
优选地,本发明的第一和第二优选实施例的节点装置还包括:请求代理方节点存储器,用于记录所选择的至少一个请求代理方节点;转发停止器,当信号接收器接收作为服务提供方的请求代理方节点所返回的服务应答时,用于查询所述记录并且基于该记录,如果存在所选择的至少一个请求代理方节点,则命令其停止转发;第二定时器,如果转发超过该第二定时器所计数的一预定时间,则该转发停止器查询所述记录,基于该记录,如果存在所选择的至少一个请求代理方节点,则命令其停止搜索;和第三定时器,在该第三定时器所计数的一预定时间内所述请求发送器至少一次多播包括协议表的协议独立服务搜索请求。
以上结合附图描述了本发明的优选实施例,但是本发明并不仅限于该具体的实施方式。在不偏离权利要求的精神和范围的情况下,可以对其做出各种改变。
Claims (19)
1.一种在自组织对等网络中控制多播协议独立服务搜索请求的方法,该网络包括至少三个节点,所述至少三个节点分别为:搜索请求发起方、请求代理方和服务提供方,该方法包括步骤:
(a)搜索请求发起方多播第一协议独立服务搜索请求;
(b)所述节点中的至少一个节点接收所述第一协议独立服务搜索请求,其中所述节点至少可使用所述第一协议独立服务搜索请求所可使用的第一协议,并且向所述搜索请求发起方返回应答;
(c)根据所述至少一个节点所作出的应答,搜索请求发起方选择所述至少一节点中的至少一个作为请求代理方或者作为服务提供方;并且
(d)当搜索请求发起方选择所述至少一节点作为请求代理方时,所述被选择的至少一节点将作为下一级搜索请求发起方将所述第一协议独立服务搜索请求根据其可使用的协议翻译为对应的第二协议独立服务搜索请求,并多播所述第二协议独立服务搜索请求,且记录所述被选择的下一级搜索请求发起方对应的节点,并且重复步骤(a)至(c)直到搜索请求发起方找到合适的服务提供方,
其中
步骤(a)还包括:生成第一协议表、在所述第一协议表中添加所述搜索请求发起方所可使用的协议,并且在所述第一协议独立服务搜索请求中包括该第一协议表;
步骤(b)具体包括:如果所述接收所述第一协议独立服务搜索请求的至少一节点判断其自身为服务提供方,则向搜索请求发起方发送服务应答;否则,如果其判断其自身使用所述第一协议表之外的协议时,则向搜索请求发起方作出转发应答;
步骤(c)具体包括:如果搜索请求发起方接收服务应答,则选择接收所述第一协议独立服务搜索请求的节点作为服务提供方;否则,如果搜索请求发起方接收转发应答,则选择接收所述第一协议独立服务搜索请求的节点作为请求代理方;并且
步骤(d)具体包括:所述被选择的请求代理方将其所使用的、不同于所述第一协议表所包括协议的第二协议表添加到所述第二协议独立服务搜索请求中,并且使用所述第二协议独立服务搜索请求,继续多播该协议独立服务搜索请求。
2.如权利要求1所述的方法,其中步骤(c)还包括:当搜索请求发起方在第一预定时间内收到转发应答时,搜索请求发起方将接收所述第一协议独立服务搜索请求的节点中的至少一节点选择为请求代理方。
3.如权利要求1所述的方法,其中
步骤(b)具体包括:所述请求代理方的至少一节点判断其自身为服务提供方,则向搜索请求发起方发送服务应答;否则,向搜索请求发起方作出转发应答,其中该转发应答包括其自身所使用的第二协议;
步骤(c)具体包括:如果搜索请求发起方接收服务应答,则选择接收所述第一协议独立服务搜索请求的节点作为服务提供方;否则,如果搜索请求发起方接收转发应答且判断所述第二协议为所述第一协议表之外的协议,则选择接收所述第一协议独立服务搜索请求的节点作为请求代理方;并且
步骤(d)具体包括:所述被选择的请求代理方将其所使用的、不同于所述第一协议表所包括协议的第二协议表添加到所述第二协议独立服务搜索请求中,并且使用所述第二协议独立服务搜索请求,继续多播该协议独立服务搜索请求。
4.如权利要求1或3所述的方法,其中:
所述转发应答还包括请求代理方节点的底层协议、额外开销、负载、可达连接数和到达下一级请求代理方节点的时间中的至少一个;并且
在步骤(c)中以额外开销小、负载低、可达的节点数目高或到达下一级节点的时间少中的任何一项或者其组合为选择标准来在已选择的请求代理方中作进一步选择。
5.如权利要求1所述的方法,其中步骤(c)还包括步骤:
搜索请求发起方记录其所选择的至少一个请求代理方。
6.如权利要求5所述的方法,在步骤(c)还包括:
(e)当搜索到服务提供方时,搜索请求发起方查询所述记录,基于该记录,如果存在所选择的至少一个请求代理方,则命令其停止搜索。
7.如权利要求5所述的方法,在步骤(c)还包括:
(f)如果搜索超过第二预定时间,则该搜索请求发起方搜索查询所述记录,基于该记录,如果存在所选择的至少一个请求代理方,则命令其停止多播。
8.如权利要求1所述的方法,其中在第三预定时间内所述搜索请求发起方至少一次多播包括第一协议表的协议独立服务搜索请求。
9.一种用于控制多播服务搜索请求的自组织对等网络的节点装置,包括:
信号发送器;
信号接收器;
请求产生器,用于通过所述信号发送器向其它至少一个节点多播第一协议独立服务搜索请求;
请求代理方选择器,通过所述信号接收器接收所述其它至少一个节点所作出的应答,并且选择其中的至少一个作为请求代理方或者作为服务提供方;
协议表生成器,用于生成协议表;和
协议表添加器,用于在所生成的协议表中添加该节点装置所使用的协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该协议表;
其中:
所述信号接收器接收当接收所述第一协议独立服务搜索请求的至少一节点判断其自身为服务提供方时向该节点装置所发送的服务应答,或者当接收所述第一协议独立服务搜索请求的至少一节点判断其自身使用所述第一协议表之外的第二协议时向该节点装置所发送的转发应答;如果所述信号接收器接收该接收所述第一协议独立服务搜索请求的至少一节点所发送的服务应答,则所述请求代理方选择器将其选择为服务提供方;否则,如果所述信号接收器接收该接收所述第一协议独立服务搜索请求的至少一节点所发送的转发应答,则该请求代理方选择器将其选择为请求代理方。
10.如权利要求9所述的节点装置,还包括:
协议判断器,用于判断该节点装置所使用的第一协议与该节点所接收到的其它节点所单播的转发应答中的协议是否相同;
其中,接收当已接收所述第一协议独立服务搜索请求的至少一节点判断其自身为服务提供方时向该信号接收器所发送的服务应答,否则已接收所述第一协议独立服务搜索请求的至少一节点向该信号接收器发送转发应答,其中该转发应答包括其自身所使用的第二协议。
11.如权利要求9或10所述的节点装置,其中:
所述转发应答还包括请求代理方节点的底层协议、额外开销、负载、可达连接数和到达下一级请求代理方节点的时间中的至少一个;并且
所述请求代理方选择器还以额外开销小、负载低、可达的节点数目高或到达下一级节点的时间少中的任何一项或者其组合为选择标准来在已选择的请求代理方中作进一步选择。
12.如权利要求9所述的节点装置,还包括:
请求代理方记录器,记录请求代理方选择器所选择的至少一个请求代理方;
转发停止器,当搜索到服务提供方时查询所述请求代理方记录器,并且如果存在所选择的至少一个请求代理方,则通过信号发送器命令其停止搜索。
13.如权利要求12所述的节点装置,还包括:
第二定时器,用于产生第二预定时间;
其中,如果搜索超过第二预定时间,则该转发停止器查询所述请求代理方记录器,并且如果存在所选择的至少一个请求代理方,则通过信号发送器命令其停止多播。
14.如权利要求9所述的节点装置,还包括:
第三定时器,用于产生第三预定时间;
其中,在所述第三预定时间内所述信号发送器至少一次多播包括第一协议表的协议独立服务搜索请求。
15.如权利要求9或10所述的节点装置,还包括:
应答产生器,当所述信号接收器接收其它节点装置所发送的第三协议独立服务搜索请求时产生应答,其中该节点装置使用该第三协议。
16.如权利要求9所述的节点装置,还包括:
服务判断器,用于判断该节点装置是否提供所述其它节点所搜索的服务;和
协议判断器,用于判断该节点装置所使用的第一协议与该节点所接收到的其它节点多播的协议表中的第三协议是否相同;和
应答产生器;如果该服务提供判断器判断该节点装置为服务提供方,则产生服务应答并且通过信号发送器向所述其它节点发送,否则,如果所述协议判断器判断该节点装置使用所述第三协议之外的协议时,则产生转发应答并且通过信号发送器向所述其它节点发送,其中该转发应答包括其自身所使用的第一协议;
协议翻译器,用于根据该节点装置可使用的协议将第三协议独立服务搜索请求翻译为对应的第一协议独立服务搜索请求;
其中
当所述节点装置被选择为请求代理方时,在由协议表生成器所生成的协议表中添加该节点装置所使用的第一协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该协议表,所述协议翻译器根据该节点装置可使用的第一协议将第三协议独立服务搜索请求翻译为对应的第一协议独立服务搜索请求。
17.如权利要求16所述的节点装置,其中:
所述信号发送器还多播所述经翻译的第一协议独立服务搜索请求。
18.一种用于控制多播服务搜索请求的自组织对等网络的节点装置,包括:
信号接收器,用于接收从其它节点装置向该节点装置所发送的第一协议独立服务搜索请求,其中该节点装置使用该第一协议;
应答产生器,用于根据该第一协议独立服务搜索请求产生应答;和
信号发送器,用于向所述其它节点装置返回该应答;
其中,如果该节点装置被所述其它节点装置选择为请求代理方时,该节点装置将作为下一级搜索请求发起方将所述第一协议独立服务搜索请求根据其可使用的协议翻译为对应的第二协议独立服务搜索请求,并多播所述第二协议独立服务搜索请求,且记录所述被选择的下一级搜索请求发起方对应的节点;
所述节点装置还包括:服务判断器,用于判断该节点装置是否提供所述第一协议独立服务搜索请求所搜索的服务;和
协议判断器,用于判断该节点装置所使用的第二协议与该节点所接收到的其它节点多播的协议表中的第一协议是否相同,其中,如果该服务判断器判断该节点装置为服务提供方,则所述应答产生器产生服务应答并且通过信号发送器向所述其它节点发送,否则,如果所述协议判断器判断该节点装置使用所述第一协议之外的第二协议时,则所述应答产生器产生转发应答并且通过信号发送器向所述其它节点发送;
协议翻译器,用于根据该节点装置可使用的协议将第一协议独立服务搜索请求翻译为对应的第二协议独立服务搜索请求;
协议表生成器,用于生成协议表;和
协议表添加器,用于在所生成的协议表中添加该节点装置所使用的第二协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该协议表;
其中
当所述节点装置被选择为请求代理方时,所述协议表添加器在由所述协议表生成器所生成的协议表中添加该节点装置所使用的第一协议并且在将由信号发送器所发送的协议独立服务搜索请求中包括该协议表,所述协议翻译器根据该节点装置可使用的第一协议将第一协议独立服务搜索请求翻译为对应的第二协议独立服务搜索请求。
19.如权利要求18所述的节点装置,还包括:
所述信号发送器还多播所述经翻译的第二协议独立服务搜索请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610088562A CN101083581B (zh) | 2006-05-30 | 2006-05-30 | 自组织对等网络中控制多播的方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610088562A CN101083581B (zh) | 2006-05-30 | 2006-05-30 | 自组织对等网络中控制多播的方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101083581A CN101083581A (zh) | 2007-12-05 |
CN101083581B true CN101083581B (zh) | 2010-05-26 |
Family
ID=38912873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610088562A Expired - Fee Related CN101083581B (zh) | 2006-05-30 | 2006-05-30 | 自组织对等网络中控制多播的方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101083581B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973460B (zh) * | 2013-01-30 | 2017-06-27 | 华为终端有限公司 | 用于实现网络意图的方法及装置 |
JP5959740B2 (ja) * | 2013-06-03 | 2016-08-02 | 三菱電機株式会社 | 通信システムの負荷制御方法、集線装置及び通信システム |
CN106296252B (zh) * | 2015-06-04 | 2021-12-21 | 阿里巴巴集团控股有限公司 | 用户推荐方法及装置 |
CN108200567B (zh) * | 2018-01-18 | 2021-04-16 | 浙江大华技术股份有限公司 | 一种设备发现方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447256A (zh) * | 2002-03-21 | 2003-10-08 | 重庆大学 | 一种对等网络体系结构实现方法 |
EP1400031A1 (en) * | 2001-06-27 | 2004-03-24 | Nokia Corporation | Ad hoc network discovery menu |
-
2006
- 2006-05-30 CN CN200610088562A patent/CN101083581B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1400031A1 (en) * | 2001-06-27 | 2004-03-24 | Nokia Corporation | Ad hoc network discovery menu |
CN1447256A (zh) * | 2002-03-21 | 2003-10-08 | 重庆大学 | 一种对等网络体系结构实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101083581A (zh) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7050819B2 (en) | Mesh network mobile unit with positioning system | |
EP1517488A2 (en) | Mechanism for improving connection control in peer-to-peer ad-hoc networks | |
Musolesi et al. | Emma: Epidemic messaging middleware for ad hoc networks | |
CN101729581B (zh) | 一种在p2p网络中实现重定向的方法、系统及设备 | |
JP2005051754A (ja) | 無線パーソナルエリアネットワークにおけるリモートサービスの利用可能性を判定する距離アウェアサービスディスカバリメカニズム | |
JP6801191B2 (ja) | 無線通信システム、無線通信装置、及び無線通信プログラム | |
KR20070081733A (ko) | 다중 경로 설정 장치 및 방법 | |
CN101459949B (zh) | 路由建立方法 | |
JP2007325190A (ja) | プッシュゲートウェイ、在圏登録サーバ、携帯端末、プッシュシステム及びプッシュ方法 | |
CN101083581B (zh) | 自组织对等网络中控制多播的方法及其装置 | |
WO2008082717A2 (en) | Power-based resource sharing in a mesh network | |
Mayer et al. | Routing in hybrid delay tolerant networks | |
JP2006050461A (ja) | マルチホップ型無線システムの構成方法及び無線ノード装置 | |
EP2480009B1 (en) | Multimedia message transmission method and apparatus thereof, and domain name server | |
Su et al. | ACAR: an ant colony algorithm‐based routing protocol for underwater acoustic sensor network | |
CN102438276B (zh) | 基于自适应索引矢量压缩的机会网络高效路由方法 | |
CN105530162A (zh) | 离线消息处理方法及装置 | |
CN110784244A (zh) | 一种数据传输方法及全双工Ad Hoc网络系统 | |
Xu et al. | Design of a P2P based collaboration platform for underwater acoustic sensor network | |
US20070147252A1 (en) | Method for reducing traffic loading in an ad-hoc network | |
Ariwibisono et al. | Hybrid PRoPHET-epidemic routing protocol for optimizing possibility of sending messages in remote fishermen residential area | |
Wang et al. | Novel Opportunistic Network Routing Based on Social Rank for Device‐to‐Device Communication | |
WO2024128002A1 (ja) | 通信システム、通信装置及び通信方法 | |
WO2021152970A1 (ja) | 無線通信装置、無線通信方法及び無線通信システム | |
WO2024128003A1 (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100526 Termination date: 20150530 |
|
EXPY | Termination of patent right or utility model |