计算机网络同期预测补偿传输技术的制作方法

文档序号:7846637阅读:198来源:国知局
专利名称:计算机网络同期预测补偿传输技术的制作方法
技术领域
本发明涉及计算机网络通信技术中的大规模数据传输。
背景技术
数据传输是计算机网络通信的重要内容之一。随着计算机网络在世界范围内的普及和发展,人们开始越来越多的使用大规模数据资源(例如大型文件资源,各种多媒体资源等等)。大规模数据资源最重大的特征是数据量庞大,通过计算机网络传输困难。另外,针对不同的应用环境,某些应用允许数据在传输过程中发生错误和丢失,而某些应用则不允许。
以TCP/IP协议为基础的因特网是目前世界上最大也最复杂的计算机网络。同时TCP/IP协议也在很多其他计算机网络中得到应用。TCP协议提供了一种通用的“流”式数据传输机制,在数据传输过程中保证数据内容的正确性和数据接收次序的正确性。由于使用方便,计算机网络数据传输(包括大规模网络数据传输)中常常采用TCP协议。
TCP协议的基础是IP协议。IP协议是不可靠的,这意味着通过IP协议发送的数据包(即作为发送单位的一个连续的数据区域)可能发生丢失,也可能以错误的次序到达,而被发送数据包中的内容也有可能发生错误的改变。在不可靠的'协议基础上,TCP协议使用了以下机制来实现可靠的数据传输1.使用针对单包数据的校验手段。这样TCP能够识别发生错误的单包数据并将其抛弃。
2.为传输中的每一个单包分配序列号。如果数据包没有按照应有的次序到达,接收方可以按照序列号所标明的次序将数据包重新组合。
3.使用确认-重传机制保证每一个数据段最终都能够送达。TCP确认-重传机制中使用“滑动窗口”以提高数据的发送效率。在数据传输过程中,发送方和接收方分别维持一个“发送窗口”和一个“接收窗口”。该窗口标识了发送/接收方当前处理的数据范围。发送方只发送“发送窗口”中标识的未确认接收部分。接收方只接收“接收窗口”标识未接收部分的数据,并更新“接收窗口”,将新接收数据区域信息通知发送方,由发送方更新“发送窗口”。
发明目的虽然TCP的基础是不可靠的IP协议,允许IP数据包丢失、延迟、错误等,但是在频繁发生数据包丢失、延迟或错误等的网络环境下其传输效率和性能大大降低。由于接收方只接收距最早未接收(包括发生了错误)数据附近(不超过滑动窗口宽度)的数据,发送方只发送距最早不确认正确接收数据附近(不超过滑动窗口宽度)的数据,因此当数据发生延迟或者丢失时,接收方只能等待接收最早未接收数据,发送方只能等待接收最早未确认接收数据的接收通知。在此期间双方只能传输滑动窗口内部的数据。在高丢包率和长延迟条件下,一个数据包从发送方发出到收到正确的接收通知中间可能需要经过非常长的时间(中间可能涉及反复重传),在此期间只能传输这个数据包附近的数据,相当于这个数据包阻碍了整个数据传输。
但在大规模数据的发送中,如果某数据包发生丢失、延迟或者错误,发送方仍然可以发送其他任何位置的数据;接收方仍然可以接收其他任何位置的数据。因此部分数据包的丢失、延迟或者错误可以不必阻碍整个数据传输过程。本发明的目的即在于克服TCP传输协议的这个缺点,提高相应环境下的数据传输效率和性能。

发明内容
本发明提出一种通过计算机网络传递数据信息的技术,其特征在于接收方和发送方对被传输数据所处的状态进行预测,对传输过程中发生的数据错误和丢失进行同期补偿,及对网络传输性能参数进行分析和对传输行为进行动态调整。
在传输过程中,接收方记录全部数据的接收状况,并定期向发送方提交发送请求。发送方参考接收方的发送请求向接收方提供数据。在数据传输过程中,发送方和接收方需要保持对被传输数据所处的状态进行预测。
对于尚未收到(或者发生错误)的数据区域,接收方对其进行分析并判定其属于如下情形之一1.a、该数据区域尚未由发送方发送,发送方在收到接收方传输请求之前不会主动发送1.b、该数据区域尚未由发送方发送,发送方在收到接收方传输请求之前可能会主动发送1.c、该数据区域已经由发送方发送,但数据仍可能在将来正确到达接收方1.d、该数据区域已经由发送方发送,数据可以认定已在传输途中丢失或发生错误接收方避免将认定属于以上第1.b种情形的数据区域作为传输请求提交给发送方,以避免多余传输请求的提交。接收方同时避免将认定属于以上第1.c种情形的数据作为传输请求提交给发送方,以避免造成发送方的额外发送。接收方应在每次提交传输请求前对尚未收到的数据区域进行预测,并根据预测结果选择提交传输请求的数据区域。接收方对尚未收到或者已经收到但可以认定发生错误的数据区域所处状态进行预测的依据可以是以下内容中的至少一项2.a接收方提交给发送方的传输请求2.b接收方获知的已发送数据的区域信息2.c接收方获知的已发送数据的时间信息2.d接收方获知的已发送数据的冗余或校验信息2.e已由接收方接收的部分或全部数据区域,关于其到达接收方的时刻的原始或统计信息2.f已由接收方接收的部分或全部数据区域,关于其传输包长的原始或统计信息以上项目可能成为接收方预测依据的原因在于发送方可以认为短时间内已提交传输请求的数据区域可能在不久的未来接收而无需重复提交发送请求;如果发送方向接收方提交了有关已发送数据的区域、时间、冗余或者校验信息,接收方可通过这些信息确认某未接收区域的传输状态以及判定已经收到的数据是否发生错误,尝试修复损坏数据及尝试恢复丢失数据;如果发送方连续发送数据,那么已接收数据附近的数据区域很可能已经由发送方发送,如果该已接收数据为短期内接收,那么它附近未接收数据可能会在不久的将来到达接收方,因此可以利用依接收数据到达时刻信息预测未接收数据的传输状态;如果接收方发现某包长的数据包发生丢失的可能性较大,可建议发送方使用其他的包长发送数据。
同时,发送方应对已经发送的数据区域进行分析,判定其属于如下情形之一3.a该数据区域已经被接收方收到3.b该数据区域尚未被接收方收到,但数据仍可能在将来正确到达接收方3.c该数据区域尚未被接收方收到,数据可以认定已在传输途中丢失或者发生错误发送方应避免向接收方发送认定属于以上情形3.a及情形3.b的数据以避免接收方重复接收。发送方应在每次传输前对已发送数据进行预测,确定某区域的数据是否需要重新发送。发送方对已传输数据进行预测的依据可以是以下内容中的至少两项4.a发送方获知的传输请求4.b发送方获知的包含已接收数据接收时刻和/或传输包长的原始或统计信息4.c发送方获知的关于已接收数据区域的原始或统计信息4.d发送方已向接收方发送的数据,关于其发送时刻的原始或统计信息4.e发送方已向接收方发送的数据,关于其数据区域的原始或分布信息4.f发送方已向接收方发送的数据,关于其传输包长的原始统计信息
4.g发送方已知的主机硬件参数4.h发送方获知的主机运行状况4.i发送方已知的网络硬件参数4.j发送方获知的网络运行状况4.k发送方获知的网络结构信息以上项目能够成为发送方对已发送数据的传输状态进行预测的依据的原因在于接收方通过传输请求申请发送的数据区域一般可认为在过去的数据传输中接收方没有收到;如果接收方向发送方提交了包含已接收数据的接收时刻和/或传输包长的原始或统计信息的汇报,在不久前收到的数据附近的数据可能由于延迟而没有及时到达接收方,但仍然存在将来到达接收方的可能,而很久前收到的数据附近的数据则一般可认为丢失,另外该汇报中包含的关于传输包长的信息可直接提示发送方某特定包长的数据丢失可能性更大;如果接收方向发送方提交了包含已接收数据区域的原始或统计信息的汇报,则该汇报可直接帮助发送方判断数据是否已经到达接收方;发送方关于其已向接收方发送的数据发送时刻、数据区域或者传输包长信息能够帮助其分析已发送数据在特定时刻到达接收方的可能性;如果发送方已经了解其主机硬件参数、主机运行状况或者部分网络硬件参数、网络运行状况、网络结构等信息都可以成为辅助判断已发送数据是否到达接收方的手段并为提高传输效率和性能提供依据。
为了提高发送效率,本发明采用了在自主传输的同时进行同期补偿的数据发送方式。自主传输是发送方可以在任何时候主动发送任何确保接收方不会重复接收数据,包括发送方从未发送过的数据和已经发送过,但判定接收方没有收到的数据。由于能够确保接收方不会重复接收,发送方可以自主决定发送内容,既无需等待接收方的传输请求,也不必等待接收方确认接收,尽可能充分的利用网络带宽。在自主传输的同时,发送方处理接收方的传输请求,对已确认丢失或者发生错误的数据进行补偿。
由于自主传输不需要等待接收方的响应,完全由发送方单方面进行,因此不恰当的发送行为会影响网络传输效率。为了获得最佳的传输效率,本发明中的发送方和接收放在数据传输过程中保持对网络传输的性能参数进行分析。由于存在丢包、错误和延迟,我们希望了解数据包发生丢失或错误的比例以及具体的网络环境(包括不同包长的数据包的在网络中传输发生丢失或错误的比例及延时长短、具体的网络硬件参数、网络结构信息、网络运行状况等),并进一步了解这个比例及该网络环境随以下内容中某一项或几项的变化关系5.a发送方的发送速率(比特数据或者包速率)5.b传输使用的包长5.c各数据区域的具体发送时刻这些信息可能通过以下方式影响到网络的传输效率发送方过高的传输速率会引起网络拥堵,而过低的传输速率会导致网络带宽的浪费;网络中可能存在对不同包长具有不同传输效率的设备,甚至可能存在过滤某特定包长数据包的设备;网络在不同时刻可能具有不同的传输能力(例如收到其他传输任务的影响);同时传输行为本身也可能对网络环境造成影响。当传输过程中侦测到网络传输效率随以上信息的变化关系后,可以采取如下动作中的一项或几项以获得较高的发送效率6.a增大,减小或者停止数据传输的发送速率6.b改变发送数据所使用的传输包长6.c调整各数据区域的具体发送时刻6.d强或者削弱(包括停止)自主传输。
以上动作可能影响网络传输效率的原因在于发送速率、发送包长直接影响了传输效率;如果网络在不同时刻具有不同的传输效率,则发送方也应当在相应的时刻进行相应的调整;而自主传输由于不等待接收方的接收确认,因此很容易影响发送效率。
具体实施例方式
当发送方与接收方就待传输内容协商完毕后,传输过程开始。传输过程中发送方向接收方发送数据,接收方向发送方提交数据传输请求。双方也可向对方提交已方的状态汇报作为双方对数据传输状态进行预测的依据。
发送方的发送行为可以分解成两部分自主传输和同期补偿。
自主传输是发送方可以在任何时候主动发送任何确保接收方不会重复接收的数据,包括发送方从未发送过的数据和已经发送过,但判定接收方没有收到的数据。在没有获得接收方请求的情况下,发送方依据网络情况和主机负担以及预知的客户端接收能力等信息,主动向接收方发送这类数据。
在获得接收方请求及其它汇报后,发送方结合已知的网络状况等对数据区域进行预测,确定丢失或者发生错误的数据区域。发送方在进行每个周期的自主传输前,优先重新发送丢失或错误区域,或者向接收方提供纠正信息(补偿传输)。这种优先并不表示补偿传输在时间上一定先于自主传输,而是指发送方在确定选择不同传输方式和不同传输数据的优先等级时拥有较高的优先权重。例如,当不存在发送方已知的待补偿数据、发送方轻负担、传输速率低于网络传输能力时,发送方可选择最容易访问的数据块进行自主传输。又如,当存在大量待补偿数据使得接收方不能允许有更多待补偿数据存在时,发送方可优先进行同期补偿。又如,当发送方重负担,已存在一定数量待补偿数据,接收方尚能允许有更多待补偿数据时,发送方可在数据访问开销较小的区域中优先选择补偿传输。
接收方在记录数据接收状况的同时对尚未收到的数据包状态进行预测,从确认发送方尚未发送或者已发送但可确认丢失的数据区域中选择最有利于传输的数据区域作为传输请求提交给发送方。例如,发送方成片发送数据,则接收方刚收到的数据邻近的区域可能已经发送但会延迟到达,因此可避免将这部分数据区域作为传输请求提交。又如,接收方可优先选择较靠前的待补偿部分作为传输请求提交,以利于发送方将此区域的数据清出发送方缓存。又如,接收方可优先选择靠后的待补偿区域作为传输请求提交以提高发送方的缓存利用率。又如,接收方可优先选择较宽的待补偿数据区域作为传输请求提交以便于提高发送方的发送数据效率。又如,接收方可优先选择较窄的待补偿区域作为传输请求提交以提高已接收数据的连续性。
为了获得较高的传输效率,发送方与接收方需要不断测试了解数据包发生丢失或错误的比例以及具体的网络环境。发送方可为所发送的数据包分配序列号,接收方可根据此计算出数据包在传输过程中的丢包率、发送方发送数据的发包率等网络参数。另外接收方也可根据所接收到的数据计算出收包率等信息,考察数据在传输过程中的发生丢失、错误的比例与发送速率、发送包长或者发送时刻等因素之间的变化关系,将这些信息或者由这些信息计算出的数据传送给发送方,辅助发送方确定数据传输的参数,例如调整发送速率、发送包长、发送时刻甚至改变自主传输策略以获得最佳的传输性能。
权利要求
1.本发明提出一种通过计算机网络传输数据信息的技术,其特征在于接收方和发送方对被传输数据所处的状态进行预测,对传输过程中发生的数据错误和丢失进行同期补偿,及对网络传输性能参数进行分析和对传输行为进行动态调整。
2.权力要求1所述接收方对被传输数据所处的状态的预测,其特征是接收方对于尚未收到或者可以认定发生错误的数据区域,判定属于如下情形之一2.a该数据区域尚未由发送方发送,发送方在收到接收方传输请求之前不会主动发送;2.b该数据区域尚未由发送方发送,发送方在收到接收方传输请求之前可能会主动发送;2.c该数据区域已经由发送方发送,数据仍可能在将来正确到达接收方;2.d该数据区域已经由发送方发送,数据可以认定已在传输途中丢失或发生错误,并避免将认定属于2.b或2.c的数据区域作为传输请求提交给发送方。
3.权力要求2所述接收方对被传输数据所处状态进行预测,其依据包括以下内容中的至少一项3.a接收方提交给发送方的传输请求3.b接收方获知的已发送数据的区域信息3.c接收方获知的已发送数据的时间信息3.d接收方获知的已发送数据的冗余或校验信息3.e已由接收方接收的部分或全部数据区域,关于其到达接收方的时刻的原始或统计信息3.f已由接收方接收的部分或全部数据区域,关于其传输包长的原始或统计信息
4.权力要求1所述发送方对被传输数据所处状态的预测,其特征是发送方对于已经发送的数据区域,判定属于如下情形之一4.a该数据区域已经被接收方收到4.b该数据区域尚未被接收方收到,但数据仍可能在将来正确到达接收方4.c该数据区域尚未被接收方收到,数据可以认定已在传输途中丢失或者发生错误并避免发送认定属于4.a或4.b的数据区域中的数据。
5.权力要求4所述发送方对被传输数据所处状态进行预测,其依据包括以下内容中的至少两项5.a发送方获知的传输请求5.b发送方获知的包含已接收数据接收时刻和/或传输包长的原始或统计信息5.c发送方获知的关于已接收数据区域的原始或统计信息5.d发送方已向接收方发送的数据,关于其发送时刻的原始或统计信息5.e发送方已向接收方发送的数据,关于其数据区域的原始或分布信息5.f发送方已向接收方发送的数据,关于其传输包长的原始统计信息5.g发送方已知的主机硬件参数5.h发送方获知的主机运行状况5.i发送方已知的网络硬件参数5.j发送方获知的网络运行状况5.k发送方获知的网络结构信息
6.权力要求1所述同期补偿,其特征是自主传输,和在自主传输同时对已确认丢失或者发生错误的数据进行补偿。
7.权力要求6所述的自主传输,其特征是发送方主动发送在数据传输过程中确保不会被接收方重复接收的数据。
8.权力要求1所述对网络传输性能参数进行分析,其特征是考察数据在传输过程中发生丢失、错误的比例和/或具体网络环境随以下内容中至少一项的变化关系8.a发送方的发送速率(包括比特数据或者包速率)8.b传输使用的包长8.c各数据区域的具体发送时刻
9.根据权力要求8,发送方在传输过程中可根据分析结果采取以下动作中的至少一项9.a增大,减小或者停止数据传输的发送速率9.b改变发送数据所使用的传输包长9.c调整各数据区域的具体发送时刻9.d增强或者削弱(包括停止)自主传输。
全文摘要
一种通过计算机网络进行高效率的大规模数据传输的技术。通过收发双方对数据所处状态进行预测、自主传输与同期补偿相结合、对网络性能参数进行动态分析和调整以获得最佳传输效率。TCP协议在传输过程中如果发生频繁丢包、延迟或者错误时,发生丢失、延迟或者错误的数据包会阻碍后续数据的传输,严重影响传输效率。本发明克服TCP传输协议的这个缺点,提高相应环境下的数据传输效率和性能。
文档编号H04L12/28GK1538676SQ0310988
公开日2004年10月20日 申请日期2003年4月17日 优先权日2003年4月17日
发明者杨磊, 黄辉, 杨 磊 申请人:杨磊, 杨 磊
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1