专利名称:用于确定对等覆盖网络的大小的方法和装置的制作方法
技术领域:
本申请整体上涉及覆盖网络的操作,并且更具体地,涉及用于对等覆盖网络中的增强型覆盖状态维护的方法和装置。
背景技术:
“对等”覆盖网络指的是其中的成员节点在不存在基于服务器的基础设施的情况下获取服务的网络。在对等覆盖中,对等节点相互协作以提供服务并维护网络。可以在基础网络(underlying network)(例如,使用网际协议(IP)的网络)的上面构建对等覆盖网在对等覆盖网络中,每个节点都知悉参与该覆盖网络的一个或多个对等点。在覆盖网络上从源节点向目标节点路由数据的一种简单但低效率的方法是不断地将数据传递到下一跳或后继节点(即,在标识空间中逻辑上紧邻源节点之后的节点),直到到达目标节点。然而,该方法随着覆盖网络的大小和跳的数目的增加而导致过长的等待时间。因此,为了路由优化,每个节点都维护指示点(finger)列表,该指示点是远离该节点自身的一个节点、两个节点、四个节点或高达20"-1)个节点;其中m是分配给每个节点标识符的比特的数目。这有助于将路由数据所需要的跳的数目从节点O(n)最小化到节点0(log(n)),其中η 是平均情况下节点的数目。然而,节点可以在任何时刻进入和离开网络,从而导致了覆盖网络配置的改变,该改变会影响特定节点已知的指示点。为了补偿该可变性,每个节点重新运行对该节点已知的指示点进行重新计算的指示点稳定算法。该指示点稳定算法的结果存储于指示点表中。 遗憾的是,由于每个节点维护其自己的指示点表,所以确定每个节点需要以哪个频率来运行它的指示点稳定算法会是有问题的。例如,如果一个节点没有足够经常地运行其指示点稳定算法,那么其指示点表会变得过时从而导致低效率和延迟的分组路由。如果一个节点太频繁地运行其指示点稳定算法,那么这会导致覆盖网络带宽的浪费和/或对覆盖网络上其它节点带来负担。例如,运行稳定算法需要电能,而过多地执行稳定算法会浪费在电池操控节点处的电能。此外,由于所构建的对等覆盖网络实质上是高度分布的,因此参与的节点不具有完整的路由表并因此不知道它们正工作于其中的覆盖网络的大小。然而,对于若干目的(例如当合并覆盖网络、执行负载均衡或高速缓存策略以及路由协议专门化时)而言,知道覆盖网络的大小是有用的。遗憾的是,常规系统不能提供准确的覆盖网络大小。例如,节点可以在没有友好地通知其邻居的情况下而离开覆盖网络,从而覆盖网络的大小不会被准确地进行维护。因此,期望具有一种简单的节约成本的机制来允许节点自适应地调度指示点稳定算法并确定覆盖网络的大小,以克服上述的问题。
发明内容
在一个或多个方面,提供了包括方法和装置的自适应性调度(AQ系统,该AS系统自适应地操作来允许节点确定在指示点稳定算法的执行之间的时间间隔并从而自适应地调度该算法的执行。该系统还操作来允许节点确定它们所参与的覆盖网络的大小,从而促成诸如合并、负载均衡和高速缓存这样的网络功能。在一方面,提供了一种用于确定对等覆盖网络的大小的方法。该方法包括推断第一节点正在离开覆盖网络,以及传送减小消息以减小大小计数器值。在一方面,提供了一种用于确定对等覆盖网络的大小的装置。该装置包括用于推断第一节点正在离开覆盖网络的处理器,以及耦合到所述处理器并用于传送减小消息以减小大小计数器值的发射机。在一方面,提供了一种用于确定对等覆盖网络的大小的方法。该方法包括识别与覆盖网络的第一节点相关联的一组节点,获得与所述一组节点中的每个节点相关联的分段长度,以及通过将所述一组节点中节点的总数目除以分段长度之和来确定覆盖网络的大小。在一方面,提供了一种用于确定对等覆盖网络的大小的装置。该装置包括用于识别与覆盖网络的第一节点相关联的一组节点的处理器;耦合到所述处理器并用于获得与所述一组节点中的每个节点相关联的分段长度的收发机;并且其中,所述处理器用于通过将所述一组节点中节点的总数目除以分段长度之和来确定覆盖网络的大小。在一方面,提供了一种用于确定对等覆盖网络的大小的方法。该方法包括识别与覆盖网络的第一节点相关联的一组节点,获得与所述第一节点和所述一组节点中的每个节点相关联的大小估计,以及通过对多个大小估计进行平均来确定覆盖网络的大小。在一方面,提供了一种用于确定对等覆盖网络的大小的装置。该装置包括用于识别与覆盖网络的第一节点相关联的一组节点以及用于获得与所述第一节点相关联的大小估计的处理器;耦合到所述处理器并用于获得与所述一组节点中的每个节点相关联的大小估计的收发机;并且其中,所述处理器用于通过对多个大小估计进行平均来确定覆盖网络的大小。在阅读以下阐述的
、说明书和权利要求之后,其它方面将变得显而易见。
通过参考下面结合附图的描述,本文所述的以上各方面将变得更加显而易见,其中图1示出了说明AS系统的操作的网络;
图2示出了根据AS系统所构建的示例性AS装置;图3示出了用于根据所述AS系统自适应地调度指示点稳定算法的示例性方法;图4示出了根据AS系统所构建的示例性AS装置;图5示出了用于根据AS系统来确定覆盖网络大小的第一种方法;图6示出了用于根据AS系统来确定覆盖网络大小的第二种方法;图7示出了用于根据AS系统来确定覆盖网络大小的第一种改进方法;图8示出了用于根据AS系统来确定覆盖网络大小的第二种改进方法;图9示出了根据AS系统所构建的示例性AS装置;图10示出了根据AS系统所构建的示例性AS装置;以及图11示出了根据AS系统所构建的示例性AS装置。
具体实施例方式下面的说明描述了用于自适应地调度指示点稳定算法的执行以及用于确定覆盖网络的大小的AS系统的各个方面和实施方式。图1示出了用于说明AS系统的操作的网络100。网络100包括基础网络102,基础网络102包括任意类型的网络,诸如网际协议网络。虽然基础网络102作为单个实体而示出,但是基础网络102可包括任意数目或任意类型的网络,诸如WAN、LAN、无线网络和/或任何其它类型的网络。对等覆盖网络104包括基础网络102的节点的子集,并使用基础网络102的服务来进行操作以允许那些节点进行通信。在对等覆盖网络104中,通过通信链路106来将这些节点连接起来从而形成圆形路由路径。通信链路106可以是由基础网络102所提供的安全隧道。对等覆盖网络104使用与基础网络102不同的一组许可和交互来进行操作。应当注意的是,对等覆盖网络104可以具有任意的拓扑或者结构以能够使用任意的路由模式, 并且它不局限于图1所示的路由。对等覆盖网络104中的每个节点都建立了节点标识符。为了简化和易于描述,对等覆盖网络104的节点的节点标识符是(1,4,7,10,13,16,19和22)。应当注意的是,在实际上,覆盖网络可包括非常多的节点并使用更大的节点标识符。在操作期间,业务可以围绕对等覆盖网络104沿着任何一个方向而流动。为了促成业务路由,覆盖网络104的每个节点都计算并维护指示点表,该指示点表识别作为覆盖网络104中的捷径的路由指示点。例如,每个节点都基于覆盖网络的当前配置来运行指示点稳定算法以识别路由指示点。因此,当节点加入和离开覆盖网络时,指示点稳定算法将识别与每个节点相关联的路由指示点。例如,在节点4处运行的指示点稳定算法已经识别了到节点13的指示108和到节点19的指示110。指示点的使用提供了通过覆盖网络104的更高效的分组路由。例如,在节点4处的要被路由到节点16的分组能够在第一跳中沿着指示108被路由,然后在第二跳中被路由到节点16,如路由路径114所示。在覆盖网络104的每一个节点处都会提供AS装置。为简单起见,在覆盖网络104 的节点4处示出了 AS装置112 ;然而,类似的AS装置可位于覆盖网络104的每个节点处。 AS装置112操作以自适应地调度在节点4处执行的指示点稳定算法的执行。AS装置112 适用于与任何类型的指示点稳定算法一起使用,并且下面将提供其操作的简短描述。
开始时,AS装置112在指示点稳定算法的执行之间具有初始的或基本的时间间隔 (即t秒)。当该稳定算法运行时,节点4会发现N个指示点。AS装置112测量t秒的时间间隔并再次触发节点4来执行指示点稳定算法。如果两次指示点结果(即,所确定的指示点的数目和/或类型)之间的差别满足第一标准,那么AS装置112操作以增加在指示点稳定算法的执行之间的时间间隔。例如,在一个实施方式中,将所述时间间隔增加到原来的2 倍。然而,如果这些差别满足第二标准,那么AS装置112操作以减小在指示点稳定算法的执行之间的时间间隔。例如,在一个实施方式中,将所述时间间隔减小到原来的1/2。可定义所述第一标准和所述第二标准以满足任何适当的性能目标。例如,如果在两次指示点结果之间没有差别,则可满足所述第一标准。如果在两次指示点结果之间发现任何的差别,则可满足所述第二标准。因此,还可能定义所述第一标准和第二标准来测试关于特定节点的指示点表中的变化的任意状况集。因此,通过这种自适应性的自我调节方法,AS装置112允许每个节点独立和自适应地获得在指示点稳定算法的执行之间的稳态间隔。此外,该系统还允许每个节点独立地估算覆盖网络的大小。例如,如果一个特定的节点在时间t已经识别了覆盖网络中的N个指示点,那么那时在覆盖网络中有最多节点。因此,如果一个特定的节点已经识别了三个独特的指示点,那么那个特定节点估算覆盖网络的大小为8个O3)个节点。然而,该估算将随时间而变化并用于为节点提供覆盖网络的近似大小范围。所述AS系统不需要在各个节点之间的协作或者该系统的全局信息来调度指示点稳定算法,指示点稳定算法对于对等分布式应用是有益的。在下文提供了 AS装置112的该操作的更详细的描述。图2示出了根据所述AS系统所构建的示例性AS装置200。例如,AS装置200适于用作图1中所示的AS装置112。AS装置200包括处理器202、存储器204、定时器206和收发机208,它们都使用数据总线210耦合来进行通信。应当注意的是,AS装置200仅是一种实施方式并且其它的实施方式是可能的。收发机208包括硬件和/或执行软件的硬件,该硬件和/或执行软件的硬件操作来允许AS装置200与对等覆盖网络上的多个节点传递数据或其它信息。收发机208可操作来与对等覆盖网络的节点建立一个或多个通信链路212,以用于执行指示点稳定算法或网络大小估计。例如,通信链路212可以是安全隧道,该安全隧道可用基础IP网络的服务来形成。 存储器204包括任何适当的存储设备,这些适当的存储设备可操作来在AS系统的操作期间允许存储和检索信息。存储器204操作来存储覆盖网络参数114,该覆盖网络参数114包括与覆盖网络相关的信息,包括节点标识符、基础网络标识符、服务标识符和与覆盖网络的操作或使用相关的任何其它的参数或信息。覆盖网络参数114还包括第一组标准和第二组标准,它们在AS系统的操作期间使用。例如,由处理器202将这些标准组存储进存储器204。处理器202还可操作来更新、改变或以其它方式修改这些标准组。在AS系统的操作期间使用这些标准组来确定何时增加或减小在指示点稳定算法218的执行之间的时间间隔。 存储器204还操作来存储指示点数据库216,其包括与对等覆盖网络的一个或多个节点相关联的指示点信息。指示点数据库216用于存储与节点可用的指示点的数目和类型相关的信息。例如,指示点数据库216包括诸如指示点的数目、指示点的类型、指示点端节点之类的信息,以及与覆盖网络的指示点相关的任何其它信息。根据由处理器202执行的指示点稳定算法218来确定指示点数据库116中的信息。定时器206包括硬件和/或执行软件的硬件,所述硬件和/或执行软件的硬件操作以基于从处理器202接收到的时间参数来测量时间间隔。例如,这些时间参数包括用于初始化计数器的递减计数值。该递减计数值对应于要被定时器206测量的特定时间间隔。 因此,处理器202可设置定时器206以测量任何期望的时间间隔。当已经测量了所述时间间隔时,定时器206向处理器202指示定时器期满。例如,定时器206测量特定的时间间隔, 在该时间间隔结束时,处理器202被通知并在此之后操作来执行指示点稳定算法218。指示点稳定算法218操作来确定关于与特定节点相关联的指示点的信息。处理器202包括CPU、处理器、门阵列、硬件逻辑、存储元件和/或执行软件的硬件中的至少一者。处理器202操作来确定覆盖网络中的特定节点可用的指示点。例如,处理器202执行指示点稳定算法218并在指示点数据库216中存储关于所确定的指示点的信息。处理器202还操作来将由指示点稳定算法所确定的指示点确定进行比较从而确定在指示点稳定算法执行之前是否增加或减小时间间隔。处理器202控制定时器206对该时间间隔进行测量。处理器202还操作来执行用于覆盖网络大小估计的一个或多个方法。自适应件时间间隔确定在AS系统的操作期间,定时器206操作来测量时间间隔,之后,处理器202执行指示点稳定算法218。例如,定时器206发信号给处理器202表明时间间隔已经结束或者期满。处理器202操作来采用覆盖网络参数214来确定被用于执行指示点稳定算法218的信息。所得到的指示点确定存储于指示点数据库216中。然后,处理器202在指示点稳定算法的下一次执行之前确定要被测量的所述时间间隔。处理器202通过比较指示点稳定算法的两次指示点结果来确定下一时间间隔。例如,处理器202可以比较两次最近的指示点确定,或者可以比较平均的指示点结果,或者可以选择任何特定的指示点结果来进行比较。如果两次指示点结果之间的差别满足第一组标准(即,相同的数目、类型、端节点等),那么处理器202增加所述时间参数以相应地增加所述时间间隔(Tl)。例如,在一个实施方式中,如下来增加所述时间间隔直到所选择的最大 TIfflax, TIfflax确保了以最低频率l/TImax来执行该算法。TI 新=TI 旧拉如果两次指示点结果之间的差别满足第二组标准,那么处理器202减小所述时间参数以相应地减小所述时间间隔(Ti)。例如,在一个实施方式中,如下来减小所述时间间隔直到所选择的最小TImin,TImin确保了以最大频率l/TImin来执行该算法。TI 新=TI 旧/2一旦确定了新的时间参数,处理器202就向定时器206提供所述时间参数以允许测量该新的时间间隔。在所述时间间隔结束时,处理器202再次执行指示点稳定算法。应当注意的是,上面提供的用于增加和减小所述时间间隔的技术只是一种实施方式,并且可以采用其它的技术。例如,可以以比上述速率更快或更慢的速率来增加和/或减小所述时间间隔。实际上,可以使用任何用于增加和/或减小所述时间间隔的技术。还应当注意的是,处理器202可以产生任意的参数组来定义所述第一组标准和所述第二组标准以获得AS系统的所选择的性能。例如,可以定义所述第一组标准使得如果在两次指示点确定之间不存在差别或者仅存在小的差别,则这些标准得到满足。此外,可以定义所述第二组标准使得如果在两次指示点确定之间存在任何差别或者仅当存在大量差别, 则这些标准得到满足。因此,可以由处理器202来设置这些标准组以实际地检测任何指示点动态(即,没有变化、小的变化、大的变化、特定的变化等),并基于所检测的指示点动态来调节在指示点稳定算法的执行之间的时间间隔。在一个实施方式中,AS系统包括计算机程序产品,所述计算机程序产品具有存储或嵌入到计算机可读介质上的一个或多个程序指令(“指令”)或“代码”集。当这些代码由至少一个处理器(例如处理器20 来执行时,它们的执行促使AS装置200提供本文描述的AS系统的这些功能。例如,计算机可读介质包括软盘、⑶ROM、存储卡、FLASH存储设备、 RAM、ROM或连接到AS装置200的任何其它类型的存储设备或计算机可读介质。在另一方面,可从外部设备或通信网络资源将这些代码集下载到AS装置200中。当被执行时,这些代码集操作来提供本文描述的AS系统的各个方面。图3示出了用于根据所述AS系统自适应地调度指示点稳定算法的示例性方法 300。为了清楚起见,下面参照图2所示的AS装置200来描述方法300。在一个实施方式中,处理器202执行一个或多个代码集来控制AS装置200以执行下面描述的功能。在框302,维护覆盖网络参数数据库。在一个实施方式中,处理器202在存储器204 中维护参数数据库214。例如,参数数据库214包括但不限于与在对等覆盖网络上运行的一个或多个节点相关联的IP地址、节点标识符和/或任何其它参数。在框304,执行指示点稳定算法。在一个实施方式中,处理器202执行稳定算法218 以采用收发机208和通信链路212来与覆盖网络的其它节点进行通信,从而确定覆盖网络的指示点。处理器202执行任何适当的稳定算法来确定与覆盖网络相关联的指示点。在框306,将指示点稳定算法的结果存储于存储器中。例如,处理器202将指示点稳定算法的结果作为指示点数据库216的一部分存储在存储器204中。在框308,初始化时间间隔。例如,处理器202向定时器206输入初始时间参数从而定时器206能够测量初始时间间隔。在框310,所述方法等待要被测量的当前时间间隔。例如,定时器206测量当前的时间间隔并在所述时间间隔期满时向处理器202提供指示。在框312,执行指示点稳定算法。在一个实施方式中,响应于定时器206期满,处理器202执行稳定算法218以采用收发机208和通信链路212来与覆盖网络的其它节点进行通信,从而确定覆盖网络的指示点。处理器202执行任何适当的稳定算法来确定与覆盖网络相关联的指示点。在框314,将指示点稳定算法的结果存储于存储器中。例如,处理器202将指示点稳定算法的结果作为指示点数据库216的一部分存储在存储器204中。在框316,做出两次指示点确定之间的差别是否满足第一组标准的判定。例如,处理器202从指示点数据库216检索最近的和之前的指示点结果并将它们进行比较以确定它们之间的差别是否满足所述第一组标准。例如,如果在第一和第二指示点确定之间不存在差别或者仅存在小的差别,则所述第一组标准可以得到满足。如果第一组标准得到满足,那么所述方法前进到框318。如果第一组标准未得到满足,那么所述方法前进到框320。
在框318,增加当前的时间间隔。例如,处理器202使时间间隔增加到原来的2倍并将该新的时间间隔输入到定时器206以便定时器206能够测量更新的时间间隔。然后所述方法前进到框310以等待定时器206期满。应当注意的是,处理器202能够采用任何适当的技术或算法来增加时间间隔。在框320,做出两次指示点确定之间的差别是否满足第二组标准的判定。例如,处理器202从指示点数据库216检索最近的和之前的指示点结果并将它们进行比较以确定它们之间的差别是否满足所述第二组标准。例如,如果在第一和第二指示点确定之间存在任何差别或者仅当存在大的差别,则所述第二组标准可以得到满足。如果第二组标准得到满足,那么所述方法前进到框322。如果所述第二组标准未得到满足,那么所述方法前进到框 312并且不改变时间间隔。在框322,减小时间间隔。例如,处理器202使时间间隔减小到原来的1/2并将该新的时间参数输入到定时器206以便定时器206能够测量更新的时间间隔。然后所述方法前进到框310以等待定时器206期满。应当注意的是,处理器202能够采用任何适当的技术或算法来减小当前的时间间隔。在一个实施方式中,以比增加的速率更快的速率来减小时间间隔。因此,方法300可操作来在某个节点处根据AS系统来确定与覆盖网络相关联的指示点何时已经改变并自适应地调节在指示点稳定算法的执行之间的时间间隔。应当注意的是,方法300仅是一种实施方式,并且在各种实施方式的范围内,方法300的操作可以进行重新排列或者以其它方式进行修改。因此,其它实施方式是可能的。图4示出了根据所述AS系统构建的示例性AS装置400。例如,AS装置400适于用作图2中所示的AS装置200。在一个方案中,AS装置400由至少一个集成电路来实现, 所述集成电路包括被配置为提供本文描述的AS系统的各个方面的一个或多个模块。例如, 在一个实施方式中,每个模块都包括硬件和/或执行软件的硬件。AS装置400包括第一模块,所述第一模块包括用于将与某个节点相关联的第一和第二指示点确定进行比较的模块002),在一个方案中,所述模块(40 包括处理器202。AS 装置400还包括第二模块,所述第二模块包括用于如果所述第一和第二指示点确定之间的差别满足第一标准则增加在指示点稳定算法的执行之间的时间间隔的模块004),在一个方案中,所述模块(404)包括定时器206。AS装置400还包括第三模块,所述第三模块包括用于如果所述第一和第二指示点确定之间的差别满足第二标准则减小在指示点稳定算法的执行之间的时间间隔的模块006),在一个方案中,所述模块(406)包括定时器206。覆盖大小确定所述AS系统还操作来确定覆盖网络大小估计。在一种实施方式中,AS装置200操作来执行用于对等覆盖网络的大小估计的两种方法。在第一种方法中,使用集中式计数器并结合节点动态的推断来估计覆盖网络的大小。在第二种方法中,执行分布式估计过程,该分布式估计过程在对等点之间采用捎带传送式(piggybacked)通信以及一个或多个试探法来估计覆盖网络的大小。大小确定-方法一图5示出了用于根据AS系统来确定覆盖网络的大小的第一种方法500。大小确定的第一种方法500基于覆盖网络的分布式散列表实现,其中任意的数据项目都具有相关联的数据密钥。通过使用抗冲突散列函数将数据密钥串散列化为数字密钥,可获得该数据密钥。节点还在相同的密钥空间中接收节点标识。数据项目在其节点密钥在数字距离上最接近于该数据项目的密钥(数字密钥)的节点处进行存储。为了清楚起见,下面参照图2所示的AS装置200来描述方法500。在一个实施方式中,处理器202执行一个或多个代码集来控制AS装置200执行下面描述的功能。在框502,对覆盖大小计数器进行维护并且该覆盖大小计数器表明覆盖网络的当前大小。该覆盖大小计数器可被参与覆盖网络的任何节点所访间。下面提供对该覆盖大小计数器的描述以及如何维护和更新该覆盖大小计数器。在框504,做出是否检测到正在加入的节点的判定。在一个实施方式中,正在加入覆盖网络的任何节点都添加最近的邻居,该最近的邻居是数字密钥空间中的后继者,即,在顺时针方向上,它的节点密钥最接近于该正在加入的节点的密钥。例如,将假设包括图1所示的AS装置112的节点4在顺时针方向上最接近于正在加入的节点。那么,对该正在加入的节点而言,节点4被指定为“加入告知者”。所述加入告知者负责宣告节点的到达以及增加所述覆盖大小计数器。应当注意的是,对于不同的正在加入的节点而言,所述加入告知者可以是不同的。在一个实施方式中, 处理器202通过从正在加入的节点接收表明该节点希望加入覆盖网络的通信来做出是否检测到正在加入的节点的判定。如果检测到正在加入的节点,则所述方法前进到框506。如果未检测到正在加入的节点,则所述方法前进到框508。在框506,发送消息来增加所述覆盖大小计数器。所述覆盖大小计数器在分布式散列表中进行维护。当加入告知者发送要被存储在数据密钥处的消息以表示唯一的已一致同意的计数器变量时,增加所述覆盖大小计数器,所述数据密钥通过对诸如“OVERLAY-SUE” 这样的公知字符串进行散列运算来获得。加入告知者向该覆盖大小计数器的密钥发送用于定义增加的消息。基于这些消息,所述覆盖大小计数器在存储该计数器的节点(即,其节点密钥最接近于该计数器密钥(例如,字符串“OVERLAY-SUE”的散列)的节点)上被增加。 在一个实施方式中,处理器202控制收发机208传送所述消息以增加所述覆盖大小计数器。在框508,做出是否检测到正在离开的节点的判定。在一个实施方式中,正在离开覆盖网络的任何节点都友好地向在数字密钥空间中它的邻居发送离开(LEAVE)消息。在逆时针方向上其节点密钥最接近于该离开节点的密钥的节点被指定为针对该正在离开的节点的“离开告知者”。例如,将假设包括图1所示的AS装置112的节点4在逆时针方向上最接近于正在离开的节点。因此,节点4被指定为离开告知者并负责减小所述覆盖大小计数器。在一个实施方式中,处理器202通过从正在离开的节点接收表明该节点希望离开覆盖网络的通信来做出是否检测到正在离开的节点的判定。如果检测到正在离开的节点,则所述方法前进到框510。如果未检测到正在离开的节点,则所述方法前进到框512。在框510,发送消息来减小所述覆盖大小计数器。所述覆盖大小计数器在分布式散列表中进行维护。当离开告知者发送要被存储在数据密钥处的消息以表示唯一的已一致同意的计数器变量时,减小所述覆盖大小计数器,所述数据密钥通过对诸如“OVERLAY-SUE” 这样的公知字符串进行散列运算来获得。离开告知者向该覆盖大小计数器的密钥发送用于定义减小的消息。基于这些消息,所述覆盖大小计数器在存储该计数器的节点(即,其节点密钥最接近于该计数器密钥(例如,字符串“OVERLAY-SIZE”的散列)的节点)上被减小。在一个实施方式中,处理器202控制收发机208传送所述消息以减小所述覆盖大小计数器。在框512,做出是否能够推断出正在离开的节点的判定。由于节点总是友好地加入覆盖网络但或许不会友好地离开覆盖网络,所以离开告知者操作来通过推断来确定节点何时离开覆盖网络。在一个实施方式中,当离开告知者推断出节点已经离开覆盖网络时,它更新所述覆盖大小计数器。例如,用于任何特定节点的离开告知者需要维持到那个特定节点的连接以保持环的路由完整性。所述离开告知者能够因连接失败或其它指示而推断出那个特定节点的离开,并随后更新所述覆盖大小计数器。例如,将假设包括图1所示的AS装置112的节点4维持与特定节点的连接以保持所述环的路由完整性。在一个实施方式中, 收发机208检测与所述特定节点相关联的连接失败。因此,节点4被指定为离开告知者,而且处理器202推断所述特定节点已经离开覆盖网络并操作来更新所述覆盖大小计数器,即使非友好的离开已经发生。在一个实施方式中,处理器202通过检测连接失败或者通过接收表明节点已经离开覆盖网络的第三方通信而做出是否推断节点已经离开覆盖网络的判定。第三方通信可以源自覆盖网络中的另一节点。如果推断出正在离开的节点,则所述方法前进到框514。如果未推断出正在离开的节点,则所述方法前进到框516。在框514,发送消息来减小所述覆盖大小计数器。所述覆盖大小计数器在分布式散列表中进行维护。当离开告知者发送要被存储在数据密钥处的消息以表示唯一的已一致同意的计数器变量时,减小所述覆盖大小计数器,所述数据密钥通过对诸如“OVERLAY-SUE” 这样的公知字符串进行散列运算来获得。离开告知者向该覆盖大小计数器的密钥发送用于定义减小的消息。基于这些消息,所述覆盖大小计数器在存储该计数器的节点(即,其节点密钥最接近于该计数器密钥(例如,字符串“OVERLAY-SIZE”的散列)的节点)上被减小。 在一个实施方式中,处理器202控制收发机208传送所述消息以减小所述覆盖大小计数器。在框516,查询覆盖网络大小计数器以确定当前的网络大小。节点能够通过查询相同的计数器密钥(通过对诸如“OVERLAY-SUE”这样的公知知字符串进行散列运算而得到)来检索覆盖大小计数器的当前值,从而获得网络的大小,该当前值是覆盖网络大小的当前估计。应当注意的是,可在包括AS装置200的任何节点处执行上述操作。因此,这些操作是以分布式的方式来执行的,从而覆盖大小计数器可由作为加入告知者或离开告知者的任何节点来增加或减小。因此,AS系统的实现操作来推断节点离开,从而在非友好离开的情况中,能够准确地更新覆盖大小计数器。还应当注意的是,方法500仅是一个实施方式, 并且在各种实施方式的范围内,方法500的操作可以进行重新排列或者以其它方式进行修改。因此,其它实施方式是可能的。大小确定-方法二大小确定的第二种方法不需要如上述方法500那样发送任何特定的消息来指明加入和离开,也不是对在分布式散列表中进行维护的计数器做出公知的认同。第二种方法采用包括两种改进的估计技术,这两种改进可被应用于附加的精度。图6示出了用于根据AS系统来确定覆盖网络大小的第二种方法600。在方法600 中,S表示由任何k个节点集来管理的分段长度(数字ID空间的长度)的和。然后,可根据k/S来确定覆盖大小的估计E,即覆盖网络中节点的数目。
为了清楚起见,下面参照图2所示的AS装置200来描述方法600。在一个实施方式中,处理器202执行一个或多个代码集来控制AS装置200执行下面描述的功能。将假设 AS装置200位于覆盖网络中的某个节点处并且AS装置200执行下面的功能以确定覆盖网络的大小。在框602,在覆盖网络中识别一组节点。这组节点可以包括覆盖网络中的某些或所有的节点。例如,这些节点可以包括与包括AS装置的节点进行通信的指示点、邻居或者节点。在一个实施方式中,处理器202操作来识别作为这组节点的一部分的那些节点。在框604,获得与这组节点相关联的分段长度。在一个实施方式中,查询这组节点以获得它们的相关联的分段长度。所述分段长度是在给定节点与其顺时针后继者之间的ID 空间的部分。随着所述分段长度的减小,则在该网络中存在着更大数目的节点。由于采样覆盖网络中的所有节点以检索它们的相关联的分段长度是不现实的,所以在一个实施方式中,包括AS装置的节点向它已经与其保持路由关系的那些节点询问它们的分段长度。例如,AS装置可以向这组节点中的每个节点查询它们管理的分段长度。在另一实施方式中,分段长度信息在包括AS装置的节点以及其各自的指示点或邻居之间的常规消息上进行捎带传送。因此,处理器202控制收发机208通过在常规通信上捎带传送信息而从这组节点获得某些或者所有的分段信息。在框606,基于将所述组中的节点的数目与这些节点的分段长度的和相除来确定覆盖网络的大小。例如,假设所述ID空间的长度被划分成位于0和1之间。如果覆盖网络中仅有一个节点,则E = 1/1 = 1,这是该情况中的确切估计。考虑两个节点的情况并且它们划分所述ID空间从而第一节点占有0.3而第二节点占有0.7。那么E = 2/(0.3+0. 7)= 2。在一个实施方式中,处理器202操作来通过将所述组中的节点的总数目与它们的相关联的分段长度的和相除来确定覆盖网络的所估计的大小。因此,方法600操作来基于被识别的一组节点以及它们的相关联的分段长度来确定覆盖网络的大小。应当注意的是,方法600仅是一个实施方式,并且在各种实施方式的范围内,方法600的操作可以进行重新排列或者以其它方式进行修改。因此,其它实施方式是可能的。对方法二的改进图7示出了用于根据AS系统来确定覆盖网络大小的第一种改进方法700。例如, 在方法700中,通过对来自一个或多个节点的估计进行平均来确定更精确和/或更鲁棒的覆盖大小估计。为了清楚起见,下面参照图2所示的AS装置200来描述方法700。在一个实施方式中,处理器202执行一个或多个代码集来控制AS装置200执行下面描述的功能。 将假设AS装置200位于覆盖网络中的某个节点处并且AS装置200执行下面的功能以确定覆盖网络的大小。在框702,在第一节点处确定大小估计。在一个实施方式中,由方法600来确定所述大小估计。例如,AS装置200在第一节点处操作来执行方法600从而确定覆盖网络的大小估计。在框704,获得来自其它节点的大小估计。例如,包括AS装置的所述第一节点操作来从其它节点获得大小估计。在一个实施方式中,从与所述第一节点进行通信的指示点、邻居或其它节点来获得大小估计。例如,处理器202操作来控制收发机208通过向其它节点查询它们各自的大小估计来从这些其它节点获得大小估计。在框706,基于所获得的大小估计来确定覆盖大小。在一个实施方式中,所述第一节点还能够通过对从它的指示点、邻居或其它节点获得的所有覆盖大小估计进行平均来改进它的大小估计。因此,最终的大小估计为E = (E0+E1+E2+. . . +En)/n ;其中El至En是从 η个其它节点获得的大小估计而EO是所述第一节点的大小估计。在一个实施方式中,处理器202操作来对大小估计进行平均从而获得更准确的平均的大小估计。因此,方法700操作来通过将来自一个或多个节点的大小估计进行平均从而获得更准确的平均的大小估计来改进第一种方法600。应当注意的是,方法700仅是一个实施方式,并且在各种实施方式的范围内,方法700的操作可以进行重新排列或者以其它方式进行修改。因此,其它实施方式是可能的。图8示出了用于根据AS系统来确定覆盖网络大小的第二种改进方法800。例如, 方法800操作来通过对来自覆盖网络中任何节点的估计进行平均来确定更精确和/或更鲁棒的覆盖大小估计。为了清楚起见,下面参照图2所示的AS装置200来描述方法800。在一个实施方式中,处理器202执行一个或多个代码集来控制AS装置200执行下面描述的功能。将假设AS装置200位于覆盖网络中的第一节点处并且AS装置200执行下面的功能以确定覆盖网络的大小。在框802,在第一节点处确定大小估计。在一个实施方式中,由方法600来确定所述大小估计。例如,AS装置200在所述第一节点处操作来执行方法600,以确定覆盖网络的大小估计。在框804,获得来自其它节点的大小估计。例如,采用上述方法700,有可能来自其它节点的大小估计的采样在所述ID空间中是不均勻的。为了防止这种情况,在与任何节点进行交换的任何分组上将大小估计信息进行捎带传送。这提供了对所述网络的大小估计的更鲁棒的查看,因为可获得单个大小估计的节点的数目增加了。该改进使得从通过特定节点路由分组或者除了用该特定节点路由之外还执行业务的任何节点获得信息成为可能,而不是仅从某个节点的邻居来获得这些估计。因此,所述第一节点能够从与所述第一节点进行交互的指示点、邻居或任何其它节点来获得大小估计。在一个实施方式中,处理器202操作来控制收发机208获得在与所述第一节点交换的任何分组上捎带传送的大小估计。在框806,基于所获得的大小估计来确定覆盖大小。在一个实施方式中,所述第一节点还能够通过对从其指示点、邻居或与所述第一节点进行通信的任何其它节点获得的所有覆盖大小估计进行平均来改进它的大小估计。因此,最终的大小估计为E = (Ε0+Ε1+Ε2+. . . +En) /n ;其中El至En是从η个其它节点获得的大小估计而EO是所述第一节点的大小估计。在一个实施方式中,处理器202操作来对大小估计进行平均从而获得更准确的大小估计。因此,方法800操作来通过为所获得的大小估计提供在任何分组传输上的捎带传送来提供更鲁棒的平均,从而改进第一种方法600。应当注意的是,方法800仅是一个实施方式,并且在各种实施方式的范围内,方法800的操作可以进行重新排列或者以其它方式进行修改。因此,其它实施方式是可能的。图9示出了根据所述AS系统所构建的示例性AS装置900。例如,AS装置900适于用作图2中所示的AS装置200。在一个方案中,AS装置900由至少一个集成电路来实现,所述集成电路包括被配置为提供本文描述的AS系统的各个方面的一个或多个模块。例如,在一个实施方式中,每个模块都包括硬件和/或执行软件的硬件。AS装置900包括第一模块,所述第一模块包括用于推断第一节点正在离开覆盖网络的模块(902),在一个方案中,所述模块(90 包括处理器202。AS装置900还包括第二模块,所述第二模块包括用于传送减小消息以减小大小计数器值的模块(904),在一个方案中,所述模块(904)包括收发机208。图10示出了根据所述AS系统所构建的示例性AS装置1000。例如,AS装置1000 适于用作图2中所示的AS装置200。在一个方案中,AS装置1000由至少一个集成电路来实现,所述集成电路包括被配置为提供本文描述的AS系统的各个方面的一个或多个模块。 例如,在一个实施方式中,每个模块都包括硬件和/或执行软件的硬件。AS装置1000包括第一模块,所述第一模块包括用于识别与覆盖网络的第一节点相关联的一组节点的模块(1002),在一个方案中,所述模块(100 包括处理器202。AS装置 1000还包括第二模块,所述第二模块包括用于获得与所述一组节点中的每个节点相关联的分段长度的模块(1004),在一个方案中,所述模块(1004)包括收发机208。AS装置1000还包括第三模块,所述第三模块包括用于通过将所述一组节点中的节点的总数目除以分段长度之和来确定覆盖网络的大小的模块(1006),在一个方案中,所述模块(1006)包括处理器 202。图11示出了根据所述AS系统所构建的示例性AS装置1100。例如,AS装置1100 适于用作图2中所示的AS装置200。在一个方案中,AS装置1100由至少一个集成电路来实现,所述集成电路包括被配置为提供本文描述的AS系统的各个方面的一个或多个模块。 例如,在一个实施方式中,每个模块都包括硬件和/或执行软件的硬件。AS装置1100包括第一模块,所述第一模块包括用于识别与覆盖网络的第一节点相关联的一组节点的模块(1102),在一个方案中,所述模块(100 包括处理器202。AS装置1100还包括第二模块,所述第二模块包括用于获得与所述第一节点和所述一组节点中的每个节点相关联的大小估计的模块(1104),在一个方案中,所述模块(1104)包括收发机 208。AS装置1100还包括第三模块,所述第三模块包括用于通过对多个大小估计进行平均来确定覆盖网络的大小的模块(1106),在一个方案中,所述模块(1106)包括处理器202。结合本文所公开的各个方案而描述的各种说明性逻辑、逻辑块、模块和电路可用设计成执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)、或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或它们的任何组合来实现或执行。通用处理器可以是微处理器,但是可替换地,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器, 或者任何其它这样的配置。结合本文公开的各个方案所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或者在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、 ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或本领域中所知的任何其它形式的存储介质中。示例性的存储介质耦合到处理器,以使得该处理器可以从该存储介质读取信息和向该存储介质写入信息。可替换地,存储介质可整合到处理器。该处理器和该存储介质可驻留在ASIC中。ASIC可驻留于无线通信设备中。可替换地,处理器和存储介质可作为分立部件驻留在无线通信设备中。提供了所公开的方案的描述以使本领域任何技术人员能够实施或使用本发明。这些方案的各种修改对本领域技术人员而言将是显而易见的,并且本文所定义的一般性原理可以在不偏离本发明精神或范围的情况下应用于其它方案,例如,在即时消息服务或任何通用无线数据通信应用中。因此,本发明并不意图受限于本文示出的方案,而是要符合与本文公开的原理和新颖特征一致的最广泛的范围。措词“示例性的”在此专门用于表示“用作示例、实例或例示”。本文作为“示例性”而描述的任何方案不是必须被解释为优于或胜于其它方案。因此,尽管本文已说明和描述了自适应调度系统的各个方面,但是将意识到,在不背离其精神或实质特性的情况下,可对各个方面进行各种改动。因此,本文的公开和描述旨在说明而非限制在所附权利要求中阐述的本发明的范围。
权利要求
1.一种用于确定对等覆盖网络的大小的方法,所述方法包括 推断第一节点正在离开所述覆盖网络;以及传送减小消息以减小大小计数器值。
2.根据权利要求1所述的方法,其中,所述推断包括确定与所述第一节点的通信已经失败。
3.根据权利要求1所述的方法,其中,所述推断包括从第三方接收所述第一节点正在离开所述覆盖网络的指示。
4.根据权利要求1所述的方法,还包括 确定第二节点正在加入所述覆盖网络;以及传送增加消息以增加所述大小计数器值。
5.根据权利要求1所述的方法,还包括 确定第三节点正在离开所述覆盖网络;以及传送所述减小消息以减小所述大小计数器值。
6.根据权利要求1所述的方法,还包括查询所述大小计数器值以确定所述覆盖网络的大小。
7.根据权利要求6所述的方法,其中,所述查询所述大小计数器值包括对公知的字符串进行散列运算以检索所述大小计数器值。
8.一种用于确定对等覆盖网络的大小的装置,所述装置包括 处理器,其用于推断第一节点正在离开所述覆盖网络;以及发射机,其耦合到所述处理器并用于传送减小消息以减小大小计数器值。
9.根据权利要求8所述的装置,其中,所述处理器用于通过确定与所述第一节点的通信已经失败来进行推断。
10.根据权利要求8所述的装置,其中,所述处理器用于通过从第三方接收所述第一节点正在离开所述覆盖网络的指示来进行推断。
11.根据权利要求8所述的装置,其中所述处理器用于确定第二节点正在加入所述覆盖网络;以及所述发射机用于传送增加消息以增加所述大小计数器值。
12.根据权利要求8所述的装置,其中所述处理器用于确定第三节点正在离开所述覆盖网络;以及所述发射机用于传送所述减小消息以减小所述大小计数器值。
13.根据权利要求8所述的装置,其中,所述处理器用于查询所述大小计数器值以确定所述覆盖网络的大小。
14.根据权利要求13所述的装置,其中,所述处理器用于通过对公知的字符串进行散列运算以检索所述大小计数器值,来查询所述大小计数器值。
15.一种用于确定对等覆盖网络的大小的装置,所述装置包括 用于推断第一节点正在离开所述覆盖网络的模块;以及用于传送减小消息以减小大小计数器值的模块。
16.根据权利要求15所述的装置,其中,所述用于推断的模块包括用于确定与所述第一节点的通信已经失败的模块。
17.根据权利要求15所述的装置,其中,所述用于推断的模块包括用于从第三方接收所述第一节点正在离开所述覆盖网络的指示的模块。
18.根据权利要求15所述的装置,还包括用于确定第二节点正在加入所述覆盖网络的模块;以及用于传送增加消息以增加所述大小计数器值的模块。
19.根据权利要求15所述的装置,还包括用于确定第三节点正在离开所述覆盖网络的模块;以及用于传送所述减小消息以减小所述大小计数器值的模块。
20.根据权利要求15所述的装置,还包括用于查询所述大小计数器值以确定所述覆盖网络的大小的模块。
21.根据权利要求20所述的装置,其中,所述用于查询所述大小计数器值的模块包括用于对公知的字符串进行散列运算以检索所述大小计数器值的模块。
22.一种用于确定对等覆盖网络的大小的计算机程序产品,所述计算机程序产品包括包含可由处理器执行的代码的计算机可读介质,以便 推断第一节点正在离开所述覆盖网络;以及传送减小消息以减小大小计数器值。
23.根据权利要求22所述的计算机可读介质,其中,所述代码用于使所述处理器通过确定与所述第一节点的通信已经失败来进行推断。
24.根据权利要求22所述的计算机可读介质,其中,所述代码用于使所述处理器通过从第三方接收所述第一节点正在离开所述覆盖网络的指示来进行推断。
25.根据权利要求22所述的计算机可读介质,其中,所述代码用于使所述处理器 确定第二节点正在加入所述覆盖网络;以及传送增加消息以增加所述大小计数器值。
26.根据权利要求22所述的计算机可读介质,其中,所述代码用于使所述处理器 确定第三节点正在离开所述覆盖网络;以及传送所述减小消息以减小所述大小计数器值。
27.根据权利要求22所述的计算机可读介质,其中,所述代码用于使所述处理器查询所述大小计数器值以确定所述覆盖网络的大小。
28.根据权利要求27所述的计算机可读介质,其中,所述代码用于使所述处理器通过对公知的字符串进行散列运算以检索所述大小计数器值,来查询所述大小计数器值。
29.一种用于确定对等覆盖网络的大小的方法,所述方法包括 识别与覆盖网络的第一节点相关联的一组节点;获得与所述一组节点中的每个节点相关联的分段长度;以及通过将所述一组节点中节点的总数目除以分段长度之和来确定所述覆盖网络的大小。
30.根据权利要求四所述的方法,其中,所述一组节点包括与所述第一节点相关联的指示点。
31.根据权利要求四所述的方法,其中,所述一组节点包括与所述第一节点相关联的邻居。
32.根据权利要求四所述的方法,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
33.根据权利要求四所述的方法,其中,所述获得包括分别查询所述一组节点的至少一部分节点以获得所述分段长度的至少一部分分段长度。
34.根据权利要求四所述的方法,其中,所述获得包括分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述分段长度的至少一部分分段长度。
35.一种用于确定对等覆盖网络的大小的装置,所述装置包括处理器,其用于识别与覆盖网络的第一节点相关联的一组节点;收发机,其耦合到所述处理器并用于获得与所述一组节点中的每个节点相关联的分段长度;以及所述处理器用于通过将所述一组节点中节点的总数目除以分段长度之和来确定所述覆盖网络的大小。
36.根据权利要求35所述的装置,其中,所述一组节点包括与所述第一节点相关联的指示点。
37.根据权利要求35所述的装置,其中,所述一组节点包括与所述第一节点相关联的邻居。
38.根据权利要求35所述的装置,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
39.根据权利要求35所述的装置,其中,所述收发机用于分别查询所述一组节点的至少一部分节点以获得所述分段长度的至少一部分分段长度。
40.根据权利要求35所述的装置,其中,所述收发机用于分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述分段长度的至少一部分分段长度。
41.一种用于确定对等覆盖网络的大小的装置,所述装置包括用于识别与覆盖网络的第一节点相关联的一组节点的模块;用于获得与所述一组节点中的每个节点相关联的分段长度的模块;以及用于通过将所述一组节点中节点的总数目除以分段长度之和来确定所述覆盖网络的大小的模块。
42.根据权利要求41所述的装置,其中,所述一组节点包括与所述第一节点相关联的指示点。
43.根据权利要求41所述的装置,其中,所述一组节点包括与所述第一节点相关联的邻居。
44.根据权利要求41所述的装置,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
45.根据权利要求41所述的装置,其中,所述用于获得的模块包括用于分别查询所述一组节点的至少一部分节点以获得所述分段长度的至少一部分分段长度的模块。
46.根据权利要求41所述的装置,其中,所述用于获得的模块包括用于分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述分段长度的至少一部分分段长度的模块。
47.一种用于确定对等覆盖网络的大小的计算机程序产品,所述计算机程序产品包括包含可由处理器执行的代码的计算机可读介质,以便识别与覆盖网络的第一节点相关联的一组节点;获得与所述一组节点中的每个节点相关联的分段长度;以及通过将所述一组节点中节点的总数目除以分段长度之和来确定所述覆盖网络的大小。
48.根据权利要求47所述的计算机可读介质,其中,所述一组节点包括与所述第一节点相关联的指示点。
49.根据权利要求47所述的计算机可读介质,其中,所述一组节点包括与所述第一节点相关联的邻居。
50.根据权利要求47所述的计算机可读介质,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
51.根据权利要求47所述的计算机可读介质,其中,所述代码用于使所述处理器分别查询所述一组节点的至少一部分节点以获得所述分段长度的至少一部分分段长度。
52.根据权利要求47所述的计算机可读介质,其中,所述代码用于使所述处理器分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述分段长度的至少一部分分段长度。
53.一种用于确定对等覆盖网络的大小的方法,所述方法包括识别与覆盖网络的第一节点相关联的一组节点;获得与所述第一节点和所述一组节点中的每个节点相关联的大小估计;以及通过对多个大小估计进行平均来确定所述覆盖网络的大小。
54.根据权利要求53所述的方法,其中,所述一组节点包括与所述第一节点相关联的指示点。
55.根据权利要求53所述的方法,其中,所述一组节点包括与所述第一节点相关联的邻居。
56.根据权利要求53所述的方法,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
57.根据权利要求53所述的方法,其中,所述获得包括分别查询所述一组节点的至少一部分节点以获得所述大小估计的至少一部分大小估计。
58.根据权利要求53所述的方法,其中,所述获得包括分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述大小估计的至少一部分大小估计。
59.一种用于确定对等覆盖网络的大小的装置,所述装置包括处理器,其用于识别与覆盖网络的第一节点相关联的一组节点,并用于获得与所述第一节点相关联的大小估计;收发机,其耦合到所述处理器并用于获得与所述一组节点中的每个节点相关联的大小估计;以及所述处理器用于通过对多个大小估计进行平均来确定所述覆盖网络的大小。
60.根据权利要求59所述的装置,其中,所述一组节点包括与所述第一节点相关联的指示点。
61.根据权利要求59所述的装置,其中,所述一组节点包括与所述第一节点相关联的邻居。
62.根据权利要求59所述的装置,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
63.根据权利要求59所述的装置,其中,所述收发机用于分别查询所述一组节点的至少一部分节点以获得所述大小估计的至少一部分大小估计。
64.根据权利要求59所述的装置,其中,所述收发机用于分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述大小估计的至少一部分大小估计。
65.一种用于确定对等覆盖网络的大小的装置,所述装置包括 用于识别与覆盖网络的第一节点相关联的一组节点的模块;用于获得与所述第一节点和所述一组节点中的每个节点相关联的大小估计的模块;以及用于通过对多个大小估计进行平均来确定所述覆盖网络的大小的模块。
66.根据权利要求65所述的装置,其中,所述一组节点包括与所述第一节点相关联的指示点。
67.根据权利要求65所述的装置,其中,所述一组节点包括与所述第一节点相关联的邻居。
68.根据权利要求65所述的装置,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
69.根据权利要求65所述的装置,其中,所述用于获得的模块包括用于分别查询所述一组节点的至少一部分节点以获得所述大小估计的至少一部分大小估计的模块。
70.根据权利要求65所述的装置,其中,所述用于获得的模块包括用于分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述大小估计的至少一部分大小估计的模块。
71.一种用于确定对等覆盖网络的大小的计算机程序产品,所述计算机程序产品包括包含可由处理器执行的代码的计算机可读介质,以便 识别与覆盖网络的第一节点相关联的一组节点; 获得与所述第一节点相关联的大小估计; 获得与所述一组节点中的每个节点相关联的大小估计;以及通过对多个大小估计进行平均来确定所述覆盖网络的大小。
72.根据权利要求71所述的计算机可读介质,其中,所述一组节点包括与所述第一节点相关联的指示点。
73.根据权利要求71所述的计算机可读介质,其中,所述一组节点包括与所述第一节点相关联的邻居。
74.根据权利要求71所述的计算机可读介质,其中,所述一组节点包括与所述第一节点进行通信的一个或多个节点。
75.根据权利要求71所述的计算机可读介质,其中,所述代码用于使所述处理器分别查询所述一组节点的至少一部分节点以获得所述大小估计的至少一部分大小估计。
76.根据权利要求71所述的计算机可读介质,其中,所述代码用于使所述处理器分别以与所述一组节点的至少一部分节点进行捎带传送通信的方式来获得所述大小估计的至少一部分大小估计。
全文摘要
用于对等覆盖网络中的增强型覆盖状态维护的方法和装置。第一种方法包括推断第一节点正在离开覆盖网络,以及传送减小消息以减小大小计数器值。第二种方法包括识别与覆盖网络的第一节点相关联的一组节点,获得与所述一组节点中的每个节点相关联的分段长度,以及通过将所述一组节点中节点的总数目除以分段长度之和来确定覆盖网络的大小。第三种方法包括识别与覆盖网络的第一节点相关联的一组节点,获得与所述第一节点和所述一组节点中的每个节点相关联的大小估计,以及通过对多个大小估计进行平均来确定覆盖网络的大小。
文档编号H04L29/06GK102334325SQ201080009335
公开日2012年1月25日 申请日期2010年2月26日 优先权日2009年2月26日
发明者L·R·东代蒂, R·S·贾亚拉姆, S·M·达斯, V·纳拉亚南 申请人:高通股份有限公司