説明

データ送信側通信装置及びプログラム、並びに、データ受信側通信装置及びプログラム、並びに、通信システム

【課題】 簡易な手順のみで、伝送性能や伝送内容等の事前設定を行うことなく、通信装置間で効率的なマルチリンク通信を実現することができる通信システムを提供する。
【解決手段】 本発明はデータ受信側通信装置と、複数の経路を束ねた通信により伝送パケットを送信する送信するデータ送信側通信装置とを備える通信システムに関する。そして、データ送信側通信装置は、通し番号の情報が付与された伝送パケットをいずれかの上記経路に送出する手段と、データ受信側通信装置から到着通知を受信する手段と、経路ごとの到着通知の受信状況に応じてそれぞれの経路に対する送出割合を決定し、決定した送出割合で送出されるように制御する手段とを有することを特徴とする。また、データ受信側通信装置は、受信した伝送パケットの通し番号の情報を含む到着通知を、データ送信側通信装置へ送信する手段を有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ送信側通信装置及びプログラム、並びに、データ受信側通信装置及びプログラム、並びに、通信システムに関し、例えば、通信装置間で複数経路の伝送帯域を束ねた通信(マルチリンク通信)を行うことができる通信システムに適用し得る。
【背景技術】
【0002】
従来、通信装置間で、トランスポート層を利用して物理層の仕様に左右されずにマルチリンク通信を実現する技術としては、特許文献1の記載技術がある。
【0003】
また、特許文献2の記載技術では、複数の経路(ネットワークメディア)を用いたマルチリンク通信において、経路ごとに、あらかじめ遅延情報などを検出しておき、帯域振り分けに利用することについて記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−60956号公報
【特許文献2】特開2006−60579号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1の記載技術等の従来技術(チャネルボンディングなど)を利用して、マルチリンク通信を実現する場合、特定のパケット構造(IPアドレス別・MACアドレス別など)を基準に振り分けを行うなど、経路の振り分けに特定の設定操作が必要であった。また、特許文献1等の従来技術では、実際に通過するパケットの構造によっては有効に利用されない(振り分けのために指定した値が実働上で偏っていた場合は特定チャネルのみしか利用されないなど)問題や、伝送経路毎の性能をあらかじめ規定した上で設定を実施する必要があった。
【0006】
また、特許文献2の記載技術では、動作を実現するためには複数の機能ブロックを保有・制御する必要があるなど、処理が複雑となることからその取り扱いが難しく、実際に一般家庭などで利用される通信機器などに適用することは困難であった。
【0007】
上述のような問題に鑑みて、簡易な手順で、伝送性能や伝送内容等の事前設定を行うことなく、効率的なマルチリンク通信を実現することができるデータ送信側通信装置及びプログラム、並びに、データ受信側通信装置及びプログラム、並びに、通信システムが望まれている。
【課題を解決するための手段】
【0008】
第1の本発明は、データ受信側通信装置と、データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により、データ受信側通信装置に送信するデータ送信側通信装置とを備える通信システムにおいて、(1)上記データ送信側通信装置は、(1−1)それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、(1−2)上記伝送パケット保持手段が保持した伝送パケットを、通し番号の順序で、いずれかの上記経路を用いて、上記データ受信側通信装置へ送出する伝送パケット送信手段と、(1−3)上記データ受信側通信装置に到達した伝送パケットの通し番号の情報を含む到着通知を、上記データ受信側通信装置から受信する通知受信手段と、(1−4)上記経路ごとの到着通知の受信状況に応じて、それぞれの上記経路に送出する伝送パケットに対する送出割合を決定し、決定した送出割合で、それぞれの上記経路へ伝送パケットが送出されるように、上記伝送パケット送信手段を制御する伝送パケット送信制御手段とを有し、(2)上記データ受信側通信装置は、(2−1)上記データ送信側通信装置から送出された伝送パケットを受信する伝送パケット受信手段と、(2−2)上記伝送パケット受信手段が受信した伝送パケットから通し番号の情報を抽出し、上記データ送信側通信装置へ、当該通し番号の情報を含む到着通知を送信する通知送信手段とを有することを特徴とする。
【0009】
第2の本発明は、データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により、データ受信側通信装置に送信するデータ送信側通信装置において、(1)それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、(2)上記伝送パケット保持手段が保持した伝送パケットを、通し番号の順序で、いずれかの上記経路を用いて、上記データ受信側通信装置へ送出する伝送パケット送信手段と、(3)上記データ受信側通信装置に到達した伝送パケットの通し番号の情報を含む到着通知を、上記データ受信側通信装置から受信する通知受信手段と、(4)上記経路ごとの到着通知の受信状況に応じて、それぞれの上記経路に送出する伝送パケットに対する送出割合を決定し、決定した送出割合で、それぞれの上記経路へ伝送パケットが送出されるように、上記伝送パケット送信手段を制御する伝送パケット送信制御手段とを有することを特徴とする。
【0010】
第3の本発明は、データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により送信するデータ送信側通信装置から、伝送パケットを受信するデータ受信側通信装置において、(1)上記データ送信側通信装置から送出された、通し番号の情報を含む伝送パケットを受信する伝送パケット受信手段と、(2)上記伝送パケット受信手段が受信した伝送パケットから通し番号の情報を抽出し、上記データ送信側通信装置へ、当該通し番号の情報を含む到着通知を送信する通知送信手段とを有することを特徴とする。
【0011】
第4の本発明のデータ送信側通信プログラムは、(1)データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により、データ受信側通信装置に送信するデータ送信側通信装置に搭載されたコンピュータを、(2)それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、(3)それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、(4)上記伝送パケット保持手段が保持した伝送パケットを、通し番号の順序で、いずれかの上記経路を用いて、上記データ受信側通信装置へ送出する伝送パケット送信手段と、(5)上記データ受信側通信装置に到達した伝送パケットの通し番号の情報を含む到着通知を、上記データ受信側通信装置から受信する通知受信手段と、(6)上記経路ごとの到着通知の受信状況に応じて、それぞれの上記経路に送出する伝送パケットに対する送出割合を決定し、決定した送出割合で、それぞれの上記経路へ伝送パケットが送出されるように、上記伝送パケット送信手段を制御する伝送パケット送信制御手段として機能させることを特徴とする。
【0012】
第5の本発明のデータ受信側通信プログラムは、(1)データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により送信するデータ送信側通信装置から、伝送パケットを受信するデータ受信側通信装置に搭載されたコンピュータを、(2)上記データ送信側通信装置から送出された、通し番号の情報を含む伝送パケットを受信する伝送パケット受信手段と、(3)上記伝送パケット受信手段が受信した伝送パケットから通し番号の情報を抽出し、上記データ送信側通信装置へ、当該通し番号の情報を含む到着通知を送信する通知送信手段として機能させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、簡易な手順のみで、伝送性能や伝送内容等の事前設定を行うことなく、通信装置間で効率的なマルチリンク通信を実現することができる通信システムを提供することができる。
【図面の簡単な説明】
【0014】
【図1】実施形態に係る通信システムの構成について示したブロック図である。
【図2】実施形態に係るデータ送信側通信装置の経路管理テーブルの内容例について示した説明図である。
【図3】実施形態に係るデータ送信側通信装置を構成する通信制御部の動作について示したフローチャート(その1)である。
【図4】実施形態に係るデータ送信側通信装置を構成する通信制御部の動作について示したフローチャート(その2)である。
【図5】実施形態に係るデータ送信側通信装置を構成する通信制御部の動作について示したフローチャート(その3)である。
【図6】実施形態に係るデータ送信側通信装置とデータ受信側通信装置との間の通信について示したタイミングチャートである。
【図7】実施形態に係るデータ送信側通信装置における経路管理テーブルの内容の遷移について示した説明図である。
【発明を実施するための形態】
【0015】
(A)主たる実施形態
以下、本発明によるデータ送信側通信装置及びプログラム、並びに、データ受信側通信装置及びプログラム、並びに、通信システムの一実施形態を、図面を参照しながら詳述する。
【0016】
(A−1)実施形態の構成
図1は、この実施形態の通信システム10の全体構成を示すブロック図である。
【0017】
通信システム10は、データ送信側通信装置20及びデータ受信側通信装置30を有している。
【0018】
データ送信側通信装置20は、データ受信側通信装置30へネットワークNを介してデータを挿入したパケットを送信することができる通信装置である。また、データ受信側通信装置30は、データ送信側通信装置20から送信されてくるデータ(パケット)を受信するものである。データ送信側通信装置20とデータ受信側通信装置30との間で送受信されるパケットの形式(ネットワークレイヤ上のパケットの形式)については限定されないものであるが、ここでは、IPパケットが用いられるものとして説明する。
【0019】
データ送信側通信装置20は、制御部21、送受信部22、通信制御部24、及び経路管理テーブル25を有している。
【0020】
データ送信側通信装置20は、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成、及び、ネットワークインタフェースを有する装置(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、実施形態のデータ送信側通信プログラム等をインストールすることにより構築するようにしても良く、その場合でも、機能的には上述の図1のように示すことができる。
【0021】
制御部21は、当該データ送信側通信装置20の全体を制御する機能を担っている。
【0022】
送受信部22は、ネットワークNと接続するためのインタフェースの機能を担っている。ここでは、送受信部22は、それぞれネットワークNと接続している3つのインタフェース23(23−1〜23−3)を備えているものとする。なお、送受信部22が備えるインタフェース23の数や種類は限定されないものである。また、ここでは、説明を簡易にするために、全てのインタフェース23は、ネットワークNを介してデータ送信側通信装置20と通信しているが、インタフェース23ごとに異なるネットワークを経由して、データ送信側通信装置20と通信ようにしても良い。また、インタフェース23は、それぞれ物理的なインタフェース(例えば、一つのイーサネット(登録商標)ポート)として構成しても良いし、一つの物理インタフェースを複数チャネルに分けて構成する(例えば、ATMやVPN等の論理パスによる接続を行う)ようにしても良い。また、ここでは、インタフェース23−1〜23−3は、それぞれ、ネットワークNへ接続可能な速度が異なるものとして説明する。
【0023】
そして、それぞれのインタフェース23は、通信制御部24から送信パケットの供給を受けると、そのパケットを、ネットワークNに送出する。また、それぞれのインタフェース23は、ネットワークNから、当該送信側通信装置20宛のパケットを受信すると、そのパケットを通信制御部24に引き渡す。
【0024】
通信制御部24は、当該データ送信側通信装置20において、パケット送受信に関する制御を行う機能を担っている。通信制御部24は、当該データ送信側通信装置20からデータ受信側通信装置30へ送信する送信データが発生した場合には、そのデータを保持してパケット生成を行い、生成したパケットを、いずれかのインタフェース23に引き渡す。当該データ送信側通信装置20からデータ受信側通信装置30へ送信するデータが発生する契機や内容は限定されないものであるが、例えば、当該データ送信側通信装置20における図示しない上位層の処理構成(例えば、アプリケーション等)で、発生した場合等が挙げられる。また、通信制御部24はいずれかのインタフェース23で受信したパケットが、当該データ送信側通信装置20宛の通信制御用のパケットであった場合には、そのパケットを保持して処理する。
【0025】
通信制御部24は、データ受信側通信装置30にパケット送信する際に、複数経路(経路1〜3)を束ねてマルチリンク通信によりパケット送信を行う。
【0026】
通信制御部24は、データ受信側通信装置30へ、マルチリンク通信によりデータが挿入されたパケット(以下、「伝送パケット」と呼ぶ)を送信する際、いずれの経路(インタフェース23)を使用するか選択し、選択したインタフェース23に当該伝送パケットを引き渡す。データ送信側通信装置20(通信制御部24)とデータ受信側通信装置30(通信制御部34)との間で行なわれるマルチリンク通信の制御は、例えば、トランスポートレイヤでセッションごとに行い、その他のレイヤ(ネットワーク層やデータリンク層等)については、既存のIPネットワークと同様の構成を適用するようにしても良い。ここでは、データ送信側通信装置20(通信制御部24)とデータ受信側通信装置30(通信制御部34)との間で行われるマルチリンク通信を中心として説明するが、その他の通信処理の構成については、上述の通り既存のIPネットワークと同様のものを適用することが可能であるので、詳しい説明を省略する。
【0027】
以下では、データ送信側通信装置20から、インタフェース23−1を用いてデータ受信側通信装置30へデータ送信する経路を「経路1」、インタフェース23−2を用いてデータ受信側通信装置30へデータ送信する経路を「経路2」、インタフェース23−3を用いてデータ受信側通信装置30へデータ送信する経路を「経路3」とそれぞれ呼ぶものとする。また、以下では、経路1〜3のぞれぞれの経路には、それぞれ1〜3の経路番号が付与されているものとして説明する。
【0028】
また、上述の通り、データ送信側通信装置20は、経路1〜3を用いたマルチリンク通信により、データ受信側通信装置30へ、データ送信を行うことができる。その際、通信制御部24は、各経路への伝送パケットの振り分け等の制御も行う。具体的には、通信制御部24は、データ受信側通信装置30との通信状況に応じて、後述する経路管理テーブル25の内容を更新する。そして、通信制御部24は、経路管理テーブル25の内容に基づいて、経路ごとに供給する伝送パケットの割合(転送割合)を決定し、決定した転送割合に応じた割合でデータパケットを各経路(インタフェース23)に振り分ける。通信制御部24が経路ごとの転送割合を決定する処理、及び、経路管理テーブル25の内容については後述する。
【0029】
データ受信側通信装置30は、データ受信側通信装置30、制御部31、送受信部32、及び通信制御部34を有している。
【0030】
データ受信側通信装置30は、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成、及び、ネットワークインタフェースを有する装置(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、実施形態のデータ受信側通信プログラム等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図1のように示すことができる。
【0031】
制御部31は、当該データ受信側通信装置30の全体を制御する機能を担っている。
【0032】
送受信部32は、ネットワークNと接続するためのインタフェースの機能を担っており、インタフェース33を備えている。なお、送受信部32が備えるインタフェース33の数や種類は限定されないものである。また、インタフェース33は、通信制御部34からデータ送信側通信装置20宛のパケットの供給を受けると、そのパケットを、ネットワークNに送出する。また、それぞれのインタフェース33は、ネットワークNから、当該データ受信側通信装置30宛のパケットを受信すると、そのパケットを通信制御部34に引き渡す。
【0033】
通信制御部34は、当該データ受信側通信装置30において、パケット送受信に関する制御を行う機能を担っている。通信制御部34は、インタフェース33で受信したパケットが、上記データ送信側通信装置20からの伝送パケットであった場合には、その伝送パケットからデータを抽出して、図示しない上位層の処理構成(例えば、アプリケーション等)へ引き渡す等の処理を行う。また、通信制御部34は、データ送信側通信装置20から伝送パケットを受信すると、その受信状況に関する情報をフィードバックする。通信制御部34による上述のフィードバック処理の詳細については後述する。
【0034】
次に、データ送信側通信装置20(通信制御部24)とデータ受信側通信装置30(通信制御部34)との間のマルチリンク通信の概要について説明する。
【0035】
データ送信側通信装置20(通信制御部24)は、経路1〜3でデータ受信側通信装置30との通信が確立した状態(マルチリンク通信が確立した状態)で、それぞれの経路に伝送パケットを送出する際、伝送パケットに通し番号(シーケンス番号)を付与する。伝送パケットに付与した通し番号を挿入する位置については限定されないものであるが、例えば、伝送パケット(IPパケット)のヘッダ部分(例えば、シーケンス番号)やデータ部分の所定位置に、挿入するようにしても良い。なお、通信システム10において、データ送信側通信装置20が、複数の経路を用いて伝送パケットをデータ受信側通信装置30に到達させるネットワークレイヤ以下の構成については限定されないものであり、例えば、特許文献1と同様の構成を用いるようにしても良い。
【0036】
そして、データ受信側通信装置30(通信制御部34)では、通し番号の付与された伝送パケットが到来すると、その通し番号の情報を、データ送信側通信装置20(通信制御部24)にフィードバックする。そして、データ受信側通信装置30(通信制御部34)では、通し番号を手がかりに、複数の経路を介して到来する伝送パケットの順序性を把握して並べ替え、複数の伝送パケットにより送信されたデータを再構成する。
【0037】
データ受信側通信装置30(通信制御部34)では、通し番号の付与された伝送パケットが到来すると、その通し番号の伝送パケットが到着したことを、フィードバック(応答・報告)するパケット(以下、「応答パケット」と呼ぶ)を、データ送信側通信装置20(通信制御部24)に送信する。データ受信側通信装置30(通信制御部34)が送信する応答パケットの形式については限定されないものであるが、例えば、応答パケット(IPパケット)のデータ部分に、到達したパケットの通し番号の情報を挿入するようにしても良い。また、データ送信側通信装置20(通信制御部24)で、受信したパケットが、応答パケットであるか否かを判定する方法としては、例えば、応答パケットのヘッダ部分を構成するタイプ値のフィールドに、特有の値を適用して識別するようにしても良い。
【0038】
そして、データ送信側通信装置20(通信制御部24)は、伝送パケットの送出状況、及び、応答パケットの受信状況に基づいて、経路管理テーブル25の内容を更新し、経路管理テーブル25の内容に基づいて各経路の転送割合を決定する。具体的には、データ送信側通信装置20(通信制御部24)では、フィードバックされてきたパケットの情報により、経路毎の伝送遅延時間の乖離差を知ることが出来る。そして、データ送信側通信装置20(通信制御部24)では、経路ごとに通し番号を付与した伝送パケットを送信したタイミングと、それぞれの伝送パケットに対する応答パケットを受信したタイミングとの乖離差を求め、その乖離差に基づいて、送出する伝送パケットの割合を変化させる。これにより、データ送信側通信装置20(通信制御部24)では、各経路の帯域を有効に活用することが出来る。
【0039】
データ送信側通信装置20(通信制御部24)が、伝送遅延時間による転送割合を変化させる具体的な方法としては、通し番号が最も大きな値を先に検出することが出来た経路が最も遅延が小さい経路と推定できるため、この経路のパケット送信速度を基準にしてそれ以外の経路のパケットの送出数を変化(減少)させ、パケットの経路毎の伝送量を最適化・最大化するという手順が提案出来る。
【0040】
次に、経路管理テーブル25の内容例について説明する。
【0041】
図2は、経路管理テーブル25の内容例について示した説明図である。
【0042】
経路管理テーブル25には、図2に示すように、経路1〜3ごとの最新送出パケット番号Qn、最新到着パケット番号Ln、最新送出パケット受信フラグRn、遅延カウンタPn(nは、いずれも経路番号が適用される)というパラメータの情報が格納されている。また、図2に示す経路管理テーブル25の各パラメータは、当該パラメータの初期値である。なお、以下では、データ送信側通信装置20が対応するマルチリンク数(経路数)をmと表わすものとする。そして、上述の通り、データ送信側通信装置20は、3つの経路1〜3に対応しているのでm=3となる。また、以下において、n及びkは経路番号を示すものとする。
【0043】
最新送出パケット番号Qnは、当該経路で最新に送出された伝送パケット(以下、「最新送出パケット」と呼ぶ)の通し番号を示している。
【0044】
最新到着パケット番号Lnは、当該経路で、最新に到着した応答パケットの通し番号を示している。ここでは、最新到着パケット番号Lnの初期値は「0」であるものとする。
【0045】
最新送出パケット受信フラグRnは、当該経路の最新送出パケットに係る応答パケットを受信しているか否かを示している。最新送出パケット受信フラグRnは、有効又は無効のいずれかで表わされ、初期値は無効となっているものとする。
【0046】
優先経路kは、現在最も優先的に転送割合を割り当てる対象となっている経路(優先経路)の経路番号を示している。ここでは、優先経路kの初期値は「1」であるものとする。
【0047】
遅延カウンタPnは、当該経路がの伝送パケットの送出状況が、優先経路と比較して、どの程度遅延しているかを示すカウンタである。遅延カウンタPnの詳細については後述する。なお、遅延カウンタPnの初期値は「0」であるものとする。
【0048】
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の通信システム10におけるデータ送信側通信装置20及びデータ受信側通信装置30の動作を説明する。
【0049】
まず、最初に、データ送信側通信装置20における通信制御部24の処理について、図3〜図5のフローチャートを用いて説明する。
【0050】
ここでは、図3〜図5のフローチャートによる処理の前提として、データ送信側通信装置20(通信制御部24)で、データ受信側通信装置30へ送信するための送信データ(例えば、大容量のファイル等)が発生したものとする。そして、データ送信側通信装置20(通信制御部24)と、データ受信側通信装置30(通信制御部34)との間で、経路1〜3を用いたマルチリンク通信のセッションが開始されたものとする。そして、データ送信側通信装置20(通信制御部24)では、送信対象となるデータが伝送パケットに挿入可能な単位に分割され、データ受信側通信装置30へマルチリンク通信により送信する処理が開始されたものとする。送信対象となるデータを分割して伝送パケットを生成する処理としては、例えば、既存の通信装置でTCP/IPを用いてデータ伝送する場合と同様の処理を適用することができる。
【0051】
図3、図4は、通信制御部24で、データ受信側通信装置30へ、分割データが挿入された伝送パケットが送信される際の処理について示したフローチャートである。
【0052】
また、図5は、通信制御部24において、図3、図4の処理で送信されたパケットの応答パケットが受信された場合の処理について示している。ここでは、まず、図5を用いて、データ送信側通信装置20(通信制御部24)が、経路番号xの経路(以下、「経路x」と呼ぶ)で送信した伝送パケットに対する応答パケットを受信した場合の処理について説明する。
【0053】
まず、通信制御部24が、データ受信側通信装置30から、経路xで送信した伝送パケットに対する応答パケットを受信したものとする。そして、通信制御部24は、経路管理テーブル25上で、経路xの最新到着パケット番号Lxを、最新に受信した応答パケットの通し番号に更新する(S201)。なお、最新に受信した応答パケットの通し番号が、現在のLxよりも前の番号である場合は、通信制御部24は、Lxの更新を省略するようにしても良い。
【0054】
そして、通信制御部24は、受信した応答パケットの通し番号を確認し、パケットの通し番号がその経路xにおける最新送出パケットに該当するか否かを、経路管理テーブル25から確認する(S202)。経路xの最新送出パケット番号Qxの値が、当該応答パケットの通し番号と一致する場合、通信制御部24は、当該応答パケットの通し番号が、経路xにおける最新送出パケットQxに該当すると確認できる。そして、当該応答パケットの通し番号が、経路xにおける最新送出パケットに該当すると確認できた場合には、通信制御部24は、経路管理テーブル25上で、経路xの最新送出パケット受信フラグRxを、「有効」に更新し(S203)、当該応答パケットの処理を終了する。一方、当該応答パケットの通し番号が、経路xにおける最新送出パケットQxに該当しなかった場合には、通信制御部24は、Rxを更新せずに当該応答パケットの処理を終了する。
【0055】
次に、図3、図4を用いて、通信制御部24が、データ受信側通信装置30へ、マルチリンク通信により、伝送パケットを送信する際の処理について説明する。
【0056】
まず、通信制御部24では、経路管理テーブル25のパラメータが初期化されたものとする(S101)。ここでは、経路管理テーブル25の各パラメータが初期化された結果、図2の内容となったものとする。
【0057】
そして、通信制御部24は、いずれかの経路を選択し(S102)、後述するステップS103〜S108の繰り返し処理(以下、「順次処理」と呼ぶ)を開始する。通信制御部24において、順次処理は、上述のステップS102の処理で選択される順序で全ての経路について行われ、全ての経路について順次処理が終了すると、順次処理の後処理(後述するステップS110〜S112の処理)が行われて、1つのフェーズの順次処理が完了する。そして、通信制御部24は、ステップS102から新たなフェーズの処理を開始し、送信対象となるデータを構成する分割データの全ての送信完了するまで繰り返し同様のフェーズの処理(ステップS102〜S108の処理)が行われる。
【0058】
ステップS102では、1つのフェーズの中で、順次処理を行う順序を選択する処理であり、ここでは、優先経路kを最初に選択し、後は経路番号の昇順の順序で選択されるものとする。すなわち、初期の状態では、上述の通り、優先経路kは経路1であるので、経路1、経路2、経路3の順序で選択されることになる。また、例えば、優先経路が経路2の場合には、ステップS102では、経路2、経路1、経路3の順序で順次処理の経路選択が行われることになる。なお、ステップS102において、優先経路k以外の経路の選択順序については限定されないものである。
【0059】
そして、通信制御部24では、ステップS102で、順次処理の対象として選択された経路n(以下、「対象経路n」と呼ぶものとする)について、順次処理が開始されたものとする。まず、通信制御部24は、対象経路nの最新送出パケット受信フラグRnが有効となっているか否か確認する(S103)。対象経路nの最新送出パケット受信フラグRnが有効となっていた場合には、通信制御部24は、後述するステップS104の処理から動作する。一方、対象経路nの最新送出パケット受信フラグRnが無効となっていた場合には、通信制御部24は、後述するステップS108の処理から動作する。なお、初期状態では、上述の通り、全ての経路の最新送出パケット受信フラグRは無効になっている。また、Rnが有効になっている場合には、対象経路で送出された伝送パケットは全て受信側に到達していることを示すことになる。
【0060】
上述のステップS103において、順次処理で処理中の対象経路nの最新送出パケット受信フラグRnが無効となっている場合には、通信制御部24は、さらに、対象経路nの遅延カウンタPnの値を参照し、Pn=0となっているか否かを確認する(S108)。上述のステップS108において、Pn=0となっている場合には、通信制御部24は、後述するステップS105の処理から動作する。一方、上述のステップS108において、Pn=0となっていない場合には、通信制御部24は、後述するステップS109の処理から動作する。
【0061】
上述のステップS103において、対象経路nの最新送出パケット受信フラグRnが有効となっている場合には、通信制御部24は、受信フラグRnを無効に変更する(S104)。
【0062】
そして、上述のステップS104が完了した場合、又は、上述のステップS108でPn=0となっていた場合には、通信制御部24は、対象経路nの最新送出パケット番号Qnを、通し番号sに更新する(S105)。
【0063】
そして、通信制御部24は、対象経路nを介してデータ受信側通信装置30宛に通し番号sのパケットを送出し、さらに、経路管理テーブル25上の通し番号sの値をインクリメント(+1)する(S106)。
【0064】
そして、通信制御部24は、全ての経路の遅延カウンタP(P1〜P3)をデクリメント(−1)する(S107)。なお、通信制御部24は、遅延カウンタPが0の場合は、マイナスとせずに0のままにしておくものとする。
【0065】
次に、ステップS107の処理が完了した場合、又は、上述のステップS108でPn=0となっていなかった場合には、通信制御部24は、対象経路nについての順次処理を終了し、当該フェーズにおける次の対象経路の有無を確認する(S109)。当該フェーズにおける次の対象経路が無い場合、すなわち、当該フェーズにおいてすべての経路の順次処理が完了している場合には、通信制御部24は、後述するステップS110の処理に移行する。当該フェーズにおける次の対象経路が有る場合、すなわち、当該フェーズにおいてまだ順次処理が完了していない経路が存在する場合には、通信制御部24は、上述のステップS102の処理に戻って、次の対象経路の順次処理に移行する。
【0066】
当該フェーズにおいてすべての経路の順次処理が完了している場合には、通信制御部24は、最後に全ての経路の最新到着通し番号L(L1〜L3)を比較して、最も大きな値が確認出来た経路を優先経路kに指定する(S110)。
【0067】
そして、通信制御部24は、優先経路k以外の全ての経路の遅延カウンタPの再計算を行う(S111)。通信制御部24は、優先経路k以外の遅延カウンタPn=Lk−Lnとして再計算を行う。
【0068】
そして、通信制御部24は、優先経路kの遅延カウンタPkを「0」に設定(S112)して当該フェーズの処理を終了し、次のフェーズの処理を開始するために、上述のステップS102の処理に戻って動作する。
【0069】
次に、データ送信側通信装置20(通信制御部24)が、上述の図3〜図5のフローチャートに従って動作した場合の、通信システム10全体の動作について説明する。
【0070】
図6は、データ送信側通信装置20とデータ受信側通信装置30との間の通信について示したタイミングチャートである。
【0071】
図6では、経路1は経路2の1/3の伝送速度、経路3は経路2の1/7の伝送速度となっていた場合に、最も早い経路2の1.5倍の伝送速度のパケットを送出した場合の各通信装置のふるまいについて示している。なお、図6は、図の左から右方向への時間経過を基準とした伝送パケット送出及び応答パケット到達のタイミングについて示している。
【0072】
図6では、各パケットの送信又は到達タイミングを示す四角の枠内に、当該パケットの通し番号を付している。また、図6(a)の上段のパケット列は、データ送信側通信装置20が送信した伝送パケットの送信タイミングについて示している。さらに、図6(a)の下段のパケット列は、データ受信側通信装置30からの応答パケットが、データ送信側通信装置20に到達したタイミングを示している。さらにまた、図6(b)〜図6(d)に示すパケット列は、経路1〜経路3のそれぞれの経路の伝送パケット及び応答パケットについてそれぞれ示している。また、図6(b)〜図6(d)のそれぞれにおいて、上段のパケット列は、当該経路の伝送パケットの送信タイミングについて示しており、下段のパケット列は、当該経路の応答パケットの到達タイミングについて示している。すなわち、図6(a)に示すパケット列は、図6(b)〜図6(d)に示す各経路のパケット列を1つのパケット列で表わした内容となっている。
【0073】
図6(a)の上段のパケット列で、パケット列の上側に示した逆三角形のマークは、データ送信側通信装置20(通信制御部24)における各フェーズの処理(上述の図3、図4に示す1連の順次処理)の終了及び開始のタイミングを示している。また、図6(a)の上段のパケット列で、パケット列の下側に付した三角形のマークは、優先経路kが切り替わったタイミングを示している。さらに、以下では、データ送信側通信装置20が送信した通し番号nの伝送パケットを伝送パケットDSnと表わし、データ送信側通信装置20が受信した通し番号nの応答パケットを応答パケットDRnと表わすものとする。
【0074】
図7は、図6のタイミングチャートの各タイミングにおける経路管理テーブル25の内容について示している。図7に示すように、経路管理テーブル25の内容は、初期(タイミングT0において、図2と同様の内容となる。
【0075】
通信制御部24では、当初は各経路の伝送速度が不明であるため、図7に示すように、仮に経路1を優先経路kとして処理を開始する。このとき、通信制御部24では、経路2、経路3の動作は経路1に対して遅延差無し(すなわち、P1〜P3は全て0)の設定で順次処理される。その結果、通信制御部24では、経路2、経路3について優先経路である経路1と同数の1パケットが送信されることになる。すなわち、当初のフェーズでは、経路1〜経路3のパケットの転送割合は等分となる処理(等分処理)が行われることになる。そのため、図6、図7に示すように、当初のタイミングT0から始まるフェーズでは、経路1〜経路3に、それぞれ伝送パケットDS1〜DS3が送信される。また、その次のタイミングT1から始まるフェーズでは、経路1〜経路3に、それぞれ伝送パケットDS4〜DS6が送信される。
【0076】
そして、図6に示すように、通信制御部24では、タイミングT1から始まるフェーズが終了するタイミングT2までに、経路2に係る応答パケットDS2を受信している。そのため、タイミングT1から始まるフェーズが終了するタイミングT2で、優先経路kは経路2となり(上述のステップS110の処理)、各経路の遅延カウンタPの更新処理(上述のステップS111、S112の処理)が行われる。その結果、図7に示すように、P1=2、P2=0、P2=2となる。
【0077】
そして、次に、タイミングT2から新たなフェーズが開始されるが、この時点で、経路1と経路2の遅延カウンタはともに0とならないため、優先経路である経路2のみでパケット送信(伝送パケットDS7の送信、上述のステップS106の処理)が行われる。
【0078】
そして、タイミングT2から始まるフェーズが終了するまで(タイミングT3まで)に、通信制御部24では、経路1に係る応答パケットDS1が到達する。したがって、タイミングT2から始まるフェーズが終了する際の各経路の遅延カウンタPの更新処理(上述のステップS111、S112の処理)では、経路1の遅延カウンタP1は1(P1=L2−L1=2−1=1)となる。
【0079】
そして、次に、通信制御部24では、タイミングT3からのフェーズが開始され、最初に優先経路である経路2の順次処理によりパケット送信(伝送パケットDS8の送信、上述のステップS106の処理)が行われ、経路1の遅延カウンタP1及び経路3の遅延カウンタP3が−1される。その結果タイミングT4の時点で、P1=0となるため、経路1の順次処理においても伝送パケット送信(伝送パケットDS9の送信、上述のステップS106の処理)が行われ、さらに、経路3の遅延カウンタP3が−1される。その結果、タイミングT5の時点で、P3=0となるため、経路3の順次処理においても伝送パケット送信(伝送パケットDS10の送信、上述のステップS106の処理)が行われ、タイミングT6の時点で、タイミングT3から始まるフェーズの処理が終了する。
【0080】
そして、タイミングT3から始まるフェーズが終了するタイミングT6までの間に、経路2に係る、応答パケットDR5、DR7、DR8が、通信制御部24に到達している。したがって、タイミングT3から始まるフェーズが終了する際の各経路の遅延カウンタPの更新処理(上述のステップS111、S112の処理)では、P1=7、P2=0、P3=8となる。
【0081】
そして、タイミングT6からタイミングT7の間では、図6に示すように、優先経路である経路2に係る応答パケットが、次々と通信制御部24に到達する状態である。一方、経路1と経路3に係る応答パケットは、応答パケットDR4、DR3、DR13のみであり、経路2と比較して遅延カウンタの差が0とならないことから、優先経路(経路2)のみのパケット送出が行われる状態となっている。そして、図6に示すように、タイミングT6からタイミングT7の間で、経路2では7つの伝送パケットDS11〜DS17が送信されたものとする。
【0082】
そして、タイミングT7までの間に、通信制御部24では、経路1に係る応答パケットDR13が到達する。この時点で、最新到着パケット番号L1が最新送出パケット番号Q1と一致することから、経路1の最新送出パケット受信フラグR1が「有効」となる(上述のステップS204の処理)。
【0083】
そして、タイミングT7から始まるフェーズでは、まず、通信制御部24は、優先経路である経路2の順次処理により、パケット送信(伝送パケットDS18の送信、上述のステップS106の処理)が行われる。そして、次に、通信制御部24では、経路1の順次処理が行われるが、上述の通りこの時点で、経路1の最新送出パケット受信フラグR1が「有効」となっているため、上述のステップS103の判定により、遅延カウンタP1の値に関わらず、パケット送信(伝送パケットDS19の送信、上述のステップ106の処理)が行われる。また、この時点で、経路1の最新送出パケット受信フラグR1は「無効」に更新される(上述のステップS104の処理)。そして、次に、通信制御部24では、経路3の順次処理が行われるが、最新送出パケット受信フラグR3=無効であり、遅延カウンタP3の値も0とならないためパケット送信は行われず、当該フェーズの処理はタイミングT8の時点で終了する。
【0084】
そして、次に、タイミングT8からタイミングT9の間では、図6に示すように、優先経路である経路2に係る応答パケットが、次々と通信制御部24に到達する状態である。一方、経路1と経路3に係る応答パケットは少なく、遅延カウンタの差が0とならないことから、優先経路である経路2のみのパケット送出が行われる状態となっている。そして、図6に示すように、タイミングT8からタイミングT9の間で、経路2では6つの伝送パケットDS20〜DS25が送信されたものとする。
【0085】
また、図6に示すように、タイミングT8からタイミングT9の間において、通信制御部24では、経路1に係る応答パケットDR19が到達している。そのためタイミングT9で終了するフェーズにおいて、通信制御部24では、経路1に係る最新到着パケット番号L1が、L2よりも大きくなり、この時点で優先経路kは経路1となり(上述のステップS110の処理)、各経路の遅延カウンタPの更新処理(上述のステップS111、S112の処理)が行われる。その結果、図7に示すように、P1=0、P2=1、P2=13となる。
【0086】
そして、次に、通信制御部24では、タイミングT9から新たなフェーズが開始されると、まず優先経路である経路1の順次処理が行われ、伝送パケット送信(伝送パケットDS26の送信、上述のステップS106の処理)が行われ、さらに、経路2、3の遅延カウンタP2、P3が−1されて、P2=0、P3=13となる。そして、次に、通信制御部24では、経路2の順次処理が開始される。上述の通り、この時点で経路2の遅延カウンタP1=0となっているため、通信制御部24では、経路2の順次処理で伝送パケット送信(伝送パケットDS27の送信、上述のステップS106の処理)が行われる。そして、次に、通信制御部24では、経路3の順次処理が行われるが、この時点で経路3の遅延カウンタP3=0とならないため、伝送パケット送信は行われない。
【0087】
そして、図6に示すように、タイミングT9からタイミングT10の間において、通信制御部24では、経路2に係る応答パケットDR20が到達している。そのためタイミングT9から始まるフェーズにおいて、通信制御部24では、経路2に係る最新到着パケット番号L2が、L1よりも大きくなり、この時点で優先経路kは経路2となり(上述のステップS110の処理)、各経路の遅延カウンタPの更新処理(上述のステップS111、S112の処理)が行われる。その結果、図7に示すように、P1=1、P2=0、P2=17となる。
【0088】
以上のように、データ送信側通信装置20(通信制御部24)では上述の図3〜図5のフローチャートに示す処理が、繰り返し処理が行われる。また、図6に示すように、データ送信側通信装置20(通信制御部24)では、タイミングT10の時点で、応答パケットDR1〜20が受信されていることから、データ受信側通信装置30(通信制御部34)では、少なくとも伝送パケットDS1〜DS20が到達していることになる。したがって、タイミング10の時点で、データ受信側通信装置30(通信制御部34)では、少なくとも伝送パケットDS1〜DS20のデータを並べ替えて再構成することが可能となっていることになる。
【0089】
以上の通り、データ送信側通信装置20(通信制御部24)では、最新到着パケット番号Lが最も大きい経路(最も後の通し番号となっている経路)を、現時点で伝送遅延(送信パケットを送信してから応答パケットを受信するまでの時間)の最も少ない経路と推定し、当該経路を優先経路kとして指定している。そして、通信制御部24では、現時点の優先経路kに、優先的に送信パケットを割り当てている。
【0090】
また、通信制御部24において、優先経路k以外の経路については、優先経路kと比較して、どの程度伝送遅延が長くなっているのかを図る尺度として遅延カウンタPを設け、遅延カウンタPが0になった段階で、当該経路でのパケット送信を行っている。
【0091】
さらに、通信制御部24において、優先経路k以外の経路については、遅延カウンタPが0とならない場合でも、既に送信している送信パケットに対する応答パケットが全て受信された場合(すなわち、最新送出パケット番号Q=最新送出パケット受信フラグRの場合)には、最新送出パケット受信フラグRを「有効」とし、当該経路でのパケット送信を行っている。
【0092】
以上のように、通信制御部24では、各経路の遅延量に応じたパケット数が割り当てられる。この結果、長期的に連続したパケット転送が行われる状態において、帯域を有効に活用しつつ最も小さい遅延量で伝送される状態となる。
【0093】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0094】
データ送信側通信装置20は、データ受信側通信装置30からの応答パケットの受信状況に応じて経路管理テーブル25の内容を更新し、経路管理テーブル25の内容に基づいて、優先経路kを決定している。そして、データ送信側通信装置20は、優先経路kに優先的に伝送パケットを供給し、他の経路については、伝送パケットが全て受信側に到達した場合や、遅延量(遅延カウンタ)の少ない場合に、伝送パケットを割り当てている。すなわち、データ送信側通信装置20は、優先経路k以外の経路については、各経路の遅延量の少なさに応じた数の伝送パケット数を割り当て、効率的に伝送可能な最大容量で、伝送パケットを送信することが出来る。この方法によるパケット伝送の特徴は、伝送速度の最も早い経路の遅延量に合わせる動作が行われるため、伝送速度の速い経路が優先利用され、伝送速度が遅く遅延が大きくなりやすい経路は帯域が充足している限り自動的にほとんど利用されなくなる動作となることである。
【0095】
また、この実施形態において、データ送信側通信装置20とデータ受信側通信装置30との間では、簡易な手順のみで、さらに事前に伝送性能や伝送内容等の指定を行うことなく、効率的なマルチリンク通信を実現している。
【0096】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0097】
(B−1)上記の実施形態では、データ受信側通信装置30からデータ送信側通信装置20へ、受信した伝送パケットの通し番号をフィードバックする方法として、応答パケットを用いる例について説明したが、フィードバックの方法自体は限定されないものである。ただし、データ受信側通信装置30からのフィードバックは、伝送パケット受信時点での各経路で受信したタイミング・順番及び送信側への通知の情報更新が早いほど好ましい。
【0098】
(B−2)上記の実施形態では、データ受信側通信装置30とデータ受信側通信装置30との間を流れるパケット(フレーム)はIPパケットの形式であるものとして説明したが、パケットの形式は限定されないものである。
【0099】
(B−3)上記の実施形態では、データ送信側通信装置20からデータ受信側通信装置30へ送信する伝送パケットが、到達できなかった場合の手順異常対策や再送処理については説明を省略しているが、手順異常対策や再送処理の方法については限定されないものである。例えば、データ受信側通信装置30側では受信した伝送パケットの通し番号により、伝送パケットの欠落を検知することができるため、欠落した伝送パケットだけを、データ送信側通信装置20に通知又は再送要求するようにしても良い。
【0100】
(B−4)上記の実施形態では、データ送信側通信装置20の通信制御部24が、上位層から供給された送信対象のデータを分割し、その分割データを伝送パケットに挿入して送信していたが、単に上位層から供給されたデータ(伝送パケットに挿入可能な長さのデータ)を、伝送パケット(通し番号が付与されたもの)に挿入して送信するようにしても良い。
【符号の説明】
【0101】
1、2、3…経路、10…通信システム、20…データ送信側通信装置、21…制御部、22…送受信部、23、23−1〜23−3…インタフェース、24…通信制御部、25…経路管理テーブル、30…データ受信側通信装置、31…制御部、32…送受信部、33…インタフェース、34…通信制御部、N…ネットワーク。

【特許請求の範囲】
【請求項1】
データ受信側通信装置と、データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により、データ受信側通信装置に送信するデータ送信側通信装置とを備える通信システムにおいて、
上記データ送信側通信装置は、
それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、
上記伝送パケット保持手段が保持した伝送パケットを、通し番号の順序で、いずれかの上記経路を用いて、上記データ受信側通信装置へ送出する伝送パケット送信手段と、
上記データ受信側通信装置に到達した伝送パケットの通し番号の情報を含む到着通知を、上記データ受信側通信装置から受信する通知受信手段と、
上記経路ごとの到着通知の受信状況に応じて、それぞれの上記経路に送出する伝送パケットに対する送出割合を決定し、決定した送出割合で、それぞれの上記経路へ伝送パケットが送出されるように、上記伝送パケット送信手段を制御する伝送パケット送信制御手段とを有し、
上記データ受信側通信装置は、
上記データ送信側通信装置から送出された伝送パケットを受信する伝送パケット受信手段と、
上記伝送パケット受信手段が受信した伝送パケットから通し番号の情報を抽出し、上記データ送信側通信装置へ、当該通し番号の情報を含む到着通知を送信する通知送信手段とを有する
ことを特徴とする通信システム。
【請求項2】
上記伝送パケット送信制御手段は、伝送パケットを送信してから、当該伝送パケットに対応する応答通知を受信するまでの遅延が最も小さいと推定できる上記経路に、もっとも大きい送出割合を割当てることを特徴とする請求項1に記載の通信システム。
【請求項3】
上記伝送パケット送信制御手段は、現在受信している応答通知の通し番号が、最も後の番号となっている上記経路を、最も遅延の小さい経路と推定することを特徴とする請求項2に記載の通信システム。
【請求項4】
データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により、データ受信側通信装置に送信するデータ送信側通信装置において、
それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、
上記伝送パケット保持手段が保持した伝送パケットを、通し番号の順序で、いずれかの上記経路を用いて、上記データ受信側通信装置へ送出する伝送パケット送信手段と、
上記データ受信側通信装置に到達した伝送パケットの通し番号の情報を含む到着通知を、上記データ受信側通信装置から受信する通知受信手段と、
上記経路ごとの到着通知の受信状況に応じて、それぞれの上記経路に送出する伝送パケットに対する送出割合を決定し、決定した送出割合で、それぞれの上記経路へ伝送パケットが送出されるように、上記伝送パケット送信手段を制御する伝送パケット送信制御手段と
を有することを特徴とするデータ送信側通信装置。
【請求項5】
データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により送信するデータ送信側通信装置から、伝送パケットを受信するデータ受信側通信装置において、
上記データ送信側通信装置から送出された、通し番号の情報を含む伝送パケットを受信する伝送パケット受信手段と、
上記伝送パケット受信手段が受信した伝送パケットから通し番号の情報を抽出し、上記データ送信側通信装置へ、当該通し番号の情報を含む到着通知を送信する通知送信手段と
を有することを特徴とするデータ受信側通信装置。
【請求項6】
データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により、データ受信側通信装置に送信するデータ送信側通信装置に搭載されたコンピュータを、
それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、
それぞれ通し番号の情報が付与された複数の伝送パケットを保持する伝送パケット保持手段と、
上記伝送パケット保持手段が保持した伝送パケットを、通し番号の順序で、いずれかの上記経路を用いて、上記データ受信側通信装置へ送出する伝送パケット送信手段と、
上記データ受信側通信装置に到達した伝送パケットの通し番号の情報を含む到着通知を、上記データ受信側通信装置から受信する通知受信手段と、
上記経路ごとの到着通知の受信状況に応じて、それぞれの上記経路に送出する伝送パケットに対する送出割合を決定し、決定した送出割合で、それぞれの上記経路へ伝送パケットが送出されるように、上記伝送パケット送信手段を制御する伝送パケット送信制御手段と
して機能させることを特徴とするデータ送信側通信プログラム。
【請求項7】
データが挿入された複数の伝送パケットを、複数の経路を束ねた通信により送信するデータ送信側通信装置から、伝送パケットを受信するデータ受信側通信装置に搭載されたコンピュータを、
上記データ送信側通信装置から送出された、通し番号の情報を含む伝送パケットを受信する伝送パケット受信手段と、
上記伝送パケット受信手段が受信した伝送パケットから通し番号の情報を抽出し、上記データ送信側通信装置へ、当該通し番号の情報を含む到着通知を送信する通知送信手段と
して機能させることを特徴とするデータ受信側通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−244490(P2012−244490A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−113883(P2011−113883)
【出願日】平成23年5月20日(2011.5.20)
【出願人】(503262509)株式会社オー・エフ・ネットワークス (62)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【出願人】(000005186)株式会社フジクラ (4,463)
【Fターム(参考)】