本发明涉及实时数据成象网络系统中的周期性数据传输,尤其涉及这样的系统,即不同的数据信息以不同的周期率重复传输的系统。 在实时或确定性数据成象网络系统中,含有特定数据的当前图象(image)的数据信息在网络中周期性地逐站传输。数据等待时间(在接收站中,数据必须被更新的最大时间周期)确定了必须传输信息的周期率。周期率反过来确定了系统必须处理的信息通信量。
符合FDDI(光纤分布数据交换)标准的网络是能够用作实时数据网络的网络例子。FDDI协议定义了一个环形拓补并使用了在网络中逐站传送令牌以分配传输时间的令牌传送方案。在FDDI网络中,将信息分为两类即同步信息和异步信息以控制通信。周期性数据使用同步类信息,因为它能保证最大数据等待时间为目标令牌循环时间(TTRT)的两倍,其中,为了达到时间域中所需性能而选择TTRT。例如,如果需要100ms的最大数据等待时间,则选择TTRT为50ms。于是TTRT确定了能够在网络中广播的最大通信量,因为在最坏情况下,网络中的所有站必须能够在TTRT期间内广播它们的同步模式信息并传送令牌。
某些实时系统中,比如一个实时控制系统中,通常存在为了适当的控制必须以高数据速率更新的数据。一般地,系统中大多数数据要求较长的等待时间,并且事实上这种所需的等待时间是变化的。在这样一个异类系统中,网络容量由具有最小广播周期的周期性数据所限制。这是因为当网络中所有节点在单一令牌循环中同时要求令牌以传输它们所有周期性数据时,产生峰值负载。
在已知实时令牌传送网络系统中,周期性数据传输速率为快速(周期短)和慢速(周期较长)两者之一。短周期数据在每个令牌循环中传输。每个站不考虑其他站所传输的信息而独自将其具有较长周期的周期性数据信息分布到较长数据周期中所含地多个短数据周期上。这样,每个站试图平均其较长周期的信息。该方案的有效性与所传输信息的数目和长度有关。例如,在每一站中,如果所传输的具有效长数据周期的信息的数目等于较长数据周期与较短数据周期之比,则在每个较短数据周期中将传输相同数目的较长数据周期的信息,并且因此,使信息通信得以完全平均。对于具有极短信息的网络,这种方案通常在整个网络上提供了有效的平衡。然而,当报文长度增大时,这样的站内平均将不太可能提供有效的平衡。最坏情况下,每站可能具有一单一的长数据周期信息,则不存在平均情况。因为在最坏情况下,所有站都独自地分布其长周期信息,所以每个站都在相同的短周期内传输其一条长数据周期信息。
另一已知实时令牌传送网络协议中,如FDDI,允许以多个周期率之一传输周期性的、或同步的数据。FDDI协议在某站内或整个网络内都未规定不同周期的同步数据的平衡。这样,当网络中所有站在单一令牌循环中传输其所有同步模式信息时产生最坏情况(峰值负载)。这种情况的可能性是由这一事实造成的,即每站一般只传输很少的具有相对较大长度的信息。这是因为FDDI网络是数据吞吐量很高的网络(每秒100兆位)。这样的网络中,软件处理时间一般决定了性能;尽管网络可以维持很高的传输速率,但是不能维持很高的信息速率,因为每条信息必须由软件处理。因此,很可能是将来自网络中每站的信息限制为某最小长度,并将单独的数据实体(entity)组成为单一报文。结果是,具有多个同步数据周期的FDDI网络具有极不均衡的负载,并且使容量降低,因为容量确定于单一令牌循环中最坏情况下的同步数据通信。
因此,需要这样一种系统,它能在具有多个数据周期的系统中更有效地分布长周期数据。
这种要求以及其他要求通过针对实时成象网络系统的本发明得到满足,这种系统在全系统基础上分布较长周期数据信息以使在任何特定最短数据周期内传输的数据减为最少。再具体些,本发明针对于具有数据周期在最短数据周期和最长数据周期范围以内的数据信息的系统,其中最长数据周期是每个较短数据周期的整数倍。然后系统内的通信分布到最长数据周期内,该数据周期分为多个“传输时隙”,时隙数等于最长数据周期与最短数据周期之比。系统另外包括某种装置,它在重复传输时隙内能使每一个站在连接所有站的一个数据信网络上顺序传输周期性数据信息,使用的传输时隙宽度等于最短数据周期。
每站在每个传输时隙内被允许后,重复传输具有最短数据周期的周期性数据信息。对于其他具有较长数据周期的数据信息,在由其他周期性数据信息的数据周期与最短数据周期之比分隔的传输时隙内,当每站被允许后,也重复传输具有较长数据周期的其他数据信息。再者,所有站中的具有同样的或较长的数据周期的数据信息的传输分布到每个最长数据周期所含的传输时隙上,以便使每传输时隙期间内所有站传输的数据信息数目最小。最好是,在本发明最佳实施例FDDI网络中,利用令牌传送系统使每站能够传输数据信息。
具有同样的或较长数据周期的数据信息传输的分布,在本发明最佳实施例中是通过网络中的服务器站实现的。服务器站包括某种装置,这种装置连续地对连续来自所有站的每个周期性数据信息分配一个起始传输时隙。服务器也将每个周期性数据信息分配到除起始传输时隙之外的附加时隙上,这些附加时隙由与周期性信息的数据周期同最短数据周期之比相等的周期传输间隔所分隔。
本发明目的在于提供一种用于传输具有不同数据周期的实时数据信息的系统和方法。
考虑到这种目的,本发明所在的实时数据成象网络系统包括:多个站,每站产生多个周期性数据信息,这些信息具有多个数据周期,这些周期在最长数据周期与最短数据周期范围以内,其中最长数据周期是每个其他数据周期的整数倍;连接所有所述站的数据通信网络;这样的网络系统特征在于:一种装置,用于在重复传输时隙期间内连续允许每站在所述数据通信网络中传输周期性数据报文,所述传输时隙的宽度等于最短数据周期;以及每站中的装置,用于在每传输时隙内被允许后重复传输具有最短数据周期的周期性数据信息,并且用于在对于每个具有较长数据周期的其他数据信息的传输时隙内被允许后重复传输其他数据信息,此时的传输时隙是由所述其他周期性数据信息的数据周期与最短数据周期之比分隔的,所有站中所述较长数据周期的周期性数据信息的传输在每最长数据周期内分布到传输时隙上,以使每传输时隙中由所有站传输的数据信息数目最小。
参照下述对最佳实施例的说明及附图,可以全面理解本发明。
图1是施用本发明的令牌传送环结构网络系统的原理图。
图2图示了根据本发明的时间划分。
图3为一张图表,说明了如图1所示的网络系统的单一时隙上的峰值负载,此时该系统具有两种传输周期并未使用本发明。
图4为一张图表,说明了具有两个数据传输周期并体现本发明时图1的网络系统的单一时隙上的峰值负载。
图5是一张图表,说明了具有多个数据传输周期的如图1所示的网络在一般情形下根据本发明的峰值负载。
图6是施用本发明的FDDI网络系统原理图。
图7A和7B说明了在多个数据周期的一般情形下,服务器根据本发明在特定传输时隙内分配传输数据时适用的程序的流程图。
图8A和8B说明了在只有两个数据周期的特定情形下,在特定传输时隙的分配传输数据时适用的计算机程序的流程图。
图9是每个站在服务器分配的时隙内传输数据时运行的适用的计算机程序的流程图。
图1是一个实时数据成象网络系统1,它包括由数据通信网络5互连的多个站3。符号7表示的令牌由网络逐站传送,令牌在重复令牌循环中顺序地向各站分配传输权利,使站能够在网络上传输数据。在单一传输时隙期间能够出现至少一个或可能的几个令牌循环。每站在一个传输时隙内对该时隙所分配到的数据仅传输一次,而不管实际收到令牌的次数。在本发明的示范性例子中,网络将站3连接为环结构。网络5最好利用FDDI(光纤分布数据交换)网络标准。这是一个开放结构标准。如前述,FDDI网络能够传输同步和异步信息。必须周期性更新的实时数据以FDDI网络的同步模式传输。因为系统1中不同的数据具有不同的数据等待时间,即在网络的所有接收站中数据必须更新的最大次数不同,则建立了范围在最短数据周期与最长数据周期之间的多个数据周期。这些数据周期是这样建立的,以使得最长数据周期是每个较短数据周期的整数倍。
图2说明了最长数据周期与最短数据周期之间的这种关系。周期率R是最长数据周期与最短数据周期之比。最短数据周期等于网络上传输时隙的宽度。最长数据周期中含有R个传输时隙。这样,因为令牌是在每个传输时隙中传送的,则每站用最短的数据周期传输其数据。每站在拥有令牌时,必须也传输一些较长周期的数据。显然,传输时隙,并且因此的最短数据周期确定了网络所能处理的数据量,因为每站在该传输时隙内必须传输其数据并且传送令牌。每个传输时隙中必须传输具有最短数据周期的数据,而具有较长数据周期的数据能够分散到延续在最长数据周期之内的传输时隙上。
根据本发明,具有非最短数据周期的数据在全系统基础上分布到较长数据周期以使单一传输时隙内传输的数据量得到平均。本发明效果的例子示于图3和图4中,网络系统具有五个站或节点i,有两种数据周期,例如短数据周期p可以是100ms,长数据周期10p可以是1秒。
图3图示了本例中网络在未利用本发明时最坏情况下的峰值负载。图中,pi表示来自站或节点i的100ms数据块,10pi表示来自站或节点i的1秒数据块。从图3可以看出,每站在每个令牌循环或传输时隙1-10中传输其100ms数据。先有技术系统中,每站或节点独自将其一秒数据分配到传输时隙1-10之一,系统必须适应最坏情况,即所有站在相同令牌循环或时隙中传输它们的一秒数据。在图3中,这个时隙是每10个时隙的集合中的第一个时隙。因此,可以看出必须限制数据总量以便在一个时隙中能够传输全部数据。
图4说明了施用本发明的同一个例子。这种情形下,每站中将具有较长数据周期的数据传输的分配在全局基础上加以分布以便每站在每10个时隙的集合中的不同时隙内传输其一秒数据。这样,在任一特定时隙内必须传输的数据量达到最小。因而利用本发明,在给定时隙中可以传输更多的数据,增大总体网络容量,或另一方面,可以减短传输时隙宽度以便减少最短数据周期,使具有最短数据周期的数据更频繁地更新。
图5说明了本发明应用的一般情况,其中具有两个以上不同数据周期的数据。图5中,pi、2pi、5pi和Rpi分别表示来自站或节点i的每个给定广播周期的数据块。R仍然是最长周期与最短周期之比,并且R是所有周期的整数倍。本例中,站或节点个数是7,R大于7。pi数据在每个令牌循环中传输,2pi数据在每隔一个的传输时隙中传输,5pi数据在每第5个数据周期中传输,Rpi数据在每R个时隙中传输一次。本例中可以看出,本发明产生的全局平衡极大地增加了网络容量,这是因为,由于在一个令牌循环或传输时隙中,系统必须允许最坏情况,即每站都传输数据周期大于最短数据周期的数据,从而未经全局平滑时,传输的数据量是有限的。
图6说明了本发明在实时数据成象网络1中的应用,该网络具有多个站3a-3n,由网络5连接为环结构,具有相向循环的内外环9和11,利用FDDI标准。3a-3n中每个站包括一个中央处理单元(CPU)13、一个存贮器15和一个网络接口17。当网络接口17收到令牌时,由网络接口在网络5的内环和外环9和11上传输每个站中由CPU 13产生的信息,这是由FDDI网络的站管理协议层所确定的。当相邻站的网络接口收到信息时,将需要的数据存贮在存贮器15中并向下一站(下游)重复该信息。通过这种方式,数据绕环传输到所有站。该系统中,每个数据报文都是原始传输站产生的数据块。
根据本发明,这些站中的一个比如站3a是服务器节点。服务器节点是用于将各个站产生的数据块分配到传输时隙以产生全局平衡的中央点。这样,当某站产生了一个具有特定数据周期的新数据块时,它向服务器节点3a发送一个请求,要求为该数据块分配传输时隙。服务器3a向数据块分配时隙的简单方案是:将第一个要求时隙的较长数据块分配到第一个时隙作为起始时隙。从起始时隙开始的,并由该数据块的数据周期与最短数据周期之比分隔的附加时隙也分配给该数据块。然后,对于下一个请求时隙分配的数据块,起始时隙增加1。当已为数据块分配了合适数量的时隙后,已分配的时隙表传回请求站。
在有多个n-站或节点的一般情况下,传输具有多个不同数据周期的数据块时,服务器站适用的计算机程序流程图100示于图7A和7B中。从101开始,程序在103初始化时隙分配所需的常数。这些常数包括R,它是最长周期与最短周期之比。在最长周期中传输数据所需的时隙数,对于每个数据周期是通过用该数据周期除最长数据周期来计算的。传输时隙间隔对于每个周期也是通过用最短数据周期除那一数据周期来建立的。在105处完成初始化,初始化了为每个数据周期在网络范围内分配的起始时隙。
服务器站在107处收到来自网络中某站的要求分配时隙的请求后,服务器在109处初始用于分配的时隙计数器。可以看出,该时隙计数器将从0增至传输具有周期p的数据块B所用的时隙数减1。然后,流程在111处进入一个循环,向该数据块分配时隙。如果时隙计数器的计数保持小于在每个最长数据周期中传输该数据块所用的时隙数,如111所确定的,则在113处计算该数据块的当前时隙。在115处将该当前时隙加到数据块B的传输时隙表中,并在117处时隙计数器加1。这一数据块B的传输时隙分配过程重复直至已经分配了原来在103处为其数据周期建立的时隙数。
当在111处确定数据块B已分配到其全部传输时隙时,在119处将该数据块的时隙表传输到请求站。然后在121处该数据周期的数据块的当前起始时隙加1,以便接着为该周期的数据块分配时隙。在123处进行检验以确定该新的当前起始时隙是否大于在103处确定的该数据周期的时隙间隔。如果大于,则在125处将当前起始时隙重置为1。在任一种情况下,服务器在127处等待下一时隙分配请求,当接收到请求后,分配过程从107处重复。
图8A和8B说明了网络中只有两种数据周期,即短周期和长周期的特定情况下服务器在分配时隙时适用的计算机程序流程图。当在201处调用时,服务器例程200在203处初始化时隙分配所需要的常数。这些常数减少至R(即长周期与短周期之比),在最长数据周期中传输长数据周期的数据块用的时隙数(当然为1),以及长数据周期的数据块传输间隔(等于R)。初始化也包括在205处将长数据周期的时隙设置为1。
当服务器在207处收到一个来自某站的要求为数据块B分配时隙的请求时,在209处检验由请求站所指定的数据周期。如果数据块B具有短数据周期,则在211处分配该块在长数据周期的所有R个时隙中传输。
另一方面,如果在209处确定数据块B具有长数据周期,则在213处将长数据周期时隙分配为其传输时隙。然后在215处长数据周期时隙加1。如果增加后的新的长数据周期时隙在217处确定为超过了长数据周期中的传输时隙总数R,则在219处将长数据周期起始时隙重置为1。接着,在221处将为数据块B所分配的时隙表传输给请求站。然后流程在223处等待下一次分配请求。
图9为一个适用的程序300的流程图,该程序在每个传输时隙内为每个站所运行,以在当前传输时隙周期内传输被分配为传输的数据块。站在301处等待接收令牌。收到令牌后,在303处确定当前传输时隙。这是可以做到的,例如通过读取站的时钟,并且计算当前时间代表的最长周期与最小周期的比值。其次在305处初始由站传输来的数据块的计数器。然后,对于在303处确定的所有由站传输的数据块,在309处检验在当前传输时隙中是否分配了要传输的数据块。如果是,则在311处传输该数据块。每种情况下,在313处当前块计数器加1。当已经检查了在由307处所确定的当前传输时隙内全部传输的块时,站在下一传输时隙中等待接收令牌。
已详细说明了本发明的特定实施例,对于本领域熟练的技术人员而言,根据公开的总体描述,是能够对细节做出各种修改和变更的。因而,所公开的特定方法只是示意性的,并未限定本发明的范围。
附图中使用的参考号标识
符号 参考号 图
Nn-13 1
N13 1
N43 1
Nn3 1
N23 1
N33 1
令牌 7 1
CPU(中央处理单元) 13 6
存贮器 15 6
网络接口 15 6
开始 101 7A
常量 103 7A
R=最长周期/最短周期
对于每个周期pi
传输pi数据所需时隙数=最长周期/pi
pi传输时隙间隔=pi/最短周期
对于每个周期 Pi 105 7A
当前起始时隙 Pi=1
服务器收到来自节点N的要求为具有周期P 107 7A
的数据块B分配时隙的请求
时隙计数器= 109 7A
时隙计数器<传输Pi的数据块所用的时隙数 111 7A
时隙=当前起始时隙P 113 7A
+(时隙计数器*P传输时隙间隔)
将时隙加入块B的传输时隙表中 115 7A
时隙计数器加1 117 7A
将块B的时隙表传输到请求节点N 119 7B
当前起始时隙P加1 121 7B
当前起始时隙P>P传输时隙间隔 123 7B
置当前起始时隙P=1 125 7B
等待下一请求 127 7B
开始 201 8A
常量 203
8A
R=长周期/短周期
传输长周期数据块用的时隙数=1
长周期数据块间隔=R
长周期时隙=1 205 8A
服务器收到来自节点N的要求为块B分配 207 8A
时隙的请求
块B是长周期块吗 209 8A
时隙=所有R个时隙 211 8A
时隙=长时隙 213 8A
长时隙加1 215 8B
长时隙>R 217 8B
长时隙=1 219 8B
将块B的时隙表传输到请求节点N 221 8B
等待下一请求 223 8B
本节点收到令牌 301 9
得到当前时隙 303 9
〔余数(时钟/最长周期)
÷最短周期〕+1
当前块=0 305 9
当前块<节点传输的块数 307 9
当前时隙中是否分配了当前传输块 309 9
传输当前块 311 9
当前块加1 313 9