(57)【要約】【課題】通信品質劣化の検知に応じて、通信品質劣化の箇所と原因を絞り込む。【解決手段】ネットワークシステムは、アプリケーションサーバとフィールド機器間の制御通信を転送するミドルサーバにおいて、アプリケーションサーバからフィールド機器への周期的な往復の制御通信を転送する転送部、転送部による転送時間から記往復通信の完了時間を測定する通信遅延測定部、完了時間が劣化した場合は、その劣化のパターンと設定されたパターンとをマッチングして通信品質劣化を分析して、通信品質劣化の分析の結果に基づいて、通信品質劣化の箇所と原因を絞り込む。【選択図】図２
2015173375.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションサーバ、無線モジュールを備えたフィールド機器、前記無線モジュールと接続する基地局、前記基地局と接続する広域網、および、前記広域網と前記アプリケーションサーバとに接続するミドルサーバを有するネットワークシステムであって、前記ミドルサーバは、
前記アプリケーションサーバの前記フィールド機器宛の周期的な通信を転送する転送部、
前記転送部による転送時間から前記通信の完了時間を測定する通信遅延測定部、
前記完了時間の劣化を検知したときの前記完了時間の値と劣化した前記完了時間の出現確率のパターンを、設定されたパターンとのマッチングにより通信品質劣化を分析し、前記通信品質劣化の分析の結果に基づいて、前記通信品質劣化の箇所および原因を絞り込む分析部、および、
絞り込んだ前記通信品質劣化の前記箇所および前記原因を表示する出力部を含むことを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記分析部は、前記マッチングの際に、劣化した前記完了時間の値と劣化した前記完了時間の出現確率のパターンが同様である前記フィールド機器の範囲のパターンを、前記フィールド機器の位置情報を用いて作成し、作成した前記範囲のパターンを、設定された前記パターンとマッチングすることを特徴とするネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記ミドルサーバは、絞り込んだ前記通信品質劣化の前記箇所および前記原因に応じて、対応処理を選択する通信品質劣化時対応部をさらに含むことを特徴とするネットワークシステム。
【請求項４】
請求項２に記載のネットワークシステムであって、
前記分析部は、絞り込んだ前記通信品質劣化の前記箇所および前記原因が複数の場合に、複数の前記通信品質劣化の前記箇所および前記原因に対策の優先度を付けることを特徴とするネットワークシステム。
【請求項５】
請求項１に記載のネットワークシステムであって、
前記ミドルサーバは、前記分析部が前記完了時間の劣化の検知に必要なパラメタを、実績通信の監視結果に基づいて設定するパラメタ設定部をさらに備えることを特徴とするネットワークシステム。
【請求項６】
請求項１に記載のネットワークスステムであって、
前記転送部は、前記アプリケーションサーバからの前記フィールド機器宛の周期的な片道通信を転送し、
前記分析部は、前記完了時間の値に代えて、前記通信遅延測定部が求めた、前記片道通信の周期から算出した時間と実際の転送時間との差を用いることを特徴とするネットワークシステム。
【請求項７】
請求項２に記載のネットワークシステムであって、
前記フィールド機器は前記ミドルサーバとタイムスタンプを含むテストパケットを送受信する通信ミドルを含み、
前記通信遅延測定部は、前記通信ミドルとの間の前記テストパケットの送受信による前記往復通信の前記完了時間を測定することを特徴とするネットワークシステム。
【請求項８】
請求項２に記載のネットワークシステムであって、
前記転送部は、タイムスタンプを含むヘッダを周期的な前記往復通信に付与し、
前記通信遅延測定部は、前記ヘッダを参照して前記往復通信の前記完了時間を測定することを特徴とするネットワークシステム。
【請求項９】
アプリケーションサーバ、無線モジュールを備えたフィールド機器前記無線モジュールが接続する基地局、前記基地局と接続する広域網、前記広域網と前記アプリケーションサーバとに接続するミドルサーバを有するネットワークシステムにける通信品質劣化の箇所および原因の絞り込み方法であって、
前記ミドルサーバは、前記アプリケーションサーバの前記フィールド機器宛の周期的な通信を転送し、
前記往復通信の転送の転送時間から前記通信の完了時間を測定し、
前記完了時間が劣化したときの前記完了時間の値と劣化した前記完了時間の出現確率のパターンを、設定されたパターンとのマッチングにより通信品質劣化を分析し、
前記通信品質劣化の分析の結果に基づいて、前記通信品質劣化の箇所および原因を絞り込むことを特徴とする通信品質劣化の箇所および原因の絞り込み方法。
【請求項１０】
請求項９に記載の前記通信品質劣化の箇所および原因の絞り込み方法であって、
前記ミドルサーバは、
前記マッチングの際に、
劣化した前記完了時間の値と劣化した前記完了時間の出現確率のパターンが同様である前記フィールド機器の範囲のパターンを、前記フィールド機器の位置情報を用いて作成し、
作成した前記範囲のパターンを、設定された前記パターンとマッチングすることを特徴とする通信品質劣化の箇所および原因の絞り込み方法。
【請求項１１】
アプリケーションサーバと、前記アプリケーションサーバと通信するフィールド機器とに接続するミドルサーバであって、前記ミドルサーバは、
前記アプリケーションサーバの前記フィールド機器宛の周期的な通信を転送する転送部、
前記転送部による転送時間から前記通信の完了時間を測定する通信遅延測定部、
前記完了時間の劣化を検知したときの前記完了時間の値と劣化した前記完了時間の出現確率のパターンを、設定されたパターンとのマッチングにより通信品質劣化を分析し、前記通信品質劣化の分析の結果に基づいて、前記通信品質劣化の箇所および原因を絞り込む分析部、および、
絞り込んだ前記通信品質劣化の前記箇所および前記原因を表示する出力部を含むことを特徴とするミドルサーバ。
【請求項１２】
請求項１１に記載のミドルサーバであって、
前記分析部は、前記マッチングの際に、劣化した前記完了時間の値と劣化した前記完了時間の出現確率のパターンが同様である前記フィールド機器の範囲のパターンを、前記フィールド機器の位置情報を用いて作成し、作成した前記範囲のパターンを、設定された前記パターンとマッチングすることを特徴とするミドルサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに係り、特にキャリアネットワークを介した社会インフラ向けの制御システムにおいて、通信品質劣化発生時にその箇所と原因を絞り込む技術に関する。
【背景技術】
【０００２】
情報通信ネットワークは、広域化、高速化、無線通信の普及などに伴い適用分野が拡大しており、従来は地理的に限定された場所でシステムが構築されてきたが、近年は広域ネットワークを介した大規模なネットワークシステムが考えられている。このような情報通信ネットワークを利用する例としては、各家に設置された電力を制御するホームゲートウェイを介して必要な電力の監視を行い、監視結果に応じた給電を行うことで地域の電力効率を最適化するスマートシティに代表される社会インフラ向けの制御システムが考えられている。
【０００３】
近年は既設のキャリアネットワークを利用して低工数かつ高速にサービスを行う取り組みがある。スマートシティに代表される社会インフラ向けの制御システムも、既設のキャリアネットワークを利用した広域なネットワークシステムとして構築する取り組みがある。
【０００４】
このような広域なネットワークシステムの通信要件として、スマートシティでは、ホームゲートウェイのようなフィールド機器とアプリケーションサーバとが、定期的にデータのやり取りや生死監視といった制御通信を行っている。一般的に通信量は小さいが遅延には厳しく、制御通信を所定時間内に完了できるよう通信遅延を所定値以内に抑えられるような通信品質の確保が重要である。
【０００５】
既設のキャリアネットワークのような無線ネットワークは、一般的に、有線ネットワークに比べて通信品質が劣化し通信遅延が増大するリスクが高い。通信品質が劣化したことを検知した場合は、優先度制御により高優先度データに絞った送信、経路制御による通信品質が劣化したネットワークの迂回などの処理が行われることが多い。しかし、常にそれらの処理を制御システムに含まれる全ての機器に対して行うと、通信品質劣化の影響を受けていない機器までが制御処理に含まれてしまい、逆に処理のオーバーヘッド等で全体性能が落ちてしまう可能性がある。また、通信品質劣化の原因によって、適切な対応方法は異なる。従って、通信品質劣化時に、通信品質の劣化を起こした箇所と原因を明確にすることが重要である。
【０００６】
特許文献１と２では、End-to-Endの測定結果とトポロジ情報とを分析し、通信品質の劣化を起こしたノードを明らかにする方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２１１３５８号公報
【特許文献２】特開２００２−２７１３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
スマートシティに代表される社会インフラ向けの制御システムでは、周期的に通信が多く発生するため、各通信処理は所定時間以内に完了することが求められる。従って、通信品質が劣化時には、通信品質劣化の箇所と原因を特定し、それに応じて優先度制御や経路制御などの対応を選択し、通信品質を維持する必要がある。
【０００９】
特許文献１と２に開示された方法では、キャリアネットワークでの通信品質劣化の有無とその原因となったノードの切分を行うことが出来る。スマートシティのような社会インフラ向けの制御システムに代表される広域なネットワークシステムでは、通信品質劣化の箇所と原因はキャリアネットワークのみではない。通信品質劣化の箇所の例としては、例えば無線基地局、フィールドに設置された機器の無線モジュール、各機器のミドルウェアやソフトウェアなどが考えられる。通信品質劣化の原因の例としては、機器障害や輻輳の他に、局所的なクロストラフィックの影響、電波強度の劣化、ドーマントスリープによる待機時間、呼制御の遅れ、などが考えられる。このように通信品質劣化の箇所と原因の候補は非常に広く、通信品質が劣化したことは確認出来ても、その箇所と原因を絞り込めない課題がある。
【００１０】
本発明は、広域なネットワークシステムでアプリケーションサーバとキャリアネットワークとの間に位置するミドルサーバにおいて、通信品質劣化を検知し、検知した通信品質劣化の箇所と原因を絞り込むことを目的とする。
【課題を解決するための手段】
【００１１】
開示するネットワークシステムは、アプリケーションサーバとフィールド機器間の制御通信を転送するミドルサーバにおいて、アプリケーションサーバからフィールド機器への周期的な往復の制御通信を転送する転送部、転送部による転送時間から記往復通信の完了時間を測定する通信遅延測定部、完了時間が劣化した場合は、その劣化のパターンと設定されたパターンとをマッチングして通信品質劣化を分析して、通信品質劣化の分析の結果に基づいて、通信品質劣化の箇所および原因を絞り込む分析部を有する。
【発明の効果】
【００１２】
開示されるネットワークシステムによれば、アプリケーションサーバとキャリアネットワークとの間に位置するミドルサーバにおいて、通信品質劣化の検知に応じて、検知した通信品質劣化の箇所と原因を絞り込むことができる。
【図面の簡単な説明】
【００１３】
【図１】実施例１におけるネットワークシステムの構成図である。
【図２】実施例１におけるミドルサーバの構成図である。
【図３】実施例１における周期通信情報の設定テーブルの一例である。
【図４】実施例１における周期通信特定の特定時間設定テーブルの一例である。
【図５】実施例１における周期通信特定のシーケンス図である。
【図６】実施例１における周期通信特定部のフローチャートである。
【図７】実施例１における周期通信特定用の通信記録テーブルの一例である。
【図８】実施例１における周期通信特定の結果テーブルの一例である。
【図９】実施例１における通信遅延測定のシーケンス図である。
【図１０】実施例１における通信遅延測定部のフローチャートである。
【図１１】実施例１における通信遅延測定の結果テーブルの一例である。
【図１２】実施例１における通信遅延パターンの設定テーブルの一例である。
【図１３】実施例１における通信遅延パターンによる分析の設定テーブルの一例である。
【図１４】実施例１における通信遅延パターンによる分析のシーケンス図である。
【図１５】実施例１における通信遅延パターンによる分析部のフローチャートである。
【図１６】実施例１における通信遅延パターンによる分析の結果テーブルの一例である。
【図１７】実施例１における位置情報の設定テーブルの一例である。
【図１８】実施例１における影響範囲の設定テーブルの一例である。
【図１９】実施例１における通信遅延パターンおよび影響範囲による分析の設定テーブルの一例である。
【図２０】実施例１における通信遅延パターンおよび影響範囲による分析のシーケンス図である。
【図２１】実施例１における通信遅延パターンおよび影響範囲による分析部のフローチャートである。
【図２２】実施例１における通信遅延パターンおよび影響範囲による分析の結果テーブルの一例である。
【図２３】実施例１における通信品質劣化時対応設定テーブルの一例である。
【図２４】実施例１における通信品質劣化時対応部のフローチャートである。
【図２５】実施例１における通信品質劣化状況を表す画面イメージの一例である。
【図２６】実施例２における通信遅延パターンおよび影響範囲による分析の設定テーブルの一例である。
【図２７】実施例２における通信遅延パターンおよび影響範囲による分析部のフローチャートである。
【図２８】実施例２における通信遅延パターンおよび影響範囲による分析の結果テーブルの一例である。
【図２９】実施例３における周期通信情報の設定テーブルの一例である。
【図３０】実施例３形態における周期通信用の記録テーブルの一例である。
【図３１】実施例３における周期通信特定部のフローチャートである。
【図３２】実施例４におけるミドルサーバの、実施例１との差分構成図である。
【図３３】実施例４における通信遅延増減測定の設定テーブルの一例である。
【図３４】実施例４における通信遅延増減測定のシーケンス図である。
【図３５】実施例４における通信遅延増減測定部のフローチャートである。
【図３６】実施例４における通信遅延増減測定の結果テーブルの一例である。
【図３７】実施例５におけるフィールド機器の構成図である。
【図３８】実施例５におけるミドルサーバの、実施例１との差分構成図である。
【図３９】実施例５におけるテストパケットによる通信遅延測定の設定テーブルの一例である。
【図４０】実施例５におけるテストパケットのフォーマットの一例である。
【図４１】実施例５におけるテストパケットによる通信遅延測定のシーケンス図である。
【図４２】実施例５におけるミドルサーバのテストパケットによる通信遅延測定部のフローチャートである。
【図４３】実施例５におけるフィールド機器の通信ミドル（テストパケットによる通信遅延測定部）のフローチャートである。
【図４４】実施例５におけるテストパケットによる通信遅延測定の結果テーブルの一例である。
【図４５】実施例６におけるミドルサーバの、実施例１との差分構成図である。
【図４６】実施例６におけるタイムスタンプヘッダのフォーマットの一例である。
【図４７】実施例６におけるタイムスタンプヘッダによる通信遅延測定のシーケンス図である。
【図４８】実施例６におけるミドルサーバの転送およびタイムスタンプヘッダによる通信遅延測定部のフローチャートである。
【図４９】実施例６におけるフィールド機器の通信ミドル（タイムスタンプヘッダによる通信遅延測定部）のフローチャートである。
【図５０】実施例６におけるタイムスタンプヘッダによる通信遅延測定の結果テーブルの一例である。
【発明を実施するための形態】
【００１４】
本発明の実施形態をいくつかの実施例に基づいて説明する。
【実施例１】
【００１５】
本実施例を、図１〜図２５を用いて説明する。図１は、本実施例におけるネットワークシステムの構成図である。ネットワークシステムは、アプリケーションサーバ１１０がミドルサーバ１２０を中継し、キャリアネットワーク１３０と基地局１４０−ａ〜ｂを介して、無線モジュール１５１−ａ〜ｃを備えるフィールド機器１５０−ａ〜ｃと接続される。
【００１６】
フィールド機器１５０はスマートシティシステムにおいて現場に設置される機器の総称であり、例えば、スマートメータ、ホームゲートウェイ、分散配電制御装置、電気自動車の充電設備などであり、多様なものが存在する。
【００１７】
アプリケーションサーバ１１０で動作するアプリケーションは、フィールド機器１５０と通信を行い、スマートシティでの制御を実行するアプリケーションであり、例えば、スマートメータ管理、配電制御、電気自動車管理などであり、多様なものが存在する。
【００１８】
キャリアネットワーク１３０は、キャリア（通信事業者）が敷設しているネットワークである。通信規格としては３ＧやＬＴＥなど多様なものが存在する。
【００１９】
基地局１４０は、キャリアネットワーク１３０の末端に位置する無線通信装置であり、電波を受信あるいは発信してフィールド機器１５０が備える無線モジュール１５１との無線通信路を確立し、フィールド機器１５０がキャリアネットワーク１３０との通信を可能とする。フィールド機器１５０が備える無線モジュール１５１は、基地局１４０と無線通信を行うものであり、形としては通信カードやＵＳＢ通信モジュールや無線ルータなど多様なものが存在し、規格としてはキャリアの違いや通信規格（３ＧやＬＴＥなど）の違いに応じた多様なものが存在する。
【００２０】
ミドルサーバ１２０は、アプリケーションサーバ１１０とフィールド機器１５０との間の通信を転送し、転送する通信が周期的な通信かどうかを判定し、通信を転送する際の時間を記録することで通信完了時間を測定し、通信遅延パターンおよび影響範囲を分析して、その分析結果に応じて対応方法を選択する。なお、転送機能としては、リピータ、Ｌ３ルーティング、ミドルサーバで受信完了してから転送するなどの多様な方式が存在する。このように、ミドルサーバ１２０は、既存のネットワークシステムにおける転送装置として容易に導入可能であり、ミドルサーバ１２０がアプリケーションサーバ１１０とフィールド機器１５０との間の通信を転送しつつ分析を行うことで、通信品質劣化時の箇所と原因を絞り込むことが可能となる。
【００２１】
なお、アプリケーションサーバ１１０、キャリアネットワーク１３０、基地局１４０、フィールド機器１５０の数は、図１に限定されない。
【００２２】
図２は、本実施例におけるミドルサーバ１２０の構成図である。ミドルサーバ１２０は、中央演算処理装置（Central Processing Unit：CPU）２３０、メインメモリ２１０、記憶装置２５０、結果出力部（Interface：I/F）２７０、ネットワークI/F２７１、記憶装置I/F２７２などのハードウェアを備える。CPU２３０は、各種演算処理を実行する処理部である。メインメモリ２１０は、各種プログラムおよびデータを記録する記録部である。記憶装置２５０は、各種設定項目を記録する記録部である。結果出力I/F２７０は、分析結果などを表示するI/Fである。ネットワークI/F２７１は、アプリケーションサーバ１１０やキャリアネットワーク１３０と通信するためのI/Fである。記憶装置I/F２７２は、記憶装置２５０にアクセスするI/Fである。
【００２３】
CPU２３０上では、周期通信特定部２３１、通信遅延測定部２３２、通信遅延パターンによる分析部２３３、通信遅延パターンおよび影響範囲による分析部２３４、通信品質劣化時対応部２３５、転送部２４１がそれぞれ動作する。
【００２４】
メインメモリ２１０上では、周期通信特定用の通信記録テーブル２１１、周期通信特定の結果テーブル２１２、通信遅延測定の結果テーブル２１３、通信遅延パターンによる分析の結果テーブル２１４、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５のそれぞれのデータが記録される。
【００２５】
記憶装置２５０上では、周期通信情報の設定テーブル２５１、周期通信特定の特定時間設定テーブル２５２、通信遅延パターンの設定テーブル２５３、通信遅延パターンによる分析の設定テーブル２５４、位置情報の設定テーブル２５５、影響範囲の設定テーブル２５６、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７、通信品質劣化時対応設定テーブル２５８のそれぞれのデータが記録される。
【００２６】
図３は、本実施例における周期通信情報の設定テーブル２５１の一例である。周期通信情報の設定テーブル２５１は、ミドルサーバ１２０の記憶装置２５０に記録される。
【００２７】
周期通信情報の設定テーブル２５１は、インデックス（＃）３０１、周期３０２、周期ずれマージン３０３、往路dst IP３０４、往路dst port３０５、往路src IP３０６、往路src port３０７、復路dst IP３０８、復路dst port３０９、復路src IP３１０、復路src port ３１１、機器ID３１２を含む。
【００２８】
インデックス３０１には、各エントリに振られる番号が保存される。周期３０２には、周期通信の周期が保存される。なお、単位は[sec]に限らない。周期ずれマージン３０３には、周期通信をモニタリング時に、想定する周期通信発生時間からずれても周期内とみなして良い最大値が保存される。
【００２９】
項目３０４〜３１３は、周期通信の情報として、往路と復路それぞれの方向について、dst（Destination）には相手側、src（Source）には送り手側の、それぞれIPアドレス（以下、IP）とsrc port番号（送り手側のポート番号）を指定する。なお、決定が困難な項目にはワイルドカードとして*などを指定しても構わない。特にsrc port番号は通信の際に自動的に割り当てられることが多い。また、IPに関しては、上位何bitまで有効とするようなマスクを行ったり、ホスト名やドメイン名などIPアドレス以外の表し方を行っても構わない。図３では、IPアドレスが192.168.1.10のアプリケーションサーバ１１０から、それぞれIPアドレスが192.168.10.10〜12のフィールド機器１５０への、周期通信を示している。
【００３０】
機器ID３１２には、そのエントリで通信相手となるフィールド機器１５０のIDが保存される。
【００３１】
図４は、本実施例における周期通信特定の特定時間設定テーブル２５２の一例である。周期通信特定の特定時間設定テーブル２５２は、ミドルサーバ１２０の記憶装置２５０に記録される。周期通信特定の特定時間設定テーブル２５２は、インデックス４０１、周期通信情報４０２、特定時間４０３を含む。
【００３２】
インデックス（＃）４０１には、各エントリに振られる番号が保存される。周期通信情報４０２には、対応する周期通信を示す番号として、周期通信情報の設定テーブル２５１のインデックス３０１の番号が保存される。特定時間４０３には、周期通信情報４０２が示す周期通信の特定を行う時間が保持される。なお、単位は[sec]に限らない。図４のように特定時間が300[sec]の場合は、300秒の間、通信を監視し続けて周期通信が出現する基準となる時間を特定する。
【００３３】
図５は、本実施例における、周期通信特定のシーケンス図である。図５のシーケンス図において、ミドルサーバ１２０の処理は、周期通信特定部２３１と転送部２４１によって実施される。
【００３４】
ミドルサーバ１２０の周期通信特定部２３１は、最初に、周期通信情報の設定テーブル２５１の設定内容を全て読み込み（５０１）、周期通信特定の特定時間設定テーブル２５２の設定内容を全て読み込む（５０２）。
【００３５】
その後、特定時間４０３が経過するまで以下の処理を行う。アプリケーションサーバ１１０からミドルサーバ１２０への制御通信５２１−ａを受信した際に、転送部２４１がキャリアネットワーク１３０への制御通信５２１−ｂに転送を行う（５２２−ａ）とともに、周期通信特定部２３１が周期通信特定処理を実施し（５０３）、結果を周期通信特定用の通信記録テーブル２１１（図７）に記録する（５１１）。キャリアネットワーク１３０に転送された制御通信５２１−ｂは、キャリアネットワーク１３０により基地局１４０への制御通信５２１−ｃに転送され（５２２−ｂ）、基地局１４０により無線モジュール１５１への制御通信５２１−ｄに転送（５２２−ｃ）され、無線モジュール１５１によりフィールド機器１５０への制御通信５２１−ｅに転送され（５２２−ｄ）、最終的にフィールド機器１５０が制御通信５２１を受信する。
【００３６】
特定時間４０３経過後、ミドルサーバ１２０の周期通信特定部２３１は、周期通信特定用の通信記録テーブル２１１を参照し（５１２、５０４）、その結果を周期通信特定の結果テーブル２１２に記録する（５１３）。
【００３７】
図６は、本実施例における、周期通信特定部２３１のフローチャートである。周期通信特定部２３１は、周期通信情報の設定テーブル２５１の設定内容を全て読み込み（５０１）、周期通信特定の特定時間設定テーブル２５２の設定内容を全て読み込む（５０２）。
【００３８】
周期通信特定部２３１は、通信の監視を開始する（６１０）。図５の制御通信５２１のような通信を受信し、転送した時に検知できるよう監視を行う。
【００３９】
周期通信特定部２３１は、周期通信特定の特定時間設定テーブル２５２に指定された特定時間４０３以内か否か判定を行い、判定結果がＹＥＳの場合はステップ６１２に移行し、判定結果がＮＯの場合はステップ６１８に移行する（６１１）。ステップ６１１はステップ６１０で開始された通信監視中に実施するものであり、監視中に１回に限らず継続的に行っても構わない。
【００４０】
周期通信特定部２３１は、通信検知を待つ（６１２）。通信検知の方法は、例えばミドルサーバ１２０の転送ログの参照や、ミドルサーバ１２０の送受信パケットのスニファなど、ミドルサーバ１２０の転送方法によって多様なものが存在する。
【００４１】
周期通信特定部２３１は、通信がアプリケーションサーバ１１０からフィールド機器１５０の方向か否かを判定し、判定結果がＹＥＳの場合はステップ６１４に移行し、判定結果がＮＯの場合はステップ６１１に移行する（６１３）。ステップ６１３の通信方向の判定は、監視対象の周期通信の往路方向の通信が発生したかどうかを判定するものである。
【００４２】
周期通信特定部２３１は、検知した通信のsrcとdstそれぞれのIPとportを調査し、該当する通信が周期通信情報の設定テーブル２５１に含まれるか否かを判定し、判定結果がＹＥＳの場合はステップ６１５に移行し、判定結果がＮＯの場合はステップ６１１に移行する（６１４）。
【００４３】
周期通信特定部２３１は、検知した通信の詳細を周期通信特定用の通信記録テーブル２１１に登録する（６１５）。
【００４４】
周期通信特定部２３１は、周期通信特定用の通信記録テーブル２１１に登録されたエントリに対して、通信発生時刻７０２（図７）の通信発生時刻から周期（３０２）の周期ずれマージン（３０３）以内の前後に、周期通信情報７０３が同様である通信があれば、前通信候補７０４と後通信候補７０５を対象のエントリ７０１の番号を指すよう記録する（６１６）。
【００４５】
周期通信特定部２３１は、周期通信特定用の通信記録テーブル２１１に登録されたエントリに対して、前通信候補７０４と後通信候補７０５が存在するエントリに対して、周期通信判断７０６を〇とし、そのうち各周期通信情報７０３が示す種類のうち、最も新しいエントリのみ周期通信の先頭候補７０７を〇とする。
【００４６】
周期通信特定部２３１は、周期通信特定用の通信記録テーブル２１１のうち、周期通信の先頭候補７０７が〇のエントリの、周期通信情報７０３を周期通信特定の結果テーブル２１２の周期通信情報８０２に、通信発生時間７０２を同テーブル２１２の通信発生時間基準８０３に記録する（６１８）。
【００４７】
図６のフローチャートのうち、ステップ６１２から６１７が図５のシーケンスの処理５０３、ステップ６１８が図５のシーケンスの処理５０４に相当する。
【００４８】
図７は、本実施例における周期通信特定用の通信記録テーブル２１１の一例である。周期通信特定用の通信記録テーブル２１１は、ミドルサーバ１２０のメインメモリ２１０に記録される。周期通信特定用の通信記録テーブル２１１は、インデックス７０１、通信発生時間７０２、周期通信情報７０３、前通信候補７０４、後通信候補７０５、周期通信判断７０６、周期通信の先頭候補７０７を含む。
【００４９】
インデックス７０１には、各エントリに振られる番号が保存される。通信発生時間７０２には、そのエントリの通信が検知された時間が保存される。周期通信情報７０３には、対応する周期通信を示す番号として、周期通信情報の設定テーブル２５１のインデックス３０１の番号が保存される。前通信候補７０４と後通信候補７０５には、そのエントリが周期通信とした場合に、ひとつ前の周期通信とひとつ後の周期通信の候補のインデックス７０１の番号が保存される。周期通信判断７０６には、前通信候補７０４と後通信候補７０５の判定から、周期通信であるかそうでないかを示す情報が保存される。周期通信の先頭候補７０７には、周期通信判断７０６で周期通信と判断された通信のうち、それぞれの周期通信情報７０３で最も新しい通信かどうかを示す情報が保存される。
【００５０】
図８は、本実施例における周期通信特定の結果テーブル２１２の一例である。周期通信特定の結果テーブル２１２は、ミドルサーバ１２０のメインメモリ２１０に記録される。周期通信特定の結果テーブル２１２は、インデックス８０１、周期通信情報８０２、通信発生時間基準８０３を含む。
【００５１】
インデックス８０１には、各エントリに振られる番号が保存される。周期通信情報８０２には、対応する周期通信を示す番号として、周期通信情報の設定テーブル２５１のインデックス３０１の番号が保存される。通信発生時間基準８０３には、その周期通信が実ネットワークシステムで発生した基準となる時間が保存される。一例として、周期通信特定用の通信記録テーブル２１１の周期通信の先頭候補７０７が〇であるエントリの通信発生時間７０２の値を用いる。
【００５２】
図９は、本実施例における、通信遅延測定のシーケンス図である。図９のシーケンス図において、ミドルサーバ１２０の処理は、通信遅延測定部２３２と、転送部２４１によって実施される。
【００５３】
ミドルサーバ１２０の通信遅延測定部２３２は、以下の処理をループで行う。アプリケーションサーバ１１０からミドルサーバ１２０への制御通信９２１−ａを受信した際に、転送部２４１がキャリアネットワーク１３０への制御通信９２１−ｂに転送を行う（９２２−ａ）とともに、通信遅延測定部２３２が通信遅延測定処理を実施し（９０１）、結果を通信遅延測定結果テーブル２１３に記録する（９１１）。キャリアネットワーク１３０に転送された制御通信９２１−ｂは、その後、キャリアネットワーク１３０と基地局１４０と通信モジュール１５１が転送処理９２２を行ってフィールド機器への制御通信９２１−ｅとなり、フィールド機器は応答の制御通信９２３−ａを返信し、無線モジュール１５１と基地局１４０とキャリアネットワーク１３０が転送処理９２４を行ってミドルサーバ１２０への制御通信９２３−ｄとなる。ミドルサーバ１２０は、制御通信９２３−ｄをアプリケーションサーバ１１０への制御通信９２３−ｅに転送すると同時に、通信遅延測定処理９０２を行い、結果を通信遅延結果テーブル２１３に記録する（９１２）。
【００５４】
図１０は、本実施例における、通信遅延測定部２３２のフローチャートである。
【００５５】
通信遅延測定部２３２は、周期通信情報の設定テーブル２５１の設定内容を全て読み込み（１００１）、周期通信特定の結果テーブル２１２の内容を全て読み込む（１００２）。
【００５６】
通信遅延測定部２３２は、通信監視を開始（１０１１）し、通信を検知（１０１２）するまで待機する。
【００５７】
通信遅延測定部２３２は、検知した通信のsrcとdstそれぞれのIPとportを調査し、該当する通信が周期通信情報の設定テーブル２５１に含まれるか否かを判定し、判定結果がＹＥＳの場合はステップ１０１４に移行し、判定結果がＮＯの場合はステップ１０１２に移行する（１０１３）。
【００５８】
通信遅延測定部２３２は、通信の通信方向を判断し、通信方向がアプリケーションサーバ１１０からフィールド機器１５０の方向の場合はステップ１０１５移行し、通信方向がフィールド機器１５０からアプリケーションサーバ１１０の方向の場合はステップ１０１７に移行する（１０１４）。
【００５９】
通信遅延測定部２３２は、通信の検知時間と、周期通信特定の結果テーブル２１２の通信発生基準時間８０３＋周期（３０２）×ｎとの差の絶対値が、周期ずれマージン差（３０３）以内に収まるかどうかを判定し、判定結果がＹＥＳの場合はステップ１０１６に移行し、判定結果がＮＯの場合はステップ１０１２に移行する（１０１５）。通信遅延測定部２３２は、通信遅延測定の結果テーブル２１３にエントリを作成し、往路通信発生時間１１０３に通信検知時間を記録する（１０１６）。
【００６０】
通信遅延測定部２３２は、通信遅延測定の結果テーブル２１３に、周期通信情報１１０２が同様で、往路通信発生時間１１０３が記録され、復路通信発生時間１１０４が未記録のエントリがあるかどうかを判定し、判定結果がＹＥＳの場合はステップ１０１８に移行し、判定結果がＮＯの場合はステップ１０１２に移行する（１０１７）。通信遅延測定部２３２は、通信遅延測定の結果テーブル２１３の復路通信発生時間１１０４に通信を検知した時間を記録し、遅延１１０５に復路通信発生時間１１０４と往路通信発生時間１１０３との差を記録する。
【００６１】
図１０のフローチャートのうち、ステップ１０１２から１０１６が図９のシーケンスの処理９０１、ステップ１０１２から１０１８が図９のシーケンスの処理９０２に相当する。
【００６２】
図１１は、本実施例における、通信遅延測定の結果テーブル２１３の一例である。通信遅延測定の結果テーブル２１３は、ミドルサーバ１２０のメインメモリ２１０に記録される。通信遅延測定の結果テーブル２１３は、インデックス１１０１、周期通信情報１１０２、往路通信発生時間１１０３、復路通信発生時間１１０４、遅延１１０５を含む。
【００６３】
インデックス１１０１には、各エントリに振られる番号が保存される。周期通信情１１０２には、対応する周期通信を示す番号として、周期通信情報の設定テーブル２５１のインデックス３０１の番号が保存される。往路通信発生時間１１０３には、周期通信の往復のうち、往路の時間が保存される。復路通信発生時間１１０４には、周期通信の往復のうち、復路の時間が保存される。遅延１１０５には、周期通信の往復の完了時間として、復路通信時間１１０４と往路通信発生時間１１０３との差が保存される。
【００６４】
図１２は、本実施例における、通信遅延パターンの設定テーブル２５３の一例である。通信遅延パターンの設定テーブル２５３は、ミドルサーバ１２０の記憶装置２５０に記録される。通信遅延パターンの設定テーブル２５３は、インデックス１２０１、遅延下限１２０２、遅延上限１２０３、出現率下限１２０４、出現率上限１２０５、分析実施間隔１２０６、分析対象とする通信遅延の区間１２０７を含む。
【００６５】
インデックス１２０１には、各エントリに振られる番号が保存される。遅延下限１２０２には、そのエントリの通信遅延パターンが含む通信遅延の下限値が保存される。遅延上限１２０３には、そのエントリの通信遅延パターンが含む通信遅延の上限値が保存される。出現率下限１２０４には、そのエントリの通信遅延パターンにおいて、通信遅延の値が遅延下限１２０２と遅延上限１２０３間となる率の下限値が保存される。出現率上限１２０５には、そのエントリの通信遅延パターンにおいて、通信遅延の値が遅延下限１２０２と遅延上限１２０３間となる率の上限値が保存される。分析実施間隔１２０６には、そのエントリの通信遅延パターンを用いて分析を実施するインターバル時間が保存される。分析対象とする通信遅延の区間１２０７には、そのエントリの通信遅延パターンを用いて分析を行う際に、分析対象とする測定範囲が保存される。
【００６６】
図１３は、本実施例における、通信遅延パターンによる分析の設定テーブル２５４の一例である。通信遅延パターンによる分析の設定テーブル２５４は、ミドルサーバ１２０の記憶装置２５０に記録される。通信遅延パターンによる分析の設定テーブル２５４は、インデックス１３０１、通信遅延パターン１３０２、箇所候補１３０３、原因候補１３０４を含む。
【００６７】
インデックス１３０１には、各エントリに振られる番号が保存される。通信遅延パターン１３０２には、対応する通信遅延パターンを示す番号として、通信遅延パターンの設定テーブル２５３のインデックス１２０１の番号が保存される。箇所候補１３０３には、そのエントリの通信遅延パターン１３０２発生時に、そのような通信遅延が現れる要因となった箇所の候補が保存される。原因候補１３０４には、そのエントリの通信遅延パターン１３０２発生時に、そのような通信遅延が現れた原因の候補が保存される。
【００６８】
本実施例での箇所候補１３０３と原因候補１３０４の設定例を説明する。通信遅延パターン１３０２が通信遅延パターンの設定テーブル２５３のインデックス１２０１が＃１の通信遅延パターンの場合は、通信遅延の増大が観測された出現率上限１２０５は１０％と低めであり、電波干渉や散乱による原因を候補として採用している。＃２の通信遅延パターンの場合は、通信遅延の増大が観測された出現率が過去３０分以内で１０％〜３０％であり、継続的ではなく一定時間のみの事象が発生したことが考えられるため、一時的なクロストラフィックを原因として採用している。＃３の通信遅延パターンの場合は、通信遅延の増大が観測された出現率が３０％以上と継続した通信遅延増大が発生しているととらえ、原因は無線モジュール１５１と基地局１４０とキャリアネットワーク１３０それぞれに他の原因が考えられる。＃４の通信遅延パターンの場合は、不通が発生しているととらえ、原因は無線モジュール１５１と基地局１４０とキャリアネットワーク１３０それぞれに他の原因が考えられる。
【００６９】
図１４は、本実施例における、通信遅延パターンによる分析のシーケンス図である。図１４のシーケンス図において、ミドルサーバ１２０の処理は、通信遅延パターンによる分析部２３３によって実施される。
【００７０】
ミドルサーバ１２０の通信遅延パターンによる分析部２３３は、通信遅延パターンの設定テーブル２５３の設定内容を全て読み込み（１４０１）、通信遅延パターンによる分析の設定テーブル２５４の設定内容を全て読み込む（１４０２）。
【００７１】
通信遅延パターンによる分析部２３３は、以下の処理を、各遅延パターンの分析間隔１２０６毎に、ループで行う。通信遅延測定の結果テーブル２１３から分析対象とする通信遅延の区間１２０７に測定した通信遅延値を読み込み（１４１１）、通信遅延パターンによる分析処理を行い（１４０３）、分析処理の結果を通信遅延パターンによる分析の結果テーブル２１４に書き込む（１４１２）。
【００７２】
図１５は、本実施例における、通信遅延パターンによる分析部２３３のフローチャートである。
【００７３】
通信遅延パターンによる分析部２３３は、まず、通信遅延パターンの設定テーブル２５３の設定内容を全て読み込み（１４０１）、通信遅延パターンによる分析の設定テーブル２５４の設定内容を全て読み込む（１４０２）。
【００７４】
通信遅延パターンによる分析部２３３は、各通信遅延パターンの分析実施間隔１２０６まで待機する（１５１１）。通信遅延パターンによる分析部２３３は、ステップ１５１１で対象とする通信遅延パターンの分析対象とする通信遅延の区間１２０７に測定された通信遅延の値を読み込む（１５１２）。
【００７５】
通信遅延パターンによる分析部２３３は、ステップ１５１２で読み込んだ通信遅延値のうち、ステップ１５１１で対象とする通信遅延パターンの遅延下限１２０２と遅延上限１２０３の間に出現する確率が、出現率下限１２０４と出現率上限１２０５の間にあるか否かの判定を行い、判定結果がＹＥＳの場合はステップ１５１４に移行し、判定結果がＮＯの場合はステップ１５１１に移行する（１５１３）。通信遅延パターンによる分析部２３３は、通信遅延パターンによる分析の結果テーブル２１４に、ステップ１５１３で当てはまった通信遅延パターンを更新する（１５１４）。
【００７６】
図１６は、本実施例における、通信遅延パターンによる分析の結果テーブル２１４の一例である。通信遅延パターンによる分析の結果テーブル２１４は、ミドルサーバ１２０のメインメモリ２１０に記録される。通信遅延パターンによる分析の結果テーブル２１４は、インデックス１６０１、機器ID１６０２、通信遅延パターン１６０３、箇所候補１６０４、原因候補１６０５が含まれる。
【００７７】
インデックス１６０１には、各エントリに振られる番号が保存される。機器ID１６０２には、対応する機器IDを表す値として、周期通信情報の設定テーブル２５１の機器ID３１２の値が保存される。通信遅延パターン１６０３には、対応する通信遅延パターンを表す番号として、通信遅延パターンの設定テーブル２５３のインデックス１２０１の番号が保存される。箇所候補１６０４には、通信遅延パターンによる分析の設定テーブル２５４の箇所候補１３０３を参照して、通信遅延パターン１６０２に対応する箇所の候補が保存される。原因候補１６０５には、通信遅延パターンによる分析の設定テーブル２５４の原因候補１３０４を参照して、通信遅延パターン１６０２に対応する原因の候補が保存される。
【００７８】
図１７は、本実施例における、位置情報の設定テーブル２５５の一例である。位置情報の設定テーブル２５５は、ミドルサーバ１２０の記憶装置２５０に記録される。位置情報の設定テーブル２５５は、インデックス１７０１、機器ID１７０２、IPアドレス１７０３、経度１７０４、緯度１７０５が含まれる。
【００７９】
インデックス１７０１には、各エントリに振られる番号が保存される。機器ID１７０２には、対応する機器IDを表す値として、周期通信情報の設定テーブル２５１の機器ID３１２の値が保存される。IPアドレス１７０３には、対応する機器のIPアドレスが保存される。なお、図３に示す周期通信情報の設定テーブル２５１と同様に、上位何bitまで有効とするようなマスクを行ったり、ホスト名やドメイン名などIPアドレス以外の表し方を行っても構わない。
【００８０】
経度１７０４には、対応する機器の設置位置の経度情報が保存される。緯度１７０５には、対応する機器の設置位置の緯度情報が保存される。
【００８１】
図１８は、本実施例における、影響範囲の設定テーブル２５６の一例である。影響範囲の設定テーブル２５６は、ミドルサーバ１２０の記憶装置２５０に記録される。影響範囲の設定テーブル２５６は、インデックス１８０１、範囲内の最小距離１８０２、範囲内の最大距離１８０３、範囲内に他通信遅延パターンを含んで良い割合１８０４が含まれる。
【００８２】
インデックス１８０１には、各エントリに振られる番号が保存される。範囲内の最小距離１８０２には、そのエントリの影響範囲の大きさが、少なくともこの値以上でなくてはならない最低距離情報が保存される。範囲内の最大距離１８０３には、そのエントリの影響範囲の大きさが、この値を超えてはならない最大距離情報が保存される。
【００８３】
範囲内に他通信遅延パターンを含んで良い割合１８０４には、そのエントリの影響範囲内に、異なる通信遅延パターンを含んで良い割合が保存される。通信遅延増大時、その要因によって、殆どの機器が同様の通信遅延パターンになったり、異なる通信遅延パターンが入り混じったりすると考えられるからである。例えば、基地局１４０に要因がある場合は、該当基地局に接続しているフィールド機器１５０のみ通信遅延が増大するが、設置位置が近くても別の基地局１４０に接続しており通信遅延は増大していないフィールド機器１５０が存在する可能性がある。また、別の例として、キャリアネットワーク１３０に異常が認められる場合は、広範囲に設置された多くのフィールド機器１５０に対して通信遅延が増大すると考えられる。
【００８４】
図１９は、本実施例における、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の一例である。通信遅延パターンおよび影響範囲による分析の設定テーブル２５７は、ミドルサーバ１２０の記憶装置２５０に記録される。通信遅延パターンおよび影響範囲による分析の設定テーブル２５７は、インデックス１９０１、通信遅延パターン１９０２、影響範囲１９０３、箇所候補１９０４、原因候補１９０５を含む
インデックス１９０１には、各エントリに振られる番号が保存される。通信遅延パターン１９０２には、対応する通信遅延パターンを示す番号として、通信遅延パターンの設定テーブル２５３のインデックス１２０１の番号が保存される。影響範囲１９０３には、対応する影響範囲を示す番号として、影響範囲の設定テーブル２５６のインデックス番号が保存される。箇所候補１９０４には、そのエントリの通信遅延パターン１９０２と影響範囲１９０３にあてはまる現象が発生時に、要因となった箇所の候補が保存される。原因候補１９０５には、そのエントリの通信遅延パターン１９０２と影響範囲１９０３にあてはまる現象が発生時に、要因となった原因の候補が保存される。
【００８５】
図１９の通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の設定例は、図１３の通信遅延パターンによる分析の設定テーブル２５４の設定例と比較して、通信遅延パターン１９０２が＃３の継続的な遅延増大や＃４の不通の場合に、より原因を絞り込むことが可能となっている。
【００８６】
図２０は、本実施例における、通信遅延パターンおよび影響範囲による分析のシーケンス図である。通信遅延パターンと影響範囲の２面から分析することによって、通信遅延パターンからのみの分析（図１４のシーケンス図）よりも、要因をより特定可能となる。図２０のシーケンス図において、ミドルサーバ１２０の処理は、通信遅延パターンおよび影響範囲による分析部２１４によって実施される。
【００８７】
ミドルサーバ１２０の通信遅延パターンおよび影響範囲による分析部２１４は、通信遅延パターンの設定テーブル２５３の設定内容を全て読み込み（２００１）、位置情報の設定テーブル２５５の設定内容を全て読み込み（２００２）、影響範囲の設定テーブル２５６の設定内容を全て読み込む（２００３）。さらに、通信遅延パターンおよび影響範囲による分析部２１４は、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の設定内容を全て読み込む（２００４）。
【００８８】
通信遅延パターンおよび影響範囲による分析部２１４は、以下の処理を、各遅延パターンの分析間隔１２０６毎に、ループで行う。通信遅延パターンおよび影響範囲による分析部２１４は、通信遅延測定の結果テーブル２１３から分析対象とする通信遅延の区間１２０７に測定した通信遅延値を読み込み（２０１１）、通信遅延パターンによる分析処理を行い（２００５）、分析処理の結果を通信遅延パターンおよび影響範囲による分析の結果テーブル２１５に書き込む（２０１２）。通信遅延パターンおよび影響範囲による分析部２１４は、位置情報の設定テーブル２５５の設定内容から各機器の位置情報１７０４および１７０５を参照し（２０１３）、影響範囲による分析処理を行い（２００６）、分析処理の結果を通信遅延パターンおよび影響範囲による分析の結果テーブル２１５に更新する（２０１４）。
【００８９】
図２１は、本実施例における、通信遅延パターンおよび影響範囲による分析部２３４のフローチャートである。通信遅延パターンおよび影響範囲による分析部２３４は、通信遅延パターンの設定テーブル２５３の設定内容を全て読み込み（２００１）、位置情報の設定テーブル２５５の設定内容を全て読み込み（２００２）、影響範囲の設定テーブル２５６の設定内容を全て読み込み（２００３）、さらに、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の設定内容を全て読み込む（２００４）。
【００９０】
通信遅延パターンおよび影響範囲による分析部２３４は、通信パターンの分析実施間隔１２０６まで待機する（２１０１）。通信遅延パターンおよび影響範囲による分析部２３４は、図１５のフローチャートの１５１２〜１５１４までのステップと同様に通信遅延パターンによる分析を実施する。分析結果は、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５に書き込む（２１０２）。
【００９１】
通信遅延パターンおよび影響範囲による分析部２３４は、同様な通信遅延パターンが現れたフィールド機器１５０の、それぞれの位置情報１７０４と１７０５の情報から影響範囲の大きさを計算し、計算した影響範囲が、影響範囲の設定テーブル２５６にあてはまるものがあるか否かの判定（通信遅延パターンのマッチング）を行い、判定結果がＹＥＳの場合はステップ２１０４に移行し、判定結果がＮＯの場合はステップ２１０５に移行する（２１０３）。
【００９２】
通信遅延パターンおよび影響範囲による分析部２３４は、影響範囲の設定テーブル２５６のあてはまるエントリの、インデックス１８０１の番号を、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５の影響範囲列２２０４に書き込む（２１０４）。一方、通信遅延パターンおよび影響範囲による分析部２３４は、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５の影響範囲列２２０４に、単体と書き込む（２１０５）。
【００９３】
通信遅延パターンおよび影響範囲による分析部２３４は、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５の箇所候補２２０５と原因候補２２０６を、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７を参照して更新する（２１０６）。
【００９４】
図２２は、本実施例における、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５の一例である。通信遅延パターンおよび影響範囲による分析の結果テーブル２１５は、ミドルサーバ１２０のメインメモリ２１０に記録される。通信遅延パターンおよび影響範囲による分析の結果テーブル２１５は、インデックス２２０１、機器ID２２０２、通信遅延パターン２２０３、影響範囲２２０４、箇所候補２２０５、原因候補２２０６を含む。
【００９５】
インデックス２２０１には、各エントリに振られる番号が保存される。機器ID２２０２には、機器IDを示す番号として、対応する機器IDを表す値として、周期通信情報の設定テーブル２５１の機器ID３１２の値が保存される。通信遅延パターン２２０３には、対応する通信遅延パターンを示す番号として、通信遅延パターンの設定テーブル２５３のインデックス１２０１の番号が保存される。影響範囲２２０４には、対応する影響範囲を示す番号として、影響範囲の設定テーブル２５６のインデックス１８０１の番号が保存される。箇所候補２２０５には、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の箇所候補１９０４を参照して、通信遅延パターン２２０３および影響範囲２２０４に対応する箇所の候補が保存される。原因候補２２０６には、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の原因候補１９０５を参照して、通信遅延パターン２２０３および影響範囲２２０４に対応する原因の候補が保存される。
【００９６】
図２３は、本実施例における、通信品質劣化時対応設定テーブル２５８の一例である。通信品質劣化時対応設定テーブル２５８は、ミドルサーバ１２０の記憶装置２５０に記録される。通信品質劣化時対応設定テーブル２５８は、インデックス２３０１、箇所候補２３０２、原因候補２３０３、対応処理２３０４、対応処理詳細２３０５を含む。
【００９７】
インデックス２３０１には、各エントリに振られる番号が保存される。箇所候補２３０２には、対応する箇所候補を示す文字列として、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の箇所候補１９０４の文字列が格納される。原因候補２３０３には、対応する箇所候補を示す文字列として、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の原因候補１９０５の文字列が格納される。対応処理２３０４と対応処理詳細２３０５には、箇所候補２３０２と原因候補２３０３に応じた対応方法とその詳細が格納される。
【００９８】
図２４は、本実施例における、通信遅延劣化時対応部２３５のフローチャートである。通信遅延劣化時対応部２３５は、通信品質劣化時対応設定テーブル２５８の設定内容を全て読み込む（２４０１）。通信遅延劣化時対応部２３５は、遅延パターンおよび影響範囲による分析の結果テーブル２１５の、箇所候補２２０５と原因候補２２０６の更新が確認できるまで待つ（２４０２）。通信遅延劣化時対応部２３５は、通信品質劣化時対応設定テーブル２５８を参照して対応方法２３０４を選択し実行する（２４０３）。
【００９９】
図２５は、本実施例における、通信品質劣化状況を表す画面イメージ２５００の一例である。画面イメージ２５００は、ミドルサーバ１２０の結果出力I/F２７０が出力する。
【０１００】
画面イメージ２５００は、マップ情報２５１０、通信品質劣化状況２５２０を含む。
【０１０１】
マップ情報２５１０は、フィールド機器１５０−ａ〜ｅと影響範囲情報２５１１とを地図上にマッピングし、各影響範囲情報２５１１に事象ポップアップ２５１２を対応付けて表示する。
【０１０２】
通信品質劣化状況２５２０は、事象ＩＤ２５２１、機器ＩＤ２５２２、通信遅延パターン２５２３、影響範囲２５２４、箇所候補２５２５、原因候補２５２６、対応処理２５２７を表示する。
【０１０３】
事象ID２５２１は、マップ情報２５１０の事象ポップアップ２５１２と対応付けるためのIDを表示する。機器ID２５２２は、対応する機器IDを表す値として、周期通信情報の設定テーブル２５１の機器ID３１２の値を表示する。通信遅延パターン２５２３には、対応する通信遅延パターンを示す番号として、通信遅延パターンの設定テーブル２５３のインデックス１２０１の番号を表示する。影響範囲２５２４は、対応する影響範囲を示す番号として、影響範囲の設定テーブル２５６のインデックス番号を表示する。箇所候補２５２５は、そのエントリの通信遅延パターン１９０２と影響範囲１９０３にあてはまる現象が発生時に、要因となった箇所の候補を表示する。原因候補２５２６は、そのエントリの通信遅延パターン１９０２と影響範囲１９０３にあてはまる現象が発生時に、要因となった原因の候補を表示する。対応処理２５２７は、箇所候補２５２５と原因候補２５２６に応じた対応方法を、通信品質劣化時対応設定テーブル２５８の対応処理２３０４から選択して表示する。
【実施例２】
【０１０４】
本実施例を、図２６〜図２８を用いて説明する。本実施例では、図１に示すネットワークシステムにおいて、同時に複数の通信品質劣化が発生した場合、それぞれの通信品質劣化に対して対策優先度を提示する。
【０１０５】
図２６は、本実施例における、通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の一例である。通信遅延パターンおよび影響範囲による分析の設定テーブル２５７は、第２の実施形態では第１の実施形態に追加して、優先度２６０１と対策順序決定基準２６０２を含む。
【０１０６】
優先度２６０１には、各箇所候補１９０４と原因候補１９０５に対応した対策の優先度が保存される。第２の実施形態では、一例として優先度の高い方から緊急、重要、警告、注意を設定している。対策順序決定基準２６０２には、箇所候補１９０４と原因候補１９０５が同じと考えられる通信品質劣化が複数のフィールド機器１５０に発生した場合の対策順序の決定基準が保存される。第２の実施形態では、一例として通信遅延パターンの出現率の高さ、影響範囲の広さといった分析結果で差をつけるものや、過去数ヶ月前からの通信遅延パターンの出現率の変化の大きさといった、過去のデータを鑑みての判断を設定している。
【０１０７】
図２７は、本実施例における、通信遅延パターンおよび影響範囲による分析部２３４のフローチャートである。
【０１０８】
通信遅延パターンおよび影響範囲による分析部２３４は、図２１のステップ２１０１〜ステップ２１０６までと同様の方法で通信遅延パターンおよび影響範囲による分析を行い、結果テーブル２１５を更新する（２７０１）。
【０１０９】
通信遅延パターンおよび影響範囲による分析部２３４は、図２６に示すような通信遅延パターンおよび影響範囲による分析の設定テーブル２５７の優先度２６０１と対策順序２６０２を参照し、優先度と対策順序を決定し、結果テーブル２１５を更新する（２７０２）。
【０１１０】
図２８は、本実施例における、通信遅延パターンおよび影響範囲による分析の結果テーブル２１５の一例である。通信遅延パターンおよび影響範囲による分析の結果テーブル２１５は、第２の実施形態では第１の実施形態に追加して、優先度２８０１と対策順序２８０２を含む。
【０１１１】
優先度２８０１には、各箇所候補１９０４と原因候補１９０５に対応した対策の優先度が保存する。対策順序２８０２には、箇所候補２２０５と原因候補２２０６が同じと考えられる通信品質劣化が複数のフィールド機器１５０に発生した場合の対策順序が保存される。
【０１１２】
本実施例では、以上のように、通信品質劣化に対して優先度を設定し、対策の判断を容易にする。また、１つのフィールド機器１５０に複数の通信品質劣化の要因がありうる場合、それら一覧を優先度情報と共に表示しても構わない。優先度情報を付与することで、通信品質劣化の要因を１つに絞り込めなくとも、対策の判断を容易に保ったまま多くの情報を伝えられる。
【実施例３】
【０１１３】
本実施例を、図２９〜図３１を用いて説明する。本実施例では、ネットワークシステムにおける通信要件が明らかにされず、周期通信の周期が不明である場合に、パラメタとして周期および通信遅延増大の判断基準（説明する通信遅延パターンにカウントするスレシホルド、不通とカウントするスレシホルドなど）を、実績通信の監視結果を元に作成する方式の一例を示す。
【０１１４】
図２９は、本実施例における、周期通信情報の設定テーブル２５１の一例である。周期通信情報の設定テーブル２５１は、本実施例では、実施例１に追加して、周期決定基準２９０１、通信遅延増大決定基準２９０２、不通決定基準２９０３を含む。周期３０２は、本実施例では不明となっている。
【０１１５】
周期決定基準２９０１には、周期の決定基準が保存される。本実施例では、中間値の秒以下を四捨五入とする例を示している。つまり、ｎ回通信間隔を計測してその結果をソートし、ｎ／２番目の測定値を四捨五入して周期として用いる。これは、フィールド機器１５０が自動的に制御通信を行うネットワークシステムではイベント通信と周期通信が混在しているが、イベント通信は何かしらの現象が確認された時のみに行われるのに対し、周期通信は常に等間隔で行われているため、周期通信の回数が多くを占めると想定するためである。
【０１１６】
通信遅延増大決定基準２９０２には、通信遅延がこれ以上増大した場合は、通信遅延パターンにカウントするスレシホルドの決定基準が保存される。すなわち、図１２に示す通信遅延パターンの設定テーブル２５３の＃１〜＃３（遅延増大とみなす通信遅延パターン）の遅延下限１２０２に相応する。本実施例では、９５％の値の秒以下を四捨五入し3[sec]プラスする例を示している。つまり、ｎ回通信間隔を計測してその結果をソートし、短い方から０．９５×ｎ番目の測定値を四捨五入して2[sec]プラスして基準として用いる。これは、最悪値ではデータロスト等が発生する可能性があるため、その近い値として９５％の値を採用し、マージンを2[sec]持たせて判断基準とする例である。通信遅延増大決定基準は２９０２、通信環境や監視ポリシによって異なり、本例の設定に限るものでは無い。
【０１１７】
不通決定基準２９０３には、通信遅延がこれ以上増大した場合には、不通とカウントするスレシホルドの決定基準が保存される。すなわち、図１２に示す通信遅延パターンの設定テーブル２５３の＃４（不通とみなす通信遅延パターン）の遅延下限１２０２に相応する。本実施例では30[sec]としている。不通決定基準２９０３は、通信環境や監視ポリシによって異なり、本例の設定に限るものでは無い。
【０１１８】
図３０は、本実施例における、周期通信用の通信記録テーブル２１１の一例である。周期通信用の通信記録２１１テーブルは、第２の実施形態に追加して、前通信との通信間隔３００１を含む。
【０１１９】
図３１は、本実施例における、周期通信特定部２３１のフローチャートである。周期通信特定部２３１は、周期通信特定時間（周期通信特定の時間設定テーブル２５２の特定時間４０３。本実施例では、なるべく多くの通信を監視して周期を決定することが望ましいので、特定時間も多く設定することが望ましい）の間、通信を監視して、その結果を図３０に示す周期通信用の通信記録テーブル２１１に記録する（３１０１）。
【０１２０】
周期通信特定部２３１は、周期決定基準（２９０１）から周期を決定し、周期通信情報の設定テーブル２５１を更新し（３１０２）、通信遅延増大決定基準（２９０２）から通信遅延増大の基準を決定し、通信遅延パターンの設定テーブル２５３の、通信遅延増大と判断するパターンの遅延下限１２０２を更新する（３１０３）。
【０１２１】
さらに、周期通信特定部２３１は、不通決定基準（２９０３）から普通の基準を決定し、通信遅延パターンの設定テーブル２５３の、不通と判断するパターンの遅延下限１２０２を更新する（３１０４）。
【０１２２】
本実施例では、以上のように、周期や通信遅延増大の基準や不通の基準を自動的に設定し、通信要件やネットワークの調査の手間を削減することが可能となる。本実施例で示した設定方法は、ミドルサーバによる監視を実施する前に行っても構わないし、監視を実施した結果から設定値にフィードバックをかけるように行っても構わない。
【実施例４】
【０１２３】
本実施例を、図３２〜図３６を用いて説明する。本実施例では、往復の周期通信が存在せず、フィールド機器１５０からアプリケーションサーバ１１０への片道の周期通信のみ存在する場合を対象とする。具体的には、ミドルサーバ１２０は片道の周期通信を転送する時間を監視して、その時間が周期からどの程度増大するかを測定し、通信遅延の増大を推定する。通信遅延パターンによる分析の方法は、実施例１と同様である。
【０１２４】
図３２は、本実施例におけるミドルサーバ１２０の構成を、実施例１におけるミドルサーバ１２０の構成との差分として示す。ミドルサーバ１２０は、本実施例では実施例１に追加して、CPU２３０上に通信遅延増減測定部３２３１、メインメモリ２１０上に通信遅延増減測定の設定テーブル３２１１と通信遅延増減測定の結果テーブル３２１２を含む。
【０１２５】
図３３は、本実施例における、通信遅延増減測定の設定テーブル３２１１の一例である。通信遅延増減測定の設定テーブル３２１１は、ミドルサーバ１２０のメインメモリ２１０上に記録される。通信遅延増減測定の設定テーブル３２１１は、インデックス３３０１、周期３３０２、通信情報のdstとsrcのIPアドレスとport情報３３０４〜３３０７、機器ID３３０８、通信発生基準時間３３０９を含む。
【０１２６】
インデックス３３０１には、各エントリに振られる番号が保存される。周期３３０２には、周期通信の周期の間隔が保存される。なお、単位は[sec]に限らない。項目３３０４〜３３０７には、周期通信の情報として、dstには相手側、srcには送り手側の、それぞれIPとsrc port番号が保存される。なお、決定が困難な項目にはワイルドカードとして*などを指定しても構わない。特にsrc port番号は通信の際に自動的に割り当てられることが多い。また、IPに関しては、上位何bitまで有効とするようなマスクを行ったり、ホスト名やドメイン名などIPアドレス以外の表し方を行っても構わない。
【０１２７】
機器ID３３０８には、そのエントリで通信相手となるフィールド機器１５０のIDが保存される。通信発生時間基準３３０９には、周期通信が実施された基準となる時間が保存される。この時間は、図６の周期通信特定部２３１のフローチャートと同様な方法で決定される。
【０１２８】
図３４は本実施例における、通信遅延増減測定のシーケンス図である。図３４のシーケンス図において、ミドルサーバ１２０の処理は、通信遅延増減測定部３２３１および転送部２４１によって実施される。
【０１２９】
ミドルサーバ１２０の通信遅延増減測定部３２３１は、通信遅延増減測定の設定テーブル３２１１の設定内容を全て読み込む（３４０１）。
【０１３０】
通信遅延増減測定部３２３１は、フィールド機器１５０からの制御通信３４２１が、無線モジュール１５１と基地局１４０とキャリアネットワーク１３０によって転送３４２２が行われて、ミドルサーバ１２０への制御通信３４２１−ｄとなって転送された際に、ミドルサーバ１２０の転送部２４１がアプリケーションサーバ１１０への制御通信３４２１−ｅに転送処理を行う（３４２２−ｄ）と共に、通信遅延増減測定部３２３１が、通信遅延増減測定を行い（３４０２）、結果テーブル３２１２に記録（３４１１）する。
【０１３１】
図３５は、本実施例における、通信遅延増減測定部３２３１のフローチャートである。通信遅延増減測定部３２３１は、通信遅延増減測定の設定テーブル３２１１の設定内容を全て読み込み（３４０１）、通信監視を開始し、通信を検知するまで待機する（３５１１）。
【０１３２】
通信遅延増減測定部３２３１は、通信を検知した後、通信のIPアドレスとportに該当するエントリが通信遅延増減の設定テーブル３２１１に存在するか否か判定を行い、判定結果がＹＥＳの場合はステップ３５１３に移行し、判定結果がＮＯの場合はステップ３５１２の通信を検知する前に移行する（３５１２）。通信遅延増減測定部３２３１は、通信遅延増減測定の結果テーブル３２１２に、通信を検知した時間と、通信が行われると期待する通信発生基準時間３３０９＋周期３３０２×ｎの時間と、その差とを記録する（３５１３）。
【０１３３】
図３６は、本実施例における、通信遅延増減測定の結果テーブル３２１２の一例である。通信遅延増減測定の結果テーブル３２１２は、ミドルサーバ１２０のメインメモリ２１０に記録される。通信遅延増減測定の結果テーブル３２１２は、インデックス３６０１、周期通信情報３６０２、通信検知時間３６０３、周期基準３６０４、通信遅延増減３６０５を含む。
【０１３４】
インデックス３６０１には、各エントリに振られる番号が保存される。周期通信情報３６０２には、対応する周期通信を示す番号として、通信遅延測定の設定テーブル３２１１のインデックス番号３３０１の値が保存される。通信検知時間３６０３には、対象の通信を検知した時間が保存される。周期基準３６０４には、通信が行われると期待する通信発生基準時間３３０９＋周期３３０２×ｎの時間が保存される。通信遅延増減３６０５には、周期基準３６０４と通信検知時間３６０３との差から算出した、通信が検知された時間と通信が行われるはずの時間とのずれが保存される。
【０１３５】
本実施例では、以上のように通信遅延の増減を測定し、以降は実施例１と同様に通信遅延パターンの分析を行っていく。本実施例では、周期通信以外のイベント通信が行われた際に、それが周期外の通信であるか遅延が増大した結果かを判断することが困難であり、ノイズが増加する可能性があるが、通信要件が最小限に絞られたネットワークシステムでも適用可能であり、おおよその通信品質の監視とその箇所と原因の候補を絞り込めるメリットがある。
【実施例５】
【０１３６】
本実施例を、図３７〜図４４を用いて説明する。本実施例は、ミドルサーバ１２０と連動する機能を備えた通信ミドルをフィールド機器１５０に導入可能であった場合である。この場合は、実際の通信要件に関わらず、ミドルサーバ１２０とフィールド機器１５０の通信ミドルとが独自の通信を行って通信遅延を測定することが可能となる。
【０１３７】
図３７は、本実施例における、フィールド機器１５０の構成図である。フィールド機器１５０は、本実施形態では、ＣＰＵ３７１０上に、フィールド機器の制御機能をなすフィールド機器プログラム３７１１と、ミドルサーバ１２０と連動する機能を備えた通信ミドル３７１２が搭載される。
【０１３８】
図３８は、本実施例におけるミドルサーバ１２０の構成を、実施例１におけるミドルサーバ１２０の構成との差分として示す。ミドルサーバ１２０は、本実施例では、実施例１に追加して、ＣＰＵ２３０上にテストパケットによる通信遅延測定部３８３１を含み、メインメモリ２１０上にテストパケットによる通信遅延測定の設定テーブル３８１１とテストパケットによる通信遅延測定の結果テーブルを含む。
【０１３９】
図３９は、本実施例における、テストパケットによる通信遅延測定の設定テーブル３８１１の一例である。テストパケットによる通信遅延測定の設定テーブル３８１１は、ミドルサーバ１２０のメインメモリ２１０上に記録される。テストパケットによる通信遅延測定の設定テーブル３８１１は、インデックス３９０１、測定間隔３９０２、測定先の情報のdstとsrcそれぞれのIPアドレスとport番号３９０３〜３９０７、機器ID３９０８を含む。
【０１４０】
インデックス３９０１には、各エントリに振られる番号が保存される。測定間隔３９０２には、テストパケットによる通信遅延測定のインターバルが保存される。項目３９０３〜３９０７には、測定先情報として、dstには相手側、srcには送り手側の、それぞれIPとsrc port番号が保存される。機器ID３９０８には、そのエントリで通信相手となるフィールド機器１５０のIDが保存される。
【０１４１】
図４０は、本実施例において、通信遅延測定時にミドルサーバ１２０と通信ミドル３７１２との間で通信される、テストパケット４０００のフォーマットの一例である。テストパケット４０００は、テストパケット識別子４００１、シーケンス番号４００２、送信時タイムスタンプ４００３、返信時タイムスタンプ４００４を含む。
【０１４２】
テストパケット識別子４００１には、テストパケットであることを識別するためのデータ列が保存される。データ列の形式は問わず、特定の文字列や１６進数の並びなどが適用可能である。シーケンス番号４００２には、テストパケットを一意に特定するシーケンス番号が保存される。
【０１４３】
送信時タイムスタンプ４００３には、送信時のタイムスタンプが保存される。返信時タイムスタンプ４００４には、返信時のタイムスタンプが保存される。テストパケット４０００を用いて往復通信を行った場合、往路の通信時間は返信時タイムスタンプと送信時タイムスタンプの差、復路の通信時間は返信の受信時間と返信時タイムスタンプの差となる。
【０１４４】
図４１は、本実施例における、テストパケットによる通信遅延測定のシーケンス図である。図４１のシーケンス図において、ミドルサーバ１２０の処理は、テストパケットによる通信遅延測定部３８３１によって行われる。
【０１４５】
ミドルサーバ１２０のテストパケットによる通信遅延測定部３８３１は、テストパケットによる通信遅延測定の設定テーブル３８１１の設定内容を全て読み込み（４１０１）、以下の処理を測定間隔３９０２毎に実施する。
【０１４６】
テストパケットによる通信遅延測定部３８３１は、テストパケット４０００をキャリアネットワーク１３０に向けて送信する（４１０２）。往路のテストパケットの通信４１２１は、キャリアネットワーク１３０と基地局１４０と無線モジュール１５１がそれぞれ転送を行い（４１２２）、通信ミドル３７１２が受信する。
【０１４７】
通信ミドル３７１２は、テストパケット４０００の返信を行う（４１０３）。復路のテストパケットの通信４１２３は、無線モジュール１５１と基地局１４０とキャリアネットワーク１３０がそれぞれ転送（４１２４）を行い、ミドルサーバ１２０が受信する。テストパケットによる通信遅延測定部３８３１は、テストパケット４０００を受信して通信遅延時間を計算（４１０４）し、結果テーブル３８１２へ記録する（４１１１）。
【０１４８】
図４２は、本実施例における、ミドルサーバ１２０のテストパケットによる通信遅延測定部３８３１のフローチャートである。テストパケットによる通信遅延測定部３８３１は、テストパケットによる通信遅延測定の設定テーブル３８１１の設定内容を全て読み込み（４１０１）、測定間隔３９０２まで待機する（４２０１）。
【０１４９】
テストパケットによる通信遅延測定部３８３１は、テストパケット４０００のテストパケット識別子４００１とシーケンス番号４００２と送信時タイムスタンプ４００３を設定して送信を行う（４２０３）。テストパケットによる通信遅延測定部３８３１返信されたテストパケット４０００を受信し、内容を結果テーブル３８１２に書き込み、通信遅延を計算する。
【０１５０】
図４３は、本実施例における、フィールド機器１５０の通信ミドル（テストパケットによる通信遅延測定部）３７１２のフローチャートである。通信ミドル３７１２は、テストパケット４０００を受信するまで待機する（４３０１）。通信ミドル３７１２は、テストパケット４０００を受信すると、返信時タイムスタンプ４００４を設定して返信を行う（４３０２）。
【０１５１】
図４４は、本実施例における、テストパケットによる通信遅延測定の結果テーブル３８１２の一例である。テストパケットによる通信遅延測定の結果テーブル３８１２は、ミドルサーバ１２０のメインメモリ２１０に記録される。テストパケットによる通信遅延測定の結果テーブル３８１２は、インデックス４４０１、テストパケット情報４４０２、シーケンス番号４４０３、送信時タイムスタンプ４４０４、返信時タイムスタンプ４４０５、受信時タイム４４０６、通信遅延４４０７を含む。
【０１５２】
インデックス４４０１には、各エントリに振られる番号が保存される。テストパケット情報４４０２には、対応するテストパケットを示す番号として、テストパケットによる通信遅延測定の設定テーブル３８１１のインデックス番号３９０１の番号が保存される。シーケンス番号４４０３には、テストパケット４０００のシーケンス番号４００２の内容が保存される。送信時タイムスタンプ４４０４には、テストパケット４０００の送信時タイムスタンプ４００３の内容（図４１シーケンス図の４１０２の時間）が保存される。返信時タイムスタンプ４４０５には、テストパケット４０００の返信時タイムスタンプ４００４の内容（図４１シーケンス図の４１０３の時間）が保存される。受信時タイム４４０６には、ミドルサーバ１２０がテストパケット４０００を受信した時間（図４１シーケンス図の４１０４の時間）が保存される。通信遅延４４０７には、受信時タイム４４０６と送信時タイムスタンプ４４０４との差が、往復の通信遅延の値として保存される。なお、往路と復路とで通信経路が異なるなど通信品質劣化の要因が異なる場合は、片道の通信遅延を取得しての分析が必要であり、その場合は返信時タイムスタンプ４４０５の値を用いる。
【０１５３】
本実施例では、以上のようにミドルサーバ１２０と通信ミドル３７１２が、本来の通信要件にかかわらずにテストパケット４０００を送受信して、通信遅延を測定する。通信遅延パターンによる分析は実施例１と同様である。また、フィールド機器１５０に搭載された通信ミドル３７１２を介して、電波の強弱や、接続基地局情報など、通信品質に関連する情報を取得可能となることもある。それらの通信品質に関連する情報は、稼動時に常時監視することは困難でも、通信品質の劣化を検出して原因を絞り込んだ後に参照することで、より原因の絞込みに有用に働く。
【実施例６】
【０１５４】
本実施例を、図４５〜図５０を用いて説明する。本実施形態は、実施５と同様にミドルサーバ１２０と連動する機能を備えた通信ミドル３７１２をフィールド機器１５０に導入可能である場合を対象とする。実施例５のように、ミドルサーバ１２０と通信ミドル３７１２とがテストパケット４０００を送受信すると、本来行う制御通信に加えて余剰に通信が発生し、帯域の圧迫や通信料金の高騰に繋がる可能性がある。本実施形態では、余剰の通信を抑えるため、ミドルサーバ１２０や通信ミドル３７１２は、従来の制御通信を転送する際に、テストパケット相当の情報をヘッダとして付与して転送して通信遅延を計測する。
【０１５５】
図４５は、本実施例におけるミドルサーバ１２０の構成を、実施例１におけるミドルサーバ１２０の構成との差分として示す。ミドルサーバ１２０は、本実施例では、実施例に追加して、ＣＰＵ２３０上に転送およびタイムスタンプヘッダによる通信遅延測定部４５３１、メインメモリ２１０上にタイムスタンプヘッダによる通信遅延測定の結果テーブル４５１１を含む。
【０１５６】
図４６は、本実施例において、データ転送時に付与するタイムスタンプヘッダ４６００のフォーマットの一例である。タイムスタンプヘッダ４６００は、ヘッダ識別子４６０１、シーケンス番号４６０２、送信時タイムスタンプ４６０３、返信時タイムスタンプ４６０４を含む。
【０１５７】
ヘッダ識別子４６０１には、タイムスタンプヘッダであることを識別するためのデータ列が保存される。シーケンス番号４６０２には、タイムスタンプヘッダを一意に特定するシーケンス番号が保存される。送信時タイムスタンプ４６０３には、送信時のタイムスタンプが保存される。返信時タイムスタンプ４６０４には、送信時のタイムスタンプが保存される。
【０１５８】
図４７は、本実施例における、タイムスタンプヘッダによる通信遅延測定のシーケンス図である。図４７のシーケンス図では、以下の処理が繰り返し実施される。
【０１５９】
ミドルサーバ１２０の転送およびタイムスタンプヘッダによる通信遅延測定部４５３１は、アプリケーションサーバ１１０からの制御通信４７２１−ａを受信し、タイムスタンプヘッダ４６００を付与してキャリアネットワーク１３０へ転送する（４７０１）。転送された、タイムスタンプヘッダ４６００付きの制御通信４７２１は−ｂは、キャリアネットワーク１３０と基地局１４０と無線モジュール１５１が転送（４７２２）を行い、通信ミドル３７１２が受信する。通信ミドル３７１２は、タイムスタンプヘッダ４６００を削除してフィールド機器プログラム３７１１に４７２１−ｆの転送を行い（４７０２）、応答の制御通信４７２３−ａを受信すると再びタイムスタンプヘッダ４６００を付与し、返信時タイムスタンプ４６０４を設定して無線モジュール１５１に転送を行う（４７０３）。転送された、タイムスタンプヘッダ４６００付きの制御通信４７２３は−ｂは、無線モジュール１５１と基地局１４０とキャリアネットワーク１３０が転送（４７２４）を行い、ミドルサーバ１２０が受信する。ミドルサーバ１２０は、タイムスタンプヘッダ４６００を削除してアプリケーションサーバ１１０に４７２３−ｆの転送を行い、結果テーブル４５１１に記録する（４７０４、４７１１）。
【０１６０】
図４８は、本実施例における、ミドルサーバ１２０の転送およびタイムスタンプヘッダによる通信遅延測定部４５３１のフローチャートである。転送およびタイムスタンプヘッダによる通信遅延測定部４５３１は、通信を検知するまで待機する（４８０１）。
【０１６１】
転送およびタイムスタンプヘッダによる通信遅延測定部４５３１は、通信を検知すると、その通信の種類の判定を行い、往路方向でタイムスタンプヘッダ４６００がなければステップ４８０３に移行し、復路方向でタイムスタンプヘッダ４６００があればステップ４８０４に移行し、それ以外ならばステップ４８０５に移行する（４８０２）。
【０１６２】
転送およびタイムスタンプヘッダによる通信遅延測定部４５３１は、通信内容にタイムスタンプヘッダ４６００を付与し、シーケンス番号４６０２と送信時タイムスタンプ４６０３を設定して転送する（４８０３）。
【０１６３】
転送およびタイムスタンプヘッダによる通信遅延測定部４５３１は、タイムスタンプヘッダ４６００のシーケンス番号４６０２、送信時タイムスタンプ４６０３、返信時タイムスタンプ４６０４の内容と、その通信の検知時間と、通信遅延時間を結果テーブル４５１１に書き込み、タイムスタンプヘッダ４６００を削除して転送する（４８０４）。
【０１６４】
転送およびタイムスタンプヘッダによる通信遅延測定部４５３１は、データをそのまま転送する（４８０５）。
【０１６５】
図４９は、本実施例における通信ミドル（タイムスタンプヘッダによる通信遅延測定部）３７１２のフローチャートである。通信ミドル３７１２は、通信を検知するまで待機する（４９０１）。
【０１６６】
通信ミドル３７１２は、通信を検知すると、その通信の種類の判定を行い、往路方向でタイムスタンプヘッダ４６００があればステップ４９０３に移行し、復路方向でタイムスタンプヘッダ４６００がなければステップ４９０４に移行し、それ以外ならばステップ４９０５に移行する。
【０１６７】
通信ミドル３７１２は、タイムスタンプヘッダ４６００の情報を一時的に記録して、タイムスタンプヘッダ４６００を削除して転送する（４９０３）。
【０１６８】
通信ミドル３７１２は、タイムスタンプヘッダ４６００を付与し、返信時タイムスタンプ４６０４を設定して転送する（４９０４）。
【０１６９】
通信ミドル３７１２は、データをそのまま転送する（４９０５）。
【０１７０】
図５０は、本実施例におけるタイムスタンプヘッダによる通信遅延測定の結果テーブル４５１１の一例である。タイムスタンプヘッダによる通信遅延測定の結果テーブル４５１１は、インデックス５００１、相手機器ID５００２、シーケンス番号５００３、送信時タイムスタンプ５００４、返信時タイムスタンプ５００５、受信時タイム５００６、通信遅延５００７を含む。
【０１７１】
インデックス５００１には、各エントリに振られる番号が保存される。相手機器ID５００２には、そのエントリで通信相手となるフィールド機器１５０のIDが保存される。シーケンス番号５００３には、タイムスタンプヘッダ４６００のシーケンス番号４６０２の内容が保存される。送信時タイムスタンプ５００４には、タイムスタンプヘッダ４６００の送信時タイムスタンプ４６０３の内容（図４７シーケンス図の４７０１の時間）が保存される。返信時タイムスタンプ５００５には、タイムスタンプヘッダ４６００の返信時タイムスタンプ４６０４の内容（図４７シーケンス図の４７０３の時間）が保存される。受信時タイム５００６には、ミドルサーバ１２０がタイムスタンプヘッダ４６００付与の応答データを受信した（図４７シーケンス図の４７０４）の時間が保存される。通信遅延５００７には、受信時タイム５００６と送信時タイムスタンプ５００４との差が、往復の通信遅延の値として保存される。返信時タイムスタンプ５００５の扱いは、実施例５と同様である。
【０１７２】
本実施例では、以上のように通信遅延を測定する。通信遅延パターンによる分析以降は実施例１と同様である。
【０１７３】
説明した実施形態によれば、アプリケーションサーバと複数のフィールド機器とが、無線を含む広域ネットワークによって接続され定期的に制御通信が行われる社会インフラ向けの制御システムにおいて、通信品質が劣化し制御通信の完了に平常以上の時間がかかるようになったことを検知し、通信品質劣化に繋がった箇所と原因とを絞り込めるため、自動的に適切な対応方法を選択したり、システム管理者やサービサが適切な対応を行うことが可能になる。
【符号の説明】
【０１７４】
１１０：アプリケーションサーバ、１２０：ミドルサーバ、１３０：キャリアネットワーク、１４０：基地局、１５０：フィールド機器、１５１：無線モジュール、２１０：メインメモリ、２１１：周期通信特定用の通信記録テーブル、２１２：周期通信特定の結果テーブル、２１３：通信遅延測定の結果テーブル、２１４：通信遅延パターンによる分析の結果テーブル、２１５：通信遅延パターンおよび影響範囲による分析の結果テーブル、２３０：CPU、２３１：周期通信特定部、２３２：通信遅延測定部、２３３：通信遅延パターンによる分析部、２３４：通信遅延パターンおよび影響範囲による分析部、２３５：通信品質劣化時対応部、２４１：転送部、２５０：記憶装置、２５１：周期通信情報の設定テーブル、２５２：周期通信特定の特定時間設定テーブル、２５３：通信遅延パターンの設定テーブル、２５４：通信遅延パターンによる分析の設定テーブル、２５５：位置情報の設定テーブル、２５６：影響範囲の設定テーブル、２５７：通信遅延パターンおよび影響範囲による分析の設定テーブル、２５８：通信品質劣化時対応設定テーブル、２７０：結果出力部、２７１：ネットワークI/F、２７２：記憶装置I/F。
【図１】
2015173375.tif 000003
【図２】
2015173375.tif 000004
【図３】
2015173375.tif 000005
【図４】
2015173375.tif 000006
【図５】
2015173375.tif 000007
【図６】
2015173375.tif 000008
【図７】
2015173375.tif 000009
【図８】
2015173375.tif 000010
【図９】
2015173375.tif 000011
【図１０】
2015173375.tif 000012
【図１１】
2015173375.tif 000013
【図１２】
2015173375.tif 000014
【図１３】
2015173375.tif 000015
【図１４】
2015173375.tif 000016
【図１５】
2015173375.tif 000017
【図１６】
2015173375.tif 000018
【図１７】
2015173375.tif 000019
【図１８】
2015173375.tif 000020
【図１９】
2015173375.tif 000021
【図２０】
2015173375.tif 000022
【図２１】
2015173375.tif 000023
【図２２】
2015173375.tif 000024
【図２３】
2015173375.tif 000025
【図２４】
2015173375.tif 000026
【図２５】
2015173375.tif 000027
【図２６】
2015173375.tif 000028
【図２７】
2015173375.tif 000029
【図２８】
2015173375.tif 000030
【図２９】
2015173375.tif 000031
【図３０】
2015173375.tif 000032
【図３１】
2015173375.tif 000033
【図３２】
2015173375.tif 000034
【図３３】
2015173375.tif 000035
【図３４】
2015173375.tif 000036
【図３５】
2015173375.tif 000037
【図３６】
2015173375.tif 000038
【図３７】
2015173375.tif 000039
【図３８】
2015173375.tif 000040
【図３９】
2015173375.tif 000041
【図４０】
2015173375.tif 000042
【図４１】
2015173375.tif 000043
【図４２】
2015173375.tif 000044
【図４３】
2015173375.tif 000045
【図４４】
2015173375.tif 000046
【図４５】
2015173375.tif 000047
【図４６】
2015173375.tif 000048
【図４７】
2015173375.tif 000049
【図４８】
2015173375.tif 000050
【図４９】
2015173375.tif 000051
【図５０】
2015173375.tif 000052