説明

リンク帯域使用率上限算出方法、リンク帯域使用率上限算出装置、及びプログラム

【課題】既定のパケット損失率以下を満たせるリンク帯域使用率の適切な上限を算出する。
【解決手段】リンク帯域使用率上限算出装置10において、2つのリーキーバケットに関する入力条件に基づいて、対象フローを仮想的なサブフローに分割する手段11と、分割したサブフロー毎に、固定的なリンク帯域リソースとバッファリソースとを割り当てて、与えられたリンク帯域使用率に対応するパケット損失率を算出する手段12と、リンク帯域使用率を変更しながらパケット損失率を算出し、パケット損失率が、与えられたパケット損失率上限以下を満たせるリンク帯域使用率上限を算出する手段13と、前記2つのリーキーバケットに関する入力条件を変更しながらリンク帯域使用率上限を算出し、算出されたリンク帯域使用率上限の最大値を、対象フローに対応したリンク帯域使用率上限として出力する手段14とを備えて構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット交換網において、パケット損失や転送遅延を防止して、転送品質を確保(低パケット損失,低遅延等)するために、NW流入フローによる帯域利用に上限を設ける方式に関連し、特に、複数のフローを転送する固定長バッファを有するルーター等の通信装置において、パケット損失率が既定のパケット損失率上限以下となるリンク帯域使用率上限を算出する技術に関するものである。
【背景技術】
【0002】
複数のフローを転送する固定長バッファを有する通信装置における、パケット損失率が既定のパケット損失率上限以下となるリンク帯域使用率上限を算出するための従来技術として、下記の従来技術1と従来技術2がある。従来技術1、2において、リンク帯域使用率上限を算出する装置における入力、及び出力は、下記のとおりとする。
【0003】
入力:リンク帯域bw、バッファサイズbf、パケット損失率上限L、対象フローのデータ(パケットのタイムスタンプとサイズのリスト)
出力:リンク帯域使用率上限a_max
<従来技術1>
対象とするフローのパケットサイズsは一定で、パケット到着がポアソン過程に従い、重畳する複数本のフローのパケット到着は互いに独立であるとしてモデル化を行う。このとき、重畳したフロー群のパケット到着もポアソン過程に従うことから、任意のリンク帯域使用率aに対して、使用率a(サービス時間a/bw)、
【0004】
【数1】

の待ち行列モデルM/D/1/Kを用いてパケット損失率lを求めることができる。
【0005】
そこで、従来技術1では、sを対象フローの平均パケットサイズとして、l≦Lとなるようなaの最大値を二分法(0≦a≦1の範囲)によって求め、リンク帯域使用率上限a_maxとして出力する。
【0006】
<従来技術2>
従来技術2は、Elwalidらのフローモデル化手法(非特許文献1)(以下、これを従来手法と呼ぶ)を応用した技術である。
【0007】
従来技術2では、リーキーバケット・アルゴリズム(非特許文献2)を実行する単一の仮想的なリーキーバケット(サイズ無限、流出レートr)を用いて対象フローのパケット到着特性を定量化する。そして、パケットが常に一定量(サイズb)バースト到着するモデルを作り、重畳した全体トラヒックのバースト到着がポアソン過程に従うとみなす。このとき、
【0008】
【数2】

使用率r*a/r0の待ち行列モデルM/D/1/Kを用いてフロー群のパケット損失率lを求めることができる。
【0009】
つまり、任意のリンク帯域使用率a、リーキーバケットの流出レートr(r≧対象フローの平均レートr0)に対してパケット損失率lを求めることができる。
【0010】
そこで、従来技術2では、rをr0 と初期設定して、l≦Lとなるようなaの最大値を二分探索法(0≦a≦1の範囲)によって求めて結果をa_maxとする。そして、rを一定量ずつ増やして上記処理を繰り返してaを出力し、もしa>a_maxならばa_maxにaを代入してa_maxを更新する。そして、上記手順を繰り返して実行し、一定回数a_maxが更新されないときに繰り返し実行を終了して、a_maxを、目的のリンク帯域使用率上限a_maxとして出力する。
【0011】
なお、上記従来技術2で用いられるリーキーバケット・アルゴリズムは、仮想的なバケットにビット量を補充し、一定レートでバケットのビット量を流出させるモデルのアルゴリズムである。バケットが空いている場合にはビット量が流出されず、満杯の場合にはビット量が補充されない。対象フローのパケット到着時にパケットサイズ相当のビット量を補充する状況で、パケットがバースト的に到着する場合、瞬間的に消費レートに対して補充量が過多となり、バケット内にトークンが滞留することになる。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】A. Elwalid, et al.,"A new approach for allocating buffers and bandwidth to heterogeneous, regulated traffic in an ATM node,"IEEE J. Select. Areas Commun., vol.13, pp.1115-1127, Aug. 1995.
【非特許文献2】ITU-T Recommendation I.371,"Traffic control and congestion control in B-ISDN,"Mar. 2004.
【発明の概要】
【発明が解決しようとする課題】
【0013】
対象フローの実際のトラヒックは、バースト性を伴っている部分と、定期的なパケット送出を行っている部分の合成からなると考えられる。しかし、従来技術1ではパケットのバースト到着を想定しておらず、パケットがバースト到着する場合に比べて、算出されるパケット損失率lを実態より低く推定してしまい、NW設計上のリンク帯域使用率上限を適切に出力することができない。
【0014】
一方、従来技術2では、全てのトラヒックがバースト到着するという、実態より過度にバースト性の高い単一ソースのON/OFFモデルを作ることになるため、パケット損失率を実態より高く推定してしまいNW設計上のリンク帯域使用率上限を低く推定することから、NWの利用効率が上がらないという問題がある。
本発明は上記の問題点に鑑みてなされたものであり、対象フローの特性をより適切にモデル化して、より実態に近いパケット損失率を推定することにより、予め定められたパケット損失率以下を満たせるリンク帯域使用率の適切な上限を算出するための技術を提供することを目的とする。
【課題を解決するための手段】
【0015】
上記の課題を解決するために、本発明は、パケット交換網における複数のフローを転送する固定長バッファを有する通信装置における、既定のパケット損失率上限以下を満たせるリンク帯域使用率上限を算出するリンク帯域使用率上限算出装置が実行するリンク帯域使用率上限算出方法であって、2つのリーキーバケットに関する入力条件に基づいて、対象フローを仮想的なサブフローに分割するサブフロー分割ステップと、分割したサブフロー毎に、固定的なリンク帯域リソースとバッファリソースとを割り当てて、与えられたリンク帯域使用率に対応する前記リンクのパケット損失率を算出するパケット損失率算出ステップと、リンク帯域使用率を変更しながら前記パケット損失率算出ステップを実行してパケット損失率を算出し、パケット損失率が、与えられたパケット損失率上限以下を満たせるリンク帯域使用率上限を算出するリンク帯域使用率上限算出ステップと、前記2つのリーキーバケットに関する入力条件を変更しながら、前記サブフロー分割ステップと前記リンク帯域使用率上限算出ステップを実行することによりリンク帯域使用率上限を算出し、算出されたリンク帯域使用率上限の最大値を、対象フローに対応したリンク帯域使用率上限として出力するリンク帯域使用率上限最大値探索ステップとを備えたことを特徴とするリンク帯域使用率上限算出方法として構成される。
【0016】
前記2つのリーキーバケットに関する入力条件は、第1のバケットの流出レートr1、第1のバケットのサイズb1、及び第2のバケットの流出レートr2であり、前記サブフロー分割ステップにおいて、当該入力条件、及び対象フローのデータを用いて、第2のバケットがあふれないようにする上で必要なバケットサイズb2を算出することとしてもよい。
【0017】
また、前記パケット損失率算出ステップにおいて、前記第1のバケットに対応する第1のサブフローに、パケット損失が生じないようにリンク帯域リソースとバッファリソースを割り当て、残余のリンク帯域リソースとバッファリソースを前記第2のバケットに対応する第2のサブフローに割り当て、待ち行列モデルを用いて前記パケット損失率を算出することができる。
【0018】
また、本発明は、上記リンク帯域使用率上限算出方法の実行に適した各手段を備えるリンク帯域使用率上限算出装置として構成することもできる。更に、本発明は、コンピュータを、上記リンク帯域使用率上限算出装置の各手段として機能させるためのプログラムとして構成することもできる。
【発明の効果】
【0019】
本発明によれば、対象フローの特性をより適切にモデル化して、より実態に近いパケット損失率を推定することができ、予め定められたパケット損失率以下を満たせるリンク帯域使用率の適切な上限を算出することが可能となる。
【図面の簡単な説明】
【0020】
【図1】対象フローを仮想的にサブフロー1とサブフロー2に分割することを説明するための図である。
【図2】本発明の実施の形態におけるリンク帯域使用率上限算出装置10の機能構成例である。
【図3】サブフロー分割機能部11における処理の概念を説明するための図である。
【図4】サブフロー分割機能部11が実行する処理手順を示すフローチャートである。
【図5】パケット損失率算出機能部12が実行する処理手順を示すフローチャートである。
【図6】リンク帯域使用率上限算出機能部13が実行する処理手順を示すフローチャートである。
【図7】リンク帯域使用率上限最大値探索機能部14が実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態を説明する。
【0022】
(概要)
まず、図1を参照して、本実施の形態の概要を説明する。図1の上段に示すように、従来技術2では、リンク帯域使用率上限を算出する対象となる対象フローが常にバースト到着するものとしてモデル化していたところ、本実施の形態においては、図1の下段に示すように、リンク帯域使用率上限を算出する対象となる対象フローを仮想的にサブフロー1とサブフロー2に分割してモデル化を行うことにより対象フローの特性をより適切にモデル化する。これにより、より実態に近いパケット損失率を推定することができる。このように実態に近いパケット損失率を推定することにより、予め定められたパケット損失率以下を満たせるリンク帯域使用率の適切な上限を算出することが可能である。
【0023】
(装置構成)
図2に、本発明の実施の形態におけるリンク帯域使用率上限算出装置10の機能構成例を示す。図2に示すように、リンク帯域使用率上限算出装置10は、対象フローを仮想的なサブフローに分割するサブフロー分割機能部11と、サブフロー群ごとにリンク帯域及びバッファのリソースを固定的に割り当てて、待ち行列モデルを用いてパケット損失率を算出するパケット損失率算出機能部12と、入力条件に対応したリンク帯域使用率上限を算出するリンク帯域使用率上限算出機能部13と、対象フローに対応したリンク帯域使用率上限を算出するリンク帯域使用率上限最大値探索機能部14と、各種データを格納するデータ記憶部15とを備えている。
【0024】
ここで、データ記憶部15は、各機能部からアクセスされるメモリ等の記憶部であり、各機能部は、データ記憶部15から処理に用いるデータ(例えば変数の値)を読み出し、処理後のデータをデータ記憶部15に格納することにより、処理を進める。また、各機能部からの出力は、データ記憶部15に格納され、他の機能部や他の装置への入力のために読み出される。ただし、リンク帯域使用率上限最大値探索機能部14からの出力は、リンク帯域使用率上限算出装置10の出力として、そのまま外部に出力することとしてもよい。
【0025】
リンク帯域使用率上限算出装置10には、リンク帯域bw、ルータのバッファサイズbf、パケット損失率上限L、及び、対象フローのデータ(本実施の形態では、パケットのタイムスタンプとサイズのリスト)が入力され、対象フローに対応したリンク帯域使用率上限a_maxが出力される。例えば、入力データのうちのリンク帯域bw、バッファサイズbf、パケット損失率上限Lは、NW設計者等により、入力手段を用いてリンク帯域使用率上限算出装置10に入力され、対象フローのデータは、例えば、外部のデータベース装置に蓄積されたデータを通信ネットワークを介して受信することができる。
【0026】
リンク帯域使用率上限算出装置10は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、リンク帯域使用率上限算出装置10の各部で行われる処理や機能は、リンク帯域使用率上限算出装置10を構成するコンピュータに内蔵されるCPUやメモリなどのハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、当該プログラムは、当該プログラムを記録したFD、CD−ROM、DVDなどの記録媒体や、インターネットなどのネットワークを介して市場に流通させることができる。
【0027】
また、リンク帯域使用率上限算出装置10は、単独の装置として実現してもよいし、ネットワーク運用監視装置やネットワーク設計支援装置の機能の一部、あるいは、ルータ等の通信装置の機能の一部として構成することもできる。
【0028】
(各機能部の詳細)
以下、図2に示すリンク帯域使用率上限算出装置10の各機能部の処理を詳細に説明する。後述するように、本実施の形態に係るリンク帯域使用率上限算出装置10においては、リンク帯域使用率上限最大値探索機能部14が、各機能部を動作させる制御を行って、結果として対象フローに対応したリンク帯域使用率上限a_maxを算出するが、以下では、各機能部毎に処理内容を説明する。
【0029】
<サブフロー分割機能部11>
サブフロー分割機能部11は、リーキーバケット・アルゴリズムを実行する2 個の仮想的なリーキーバケットを用いてフローのパケット到着特性を定量化し、対象フローを仮想的なサブフローに分割するサブフロー分割処理を行う。
【0030】
より具体的には、サブフロー分割機能部11は、対象フローのデータ、バケット1の流出レートr1、バケット1のサイズb1、及びバケット2の流出レートr2を入力し、バケット2があふれないようにする上で必要なバケットサイズb2を出力する機能を有する。サブフロー分割機能部11における処理の概念を図3を参照して説明する。
【0031】
図3に示すとおり、リーキーバケット・アルゴリズムを実行する2 個の仮想的なリーキーバケットを用いてフローのパケット到着特性を定量化するにあたり、バケット1 のサイズはb1、流出レートはr1 とする。また、バケット2 のサイズは無限として、流出レートはr2 とする。
【0032】
そして、対象フローのデータから対象フローを再現して到着パケットを観測し、パケット到着毎に観測パケットサイズ相当のビット量(トークン)をバケット1 に補充する。バケット1 が満杯の場合には、バケット1 に補充しきれない分のビット量をバケット2 へ補充する。このとき、観測中におけるバケット2 の最大ビット滞留量b2 を求める。そして、対象フローは以下の2 つのサブフローで構成されるとみなす。
【0033】
サブフロー1:平均レートr1 で常にサイズb1 のバースト到着となるフロー
サブフロー2:平均レートr2 で常にサイズb2 のバースト到着となるフロー
なお、r1 = 0,b1 = 0 の場合,従来手法と同等となる。
【0034】
図4は、対象フローのデータを与えて、r1、b1、r2を入力パラメータとし、b2を出力するための処理手順を示すフローチャートである。図4の処理は、図3に示す処理に対応するものである。また、図4の処理における一時変数等の意味は、図4内に示すとおりである。
【0035】
図4を参照して、サブフロー分割機能部11が実行するb2を出力するための処理手順を説明する。なお、以下の処理で、変数に数値を代入するとは、データ記憶部15の所定領域に、数値を格納することに相当する。
【0036】
まず、ステップ101において、パケット1個目のタイムスタンプをltimeに代入する。次に、ステップ102において、パケット1個目のパケットサイズをql1maxに代入し、ql1maxの値をql1に代入する。
【0037】
次に、ql1>b1であるか否かの判定が行われ(ステップ103)、判定結果がYesであればステップ104に進み、Noであればステップ105に進む。ステップ104では、(ql1-b1)がql2に代入され、ql2の値がql2maxに代入される。
【0038】
上記のステップ101〜104の処理はパケット1個目の処理に該当する。
【0039】
ステップ105において、次のパケットデータの有無が判定され、Noであればステップ117に進み、Yesであれば次のパケットデータの処理を行うためにステップ106に進む。
【0040】
ステップ106において、(ql1-(タイムスタンプ-ltime)*r1)がql1に代入され、(ql2-(タイムスタンプ-ltime)*r2)がql2に代入される。次に、ステップ107において、ql1<0であるか否かの判定が行われ、判定結果がYes(バケット1が空)であればステップ108に進み、Noであればステップ109に進む。
ステップ108において、ql1に0が代入される。ステップ109では、ql2<0であるか否かの判定が行われ、判定結果がYes(バケット2が空)であればステップ110に進み、Noであればステップ111に進む。ステップ110において、ql2に0が代入される。
【0041】
上記のステップ105〜110の処理はバケットからのビット量流出処理に該当する。
【0042】
ステップ111では、(ql1+パケットサイズ)がql1に代入される。続いて、ステップ112において、ql1>b1であるか否かの判定が行われ、判定結果がYes(バケット1が満杯)であればステップ113に進み、Noであればステップ114に進む。
【0043】
ステップ113において、(ql1-b1)がql2に代入され、ql2の値がql2maxに代入される。ステップ114において、ql2>ql2maxであるか否かの判定が行われ、判定結果がYesであればステップ115に進み、Noであればステップ116に進む。ステップ115において、ql2がql2maxに代入される。
【0044】
上記のステップ111〜115の処理はバケットへのビット量補充処理に該当する。
【0045】
ステップ116において、パケットのタイムスタンプがltimeに代入される。これは、直近パケットタイムスタンプltimeの更新処理である。
【0046】
そして、ステップ105に判定において、次のパケットデータがなくなった場合に、ql2maxをb2(バケット2があふれないようにする上で必要なバケットサイズ)として出力する。
【0047】
<パケット損失率算出機能部12>
パケット損失率算出機能部12は、パケット損失率算出処理を行う。パケット損失率算出処理におけるパケット損失率算出機能部12への入力と、パケット損失率算出機能部12からの出力は下記のとおりである。
【0048】
入力:リンク帯域bw、ルータバッファサイズbf、対象フロー平均レートr0、バケット1の流出レートr1、バケット1のサイズb1、バケット2の流出レートr2、バケット2があふれないようにする上で必要なバケットサイズb2、リンク帯域使用率a
出力:パケット損失率l
パケット損失率算出機能部12は、サブフローを重畳したトラヒック(サブフロー群)ごとにリンク帯域及びバッファのリソースを固定的に割り当てて、それぞれのサブフロー群において仮想的な待ち行列モデルを従来手法に準じた方法で評価してサブフロー群毎のパケット損失率を算出して、リンク全体でのパケット損失率lを算出する機能を有する。
【0049】
ここで、リーキーバケットでモデル化されたサブフロー1に対して帯域リソースr1,バッファリソースb1を用意するとき、b1はサブフロー1の最大キュー長に等しいことからパケット損失は生じない。
【0050】
よって、上述した固定的に割り当てるリソースとして、サブフロー1 群に対してパケット損失が生じないようリンク帯域使用率に応じたリンク帯域リソースr1 *(bw*a/r0)を割当、バッファリソースb1*(bw*a/r0)を割り当てる。また、残余リンク帯域リソース(bw-r1*(bw*a/r0))、残余バッファリソース(bf-b1*(bw*a/r0) )をサブフロー2 群に対して割り当てる。
【0051】
そして、サブフロー2 群においてはサイズb2 のバーストパケットがランダムに到着するモデルを考えて、
【0052】
【数3】

使用率(r2*(bw*a/r0))/(bw-(bw*a/r0)*r1)の待ち行列モデルM/D/1/K(非特許文献1)を用いてサブフロー2 群のパケット損失率l2 を求める。
【0053】
上記の算出結果から、リンク全体のパケット損失率l=l2*r2/(r1+r2) を求める。なお、r1=0、k=0とする場合、サブフロー1群は無いものとしてサブフロー2のみを重畳することになるので、従来技術2と同等となる。
【0054】
パケット損失率算出機能部12が実行する処理手順は、図5に示すとおりである。すなわち、ステップ201において、
【0055】
【数4】

使用率(r2*(bw*a/r0))/(bw-(bw*a/r0)*r1)の待ち行列モデルM/D/1/K(非特許文献1)を用いてサブフロー2群のパケット損失率l2を求め、ステップ202において、パケット損失率l=l2*r2/(r1+r2)を算出し、出力する。
<リンク帯域使用率上限算出機能部13>
リンク帯域使用率上限算出機能部13は、リンク帯域使用率上限算出処理を行う。リンク帯域使用率上限算出機能部13への入力と、リンク帯域使用率上限算出機能部13からの出力は、下記のとおりである。なお、リンク帯域使用率上限算出機能部13は、パケット損失率算出機能部12を利用するので、下記の入力には、前述したパケット損失率算出機能部12への入力が含まれている。
【0056】
入力:リンク帯域bw、ルータバッファサイズbf、パケット損失率上限L、対象フロー平均レートr0、バケット1の流出レートr1、バケット1のサイズb1、バケット2の流出レートr2、バケット2があふれないようにする上で必要なバケットサイズb2
出力:入力条件r1、r2、b1、b2に対応したリンク帯域使用率上限a_m
より具体的には、リンク帯域使用率上限算出機能部13は、入力条件r1、r2、b1、b2の下で、損失率l≦損失率上限Lとなるようなリンク帯域使用率aの最大値a_mを出力する。例えば、二分法(0≦a≦1の範囲)を用いて、リンク使用率aを変えながらパケット損失率算出機能部12を用いてパケット損失率の算出処理を繰り返すことにより、リンク帯域使用率aの最大値a_mを算出する。
【0057】
リンク帯域使用率上限算出機能部13が実行する処理手順を図6のフローチャートを参照して説明する。
【0058】
リンク帯域使用率aを設定し(ステップ301)、パケット損失率算出機能部12を用いてステップ301で設定したリンク帯域使用率aに対応するパケット損失率lを算出する(ステップ302)。
【0059】
そして、リンク帯域使用率上限算出機能部13は、算出した損失率lと、与えられた損失率上限Lを比較し、損失率lが損失率上限L以下ならば、a_mにaを代入する(ステップ303)。損失率lが損失率上限L以下でなければa_mは更新されない。リンク帯域使用率上限算出機能部13は、ステップ301〜303の処理を十分な回数繰り返した後(ステップ304)、a_mを、入力条件r1、r2、b1、b2に対応したリンク帯域使用率上限として出力する(ステップ305)。上記の十分な回数の判定は、例えば、予め定めた回数の繰り返しを行ったかどうか、処理を繰り返す中でのa_mの変化が、予め定めた値よりも小さくなったかどうか、などにより行うことができる。
【0060】
以下、ここでの処理をより具体的に説明する。
【0061】
リンク帯域使用率上限算出機能部13は、まず、リンク帯域使用率をa=(0+1)/2=0.5と設定し(ステップ301)、パケット損失率算出機能部12を用いてリンク帯域使用率a=0.5のときのパケット損失率lを算出する(ステップ302)。
【0062】
続いて、リンク帯域使用率上限算出機能部13は、損失率lと損失率上限Lを比較し、損失率lが損失率上限L以下であれば、a_mにaを代入し(ステップ303)、a=(0.5+1)/2=0.75と設定して(ステップ304、ステップ301)、再度ステップ302の計算を行う。ステップ303において、損失率lが損失率上限Lを上回っていれば、a_mは更新されずa=(0+0.5)/2=0.25として再計算を行う。
例えば、十分な繰り返し回数を5回とするとき、aの設定値は以下のように変化していく。
(1回目)aを(0+1)/2=0.5と設定→ロス率上限を下回る。
(2回目)aを(0.5+1)/2=0.75と設定→ロス率上限を下回る。
(3回目)aを(0.75+1)/2=0.875と設定→ロス率上限を下回る。
(4回目)aを(0.875+1)/2=0.9375と設定→ロス率上限を上回る。
(5回目)aを(0.875+0.9375)/2=0.90625と設定→ロス率上限を下回る。
【0063】
(出力)5回目におけるa_mへの代入値である0.90625を出力する。
【0064】
<リンク帯域使用率上限最大値探索機能部14>
リンク帯域使用率上限最大値探索機能部14は、対象フローのデータ、リンク帯域bw、ルータバッファサイズbf、及び損失率上限Lを入力し、リンク帯域使用率上限の最大値探索処理を行って、対象フローに対応したリンク帯域使用率上限a_maxを出力する。
【0065】
より具体的には、リンク帯域使用率上限最大値探索機能部14は、r1、r2、b1を変化させてサブフロー分割機能部11によりb2を求め、リンク帯域使用率上限算出機能部13によりリンク帯域使用率上限a_mを求める。そして、各r1、r2、b1の組に対するa_mの中から最大値を探索し、a_maxとして出力する。
【0066】
以下、リンク帯域使用率上限最大値探索機能部14が実行する処理の手順を図7のフローチャートを参照して説明する。
【0067】
まず、対象フローの平均レートr0を取得する(ステップ401)。この平均レートは、対象フローのデータから算出してもよいし、予めデータ記憶部15に格納したものを読み出してもよい。続いて、r1、r2、b1をそれぞれ0、r0、0と初期設定する(ステップ402)。その後、十分な粒度で網羅的にr1、r2、b1を変更(ただし、r1+r2≧r0)させていきa_mを算出、出力し、もしa_m>a_maxならばa_maxにa_mを代入してa_maxを更新していき、a_mの最大値a_maxを出力する。
【0068】
すなわち、ステップ403において、ステップ402での設定値をサブフロー分割機能部12への入力として使用して、サブフロー分割機能部12により、バケット2があふれないようにする上で必要なバケットサイズb2を算出する。
【0069】
続いてステップ404において、リンク帯域使用率上限算出機能部13により、入力条件r1、r2、b1、及びb2に対応したリンク帯域使用率上限a_mを算出する。そして、ステップ405で、a_m>a_maxであるか否かを判定し、判定結果がNoであればステップ407に進み、Yesであればステップ406に進む。
【0070】
ステップ406では、a_mをa_maxに代入する。そして、r1、r2、b1を変更して、ステップ402からの処理を繰り返す。ステップ407では、r1、r2、b1のそれぞれを変更してもa_maxが一定回数以上更新されていないか否かを判定する。判定結果がNo(a_maxの更新がされている場合)であれば、r1、r2、b1を変更して、ステップ402からの処理を繰り返す。判定結果がYesであれば、そのときのa_maxをリンク帯域使用率上限として出力する(ステップ408)。
【0071】
例えば、ステップ401で取得したr0が10Mbpsのとき、以下のように入力条件r1、r2、b1を変化させていく。なお、以下の例では、1パラメータを3回連続して増加させてもa_maxの更新が行われないときに、他のパラメータの変更、及び終了判定を行うこととする。
【0072】
(r1、 r2、 b1)
0Mbps、10Mbps、0KB→更新有り
0Mbps、10.1Mbps、0KB→更新有り
0Mbps、10.2Mbps、0KB→更新有り

0Mbps、13.5Mbps、0KB→更新有り
0Mbps、13.6Mbps、0KB→更新無し1回目
0Mbps、13.7Mbps、0KB→更新無し2回目
0Mbps、13.8Mbps、0KB→更新無し3回目、r1の変更へ
0.1Mbps、9.9Mbps、0KB→更新有り
0.1Mbps、10Mbps、0KB→更新有り
0.1Mbps、10.1Mbps、0KB→更新有り

0.1Mbps、13.5Mbps、0KB→更新有り
0.1Mbps、13.6Mbps、0KB→更新無し1回目
0.1Mbps、13.7Mbps、0KB→更新無し2回目
0.1Mbps、13.8Mbps、0KB→更新無し3回目、r1の変更へ

14.9Mbps、0.5Mbps、0KB→更新無し3回目、r1の変更へ
15Mbps、0Mbps、0KB→更新無し1回目
15Mbps、0.1Mbps、0KB→更新無し2回目
15Mbps、0.2Mbps、0KB→更新無し3回目かつr1変更後に更新無し1回目、r1の変更へ
15.1Mbps、0Mbps、0KB→更新無し1回目
15.1Mbps、0.1Mbps、0KB→更新無し2回目
15.1Mbps、0.2Mbps、0KB→更新無し3回目かつr1変更後に更新無し2回目、r1の変更へ
15.2Mbps、0Mbps、0KB→更新無し1回目
15.2Mbps、0.1Mbps、0KB→更新無し2回目
15.2Mbps、0.2Mbps、0KB→更新無し3回目かつr1変更後に更新無し3回目、b1の変更へ
0Mbps、10Mbps、1KB→更新有り
0Mbps、10.1Mbps、1KB→更新有り
0Mbps、10.2Mbps、1KB→更新有り

15.2Mbps、0.1Mbps、1KB→更新無し2回目
15.2Mbps、0.2Mbps、1KB→更新無し3回目かつr1変更後に更新無し3回目、b1の変更へ

0Mbps、10Mbps、6KB→更新無し1回目
0Mbps、10.1Mbps、6KB→更新無し2回目
0Mbps、10.2Mbps、6KB→更新無し3回目、r1の変更へ

15.2Mbps、0.1Mbps、6KB→更新無し2回目
15.2Mbps、0.2Mbps、6KB→更新無し3回目かつr1変更後に更新無し3回目、b1変更後に更新無し1回目
0Mbps、10Mbps、7KB→更新無し1回目
0Mbps、10.1Mbps、7KB→更新無し2回目
0Mbps、10.2Mbps、7KB→更新無し3回目、r1の変更へ

15.2Mbps、0.1Mbps、7KB→更新無し2回目
15.2Mbps、0.2Mbps、7KB→更新無し3回目かつr1変更後に更新無し3回目、b1変更後に更新無し2回目
0Mbps、10Mbps、8KB→更新無し1回目
0Mbps、10.1Mbps、8KB→更新無し2回目
0Mbps、10.2Mbps、8KB→更新無し3回目、r1の変更へ

15.2Mbps、0.1Mbps、8KB→更新無し2回目
15.2Mbps、0.2Mbps、8KB→更新無し3回目かつr1変更後に更新無し3回目、b1変更後に更新無し3回目
→終了、a_max出力
<比較例>
以下の条件で従来技術1、2、及び本発明に係る技術を適用した時のリンク使用率上限を算出した。
【0073】
対象フローの平均レートr0:7.74 Mbps
平均パケットサイズs:1357.5Byte
ルーターバッファーサイズbf:12.25MB
リンク帯域bw:10Gbps
目標パケット損失率L:10-4
以下に、各技術においてのリンク帯域使用率上限の出力結果を示す。
【0074】
従来技術1:0.999999以上
従来技術2:0.777
本発明に係る技術:0.912
<実施の形態のまとめ、効果>
上述したように、本実施の形態に係るリンク帯域使用率上限算出装置10は、サブフロー分割機能部11と、パケット損失率算出機能部12と、リンク帯域使用率上限算出機能部13と、リンク帯域使用率上限最大値探索機能部14を有する。
【0075】
サブフロー分割機能部12は、2つのリーキーバケットを用いて対象フローを仮想的なサブフローに分割することによりモデル化する。パケット損失率算出機能部12は、サブフロー群ごとに固定的なリソース(リンク帯域、バッファ)割り当てを行うこととして、パケット損失率を算出することとし、サブフロー1群にはパケットロスが生じないようにリソースを割り当ててパケット損失率を算出する。
【0076】
リンク帯域使用率上限算出機能部13は、リンク帯域使用率を変更してそれぞれパケット損失率を求め、パケット損失率が、与えられたパケット損失率上限を満たせるようなリンク帯域使用率の上限を算出する。リンク帯域使用率上限最大値探索機能部14は、バケット1、2の流出レートr1、r2、バケット1のサイズb1を変更してそれぞれリンク帯域使用率上限を求め、最もリンク帯域使用率上限が大きくなるときの値を探索する。
【0077】
上記のような各機能部を備えるリンク帯域使用率上限算出装置10により、対象フローの特性をより適切にモデル化して、より実態に近いパケット損失率を推定し、定められたパケット損失率以下を満たせるリンク帯域使用率の適切な上限を出力することが可能となる。これにより、効率的なNW設計を実現することができる。
【0078】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【0079】
10 リンク帯域使用率上限算出装置
11 サブフロー分割機能部
12 パケット損失率算出機能部
13 リンク帯域使用率上限算出機能部
14 リンク帯域使用率上限最大値探索機能部
15 データ記憶部

【特許請求の範囲】
【請求項1】
パケット交換網における複数のフローを転送する固定長バッファを有する通信装置における、既定のパケット損失率上限以下を満たせるリンク帯域使用率上限を算出するリンク帯域使用率上限算出装置が実行するリンク帯域使用率上限算出方法であって、
2つのリーキーバケットに関する入力条件に基づいて、対象フローを仮想的なサブフローに分割するサブフロー分割ステップと、
分割したサブフロー毎に、固定的なリンク帯域リソースとバッファリソースとを割り当てて、与えられたリンク帯域使用率に対応する前記リンクのパケット損失率を算出するパケット損失率算出ステップと、
リンク帯域使用率を変更しながら前記パケット損失率算出ステップを実行してパケット損失率を算出し、パケット損失率が、与えられたパケット損失率上限以下を満たせるリンク帯域使用率上限を算出するリンク帯域使用率上限算出ステップと、
前記2つのリーキーバケットに関する入力条件を変更しながら、前記サブフロー分割ステップと前記リンク帯域使用率上限算出ステップを実行することによりリンク帯域使用率上限を算出し、算出されたリンク帯域使用率上限の最大値を、対象フローに対応したリンク帯域使用率上限として出力するリンク帯域使用率上限最大値探索ステップと
を備えたことを特徴とするリンク帯域使用率上限算出方法。
【請求項2】
前記2つのリーキーバケットに関する入力条件は、第1のバケットの流出レートr1、第1のバケットのサイズb1、及び第2のバケットの流出レートr2であり、前記サブフロー分割ステップにおいて、当該入力条件、及び対象フローのデータを用いて、第2のバケットがあふれないようにする上で必要なバケットサイズb2を算出する
ことを特徴とする請求項1に記載のリンク帯域使用率上限算出方法。
【請求項3】
前記パケット損失率算出ステップにおいて、前記第1のバケットに対応する第1のサブフローに、パケット損失が生じないようにリンク帯域リソースとバッファリソースを割り当て、残余のリンク帯域リソースとバッファリソースを前記第2のバケットに対応する第2のサブフローに割り当て、待ち行列モデルを用いて前記パケット損失率を算出する
ことを特徴とする請求項2に記載のリンク帯域使用率上限算出方法。
【請求項4】
パケット交換網における複数のフローを転送する固定長バッファを有する通信装置における、既定のパケット損失率上限以下を満たせるリンク帯域使用率上限を算出するリンク帯域使用率上限算出装置であって、
2つのリーキーバケットに関する入力条件に基づいて、対象フローを仮想的なサブフローに分割するサブフロー分割手段と、
分割したサブフロー毎に、固定的なリンク帯域リソースとバッファリソースとを割り当てて、与えられたリンク帯域使用率に対応する前記リンクのパケット損失率を算出するパケット損失率算出手段と、
リンク帯域使用率を変更しながら前記パケット損失率算出手段を用いてパケット損失率を算出し、パケット損失率が、与えられたパケット損失率上限以下を満たせるリンク帯域使用率上限を算出するリンク帯域使用率上限算出手段と、
前記サブフロー分割手段と前記リンク帯域使用率上限算出手段を用いて、前記2つのリーキーバケットに関する入力条件を変更しながらリンク帯域使用率上限を算出し、算出されたリンク帯域使用率上限の最大値を、対象フローに対応したリンク帯域使用率上限として出力するリンク帯域使用率上限最大値探索手段と
を備えたことを特徴とするリンク帯域使用率上限算出装置。
【請求項5】
前記2つのリーキーバケットに関する入力条件は、第1のバケットの流出レートr1、第1のバケットのサイズb1、及び第2のバケットの流出レートr2であり、前記サブフロー分割手段は、当該入力条件、及び対象フローのデータを用いて、第2のバケットがあふれないようにする上で必要なバケットサイズb2を算出する
ことを特徴とする請求項4に記載のリンク帯域使用率上限算出装置。
【請求項6】
前記パケット損失率算出手段は、前記第1のバケットに対応する第1のサブフローに、パケット損失が生じないようにリンク帯域リソースとバッファリソースを割り当て、残余のリンク帯域リソースとバッファリソースを前記第2のバケットに対応する第2のサブフローに割り当て、待ち行列モデルを用いて前記パケット損失率を算出する
ことを特徴とする請求項5に記載のリンク帯域使用率上限算出装置。
【請求項7】
コンピュータを、請求項4ないし6のうちいずれか1項に記載のリンク帯域使用率上限算出装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate