以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
第1の実施の形態としての通信品質計測システム1の機能ブロック構成を図1に示す。図1において、通信品質計測システム1は、計測制御サーバ100と、計測エージェント200とを含む。計測エージェント200は、通信ネットワーク900上に分散配置されている。また、計測制御サーバ100と、それぞれの計測エージェント200とは、互いに通信可能に接続されている。なお、図1には、3つの計測エージェント200を示しているが、計測エージェント200は1つ以上あればよく、その数は限定されない。
また、図1に示すように、計測制御サーバ100は、計測中フロー記憶部101と、計測要求取得部102と、高負荷経路特定部103と、計測制御部104とを含む。また、計測エージェント200は、通信品質計測部201を含む。
ここで、通信品質計測システム1は、図2に示すようなハードウェア要素によって構成可能である。
図2において、計測制御サーバ100は、CPU(Central Processing Unit)1001、メモリ1002、出力装置1003、入力装置1004、および、ネットワークインタフェース1005を含むコンピュータ装置によって構成可能である。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。出力装置1003は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置1004は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。ネットワークインタフェース1005は、通信ネットワーク900に接続するインタフェースである。この場合、計測中フロー記憶部101は、メモリ1002によって構成される。また、計測制御サーバ100の他の各機能ブロックは、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御するCPU1001によって構成される。
また、計測エージェント200は、CPU2001、メモリ2002、および、ネットワークインタフェース2005を含むコンピュータ装置によって構成可能である。メモリ2002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース2005は、通信ネットワーク900に接続するインタフェースである。この場合、計測エージェント200の各機能ブロックは、メモリ2002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御するCPU2001によって構成される。
なお、通信品質計測システム1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
次に、計測制御サーバ100の各機能ブロックの詳細について説明する。
計測中フロー記憶部101は、通信ネットワーク900において通信品質を計測中のフローに関する情報を記憶する。以降、計測中のフローに関する情報を、計測中フロー情報とも記載する。例えば、計測中フロー情報は、計測中のフローの送信元を特定する送信元情報および送信先を特定する送信先情報を含む。また、計測中フロー情報は、そのフローが送信元から送信先まで経由する経路を表す経路情報を含んでいてもよい。また、計測中フロー情報は、そのフローにおける計測負荷に関する情報を含んでいてもよい。ここで、計測負荷とは、通信品質の計測により係る負荷を意味する。
計測要求取得部102は、通信ネットワーク900において任意のフローに対して発生する通信品質の計測要求を表す情報を取得する。計測要求を表す情報は、計測要求の対象となるフローを表す情報を含む。以降、あるフローに対する計測要求を表す情報を、計測要求情報とも記載する。
例えば、計測要求は、任意のフローにおける通信品質の劣化の兆候に応じて発生する。この場合、計測要求情報は、任意のフローにおける通信品質の劣化の兆候を認識したユーザによって、入力装置1004を介して計測要求取得部102に入力されてもよい。また、計測要求情報は、通信ネットワーク900に接続された任意の装置(図示せず)によって、任意のフローに対する通信品質の劣化の兆候が検知されたときに、該装置から計測要求取得部102に対して送信されてもよい。
高負荷経路特定部103は、計測要求の対象となるフローが経由する経路のうち高負荷条件を満たす経路を、計測中フロー記憶部101を参照することにより特定する。高負荷条件とは、計測負荷が高いことを表すよう定められた条件である。例えば、高負荷条件は、計測負荷が最も高いことであってもよい。あるいは、高負荷条件は、計測負荷が閾値以上であることであってもよい。例えば、高負荷経路特定部103は、計測中フロー記憶部101を参照することにより、計測中のフローが経由する各経路における計測負荷を求める。例えば、各経路における計測負荷は、その経路を経由する計測中のフローの本数で表されてもよい。また、計測中フロー情報にそのフローにおける計測負荷を表す情報が含まれる場合、各経路における計測負荷は、その経路を経由する計測中のフローにおける計測負荷の合計で表されていてもよい。
ここで、高負荷経路特定部103が、上述した高負荷条件を満たす経路を特定するには、計測要求の対象となるフローおよび計測中のフローの経路情報が必要である。例えば、高負荷経路特定部103は、計測要求の対象となるフローまたは計測中のフローの経路情報を、経路を調査する公知の手法を用いて必要に応じて取得してもよい。そのような公知の手法としては、例えば、tracerouteコマンドが挙げられる。この場合、高負荷経路特定部103は、該当するフローの送信元に配置された計測エージェント200に対して、tracerouteコマンド等により送信先までの経路情報を取得するよう通知してもよい。
また、例えば、高負荷経路特定部103は、計測要求の対象となるフローまたは計測中のフローの経路情報を、経路情報データベース(図示せず)から取得してもよい。これは通信ネットワーク900における各フローについてその経路情報を記憶した経路情報データベースが用意されていることを前提としている。また、この場合、高負荷経路特定部103は、経路情報データベースに記憶されていないフローの経路情報を、前述の経路を調査する公知の手法により取得し、取得した経路情報を、経路情報データベースに蓄積するようにしてもよい。
計測制御部104は、計測要求の対象となるフローに対して通信品質の計測を開始した場合に、高負荷条件を満たす経路において予測される計測負荷を求める。そして、計測制御部104は、予測した計測負荷に基づいて、通信ネットワーク900において当該フローの通信品質を計測するよう、計測エージェント200を制御する。
例えば、計測制御部104は、当該フローに対する計測要求に基づき設定される計測条件を用いて、高負荷条件を満たす経路において予測される計測負荷を求める。そして、計測制御部104は、予測した計測負荷が許容負荷を超えなくなるまで待機してから、当該フローの通信品質の計測を開始するよう、計測エージェント200を制御してもよい。なお、計測条件とは、例えば、計測用パケットの送信間隔や、送信回数、利用帯域、または、タイムアウト時間等であってもよいが、これらに限られない。
また、例えば、計測制御部104は、予測される計測負荷が許容負荷を超えないよう設定した計測条件を用いて、当該フローの通信品質の計測を開始するよう、計測エージェント200を制御してもよい。このとき、計測制御部104は、計測エージェント200の制御を開始する前に、計測要求の対象となるフローの経路上の全てのリンクや中継機において、計測用の帯域資源が利用可能であるかを調査してもよい。この場合、計測制御部104は、調査結果と、許容負荷とに基づいて、計測条件を設定してもよい。
ここで、計測制御部104による制御の対象となる計測エージェント200は、通信ネットワーク900上に分散配置された計測エージェント200のうち、計測要求の対象となるフローの通信品質を計測可能な計測エージェント200である。
例えば、計測制御部104は、計測要求情報に基づいて、計測要求の対象となるフローの送信元を特定する。そして、計測制御部104は、送信元に配置された計測エージェント200を制御の対象とすればよい。
また、計測制御部104は、計測エージェント200において該当するフローの通信品質の計測が終了すると、当該計測エージェント200から計測結果を表す情報を受信して出力する。以下、計測結果を表す情報を、計測結果情報とも記載する。計測結果情報は、計測したフローを表す情報を含む。また、計測結果情報は、計測値に基づき算出された通信品質を表す情報を含む。なお、通信品質を表す情報は、計測エージェント200から受信された計測値に基づき計測制御部104によって算出されてもよい。あるいは、通信品質を表す情報は、計測エージェント200によって算出され、計測制御部104に対して送信されてもよい。計測結果情報の出力先は、例えば、出力装置1003であってもよい。また、出力先は、例えば、メモリ1002や可搬型記憶媒体であってもよい。また、出力先は、例えば、ネットワークを介して接続された他の装置であってもよい。
また、計測制御部104は、計測エージェント200による計測状況に応じて、計測中フロー記憶部101を更新する。具体的には、計測制御部104は、計測エージェント200の制御により通信品質の計測が開始されたフローに関する計測中フロー情報を、計測中フロー記憶部101に記憶する。また、計測制御部104は、計測エージェント200から計測結果を受信したフローに関する計測中フロー情報を、計測中フロー記憶部101から削除する。
次に、計測エージェント200の機能ブロックの詳細について説明する。
通信品質計測部201は、計測制御サーバ100の制御に基づいて、指定されたフローの通信品質を計測する。また、通信品質計測部201は、指定されたフローの通信品質の計測を終了すると、計測結果情報を、計測制御サーバ100に対して送信する。なお、前述のように、通信品質計測部201は、計測結果情報に、当該フローを表す情報と、計測値とを含めて送信してもよい。あるいは、前述のように、通信品質計測部201は、計測結果情報に、当該フローを表す情報と、計測値に基づき算出した通信品質を表す情報とを含めて送信してもよい。
以上のように構成された通信品質計測システム1の動作について、図3を参照して説明する。なお、図3において、左図は、計測制御サーバ100の動作を示し、右図は、計測エージェント200の動作を示す。
まず、計測制御サーバ100の計測要求取得部102は、通信ネットワーク900において発生した計測要求を表す計測要求情報を取得する(ステップA11)。
前述のように、計測要求情報は、入力装置1004を介して入力されてもよいし、通信ネットワーク900に接続された装置から送信されてもよい。
次に、高負荷経路特定部103は、計測要求の対象となるフローが経由する経路のうち高負荷条件を満たす経路を、計測中フロー記憶部101を参照することにより特定する(ステップA12)。
次に、計測制御部104は、計測要求の対象となるフローに対して通信品質の計測を開始した場合に、高負荷条件を満たす経路における計測負荷を予測する。そして、計測制御部104は、予測した計測負荷に基づいて、計測要求の対象となるフローの通信品質を計測するよう、計測エージェント200を制御する(ステップA13)。
前述のように、計測制御部104は、予測される計測負荷が許容範囲を超えなくなるまで待機してから、計測を開始するよう計測エージェント200に通知してもよい。あるいは、計測制御部104は、予測される計測負荷が許容範囲を超えないよう計測条件を設定した上で、計測を開始するよう計測エージェント200に通知してもよい。
なお、前述のように、計測の開始を通知する先の計測エージェント200は、計測要求の対象となるフローの送信元に配置された計測エージェント200であってもよい。
次に、計測制御部104は、計測エージェント200により当該フローの通信品質の計測が開始されたことを表すよう、計測中フロー記憶部101における当該フローに関する情報を更新する(ステップA14)。
次に、計測エージェント200の通信品質計測部201は、通信品質の計測の開始を通知されると、該当するフローに対する通信品質の計測を開始する(ステップB11)。
次に、通信品質計測部201は、当該フローに対する通信品質の計測を終了すると、計測結果情報を計測制御サーバ100に送信する(ステップB12)。
次に、計測制御サーバ100の計測制御部104は、計測エージェント200から、計測結果情報を受信して出力する(ステップA15)。
次に、計測制御部104は、計測エージェント200により当該フローの通信品質の計測が終了したことを表すよう、計測中フロー記憶部101における当該フローに関する情報を更新する(ステップA16)。
以上で、通信品質計測システム1は、動作を終了する。
次に、第1の実施の形態の効果について述べる。
第1の実施の形態としての通信品質計測システムは、計測要求が動的に発生する環境において、計測による負荷の増大を軽減することができる。
その理由について説明する。本実施の形態では、計測中フロー記憶部が、通信ネットワークにおいて通信品質を計測中のフローに関する情報を記憶している。そして、計測要求取得部が、通信ネットワークにおいて発生する通信品質の計測要求を表す情報を取得する。すると、高負荷経路特定部が、計測要求の対象となるフローが経由する経路のうち高負荷条件を満たす経路を、計測中フロー記憶部を参照することにより特定する。そして、計測制御部が、計測要求の対象となるフローに対して通信品質の計測を開始した場合の、高負荷条件を満たす経路における計測負荷を予測する。そして、予測した計測負荷に基づいて、計測制御部が、当該フローの通信品質を計測するよう計測エージェントを制御する。ここで、計測エージェントは、通信ネットワーク上に分散配置されている。そのうち計測制御部による制御の対象となる計測エージェントは、当該フローの通信品質を計測可能な通信品質計測部を有する計測エージェントである。そして、計測制御部が、計測エージェントによる計測状況に応じて、計測中フロー記憶部を更新するからである。
このように、本実施の形態は、通信品質の計測要求の対象となるフローをすべてあらかじめ把握しておく必要なく、計測要求の発生に応じて、その対象となるフローにおいて高負荷条件を満たす経路の計測負荷が許容範囲を超えないよう計測エージェントを制御する。その結果、本実施の形態は、動的に発生する通信品質の計測要求に応じた計測処理によって任意の経路に計測負荷が集中することを、回避することができる。
なお、本実施の形態において、計測制御部は、制御の対象とする計測エージェントとして、計測要求の対象となるフローの送信元に配置された計測エージェントを適用するものとして説明した。ただし、計測エージェントが、計測要求の対象となるフローの送信元に配置されていない場合も考えられる。その場合、計測制御部は、計測要求の対象となるフローの送信元に対してネットワーク的に近接している(ホップ数が少ない、同一ネットワーク内などの)計測エージェントを制御の対象としてもよい。この場合、任意のフローの送信元となる位置に対して近接する計測エージェントが一意に定まることが前提である。
さらに、計測要求の対象となるフローの途上にも、計測エージェントが配置されている場合もある。その場合、計測制御部は、計測要求の対象となるフローの送信元に配置された(または送信元に近接する)計測エージェントに加えて、そのようなフローの途上の計測エージェントを含む複数の計測エージェントを制御の対象としてもよい。この場合、計測制御部は、対象となるフローを、途中の計測エージェントの位置で分割し、分割したフローそれぞれの計測結果に基づいて、対象となるフローの通信品質の計測結果を得るようにしてもよい。
あるいは、計測制御部は、複数の計測エージェントに向けて、計測要求の対象となるフローの通信品質を計測するよう制御する制御情報を送信してもよい。この場合、制御情報を受信した計測エージェントのうち、自装置により対象となるフローの通信品質を計測可能であると判断した計測エージェントが、制御の対象となってもよい。なお、この場合も、任意のフローに対して通信品質を計測可能な計測エージェントが一意に定まることが前提である。
(第2の実施の形態)
次に、第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、第2の実施の形態としての通信品質計測システム2の構成を図4に示す。図4において、通信品質計測システム2は、計測制御サーバ120と、計測エージェント220とを含む。計測制御サーバ120は、計測中フロー記憶部121と、計測要求取得部122と、高負荷経路特定部123と、計測制御部124と、計測要求記憶部125と、計測結果記憶部126とを有する。また、計測エージェント220は、第1の実施の形態における計測エージェント200と同一の構成に加えて、さらに、計測要求検出部222と、計測要求送信部223とを有する。
なお、通信品質計測システム2およびその各機能ブロックは、図2を参照して説明した第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、計測要求記憶部125および計測結果記憶部126は、メモリ1002によって構成される。また、計測要求検出部222および計測要求送信部223は、メモリ2002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御するCPU2001によって構成される。ただし、通信品質計測システム2およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
また、本実施の形態では、例えば、図5に示すような構成の通信ネットワーク900を例に挙げて説明する。図5において、Rの文字を囲む円は、中継機を表し、Eの文字を囲む矩形は、計測エージェント220を含むサーバを表している。中継機および計測エージェント220には、図示のようなIP(Internet Protocol)アドレスが割り当てられているものとする。すなわち、16個のサーバには、192.168.100.1〜192.168.100.16のIPアドレスがそれぞれ割り当てられている。また、上段の4つの中継機には、192.168.1.1〜192.168.1.4のIPアドレスがそれぞれ割り当てられている。また、上から2段目の8つの中継機には、192.168.10.1〜192.168.10.8のIPアドレスがそれぞれ割り当てられている。また、上から3段目の8つの中継機には、192.168.20.1〜192.168.20.8のIPアドレスがそれぞれ割り当てられている。
次に、計測制御サーバ120の各機能ブロックについて説明する。
計測要求記憶部125は、計測要求情報を記憶する。計測要求情報は、計測要求の対象となるフローを表す情報を含む。フローを表す情報は、フローの送信元を表す送信元情報と、フローの送信先を表す送信先情報とからなっていてもよい。また、計測要求情報は、そのフローにおいて用いられている通信プロトコルを表す情報を含んでいてもよい。
ここで、計測要求記憶部125に記憶される情報の一例を、図6に示す。図6において、各行は、1つの計測要求情報を表している。この例では、計測要求情報は、送信元情報として送信元IPアドレスおよび送信元ポートと、送信先情報として送信先IPアドレスおよび送信先ポートとを含んでいる。さらに、計測要求情報は、通信プロトコルを表す情報を含んでいる。
なお、計測要求記憶部125に記憶される情報の内容や形式は、図6に示した例に限定されない。例えば、計測要求情報は、計測要求の対象となるフローが経由するネットワークインタフェースのIPアドレスまたはMACアドレスの配列を含んでいてもよい。また、計測要求情報は、計測要求の対象となるフローが属するVLANID(Virtual Local Area Network Identifier)を含んでいてもよい。また、計測要求情報は、当該計測要求が発生した時間や、そのフローに対する計測要求の発生回数などを表す情報をさらに含んでいてもよい。その他、計測要求情報は、計測要求情報の送信元を表す情報をさらに含んでいてもよい。ただし、本実施の形態では、計測要求情報の送信元は、計測要求の対象となるフローの送信元に配置された計測エージェント220となるため、送信元情報と同一である。
計測中フロー記憶部121は、計測中フロー情報を記憶する。計測中フロー情報は、計測中のフローを表す情報と、そのフローにおける計測負荷を表す情報とを含む。前述のように、フローを表す情報は、フローの送信元を表す送信元情報と、フローの送信先を表す送信先情報とからなっていてもよい。また、計測中フロー情報は、そのフローにおいて用いられている通信プロトコルを表す情報を含んでいてもよい。また、計測中フロー情報は、そのフローの経路情報を含んでいてもよい。
ここで、計測中フロー記憶部121に記憶される情報の一例を図7に示す。図7において、各行は、1つの計測中フロー情報を表し、送信元情報および送信先情報と、通信プロトコルを表す情報と、計測負荷を表す情報とを含んでいる。ここでは、送信元情報は、フローの送信元のIPアドレスおよびポートによって表される。また、送信先情報は、フローの送信先のIPアドレスおよびポートによって表される。また、計測負荷は、該当する計測の利用帯域によって表されている。
また、計測中フロー記憶部121は、さらに、計測中のフローが経由する経路毎に、計測負荷を表す情報を記憶してもよい。以降、経路毎の計測負荷を表す情報を、経路毎計測負荷情報とも記載する。経路毎計測負荷情報は、その経路を特定する情報と、その経路を含む1つ以上のフローのそれぞれにおける計測負荷の合計を表す情報とを含む。
ここで、計測中フロー記憶部121に記憶される経路毎計測負荷情報の一例を図8に示す。図8において、各行は、1つの経路毎計測負荷情報を表し、経路を特定する情報である送信元情報および送信先情報と、計測負荷を表す情報とを含む。この例では、送信元情報および送信先情報は、その経路の始点および終点となるIPアドレスによって表される。また、計測負荷は、この経路を含む1つ以上のフローの利用帯域の合計によって表されている。
計測結果記憶部126は、計測が完了したフローの計測結果を表す情報を記憶する。以降、計測が完了したフローの計測結果を表す情報を、計測結果情報とも記載する。計測結果情報は、計測が完了したフローを表す情報と、通信品質を表す情報とを含む。ここで、前述のように、フローを表す情報は、フローの送信元を表す送信元情報と、送信先を表す送信先情報とからなっていてもよい。また、計測結果情報は、計測において用いられていた通信プロトコルを表す情報を含んでいてもよい。
ここで、計測結果記憶部126に記憶される情報の一例を、図9に示す。図9において、各行は、1つの計測結果情報を表し、送信元情報および送信先情報と、通信プロトコルと、パケット受信率とを含む。この例では、送信元情報は、フローの送信元のIPアドレスおよびポートによって表される。また、送信先情報は、フローの送信先のIPアドレスおよびポートによって表される。また、パケット受信率は、このフローの通信品質を表している。
計測要求取得部122は、第1の実施の形態における計測要求取得部102と略同様に構成されるが、次の点が異なる。すなわち、計測要求取得部122は、計測要求情報を、計測エージェント220から取得する。また、計測要求取得部122は、取得した計測要求情報を、計測要求記憶部125に記憶する。
高負荷経路特定部123は、第1の実施の形態における高負荷経路特定部103と略同様に構成されるが、次の点が異なる。すなわち、高負荷経路特定部123は、計測要求記憶部125から、計測要求情報を読み込み、そのフローの経路情報を特定する。経路情報を特定するため、高負荷経路特定部123は、フロー毎に経路情報を記憶した経路情報データベース(図示せず)を参照してもよい。あるいは、高負荷経路特定部123は、フローの送信元に配置された計測エージェント220に対して、そのフローの経路情報を調査するよう通知してもよい。この場合、経路情報の調査には、例えば、traceroute等の公知の技術を適用すればよい。
そして、高負荷経路特定部123は、計測中フロー記憶部121を参照することにより、計測要求の対象となるフローが経由する各経路について、計測負荷を求める。そして、計測要求の対象となるフローが経由する経路のうち、計測負荷が高負荷条件を満たすものを特定する。本実施の形態では、高負荷条件とは、計測負荷が最も高いことであるものとする。
ここで、計測中の各フローの経路情報が、計測中フロー記憶部121に記憶されているとする。この場合、高負荷経路特定部123は、各フローの経路情報と、各フローの計測負荷を表す情報とに基づいて、経路毎に計測負荷を求めればよい。また、各フローの経路情報が、計測中フロー記憶部121に記憶されていない場合もある。この場合、高負荷経路特定部123は、前述したような経路情報データベースを参照したり、フローの送信元に配置された計測エージェント220に対して経路情報の調査を通知したりして、計測中のフローの経路情報を取得すればよい。そして、高負荷経路特定部123は、取得した各フローの経路情報と、記憶されている各フローの計測負荷を表す情報とに基づいて、経路毎に計測負荷を求めればよい。
あるいは、前述のように、計測中フロー記憶部121が、経路毎計測負荷情報を記憶しているとする。この場合、高負荷経路特定部123は、該当するフローが経由する各経路について記憶された経路毎計測負荷情報を参照すればよい。
また、高負荷経路特定部123は、定められたタイミング毎に、計測要求記憶部125から計測要求情報を読み込んで、その計測要求の対象となるフローにおいて高負荷条件を満たす経路を特定する処理を実行するようにしてもよい。
計測制御部124は、第1の実施の形態における計測制御部104と略同様に構成されるが、次の点が異なる。すなわち、計測制御部124は、開始判断部1241を含む。開始判断部1241は、高負荷条件を満たす経路の現在の計測負荷に、計測要求の対象となるフローに対する通信品質の計測でかかる計測負荷を合計した値が、許容負荷を超えるか否かを判断する。なお、計測要求の対象となるフローに対する通信品質の計測でかかる計測負荷は、計測条件に応じて定まる。計測条件は、計測要求情報に含まれていてもよい。あるいは、計測条件は、事前に設定されていてもよい。あるいは、計測条件は、計測制御部124によって設定されてもよい。なお、前述のように、計測条件は、例えば、計測用パケットの送信間隔や、送信回数、利用帯域、または、タイムアウト時間等であってもよいが、これらに限られない。
ここで、許容負荷とは、計測負荷として許容される負荷の上限を表す。例えば、許容負荷としては、ネットワークの帯域や、計測中のフロー数等が適用可能であるが、これらに限られない。また、許容負荷は、あらかじめ定められていてもよい。また、許容負荷は、SNMP(Simple Network Management Protocol)などを用いてネットワーク上の各機器の通信量を取得することにより、実際の通信負荷に基づき計測制御部124によって動的に決定されてもよい。
また、計測制御部124は、開始判断部1241により許容負荷を超えないと判断された場合、計測要求の対象となるフローに対する通信品質の計測を開始するよう、該当する計測エージェント220に通知する。このとき、該当する計測エージェント220としては、この計測要求の送信元の計測エージェント220が適用される。
ここで、前述のように、本実施の形態では、計測要求の対象となるフローの送信元情報が、計測要求記憶部125に記憶されている。そこで、計測制御部124は、計測要求記憶部125に記憶された送信元情報に基づいて、計測要求の送信元の計測エージェント220を特定し、特定した計測エージェント220に、計測の開始を通知すればよい。
また、計測制御部124は、通信品質の計測開始を計測エージェント220に通知する際に、前述の計測条件を通知する。また、このとき、計測制御部124は、計測の開始を通知したフローに関する計測要求情報を、計測要求記憶部125から削除する。また、計測制御部124は、計測の開始を通知したフローに関する計測中フロー情報を、計測中フロー記憶部121に記憶する。
また、計測制御部124は、計測エージェント220から該当するフローの計測結果を表す計測結果情報を受信すると、該当するフローに関する計測中フロー情報を、計測中フロー記憶部121から削除する。また、計測制御部124は、受信した計測結果情報を、計測結果記憶部126に記憶する。
次に、計測エージェント220の各機能ブロックについて説明する。
通信品質計測部201は、第1の実施の形態と同様に構成される。
計測要求検出部222は、自装置が通信品質を計測可能なフローに対する計測要求を検出する。
例えば、計測要求は、任意のフローにおける通信品質の劣化の兆候を認識したユーザによって、そのフローの送信元に配置された計測エージェント220に対して行われる入力に基づき検出されてもよい。また、例えば、計測要求は、任意のフローにおける通信品質の劣化の兆候を検知したサーバから、該サーバに含まれる計測エージェント220に対して通知されることにより検出されてもよい。
例えば、図5に示したように、計測エージェント220が、通信ネットワーク900に含まれるサーバ上に実現されていることを想定する。この場合、サーバは、自身を送信元とするフローにおける通信品質の劣化の兆候を検出すると、そのフローに対する計測要求の発生を、自装置に含まれる計測エージェント220に対して通知してもよい。
計測要求送信部223は、計測要求検出部222によって検出された計測要求を表す計測要求情報を、計測制御サーバ120に送信する。
以上のように構成された通信品質計測システム2の動作について、図10〜図11を参照して説明する。
図10は、通信品質計測システム2が、計測要求情報を取得する動作を説明するフローチャートである。なお、図10において、左図は、計測制御サーバ120の動作を示し、右図は、計測エージェント220の動作を示す。
図10では、まず、計測エージェント220の計測要求検出部222は、計測要求を検出する(ステップB21)。
次に、計測要求送信部223は、検出された計測要求を表す計測要求情報を、計測制御サーバ120に対して送信する(ステップB22)。
次に、計測制御サーバ120の計測要求取得部122は、計測要求情報を受信する(ステップA21)。
次に、計測要求取得部122は、受信した計測要求情報を、計測要求記憶部125に記憶する(ステップA22)。
以上で、計測要求情報を取得する動作は終了する。
図11は、通信品質計測システム2が、計測要求に応じて計測を行う動作を説明するフローチャートである。なお、図11において、左図は、計測制御サーバ120の動作を示し、右図は、計測エージェント220の動作を示す。
図11では、まず、計測制御サーバ120の高負荷経路特定部123は、計測要求記憶部125に、計測要求情報が記憶されているか否かを判断する(ステップA31)。
ここで、計測要求情報が記憶されていない場合(ステップA31でNo)、高負荷経路特定部123は、所定時間待機してから(ステップA32)、ステップA31の動作を繰り返す。
一方、計測要求情報が記憶されている場合(ステップA31でYes)、高負荷経路特定部123は、記憶されている計測要求情報を1つ選択する(ステップA33)。なお、複数の計測要求情報が記憶されている場合、選択される情報は、先入れ先出しの原理や、優先度つきフロー選択など、特定のアルゴリズムに従って決定されてもよい。
次に、高負荷経路特定部123は、選択した計測要求情報に基づいて、そのフローが経由する経路を調査し、経路情報を取得する(ステップA34)。
前述のように、例えば、高負荷経路特定部123は、各フローの経路情報を記憶した経路情報データベースを参照することにより、該当するフローの経路情報を取得してもよい。あるいは、高負荷経路特定部123は、該当するフローの送信元に配置された計測エージェント220に対して経路の調査を指示することにより、該当するフローの経路情報を取得してもよい。
次に、高負荷経路特定部123は、計測中フロー記憶部121を参照することにより、計測要求の対象となるフローが経由する経路のうち最も計測負荷が高い経路を特定する(ステップA35)。
具体的には、高負荷経路特定部123は、計測中フロー記憶部121に記憶された計測中フロー情報に基づいて、計測要求の対象となるフローが経由する各経路における計測負荷を算出することにより、最も計測負荷が高い経路を特定してもよい。また、前述のように、計測中フロー記憶部121に、経路毎計測負荷情報が記憶されている場合、高負荷経路特定部123は、計測要求の対象となるフローが経由する各経路の経路毎計測負荷情報を参照することにより、最も計測負荷が高い経路を特定してもよい。
次に、開始判断部1241は、計測要求の対象となるフローに対して通信品質の計測を開始した場合に、最も計測負荷が高い経路における計測負荷を予測する。そして、開始判断部1241は、予測した計測負荷が、許容範囲を超えるか否かを判断する(ステップA36)。
なお、開始判断部1241は、計測要求の対象となるフローの利用帯域が変更できる場合、ステップA36において、低帯域での計測条件を設定して許容負荷を超えないと判断してもよい。
ここで、予測した計測負荷が許容範囲を超える場合、計測制御サーバ120は、所定時間待機してから(ステップA32)、ステップA31からの動作を繰り返す。なお、計測制御サーバ120は、ステップA31〜A32を省略して所定時間待機することなく、ステップA33からの動作を繰り返してもよい。
一方、予測した計測負荷が許容範囲を超えない場合について説明する。この場合、計測制御部124は、計測要求の対象となるフローに対する通信品質の計測を開始するよう、計測エージェント220に通知する(ステップA37)。
そして、計測制御部124は、計測要求記憶部125から、該当する計測要求情報を削除する(ステップA38)。
また、計測制御部124は、計測を開始したフローに関する計測中フロー情報を、計測中フロー記憶部121に記憶する(ステップS39)。
次に、計測を開始するよう通知を受けた計測エージェント220、ステップB11〜B12を第1の実施の形態と同様に実行する。すなわち、計測エージェント220の通信品質計測部201は、該当するフローに対する通信品質の計測を行い、計測結果情報を、計測制御サーバ120に送信する。
次に、計測制御部124は、受信した計測結果情報を、計測結果記憶部126に記憶する(ステップA40)。
次に、計測制御部124は、計測中フロー記憶部121から、計測が終了したフローに関する計測中フロー情報を削除する(ステップA41)。
そして、通信品質計測システム2は、所定時間待機後(ステップA32)、ステップA31からの動作を繰り返す。
以上で、通信品質計測システム2の動作の説明を終了する。
次に、通信品質計測システム2の動作を具体例で説明する。
この例では、図5に示した構成の通信ネットワーク900を想定する。また、通信品質として、パケットドロップ率を算出することを想定する。また、許容負荷としては、2万パケット毎秒が定められているものとする。また、この例では、例えば、各サーバは、TCP(Transmission Control Protocol)の再送検知や通信フローの大幅な遅延に基づいて、自装置を送信元とするフローにおける通信品質の劣化の兆候を検知する。そして、通信品質の劣化の兆候を検知したサーバは、内包する計測エージェント220に対して、該当するフローに対する計測要求を通知するものとする。このような計測要求の通知は、通信品質計測システム2において予測できないため、動的な発生であると言える。
この具体例では、まず、192.168.1.1から192.168.10.7へのリンクにおいて、1パーセントでパケットがドロップされる通信品質の劣化が発生したとする。そこで、このリンクを通るフローの送信元であるいくつかのサーバが、通信品質の劣化の兆候を検出する。そして、それらのサーバは、それぞれ、内包する計測エージェント220にこのフローに対する通信品質の計測要求を通知する。例えば、そのうち1つのサーバは、192.168.100.1のサーバであり、自装置から192.168.100.16のサーバへのフローに対する通信品質の計測要求を、自装置に内包される計測エージェント220に対して通知したとする。
そこで、まず、192.168.100.1のサーバに内包される計測エージェント220の計測要求検出部222は、計測要求を検出する(ステップB21)。
次に、計測要求送信部223は、192.168.100.1を送信元として192.168.100.16を送信先とするフローに対する計測要求情報を、計測制御サーバ120に送信する(ステップB22)。
同様に、他の異なる2つのサーバにおいてもあるフローの通信品質の劣化の兆候が検知され、内包される計測エージェント220が、計測要求を検出して計測要求情報を、計測制御サーバ120に送信したとする。
なお、これらの3つのフローに対する計測要求は、1秒以内に発生したとする。
そこで、計測制御サーバ120の計測要求取得部122は、3つのフローに対する計測要求情報を順次受信し(ステップA21)、受信に応じて、計測要求情報を計測要求記憶部125に記憶する(ステップA22)。これにより、計測要求記憶部125には、3つの計測要求情報が記憶されている。
次に、計測制御サーバ120の高負荷経路特定部123は、計測要求記憶部125に、3つの計測要求情報が記憶されていると判断する(ステップA31でYes)。なお、この例では、高負荷経路特定部123は、1秒毎に、計測要求記憶部125を参照するものとする。
次に、高負荷経路特定部123は、そのうち1つ目の計測要求情報を選択する(ステップA33)。ここでは、192.168.100.1から192.168.100.16へのフローに関する計測要求情報が選択されたとする。ここで選択された計測要求情報を、1つ目の計測要求情報と記載することにする。また、1つ目の計測要求情報において対象となるフローを、1つ目のフローとも記載する。
そこで、高負荷経路特定部123は、1つ目のフローの経路を調査して経路情報を取得する(ステップA34)。
ここでは、該当するフローの経路として、192.168.100.1→192.168.20.1→192.168.10.1→192.168.1.1→192.168.10.7→192.168.20.8→192.168.100.16を表す情報が取得されたものとする。
次に、高負荷経路特定部123は、1つ目のフローにおいて、最も計測負荷が高い経路を、計測中フロー記憶部121を参照することにより特定する(ステップA35)。ここでは、計測中のフローは無いため、1つ目のフローが経由する全ての経路において、計測負荷はゼロである。
次に、開始判断部1241は、1つ目のフローに対する計測を開始するか否かを判断する。ここでは、計測条件として、「10万パケットを10秒で送信」という条件が設定されていることを想定する。ここで、前述したように、この時点では、1つ目のフローが経由する全ての経路において計測負荷がゼロである。そのため、仮に1つ目のフローに対する計測を開始すると、1つ目のフローが経由するどの経路においても、計測負荷は1万パケット毎秒となることが予測される。したがって、予測される計測負荷は、許容負荷の2万パケット毎秒を超えない(ステップA36でNo)。
そこで、開始判断部1241は、1つ目のフローに対する計測を開始すると判断する。したがって、計測制御部124は、1つ目のフローの計測を、10万パケットを10秒で送信するという計測条件で開始するよう、計測エージェント220に対して通知する(ステップA37)。通知先の計測エージェント220は、1つ目のフローの送信元である192.168.100.1のサーバに含まれる計測エージェント220である。
通知を受けた計測エージェント220は、1つ目のフローに対する計測を開始する(ステップB11)。
また、計測制御部124は、1つ目の計測要求情報を、計測要求記憶部125から削除し、1つ目のフローに関する計測中フロー情報を、計測中フロー記憶部121に記憶する。また、計測制御部124は、1つ目のフローが経由する各経路について、その計測負荷が1万パケット毎秒となることを表す経路毎計測負荷情報を、計測中フロー記憶部121に記憶する(ステップA38、A39)。
そして、高負荷経路特定部123は、1秒待機した後(ステップA32)、計測要求記憶部125に記憶されている残り2つの計測要求情報のうち1つを選択する(ステップA33)。選択された計測要求情報を、2つ目の計測要求情報と記載することにする。また、2つ目の計測要求情報において対象となるフローを、2つ目のフローとも記載する。
次に、高負荷経路特定部123は、2つ目のフローの経路情報を取得し、2つ目のフローにおいて、最も計測負荷が高い場所を、計測中フロー記憶部121を参照することにより特定する(ステップA34、A35)。ここでは、最も計測負荷が高い場所として、「192.168.1.1から192.168.10.7へ向かうリンク」が特定されたとする。ここで、このリンクは、1つ目のフローにも含まれる。そのため、計測中フロー記憶部121には、このリンクにおける計測負荷として、1つ目のフローに対する計測負荷である1万パケット毎秒が記憶されている。
次に、開始判断部1241は、最も計測負荷が高い「192.168.1.1から192.168.10.7へ向かうリンク」において、2つ目のフローに対する計測を開始した場合の計測負荷を予測する。ここでは、計測条件として、1つ目のフローの計測と同様、「10万パケットを10秒で送信」という条件が設定されていることを想定する。
仮に2つ目のフローに対する計測を開始すると、このリンクの計測負荷は、合計で2万パケット毎秒となることが予測される。したがって、予測される計測負荷は、許容範囲の2万パケット毎秒を超えない(ステップA36でNo)。
そこで、開始判断部1241は、2つ目のフローに対する計測を開始すると判断する。したがって、計測制御部124は、2つ目の計測要求の対象となるフローの計測を、10万パケットを10秒で送信する計測条件で開始するよう、計測エージェント220に対して通知する(ステップA37)。通知先の計測エージェント220は、2つ目のフローの送信元のサーバに含まれる計測エージェント220である。
通知を受けた計測エージェント220は、2つ目のフローに対する計測を開始する(ステップB11)。
また、計測制御部124は、2つ目の計測要求情報を、計測要求記憶部125から削除し、2つ目のフローに関する計測中フロー情報を、計測中フロー記憶部121に記憶する。また、計測制御部124は、2つ目のフローが経由する各経路について、その計測負荷に1万パケット毎秒を加算した経路毎計測負荷情報を、計測中フロー記憶部121に記憶する。これにより、計測中フロー記憶部121には、「192.168.1.1から192.168.10.7へ向かうリンク」における計測負荷として、2万パケット毎秒が記憶される(ステップA38、A39)。
そして、高負荷経路特定部123は、1秒待機した後(ステップA32)、計測要求記憶部125に記憶されている残り1つの計測要求情報を選択する(ステップA33)。選択された計測要求情報を、3つ目の計測要求情報と記載することにする。また、3つ目の計測要求情報において対象となるフローを、3つ目のフローとも記載する。
次に、高負荷経路特定部123は、3つ目のフローの経路情報を取得し、3つ目のフローにおいて、最も計測負荷が高い場所を、計測中フロー記憶部121を参照することにより特定する(ステップA34、A35)。ここでは、最も計測負荷が高い場所として、「192.168.1.1から192.168.10.7へ向かうリンク」が特定されたとする。ここで、このリンクは、1つ目および2つ目のフローにも含まれる。そのため、計測中フロー記憶部121には、このリンクにおける計測負荷として、1つ目および2つ目のフローそれぞれに対する計測負荷の合計である2万パケット毎秒が記憶されている。
次に、開始判断部1241は、最も計測負荷が高い「192.168.1.1から192.168.10.7へ向かうリンク」において、3つ目のフローに対する計測を開始した場合の計測負荷を予測する。ここでは、計測条件として、1つ目および2つ目のフローの計測と同様、「10万パケットを10秒で送信」という条件が設定されていることを想定する。
仮に3つ目のフローに対する計測を開始すると、このリンクの計測負荷は3万パケット毎秒となることが予測される。つまり、予測される計測負荷は、許容範囲の2万パケット毎秒を超えている(ステップA36でYes)。
そこで、開始判断部1241は、3つ目のフローに対する計測を、この時点では開始しないと判断する。
そして、高負荷経路特定部123は、その後、1秒間隔で、計測要求記憶部125に記憶されている残りの計測要求情報(すなわち、3つ目の計測要求情報)を選択し、ステップA31〜A36の処理を行う。そして、開始判断部1241は、1つ目のフローの計測開始から9秒後までの処理においては、同様にして計測を開始しないと判断する(ステップA36でYes)。
次に、1つ目のフローの計測開始から10秒後、1つ目のフローの計測が終了し、計測エージェント220は、1つ目のフローの計測結果情報を、計測制御サーバ120に送信する(ステップB12)。
次に、計測制御サーバ120の計測制御部124は、1つ目のフローの計測結果情報を、計測結果記憶部126に記憶する(ステップA40)。例えば、計測結果情報は、「送信100000パケット中、99900パケット受信」等の通信品質を表す情報を含む。
そして、計測制御部124は、1つ目のフローに関する計測中フロー情報を、計測中フロー記憶部121から削除する。また、計測制御部124は、1つ目のフローが経由する各経路について、その計測負荷から1万パケット毎秒を減算した経路毎計測負荷情報を、計測中フロー記憶部121に記憶する。これにより、計測中フロー記憶部121には、「192.168.1.1から192.168.10.7へ向かうリンク」における計測負荷として、1万パケット毎秒が記憶される(ステップA41)。
そして、高負荷経路特定部123は、再び、計測要求記憶部125に記憶されている残りの計測要求情報(すなわち、3つ目の計測要求情報)を選択し、ステップA31〜A36の処理を行う。ここでは、3つ目のフローの最も計測負荷が高い場所である「192.168.1.1から192.168.10.7へ向かうリンク」における計測負荷は、1つ目のフローの計測が終了したため、1万パケット毎秒となっている。
仮に3つ目のフローに対する計測を開始すると、このリンクの計測負荷は2万パケット毎秒となることが予測され、許容範囲の2万パケット毎秒を超えない(ステップA36でNo)。
そこで、開始判断部1241は、3つ目のフローに対する計測を開始すると判断する。したがって、計測制御部124は、3つ目の計測要求の対象となるフローの計測を、10万パケットを10秒で送信する計測条件で開始するよう、計測エージェント220に対して通知する(ステップA37)。通知先の計測エージェント220は、3つ目のフローの送信元のサーバに含まれる計測エージェント220である。
通知を受けた計測エージェント220は、3つ目のフローに対する計測を開始する(ステップB11)。
また、計測制御部124は、3つ目の計測要求情報を、計測要求記憶部125から削除し、3つ目のフローに関する計測中フロー情報を、計測中フロー記憶部121に記憶する。また、計測制御部124は、3つ目のフローが経由する各経路について、その計測負荷に1万パケット毎秒を加算した経路毎計測負荷情報を、計測中フロー記憶部121に記憶する(ステップA38、A39)。
そして、高負荷経路特定部123は、その後1秒間隔で、計測要求記憶部125に記憶されている情報を確認し、計測要求情報は記憶されていないと判断する。
次に、1つ目のフローの計測開始から11秒後、2つ目のフローの計測が終了し、計測エージェント220は、2つ目のフローの計測結果情報を、計測制御サーバ120に送信する(ステップB12)。
次に、計測制御サーバ120の計測制御部124は、2つ目のフローの計測結果情報を、計測結果記憶部126に記憶する(ステップA40)。
そして、計測制御部124は、2つ目のフローに関する計測中フロー情報を、計測中フロー記憶部121から削除する。また、計測制御部124は、2つ目のフローが経由する各経路について、その計測負荷から1万パケット毎秒を減算した経路毎計測負荷情報を、計測中フロー記憶部121に記憶する(ステップA41)。
次に、1つ目のフローの計測開始から20秒後、3つ目のフローの計測が終了し、計測エージェント220は、3つ目のフローの計測結果情報を、計測制御サーバ120に送信する(ステップB12)。
次に、計測制御サーバ120の計測制御部124は、3つ目のフローの計測結果情報を、計測結果記憶部126に記憶する(ステップA40)。
そして、計測制御部124は、3つ目のフローに関する計測中フロー情報を、計測中フロー記憶部121から削除する。また、計測制御部124は、3つ目のフローが経由する各経路について、その計測負荷から1万パケット毎秒を減算した経路毎計測負荷情報を、計測中フロー記憶部121に記憶する(ステップA41)。
このように、この具体例では、通信品質計測システム2は、動的に略同時に発生した3つの計測要求に応じて、計測負荷が許容負荷を超えないように制御しながら、順次計測を行っている。
次に、第2の実施の形態の効果について述べる。
本実施の形態としての通信品質計測システムは、計測要求が動的に発生する環境において、計測による負荷の増大を軽減しながらも、計測要求に応じた計測をより確実に実行することができる。
その理由について説明する。本実施の形態では、第1の実施の形態と同様の構成に加えて、計測制御部が、高負荷条件を満たす経路において予測される計測負荷が閾値を超えない場合に、フローの通信品質の計測を開始するよう計測エージェントを制御するからである。さらには、計測要求の対象となるフローにおいて計測に利用する帯域を変更可能な場合は、計測制御部が、高負荷条件を満たす経路において予測される計測負荷が閾値を超えないように計測条件を設定する。そして、計測制御部が、設定した計測条件で計測を開始するよう計測エージェントを制御するからである。
このように、本実施の形態は、計測中フロー記憶部から得られる現状の計測負荷を表す情報と計測条件とに基づいて、計測要求に応じた計測を開始した場合に予測される計測負荷が許容負荷を超えないように制御する。これにより、本実施の形態は、通信品質の計測による計測負荷が全体で許容負荷を超えないように制御しながらも、動的に発生する計測要求に応じた計測をより確実に実行することができる。
(第3の実施の形態)
次に、第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、第1または第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、第3の実施の形態としての通信品質計測システム3の構成を図12に示す。図12において、通信品質計測システム3は、計測制御サーバ130と、計測エージェント230とを含む。計測制御サーバ130は、第2の実施の形態における計測制御サーバ120に対して、計測制御部124に替えて計測制御部134を有する点が異なる。また、計測エージェント230は、第2の実施の形態における計測エージェント220に対して、通信品質計測部201に替えて通信品質計測部231を有する点が異なる。
なお、通信品質計測システム3およびその各機能ブロックは、図2を参照して説明した第1の実施の形態と同様のハードウェア要素によって構成可能である。ただし、通信品質計測システム3およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
まず、計測制御サーバ130の計測制御部134について説明する。
計測制御部134は、第2の実施の形態における計測制御部124と同様に構成されることに加えて、次のように構成される。すなわち、計測制御部134は、開始判断部1241に加えて、さらに、継続判断部1342を含む。継続判断部1342は、計測エージェント230によるフローの計測の途中結果を表す情報に基づいて、当該計測エージェント230による当該フローの計測を継続するか終了するかを判断する。そして、計測制御部134は、継続判断部1342の判断結果に基づいて、当該計測エージェント230を制御する。
具体的には、計測制御部134は、計測エージェント230から、計測中のフローについて計測の途中結果を表す情報を受信する。そして、継続判断部1342は、計測の途中結果を表す情報が通信品質の推定に充分であるか否かに基づいて、計測を継続するか終了するかを判断する。そして、計測制御部134は、計測を継続すると判断された場合は、当該計測エージェント230に対して、フローの計測を継続するよう通知する。また、計測制御部134は、計測を終了すると判断された場合は、フローの計測を終了するよう通知する。
ここで、計測の途中結果を表す情報は、例えば、その時点までに送信された計測用のパケット数や、その時点までの計測により得られた計測値や通信品質を表す情報を含んでいてもよい。その他、計測の途中結果を表す情報は、通信品質の推定に充分な計測結果が得られているか否かを判断するための任意の情報を含んでいればよい。
このような計測の継続または終了の判断は、通信品質の推定に充分な計測結果が得られるまで計測を継続させるために行われる。例えば、通信品質としてパケットロス率を求める場合を考える。この場合、パケットロス率が非常に小さなフローに対しては、大量の計測パケットを送信しなければ、統計的に有意な結果が得られない。一方で、計測の対象となるフローのパケットロス率を求めるために十分な計測結果が集まっていれば、事前に設定された計測条件に基づくパケットをすべて送信しなくても、精度のよい通信品質が推定可能である。
次に、計測エージェント230の通信品質計測部231について説明する。
通信品質計測部231は、第1および第2の実施の形態における通信品質計測部201と略同様に構成されるが、次の点が異なる。すなわち、通信品質計測部231は、計測制御サーバ130の制御の基にフローに対する計測を実行中に、計測の途中結果を表す情報を、計測制御サーバ130に対して送信する。
また、通信品質計測部231は、計測の途中結果を表す情報の送信に応じて、計測制御サーバ130から計測を継続するよう通知された場合は、当該フローの計測を継続する。また、通信品質計測部231は、計測の途中結果を表す情報の送信に応じて、計測制御サーバ130から計測を終了するよう通知された場合は、当該フローの計測を終了する。そして、通信品質計測部231は、計測を終了すると、計測結果を表す情報を、計測制御サーバ130に送信する。
なお、計測制御部134は、計測エージェント230に対して、フローの計測の開始を通知する際に、途中結果を表す情報を送信するタイミングを併せて通知してもよい。あるいは、計測エージェント230は、あらかじめ定められたタイミングに基づいて、途中結果を表す情報を送信してもよい。あるいは、計測エージェント230は、計測中に得られる途中結果を表す情報に基づいて、その途中結果を表す情報を送信するか否かを自律的に判断してもよい。
以上のように構成された通信品質計測システム3の動作について、図面を参照して説明する。なお、通信品質計測システム3が、計測要求情報を取得する動作については、図10を参照して説明した第2の実施の形態と同様であるため、本実施の形態における説明を省略する。
図13は、通信品質計測システム3が、計測要求に応じて計測を行う動作を説明するフローチャートである。なお、図13において、左図は、計測制御サーバ130の動作を示し、右図は、計測エージェント230の動作を示す。
図13において、計測制御サーバ130は、ステップA31〜A39まで、第2の実施の形態と同様に動作する。これにより、計測要求記憶部125から選択された計測要求情報が表すフローにおいて、最も計測負荷が高い場所で予測される計測負荷が許容負荷を超えていなければ、計測エージェント230に対して計測の開始が通知される。そして、計測エージェント230は、第1および第2の実施の形態と同様にステップB11を実行し、該当するフローに対する計測を開始する。
その後、通信品質計測システム3は、計測の途中結果に基づいて計測を継続するか終了するかを制御しながら、通信品質を計測する(ステップS500)。
ステップS500の処理の詳細を、図14を参照して説明する。
ここでは、まず、計測エージェント230の通信品質計測部231は、引き続き、該当するフローに対する通信品質を計測する(ステップB51)。
次に、通信品質計測部231は、計測の途中結果を表す情報の送信タイミングか否かを判断する(ステップB52)。
そのようなタイミングとしては、例えば、所定数の計測用のパケットを送信する毎のタイミングが定められていてもよい。なお、前述のように、途中結果を表す情報の送信タイミングは、あらかじめ定められていてもよいし、計測制御サーバ130から計測の開始の通知時に併せて通知されたタイミングであってもよい。あるいは、通信品質計測部231は、途中結果を表す情報の送信タイミングであるか否かを、計測の途中結果を表す情報に基づいて自律的に判断してもよい。
ここで、途中結果を表す情報の送信タイミングでない場合(ステップB52でNo)、通信品質計測部231は、ステップB51からの動作を繰り返し、計測を継続する。
一方、途中結果を表す情報の送信タイミングである場合(ステップB52でYes)、通信品質計測部231は、途中結果を表す情報を、計測制御サーバ130に対して送信する(ステップB53)。例えば、前述のように、通信品質としてパケットロス率を求める場合、通信品質計測部231は、今までに送信したパケット数と、これまでの計測により算出されるパケットロス率とを、途中結果を表す情報に含めて送信してもよい。
次に、計測制御サーバ130の継続判断部1342は、受信した途中結果を表す情報に基づいて、これまでの計測が通信品質の推定に充分であるか否かを判断する(ステップA51)。
例えば、前述のように、通信品質としてパケットロス率を求める場合、途中結果を表す情報に、その時点までのパケットロス率およびこれまでに送信された計測用のパケット数が含まれているとする。この場合、継続判断部1342は、これまでに送信した計測用のパケット数が閾値以上であるか否かに基づいて、これまでの計測が通信品質の推定に充分であるか否かを判断してもよい。また、この場合、そのような閾値は、その時点までのパケットロス率に基づき算出される値であってもよい。
ここで、これまでの計測が通信品質の推定に充分でないと判断された場合(ステップA51でNo)、計測制御部134は、計測エージェント230に対して、計測の継続を通知する(ステップA52)。そして、計測制御サーバ130は、計測エージェント230から次の途中結果を表す情報が送信されるのを待って、ステップA51からの動作を繰り返す。
一方、これまでの計測が通信品質の推定に充分であると判断された場合(ステップA51でYes)、計測制御部134は、計測エージェント230に対して、計測の終了を通知する(ステップA53)。そして、計測制御サーバ130の動作は、図13のステップA40に戻る。
また、計測エージェント230の通信品質計測部231は、計測制御サーバ130から計測の継続を通知されると(ステップB54でYes)、ステップB51からの動作を繰り返し、計測を継続する。
一方、計測制御サーバ130から計測の終了を通知されると(ステップB54でNo)、通信品質計測部231の動作は、図13のステップB12に戻る。すなわち、通信品質計測部231は、第1および第2の実施の形態と同様に、計測結果情報を、計測制御サーバ130に対して送信する。
次に、計測制御サーバ130の計測制御部134は、計測結果情報を受信すると、第2の実施の形態と同様に、ステップA40〜A41を実行する。すなわち、計測制御部134は、受信した計測結果情報を計測結果記憶部126に記憶し、計測中フロー情報を計測中フロー記憶部121から削除する。
以上で、通信品質計測システム3は、計測要求に応じて計測を行う動作を終了する。
次に、第3の実施の形態の効果について述べる。
第3の実施の形態としての通信品質計測システムは、計測要求が動的に発生する環境において、精度よく通信品質を計測しながらも、計測による負荷の増大をさらに軽減することができる。
その理由について説明する。本実施の形態は、第2の実施の形態と同様の構成に加えて、次の構成を備える。すなわち、計測エージェントが、フローの計測中に、計測の途中結果を表す情報を、計測制御サーバに対して送信する。そして、計測制御サーバの計測制御部が、計測の途中結果を表す情報に基づいて、計測エージェントによるフローの計測を継続または終了させるよう制御するからである。
このように、本実施の形態は、通信品質の計測に必要なパケット量が一意でない場合であっても、通信品質の推定に十分な計測が行われた時点で計測を終了する。その結果、本実施の形態は、計測用のパケットの総量を減らすことができ、計測による負荷の増大をよりいっそう軽減することになる。
なお、本実施の形態において、通信品質としてパケットロス率を求める例を中心に説明したが、通信品質は、これに限定されない。例えば、通信品質としては、遅延やジッタ等が考えられる。このような場合も、通信品質の推定に充分な計測量であるか否かを判断するために用いる途中結果を表す情報とその判断条件とを、通信品質の性質に応じて適切に設定することにより、本実施の形態は、同様の効果を奏する。
(第4の実施の形態)
次に、第4の実施の形態について図面を参照して詳細に説明する。本実施の形態では、第2の実施の形態において計測制御サーバによって管理した計測要求情報を、計測エージェントによって管理する構成について説明する。なお、本実施の形態の説明において参照する各図面において、第1〜第3の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、第4の実施の形態としての通信品質計測システム4の構成を図15に示す。図15において、通信品質計測システム4は、計測制御サーバ140と、計測エージェント240とを含む。計測制御サーバ140は、第2の実施の形態における計測制御サーバ120に対して、次の点が異なる。すなわち、計測要求取得部122に替えて計測要求取得部142と、高負荷経路特定部123に替えて高負荷経路特定部143とを有し、計測要求記憶部125を有していない点が異なる。また、計測エージェント240は、第2の実施の形態における計測エージェント220に対して、次の点が異なる。すなわち、通信品質計測部201に替えて通信品質計測部241と、計測要求検出部222に替えて計測要求検出部242と、計測要求送信部223に替えて計測要求送信部243とを有し、さらに、計測要求記憶部245を有する点が異なる。
なお、通信品質計測システム4およびその各機能ブロックは、図2を参照して説明した第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、計測要求記憶部245は、メモリ2002によって構成される。ただし、通信品質計測システム4およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
まず、計測エージェント240の各機能ブロックについて説明する。
計測要求記憶部245は、第2の実施の形態において計測制御サーバ120に配置された計測要求記憶部125と同様に構成される。ただし、第2の実施の形態では、計測制御サーバ120の計測要求記憶部125には、通信ネットワーク900における任意のフローに対する計測要求情報が記憶されていた。本実施の形態では、計測エージェント240の計測要求記憶部245には、自装置を含むサーバを送信元とするフローに対する計測要求情報が記憶される。
計測要求検出部242は、自装置が通信品質を計測可能なフローに対する計測要求を検出する。そして、計測要求検出部242は、検出した計測要求を表す計測要求情報を、計測要求記憶部245に記憶する。
計測要求送信部243は、所定のタイミング毎に、計測要求記憶部245から、計測要求情報を読み込み、計測制御サーバ140に送信する。このとき、計測要求送信部243は、計測要求情報が表すフローの経路情報を調査し、調査した経路情報を計測要求情報にさらに含めて送信してもよい。あるいは、計測要求検出部242が、計測要求を検出した時点で、その対象となるフローの経路情報を調査し、計測要求情報に含めて計測要求記憶部245に記憶しておいてもよい。
なお、計測要求の対象となるフローは、自装置を含むサーバを送信元とするフローである。そこで、経路情報を特定するため、計測要求検出部242または計測要求送信部243は、traceroute等の公知の技術を用いて、自身を送信元とするフローの経路を調査すればよい。
次に、計測制御サーバ140の各機能ブロックについて説明する。
計測要求取得部142は、計測エージェント240から、計測要求情報を受信する。そして、計測要求取得部142は、受信した計測要求情報を、高負荷経路特定部143に出力する。
高負荷経路特定部143は、第2の実施の形態における高負荷経路特定部123と略同様に構成されるが、次の点が異なる。第2の実施の形態では、高負荷経路特定部123は、計測要求の対象となるフローの経路情報を調査することにより取得していた。本実施の形態では、高負荷経路特定部143は、計測要求の対象となるフローの経路情報として、計測エージェント240から受信された計測要求情報に含まれる情報を適用する。
以上のように構成された通信品質計測システム4の動作について、図面を参照して説明する。
図16は、計測エージェント240が、計測要求情報を記憶する動作を説明するフローチャートである。
図16では、まず、計測要求検出部242は、計測要求を検出する(ステップB62)。
前述のように、計測要求は、当該計測エージェント240を含むサーバから通知されることにより検出されてもよい。あるいは、計測要求は、ユーザによる入力装置(図示せず)からの入力に基づき検出されてもよい。
次に、計測要求検出部242は、検出した計測要求を表す計測要求情報を、計測要求記憶部245に記憶する(ステップB63)。
以上で、計測エージェント240は、計測要求情報を記憶する動作を終了する。
図17は、通信品質計測システム4が、計測要求に応じて計測を行う動作を説明するフローチャートである。なお、図17において、左図は、計測制御サーバ140の動作を示し、右上図および右下図は、計測エージェント240の動作を示す。
図17では、まず、計測エージェント240の計測要求送信部243は、計測要求記憶部245に、計測要求情報が記憶されているか否かを判断する(ステップB71)。
ここで、計測要求情報が記憶されていない場合(ステップB71でNo)、計測エージェント240は、所定時間待機してから(ステップB72)、ステップB71の動作を繰り返す。
一方、計測要求情報が記憶されている場合(ステップB71でYes)、計測要求送信部243は、記憶されている計測要求情報を1つ選択する(ステップB73)。なお、前述のように、複数の計測要求情報が記憶されている場合、選択される情報は、先入れ先出しの原理や、優先度つきフロー選択など、特定のアルゴリズムに従って決定されてもよい。
次に、計測要求送信部243は、選択した計測要求情報に基づいて、そのフローが経由する経路を調査し、経路情報を取得する(ステップB74)。
前述のように、例えば、計測要求送信部243は、自装置を送信元とするフローの経路を調査するtraceroute等の公知の技術を用いて、経路情報を取得すればよい。
次に、計測要求送信部243は、経路情報を含めた計測要求情報を、計測制御サーバ140に送信する(ステップB75)。
そして、計測エージェント240は、所定時間待機後(ステップB72)、ステップB71からの動作を繰り返す。
次に、計測制御サーバ140の計測要求取得部142は、計測エージェント240から受信した計測要求情報を、高負荷経路特定部123に出力する(ステップA71)。
以降、計測制御サーバ140は、第2の実施の形態と同様に、ステップA35〜A41までを実行する。また、計測エージェント240は、第2の実施の形態と同様に、計測制御サーバ140の制御の基に、ステップB11〜B12を実行する。これにより、計測要求の対象となるフローにおいて計測負荷が最も高い場所で予測される計測負荷が許容負荷を超えない場合に、該当するフローに対する通信品質の計測が行われ、その結果が計測結果記憶部126に記憶される。
そして、計測制御サーバ140は、次の計測要求情報を計測エージェント240から受信するまで待機して、ステップA71からの動作を繰り返す。
以上で、通信品質計測システム4の動作の説明を終了する。
次に、第4の実施の形態の効果について述べる。
第4の実施の形態としての通信品質計測システムは、計測要求が動的に発生する環境において、計測による負荷の増大を軽減しながら、さらに、計測制御サーバにかかる負荷を軽減することができる。
その理由について説明する。本実施の形態は、第2の実施の形態と同様に構成されるが、次の点が異なる。すなわち、本実施の形態では、計測要求情報を記憶して所定のタイミング毎に読み込みその経路情報を調査する処理を、計測制御サーバの代わりに、通信ネットワークに分散配置された計測エージェントが行うからである。
このように、本実施の形態では、計測制御サーバは、全ての計測エージェントから送信される計測要求情報を一括して記憶するための記憶領域を必要としない。また、計測制御サーバは、一括して記憶した計測要求情報を所定のタイミング毎に読み込んで経路情報を調査する処理を行う必要がない。その結果、本実施の形態は、第2の実施の形態と同様の効果を奏しながらも、計測制御サーバにかかっていた負荷の一部を計測エージェントに分散させることができる。
(第5の実施の形態)
次に、実施の形態の最小構成の計測制御サーバ10について、図18を参照して説明する。図18において、計測制御サーバ10は、計測中フロー記憶部11と、計測要求取得部12と、高負荷経路特定部13と、計測制御部14とを含む。
ここで、計測制御サーバ10は、通信ネットワークにおいてフローの通信品質を計測する通信品質計測部を制御する装置である。制御対象となる1つ以上の通信品質計測部は、通信ネットワークに分散配置されているものとする。
計測中フロー記憶部11は、通信ネットワークにおいて通信品質を計測中のフローに関する情報を記憶する。
計測要求取得部12は、上述の通信ネットワークにおいて発生する任意のフローに対する通信品質の計測要求を表す情報を取得する。
高負荷経路特定部13は、計測要求の対象となるフローが経由する経路のうち計測負荷が高負荷条件を満たす経路を、計測中フロー記憶部11を参照することにより特定する。
計測制御部14は、計測要求の対象となるフローに対して通信品質の計測を開始した場合に、上述の高負荷条件を満たす経路における計測負荷を予測する。そして、計測制御部14は、予測される計測負荷に基づいて、当該フローの通信品質を計測するよう、上述の通信ネットワーク上に分散配置された通信品質計測部のうち当該フローの通信品質を計測可能な通信品質計測部を制御する。
また、計測制御部14は、通信品質計測部による計測状況に応じて、計測中フロー記憶部11を更新する。
以上のように構成された計測制御サーバ10の動作について図19を参照して説明する。
まず、計測要求取得部12は、通信ネットワークにおいて発生した計測要求を表す情報を取得する(ステップA1)。
次に、高負荷経路特定部13は、計測要求の対象となるフローが経由する経路のうち高負荷条件を満たす経路を、計測中フロー記憶部11を参照することにより特定する(ステップA2)。
次に、計測制御部14は、計測要求の対象となるフローに対して通信品質の計測を開始した場合に、高負荷条件を満たす経路における計測負荷を予測する。そして、計測制御部14は、予測した計測負荷に基づいて、計測要求の対象となるフローの通信品質を計測するよう、上述の通信品質計測部のうち当該フローの通信品質を計測可能な通信品質計測部を制御する(ステップA3)。
次に、計測制御部14は、通信品質計測部により当該フローの通信品質の計測が開始されたことを表すよう、計測中フロー記憶部11における当該フローに関する情報を更新する(ステップA4)。
次に、計測制御部14は、計測の開始を通知した先の通信品質計測部から、計測結果を表す情報を受信して出力する(ステップA5)。
次に、計測制御部14は、通信品質計測部により当該フローの通信品質の計測が終了したことを表すよう、計測中フロー記憶部11における当該フローに関する情報を更新する(ステップA6)。
以上で、計測制御サーバ10は、動作を終了する。
次に、第5の実施の形態の効果について述べる。
第5の実施の形態としての計測制御サーバは、計測要求が動的に発生する環境において、計測による負荷の増大を軽減することができる。
その理由について説明する。本実施の形態では、計測中フロー記憶部が、通信ネットワークにおいて通信品質を計測中のフローに関する情報を記憶している。そして、計測要求取得部が、通信ネットワークにおいて発生する通信品質の計測要求を表す情報を取得する。すると、高負荷経路特定部が、計測要求の対象となるフローが経由する経路のうち高負荷条件を満たす経路を、計測中フロー記憶部を参照することにより特定する。そして、計測制御部が、計測要求の対象となるフローに対して通信品質の計測を開始した場合の、高負荷条件を満たす経路における計測負荷を予測する。そして、予測した計測負荷に基づいて、計測制御部が、当該フローの通信品質を計測するよう通信品質計測部を制御するからである。ここで、通信品質計測部は、通信ネットワーク上に分散配置されている。そのうち計測制御部による制御の対象となる通信品質計測部は、当該フローの通信品質を計測可能な通信品質計測部である。そして、計測制御部が、通信品質計測部による計測状況に応じて、計測中フロー記憶部を更新するからである。
このように、本実施の形態としての計測制御サーバは、通信品質の計測要求の対象となるフローをすべてあらかじめ把握しておく必要がない。そして、本実施の形態としての計測制御サーバは、計測要求の発生に応じて、その対象となるフローにおいて高負荷条件を満たす経路の計測負荷が許容範囲を超えないよう通信品質計測部を制御する。その結果、本実施の形態は、動的に発生する通信品質の計測要求に応じた計測処理によって任意の経路に計測負荷が集中することを、回避することができる。
なお、上述した各実施の形態における各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した各実施の形態において、計測制御サーバの機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した各実施の形態において、各フローチャートを参照して説明した計測制御サーバおよび計測エージェントの動作を、コンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
通信ネットワークにおいて通信品質を計測中のフローに関する情報を記憶する計測中フロー記憶手段と、
前記通信ネットワークにおいて発生する任意のフローに対する通信品質の計測要求を表す情報を取得する計測要求取得手段と、
前記計測要求の対象となるフローが経由する経路のうち計測負荷が高負荷条件を満たす経路を、前記計測中フロー記憶手段を参照することにより特定する高負荷経路特定手段と、
前記計測要求の対象となるフローに対して通信品質の計測を開始した場合に前記高負荷条件を満たす経路において予測される計測負荷に基づいて、当該フローの通信品質を計測するよう、前記通信ネットワーク上に分散配置された通信品質計測手段のうち当該フローの通信品質を計測可能な前記通信品質計測手段を制御するとともに、前記通信品質計測手段による計測状況に応じて前記計測中フロー記憶手段を更新する計測制御手段と、
を有する計測制御サーバ。
(付記2)
前記計測制御手段は、前記高負荷条件を満たす経路において予測される計測負荷が許容負荷を超えない場合に、前記フローに対して通信品質の計測を開始するよう前記通信品質計測手段を制御することを特徴とする付記1に記載の計測制御サーバ。
(付記3)
前記計測制御手段は、前記高負荷条件を満たす経路において予測される計測負荷が許容負荷を超えないように前記フローに対する通信品質の計測条件を設定し、設定した計測条件で計測を開始するよう前記通信品質計測手段を制御することを特徴とする付記1に記載の計測制御サーバ。
(付記4)
前記計測制御手段は、前記通信品質計測手段による前記フローに対する通信品質の計測の途中結果を表す情報に基づいて、前記通信品質計測手段による当該計測を継続または終了させるよう制御することを特徴とする付記1から付記3のいずれか1つに記載の計測制御サーバ。
(付記5)
付記1から付記4のいずれか1つに記載の計測制御サーバと、
前記通信品質計測手段をそれぞれ有する1つ以上の計測エージェントと、
を備えた通信品質計測システム。
(付記6)
前記計測エージェントが、
自装置によって通信品質を計測可能なフローに対する前記計測要求を検出する計測要求検出手段と、
前記計測要求検出手段によって検出された計測要求を表す情報を前記計測制御サーバに送信する計測要求送信手段と、
をさらに有することを特徴とする付記5に記載の通信品質計測システム。
(付記7)
付記6に記載の通信品質計測システムにおける計測エージェント。
(付記8)
計測制御サーバが、
通信ネットワークにおいて発生する任意のフローに対する通信品質の計測要求を表す情報を取得し、
前記通信ネットワークにおいて通信品質を計測中のフローに関する情報を記憶している計測中フロー記憶手段を参照することにより、前記計測要求の対象となるフローが経由する経路のうち計測負荷が高負荷条件を満たす経路を特定し、
前記計測要求の対象となるフローに対して通信品質の計測を開始した場合に前記高負荷条件を満たす経路において予測される計測負荷に基づいて、当該フローの通信品質を計測するよう、前記通信ネットワーク上に分散配置された通信品質計測手段のうち当該フローの通信品質を計測可能な前記通信品質計測手段を制御し、
前記通信品質計測手段による計測状況に応じて前記計測中フロー記憶手段を更新する方法。
(付記9)
通信ネットワークにおいて発生する任意のフローに対する通信品質の計測要求を表す情報を取得し、
前記通信ネットワークにおいて通信品質を計測中のフローに関する情報を記憶している計測中フロー記憶手段を参照することにより、前記計測要求の対象となるフローが経由する経路のうち計測負荷が高負荷条件を満たす経路を特定し、
前記計測要求の対象となるフローに対して通信品質の計測を開始した場合に前記高負荷条件を満たす経路において予測される計測負荷に基づいて、当該フローの通信品質を計測するよう、前記通信ネットワーク上に分散配置された通信品質計測手段のうち当該フローの通信品質を計測可能な前記通信品質計測手段を制御するとともに、前記通信品質計測手段による計測状況に応じて前記計測中フロー記憶手段を更新する、
ことを計測制御サーバに実行させるプログラム。
(付記10)
計測エージェントが、
自装置によって通信品質を計測可能なフローに対する前記計測要求を検出し、
検出した計測要求を表す情報を、付記8に記載の方法を実行する計測制御サーバに送信し、
前記計測制御サーバによる制御の基に、前記計測要求の対象となるフローの通信品質を計測する方法。
(付記11)
自装置によって通信品質を計測可能なフローに対する前記計測要求を検出し、
検出された計測要求を表す情報を、付記9に記載のプログラムを実行する計測制御サーバに送信し、
前記計測制御サーバによる制御の基に、前記計測要求の対象となるフローの通信品質を計測する、
ことを計測エージェントに実行させるプログラム。
この出願は、2016年11月16日に出願された日本出願特願2016−223269を基礎とする優先権を主張し、その開示の全てをここに取り込む。