Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6430360B2 - シミュレーション装置、シミュレーション方法及びシミュレーションプログラム - Google Patents
[go: Go Back, main page]

JP6430360B2 - シミュレーション装置、シミュレーション方法及びシミュレーションプログラム - Google Patents

シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Download PDF

Info

Publication number
JP6430360B2
JP6430360B2 JP2015246786A JP2015246786A JP6430360B2 JP 6430360 B2 JP6430360 B2 JP 6430360B2 JP 2015246786 A JP2015246786 A JP 2015246786A JP 2015246786 A JP2015246786 A JP 2015246786A JP 6430360 B2 JP6430360 B2 JP 6430360B2
Authority
JP
Japan
Prior art keywords
simulation
loss
datagram
equation
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015246786A
Other languages
English (en)
Other versions
JP2017112549A (ja
Inventor
豊島 鑑
鑑 豊島
勇貴 南
勇貴 南
山田 一久
一久 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015246786A priority Critical patent/JP6430360B2/ja
Publication of JP2017112549A publication Critical patent/JP2017112549A/ja
Application granted granted Critical
Publication of JP6430360B2 publication Critical patent/JP6430360B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、トラヒックシミュレーションにおいて、統計的に有効な数のサンプルが得られた時点で損失率を計算する装置、方法及びプログラムに関する。
例えば、インターネットにおいて、動画配信が盛んに行われており、また、社内IP(Internet Protocol)ネットワーク等のプライベートネットワークをはじめとして、研修や訓示や講演等の映像や音声を同時に各社員の受信装置(PC等)に多地点配信(マルチキャスト)することが普及しつつある。
多地点配信を行うマルチキャストサーバからネットワークを介して送られる映像や音声等のマルチキャストパケットはUDP(User Datagram Protocol)であり、TCPによる再送処理がされないため、映像アプリケーションによるFEC(Forward Error Correction)等の保護が働くとしても、パケット損失の影響が映像や音声の品質に表れてしまうことがある。このため、様々なトラヒック形態やトラヒック量に応じてネットワーク内で発生するパケット損失を、事前に予測しておくことは重要である。
また、これまで様々な近似計算式が提案されているが、トラヒック形態やトラヒック量によってどの程度の誤差があるか不明な場合が大半であるため、実際にはシミュレーションも行ってデータグラムの損失数を求め、それを用いて近似計算式の正しさを検証する必要がある。このように、トラヒックシミュレーションは現在でも重要な手段である。
尚、ここでいうデータグラムとは、IPパケットを始めとする各種通信プロトコルのパケットやイーサネットフレーム、ATM(Asynchronous Transfer Mode)セルやX.25パケット等の何らかの情報を転送するための一塊のビット列を指している。
シミュレーションを行ってパケット損失を求める場合、バッファ長が長くなるにつれて、すなわち、損失率が極めて小さくなるにつれて、1個の損失を得られるまでのシミュレーション時間が長くなる。このため、シミュレーション時間を短くするために、できるだけ少ない損失数でデータグラムの損失率を得たいが、データグラムの損失数が何個で統計的に有効か、具体的な方法はこれまで見当たらず、非特許文献1や非特許文献2に書かれているように、経験的にシミュレーションを行っていた。
そこで、シミュレーション時間を短くするために、統計的手法を用いて、できるだけ少ない損失数でデータグラムの損失率を得る方法を考案した(例えば、特許文献1参照。)。
特開2013−192005号公報
村田正幸、大崎博之、原井洋明、宮原秀夫、"通信トラヒック理論とその応用〔VI〕−シミュレーション技法とその適用例−、"信学誌、vol.78、no.3、pp.264−270、Mar.1995. 小川耕司、中川健治、"インポータンスサンプリングシミュレーション法における最適シミュレーション分布、"信学総大、通信(2)、B−646、p.78、Mar.1996. R.S.バーリントン・D.C.メイ著、林知己夫・脇本和昌監訳、「確率・統計解析ハンドブック」、森北出版、1975.
特許文献1の方法では、図1のデータグラムの損失数Lの時にシミュレーションの終了条件を満たしたとすると、開始からそれまでにシミュレーションで発生させたデータグラムの入力数Nを用いて、
(数1)
R=L/N (1)
としてデータグラムの損失率Rを求めている。
しかし、本来は任意の入力数Nに対して、それまでに発生した損失数Lを用いて損失率Rを計算する方がより正確な損失率を得られると考えられる。
ここで、次の(L+1)個目の損失が入力数(N+k+1)のときに発生したとする。損失率を計算する入力数を、損失数Lとは無関係に、無作為に決めるとすると、
入力数Nのときに損失率を計算する確率P
入力数N+1のときに損失率を計算する確率Pi+1
・・・
入力数N+kのときに損失率を計算する確率Pi+k
は全て等しいと考えられる。
上記の場合の損失数は全てL個であり、これらの平均入力数は(N+k/2)である。よって、より正確な損失率Rは
(数2)
R=L/(N+k/2) (2)
となる。
一般的な長時間のシミュレーションの場合、N≫k/2となるため、
(数3)
/(N+k/2)≒L/N (3)
となり、式(1)と式(2)のどちらの式で損失率Rを計算しても値は殆ど同じであり、実質的に問題ない。
しかしながら、シミュレーション時間を短くするために、できるだけ少ない損失数で損失率Rを求める場合には、Nは小さい値であるため、より正確な損失率Rを得るためには、k/2を無視することはできない。例えば、特許文献1では、早ければL=20でシミュレーションを終了する。
このため、k/2を求める必要があるが、k/2を求めるためには、シミュレーション時間を短くしたいにもかかわらず、さらに損失数が(L+1)個になるまでシミュレーションを行う必要がある。
そこで、損失数がL個になった時点で、先に述べたk/2を考慮して損失率を計算する方法が必要である。
本発明に係るシミュレーション装置は、
トラヒックシミュレーションにおいて、
データグラムの損失数が設定されたL個になったときに、
データグラムの損失数が(L−1)個のときのデータグラムの入力数N、及び、損失数が前記L個のときのデータグラムの入力数Nと前記Nとの差分値k、すなわち、式(4)から得られた値、及び、前記Lを式(5)に適用するか、または、前記N、及び、前記N、及び、前記Lを式(5’)に適用することで、データグラムの損失率Rを算出する。
本発明に係るシミュレーション装置は、
トラヒックシミュレーションにおいて、
データグラムの損失数が設定されたL個になったときに、
損失数がL個のときのデータグラムの入力数N、及び、シミュレーションの開始から損失数がL個になるまでの“1損失当たりの平均入力数”であるk、すなわち、式(6)から得られた値、及び、前記Lを式(7)に適用するか、または、前記N、及び、前記Lを式(7’)に適用することで、データグラムの損失率Rを算出する。
本発明に係るシミュレーション方法は、
コンピュータが実行するトラヒックシミュレーション方法であって、
データグラムの損失数が設定されたL個になったときに、
データグラムの損失数が(L−1)個のときのデータグラムの入力数N、及び、損失数がL個のときのデータグラムの入力数Nと前記Nとの差分値k、すなわち、式(4)から得られた値、及び、前記Lを式(5)に適用するか、または、前記N、及び、前記N、及び、前記Lを式(5’)に適用することで、データグラムの損失率Rを算出するステップ、
を備える。
本発明に係るシミュレーション方法は、
コンピュータが実行するトラヒックシミュレーション方法であって、
データグラムの損失数が設定されたL個になったときに、
損失数がL個のときのデータグラムの入力数N、及び、シミュレーションの開始から損失数がL個になるまでの“1損失当たりの平均入力数”であるk、すなわち、式(6)から得られた値、及び、前記Lを式(7)に適用するか、または、前記N、及び、前記Lを式(7’)に適用することで、データグラムの損失率Rを算出するステップと、
を備える。
本発明に係るプログラムは、本発明に係るシミュレーション方法に備わる各ステップをコンピュータに実行させるためのシミュレーションプログラムである。
上述のように、特許文献1の方法では、k/2を考慮せずに損失率Rを計算していたが、本発明により、k/2を考慮した損失率Rを求めることができるため、より正確な損失率を得ることができる。
本発明におけるシミュレーションのデータグラムの入力と損失発生の一例。 本発明の第3の実施の形態におけるシミュレーション装置のブロック図である。 本発明の第3の実施の形態におけるシミュレーションのフローチャートである。 シミュレーションのトラヒックを発生させる2状態のMMPP(Markov Modulated Poisson Process)の遷移図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
[第1の実施の形態]
k/2を考慮して損失率Rを求める方法の本発明の第1の実施の形態として、シミュレーション中に、データグラムの損失数が(L−1)個になったときのデータグラムの入力数N個を記録しておき、データグラムの損失数がL個になったときのデータグラムの入力数N個を用いて、
(数4)
=N−N (4)
として、
(数5)
R=(L−1)/(N+k/2) (5)
または、直接、
R=2(L−1)/(N+N) (5’)
を計算する、ことを行う。
一例として、特許文献1の発明に本発明の内容を適用して、より正確な損失率を得ることができる。上記方法は、コンピュータ上にソフトウェアで実現することができる。
また、上述の動作を行う電子回路をハードウェア上に実装し、シミュレーションを行うことができる。ハードウェアとしては、論理素子を結合させた電子回路であり、ロジックIC(Integrated Circuit)等を基板上に実装して実現してもよいし、FPGA(Field−Programmable Gate Array)やPAL(Programmable Array Logic)等で実現してもよいし、LSI(Large Scale Integration)中に実現してもよい。
尚、出力数=入力数N−損失数(L−1)であることから、入力数Nに比べて損失数(L−1)が極めて小さい場合(例えば、損失率=10−6の場合、損失数(L−1):入力数N=1:1,000,000)には、出力数≒入力数になるため、本実施の形態において、入力数Nの代わりに損失数が(L−1)個になったときの出力数を用い、入力数Nの代わりに損失数がL個になったときの出力数を用いて計算する方法もある。
[第2の実施の形態]
k/2を考慮して損失率Rを求める方法の本発明の第2の実施の形態として、kに、シミュレーションを開始してからそれまでの“1損失当たりの平均入力数”であるkを用いる、即ち、データグラムの損失数がL個になったときのデータグラムの入力数N個を用いて、
(数6)
=N/L (6)
として、
(数7)
R=L/(N+k/2) (7)
または、直接、
R=2L /(N×(2L+1)) (7’)
を計算する、ことを行う。
一例として、特許文献1の発明に本発明の内容を適用して、より正確な損失率を得ることができる。上記方法は、コンピュータ上にソフトウェアで実現することができる。
また、上述の動作を行う電子回路をハードウェア上に実装し、シミュレーションを行うことができる。ハードウェアとしては、論理素子を結合させた電子回路であり、ロジックIC等を基板上に実装して実現してもよいし、FPGAやPAL等で実現してもよいし、LSI中に実現してもよい。
尚、出力数=入力数N−損失数Lであることから、入力数Nに比べて損失数Lが極めて小さい場合(例えば、損失率=10−6の場合、損失数L:入力数N=1:1,000,000)には、出力数≒入力数になるため、本実施の形態において、入力数Nの代わりに損失数がL個になったときの出力数を用いて計算する方法もある。
[第3の実施の形態]
本実施形態では、特許文献1の発明への第1の実施の形態の適用例について説明する。
図2に、本実施形態に係るシミュレーション装置の一例を示す。本実施形態に係るシミュレーション装置は、記憶部11と、データグラム生成部12と、バッファ部13と、損失検出部14と、時間間隔測定部15と、時間間隔判定部16と、χ検定部17と、損失率算出部18と、発生回数判定部19と、を備える。χ検定部17は、実度数計数部21と、実度数判定部22と、統計量算出部23と、統計量判定部24と、を備える。
本実施形態に係るシミュレーション方法について、一例として、ケンドールの記法(または記号)によるMMPP/D/1/Kのシミュレーションで実施する場合の動作について、図3に示すフローチャートを参照しながら説明する。本実施形態に係るシミュレーション方法は、損失検出手順と、時間間隔測定手順と、統計量判定手順と、シミュレーション終了手順を順に有する。損失検出手順では、ステップS101〜ステップS103を実行する。時間間隔測定手順では、ステップS104〜S105を実行する。統計量判定手順では、ステップS106〜S110を実行する。シミュレーション終了手順では、ステップS111〜S112を実行する。
本発明を使用する場合には、以下に述べる動作をシミュレーション中に行う。
ステップS100では、シミュレーションに先立ち、記憶部11が、設定された初期値を記憶する(詳しくは後述)。
ステップS101では、データグラム生成部12が、データグラムを生成してトラヒックを発生させる。本実施形態の場合、データグラムは固定長であり、以下、これを単位長とする。データグラムの生成方法は、任意であるが、例えば、コンピュータで擬似乱数を用いて生成する。本実施形態では、データグラム生成部12は、記憶部11に設定されたMMPPパラメータを取得し、当該パラメータに従って、データグラムを生成する。
ステップS102では、データグラム生成部12が、生成したデータグラムをバッファ部13に出力する。これにより、バッファ部13にデータグラムが書き込まれ、状況が損失検出部14に通知される。バッファ部13に書き込まれたデータグラムは、本実施形態の場合、1単位時間に1単位長(=1データーグラム)が読み出される。尚、バッファ部13は、生成したデータグラムをバッファに実際に書き込んでもよいが、少なくとも、空き又は使用中のバッファ量を管理でき、バッファに空きがないために損失が発生したことを把握できればよい。
ステップS103では、損失検出部14が、バッファ部13からの通知により、損失が発生したか否かを判定し、損失を検出する。
損失が発生した場合、損失検出部14は、データグラムの損失数L及びデータグラムの入力数Nを記憶部11に記憶する。データグラムの入力数Nは、バッファ部13に書き込まれたデータグラムの数である。また損失が発生した場合、損失検出部14は、損失が発生した時刻を時間間隔測定部15へ出力し、ステップS104へ移行する。一方、損失が発生しない場合、損失検出部14は、次のデータグラムを生成する旨をデータグラム生成部12へ通知し、ステップS101へ移行する。
ステップS104では、時間間隔測定部15が、損失検出部14から取得した時刻を用いて、損失が発生した時間間隔tを測定する。
ステップS105では、時間間隔判定部16が、時間間隔測定部15の測定した時間間隔tが閾値TH以上であるか否かを判定する。これにより、損失の発生時間間隔により、ランダムな損失(ランダムに発生する損失)と引き続く損失(ランダムに発生する損失に引き続く損失)に分類する。時間間隔tが閾値TH以上である場合、すなわちランダムな損失である場合、時間間隔判定部16は、時間間隔tを実度数計数部21へ通知してステップS106へ移行し、以下χ検定を行う。一方、ステップS105において時間間隔tが閾値TH未満である場合、すなわちランダムな損失でない場合、時間間隔判定部16は、次のデータグラムを生成する旨をデータグラム生成部12へ通知し、ステップS101のデータグラム生成に戻る。
ステップS106では、実度数計数部21が、通知されたランダムな損失の発生時間間隔を記憶し、ランダムな損失の発生回数mを1つインクリメントする。ここで、本実施形態における「m」は損失数Lに相当する。
ステップS107では、実度数計数部21が、それまでに記憶したランダムな損失の発生時間間隔を用いて、平均発生時間間隔を計算する。
次に、実度数計数部21が、計算した平均発生時間間隔を用いて、χ検定のためのL個の区間の境目となる(L−1)個の境界値を計算する。
次に、実度数計数部21が、記憶しているランダムな損失の発生時間間隔を使って各区間i(i=1,2,・・・,L)の実度数fを計数する。
ステップS108では、実度数判定部22が、各区間iの実度数fがすべてfmin以上であるか否かを判定する。
すべての区間において実度数fがfmin以上である場合、実度数判定部22は、各区間iの実度数fを統計量算出部23へ出力してステップS109へ移行する。
一方、実度数fが5未満の区間がある場合、実度数判定部22は、次のデータグラムを生成する旨をデータグラム生成部12へ通知し、ステップS101のデータグラム生成に戻る。
ステップS109では、統計量算出部23が、各区間iの実度数fからχ検定用の統計量χを計算する。
ステップS110では、統計量判定部24が、統計量χが臨界値χ よりも大きいか否かを判定する。統計量χ≦臨界値χ の場合、統計量判定部24は、その旨を損失率算出部18へ通知してステップS111へ移行する。一方、統計量χ>臨界値χ の場合、統計量判定部24は、ランダムな損失の発生回数mを発生回数判定部19へ出力してステップS113へ移行する。
ステップS111では、損失率算出部18が、損失検出部14の検出した全損失数と、生成された全データグラムの数から、損失率Rを計算する。このとき、損失率算出部18は、式(4)を用いて「k」を求め、式(5)を用いて損失率Rを計算するか、或いは、式(5’)を用いて損失率Rを計算するか、或いは、式(6)を用いて「k」を求め、式(7)を用いて損失率Rを計算するか、或いは、式(7’)を用いて損失率Rを計算する。
ステップS112では、損失率算出部18が、計算結果である損失率を出力する。
ステップS113では、発生回数判定部19は、これまで発生したランダムな損失の発生回数mが最大発生回数Mよりも多いか否かを判定する。
m≦Mの場合、発生回数判定部19は、次のデータグラムを生成する旨をデータグラム生成部12へ通知し、ステップS101へ移行してデータグラム生成に戻る。
m>Mの場合、発生回数判定部19は、ステップS114を実行し、その旨を出力する。
MMPP/D/1/Kのシミュレーションの例の場合の、ステップS100で設定する初期値、即ち、図3のフローチャートの初期設定部分の各項目について、初期値をどのような値に設定するのか等を、以下に説明する。
(a)MMPPパラメータ値
MMPPは、トラヒック発生形態の一つであるMarkov Modulated Poisson Processのことであり、図4に示すような、ランダムに切り替わる複数の異なる密度でトラヒックが発生するモデルである。MMPPは複数の異なる密度のトラヒック発生状態を持つことができるが、図4の最も簡単な2状態を例に説明する。
・λとλは、状態0と状態1のそれぞれの状態で発生するデータグラムの平均到着率であり、通常、0以上1以下の値である。
・γ01とγ10は、それぞれ、MMPPの状態0から状態1への遷移確率と、状態1から状態0への遷移確率であり、0以上1以下の値である。同様に、1−γ01と1−γ10は、それぞれ、状態0と状態1が続く確率である。
(b)バッファサイズ(K−1)
発生したMMPPトラヒックが流入するバッファ部13の大きさである。
(c)しきい値TH
損失が発生する度に、その直前の損失との発生時間間隔tを計算する。しきい値THは、事前に設定した発生時間間隔tの基準値であり、これと比較することにより、ランダムな損失と引き続く損失に分類する。
(d)臨界値χ
臨界値χ を設定するためには、まず、有意水準αを設定する必要がある。有意水準αは、それまでに得られた標本が指数分布に従っている場合に、標本から得られた統計量χが臨界値χ を超える確率(第1種過誤)がαである、という意味である。本実施形態では、標本にランダムな損失の発生時間間隔を用いる。
αの値は、通常5%または1%が用いられる。本実施形態では、後述する様に、自由度d=1としており、臨界値χ は統計量χの分布の統計数値表より、
α=5%の時,χ =3.841
α=1%の時,χ =6.635
である。
(e)ランダムな損失数の最大値M
統計量χは損失数が増加すると増減しつつ次第に大きくなる傾向があるため、ランダムな損失数mが数百個程度までに終了しない場合には、統計量χ≦臨界値χ にならない可能性も考えられる。この場合に対応するために、シミュレーションを終了させるランダムな損失数mの最大値Mを設定しておく(ランダムな損失数mが最大値Mを超えたら終了(ステップS113〜S114))。
なお、Lとfminについては後述する。
シミュレーション中に行う動作(ステップS105)で述べているランダムな損失と引き続く損失について説明する。
空きが大きい状態のバッファ部13にMMPPトラヒックが入力することによって稀に損失が発生する場合には、損失はランダムに発生すると考えられる(ランダムな損失)。しかし、一度損失が発生した状態のバッファ部13にMMPPトラヒックが入力することによって損失が発生する場合には、バッファ部13内の空きがほとんど無いため、ゼロまたは極めて近い間隔で損失が発生することが多くなる(引き続く損失)。よって、前述のトラヒックモデルで発生する損失には、ランダムな損失と引き続く損失の2種類の損失が混在すると考えられる。
ランダムな損失の発生時間間隔は指数分布に従うと考えられ、MMPP/D/1/KのDの出力時間すなわちバッファ部13からのデータグラムの読み出し時間を1[単位時間]とすると、通常、発生時間間隔は数十万[単位時間]になり、発生時間間隔の存在確率は薄く広く分布する。一方、引き続く損失の発生時間間隔はゼロまたはゼロに近い値、例えば100[単位時間]以下になることから、厳密ではないが、しきい値THにより分離できる。
シミュレーション中に行う動作(ステップS106〜S110)のχ検定について概要を説明する。
シミュレーションで発生するランダムな損失の発生時間間隔(以下、ランダム損失発生時間間隔と記す)が指数分布に従っているかどうかの一致度合い(適合度)を数値的に評価し判定する方法として、χ検定がある。χ検定は、標本の分布が母集団(理論)分布にどの程度一致しているかの検定によく用いられる方法である。ランダムに発生する事象の生起間隔は指数分布になることが知られており、このような場合は母集団の分布として指数分布を想定する。これ以外に、対象となる事象により、二項分布や正規分布など様々な分布が想定される。
χ検定では、まず、標本と母集団の分布の違いを統計量χとして求める。ここでは、標本はランダム損失発生時間間隔w(j=1,2,…,n)であり、その集合をWとする。また、母集団分布は指数分布である。統計量χは、一般に標本の分布が母集団分布に近づくほど値が小さくなる傾向がある。
次に、統計量χと予め求められている臨界値χ を比較し、統計量χが臨界値χ 以下であれば、標本は有意水準α%で母集団分布であるとされる。具体的には、シミュレーションで順次ランダム損失発生時間間隔wを得る度にその集合Wに対してχ検定を行い、指数分布であると判定された場合には、その時点の損失数とバッファ部13への入力数から損失率を計算し、シミュレーションを終了する。尚、臨界値χ は、自由度dと有意水準α%を用いて、複雑な計算により求めることができるが、よく使われる値は非特許文献3などに統計数値表として示されている。
シミュレーション中に行う動作(ステップS107)のχ検定の具体的な実装方法(4つの区間や境目となる3つの境界値など)について説明する。
・母集団分布のパラメータ
本実施形態では、母集団分布を指数分布とするが、そのパラメータ(平均と分散)は不明である。
そこで、標本からランダムな損失の平均発生時間間隔1/τを算出し、これを用いて母集団分布を推定する。指数分布では、平均値が1/τの時、分散は1/τである。そこで、新たな“ランダムな損失”の発生による新たな発生時間間隔のデータを得られる度に平均値を計算し、平均値から分散を計算し、母集団分布のパラメータとする。
・χ検定の区間(カテゴリー)数L
χ検定では、シミュレーションで得られたランダムな損失の各発生時間間隔wをその値により複数の区間の中のいずれかに分類し、実度数を計数する。このため、区間の数と各区間の範囲を決定する必要がある。
区間の数は、実際の検定では数個から数十個が使われているようであるが、計算時間の短縮及び計算負荷の軽減のためにできるだけ少ないことが要求される。
χ検定では、自由度をd、区間数をL、標本から最尤推定したパラメータ数をsとするとき、
(数8)
d=L−1−s≧1 (8)
である。上述したように、母集団分布のパラメータは標本から推定した平均及び分散であるためs=2である。ゆえに、式(8)から
(数9)
L≧4 (9)
となる。よって、区間数L=4とする。
・区間の最小実度数fmin
χ検定では、各区間の標本数も自由に設定できる。ただし、χ検定が成立する標本数は一般には5以上とされているため、本実施形態では、各区間の最小実度数fminを5とする。これにより、本実施形態に必要な最低損失数は20である。
・各区間の範囲
標本数が少ない場合、標本の値には偏りが生じていることが多い。しかし、標本数が多くなると指数分布に一致することが示されているため、指数分布を想定して各区間の範囲を決定することにする。
χ検定を行うための区間数が4で、各区間の最小実度数fminが5と等しいことから、区間の範囲は、指数分布における4区間の各累積確率分布が等しくなる、すなわち、0.25になる範囲とすることが妥当と考えられる。
4区間を指数分布(w≧0)の左側から区間i(i=1,…,4)と呼ぶことにし、区間iと区間i+1との境界の値を境界値y(但し、i=1,2,3)と呼ぶことにする。各境界値yは、式(8)から、
(数10)
0.25×i=1−exp(−τy) (10)
これを解いて、
(数11)
=−log(1−0.25×i)/τ (11)
となる。
・χ検定の統計量χ
χ検定を行うために、それまでに得られた標本の各ランダム損失発生時間間隔wを、式(11)で得られた3つの境界値を用いて4つの区間に分類する。もし、いずれかの区間の実度数f(=損失数)が最小実度数fminである5未満のときは、再度、次のランダム損失発生までシミュレーションを進める(ステップS108)。
そして、全区間の実度数fが最小実度数fminである5以上になった場合には、以下の式(12)の統計量χを計算する(ステップS109)。
Figure 0006430360
ただし、Fは理論度数(実数)で、本実施形態では、
Figure 0006430360
で表される。
このようにして求められた統計量χを用いて、χ検定の臨界値χ と比較する(ステップS110)。
もし、統計量χ>臨界値χ の場合は、それまでに得られた標本値が有意水準αで統計的に指数分布に従っていないと判定されたことになるので、再度、次のランダム損失発生までシミュレーションを進める。
もし、統計量χ≦臨界値χ となった場合には、ランダム損失については指数分布に従っていると判定されたことになり、損失率の計算(ステップS111)に進む。ステップS111では、それまでの全損失数を全入力数で割って損失率を計算し、シミュレーションを終了する。
なお、前述の動作を行う電子回路をハードウェア上に実装し、シミュレーションを行うことも可能である。ハードウェアとしては、論理素子を結合させた電子回路であり、ロジックIC等を基板上に実装して実現してもよいし、FPGAやPAL等で実現してもよいし、カスタムLSI中に実現してもよい。また、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
以上、MMPP/D/1/Kのシミュレーションを行う場合について、本発明に係るシミュレーション方法、シミュレーション装置及びシミュレーションプログラムについて説明したが、本発明はMMPP/D/1/Kのシミュレーションに限定されない。例えば、データグラムはMMPP/D/1/K以外のM/M/1/K、M/G/1/K等のトラヒックシミュレーションにおいて用いられる任意の送受信データを用いることも可能である。尚、Kが有限の値の場合は有限バッファであり、Kを無限の値とする場合は無限バッファを意味する(無限バッファの場合は、Kが省略されて記される場合もある)。本発明は、IPパケット、イーサネット(登録商標)フレーム、ATMセル、X.25パケットなどの任意のデータグラムを使用した任意の通信システムのシミュレーションに適用され得る。
インターネットにおけるコンサート等のライブインターネット配信や、社内IPネットワーク等のプライベートネットワークにおける研修や訓示や講演等の映像や音声を各社員の受信装置(PC等)に多地点配信(UDPを用いたマルチキャスト)する状況において、ネットワーク設計として、配信前に様々なトラヒック形態やトラヒック量における損失率を予測する必要がある。
そのような場合に、シミュレーションは現在でも有効な方法の一つであり、本発明の実施例で述べた統計的手法を用いてシミュレーションを終了する方法では、統計的に有効と判断された時点で損失率を計算することができるため、短時間にシミュレーションを終了させることができる。また、得られた損失率について、統計的妥当性を持たせることができる。
本発明は、上記の短時間でシミュレーションを終了させるような場合に、より正確な損失率を得られる計算方法を提供する。
11:記憶部
12:データグラム生成部
13:バッファ部
14:損失検出部
15:時間間隔測定部
16:時間間隔判定部
17:χ検定部
18:損失率算出部
19:発生回数判定部
21:実度数計数部
22:実度数判定部
23:統計量算出部
24:統計量判定部

Claims (5)

  1. トラヒックシミュレーションにおいて、
    データグラムの損失数が設定されたL個になったときに、
    データグラムの損失数が(L−1)個のときのデータグラムの入力数N、及び、損失数が前記L個のときのデータグラムの入力数Nと前記Nとの差分値k、及び、前記Lを式(C11)に適用するか、または、前記N、及び、前記N、及び、前記Lを式(C12)に適用することで、データグラムの損失率Rを算出する、
    シミュレーション装置。
    (数C11)
    R=(L−1)/(N+k/2) (C11)
    (数C12)
    R=2(L−1)/(N+N) (C12)
  2. トラヒックシミュレーションにおいて、
    データグラムの損失数が設定されたL個になったときに、
    損失数がL個のときのデータグラムの入力数N、及び、シミュレーションの開始から損失数がL個になるまでの“1損失当たりの平均入力数”であるk、及び、前記Lを式(C21)に適用するか、または、前記N、及び、前記Lを式(C22)に適用することで、データグラムの損失率Rを算出する、
    シミュレーション装置。
    (数C21)
    R=L/(N+k/2) (C21)
    (数C22)
    R=2L /(N×(2L+1)) (C22)
  3. コンピュータが実行するトラヒックシミュレーション方法であって、
    データグラムの損失数が設定されたL個になったときに、
    データグラムの損失数が(L−1)個のときのデータグラムの入力数N、及び、損失数がL個のときのデータグラムの入力数Nと前記Nとの差分値k、及び、前記Lを式(C31)に適用するか、または、前記N、及び、前記N、及び、前記Lを式(C32)に適用することで、データグラムの損失率Rを算出する、
    シミュレーション方法。
    (数C31)
    R=(L−1)/(N+k/2) (C31)
    (数C32)
    R=2(L−1)/(N+N) (C32)
  4. コンピュータが実行するトラヒックシミュレーション方法であって、
    データグラムの損失数が設定されたL個になったときに、
    損失数がL個のときのデータグラムの入力数N、及び、シミュレーションの開始から損失数がL個になるまでの“1損失当たりの平均入力数”であるk、及び、前記Lを式(C41)に適用するか、または、前記N、及び、前記Lを式(C42)に適用することで、データグラムの損失率Rを算出する、
    シミュレーション方法。
    (数C41)
    R=L/(N+k/2) (C41)
    (数C42)
    R=2L /(N×(2L+1)) (C42)
  5. 請求項3又は4に記載の各動作をコンピュータに実行させるためのシミュレーションプログラム。
JP2015246786A 2015-12-17 2015-12-17 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Active JP6430360B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015246786A JP6430360B2 (ja) 2015-12-17 2015-12-17 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015246786A JP6430360B2 (ja) 2015-12-17 2015-12-17 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2017112549A JP2017112549A (ja) 2017-06-22
JP6430360B2 true JP6430360B2 (ja) 2018-11-28

Family

ID=59081434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015246786A Active JP6430360B2 (ja) 2015-12-17 2015-12-17 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Country Status (1)

Country Link
JP (1) JP6430360B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3088986B2 (ja) * 1997-11-14 2000-09-18 日本電信電話株式会社 Atm交換機
CN101729197B (zh) * 2008-10-14 2014-04-16 华为技术有限公司 一种丢包率检测方法、装置及系统
JP5104738B2 (ja) * 2008-12-01 2012-12-19 富士通株式会社 パケットロス率計測方法、パケットロス率計測装置、およびコンピュータプログラム
JP2013192005A (ja) * 2012-03-13 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> シミュレーション方法

Also Published As

Publication number Publication date
JP2017112549A (ja) 2017-06-22

Similar Documents

Publication Publication Date Title
EP3739814B1 (en) Indirect testing using impairment rules
US7957323B2 (en) Methods and apparatus for evaluating the sequence of packets
US10742532B2 (en) Non-intrusive mechanism to measure network function packet processing delay
US10924418B1 (en) Systems and methods for fast detection of elephant flows in network traffic
US9692671B2 (en) Method and apparatus for automatically determining causes of service quality degradation
US20250080461A1 (en) Microburst Detection and Management
CN112787877B (zh) 一种网络时延检测方法及相关设备
CN101485145A (zh) 利用滤波和改变检测进行数据传送路径评估
CN108847969B (zh) 基于信息流的网络业务可靠性分析方法
US11855867B2 (en) Enhanced identification of sources of delays in packet delivery along a path
Chydzinski et al. The Single‐Server Queue with the Dropping Function and Infinite Buffer
JP4935635B2 (ja) ネットワーク帯域推定プログラム、ネットワーク帯域推定装置、ネットワーク帯域推定方法および計測装置
CN112688837B (zh) 基于时间滑动窗口的网络测量方法与装置
Gebert et al. Performance modeling of softwarized network functions using discrete-time analysis
US7715317B2 (en) Flow generation method for internet traffic measurement
JP2016144039A (ja) 評価装置、評価方法、及びプログラム
Lin et al. Ofbench: Performance test suite on openflow switches
JP6430360B2 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
Chilwan et al. On modeling controller-switch interaction in openflow based sdns
JP2013192005A (ja) シミュレーション方法
Davoudzade et al. Enhancing Network Simulation Accuracy through Calibration and Model Optimization.
Wang et al. Performance modelling and analysis of unreliable links with retransmissions using network calculus
Peng et al. A MAP-based performance analysis on 5G-powered cloud VR streaming
Fei et al. Accurate and effective inference of network link loss from unicast end-to-end measurements
Koller Measuring loss and reordering with few bits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181031

R150 Certificate of patent or registration of utility model

Ref document number: 6430360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150