(57)【要約】【課題】クレジットベースの通信を行う通信ステムに備わる通信装置が、他の通信装置に障害が波及することを抑制する。【解決手段】通信装置は、相手側通信装置の受信可能データ量に基づくデータ量の送信データを相手側通信装置へ送信する。通信装置は、送信データの通信経路に障害が発生しているかを検出する。通信装置は、障害を検出した場合に通信経路との接続を切断する。【選択図】図１
2019176284.tif 000002
【特許請求の範囲】
【請求項１】
相手側通信装置の受信可能データ量に基づくデータ量の送信データを前記相手側通信装置へ送信するデータ送信部と、
前記送信データの通信経路に障害が発生しているかを検出する障害検出部と、
前記障害を検出した場合に前記通信経路との接続を切断するかを判定する切断判定部と、
を備える通信装置。
【請求項２】
第一リクエスト信号を前記相手側通信装置へ送信するリクエスト信号送信部と、を備え、
前記障害検出部は、前記第一リクエスト信号に対する応答信号の受信ができない場合に前記通信経路に障害が発生していることを検出する
請求項１に記載の通信装置。
【請求項３】
前記相手側通信装置から第二リクエスト信号を受信するリクエスト信号受信部と、を備え、
前記障害検出部は、前記第二リクエスト信号を受信できない場合に前記通信経路に障害が発生していることを検出する
請求項１に記載の通信装置。
【請求項４】
前記障害検出部は前記通信経路との接続の切断が行われた後に、繰り返し前記通信経路に障害が発生しているかを検出し、
前記通信経路に障害が発生していない場合に前記通信経路に接続される前記相手側通信装置との再接続の制御を行うリンク制御部をさらに備える
請求項１から請求項３の何れか一項に記載の通信装置。
【請求項５】
相手側通信装置の受信可能データ量に基づくデータ量の送信データを前記相手側通信装置へ送信し、
前記送信データの通信経路に障害が発生しているかを検出し、
前記障害を検出した場合に前記通信経路との接続を切断すると判定する
通信方法。
【請求項６】
通信装置のコンピュータを、
相手側通信装置の受信可能データ量に基づくデータ量の送信データを前記相手側通信装置へ送信するデータ送信手段、
前記送信データの通信経路に障害が発生しているかを検出する障害検出手段、
前記障害を検出した場合に前記通信経路との接続を切断する接続手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、プログラムに関する。
【背景技術】
【０００２】
近年、ディープラーニングの学習のように膨大な計算量ニーズの高まりにより、ＧＰＧＰＵ（General-purpose computing on graphics processing units）等の多数のＰＣＩｅ（PCI Express）デバイスを接続する大規模システムが構成されている。一つのＰＣＩｅデバイスで障害が発生した場合に他のＰＣＩｅデバイスに障害が波及しないようにすることが要求されている。一般的にＰＣＩｅデバイスは障害発生時にホストサーバに対して障害通知を行いホストサーバが障害発生デバイスの障害処理を実施する。なおネットワーク上の輻輳に基づいてネットワーク制御を行う関連技術が特許文献１に開示されている。
【０００３】
特許文献１の段落０００５には、クレジットベースシステムに関する記載がある。クレジットベースシステムは、当該文献の段落０００５に記載されているように、伝送データのロスを減少することを保障する技術であり、データの受信側の状態と、送信側と受信側との間にあるすべてのノードの状態とを考慮して制御される。具体的には受信側のノードの状態が、クレジットの発信によって送信側に通知される。クレジットはデータを受信する能力を示すものであり、始めに受信側のノードにより生成される。続いて、このクレジットは上流にある送信側のノードへ返される。そして送信側のノードにおいて、受信側ノードのデータを受信する能力が判断される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−５６２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで上述のようなＰＣＩｅ（PCI Express）デバイスを利用したクレジットベースシステムにおいて障害が発生した場合、障害に関する処理を行うパケットも通常パケットと同等の経路を流れるため、パケットが詰まるような障害が発生すると障害に関する処理を行うことが出来ない。またそのような場合には正常なＰＣＩｅデバイスのパケットも処理されず、一つのＰＣＩｅデバイスで障害が発生した場合に他のＰＣＩｅデバイスに障害が波及してしまうという課題がある。
【０００６】
そこでこの発明は、上述の課題を解決する通信装置、通信方法、プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、通信装置は、相手側通信装置の受信可能データ量に基づくデータ量の送信データを前記相手側通信装置へ送信するデータ送信部と、前記送信データの通信経路に障害が発生しているかを検出する障害検出部と、前記障害を検出した場合に前記通信経路との接続を切断する接続部と、を備えることを特徴とする。
【０００８】
本発明の第２の態様によれば、通信方法は、相手側通信装置の受信可能データ量に基づくデータ量の送信データを前記相手側通信装置へ送信し、前記送信データの通信経路に障害が発生しているかを検出し、前記障害を検出した場合に前記通信経路との接続を切断することを特徴とする。
【０００９】
本発明の第３の態様によれば、プログラムは、通信装置のコンピュータを、相手側通信装置の受信可能データ量に基づくデータ量の送信データを前記相手側通信装置へ送信するデータ送信手段、前記送信データの通信経路に障害が発生しているかを検出する障害検出手段、前記障害を検出した場合に前記通信経路との接続を切断する接続手段、として機能させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、他の通信装置に障害が波及することを抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による通信システムの構成を示すブロック図である。
【図２】本発明の一実施形態による通信装置のハードウェア構成を示す図である。
【図３】本発明の一実施形態による通信モジュールの機能ブロック図である。
【図４】本発明の一実施形態による障害検出部の機能ブロックを示す第一の図である。
【図５】本発明の一実施形態によるクライアント側の通信装置の処理フローを示す第一の図である。
【図６】本発明の一実施形態による障害検出部の機能ブロックを示す第二の図である。
【図７】本発明の一実施形態によるクライアント側の通信装置の処理フローを示す第二の図である。
【図８】本発明の一実施形態による通信装置の最小構成を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態による通信システムを図面を参照して説明する。
図１は同実施形態による通信システムの構成を示すブロック図である。
図１で示すように、通信システムは、ホスト側の通信装置１００と、クライアント側の通信装置３００とが、中継装置２００を介して接続されている。通信装置１００、中継装置２００、通信装置３００はそれぞれＰＣＩｅ（PCI Express）の通信機能を有する通信デバイスを搭載し、当該ＰＣＩｅ（PCI Express）で規定された通信機能を用いて通信を行う。なお当該ＰＣＩｅ（PCI Express）で規定された通信機能においてはクレジットベースの通信を行う。具体的には送信側が、相手側通信装置の受信可能データ量を検知し、当該受信可能データ量に基づくデータ量の送信データを相手側通信装置へ送信する。例えば送信側は、相手側通信装置の受信可能データ量を検知し、当該受信可能データ量以下のデータ量の送信データを相手側通信装置へ送信する。これにより、相手側通信装置は自装置で受信可能なデータ量の送信データのみを受信して処理することができる。
【００１３】
通信システムを構成するクライアント側の通信装置３００は、通信経路の障害を検出し、障害を検出した場合には、通信経路との接続を切断すると判定する。そしてクライアント側の通信装置３００は通信経路との接続を切断する。本実施形態による通信システムは、クレジットベースで通信制御を行うためパケットの廃棄が原則行われない通信システムである。しかしながら本実施形態による通信システムは、障害を検出した通信装置３００が通信経路との接続を切断し、これによりパケットが中継装置２００等で破棄されるため、パケット詰まり等の輻輳状態が解消される。これにより、クライアント側の通信装置３００は他のデバイスに障害が波及することを防ぐことを特徴とする。
【００１４】
図２は通信装置のハードウェア構成を示す図である。
図２で示すようにクライアント側の通信装置３００は、ＣＰＵ（Central Processing Unit）３０１、ＲＯＭ（Read Only Memory）３０２、ＲＡＭ（Random Access Memory）３０３、通信モジュール３０４を備える。通信モジュールは、ＰＣＩｅ（PCI Express）の通信機能により他装置と通信を行う。
なおホスト側の通信装置１００および中継装置２００も同様のハードウェア構成を備えるものとする。
【００１５】
図３は通信装置に備わる通信モジュールの機能ブロック図である。
通信モジュール３０４は図３に図示するように、データ送信部３１、リンク制御部３２、障害検出部３３、切断判定部３４の各機能部を備える。
データ送信部３１は、相手側通信装置であるホスト側の通信装置１００の受信可能データ量に基づくデータ量の送信データを通信装置１００へ送信する。つまりデータ送信部３１はクレジットベースの通信規定に基づく通信制御を通信相手との間で行う。
障害検出部３３は、送信データの通信経路に障害が発生しているかを検出する。
切断判定部３４は、障害が検出された場合に通信経路との接続を切断すると判定する。
リンク制御部３２は、通信相手との間のリンク制御を行う。例えば切断判定部３４によって障害が検出された場合に自装置に接続する通信経路との接続を切断する。
【００１６】
図４は障害検出部の機能ブロックを示す第一の図である。
障害検出部３３は、リクエスト信号送信部３３１、応答信号判定部３３２、監視部３３３を備える。
リクエスト信号送信部３３１は第一リクエスト信号を相手側通信装置であるホスト側の通信装置１００に送信する。
応答信号判定部３３２は第一リクエスト信号に対する応答信号がホスト側の通信装置１００から受信できたかを判定する。
監視部３３３は第一リクエスト信号の送信時刻から応答信号の受信時刻までの時間がタイマにより計測する所定時間以内かを判定する。
【００１７】
図５はクライアント側の通信装置の処理フローを示す第一の図である。
次にクライアント側の通信装置３００の処理フローについて順を追って説明する。
まず監視部３３３がリクエスト信号送信部３３１に対してホスト側の通信装置１００への第一リクエスト信号の送信要求を出力する。監視部３３３は当該送信要求を行った時刻からタイマをリセットした後にタイマを作動させる。タイマは所定時間をカウントダウンするタイマである。所定時間は一例としては３秒や５秒などの時間であってよい。
【００１８】
リクエスト信号送信部３３１は第一リクエスト信号の送信要求を取得する。リクエスト信号送信部３３１はこの送信要求に基づいて、第一リクエスト信号を通信装置１００に対して送信する（ステップＳ１０１）。第一リクエスト信号はリンク制御部３２が用いるPCI Expressの通信プロトコルに基づいて送信される。
【００１９】
第一リクエスト信号を受信した通信装置１００は応答信号を通信装置３００へ送信する。応答信号判定部３３２はリンク制御部３２が用いるPCI Expressの通信プロトコルに基づいて応答信号を受信する（ステップＳ１０２）。応答信号判定部３３２は応答信号の受信を判定すると、監視部３３３に応答信号を受信したことを示す信号を出力する。監視部３３３は応答信号の受信がタイマでカウントする時間の満了前であるかを判定する（ステップＳ１０３）。監視部３３３は応答信号の受信がタイマでカウントする時間の満了前である場合には第一リクエスト信号の送信要求を出力する処理を繰り返す。監視部３３３は応答信号の受信がタイマでカウントする時間の満了後である場合や、応答信号の受信が無い場合には、障害が発生したと判定する（ステップＳ１０４）。なお応答信号の受信時刻がタイマのカウント満了時刻と一致した場合には障害発生無と判定してよい。
【００２０】
監視部３３３は障害発生と判定した場合にはリンク制御部３２に障害発生を通知する。リンク制御部３２は障害発生の通知を受けると、自装置に接続する通信ネットワークケーブルの通信経路を切断するための制御信号を生成する。リンク制御部３２は当該制御信号に基づいて通信経路の切断を行う（ステップＳ１０５）。リンク制御部３２はリセット信号を生成して、当該リセット信号に基づいて通信経路の一時切断を行うようにしてもよい。監視部３３３のタイマのカウント時間は、リンク制御部３２に設定されているタイムアウト値が示す時間と同じ時間であることが望ましい。監視部３３３は、障害発生と判定した場合にはホスト側の通信装置１００に対して、割り込み等で障害発生を通知しても良い。
【００２１】
このような処理を行う通信装置３００は、パケットが詰まるようなリンク障害を検出した場合には通信経路の通信接続を切断する。これにより、図１に示すようなＰＣＩｅ（PCI Express）の通信機能を有する通信デバイスを搭載した各通信装置を有する通信システムは、障害が発生した可能性がある通信装置は切断し、これにより中継装置２００は通信が切断した通信装置３００から発信された送信データを破棄する。従って、送信データであるパケットが詰まるような障害が回避され、他の通信装置３００に障害が波及することを抑制することができる。
【００２２】
また通信装置３００は障害の発生の検知に基づいて通信経路との接続を切断した後も再接続を試みる。つまり、障害検出部３３は通信経路との接続の切断が行われた後に、繰り返し通信経路に障害が発生しているかを検出する（ステップＳ１０６）。リンク制御部３２は、通信経路に障害が発生していない場合に通信経路に接続されるホスト側の通信装置１００との再接続の制御を行う（ステップＳ１０７）。これによりホスト側の通信装置１００とクライアント側の通信装置３００の間の通信を再開することができる。障害検出部３３は通信装置３００の処理が終了となるかを判定する（ステップＳ１０８）。通信装置３００は終了でない場合にはステップＳ１０１からの処理を繰り返す。
【００２３】
図６は障害検出部の機能ブロックを示す第二の図である。
障害検出部３３は、監視部３３３、リクエスト信号受信部３３４、記憶部３３５を備える。
リクエスト信号受信部３３４は相手側通信装置である通信装置１００から第二リクエスト信号を受信する。
記憶部３３５は第二リクエスト信号の識別情報を記憶する。
監視部３３３は第二リクエスト信号の受信時刻から次の第二リクエスト信号の受信時刻までの時間がタイマにより計測する所定時間以内かを判定する。
障害検出部３３は、所定時間以内に次の第二リクエスト信号を受信できない場合に通信経路に障害が発生していることを検出する。
【００２４】
図４、図５を用いて説明した障害発生の判定の処理は、以下のように図６、図７による処理に代えてもよい。
ホスト側の通信装置１００は、予め設定された時間間隔で通信装置３００に対して第二リクエスト信号を送信する。第二リクエスト信号は、例えば当該信号に識別番号が記録される。ホスト側の通信装置１００は第二リクエスト信号を送信する度に、その信号に含める識別番号を１つずつインクリメントする。
【００２５】
リクエスト信号受信部３３４は第二リクエスト信号を受信する（ステップＳ２０１）。第二リクエスト信号はリンク制御部３２が用いるPCI Expressの通信プロトコルに基づいて受信される。リクエスト信号受信部３３４は第二リクエスト信号に含まれる識別番号と受信時刻を記憶部３３５に記録する（ステップＳ２０２）。
【００２６】
監視部３３３は記憶部３３５に記録される第二リクエスト信号の識別番号とその受信時刻を定期的に読み込む。監視部３３３は最初の第二リクエスト信号の受信に基づいてタイマをカウントし、次の第二リクエスト信号の受信時刻がカウント時間の満了前であるかを判定する（ステップＳ２０３）。監視部３３３は第二リクエスト信号の受信がタイマでカウントする時間の満了前である場合には第二リクエスト信号に含まれる情報の監視を繰り返す。監視部３３３は次の第二リクエスト信号の受信時刻がタイマでカウントする時間の満了後である場合や、次の第二リクエスト信号の受信が無い場合には、障害が発生したと判定する（ステップＳ２０４）。なお第二リクエスト信号の受信時刻がタイマのカウント満了時刻と一致した場合には障害発生無と判定してよい。
【００２７】
監視部３３３は障害発生と判定した場合にはリンク制御部３２に障害発生を通知する。リンク制御部３２は障害発生の通知を受けると、自装置に接続する通信ネットワークケーブルの通信経路を切断するための制御信号を生成する。リンク制御部３２は当該制御信号に基づいて通信経路の切断を行う（ステップＳ２０５）。
【００２８】
このような処理を行う通信装置３００は、パケットが詰まるようなリンク障害を検出した場合には通信経路の通信接続を切断する。これにより、図１に示すようなＰＣＩｅ（PCI Express）の通信機能を有する通信デバイスを搭載した各通信装置を有する通信システムは、障害が発生した可能性がある通信装置は切断し、これにより中継装置２００は通信が切断した通信装置３００から発信された送信データを破棄する。従って、送信データであるパケットが詰まるような障害が回避され、他の通信装置３００に障害が波及することを抑制することができる。
【００２９】
また通信装置３００は障害の発生の検知に基づいて通信経路との接続を切断した後も再接続を試みる。つまり、障害検出部３３の監視部３３３は通信経路との接続の切断が行われた後に、記憶部に次の第二リクエスト信号の識別番号が記録されたかを検出する（ステップＳ２０６）。リンク制御部３２は、次の第二リクエスト信号の識別番号が記録されている場合には、通信経路に障害が発生していないと判定し、通信経路に接続されるホスト側の通信装置１００との再接続の制御を行う（ステップＳ２０７）。これによりホスト側の通信装置１００とクライアント側の通信装置３００の間の通信を再開することができる。障害検出部３３は通信装置３００の処理が終了となるかを判定する（ステップＳ２０８）。通信装置３００は終了でない場合にはステップＳ２０１からの処理を繰り返す。
【００３０】
以上、本発明の実施形態について説明したが、上述の処理によれば、送信データであるパケットが詰まるような障害が回避され、他の通信装置３００に障害が波及することを抑制することができる。
【００３１】
図８は通信装置の最小構成を示す図である。
通信装置３００は少なくともデータ送信部３１、障害検出部３３、切断判定部３４を備えればよい。
データ送信部３１は、相手側通信装置であるホスト側の通信装置１００の受信可能データ量に基づくデータ量の送信データを通信装置１００へ送信する。
障害検出部３３は、送信データの通信経路に障害が発生しているかを検出する。
切断判定部３４は、障害が検出された場合に通信経路との接続を切断すると判定する。
【００３２】
上述の各装置は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００３３】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３４】
１００、３００・・・通信装置
２００・・・中継装置
３１・・・データ送信部
３２・・・リンク制御部
３３・・・障害検出部
３４・・・切断判定部
３３１・・・リクエスト信号送信部
３３２・・・応答信号判定部
３３３・・・監視部
３３４・・・リクエスト信号受信部
３３５・・・記憶部
【図１】
2019176284.tif 000003
【図２】
2019176284.tif 000004
【図３】
2019176284.tif 000005
【図４】
2019176284.tif 000006
【図５】
2019176284.tif 000007
【図６】
2019176284.tif 000008
【図７】
2019176284.tif 000009
【図８】
2019176284.tif 000010