无线网络系统和方法

文档序号:7653630阅读:221来源:国知局
专利名称:无线网络系统和方法
相关申请的交叉引用本发明的背景本发明一般地涉及通信网络中的数字数据传输协议,尤其涉及在诸如无线网络环境这样的、低质量或物理信道性能变化很大的网络中,在减少带宽需求的情况下改善传输性能的有效、可靠的分组数字数据传输协议。
在典型的开放系统互联(OSI)参考模型网络协议中,定义了若干层且规定了协议栈。通常用于包括互联网在内的通信网络的特别OSI模型协议是互联网协议(IP),特别是被称为传输控制协议(TCP/IP)的补充IP。在所有包含IP和TCP/IP的OSI模型协议中,更高等级的层(例如,传输协议层)传送分组数据到下面等级的层,例如,互联网协议层。接着,下面等级的层(例如,互联网协议层)最终将数据中继到数据链路层,它接下来将数据中继到物理层,该物理层然后引导数据的物理传输。
例如,在这样的通信中,首先,打算由网络设备传输的数据根据OSI模型数据协议被格式化,其中包括一些定义的层,诸如物理层,数据链路层,网络层,传输层等等。在

图1中列举了这样的一个OSI模型协议。在图1所示的模型中,由设备传输的数据首先要由传输层来处理;该传输层上面能够叠加一个具体到特定应用的应用层。典型地,在传输层中,定义传输机制以用来将数据分割成以后物理传输的数据分组。
传输层的数据接下来由一个互连的网络层处理。该网络层的一个例子是在诸如互联网的TCP/IP网络中当今广泛应用的普通的互联网协议(IP)层。互连的网络层准备将来自传输协议层的分组通过互连的网络来传输。
接着,数据链路层准备通过一个定义的网络物理信道,诸如以太网链路或局域网的其他类型链路来物理传输数据。
最后,物理层将被处理数据实际发送到在特定的OSI模型实现下操作的网络并通过该网络来操作。
目前,在网络通信中最通用的OSI模型的实现之一是TCP/IP。例如,互联网通信典型地根据TCP/IP来进行,而且这被认为是互联网的标准。在TCP/IP中,只要设备和网络能够使用符合TCP/IP的OSI模型层,物理层仍然是不变的并且独立于设备或网络。
在TCP/IP中,网络层是IP以及传输层是TCP。IP和TCP都是熟知的并且被定义为标准。在此标准下,协议的IP部分将数据分组路由到预定目标。TCP部分执行数据的完整性检测以及在目标端增强该分组到原始消息或文件的重建。
尽管TCP目前广泛应用于包括通过互联网的数据通信,但是该协议起初被设计在可靠的且不变的信道和带宽中,即主要是有线连接中使用。因此,朝着移动以及无线设备和通信的通信方向的转移并不是TCP协议定义的前提。TCP设计的前提和假设在无线环境下不再有同样的应用,同样其它的和较新的较低质量和可变的信道网络也在发展。
因此,需要有一种适用于无线和其他更新的物理信道和应用特性改进的协议和方法。已经设计出大量协议和方法以用来考虑特殊的应用(例如,基于IP的语音,多媒体传输,卫星协议,多址通信协议以及其他应用)和在其中操作。尽管这些不同的设计可以在特殊应用中提供一定的优点,但是仍旧需要改进的协议和方法用以考虑显示可变带宽和信道性能特性的无线和类似的网络。
尤其对于无线通信,传统的系统和方法(诸如TCP/IP协议)有一些缺点。这些缺点包括高的信号往返传输时间(RTT),由于信道特性变化导致的RTT测量变化,大量分组丢失,高误码率,错误假设数据丢失是由拥塞引起的而非低发送率引起,没有预见到多信道的可能性,以及ARQ技术通常是很昂贵的。此外,某些近来的技术进步,诸如计算机加速和错误检测技术,能够提供改善,但是,这些进步先前没有开发出它们的潜力。
总之,在本领域中以及在诸如无线网络的低带宽、劣质量信道上需要一种改善的通信技术。
发明概述本发明的一个实施方案是一种在网络上的通信方法。该方法包括以下步骤将有效载荷打包成一系列数据分组,在该系列的开始,中间和朝向结尾插入首分组,与首分组一起发送该系列,接收该系列数据分组中的至少一些和至少其中一个首分组,并且发送选自以下组的一个确认所有的数据分组和至少一个首分组被接收;不是所有的数据分组被接收和至少一个首分组被接收;以及一些数据分组被接收,但没有首分组被接收。
再一方面,本方法进一步包括步骤如果确认是所有的数据分组和至少一个首分组被接收,则终止该方法。
在另一方面,该方法进一步包括步骤如果至少一个首分组被接收但不是所有的数据分组被接收,则标识没有接收的数据分组。该发送步骤的确认包括未接收的数据分组的标识符。该方法也包括仅仅重新发送未接收的数据分组的步骤。
再一方面,本方法包括步骤标识一些数据分组被接收但没有任何首分组被接收。发送步骤的确认包括已接收数据分组的标识符。本方法也包括步骤基于在确认中的标识符确定哪些数据分组没有接收到,以及仅重发没有接收到的首分组和数据分组。
附图简述图1是现有技术的OSI模型协议栈。
图2是包含不同的有线和无线连接的互连网络。
图3是根据本发明实施方案的协议栈。
图4是根据本发明实施方案协议的用于发送的数据有效载荷。
图5是根据本发明实施方案协议的用于发送的数据分组。
图6是根据本发明实施方案的协议,当接收到首分组时通过接收设备发送的一个响应消息。
图7是根据本发明实施方案的协议,当接收到数据分组而没有接收到首分组时通过接收设备发送的一个响应消息。
图8是与图3中的协议栈一起操作的无线资源管理器。
图9是根据本发明实施方案的协议的发送程序的流程图。
图10是根据本发明的实施方案,在图3的协议栈中传输层和物理层之间的示例性的物理连接的方框图。
图11是根据本发明的实施方案,更进一步详细描述与接收协议一起操作的可能情形的图9中的程序的流程图。
图12是本发明实施方案的信道产生和操作的时序图。
图13是图12中出现的操作的流程图。
图14是根据本发明实施方案的协议的接收程序的流程图。
图15是根据本发明实施方案的一种发送和接收情形的时序图。
图16是根据本发明实施方案的另外一种发送和接收情形的时序图。
图17是另一根据本发明实施方案的另外一种发送和接收情形的时序图。
图18a-c是根据本发明实施方案的在一个传输机制和一个数据试探机制之间示例性的相互作用的方框图。
图19是根据本发明实施方案,在图8的数据试探机制,传输机制和无线资源管理之间示例性的相互作用的时序图。
本发明的详细描述图2是一个包含无线设备4,6和有线设备8,10的通信网络2。该网络2包括不同设备4,6,8,10间的互连通信链路12,以及其他设备和通信链路(未示出)。网络2的一个实例是互联网,尽管其他通信网络诸如内联网,LAN,WAN和其他网络也可能包括在其中。
在网络2中,设备8是一个网络设备以及设备10是一个显示设备。这些设备中每一个通过有线连接到通信链路12,并且因此连接到整个网络2。设备4是一个移动无线设备。设备6是一个固定无线设备,其通过有线连接到通信链路12。该移动无线设备4和固定无线设备6能够无线通信,例如,通过经由一个或多个蜂窝塔14来进行蜂窝无线发送和接收。无线通信的模式是,例如,蜂窝无线环境中的蜂窝数字分组数据(CDPD),虽然它能够替换地或者另外地是任何其他的无线模式,诸如模拟或数字蜂窝,射频(RF),微波,或其他模式。
在通过网络2的通信中,该移动无线设备4和固定无线设备6分别能够根据专门的分组数据协议通信,如下分组数据通信协议参考图3,无线设备4,6(图2所示)根据图象传输协议(ITP)20通信。该ITP协议20符合OSI模型(图1所示),但是对于无线和类似的减少带宽和可变信道特性的较低质量网络来说,已经被改善。ITP协议20包括不同的层。
数据层22提供数字数据传输。传输层24用于将数据分割为想要的分组。网络层26根据特定的特性通过特定网络2传输来自传输层24的分组,所述特性是例如,互联网或其它标准化或专有网络的特定协议组特性。数据链路层28通过特别定义的网络物理信道(即,规定用于传输的物理端口)来物理传输分组。最后,物理层30通过特定的通信信道,诸如网络2的一个无线信道,进行分组的实际发送。
从广义的观点来看,虽然ITP协议20有点类似其他的OSI模型协议,但是传输层24和物理层30的某些特性是独特的。而且,ITP协议20提供了一个无线资源管理器32。无线资源管理器32提供在ITP协议20的传输层24和物理层30之间的相互作用,互连性以及通信。现在将描述这些特性连同数据和分组格式。
发送的数据和数据分组格式参考图4,一个完整的数据有效载荷30被分离或打包成一系列数据分组40。根据ITP协议20的传输层24的处理来实施该分组化。传输层24将数据打包成具有特定格式的数据分组40。有效载荷30的第一“按序排列”的数据分组40是一个首分组41。首分组41总是包含一个特定的用于有效载荷30的标识符,所谓的一个“有效载荷头标”或“首分组”。首分组41包含在有效载荷30中,按照次序,它在有效载荷30的开始,并且也通常在有效载荷30的中间和有效载荷30结尾处的最后一些数据分组40之一中被复制。下文将描述有效载荷30的数据分组40的特定格式。
参考图5,在ITP协议20中,传输的数据分组40包括一个发送头标50。发送头标50包括一个8比特分组类型42,一个16比特序列ID44,和一个32比特的有效载荷ID46。根据ITP协议20在通信中发送头标50是每一个数据分组40的信息的第一个序列。分组类型42用于分组类型的确定。序列ID44表明在通信中发送的整个有效载荷30(图4所示)的该数据分组40相对其它数据分组40的序列位置(图4所示)。有效载荷ID46用于标识特定的有效载荷30,特定数据分组40是该特定的有效载荷30的一部分。
此外,在特定有效载荷30的首分组41(即有效载荷头标)的特定情况下,有效载荷ID46根据ITP协议20标识已发送的特定有效载荷30的首分组41。这样,有效载荷ID46就是一个特定的字段,其标识了特定有效载荷30的每个确定的数据分组40。而且,当有效载荷ID46是首分组41时,因为它包含特定有效载荷30的头标,所以唯一地标识该确定的分组40。在特定的有效载荷30中的分组40的数量取决于有效载荷30的大小和数据分组40的大小。
如果打包器将一个有效载荷缓冲器中的数据分裂成N个分组,数字N在用于有效载荷30首分组41的数据分组40的数据字段48中被提供。由此,在有效载荷30的该唯一首分组41的数据字段48中提供的数字N标识了在特定的有效载荷30中数据分组41的数量。同样地,当一个接收设备接收一个首分组41时,该接收设备能够确定预期有多少分组41将来自发送和在特定的有效载荷30中。首分组41也可以包含其他的信息,包括直接来自有效载荷缓冲器的数据和其他的数据。
已接收的数据和数据分组格式图6是一个方框图,表示当特定有效载荷30的首分组41已经由接收设备52所接收,而其他数据分组40没有被如此接收时,为响应一个不完整有效载荷30(图4所示)的接收,由接收设备52发送的重发请求消息分组50。分组50包括一个有效载荷标识54,标识讨论中的有效载荷30。另外,分组50包括一个序列ID55和分组类型56标识。分组50的一个消息字段58标识了接收到的发送首分组41是由接收设备52接收的。另一组数据标识了分组40,这些数据是接收设备52没有接收到的和通过前向纠错,或数据试探,或类似处理所不能够重建的。
图7是一个方框图,表示响应其中特定有效载荷30的首分组41没有被接收的一个不完整有效载荷30接收,由接收设备62发送重发分组60。分组60包括一个有效载荷标识64,标识在讨论中的有效载荷30。分组62也包括序列ID63和分组类型标识符65。因为接收设备62没有接收首分组41,所以分组62的一个消息字段66标识了接收设备62不知道有多少分组40在有效载荷30中。当达到超时时,在接收设备62已经开始接收一些数据分组40之后,由接收设备62发送重发分组60。消息字段62中的另外一个数据块标识了接收设备没有接收的分组40,因此下一个发送将不重发那些已接收到的分组40。下一个发送仅重发先前没有接收到的首分组41和那些分组40。
无线资源管理器图8是图3的无线资源管理器32的功能方框图。无线资源管理器32包含一个传输层接口505,一个物理层接口510,一个信道特性数据库520,以及一个无线单元特性数据库530。传输层接口505通过ITP协议的传输层24(图3所示)的传输机制的准确定义的应用程序接口(API)通信。该接口505也根据ITP协议与物理层接口510通信。物理层接口510允许无线资源管理器32通过无线网络设备的无线调制解调器中的无线资源管理器(RRM)实际地与一个无线网络设备(未示出)通信。该通信也通过物理层30可与其相互作用的无线网络设备明确定义的API发生。物理层接口510允许无线资源管理器32向无线网络设备请求诸如,举例来说,信道状态、信道特性和其他特性的数据。正如以前提到的,该信息可被中继到(参见图3)传输层24以允许传输层24适应于无线环境中变化的条件。
物理层接口510也允许无线资源管理器32请求无线单元改变它的特性。例如,无线资源管理器32可请求附属的无线单元改变在无线设备中的信道测试方式,目的在于减少对数据传输测试方式的影响。或者,特别地,无线资源管理器可请求无线设备改变信道。当然,大量的其他控制和信息机制是可能的,正如本领域的熟练技术人员将了解和理解的。
除了接口505,510以外,无线资源管理器500进一步包括信道特性数据库520。该信道特性数据库520是一个包含以下信息的数据库有关无线接收机的信息,与接收机相关的信道的信息,和其他信息诸如历史错误率,功率特性,以及其他与在无线环境中协议的操作相关的信息。信道特性数据库520也适于包含蜂窝电话中继,中继覆盖面,有关的信道信息和其他如上面提到的相关信息。
无线资源管理器32也包括无线单元特性数据库530。无线单元特性数据库530是一个包含在数据传输中采用的无线设备当前操作特性信息的数据库。该信息可以包括诸如信道测试时间表,可用信道,与那些信道有关的功率,以及在数据协议中辅助的其他无线设备的详细信息。
无线资源管理器32中的数据库的使用考虑到在正在进行的基础上来监视错误统计以形成“噪声分布”,该分布允许无线资源管理器32就给定的RF信道对高错误率期间的持续时间和频率作出有根据的推测。每一个RF信道将显示出它自己的噪声分布,并由IP协议收集和储存这个分布的记录。
当物理层30已经工作不稳定或难以预料时,无线资源管理器32使用噪声分布信息来控制传输层24。为了确定协议的可操作特性,诸如可使用的合适的FEC参数或合适的超时,通过传输层24也能够请求该信息。未计划的信道事件,诸如协议以外所产生的信道变化,也可以以相似的方式传递到传输层24。
应该注意到无线资源管理器32可以作为独立的资源实施,或者可以整体地或部分地存在于协议栈的传输层24或物理层30中。
压缩回过来参考图3,在ITP协议中,传输协议层24包含有很多功能单元,包括传输机制122,压缩机制124,前向纠错(FEC)机制126,物理层管理器128,和数据试探管理器129。
压缩机制124采用网络设备产生的数据并压缩它。该压缩机制124能使用交互压缩技术,适用于已接收的实际数据。例如,数据可包含图形数据。传输层24能识别作为图形数据的数据,并对该图形数据实施一个小波变换。或者,传输层24可以事先知道图形数据的类型,并通过一组减小传输的数据量的基本函数对数据适应性地实施小波变换。
前向纠错FEC机制126采用压缩的数据并增加额外的数据量,允许接收机制在即使源数据丢失的情况下也能够重新构建到达的数据。该FEC机制126适合于在其到互连网络140的连接以及通过该网络的连接中存在的当前条件。
在一个典型的FEC系统中,基于已知的差错率,产生一定量的额外数据并增加到发送中。对于数据量K,产生增加的数据量L,以至于总的实际发送的数据量为K+L=N。在接收机设备端任何数据量K的取回对于接收机设备重新创建由发送设备发送的数据是足够的。当发送的差错率升高和降低时,数据量L可以动态地改变以反映所期望的发送丢失。
传输机制在接收端,传输层24的传输机制122控制数字数据的原始有效载荷的捆绑或打包以及重建。传输机制122也可在发送的接收端控制超时的计算。另外,传输机制122通过使用控制协议控制接收和发送端间的信息流。这些控制协议包括已接收有效载荷的指示,一个有效载荷不完整发送的指示,和在互连网络12上的接收和发送侧之间的控制机制的其它握手类型。
接收端的传输协议能跟踪未接收的数据量。当返回到发送协议时,该数据能使发送协议来适应改变的网络环境,如进一步详细地注释。
另外,对于一个互连网络的多径链路的情形,分组能被重新组织和区分优先次序。如果,例如,至该互连网络的链路通过一个无线链路,则高优先级分组能在具有更高可能性通过该链路的一个信道上发送。较低优先级分组可能被延迟或通过噪声更大的信道发送。
物理层管理物理层管理器机制128使传输层24具有细调通过互连网络12发送和接收数据的能力(图2所示)。物理层管理器128监视物理层30,并提供传输层24有效载荷的实际发送状态或物理层30中的有效载荷状态的知识。
基于物理层30的状态,传输层24能慢速发送,中止发送,改变FEC机制126的纠错参数,或其他这样的动作。在无线链路的情况下,物理层管理器机制128和传输机制122之间的相互作用,例如,允许IP协议20在一个更稳定的信道上发送高优先级分组。
在传输层24中中止操作的能力是特别重要的,当物理层过载时,由于传输层24能简单地通过协议20阻止数据流动。在发生物理延迟的情况下,传统的协议不会并且不能使其向上层协议栈传送。这就使得在传统栈的更上层中,使缓冲器溢出变得更为普遍,并且能导致传统协议操作的速度和有效性急剧下降。因此,本实施方案的物理层管理器机制128考虑到减少缓冲器溢出并允许协议20没有通过协议20的滚雪球延迟地恢复操作。
物理层管理器机制128也能跟踪适合物理层30发送特性的某些数据。尤其是,物理层管理器机制128基于来自接收协议的、指示未接收的数据量的传输的接收来考虑保持发送中的差错率。
数据试探ITP协议20的数据试探机制129考虑在接收端的数据重建,即使在FEC中必需的最小数据量没有出现时。例如,在图形数据中,数据可能代表高能量和低能量部分。假如有关的高能量数据被恢复,则低能量数据丢失部分在它的丢失处可单独地由高能量数据来重建。正如提到的,数据试探机制129对发送的数据是高度特定的。
同样,根据特定的数据和可能使用的数据压缩,数据试探机制12a允许传输层24给每一个分组分配优先级。这进而又允许传输机制122和物理层管理器机制128在更稳定信道或路径上发送高优先级分组。
更加详细的数据试探的描述在讨论一般的发送和接收方案后将提供,如下文所述。
发送处理图9是一个示例性的、可在图3的ITP协议20中被实施的数字数据的有效载荷30(图4所示)的发送流程图。在步骤210,数据以一个合适的格式压缩。正如本领域的技术人员所了解和理解的,该压缩方案和特性是可基于数据本身而修改的。例如,对于图像数据,压缩可以以确定的方式最佳实现,而构造的信息数据可以通过其他方式最佳地被压缩等等。在步骤220,数据被打包成分组40(图5所示)并且准备通过互连网络12(图2所示)传输。在步骤230,分组40以优先次序排序。在步骤235执行FEC编码。
在步骤240,将分组通过一个发送设备发送,诸如,举例来说,移动无线设备4(图2所示)。另外,在步骤240,协议20监视物理链路,即监视发送的特定无线(或有线,可能情形)通信信道。分组40的发送可依靠监视的链路参数被延迟,或重新排序,目的是优化或确保满意的发送结果。
图10是执行图1协议20的一个可能的物理连接传输层24和物理层30的实例的方框图。在本实例中,一个根据ITP协议20(图3所示)的协议栈600,包括一个物理层30和一个传输层24。传输层24和物理层30之间的通信,例如,通过一对套接字630和640的方法实现。套接字630对于传输层24是开放的。套接字630按照传统的方式同一个应用层632连接。套接字640对栈642开放,其中栈642与物理层30通信。也正如传统地,套接字640与一个应用层644连接。套接字630,640直接通信,因此允许在ITP协议20操作的情况和条件下能够在传输层24与物理层30之间协调。
在协议20启动后,套接字630,640分别在每个传输层610和物理层620产生。有关物理层30的信息,诸如无线物理链路情况下的信道特性,通过套接字630,640连接传递到传输层24。另外,请求改变物理层30的动作,或关于物理层30的请求,由同样的套接字630,640机制传递。在操作中,如果由于某些原因物理层30不能通过协议栈600保持数据吞吐量,则物理层30通过由套接字630,640对建立的通信传送该情况到传输层24。传输层24既可以保持与物理层30的激活通信也可以采用一个轮询的机制。
物理层30可能传送到传输层24的情况包含(但并不局限于此)诸如信道状况,信道切换或跳变这样的信息,和有关无线物理设备4(图2所示)和互连网络12之间通信链路的其他相关信息。这样传输层214能使用该信息通过协议栈600管理数据通信。例如,如果信道特性确定在一个互连网络12中的无线物理设备4之间的链路中需要一个新的信道,则物理层30将该动作通过套接字630和640传递到传输层24。作为响应,传输层24将通过协议栈600减慢数据通信,为的是在包含于协议栈600的其他层中的任何输入缓冲器中不产生溢出情形。
由于物理设备信道特性的改善,或由于信道切换的完成,所以该事件通过同样的套接字对630和640被传送到无线协议层610。当通知该事件时,传输协议层610通过协议栈600重新使能或加速数据发送。
同样,本发明预想了一个动态通信协议栈。传输协议层610响应在协议栈600和物理发送特性中的变换特性。同样,能够最小化在协议栈600内部的数据的猛烈摆动(thrash)。正如所预想的,在一个互连网络协议栈中的最高层将用作通信系统的发送管理器。
参照图11,根据协议23的发送的图9的方法200将在各种可替换的情形中进一步细化和描述。特别是,方法200从压缩发送数据的步骤210处开始。在步骤220中打包压缩数据。步骤220包含一些如下的分步骤。
在步骤222中,方法200等待接收数据有效载荷。方法200在步骤224中接收该数据有效载荷。有效载荷数据接着在步骤226中被打包成N个分组。此后,在步骤228产生一个首分组。首分组接下来在步骤230复制并插入到开始,中间和朝向有效载荷分组序列的结尾。
一旦数据在步骤220中打包,以及在步骤230中分组被排序,就在步骤235执行对有效载荷的FEC编码。现在,该分组准备发送,紧接着就是发送分组的步骤240。发送的步骤240包括不同的步骤和能够按照三种可能的路线进行,它取决于发送的效率和完成情况。
在每一路线中,已经被打包并插入首分组的有效载荷在步骤241发送。在步骤241发送之后,在步骤242中发送设备产生一个等待周期。在步骤242的等待周期中,发送设备将推断或被通知有效载荷是否已经被接收。
如果接收设备接收有效载荷的所有分组,包括至少一个首分组,那么接收设备在步骤248中发送一个有效载荷被接收的确认(ACK)到发送设备。其后,方法200返回到步骤220,并且特别地返回到等待下一个有效载荷的步骤222。
如果,在另一方面,接收设备在步骤241仅仅接收到一些发送的分组,同样也接收至少一个首分组,那么接下来是步骤243。在步骤243中,接收设备将表明哪些分组被成功接收的消息发送到发送设备。在下一个步骤244,发送设备基于对来自步骤243消息的、接收设备已经接收的特定分组的认识,而确定哪些有效载荷的分组没有被接收。发送设备然后在步骤246中准备那些没有被接收的分组以重新发送。在步骤247中,发送设备重发接收设备没有接收的分组。方法200接着返回到步骤242并再次等待推断或通过接收消息得知是否所有的分组已经被或没有被成功地接收。
在步骤242的等待周期中,如果接收设备没有在步骤241的开始发送中接收到任何首分组,那么没有接收到任何确认或来自接收设备的其他消息的发送设备将产生一个超时。在步骤245中产生该超时。在步骤245中的超时之后,发送设备重发整个有效载荷,包括首分组,在步骤246中准备发送的分组。在步骤247,接着将整个有效载荷和首分组重发。在步骤247之后,发送设备返回到等待确认或超时的步骤242。
正如本领域的技术人员将了解和理解的,方法200将继续,直到发送设备推断出或由接收设备的返回消息得知该有效载荷,与至少一个首分组一起被接收设备接收。即使接收设备没有接收某些分组,在步骤235中分组的FEC编码在一定情形下也能允许接收设备重建丢失的分组。在这样一种情况下,接收设备可处理该情形,就好象该重建的分组是最初接收的,并因此通过一个表明分组被接收的消息来通知发送设备,尽管事实上是通过FEC解码重建的。
参考图12,连同图3,用未计划事件的时序图来示例未计划的网络事件情形,诸如,举例来说通信信道中断。在本例中未计划事件请求一个通信信道改变。首先,在时间T1,信道改变发生,而中断了数据分组P在信道1上的发送。该事件被协议20(或,可替换地,通过一些其他执行相似功能的物理层机制)的无线资源管理器32(图3所示)检测到。无线资源管理器32将事件已经发生的情况传送到协议20的传输层24。信道改变花费时间t1。不是根据协议20继续发送,该发送可能导致协议20中的下面的缓冲器的溢出,相反,协议20的传输层24中止数据发送直到被无线资源管理器32通知有一个成功的信道改变。
仅仅在周期t1之后,以及一旦提供一个新的信道,协议20的传输层24将继续处理以发送该要传送的数据。在时间T2和T3处记录信道改变。特别是在协议20中,仅在信道成功地改变之后,传输层24才继续中继用于物理传输的数据。因此,通过协议20和无线资源管理器32的操作,可以避免整个协议20的雪崩一样的失败,以及在其他情况下需要的、与该失败有关的重置时间。
参考图13,方法800在图12未计划事件的情形中发生。在步骤805中,在未计划事件之前的操作中,协议20的传输层继续中继数据分组的传输。在步骤810中,未计划事件发生,例如,需要一个信道改变。当检测到该事件时,传输层24在步骤820中延迟后来的任何数据的传送,直到在步骤820中清除未计划事件为止。当未计划事件清除后,通过协议20操作的正常传输在方框805中重新开始。
接收处理参考图14,接收已发送信息的方法1400符合协议20(图3所示)。在步骤1410,根据协议20操作的接收设备,等待发送到接收设备的一个有效载荷的初始分组的到达。在步骤1412,发送的分组到达并且被接收设备接收。在步骤1414,确定已接收的分组的有效载荷ID是否是有效的。如果有效载荷ID是有效的,即,一个特定有效载荷由有效载荷ID来表明,则在步骤1416中该已接收的分组与其他到达的分组一起累积。如果,另一方面,分组的有效载荷ID不是有效的,则在步骤1418中,开始有效载荷ID的有效载荷组装。
接下来,在步骤1420中,创建一个接收分组列表。在步骤1420之后是增加分组到有效载荷已接收分组列表中的步骤1416。
在步骤1422,方法1400确定是否已完成接收有效载荷。如果没有完成,那么在接下来的步骤1424中,一个有效载荷分组计数增加。此后,在步骤1426中,基于有效载荷中预期的总分组重新计算一个有效载荷超时,并且对于组装有效载荷而重置该超时。方法1400接着返回到等待分组到达的步骤1410中。
如果在步骤1422中完成有效载荷,则在下一个步骤1428将一个有效载荷确认(ACK)发送到发送设备。在步骤1430,将终止有效载荷组装器操作。如果在根据方法200的发送过程中(图9和图11所示),分组被FEC编码,则步骤1440将分组解码成合适数量的源分组。在步骤1442中,被组装和解码的有效载荷将被传输到文件聚合体重组。接收方法1400在结束任务的步骤1444中完成。
一旦一个第一分组在等待分组到达的步骤1410中被接收,那么步骤1450将以超时启动而开始。在步骤1450中,当方法1400期望接收另外的分组时产生超时。如果超时步骤1450超出了整个超时周期,那么方法1400执行在步骤1452中执行数据试探分析以试图构造没有接收到的分组。
在步骤1454中,方法1400确定没有被接收的分组是否能由已经接收的存在的分组恢复。如果分组能被恢复,那么,在步骤1456中将执行数据试探合成。此后,在步骤1458中将有效载荷标记为完成。方法1400然后进入到步骤1422确定有效载荷是否是完整的。如果在步骤1454中,做出未被接收的分组不能由数据试探恢复的决定,那么方法1400将进入到步骤1460。在步骤1460中,不管重试的最大次数是否到达,都将做出一个决定。如果由接收分组完成有效载荷的的最大重试次数已经达到,那么在接下来的步骤1462中,建一个有效载荷接收失败的记录。在这种情况下,未完成的有效载荷被传送到文件聚合体以便在步骤1442中重新组装并且方法1400进入到步骤1444以结束任务。
另一方面,如果在步骤1460中确定重试的最大次数没有出现,那么步骤1464将确定是否任何的有效载荷首分组被接收。如果已经接收了一个有效载荷首分组,那么在步骤1466将发送一个请求给发送设备以重新发送丢失分组。如果没有接收到首分组,那么,在接下来的步骤1468中,接收设备将一个消息发送到发送设备,表明哪些分组被接收到。在每一种情况下,步骤1466和1468之后都是步骤1426,在其中重新计算有效载荷接收超时并且在有效载荷组装程式中重置超时。方法1400返回到等待分组到达的步骤1410。
应该注意到接收协议能够跟踪没有实际接收到的分组并同样将此传送回发送协议。这将增强发送协议的物理层管理器适应变化的网络环境的能力。因此,当协议能够通过重建一个分组或类似的分组来减少重新发送时,将大量未被接收的分组传送回起初的协议可能是有用的,目的是完全允许协议的自适应性特性的有效操作。
图15-17是详尽示例性地描述根据图13的协议20发送和接收间的相互作用的时序图。参考图15,定时线示出了根据协议20的发送和接收设备间的通信处理的一种可能结果。在时间t1处,发送设备通过协议20打包有效载荷缓冲器并且通过互连网络将由此产生的分组发送到根据协议20操作的接收设备。在t1和t2之间的时间,接收协议接收一些指向它的分组。在时间t2处,接收协议接收所有的分组。同时,接收协议确认有效载荷的发送。
参考图16,定时线示出了另一个在采用协议20的发送和接收设备间的通信处理的可能结果。在时间t1处,发送设备通过协议20打包有效载荷缓冲器并且通过互连网络将由此产生的分组发送到根据协议20操作的接收设备。在t1和t2之间的时间,接收协议接收一些由发送设备指向其的分组。然而,在这种情况下,接收协议接收至少一个首分组,但是并不是由发送协议发送的有效载荷的所有分组。
当有效载荷的第一分组到达时,接收协议启动一个超时周期。在该超时结束时,在图中时间t3,如果另一个分组未接收到,那么接收协议发送一个仅对丢失分组的重发请求。协议20基于实际接收到的分组信息以及包含有效载荷和被发送分组内容详尽信息的首分组的信息,来确定哪些分组丢失。在时间t3处,接收协议接收到首分组。首分组中的信息包含特定有效载荷中的被发送(和被接收协议期望)的分组的数量。
然后,接收协议确定没有到达并需要通过发送协议重发的分组。接收协议形成一个对这些丢失分组的请求并在时间t3处将该用于特定的丢失分组重发的请求发送到发送设备。在时间t4处,发送协议接收丢失分组的重发请求。在时间t5处,发送协议重发由接收协议请求的丢失分组。
在时间t6,接收协议接收至少一些丢失分组,但不是全部。在接收丢失分组中的任何第一分组时,正如上面所述,接收设备启动一个超时。在时间t7处,由接收协议启动的超时周期期满,而并非所有丢失分组均已到达。这时,接收协议接着请求另外一个仍然丢失的分组的重新发送。
在时间t8处,发送协议接收到该重发请求。然后,发送协议在时间t9处重发请求的丢失分组。在时间t10处接收协议接收这些丢失分组。
然后,在时间t10处接收协议发送一个完整有效载荷接收的确认(ACK)。以下循环,即发送分组;在第一分组到达时接收协议启动一个超时;在超时周期终止时,如果一个首分组到达,则接收装置请求仅重发特定的丢失分组;以及仅重发丢失分组,将重复直到全部的数据有效载荷被发送到接收设备。因此,接收设备利用包含在分组头标中的信息去主动请求仅重发未被接收的所有分组。
应该注意到接收协议同样能试图通过协议中实现的FEC重建丢失分组。或者,该协议能通过数据试探的使用来试图重建某些数据,诸如图形数据。
参考图17,提供了图3中协议20操作的一种情形的另一个定时线实例。在时间t1处,发送协议已经格式化并打包将在互连网络上传递到接收协议的有效载荷数据。该分组通过时间t1被发送到接收协议。
当接收协议接收到有效载荷的第一分组时,接收协议启动超时周期。如果另一个分组在超时周期内到达,则接收协议重新启动该超时周期。一旦超时期满而未接收到分组时,接收协议将试图确定是否全部的数据有效载荷被接收。
在时间t2处,接收协议接收一个分组同时启动超时周期。在时间t3处,接收协议已超时而未接收到首分组。这样,接收协议不能确定特定有效载荷的分组数量并且不知道哪些分组未被接收,以便向发送协议请求丢失分组的重发。然而,接收协议启动一个到发送协议的请求以表明它没有接收到特定有效载荷的分组头标,并且随该请求一起发送该已接收分组的标识信息。
在时间t4处,发送协议已经接收到来自接收协议的、表明它没有接收到特定有效载荷的所有分组以及该接收协议没有接收到有效载荷的分组头标的请求。该发送协议利用接收协议接收到的分组的标识信息,并且确定哪些分组将重发到接收协议。然后发送协议再次在时间t4和t5之间将丢失分组发送到接收协议。
如图15-17所示,接收协议的至少一个分组的接收启动一个超时周期。如果接收协议确定它是一个丢失分组,那么它将请求发送协议重发这些丢失分组。如果接收协议接收到一个分组头标,它能够使用该包含在分组头标中的信息明确地请求仅重发丢失分组。如果接收协议没有接收到一个分组头标,它确定它未接收到所有的有关数据,则接收协议请求重发分组头标。在该请求内,接收协议也列出了它已接收到的分组,这样发送协议可以仅仅重发那些没有接收到的数据分组和还没有接收到的首分组。
应该注意到,不像以前的数据协议,本发明中的超时值本质上是动态的。在传输协议层和物理层之间的通信允许该协议基于数据发送的历史而动态地得出一个合适的超时。在无线链路的情形下,信道的特性,接收和发送设备的特性,以及在不久以前的数据发送的实际次数,允许协议设置有效的超时。
接收协议的一个示例性的超时本质上是动态的,特别是在互连网络的链路是无线的情形下。这样的话,基于该无线链路特性能够计算一个更有效的超时。此外,在协议中物理层管理器和传输机制之间的相互作用允许它以一种有效的方式操作。传输机制包括一个超时,允许一个接收协议有效地确定何时将一个请求数据重发的消息发送到发送协议。
接收协议计算并监视该超时量度,并且在假设一些分组丢失和请求一个重发之前告知该接收协议一个有效载荷中的所有分组到达要等待多长时间。该量度能够被认为是由无线链路的当前条件造成的、平均或稳定状态网络性能延迟和瞬时性延迟效果的加权求和。
同样,在本示例性的实施方案中,一个有效载荷超时能够在一个如下的环境中表达TbursttimeoutWstaticT^bursttimeoutWdynamicf(x,...),]]>其中 和f(x,...)=瞬时性发送延迟效果,和Wstatic=静态延迟近似效果加权,和Wdynamic=瞬时性延迟效果加权,和Wstatic+Wdynamic=1既然一个有效载荷的总的发送时间对于有效载荷的大小是偶然的,并且首分组不能保证将被第一个接收,所以当一个非首分组到达时,当前有效载荷的大小被假定是最后成功发送的有效载荷的大小。根据一个首分组和关于有效载荷大小的信息的接收,时序量度能被更接近地重新计算。当先前没有接收到任何有效载荷时,将使用一个自举的缺省值。
在动态环境下,平均发送延迟的变化性可以认为是与上述的加权W有关。在动态环境中的变化越大,整个分组延迟的瞬时性效果也越显著。在有线环境下,Wdynamic接近于零。
在本示例性的实例中, 基于 其中Epptt(x)=每个分组发送延迟的期望或平均值,和σpptt(x)=每个分组发送延迟的标准偏移,和Ntpkts=在下一个分组突发中期望的分组的总数量。
Epptt(x)和σpptt(x)由过去有效载荷接收性能计算。
对于每个接收的有效载荷,和对于每个中止的有效载荷,整个经历的累加时间被有效载荷中接收分组的数量相除得到有效载荷每个分组延迟的统计值。因此,标准偏移同样被计算。这些数值作为传输协议的一个部分被记录。每个分组发送时间的平均值被计算为所经历的每个分组统计的实际最后M延迟的移动平均值并且再次作为传输协议的一部分储存。
瞬时性的无线效果包括很多情况,包括地理上的,在一个蜂窝电话网络中的小区对小区的变化和其他情况。同样,函数f(x,...)是具有网络针对性的以及在所有网络链路中是不同的。该函数是一个由不同瞬时性延迟的源组成的延迟加权求和。一个或多个不变的机制通常被嵌入到传输协议以监视每个这些源的延迟。单函数能基于一个具体网络的经验来硬件编码,但是他们能可替换地以自动方式,实时地或别的方式调整或导出参考图180a-c,方框图示出了传输机制和数据试探机制之间相互作用的示例性的结果。图18a示出一个有效载荷的组成分组。图18a中的分组根据有效载荷通常经过协议20(图3所示)的传输机制被分割的顺序来编号。基于分组携带数据的相对重要性,将该分组通过试探机制排以优先次序。
在一个典型压缩中,特别是对于图形数据,较低频率或较低能量可由相关较高能量的系数来重建。这样在压缩期间,数据的系数基于数据的内容被分配一个相对的优先次序。越容易近似或复制的数据被分配一个比更难复制的数据更低的等级。
这样,在图18a中,更重要或更高加权的分组是分组0和分组N-1。下一个最重要的是分组N,等等直到最不重要的数据分组,分组2。数据试探以一种与包含于其中的数据的重要性一致的方式对该分组编码。
在图18b中,传输机制根据包含在其中的数据的相关加权来对分组重新排序。这样,分组N-1被移到第二时隙。也可以进行分组的重新编号,以便允许接收协议更充分评定信息的重要性。同样,可以保留分组起初的编号顺序。
在图18b中,分组N-1的内容与分组1的内容互换。这样,新的分组1等于或低于分组0的重要性,并且等于或高于分组2的重要性。然而,分组1的内部字段表示了该分组的自然排序仍在第N-1位置。如果必要的话,这允许分组的第一排序得以保存。
参考图18c,方框图指出了在接收协议接收的图18a-b中的分组的排序。在试图重建有效载荷的过程中,接收协议已经正确地推断出分组N-3被发送,原来的分组1丢失。协议使用分组的重新排序确定在有效载荷的重建中发送分组N-3不超过“D”重要性。这样,该协议就容易确定分组N-3的丢失对于最后有效载荷的重建来说是可接受的。也要注意到有效载荷也可能以图18a的原来顺序组装,因为原来的有效载荷标志在数据中仍然存在。
这种包含在分组中的数据重要性的排序同样有利于分组的物理发送的有效性。传输协议能够包含一种手段以便在具有良好特性的发送信道上优先发送重要分组。这样,如果在发送分组的过程中,一个突然出现的情形导致发送信道恶化,那么传输协议层能够重新引导次重要的分组发送,这样等待一个无缺陷的信道来发送更重要的数据。
参考图19,时序图示出了在协议20(图3所示)的数据试探,传输机制和物理层管理器之间的示例性相互作用。首先,在时间t1处使得能够发送A,并且具有好的发送特性,正如图19中由高等级所指示的。同样,传输机制控制由数据试探机制确定的更高优先级分组在该时间期间发送。因此,最高优先级的分组,分组1和2在该时间发送。
意外的,在时间t2处,发送信道特性改变成如图19中低等级指示的低质量。物理层管理器将该改变指示到传输机制。然后传输机制在信道上不再发送任何更多的高优先级的分组。这是因为人们想要高优先级的分组享有更高的被接收协议接收的可能性。同样,基于低发送质量,传输机制控制最不重要的分组在该时间发送。因此,分组N在该周期被发送。
在时间t3处,信道特性变好,但是不如在时间t1时最好的那样。在协议20中物理层管理器将这种改变指示到传输机制。由于传输特性已经改善,传输协议使得能够发送更高重要性分组。换句话说,传输协议能够等待直到最佳情形出现,正如在t1处所示的。然后,传输机制控制发送中等重要性的分组,诸如分组5。基于良好信道特性的存在,能够预见预见分组的优先级设置和发送这些分组之间相互作用的许多不同的方案。
当前方案能够容易地扩展到许多的信道。由于物理层管理器包含了一个不同信道特性的数据库,所以优先级分组的发送可以在传输协议等待一个较佳信道而不是较佳的信道条件时被延迟。当然,其他的替换也是可能的。
尽管已经显示和描述了本发明的示例性实施,但是,在上述公开的内容和某些情况下的大范围修改,改变以及替代是预期的,本发明的一些特性可以在不相应使用其他特性的情况下使用。因此,所附权利要求被广义地和在某种意义上与本发明范围相一致地解释是恰当的。
权利要求
1.一种在网络上通信的方法,包括步骤将一个有效载荷打包成一系列的数据分组;在该系列的开始,中间和朝向结尾插入首分组;与首分组一起发送该系列;接收至少该序列数据分组中的一些以及该首分组中的至少一个;和发送一个选自以下组的确认所有的数据分组和至少一个首分组已接收;并非所有的数据分组已接收以及至少一个首分组已接收;以及一些数据分组已接收,但是没有首分组已接收。
2.权利要求1的方法,其中该方法进一步包括步骤如果该确认是所有的数据分组和至少一个首分组被接收,则终止该方法。
3.权利要求1的方法,其中该方法进一步包括步骤如果至少一个首分组被接收而不是所有的数据分组被接收,则标识未接收到的数据分组;其中发送步骤的确认包括未接收到的数据分组的标识符;和仅重发未接收到的数据分组。
4.权利要求1的方法,其中该方法进一步包括步骤标识已接收一些数据分组,但没有接收任何首分组;其中发送步骤的确认包括已接收数据分组的标识符;基于该确认中的标识符确定哪些数据分组未被接收;仅重发未被接收的首分组和数据分组。
全文摘要
一种在网络上通信的方法,特别适用于在低质量或物理信道性能变化很大的通信网络,例如无线网络(2)中,在减少带宽需求的情况下改善传输性能。该方法包括步骤将有效载荷(30)打包成一系列数据分组(42),在该系列的开始,中间,以及朝向结尾插入首分组(41),与首分组(41)一起发送该系列,接收该系列分组(42)中的至少一些以及至少其中一个首分组(41),以及发送一个确认(60)。该确认(60)可以是所有的数据分组和至少一个首分组已接收;不是所有的数据分组被接收以及至少一个首分组被接收;或者某些数据分组被接收,但没有首分组被接收。由于这些分组未被接收到而进行的数据分组和首分组的重发将被最小化,以便限制传送整个数据有效载荷所必需的通信的数量。
文档编号H04L12/56GK1426647SQ01806939
公开日2003年6月25日 申请日期2001年1月22日 优先权日2000年1月21日
发明者E·阿科斯塔 申请人:布罗德克劳德通讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1