带宽控制装置的制作方法

文档序号:7896050阅读:291来源:国知局
专利名称:带宽控制装置的制作方法
技术领域
本发明涉及在WWW (World Wide W^eb)等、在服务器与终端间通信的网络系统中、 具备设置在服务器装置中、或终端与服务器装置之间的通信路径上的中继装置的带宽控制 (traffic shaping/流量整形)技术。
背景技术
有将网络按照计划使用带宽签订合同、在合同带宽内可以一定费用使用的合同方式。在这样的合同中,对于网络提供者而言,希望控制通信以使其不超过合同带宽,此外,对于用户而言,希望在合同带宽内能够以合同上限的带宽进行通信。作为带宽控制装置的例子,在美国专利申请公开第2006/(^68719号中提出了中继装置通过令牌桶算法、或漏桶算法决定数据的发送定时、分别实现最低保证带宽的保证、 和向最大容许带宽以下的限制的方法。在TCP/IP等的协议中,在终端发送的段(传输层中的数据块的称呼)在网络上丢失的情况下,终端检测段的丢失而将该段再发送。一般,带宽控制如上述美国专利申请公开第2006/(^68719号那样,通过将在一定期间中中继的数据量抑制为规定值以下,来限制网络层中的通信带宽,所以带宽控制装置不论是否再发送段都将数据的送出抑制在限制带宽以下。因此,在频繁发生段的丢失带来的再发送、品质不好的网络中,传输层中的通信带宽比规定(合同)带宽低。此外,接收侧装置如果接收到不是按照顺序的段,则应答重复确认应答 (duplicate acknowledgment),发送侧装置如果接收到一定数量以上该重复确认应答,则判断为丢失了段(称作高速再传送(Fast Retransmit))。但是,如果带宽控制装置限制通信带宽,则接收侧装置接收不是按照顺序的段的动作也延迟。结果,发送侧装置延迟接收重复确认应答,所以段丢失的检测也变慢,传输层的通信带宽进一步下降。因此,对于用户而言,有可能不能进行合同的上限的带宽下的通信。

发明内容
在TCP中,发送侧装置在段中包括表示其顺序的信息而发送,接着接收侧装置将包括期待从发送侧装置的接收的段的顺序信息的确认应答(acknowledgment)进行发送。在以下公开的带宽控制功能的一例中,以在发送侧装置连续预先设定的数量以上接收到包括相同的顺序信息Sequence ID/序列ID,以下简称作SID)的确认应答的情况下、将该SID以后的段再发送的情况为前提。中继装置按照每个连接计算预测为接着要接收的段的SID,作为预测SID存储。带宽控制功能如果接收到同连接的下个段,则将该预测SID与接收到的段的SID 比较,如果该SID小于预测SID,则将该段判断为再发送的段,不控制其带宽而向接收侧装
4置发送。由此,能够防止带宽控制装置对再发送的段也控制带宽而超过需要地控制通信带觅ο此外,在连续一定数量以上接收到具有超过预测SID的SID的段的情况下,判断为具有预测SID的段丢失了,对这些具有超过预测SID的SID的段不控制带宽而向接收侧发送。在公开的带宽控制功能的另一例中,以在发送侧装置连续预先设定的数量以上接收到包含相同的SID的确认应答的情况下、将该SID的段再发送、然后再开始从再送前已发送的段的下个段起的发送的情况为前提。中继装置按照每个连接,参照接收到的段的SID和其尺寸,计算接收到的段的范围作为已接收区间,与到目前为止的已接收区间连结并存储。如果带宽控制功能接收到同连接的下个段,则将该已接收区间与接收到的段的 SID比较,如果该SID不在已接收区间内,则将该段判断为再发送的段,不控制其带宽,向接收侧装置发送。由此,能够防止带宽控制装置对再发送的段也控制带宽而超过需要地控制
通f曰市觅ο此外,在接收段的SID是已接收区间外、并且是已接收区间以下的情况下,将该段判断为再发送的段并且为带宽控制的对象,比保留队列的其他段更优先地向接收侧装置发送。通过这些,接收侧装置带来的、请求丢失的段的确认应答被迅速向发送侧装置发送,所以能够防止发送侧装置进行的段丢失的检测和再发送因带宽控制而延迟、结果超过需要地控制通信带宽。通过上述技术方案,在错误率(error rate)较高的网络中的通信中,能够使传输层中的通信带宽接近于规定带宽。根据本发明,能够进行更接近于合同带宽的带宽下的通信。


图1是实施例1的中继装置的结构图的一例。图2是作为实施例1的中继装置使用的信息处理装置的结构图的一例。图3是实施例1的中继装置处理从发送源通信装置接收到的段的流程图的一例。图4是在实施例1的中继装置与服务器、终端的通信中、在终端与中继装置间段丢失的情况的时序的一例。图5是在实施例1的中继装置与服务器、终端间的通信中、在中继装置与服务器间段丢失的情况的时序的一例。图6是实施例2的中继装置的结构图的一例。图7是实施例2的中继装置处理从发送源通信装置接收到的段的流程图的一例。图8是实施例3的中继装置的结构图的一例。图9是实施例4的中继装置的结构图的一例。图10是在实施例2的中继装置与服务器、终端的通信中、在终端与中继装置间段丢失的情况的时序的一例。图11是在实施例2的中继装置与服务器、终端的通信中、在中继装置与服务器间段丢失的情况的时序的一例。图12是在实施例3的中继装置与服务器、终端的通信中、在中继装置与服务器间段丢失的情况的时序的一例。
具体实施例方式以下,参照附图对本发明的实施方式进行说明。在以下的各实施例中,对网络上的中继装置具备带宽控制功能的情况进行说明, 但也可以是服务器装置具备本带宽控制功能。在以下的各实施例中,对传输层的协议是TCP、作为SID而使用TCP的序列号码的情况进行说明,但也可以与TCP同样是连接型的通信,是各段作为SID而具有相当于TCP的序列号码Sequence number)的数据的顺序信息的其他协议。例如,在TCP中,发送侧装置将SID包含在段中而发送,接收侧装置发送作为确认应答号码而包括期待接着从发送侧装置的接收的段的SID的确认应答。进而,在以下的各实施例中,对网络上的一个中继装置具备带宽控制功能的情况进行说明,但带宽控制功能具备的各处理部及存储部也可以分别由用网络连接的物理上不同的装置具备。进而,在以下的各实施例中,中继装置对从服务器向终端的通信控制带宽(即,服务器为发送侧装置,终端为接收侧装置),但也可以相反而控制从终端向服务器的通信,此外也可以是对其两方向控制。[实施例1]如图1所示,本实施方式的通信系统包括在传输层的通信协议中使用TCP而从服务器接收数据的终端102、使用该通信协议对终端发送数据的服务器104、和在终端102与服务器104之间的例如因特网等的网络106上进行通信的中继和控制的中继装置100而构成。终端102、服务器104和中继装置100也可以分别有多台。另外,在本实施例中,设终端102作为对接收数据的确认应答(ACK)而参照包含在接收到的段中的SID和其尺寸,将包含接着期待接收的段的SID的确认应答向服务器104 发送,服务器104在连续预先设定的数量以上接收到包含相同的SID的确认应答的情况下, 将该SID以后的段再发送。在中继装置100中,保留队列130是将后述的接收功能112接收到的段在后述的发送功能114发送之前保持的FIF0(First In First Out)队列。FIFO队列生成与后述的连接管理功能116管理的连接相同数量,对应于各连接。接收功能112经由网络106从服务器104或终端102接收段,进队(enqueue)到保留队列130中。但是,在由后述的用户管理功能IM判断为该段不是带宽控制的对象的情况下等,不进队到保留队列中,后述的发送功能114将该段直接发送。发送功能114将接收功能112接收到的、或者从保留队列130出队(dequeue)的段以后述的带宽控制功能110决定的定时,向终端102或服务器104发送。连接管理功能116判断接收到的段是属于新的连接、还是属于已建立的连接。此外,在属于已有的连接的情况下,管理属于哪个连接。本功能是公知技术,在连接的确定中, 例如如果通信协议是TCP/IP则使用目的地(destination) IP地址、发送源(source) IP地址、目的地端口号码、发送源端口号码的组合。用户管理功能IM是判断接收到的段属于哪个用户、决定是否需要对该用户的通信的带宽控制、决定控制带宽值的功能,是公知的技术。在用户的判断的队列中,使用例如段的发送源的IP地址。用户的信息既可以由用户管理功能IM存储,也可以对外部的数据库询问。带宽控制功能110按照用户管理功能IM决定的控制带宽,决定发送接收功能112 接收到的段、或者在保留队列130中保留中的段的定时。本技术是公知的,在发送定时的决定算法中,例如有令牌桶等。在本实施例中,没有限定带宽控制的算法。但是,带宽控制功能110对于后述的解除标志是ON的段不包含在控制带宽内,不控制带宽。后接SID预测功能118参照接收到的段是SID(以下称作接收SID)、和该段的尺寸,通过计算而预测在该段的通信连接中接着要接收的段的SID,作为预测SID。预测SID 在TCP中,与包含在终端102对接收到的段发送的确认应答中的值同样,如以下这样计算。(预测SID)=(接收SID)+(段的尺寸) (式1)段的SID和尺寸例如在通信协议TCP、UDP中分别能够从头信息中取得。预测SID存储功能1 将后接SID预测功能118计算出的预测SID按照每个通信连接存储。段信息存储功能120在段存在于保留队列130中的期间中,按照段存储预约标志和解除标志。预约标志和解除标志的初始值是OFF,由后述的SID判断功能122变更。SID判断功能122在连接管理功能116判断段属于已有的连接的情况下,将接收 SID与预测SID存储功能1 存储的该连接的预测SID比较。根据比较的结果,进行以下的 3种的某种处理。(1)在接收SID小于预测SID的情况下,对于该段,将用来解除带宽控制(从带宽控制对象中去除)的解除标志设为ON。(2)在接收SID超过预测SID的情况下,对后述的顺序外SID数存储功能1 存储的顺序外SID数加1,将用来将该段设为从带宽控制对象去除的候补的预约标志设为ON。 顺序外SID数是新的概念,定义为“在每个连接中、接收SID连续超过预测SID的次数”。在相加的结果是,顺序外SID数为预先设定的值(例如2)以上的情况下,将该段、 和在同连接中预约标志是ON的保留队列130内的段的解除标志设为ON。另外,例如如以下这样设定服务器104判断为某个段没有到达目的地的、“相同确认应答号码的连续接收数”与“关于顺序外SID数N预先设定的值”的关系。“关于顺序外SID数N预先设定的值”=“相同确认应答号码的连续接收数”-1(3)如果接收SID与预测SID相等,则将同连接的顺序外SID数设定为0,在保留队列130内将同连接的所有的段的预约标志设为OFF。顺序外SID数存储功能1 将顺序外SID数按照每个连接存储。各连接的顺序外 SID的初始值是0,由SID判断功能122更新。图2是表示实现本实施方式的中继装置100的电子计算机的物理结构的图。本实施方式的中继装置100具备执行程序来实现图1所示的各功能的处理器H201、将执行的程序及数据临时保持的存储器装置H202、用来输入来自外部的指示及信息的输入装置H203、 保存程序的实体、指示、信息等、作为数据的存储装置使用的盘装置H204、控制中继装置100的内部与外部装置的数据的交换的通信控制装置H205、用来在中继装置100的内部中进行数据的交换的总线等的内部通信线H206、和用来进行中继装置100的内部与外部装置的数据的交换的外部通信线路H207(相当于图1的网络106)。上述程序既可以预先保存在中继装置100内的存储器装置H201或盘装置H204 中,也可以在需要时从上述中继装置100可利用的、可拆装的存储媒体、或经由通信媒体 (网络、或在网络上传播的输送波或数字信号)从其他装置导入。此外,以下说明的各功能和其处理内容通过处理器H201将保存的盘装置H204中的程序读出并执行而具体实现。图3是表示中继装置100接收到了一个段的情况下的动作的流程图。首先,接收功能112从终端102或服务器104接收段(F100)。接着,用户管理功能IM根据该段属于的用户信息,判断该段是否是带宽控制对象(F102)。在接收到的段不是带宽控制对象的情况下,发送功能114中继段(F130)。在该段是带宽控制对象的情况下,连接管理功能116判断该段是否是新的连接 (F104)。在该段属于已建立的连接(established connection)的情况下,将预测SID存储功能126存储的同连接的预测SID与接收SID比较(F106)。在新连接的情况下,或者在F106的比较中预测SID与接收SID相等的情况下,后接SID预测功能118将预测SID的值更新(F108),将顺序外SID数的值设定为0,在保留队列130内将同连接的所有段的预约标志设为OFF(FllO)。带宽控制功能110判断在接收到的段属于的连接的FIFO队列中是否存在以前接收到的段(F122),如果存在,则将该段接在同连接的FIFO队列的末尾(F128)。如果在保留队列130的同连接的FIFO队列中不存在以前接收到的段,则带宽控制功能110判断接收到的段的解除标志是否是0N(F124)。如果解除标志是ON(在FlM中“是”),则将带宽控制解除(即不考虑控制带宽), 使发送功能114中继该段(F130)。如果解除标志是0FF,则带宽控制功能110判断是否能够将该段在控制带宽内发送(F126)。如果能够发送,则使发送功能114中继该段(F130)。如果不能发送,则带宽控制功能110将该段接在保留队列130的末尾上(F128)。此外,在F106中接收SID比预测SID小的情况下,使发送功能114中继该段 (F130)。此外,在F106中接收SID比预测SID大的情况下,将该段的预约标志设为 ON(FlH),使顺序外SID数的值增加1 (Fl 16)。如果顺序外SID数是预先设定的值N(例如2)以上,则在保留队列130的同连接中,将预约标志是ON的段的解除标志设为0N(F120)。以后的处理遵照F122以下。此外,带宽控制功能110并行地、反复判断、例如定期地判断保留队列130的各连接的FIFO队列的开头的段是否能够在控制带宽内发送、或者解除标志是否是0N(F132)。
在能够发送段、或解除标志是ON的情况下,遵照FlM以下的处理。图4是服务器104经由中继装置100对终端102发送数据时、在终端102与中继装置100之间丢失了段的情况下的时序例。图4的通信设为1个连接,说明中不需要的确认应答省略。DOO表示服务器104发送的段DOl到D04的SID和尺寸。服务器104如果在某个新连接中发送段D01,则中继装置100的接收功能112接收该段DOl (F104中“是”,S201 和S210),中继装置100的带宽控制功能110如果判断为能够将段DOl在控制带宽内发送 (F126中“是”),则将该段DOl向终端102中继(F108 。其中,解除标志是OFF,S210)。这里,后接SID预测功能118通过上述式1将预测SID如下述这样计算为200(F108)。100 (接收 SID) +100 X (尺寸)=200终端102如果接收到段D01,则将确认应答号码是200的确认应答AOl发送给服务器 104(S221)。如果服务器104与S201同样发送段D02、D03、D04 (S202),则中继装置100的接收功能112依次接收该段(F104中“否”),由于接收SID与预测SID相等(在F106中“相等”), 所以后接SID预测功能118通过式1,将预测SID依次变更为300 (200+100)、400 (300+100)、 500(400+100)(F108、S211)。带宽控制功能110如果判断为不能将段D02在控制带宽内发送(F126中“否”), 则接在保留队列末尾(F128)。此外,在段D03、D04接收时也由于在保留队列中存在段 D02(F122),所以将段D03、D04也接在保留队列的末尾(F128)。在经过一定期间后,如果带宽控制功能110判断为能够在控制带宽内发送段D02, 则将段D02发送给终端102(F132 。其中,解除标志是OFF,S212),但假设段D02在从中继装置100到终端102之间丢失、没有到达终端102(S222)。中继装置100与S212同样,如果通过一定期间的经过而段D03变为能够发送,则将该段D03向终端102发送(F132 。其中,解除标志为OFF,S213)。终端102如果接收到段D03,则由于未接收到段D02,所以将确认应答号码为200 的确认应答A02向服务器104应答(S223)。中继装置100与S213同样,如果通过一定时间的经过而段D04变为能够发送,则将该段D04向终端102发送(F132 。其中,解除标志为OFF,S214)。终端102由于未接收到段D02,所以与S223同样,将确认应答号码为200的确认应答A03向服务器104应答(S224)。服务器104如果接收到确认应答号码为200的确认应答A02、A03,则与前面接收到的确认应答AOl合计连续3次接收到了确认应答号码200的确认应答。服务器104由于连续接收到了一定数量(在本实施例中设为幻的相同的确认应答号码,所以判断为该确认应答号码的段(这里是没有到达终端102,将段D02以后的段再发送(S203)。中继装置100的接收功能112接收段D02、D03、D04 (F104中“否”),由于各段的 SID为200、300、400,小于最新的预测SID即500(F106中“<”),所以SID判断功能122将它们判断为再发送的段,对这些段不控制带宽,发送功能114直接发送该段(S215)。接着S203,服务器104发送不是再发送的段D05 (S204),在中继装置100的接收功能112接收到该段的情况下(F104中“否”),由于接收SID和预测SID是500而相等(在F106中“相等”),所以带宽控制功能110在控制带宽内中继该段D05(F108 。其中,解除标志是 OFF,S216)。如以上说明,在有在中继装置100与发送目的地的终端102之间丢失的段而将段再发送的情况下,中继装置100对于接收SID小于预测SID的段不进行带宽控制,所以能够以更接近于计划带宽的带宽发送。图5是在服务器104经由中继装置100对终端102发送数据时、在服务器104与中继装置100之间丢失了段的情况下的时序的例子。图4的通信为1个连接,说明中不需要的确认应答省略。DlO表示服务器104发送的从段Dll到D14的SID和尺寸。首先,如果服务器104在某个连接中发送段Dll (F104中“是”,S301),则中继装置 100在控制带宽内将该段Dll向终端102中继(F108 。其中,解除标志是OFF,S310)。这里,与图4的S210同样,后接SID预测功能118通过上述式1将预测SID计算为200。终端102如果接收到段D11,则将确认应答号码为200的确认应答All向服务器 104 发送(S321)。接着,服务器104发送段D12(S302),但假设在到达中继装置100之前段D12丢失 7 (S323)。与S302同样,服务器104发送段D13 (S303)。如果中继装置100的接收功能112接收到该段,则SID判断功能122将预测SID 与接收SID比较(S313)。这里,由于接收SID是300、预测SID是200,接收SID超过了预测 SID(F106中“>,,),所以SID判断功能122将该段的预约标志设为ON(FlH),将顺序夕卜SID 数从0变更为1 (F116)。如果将F118的N在本实施例中设为2,则关于该段D13,为顺序外 SID数< N(在F118中为“否”),为了带宽控制而不立即中继,在保留队列130中等待发送 (F128)。接着,服务器104发送段D14(S304)。如果中继装置100的接收功能112接收到该段D14,则SID判断功能122将预测 SID与接收SID比较(F106、S312)。这里,由于接收SID是400、预测SID是200,接收SID 超过了预测SID(F106中“>”),所以SID判断功能122将该段的预约标志设为ON(FlH), 将顺序外SID数从1变更为2 (Fl 16)。这里,由于顺序外SID数成为预先设定的值(在本实施例中假设为2)以上(F118中“是”),所以将预约标志是ON的段(包括保存在保留队列 130中的段。这里是D13和D14)的解除标志设为0N(F120)。带宽控制功能110由于段D13和D14的解除标志是ON(FlM中“是”),所以不控制带宽,发送功能114将段D13和D14向终端102发送(F130)。关于在比D14后接收的段也为“接收SID >预测SID”,所以同样地处理。终端102由于要接收D13和D14、但还没有接收到D12,所以分别将确认应答号码 200的确认应答A12和A13向服务器104应答(S322)(关于比D14靠后接收的段也同样)。在S305中,服务器104如果接收到确认应答A12、A13,则与All合计,连续一定次数(这里是幻接收到了确认应答号码是相同的200的确认应答。服务器104连续接收到一定次数以上(按照上述定义例为幻相同的确认应答号码,判断为该段(这里是DU)没有到达终端102,所以将D12以后的段向终端102再发送。
中继装置100关于以后的没有丢失而到达的段D12、D13、D14,由于为“接收SID = 预测SID”,所以对于这些,在通常那样的带宽控制内向终端102发送(S313,S314)。如以上说明,在段没有到达中继装置的情况下,不进行之后接收的段的带宽控制, 所以关于丢失的段的确认应答从终端102迅速地到达服务器104。结果,能够使服务器104 迅速地进行丢失的段D12的再发送,能够以更接近于计划带宽的带宽发送。以上,根据本实施方式,中继装置能够不使传输层中的通信带宽比控制的带宽显著地低而控制带宽。此外,在本实施例中,服务器104和终端102不需要变更而能够使用已有的装置。[实施例2]第2实施例是在终端与服务器间的通信连接中由RFC2018规定的TCP的 SACK (Selective ACKnowledgement)选项是有效、具体而言能够详细地通知哪个段正送达的情况下、防止传输层的通信带宽比通过带宽控制指定的带宽显著低的实施方式。S卩,服务器104在连续预先设定数量以上接收到包括相同的SID的确认应答的情况下,与实施例1不同,再发送该SID的段,然后再开始从再发送前已发送的段的下个段起的发送。另外,在本实施例中,对TCP的SACK选项是有效的情况进行说明,但只要是将丢失的段再发送而没有丢失的段不再发送的通信协议,本实施例就能够适用。图6是实施例2的通信系统的一结构例。中继装置200除了实施例1的中继装置 100以外,还具备SACK判断功能202、和SID区间存储功能204。此外,中继装置200也可以不具备实施例1的中继装置100的后接SID预测功能118、预测SID存储功能1 和顺序外 SID数存储功能。此外,段信息存储功能220、连接管理功能216、和SID判断功能222分别与实施例1的段信息存储功能120、SID判断功能122、连接管理功能116不同。SACK判断功能202在服务器104与终端102之间的通信连接建立时,判断TCP协议的SACK选项是否为有效。SACK选项是否为有效的判断只要参照段的TCP头的信息就能够进行,是公知的技术。另外,如果SACK选项是有效的,则在段丢失的情况下,发送侧装置不将丢失的段以后的、没有丢失的段再发送。连接管理功能216除了实施例1的连接管理功能116的功能以外,还具备管理 SACK判断功能202判断的每个连接的SACK选项的有效/无效的功能。SID判断功能222对每个连接,通过已接收区间=接收数据的段+接收数据尺寸-1根据接收到的段的SID和其尺寸计算接收到的段的范围(以下称作已接收区间), 与到目前为止的已接收区间连结。此外,SID判断功能222判断接收到的段的SID是同连接的已接收区间内、还是比已接收区间大。如果该SID是已接收区间内,则将该段通过发送功能114中继,如果该SID 比已接收区间大,则对于该段,将后述的优先标志设为ON。SID区间存储功能204将SID判断功能222计算出的已接收区间按照每个连接存储。例如,在接收到SID是100、段的尺寸是200的段的情况下,考虑接收到了 SID从 100到四9的范围。图6的例子表示中继装置200在连接A中已接收了 SID从100到199、和从300到500的段。段信息存储功能220除了实施例1的段信息存储功能120以外,还具备按照每个段存储优先标志的功能。优先标志的初始值是OFF。此外,不需要实施例1的段信息存储功能120存储的预约标志。图7是表示中继装置200接收到段的情况下的动作的流程图。首先,接收功能112从终端102或服务器104接收段(F200)。如果将接收到的段属于的连接通过后述的F205判断SACK选项不是有效的(F201 中“否”),遵照实施例1(图3的F102以后)的处理(F234)。另外,也可以构成为代替遵照F102以后的处理而发送功能114将该段向终端102发送(F230)的实施例、和代替遵照 F102以后的处理而遵照F222以后的处理、作为以往的带宽控制装置发挥功能。如果SACK选项为有效(F201中“是”)或还没有由SACK判断功能202判断(F201 中“是”),则遵照F202以后的处理。另外,在SACK选项是有效的情况下,也可以构成为代替F202以后的处理而发送功能114将该段向终端102发送(F230)的实施例、和代替遵照 F102以后的处理而遵照F222以后的处理、作为以往的带宽控制装置发挥功能。F202、F204的处理与实施例1的F102、F104的处理等同。在是新的连接的情况下(F204中“是”),SACK判断功能202基于该段的TCP头信息,判断SACK选项是否是有效的(F205)。在不是新的连接的情况下(F204中“否”),SID判断功能222判断在SID区间存储功能204存储的已接收区间中是否包含有接收SID(F206)。在接收SID不包含在已接收区间中的情况下(F206中“是”),判断接收SID是否比已接收区间的最大的SID大(F208)。在接收SID是已接收区间的最大SID以下的情况下(F208中“否”),将该段的优先标志设为0N(F210)。在F205的处理之后,或者在F210的处理之后,或者在F208中接收SID比已接收区间大的情况下(F208中“是”),SID区间存储功能204将接收到的段属于的连接的已接收区间更新。例如,如图6所示,在已接收区间是“100 199,300 500”的情况下,如果接收到SID为200、尺寸为50的段,则将已接收区间更新为“100 249,300 500” (F212)。在F206中,在接收SID包含在已接收区间中的情况下(S206中“否”),发送功能 114中继该段(F230)。在F212的处理之后,带宽控制功能110判断在段属于的连接的FIFO 队列中是否存在已接收的段(F222)。在保留队列中不存在段的情况下(F222中“否”),遵照以后的处理。F226、 F228、F230、F232的处理分别与实施例1的F126、F128、F130、F132的处理等同。在保留队列中存在段的情况下(F222中“是”),带宽控制功能110判断段的优先标志(F218)。在优先标志是OFF的情况下(S218中“否”),将该段接在保留队列的末尾(F228)。在优先标志是ON的情况下(F218中“是”),将该段接在保留队列的开头(F220)。 但是,在保留队列中已经存在优先标志为ON的段的情况下,插入到这些优先标志为ON的段的最末尾、且优先标志为OFF的段的开头。图10是与图4同样的在服务器104经由中继装置200对终端102发送数据时、在
12终端102与中继装置200之间丢失了段的情况下的、实施例2的时序例。图10的通信设为 1个连接,说明中不需要的确认应答省略。在图10中,以下的点与实施例1的图4不同。此外,服务器104发送的段DOl到 D04的SID和尺寸与实施例1的DOO相等。当服务器104接收到终端102发送的、第3个确认应答号码为200的确认应答A03 时640 ,服务器104由于SACK选项是有效的,所以将丢失的段D02再发送,不将已经发送的段D03、D04再发送。中继装置200的接收功能112如果接收到服务器104再发送的段D02 (S410),则由于SID区间存储功能204存储的已接收区间是100 499、该段D02的SID是200,所以该 SID包含在已接收区间中(F206中“否”),带宽控制功能110将该段D02不作为带宽控制的对象。将段D02以下与实施例1同样向终端102发送(F230)。图11是与图5同样的在服务器104经由中继装置200对终端102发送数据时、在服务器104与中继装置200之间丢失了段的情况下的、实施例2的时序例。图11的通信设为1个连接,说明中不需要的确认应答省略。在图11中,以下的点与实施例1的图5不同。D40表示服务器104发送的段Dll到D15的SID和尺寸。为了说明,在图11中举出服务器104发送的段比实施例1的图5多1个的例子。中继装置200的接收功能112如果接收到服务器104发送的段D14(S411),则由于该段D14的SID比已接收区间的SID大(F206和F208中“是”),在保留队列中已经存在段(F222中“是”),所以带宽控制功能110将段D14接在保留队列的末尾(F218中“否”, F228)。同样,中继装置200如果接收到段D15,则将段D15接在保留队列末尾(S412)。如果服务器104与实施例1同样连续一定次数(这里是3)接收到终端102为了请求丢失的段D12而应答的确认应答号码200的确认应答A12,则服务器104判断为段D12 丢失,将段D12再发送(S402)。如果中继装置200的接收功能112接收到段D12 (S413),则由于SID区间存储功能204存储的已接收区间是100 199、300 599、该段D12的SID是200,所以带宽控制功能110判断接收SID是已接收区间外(F206中“是”),接收SID是已接收区间以下(F208 中“否”),对该段D12设置优先标志(F210),接在保留队列的开头(F220)。虽然在保留队列中从段D12以前存在段D15,但由于带有优先标志的段D12被接在比段D15更靠队列的前方,所以如果在经过一定期间后变得能够发送段(F232),则将段D12 比段D15更先发送(F230, S414)。以上,根据本实施例,在使用将丢失的段再发送、而不将没有丢失的段再发送的通信协议的通信中,中继装置也能够不使传输层中的通信带宽比控制的带宽显著低而控制带
觅ο[实施例3]第3实施例是在中继装置300从服务器104 —定数量以上接收到不是按照顺序的段的情况下、不将该段向终端102中继、而中继装置300向服务器104应答、敦促段的再发送的实施例。
图8是实施例3的通信系统的一结构例。中继装置300除了实施例1的中继装置 100以外还具备应答生成功能302。应答生成功能302生成对接收功能112接收到的段的确认应答。对段生成应答的技术是公知的。但是,应答生成功能302与公知技术不同,作为生成的应答的确认应答号码,使用预测SID存储功能1 存储的该段属于的连接的预测SID。中继装置300的表示接收到段的情况下的动作的流程图与实施例1的图3除了 F120以外是等同的。在中继装置300中,在F120中,应答生成功能302生成存在于保留队列130存储的同连接的FIFO队列中、对预约标志是ON的段的确认应答。此时,在各确认应答的确认应答号码中,使用预测SID存储功能1 存储的同连接的预测SID的值。接着,发送功能114将应答生成功能302生成的确认应答向服务器104发送。此外,将与生成的确认应答的对应的预约标志是ON的段丢弃。图12是在服务器104经由中继装置300向终端102发送数据时、在服务器104与中继装置300之间丢失了段的情况下的时序例。实施例3的图12在以下的点与实施例1的图5不同。此外,服务器104发送的段 Dll到D14的SID和尺寸与实施例1的DlO相等。中继装置300的接收功能112如果接收到丢失的段D12以外的段Dll、D13、 D14 (S310 S312),则顺序外SID数是2,假如F118的N为2,则为“顺序外SID彡N”(图3 的F118中“是”),所以在实施例3的F120中,应答生成功能302对应于D13、D14而生成以同连接的预测SID即200为确认应答号码的确认应答A31、A32,向服务器104应答(S510)。服务器104由于连续一定次数(这里是幻接收到确认应答号码是相同的200的确认应答,所以判断为段D12丢失,与实施例1同样,将段D12再发送。以上,根据本实施例,通过在中继装置300接收到一定数量不按照顺序的段的情况下、中继装置返回确认应答,能够期待更快的段的再发送。[实施例4]第4实施例是中继装置400能够对服务器104发送的再发送段新设置控制带宽的实施例。图9是实施例4的通信系统的一结构例。中继装置400与实施例1的中继装置 100在用户管理功能似4和带宽控制功能410方面不同。用户管理功能424除了实施例1的功能以外,还按照用户而存储再发送段的控制带宽。再发送段的控制带宽既可以预先设定,也可以基于过去一定期间中接收到的段的接收SID与预测SID不同的次数而由用户管理功能424决定。带宽控制功能410将解除标志是ON的段的控制带宽不是解除、而是变更为用户管理功能似4存储的再发送段的控制带宽。表示中继装置400接收到段的情况下的动作的流程图与实施例1的图3在F124、 F126以外是相等的。在中继装置400中,在FlM中,即使解除标志是0N,也不转移到F130的处理,而在 F126中,如果解除标志是0N,则带宽控制功能410判断是否能够在用户管理功能4M存储的再发送段的控制带宽内发送该段。
如果判断为不能将该段在控制带宽内发送(F126中“否”),则将该段不是接在保留队列的末尾、而是接在开头。但是,在保留队列中已经存在优先标志是ON的段的情况下, 插入到这些优先标志是ON的段的最末尾、并且优先标志是OFF的段的开头。以上,根据本实施例,中继装置400对于服务器104再发送的段也能够进行带宽控制。
权利要求
1.一种中继装置,设置在连接发送侧装置和接收侧装置的网络上,其特征在于, 对于上述发送侧装置和上述接收侧装置之间的通信连接中的作为数据的顺序信息的序列ID,在上述发送侧装置如果连续接收到预先设定的数量以上的确认应答中包含有相同的序列ID,则重发该序列ID以后的段的情况下, 上述中继装置具备接收部,从上述发送侧装置接收以上述接收侧装置为目的地的数据; 发送部,以上述接收侧装置为目的地发送上述数据;序列ID判断部,提取包含在接收到的上述接收数据中的序列ID和数据尺寸;以及带宽控制部,控制上述发送部,以使上述发送侧装置和上述接收侧装置之间的通信连接中的、向上述接收侧装置的上述接收数据的发送在网络层中以预先设定的带宽以下进行;上述带宽控制部在一个上述通信连接中,基于上述序列ID判断部提取的上述序列ID和上述数据尺寸,计算预测接着接收的数据的上述序列ID作为预测序列ID,将计算出的上述预测序列ID与接着接收到的接收数据的序列ID进行比较,如果不相等,则将该数据作为上述带宽控制的非对象、或非对象的候补。
2.如权利要求1所述的中继装置,其特征在于,在上述序列ID判断部的比较的结果为上述接收数据的序列ID比上述预测序列ID小的情况下,上述带宽控制部将上述接收数据作为上述带宽控制的非对象;在上述序列ID判断部的比较的结果为上述接收数据的顺序号码超过上述预测序列ID 的情况下,上述带宽控制部将上述接收数据作为带宽控制的非对象的候补。
3.如权利要求2所述的中继装置,其特征在于,上述带宽控制部将上述接收数据的序列ID连续超过上述预测序列ID的超过数存储, 在该超过数成为预先设定的值以上的情况下,将作为上述带宽控制的非对象的候补的上述接收数据作为上述带宽控制的非对象。
4.如权利要求2所述的中继装置,其特征在于,具备基于上述接收数据和上述预测序列ID生成对上述接收数据的确认应答的应答生成部;上述应答生成部在连续成为非对象的候补的上述接收数据数成为预先设定的值以上的情况下,生成对上述接收数据的上述确认应答;上述发送部将作为上述带宽控制的非对象的候补的上述接收数据丢弃,将上述应答生成部生成的上述确认应答发送给该发送侧装置。
5.一种中继装置,设置在连接发送侧装置与接收侧装置的网络上,其特征在于, 对于上述发送侧装置和上述接收侧装置之间的通信连接中的作为数据的顺序信息的序列ID,在上述发送侧装置如果连续接收到预先设定的数量以上的确认应答中包含有相同的序列ID,则重发该序列ID的段的情况下, 上述中继装置具备接收部,从上述发送侧装置接收以上述接收侧装置为目的地的数据; 发送部,以上述接收侧装置为目的地发送上述数据;序列ID判断部,提取包含在接收到的上述接收数据中的序列ID和数据尺寸;带宽控制部,控制上述发送部,以使上述发送侧装置和上述接收侧装置之间的通信连接中的、向上述接收侧装置的上述接收数据的发送在网络层中以预先设定的带宽以下进行;以及序列ID区间存储部,按照来自上述发送侧装置的每个通信连接,计算上述接收数据的已接收区间并存储;上述带宽控制部将上述已接收序列ID的区间与上述接收数据的序列ID进行比较,基于上述比较结果决定是否将该接收数据作为上述带宽控制的对象。
6.如权利要求5所述的中继装置,其特征在于,上述带宽控制部在上述序列ID包含在上述已接收序列ID区间中的情况下,将该接收数据作为带宽控制的非对象;在上述序列ID不包含在上述已接收序列ID区间中、并且是上述已接收序列ID区间的最大值以下的情况下,上述带宽控制部应将该接收数据比同连接的其他数据更优先地发送,并且作为上述带宽控制的对象。
7.如权利要求1所述的中继装置,其特征在于,对作为带宽控制的非对象的数据,按照每个数据发送者存储新的控制带宽;对作为上述带宽控制的非对象的数据,在上述新的控制带宽内发送。
8.如权利要求5所述的中继装置,其特征在于,对作为带宽控制的非对象的数据,按照每个数据发送者存储新的控制带宽;对作为上述带宽控制的非对象的数据,在上述新的控制带宽内发送。
全文摘要
本发明提供一种带宽控制装置,在用网络上的中继装置控制通信装置间的通信带宽时错误率较高的网络中,防止传输层的通信速度比控制的带宽显著下降。中继装置基于包含在从通信装置接收到的数据中的SID和数据尺寸,预测期待在该通信中接着接收的SID,将预测出的SID与接着接收到的数据包含的SID比较,如果小于预测的SID,则对该数据解除控制带宽。此外,如果连续一定数量以上接收到超过预测的SID的数据,则对这些数据也解除控制带宽。
文档编号H04L12/56GK102201975SQ201010595430
公开日2011年9月28日 申请日期2010年12月20日 优先权日2010年3月23日
发明者相乐恭宏 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1