JP5458308B2 - 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 - Google Patents

仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 Download PDF

Info

Publication number
JP5458308B2
JP5458308B2 JP2010133708A JP2010133708A JP5458308B2 JP 5458308 B2 JP5458308 B2 JP 5458308B2 JP 2010133708 A JP2010133708 A JP 2010133708A JP 2010133708 A JP2010133708 A JP 2010133708A JP 5458308 B2 JP5458308 B2 JP 5458308B2
Authority
JP
Japan
Prior art keywords
delay
virtual
virtual machine
computer
information
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.)
Active
Application number
JP2010133708A
Other languages
English (en)
Other versions
JP2011258098A (ja
Inventor
俊臣 森木
淑子 保田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010133708A priority Critical patent/JP5458308B2/ja
Priority to US13/040,316 priority patent/US8826274B2/en
Publication of JP2011258098A publication Critical patent/JP2011258098A/ja
Application granted granted Critical
Publication of JP5458308B2 publication Critical patent/JP5458308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/16Threshold monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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
    • 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

Description

本発明は、複数の仮想計算機で実行するサービスを、ネットワークを介して提供する仮想計算機システムにおいて、処理能力が低下した部位を特定する技術に関し、特に、クラウドコンピューティングを提供する仮想計算機システムの改良に関する。
経済のグローバル化と競争激化に伴い、企業は絶え間ない変革を求められている。企業活動を支えるITシステムにおいても、1〜2ヵ月程度の超短期間でシステム構築とサービスの提供開始が要求されることも珍しくなくなっており、企業がITシステムを自社(インハウス)で構築して所有し続けるコストが重荷となっている。そこで、近年広帯域化が著しいワイドエリアネットワーク(WAN)を活用したサービスとして、ITシステムをデータセンタの事業者にアウトソースして、企業は必要な期間のみ計算機資源を利用可能なクラウドコンピューティングが台頭している。
クラウドコンピューティングが提供するサービスの形態は、提供するITリソースの柔軟度に応じて、IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)の3種類のクラウドサービスに大別される。IaaSは電力や設置場所、ネットワークバックボーン等のインフラを貸し出すクラウドサービスであり、PaaSはインフラに加えてIT機器のハードウェアと仮想マシンモニタ(Virtual Machine Monitor=VMM)、仮想マシン、OSまでをデータセンタ事業者が準備して、企業に仮想マシン(Virtual Machine)を貸し出すクラウドサービスである。SaaSは更に仮想マシンに加えて業務アプリケーションまでもデータセンタ事業者が準備し、企業は時間貸しで業務アプリケーションを利用するサービス形態となる。
グローバルで先行するクラウドベンダは、PaaSやSaaS相当のビジネスを行っている。これらのベンダのサービスは俗にパブリッククラウドと呼ばれ、インターネット経由でサービスが提供される。パブリッククラウドは非常に低価格かつ迅速なサービス提供開始が可能である一方、インターネットでの一時的な通信の混雑や切断が生じるため、エンドtoエンド(クライアントの端末から業務アプリケーション)での安定的なサービス提供が難しいという性質を有する。そのため信頼性に対する不安から、企業の中核的なITシステムに対してはパブリッククラウドの適用が進んでいない。
一方、インターネットではなく,キャリアが提供する専用線,IP−VPN,広域イーサネット(登録商標)等の回線サービスを利用するWANサービスは、インターネットに比して信頼性及び通信品質が高く、企業の中核的なITシステムに適している。WANを利用したクラウドサービスとしては、PaaSに相当する仮想マシン単位でのサーバリソースの貸出を行うサービスが知られている(例えば、Harmonious Cloud(http://www.hitachi.co.jp/products/it/harmonious/cloud/solution/paas.html)。WANを用いたPaaSは、パブリッククラウドとは異なり高い信頼性を特長としており安定的なクラウドサービスの提供が可能である。
WANとPaaSを組み合わせたクラウドサービス(以下、当該クラウドサービスという)では、通信インフラ(WAN、LAN)、サーバハードウェア、仮想マシン(または仮想サーバ)までをデータセンタ事業者がワンストップで提供し、顧客となる企業は仮想マシンで稼動させる業務アプリケーションを準備するのみで利用できる。当該クラウドサービスでは、顧客企業は拠点のクライアントからデータセンタ事業者と提携したキャリアのWANを介して、データセンタ内の仮想マシンにアクセスするものである。
当該クラウドサービスでは、サービスを提供するWANやデータセンタ内のLAN機器、仮想マシンモニタ、物理計算機が複数の企業で共用されている。このため、ある企業で利用している業務アプリケーション等で処理能力低下等の問題が発生した場合に、処理能力が低下した部位を迅速に特定する必要がある。データセンタ事業者は問題の生じた部位に応じて、問題の生じた部位の運用管理を担当する部門に通知を行って業務の処理能力低下を回避または修復する。例えば、業務の処理能力低下の要因がWANであれば、事業者は提携先のキャリアに問題の発生を通知し、データセンタ内のLAN機器やVMMが業務の処理能力低下の要因であれば、データセンタのPaaSの運用管理部門に通知し、仮想マシン上の業務アプリケーション自体が業務の処理能力低下の要因であればデータセンタ事業者は業務アプリケーションを開発した顧客の企業に迅速に通知する必要がある。
計算機システムにおいて処理能力低下の要因を特定する技術としては、特許文献1〜4が知られている。
特許文献1は、複数のキャリアでネットワークが構成される場合、キャリア間の中継ノードで通信品質を監視して利用者に通知を行うもので、WANの障害を検知することができる。
特許文献2には、ネットワークと業務サーバ間で障害の切り分けを行う技術が開示され、データセンタ内のLANの障害やWANの障害を検知可能である。
特許文献3には、仮想計算機を構成するVMMで物理サーバの性能情報を取得し、仮想マシンにエージェントを稼動させて仮想マシンの性能情報を取得する技術が開示され、仮想計算機内の処理能力低下の部位を特定することができる。
特許文献4には、サーバとLAN機器を含む計算機システムにおいて、サーバで稼動するアプリケーション及びネットワークトラフィックの性能情報を収集し、収集した情報を多変量解析して、所定の相関関係に基づいて障害部位の推定を行う技術が開示される。
特開2002−374301号公報 特開2006−65619号公報 米国特許出願公開第2009/024994号明細書 特開2001−195285号公報
上記特許文献1では、WANに起因する通信遅延増などの障害の検出が可能となる。しかし、特許文献1の技術では、データセンタ内のLAN機器とサーバ、およびサーバ内部のOSや業務アプリケーションについて障害を検出することができない。
上記特許文献2では、データセンタ内のLAN機器に起因する業務の処理能力低下などの障害を検出できる。しかし、特許文献2の技術では、VMMと仮想マシンのソフトウェア間のように、サーバ内部については障害が発生した部位を特定することはできない。
上記特許文献3では、エージェントを用いてVMMおよび仮想マシン上のゲストOSの双方から性能監視情報を取得して、サーバ内部の障害が発生した部位を特定することができる。しかし、上記特許文献3では、サーバ外部のWANやLANが障害発生の要因を特定できない。
上記特許文献4では、サーバとLAN機器を含む計算機システムから取得する性能監視情報を詳細化することで原理的にはWAN〜サーバ内部の任意の粒度で障害が発生した部位を特定することが可能である。しかしながら、上記特許文献4の技術をデータセンタの事業者が導入した場合、LAN機器やサーバなど個別の機器から発生する大量の性能情報を予め収集して多変量解析を行う必要があり、障害が発生した部位を特定するまでに多大な時間を要し、迅速に障害発生の検出を行うことができない、という問題がある。
また、上記特許文献1〜3を組み合わせた場合も、上記特許文献4と同様に、WAN〜サーバ内部で障害が発生した部位を特定するためには、クラウドコンピューティングを構成する全ての機器から性能監視情報を取得して、解析を行う必要があるため多大な時間を要し、迅速に障害発生の検出を行うことができない、という問題がある。
特に、上述したクラウドコンピューティングのように、WANを用いたPaaSの場合、データセンタの事業者は、障害が発生した部位がWANであれば速やかにキャリアへ通知し、業務アプリケーションに障害が発生した場合は顧客企業へ速やかに通知する必要がある。無論、障害が発生した部位がデータセンタ内のLAN機器や物理サーバまたはVMM、仮想マシンであれば、データセンタの事業者は速やかに機器運用管理担当者に通知を行って、修復を行う。このようにWANを用いたPaaSでは、パブリッククラウドに比して高い信頼性を提供するために、障害が発生した部位を迅速に特定し、障害が発生した部位に応じて速やかに通知を行うことが安定したサービスを提供する要件となる。
そこで本発明は、上記問題点に鑑みてなされたもので、クラウドコンピューティングを構成するWANと、データセンタ内のLAN機器と、サーバのVMMと、VMM上の仮想マシンで発生する処理の遅延増大を検知し、かつ、遅延増大の要因となった部位を迅速に特定することで信頼性の高いサービスを提供することを目的とする。
本発明は、クライアント計算機に接続されたネットワーク装置と、前記ネットワーク装置に接続されて前記クライアント計算機にサービスを提供するサーバ計算機と、前記ネットワーク装置とサーバ計算機に接続された性能低下要因特定装置と、を備え、前記サーバ計算機は、演算を行うプロセッサと、情報を格納する記憶部と、前記ネットワーク装置に接続されるネットワークインタフェースと、前記サーバ計算機の物理資源を仮想化する仮想化部と、前記仮想化された物理資源上でOS及び前記サービスを提供するアプリケーションを稼動させる複数の仮想マシンと、を有し、前記ネットワーク装置は、前記クライアント計算機からの処理要求を前記仮想マシンに転送し、当該処理要求に対する処理応答を前記仮想マシンから受信して前記クライアント計算機に転送し、前記性能低下要因特定装置から設定された監視条件を満たす通信について、前記処理要求の転送から前記処理要求に対する処理応答を転送するまでの遅延時間を監視し、前記遅延時間が所定の閾値を超えたときに、前記性能低下要因特定装置に遅延が増大したことを示す遅延通知を送信する遅延監視部を有し、前記性能低下要因特定装置は、前記ネットワーク装置が送受信する情報のうち、監視対象とする通信の前記監視条件と前記サーバ計算機と仮想マシンの対応関係を設定した通信フロー情報と、前記サーバ計算機の計算機資源及び前記サーバ計算機に接続された計算機資源について前記仮想マシン間で共有する計算機資源を特定する共有資源情報と、前記ネットワーク装置から前記遅延通知を受信したときに、前記通信フロー情報を参照して遅延が増大した仮想マシン及びサーバ計算機を特定する遅延増大特定部と、
前記共有資源情報を参照して前記遅延が増大した仮想マシンと計算機資源を共有する他の仮想マシンを抽出する情報収集範囲特定部と、前記抽出された仮想マシン及びサーバ計算機と、前記遅延が増大した仮想マシン及びサーバ計算機について、物理的な計算機資源の性能監視情報と、仮想的な計算機資源の性能監視情報を取得して、前記遅延が増大した部位を特定する要因特定部と、を備える。
したがって、本発明は、仮想計算機システムを運用するデータセンタ内のネットワークと、サーバ計算機の仮想化部と、仮想マシンで発生する処理の遅延増大を検知し、かつ、遅延増大の要因となった部位を迅速に特定することができる。
本発明の第1の実施形態を示し、WANを用いたクラウドサービスを提供する計算機システムの一例を示すブロック図である。 本発明の第1の実施形態を示し、業務サーバ115aの構成を示すブロック図である。 本発明の第1の実施形態を示し、ネットワーク監視サーバ118の構成を示すブロック図である。 本発明の第1の実施形態を示し、ネットワーク監視サーバ118が保持する通信フロー情報301の一例を示す説明図である。 本発明の第1の実施形態を示し、ネットワーク監視サーバ118が保持する共有資源情報302の一例を示す説明図である。 本発明の第1の実施形態を示し、顧客サイトからデータセンタの業務サーバで稼動するOSにアクセスする際の処理の遅延を示すタイムチャートである。 本発明の第1の実施形態を示し、ネットワーク監視サーバ118で実行される処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、ネットワーク監視端末119のディスプレイで遅延増大が発生した部位を表示するインターフェースの一例を示す画面イメージである。 本発明の第1の実施形態を示し、図8に示した遅延増大が発生した部位を特定する処理のシーケンス図である。 本発明の第1の実施形態を示し、ネットワーク監視サーバの業務サーバ監視部とVM監視部及び情報更新処理部で行われる処理の一例を示すフローチャートの前半部である。 本発明の第1の実施形態を示し、ネットワーク監視サーバの業務サーバ監視部とVM監視部及び情報更新処理部で行われる処理の一例を示すフローチャートの後半部である。 本発明の第2の実施形態を示し、業務サーバ115のブロック図である。 第3の実施形態を示し、ルータ1200のブロック図である。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明の第1の実施形態を示し、WANを用いたクラウドサービスを提供する計算機システムの一例を示すブロック図である。
クラウドサービスを提供するデータセンタ110は、広域ネットワーク(以下、WAN:Wide Area Network)150を介して顧客サイト101a、101b、101cに接続される。データセンタ110のクラウドサービスを利用する顧客サイト101aは、WAN150に接続されてパケットの送受信を行うルータ102aと、ルータ102aに接続されてデータセンタ110のクラウドサービスを受けるクライアント端末104aから構成される。他の顧客サイト101b、101cも同様にWAN150に接続されたルータ102b、102cとクラウドサービスを受けるクライアント端末104b、104cが接続される。なお、顧客サイト101a〜101cは、同様の構成であるので、以下の説明では、顧客サイト101aのみについて説明し、他の顧客サイト101b、101cの説明を省略する。
本実施形態では、WAN150からデータセンタ110の仮想マシンまでを顧客(顧客サイト)に貸し出すPaaS(Platform as a Service)の例を示し、顧客は仮想マシン上で所望の業務アプリケーションをインストールし、実行する。データセンタ110の事業者は、データセンタ110内のネットワークと、ハードウェア資源から仮想マシンまでの業務サーバを管理し、WAN150は通信事業者が管理し、仮想マシン上の業務アプリケーションは顧客が管理する例を示す。
顧客サイト101aのルータ102aは、予め設定した監視条件に基づいて、クライアント端末104aからデータセンタ110あての処理要求を受信した時刻と、この処理要求に対してデータセンタ110が応答した処理結果を受信し、クライアント端末104aへ送信した時刻との差分を処理(または通信)の遅延時間として求め、この遅延時間が所定の閾値TH2を超えたときに処理(または通信)の遅延が増大したことを検出する遅延監視部103aを含む。遅延監視部103aは、管理用回線151を介してデータセンタ110のネットワーク監視サーバ118に接続される。そして、遅延監視部103aは、処理の遅延時間が、所定の閾値TH2を超えたときには、障害などにより処理の遅延の増大が発生したと判定し、ネットワーク監視サーバ118に対して遅延の増大が発生したことを通知する。なお、WAN150とは独立した管理用回線151を利用できない場合は、遅延監視部103aとネットワーク監視サーバ118をWAN150により接続することができる。なお、上記遅延時間は、クライアント端末104a〜104cから観測したときの処理及び通信の遅延時間(応答時間)を示す。
また、顧客サイト101aのクライアント端末104aは、プロセッサとメモリ及びストレージ装置を備えた計算機で構成され、ルータ102a及びWAN150を介してデータセンタ110からサービスを受ける。
データセンタ110内には、WAN150に接続されたルータ(ネットワーク装置)120と、顧客サイト101aのクライアント端末104a等にサービスを提供する業務サーバ115a〜115d(#1〜#4)と、業務サーバ115a〜115dとルータ120を接続する業務ネットワークを構成するL2(Layer 2)スイッチ114a、114bと、業務サーバ115a〜115dとストレージ装置116を接続するSAN(Storage Area Network)と、管理ネットワークを構成する管理用スイッチ122a、122bに接続されて業務サーバ115a〜115dの仮想化部211を管理する仮想化管理サーバ130と、管理LANネットワークを構成する管理用スイッチ122a、122bと管理用回線151に接続されて、処理の遅延増大を検知したときには、データセンタ110内の計算機資源から性能監視情報を収集して、遅延が増大した部位と、遅延増大の要因となった部位を特定してネットワーク監視端末119に通知するネットワーク監視サーバ118とを主体にして構成される。なお、仮想化部211は、ハイパーバイザやVMM(Virtual Machine Monitor)で構成することができる。
WAN150に接続されるルータ120は、業務ネットワークのL2スイッチ114a、114bに接続されて、顧客サイト101a〜101cから処理要求を受信し、処理要求に含まれる通信フロー情報からあて先となる業務サーバ115a〜115dに処理要求を転送する。そして、ルータ120は、業務サーバ115a〜115dが送信した処理結果を、当該処理結果に含まれる通信フロー情報からあて先となる顧客サイト101a〜101cに処理結果を転送する。なお、通信フロー情報は、WAN150、業務ネットワークにTCP/IPを用いる場合では、あて先IPアドレス、ポート番号、発信元IPアドレスを含む情報である。
また、ルータ120は、データセンタ110内部の処理の遅延の増大を検知してネットワーク監視サーバ118に通知する遅延監視部121を有する。遅延監視部121は、予め設定した監視条件に基づいて、顧客サイト101a〜101cから受信した処理要求の時刻と、この処理要求に対して業務サーバ115a〜115dが応答した処理結果の送信時刻と、所定の閾値TH1から、データセンタ110内における処理の遅延が増大したこと検出する。遅延監視部121は、処理要求の受信時刻と、処理結果の送信時刻の差が、所定時間である閾値TH1を超えたときには、データセンタ110内部で障害などによる遅延の増大が発生したと判定してネットワーク監視サーバ118に遅延の発生を通知する。
ネットワーク監視サーバ118と遅延監視部121及び業務サーバ115a〜115dはスイッチ122a、122bからなる管理ネットワークを介して接続される。ネットワーク監視サーバ118は、管理ネットワークを経由して遅延監視部121からの遅延増大の通知を受信し、管理用回線151を経由して顧客サイト101a〜101cの遅延監視部103a〜103cからの遅延増大の通知を受信する。また、ネットワーク監視サーバ118は、管理ネットワークを介して業務サーバ115a〜115dに接続され、遅延の増大の発生が疑われる業務サーバ115a〜115d及び仮想マシンから性能監視情報を収集する。
ネットワーク監視サーバ118は、顧客サイト101a〜101cのルータ102a〜〜102cやデータセンタ110内のルータ120から遅延増大発生の通知を受信すると、複数の業務サーバ115a〜115dのうち、遅延が発生した業務サーバ115a〜115d及び仮想マシンを通信フロー情報から特定して、検査対象の物理サーバ(業務サーバ115a〜115d)及び仮想マシンを絞り込む。そして、ネットワーク監視サーバ118は、遅延の増大発生が特定された業務サーバ115a〜115d及び仮想マシンの性能監視情報を収集し、遅延増大の要因となった部位(性能低下要因)を特定する。特に、ネットワーク監視サーバ118は、遅延の増大が発生した部位が仮想マシンの場合には、当該仮想マシンと計算機資源を共有する他の仮想マシンの性能監視情報を収集して、遅延の増大の要因となった部位を性能低下要因として特定する。
ネットワーク監視サーバ118は、上記特定した遅延増大が発生した部位と、遅延増大の要因となった部位をネットワーク監視端末119に通知する。ネットワーク監視端末119は、ネットワーク監視サーバ118から受信した通知から、遅延増大が発生した部位と、遅延増大の要因となった部位を、計算機システムの業務の処理能力が低下した要因として表示装置上に表示する。なお、遅延増大が発生した部位と、遅延増大の要因となった部位が同一の部位(例えば、仮想マシン)である場合と、遅延増大が発生した部位と、遅延増大の要因となった部位が異なる部位の場合が存在する。
仮想化管理サーバ130はスイッチ122a、122bからなる管理ネットワークを介して業務サーバ115a〜115dに接続される。仮想化管理サーバ130は、業務サーバ115a〜115dの仮想化部211を管理して、仮想マシンの生成、削除や移動を実施する。また、本実施形態では、仮想化管理サーバ130が業務業務サーバ115a〜115dの追加や削除を管理する。
ストレージ装置116はSAN117に接続され、業務サーバ115a〜115dがアクセスする論理ユニット(LU)#101、#102、#201を備える。なお、各LU#101〜#201は、図6で示すように、ストレージ装置116内のRAIDグループの識別子に対応付けられていてもよい。
なお、以下の説明では、顧客サイト101a〜101cの総称を顧客サイト101とし、ルータ102a〜102cの総称をルータ102とし、遅延監視部103a〜103cの総称を遅延監視部103とし、クライアント端末104a〜104cの総称をクライアント端末104とする。
図2は、業務サーバ115aの構成を示すブロック図である。なお、業務サーバ115b〜115dも同一の構成であるので、重複する説明は省略する。
業務サーバ115aは、顧客サイト101に所定のサービスを提供する。業務サーバ115aは、ハードウェア資源210として、演算処理を行う物理CPU(または物理プロセッサ)222と、データやプログラム及び仮想化部や仮想マシンを格納するメモリ223と、複数の物理NIC(または物理ネットワークI/F)221と、SAN117に接続されるHBA(Host Bus Adopter)224とを備える。なお、複数の物理NIC221は、L2スイッチ114a、114bで構成された業務ネットワークと、管理用スイッチ122a、122bで構成された管理ネットワークにそれぞれ接続される。
業務サーバ115aでは、仮想化部(VMM)211が実行され、仮想化部211は仮想化管理サーバ130の指令に応じて業務サーバ115aの物理的な計算機リソースを複数の仮想マシン212−1〜212nに割り当てて、各仮想マシンを実行する。
仮想化部211上ではn個の仮想マシン212−1〜212−nが実行される。各仮想マシン212−1〜212−nでは、それぞれOS261−1〜261−nが実行され、各OS(ゲストOS)上では業務アプリケーション262−1〜262−nが実行されて顧客サイト101に対してサービスを提供する。各仮想マシン212−1〜212−nには仮想化部211によって識別子(VM#1〜VM#n)が付与される。また、仮想化部211は、CPU制御部234とNIC制御部232により各仮想マシン212−1〜212−nに仮想CPU#1〜#nと、仮想NIC#1〜#nを割り当てる。なお、以下の説明では、OS261−1〜261−nの総称をOS261とし、業務アプリケーション262−1〜262−nの総称を業務アプリケーション262とし、仮想マシン212−1〜212−nの総称を仮想マシン212とする。
仮想化部211は、ハードウェア資源210を仮想化して各仮想マシン212に割り当てる。ハードウェア資源210の仮想化及び仮想化された資源を仮想マシン212へ割り当てる手法については、公知又は周知の手法を用いることができるので、ここでは詳述しない。
仮想化部211は、物理CPU222を仮想化した仮想CPUを仮想マシン212に提供するCPU制御部234と、物理NIC221を仮想化した仮想NICを仮想マシン212に提供するNIC制御部232と、を備える。なお、図示はしないが、仮想化部211はHBAを仮想化した仮想HBAを提供する制御部も備える。
CPU制御部234は、各仮想マシン212に割り当てた仮想CPUを仮想CPUインスタンス235として管理する。仮想CPUインスタンス235は、各仮想マシン212に対応する仮想CPU#1〜#nが実行する処理と、物理CPU222が実行する処理を調停する。また、仮想CPUインスタンス235は、仮想CPU#1〜#n毎に性能監視情報(例えば、CPU使用率またはビジー率)を取得する。なお、仮想CPU#1〜#nの性能監視情報は、仮想マシン212−1〜212−nのOS261−1〜261−nから取得するようにしてもよい。
NIC制御部232は、仮想マシン212−1〜212−nにそれぞれ割り当てた仮想NICを仮想NICインスタンス233として管理する。仮想NICインスタンス233は、各仮想マシン212−1〜212−nに対応する仮想NIC#1〜#nと物理NIC221の通信を調停する。また、NIC制御部232は、仮想NIC#1〜#n毎に性能監視情報を取得する。仮想NIC#1〜#n毎に性能監視情報は、例えば、単位時間当たりのデータ転送量、パケットのレイテンシなどで構成される。TCP/IPの例では、L2(第2層)の性能監視情報としては単位時間当たりのパケット転送量とパケットの種別(ARP、TCP、UDPなど)であり、L3(第3層)の性能監視情報としては、TCPコネクション毎の単位時間当たりのパケット転送量またはレイテンシなどを用いることができる。これらのうち予め設定した単位時間当たりのデータ転送量やパケットのレイテンシを性能監視情報として用いればよい。なお、仮想NIC#1〜#nの性能監視情報は、仮想マシン212−1〜212−nのOS261−1〜261−nから取得するようにしてもよい。
仮想化部211は、遅延の増大が発生した要因を特定するために、CPUの性能監視情報を収集するCPU性能情報収集部242と、NICの性能監視情報を収集するNIC性能情報収集部241と、所定の周期でCPU性能情報収集部242及びNIC性能情報収集部241を機能させるためのタイマ割り込みハンドラ231を備える。
タイマ割り込みハンドラ231は、所定の周期(例えば、10msec)となる度にCPU性能情報収集部242及びNIC性能情報収集部241へトリガを送信する。CPU性能情報収集部242及びNIC性能情報収集部241はタイマ割り込みハンドラ231からのトリガを受信する度に性能監視情報を収集する。
CPU性能情報収集部242は、物理CPU222から性能監視情報(例えば、CPU使用率)を収集し、CPU制御部234の仮想CPUインスタンス235から各仮想CPU#1〜#nの性能監視情報を収集し、CPU性能統計情報244に格納する。なお、CPU性能統計情報244には性能監視情報を収集した時刻のタイムスタンプを保持してもよい。
CPU性能情報収集部242は、CPU性能統計情報244に物理CPU222の識別子または仮想CPUの識別子と上記収集した性能監視情報を対応付けて格納する。ここで、CPU性能統計情報244は、所定時間(例えば、10分間または20分間)の物理CPU222及び仮想CPUの性能監視情報が所定の周期毎に格納される。
最新の物理CPU222及び仮想CPUの性能監視情報を格納する際に、CPU性能統計情報244のT_tailに格納された最も古いデータを削除し、T_head以降のデータをT_tail側にシフトしてから最新のデータをT_headに格納する。あるいは、CPU性能統計情報244の記憶領域をリングバッファで構成し、最も古いデータT_tailに最新のデータを書き込むようにポインタを移動させてもよい。
NIC性能情報収集部241は、物理NIC221から性能監視情報(例えば、仮想NICと同様の、単位時間当たりのデータ転送量またはパケットのレイテンシなど)を収集し、また、NIC制御部232の仮想NICインスタンス233から各仮想NIC#1〜#nの性能監視情報を収集し、NIC性能統計情報243に格納する。なお、NIC性能統計情報243には性能監視情報を収集した時刻のタイムスタンプを保持してもよい。
NIC性能情報収集部241は、NIC性能統計情報243に物理NIC221の識別子または仮想NICの識別子と上記収集した性能監視情報を対応付けて格納する。なお、物理NIC221または仮想NICの識別子としてはMACアドレスを用いることができ、仮想NICのMACアドレスは、仮想化部211または仮想化管理サーバ130が付与した値である。ここで、NIC性能統計情報243は、所定時間(例えば、10分間または20分間)の物理NIC221及び仮想NICの性能監視情報が所定の周期毎に格納される。最新の物理NIC221及び仮想NICの性能監視情報を格納する際に、NIC性能統計情報243のT_tailに格納された最も古いデータを削除し、T_head以降のデータをT_tail側にシフトしてから最新のデータをT_headに格納する。あるいは、NIC性能統計情報243の記憶領域をリングバッファで構成し、最も古いデータT_tailに最新のデータを書き込むようにポインタを移動させてもよい。
仮想化部211は、遅延の増大が発生した要因を特定するために、情報切り出し部251を備える。情報切り出し部251は、ネットワーク監視サーバ118から性能監視情報取得要求313を受信すると、CPU性能統計情報244と、NIC性能統計情報243を取得して、性能監視情報通知252として、ネットワーク監視サーバ118に送信する。
なお、仮想化部211は仮想化管理サーバ130の指令に応じて、業務サーバ115a〜115dの物理資源を仮想化して各仮想マシン212−1〜212−nに割り当てるが、仮想マシンへの物理資源の割り当てについては公知または周知の手法を用いればよいので、個々では詳述しない。
図3は、ネットワーク監視サーバ118の構成を示すブロック図である。ネットワーク監視サーバ118は、顧客サイト101のルータ102と、データセンタ110内のルータ120を監視し、データセンタ110が提供するサービスに遅延の増大が発生した場合、遅延増大が発生した部位を特定し、また、遅延増大の要因と推定される部位を特定して、ネットワーク監視端末119に出力する。すなわち、ネットワーク監視サーバ118は、ルータ120およびルータ102における遅延増大の発生を検知したときに、処理能力の低下要因を特定するシステム性能低下要因特定装置として機能する。
ネットワーク監視サーバ118は、ハードウェア資源340として、演算処理を行う物理CPU(または物理プロセッサ)342と、物理CPU342が実行するプログラム及びデータを格納するメモリ343と、複数の物理NIC(または物理ネットワークI/F)341と、プログラムを格納する記憶媒体として不揮発性の記憶装置344を備える。なお、複数の物理NIC341は、管理用回線151と、ネットワーク監視端末119と、管理用スイッチ122a、122bで構成された管理ネットワークにそれぞれ接続される。また、ネットワーク監視サーバ118は、記憶装置344としてストレージ装置116を利用するようにHBAを備えてもよい。
ネットワーク監視サーバ118は、ネットワーク監視端末119から受け付けた通信フロー情報301と共有資源情報302をメモリ343に格納する。ネットワーク監視サーバ118は、通信フロー情報301と共有資源情報302に基づいて処理を行うモジュールとして、監視条件設定部303、情報収集範囲特定部304、情報取得指示部305、要因特定部306を実行する。これらのモジュールは、プログラムとして記憶装置344に格納され、物理CPU342がメモリ343にロードして実行する。
通信フロー情報301と共有資源情報302は、管理者などがネットワーク監視端末119から入力した初期設定情報333に含まれる情報である。
通信フロー情報301は後述するように、顧客サイト101からの処理要求に含まれる通信先のIPアドレスと、業務サーバ115a〜115dの識別子と、仮想マシン212−1〜212−nの識別子との対応関係を設定したテーブルである。
共有資源情報302は後述するように、業務サーバ115a〜115dの識別子と、仮想マシン212−1〜212−nの識別子と、業務サーバ115a〜115dが利用するストレージ装置116の識別子及び記憶領域の識別子の対応関係を設定したテーブルである。なお、本実施形態では、ストレージ装置116内の記憶領域の識別子を論理ユニット(LU)#101、#102、#201で示すが、これに限定されるものではない。
業務サーバ監視部321は、業務サーバの追加または削除を監視する。業務サーバ監視部321は、仮想化管理サーバ130等から業務サーバの変更通知(追加または削除)331を受信したときに追加または削除された業務サーバを検出し、情報更新処理部323へ通知する。なお、業務サーバの変更通知331には、変更内容(追加、削除のいずれか)と、業務サーバ115の識別子などが含まれる。
VM監視部322は、業務サーバ115a〜115dの仮想マシン212の追加、移動または削除を監視する。VM監視部322は、仮想化管理サーバ130から仮想マシン(VM)の変更通知(追加、移動または削除)332を受信し、当該通知に含まれる仮想マシンの追加、移動または削除を情報更新処理部323へ通知する。なお、仮想マシンの変更通知332には、変更内容(追加、削除、移動のいずれか)と、仮想マシン212の識別子とIPアドレス、業務サーバ115の識別子、他の仮想マシン212と共有する計算機資源の識別子などが含まれる。
情報更新処理部323は、業務サーバや仮想マシンの構成変更に応じて、通信フロー情報301と共有資源情報302を更新する(図中通信フロー再設定334,共有資源情報再設定335)。
監視条件設定部303は、通信フロー情報301に基づいて、顧客サイト101のルータ102の遅延監視部103a〜103cとデータセンタ110内のルータ120の遅延監視部121に遅延増大の発生について監視すべき通信の条件(監視条件)を設定する。本実施形態では、監視条件として、顧客サイト101からの処理要求に含まれる通信先のIPアドレスと、処理要求の受信から処理応答の送信までの時間の閾値を用いる例を示す。なお、監視条件としては、顧客サイト101のクライアント端末104が要求した処理に対して、データセンタ110からの応答が閾値を超えて遅延したことを検知できればよいので、IPアドレスに限定されるものではなく、また、TCP/IPに限定されるものではない。
クライアント端末からの処理要求から処理応答までの時間の閾値は、データセンタ110内のルータ120の遅延監視部121に設定する閾値TH1(第1の閾値)と、顧客サイト101のルータ102の遅延監視部103に設定する閾値TH2(第2の閾値)をそれぞれネットワーク監視端末119から設定する。
ルータ102、ルータ120の遅延監視部103、121は、監視条件設定部303から設定されたIPアドレスを含む通信(パケット)について、処理要求を受信した時刻から応答するまでの時刻を監視し、処理要求から応答までの時間が閾値TH1またはTH2を超えたときに、ネットワーク監視サーバ118に対して処理の遅延の増大が発生したことを示す遅延通知312を送信する。
ルータ120の遅延監視部121に設定される閾値TH1は、データセンタ110内の処理時間に対する閾値で、例えば、数msecに設定される。ルータ120の遅延監視部121は、クライアント端末104からの処理要求に対して応答するまでの時間が閾値TH1を超えると、ルータ120の遅延監視部121は、データセンタ110内で処理の遅延の増大が発生したと判定して、通信先のIPアドレスとルータ120の識別子を含む遅延通知312をネットワーク監視サーバ118に送信する。
ルータ102の閾値TH2は、データセンタ110内の処理時間にWAN150の回線遅延を加味した閾値である。この閾値TH2の値は、WAN150の通信速度及び顧客サイト101とデータセンタ110の距離に応じて適宜設定される。例えば、顧客サイト101とデータセンタ110の所在が共に国内であれば閾値TH2は、10〜20msecに設定し、顧客サイト101が国内で、データセンタ110の所在が海外であれば閾値TH2は、100〜120msecに設定する。なお、閾値TH1、閾値TH2は、ネットワーク監視サーバ118を操作する管理者などが初期設定情報333等によって設定することができる。
クライアント端末104からの処理要求に対して応答するまでの時間が第2の閾値TH2を超えると、ルータ102の遅延監視部103は、WAN150またはデータセンタ110で処理の遅延の増大が発生したと判定してネットワーク監視サーバ118に対してクライアント端末からの通信先のIPアドレスとルータ102の識別子を含む遅延通知312を送信する。
ここで、ルータ102及びルータ120の遅延監視部103、121は、顧客サイト101とデータセンタ110間の全ての通信について監視を行う必要がなく、遅延監視部121で指定された通信先IPアドレスを含む通信のみについて遅延の増大の発生を監視すればよい。これにより、ルータ102及びルータ120の監視処理に要する負荷の増大を抑制できる。
監視条件設定部303は、通信フロー情報301が更新される度に、各ルータ102a〜102c及びルータ120の遅延監視部103a〜103c、121に監視条件を通知し、更新させる。
情報収集範囲特定部304は、ルータ102a〜102cまたはルータ120の何れかより遅延通知312を受信すると、通信フロー情報301及び共有資源情報302を参照して遅延の増大が発生した要因について検査すべき計算機資源の範囲を特定する。遅延通知312には、処理の遅延の増大が発生した通信先のIPアドレスが含まれる。
情報収集範囲特定部304は、遅延通知312に含まれる通信先のIPアドレスから、業務サーバ115xと仮想マシン212−yを処理の遅延増大が発生した被擬対象として特定する。業務サーバ115xは、図1の業務サーバ115a〜115dの何れかであり、仮想マシン212−yは図2の仮想マシン212−1〜212−nの何れかを示す。
次に、情報収集範囲特定部304は、処理の遅延増大の発生部位として特定された業務サーバ115x上の仮想マシン212−xと計算機資源を共有している仮想マシン212−zを性能監視情報の収集範囲として設定する。つまり、被擬対象の仮想マシン212−yの遅延が増大した要因が、被擬対象の仮想マシン212−yのみであるのか、あるいは、仮想マシン212−yが他の仮想マシンと共有する計算機資源に処理能力の低下が発生した結果、当該仮想マシン212−yの遅延が増大したのか、を判定する必要がある。
この遅延大の発生の要因としては、物理サーバである業務サーバ115xまたは仮想化部211に処理能力の低下が生じた場合と、仮想マシン212−yが他の仮想マシン212−zと共有している計算機資源に処理能力の低下が発生した場合が考えられる。仮想マシン212−yが他の仮想マシン212−zと共有する計算機資源としては業務サーバ115xのハードウェア資源210、仮想化部211やストレージ装置116及びSAN117などである。
このように、性能監視情報の収集範囲を、被擬対象部位と計算機資源を共有する仮想マシン212−zまで広げることで、処理の遅延増大が発生した要因がデータセンタ110内の何れの部位であるかを正確に特定できる。
情報収集範囲特定部304は、処理の遅延増大が発生した被擬対象として特定した業務サーバ115x、仮想マシン212−y及び計算機資源を共有している仮想マシン212−zを性能監視情報の収集範囲として情報取得指示部305に通知する。
情報取得指示部305は、情報収集範囲特定部304が特定した業務サーバ115xに対して性能監視情報取得要求313を送信する。この性能監視情報取得要求313は、業務サーバ115xと仮想マシン212−y及び仮想マシン212−zの性能監視情報として、CPU性能統計情報244とNIC性能統計情報243を要求する。なお、後述するように、情報取得指示部305は、NIC性能統計情報243とCPU性能統計情報244を個別に要求してもよい。個別に要求する場合には,性能監視情報取得要求に、取得対象がCPUあるいはNICなのか識別可能な情報が含まれる。あるいはCPU性能監視情報性能監視情報取得要求とNIC性能監視情報性能監視情報取得要求のように複数の性能監視情報性能監視情報取得要求を備えてもよい。
業務サーバ115xの情報切り出し部251は、性能監視情報取得要求313に対してCPU性能統計情報244とNIC性能統計情報243をネットワーク監視サーバ118に応答する。
ネットワーク監視サーバ118では、要因特定部306が業務サーバ115xからのCPU性能統計情報244とNIC性能統計情報243を受け付ける。なお、被擬対象の業務サーバ115xは、CPU性能統計情報244とNIC性能統計情報243をそのまま送信してもよいし、要求された仮想マシン212−y、zと業務サーバ115xのCPU性能統計情報244とNIC性能統計情報243を業務サーバ115xが抽出してから送信してもよい。業務サーバ115xが、CPU性能統計情報244とNIC性能統計情報243をそのまま送信した場合は、要因特定部306がCPU性能統計情報244とNIC性能統計情報243から被擬対象の仮想マシン212−y、zと業務サーバ115xの性能監視情報を抽出すればよい。
要因特定部306は、後述するように、遅延通知312の送信元と、通信先IPアドレスから処理の遅延増大が発生した部位を被擬対象部位として特定する。そして、要因特定部306は、被擬対象部位のNIC性能統計情報243から取得した業務サーバ115xにおける処理遅延の有無と、CPU性能統計情報244から仮想CPUの使用率の増加の有無から、処理の遅延増大の要因として、処理能力の低下が発生した部位を特定する。被擬対象部位及び処理能力の低下を生じた部位としてはWAN150、データセンタ110内のネットワーク、仮想化部211または業務サーバ115x、仮想マシン212−y上の業務アプリケーション262である。
要因特定部306は、上記特定した被擬対象部位と処理能力が低下した部位をネットワーク監視端末119に出力する。データセンタ110の管理者は、処理能力の低下が発生した部位がWAN150であればWAN150の運営会社に通知する。データセンタ110の管理者は、被擬対象部位または処理能力の低下が発生した部位がWAN150であればWAN150の運営会社に通知する。
また、被擬対象部位または処理能力が低下した部位が仮想化部211であれば、管理者は仮想化部211のベンダに通知する。また、被擬対象部位または処理能力が低下した部位がデータセンタ110内のネットワークであれば、管理者はデータセンタ内のネットワークの運用管理担当者に修復を指示する。また、被擬対象部位または処理能力が低下した部位が業務サーバ115xであれば、管理者は業務サーバ115a〜115dの担当者に修復またはリソースの増強を指示する。また、被擬対象部位または処理能力が低下した部位が仮想マシン212−yであれば、当該仮想マシン212−y上の業務アプリケーションを運用している顧客に遅延増大の発生を通知する。
本実施形態のネットワーク監視サーバ118は、ルータ102またはルータ120から遅延通知312を受信すると、まず、遅延増大の発生した部位がWAN150とデータセンタ110内のいずれであるかを判定する。
ネットワーク監視サーバ118は、遅延増大の発生した部位がWAN150であれば、ネットワーク監視端末119から管理者に対してWAN150を管理する通信事業者に修復を依頼するように警告する。
遅延増大が発生した部位がデータセンタ110内であれば、ネットワーク監視サーバ118は、処理遅延の増大が発生したIPアドレスに対応する仮想マシン212−y及び業務サーバ115xを被擬対象(遅延増大の発生)の部位として特定する。ネットワーク監視サーバ118は、さらに、被擬対象の仮想マシン212−yと計算機資源を共有する仮想マシン212−zにまで性能監視情報の収集範囲を広げることで、仮想化部211の処理能力低下(または障害発生)や物理計算機(業務サーバ115x)の処理能力の低下を迅速に特定して、処理能力の低下(遅延増大)の要因となった部位を特定することができる。これにより、顧客サイト101から通信のない業務サーバ115a〜115dと仮想マシン212を監視の対象から除外して、性能監視情報を取得する計算機資源を絞り込むことでネットワーク監視サーバ118の処理負荷が過大になるのを抑制し、処理の遅延増大の要因となった部位を極めて迅速に特定することが可能となるのである。
ネットワーク監視端末119は、プロセッサとメモリ及び記憶装置を備えた計算機で構成され、ネットワーク監視サーバ118に接続される。
図4は、ネットワーク監視サーバ118が保持する通信フロー情報301の一例を示す説明図である。
通信フロー情報301は、顧客サイト101のクライアント端末104に対してサービスを提供する業務サーバ115a〜115dの通信に関する情報と、物理計算機(業務サーバ)に関する情報と、仮想マシンに関する情報を関連づけるテーブルである。通信フロー情報301は、ネットワーク監視端末119から管理者が入力した初期設定情報333によって生成され、業務サーバ115a〜115dや仮想マシン212の変更に応じて情報更新処理部323によって更新される。
通信フロー情報301は、サービスを提供する仮想マシン212に割り当てられたIPアドレスを格納する通信先IPアドレス501と、仮想マシン212を実行する業務サーバ115a〜115dの識別子を格納する業務サーバ番号502と、当該仮想マシンに設定された識別子を格納するVM番号503から一つのエントリが構成される。
通信先IPアドレス501は、顧客サイト101のクライアント端末104が宛先IPアドレスとして使用するアドレスで、管理者などがネットワーク監視端末119から設定した値である。
業務サーバ番号502は、データセンタ110内で業務サーバ115a〜115dを識別するために、管理者などがネットワーク監視端末119から設定した値である。
VM番号503は、業務サーバ115a〜115d内で仮想マシン212−1〜212−nを識別するために、仮想化部211が設定した値である。
図示の例では、エントリ511、512が業務サーバ115a(APserv#1)で2つの仮想マシンVM#1とVM#2が稼動してそれぞれサービスを提供することを示し、エントリ513は、業務サーバ115b(APserv#2)で1つの仮想マシンVM#1が稼動してサービスを提供することを示す。
図5は、ネットワーク監視サーバ118が保持する共有資源情報302の一例を示す説明図である。
共有資源情報302は、仮想マシン212−1〜212−nが共有するデータセンタ110内の物理リソースの設定情報を格納するテーブルである。共有資源情報302は、ネットワーク監視端末119から管理者が入力した初期設定情報333によって生成され、業務サーバ115a〜115dや仮想マシン212の変更に応じて情報更新処理部323によって更新される。
共有資源情報302は、業務サーバ115a〜115dの識別子を格納する業務サーバ番号601と、仮想マシンに設定された識別子を格納するVM番号602と、当該仮想マシンに割り当てられたストレージ装置116の識別子を格納するストレージ装置番号603と、ストレージ装置116内の記憶領域の識別子を格納するLU番号604から一つのエントリが構成される。
業務サーバ番号601は、通信フロー情報301の業務サーバ番号502と同様であり、データセンタ110内で業務サーバ115a〜115dを識別するために、管理者などがネットワーク監視端末119から設定した値である。
VM番号602は、通信フロー情報301のVM番号503と同様であり、業務サーバ115a〜115d内で仮想マシン212−1〜212−nを識別するために、仮想化部211が設定した値である。
ストレージ装置番号603は、データセンタ110内でストレージ装置を特定するために、管理者などがネットワーク監視端末119から設定した値である。
LU番号604は、ストレージ装置116内で記憶領域を識別するために、管理者などがネットワーク監視端末119から設定した値である。
図示の例では、エントリ611、612が業務サーバ115a(APserv#1)で2つの仮想マシンVM#1とVM#2が稼動し、仮想マシンVM#1にはストレージ装置116(RAID#1)のLU#101が割り当てられ、仮想マシンVM#2にはストレージ装置116(RAID#1)のLU#102が割り当てられた例を示す。すなわち、業務サーバ115a(仮想化部211)とストレージ装置116が業務サーバ115a(APserv#1)上の仮想マシンVM#1とVM#2で共有されることを示す。
図6は、顧客サイト101aからデータセンタ110の業務サーバ115a(APserv#1)で稼動するOS261−1にアクセスする際の処理の遅延を示すタイムチャートである。図示の例では、顧客サイト101aのクライアント端末104aがOS261−1(仮想マシン212−1(VM#1))上の業務アプリケーション262−1にアクセスする例を示す。
顧客サイト101aのクライアント端末104aが、データセンタ110の業務サーバ115aで実行されるOS261−1(仮想マシン212−1)上の業務アプリケーションに対して処理要求を送信し、図中時刻T1で顧客サイト101aのルータ102aが処理要求を受信する。
ルータ102aの遅延監視部103aは、予めデータセンタ110の監視条件設定部303から監視条件として通信先IPアドレス501を受信して保持する。そして、ルータ102aの遅延監視部103aは、クライアント端末104aから受信した処理要求に対する応答をデータセンタ110から受信するまでの時間の監視を開始する。ルータ102aは、クライアント端末104aから受信した処理要求を、WAN150を介してデータセンタ110のルータ120に送信する。
なお、図示の例では、処理要求がHTTPリクエストであり、処理応答がHTTPレスポンスの例を示す。HTTPリクエストまたはHTTPレスポンスは、TCPの通信端点点(発信元IPアドレス、発信元ポート番号、通信先IPアドレス、通信先ポート番号)毎に1つの要求に対して1つの応答が送受信されるため、HTTPリクエストに対するHTTPレスポンスを監視することで、通信を含む処理の遅延時間を測定することができる。
時刻T2では、データセンタ110のルータ120が、WAN150を介して顧客サイト101aのルータ102aから処理要求を受信する。
ルータ120の遅延監視部121は、顧客サイト101aから受信した処理要求に対する応答を業務サーバ115aから受信し、顧客サイト101aに返信するまでの時間の監視を開始する。ルータ120は、WAN150から受信した処理要求を、業務ネットワーク(L2スイッチ114a)を介して通信先IPアドレスの業務サーバ115aに送信する。
時刻T3では、業務サーバ115aの物理NIC221が業務ネットワークから処理要求を受信し、仮想化部211が当該処理要求を通信先IPアドレスに対応するOS261−1(仮想マシン212−1)に送信する。時刻T4ではOS261−1が物理NIC221を制御する仮想化部211から処理要求を受信し、OS上で稼動する業務アプリケーション262−1で処理を開始、時刻T5で処理を完了する。OS261−1は、時刻T5で、処理要求に対する処理結果を処理応答として仮想化部211を介して物理NIC221から顧客サイト101aに送信する。
時刻T6では、OS261−1から処理要求を受信した仮想化部211が、物理NIC221を介して業務ネットワーク(L2スイッチ114a)に処理応答を送信する。時刻T7では、データセンタ110のルータ120が、業務ネットワークから受信した業務サーバ115aからの処理応答を受信し、時刻T7で処理応答をWAN150に送信する。
時刻T7において、ルータ120の遅延監視部121は、顧客サイト101aから受け付けた処理要求に含まれる通信先IPアドレスXと送信元IPアドレスYを受信した時刻T2と、業務サーバ115aから受信した処理応答の通信先IPアドレスがY、送信元IPアドレスがXの場合、この処理応答を顧客サイト101aへ送信した時刻T7との差分をデータセンタ110内の処理の遅延時間として求める。
そして、ルータ120の遅延監視部121は、処理の遅延時間が予め設定された閾値TH1を超えていれば、ネットワーク監視サーバ118に遅延時間の増大が発生したことを通知する。
時刻T8では、顧客サイト101aのルータ102aが、WAN150を介してデータセンタ110から処理応答を受信する。
また、ルータ102aの遅延監視部103aは、時刻T1で受信したクライアント端末104aからの処理要求に含まれる通信先IPアドレスXと送信元IPアドレスYを保持し、データセンタ110から受信した処理応答の通信先IPアドレスがY、送信元IPアドレスがXの場合、この処理応答をクライアント端末104aへ送信した時刻T8とし、時刻T8とT1の差分を顧客サイト101aから見た処理(または通信)の遅延時間として求める。
そして、ルータ102aの遅延監視部103aは、処理の遅延時間が予め設定された閾値TH2を超えていれば、管理用回線151を介してネットワーク監視サーバ118に遅延の増大が発生したことを通知する。
図6において、顧客サイト101aのクライアント端末104aから見た処理の遅延時間1001は、顧客サイト101aのルータ102aで観測される時刻T8−T1となる。また、データセンタ110内の処理の遅延時間1002は、時刻T7−T2となる。また、業務サーバ115a内の処理の遅延時間(または処理時間)1003は、時刻T6−T3となる。そして、OS261−1上の処理の遅延時間(または処理時間)は、時刻T5−T4となる。また、顧客サイト101aのクライアント端末104aから観測したWAN150の通信に伴う遅延時間1005は、時刻T8−T1−T7+T2となる。
以上のように、顧客サイト101aのルータ102aでは、顧客サイト101aから見た、処理の遅延時間1001を閾値TH2により監視し、データセンタ110のルータ120では、データセンタ110内の処理の遅延時間1002を閾値TH1により監視する。そして各ルータ102a、120は、処理の遅延時間が閾値TH1またはTH2を超えると、ネットワーク監視サーバ118に処理の遅延が増大したことを、通信先のIPアドレスを含めて通知する。
なお、図6では、顧客サイト101aのクライアント端末104aの例について説明したが、顧客サイト101b〜101cについても同様である。
図7は、ネットワーク監視サーバ118で実行される処理の一例を示すフローチャートである。この処理は、ネットワーク監視サーバ118の情報収集範囲特定部304が、顧客サイト101a〜101cのルータ102a〜102cまたはデータセンタ110のルータ120からの何れかひとつから遅延検知312を受信したときに実行される。
ステップS402では、情報収集範囲特定部304が処理の遅延増大が発生した部位がWAN150であるか否かを判定する。この判定は、情報収集範囲特定部304が遅延通知312を受信したルータの識別子が顧客サイト101のルータ102a〜102cまたはデータセンタ110のルータ120の何れであるかを判定し、顧客サイト101のルータ102a〜102cのいずれかから遅延通知312受信した場合には、WAN150に遅延の増大が発生したと判定して、ステップS409に進む。ステップS409では、情報収集範囲特定部304が要因特定部306に、処理の遅延の増大が発生した部位がWAN150であることを通知する。そして、要因特定部306はネットワーク監視端末119にWAN150に処理の遅延増大が発生したことをシステム性能低下要因通知314として通知する。システム性能低下要因通知314を受信したネットワーク監視端末119では、WAN150の障害などによる遅延の増大が生じたことをディスプレイ(図示省略)に表示する。
一方、情報収集範囲特定部304がデータセンタ110のルータ120から遅延通知312を受信した場合、または、データセンタ110のルータ120と顧客サイト101のルータ102の双方から遅延通知312を受信した場合には、データセンタ110内で遅延の増大の要因を探索するため、ステップS403へ進む。
ステップS403では、ネットワーク監視サーバ118の情報収集範囲特定部304が、遅延通知312に含まれるIPアドレスで通信フロー情報301を検索し、通信先IPアドレス501と一致する業務サーバ番号502とVM番号503から、処理の遅延増大が発生した部位として、業務サーバ115xと仮想マシン212−yを特定する。
ステップS404では、ネットワーク監視サーバ118は、遅延増大の要因となった部位を特定するため、被擬対象の業務サーバ115x及び仮想マシン212−yから性能監視情報を取得する。この処理は、情報収集範囲特定部304が情報取得指示部305に対して被擬対象の業務サーバ115xと仮想マシン212−yのNICに関する性能監視情報を取得する指令を通知する。情報取得指示部305は指令された被擬対象の業務サーバ115xの情報切り出し部251に対してNICの性能監視情報を要求する性能監視情報取得要求313を送信する。被擬対象の業務サーバ115xでは、情報切り出し部251がNIC性能統計情報243を取得し、性能監視情報通知252としてネットワーク監視サーバ118に返信する。
ネットワーク監視サーバ118は、業務サーバ115xからNICに関する性能監視情報通知252を受信すると、ステップS405で業務サーバ115x内のNIC(物理NIC221及び仮想NIC)で処理の遅延増大が発生したか否かを判定する。この判定は、要因特定部306で行われる。要因特定部306は、性能監視情報通知252のNICの性能監視情報のうち、レイテンシが所定の閾値を超えたデータ(パケット)またはデータ転送量が所定の閾値を超えたデータがある場合には、被擬対象の業務サーバ115xまたは仮想マシン212−yのNICで処理の遅延増大が発生したと判定し、ステップS406に進む。一方、要因特定部306はNICの性能監視情報に処理の遅延増大がない場合にはステップS410へ進む。
ステップS410では、要因特定部306は、被擬対象の業務サーバ115xに処理の遅延増大の要因がないと判定し、かつ、データセンタ110のルータ120で処理の遅延増大が発生していることから、データセンタ110内の業務ネットワークに障害が発生したと判定する。要因特定部306は、ネットワーク監視端末119に対して、データセンタ110内の業務ネットワークに障害が発生した可能性がある旨をシステム性能低下要因通知314として通知する。システム性能低下要因通知314を受信したネットワーク監視端末119では、データセンタ110内の業務ネットワークに障害などによる遅延の増大が生じたことをディスプレイ(図示省略)に表示する。
ステップS406では、被擬対象の業務サーバ115xまたは仮想マシン212−yのNICに処理の遅延増大が発生しているため、さらに、遅延増大の要因を特定する。このため、情報収集範囲特定部304は、共有資源情報302を参照して、被擬対象の仮想マシン212−yと物理的な計算機資源を共有する仮想化部211と仮想マシンを抽出する。
ステップS407では、情報収集範囲特定部304が、上記ステップS406で抽出した被擬対象の仮想マシン212−yと物理的な計算機資源を共有する仮想化部211及び仮想マシン212を実行する業務サーバ115xからCPUに関する性能監視情報を取得する指令を情報取得指示部305に通知する。情報取得指示部305は、被擬対象の業務サーバ115xに対して性能監視情報取得要求313を送信し、上記抽出した仮想化部211及び仮想マシン212のCPUの性能監視情報を要求する。
業務サーバ115xの情報切り出し部251は、性能監視情報取得要求313に対するCPU性能統計情報244を取得し、性能監視情報通知252としてネットワーク監視サーバ118に返信する。
ネットワーク監視サーバ118は、業務サーバ115xからCPUに関する性能監視情報通知252を受信すると、ステップS407で業務サーバ115xの仮想マシン212−yに割り当てられた仮想CPUの使用率が増大したか否かを判定する。この判定は、要因特定部306で行われる。要因特定部306は、性能監視情報通知252のCPUの性能監視情報のうち、被擬対象の仮想マシン212−yの仮想CPUの使用率と、物理的な計算機資源を共有する他の仮想マシン212の仮想CPUの使用率を抽出し、各仮想CPUの使用率が増加したか否かを判定する。この判定は、仮想CPUの使用率を時系列的に比較して使用率の増加を検知してもよいし、あるいは、仮想CPUの使用率が所定の閾値(例えば、90%)を超えていればCPUの使用率が増加したと判定してもよい。
要因特定部306は、仮想CPUの使用率が所定の閾値を超えて増加したと判定した場合は、ステップS412へ進んで、仮想マシン212上の業務アプリケーション262に障害またはエラーが発生して、処理の遅延増大が発生したことをネットワーク監視端末119にシステム性能低下要因通知314として通知する。ネットワーク監視端末119は、ネットワーク監視サーバ118からのシステム性能低下要因通知314に基づいて、仮想マシン212−y上で稼動している業務アプリケーション262に障害が発生している通知をディスプレイ(図示省略しない)等に表示し、業務アプリケーション262を運用及び管理している顧客に連絡することを促す。
一方、要因特定部306は、仮想CPUの使用率が増加していないと判定した場合は、ステップS411へ進んで、仮想マシン212を稼動させる仮想化部211に障害が発生して、処理の遅延増大が発生したと判定してネットワーク監視端末119にシステム性能低下要因通知314を通知する。すなわち、仮想CPUの使用率が増大せず、業務サーバ115xで処理の遅延増大が発生している場合は、仮想化部211の障害、あるいは業務サーバ115xのハードウェア資源210に障害が発生していることが考えられる。このため、ネットワーク監視サーバ118からシステム性能低下要因通知314を受けたネットワーク監視端末119は、データセンタ110の管理者に仮想化部211のベンダへの連絡や、業務サーバ115xの増強を検討することを促す警告を図示しないディスプレイなどに表示する。
以上の処理によって、顧客サイト101のルータ102と、データセンタ110のルータ120で、予め設定した通信先IPアドレスのみについて遅延時間を監視し、遅延の増大が発生した場合には該当するIPアドレスとともに遅延通知312としてネットワーク監視サーバ118に通知する。ネットワーク監視サーバ118は、遅延通知312を受信すると、WAN150の障害であるか否かを特定する。WAN150の障害でない場合には、ネットワーク監視サーバ118は、遅延通知312に含まれるIPアドレスから被擬対象の業務サーバ115xと仮想マシン212−yを遅延増大が発生した部位として特定する。そして、ネットワーク監視サーバ118は、これらの被擬対象(遅延増大が発生した部位)についてNICの性能監視情報を収集して、遅延の増大の要因がデータセンタ110内の業務ネットワークであるか否かを特定する。遅延の増大の要因が業務ネットワークでない場合には、ネットワーク監視サーバ118は被擬対象の仮想マシン212−yと物理的な計算機資源を共有するリソースも被擬対象に加えてCPUの性能監視情報を取得し、遅延の増大の要因が仮想化部211と仮想マシン212−y上の業務アプリケーション262の何れであるかを特定する。
そして、ネットワーク監視サーバ118は、上記のように遅延の増大の要因となった部位を特定してネットワーク監視端末119に通知し、ネットワーク監視端末119では遅延の増大が発生した部位をディスプレイなどに表示する。ネットワーク監視端末119を使用する管理者は、ディスプレイの表示から、遅延の増大の要因として特定された部位に応じて障害の復旧を指示する相手を迅速に判断することができる。
このように、業務アプリケーション262を実際に利用している通信のみを監視し、通信先IPアドレス501からデータセンタ110内で遅延の増大が発生した部位を絞り込み、絞り込んだ業務サーバ115x、仮想マシン212−yから性能監視情報を取得し、遅延の増大が発生した部位を特定する。さらに、被擬対象の仮想マシン212−yと物理的な計算機資源を共有する部位(物理計算機、仮想化部211、他の仮想マシン212)についても性能監視情報を取得して遅延増大の要因となった部位を特定することができる。
これにより、前記従来例のようにネットワーク監視サーバ118が、すべての業務サーバ115及び仮想マシン212の性能監視情報を収集する必要はなく、また、遅延の増大が発生した部位の特定や、遅延増大の要因となった部位を特定するために取得する性能監視情報のデータ量を前記従来例よりも大幅に低減でき、遅延増大が発生した部位を迅速に特定し、さらに、遅延増大の要因となった部位も迅速に特定することが可能となる。
以上より、クラウドコンピューティングを構成するWAN150と、データセンタ内の業務ネットワークを構成する機器と、業務サーバ115の仮想化部211と、仮想化部211上の仮想マシン212で発生する障害を検知し、かつ、処理能力(システム性能)が低下した要因を迅速に特定することで信頼性の高いサービスを提供することが可能となる。
図8は、ネットワーク監視端末119のディスプレイで遅延の増大が発生した部位を表示するインターフェースの一例を示す画面イメージである。
ネットワーク監視端末119のインターフェースは、計算機システムの構成を示す領域710と、システム性能低下要因通知314を表示する領域720の2つに大別される。領域710では、処理の遅延増大が検出された通信経路701が枠によって表示される。そして、領域710には、上記図7の処理によって処理の遅延増大が検知された部位として仮想マシン(VM#1)に注意を喚起するアイコン703が表示される。また、領域710には、上記図7の処理によって遅延増大の要因と判定された部位として他の仮想マシン(VM#1)に動作の異常を示すアイコン704が表示される。さらに、領域710では、処理の遅延増大が検出された仮想マシン212と物理的な計算機資源を共有する要素が枠内に表示される。
システム性能低下要因通知314を表示する領域720は、遅延の増大の種類として、通信経路の領域711、通信エンドポイントの領域712、資源共有範囲の領域713及びVM処理能力低下の領域714の4種類で構成した例を示す。そして、システム性能低下要因通知314に含まれる遅延増大の要因には、チェックマーク715、716が表示される。
図示の例では、通信経路の領域711と、資源共有範囲の領域713にチェックマーク715、716が設定される。これらの、領域711、713のアラート内容としては、領域710に対応したテキストが表示される。領域711のアラート内容には、通信経路701で遅延増大が発生したことが表示され、領域713のアラート内容には、遅延増大が発生した部位として特定された業務サーバ(APServ#1)及び仮想マシン(VM#1)と計算機資源を共有する装置の範囲702が表示される。
データセンタ110の管理者は、計算機システムの構成をグラフィックで示す領域710の注意及び警告と、領域720のテキストによる詳細な表示により、遅延増大が発生した部位を迅速かつ容易に理解することができる。
図9は、図8に示した遅延増大が発生した部位を特定する処理のシーケンス図である。
ステップ1では、ネットワーク監視サーバ118が顧客サイト101aのルータ102aとデータセンタ110のルータ120からそれぞれ遅延通知312を受信する。
ステップ2では、ネットワーク監視サーバ118が、遅延増大が発生した部位が、WAN150とデータセンタ110の何れであるかを判定する。この処理は、図7のステップS402である。この例では、顧客サイト101aのルータ102aとデータセンタ110のルータ120が共に遅延増大を検知しているので、ネットワーク監視サーバ118は、データセンタ110内に遅延増大の要因が存在すると判定する。ネットワーク監視サーバ118は、ルータからの遅延通知312に含まれるIPアドレスから、遅延増大の発生した部位の被擬対象が、業務サーバが業務サーバ115aで、被擬対象の仮想マシン212−1(VM#1)であると特定する。この処理は、図7のステップS403である。
ステップ3では、ネットワーク監視サーバ118が、被擬対象の業務サーバ115aからNICの性能監視情報を取得する。この処理は、図7のステップS404である。
ステップ4では、ネットワーク監視サーバ118が、取得したNICの性能監視情報から遅延増大の要因が業務ネットワークと業務サーバ115aの何れであるかを判定する。この処理は、図7のステップS405である。この例では、NICの性能監視情報にシステム性能低下要因を検知したため、業務サーバ115aに遅延増大の要因があると判定する。
ステップ5では、ネットワーク監視サーバ118が共有資源情報302を参照して、被擬対象の仮想マシン212−1と物理的な計算機資源を共有する仮想化部211と他の仮想マシン212を抽出する。この処理は、図7のステップS406である。この例では、業務サーバ115bの仮想マシン212とストレージ装置116のLUを共有している場合を示す。
ステップ6では、ネットワーク監視サーバ118が被擬対象の業務サーバ115aの仮想化部211及び仮想マシン212−1のCPUの性能監視情報を取得し、ステップ7では、被擬対象の仮想マシン212−1が実行される業務サーバ115a上の他の仮想マシン212のCPUの性能監視情報を取得する。また、ステップ8、ステップ9では、ネットワーク監視サーバ118が、被擬対象の仮想マシン212−1と物理的な計算機資源を共有する業務サーバ115bの仮想化部211及び仮想マシン212のCPUの性能監視情報を取得する。これら処理は、図7のステップS407である。
ステップ10では、上記取得したCPUの性能監視情報から、ネットワーク監視サーバ118は業務サーバ115bの仮想マシン(#VM1)で仮想CPUの使用率が増大したことを検出し、当該仮想マシンが遅延増大の要因となった部位であると特定する。
こうして、業務アプリケーション262を実際に利用している通信から顧客サイト101とデータセンタ110のルータで処理の遅延増大をそれぞれ検知し、検知した通信に含まれる宛先アドレス(通信先IPアドレス501)からネットワーク監視サーバ118が処理の遅延が増大した業務サーバ115(物理計算機)と仮想マシン212(仮想計算機)を特定する。
そして、被擬対象の仮想マシン212−yと物理的な計算機資源を共有する他の仮想マシン212、他の業務サーバ115からもCPUの性能監視情報を取得することで、業務サーバ115bの仮想マシン#VM1が遅延増大の要因となった部位であることを特定できる。
この例では、業務サーバ115a(APServ#1)の仮想マシン#VM1と、業務サーバ115b(APServ#2)の仮想マシン#VM1がストレージ装置116のLUを共有している。ルータによって遅延増大を検知されたのは業務サーバAPServ#1の仮想マシン#VM1であるが、ストレージ装置116のLUを共有する業務サーバAPServ#2の仮想マシン#VM1に障害が発生したため、業務サーバAPServ#1の仮想マシン#VM1のアクセスが遅延したことが推測できる。また、データセンタ110のストレージ装置116の管理者に対しては、業務サーバAPServ#1、#2の仮想マシン212が共有するLUに障害がないかを確認する契機を提供することができる。
このように、本発明では、処理の遅延増大を検知した仮想マシン212−yと、実際に障害等が発生した仮想マシン#VM1(APServ#2)を特定することが可能となる。
図10A、図10Bはネットワーク監視サーバ118の業務サーバ監視部321と、VM監視部322及び情報更新処理部323で行われる処理の一例を示すフローチャートである。この処理は、ネットワーク監視サーバ118が、仮想化管理サーバ130から業務サーバの変更通知(追加または削除)331や仮想マシン212の変更通知(追加、移動または削除)332を受信したときに実行される。図10AのステップS901〜S907の処理が業務サーバ監視部321及び情報更新処理部323の処理に相当し、図10BのステップS908〜S919の処理がVM監視部322及び情報更新処理部323の処理に相当する。
ステップS901では、業務サーバ監視部321が、業務サーバの変更通知331を受信したか否かを判定する。業務サーバの変更通知331を受信していなければ図10BのステップS908に進む。一方、業務サーバの変更通知331が業務サーバ115の追加であればステップS902へ進み、削除であればステップS905に進む。
ステップS902では、業務サーバ監視部321が業務サーバの変更通知331から追加された業務サーバ115を特定し、当該業務サーバ115の仮想化部211から定義されている仮想マシン212に関する情報を取得する。
ステップS903では、業務サーバ監視部321が業務サーバ115から取得した仮想マシン212のIPアドレス、仮想マシン212の識別子(番号)、業務サーバ115の識別子(番号)を、通信フロー情報301に設定する。
ステップS904では、業務サーバ監視部321は、業務サーバ115から取得した仮想マシン212が共有する計算機資源の情報を共有資源情報302に設定する。
上記ステップS902〜S904により、ネットワーク監視サーバ118が受信した業務サーバ変更通知331で追加された業務サーバ115の一つについて、ルータの監視対象となる仮想マシン212の通信先IPアドレス501等が通信フロー情報301に加えられ、追加された業務サーバ115上の仮想マシン212が共有する計算機資源が共有資源情報302に加えられる。
ステップS905では、業務サーバ監視部321が、業務サーバの変更通知331から削除された業務サーバ115の識別子(番号)を取得する。
ステップS906では、業務サーバ監視部321が、業務サーバ115の識別子と一致する業務サーバ番号502を含むエントリを、通信フロー情報301から検索し、当該エントリを削除する。
ステップS906では、業務サーバ監視部321が、業務サーバ115の識別子と一致する業務サーバ番号601を含むエントリを、共有資源情報302から検索し、当該エントリを削除する。
上記ステップS905〜S907により、ネットワーク監視サーバ118は、受信した業務サーバ変更通知331に含まれる削除された業務サーバ115の一つについて、通信フロー情報301と共有資源情報302から削除する。
次に、業務サーバの変更通知331を受信していなければ図10BのステップS908では、VM監視部322が、仮想マシン212の変更通知332を受信したか否かを判定する。仮想マシン212の変更通知332を受信していなければステップS920に進む。一方、仮想マシン212の変更通知332が仮想マシン212の追加であればステップS909へ進み、削除であればステップS912へ進み、移動であればステップS915へ進む。
ステップS909では、VM監視部322が仮想マシン212の変更通知332で追加された仮想マシン212と、当該仮想マシン212が稼動する業務サーバ115の識別子を特定し、当該業務サーバ115の仮想化部211から追加された仮想マシン212に関する情報を取得する。
ステップS910では、VM監視部322が業務サーバ115から取得した仮想マシン212のIPアドレス、仮想マシン212の識別子(番号)、業務サーバ115の識別子(番号)を、通信フロー情報301に設定する。
ステップS911では、VM監視部322は、業務サーバ115から取得した仮想マシン212の情報から他の仮想マシン212と共有する計算機資源の情報を共有資源情報302に設定する。
上記ステップS909〜S911により、ネットワーク監視サーバ118が受信した仮想マシン変更通知332で追加された仮想マシン212の一つについて、ルータの監視対象となる仮想マシン212の通信先IPアドレス501等が通信フロー情報301に加えられ、追加された仮想マシン212が共有する計算機資源が共有資源情報302に加えられる。
次に、ステップS912では、VM監視部322が仮想マシンの変更通知332で削除された仮想マシン212の識別子と、当該仮想マシン212が稼動する業務サーバ115の識別子を取得する。
ステップS913では、VM監視部322が、業務サーバ115の識別子及び仮想マシン212の識別子が一致する業務サーバ番号502及びVM番号503を含むエントリを、通信フロー情報301から検索し、当該エントリを削除する。
ステップS914では、VM監視部322が、業務サーバ115の識別子及び仮想マシン212の識別子と一致する業務サーバ番号601及びVM番号602を含むエントリを、共有資源情報302から検索し、当該エントリを削除する。
上記ステップS912〜S914により、ネットワーク監視サーバ118は、受信した仮想マシンの変更通知332に含まれる削除された仮想マシン212の一つについて、通信フロー情報301と共有資源情報302から削除する。
次に、ステップS915では、VM監視部322が仮想マシンの変更通知332で移動された仮想マシン212の識別子と、当該仮想マシン212が稼動する業務サーバ115の識別子を取得する。これらの識別子は、移動元の仮想マシン及び業務サーバの識別子と、移動先の仮想マシン212及び業務サーバ115の識別子を含む。
ステップS916では、VM監視部322が、移動元の業務サーバ115の識別子及び仮想マシン212の識別子が一致する業務サーバ番号502及びVM番号503を含むエントリを、通信フロー情報301から検索し、当該エントリを削除する。
ステップS917では、VM監視部322が、移動元の業務サーバ115の識別子及び仮想マシン212の識別子と一致する業務サーバ番号601及びVM番号602を含むエントリを、共有資源情報302から検索し、当該エントリを削除する。
上記ステップS916〜S917により、ネットワーク監視サーバ118は、受信した仮想マシンの変更通知332に含まれる移動された仮想マシン212の一つについて、移動元の仮想マシン212の情報を通信フロー情報301と共有資源情報302から削除する。
ステップS918では、VM監視部322が仮想マシンの変更通知332から取得した移動先の業務サーバ115の仮想化部211から、移動先の仮想マシン212のIPアドレス、仮想マシン212の識別子(番号)、業務サーバ115の識別子、移動先の仮想マシン212が他の仮想マシンと共有する計算機資源の識別子を取得する。そして、VM監視部322が、移動先の仮想マシン212のIPアドレス、仮想マシン212の識別子(番号)、業務サーバ115の識別子を、通信フロー情報301に設定する。
ステップS919では、VM監視部322は、移動先の仮想マシン212を実行する業務サーバ115から取得した他の仮想マシンと共有する計算機資源の識別子を共有資源情報302に設定する。
上記ステップS915〜S919により、ネットワーク監視サーバ118は、受信した仮想マシン変更通知332で移動された仮想マシン212の一つについて、通信フロー情報301と共有資源情報302を更新し、移動元の情報を移動先の情報に書き換える。
次に、ステップS920では、ネットワーク監視サーバ118が、業務サーバの変更通知331または仮想マシンの変更通知332に含まれる全ての仮想マシン212について処理が完了したか否かを判定する。未処理の仮想マシン212があれば、ステップS901に戻って上記処理を繰り返す。一方、全ての仮想マシン212について処理が完了していれば当該フローチャートを終了する。
上記処理により、データセンタ110内で業務サーバ115や仮想マシン212の変更があった場合には、ネットワーク監視サーバ118が通信フロー情報301及び共有資源情報302を更新する。そして、ネットワーク監視サーバ118は、更新した通信フロー情報301を顧客サイト101のルータ102とデータセンタ110のルータ120に送信し、監視対象の通信を更新させる。
以上のように、本実施形態によれば、業務サーバ115や仮想マシン212の構成が変更されると、通信フロー情報301と共有資源情報302を更新し、常に最新の監視条件をルータ102、120に設定することができる。
そして、ネットワーク監視サーバ118は、ルータ102、120の監視部103、121から遅延通知312を受信すると、通信フロー情報301を参照して遅延が増大した業務サーバ115xと仮想マシン212−yを被擬対象として特定する。そして、ネットワーク監視サーバ118は、被擬対象の仮想化部211から、物理的な計算機資源(CPU、NIC)の性能監視情報と、仮想的な計算機資源(仮想CPU、仮想NIC)の性能監視情報を取得し、遅延が増大した要因を特定する。さらに、ネットワーク監視サーバ118は、被擬対象仮想マシン212−yと物理的な計算機資源を共有する他の仮想マシンについても、当該他の仮想マシンの仮想化部211から、物理的な計算機資源の性能監視情報と、仮想的な計算機資源の性能監視情報を取得し、遅延が増大した要因を特定する。
これにより、ネットワーク監視サーバ118は、WAN150、データセンタ110内の業務ネットワーク、業務サーバ115、業務アプリケーション262の何れに遅延が増大した要因が存在するのかを迅速かつ高精度で検出することが可能となる。
<第2の実施形態>
図11は第2の実施形態を示し、業務サーバ115のブロック図である。第2の実施形態の業務サーバ115は、前記第1の実施形態の仮想化部211内のCPU性能情報収集部242を、仮想マシン212のOS261上で実行される仮想CPUエージェントとしたもので、前記第1実施形態のCPU性能情報収集部242を仮想化部211からOS261上に移動した変形例である。なお、その他の構成は前記第1の実施形態と同様である。
各仮想マシン212−1〜212−nのOS261−1〜261−n上では、前記第1実施形態の業務アプリケーション262−1〜262−nが実行されるのに加え、本第2実施形態では、仮想CPU監視エージェント1101−1〜1101−nが実行される。仮想CPU監視エージェント1101−1〜1101−nは同一の構成であるので、以下では図示の仮想CPU監視エージェント1101−nについてのみ説明する。なお、仮想マシン212−1〜212−n及びOS261−1〜261−nの総称は、それぞれ仮想マシン212、OS261とする。
仮想CPU監視エージェント1101−nは、各仮想マシン212のOS261に割り当てられた仮想CPUの性能監視情報を収集するCPU性能情報収集部242と、収集した仮想CPUの性能監視情報を格納するCPU性能統計情報244と、性能監視情報取得要求313からの指令に応じてCPU性能統計情報244を取得し、性能監視情報通知1104bとしてネットワーク監視サーバ118に送信する情報切り出し部2510と、を含む。
CPU性能情報収集部242は、所定の周期(例えば、10msec)で仮想CPUの性能監視情報(例えば、使用率)を取得する。仮想CPUの性能監視情報は、OS261から取得してもよいし、OS261のログ(図中sar log)から取得してもよい。
そして、CPU性能情報収集部242は、取得した仮想CPUの性能監視情報をCPU性能統計情報244に格納する。なお、CPU性能統計情報244には性能監視情報を収集した時刻のタイムスタンプを保持してもよい。また、CPU性能統計情報244は、前記第1実施形態と同様に、所定時間(例えば、10分間または20分間)の仮想CPUの性能監視情報が所定の周期毎に格納される。
ネットワーク監視サーバ118が性能監視情報取得要求313を送信すると、業務サーバ115では、情報切り出し部251あるいは情報切り出し部2510が受信する。情報切り出し部251は、性能監視情報取得要求313の収集対象がNICの場合に、前記第1の実施形態と同様にしてNIC稼働統計情報243を性能監視情報通知1104としてネットワーク監視サーバ118に送信する。情報切り出し部2510は、性能監視情報取得要求313の収集対象がCPUである場合に、CPUの性能監視情報を送信するように指令する。指令を受けた仮想マシン212−1〜212−nの情報切り出し部2510は、CPU稼働統計情報244を性能監視情報通知1104bとしてネットワーク監視サーバ118に送信する。 各仮想マシン212−1〜212−nでは、仮想CPUエージェント1101−1〜1101−nがそれぞれ仮想CPUの性能監視情報を取得してCPU性能統計情報244に格納する。ネットワーク監視サーバ118は、CPUの性能監視情報を取得する仮想マシン212の識別子を性能監視情報取得要求313で指定して業務サーバ115の仮想マシン212の情報切り出し部2510に通知する。仮想マシン212の仮想CPUエージェント1101は、情報切り出し部2510からCPU性能統計情報244を応答する。
以上のように、各仮想マシン212に仮想CPUエージェント1101−1〜1101−nをそれぞれ配置することで、ネットワーク監視サーバ118は、指定した仮想マシン212のみのCPUの性能監視情報を取得することが可能となる。なお、物理CPU222の性能監視情報については、仮想化部211に物理CPU専用の性能情報収集部を設けてもよい。
本第2実施形態においても、前記第1実施形態と同様に、ネットワーク監視サーバ118が、業務アプリケーション262を実際に利用している通信のみを監視し、通信先IPアドレス501からデータセンタ110内で遅延の増大が発生した部位(業務サーバ115x及び仮想マシン212−y)を特定する。さらに、ネットワーク監視サーバ118は、被擬対象の仮想マシン212−yと物理的な計算機資源を共有する部位(物理計算機、仮想化部211、他の仮想マシン212)についても性能監視情報を取得して遅延増大の要因となった部位(性能低下部位)を特定することができる。
なお、上記第2実施形態では、ネットワーク監視サーバ118が性能監視情報取得要求313を送信すると、業務サーバ115では、情報切り出し部251あるいは情報切り出し部2510が受信する例を示したが、情報切り出し部251が性能監視情報取得要求313を情報切り出し部2510に転送するようにしてもよい。すなわち、情報切り出し部251は、性能監視情報取得要求313がCPUであれば、要求された仮想マシン212−1〜212−nの情報切り出し部2510に対してCPUの性能情報を送信するように指令する。指令を受けた仮想マシン212−1〜212−nの情報切り出し部2510は、CPU性能統計情報244を性能監視情報通知1104bとしてネットワーク監視サーバ118に送信する。なお、情報切り出し部251は、性能監視情報取得要求313がNICであれば、前記第1実施形態と同様にしてNIC性能統計情報243を性能監視情報通知1104としてネットワーク監視サーバ118に送信する。
<第3の実施形態>
図12は第3の実施形態を示し、ルータ1200のブロック図である。本第3の実施形態のルータ1200は、前記第1実施形態の図3に示したネットワーク監視サーバ118の機能要素を、ルータ120に含めたもので、処理能力低下の要因特定部を備えたネットワーク装置として機能させることができる。
ルータ1200のハードウェア資源1210は、CPU1221、メモリ1223、記憶装置1224及び複数のポートを備えた通信処理部1222から構成される。
前記第1実施形態の通信監視部121と図3に示したネットワーク監視サーバ118の各機能要素は、ルータ1200の内部で接続されており、前記第1実施形態と同一のものに同一の符号を付して、前記第1実施形態と重複する説明は省略する。
本第3実施形態においても、前記第1実施形態と同様に、ルータ1200が業務アプリケーション262を実際に利用している通信のみを監視し、通信先IPアドレス501からデータセンタ110内で遅延の増大が発生した部位(業務サーバ115x及び仮想マシン212−y)を特定する。さらに、ルータ1200は、被擬対象の仮想マシン212−yと物理的な計算機資源を共有する部位(物理計算機、仮想化部211、他の仮想マシン212)についても性能監視情報を取得して遅延増大の要因となった部位(処理能力低下部位)を特定することができる。
なお、上記各実施形態では、ルータ102a〜102c及びルータ120で処理の遅延増大の発生を監視する例を示したが、通信先のIPアドレスと閾値TH1、TH2により処理の遅延増大の発生を検知可能なネットワーク装置であればよい。この種のネットワーク装置としては、L3スイッチやロードバランサなどを用いることができる。
また、上記各実施形態では、Paasに本発明を適用した例を示したがSaaS(Software as a Service)やIaaS(Infrastructure as a Service)に適用することができる。
また、上記各実施形態では、処理要求を受信した時刻から処理応答を受信して転送した時刻までを遅延時間として算出したが、処理要求を受信した時刻から処理応答を受信した時刻までを遅延時間として算出してもよく、あるいは、処理要求を転送した時刻から処理応答を受信して転送した時刻までを遅延時間として算出してもよい。
また、上記各実施形態では、顧客サイト101のルータ102とデータセンタ110のルータ120の双方で遅延増大の検出を行う例を示したが、データセンタ110のルータ120のみで遅延増大の検出を行って、データセンタ110内の処理能力の低下要因を特定するようにしてもよい。
以上のように、本発明はWANを介してクラウドコンピューティングを提供する計算機システム及びクラウドコンピューティングの管理方法及び管理プログラムに適用することができる。また、クラウドコンピューティングを提供する計算機システム内の処理能力低下要因特定装置として提供することもできる。
101a〜101c 顧客サイト
102a〜102c ルータ
103a〜103c 遅延監視部
104a〜104c クライアント端末
110 データセンタ
120 ルータ
121 遅延監視部
114a、114b L2スイッチ
115a〜115d 業務サーバ
116 ストレージ装置
118 ネットワーク監視サーバ
119 ネットワーク監視端末
210 ハードウェア資源
211 仮想化部
212−1〜212−n 仮想マシン
241 NIC性能情報収集部
242 CPU性能情報収集部
251 情報切り出し部
261−1〜261−n OS
262−1〜262−n 業務アプリケーション
301 通信フロー情報
302 共有資源情報
303 監視条件設定部
304 情報収集範囲特定部
305 情報取得指示部
306 要因特定部

Claims (15)

  1. クライアント計算機に接続されたネットワーク装置と、
    前記ネットワーク装置に接続されて前記クライアント計算機にサービスを提供するサーバ計算機と、
    前記ネットワーク装置とサーバ計算機に接続された性能低下要因特定装置と、を備え、
    前記サーバ計算機は、
    演算を行うプロセッサと、
    情報を格納する記憶部と、
    前記ネットワーク装置に接続されるネットワークインタフェースと、
    前記サーバ計算機の物理資源を仮想化する仮想化部と、
    前記仮想化された物理資源上でOS及び前記サービスを提供するアプリケーションを稼動させる複数の仮想マシンと、を有し、
    前記ネットワーク装置は、
    前記クライアント計算機からの処理要求を前記仮想マシンに転送し、当該処理要求に対する処理応答を前記仮想マシンから受信して前記クライアント計算機に転送し、前記性能低下要因特定装置から設定された監視条件を満たす通信について、前記処理要求の転送から前記処理要求に対する処理応答を転送するまでの遅延時間を監視し、前記遅延時間が所定の閾値を超えたときに、前記性能低下要因特定装置に遅延が増大したことを示す遅延通知を送信する遅延監視部を有し、
    前記性能低下要因特定装置は、
    前記ネットワーク装置が送受信する情報のうち、監視対象とする通信の前記監視条件と前記サーバ計算機と仮想マシンの対応関係を設定した通信フロー情報と、
    前記サーバ計算機の計算機資源及び前記サーバ計算機に接続された計算機資源について前記仮想マシン間で共有する計算機資源を特定する共有資源情報と、
    前記ネットワーク装置から前記遅延通知を受信したときに、前記通信フロー情報を参照して遅延が増大した仮想マシン及びサーバ計算機を特定する遅延増大特定部と、
    前記共有資源情報を参照して前記遅延が増大した仮想マシンと計算機資源を共有する他の仮想マシンを抽出する情報収集範囲特定部と、
    前記抽出された仮想マシン及びサーバ計算機と、前記遅延が増大した仮想マシン及びサーバ計算機について、物理的な計算機資源の性能情報と、仮想的な計算機資源の性能情報を取得して、前記遅延が増大した部位を特定する要因特定部と、
    を備えたことを特徴とする仮想計算機システム。
  2. 請求項1に記載の仮想計算機システムであって、
    前記クライアント計算機とネットワーク装置は、広域ネットワークを介して接続されたことを特徴とする仮想計算機システム。
  3. 請求項2に記載の仮想計算機システムであって、
    前記ネットワーク装置は、
    前記サーバ計算機と前記広域ネットワークに接続された第1のネットワーク装置と、
    前記クライアント計算機と前記広域ネットワークに接続された第2のネットワーク装置と、を含み、
    前記第1のネットワーク装置は、
    前記性能低下要因特定装置から設定された監視条件を満たす通信について、前記処理要求の転送から前記処理要求に対する処理応答を転送するまでの遅延時間を監視し、前記遅延時間が予め設定された第1の閾値を超えたときに、前記性能低下要因特定装置に遅延が増大したことを示す遅延通知を送信する第1の遅延監視部を有し、
    前記第2のネットワーク装置は、
    前記性能低下要因特定装置から設定された監視条件を満たす通信について、前記処理要求の転送から前記処理要求に対する処理応答を転送するまでの遅延時間を監視し、前記遅延時間が予め設定された第2の閾値を超えたときに、前記性能低下要因特定装置に遅延が増大したことを示す遅延通知を送信する第2の遅延監視部を有することを特徴とする仮想計算機システム。
  4. 請求項3に記載の仮想計算機システムであって、
    前記第1のネットワーク装置は、前記性能低下要因特定装置を含むことを特徴とする仮想計算機システム。
  5. 請求項1に記載の仮想計算機システムであって、
    前記サーバ計算機の追加または削除を管理する管理計算機をさらに有し、
    前記性能低下要因特定装置は、
    前記管理計算機が前記サーバ計算機の変更を実施したときに、前記通信フロー情報と前記共有資源情報を前記サーバ計算機の変更に対応して更新することを特徴とする仮想計算機システム。
  6. 請求項1に記載の仮想計算機システムであって、
    前記仮想マシンの追加または削除あるいは移動を管理する管理計算機をさらに有し、
    前記性能低下要因特定装置は、
    前記管理計算機が前記仮想マシンの変更を実施したときに、前記通信フロー情報と前記共有資源情報を前記仮想マシンの変更に対応して更新することを特徴とする仮想計算機システム。
  7. 請求項1に記載の仮想計算機システムであって、
    前記仮想化部は、
    前記プロセッサを仮想化した仮想プロセッサを前記仮想マシンに割り当て、前記ネットワークインタフェースを仮想化した仮想ネットワークインターフェースを前記仮想マシンに割り当て、
    前記プロセッサの性能情報を物理的なプロセッサの性能情報として取得し、前記仮想プロセッサの性能情報を仮想的なプロセッサの性能情報として取得するプロセッサ性能情報取得部と、
    前記ネットワークインターフェースの性能情報を物理的なネットワークインターフェースの性能情報として取得し、前記仮想ネットワークインターフェースの性能情報を仮想的なネットワークインターフェースの性能情報として取得するネットワークインターフェース性能情報取得部と、を有し、
    前記要因特定部は、
    前記物理的な計算機資源の性能情報と仮想的な計算機資源の性能情報と、を前記プロセッサ性能情報取得部と前記ネットワークインターフェース性能情報取得部からそれぞれ取得することを特徴とする仮想計算機システム。
  8. クライアント計算機に接続されたネットワーク装置と、前記ネットワーク装置に接続されて前記クライアント計算機にサービスを提供するサーバ計算機と、前記ネットワーク装置とサーバ計算機に接続された性能低下要因特定装置と、を備えた仮想計算機システムの監視方法であって、
    前記サーバ計算機は、演算を行うプロセッサと、情報を格納する記憶部と、前記ネットワーク装置に接続されるネットワークインタフェースと、前記サーバ計算機の物理資源を仮想化する仮想化部と、前記仮想化された物理資源上でOS及び前記サービスを提供するアプリケーションを稼動させる複数の仮想マシンと、を有し、
    前記監視方法は、
    前記性能低下要因特定装置が、前記ネットワーク装置に通信の監視条件を設定する第1のステップと、
    前記ネットワーク装置が、前記クライアント計算機からの処理要求を前記仮想マシンに転送し、当該処理要求に対する処理応答を前記仮想マシンから受信して前記クライアント計算機に転送し、前記監視条件を満たす通信について、前記処理要求の転送から前記処理要求に対する処理応答を転送するまでの遅延時間を監視する第2のステップと、
    前記ネットワーク装置が、前記遅延時間が所定の閾値を超えたときに、前記性能低下要因特定装置に対して遅延が増大したことを示す遅延通知を送信する第3のステップと、
    前記性能低下要因特定装置が、前記ネットワーク装置から前記遅延通知を受信したときに、監視対象とする通信の前記監視条件と前記サーバ計算機と仮想マシンの対応関係を設定した通信フロー情報を参照して遅延が増大した仮想マシン及びサーバ計算機を特定する第4のステップと、
    前記性能低下要因特定装置が、前記サーバ計算機の計算機資源及び前記サーバ計算機に接続された計算機資源について前記仮想マシン間で共有する計算機資源を特定する共有資源情報を参照して、前記遅延が増大した仮想マシンと計算機資源を共有する他の仮想マシンを抽出する第5のステップと、
    前記性能低下要因特定装置が、前記抽出された仮想マシン及びサーバ計算機と、前記遅延が増大した仮想マシン及びサーバ計算機について、物理的な計算機資源の性能情報と、仮想的な計算機資源の性能情報を取得して、前記遅延が増大した部位を特定する第6のステップと、
    を含むことを特徴とする仮想計算機システムの監視方法。
  9. 請求項8に記載の仮想計算機の監視方法であって、
    前記クライアント計算機とネットワーク装置は、広域ネットワークを介して接続されたことを特徴とする仮想計算機システムの監視方法。
  10. 請求項9に記載の仮想計算機システムの監視方法であって、
    前記ネットワーク装置は、前記サーバ計算機と前記広域ネットワークに接続された第1のネットワーク装置と、前記クライアント計算機と前記広域ネットワークに接続された第2のネットワーク装置と、を含み、
    前記第3のステップは、
    前記第1のネットワーク装置が、前記遅延時間が予め設定された第1の閾値を超えたときに、前記性能低下要因特定装置に対して遅延が増大したことを示す遅延通知を送信するステップと、
    前記第2のネットワーク装置が、前記遅延時間が予め設定された第2の閾値を超えたときに、前記性能低下要因特定装置に遅延が増大したことを示す遅延通知を送信するステップと、
    を含むことを特徴とする仮想計算機システムの監視方法。
  11. 請求項10に記載の仮想計算機システムの監視方法であって、
    前記第1のネットワーク装置は、前記性能低下要因特定装置を含むことを特徴とする仮想計算機の監視方法。
  12. 請求項8に記載の仮想計算機システムの監視方法であって、
    前記サーバ計算機の追加または削除を管理する管理計算機をさらに有し、
    前記性能低下要因特定装置は、前記管理計算機が前記サーバ計算機の変更を実施したときに、前記通信フロー情報と前記共有資源情報を前記サーバ計算機の変更に対応して更新するステップをさらに含むことを特徴とする仮想計算機システムの監視方法。
  13. 請求項8に記載の仮想計算機システムの監視方法であって、
    前記仮想マシンの追加または削除あるいは移動を管理する管理計算機をさらに有し、
    前記性能低下要因特定装置は、前記管理計算機が前記仮想マシンの変更を実施したときに、前記通信フロー情報と前記共有資源情報を前記仮想マシンの変更に対応して更新するステップをさらに含むことを特徴とする仮想計算機システムの監視方法。
  14. 請求項8に記載の仮想計算機システムの監視方法であって、
    前記仮想化部は、
    前記プロセッサを仮想化した仮想プロセッサを前記仮想マシンに割り当て、前記ネットワークインタフェースを仮想化した仮想ネットワークインターフェースを前記仮想マシンに割り当て、前記プロセッサの性能情報を物理的なプロセッサの性能情報として取得し、前記仮想プロセッサの性能情報を仮想的なプロセッサの性能情報として取得するプロセッサ性能情報取得部と、前記ネットワークインターフェースの性能情報を物理的なネットワークインターフェースの性能情報として取得し、前記仮想ネットワークインターフェースの性能情報を仮想的なネットワークインターフェースの性能情報として取得するネットワークインターフェース性能情報取得部と、を有し、
    前記第6のステップは、
    前記性能低下要因特定装置が、前記物理的な計算機資源の性能情報と仮想的な計算機資源の性能情報と、を前記プロセッサ性能情報取得部と前記ネットワークインターフェース性能情報取得部からそれぞれ取得することを特徴とする仮想計算機システムの監視方法。
  15. クライアント計算機とサービスを提供するサーバ計算機との間で送受信を行うネットワーク装置であって、
    前記サーバ計算機は、
    前記サーバ計算機の物理資源を仮想化する仮想化部と、
    前記仮想化された物理資源上でOS及び前記サービスを提供するアプリケーションを稼動させる複数の仮想マシンと、を有し、
    前記ネットワーク装置は、
    前記クライアント計算機からの処理要求を前記仮想マシンに転送し、当該処理要求に対する処理応答を前記仮想マシンから受信して前記クライアント計算機に転送する通信処理部と、
    予め設定された監視条件を満たす通信について、前記処理要求の転送から前記処理要求に対する処理応答を転送するまでの遅延時間を監視し、前記遅延時間が所定の閾値を超えたときに、性能低下要因特定部に遅延が増大したことを示す遅延通知を送信する遅延監視部と、
    前記性能低下要因特定部は、
    前記通信処理部が送受信する情報のうち、監視対象とする通信の前記監視条件と前記サーバ計算機と仮想マシンの対応関係を設定した通信フロー情報と、
    前記サーバ計算機の計算機資源及び前記サーバ計算機に接続された計算機資源について前記仮想マシン間で共有する計算機資源を特定する共有資源情報と、
    前記遅延監視部から前記遅延通知を受信したときに、前記通信フロー情報を参照して遅延が増大した仮想マシン及びサーバ計算機を特定する遅延増大特定部と、
    前記共有資源情報を参照して前記遅延が増大した仮想マシンと計算機資源を共有する他の仮想マシンを抽出する情報収集範囲特定部と、
    前記抽出された仮想マシン及びサーバ計算機と、前記遅延が増大した仮想マシン及びサーバ計算機について、物理的な計算機資源の性能情報と、仮想的な計算機資源の性能情報を取得して、前記遅延が増大した部位を特定する要因特定部と、
    を備えたことを特徴とするネットワーク装置。
JP2010133708A 2010-06-11 2010-06-11 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 Active JP5458308B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010133708A JP5458308B2 (ja) 2010-06-11 2010-06-11 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
US13/040,316 US8826274B2 (en) 2010-06-11 2011-03-04 Virtual machine system, networking device and monitoring method of virtual machine system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010133708A JP5458308B2 (ja) 2010-06-11 2010-06-11 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置

Publications (2)

Publication Number Publication Date
JP2011258098A JP2011258098A (ja) 2011-12-22
JP5458308B2 true JP5458308B2 (ja) 2014-04-02

Family

ID=45097331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010133708A Active JP5458308B2 (ja) 2010-06-11 2010-06-11 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置

Country Status (2)

Country Link
US (1) US8826274B2 (ja)
JP (1) JP5458308B2 (ja)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2754099T3 (es) * 2009-12-10 2020-04-15 Royal Bank Of Canada Tratamiento sincronizado de datos mediante recursos informáticos en red
US9141410B2 (en) 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
EP2500823A1 (de) 2011-03-15 2012-09-19 Siemens Aktiengesellschaft Betrieb eines Datenverarbeitungsnetzes mit mehreren geografisch beabstandeten Datenzentren
US8484639B2 (en) * 2011-04-05 2013-07-09 International Business Machines Corporation Fine-grained cloud management control using nested virtualization
JP5772395B2 (ja) * 2011-08-29 2015-09-02 富士通株式会社 送信レート制御のためのプログラム、制御方法及び情報処理装置
US9112812B2 (en) * 2011-09-22 2015-08-18 Embrane, Inc. Distributed virtual appliance
US8930489B2 (en) * 2011-10-11 2015-01-06 Rakspace US, Inc. Distributed rate limiting of handling requests
JP5949782B2 (ja) * 2011-12-28 2016-07-13 富士通株式会社 監視プログラム、監視方法および監視装置
US9184981B2 (en) * 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
CN102662821B (zh) * 2012-03-22 2015-03-11 华为技术有限公司 虚拟机故障的辅助诊断方法、装置和系统
US9152448B2 (en) * 2012-05-11 2015-10-06 Vmware, Inc. Performance of load balancing modules with migration awareness
US9094308B2 (en) 2012-06-06 2015-07-28 Juniper Networks, Inc. Finding latency through a physical network in a virtualized network
US8750288B2 (en) * 2012-06-06 2014-06-10 Juniper Networks, Inc. Physical path determination for virtual network packet flows
JP5933356B2 (ja) * 2012-06-12 2016-06-08 ルネサスエレクトロニクス株式会社 コンピュータシステム
US10387201B2 (en) * 2012-06-26 2019-08-20 Vmware, Inc. Storage performance-based virtual machine placement
US9736211B2 (en) * 2012-08-27 2017-08-15 Vmware, Inc. Method and system for enabling multi-core processing of VXLAN traffic
US8978035B2 (en) 2012-09-06 2015-03-10 Red Hat, Inc. Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system
US9009704B2 (en) * 2012-09-07 2015-04-14 Red Hat, Inc. Application partitioning in a multi-tenant platform-as-a-service environment in a cloud computing system
US9305068B1 (en) * 2012-09-28 2016-04-05 Emc Corporation Methods and apparatus for database virtualization
US20140108647A1 (en) * 2012-10-11 2014-04-17 Brocade Communications Systems, Inc. User Feedback in Network and Server Monitoring Environments
US9336035B2 (en) 2012-10-23 2016-05-10 Vmware, Inc. Method and system for VM-granular I/O caching
NL2009756C2 (en) * 2012-11-05 2014-05-08 Realworld Holding B V Method and arrangement for collecting timing data related to a computer application.
WO2014073949A1 (en) * 2012-11-12 2014-05-15 Mimos Berhad A system and method for virtual machine reservation for delay sensitive service applications
US9503310B1 (en) * 2012-11-27 2016-11-22 Leidos, Inc. Methods and systems of dynamic management of resources in a virtualized environment
WO2014094237A1 (en) * 2012-12-18 2014-06-26 Intel Corporation Techniques associated with server transaction latency information
US10423889B2 (en) 2013-01-08 2019-09-24 Purepredictive, Inc. Native machine learning integration for a data management product
WO2014118902A1 (ja) * 2013-01-30 2014-08-07 株式会社日立製作所 計算機及び計算機管理方法
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US20140280959A1 (en) * 2013-03-15 2014-09-18 Eric J. Bauer Application server instance selection based on protocol latency information
WO2014142723A1 (en) * 2013-03-15 2014-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Hypervisor and physical machine and respective methods therein for performance measurement
US10223139B2 (en) * 2013-03-15 2019-03-05 The Trustees Of The University Of Pennsylvania Dynamically deployable wireless infrastructure in cloud environment
US9055119B2 (en) * 2013-03-26 2015-06-09 Vmware, Inc. Method and system for VM-granular SSD/FLASH cache live migration
JP2014215652A (ja) * 2013-04-23 2014-11-17 富士通株式会社 情報処理装置、情報処理システム、および認証処理方法
US9497094B2 (en) * 2013-05-09 2016-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing network applications monitoring
US9503311B2 (en) * 2013-05-09 2016-11-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing network applications monitoring
JP5911448B2 (ja) * 2013-05-10 2016-04-27 株式会社日立製作所 移行支援装置、移行支援方法およびプログラム
WO2014185833A1 (en) * 2013-05-13 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Node in a telecommunications network, a virtual network element and methods for retrieving resource identification information
US9218574B2 (en) 2013-05-29 2015-12-22 Purepredictive, Inc. User interface for machine learning
US9646262B2 (en) 2013-06-17 2017-05-09 Purepredictive, Inc. Data intelligence using machine learning
US9559896B2 (en) * 2013-07-08 2017-01-31 Cisco Technology, Inc. Network-assisted configuration and programming of gateways in a network environment
US9729660B2 (en) * 2013-07-24 2017-08-08 Netapp, Inc. Method and system for detecting virtual machine migration
US11423377B1 (en) * 2013-08-26 2022-08-23 Amazon Technologies, Inc. Lendable computing resources
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
US20150071091A1 (en) * 2013-09-12 2015-03-12 Alcatel-Lucent Usa Inc. Apparatus And Method For Monitoring Network Performance
EP3053041B1 (en) * 2013-10-03 2019-03-06 Telefonaktiebolaget LM Ericsson (publ) Method, system, computer program and computer program product for monitoring data packet flows between virtual machines, vms, within a data centre
KR20130126569A (ko) * 2013-10-24 2013-11-20 삼성에스디에스 주식회사 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
US20150120906A1 (en) * 2013-10-28 2015-04-30 International Business Machines Corporation Agentless baseline profile compilation for application monitoring solution
US9519513B2 (en) 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
US9396009B2 (en) * 2014-01-30 2016-07-19 International Business Machines Corporation Optimized global capacity management in a virtualized computing environment
DE102014201954A1 (de) 2014-02-04 2015-08-06 Volkswagen Aktiengesellschaft Verfahren zur Datenübertragung, Kommunikationsnetzwerk und Fahrzeug
US9678731B2 (en) 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
CN104883264A (zh) * 2014-02-27 2015-09-02 中国科学院声学研究所 一种虚拟化网络处理平台上网卡的方法及系统
US9787559B1 (en) 2014-03-28 2017-10-10 Juniper Networks, Inc. End-to-end monitoring of overlay networks providing virtualized network services
US9841991B2 (en) * 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US11210120B2 (en) * 2014-06-30 2021-12-28 Vmware, Inc. Location management in a volume action service
US20150378763A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Methods and apparatus to manage monitoring agents
WO2016019117A1 (en) 2014-07-30 2016-02-04 Sios Technology Corporation Converged analysis of application, virtualization and cloud infrastructure resources using graph theory
US9647909B2 (en) * 2014-09-23 2017-05-09 Uila Networks, Inc. Monitor a data center infrastructure
JP6424632B2 (ja) 2015-01-08 2018-11-21 富士通株式会社 負荷算出方法、負荷算出プログラム及び負荷算出装置
US10007584B2 (en) * 2015-01-28 2018-06-26 Red Hat, Inc. Automated container migration in a platform-as-a-service system
US10243815B2 (en) * 2015-06-29 2019-03-26 Vmware, Inc. Methods and systems to evaluate data center resource allocation costs
US11086752B2 (en) * 2015-08-27 2021-08-10 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for vendor-neutral testing and scoring of systems under test
US9942631B2 (en) * 2015-09-25 2018-04-10 Intel Corporation Out-of-band platform tuning and configuration
CN106489251B (zh) 2015-12-21 2019-10-18 华为技术有限公司 应用拓扑关系发现的方法、装置和系统
GB2562655A (en) * 2015-12-30 2018-11-21 Wing Leung Kang Direct network connections using cloud instance for multipoint meeting service
US10082983B2 (en) * 2016-04-05 2018-09-25 International Business Machines Corporation Monitoring storage systems
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion
US10305747B2 (en) * 2016-06-23 2019-05-28 Sap Se Container-based multi-tenant computing infrastructure
US10917324B2 (en) 2016-09-28 2021-02-09 Amazon Technologies, Inc. Network health data aggregation service
US10911263B2 (en) * 2016-09-28 2021-02-02 Amazon Technologies, Inc. Programmatic interfaces for network health information
JP6780498B2 (ja) * 2016-12-28 2020-11-04 富士通株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
US10680910B2 (en) * 2017-01-19 2020-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Virtualized proactive services
US11038967B2 (en) * 2017-01-26 2021-06-15 Verizon Patent And Licensing Inc. Enabling hypertext transfer protocol (HTTP) connect in association with a toll-free data service
US11153224B2 (en) * 2017-02-09 2021-10-19 Radcom Ltd. Method of providing cloud computing infrastructure
US10678579B2 (en) * 2017-03-17 2020-06-09 Vmware, Inc. Policy based cross-cloud migration
US20190065333A1 (en) * 2017-08-23 2019-02-28 Unisys Corporation Computing systems and methods with functionalities of performance monitoring of the underlying infrastructure in large emulated system
US10541901B2 (en) 2017-09-19 2020-01-21 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems and computer readable media for optimizing placement of virtual network visibility components
US10764169B2 (en) 2017-10-09 2020-09-01 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtual network components deployed in virtual private clouds (VPCs)
US11038770B2 (en) 2018-02-01 2021-06-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for managing deployment and maintenance of network tools
JP7004902B2 (ja) * 2018-02-05 2022-01-21 富士通株式会社 性能評価プログラム、および性能評価方法
US10812349B2 (en) 2018-02-17 2020-10-20 Keysight Technologies, Inc. Methods, systems and computer readable media for triggering on-demand dynamic activation of cloud-based network visibility tools
US10592385B1 (en) * 2018-08-21 2020-03-17 Accenture Global Solutions Limited Performance engineering
CN109586996B (zh) * 2018-11-08 2022-03-18 孔欣然 基于网络报文时延比对的云平台实时性测试系统及方法
US11489745B2 (en) 2019-10-15 2022-11-01 Keysight Technologies, Inc. Methods, systems and computer readable media for providing a declarative network monitoring environment
JP2021196970A (ja) * 2020-06-16 2021-12-27 富士通株式会社 遅延原因特定方法および遅延原因特定プログラム
US11323312B1 (en) 2020-11-25 2022-05-03 Juniper Networks, Inc. Software-defined network monitoring and fault localization
US11233719B1 (en) * 2020-12-18 2022-01-25 Prosimo Inc Estimating speedtest server accuracy
CN113282370B (zh) * 2021-05-26 2023-01-31 深圳市炬力北方微电子有限公司 基于云端的软件运作的状态监控方法、装置及相关设备
US20230032806A1 (en) * 2021-07-28 2023-02-02 Microsoft Technology Licensing, Llc Dedicated wide area network slices
TWI827974B (zh) * 2021-09-08 2024-01-01 財團法人工業技術研究院 虛擬功能效能分析系統及其分析方法
US20230119064A1 (en) * 2021-10-14 2023-04-20 Red Hat, Inc. Undeployed topology visualization for improving software application development
CN117707523A (zh) * 2024-02-05 2024-03-15 中铁四局集团有限公司 一种自定义组态可视化管理方法及管理应用平台

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785277B1 (en) * 1998-08-06 2004-08-31 Telefonaktiebolget Lm Ericsson (Publ) System and method for internodal information routing within a communications network
US6449739B1 (en) * 1999-09-01 2002-09-10 Mercury Interactive Corporation Post-deployment monitoring of server performance
JP2001195285A (ja) 2000-01-11 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> アプリケーション性能劣化要因分析方法,アプリケーション性能劣化要因分析システムおよびそのプログラム記録媒体
JP2002374301A (ja) 2001-06-14 2002-12-26 Hitachi Ltd 通信品質測定サービスおよび装置
JP2004104540A (ja) * 2002-09-11 2004-04-02 Hitachi Ltd ネットワーク性能障害分析支援システム
US7480719B2 (en) * 2003-10-29 2009-01-20 International Business Machines Corporation Information system, load control method, load control program and recording medium
US20050132362A1 (en) * 2003-12-10 2005-06-16 Knauerhase Robert C. Virtual machine management using activity information
JP3933655B2 (ja) 2004-08-27 2007-06-20 株式会社日立情報システムズ ネットワークアプリケーション障害原因切り分け装置及び該障害原因切り分けプログラム
JP4980792B2 (ja) * 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
US8209684B2 (en) 2007-07-20 2012-06-26 Eg Innovations Pte. Ltd. Monitoring system for virtual application environments
JP2009080704A (ja) * 2007-09-26 2009-04-16 Toshiba Corp 仮想計算機システム及び同システムにおけるサービス引き継ぎ制御方法
US7941539B2 (en) * 2008-06-30 2011-05-10 Oracle America, Inc. Method and system for creating a virtual router in a blade chassis to maintain connectivity
US9063769B2 (en) * 2010-02-04 2015-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Network performance monitor for virtual machines

Also Published As

Publication number Publication date
JP2011258098A (ja) 2011-12-22
US8826274B2 (en) 2014-09-02
US20110307889A1 (en) 2011-12-15

Similar Documents

Publication Publication Date Title
JP5458308B2 (ja) 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
CN110865867B (zh) 应用拓扑关系发现的方法、装置和系统
EP3281360B1 (en) Virtualized network function monitoring
US20130227566A1 (en) Data collection method and information processing system
US9600380B2 (en) Failure recovery system and method of creating the failure recovery system
US8863138B2 (en) Application service performance in cloud computing
CN102187315B (zh) 在虚拟环境中获取用于服务器负载均衡的反馈信息的方法和装置
US20150081836A1 (en) Profile-based lifecycle management for data storage servers
US9547518B2 (en) Capture point determination method and capture point determination system
JP2011237844A (ja) 負荷分散装置及びシステム
US10089163B2 (en) Automatic discovery and prioritization of fault domains
US20230006944A1 (en) Interoperable cloud based media processing using dynamic network interface
US10169102B2 (en) Load calculation method, load calculation program, and load calculation apparatus
CN109802855B (zh) 一种故障定位方法及装置
CN109995552B (zh) Vnf服务实例化方法及装置
WO2023029485A1 (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
US11875175B2 (en) Providing physical host hardware state information to virtual machines deployed on the physical host
KR102064466B1 (ko) 가상화 시스템에서의 가상 데스크톱을 할당하는 방법 및 그 가상화 시스템
JP2013134658A (ja) コンピュータネットワークシステム、構成管理方法、構成管理プログラム、記録媒体
US9882796B2 (en) Apparatus and method for suppressing a delay in monitoring communication
US11474877B1 (en) Computer system and scale-out method of computer system
US20230179657A1 (en) Storage management system and storage system management method
US20230195544A1 (en) Event log management
EP4198726A1 (en) Event log management
US20210297485A1 (en) Systems and methods for providing discovery and hierarchical management of distributed multi-access edge computing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131211

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: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131219

R150 Certificate of patent or registration of utility model

Ref document number: 5458308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150