用于识别在通信网络中组合的设备的方法

文档序号:7866316阅读:156来源:国知局
专利名称:用于识别在通信网络中组合的设备的方法
技术领域
本发明涉及一种由更高级设备识别在通信网络中组合的设备的方法。通信网络在每种情况下具有不同带宽,并且,如果通信网络包括其他更低阶通信网络,所谓的子网,则分离的带宽限制可以适用于每个更低阶通信网络。
背景技术
例如,可以在组中或者可以还以交叉网络的方式寻址在通信网络中组合的设备(即,用于构建自动化的传感器和促动器),使得它们利用识别码来响应识别请求。例如,在构建自动化中广泛使用的BACnet协议的情况下,作为识别请求而提供被称作“是谁(Who-1s)”的电报。通信网络中的每个设备利用“是我(1-Am)”电报(B卩,包括至少相应设备的地址的识别码)来响应这种“是谁(Who-1s)”识别请求。“是谁(Who-1s)”请求还适用于广播,从而使得能够到达设备组。然而,在未知或至少部分未知的通信网络的情况下,并且对于这种通信网络,预期使用所提出的用于识别在其中组合的设备的方法,那么不能预测可以使用这种“Who-1s”请求到达多少设备。响应于此而返回的多个识别码甚至可能无法到达,这是由于通信网络的有限带宽。在还包括子网的通信网络的情况下,另一个困难在于:在网络边界处提供的路由器等还可以仅转发源自相应子网的特定量的识别码,并且如果在这方面超过阈值,则将不可避免地发生分组丢失,并且从而发生要转发的识别码方面的丢失。尽管“是谁(Who-1s ) ”或其他识别请求提供了与通信网络所包含的各个设备有关的信息,但是其不是必然提供与由此包含的所有设备有关的信息,并且在识别各个设备时,并不明确通信网络是否包含其他未识别的设备。原理上,可以通过在每种情况下仅针对地址空间的特定区域发送识别请求、收集关联的识别码、并且然后切换至下一地址空间,分段地(in section)扫描通信网络。然而,这是耗时的,这是由于例如然后将必须利用与具有大量设备的区域一样多的时间和努力来扫描地址空间中不包含设备或仅包含少量设备的区域。对于这种迭代和静态方法,可按迭代步骤扫描的地址空间区域的大小将必然受带宽以及最坏情况情形的假设的限制,即,设备在地址空间区域所包含的每个地址下进行响应。

发明内容
因此,本发明的一个目的是指定一种用于识别在通信网络中组合的设备的方法,该方法以充分确定性识别通信网络所包含的每个设备,并通常比地址空间的连续区域中的上述扫描更快地进行该操作。根据本发明,该目的由权利要求1中阐明的特征实现。在由更高级设备识别在通信网络中组合的设备的方法中,其中每个设备被指派有预定义地址空间中的唯一地址,出于该目的提供了以下步骤:更高级设备将地址空间再分为请求区域。所述请求区域包括可变的自动确定的数目的地址。所述更高级设备将识别请求发送至所述请求区域中的所有地址。接收所述识别请求的设备利用至少包含其相应地址的识别码进行响应。所述更高级设备收集接收到的识别码,并将接收到的识别码的数目与预定义阈值进行比较。如果接收到的识别码的数目低于所述阈值,则利用与所述请求区域接界的新请求区域来继续该过程。如果接收到的识别码的数目高于所述阈值,则使用作为先前请求区域的子集的减小的请求区域来继续该过程,所述减小的请求区域由所识别的设备的地址定界。本发明的优势在于:其监视是否存在充分的以下可能性或风险:在一定时间段期间,比可以可靠地处理的情况发送更多识别码;以及所识别的设备的地址用于限定减小的请求区域的界限。对是否已经比可以可靠地处理的情况发送更多识别码的评估是通过将实际接收到的识别码的数目与阈值进行比较来执行的。只要不超过所述阈值,就可以假设也已经实际接收到所发送的所有识别码。所述阈值是针对用于实现所述方法的算法而指定的或可指定的,并具体取决于所述通信网络的带宽、任何子网的最小带宽、位于网络边界处的路由器等可转发数据电报的速度等等。如果超过所述阈值,则这仅指示了已经接收到特别大量的识别码,但未指示接收到的识别码的数目是否也与实际发送的识别码的数目相对应。然后,减小所述请求区域,以便减少在一定时间段期间输入的识别码的数目。然后,使用减小的请求区域来重复发出所述识别请求和收集识别码。如果然后不超过所述阈值,则完全分析所述请求区域。如果仍超过所述阈值,则仍进一步减小所述请求区域。这里的显著特征是:所识别的设备的地址用于限定减小的请求区域的界限。因此,所述请求区域的大小是动态的,并不涉及对所述通信网络的地址空间的瓦片状(tile-like)连续扫描。在从属权利要求中阐明了本发明的有利实施例。其中使用的回引涉及由于特定从属权利要求的特征而对独立权利要求的主题的进一步改进;这些回引不应被理解为放弃其所引用的从属权利要求的特征的组合的独立、客观的保护的权利。此外,关于在从属权利要求中的特征的更详细具体化的情况下对权利要求的解释,应当假设这种限制并不存在于相应的在前权利要求中。如果所识别的设备的地址限定减小的请求区域的上限,则实现所述方法的特别容易的手段出现。那么,可以将先前请求区域的下限继续用作减小的请求区域的下限。即使对于请求区域,输入的识别码的数目保持低于所述阈值,并且相应地可以切换至下一请求区域,其上限由所识别的设备的地址限定,以便这里也产生动态请求区域。在所述方法的特别优选实施例中提供了:起始点是包含整个地址空间的请求区域。这确保了:即使在这种广泛请求区域的情况下,输入识别码的数目将不太可能保持低于所述阈值,将以例如均匀分布的方式填充已知设备的列表及其地址,使得可以在使用已识别的设备的地址时可以利用(draw upon)均勻分布的数据库。在本发明的特定实施例中,为了自动确定可变请求区域,提供了:在每种情况下,使用引用列表的一个元素的访问位置来访问已识别的设备的地址的地址有序列表。仅在请求区域中已接收到保持低于所述阈值的识别码计数并因此完全分析所述请求区域的情况下,才递增所述访问位置,使得可以发生至下一请求区域的切换。递增所述访问位置的一个可能性在于:精确地以接收到的识别码的数目增大所述访问位置。如果可以不完全分析请求区域并因此必须减小请求区域,则所述访问位置保持不变,但是甚至在不变的访问位置的情况下,对于减小的请求区域,出现较低的上限,尽管对所述请求区域的分析不完全,但是所述列表已接收到另外的列表元素,并且因此在按地址分类的列表的情况下,较低的地址出现在所述访问位置处。在所述方法的另一实施例中,提供了:所述方法的起始点是多个已识别的设备,并且对于所述方法的连续运行,所述方法的起始点是相应请求区域中的多个已识别的设备,并且,其数目作为数值而并入到用于实现所述方法的算法。多个已识别的设备具有设备地址的非空列表的优势,使得可以从一开始使用这种列表。此外,多个已识别的设备具有以下优势:其地址通常随机分布在所述通信网络的地址空间中,从而在可变请求区域的自动确定方面创建充足的动态性。可以基于网络的容量和任何路由器容量以及其他参数来计算预定义阈值。测试示出:如果在当前请求区域中识别的设备的数目约为所述阈值的三分之二,则通常可以有利地影响所述方法的运行时间。上述目的还可以由用于通信连接至通信网络中的其他设备的设备实现,该设备至少有时充当更高级设备并根据这里和以下所述的方法进行操作,并为此具有用于执行所述方法的装置。本发明优选地以软件实现。因此,本发明一方面还涉及一种具有计算机可执行程序代码指令的计算机程序,并且另一方面涉及一种包含这种计算机程序的存储介质,并且最后还涉及促动器、传感器或构建自动化控制站,在其存储器中,这种计算机程序被加载或可加载为用于执行所述方法及其实施例的装置。


现在将参照附图来更详细地说明本发明的示例实施例。在所有附图中,对应的对象或元素被提供具有相同的参考标记。该示例实施例或每个示例实施例不应解释为对本发明的限制。相反,在本公开的范围内,许多改变和修改是可能的,特别是如下这样的修改、元素和组合:例如,由于在一般或具体描述中以及在权利要求中和/或在附图中包含的各个特征或元素或方法步骤的组合或修改,就目的的实现而言,上述修改、元素和组合可以被本领域技术人员理解,以及由于可组合的特征,上述修改、元素和组合得到新颍设备或者新颍方法步骤和/或方法步骤序列。图1示出了在网络中组合的多个设备;
图2示出了具有其中自动形成的请求区域的地址空间;
图3在左手区域中示出了所识别的设备的地址的列表的图,并在右手区域中示出了包含在该方法的过程中新添加的地址的列表的 图4示出了该方法的流程图的示意简化图;以及 图5示出了在通信网络中作为更高级设备操作的设备的示意简化图。
具体实施例方式图1以示意简化方式示出了在通信网络10 (以下有时简称为网络)中组合的多个通信连接的设备10,所述设备10是例如用于构建自动化的促动器和/或传感器。所示的网络10的拓扑是仅作为示例而选择的,并且对于以下描述来说并不特别重要。仅将指出,网络10可以包括各个子网,并且在向这种子网的转变处提供了路由器14。对于所要描述的方法,设备12之一充当更高级设备16。基本上,更高级设备16可以是任何设备12,但具体地,可以是例如作为控制站操作的设备12,S卩,具有用于执行该方法的充足的存储和处理功能的设备12。设备12、16中的每一个是在网络10中经由专门分配给该设备(例如,所设置或自动指派)的地址而可达的。出于该目的,指定了地址空间18 (图2),并且有效地址必须属于地址空间。地址空间由下和上限值限定,并且可在网络10中使用的最小地址与下限值相对应,并且可在网络10中使用的最大地址与上限值相对应。图2示出了地址空间18的示意简化图。最小可使用地址和最大可使用地址分别由十六进制值0x00’00’00 (B卩,零)和0x3f’ ff’ ff指定。这两个地址可以但不需要由网络12中的设备12 (图1)使用。无论如何,网络10中包括的设备12的每个地址位于地址空间18内。在该方法中提供了:更高级设备16将地址空间18再分为请求区域20。该方法以单个请求区域20开始,并且随着其继续进行,可以出现新的请求区域20,其过来替换先前请求区域20。作为地址空间18的相关部分的请求区域20被称为请求区域20是由于:为了识别在网络10中组合的设备12,更高级设备16将识别请求22发送至请求区域20中的所有地址(图1 ),或者将这种识别请求22发送至地址空间18中的所有地址,并且仅地址空间18中的设备12对其进行响应。更简单地表达这一点,两种情形(即,将请求发送至请求区域20中的所有地址,或者将请求发送至整个地址空间18中的所有地址,并且仅请求区域20中的设备12应答)被称为发送至请求区域20中的所有地址,这是由于识别请求22的相应发送的期望结果(请求区域20中的设备12利用识别码24进行响应)在两种情况下相同。在识别请求广播至整个地址空间18中的所有地址的情况下,潜在的数据电报包括对相应请求区域20的指定,使得仅属于请求区域20的设备12对广播进行响应。识别请求22由图1中的箭头指示。这实际上是根据针对网络10或由此包含的子网而定义的协议在网络10中传输的电报,例如,在使用BACnet协议(BACnet =构建自动化和控制网络)时所谓的“是谁(Who-1s)”电报22。为了不会不必要地使图1中的图变得复杂,仅示出了识别请求22向各个位置的传输。接收识别请求22的设备12利用识别码24进行响应(图1 ),并且这种识别码24也是仅在各个位置处示出。在所有情况下,识别码24由中央设备16收集和评估。由于可能出现不是由网络10中包含的设备12发送的所有识别码24都到达中央设备16的情形,因此中央设备将接收到的识别码24的数目与预定义阈值进行比较。各个识别码24未到达中央设备16的原因可以是:例如,必须经由路由器14转发太多识别码24,以及在该过程中,丢失包含识别码24的各个电报(分组丢失)。如果超过针对识别码24的数目而指定的阈值,则尽管保证了已接收到与阈值相比更多数目的识别码24,但是不清楚是否发送了仍更多识别码24,并且在这种情况下,各个识别码24尚未到达更闻级设备16。如果接收到的识别码24的数目低于阈值,则利用与请求区域20接界的新请求区域26 (图2)来继续该方法,并且再次传输识别请求22并收集所得的识别码24。对于以下描述,将假设接收到的识别码24的数目高于阈值。然后,使用作为先前请求区域26的子集的减小的请求区域28来继续该方法。所述减小的请求区域26由所识别的设备12的地址定界。所识别的设备12可以是已在该方法的过程中确定的设备12,其中,输入的识别码24的数目已超过阈值;或者所识别的设备12还可以是预先已识别的设备12。为了说明该方面,参照图3和图4中的示意。
图3以示意简化形式示出了被实现作为字段或者计算机程序中的列表30的数据结构,并且其中至少存储了所识别的设备12的地址。所示的地址是随机选择的,并且不是所有地址都是完全以符号方式指示的。然而,可以看出,每个所识别的地址在列表30中具有唯一位置。如果在结合对新设备12的识别而添加至列表30时在列表30中输入较低地址,则地址在列表30中的位置可以改变。在访问位置32处发生使用来自列表30的数据。访问位置32由图3中的箭头以符号方式表示,这是由于访问位置32引用列表30的单个元素,正如箭头表示这种元素。当该方法被实现为计算机程序时,访问位置是数值或所谓的指针。访问位置32用于使用由访问位置32表示的列表元素中存储的设备地址来限定请求区域20、26、28的上限。为了说明该方面,有必要同时考虑图3和图4中的图。图4以示意简化形式示出了这里所述的方法的实施例的流程图34。流程图34以及对应地利用计算机程序指令的实现包括外环36和内环38。执行外环36,直到已经处理完整的地址空间18的此类时刻为止。在外环36的起始处,限定相应请求区域20、26、28的上限(第一框40)。在首次执行外环36时,将地址空间18的下限值用作请求区域20的下限。在每种情况下,请求区域20、26、28的所得的上限是已知设备12的地址,并且到该方法的结束处,请求区域20、26、28的所得的上限是地址空间18的上限值。如果请求区域20、26、28的上限作为已知设备12的地址出现,则使用相应访问位置32来访问已知设备12的列表30。因此,请求区域20、26、28包括其下限和上限之间的所有地址,并且因此包括可变的自动确定的数目的地址。在首次执行外环36时,将访问位置32和索引设置为O并访问多个已知设备12的列表30。索引的当前状态与常量(即,已知设备12的数目)之和实际上始终用作访问位置32。由于这种求和,与原始已知的设备12的数目相对应的单个设备编号通常存在于每个请求区域20、26、28中,即,即使在重复执行该方法时,识别出另外的设备12,并且因此所识别的设备12的总数增加。对请求区域的限制还具有以下效果:阈值与请求区域中所识别的设备的数目之间的关系保持不变。经由访问位置32来选择来自列表30的元素。此处存储的地址用作请求区域20的上限。然后,启动计时器,对用于记录输入识别码24的变量进行初始化(S卩,设置为0),并发送针对请求区域20的识别请求22 (第二框42)。使用内环38来监视定时器到期。使用对在其期间执行内环38的时间段进行编码的预定义或可预定义起始值来初始化定时器(即,相关软件功能)。在内环38内,收集输入识别码24,并且如果在列表30中不包含发送相应识别码24的设备12的由此包含的地址,则将这些地址并入到列表30中(第三框44)。此外,在第三框44中,随着在请求区域20中接收到的每个识别码24,接收到的识别码24的数目的变量(“NumAnswers”)递增。只要定时器尚未到期,利用第一查询46,流程图就分支回到内环38的起始处。在内环38的结束处(即,再次在外环36内),检验接收到的识别码24的数目(SP,相关变量(“NumAnswers”)的值)是否低于用于可靠地处理的识别码24的数目的阈值。在该方法中将阈值实现为常量或变量,并根据网络10的带宽以及可能根据所包含的子网、任何路由器14的容量等、使用预定义或可预定义值来初始化该阈值,如在介绍中所说明。使用第二查询48来实现对阈值的下冲(undershooting)的检验。如果阈值是下冲的,则利用与请求区域20接界的新请求区域26来继续该方法,即,至下一请求区域的切换发生(第四框50)。出于该目的,可以将请求区域20的先前上限用作新请求区域的下限;通常将提供:紧接先前上限后的地址形成新请求区域的下限。为了限定新请求区域26的上限,在第四框50中,索引还以接收到的识别码24的数目(“NumAnswers”)递增。然后,新请求区域26的上限在重新执行外环36 (第一框40)时出现,其中,在由索引与原始已知设备12的数目之和定义的访问位置32处访问列表30,或者如果列表30包含不足以用于该目的的元素,则使用地址空间18的上限。如果第二查询48已经确立接收到的识别码24的数目达到或超过阈值(即,不能安全地假设所发送的所有识别码24也已被中央设备16接收到),则流程图不分支到框50,并且利用减小的请求区域28来立即重复外环36。来自对外环36的先前执行的请求区域的下限用作减小的请求区域28的下限。减小的请求区域28的上限再次出现,其中,在访问位置32处访问列表30。如果已经接收到比可以可靠地处理的情况更多的识别码24,则访问位置32的数值未改变。然而,列表30的内容已改变,使得访问位置32可能仍表示例如列表30中的百分之二的元素,但列表30中的百分之二的元素中存储的设备地址不同于并且特别地小于先前请求区域26的上限。图3试图以图形方式示意这一点。在图3中的图的左手侧示出了在执行外环36 (图4)后列表30的状态。在下一次执行外环36期间,识别另外的设备12,并相应地将新条目添加至列表30 (由在图的右手侧稍微偏移地布置的列表元素指示)。甚至在已添加至列表30之后,先前已引用例如列表30中的第六个元素的列表位置32仍引用其第六个元素。然而,所引用的元素中存储的地址现在是不同的地址:在该示例中为“0x01’ Oc.01”而不是先前的“Oxla’ 06,10”。这样,请求区域26的大小减小。对于减小的请求区域26,期望输入识别码24的数目至少小于外环36的先前执行的情况。如果实际接收到的识别码24的数目保持低于阈值,则可以在外环36的结束处选择新请求区域(第四框50 ;图4)。如果甚至针对减小的请求区域26仍超过阈值,则不发生这种至新请求区域的切换,并且利用对列表30的相同访问位置32来重新运行外环36。由于新列表元素在外环36的先前执行期间已再次出现,因此甚至在访问位置32保持不变的情况下,产生用于请求区域的减小的上限,并且因此,请求区域再次减小。因此,请求区域的减小发生,直到针对相应请求区域在预定义时间段内接收到低于阈值的数目的识别码24为止。请求区域的这种减小一方面意味着请求区域包括可变但自动确定的数目的地址,这是由于请求区域的上限是基于列表30来产生的,并且因此请求区域的下限和上限限定了因此总共自动确定的由请求区域包含的地址的数目。然而,另一方面,请求区域的减小意味着减小的请求区域是先前请求区域的子集,这是由于例如其保持处于相同下限处。图5最后示出了被设计为执行这里所述的方法的更高级设备16的示意简化图。正如与通信网络10相连接的任何其他设备12,更高级设备16包括接口 52。在更高级设备16的操作期间,除其他数据电报外,具体地,可以发送识别请求22,并可以经由该接口 52来接收识别码24。此外,更高级设备16具有微处理器形式或方式的处理单元54,并且还具有存储器56。在存储器56中加载了计算机程序58,计算机程序58表示利用任何个体或多个特定实施例对这里所述的方法的实现,特别地,对来自图4的流程图34的实现。在存储器56中还存储了所识别的设备12的列表30。在更高级设备16的操作期间,其处理单元54执行计算机程序58,从而导致执行这里所述的方法。因此,处理单元54、存储器56和计算机程序58是用于执行该方法的装置。因此,这里提交的描述的各个主要方面可以简要概括如下:所指定的是一种由通信网络10中的充当更高级设备16的设备12识别在通信网络10中组合的设备12的方法,其中,每个设备被指派有预定义地址空间18中的唯一地址12,该方法包括以下步骤:更高级设备16自动将地址空间18再分为请求区域20。请求区域20包括可变的自动确定的数目的地址。根据以上定义,更高级设备16将识别请求22发送至请求区域20中的所有地址。属于请求区域20并接收识别请求22的设备12利用识别码24进行应答。更高级设备16收集接收到的识别码24,并将接收到的识别码24的数目与预定义阈值进行比较。如果接收到的识别码24的数目低于阈值,则利用与请求区域20接界的新请求区域20来继续该方法。如果接收到的识别码24的数目高于阈值,则使用作为请求区域20的子集的减小的请求区域20来继续该方法,所述减小的请求区域20由所识别的设备12的地址定界。参考标记的列表 10通信网络
12设备 14路由器 16 (更高级)设备 18地址空间 20请求区域 22识别请求 24识别码 26 (新)请求区域 28 (减小的)请求区域 30列表 32访问位置 34流程图
36外环(在流程图中)
38内环(在流程图中)
40第一框(在流程图中)
42第二框(在流程图中)
44第三框(在流程图中)
46第一查询(在流程图中)
48第二查询(在流程图中)
50第四框(在流程图中)
52接Π 54处理单元 56存储器 58计算机程序
权利要求
1.一种由更高级设备(16)识别在通信网络(10)中组合的设备(12)的方法,其中,每个设备(12)被指派有预定义地址空间(18)中的唯一地址,所述方法包括以下步骤: 更高级设备(16)将地址空间(18)再分为请求区域(20), 请求区域(20)包括可变的自动确定的数目的地址, 更高级设备(16)将识别请求(22)发送至请求区域(20)中的所有地址, 接收识别请求(22 )的设备(12 )利用识别码(24)进行应答, 更高级设备(16)收集接收到的识别码(24),并将接收到的识别码(24)的数目与预定义阈值进行比较, 如果接收到的识别码(24)的数目低于阈值,则利用与请求区域(20)接界的新请求区域(20)来继续所述方法, 如果接收到的识别码(24)的数目高于阈值,则利用作为请求区域(20)的子集的减小的请求区域(20)来继续所述方法, 其中,减小的请求区域(20)由所识别的设备(12)的地址定界。
2.根据权利要求1所述的方法,其中,减小的请求区域(20)的上限由所识别的设备(12)的地址限定。
3.根据权利要求1或2之一所述的方法,其中,所述方法以包含完整地址空间的请求区域(20)开始。
4.根据权利要求1、2或3之一所述的方法,其中,当利用与请求区域(20)接界的新请求区域(20)来继续所述方法时,新请求区域的上限由所识别的设备(12)的地址限定。
5.根据权利要求4所述的方法,其中,在按设备(12)的地址分类的列表(30)中输入所识别的设备(12),其中,新请求区域(20)的上限由存储在列表(30)中访问位置(32)处的所识别的设备(12)的地址限定。
6.根据权利要求5所述的方法,其中,如果接收到的识别码(24)的数目低于阈值,则访问位置(32)以接收到的识别码(24)的数目增大,以及如果接收到的识别码(24)的数目高于阈值,访问位置(24 )保持不变。
7.根据前述权利要求之一所述的方法,其中,所述方法的起始点是多个已识别的设备(12),并且,其数目作为数值而并入到用于实现所述方法的算法中。
8.一种具有程序代码装置的计算机程序,所述程序代码装置用于在通信网络(10)中充当更高级设备(16)的设备(12)上执行所述计算机程序时实现权利要求1至7中任一项的所有步骤。
9.一种电气设备(12),至少有时在包括另外设备(12)的通信网络(10)中充当更高级设备(16),所述电气设备(12)具有处理单元(54)和存储器(56),在所述存储器(56)中加载了根据权利要求8所述的计算机程序(58),在设备(12、16)的操作期间,所述计算机程序(58)由所述处理单元(54)执行。
全文摘要
公开用于识别在通信网络中组合的设备的方法。涉及由更高级设备识别在通信网络中组合的设备的方法,每个设备被指派有预定义地址空间中的唯一地址,包括步骤更高级设备将地址空间再分为请求区域。请求区域包括可变的自动确定的数目的地址。更高级设备将识别请求发送至请求区域中的所有地址。接收识别请求的设备利用识别码进行应答。更高级设备收集接收到的识别码,并将接收到的识别码的数目与预定义阈值进行比较。如果接收到的识别码的数目低于阈值,则利用与请求区域接界的新请求区域来继续该方法。如果接收到的识别码的数目高于阈值,则利用作为请求区域的子集的减小的请求区域来继续该方法,减小的请求区域由所识别的设备的地址定界。
文档编号H04L29/12GK103139322SQ20121048072
公开日2013年6月5日 申请日期2012年11月23日 优先权日2011年11月23日
发明者A.迈尔 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1