(57)【要約】【課題】複数の通信経路を用いた通信において、負荷分散を行いつつパケットのロスや送信の遅延を抑制することができる通信装置を得る。【解決手段】通信装置を、通信手段１と、経路情報生成手段２と、負荷監視手段３と、通信制御手段４を備える構成とする。通信手段１は、複数の通信経路を有するネットワークに接続された複数のポートを介して、データの送受信を行う。経路情報生成手段２は、ポートと、それぞれの接続先のポートとの対応を基に、通信経路の情報を取得する。負荷監視手段３は、通信経路ごとの負荷状態を監視する。通信制御手段４は、負荷状態の監視結果に基づいて、パケットの送信を行う通信経路を選択し、選択した通信経路に基づいたアドレスの情報をパケットに付加して、選択した通信経路に応じたポートに出力する。【選択図】      図１
2017092665.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信経路を有する単一のネットワークに接続された複数のポートを介して、データの送受信を行う通信手段と、
複数の前記ポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、前記通信経路の情報を生成する経路情報生成手段と、
前記通信経路ごとの負荷状態を監視する負荷監視手段と、
前記負荷状態の監視結果に基づいて、複数の前記通信経路からパケットの送信を行う前記通信経路を選択し、選択した前記通信経路に基づいたアドレスの情報を前記パケットに付加して、選択した前記通信経路に応じた前記ポートに出力する通信制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
送信用の前記パケットのデータを保持し、前記通信制御手段の割り当て結果に基づいて保持した前記パケットのコピーを出力するデータ保持手段をさらに備え、
前記通信制御手段は、接続先の通信装置から前記パケットの再送要求を受けたときに、前記データ保持手段に保持された前記パケットのデータのコピーを再度、出力するように制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信制御手段は、前記パケットを再送する際に、前記負荷状態の監視結果を再度、参照して前記パケットの割当先の前記ポートを決定することを特徴とする請求項１または２いずれかに記載の通信装置。
【請求項４】
前記負荷監視手段は、前記負荷状態として前記通信経路ごとの余剰帯域を算出し、
前記通信制御手段は、前記余剰帯域が最も大きい前記通信経路に対応した前記ポートに送信する前記パケットの割り当てを行うことを特徴とする請求項１から３いずれかに記載の通信装置。
【請求項５】
請求項１から４いずれかに記載の通信装置からなる送信装置と、
複数のポートを介してネットワークに接続され、データの送受信を行うデータ通信手段と、前記ポートのアドレスの情報を前記ネットワークに送信する制御手段と、を有する通信装置からなる受信装置と、
を備え、
前記送信装置の前記経路情報生成手段は、前記受信装置から前記ネットワークを介して送られてくる前記アドレスの情報を基に、前記通信経路の情報を生成することを特徴とする通信システム。
【請求項６】
複数の通信経路を有する単一のネットワークに接続された複数のポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、前記通信経路の情報を生成し、
前記通信経路ごとの負荷状態を監視し、
前記負荷状態の監視結果に基づいて、複数の前記通信経路からパケットの送信を行う前記通信経路を選択し、選択した前記通信経路に基づいたアドレスの情報を前記パケットに付加して、選択した前記通信経路に応じた前記ポートに出力し、
前記ポートから前記ネットワークに前記パケットを送信することを特徴とする通信方法。
【請求項７】
送信用の前記パケットのデータを保持し、
保持した前記パケットのコピーに前記アドレスの情報を付加して前記ポートに出力し、
接続先の通信装置から前記パケットの再送要求を受けたときに、保持している前記パケットのデータのコピーを再度、出力することを特徴とする請求項６に記載の通信方法。
【請求項８】
前記パケットを再送する際に、前記負荷状態の監視結果を再度、参照して前記通信経路を選択することを特徴とする請求項６または７いずれかに記載の通信方法。
【請求項９】
前記負荷状態として前記通信経路ごとの余剰帯域を算出し、
前記余剰帯域が最も大きい前記通信経路を、前記パケットを送信する前記通信経路として選択することを特徴とする請求項６から８いずれかに記載の通信方法。
【請求項１０】
前記ネットワークを介して送られてくる前記アドレスの情報を基に、前記通信経路の情報を生成することを特徴とする請求項６から９いずれかに記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関するものであり、特に、複数のポートを介して通信を行う通信装置に関するものである。
【背景技術】
【０００２】
データ通信量の増大への対応や可用性を高めるための冗長化などによって、複数のポートを介してネットワークに接続された通信装置を備える通信システムが用いられることがある。ネットワーク上の複数の通信経路で通信を行う通信システムでは、高可用化や遅延の低減のため、通信経路において負荷が増大や障害が生じた場合に、通信装置のポートの切り替えに要する時間が出来るだけ抑制されていることが望ましい。また、ネットワークの負荷や使用可能な通信経路に応じて、適切に通信経路の選択を行えることが望ましい。
【０００３】
複数のポートによってネットワークに接続された通信装置は、データ送信を各ポートに分散させて行うためのロードバランサ機能を備えていることがある。しかし、複数の通信経路に負荷分散させて通信を行う場合にも、通信経路の選択を適切に行わないとパケットのロスや送信の遅延が生じうる。パケットのロスや送信の遅延は、通信の品質を低下させるため出来るだけ抑制されている必要がある。そのため、複数の通信経路を介して通信を行う通信システムにおいて、負荷分散を行いつつパケットのロスや送信の遅延を抑制する技術の開発が行われている。そのような複数の通信経路を介して通信を行う通信システムにおいて、負荷分散を行いつつパケットのロスや送信の遅延を抑制する技術としては、例えば、特許文献１のような技術が開示されている。
【０００４】
特許文献１は、送信装置と受信装置が複数のネットワークを介して通信を行う通信システムに関するものである。特許文献１の通信システムの送信装置と受信装置は、複数のネットワークを介して互いに接続されている。特許文献１の通信システムでは、送信装置の複数のポートと、受信装置の複数のポートがそれぞれ１対１で対応し、各ネットワークに接続されている。また、特許文献１の送信装置は、送信するパケットを順に各ポートに割り当てることで負荷分散を行って通信を行っている。
【０００５】
特許文献１の受信装置は、ポートごとに備えられたバッファに保持されたパケットを、シーケンス番号を基に監視することで各ポートを介して受信したパケットロスを検出している。特許文献１の受信装置は、パケットロスが検出された際に通信装置にパケットの再送を要求している。特許文献１は、このような構成を備えることで、負荷分散を行って複数の経路で通信を行っている通信システムにおいてパケットロスの影響を抑制することができるとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−５５４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術は次のような点で十分ではない。特許文献１の通信システムでは、送信装置と受信装置のポートがそれぞれ１対１で固定的に組み合されている。また、各ポートの組は、それぞれ異なるネットワークに対応している。そのため、特許文献１の技術では、単一のネットワークに複数のポートを介して接続された通信装置を備えた通信システムにおいて、故障時等に経路の組み換えを行う場合には対応できない。また、特許文献１では、各ポートに順に送信パケットの割り当てを行っているため、負荷の大きなネットワークにもパケットの割り当てが行われる。そのため、特許文献１の通信システムではパケットの伝送に遅延が生じる恐れがある。よって、特許文献１は、複数の経路を介して通信を行う通信システムにおいて、負荷分散を行いつつパケットのロスや送信の遅延を抑制するための技術としては十分ではない。
【０００８】
本発明は、上記の課題を解決するため、複数の通信経路を用いた通信において、負荷分散を行いつつパケットのロスや送信の遅延を抑制することができる通信装置を得ることを目的としている。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明の通信装置は、通信手段と、経路情報生成手段と、負荷監視手段と、通信制御手段を備えている。通信手段は、単一のネットワークに接続された複数のポートを介して、データの送受信を行う。経路情報生成手段は、複数のポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、通信経路の情報を生成する。負荷監視手段は、通信経路ごとの負荷状態を監視する。通信制御手段は、負荷状態の監視結果に基づいて、複数の通信経路からパケットの送信を行う通信経路を選択し、選択した通信経路に基づいたアドレスの情報をパケットに付加して、選択した通信経路に応じたポートに出力する。
【００１０】
本発明の通信方法は、複数の通信経路を有する単一のネットワークに接続された複数のポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、通信経路の情報を生成する。本発明の通信方法は、通信経路ごとの負荷状態を監視する。本発明の通信方法は、負荷状態の監視結果に基づいて、複数の通信経路からパケットの送信を行う通信経路を選択し、選択した通信経路に基づいたアドレスの情報をパケットに付加して、選択した通信経路に応じたポートに出力する。本発明の通信方法は、ポートからネットワークにパケットを送信する。
【発明の効果】
【００１１】
本発明によると、複数の通信経路を用いた通信において、負荷分散を行いつつパケットのロスや送信の遅延を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態の構成の概要を示す図である。
【図２】本発明の第２の実施形態の構成の概要を示す図である。
【図３】本発明の第２の実施形態の送信装置の構成の概要を示す図である。
【図４】本発明の第２の実施形態の受信装置の構成の概要を示す図である。
【図５】本発明の第２の実施形態における経路情報の例を示す図である。
【図６】本発明の第２の実施形態における経路情報の例を示す図である。
【図７】本発明の第２の実施形態における経路情報の例を示す図である。
【図８】本発明の第２の実施形態の送信装置の動作フローを示す図である。
【図９】本発明の第２の実施形態の受信装置の動作フローを示す図である。
【図１０】本発明の第２の実施形態における帯域情報の例を示す図である。
【図１１】本発明の第２の実施形態における帯域情報の例を示す図である。
【図１２】本発明の第２の実施形態における経路情報と帯域情報の例を示す図である。
【図１３】本発明の第２の実施形態における経路情報と帯域情報の変化の例を示す図である。
【図１４】本発明の第２の実施形態における経路情報と帯域情報の変化の例を示す図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
本発明の第１の実施形態について図を参照して詳細に説明する。図１は、本実施形態の通信装置の構成の概要を示したものである。本実施形態の通信装置は、通信手段１と、経路情報生成手段２と、負荷監視手段３と、通信制御手段４を備えている。通信手段１は、複数の通信経路を有する単一のネットワークに接続された複数のポートを介して、データの送受信を行う。経路情報生成手段２は、複数のポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、通信経路の情報を生成する。負荷監視手段３は、通信経路ごとの負荷状態を監視する。通信制御手段４は、負荷状態の監視結果に基づいて、複数の通信経路からパケットの送信を行う通信経路を選択し、選択した通信経路に基づいたアドレスの情報をパケットに付加して、選択した通信経路に応じたポートに出力する。
【００１４】
本実施形態の通信装置は、経路情報生成手段２において複数の通信経路の情報を取得し、負荷監視手段３において通信経路ごとの負荷状態を監視している。本実施形態の通信装置では、通信制御手段４が通信経路の情報および負荷状態を基にパケットの送信を行う通信経路を選択し、対応したポートからパケットの送信が行われている。そのため、本実施形態の通信装置は、通信経路の情報および通信経路ごとの負荷情報を基に、通信経路を選択してパケットを送信することで、適切な通信経路を選択して負荷分散を行うことができる。また、本実施形態の通信装置は、通信経路上で障害や負荷の増大が発生した際に、他の通信経路を選択して通信を行うことができ、パケットのロスや送信の遅延を抑制することができる。その結果、本実施形態の通信装置は、複数の通信経路を用いた通信において、負荷分散を行いつつパケットのロスや送信の遅延を抑制することができる。
【００１５】
（第２の実施形態）
本発明の第２の実施形態について図を参照して詳細に説明する。図２は、本実施形態の通信システムの構成の概要を示したものである。本実施形態の通信システムは、送信装置１０と、受信装置２０を備えている。また、送信装置１０と受信装置２０は、ネットワーク３０を介して接続されている。本実施形態の通信システムは、複数の通信経路で構成されたネットワーク３０を介して送信装置１０から受信装置２０にデータの送信を行うネットワークシステムである。
【００１６】
図３は、本実施形態の送信装置１０の構成の概要を示したものである。送信装置１０は、データ送信部１１と、ＳＥＱ（sequence）付与部１２と、再送バッファ部１３と、再送タイマ部１４と、通信制御部１５と、経路状態監視部１６と、帯域監視部１７と、第１のポート４１と、第２のポート４２を備えている。通信制御部１５は、アドレス変換部６１をさらに備えている。
【００１７】
データ送信部１１は、受信装置２０に送信するデータを生成する機能を有する。データ送信部１１は、受信装置２０に送信するデータを生成し、生成したデータをＳＥＱ付与部１２に送る。データ送信部１１は、例えば、サーバにおけるアプリケーションプログラムの実行ユニットが相当する。
【００１８】
ＳＥＱ付与部１２は、受信装置２０に送信するパケットを生成する機能を有する。ＳＥＱ付与部１２は、データ送信部１１から送られてきたデータをネットワーク３０で伝送する際の所定の大きさのパケットに分割する。ＳＥＱ付与部１２は、データを分割して生成したパケットに、パケットの転送に必要なアドレスやシーケンス番号の情報を付加する。ＳＥＱ付与部１２は、例えば、送信先となる受信装置２０と送信元となる自装置のいずれかのポートに対応したＭＡＣ（Media Access Control）アドレスを送信先および送信元のアドレスとしてパケットのヘッダに付加する。ＳＥＱ付与部１２で付加されるＭＡＣアドレスは、ダミーのアドレス情報でもよい。
【００１９】
ＳＥＱ付与部１２は、ヘッダ等の情報を付加すると、ヘッダ等の情報を付加したパケットを再送バッファ部１３に送る。
【００２０】
再送バッファ部１３は、ＳＥＱ付与部１２から送られてくるパケットのデータを保存し、所定のタイミングで通信制御部１５に出力する機能を有する。再送バッファ部１３は、ＳＥＱ付与部１２からパケットのデータが送られてくると、送られてきたデータを保存する。再送バッファ部１３は、あらかじめ定められた速さと個数で保存したパケットのデータのコピーを通信制御部１５に出力する。また、一連のデータを分割したパケットのうち最初のパケットのデータのコピーを出力すると、再送バッファ部１３は、再送タイマ部１４の動作を開始させる。再送バッファ部１３は、先に保存されたパケットから順に通信制御部１５に出力する。すなわち、再送バッファ部１３はＦＩＦＯ（First In, First Out）バッファとして動作する。
【００２１】
再送バッファ部１３は、受信装置２０からＡＣＫ（acknowledge）パケットとして送られてくる送達確認パケットに示されているシーケンス番号よりも小さいシーケンス番号のパケットのデータを消去する。また、再送バッファ部１３は、再送要求を受け取ると、再送要求に示されているシーケンス番号以下のシーケンス番号のパケットのデータのコピーを通信制御部１５に出力する。
【００２２】
再送バッファ部１３は、所定の時間が経過したことを示す情報を再送タイマ部１４から受け取ると、再送が必要であると判断して保持しているパケットのデータのコピーを通信制御部１５に出力する。
【００２３】
再送タイマ部１４は、再送バッファ部１３の制御に基づいて所定の時間を計測する機能を有する。再送タイマ部１４は、再送バッファ部１３から時間の計測の開始またはリセットの制御信号を受け取ると、所定の時間の計測を開始する。再送タイマ部１４は、計測の開始から所定の時間が経過すると、所定の時間が経過したことを示す信号を再送バッファ部１３に送る。所定の時間は、受信装置２０からパケットの送達確認の通知として受け取るＡＣＫパケットを、受信装置２０が送信する間隔よりも長くなるように設定されている。所定の時間は、ＡＣＫパケットの送信間隔を基にあらかじめ設定されている。
【００２４】
通信制御部１５は、再送バッファ部１３から送られてくるパケットを各ポートに振り分ける機能を有する。通信制御部１５は、経路情報および帯域監視部１７が行っているネットワーク３０の負荷状態の監視結果に基づいてパケットの送信に用いる通信経路を選択する。通信制御部１５は、選択した通信経路に応じたポートにパケットを振り分ける。パケットの振り分けを行う際に、通信制御部１５は、アドレス変換部６１においてパケットの送信元と送信先のアドレスの情報を、経路情報に基づいて振り分け先の送信元のポートおよび送信先のポートに応じたアドレスに書き換える。アドレス変換部６１は、経路状態監視部１６が生成した経路情報を保存している。経路情報とは、送信元のポートのＭＡＣアドレスと、送信先の受信装置２０のポートのＭＡＣアドレスと、通信経路の使用可否の情報が互いに関連づけられた情報のことをいう。
【００２５】
通信制御部１５は、アドレスの情報を書き換えたパケットを送信元のＭＡＣアドレスに対応するポートにそれぞれ出力する。また、本実施形態の通信制御部１５は、第１の実施形態の通信制御手段４に相当する。
【００２６】
経路状態監視部１６は、経路情報の管理を行う機能を有する。経路状態監視部１６は、受信装置２０からブロードキャストパケットとして送信されてくるパケットを基に、送信元である受信装置２０のＭＡＣアドレスと、パケットを受信した自装置のポート間の経路情報を生成し、経路情報テーブルとして保存する。経路情報テーブルでは、通信先のＭＡＣアドレスと、自装置のＭＡＣアドレスと、経路の使用可否の情報が関連づけられて経路情報として保存されている。
【００２７】
経路状態監視部１６は、パケットを全く受け取っていない経路および前回、パケットを受け取ってから所定の時間以上、継続して受け取っていない経路については、使用不可として経路情報テーブルを更新する。経路状態監視部１６は、一度、使用不可とした経路について、再度、パケットを受信した場合には、使用可として経路情報テーブルを更新する。経路状態監視部１６は、経路情報テーブルを更新すると、更新した経路情報テーブルをアドレス変換部６１に送る。また、本実施形態の経路状態監視部１６は、第１の実施形態の経路情報生成手段２に相当する。
【００２８】
帯域監視部１７は、ネットワーク３０の負荷状態を監視する機能を有する。帯域監視部１７は、送信装置１０のポートと受信装置２０のポートの組み合わせごとにデータ通信量を監視する。本実施形態の帯域監視部１７は、送信装置１０の側で管理可能な送信帯域と、受信装置２０から送られてくる情報を基に得られるネットワーク帯域を監視する。本実施形態において、送信帯域は、時間当たりの送信データ量のことをいう。また、ネットワーク帯域は、時間当たりに送信することのできるデータ量のことをいう。ネットワーク帯域は、例えば、時間当たりに送信を完了したデータ量の最大値として設定される。ネットワーク帯域の初期値は、送信装置１０のリンク速度を超えない範囲で設定される。
【００２９】
帯域監視部１７は、例えば、第１のポート４１および第２のポート４２から送信されたパケットのデータ量を監視し、時間当たりのデータ量を算出することで送信帯域の情報を生成する。単位時間は、例えば、１秒として設定される。また、帯域監視部１７は、例えば、一定期間内に送信を完了したデータの最大値を保存し、最大値の値をネットワーク帯域とする。例えば、ネットワーク帯域は、時間あたりに送達完了通知を受け取ったパケットのデータ量の最大値とすることができる。帯域監視部１７は、受信装置２０から送信される通信経路ごとに受信したデータ量を基に、ネットワーク帯域の情報を得るようにしてもよい。また、ネットワーク帯域は、送信装置１０と受信装置２０の間で試験信号を送受信することによって計測されてもよい。
【００３０】
帯域監視部１７は、ネットワーク帯域から送信帯域を引いて余剰ネットワーク帯域を算出する。帯域監視部１７は、所定の時間ごとに送信帯域、ネットワーク帯域および余剰ネットワーク帯域を互いに関連づけたデータテーブルを負荷情報として生成し通信制御部１５に送る。また、経路情報が更新された際に、通信経路ごとの負荷状態を示す帯域情報が更新されるようにしてもよい。本実施形態の帯域監視部１７は、第１の実施形態の負荷監視手段３に相当する。
【００３１】
第１のポート４１は、ネットワーク３０を介して受信装置２０との通信を行う機能を有する。第１のポート４１は、通信制御部１５から送られてきたパケットのデータをネットワーク３０の通信規格に合わせた信号に変換して、ネットワーク３０に送信する。また、第１のポート４１は、ネットワーク３０を介して受信したデータを、送信装置１０の内部で用いる形態の信号に変換して通信制御部１５に送る。
【００３２】
第２のポート４２は、ネットワーク３０を介して受信装置２０との通信を行う機能を有する。第２のポート４２は、通信制御部１５から送られてきたパケットのデータをネットワーク３０の通信規格に合わせた信号に変換して、ネットワーク３０に送信する。また、第２のポート４２は、ネットワーク３０を介して受信したデータを、送信装置１０の内部で用いる形態の信号に変換して通信制御部１５に送る。
【００３３】
本実施形態の第１のポート４１および第２のポート４２は、連続した番号のＭＡＣアドレスをそれぞれ有している。ＭＡＣアドレスを連続した番号にすることで、受信側での管理が容易になる。ＭＡＣアドレスには、通常、４８ｂｉｔの文字列が用いられるが、例えば連続した番号の２つのＭＡＣアドレスを使うと、下位１ｂｉｔを無視して、上位４７ｂｉｔのみで送信元の送信装置１０を特定することが可能になる。第１のポート４１および第２のポート４２のＭＡＣアドレスは、連続した番号でなくてもよい。連続した番号では無い場合には、受信側での特定を容易にするため第１のポート４１および第２のポート４２のＭＡＣアドレスに規則性があることが望ましい。また、本実施形態の第１のポート４１および第２のポート４２は、第１の実施形態の通信手段１に相当する。
【００３４】
図４は、本実施形態の受信装置２０の構成の概要を示したものである。受信装置２０は、データ受信部２１と、ＳＥＱ削除部２２と、出力バッファ部２３と、取出制御部２４と、第１の順序バッファ部２５と、第２の順序バッファ部２６を備えている。また、受信装置２０は、ブロードキャスト送信部２７と、ＡＣＫ送信部２８と、欠落検出部２９をさらに備えている。また、受信装置２０は、第１のポート５１と、第２のポート５２をさらに備えている。出力バッファ部２３は、アドレス変換部７１をさらに備えている。
【００３５】
データ受信部２１は、送信装置１０から受信したデータを処理する機能を有する。データ受信部２１は、ＳＥＱ削除部２２から入力されるデータを基に、各処理を行う。データ受信部２１は、例えば、クライアント側の情報処理装置のアプリケーションプログラムの実行ユニットが相当する。
【００３６】
ＳＥＱ削除部２２は、パケットのデータからヘッダ情報等を削除する機能を有する。ＳＥＱ削除部２２は、出力バッファ部２３から入力されるパケットからアドレスの情報やシーケンス番号等を削除する。ＳＥＱ削除部２２は、ヘッダ情報等を削除したパケットのデータをデータ受信部２１に出力する。
【００３７】
出力バッファ部２３は、各順序バッファ部からパケットを受け取り、一時保存する機能を有する。出力バッファ部２３は、第１の順序バッファ部２５および第２の順序バッファ部２６からシーケンス番号の順にパケットを受け取り、一時保存する。出力バッファ部２３は、取出制御部２４の制御に基づいて、保存したパケットを保存した順にＳＥＱ削除部２２に出力する。すなわち、出力バッファ部２３はＦＩＦＯバッファとして動作する。
【００３８】
また、出力バッファ部２３のアドレス変換部７１は、一時保存されたパケットのヘッダの情報の送信先と送信元のＭＡＣアドレスの情報を変換する。例えば、２つのポートのＭＡＣアドレスが連続した番号であるとき、出力バッファ部２３のアドレス変換部７１は、ＭＡＣアドレスの下位１ｂｉｔを「０」に変換する。各ポートのＭＡＣアドレスが連続した番号でないときは、ＭＡＣアドレスの採番の規則性に従って変換が行われる。アドレス変換の規則は、アドレス変換部７１にあらかじめ保存されている。  取出制御部２４は、各順序バッファ部から出力バッファ部２３にパケットがシーケンス番号の順に送られるように各順序バッファ部を制御する機能を有する。取出制御部２４は、第１の順序バッファ部２５および第２の順序バッファ部２６の先頭に保存されているパケットのシーケンス番号を参照し、出力バッファ部２３にパケットが出力されるように制御する。また、取出制御部２４は、第１の順序バッファ部２５および第２の順序バッファ部２６に出力を終えたパケットのシーケンス番号の次の番号のパケットが存在しないとき、欠落検出部２９にパケットの出力が完了したことを示す情報を完了通知として送る。
【００３９】
第１の順序バッファ部２５は、ネットワーク３０を介して送信装置１０から受信したパケットのデータを、保存の要否を判断して一時保存する機能を有する。また、第１の順序バッファ部２５は、取出制御部２４の制御に基づいて出力バッファ部２３に出力する機能を有する。第１の順序バッファ部２５は、ネットワーク３０を介して受信したパケットのデータを第１のポート５１から受け取ると、受け取ったデータを保存する。第１の順序バッファ部２５は、パケットのデータを保存するとパケットを保存したことを示す情報を格納完了通知として取出制御部２４に送る。
【００４０】
第１の順序バッファ部２５は、パケットを保存すると、新たに受け取ったパケットのシーケンス番号と既に保存しているパケットのシーケンス番号を比較する。新たに受け取ったパケットのシーケンス番号が既に保存しているシーケンス番号以下のとき、第１の順序バッファ部２５はパケットの再送が発生したと判断して、既に保存されているパケットのデータを廃棄する。新たに受け取ったパケットのシーケンス番号が既に保存しているシーケンス番号より大きいとき、新たに受け取ったパケットのデータを保持する。
【００４１】
第１の順序バッファ部２５は、取出制御部２４の制御に基づいて保存された順にパケットのデータを出力バッファ部２３に出力する。すなわち、第１の順序バッファ部２５は、ＦＩＦＯバッファとして機能する。
【００４２】
第２の順序バッファ部２６は、第１の順序バッファ部２５と同様の機能を有する。第２の順序バッファ部２６は、ネットワーク３０を介して受信したパケットのデータを第２のポート５２から受け取ると、受け取ったデータを保存する。第２の順序バッファ部２６は、パケットのデータを保存すると、パケットを保存したことを示す情報を格納完了通知として取出制御部２４に送る。
【００４３】
第２の順序バッファ部２６は、パケットを保存すると、新たに受け取ったパケットのシーケンス番号と既に保存しているパケットのシーケンス番号を比較する。新たに受け取ったパケットのシーケンス番号が既に保存しているシーケンス番号以下のとき第２の順序バッファ部２６はパケットの再送が発生したと判断して、既に保存されているパケットのデータを廃棄する。新たに受け取ったパケットのシーケンス番号が既に保存しているシーケンス番号より大きいとき、新たに受け取ったパケットのデータを保持する。第２の順序バッファ部２６は、取出制御部２４の制御に基づいて保存された順にパケットのデータを出力バッファ部２３に出力する。
【００４４】
第１の順序バッファ部２５、第２の順序バッファ部２６および取出制御部２４は、送信装置１０から各ポートが単位時間あたりに受信したデータ量を計測する機能を備えていてもよい。各ポートが単位時間あたりに送信装置１０から受信したデータ量を計測する機能を備える構成とした場合には、所定の時間ごとに単位時間あたりに受信したデータ量の情報が、各ポートを介して送信装置１０に送られる。単位時間あたりに送信装置１０から受信したデータ量の情報は、送信装置１０においてネットワーク帯域の情報を生成する際に用いられる。
【００４５】
ブロードキャスト送信部２７は、受信装置２０の各ポートのＭＡＣアドレスの情報を、ネットワーク３０を介してブロードキャストで送信する機能を有する。ブロードキャスト送信部２７は、第１のポート５１および第２のポート５２を制御して、それぞれのＭＡＣアドレスの情報をブロードキャストでネットワーク３０に送信する。ブロードキャスト送信部２７は、所定の時間ごとにＭＡＣアドレスの情報を送信する。所定の時間はあらかじめ設定されている。
【００４６】
ＡＣＫ送信部２８は、送信装置１０に再送要求または送達確認の通知を送る機能を有する。ＡＣＫ送信部２８は、取出制御部２４から出力バッファ部２３に出力したパケットのシーケンス番号を受け取ると、受け取ったシーケンス番号を含む送達確認の通知を第１のポート５１または第２のポート５２を介して送信装置１０にＡＣＫパケットとして送る。ＡＣＫ送信部２８は、第１のポート５１または第２のポート５２のうちいずれかを選択してＡＣＫパケットを送信する。ＡＣＫ送信部２８は、例えば、パケットの受信が行われている側のポートを選択してＡＣＫパケットの送信を行う。ＡＣＫ送信部２８は、正常に動作している第１のポート５１または第２のポート５２のうち、データ通信が行われていない側を選択してＡＣＫパケットを送信してもよい。送達確認の通知は、１パケットごとに行われてもよく、また、あらかじめ定められたパケット数ごとに行われてもよい。ＡＣＫパケットとして送達確認の通知を送信する間隔は、あらかじめ設定されている。
【００４７】
また、ＡＣＫ送信部２８は、欠落検出部２９から欠落を検出したパケットのシーケンス番号を受け取ると、受け取ったシーケンス番号を含む再送要求を第１のポート５１または第２のポート５２のいずれかを選択して送信装置１０に送信する。ＡＣＫ送信部２８は、送達確認の通知を送信する際と同様に送信するポートを選択する。
【００４８】
欠落検出部２９は、出力バッファ部２３に出力されたパケットの欠落を検出する機能を有する。欠落検出部２９は、出力バッファ部２３に出力されたパケットのシーケンス番号を監視し、欠落している番号が生じたときにパケットが欠落していると判断する。パケットが欠落していると判断すると、欠落しているシーケンス番号とパケットの再送要求をＡＣＫ送信部２８に送る。
【００４９】
第１のポート５１は、ネットワーク３０を介して送信装置１０との通信を行う機能を有する。第１のポート５１は、ネットワーク３０を介して受信したデータを、受信装置２０の内部で用いる形態の信号に変換して第１の順序バッファ部２５に送る。
【００５０】
第２のポート５２は、ネットワーク３０を介して送信装置１０との通信を行う機能を有する。第２のポート５２は、ネットワーク３０を介して受信したデータを、受信装置２０の内部で用いる形態の信号に変換して第２の順序バッファ部２６に送る。
【００５１】
また、第１のポート５１および第２のポート５２は、送信装置１０に送るブロードキャストパケット、送達確認および再送要求のＡＣＫパケット等をネットワーク３０に送信する。本実施形態の第１のポート５１および第２のポート５２は、連続した番号のＭＡＣアドレスをそれぞれ有している。第１のポート５１および第２のポート５２のＭＡＣアドレスは、連続した番号でなくてもよい。連続した番号では無い場合には、第１のポート５１および第２のポート５２のＭＡＣアドレスに規則性があることが望ましい。
【００５２】
送信装置１０および受信装置２０の各部位は、それぞれ複数または単数の半導体装置を備えた電子回路によって構成することができる。
【００５３】
ネットワーク３０は、送信装置１０と受信装置２０が複数の通信経路を介して互いにデータの送受信をすることができる単一の通信ネットワークとして構成されている。単一の通信ネットワークであるネットワーク３０では、互いに接続した複数の通信回線によって送信装置１０と受信装置２０の間に複数の通信経路が形成されている。本実施形態のネットワーク３０は、イーサネット（登録商標）として構成されている。ネットワーク３０の各通信経路上にはスイッチングハブ等の通信装置が備えられている。
【００５４】
本実施形態の通信システムの動作について説明する。始めに送信装置１０が、接続先の受信装置２０の各ポートのＭＡＣアドレスの情報を収集する際の動作について説明する。
【００５５】
受信装置２０のブロードキャスト送信部２７は、装置の起動時や所定の時間ごとに、送信装置１０に自装置の各ポートのＭＡＣアドレスの情報を送信するためのパケットを生成する。本実施形態では、各ポートのＭＡＣアドレスの情報を送信するためのパケットをブロードキャストパケットとよぶ。ブロードキャストパケットは、ブロードキャストであることを示す情報と、送信元となるポートのＭＡＣアドレスによって構成されている。
【００５６】
ブロードキャストパケットを生成すると、ブロードキャスト送信部２７は、第１のポート５１および第２のポート５２からそれぞれブロードキャストパケットをネットワーク３０に送信する。
【００５７】
受信装置２０の第１のポート５１および第２のポート５２から送信されたブロードキャストパケットは、ネットワーク３０を伝送され、ネットワーク３０に接続されている各ポートにそれぞれ送られる。受信装置２０の第１のポート５１および第２のポート５２は、自装置から送信されたブロードキャストパケットを受け取ると、送信元のＭＡＣアドレスとして自装置のポートのＭＡＣアドレスが記載されているので、受信したパケットを破棄する。
【００５８】
送信装置１０の第１のポート４１は、受信装置２０からネットワーク３０を介してブロードキャストパケットを受信すると、受け取ったブロードキャストパケットのデータを経路状態監視部１６に送る。経路状態監視部１６は、第１のポート４１からブロードキャストパケットのデータを受け取ると、第１のポート４１と、送信元のＭＡＣアドレスの情報を関連づけて経路情報テーブルに保存する。
【００５９】
また、送信装置１０の第２のポート４２は、ブロードキャストパケットを受信すると、受け取ったブロードキャストパケットのデータを経路状態監視部１６に送る。経路状態監視部１６は、第２のポート４２からブロードバンドパケットのデータを受け取ると、第２のポート４２と、送信元のＭＡＣアドレスの情報を関連づけて経路情報テーブルに保存する。経路情報テーブルに経路情報が保存されると、送信装置１０は、経路情報テーブルの経路情報に基づいて、受信装置２０との通信を行う。
【００６０】
本実施形態の通信システムの送信装置１０において生成される経路情報テーブルの具体的な例について説明する。図５、図６および図７は、本実施形態の通信システムにおいて生成される経路情報の例を模式的に示したものである。図５、図６および図７において、送信装置１０の第１のポート４１のＭＡＣアドレスは「Ａ０」、第２のポート４２のＭＡＣアドレスは「Ａ１」としてそれぞれ設定されているとする。また、受信装置２０の第１のポート５１のＭＡＣアドレスは「Ｂ０」、第２のポート５２のＭＡＣアドレスは「Ｂ１」としてそれぞれ設定されているとする。
【００６１】
図５の上側の図は、受信装置２０の第１のポート５１からブロードキャストパケットが送信された例を示している。図５の上側の図では、受信装置２０の第１のポート５１から送信されたブロードキャストパケットが受信装置２０の第２のポート５２、並びに、送信装置１０の第１のポート４１および第２のポート４２にそれぞれ送られている。このとき、ＭＡＣアドレスが「Ａ０」の送信装置１０の第１のポート４１およびＭＡＣアドレスが「Ａ１」の第２のポート４２は、ＭＡＣアドレス「Ｂ０」からパケットを受け取っている。そのため、図５の下側に示す送信装置１０の経路情報を示す経路情報のテーブルでは、「Ａ０」と「Ｂ０」間および「Ａ１」と「Ｂ０」間が、使用可能なことを示す「○」として設定されている。
【００６２】
図６の上側の図は、図５の状態からさらに受信装置２０の第２のポート５２からブロードキャストパケットが送信された例を示している。図６の上側の図では、受信装置２０の第２のポート５２から送信されたブロードキャストパケットが受信装置２０の第１のポート５１、並びに、送信装置１０の第１のポート４１および第２のポート４２にそれぞれ送られている。このとき、ＭＡＣアドレスが「Ａ０」の送信装置１０の第１のポート４１およびＭＡＣアドレスが「Ａ１」の第２のポート４２は、ＭＡＣアドレス「Ｂ１」からパケットを受け取っている。そのため、図６の下側に示す送信装置１０の経路情報を示す経路情報テーブルでは、「Ａ０」と「Ｂ０」間および「Ａ１」と「Ｂ０」間に加え、「Ａ０」と「Ｂ１」間および「Ａ１」と「Ｂ１」間が、使用可能なことを示す「○」として設定されている。
【００６３】
図７の上側の図は、図６の状態からさらに受信装置２０の第１のポート５１からブロードキャストパケットが送信された例を示している。図７の上側の図では、受信装置２０の第２のポート５２から送信されたブロードキャストパケットが受信装置２０の第１のポート５１、および、送信装置１０の第１のポート４１にそれぞれ送られている。しかし、障害等によって送信装置１０の第２のポート４２にはブロードバンドパケットが送られていない。そのため、図７の下側に示す送信装置１０の経路情報を示す経路情報のテーブルでは、「Ａ１」と「Ｂ０」間が、使用不可なことを示す「×」として設定されている。送信装置１０は、上記のように生成された経路情報テーブルの経路情報に基づいて、通信経路の使用可否を判断して受信装置２０との通信を行う。
【００６４】
次に送信装置１０が受信装置２０にネットワーク３０を介してデータを送信する際の動作について図８および図９を参照して説明する。図８は、送信装置１０がデータ送信を行う際の動作フローの概要を示したものである。図９は、受信装置２０がデータ受信を行う際の動作フローの概要を示したものである。
【００６５】
始めに、図８を参照して送信装置１０がデータ送信を行う際の動作について説明する。送信装置１０のデータ送信部１１は、アプリケーションプログラムの処理結果等を基に受信装置２０に送信するデータを生成する。受信装置２０に送信するデータを生成すると、データ送信部１１は、生成したデータをＳＥＱ付与部１２に送る。
【００６６】
ＳＥＱ付与部１２は、受信装置２０に送るデータを受け取ると、受け取ったデータを所定のデータ量ごとに分割しパケットを生成する。所定のデータ量は、ネットワーク３０で伝送される１パケットのデータ量に基づいて設定されている。ＳＥＱ付与部１２は、分割によってパケットのデータを生成すると、分割前のデータの並び順に基づいて分割して生成した各パケットのデータにアドレス情報およびシーケンス番号を付加し送信用のパケットを生成する（ステップ１０１）。
【００６７】
シーケンス番号等を付加すると、ＳＥＱ付与部１２は、パケットをシーケンス番号の順に再送バッファ部１３に送る。再送バッファ部１３は、パケットのデータを受け取ると、受け取った順に保存する（ステップ１０２）。
【００６８】
パケットのデータを保存すると、再送バッファ部１３は、保存した順にパケットのデータのコピーを通信制御部１５に出力する。本実施形態では、再送バッファ部１３は、一定の時間ごとにパケットのデータのコピーを通信制御部１５に出力する（ステップ１０３）。パケットのデータのコピーを出力する間隔である一定の時間は、パケットの送信処理に要する時間に基づいてあらかじめ設定されている。パケットのデータのコピーを通信制御部１５に出力すると、再送バッファ部１３は、再送タイマ部１４を作動させる。
【００６９】
通信制御部１５は、受信装置２０に送るパケットのデータを受け取ると、経路状態監視部１６が生成した経路情報テーブルおよび帯域監視部１７が生成する負荷状態の情報を参照して、送信に使用する通信経路を決定する（ステップ１０４）。通信制御部１５は、使用可能な通信経路のうち、余剰ネットワーク帯域が最も大きい通信経路に対応するポートを送信に使用するポートとして選択する。
【００７０】
送信に使用するポートを選択すると、通信制御部１５は、パケットのアドレスの情報を送信先の受信装置２０のポートのＭＡＣアドレスと、送信元となる自装置のポートのＭＡＣアドレスの情報に変換する。送信先の受信装置２０のポートのＭＡＣアドレスは、経路情報テーブルを参照して付加される。パケットのＭＡＣアドレスの情報を変換すると、通信制御部１５は、パケットを選択したポートに送信する。ステップ１０４で決定された通信経路に対応する第１のポート４１または第２のポート４２は、パケットを受け取ると、受け取ったパケットをネットワーク３０に送信する（ステップ１０５）。
【００７１】
次に図９を参照して受信装置２０がデータを受信する際の動作について説明する。送信装置１０から送信されたパケットは、送信先のＭＡＣアドレスで指定された受信装置２０のポートで受信される（ステップ１２１）。ここでは、例えば、第１のポート５１でパケットを受信したとする。第１のポート５１は自身のＭＡＣアドレスが指定されたパケットを受信すると、受信したパケットを第１の順序バッファ部２５に送る。パケットを受け取ると、第１の順序バッファ部２５は、パケットを受け取った順に保存する（ステップ１２２）。パケットを保存すると第１の順序バッファ部２５は、パケットを保存したことを示す情報を格納完了通知として取出制御部２４に送る。第２のポート５２および第２の順序バッファ部２６もパケットを受け取った際には、第１のポート５１および第１の順序バッファ部２５と同様に動作する。
【００７２】
取出制御部２４は、格納完了通知を受け取ると各順序バッファ部の先頭に保存されているパケットのシーケンス番号を確認する。シーケンス番号を確認すると取出制御部２４は、出力バッファ部２３へ未出力のパケットのうちもっともシーケンス番号が小さいパケットを保存している順序バッファ部に、パケットを出力バッファ部２３に出力する制御信号を送る。
【００７３】
第１の順序バッファ部２５および第２の順序バッファ部２６は、パケットを出力する制御信号を受け取ると、先頭に保存されているパケットを出力バッファ部２３に送る（ステップ１２３）。取出制御部２４は、出力バッファ部２３にパケットを出力すると、出力が行われたパケットのシーケンス番号をＡＣＫ送信部２８に通知する。シーケンス番号の通知を受け取ると、ＡＣＫ送信部２８は、受け取ったシーケンス番号を含む送達完了通知を、第１のポート５１または第２のポート５２を介して送信装置１０にＡＣＫパケットとして送信する（ステップ１２４）。
【００７４】
出力バッファ部２３へ未出力のパケットのうちシーケンス番号がもっとも小さいパケットの出力を終えると、取出制御部２４は、出力したパケットよりもシーケンス番号が１つ大きいパケットがいずれかの順序バッファ部に保存されているかを確認する。
【００７５】
シーケンス番号が１つ大きいパケットがあるとき（ステップ１２５でＹｅｓ）、ステップ１２３に戻り、取出制御部２４は、出力したパケットよりシーケンス番号が１つ大きいパケットを保存している順序バッファ部に、パケットを出力する制御信号を送る。パケットを出力する制御信号を受け取った順序バッファ部は、先頭に保存されているパケットを出力バッファ部２３に出力する。
【００７６】
取出制御部２４は、出力バッファ部２３にパケットを出力すると、出力が行われたパケットのシーケンス番号をＡＣＫ送信部２８に通知する。シーケンス番号の通知を受け取ると、ＡＣＫ送信部２８は、受け取ったシーケンス番号を含む送達完了通知を、第１のポート５１または第２のポート５２を介して送信装置１０にＡＣＫパケットとして送信する。パケットが出力バッファ部に出力されると、上記の動作がさらに繰り返し行われる。
【００７７】
シーケンス番号が１つ大きいパケットがないとき（ステップ１２５でＮｏ）、取出制御部２４は、受信したパケットの出力が完了したことを示す完了通知を欠落検出部２９に送る。欠落検出部２９は、完了通知を受け取ると、パケットの欠落の有無を確認する（ステップ１２６）。
【００７８】
欠落検出部２９は、パケットの欠落の有無の確認の動作を開始すると、各順序バッファ部にデータが保存されていないかを確認する。順序バッファ部にデータが保存されていないとき、欠落検出部２９は、出力バッファ部２３に正常にデータの受信が正常に完了していることを示す情報を通知する。また、パケットの欠落は、第１のポート５１および第２のポート５２のいずれを参照してもシーケンス番号に不連続が生じた際に検出されるようにしてもよい。
【００７９】
欠落しているパケットが無く、データの受信が正常に完了しているとき（ステップ１２７でＮｏ）、出力バッファ部２３は、保存したパケットを保存した順にＳＥＱ削除部２２に送る。また、出力バッファ部２３は、パケットを出力する際に保存しているパケットのアドレスの情報を変換する。ＳＥＱ削除部２２は、パケットを受け取ると、受け取ったパケットからヘッダ情報等を削除してデータ受信部２１に送る（ステップ１２８）。データ受信部２１は、パケットのデータを順次、受け取ると受け取ったデータを基にアプリケーションプログラムによる処理等を行う。
【００８０】
パケットが欠落してシーケンス番号の不連続等が生じ順序バッファ部にパケットが残っているとき（ステップ１２７でＹｅｓ）、出力バッファ部２３は、再送が必要なパケットのシーケンス番号とともにパケットの再送要求をＡＣＫ送信部２８に送る。再送要求を受け取ると、ＡＣＫ送信部２８は、第１のポート５１または第２のポート５２を介して送信装置１０に再送要求を送信する（ステップ１２９）。
【００８１】
次に再び、図８を参照して送信装置１０が送達確認パケットまたは再送要求パケットを受け取った後の動作について説明する。ＡＣＫ送信部２８から送信された再送要求および送達完了通知の情報を示すＡＣＫパケットは、送信装置１０の第１のポート４１または第２のポート４２によって受信される（ステップ１０６）。再送要求または送達完了通知の情報を受け取ると、第１のポート４１および第２のポート４２は、受け取った再送要求または送達完了通知の情報を、通信制御部１５を介して再送バッファ部１３に送る。
【００８２】
受け取った情報が再送要求ではなく、送達完了通知であるとき（ステップ１０７でＮｏ）、再送バッファ部１３は、保存しているパケットのデータのうち送達完了通知に示されたシーケンス番号以下のパケットのデータを消去する（ステップ１０８）。パケットのデータを消去すると、再送バッファ部１３は、パケットのデータを保存していないかを確認する。パケットのデータがある場合には（ステップ１０９でＮｏ）、ステップ１０４からの動作が繰り返し行われる。パケットのデータがなく送信を完了しているとき（ステップ１０９でＹｅｓ）、再送バッファ部１３は、次の送信用のパケットが生成されて入力されるまで待機する（ステップ１１０）。
【００８３】
受け取った情報が再送要求であるとき（ステップ１０７でＹｅｓ）、再送バッファ部１３は、保存しているパケットのデータのうち再送要求に示されたシーケンス番号以上のパケットのデータのコピーを、再度、通信制御部１５に出力する（ステップ１１１）。パケットのデータのコピーを、再度、通信制御部１５に出力されると、ステップ１０４に戻り、通信制御部１５は、経路情報および負荷状態を基に送信に使用する通信経路を判断して受信装置２０にパケットのデータを送信する。
【００８４】
本実施形態の送信装置１０の帯域監視部１７が、ネットワーク３０の負荷状態を監視して生成した帯域情報の例を図１０および図１１を参照して説明する。図１０は、ＭＡＣアドレスが「Ａ０」である送信装置１０の第１のポート４１と、ＭＡＣアドレスが「Ｂ０」である受信装置２０の第１のポート５１の間の通信経路における負荷状態を示す帯域情報の例を示した図である。図１０の上側では、通信可能な最大のネットワーク帯域を示すＮＷ帯域が４０Ｇｂｐｓ（Giga bit per second）、使用されている帯域を示す送信帯域が１０Ｇｂｐｓである例を示している。このとき、余剰帯域は、ＮＷ帯域の値から送信帯域の値を引いた３０Ｇｂｐｓとなる。図１０の下側の図は、上側の図の状態からデータ転送速度が増大し、送信帯域が３０Ｇｂｐｓにまで増加した場合の例を示している。図１０の下側の図の例では、送信帯域が増大したので、余剰帯域が１０Ｇｂｐｓまで減少している。
【００８５】
図１１は、図１０と同様にＭＡＣアドレスが「Ａ０」である送信装置１０の第１のポート４１と、ＭＡＣアドレスが「Ｂ０」である受信装置２０の第１のポート５１の間の通信経路における負荷状態を示す帯域情報の例を示した図である。図１１の上側では、ＮＷ帯域が４０Ｇｂｐｓ、送信帯域が１０Ｇｂｐｓである例を示している。このとき、余剰帯域は、ＮＷ帯域の値から送信帯域の値を引いた３０Ｇｂｐｓとなる。図１１の下側の図は、上側の図の状態からネットワーク３０で伝送されるデータ量が増大して混雑化し、使用可能なＮＷ帯域が２０Ｇｂｐｓにまで減少した場合の例を示している。図１１の下側の図の例では、使用可能なＮＷ帯域が減少したので、余剰帯域も１０Ｇｂｐｓまで減少している。
【００８６】
本実施形態の通信システムにおける通信経路や負荷状態の変動による余剰帯域等の変化の例について図１２、図１３および図１４を参照して説明する。図１２、図１３および図１４は、送信装置１０が有している経路情報と、負荷状態を示す帯域情報の例をそれぞれ示した図である。図１２、図１３および図１４の左側の図が、通信経路の情報である経路情報を示し、右側の図が負荷状態の情報である帯域情報を示している。
【００８７】
図１２の左側の経路情報は、送信装置１０の第１のポート４１および第２のポート４２と、受信装置２０の第１のポート５１および第２のポート５２との全ての組み合わせの通信経路で通信可能な状態を示している。また、図１２の右側の帯域情報は、各ポート間で形成される通信経路における送信帯域、ＮＷ待機および余剰帯域をそれぞれ示している。図１２の例では、ＭＡＣアドレスが「Ａ０」である送信装置１０の第１のポート４１と、ＭＡＣアドレスが「Ｂ０」である受信装置２０の第１のポート５１の間の通信経路の余剰帯域が最大である。そのため、送信装置１０の通信制御部１５は、送信装置１０の第１のポート４１と、受信装置２０の第１のポート５１の間の通信経路を選択してパケットの送信を行う。
【００８８】
図１３は、図１２の状態でＭＡＣアドレスが「Ａ０」である送信装置１０の第１のポート４１と、ＭＡＣアドレスが「Ｂ１」である受信装置２０の第２のポート５２の間の通信経路で異常が検知され使用不可と判断された例を示している。図１３では、図１２の状態から開始された送信装置１０の第１のポート４１と、受信装置２０の第１のポート５１の間の通信経路によるパケットの送信によって、該当する通信経路の送信帯域の増加と余剰帯域の減少が生じている。
【００８９】
通信経路の異常の検出は、例えば、送信装置１０の第１のポート４１が受信装置２０の第２のポート５２からのブロードキャストパケットを所定の時間以上検知できなかったときに、通信経路に異常が生じていると判断されて行われる。このとき、送信装置１０の第１のポート４１と、受信装置２０の第２のポート５２の間の通信経路の余剰帯域が最大になるが使用不可のため選択することはできない。そのため、２番目に余剰帯域の値が大きいＭＡＣアドレスが「Ａ１」である送信装置１０の第２のポート４２と、ＭＡＣアドレスが「Ｂ１」である受信装置２０の第２のポート５２の間の通信経路が選択され、パケットの送信が行われる。
【００９０】
図１４は、図１３で送信装置１０の第２のポート４２と、受信装置２０の第２のポート５２の間の通信経路で通信が行われているときの帯域の変化を示したものである。図１４では、送信装置１０の第１のポート４１と、受信装置２０の第１のポート５１の間の通信経路を選択する通信が停止しているので送信帯域が図１３よりも減少している。また、新たに選択された送信装置１０の第２のポート４２と、受信装置２０の第２のポート５２の間の通信経路の送信帯域が増加し、余剰帯域が減少している。このように、余剰帯域を参照して動的に通信経路を選択して通信を行うことで、パケットの送信の遅延等を抑制することができる。
【００９１】
本実施形態の通信システムは、受信装置２０から送信されたＭＡＣアドレスの情報を基に、送信装置１０の経路状態監視部１６が通信経路の情報を示す経路情報を生成している。経路情報を基に、送信装置１０の通信制御部１５が使用可能な通信経路を判断することで通信経路上で障害が発生したときなどに、他の通信経路を選択して通信を行うことができる。
【００９２】
本実施形態の通信システムは、送信装置１０の帯域監視部１７が通信経路ごとの負荷状態を監視し、通信制御部１５が負荷状態を基にパケットの送信を行う通信経路を判断している。このような構成とすることで、負荷状態に応じて動的に通信経路を選択することができ、パケットのロスや送信の遅延を抑制することが可能となる。また、通信経路上で障害が発生したときなどに、他の通信経路を選択してする際に負荷状態を参照して、パケットのロスや送信の遅延が生じにくい通信経路を選択することができる。
【００９３】
本実施形態の通信システムの受信装置２０は、各通信経路を介して受信したパケットを受信したポートごとに備えられた順序バッファに保存し、欠落検出部２９においてパケットの欠落の有無を検出している。欠落したパケットの再送を要求することで、複数の通信経路を介して通信を行う場合にもパケットのロスを抑制することができる。また、本実施形態の通信システムの送信装置１０は、パケットの再送の際に、再度、経路情報および負荷状態に基づいて通信経路を選択することができる。そのため、障害の発生や負荷の増大でパケットのロスが生じた際に、使用な通信経路のうち負荷の小さい通信経路を選択してパケットの再送を行うことで、送信装置１０から受信装置２０により確実にパケットを送信することができる。そのため、本実施形態の通信システムでは通信の信頼性が向上する。以上より、本実施形態の通信システムは、複数の通信経路を用いた通信において、負荷分散を行いつつパケットのロスや送信の遅延を抑制することができる。
【００９４】
第２の実施形態の通信システムは送信装置１０と受信装置２０をそれぞれ１台ずつ備えているが、送信装置１０と受信装置２０の両方、またはいずれか一方が複数、備えられていてもよい。また、第２の実施形態の通信システムにおいて、送信装置１０と受信装置２０は、それぞれ２つのポートによってネットワークに接続されていたが、各装置のポートは３つ以上備えられていてもよい。
【００９５】
第２の実施形態の通信システムでは、送信装置１０から受信装置２０側へのデータの送信が行われていたが、データの送受信が双方向に行われてもよい。そのような構成とする場合には、送信装置１０と受信装置２０の機能を併せて備える通信装置を用いて通信システムを構成することができる。
【符号の説明】
【００９６】
１    通信手段
２    経路情報生成手段
３    負荷監視手段
４    通信制御手段
１０    送信装置
１１    データ送信部
１２    ＳＥＱ付与部
１３    再送バッファ部
１４    再送タイマ部
１５    通信制御部
１６    経路状態監視部
１７    帯域監視部
２０    受信装置
２１    データ受信部
２２    ＳＥＱ削除部
２３    出力バッファ部
２４    取出制御部
２５    第１の順序バッファ部
２６    第２の順序バッファ部
２７    ブロードキャスト送信部
２８    ＡＣＫ送信部
２９    欠落検出部
３０    ネットワーク
４１    第１のポート
４２    第２のポート
５１    第１のポート
５２    第２のポート
６１    アドレス変換部
７１    アドレス変換部
【図１】
2017092665.tif 000003
【図２】
2017092665.tif 000004
【図３】
2017092665.tif 000005
【図４】
2017092665.tif 000006
【図５】
2017092665.tif 000007
【図６】
2017092665.tif 000008
【図７】
2017092665.tif 000009
【図８】
2017092665.tif 000010
【図９】
2017092665.tif 000011
【図１０】
2017092665.tif 000012
【図１１】
2017092665.tif 000013
【図１２】
2017092665.tif 000014
【図１３】
2017092665.tif 000015
【図１４】
2017092665.tif 000016
【手続補正書】
【提出日】平成29年3月3日(2017.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の通信経路を有する単一のネットワークに接続された複数のポートを介して、データの送受信を行う通信手段と、
複数の前記ポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、前記通信経路の情報を生成する経路情報生成手段と、
前記通信経路ごとの負荷状態を監視する負荷監視手段と、
前記負荷状態の監視結果に基づいて、複数の前記通信経路からパケットの送信を行う前記通信経路を選択し、複数の前記ポート間において連続したアドレスまたは規則性を有するアドレスとなるように設定されているアドレスの情報を、選択した前記通信経路に基づいて前記パケットに付加して、選択した前記通信経路に応じた前記ポートに出力する通信制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
送信用の前記パケットのデータを保持し、保持している前記パケットのコピーを前記通信制御手段に出力するデータ保持手段をさらに備え、
前記データ保持手段は、接続先の通信装置から前記パケットの再送要求を受けたときに、保持している前記パケットのデータのコピーを再度、前記通信制御手段に出力することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信制御手段は、前記パケットを再送する際に、前記負荷状態の監視結果を再度、参照して前記パケットの割当先の前記ポートを決定することを特徴とする請求項１または２いずれかに記載の通信装置。
【請求項４】
前記負荷監視手段は、前記負荷状態として前記通信経路ごとの余剰帯域を算出し、
前記通信制御手段は、前記余剰帯域が最も大きい前記通信経路に対応した前記ポートに送信する前記パケットの割り当てを行うことを特徴とする請求項１から３いずれかに記載の通信装置。
【請求項５】
請求項１から４いずれかに記載の通信装置からなる送信装置と、
複数のポートを介してネットワークに接続され、データの送受信を行うデータ通信手段と、前記ポートのアドレスの情報を前記ネットワークに送信する制御手段と、を有する通信装置からなる受信装置と、
を備え、
前記送信装置の前記経路情報生成手段は、前記受信装置から前記ネットワークを介して送られてくる前記アドレスの情報を基に、前記通信経路の情報を生成することを特徴とする通信システム。
【請求項６】
複数の通信経路を有する単一のネットワークに接続された複数のポートのうち所定のポートと、接続先の通信装置に備えられた複数のポートのうち所定のポートとの対応を基に、前記通信経路の情報を生成し、
前記通信経路ごとの負荷状態を監視し、
前記負荷状態の監視結果に基づいて、複数の前記通信経路からパケットの送信を行う前記通信経路を選択し、複数の前記ポート間において連続したアドレスまたは規則性を有するアドレスとなるように設定されているアドレスの情報を、選択した前記通信経路に基づいて前記パケットに付加して、選択した前記通信経路に応じた前記ポートに出力し、
前記ポートから前記ネットワークに前記パケットを送信することを特徴とする通信方法。
【請求項７】
送信用の前記パケットのデータを保持し、
保持した前記パケットのコピーに前記アドレスの情報を付加して前記ポートに出力し、
接続先の通信装置から前記パケットの再送要求を受けたときに、保持している前記パケットのデータのコピーを再度、出力することを特徴とする請求項６に記載の通信方法。
【請求項８】
前記パケットを再送する際に、前記負荷状態の監視結果を再度、参照して前記通信経路を選択することを特徴とする請求項６または７いずれかに記載の通信方法。
【請求項９】
前記負荷状態として前記通信経路ごとの余剰帯域を算出し、
前記余剰帯域が最も大きい前記通信経路を、前記パケットを送信する前記通信経路として選択することを特徴とする請求項６から８いずれかに記載の通信方法。
【請求項１０】
前記ネットワークを介して送られてくる前記アドレスの情報を基に、前記通信経路の情報を生成することを特徴とする請求項６から９いずれかに記載の通信方法。