数据发送装置及利用该装置的数据通信方法与流程

文档序号:13697224阅读:159来源:国知局
技术领域本发明的实施例涉及数据通信,更具体地讲,涉及一种数据发送器及利用该数据发送器的数据通信方法。

背景技术:
计算机网络使得多个计算机之间的通信成为可能。例如,计算机网络包括局域网(LocalAreaNetwork:LAN)、广域网(WideAreaNetwork:WAN)、因特网、无线网、混合器件网络等。在这样的计算机网络中,数据可以以一个以上的数据包形式被发送。通常,数据分别在发送器及接收器的IP层(IPLayer)被分离为最大传输单元(MaximumTransmissionUnit:MTU)后被发送及接收。在发送器发送数据前和接收器接收数据后,在发送器及接收器的应用层(ApplicationLayer)上执行数据处理(例如,压缩、加密、解密等)。此时,如果在应用层(ApplicationLayer)上以最大传输单元进行数据处理(例如,压缩及加密),则数据处理带来的开销(Overhead)会增加。因此,在发送器及接收器的应用层上使用大于最大传输单元的大小的缓冲区(Buffer)来执行数据处理。其中,通常使得发送器的发送缓冲区的大小与接收器的接收缓冲区的大小一致。即,当发送器的发送缓冲区的大小大于接收器的接收缓冲区的大小时,因接收器侧从发送器接收的数据溢出而导致数据包丢失。并且,当发送器的发送缓冲区的大小小于接收器的接收缓冲区的大小时,即使在接收器的接收缓冲区存在可用空间,也可能在完成发送器的发送缓冲区中的数据的发送之前使得数据发送中断。因此,通常使得发送器的发送缓冲区的大小与接收器的接收缓冲区的大小一致。【现有技术文献】韩国公开专利公报第10-2007-0094742号(2007.09.21)

技术实现要素:
本发明的实施例旨在提供一种即便具有小于数据接收器的接收缓冲区的大小的发送缓冲区,也能够顺利地执行数据的发送的数据发送器及利用该数据发送器的数据通信方法。根据一个实施例,提供一种数据发送装置,包括:缓冲区管理单元,生成由具有分别与发送数据包的大小对应的大小的多个缓冲区构成的发送缓冲池,并且管理各个缓冲区的缓冲区位置信息及缓冲区使用状态信息;数据处理单元,将数据分割为已设定的大小的数据块;数据发送单元,将从所述数据处理单元输入的各个数据块变换为多个发送数据包,并且向所述缓冲区管理单元请求与所述多个发送数据包的数量对应的缓冲区分配,其中,缓冲区管理单元根据所述缓冲区分配请求来确认所述缓冲区的使用状态信息,并将处于可使用的状态的缓冲区的位置信息提供给所述数据发送单元,所述数据发送单元在利用所述缓冲区管理单元所提供的位置信息存储所述多个发送数据包之后发送至数据接收装置。属于所述发送缓冲池的缓冲区可具有数据发送装置和所述数据接收装置之间的传输协议中设置的最大传输单元(MaximumTransmissionUnit:MTU)的大小。所述数据发送单元可将待发送至所述数据接收装置的数据块的数量与在所述数据接收装置的接收缓冲区中可使用的缓冲区的数量进行比较而向所述缓冲区管理单元请求缓冲区分配。所述数据发送单元可将变换后的所述多个发送数据包与对应于所述缓冲区位置信息的缓冲区一对一对应起来进行存储。所述数据发送单元可利用从所述数据接收装置接收的确认应答消息确认已完成发送的数据包,并且可将与所述已完成发送的数据包对应的缓冲区返还给所述发送缓冲池。所述数据发送单元可将关于与所述已完成发送的数据包对应的缓冲区的缓冲区返还信息传送至所述缓冲区管理单元,所述缓冲区管理单元可利用所述缓冲区返还信息更新与所述已完成发送的数据包对应的缓冲区的缓冲区使用状态信息。所述发送缓冲池的容量可被构成为小于所述数据接收装置的接收缓冲区的容量。所述缓冲区管理单元可根据所述发送缓冲池的使用率是否超过已设定的临界值而将所述发送数据包大小的缓冲区按数据包单元分配到所述数据发送单元。所述数据发送装置可利用面向无连接协议执行数据通信。面向无连接协议可以是用户数据报协议(UserDatagramProtocol:UDP)。根据另一个实施例,提供一种数据通信方法,包括如下步骤:在数据发送装置的缓冲区管理单元中,生成由具有分别与发送数据包的大小对应的大小的多个缓冲区构成的发送缓冲池;在数据发送装置的数据处理单元中,将数据分割为已设定的大小的数据块;在数据发送单元中,将从所述数据处理单元输入的各个数据块变换为多个发送数据包,并且向所述缓冲区管理单元请求与所述多个发送数据包的数量对应的缓冲区分配;在所述缓冲区管理单元中,根据所述缓冲区分配请求来确认所述缓冲区的使用状态信息并将处于可使用的状态的缓冲区的位置信息提供给所述数据发送单元;在所述数据发送单元中,根据所述缓冲区的位置信息将所述多个发送数据包存储于属于所述发送缓冲池的缓冲区;在所述数据发送单元中,将变换后的所述多个发送数据包发送至数据接收装置。属于所述发送缓冲池的缓冲区可具有数据发送装置和所述数据接收装置之间的传输协议中设置的最大传输单元(MaximumTransmissionUnit:MTU)的大小。在请求所述缓冲区分配的步骤中,可将所述数据发送单元待发送至所述数据接收装置的数据块的数量与在所述数据接收装置的接收缓冲区中可使用的缓冲区的数量进行比较而向所述缓冲区管理单元请求缓冲区分配。所述方法还包括如下步骤:在将变换后的所述多个发送数据包发送至数据接收装置的步骤之后,在所述数据发送单元中,利用从所述数据接收装置接收的确认应答消息确认已完成发送的数据包,并且将与所述已完成发送的数据包对应的缓冲区返还给所述发送缓冲池。返还给所述发送缓冲池的步骤包括如下步骤:在所述数据发送单元中,将关于与所述已完成发送的数据包对应的缓冲区的缓冲区返还信息传送至所述缓冲区管理单元,并且在返还给所述发送缓冲池的步骤之后,还可包括如下步骤:在所述缓冲区管理单元中,利用所述缓冲区返还信息更新与所述已完成发送的数据包对应的缓冲区的缓冲区使用状态信息。所述发送缓冲池的容量可被构成为小于所述数据接收装置的接收缓冲区的容量。在将所述缓冲区的位置信息提供给所述数据发送单元的步骤中,可根据所述发送缓冲池的使用率是否超过已设定的临界值而将所述发送数据包大小的缓冲区按数据包单元分配到所述数据发送单元。根据另一个实施例,提供一种存储于记录介质的计算机程序,用于与硬件结合以执行如下的步骤:生成由具有分别与发送数据包的大小对应的大小的多个缓冲区构成的发送缓冲池;将数据分割为已设定的大小的数据块;将各个数据块变换为多个发送数据包,并向所述缓冲区管理单元请求与所述多个发送数据包的数量对应的缓冲区分配;根据所述缓冲区分配请求来确认所述缓冲区的使用状态信息并将处于可使用的状态的缓冲区的位置信息提供给所述数据发送单元;利用所述位置信息存储所述多个发送数据包。根据本发明的实施例,将属于发送缓冲池的各个缓冲区划分为具有从数据发送单元发送的数据包的大小,并根据从数据接收器接收的确认应答消息来更新与已完成发送的数据包对应的缓冲区的使用状态信息,从而仅凭小于数据接收器侧的接收缓冲区的大小的发送缓冲区也能够使得数据发送器的发送性能维持在一定的水平。附图说明图1是用于说明根据本发明的实施例的数据通信系统的图。图2是示出根据本发明的实施例的从数据发送单元发送的数据块单元的结构的图。图3是示出根据本发明的实施例的从数据接收器发送至数据发送器的确认应答消息的图。图4至图7是示出根据本发明的实施例的将数据包从数据发送器发送至数据接收器侧的过程的示意图。图8是根据现有技术的数据发送侧及数据接收侧的缓冲区使用示意图。图9是根据本发明的实施例的数据发送侧及数据接收侧的缓冲区使用示意图。图10是示出根据本发明的一个实施例的数据通信方法的顺序图。符号说明:100:数据通信系统110:数据发送器111:数据处理单元113:缓冲区管理单元115:数据发送单元120:数据接收器具体实施方式以下,将参照附图对本发明的具体实施方式进行描述。然而,这只不过是示例,并且本发明不限于此。在对本发明进行描述时,在对与本发明相关的公知技术的具体描述被认为是会使本发明的主旨不清楚的情况下,省略其详细描述。并且,后述的术语作为考虑本发明中的功能而定义的术语,可根据使用者、运用者的意图或者惯例等而不同。因此,其定义应基于贯穿整个本说明书的内容而做出。本发明的技术构思由权利要求书确定,并且以下的实施例只是用于有效地将本发明的技术思想解释给本发明所属的技术领域中具有普通的知识的技术人员的一种方式而已。图1是用于说明根据本发明的实施例的数据通信系统的图。参照图1,数据通信系统100包括数据发送器110及数据接收器120。数据发送器110可被构成为利用面向无连接协议(connectionless-orientedprotocol)发送数据。数据接收器120可被构成为接收利用这样的面向无连接协议被发送的数据。数据通信系统100所利用的面向无连接协议可以是用户数据报协议(UserDatagramProtocol:UDP)。数据发送器110包括数据处理单元111、缓冲区管理单元113及数据发送单元115。数据处理单元111读取存储于数据发送器110的存储器(未示出)的文件(即,数据)而按已设定的数据块单元(单位)进行分割。数据处理单元111可将按已设定的数据块单元(unit)进行分割的数据传送至数据发送单元115。数据处理单元111可将按已设定的数据块单元进行分割的数据根据需要进行压缩及加密而传送至数据发送单元115。数据块单元可以以大于从数据发送单元115发送的数据包的大小的容量形成。例如,当从至数据发送单元115发送的数据包的大小为1500字节(Byte)时,在数据处理单元111中进行数据处理的数据块的单元可以是1兆字节(1MB)。缓冲区管理单元113在数据发送器110的存储器(未示出)生成由多个缓冲区构成的发送缓冲池(transmissionbufferpool)。此时,各个缓冲区可具有与从数据发送单元115发送的数据包的大小(即,发送数据包的大小)相同的大小。例如,各个缓冲区可具有数据发送器110和所述数据接收器120之间的传输协议中设置的最大传输单元(MaximumTransmissionUnit:MTU)的大小。即,本发明的实施例中,属于发送缓冲池的各个缓冲区可按最大传输单元的大小被划分。此时,最大传输单元的大小可以是1500字节(Byte),但不限于此,可根据网络环境或者发送协议而变得不同。缓冲区管理单元113可管理针对属于发送缓冲池的各个缓冲区表示存储器(未示出)上的相关缓冲区的位置的缓冲区位置信息及用于得知各个缓冲区在存储器(未示出)上的使用状态(即,处于“正在使用”的状态还是“可使用”的状态等)的缓冲区使用状态信息。当缓冲区管理单元113从数据发送单元115接收到缓冲区分配请求时,可将与数据发送单元115所需的存储空间的大小对应的缓冲区的缓冲区位置信息传送至数据发送单元115。缓冲区分配请求包括数据发送单元115所需的存储空间的大小信息。缓冲区管理单元113确认缓冲区的使用状态信息之后将处于“可使用”的状态的缓冲区的缓冲区位置信息传送至数据发送单元115。缓冲区管理单元113可根据从数据发送单元115传送的缓冲区返还信息更新与相关缓冲区的缓冲区使用状态信息。缓冲区返还信息可包含存储有已发送至数据接收器120的数据包的缓冲区的缓冲区位置信息。数据发送单元115将从数据处理单元111输入的数据变换为分别具有预定的大小的多个发送数据包,并将变换后的发送数据包发送至数据接收器120。即,数据发送单元115将从数据处理单元111输入的数据块单元的数据分别变换为具有预定的大小的多个发送数据包,并发送至数据接收器120。此时,各个数据包的头可包含赋予相关数据包的序列号。数据发送单元115可在将变换后的数据包存储于由缓冲区管理单元113管理的存储器(未示出)之后发送至数据接收器120。数据发送单元115可向缓冲区管理单元113传送缓冲区分配请求,以分配得到能够存储变换后的数据包的存储空间。缓冲区分配请求包含数据发送单元115所需的存储空间的大小信息。当在数据发送单元115将数据块单元的数据变换为预定定大小的数据包时,数据发送单元115可向缓冲区管理单元113请求分配与所述数据块单元对应的存储空间的缓冲区。数据发送单元115可利用从缓冲区管理单元113接收到的缓冲区位置信息将变换后的发送数据包存储于相关缓冲区。当属于发送缓冲池的各个缓冲区具有发送数据包的大小时,将在数据发送单元115变换后的数据包与属于发送缓冲池的缓冲区一对一对应起来进行存储。即,针对数据包而分别分配具有与数据包的大小(容量)对应的大小的缓冲区之后进行存储。数据发送单元115可按数据块单元发送数据包。图2是示出根据本发明的实施例的从数据发送单元115发送的数据块单元的结构的图。参照图2,数据块单元210包括块头211及多个数据包213。块头211可包含相关数据块单元的索引(或者序列号)。各个数据包213包含包头(header)221及数据有效负载(datapayload)223。此时,可将各个数据包213与属于发送缓冲池的缓冲区一对一对应起来进行存储。包头221可包含相关数据包的索引(或者序列号)。此外,包头221可包含相关数据块单元内的数据包的数量。数据发送单元115可通过从数据接收器120接收的确认应答消息来确认已完成发送的数据包,并将缓冲区返还信息传送至缓冲区管理单元113,以使缓冲区管理单元113针对存储有已完成发送的数据包的缓冲区更新其使用状态。这样的话,缓冲区管理单元113可将相关缓冲区的使用状态从“正在使用”更新为“可使用”。其他数据包可被存储于使用状态更新为“可使用”的缓冲区之后发送至数据接收器120。即,当数据通信系统100利用面向无连接协议收发数据时,可使用再发送机制,以提高数据发送的可靠性。例如,数据接收器120利用数据包的序列号检测数据接收器120未接收到的数据包(即,丢失的数据包),并且响应于丢失的数据包的检测向数据发送器110发送否定确认应答(NegativeACKnowledgement:NACK),从而请求丢失的数据包的重新发送。并且,数据接收器120可以将针对数据接收器120所接收到的数据包的确认应答(ACKnowledgement)发送至数据发送器110。数据发送器110可通过诸如否定确认应答(NACK)或者确认应答(ACK)的确认应答消息来确认已完成发送的数据包(或者丢失的数据包)。数据发送单元115将确认为丢失的数据包重新发送至数据接收器120。图3是示出根据本发明的实施例的从数据接收器120发送至数据发送器110的确认应答消息的图。图3的(a)是示出否定确认应答(NACK)的结构的图。参照图3的(a),否定确认应答(NACK)可包含消息类型、块索引及丢失的数据包索引。消息类型包括关于从数据接收器120发送至数据发送器110的确认应答消息的类型的信息(例如,关于相关确认应答消息是NACK还是ACK的信息)。块索引包括丢失的数据包所属的相关数据块单元的索引(或者序列号)。丢失的数据包索引包括丢失的各个数据包的数据包索引(或者序列号)。图3的(b)是示出确认应答(ACK)的结构的图。参照图3的(b),确认应答(ACK)可包含消息类型、块索引及接收的数据包索引。消息类型可包括关于从数据接收器120发送至数据发送器110的确认应答消息的类型的信息。块索引包括接收的数据包所属的相关数据块单元的索引(或者序列号)。丢失的数据包索引包括接收的各个数据包的数据包索引(或者序列号)。这里,虽然说明为数据接收器120通过NACK来发送关于丢失的数据包的信息或者通过ACK来发送关于接收的数据包的信息,但是不限于此,数据接收器120可将关于一并包含丢失的数据包及接收的数据包二者的确认应答消息发送至数据发送器110。根据本发明的实施例,将属于发送缓冲池的各个缓冲区划分为具有从数据发送单元115发送的数据包的大小,并根据从数据接收器120接收的确认应答消息来更新与已完成发送的数据包对应的缓冲区的使用状态信息,从而仅凭小于数据接收器120侧的接收缓冲区的大小的发送缓冲区也能够使得数据发送器110的发送性能维持在一定的水平。即,即使数据发送器110侧的发送缓冲区的大小小于数据接收器120侧的接收缓冲区的大小,也能够发挥与数据发送器110侧的发送缓冲区的大小和数据接收器120侧的接收缓冲区的大小相同的情况同等的水平的发送性能。图4至图7是示出根据本发明的实施例的将数据包从数据发送器发送至数据接收器侧的过程的示意图。这里,将数据块单元为1兆字节(1MB),数据发送器110侧的发送缓冲池具有3MB的大小,数据接收器120侧的接收缓冲区具有6MB的大小的一个实施例进行说明。其中,数据发送器110侧的发送缓冲池可被划分为具有发送数据包的大小的多个缓冲区。反之,数据接收器120侧的接收缓冲区可被划分为数据块单元(即,1MB)的缓冲区。这里,虽然为了便于说明示出一个数据块对应于六个缓冲区,但本发明不限于此。参照图4,数据发送器110的数据处理单元111可在从存储器(未示出)读取文件之后,将读取的文件按数据块单元(即,1MB)进行分割而传送至数据发送单元115。数据发送单元115可将从数据处理单元111传送的数据块单元的数据变换为分别具有特定的大小的数据包而存储到各个缓冲区。具体地讲,数据发送单元115可向缓冲区管理单元113传送缓冲区分配请求以分配得到1MB大小的存储空间。缓冲区管理单元113可在确认发送缓冲池内的各个缓冲区的使用状态信息之后将处于“可使用”的状态的缓冲区(总共1MB大小的缓冲区)的缓冲区位置信息传送至数据发送单元115。这样的话,数据发送单元115可利用所述缓冲区位置信息将数据包与各个缓冲区一对一对应起来进行存储。此时,各个缓冲区可具有与从数据发送单元115发送的数据包的大小相同的大小。由于发送缓冲池具有总共3MB大小并将其中的1MB分配到数据发送单元115,因此发送缓冲池中2MB大小(即,两个数据块单元的大小)的缓冲区处于“可使用”的状态。接下来,数据发送单元115可将数据包按数据块单元发送至数据接收器120侧。参照图5,在将第三个数据块从数据发送单元115发送至数据接收器120时,数据发送器110可从数据接收器120分别接收关于第一数据块及第二数据块的确认应答消息。即,数据接收器120可将包含关于分别从第一数据块及第二数据块丢失的数据包及接收的数据包中的至少一个的信息的确认应答消息发送至数据发送器110。参照图6,数据发送器110分别对关于第一数据块及第二数据块的确认应答消息进行分析而确认丢失的数据包及已完成发送(已完成接收)的数据包。当对关于第一数据块的确认应答消息进行分析的结果为第四数据包被丢失且其余数据包(即,第一、第二、第三、第五及第六数据包)已完成发送时,数据发送单元115可将缓冲区返还信息传送至缓冲区管理单元113,以将针对已完成发送的数据包(即,第一、第二、第三、第五及第六数据包)的存储空间(即,缓冲区)返还给发送缓冲池。此时,缓冲区返还信息可包括与已完成发送的数据包对应的缓冲区的缓冲区位置信息。当对关于第二数据块的确认应答消息进行分析的结果为第五数据包被丢失且其余数据包(即,第一、第二、第三、第四及第六数据包)已完成发送时,数据发送单元115可将缓冲区返还信息传送至缓冲区管理单元113,以将针对已完成发送的数据包(即,第一、第二、第三、第四及第六数据包)的存储空间(即,缓冲区)返还给发送缓冲池。此时,缓冲区返还信息可包括与已完成发送的数据包对应的缓冲区的缓冲区位置信息。这样的话,缓冲区管理单元113可利用缓冲区返还信息将返还给发送缓冲池的缓冲区的缓冲区使用状态信息从“正在使用”更新为“可使用”。由于从第一数据块及第二数据块分别返还了五个缓冲区,因此发送缓冲池中总共十个缓冲区的使用状态信息被更新。数据发送单元115还可针对第三数据块分析其确认应答消息而确认已完成发送的数据包及丢失的数据包。参照图7,当数据发送单元115为了发送第四数据块而将缓冲区分配请求传送至缓冲区管理单元113时,由于发送缓冲池中的十个缓冲区处于“可使用”的状态,因此缓冲区管理单元113可将其中的六个缓冲区(总共1MB大小的缓冲区)的缓冲区位置信息传送至数据发送单元115。这样的话,数据发送单元115可将第四数据块的数据包与相关缓冲区一对一对应起来进行存储之后发送至数据接收器120。在这种情况下,即使针对第一至第三数据块的发送处理处于未完成的状态,数据发送单元115也可将第四数据块发送至数据接收器120。如上所述,属于数据发送器110的发送缓冲池的各个缓冲区按发送数据包的大小被划分,并且将与已完成发送的数据包对应的缓冲区返还给发送缓冲池,从而即使数据发送器110的发送缓冲区的大小被构成为小于数据接收器120的接收缓冲区的大小,也能够在不使数据发送的性能下降的情况下发送及接收数据。比较例*网络环境条件如果假设网络带宽:1Gbps、数据块的大小:1MB、数据包丢失率:1%、发送数据包的大小:1KByte及往返时间(RoundTripTime):100ms,则直到数据发送侧接收关于第一数据块的确认应答消息为止,数据的发送侧及接收侧根据所述网络环境条件中的网络带宽(1Gbps)及往返时间(100ms)分别需要13MB程度大小的缓冲区。*现有技术图8是根据现有技术的数据发送侧及数据接收侧的缓冲区使用示意图。参照图8,现有技术中从数据发送侧按数据块单元存储于缓冲区而进行发送。在此情况下,在不丢失数据包的情况下,数据发送侧及数据接收侧分别需要13个1MB大小的缓冲区。然而,由于在所述网络环境条件下因数据包丢失而导致每数据块单元丢失10个数据包(即,由于数据块包含1000个数据包,并且数据包丢失率为1%,因此每数据块单元丢失10个数据包),因此直到完成丢失的数据包的发送为止,无法返还与相关数据块对应的缓冲区。这里,为了在不中断数据发送的情况下返还与第一数据块对应的缓冲区,数据发送侧的缓冲区需要存在可用缓冲区。即,由于直到接收到关于从第一个数据块丢失的10个数据包的确认应答消息为止,还需要与之相应的往返时间(RTT),因此数据发送侧还需要13MB的可用缓冲区,最终数据发送侧至少需要26MB的缓冲区(26个1MB大小的缓冲区)。*本发明图9是根据本发明的实施例的数据发送侧及数据接收侧的缓冲区使用示意图。参照图9,数据发送侧的发送缓冲池被划分为具有发送数据包的大小的缓冲区。此时,发送缓冲池具有14MB的大小。并且,返还与已完成发送的数据包对应的缓冲区而更新其使用状态信息。这里,虽然因数据包丢失率(1%)而导致每数据块单元丢失10个数据包,但是可根据数据接收侧的确认应答消息将与990个数据包对应的缓冲区返还给发送缓冲池。具体地讲,当从数据发送单元115发送第13个数据块时,根据关于第一数据块的确认应答消息将990个缓冲区返还给发送缓冲池。并且,当从数据发送单元115发送第14个数据块时,根据关于第二数据块的确认应答消息将990个缓冲区返还给发送缓冲池。此时,发送缓冲池中的1980个缓冲区处于可使用的状态。此外,当从数据发送单元115待发送第15个数据块时,发送缓冲池可将1980个缓冲区的1000个缓冲区分配给数据发送单元115。当从数据发送单元115发送第15个数据块时,根据关于第三数据块的确认应答消息再次将990个缓冲区返还给发送缓冲池。这样的话,发送缓冲池中的1970个缓冲区处于可使用的状态,其中1000个缓冲区被分配到第16个数据块的发送。如上所述,根据现有技术,数据发送侧需要至少26MB大小的缓冲区,而根据本发明的实施例,仅凭其一半程度的14MB大小的发送缓冲池,就可在不使数据发送性能下降的情况下发送及接收数据。图10是示出根据本发明的一个实施例的数据通信方法的顺序图。参照图10,缓冲区管理单元113可在数据发送器110的存储器上生成由多个缓冲区构成的发送缓冲池(S101)。此时,属于发送缓冲池的各个缓冲区可按发送数据包的大小构成。缓冲区管理单元113可管理属于发送缓冲池的各个缓冲池的缓冲区位置信息及缓冲区使用状态信息。接下来,当从数据发送单元115接收缓冲区分配请求时(S103),缓冲区管理单元113可确认属于发送缓冲池的缓冲区的使用状态信息并将处于可使用的状态的缓冲区的缓冲区位置信息发送至数据发送单元115,以分配可使用的缓冲区(S105)。这里,数据发送单元115可将待发送至数据接收器120的数据块的数量与在数据接收器120的接收缓冲区(即,按数据块单元划分的缓冲区)中可使用的缓冲区的数量进行比较而向缓冲区管理单元113请求缓冲区分配。例如,当待发送至数据接收器120的数据块的数量少于在数据接收器120的接收缓冲区中可使用的缓冲区的数量时,数据发送单元115可向缓冲区管理单元113请求缓冲区分配。接下来,数据发送单元115可在利用缓冲区位置信息将各个数据包与可使用的缓冲区一对一对应起来进行存储之后发送至数据接收器120(S107)。接下来,数据发送单元115确认是否从数据接收器120接收到确认应答消息(S109)。当步骤S109的确认结果为接收到确认应答消息时,数据发送单元115可利用确认应答消息来确认发送至数据接收器120的数据包中的数据接收器120已确认接收的数据包(即,已完成发送的数据包)(S111)。接下来,数据发送单元115可将缓冲区返还信息传送至缓冲区管理单元113,以将与已完成发送的数据包对应的缓冲区返还给发送缓冲池(S113)。缓冲区返还信息可包括与已完成发送的数据包对应的缓冲区的缓冲区位置信息。接下来,缓冲区管理单元113利用缓冲区返还信息更新与已完成发送的数据包对应的缓冲区的使用状态信息(S115)。此外,由于根据本发明的实施例的数据发送器110在发送缓冲池按照发送数据包大小对缓冲区进行分配及返还处理(即,按数据包单元分配及返还缓冲区),因此可能发生基于这样的处理的开销。对于此,为了减少这样的开销,可对发送缓冲池的使用率设定临界值之后,仅在缓冲池的使用率超过临界值(例如,70%)的情况下,才按数据包单元分配及返还缓冲区。本发明的实施例可包括记录有用于在计算机上执行本说明书中记载的方法的程序的计算机可读记录介质。所述计算机可读记录介质可单独地包括程序命令、本地数据文件、本地数据结构等,或者包括它们的组合。所述介质可以是为本发明而专门设计并构成的介质,或者可以是计算机软件领域的普通技术人员所公知而可以使用的介质。计算机可读记录介质的示例包括为了存储并执行程序命令而专门构成的硬件装置:诸如硬盘、软盘及磁带的磁介质、诸如CD-ROM、DVD的光记录介质、诸如软盘的磁光介质及ROM、RAM、闪存等。程序命令的示例可包括:由编译器编写的机器语言代码以及使用解释器等而能够由计算机来执行的高级语言代码。虽然已通过代表性实施例对本发明进行了详细描述,但本发明所属的技术领域中具有公知常识的技术人员应该理解在不脱离本发明的范围的情况下可以对上述实施例进行各种变形。因此,本发明的权利范围不应局限于所描述的实施例而确定,而是应当由权利要求书及其等同物来确定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1