JP5412585B2 - サーバ装置、リソース管理方法およびプログラム - Google Patents

サーバ装置、リソース管理方法およびプログラム Download PDF

Info

Publication number
JP5412585B2
JP5412585B2 JP2012542707A JP2012542707A JP5412585B2 JP 5412585 B2 JP5412585 B2 JP 5412585B2 JP 2012542707 A JP2012542707 A JP 2012542707A JP 2012542707 A JP2012542707 A JP 2012542707A JP 5412585 B2 JP5412585 B2 JP 5412585B2
Authority
JP
Japan
Prior art keywords
resource
business application
application software
unit
software
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
JP2012542707A
Other languages
English (en)
Other versions
JPWO2012063296A1 (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
Application granted granted Critical
Publication of JP5412585B2 publication Critical patent/JP5412585B2/ja
Publication of JPWO2012063296A1 publication Critical patent/JPWO2012063296A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、サーバ装置、リソース管理方法およびプログラムに関し、仮想マシンのリソースを管理するサーバ装置、リソース管理方法およびプログラムに適用して好適なるものである。
従来のコンピュータシステムでは、物理的なサーバマシンに搭載されたコンピュータ資源(以下、リソースと称して説明する。)は、まずOS(Operating System)によって占有される。そして、OSの上で動作するソフトウェア管理プログラムは、OSによって認識されたリソースのうち、予め定められた定義にしたがって、所定量のリソースを確保する。上記したソフトウェア管理プログラムは、アプリケーションソフトウェアに対してOSよりも高度で具体的な機能を提供するソフトウェアであって、例えばミドルウェアなどを例示できる。さらに、ソフトウェア管理プログラムは、予め定められた定義にしたがって、ソフトウェア管理プログラム上で動作するアプリケーションソフトウェアに対して、リソースの割り当を行う。
しかし、上記したコンピュータシステムにおいて、OSは起動時に新たなリソースを検知して当該リソースを占有するが、ソフトウェア管理プログラムによって確保されるリソース量の定義は、手動で変更しなければならなかった。また、業務アプリケーションソフトウェアへのリソース割り当ての定義も手動で変更しなければならなかった。そのため、システム全体として必要とするリソース量が変動した場合に、システムを一旦停止したうえで、物理的なリソースを増減させる必要があった。
ところで、近年のコンピュータシステムでは、サーバ装置の物理的なリソースを、ソフトウェアを使って仮想的に分割し、サーバ上に複数の「仮想マシン」を構成する仮想マシン技術が実現している。この仮想マシン技術では、1台の物理サーバ上に複数の仮想マシンを配備し、各仮想マシンで独立にOSを稼働させることができる。このとき、各仮想マシンに割り当てられるリソース量は、物理的なリソースの構成に縛られることなく柔軟に分割され、なおかつ、システムを停止することなく動的にリソース量を変更することが可能となる。したがって、システム全体として必要とするリソース量が変動した場合でも、システムを一旦停止することなく、各仮想マシンのOSが利用可能なリソース量を柔軟に増減させることができる。
しかし、上記したように、各仮想マシンのOSは、利用可能なリソース量を柔軟に増減させることができるが、OS上で動作するソフトウェア管理プログラムは、リソース量の変更を検知したり、業務アプリケーションソフトウェアを自動的に識別したりする機能を持たないため、自身で確保するリソースや業務アプリケーションソフトウェアに割り当てるリソースを動的に管理することができなかった。
そこで、システム全体として必要とするリソース量が変動した場合に、仮想マシン自体を別途用意する、いわゆるスケールイン/スケールアウトの手法により迅速にコンピュータ性能を上げる技術が開示されている(例えば、特許文献1)。特許文献1によれば、システム全体のリソース量が変動した場合に、仮想マシンを別途用意してリソース量を増減させることにより、ソフトウェア管理プログラムの設定変更の影響を低減させることが可能となる。
特願2008−553110号
しかし、サーバ仮想化によって各仮想マシンのリソース量が変更された場合に、OSによって利用可能なリソース量を柔軟に増減させるとともに、ソフトウェア管理プログラムによって確保されるリソース量を動的に変更させたり、アプリケーションソフトウェアごとに割り当てるリソース量を動的に変更させたりして、システムの設定変更を自動化し、リソースの利用効率を向上させることが望まれている。
本発明は以上の点を考慮してなされたもので、仮想マシンのソフトウェア管理プログラムによるリソース量の設定を動的に変更することが可能なサーバ装置、リソース管理方法およびプログラムを提案しようとするものである。
かかる課題を解決するために本発明においては、物理的なリソースを備えた物理マシン上に構築される複数の仮想マシンを提供するサーバ装置であって、前記仮想マシンは、前記仮想マシンに割り当てられた前記物理的なリソースを前記仮想マシン内のリソースとして認識するOSと、前記OSにより認識された前記リソースを確保して、前記仮想マシンに登録される複数の業務アプリケーションソフトウェアに前記リソースを割り当てるソフトウェア管理部と、を備え、前記ソフトウェア管理部は、前記複数の業務アプリケーションソフトウェアを識別して、予め設定された前記リソースの割り当てポリシに基づいて、前記複数の業務アプリケーションソフトウェアに前記リソースを割り当て、前記仮想マシンに割り当てられた前記リソースの増減を検知した場合に、前記検知したリソースの増減量に応じて、前記複数の業務アプリケーションソフトウェアへのリソースの割り当てを変更することを特徴とする、サーバ装置が提供される。
かかる構成によれば、物理マシン上に構築される複数の仮想マシンに割り当てられた物理的なリソースを、複数の業務アプリケーションソフトウェア毎のリソースの割り当てポリシに基づいてリソースを割り当てて、仮想マシンに割り当てられたリソースが増減した場合に、リソースの増減量に応じて業務アプリケーションソフトウェアへのリソースの割り当てを変更する。これにより、サーバ仮想化により、各仮想マシンのリソース量が柔軟に変更された場合に、ソフトウェア管理部が仮想マシンのリソース量の変更を動的に検知して、各業務アプリケーションソフトウェアにリソース量の変更を適切に反映することができる。したがって、手動でリソース量の割り当てを行うことがなくなり、システム全体の運用コストを低減させて、リソースの利用効率を向上させて、システムの安定稼働を実現させることが可能となる。
本発明によれば、仮想マシンのソフトウェア管理プログラムによるリソース量の設定を動的に変更させることにより、システムの設定変更を自動化して、リソースの利用効率を向上させることができる。
本発明の一実施の形態に係る計算機システムの全体構成を示すブロック図である。 同実施形態にかかるリソースの構成を示す模式図である。 同実施形態にかかるソフトウェア管理部の構成を示すブロック図である。 同実施形態にかかるサーバ装置の動作の概要を示す概念図である。 同実施形態にかかる業務アプリケーションソフトウェア一覧管理テーブルの一例を示す図表である。 同実施形態にかかるリソース割り当てポリシ管理テーブルの一例を示す図表である。 同実施形態にかかるリソース管理テーブルの一例を示す図表である。 同実施形態にかかる業務アプリケーションソフトウェア識別処理を示すフローチャートである。 同実施形態にかかる業務アプリケーションソフトウェア識別処理を示すフローチャートである。 同実施形態にかかるリソースの割り当て処理の詳細を示すフローチャートである。 同実施形態にかかるリソースの割り当て処理の詳細を示すフローチャートである。 同実施形態にかかるリソースの割り当て処理の詳細を示すフローチャートである。 同実施形態にかかるリソース管理処理の詳細を示すフローチャートである。 同実施形態にかかるリソース管理処理の詳細を示すフローチャートである。 同実施形態にかかるリソース割り当てまたはリソース割り当て解除処理の詳細を示すフローチャートである。 同実施形態にかかるリソースの解放処理の詳細を示すフローチャートである。 同実施形態にかかるリソース量変更の検知処理を示すフローチャートである。 同実施形態にかかるリソース量変更の検知処理を示すフローチャートである。
以下図面について、本発明の一実施の形態を詳述する。
(1)計算機システムの構成
まず、本実施の形態にかかる計算機システム1の構成について説明する。図1に示すように、本実施の形態にかかる計算機システム1は、サーバ装置100とサーバ装置200とから構成される。サーバ装置100とサーバ装置200とは、SAN(Storage Area Network)またLAN(Local Area Network)などのネットワークを介して接続されている。
サーバ装置100およびサーバ装置200は、物理的なコンピュータ資源が搭載された情報処理装置である。サーバ装置100では、サーバ装置100の物理的なコンピュータ資源(以降、リソースとも称して説明する。)が仮想的に分割され、サーバ装置100上に構成された複数の仮想マシンに仮想的に分割されたリソースが割り当てられる。以降、サーバ装置100を仮想化サーバ100と称して説明する。また、サーバ装置200は、仮想化サーバ100上の仮想マシンの構成を管理する装置である。以降、サーバ装置200を管理サーバ200と称して説明する。なお、本実施形態では、仮想化サーバ100と管理サーバ200とを別体の装置として構成したが、かかる例に限定されず、仮想化サーバ100と管理サーバ200とを一体の装置として構成してもよい。
まず、仮想化サーバ100のハードウェア構成について説明する。図1に示すように、仮想化サーバ100は、主記憶110と、CPU(Central Processing Unit)120と、補助記憶130と、を備えている。
主記憶110は、CPU120が使用するプログラムや演算パラメータ等を記憶し、ROM(Read Only Memory)や、RAM(Random Access Memory)などから構成される。また、主記憶110に格納されたプログラムの一つであるハイパーバイザ111によって、仮想化サーバ100に搭載された物理的なリソースが仮想的に分割され、複数の仮想マシン112a、112b、112c(以降、仮想マシン112と称する)が構成される。
ハイパーバイザ111によって構成された複数の仮想マシン112には、それぞれ、OS113やソフトウェア管理部114などのソフトウェアが搭載される。仮想マシン112内のソフトウェアは、仮想マシン112があたかも物理マシンと同様であるかのように動作する。
OS113は、仮想化サーバ100の物理的なリソースを制御する。具体的に、仮想マシン112内のOS113は、1つの仮想マシン112があたかも1台の物理マシンであるかのうように、仮想マシン112のリソースを占有して動作する。
ソフトウェア管理部114は、OS113上で動作するプログラムであって、各業務アプリケーションソフトウェア115に対してOS113よりも高度で具体的な機能を提供するソフトウェアであって、例えば、ミドルウェアなどを例示できる。ソフトウェア管理部114は、具体的に、各業務アプリケーションソフトウェア115に共通するデータの入出力処理や、通信処理、エラー処理などを行う。また、ソフトウェア管理部114は、OS113に提供されるリソースを一旦確保して、当該リソースを各業務アプリケーションソフトウェア115に割り当てる機能を有する。
また、業務アプリケーションソフトウェア115は、各システムで必要とされる固有の業務を実現するためのソフトウェアであって、ソフトウェア管理部114により割り当てられるリソースの範囲内で動作する。業務アプリケーションソフトウェア115は、複数の仮想マシン112に異なる業務アプリケーションソフトウェア115が搭載されていてもよいし、各仮想マシン112に同種の業務アプリケーションソフトウェア115が搭載されていてもよい。
CPU120は、演算処理装置および制御装置として機能し、主記憶110に格納された各種プログラムに従って、仮想化サーバ100内の動作全般を制御する。また、CPU120は、マイクロプロセッサであってもよい。
補助記憶130は、仮想化サーバ100の記憶部の一例として構成されたデータ格納用の装置であって、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。補助記憶130は、例えば、HDD(Hard Disk Drive)で構成される。この補助記憶130は、ハードディスクを駆動し、CPU120が実行するプログラムや各種データを格納する。
次に、管理サーバ200のハードウェア構成について説明する。図1に示すように、管理サーバ200は、CPU202と、補助記憶204と、主記憶206と、OS208と、ハイパーバイザ管理ソフト210とから構成される。
CPU202は、演算処理装置および制御装置として機能し、各種プログラムに従って管理サーバ200内の動作全般を制御する。また、補助記憶204は、管理サーバ200の記憶部の一例として構成されたデータ格納用の装置であって、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。補助記憶204は、例えば、HDD(Hard Disk Drive)で構成される。この補助記憶204は、ハードディスクを駆動し、CPU202が実行するプログラムや各種データを格納する。
主記憶206は、CPU202が使用するプログラムや演算パラメータ等を記憶し、ROM(Read Only Memory)や、RAM(Random Access Memory)などから構成される。OS208は、仮想化サーバ100の物理的なリソースを制御する。
ハイパーバイザ管理ソフト210は、仮想化サーバ100のハイパーバイザ111を管理するソフトウェアであって、管理者の入力に応じて、ハイパーバイザ111を制御して仮想マシン112を追加したり、仮想マシン112の構成等を変更したりする。
次に、仮想化サーバ100におけるリソースの構成について説明する。図2では、各装置や、各プログラムにより認識されるリソースを模式的に表している。また、リソースの構成を説明するに際して、各装置や、各プログラムによるリソースの認識方法も併せて説明する。なお、本実施形態では、仮想化サーバ100のリソースとして、CPU、メモリおよびHDDなどを例示して説明するがかかる例に限定されない。例えば、仮想化サーバ100のリソースとして、各種ネットワークを例示することができる。
図2に示すように、仮想化サーバ100に、CPU、メモリおよびHDDなどの物理的なリソースが搭載されている。仮想化サーバ100に搭載されたリソースは、ハイパーバイザ111によって各仮想マシン112に割り当てられる(STEP01)。具体的に、管理者等の入力に応じて、管理サーバ200のハイパーバイザ管理ソフト210の制御のもと、各仮想マシン112にリソースが割り当てられたり、各仮想マシン112へのリソースの割り当てが変更されたりする。
そして、各仮想マシン112のOS113が、STEP01で割り当てられた仮想マシン内のリソースを認識する(STEP02)。OS113によって認識されたリソースは、ソフトウェア管理部114に利用される。
そして、各仮想マシン112のソフトウェア管理部114は、OS113によって認識されたリソースを確保する(STEP03)。本実施形態では、ソフトウェア管理部114が、仮想マシン112にリソースが割り当てられ、OS113によってリソースの割り当てが認識されたことを検知する。そして、ソフトウェア管理部114は、検知したリソースのうち、ソフトウェア管理部114が必要とするリソースを確保する。
そして、ソフトウェア管理部114は、各業務アプリケーションソフトウェア115にステップ03で確保したリソースを割り当てる。本実施形態では、ソフトウェア管理部114は、各業務アプリケーションソフトウェア115の構成を解析して、業務アプリケーションソフトウェア115毎にリソース管理を行う。
従来は、各仮想マシン112のOS113は、利用可能なリソース量を柔軟に増減させることができるが、OS113上で動作するソフトウェア管理部114は、リソース量の変更を検知したり、業務アプリケーションソフトウェア112を自動的に識別したりする機能を持っていなかった。このため、自身で確保するリソースや業務アプリケーションソフトウェアに割り当てるリソースを動的に管理することができなかった。
しかし、上記したように、本実施の形態では、ソフトウェア管理部114が、仮想マシン112へのリソースの割り当てを自動的に検知して、各業務アプリケーションソフトウェア115に割り当てることにより、サーバ仮想化によって、各仮想マシン112のリソースが柔軟に変更された場合でも、ソフトウェア管理部114が利用するリソース量を動的に変更することが可能となる。
なお、本実施の形態では、ソフトウェア管理部114が業務アプリケーションソフトウェア115に割り当てるリソース量を変更することとしているが、かかる例に限定されない。例えば、ファイル単位でデータの読み書きが行われる場合には、ファイル毎に割り当てるリソース量を変更するようにしてもよい。
(2)仮想化サーバのソフトウェア構成
次に、仮想化サーバ100のソフトウェア構成について説明する。以下では、特に、仮想化サーバ100のソフトウェア管理部114の構成について詳細に説明する。図3に示すように、ソフトウェア管理部114は業務アプリケーションソフトウェア識別部116と、リソース割り当て部117と、リソース管理部118と、リソース増減検知部119と、から構成される。
業務アプリケーションソフトウェア識別部116は、ソフトウェア管理部114に登録された業務アプリケーションソフトウェア115を検知して、各業務アプリケーションソフトウェア115の構成を識別する機能を有する。また、業務アプリケーションソフトウェア識別部116は、業務アプリケーションソフトウェア115を識別した結果をリソース割り当て部117に提供する。
リソース割り当て部117は、予め設定されたリソース割り当てポリシにしたがって、各業務アプリケーションソフトウェア115にリソースを割り当てる機能を有する。リソース割り当て部117は、各業務アプリケーションソフトウェア115に割り当てるリソース量の情報をリソース管理部118に提供する。
リソース管理部118は、リソース割り当て部117により提供された各業務アプリケーションソフトウェア115に割り当てるリソース量の情報をもとに、実際にOS113からリソースを確保したり、OS113にリソースを返却したりする機能を有する。また、リソース管理部118は、各業務アプリケーションソフトウェア115におけるリソースの使用状況を集計する機能も有する。
リソース増減検知部119は、仮想マシン112のリソース量が増減したことを検知する機能を有する。リソース増減検知部119は、当該検知結果をリソース割り当て部117またはリソース管理部118に通知する。
(3)サーバ装置の動作の詳細
(3−1)サーバ装置の動作の概要
次に、仮想化サーバ100の動作の概要について説明する。図4に示すように、まず、管理者等の入力操作に応じて、仮想化サーバ100のソフトウェア管理部114に、業務アプリケーションソフトウェア115が登録される(STEP11)。
STEP11において、ソフトウェア管理部114に業務アプリケーションソフトウェア115が登録されると、業務アプリケーションソフトウェア識別部116は、登録された業務アプリケーションソフトウェアの構成を識別して、業務アプリケーションソフトウェアの構成を業務アプリケーションソフトウェア一覧管理テーブル310に登録する(STEP12)。
具体的に、ソフトウェア管理部114は、業務アプリケーションソフトウェア115に含まれる複数のプログラムの構成単位や実行単位となるプログラム境界に基づいて、各業務アプリケーションソフトウェア115を識別する。また、ソフトウェア管理部114は、業務アプリケーションソフトウェア115の外部システムとの通信先情報となる位置情報に基づいて、各業務アプリケーションソフトウェア115を識別する。そして、ソフトウェア管理部114は、業務アプリケーションソフトウェア115の識別情報を業務アプリケーションソフトウェア一覧管理テーブル310に登録する。
業務アプリケーションソフトウェア一覧管理テーブル310は、各業務アプリケーションソフトウェアの構成を管理するテーブルであって、図5に示すように、業務アプリケーションソフトウェア一覧管理テーブル310Aまたは310Bなどを例示できる。業務アプリケーションソフトウェア一覧管理テーブル310Aは、業務アプリケーションソフトウェアを上記したプログラム境界に基づいて識別した場合に登録される情報であり、業務アプリケーションソフトウェア一覧管理テーブル310Bは、業務アプリケーションソフトウェアを上記した位置情報に基づいて識別した場合に登録される情報である。
業務アプリケーションソフトウェア一覧管理テーブル310Aは、No欄3101、境界種別欄3102、識別欄3103、階層欄3104およびアプリケーション欄3105から構成される。
No欄3101には、アプリケーションに付された項番が格納される。境界種別欄3102には、プログラムを識別するための境界情報の種別が格納される。ここで、プログラムの境界種別とは、業務アプリケーションソフトウェア115に含まれる複数のプログラム群の構成単位や実行単位である。例えば、Javaプログラムの場合には、境界種別欄3102に、「Java Archive」が格納され、ソフトウェア管理部114が、Javaのアーカイブ単位でプログラムを識別することを意味する。Javaのアーカイブ単位とは、例えば、「JAR(Java Archive)」、「WAR(Web Archive)」、「EAR(Enterprise Archive)」などの多階層のアーカイブごとに設定されたクラスローダの単位である。また、JAVA以外の他の言語によるプログラムの場合には、例えば、ライブラリファイルや実行モジュールファイルなどの単位で業務アプリケーションソフトウェア115を識別することができる。識別欄3103には、識別されたプログラムの境界情報が格納される。階層欄3104には、Javaプログラムの場合には、識別されたクラスローダが、Javaアーカイブの階層の情報が格納される。そして、アプリケーション欄3105には、業務アプリケーションソフトウェア115を識別する名称が格納される。
また、業務アプリケーションソフトウェア一覧管理テーブル310Bは、No欄3111、位置種別欄3112、識別欄3113、属性欄3114およびアプリケーション欄3115から構成される。
No欄3111には、アプリケーションに付された項番が格納される。位置種別欄3112には、プログラムを識別するための位置情報の種別が格納される。プログラムを識別するための位置情報とは、業務アプリケーションソフトウェア115が外部システムと通信する場合に用いる識別情報であって、例えば、Webアプリケーションソフトウェアであればインターネット上の所在を示すURL(Uniform Resource Locator)である。また、その他のネットワーク通信であれば、IPアドレスとポート番号等によって識別される通信先情報などである。また、同一システム内のプロセス間通信の場合には、プロセス識別子の情報などである。識別欄3113には、識別された位置情報が格納され、例えば、URLやIPアドレスなどが格納される。
属性欄3114には、位置情報の属性情報が格納される。属性情報としては、例えば、パラメータ情報やログイン情報などを例示できる。属性情報により、例えば、識別欄3113に格納されたURLが同じであっても、パラメータ情報やログイン情報が異なる場合には、別の業務アプリケーションプログラム115として区別することができる。そして、アプリケーション欄3115には、業務アプリケーションソフトウェア115を識別する名称が格納される。
図4に戻り、仮想化サーバ100の動作の概要の説明を続ける。STEP11において業務アプリケーションソフトウェア115が登録された後、管理者等の入力操作に応じて、業務アプリケーションソフトウェア115が実行される(STEP14)。STEP14において、業務アプリケーションソフトウェア115が実行されると、リソース割り当て部117は、各業務アプリケーションソフトウェア115にリソースを割り当てる(STEP15)。具体的に、リソース割り当て部117は、リソース割り当てポリシ管理テーブル320を参照して、各業務アプリケーションソフトウェア115にリソースを割り当てる。
リソース割り当てポリシ管理テーブル320は各業務アプリケーションソフトウェア115にリソースを割り当てるためのポリシを管理するテーブルであって、図6に示すように、リソース割り当てポリシ管理テーブル320A、320B、320Cなどを例示できる。リソース割り当てポリシ管理テーブル320Aは、比率維持方式によりリソースの割当量を変更する場合に参照されるテーブルであり、業務アプリケーションソフトウェア115に利用可能なリソース量の比率が設定されている。また、リソース割り当てポリシ管理テーブル320Bおよび320Cは、共有調整方式によりリソースの割当量を変更する場合に参照されるテーブルであって、業務アプリケーションソフトウェア115に利用可能なリソース量の上限または下限と、共有可能なリソース量が設定されている。
リソース割り当てポリシ管理テーブル320Aは、業務アプリケーションソフトウェア115に利用可能なCPUの容量の比率を管理するテーブルであって、No欄3201、アプリケーション欄3202、ポリシタイプ欄3203、上限欄3204および下限欄3205から構成される。No欄3201には、アプリケーションに付された項番が格納される。アプリケーション欄3202には、業務アプリケーションソフトウェア識別部116により識別されたアプリケーションの名称が格納される。ポリシタイプ3203には、リソースの割り当てポリシが格納され、比率維持方式を示す「比率維持」が格納される。上限欄3204には、比率維持方式によりリソースを割り当てる際の上限値が格納される。下限値3205には、比率維持方式によりリソースを割り当てる際の下限値が格納される。なお、上限値および下限値は、いずれか両方を設定してもよいし、いずれか一方のみ設定してもよい。
リソース割り当てポリシ管理テーブル320Bは、業務アプリケーションソフトウェア115に利用可能なメモリの容量の割当量を管理するテーブルであって、No欄3211、アプリケーション欄3212、ポリシタイプ欄3213、上限欄3214および下限欄3215および共有欄3216から構成されている。No欄3211には、アプリケーションに付された項番が格納される。アプリケーション欄3212には、業務アプリケーションソフトウェア識別部116により識別されたアプリケーションの名称が格納される。ポリシタイプ3213には、リソースの割り当てポリシが格納され、共有調整方式を示す「共有調整」が格納される。上限欄3214には、共有調整方式によりリソースを割り当てる際の上限値が格納される。下限値3215には、共有調整方式によりリソースを割り当てる際の下限値が格納される。共有欄3216には、上限値または下限値を超えてメモリを使用する必要がある場合に利用可能な共有リソースの容量が格納される。仮想マシン112のリソース量が増減した場合には、共有欄3261に格納されている共有リソースの量が変更される。
また、リソース割り当てポリシ管理テーブル320Cは、業務アプリケーションソフトウェア115に利用可能なコネクションの容量の割当量を管理するテーブルであって、No欄3221、アプリケーション欄3222、ポリシタイプ欄3223、上限欄3224、下限欄3225および共有欄3226から構成されている。各欄に格納される内容は、リソース割り当てポリシ管理テーブル320Bと同様であるため、詳細な説明は省略する。
図4に戻り、仮想化サーバ100の動作の概要の説明を続ける。STEP15においてリソース割り当て部117により、各業務アプリケーションソフトウェア115にリソースが割り当てられると、リソース管理部118は、OS113からリソースを確保したり、OS113にリソースを返却したりする(STEP16)。そして、リソース管理部118は、リソース管理テーブル330に、各業務アプリケーションソフトウェア115に実際に割り当てたリソースの情報を格納する。さらに、リソース管理部118は、業務アプリケーションソフトウェア115に利用されているリソース量を集計して、リソース使用状況管理テーブル340をリソース増減検知部119に提供する。
リソース管理テーブル330は、各業務アプリケーションソフトウェア115に実際に割り当てたリソースの情報を管理するテーブルであって、図7に示すように、リソース管理テーブル330Aまたは330Bなどを例示できる。
リソース管理テーブル330Aは、各業務アプリケーションソフトウェア115に割り当てられたメモリの情報を管理するテーブルであって、No欄3301、アプリケーション欄3302、サイズ欄3303、ステータス欄3304およびポジション欄3305などから構成される。
No欄3301には、アプリケーションに付された項番が格納される。アプリケーション欄3302には、業務アプリケーションソフトウェア識別部116により識別されたアプリケーションの名称が格納される。サイズ欄3303には、業務アプリケーションソフトウェア115に実際に割り当てられたメモリのサイズが格納される。ステータス欄3304には、メモリ等リソースが確保されたか否かなど、リソースの状態の情報が格納される。ポジション3305には、確保されたメモリの位置情報が格納される。
リソース管理テーブル330Bは、各業務アプリケーションソフトウェア115に割り当てられたコネクションの情報を管理するテーブルであって、No欄3311、アプリケーション欄3312、サイズ欄3313、ステータス欄3314およびポジション欄3315などから構成される。
No欄3311には、アプリケーションに付された項番が格納される。アプリケーション欄3312には、業務アプリケーションソフトウェア識別部116により識別されたアプリケーションの名称が格納される。サイズ欄3313には、業務アプリケーションソフトウェア115に実際に割り当てられたコネクション(通信回線)のサイズが格納される。ステータス欄3314には、コネクション(通信回線)が確保されたか否かなど、コネクションの状態の情報が格納される。ポジション3315には、確保されたコネクションが外部装置と接続するためのコネクションか、内部装置と接続するためのコネクションかなどの情報が格納される。
図4に戻り、管理者等の入力操作に応じて、仮想マシン112のリソース量が変更される(STEP17)。STEP17において、仮想マシン112のリソース量が変更されると、リソース増減検知部119は、仮想マシン112のリソース量の増減を検知する(STEP18)。具体的に、リソース増減検知部119は、ハイパーバイザ111または管理サーバ200のハイパーバイザ管理ソフト210から発せられるリソース量の変更情報を検知して、リソース管理部118に通知する。
また、リソース増減検知部119は、OS113のリソース量情報を定期的に取得(ポーリング)することにより、リソース量が変更されたことを検知してもよい。この場合、リソース管理部118は、リソース使用状況管理テーブル340を参照して、現在使用されているリソース量と、OS113のリソース量とを比較して、リソース量が変更されたか否かを検出する。リソース管理部118は、リソース増減検知部119から通知されたリソース量の変更情報に応じて、OS113から追加的にリソースを確保したり、リソースを解放したりする。
リソース使用状況管理テーブル340は、各業務アプリケーションソフトウェア115によるリソースの使用状況を管理するテーブルであって、図7に示すように、リソース使用状況管理テーブル340Aまたは340Bなどを例示できる。
リソース使用状況管理テーブル340Aは、業務アプリケーションソフトウェア115が使用するメモリに関する情報を管理するテーブルであって、No欄3401、アプリケーション欄3402、使用中欄3403および未使用欄3404から構成される。
No欄3401には、アプリケーションに付された項番が格納される。アプリケーション欄3402には、業務アプリケーションソフトウェア識別部116により識別されたアプリケーションの名称が格納される。使用中欄3403には、各業務アプリケーションソフトウェア115により使用されているメモリの容量が格納される。また、未使用欄3404には、各業務アプリケーションソフトウェア115に割り当てられたメモリ容量のうち、未使用のメモリの容量が格納される。
リソース使用状況管理テーブル340Bは、業務アプリケーションソフトウェア115が使用するコネクションに関する情報を管理するテーブルであって、No欄3411、アプリケーション欄3412、使用中欄3413および未使用欄3414から構成される。
No欄3411には、アプリケーションに付された項番が格納される。アプリケーション欄3412には、業務アプリケーションソフトウェア識別部116により識別されたアプリケーションの名称が格納される。使用中欄3413には、各業務アプリケーションソフトウェア115により使用されているコネクションの容量が格納される。また、未使用欄3414には、各業務アプリケーションソフトウェア115に割り当てられたコネクション容量のうち、未使用のコネクションの容量が格納される。
(3−2)業務アプリケーションソフトウェア識別処理の詳細
次に、業務アプリケーションソフトウェア識別処理の詳細を説明する。業務アプリケーションソフトウェアの識別方法は、上記したように、プログラム境界に基づく方法と、位置情報に基づく方法が挙げられる。
まず、プログラム境界に基づいて業務アプリケーションソフトウェアを識別する方法について説明する。図8Aに示すように、まず、ソフトウェア管理部114は、業務アプリケーションソフトウェアを登録する(S101)。
そして、業務アプリケーション識別部120は、ステップS101において登録された業務アプリケーションソフトウェアのプログラム群の構成単位や実行単位を解析する(S102)。そして、業務アプリケーション識別部120は、ステップS102において解析されたプログラムの境界を認識する(S103)。具体的に、業務アプリケーション識別部120は、Javaのアーカイブ単位でプログラム境界を識別したり、ライブラリファイルや実行モジュールファイルなどの単位でプログラム境界を識別したりする。
そして、業務アプリケーション識別部120は、ステップS103において認識されたプログラム境界とアプリケーションの名称とを関連付けて業務アプリケーションソフトウェア一覧管理テーブル310に登録する(S104)。
続いて、位置情報に基づいて業務アプリケーションソフトウェアを識別する方法について説明する。図8Bに示すように、まず、ソフトウェア管理部114は、業務アプリケーションソフトウェアを登録する(S111)。
そして、業務アプリケーション識別部120は、ステップS111において登録された業務アプリケーションソフトウェアの配備情報を解析する(S112)。具体的に、業務アプリケーション識別部120は、Web業務用なのか、ネットワーク通信なのかなど、業務アプリケーションソフトウェアがどのように配備されているかを解析する。
そして、業務アプリケーション識別部120は、ステップS113において解析された配備情報における業務アプリケーションソフトウェアの位置情報を認識する(S113)。具体的に、業務アプリケーション識別部120は、インターネット上の所在を示すURLや、IPアドレスやポート番号などを認識する。
そして、業務アプリケーション識別部120は、ステップS113において認識したアプリケーションの位置情報とアプリケーションの名称とを関連付けて業務アプリケーションソフトウェア一覧管理テーブル310に登録する(S114)。
(3−3)リソース割り当て処理の詳細
次に、リソース割り当て処理の詳細を説明する。業務アプリケーションソフトウェア115の初期化時や、業務アプリケーションソフトウェア115が動作中にリソースが必要となった場合にリソース割り当て処理が実行される。また、業務アプリケーションソフトウェア115の処理終了時や、業務アプリケーションソフトウェア115の動作中にリソースが不要となった場合、業務アプリケーションソフトウェアからリソースが回収される。
業務アプリケーションソフトウェア115へのリソースの割り当てや回収は、上記した業務アプリケーションソフトウェア識別処理によって識別されたプログラム単位で行われる。リソース割り当てポリシテーブル320に予め設定された割当量の上限や下限、1回に割り当てる量などを元に、業務アプリケーションソフトウェア115へのリソースの割り当てと回収が行われる。また、上記したように、リソースの割り当て方法としては、比率維持方式による割り当て方法と、共有調整方式による割り当て方法が挙げられる。
図9Aに示すように、ソフトウェア管理部114は、業務アプリケーションソフトウェア115から、リソースの確保要求を受け付ける(S201)。そして、リソース割り当て部117は、業務アプリケーションソフトウェア115のリソースの使用状況を確認する(S202)。具体的に、リソース割り当て部117は、リソース使用状況管理テーブル340を参照して、リソースの現在の使用状況を確認する。
そして、リソース割り当て部117は、業務アプリケーションソフトウェア115に使用中のリソース量が所定の上限値未満か否かを判定する(S203)。そして、ステップS203において、業務アプリケーションソフトウェア115によって使用されているリソース量が所定の上限値未満であると判定された場合に、リソース割り当て部117は、業務アプリケーションソフトウェア115にリソースを割り当てる(S204)。具体的に、リソース割り当て部117は、業務アプリケーションソフトウェア115の名称と、割り当てたリソースのサイズとを関連付けてリソース管理テーブル330に登録する。
一方、ステップS203において、業務アプリケーションソフトウェア115によって使用されているリソース量が所定の上限値を超えている場合に、リソース割り当て部117は、リソースの確保が失敗したことを業務アプリケーションソフトウェア115に通知する(S205)。
次に、リソース割り当て部117によるリソースの回収処理について説明する。図9Bに示すように、ソフトウェア管理部114は、業務アプリケーションソフトウェア115から、リソースの解放要求を受け付ける(S211)。そして、リソース割り当て部117は、業務アプリケーションソフトウェア115のリソースの使用状況を確認する(S212)。具体的に、リソース割り当て部117は、リソース使用状況管理テーブル340を参照して、リソースの現在の使用状況を確認する。
そして、リソース割り当て部117は、業務アプリケーションソフトウェア115に使用中のリソース量が所定の下限値以上か否かを判定する(S213)。そして、ステップS213において、業務アプリケーションソフトウェア115によって使用されているリソース量が所定の下限値以上であると判定された場合に、リソース割り当て部117は、業務アプリケーションソフトウェア115へのリソースの割り当てを解除する(S214)。具体的に、リソース割り当て部117は、リソースの割り当てを解除した業務アプリケーションソフトウェア115を、リソース管理テーブル330から削除する。
一方、ステップS213において、業務アプリケーションソフトウェア115によって使用されているリソース量が所定の下限値未満であると判定された場合に、リソース割り当て部117は、リソースの解放が失敗したことを業務アプリケーションソフトウェア115に通知する(S215)。
次に、リソース割り当て部117によるリソース量の変更処理について説明する。図10に示すように、まず、リソース割り当て部117は、仮想マシン112のリソース量の変更を検知する(S221)。具体的に、リソース割り当て部117は、リソース増減検知部119から仮想マシン112のリソース量が増減したことを通知される。
そして、リソース割り当て部117は、リソース割り当てポリシを確認する(S222)具体的に、リソース割り当て部117は、リソース割り当てポリシ管理テーブル320を参照して、リソース割り当てのポリシが比率維持方式か、共有調整方式かを確認する。
そして、リソース割り当て部117は、リソース割り当てポリシが比率維持方式か否かを判定する(S223)。ステップS223において、リソース割り当てポリシが比率維持方式であると判定された場合には、リソース割り当て部117は、各業務アプリケーションソフトウェア115の上限および下限のリソース量を変更する(S224)。具体的に、リソース割り当て部117は、リソース割り当てポリシ管理テーブル320の上限および下限の比率を参照して、リソース量の全体からリソース量の上限値および下限値を算出する。
また、ステップS223において、リソース割り当てポリシが比率維持方式ではないと判定された場合に、リソース割り当て部117は、リソース割り当てポリシが共有調整方式か否かを判定する(S225)。ステップS225において、リソース割り当てポリシが共有調整方式であると判定された場合には、リソース割り当て部117は、各業務アプリケーションソフトウェア115の共有リソース量を変更する(S226)。具体的に、リソース割り当て部117は、リソース割り当てポリシ管理テーブル320の共有リソース量を増加させたり減少させたりする。また、ステップS225において、リソース割り当てポリシが共有調整方式ではないと判定された場合には、リソース割り当て部117は、その他の方式で各業務アプリケーションソフトウェアの設定リソース量を変更する(S227)。ここで、ステップS227におけるその他の方式とは、例えば、優先度順位方式が挙げられる。具体的に、優先度順位方式では、ポリシ管理テーブル320において、各アプリケーションに対してリソース割り当ての優先順位を付与しておく。そして、リソースが増加した際に、ポリシ管理テーブル320の優先順位の高い順に上限値を増加させる。また、リソースが減少した際には、優先順位の低い順に上限値を減少させる。
(3−4)リソース管理処理の詳細
次に、リソース管理処理の詳細について説明する。リソース管理部118は、仮想マシン112のリソース量が増加した場合に、OS113からリソースを確保したり、リソース量が減少した場合に、OS113にリソースを返却したりする。仮想マシンのリソース量が変更されたか否かは、上記したように、リソース増減検知部119から通知される。
図11Aに示すように、まず、ソフトウェア管理部114が、業務アプリケーションソフトウェア115の初期化を実行したり、リソースを確保したりする(S301)。その後、リソース割り当て部117は、上記したリソース割り当て処理を実行して、業務アプリケーションソフトウェア115にリソースの割り当てを行う(S302)。
そして、リソース管理部118は、ステップS302により割り当てられたリソースを、OS113から確保する(S303)。そして、リソース管理部118は、使用状況を更新する(S304)。具体的に、リソース管理部118は、リソース使用状況管理テーブル340の使用中のリソース量を増加させて、未使用のリソース量を減少させる(S304)。
また、図11Bに示すように、ソフトウェア管理部114が、業務アプリケーションソフトウェア115を終了したり、リソースを解放したりする(S311)。その後、リソース割り当て部117は、上記したリソース割り当て解除処理を実行して、業務アプリケーションソフトウェア115にリソースの割り当てを解除する(S312)。
そして、リソース管理部118は、ステップS312により解除されたリソースを、OS113に返却する(S313)。そして、リソース管理部118は、使用状況を更新する(S314)。具体的に、リソース管理部118は、リソース使用状況管理テーブル340の使用中のリソース量を減少させて、未使用のリソース量を増加させる(S314)。
次に、仮想マシン112のリソース量が変更した場合のリソース割り当てまたはリソース割り当て解除処理について説明する。図12に示すように、まず、リソース管理部118は、リソース増減検知部119からの通知をもとに、仮想マシン112のリソース量が増加したか減少したかを判定する(S321)。
ステップS321において、仮想マシン112のリソース量が増加したと判定された場合には、リソース割り当て部117は、リソースの割り当て処理を実行して、業務アプリケーションソフトウェア115にリソースの割り当てを行う(S322)。そして、リソース管理部118は、ステップS322において割り当てられたリソースを、OS113から追加して確保する(S323)。
一方、ステップS321において、仮想マシン112のリソース量が減少したと判定された場合には、リソース割り当て部117は、リソースの割り当て解除処理を実行して、業務アプリケーションソフトウェア115のリソースの割り当てを解除する(S325)。そして、リソース管理部118は、リソースを業務アプリケーションソフトウェア115が使用中か否かを判定する(S326)。
ステップS326において、リソースを業務アプリケーションソフトウェア115が使用中ではないと判定された場合には、リソース管理部118は、確保済みのリソースを解放する(S327)。一方、ステップS326において、リソースを業務アプリケーションソフトウェア115が使用中であると判定された場合には、リソース管理部118は、リソース種別に応じてリソースを解放する(S328)。ステップS328におけるリソース種別に応じたリソースの解放処理については、後で詳細に説明する。
そして、リソース管理部118は、OS113にリソースを返却する(S329)。リソース管理部118は、ステップS324においてリソースを確保したり、ステップS329においてリソースを返却したりした後、リソース使用状況管理テーブルのリソース量を更新する(S330)。
次に、ステップS328において実行されるリソース種別に応じたリソースの解放処理の詳細について説明する。図13に示すように、まず、リソース管理部118は、リソース種別を判定する(S331)。ステップS331において、リソース種別が無使用状態監視型であると判定された場合には、リソース管理部118は、無使用状態監視型のリソース解放処理を実行する(S332)。無使用状態監視型によりリソースを解放するリソースの種別とは、例えば、リアルタイムなセッションやコネクションなどを例示できる。
そして、リソース管理部118は、リソースが一定時間使用されない状態を監視する(S333)。具体的に、リソース管理部118は、例えば、セッションの場合には、セッションタイムアウトを監視したり、コネクションの場合には、コネクション無通信タイムアウトを監視したりする。
一方、ステップS331において、リソース種別が空き領域確保型であると判定された場合には、リソース管理部118は、空き領域確保型のリソース解放処理を実行する(S334)。空き領域確保型によりリソースを解放するリソースの種別とは、例えば、ヒープメモリ、キャッシュメモリ、共有メモリおよびディスク領域などを例示できる。
そして、リソース管理部118は、使用領域の整理や移動により空き領域を確保する(S335)。そして、ステップS333による無使用状態の監視および空き領域の確保により確保されたリソースを解放する(S336)。
(3−5)リソース増減検知処理の詳細
次に、リソース増減検知処理の詳細について説明する。リソース増減検知部119は、仮想マシン112のリソース量が変更されたことを検知して、リソース管理部118に対して、OS113からリソースを追加確保したり、解放したりする契機を与える。リソース増減検知部119が、仮想マシン112のリソース量が変更されたこを検知する方法には以下の3通りが挙げられる。
1つ目は、ハイパーバイザ111が仮想マシン112のリソース量を変更した場合に、ハイパーバイザ111から発せられるイベントを、仮想マシン112内のソフトウェア管理部114が受け取る方法である。この方法は、ハイパーバイザ111の機能に対応した仮想化用ドライバ等のソフトウェアをOS113内に組み込むことにより実現可能である。
2つ目は、管理サーバ200のハイパーバイザ管理ソフト210によって、仮想マシン112のリソース量が変更された場合に、ハイパーバイザ管理ソフト210から発せられるイベントを、仮想マシン112内のソフトウェア管理部114が受け取る方法である。この方法は、ハイパーバイザ管理ソフト210と仮想マシン112との通信処理により実現可能である。
3つ目は、ソフトウェア管理部114は、OS113のリソース量情報を定期的に取得(ポーリング)することによりリソースが変更されたことを認識する方法である。
以下では、上記した1つ目および2つ目のイベントを受け取る方法と、3つ目のポーリングによる方法によってリソース量が変更されたことを検知する処理について説明する。
図14に示すように、リソース増減検知部119は、ハイパーバイザ111または管理サーバ200のハイパーバイザ管理ソフト210からイベントが発生するのを待つ(S341)。そして、リソース増減検知部119は、リソース量変更のイベントが発生したか否かを判定する(S341)。具体的に、仮想マシン112のリソース量が変更すると、ハイパーバイザ111または管理サーバ200のハイパーバイザ管理ソフト210からリソース量が変更したことを通知するイベントが発生される。リソース増減検知部119は、当該イベントが発生されたか否かを検知する。
ステップS342において、イベントが発生されたと判定された場合には、リソース増減検知部119は、当該イベントを受信する(S343)。一方、ステップS342において、イベントが発生されていないと判定された場合には、リソース増減検知部119は、処理を終了する。
そして、リソース増減検知部119は、ステップS343においてイベントを受信したことをリソース割り当て部117に通知して、リソース割り当て部117は、通知されたリソース変更量の情報をもとに各業務アプリケーションソフトウェア115にリソースを割り当てたり、リソース割り当てを解除したりする(S344)。
次に、ポーリングによってリソース量が変更されたことを検知する処理について説明する。図15に示すように、まずリソース増減検知部119は、OS113のリソース量情報を取得する(S351)。そして、リソース増減検知部119は、ステップS351において取得したOS113のリソース量情報と、前回取得したOS113のリソース量情報とに差異があるか否かを判定する(S352)。
ステップS352において、リソース量情報に差異がないと判定された場合には、リソース増減検知部119は、一定時間スリープした後(S353)、ステップS351以降の処理を繰り返す。一方、ステップS352において、リソース量情報に差異があると判定された場合には、リソース増減検知部119は、リソース量の変更量を算出する(S354)。
そして、リソース増減検知部119は、ステップS354において算出したリソース変更量をリソース割り当て部117に通知して、リソース割り当て部117は、通知されたリソース変更量の情報をもとに各業務アプリケーションソフトウェア115にリソースを割り当てたり、リソース割り当てを解除したりする(S355)。
(4)本実施の形態の効果
以上のように、本実施の形態による計算機システム1では、サーバ仮想化により、各仮想マシン112のリソース量が柔軟に変更された場合に、ソフトウェア管理部114が仮想マシンのリソース量の変更を動的に検知して、各業務アプリケーションソフトウェア115にリソース量の変更を適切に反映することができる。これにより、手動でリソース量の割り当てを行うことがなくなり、システム全体の運用コストを低減させて、リソースの利用効率を向上させて、システムの安定稼働を実現させることが可能となる。
(5)他の実施の形態
なお、上述の実施の形態においては仮想化サーバ100のメモリに格納されている各種プログラムに基づいて、仮想化サーバ100のCPU120が本発明のソフトウェア管理部(ソフトウェア管理部114)、識別部(アプリケーションソフトウェア識別部116)、リソース割り当て部(リソース割り当て部117)、リソース管理部(リソース管理部118)、検知部(リソース増減検知部119)などの各種機能を実現しているが、かかる例に限定されない。例えば、CPU120を仮想化サーバ100とは別体の他の装置に設けて、当該CPU120と協同して各種機能を実現するようにしてもよい。また、仮想化サーバ100に格納されている各種プログラムを仮想化サーバ100とは別体の他の装置に設けて、当該プログラムがCPU120に呼び出されることにより各種機能を実現するようにしてもよい。
本発明は、仮想マシンのリソースを管理する計算機システムに適用することができる。
1 計算機システム
100 仮想化サーバ
110 主記憶
111 ハイパーバイザ
112 仮想マシン
113 OS
114 ソフトウェア管理部
115 業務アプリケーションソフトウェア
116 業務アプリケーションソフトウェア識別部
117 リソース割り当て部
118 リソース管理部
119 リソース増減検知部
120 CPU
130 補助記憶
200 管理サーバ
202 CPU
204 補助記憶
206 主記憶
208 OS
210 ハイパーバイザ管理ソフト

Claims (15)

  1. 物理的なリソースを備えた物理マシン上に構築される複数の仮想マシンを提供するサーバ装置であって、
    前記仮想マシンは、
    前記仮想マシンに割り当てられた前記物理的なリソースを前記仮想マシン内のリソースとして認識するOSと、
    前記OSにより認識された前記リソースを確保して、前記仮想マシンに登録される複数のJava(登録商標)で記載された業務アプリケーションソフトウェアに前記リソースを割り当てるソフトウェア管理部と、
    を備え、
    前記ソフトウェア管理部は、
    前記業務アプリケーションソフトウェアに含まれる複数のプログラムの構成単位や実行単位となるプログラム境界に基づいて、前記複数の業務アプリケーションソフトウェアを識別し、前記業務アプリケーションソフトウェアに含まれる複数のプログラムがJava(登録商標)である場合に、前記Java(登録商標)のアーカイブ単位で前記業務アプリケーションソフトウェアを識別して、予め設定された前記リソースの割り当てポリシに基づいて、前記複数の業務アプリケーションソフトウェアに前記リソースを割り当て、
    前記仮想マシンに割り当てられた前記リソースの増減を検知した場合に、前記検知したリソースの増減量に応じて、前記複数の業務アプリケーションソフトウェアへのリソースの割り当てを変更する
    ことを特徴とする、サーバ装置。
  2. 前記ソフトウェア管理部は、
    前記複数の業務アプリケーションソフトウェアを識別する識別部と、
    予め設定された前記リソースの割り当てポリシに基づいて、前記識別部により識別された前記複数の業務アプリケーションソフトウェアに、前記リソースを割り当てるリソース割り当て部と、
    前記リソース割り当て部により割り当てられる前記リソースを前記OSから確保するリソース管理部と、
    前記仮想マシンに割り当てられた前記リソースの増減を検知する検知部と、
    を備え、
    前記検知部により前記仮想マシンに割り当てられた前記リソースの増減が検知された場合に、
    前記リソース割り当て部は、前記リソースの増減量に応じて、前記複数の業務アプリケーションソフトウェアへのリソースの割り当てを変更し、
    前記リソース管理部は、前記リソース割り当て部により割り当てられた前記リソースを前記OSから確保する
    ことを特徴とする、請求項1に記載のサーバ装置。
  3. 前記識別部は、前記複数の業務アプリケーションソフトウェアを識別して、前記業務アプリケーションソフトウェアの一覧を業務アプリケーションソフトウェア一覧管理テーブルに保持することを特徴とする、請求項2に記載のサーバ装置。
  4. 前記ソフトウェア管理部は、
    前記複数の業務アプリケーションソフトウェア毎に、前記リソースの割り当てポリシを設定したリソース割り当てポリシ管理テーブルを備え、
    前記リソース割り当て部は、前記リソース割り当てポリシ管理テーブルに設定されている前記リソースの割り当てポリシに基づいて、前記複数の業務アプリケーションソフトウェアに前記リソースを割り当て、前記業務アプリケーションソフトウェアと割り当てた前記リソースの量とを関連付けてリソース管理テーブルに保持することを特徴とする、請求項2に記載のサーバ装置。
  5. 前記リソース割り当てポリシ管理テーブルに設定されている前記リソースの割り当てポリシは、前記複数の業務アプリケーションソフトウェアに利用可能なリソースの比率を設定する比率維持方式であることを特徴とする、請求項に記載のサーバ装置。
  6. 前記リソース割り当てポリシ管理テーブルに設定されている前記リソースの割り当てポリシは、前記複数の業務アプリケーションソフトウェアにそれぞれリソース量の上限値または下限値を設定し、前記設定された上限値または下限値を超過する場合にいずれの業務アプリケーションでも利用可能な共有のリソース量を設定する共有調整方式であることを特徴とする、請求項に記載のサーバ装置。
  7. 前記リソース管理部は、前記OSから確保した前記リソースの量と、実際に前記複数の業務アプリケーションソフトウェアに利用されているリソースの量とを関連付けてリソース使用状況管理テーブルに保持することを特徴とする、請求項2に記載のサーバ装置。
  8. 前記リソース管理部は、前記OSから確保した前記リソースを解放する場合に、前記リソースを前記業務アプリケーションソフトウェアが使用中であるか否かを判定し、
    前記リソースを前記業務アプリケーションソフトウェアが使用中と判定された場合に、前記リソースの種別に応じて前記リソースを解放することを特徴とする、請求項2に記載のサーバ装置。
  9. 前記リソース管理部は、前記業務アプリケーションソフトウェアが使用中と判定された後、タイムアウトにより前記リソースが所定の時間使用されなくなっている状態を検知して、前記リソースを解放することを特徴とする、請求項に記載のサーバ装置。
  10. 前記リソース管理部は、前記リソースの使用領域の整理や移動により空き領域を確保して、前記リソースを解放することを特徴とする、請求項に記載のサーバ装置。
  11. 前記物理的なリソースを備えた物理マシン上に前記仮想マシンを提供するハイパーバイザを備え、
    前記検知部は、前記ハイパーバイザにより前記仮想マシンのリソース量が変更された場合に、前記ハイパーバイザから発せられる前記リソース量の変更情報に基づいて前記リソース量の変更を検知することを特徴とする、請求項2に記載のサーバ装置。
  12. 前記サーバ装置とは別体の装置に前記仮想マシンのリソース量を管理するハイパーバイザ管理ソフトが搭載されている場合に、
    前記検知部は、前記ハイパーバイザ管理ソフトにより前記仮想マシンのリソース量が変更された場合に、前記ハイパーバイザ管理ソフトから発せられる前記リソース量の変更情報に基づいて、前記リソース量の変更を検知することを特徴とする、請求項11に記載のサーバ装置。
  13. 前記ソフトウェア管理部は、前記OSのリソース量情報を定期的に取得し、
    前記検知部は、前記OSのリソース量の差異を算出して、前記リソース量の変更を検知することを特徴とする、請求項11に記載のサーバ装置。
  14. 物理的なリソースを備えた物理マシン上に構築される複数の仮想マシンを提供するサーバ装置を用いたリソース管理方法であって、
    前記仮想マシンは、
    前記仮想マシンに割り当てられた前記物理的なリソースを前記仮想マシン内のリソースとして認識するOSと、
    前記OSにより認識された前記リソースを確保して、前記仮想マシンに登録されるJava(登録商標)で記載された複数の業務アプリケーションソフトウェアに前記リソースを割り当てるソフトウェア管理部と、
    を備え、
    前記ソフトウェア管理部は、
    前記業務アプリケーションソフトウェアに含まれる複数のプログラムの構成単位や実行単位となるプログラム境界に基づいて、前記複数の業務アプリケーションソフトウェアを識別し、前記業務アプリケーションソフトウェアに含まれる複数のプログラムがJava(登録商標)である場合に、前記Java(登録商標)のアーカイブ単位で前記業務アプリケーションソフトウェアを識別するステップと、
    予め設定された前記リソースの割り当てポリシに基づいて、前記複数の業務アプリケーションソフトウェアに前記リソースを割り当てるステップと、
    前記仮想マシンに割り当てられた前記リソースの増減を検知した場合に、前記検知したリソースの増減量に応じて、前記複数の業務アプリケーションソフトウェアへのリソースの割り当てを変更するステップと、
    を含むことを特徴とする、リソース管理方法。
  15. コンピュータを、
    物理的なリソースを備えた物理マシン上に構築される仮想マシンに登録されるJava(登録商標)で記載された複数の業務アプリケーションソフトウェアを、前記業務アプリケーションソフトウェアに含まれる複数のプログラムの構成単位や実行単位となるプログラム境界に基づいて、前記複数の業務アプリケーションソフトウェアを識別し、前記業務アプリケーションソフトウェアに含まれる複数のプログラムがJava(登録商標)である場合に、前記Java(登録商標)のアーカイブ単位で前記業務アプリケーションソフトウェアを識別する識別部と、
    予め設定された前記リソースの割り当てポリシに基づいて、前記識別部により識別された前記複数の業務アプリケーションソフトウェアに、前記リソースを割り当てるリソース割り当て部と、
    前記リソース割り当て部により割り当てられる前記リソースを、前記仮想マシン内のOSから確保するリソース管理部と、
    前記仮想マシンに割り当てられた前記リソースの増減を検知する検知部と、
    を備え、
    前記検知部により前記仮想マシンに割り当てられた前記リソースの増減が検知された場合に、
    前記リソース割り当て部は、前記リソースの増減量に応じて、前記複数の業務アプリケーションソフトウェアへのリソースの割り当てを変更し、
    前記リソース管理部は、前記リソース割り当て部により割り当てられた前記リソースを前記OSから確保することを特徴とする、サーバ装置として機能させるための、プログラム。
JP2012542707A 2010-11-12 2010-11-12 サーバ装置、リソース管理方法およびプログラム Active JP5412585B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/006664 WO2012063296A1 (ja) 2010-11-12 2010-11-12 サーバ装置、リソース管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP5412585B2 true JP5412585B2 (ja) 2014-02-12
JPWO2012063296A1 JPWO2012063296A1 (ja) 2014-05-12

Family

ID=46050481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012542707A Active JP5412585B2 (ja) 2010-11-12 2010-11-12 サーバ装置、リソース管理方法およびプログラム

Country Status (3)

Country Link
US (1) US9244703B2 (ja)
JP (1) JP5412585B2 (ja)
WO (1) WO2012063296A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030746A (ko) * 2019-09-10 2021-03-18 엔에이치엔 주식회사 외부 장치와 자원들을 공유하는 사용자 컴퓨터 장치 및 방법

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9170843B2 (en) 2011-09-24 2015-10-27 Elwha Llc Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US9098608B2 (en) * 2011-10-28 2015-08-04 Elwha Llc Processor configured to allocate resources using an entitlement vector
US8813085B2 (en) * 2011-07-19 2014-08-19 Elwha Llc Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
US8955111B2 (en) 2011-09-24 2015-02-10 Elwha Llc Instruction set adapted for security risk monitoring
US8930714B2 (en) 2011-07-19 2015-01-06 Elwha Llc Encrypted memory
US9465657B2 (en) 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US9575903B2 (en) 2011-08-04 2017-02-21 Elwha Llc Security perimeter
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9058198B2 (en) * 2012-02-29 2015-06-16 Red Hat Inc. System resource sharing in a multi-tenant platform-as-a-service environment in a cloud computing system
US9720668B2 (en) 2012-02-29 2017-08-01 Red Hat, Inc. Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
US9648084B2 (en) * 2012-03-08 2017-05-09 Oracle International Corporation System and method for providing an in-memory data grid application container
US8850514B2 (en) 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
US9665411B2 (en) 2012-05-01 2017-05-30 Red Hat, Inc. Communication between a server orchestration system and a messaging system
US9436493B1 (en) * 2012-06-28 2016-09-06 Amazon Technologies, Inc. Distributed computing environment software configuration
CN104298544A (zh) * 2013-07-16 2015-01-21 苏州精易会信息技术有限公司 一种应用软件管理方法及系统
US9594649B2 (en) * 2014-10-13 2017-03-14 At&T Intellectual Property I, L.P. Network virtualization policy management system
JP6426495B2 (ja) * 2015-02-18 2018-11-21 Necプラットフォームズ株式会社 コンピュータシステム、cpuリソース管理方法、および、cpuリソース管理プログラム
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
CN105809058B (zh) * 2016-02-29 2018-11-23 重庆工程职业技术学院 教学资源库管理系统
US10007545B2 (en) * 2016-03-15 2018-06-26 International Business Machines Corporation Dynamic altering of SRIOV virtual function (VF) resources including DMA windows without bringing down the VF
US10447716B2 (en) * 2016-10-28 2019-10-15 ShieldX Networks, Inc. Systems and methods for processing hypervisor-generated event data
CN108847956B (zh) * 2018-05-08 2021-08-17 国家计算机网络与信息安全管理中心 一种电信网安全业务vnf的多维智能扩缩容方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS638833A (ja) * 1986-06-27 1988-01-14 Nec Corp 資源割当て制御方式
JPH10240699A (ja) * 1997-02-28 1998-09-11 Nec Corp 自動リソースアサイン方式
JP2004199561A (ja) * 2002-12-20 2004-07-15 Hitachi Ltd 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
JP2008204243A (ja) * 2007-02-21 2008-09-04 Hitachi Software Eng Co Ltd ジョブ実行制御方法およびシステム
JP2009059298A (ja) * 2007-09-03 2009-03-19 Ntt Docomo Inc 資源量変動監視方法、資源量変動監視プログラム、資源量変動監視システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7748005B2 (en) * 2000-01-28 2010-06-29 Hewlett-Packard Development Company, L.P. System and method for allocating a plurality of resources between a plurality of computing domains
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
WO2008084826A1 (ja) 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
WO2009099637A2 (en) * 2008-02-08 2009-08-13 Ecrio, Inc. System, method and apparatus for controlling multiple applications and services on a digital electronic device
US8713535B2 (en) * 2008-06-30 2014-04-29 Microsoft Corporation Reliable and accurate usage detection of a software application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS638833A (ja) * 1986-06-27 1988-01-14 Nec Corp 資源割当て制御方式
JPH10240699A (ja) * 1997-02-28 1998-09-11 Nec Corp 自動リソースアサイン方式
JP2004199561A (ja) * 2002-12-20 2004-07-15 Hitachi Ltd 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
JP2008204243A (ja) * 2007-02-21 2008-09-04 Hitachi Software Eng Co Ltd ジョブ実行制御方法およびシステム
JP2009059298A (ja) * 2007-09-03 2009-03-19 Ntt Docomo Inc 資源量変動監視方法、資源量変動監視プログラム、資源量変動監視システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030746A (ko) * 2019-09-10 2021-03-18 엔에이치엔 주식회사 외부 장치와 자원들을 공유하는 사용자 컴퓨터 장치 및 방법
KR102287522B1 (ko) 2019-09-10 2021-08-09 엔에이치엔 주식회사 외부 장치와 자원들을 공유하는 사용자 컴퓨터 장치 및 방법

Also Published As

Publication number Publication date
US20130305243A1 (en) 2013-11-14
US9244703B2 (en) 2016-01-26
WO2012063296A1 (ja) 2012-05-18
JPWO2012063296A1 (ja) 2014-05-12

Similar Documents

Publication Publication Date Title
JP5412585B2 (ja) サーバ装置、リソース管理方法およびプログラム
US10956288B2 (en) Server clustering in a computing-on-demand system
CN106452818B (zh) 一种资源调度的方法和系统
US10841235B2 (en) Methods and apparatus to optimize memory allocation in response to a storage rebalancing event
US10282231B1 (en) Monitoring and automatic scaling of data volumes
US7287179B2 (en) Autonomic failover of grid-based services
EP2761494B1 (en) System and method for supporting a dynamic resource broker in a transactional middleware machine environment
EP3507692B1 (en) Resource oversubscription based on utilization patterns in computing systems
JP6321031B2 (ja) 優先度が付与された複数のバーチャルマシン及び複数のアプリケーションに対して、共有された複数のリソースの品質に基づいて、サービスの品質を提供すること
US7743142B2 (en) Verifying resource functionality before use by a grid job submitted to a grid environment
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
EP1769352B1 (en) Method and apparatus for dynamic cpu resource management
US20060277305A1 (en) Adaptive shared computing infrastructure for application server-based deployments
US20150317187A1 (en) Placing objects on hosts using hard and soft constraints
US20170031622A1 (en) Methods for allocating storage cluster hardware resources and devices thereof
US8185905B2 (en) Resource allocation in computing systems according to permissible flexibilities in the recommended resource requirements
Heger Hadoop performance tuning-a pragmatic & iterative approach
CN107229520A (zh) 一种数据中心操作系统
US20060277307A1 (en) Method for allocating shared computing infrastructure for application server-based deployments
US20040111725A1 (en) Systems and methods for policy-based application management
US20140012721A1 (en) Managing use of lease resources allocated on fallover in a high availability computing environment
JP2011521319A (ja) 管理システムのコンピューティングリソースを管理するための方法および装置
CN112052072A (zh) 一种虚拟机的调度策略及超融合系统
JP5151509B2 (ja) 仮想マシンシステム及びそれに用いる仮想マシン分散方法
JP2007072672A (ja) 計算機システムおよび記憶領域の割当て方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Ref document number: 5412585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150