分组交换系统和其中确认接收的方法
本专利申请与1992年3月23日递交的名称为“PACKET RE-ASSEMBLY METHOD AND APPARATUS”的未决美国专利申请第07/856,276号有关。
本发明涉及一种分组交换系统,在该系统中数据成组地传输,还涉及一种用以对分隔(分裂)成较小分组的数据进行核对、存储和重新组配、将其恢复成原始构形的方法和装置。本发明具体涉及一种分组交换系统和在该系统中确认接收的方法。
分组数据网采用信息编组的方式把来自始发设备的信息传递到特定的收信人。每个分组包含一个前置码(控制数据)和信息(消息数据)。前置码通常包括分组网控制数据、同步信息及收信人目的地信息。消息信息部分包含始发设备的消息。
分组包含这样的始发设备消息,并不总是被直接传送给目的地的收信人。众所周知,这些分组在到达其最终目的地之前可能因通过几个中继站而被转发。因分组网传输速度增加,故中继站能够高效地管理和处理这些信息分组变得日益重要。
偶尔,始发设备始发的数据分组的信息(消息数据)部分太大,以致于无法将其放入中继站所用的分组中的消息数据部分。在这种情况下,在与上述中继站相互传输之前就必须把原始数据分组分割成N个片段(fragment)。在由接收设备接收(例如由另一个中继站或目的地设备接收)时,必须把每N个片段按正确的顺序重新组配,以便重现出原始数据分组。
分组的重新组配方法在现有技术中是公知的。这种方法通常是处理器操作(它需要有系统处理资源以对接收设备接收到的每个分裂的分组进行评估),以使正确的接收生效,确定所有片段是否都已接收到,把每段存入存储器,并且在再现出原始数据分组之前重新表示出对应已接收片段的新段。尽管这种方式从分组重现组建的观点来看是相当有效的,但却需要占用系统资源,在接收每一个段时须使系统中断。在很多应用场合(例如无线局域网(LAN)),那里的系统处理资源已经承受沉重负担,对处理器提出与分组的重新组配有关的日益增加的要求,就可能会超过许多现有处理器技术的实际限度。
在上述的并且未决的专利申请中公开了另一种分组重新组配方法,该方法力图避免与处理器有关的缺点,该专利申请提出利用分组重新组配硬件(例如门阵列或应用特定的集成电路)执行大部分的分组重新组配过程。按照这个途径,处理器的介入典型地仅在接收到构成原始数据分组的第一个片段和最后一个片段时才需要。尽管这个途径把对于系统处理资源的需求降到了最低点,但当分裂的分组丢失、出差错或难懂而需要从源设备(source)重新传送时,就无法有效地重新装配数据分组。由此可以看到,在分组处理期间,减少处理器的介入可能导致无法向源设备发出要求其重新传送各个组的通知。
据此,现在需要提供一种改进的用以在分组数据网中确认数据组的方法,该方法应能确保所需要重新组配的所有分裂的分组的传送,并且避免上文中提到的缺点。
根据本发明,这里提供一种分组交换机,用以在一个分组交换系统中确认与一个分裂数据分组相关联的多个分裂分组的接收,该分组交换系统包括:一个接收机,用于接收所述的多个分裂分组;所述的分组交换机耦连到所述的接收机上,并且包括:控制存储逻辑部分,用于确定构成所述分裂数据分组的所有片段是否已被接收到;一个系统处理器,耦连到所述的控制存储逻辑,用于:确认一个分裂分组的有效接收;请求重新传送不准确或未接收到的分裂分组;根据一个重新传送请求启动一个系统处理器中断信号;在接收到一个重新传送的片段时利用所述的中断信号使系统处理资源中断;以及对于重新传送信号的确认制定时间表。
根据本发明,这里提供一种用以在一个具有分组交换机的分组交换系统中使用的、对来自信号源的有关一个分裂数据分组的多个分裂分组的接收进行确认的方法,该方法包括以下步骤:
在上述分组交换机处接收有关分裂数据分组的多个分裂分组;确定是否已经接收到了构成该分裂数据分组的所有分裂分组;所述的分组交换机对每个分裂分组的接收进行确认,并且请求重新传送不够清晰或未被接收到的分裂分组;所述的分组交换机根据重新传送请求启动一个系统处理器中断信号;当上述分组交换机接收到一个重新传送的片段时,所述的分组交换机就利用所述的中断信号使该系统处理器中断;所述的系统处理器编制一个发送给信号源的传送确认信号,用于确认被重新传送的片段的接收。
图1a示出本发明的射频(RF)分组传送系统;
图1b示出本发明的示例性分组交换系统的方框图;
图2示出图1b所示的分组交换的方框图;
图3示出在数据分组格式中的信息与包含在一个传送分组格式中的对应信息之间的关系;
图4示出含在图3所示的传送分组的控制部分内的信息;
图5示出含在图4所示的分组标题中的信息;
图6示出含在图4所示的重新组配标题中的信息;
图7示出含在图6所示的分组的重新组配标题中的协议字段的信息;
图8示出表示图2的分组重新组配硬件电路的控制装置的方框图;
图9示出图8所示的帧控制块的结构;
图10示出图8所示的分组控制块的格式和目录;
图11示出本发明的含在图10所示的中断控制字段中的信息;
图12示出本发明的确认传送的格式和内容;及
图13示出系统处理器执行的步骤用以按照本发明排定一个传送确认信号的流程图。
简要地说,本发明是与分组数据网一起使用以确保能传送要求重新组配的分裂的分组的一种方法和装置。在本发明的努力中,分组交换采用一个接收装置来接收多个分裂的分组。利用分组重新组配硬件来处理分裂分组的重新组配。当分组的片段出现丢失、差错或难懂时,分组交换设备就请求从源设备重新传送所需的信息,并使一个系统处理器中断标志置位。一旦接收到重新传送的片段,系统处理源就被中断,以处理接收到的信息,并且为重新传送数据排定传送另一个确认信号。
参照本发明,在分组交换系统中与处理分裂的分组有关的问题可以减低到最小程度,本发明采用了一种确认方案,用于确保包括分裂数据分组的所有片段的传送。这样,当分组片段出现丢失、差错或是对接收装置难懂时,这种确认方案允许重新传送差错数据。另外,由系统处理源排定一个第二确认信号,以便核实所有重新传送数据的成功传送。
本发明已在无线和有线的分组传送系统领域中得到了应用。图1示出一个射频(RF)分组传送系统90,它包括无线局域网(LAN),其中的控制模块(CM)92利用RF通信与多个用户模块(UM)94通信。按照最佳实施例,CM92和UM94可以采用任何已知的资源分配技术,例如时分多址联接(TDMA),时分多路复用(TDM),载波检测多址访问(CSMA),和/或码分多址联接(CDMA)等等,且不仅限于此。每个用户模块UM94被连接到一或多个诸如数据终端,个人计算机或其他信息输入/输出(I/O)设备等用户设备96。CM92由可以包括有线或光链路的数据信道99连接到分组数据网98。
CM92在图示的网内对通信进行控制,并且经由有关的UM94从数据网98向用户设备96传送信息。CM92还控制本地通信,从一个UM94接收信息并将信息中继到另一个UM94。数据网98可以是一个以太网,令牌网或任何其他公知的数据网。在CM92和UM94之间传送的信息采用以下所描述的分组形式。
图1b是代表一个能在图1a所示的分组传送引流内对信息进行始发、接收和中继(发送)的分组交换设备100的方框图。按照本发明,图1b的分组交换设备100是对于CM92或UM94是一种最佳配置。如图所示,每个分组交换设备100包括一个中央处理器110、网络接口装置120、总线判定器130、分组交换机140、以及一个具有无线元件152的无线电设备150。图中的中央处理器110和网络接口装置120分别通过总线115和125连接到总线判定器130。实际上,中央处理器110包括有关的随机存取存储器、只读存储器、控制逻辑、以及用于管理和控制设备100工作的所需控制逻辑驱动器。
网络接口装置120通过终端122为进出外部信息网提供一个交换的出入口。对于一个非限制性的例子来说,假定网络接口装置120是一个为以太局域网(LAN)提供出入口的以太网接口装置。然而从下文中可以看出,装置120可以由能翻译其他分组网协议所提供的数据的其他任何一种公知的接口装置构成。
分组交换机140通过通信总线135和判定器电路130与处理器110和网络接口装置120相连接。按照计划,总线判定器130被用于在处理器110和网络接口装置120之间判定接到分组交换机140的入口,从而便于数据分组在分组交换机140和处理器110之间,或是经网络接口装置120与信息网之间传送。与此相应,总线判定器130由现有的集成电路转发器(translator),寄存器和线驱动器构成,用于有选择地连接如总线115和125所示的多条总线之一,为分组交换机140寻找入口。通信总线115,125和135可以由现有技术中公知的任一种双向通信总线构成。
无线电设备150具有至少一个无线元件152,它通过分组交换总线145联接到分组交换机140,以便经由射频(RF)信道在图1a的各个分组交换装置100之间进行数据通信。分组交换总线145的物理结构是现有技术中公知的,因此无需在此处进一步讨论。分组交换机140的作用是在接到分组交换总线145上的设备之间接收和发送被分组的数据。它还经由通信总线135,总线判定器130和通信总线115与中央处理器110进行通信。尽管图中仅在分组交换总线145上连接了一个无线电设备,但实际上可以采用多个适用于将不同的通信网联接到分组交换总线上的通信装置。这类装置例如可以是电话机,T1电路,ISDN电路,以及其他适合连接到分组交换总线145上并最终接到分组交换机140的装置和网络。
如上所述,如果由连接到网络接口120上的一个源设备始发的数据组中的消息信息部分过长,以致于无法装入由无线电设备150传送的一个分组时,在RF传送之前就必须把始发信息分隔成N个片段。在接收时,必须利用另一种分组交换装置(CM92或UM94)对包含N个片段的分组进行确认和重新装配,这种确认和重新装配是在经由网络接口装置120连接到以太网之前,或是通过无线电设备150反向传送之前进行的。
图2是图1b所示类型的分组交换机140的一个详细框图。在工作期间,由分组交换机140通过分组交换总线145接收的分组被存储在随机存取存储器230中的适当存储位置,存储器230被划分成控制存储器232和数据存储器234。数据存储器234存储片段的信息部分(消息数据),而控制存储器232包含用于控制分组交换机140的基本操作的控制指令。熟悉本领域的人员都知道,存储器的划分可以是物理方式或逻辑方式。
按照本发明,一个存储器接口装置218被联到随机存取存储器230,并按现有技术的公知方式工作,用于控制信息的存储和提取。为了存储信息,要把分组交换总线145及其所连接的设备通过分组交换总线接口210、转换器212、以及分组的重新装配硬件214或输入控制功能216联接到存储器接口218。为了提取信息,要把分组交换总线145及其所连接的设备通过输出控制功能220和分组交换总线接口210联接到存储器接口218。类似地,判定器接口240把图1b的判定器电路130通过总线135联接到存储器接口218。存储器接口218的作用是在判定器电路130(即处理器110和网络接口120)与存储器230之间控制信息的存储和提取。
为了改善整个系统的通过量并且减轻中央处理器110资源的负担,分组交换机140在处理需要重新装配的分组时采用了重新装配硬件214。在处理不需要重新装配的分组时,则采用输入控制功能216。这样,分组交换机140在处理器110极少介入的条件下执行分组管理和重新装配,并且无需复制消息数据。由于处理器极少介入,本发明预计可以在重新装配分裂的分组时把处理器110的任务保持在最低限度。因此,减少处理器介入的用意在于在重新装配分裂的数据分组时限制处理器的参与程度。由中央处理器执行的用于控制重新装配工作的步骤越少,处理器的具体介入就越少。按照本发明,在重新构成一个数据分组的过程中,最少的处理器介入程度预计不会超过两次处理器中断。
这种处理方式是这样实现时,即利用一个可寻址体系,使无需重新装配的被接收分组在输入控制功能216的控制下被拆开并存储在分开的存储位置。另一方面,如果识别出有一个分组需要重新装配,就在分组的重新装配硬件214控制之下进行重新装配,并存储在分开的存储位置。此后仅需对分开的存储位置寻址就可以重新装配成要通过无线电设备回传或通过通信网传送的数据,而无需执行用于复制被接收传送分组的消息数据的那些中间步骤。
由于现有技术中有各种类型的分组交换机,此处不去解释分组交换机140内部功能的特定工作方式和细节。然而只需说明的是,分组交换机140中的转换器212用于确定一个被接收的分组是否需要重新装配。在作出决定时,分组处理就被切换到适当的控制功能(即重新装配硬件214或输入控制功能216)。分组交换机140通常可以由输件程序来执行,或是由采用专用集成电路(ASIC)或门阵列器件的硬件电路来执行。
图3示出了在通过图1a的数据分组网98进行信息通信时所采用的数据分组格式300中的信息与一个传送分组格式310中的对应信息之间的关系,传送分组格式310是在CM92的无线电设备150与UM94之间通过RF信道进行信息通信时采用的格式。如图所示,数据分组300包括始发设备控制和消息数据。如上所述,当数据分组300因过长而无法装入一个传送分组310时,就把数据分组分割成N个片段。图中的每个片段被装入一个单独的传送分组310。每个传送分组310包括控制信息311和包含部分数据分组300的片段字段312。当然,若整个数据分组300可以装入一个传送分组310,就装入一个传送分组。
图4示出了按照图3在需要重新装配的一个传送分组的控制部分中包含的信息。该格式示出了传送的分组前置码信息410,分组标题420,重新装配标题430和片段字段440。分组前置码410是使无线电接收机150的同步使用的。分组标题420和重新装配标题430将在下文中详细解释。正如前文所述,片段字段440包含将要传送的数据分组300的一部分。
图5示出了包含在图4的分组标题420中的信息。同时还表示出了不需要重新装配的一个传送分组的控制数据部分的内容。每个分组标题420包括一个虚电路识别(ID)字段510,组信息字段520,目的地信息字段530,以及有效信息字段540。虚电路ID字段510包含有在图2的分组交换机140内包含的虚电路寄存器的信息。虚电路寄存器指出或寻址一个排队控制块,后者又进而指出读和写的分组描述符,由读和写的分组描述符指出一个附加的分组描述符以及指示读、写缓冲器的描述符。缓冲器描述符各自指出一个写缓冲器和下一个读和写缓冲器描述符,从而形成一个地址链,用于确定被接收的一个不需重新装配的传送分组中的消息数据部分应被存储在哪个缓冲器位置。如果读者对这一过程的进一步细节感兴趣,可以参见于1991年6月21日递交并已转让给本发明的受让人的美国专利申请第07/719,212号。
组长字段520提供有关相应分组长度的信息。目的地信息字段530包括目的地设备地址信息。有效信息字段540包含与循环冗余检验(CRC)数据精度计算有关的数据。
按照本发明,虚电路ID字段510的最高有效位(MSB)被用于识别一个需要重新装配的传送分组。如果一个被接收的传送分组310的虚电路ID字段510中的MSB为“0”,就表示该分组不需要重新装配。相应地,由图2中的转换器212把该分组切换到输入功能216进行处理,且不通过重新装配硬件214。另一方面,如果被接收的传送分组310的虚电路ID字段中的MSB为“1”,就由转换器212把分组管理控制切换到图2中的分组重新装配硬件214。虚电路ID字段510中较低的七位被用做重新装配识别码(ID)。重新装配ID中包含表示重新装配寄存器的信息,该寄存器被包含在分组交换机140中,下文还要对此做详细说明。
图6示出含在图4的传送分组的重新装配标题430中的信息。仅在传送分组中载有包括始发设备消息数据的片段时,在传送分组上才设有重新装配标题。其结构包括源逻辑单元识别(LUID)610,分组识别(ID)字段620,序号字段630,总片段字段640,片段号字段650,总组长字段660以及协议字段670。
源LUID610定义始发设备的逻辑单元识别码。分组ID字段620和序号字段630相结合,用于为图3的每个数据分组300提供一个唯一的ID。分组ID字段620从发出被接收片段的那个特定始发设备识别出一个数据分组。当分组ID号码被始发设备重复使用时,则需要用到序号字段630,以便把重复使用的分组ID与不同的数据分组300相联系。总片段字段640定义了构成指定数据分组的片段总数。片段号650定义了正在被接收的片段,而总组长字段660定义了数据分组在重新装配时的字节长度。协议字段670在下文所述的方法中被使用,用于确保按照本发明接收构成数据分组300的每个片段310。
图7示出含在图6的重新装配组的协议字段中和图9所示的PCB中的信息。如图所示,协议字段包括广播字段710,终端LUID字段712,数据流序号730,确认(ACK)时隙740,目的地业务接入点(DSAP)字段750,管理分组字段(mgt.pkt)760,目的地LUID字段770,以及确认(ACK)帧字段780。
广播字段710被用于CM到UM的传输。当被接收的分组是广播式的分组时,广播字段就被设定为逻辑1,否则就为逻辑0,用于识别非广播型的分组。广播型的分组被CM92的覆盖区域内的所有终端设备96接收和处理。另一方面,非广播型的分组被CM92覆盖区域内的一个经特别识别的终端所接收。
终端ID字段720存储一个值,该值是在一个业务UM94首次从一个新安装的终端设备96接收到一个数据分组时所分配的值。此后就用这个终端ID来识别该终端96。
数据流序号字段730存储UM94和CM92使用的一个号码,用于顺序接收数据分组,从而相对于始发的公共点保存其顺序关系。显然,这一个字段根据需要可以占有任意的位数N。按照本发明的最佳实施例,数据流序号字段730是一个6位场,可以提供从0-63即26范围内的序号。
ACK时隙740仅在从CM向UM传送一个分组时用于从UM到CM的确认程序。ACK时隙字段告知接收的UM在确认一个分组时应使用哪个ACK时隙。一旦一个片段被接收,就更新ACK时隙,使发送方能确定哪个片段需要重新传输,以及哪个缓冲器在相应的片段被接收之后可以开放。
DSAP字段750表示是否为系统业务或LAN应用指定被接收的分组。这能适当地把每个接收分组发送到正确的位置以做进一步处理。管理分组字段(mgt.pkt)760被用于指示该分组是否是一个简单网络管理协议(SNMP)组。
目的地LUID770表示UM的目的地地址。CM使用目的地LUID把分组中继到正确的目的地设备。
帧ACK字段780被用于UM到CM和CM到UM的确认程序。该字段指示出有多少连续的TDMA帧会包含与一个始发数据分组300有关的分裂的分组310。因此,它是供接收设备使用的,用于确定需要有多少个TDMA帧才能完全确认被传输的片段,因为每个TDMA帧只有一个ACK信号可用来对先前接收的与始发数据分组有关的片段进行接收确认。例如对所有片段都在单个TDMA帧中传输的一个数据分组来说,每个片段的ACK帧字段中为“1”。这向接收设备表明仅需编制一个ACK信号。对于在两个连续TDMA帧期间传输其片段的一个数据分组来说,在第一帧中传送的片段在ACK帧字段中将包含“2”,而在第二帧中传输的片段在ACK帧字段中将包含“1”。从而告诉接收设备需要编制两个ACK信号,用于传回始发端,两个连续的TDMA帧各有一个ACK信号。这样,包含在ACK帧字段780中的数字(即1-N,N为整数)可以告诉接收设备说必须按照ACK帧字段中的数字编制ACK信号,以便传输相同数量的连续TDMA帧。
图8示出在按照本发明进行分组管理时采用的组织结构。如图所示,传送分组消息数据,即图3中的片段312被存储在图8所示的数据存储器234内的各个数据缓冲器820中。由对应的传送分组控制信息311指示出各个片段312在数据存储器234内的存储位置。具体说就是,由图6的重新装配标题信息指出各个片段312在数据存储器234内的存储位置。在这一过程中,从以上结合图5所描述的虚电路ID510处获得的重新装配ID802被用于指向存储在控制存储器232中的多个重新装配寄存器810之一。多个重新装配寄存器810的使用允许在同一时间内重新装配来自多个始发设备的数据分组,其中的每一重新装配寄存器810对应一个唯一的源设备。
如图所示,重新装配寄存器810指定或寻址一个分组控制表812。就上述重新装配寄存器810来说,图6中的重新装配标题的分组ID804被用于寻址一个分组控制表的入口。需要强调的是,每个重新装配寄存器810对唯一的一个分组控制表812寻址。这样就允许同时对来自同一始发设备的多个数据分组进行重新装配。
分组控制表812指定或寻址一个供特定的分组ID820使用的分组控制块814-818。,由于来自一个始发设备的分组ID可以有多个,因此为每个被重新装配的数据分组提供了一个单独的分组控制块。因此,分组控制块是这样的一个点,在接收侧的该点上集中了有关数据分组重新装配和重新传输的所有信息,而在发送侧的该点上产生所有的控制信息。这里要指出的是,分组控制块814-818是供享的资源。
具有一排分组控制块可用于存储与一个新近接收的数据分组有关的信息。图2中的分组交换机140在需要时从这一排中取出一个分组控制块。图1的中央处理器110在重新装配过程结束时做出响应,使被取出的分组控制块回到原位。
每个分组控制块指向数据缓冲器820和一个片段位映象830,后者各自具有一个独立并且不同的存储位置(地址)。片段位映象830是一个特定数据分组中已被成功地接收的那些片段的映象。如果接收到了附加的片段,就更新每个位映象。数据缓冲器820是数据存储器234内的位置,其中存储了各个被接收的传输分组片段中的消息数据部分。
本发明的一个重要方面是提供了一种在分组数据网中用于确保分裂的分组可靠传送的方法。按照本发明,每个接收设备必须向源设备回传一个确认(ACK)信号,由源设备来识别有关的数据分组300,以及识别有关数据分组中的哪些片段312已经或尚未被接收。一旦接收到这一信息,源设备就可以重新传送任何丢失的信息,如果与始发数据分组有关的所有片段均已被接收设备接收并且ACK(确认),源设备就可以开放与该始发数据分组有关的系统资源。
按照本发明,源设备和接收设备通过公知的TDMA通信技术进行通信。按照最佳实施例,如果在当前的TDMA帧期间接收了一个数据分组的片段,就在随后的下一个TDMA帧期间确认该数据分组。图8的帧控制块(FCB)840被用于存储数据分组的有关信息,该数据分组的片段已在当前的帧期间被接收了。这一信息是由系统处理器存储和使用的,用于产生适当的ACK信号以便回传给源设备。ACK信号中包含构成所述数据分组的各个片段的状态信息。
图9示出了图8中FCB840的结构。如图9所示,FCB840可以由下述的信息字段构成。数据时隙可用字段841包含的信息表示有多少数据时隙可用于分配当前的一个TDMA帧。ACK时隙可用字段842包含的信息表示在下一个TDMA帧中有多少数据ACK时隙可供使用。数据时隙定位字段843包含的信息表示在当前的TDMA帧中已经分配了多少数据时隙。下一可用许可字段844包含的标志表示可用于传输一个带宽许可的下一个许可时隙。ACK排队开始字段845识别出下一个TDMA帧期间需要被确认(ACK)的第一个分组。ACK排队结束字段846识别出下一个TDMA期间需要被确认的(ACK)最后一个分组。
每个ACK排队字段845和846包含用于ACK产生过程的各个分字段。按照最佳实施列,每个ACK排队字段包含至少一个ACK帧分字段847和一个PCB指针字段848。ACK帧分组字段847表示为了正确地传输ACK需要多少个帧。PCB指针848指向保存有待确认的分组的有关信息。
按照本发明,用于传输的确认信号是这样编制的,即把图7的ACK帧字段780复制成图9的FCB840的ACK帧字段847。此外必须有一个指针从FCB字段848指向图8中适当的PCB814-818。然后,在每个TDMA帧的起点(帧开始),由图1b的系统处理器110检查保持在FCB中的确认信息,以编制一个ACK信号在下一个TDMA帧之内的适当时间内传输。以下将结合图12表示和说明这种ACK信号。按照本发明,由PCB指针848识别出来的PCB信息从指定的PCB(814-818)被复制成图12的ACK信号格式。然后把ACK信号回传给源设备用于处理。然后由图1b的系统处理器110检查ACK帧字段847,确定其是否含“1”。假定ACK帧字段847包含大于“1”的值,就必须编制附加的ACK信号。按这种方式,由图1b的系统处理器110使ACK帧字段847递减,然后在把指针848指定的被更新的PCB信息复制成下一个ACK信号之前等待下一个帧的开始。当编制完最后一个被传输的ACK信号时,即在ACK帧字段等于1时,不需要传输附加的ACK信号。这样就可以开放与始发数据分组有关的系统资源,以供其他处使用。如果已经接收和确认了与始发数据分组300有关的所有片段,系统处理器就会发送构成始发数据分组的数据,以便进一步处理,否则,就会启动图11中断控制字段中的下一个片断中断位,从而使系统处理器在接收到一个重新传输的片段时发生中断,按下述方式编制适当的ACK信号。
图12示出本发明的ACK信号格式和内容。如图所示,每个ACK信号1200包括一个Opcode(操作码)字段1202,最后ACK字段1204,源LUID字段1206,分组ID字段1208,序号字段1210,以及ACK位映象字段1212。Opcode字段1202表示一个ACK信号的传输。最后ACK字段1204被用于识别对应特定数据分组300的最后一个ACK信号。这样,当图7的ACK帧字段780等于1时,最后ACK字段1204就被设定为逻辑1。在其他所有条件下,最后ACK字段1204为逻辑0,表示需要有附加的ACK信号与数据分组相结合,该数据分组是通过从正受到确认的那个分组的PCB814-818中复制而成的源LUID字段1206,分组ID字段1208,序号字段1210及ACK位映象字段1212被识别的。此处的ACK位映象字段1212为构成始发数据分组300的每个0-N片段设有一个状态位。位映象位置0-N的逻辑1表示该片段已被接收,位映象位置0-N中的逻辑1表示重新传输该片段的请求。
源设备接收到上述ACK信号1200后就进行处理,以确定接收设备正确地接收了哪些构成始发数据分组的片段。其确定的方式是对片段位映象1212进行检查。假定接收设备已正确接收了所有的片段,源设备就开放与被正确接收的传输有关的所有系统资源。另一方面,若识别出任意一个因丢失或不清晰而需要重新传输的片段,源设备就分配附加的带宽资源,以便重新传输丢失的信息。这种确定通常是在接收到一个ACK信号之后进行,其中的最后ACK字段1204含有逻辑1,表示这一特定的数据分组不会再有其他的ACK信号。
当重新传输的片段到达接收设备时,图8的分组重新装配控制结构就响应在PCB中预先启动的中断标志,使图1b的中央处理器110中断。然后,处理器110就着手处理接收到的信息,完成始发数据分组的重新组装,并且额外编制另一个用于传输的ACK信号1200,用于确认重新传输的数据。
图10表示与图8的分组控制块814-818有关的字段。如上所述,分组控制块被用于在发送端收集一个数据分组的所有相关的控制信息,并且在接收端存储被批准的片段以及请求重新传输未被准确接收的片段,由此对重新装配进行控制。相应地,分组控制块的构成如下,即有一个源LUID字段,分组ID字段,序号字段,片段总数字段,接收片段字段,组长字段,协议字段,中断控制字段,片段位映象指针,多个数据片段指针,定时控制块指针,下一PCB指针,PCB保持计数器,缓冲存储器组合ID,编程片段字段,分组发送窗口字段,重试计数字段,请求ID字段及确认编制字段,另外还有广播天线计数字段,当前广播天线字段和天线目录字段。本领域中的熟练人员都知道,分组控制块中的大多数信息都可以从图6中所示被接收传送分组中的重新装配标题直接获取。这一信息是从构成数据分组的多个传送分组中首先被接收到的传送分组中获取的,而与首先被接收的传送分组中片段数量无关。一旦控制信息被存入分组控制块,仅把随后接收的一个传送分组的源LUID与驻留在重新装配标题中的信息相比较。如果有比较不准的情况,就不把该传送分组的片段与这一分组控制块共同存储。
按照这种方案,接收片段字段只是被成功接收的片段数量的计数。如果碰到重复的片段,则不会重复地计数。该字段最终要与片段总数字段相比较,以确定已接收到整个数据分组的时间。
接收片段位映象指针指向被接收片段的位映象830。每个位映象830被存储在图2的数据存储器234中。若成功地接收了一个片段,对应该片段的位映象位就被置于逻辑“1”。如上所述,在图6的重新装配标题中得到的片段号尽管未被存储,但仍然可以被编入接收片段位映象。如果位映象大于被接收片段的总数,无用的位将保持不变。数据片段指针字段的编号为O-M,M等于允许的最大片段数量,该指针指向图8的数据缓冲器820。每个被接收片段都有单个的数据缓冲器。而各个数据缓冲器是共享的资源。
当图8的分组重新装配控制结构判断出需要一个数据缓冲器时,它就会从数据缓冲器排队中提取一个数据缓冲器指针。该指针被存入与被接收片段相联系的分组控制块。如果被用于存储一个片段的数据缓冲器没有投入使用,中央处理器110就将取退回数据缓冲器排队。定时控制块指针指向用于管理重新装配定时器或分组传送的结构。F-PCB指针指向一个不同的重新装配PCB。它在以下场合使用,即当该PCB属于发送PCB库时,或是在为分组排队用于分组重新排列时的顺序处理中使用。PCB保持计数器字段被用于在同时进行多路处理时协调PCB的开放。在完成一项处理时,PCB保持计数器就使该字段的值递减。在完成最的一项处理时,PCB保持计数器就会将该字段减为零并开放该PCB。
缓冲存储器组合ID识别出连接到PCB上的缓冲器是否被分配给通过RF的接收或发送。下一编程片段字段包含的片段指针指向下一个被编程的数据片段。如果对所有片段均已完成了准备传输的编程,就设置这一字段,以便再次指示出第一片段。当前状态字段表示当前所处的状态是空闲还是等待,用于确认UM94。分组发送窗口字段包含的信息被用于对被发送的分组执行分组发送计时。重试字段监视为了这一分组已向CM92传送的请求次数,用于计算时间。
请求ID字段被用于安排映象输入许可,以便发出请求。ACK编制字段是一个布尔(Boolean)字段,它表示是否已为这一输入的分组编制了确认。最后的三个字段仅在CM92处使用,用于传送广播分组。广播天线计数CM天线的数量,至少有一个UM被分配给这些天线。当前广播天线被用于表示广播目录中的哪个CM天线目前正在工作。广播天线目录是一个阵列,其中包含CM天线的目录,至少有一个UM被分配给这些天线。
由于本发明的着眼于由图1的中央处理器110严格使用的协议字段,应该指出的是,图8的分组重新装配控制结构在重新装配的处理过程中没有使用协议字段中的任何信息。而仅是把该信息存储在适当的分组控制块中。
图11表示包含在图9所示的PCB中断控制字段中的信息。该中断控制字段被用于控制中央处理器的中断。由图8的分组重新装配控制结构可以产生的普通中断的例子有下一片段1120,序号变化1130,分组完成1140以及分组开始1150等中断。字段1110留做其它用途。如下所述,在中断排队入口的状态部分设置了一个中断位,用来指示造成中断的事件。分组控制块的中断控制字段包含用于启动及禁止各种中断的位。
在指定的分组控制块814-818的中断控制字段的指令下,分组重新装配控制结构采用分组重新装配中断排队(未示出)使处理器110中断。由重新装配硬件把入口送入中断排队,从而产生中断。这种入口至少包括指定的分组控制块814-818的地址和中断状态。处理器在一次中断期间可以处理若干个入口。
举例来说,当分组控制块中的下一片段中断位被启动时,就产生下一片段中断1120。该中断在需要重新传送一个片段时被使用。按照本发明,该中断通知处理器去编制一个传送确认信号,以便对重新传输的任何先前丢失的信息进行接收检验。如果启动了下一片段中断,就把分组控制块地址和中断状态送入分组重新装配中断排队,由此产生中断。
当具有分组ID的被接收传送分组的重新装配标题中的序号与存储在对应该分组ID的分组控制块中的序号不相等时,有关上述数据分组的所有片段尚未被全部接收,并且启动序号变化中断,在接收一个传送分组时,把分组重新装配标题中的序号与存储在对应该分组ID的分组控制块中的序号相比较。如果序号不同并且不是接收到的第一片段,就设置中断状态中的序号变化中断位。如果启动了序号变化中断,就会产生中断,把用于序号在前的那个分组的分组控制块地址和中断状态送入分组重新装配中断排队。序号的变化会使中央处理器记录该事件,停止重新装配计时器,并且恢复通过硬件开放有关的PCB和数据缓冲器所分配的资源。
分组完成中断1140是在一个分裂数据分组的所有片段均被接收并且启动了分组完成中断时产生的。中央处理器响应该中断,停止重新装配计时器,并且根据在上述中断过程中所编制的确认信号的命令发出重新传输的命令,传送重新装配的数据分组。在所有重新传送分组被接收之后,就更新接收顺序窗口。按照数据分组内包含的目的地信息对该分组做进一步处理。接收到的最后片段不一定是具有N个片段的数据分组中的第N个片段。在首次接收一个片段时,分组控制块中的接收片段字段就增值。如果接收片段字段等于片段计数的总数,并且启动了分组完成中断,就产生分组完成中断,把分组控制块的地址和中断状态送入分组重新装配中断排队。
如果首先接收到一个新数据分组的一个片段,无论其片段号如何,都产生分组开始中断1150。作为答复,系统处理器会设定一个重新装配计时器,在该时间内必须接收到有关新接收数据分组的所有片段,否则就会使重新装配失败。如果启动了分组开始中断,就会发生中断,把分组控制块的地址和中断状态送入分组重新装配中断排队。需要提出,在完全接收到该片段并且对分组控制块完成更新之前,图8的分组重新装配控制结构不会产生中断。
按照本发明和图13,提供了由系统处理器110执行的步骤流程图,用于编制传输的ACK信号1200。流程从开始框1300进到框1302,把图7协议字段中的ACK帧字段780复制成图9FCB840中的ACK帧字段847。在框1304把指针从图9中的FCB字段848送到与特定数据分组相关的适当的PCB814-818。然后,系统处理器110在框1306等待下一个TDMA帧的开始(即“帧开始”)。若在框1306检测到一个帧的开始,流程就进到框1308,由系统处理器110检查保存在FCB中的确认信息,以便确定ACK信号1200的格式,用于在随后的一个TDMA帧内的适当时间中进行传输。按这种方式,由PCB指针848识别的PCB信息从指定的PCB(814-818)被复制成图12的ACK信号格式。然后在框1310把格式已确定的ACK信号回传给源设备进行处理。
在框1312由系统处理器检查ACK帧字段847,以确定其值是否为“1”。假定ACK帧字段847所含的值大于“1”,就必须编制附加的ACK信号。这样,流程就从框1312进到框1314,由系统处理器110使ACK帧字段847递减。流程从框1314分支,回到1306,在把由指针848指定的更新的PCB信息复制成另一个ACK信号之前,系统处理器110在那里等待另一个帧的开始。
这一程序一直进行到最后ACK信号的传输编制被完成时为止,即直到ACK帧字段等于1为止。如果按照框1312的决定没有附加的ACK信号需要传输时,在框1316就开放有关该始发数据分组的所有系统资源用于其他用途。在框1318执行一个核查,以确定有关该始发数据分组300的所有片段是否已全部被接收并确认。假定所有分裂的分组已全被接收并确认,系统处理器在框1320就会把构成始发数据分组的数据送去进一步处理;否则,流程就进到框1322,启动图11中断控制字段的下一片段中断位,从而使系统处理器在接收到一个重新传输的片段时发生中断,编制适当的ACK信号,用于按照图13所描述的步骤重新传输数据。
如上所述,发送设备接收和处理每个ACK信号。若有任何未被确认的数据片段,源设备就执行分配附加带宽资源的处理,重新传输那些被认为是丢失了的片段。当重新传输的片段到达接收设备时,分组重新装配控制结构就会中断系统处理器110,因为预先已启动了下一片段中断位。然后,处理器110就对接收的信息进行处理,完成始发数据分组的重新组合,并且编制出传输的另一个ACK信号1200,用于确认这一重新传输的数据。