产生虚拟网络的方法和控制器的制作方法

文档序号:7583045阅读:173来源:国知局
专利名称:产生虚拟网络的方法和控制器的制作方法
技术领域
本发明涉及IEEE 1394网络,并且特别涉及在IEEE 1394网络基础上构建虚拟网络并且各节点检测该虚拟网络的IEEE 1394虚拟网络的产生方法和用于产生该虚拟网络的控制器。
通常,IEEE 1394网络包括至少两个节点,其中每个节点有一特有的节点ID。在此,依次确定各节点的ID。即,当有三个节点时,节点ID确定为0,1和2。当有五个节点时,节点ID确定为0,1,2,3和4。因此,为了使任意的节点具有所需的预定节点,至少需要如同节点ID那么多的节点。
当独立执行初始化的不同IEEE 1394网络通过介质彼此连接时,构建这些网络的各节点检测这些网络为具有不同总线ID的那些网络。即,当需要让这些节点检测不同的IEEE 1394网络为具有相同总线ID的那些网络时,这是不可能的。
为了解决上述问题,本发明的一个目的是提供产生IEEE 1394虚拟网络的方法,其中能够在一网络上安装一任意节点ID,并且各节点检测通过预定介质连接的不同IEEE 1394网络为同一网络。
本发明的另一个目的是提供控制IEEE 1394虚拟网络产生的虚拟网络控制器。
因此,为了实现第一目的,提供了一种产生IEEE 1394虚拟网络的方法,该方法包括步骤连接虚拟网络控制器到预定的IEEE 1394网络,该虚拟网络控制器用于产生一虚拟自身ID分组,该分组包括构建虚拟网络所需的虚拟节点ID信息;通过执行虚拟总线初始化,各节点和构建IEEE 1394网络的虚拟网络控制器确定它们是枝还是叶;通过执行虚拟树识别,确定关于各节点的端口的父端口和子端口及根节点;并且通过发送预备的虚拟自身ID分组确定各节点的物理节点ID。
虚拟树识别执行步骤包括以下步骤通过虚拟网络控制器和叶节点发送parent_notify信号到枝节点,设定叶节点的端口为父节点;当枝节点接收到parent_notify信号时,枝节点传送child_notify信号到虚拟网络控制器和叶节点,设定其自己的端口为子端口,并且变成根节点。
确定物理节点ID的步骤包括以下步骤经过连接到根节点的至少一个端口的至少一个虚拟网络控制器(VNC),重复和传送如同虚拟节点ID那么多的自身ID分组;根节点发送其自己的自身ID分组,并且拥有一节点ID。
为了实现第二个目的,提供了一种虚拟网络控制器,用于产生能够由在包括根节点的IEEE 1394网络中的各节点检测的虚拟网络,该虚拟网络控制器包括存储部分,用于存储如同包括在该虚拟网络中的虚拟节点ID那么多的自身ID分组;主控制器,控制当执行用于产生所述虚拟网络的总线初始化、树识别和自身识别时,所产生的总线周期开始和结束时刻处的点,在自身识别期间,主控制器读出如同存储在存储部分中的虚拟节点那么多的自身ID分组,并且将自身ID分组传送到IEEE 1394网络的各节点;数字部分,用于产生包括根节点的IEEE 1394网络的总线周期所需的parent_notify信号和传送自身ID分组所需的状态信号,调节到在总线初始化、树识别和自身识别期间主控制器的总线周期开始和结束时刻处的点;模拟部分,用于将数字部分的传送信号转换成模拟信号,将从IEEE 1394网络的各节点接收的模拟信号转换成数字信号,并且将转换的信号传送到数字部分。
通过参照附图详细描述优选实施例,本发明的上述目的和优点将变得更清楚,其中

图1是按照本发明的在IEEE 1394网络中产生一虚拟网络的过程的流程图;图2示出了包括两个节点(节点A和节点B)的IEEE 1394网络;图3示出了包括九个节点的IEEE 1394网络的结构;图4示出了包括虚拟网络控制器以便一节点检测图3的网络的IEEE 1394虚拟网络;图5到图8示出了形成树识别的过程;图9示出了当仅有两个节点时,树识别的结果;图10示出了一枝节点的三个端口中,一个端口不连接而其它两个端口作为子的网络;图11到图24示出了执行自身ID识别的过程;和图25示出了按照本发明的、用于产生虚拟网络的虚拟网络控制器的结构方框图,该虚拟网络由在包括一根节点和至少一个节点的IEEE 1394网络中的各节点检测。
参考附图将描述本发明的优选实施例。图1是按照本发明的、在IEEE 1394网络中产生一虚拟网络的过程的流程图,该流程图包括以下步骤准备用于一虚拟网络的自身ID分组(100)、虚拟总线初始化(110)、虚拟树识别(120)、虚拟自身识别(130)。
用于虚拟网络的自身ID分组包括构建该虚拟网络所需的虚拟节点ID信息,并且由虚拟网络控制器提供。
在虚拟总线初始化步骤110中,当虚拟网络控制器连接到预定的IEEE1394时,构建IEEE 1394网络的各节点确定它们是枝还是叶。
在虚拟树识别步骤120中,对于各节点的端口确定父端口、子端口和根节点。更具体地说,虚拟网络控制器和叶节点发送parent_notify(父通知)信号到枝节点,并且设定叶节点的端口为父端口。当枝节点接收到parent_notify信号时,枝节点传送child_notify(子通知)信号到虚拟网络控制器和叶节点,设定其自己的端口为子端口,并且变成一根节点。
在自身识别步骤130中,发送虚拟自身ID分组,并且确定各节点的物理节点ID。更具体地说,通过连接到所述根节点的至少一个端口的至少一个虚拟网络控制器(VNC),重复传送如同虚拟节点ID那么多的自身ID分组。然后,根节点通过传送其自己的自身ID分组,拥有一节点ID。
这个将要通过产生示于图1的IEEE 1394网络进行解释。图2示出了包括两个节点(节点A和节点B)的IEEE 1394网络。图3示出了包括九个节点的IEEE 1394网络的结构。图4示出了包括一虚拟网络控制器使得所述节点检测所述虚拟网络为示于图3的网络的IEEE 1394虚拟网络。
构建示于图4的网络,以便检测示于图2的网络中的示于图3的虚拟网络。然后,在初始化过程中,示于图4的网络象示于图3的网络操作。在此,示于图4的网络不必与示于图3的网络完全相同。当构建示于图4的网络具有如同示于图3中网络节点那么多的节点、并且各节点具有所需的节点ID时,各节点检测示于图4的网络为等同于示于图3的网络。
以下将更详细地描述通过在示于图2的网络中产生示于图4的虚拟网络,来检测示于图4的网络为示于图3的网络的各节点的过程。
由于在初始化过程中设定网络和ID,必须重新构建所述初始化。通过诸如总线初始化、树识别、和自身识别等三个过程,执行初始化。在执行初始化之前,必须确定如何构建网络。用于构建虚拟网络的自身ID分组从外部提供或在自身内构建。此时,当通过接收已经构建的特定IEEE 1394网络信息,在示于图2中的IEEE 1394网络中构建一虚拟网络时,需要使远端节点(节点B)拥有预定的所需节点ID、并且检测已经构建的网络的节点那么多的节点,或者要虚拟构建的网络连接在远端节点属于的网络。因此,如图4所示,从VNCl发送具有比节点B的ID值(#5)小的ID值的自身ID分组。从VNC2发送比B节点的ID值大的自身ID分组。根节点最后发送其自己的自身ID分组,并且具有最后的节点ID。
1.总线初始化(Bus Initialize)在此过程中,各节点确定它们是枝还是叶。图2的各节点的物理层芯片(physical layer chips)确定各节点是枝还是叶。节点A是枝或叶。节点B总是叶。除了连接到节点B的端口的两个端口的状态必须是‘不连接’,使得节点A变成叶。虚拟网络控制器(用于支持远端节点以检测虚拟网络的控制器)切断模拟部分,使得PHY(物理层)芯片检测两个端口的状态为‘不连接’。
2.树识别确定各节点的父端口和子端口。如图4所示,在节点A的PHY芯片中连接到节点B的端口(端口#1)总是变成子端口(节点A总是根节点)。剩下的两个端口能够变成子端口。能够将两个端口限制到相继的四种情况。

以下将参照图5到8描述执行树识别的过程。首先,如图5所示,VNC1和VNC2准备parent_notify信号,以便作为子。如图6所示,当叶节点、VNC1和VNC2发出parent_notify信号时,枝节点接收parent_notify信号,并且发出parent_notify信号的叶节点、VNC1和VNC2设定它们的端口为父节点。如图7所示,枝节点发出child_notify信号到叶节点、VNC1和VNC2,并且设定它自己的端口为子端口,而且变成根。最后,如图8所示,枝节点总变成根,并且作为IEEE 1394总线周期的周期主控部件(cycle master)操作。
在图9中,当仅有两个节点时,VNC1和VNC2的状态将是‘不连接’,仅枝节点的一个端口变成子,叶节点的端口变成父。图10示出了枝节点的三个端口中一个是‘不连接’,并且两个端口变成子端口的网络。
3.自身识别确定各节点的物理ID。当每个VNC发出虚拟自身ID分组到根节点时,节点B检测虚拟网络。下面将参照图11列24描述该过程。将描述节点A的所有三个PHY端口(端口0、端口1、端口2)被使用的情况。
由于节点A的物理芯片(PHY芯片)是根,如图11所示,PHY芯片发出grant(许可)。在此,grant表示所述根节点准备从其计数节点接收自身ID分组。
根节点的PHY芯片向子端口(端口#0)发出grant,并且向剩余子端口(端口#1和#2)发出data_prefix。如图12所示,VNC1检测所述grant并且发出data_prefix(数据前缀)、自身ID分组和data_end(数据结束)。data_prefix和自身ID分组被广播。如图13所示,如果有更多的虚拟节点的自身ID分组发送,VNC1变成闲置。如图14所示,确认VNC1的闲置状态的根节点的PHY芯片通过端口#0向VNC1再发出grant。VNC1重复图12到14的过程如同所需节点ID的数日那么多次。如图15所示,在通过#4发送所需节点的自身ID分组之后,发送ident_done。然后,如图16所示,根节点的PHY芯片响应为data_prefix,并且向剩余端口发送idle(闲置)。
如图17所示,根节点的PHY芯片向端口#0和#2发送data_prefix,并且向端口#1发送grant。如图18所示,data_prefix、自身ID分组和data_end从远端节点传送到根节点。如图19所示,当远端节点发出ident_done时,根节点通过发出data_prefix响应,并且向剩余端口发出idle。如图20所示,根节点的PHY芯片从远端节点接收idle,并且通过端口#0和#1发出dara_prefix,和通过端口#2向VNC2发出grant。
当VNC2接收到grant时,VNC2执行图21和图22的处理,并且重复图20到图22的处理如同所需ID的数目那么多次。VNC2发送如同所需节点那么多的data_prefix、自身ID分组、和data_end,然后如图23所示,向端口#2发送ident_done。如图24所示,根节点的PHY芯片通过作为根的每个端口,传送最后的自身ID分组。然后,PHY芯片向子端口发送idle。由任意的复位间隔保持闲置状态。
为了构建如图2所示的IEEE 1394基本网络,如图4所示,于是设定与示于图3中的网络相同数目的节点和任意的ID,通过图5到图9的过程执行树识别,并且执行图11到图24的过程。然后,确定所有节点的节点ID。最后,完成所述虚拟网络。在上述网络中,节点b检测如同图3的网络中连接的相同数目的节点,并且具有一特定的节点ID。
图25是虚拟网络控制器的结构的方框图,该虚拟网络控制器用于产生虚拟网络,该虚拟网络由IEEE 1394网络中的各节点检测,该IEEE 1394网络包括按照本发明的根节点和至少一个节点。虚拟网络控制器包括存储部分20、主控制器22、数字部分24和28、模拟部分26和30。
位于主控制器中的存储部分20存储如同包括在该虚拟网络中的虚拟节点ID的数目那么多的自身ID分组。
主控制器22当执行用于产生所述虚拟网络的总线初始化、树识别和自身ID识别时,控制所产生的总线周期开始和结束处的定时。主控制器22在自身ID识别期间,从存储部分20中读出如同存储在存储部分20中的虚拟节点那么多的自身ID分组,并且将自身ID分组传送到包括根节点32的IEEE 1394网络的各节点。
数字部分24和28产生传送自身ID分组所需的状态信号和包括根节点的IEEE 1394网络的总线周期所需的parent_notify信号,调节到在总线初始化、树识别和自身识别期间主控制器的总线周期开始和结束的时间点;模拟部分26和30将数字部分24和28的传送信号转换成模拟信号,将从IEEE 1394网络的各节点接收的模拟信号转换成数字信号,并且将转换的信号传送到数字部分24和28。模拟部分26和30不同于IEEE 1394-1995标准仅在于没有Data_Rx、Sppd_Rx和Strb_Rx功能。由于初始化总是以最小速度执行,不需要速度检查。由于不需使用分组信息,数据的Rx部分和选通不需要。
按照本发明,能够在网络上任意设定节点ID。也能够物理检测和操作虚拟网络。当由某介质连接不同的IEEE 1394网络(独立进行初始化)时,各节点检测IEEE 1394网络是在同一网络中。
权利要求
1.一种用于产生IEEE 1394虚拟网络的方法,包括以下步骤将虚拟网络控制器连接到预定的IEEE 1394网络,该虚拟网络控制器用于产生一虚拟自身ID分组,该分组包括构建一虚拟网络所需的虚拟节点ID信息;通过执行虚拟总线初始化,各节点和构建IEEE 1394网络的虚拟网络控制器确定它们是枝还是叶;通过执行虚拟树识别,确定关于各节点的端口的父端口和子端口及根节点;和通过发送准备的虚拟自身ID分组,确定各节点的物理节点ID。
2.如权利要求1所述的方法,其中执行虚拟树识别的步骤包括以下步骤通过虚拟网络控制器和叶节点发送parent_notify信号到枝节点,设定叶节点的端口为父节点;和当枝节点接收到parent_notify信号时,枝节点传送child_notify信号到虚拟网络控制器和叶节点,设定其自己的端口为子端口,并且变成根节点。
3.如权利要求1所述的方法,其中确定物理节点ID的步骤包括以下步骤经过连接到根节点的至少一个端口的至少一个虚拟网络控制器(VNC),重复和传送如同虚拟节点ID那么多的自身ID分组;和根节点发送其自己的自身ID分组,并且拥有一节点ID。
4.一种虚拟网络控制器,用于产生能够由在包括根节点的IEEE 1394网络中的各节点检测的虚拟网络,包括存储部分,用于存储如同包括在该虚拟网络中的虚拟节点ID那么多的自身ID分组;主控制器,控制当执行用于产生所述虚拟网络的总线初始化、树识别和自身识别时,所产生的总线周期开始和结束时刻处的点,在自身识别期间,读出如同存储在存储部分中的虚拟节点那么多的自身ID分组,并且将自身ID分组传送到IEEE 1394网络的各节点;数字部分,用于产生包括根节点的IEEE 1394网络的总线周期所需的parent_notify信号和传送自身ID分组所需的状态信号,调节到在总线初始化、树识别和自身识别期间主控制器的总线周期开始和结束的时间点;模拟部分,用于将数字部分的传送信号转换成模拟信号,将从IEEE 1394网络的各节点接收的模拟信号转换成数字信号;并且将转换的信号传送到数字部分。
全文摘要
一种产生IEEE1394虚拟网络和产生该虚拟网络的控制器,该方法包括:将虚拟网络控制器连接到预定的IEEE1394网络;执行虚拟总线初始化,各节点和虚拟网络控制器确定它们是枝还是叶;执行虚拟树识别,确定关于各节点的端口的父端口和子端口及根节点;通过发送准备的虚拟自身ID分组,确定各节点的物理节点ID。根据本发明,能够在网络上任意设定一节点ID。当由介质连接不同的IEEE1394网络时,各节点检测该网络是在同一网络上。
文档编号H04L12/40GK1261232SQ99118199
公开日2000年7月26日 申请日期1999年8月30日 优先权日1998年10月13日
发明者宋祯镐, 李琪源, 韩东日 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1