JP2017182346A - 解析プログラム、解析装置、及び解析方法 - Google Patents

解析プログラム、解析装置、及び解析方法 Download PDF

Info

Publication number
JP2017182346A
JP2017182346A JP2016066755A JP2016066755A JP2017182346A JP 2017182346 A JP2017182346 A JP 2017182346A JP 2016066755 A JP2016066755 A JP 2016066755A JP 2016066755 A JP2016066755 A JP 2016066755A JP 2017182346 A JP2017182346 A JP 2017182346A
Authority
JP
Japan
Prior art keywords
virtual machine
queue
destination virtual
information
queue length
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.)
Granted
Application number
JP2016066755A
Other languages
English (en)
Other versions
JP6642196B2 (ja
Inventor
岩倉 廣和
Hirokazu Iwakura
廣和 岩倉
祐士 野村
Yuji Nomura
祐士 野村
飯塚 史之
Fumiyuki Iizuka
史之 飯塚
岡田 純代
Sumiyo Okada
純代 岡田
尚義 大川
Naoyoshi Okawa
尚義 大川
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 JP2016066755A priority Critical patent/JP6642196B2/ja
Priority to US15/420,709 priority patent/US10432492B2/en
Publication of JP2017182346A publication Critical patent/JP2017182346A/ja
Application granted granted Critical
Publication of JP6642196B2 publication Critical patent/JP6642196B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L43/0864Round trip delays
    • 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/11Identifying congestion
    • 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/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】仮想マシンの間の通信速度が低速である送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定する。
【解決手段】ミラーリング判定部42は、入力キュー情報のキュー長が第1閾値以上であり、キュー長の相関の値が第2閾値より大きく、かつキュー長の増加率が第3閾値以下である送信元仮想マシンと送信先仮想マシンとの組を、ミラーリング対象として特定する。ミラーリング判定部42は、入力キュー情報のキュー長が第1閾値以上であり、かつ相関の値が第2閾値以下である送信元仮想マシンと送信先仮想マシンとの組とを、ミラーリング対象として特定する。
【選択図】図12

Description

開示の技術は、解析プログラム、解析装置、及び解析方法に関する。
従来、ミラーリング非実行時および実行時の仮想スイッチのプロセッサの使用量と、ミラーリング対象のポートを経由するパケット数とから、ミラーリングに起因する仮想スイッチのプロセッサの使用量を算出するキャプチャポイント決定方法が知られている。
また、キューバッファのキュー長に関する情報に基づき、予め定義された数式に従って、パケットを送出する権利の取得に関する優先度情報を求めるパケット処理装置が知られている。
また、セルバッファ閾値TAとTB(TA>TB)を設定し、セルバッファのキュー長が、閾値TBを超過する場合には、新規到着セルが輻輳状況にある出力回線に出力されるセルか否かを判定する技術が知られている。
特開2015−197715号公報 特開2002−252629号公報 特開平11−266270号公報
しかし、上記従来技術では、単にプロセッサの使用量及びパケット数の情報や、キュー長の情報に基づいてミラーリングの設定を行っているため、仮想マシンの間の通信速度が低速でない場合であっても、ミラーリングの設定を行ってしまう。
開示の技術は、1つの側面として、仮想マシンの間の通信速度が低速である送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定することを目的とする。
1つの実施態様では、入力キュー情報と、出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出す。入力キュー情報は、複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する。出力キュー情報は、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する。前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、前記送信元仮想マシンと前記送信先仮想マシンとの組を、ミラーリング対象として特定する。前記入力キュー情報の前記キュー長が第1閾値以上であり、相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する。相関の値は、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値である。前記入力キュー情報の前記キュー長が第1閾値以上であり、かつ相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する。
1つの側面として、仮想マシンの間の通信速度が低速である送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定することができる、という効果を有する。
仮想システムの一例を示すブロック図である。 仮想システムにおける仮想マシン間の通信を説明するための説明図である。 仮想システムにおける仮想マシン間の通信を説明するための説明図である。 物理サーバ間の通信を説明するための説明図である。 仮想マシン間の通信を説明するための説明図である。 仮想スイッチにおける転送処理を説明するための説明図である。 仮想スイッチにおける転送処理を説明するための説明図である。 仮想スイッチにおける転送処理を説明するための説明図である。 仮想スイッチにおける転送処理を説明するための説明図である。 仮想スイッチにおける転送処理を説明するための説明図である。 仮想スイッチにおける転送処理を説明するための説明図である。 本実施形態の解析装置のブロック図である。 仮想システムと解析装置との関係を説明するための図である。 入力キューテーブルの一例を示す図である。 出力キューテーブルの一例を示す図である。 ミラーリング設定テーブルの一例を示す図である。 入力キューのキュー長の測定を説明するための説明図である。 入力キューのキュー長が閾値以上であるか否かを説明するための説明図である。 入力キューのキュー長と出力キューのキュー長との相関係数を説明するための説明図である。 入力キューのキュー長の増加率を説明するための説明図である。 入力キューのキュー長と相関係数と増加率とに応じてミラーリングが設定されることを説明するための説明図である。 解析装置として機能するコンピュータの概略構成を示すブロック図である。 解析処理の一例を示すフローチャートである。 仮想スイッチ管理処理の一例を示すフローチャートである。 入出力キュー測定処理の一例を示すフローチャートである。 入力キュー算出処理の一例を示すフローチャートである。 出力キュー算出処理の一例を示すフローチャートである。 ミラーリング設定判定処理の一例を示すフローチャートである。 キュー長相関係数算出処理の一例を示すフローチャートである。 ミラーリング設定処理の一例を示すフローチャートである。 相関係数算出処理の一例を示すフローチャートである。 データ設定処理の一例を示すフローチャートである。 増加率算出処理の一例を示すフローチャートである。
以下、図面を参照して開示の技術の一例を詳細に説明する。
<仮想システムにおけるミラーリングの設定について>
まず、各実施形態の詳細を説明する前に、仮想システムと本実施形態の概要とについて説明する。
[仮想システムの概要]
図1に仮想システムを説明するための図を示す。図1に示すように、仮想システム10は、物理コンピュータ12のハードウェアであるCentral Processing Unit(CPU)、メモリ等を仮想化し、複数の仮想マシン(Virtual Machine)VM1〜VMn(仮想マシンを区別せずに総称する際には「仮想マシン」と表記する)を機能させるシステムである。
ここで、物理コンピュータ12は、CPU、メモリ、ハードディスク等(図示省略)を備える。また、物理コンピュータ12のソフトウェアは、複数の仮想マシンVM1〜VMn、仮想スイッチ16、及びハイパーバイザー18を備えるように機能する。図1に示すように、仮想マシン間の通信は仮想スイッチ16を経由して行われる。また、ハイパーバイザー18は、複数の仮想マシンVM1〜VMnの動作制御や監視(例えば、CPU使用率、メモリ使用率の取得)を行う。
図2に、仮想マシン間の通信を説明するための説明図を示す。図2に示すように、送信元の仮想マシンVM1〜VM3と送信先の仮想マシンVM4〜VM6との間の通信は、仮想スイッチ16を介して行われる。また、送信元の仮想マシンVM1〜VM3と送信先の仮想マシンVM4〜VM6との間の通信では、Transmission Control Protocol(TCP)を用いたパケット通信が行われる。
仮想マシン間のパケット通信では、送信元の仮想マシンがメモリ上のバッファを確保し、図2に示すように、パケットを仮想スイッチ16の入力キュー21に繋げる。そして、仮想スイッチ16のスイッチ処理22において、パケットの送信先アドレスに基づき、送信先の仮想マシンへ転送されるパケットは、仮想スイッチ16の出力キュー23に繋げられる。送信先の仮想マシンは、自分宛の仮想スイッチ16の出力キュー23にパケットがあれば、当該パケットを受信する。なお、上記図2に示すように、入力キュー21及び出力キュー23に含まれる四角で囲われた番号が1つのパケットを表し、番号が送信先の仮想マシンを表す。
[ネットワーク品質の低下について]
物理サーバ間のパケット通信では、物理的な通信経路の速度(例えば、イーサーネットやスイッチの速度)が通信速度の上限となる。例えば、物理サーバ間が1Gbpsのイーサーネットで接続されている場合、通信速度は1Gbps以上にはならない。
しかし、仮想システムにおける仮想マシン間の通信の場合は、物理的な通信経路が無く、通信速度の上限がメモリを扱う処理速度(例えば、メモリーコピーの速度やメモリアクセスの速度)に近いため、高速な(例えば20Gbps)通信となる。
仮想マシン間の通信速度が高速になると、ネットワークの全ての仮想マシン間のパケットを分析及び監視する場合、単位時間当たりに解析するパケットの数が多くなり、分析及び監視する処理が遅延してしまう。そのため、全ての仮想マシン間のパケットを分析及び監視することは難しい。
従って、仮想システムでは全ての仮想マシン間のパケットをキャプチャ、分析、及び監視することができないため、通信速度が低下しネットワーク品質が低下している仮想マシン間の通信パケットだけを自動的に分析及び監視することが求められる。
図3に、仮想システム10において、仮想マシン間の通信速度が低速になりネットワーク品質が低下する場合の例を示す。図3では、マルチCPUコアの物理サーバ上で動作する仮想システムを例に説明する。図3に示す仮想システムでは、1つのソケット19が4つのCPUコア20を備える。また、各CPUコア20は、各仮想マシンに割り当てられる。
上記図3に示すように、マルチCPUコアの物理サーバ上で動作する仮想システム10において、ハイパーバイザー18のスケジューラーは、複数の仮想マシンに各CPUコア20を割り当てる。そして、CPUコア20は仮想マシンを動作させる。スケジューラーは、CPUコア20を均等に仮想マシンに割り当てることしか行わず、仮想マシンを動作させるCPUコア20を特定しない。
上記図3に示すCPUコア20間の通信において、同一ソケット19内のCPUコア20間の通信速度と、異なるソケット19間のCPUコア20間の通信速度とは異なる。具体的には、ソケット19を跨ぐCPUコア20間の通信速度は、同一ソケット19内のCPUコア20間の通信速度に比べ遅い。CPUコア20間の通信は、メモリアクセス速度に対応するため、ソケット19内のメモリアクセス速度とソケット19を跨るメモリアクセス速度とを比較すると、ソケット19を跨るメモリアクセス速度は遅くなるためである。これにより、仮想マシンの割り当てソケット19と通信経路とに応じて、仮想マシン間の通信速度が低速となりネットワーク品質が低下する現象が発生する。
例えば、図3に示す仮想マシンVM4への仮想マシンVM間の通信に関し、仮想マシンVM1→仮想マシンVM4と仮想マシンVM2→仮想マシンVM4とは高速な通信になるが、仮想マシンVM3→仮想マシンVM4は低速な通信になる。
通信速度が低速である仮想マシン間の通信だけを自動的に分析及び監視するためには、通信速度を計測する必要がある。仮想システム10で通信速度を求めるには、単位時間に読み出したパケット長を求めなければならないが、読み出したパケットはキューに存在しないため、読出し速度を求めることが難しく、通信速度を測定することができない。
例えば、図4に示すように、通常、物理サーバM3と物理サーバM4との間の通信のネットワーク品質を分析する場合、スイッチのミラーリング機能を用いて、物理サーバM3、M4間に流れるパケットのTCPヘッダを解析する。そして、TCPプロトコルのデータ転送パケットと該データ転送パケットの確認信号パケット(Acknowledgement(ACK))の送信時間の時間差が算出され、TCPの通信往復遅延時間(Round-Trip delay Time(RTT))が測定される。
図4に示すように、物理サーバM3、M4間のパケット通信24では、送信先の物理サーバM4において、読み出し遅延を表す輻輳が発生すると、物理サーバM4のアプリケーションによってパケットの読出し処理が遅れる。この場合、物理サーバM4のカーネルにはパケットが到着し、カーネルがACKを返信するので、RTTは大きくならない(例えば、平均値より大きくならない)。その結果、RTTの値で、通信遅延とサーバの輻輳とを区別することができる。そのため、物理サーバ間のネットワーク品質を分析する場合、RTTが大きくなった物理サーバをミラーリングすれば、通信速度が低下している通信パケットだけを分析及び監視することができる。
しかし、仮想システムの場合は、物理サーバ間のパケット通信とは異なる。図5に、仮想マシン間の通信速度の低下(ネットワーク遅延)と、仮想マシン間の通信における送信先の仮想マシンの輻輳とを説明するための図を示す。図5に示すように、仮想マシンVM3、VM4間の通信25では、RTTの測定結果に基づき通信速度が低下しているか否かを判定することができる。一方、仮想マシンVM3、VM7間の通信26において、送信先の仮想マシンVM7が輻輳になると、送信先の仮想マシンVM7の読出し処理が遅延する。この場合、送信先の仮想マシンVM7のカーネルにパケットが到着せずACKが返信されないため、通信速度が低下していないにもかかわらず、RTTの値が大きくなってしまう現象が発生する。
仮想システム10においては、RTTの測定結果からは、仮想ネットワークの遅延か、送信先の仮想マシンの読出し処理における輻輳かを判定することができない。そのため、通信速度が低下している仮想マシン間の通信パケットだけを自動的に分析及び監視することができないという課題が存在する。
[仮想システムにおける通信速度の低下]
仮想システム10において、仮想マシン間の通信が低速な場合、仮想スイッチ16の入力キュー21のパケットの数が多くなる。なお、本実施形態では、パケットは開示の技術のデータの一例である。また、本実施形態では、キューイングされているパケットの数をキュー長と称する。
例えば、図6に示すように、キュー長が長い仮想マシンVM3のパケットをミラーリングすれば、通信が低速である仮想マシン間の通信パケットを自動的に分析及び監視することが可能になると考えられる。
しかし、仮想スイッチ16の入力キュー21のキュー長が長い仮想マシンVM3に対しミラーリングを設定する場合、送信先の仮想マシンで輻輳が発生している仮想マシンに対しても、RTTによる通信遅延判定と同様に、ミラーリングが設定されてしまう。
具体的には、送信先の仮想マシンにおいて輻輳が発生した場合、輻輳が発生した仮想マシンに対する仮想スイッチ16の出力キュー23のキュー長が長くなる。例えば、図7に示すように、送信先の仮想マシンVM5において輻輳が発生した場合、送信先の仮想マシンVM5に対する仮想スイッチ16の出力キュー23のキュー長は長くなる。
ここで、上記図7に示すような仮想マシン間の通信の場合、仮想スイッチ16から送信先の仮想マシンの出力キュー23にパケットをキューイングしたあと、パケットの到達を通知するため、仮想スイッチ16から送信先の仮想マシンにイベントが通知される。このイベント通知の数は限りがあり、仮想スイッチ16の出力キュー23が一定以上の数になると、仮想スイッチ16から送信先の仮想マシンへパケット到達イベント通知ができなくなる。その結果、スイッチ処理は仮想スイッチ16の出力キュー23にキューを繋ぐことができず、仮想スイッチ16の入力キュー21に、輻輳が発生した仮想マシン宛のパケットが溜まる。そして、図7に示すように、送信元の仮想マシンVM2の入力キュー21のキュー長が長くなる。
つまり、仮想スイッチ16の入力キュー21のキュー長だけに基づいてミラーリングの判定が行われると、仮想マシン間の通信が高速な仮想マシン間の通信に対してもミラーリングの設定がされてしまう。例えば、上記図7に示す送信元の仮想マシンVM2と送信先の仮想マシンVM5との組に対しても、ミラーリングの設定がされてしまう。
また、図8に示すように、送信先の仮想マシンVM5が輻輳した場合、輻輳が発生した送信先の仮想マシンVM5への出力キュー23のキュー長が長くなり、その影響により入力キュー21内で送信先の仮想マシンVM5宛のキュー長も長くなる特徴がある。
そこで、仮想スイッチ16の入力キュー21内における、送信元の仮想マシン毎の各送信先の仮想マシン宛てのキュー長と、仮想スイッチ16の出力キュー23内における各送信先の仮想マシンへのキュー長とを周期的に測定することが考えられる。そして、入力キュー21内の送信先の仮想マシン毎のキュー長から、キュー長が長い送信先の仮想マシンを検索することが考えられる。
例えば、上記図8に示すように、送信元の仮想マシンVM2に対しては送信先の仮想マシンVM5が検索され、送信元の仮想マシンVM3に対しては送信先の仮想マシンVM4が検索される。次に、入力キュー21内においてキュー長が長い送信先の仮想マシンのうち、出力キュー23のキュー長が長い送信先の仮想マシンを検索される。検索の結果、例えば、図8の送信先の仮想マシンVM5が検索される。
出力キュー23のキュー長が長くなっている送信先の仮想マシンVM5では、送信先の仮想マシンVM5の輻輳が原因だと判断することができる。また、出力キュー23のキュー長が長くなっていない送信先の仮想マシンVM4では、送信元の仮想マシンVM3と送信先の仮想マシンVM4との間の仮想マシン間の通信が低速通信だと判断できる。
上記図8に示すように、仮想マシンVM3と仮想マシンVM4との間の通信が低速であれば、送信元の仮想マシンVM3の入力キュー21をミラーリング設定することで、低速な通信を分析及び監視することが可能になる。または、送信先の仮想マシンVM4に対してミラーリング設定することで、低速な通信を分析及び監視することが可能になる。
図9に具体例を示す。なお、以下の説明では、「qxy」は、入力キュー21内における、送信元の仮想マシンVMxから送信先の仮想マシンVMyへのキュー長を表し、「qz」は、出力キュー23における、送信先の仮想マシンVMzのキュー長を表す。
まず、周期的(例えば100msec毎)に、送信元の仮想マシン毎に、入力キュー21から、送信先の仮想マシン毎のキュー長を求める。
例えば、図9に示すように、送信元の仮想マシンVM1、VM2、VM3毎に、入力キュー21から、送信先の仮想マシンVM4、VM5、VM6毎のキュー長(q14,q15,q16,q24,q25,q26,q34,q35,q36)を求める。
次に、上記図9に示すように、送信先の仮想マシンVM4、VM5、VM6毎の出力キュー23から、送信先の仮想マシンVM4、VM5、VM6毎のキュー長(q4,q5,q6)を求める。そして、入力キュー21から送信元の仮想マシン毎に求めた送信先の仮想マシン毎のキュー長と予め定められた閾値X1とを比較する。また、出力キュー23から求めた送信先の仮想マシン毎のキュー長と予め定められた閾値X2とを比較する。
ここで、図9に示すように、閾値X1よりも大きい、送信先の仮想マシンVM4、VM5へのキュー長(q25,q34)が存在する場合、当該送信先の仮想マシンVM4、VM5のキュー長(q4,q5)が閾値X2よりも大きいかどうか判定する。そして、送信先の仮想マシンの出力キュー23のキュー長が閾値X2よりも大きい場合、輻輳が発生していると判断される。
上記図9の例では、キュー長q5が閾値X2よりも大きいため、送信先の仮想マシンVM5との間の通信は高速だと判断され、送信先の仮想マシンVM5において輻輳が発生していると判断される。
一方、送信先の仮想マシンVM4の出力キュー23のキュー長q4が閾値X2以下であるため、送信先の仮想マシンVM4との間の通信が低速だと判断される。
仮想マシン間の低速な通信に対しミラーリングを設定する場合は、送信元の仮想マシン及び送信先の仮想マシンの少なくとも一方をミラーリングすれば良い。
送信元の仮想マシンをミラーリングする場合は、上記図9に示すように、低速と判断された仮想マシン間の通信の、送信元の仮想マシンから仮想スイッチ16への出力ポートに対してミラーリングの設定を行う。図9に示す例では、送信元の仮想マシンVM3から仮想スイッチ16への出力ポートに対してミラーリングが設定される。
送信先の仮想マシンをミラーリングする場合は、上記図9に示すように、低速だと判断された仮想マシン間の通信の、送信先の仮想マシンへの、仮想スイッチ16からの出力ポートに対してミラーリングの設定が行われる。図9に示す例では、仮想スイッチ16から仮想マシンVM4への出力ポートに対してミラーリングが設定される。
[キュー長のみに基づく判定方法の問題点]
しかし、パケットのキュー長を単純に閾値のみに基づいて判定する上記方法では、キュー長の時間的な増加の変化が測定できない。そのため、トラフィック量が多く、キュー長が閾値を超えた状態が継続する場合、通信が低速な仮想マシンが存在するにも関わらず、送信先の仮想マシンにおいて輻輳が発生していると判断されてしまい、低速な仮想マシン間の通信を検出することができない。
図10に、トラフィック量が多い場合に低速な仮想マシン間の通信が検出されない例を示す。例えば、図10に示すように、送信元の仮想マシンVM1と送信先の仮想マシンVM6との間の仮想マシン間の通信が低速である場合を考える。送信元の仮想マシンVM1と送信先の仮想マシンVM6との間の通信において、トラフィック量が多いために入力キュー21のキュー長と出力キュー23のキュー長とが閾値を超えた状態が継続する場合、送信先の仮想マシンの輻輳と区別がつかない。そのため、送信元の仮想マシンVM1と送信先の仮想マシンVM6との間の仮想マシン間の通信が低速であっても、当該低速な仮想マシン間の通信を検出できない現象が発生する。
[本実施形態の概要]
上記説明したように、送信先の仮想マシンの輻輳が発生し、仮想スイッチ16の出力キュー23のキュー長が増加し一定以上の数になると、仮想スイッチ16から送信先の仮想マシンへパケット到達イベント通知ができなくなる。そのため、仮想スイッチ16の出力キュー23にキューを繋ぐことができなくなり、仮想スイッチ16の入力キュー21に、輻輳が発生した送信先の仮想マシン宛のパケットが溜まり、仮想スイッチ16の入力キュー21のキュー長が増加する。
輻輳が発生した場合、仮想スイッチ16の入力キュー21のキュー長の時間的推移と出力キュー23のキュー長の時間的推移の相関は高くなる。例えば、図11に示すように、送信元の仮想マシンVM2の入力キュー21に含まれる送信先の仮想マシンVM5のキュー長と、送信先の仮想マシンVM5の出力キュー23のキュー長とは、時間的推移の相関が高くなる。
一方、トラフィック量が多い場合も、入力キュー21のキュー長と出力キュー23のキュー長との相関が高くなる。トラフィック量が多くなることにより仮想マシンの間の通信が低速になり、仮想スイッチ16の入力キュー21のキュー長が閾値を超えた状態が継続し、出力キュー23のキュー長も閾値を超えた状態が継続するためである。例えば、上記図11に示すように、送信元の仮想マシンVM1と送信先の仮想マシンVM6との間の通信では、トラフィック量が多いため仮想マシンの間の通信が低速になり、キュー長の相関が高くなる。
そのため、単にキュー長の相関のみを用いたのでは、トラフィック量が多いために仮想マシンの間の通信が低速になる場合を特定することができない。
ここで、キュー長の相関が高い仮想マシン間の通信において、入力キュー21のキュー長の増加率が高い場合、送信先の仮想マシンで輻輳が発生していると判断することができる。出力キュー23のキュー長の増加が入力キュー21のキュー長に影響を与え、キュー長の相関が高くなり、入力キュー21のキュー長が増加するためである。
一方、キュー長の相関が高い仮想マシン間の通信において、入力キュー21のキュー長の増加率が低い場合、仮想マシン間の通信は低速と判断できる。
そこで、本実施形態では、入力キュー21に含まれる送信先の仮想マシンのキュー長が長く、キュー長の相関が高く、かつ入力キュー21に含まれる送信先の仮想マシンのキュー長の増加率が低い場合の仮想マシンの組を、ミラーリング対象として特定する。また、送信先の仮想マシンのキュー長が長く、かつ入力キュー21のキュー長と出力キュー23のキュー長との相関が低い場合の仮想マシンの組をミラーリング対象として特定する。
以下、実施形態について詳述する。なお、以下の実施形態では、仮想システムにおける仮想マシン間の通信を解析する解析装置を例に説明する。
<実施形態>
図12に示すように、本実施形態に係る解析装置30は、仮想スイッチ管理機能部32と、Layer4(L4)解析機能部46とを備えている。本実施形態では、図13に示すように、仮想システム10に含まれる仮想マシンの1つを解析装置30として機能させる。解析装置30は、仮想スイッチ16のポートをミラーリング31することにより仮想マシン間の通信を解析する。
仮想スイッチ管理機能部32は、基本周期設定部36と、キュー測定部38と、情報記憶部40と、ミラーリング判定部42と、ミラーリング設定部44とを備えている。情報記憶部40は、開示の技術の記憶部の一例である。また、ミラーリング判定部42は、開示の技術の特定部の一例である。
基本周期設定部36は、キュー測定部38とミラーリング判定部42とを周期的に動作させる。本実施形態において、基本周期設定部36は、100msec毎にキュー測定部38を動作させ、1,000msec毎にミラーリング判定部42を動作させる場合を例に説明する。
キュー測定部38は、基本周期設定部36によって設定された周期に応じて、仮想スイッチ16の入力キュー21のキュー長を測定する。具体的には、キュー測定部38は、複数の送信元の仮想マシンの各々についての、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシン毎のキュー長を測定する。そして、キュー測定部38は、測定結果を入力キュー情報として情報記憶部40に格納する。
また、キュー測定部38は、基本周期設定部36によって設定された周期に応じて、仮想スイッチ16の出力キュー23のキュー長を測定する。具体的には、キュー測定部38は、複数の送信先の仮想マシンの各々についての、送信先の仮想マシンの出力キュー23のキュー長を測定する。そして、キュー測定部38は、測定結果を出力キュー情報として情報記憶部40に格納する。
情報記憶部40には、キュー測定部38によって得られた測定結果を表す入力キューテーブル及び出力キューテーブルと、ミラーリング対象の仮想マシンの情報を記憶するミラーリング設定テーブルとが格納される。
図14に、情報記憶部40に格納される入力キューテーブル52の一例を示す。入力キューテーブル52には、キュー測定部38によって測定された入力キュー情報が時系列に格納される。図14に示す入力キューテーブル52には、各周期時刻における入力キュー情報が格納されている。図14に示す入力キューテーブル52には、送信元の仮想マシンが仮想マシンVM1,仮想マシンVM2,仮想マシンVM3,…,仮想マシンVMnである場合を例に示す。また、図14に示す入力キューテーブル52には、送信先の仮想マシンが仮想マシンVM4,仮想マシンVM5,仮想マシンVM6である場合を例に示す。
また、図15に、情報記憶部40に格納される出力キューテーブル54の一例を示す。出力キューテーブル54には、キュー測定部38によって測定された出力キュー情報が時系列に格納される。図15に示す出力キューテーブル54には、各周期時刻における出力キュー情報が格納されている。図15に示す出力キューテーブル54には、送信先の仮想マシンが仮想マシンVM4,仮想マシンVM5,仮想マシンVM6,…,仮想マシンVMmである場合を例に示す。
また、図16に、情報記憶部40に格納されるミラーリング設定テーブル56の一例を示す。ミラーリング設定テーブル56には、送信元の仮想マシンと送信先の仮想マシンとの組の各々について、ミラーリングの開始又はミラーリングの停止を表す情報が格納されている。送信元の仮想マシンと送信先の仮想マシンとの組に対応する項目が1の場合には、ミラーリングの開始を表し、0の場合にはミラーリングの停止を表す。図16に示すミラーリング設定テーブル56には、送信元の仮想マシンが仮想マシンVM1,仮想マシンVM2,仮想マシンVM3,…,仮想マシンVMnである場合を例に示す。また、図16に示すミラーリング設定テーブル56には、送信先の仮想マシンが仮想マシンVM4,仮想マシンVM5,仮想マシンVM6である場合を例に示す。
ミラーリング判定部42は、基本周期設定部36によって設定された周期に応じて、情報記憶部40から、入力キュー情報の時系列と出力キュー情報の時系列とを読み出す。
次に、ミラーリング判定部42は、入力キュー情報の時系列に基づいて、入力キュー21に含まれる送信先の仮想マシンのキュー長が第1閾値以上か否かを判定する。
なお、ミラーリング判定部42は、情報記憶部40の入力キューテーブル52に格納された入力キュー情報に基づいて、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのキュー長が第1閾値以上であるか否かを判定する。第1閾値は予め設定される。本実施形態では、第1閾値としてキュー長100を用いる。
また、キュー長が第1閾値以上であるか否かを判定する場合、ミラーリング判定部42は、読み出した入力キュー情報の時系列に含まれる何れかの入力キュー情報に基づいて、送信先の仮想マシンのキュー長が第1閾値以上であるか否かを判定する。本実施形態では、最新の入力キュー情報に基づいて、送信先の仮想マシンのキュー長が第1閾値以上であるか否かを判定する場合を例に説明する。
次に、ミラーリング判定部42は、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのキュー長の時間的推移と送信先の仮想マシンの出力キュー23のキュー長の時間的推移との相関係数を求める。
具体的には、ミラーリング判定部42は、入力キュー情報及び出力キュー情報の時系列に基づいて、例えば以下の式(1)に従って、相関係数を求める。なお、相関係数は、開示の技術の相関の値の一例である。
なお、上記式(1)のiは時刻を表し、nは予め設定された時間区間を表す。本実施形態では1,000msec毎にミラーリングの判定が行われるため、nは1,000msecとなる。xは、時刻iに測定された、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのキュー長を表し、yは、時刻iに測定された、送信先の仮想マシンの出力キュー23のキュー長を表す。なお、相関の値は上記(1)式に示す相関係数の例に限定されない。
次に、ミラーリング判定部42は、求められた相関係数が、第2閾値より大きいか否かを判定する。第2閾値は予め設定される。本実施形態では、第2閾値として0.7を用いる。
そして、ミラーリング判定部42は、送信元の仮想マシンの入力キュー21に含まれる、送信先の仮想マシンのキュー長の増加率を算出する。具体的には、ミラーリング判定部42は、一定期間の送信元の仮想マシンの入力キュー21に含まれる、送信先の仮想マシンのキュー長の増加率を求める。なお、本実施形態では、ミラーリング判定部42を動作させる周期である1,000msecを一定期間とする。また、キュー長の増加率としては、yをキュー長、xを時間とした場合、近似式y=ax+bを求め、aを増加率として算出する。なお、bはaと共に求められる定数である。
次に、ミラーリング判定部42は、求められた増加率が第3閾値以下であるか否かを判定する。第3閾値は予め設定される。本実施形態では、第3閾値として1を用いる。
そして、ミラーリング判定部42は、送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定する。
具体的には、ミラーリング判定部42は、入力キュー21のキュー長が第1閾値以上であり、かつ求められた相関係数が第2閾値以下である送信元の仮想マシンと送信先の仮想マシンとの組を、ミラーリング対象として特定する。相関係数が第2閾値以下の場合、仮想マシン間の通信が低速で、送信元の仮想マシンの入力キュー21に含まれる、送信先の仮想マシンのキュー長が増加していると判断される。
また、ミラーリング判定部42は、入力キュー21のキュー長が第1閾値以上であり、求められた相関係数が第2閾値より大きく、かつ求められた増加率が第3閾値以下である送信元の仮想マシンと送信先の仮想マシンとの組を、ミラーリング対象として特定する。増加率が第3閾値以下の場合、トラフィック量が多く、入力キュー21のキュー長が継続的に閾値を超えているため、低速な仮想マシン間の通信により入力キュー21のキュー長が増加していると判断される。一方、増加率が第3閾値より大きい場合は、送信先の仮想マシンの輻輳により入力キュー21のキュー長が増加していると判断され、低速な仮想マシン間の通信が要因でキュー長が増加しているとは判断されない。
そして、ミラーリング判定部42は、ミラーリング対象の特定結果に応じて、情報記憶部40のミラーリング設定テーブル56を更新する。
ミラーリング設定部44は、情報記憶部40のミラーリング設定テーブル56から情報を読み出し、ミラーリング対象として特定された送信元の仮想マシンと送信先の仮想マシンとの間の通信に対し、ミラーリングを設定する。
具体的には、ミラーリング設定部44は、送信元の仮想マシンをミラーリングする場合、ミラーリング対象として特定された送信元の仮想マシンと送信先の仮想マシンとの組に基づき、当該送信元の仮想マシンの入力キュー21の送信先の仮想マシンで論理和を取る。そして、ミラーリング設定部44は、当該送信元の仮想マシンとの組み合わせでミラーリング対象として特定された送信先の仮想マシンが1つでも存在する場合は、当該送信元の仮想マシンから仮想スイッチ16へのポートに対し、ミラーリングを設定する。
また、ミラーリング設定部44は、送信先の仮想マシンをミラーリングする場合、仮想スイッチ16から当該送信先の仮想マシンへのポートに対し、ミラーリングを設定する。
L4解析機能部46は、L4解析機能を有し、ミラーリング設定部44によってミラーリングされたパケットを解析する。L4解析機能部46は、パケット受信部48と、セッション管理部50とを備える。
パケット受信部48は、情報記憶部40に格納されるミラーリング設定テーブル56から、ミラーリング対象の仮想マシンの情報を読み出し、ミラーリング対象の仮想マシン間で送受信されているパケットを受信する。
セッション管理部50は、パケット受信部48によって受信されたパケットに基づいて、仮想マシン間の通信を解析する。
次に、図17〜図19を参照して、解析装置30の処理を具体的に説明する。
キュー測定部38は、基本周期設定部36によって設定された周期である100msec毎に、入力キュー21に含まれる送信先の仮想マシン毎のキュー長及び出力キュー23のキュー長を測定する。キュー測定部38による測定処理では、図17に示すように、キュー測定部38は、送信元の仮想マシン毎の入力キュー21内での送信先の仮想マシン毎のキュー長(q14,q15,q16,q24,q25,q26,q34,q35,q36)。また、キュー測定部38は、送信先の仮想マシン毎の出力キュー23のキュー長(q4,q5,q6)を測定する。
そして、キュー測定部38は、入力キュー21のキュー長の測定結果を、情報記憶部40の入力キューテーブル52へ格納する。また、キュー測定部38は、出力キュー23のキュー長の測定結果を、情報記憶部40の出力キューテーブル54へ格納する。
ミラーリング判定部42は、基本周期設定部36によって設定された周期である1000msec毎に、情報記憶部40から入力キュー情報の時系列と出力キュー情報の時系列とを読み出す。
例えば、ミラーリング判定部42は、入力キューテーブル52から、送信元の仮想マシンVM1の入力キュー21に含まれる、送信先の仮想マシンVM4、VM5、VM6のキュー長q14、q15、q16の時系列を読み出す。また、ミラーリング判定部42は、入力キューテーブル52から、送信元の仮想マシンVM2の入力キュー21に含まれる、送信先の仮想マシンVM4、VM5、VM6のキュー長q24、q25、q26の時系列を読み出す。また、ミラーリング判定部42は、入力キューテーブル52から、送信元の仮想マシンVM3の入力キュー21に含まれる、送信先の仮想マシンVM4、VM5、VM6のキュー長q34、q35、q36の時系列を読み出す。
また、ミラーリング判定部42は、情報記憶部40の出力キューテーブル54から、出力キュー23の仮想マシンVM4のキュー長q4、仮想マシンVM5のキュー長q5、及び仮想マシンVM6のキュー長q6の時系列を読み出す。
そして、ミラーリング判定部42は、読み出した最新の入力キュー21のキュー長に基づいて、送信先の仮想マシン毎のキュー長が100以上であるか否かを判定する。
具体的には、ミラーリング判定部42は、図18に示すように、送信先の仮想マシン毎のキュー長(q14,q15,q16,q24,q25,q26,q34,q35,q36)が100以上であるか否かを判定する。判定の結果、図18に示すように、q16とq25とq34とが100以上であることがわかる。
次に、ミラーリング判定部42は、入力キュー21に含まれる送信先の仮想マシンのキュー長の時間的推移と、送信先の仮想マシンの出力キュー23のキュー長の時間的推移との相関係数を求める。
仮想マシンVM1の入力キュー21内の送信先の仮想マシンVM4のキュー長の時間的推移と仮想マシンVM4の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が1と算出されたとする。
仮想マシンVM1の入力キュー21内の送信先の仮想マシンVM5のキュー長の時間的推移と仮想マシンVM5の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が0.2と算出されたとする。
仮想マシンVM1の入力キュー21内の送信先の仮想マシンVM6のキュー長の時間的推移と仮想マシンVM6の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が1と算出されたとする。
仮想マシンVM2の入力キュー21内の送信先の仮想マシンVM4のキュー長の時間的推移と仮想マシンVM4の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が1と算出されたとする。
仮想マシンVM2の入力キュー21内の送信先の仮想マシンVM5のキュー長の時間的推移と仮想マシンVM5の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が1と算出されたとする。
仮想マシンVM2の入力キュー21内の送信先の仮想マシンVM6のキュー長の時間的推移と仮想マシンVM6の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が0.2と算出されたとする。
仮想マシンVM3の入力キュー21内の送信先の仮想マシンVM4のキュー長の時間的推移と仮想マシンVM4の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が0.2と算出されたとする。
仮想マシンVM3の入力キュー21内の送信先の仮想マシンVM5のキュー長の時間的推移と仮想マシンVM5の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が0.2と算出されたとする。
仮想マシンVM3の入力キュー21内の送信先の仮想マシンVM6のキュー長の時間的推移と仮想マシンVM6の出力キュー23のキュー長の時間的推移との相関係数は、以下の式に従って算出される。例えば、相関係数が0.3と算出されたとする。
上記のように算出された各相関係数を図19に示す。上記図18及び図19に示すように、入力キュー21内の送信先の仮想マシン毎のキュー長が100以上であり、かつ相関係数が0.7以下であるのは、送信元の仮想マシンVM3と送信先の仮想マシンVM4の組であることがわかる。
次に、ミラーリング判定部42は、一定期間において、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのキュー長の増加率を算出する。
例えば、ミラーリング判定部42は、仮想マシンVM1の入力キュー21内の送信先の仮想マシンVM4、VM5、VM6のキュー長q14、q15、q16の各々の増加率を算出する。また、ミラーリング判定部42は、仮想マシンVM2の入力キュー21内の送信先の仮想マシンVM4、VM5、VM6のキュー長q24、q25、q26の各々の増加率を算出する。また、ミラーリング判定部42は、仮想マシンVM3の入力キュー21内の送信先の仮想マシンVM4、VM5、VM6のキュー長q34、q35、q36の各々の増加率を算出する。
次に、ミラーリング判定部42は、算出した増加率が1以下であるか否かを判定する。上記図18、図19、及び図20に示すように、送信先の仮想マシン毎のキュー長が100以上であり、かつ相関係数が0.7より大きく、かつ増加率が1以下であるのは、送信元の仮想マシンVM1と送信先の仮想マシンVM6の組であることがわかる。
次に、ミラーリング判定部42は、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシン毎のキュー長が100以上であり、かつ相関係数が0.7以下である送信元の仮想マシンと送信先の仮想マシンとの組を、ミラーリング対象として特定する。
図21では、入力キュー21に含まれる送信先の仮想マシン毎のキュー長が100以上であり、かつ相関係数が0.7以下である送信元の仮想マシンと送信先の仮想マシンとの組は、仮想マシンVM3と仮想マシンVM4との組である。そのため、ミラーリング判定部42は、仮想マシンVM3と仮想マシンVM4との組をミラーリング対象として特定する。
ミラーリング判定部42は、入力キュー21に含まれる送信先の仮想マシンのキュー長が100以上であり、相関係数が0.7より大きく、キュー長の増加率が1以下の送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定する。
図21では、入力キュー21に含まれる送信先の仮想マシンのキュー長が100以上であり、かつ相関係数が0.7より大きく、かつキュー長の増加率が1以下の送信元の仮想マシンと送信先の仮想マシンとの組は、仮想マシンVM1、VM6の組である。そのため、ミラーリング判定部42は、仮想マシンVM1と仮想マシンVM6との組をミラーリング対象として特定する。
なお、上記説明では、送信元仮想マシンと送信先仮想マシンとの複数の組の各々について、キュー長の相関係数を求め、かつ送信先の仮想マシンのキュー長の増加率を算出する場合を例に説明したが、これに限定されるものではない。例えば、上記図19に示すように、入力キュー21に含まれる送信先の仮想マシンのキュー長が第1閾値以上と判定された仮想マシンの組についてのみ、相関係数を求めてもよい(図19のドットによる網掛け及び斜線による網掛け部分)。また、上記図20に示すように、送信先の仮想マシンのキュー長が第1閾値以上と判定され、かつ相関係数が閾値より大きいと判定された仮想マシンの組についてのみ、送信先の仮想マシンのキュー長の増加率を算出してもよい(図20のドットによる網掛け部分)。
また、ミラーリング判定部42は、ミラーリング対象の特定結果に応じて、情報記憶部40のミラーリング設定テーブル56を更新する。
ミラーリング設定部44は、ミラーリング判定部42によってミラーリング対象として特定された、送信元の仮想マシンと送信先の仮想マシンとの組に基づいて、送信元の仮想マシンと送信先の仮想マシンとに対してミラーリングの設定を行う。
具体的には、ミラーリング設定テーブル56において、送信元の仮想マシンに対し、通信が低速と判断された送信先の仮想マシンが1つでも存在する場合、当該送信元の仮想マシンから仮想スイッチ16へのポートがミラーリング設定される。例えば、図21に示すように、送信元の仮想マシンVM1から仮想スイッチ16へのポートと送信元の仮想マシンVM3から仮想スイッチ16へのポートとがミラーリング設定される。
また、ミラーリング設定テーブル56において、送信元の仮想マシンに対して、低速と判断された送信先の仮想マシンが1つでも存在する場合は、仮想スイッチ16から当該送信先の仮想マシンへのポートがミラーリング設定される。例えば、図21に示すように、仮想スイッチ16から送信元の仮想マシンVM4へのポートと仮想スイッチ16から送信元の仮想マシンVM6へのポートとがミラーリング設定される。
そして、パケット受信部48は、仮想マシンVM1、仮想マシンVM6、仮想マシンVM3、及び仮想マシンVM4の各々のポートで送受信されているパケットを受信する。セッション管理部50は、パケット受信部48によって受信されたパケットに基づいて、仮想マシン間の通信を解析する。
解析装置30は、例えば図22に示すコンピュータ80で実現することができる。コンピュータ80はCPU81、一時記憶領域としてのメモリ82、及び不揮発性の記憶部83を備える。また、コンピュータ80は、入出力I/F84と、記録媒体89に対するデータの読み込み及び書き込みを制御するread/write(R/W)部85と、インターネット等のネットワークに接続されるネットワークI/F86とを備える。CPU81、メモリ82、記憶部83、入出力I/F84、R/W部85、及びネットワークI/F86は、バス87を介して互いに接続される。
記憶部83は、Hard Disk Drive(HDD)、solid state drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部83には、コンピュータ80を解析装置30として機能させるための解析プログラム90が記憶される。解析プログラム90は、基本周期設定プロセス91と、キュー測定プロセス92と、ミラーリング判定プロセス93と、ミラーリング設定プロセス94と、パケット受信プロセス95と、セッション管理プロセス96とを有する。また、記憶部83は、情報記憶部40の各々を構成する情報が記憶される情報記憶領域97を有する。
CPU81は、解析プログラム90を記憶部83から読み出してメモリ82に展開し、解析プログラム90の各々が有するプロセスを順次実行する。なお、本実施形態では、CPU81は複数のCPUを含んで構成されている。解析装置30は、1つの仮想マシンとして機能する。そのため、仮想システムのプログラム(図示省略)が記憶部83から読み出されてメモリ82に展開され、仮想システムが設定される。そして、解析装置30は、設定された仮想システム内の1つの仮想マシンとして設定される。
CPU81は、基本周期設定プロセス91を実行することで、図12に示す基本周期設定部36として動作する。また、CPU81は、キュー測定プロセス92を実行することで、図12に示すキュー測定部38として動作する。また、CPU81は、ミラーリング判定プロセス93を実行することで、図12に示すミラーリング判定部42として動作する。また、CPU81は、ミラーリング設定プロセス94を実行することで、図12に示すミラーリング設定部44として動作する。また、CPU81は、パケット受信プロセス95を実行することで、図12に示すパケット受信部48として動作する。また、CPU81は、セッション管理プロセス96を実行することで、図12に示すセッション管理部50として動作する。
このように、解析プログラム90を実行したコンピュータ80が、解析装置30として機能することになる。
なお、解析プログラム90により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、図23〜図33を参照して、本実施形態に係る解析装置30の作用について説明する。
図23は、解析装置30で実行される解析処理のフローの一例を示す。
コンピュータ80によって、複数の仮想マシンと仮想スイッチとハイパーバイザーとを備える仮想システムが構築され、仮想マシン間の通信が行われているときに、図23に示す解析処理ルーチンが実行される。
<解析処理ルーチン>
ステップS10において、仮想スイッチ管理機能部32は、仮想マシン間の通信のうち、ミラーリング対象の仮想マシンの組を特定する。そして、仮想スイッチ管理機能部32は、ミラーリング対象として特定された仮想マシンの組に基づいて、仮想マシンのポート通信に対してミラーリングを行う。ステップS10は、図24に示す仮想スイッチ管理処理ルーチンによって実現される。
ステップS12において、基本周期設定部36は、100msec待機するようにキュー測定部38とミラーリング判定部42とを制御する。
図24に示す仮想スイッチ管理処理ルーチンについて説明する。
ステップS20において、キュー測定部38は、複数の送信元の仮想マシンの各々についての、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシン毎のキュー長を測定する。また、キュー測定部38は、複数の送信先の仮想マシンの各々についての、送信先の仮想マシンの出力キュー23の長さを測定する。ステップS20は、図25に示す入出力キュー測定処理ルーチンによって実現される。
図25に示す入出力キュー測定処理ルーチンについて説明する。
ステップS30において、キュー測定部38は、複数の送信元の仮想マシンの各々についての、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシン毎のキュー長を測定する。ステップS30は、図26に示す入力キュー算出処理ルーチンによって実現される。
ステップS32において、キュー測定部38は、複数の送信先の仮想マシンの各々についての、送信先の仮想マシンの出力キュー23の長さを測定して、入出力キュー測定処理ルーチンを終了する。ステップS32は、図27に示す出力キュー算出処理ルーチンによって実現される。
図26に示す入力キュー算出処理ルーチンについて説明する。
ステップS40において、キュー測定部38は、1つの送信元の仮想マシンを処理対象に設定する。
ステップS42において、キュー測定部38は、上記ステップS40で設定された送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのうち、1つの送信先の仮想マシンを処理対象に設定する。
ステップS44において、キュー測定部38は、上記ステップS40で設定された送信元の仮想マシンの入力キュー21において、上記ステップS42で設定された送信先の仮想マシン宛のキュー長を算出する。
ステップS46において、キュー測定部38は、上記ステップS44で算出されたキュー長を、情報記憶部40の入力キューテーブル52に格納する。
ステップS48において、キュー測定部38は、上記ステップS40で設定された送信元の仮想マシンの入力キュー21に含まれる全ての送信先の仮想マシンについて、上記ステップS42〜ステップS46の処理を実行したか否かを判定する。全ての送信先の仮想マシンについて、上記ステップS42〜ステップS46の処理を実行した場合には、ステップS50へ進む。一方、上記ステップS42〜ステップS46の処理を実行していない送信先の仮想マシンが存在する場合には、ステップS42へ戻る。
ステップS50において、キュー測定部38は、全ての送信元の仮想マシンについて、上記ステップS40〜ステップS48の処理を実行したか否かを判定する。全ての送信元の仮想マシンについて、上記ステップS42〜ステップS48の処理を実行した場合には、入力キュー算出処理ルーチンを終了する。一方、上記ステップS40〜ステップS48の処理を実行していない送信元の仮想マシンが存在する場合には、ステップS40へ戻る。
図27に示す出力キュー算出処理ルーチンについて説明する。
ステップS60において、キュー測定部38は、1つの送信先の仮想マシンを処理対象に設定する。
ステップS62において、キュー測定部38は、上記ステップS60で設定された送信先の仮想マシンの出力キュー23のキュー長を算出する。
ステップS64において、キュー測定部38は、上記ステップS62で算出されたキュー長を、情報記憶部40の出力キューテーブル54に格納する。
ステップS66において、キュー測定部38は、全ての送信先の仮想マシンについて、上記ステップS60〜ステップS64の処理を実行したか否かを判定する。全ての送信先の仮想マシンについて、上記ステップS60〜ステップS64の処理を実行した場合には、出力キュー算出処理ルーチンを終了する。一方、上記ステップS60〜ステップS64の処理を実行していない送信先の仮想マシンが存在する場合には、ステップS60へ戻る。
次に、図24に示す仮想スイッチ管理処理ルーチンに戻り、ステップS22において、基本周期設定部36は、入出力キュー測定処理の呼び出し回数が所定回数に到達したか否かを判定する。本実施形態では、1,000msec毎にミラーリングの設定の判定処理を行うため、呼び出し回数が10回に到達したか否かを判定する。呼び出し回数が10回に到達した場合には、ステップS24へ進む。一方、呼び出し回数が10回に到達していない場合には、ステップS26へ進み、基本周期設定部36は、呼び出し回数を更新して仮想スイッチ管理処理ルーチンを終了する。
ステップS24において、ミラーリング判定部42は、情報記憶部40から入力キュー情報の時系列と出力キュー情報の時系列とを読み出し、ミラーリング対象の仮想マシンの組を特定する。ステップS24は、図28に示すミラーリング設定判定処理ルーチンによって実現される。
ステップS28において、基本周期設定部36は、呼び出し回数をリセットして仮想スイッチ管理処理ルーチンを終了する。
図28に示すミラーリング設定判定処理ルーチンについて説明する。
ステップS70において、ミラーリング判定部42は、情報記憶部40から入力キュー情報の時系列と出力キュー情報の時系列とを読み出す。そして、ミラーリング判定部42は、入力キュー情報の時系列と出力キュー情報の時系列とに基づいて、ミラーリング対象の仮想マシンの組を特定する。ステップS70は、図29に示すキュー長相関係数算出処理ルーチンによって実現される。
ステップS72において、ミラーリング設定部44は、上記ステップS70でミラーリング対象として特定された送信元の仮想マシンと送信先の仮想マシンとの組に基づいて、仮想マシンのポートに対し、ミラーリングを設定する。ステップS72は、図30に示すミラーリング設定処理ルーチンによって実現される。
ステップS74において、L4解析機能部46は、上記ステップS72でミラーリングが設定されたポートの通信に対してミラーリングを行う。
図29に示すキュー長相関係数算出処理ルーチンについて説明する。
ステップS80において、ミラーリング判定部42は、1つの送信元の仮想マシンを処理対象に設定する。
ステップS82において、ミラーリング判定部42は、上記ステップS80で設定された送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのうち、1つの送信先の仮想マシンを処理対象に設定する。
ステップS84において、ミラーリング判定部42は、入力キューテーブル52から、上記ステップS80で設定された送信元の仮想マシンの入力キュー21に含まれる、上記ステップS82で設定された送信先の仮想マシンのキュー長を読み出す。
ステップS86において、ミラーリング判定部42は、出力キューテーブル54から、上記ステップS82で設定された送信先の仮想マシンの出力キュー23のキュー長を読み出す。
ステップS88において、ミラーリング判定部42は、判定周期(ここでは1,000msec)に対応する入力キュー情報及び出力キュー情報、すなわち過去n回分(ここでは10回分)の入力キュー情報及び出力キュー情報を読み出したか否かを判定する。1,000msecに対応する入力キュー情報及び出力キュー情報を読み出した場合には、ステップS90へ進む。一方、1,000msecに対応する入力キュー情報及び出力キュー情報を読み出していない場合には、ステップS84へ戻る。
ステップS90において、ミラーリング判定部42は、上記ステップS84で読み出された最新のキュー長に基づいて、上記ステップS82で設定された送信先の仮想マシンのキュー長が第1閾値(ここでは100)以上であるか否かを判定する。キュー長が100以上である場合には、ステップS92へ進む。一方、キュー長が100未満である場合には、ステップS94へ進む。
ステップS92において、ミラーリング判定部42は、入力キュー情報及び出力キュー情報の時系列に基づいて、上記式(1)に従って相関係数を求める。ステップS92は、図31に示す相関係数算出処理ルーチンによって実現される。
図31に示す相関係数算出処理ルーチンについて説明する。
ステップS120において、ミラーリング判定部42は、入力キュー情報及び出力キュー情報の時系列に基づいて、上記式(1)に従って、相関係数を求める。
ステップS122において、ミラーリング判定部42は、上記ステップS120で求められた相関係数が、第2閾値(ここでは0.7)以下であるか否かを判定する。相関係数が0.7以下である場合には、ステップS124へ進む。一方、相関係数が、0.7より大きい場合には、ステップS126へ進む。
ステップS124において、ミラーリング判定部42は、情報記憶部40に格納されるミラーリング設定テーブル56を更新する。ステップS124は、図32に示すデータ設定処理ルーチンによって実現される。
図32に示すデータ設定処理ルーチンについて説明する。
ステップS140において、ミラーリング判定部42は、ミラーリング設定テーブル56に対し、上記ステップS80で設定された送信元の仮想マシン及び上記ステップS82で設定された送信先の仮想マシンの組に対応する項目を1に更新する。そして、ミラーリング判定部42は、データ設定処理ルーチンを終了する。
次に、相関係数算出処理ルーチンへ戻り、ステップS126において、ミラーリング判定部42は、一定期間における、送信元の仮想マシンの入力キュー21に含まれる送信先の仮想マシンのキュー長の増加率を算出する。ステップS126は、図33に示す増加率算出処理ルーチンによって実現される。
図33に示す増加率算出処理ルーチンについて説明する。
ステップS130において、ミラーリング判定部42は、一定期間における、上記ステップS80で設定された送信元の仮想マシンの入力キュー21に含まれる上記ステップS82で設定された送信先の仮想マシン宛のキュー長の増加率を算出する。
ステップS132において、ミラーリング判定部42は、上記ステップS130で算出された増加率が1以下であるか否かを判定する。増加率が1以下である場合には、ステップS134へ進む。一方、増加率が1より大きい場合には、増加率算出処理ルーチンを終了する。
ステップS134において、ミラーリング判定部42は、情報記憶部40に格納されるミラーリング設定テーブル56を更新する。ステップS124は、図32に示すデータ設定処理ルーチンによって実現される。
次に、図29に示すキュー長相関係数算出処理ルーチンに戻り、ステップS94において、ミラーリング判定部42は、全ての送信先の仮想マシンについて、上記ステップS82〜ステップS92の処理を実行したか否かを判定する。全ての送信先の仮想マシンについて、上記ステップS82〜ステップS92の処理を実行した場合には、ステップS96へ進む。一方、上記ステップS82〜ステップS92の処理を実行していない送信先の仮想マシンが存在する場合には、ステップS82へ戻る。
ステップS96において、ミラーリング判定部42は、全ての送信元の仮想マシンについて、上記ステップS80〜ステップS94の処理を実行したか否かを判定する。全ての送信元の仮想マシンについて、上記ステップS80〜ステップS94の処理を実行した場合には、キュー長相関係数算出処理ルーチンを終了する。一方、上記ステップS80〜ステップS94の処理を実行していない送信元の仮想マシンが存在する場合には、ステップS80へ戻る。
次に図28に示すミラーリング設定判定処理ルーチンに戻り、ステップS72においてミラーリング設定部44は、ミラーリング対象として特定された送信元の仮想マシンと送信先の仮想マシンとの組に基づき、仮想マシンのポートに対してミラーリングを設定する。
図30に示すミラーリング設定処理ルーチンについて説明する。
ステップS100において、ミラーリング設定部44は、前回の処理でミラーリングが設定された仮想マシンのポートのミラーリング設定を解除する。
ステップS102において、ミラーリング設定部44は、1つの送信元の仮想マシンを処理対象に設定する。
ステップS104において、ミラーリング設定部44は、ミラーリング設定テーブル56に基づいて、上記ステップS102で設定された送信元の仮想マシンに対する、送信先の仮想マシンの項目の値の論理和を計算する。具体的には、上記ステップS102で設定された送信元の仮想マシンに対する、送信先の仮想マシンの項目に格納された1又は0の値を用いて、送信先の各仮想マシンに対応する項目の値の論理和を計算する。
ステップS106において、上記ステップS104で計算された論理和の値が1であるか否かを判定する。論理和の値が1である場合には、ステップS108へ進む。一方、論理和の値が1でない場合には、ステップS112へ進む。
ステップS108において、ミラーリング設定部44は、上記ステップS102で設定された送信元の仮想マシンのポートに対し、ミラーリングを設定する。
ステップS110で、ミラーリング設定部44は、ステップS102で設定された送信元の仮想マシンに対する、送信先の仮想マシンの項目のうち、ミラーリング設定テーブル56の項目の値が1の送信先の仮想マシンのポートに対し、ミラーリングを設定する。
ステップS112において、ミラーリング設定部44は、全ての送信元の仮想マシンについて、上記ステップS102〜ステップS110の処理を実行したか否かを判定する。全ての送信先の仮想マシンについて、上記ステップS102〜ステップS110の処理を実行した場合には、ミラーリング設定処理ルーチンを終了する。一方、上記ステップS102〜ステップS114の処理を実行していない送信先の仮想マシンが存在する場合には、ステップS102へ戻る。
以上説明したように、本実施形態の解析装置30は、入力キュー21に含まれる送信先の仮想マシン毎のキュー長の時間的推移と送信先の仮想マシンの出力キュー23の長さの時間的推移との相関係数を求める。また、解析装置30は、相関係数が第2閾値より大きい送信元の仮想マシンと送信先の仮想マシンとの組のうち、送信先の仮想マシンのキュー長の増加率が第3閾値以下である送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定する。また、解析装置30は、相関係数が第2閾値以下である送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定する。これにより、仮想マシンの間の通信速度が低速である送信元の仮想マシンと送信先の仮想マシンとの組をミラーリング対象として特定することができる。
また、本実施形態の解析装置30では、仮想マシンの間の低速な通信が判別されるため、同一ソケット内のCPUコア間の通信なのか、異なるソケット間のCPUコア間の通信なのか判定することができる。また、仮想マシンの間の低速な通信が増減した場合も、動的にミラーリングの設定をすることが可能になる。また、輻輳が発生しそうな仮想マシンの間の通信を特定することができる。
次に、実施形態の変形例を説明する。
実施形態では、コンピュータ80によって設定された仮想システム内において、1つの仮想マシンとして解析装置30が実現される場合を例に説明したが、これに限定されるものではない。例えば、解析装置30が1つのコンピュータによって実現され、解析装置30は、他のコンピュータによって実現された仮想システム内の仮想マシン間の通信を解析するようにしてもよい。
また、実施形態では、ミラーリング対象として特定された、送信元の仮想マシンと送信先の仮想マシンとの組のポートに対し、ミラーリングを設定する場合を例に説明したが、これに限定されるものではない。例えば、送信元の仮想マシンと送信先の仮想マシンとの組の少なくとも一方の仮想マシンのポートに対し、ミラーリングを設定するようにしてもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
処理をコンピュータに実行させる解析プログラム。
(付記2)
前記送信元仮想マシンと前記送信先仮想マシンとの複数の組の各々について、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上である場合に、前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値を求め、
前記相関の値が第2閾値より大きい場合に、前記入力キュー情報の前記キュー長の増加率を算出し、
前記入力キュー情報の前記キュー長が第1閾値以上であり、前記相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記入力キュー情報の前記キュー長が第1閾値以上であり、かつ前記相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
処理をコンピュータに実行させる付記1に記載の解析プログラム。
(付記3)
ミラーリング対象として特定された、前記送信元仮想マシンと前記送信先仮想マシンとの組の少なくとも一方に対し、通信をミラーリングする処理を更に実行させる
付記1又は付記2に記載の解析プログラム。
(付記4)
前記入力キュー情報の時系列に含まれる最新の前記キュー長が第1閾値以上である前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関係数を求める処理を更に実行させる
付記1〜付記3の何れか1項に記載の解析プログラム。
(付記5)
複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する特定部
を備えた解析装置。
(付記6)
前記特定部は、前記送信元仮想マシンと前記送信先仮想マシンとの複数の組の各々について、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上である場合に、前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値を求め、
前記相関の値が第2閾値より大きい場合に、前記入力キュー情報の前記キュー長の増加率を算出し、
前記入力キュー情報の前記キュー長が第1閾値以上であり、前記相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記入力キュー情報の前記キュー長が第1閾値以上であり、かつ前記相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する
付記5に記載の解析装置。
(付記7)
ミラーリング対象として特定された、前記送信元仮想マシンと前記送信先仮想マシンとの組の少なくとも一方に対し、通信をミラーリングする設定部を更に含む
付記5又は付記6に記載の解析装置。
(付記8)
前記特定部は、前記入力キュー情報の時系列に含まれる最新の前記キュー長が第1閾値以上である前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関係数を求める
付記5〜付記7の何れか1項に記載の解析装置。
(付記9)
複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
処理をコンピュータが実行する解析方法。
(付記10)
前記送信元仮想マシンと前記送信先仮想マシンとの複数の組の各々について、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上である場合に、前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値を求め、
前記相関の値が第2閾値より大きい場合に、前記入力キュー情報の前記キュー長の増加率を算出し、
前記入力キュー情報の前記キュー長が第1閾値以上であり、前記相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記入力キュー情報の前記キュー長が第1閾値以上であり、かつ前記相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
処理をコンピュータが実行する付記7に記載の解析方法。
(付記11)
ミラーリング対象として特定された、前記送信元仮想マシンと前記送信先仮想マシンとの組の少なくとも一方に対し、通信をミラーリングする処理をコンピュータが実行する
付記7又は付記8に記載の解析方法。
(付記12)
前記入力キュー情報の時系列に含まれる最新の前記キュー長が第1閾値以上である前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関係数を求める
付記7〜付記9の何れか1項に記載の解析方法。
(付記13)
複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
処理をコンピュータに実行させる解析プログラムを記憶した記憶媒体。
16 仮想スイッチ
12 物理コンピュータ
19 ソケット
21 入力キュー
23 出力キュー
30 解析装置
32 仮想スイッチ管理機能部
36 基本周期設定部
38 キュー測定部
40 情報記憶部
42 ミラーリング判定部
44 ミラーリング設定部
46 L4解析機能部
48 パケット受信部
50 セッション管理部
52 入力キューテーブル
54 出力キューテーブル
56 ミラーリング設定テーブル
80 コンピュータ
81 CPU
82 メモリ
83 記憶部
89 記録媒体
90 解析プログラム
91 基本周期設定プロセス
92 キュー測定プロセス
93 ミラーリング判定プロセス
94 ミラーリング設定プロセス
95 パケット受信プロセス
96 セッション管理プロセス
97 情報記憶領域
VM1,VM2,VM3,VM4,VM5,VM6 仮想マシン

Claims (5)

  1. 複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
    前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
    処理をコンピュータに実行させる解析プログラム。
  2. 前記送信元仮想マシンと前記送信先仮想マシンとの複数の組の各々について、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上である場合に、前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値を求め、
    前記相関の値が第2閾値より大きい場合に、前記入力キュー情報の前記キュー長の増加率を算出し、
    前記入力キュー情報の前記キュー長が第1閾値以上であり、前記相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
    前記入力キュー情報の前記キュー長が第1閾値以上であり、かつ前記相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
    処理をコンピュータに実行させる請求項1に記載の解析プログラム。
  3. ミラーリング対象として特定された、前記送信元仮想マシンと前記送信先仮想マシンとの組の少なくとも一方に対し、通信をミラーリングする処理を更に実行させる
    請求項1又は請求項2に記載の解析プログラム。
  4. 複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
    前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する特定部
    を備えた解析装置。
  5. 複数の送信元仮想マシンの各々についての、前記送信元仮想マシンの入力キューに含まれる送信先仮想マシン毎のデータの数を表すキュー長に関する入力キュー情報と、複数の送信先仮想マシンの各々についての、前記送信先仮想マシンの出力キューに含まれるデータの数を表すキュー長に関する出力キュー情報とが時系列に記憶された記憶部から、前記入力キュー情報の時系列と前記出力キュー情報の時系列とを読み出し、
    前記入力キュー情報の時系列と前記出力キュー情報の時系列とに基づいて、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値より大きく、かつ前記入力キュー情報の前記キュー長の増加率が第3閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組と、
    前記送信元仮想マシンの前記入力キュー情報の前記送信先仮想マシンの前記キュー長が第1閾値以上であり、かつ前記入力キュー情報の前記キュー長の時間的推移と、前記出力キュー情報の前記キュー長の時間的推移との相関の値が第2閾値以下である前記送信元仮想マシンと前記送信先仮想マシンとの組とを、ミラーリング対象として特定する、
    処理をコンピュータが実行する解析方法。
JP2016066755A 2016-03-29 2016-03-29 解析プログラム、解析装置、及び解析方法 Active JP6642196B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016066755A JP6642196B2 (ja) 2016-03-29 2016-03-29 解析プログラム、解析装置、及び解析方法
US15/420,709 US10432492B2 (en) 2016-03-29 2017-01-31 Method and apparatus for analyzing communication quality, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016066755A JP6642196B2 (ja) 2016-03-29 2016-03-29 解析プログラム、解析装置、及び解析方法

Publications (2)

Publication Number Publication Date
JP2017182346A true JP2017182346A (ja) 2017-10-05
JP6642196B2 JP6642196B2 (ja) 2020-02-05

Family

ID=59959932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016066755A Active JP6642196B2 (ja) 2016-03-29 2016-03-29 解析プログラム、解析装置、及び解析方法

Country Status (2)

Country Link
US (1) US10432492B2 (ja)
JP (1) JP6642196B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493073A (zh) * 2019-07-12 2019-11-22 苏州浪潮智能科技有限公司 一种网络交换机端口功能的测试方法和系统
CN110677326B (zh) * 2019-10-15 2021-05-14 深圳品阔信息技术有限公司 网络状态检测方法、装置、终端及存储介质
JP2021099555A (ja) * 2019-12-19 2021-07-01 株式会社日立製作所 ストレージシステム及びコントローラ配置方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3075252B2 (ja) 1998-03-17 2000-08-14 日本電気株式会社 Atmスイッチ
JP4186421B2 (ja) * 2001-02-23 2008-11-26 株式会社日立製作所 パケット処理装置
US7606154B1 (en) * 2004-04-01 2009-10-20 Juniper Networks, Inc. Fair bandwidth allocation based on configurable service classes
JP4058038B2 (ja) * 2004-12-22 2008-03-05 株式会社日立製作所 負荷監視装置および負荷監視方法
US9225632B2 (en) * 2005-09-16 2015-12-29 Hewlett Packard Enterprise Development Lp Globally fair polling for packet switched routers using dynamically biased arbitration
JP6248763B2 (ja) 2014-03-31 2017-12-20 富士通株式会社 キャプチャポイント決定方法、キャプチャポイント決定システムおよびキャプチャポイント決定プログラム

Also Published As

Publication number Publication date
US20170289003A1 (en) 2017-10-05
US10432492B2 (en) 2019-10-01
JP6642196B2 (ja) 2020-02-05

Similar Documents

Publication Publication Date Title
KR102624607B1 (ko) 고성능 ssd들을 사용하여 롱 테일 레이턴시를 감소시키기 위한 랙-레벨의 스케줄링
US9426072B2 (en) Traffic flow classification
US10608901B2 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
US9063769B2 (en) Network performance monitor for virtual machines
US7401198B2 (en) Maximizing storage system throughput by measuring system performance metrics
KR101979363B1 (ko) 애플리케이션 토폴로지 관계의 발견 방법, 장치, 및 시스템
US9378032B2 (en) Information processing method, information processing apparatus, recording medium, and system
US20180285294A1 (en) Quality of service based handling of input/output requests method and apparatus
US20140280959A1 (en) Application server instance selection based on protocol latency information
JP6642196B2 (ja) 解析プログラム、解析装置、及び解析方法
US9769022B2 (en) Timeout value adaptation
US11477095B2 (en) Determining a service impact score for a metric according to a scope of the metric
US10628201B2 (en) Analysis method and analysis apparatus
JP6748359B2 (ja) 接続数制御プログラム、振り分け装置および接続数制御方法
WO2021056715A1 (zh) 一种服务器的代理监测方法及相关产品
CN110784337A (zh) 一种云服务质量监控方法及相关产品
US10673937B2 (en) Dynamic record-level sharing (RLS) provisioning inside a data-sharing subsystem
WO2013099019A1 (ja) 複数の物理マシンで動作する複数の仮想マシンの再配置を制御する管理計算機
Hovestadt et al. Adaptive online compression in clouds—making informed decisions in virtual machine environments
CN108833214A (zh) 一种工控网络检测的方法、装置和系统
US10895988B2 (en) Measuring latency in storage area networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191122

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191216

R150 Certificate of patent or registration of utility model

Ref document number: 6642196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150