(57)【特許請求の範囲】
【請求項１】
パケット通信網におけるパケットの遅延品質を模擬する装置であって、
上記パケット通信網からパケットを受信する受信手段と、
該受信手段で受信したパケットの送信遅延時間の計算に用いる複数の異なる遅延分布関数を記憶する記憶手段と、
該記憶手段から１つの遅延分布関数を予め定められた選択条件に従って選択する選択手段と、
該選択手段で選択した遅延分布関数に基づき上記パケットの送信遅延時間を計算する計算手段と、
該計算手段で計算した送信遅延時間に対応して上記受信したパケットを遅らせて上記パケット通信網に送信する送出制御手段と、
上記受信手段で受信したパケットの数をカウントするカウンタ手段と、
予め定められたパケット数分布関数に従ってパケット数の閾値を計算するパケット数計算手段と、
上記カウンタ手段でカウントしたパケットの数が上記パケット数計算手段で計算した閾値以上になる度に、上記カウンタ手段と上記パケット数計算手段および上記選択手段と上記計算手段を再起動する手段と
を有することを特徴とするパケット通信網の品質模擬装置。
【請求項２】
コンピュータを、請求項１に記載のパケット通信網の品質模擬装置における各手段として機能させるためのプログラム。
【請求項３】
コンピュータを、請求項１に記載のパケット通信網の品質模擬装置における各手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
パケット通信網におけるパケットの遅延品質を模擬するパケット通信網品質模擬装置の模擬方法であって、
上記パケット通信網からパケットを受信する第１のステップと、
該第１のステップで受信したパケットの送信遅延時間の計算に用いる複数の異なる遅延分布関数を記憶する第２のステップと、
上記遅延分布関数の１つを予め定められた選択条件に従って選択する第３のステップと、
該第３のステップで選択した遅延分布関数に基づき上記パケットの送信遅延時間を計算する第４のステップと、
該第４のステップで計算した送信遅延時間に対応して上記受信したパケットを遅らせて上記パケット通信網に送信する第５のステップと、
予め定められ分布関数に従ってパケット数の閾値を計算する第６のステップと、
上記第１のステップで受信したパケットの数をカウントする第７のステップと、
該第７のステップでカウントしたパケット数と上記第６のステップで計算したパケット数の閾値とを比較する第８のステップと、
該第８のステップでの比較の結果、上記第７のステップでカウントしたパケット数が上記第６のステップで計算したパケット数の閾値以上になる度に、上記第６のステップでのパケットの閾値の計算と上記第７のステップでのパケットの数のカウントおよび上記第３のステップでの遅延分布関数の選択と上記第４のステップでの送信遅延時間の計算を再起動させる第９のステップと
を有することを特徴とするパケット通信網の品質模擬方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット通信網を実際に使うことなく、パケット通信網の品質劣化を模擬する技術に係わり、特に、パケット通信網におけるパケット遅延やパケット損失ならびに帯域等のパケット通信網の品質劣化の模擬を高精度および効率的に行うのに好適なパケット通信網の品質模擬装置と方法およびプログラムと記録媒体に関するものである。
【０００２】
【従来の技術】
従来のパケット通信網における品質劣化を模擬する技術を、図９〜図１１を用いて説明する。
【０００３】
図９は、従来のパケット通信網における品質劣化のうちのパケット遅延を模擬する装置の構成例を示すブロック図であり、図１０は、従来のパケット通信網における品質劣化のうちのパケット損失を模擬する装置の構成例を示すブロック図、図１１は、従来のパケット通信網における品質劣化のうちの帯域を模擬する装置の構成例を示すブロック図である。
【０００４】
図９に示す網品質模擬装置９００においては、動作前に、遅延時間を規定する遅延分布関数９１０を遅延時間計算部９０８に設定しておく。そして、パケットの受信を契機として、受信部９０１において、受信したパケットをメモリ９０３に保存し、遅延時間計算部９０８において、遅延分布関数９１０に基づき、遅延時間を計算する。
【０００５】
ここで、遅延分布関数９１０に従う遅延時間ｘは、この遅延分布関数９１０を「Ｆ（ｘ）」（ただし、ｘ≧０、０≦Ｆ（ｘ）≦１）とすれば、広くプログラミング言語に実装されている「０≦ｙ＜１」の一様乱数により「ｙ」を見出し、これをＦ（ｘ）の逆関数「ｘ＝Ｆ−１（ｙ）」に代入して、遅延時間ｘを計算することにより得ることができる。
【０００６】
このように、遅延時間計算部９０８で計算した遅延時間を、遅延設定部９１２により、タイマ９１１に設定し、さらに、遅延設定部９１２は、このタイマ９１１からの遅延時間分の時間経過の通知を待つ。
【０００７】
タイマ９１１から、その遅延時間分の時間経過の通知を受けると、遅延設定部９１２は送出部９０２に通知し、この通知を受けた送出部９０２は、メモリ９０３からパケットを取り出して送出する。そして、網品質模擬装置９００は、次のパケット受信を待つ。
【０００８】
次の受信パケットに対する処理を含め、この従来技術では、パケットの遅延時間の系列は、同一の遅延分布関数９１０から独立に生成される。
【０００９】
図１０に示す網品質模擬装置１０００においては、動作前に、パケットの損失確率を規定する損失率１０１０を損失有無計算部１００８に設定しておく。そして、パケットの受信を契機として、受信部１００１において、受信したパケットをメモリ１００３に保存し、損失有無計算部１００８において、損失率１０１０に基づき、そのパケットの損失の有無を計算する。
【００１０】
ここで、損失率１００８に従う損失有無の決定計算は、この損失率をｘとすれば、広くプログラミング言語に実装されている「０≦ｙ＜１」の一様乱数により「ｙ」を見出し、「ｙ＜ｘ」ならば損失有り、「ｙ≧ｘ」ならば損失無しとして行うことができる。
【００１１】
このように、損失有無計算部１００８で計算した損失有無決定に基づき、損失設定部１０１２では、メモリ１００３に格納したパケットに対する送出部１００２の処理動作を制御する。すなわち、損失有無計算部１００８での計算結果が損失有りであれば、損失設定部１０１２は、メモリ１００３からパケットを廃棄し、また、損失無しであれば、送出部１００２により、メモリ１００３からパケットを取り出し送出させる。そして、網品質模擬装置１０００は、次のパケット受信を待つ。
【００１２】
この従来技術においても、次の受信パケットに対する処理を含め、各パケットの損失有無の情報は、同一の損失率１０１０から独立に生成される。
【００１３】
図１１に示す網品質模擬装置１１００においては、動作前に、単位時間あたりの送出パケット量の最大値を規定する帯域値１１１０をパケット間隔計算部１１０８に設定しておく。また、パケット間隔設定部１１０８で利用するタイマ１１１１の値を「０」に、さらに、前パケット長１１１３における直前に処理したパケットの長さを「０」に設定しておく。尚、タイマ１１１１の値は時間経過に伴い自動的に経過時間分だけ増加する。
【００１４】
そして、パケットの受信を契機として、受信部１１０１により、受信したパケットをメモリ１１０３に保存し、また、パケット間隔計算部１１０８により、帯域値１１１０の値（「Ｂ」）と、前パケット長１１１３の値（「Ｍ」）に基づき、そのパケットの前パケットとの間隔ｔを「ｔ＝Ｍ／Ｂ」により計算する。尚、この受信部１１０１で受信しメモリ１１０３に保存したパケットのパケット長を前パケット長１１１３として設定する。
【００１５】
パケット間隔設定部１１１２では、このように、パケット間隔計算部１１０８で計算したパケット間隔ｔとタイマ１１１１の値Ｔを比較し、「Ｔ≧ｔ」になるのを待って、メモリ１００３に格納したパケットに対する送出部１００２の処理動作を制御する。すなわち、「Ｔ≧ｔ」になれば、タイマ１１１１の値（Ｔ）を「０」に設定すると共に、送出部１１０２により、メモリ１１０３からパケットを取り出させ送出させる。そして、網品質模擬装置１１００は、次のパケット受信を待つ。
【００１６】
次の受信パケットに対する処理を含め、この従来技術では、パケットの帯域値の系列は、同一の帯域値１１１０から独立に生成される。
【００１７】
以上のようにして、パケット通信網の品質劣化を模擬することで、パケット通信網を実際に使うことなく、事前にユーザの利用品質を把握することができる。そして、この技術を用いて、例えば、アプリケーション開発者やサービス提供者が、想定されるパケット通信網の品質劣化を模擬することにより、ユーザがそのアプリケーションを使ってパケット通信網を利用する際の品質を事前に把握することができ、アプリケーションの仕様変更やサーバ配置等のサービス提供形態を検討することができる。
【００１８】
近年のアプリケーションは、パケット通信網における定常的な品質劣化に対してパケット送出レートを調整することで、品質劣化を回避するような動作を実装しているが、品質劣化が時間的に急激に変動する場合に適応できるかどうかが問題となっている。すなわち、このようなアプリケーションに対しては、パケット通信網における定常的な品質劣化だけでなく、急激に変動する品質劣化も模擬できることが要求される。
【００１９】
しかし、上述の従来技術は、品質劣化を規定する遅延分布関数や損失率、あるいは帯域値は一度設定すると変更せず、同じ品質劣化を模擬するものであった。これは、パケット通信網を長時間模擬する目的に対して、模擬装置のメモリの制約から、例えば、パケットの遅延時間の系列として任意の系列を保持しておくことが困難なため、同一の遅延分布関数から独立に生成することによる。また、損失や帯域も、任意の系列を保持することはせず、単一のパラメータから系列を生成している。その結果、従来の技術では、急激に変動する品質劣化は模擬できない。
【００２０】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、模擬できるのは、パケット通信網の定常的な品質劣化だけであり、急激に変動する品質劣化は模擬できない点である。
【００２１】
本発明の目的は、これら従来技術の課題を解決し、パケット遅延やパケット損失ならびに帯域等のパケット通信網における品質劣化の模擬を高精度および効率的に行うことを可能とするパケット通信網の品質模擬装置と方法およびプログラムと記録媒体を提供することである。
【００２２】
【課題を解決するための手段】
上記目的を達成するため、本発明のパケット通信網の品質模擬装置と方法では、パケット通信網の品質劣化を規定する遅延分布関数や損失率あるいは帯域値を複数持たせ、遅延分布関数や損失率あるいは帯域値を時間的に変化させる。例えば、同じ状態の継続するパケット数を確率的に変化させ、このパケット数の変化に合わせて、複数の遅延分布関数や損失率あるいは帯域値から１つを選択して用いる。このことにより、異なる複数の品質劣化の状態を変化させ、品質劣化の変動を模擬することができる。つまり、遅延時間においては、従来のように同一の遅延分布関数から独立に生成するのとは異なり、確率的に生成したパケット数の値によって、遅延平均や分散の小さい状態から大きい状態に急激に変化することが模擬でき、また、パケット損失においては、従来のように一定のパケット損失確率で劣化を模擬するのではなく、パケット損失確率の少ない状態から大きい状態に急激に変化することが模擬できる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
図１は本発明に係わる網品質模擬装置の第１の構成例を示すブロック図、図２は本発明に係わる網品質模擬装置の第２の構成例を示すブロック図、図３は本発明に係わる網品質模擬装置の第３の構成例を示すブロック図、図４は図１から図３のそれぞれにおける網品質模擬装置の利用例を示す説明図であり、図５は図１から図３のそれぞれにおける網品質模擬装置のハードウェア構成例を示すブロック図である。
【００２４】
図５において、５１０はＣＲＴ（Cathode Ray Tube）やＬＣＤ(Liquid Crystal Display)等からなる表示装置、５２０はキーボードやマウス等からなる入力装置、５３０はＨＤＤ（Hard Disk Drive）等からなる外部記憶装置、５４０はＣＰＵ（Central Processing Unit）５４０ａや主メモリ５４０ｂおよび入出力インタフェース５４０ｃ等を具備してコンピュータ処理を行なう情報処理装置、５５０は本発明に係わるプログラムやデータを記録したＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）もしくはＤＶＤ（Digital Video Disc/Digital Versatile Disc）等からなる光ディスク、５６０は光ディスク５５０に記録されたプログラムおよびデータを読み出すための駆動装置、５７０はＬＡＮ（Local Area Network）カードやモデム等からなる通信装置である。
【００２５】
光ディスク５５０に格納されたプログラムおよびデータを情報処理装置５４０により駆動装置５６０を介して外部記憶装置５３０内にインストールした後、外部記憶装置５３０から主メモリ５４０ｂに読み込みＣＰＵ５４０ａで処理することにより、情報処理装置５４０内に図１〜図３のそれぞれに示す網品質模擬装置１００，２００，３００の各機能が構成される。
【００２６】
これらの図１〜図３のそれぞれに示す網品質模擬装置１００，２００，３００は、例えば、図４に示すようにして利用される。すなわち、実際には、図４（ａ）に示すように、ユーザ端末４１０から入力されたパケットを、そのヘッダ情報に基づきルーティング処理してユーザ端末４３０に向けて出力するパケット通信網４２０の品質劣化を、図４（ｂ）で示すようにして、各網品質模擬装置１００，２００，３００で模擬することで、事前にユーザの利用品質を把握するという利用形態が考えられる。
【００２７】
このように、網品質模擬装置１００，２００，３００を用いて、アプリケーション開発者やサービス提供者が、想定されるパケット通信網の品質劣化を模擬することにより、ユーザがそのアプリケーションを使って通信網を利用する際の品質を事前に把握でき、アプリケーションの仕様変更やサーバ配置等のサービス提供形態を検討することができる。
【００２８】
図１に示す網品質模擬装置１００には、受信部１０１と、送出部１０２、メモリ１０３が設けられ、受信部１０１により、例えば、図４に示すユーザ端末４１０から送られてきたパケットを受信し、この受信部１０１で受信したパケットをメモリ１０３に蓄積し、そして、送出部１０２により、メモリ１０３からパケットを取り出して、例えば、図４におけるユーザ端末４３０に送信する。
【００２９】
そして、本例の網品質模擬装置１００は、この送出部１０２によるパケットの送信を意図的に遅延させて、ユーザ端末４１０とユーザ端末４３０間を接続するパケット通信網の品質劣化のうちの遅延を模擬するために、カウンタ１０４と、パケット数カウント部１０５、継続パケット数計算部１０６、継続パケット数分布関数記憶部（図中「継続パケット数分布関数」と記載）１０７、遅延時間計算部１０８、遅延分布関数選択部１０９、遅延分布関数記憶部（図中「遅延分布関数１，２，・・・」と記載）１１０、タイマ１１１、遅延設定部１１２を具備している。
【００３０】
ここで、遅延時間計算部１０８とタイマ１１１および遅延設定部１１２は、図９で説明した従来の模擬装置における遅延時間計算部９０８とタイマ９１１および遅延設定部９１２のそれぞれと同じ機能を有するものであるが、本例の網品質模擬装置１００では、遅延分布関数記憶部１１０において、遅延分布関数を複数（遅延分布関数１，２，・・・）具備しており、これらの遅延分布関数（遅延分布関数１，２，・・・）から、遅延時間計算部１０８での遅延時間の計算に用いるものを、時間の経過に応じて確率的に変更して選択する。
【００３１】
例えば、遅延平均や分散の小さい遅延分布関数と遅延平均や分散の大きい遅延分布関数とを切り替えて、遅延時間計算部１０８による送信遅延時間の計算を行う。このことにより、パケット通信網における、遅延平均や分散の小さい状態から大きい状態に急激に変化する際の模擬を行うことができる。
【００３２】
本例の網品質模擬装置１００では、遅延時間計算部１０８での遅延時間の計算に用いる遅延分布関数（遅延分布関数１，２，・・・）を選択する機能として、遅延分布関数選択部１０９を設けており、この遅延分布関数選択部１０９では、遅延分布関数記憶部１１０からの遅延分布関数の選択を、乱数を用いて無作為（ランダム）に、あるいは、予め設定登録された順序で行うこともできる。
【００３３】
また、本例の網品質模擬装置１００では、この遅延分布関数選択部１０９による遅延分布関数の選択を行うタイミングを、受信したパケット数に基づき、かつランダムに変化させるために、カウンタ１０４、パケット数カウント部１０５、継続パケット数計算部１０６、継続パケット数分布関数記憶部１０７を用いている。
【００３４】
すなわち、継続パケット数計算部１０６により、継続パケット数分布関数記憶部１０７に予め用意された分布関数（継続パケット数分布関数）に従ってパケット数の閾値を計算し、計算したパケット数閾値を、パケット数カウント部１０５により、カウンタ１０４にセットする。
【００３５】
そして、このパケット数カウント部１０５においては、受信部１０１で受信したパケットの数をカウントして、このカウント数がカウンタ１０４にセットしたパケット数閾値以上になる度に、遅延分布関数選択部１０９による選択動作を起動させる。
【００３６】
尚、この遅延分布関数選択部１０９の選択動作の再起動と共に、パケット数カウント部１０５は、継続パケット数計算部１０６による、分布関数（継続パケット数分布関数）に従ってのパケット数閾値の計算動作も再起動させる。これにより、前回とは異なったパケット数閾値がカウンタ１０４にセットされ、その結果、遅延分布関数選択部１０９の選択動作の開始時間（タイミング）が変化することになる。
【００３７】
また、このパケット数カウント部１０５における動作として、例えば、受信部１０１でパケットを受信する毎に、カウンタ１０４にセットしたパケット数閾値を１減算し、カウンタ１０４にセットしたパケット数閾値が「０」になった時点で、遅延分布関数選択部１０９による選択動作および継続パケット数計算部１０６によるパケット数閾値の計算動作を再起動させることでも良い。
【００３８】
このような、本例の網品質模擬装置１００の動作を、図６を用いて説明する。
【００３９】
図６は、図１における網品質模擬装置の本発明に係わる処理動作例を示すフローチャートである。
【００４０】
予め、パケットの遅延時間を規定する複数の異なる遅延分布関数を遅延分布関数記憶部１１０において記憶しておくと共に（ステップ６０１）、それらの遅延分布関数のうちの１つに連続して従うパケット数の分布関数（継続パケット数分布関数）を継続パケット数分布関数記憶部１０７において予め記憶しておく（ステップ６０２）。
【００４１】
そして、遅延分布関数選択部１０９において、最初に使う遅延分布関数を遅延分布関数記憶部１１０から選択し、遅延時間計算部１０８に設定しておく（ステップ６０３）。
【００４２】
また、継続パケット数計算部１０６において、最初の分布関数に継続して従うパケット数（閾値）を、継続パケット数分布関数記憶部１０７に記憶された継続パケット数分布関数に従って計算し（ステップ６０４）、計算したパケット数をカウンタ値（閾値）として、パケット数カウント部１０５により、カウンタ１０４に設定する（ステップ６０５）。
【００４３】
そして、パケットの受信を契機として（ステップ６０６）、受信部１０１において、パケットをメモリ１０３に保存し（ステップ６０７）、パケット数カウント部１０５において、カウンタ１０４におけるパケット数を１減算し（ステップ６０８）、遅延時間計算部１０８において、先に設定された遅延分布関数に基づき、遅延時間を計算する（ステップ６０９）。
【００４４】
ここで、遅延分布関数に従う遅延時間ｘは、この遅延分布関数をＦ（ｘ）（ただし、ｘ≧０，０≦Ｆ（ｘ）≦１）とすれば、広くプログラミング言語に実装されている「０≦ｙ＜１」の一様乱数により「ｙ」を見出し、これを遅延分布関数Ｆ（ｘ）の逆関数「ｘ＝Ｆ−１（ｙ）」に代入して、遅延時間ｘを計算することにより得ることができる。
【００４５】
このようにして、遅延時間計算部１０８で計算した遅延時間を、遅延設定部１１２により、タイマ１１１に設定し（ステップ６１０）、このタイマ１１１において、遅延時間分の時間経過を計る（ステップ６１１）。
【００４６】
タイマ１１１において、設定した遅延時間分の時間が経過すると（ステップ６１２）、遅延時間設定部１１２は送出部１０２に通知し（ステップ６１３）、通知を受けた送出部１０２は、メモリ１０３からパケットを取り出して送出する（ステップ６１４）。
【００４７】
さらに処理が継続であれば（ステップ６１５）、ステップ６０８で１減算されたカウンタ１０４の値を評価し（ステップ６１６）、そのカウンタ１０４の値が「０」でなければ、ステップ６０６の処理に戻り、次のパケットの受信を待ち、また、カウンタ１０４の値が「０」であれば、ステップ６０３の処理に戻り、このステップ６０３における遅延分布関数選択部１０９による次の遅延分布関数の選択および設定と、ステップ６０４，６０５における継続パケット数計算部１０６による次の継続パケット数の算出および設定とを行い、ステップ６０６で次のパケットの受信を待つ。
【００４８】
このように、本例の網品質模擬方法では、パケット通信網の品質劣化のパラメータである遅延分布関数（平均や分散）を、継続パケット数分布関数に基づき確率的に生成したパケット数によって、時間的に変化させるので、パケット通信網を、異なる複数の品質劣化の状態に変化させることができ、従来技術のように品質劣化を規定する遅延分布関数を一度設定すると変更しない従来技術とは異なり、例えば、遅延平均や分散の小さい状態から大きい状態に急激に変化する品質劣化を模擬できる。
【００４９】
次に、図２に示す網品質模擬装置２００について説明する。
【００５０】
図２に示す網品質模擬装置２００には、図１に示す網品質模擬装置１００と同様に、受信部２０１と、送出部２０２、メモリ２０３が設けられ、受信部２０１により、例えば、図４に示すユーザ端末４１０から送られてきたパケットを受信し、この受信部２０１で受信したパケットをメモリ２０３に蓄積し、そして、送出部２０２により、メモリ２０３からパケットを取り出して、例えば、図４におけるユーザ端末４３０に送信する。
【００５１】
そして、本例の網品質模擬装置２００は、この送出部２０２の送信対象のパケットの破棄を意図的に行い、ユーザ端末４１０とユーザ端末４３０間を接続するパケット通信網の品質劣化のうちの損失を模擬するために、カウンタ２０４と、パケット数カウント部２０５、継続パケット数計算部２０６、継続パケット数分布関数記憶部（図中「継続パケット数分布関数」と記載）２０７、損失有無計算部２０８、損失率選択部２０９、損失率記憶部（図中「損失率１，２，・・・」と記載）２１０、損失設定部２１２を具備している。
【００５２】
ここで、損失有無計算部２０８と損失設定部２１２は、図１０で説明した従来の模擬装置における損失有無計算部１００８と損失設定部１０１２のそれぞれと同じ機能を有するものであるが、本例の網品質模擬装置２００では、損失率記憶部２１０において、損失率を複数（損失率１，２，・・・）具備しており、これらの損失率（損失率１，２，・・・）から、損失有無計算部２０８でのパケット破棄・パケット送信の決定に用いるものを、時間の経過に応じて確率的に変更して選択する。
【００５３】
例えば、パケット損失確率の小さい損失率とパケット損失確率の大きい損失率とを切り替えて、損失有無計算部２０８によるパケット破棄・パケット送信の決定を行う。このことにより、パケット通信網における、パケット損失率の少ない状態から大きい状態に急激に変化する際の模擬を行うことができる。
【００５４】
本例の網品質模擬装置２００では、損失率有無計算部２０８でのパケット破棄・パケット送信の決定処理に用いる損失率（損失率１，２，・・・）を選択する機能として、損失率選択部２０９を設けており、この損失率選択部２０９では、損失率記憶部２１０からの損失率の選択を、乱数を用いて無作為（ランダム）に、あるいは、予め設定登録された順序で行うことができる。
【００５５】
また、本例の網品質模擬装置２００では、この損失率選択部２０９による損失率の選択を行うタイミングを、受信したパケット数に基づき、かつランダムに変化させるために、カウンタ２０４、パケット数カウント部２０５、継続パケット数計算部２０６、継続パケット数分布関数記憶部２０７を用いている。
【００５６】
すなわち、継続パケット数計算部２０６により、継続パケット数分布関数記憶部２０７に予め用意された分布関数（継続パケット数分布関数）に従ってパケット数閾値を計算し、計算したパケット数閾値を、パケット数カウント部２０５により、カウンタ２０４にセットする。
【００５７】
そして、このパケット数カウント部２０５において、受信部２０１で受信したパケットの数をカウントし、このカウント数がカウンタ２０４にセットしたパケット数閾値以上になる度に、損失率選択部２０９による選択動作を起動させる。
【００５８】
尚、この損失率選択部２０９の選択動作の再起動と共に、パケット数カウント部２０５は、継続パケット数計算部２０６による、分布関数（継続パケット数分布関数）に従ってのパケット数閾値の計算動作も再起動させる。これにより、前回とは異なったパケット数閾値がカウンタ２０４にセットされ、その結果、損失率選択部２０９の選択動作のタイミングが時間的に変化することになる。
【００５９】
また、このパケット数カウント部２０５における動作として、例えば、受信部２０１でパケットを受信する毎に、カウンタ２０４にセットしたパケット数閾値を１減算し、カウンタ２０４にセットしたパケット数閾値が「０」になった時点で、損失率選択部２０９による選択動作および継続パケット数計算部２０６によるパケット数閾値の計算動作を起動させることでも良い。
【００６０】
このような、本例の網品質模擬装置２００の動作を、図７を用いて説明する。
【００６１】
図７は、図２における網品質模擬装置の本発明に係わる処理動作例を示すフローチャートである。
【００６２】
予め、パケットの損失を規定する複数の異なる損失率を損失率記憶部２１０において記憶しておくと共に（ステップ７０１）、それらの損失率のうちの１つに連続して従うパケット数の分布関数（継続パケット数分布関数）を継続パケット数分布関数記憶部２０７において予め記憶しておく（ステップ７０２）。
【００６３】
そして、損失率選択部２０９において、最初に使う損失率を損失率記憶部２１０から選択し、損失有無計算部２０８に設定しておく（ステップ７０３）。
【００６４】
また、継続パケット数計算部２０６において、最初の分布関数に継続して従うパケット数（閾値）を、継続パケット数分布関数記憶部２０７に記憶された継続パケット数分布関数に従って計算し（ステップ７０４）、計算したパケット数をカウンタ値（閾値）として、パケット数カウント部２０５により、カウンタ２０４に設定する（ステップ７０５）。
【００６５】
そして、パケットの受信を契機として（ステップ７０６）、受信部２０１において、パケットをメモリ２０３に保存し（ステップ７０７）、パケット数カウント部２０５において、カウンタ２０４におけるパケット数を１減算し（ステップ７０８）、損失有無計算部２０８において、先に設定された損失率に基づき、パケット損失有無（パケット破棄するかパケット送信するか）を判定する（ステップ７０９）。
【００６６】
ここで、損失率に従う損失有無の判定は、この損失率をｘとすれば、広くプログラミング言語に実装されている「０≦ｙ＜１」の一様乱数により「ｙ」を見出し、「ｙ＜ｘ」であれば損失有り、「ｙ≧ｘ」であれば損失無しとすることにより行う。
【００６７】
この損失有無計算部２０８での計算結果が損失有であれば（ステップ７１０）、損失設定部２１２により、メモリ２０３からパケットを破棄し（ステップ７１１）、また、損失有無計算部２０８での計算結果が損失無しであれば、送出部２０２により、メモリ２０３からパケットを取り出して送出する（ステップ７１２）。
【００６８】
さらに処理が継続であれば（ステップ７１３）、ステップ７０８で１減算されたカウンタ２０４の値を評価し（ステップ７１４）、そのカウンタ２０４の値が「０」でなければ、ステップ７０６の処理に戻り、次のパケットの受信を待ち、また、カウンタ２０４の値が「０」であれば、ステップ７０３の処理に戻り、このステップ７０３における損失率選択部２０９による次の損失率の選択および設定と、ステップ７０４，７０５における継続パケット数計算部２０６による次の継続パケット数の算出および設定とを行い、ステップ７０６で次のパケットの受信を待つ。
【００６９】
このように、本例の網品質模擬方法では、パケット通信網の品質の劣化のパラメータである損失率を、継続パケット数分布関数に基づき確率的に生成したパケット数によって、時間的に変化させるので、パケット通信網を、異なる複数の品質劣化の状態に変化させることができ、従来技術のように品質劣化を規定する損失率を一度設定すると変更しない従来技術とは異なり、例えば、パケット損失確率の小さい状態から大きい状態に急激に変化する品質劣化を模擬できる。
【００７０】
次に、図３に示す網品質模擬装置３００について説明する。
【００７１】
図３に示す網品質模擬装置３００には、図１，２に示す網品質模擬装置１００，２００と同様に、受信部３０１と、送出部３０２、メモリ３０３が設けられ、受信部３０１により、例えば、図４に示すユーザ端末４１０から送られてきたパケットを受信し、この受信部３０１で受信したパケットをメモリ３０３に蓄積し、そして、送出部３０２により、メモリ３０３からパケットを取り出して、例えば、図４におけるユーザ端末４３０に送信する。
【００７２】
そして、本例の網品質模擬装置３００は、この送出部３０２からのパケット送信間隔を意図的に変更し、ユーザ端末４１０とユーザ端末４３０間を接続するパケット通信網の品質劣化のうちの帯域を模擬するために、カウンタ３０４と、パケット数カウント部３０５、継続パケット数計算部３０６、継続パケット数分布関数記憶部（図中「継続パケット数分布関数」と記載）３０７、パケット間隔計算部３０８、帯域値選択部３０９、帯域値記憶部（図中「帯域値１，２，・・・」と記載）３１０、タイマ３１１、パケット間隔設定部３１２、および、前パケット長記憶部（図中、「前パケット値」と記載）３１３を具備している。
【００７３】
ここで、パケット間隔計算部３０８とタイマ３１１、パケット間隔定部２１２および前パケット長記憶部３１３は、図１１で説明した従来の模擬装置におけるパケット間隔計算部１１０８とタイマ１１１１、パケット間隔定部１１１２および前パケット長記憶部１１１３のそれぞれと同じ機能を有するものであるが、本例の網品質模擬装置３００では、帯域値記憶部３１０において、単位時間当たりの送出パケット量の最大値を規定する帯域値を複数（帯域値１，２，・・・）具備しており、これらの帯域値（帯域値１，２，・・・）から、パケット間隔計算部３０８でのパケット送出間隔の計算に用いるものを、時間の経過に応じて確率的に変更して選択する。
【００７４】
すなわち、本例の網品質模擬装置３００では、パケット間隔計算部３０８でのパケット送信間隔の計算に用いる帯域値（帯域値１，２，・・・）を選択する機能として、帯域値選択部３０９を設けており、この損失率選択部３０９では、帯域値記憶部３１０からの帯域値の選択を、乱数を用いて無作為（ランダム）に、あるいは、予め設定登録された順序で行う。
【００７５】
また、本例の網品質模擬装置３００では、この帯域値選択部３０９による帯域値の選択を行うタイミングを、受信したパケット数に基づき、かつランダムに変化させるために、制御するために、カウンタ３０４、パケット数カウント部３０５、継続パケット数計算部３０６、継続パケット数分布関数記憶部３０７を用いている。
【００７６】
すなわち、継続パケット数計算部３０６により、継続パケット数分布関数記憶部３０７に予め用意された分布関数（継続パケット数分布関数）に従ってパケット数閾値を計算し、計算したパケット数閾値を、パケット数カウント部３０５により、カウンタ３０４にセットする。
【００７７】
そして、このパケット数カウント部３０５において、受信部３０１で受信したパケットの数をカウントして、このカウント数がカウンタ３０４にセットしたパケット数閾値以上になる度に、帯域値選択部３０９による選択動作を再起動させる。
【００７８】
尚、この帯域値選択部３０９の選択動作の再起動と共に、パケット数カウント部３０５は、継続パケット数計算部３０６による、分布関数（継続パケット数分布関数）に従ってのパケット数閾値の計算動作も再起動させる。これにより、前回とは異なったパケット数閾値がカウンタ３０４にセットされ、その結果、帯域値選択部３０９の選択動作のタイミングが時間的に変化することになる。
【００７９】
また、このパケット数カウント部３０５における動作として、例えば、受信部３０１でパケットを受信する毎に、カウンタ３０４にセットしたパケット数閾値を１減算し、カウンタ３０４にセットしたパケット数閾値が「０」になった時点で、帯域値選択部３０９による選択動作および継続パケット数計算部３０６によるパケット数閾値の計算動作を再起動させることでも良い。
【００８０】
このような、本例の網品質模擬装置３００の動作を、図８を用いて説明する。
【００８１】
図８は、図３における網品質模擬装置の本発明に係わる処理動作例を示すフローチャートである。
【００８２】
予め、単位時間当たりの送出パケット量の最大値を規定する複数の異なる帯域値を帯域値記憶部３１０において記憶しておくと共に（ステップ８０１）、それらの帯域値のうちの１つに連続して従うパケット数の分布関数（継続パケット数分布関数）を継続パケット数分布関数記憶部３０７において予め記憶しておく（ステップ８０２）。
【００８３】
そして、帯域値選択部３０９において、最初に使う帯域値を帯域値記憶部３１０から選択し、パケット間隔計算部３０８に設定しておく（ステップ８０３）。また、このパケット間隔計算部３０８で用いる前パケット長記憶部３１３における前パケット長と、パケット間隔設定部３１２で利用するタイマ３１１の値のそれぞれを「０」に設定しておく（ステップ８０４）。尚、このタイマ３１１の値は、時間経過に伴い自動的に経過時間分だけ増加する。
【００８４】
さらに、継続パケット数計算部３０６において、最初の分布関数に継続して従うパケット数（閾値）を、継続パケット数分布関数記憶部３０７に記憶された継続パケット数分布関数に従って計算し（ステップ８０５）、計算したパケット数をカウンタ値（閾値）として、パケット数カウント部３０５により、カウンタ３０４に設定する（ステップ８０６）。
【００８５】
そして、パケットの受信を契機として（ステップ８０７）、受信部３０１において、パケットをメモリ３０３に保存し（ステップ８０８）、パケット数カウント部３０５において、カウンタ３０４におけるパケット数を１減算し（ステップ８０９）、パケット間隔計算部３０８において、先に設定された帯域値（「Ｂ」）と前パケット長（「Ｍ」）に基づき、そのパケットの前パケットとの間隔（パケット間隔ｔ）を、「ｔ＝Ｍ／Ｂ」により計算する（ステップ８１０）。尚、メモリ３０３に保存したパケットのパケット長を、後述するように、先のステップ８０４を継続して繰り返す際に、処理前パケット長として、前パケット長記憶部３１３に、初期値の「０」に替えて設定する。
【００８６】
そして、パケット間隔設定部３１２において、このようにしてパケット間隔計算部３０８で計算したパケット間隔（ｔ）と、タイマ３１１の値（Ｔ）とを比較し、「Ｔ≧ｔ」になるのを待ち（ステップ８１１）、「Ｔ≧ｔ」になれば、タイマ３１１の値を「０」に設定し（ステップ８１２）、送出部３０２に通知する（ステップ８１３）。
【００８７】
このパケット間隔設定部３１２からの通知を受けた送出部３０２は、メモリ３０３からパケットを取り出して送出する（ステップ８１４）。
【００８８】
さらに処理が継続であれば（ステップ８１５）、ステップ８０９で１減算されたカウンタ３０４の値を評価し（ステップ８１６）、そのカウンタ３０４の値が「０」でなければ、ステップ８０７の処理に戻り、次のパケットの受信を待ち、また、カウンタ３０４の値が「０」であれば、ステップ８０３の処理に戻り、このステップ８０３における帯域値選択部３０９による次の帯域値の選択・設定と、次のステップ８０４における前パケット長記憶部３１３への設定（ここでは、メモリ３０３に保存したパケットのパケット長を設定する）およびタイマ３１１の「０」再設定、ならびに、ステップ８０５，８０６における設定継続パケット数計算部３０６による次の継続パケット数の算出および設定とを行い、ステップ８０７で次のパケットの受信を待つ。
【００８９】
このように、本例の網品質模擬方法では、パケット通信網の品質の劣化のパラメータである帯域値を、継続パケット数分布関数に基づき確率的に生成したパケット数によって、時間的に変化させるので、パケット通信網を、異なる複数の品質劣化の状態に変化させての模擬を行うことができる。
【００９０】
以上、図１〜図８を用いて説明したように、本例の網品質模擬装置（パケット通信網の品質模擬装置）と方法では、パケット通信網の品質劣化の変動を模擬できるように、品質劣化を規定する遅延分布関数や損失率、帯域値のそれぞれを複数もたせ、１つを選択して模擬に用いる。そして、選択したパラメータでの模擬の継続期間を、パケットの受信数に基づき制限する。さらに、この制限に用いるパケット受信数も、分布関数に基づき確率的に変化させる。
【００９１】
すなわち、パケット通信網におけるパケットの品質劣化のうちの遅延を模擬する際には、パケットの遅延時間を規定する複数の異なる分布関数と、それらの遅延分布関数のうちの１つに連続して従うパケット数を規定する分布関数（継続パケット数分布関数）とを持ち、通過するパケットに対して、継続パケット数分布関数に従うパケット数毎に、採用する遅延分布関数を変えながら、採用された遅延時間分布に従う遅延時間をそのパケットに付加する。
【００９２】
また、パケット通信網におけるパケットの品質劣化のうちの損失を模擬する際には、パケットの損失を規定する複数の異なる損失率と、それらの損失率のうちの１つに連続して従うパケット数を規定する分布関数（継続パケット数分布関数）とを持ち、通過するパケットに対して、継続パケット数分布関数に従うパケット数毎に、採用する損失率を変えながら、採用された損失率に従う確率でそのパケット廃棄する。
【００９３】
また、パケット通信網におけるパケットの品質劣化のうちの帯域を模擬する際には、単位時間あたりの送出パケット量の最大値を規定する複数の異なる帯域値と、それらの帯域値のうちの１つに連続して従うパケット数を規定する分布関数（継続パケット数分布関数）とを持ち、通過するパケットに対して、継続パケット数分布関数に従うパケット数毎に、採用する帯域値を変えながら、採用された帯域値に従いパケット間隔を広げる。
【００９４】
これにより、従来技術のように品質劣化を規定する遅延分布関数や損失率および帯域値を一度設定すると変更しない場合とは異なり、時間的に変動する品質劣化を模擬することができる。つまり、遅延分布関数、損失率、帯域などの劣化のパラメータを時間的に（確率的に生成したパケット数によって）変化させることにより、異なる複数の品質劣化の状態に変化できる。
【００９５】
その結果、例えば、遅延時間においては、従来の同一の遅延分布関数から独立に生成するのとは異なり、確率的に生成したパケット数の値によって、遅延平均や分散の小さい状態から大きい状態に急激に変化するパケット通信網の模擬を行うことができ、また、パケット損失においては、従来のように一定のパケット損失確率で劣化を模擬するのではなく、パケット損失確率の少ない状態から大きい状態に急激に変化するパケット通信網の模擬を行うことができる。
【００９６】
尚、本発明は、図１〜図８を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、図１の遅延分布関数選択部１０９、図２の損失率選択部２０９、図３の帯域値選択部３０９の選択動作を規制するための選択条件として、カウンタ１０４，２０４，３０４とパケット数カウント部１０５，２０５，３０５、継続パケット数計算部１０６，２０６，３０６，継続パケット数分布関数記憶部１０７，２０７，３０７による受信パケット数のカウント結果を用いているが、単に、乱数を用いてランダムなタイマ値を設定し、あるいは、所定の順序で登録されたタイマ値を順次に設定し、このタイマ値が「０」になる度に、各選択部を起動すると共に、タイマ値を再設定することでも良い。
【００９７】
また、本例では、網品質模擬装置のハードウェア構成として図５のコンピュータ構成例を示したが、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Flexible Disk）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【００９８】
【発明の効果】
本発明によれば、パケット遅延やパケット損失ならびに帯域等のパケット通信網における品質劣化の模擬を行う際、定常的な品質劣化だけでなく、急激に変動する品質劣化も模擬でき、パケット通信網における品質劣化の模擬を高精度および効率的に行うことが可能となり、アプリケーション開発者やサービス提供者は、提供するアプリケーションでパケット通信網を利用する際の品質の事前チェックを詳細にでき、アプリケーションの仕様変更やサーバ配置等のサービス提供形態の検討を高信頼に行うことが可能である。
【図面の簡単な説明】
【図１】本発明に係わる網品質模擬装置の第１の構成例を示すブロック図である。
【図２】本発明に係わる網品質模擬装置の第２の構成例を示すブロック図である。
【図３】本発明に係わる網品質模擬装置の第３の構成例を示すブロック図である。
【図４】図１から図３のそれぞれにおける網品質模擬装置の利用例を示す説明図である。
【図５】図１から図３のそれぞれにおける網品質模擬装置のハードウェア構成例を示すブロック図である。
【図６】図１における網品質模擬装置の本発明に係わる処理動作例を示すフローチャートである。
【図７】図２における網品質模擬装置の本発明に係わる処理動作例を示すフローチャートである。
【図８】図３における網品質模擬装置の本発明に係わる処理動作例を示すフローチャートである。
【図９】従来のパケット通信網における品質劣化のうちのパケット遅延を模擬する装置の構成例を示すブロック図である。
【図１０】従来のパケット通信網における品質劣化のうちのパケット損失を模擬する装置の構成例を示すブロック図である。
【図１１】従来のパケット通信網における品質劣化のうちの帯域を模擬する装置の構成例を示すブロック図である。
【符号の説明】
１００，２００，３００：網品質模擬装置、１０１，２０１，３０１：受信部、１０２，２０２，３０２：送出部、１０３，２０３，３０３：メモリ、１０４，２０４，３０４：カウンタ、１０５，２０５，３０５：パケット数カウント部、１０６，２０６，３０６：継続パケット数計算部、１０７，２０７，３０７：継続パケット数分布関数記憶部（「継続パケット数分布関数」）、１０８：遅延時間計算部、１０９：遅延分布関数選択部、１１０：遅延分布関数記憶部（「遅延分布関数１，２，・・・」）、１１１，３１１：タイマ、１１２：遅延設定部、２０８：損失有無計算部、２０９：損失率選択部、２１０：損失率記憶部（「損率率１，２，・・・」）、２１２：損失設定部、３０８：パケット間隔計算部、３０９：帯域値選択部、３１０：帯域値記憶部（「帯域値１，２，・・・」）、３１２：パケット間隔設定部、３１３：前パケット長記憶部、４１０，４３０：ユーザ端末、４２０：パケット通信網、５１０：表示装置、５２０：入力装置、５３０：外部記憶装置、５４０：情報処理装置、５４０ａ：ＣＰＵ、５４０ｂ：主メモリ、５４０ｃ：入出力インタフェース、５５０：光ディスク、５６０：駆動装置、５７０：通信装置、９００，１０００，１１００：網品質模擬装置、９０１，１００１，１１０１：受信部、９０２，１００２，１１０２：送出部、９０３，１００３，１１０３：メモリ、９０８：遅延時間計算部、９１０：遅延分布関数、９１１：タイマ、９１２：遅延設定部、１００８：損失有無計算部、１０１０：損失率、１０１２：損失設定部、１１０８：パケット間隔計算部、１１１０：帯域値、１１１１：タイマ、１１１２：パケット間隔設定部。
【図１】
0003709461.tif 000002
【図２】
0003709461.tif 000003
【図３】
0003709461.tif 000004
【図４】
0003709461.tif 000005
【図５】
0003709461.tif 000006
【図６】
0003709461.tif 000007
【図７】
0003709461.tif 000008
【図８】
0003709461.tif 000009
【図９】
0003709461.tif 000010
【図１０】
0003709461.tif 000011
【図１１】
0003709461.tif 000012