识别与通信网络相连的设备的方法和设备 【技术领域】
本发明涉及通信网络,更具体地说,涉及一种在对网络重新初始化之后识别与该网络连接的外围设备的方法,以及用于实现此方法的设备。
背景技术
在文档《IEEE 1394-1995 Standard for a High PerformanceSerial Bus》中定义的IEEE 1394总线是使此后被称为外围设备的设备进行连接的数字传输串行总线。这些互连的外围设备中的每一个都具有在网络配置改变之后(新的外围设备连接到网络上,从网络中断开外围设备等)可能改变地物理地址以及永久存储在任何其他外围设备都可以读取访问的存储器中的、被称为EUI-64的静态地址。在网络配置发生任何改变之后,网络自动地进行自动重新配置(在被称为“总线重置”的总线重新初始化之后),其中涉及存在于网络上的外围设备的物理地址的重新编号。由于每个外围设备由位于零和存在于网络上的外围设备的数量之间的特定数字进行编号,因此,该重新编号是简单的(straightforward)。在重新配置过程结束时,每个外围设备知道它自己的物理地址和与网络连接的外围设备的数量。
然而,根据上述重新配置过程,物理地址不是永久的,因此,惟一并永久识别外围设备的方式是使用相应外围设备的EUI-64静态地址。该地址是惟一而永久的,并且存在于网络的每个外围设备的配置ROM的非常特殊的寄存器中。
因此,为了与其他外围设备进行通信,给定的外围设备需要读取与IEEE 1394网络连接的周围外围设备(此后被给定外围设备当作目标外围设备,以便读取标识符)的EUI-64静态地址。然后,该给定外围设备可以保持它已经与其进行了通信的外围设备的物理地址与EUI-64静态地址之间的内部关联,以便加速与这些各个外围设备之间未来的信息交换。
图1是示出了在网络重新配置(在总线重新初始化之后)之后,由给定外围设备发现周围网络的方法的流程图。图1表示本领域技术人员所公知的、用于重新构造给出了与网络连接的其他所有外围设备的EUI-64静态地址的给定外围设备的关联内部表。
考虑到网络中的任何外围设备,设想了此方法。由于物理地址从零到外围设备数量减一,该外围设备探查网络,以便找到它知道其物理地址的周围外围设备的EUI-64位地址。因此,所考虑的外围设备将从具有等于零的物理地址的外围设备开始(1-1),读取周围外围设备的EUI一64静态地址(1-2),并在表中将其与所考虑的目标外围设备的物理地址进行内部关联(1-3)。然后,所考虑的外围设备将转移到下一物理地址的外围设备(1-4),只要网络中仍然存在其还没有进行关联的外围设备(1-5)。
问题在于以下情况:网络中的所有外围设备将使用相同的算法,这样,许多外围设备将同时设法读取同一外围设备的配置ROM。外围设备的ROM一次只处理一个请求,因此,如果外围设备忙于读取请求,则随后的读取请求将积累在一个或多个堆栈中,这表示存在使这些堆栈溢出并因而造成读取请求丢失的危险。另一方面,即使外围设备具有足够大的堆栈,想象每个外围设备用于响应请求处理的有限时间,如果外围设备由于请求而过载,则将超过该截止时间,而无法作出响应。
【发明内容】
因此,本发明涉及一种识别与通信网络相连的外围设备的方法,其中每个外围设备由永久惟一标识符和物理地址进行区分,并且每个外围设备设法使与网络相连的每个外围设备的物理地址和标识符内部关联,其特征在于由给定外围设备探查其他外围设备的顺序取决于专用于给定外围设备的参数。使用该特定参数能够在读取请求级,将可变因数引入到遍历网络的顺序中。
根据一种改进,专用于网络的每个外围设备的物理参数是其在网络中的物理地址。
根据一种改进,与网络相连的每个外围设备从其自身开始其网络探查,即,使其自身成为第一目标外围设备,以便发送其读取标识符的请求。
根据另一改进,根据与网络相连的各个外围设备的物理地址的编号顺序,由每个外围设备进行网络探查。根据一种变体,根据与网络连接的各个外围设备的物理地址的编号的随机顺序,进行每个外围设备的网络探查。
根据另一改进,与网络相连的每一个外围设备并行地向不同目标外围设备发送多个读取请求,而在向下一个外围设备发送请求之前无需等待一个外围设备的响应。
本发明的主题还是一种与通信网络相连的设备,所述设备包括:用于获得与网络相连的设备的永久标识符的装置;以及用于编辑设备的永久标识符和网络中该设备的临时标识符之间的关联表的装置,其特征在于:用于编辑关联表的装置能够执行设备永久标识符的读取,读取设备处的永久标识符的顺序取决于专用于进行读取的设备的参数。
【附图说明】
通过阅读各种实施方式的描述,本发明的其他特征和优点将变得显而易见,该描述通过参考附图给出,其中:
图1是示出了根据现有技术的网络的拓扑发现的流程图。
图2和3是示出了基于遍历顺序而不并行请求的本发明的各种实施方式的流程图。
图4示出了基于遍历顺序和并行发送请求的本发明的优选实施方式的流程图。
图5是能够连到网络上的外围设备的方框图。
【具体实施方式】
现在将参考图2对网络的拓扑发现方法的特定实施方式进行描述,所述特定实施方式包括一组n个互连外围设备,其中每个外围设备由惟一的永久标识符和物理地址来区分,并且每个外围设备设法使连接到网络上的每个外围设备的物理地址和标识符内部关联,其特征在于由给定外围设备对其他外围设备的探查依赖于给定外围设备的物理地址。
图2是示出了每个外围设备的惟一并永久的标识符是EUI-64静态地址的IEEE 1394网络的拓扑发现方法的流程图,其中,每个外围设备对网络的探查由其自身开始,并根据对与网络相连的各个外围设备的物理地址进行编号的顺序来进行。当然,本领域的技术人员能够使用其他任何标识符来指定给定外围设备。使用EUI-64静态地址当然不是识别外围设备的仅有方式:还能够使用外围设备配置ROM的序列号或其他任何标识符。考虑到网络的任何外围设备,设想了本方法。由物理地址从零到外围设备的数量减一,该外围设备将探查网络,以便发现它知道其物理地址的周围外围设备的EUI-64静态地址。然后,所考虑的外围设备将读取第一目标外围设备即其自身(2-1)的EUI-64静态地址(2-2),并且在表中将其与所考虑的目标外围设备的物理地址内部关联(2-3)。此后,当前目标外围设备将变为下一物理地址对与网络相连的外围设备的数量取模的外围设备(2-4),只要网络中仍然存在当前外围设备仍未进行关联的外围设备(2-5)。
本发明限制了碰撞的次数,并因而限制了在目标外围设备的ROM级的请求的过载。具体地,通过利用相互独立的目标物理地址,并通过在当前目标外围设备的物理地址上递增一个单位以转移到下一个目标外围设备而建立的转换系统能够将请求合理地分配到存在于网络中的所有外围设备中。
而且,为了增加网络的发现效率,本发明将有助于使给定外围设备能够向各个目标外围设备并行地发布多个请求(即,发布多个读取请求而不必等待目标外围设备的响应),而作为逐个外围设备发布读取请求的替代。这不能够使用图2所示的方法来实现。
图3示出了本发明的变体,其中,根据与网络相连的各个外围设备的物理地址编号的随机顺序,来实现由每个外围设备进行的网络探查。具体地,上述实施方式基于遍历网络中各个外围设备的预先建立的顺序,而可以考虑每个外围设备根据其自身的特定随机顺序,遍历网络。然而,与网络相连的每个外围设备总是由其自身开始对网络的探查,即,通过将其自身当作第一目标外围设备来发送读取标识符的请求。考虑到网络中的每个外围设备,设想了该方法。由于物理地址从零到外围设备的数量减一,该外围设备将探查网络,以便发现它知道其物理地址的周围外围设备的EUI-64静态地址。因此,所考虑的外围设备将读取第一目标外围设备即其自身(3-1)的EUI-64静态地址(3-2),并在表中将其与所考虑的目标外围设备的物理地址内部关联(3-3)。所考虑的外围设备将如按照阵列等方式对其刚刚处理过的外围设备进行内部标记(3-4)。此后,改变当前目标外围设备:新的当前目标外围设备的物理地址从还没有关联的外围设备的物理地址中随机选择(3-5),利用如阵列等来表示。只要网络中仍然存在所考虑的外围设备仍未进行关联的外围设备(3-6),则从读取新的当前目标外围设备的EUI-64静态地址开始,重复这些步骤。
图3所示的本发明的变体限制了碰撞的次数,因而限制了在目标外围设备的ROM级的请求的过载。具体地,如果大量的外围设备与网络相连,则两个外围设备同时询问同一第三外围设备的几率取决于用于选择目标外围设备的随机函数。如果针对每个外围设备选择不同的随机函数,或者选择根据每个外围设备使用如其物理地址等不同数值初始化的相同随机函数,从而限制了碰撞的几率。
然后,可设想每个外围设备具有随机发生器,或者可设想存在对所有外围设备公用的随机发生器,其创建对各种外围设备的物理地址进行了随机排列的列表,并且每个外围设备从不同的位置开始遍历该公用表,在这种情况下,再次找到了遍历的预定顺序。例如,给定外围设备从与其编号是自身物理地址的表中的元素相对应的物理地址的目标外围设备开始,发起对网络的遍历。
图4是示出了本发明的一种可能改进的流程图,由于其使网络的各个外围设备以同一时间间隔中发布并行读取的特定数量的请求,即,在将读取请求发送到下一个目标外围设备之前,给定外围设备不需要等待一个目标外围设备的响应。从始至终,需要限制可能的并行读取请求的数量,以使网络不过载。例如,并行读取请求的最大数量是反映出网络自身处理能力的常数,例如,该常数取决于堆栈或缓冲存储器的尺寸,并且在关联阶段的开始应该是固定的(4-1)。针对图2所阐明的原理,进行了图4所示的改进:由每个外围设备从其自身处开始探查网络(4-2),并根据与网络相连的各个外围设备的物理地址的编号顺序进行(4-5)。因此,当授权其进行发送时,所考虑的外围设备并行发送多个读取请求(4-3,4-6,4-7),而在转移到下一个目标外围设备之前不需要等待它已经向其发送了这些请求的目标外围设备的响应。正如图2所示的发明所示出的那样,通过将当前目标外围设备的物理地址递增一个单位,对与网络相连的外围设备的数量取模,来进行从一个目标外围设备向下一个目标外围设备的转移(4-5)。此后,所考虑的外围设备等待其先前发送请求的响应(4-9)。如果外围设备接收到网络重新配置命令(总线重置)(4-10),则外围设备重新发起对网络的探查。如果所考虑的外围设备接收到包含如所使用的EUI-64静态地址等标识符在内的响应,则该外围设备将已经对其作出响应的外围设备的物理地址与所接收到的EUI-64静态地址进行内部关联(4-12)。此后,只要请求所询问的外围设备的数量严格小于与网络相连的外围设备的数量(4-15),就向当前目标外围设备发布新读取请求(4-13),并且递增目标外围设备的当前地址(4-14)。
图4所示的本发明的改进具有与图2所示的方法相同的优点,由于它们都依据针对目标外围设备的地址进行转换的相同原理。因此,减少了碰撞的次数,并避免了外围设备的配置ROM的过载。而且,并行发送多个读取请求的可能性使外围设备减少了等待对这些请求作出响应的时间。具体地,如果一个外围设备响应较慢,则其可以处理在较慢外围设备之后询问的较快外围设备的响应,从而改善了探查效率。
可以应用与图3所示的本发明的第二变体相似的方法。具体地,并行发布读取请求的可能性与遍历网络的方式无关。作为如图4所示的改进所实现的按照物理地址的编号顺序进行遍历的替代,也可以使用图3所示的方法来进行遍历。
此外,并行发送请求的方法也可应用于如现有技术中那样每个外围设备使用相同探查顺序的情况。
图5是外围设备10的方框图。例如,该外围设备是光学DVD读取器。外围设备10通过物理接口12和链接电路13,与承载参考线11的1394总线相连;链接电路13与外围设备10的内部并行总线14相连。微处理器15或类似设备管理外围设备,包括用于管理输入/输出16和存储器17的电路。最后这三个组件也与并行总线14相连。
典型地,微处理器处理自动识别方法、确定网络拓扑的方法和编辑关联表的方法的实现。例如,将与初始化后的拓扑相关的信息和关联表保存在存储器17中。
当然,在实现时可以对方法进行修改,但是,不能脱离权利要求所限定的本发明的范围。
根据所给出的实例,每个外围设备从其自身开始发起对标识符的读取。然而,这不是强制性的,本领域的技术人员可以设想其他的初始方案:例如,针对所考虑的外围设备的物理地址,进行固定转换。