(57)【特許請求の範囲】
【請求項１】
宛先装置までに経由する中継装置の情報を収集するための通信経路取得コマンドを実行し、自装置から前記宛先装置までの経路情報を取得する経路取得部と、
前記自装置を宛先とする通信経路取得コマンドの実行と、該実行結果として得られた前記宛先装置から前記自装置までの経路情報の通知と、の指示を前記宛先装置に送信し、前記宛先装置から前記自装置までの経路情報を受信し、
前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、が一致するか否かを判定する制御部と、
を備え、
前記経路取得部は、前記宛先装置を宛先とする通信経路取得コマンドを所定回数実行し、
前記制御部は、前記所定回数、前記宛先装置に対して前記指示を送信し、前記所定回数分の、前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、について、一致する回数または一致しない回数を計数する、
通信装置。
【請求項２】
前記経路取得部は、複数の宛先装置それぞれを宛先として、前記通信経路取得コマンドを実行し、
前記制御部は、前記複数の宛先装置のそれぞれに対して、前記指示を送信する、
請求項１に記載の通信装置。
【請求項３】
コンピュータが、
宛先装置までに経由する中継装置の情報を収集するための通信経路取得コマンドを実行し、自装置から前記宛先装置までの経路情報を取得し、
前記自装置を宛先とする通信経路取得コマンドの実行と、該実行結果として得られた前記宛先装置から前記自装置までの経路情報の通知と、の指示を前記宛先装置に送信し、前記宛先装置から前記自装置までの経路情報を受信し、
前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、が一致するか否かを判定し、
前記宛先装置を宛先とする通信経路取得コマンドを所定回数実行し、
前記所定回数、前記宛先装置に対して前記指示を送信し、前記所定回数分の、前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、について、一致する回数または一致しない回数を計数する、
通信経路取得方法。
【請求項４】
コンピュータに、
宛先装置までに経由する中継装置の情報を収集するための通信経路取得コマンドの実行により、自装置から前記宛先装置までの経路情報を取得させ、
前記自装置を宛先とする通信経路取得コマンドの実行と、該実行結果として得られた前記宛先装置から前記自装置までの経路情報の通知と、の指示を前記宛先装置に送信させ、前記宛先装置から前記自装置までの経路情報を受信させ、
前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、が一致するか否かを判定させ、
前記宛先装置を宛先とする通信経路取得コマンドを所定回数実行させ、
前記所定回数、前記宛先装置に対して前記指示を送信し、前記所定回数分の、前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、について、一致する回数または一致しない回数を計数させる、
ための通信経路取得プログラム。
【請求項５】
第１及び第２の装置を含む通信ネットワークシステムであって、
前記第１の装置は、
宛先までに経由する中継装置の情報を収集するための通信経路取得コマンドを前記第２の装置を宛先として実行し、前記第１の装置から前記第２の装置までの経路情報を取得する経路取得部と、
前記第１の装置を宛先とする通信経路取得コマンドの実行と、該実行結果として得られた前記第２の装置から前記第１の装置までの経路情報の通知と、の指示を前記第２の装置に送信し、前記第２の装置から前記第１の装置までの経路情報を受信し、前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、が一致するか否かを判定する制御部と、
前記第２の装置は、
前記第１の装置から前記指示の受信に応じて、前記第１の装置を宛先とする通信経路取得コマンドを実行する経路取得部と、
前記第２の装置から前記第１の装置までの経路情報を取得して前記第１の装置に送信する制御部と、
を備え、
前記第１の装置の前記経路取得部は、前記宛先装置を宛先とする通信経路取得コマンドを所定回数実行し、
前記第１の装置の前記制御部は、前記所定回数、前記宛先装置に対して前記指示を送信し、前記所定回数分の、前記自装置から前記宛先装置までの経路情報と、前記宛先装置から前記自装置までの経路情報と、について、一致する回数または一致しない回数を計数する、
通信ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拠点間の通信経路を取得するための通信装置、通信経路取得方法、通信経路取得プログラム、及び、通信ネットワークシステムに関する。
【背景技術】
【０００２】
例えば、ＩＰ（Internet Protocol）ネットワークでは、通信はルータによって中継さ
れる。ＩＰネットワークでは、Ａ拠点のノードから、指定されたＢ拠点のノードに到達するまでに経由したルータの情報を取得するツールとして、ＴＲＡＣＥＲＯＵＴＥがある。ＴＲＡＣＥＲＯＵＴＥは、ＰＩＮＧを用いて宛先装置までの経路上に位置するルータの情報を収集するツールである。ＰＩＮＧは、宛先装置への疎通確認を行うためのツールである。
【０００３】
ＴＲＡＣＥＲＯＵＴＥでは、まず、送信元装置は、宛先装置に対してＰＩＮＧコマンドを実行する。このとき、ＰＩＮＧで用いられるＩＣＭＰ（Internet Control Message Protocol）  ＥＣＨＯメッセージのＴＴＬ（Time To Live）の値は、１に設定される。ＴＴ
Ｌはパケットが経由可能なルータの数を示す。ＴＴＬは、パケットがルータに中継される度に１ずつ減らされる。ＴＴＬの値が０になると、ルータは、パケットをそれ以上転送せずに、送信元装置に、エラー通知として、ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤを返信する。
【０００４】
ＴＲＡＣＥＲＯＵＴＥでは、ＩＣＭＰ  ＥＣＨＯメッセージのＴＴＬの値は初期値１であり、該ＴＴＬの値は、該メッセージを最初に中継するルータによって１減らされて、０となる。該ルータは、それ以上ＩＣＭＰ  ＥＣＨＯメッセージを転送することができないので、送信元装置に、エラー通知として、ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤメッセージを返信する。
【０００５】
ＴＲＡＣＥＲＯＵＴＥでは、送信元装置は、最初のルータからＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤメッセージを受信することで、ＩＣＭＰ  ＥＸＣＥＥＤＥＤメッセージの送信元アドレスより、最初のルータのＩＰアドレスを取得する。次に、送信元装置は、ＴＴＬの値を１増やして再度宛先装置に対してＰＩＮＧコマンドを実行する。
【０００６】
その後、ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤメッセージの受信、ＴＴＬを１増やして宛先装置に対するＰＩＮＧの実行という処理が、宛先装置からＩＣＭＰ  ＥＣＨＯ  ＲＥＰＬＹメッセージが受信されるまで繰り返し行われる。これによって、ＴＲＡＣＥＲＯＵＴＥでは、送信元装置から宛先装置までにパケットが経由するルータの情報が経由順で収集される。
【０００７】
ＴＲＡＣＥＲＯＵＴＥは、例えば、取得されたルータのＩＰアドレスから、送信元装置自身や経路上のルータの経路設計が設計通りかを確認するために用いられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−３１８４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＴＲＡＣＥＲＯＵＴＥでは、送信元装置から宛先装置への方向の経路情報は取得されるが、該宛先装置から該送信元装置への逆方向の経路情報については、該宛先装置からＴＲＡＣＥＲＯＵＴＥコマンドを実行しない限り、取得されない。宛先装置から送信元装置への逆方向の通信経路は、送信元装置から宛先装置への方向と同じ通信経路とは限らない。例えば、ルータの設定ミス等があるからである。
【００１０】
したがって、経路設計の確認の際には、例えば、Ａ拠点からＢ拠点へ、Ｂ拠点からＡ拠点へと、管理者は、それぞれの拠点のノードから、ＴＲＡＣＥＲＯＵＴＥコマンドを実行する。拠点が複数ある場合には、経路確認のために、管理者は、各拠点それぞれからＴＲＡＣＥＲＯＵＴＥコマンドを実行することとなり、手間がかかる。なお、同様の問題は、ＩＰネットワーク及びＴＲＡＣＥＲＯＵＴＥに限定されず、いかなる種類のネットワーク、及び、経路上のルータの情報を収集する、いかなる通信経路の確認方法でも発生する可能性がある。
【００１１】
本発明の一態様は、拠点間の通信経路確認処理の手間を軽減可能な通信装置、通信経路取得方法、通信経路取得プログラム、及び、通信ネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の態様の一つは、宛先装置までに経由する中継装置の情報を収集するための通信経路取得コマンドを実行し、自装置から宛先装置までの経路情報を取得する経路取得部と、自装置を宛先とする通信経路取得コマンドの実行と、該実行結果として得られた宛先装置から自装置までの経路情報の通知と、の指示を宛先装置に送信し、宛先装置から自装置までの経路情報を受信する制御部と、を備える通信装置である。
【発明の効果】
【００１３】
開示の通信装置、通信経路取得方法、通信経路取得プログラム、及び、通信ネットワークシステムによれば、拠点間の通信経路確認処理の手間を軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る通信経路取得処理の流れの一例を示す図である。
【図２】第１実施形態に係る通信経路取得処理の流れの一例を示す図である。
【図３】第１実施形態に係る通信経路取得処理の流れの一例を示す図である。
【図４】第１実施形態に係る通信経路取得処理の流れの一例を示す図である。
【図５】第１実施形態に係る通信経路確認処理の、マスタにおける入力画面と出力画面の一例を示す図である。
【図６】通信装置のハードウェア構成の一例を示す図である。
【図７】通信装置の機能構成の一例を示す図である。
【図８】マスタ制御部の処理のフローチャートの一例である。
【図９】スレーブ制御部の処理のフローチャートの一例である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１６】
＜第１実施形態＞
第１実施形態では、通信装置は、宛先装置までに経由する中継装置の情報を収集するための通信経路取得コマンドを実行して、自装置から該宛先装置までの経路情報を取得する。また、通信装置は、自装置を宛先とする通信経路取得コマンドの実行と、該宛先装置から自装置までの経路情報の通知と、の指示を該宛先装置に対して送信する。これによって
、通信ネットワークシステムの管理者は、通信装置に対して処理開始の操作を入力することで、通信装置から宛先装置への経路情報及び宛先装置から通信装置への経路情報の両方の経路情報を取得することができる。
【００１７】
図１、図２、図３、図４は、第１実施形態に係る通信経路取得処理の流れの一例を示す図である。第１実施形態に係る通信経路取得処理は、自装置から宛先装置まで及び該宛先装置から自装置までの経路情報を取得する処理である。第１実施形態では、通信経路取得コマンドは、ＴＲＡＣＥＲＯＵＴＥコマンドであるとする。また、第１実施形態では、経路情報は、宛先装置までに経由するルータのＩＰアドレスが経由順で並んだリストとして取得される。ＴＲＡＣＥＲＯＵＴＥコマンドは、「通信経路取得コマンド」の一例である。
【００１８】
第１実施形態に係る通信ネットワークシステム１００は、マスタ１と複数のスレーブ２とを含む。これらはそれぞれ、所定のネットワークに接続している。マスタ１は、通信経路取得処理を制御する通信装置である。スレーブ２は、マスタ１の制御対象となる通信装置である。以降、マスタ１からスレーブ２への方向の経路を「往路」、スレーブ２からマスタ１への方向の経路を「復路」と称する。
【００１９】
図１の（１）では、マスタ１は、各スレーブ２宛ての通信経路取得コマンドを実行する。第１実施形態では、ＴＲＡＣＥＲＯＵＴＥコマンドである。マスタ１は、各スレーブ２までの経路情報を取得すると、通信経路テーブルに該経路情報を登録する。
【００２０】
図２の（２）では、マスタ１は、各スレーブ２に対して、自装置宛ての通信経路取得コマンドの実行と実行結果の通知の指示を送信する。図３の（３）では、各スレーブ２は、マスタ１からの指示を受けて、マスタ１宛ての通信経路取得コマンドを実行する。
【００２１】
図４の（４）では、各スレーブ２は、マスタ１宛ての通信経路取得コマンドの実行結果をマスタ１に送信する。マスタ１宛ての通信経路取得コマンドの実行結果は、各スレーブ２からマスタ１までの復路の経路情報である。図４の（５）では、マスタ１は、各スレーブ２から受信した、各スレーブ２からマスタ１までの復路の経路情報を通信経路テーブルに登録する。
【００２２】
図５は、第１実施形態に係る通信経路確認処理の、マスタ１における入力画面と出力画面の一例を示す図である。入力画面は、例えば、マスタ１上で、通信経路確認処理のアプリケーションが起動されると、マスタ１のディスプレイに表示される。入力画面には、例えば、通信先としてのスレーブ２の情報を入力する欄が複数含まれる。図５に示される入力画面には、スレーブ２の情報として、ＩＰアドレス、ＩＤ、パスワードの入力欄が含まれる。
【００２３】
ＩＰアドレスの入力欄には、通信経路確認対象のスレーブ２のＩＰアドレスが入力される。ＩＤとパスワードの入力欄には、該スレーブ２のログインＩＤとログインパスワードが入力される。例えば、該スレーブ２のログオフ状態で通信経路確認処理が行われる場合に、スレーブ２のログインＩＤとログインパスワードの入力が求められることがあるからである。ログインＩＤとログインパスワードの入力は必須ではなく、要否はスレーブ２の状態又は設定内容に依存する。スレーブ２の状態には、例えば、ログイン又はログオフ状態、スリープ状態、電源切断状態等がある。
【００２４】
入力画面には、実行回数の入力欄も設けられている。実行回数は、通信経路確認処理を繰り返し実行する回数である。ユーザは、実行回数に所望する回数を指定することができる。通信経路確認処理を複数回繰り返し実行するのは、例えば、設計とは異なり、通信中
に経路が変更してしまう場合や、設計上、複数経路が設定されている場合があるからである。
【００２５】
入力画面内の実行ボタンがユーザによって押下されると、指定された実行回数分の通信経路確認処理が開始される。
【００２６】
出力画面は、マスタ１が、各スレーブ２について、往路及び復路の経路情報を取得し、通信経路確認処理を完了させると、表示される。図５に示される出力画面の例は、指定された実行回数分の通信経路確認処理が完了すると表示される画面である。図５の出力画面には、実行回ごとに、各スレーブ２について、往路と復路との経路情報と、往路と復路との経路情報の一致又は不一致、各スレーブ２への通信経路の往路と復路との一致回数と、が表示される。図５の出力画面では、便宜的に、ルータの識別情報はアルファベットで示されているが、実際には、各ルータのＩＰアドレスが表示される。
【００２７】
なお、図５に示されるマスタ１の入力画面及び出力画面は、一例であって、これに限定されない。例えば、出力画面には、各スレーブ２への通信経路の往路と復路との一致回数の代わりに、各スレーブ２への通信経路の往路と復路との不一致回数が表示されてもよい。また、出力画面は、各回の通信経路確認処理が終了する度に表示され、各回の通信経路確認処理の実行結果を追加するように更新されてもよい。
【００２８】
＜装置構成＞
マスタ１及びスレーブ２は、通信経路確認処理における通信装置の役割を示すものである。同じ通信装置がマスタ１として動作することもあれば、スレーブ２として動作することもある。
【００２９】
図６は、通信装置のハードウェア構成の一例を示す図である。通信装置３は、例えば、ＰＣ（Personal Computer）、タブレット端末、スマートフォン等の端末装置である。図
６では、通信装置３は、端末装置であると想定して説明される。通信装置３は、ＣＰＵ（Central Processing Unit）３０１、主記憶装置３０２、入力装置３０３、出力装置３０
４、補助記憶装置３０５、ネットワークインタフェース３０７を備える。また、これらはバス３０９により互いに電気的に接続されている。
【００３０】
入力装置３０３は、例えば、キーボード、マウス、タッチパネル等である。入力装置３０３から入力されたデータは、ＣＰＵ  ３０１に出力される。出力装置３０４は、ＣＰＵ
３０１の処理の結果を出力する。出力装置３０４は、ディスプレイ、プリンタを含む。
【００３１】
補助記憶装置３０５は、様々なプログラムや、各プログラムの実行に際してＣＰＵ  ３０１が使用するデータを格納する。補助記憶装置３０５は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、フラッシュメモリ、又はハードディスクドライブ（Hard Disk Drive）等の不揮発性のメモリである。補助記憶装置３０５は、例えば、オペレーティングシステム（ＯＳ）、ＴＲＡＣＥＲＯＵＴＥプログラム、通信経路確認マスタプログラム３０５Ｑ、通信経路確認スレーブプログラム３０５Ｒ、その他様々なアプリケーションプログラムを保持する。通信経路確認マスタプログラム３０５Ｑ、通信経路確認スレーブプログラム３０５Ｒは、それぞれ、通信装置３をマスタ１、スレーブ２として動作させるためのプログラムである。ＴＲＡＣＥＲＯＵＴＥプログラムは、ＴＲＡＣＥＲＯＵＴＥを実行するためのプログラムである。
【００３２】
主記憶装置３０２は、ＣＰＵ  ３０１に、補助記憶装置３０５に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置３０２は、例えば、ＲＡＭ（Random Access Memory）のような半導体メモ
リを含む。
【００３３】
ＣＰＵ  ３０１は、補助記憶装置３０５に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置３０２にロードして実行することによって、様々な処理を実行する。ＣＰＵ  ３０１は、１つに限られず、複数備えられてもよい。
【００３４】
ネットワークインタフェース３０７は、ネットワークとの信号の入出力を行うインタフェースである。ネットワークインタフェース３０７は、有線のネットワークと接続するインタフェース、無線のネットワークと接続するインタフェースを含む。ネットワークインタフェース３０７は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード、３Ｇ（3rd Generation）、ＬＴＥ（Long Term Evolution）等の
携帯電話網に接続するための無線回路等である。ネットワークインタフェース３０７で受信されたデータ等は、ＣＰＵ  ３０１に出力される。
【００３５】
なお、図６に示される通信装置３のハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。例えば、通信装置３は、可搬記録媒体駆動装置を備え、可搬記録媒体に記録されたプログラムを実行してもよい。可搬記録媒体は、例えば、ＳＤカード、ｍｉｎｉＳＤカード、ｍｉｃｒｏＳＤカード、ＵＳＢ（Universal Serial Bus）フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ(Digital Versatile Disc)、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ、又はフラッシュメモリカードのような記録媒体である。
【００３６】
図７は、通信装置３の機能構成の一例を示す図である。通信装置３は、機能構成として、マスタ制御部３１、スレーブ制御部３２、ＴＲＡＣＥＲＯＵＴＥ実行部３３、通信経路テーブル３４を備える。マスタ制御部３１、通信経路テーブル３４は、ＣＰＵ  ３０１が通信経路確認マスタプログラム３０５Ｑを実行することによって達成される機能構成である。スレーブ制御部３２は、ＣＰＵ  ３０１が通信経路確認スレーブプログラム３０５Ｒを実行することによって達成される機能構成である。ＴＲＡＣＥＲＯＵＴＥ実行部３３は、ＣＰＵ  ３０１がＴＲＡＣＥＲＯＵＴＥプログラムを実行することによって達成される機能構成である。
【００３７】
マスタ制御部３１は、マスタ１としての処理を制御する。具体的には、マスタ制御部３１は、ユーザによって指定されたスレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行をＴＲＡＣＥＲＯＵＴＥ実行部３３に指示する。マスタ制御部３１は、ＴＲＡＣＥＲＯＵＴＥ実行部３３から、ＴＲＡＣＥＲＯＵＴＥの実行結果を受信し、該実行結果を通信経路テーブル３４に格納する。スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果は、ＴＲＡＣＥＲＯＵＴＥが成功した場合には往路の経路情報、ＴＲＡＣＥＲＯＵＴＥが失敗した場合にはエラーコードである。なお、ＴＲＡＣＥＲＯＵＴＥの成功とは、宛先からＩＣＭＰ  ＥＣＨＯ  ＲＥＰＬＹメッセージが返ってきて、宛先までの経路上のルータのＩＰアドレスを取得したことを示す。ＴＲＡＣＥＲＯＵＴＥの失敗とは、宛先又は経路上のルータから所定時間経過してもＩＣＭＰ  ＥＣＨＯ  ＲＥＰＬＹが返ってこず、宛先までの経路上のルータのＩＰアドレスを取得できないことを示す。
【００３８】
次に、マスタ制御部３１は、該スレーブ２に対して、自装置宛てのＴＲＡＣＥＲＯＵＴＥの実行と実行結果の通知とを指示する復路取得依頼を送信する。マスタ制御部３１は、スレーブ２から復路取得依頼に対する応答を受信する。復路取得依頼に対する応答には、自装置宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が含まれている。自装置宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果は、該当のスレーブ２でＴＲＡＣＥＲＯＵＴＥが成功した場合には復路の経路情報、該当のスレーブ２でＴＲＡＣＥＲＯＵＴＥが失敗した場合にはエラーコードである。マスタ制御部３１は、復路取得依頼に対する応答に含まれ
る自装置宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果を通信経路テーブル３４に格納する。
【００３９】
マスタ制御部３１は、ユーザに指定された全スレーブ２について、ユーザに指定された回数の通信経路確認処理が終了すると、通信経路テーブル３４に格納される、各スレーブ２についての各回の通信経路確認処理の実行結果を出力装置３０４に出力する。マスタ制御部３１は、「制御部」の一例である。
【００４０】
通信経路テーブル３４は、ＣＰＵ  ３０１による通信経路確認マスタプログラム３０５の実行を通じて、補助記憶装置３０５の記憶装置に作成される。通信経路テーブル３４は、ユーザに指定された各スレーブ２について、各回の通信経路確認処理の実行結果としての往路及び復路の経路情報を保持する。通信経路テーブル３４は、例えば、通信経路確認マスタプログラム３０５の起動時に、空の状態に更新されてもよいし、過去の通信経路確認マスタプログラム３０５の実行履歴として、ユーザ操作により削除されるまで、通信経路確認処理の実行結果を保持してもよい。
【００４１】
スレーブ制御部３２は、スレーブ２としての処理を制御する。具体的には、スレーブ制御部３２は、起動すると、マスタ１からの復路取得依頼を待ち受ける。スレーブ制御部３２は、マスタ１からの復路取得依頼を受信すると、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行をＴＲＡＣＥＲＯＵＴＥ実行部３３に指示する。スレーブ制御部３２は、ＴＲＡＣＥＲＯＵＴＥ実行部３３から、ＴＲＡＣＥＲＯＵＴＥの実行結果を受信し、該ＴＲＡＣＥＲＯＵＴＥの実行結果を含む復路取得依頼に対する応答を生成し、該応答をマスタ１に送信する。
【００４２】
マスタ１の復路取得依頼とスレーブ２の該復路取得依頼に対する応答とのやり取りは、例えば、以下のいずれの方法で実行されてもよい。
【００４３】
（Ａ）マスタ１のマスタ制御部３１は、復路取得依頼として、ＴＥＬＮＥＴ又はリモートデスクトップ機能を用いて、スレーブ２に接続し、スレーブ２上で自装置宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行させる。スレーブ２のＴＲＡＣＥＲＯＵＴＥ実行部３３は、ＴＥＬＮＥＴ又はリモートデスクトップの接続を通じて入力されるコマンドに従い、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行する。
【００４４】
マスタ１のマスタ制御部３１は、ＴＥＬＮＥＴ又はリモートデスクトップの接続を通じて、スレーブ２に、自装置宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果をテキストファイルとして保存させる。次に、マスタ１のマスタ制御部３１は、ＴＥＬＮＥＴ又はリモートデスクトップの接続を通じて、スレーブ２に、ＦＴＰ（File Transfer Protocol）を用いて、該ファイルをマスタ１宛てに送信させる。この場合には、ＦＴＰを用いて送信されるテキストファイルが、復路取得依頼に対する応答となる。
【００４５】
なお、（Ａ）の方法の場合には、スレーブ２のスレーブ制御部３２の処理は、マスタ１のマスタ制御部３１がＴＥＬＮＥＴ又はリモートデスクトップの接続を通じて行うこととなる。すなわち、（Ａ）の方法の場合には、通信経路確認スレーブプログラム３０５Ｒは、マスタ１の通信経路確認マスタプログラム３０５Ｑに含まれるモジュールの一つとなる。また、スレーブ２のスレーブ制御部３２は、マスタ１の通信経路確認マスタプログラム３０５Ｑの実行過程において、マスタ１が通信経路確認スレーブプログラム３０５Ｒを実行することによって達成されるものとなる。
【００４６】
（Ｂ）スレーブ２のスレーブ制御部３２は、マスタ１からスレーブ２宛てに実行されるＴＲＡＣＥＲＯＵＴＥにおいて用いられるＩＣＭＰ  ＥＣＨＯメッセージの受信を契機に
、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行する。この場合には、マスタ１が実行するＴＲＡＣＥＲＯＵＴＥの過程でマスタ１からスレーブ２宛てに送信されるＩＣＭＰ  ＥＣＨＯメッセージが復路取得依頼となる。
【００４７】
スレーブ２のスレーブ制御部３２は、例えば、マスタ１のＩＰアドレスを予め記憶しておくことで、マスタ１からのＩＣＭＰ  ＥＣＨＯメッセージを復路取得依頼として検出可能となる。
【００４８】
スレーブ２のスレーブ制御部３２は、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果をＴＲＡＣＥＲＯＵＴＥ実行部３３から受け取ると、該実行結果をテキストファイルとして保存し、ＦＴＰを用いてマスタ１に送信する。この場合には、ＦＴＰを用いて送信されるテキストファイルが、復路取得依頼に対する応答となる。
【００４９】
（Ｃ）例えば、ＮＡＳ（Network Attached Storage）のような共有サーバを導入して、（Ａ）又は（Ｂ）において、スレーブ２のスレーブ制御部３２は、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果のテキストファイルを、該共有サーバに格納する。また、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行完了とともに、スレーブ２のスレーブ制御部３２は、復路取得依頼に対する応答として、ＴＲＡＣＥＲＯＵＴＥの実行完了をマスタに通知する。
【００５０】
マスタ１は、スレーブ２からＴＲＡＣＥＲＯＵＴＥの実行完了を、実行回数分受信したら、共有サーバから、例えば、ＦＴＰのＧＥＴコマンドを実行して、スレーブ２のＴＲＡＣＥＲＯＵＴＥの実行結果であるテキストファイルを取得する。
【００５１】
なお、マスタ１とスレーブ２との間の復路取得要求及び応答のやり取りは、上記（Ａ）〜（Ｃ）に限定されない。
【００５２】
ＴＲＡＣＥＲＯＵＴＥ実行部３３は、マスタ制御部３１及びスレーブ制御部３２からの指示に従って、指定された宛先へのＴＲＡＣＥＲＯＵＴＥコマンドを実行する。また、ＴＲＡＣＥＲＯＵＴＥ実行部３３は、ＴＲＡＣＥＲＯＵＴＥコマンドの実行結果を、マスタ制御部３１又はスレーブ制御部３２に出力する。ＴＲＡＣＥＲＯＵＴＥ実行部３３は、「経路取得部」の一例である。
【００５３】
＜処理の流れ＞
図８は、マスタ制御部３１の処理のフローチャートの一例である。図８に示されるフローチャートは、例えば、図５に示される入力画面の実行ボタンの押下等の、ユーザ操作によって開始される。なお、図８に示される処理の主体はＣＰＵ  ３０１であるが、便宜上、マスタ制御部３１を主体として説明する。
【００５４】
ＯＰ１では、マスタ制御部３１は、変数ｎを１に設定する。変数ｎは、通信経路確認処理の実行回数を計数するための変数である。次に処理がＯＰ２に進む。
【００５５】
ＯＰ２では、マスタ制御部３１は、スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行をＴＲＡＣＥＲＯＵＴＥ実行部３３に指示する。ＴＲＡＣＥＲＯＵＴＥ実行部３３は、マスタ制御部３１からの指示を受けて、スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行する。ＴＲＡＣＥＲＯＵＴＥ実行部３３は、スレーブ２宛てのＴＲＡＣＥＲＯＵＥＴコマンドの実行結果をマスタ制御部３１に出力する。次に処理がＯＰ３に進む。
【００５６】
ＯＰ３では、マスタ制御部３１は、スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が成功であるか否かを判定する。スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマン
ドの実行結果が成功である場合には（ＯＰ３：ＹＥＳ）、処理がＯＰ４に進む。スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が失敗である場合には（ＯＰ３：ＮＯ）、エラーとなり、図８に示される処理が終了する。
【００５７】
ＯＰ４では、マスタ制御部３１は、往路の経路情報を通信経路テーブル３４に格納する。次に処理がＯＰ５に進む。ＯＰ５では、マスタ制御部３１は、スレーブ２に復路取得依頼を送信する。次に処理がＯＰ６に進む。
【００５８】
ＯＰ６では、マスタ制御部３１は、スレーブ２から復路取得依頼に対する応答の待機状態となる。マスタ制御部３１がスレーブ２から復路取得依頼に対する応答を受信した場合には（ＯＰ６：ＹＥＳ）、処理がＯＰ７に進む。スレーブ２に復路取得依頼が送信されてから所定時間経過しても、スレーブ２から復路取得依頼に対する応答が受信されない場合には（ＯＰ６：ＮＯ）、エラーとなり、図８に示される処理が終了する。
【００５９】
ＯＰ７では、マスタ制御部３１は、スレーブ２から受信した復路取得依頼に対する応答に含まれる復路の経路情報を通信経路テーブル３４に格納する。次に処理がＯＰ８に進む。
【００６０】
ＯＰ８では、マスタ制御部３１は、往路と復路で経路情報を比較し、往路と復路との経路情報が一致しているか否かを判定する。第１実施形態において、往路と復路との経路情報が一致しているとは、往路と復路とで、経由するルータが一致しており、且つ、復路のルータの経由順が往路のルータの経由順と逆の順になっている、ということである。往路と復路とで経路情報が一致している場合には（ＯＰ８：ＹＥＳ）、処理がＯＰ９に進む。往路と復路とで経路情報が一致していない場合には（ＯＰ８：ＮＯ）、処理がＯＰ１０に進む。
【００６１】
ＯＰ９では、マスタ制御部３１は、往路と復路とで経路情報が一致しているので、通信経路テーブル３４内の該当のスレーブ２の往路と復路との一致回数に１を加算する。次に処理がＯＰ１０に進む。
【００６２】
ＯＰ１０では、マスタ制御部３１は、変数ｎがＮであるか否かを判定する。Ｎは、ユーザに指定された通信経路確認処理の実行回数である。変数ｎがＮである場合には（ＯＰ１０：ＹＥＳ）、通信経路確認処理がユーザに指定された回数実行されたので、図８に示される処理が終了する。変数ｎがＮでない場合には（ＯＰ１０：ＮＯ）、処理がＯＰ１１に進む。
【００６３】
ＯＰ１１では、マスタ制御部３１は、変数ｎを１加算した値に更新する。次に処理がＯＰ２に進み、ＯＰ２からの処理が繰り返し実行される。
【００６４】
なお、ユーザによって指定されたスレーブ２が複数ある場合には、マスタ制御部３１は、それぞれのスレーブ２に対して図８の処理を実行してもよい。また、マスタ制御部３１は、例えば、ＯＰ２からＯＰ９までの処理をユーザに指定された全スレーブ２について終了してから、ＯＰ１０に進むように、図８の処理を実行してもよい。図８に示される処理が終了すると、マスタ制御部３１は、通信経路テーブル３４から各スレーブ２の経路情報を読み出し、例えば、図５の出力画面の例のように出力する。
【００６５】
図９は、スレーブ制御部３２の処理のフローチャートの一例である。図９に示されるフローチャートは、例えば、通信装置３の起動時、ユーザ操作の入力等によって、通信経路確認スレーブプログラム３０５Ｒが起動されると開始される。また、図９に示される処理は、通信装置３の稼働中、繰り返し実行される。なお、図９に示される処理の主体はＣＰ
Ｕ  ３０１であるが、便宜上、スレーブ制御部３２を主体として説明する。
【００６６】
ＯＰ２１では、スレーブ制御部３２は、復路取得依頼の受信を待機する。復路取得依頼を受信した場合には（ＯＰ２１：ＹＥＳ）、処理がＯＰ２２に進む。
【００６７】
ＯＰ２２では、スレーブ制御部３２は、復路取得依頼を受信したので、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行をＴＲＡＣＥＲＯＵＴＥ実行部３３に指示する。ＴＲＡＣＥＲＯＵＴＥ実行部３３は、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行し、実行結果をスレーブ制御部３２に出力する。次に処理がＯＰ２３に進む。
【００６８】
ＯＰ２３では、スレーブ制御部３２は、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が成功であるか否かを判定する。マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が成功である場合には（ＯＰ２３：ＹＥＳ）、処理がＯＰ２４に進む。マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が失敗である場合には（ＯＰ２３：ＮＯ）、処理がＯＰ２５に進む。
【００６９】
ＯＰ２４では、スレーブ制御部３２は、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が成功であるので、復路の経路情報を含む復路取得依頼の応答をマスタ１に送信する。その後、図９に示される処理が終了する。
【００７０】
ＯＰ２５では、スレーブ制御部３２は、マスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行結果が失敗であるので、エラーコードを含む復路取得依頼の応答をマスタ１に送信する。その後、図９に示される処理が終了する。
【００７１】
なお、上述の（Ａ）の方法が採用される場合には、図８のＯＰ５の復路取得依頼の送信としてＴＥＬＮＥＴ又はリモートデスクトップの接続が開始される。該接続が確立されると、マスタ１上で通信経路確認スレーブプログラム３０５Ｒが起動されて、スレーブ２上で図９の処理が開始されることとなる。ＴＥＬＮＥＴ又はリモートデスクトップの接続は、指定された実行回数分の通信経路確認処理が終了するまで維持されてもよいし、１回の通信経路確認処理ごとに、確立及び切断されてもよい。
【００７２】
＜第１実施形態の作用効果＞
第１実施形態では、マスタ１は、スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行とともに、スレーブ２に対してマスタ１宛てのＴＲＡＣＥＲＯＵＴＥコマンドの実行と実行結果の通知とを指示する。マスタ１は、マスタ１からスレーブ２への方向と、スレーブ２からマスタ１への方向との両方向の経路情報を取得することができる。
【００７３】
また、第１実施形態によれば、マスタ１のユーザは、スレーブ２のＩＰアドレスを入力して実行開始操作を行うことで、上記両方向の経路情報を取得することができるようになる。すなわち、通信経路確認処理におけるユーザ操作が減り、ユーザの手間を軽減することができる。スレーブ２が複数である場合でも、マスタ１のユーザは、各スレーブ２のＩＰアドレスを入力することで、各スレーブ２について、上記両方向の経路情報を取得することができ、大幅にユーザの手間を軽減することができる。
【００７４】
また、第１実施形態では、マスタ１は、マスタ１からスレーブ２への方向と、スレーブ２からマスタ１への方向との両方向の経路情報が一致しているか否かを判定し、判定結果を出力する。これによって、ユーザ自身が上記両方向の経路情報を比較する手間を省くことができる。
【００７５】
＜その他＞
第１実施形態では、通信経路取得コマンドの一例としてＴＲＡＣＥＲＯＵＴＥコマンドが用いられる場合について説明された。ただし、第１実施形態で説明された技術は、ＴＲＡＣＥＲＯＵＴＥ以外の通信経路取得コマンドにも適用可能である。例えば、マスタ１からスレーブ２に宛てのパケットを中継する際に、各ルータが該パケットの所定の位置にそれぞれ自身のＩＰアドレスを順番に付与し、該パケットをマスタ１が回収することで、経路情報を取得させるようなコマンドにも適用可能である。
【００７６】
第１実施形態では、マスタ１は、スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行してから、スレーブ２に復路取得依頼を送信する。これに限られず、マスタ１は、スレーブ２に復路取得依頼を送信し、スレーブ２から復路の経路情報を受信してから、スレーブ２宛てのＴＲＡＣＥＲＯＵＴＥコマンドを実行してもよい。ただし、マスタ１が復路取得依頼の送信を先に実行する場合には、マスタ１とスレーブ２との復路取得依頼及び応答のやり取りとして上記（Ｂ）の方法は採用されない。
【００７７】
また、第１実施形態は、複数のマスタ１を管理する管理装置をさらに備え、管理装置からネットワークを通じて各マスタ１にスレーブ２の情報が入力され、各マスタ１から管理装置に各マスタ１と各スレーブ２との間の往路及び復路の経路情報が送信されるように拡張することも可能である。
【００７８】
また、通信装置３は端末装置に限定されず、例えば、ルータのような中継装置であってもよい。通信装置３が中継装置であり、該中継装置をマスタ１として動作させる場合には、該中継装置にコンソール又はネットワークを通じて接続する端末装置の表示装置がユーザインタフェースとして用いられる。
【００７９】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００８０】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
【符号の説明】
【００８１】
１      マスタ
２      スレーブ
３      通信装置
３１    マスタ制御部
３２    スレーブ制御部
３３    ＴＲＡＣＥＲＯＵＴＥ実行部
３４    通信経路テーブル
１００  通信ネットワークシステム
３０１  ＣＰＵ
３０２  主記憶装置
３０５  補助記憶装置
３０５Ｑ    通信経路確認マスタプログラム
３０５Ｒ    通信経路確認スレーブプログラム
【図１】
0006454190.tif 000002
【図２】
0006454190.tif 000003
【図３】
0006454190.tif 000004
【図４】
0006454190.tif 000005
【図５】
0006454190.tif 000006
【図６】
0006454190.tif 000007
【図７】
0006454190.tif 000008
【図８】
0006454190.tif 000009
【図９】
0006454190.tif 000010