JP2018191218A - バースト検出プログラム、バースト検出方法、および情報処理装置 - Google Patents

バースト検出プログラム、バースト検出方法、および情報処理装置 Download PDF

Info

Publication number
JP2018191218A
JP2018191218A JP2017093931A JP2017093931A JP2018191218A JP 2018191218 A JP2018191218 A JP 2018191218A JP 2017093931 A JP2017093931 A JP 2017093931A JP 2017093931 A JP2017093931 A JP 2017093931A JP 2018191218 A JP2018191218 A JP 2018191218A
Authority
JP
Japan
Prior art keywords
burst
virtual switch
flow
time
virtual
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.)
Pending
Application number
JP2017093931A
Other languages
English (en)
Inventor
忠翰 李
Chunghan Lee
忠翰 李
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017093931A priority Critical patent/JP2018191218A/ja
Priority to US15/967,637 priority patent/US20180331930A1/en
Publication of JP2018191218A publication Critical patent/JP2018191218A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】バースト検出にかかる負荷を抑制すること。
【解決手段】情報処理装置101の制御部120は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過したら、特定のフローのセグメントが通過したことを示す通過情報を通知するように各仮想スイッチSW1〜SW3に設定する。制御部120は、各仮想スイッチSW1〜SW3から通過情報が通知されると、通過情報が通知された時間を記憶部130に記録する。制御部120は、記憶部130に記憶された通過情報が通知された時間に基づいて、各仮想スイッチSW1〜SW3でバーストが発生したか否かを判断する。
【選択図】図1

Description

本発明は、バースト検出プログラム、バースト検出方法、および情報処理装置に関する。
SDN(Software Defined Network)環境では、複数の仮想スイッチを多段(いわゆる、SDNパイプライン)にして仮想ネットワークが構築される。仮想スイッチの仮想ポートは、キューを追加可能であり、パケットをためることができる。一方で、サーバの計算リソースの負荷やSDNパイプラインの各仮想スイッチの処理負荷によって、仮想ポートにたまったパケットが一気にはき出されてバーストが発生することがある。
先行技術としては、通信装置内部において、ユーザパケットの通過経路に沿った遅延測定を常時行い、測定遅延値を遅延閾値と比較し、測定遅延値が遅延閾値を超過した際、対象ユーザパケット帯域を増加させ、ネットワーク管理者宛に警報を送付するものがある。
特開2013−197643号公報
しかしながら、従来技術では、仮想ネットワーク内で発生するバーストの検出に負荷がかかり、バースト検出に用いる計算リソースの増加を招くという問題がある。
一つの側面では、本発明は、バースト検出にかかる負荷を抑制することを目的とする。
1つの実施態様では、特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、バースト検出プログラムが提供される。
本発明の一側面によれば、バースト検出にかかる負荷を抑制することができる。
図1は、実施の形態にかかる情報処理装置101の一実施例を示す説明図である。 図2は、SDNパイプラインの一例を示す説明図である。 図3は、バーストの発生例を示す説明図である。 図4は、情報処理装置101のハードウェア構成例を示すブロック図である。 図5は、フローテーブル500の記憶内容の一例を示す説明図である。 図6は、監視テーブル600の記憶内容の一例を示す説明図である。 図7は、情報処理装置101の機能的構成例を示すブロック図である。 図8は、フロー決定部701の具体的な機能的構成例を示すブロック図である。 図9は、バースト監視部702の具体的な機能的構成例を示すブロック図である。 図10は、アクションメッセージAMのデータ構造例を示す説明図である。 図11は、イベントメッセージIMのデータ構造例を示す説明図である。 図12は、バースト検出部703の具体的な機能的構成例を示すブロック図である。 図13は、期間メッセージDMのデータ構造例を示す説明図である。 図14は、バーストメッセージBMのデータ構造例を示す説明図である。 図15は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過した時間間隔の一例を示す説明図(SW2の出力(out)でバースト)である。 図16は、情報処理装置101の動作例を示す説明図(SW2の出力(out)でバースト)である。 図17は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過した時間間隔の一例を示す説明図(SW2(in)でバースト)である。 図18は、情報処理装置101の動作例を示す説明図(SW2(in)でバースト)である。 図19は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過した時間間隔の一例を示す説明図(バーストなし)である。 図20は、情報処理装置101の動作例を示す説明図(バーストなし)である。 図21は、情報処理装置101のフロー決定処理手順の一例を示すフローチャート(その1)である。 図22は、情報処理装置101のフロー決定処理手順の一例を示すフローチャート(その2)である。 図23は、情報処理装置101のバースト監視処理手順の一例を示すフローチャートである。 図24は、情報処理装置101のバースト検出処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかるバースト検出プログラム、バースト検出方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる情報処理装置101の一実施例を示す説明図である。図1において、情報処理装置101は、自装置のハードウェア資源を仮想化して、複数の異なるOS(Operating System)を実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、CPU(Central Processing Unit)、メモリ、I/F(Interface)などである。
具体的には、例えば、情報処理装置101は、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってOSを稼働させることができる。仮想マシン(VM:Virtual Machine)は、物理的なコンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。
また、情報処理装置101は、複数の仮想スイッチを有し、仮想ネットワークを構築可能である。仮想ネットワークとは、ソフトウェアにより構築されるネットワークであり、物理マシンや仮想マシン同士を接続する。仮想スイッチは、通信を中継する機能を有する仮想的なネットワークスイッチであり、物理マシン(例えば、情報処理装置101)上の仮想マシン同士をつないだり、仮想マシンと外部のネットワークとをつないだりする。
仮想スイッチは、情報処理装置101のカーネルに存在し、仮想マシンやNamespaceのコンテナなどを接続するために利用される。仮想スイッチは、仮想ポートと仮想ブリッジとを含む。仮想ポートは、仮想マシンや他の仮想スイッチに接続され、仮想マシン/仮想スイッチ間や仮想スイッチ間の接続を担当するポートである。仮想ポートは、キューを追加可能であり、パケットをためることができる。
情報処理装置101において、仮想マシン(例えば、仮想マシン上で動作するアプリケーション)からカーネルにデータが入ってくるときは、「セグメント」と呼ばれるデータ単位で入ってくる。セグメントは、複数のパケットのかたまりである。例えば、セグメントのサイズを「4500[バイト]」とし、1パケットのサイズを「1500[バイト]」とすると、セグメントは3つ分のパケットに相当する。処理性能の向上を図るために、カーネルの内部(例えば、各仮想スイッチ)では、セグメント単位で処理が行われる。ただし、例えば、仮想スイッチ間や仮想スイッチ/NIC(Network Interface Card)間では、セグメントはパケットに分割されて送受信される。
また、ネットワーク110においては、「フロー」と呼ばれるデータのかたまりで送受信される。フローは、IP(Internet Protocol)アドレス、ポート番号、プロトコルなどの通信情報をベースにしたパケットのかたまりである。ネットワーク110は、情報処理装置101と他の情報処理装置102とを接続する有線または無線のネットワークである。ネットワーク110は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどを含む。情報処理装置101、他の情報処理装置102は、例えば、サーバであってもよく、また、PC(Personal Computer)などの汎用のコンピュータであってもよい。他の情報処理装置102は、情報処理装置101と同様の機能を有していてもよい。
ここで、情報処理装置101は、様々なネットワーク機能を、複数の仮想スイッチに割り当てて仮想ネットワークを実現する。具体的には、例えば、情報処理装置101は、複数の仮想スイッチを多段にして仮想ネットワークを構築する。複数の仮想スイッチを多段にしたものは、「SDNパイプライン」と呼ばれることがある。
図2は、SDNパイプラインの一例を示す説明図である。図2において、それぞれ異なるネットワーク機能を実現する仮想スイッチ201〜204によってSDNパイプラインが形成されている。仮想スイッチ201は、仮想ポート211,212を有し、セキュリティに関する処理を行う。
仮想スイッチ202は、仮想ポート213,214を有し、通信情報を修正する処理を行う。仮想スイッチ203は、仮想ポート215〜217を有し、トンネル化(トンネリング)に関する処理を行う。仮想スイッチ204は、仮想ポート218,219を有し、ヘッダにメタデータを追加する処理を行う。
ここで、物理マシン(例えば、情報処理装置101)の計算リソースの負荷や、SDNパイプラインの各仮想スイッチ(例えば、仮想スイッチ201〜204)の処理負荷によって、仮想ポートにたまったパケットが一気にはき出されてバーストが発生することがある。
バーストとは、単位時間当たりに、突発的にパケットの伝送量が多くなる現象である。例えば、仮想スイッチ201において、仮想ポート211に入力されるパケットとルールとのマッチングを行って、ルールにマッチしないパケットを排除する処理を行うとする。この場合、仮想ポート211に入力されるパケットの処理に負荷がかかり過ぎて、仮想ポート212のキューに多くのパケットがたまる。
この結果、仮想ポート212のキューにたまったパケットが一気にはき出されてバーストが発生することがある。ここで、図3を用いて、バーストの発生例について説明する。
図3は、バーストの発生例を示す説明図である。図3において、グラフ300は、パケット数(縦軸:Packet count)と、経過時間(Elapsed time)との対応関係を示しており、実環境で発生したバーストをあらわしている。バーストの時間間隔は、約200ミリ秒である。
例えば、符号301部分では、100マイクロ秒の中で最大で約90個のパケットが存在しており、バーストが発生している。具体的には、符号301部分では、パケット間の間隔が数マイクロ秒単位となっており、一気にパケットがはき出されてバーストが発生している。
バーストが発生すると、QoS(Quality of Service)を保証できなくなったり、パケットドロップが生じることがある。例えば、仮想スイッチ201でバーストが発生すると、後段の仮想スイッチ202の仮想ポート213のキューにパケットが入り切らなくてパケットドロップが生じることがある。また、バーストによりトラフィックパターンが変化して、QoSを保証できなくなることがある。
このため、仮想ネットワーク内で発生したバーストを検出して対処することは重要である。例えば、全ての仮想ポートに対して、キャプチャを実施してパケットの情報(タイムスタンプ)を収集し、各パケットのタイムスタンプの差分を計算してバーストを検出することが考えられる。
ところが、全ての仮想ポートに対してキャプチャを行うため、仮想ポートの数分のCPU(コア)が必要となる。図2の例では、仮想ポート211〜219に対してキャプチャを行うには、9個のCPU(コア)が必要となる。パケットの数が増えると、パケットの分析に非常に時間がかかり、実時間でバーストを検出することが困難である。
また、仮想スイッチに入出力されるパケットのトラフィックを監視し、仮想スイッチでのパケット量が閾値以上となったら、バーストとして検出することも考えられる。ところが、物理マシン内の各仮想スイッチのパケット量をモニタリングするには、仮想ポートの数分のCPU(コア)が必要となる。
また、観測用のパケットを生成して各仮想スイッチを通るときのタイムスタンプを記録して、パケットに各タイムスタンプを追加することが考えられる。ところが、セグメントからタイムスタンプを入れた観測用のパケットを生成するには、CPUリソースを使用してセグメントをパケット単位で分割してヘッダを追加する処理が必要となる。この処理には負荷がかかり、多くのCPUリソースを要求する。
また、セグメント単位でヘッダにタイムスタンプを入れることも考えられる。ところが、各仮想スイッチでのタイムスタンプをヘッダに入れるには、依然として、通常の処理以外に余分なCPUリソースを必要とする。さらに、仮想スイッチの数が増えると、追加するタイムスタンプの数が増えてパケットサイズがMTU(Maximum Transfer Unit)のサイズより大きくなるおそれがある。
そこで、本実施の形態では、特定のフローのセグメントに着目して、バースト検出にかかる負荷を抑制するバースト検出方法について説明する。図1の例では、仮想スイッチSW1〜SW3を通過する特定のフローのセグメントに着目して、仮想スイッチSW1〜SW3でバーストが発生したか否かを判断する。
具体的には、例えば、情報処理装置101の制御部120は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過したら、特定のフローのセグメントが通過したことを示す通過情報を通知するように各仮想スイッチSW1〜SW3に設定する。この結果、各仮想スイッチSW1〜SW3は、特定のフローのセグメントが通過したら、情報処理装置101に通過情報を通知する。この際、各仮想スイッチSW1〜SW3は、タイムスタンプを生成しない。
つぎに、制御部120は、各仮想スイッチSW1〜SW3から通過情報が通知されると、通過情報が通知された時間を記憶部130に記録する。すなわち、各仮想スイッチSW1〜SW3を特定のフローのセグメントが通過した時間を示すタイムスタンプを情報処理装置101側で生成する。そして、制御部120は、記憶部130に記憶された通過情報が通知された時間に基づいて、各仮想スイッチSW1〜SW3でバーストが発生したか否かを判断する。
これにより、バースト検出にかかる処理負荷を抑制して、より少ない計算リソースでバースト検出を行うことができる。具体的には、例えば、全ての仮想ポートに対してキャプチャを実施したり、各仮想スイッチのパケット量をモニタリングしたり、各仮想スイッチでタイムスタンプを入れる場合に比べて、少ない計算リソースでバーストを検出することが可能となる。以下、情報処理装置101の実施例について具体的に説明する。
(情報処理装置101のハードウェア構成例)
つぎに、図1に示した情報処理装置101のハードウェア構成例について説明する。
図4は、情報処理装置101のハードウェア構成例を示すブロック図である。図4において、情報処理装置101は、CPU401と、メモリ402と、I/F403と、ディスクドライブ404と、ディスク405と、を有する。また、各構成部は、バス400によってそれぞれ接続される。
ここで、CPU401は、情報処理装置101の全体の制御を司る。CPU401は、例えば、複数のCPUであってもよいし、また、複数のプロセッサコアを有するマルチコアプロセッサでもよい。メモリ402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
I/F403は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して他の装置に接続される。そして、I/F403は、ネットワーク110と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。I/F403には、例えば、モデムやNICなどを採用することができる。
ディスクドライブ404は、CPU401の制御に従ってディスク405に対するデータのリード/ライトを制御する。ディスク405は、ディスクドライブ404の制御で書き込まれたデータを記憶する。ディスク405としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、情報処理装置101は、上述した構成部のほか、例えば、SSD(Solid State Drive)、入力装置、ディスプレイなどを有することにしてもよい。
(フローテーブル500の記憶内容)
つぎに、情報処理装置101が有するフローテーブル500の記憶内容について説明する。フローテーブル500は、例えば、図4に示したメモリ402、ディスク405などの記憶装置により実現される。
図5は、フローテーブル500の記憶内容の一例を示す説明図である。図5において、フローテーブル500は、フローID、Src.SWID、Dst.SWID、S_IP、R_IP、S_PORT、R_PORT、プロトコル、BytesおよびAgingCountのフィールドを有する。各フィールドに情報を設定することで、フロー管理情報(例えば、フロー管理情報500−1〜500−4)がレコードとして記憶される。
ここで、フローIDは、フローを一意に識別する識別子である。Src.SWIDは、送信側の仮想スイッチを一意に識別する識別子である。Dst.SWIDは、受信側の仮想スイッチを一意に識別する識別子である。S_IPは、送信側の仮想マシンのIPアドレス(通信情報)である。R_IPは、受信側の仮想マシンのIPアドレス(通信情報)である。
S_PORTは、送信側の仮想マシンのポート番号(通信情報)である。R_PORTは、受信側の仮想マシンのポート番号(通信情報)である。プロトコルは、仮想マシン間の通信に利用されるプロトコル(通信情報)である。例えば、プロトコル「17」は、UDP(User Datagram Protocol)を示す。
Bytesは、フローIDのフローにかかるデータ伝送量である(単位:バイト)。AgingCountは、フローIDのフローのデータ伝送状況を示す指標値である。例えば、AgingCountが小さいほど、フローIDのフローにかかるデータ伝送が頻繁に行われていることを示す。
(監視テーブル600の記憶内容)
つぎに、情報処理装置101が有する監視テーブル600の記憶内容について説明する。監視テーブル600は、例えば、図4に示したメモリ402、ディスク405などの記憶装置により実現される。図1に示した記憶部130は、例えば、監視テーブル600に相当する。
図6は、監視テーブル600の記憶内容の一例を示す説明図である。図6において、監視テーブル600は、フローID、SWID、IN_TIMEおよびOUT_TIMEのフィールドを有し、各フィールドに情報を設定することで、監視情報(例えば、監視情報600−1,600−2)をレコードとして記憶する。
フローIDは、特定のフローを一意に識別する識別子である。SWIDは、特定のフローのセグメントが通過した仮想スイッチを一意に識別する識別子である。IN_TIMEは、特定のフローのセグメントが仮想スイッチに入力された時間(日付とマイクロ秒までの時刻)である。OUT_TIMEは、特定のフローのセグメントが仮想スイッチから出力された時間(日付とマイクロ秒までの時刻)である。
(情報処理装置101の機能的構成例)
図7は、情報処理装置101の機能的構成例を示すブロック図である。図7において、情報処理装置101は、フロー決定部701と、バースト監視部702と、バースト検出部703と、を含む構成である。フロー決定部701〜バースト検出部703は制御部(例えば、図1に示した制御部120)となる機能であり、具体的には、例えば、図4に示したメモリ402、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F403により、その機能を実現する。各機能部の処理結果は、例えば、メモリ402、ディスク405などの記憶装置に記憶される。
以下の説明では、情報処理装置101が有する複数の仮想スイッチを「仮想スイッチSW1〜SWn」と表記する場合がある(n:2以上の自然数)。また、仮想スイッチSW1〜SWnのうちの任意の仮想スイッチを「仮想スイッチSWi」と表記する場合がある(i=1,2,…,n)。
フロー決定部701は、特定のフローを決定する。ここで、特定のフローとは、パスを流れるフローのうち、仮想ネットワーク内で発生するバーストを検出するために着目するフローである。パスとは、送信側と受信側との間で、物理マシン(例えば、情報処理装置101,102)やネットワーク(例えば、ネットワーク110)を通じてデータの送受信を行う経路である。
具体的には、例えば、フロー決定部701は、仮想ネットワークを形成する仮想スイッチSWiをセグメントが通過したフローの通信量や通信頻度に基づいて、特定のフローを決定する。また、フロー決定部701は、パスごとに、当該パスに対応する特定のフローを決定することにしてもよい。
フロー決定部701の具体的な機能的構成例については、図8を用いて後述する。
バースト監視部702は、仮想ネットワークを形成する仮想スイッチSWiに対して、特定のフローのセグメントが通過したら通過情報を通知するように設定する。ここで、通過情報は、特定のフローのセグメントが通過したことを示す情報である。また、バースト監視部702は、仮想スイッチSWiから通過情報が通知されると、通過情報が通知された時間を、メモリ402、ディスク405などの記憶装置に記録する。
バースト監視部702の具体的な機能的構成例については、図9を用いて後述する。
バースト検出部703は、記録された仮想スイッチSWiから通過情報が通知された時間に基づいて、仮想スイッチSWiでバーストが発生したか否かを判断する。具体的には、例えば、バースト検出部703は、例えば、仮想スイッチSWiから通過情報が通知された時間間隔に基づいて、仮想スイッチSWiでバーストが発生したか否かを判断する。
バースト検出部703の具体的な機能的構成例については、図12を用いて後述する。
・フロー決定部701の具体的な機能的構成例
図8は、フロー決定部701の具体的な機能的構成例を示すブロック図である。図8において、フロー決定部701は、通信部801と、解析部802と、観測部803と、決定部804と、を含む。
通信部801は、仮想スイッチSWiから接続情報とフロー情報とを受信する。ここで、接続情報は、仮想スイッチSWiと他の仮想スイッチSWj(j≠i、j=1,2,…,n)との接続関係を示す情報である。接続情報は、例えば、仮想スイッチSWiのSWIDと他の仮想スイッチSWjのSWIDとを含む。
また、フロー情報は、仮想スイッチSWiをセグメントが通過するフローの通信情報である。フロー情報は、例えば、送信側・受信側の仮想マシンのIPアドレス、ポート番号およびプロトコルの情報を含む。フロー情報は、例えば、フローのセグメントが通るパスを特定する情報に相当する。
解析部802は、各仮想スイッチSW1〜SWnの接続情報とフロー情報とに基づいて、パス上の仮想スイッチ間の接続関係を解析する。具体的には、例えば、解析部802は、仮想スイッチSWiの接続情報とフロー情報とに基づいて、フローテーブル500内のSrc.SWID、Dst.SWID、S_IP、R_IP、S_PORT、R_PORTおよびプロトコルの各フィールドに情報を設定する。
より詳細に説明すると、例えば、解析部802は、仮想スイッチSWiの接続情報から特定される、仮想スイッチSWiのSWIDをSrc.SWIDに設定し、他の仮想スイッチSWjのSWIDをDst.SWIDに設定する。また、解析部802は、仮想スイッチSWiのフロー情報から特定される、送信側・受信側の仮想マシンのIPアドレス、ポート番号およびプロトコルを、S_IP、R_IP、S_PORT、R_PORTおよびプロトコルの各フィールドに設定する。また、解析部802は、フローIDを設定する。ただし、送信側・受信側の仮想マシンのIPアドレス、ポート番号およびプロトコルの組み合わせが一致するフローには、同一のフローIDが設定される。これにより、新たなフロー管理情報がレコードとしてフローテーブル500に登録される。ただし、この時点では、BytesおよびAgingCountの各フィールドは「−(Null)」である。
観測部803は、仮想スイッチSWiから、仮想スイッチSWiをセグメントが通過したフローの通信量を定期的に取得する。具体的には、例えば、観測部803は、所定期間P1の間、仮想スイッチSWiをセグメントが通過するフローの通信量を所定時間T1間隔で取得する。なお、仮想スイッチSWiは、フローの通信量を、フローを特定可能な情報(例えば、フローの通信情報)とともに情報処理装置101に通知する。これにより、観測部803は、どのフローの通信量であるかを特定することができる。
ここで、所定期間P1および所定時間T1は、任意に設定可能である。所定期間P1は、例えば、1分程度の期間に設定される。所定時間T1は、例えば、5秒程度の時間に設定される。また、取得されるフローの通信量は、例えば、仮想スイッチSWiをセグメントが通過したフローの通信量の累積値である。
そして、観測部803は、取得したフローの通信量を、フローテーブル500内の対応するBytesフィールドに設定する。また、観測部803は、前回からフローの通信量が増加していない場合、すなわち、所定時間T1内でデータ伝送がない場合、AgingCountをインクリメントする。
一例として、仮想スイッチSW1から、フローF1の通信量「4312」を取得したとする。フローF1は、S_IP「1.10.1.10」、R_IP「1.2.3.5」、S_PORT「35832」、R_PORT「5001」およびプロトコル「17」の組み合わせに対応するフローである。この場合、観測部803は、フローテーブル500内のフロー管理情報500−1のBytesフィールドに「4312」を設定する。また、観測部803は、仮想スイッチSW1から取得したフローの通信量が前回から増加していなければ、AgingCountをインクリメントする。これにより、仮想スイッチSW1におけるフローF1の通信量(データ伝送量)および通信状況(データ伝送状況)を記録することができる。
決定部804は、仮想スイッチSWiから定期的に取得されたフローの通信量の時系列変化に基づいて、特定のフローを決定する。具体的には、例えば、決定部804は、フローテーブル500を参照して、Bytesが相対的に高く、かつ、AgingCountが相対的に少ないフローを、特定のフローに決定することにしてもよい。
一例として、図5に示したフロー管理情報500−1,500−2を相対評価する場合を例に挙げると、決定部804は、例えば、Bytesが高く、かつ、AgingCountが少ないフローF2を、特定のフローに決定する。また、フロー管理情報500−3,500−4を相対評価する場合を例に挙げると、決定部804は、例えば、Bytesが同一のため、AgingCountが少ないフローF12を、特定のフローに決定する。
また、例えば、決定部804は、フローテーブル500を参照して、Bytesが閾値α以上であり、かつ、AgingCountが閾値β以下のフローを、特定のフローに決定することにしてもよい。閾値αおよび閾値βは、任意に設定可能である。
一例として、閾値αを「100000[バイト]」とし、閾値βを「2」とする。この場合、例えば、決定部804は、フローテーブル500のフロー管理情報500−2を参照して、Bytesが閾値α以上であり、かつ、AgingCountが閾値β以下のため、フローF2を、特定のフローに決定する。
また、決定部804は、決定した特定のフローのフロー情報を生成する。具体的には、例えば、決定部804は、特定のフローのフロー情報をメッセージ化して、フローメッセージFMを生成する。フローメッセージFMは、例えば、特定のフローのフローID、フロー情報(S_IP、R_IP、S_PORT、R_PORTおよびプロトコル)を含む。
なお、フローメッセージFMのデータ構造例は、例えば、後述の図10に示すアクションメッセージAMのデータ構造例と同様のため、図示および説明を省略する。
通信部801は、生成された特定のフローのフロー情報をバースト監視部702に出力する。具体的には、例えば、通信部801は、フローメッセージFMをバースト監視部702に出力する。
・バースト監視部702の具体的な機能的構成例
図9は、バースト監視部702の具体的な機能的構成例を示すブロック図である。図9において、バースト監視部702は、通信部901と、設定部902と、記録部903と、を含む。
通信部901は、フロー決定部701から特定のフローのフロー情報を受け付ける。具体的には、例えば、通信部901は、フロー決定部701からフローメッセージFMを受け付ける。フローメッセージFMには、例えば、特定のフローのフローID、フロー情報(S_IP、R_IP、S_PORT、R_PORTおよびプロトコル)が含まれる。
設定部902は、特定のフローを設定する。具体的には、例えば、設定部902は、フローテーブル500を参照して、フローメッセージFMに含まれるフローIDに対応するSrc.SWIDを特定する。このSrc.SWIDは、特定のフローのセグメントが通過する仮想スイッチSWiのSWIDである。つぎに、設定部902は、フローメッセージFMに含まれるフローIDと、特定したSrc.SWIDとを、図6に示した監視テーブル600内のフローIDおよびSWIDの各フィールドに設定する。これにより、新たな監視情報がレコードとして監視テーブル600に記憶される。ただし、この時点では、IN_TIMEおよびOUT_TIMEの各フィールドは「−(Null)」である。
また、設定部902は、仮想ネットワークを形成する仮想スイッチSWiに対して、特定のフローのセグメントが通過したら通過情報を通知するように設定する。具体的には、例えば、設定部902は、フローメッセージFMに基づいて、アクションメッセージAMを生成する。そして、通信部901は、設定部902によって生成されたアクションメッセージAMを仮想スイッチSWiに送信する。
アクションメッセージAMの送信先の仮想スイッチSWiは、例えば、仮想ネットワークを形成する各仮想スイッチSW1〜SWnであってもよい。また、アクションメッセージAMの送信先の仮想スイッチSWiは、例えば、監視テーブル600に特定のフローのフローIDと対応付けて記憶されたSWIDの仮想スイッチSWiであってもよい。
アクションメッセージAMは、特定のフローのセグメントが通過したらその旨を通知するように仮想スイッチSWiに設定するための設定情報である。アクションメッセージAMは、例えば、フローメッセージFMに含まれる、特定のフローのフローID、フロー情報(S_IP、R_IP、S_PORT、R_PORTおよびプロトコル)を含む。ここで、アクションメッセージAMのデータ構造について説明する。
図10は、アクションメッセージAMのデータ構造例を示す説明図である。図10において、アクションメッセージAMは、BPDU(Bridge Protocol Data Unit)1001を含む。BPDU1001は、特定のフローのフローID、通信情報(S_IP、R_IP、S_PORT、R_PORTおよびプロトコル)およびActionを含む。
Actionは、特定のフローのセグメントが通過したら、イベントメッセージIMを通知するアクションを規定するものである。イベントメッセージIMは、特定のフローのセグメントが通過したことを示す通過情報の一例である。なお、Destination Addressには、あらかじめ予約されたMACアドレスが使用される。ここで、イベントメッセージIMのデータ構造について説明する。
図11は、イベントメッセージIMのデータ構造例を示す説明図である。図11において、イベントメッセージIMは、In/Outフラグ1101と、ブリッジインデックス1102と、フローインデックス1103とを含む。In/Outフラグ1101は、特定のフローのセグメントが、仮想スイッチSWiに入力されたのか、または、仮想スイッチSWiから出力されたのかを示す情報である。ここでは、In/Outフラグ1101が「0」の場合に、特定のフローのセグメントが、仮想スイッチSWiに入力されたことを示す。In/Outフラグ1101が「1」の場合に、特定のフローのセグメントが、仮想スイッチSWiから出力されたことを示す。
また、ブリッジインデックス1102は、イベントメッセージIMの通知元の仮想マシンSWiを一意に識別する情報である。ブリッジインデックス1102として、例えば、通知元の仮想マシンSWiのSWIDが設定される。また、フローインデックス1103は、特定のフローを一意に識別する情報である。フローインデックス1103として、例えば、特定のフローのフローIDが設定される。
仮想スイッチSWiは、情報処理装置101からアクションメッセージAMを受信すると、アクションメッセージAMのBPDU1001(図10参照)を参照して、特定のフローのセグメントが通過したら、情報処理装置101にイベントメッセージIMを通知するように設定する。この結果、特定のフローのセグメントが仮想スイッチSWiに入力されると、「0」のIn/Outフラグ1101を含むイベントメッセージIMが、仮想スイッチSWiから情報処理装置101に通知される。また、特定のフローのセグメントが仮想スイッチSWiから出力されると、「1」のIn/Outフラグ1101を含むイベントメッセージIMが、仮想スイッチSWiから情報処理装置101に通知される。仮想スイッチSWiにおいて、セグメントが特定のフローのものであるかは、例えば、仮想スイッチSWiを通過するセグメントの送信側・受信側の仮想マシンのIPアドレス、ポート番号およびプロトコルなどから判断される。
なお、特定のフローとして決定されたフローが1つの場合、情報処理装置101側で、仮想スイッチSWiをセグメントが通過したフローを判別しなくてもよい。このため、イベントメッセージIMは、フローインデックス1103を含まないことにしてもよい。
図9の説明に戻り、通信部901は、仮想スイッチSWiから、特定のフローのセグメントが通過したことを示す通過情報を受信する。具体的には、例えば、通信部901は、仮想スイッチSWiからイベントメッセージIM(図11参照)を受信する。
記録部903は、仮想スイッチSWiから通過情報が通知されると、通過情報が通知された時間を記録する。具体的には、例えば、記録部903は、仮想スイッチSWiからイベントメッセージIMが受信されると、タイムスタンプを生成する。タイムスタンプは、イベントメッセージIMが受信された時間(例えば、日付とマイクロ秒までの時刻)を示す情報である。つぎに、記録部903は、イベントメッセージIMに含まれる仮想マシンSWiのSWIDと特定のフローのフローIDとの組み合わせに対応する監視テーブル600内の監視情報を特定する。
そして、記録部903は、イベントメッセージIMに含まれるIn/Outフラグ1101が「0」の場合、生成したタイムスタンプを、特定した監視情報のIN_TIMEに記録する。一方、記録部903は、イベントメッセージIMに含まれるIn/Outフラグ1101が「1」の場合、生成したタイムスタンプを、特定した監視情報のOUT_TIMEに記録する。
一例として、In/Outフラグ1101が「0」、ブリッジインデックス1102が「SW1」、フローインデックス1103が「F1」であるイベントメッセージIMが通知された場合を想定する。この場合、記録部903は、監視テーブル600を参照して、イベントメッセージIMに含まれるブリッジインデックス1102の「SW1」とフローインデックス1103の「F1」との組み合わせに対応する監視情報600−1を特定する。そして、記録部903は、In/Outフラグ1101が「0」のため、監視情報600−1のIN_TIMEにタイムスタンプを記録する。なお、監視情報のIN_TIMEおよびOUT_TIMEの各フィールドには、例えば、タイムスタンプが順次追加されていく。
・バースト検出部703の具体的な機能的構成例
図12は、バースト検出部703の具体的な機能的構成例を示すブロック図である。図12において、バースト検出部703は、通信部1201と、観測部1202と、判断部1203と、を含む。
通信部1201は、バースト検出期間P2および所定時間T2を示す情報を受信する。ここで、バースト検出期間P2は、バーストが発生したか否かを判断するタイミングを特定する情報である。バースト検出期間P2は、例えば、実環境で発生したバーストの時間間隔をもとに設定される。バースト検出期間P2としては、例えば、200[ms]〜1[s]程度の期間が設定される。
所定時間T2は、仮想スイッチSWiでバーストが発生したか否かを判断する際に用いる閾値である。所定時間T2は、仮想スイッチSWiから通過情報(例えば、イベントメッセージIM)が通知された時間間隔が所定時間T2以下であれば、仮想スイッチSWiでバーストが発生した可能性が高いと判断できる値に設定される。例えば、図3で説明したように、バーストの発生時は、パケットの間隔が数マイクロ秒単位となっている。このため、所定時間T2としては、例えば、数マイクロ秒程度の時間が設定される。
具体的には、例えば、通信部1201は、情報処理装置101の管理者のコンピュータから期間メッセージDMを受信する。管理者のコンピュータは、例えば、管理者が使用するPCである。期間メッセージDMは、バースト検出期間P2と所定時間T2とを示す情報を含む。ここで、期間メッセージDMのデータ構造について説明する。
図13は、期間メッセージDMのデータ構造例を示す説明図である。図13において、期間メッセージDMは、BPDU1301を含む。BPDU1301は、バースト検出期間P2と所定時間T2とを示す情報を含む。なお、Destination Addressには、あらかじめ予約されたMACアドレスが使用される。
期間メッセージDMによれば、情報処理装置101の管理者等により、バースト検出期間P2および所定時間T2を任意に設定することができる。なお、図8で説明した所定期間P1および所定時間T1についても、期間メッセージDMと同様のデータ構造のメッセージを、管理者のコンピュータから情報処理装置101に送信することで設定することができる。
観測部1202は、仮想スイッチSWiから通過情報が通知された時間間隔を算出する。具体的には、例えば、観測部1202は、バースト検出期間P2が経過する度に、監視テーブル600を参照して、バースト検出期間P2内に仮想スイッチSWiからイベントメッセージIMが通知された時間間隔を算出する。
より詳細に説明すると、観測部1202は、監視テーブル600を参照して、各フローの仮想スイッチSWiにおけるバースト検出期間P2内のIN_TIMEの時間間隔をそれぞれ算出する。これにより、バースト検出期間P2において仮想スイッチSWiに特定のフローのセグメントが入力された時間間隔を算出することができる。また、観測部1202は、監視テーブル600を参照して、各フローの仮想スイッチSWiにおけるバースト検出期間P2内のOUT_TIMEの時間間隔をそれぞれ算出する。これにより、バースト検出期間P2において仮想スイッチSWiから特定のフローのセグメントが出力された時間間隔を算出することができる。
判断部1203は、算出された仮想スイッチSWiから通過情報が通知された時間間隔に基づいて、仮想スイッチSWiでバーストが発生したか否かを判断する。具体的には、例えば、判断部1203は、バースト検出期間P2におけるイベントメッセージIMが通知された時間間隔が所定時間T2以下の場合に、仮想スイッチSWiでバーストが発生したと判断することにしてもよい。
より詳細に説明すると、例えば、判断部1203は、算出されたバースト検出期間P2内のIN_TIMEの時間間隔の平均値が所定時間T2以下の場合に、仮想スイッチSWiでバーストが発生したと判断する。また、判断部1203は、算出されたバースト検出期間P2内のOUT_TIMEの時間間隔の平均値が所定時間T2以下の場合に、仮想スイッチSWiでバーストが発生したと判断する。
なお、バースト検出期間P2内のIN_TIME(または、OUT_TIME)の時間間隔の平均値は、例えば、バースト検出期間P2内の最初のIN_TIMEから最後のIN_TIMEまでの時間間隔を(N−1)で割ることで求めることができる。Nは、バースト検出期間P2内のIN_TIMEの数、すなわち、バースト検出期間P2に特定のフローのセグメントが仮想スイッチSWiに入力された数である。
また、仮想スイッチSWiから通過情報が通知された時間間隔が一定の場合は、仮想スイッチSWiでバーストが発生している可能性が低いといえる。このため、判断部1203は、仮想スイッチSWiから通過情報が通知された時間間隔が一定であると判断した場合は、仮想スイッチSWiでバーストが発生していないと判断することにしてもよい。
具体的には、例えば、判断部1203は、算出されたバースト検出期間P2内のIN_TIME、OUT_TIMEの時間間隔がともに一定である場合に、仮想スイッチSWiでバーストが発生していないと判断する。なお、時間間隔が一定であるか否かの判断は、例えば、バースト検出期間P2内の時間間隔の標準偏差や分散などの統計値をもとに判断される。
一例として、監視情報600−1を例に挙げると、判断部1203は、例えば、バースト検出期間P2内のIN_TIME、OUT_TIMEの時間間隔が一定の場合、仮想スイッチSW1でバーストが発生していないと判断する。一方、判断部1203は、バースト検出期間P2内のIN_TIMEまたはOUT_TIMEの時間間隔が一定でなく、かつ、IN_TIMEまたはOUT_TIMEの時間間隔の平均値が所定時間T2以下の場合、仮想スイッチSW1でバーストが発生したと判断する。なお、図6の例では、監視情報600−1のIN_TIMEおよびOUT_TIMEの各フィールドには、1つの時間しか表示されていないが、仮想スイッチSW1をフローF1のセグメントが通過する度にタイムスタンプが順次追加されていく。
また、判断部1203は、例えば、バースト検出期間P2内に仮想スイッチSWiに入力された、あるいは、仮想スイッチSWiから出力された特定のフローのセグメントの個数が閾値γ以上の場合に、仮想スイッチSWiでバーストが発生したと判断することにしてもよい。閾値γは、任意に設定可能である。
また、通信部1201は、仮想スイッチSWiでバーストが発生したと判断された場合、仮想スイッチSWiでバーストが発生したことを示す情報を出力する。出力形式としては、例えば、I/F403による外部装置への送信、メモリ402、ディスク405などの記憶装置への記憶、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
具体的には、例えば、通信部1201は、管理者のコンピュータにバーストメッセージBMを送信することにしてもよい。バーストメッセージBMは、バーストが発生した仮想スイッチSWiを示す情報である。ここで、バーストメッセージBMのデータ構造例について説明する。
図14は、バーストメッセージBMのデータ構造例を示す説明図である。図14において、バーストメッセージBMは、BPDU1401を含む。BPDU1401は、バーストが発生した仮想スイッチSWiを一意に識別する情報、例えば、SWIDを含む。BPDU1401には、例えば、バーストを検出するために着目した特定のフローのフローIDや通信情報が含まれることにしてもよい。
バーストメッセージBMによれば、情報処理装置101の管理者等は、仮想ネットワーク内のどこでバーストが発生しているのかを把握することができる。この結果、情報処理装置101の管理者等は、CPU401の性能を高くしたり、バーストが発生している仮想スイッチSWiのキューを長くしたり、仮想スイッチ数を増やしたりといった、バーストの発生を抑制するための対策をとることができる。
(バーストの検出例)
つぎに、図15〜図20を用いて、バーストの検出例について説明する。ここでは、仮想スイッチSW1〜SW3により仮想ネットワーク(仮想スイッチSW1⇒仮想スイッチSW2⇒仮想スイッチSW3)が形成される場合を想定する。また、バースト検出期間P2(図15〜図20中、「所定時間間隔」と表記)を「200[ms]」とし、所定時間T2を「マイクロ秒(μs)単位」とする。
図15は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過した時間間隔の一例を示す説明図(SW2の出力(out)でバースト)である。図15において、特定のフローであるフロー(A)のセグメントが各仮想スイッチSW1〜SW3から出力されたタイミングを示す点(各楕円内の点)がプロットされている。縦軸は、特定のフローのセグメントが各仮想スイッチSW1〜SW3から出力された時間間隔を示す(単位:μs)。横軸は、経過時間を示す(単位:ms)。
図15の例では、特定のフローであるフロー(A)のセグメントが仮想スイッチSW2から出力された時間間隔がμs単位で連続しており、バーストが発生している。以下、仮想スイッチSW2のOut側で発生したバーストを検出する際の情報処理装置101の動作例について説明する。
図16は、情報処理装置101の動作例を示す説明図(SW2の出力(out)でバースト)である。図16において、フロー決定部701は、各仮想スイッチSW1〜SW3から接続情報とフロー情報とを受信する(ステップS1601)。つぎに、フロー決定部701は、各仮想スイッチSW1〜SW3の接続情報とフロー情報とに基づいて、特定のフローとしてフロー(A)を決定して、フローメッセージFMをバースト監視部702に通知する(ステップS1602)。
バースト監視部702は、フローメッセージFMを受け付けると、仮想スイッチSW1〜SW3にアクションメッセージAMを送信して、フロー(A)のセグメントが通過したらイベントメッセージIMをバースト監視部702に通知するように設定する(ステップS1603)。
各仮想スイッチSW1〜SW3は、フロー(A)のセグメントが通過したら、バースト監視部702にイベントメッセージIMを通知する(ステップS1604)。図15の例では、バースト検出期間P2(200[ms])ごとに、フロー(A)の3つのセグメントが各仮想スイッチSW1〜SW3を通過しており、その都度、バースト監視部702にイベントメッセージIMが通知される。
バースト監視部702は、仮想スイッチSW1〜SW3からイベントメッセージIMを受信すると、タイムスタンプを生成し、In/Outを判別して監視テーブル600に記録する(ステップS1605)。バースト検出部703は、監視テーブル600を参照して、バースト検出期間P2(200[ms])内の仮想スイッチSW2におけるOUT_TIMEの時間間隔がμs単位で連続しているため、仮想スイッチSW2でバーストが発生したと判断する(ステップS1606)。これにより、バースト検出期間P2の時間間隔で仮想スイッチSW2のOUT側でバーストが発生していることを検出することができる。
図17は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過した時間間隔の一例を示す説明図(SW2(in)でバースト)である。図17において、特定のフローであるフロー(A)のセグメントが各仮想スイッチSW1〜SW3から出力されたタイミングを示す点(各楕円内の点)がプロットされている。
図17の例では、特定のフローであるフロー(A)のセグメントが仮想スイッチSW2に入力された時間間隔がμs単位で連続しており、バーストが発生している。以下、仮想スイッチSW2のIN側で発生したバーストを検出する際の情報処理装置101の動作例について説明する。
図18は、情報処理装置101の動作例を示す説明図(SW2(in)でバースト)である。図18において、フロー決定部701は、各仮想スイッチSW1〜SW3から接続情報とフロー情報とを受信する(ステップS1801)。つぎに、フロー決定部701は、各仮想スイッチSW1〜SW3の接続情報とフロー情報とに基づいて、特定のフローとしてフロー(A)を決定して、フローメッセージFMをバースト監視部702に通知する(ステップS1802)。
バースト監視部702は、フローメッセージFMを受け付けると、仮想スイッチSW1〜SW3にアクションメッセージAMを送信して、フロー(A)のセグメントが通過したらイベントメッセージIMをバースト監視部702に通知するように設定する(ステップS1803)。
各仮想スイッチSW1〜SW3は、フロー(A)のセグメントが通過したら、バースト監視部702にイベントメッセージIMを通知する(ステップS1804)。図17の例では、バースト検出期間P2(200[ms])ごとに、フロー(A)の3つのセグメントが各仮想スイッチSW1〜SW3を通過しており、その都度、バースト監視部702にイベントメッセージIMが通知される。
バースト監視部702は、仮想スイッチSW1〜SW3からイベントメッセージIMを受信すると、タイムスタンプを生成し、In/Outを判別して監視テーブル600に記録する(ステップS1805)。バースト検出部703は、監視テーブル600を参照して、バースト検出期間P2(200[ms])内の仮想スイッチSW2におけるIN_TIMEの時間間隔がμs単位で連続しているため、仮想スイッチSW2でバーストが発生したと判断する(ステップS1806)。これにより、バースト検出期間P2の時間間隔で仮想スイッチSW2のIN側でバーストが発生していることを検出することができる。
図19は、特定のフローのセグメントが各仮想スイッチSW1〜SW3を通過した時間間隔の一例を示す説明図(バーストなし)である。図19において、特定のフローであるフロー(A)のセグメントが各仮想スイッチSW1〜SW3から出力されたタイミングを示す点(各楕円内の点)がプロットされている。
図19の例では、特定のフローであるフロー(A)のセグメントが各仮想スイッチSW1〜SW3から出力された時間間隔が一定であり、かつ、μs単位で連続しておらず、バーストが発生していない。以下、各仮想スイッチSW1〜SW3のOut側でバーストが発生していない場合の情報処理装置101の動作例について説明する。
図20は、情報処理装置101の動作例を示す説明図(バーストなし)である。図20において、フロー決定部701は、各仮想スイッチSW1〜SW3から接続情報とフロー情報とを受信する(ステップS2001)。つぎに、フロー決定部701は、各仮想スイッチSW1〜SW3の接続情報とフロー情報とに基づいて、特定のフローとしてフロー(A)を決定して、フローメッセージFMをバースト監視部702に通知する(ステップS2002)。
バースト監視部702は、フローメッセージFMを受け付けると、仮想スイッチSW1〜SW3にアクションメッセージAMを送信して、フロー(A)のセグメントが通過したらイベントメッセージIMをバースト監視部702に通知するように設定する(ステップS2003)。
各仮想スイッチSW1〜SW3は、フロー(A)のセグメントが通過したら、バースト監視部702にイベントメッセージIMを通知する(ステップS2004)。図19の例では、バースト検出期間P2(200[ms])ごとに、フロー(A)の3つのセグメントが各仮想スイッチSW1〜SW3を通過しており、その都度、バースト監視部702にイベントメッセージIMが通知される。
バースト監視部702は、仮想スイッチSW1〜SW3からイベントメッセージIMを受信すると、タイムスタンプを生成し、In/Outを判別して監視テーブル600に記録する(ステップS2005)。バースト検出部703は、監視テーブル600を参照して、バースト検出期間P2(200[ms])内の各仮想スイッチSW1〜SW3におけるOUT_TIMEの時間間隔が一定であり、かつ、μs単位で連続していないため、バーストが発生していないと判断する(ステップS2006)。これにより、バースト検出期間P2の時間間隔でバーストが発生していないことを確認することができる。
(情報処理装置101の各種処理手順)
つぎに、図21〜図24を用いて、情報処理装置101の各種処理手順について説明する。まず、情報処理装置101のフロー決定処理手順について説明する。
図21および図22は、情報処理装置101のフロー決定処理手順の一例を示すフローチャートである。図21のフローチャートにおいて、まず、情報処理装置101のフロー決定部701は、各仮想スイッチSW1〜SWnから接続情報とフロー情報とを取得する(ステップS2101)。
つぎに、フロー決定部701は、各仮想スイッチSW1〜SWnから取得した接続情報とフロー情報とに基づいて、フローテーブル500内の各フィールドに情報を設定する(ステップS2102)。ただし、この時点では、BytesおよびAgingCountの各フィールドは「−(Null)」である。
つぎに、フロー決定部701は、各仮想スイッチSW1〜SWnから、各仮想スイッチSW1〜SWnをセグメントが通過したフローの通信量を取得する(ステップS2103)。そして、フロー決定部701は、各仮想スイッチSW1〜SWnから取得したフローの通信量を、フローテーブル500内の対応するフロー管理情報のBytesフィールドに設定する(ステップS2104)。
つぎに、フロー決定部701は、timerに所定時間T1を設定するとともに、t_countを設定する(ステップS2105)。timerは、時間を計るためのモジュールである。t_countは、timerの実行回数に相当する。t_countとしては、例えば、所定期間P1を所定時間T1で割った値が設定される。例えば、所定期間P1を「1分」とし、所定時間T1を「5秒」とすると、t_countとして「12(=1分/5秒)」が設定される。
つぎに、フロー決定部701は、t_countが「0」であるか否かを判断する(ステップS2106)。ここで、t_countが「0」の場合(ステップS2106:Yes)、フロー決定部701は、フローテーブル500を参照して、特定のフローに決定する(ステップS2107)。そして、フロー決定部701は、特定のフローのフロー情報をメッセージ化したフローメッセージFMを生成してバースト監視部702に出力し(ステップS2108)、本フローチャートによる一連の処理を終了する。
また、ステップS2106において、t_countが「0」ではない場合(ステップS2106:No)、フロー決定部701は、図22に示すステップS2201に移行する。
図22のフローチャートにおいて、まず、フロー決定部701は、timerが「0」となったか否かを判断する(ステップS2201)。ここで、フロー決定部701は、timerが「0」となるのを待つ(ステップS2201:No)。そして、フロー決定部701は、timerが「0」となった場合(ステップS2201:Yes)、各仮想スイッチSW1〜SWnから、各仮想スイッチSW1〜SWnをセグメントが通過するフローの通信量を取得する(ステップS2202)。
つぎに、フロー決定部701は、フローテーブル500を参照して、前回からのフローの通信量の増加分を算出する(ステップS2203)。そして、フロー決定部701は、算出した増加分に基づいて、前回からフローの通信量が増加したか否かを判断する(ステップS2204)。
ここで、前回からフローの通信量が増加した場合(ステップS2204:Yes)、フロー決定部701は、取得したフローの通信量で、フローテーブル500内の対応するフロー管理情報のBytesフィールドを更新して(ステップS2205)、ステップS2207に移行する。
一方、前回からフローの通信量が増加していない場合(ステップS2204:No)、フローテーブル500内の対応するフロー管理情報のAgingCountをインクリメントする(ステップS2206)。なお、ステップS2203〜S2206の処理は、フローテーブル500内の各レコードのフローごとに行われる。
つぎに、フロー決定部701は、timerを初期化する(ステップS2207)。そして、フロー決定部701は、t_countをデクリメントして(ステップS2208)、図21に示したステップS2106に戻る。なお、ステップS2204において、フロー決定部701は、前回からフローの通信量が所定値x以上増加していない場合に、前回からフローの通信量が増加していないと判断することにしてもよい。所定値xは、任意に設定可能である。
これにより、所定期間P1の間、各スイッチSW1〜SWnにおけるフローの流量を観測して、他のフローよりも通信量や通信頻度が高くバーストが発生する可能性が高いといえるフローを、特定のフローに決定することができる。
つぎに、情報処理装置101のバースト監視処理手順について説明する。
図23は、情報処理装置101のバースト監視処理手順の一例を示すフローチャートである。図23のフローチャートにおいて、まず、情報処理装置101のバースト監視部702は、フロー決定部701からフローメッセージFMを受け付けると、フローメッセージFMに含まれるフローIDと、当該フローIDに対応するSrc.SWIDとを、監視テーブル600内のフローIDおよびSWIDの各フィールドに設定する(ステップS2301)。ただし、この時点では、IN_TIMEおよびOUT_TIMEの各フィールドは「−(Null)」である。
つぎに、バースト監視部702は、フローメッセージFMに基づいて、各仮想スイッチSWiに設定するアクションメッセージAMを生成する(ステップS2302)。そして、バースト監視部702は、生成したアクションメッセージAMを各仮想スイッチSWiに送信する(ステップS2303)。この結果、仮想スイッチSWiにおいて、特定のフローのセグメントが通過したら、情報処理装置101のバースト監視部702にイベントメッセージIMを通知するように設定される。
つぎに、バースト監視部702は、仮想スイッチSWiからイベントメッセージIMを受信したか否かを判断する(ステップS2304)。ここで、バースト監視部702は、イベントメッセージIMを受信するのを待つ(ステップS2304:No)。そして、バースト監視部702は、イベントメッセージIMを受信した場合(ステップS2304:Yes)、タイムスタンプを生成する(ステップS2305)。
つぎに、バースト監視部702は、イベントメッセージIMに含まれる仮想マシンSWiのSWIDと特定のフローのフローIDとの組み合わせに対応する監視テーブル600内の監視情報を特定する(ステップS2306)。そして、バースト監視部702は、イベントメッセージIMに含まれるIn/Outフラグ1101を参照して、生成したタイムスタンプを、特定した監視情報のIN_TIMEまたはOUT_TIMEに記録する(ステップS2307)。
つぎに、バースト監視部702は、バースト監視処理を終了するか否かを判断する(ステップS2308)。バースト監視処理の終了タイミングは、例えば、情報処理装置101の管理者により指定される。ここで、バースト監視処理を終了しない場合(ステップS2308:No)、バースト監視部702は、ステップS2304に戻る。
一方、バースト監視処理を終了する場合(ステップS2308:Yes)、バースト監視部702は、本フローチャートによる一連の処理を終了する。これにより、特定のフローのセグメントが仮想スイッチSWiを通過(入力または出力)した時間を、監視テーブル600に記録することができる。
つぎに、情報処理装置101のバースト検出処理手順について説明する。
図24は、情報処理装置101のバースト検出処理手順の一例を示すフローチャートである。図24のフローチャートにおいて、まず、情報処理装置101のバースト検出部703は、バースト検出期間P2をtimerに設定する(ステップS2401)。つぎに、バースト検出部703は、timerが「0」となったか否かを判断する(ステップS2402)。
ここで、バースト検出部703は、timerが「0」となるのを待つ(ステップS2402:No)。そして、バースト検出部703は、timerが「0」となった場合(ステップS2402:Yes)、監視テーブル600を参照して、各フローの仮想スイッチSWiにおけるバースト検出期間P2内のIN_TIMEの時間間隔を算出する(ステップS2403)。
つぎに、バースト検出部703は、監視テーブル600を参照して、各フローの仮想スイッチSWiにおけるバースト検出期間P2内のOUT_TIMEの時間間隔を算出する(ステップS2404)。そして、バースト検出部703は、算出した各フローのIN_TIME、OUT_TIMEの時間間隔に基づいて、IN_TIME、OUT_TIMEの時間間隔が一定であるか否かを判断する(ステップS2405)。
ここで、IN_TIME、OUT_TIMEの時間間隔が一定の場合(ステップS2405:Yes)、バースト検出部703は、仮想スイッチSWiでバーストが発生していないと判断して(ステップS2406)、ステップS2410に移行する。
一方、IN_TIMEまたはOUT_TIMEの少なくともいずれかの時間間隔が一定でない場合(ステップS2405:No)、バースト検出部703は、IN_TIME、OUT_TIMEの時間間隔の平均値が所定時間T2以下であるか否かを判断する(ステップS2407)。ここで、IN_TIME、OUT_TIMEの時間間隔の平均値が所定時間T2より大きい場合(ステップS2407:No)、バースト検出部703は、ステップS2406に移行する。
一方、IN_TIMEまたはOUT_TIMEの少なくともいずれかの時間間隔の平均値が所定時間T2以下の場合(ステップS2407:Yes)、バースト検出部703は、仮想スイッチSWiでバーストが発生したと判断する(ステップS2408)。そして、バースト検出部703は、管理者のコンピュータに、仮想スイッチSWiでバーストが発生したことを示すバーストメッセージBMを通知する(ステップS2409)。
つぎに、バースト検出部703は、バースト検出処理を終了するか否かを判断する(ステップS2410)。バースト検出処理の終了タイミングは、例えば、情報処理装置101の管理者により指定される。ここで、バースト検出処理を終了しない場合(ステップS2410:No)、バースト検出部703は、timerを初期化して(ステップS2411)、ステップS2402に戻る。
一方、バースト検出処理を終了する場合(ステップS2410:Yes)、バースト検出部703は、本フローチャートによる一連の処理を終了する。これにより、バースト検出期間P2の時間間隔で、各仮想スイッチSWiでバーストが発生したか否かを判断することができる。また、仮想スイッチSWiでバーストが発生したと判断した場合には、その旨を情報処理装置101の管理者に通知することができる。
以上説明したように、実施の形態にかかる情報処理装置101によれば、仮想ネットワークを形成する仮想スイッチSWiに対して、特定のフローのセグメントが通過したら通過情報(例えば、イベントメッセージIM)を通知するように設定することができる。また、情報処理装置101によれば、仮想スイッチSWiから通過情報が通知されると、通過情報が通知された時間を示すタイムスタンプを生成して監視テーブル600に記録することができる。そして、情報処理装置101によれば、監視テーブル600に記録された時間(タイムスタンプ)に基づいて、仮想スイッチSWiでバーストが発生したか否かを判断することができる。
これにより、バースト検出にかかる処理負荷を抑制して、実時間でのバースト検出を行うことが可能となる。例えば、特定のフローのセグメントに着目することで、全てのパケットや全てのフローのセグメントに着目する場合に比べて、バースト検出にかかる処理負荷を削減することができる。また、各仮想スイッチSWiにおいて、特定のフローのセグメントが通過した際にタイムスタンプを生成したり、ヘッダにタイムスタンプを挿入したりする処理が必要ない。このため、バースト検出のために各仮想スイッチSWiで多くのCPUリソースが消費されるのを防ぐことができる。また、パケットのヘッダにタイムスタンプを挿入するといったことを行わないため、仮想スイッチの数が増えても、パケット分割やMTUの再設定等を行わなくてもよい。
また、情報処理装置101によれば、バースト検出期間P2における仮想スイッチSWiから通過情報が通知された時間間隔が所定時間T2(例えば、数マイクロ秒)以下の場合に、仮想スイッチSWiでバーストが発生したと判断することができる。これにより、実環境でバーストが発生した際と同様の挙動(ビヘイビア)が生じたときに、バーストが発生したと判断することができ、バーストの検出精度を向上させることができる。
また、情報処理装置101によれば、バースト検出期間P2における仮想スイッチSWiから通過情報が通知された時間間隔が一定である場合には、仮想スイッチSWiでバーストが発生していないと判断することができる。これにより、仮想スイッチSWiでの通信頻度が一定でバーストが発生している可能性が低いときは、仮想スイッチSWiでバーストが発生していないと判断することができる。
また、情報処理装置101によれば、バースト検出期間P2(例えば、200ミリ秒)ごとに、仮想スイッチSWiでバーストが発生したか否かを判断することができる。これにより、実環境で発生したバーストの時間間隔を考慮して、バースト検出を繰り返し行うことができる。
また、情報処理装置101によれば、各仮想スイッチSWiから、仮想スイッチSWiをセグメントが通過したフローの通信量を定期的に取得し、各仮想スイッチSWiから取得したフローの通信量の時系列変化に基づいて、特定のフローを決定することができる。これにより、各スイッチSWiにおけるフローの流量を観測して、他のフローよりも通信量や通信頻度が高くバーストが発生する可能性が高いといえるフローを、特定のフローに決定することができる。
また、情報処理装置101によれば、仮想スイッチSWiでバーストが発生したと判断した場合、仮想スイッチSWiでバーストが発生したことを示す情報(例えば、バーストメッセージBM)を出力することができる。これにより、仮想スイッチSWiでバーストが発生したと判断した場合には、その旨を情報処理装置101の管理者等に通知することができる。
また、情報処理装置101によれば、特定のフローのセグメントが、仮想スイッチSWiに入力された時間間隔、または、仮想スイッチSWiから出力された時間間隔が、所定時間T2以下の場合に、仮想スイッチSWiでバーストが発生したと判断することができる。これにより、仮想スイッチSWiのIN側またはOUT側それぞれで発生するバーストを検出することができる。
これらのことから、情報処理装置101によれば、CPU負荷を抑えて実時間でのバースト検出を実現することができる。これにより、情報処理装置101の管理者等は、仮想ネットワーク内でバーストが発生した際に、バーストが発生したこと、および、その発生箇所を特定することができ、バーストに対する対応を迅速に行うことが可能となる。
なお、本実施の形態で説明したバースト検出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本バースト検出プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本バースト検出プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、
前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、
前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、
処理をコンピュータに実行させることを特徴とするバースト検出プログラム。
(付記2)前記判断する処理は、
所定期間における前記通過情報が通知された時間間隔が所定時間以下の場合に、前記仮想スイッチでバーストが発生したと判断する、ことを特徴とする付記1に記載のバースト検出プログラム。
(付記3)前記判断する処理は、
所定期間における前記通過情報が通知された時間間隔が一定である場合には、前記仮想スイッチでバーストが発生していないと判断する、ことを特徴とする付記1または2に記載のバースト検出プログラム。
(付記4)仮想ネットワークを形成する各仮想スイッチから、当該各仮想スイッチをセグメントが通過したフローの通信量を定期的に取得し、
前記各仮想スイッチから取得した前記フローの通信量の時系列変化に基づいて、前記特定のフローを決定する、
処理を前記コンピュータに実行させることを特徴とする付記1〜3のいずれか一つに記載のバースト検出プログラム。
(付記5)前記仮想スイッチでバーストが発生したと判断した場合、前記仮想スイッチでバーストが発生したことを示す情報を出力する、処理を前記コンピュータに実行させることを特徴とする付記1〜4のいずれか一つに記載のバースト検出プログラム。
(付記6)前記通過情報は、前記特定のフローのセグメントが、前記仮想スイッチに入力されたのか、または、前記仮想スイッチから出力されたのかを示す情報を含み、
前記判断する処理は、
前記特定のフローのセグメントが、前記仮想スイッチに入力された時間間隔、または、前記仮想スイッチから出力された時間間隔が、前記所定時間以下の場合に、前記仮想スイッチでバーストが発生したと判断する、ことを特徴とする付記2に記載のバースト検出プログラム。
(付記7)前記判断する処理は、
前記所定期間ごとに、前記仮想スイッチでバーストが発生したか否かを判断する、ことを特徴とする付記2または3に記載のバースト検出プログラム。
(付記8)特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、
前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、
前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、
処理をコンピュータが実行することを特徴とするバースト検出方法。
(付記9)特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、
前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、
前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、
制御部を有することを特徴とする情報処理装置。
101 情報処理装置
102 他の情報処理装置
110 ネットワーク
120 制御部
130 記憶部
201,202,203,204 仮想スイッチ
211,212,213,214,215,216,217,218,219 仮想ポート
300 グラフ
400 バス
401 CPU
402 メモリ
403 I/F
404 ディスクドライブ
405 ディスク
500 フローテーブル
600 監視テーブル
701 フロー決定部
702 バースト監視部
703 バースト検出部
801,901,1201 通信部
802 解析部
803,1202 観測部
804 決定部
902 設定部
903 記録部
1203 判断部
AM アクションメッセージ
BM バーストメッセージ
FM フローメッセージ
IM イベントメッセージ

Claims (7)

  1. 特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、
    前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、
    前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、
    処理をコンピュータに実行させることを特徴とするバースト検出プログラム。
  2. 前記判断する処理は、
    所定期間における前記通過情報が通知された時間間隔が所定時間以下の場合に、前記仮想スイッチでバーストが発生したと判断する、ことを特徴とする請求項1に記載のバースト検出プログラム。
  3. 前記判断する処理は、
    所定期間における前記通過情報が通知された時間間隔が一定である場合には、前記仮想スイッチでバーストが発生していないと判断する、ことを特徴とする請求項1または2に記載のバースト検出プログラム。
  4. 仮想ネットワークを形成する各仮想スイッチから、当該各仮想スイッチをセグメントが通過したフローの通信量を定期的に取得し、
    前記各仮想スイッチから取得した前記フローの通信量の時系列変化に基づいて、前記特定のフローを決定する、
    処理を前記コンピュータに実行させることを特徴とする請求項1〜3のいずれか一つに記載のバースト検出プログラム。
  5. 前記仮想スイッチでバーストが発生したと判断した場合、前記仮想スイッチでバーストが発生したことを示す情報を出力する、処理を前記コンピュータに実行させることを特徴とする請求項1〜4のいずれか一つに記載のバースト検出プログラム。
  6. 特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、
    前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、
    前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、
    処理をコンピュータが実行することを特徴とするバースト検出方法。
  7. 特定のフローのセグメントが仮想スイッチを通過したら、前記特定のフローのセグメントが通過したことを示す通過情報を通知するように前記仮想スイッチに設定し、
    前記仮想スイッチから前記通過情報が通知されると、前記通過情報が通知された時間を記憶部に記録し、
    前記記憶部に記録された前記通過情報が通知された時間に基づいて、前記仮想スイッチでバーストが発生したか否かを判断する、
    制御部を有することを特徴とする情報処理装置。
JP2017093931A 2017-05-10 2017-05-10 バースト検出プログラム、バースト検出方法、および情報処理装置 Pending JP2018191218A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017093931A JP2018191218A (ja) 2017-05-10 2017-05-10 バースト検出プログラム、バースト検出方法、および情報処理装置
US15/967,637 US20180331930A1 (en) 2017-05-10 2018-05-01 Non-transitory computer-readable recording medium recording burst detection program, burst detection method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017093931A JP2018191218A (ja) 2017-05-10 2017-05-10 バースト検出プログラム、バースト検出方法、および情報処理装置

Publications (1)

Publication Number Publication Date
JP2018191218A true JP2018191218A (ja) 2018-11-29

Family

ID=64097513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017093931A Pending JP2018191218A (ja) 2017-05-10 2017-05-10 バースト検出プログラム、バースト検出方法、および情報処理装置

Country Status (2)

Country Link
US (1) US20180331930A1 (ja)
JP (1) JP2018191218A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274070B (zh) * 2019-11-04 2021-10-15 华为技术有限公司 一种硬盘检测的方法、装置和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008053878A (ja) * 2006-08-23 2008-03-06 Nippon Telegr & Teleph Corp <Ntt> パケットサンプルを用いた大量バースト生成フロー特定方法およびそのシステム
US20080225711A1 (en) * 2007-03-14 2008-09-18 Robert Raszuk Dynamic response to traffic bursts in a computer network
JP2010502145A (ja) * 2006-08-31 2010-01-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 改良されたマルコフ変調ポアソン過程モデルを使用してネットワーク・トラフィックを解析及び生成するための方法、コンピュータ・プログラム
WO2015087404A1 (ja) * 2013-12-11 2015-06-18 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
WO2015136928A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 フロー制御装置、通信システム、フロー制御装置の制御方法、及びプログラム
JP2016129307A (ja) * 2015-01-09 2016-07-14 株式会社日立製作所 通信システム、制御サーバおよび制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008053878A (ja) * 2006-08-23 2008-03-06 Nippon Telegr & Teleph Corp <Ntt> パケットサンプルを用いた大量バースト生成フロー特定方法およびそのシステム
JP2010502145A (ja) * 2006-08-31 2010-01-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 改良されたマルコフ変調ポアソン過程モデルを使用してネットワーク・トラフィックを解析及び生成するための方法、コンピュータ・プログラム
US20080225711A1 (en) * 2007-03-14 2008-09-18 Robert Raszuk Dynamic response to traffic bursts in a computer network
WO2015087404A1 (ja) * 2013-12-11 2015-06-18 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
WO2015136928A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 フロー制御装置、通信システム、フロー制御装置の制御方法、及びプログラム
JP2016129307A (ja) * 2015-01-09 2016-07-14 株式会社日立製作所 通信システム、制御サーバおよび制御方法

Also Published As

Publication number Publication date
US20180331930A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
US20160197811A1 (en) Performance measurement in a network supporting multiprotocol label switching (mpls)
JP2009232300A (ja) 輻輳検出方法、輻輳検出装置及び輻輳検出プログラム
JP7383754B2 (ja) データ処理方法、サーバ、およびデータ収集デバイス
JP4232828B2 (ja) アプリケーション分類方法、ネットワーク異常検知方法、アプリケーション分類プログラム、ネットワーク異常検知プログラム、アプリケーション分類装置、ネットワーク異常検知装置
CN1998186A (zh) 用于表征基于分组的网络的端对端路径的方法和设备
CN106911927B (zh) 评估网络视频用户体验质量的方法、装置和dpi设备
JPWO2011040006A1 (ja) 送信装置、受信装置、送受信システム、及び送受信方法
JP2008283621A (ja) ネットワーク輻輳状況監視装置、ネットワーク輻輳状況監視方法及びプログラム
JP4889787B2 (ja) 測定方法、測定装置及びコンピュータプログラム
US7715317B2 (en) Flow generation method for internet traffic measurement
JPWO2015087404A1 (ja) 情報処理装置及び情報処理方法及びプログラム
JP2018191218A (ja) バースト検出プログラム、バースト検出方法、および情報処理装置
JP2009118272A (ja) ネットワーク帯域推定プログラム、ネットワーク帯域推定装置、ネットワーク帯域推定方法および計測装置
Bergfeldt et al. Real-time available-bandwidth estimation using filtering and change detection
JP2009004899A (ja) データ転送レート変動測定方法、装置、システム、およびプログラム
JP5335867B2 (ja) 基本GoP長を用いた映像品質推定装置及び方法及びプログラム
JP2011176586A (ja) パケットサンプリング装置と方法およびプログラム
JP4814270B2 (ja) トラヒック変動量推定方法およびその装置とプログラム
JP7183554B2 (ja) 音声品質劣化箇所推定装置、方法およびプログラム
de Fréin State acquisition in computer networks
JP2007329776A (ja) ネットワーク品質分析装置、品質クラス決定装置、ネットワーク品質分析方法、品質クラス決定方法、およびプログラム
CN116582507B (zh) 基于可编程交换机的网络微突发流检测方法及相关设备
JP6760895B2 (ja) ネットワーク計測システム、および、ネットワーク計測方法
US11855867B2 (en) Enhanced identification of sources of delays in packet delivery along a path
JP2018093383A (ja) 通信監視装置、通信監視方法及び通信監視プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210629