用于重新定位地址空间的方法和设备的制作方法

文档序号:7848633阅读:142来源:国知局
专利名称:用于重新定位地址空间的方法和设备的制作方法
技术领域
本发明涉及用于在利用分层寻址的对等网络中重新定位地址空间的方法。本发明进一步涉及用于在适合于执行所述方法的对等网络中使用的路由器。
背景技术
对于诸如楼宇自动化、照明控制、监视应用和医学应用之类的应用而言,对等网络并且特别地无线对等网络变得日益重要。对等网络通常采用使得网络的灵活组织和重新组织成为可能的寻址方案,其包括新设备在任何时间并且在各种接入点(ad-hoc网络)上加入网络的选项。灵活的对等网络的示例利用ZigBee联盟所规定的ZigBee标准来提供。 ZigBee标准提议其中以分布式的方式来分配地址的分层方案。ZigBee是以定义物理链路层(PHY)和媒体访问控制层(MAC)的IEEE 802. 15. 4通信协议为基础的开放标准。除了这些协议层之外,ZigBee还定义位于PHY层和MAC层顶部的网络层和应用层。ZigBee网络通常包括两种不同类型的设备。第一种类型的设备被称为路由器。路由器能够将其他设备连接到网络并且通过网络来路由(route)分组。尽管具有这种路由功能,路由器通常也提供应用功能,例如读取传感器或控制电器。其他类型的设备被称为终端设备。这些终端设备不能连接其他设备,并且只能向网络的用户提供其应用功能。在分层寻址中,给路由器分配被称为其地址空间的连续地址块。地址空间的第一地址通常用于识别路由器本身。剩余地址按照以下方式来划分。这些地址的一个部分由路由器保持用于连接终端设备,其中每一个终端设备被分配这个部分的地址空间中的单个地址。地址空间的剩余地址被均匀地分割成预定数量的地址块。如果另一个路由器加入该网络,这些地址块之一被分配给新加入路由器作为其地址空间。这个路由器再次使用地址空间中的地址之一作为它自己的地址,并且以相同的方式来分割地址空间的剩余部分。分配地址块的路由器对于接收该地址块的路由器也被称为父路由器(parent router),而接收该地址块的路由器转而被称为父路由器的孩子(child)。地址空间的分布式分配导致类似于树的分层寻址方案。路由器(或树的节点)距树的根节点的距离(依据父代-子代)被称为路由器的网络深度或网络等级。位于树结构的根节点上的系统中的第一路由器配备有预定大小的地址空间,例如在ZigBee网络的情况下包含216个地址。作为分层寻址过程的结果,分配给加入网络的进一步路由器的地址空间的大小随着网络深度的增加而减少。在某一点上,分配给路由器的地址空间太小以致于不能被进一步划分。因而,最大网络深度对于利用分层寻址的网络来说受到限制,并且取决于地址空间的总大小以及划分过程的参数。利用所描述的标准静态划分过程的分层寻址的缺陷是所产生的网络树的不灵活的拓扑。路由器例如可能耗尽用于连接进一步孩子的空闲地址块。如果定义父路由器能够具有的孩子的最大数量的在划分过程中每个地址空间的地址块的数量被挑选得太小(深而窄的树)的话,出现这种情况。然而,用于孩子的最大数量的值不能被任意增加,这是因为这个值也影响网络的最大深度。如果路由器孩子的数量被挑选得太高的话,网络深度被耗尽得太快(浅而宽的树)。假定依据ZigBee规范的例如十六比特的有限地址空间宽度,不得不在每个路由器的路由器孩子的最大数量与最大网络深度之间进行折衷。为了克服标准的地址分配过程所施加的限制,已提议地址空间重新定位机制。例如,文献US2008/0159289A1披露接收到来自进一步路由器的对于加入网络的请求的路由器能够在分层地址树中在根节点的方向发出重新定位请求给其父亲(parent)以及进一步祖先,以询问这些路由器之一是否具有可用的空闲地址。这些空闲地址随后经由接收到加入请求的路由器被分配给新的路由器。那样,地址空间在逻辑上被重新安排或被重新定位,这对于路由器具有比最初依据划分过程预定的数量更多的孩子给予可能性。所描述的重新定位过程的缺点在于其能够导致支离破碎(fragmented)的地址空间。实现防止地址空间的破碎的用于重新定位地址空间的方法因此将是有利的。

发明内容
·
本申请仔细考虑用于在利用分层寻址的对等网络中重新定位地址空间的方法,其中网络具有其中路由设备位于不同的网络深度上的树结构,每一个路由器具有分配的地址空间,所分配的地址空间包括用于路由器的识别地址、用于给进一步路由器提供分配的地址空间的一个或多个地址块以及用于给终端设备提供识别地址的进一步地址块。在没有重新定位的情况下分配给路由器的地址空间的大小以预定的方式取决于路由器的网络深度,导致特定大小的地址空间被分配给路由器。该方法包括以下步骤由网络的第一路由器从加入路由器或加入终端设备接收加入请求,其中第一路由器的地址空间被耗尽。第一路由器向网络的第二路由器发送重新定位请求,其中重新定位请求表示所请求的地址块的大小,以及其中所请求的地址块的大小等于特定地址空间大小之一。由于将路由器的地址空间划分成随后被分配给路由器的孩子的更小地址块的标准过程,所以分配给路由器的地址空间仅采用取决于划分过程的参数的特定大小。这些可能的大小在下面也被称为自然大小(natural size)。根据本申请,由接收到加入请求但是没有任何的(一个或多个)空闲地址可用的路由器发出重新定位请求,以源自划分过程的自然大小之一来请求地址空间。那样,重新定位的地址块自然适合于标准的地址划分方案,因而避免不可用地址块的创建,并相应地避免地址空间的破碎。例如,不可用地址块将是这样的块,其具有的大小正好太小,以致不可能是标准划分方案内的地址块。在该方法的优选实施例中,被请求的地址块的大小依据目标网络深度来说明。那样,提供用于被请求的地址块的大小的短而明确的规范,其保证以特定大小来请求地址块。在该方法的优选实施例中,重新定位请求包括距离计数器值。如果在接收到重新定位请求时确定距离计数器值不等于零,那么接收到的重新定位请求被转发至接收路由器的父亲,其中距离计数器值被减一。那样,重新定位请求在其被进一步处理之前首先朝着网络树的根部行进预定(逻辑)距离。相应地,网络空间的重新定位能够发生在其中的(逻辑)距离范围能够被确定。本申请进一步仔细考虑用于在各自网络中使用的路由器,其中路由器适合于执行如上所述的方法。这些优点对应于方法的优点。
在各自的从属权利要求中提供进一步有利的实施例。本发明的还有进一步的优点和益处从下文结合附图描述的实施例中将变得明显,并将参考这些实施例来阐明。


在附图中
图I显示网络树结构的第一示例;
图2显示网络树结构的第二示例;
图3显示网络树结构的第三示例;
图4显示用于重新定位地址空间的方法的第一部分的流程 图5显示路由器和子路由器的地址空间的示意图;·
图6显示重新定位请求的示意 图7显示用于重新定位地址空间的方法的第二部分的流程 图8显示对于重新定位请求的回复的示意图;以及 图9显示用于重新定位地址空间的方法的第三部分。
具体实施例方式图I显示网络I中的分层寻址的树结构。网络树包括空节点2 (空心符号)以及被路由器3占用的节点(阴影符号)。空节点2和路由器3的参考符号携带两个指定节点2或路由器3在网络树内的位置的索引。第一索引表示网络深度D,其也被指示在图I的右手侦让。第二索引连续地编号每一个网络深度D内的节点(空节点2以及占用节点的路由器3)。树的叶子也能够被终端设备占用。路由器Scki指示网络树的根部。这个路由器Scki被分配总的可用地址空间。通过示例,假定地址空间中的地址之一被用于寻址路由器本身,一些地址被用于将终端设备连接到路由器3d,并且剩余地址被均匀地分割成能够被分配给进一步路由器的两个地址块。在所示的示例中,这两个地址块之一被分配给在下一网络等级D=I上的路由器3^,而其他的地址块尚未被分配给路由器。在该图中,这利用空节点来指示。路由器3^0被称为路由器的孩子,路由器又被称为路由器3^的父亲。相同的术语用于表征节点彼此之间或路由器与节点之间的关系。分配给路由器3^的地址空间相应地被分成两个地址块,这两个地址块能够被分配给位于下一个网络深度D=2上的路由器。在图I的示例中,两个地址块被分配给子路由器,即被分配给路由器3"和路由器3^。空节点2η的相应子节点被描述为空节点22_2和
9
乙 2-3 ο注意所显示的树结构代表涉及地址的继承的路由器的关系。通信沿着所显示的路由器之间的连接是可能的,但是也可能在所显示的树结构中没有直接连接的路由器之间是可能的。已知的路由方法和用于保持、使用和更新每个路由器内的路由表的方法能够被应用。图2显示在地址重新定位之后图I的网络I的分层地址树。在重新定位处理中,路由器的未使用的地址块已被转发到路由器3^。结果,路由器3^现在能够将地址块分配给三个子路由器,即已被分配为路由器3^的孩子的路由器32<和路由器32_1;以及用于取代节点2η的新路由器的附加地址块。占用这个网络节点2η的路由器随后将能够分配两个地址块给进一步路由器,即占用节点22_2和节点22_3。由于重新定位处理,整体地址空间显然没有改变,但是网络能够灵活地响应否则无法实现的加入请求。图2所示的网络系统本地增加路由器的孩子的数量(这里,对于路由器3^而言,三个而不是两个),并且也本地扩展网络的深度(这里,两个可能的路由器位于网络深度D=3的空节点22_2和22_3上)。注意由于路由器的有限传输范围,所以在加入路由器与路由器而非3^之间直接协商地址空间或许不会有可能。图3显示可能的重新定位处理的另一个示例。除了图I的空节点已被路由器 3^占用之外,所显示的重新定位的开始点类似于图I所示的情形。对于图3所示的重新定位,路由器3η的地址空间中的两个未使用地址块中的一个地址块已被转发至路由器3^。在这个示例中,最大网络深度D=2没改变,在每个网络深度上可能的路由器的数量也没改变。然而,在本地,对于路由器3^ (三个而非两个可能的子路由器)并且也对于路由器(一个而非两个可能的子路由器)来说,分配给路由器的可能的路由器的数量已改变。两个显示的重新定位处理能够通过应用依据本申请且结合以下附图描述的用于重新定位地址空间的方法来实现。通过示例而非限制,在下面描述的用于重新定位地址空间的方法参考图I所示的网络I来解释。由于该方法可应用于其中动作不是利用中央协调器来协调而是由网络系统中存在的所有设备来执行的分布式网络系统,所以存在于网络中的每一个路由器能够执行所描述的方法。图4显示用于重新定位地址空间的方法的第一部分的流程图。在第一步骤S10,已存在于网络中的路由器之一接收还不是网络一部分的路由器或终端设备的关联(association)请求,其中关联请求也被称为加入请求。通过示例,假定加入请求由在下面被表示为加入路由器的路由器发出,即使在这个阶段并不保证关联请求将导致这个路由器并入网络中。通过示例,加入请求可能已由图I所示的网络I的路由器3^接收。在下一步骤S11,接收到关联请求的路由器检查它是否具有可用的能够被分配给加入路由器的空闲地址块。如果空闲地址块是可用的,那么该方法继续进行步骤S12,其中在该步骤,确定描述地址块的参数。这些参数例如能够是地址块的开始地址AS及其最后地址即结束地址AE。作为替换,地址块的开始地址AS和大小能够被用作描述参数。地址块参数的确定结合图5来更详细解释。图5显示地址空间10的示意图,其中地址空间包括被分配给位于网络深度D=N上的路由器3的多个连续地址,其中N代表任意挑选的数字。地址空间10被分成若干部分,其中第一部分11包含路由器自己的识别地址,这是用于在网络内寻址该路由器的明确地址。通常,路由器自己的地址11位于地址空间10的开头。位于地址空间10的末尾的地址块13被保留,以便被分配给终端设备。剩余地址被均匀分割成地址块12,这里,通过示例(并且不同于图I 一 3所示的示例),其被均匀分割成三个地址块12. 0,12. I和12. 2。用于终端设备的进一步地址块13的大小以及地址块12的数量被预定并且在整个网络内保持相同。回到图4,在下一步骤S13,包含开始地址AS和结束地址AE作为地址块参数的关联回复随后被发送至加入路由器。在下一步骤S14,接收到关联请求的路由器利用所分配的地址块的开始地址AS来更新其路由表,这是因为这将是加入路由器的识别地址并且将用于在网络内路由消息至加入路由器。分配给加入路由器的地址块将形成加入路由器的地址空间。这描绘在图5的下部,其中在网络深度D=N上的路由器的地址空间10中被分配的地址块12. O形成在网络深度D=N+1上的加入路由器的地址空间10’(被放大显示)。这个地址空间又被分成加入路由器自己的识别地址11’、用于进一步路由器的三个地址块12’ . O — 12’ . 2以及被保留用于终端设备的进一步地址块13’。在步骤S14之后,该方法结束,并且路由器将准备好通过重复该方法在步骤SlO接收进一步关联请求。如果在步骤Sll确定没有空闲地址块是可用的,或者换句话说,接收到关联请求的路由器已耗尽其地址空间,该方法继续进行步骤S15。在步骤S15,生成用于重新定位请求的识别号ID。ID的生成处理保证所生成的ID在系统内是唯一的。一种生成ID的可能性将是组合例如路由器自己的识别地址之类的路由器独特的号码与路由器本地的生成时 间或序列号(计数器)。生成处理也能够包括哈希值的创建。在下一步骤S16,控制重新定位处理的重新定位参数被确定。这些重新定位参数是目标(或期望)网络深度TD和距离计数器C。下面将更详细描述这两个参数TD和C的含义。预定的和固定的值能够用于参数TD和C。在另一个实施例中,用于目标网络深度D和距离计数器C的值能够取决于以前重新定位请求的成功。在下一步骤S17,包含ID、目标网络深度TD和距离计数器C的重新定位请求被发送至接收到关联请求的路由器的父亲。该方法在步骤S17之后终止,该路由器现在准备好在该方法的重复中在步骤SlO接收进一步关联请求,或者准备好如结合图9所描述的那样接收针对重新定位请求的回复,或者准备好如结合图7所描述的那样接收重新定位请求,这或是返回的发送出的重新定位请求或是不同的重新定位请求。在图6中以示意图显示所发送的重新定位请求20的结构。重新定位请求20包括两个部分,第一部分包含一个或多个归因于所使用的网络协议的报头(header),而第二部分即净荷部分包含实际的信息。这两个部分在该图中利用虚线来分隔。第一部分包含用于MAC报头21的字段和用于命令帧头22的字段。净荷部分包含用于所生成的ID的字段23、用于目标网络深度TD的字段24以及用于距离计数器C的字段25。图7在流程图中显示用于重新定位地址空间的方法的第二部分。在该方法的这个部分中,执行路由器对于重新定位请求的接收的反应。相应地,在第一步骤S20,由接收路由器接收包含识别号ID、目标网络深度TD和距离计数器C的例如在图4的步骤S17中发送的重新定位请求。执行在这个图7中所示的方法部分的接收路由器结合图7的描述被称为执行路由器。坚持图I所示的示例如果加入请求已被路由器3^接收,重新定位请求已被发送至路由器3^的父路由器,即被发送至路由器其相应地是针对图7所示的方法步骤而言的执行路由器。在下一步骤S21,执行路由器检查是否距离路由器C大于O以及是否父路由器存在。如果二者是真的话,该方法继续进行步骤S22,其中距离计数器C被递减至值C’ =C-1。在下一步骤S23,包含接收的识别号ID和目标网络深度TD以及递减的距离计数器C’的重新定位请求被发送至执行路由器的父路由器。该方法此后结束。换句话说,所发生的是重新定位请求向上沿着分层树朝着其根节点在路由器之间进行移交(hand over)。距离计数器C的初始值描述请求在被进一步处理之前向上行进多少网络级别。因而,距离计数器C的初始值确定重新定位请求的范围并且也确定地址空间的重建在其上发生的逻辑范围。如果在步骤S21确定距离计数器等于O或者例如因为已到达树的根部而没有父路由器存在的话,该方法继续进行步骤S24。与执行路由器的孩子的网络深度D相比,在步骤S24以及随后步骤中针对重新定位请求的反应现在主要取决于目标网络深度TD的大小。由于在如图4的步骤S12和S13中所描述的那样以及如图5所示的那样从父路由器分配地址块给子路由器时划分地址空间的标准过程,所以分配给路由器的地址空间10直接取决于该路由器的网络深度D。更确切地说,路由器的网络深度D以及所分配的地址空间的大小以一种双射(bijective)方式相依。作为重新定位请求参数的目标网络深度TD被用于确定被请求的地址空间的大·小。更确切地说,目标网络深度TD代表相同大小的地址空间的请求,而网络深度D=TD的路由器具有它自己的地址空间。通过依据目标网络深度TD来表征被请求的地址空间大小,保证只有适合于标准划分过程的地址空间大小被请求并被分配。如果将以其他单位、例如以字节来请求地址空间,那么可能出现其中只有地址块的一部分在重新定位处理中将被分配给加入路由器的情形,从而导致地址块的剩余部分未被使用,并且甚至更糟,在其大小太小时导致剩余部分可能是不可用的。通过使用目标网络深度TD作为被请求地址空间的大小的表征,确保所有的地址块与利用标准的地址空间划分方案所产生的地址块是相兼容的。相应地,在步骤S24,执行路由器检查被请求的目标网络深度TD是否等于其孩子的网络深度D。换句话说,它检查被请求的地址空间的大小是否等于它自己的地址块的大小。如果是这样的话,该方法继续进行步骤S25。在步骤S25,路由器检查是否空闲地址块仍是可用的。取决于步骤S25的结果,分别地在步骤S26或S27确定用于重新定位回复的参数。在空闲地址块是可用的情况下,成功标志SF被设置成值I。此外,例如开始地址AS和结束地址AE之类的描述空闲地址块的参数被确定。如果空闲地址块不是可用的,成功标志SF被设置成值0,并且用于地址块参数AS和AE的值也被设置成值0,或根本不进行定义。在这两种情况中,该方法继续进行步骤S28,其中实际发出重新定位回复。重新定位回复包含所接收的重新定位请求的识别号ID、成功标志SF的值以及特别地在成功标志被设置成I的情况下开始地址AS和结束地址AE的值。重新定位回复能够被发送至执行路由器从中接收到重新定位请求的路由器。那样,重新定位回复将逐步反向行进至初始释放该重新定位请求的路由器,这将结合图9更详细地进行描述。另一个选项能够是直接地将重新定位回复发送到初始发送该重新定位请求的路由器。这在其中路由器之间的通信并不限于沿着分层地址结构树的路径的通信的网状(mesh)网络系统中是可能的。坚持图I的示例,假定重新定位请求已由具有I的目标网络深度TD以及O的初始距离计数器值C的路由器3^发送。如果空闲地址块是可用的(被分配用于节点2η的一个)并且孩子具有D=I的网络深度即等于目标网络深度TD=1,作为执行路由器的路由器现在将利用被设置成I的SF标志并且依据地址块参数AS和AE反向发送重新定位回复至路由器3k。
图8显示重新定位回复30的示意图。与图6所示的重新定位请求20相类似,重新定位回复30包括报头部分,其包括MAC报头31和命令帧头32 ;和净荷部分,其包括用于ID的字段33、用于成功标志SF的字段36以及用于开始地址AS和结束地址AE的字段37 和 38。回到图7,如果在步骤S24确定被请求的目标网络深度TD不等于执行路由器的孩子的网络深度D,那么该方法继续进行步骤S29。在步骤S29,确定是否将子路由器被分配给执行路由器以及目标网络深度TD是否大于执行路由器的孩子的网络深度D。如果是这样的话,则在步骤S30将重新定位请求转发至执行路由器的第一孩子。这意味着在被请求的地址空间(与目标网络深度TD的较大值相对应)小于执行路由器的地址块的情况下,沿着树结构向下发送该请求,直至被请求的地址空间的大小等于路由器的地址块的大小。这是避免地址空间破碎的附加手段。如果在步骤S29确定或者子路由器不存在或者目标网络深度TD不大于执行路由·器的孩子的网络深度D,则将重新定位请求返回至执行路由器在步骤S20从中接收到该重新定位请求的路由器。在任一种情况下,该方法在步骤S30或S31之后结束,执行路由器现在准备好在该方法的重复中在步骤S20接收进一步重新定位请求,或者准备好如结合图9所描述的那样接收针对重新定位请求的回复,或者准备好如结合图4所描述的那样接收关联请求。图9在流程图中显示用于重新定位地址空间的方法的第三部分。该方法的这个部分描述路由器对重新定位回复的接收的反应。相应地,这个部分开始于由接收路由器在第一步骤S40中接收利用识别号ID、成功标志SF、开始地址AS以及结束地址AE表征的重新定位回复。执行在这个图9中所示的方法部分的接收路由器结合这个图的描述再次被称为执行路由器。在下一步骤S41,执行路由器确定是否它本身在这个重新定位回复之后发出重新定位请求。这能够基于所包含的识别号ID来完成。如果路由器本身没有发出相应的重新定位请求,那么该方法继续进行步骤S42。否则,该方法继续进行步骤S48。在步骤S42,成功标志SF被评估。如果它包含I的值,则意味着重新定位请求被肯定地回复,该方法继续进行步骤S43。在这个步骤中,执行路由器的路由表被更新。在随后的步骤S44,重新定位回复被进一步转发至执行路由器在图4的以前处理步骤S20中从中已接收到相应的重新定位请求的路由器。换句话说,重新定位回复通过网络反向行进至初始释放该重新定位请求的路由器。它沿着与重新定位请求相同的路径但是在相反的方向上行进。在步骤S43中在反向路径上更新路由表具有优点,即,在网络中被交换并被引导至加入路由器的进一步消息能够被直接发送至加入路由器,而不执行任何的地址发现例程。如果在步骤S42检测到否定回复(SF等于0),那么该方法继续进行步骤S45,在该步骤中执行路由器检查是否更多的孩子存在,其中与图7的步骤S30相类似,能够转发该请求至这些孩子。在更多孩子存在的情况下,该方法分支到步骤S46,在该步骤中在图7的步骤S20中已接收到的重新定位请求被转发至下一个孩子,其中用于识别号ID、目标网络深度TD以及在这种情况中等于零的距离计数器C的参数不变。步骤S45和S46因而完成重新定位请求沿着树向下行进的可能性,以便附加地避免结合图7的步骤S30所描述的地址空间的破碎。
如果没有更多孩子存在的话,那么该方法继续进行步骤S47,在该步骤中,在步骤S40中接收的重新定位回复作为否定回复、利用不变的参数被转发至从中已接收到该重新定位请求的路由器。因而,与步骤S43和S44相类似,步骤S45和S47具有将重新定位回复反向转发至该重新定位请求的始发者的目的。如果在步骤S41发现接收到的重新定位回复属于当前路由器本身发出的重新定位请求,方法现在继续进行步骤S48。在步骤48,重新定位回复的成功标志SF被评估。在肯定的重新定位回复的情况下,其中成功标志SF等于1,该方法继续进行步骤S49,在该步骤中,当前路由器的路由表类似于步骤S43进行更新。然后,最终,在随后的步骤S50,包含地址块参数开始地址AS和结束地址AE的关联回复被发送到已发出在图4的SlO中接收的关联请求的加入路由器。当路由器3^将接收到由路由器3^在图7的步骤S28中发出的肯定的重新定位回复时,在图I的示例的情况下将执行步骤S40、S41、S48、S49和S50的序列。

如果在步骤S48检测到否定的重新定位回复(SF等于0),该方法继续进行步骤S51。在步骤S51,为新的重新定位请求生成新的识别号ID*。在下一步骤S52,附加地确定新的重新定位参数、新的目标网络深度TD*以及新的距离计数器C*。重新定位参数的值当然对于重新定位请求的成功具有很大的影响。例如,为了节省时间和计算能力,首先能够利用用于距离计数器的小值来发出重新定位请求。结果,重新定位请求仅在请求路由器的附近范围内行进。因而,可能无法发现具有利用目标网络深度TD表征的适当大小的空闲地址块,即使这些空闲地址块存在于网络中,这是因为这些地址块可能没有位于重新定位请求的行进范围内并且属于尚未针对空闲地址块而被检查的路由器。以类似的方式,可能已利用相当于相对大的被请求地址空间大小的用于目标网络深度TD的小值发出了第一重新定位请求。甚至在这样的请求已利用否定的回复进行答复的情况下,具有较大的用于目标网络深度TD的值、因而目的仅在于较小尺寸的被寻找空间的新请求可能导致肯定的回复。在这里可能实施用于确定重新定位请求参数的不同策略,这些策略在随后的竞争目标之间进行折衷。一个目标能够是将所有的设备连接至网络所需的重新定位的数量最小化,另一个目标能够是将路由表条目的总数最小化,且另一目标例如可能是将所发送的重新定位请求以及针对一个重新定位处理所需的重新定位回复的数量最小化。取决于预期目标的权重(weight),第一策略可能是首先尝试分配大的地址空间,即使用目标网络深度TD=1,并且相继地增加目标网络深度,直至成功。那样,网络的最大深度将快速增加,并且特别地,具有长的路由器链的网络将只需要少量的重新定位处理。第二策略可能是通过首先搜索网络中当前存在的具有最大深度的块以及随后相继减少目标深度来重新定位仍然可用的最小地址块。这个策略有利于具有少量路由器的网络,其中这些路由器具有许多路由器孩子。两种前述策略之间的折衷利用第三策略来给定,其中第三策略尝试保持如结合图4的步骤S12和S13所描述的划分地址空间的标准过程所预定义的树结构。在第三策略的情况下,路由器可能首先请求具有与给予它自己的已连接的孩子的地址块相同的大小的地址块。树结构从而被保持。在所有的情况中并且对于所有的策略而言,首先应该在请求路由器的附近实施搜索,即,对于距离计数器C而言,利用小的初始值,例如O或I。在进一步搜索中,用于距离计数器C的初始值应该仅在需要时被逐步增加。在步骤S52根据所提及的或进一步的重新定位策略之一确定新的重新定位参数之后,在步骤S53发送具有新的ID*和新的重新定位参数TD*与C*的新的重新定位请求至执行路由器的父路由器。在可替换的实施例中,所谓的修剪表能够被弓I入到网络。特别地,在这些地址块被定位在具有较高网络深度的网络等级上的情况下,该修剪表加速搜索处理来发现未使用的地址块。如已经提及的,图7的步骤S29和S30结合图9的步骤S45和S46导致背离重新定位请求朝着根节点的直接行进路径的对于未使用地址块的递归搜索,并因而使得向下搜索成为可能。修剪表包含最低深度孩子的网络深度的值,其中最低深度孩子是特定路由器的后 裔。该修剪表连续地被更新,以包含表征能够被路由器孩子本身重新定位并且也能够被其后裔重新定位的最大地址块大小的这个值。默认情况下,修剪表中用于新近加入子路由器的值被设置成该子路由器的网络深度加一。如果在这个孩子下面更大的地址块的任何进一步的重新定位发生的话,修剪值被更新。在进一步重新定位请求中,路由器需要在图7的步骤S30和图9的步骤S46中仅向那些具有相关联的等于或小于重新定位请求的目标网络深度TD的修剪值的子路由器转发重新定位请求。在处理重新定位回复时,如果在肯定的重新定位回复中以前可用的地址块变成已分配或者将被分配的话,修剪表的值能够被更新。虽然在附图和以上的描述中已说明和描述了本发明,但是这样的说明和描述将被视为说明性或示例性而非限制性的;本发明并不限于所公开的实施例。通过研究附图、公开内容以及所附的权利要求书,本领域技术人员在实践所请求保护的发明时能够明白和实施针对所公开的实施例的其他变型。在权利要求书中,词“包括”并不排除其他的元素或步骤,并且不定冠词“一”或“一个”并不排除多个。某些措施在互不相同的从属权利要求中被叙述的这一事实并不指示不能有利使用这些措施的组合。权利要求书中的任何参考符号不应被解释成限制该范围。
权利要求
1.一种用于在利用分层寻址的对等网络(I)中重新定位地址空间的方法,其中所述网络(I)具有其中位于不同网络深度(D)上的路由器(3)作为节点(2)的树结构,每一个路由器(3)具有分配的地址空间(10),其包括用于所述路由器(3)的识别地址(11)、用于给子路由器(3)提供分配的地址空间(10)的一个或多个地址块(12)以及用于给终端设备提供识别地址的进一步地址块(13),其中在没有重新定位的情况下分配给路由器(3)的地址空间(10)的大小以预定的方式取决于所述路由器(3)的网络深度(D),导致特定大小的地址空间(10 )被分配给路由器(3 ),所述方法包括以下步骤 由第一路由器(3)从加入路由器或加入终端设备接收加入请求,其中第一路由器的地址空间(10)被耗尽; 发送重新定位请求(20)给所述网络(I)的第二路由器(3),其中所述重新定位请求(20)表示被请求的地址块(12)的大小,并且其中被请求的地址块(12)的大小等于特定地址空间大小之一。
2.根据权利要求I的方法,其中在没有重新定位的情况下分配给路由器(3)的地址空间(10)的大小以双射的方式取决于所述路由器(3)的网络深度(D),并且其中所述重新定位请求(20)依据目标网络深度(TD)来表示被请求的地址块(12)的大小。
3.根据权利要求I或2的方法,其中第二路由器(3)是第一路由器(3)的父亲。
4.根据权利要求I一 3之一的方法,其中所述重新定位请求(20)包括距离计数器值(C),并且其中第二路由器(3)在接收到所述重新定位请求(20)之后执行以下进一步步骤 确定是否距离计数器值(C)等于零; 如果确定距离计数器值(C)不等于零,利用距离计数器值(C)减一,将所述重新定位请求(20)转发至第三路由器(3),第三路由器是第二路由器(3)的父亲;以及如果确定距离计数器值(C)等于零,则进一步处理所述重新定位请求(20)。
5.根据权利要求4的方法,其中进一步处理所述重新定位请求(20)包括以下进一步步骤 确定是否目标网络深度(TD)等于第二路由器(3)的可能的子路由器(3)的网络深度;以及 如果是这样的话,则执行可用性检查,以确定是否至少一个依据目标网络深度(TD)的值的所请求大小的空闲地址块(12)是可用的,并发出重新定位回复(30),所述重新定位回复包含可用性检查的结果以及在至少一个空闲地址块(12)是可用的情况下包含描述各自的空闲地址块(12)的参数,以及 否则,进一步处理所述重新定位请求(20 )。
6.根据权利要求5的方法,其中描述空闲地址块(12)的参数包括开始地址(AS)和结束地址(AE)。
7.根据权利要求5或6的方法,其中如果确定目标网络深度(TD)不等于第二路由器(3)的可能的子路由器(3)的网络深度,则进一步处理所述重新定位请求(20)包括以下进一步步骤 确定是否第二路由器(3)的子路由器(3)存在以及是否目标网络深度(TD)大于第二路由器(3)的子路由器(3)的网络深度(D);以及 如果是这种情况的话,将所述重新定位请求(20)转发至第二路由器(3)的子路由器(3);和 否则,返回所述重新定位请求(20 )。
8.根据权利要求7的方法,其中所述重新定位请求(20)被相继地转发至第二路由器(3)的每一个子路由器(3),直至发出具有可用性检查的肯定结果的重新定位回复(30)。
9.根据权利要求5— 8之一的方法,在路由器(3)接收到所述重新定位回复(30)之后,包括以下进一步步骤 确定是否所述路由器(3)是发出所述重新定位回复(30)所涉及的重新定位请求(20)的第一路由器(3);以及 如果是这种情况的话,则在所述重新定位回复指示可用性检查的肯定结果时发送包括地址块参数(12)的肯定回答至加入路由器,并在所述重新定位回复(30)指示可用性检查的否定结果时发出新的重新定位请求(20); 否则,在所述重新定位回复(30)指示可用性检查的肯定结果时朝向第一路由器(3)转发所述重新定位回复(30),并在所述重新定位回复(30)指示可用性检查的否定结果时返回所述重新定位回复(30 )。
10.根据权利要求9的方法,其中新的重新定位请求(20)由于用于目标网络深度(TD)和/或距离计数器(C)的不同值而不同于进一步重新定位(20)请求。
11.根据权利要求I一 11之一的方法,其中依据预定的重新定位策略,确定用于重新定位请求(20)的目标网络深度(TD)和/或距离计数器(C)的值。
12.根据权利要求I一 12之一的方法,其中保持修剪表,其中所述修剪表针对每一个路由器(3)包括是特定路由器(3)的后裔的最低深度子路由器的网络深度的值。
13.根据权利要求I一 12之一的方法,其由所述网络(I)的所有路由器(3)递归地执行。
14.根据权利要求I一 13之一的方法,其依据ZigBee规范在网络(I)中执行。
15.一种用于在利用分层寻址的对等网络(I)中使用的路由器(3),所述路由器(3)适合于执行根据权利要求I 一 11之一的用于重新定位地址空间(10)的方法。
全文摘要
本发明涉及用于在对等网络中重新定位地址空间的方法,其中在具有树结构的网络(1)中执行分层寻址,其中路由器(3)位于不同的网络深度(D)上。每一个路由器(3)具有分配的地址空间(10),其包括用于该路由器(3)的识别地址(11)、用于给进一步路由器(3)提供分配的地址空间(10)的一个或多个地址块(12)以及用于给终端设备提供识别地址的进一步地址块(13)。在没有重新定位的情况下分配给路由器(3)的地址空间(10)的大小以预定方式取决于该路由器(3)的网络深度(D),导致特定大小的地址空间(10)被分配给路由器(3)。该方法包括以下步骤由网络(1)的第一路由器(3)从加入路由器或加入终端设备接收关联请求,其中第一路由器(3)的地址空间(10)被耗尽。第一路由器(3)向网络(1)的第二路由器(3)发送重新定位请求(20),其中重新定位请求表示被请求的地址块(12)的大小,以及其中被请求的地址块(12)的大小等于特定的地址空间大小之一。本发明进一步涉及用于在相应的网络(1)中使用的路由器(3),该路由器(3)适合于执行所描述的方法。
文档编号H04L29/12GK102792661SQ201180014762
公开日2012年11月21日 申请日期2011年3月11日 优先权日2010年3月19日
发明者A.M.M.勒肯斯, A.阿奇特泽恩, X.王 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1