(57)【要約】      （修正有）【課題】パソコン等の汎用コンピュータ端末を用いた安価な設備での、ネットワークの品質測定の精度を向上させる。【解決手段】測定用ＰＣは、カウンタ値取得ラッパープログラム処理部３２における測定用プログラム処理部３２ａにより、通信パケットをキャプチャすると共に、カウンタ値取得部３２ｂにより、通信パケットのキャプチャ時におけるＯＳの処理負荷量（カウンタ値）を取得し、品質算出部３３により、取得したＯＳの処理負荷量（カウンタ値）が予め定められた閾値以下の際にキャプチャした通信パケットのみを用いて計測対象のネットワークの品質の算出を行う。【選択図】図３
2010278625.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム上で動作するプログラムによるコンピュータ処理によって、キャプチャした通信パケットからパケット通信ネットワークのネットワーク品質を算出するネットワーク品質計測システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記通信パケットのキャプチャ時におけるオペレーティングシステムの処理負荷量を取得する第１の手段と、
取得したオペレーティングシステムの処理負荷量が予め定められた閾値以下の際にキャプチャした通信パケットを用いて上記ネットワーク品質の算出を行う第２の手段と
を有することを特徴とするネットワーク品質計測システム。
【請求項２】
請求項１に記載のネットワーク品質計測システムであって、
上記第１の手段は、
上記通信パケットのキャプチャ時における上記オペレーティングシステムの内部状態を示すカウンタ値を求め、該カウンタ値を上記オペレーティングシステムの処理負荷量として算出することを特徴とするネットワーク品質計測システム。
【請求項３】
請求項１もしくは請求項２のいずれかに記載のネットワーク品質計測システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記オペレーティングシステムの内部状態を示すカウンタ値の計測を複数回行い、該複数回のカウンタ値を用いて、上記閾値を算出する第３の手段を有することを特徴とするネットワーク品質計測システム。
【請求項４】
請求項３に記載のネットワーク品質計測システムであって、
上記第３の手段は、
上記閾値の算出に、スイッチングハブを介しての通信パケットのキャプチャ時において計測した上記カウンタ値を用いることを特徴とするネットワーク品質計測システム。
【請求項５】
オペレーティングシステム上で動作するプログラムによるコンピュータ処理によって、キャプチャした通信パケットからパケット通信ネットワークのネットワーク品質を算出するシステムのネットワーク品質計測方法であって、
プログラムされたコンピュータが実行する処理手順として、
請求項１から請求項４のいずれかに記載のネットワーク品質計測システムにおける各手段が実行する処理手順を含むことを特徴とするネットワーク品質計測方法。
【請求項６】
コンピュータを、請求項１から請求項４のいずれかに記載のネットワーク品質計測システムにおける各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）通信などのパケット通信ネットワークにおいて、通信パケットをキャプチャすることにより当該ネットワークの品質計測を行う技術に係り、特に、ＰＣ（パーソナルコンピュータ）等の安価な汎用コンピュータ装置を用いたネットワークの品質計測を、高精度に行うのに好適な技術に関するものである。
【背景技術】
【０００２】
ネットワーク品質を計測する技術としては、（１）安価な汎用ＰＣ（パーソナルコンピュータ；パソコン）を利用する技術と、（２）例えば非特許文献１に記載のように、高価な専用ハードウェア測定器を用いる技術がある。
【０００３】
（２）のように高価な専用ハードウェア測定器を用いた技術の方は精度が高いが、高コストであることから、（１）のように安価なパソコンによる測定技術も多く用いられる。
【０００４】
（１）のパソコンを用いる際の大きな問題点は、パケット送受信の時間精度が“常には高くない”ことである。これの主な要因は、専用のハードウェア・ソフトウェアで構成されていないため、パソコン内部の測定処理以外のプロセスとの競合などにより、パソコンのＯＳによるパケットのタイムスタンプ付与処理が遅れてしまい、タイムスタンプの精度が劣化することにある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】［ＭＤ１２３０］  アンリツＭＤ１２３０  ［平成２１年５月２２日検索］、インターネット＜ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ  ａｎｒｉｔｓｕ．ｃｏ．ｊｐ／J／Ｐｒｏｄｕｃｔｓ／ｔｍ／ｌｉｓｔ．ａｓｐｘ？ｓＩＤ＝１９３＃１４８１＞．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
解決しようとする問題点は、従来の、パソコン等の汎用コンピュータ端末を用いたネットワークの品質測定技術では、当該端末内部の測定処理以外のプロセスとの競合などにより、パソコンのＯＳによるパケットのタイムスタンプ付与処理が遅れてしまい、タイムスタンプの精度が劣化することである。
【０００７】
本発明の目的は、これら従来技術の課題を解決し、パソコン等の汎用コンピュータ端末を用いた安価な設備での、ネットワークの品質測定の精度を向上させることである。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明では、例えばパーソナルコンピュータ（ＰＣ端末）を用いてキャプチャした通信パケットからネットワークの品質測定をする際に、通信パケットのキャプチャ処理に併せて、ＰＣ端末内の動作状態を観測し、観測結果と平常時のＰＣ端末の処理負荷量と比較して、キャプチャした通信パケットからネットワークの品質測定をする際におけるＰＣ端末の処理負荷が高い場合には、キャプチャしたパケットを測定対象から外すことにより、品質測定の精度を向上させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＰＣ端末の処理負荷が高い場合に計測した計測値は、測定用ＰＣ自体に起因する誤差を含む確率が高いと判断して棄却しており、実効的に測定精度の改善を図ることが可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るネットワーク品質計測システムを適用するネットワークの構成例を示すブロック図である。
【図２】本発明に係るネットワーク品質計測システムにおける閾値の設定に適用するネットワークの構成例を示すブロック図である。
【図３】本発明に係るネットワーク品質計測システムの内部構成例を示すブロック図である。
【図４】本発明に係るネットワーク品質計測システムの処理動作例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図を用いて本発明を実施するための形態例を説明する。図１においては、本発明に係るネットワーク品質計測システムを適用するネットワークの構成例を示しており、インターネット等の測定対象ネットワーク１３を介して測定用ＰＣ１１と測定用ＰＣ１２が接続されている。
【００１２】
また、図２においては、図１における測定用ＰＣ１１と測定用ＰＣ１２を、ネットワークインタフェース１１ａとネットワークインタフェース１２ａを介して、スイッチングハブ２３経由で接続しており、このような接続形態において、測定用ＰＣ１１と測定用ＰＣ１２は、それぞれに設けられた閾値設定処理部１１ｂ，１２ｂにより、本発明に係る閾値の算出・設定を行う。
【００１３】
また、図３においては、従来の汎用ＰＣにおける測定用プログラム処理部（図中「測定用プログラム」と記載）３１による処理形態と共に、本発明に特徴的な図１における測定用ＰＣ１１と測定用ＰＣ１２の内部構成を示しており、測定用ＰＣ１１と測定用ＰＣ１２は、それぞれ、オペレーティングシステム上で動作するプログラムによるコンピュータ処理を実行する手段として、カウンタ値取得ラッパープログラム処理部（図中「カウンタ値取得ラッパープログラム」と記載）３２と品質算出部３３を具備し、カウンタ値取得ラッパープログラム処理部３２は、測定用プログラム処理部（図中「測定用プログラム」と記載）３２ａとカウンタ値取得部（図中「カウンタ値取得」と記載）３２ｂからなる。
【００１４】
図３に示す構成からなるネットワーク品質計測システムを具備した図１における測定用ＰＣ１１と測定用ＰＣ１２は、カウンタ値取得ラッパープログラム処理部３２における測定用プログラム処理部３２ａにより、通信パケットをキャプチャすると共に、カウンタ値取得ラッパープログラム処理部３２におけるカウンタ値取得部３２ｂにより、通信パケットのキャプチャ時におけるオペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の処理負荷量（カウンタ値）を取得し、品質算出部３３により、取得したオペレーティングシステムの処理負荷量（カウンタ値）が予め定められた閾値以下の際にキャプチャした通信パケットのみを用いてネットワーク１３の品質の算出を行う。
【００１５】
このように、本例のカウンタ値取得ラッパープログラム処理部３２では、カウンタ値取得部３２ｂにより、通信パケットのキャプチャ時におけるオペレーティングシステムの内部状態を示すカウンタ値を求め、このカウンタ値をオペレーティングシステムの処理負荷量として算出する。
【００１６】
また、図２に示すように、図１における測定用ＰＣ１１と測定用ＰＣ１２は、閾値設定処理部１２ａ，１２ｂにより、オペレーティングシステムの内部状態を示すカウンタ値の計測を複数回行い、この複数回のカウンタ値を用いて、閾値を算出する。
【００１７】
また、この際、閾値設定処理部１２ａ，１２ｂは、閾値の算出に、スイッチングハブ２３を介しての通信パケットのキャプチャ時において計測したカウンタ値を用いる。
【００１８】
以下、このような構成からなる本例のネットワーク品質計測システムに係る技術の詳細について説明する。
【００１９】
ネットワーク品質の測定に、近年の高性能ＰＣを用いる場合は、従来のＰＣを用いた場合に発生していた精度劣化の現象は、頻繁に発生するのではなく、限定的に発生する。
【００２０】
ネットワーク品質の測定では、多くの場合、「一回測定して終わり」ではなく、複数回の測定を行い、その統計値（平均や最大値、９９．９％値など）をもって評価する。
【００２１】
例えば、ＩＴＵ−Ｔ  Ｙ．１５４０  勧告［Ｙ．１５４０］では、遅延揺らぎ指標として、［パケット転送の片道遅延値の９９．９％−最小値］と定義しており、遅延ゆらぎを継続的に監視するには、片道遅延の９９．９％値を複数回継続的に測定することが必要となる。
【００２２】
この複数回の測定のうち、汎用ＰＣを用いたネットワーク品質の測定時において問題となっていた、プロセスの処理の競合などによる異常値を排除して集計することができれば、測定結果の統計値の精度も向上する。
【００２３】
しかし、汎用ＰＣを利用した計測において、たとえ異常に大きい遅延時間が観測されたとしても、ネットワーク品質測定結果自体からは、この異常な観測値が、「測定ＰＣの処理遅延に起因する異常値」であるのか、あるいは、「実際にネットワークの転送遅延時間が大きいことによる正しい測定結果」であるのか、いずれであるのかを判定することは出来ない。
【００２４】
本例では、汎用ＰＣのＯＳによっては、様々な内部状態をモニタするためのカウンタを持っていることに着目し、このカウンタの値を毎回の品質計測の前後に記録しておくことで、「計測時にＯＳの負荷が高かったのかどうか」を判定する。
【００２５】
即ち、このカウンタの値が、通常時よりも大きく変化する時間帯に計測した計測値は、測定用ＰＣ自体に起因する誤差を含む確率が高いため、計測時にある閾値を越えたかどうかで測定結果を棄却することにより、実効的に測定精度の改善を図る。
【００２６】
尚、「閾値」については、通常時との比較を行えば良いため、適宜に、なんらかの基準を決めれば良い。
【００２７】
以下、測定に利用するＯＳの例としてＦｒｅｅＢＳＤ（登録商標）を用いた例を説明する。
【００２８】
図１に示す通り、計測用のパーソナルコンピュータである計測用ＰＣ１１と計測用ＰＣ１２との間で試験パケットを送受信して、ネットワーク１３の品質測定を行う場合を考える。
【００２９】
ＦｒｅｅＢＳＤ（登録商標）では、パケット受信時の処理は、原則として処理キューに入れずに直接リアルタイムで処理されるが、何らかの事情で直接処理が間に合わない際には、キューにいれるという仕組みになっている。これは、従来の汎用ＰＣにおけるタイムスタンプ付与誤差の原因となる処理遅延につながる。
【００３０】
ＦｒｅｅＢＳＤ（登録商標）では「ｎｅｔ．ｉｓｒ．ｑｕｅｕｅｄ」というカーネル内部のカウンタにてネットワークスタックのパケット処理キューの処理量を記録している。これは、「ｓｙｓｃｔｌ」コマンドで取得可能である。
【００３１】
このようにして、カウンタ数値を取得するためのコマンド実行例（＃はコマンド入力プロンプト）を下記に示す。
【００３２】
＃ｓｙｓｃｔｌ  ｎｅｔ．ｉｓｒ．ｑｕｅｕｅｄ
２３９８９
【００３３】
そこで、測定を一回実施する直前および直後に、上記コマンドを実行し、出力値の増分（直後の値−直前の値）を計算する。
【００３４】
実際にこの技術を利用する具体的な例を記すため、仮に「ｍｅａｓｕｒｅｍｅｎｔ＿ｃｏｍｍａｎｄ」というコマンド名の測定用プログラムを利用する場合として説明する。
【００３５】
なお、測定用コマンドは何でも良く、よく利用される測定用プログラム（ｉｐｅｒｆ［ＩＰＥＲＦ］，ｏｗｐｉｎｇ［ＯＷＡＭＰ：Ｏｎｅ−Ｗａｙ  Ａｃｔｉｖｅ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ］など）を利用可能であり、アプリケーションの種類を問わない。
【００３６】
ここでは、「ｍｅａｓｕｒｅｍｅｎｔ＿ｃｏｍｍａｎｄ」という名称で記述するが、本例での説明は、その他のアプリケーションにそのまま置き換え可能である。
【００３７】
測定用アプリケーション（ｍｅａｓｕｒｅｍｅｎｔ＿ｃｏｍｍａｎｄ）を改造したりする必要は全くないが、それを実行している時間のシステムの状態を把握するため、本例の技術では、開始時および終了時を知ることが必要である。
【００３８】
定期的にカウンタ値の記録を行い、後から測定結果の時刻と照合する技術でも良いし、図３に示すように、ラッパープログラムにより測定プログラムを起動し、その前後にてカウンタ値記録を行う技術もある。
【００３９】
以下、図３に示す後者（ラッパープログラムによる測定プログラムの起動）を例に説明する。ここでは、ラッパープログラムをｕｎｉｘ（商標）系の処理用ｚｓｈシェルスクリプトにて実装する例を載せる。
【００４０】
ラッパープログラムの名称は、ここでは「ｒｅｃｏｒｄ＿ｃｏｕｎｔｅｒ  ｓｈ」としておく。以下に、「ｒｅｃｏｒｄ＿ｃｏｕｎｔｅｒ  ｓｈ」の内容を示す。
【００４１】
＃！／ｕｓｒ／ｂｉｎ／ｅｎｖ  ｚｓｈ
ｃｏｕｎｔｅｒ＿ｂｅｆｏｒｅ＝＄（ｓｙｓｃｔｌ  ｎｅｔ．ｉｓｒ．ｑｕｅｕｅｄ）      ＃直前の値を変数に保存
ｍｅａｓｕｒｅｍｅｎｔ＿ｃｏｍｍａｎｄ    ＃計測実施（コマンド名は利用する測定ツール依存）
ｃｏｕｎｔｅｒ＿ａｆｔｅｒ＝＄（ｓｙｓｃｔｌ  ｎｅｔ．ｉｓｒ．ｑｕｅｕｅｄ）    ＃直後の値を変数に保存
ｃｏｕｎｔｅｒ＿ｉｎｃｒ＝＄（（ｃｏｕｎｔｅｒ＿ａｆｔｅｒ−ｃｏｕｎｔｅｒ＿ｂｅｆｏｒｅ））    ＃差分を計算
ｅｃｈｏ＄ｃｏｕｎｔｅｒ＿ｉｎｃｒ    ＃差分を出力
【００４２】
測定の際には、「ｍｅａｓｕｒｅｍｅｎｔ＿ｃｏｍｍａｎｄ」を直接実行するのでなく、「ｒｅｃｏｒｄ＿ｃｏｕｎｔｅｒ．ｓｈ」を実行する（「ｍｅａｓｕｒｅｍｅｎｔ＿ｃｏｍｍａｎｄ」は、その中で間接的に実行される）ことにより、測定時のカウンタ値の差分を同時に出力することができる。
【００４３】
双方向の計測においては、図１，２に示すように、遠隔側においても測定時間の前後に同様のカウンタ値の記録を行っておく。
【００４４】
これを複数回繰り返すと、以下のようなデータが得られる。
【００４５】
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
測定結果（値）,ローカル測定機のカウンタ増分,遠隔測定機のカウンタ増分
・・・
【００４６】
ここで、「事前の閾値」の決め方の例を示す。
【００４７】
実際に図１に示す測定対象のネットワーク１３において測定を行う前に、図２に示すように、事前に試験環境にて、試験用ＰＣ２台をスイッチハブ２３経由で直接接続し（測定対象ネットワークを経由しない）、評価試験を行う。
【００４８】
カウンタ増分は、測定に利用する機種や利用する測定方法・パケット送受信パターンに依存するため、測定対象のネットワーク１３で予定している測定と同一の測定方法・パケット送受信パターンによる「事前の評価試験」を複数回行い、カウンタ増分値を取得する。
【００４９】
その際の「カウンタ増分値の分布」から、閾値を決定する。
【００５０】
閾値の決め方自体は任意であるが、ここでは、正常時の分布はほぼ一様で、ごく稀に発生する異常値を検出したいため、例えば（分布の９９％値＋１）などとすると、「正常時の値（≒分布の９９％値）」を越えた「異常な」値という閾値を決定できる。
【００５１】
このようにして事前の閾値が決まったところで、前記の測定データ列に対し、以下の処理を行う。
【００５２】
まず、１行の測定データを取得し、このローカルカウンタ増分が基準値以下であるか（Ｙｅｓ）否か（Ｎｏ）を判別し、否（Ｎｏ）であれば、当該データを棄却し、Ｙｅｓであれば、次に、遠隔カウンタ増分が基準値以下であるか（Ｙｅｓ）否（Nｏ）かを判別し、否（Ｎｏ）であれば、当該データを棄却し、Ｙｅｓであれば、当該測定結果（値）を正しい測定結果として採用するので、図示していない記憶装置に記録し、次のデータに対する処理を繰り返す。
【００５３】
このような処理で棄却されなかった測定結果の組は、測定誤差の大きいデータが棄却されているため、より高精度な測定結果となっている。
【００５４】
以下、図４を用いて、本発明に係るネットワーク品質計測方法の処理手順例について説明する。本例では、Ｎ回のキャプチャ処理を行うものとする。
【００５５】
通信パケットのキャプチャを実行する（ステップＳ４０２）前に、測定用ＰＣ１１，１２内の動作状態カウンタ（ｎｅｔ．ｉｓｒ．ｑｕｅｕｅｄ）の値Ｌｂを取得してメモリ（１）４１に格納し（ステップＳ４０１）、通信パケットのキャプチャを実行してデータをメモリ（１）４１に格納した後に、測定用ＰＣ１１，１２内の動作状態カウンタ（ｎｅｔ．ｉｓｒ．ｑｕｅｕｅｄ）の値Ｌａを取得しメモリ（１）４１に格納する（ステップＳ４０３）。
【００５６】
以上の処理をＮ回繰り返した後（ステップＳ４０４，Ｓ４０５）、メモリ（１）４１に格納したＮ個のデータを用いて、以下の処理をＮ回繰り返す（ステップＳ４０６〜Ｓ４１１）。
【００５７】
まず、１回目にメモリ（１）４１に格納されたカウンタ値ＬｂとＬａを読み出し、Ｌａ−Ｌｂによりカウンタの増加分ΔＬを算出する（ステップＳ４０７）。そして、算出したカウンタの増加分ΔＬが、図２における閾値設定処理部１１ｂ，１２ｂで予め求めた閾値（基準値Ｌｏ）以下であるか（Ｙｅｓ）否（Ｎｏ）かを判別する（ステップＳ４０８）。
【００５８】
否（Ｎｏ）であれば、１回目のキャプチャ結果データを棄却し（ステップＳ４０９）、Ｙｅｓであれば、当該キャプチャ結果データをメモリ（２）４２に格納する（ステップＳ４１０。
【００５９】
以上のステップＳ４０７〜Ｓ４１０の処理をＮ回繰り返した後（ステップＳ４１１）、メモリ（２）４２に格納したキャプチャ結果データを用いて、当該ネットワーク（１３）の品質の算出を行う（ステップＳ４１２）。
【００６０】
以上、図１〜図４を用いて説明したように、本例のネットワーク品質計測システムおよび方法では、汎用ＰＣ端末により、パケット通信ネットワーク１３のネットワーク品質を計測するに際し、測定用ＰＣ１１，１２は、ネットワーク１３の品質計測に併せて、インストールされたＯＳの内部状態を表現するカウンタを計測し、当該ＯＳへの負荷が高い状態か否かを、予め定められた閾値と比較して判断し、当該カウンタの計測値が閾値より高い場合は、計測したネットワーク品質を計測対象から除外し、残った計測結果のみを用いて、当該ネットワーク品質を算出する。
【００６１】
尚、閾値の決定は、スイッチングハブ２３を介して直接接続された２台の端末において、パケットの送受信等を行うことにより、カウンタの計測を複数回行い、その統計値を閾値とする。
【００６２】
このように、本例によれば、ＰＣ端末の処理負荷が高い場合に計測した計測値は、測定用ＰＣ自体に起因する誤差を含む確率が高いと判断して棄却しており、実効的に測定精度の改善を図ることが可能である。
【００６３】
尚、本発明は、図１〜図４を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、ＯＳとしてＦｒｅｅＢＳＤ（登録商標）を例に説明したが、Ｌｉｎｕｘ（登録商標）や、ＮｅｔＢＳＤ（登録商標）、ＢＳＤ／ＯＳ（商標）など、汎用のＰＣに用いられる他の種類のＯＳを用いる場合にも適用可能である、
【符号の説明】
【００６４】
１１，１２：測定用ＰＣ、１１ａ，１２ａ：ネットワークインタフェース、１１ｂ，１２ｂ：閾値設定処理部、１３：測定対象ネットワーク、２３：スイッチングハブ、３１：測定用プログラム処理部、３２：カウンタ値取得ラッパープログラム処理部、３２ａ：測定用プログラム処理部、３２ｂ：カウンタ値取得部、３３：品質算出部。
【図１】
2010278625.tif 000003
【図２】
2010278625.tif 000004
【図３】
2010278625.tif 000005
【図４】
2010278625.tif 000006