(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
近年、ネットワークシステムでは、回線の信頼性や可用性を向上させるために、複数の回線を収容するルータにおいてプライマリー回線に障害が発生した場合、使用する回線をバックアップ回線に切り替えることにより通信を継続する回線冗長化が行われている。プライマリー回線とバックアップ回線との切り替えは、ICMP(Internet Control Message Protocol)エコー要求に対するICMPエコー応答の有無(いわゆる、ping応答による死活監視)に応じて実行されることが一般的である。
【0003】
特許文献1には、第1の回線と第2の回線とを切り替えて通信を行うルータ装置において、第1の回線における回線障害を検出後、第1の回線から第2の回線への切り替えを行うまでの第1の保護時間と、第1の回線の回線障害の復旧を検出後、第2の回線から第1の回線への切り替えを行うまでの第2の保護時間とを、第1の回線の品質状態に応じた時間に設定する技術が開示されている。
【0004】
特許文献1では、回線の品質状態の測定方法の例として、ICMPエコー要求を送信後、これに対応するICMPエコー応答を受信するまでの往復時間の揺らぎをジッタとして測定し、このジッタの変化により回線の品質状態を管理している。特許文献1では、この品質状態に応じて、第1の保護時間、第2の保護時間を設定し、回線障害発生/復旧時の回線の切り替えに適用している。
【0005】
特許文献2には、ネットワークの各伝送装置から伝送路の状態に関する監視データを取得し、監視データが所定の閾値を超える時刻を予測し、予測時刻がネットワーク全体の利用状況が所定閾値より低下すると予測される予測時間帯に入ればネットワーク切替を実行する技術が開示されている。
【0006】
特許文献2において、監視項目は、各伝送装置で測定された伝送路の回線品質、使用帯域、トラフィック量を含む。また、各伝送装置からネットワーク管理システムへ送信されるアラーム等のデータ量を用いてネットワークの帯域測定を行い、ネットワークの状態を判断することが記載されている。
【発明を実施するための形態】
【0015】
本発明は、通信装置、通信回線選択方法及びプログラムに関し、特に、ネットワークに接続される複数の回線を収容する通信装置において通信に使用する回線を選択する技術に関する。本発明では、ICMP(Internet Control Message Protocol)の機能の一つであるping応答を利用して回線ごとの伝送遅延時間を収集し、蓄積された伝送遅延時間に基づいて回線状態の変動を予測して予めより品質の良い回線を選択する。
【0016】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回線で構成することができる。また、本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。従って、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0017】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-Transitory computer Readable Medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage Medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer Readable Medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0018】
図1は、実施の形態に係る通信装置の接続例を示す図である。ここでは、通信装置の一例として、複数のモバイル回線L1〜Lnを収容するモバイルルータ100について説明する。モバイルルータ100は、モバイル通信事業者1〜nが提供する複数のモバイル回線L1〜Lnを通信回線として利用可能な固定設置型ルータである。
【0019】
図1に示すように、モバイルルータ100は、複数のモバイル回線インタフェースIF1〜IFnを有している。インタフェースIF1〜IFnには、それぞれモバイル回線L1〜Lnが接続されている。モバイルルータ100は、ネットワークに接続される複数のモバイル回線L1〜Lnを同時に利用し、使用する回線を切り替えて通信を行うことが可能である。端末Dは、モバイル回線L1〜Lnのいずれかを介してインターネットVPNに接続される。モバイル回線L1〜Lnのうちのいずれか1つの回線がプライマリー回線となり、他の回線がバックアップ回線となる。
【0020】
モバイルルータ100は、通信可能な全てのモバイル回線L1〜Lnのそれぞれからネットワーク上の宛先ホストTGへICMPエコー要求を送信し、これに対するICMPエコー応答を受信する。
図2に、モバイルルータ100の構成を示す。
図2に示すように、モバイルルータ100は、伝送遅延時間演算部304、伝送遅延時間データベース500、データ分析部600、回線選択部700を有している。
【0021】
伝送遅延時間演算部304は、モバイル回線L1〜Lnごとの伝送遅延時間を算出する。伝送遅延時間データベース500は、算出された伝送遅延時間を、ICMPエコー要求の送信時刻と紐づけて格納する。データ分析部600は、伝送遅延時間データベース500に蓄積された伝送遅延時間に基づいて、モバイル回線L1〜Lnの優先度を決定する。回線選択部700は、データ分析部600において決定された優先度に基づいて、モバイル回線L1〜Lnから使用するモバイル回線を選択する。
【0022】
優先度としては、伝送遅延時間が最も短い回線を最優先とすることができる。このように、実施の形態に係るモバイルルータ100では、伝送遅延時間のデータを収集し、そのデータに基づいて回線状態の変動を予測して、予めより品質の良いモバイル回線を選択することができる。
【0023】
モバイルルータ100のより具体的な例について
図3を参照して説明する。
図3に示すように、モバイルルータ100は、ルータ機能部200、ICMP制御部300、RTC(Real Time Clock)400、伝送遅延時間データベース500、データ分析部600、回線選択部700を有している。ルータ機能部200は、インタフェースIF1〜IFnから入出力されるデータのルーティングを行う一般的なルータとしての機能を司る。
【0024】
ICMP制御部300は、ICMP送受信部301、ホストアドレス設定部302、パラメータ設定部303、伝送遅延時間演算部304を有している。ICMP送受信部301は、ICMPの生成及び送受信を行う。実施の形態では、ICMPを使用したネットワーク診断プログラムであるpingが用いられる。ホストアドレス設定部302は、ICMPエコー要求の宛先としてネットワーク上の宛先ホストTGを設定する。ICMP送受信部301は、ICMPエコー要求を宛先ホストTGに送信し、そのICMPエコー応答を受信する。
【0025】
パラメータ設定部303は、ICMPエコー要求の送信間隔やデータサイズ、タイムアウト時間等のパラメータを設定する。伝送遅延時間演算部304は、送受信したICMPエコー要求/応答の伝送遅延時間を算出する。RTC400は、ルータ機能部200に含まれ、時間を計時するのに用いられる。なお、RTC400を有していない場合は、NTP(Network Time Protocol)を利用して、ネットワーク上の時刻サーバから時刻情報を収集してもよい。
【0026】
伝送遅延時間データベース500には、伝送遅延時間演算部304で算出された伝送遅延時間TDTxのデータが、ICMPエコー要求の送信時刻と紐づけられて格納される。また、伝送遅延時間データベース500には、伝送遅延時間TDTxを所定の条件に基づき平均化した標本平均AVEが保存される。なお、伝送遅延時間データベース500は、モバイルルータ100内部に設けられていてもよく、ネットワークで結ばれた外部の記憶媒体等であってもよい。
【0027】
データ分析部600は、伝送遅延時間データベース500に蓄積されたデータを、条件設定部601で定義された条件で分析し、モバイル回線L1〜Lnの優先度を決定する。回線選択部700は、初期優先度設定部701で設定されたモバイル回線の初期優先度と、データ分析部600で決定されたモバイル回線の優先度とに基づいて、使用するモバイル回線の選択、切り替えを制御する。
【0028】
ここで、実施の形態に係る通信回線選択方法について説明する前に、
図10を参照して、一般的なping応答による、比較例の通信回線選択方法について説明する。
図10に示すように、一般的なping応答による回線選択のフローでは、まず、プライマリー回線に設定された回線から宛先ホストTGへICMPエコー要求が送信される(ステップS11)。そして、ICMPエコー要求に対するICMPエコー応答の受信の有無が判断される(ステップS12)。比較例では、そのICMPエコー応答の有無からプライマリー回線の状態を判断する。
【0029】
ICMPエコー応答が受信された場合(ステップS12、OK)、プライマリー回線によるモバイルルータ100と宛先ホストTGとのIPの通信に問題がないため、プライマリー回線が選択される(ステップS13)。一方、ICMPエコー応答が受信されなかった場合(ステップS12、NG)、プライマリー回線によるモバイルルータ100と宛先ホストTGとのIPの通信に問題があるため、バックアップ回線が選択される(ステップS14)。
【0030】
次に、実施の形態に係る通信回線選択方法について説明する。
図4〜9を参照しながら、実施の形態に係るモバイルルータ100の動作を以下の4つのフェーズで説明する。
【0031】
フェーズ1:各モバイル回線L1〜Lnの伝送遅延時間のデータを収集する。
図4に示すように、ICMP送受信部301は、ICMP制御部300内のホストアドレス設定部302、パラメータ設定部303を参照して、各モバイル回線インタフェースIF1〜IFnからモバイル回線L1〜Lnをそれぞれ介して宛先ホストTGへICMPエコー要求を送信する(ステップS1)。
【0032】
ICMP制御部300のホストアドレス設定部302は、ICMPエコー要求を送信する宛先として、宛先ホストTGのIPアドレスを設定する。なお、ルータ機能部200において、FQDN(Fully Qualified Domain Name)のIPアドレス解決が可能であれば、宛先ホストTGのFQDNを設定しても構わない。また、ホストアドレス設定部302は、ICMPエコー要求の送信元として、各モバイル回線インタフェースIF1〜IFnに付与されたIPアドレスを設定する。
【0033】
図1に示すように、宛先ホストTGは、モバイルルータ100の全てのインタフェースIF1〜IFnから到達可能であり、各モバイル回線インタフェースIF1〜IFnに付与されたIPアドレスに対してICMPエコー応答を返信することができるものである。実施の形態では、パラメータ設定部303は、ICMPエコー要求の送信間隔であるICMPのサンプリング単位SMP、タイムアウト時間を設定する。なお、ここでは、他のパラメータは特に限定しない。
【0034】
ICMPエコー要求を送信する際、ICMP送受信部301は、RTC400から送信時刻を参照し、ICMPエコー要求の識別番号(ID番号とシーケンス番号)と送信時刻とを紐付けた情報を伝送遅延時間演算部304に送信する。
【0035】
そして、ICMPエコー要求に対するICMPエコー応答の受信の有無が判断される(ステップS2)。ICMPエコー応答が受信された場合(ステップS2、OK)と、ICMP送受信部301は、データの正常性を確認した後、ICMPエコー応答のデータの情報を伝送遅延時間演算部304に送信する。なお、データエラーでICMPエコー応答が廃棄処理される場合、データ無効を意味するデータが伝送遅延時間演算部304に送信される。また、タイムアウト時間内にICMPエコー応答が受信されなかった場合(ステップS2、NG)、データ無効を意味するデータが、伝送遅延時間演算部304に送信される。
【0036】
そして、伝送遅延時間演算部304は、ICMP送受信部301から送信されたデータに基づいて、ICMPの伝送遅延時間の演算を実行する(ステップS3)。算出された伝送遅延時間TDTxのデータは、サンプリング単位SMPごとに参照番号REFxが付加され、伝送遅延時間データベース500に保存される(ステップS4)。
【0037】
図5に、伝送遅延時間TDTxのデータの例を示す。
図5に示す例では、サンプリング単位SMP=5秒(1日で17280サンプル)としたときの、各モバイル回線L1〜Lnの伝送遅延時間TDTx(ms)のデータが示されている。各データは、参照番号REF000001から参照番号REF017280の順に時系列で保存される。伝送遅延時間データベース500に蓄積される伝送遅延時間TDTxのデータは、ICMPエコー要求の送信時刻と紐づけられている。なお、タイムアウト時間内にICMPエコー応答が到達しなかった場合、又はデータエラーでICMPエコー応答が廃棄処理される場合は、データ無効を意味する「999999」が表記されている。
【0038】
図4に戻って、次に、各モバイル回線L1〜Lnの伝送遅延時間TDTxを比較する定義に基づいてデータを比較し(ステップS5)、モバイル回線L1〜Lnの優先度を決定する(ステップS6)。実施の形態では、伝送遅延時間TDTxを比較する定義として、伝送遅延時間TDTxの標本平均AVEに基づいてデータの比較を行う。標本平均AVEが最も小さいモバイル回線を最優先とする。なお、条件設定部601で設定された日時及び/又は期間に含まれるモバイル回線L1〜Lnそれぞれの伝送遅延時間を比較してもよい。
【0039】
フェーズ2:伝送遅延時間TDTxの標本平均AVEを算出する。
データ分析部600の条件設定部601は、伝送遅延時間TDTxの比較範囲RANG及び比較期間TERMを設定することができる。すなわち、条件設定部601は、伝送遅延時間を比較する日時及び/又は期間を設定する設定部である。
【0040】
比較範囲RANGは、伝送遅延時間データベース500に保存した1日分の伝送遅延時間TDTxのうち、どの範囲の伝送遅延時間TDTxを比較対象に用いるかを決める値である。例えば、比較範囲RANG=0:00〜24:00とした場合は、1日分すべての伝送遅延時間TDTxが比較対象となる。なお、比較範囲RANGを複数設定することも可能である。
【0041】
比較期間TERMは、1週間のうち、どの曜日を比較対象に用いるかを決める値である。例えば、月曜日から日曜日までを比較期間とする場合、比較期間TERM=1〜7(条件:月〜日)となる。また、月曜日から金曜日までを比較期間とする場合、比較期間「ERM=1〜5(条件:月〜金)となる。
【0042】
図6に、伝送遅延時間TDTxのデータにおける比較対象の例を示す。
図6に示す例において、枠に囲まれた部分が比較対象となる。
図6は、サンプリング単位SMP=5秒、比較範囲RANG=6:00〜18:00、比較期間TERM=1〜5(条件:月〜金)とした場合の比較対象を示している。参照番号REF004320が6:00に対応し、参照番号REF012960が18:00に対応するため、比較範囲RANG=6:00〜18:00は参照番号REF004320〜参照番号REF012960となる。
【0043】
なお、1つの参照番号REFxに対して保存できる伝送遅延時間TDTxの数は、比較期間TERMで設定した数とすることができる。
図6の例では、1つの参照番号REFxについて、5つ(TERM:1〜5)の伝送遅延時間TDTxのデータが保存されている。条件設定部601で設定された日時及び期間に含まれる伝送遅延時間の平均値がモバイル回線L1〜Lnごとに算出される。実施の形態では、各モバイル回線L1〜Lnについて、1つの参照番号REFxに対して保存された5つの伝送遅延時間TDTxの平均値が算出され、標本平均AVEとして伝送遅延時間データベース500に保存される。
【0044】
なお、時間経過とともに新たな伝送遅延時間TDTxが取得されると、最古の伝送遅延時間TDTxは廃棄され、最新の伝送遅延時間TDTxが登録される。これにより、伝送遅延時間TDTxの平均値は再計算される。また、1つの参照番号REFxにおいて、伝送遅延時間TDTxのデータが1つでも取得できない場合は、その参照番号REFxは無効とすることができる。
【0045】
フェーズ3:モバイル回線L1〜Lnの優先度を決定する。
上述の通り、実施の形態では、標本平均AVEが最も小さいモバイル回線を最優先とする。実施の形態では、標本平均AVEが最も小さいモバイル回線の参照番号REFxに、優先フラグFLGが立てられる。
図7は、優先フラグFLGを設定した例を示す図である。
図7の上段では、参照番号REF00001〜00004において、比較対象の伝送遅延時間TDTxのデータが揃っているため、各モバイル回線の標本平均AVEが求められる。
図7に示す例では、モバイル回線L1の標本平均AVEは、他のモバイル回線の標本平均AVEよりも小さい。この場合、モバイル回線L1の参照番号REF00001〜00004に優先フラグFLGが立てられる。
【0046】
なお、モバイルルータ100の起動直後や有効な標本平均AVEを求めることができない場合には、初期優先度設定部701で初期優先度が設定される(ステップS7)。
図7の例では、初期優先度で、優先度の最も高いモバイル回線としてモバイル回線Lnが設定されているものとする。
図7の下段に示すように、参照番号REF017272〜017280において、比較期間TERM=5の伝送遅延時間TDTxのデータが取得されていない場合、初期優先度で設定されるモバイル回線Lnに優先フラグが立てられる。
【0047】
フェーズ4:プライマリー回線を選択する。
図4に戻って、次に、優先フラグFLGで選択された最優先のモバイル回線がプライマリー回線として選択される(S8)。なお、優先フラグFLGが複数のモバイル回線L1〜Ln間で頻繁に入れ替わる状況下では、短い周期での回線の切り替えが生じる。これを防ぐために、実施の形態では、ガードタイムGTが用いられる。ガードタイムGTは、1つのモバイル回線に優先フラグFLGが連続して所定の回数(GT回)立っている場合に、そのモバイル回線を最優先として切り替えを行う値である。すなわち、回線選択部700は、モバイル回線の最優先に決定された回数が所定の回数に達した場合に当該モバイル回線を選択する。
【0048】
データ分析部600の条件設定部601は、ガードタイムGTを設定することができる。例えば、ガードタイムGT=1の場合、1つのモバイル回線が最優先に決定された回数が1回に達すると、回線の切り替えが行われる。すなわち、ガードタイムGT=1の場合、優先フラグFLGの変動のたびに、モバイル回線が切り替わることとなる。
【0049】
図8は、ガードタイムGTを設定した場合の通信回線選択方法を説明する図である。
図8では、3つのモバイル回線L1〜L3のそれぞれについて、伝送遅延時間データベース500に蓄積された過去の優先フラグFLGが示されている。ここでは、ガードタイムGT=10が設定されているものとする。この場合、現在の参照番号REF(n)から参照番号REF(n+10)まで優先フラグFLGが連続して10回立っている場合に、そのモバイル回線を最優先とする。
【0050】
図8に示す例では、伝送遅延時間データベース500に蓄積された過去の伝送遅延時間TDTxを参照すると、モバイル回線L2に、参照番号REF(n+7)からREF(n+16)まで連続して10回フラグが立っている。そこで、例えば、参照番号REF(n+7)で表される時刻に、使用する回線をモバイル回線L1からモバイル回線L2へと切り替えることができる。なお、優先フラグFLGが連続して立つ回数がガードタイムGTに達しない場合は、現在の参照番号REF(n)の優先フラグFLGが立っているモバイル回線をプライマリー回線として選択することができる。
【0051】
図9に、2つのモバイル回線L1、L2を収容するモバイルルータ100におけるモバイル回線の切り替え例を示す。
図9において、横軸は時間を示し、縦軸は標本平均AVEの変動を示している。
図9に示す例において、時刻AB間及び時刻CD間では優先フラグFLGがモバイル回線L2に立っており、時刻BC間では優先フラグFLGがモバイル回線L1に立っているものとする。
【0052】
モバイルルータ100は、優先フラグFLGが立っている回線を最優先のモバイル回線と判断することから、時刻Bになると使用する回線をモバイル回線L2からモバイル回線L1へと切り替える。同様に、時刻Cになると、モバイル回線L1からモバイル回線L2へと切り替える。これにより、より伝送遅延の少ないモバイル回線を利用することが可能となる。
【0053】
さらに、モバイル回線の切り替えに必要な時間(Δtとする)を考慮し、時刻Bや時刻Cに到達するΔt時間前に、使用するモバイル回線を切り替える動作を開始する機能を設けてもよい。これにより、より効果的に伝送遅延時間の少ない回線に切り替えることが可能となる。
【0054】
以上説明したように、実施の形態によれば、一般的なルータが具備するICMP機能を利用し、回線ごとに過去の伝送遅延時間をデータベース化して保持することで、現時点での障害の発生の有無に関わらず、蓄積したデータに基づいて将来に起こり得る伝送遅延時間の変動を予測することができる。これにより、プライマリー回線の伝送遅延が増加して、バックアップ回線の遅延を上回ると予測される場合に、事象が起こる前にプライマリー回線をバックアップ回線に切り替えることが可能となる。
【0055】
実施の形態に係る通信装置を用いることにより、例えば、ネットワーク導入直後は網内遅延が少なかったが、日を追うごとにモバイル回線事業者への加入者が増加し網内遅延が増加してしまったネットワーク、逆に、通信網の高速化対応などで網内遅延が減少したネットワークなどにおいて、ユーザが意識しないうちに、より伝送遅延時間の少ないモバイル回線を活用する効果が期待できる。
【0056】
また、通信装置の設置場所がイベント会場の付近にあり、イベントの有無により伝送遅延時間が不定期に大きく変動するような環境においても、より伝送遅延時間の少ないモバイル回線を活用する効果が期待できる。
【0057】
さらに、実施の形態に係る通信装置では、一般的なping応答の有無による回線冗長機能も併用することができる。このため、例えば、装置起動直後で、データベースに伝送遅延時間のデータが十分蓄積されていない場合等、実施の形態の通信回線選択方法が無効な状態では、ping応答の有無による回線冗長機能を用いて回線冗長化を行うことも可能である。
【0058】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。実施の形態では、モバイルルータが送信するICMPパケットのパケット長は特に限定せず、同一パケット長のICMPパケットの伝送遅延の平均を比較しているが、これに限定されない。例えば、ICMPパケット長を変動し、パケットサイズごとの伝送遅延時間のデータ分布の統計情報に基づき、更に詳細に回線品質を判断することも可能である。
【0059】
また、ICMPパケットの伝送遅延時間のみでなく、モバイル回線の回線規格(3G/4G)変動、アンテナレベル変動、回線切断時間などの変動要素を組み合わせて回線の品質判断手段とすることも可能である。本発明は、ルータだけでなく、スイッチングHUB装置等の他の通信装置に適用できる。