通信方法、通信系统、节点及程序的制作方法

文档序号:7674898阅读:127来源:国知局
专利名称:通信方法、通信系统、节点及程序的制作方法
技术领域
本发明涉及到一种包通信技术及多重化通信技术。
背景技术
在包数据通信中,数字数据收容在被称为包的小包中并传送到网 络上。"包"包括传送的数据本身以及用于网络上的传送控制的、收 容信息的数据头。在阶层化网络中,上位层的数据头在下位层中包含 在数据本身中。在进行包数据通信的网络内的各节点中安装有如下传 送协议的功能解读输入的各个包的数据头,根据需要进行编辑,将 同一数据发送到下一节点。 一般情况下,包传送协议是非同步协议, 同一网络上的不同包的传送由各节点在任意时刻进行。因此,包传送 只要在发送节点性能允许的范围内,可以任意的速度进行。
但是,网络上的各节点或通信路径分别在各自的性能、负荷下动 作,因此在从发送节点到接收节点的路径中的某一处,传送能力如果 小于传送速度,则产生包的延迟或废弃。为避免这一情况,在发送节 点和接收节点之间进行用于监视通信状态的信号传输,将其结果反馈 到发送速度,保持适当的发送速度,这一机构称为流控制。
作为代表性的流控制协议,作为OSI7层模型中的第4层协议的 TCP为世人所知(具体参照非专利文献1)。第3层使用IP (网际协 议)时,将TCP包从发送节点传送到接收节点的例子如图16所示。TCP 在第3层以下提供的端到端(end-to-end)连接的基础上,为了避免施 加过度负荷引起的包的延迟、欠缺、或对其他会话的过度的带宽压迫, 安装了滑动窗口方式的流控制(具体参照非专利文献2)。在滑动窗口 方式中,使网络中保持一定量(例如,直到和发送的包对应的ACK到 达为止可发送的量)以下的包,从而避免过度负荷引起的传送故障, 同时实现下位层的连接所提供的带宽的有效利用。
由网络保持的数据量的上限值被称为窗口大小。在滑动窗口方式 下,为了有效利用带宽,需要设定与带宽和往返延迟的积成比例的窗 口大小。例如,在可忽略下位层的传送节点中的处理延迟、且路径上 的物理链接在可忽略传送延迟的程度下、仅由短距离的有线线路构成 时,包的传送延迟与带宽成反比,因此无论带宽如何,窗口大小相同 即可。
但是,在无法忽略下位层的传送节点中的处理延迟、传送延迟的 情况下,下位层的连接带宽越宽,为了有效利用网络的带宽,越需要 将窗口大小设定得较大。另一方面,当窗口大小变大时,其结果导致 对网络的负荷增大,包延迟、损失的可能性增大,在TCP中,具有一 定以上的延迟/带宽面积的路径中,流控制限制传送带宽,无法有效利
用路径本来的带宽(具体参照非专利文献3)。作为在这种情况下也可
将对网络的负荷抑制到一定程度以下、同时可有效利用带宽的方法,
提出了如下并列TCP的方法(具体参照非专利文献4):在同一系统 路径上展开多个TCP会话,通过将各会话的延迟/带宽面积保持在一定
程度以下,可确保高带宽利用效率。
并且,如下反多重化方法为世人所知在二个节点之间存在多个 路径时,在该二个节点间按照每个路径展开包传送会话,由各会话分 散负荷并并列传送,从而使二个节点之间的通信宽带化。例如也提出
了以下方法(具体参照非专利文献5):在各路径上展开TCP会话并 并列传送,和使用单一路径时相比,进行宽带的二个节点间的传送。
接着考虑将TCP适用于包括延迟、带宽急速变动的无线链接的路 径的情况。此时,为了有效利用带宽,需要对应于延迟和带宽的积(以 下称为延迟/带宽面积)最大的状态(时刻)来设定窗口大小。这样一 来,当带宽变小时,延迟与带宽成反比例而变大,因此使用该多个路
径进行并列传送时,存在路径之间的抖动(jitter)变大的问题。作为避
免该问题的同时使含有无线链接的路径多重化的方法,提出了进行路
径之间的负荷分散的Mobile Inverse Mux (具体参照非专利文献6、 8、 10、 11),以便监视各路径的速度及延迟的同时,使各个包经过最短 的延迟路径。以下将Mobile Inverse Mux简称为MIM。
MIM监视各路径的速度和延迟,但在含有延迟较大的无线链接的 路径中,由于监视结果的反馈产生延迟,因此参照保持的过去的发送 历史,由反馈结果变得有效的时刻之后的历史,预测现在发送包时的 延迟。根据对各路径的延迟预测值进行流控制,从而可有效利用带宽, 同时抑制使路径多重化时的抖动。
在MIM等反多重化协议的大多数中,具有包顺序控制功能,使经 由不同路径传送的包的顺序传送到下游节点时,不会反转。该功能例 如通过以下方法实现按照每个要保存顺序的流,发送一侧的节点向 各个包加上序列号,接收一侧的节点根据接收的序列号正确地排列包 的顺序,之后传送到下游。
非专利文献1: RFC793
非专利文献2: 7》夕'J >夕'TCP/IP、 Phillip Miller著,才 一 厶社 開発局(1998)
非专禾U文献3: M. Nakamura et al., "End-Node tranmissionrate control kind to intermediate routers," PFLDnet 2004.
非专利文献4:角泽等,"長距離'高八> 卜1畐通信(二恕W3並
列TCP ,卜口 一厶間O調停O実現",SACSIS 2004.
非专利文献5:牧、長谷川、村田、村瀬、"TCP才一"、^ ^木 7卜7 —夕O性能解析fe J:"評価"、信学技報IN04-96 (2004).
非专禾ll文献6: T.Nkata et al., "Efficient bundling of heterogeneous radio resources for broadband Internet access from moving vehicles,"inproceedings of Global Mobile Congress 2004, Oct. 11-13 2004, Shanghai, China
非专利文献 7 : Dovrolis, Ramanathan, and Moore, "What Do PacketDispersion Techniques Measuere ," IEEE INFOCOM 2001.
非专利文献8:小野等,"移動体^ >夕木 〃 卜(3) —再送制方
式一",2004年電子情報通信学会総合大会、論文B-5-165 (2004).
非专利文献9: L.S.Brakmo and L丄.Peterson, "TCP Vegas: End to End Congestion Avoidance on a Global Internet" IEEE Journal of Selected Areas in Communications, Vol.13, No.8, pl465(1995).
非专利文献10:岡乂上等,"移動体《 >夕冬'7卜(1) 一基本 - >七7。卜i 〉f厶構成一",2004年電子情報通信学会総合大会、 論文B-5-163 (2004).
非专利文献11:中田等、"移動体^ >夕冬7卜(2) — 7 口一 制御方式一",2004年電子情報通信学会総合大会、論文B-5-164(2004).

发明内容
如上所述,在作为现有的包传送会话的流控制方式而广泛应用的 TCP中,为了在具有一定程度以上的延迟/带宽面积的路径上有效利用 带宽,需要展开多个会话等,使各会话应保持的延迟/带宽面积保持较 小的机构。但是这样一来,存在需要进行到各会话间的负荷分散等复 杂控制的问题。并且在带宽变动的路径上使用时,存在与带宽成反比 例地使延迟增加的问题。
另一方面,在用于抑制延迟的同时有效利用带宽的进行复杂的流 控制的MIM中,存在每个包中信息量大的数据头制作、发送历史信息 的保存等处理负荷限制传送速度的问题。
并且,在TCP、 MIM等流控制协议中,为了保障传送的完整性, 特别是在没有障碍的情况下,也需要接收一侧的节点以一定以上的周 期回复Ack等确认信息。尤其是蜂窝线路这样上升和下降的速度明显
不同的非对称网络中,下降带宽和上升带宽相比较宽,因此对应上升 带宽设定窗口大小时,导致带宽利用效率低下,并且上升带宽的利用 率原本较大的情况下大量发送Ack信号时,会导致往返延迟增加的问 题。
并且,像MIM这样,在反馈推测速度等暴露的路径状态并进行流
控制的协议中,对该路径的负荷越大,在路径的带宽向大的方向变化 时,越可保持较高的带宽利用效率。另一方面,路径带宽向小的方向 变化时,对该路径的负荷越高,传送延迟越大,反馈所需时间增加, 因此进行基于错误的状态识别的负荷分散的时间增大。多个路径中的 一部分产生错误的状态识别时,多个路径间的跳动增大,在汇集了多 个路径的整体的通信中,包废弃率或重发率上升。因此,当路径带宽 变化为上升倾向时,窗口大小随之变大,使包的发送率上升时,存在
在下降倾向时产生不良影响的交替换位(trade-off)的问题。
进一步,在这些流控制协议中,数据头相对包整体的数据大小的 占有率高,存在数据传送中可使用的带宽被压迫的问题。作为其对策, 也可适用数据头压縮的方法。但是,在确保数据传送可靠性的同时进 行数据头压縮的情况下,在发送一侧和接收一侧需要共享压縮及扩展 所需的状态变量,为了进行其更新、同步确认等,协议变得复杂。并 且,在延迟、损失较大的链接中,存在状态变量的同步不及时、压縮 效果无法实现的问题。
并且,在安装有顺序控制功能的反多重化协议中,单一的用户流 分散负荷到各路径并传送的情况下,为了在用户流内正确保持传送顺 序,在接收节点中通过路径之间的速度差,在比完成接收的最大序列 号大2以上的序列号的包到来时,必须直到比完成接收的最大序列号 正好大1的序列号的包到来为止保留传送。
但是当存在包损失时,具有损失的包不仅无助于救济传送顺序,
而且会造成多余的延迟,因此不优选。在反多重化的各路径中,紧接 着某一用户流的包的包一般是不同的用户流的包,因此无法推测损失 的包是哪个用户流的。因此,无法防止本来不需要的损失的包的待机, 存在损害传送的即时性的问题。
并且,在现有的包通信中,发送侧节点对于各发送包,进行数据 头中含有的控制信息的决定,接收节点对各个包接收进行数据头读取 及解析。此时,节点的处理负荷与收发数据的速度上升同时变大,节 点的处理能力决定特定协议下的节点的最大传送速度。像MIM、 TCP 这样处理复杂的协议中,节点的最大传送速度容易低于路径的带宽, 本来为了有效利用路径带宽而导入的流控制的处理速度成为瓶颈,结 果造成路径带宽利用效率低下的问题。
因此,本发明鉴于上述课题而出现,其目的在于提供一种减轻和 数据包相关的控制信息的发送产生的负荷、提高通信效率的通信技术。
并且,本发明的目的在于提供如下技术在由多个路径连接的节 点之间进行包通信时,使用低延迟路径或可靠性高的路径传送存储了 控制信息的前导包,从而可抑制信号传输信息的损失或延迟。
用于解决上述课题的第1发明的特征在于, 将多个数据包和前导包作为一个块,
将和上述多个数据包相关的控制信息汇集到上述前导包并将其发
送,
根据接收的前导包的控制信息控制包的发送。
用于解决上述课题的第2发明的特征在于,在上述第l发明中, 上述控制信息是流控制信息。
用于解决上述课题的第3发明的特征在于,在上述第1发明中,
上述控制信息是重发控制信息。
用于解决上述课题的第4发明的特征在于,在上述第1发明中,
上述控制信息是路由信息(routing information)。
用于解决上述课题的第5发明的特征在于,在上述第1发明中, 上述控制信息是路径信息。
用于解决上述课题的第6发明的特征在于,在上述第1至第5的 任意一个发明中,上述控制信息是上述数据包中共用的控制信息。
用于解决上述课题的第7发明的特征在于,在上述第1至第6的 任意一个发明中,专门识别前导包的识别信息包含在上述数据包中。
用于解决上述课题的第8发明的特征在于,在上述第1至第7的 任意一个发明中,专门识别对控制信息进行汇集的数据包的识别信息 包含在上述前导包中。
用于解决上述课题的第9发明的特征在于,在上述第1至第S的 任意一个发明中,上述多个数据包或前导包经过多个线路而被收发。
用于解决上述课题的第IO发明的特征在于,在上述第9发明中, 上述前导包使用上述多个线路中最快速的线路进行发送。
用于解决上述课题的第11发明的特征在于,在上述第9发明中, 根据上述控制信息选择发送上述前导包或上述数据包的线路。
用于解决上述课题的第12发明的特征在于,在上述第1至第11 的任意一个发明中,根据接收的前导包中含有的控制信息,决定发送 的块的数据量。用于解决上述课题的第13发明的特征在于,在上述第1至第12 的任意一个发明中,根据接收的前导包中含有的控制信息,决定发送 的块的发送时刻。
用于解决上述课题的第14发明的特征在于,在上述第1至第13
的任意一个发明中,根据属于同一块的多个数据包的接收时刻,推测 通信路径的速度。
用于解决上述课题的第15发明的特征在于,具有 包块制作单元,将多个数据包和前导包作为一个块处理,将和上 述多个数据包相关的控制信息汇集到上述前导包;和
调度单元,根据汇集到接收的前导包的控制信息,控制包的发送。
用于解决上述课题的第16发明的特征在于,在上述第15发明中, 上述控制信息是流控制信息。
用于解决上述课题的第17发明的特征在于,在上述第15发明中, 上述控制信息是重发控制信息。
用于解决上述课题的第18发明的特征在于,在上述第15发明中, 上述控制信息是路由信息。
用于解决上述课题的第19发明的特征在于,在上述第15发明中, 上述控制信息是路径信息。
用于解决上述课题的第20发明的特征在于,在上述第15至第19 的任意一个发明中,上述包块制作单元将上述数据包中共用的控制信 息汇集到上述前导包。
用于解决上述课题的第21发明的特征在于,在上述第15至第20 的任意一个发明中,专门识别前导包的识别信息包含在上述数据包中。
用于解决上述课题的第22发明的特征在于,在上述第15至第21 的任意一个发明中,专门识别汇集到控制信息的数据包的识别信息包 含在上述前导包中。
用于解决上述课题的第23发明的特征在于,在上述第15至第22 的任意一个发明中,具有发送单元,将上述多个数据包或前导包经由 多个线路发送。
用于解决上述课题的第24发明的特征在于,在上述第23发明中, 上述调度单元进行控制,以使用上述多个线路中最快速的线路发送前 导包。
用于解决上述课题的第25发明的特征在于,在上述第23发明中, 上述调度单元根据控制信息选择发送上述前导包或上述数据包的线 路。
用于解决上述课题的第26发明的特征在于,在上述第15至第25 的任意一个发明中,上述调度单元根据接收的前导包中含有的控制信 息,决定发送的块的数据量。
用于解决上述课题的第27发明的特征在于,在上述第15至第26 的任意一个发明中,上述调度单元根据接收的前导包中含有的控制信 息,决定发送的块的发送时刻。
用于解决上述课题的第28发明的特征在于,在上述第15至第27 的任意一个发明中,具有包解析部,由属于同一块的多个数据包的接 收时刻,推测通信路径的速度。
用于解决上述课题的第29发明的特征在于,具有 包块制作单元,将多个数据包和前导包作为一个块处理,将和上
述多个数据包相关的控制信息汇集到上述前导包;和
调度单元,根据汇集到从其他节点接收的前导包的控制信息,控
制包的发送。
用于解决上述课题的第30发明的特征在于,在上述第29发明中, 上述包块制作单元将上述数据包中共用的控制信息汇集到上述前导 包。
用于解决上述课题的第31发明的特征在于,在上述第29或第30 的发明中,专门识别前导包的识别信息包含在上述数据包中。
用于解决上述课题的第32发明的特征在于,在上述第29至第31 的任意一个发明中,专门识别对控制信息进行汇集的数据包的识别信 息包含在上述前导包中。
用于解决上述课题的第33发明的特征在于,在上述第29至第32 的任意一个发明中,具有发送单元,将上述多个数据包或前导包经由 多个线路发送。
用于解决上述课题的第34发明的特征在于,在上述第33发明中, 上述调度单元进行控制,以使用上述多个线路中最快速的线路发送前 导包。
用于解决上述课题的第35发明的特征在于,在上述第33或第34 的发明中,上述调度单元根据汇集到从其他节点接收的前导包的控制 信息,选择发送上述前导包或上述数据包的线路。
用于解决上述课题的第36发明的特征在于,在上述第29至第35 的任意一个发明中,上述调度单元根据从其他节点接收的前导包中含 有的控制信息,决定发送的块的数据量。
用于解决上述课题的第37发明的特征在于,在上述第29至第36 的任意一个发明中,上述调度单元根据从其他节点接收的前导包中含 有的控制信息,决定发送的块的发送时刻。
用于解决上述课题的第38发明的特征在于,在上述第29至第37 的任意一个发明中,具有包解析部,根据属于同一块的多个数据包的 接收时刻,推测通信路径的速度。
用于解决上述课题的第39发明的特征在于,使计算机实施以下处

包块制作处理,将多个数据包和前导包作为一个块处理,将和上 述多个数据包相关的控制信息汇集到上述前导包;和
调度处理,根据汇集到从其他节点接收的前导包的控制信息,控 制包的发送。
本发明如上所述,将多个数据包和前导包作为一个块,将上述多 个数据包的控制信息汇集到上述前导包,根据上述前导包的控制信息 控制包的发送。因此,在节点中,可尽快知道控制信息,从而可高速 实施信号传输。
本发明在可选择一个以上的路径的二个节点之间,通过反馈基于 每个包块的接收序列的路径状态推测结果,和现有例相比,可实现基 于正确的路径状态推测的流控制及负荷分散。
并且,本发明对多个包仅进行一次流控制及路径选择处理,因此 和对每个发送包进行流控制及路径选择处理的现有例相比,可减轻处
理负荷。
并且,本发明将各路径的流控制信息、负荷分散信息、ARQ信息、
顺序控制信息汇集到前导包,从延迟最低的路径或可靠性强的路径作 为块的前端发送,从而可抑制信号传输信息的损失、延迟,缓和路径 带宽上升倾向时的带宽利用效率与下降倾向时的控制跟随性之间的交 替换位。
并且,本发明中,接收节点可通过前导信息预测该块内的包接收 序列,因此在与预测不同时判断为通信异常,从而可尽快检测出通信 异常。
并且,本发明中,顺序控制缓冲器内的数据的传送不会长时间地 保留必要时间以上,改善了端到端抖动。
并且,本发明和需要发送侧与接收侧的状态信息共享的数据头压 縮的现有例相比,可通过简单的构造实现数据头信息削减。


图1是表示本发明的第1实施例的系统构成图。
图2是本发明前导包的构成图。 图3是本发明的数据包的构成图。
图4是将流控制算法(PAC调度机)应用于本发明的第1实施例 的例子。
图5是调度部遵循的流程图。
图6是包制作部遵循的流程图。
图7是表示本发明的第2实施例的系统构成图。
图8是将流控制算法(PAC调度机)应用于本发明的第2实施例 的例子。
图9是缩短本发明的第2实施例的反馈周期的例子。
图10是将本发明的第2实施例的速度推测精度保持一定的例子。
图11是说明本发明的第3实施例的图。
图12是说明本发明的第4实施例的图。
图13是说明本发明的第5实施例的图。 图14是说明本发明的概要的图。
图15是说明本发明的概要(数据包为3个以上时)的图。 图16是说明现有发明的概要的图。
附图标记003前导包
004、005、 006 数据包
101、102传送节点
201缓冲部
202调度部
203包块制作部
204包发送部
205存储部
206包接收部
207包解析部
208包传送部
301数据包
302前导包
具体实施例方式
利用图14说明第1实施方式。图14表示从发送节点001向接收 节点002进行本发明的包传送的形态。在使用了作为现有技术的第4 层协议的TCP的包传送中,如图16所示,各个包从前端开始依次由IP 数据头、TCP数据头、有效载荷(payload)构成。在TCP中,将多个 包同时、或在控制信息不变化的程度的短时间内发送时,附加到各个 包的TCP数据头的控制信息全部相等。
另一方面,在本发明中,将多个包同时、或在控制信息不变化的 程度的短时间内发送时,控制信息仅存储在前端的前导包003用的数 据头中,向该本发明的前导头用数据头和现有技术同样地附加表示目 的地节点的IP数据头,首先发送由IP数据头和本发明的前导包用数据 头构成的前导包。
并且,紧接该前导包003,发送含有比前导包用数据头信息量少 的本发明的数据包用数据头的数据包004、 005。
因此,在本发明中,将存储在各个包的数据头的控制信息存储到 前端的前导包003的数据头中,包003的接收所需的时间和现有的包 0040的接收相比变短。因此,在接收节点中,对于该控制信息(例如 ACK信息等),和现有的包传送方法相比可尽快获知。其结果是,可 高速实施基于该控制信息的信号传输。
并且,上述效果在发送的数据包如图15所示为三个以上时也可实 现。在图15中,在现有方法下,同时或在控制信息不变化的程度的短 时间内进行发送时,向各数据包004a、 005a、 006a附加有重复的、相 同数据量的第4层数据头,与之相对,在本发明中,将相当于现有例 中的各个包头的重复部分的控制信息汇集存储到前端的前导包003a的 数据头,各数据包中,将比TCP数据头轻的本发明的数据包用数据头 作为第4层数据头附加。
如图15所示,通过使现有技术中由多个包重复持有的信息由前导 包代表性地持有,数据头的信号传输的信息量和TCP保持同等,同时 全部包的数据头大小的总量和TCP相比减少。其结果是,可提高包发 送整体的传送效率。
并且,如图15所示,对于多个包制作一个前导包并进行包发送的
进一步的效果体现在路径速度测定精度上升这一点上。速度只要最低 有2个包即可测定,但包越多其精度越高。
其原因之一在于,在发送某个流中含有的较多的包时,各个包之 间很可能夹入了属于其他流的包。在实际的传送路径中,经常会发生 这种情况,因此包的个数越多,越可以在接近实际的传送路径的状态 下进行速度测定。
并且,另一原因在于,当包块中含有的包个数增加时, 一次测定 涉及的包的前端和末尾的接收时刻的差变大,因此接收节点所需的时 间分解能力要变大,如果是同样的时间分解能力的节点,则使用本发 明的包块会提高速度精度。
以上说明了本发明的概要。以下进一步详细说明。
(第1实施例)
图1表示本发明的第1实施例。在该图中,在传送节点101和传 送节点102之间,利用本发明的包传送方向进行包的传送。本实施例
设定了双向对称的协议,因此传送节点101和传送节点102的构成相 同。以下以从传送节点101向传送节点102进行包传送为例进行说明, 但从传送节点102到传送节点101的传送也是同样的动作。
首先,说明传送节点101的包传送动作。传送节点101从其他节 点或同一节点上的用户应用程序等数据生成单元取得应传送到传送节 点102的数据,收容在缓冲部201中。
调度部202根据存储部205中存储的调度信息控制发送。例如, 如下决定应进行包发送的时刻、及紧接着前导包发送的数据包(以下 称为包群)的构成,当应进行包发送的时刻到来时,向包块制作部203 通知前导包及包群的构成。接收到前导包及包群的构成的通知的包块
制作部203将数据包的控制信息汇集到前导包。例如,根据通知的构
成及存储部205中存储的流控制信息,制作前导包,并且从缓冲部201
取出基于通知的构成的个数的数据,向取出的各数据分别附加预定的 数据头信息,制作包群,将包群和前导包同时或以预定间隔传送到包
发送部204。将此时发送的包的集合在以下称为包块。
包发送部204将从包块制作部203传送的包依次传送到传送节点 102内的包接收部206。 300-1是从包发送部204发送的、通信路径上 的包块的示意图,表示多个数据包301紧接着前导包302的情况。
接着说明从传送节点101接收包块300-1时的传送节点102的动 作。包解析部207从包块300-1如下文所述地抽取预定信息,并且进行 和接收包相关的下文所述的预定的测量,将其结果作为流控制信息存 储到存储部205。结束了在解析部207中的处理的包的数据依次传送到 包传送部208,包传送部208将从包解析部207接收的数据传送到下一 传送节点、或同一节点内的用户应用程序等数据接收单元。
传送节点102内的调度部202通过与传送节点101内的调度部202 同样的动作,根据存储部205中存储的调度信息,如下文所述地决定 应进行包发送的时刻、及包群的构成,当应进行包发送的时间到来时, 向包块制作部203通知前导包及包群的构成。
传送节点102内的包块制作部203根据通知的构成及存储部205 中存储的流控制信息制作前导包,与缓冲部201中存储的数据一并构 成包块300-2,并通过包发送部204发送到传送节点101内的包接收部 206。发送后,将发送历史存储到存储部205。
从传送节点102接收到新的包块300-2时,传送节点101内的包 解析部207从包块300-2抽取预先的信息,并且进行和接收包相关的预 定的测量,将其结果作为流控制信息存储到存储部205,将更新了流控
制信息的情况通知调度部202。调度部202根据更新的流控制信息同样 更新存储部205中存储的调度信息。之后的包发送时刻及包块构成的 决定根据更新的调度信息来进行。
图2表示本发明中使用的前导包的构造示例。本发明作为任何通 信层上的协议均可实施,而在本实施例中,安装了第4层协议,表示 下位层的传送协议为IP时的构造示例。
如图2所示,本实施例中的前导包中,紧接着前端的IP数据头的 块管理信息、流控制信息包含在前导包用数据头中。另一方面,数据 包的构造如图3所示,除了IP数据头以外,数据包用数据头中包含块 被管理信息,有效载荷中包含数据本身。
块管理信息是发送一侧节点生成的、包块内的包的数据包个数或 包的优先度等的属性信息。另一方面,块被管理信息是专门识别前导 包的识别信息。即,是用于识别各数据包所属的包块的信息。在本实 施例中,发送节点向各包块附加独特的序列号,将其作为块被管理信 息。并且,块内的各个包以前导包为前端依次被发送(从包块制作部 203传送到包发送部204),将其发送时的计时标记(time stamp)、属 于包块的包的序列号的范围作为块管理信息。根据这些信息,在接收 节点中进行延迟测定及非专利文献所述的包序列方式(根据总数据量/ 最后的包和最初的包的接收时刻的差,进行带宽推测的方式)下的通 信路径的带宽推测。
并且,也可通过前导包中含有专门识别汇集控制信息的数据包的 识别信息,来保持前导包和数据包群的关系。
根据以上前提,再次参照图1具体说明本实施例的流控制机构。 传送节点102内的包解析部207从包接收部206接收到包块300-1的前 导包302时,从块管理信息抽取包块300-1的计时标记和序列号的范围。
并且将接收时刻和抽取的计时标记的差作为路径延迟的推测结果写入
存储部205。接收后续的数据包301时,序列号如在包块300-1的序列
号范围内,则存储其数据大小。并且如接收的包在块内是最后接收的 包,则将接收的包块内的数据包的包大小的总和除以该包的接收时刻 与前导包的接收时刻的差而得到的值,作为通信路径的带宽的推测结
果写入存储部205。
通过以上动作,传送节点102内的包解析部207记录到存储部205 的流控制信息(路径延迟的推测结果和路径带宽的推测结果)收容到 从传送节点102发送到传送节点101的包块300-2的前导包中,并通过 传送节点101内的包解析部207传送到存储部205。传送节点101内的 存储部205在新的流控制信息到来时,通知调度部202进行流控制信 息更新,接收到该通知的调度部202使用更新的流控制信息、即路径 延迟的推测结果和路径带宽的推测结果来更新调度信息,之后根据更 新的调度信息构成包块。
以上说明了第1实施例中的安装了包块传送方式的节点的构成及 动作的示例。以下说明图1中决定包块的发送时刻的调度部202、及决 定包块的构成的包块制作部203所依据的流控制算法的示例。
作为流控制算法的第l例,应用TCP中使用的窗口控制,对根据 由包序列方式推测的路径带宽来决定窗口大小的流控制算法进行说 明。在该实施例中,从传送节点102发送到传送节点101的前导包302 中,含有和TCP中使用的一样的Ack信息、接收窗口大小(接收节点 一侧决定的可接收的数据量)。接收了该前导包302的传送节点101 通过以下步骤进行对传送节点102的发送处理。接收到前导包302后, 包解析部207将该前导包302中含有的Ack内容记录到存储部205,存 储部205将新的Ack接收事件通知给调度部202。
调度部202将从接收的前导包抽取的接收窗口大小与从存储部中
记录的发送历史中抽取的Ack的包之后发送的包的数据量的差,作为 可发送的数据量,通知给包块生成部203。
包块生成部203从缓冲部抽取含有前导包302的包块大小不会超 过可发送的数据量的最大的量的数据,制作向各数据附加了块被管理 信息的数据包。并且,制作含有Ack信息及块管理信息的前导包,将 两者构成的包块传送到包发送部204。如果可发送的数据量小于预先确 定的下限,则直到从下一次从调度部202通知可发送的数据量为止, 保留包块制作。
当可以发送包块时,将发送历史记录到存储部205。其中,传送 节点101使用的接收窗口大小通过传送节点102的包解析部207接收 来自传送节点101的包块时所推测的路径速度来决定。接收窗口大小 的值例如由预先确定的最大往返延迟和推测速度的积确定。
进一步,另行设置基于接收缓冲剩余量等的上限,如小于该上限, 则在接收窗口大小的决定中也可使用基于推测速度的值。
使用上述利用了速度推测结果的窗口控制,将现有技术中由多个 包重复持有的信息由前导包代表性地持有,从而可减轻节点处理负荷, 降低数据头大小。并且,还产生以下效果。首先,不依赖于来去路径 的速度差,往返延迟时间控制在预先确定的最大往返延迟时间以下, 因此在具有速度变动的路径中,和现有的窗口控制相比,具有降低延 迟分散的效果。并且,窗口大小使用速度推测结果直接求出,因此在 损失、延迟变动大的路径上也可有效利用带宽。这一点和非专利文献1、 9相比是优点。S卩,在非专利文献1、 9中,将发送一侧的拥塞窗口 (congestion window)大小和接收窗口大小中的较小的一个作为窗口大 小采用,因此当产生包损失时,将窗口大小控制得较小。与之相对, 在本发明中,即使发生包损失,也可使用速度推测结果决定窗口大小, 因此对窗口大小本身不产生影响,从而可有效利用带宽。
此外,前导包中不含有接收窗口大小、而含有速度推测结果,窗 口大小的计算也可由发送侧的节点的包解析部207进行。进一步,也 可不是将前导包接收时计算的可发送的数据量全部同时发送,而是分 割为多个包块,以根据推测速度决定的发送间隔进行发送。此时的发 送间隔需要是先发送的包块和后发送的包块在路径上接触的间隔。并 且,通过分割包块并发送,发送到路径上的脉冲大小变小,因此可得 到降低包损失的效果。
作为流控制算法的第2例,说明应用了非专利文献6中公开的PAC 调度机的方法的方法。发送节点中的PAC调度机的基本动作是,根据 从接收节点反馈的延迟和推测速度、及这些路径状态测定使用的包之 后的发送历史,预测现在的路径延迟,当该预测延迟小于预先确定的 阈值时,发送下一包。参照图4说明将其应用于包块传送方式时的流 控制协议动作示例。
在图4中,"101时刻"实数直线表示传送节点101上的时刻, "102时刻"实数直线表示传送节点102上的时刻。并且,在节点102 上的时刻T之后,假设路径的带宽比T以前低。传送节点101在时刻 ts (a)发送包块300-a,其前端在时刻tb (a)到达传送节点102。 tb (a) 表示无负荷时包块300-a的前端到达接收节点的时刻。
艮P,在节点101中,ts (a)以前没有负荷,因此包块300-a的前 端仅在无负荷时的延迟时到达节点102。在节点102中,通过将根据前 导包302-a、数据包301-1的接收时刻计算的推测速度及前导包302-a 上搭载的计时标记和根据传送节点102的接收时刻推测的延迟的信息、 在ts (f)下收容到从传送节点102传送到传送节点101的包块300-f 的前导包302-f,以通知节点101。
节点101紧接着包块300-a,视路径的带宽恒定,发送包块300-b。发送了包块300-b后,通过302-f的接收更新路径信息(推测速度及延 迟),但这是时刻T之前的信息,因此节点101在判断路径带宽依然 和300-a发送时一样为无负荷状态,在时刻ts (c)发送包块300-c。此 时,节点101通过以下方法决定时刻ts(c)。即,将根据接收的包302-f 中含有的路径信息(推测速度及延迟)、及该路径信息的测定所使用 的包块300-a之后的发送历史所求得的、预测接收包块300-c的前端的 时刻tf (c),作为与向无负荷时的预测到达时刻tb (c)加上了阈值th 而得到的值相同或比其早的时刻来决定。
其中,无负荷时的预测到达时刻tb (c)是在ts (c)的时刻, 通信路径无负荷地发送包时,其前端到达接收节点102的预测时刻。 因此,在ts (c)的时刻,节点101预想包块300-c的前端到达tb (c) + th。并且,包块300-c的大小如下确定末尾的预测到达时刻在向tb (c)加上最大剩余延迟to的tb (c)十to的范围内。
并且,最大剩余延迟表示不从预测为其之上的延迟的路径进行包 发送的阈值。目卩,当"最大延迟为to"时,发送侧的节点从路径r发送 包p时的预测到达时刻到发送时刻一to之后的发送时刻为止,不进行 使用包p的路径r的发送。相反,从预测到达时刻〈现在时间一to的路 径中,可即时发送包。
但在本实施方式中,路径带宽实际上以时刻T为界变小,因此包 块300-b的传送延迟大于节点101的预测,包块300-c的接收开始延迟 到tf (c),并且,末尾的数据包301-9的接收完成时刻也比预测的tb (c)十to慢,变为tf, (d)。节点102在ts (g)发送包块300-g,在 该前导包302-g中含有通过包块300-b接收而检测出的路径信息(即路 径带宽下降的信息)。因此,节点101通过包302-g的接收获知路径带 宽下降,从而也与此对应来更新路径信息,将更新之前预定在ts (d) 发送的下一包块300-d的发送时刻变更为ts' (d)。并且,从节点101 发送到节点102的包块的大小和300-b、 300-c相比也变小。
上述判断是计算发送时刻和块大小的结果,其是使用的更新的路 径信息及发送历史求出的、块前端的预测到达延迟tf (d)为tb (d) + th以下、并且末尾的预测到达时刻为tb(d) +tO以下。实际上在ts(g) 之后到tf (d)为止的期间内,路径状态变动,因此在附图中,前端实 际到达的时间tf (d)与tf (d)偏离。
该偏离通过下一测定结果的反馈,反映到之后的包块的发送调度。 通过上述动作,PAC调度机进行发送时刻控制,以校正预测到达时刻 的偏离,实现带宽的有效利用及抑制延迟两者。之前说明的窗口控制 提供对于往返延迟的控制,在PAC调度机中,进一步分别测定路径的 各单程的延迟并反馈,因此在来路和去路的状态不同的路径中,具有 可分别匹配地控制的优点。例如,当去路的带宽相对现在的负荷较大、 来路的带宽相反相对现在的负荷较小时,仅来路的延迟增大增大。此 时进行基于往返延迟的控制时,来路和去路的发送侧节点对该路径的 负荷减少,结果因此无法有效利用去路的带宽。而此时如果分别监视 来路和去路的延迟,则可知无需去路的负荷减轻,因此可有效利用去 路的带宽。
图5表示为了实现上述流控制协议的动作调度部202所遵循的流 程图,图6表示包块制作部203所遵循的流程图。调度部202在每次 更新存储部205的存储内容时,决定下一个可发送包块的时刻及块大 小,并通知包块制作部203。
首先具体说明图5。在S51的处理中,当路径状态信息或包发送 历史信息被更新时,从存储部205接受相关通知。接着根据最新的发 送路径状态信息、及该发送路径状态信息变得有效的发送完成的包之 后的发送历史,计算下一个包发送时刻(tf) (S52),以使下一个发 送的包的前端的到达预测时刻与向无负荷时的到达时间预测时刻(tb) 加上阈值(th)的时刻相等。接着,根据最新的发送路径状态信息,计
算预测造成最大剩余延迟to的传送延迟的数据量(d) (S53)。并且, 将上述求出的包发送时刻(tf)及数据量(d)通知包块制作部203(S54), 并结束处理。
包块制作部203在缓冲部201中有数据、且包块可发送时,构成 从调度部202通知的块大小以内的大小的包块,传送到块发送部204。
在图6中,变为起点的状态在wait和idle 二种,这是因为,"变 为可发送的时刻后,发送包块"的处理通过使用计时器来实现。在等 待该计时器到达的期间,调度部202停留在wait状态。另一方面idle 状态是未等待计时器、也未接收应处理的数据的状态。
以下说明图6。
首先说明idle状态的情况。在该状态下,在"从缓冲部201接收 新的包接收通知"的情况下(S61)、或"从调度部202接收包发送时 刻(tf)及数据量(d)的更新通知"的情况下(S62),开始处理。处 理开始后,首先判断包发送时刻(tf)《现在(S63)。当该判断结果 为否时,满足时刻tf时起动计时器并结束处理(S64),变为wait状态。 并且,当S63的判断结果为是时,制作含有最新的接收路径状态信息 及Ack信息的前导包(S65)。接着,在包的前端中,将包块大小为数 据量(d)以下的最大量的数据从缓冲部201取出,制作数据包群(S66)。 接着,将前导包及数据包群发送到包发送部204 (S67)。接着将发送 记录写入存储部205 (S68),结束处理,返回idle状态。
接着说明wait状态的情况。Wait状态时从调度部202接收包发送 时刻(tf)及数据量(d)的更新通知的情况(S71)的处理和上述idle 状态时从调度部202接收包发送时刻(tf)及数据量(d)的更新通知 时的处理一样。
并且,wait状态时,满足发送计时器时的处理和上述idle时的 S65 S68的处理相同。
此外,在上述算法说明中,存储部205的存储内容被更新时对调 度部202的通知由存储部来进行,但由包解析部207、包块制作部203 或包发送部204进行时,也可实现同样的动作。
在实施上述PAC调度时,为了求出tb (a)等,需要无负荷时的 路径延迟的知识。其可提前测量并作为常数处理,而在为了避免路径 状态、计时器故障等的影响而想更新时,可通过以下步骤在通信过程 中进行。首先,在接收一侧节点的包解析部207中,从某个包块A的 末尾的接收时刻开始到下一个包块B的前端的接收时刻之间存在间隔 时,认为路径中有富余,包块B的前导包以无负荷状态到达。
在图4的例子中,包块300-b的前导包302-b从之前的包块300-a 的末尾的接收时刻开始,隔开间隔接收,因此在无负荷状态下到达。 当检测到这种间隔时,传送节点102将表示包302-b以无负荷到达的情 况的信息包含在发送目的地的前导包302-g中,从而将无负荷延迟检测 传送到传送节点101。
接收到前导包302-g的传送节点101将无负荷时的路径延迟值更 新为302-b的延迟。
并且,使用PAC调度机时,定期地使用无负荷延迟值。因此,当 一定时间以上未检测到无负荷延迟时,将作为块发送阈值的剩余延迟 th设为负的值,强制诱导无负荷的传送,则可实现一定时间内的周期 性负荷时路径延迟值。因此实现如下状态只有在th<0,路径完全无 负荷的状态下才可发送数据。
如上所述,通过传送节点101及102内的构成要素各自的动作,
反馈通信路径的延迟及速度的监视结果,进行包流量控制,因此在本 发明中,可进行考虑了路径信息(推测速度及延迟)的包发送。并且, 由于将信号传输信息汇集到前导包进行通信,因此接收侧的流控制信 息的抽取、发送侧的调度信息的更新均不像现有例那样以和包收发同 样的频率进行,而以包块接收发送的频率进行,因此减轻了传送节点 的处理负荷。
并且, 一个包块中含有的包个数如为一定以上,可从数据包中省 略信号传输信息,汇集到前导包,对于同样的数据量,和现有例相比, 具有可降低包大小的总和的效果。进一步,包序列方式的高精度的路 径带宽推测可使用仅用于速度测定的专用探测包(模拟包)等、不破 坏带宽利用效率地进行。
此外,在以上说明中,为了使速度测定的有效性最大化,同一包 块内的包同时发送,而本发明实施时也可不是同时,而以比瓶颈带宽 高的速率将多个包以一定的发送速度发送。这是因为,接收侧测量的 包的分散反映瓶颈带宽,因此可进行带宽推测。
这种情况下,无法获得路径的瓶颈带宽在发送速度以上的推测速 度,但例如需要某一特定速度的应用程序可判断路径能否在该速度以 上传输。其原因在于,接收速率小于发送速率时,通过路径的速度, 传送速率被限制,可测定速度。并且,即使不是这样,也可知道路径 速度为发送速率以上(路径上不存在速率比发送速率低的链接)。通 过将发送速度保持在一定以下,和同时发送时相比,抑制施加到路径 的负荷,因此可降低过剩负荷引起包损失的可能性。
在上述第1实施例中,作为流控制信息仅含有路径延迟及带宽监 视信息(路径信息),此外也可含有接收确认信息等。例如,当含有 前导包的接收确认、及在对应的包块内无法接收的数据包的识别信息 (重发控制信息)时,可正确确定发送侧应重发的包。
当前导包损失时,通过同时使用例如表示前导包损失的信息、及 与TCP中使用的一样的、基于序列号的Ack信息,可保持发送的完整 性。例如,对前导包也附加序列号,接收侧返回Ack信息,则通过发 送侧重发未Ack的包,前导包、数据包均可保障无损失的传送。
并且,在第1实施例中,前导包是单一的,但为了实现冗长性也 可具有多个。此时,可制作相同的包的复制,也可汇集多个前导包由
块整体的块控制信息覆盖。
并且,本发明中的前导包在包块由多个数据包构成时,可含有数 据本身,并且块管理信息为了识别块内包而使用已有的识别符,例如
使用IP数据头内的Identification域时,数据包中不需要块被管理信息。
并且,除了 "前导包不含有用户数据"、"数据包含有块被管理 信息"的限定外,还进行作为本发明特征的向前导包附加可确认块 内包及来自它们的流控制信息生成方法的信息;通过接收一侧节点进 行和接收包所属的包块对应的流控制信息的生成。
此外,上述控制信息也可是路由信息。
并且,发送的包无需全部属于某个包块,例如仅在进行定期的线 路监视时构成包块并发送,获得监视结果后到下一监视时刻为止的期 间内,可单独发送各数据包。
(第2实施例)
接着说明本发明的第2实施例。图7表示本实施例中使用的传送 节点101及102的构成。传送节点101的构成和第1实施例中使用的 图i中的一样,但传送节点102具有多个包接收部206及包发送部204。
位于传送节点101和102之间的IP网400提供从传送节点101的包发
送部204到传送节点102的包接收部206-1的路径、及到包接收部206-2 的路径,各路径一般包括物理性隔离的链接,带宽、延迟彼此独立地 变动。同样,从传送节点102的包发送部206-1到传送节点101的包接 收部204的路径、及来自包接收部204-2的路径的带宽、延迟也彼此独 立地变动。
本实施例是将本发明适用于上述二个节点之间具有多个可选择的 路径时的适用例。用于本实施例的包构造及流控制的信号传输机构和 第1实施例相同,但流控制信息及调度信息的内容、及包块的构成和 第1实施例不同。
本实施例中的包块由分别发送到多个路径的数据包、和一个以上 的前导包构成。序列号附加到每个路径上,前导包作为块管理信息包 括计时标记、每个路径的包块内的包的序列号范围。包解析部207的 延迟及速度推测也按照每个路径进行。同样,前导包上的流控制信息 也包括每个路径的延迟及速度推测结果。
图7所示的包块300-1及300-2是可选择路径为2个、前导包有1 个的情况的示例。包块制作部203对多个路径进行一个包块的制作, 包发送部204对块内的各个包经由包块制作部203指示的路径发送。
包序列方式的路径带宽推测在该路径中二个以上的包同时、或该 路径的瓶颈带宽以上的发送速度发送时可进行,因此为了可进行带宽 推测,对一个包块需要从各路径发送二个以上的包。因此,包块构成 的结果是,对发送包为一个的路径,与发送对象的包同时发送虚拟包。 该虚拟包的内容例如可以只是序列号。
作为本实施例中使用的流控制算法,可对在第1实施例中使用的 流控制算法的例子进行扩展并适用。
作为第1实施例中的第1流控制算法的例子说明的窗口控制方式 在第2实施例中如下扩展。前导包中含有全部路径的Ack信息及接收 窗口大小。接收到前导包的传送节点的调度部202如下所述计算各路
径的可发送的数据量,并通知包块生成部203。
包块生成部203取出缓冲部的数据,使包块的各路径部分不超过 可发送的数据量,决定对各路径的分配。
但对于可发送的数据量不满足预先确定的下限的路径,不进行数 据的分配。前导包分配到可发送的数据量最大的路径。同一前导包为 了实现冗长化,也可分配到其他路径。
并且,对于对应前导及数据仅可分配一个包的路径,同时分配虚 拟包。决定了对块内的各个包的分配路径时,将所有块内的包与分配 信息一并传送到包发送部204。
传送到包发送部204的包的信息作为发送历史记录到存储部。接 收侧节点中的接收窗口大小的决定和第1实施例一样来进行。
作为第1实施例中的第2流控制算法的例子说明的PAC调度方式 在第2实施例中如下扩展。参照图8说明含有二个路径时的动作。图8 表示对应2个路径存在2条时刻实数直线,分别经由各路径的包的 到达预测序列。
对第n个路径,tb、 tf、 th、 to分别表示为tb (n) 、 tf (n) 、 th (n) 、 to (n),各自的含义与图4中的相同,不同点在于,所示的包 不是实际的到达序列,而是发送一侧节点预测的到达序列。发送侧节 点对任意的路径只要是tb (n) +th (n) <tf (n),就可发送包块。在 图8中,tb (1) +th (1) <tf (1),因此可即刻发送。
调度部202构成包块,以对各路径计算前导包302的到达预测时 刻,使前导包302发送到预测最先到达的路径。在图8中,作为前导 包发送路径,选择路径2。
接着,取得位于缓冲部201的最初的包301-1的数据大小,分配 到与前导包对应发送时预测最早到达的路径。在图8中,最初的数据 包301-1配置在路径1中。以下逐个增加块内的包,并同样配置,对任 意的路径,均在发送的包大小的和为tb (n) +to (n)以下的、求出了 最大发送包数的情况下,决定包块的构成。
在图8中,构成路径1和2中共含有五个从数据包301-1至301-5 的包块300。
在上述扩展的窗口控制及PAC调度中,从预测最低延迟的路径发 送前导包,从而可使延迟较大的路径相关的流控制信息的通知也以和 延迟最低的路径同等的延迟来进行。
但是,在从接收节点中的包接收开始、到根据其接收状态生成的 流控制信息通知到发送节点为止所需的时间内,不仅包括流控制信息 的传送延迟,而且包括从包接收到流控制信息发送为止的待机时间。 该待机时间最大为块发送间隔,因此为了减轻节点处理负荷、提高包 序列方式下路径带宽推测的精度、有效利用带宽,在路径上为了使缓 冲的数据量保持在一定以上而增大各个块对各路径的分配量时,造成 流控制信息反馈延迟的增大。
以下参照图9说明存在多个同等的延迟路径时,使各路径的各个 块的数据量保持一定以上的同时,用于减少到流控制信息发送为止的 待机时间的第3流控制算法。
图9中,和图4 一样,"101时刻"实数直线表示传送节点101

上的时刻、"102时刻"实数直线表示传送节点102上的时刻。但传送
节点101和传送节点102之间存在路径1和路径2 二个路径,对于经 由各个路径的包,将传送节点101对传送节点102上的接收序列的预 测在"路径1接收预测"及"路径2接收预测"线上表示。
各包块基本上仅由一个路径构成。各路径的包块的块大小如下确 定块内的包的传送延迟一定,即,任意的路径的块(块中含有的包
大小的和/路径的速度)均相同。因此,各包块仅错开块内的包的传送 延迟/信号传输中可使用的路径数所定义的块发送周期ti来发送,这成 为前导包发送的周期。
如图9所示,使用路径1的包块和使用路径2的包块的到达是交 互的。因此,通过调度包块发送,和速度推测中使用的包序列的长度 相比,可縮短前导包的发送间隔(反馈周期)。
这是因为,像第1实施例那样仅使用一个路径发送包块时,前导 包的到达间隔基本与包序列的长度相等,与之相对,如图9所示,使 用多个路径发送包块时,前导包的到达在比包序列的长度短的ti间隔 下可接收。
当路径状态变化时,未必像图9那样保障定期的报告到达。例如 在时刻tf(a)和时刻tf(c)之间,如果路径l的速度下降,则前导包 302-c的到达比tf (c)慢。这种情况下,节点101通过在ts (f)或ts (g)下由节点102发送的前导包的信息检测出速度变化,调节ts (d) 发送的前导包300-d的数据量,使得在节点102中,从前端到末尾为止 的接收所需的时间(接收完成时间)为ti的程度以下。并且,300-d之 后发送的前导包也以接收完成时间为ti的程度以下的大小从路径2发 送。之后,直到路径1变为可发送的状态,即tb+tlKtf为止,仅从路径 2发送接收完成时间为ti的程度以下的大小的包块。这样一来,在通过 路径状态的变化,路径1的延迟变大的状态下,也可使前导包的收发
周期保持为ti的程度以下。
相反,例如在时刻tf (a)和时刻tf (C)之间,路径1的速度上升,
前导包302-c的到达比tf (c)早。这种情况下,节点101在ts (c)和 ts (d)之间检测速度变化,将在下一个经由路径1的前导包到达的预 定时刻tf (e)为止的期间可到达的数据量的、经由路径l的包,加入 到在ts (d)发送的包块300-d。此时,包块300-d包括路径1、 2双方 的包。对于300-e之后的包块发送,重新决定块大小,使传送延迟相对 新的速度为ti的可使用路径数倍以内。此时,前导包到达间隔和速度 变化前一样,保持在ti以内。另一方面,包块中前导包占据的数据量 的比例变小,因此带宽利用效率提高。
根据上述第2实施例,可将负荷分散到反映了各通信路径的延迟 及速度的监视结果的各路径。
本发明中,发送侧的发送时刻的决定及发送路径的决定不像现有 例那样按照单一包或包对进行,而是以包块单位进行,因此增大包块 的数据量时,减轻了附加到传送节点的发送处理的负荷。
并且,由于将信号传输信息汇集到前导包,接收侧的流控制信息 的抽取、调度信息的更新均不是像现有例那样与包发送同样的频率来 进行,而是以包块发送的频率进行,因此减轻了附加到传送节点的接 收处理的负荷。
并且,将汇集了信号传输信息的前导包从最先到达的路径作为包 块的前端发送,从而和将延迟大的路径的状态信息使用该延迟大的路 径自身进行反馈时相比,具有可短时间反馈的效果。并且,各路径的 包块中含有的包个数为一定个数以上时,由于将信号传输信息从数据 包中省略,对同样的数据量,和现有例相比,具有减少包大小总和的效果。
进一步,如上述实施例2所示,包序列方式下的高精度的路径带 宽推测可使用专用的探测包等不破坏带宽利用效率地进行。
以上主要说明了应传送的数据多、高负荷状态下的动作。在低负 荷时,缓冲部中没有应发送的数据,因此需要定期发送虚拟包并监视 线路状态。
这种情况下,由于单一包块中含有的包个数变少,因此速度推测 的精度和高负荷时相比不足。届时可联合考虑连续的包块中含有的包, 以使速度推测精度保持一定精度以上。参照图10进行说明。该图中,
属于三个包块300-a、 300-b、 300-c的包在某个路径上被接收,在先行 的包块的末尾和下一包块的前端之间,存在无任何接收的时间。
此时,接收速度的推测假定以下情况来进行包块300-b中含有 的数据包301-2、 301-3在301-1之后接收。并且同样假定包块300-c 中含有的数据包301-4在301-3之后接收。这样一来,构成包块400这 样的虚拟包块。此时,数据包301-2、 301-3的接收所需的时间使用包 块300-b接收时测定的包302-b和包301-3的接收时刻差,并且数据包 301-4的接收所需的时间使用包块300-c接收时测定的包302-c和包 301-4的接收时刻差。并且,虚拟包块400的数据包接收所需的时间使 用300-a、 300-b、 300-c接收时测定的数据包的接收所需时间的总和。 接收速度推测为301-1至301-4为止的四个数据包的数据量的总和除 以虚拟包块400的数据包接收所需的时间的值。
通过使用包括前导的五个包构成的虚拟包块400进行速度推测, 和构成包数较少的包块300-a、 300-b、 300-c相比,有望提高测定精度。
(第3实施例)
以下说明通过作为前导包的块管理信息含有的信息来实现新功能
的实施例。图ll表示如下概要动作作为本发明的第3实施例,块管 理信息500中含有发送侧节点预测的各链接的速度、和块内数据的大 小,可进行通信异常的尽快检测。
图11表示对某个路径,将含有序列号1至6的包的包块在推测
该链接的速度为350Kbps时,在第3实施例中发送的块管理信息、与
接收侧节点中的数据包接收时刻的关系。图ll下部的时刻的实数直线 表示接收节点中的实际的包到达序列。
接收节点在包2为止,以发送节点的预测速度到达,因此不进行 任何动作,在包3中检测出到达间隔的延伸,确认产生了发送侧的预 测速度和实际的传送速度的偏离。当判断偏离达到一定程度以上时, 制作异常报告并回复,可使发送节点误识别链接状态的时间最小化, 提高流控制动作的跟踪性。
(第4实施例)
接着说明可尽快检测出用户流单位下的块损失的第4实施例。
图12表示本发明的第4实施例中的块管理信息、和接收侧节点中 的数据包接收序列的示例。块管理信息500中含有块内各个包的用户 流信息。在此,用户流是指作为保存包的到达顺序的对象的、端主机 间的包传送会话,对各用户流附加独特的ID。
并且,用户流内的各个包中,用户流内独特的序列号与各路径的 序列号不同地附加。在该图中,发送节点对某个路径,在含有4至11 的序列号的包的包块中,包含2049和2050 二个用户流。图12下部的 时刻的实数直线表示接收节点中的实际的包到达序列。
在图12的例子中,发送的结果是,包5和包6损失,但通过包7 的接收检测出损失。并且,损失的包5和6分别是流2049的#14和流
2050的#41这一情况可通过流管理信息500获知,因此属于目前为止 到达的这二个流的包不等待损失包的到达而传送。
在按照各路径及各用户流附加个别的序列号的现有例中,包括非 专利文献8,在该现有例中,也不提供损失包的用户流信息,因此当特 定的用户流的包未按照顺序到达时,无法判断原因是包损失、还是反 多重化链接通过引起的顺序逆转。其原因是包损失时,也不得不假设 为顺序逆转而保留一定的时间传送。本实施例中,损失的包的各用户 流的序列号可由接收节点知晓,因此也正确检测,而不会将包损失混 淆为顺序逆转。因此,在包损失检测出来时,可省略传送保留,具有 减少端主机间会话的抖动的效果。
(第5实施例)
接着,作为本发明的第5实施例,概要说明以下动作通过在块 管理信息中含有图13所示的、块内的数据包的数据共用部分相关的信 息,可进行数据压縮的动作。其中,作为压縮对象的数据包包含数据 区域中共用的部分。该图中,开始序列号及结束序列号表示作为数据 压縮对象的包的范围。
并且,开始位及结束位是通过位位置的起点和终点来表示压縮对 象包的数据区域中共用的范围。开始位 结束位间的数据中,收容从开 始位到结束位之间的共用数据。将以上压缩信息包含在块管理信息中, 而指定的共用数据从数据包的数据域删除,从而降低发送包大小的总
上述数据压縮尤其在数据本身包含其他协议的数据头、共用部分 大的情况下有效。共用部分不同的包的组合、位范围存在多个时,使 图13所示的压縮信息在块管理信息中含有多个即可。本实施例中发送 数据的压縮和需要在收发节点之间共享压縮状态的信号传输的现有的 数据压缩方法相比,控制变得简单。
此外,上述控制信息也可是路由信息。
本发明的节点101、 102等的动作可通过硬件实现,也可通过计算 机执行实现各部分功能的程序来从软件上实现。该程序保持在磁盘、 半导体存储装置等其他记录介质,从该记录介质读取到计算机,通过 控制其动作,可实现上述功能。
权利要求
1. 一种通信方法,其特征在于,将多个数据包和前导包作为一个块,将和上述多个数据包相关的控制信息汇集到上述前导包并将其发送,根据接收的前导包的控制信息控制包的发送。
2. 根据权利要求l所述的通信方法,其特征在于,上述控制信息是流控制信息。
3. 根据权利要求l所述的通信方法,其特征在于,上述控制信息 是重发控制信息。
4. 根据权利要求l所述的通信方法,其特征在于,上述控制信息 是路由信息。
5. 根据权利要求l所述的通信方法,其特征在于,上述控制信息 是路径信息。
6. 根据权利要求l所述的通信方法,其特征在于,上述控制信息 是上述数据包共用的控制信息。
7. 根据权利要求l所述的通信方法,其特征在于,专门识别前导 包的识别信息包含在上述数据包中。
8. 根据权利要求l所述的通信方法,其特征在于,专门识别对控 制信息进行汇集的数据包的识别信息包含在上述前导包中。
9. 根据权利要求l所述的通信方法,其特征在于,上述多个数据 包或前导包经过多个线路而被收发。
10. 根据权利要求9所述的通信方法,其特征在于,上述前导包 使用上述多个线路中最快速的线路进行发送。
11. 根据权利要求9所述的通信方法,其特征在于,根据上述控 制信息选择发送上述前导包或上述数据包的线路。
12. 根据权利要求1所述的通信方法,其特征在于,根据接收的前导包中含有的控制信息,决定发送的块的数据量。
13. 根据权利要求1所述的通信方法,其特征在于,根据接收的 前导包中含有的控制信息,决定发送的块的发送时刻。
14. 根据权利要求1所述的通信方法,其特征在于,根据属于同 一块的多个数据包的接收时刻,推测通信路径的速度。
15. —种通信系统,其特征在于,具有包块制作单元,将多个数据包和前导包作为一个块处理,将和上述多个数据包相关的控制信息汇集到上述前导包;和调度单元,根据汇集到接收的前导包的控制信息,控制包的发送。
16. 根据权利要求15所述的通信系统,其特征在于,上述控制信 息是流控制信息。
17. 根据权利要求15所述的通信系统,其特征在于,上述控制信 息是重发控制信息。
18. 根据权利要求15所述的通信系统,其特征在于,上述控制信 息是路由信息。
19. 根据权利要求15所述的通信系统,其特征在于,上述控制信 息是路径信息。
20. 根据权利要求15所述的通信系统,其特征在于,上述包块制 作单元将上述数据包中共用的控制信息汇集到上述前导包。
21. 根据权利要求15所述的通信系统,其特征在于,专门识别前 导包的识别信息包含在上述数据包中。
22. 根据权利要求15所述的通信系统,其特征在于,专门识别汇 集到控制信息的数据包的识别信息包含在上述前导包中。
23. 根据权利要求15所述的通信系统,其特征在于,具有发送单 元,将上述多个数据包或前导包经由多个线路发送。
24. 根据权利要求23所述的通信系统,其特征在于,上述调度单 元进行控制,以使用上述多个线路中最快速的线路发送前导包。
25. 根据权利要求23所述的通信系统,其特征在于,上述调度单 元根据控制信息选择发送上述前导包或上述数据包的线路。
26. 根据权利要求15所述的通信系统,其特征在于,上述调度单 元根据接收的前导包中含有的控制信息,决定发送的块的数据量。
27. 根据权利要求15所述的通信系统,其特征在于,上述调度单 元根据接收的前导包中含有的控制信息,决定发送的块的发送时刻。
28. 根据权利要求15所述的通信系统,其特征在于,具有包解析 部,由属于同一块的多个数据包的接收时刻,推测通信路径的速度。
29. —种节点,其特征在于,具有包块制作单元,将多个数据包和前导包作为一个块处理,将和上 述多个数据包相关的控制信息汇集到上述前导包;和调度单元,根据汇集到从其他节点接收的前导包的控制信息,控 制包的发送。
30. 根据权利要求29所述的通信节点,其特征在于,上述包块制 作单元将上述数据包中共用的控制信息汇集到上述前导包。
31. 根据权利要求29所述的节点,其特征在于,专门识别前导包 的识别信息包含在上述数据包中。
32. 根据权利要求29所述的节点,其特征在于,专门识别对控制 信息进行汇集的数据包的识别信息包含在上述前导包中。
33. 根据权利要求29所述的节点,其特征在于,具有发送单元, 将上述多个数据包或前导包经由多个线路发送。
34. 根据权利要求33所述的节点,其特征在于,上述调度单元进 行控制,以使用上述多个线路中最快速的线路发送前导包。
35. 根据权利要求33所述的节点,其特征在于,上述调度单元根 据汇集到从其他节点接收的前导包的控制信息,选择发送上述前导包 或上述数据包的线路。
36. 根据权利要求29所述的节点,其特征在于,上述调度单元根 据从其他节点接收的前导包中含有的控制信息,决定发送的块的数据
37. 根据权利要求29所述的节点,其特征在于,上述调度单元根据从其他节点接收的前导包中含有的控制信息,决定发送的块的发送 时刻。
38. 根据权利要求29所述的节点,其特征在于,具有包解析部, 根据属于同一块的多个数据包的接收时刻,推测通信路径的速度。
39. —种程序,其特征在于,使计算机实施以下处理 包块制作处理,将多个数据包和前导包作为一个块处理,将和上述多个数据包相关的控制信息汇集到上述前导包;和调度处理,根据汇集到从其他节点接收的前导包的控制信息,控 制包的发送。
全文摘要
本发明的课题在于减轻和数据包相关的控制信息的发送产生的负荷,提高通信效率,本发明在从传送节点(101)向传送节点(102)传送包时,将各数据包(301)中存储的控制信息汇集到配置在包块(300-1)的前端的前导包(302),并从传送节点(101)传送到传送节点(102),接收到该包块(300-1)的传送节点(102)根据接收的前导包的控制信息控制向传送节点(101)传送的包的发送。
文档编号H04L29/08GK101379781SQ200780002898
公开日2009年3月4日 申请日期2007年1月18日 优先权日2006年1月23日
发明者中田恒夫 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1