CN1613267A - 用于信息流专用改进的选择性重复的arq通信系统的方法和实现 - Google Patents
用于信息流专用改进的选择性重复的arq通信系统的方法和实现 Download PDFInfo
- Publication number
- CN1613267A CN1613267A CNA028268059A CN02826805A CN1613267A CN 1613267 A CN1613267 A CN 1613267A CN A028268059 A CNA028268059 A CN A028268059A CN 02826805 A CN02826805 A CN 02826805A CN 1613267 A CN1613267 A CN 1613267A
- Authority
- CN
- China
- Prior art keywords
- information
- packets
- packet
- transmission
- receiver
- 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
- 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/1607—Details of the supervisory signal
- H04L1/1614—Details of the supervisory signal using bitmaps
-
- 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/1809—Selective-repeat protocols
-
- 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/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
- H04L1/1877—Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0096—Channel splitting in point-to-point links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种用于要被传输至接收器(406)的多个信息包的自动重复请求(ARQ)的方法,和用于完成该方法的装置,该方法包括下列步骤:对属于多个信息包信息流的各个信息包信息流的信息包执行自动重复请求,且与所述多个信息包信息流的其它信息包信息流的信息包的传输无关或者不影响它们,其中,每一个所述多个信息包信息流相应于一指定的服务类型。在同一传输帧中传输属于不同信息流的信息包。在有些变体中,将该方法实现为选择性重复的ARQ方法,并且可在任何在点对点的系统或网络拓扑结构诸如无线室内局域网内的通用传输器(402)与接收器(406)之间使用它。
Description
技术领域
本发明一般涉及控制在通过通信信道或链路传输信息包时发生的传输错误,并且更具体地涉及实现自动重复请求(ARQ)数据传输的方法。更为具体地说,本发明涉及在对等通信链路中实现选择性重复的ARQ数据传输。
背景技术
自动重复请求(ARQ)是用于控制在通信信道上传输信息包时发生的传输错误的方法。如在图1中所示,ARQ传输系统100的基本组件是发送器102、接收器104、包括前向信道106和反馈信道108的通信信道、信息包编码器110和错误检测112。
有多种方式实现ARQ传输系统,诸如停止并等待ARQ(stop-and-wait ARQ)、返回N ARQ(go-back-N ARQ)和选择性重复ARQ(selective-repeat ARQ)。对所有技术共同的是应答的概念。承载信息的信息包(此后称为信息包)在信息包编码器110被接收并用错误检测码编码。一旦被编码,发送器102在前向信道106上传输信息包并在其存储器中保留信息包的拷贝。当编码的信息包穿过信道时,存在信息包因错误变成而被破坏的可能性。当在接收器104接收信息包时,错误检测112使用给信息包添加的错误检测码确定是否发生信道错误。如果发生错误,从接收器104发送ARQ信息,接收器104使用反馈信道108将否定应答(NACK)送回发送器102。如果接收器104接收到无错误的信息包,则接收器104使用反馈信道108将肯定应答(ACK)送回发送器102。NACK表示接收的信息包有错误并且发送器102将重新传输那个信息包。ACK表示接收的信息包没有错误,因此发送器可以从存储器中删除该信息包。
接着参考图2,例示了选择性重复ARQ的基本方法。使用选择性重复ARQ,在不等待任何应答的情况下,即在不等待来自接收器104的ACK或NACK的情况下,将信息包连续地从发送器102发送到接收器104。因而,将在无需编号i的信息包的应答的情况下发送编号i+1的信息包。一旦一个信息包是由接收器104肯定应答的,即发送器102从接收器104接收ACK,发送器102就将从其存储器中丢弃这个信息包。例如,一旦在发送器102接收到信息包2的ACK,就丢弃信息包2。如果一个信息包是由接收器104否定应答(NACK)的,则发送器102将立即或者在下一个传输时机重新传输这个信息包。例如,一旦接收到信息包3的NACK,就重新传输信息包3,例如在传输信息包7之后重新传输。在此例中,一旦接收到信息包3的ACK,那么就从发送器102上的存储器中丢弃信息包3。选择性重复ARQ是ARQ的最有效形式并且也是最复杂的。这个复杂性是因为要求发送器102与接收器104两者都在存储器中缓冲存储信息包。
概述
本发明通过提供快速、信息流专用改进的选择性重复的自动重复请求(ARQ)的方法,有益于解决上述需求和其它需求。
在一个实施例中,可将本发明表征为用于要传输至接收器的多个信息包的自动重复请求(ARQ)的方法,以及用于完成该方法的装置,该方法包括下列步骤:对属于多个信息包信息流的各个信息包信息流的信息包执行自动重复请求,且与所述多个信息包信息流的其它信息包信息流的信息包的传输无关或者不影响它们,其中,每一个所述多个信息包信息流相应于指定的服务类型。
在另一个实施例中,可将本发明表征为用于要被传输至接收器的多个信息包的自动重复请求(ARQ)的方法:在传输帧的第一部分中传输的由一个或多个信息包组成的第一组上执行自动重复请求,其中,由一个或多个信息包组成的第一组属于多个信息包信息流的各个信息包信息流;以及在传输帧的第二部分中传输的由一个或多个信息包组成的第二组上执行自动重复请求,其中,由一个或多个信息包组成的第二组属于多个信息包信息流的另外的各个信息包信息流,其中,在由一个或多个信息包的第一组上执行的自动重复请求与在传输帧的第二部分中的信息包的传输无关或者不影响它们。
在另一个实施例中,可将本发明表征为自动重复请求(ARQ)的方法,包括下列步骤:将生存期值分配给要通过前向通信信道传输至接收器的信息包,所述生存期值表示信息包通过前向通信信道的传输尝试的最大次数,包括使用自动重复请求的重新传输尝试,所述生存期值与相应于信息包的服务类型相对应。
附图说明
通过结合下列附图提供的下列本发明的特定描述,本发明的上述和其它方面、特征与优点将是更为显然的,这些附图是:
图1是使用ARQ的常规通信系统的基本组件的简化方框图;
图2例示常规选择性重复ARQ的基本方法;
图3例示按照本发明的一个实施例被组织成要从发送器或传输器传输至接收器的不同信息流的数据信息包;
图4是一个ARQ系统的功能方框图,该ARQ系统按照本发明的若干实施例执行选择性重复ARQ的信息流专用改进的方法;
图5例示由图3的系统执行的选择性重复ARQ方法,例如,用于与按照本发明的若干实施例用于与其它信息流的选择性重复ARQ方法无关的给定信息流;
图6是图4的ARQ系统的一个实施例的功能方框图,例示发送器的信息包传输机制和接收器的应答产生与传输;
图7是一个流程图,例示按照本发明的若干实施例由图6的系统执行的步骤,以完成独立的信息流专用选择性重复ARQ;
图8是一个流程图,例示,按照本发明的一个实施例,例如,在将进来的数据信息包流解析成不同的流并且将信息包存储到存储器时,由信息包解析器和图6的信息包传输机制的信息包存储器执行的步骤;
图9例示按照本发明的一个实施例,在将信息包解析到存储器中并且从存储器找到用于传输的信息包时执行的搜索功能;
图10是一个流程图,例示按照本发明的一个实施例,在选择哪些信息包要传输至接收器时由图4或6的信息包传输机制执行的步骤;
图11是一个流程图,例示按照本发明的一个实施例,例如,在产生要传输至接收器的信息包的传输信息包阵列时由图6的信息包传输器执行的步骤;
图12是一个流程图,例示按照本发明的一个实施例,例如,在从接收器接收应答时,由图4或图6的应答处理机制执行的步骤;以及
图13是一个流程图,例示按照本发明的一个实施例,在作为服务类型的函数将生存期值分配给给定的信息包时执行的步骤。
在各附图中,相对应的标号表示相对应的组件。
详细说明
不是在限制意义上采用下面的描述,而是仅仅为了描述本发明的一般原理而作出的。应该参考权利要求书确定本发明的范围。
如上所述,图1是使用自动重复请求(ARQ)的常规通信系统的基本组件的简化的方框图,图2则示出常规选择性重复ARQ的基本方法。
接下来参考图3,例示了按照本发明的一个实施例被组织成要从传输器传输至接收器的不同信息流(flow)的数据信息包。所示的是传输器302、接收器304、前向信道106(也称为前向通信信道)、反向信道108(也称为反向通信信道)、出站流缓冲器306和入站流缓冲器308。
本发明的若干实施例在将进来的、用于从传输器302至接收器304的传输的数据信息包流解析或分离成不同的逻辑信息流的环境中,提供选择性重复自动重复请求(ARQ)的改进方法。将每个信息流保存在相应的出站流缓冲器306中并传输至接收器304,接收器304将入站信息包放在相应的一个入站流缓冲器308中。这些信息流代表具有彼此顺序相关的信息包序列,来源于同一个信号源或者传送共同信息流(common information stream)。例如,一个或多个信息流可包含语音信息包,一个或多个信息流可包含视频信息包,以及一个或多个信息流可包含计算机数据信息包。注意,可能存在同一类型的信息包的不同信息流,例如,包含语音信息包的几个不同的信息流,例如代表几个不同的语音呼叫。在相应的逻辑信息流中的这些不同类型的信息包(语音、视频和数据)的每种类型具有独立的服务类型(TOS)要求,例如,对于语音、视频和数据等待时间要求和信息包丢失率要求是不同的。例如,语音信息包可能具有20ms的等待时间要求并且能容忍10-4的信息包丢失率,而视频信息包可能具有4ms的等待时间要求并且能容忍10-10的信息包丢失率。也要注意,多于一个信息流可能具有相同的服务类型要求。
本发明的若干实施例为从传输器302传输至接收器304的信息包提供ARQ,使得用于各个信息流的ARQ不受其它各个信息流的ARQ影响;因而,在此提供信息流无关或信息流专用的ARQ的方法。在有些实施例中,在同一介质访问控制(MAC)帧中传输来自不同信息流的信息流。因而,实际上独立地在每个信息流的信息包上执行ARQ。这意味着属于一个信息流的信息包的缓冲、传输、重新传输和传送不受属于另一个信息流的信息包的缓冲、传输、重新传输和传送的影响。注意,可与任何已知的ARQ技术一起使用信息流专用或信息流无关的ARQ方法,诸如停止并等待ARQ、返回N ARQ和选择性重复ARQ。
此外,在有些实施例中,按照特定信息包的服务类型(TOS)限制特定信息包的传输尝试的总数。可在简单的传输器302与接收器304的系统中应用这些方法,或者可供替换地,可在具有许多收发器、每个传输的信息包被分成一个或多个逻辑流的网络拓扑结构中使用这些方法。
接下来参考图4,所示的是按照本发明的若干实施例执行选择性重复ARQ的信息流专用改进的方法的功能方框图。所示的是耦合到收发器404的发送器402和耦合到收发器408的接收器406。发送器402包括信息包传输机制410、循环冗余码校验发生412(也称为CRC发生412)和应答处理机制414,而接收器406包括CRC检查416。
信息包传输机制410接收信息包并按照它们属于的信息流来分类它们。然后这些信息包将被放在发送器402上的存储器中,以这样的方式,即可以检索它们用于传输和潜在的重新传输,例如,存储在图3的诸出站流缓冲器中相应的一个出站流缓冲器中。管理用于传输的信息包的存储的方法,与在信道上传输和重新传输的实际时间安排无关。当用于传输的时间来临时,信息包传输机制410提供一种手段用于顺序地检索属于正在第一次传输的特定信息流的信息包。信息包传输机制410还提供一种手段,用于检索属于正在重新传输的特定信息流的信息包。这些被重新传输的信息包的顺序将是它们到达信息包传输机制410的顺序。
在传输时,CRC生成412将错误检测特征(例如CRC序列)添加到用于传输的信息包。由收发器404通过前向信道106将信息包传输至接收器406。由收发器408接收信息包并且将它们传送给接收器406的CRC检查416。在CRC检查416,执行CRC校验。CRC校验的结果将产生ACK,如果接收的信息包没有错误,或者产生NACK,如果接收到有错误的信息包。这个ACK/NACK信息将通过反馈信道108被传输回发送器402。被传送出的肯定应答的信息包要被放在相应的逻辑信息流中,例如放在图3的入站流缓冲器308中的相应的一个入站流缓冲器中。
应答处理机制414接收由接收器406在反馈信道108上传输的应答信息并且与此信息一起,丢弃和/或重新排序先前被传输的信息包以便完成选择性重复ARQ。它还用先前的传输尝试值的数目作为输入来执行信息包重新排序,丢弃如果不是因为它们其传输机会的最大次数已经期满本已重新被传输的信息包。换言之,已经超过传输尝试的最大次数或生存期值的信息包要被丢弃。
本发明的若干实施例的新颖性存在于用于执行信息流专用改进的选择性重复ARQ的方法中,它是在发送器402的信息包传输机制410和应答处理机制414中实现的。注意,发送器402和收发器404集中在一起构成图3的传输器302,并且收发器408与接收器406集中在一起构成图3的接收器304。传输器302和接收器304对可以是任何通用的传输和接收系统。CRC生成412和CRC检查41 6可以由任何CRC多项式实现。
接下来参考图5,例示本发明的若干实施例的选择性重复ARQ,例如,按照本发明的若干实施例,由图3的系统执行的,对与用于其它信息流的选择性重复ARQ无关的给定信息流。
在一个实施例中,在同一介质访问控制(MAC)帧中传输属于不同信息流的信息包至接收器。按照指定哪些信息包信息流的多少信息包要被传输至接收器的传输描述符,传输这些信息包。例如,如在图5的帧N(也称为传输帧N)中所示的,传输描述符指定信息流I的5个信息包将被传输,信息流J的3个信息包将被传输和信息流K的2个信息包将被传输。因而,MAC帧N包括信息包I1-I5,J1-J3和K1及K2。注意,传输描述符实际地将传输帧划分成不同部分,每个部分包含属于特定信息流的信息包。所示的例子是简单的传输帧;然而,应该认识到,特定长度的帧和来自不同的信息流的信息包的分配是完全系统相关的。
作为例子,假设接收到信息包I3和K1的否定应答(NACK),那么按照选择性重复ARQ,发送器将在下一个可用的传输时机重新传输I3和K1。因而,在使用传输描述符的帧N+1(也称为传输帧N+1)中,帧N+1包括信息包I3、I6-I9和K1及K3。如清楚地看见的,信息包I3的重新传输不影响在J或K信息流中的信息包的传输。例如,假设包J1-J3是肯定应答的,则在帧N+1中传输信息包J4-J6,不考虑在信息流I和K中的信息包的应答的结果。因此,信息流J的ARQ与信息流I和K的ARQ无关,且信息流I的ARQ与信息流J和K的ARQ无关。因而,如在此简单的例子中可以看到的,按照本发明的若干实施例,每个信息包信息流的ARQ与其它信息包信息流的ARQ无关。因而,在此提供了信息流专用或信息流无关的ARQ方法。这些信息流无关的技术适用于所有已知的ARQ方法,诸如停止并等待ARQ、返回N ARQ和选择性重复ARQ。
接下来参考图6,所示的是图4的ARQ系统的一个实施例的功能方框图,例示了发送器的信息包传输机制和接收器的应答生成和传输。所示的是发送器402、接收器304、前向信道106和反向信道108。发送器402包括应答处理机制414、存储器610和包括信息包解析器602、信息包存储器604和信息包传输器606的信息包传输机制410。接收器304包括应答生成与传输模块608。
在发送器402,例如,信息包传输机制410和应答处理机制414的功能组件可在硬件中具体化,或者作为由处理器或其它机器执行的一组指令来具体化。信息包传输机制410和应答处理机制414两者都耦合至存储器610。
在参考图6时,同时将参考图7,它是一个流程图,例示由图6的系统执行的步骤,以按照本发明的若干实施例,完成独立的信息流专用的选择性重复ARQ。
按照本发明的若干实施例的ARQ方法,在发送器402的信息包传输机制602接收进来的信息包。这些进来的信息包是从通信系统栈中任何更高的层接收的,并且每个进来的信息包属于特定的信息流。进来的或到达的信息包要被发送到一个或多个接收器,例如接收器304。
在信息包传输机制402中,将每个信息包解析成多个信息包信息流中的一个,每个信息包信息流相应于一个信息流标识符(图7的步骤702)。注意,每个信息包信息流还也具有与之相关联的服务类型。这一解析在信息包解析器602进行。在一个实施例中,信息包解析器602读每个信息包的首部或控制信息,以便解析信息包。在另外的实施例中,可在信息包解析器602通过信令协议从更高的层接收信息流信息,而不是包括在信息包本身之中。
在一个实施例中,此信息流信息包括信息流标识符。因而,对于每个信息流,需要一个信息流标识符(FID)。FID是由两个条目构成的:服务类型(TOS)指示符和信息流编号(FN)。信息包解析器602使用FID字段唯一地识别每个信息流的信息包。TOS指示符识别产生构成这个信息流的信息包的应用的类型,例如,语音、视频、数据等等,而FN识别在TOS类别内的特定信息流。例如,使用信息流编号(FN)区别具有相同TOS指示符的信息流。可在每个信息包内携带FID或者可以通过信令协议将它传送至信息包传输机制410。如果有同时发生的信息流到达信息包解析器602时,信息包解析器602需要FID来适当地组织信息包。
而且,在一个特定的信息流内,信息包解析器602将一个序列号(SEQ_NO)分配给所有到达的信息包。使用这个序列号来识别特定的信息包,为了在信息包传输机制410内排序,由接收器304应答(或者肯定地或者否定地),并且由发送器402重新传输。
接着,在发送器402,将每个信息流被解析的信息包存储在存储器610中(图7的步骤704)。使用信息流标识符将信息包存储在存储器610中。在一个实施例中,信息包存储器604执行步骤704并且耦合至在发送器402上的存储器610。
为了将信息包存储在存储器中(图7的步骤704),信息包存储器604使用搜索算法来确定存储器610内应该放信息包的单元。在有些实施例中,将由高速缓存表和散列表的组合来帮助此搜索。如果找到这个信息流,则信息包存储器604将到达的信息包存储在存储器610的同一阵列中的下一单元中。如果没有找到这个信息流,则信息包存储器610分配存储器610的新阵列,然后将到达的信息包存储在那个新阵列中。在可替换的实施例中,如果没有找到信息流,则丢弃这个信息包。
存储器610可以是任意大小且易管理的存储器缓冲器,用以将进来的信息包存储到逻辑信息流中,例如存储器610包括图6的出站流缓冲器。在较佳的实施例中,存储器610包括阵列存储器的链接表(LLOAM)。
注意,在有些实施例中,可能已经将进来的信息包解析成独立的信息流,使得不需要信息包解析器602的功能性。因而,信息包存储器604只根据信息流将到达的信息包存储在存储器中适当的单元中。也要注意,可能已经分配在这些信息流中信息包的顺序,或者可供替换地,由信息包存储器分配信息包序列号。因而,信息包解析器602的功能性和图6的信息包存储器604功能块可例示为图6中的一个功能块。参考图8描述图7的解析(步骤702)与存储(步骤704)步骤的进一步的细节。
使用FID的FN子字段识别TOS类别内特定的信息流。FID的TOS子字段给ARQ算法一个手段,用于在信息流类型专用基础上剪裁用于执行选择性重复ARQ的精确方法。有几种方式可以使ARQ算法成为信息流类型专用。例如,使用FN和TOS的组合识别每个单独的信息流并且将它们分离。这允许属于各个信息流的状态信息保存在信息包传输机制410中。在另一个例子中,允许给定的TOS类别的信息包有一个传输机会的最大次数。这个值称为生存期(TTL)。这使由一个单独的信息流使用的总带宽和跨越通信系统的延迟受到限制。这个TTL参数对于一个TOS类别的专用的。因此,信息包解析器602(或者可供替换地,信息包存储器604)基于信息包的服务类型(TOS)将生存期值分配给每个信息包(图7的步骤706)。TTL值等于信息包的传输尝试的最大次数,包括初始的传输尝试加上使用ARQ的重新传输尝试。
为了说明生存期值的概念,采用特定信息流的信息包具有类型j的TOS子字段的实例。假设TOS类别j具有为2的TTL值,在信息包的初始传输之后,如果这个信息包是否定应答的,则将再只有一次传输尝试。如果在第二次传输尝试之后,这个信息包仍是否定应答的,则它已经超过它的生存期值并且将被信息包传输机制410丢弃。实际上对于TOS类别j的所有信息包,将有一次初始传输和至多TTL-1次(在此例中只是一)重新传输,如果信息包是否定应答的。此技术在信息包可以被传输的次数上提供信息流类型专用上限。此机制本质上限制在当一个信息包进入发送器的信息包传输机制410时与当它离开接收器时之间的时间。在另外的例子中,在有些系统中,视频信息包的信息包延迟必须小于4毫秒。如果传输信息包的MAC帧是1毫秒的长度,则只有用于1次传输尝试和3次重新传输尝试的时间。在4毫秒后,信息包对于接收器不再有用。因此,如果在4毫秒内在接收器没有无错误地接收到它,那么可在传输器丢弃它。
这样一个生存期值不同于已知系统,已知系统在确定信道条件不好并且重新传输的量将不会导致肯定应答之后丢弃信息包。生存期自动地基于服务类型(TOS)而不是基于信道的条件,在传输尝试的总数上设置一个限制。
在这样的使用生存期的实施例中,在存储器610中保存一个查找表。查找表将给定的TOS与相应的TTL匹配起来。可与信息包一起将分配给每个信息包的TTL值存储在存储器610中,或者保存在存储器610中一个单独的单元中。
接着,在已经解析和存储信息包并且已经为它们分配了生存期值之后,来自一个或多个信息包信息流的信息包通过前向信道被传输至接收器,每个信息包包括其信息流标识符(图7的步骤708)。在一个实施例中,由信息包传输器606执行此步骤,例如,通过图4的收发器404。按照一个实施例,信息包传输器606形成如由传输描述符指定的信息包的传输阵列。传输描述符表示至少哪些信息流的多少信息包要被包括在传输阵列中。当生成传输阵列时,信息包传输器606首先查看是否存在来自如由传输描述符指定的特定信息流的信息包需要在寻找来自如由传输描述符指定的特定信息流的新的信息包(即,还没有被初次传输过的信息包)之前要被传输。传输阵列指定要将哪个信息包和以什么顺序放在传输MAC帧上并且传输。在一个实施例中,将CRC序列附加在每个传输阵列(例如,通过图4的CRC生成412),来协助接收器确定是否错误地接收了信息包。参考图11描述有关通过前向信道传输信息包的步骤的进一步细节。
一旦已经传输了信息包,接收器304就接收信息包并且确定是否错误地接收了传输阵列的每个信息包。在一个实施例中,接收器304在应答生成与传输模块608执行对每个信息包的CRC校验。此CRC校验的结果将是PASS或FAIL(相应于ACK或NACK)。接收器产生应答并且在反馈信道上以ARQ位映象(bit map)的形式传输这些应答。术语位映象(bit map)的使用有是可能的因为CRC校验结果是二进制值(PASS或FAIL)。一旦形成特定的ARQ位映象,就封装它以形成一个ARQ响应。该响应包括发送器402将特定ARQ位映象与它正应答的特定的信息包的传输阵列匹配的信息。ARQ位映象的顺序将按照由发送器402传输的信息包的顺序(并且因此在接收器304接收它们的同一顺序)。产生CRC序列并将它附加到ARQ响应,以便在反馈信道108本身是不可靠时,可以在来自接收器304的应答与响应时执行ARQ。然后,ARQ响应通过反馈信道108被传输回发送器402。
接下来,在发送器402的应答处理机制414,通过反馈信道接收每个被传输的信息包的应答,它表示是否错误地接收每个被传输的信息包(图7的步骤710)。因而,接收了每个被传输的信息包的ACK或NACK。在一个实施例中,接收作为ARQ位映象的应答。因而,应答处理机制414将所接收的ARQ位映象与传输阵列中的所有条目比较,以识别这些信息包是错误地接收的。
通常,如果接收到用于给定信息流的给定信息包的ACK(图7的步骤712),那么无错误地成功传输了这个信息包,并且从在发送器402上的存储器610中删除这个信息包(图7的步骤714)。
如果接收到用于给定信息流的给定信息包的NACK(图7的步骤712),那么错误地接收了这个信息包。如果要重新传输这个特定信息包会超过这个特定的信息包的生存期(TTL)(图7的步骤716),则从在发送器402上的存储器中删除这个信息包(图7的步骤714)。例如,基于信息包的服务类型,如果TTL值为3并且如果重新传输则传输尝试的总数将超过3,那么删除这个信息包,因为将超过这个特定信息包的信息包延迟(即,在接收器这个信息包不再有用)。换言之,传输这个信息包的总次数等于分配给这个信息包的TTL,那么丢弃这个信息包而不是再次重新传输它。
如果要重新传输给定信息流的特定信息包不会超过这个信息包的生存期(TTL)(图7的步骤716),那么在不影响来自其它信息流的信息包的传输的情况下重新传输这个来自给定信息流的信息包(图7的步骤718),例如,如在图5中所示。重新传输一般发生在下一个传输时机,例如,当产生下一个传输阵列时。参考图12描述有关步骤710、712、714和718的进一步细节。
注意,可由图6的信息包传输机制410和应答处理机制414的功能结构执行图7的步骤。图7的步骤一般作为一组指令来执行,在专用的硬件或在软件中使用处理器或其它机器来执行这组指令以完成给定的步骤。
接下来参考图8,一流程图示出按照本发明的一个实施例,例如由图6的信息包传输机制的信息包解析器和信息包存储器块在解析和存储进来的数据信息包流到不同的信息流中时所执行的步骤。。
注意,当参考图8和10-12时,下面列在表1中的定义是有帮助的。
注意,当参考图8时,同时参考图9,图9例示按照本发明的一个实施例,在将信息包存储到存储器中并查找用于从存储器传输的信息包时所执行的搜索功能。图9例示图6的存储器610的一个实施例,例如,该存储器包括阵列存储器的链接的列表(LLOAM)。图9包括高速缓存表902和散列表904。
表1
新信息包 | 包含在新信息包阵列内的信息包 |
失败的信息包 | 包含在失败信息包阵列内的信息包 |
答复信息包 | 由接收器通过反馈信道传输至发送器的信息包,示出上次在前向信道上传输信息包的结果 |
新信息包阵列 | 在发送器上的存储器阵列,在每FID基础上设置(setaside),用于存储新到达的信息包 |
失败的信息包阵列 | 在发送器上的存储器阵列,在每FID基础上设置,用于存储已经被传输的并且随后否定应答的信息包 |
传输阵列 | 在发送器上的存储器阵列,其中存储在信道上发送的信息包,直到接收到应答(或者肯定或者否定)为止 |
接收到的信息包阵列 | 在接收器上的存储器阵列,在每FID基础上设置,用于存储通过前向信道已经接收到的信息包 |
传输时刻 | 发送器接收到传输属于一个指定的FID的信息包的授权的时刻 |
如前面提到的,每个到达的信息包属于特定的信息流。信息包解析器解析进来的信息包,而信息包存储器将它们存储在存储器中。按照一个实施例,信息包存储器使用一个搜索算法来确定应该放信息包的存储单元。在较佳的实施例中,此搜索将得到高速缓存表与散列表的组合的帮助。如果找到信息流,信息包存储器将到达的信息包存储在同一存储器阵列中的下一个单元中。如果没有找到信息流,信息包存储器为新的信息流分配新的存储器阵列并且将到达的信息包存储在那个新的阵列中。在可替换的实施例中,如果没有找到信息流,只是丢弃这个信息包。
在有些实施例中,希望系统能够处理不断增加的不同信息流的数量。要提供此能力,使用高速缓存表902与散列表904的组合来加速搜索过程。当一个信息包到达时,解析信息包以产生散列键(步骤802)。此散列键是信息流标识符(FID)与接收器目的地标识符(DID)的连结。因而,FID指示信息包属于哪个信息流和信息包指定哪个接收器,如果存在多于一个接收器且发送器与它们通信时。例如,散列键格式为:KEY=<DID,FID>。散列键可以是信息包的首部或控制信息部的一部分,或者可以从信令协议更高的层传送至信息包解析器。
一旦获得特定信息包的散列键,就搜索高速缓存表902以查看散列键是否存在(步骤804)。如果在高速缓存表902中找到散列键(步骤806),则使用在高速缓存表条目中找到的散列键的散列索引作为指向散列表904的指针(步骤808)。因而,如在图9中所示,特定散列键的高速缓存表条目还包含一个散列索引(hash_index)值。使用此hash_index作为指向散列表904的指针,检查在散列表904中此索引处的条目并且获得由散列键表示的信息包信息流的状态信息(步骤810)。例如,如在图9中所例示的,在高速缓存表902中散列键条目<0,1>的hash_index指向散列表904中的一个条目,它包含特定信息包信息流的状态信息。在一个实施例中,状态信息包括读指针、写指针和LLOAM起始地址(也称为存储器起始地址)。
接着,将信息包存储在特定信息流的下一个存储单元中,如由状态信息表示的,然后更新在散列表904中的状态信息(步骤812)。
如果在高速缓存表902中没有找到散列键(步骤806),则对散列表904本身搜索这个散列键(步骤814)。如果在散列表904中没有找到键(步骤816),则在散列表904中创建新的条目并建立新的信息流(步骤818)。在散列表904中的此条目将包含指向阵列存储器的链接表(LLOAM)的起始存储单元的指针,它将为此新信息流保存信息包。该条目还将包含属于信息流的状态信息,诸如读/写指针,指向最后肯定应答的信息包的指针,信息包计数,和任何其它管理信息流所需的状态变量。然后,将信息包存储在存储器中,将新信息流的状态信息与散列键存储在散列表904中,并且将散列键与hash_index存储在高速缓存表902中(步骤820)。注意,在可供替换的实施例中,如果没有找到键,则简单地丢弃信息包。
如果在散列表904找到散列键(步骤816),则执行步骤810与812。
参考图9,注意,这只是使用高速缓存与散列表的搜索算法的一个例子。在其它实施例中,可能有用于每个服务类型的独立的散列表,即有一个高速缓存表和多个散列表。例如,高速缓存表将包括散列键、散列表选择和散列索引。散列表选择指向信息流的服务类型的特定散列表。
接下来参考图10,所示的是流程图,例示按照本发明的一个实施例,由图4或6的信息包传输机制在选择哪些信息包要传输至接收器时执行的步骤。在一个实施例中,图10执行的步骤是由图6的信息包传输器606执行。
该过程例如由信息包传输器606在开始块1002开始。注意,信息包传输器606耦合至图6的存储器610。首先,信息包传输器在失败的信息包阵列中寻找指定信息流n的失败的信息包。如果在失败的信息包阵列中存在信息流n的失败的信息包(步骤1004),那么信息包传输器从信息流n的失败的信息包阵列中选择具有最小序列号的失败的信息包(步骤1006)。一旦选择,检查与这个失败的信息包相关联的生存期(TTL)。如果TTL等于零(步骤1008),那么丢弃这个失败的信息包(步骤1010),而该过程转到下一个信息包时隙,并再次从开始块1002开始(步骤1026)。换言之,如果要重新传输失败的信息包将会超过传输尝试的总数(即TTL值),则失败的信息包在接收器不再有用并删除该信息包。
如果TTL值不等于零(步骤1008),那么在前向信道上重新传输信息流n的失败的信息包的拷贝(步骤1012),并且将TTL值减一(步骤1014)。在一个实施例中,通过将失败的信息包的状态信息放在传输阵列的所希望的单元处来传输失败的信息包,因此它将被传输。然后,该算法转到下一个信息包时隙并再次从开始块1002(步骤1026)开始。
如果在失败的信息包阵列中没有信息流n的失败的信息包(步骤1004),那么检查信息流n的新信息包阵列。如果在新信息包阵列中有信息流n的新信息包(步骤1016),那么信息包传输器从信息流n的新信息包阵列中选择具有最小序列号的新信息包(步骤1018)。
接下来,在前向信道上传输信息流n的新信息包的拷贝(步骤1022),并且将TTL值减一(步骤1024)。然后,该过程转到下一个信息包时隙并且再次从开始块1002开始(步骤1026)。
如果在新信息包阵列中没有信息流n的新信息包(步骤1016),那么信息包传输器移到传输描述符中的下一个条目并且从开始块1002开始(步骤1020)。
接下来参考图11示出一流程图,例示按照本发明的一个实施例,例如由图6的信息包传输器在产生要被传输至接收器的信息包的传输信息包阵列时执行步骤。在图11中的步骤例示由图6的信息包传输器606在执行图7的步骤708时所执行的步骤的一个实施例。
当一个传输时机来临时,信息包传输器形成传输阵列。传输阵列是在发送器上的存储器阵列,其中存储要在信道上发送的信息包,直到接收应答(或者肯定或者否定)为止。传输阵列指定哪些信息包和以什么顺序将信息包放在传输帧上。在有些实施例中,传输描述符还指定信息包的目的地。传输阵列的大小等于在此传输时机被授权传输的信息包的数量。在一个实施例中,在表2中说明传输阵列的格式。
表2
条目1 | 条目2 | 条目3 | ..... | 条目N |
键 | 键 | 键 | ..... | 键 |
hash_index | hash_index | hash_index | ..... | hash_index |
ptr-指向信息包所在的存储器地址的指针 | ptr-指向信息包所在的存储器地址的指针 | ptr-指向信息包所在的存储器地址的指针 | ..... | ptr-指向信息包所在的存储器地址的指针 |
要形成此传输阵列,信息包传输器接收定义传输阵列的条目的传输描述符(步骤1102)。因而,传输描述符表示什么信息流将被传输和要从每个信息流传输多少信息包。传输描述符还将表示传输的顺序。在信息包传输器考虑传输描述符中下一个条目之前,使用传输描述符中的第一个条目填充传输阵列。在表3中所示的是传输描述符的一个实施例。
表3
传输描述符 |
did(目的地标识符)=a,flow(信息流)=i,quantity(质数量)=Qi |
did=a,flow=j,quantity=Qj |
did=b,flow=k,quantity=Qk |
did=c,flow=l,quantity=Ql |
如在表3中可以看到的,传输描述符指定信息包的目的地是什么(如果存在多于一个发送器与其通信的接收器),信息包的信息流和每个信息流要被传输的信息包的数量。参考图5描述并在帧N和帧N+1中例示简单的传输描述符的一个例子,其中传输描述符指定将传输信息流I的5个信息包,将传输信息流J的3个信息包,并且将传输信息流K的2个信息包。在图5的例子中,目的地(DID)对于每个信息流是相同的。
当信息包传输器接收到传输描述符时,它在存储器中查找每个信息流要传输的信息包。使用图9所示的相似的搜索算法来在存储器中找出每个信息流要传输的信息包。因为一个信息流相当于一个散列键(即DID和FID),所以获得相应于由传输描述符指定的信息流的散列键,用于传输阵列中给定的条目(步骤1104)。然后对失败的信息包阵列搜索散列键(步骤1106)。换言之,当寻找要传输的信息包时,信息包传输器首先寻找失败的信息包,即已经否定应答的信息包。
失败的信息包阵列是在发送器上的存储器阵列,在每FID基础上设置,用于存储已经被传输并且随后被否定应答的信息包。因而,当被传输的信息包被否定应答时,如果它还没有期满其生存期值(TTL),将它放在失败的信息包阵列中。在一个实施例中,失败的信息包阵列具有表4所示的形式。
表4
条目1 | 条目2 | 条目3 | ..... | 条目N |
键 | 键 | 键 | ..... | 键 |
hash_index | hash_index | hash_index | ..... | hash_index |
ptr-指向信息包所在的存储器地址的指针 | ptr-指向信息包所在的存储器地址的指针 | ptr-指向信息包所在的存储器地址的指针 | ..... | ptr-指向信息包所在的存储器地址的指针 |
write_time | write_time | write_time | ..... | write_time |
散列键(KEY)包括在失败的信息包阵列中并且与在传输阵列中的相同,除了它可以取空(EMPTY)值。hash_index与在传输阵列中的一样。write_time设置为发送器的系统时钟,在将信息包的状态信息从传输阵列移动到失败的信息包阵列的时刻。
如果在失败的信息包阵列中找到散列键(步骤1108),那么将具有最小序列号(以及TTL>0,不超过TTL)的失败的信息包的状态信息拷贝到由传输描述符指定的传输阵列的条目中(步骤1110)。在一个实施例中,将具有最小序列号的信息包的状态信息从失败的信息包阵列中删除并拷贝到传输阵列。因而,不是将信息包本身拷贝到传输阵列,而是将信息包从存储器中拉出所需的状态信息拷贝到传输阵列。
如果在失败的信息包阵列中没有找到散列键(步骤1108),或者一旦所有匹配散列键的条目已经从失败的信息包阵列中删除,那么遍历阵列存储器的链接表(LLOAM)(存储器610的一个实施例)以寻找要传输的新信息包。因而,在一个实施例中,对高速缓存表搜索由传输描述符指定的散列键(步骤1112)。如同存储到达的信息包一样,使用图9所示的高速缓存/散列表组合来加速在LLOAM中找到散列键的过程。
如果在高速缓存表902中找到散列键(步骤1114),那么获得散列索引(hash_index)作为指向散列表904的指针(步骤1116)。使用散列索引作为指向散列表904的指针,将包含在散列表904中在此索引处的、具有最小可用序列号新信息包的状态信息拷贝至由传输描述符指定的传输阵列的条目中(步骤1118)。因而,用还要被传输的信息包的状态信息填充传输阵列。
如果在高速缓存表902中没有找到散列键(步骤1114),那么直接对散列表904搜索散列键(步骤1120)。如果在散列表中找到散列键(步骤1122),那么将包含在散列表904中具有最小可用序列号的新信息包的状态拷贝至由传输描述符指定的传输阵列的条目(步骤1118)。如果在散列表904中没有找到散列键(步骤1122),则忽略传输阵列中的条目,并且信息包传输器转到由传输描述符指定的下一个传输阵列条目(步骤1124)。
此过程继续于步骤1104用于一特定的信息流,直至已经将由传输描述符表示的数量的信息包放在传输阵列中为止。然后重复该过程用于由传输描述符表示的每个信息流。当这些过程完成时,形成传输阵列。在有些实施例中,传输阵列的顺序是重要的,因为这是将在前向信道上传输信息包的顺序。
接下来参考图12,所示的流程图例示例如,按照本发明的一个实施例,由图4或图6的应答处理机制在从接收器接收应答时所执行的步骤。应答处理机制从接收器通过反馈信道接收答复信息包(步骤1202)。答复信息包是由接收器通过反馈信道传输给发送器的信息包,表示在前向信道上信息包的先前传输的结果。注意,先前传输的信息包现在在发送器上给定的传输阵列内。传输阵列是在发送器上的存储器阵列,其中存储在信道发送的信息包,直到接收到应答(或者肯定或者否定)为止。
检查答复信息包的内容以确定是否在接收器无错误地接收了特定的信息包,即答复信息包包含每个被传输的信息包的ACK或NACK。可以无错误地(即通过CRC校验)接收答复信息包或ARQ响应、存在错误地(即失败的CRC校验)接收答复信息包或ARQ响应,以及根本没有(即信道“丢失了”ARQ响应)接收到答复信息包或ARQ响应。ARQ位映象是被传输的信息包在接收器是否被肯定应答(ACK)或者否定应答(NACK)的映象。用于将信息包状态信息从传输阵列移动到失败的信息包阵列的ARQ位映象,是从ARQ响应取决于下面三个条件中哪一个发生而产生的:(1)如果ARQ响应信息包通过CRC校验,ARQ位映象是ARQ响应信息包的有效载荷(arq_bit_map);(2)如果ARQ响应信息包未通过CRC校验,则ARQ位映象完全由FAIL(失败)组成;和(3)如果没有接收到ARQ响应信息包,则ARQ位映象完成由FAIL(失败)组成。
如果接收到ACK(肯定应答)(步骤1204),则从传输阵列丢弃这个信息包。如果接收到NACK(否定应答)(步骤1204),那么将这个信息包从给定的传输阵列移动到失败的信息包阵列(步骤1208)。失败的信息包阵列是在发送器上的一存储器阵列,在每FID基础上配置,用于存储已经被传输并且随后被否定应答的信息包。
下面的伪代码详述在此提供的信息流专用或信息流无关的选择性重复ARQ技术的几个实施例。按照一个实施例,这些算法实际上是由信息包传输机制410、应答处理机制414和接收器406的组合具体化和实现的。此伪代码能容易地以各种各样的形式实现。在下列伪代码中使用表1的术语。
下列伪代码例示在发送器402上的信息包传输机制410的一个实施例的若干功能。
RESULT=CONTINUE while(TRANSMIT_INSTANT==VALID && RESULT==CONTINUE) { if(exist FAILED_PACKET) { choose FAILED_PACKET within FAILED_PACKET_ARRAY with lowest SEQ_NO if(FAILED_PACKET.TTL==0) discard FAILED_PACKET,RESULT=CONTINUE else send a copy of FAILED_PACKET on forward channel FAILED_PACKET.TTL=FAILED_PACKET.TTL-1 place FAILED_PACKET in TRANSMIT_ARRAY RESULT=STOP } else if(exist NEW_PACKET) { choose NEW_PACKET within NEW_PACKET_ARRAY with lowest SEQ_NO if(NEW_PACKET.TTL==0) discard NEW_PACKET,RESULT=CONTINUE else send a copy of NEW_PACKET on forward channel NEW_PACKET.TTL=NEW_PACKET.TTL-1 Place NEW_PACKET in TRANSMIT_ARRAY RESULT=STOP } else { RESULT=STOP } }
下列伪代码描述接收器的一个实施例的功能,以便遵守信息流专用改进的选择性重复ARQ。
when PACKET received do: if(PACKET.CRC==FAIL) { fid=PACKET.FID seqno=PACKET.SEQ_NO result=NACK } else <dp n="d18"/> { fid=PACKET.FID seqno=PACKET.SEQ_NO result=ACK } REPLY_PACKET=<result,fid,seqno> send REPLY_PACKET to sender via feedback channel place PACKET in RECEIVED_PACKET_ARRAY in order of SEQ_NO end
下列伪代码描述在发送器402上的应答处理机制414的一个实施例的功能。
when REPLY_PACKET received do: if(REPLY_PACKET.result==ACK) { discard packet in TRANSMIT_ARRAY with: FID==REPLY_PACKET.fid && SEQ_NO== REPLY_PACKET.seqno } else { move from TRANSMIT_ARRAY to FAILED_PACKET_ARRAY the packet with: FID==REPLY_PACKET.fid && SEQ_NO== REPLY_PACKET.seqno } end
下列伪代码描述用于按照本发明的一个实施例由应答处理机制414将信息包的状态信息从传输阵列移动到失败的信息包阵列的过程。
Pt_index=1 fori=1 to size_of(transmit_array),iincrements by one { pkt_state=transmit_array[i] pkt=packet in LLOAM pointed to by Pkt_state.ptr pkt.TTL=pkt.TTL-1 if(arq_bit_map[i]==FAIL && pkt.TTL>0) { while(failed_packet_array[pt_index].KEY!=EMPTY && (system_clock- failed_packet_array[pt_index].write_time)<=MAX_PT_TIME) { pt_index=pt_index+1 } <dp n="d19"/> failed_packet_array[pt_index].KEY=pkt_state.KEY failed_packet_array[pt_index].hash_index=pkt_state.hash_index failed_packet_array[pt_index].ptr=pkt_state.ptr failed_packet_array[pt_index].write_time=system_clock } else do nothing } clear transmit_array
注意,必须特别注意在此伪代码中MAX_PT_TIME的选择和失败的信息包阵列的大小,以确保“while”循环不会变成无限循环。此算法传送传输阵列中所有使ARQ失败的信息包的状态信息。当此状态信息被传送时,在被移动到失败的信息包阵列中的元素或者是空或者是期满。根据伪代码,很清楚期满时间是MAX_PT_TIME。
接下来参考图13,所示的流程图例示按照本发明的一个实施例,在按照服务类型的函数将生存期值分配给给定信息包时执行的步骤。在有些实施例中,在使用在此所述的信息流专用或信息流无关的ARQ技术时,将生存期(TTL)值分配给相应于服务类型(TOS)的每个信息包。然而,在有些实施例中,在不是如上所述的信息流专用或信息流无关的普通ARQ系统中使用TTL的分配。因而,可与任何类型的ARQ一起使用为信息包分配的TTL值,例如,具有或者没有多个信息包的信息流的停止并等待ARQ、返回N ARQ和选择性重复ARQ。
开始时,将生存期(TTL)值分配给要通过前向信道传输至接收器的每个信息包(步骤1302)。在有些实施例中,分配步骤包括保存TTL在存储器中,或者与信息包一起或者在单独的存储器单元中但相应于该信息包。TTL值代表将允许给定的信息包传输尝试的总次数,包括使用ARQ机制的初次传输尝试和任何重新传输尝试。例如,如果给定的信息包具有值为3的TTL,那么可将它总共传输三次,即初次传输尝试加上2次重新传输尝试。TTL值是信息包的服务类型的函数。例如,视频信息包、音频信息包和数据信息包都具有与其相关联的不同服务类型。使给定的服务类型(TOS)与TTL值相匹配的简单查找表可存储在发送器上的存储器中。
接下来,将信息包通过前向信道传输至接收器(步骤1304)。然后,分配给该信息包的TTL减一(步骤1306),因为进行了一次传输尝试。
如果从反向信道接收到信息包的ACK(步骤1308),则从在发送器上的存储器中删除这个信息包(步骤1310)。因而,在发送器处不再需要该信息包,因为在接收器处成功地接收了这个信息包。
如果从反向信道接收到NACK(步骤1308),则检查该信息包的TTL以查看TTL是否大于零。如果TTL大于零(步骤1312),则按照ARQ技术重新传输这个信息包(步骤1314)。
如果TTL不大于零(步骤1314),从存储器中删除这个信息包(步骤1310)。删除这个信息包因为这个信息包已经超过了被分配的TTL值。换言之,这个信息包对于接收器不再有用;因而,重新传输这个信息包浪费系统的资源。
这与在确定信道条件不好并且重新传输的量将不会导致肯定应答之后才丢弃信息包的已知的系统大不相同。生存期基于服务类型(TOS)而不是信道的状况自动地对传输尝试的总数设置限制。
也要注意,可用许多方法来作出已经超过所分配的TTL的判断。例如,可为每个信息包保存单独的传输计数器并在每次传输尝试加1,在计数器等于TTL值时,将丢弃并不再传输这一信息包。因而,当传输尝试的次数将超过TTL值时,分配给信息包的TTL便被超过。
也要注意,图7-8和10-13的步骤是由图4和6的信息包传输机制410与应答处理机制414的功能组合执行的。这些步骤可作为一组指令来执行,在专用的硬件中或在软件中使用处理器或其它机器来执行这组指令以完成给定的步骤。
尽管已经依靠特定的实施例和其应用描述了在此所揭示的本发明,可由那些本领域熟练技术人员在不脱离在权利要求书中阐述的本发明的范围的情况下,作出许多修改和变体。
Claims (25)
1.一种用于要被传输至接收器的多个信息包的自动重复请求(ARQ)的方法,其特征在于,所述方法包括:
对属于多个信息包信息流的各个信息包信息流的信息包执行自动重复请求,与所述多个信息包信息流的其它的信息包信息流的信息包的传输无关或者不影响它们,其中,所述多个信息包信息流的每一个相应于一指定的服务类型。
2.如权利要求1所述的方法,其特征在于,还包括解析要被传输至接收器的多个信息包的每一个信息包到所述多个信息包信息流的相应的一个信息包信息流中。
3.如权利要求2所述的方法,其特征在于,还包括基于信息包信息流将所述多个信息包的每一个信息包存储到存储器的单元中。
4.如权利要求1所述的方法,其特征在于,所述执行步骤包括按照传输描述符由信息包信息流传输多个信息包至接收器,所述传输描述符指定多个信息包信息流的哪一个的至少多少信息包要传输至接收器。
5.如权利要求1所述的方法,其特征在于,所述执行的步骤包括分配生存期值给要被传输至接收器的每个信息包,所述生存期值代表信息包至接收器的传输尝试的总数,包括在执行自动重复请求时的重新传输尝试。
6.如权利要求5所述的方法,其特征在于,基于信息包的服务类型分配所述生存期值。
7.如权利要求5所述的方法,其特征在于,还包括在每个传输尝试后对所述生存期值减1。
8.如权利要求1所述的方法,其特征在于,所述执行步骤包括:
将来自所述多个信息包信息流中的两个或多个信息包信息流的信息包传输至接收器;
从接收器接收应答,所述应答表示是否无错误地接收到每个信息包;以及
如果所述应答表示错误地接收所述多个信息包信息流的相应一个信息包信息流的相应信息包,则在不影响所述多个信息包信息流的其它信息包信息流的信息包的后续传输情况下,重新传输所述相应信息包。
9.如权利要求8所述的方法,其特征在于,所述传输步骤包括在单个传输帧内传输信息包,并且其中,所述重新传输步骤包括,在后续的单个传输帧内重新传输所述相应的信息包,且不影响在所述后续单个传输帧内所述多个信息包信息流的其它信息包信息流的信息包的后续传输。
10.如权利要求1所述的方法,其特征在于,所述执行步骤包括对属于所述多个信息包信息流的各个信息包信息流的信息包执行自动重复请求,并在单个传输帧内传输,且与在所述单个传输帧内传输的所述多个信息包信息流的其它信息包信息流的信息包的传输无关或者不影响它们。
11.如权利要求1所述的方法,其特征在于,所述执行步骤包括对属于所述多个信息包信息流的各个信息包信息流的信息包执行选择性重复的自动重复请求,且与所述多个信息包信息流的其它信息包信息流的信息包的传输无关或者不影响它们。
12.一种用于要被传输至接收器的多个信息包的自动重复请求(ARQ)的方法,其特征在于,包括:
在传输帧的第一部分中传输的由一个或多个信息包组成的第一组上执行自动重复请求,其中,所述由一个或多个信息包组成的第一组属于多个信息包信息流的各个信息包信息流;以及
在所述传输帧的第二部分中传输的由一个或多个信息包组成的第二组上执行自动重复请求,其中,所述由一个或多个信息包组成的第二组属于所述多个信息包信息流的另外的各个信息包信息流之一,
其中,在所述一个或多个信息包的第一组上执行的自动重复请求与在所述传输帧的第二部分中的信息包的传输无关或者不影响它们。
13.如权利要求12所述的方法,其特征在于,在所述一个或多个信息包的第二组上执行的自动重复请求与在所述传输帧的第一部分中的信息包的传输无关或者不影响它们。
14.如权利要求12所述的方法,其特征在于,所述多个信息包信息流的每一个信息包信息流包括具有多个服务类型之一的信息包。
15.如权利要求12所述的方法,所述执行步骤包括执行选择性重复的自动重复请求。
16.一个自动重复请求系统,其特征在于,包括:
用于执行自动重复请求的装置,所述自动重复请求用于属于多个信息包信息流的各个信息包信息流的信息包,且与所述多个信息包信息流的其它信息包信息流的信息包的传输无关或者不影响它们,其中,所述多个信息包信息流的每一个相应于指定的服务类型。
17.如权利要求16所述的系统,其特征在于,所述用于执行的装置包括用于将生存期值分配给要被传输至接收器的每个信息包的装置,所述生存期值代表信息包至接收器的传输尝试的总次数,包括在执行自动重复请求时的重新传输尝试。
18.如权利要求16所述的系统,其特征在于,所述用于执行的装置包括用于执行自动重复请求用于属于所述多个信息包信息流的各个信息包信息流的信息包的装置,并在单个传输帧内传输,且与在所述单个传输帧内传输的所述多个信息包信息流的其它信息包信息流的信息包的传输无关或者不影响它们。
19.如权利要求16所述的系统,其特征在于,所述执行的装置包括:
信息包传输机制,用于将来自所述多个信息包信息流中的两个或多个信息包信息流的信息包传输至接收器;
应答处理机制,用于从接收器接收应答,所述应答表示是否无错误地接收到每个信息包;以及
所述信息包传输机制,用于如果所述应答表示错误地接收所述多个信息包信息流的相应一个信息包信息流的相应信息包,则在不影响所述多个信息包信息流的其它信息包信息流的信息包的后续传输情况下,重新传输所述相应信息包。
20.一种自动重复请求(ARQ)的方法,其特征在于,包括:
将生存期值分配给要通过前向通信信道传输至接收器的信息包,所述生存期值表示信息包通过前向通信信道的传输尝试的最大次数,包括使用自动重复请求的重新传输尝试,所述生存期值与相应于信息包的服务类型相对应。
21.如权利要求20所述的方法,其特征在于,还包括通过前向通信信道传输信息包至接收器。
22.如权利要求20所述的方法,其特征在于,还包括:
通过反向通信信道从接收器接收否定应答,所述否定应答表示错误地接收到所述信息包;
如果所述信息包的传输尝试的包括使用自动重复请求的重新传输尝试在内的次数不超过所述生存期值,则重新传输所述信息包至接收器。
23.如权利要求22所述的方法,其特征在于,还包括:
所述生存期值减一;以及
其中,所述重新传输步骤包括如果所述生存期值大于零,则重新传输所述信息包至接收器。
24.如权利要求22所述的方法,其特征在于,还包括如果所述信息包的传输尝试的总次数超过所述生存期值,则从存储器中删除所述信息包。
25.如权利要求20所述的方法,其特征在于,所述生存期值表示可用于所述信息包的n个传输尝试,并且还包括在包括使用自动重复请求的重新传输在内的n个传输尝试之后从存储器中删除所述信息包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/991,065 | 2001-11-16 | ||
US09/991,065 US20030103459A1 (en) | 2001-11-16 | 2001-11-16 | Method and implementation for a flow specific modified selective-repeat ARQ communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1613267A true CN1613267A (zh) | 2005-05-04 |
Family
ID=25536831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA028268059A Pending CN1613267A (zh) | 2001-11-16 | 2002-11-13 | 用于信息流专用改进的选择性重复的arq通信系统的方法和实现 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20030103459A1 (zh) |
CN (1) | CN1613267A (zh) |
AU (1) | AU2002343673A1 (zh) |
WO (1) | WO2003045080A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309129B (zh) * | 2007-05-18 | 2011-05-18 | 上海贝尔阿尔卡特股份有限公司 | 针对单独数据包或最后一个数据包的重传控制方法和系统 |
CN101444032B (zh) * | 2006-05-08 | 2012-07-18 | 三星电子株式会社 | 用于高速数据处理的重发装置和方法 |
CN107786560A (zh) * | 2017-10-31 | 2018-03-09 | 南京邮电大学盐城大数据研究院有限公司 | 基于网络编码的多播移动设备视频会议系统 |
CN109005116A (zh) * | 2017-06-07 | 2018-12-14 | 华为技术有限公司 | 一种报文转发方法及装置 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020822B2 (en) * | 2001-08-02 | 2006-03-28 | Texas Instruments Incorporated | Automatic repeat request for centralized channel access |
US6985476B1 (en) * | 2001-08-20 | 2006-01-10 | Bbnt Solutions Llc | Automatic setting of time-to-live fields for packets in an ad hoc network |
US6693910B2 (en) * | 2002-06-28 | 2004-02-17 | Interdigital Technology Corporation | System and method for avoiding stall of an H-ARQ reordering buffer in a receiver |
US7260073B2 (en) * | 2002-12-02 | 2007-08-21 | Nokia Corporation | Method for scheduling of plural packet data flows |
US7953088B2 (en) * | 2003-06-10 | 2011-05-31 | Cisco Technology, Inc. | Method and apparatus for packet classification and rewriting |
EP1671424B1 (en) * | 2003-10-08 | 2012-06-06 | Digital Fountain, Inc. | Fec-based reliability control protocols |
KR100863539B1 (ko) * | 2004-01-09 | 2008-10-15 | 닛본 덴끼 가부시끼가이샤 | 통신방법 |
JP4351557B2 (ja) | 2004-03-03 | 2009-10-28 | 本田技研工業株式会社 | プロトン伝導体 |
GB2417862B (en) * | 2004-09-01 | 2009-09-09 | Samsung Electronics Co Ltd | Adaptive ARQ system |
US7492771B2 (en) * | 2005-04-01 | 2009-02-17 | International Business Machines Corporation | Method for performing a packet header lookup |
US7248587B1 (en) * | 2005-04-11 | 2007-07-24 | Azul Systems, Inc. | Error recovery of variable-length packets without sequence numbers or special symbols used for synchronizing transmit retry-buffer pointer |
US7693050B2 (en) * | 2005-04-14 | 2010-04-06 | Microsoft Corporation | Stateless, affinity-preserving load balancing |
US8036101B2 (en) * | 2006-05-08 | 2011-10-11 | Samsung Electronics Co., Ltd | Retransmission apparatus and method for high-speed data processing |
EP2069950A4 (en) * | 2006-09-13 | 2017-06-21 | Asankya Networks, Inc. | Systems and methods of improving performance of transport protocols in a multi-path environment |
CN1976343B (zh) * | 2006-11-10 | 2010-07-28 | 华为技术有限公司 | 提高传输控制协议数据吞吐量的方法及系统 |
US8014336B2 (en) * | 2006-12-18 | 2011-09-06 | Nokia Corporation | Delay constrained use of automatic repeat request for multi-hop communication systems |
EP1936854B1 (en) * | 2006-12-20 | 2013-11-06 | Alcatel Lucent | Retransmission-based DSLAM and xDSL modem for lossy media |
US8015315B2 (en) * | 2007-03-09 | 2011-09-06 | Cisco Technology, Inc. | Compression of IPV6 addresses in a netflow directory |
US8539532B2 (en) * | 2007-11-23 | 2013-09-17 | International Business Machines Corporation | Retransmission manager and method of managing retransmission |
US8902765B1 (en) * | 2010-02-25 | 2014-12-02 | Integrated Device Technology, Inc. | Method and apparatus for congestion and fault management with time-to-live |
CA2803063C (en) | 2010-06-18 | 2020-03-31 | Thomson Licensing | A packet retransmission method in a wireless transmitter |
KR20120084202A (ko) * | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | 멀티미디어 데이터 패킷을 송신하는 방법 및 장치 |
EP3111416A1 (en) | 2014-02-26 | 2017-01-04 | Thomson Licensing | Method and apparatus for encoding and decoding hdr images |
EP3202070B1 (en) | 2014-09-29 | 2018-08-01 | Telefonaktiebolaget LM Ericsson (publ) | Method and first node for handling a feedback procedure in a radio communication |
WO2016182220A1 (en) * | 2015-05-11 | 2016-11-17 | Lg Electronics Inc. | Method for performing rlc retransmission based on contention-based pusch in a wireless communication system and a device therefor |
WO2017117711A1 (zh) * | 2016-01-05 | 2017-07-13 | 富士通株式会社 | 信息传输方法、装置和系统 |
CN111082899A (zh) * | 2018-10-19 | 2020-04-28 | 中兴通讯股份有限公司 | 一种传输方法、装置和系统 |
US11893127B2 (en) * | 2018-12-21 | 2024-02-06 | Acronis International Gmbh | System and method for indexing and searching encrypted archives |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020118671A1 (en) * | 1995-11-15 | 2002-08-29 | Data Race, Inc. | Extending office telephony and network data services to a remote client through the internet |
US6452915B1 (en) * | 1998-07-10 | 2002-09-17 | Malibu Networks, Inc. | IP-flow classification in a wireless point to multi-point (PTMP) transmission system |
US6778501B1 (en) * | 1999-04-07 | 2004-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Selective repeat ARQ with efficient utilization of bitmaps |
US6760309B1 (en) * | 2000-03-28 | 2004-07-06 | 3Com Corporation | Method of dynamic prioritization of time sensitive packets over a packet based network |
US6879561B1 (en) * | 2000-11-03 | 2005-04-12 | Nortel Networks Limited | Method and system for wireless packet scheduling with per packet QoS support and link adaptation |
US20030023710A1 (en) * | 2001-05-24 | 2003-01-30 | Andrew Corlett | Network metric system |
-
2001
- 2001-11-16 US US09/991,065 patent/US20030103459A1/en not_active Abandoned
-
2002
- 2002-11-13 CN CNA028268059A patent/CN1613267A/zh active Pending
- 2002-11-13 WO PCT/US2002/036335 patent/WO2003045080A1/en not_active Application Discontinuation
- 2002-11-13 AU AU2002343673A patent/AU2002343673A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101444032B (zh) * | 2006-05-08 | 2012-07-18 | 三星电子株式会社 | 用于高速数据处理的重发装置和方法 |
CN101309129B (zh) * | 2007-05-18 | 2011-05-18 | 上海贝尔阿尔卡特股份有限公司 | 针对单独数据包或最后一个数据包的重传控制方法和系统 |
CN109005116A (zh) * | 2017-06-07 | 2018-12-14 | 华为技术有限公司 | 一种报文转发方法及装置 |
CN109005116B (zh) * | 2017-06-07 | 2020-07-24 | 华为技术有限公司 | 一种报文转发方法及装置 |
CN107786560A (zh) * | 2017-10-31 | 2018-03-09 | 南京邮电大学盐城大数据研究院有限公司 | 基于网络编码的多播移动设备视频会议系统 |
Also Published As
Publication number | Publication date |
---|---|
AU2002343673A1 (en) | 2003-06-10 |
WO2003045080A1 (en) | 2003-05-30 |
US20030103459A1 (en) | 2003-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1613267A (zh) | 用于信息流专用改进的选择性重复的arq通信系统的方法和实现 | |
CN1154287C (zh) | 用于选择性重发协议的序列号码范围扩展方法和系统 | |
CN1279772C (zh) | 在移动通信系统中重传数据的装置和方法 | |
CN1188991C (zh) | 用于可靠的和低时延的分组传输的通信设备和方法 | |
CN1251443C (zh) | 组播数据重发的方法和装置 | |
US8611283B2 (en) | Method and apparatus of using a single channel to provide acknowledgement and assignment messages | |
CN1266899C (zh) | 分组通信方法、基地台、移动台 | |
KR100897289B1 (ko) | 무선통신시스템에서 패킷 데이터를 처리하는 방법 및 장치 | |
CN1328734A (zh) | 对于无线分组传输的有效的误码控制 | |
CN1658545A (zh) | 一种移动通信系统和改善该系统中数据处理速度的方法 | |
CN1697354A (zh) | 用组播和单播协议可靠传输数据的方法及接收数据的主机 | |
CN1836401A (zh) | 用于组播数据传输的反馈信令 | |
CN1524364A (zh) | 分组按序的混合自动重复请求(harq)方案 | |
CN1561487A (zh) | 用于重定序和重发实体之间的层间控制的方法和系统 | |
CN1354931A (zh) | 在自动重复请求协议中使反馈响应最小的方法 | |
KR100498928B1 (ko) | 이동 통신시스템에서 데이터 전송 및 수신 방법 | |
CN1745533A (zh) | Arq系统中的传输控制方法 | |
CN1565128A (zh) | 视频数据发送方法和装置 | |
CN1735002A (zh) | 用于在移动通信系统中报告包的接收结果的方法 | |
CN1221118C (zh) | 在移动通信系统中发送多媒体数据的设备和方法 | |
CN1859037A (zh) | 一种高速媒体接入控制分组数据单元的发送和接收方法 | |
CN101034965A (zh) | 高速下行分组接入中协议数据单元传输方法及其系统 | |
CN1449160A (zh) | 用于包括无阻塞交换结构和线路卡接口的系统的包调度 | |
CN1759576A (zh) | 无线分组通信方法 | |
CN1910862A (zh) | 重传数据帧的方法和使用该方法的网络设备 |
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 |