CN1642065A - 用于发送/接收自动重复请求的系统和方法 - Google Patents
用于发送/接收自动重复请求的系统和方法 Download PDFInfo
- Publication number
- CN1642065A CN1642065A CNA2004101033634A CN200410103363A CN1642065A CN 1642065 A CN1642065 A CN 1642065A CN A2004101033634 A CNA2004101033634 A CN A2004101033634A CN 200410103363 A CN200410103363 A CN 200410103363A CN 1642065 A CN1642065 A CN 1642065A
- Authority
- CN
- China
- Prior art keywords
- arq
- buffer
- frame
- transmission
- segmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/22—Arrangements affording multiple use of the transmission path using time-division multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/02—Channels characterised by the type of signal
- H04L5/023—Multiplexing of multicarrier modulation signals
Abstract
公开了一种在OFDM/TDMA终端中发送/接收用于纠错的ARQ和生成高速率帧的系统和方法。OFDM/TDMA终端的ARQ发送/接收系统包括:CPU,以软件方式发送数据分组到上层模块或从上层模块接收数据分组;ARQ发送/接收单元,用于接收数据分组,将数据分组分割成每个都有预定大小的多个分段并存储起来,在基于存储的分段信息生成帧时而生成帧,检查ARQ是否重传,并以硬件方式发送/接收该ARQ;接口缓冲器,用于存储在CPU和ARQ发送/接收单元之间发送的数据;分段缓冲器,用于存储由ARQ发送/接收单元生成的分段。
Description
这份申请要求基于2003年12月22日在韩国知识产权局提交的韩国申请2003-95000的优先权,并引入全文作为参考。
技术领域
本发明涉及一种用于发送/接收自动重复请求(ARQ)的系统和方法。尤其涉及一种在无线数据通信中发送/接收用于纠错的ARQ和在OFDM/TDMA终端中产生高速率帧的系统和方法。
技术背景
在无线数据通信的发送数据的过程中帧丢失或损坏时,纠正在无线数据通信中产生的错误的一种方法包括停和等ARQ方法、返回N次重复连续ARQ方法、选择-重复连续ARQ方法和混合ARQ方法。根据停和等ARQ方法,发射机发送单个帧,然后等待确认消息ACK。只有接收机安全接收到帧时,接收机才发送给发射机确认消息ACK,并且当帧出错时它发送否定确认消息NAK。如果是因为该帧损坏接收机没有接收到,接收机不发送任何信号给发射机,并且如果在预定的时间段没有信号到达发射机,发射机重新发送帧。停和等ARQ方法是简单容易的,但是它的发送效率会因为长的等待时间而恶化。
在返回-N次连续ARQ方法中,发送机发送基于窗口大小决定的一系列的帧。当该系列帧中的帧出错时,接收机将与出错帧有关的NAK消息发送给发射机,且不接收帧出错后被发送的帧。发送机重新发送NAK消息后的所有帧。
选择-重复连续ARQ方法是返回-N次连续ARQ方法的改进技术,它仅仅重新发送那些接收到NAK消息的帧。虽然选择-重复ARQ具有高的发送效率,但是出错帧后的那些帧被存储直到出错帧被重新发送,而这里需要的存储空间可能引起开销。
在申请号为2000-71225(2000年11月28日提交)的题目为“在移动通信系统中的高速度发射机及其控制方法”的韩国专利中公开了一种现有技术。该专利涉及一种使用卷积编码器和ARQ方法的高速率数据发射机及其控制方法,它可以不使发送速率恶化而获得可靠的高速率数据发送。特别地,该技术组合了卷积编码器和ARQ方法而减轻了发送速率的降低并获得可靠的数据发送,这样数据发射机就可应用于包括CDMA系统的各种高速通信系统中。而且,将常规物理层的卷积编码器与链路层的ARQ方法相结合可以提高发送速率并提供纠错功能。
而且,PCT/IB2001/00618公开了题目为“用于无线通信的物理层和链路层ARQ协议的合并”的另一种ARQ技术。该技术改进了常规的协议和算法以增加纠错功能和降低开销。特别地,该技术改进了物理层和链路层结构提供的自动错误恢复的算法,因此提供了一种无线链路中的强健的操作和具有极少额外开销的一种ARQ函数。
此外,韩国申请号为2002-49754(2002年8月22日提交)的申请公开了“ARQ发射机,ARQ接收机和ARQ方法”。该申请有关一种同步反馈发送方法,该方法没有异步发送方法具有高信号开销的缺点而具有灵活性。特别地,该专利减少了在同步发送方法中发送ACK和NAK响应消息的信号开销。在前向纠错块中的尾比特甚至作为在ARQ方法中需要的帧识别号以减少开销数据的数量。也就是说,该专利提供一种发射机,一种接收机和一种方法,允许没有信号开销的ACK和NAK消息的灵活定时,使得可操作具有长处理时间和短处理时间的不同种类的接收机。
同时,上述ARQ算法可用软件或硬件实现。例如,诸如WCDMA类的系统使用选择-重复连续ARQ方法,该方法用软件在RLC层实现。在一个可使用简单的ARQ结构的系统中用硬件来实现ARQ算法。
然而在选择-重复连续ARQ方法和返回-N次连续ARQ方法的混合方法用于高速率OFDM/TDMA终端的情况下,当ARQ算法用软件实现时,满足生成帧的定时要求是困难的。虽然高速率OFDM/TDMA终端的接收机有较低的定时要求,但是它需要很多用于处理ARQ的存储器。因此,软件ARQ可以具有很多优势。
此外,在高速率OFDM/TDMA终端中给予帧生成时间的要求依赖于帧周期。也就是说,当OFDM/TDMA系统的运行速度增加时帧生成时间减少。另外,整个帧周期被分成下行链路帧时间和n个上行链路帧时间。为了在下行链路帧时间期间接收和发送数据,在上行链路帧的信息应被提取出来生成上行链路帧,从而发送数据。这里,除了调制解调器发送/接收时间外,一个终端使用的实际帧时间只不过1至3ms。当系统的运行速度增加时实际的帧时间变少。在这种情况下,当ARQ算法和帧生成器都用软件构成时,满足定时要求是困难的。
发明内容
本发明的一个目的是提供一种发送/接收ARQ的系统和方法,可以满足用于生成帧的高速率OFDM/TDMA终端的定时要求,并可以生成高速率帧以发送高速率数据。
本发明的另一个目的是提供一种发送/接收ARQ的系统和方法,可在OFDM/TDMA终端的FPGA中用硬件构造,以提供无线数据通信中的纠错和生成高速率帧的功能。
然而,本发明的另一个目的是提供一种发送/接收ARQ的系统和方法,可以在无线数据通信中提供纠错功能,容易构造需要较低定时要求的接收部件,并且可以减少FPGA或外部硬件中使用的存储容量的数量。
本发明的另一个目的是提供一种发送/接收ARQ的系统和方法,当选择-重复连续ARQ方法用软件实现时可以减少额外的定时器开销。
本发明的另一个目是一种OFDM/TDMA终端的ARQ发送/接收系统,包括:中央处理单元,以软件的方式发送数据分组到上层(upper)模块或从上层模块接收数据分组;ARQ发送/接收单元,用于接收数据分组,将数据分组分割成每个都有预定大小的多个分段并存储起来,在基于存储的分段信息生成的帧时生成帧,检查ARQ是否重传(retry),并以硬件的方式发送/接收所述的ARQ;接口缓冲器,用于存储在中央处理单元和ARQ发送/接收单元之间发送的数据;分段缓冲器,用于存储由ARQ发送/接收单元生成的分段。
这里,数据分组是从上层模块接收的并存储的服务数据单元(SDU)或者是介质访问控制的协议数据单元(PDU)。
该ARQ发送/接收系统可进一步包括用于存储将从终端发送到基站的上行链路帧数据的帧缓冲器和用于存储从基站发送到终端的下行链路帧数据的下行链路缓冲器。
中央处理单元具有包括MAC发射机软件和MAC接收机软件的程序存储单元。MAC发射机软件接收来自上层模块的SDU并将SDU存储在接口缓冲器中。MAC接收机软件接收来自ARQ发送/接收单元的PDU,并执行ARQ接收和MAC PDU处理。
ARQ发送/接收单元包括分组分割器,用于接收来自中央处理单元的SDU,并将该SDU分割成每个都有固定大小的多个分段;地址管理器,用于将分段缓冲器当前的状态报告给帧生成器,每当帧缓冲器中存储了新的分组时,地址管理器的尾指针都会被分组分割器更新,当分段缓冲器发送数据时地址管理器的头指针被更新;帧生成器,被地址管理器通知当前分段上的信息并使用分段信息生成帧;重传管理器,用于存储分段信息,增加分段缓冲器的头指针,将超出时间标记值的分段信息移到重传缓冲器中,并丢弃被重传预定次的分段信息;接收机模块,发送接收到的来自基站的除了ARQ响应消息之外的MAC PDUs中的PDUs;ARQ响应缓冲器,接收来自接收机模块的ARQ响应消息并将其存储,以及将该ARQ响应消息发送至重传管理器。
该ARQ发送/接收系统可进一步包括管理消息处理模块,其接收来自中央处理单元的用于不允许分段的管理消息,并将其存储,以及将该管理信息发送给帧生成器。
管理消息处理模块通知帧生成器当前管理消息的信息,并用该信息生成帧。另外,帧生成器将生成的帧存储于帧缓冲器中,然后将ARQ业务上的分段信息发送给重传管理器。而且,帧生成器以硬件的形式被构建在FPGA里,使用分段信息以硬件的方式生成帧。
重传管理器包括存储分段信息的ARQ缓冲器,重传管理器使用接收机模块发送的ARQ ACK消息来确定是否存储在ARQ缓冲器中的每个消息已被正确地发送。另外,在ARQ支持业务流量的情况下,重传管理器存储具有当前被存储的缓冲器的地址和被存储的时间标记值的发送ARQ头标。
这里,重传管理器周期性搜索被存储的发送ARQ头标,以更新时间标记值,存储时间标记值大于重传缓冲器中的重传时间的发送ARQ头标。而且,当ARQ响应消息存储在ARQ响应缓冲器时,重传管理器使用ARQ响应消息搜索发送ARQ头标缓冲器以检查是否有ACK响应,根据ARQ算法前向传送发送窗口值,并擦除缓冲器的内容。
分组分割器使地址管理器更新存储的地址值。
地址管理器包括尾指针和头指针被更新的循环队列。另外,地址管理器不存储大于10比特的存储器地址值,并且它使用存储器地址值的上端比特的一部分作为头指针和尾指针。
在帧生成请求生成前,发射机软件将SDU存储在接口缓冲器中,该缓冲器位于中央处理单元和ARQ发送/接收单元之间。
本发明的另一个方面,是一种OFDM/TDMA终端系统的ARQ发送/接收方法,该方法包括:
a)将从上层模块接收的SDU存储于相应的缓冲器中;
b)当相应的缓冲器具有足够的容量时,将SDU存储在接口缓冲器中;
c)当ARQ被使能时,判断分段缓冲器是否有充足的容量;
d)当分段缓冲器有充足的容量时,将SDU分割为多个分段;
e)将这些分段存储在相应的地址中,并根据分段的地址的变化更新地址管理器;
f)判断是否有生成帧的请求,并生成帧;
g)根据所述帧发送/接收ARQ。
这里,有关分段的信息包括序列号、时间标记、重传次数和被存储的地址。
其中d)步骤包括计算存储的地址指针值,将SDU分割成每个有固定大小的分段。
其中d)步骤可进一步包括在SDU被分割为分段后,将有关存储了分段的地址的值插入由循环队列的尾指针指定的队列中;;存储这些值于地址管理器中;当帧被请求而生成时,从循环队列的头指针开始取回分段。其中f)步骤包括判断是否有帧生成请求,以及当有帧生成请求时,从地址管理器和重传管理器接收当前的分段信息;判断是否有分段被发送,当有分段被发送时,取回那个分段并生成PDU分组;将分段信息存储于重传管理器;判断是否有分段存储在重传缓冲器中,当有分段存储在重传缓冲器时,从重传缓冲器中取出分段信息;并且从分段缓冲器中取回相应的分段以生成PDU分组。
其中f)步骤可进一步包括以硬件的方式生成帧,且存储与已被发送的帧上信息有关的头指针位的信息;周期性地更新时间标记值;当帧信息变得多于预定的值时,再次将该帧信息存储于重传缓冲器中;当帧生成时,使用该帧信息重新发送分段。
根据本发明,ARQ发送/接收系统包括硬件帧生成器,硬件ARQ发射机和软件ARQ接收机。传递给上层模块的数据使用硬件发送、分割和存储。生成帧之后,帧生成器执行ARQ操作。软件接收机发送PDU到上层模块以使得软件处理模块处理该PDU。因此,OFDM/TDMA终端可以生成高速率的帧,并提供纠错的功能。另外,ARQ发送/接收系统容易被构造在具有较低定时要求的部件中。
附图说明
附图和说明书一体构成说明书的一部分。附图示出本发明的实施例,并结合描述文字部分对本发明的原理进行解释:
图1是传统OFDM/TDMA系统的帧的结构;
图2是根据本发明实施例的OFDM/TDMA终端的配置,它包括硬件ARQ发射机、软件ARQ接收机和硬件帧生成器;
图3是根据本发明实施例的在中央处理单元里的软件的结构图,它包括发射机软件和接收机软件;
图4是根据本发明实施例的FPGA的配置,它包括硬件ARQ发射机和帧生成器;
图5是根据本发明实施例的通过循环队列对分段缓冲器的管理;
图6是根据本发明实施例的硬件ARQ发射机和帧生成器的内部处理过程;以及
图7a和7b是根据本发明实施例的帧生成处理的流程图。
具体实施方式
在下述详细说明中,简单通过描述本发明的发明人期望的最好模式的方法,仅仅本发明的优选实施例被示出和描述。如公知的,本发明可以在各种显而易见的没有偏离本发明方面进行修改。因此,附图和文字说明被认为实际上是例证性的,而不是限制性的。为了阐明本发明,省略了那些没在说明书中描述的部分,给出的相似描述部分具有相同的参考数字。
根据本发明实施例的用于发送/接收ARQ的系统包括OFDM/TDMA终端中的硬件帧生成器、硬件ARQ发射机和软件ARQ接收机。
图1示出了一般OFDM/TDMA终端的帧的结构。参照图1,帧包括MAP110、下行链路数据区120和上行链路数据区130。在802.16 OFDM/TDMA终端中,每个帧被分成上行链路区130和下行链路区120。基站通过下行链路区120发送数据。每一终端识别从位于每个区前的下行链路映射(map)数据对应到此的数据,并接收该数据。
将要发送给基站数据的终端使用上行链路映射数据确定是否有被分配到这里的带宽。当有带宽分配给终端时,终端在被分配的部分发送帧。这里,全部帧周期被分成下行链路区和上行链路区。由于一般的网络数据的不对称性,下行链路区比上行链路区长。但是,随着OFDM/TDMA系统的运行速度的提高,从终端发送到基站的帧的周期会变短。
在OFDM/TDMA系统中,每当终端有数据发送时,终端请求基站分配带宽,终端在基站允许的范围内发送数据。
因为在接收每个下行链路帧和包括上行链路帧信息的上行映射数据后,仅仅得知分配给每个终端带宽的信息,所以很难获得上行链路的定时要求。因此,在高速率TDMA系统中的帧周期以ms为单位,对于需要识别帧结构生成符合该结构的帧并发送该帧来说,帧周期是非常短的。
在上述TDMA系统以软件构造的情况下,当TDMA系统的运行速度提高时很难满足定时要求。这是因为需要一个很长的周期来发送数据到中央处理单元和包括外部存储器的外部I/O设备,或从中接收数据。因此,如果在帧生成请求被发送给系统之前数据被下载到硬件中,数据可以以较高的速率发送。
图2示出根据本发明的实施例,包括硬件ARQ发射机、软件ARQ接收机和硬件生成器的OFDM/TDMA终端的结构。参照图2,根据本发明的ARQ发送/接收系统包括中央处理单元210、现场可编程门阵列(FPGA)230、接口缓冲器220、分段缓冲器240、帧缓冲器260和下行链路缓冲器250。中央处理单元210以软件方式发送数据分组到上层模块或从上层模块接收数据分组。FPGA 230接收该数据分组,将其分割成每个具有预定大小的分段并存储这些分段。另外,FPGA230以硬件方式在基于存储的分段的信息生成帧时生成帧、检查是否ARQ被重传、并发送/接收该ARQ。接口缓冲器220存储中央处理单元210和FPGA 230之间传输的数据。分段缓冲器240存储在FPGA 230中生成的分段。帧缓冲器260存储要从终端发送到基站的上行链路帧数据。下行链路缓冲器250存储从基站发送到终端的下行链路数据。
这里,数据分组是来自上层模块并存储的服务数据单元(SDU)或者是介质访问控制的协议数据单元(PDU)。
中央处理单元210具有包括介质访问控制(MAC)发射机软件211和MAC接收机软件212的程序存储单元。MAC发射机软件211接收来自上层模块的SDU,并将接收的SDU存储在接口缓冲器220中。MAC接收机软件212接收来自FPGA230的PDU,以接收ARQ和介质访问控制PDU。
如图2所示,根据本发明实施例的ARQ发送/接收系统,考虑到高速率TDMA系统的定时要求和存储要求以及构造本系统的容易程度,被设计成分成硬件部分和软件部分。
发送方包括用于发送用户数据的硬件部分和软件部分,软件部分将在帧生成之前从上层模块传送的数据发送给硬件部分。接收方由软件处理大部分功能。由于接收方的定时要求不这么严格,简单的操作使用硬件处理。
为了容易在硬件上处理数据,所有发送给硬件的数据被分割成每个具有预定大小的分段,并将其存储在独立的分段缓冲器240中。这里,将要从终端发送到基站的上行链路帧存储于帧缓冲器260中。一般说来,数据报被封装成物理网络帧的格式,以便发送出去。在物理网络要发送的单个帧的最大长度被称为网络的最大发送单元(MTU)。既然物理网络具有不同的MTU,大的数据报被分割以适合具有最小MTU的网络的方式发送出去。分割后的数据报是每个具有分段头标的分段。
图3是根据本发明实施例的在中央处理单元里的软件的结构,包括发射机软件和接收机软件。为了方便解释,软件结构被认为是由包括软件、缓冲器和处理器构成的。
参照图2和图3,ARQ接收机的处理操作符合一般的ARQ算法,于是这里省略了详细解释。
图3所示的MAC发送/接收软件320由MAC发射机软件211,MAC接收机软件212和驱动程序340组成。MAC发射机软件211可包括SDU缓冲器321、管理缓冲器322、和管理消息/SDU处理模块323。MAC发射机软件211仅仅执行将从上层模块310发送的数据存储在位于中央处理单元210和FPGA230之间的接口缓冲器220中以及通知FPGA230数据被存储在接口缓冲器220中的操作。也就是说,如上所述,在帧生成之前,发射机软件211仅仅将来自上层模块的数据发送到硬件。虽然在生成帧请求生成之前发射机软件211将SDU存储在接口缓冲器220中,但是要用硬件方式把SDU分成分段。
MAC接收机软件212包括接收缓冲器331、ARQ接收机、MAC PDU处理器332和MAC PDU缓冲器333。如上所述,接收方的软件处理部分处理了大部分的功能,因为接收方的定时要求不这么严格,所以它的硬件部分仅仅处理简单的操作。
图4示出了根据本发明的实施例的包括硬件ARQ接收机和帧生成器的FPGA结构。根据本发明的实施例的ARQ发射机和接收机以硬件形式构造于FPGA230中。
参照图4,FPGA230包括硬件发射机和帧生成器418。数据分组被存储在位于中央处理器210和FPGA230之间的接口缓冲器220中,它可在生成当前帧的时刻前被分组分割器411访问。存储的数据分组被分组分割器411分割成每个具有预定大小的分段,分段存储于分段缓冲器240中。这里,生成包括序列号和分段长度的子头标,并存储在分段缓冲器240中。
帧生成器418接受帧生成请求,接收当前通过地址管理器415和管理消息处理模块413发送的数据信息,以生成帧。
接收机模块414的业务接收机接收ARQ响应消息,存储接收到的ARQ响应消息于ARQ缓冲器416-1中(如图6所示),并通知重传管理器416该ARQ消息被存储于ARQ缓冲器中。这里,重传管理器416周期性搜索存储在ARQ缓冲器416-1中的发送ARQ头标以更新时间标记值,当存在具有时间标记值大于重传时间的发送ARQ头标时,将该发送ARQ头标移到重传缓冲器417-1中(如图6所示)。
当ARQ响应消息存储于ARQ响应缓冲器417时,重传管理器416使用ARQ响应消息搜索ARQ缓冲器中的头标来检查有没有ARQ响应。对于确认信号ACK已被接收到的分段,重传管理器416擦除来自ARQ缓冲器的相应的分段头标,并发送结果给地址管理器415以更新地址管理指针,也就是说,与分段缓冲器240相关的头指针。
特别地,如图4所示的根据本发明的FPGA230包括分组分割器411、分段模块412、管理信息处理模块413、接收机模块414、地址管理器415、重传管理器416、ARQ响应缓冲器417和帧生成器418。
分组分割器411从中央处理单元210接收SDU,将其分割成每个具有固定大小的分段。这里,分组分割器411使地址管理器415更新存储的地址值。每当有新的分组存储于分段缓冲器240时,分组分割器411更新地址管理器415的尾指针。地址管理器415将分段缓冲器的当前状态报告给帧生成器418。当分段缓冲器240发送数据时,帧生成器更新地址管理器415的头指针。
地址管理器415包括具有被更新的尾指针和头指针的循环队列。而且,地址管理器415不存储大于10位的存储器地址值,以及使用存储器地址值的一部分上部位作为头指针和尾指针。
帧生成器418接收来自地址管理器415的当前分段的信息,使用分段信息来生成帧。帧生成器418将生成的帧存储在帧缓冲器中,然后将ARQ业务上的分段信息发送给重传管理器416。帧生成器418以硬件方式构造在FPGA430的内部,以及使用分段信息以硬件方式生成帧。优选地,分段信息是序列号、时间标记、重传的次数或被存储的地址。
重传缓冲器416存储分段信息,并增加分段缓冲器240的头指针。另外,重传管理器416将超出时间标记值的分段信息移到重传缓冲器417-1,丢弃那些重传预定次数的分段信息。而且,重传管理器416包括存储分段信息的ARQ缓冲器416-1。重传管理器416使用由接收机模块414传送的ARQ ACK消息来确定是否在ARQ缓冲器416-1中的每个消息已经被正确发送。
此外,在ARQ支持业务流量的情况下,重传管理器416存储具有当前被存储的缓冲器的地址和被存储的时间标记值的发送ARQ头标于ARQ缓冲器416-1中。重传管理器416周期性搜索被存储的发送ARQ头标以更新时间标记值,并存储时间标记值大于重传时间的发送ARQ头标于重传缓冲器417-1中。
当ARQ响应消息被存储于ARQ响应缓冲器417时,重传管理器416使用ARQ响应消息搜索ARQ头标缓冲器以检查是否有ACK响应。然后,重传管理器416根据ARQ算法前向传送发送窗口值,并擦除相应的缓冲器的内容。
接收机模块414发送给中央处理单元210从基站接收的除了ARQ响应消息之外的MAC PDUs中的PDUs。也就是说,接收机模块414的业务接收机发送给中央处理单元210除了ARQ响应消息之外的数据分组。接收ARQ和处理MAC PDU的MAC接收机软件212根据ARQ算法组合分段,并将组合的分段发送给上层模块310。
ARQ响应缓冲器417接收来自接收机模块414的ARQ响应消息、存储该ARQ响应消息、然后将该ARQ响应消息发送给重传管理器416。
管理消息处理模块413接收来自中央处理单元210的用于不被允许分段的管理消息、存储该管理消息、并发送该管理消息给帧生成器418。这里,帧生成器418从管理消息处理模块413接收当前管理消息的信息,使用该信息生成帧。
图5是根据本发明的实施例使用循环队列对分段缓冲器的管理的图。分组分割器411、地址管理器415和帧生成器418处于分段缓冲器240的管理之中。这里,使用循环队列管理分段缓冲器240。
参照图5,分段缓冲器240应被分组分割器411和帧生成器418稳定地同时访问。而且,分段缓冲器240根据存储器管理具有完整性。也就是说,分段生成器418和分段消费者被认为具有相同的存储器管理地址。据此,需要循环队列存储器管理。
如图5所示,分组分割器411从中央处理单元210接收数据,将该数据分成每个具有预定大小的分段,并存储这些分段。另外,分组分割器411仅仅更新地址管理器415的尾指针。
帧生成器418从头指针开始耗尽这些分段以生成帧,将结果发送给地址管理器415以更新头指针。由于头指针仅仅被帧生成器418更新,并且尾指针仅仅被分组分割器411更新,那么在分段缓冲器240中的存储器的一致性就得以保持。
图6示出了根据本发明的实施例的硬件ARQ发射机和帧生成器的内部处理过程。图6示出了重传管理器416存储和管理具有那些相应的分段而不是当前被发送的所有分段的最小信息的头标,以减小ARQ处理所消耗的存储器的数量。
首先,帧生成器418发送分段缓冲器240的分段,接着将与分段发送的信息传送给重传管理器416。重传管理器416从帧生成器418接收与被发送的分段相关的当前时间标记值和序列号以及与分段缓冲器240相关的被存储的地址值,并存储和管理它们。
在重传管理器416存储被存储的地址值之后,重传管理器416周期性增加时间标记值,并将来自ARQ缓冲器416-1的大于预定值的分段消息发送给重传缓冲器417-1。
帧生成器418参考重传管理器416中的重传缓冲器417-1的内容和来自地址管理器416的信息生成帧。已被发送的重传缓冲器417-1上的信息再次被存储于重传管理器416的ARQ缓冲器416-1中。这里,重传计数值增加,并且当重传计数值大于预定值时,丢弃该重传计数值。
接收机模块414将ARQ反馈信息发送给ARQ响应缓冲器417,发送除了ARQ反馈信息之外的MAC PDU信息给上行链路缓冲器250。
图7a和7b是根据本发明的实施例的生成具有上述结构的帧的流程图。帧生成处理包括在发射机软件211中的处理、在分组分割器411中的处理和在帧生成器418中的处理。
参照图7a,在步骤S701中,发射机软件211从上层模块接收SDU,在步骤S702将该SDU存储在SDU缓冲器321中。然后,在步骤S703发射机软件211判断CPU210和FPGA230中的缓冲器是否具有足够的容量。当这些缓冲器具有足够的容量时,发射机软件211在S704步骤将该SDU存储于接口缓冲器220中。
接着,在S705步骤分组分割器411判断是否有ARQ被使能。当ARQ不被使能时,分组分割器411在S706步骤连到非-ARQ被使能的状态,并且当ARQ被使能时,分组分割器411在S707步骤判断分段缓冲器240是否具有足够的容量。如果分段缓冲器240没有足够的容量,在S708步骤中分组分割器411被临时中断。
当分段缓冲器240具有足够的容量时,分组分割器411在S709步骤计算被存储的地址指针值,在S710步骤将SDU分割为每个具有固定大小的分段。接着,分组分割器411在S711步骤将这些分段存储在相应的地址中,以及在S712步骤基于分段地址的变化更新地址管理器415。
参考图7b,在S713步骤帧生成器418判断是否有帧生成请求。当有帧生成请求时,在S714步骤,帧生成器418从地址管理器415和重传管理器416接收当前的分段信息。接着,在S715步骤帧生成器418判断是否有将被发送的分段。当有分段时,在S716步骤帧生成器418取出来自分段缓冲器240的分段,并生成PDU分组。
然后,在S717步骤,帧生成器418将当前序列号和被存储地址的分段存储于重传管理器416。接着,在S718步骤帧生成器418判断是否分段被存储在重传缓冲器417-1中。当分段被存储在重传缓冲器417-1时,在S719步骤帧生成器418从重传缓冲器417-1中取出分段信息,从分段缓冲器240中取回该分段,并生成PDU分组。
如上所述,本发明容易用硬件构造帧生成器418和ARQ发射机231,用软件构造PDU处理器和ARQ接收机332,以产生高速率的帧。
结合当前被认为最可行和优选的实施例描述了本发明,可以理解本发明并不局限于公开的实施例,相反地,它可以覆盖包含在所附权利要求的范围和精神之内的各种修改和等同物。
根据当前发明,具有小于几ms的运行速度的OFDM/TDMA终端可以以高的速度生成上行链路帧。而且,用硬件构造可用于纠错的ARQ发射机,以及用硬件处理被初始发送的帧和重传的帧,从而可以生成高速率的帧。再者,用少的存储容量可维持ARQ发射机。另外,用软件构成ARQ接收机可以降低FPGA中的接收部分使用的存储器的数量。
Claims (25)
1.一种OFDM/TDMA终端的ARQ(自动重复请求)发送/接收系统包括:
中央处理单元,以软件的方式发送数据分组到上层模块或从上层模块接收数据分组;
ARQ发送/接收单元,用于接收数据分组,将数据分组分割成每个都有预定大小的多个分段并存储起来,在基于存储的分段信息生成帧时而生成帧,检查ARQ是否被重传,并以硬件的方式发送/接收该ARQ;
接口缓冲器,用于存储在中央处理单元和ARQ发送/接收单元之间发送的数据;以及
分段缓冲器,用于存储由ARQ发送/接收单元生成的分段。
2.根据权利要求1所述的ARQ发送/接收系统,其中所述数据分组是来自上层模块或被存储的服务数据单元,或者是介质访问控制的协议数据单元。
3.根据权利要求1所述的ARQ发送/接收系统,进一步包括帧缓冲器,用于存储从所述终端发送到基站的上行链路帧数据。
4.根据权利要求1所述的ARQ发送/接收系统,进一步包括下行链路缓冲器,用于存储从基站发送到终端的下行链路帧数据。
5.根据权利要求1所述的ARQ发送/接收系统,其中,中央处理单元具有包括MAC发射机软件和MAC接收机软件的程序存储单元,MAC发射机软件接收来自上层模块的SDU,并将SDU存储于所述接口缓冲器,MAC接收机软件接收来自ARQ发送/接收单元的PDU,并执行ARQ接收和MAC PDU处理。
6.根据权利要求1所述的ARQ发送/接收系统,其中,所述ARQ发送/接收单元包括:
分组分割器,用于接收来自中央处理单元的SDU,并将该SDU分割成每个都有预定大小的多个分段;
地址管理器,用于将所述分段缓冲器的当前状态报告给帧生成器,每当帧缓冲器中存储新的分组时,地址管理器的尾指针都会被分组分割器更新,当分段缓冲器发送数据时地址管理器的头指针被更新;
帧生成器,由地址管理器通知当前分段上的信息并使用分段信息生成帧;
重传管理器,用于存储分段信息、增加分段缓冲器的头指针、将超出时间标记值的分段信息移到重传缓冲器中、以及丢弃被重传预定次数的分段信息;
接收机模块,发送从基站接收的除了ARQ响应消息之外的MAC PDUs中的PDUs;以及
ARQ响应缓冲器,接收来自接收机模块的ARQ响应消息并将其存储,以及将该ARQ响应消息发送至重传管理器。
7.根据权利要求6所述的ARQ发送/接收系统,进一步包括管理消息处理模块,接收来自中央处理单元的不允许分段的管理消息并将其存储,以及将该管理消息发送给帧生成器。
8.根据权利要求7所述的ARQ发送/接收系统,其中,由所述管理消息处理模块通知帧生成器当前管理消息上的信息,帧生成器使用该信息生成帧。
9.根据权利要求6所述的ARQ发送/接收系统,其中,帧生成器将生成的帧存储于帧缓冲器中,然后将ARQ业务的分段信息发送给重传管理器。
10.根据权利要求6所述的ARQ发送/接收系统,其中,重传管理器包括存储分段信息的ARQ缓冲器。
11.根据权利要求10所述的ARQ发送/接收系统,其中,重传管理器使用从接收机模块发送的ARQ ACK消息来确定是否存储在ARQ缓冲器中的每个消息已正确地发送。
12.根据权利要6所述的ARQ发送/接收系统,其中,在ARQ支持业务流的情况下,重传管理器存储具有当前被存储的缓冲器的地址和被存储的时间标记值的发送ARQ头标。
13.根据权利要求12所述的ARQ发送/接收系统,其中,所述重传管理器周期性搜索被存储的发送ARQ头标以更新时间标记值,并将时间标记值大于重传时间的发送ARQ头标存储于重传缓冲器。
14.根据权利要求12所述的ARQ发送/接收系统,其中,当ARQ响应消息存储在ARQ响应缓冲器时,重传管理器使用ARQ响应消息搜索发送ARQ头标缓冲器以便检查是否有ACK响应、根据一种ARQ算法前向传送发送窗口值、以及擦除该缓冲器的内容。
15.根据权利要求6所述的ARQ发送/接收系统,其中,所述分组分割器使地址管理器更新存储的地址值。
16.根据权利要求6所述的ARQ发送/接收系统,其中,所述地址管理器包括更新了尾指针和头指针被的循环队列。
17.根据权利要求16所述的ARQ发送/接收系统,其中,所述地址管理器不存储大于10比特的存储器地址值,它使用存储器地址值的上端比特的一部分作为头指针和尾指针。
18.根据权利要求5所述的ARQ发送/接收系统,其中,在生成帧生成请求前,所述发射机软件将SDU存储在接口缓冲器中,该缓冲器位于中央处理单元和ARQ发送/接收单元之间。
19.一种OFDM/TDMA终端系统的ARQ发送/接收方法,该方法包括:
a) 将从上层模块接收的SDU存储于相应的缓冲器中;
b) 当相应的缓冲器具有足够的容量时,将SDU存储在接口缓冲器中;
c) 当ARQ被使能时,判断分段缓冲器是否有充足的容量;
d) 当分段缓冲器有充足的容量时,将SDU分割为多个分段;
e) 将这些分段存储在相应的地址中,并根据分段的地址的变化更新地址管理器;
f) 判断是否有帧生成请求,并生成帧;以及
g) 根据所述帧发送/接收ARQ。
20.根据权利要求19所述的ARQ发送/接收方法,其中,在分段上的信息包括序列号、时间标记、重传次数和被存储的地址。
21.根据权利要求19所述的ARQ发送/接收方法,其中,d)步骤包括计算存储的地址指针值,将SDU分割成每个有固定大小的多个分段。
22.根据权利要求21所述的ARQ发送/接收方法,其中,d)步骤进一步包括:
在SDU被分割为分段后,将有关存储了分段的地址的值插入由循环队列的尾指针指定的队列中;
存储这些值在地址管理器中;以及
当有帧生成时,从循环队列的头指针开始取回分段。
23.根据权利要求19所述的ARQ发送/接收方法,其中,f)步骤包括:
判断是否有帧生成请求,当有帧生成请求时,从地址管理器和重传管理器接收当前的分段信息;
判断是否有被发送的分段,当有被发送的分段时,从分段缓冲器取回所述分段并生成PDU分组;
将所述分段信息存储于重传管理器;
判断分段是否存储在重传缓冲器中,当所述分段存储在重传缓冲器中,从重传缓冲器中取出分段信息;以及
从分段缓冲器中取回相应的分段以生成PDU分组。
24.根据权利要求19所述的ARQ发送/接收方法,其中,f)步骤进一步包括:
以硬件的方式生成帧,且存储与已发送的帧的信息有关的头指针的部分比特的信息;
周期性地更新时间标记值;
当帧信息变得大于预定的值时,再次将该帧信息存储于所述重传缓冲器中;以及
当生成帧时,使用该帧信息重传分段。
25.根据权利要求19所述的ARQ发送/接收方法,进一步包括:
从基站接收ARQ响应消息;
发送所述ARQ响应消息给重传管理器;
删除已接收到确认消息的分段信息;以及
更新地址管理器中的分段地址。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20030095000 | 2003-12-22 | ||
KR0095000/2003 | 2003-12-22 | ||
KR1020040035543A KR100612654B1 (ko) | 2003-12-22 | 2004-05-19 | 자동 재송신 요청을 위한 프레임 생성 장치 및 방법 |
KR0035543/2004 | 2004-05-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1642065A true CN1642065A (zh) | 2005-07-20 |
Family
ID=34742213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004101033634A Pending CN1642065A (zh) | 2003-12-22 | 2004-11-20 | 用于发送/接收自动重复请求的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050152350A1 (zh) |
CN (1) | CN1642065A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007104261A1 (fr) * | 2006-03-15 | 2007-09-20 | Huawei Technologies Co., Ltd. | Procede et systeme de soutien de traitement en cascade par segmentation de retransmission de paquets |
CN101039228B (zh) * | 2006-03-16 | 2010-05-12 | 华为技术有限公司 | 一种数据包头优化方法 |
CN101385268B (zh) * | 2006-01-05 | 2013-09-11 | 诺基亚公司 | 一种用于通信系统的灵活分段的方法和设备 |
CN103516492A (zh) * | 2012-06-18 | 2014-01-15 | 中兴通讯股份有限公司 | 数据缓存方法及装置 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE485650T1 (de) | 2000-08-30 | 2010-11-15 | Tmt Coaxial Networks Inc | Verfahren und system fur ein hausnetzwerk |
US8724485B2 (en) | 2000-08-30 | 2014-05-13 | Broadcom Corporation | Home network system and method |
US9094226B2 (en) * | 2000-08-30 | 2015-07-28 | Broadcom Corporation | Home network system and method |
KR100600607B1 (ko) * | 2004-12-14 | 2006-07-13 | 한국전자통신연구원 | 무선 휴대 인터넷 시스템에서 arq 제어 장치 및 제어방법 |
US7631097B2 (en) * | 2005-07-21 | 2009-12-08 | National Instruments Corporation | Method and apparatus for optimizing the responsiveness and throughput of a system performing packetized data transfers using a transfer count mark |
WO2007042864A1 (en) * | 2005-10-14 | 2007-04-19 | Freescale Semiconductor, Inc. | Device and method for managing a retransmit operation |
CN100407614C (zh) * | 2005-10-18 | 2008-07-30 | 上海华为技术有限公司 | 一种无线数据传输方法 |
US7782817B2 (en) * | 2005-11-04 | 2010-08-24 | Intel Corporation | Systems and techniques for improved data throughput in a wireless network |
US7757148B2 (en) * | 2006-05-25 | 2010-07-13 | Motorola, Inc. | Method to suspend automatic repeat request (ARQ) reset |
KR100846345B1 (ko) * | 2006-06-29 | 2008-07-15 | 삼성전자주식회사 | 광대역무선접속 통신시스템에서 하이브리드 에이알큐메모리 제어 장치 및 방법 |
US7782850B2 (en) * | 2006-11-20 | 2010-08-24 | Broadcom Corporation | MAC to PHY interface apparatus and methods for transmission of packets through a communications network |
US8090043B2 (en) | 2006-11-20 | 2012-01-03 | Broadcom Corporation | Apparatus and methods for compensating for signal imbalance in a receiver |
US7742495B2 (en) | 2006-11-20 | 2010-06-22 | Broadcom Corporation | System and method for retransmitting packets over a network of communication channels |
KR100831983B1 (ko) * | 2006-12-08 | 2008-05-23 | 한국전자통신연구원 | 이동통신 시스템에서 상향링크 프레이밍 장치 및 방법 |
CN101222688B (zh) * | 2007-01-08 | 2010-10-13 | 展讯通信(上海)有限公司 | 数字对讲系统中避免碰撞的多方通话发言权抢夺方法 |
US8345553B2 (en) | 2007-05-31 | 2013-01-01 | Broadcom Corporation | Apparatus and methods for reduction of transmission delay in a communication network |
US8582591B2 (en) * | 2007-07-20 | 2013-11-12 | Broadcom Corporation | Method and system for establishing a queuing system inside a mesh network |
GB2453344B (en) * | 2007-10-04 | 2012-01-18 | Toumaz Technology Ltd | Wireless transmission method and apparatus |
US9112717B2 (en) | 2008-07-31 | 2015-08-18 | Broadcom Corporation | Systems and methods for providing a MoCA power management strategy |
US8238227B2 (en) | 2008-12-22 | 2012-08-07 | Broadcom Corporation | Systems and methods for providing a MoCA improved performance for short burst packets |
US8213309B2 (en) | 2008-12-22 | 2012-07-03 | Broadcom Corporation | Systems and methods for reducing latency and reservation request overhead in a communications network |
US8254413B2 (en) | 2008-12-22 | 2012-08-28 | Broadcom Corporation | Systems and methods for physical layer (“PHY”) concatenation in a multimedia over coax alliance network |
US20100238932A1 (en) * | 2009-03-19 | 2010-09-23 | Broadcom Corporation | Method and apparatus for enhanced packet aggregation |
WO2010110513A1 (ko) | 2009-03-26 | 2010-09-30 | 엘지전자 주식회사 | 무선 통신 시스템에서 데이터 전송 및 수신 방법 |
US8553547B2 (en) | 2009-03-30 | 2013-10-08 | Broadcom Corporation | Systems and methods for retransmitting packets over a network of communication channels |
US20100254278A1 (en) | 2009-04-07 | 2010-10-07 | Broadcom Corporation | Assessment in an information network |
US8730798B2 (en) | 2009-05-05 | 2014-05-20 | Broadcom Corporation | Transmitter channel throughput in an information network |
US8473802B2 (en) * | 2009-06-30 | 2013-06-25 | Samsung Electronics Co., Ltd. | Technique for advanced ARQ buffer management in wireless communication system |
US8867355B2 (en) | 2009-07-14 | 2014-10-21 | Broadcom Corporation | MoCA multicast handling |
US8942250B2 (en) | 2009-10-07 | 2015-01-27 | Broadcom Corporation | Systems and methods for providing service (“SRV”) node selection |
US8611327B2 (en) | 2010-02-22 | 2013-12-17 | Broadcom Corporation | Method and apparatus for policing a QoS flow in a MoCA 2.0 network |
US8514860B2 (en) | 2010-02-23 | 2013-08-20 | Broadcom Corporation | Systems and methods for implementing a high throughput mode for a MoCA device |
EP2390792B1 (en) | 2010-05-27 | 2014-04-16 | STMicroelectronics (Grenoble 2) SAS | Communication system and method |
JP2013141137A (ja) * | 2012-01-05 | 2013-07-18 | Ricoh Co Ltd | 複合システム |
US20140181822A1 (en) * | 2012-12-20 | 2014-06-26 | Advanced Micro Devices, Inc. | Fragmented Channels |
CN110830972A (zh) * | 2019-12-02 | 2020-02-21 | 北京深思数盾科技股份有限公司 | 用于蓝牙通讯的数据传输方法和装置以及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779146B1 (en) * | 1999-04-05 | 2004-08-17 | Cisco Technology, Inc. | ARQ for point to point links |
FR2819661B1 (fr) * | 2001-01-15 | 2003-03-28 | Nortel Networks | Procede et dispositifs de transmission de donnees avec mecanisme d'acquittement |
US7000021B1 (en) * | 2001-10-12 | 2006-02-14 | Cisco Technology, Inc. | ARQ (automatic repeat request) for broadband fixed wireless network |
-
2004
- 2004-09-30 US US10/956,255 patent/US20050152350A1/en not_active Abandoned
- 2004-11-20 CN CNA2004101033634A patent/CN1642065A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101385268B (zh) * | 2006-01-05 | 2013-09-11 | 诺基亚公司 | 一种用于通信系统的灵活分段的方法和设备 |
CN103401663A (zh) * | 2006-01-05 | 2013-11-20 | 诺基亚公司 | 一种用于通信系统的灵活分段方案 |
CN103401663B (zh) * | 2006-01-05 | 2017-05-17 | 诺基亚技术有限公司 | 一种用于通信系统的灵活分段方案 |
WO2007104261A1 (fr) * | 2006-03-15 | 2007-09-20 | Huawei Technologies Co., Ltd. | Procede et systeme de soutien de traitement en cascade par segmentation de retransmission de paquets |
CN101039170B (zh) * | 2006-03-15 | 2011-08-03 | 华为技术有限公司 | 支持数据包重传分割级联的方法 |
CN101039228B (zh) * | 2006-03-16 | 2010-05-12 | 华为技术有限公司 | 一种数据包头优化方法 |
CN103516492A (zh) * | 2012-06-18 | 2014-01-15 | 中兴通讯股份有限公司 | 数据缓存方法及装置 |
CN103516492B (zh) * | 2012-06-18 | 2017-11-14 | 中兴通讯股份有限公司 | 数据缓存方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20050152350A1 (en) | 2005-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1642065A (zh) | 用于发送/接收自动重复请求的系统和方法 | |
US7298730B2 (en) | Scheme to prevent HFN un-synchronization for UM RLC in a high speed wireless communication system | |
EP2493104B1 (en) | Header compression data packet transmission method and device based on retransmission mechanism | |
KR100876765B1 (ko) | 이동 통신 시스템에서 데이터 재전송 장치 및 방법 | |
CA2446700C (en) | Hybrid automatic repeat request (harq) scheme with in-sequence delivery of packets | |
CN108282273B (zh) | 分段重传的方法和装置 | |
KR101294570B1 (ko) | 통신 장치, 기록 매체, 및 송신 데이터 생성 방법 | |
CN1918825A (zh) | 发送和接收具有处理时间信息的控制协议数据单元 | |
CN1917416A (zh) | 多载波高速下行分组接入中混合自动重传方法 | |
CN1826749A (zh) | 基站装置以及发送方法 | |
CN1852075A (zh) | 一种数据重传的方法及装置 | |
JP2012105332A (ja) | 無線リンク制御における再送を支援する目的でプロトコルデータユニットの再送の優先順位を上げるためのシステムおよび方法 | |
CN1496157A (zh) | 移动通信系统中的数据转发控制方法 | |
WO2013139249A1 (zh) | 数据包发送方法、模式转换方法及装置 | |
CN1951135A (zh) | 控制站装置、基站装置、接收方法、传输方法以及通信方法 | |
CN1830183A (zh) | 分组通信装置以及分组通信方法 | |
CN1745533A (zh) | Arq系统中的传输控制方法 | |
US7519084B2 (en) | Error control mechanism for a segment based link layer in a digital network | |
CN1910862A (zh) | 重传数据帧的方法和使用该方法的网络设备 | |
KR100612654B1 (ko) | 자동 재송신 요청을 위한 프레임 생성 장치 및 방법 | |
IL270344B (en) | Data retransmission control method and related product | |
WO2019128937A1 (zh) | 一种上行数据调度方法以及相关设备 | |
CN1870488A (zh) | 一种基站与用户终端信息交互的方法 | |
JP5003611B2 (ja) | 無線通信の再送制御方法及び無線通信装置 | |
EP3939190A1 (en) | Method of enabling harq, network entity and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |