(57)【要約】【課題】多回数の予備計測を行うことなく、サーバにおける設定や構成の違いに応じて、そのサーバのパケット転送の遅延を予測する方法、装置及びプログラムを提供する。【解決手段】予備段階として、サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ、及び、単位時間当たりの受信キューのハードウェア割り込み数σを計測し（Ｓ１）、サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測し（Ｓ２）、第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、分布Ｄ及びσから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する（Ｓ３）。そして、確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する。【選択図】図３
2018142799.tif 000002
【特許請求の範囲】
【請求項１】
サーバへパケットを入力し、当該サーバから出力されたパケットの測定結果によって、当該サーバのパケット転送遅延を予測する装置の遅延予測方法において、
前記装置は、
予備段階として、
前記サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する第１のステップと、
前記サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する第２のステップと、
第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、前記遅延分布Ｄ及び前記単位時間当たりの受信キューのハードウェア割り込み数σから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する第３のステップと
を実行し、
前記確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する
ことを特徴とする装置の遅延予測方法。
【請求項２】
前記受信ネットワークインタフェース数ｑは、受信キュー数ｑであり、
前記確率密度関数ｆ(x)は、前記遅延分布Ｄにアーラン分布(Erlang distribution)を近似させて算出されたパラメータに基づくものであり、
前記パケット転送遅延は、前記パラメータを用いて算出される
ことを特徴とする請求項１に記載の装置の遅延予測方法。
【請求項３】
確率密度関数ｆ(x)及び平均パケット転送遅延τは、パラメータｋ、β、γを用いて、以下のように表現される
【数１】
2018142799.tif 000007
τ＝ｋ／β＋γ
ｋ：分布の形状を表すパラメータ（正の整数）
β：分布の広がりを表すパラメータ（正の実数）
γ：遅延の原点からのズレ（位置）を表すパラメータ（正の実数）
ことを特徴とする請求項２に記載の装置の遅延予測方法。
【請求項４】
第１のステップで取得した、受信キュー数ｑ＝１における単位時間当たりの受信キューのハードウェア割込み数σを用いて、
前記キュー数ｑにおけるスループットλout(ｑ)及びパラメータｋ、β、γは、以下のように表現される
【数２】
2018142799.tif 000008
ことを特徴とする請求項３に記載の装置の遅延予測方法。
【請求項５】
サーバへパケットを入力し、当該サーバから出力されたパケットの測定結果によって、当該サーバのパケット転送遅延を予測する遅延予測装置において、
前記サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する第１の予備計測手段と、
前記サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する第２の予備計測手段と、
第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、前記遅延分布Ｄ及び前記単位時間当たりの受信キューのハードウェア割り込み数σから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する確率分布算出手段と、
前記確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する遅延予測手段と
を有することを特徴とする遅延予測装置。
【請求項６】
サーバへパケットを入力し、当該サーバから出力されたパケットの測定結果によって、当該サーバのパケット転送遅延を予測する装置に搭載されたコンピュータを機能させるプログラムにおいて、
前記サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する第１の予備計測手段と、
前記サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する第２の予備計測手段と、
第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、前記遅延分布Ｄ及び前記単位時間当たりの受信キューのハードウェア割り込み数σから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する確率分布算出手段と、
前記確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する遅延予測手段と
してコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバにおけるパケットの遅延を予測する技術に関する。
【背景技術】
【０００２】
従来、ソフトウェアルータの処理モデルを再現し、トラフィックシミュレータを用いてそのパケット遅延を取得する技術がある（例えば非特許文献１参照）。この技術によれば、Linux（登録商標）OSのパケット処理プロセスを模擬したモデルを作成・実装し、ネットワークシミュレータと連結させている。これによって、任意のトラフィックパターンに対して、パケット処理遅延を予測することができる。
【０００３】
また、遅延の揺らぎを時系列的に観測し、その観測結果に基づいてモデルを作成し、将来の遅延の揺らぎの状況を予測する技術もある（例えば特許文献１参照）。この技術によれば、遅延の揺らぎの時系列の測定結果から、２つの異なる方法に基づく時系列モデルを生成する。そして、それらモデル間の乖離に基づいて、生成時系列モデルを補正することによって、モデルの精度を高めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１３５６８５号公報
【非特許文献】
【０００５】
【非特許文献１】A.Beifub, D.Raumer, P.Emmerich and T.M.Runge, “A study of networking software induced latency,” in Proc. of NetSys2015, March 2015、[online]、［平成２９年２月１１日検索］、インターネット＜URL:https://www.net.in.tum.de/publications/papers/NetSys2015.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した非特許文献１及び特許文献１に記載の技術によれば、サーバの構成を、予め固定として設定することを前提としている。即ち、サーバの設定変更によって、遅延がどのように変化するか、を予測することまではできない。
仮に、非特許文献１及び特許文献１に基づいて、設定変更による遅延の変化を予測しようとした場合、設定変更毎に、モデルの生成及び補正が必要となる。即ち、多数の測定作業やキャリブレーションを行う必要が生じる。
【０００７】
そこで、本発明は、多回数の予備計測を行うことなく、サーバの設定変更に応じて、パケット転送の遅延を予測することができる方法、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によれば、サーバへパケットを入力し、当該サーバから出力されたパケットの測定結果によって、当該サーバのパケット転送遅延を予測する装置の遅延予測方法において、
装置は、
予備段階として、
サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する第１のステップと、
サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する第２のステップと、
第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する第３のステップと
を実行し、
確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する
ことを特徴とする。
【０００９】
本発明の装置の遅延予測方法における他の実施形態によれば、
受信ネットワークインタフェース数ｑは、受信キュー数ｑであり、
確率密度関数ｆ(x)は、遅延分布Ｄにアーラン分布(Erlang distribution)を近似させて算出されたパラメータに基づくものであり、
パケット転送遅延は、パラメータを用いて算出される
ことも好ましい。
【００１０】
本発明の装置の遅延予測方法における他の実施形態によれば、
確率密度関数ｆ(x)及び平均パケット転送遅延τは、パラメータｋ、β、γを用いて、以下のように表現される
【数１】
2018142799.tif 000003
τ＝ｋ／β＋γ
ｋ：分布の形状を表すパラメータ（正の整数）
β：分布の広がりを表すパラメータ（正の実数）
γ：遅延の原点からのズレ（位置）を表すパラメータ（正の実数）
ことも好ましい。
【００１１】
本発明の装置の遅延予測方法における他の実施形態によれば、
第１のステップで取得した、受信キュー数ｑ＝１における単位時間当たりの受信キューのハードウェア割込み数σを用いて、
キュー数ｑにおけるスループットλout(ｑ)及びパラメータｋ、β、γは、以下のように表現される
【数２】
2018142799.tif 000004
ことも好ましい。
【００１２】
本発明によれば、サーバへパケットを入力し、当該サーバから出力されたパケットの測定結果によって、当該サーバのパケット転送遅延を予測する遅延予測装置において、
サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する第１の予備計測手段と、
サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する第２の予備計測手段と、
第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する確率分布算出手段と、
確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する遅延予測手段と
を有することを特徴とする。
【００１３】
本発明によれば、サーバへパケットを入力し、当該サーバから出力されたパケットの測定結果によって、当該サーバのパケット転送遅延を予測する装置に搭載されたコンピュータを機能させるプログラムにおいて、
サーバに対して受信ネットワークインタフェース数＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する第１の予備計測手段と、
サーバに対して受信ネットワークインタフェース数＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する第２の予備計測手段と、
第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する確率分布算出手段と、
確率密度関数ｆ(x)のパラメータを用いて、当該サーバの受信ネットワークインタフェース数ｑに応じたパケット転送遅延を予測する遅延予測手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００１４】
本発明の遅延予測方法、装置及びプログラムによれば、多回数の予備計測を行うことなく、サーバの設定変更に応じて、パケット転送の遅延を予測することができる方法、装置及びプログラムを提供することを目的とする。
【図面の簡単な説明】
【００１５】
【図１】本発明の遅延予測装置を含むシステム構成図である。
【図２】測定対象サーバの機能構成図である。
【図３】本発明における遅延予測装置の機能構成図である。
【図４】アーランｋ分布に基づく平均パケット遅延予測モデルの算出過程を表すフレームワークである。
【図５】確率密度関数のパラメータ毎に、受信キュー数に応じたパラメータを表すグラフである。
【図６】受信キュー数に対するスループット及び平均パケット転送遅延を表すグラフである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００１７】
図１は、本発明の遅延予測装置を含むシステム構成図である。
【００１８】
本発明の遅延予測装置１は、測定対象サーバ２へ試験パケットを入力し、その測定対象サーバから出力されたパケットの測定結果によって、その測定対象サーバのパケット転送遅延を予測するものである。
【００１９】
図１（ａ）によれば、遅延予測装置１は、測定対象サーバ２の入力インタフェース及び出力インタフェースに、直接的に接続されている。遅延予測装置１自体が、測定対象サーバ２へ直接的に試験パケットを出力し、その測定対象サーバ２から測定パケットを受信する。パケット転送の遅延を測定するために、ネットワークの影響を全く受けることがない。
【００２０】
図１（ｂ）によれば、測定対象サーバ２の入力インタフェースに、試験トラヒック送信装置１０１が接続され、測定対象サーバ２の出力インタフェースに、測定トラヒック受信装置１０２が接続されている。オペレータによって操作される遅延予測装置１は、ネットワークを介して、試験トラヒック送信装置１０１及び測定トラヒック受信装置１０２を制御する。試験トラヒック送信装置１０１及び測定トラヒック受信装置１０２は、試験用の専用装置であって、遅延予測装置１からＡＰＩ(Application Programming Interface)を介して制御される。
【００２１】
遅延予測装置１は、ネットワークを介して、測定対象サーバ２の受信ネットワークインタフェース数ｑの設定を変更することができる。受信ネットワークインタフェース数ｑとは、具体的には受信リングバッファの受信キュー数ｑを意味する。
【００２２】
試験トラヒック送信装置１０１は、遅延予測装置１から計測開始指示を受信した際に、測定対象サーバ２の入力インタフェースへ試験トラヒックを送出する（例えば10Gbps）。
測定トラヒック受信装置１０２は、遅延予測装置１から計測開始指示を受信した際に、測定対象サーバ２の出力インタフェースから出力されるパケットの計測を開始する。測定トラヒック受信装置１０２は、具体的には以下の情報を計測し、その測定結果を遅延予測装置１へ送信する。
λ：スループット（単位時間当たりの受信パケット数）
Ｄ：パケットの遅延分布
【００２３】
また、遅延予測装置１は、測定対象サーバ２におけるパケット転送遅延の計測後に、測定対象サーバ２から、単位時間当たりの受信キュー（リングバッファ）のハードウェア割込み数σを取得する。
【００２４】
図２は、測定対象サーバの機能構成図である。
【００２５】
測定対象サーバ２は、パケット処理の入力段及び出力段で、パケット遅延に起因する複数のバッファを構成している。図２によれば、Linuxにおけるパケット転送処理のフレームワークとなるアーキテクチャが表されている。
【００２６】
（Ｓ２１）入力されたパケットは、ｑ（≧１）個のＮＩＣ(Network Interface Controller)のインタフェースとしてのリングバッファに一時的に格納される。リングバッファは、ｑ個の受信キューへ、ラウンドロビンによってパケットを出力する。
（Ｓ２２）ｑ個の受信キューに格納されたパケットは、受信ハードウェア割込みが発生する毎に、一定数（最大ｗ個）ずつ、Linux OS上の受信バッファPoll_listへ出力される。
（Ｓ２３）次に、受信ソフトウェア割込みが発生する毎に、受信バッファから一定数（最大Ｂ個）ずつ読み出され、それらパケットがパケット処理部へ入力される。
（Ｓ２４）パケット処理部は、転送処理（宛先の特定やパケット更新等）のようなサーバとしての様々な処理を実行する。
（Ｓ２５）パケット処理部から出力されたパケットは、送信バッファQdiscへ出力される。
（Ｓ２６）送信ソフトウェア割込みが発生する毎に、送信バッファからパケットが読み出され、送信側ＮＩＣインタフェースとしてのリングバッファTx-ringへ出力される。
（Ｓ２７）そして、送信ハードウェア割込みが発生する毎に、リングバッファからパケットが読み出され、そのパケットが測定対象サーバ２から出力される。
【００２７】
測定対象サーバ２から出力されるパケットは、ばらついた遅延によって出力される。そのために、測定対象サーバ２から時系列に出力されるパケット群を計測することによって、遅延分布Ｄを導出することができる。
【００２８】
＜パケット転送の観測事象＞
第１に、最大スループットは、受信キュー数の増加に伴って単調に低下するが、平均パケット遅延は、受信キュー数に対し凸関数となる。
第２に、パケット転送の遅延分布Ｄは、アーラン分布と極めて類似している。
【００２９】
＜発明者らの着目点＞
第１に、本願の発明者らは、パケット転送の遅延分布Ｄが、アーラン分布(Erlang distribution)に従っていることに着目した。
第２に、本願の発明者らは、当該アーラン分布を特徴付けるパラメータｋ、β、γが、スループットλと、ＮＩＣの受信キュー数ｑと、単位時間当たりの受信ハードウェア割込み数σとに対して、強い相関を持つことに着目した。
発明者らは、アーラン分布に基づくパケット遅延の予測モデルを構築することによって、受信キュー数ｑに応じたパケット転送の遅延を予測することができる、と考えた。
【００３０】
図３は、本発明における遅延予測装置の機能構成図である。
【００３１】
図３によれば、遅延予測装置１は、第１の予備計測部１１と、第２の予備計測部１２と、確率分布算出部１３と、遅延予測部１４とを有する。これら機能構成部は、遅延予測装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置の遅延予測方法としても理解できる。
【００３２】
［第１の予備計測部１１］
第１の予備計測部１１は、測定サーバ２に対して、受信キュー数（受信ネットワークインタフェース数）ｑ＝１を設定し、第１のスループットλout(１)、遅延分布Ｄ及び単位時間当たりの受信キューのハードウェア割り込み数σを計測する。
【００３３】
第１の予備計測部１１は、以下のステップを実行する。
（Ｓ１１０）第１の予備計測部１１は、試験トラヒック送信装置１０１へ、試験トラフィックの情報を予め登録する。
（Ｓ１１１）次に、第１の予備計測部１１は、測定対象サーバ２に対して、受信キュー数ｑ＝１として設定する。また、受信ハードウェア割込み数のOSカウンタをリセット（初期化）する。
（Ｓ１１２）次に、第１の予備計測部１１は、測定トラヒック受信装置１０２に対して、受信パケット数カウンタ及び遅延分布記録の初期化を指示する。
（Ｓ１１３）そして、第１の予備計測部１１は、試験トラヒック送信装置１０１へ、所定測定時間Tの試験トラヒックの送信開始を指示し、測定トラヒック受信装置１０２へ計測開始を指示する。
（Ｓ１１４）所定測定時間Tの経過後、第１の予備計測部１１は、測定トラヒック受信装置１０２へ計測終了を指示する。
そして、第１の予備計測部１１は、測定対象サーバ２のOSカウンタに基づいて、受信キュー数ｑ＝１における単位時間当たりの受信ハードウェア割込み数σを取得する。
また、第１の予備計測部１１は、測定トラヒック受信装置１０２から、第１のスループットλout(１)と、遅延分布Ｄとを取得する。
λout(１)：受信キュー数ｑ＝１における単位時間当たりの受信パケット数
【００３４】
［第２の予備計測部１２］
第２の予備計測部１２は、測定対象サーバ２に対して受信キュー数（受信ネットワークインタフェース数）ｑ＝Ｑ（＞１）を設定し、第２のスループットλout(Ｑ)を計測する。
【００３５】
第２の予備計測部１２は、以下のステップを実行する。
（Ｓ１２１）第２の予備計測部１２は、測定対象サーバ２に対して、受信キュー数ｑ＝Ｑ（＞１）として設定する。
（Ｓ１２２）次に、第２の予備計測部１２は、測定トラヒック受信装置１０２に対して、受信パケット数カウンタ及び遅延分布記録の初期化を指示する。
（Ｓ１２３）そして、第２の予備計測部１２は、試験トラヒック送信装置１０１へ、所定測定時間Tの試験トラヒックの送信開始を指示し、測定トラヒック受信装置１０２へ計測開始を指示する。
（Ｓ１２４）所定測定時間Tの経過後、第２の予備計測部１２は、測定トラヒック受信装置１０２へ計測終了を指示する。
そして、第２の予備計測部１２は、測定トラヒック受信装置１０２から、第２のスループットλout(Ｑ)を取得する。
λout(Ｑ)：受信キュー数ｑ＝Ｑにおける単位時間当たりの受信パケット数
【００３６】
［確率分布算出部１３］
確率分布算出部１３は、第１のスループットλout(１)及び第２のスループットλout(Ｑ)を用いて、遅延分布Ｄから、受信ネットワークインタフェース数ｑ（＞１）に応じた待ち時間の確率密度関数ｆ(x)を算出する。
【００３７】
確率密度関数ｆ(x)は、遅延分布Ｄにアーラン分布を近似させて算出されたパラメータｋ、β、γに基づくものである。
確率密度関数ｆ(x)及びパラメータは、以下のように表現される
【数３】
2018142799.tif 000005
ｋ：分布の形状を表すパラメータ（正の整数）
β：分布の広がりを表すパラメータ（正の実数）
γ：遅延の原点からのズレ（位置）を表すパラメータ（正の実数）
【００３８】
本発明によれば、パケット転送の遅延分布を推定するために、アーランｋ曲線近似法(Erlang-k-based curve fitting method)を用いている。この方法は、平均パケット遅延を予測するためのものではなく、パラメータｋ、β、γの関係を明らかにするためのものである。
【００３９】
アーランｋ分布の確率密度関数は、平均ｋ／β＋γ、分散ｋ／β２におけるｆ(ｘ)によって定義される。パケット遅延分布に対してアーランｋ分布を近似させる問題は、測定結果と近似曲線間の最小二乗誤差を最小化するパラメータｋ、β、γを導出することである。近似によって得られた確率密度関数ｆ(ｘ)のパラメータｋ、β、γを用いて、受信キュー数ｑに応じたパケット転送の遅延を予測する。
【００４０】
図４は、アーランｋ分布に基づく平均パケット遅延予測モデルの算出過程を表すフレームワークである。
図５は、確率密度関数のパラメータ毎に、受信キュー数に応じたパラメータを表すグラフである。
【００４１】
キュー数ｑにおけるスループットλout(ｑ)及びパラメータｋ、β、γは、以下のように表現される
【数４】
2018142799.tif 000006
σ：受信キュー数ｑ＝１における、単位時間当たりの受信キューのハードウェア割込み数
【００４２】
＜スループットλout(ｑ)の算出＞
最初に、受信キュー数ｑに応じたスループットλout(ｑ)の予測モデルを算出する。ここでは、異なるキュー数ｑ＝１，Ｑ（＞１）に設定して予備計測した、２つのスループットλout(１)及びλout(Ｑ)を用いる。
第１のスループットλout(１)：
第１の予備計測部１１によって計測された、測定対象サーバに受信キュー数
ｑ＝１を設定した上で計測したスループット
第２のスループットλout(Ｑ)：
第２の予備計測部１２によって計測された、測定対象サーバに受信キュー数
ｑ＝Ｑ（＞１）を設定した上で計測したスループット
予備計測されたλout(１)及びλout(Ｑ)を用いて、λout(ｑ)（１＜ｑ≦Ｍ（Ｍ：受信キュー数の最大値）、ｑ≠Ｑ）を、スループットλout(ｑ)の予測モデルとして算出する。
【００４３】
図５によれば、受信キュー数ｑ毎に計測された遅延分布Ｄを、アーランｋ分布の式にフィッティングして算出されたｋ、β、γ、τの変化が表されている。
図５（ａ）は、受信キュー数ｑ毎のパラメータｋの変化を表すグラフである。
図５（ｂ）は、受信キュー数ｑ毎のパラメータβの変化を表すグラフである。
図５（ｃ）は、受信キュー数ｑ毎のパラメータγ、τの変化を表すグラフである。
【００４４】
アーランｋ分布の３つのパラメータｋ、β、γは全て、受信キュー数ｑを用いた関数として表される。また、図５（ｃ）によれば、γとτ(ｑ)とにも相関関係がある。
平均パケット遅延の予測モデルは、最大スループットの予測モデルを参照する。アーランｋ分布のパラメータｋ、λ、γは、受信キュー数ｑの関数として、ｋ(ｑ)、λ(ｑ)、γ(ｑ)と定義する。
【００４５】
＜パラメータｋ(ｑ)の算出＞
ｋ(ｑ)は、受信キュー数ｑに応じたアーランｋ分布に含まれる平均１／β(ｑ)の指数分布の数に相当すると考えられる。
また、測定対象サーバの受信バッファpoll_list及び送信バッファQdiscについて、同じ受信ソフトウェア割込み及び送信ソフトウェア割込みの間に待機しているパケットは、同じ待機時間の特徴を持つと考えることができる。
【００４６】
ｋ(１)は、遅延分布Ｄと確率密度関数ｆ(ｘ)とを、最小二乗法等で近似し導出されるものである。ｋ(ｑ)は、曲線近似から得られるk(１)を用いて算出される。
ｋ(ｑ)＝floor（ｋ(１)／ｑ）
floor()：床関数
【００４７】
＜パラメータβ(ｑ)の算出＞
パケット遅延は、平均１／βの共通な指数分布を持つｋ個のランダム変数Ｘ１〜Ｘｋの合算からなるランダム変数Ｘ（平均ｋ／βのアーランｋ分布）に相当すると予測される。
受信バッファpoll_listで待機するパケットは、一定の処理時間の場合、同じ平均待機時間となり、パケット到着間隔は、その処理時間より十分短い。そのために、ｋは、受信ソフトウェア割込みの依存性が強い、と推測される。
また、１／βは、共通な指数分布の変数Ｘiの平均に相当する。変数の平均をスケールイン／アウトさせる要因は、パケットが、受信リングバッファで待機する時間である。そのため、βはσと関係があると推測される。
【００４８】
１／β(ｑ)は、ｋ個の指数分布の平均値に対応するために、受信キュー（Rxリングバッファ）でパケットが待機する時間に従って変化する。
１／β(１)＝１／λout(１)×λout(１)／σ
＝１／σ
１／λout(１)：パケットが測定対象サーバ内に滞留する時間であり、
パケットが受信リングバッファで待機している平均時間
σ          ：受信キュー数ｑ＝１における単位時間あたりの受信ハード
ウェア割込み数
λout(１)／σ  ：受信キュー数ｑ＝１における、受信リングバッファから
受信バッファpoll_listへ移されるパケットの数
【００４９】
次に、ｑ＝Ｑ（＞１）の場合、パケットは、ｑ個の受信キューに一様に分散される。そこで、各リングバッファに流入するトラフィックをマッピングすることで、σを活用する。即ち、各リングバッファに割り当てられるトラフィック負荷σに対して、以下のように対応付ける。
η(ｑ)＝λout(１)／σ
これにより、パケットの受信キューにおける平均待機時間は、以下のように算出される。
１／β(ｑ)＝ｑ／λout(ｑ)×ｑη(ｑ)
＝ｑ２η(ｑ)／λout(ｑ)
β(ｑ)＝λout(ｑ)／（ｑ２η(ｑ)）
＝λout(ｑ)／（ｑ２λout(１)／σ）
＝σλout(ｑ)／（ｑ２λout(１)）
このように、β(ｑ)は、受信キュー数ｑ＝１におけるλout(１)及びσと、予測スループットλout(ｑ)とを用いて算出する。
【００５０】
＜パラメータγ(ｑ)の算出＞
γ(q)は、パケットが、受信キューに滞留する最小時間を意味する。ここで、マッピング関数η(ｑ)を用いて、以下のように算出される。
１／λout(ｑ)×ｑη(ｑ)
そして、分布の平均値１／（ｋ(ｑ)β(ｑ)）によってスケールし、以下のように算出される。
γ(ｑ)＝（１／λout(ｑ)）×ｑη(ｑ)×（β(ｑ)／ｋ(ｑ)）
＝（ｑη(ｑ)β(ｑ)）／（λout(ｑ)ｋ(ｑ)）
＝（ｑ（λout(１)／σ）β(ｑ)）／（λout(ｑ)ｋ(ｑ)）
＝（ｑλout(１)β(ｑ)）／（σλout(ｑ)ｋ(ｑ)）
このように、γ(q)の予測には、λout(ｑ)、k(ｑ)、β(ｑ)を用いる。
【００５１】
［遅延予測部１４］
遅延予測部１４は、確率密度関数ｆ(x)のパラメータｋ、β、γを用いて、測定対象サーバ２の受信キュー数（受信ネットワークインタフェース数）ｑに応じた平均パケット転送遅延τを予測する。
前述したように、確率密度関数ｆ(ｘ)の各パラメータｋ、β、γは、受信キュー数ｑの関数として表現されている。
平均パケット転送遅延τは、パラメータｋ、β、γを用いて、以下のように算出される。
τ＝ｋ／β＋γ
即ち、受信キュー数ｑの設定に応じたパラメータを用いて、平均パケット転送遅延τを算出することができる。
【００５２】
図６は、受信キュー数に対するスループット及び平均パケット転送遅延を表すグラフである。
【００５３】
図６（ａ）は、受信キュー数ｑに対するスループットλout(ｑ)を表すグラフである。ここでは、受信キュー数ｑ＝１の場合に、スループットλout(１)が最大となることが理解できる。
一方で、図６（ｂ）は、受信キュー数ｑに対する平均パケット転送遅延τを表すグラフである。ここでは、受信キュー数ｑ＝３の場合に、平均パケット転送遅延τが最小となることが理解できる。
【００５４】
以上、詳細に説明したように、本発明の遅延予測方法、装置及びプログラムによれば、多回数の予備計測を行うことなく、サーバの設定変更に応じて、パケット転送の遅延を予測することができる。
【００５５】
例えば、パケット転送遅延を最小化する、受信キュー数ｑを予測することができる。特に、Linuxサーバを用いた仮想化環境については、サービス・アプリケーションを柔軟に切り替えて稼働させることが想定される。本発明によって、各アプリケーションに対する適切なLinuxサーバに対する設定を導出することができる。
【００５６】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５７】
１  遅延予測装置
１０１  試験トラヒック送信装置
１０２  測定トラヒック受信装置
１１  第１の予備計測部
１２  第２の予備計測部
１３  確率分布算出部
１４  遅延予測部
２  測定対象サーバ
【図１】
2018142799.tif 000009
【図２】
2018142799.tif 000010
【図３】
2018142799.tif 000011
【図４】
2018142799.tif 000012
【図５】
2018142799.tif 000013
【図６】
2018142799.tif 000014