用于异步传输模式和因特网协议的系统和方法

文档序号:7586832阅读:468来源:国知局
专利名称:用于异步传输模式和因特网协议的系统和方法
背景技术
1.交叉引用相关申请本申请遵照美国法律,对1998年9月16日提出的美国临时专利申请第60/100,618号要求优先权,其文件在此结合作为参考。
2.发明领域本发明涉及易于出错的通信网络,尤其涉及提供协议无关、自适应纠错的系统,该系统可应用于无线异步传输模式或因特网协议。
3.背景技术对计算和通信设备之间的互操作性的需要导致了各种通信网络标准的采用。许多种流行标准中的两种是异步传输模式(ATM)和因特网协议(IP),包括传输控制协议(TCP)。ATM是面向连接的非可靠协议,它是考虑到极快速和可靠传输媒体而设计的。TCP是使用肯定应答的可靠、面向连接的滑动窗口协议。
ATM是一种以称为“信元(cell)”的53字节段携带信息(包括语音、视频和数据)的通信网络技术。固定长度信元使网络能够在该信元内携带任何类型的信息,并且提供对不同应用可以不同的严格服务质量。从包含来自各个用户的信息的信元的复现不必是周期性的这个意义上来看,ATM是异步的。ATM是距离无关的,可以应用在局域网(LAN)和广域网(WAN)两者中。
ATM网络可以在许多不同类型的物理媒体的基础上建立起来。ATM网络可以使用铜导线、同轴电缆、光纤、无线、甚至卫星链路。为ATM网络选择物理媒体取决于正在使用的现有物理媒体、速度要求、工具和测试设备、通行权和预算。ATM在传输信息期间并不提供纠错。终端设备或终端用户应用程序一般纠正被破坏(或有错误)信息,通常通过重新传输的方式,但这种纠正会引起延迟。因此,重要的是选择对正在传输的信息的潜在损害最小的ATM媒体,尤其当距离很长,重新传输对应用性能有很大影响并造成网络拥塞时。
传输协议是一组指导物理媒体上信息交换的规则。ATM赖以运行的一些公用传输协议有DSL、T1、E1、T3、E3和SONET/SDH。
ATM“适配”提供了一组将用户信息打包成ATM信元的指令。适配是通过ATM适配层(AAL)实现的。每种不同类型的信息,譬如,语音、视频和计算机传输,可以具有不同的打包方案,这取决于它的传送要求。53字节ATM信元一般还没有大到足以实现大多数通信交换,因此必须将用户信息分解以适合于固定长度的信元。这种划分称为“分段”。在接收端“重新组装”将所有这些片段再组合在一起。
利用标识为虚拟连接的已知端到端路由,信元基于所选的传输协议传送。虚拟连接定义网络上两个端点之间的逻辑网络路径,从一点到另一点的ATM信元在此连接上传送。因为它们是定义在软件中或网络设备的存储器中的,所以虚拟连接是逻辑上的。取决于用于交换业务的寻址方式,ATM网络可以有两种类型的虚拟连接。虚拟信道连接“VCC”使用信元头部的所有寻址位(比特)使业务从一条链路移动到另一条链路。VCC是将一系列虚拟电路连接在一起形成的,这些虚拟电路是为网络的每条链路唯一定义的逻辑电路。虚拟路径连接“VPC”使用信元头部的高阶寻址位使业务从一条链路移动到另一条链路。VPC在其内实现许多VCC。VPC是将一系列虚拟路径连接在一起形成的,这些虚拟路径是为网络的每条链路唯一定义的逻辑虚拟电路组。每个ATM信元头部都包含虚拟电路指示符(VCI)和虚拟路径指示符(VPI),它们是在每个ATM接口上都是唯一的逻辑意义上的交换标记,使各个ATM信元沿着正确的端到端VPC和VCC选择路由。
ATM是面向连接的网络技术,它使用标记多路复用以便提供服务质量(QoS)保证和统计性的多路复用增益。资源的分配和共享是通过业务合同的定义和所指定的服务质量(QoS),在ATM网络中以连接到连接为基础进行管理的。每个连接的业务合同是通过选择服务类别和相关的带宽比定义的。所选的服务类别和带宽比确定所支持的QoS。
ATM支持称为服务类别的各种服务级别,以支持具有不同性能等级的应用。指定给每个连接的服务类别确定网络在传输期间如何按优先级排列和分配资源。在ATM网络中每个虚拟连接(VCC或VPC)都有服务类别。
由于ATM网络是面向连接的,因此,在用户数据开始流动之前,会出现连接建立阶段。在连接建立期间,用户可以通过用户-网络接口(UNI)协议对各种服务质量(QoS)参数和业务特性向网络发信号。对于端到端传输,发送方将传输的用户数据分段成ATM信元。这些53字节ATM信元的每一个都含有5字节的信元头部,并可以携带多达48字节的用户数据。因此,QoS参数是基于信元的参数,譬如,信元传输延迟(CTD)、信元延迟偏差(CDV)和信元损失比率(CLR)。
如果ATM用户从ATM网络请求了给定的QoS或业务合同,那么,此用户也必须将关于此连接的业务特性提供给网络。然后,根据网络的呼叫许可控制(CAC)算法,所请求的QoS、那些业务特性和为其它现有连接约定的QoS,网络进行呼叫许可控制(CAC)。如果网络无需破坏为现有连接约定的QoS,就能提供所请求的QoS,那么,它通常接受新的连接,否则,它一般舍弃此连接。
ATM支持为不同类型多媒体数据流优化的几种服务类别。恒定比特率(CBR)服务用于诸如PCM编码语音的可预测业务源,这样,CBR用户对CTD、CDV和CLR需要端到端保证。可变比特率(VBR)服务用于对其峰值和平均数据速率具有可预测值的突发数据服务。一个例子是使用无声检测(silence detection)的语音流的统计性多路复用。当扬声器处在工作状态时,这些流只产生语音样本。因此,平均比特率大约只是峰值比特率的40%。ATM论坛(Forum)进一步将请求CTD、CDV和CLR保证的实时VBR(rt-VBR)与只请求CLR保证的非实时VBR(nrt-VBR)相区分。ATM可用比特率(ABR)服务利用CBR和VBR服务剩余的带宽。正如上面所讨论的,对CBR和VBR业务的QoS目标主要通过资源保留实现的。反之,ABR服务利用流控制,在不影响以前对CBR和VBR业务保证的QoS的情况下,试图使ABR吞吐量最大,使ABR信元损失最小。最后,未指定的比特率(UBR)服务不提供QoS保证。这类似于在现有IP(因特网协议)网络中的传统尽力(best-effort)业务。
在固定网络中已经开始朝着ATM传送的方向前进。可以预期,新的应用将演变成完全开发出ATM传送技术的全部能力。用户将习惯于这种新的服务水平,并要求相同的应用能够在诸如无线链路那样易于出错的通信网络上运行。为了使这种可能成为现实,无线接口必须发展成支持ATM服务质量的参数。随着服务的改善和可访问性的改善用户应该能观察到无线ATM访问技术的益处。通过保留ATM传输的基本特征,无线ATM提出了性能和服务质量得到改善的承诺,这种性能和服务质量的改善不是如蜂窝式系统、无绳网络或无线LAN之类其它无线通信系统可达到的,另外,无线ATM访问提供了位置无关性,这种位置无关性消除了在使用有线网络上的计算机和功率强大的电信设备时存在的主要限制因素。
TCP/IP是修改成适合于因特网内地址特定应用的协议族。这些协议落在OSI(开放系统互连)协议栈的各层内。
子网络是在物理和数据链路层上管理的。虽然这些层不是TCP/IP协议的一部分,但它们的确与协议栈进行交互。例如,为了到达IP地址,IP地址必须首先翻译成局域网(LAN)机器地址。
相互连接成网络是由网络层上的IP协议管理的。IP不支持差错控制,因此,对于这种功能,要依靠另一种协议,例如,TCP。这些协议和其它协议将数据封装成称之为协议数据单元的包络(envelopes)。从传送层到网络层(即,从TCP到IP),将该PDU称为一段。数据报指的是从网络层下传到数据链路层的PDU。一旦一个数据单元已经通过了各个层,就认为它是一帧。一旦该数据单元在网络上通过,就称它为一个分组(信息包)。
因为在具有不同传输特性的有线网络中这些协议是为最佳效率而设计的,所以难以在诸如无线网络之类易于出错的通信网络上应用诸如ATM或TCP/IP那样的协议。这些特性中的两个是有意义的,因为它们涉及这些协议在无线环境下的使用。首先,无线媒体更易于受有害的噪声和干扰的影响。因此,无线媒体的误码率(BER)常常比有线媒体的误码率高几个数量级。其次,在地球同步轨道(GEO)卫星上传输信息引入了大约500 ms的往返信号传播延迟。结果,诸如TCP之类的现有自动重复请求(ARQ)协议表现较差。
由于ATM被设计成在非常可靠的传输媒体上执行,因此,既不是ATM,也不是任何标准化的AAL能提供纠错机制。ATM层舍弃信元头部有错的任何信元。类似地,大多数AAL也舍弃任何有错的AAL PDU,并依靠更高层纠正有错的数据。由于不是在每条链路上进行纠错,因此,差错可能只在通信的末端上才被检测到。当链路之一是射频(RF)链路时,出错的几率增加了,降低了通信信道的效率。在这种情况下,穿过RF链路进行局部重新传输可以显著提高通信信道的端到端效率。
TCP/IP应用了一些使协议在地面网络中性能良好和有效的算法。但是,这些算法在大延迟、易于出错的无线或卫星通信信道上表现较差。从与无线通信媒体上实现TCP有关的缺点中,因特网工程任务组(Internet EngineeringTask Force)的卫星上TCP(TCPoS)工作组的工作人员已经识别出四种网络拥塞控制算法(1)慢开始(Slow Start);(2)拥塞避免(Congestion Avoidance);(3)快重新传输和快恢复(Fast Retransmit and Fast Recovery);和(4)选择性应答(Selective Acknowledgment)。
“慢开始”算法被设计成只通过以与发送方接收对传输数据的应答的速率相等的速率发送新分组,防止数据发送方挤垮通信链路。发送方从发送单个分组开始,并加倍每当接收到应答的时候开始直到接收到接收器的通告窗口大小时为止发送的附加分组的数量。发送方到达最大信道利用状态所需要的时间在地面有线网络中已经很显著。卫星传输增加了这个时间,并由于延长了应答往返时间而使性能变差。
“拥塞避免”算法假定由于链路拥塞造成的分组损失,会出现超时现象。在有线网络中,这种假设是有效的。在无线环境下,由于RF噪声和干扰会引起数据丢失。一旦检测到网络拥塞,该算法使发送方降低其速率,然后,响应应答,以线性方式提高其速率。但是,在当前拥塞窗口内的多分组损失触发“慢开始”,慢开始”可以将发送器的窗口大小降回到一(1)。这样,在无线网络中,分组的损失可以使TCP连续返回到“慢开始”,因此,决不会达到最大效率。
“快重新传输”算法利用来自接收器的重复应答以确定一个段的损失。接着,发送方初始化“拥塞避免”算法。虽然优于“慢开始”,但“决重新传输”并不广泛适用于某些平台。
“选择性应答”算法将有关没有错误地到达的所有段的应答提供给发送方。这样通过使发送方只重新发送损失的段而不是所有未应答段来改善性能。但是,与“快重新传输”一样,“选择性应答”也不适用于所有平台。
发明概述本发明涉及协议无关差错控制系统和方法,用于克服与诸如现有无线ATM和IP系统之类的易于出错通信网络相关的某些问题。具体地说,本发明是一种协议无关系统或方法,用于改善在无线或其它高出错率通信链路上进行传统网络协议数据传输的性能。本发明包括有助于在端点之间提供更可靠数据传输的几个部件(1)支持质量为准和时间为准数据的ATM适配层;(2)利用优先级方案对不同类型数据调整数据速率的速率转换器;和(3)实现为易于出错链路优化的数据链路协议、并能够识别来自许多类型网络源的业务的协议无关差错控制子系统。协议无关差错控制子系统或方法可以单独使用,也可以与ATM适配层和/或速率转换器组合在一起使用。
ATM适配层ATM适配层(AAL)可以借助于在一端点分段并在另一端点重新组装在一起的段在接收和发送两端实现。AAL包括两个子层。一个子层实现端到端差错控制,使得另一层可以将无差错数据上传到TCP层。第一子层将数据转换成协议数据单元,并将该数据单元划分成多个“ARQ”单元。ARQ单元是大小可变的,它们的长度按照,例如,端到端路径误码率动态更新。这种动态更新改善了吞吐率。另外,由接收器发送的控制分组由发送端点用于将数据单元标记成成功发送的。第二子层携带ARQ数据单元部分。
速率转换器来自发送端点的数据可以传输到可选速率转换器。速率转换器使可用链路的带宽得到有效地分配。更具体地说,根据基于加权的优先级方案给可用比特率(ABR)或其它呼叫分配可用链路带宽。速率转换器按照连接优先级将加权因子指定给每个连接。优先级越高的连接具有越大的加权因子。分配给某个连接的带宽是基于可用带宽和所有基于优先级的加权总和的。因此,给优先级越高的ABR连接分配比例越大的可用链路带宽。这种效率降低了与有限链路带宽相关的数据损失。
协议无关差错控制系统和方法来自可选速率转换器的数据可以传输到协议无关差错控制子系统。或者,可以将协议无关差错控制系统插在传统网络接口与无线发送/接收设备,例如调制解调器或无线电设备之间。系统识别来自网络的业务,并将业务分离成多个数据流。然后,系统根据业务类型和/或服务质量要求,以及当前无线链路条件,自适应地进行纠错。在大多数网络中,差错控制的等级通常是基于静态最差情况通信链路条件。相反,这种自适应方法允许当链路条件好时要通过差错控制功能降低的开销和冗余,从而在长时间段内改善无线带宽的利用。
协议无关差错控制系统包括协议转换器模块和协议无关差错控制模块。协议转换器模块提供与传统网络设备的接口。然后,按照业务类型和/或QoS(服务质量)要求分离来自网络设备的数据。协议无关差错控制模块实现利用选择性重复、滑动窗口重新传输协议的自动重新传输请求(ARQ)协议。为了使处理的开销最小,协议无关差错控制模块使用了可变分组大小和周期性控制消息。分组大小是根据易于出错通信信道(例如,无线信道)的时变条件选择的。另外,协议无关差错控制模块使用前向纠错(FEC)方案。前向纠错方案将冗余编码成可以传输的数据,使得差错可以由接收器检测到并加以纠正,而无需要求重新传输。
概述广义地说,本发明是为数据网络提供差错控制的系统,包括第一异步传输模式适配层,用于输送质量为准数据;第二异步传输模式适配层;用于输送时间为准数据;速率转换器,用于根据优先级方案分配由时间为准或质量为准数据的至少一个使用的带宽;协议转换器模块,用于按照数据类型和/或QoS要求分离网络数据业务;和协议无关差错控制模块,用于接收分离的数据业务、编码数据并将数据输出到无线传输设备,对于随后的接收,在接收器上进行解码和组合。
本领域普通技术人员应该认识到,本申请文件所描述的系统和方法可以应用在各种类型的设备或软件中,或作为各种类型的设备或软件的一部分应用,包括(a)网络接口卡;(b)包含交换器、路由器或访问集中器的网络单元的部件;(c)无线电设备;(d)调制解调器;(e)收发器;(f)与驱动软件耦合的芯片组;和(g)工业标准夹层电路卡。
典型应用为了提供本发明潜在应用的概要,请参考图8。图8显示大量通信始发设备1,包括在私用或公用网络中耦合在一起的电话、个人计算机(PC)和电视机(TV),私用或公用网络通过本发明应用在上面的“TurbolinkTM”平台3挂接。平台3通过数据链路7上的无线收发器5与无线接收器6进行通信,无线接收器6将接收的通信发送到第二“TurbolinkTM”平台4。平台3和4可以含有通过驱动软件与处理器耦合的芯片组、工业标准夹层电路、或与电话、PC和TV通过其提供它们的数据的不同网络接合的各种网络接口卡。
作为本发明差错控制系统和方法的示范性应用,假定Sally利用她的计算机1在因特网上向John的电话发出语音呼叫,John的电话挂接在公用电话网络上。因特网将Sally呼叫中的数据格式化成Turbolink*平台3所接收的那种因特网协议分组。作为本发明的示范性应用,平台3含有检验分组的协议转换器模块,以确定(a)在Sally呼叫中的数据是质量为准的还是时间为准的,和(b)所希望的服务质量要求。象Sally呼叫那样的语音呼叫是时间为准的,通常不是质量为准的。换言之,进行语音电话呼叫的人员想要组成呼叫的数字数据以发送的次序即时到达,但并不关心一些数据是否由于噪声或传输问题等原因遭到破坏。然后,平台3将IP分组转换成通用格式。
根据指定给Sally呼叫的服务质量等级,平台3将利用纠错模块,把前向纠错应用于Sally呼叫。换句话来说,如果Sally已经准备要提供特别高的服务质量等级,那么,纠错模块将应用更多或不同类型的前向差错控制,以使传输差错最小。(因为纠错码在可用带宽中占据有价值的空间,所以不将最大纠错应用于所有呼叫)。此外,平台3可以是涉及正在发送Sally呼叫的无线链路7的质量和条件的监视或接收测量。根据此信息,纠错模块也可以改变应用于Sally呼叫的FEC。
举例来说,随着链路7上的条件变差(例如,由于暴风雨来临使无线传输更易于出错),更多或不同FEC质量可以用于降低差错率;而随着条件改善,则应用较少的FEC。协议转换器和纠错模块可以将Sally呼叫的数据重新包装成通用分组格式,并依所希望的服务质量或链路条件,改变分组中有效负载的大小。在通信末端的接收器6上,平台4含有协议转换器,协议转换器将通用分组转换成适合于将Sally呼叫终止在John电话上的网络的格式。平台4还可以解码Sally呼叫的数据并对数据中的任何差错进行计数,从而有效地监视链路7的质量。
作为本发明另一方面的例子,考虑Acme公司借助于文件在Acme公司的PC1与PC2之间的同时传输,在它的两个办公室之间建立通过TV设备1、2的视频会议呼叫。由于即使很小的传输差错也可以使整个通信变得毫无意义,因此,数据文件传输通信往往更趋向于以质量为准。TurbolinkTM平台3将确定Acme公司在PC1与PC2之间的文件传输是以质量为准的,而它在TV1和TV2内的视频会议呼叫是以时间为准的。平台3将时间为准数据(在如上所述的处理之后)直接路由到收发器5。但是,质量为准数据将通过一附加步骤,在该步骤根据“重新传输协议”对其进行包装。如果没有接收到对其接收的应答,或如果在其传输过程中存在差错,则重新传输质量为准数据。重新传输尝试次数可以由指定给通信的服务质量,或链路质量支配。举例来说,可以向纠错模块发出指令,让它在放弃之前重新传输具有高服务质量要求的文件传输通信多达四次。
这些各种各样的过程都将有助于非常有效地利用在链路7上适用的带宽。由于如图8所示,各种设备彼此竟争以在有限带宽的无线链路7上获得它们的数据,因此,这是非常重要的。本发明可以应用在平台3、4上的另一方面是数据速率转换器,该数据速率转换器将通信按优先级排列,并根据它们的优先级和可用带宽调整分配给特定通信的带宽。因此,将给予Acme视频会议高的优先级和多的带宽。而给予PC1、2之间的电子邮件较低的优先级。因此,本发明的目的在于通过如下方式增加可用带宽(a)保证较不易于出错的通信,(b)优化应用于特定通信的纠错,或(c)对通信传输按优先级排列。因此,本发明的目的是提供一种协议无关差错控制系统。
本发明的另一个目的是提供一种改善在诸如无线链路之类高差错通信链路上传统网络数据传输的性能的系统。
本发明的另一个目的是提供一种从几种不同网络源中识别业务的系统。
本发明的另一个目的是提供一种自适应地应用协议无关纠错的系统。
本发明的另一个目的是提供一种根据业务类型和/或数据的QoS要求自适应地应用协议无关纠错的系统。
本发明的另一个目的是提供一种根据无线链路条件自适应地应用协议无关纠错的系统。
本发明的另一个目的是以有效的方式分配用于无线呼叫的可用带宽。
本发明的另外目的和优点部分可以从如下的描述中得到体现,部分可以从如下的描述中明显看出,或通过本发明的实践得知。本发明的这些目的和优点可以通过所附权利要求书所特别指出的各个单元及其组合的手段来实现和达到。
附图简述

图1是根据本发明,用于传输数据的无线网络的方块图;图2是ATM适配层子系统的方块图;图3是公用部分收敛子层协议数据单元的方块图;图4是自动重新传输请求(ARQ)协议数据单元的方块图;图5是控制分组的方块图;图6是查阅表的方块图,该查阅表显示作为端到端路径误码率的函数的有效负载长度;图7是分段和重新组装协议数据单元的方块图8是本发明如何应用在网络中的方块图;图9是传输差错控制系统(TECS)的方块图;图1O是图9中TECS的协议转换器模块的方块图;图11是图9中TECS的协议无关差错控制模块的方块图;图12显示了由协议无关差错控制子系统对数据的编码和解码;图13是通过传输应用和AAL处理数据的流程图;图14是SDLP数据分组的方块图;图15是显示要通过TECS的协议转换器发送的数据流的流程图;图16是显示要通过TECS的协议无关差错控制模块发送的数据的流动的流程图;和图17是对AAL和接收ATM信元有效负载和重构数据的应用进行处理的流程图。
详细描述在更详细地描述附图和实施例之前,下面先描述几个术语,以努力澄清在本说明书中使用的专用名词。通过阅读说明书全文,可以更加全面清楚地理解这些术语。
·服务质量利用测量通信效率的各种参数,以端到端为基础定义服务质量。例如,对于ATM网络,服务质量一般用信元损失比、信元传输延迟或信元延迟偏差定义,这些术语的每一个都是本领域普通技术人员熟悉的。
·通用分组格式这个短语是指非协议相关的分组格式。
·前向纠错涉及各种旨在检测和纠正数字数据流中的差错的技术。
·数据流数据流是指以任何方式组织的数字信息,例如比特流或字节流,或者分组数据。
现在开始详细说明本发明,这些例子显示在附图中。在附图中相同的标号自始至终用于表示相同或相似的部分。
图1是根据本发明,用于传输数据的无线网络100的方块图;网络100可以是,例如,电话网、因特网、局域网(LAN)、广域网(WAN)、住宅宽带网、卫星网、或利用无线电设备150a、150b或其它收发设备跨越无线链路传输数据的任何其它网络。网络100还可以是异步传输模式(ATM)网络或因特网协议(IP)网络、或包括IP和ATM单元两者的网络。
网络100包括为数据接收方120创建数据的数据源110。数据源110和数据接收方120总称为“端点”。端点可以是任何数据创建或接收设备,包括,但不限于,计算机(例如,PC工作站,超级计算机)、电缆或xDSL调制解调器、家用终端(顶置盒、或住宅网关)、其它信息源(例如,多媒设备)、或接收器(例如,视频解码器)。端点还可以是诸如路由器或交换器之类连接网络的设备。但是,可以明显看出,可以使用传输数据的任何设备。类似地,数据接收方120可以是任何数据接收设备,包括上面所列举的所有设备。
端点110、120可以包括一个或多个创建、发送、接收或处理数据的终端用户应用系统160。应用系统160a、160b、162a和162b可以支持多媒体业务,还可以支持大范围的数据传输速率。应用系统160a涉及质量为准数据,并使用诸如TCP的协议。应用系统160b涉及时间为准数据,并使用诸如UDP的协议。TCP是为了可靠起见利用重新传输方案的标准因特网协议。UDP是利用“最努力”尝试以用最小开销量输送业务、但不应用任何有关可靠输送的机制的标准因特网协议。为了描述的目的,将TCP业务当作“质量为准”业务对待,而将UDP业务当作“时间为准”业务对待。对于质量为准业务,可靠输送是非常重要的。对于时间为准业务,最小延迟是非常重要的。
数据传输/ATM适配层(AAL)端点110、120可以包括AAL子系统,AAL子系统包括两个用于输送时间为准业务或质量为准业务的AAL协议。第一AAL协议,即“AAL X”170,用于输送TCP或其它质量为准业务。第二AAL协议,即“Null ALL”180,用于输送UDP或时间为准业务。下面将更详细地讨论这些协议的每一种。这些协议可以作为驻留在端点110、120的软件来实现。或者,这些协议可以在安装在端点110、120内的硬件,例如网络接口卡上的固件驱动器中实现。
图2是AAL协议170、180的方块图。这些协议可以划分成多个OSI层,OSI层封装包含在IP分组225中的数据。将来自应用系统160的数据确定为时间为准的或质量为准的。在本实施例中,这种确定可以使用IP头部中的IP协议类型码,对于UDP,它是17,对于TCP,它是6。一开始就利用标准IP协议封装方法将TCP数据215封装在IP分组225中。将TCP或质量为准数据215封装在IP包中,并将其传输到AAL X协议170的公用部分会聚子层(CPCS)230。将UDP或时间为准数据217传输到Null AAL协议180的公用部分会聚子层230。
CPCS 230接受来自IP栈的IP分组225。CPCS 230从该分组中提取分组类型、TCP或UDP。接着,将来自IP分组(有效负载)的数据放置在CPCS协议数据单元(CPCS-PDU)300中作进一步适配。CPCS-PDU格式显示在图3中。CPCS-PDU 300包括三个字节的头部,其中包含表示CPCS-PDU 300开始的两个字段。传输端点插入开始标签(Btag)305和结束标签(Etag)330,以便接收端点识别每个CPCS-PDU。长度字段310包含指示整个CPCS-PDU长度的部分和指示UDP/IP头部长度的部分。包含在原始IP分组中的数据存储在CPCS-PDU有效负载字段320中。
对于TCP数据,CPCS 230(图2)将CPCS-PDU 300传递到AAL X协议170中的自动重新传输请求(ARQ)子层240。ARQ子层240为网络提供端到端重新传输能力。具体地说,子层240将CPCS-PDU 300划分成ARQ协议数据单元(ARQ-PDU)400。
图4是从CPCS-PDU 300划分出来的ARQ-PDU 400的方块图。数据单元400包括序号(SN)字段410,它用于以特定次序输送数据单元。如果ARQ-PDU 400丢失了,或出现差错,那么,ARQ子层240将尝试借助于其缓冲器中的相同SN重新传输数据单元400。字段410是2字节字段,或者最好大到足以支持卫星网络中所需要的流动控制窗口的大小(即,可以在正在接收的应答之前发送的数据单元的数量)。循环冗余校验(CRC-16)字段440用于保护序号和ARQ-PDU有效负载。
第二字段420是长度为L的原始有效负载的一部分,此处L是端到端路径误码率(BER)的阶梯函数(step-function)。一种可能的阶梯函数显示在图6中。BER通过ARQ子层240计算出来。此BER计算可以基于最近接收的ARQ-PDU 400的差错统计(即,在最后接收的ARQ-PDU 400内CRC-16校验出错的ARQ-PDU 400的数量)或包含在由接收器120返回的周期性控制分组中的状态信息。控制分组可以在RM(资源管理)信元中传送。从CPCS-PDU 300划分出来的最后一个ARQ-PDU 400将具有等于L*的长度,此处L*等于CPCS-PDU长度被整除后的余数。填充字段430附加到最后一个数据单元。填充字段的长度在0-43字节之间,可以通过考虑PDU400的头部和尾部的长度来确定。
与经典ARQ方案不同,本发明的ARQ方案不使用重新传输定时器。这样防止冗余重新传输或恢复时段受到超时机制的影响。分组大小随着端到端路径条件而改变,以改善吞吐率。接收器120通过控制分组,周期性地将它的状态发送到发送器110,从而消除了超时机制。控制分组,或一些控制分组序列,可以提供在发送器110上进行BER计算所需要的、关于最近接收到的ARQ-PDU400的差错统计。
ARQ-PDU有效负载长度L可以利用查阅表600自动更新,如图6所示。查阅表600显示了作为端到端路径BER函数的有效负载长度。对于i=1、2、3等,有效负载的长度L等于48*i-4,这里i代表PDU的头部和尾部之和。最初,将i设置为1,对应于最坏情况,每当从接收器120接收到控制分组时,发送器可以更新有效负载长度L。根据新的有效负载长度。接收器可以更新控制分组的产生率。
ARQ子层240(图2)将每个ARQ-PDU 400传送到分段和重新组装(SAR)子层260。对于质量为准的业务,ARQ-PDU 400被划分成48字节ATM信元有效负载。然后SAR子层260将ATM信元有效负载传送到服务访问点(SAP)290。对于时间为准的业务,CPCS-PDU 230被划分成47字节的段(SAR-TCT有效负载730)插入到“SAR-TCT PDU”700中,如图7所示。这个SAR-TCT PDU 700包括4比特SN 710和在SN上的4比特CRC 720。SN 710和CRC 720附加到47字节段形成48字节单元,这是ATM信元有效负载。0到46字节的填充字段740附加到最后的段,使得有效负载730加上填充字段740等于47字节。然后,SAR子层260将ATM信元有效负载传送到服务访问点(SAP)290。
SAP 290保存将SAR-TCT PDU 700和ARQ-PDU 400映射成相应虚拟路径标识符(VPI)和虚拟信道标识符(VCI)的表。SAP 290还针对它可以管理的业务的类型标识每个VPI/VCI。对于ATM信元有效负载,SAP 290创建5字节ATM信元头部,并将它附加到接收的ATM信元有效负载。然后,将ATM信元有效负载传送到网络接口卡(NIC)295。或者,SAP 290可以将48字节ATM信元有效负载传送到端点110内的网络接口卡295。然后,NIC将创建5字节ATM信元头部。对于一段中除最后一个信元之外的所有信元,SAP 290将ATM信元头部的有效负载类型(PT)字段内的ATM用户到用户(AUU)字段设置成0。对于该段的最后一个信元,将PT字段的AAU设置成1。
图13是通过传输应用系统160和AAL处理数据的流程图。在步骤1302,应用决定数据是质量为准还是时间为准的。在本实施例中,在步骤1304中TCP用于质量为准数据,而在步骤1306中UDP用于时间为准数据。在步骤1308,将UDP数据传输到IP栈。在步骤1310,将TCP数据传输到IP栈。
在步骤1314,接受IP分组,并提取分组类型。在步骤1316,将IP分组封装成CPCS PDU。如果有效负载是TCP业务,则在步骤1318将其发送到SAR-QCT模块。如果有效负载是UDP业务,则在步骤1320将其发送到SAR-TCT模块。在步骤1322,ARQ模块将CPCS PDU划分成用于SAR-QCT的ARQ PDU。在步骤1324,SAR-QCT将ARQ PDU划分成用于SAP模块的48字节ATM信元有效负载。(SAR-QCT模块从ARQ PDU中创建48字节ATM信元有效负载。)将ATM信元有效负载传送到SAP。在步骤1328,SAP为ATM信元附加包括VPI/VCI的5字节头部。
ATM速率转换器ATM速率转换器830作为软件驱动器实现,它可以驻留在端点的网络接口卡中或ATM交换器840中。速率转换器830通过可用比特率(ABR)服务和加权优先级带宽分配方案的组合,将带宽分配给ATM业务。国际电信联盟(ITU-T)已经定义了解决ATM呼叫优先级的技术规范。将这个呼叫优先级推荐标准(Q2959)(“推荐标准”)列在这里以供参考。速率转换器830和TECS820按如下扩展了这个推荐标准。
在端点110与120之间发信号期间,呼叫建立消息包括可选优先级信息单元(IE)。优先级IE具有10字节的长度,并在第5字节中规定优先级信息。尽管当前只有5个优先级被ITU-T标准化,但在IE中定义了128个优先级。
链路l上的可用带宽ABRl等于此链路l上用于ATM用户面业务的总带宽减去此链路l上的一个和值Sum(用于CBR呼叫的PCR加上用于VBR呼叫的SCR加上用于ABR呼叫的MCR)。当在ETECS上接收到呼叫建立请求并且可用带宽足以容纳所请求的QoS参数时,ETECS接受该呼叫。如果带宽不足以容纳所请求的QoS参数,则将所有UBR呼叫的有效带宽设定为0。如果仍然存在不足以容纳所请求的QoS参数的带宽,那么ETECS进入优先级模式。
原始端点110可以为每个呼叫建立请求提供优先级信息。如果提供优先级信息,ETECS将指定最低优先级。外部处理规定了对优先级请求的筛选,以保证用户不超过他们的最高允许优先级。在呼叫建立期间,ETECS将网络到网络接口(NNI)上的、包含在优先级IE中的优先级信息传送到目标用户到网络接口(UNI),它随后将该优先级信息输送到目标端点120。
当在呼叫建立消息中指定优先级时,ETECS的优先级模式按如下执行。如果新的呼叫具有比所有现有的呼叫低的优先级,并且呼叫建立消息请求具有大于零的最小信元速率(MCR)的ABR服务(或具有大于零的峰值信元速率(PCR)的CBR服务,或具有大于零的持续不变的信元速率(SCR)的VBR服务),那么,摒弃此呼叫。如果新的呼叫具有比所有现有的呼叫低的优先级,并且请求MCR=0的ABR服务,那么,借助于等于零的分配带宽接收该呼叫。如果新的呼叫具有比一些或所有现有的呼叫高的优先级,那么,ETECS在CBR、VBR和ABR服务之间划分新的呼叫。对于CBR或VBR呼叫,ETECS进入“减少模式”。对于ABR呼叫,ETECS首先进入“减少模式”,然后再进入“重新分配模式”。
在减少模式中,可用带宽通过新的呼叫带宽请求来减少(即,如果新的呼叫请求CBR服务,那么,可用带宽通过由新呼叫所请求的PCR来减少;如果新的呼叫请求VBR服务,那么,可用带宽通过所请求的SCR来减少;如果新的呼叫请求ABR服务,那么,可用带宽通过所请求的MCR来减少)。如果新计算的可用带宽大于或等于零,那么,接受新的CBR、VBR或ABR呼叫。然后,ETECS利用如下所讨论的加权优先级分配算法,在ABR呼叫间重新分配可用带宽。否则,就摒弃新的CBR、VBR或ABR呼叫,并将可用带宽恢复成它以前的值。
在重新分配模式中,利用如下加权优先级带宽分配算法,在较低优先级ABR呼叫间重新分配可用带宽。依照其连接优先级,指定给每个ABR连接一个加权因子,使得优先级p相同的每个连接具有相同的加权因子。较高优先级的连接具有较大加权因子。因此,对于连接i和j如果pi>pj,则wi>wj。链路l上的可用带宽ABRl等于此链路l上用于ATM用户面业务的总带宽减去此链路l上的和数Sum(用于CBR呼叫的PCR加上用于VBR呼叫的SCR加上用于ABR呼叫的MCR)。从可用链路中,链路l上分配给ABR连接i的数量等于MCRi+ABRl*wi/SUM(w),此处,MCRi是为ABR连接i保留的最小信元速率,ABRl是用于此链路的可用带宽,wi是连接i基于优先级的加权,和SUM(w)是所有基于优先级的加权之和。如果指定给ABR连接i的加权优先级带宽分配大于为ABR连接i请求的峰值信元速率(PCR),那么按照它们基于优先级的加权将额外的可用带宽指定给其它ABR连接。
例如,如果我们拥有如下关系对于ABR呼叫,可用带宽=100 Mbps连接1优先级=0(最高);PCR=80 Mbps;MCR=0 Mbps连接2优先级=2;PCR=50 Mbps;MCR=0 Mbps连接3优先级=2;PCR=20 Mbps;MCR=0 Mbps连接4优先级=4(最低);PCR=15 Mbps;MCR=0 Mbps首先,ABR转换器计算加权因子,使得最高优先级连接具有最大加权和最低优先级连接具有最小加权,如下所示。对于加权,其它选择也是可以的,只要对于连接i和j,加权满足如下条件即可如果Pi>Pj,则wi>wj优先级数3将加权=3指定给连接1(最高)将加权=2指定给连接2将加权=2指定给连接3将加权=1指定给连接4(最低)然后,ABR速率转换器计算初始分配。
加权总和SUM=8连接1分配=3/8*100=37.5 Mbps连接2分配=2/8*100=25 Mbps连接3分配=2/8*100=25 Mbps连接4分配=1/8*100=12.5 Mbps由于用于连接3(25 Mbps)的分配超过用于此连接的PCR(20 Mbps),因此,将用于连接3的分配设置成它的PCR,并根据其余ABR呼叫的优先级,按如下重新计算其余的分配ABR可用带宽=100-(用于ABR连接3的PCR)=80 Mbps和SUM(用于ABR连接1、2和4的加权)=6连接1分配=3/6*80=40 Mbps连接2分配=2/6*80=26.67 Mbps连接3分配=20 Mbps(PCR)连接4分配=1/6*80=13.33 Mbps递归进行这种指定算法,直到用于所ABR连接的分配都小于它们的PCR为止。
一旦呼叫(CBR、VBR或ABR)得到释放,就利用加权优先级带宽分配算法,在所有ABR呼叫中分配增加的带宽。类似地,在链路带宽增加期间,利用加权优先级带宽分配算法,在所有ABR呼叫中重新分配增加的带宽。当链路带宽减小时,通过利用加权优先级带宽分配算法,在所有ABR呼叫中重新分配减小的带宽。
传输差错控制子系统(TECS)来自诸如可选速率转换器830之类网络设备的数据传送到传输差错控制子系统(TECS)820。TECS820利用抗毁数据链路协议(SDLP,Survivable DataLink Protocol)提供差错控制。SDLP是ARQ协议的具体形式。SDLP是一种选择性重复、滑动窗口、重新传输协议,它通过如下方式使开销最小1)利用可变分组大小;和将周期性控制消息从接收器传输到发送器。
图9是根据本发明的TECS的方块图。TECS包括两个基本部件(1)协议转换器模块(PCM)920;和(2)差错控制模块(ECM)940。PCM提供与传统语音或分组数据网络进行连接所需要的所有网络或数据链路协议特有功能。PCM还接受来自诸如速率转换器830之类网络设备的分组。PCM920将所有的输入业务分离成不同的业务类型。ECM940为PCM传输的各种业务类型提供协议无关纠错。外部控制器960可以用于对ECM940编程,在通过无线链路传输数据之前,根据诸如它们的QoS要求之类的准则,将不同的差错控制等级应用于不同的业务类型。
图10是PCM的一种结构类型的方块图。PCM940包括几个子单元(1)网络协议接口(NPI)942;(2)网络输入/输出控制(NIOC)944;(3)发送业务分离器(STS)946;(4)发送分段器和链接器(SFC,Send Fragmentor andConcatenator)948;和(5)接收逆分段器和逆链接器(Receive Defragmentor andDeconcatenator)949。
NPI 942提供与传统语音、串行、帧、信元、分组网络或ATM速率转换器830的物理、媒体访问协议、数据链路协议、和网络协议接口。具体地说,NPI 942在外部网络设备(例如,路由器、NIC或ATM速率转换器830)之间传输数据,并且将数据发送到先入/先出(FIFO)缓冲器953、955或从先入/先出(FIFO)缓冲器953、955接收数据。
一旦接收到数据帧,NPI 942发出供NIOC 944使用的中断。NPI物理接口可以是光纤、铜线、或射频(RF)。NPI数据链路协议接口支持帧内数据的封装和解封。所支持协议的一些例子显示在表1中。
表1NIOC 944为NPI 942与ECM之间的数据传输提供定时和控制。在NPI942传输中断之后,NIOC 944从NPI 942读取数据帧,并将数据帧放置在输入FIFO 953中。
FIFO 953、955存储来自NPI 942或接收逆分段器和逆链接器949的数据。一旦接收到数据,在FIFO中的空标志就从“真”变成“假”。在空标志从“真”转变为“假”之后,FIFO 953、955分别向STS 946和NPI 942提供中断。
STS 946等待来自输入FIFO 953的中断。然后,STS检查接收数据帧内的网络有效负载头部,根据包含在这些头部中的信息和在ECM940(如下所述)的MIB中的查阅表确定其业务类型。对于各种网络协议,STS 946利用不同的方法确定业务类型。例如,对于IP数据,服务的类型、差分服务代码点(Differentiated Services Code Point)、IP协议类型、或端口号等可以用于确定业务类型。对于ATM数据,在呼叫建立消息中请求的服务质量和/或ATM信元头部的VPI/VCI段可以用于确定业务类型。对于帧中继数据,服务数据的专用质量用于确定业务类型。STS 946以多比特流的形式传输分组或帧。
发送分段器和链接器(SFC)948接受来自STS 946的数据字节。SFC948通过分段或链接分组/帧,为现有链路条件创建最佳长度的抗毁数据链路协议(SDLP)有效负载。这样,在NPI 942接收的输入网络数据单元中,SDLP分组边界不需要与帧边界排列在一起。最佳有效负载大小从ECM940中的控制代理850获得。下面更详细地讨论控制代理850和SDLP格式。
另外,TECS820利用来自接收器的周期性控制消息,以保证只有当出现错误时才重新传输分组。举例来说,可以通过取两个量(a/m)或d的最大者给出控制消息间隔Tl,这里,a是往返延迟,m是用于控制分组产生的控制参数,和d是相互到达时间。当在BER相对较高的链路(即,10-5或更高)上使用时,ARQ协议性能易于受在传输过程中使用的分组大小的影响。太大的分组大小使得对重新传输的需要增加。由于在每个分组中所需要的固定开销,太小的分组大小将导致失效。因此,TECS采用基于对信道条件(例如,信道的误码率(BER))估计的分组大小。分组大小适配可以利用网络特有的查阅表或为每个信道条件范围给出分组大小的协议特有的查阅表,或者可以利用如下给出的、用于计算最佳SDLP分组大小Lopt的公式化方法。Lopt=-h1n(1-p)--4hln(1-p)+h2ln(1-p)21n(1-p)]]>这里,h是每个SDLP分组的开锁位数,和p是端到端BER。
控制分组格式显示在图5中。如上所述,接收器120为质量为准业务向源110周期性地发送控制分组。控制分组包括标识控制分组开始的帧比特字段。FEC类型字段1425指示用于对该数据编码的特定FEC码。业务指示符字段1435指示数据的业务类型。MSN字段1445指定已经正确地接收所有以前传输的分组的分组序号。(每种业务类型使用不同的序号空间。这样,每个分组由业务指示符字段和序号两者的组合来标识。)每个往返延迟从接收器发送到发送器的控制分组数包含在m字段1455中。BMAP字段1480包含一比特字段,其中一比特对应于分组的正确或不正确接收。(BMAP字段的最低有效位是指带有序号=(MSN+1)(对序号范围的大小求模)的(由TI字段1435指示的类型的)SDLP分组)。在信道质量字段1485中指定对在接收器上测量的信道BER的估计。最后,CRC 1490用于检测在传输控制分组期间的差错。这些字段大小只是例子。不同无线网络和网络协议可以要求不同的值。ECM显示在图11中。在ECM中的中心处理是控制代理(CA)850。CA是连续有效处理,从ECM中的其它部件接收链路状态测量结果。CA 850为SDLP分组确定最佳有效负载大小,并将此信息提供给SFC 948。另外,CA 850通过控制分组软件883确定输出控制分组的间隔。
供CA 850使用的信息存储在管理信息库(MIB)852中,正如下面所讨论的,MIB 852存储与TECS内其它处理共享的状态和控制参数。来自发送分段器和链接器(SFC)的有效负载由有效负载管理器810接收,一旦接收到这样的有效负载,有效负载管理器就将中断发送到控制代理850。该中断使控制代理850分配有效负载帧缓冲器815中的存储器。控制代理850将在帧缓冲器815中分配的位置通知有效负载管理器810,并命令有效负载管理器810将数据传输到帧缓中器815。
当一个或多个有效负载出现在有效负载帧缓中器815中时,控制代理850将根据调度算法(众所周知的例子包括加权公平排队(Weighted FairQueuing)、优先级、FIFO和循环(Round Robin)),命令SDLP编码器847检索来自帧缓中器815的有效负载,编码该有效负载,并将其发送到输出多路复用器。控制代理将有效负载在帧缓冲器815中的位置通知编码器847。
本领域普通技术人员应该明白,还有其它实现协议转换器或差错控制模块的结构,并非所有如上所述PCM920或ECM940的部件都是实施本发明所必须的。另外,协议转换器或差错控制模块可以以软件、固件或硬件的方式实现。例如,可以将PCM920或ECM940当作如下部件应用网络接口卡、包含交换器、路由器或访问集中器的网络单元的部件、无线电设备、调制解调器、收发器、与驱动软件耦合的芯片组、或工业标准夹层电路卡。
编码器847对有效负载进行前向纠错(FEC),并附加成帧和SDLP头部信息,输出到多路复用器。FEC是将冗余编码成传输数据使得检测器无需重新传输就可以检测和纠正差错的方法。许多类型的FEC都可以使用,包括最近使用的Turbo乘积码,但本发明最好使用利用里德-所罗门(Reed-Solomom)FEC外码和传统FEC内码的并置方案。本发明也可以使用诸如Turbo乘积码之类的其它技术。
图12显示了本发明的编码器847和解码器860对数据的编码和解码。在本例中,里德-所罗门编码器910对组织成字节的比特进行操作。典型里德-所罗门码实施方式允许块大小在1到225字节之间,以及校验码元数从1到20。利用8比特码元,这些变量造成了里德-所罗门码从[2,1]到[245,225]的范围。在本发明中,编码率随链路质量而改变。另外,每种业务类型可以使用不同的里德-所罗门码实施方式。
内部编码是卷积/维比特(Viterbi)FEC。卷积编码对连续比特流进行操作。在传统系统中,典型卷积编码码实施方式具有7比特的约束长度,其编码速率根据由操作者建立的BER阈值,在1、7/8、3/4、和1/2之间改变。
为了改变卷积码的速率,可以使用穿孔(puncturing)方案。穿孔码是一种在传输数据流之前移去一些比特,而在接收端将移去部分重新插入适当位置,将较低速率码(即,1/2)转换成较高速率码的码。通过使用不同的穿孔等级可以取得不同的码速率。在本发明中,每种业务类型可以使用不同的穿孔等级。
卷积码对数据流中随机隔开的误码处理得最好。交织器940、960插在里德-所罗门编码器与卷积编码器之间。内部交织器将提供给维比特解码器的数据流随机化,使得与正常无线通信相联系的突发差错呈随机隔开的单误码出现。外部交织器防止了这些突发差错超出了里德-所罗门解码器的突发纠正能力。
一旦对有效负载进行编码,编码器就创建SDLP分组。图14是SDLP格式的方块图。分组1400包括几个字段。编码有效负载存储在有效负载字段1460中。因此,有效负载字段1460的大小是可变的。然后,编码器预先考虑指示分组1400开始的28比特的帧比特(Frame Bits)字段1410。FEC码存储在FEC类型字段1420中。TI字段1430存储2比特的业务类型指示符。例如,字段1430可以区分时间为准、质量为准、网络控制/管理和其它控制数据。将序号指定给每个有效负载,并对于每个有效负载其序号递增(模运算(序号范围的大小),在本例中,其大小为2**10=1024)。序号存储在SN字段1440中。这个序号由输出ARQ模块848来指定。12比特段计数器字段1450指示有效负载数据的大小(以字节为单位)。最后,循环冗余校验1470用于检验在传输分组过程中的差错。这些字段大小只是例子。不同无线网络和网络协议可以要求不同的值。ARQ输出模块848还维持帧缓冲器815中有效负载与指定给每个输出SDLP分组的序号和类型指示符之间的联系。
当一个或多个有效负载出现在有效负载帧缓冲器中时,控制代理将根据调度算法,命令编码器从缓冲器中检索有效负载,应用FEC编码原理,并将其发送到输出多路复用器846。控制代理850通知编码器847有效负载处在帧缓冲器815中的位置。控制代理还向编码器847发出指令应用特定的FEC编码等级。
输出ARQ模块848将序号指定给输出分组,并在传输分组期间维护滑动窗口。模块848还维持传输分组的内部数据库,并根据从数据接收器120接收的控制分组更新此数据库。非确认分组由ARQ模块848重新传输。在来自编码器847的序号请求之后,ARQ提供下一个可用序号(模运算(序号范围的大小))。
输出多路复用器846接受来自编码器和ARQ模块848的数据。多路复用器846将发送到先入先出缓冲器849的数据按优先级排列。给予数据的重新传输以最高优先级,而给予数据传输以最低优先级。多路复用器还可以将相关的优先级指定给不同的业务类型。
通过输出FIFO 849空标志从“假”到“真”的过渡或从帧缓冲器815接收数据传输请求启动多路复用器。当被FIFO 849中断时,多路复用器849检验未决输出请求,并将与最高优先级请求相对应的数据分组发送到FIFO849。
将来自FIFO的数据传送到ECM与无线传输设备、如视线(Line of Sight)无线电设备之间的I/O接口。ECM与无线传输设备之间的接口最好是一种全双工同步串行接口。
图15是显示要通过TECS的协议转换器发送的数据的流动的流程图。在步骤1502,NPI接收来自网络的业务,并发出接收中断。在步骤1504,I/O控制模块读取来自NPI的数据帧。在步骤1506,I/O模块将数据放置在输入FIFO中。一旦输入FIFO标志从“真”转变为“假”,STS就从FIFO读取数据帧。在步骤1510,业务分离模块读取头部以确定业务类型。在步骤1512,分离模块将数据输出到分段和链接单元。在步骤1514,分段和链接单元分段或链接数据以构成最佳大小的有效负载。这些有效负载不需要沿着由STS接收的数据帧的帧边界定位。在步骤1516,将数据发送到ECM。
ECM的流程显示在图16中。在步骤1602,有效负载管理器从协议转换器模块接收数据。在步骤1604,有效负载管理器将中断发送到控制代理。在步骤1608,控制代理分配帧缓冲器中的存储器,并命令有效负载管理器传输数据。在步骤1610,编码器从缓冲器检索有效负载。在步骤1612,编码器编码数据并将其发送到多路复用器。在步骤1614,多路复用器将数据分组发送到输出FIFO。在步骤1616期间,来自FIFO的SDLP数据传送到I/O接口以输出到无线传输设备。
数据接收再参照图1,来自第一无线数据收发器150a的数据传输到第二无线数据收发器150b,并传送到在传输的接收方上的TECS 824。在接收方,TECS 824解码并重新组装数据,供在接收器端点120上的应用162a、162b使用。
再参照图11,数据最初进入ECM 940。在I/O接口853上接收数据。I/O控制851为SDLP分组的串行数据的所有输入提供定时和控制。将数据插入输入FIFO 833中。
分组解码器860包括3个子部件(i)成帧/FEC头部部件862、FEC解码器864和链路质量解码器866。解码器860在输入数据流中搜索成帧信息,以定位SDLP分组边界。一旦使分组形成帧,就由FEC解码器864对其进行解码以进行差错检测和纠正。链路质量部件866通过维护由FEC解码器864检测的误码数的计数来测量当前链路状态。
解码器860是受中断驱动的,并在来自输入FIFO 833的状态行从“真”转变为“假”之后启动。在这样的启动之后,解码器传输来自输入FIFO的帧,解码数据,将链路状态信息发送到控制代理850,并将解码的分组传输到业务分离器887。
业务分离器887检查SDLP分组的TI个比特,以确定分组是包含控制信息,还是包含数据信息。然后,分离器887将控制信息(控制分组)路由到控制代理850,控制代理850随后将它们前送到传输ARQ模块848进行确认处理。传输ARQ 848在从分离器887传输控制分组之后被启动。传输ARQ模块848为每个接收的控制分组核实CRC 1490。如果能够通过此CRC校验,那么,传输ARQ模块848就检查BMAP字段1480。然后,传输ARQ模块848移去帧缓冲器815中被控制分组确认的任何分组。如果控制分组指示需要重新传输数据分组,那么,传输ARQ模块848就将重新传输请求发送到帧缓冲器815。传输ARQ模块将与原始传输尝试所使用的序列相同的序列指定给重新传输SDLP分组。在本实施例中,传输ARQ模块可以使用BMAP字段1480与m字段1455的组合,以确定什么时候重新传输SDLP分组。
将质量为准数据分组路由到接收ARQ子系统894,ARQ子系统894核实SDLP分组的CRC 1420。如果此SDLP分组通过CRC校验,那么,子系统894就将输入分组的序号保存在缓冲器892中。随后将这个序号信息路由到传输ARQ模块848,传输ARQ模块848产生图5所示那种形式的SDLP控制分组。然后,将质量为准数据分组传送到分组解封系统899。接收ARQ子系统894保证分组不至于无序传输。
将时间为准分组路由到接收非ARQ子系统896,随后再将其路由到分组解封系统899。接收非ARQ子系统还核实SDLP分组的CRC1420。CRC校验失败的时间为准分组要么被舍弃,要么用补偿此时间为准分组损失的适当“填充分组”取代。“填充分组”可以帮助维护相邻时间为准SDLP分组之间的定时关系,或根据最后一个时间为准SDLP分组的内容提供差错屏蔽。
分组解封子系统899解开SDLP数据分组,重新构造网络分组。
接收逆分段和逆链接单元(RFC)949(图10)从ECM的分组解封单元899接受SDLP有效负载。然后,RFC检查有效负载数据中的头部和分段头部信息,以重新构造网络分组。然后,将有效负载存储在FIFO 955中。在来自FIFO的传输中断之后,I/O控制校验FIFO 955的空标志。如果标志是“假”,I/O控制模块将来自FIFO 955的数据帧传输到NPI 942。通过网络设备,例如,NIC卡,将来自NPI的数据传输回到网络。
如果网络设备是ATM NIC,那么,图17是由AAL和接收ATM信元有效负载和重构数据的应用进行后续处理的流程图。如果是质量为准业务,则在步骤1706将接收的ATM信元传送到SAR QCT模块,或如果是时间为准业务,则在步骤1704将其传送到SQR TCT模块。
在步骤1708,SAR TCT核实所接收SAR TCT PDU的序号。如果序号有效,则将信元与以前接收的信元链接。如果这些信元之一是最后接收的信元,则将链接的有效负载传送到CPCS模块。
在SAR QCT中,在步骤1710检查ATM信元,以确定它是否是RM信元。在步骤1712将RM信元传送到ARQ模块。在步骤1706将其它信元与以前接收的信元链接。如果信元是ARQ-PDU内最后接收的信元,那么,将ARQ PDU传送到ARQ模块。
在步骤1712,ARQ模块接受ARQ PDU。在步骤1712,ARQ核实PDU的循环冗余校验。如果CRC是有效的,则将ARQ PDU保存成它序号的函数,并以接收的次序传输到CPCS。否则,在步骤1714舍弃PDU。对于RM信元,ARQ模块提取控制消息。提取并核实CRC。如果CRC是有效的,将MSN之前的所有序号标记成“得到确认的”和“被移去的”。可以根据控制消息中的信息进行重新传输。
在CPCS子层上,在步骤1718,将接收的段附加到以前接收的段上。接着,在步骤1720,CPCS在链接的数据中搜索开始标签。一旦得到定位,就提取其长度。然后,在下一字节中搜索结束标签。一旦找到结束标签,就将有效负载,即IP分组,传送到IP栈。然后可以由数据接收器读取来自IP栈的数据。
通过对差错控制系统的优选实施例的描述,本领域普通技术人员可明显看出,已经取得了一些优点。本领域普通技术人员还应该明白,在本发明的范围和精神之内,可以对本发明的实施例进行各种调整、适配、和改动。因此,本发明由如下权利要求书作进一步限定。
权利要求
1.一种含有数据发送器、数据接收器和在易于出错网络中进行传输的至少一个通信设备的系统,其中该系统提高在网络内传输数据的效率并包括第一差错控制子系统,与数据发送器耦合,并包括(a)第一协议转换器,用于依照服务质量要求分离输入网络数据业务,和(b)第一差错控制模块,用于接收分离的数据,编码数据以便减少潜在传输差错,并将数据输出到通过网络传输的通信设备;和第二差错控制子系统,与数据接收器和第二网络耦合,并包括(a)第二差错控制模块,与第二网络耦合,并接收和解码编码数据,和(b)第二协议转换器,用于将解码数据重新格式化成与第二网络的协议相一致的数据。
2.根据权利要求1所述的系统,其中第二差错控制模块将周期性控制消息传输到描述传输数据成功或失败的第一模块。
3.根据权利要求1或2中任何一项所述的系统,进一步包括数据速率转换器,用于根据加权优先级方案为特定通信分配可用带宽。
4.根据权利要求3所述的系统,其中数据速率转换器适用于确定由数据发送器通过网络发送的每个通信的优先级;依每种通信的优先级,为每种通信指定所选加权因子;和根据(a)在数据链路上适用于所有通信的带宽,(b)指定给特定通信的加权因子,(c)数据链路的质量或(d)前述因素的任何组合,首先将带宽分配给网络内所选数据链路上的特定通信。
5.一种提高易于出错网络传输效率的方法,该方法包括对按照一种或多种网络协议格式化的多个数据分组排序,其中排序是至少基于每个分组的服务质量要求的;使排序的分组形成多个数据流,其中每个数据流与特定服务质量要求相关联;和对每种数据流进行前向纠错。
6.根据权利要求5所述的方法,其中前向纠错是根据与特定数据流相关联的服务质量等级,改变应用于每个数据流的前向纠错进行的。
7.根据权利要求5所述的方法,进一步包括下列步骤监视将要传输特定数据流的数据链路的质量;和根据数据链路的质量,改变应用于特定数据流的前向纠错。
8.根据权利要求5至7中任何一项所述的方法,进一步包括下列步骤标识组成质量为准数据的每一数据流;和将自动重新传输协议应用于组成质量为准数据的每一数据流。
9.根据权利要求8所述的方法,进一步包括下列步骤根据(a)将要在其上传输特定分组的链路的至少估计的质量,(b)与特定分组相联系的服务质量,或(c)因素(a)和(b)两者,修改分组的有效负载长度。
10.根据权利要求5至9任何一项所述的方法,进一步包括下列步骤在标识服务质量等级之后,将分组转换成通用格式,以便有利于应用前向纠错。
11.根据权利要求10所述的方法,进一步包括下列步骤在通过数据链路传输之后,接收通用格式化的数据流;和检查数据流,并按照适用于数据链路与之耦合的网络的协议从数据流重新构造分组。
12.一种提高在潜在地易于出错的网络中传输数据的效率的传输差错控制系统,该系统包括第一协议转换器,与按第一协议提供分组数据的应用相耦合,其中协议转换器将分组数据转换成通用格式,并将转换的数据分成多个数据流,每一数据流都具有经选择的、但互不相同的服务质量等级;和第一差错控制模块,与该协议转换器相耦合,用于根据下列至少一项编码多种数据流的每一种内的数据(a)所选与每种数据流相联系的服务质量等级,(b)估计或测量的将要传输数据流的数据链路的质量,或(c)因素(a)和(b)两者。
13.根据权利要求12所述的系统,其中第一差错控制模块所实施的编码包括自适应前向纠错。
14.根据权利要求13所述的系统,其中第一差错控制模块所实施的编码进一步包括将数据流内的数据重新组装成具有所选格式和可变有效负载大小的分组。
15.根据权利要求12至14任何一项所述的系统,其中进一步包括第二差错控制模块,用于将周期性控制消息传输到描述成功或不成功数据传输的第一差错控制子系统。
16.根据权利要求15所述的系统,其中第二差错控制模块与数据链路相耦合,并将从中测量或估计数据链路质量的数据提供给第一差错控制模块。
17.根据权利要求12至16任何一项所述的系统,其中协议转换器模块包括用于创建传输到差错控制模块的有效负载的单元,其中有效负载的大小是根据传输媒体的条件自适应地选择的,和该有效负载是按照自动重新传输请求协议格式化的。
18.根据权利要求12所述的系统,其中差错控制模块将数据流分离成时间为准和质量为准的数据流;与数据链路相耦合并将时间为准数据流直接前送到该数据链路;和将质量为准数据前送到重新传输模块,该重新传输模块监视质量为准数据的传输并根据至少一个参数重新传输所述数据。
19.根据权利要求18所述的系统,其中至少一个参数与传输到达其目的地和此后差错控制模块接收确认所需要的往返时间的任何估计无关。
20.根据权利要求12至19任何一项所述的系统,进一步包括第二协议转换器,与提供以第二协议分组的数据的应用相耦合,其中第二协议转换器将分组数据转换成通用格式;和将来自第二协议转换器的转换数据与来自第一协议转换器的转换数据链接成多数据流。
21.根据权利要求12至20任何一项所述的系统,进一步包括数据速率转换器,用于根据加权优先级方案为适当的比特率传输分配可用带宽。
22.根据权利要求12至21任何一项所述的系统,其中第一协议转换器和第一差错控制模块可以应用在从由如下组成的一组中选择的设备中(a)网络接口卡;(b)包含交换器、路由器或访问集中器的网络单元;(c)无线电设备;(d)调制解调器;(e)收发器;(f)与驱动软件耦合的芯片组;和(g)工业标准夹层电路卡。
23.一种在利用异步传输模式协议的网络内动态地优化差错控制的方法,该方法包括确定所选数据传输是包括时间为准数据还是包括质量为准数据;将数据的至少一部分分解成自动重新传输请求分组数据单元(ARQ-PDU);修改ARQ-PDU的有效负载长度,以便改善吞吐率;和一旦满足预选准则,就重新传输质量为准数据,以便保证所述数据到达其目的地。
24.根据权利要求23所述的方法,进一步包括下列步骤测量为实现所选数据传输所指定的数据链路的质量,和其中有效负载长度是根据所测量的数据链路的质量修改的。
25.根据权利要求24所述的方法,其中质量测量是通过分析(1)从ATM网络内的目标接收器接收的信息或(2)指示所传输ARQ-PDU的差错率的统计两者之一进行的。
26.根据权利要求24或25所述的方法,其中有效负载长度(L)按如下计算L=48*i-4,此处i是要传输的所选ARQ-PDU的头部和尾部之和。
27.根据权利要求24至26任何一项所述的方法,进一步包括下列步骤根据新的有效负载长度,更新控制分组的产生率。
28.根据权利要求24至27任何一项所述的方法,进一步包括下列步骤传输描述特定质量为准数据传输的成功或失败的周期性控制消息。
29.根据权利要求24至28任何一项所述的方法,进一步包括下列步骤将依测量的数据链路质量而改变的前向纠错应用于时间为准数据。
30.根据权利要求24至29任何一项所述的方法,进一步包括下列步骤确定与特定数据传输相联系的服务质量要求。
31.根据权利要求20所述的方法,进一步包括下列步骤根据所确定的与特定质量为淮数据传输相联系的服务质量要求,确定尝试重新传输特定质量为准数据传输的次数。
32,一种应用在含有数据发送器、数据接收器、和无线传输设备的网络中的系统,该系统包括第一异步传输模式适配层,用于将质量为准数据从数据发送器输送到网络设备;第二异步传输模式适配层;用于将时间为准数据从数据发送器输送到网络设备;和差错控制模块,用于至少修改分离数据业务的有效负载长度,该差错控制模块还编码数据并将数据输出到无线传输设备。
33.根据权利要求32所述的系统,进一步包括按数据类型分离网络数据业务的协议转换器模块。
34.根据权利要求33所述的系统,其中数据类型是关于数据业务的服务质量等级。
35.根据权利要求32至34任何一项所述的系统,其中差错控制模块适用于确定是否满足所选的准则,并在此后重新传输质量为准数据以便保证输送。
36.根据权利要求35所述的系统,其中第一异步传输模式适配层与以IP分组形式提供时间为准或质量为准数据的IP栈耦合,并进一步包括第一子层,该第一子层创建包含IP分组的数据单元。
37.根据权利要求5至17、13至22、29或30/29任何一项所述的方法或系统,其中前向纠错方案从下列组成的一组中选择出来的(a)里德-所罗门(Reed-Solomon)前向纠错方案;(b)卷积前向纠错方案;(c)Turbo乘积码纠错方案;和(d)前述方案的任何组合。
38.一种依据要在通信网络中传输的数据的不同类型,调整通信的数据吞味率的方法,该方法包括确定每种通信的优先级;依据每种通信的优先级将加权因子指定给每种通信;和根据(a)在数据链路上适用于所有通信的带宽和(b)指定给特定通信的加权因子,至少首先将带宽分配给特定通信。
39.根据权利要求38所述的方法,进一步包括下列步骤将带宽分配与每种通信所期望的峰值比特率相比较,如果峰值比特率小于所分配的带宽,则根据与这些通信相联系的各个加权因子,重新分配指定给其它通信的带宽。
全文摘要
协议无关差错控制系统包括几个有助于在端点(110,120)之间提供更可靠数据传输的部件(840a,830a,820a,150b,820b,830b,840b):1)ATM适配层,支持质量为准和时间为准数据;2)速率转换器,利用优先级方案为不同类型数据调整数据速率;和3)差错控制子系统,实施为易于出错链路优化数据链路协议,并能够从许多种网络源中识别业务。该差错控制子系统可以单独使用,也可以与ATM适配层(170,172,180,182)和/或速率转换器(830)组合在一起使用。
文档编号H04Q11/04GK1326624SQ99813204
公开日2001年12月12日 申请日期1999年9月16日 优先权日1998年9月16日
发明者乔治·H·阿利西, 查尔斯·G·雷, 伊恩·阿基尔蒂兹, 马克·詹森, 盖伊·史密斯 申请人:科学研究公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1