JPWO2010100867A1 - Virtual machine management system - Google Patents

Virtual machine management system Download PDF

Info

Publication number
JPWO2010100867A1
JPWO2010100867A1 JP2011502628A JP2011502628A JPWO2010100867A1 JP WO2010100867 A1 JPWO2010100867 A1 JP WO2010100867A1 JP 2011502628 A JP2011502628 A JP 2011502628A JP 2011502628 A JP2011502628 A JP 2011502628A JP WO2010100867 A1 JPWO2010100867 A1 JP WO2010100867A1
Authority
JP
Japan
Prior art keywords
virtual machine
information
update
package
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011502628A
Other languages
Japanese (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2010100867A1 publication Critical patent/JPWO2010100867A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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

Abstract

仮想計算機の実行環境の更新状況をシステム管理者が容易に把握することを可能にする仮想計算機管理システムを提供する。仮想計算機管理システムでは、仮想計算機の各々は、自己の実行環境の更新内容を示す更新情報を更新記録ファイルに記録するシステム更新手段と、当該更新情報を仮想計算機管理装置に送信する更新情報送信手段とを含む。仮想計算機管理装置は、送信された当該更新情報を更新情報ファイルに記録する更新情報格納制御手段と、更新情報ファイルに記録されている更新情報を比較して仮想計算機の実行環境の更新状況を示すデータを生成する更新情報比較手段とを含む。Provided is a virtual machine management system that enables a system administrator to easily grasp the update status of the execution environment of a virtual machine. In the virtual machine management system, each virtual machine has system update means for recording update information indicating update contents of its own execution environment in an update record file, and update information transmission means for sending the update information to the virtual machine management apparatus. Including. The virtual machine management device compares the update information storage control means for recording the transmitted update information in the update information file and the update information recorded in the update information file to indicate the update status of the execution environment of the virtual machine Update information comparing means for generating data.

Description

本発明は、実計算機上に仮想計算機を構成するための仮想化技術に関する。   The present invention relates to a virtualization technique for configuring a virtual computer on a real computer.

近年の実計算機(ハードウェア構成の計算機)の高性能化に伴い、実計算機上に仮想計算機(仮想マシン:virtual machine)を構成する仮想化技術が広く利用されている。1台の実計算機上に複数の仮想計算機を構成すれば、これら仮想計算機上でそれぞれ複数種のオペレーティング・システム(OS:Operating System)を同時並行に動作させることができるので、実計算機資源の有効活用が可能である。また、仮想計算機の構成に必要なファイル群を通信ネットワークを介して実計算機に伝送することにより、この実計算機上にユーザのコンピューティング環境を容易に構築することも可能となる。   With the recent improvement in performance of real computers (hardware configuration computers), virtualization technology that configures virtual computers (virtual machines) on real computers is widely used. If multiple virtual machines are configured on a single real machine, multiple types of operating systems (OS) can be operated in parallel on these virtual machines. It can be used. Further, by transmitting a file group necessary for the configuration of the virtual computer to the real computer via the communication network, it becomes possible to easily construct a user computing environment on the real computer.

通信ネットワーク上に分散する多数の仮想計算機を保守管理する作業は容易ではない。そこで、多数の仮想計算機を通信ネットワークを介して効率的に管理する技術が要求されている。この種の管理技術に関する先行技術文献としては、たとえば、特許文献1(特開2005−332223号公報)、特許文献2(特開2005−208999号公報)、特許文献3(特開2005−115653号公報)および特許文献4(米国特許第7398524号明細書)が挙げられる。   The work of maintaining and managing a large number of virtual machines distributed on a communication network is not easy. Therefore, a technology for efficiently managing a large number of virtual machines via a communication network is required. Prior art documents relating to this type of management technology include, for example, Patent Document 1 (Japanese Patent Laid-Open No. 2005-332223), Patent Document 2 (Japanese Patent Laid-Open No. 2005-208999), and Patent Document 3 (Japanese Patent Laid-Open No. 2005-115653). Gazette) and Patent Document 4 (US Pat. No. 7,398,524).

特開2005−332223号公報JP 2005-332223 A 特開2005−208999号公報JP 2005-208999 A 特開2005−115653号公報JP 2005-115653 A 米国特許第7398524号明細書US Pat. No. 7,398,524

実計算機上に仮想計算機を短時間で構築する方法として、一度構築された仮想計算機の実行環境を表すイメージファイル群(OSやアプリケーションプログラムやディレクトリ構造などのイメージ)を保存しておき、このイメージファイル群を仮想計算機の再構築の際に再利用するというものがある。従来の管理技術では、通信ネットワーク上に分散する仮想計算機を遠隔管理するための装置(以下、管理サーバと呼ぶ。)が使用される。管理サーバがそのようなイメージファイル群を保存しておけば、実計算機上の仮想計算機制御部(ホストOSや仮想計算機モニタ)が、そのイメージファイル群を用いて仮想計算機の実行環境を短時間にかつ容易に再構築することができる。更に、イメージファイル群がパッケージ化されて管理サーバに保存されていれば、必要なパッケージのみを用いて仮想計算機の所望の実行環境を容易に構築することが可能である。   As a method of building a virtual machine in a short time on a real machine, an image file group (an image of an OS, application program, directory structure, etc.) representing the execution environment of the virtual machine once built is saved, and this image file There is a method of reusing groups when reconstructing virtual machines. In the conventional management technique, an apparatus (hereinafter referred to as a management server) for remotely managing virtual machines distributed on a communication network is used. If the management server stores such an image file group, the virtual machine control unit (host OS or virtual machine monitor) on the real computer can use the image file group to shorten the execution environment of the virtual machine in a short time. And can be easily reconstructed. Furthermore, if the image file group is packaged and stored in the management server, it is possible to easily construct a desired execution environment of the virtual machine using only necessary packages.

仮想計算機のユーザごとに使用するコンピューティング環境が異なる場合、仮想計算機の構築に必要なイメージファイル群は、仮想計算機の実行環境ごとに異なる。管理サーバは、仮想計算機の構築に必要な最小限のイメージファイル群(たとえば、特定のアプリケーションプログラムや特定のディレクトリ構造のイメージ)を実計算機に転送するために、仮想計算機ごとにその実行環境の詳細を把握しておくことが必要である。しかしながら、従来の管理技術では、通信ネットワーク上に分散配置されている多数の仮想計算機の実行環境の詳細を管理サーバが正確かつ完全に把握することが難しいという問題がある。   When the computing environment used for each virtual machine user is different, the image file group necessary for constructing the virtual machine is different for each execution environment of the virtual machine. The management server transfers details of the execution environment for each virtual machine in order to transfer a minimum image file group (for example, an image of a specific application program or a specific directory structure) necessary for the construction of the virtual machine to the real machine. It is necessary to understand this. However, the conventional management technique has a problem that it is difficult for the management server to accurately and completely grasp the details of the execution environment of a large number of virtual machines distributed and arranged on the communication network.

たとえば、特許文献1に開示されている仮想計算機管理システム(仮想マシン管理システム)は、複数の仮想マシンサーバ(仮想計算機)が稼働する環境を管理し、必要なときにすぐに環境の再構築を行うことができる。これら仮想マシンサーバは、当該仮想マシンサーバ上で動作するOSの識別情報やOSのバージョン情報などの設定情報を仮想計算機管理システムに送信する機能を有する。仮想計算機管理システムは、仮想マシンサーバから送信された設定情報を記憶しおき、この設定情報に基づいて必要なときに仮想マシンサーバの環境の再構築を短時間で行うことができる。しかしながら、特許文献1の仮想計算機管理システムでは、システム管理者は、多数の仮想マシンサーバの実行環境の更新状況を容易に把握することができない。   For example, a virtual machine management system (virtual machine management system) disclosed in Patent Document 1 manages an environment in which a plurality of virtual machine servers (virtual machines) operate, and immediately rebuilds the environment when necessary. It can be carried out. These virtual machine servers have a function of transmitting setting information such as OS identification information and OS version information operating on the virtual machine server to the virtual machine management system. The virtual machine management system can store the setting information transmitted from the virtual machine server, and can reconstruct the environment of the virtual machine server in a short time when necessary based on the setting information. However, in the virtual machine management system of Patent Document 1, the system administrator cannot easily grasp the update status of the execution environment of a large number of virtual machine servers.

上記に鑑みて本発明の目的は、通信ネットワーク上に分散している多数の仮想計算機の実行環境の更新状況をシステム管理者が容易に把握することを可能にする仮想計算機管理システムを提供するものである。   In view of the above, an object of the present invention is to provide a virtual machine management system that enables a system administrator to easily grasp the update status of the execution environment of a large number of virtual machines distributed on a communication network. It is.

本発明によれば、各々が少なくとも1台の仮想計算機を有する複数の実計算機と、前記仮想計算機を通信ネットワークを介して遠隔制御する仮想計算機管理装置と、前記複数の仮想計算機にそれぞれ対応して用意された複数の更新情報ファイルが格納される記憶装置と、を備えた仮想計算機管理システムが提供される。この仮想計算機管理システムでは、前記各仮想計算機は、更新記録ファイルが格納されるデータ記憶部と、当該各仮想計算機の実行環境の更新が実行されたときに当該更新の内容を示す更新情報を前記更新記録ファイルに記録するシステム更新手段と、前記更新記録ファイル内の当該更新情報を前記仮想計算機管理装置に送信する更新情報送信手段と、を含み、前記仮想計算機管理装置は、前記更新情報送信手段から送信された当該更新情報を当該更新情報ファイルに記録する更新情報格納制御手段と、前記更新情報ファイルに記録されている更新情報を比較して前記仮想計算機の実行環境の更新状況を示すデータを生成する更新情報比較手段と、を含む。   According to the present invention, a plurality of real computers each having at least one virtual computer, a virtual computer management device that remotely controls the virtual computer via a communication network, and the plurality of virtual computers, respectively. A virtual machine management system is provided that includes a storage device that stores a plurality of prepared update information files. In this virtual machine management system, each virtual machine has a data storage unit in which an update record file is stored, and update information indicating the contents of the update when the execution environment of each virtual machine is updated. System update means for recording in an update record file; and update information transmission means for transmitting the update information in the update record file to the virtual machine management apparatus, wherein the virtual machine management apparatus is the update information transmission means Update information storage control means for recording the update information transmitted from the update information file and data indicating the update status of the execution environment of the virtual machine by comparing the update information recorded in the update information file Update information comparing means to be generated.

本発明によれば、各々が少なくとも1台の仮想計算機を有する複数の実計算機と、前記仮想計算機を通信ネットワークを介して遠隔制御する仮想計算機管理装置と、を備えた仮想計算機管理システムが提供される。この仮想計算機管理システムでは、前記各仮想計算機は、当該各仮想計算機の実行環境を構築するために当該各仮想計算機に導入された複数のソフトウェア・パッケージの識別情報と、当該ソフトウェア・パッケージの相互依存関係を示す依存関係情報とをパッケージ情報として前記仮想計算機管理装置に送信するパッケージ情報送信手段を含み、前記仮想計算機管理装置は、前記仮想計算機ごとに前記パッケージ情報送信手段から送信された前記パッケージ情報を記憶装置に格納するパッケージ情報格納制御手段と、前記記憶装置に格納されている前記パッケージ情報を比較して前記仮想計算機の実行環境の更新状況を示すデータを生成するパッケージ情報比較手段と、を含む。   According to the present invention, there is provided a virtual machine management system comprising a plurality of real machines each having at least one virtual machine, and a virtual machine management apparatus that remotely controls the virtual machine via a communication network. The In this virtual machine management system, each virtual machine has identification information of a plurality of software packages introduced into each virtual machine in order to construct an execution environment of each virtual machine, and interdependencies between the software packages. Package information transmitting means for transmitting dependency information indicating a relationship to the virtual machine management apparatus as package information, wherein the virtual machine management apparatus transmits the package information transmitted from the package information transmission means for each virtual machine. Package information storage control means for storing data in a storage device, and package information comparison means for comparing the package information stored in the storage device to generate data indicating the update status of the execution environment of the virtual machine, Including.

本発明による仮想計算機管理システムによれば、通信ネットワーク上に分散している多数の仮想計算機の実行環境に関する正確な詳細情報を取得し、当該実行環境の更新状況を示すデータを提供することができる。よって、システム管理者の管理負担が大幅に軽減される。   According to the virtual machine management system of the present invention, it is possible to acquire accurate detailed information regarding the execution environment of a large number of virtual machines distributed on the communication network, and to provide data indicating the update status of the execution environment. . Therefore, the management burden on the system administrator is greatly reduced.

上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。   The above-described object and other objects, features, and advantages will become more apparent from the preferred embodiments described below and the accompanying drawings.

本発明に係る第1の実施形態の仮想計算機管理システムの概略構成を示す機能ブロック図である。It is a functional block diagram which shows schematic structure of the virtual machine management system of 1st Embodiment which concerns on this invention. 更新記録ファイルの内容の一例を概略的に示す図である。It is a figure which shows an example of the content of an update recording file roughly. 仮想計算機情報の格納手順を示す通信シーケンスを概略的に示す図である。It is a figure which shows roughly the communication sequence which shows the storage procedure of virtual computer information. 仮想計算機情報管理テーブルの内容の一例を示す図である。It is a figure which shows an example of the content of the virtual machine information management table. 比較対象であるディスクイメージを指定するための操作画面の一例を示す図である。It is a figure which shows an example of the operation screen for designating the disk image which is a comparison object. 文字列比較による差分検出に基づく比較結果の一例を示す図である。It is a figure which shows an example of the comparison result based on the difference detection by character string comparison. 本発明に係る第2の実施形態の仮想計算機管理システムの概略構成を示す機能ブロック図である。It is a functional block diagram which shows schematic structure of the virtual machine management system of 2nd Embodiment which concerns on this invention. 仮想計算機情報の格納手順を示す通信シーケンスを概略的に示す図である。It is a figure which shows roughly the communication sequence which shows the storage procedure of virtual computer information. パッケージ情報データベースの内容の一例を示す図である。It is a figure which shows an example of the content of a package information database. パッケージ情報比較部による処理手順を概略的に示すフローチャートである。It is a flowchart which shows roughly the process sequence by a package information comparison part. 5つのパッケージについての依存関係情報を示す図である。It is a figure which shows the dependency relationship information about five packages. パッケージ名のグループを示す図である。It is a figure which shows the group of a package name. ディスクイメージの内容を例示する図である。It is a figure which illustrates the contents of a disk image. パッケージリスト間の依存関係情報の一例を示す図である。It is a figure which shows an example of the dependency relationship information between package lists. 管理端末に出力される比較結果を示す図である。It is a figure which shows the comparison result output to a management terminal.

以下、本発明に係る実施形態について図面を参照しつつ説明する。なお、すべての図面において、同様な構成要素には同一符号を付し、その詳細な説明は重複しないように適宜省略される。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and detailed description thereof is appropriately omitted so as not to overlap.

(第1の実施形態)
図1は、本発明に係る第1の実施形態の仮想計算機管理システムの概略構成を示す機能ブロック図である。この仮想計算機管理システムは、複数の実計算機300〜300と、仮想計算機管理サーバ(Virtual Machine Management Server)100Aと、記憶装置200と、管理端末400とを備えている。これら実計算機300〜300、仮想計算機管理サーバ100A、記憶装置200および管理端末400は、通信ネットワーク500を介して相互に接続されている。
(First embodiment)
FIG. 1 is a functional block diagram showing a schematic configuration of a virtual machine management system according to the first embodiment of the present invention. This virtual machine management system includes a plurality of real machines 300 1 to 300 N , a virtual machine management server (Virtual Machine Management Server) 100A, a storage device 200, and a management terminal 400. The real computers 300 1 to 300 N , the virtual computer management server 100A, the storage device 200, and the management terminal 400 are connected to each other via a communication network 500.

実計算機300〜300の各々には、少なくとも1台の仮想計算機が起動する。図1に示されるように、実計算機300は、仮想計算機制御部310を有しており、この仮想計算機制御部310の制御下で実計算機300上に仮想計算機301が構築されている。他の実計算機300〜300も、実計算機300と同様の構成を有している。すなわち、実計算機300〜300は、それぞれ、仮想計算機制御部310〜310の制御下で構築された仮想計算機301〜301を有している。仮想計算機管理サーバ100Aは、通信ネットワーク500を介して実計算機300〜300上の仮想計算機群を遠隔管理する機能を有している。At least one virtual machine is started in each of the real machines 300 1 to 300 N. As shown in FIG. 1, the actual computer 300 1 has a virtual machine control unit 310 1, the virtual machine 301 1 is built on a real machine 300 1 under the control of the virtual machine control unit 310 1 ing. The other real computers 300 2 to 300 N have the same configuration as that of the real computer 300 1 . In other words, the real machine 300 2 to 300 N has respectively, a virtual machine 301 2 to 301 N built under the control of the virtual machine control unit 310 2 to 310 N. The virtual machine management server 100A has a function of remotely managing a virtual machine group on the real machines 300 1 to 300 N via the communication network 500.

仮想計算機制御部310は、実計算機300の記憶装置(図示せず)に記憶されているディスクイメージや構成ファイル群に基づいて仮想計算機301を論理的に構成する機能を有する。仮想計算機制御部310〜310も、仮想計算機制御部310と同様の機能を有する。本実施形態では、仮想計算機制御部310は、実計算機300上で動作する仮想計算機モニタ(VMM:Virtual Machine Monitor)である。仮想計算機モニタが実計算機上で直接動作する構成と、仮想計算機モニタが実計算機上のホスト・オペレーティング・システム(ホストOS)上で動作する構成とがあり得る。Virtual computer control unit 310 1 has a function of constructing a virtual machine 301 1 logically based on the real machine 300 1 storage disk image stored in the (not shown) and configuration files. Virtual computer control unit 310 2 to 310 N also has a similar function to that of the virtual machine control unit 310 1. In the present embodiment, the virtual machine control unit 310 1 is a virtual machine monitor (VMM) that operates on the real machine 300 1 . There can be a configuration in which the virtual computer monitor directly operates on the real computer and a configuration in which the virtual computer monitor operates on a host operating system (host OS) on the real computer.

仮想計算機モニタは、ソフトウェアまたはハードウェアにより実現可能である。既存の仮想計算機モニタとしては、たとえば、VMware(登録商標)やXen(登録商標)が挙げられる。   The virtual machine monitor can be realized by software or hardware. Examples of the existing virtual machine monitor include VMware (registered trademark) and Xen (registered trademark).

なお、実計算機300〜300のハードウェア構成は、汎用的な構成であればよく、たとえば、CPU(Central Processing Unit)などのプロセッサ、主メモリ、キャッシュメモリ、バス回路、タイマ回路、入力装置(たとえば、キーボード)および出力装置(たとえば、ディスプレイやプリンタ)などの物理資源によって構成され得る。たとえば、実計算機300〜300を、ワークステーションまたはパーソナルコンピュータで実現してもよい。The hardware configuration of the actual computers 300 1 to 300 N may be a general-purpose configuration, such as a processor such as a CPU (Central Processing Unit), a main memory, a cache memory, a bus circuit, a timer circuit, and an input device. (E.g., a keyboard) and output devices (e.g., a display or a printer). For example, the real computers 300 1 to 300 N may be realized by a workstation or a personal computer.

管理端末400は、キーボードやポインティングデバイスなどの入力装置と、液晶ディスプレイなどの出力装置とを備えた端末装置である。この管理端末400は、ネットワーク500を介して仮想計算機管理サーバ100Aと接続されている。管理端末400は、たとえば、Windows(登録商標)オペレーティング・システムが動作するパーソナルコンピュータで構成できる。   The management terminal 400 is a terminal device that includes an input device such as a keyboard and a pointing device and an output device such as a liquid crystal display. The management terminal 400 is connected to the virtual machine management server 100A via the network 500. The management terminal 400 can be constituted by, for example, a personal computer that operates a Windows (registered trademark) operating system.

実計算機300上の仮想計算機301は、更新記録送信部(更新情報送信手段)302、システム更新部303および更新記録ファイル304を有する。システム更新部303は、仮想計算機301の実行環境(システム)の更新が実行されたときに、この更新の内容を示す更新情報を更新記録ファイル304に記録する機能を有する。たとえば、仮想計算機301に新たなアプリケーション・プログラムが導入されたり、既存のアプリケーション・プログラムが新バージョンにアップデートされたり、仮想計算機301上で動作する仮想OSのシステムファイルが更新されたりすると、仮想計算機301の実行環境が更新される。この実行環境を表すデータがディスクイメージであり、このディスクイメージは実計算機300の内蔵ディスクに記憶されている。Virtual machine 301 1 of the real machine 300 1 has an update record transmission unit (update information transmitting means) 302, the system updates 303 and update the recording file 304. System update unit 303, when an update of the virtual machine 301 1 execution environment (system) is performed, has a function of recording the update information indicating the content of the update to update the recording file 304. For example, the introduction of a new application program to the virtual machine 301 1, when the existing application program or been updated to the new version, the system files for the virtual OS running on the virtual machine 301 1 is or is updated, the virtual computer 301 first execution environment is updated. The data representing the execution environment is a disk image, the disk image is stored in the real machine 300 1 internal disk.

更新記録ファイル304は、仮想計算機301に割り当てられた記憶領域(データ記憶部)に格納されている。更新記録送信部302は、仮想計算機管理サーバ100Aからの更新情報取得要求に応じて、更新記録ファイル304に記録されている更新情報を仮想計算機管理サーバ100Aに送信する。Update record file 304 is stored in the storage area allocated to the virtual machine 301 1 (data storage unit). In response to an update information acquisition request from the virtual machine management server 100A, the update record transmission unit 302 transmits the update information recorded in the update record file 304 to the virtual machine management server 100A.

仮想計算機301を制御する仮想計算機制御部310は、ディスクイメージ送信部310Aを有している。このディスクイメージ送信部310Aは、仮想計算機管理サーバ100Aからのディスクイメージ格納要求に応じて、実計算機300のディスクイメージを読み出し、これを送信する機能を有する。後述するように、仮想計算機制御部310は、ディスクイメージ格納要求が到来すると、仮想計算機301の動作を一時的に停止した状態で、当該仮想計算機301のディスクイメージをディスクイメージ送信部310Aに送信させる機能を有している。Virtual computer control unit 310 1 for controlling the virtual machine 301 1 has a disk image transmitting unit 310A. The disk image transmitting unit 310A, in accordance with the disk image storage request from the virtual machine management server 100A, reads out the disk image of the real machine 300 1, has a function of transmitting it. As described below, the virtual machine control unit 310 1, when the disk image storage request arrives, while temporarily stopping the operation of the virtual machine 301 1, the virtual machine 301 1 disk image disk image transmission unit 310A It has the function to send to.

一方、仮想計算機管理サーバ100Aは、ディスクイメージ格納制御部110、更新情報格納制御部120、更新情報比較部130およびネットワーク・サービス・インターフェース140を有する。仮想計算機管理サーバ100Aの構成の全部または一部は、ハードウェアで実現されてもよいし、あるいは、コンピュータのプロセッサに処理を実行させるコンピュータプログラム(またはプログラムコード)で実現されてもよい。仮想計算機管理サーバ100Aの構成要素110,120,130,140の機能がコンピュータプログラムで実現される場合、プロセッサは、不揮発性メモリなどの記録媒体からそのコンピュータプログラムを読み出し実行する。   On the other hand, the virtual machine management server 100A includes a disk image storage control unit 110, an update information storage control unit 120, an update information comparison unit 130, and a network service interface 140. All or part of the configuration of the virtual machine management server 100A may be realized by hardware, or may be realized by a computer program (or program code) that causes a processor of a computer to execute processing. When the functions of the components 110, 120, 130, and 140 of the virtual machine management server 100A are realized by a computer program, the processor reads the computer program from a recording medium such as a nonvolatile memory and executes it.

記憶装置200は、ハードディスクなどのストレージデバイス(Storage Device)である。記憶装置200は、仮想計算機管理サーバ100Aによって格納または参照されるディスクイメージおよび仮想計算機情報を保持する。仮想計算機情報の詳細については後述する。記憶装置200には、実計算機300〜300上の多数の仮想計算機301〜301にそれぞれ対応して用意された更新情報ファイル230,...が格納されている。更新情報ファイル230は、仮想計算機管理サーバ100Aの管理下にある仮想計算機301〜301の実行環境に対してなされた更新の履歴を示す情報からなる電子ファイルである。The storage device 200 is a storage device such as a hard disk. The storage device 200 holds a disk image and virtual machine information stored or referenced by the virtual machine management server 100A. Details of the virtual machine information will be described later. The storage device 200, a real machine 300 1-300 number of virtual machines 301 1 to 301 update information file 230 prepared corresponding respectively to the N on N, ... are stored. The update information file 230 is an electronic file including information indicating a history of updates made to the execution environments of the virtual machines 301 1 to 301 N under the management of the virtual machine management server 100A.

更新情報格納制御部120は、記憶装置200を制御して、仮想計算機301(iは1〜Nのうちのいずれか)から送信された更新情報を、当該仮想計算機301のために用意された更新情報ファイル230に記録する。The update information storage control unit 120 controls the storage device 200 to prepare update information transmitted from the virtual computer 301 i (i is any one of 1 to N) for the virtual computer 301 i. The update information file 230 is recorded.

また、記憶装置200は、実計算機300〜300から送信されたディスクイメージ220,...を格納するための記憶領域を有している。ディスクイメージ格納制御部110は、記憶装置200を制御して、実計算機300から送信されたディスクイメージを当該記憶領域に格納する。The storage device 200, disk image 220 sent from the real machine 300 1 to 300 N, and has a storage area for storing .... Disk image storage control unit 110 controls the storage unit 200 stores the disk image transmitted from the real machine 300 1 to the storage area.

更に、記憶装置200には、仮想計算機情報管理テーブル210が格納されている。仮想計算機情報管理テーブル210には、仮想計算機管理サーバ100Aの管理下にある仮想計算機301〜301に関する情報(メタデータ)が記録されている。ディスクイメージ格納制御部110は、実計算機300から送信された仮想計算機301のディスクイメージの識別子(たとえば、当該ディスクイメージの名称を表すデータ)と、当該仮想計算機301に対応して用意された更新情報ファイル230の識別子(たとえば、当該更新情報ファイル230の名称を表すデータ)とを関連付けて仮想計算機情報管理テーブル210に記録することができる。Further, the storage device 200 stores a virtual computer information management table 210. In the virtual machine information management table 210, information (metadata) related to the virtual machines 301 1 to 301 N under the management of the virtual machine management server 100A is recorded. Disk image storage control unit 110, real machine 300 i of disk image of the virtual machine 301 i transmitted from the identifier (e.g., data representing the name of the disk image) and are prepared corresponding to the virtual machine 301 i The identifier of the updated information file 230 (for example, data representing the name of the updated information file 230) can be associated and recorded in the virtual machine information management table 210.

更新情報比較部130は、ネットワーク・サービス・インターフェース140からの要求や問い合わせに基づいて、仮想計算機情報管理テーブル210を参照して比較対象となるディスクイメージに対応する更新情報ファイル230を選択する。更新情報比較部130は、選択した単数または複数の更新情報ファイル230に記録されている更新情報を比較して、単一または複数の仮想計算機の実行環境の更新状況を示すデータを生成する。   Based on a request or inquiry from the network service interface 140, the update information comparison unit 130 refers to the virtual machine information management table 210 and selects the update information file 230 corresponding to the disk image to be compared. The update information comparison unit 130 compares the update information recorded in the selected update information file or files 230 and generates data indicating the update status of the execution environment of the single or multiple virtual machines.

後述するように、たとえば、管理端末400からネットワーク・サービス・インターフェース140を介して1台の仮想計算機301の実行環境(ディスクイメージ)の更新履歴が要求された場合、更新情報比較部130は、当該仮想計算機301に割り当てられた更新情報ファイル230を選択し、この更新情報ファイル230内の更新情報を比較する。一方、管理端末400からネットワーク・サービス・インターフェース140を介して異なる2台の仮想計算機301,301(i≠j)の実行環境(ディスクイメージ)の差分が要求された場合、更新情報比較部130は、これら2台の仮想計算機301,301にそれぞれ割り当てられた2つの更新情報ファイル230,230を選択し、これら更新情報ファイル230,230間で更新情報を比較する。更新情報比較部130による処理結果は、ネットワーク・サービス・インターフェース140を介して管理端末400に送信される。As will be described later, for example, when an update history of the execution environment (disk image) of one virtual machine 301 i is requested from the management terminal 400 via the network service interface 140, the update information comparison unit 130 The update information file 230 assigned to the virtual computer 301 i is selected, and the update information in the update information file 230 is compared. On the other hand, when a difference between execution environments (disk images) of two different virtual machines 301 i and 301 j (i ≠ j) is requested from the management terminal 400 via the network service interface 140, an update information comparison unit 130 selects two update information files 230 and 230 assigned to the two virtual machines 301 i and 301 j , respectively, and compares the update information between the update information files 230 and 230. The processing result by the update information comparison unit 130 is transmitted to the management terminal 400 via the network service interface 140.

ネットワーク・サービス・インターフェース140は、管理端末400と更新情報比較部130との間、あるいは、管理端末400と更新情報格納制御部120との間で情報をやりとりするためのインターフェースである。   The network service interface 140 is an interface for exchanging information between the management terminal 400 and the update information comparison unit 130 or between the management terminal 400 and the update information storage control unit 120.

システム管理者は、管理端末400を操作して仮想計算機管理サーバ100Aに対する指示情報を入力することができる。この指示情報は、通信ネットワーク500を介してネットワーク・サービス・インターフェース140に送信される。ネットワーク・サービス・インターフェース140は、当該指示情報に基づいた要求や問い合わせを更新情報比較部130または更新情報格納制御部120に対して行う。更新情報比較部130または更新情報格納制御部120は、当該問い合わせや要求に応じた処理を実行し、その実行結果をネットワーク・サービス・インターフェース140に返す。そして、ネットワーク・サービス・インターフェース140は、その実行結果を、当該指示情報に対する応答結果として管理端末400に返信することとなる。   The system administrator can operate the management terminal 400 to input instruction information for the virtual machine management server 100A. This instruction information is transmitted to the network service interface 140 via the communication network 500. The network service interface 140 makes a request or inquiry based on the instruction information to the update information comparison unit 130 or the update information storage control unit 120. The update information comparison unit 130 or the update information storage control unit 120 executes processing corresponding to the inquiry or request, and returns the execution result to the network service interface 140. Then, the network service interface 140 returns the execution result to the management terminal 400 as a response result to the instruction information.

ネットワーク・サービス・インターフェース140としては、たとえば、HTTP(HyperText Transport Protocol)/HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)に基づいたウェブ・サービス(Web service)を提供するインターフェースを採用することができる。HTTP/HTTPSは、RFC(Request For Comment)に規定されている。この場合、管理端末400には、ネットワーク・サービス・インターフェース140が提供するウェブページを表示するウェブブラウザ(WWWブラウザ)が導入される。システム管理者は、このウェブブラウザを通してネットワーク・サービス・インターフェース140にアクセスすることができる。   As the network service interface 140, for example, an interface that provides a web service based on HTTP (HyperText Transport Protocol) / HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) can be employed. HTTP / HTTPS is defined in RFC (Request For Comment). In this case, a web browser (WWW browser) that displays a web page provided by the network service interface 140 is introduced into the management terminal 400. The system administrator can access the network service interface 140 through the web browser.

以上の構成を有する仮想計算機管理システムの動作について以下に説明する。第1の実施形態の仮想計算機管理システムは、1)仮想計算機の更新、2)仮想計算機情報の登録、3)仮想計算機情報の参照、という3つの相(フェーズ)で動作する。   The operation of the virtual machine management system having the above configuration will be described below. The virtual machine management system according to the first embodiment operates in three phases: 1) update of a virtual machine, 2) registration of virtual machine information, and 3) reference of virtual machine information.

「仮想計算機の更新」とは、仮想計算機上で動作するOS(オペレーティング・システム)にアプリケーション・プログラムの導入などの変更操作を加えることである。図1の仮想計算機301上のシステム更新部303は、管理端末400からの更新指示情報に従って、この変更操作を実行する機能を有する。すなわち、システム管理者が管理端末400に更新指示情報を操作入力すると、この更新指示情報が通信ネットワーク500を介して実計算機300に送信される。システム更新部303は、管理端末400から受信された更新指示情報に従って、たとえば、ソフトウェア・パッケージの導入、導入済みのソフトウェア・パッケージの更新、もしくは、導入済みのソフトウェア・パッケージの削除といった変更操作を実行することができる。“Updating a virtual machine” means adding a change operation such as introduction of an application program to an OS (operating system) operating on the virtual machine. System update unit 303 of the virtual on computer 301 1 in FIG. 1, according to the update instruction information from the management terminal 400 has a function to perform this change operation. That is, the system administrator operates enter an update instruction information to the management terminal 400, the update instruction information is transmitted through the communication network 500 to the real machine 300 1. In accordance with the update instruction information received from the management terminal 400, the system update unit 303 executes a change operation such as installation of a software package, update of an installed software package, or deletion of an installed software package, for example. can do.

ここで、ソフトウェア・パッケージ(以下、単に「パッケージ」と呼ぶ。)とは、ソフトウェアを導入(すなわち、インストール:install)、更新(すなわち、アップデートまたはアップグレード:update or upgrade)あるいは削除(delete or remove)する際の管理単位となるファイルの集合と、当該ファイルの集合に付随する依存関係情報とを包含するものである。依存関係情報とは、あるパッケージと、このパッケージを導入するために必要となる他のパッケージとの間の関係を示す情報である。あるいは、各パッケージが提供する機能(ケーパビリティ:capability)と、当該各パッケージが依存する機能との組み合わせによって依存関係情報を規定してもよい。このような依存関係情報を与えるパッケージ形式としては、たとえば、RPMやdpkgによる形式が知られている。RPMやdpkgは、それぞれ、ソフトウェア・パッケージの管理システムである。RPMとdpkgについては、たとえば、特許文献4(米国特許第7398524号明細書)に開示されている。   Here, a software package (hereinafter, simply referred to as “package”) refers to installation (ie, installation), update (ie, update or upgrade), or deletion (delete or remove) of software. It includes a set of files that serve as a management unit when performing the above and dependency information associated with the set of files. The dependency relationship information is information indicating a relationship between a certain package and another package necessary for introducing the package. Alternatively, the dependency relationship information may be defined by a combination of a function (capability) provided by each package and a function on which each package depends. As a package format for giving such dependency relationship information, for example, a format based on RPM or dpkg is known. RPM and dpkg are software package management systems, respectively. RPM and dpkg are disclosed in, for example, Patent Document 4 (US Pat. No. 7,398,524).

システム更新部303に限らず、仮想計算機301上で動作するOSや当該OS上で動作するアプリケーション・プログラムも変更操作を実行する場合がある。上述したように、システム更新部303は、仮想計算機301の実行環境の更新が実行されたときに、その更新情報を更新記録ファイル304に記録する機能を有する。Not only the system update unit 303, an application program running on the OS and the OS running on the virtual machine 301 1 even in some cases to perform the change operation. As described above, the system update unit 303, when an update of the virtual machine 301 1 execution environment is executed, it has a function of recording the update information in the update record file 304.

また、システム更新部303は、この更新情報を、システム管理者が読解可能な形式で更新記録ファイル304に追記する機能を有している。図2(A)および図2(B)は、更新記録ファイル304の内容の一例を概略的に示す図である。図2(A)は、6つのパッケージ(「base-5.00-0」,「admintool-4.2-2」,「monitor-3.0.1-4」,「database-6.2-2」,「backup-1.0-5」,「shopping-3.2-3」)の導入履歴が時刻順に記録された内容を示すものである。たとえば、図2(A)のファイル中の先頭行は、「base-5.00-0」という名前のパッケージを導入した記録を示している。   Further, the system update unit 303 has a function of adding the update information to the update record file 304 in a format that can be read by the system administrator. 2A and 2B are diagrams schematically showing an example of the contents of the update recording file 304. FIG. FIG. 2A shows six packages ("base-5.00-0", "admintool-4.2-2", "monitor-3.0.1-4", "database-6.2-2", "backup-1.0-" 5 ”,“ shopping-3.2-3 ”) shows the contents of the introduction history recorded in time order. For example, the first line in the file of FIG. 2A shows a record in which a package named “base-5.00-0” is introduced.

他方、図2(B)のファイルの先頭行から6行目までの内容は、図2(A)のファイルの内容と共通する。第7行では、導入済みのパッケージ「monitor-3.0.1-4」を、より新しい「monitor-3.0.1-5」に更新したことを示している。第8行では、新規に「cache-1.1.1-3」というパッケージを導入したことを示している。   On the other hand, the contents from the first line to the sixth line of the file in FIG. 2B are the same as the contents of the file in FIG. The seventh line indicates that the installed package “monitor-3.0.1-4” has been updated to a newer “monitor-3.0.1-5”. Line 8 shows that a new package "cache-1.1.1-3" has been introduced.

システム更新部303は、たとえば、パッケージ管理コマンドを呼び出すとともに、更新内容を更新記録ファイル304に追記する機能を有する上位プログラム(ラッパー:wrapper)により実現することができる。パッケージ管理コマンドとしては、たとえば、rpm、yum、dpkg、apt−getが知られている。rpmコマンドは、前述のパッケージ管理システムRPMを操作するためのコマンドであり、dpkgコマンドは、前述のパッケージ管理システムdpkgを操作するためのコマンドである。yumコマンドは、パッケージ管理システムRPMを呼び出すためのコマンドであり、apt−getコマンドは、パッケージ管理システムdpkgを呼び出すためのコマンドである。   The system update unit 303 can be realized by, for example, a higher-order program (wrapper) having a function of calling a package management command and additionally writing the update contents in the update record file 304. As package management commands, for example, rpm, yum, dpkg, and apt-get are known. The rpm command is a command for operating the above-described package management system RPM, and the dpkg command is a command for operating the above-described package management system dpkg. The yum command is a command for calling the package management system RPM, and the apt-get command is a command for calling the package management system dpkg.

次に、「仮想計算機情報の登録」というフェーズについて説明する。   Next, a phase called “virtual machine information registration” will be described.

「仮想計算機情報の登録」とは、ある時点における仮想計算機301に対応する仮想計算機情報を記憶装置200に格納する処理をいう。ここで、仮想計算機情報とは、仮想計算機301が内蔵する仮想ディスク装置の内容を表現するディスクイメージ(disk image)と、その仮想計算機301に対する更新履歴が記録される更新情報ファイル230と、その他、仮想計算機301に付随する情報とを包含するものである。“Registration of virtual machine information” refers to a process of storing virtual machine information corresponding to the virtual machine 301 i at a certain time in the storage device 200. Here, the virtual machine information, the disk image representing the contents of the virtual disk drive virtual machine 301 i is built (disk image), and the update information file 230 update history is recorded for the virtual machine 301 i, In addition, it includes information accompanying the virtual machine 301 i .

ディスクイメージと更新情報ファイル230以外の仮想計算機情報としては、たとえば、仮想計算機301の識別子(たとえば、仮想計算機301の名称)、仮想計算機301上のメモリ容量、導入されたオペレーティング・システム(OS)の名称がある。これらの情報は、システム管理者が、記憶装置200に格納しようとするディスクイメージによって表現される仮想計算機301がいかなる構成を有するかについて判断するために用いられる。The virtual machine information other than the disk image and update information file 230, for example, virtual machine 301 i identifier (e.g., the name of the virtual machine 301 i), the memory capacity of the virtual machine 301 i, introduced an operating system ( OS). These pieces of information are used by the system administrator to determine what configuration the virtual computer 301 i represented by the disk image to be stored in the storage device 200 has.

システム管理者は、管理端末400に対して、ある仮想計算機301のディスクイメージとその更新情報とを記憶装置200に格納する旨の指示情報を操作入力することができる。管理端末400は、この指示情報を仮想計算機管理サーバ100Aに送信する。仮想計算機管理サーバ100Aでは、更新情報格納制御部120が当該指示情報に応じて、仮想計算機301の更新情報を記憶装置200の更新情報ファイル230に記録するための制御を実行する。また、ディスクイメージ格納制御部110が当該指示情報に応じて、仮想計算機301のディスクイメージを記憶装置200に格納させる制御を実行する。The system administrator can input to the management terminal 400 instruction information for storing a disk image of a certain virtual machine 301 i and its update information in the storage device 200. The management terminal 400 transmits this instruction information to the virtual machine management server 100A. In the virtual machine management server 100A, the update information storage control unit 120 executes control for recording the update information of the virtual machine 301 i in the update information file 230 of the storage device 200 in accordance with the instruction information. Further, the disk image storage control unit 110 executes control to store the disk image of the virtual machine 301 i in the storage device 200 in accordance with the instruction information.

更に、ディスクイメージ格納制御部110は、仮想計算機情報管理テーブル210に新たなレコード(行)を追加する。ディスクイメージ格納制御部110は、実計算機300から送信された仮想計算機301のディスクイメージの識別子と、当該仮想計算機301に対応して用意された更新情報ファイル230の識別子とを関連付けてその新たなレコードに記録する。Further, the disk image storage control unit 110 adds a new record (row) to the virtual machine information management table 210. The disk image storage control unit 110 associates the identifier of the disk image of the virtual machine 301 i transmitted from the real machine 300 i with the identifier of the update information file 230 prepared corresponding to the virtual machine 301 i. Record in a new record.

図3は、仮想計算機情報の格納手順を示す通信シーケンスを概略的に示す図である。以下、図3に示されている各ステップに沿ってこの手順を詳細に説明する。   FIG. 3 is a diagram schematically showing a communication sequence showing a procedure for storing virtual computer information. Hereinafter, this procedure will be described in detail along the steps shown in FIG.

まず、システム管理者は、管理端末400を操作してこの管理端末400に対して仮想計算機情報格納の指示情報を入力する(ステップS121)。管理端末400は、この指示情報を仮想計算機管理サーバ100Aに送信する。仮想計算機管理サーバ100Aでは、更新情報格納制御部120がネットワーク・サービス・インターフェース140を介して当該指示情報を受け付ける。当該指示情報は、仮想計算機301の識別子(たとえば、仮想計算機301の名称)を指定するものであればよい。First, the system administrator operates the management terminal 400 to input virtual computer information storage instruction information to the management terminal 400 (step S121). The management terminal 400 transmits this instruction information to the virtual machine management server 100A. In the virtual machine management server 100A, the update information storage control unit 120 receives the instruction information via the network service interface 140. The instruction information only needs to specify the identifier of the virtual machine 301 i (for example, the name of the virtual machine 301 i ).

ステップS121でのシステム管理者による操作入力に先立って、システム管理者は、仮想計算機情報格納のための操作画面を呼び出すための操作を管理端末400に対して行う。この操作に応じて、管理端末400は、ネットワーク・サービス・インターフェース140から、操作画面を表示するための情報を取得する。本実施形態では、操作画面を呼び出すために、システム管理者は、管理端末400で起動されたウェブブラウザにURL(Uniform Resource Locator)を入力する操作を行う。この場合、操作画面を表示するための情報は、たとえば、HTML(Hypertext Markup Language)で記述されていればよい。   Prior to the operation input by the system administrator in step S121, the system administrator performs an operation on the management terminal 400 to call an operation screen for storing virtual machine information. In response to this operation, the management terminal 400 acquires information for displaying an operation screen from the network service interface 140. In this embodiment, in order to call up the operation screen, the system administrator performs an operation of inputting a URL (Uniform Resource Locator) to the web browser activated on the management terminal 400. In this case, the information for displaying the operation screen may be described in, for example, HTML (Hypertext Markup Language).

次に、更新情報格納制御部120は、与えられた識別子に対応する仮想計算機301上の更新記録送信部302に対して更新情報取得要求を送信する(ステップS122)。仮想計算機301の更新記録送信部302は、この更新情報取得要求に応じて、更新記録ファイル304に記録されている更新情報を送信する。この結果、更新情報格納制御部120は当該更新情報を取得する。Next, the update information storage control unit 120 transmits an update information acquisition request to the update record transmission unit 302 on the virtual machine 301 i corresponding to the given identifier (step S122). The update record transmission unit 302 of the virtual machine 301 i transmits the update information recorded in the update record file 304 in response to this update information acquisition request. As a result, the update information storage control unit 120 acquires the update information.

このステップS122が実行されるとき、当該仮想計算機301は稼動状態にある必要がある。図3には明確に示されていないが、当該仮想計算機301が停止状態にある場合には、更新情報取得要求の送信に先立って当該仮想計算機301の起動処理が実行される。この起動処理は、更新情報格納制御部120が仮想計算機制御部310に起動要求を送信することにより行われる。この起動要求に応じて、仮想計算機制御部310は当該仮想計算機301を起動することとなる。これにより、システム管理者は、実計算機300を直接操作または遠隔操作して当該実計算機300上に仮想計算機301を起動する必要がないので、システム管理者の負担が大幅に軽減される。When this step S122 is executed, the virtual machine 301 i needs to be in an operating state. Although not clearly shown in FIG. 3, when the virtual computer 301 i is in a stopped state, the virtual computer 301 i is activated prior to transmission of the update information acquisition request. This activation process is performed when the update information storage control unit 120 transmits an activation request to the virtual machine control unit 310 i . In response to this activation request, the virtual machine control unit 310 i activates the virtual machine 301 i . Thus, system administrators real machine 300 is not necessary to start the virtual machine 301 i to the real machine on 300 i directly operated or remotely to i, the burden of the system administrator is reduced significantly .

次に、更新情報格納制御部120は、記憶装置200を制御して、ステップS122で取得した更新情報を、記憶装置200の当該更新情報ファイル230に記録する(ステップS123)。当該更新情報ファイル230には、記憶装置200内で当該仮想計算機301に一意(ユニーク)な名称が付加されている。Next, the update information storage control unit 120 controls the storage device 200 to record the update information acquired in step S122 in the update information file 230 of the storage device 200 (step S123). In the update information file 230, a unique name is added to the virtual computer 301 i in the storage device 200.

更新情報ファイル230の名称は、たとえば、固定された先頭の文字列(プレフィックス:prefix)と、当該仮想計算機301の名称と、当該仮想計算機301の実行環境のバージョン(版)を示す番号(以下、「版番号」と呼ぶ。)とを結合することで与えられる。同一の仮想計算機の実行環境であっても、その内容は時間の経過とともに更新される。版番号は、ある時点における仮想計算機の実行環境を特定するための番号である。よって、版番号は、同一の仮想計算機において、ある時点における実行環境と別の時点における実行環境とを区別するものといえる。Name of the update information file 230, for example, fixed the beginning of the string (prefix: prefix) and, a number indicating the name of the virtual machine 301 i, version of the execution environment of the virtual machine 301 i a (plate) ( (Hereinafter referred to as “version number”). Even in the execution environment of the same virtual machine, its contents are updated as time passes. The version number is a number for specifying the execution environment of the virtual machine at a certain point in time. Therefore, it can be said that the version number distinguishes between an execution environment at a certain time and an execution environment at another time in the same virtual machine.

図2に、更新情報ファイル230の名称の例が示されている。この例では、先頭の文字列として「update」、仮想計算機の名称として「shopping」、版番号として「52」および「53」が用いられている。版番号(バージョン番号:version number)を、シーケンス番号(sequence number)あるいはリビジョン番号(revision number)と呼んでもよい。   An example of the name of the update information file 230 is shown in FIG. In this example, “update” is used as the first character string, “shopping” is used as the name of the virtual machine, and “52” and “53” are used as the version numbers. The version number (version number) may be called a sequence number or a revision number.

次に、更新情報格納制御部120は、ディスクイメージ格納制御部110に対してディスクイメージ格納要求を行う(ステップS124)。このディスクイメージ格納要求とともに、仮想計算機301の名称がディスクイメージ格納制御部110に与えられる。このディスクイメージ格納要求に応じて、ディスクイメージ格納制御部110は、ステップS111〜S123を実行する。Next, the update information storage control unit 120 makes a disk image storage request to the disk image storage control unit 110 (step S124). Along with this disk image storage request, the name of the virtual machine 301 i is given to the disk image storage control unit 110. In response to this disk image storage request, the disk image storage control unit 110 executes steps S111 to S123.

なお、本実施形態では、仮想計算機301のディスクイメージを記憶装置200に格納するために、更新情報格納制御部120がディスクイメージ格納要求を行うことでディスクイメージ格納制御部110を呼び出しているが、かかる形態に限定されるものではない。たとえば、ディスクイメージ格納制御部110が、更新情報格納制御部120により呼び出されることなく、仮想計算機格納要求(ステップS121)に応じて、ステップS111〜S123を実行してもよい。In this embodiment, in order to store the disk image of the virtual machine 301 i in the storage device 200, the update information storage control unit 120 calls the disk image storage control unit 110 by making a disk image storage request. However, the present invention is not limited to such a form. For example, the disk image storage control unit 110 may execute steps S111 to S123 in response to a virtual machine storage request (step S121) without being called by the update information storage control unit 120.

図3を参照すると、ステップS111では、ディスクイメージ格納制御部110は、当該仮想計算機301が構築されている実計算機300上の仮想計算機制御部310に対して仮想計算機停止要求を行う。この仮想計算機停止要求に応じて、仮想計算機制御部310は、当該仮想計算機301の動作を一時的に停止させる。ここで、当該仮想計算機301を一時的に停止させるのは、正確なディスクイメージを確実に取得するためである。仮想計算機301が稼働状態にあるとき、ディスクイメージの更新が行われるおそれがあるので、正確かつ完全なディスクイメージを取得できるとは限らない。仮想計算機301の動作を一時的に停止させることなく、正確かつ完全なディスクイメージを取得できるのであれば、仮想計算機301の動作を一時的に停止させる必要はない。Referring to FIG. 3, in step S111, the disk image storage control unit 110 makes a virtual machine stop request to the virtual machine control unit 310 i on the real machine 300 i in which the virtual machine 301 i is constructed. In response to the virtual machine stop request, the virtual machine control unit 310 i temporarily stops the operation of the virtual machine 301 i . Here, the reason why the virtual machine 301 i is temporarily stopped is to reliably acquire an accurate disk image. When the virtual machine 301 i is in the operating state, there is a possibility that the disk image is updated, so that an accurate and complete disk image cannot always be acquired. Without temporarily stopping the operation of the virtual machine 301 i, as long as it can acquire the accurate and complete disk image, it is not necessary to temporarily stop the operation of the virtual machine 301 i.

次に、ディスクイメージ格納制御部110は、実計算機300上の仮想計算機制御部310に対してディスクイメージ送信要求を送信する(ステップS112)。このディスクイメージ送信要求とともに、仮想計算機301の識別子(たとえば、仮想計算機301の名称)も仮想計算機制御部310に送信される。このディスクイメージ送信要求に応じて、仮想計算機制御部310は仮想計算機301のディスクイメージを送信することとなる。Next, the disk image storage control unit 110 transmits a disk image transmission request to the virtual machine control unit 310 i on the real computer 300 i (step S112). Along with this disk image transmission request, the identifier of the virtual machine 301 i (for example, the name of the virtual machine 301 i ) is also sent to the virtual machine controller 310 i . In response to this disk image transmission request, the virtual machine control unit 310 i transmits the disk image of the virtual machine 301 i .

なお、ディスクイメージの形式の一例として、VMwareにおけるVMDK形式が挙げられる。VMwareを含む多くの仮想計算機ソフトウェアでは、仮想計算機の内容を表現するために、ディスクイメージの他に不揮発メモリの内容(VMwareではnvramファイル)や仮想計算機設定ファイル(VMwareではvmxファイル)などの付随するファイルが必要である。それらの付随するファイルも、ディスクイメージの一部に含まれるものとする。   An example of the disk image format is the VMDK format in VMware. In many virtual machine software including VMware, in order to express the contents of the virtual machine, in addition to the disk image, contents of a nonvolatile memory (nvram file in VMware) and a virtual machine setting file (vmx file in VMware) are attached. A file is required. These accompanying files are also included as part of the disk image.

次に、ディスクイメージ格納制御部110は、記憶装置200を制御して、実計算機300から取得したディスクイメージを記憶装置200に格納する(ステップS113)。ここで、記憶装置200に格納されるディスクイメージ220には、記憶装置200内で当該仮想計算機301に一意なファイル名が付与される。Next, the disk image storage control unit 110 controls the storage device 200 to store the disk image acquired from the real computer 300 i in the storage device 200 (step S113). Here, a unique file name is assigned to the virtual computer 301 i in the storage device 200 to the disk image 220 stored in the storage device 200.

ディスクイメージ220の識別子であるファイル名は、たとえば、固定された先頭の文字列と、当該仮想計算機301の名称と、版番号とを連結することで与えられる。図4には、このようにして与えられたファイル名(ディスクイメージ名)が例示されている。版番号(バージョン番号)として、更新情報ファイル230に付与される版番号と同一のものを用いる場合、ステップS124におけるディスクイメージ格納要求とともに、仮想計算機301の識別子に加えて版番号もディスクイメージ格納制御部110に与えればよい。The file name that is the identifier of the disk image 220 is given by, for example, concatenating a fixed leading character string, the name of the virtual computer 301 i , and the version number. FIG. 4 exemplifies the file name (disk image name) given in this way. As Version number (version number), the case of using the same as the version number assigned to the update information file 230, together with the disk image storage request in step S124, the version number is also stored disc image in addition to the identifier of the virtual machine 301 i What is necessary is just to give to the control part 110.

上記のステップS111〜S113までの処理が完了すると、更新情報格納制御部120に制御が復帰する。   When the processing from steps S111 to S113 is completed, control returns to the update information storage control unit 120.

その後、更新情報格納制御部120は、仮想計算機情報を記憶装置200に格納する(ステップS125)。すなわち、更新情報格納制御部120は、記憶装置200に格納された更新情報ファイル230の識別子と、仮想計算機301のディスクイメージ220の識別子と、仮想計算機301の識別子と、仮想計算機301の版番号とを関連付けて仮想計算機情報管理テーブル210に追記する。このとき、更新情報格納制御部120は、仮想計算機情報管理テーブル210に新規レコードを設けて、この新規レコードに、更新情報ファイル230の識別子と、ディスクイメージ220の識別子と、仮想計算機301の識別子と、仮想計算機301の版番号とを記録する。Thereafter, the update information storage control unit 120 stores the virtual computer information in the storage device 200 (step S125). That is, the update information storage control unit 120, the identifier of the update information file 230 stored in the storage unit 200, the identifier of the disk image 220 of the virtual machine 301 i, the identifier of the virtual machine 301 i, the virtual machine 301 i of The version number is associated and added to the virtual machine information management table 210. At this time, the update information storage control unit 120 provides a new record in the virtual machine information management table 210, and in this new record, the identifier of the update information file 230, the identifier of the disk image 220, and the identifier of the virtual machine 301 i And the version number of the virtual machine 301 i are recorded.

ここで、前述の新規レコードは、仮想計算機301の識別子(名称とその版番号)で一意に識別される必要がある。また、たとえば、ステップ112で取得したイメージファイルに付随するファイルに含まれる、仮想計算機301を特定するのに寄与する任意の情報を新規レコードに追加してもよい。Here, the above-mentioned new record needs to be uniquely identified by the identifier (name and its version number) of the virtual machine 301 i . Further, for example, any information included in the file accompanying the image file acquired in step 112 and contributing to specifying the virtual machine 301 i may be added to the new record.

本実施形態では、図3に示した一連の動作手順において、ディスクイメージ220の識別子と、更新情報ファイル230の識別子と、仮想計算機情報管理テーブル210に追加される新規レコードとに、共通の版番号が付与される。更に、その新規レコードには、付加的な情報として、当該仮想計算機301上で動作するオペレーティング・システムの名称(OS名)と、仮想計算機301に割り当てられる物理メモリ量の情報とを含めることができる。In this embodiment, in the series of operation procedures shown in FIG. 3, the version number common to the identifier of the disk image 220, the identifier of the update information file 230, and the new record added to the virtual machine information management table 210 is shared. Is granted. Furthermore, its new record, as additional information, to include the name of the operating system operating in the virtual machine on 301 i (OS name), a physical memory capacity of information assigned to the virtual machine 301 i Can do.

図4は、仮想計算機情報管理テーブル210の内容の一例を示す図である。図4に示されるように、テーブルの各レコード(行)に、「仮想計算機の名称」、「版番号」、「ディスクイメージ名」および「更新情報ファイルの名称」に加えて、「OS名」および「物理メモリ量」という付加情報が記録されている。また、「shop」という同一名称を含む2つのレコードがあるが、これらレコードのうち一方のレコードの版番号は「52」であり、他方のレコードの版番号は「53」である。よって、版番号の異なる2種類のディスクイメージに関する情報が記録されている。   FIG. 4 is a diagram illustrating an example of the contents of the virtual machine information management table 210. As shown in FIG. 4, in addition to “virtual machine name”, “version number”, “disk image name”, and “update information file name”, “OS name” is added to each record (row) of the table. In addition, additional information “physical memory amount” is recorded. In addition, there are two records including the same name “shop”. Among these records, the version number of one record is “52”, and the version number of the other record is “53”. Therefore, information on two types of disc images with different version numbers is recorded.

次に、「仮想計算機情報の参照」というフェーズについて説明する。   Next, a phase called “reference to virtual machine information” will be described.

「仮想計算機情報の参照」とは、仮想計算機管理サーバ100Aの更新情報比較部130が記憶装置200に格納された更新情報ファイル230の内容を比較し、その結果を出力することによって行われる。すなわち、仮想計算機情報の参照は、記憶装置200中の仮想計算機情報管理テーブル210の内容と更新情報ファイル230の内容とから、記憶装置200に格納されたディスクイメージ220についての情報を、人間が理解可能な形で参照する操作をいう。   “Reference to virtual machine information” is performed by the update information comparison unit 130 of the virtual machine management server 100A comparing the contents of the update information file 230 stored in the storage device 200 and outputting the result. That is, referring to the virtual machine information, a person understands the information about the disk image 220 stored in the storage device 200 from the contents of the virtual machine information management table 210 in the storage device 200 and the contents of the update information file 230. An operation that is referred to in a possible manner.

システム管理者は、管理端末400を操作して仮想計算機管理サーバ100に対する指示情報を入力することで、記憶装置200に格納された仮想計算機情報を参照することができる。システム管理者は、仮想計算機情報の参照用の操作画面を呼び出すための操作(たとえば、ウェブブラウザに対するURLの入力)を管理端末400に対して行う。この操作に対して、管理端末400は、ネットワーク・サービス・インターフェース140から、該当する操作画面を表示するための情報(たとえば、HTML文書)を取得する。   The system administrator can refer to virtual machine information stored in the storage device 200 by operating the management terminal 400 and inputting instruction information for the virtual machine management server 100. The system administrator performs an operation (for example, input of URL to the web browser) for calling the operation screen for referring to the virtual machine information on the management terminal 400. In response to this operation, the management terminal 400 acquires information (for example, an HTML document) for displaying the corresponding operation screen from the network service interface 140.

仮想計算機管理サーバ100Aでは、管理端末400から、2つの仮想計算機301,300(i≠j)の実行環境の比較に関する指示情報を受信した場合、更新情報比較部130は、それら2つの仮想計算機301,300にそれぞれ対応する更新情報ファイル230,230の内容比較を行い、その結果をネットワーク・サービス・インターフェース140に出力する。In the virtual machine management server 100A, when the instruction information regarding the comparison of the execution environments of the two virtual machines 301 i and 300 j (i ≠ j) is received from the management terminal 400, the update information comparison unit 130 displays the two virtual machines 301 i and 300 j (i ≠ j). The contents of the update information files 230 and 230 corresponding to the computers 301 i and 300 j are compared, and the result is output to the network service interface 140.

また、仮想計算機情報の参照については、単一のディスクイメージ220に関する情報をその対象とする場合と、異なる2つのディスクイメージ220,220の情報を相互比較する場合とがある。2つのディスクイメージ220,220の情報を相互比較する場合は、更に、異なる2つの仮想計算機301,301(i≠j)を比較する場合と、同一の仮想計算機301についての異なる版(バージョン)を比較する場合に分けられる。In addition, referring to the virtual machine information, there are a case where information on a single disk image 220 is targeted, and a case where information on two different disk images 220 and 220 are compared with each other. When the information of the two disk images 220 and 220 is compared with each other, when two different virtual machines 301 i and 301 j (i ≠ j) are compared, different versions of the same virtual machine 301 i ( Version).

単一のディスクイメージ220を比較対象とした仮想計算機情報の参照を行う場合、管理端末400から更新情報比較部130に対して、仮想計算機301の名称とその版番号との対が渡される。これに対して、更新情報比較部130は、仮想計算機情報管理テーブル210から該当するレコードを取得するとともに、そのレコード中に含まれる更新情報ファイル名に対応する更新情報ファイル230の内容を読み取り、当該内容をネットワーク・サービス・インターフェース140を介して管理端末400に送信する。管理端末400は、指定された仮想計算機301と版番号の対に対応するディスクイメージに関する情報を、人間に理解可能な形で表示する。When referring to virtual machine information with a single disk image 220 as a comparison target, a pair of the name of the virtual machine 301 i and its version number is passed from the management terminal 400 to the update information comparison unit 130. On the other hand, the update information comparison unit 130 acquires the corresponding record from the virtual machine information management table 210, reads the content of the update information file 230 corresponding to the update information file name included in the record, and The contents are transmitted to the management terminal 400 via the network service interface 140. The management terminal 400 displays information related to the disk image corresponding to the specified virtual machine 301 i and version number pair in a form understandable to humans.

一方、異なる2つのディスクイメージ220,220を比較対象とした仮想計算機情報の比較を行う場合、システム管理者は、管理端末400を操作して比較対象のディスクイメージ220,220を指定する指示情報を入力する。この指示情報は、ネットワーク・サービス・インターフェース140を介して更新情報比較部130に送信される。   On the other hand, when comparing virtual machine information using two different disk images 220 and 220 as comparison targets, the system administrator operates the management terminal 400 to provide instruction information for specifying the comparison target disk images 220 and 220. input. This instruction information is transmitted to the update information comparison unit 130 via the network service interface 140.

図5は、比較対象であるディスクイメージを指定するための操作画面の一例を示す図である。図5では、記憶装置200に格納されるディスクイメージ220,...がそれぞれ箱(ボックス)11R,12A,12B,12C,12D,13として表示されている。また、これら箱11R,12A,12B,12C,12D,13のラベルとして仮想計算機名と版番号が表示される。更に、ディスクイメージ間の派生関係が矢印で図示されている。たとえば、「rails 版番号24」、「blog 版番号29」、「shop 版番号52」、「wiki、版番号19」の4つのディスクイメージは、どれも「base_os、版番号1」を元に作成されたものであることが示されている。このような派生関係を表示するためには、記憶装置200中に、事前にディスクイメージ間の派生関係を格納しておく必要がある。この情報を与える方法の1つは、図3のステップS121の時点で、格納対象のディスクイメージがどのディスクイメージから派生したかという情報を、システム管理者が操作入力により指定するというものである。   FIG. 5 is a diagram illustrating an example of an operation screen for designating a disk image to be compared. In FIG. 5, the disk images 220,... Stored in the storage device 200 are displayed as boxes 11R, 12A, 12B, 12C, 12D, and 13, respectively. In addition, virtual machine names and version numbers are displayed as labels of the boxes 11R, 12A, 12B, 12C, 12D, and 13. Furthermore, the derivation relationship between the disk images is illustrated by arrows. For example, the four disc images “rails version number 24”, “blog version number 29”, “shop version number 52”, “wiki, version number 19” are all created based on “base_os, version number 1”. It has been shown that In order to display such a derivation relationship, it is necessary to store the derivation relationship between disk images in the storage device 200 in advance. One method of giving this information is that the system administrator designates information indicating from which disk image the storage target disk image is derived at the time of step S121 in FIG.

あるいは、ディスクイメージの派生関係を以下の手順に従って自動的に生成することができる。図3のステップS112において、仮想計算機制御部310が仮想計算機301のディスクイメージを送信する際に、当該ディスクイメージに対応する仮想計算機301の識別子(名称と版番号)が更新情報格納制御部120に送信される。この識別子に基づいて、更新情報格納制御部120は、仮想計算機301の現在のディスクイメージの版と、当該仮想計算機301の以前のディスクイメージの版とを関連付けて派生関係を生成する。具体的には、仮想計算機情報管理テーブル210の各レコードに派生元の仮想計算機を示す識別子(名称と版番号)を記録することができる。たとえば、図4に示す仮想計算機情報管理テーブル210に、派生元情報(派生元の仮想計算機を示す識別子)を記録するためのカラム(フィールド)を設け、このカラムに派生元情報を記録すればよい。この場合、「shop-53.img」のディスクイメージ名のレコードには、派生元情報として、仮想計算機の名称「shop」と版番号「52」とを記録することができる。また、「rails-24.img」や「blog-29.img」や「shop-52.img」や「wiki-19.img」のディスクイメージ名のレコードには、それぞれ、派生元情報として、当初導入された仮想計算機の名称「base_os」と版番号「1」とを記録することができる。Alternatively, a disc image derivation relationship can be automatically generated according to the following procedure. When the virtual machine control unit 310 i transmits the disk image of the virtual machine 301 i in step S112 of FIG. 3, the identifier (name and version number) of the virtual machine 301 i corresponding to the disk image is updated information storage control. Is transmitted to the unit 120. Based on this identifier, the update information storage control unit 120 generates a derivation relationship associates a plate of current disk image of the virtual machine 301 i, and a version of the previous disk image of the virtual machine 301 i. Specifically, an identifier (name and version number) indicating a derivation source virtual machine can be recorded in each record of the virtual machine information management table 210. For example, the virtual machine information management table 210 shown in FIG. 4 may be provided with a column (field) for recording derivation source information (identifier indicating the derivation source virtual machine), and the derivation source information may be recorded in this column. . In this case, in the disc image name record of “shop-53.img”, the name “shop” of the virtual machine and the version number “52” can be recorded as derivation source information. In addition, the disc image name records such as “rails-24.img”, “blog-29.img”, “shop-52.img”, and “wiki-19.img” are the origin information, respectively. The name “base_os” and the version number “1” of the installed virtual machine can be recorded.

システム管理者は、図5に示される操作画面を確認しつつ、ポインティングデバイスなどの入力装置を操作してディスクイメージに対応する箱11R,12A,12B,12C,12D,13のいずれかを指定することで、比較対象のディスクイメージを指定することができる。より具体的には、システム管理者は、ポインティングデバイスを操作して1つのディスクイメージに対応する箱をクリックした後、続いて、操作画面下部の「指定」ボタン15Aをクリックすることで、比較対象のディスクイメージの一方を指定する。同様の手順で、システム管理者は、ポインティングデバイスを操作して1つのディスクイメージに対応する箱をクリックした後、続いて、操作画面下部の「指定」ボタン15Bをクリックすることで、比較対象のディスクイメージの他方を指定する。その後、システム管理者は、「決定」ボタン16を選択することで、管理端末400から更新情報比較部130に対して仮想計算機情報比較要求が送られる。この仮想計算機比較要求には、比較対象の2つのディスクイメージについての仮想計算機名と版番号が含まれている。   The system administrator operates the input device such as a pointing device while checking the operation screen shown in FIG. 5 and designates one of the boxes 11R, 12A, 12B, 12C, 12D, and 13 corresponding to the disk image. Thus, it is possible to specify a disk image to be compared. More specifically, the system administrator operates the pointing device, clicks a box corresponding to one disk image, and then clicks a “designate” button 15A at the bottom of the operation screen to compare objects. Specifies one of the disk images. In the same procedure, the system administrator operates the pointing device, clicks the box corresponding to one disk image, and then clicks the “designate” button 15B at the bottom of the operation screen, so that the comparison target Specifies the other disk image. Thereafter, the system administrator selects the “decision” button 16, thereby sending a virtual computer information comparison request from the management terminal 400 to the update information comparison unit 130. This virtual machine comparison request includes the virtual machine name and version number for the two disk images to be compared.

仮想計算機情報比較要求を受け取った更新情報比較部130は、仮想計算機情報管理テーブル210を参照して、比較対象の2つのディスクイメージに対応するレコードを抽出する。更に、更新情報比較部130は、それらのレコードに含まれる更新情報ファイル名の情報から、2つのディスクイメージにそれぞれ対応する更新情報ファイル230,230の内容を読み出す。最後に、更新情報比較部130は、2つのディスクイメージの間で、取得したレコード間の差分と更新情報ファイル230,230間の差分とを検出して、この検出結果をネットワーク・サービス・インターフェース140を介して管理端末400に送信する。   The update information comparison unit 130 that has received the virtual machine information comparison request refers to the virtual machine information management table 210 and extracts records corresponding to the two disk images to be compared. Furthermore, the update information comparison unit 130 reads the contents of the update information files 230 and 230 respectively corresponding to the two disk images from the information of the update information file names included in these records. Finally, the update information comparison unit 130 detects the difference between the acquired records and the difference between the update information files 230 and 230 between the two disk images, and uses this detection result as the network service interface 140. To the management terminal 400.

レコード間の差分と更新情報ファイル230,230間の差分の検出は、たとえば、単純な文字列比較で行われる。図6は、文字列比較による差分検出に基づく比較結果の一例を示す図である。この例は、図5の操作画面において、比較対象のディスクイメージとして「shop 版番号52」と「shop 版番号53」を指定した場合に相当する。仮想計算機情報管理テーブル210の内容が図4の内容であったとすると、「shop 版番号52」と「shop 版番号53」との間の相違点は、ディスクイメージ名と更新情報ファイル名のみである。次に、これらのレコードに含まれる更新情報ファイル名に相当する更新情報ファイル230,230の内容がそれぞれ図2(A),(B)の内容であったとすると、両者の差分は、「shop 版番号53」に含まれる最後の2行である。この結果、管理端末400には、比較結果として、パッケージ「monitor-3.0.1-5」の更新(update)と、パッケージ「cache-1.1.1-3」の導入(install)という事項が表示される。   The difference between the records and the difference between the update information files 230 and 230 are detected by, for example, simple character string comparison. FIG. 6 is a diagram illustrating an example of a comparison result based on difference detection by character string comparison. This example corresponds to the case where “shop version number 52” and “shop version number 53” are designated as the disc images to be compared on the operation screen of FIG. If the contents of the virtual machine information management table 210 are the contents of FIG. 4, the difference between “shop version number 52” and “shop version number 53” is only the disk image name and the update information file name. . Next, assuming that the contents of the update information files 230 and 230 corresponding to the update information file names included in these records are the contents of FIGS. 2A and 2B, respectively, the difference between them is “shop version”. The last two lines included in the number 53 ”. As a result, the management terminal 400 displays, as comparison results, the update (update) of the package “monitor-3.0.1-5” and the installation (install) of the package “cache-1.1.1-3”. The

上記第1の実施形態の仮想計算機管理システムが奏する効果は以下の通りである。   The effects exhibited by the virtual machine management system of the first embodiment are as follows.

上述したように、仮想計算機301〜301の各々では、システム更新部303は、自らの実行環境の更新が行われたときに当該更新の内容を示す更新情報を更新記録ファイル304という形で保存し、また、更新記録送信部302は、更新記録ファイル304に記録されている更新情報を仮想計算機管理サーバ100Aに提供する。仮想計算機管理サーバ100Aは、仮想計算機301〜301から送信された更新情報を、それぞれ対応する更新情報ファイル230,...に記録する。よって、更新情報比較部130は、更新情報ファイル230の更新情報に基づいて、仮想計算機301〜301の更新状況を示すデータを生成することができる。As described above, in each of the virtual machines 301 1 to 301 N , the system update unit 303 updates the update information indicating the contents of the update in the form of the update record file 304 when its own execution environment is updated. The update record transmission unit 302 stores the update information recorded in the update record file 304 to the virtual machine management server 100A. The virtual machine management server 100A records the update information transmitted from the virtual machines 301 1 to 301 N in the corresponding update information files 230,. Therefore, the update information comparison unit 130 can generate data indicating the update status of the virtual machines 301 1 to 301 N based on the update information of the update information file 230.

したがって、本実施形態の仮想計算機管理システムは、通信ネットワーク500上に分散している多数の仮想計算機301〜301の実行環境に関する正確な詳細情報を取得することができ、当該実行環境の更新状況を示すデータをシステム管理者に提供することができる。それ故、システム管理者の管理負担が大幅に軽減される。Therefore, the virtual machine management system according to the present embodiment can acquire accurate detailed information related to the execution environments of a large number of virtual machines 301 1 to 301 N distributed on the communication network 500, and updates the execution environment. Data indicating the situation can be provided to the system administrator. Therefore, the management burden on the system administrator is greatly reduced.

また、ディスクイメージ格納制御部110は、ディスクイメージ220の識別子と、当該ディスクイメージ220を有する仮想計算機301に対応して用意された更新情報ファイル230の識別子とを関連付けて仮想計算機情報管理テーブル210に記録する。更新情報比較部130は、この仮想計算機情報管理テーブル210を利用して、同一のディスクイメージ220の更新履歴を示すデータ、あるいは、異なる2つのディスクイメージ220,220間の差分を示すデータを生成することができる。その更新履歴や差分を示すデータに基づいて、システム管理者は、ネットワーク・サービス・インターフェース140を通じて、仮想計算機301〜301の実行環境の更新状況を素早くかつ容易に把握することができる。Further, the disk image storage control unit 110 associates the identifier of the disk image 220 with the identifier of the update information file 230 prepared corresponding to the virtual computer 301 i having the disk image 220, and manages the virtual computer information management table 210. To record. The update information comparison unit 130 uses this virtual machine information management table 210 to generate data indicating the update history of the same disk image 220 or data indicating the difference between two different disk images 220 and 220. be able to. Based on the update history and data indicating the difference, the system administrator can quickly and easily grasp the update status of the execution environments of the virtual machines 301 1 to 301 N through the network service interface 140.

(第2の実施形態)
次に、本発明に係る第2の実施形態について説明する。図7は、第2の実施形態の仮想計算機管理システムの概略構成を示す機能ブロック図である。この仮想計算機管理システムは、複数の実計算機320〜320と、仮想計算機管理サーバ(Virtual Machine Management Server)100Bと、記憶装置200と、管理端末400とを備えている。これら実計算機320〜320、仮想計算機管理サーバ100B、記憶装置200および管理端末400は、通信ネットワーク500を介して相互に接続されている。
(Second Embodiment)
Next, a second embodiment according to the present invention will be described. FIG. 7 is a functional block diagram illustrating a schematic configuration of the virtual machine management system according to the second embodiment. This virtual machine management system includes a plurality of real machines 320 1 to 320 N , a virtual machine management server 100 B, a storage device 200, and a management terminal 400. The real computers 320 1 to 320 N , the virtual computer management server 100B, the storage device 200, and the management terminal 400 are connected to each other via a communication network 500.

実計算機320〜320の各々は、少なくとも1台の仮想計算機を有する。図7に示されるように、実計算機320は、仮想計算機制御部330を有しており、この仮想計算機制御部330の制御下で実計算機320上に仮想計算機305が構築されている。他の実計算機320〜320も、実計算機320と同様の構成を有している。すなわち、実計算機320〜320は、それぞれ、仮想計算機制御部330〜330の制御下で構築された仮想計算機321〜321を有している。仮想計算機管理サーバ100Bは、通信ネットワーク500を介して実計算機320〜320上の仮想計算機群を遠隔管理する機能を有している。Each of the real computers 320 1 to 320 N has at least one virtual computer. As shown in FIG. 7, the real computer 320 1 has a virtual computer control unit 330 1 , and the virtual computer 305 1 is constructed on the real computer 320 1 under the control of the virtual computer control unit 330 1. ing. The other real computers 320 2 to 320 N also have the same configuration as the real computer 320 1 . That is, the real machine 320 2 to 320 N has respectively, a virtual machine 321 2 to 321 N built under the control of the virtual machine control unit 330 2 to 330 N. The virtual machine management server 100B has a function of remotely managing a virtual machine group on the real machines 320 1 to 320 N via the communication network 500.

仮想計算機制御部330は、実計算機320の記憶装置(図示せず)に記憶されているディスクイメージや構成ファイル群に基づいて仮想計算機321を論理的に構成する機能を有する。仮想計算機制御部330〜330も、仮想計算機制御部330と同様の機能を有する。仮想計算機制御部330は、上記第1の実施形態の仮想計算機制御部310(図1)と同様に、実計算機320上で動作するホスト・オペレーティング・システム(ホストOS)あるいは仮想計算機モニタ(VMM:Virtual Machine Monitor)である。また、実計算機320〜320のハードウェア構成は、上記第1の実施形態の実計算機300〜300と同様の物理資源によって構成され得る。Virtual computer control unit 330 1 has a function of constructing a virtual machine 321 1 logically based on the real machine 320 1 storage disk image stored in the (not shown) and configuration files. The virtual machine control units 330 2 to 330 N also have the same functions as the virtual machine control unit 330 1 . Similar to the virtual computer control unit 310 1 (FIG. 1) of the first embodiment, the virtual computer control unit 330 1 is a host operating system (host OS) or virtual computer monitor operating on the real computer 320 1. (VMM: Virtual Machine Monitor). The hardware configuration of the real computers 320 1 to 320 N can be configured by physical resources similar to those of the real computers 300 1 to 300 N of the first embodiment.

仮想計算機321は、パッケージ情報送信部305を有する。パッケージ情報送信部305は、仮想計算機321の実行環境を構築するために導入された複数のソフトウェア・パッケージの識別情報(たとえば、当該ソフトウェア・パッケージの名称)と、当該ソフトウェア・パッケージの相互依存関係を示す依存関係情報とをパッケージ情報として仮想計算機管理サーバ100Bに送信する機能を有する。Virtual machine 321 1 includes a package information transmitting unit 305. Package information transmitting unit 305, the virtual machine 321 first identification information of a plurality of software packages introduced to construct the execution environment (e.g., the name of the software package) and, interdependence of the software package And the dependency relation information indicating that the package information is transmitted to the virtual machine management server 100B.

仮想計算機321を制御する仮想計算機制御部330は、ディスクイメージ送信部330Aを有している。このディスクイメージ送信部330Aは、仮想計算機管理サーバ100Bからのディスクイメージ格納要求に応じて、実計算機320のディスクイメージを読み出し、これを記憶装置200に送信する機能を有する。Virtual computer control unit 330 1 for controlling the virtual machine 321 1 has a disk image transmitting unit 330A. The disk image transmitting unit 330A, in accordance with the disk image storage request from the virtual machine management server 100B, reads the disk image of the real machine 320 1, has a function of transmitting it to the storage device 200.

一方、仮想計算機管理サーバ100Bは、ディスクイメージ格納制御部110、パッケージ情報格納制御部150、パッケージ情報比較部160およびネットワーク・サービス・インターフェース140を有する。仮想計算機管理サーバ100Bの構成の全部または一部は、ハードウェアで実現されてもよいし、あるいは、コンピュータのプロセッサに処理を実行させるコンピュータプログラム(またはプログラムコード)で実現されてもよい。仮想計算機管理サーバ100Bの構成要素110,150,160,140の機能がコンピュータプログラムで実現される場合、プロセッサは、不揮発性メモリなどの記録媒体からそのコンピュータプログラムを読み出し実行する。   On the other hand, the virtual machine management server 100B includes a disk image storage control unit 110, a package information storage control unit 150, a package information comparison unit 160, and a network service interface 140. All or part of the configuration of the virtual machine management server 100B may be realized by hardware, or may be realized by a computer program (or program code) that causes a processor of a computer to execute processing. When the functions of the components 110, 150, 160, and 140 of the virtual machine management server 100B are realized by a computer program, the processor reads the computer program from a recording medium such as a nonvolatile memory and executes it.

記憶装置200は、仮想計算機管理サーバ100Bによって格納または参照されるディスクイメージ、パッケージ情報および仮想計算機情報を保持する。記憶装置200には、実計算機320〜320上の多数の仮想計算機321〜321にそれぞれ対応して用意されたパッケージリスト250,...が格納されている。ここで、パッケージリスト250は、パッケージ情報の一種であり、記憶装置200に格納された各ディスクイメージ220について、そのディスクイメージ220中に導入済みのパッケージの名称からなるリストである。The storage device 200 holds disk images, package information, and virtual computer information that are stored or referenced by the virtual computer management server 100B. The storage device 200 stores package lists 250,... Prepared corresponding to the large number of virtual machines 321 1 to 321 N on the real computers 320 1 to 320 N , respectively. Here, the package list 250 is a kind of package information, and is a list including the names of packages already installed in the disk image 220 for each disk image 220 stored in the storage device 200.

また、記憶装置200には、パッケージ情報データベース240が格納されている。このパッケージ情報データベース240の詳細は後述する。   Further, the storage device 200 stores a package information database 240. Details of the package information database 240 will be described later.

また、記憶装置200は、実計算機320〜320から送信されたディスクイメージ220,...を格納するための記憶領域を有している。上述した通り、ディスクイメージ格納制御部110は、記憶装置200を制御して、実計算機320から送信されたディスクイメージを当該記憶領域に格納する。The storage device 200 has a storage area for storing the disk images 220,... Transmitted from the real computers 320 1 to 320 N. As described above, the disk image storage control unit 110 controls the storage unit 200 stores the disk image transmitted from the real machine 320 1 to the storage area.

更に、記憶装置200には、仮想計算機情報管理テーブル210Bが格納されている。仮想計算機情報管理テーブル210Bには、仮想計算機管理サーバ100Bの管理下にある仮想計算機321〜321に関する情報(メタデータ)が記録されている。ディスクイメージ格納制御部110は、実計算機320(iは1〜Nのうちのいずれか)から送信された仮想計算機321のディスクイメージの識別子(たとえば、当該ディスクイメージの名称を表すデータ)と、当該仮想計算機321に対応するパッケージ情報とを関連付けて仮想計算機情報管理テーブル210Bに記録することができる。Further, the storage device 200 stores a virtual computer information management table 210B. In the virtual machine information management table 210B, information (metadata) related to the virtual machines 321 1 to 321 N under the management of the virtual machine management server 100B is recorded. The disk image storage control unit 110 includes a disk image identifier (for example, data representing the name of the disk image) of the virtual machine 321 i transmitted from the real computer 320 i (i is one of 1 to N). The package information corresponding to the virtual machine 321 i can be associated and recorded in the virtual machine information management table 210B.

パッケージ情報比較部160は、ネットワーク・サービス・インターフェース140からの要求や問い合わせに基づいて、仮想計算機情報管理テーブル210Bを参照して比較対象となるディスクイメージに対応するパッケージ情報を選択する。パッケージ情報比較部160は、選択したパッケージ情報を比較して、単一または複数の仮想計算機の実行環境の更新状況を示すデータを生成する。   Based on a request or inquiry from the network service interface 140, the package information comparison unit 160 refers to the virtual machine information management table 210B and selects package information corresponding to a disk image to be compared. The package information comparison unit 160 compares the selected package information and generates data indicating the update status of the execution environment of a single virtual machine or a plurality of virtual machines.

第2の実施形態では、ネットワーク・サービス・インターフェース140は、管理端末400とパッケージ情報比較部160との間、あるいは、管理端末400とパッケージ情報格納制御部150との間で情報をやりとりするためのインターフェースである。   In the second embodiment, the network service interface 140 is used for exchanging information between the management terminal 400 and the package information comparison unit 160, or between the management terminal 400 and the package information storage control unit 150. Interface.

システム管理者は、管理端末400を操作して仮想計算機管理サーバ100Bに対する指示情報を入力することができる。この指示情報は、通信ネットワーク500を介してネットワーク・サービス・インターフェース140に送信される。ネットワーク・サービス・インターフェース140は、当該指示情報に基づいた要求や問い合わせをパッケージ情報比較部160やパッケージ情報格納制御部150に対して行う。パッケージ情報比較部160またはパッケージ情報格納制御部150は、当該問い合わせや要求に応じた処理を実行し、その実行結果をネットワーク・サービス・インターフェース140に返す。そして、ネットワーク・サービス・インターフェース140は、その実行結果を、当該指示情報に対する応答結果として管理端末400に返信することとなる。   The system administrator can operate the management terminal 400 to input instruction information for the virtual machine management server 100B. This instruction information is transmitted to the network service interface 140 via the communication network 500. The network service interface 140 makes a request or inquiry based on the instruction information to the package information comparison unit 160 or the package information storage control unit 150. The package information comparison unit 160 or the package information storage control unit 150 executes processing according to the inquiry or request, and returns the execution result to the network service interface 140. Then, the network service interface 140 returns the execution result to the management terminal 400 as a response result to the instruction information.

パッケージ情報格納制御部150は、記憶装置200を制御して、仮想計算機321から送信されたパッケージ情報(ディスクイメージに導入済みのパッケージに関する情報を含む。)を、当該仮想計算機321に対応して用意されたパッケージリスト250に記録する。The package information storage control unit 150 controls the storage device 200 so that the package information transmitted from the virtual machine 321 i (including information related to the package already installed in the disk image) corresponds to the virtual machine 321 i. And recorded in the prepared package list 250.

パッケージ情報データベース240は、記憶装置200に格納された1つ以上のディスクイメージ220について、それらのディスクイメージ中に導入済みのパッケージの名称および依存関係情報を含むパッケージ情報を格納するデータベースである。   The package information database 240 is a database that stores, for one or more disk images 220 stored in the storage device 200, package information including the names of packages already installed in the disk images and dependency information.

以上の構成を有する仮想計算機管理システムの動作について以下に説明する。第1の実施形態の場合と同様に、第2の実施形態の仮想計算機管理システムは、1)仮想計算機の更新、2)仮想計算機情報の登録、3)仮想計算機情報の参照、という3つの相(フェーズ)で動作する。   The operation of the virtual machine management system having the above configuration will be described below. As in the case of the first embodiment, the virtual machine management system of the second embodiment has three phases: 1) update of virtual machine, 2) registration of virtual machine information, and 3) reference of virtual machine information. Operates in (phase).

「仮想計算機の更新」のフェーズでは、上記第1の実施形態と同様に、仮想計算機321〜321上で動作するOSにアプリケーション・プログラムの導入などの変更操作が加えられる。第2の実施形態では、この更新の際に、仮想計算機321〜321上のOSに用意されたパッケージ管理機能が使用される。In the “update virtual machine” phase, a change operation such as introduction of an application program is added to the OS running on the virtual machines 321 1 to 321 N , as in the first embodiment. In the second embodiment, the package management function prepared in the OS on the virtual machines 321 1 to 321 N is used for this update.

次に、「仮想計算機情報の登録」のフェーズでは、ある時点における仮想計算機321に対応する仮想計算機情報(パッケージ情報を含む。)が記憶装置200に格納される。Next, in the “virtual machine information registration” phase, virtual machine information (including package information) corresponding to the virtual machine 321 i at a certain time is stored in the storage device 200.

システム管理者は、管理端末400を操作して仮想計算機管理サーバ100Bに対する指示情報を入力する。管理端末400は、この指示情報を仮想計算機管理サーバ100Bに送信する。仮想計算機管理サーバ100Bでは、パッケージ情報格納制御部150が当該指示情報に応じて、仮想計算機321に関するパッケージリスト250を記憶装置200に格納させる制御を実行する。また、ディスクイメージ格納制御部110が当該指示情報に応じて、仮想計算機301のディスクイメージを記憶装置200に格納させる制御を実行する。The system administrator operates the management terminal 400 to input instruction information for the virtual machine management server 100B. The management terminal 400 transmits this instruction information to the virtual machine management server 100B. In the virtual machine management server 100B, the package information storage control unit 150 executes control to store the package list 250 related to the virtual machine 321 i in the storage device 200 according to the instruction information. Further, the disk image storage control unit 110 executes control to store the disk image of the virtual machine 301 i in the storage device 200 in accordance with the instruction information.

更に、ディスクイメージ格納制御部110は、仮想計算機情報管理テーブル210Bに新たなレコード(行)を追加する。ディスクイメージ格納制御部110は、実計算機320から送信された仮想計算機321のディスクイメージの識別子と、当該仮想計算機321に対応するパッケージ情報(パッケージリスト)の識別子とを関連付けてその新たなレコードに記録する。Further, the disk image storage control unit 110 adds a new record (row) to the virtual machine information management table 210B. The disk image storage control unit 110 associates the identifier of the disk image of the virtual machine 321 i transmitted from the real machine 320 i with the identifier of the package information (package list) corresponding to the virtual machine 321 i , and creates a new one. Record in a record.

なお、記憶装置200に格納されるパッケージリスト250の中に、パッケージ情報データベース240に含まれないパッケージ名がある場合には、ディスクイメージ格納制御部110またはパッケージ情報格納制御部150は、当該パッケージ名に関するレコードをパッケージ情報データベース240に追加する。   When there is a package name that is not included in the package information database 240 in the package list 250 stored in the storage device 200, the disk image storage control unit 110 or the package information storage control unit 150 determines the package name. Is added to the package information database 240.

図8は、仮想計算機情報の格納手順を示す通信シーケンスを概略的に示す図である。以下、図8に示されている各ステップに沿ってこの手順を詳細に説明する。   FIG. 8 is a diagram schematically showing a communication sequence showing a procedure for storing virtual computer information. Hereinafter, this procedure will be described in detail along the steps shown in FIG.

まず、システム管理者は、管理端末400を操作してこの管理端末400に対して仮想計算機情報格納の指示情報を入力する(ステップS151)。管理端末400は、この指示情報を仮想計算機管理サーバ100Bに送信する。仮想計算機管理サーバ100Bでは、パッケージ情報格納制御部150がネットワーク・サービス・インターフェース140を介して当該指示情報を受け付ける。当該指示情報は、仮想計算機321の識別子(たとえば、仮想計算機301の名称)を指定するものであればよい。First, the system administrator operates the management terminal 400 and inputs virtual computer information storage instruction information to the management terminal 400 (step S151). The management terminal 400 transmits this instruction information to the virtual machine management server 100B. In the virtual machine management server 100B, the package information storage control unit 150 receives the instruction information via the network service interface 140. The instruction information only needs to specify the identifier of the virtual machine 321 i (for example, the name of the virtual machine 301 i ).

ステップS151でのシステム管理者による操作入力に先立って、システム管理者は、仮想計算機情報格納のための操作画面を呼び出すための操作を管理端末400に対して行う。この操作に応じて、管理端末400は、ネットワーク・サービス・インターフェース140から、操作画面を表示するための情報を取得する。本実施形態では、操作画面を呼び出すために、システム管理者は、管理端末400で起動されたウェブブラウザにURL(Uniform Resource Locator)を入力する操作を行う。この場合、操作画面を表示するための情報は、たとえば、HTML(Hypertext Markup Language)で記述されていればよい。   Prior to the operation input by the system administrator in step S151, the system administrator performs an operation on the management terminal 400 to call an operation screen for storing virtual machine information. In response to this operation, the management terminal 400 acquires information for displaying an operation screen from the network service interface 140. In this embodiment, in order to call up the operation screen, the system administrator performs an operation of inputting a URL (Uniform Resource Locator) to the web browser activated on the management terminal 400. In this case, the information for displaying the operation screen may be described in, for example, HTML (Hypertext Markup Language).

次に、パッケージ情報格納制御部150は、与えられた識別子に対応する仮想計算機321上のパッケージ情報送信部305に対してパッケージリスト取得要求を送信する(ステップS152)。仮想計算機321のパッケージ情報送信部305は、このパッケージリスト取得要求に応じてパッケージリストを示す情報を送信する。この結果、パッケージ情報格納制御部150は当該パッケージリストを取得する。なお、パッケージリストとは、仮想計算機321上のOSに、ある時点で導入済みの全パッケージの名称(パッケージ名)からなるリストである。Next, the package information storage control unit 150 transmits a package list acquisition request to the package information transmission unit 305 on the virtual machine 321 i corresponding to the given identifier (step S152). The package information transmission unit 305 of the virtual machine 321 i transmits information indicating the package list in response to the package list acquisition request. As a result, the package information storage control unit 150 acquires the package list. The package list is a list composed of names (package names) of all packages already installed in the OS on the virtual machine 321 i at a certain time.

このステップS152が実行されるとき、当該仮想計算機321は稼動状態にある必要がある。図8には明確に示されていないが、当該仮想計算機321が停止状態にある場合には、パッケージリスト取得要求の送信に先立って当該仮想計算機321の起動処理が実行される。この起動処理は、パッケージ情報格納制御部150が仮想計算機制御部330に起動要求を送信することにより行われる。この起動要求に応じて、仮想計算機制御部330は当該仮想計算機321を起動することとなる。これにより、システム管理者は、実計算機320を直接操作または遠隔操作して当該実計算機320上に仮想計算機321を起動する必要がないので、システム管理者の負担が大幅に軽減される。When this step S152 is executed, the virtual machine 321 i needs to be in an operating state. Although not clearly shown in FIG. 8, when the virtual machine 321 i is in a stopped state, the virtual machine 321 i is activated prior to the transmission of the package list acquisition request. This activation process is performed when the package information storage control unit 150 transmits an activation request to the virtual machine control unit 330 i . In response to the activation request, the virtual machine controller 330 i activates the virtual machine 321 i . Thus, system administrators real machine 320 is not necessary to start the virtual machine 321 i to the real machine on 320 i directly operated or remotely to i, the burden of the system administrator is reduced significantly .

パッケージ情報送信部305は、パッケージリストを取得するために、仮想計算機321上のOS上に用意されたパッケージ管理機能のコマンド(パッケージ管理コマンド)を使用する。たとえば、パッケージ管理機能としてRPMを採用したゲストOSの場合、「rpm -qa」コマンドを実行することで、導入済みの全パッケージのリストを取得することができる。The package information transmission unit 305 uses a package management function command (package management command) prepared on the OS on the virtual machine 321 i in order to acquire a package list. For example, in the case of a guest OS adopting RPM as a package management function, a list of all installed packages can be acquired by executing the “rpm -qa” command.

次に、パッケージ情報格納制御部150は、パッケージ情報データベース240を参照して、ステップS152で取得したパッケージリストのうち、パッケージ情報データベース240に対応するレコードに含まれないパッケージ名を調べる(ステップS153)。   Next, the package information storage control unit 150 refers to the package information database 240 and examines the package list acquired in step S152 for a package name that is not included in the record corresponding to the package information database 240 (step S153). .

図9に、パッケージ情報データベース240の内容の一例を示す。この例では、表の各行(レコード)が1つのパッケージについての情報を示している。1つのレコードは、パッケージ名と、そのパッケージが依存する他のパッケージの名称(パッケージ名)のリストからなる。たとえば、「shopping-3.2-3」というパッケージは、「library-1.2-1」、「webserver-2.2.1-2」、「scriptor-1.8.0-3」の3つのパッケージに依存している。このことは、「shopping-3.2-3」を導入するためには、事前にこれら3つのパッケージが導入されている必要があることを示している。依存するパッケージ名が空欄になっているパッケージは、依存するパッケージがない、すなわち他のパッケージの導入状況に関わらず導入できることを意味する。   FIG. 9 shows an example of the contents of the package information database 240. In this example, each row (record) in the table indicates information about one package. One record includes a list of package names and names of other packages (package names) on which the package depends. For example, the package “shopping-3.2-3” depends on three packages “library-1.2-1”, “webserver-2.2.1-2”, and “scriptor-1.8.0-3”. This indicates that these three packages need to be installed in advance in order to introduce “shopping-3.2-3”. A package whose dependent package name is blank means that there is no dependent package, that is, it can be installed regardless of the installation status of other packages.

次に、パッケージ情報格納制御部150は、仮想計算機321のパッケージ情報送信部305に対して、パッケージ依存関係情報取得要求を送信する(ステップS154)。このパッケージ依存関係情報取得要求に応じて、パッケージ情報送信部305は、ステップS153で取得された各パッケージ名について、そのパッケージについての依存関係情報をパッケージ情報格納制御部150に送信する。前述した通り、パッケージの依存関係情報とは、そのパッケージを導入する際に必要となる他のパッケージの名称、あるいは、そのパッケージが提供する機能とそのパッケージが依存する機能との組み合わせである。なお、ステップS153において、パッケージ情報データベース240中のレコードに対象パッケージ名が存在しない場合には、ステップS154の実行は省略される。Next, the package information storage control unit 150 transmits a package dependency relationship information acquisition request to the package information transmission unit 305 of the virtual machine 321 i (step S154). In response to this package dependency relationship information acquisition request, the package information transmission unit 305 transmits dependency relationship information about the package to the package information storage control unit 150 for each package name acquired in step S153. As described above, the package dependency information is the name of another package that is required when the package is introduced, or a combination of a function provided by the package and a function that the package depends on. In step S153, if the target package name does not exist in the record in the package information database 240, the execution of step S154 is omitted.

次に、パッケージ情報格納制御部150は、記憶装置200を制御して、ステップS152において取得したパッケージリスト250を記憶装置200に格納するとともに、ステップS154で取得したパッケージ依存関係情報を、新規レコードとしてパッケージ情報データベース240に追加する(ステップS155)。ここで、追加される新規レコードには、パッケージ名と、そのパッケージの依存関係情報とが含まれている。   Next, the package information storage control unit 150 controls the storage device 200 to store the package list 250 acquired in step S152 in the storage device 200, and the package dependency relationship information acquired in step S154 as a new record. It adds to the package information database 240 (step S155). Here, the new record to be added includes a package name and dependency information of the package.

ステップS155において、格納対象となるパッケージリスト250には、記憶装置200内で一意なパッケージリスト名が付与される。パッケージリスト名は、たとえば、固定された文字列と、当該仮想計算機321の識別子(たとえば、当該仮想計算機321の名称)と、版番号とを連結することで与えられる。In step S155, a package list name that is unique within the storage device 200 is assigned to the package list 250 to be stored. The package list name is given, for example, by concatenating a fixed character string, an identifier of the virtual machine 321 i (for example, the name of the virtual machine 321 i ), and a version number.

次に、パッケージ情報格納制御部150は、ディスクイメージ格納制御部110に対して、ディスクイメージ格納要求を行う(ステップS156)。このディスクイメージ格納要求とともに、仮想計算機321の名称がディスクイメージ格納制御部110に与えられる。このディスクイメージ格納要求に応じて、ディスクイメージ格納制御部110は、ステップS111〜S123を実行する。ステップS111〜S123の動作は上述した通りである。Next, the package information storage control unit 150 makes a disk image storage request to the disk image storage control unit 110 (step S156). Along with this disk image storage request, the name of the virtual machine 321 i is given to the disk image storage control unit 110. In response to this disk image storage request, the disk image storage control unit 110 executes steps S111 to S123. The operations in steps S111 to S123 are as described above.

ステップS111からS113までの処理が完了すると、パッケージ情報格納制御部150に制御が復帰する。   When the processing from steps S111 to S113 is completed, control returns to the package information storage control unit 150.

その後、パッケージ情報格納制御部150は、仮想計算機情報を記憶装置200に格納する(ステップS125)。すなわち、パッケージ情報格納制御部150は、記憶装置200に格納されたパッケージリスト250の識別子と、仮想計算機321のディスクイメージ220の識別子と、仮想計算機321の識別子と、仮想計算機321の版番号とを関連付けて仮想計算機情報管理テーブル210Bに追記する。このとき、パッケージ情報格納制御部150は、仮想計算機情報管理テーブル210Bに新規レコードを設けて、この新規レコードに、パッケージリスト250の識別子と、ディスクイメージ220の識別子と、仮想計算機321の識別子と、仮想計算機321の版番号とを記録する。Thereafter, the package information storage control unit 150 stores the virtual computer information in the storage device 200 (step S125). That is, the package information storage control unit 150, the identifier of the package list 250 stored in the storage unit 200, the identifier of the disk image 220 of the virtual machine 321 i, the identifier of the virtual machine 321 i, version of the virtual machine 321 i The number is associated with and added to the virtual machine information management table 210B. At this time, the package information storage control unit 150 provides a new record in the virtual machine information management table 210B, and in this new record, the identifier of the package list 250, the identifier of the disk image 220, and the identifier of the virtual machine 321 i The version number of the virtual machine 321 i is recorded.

ここで、前述の新規レコードは、仮想計算機321の識別子とその版番号とで一意に識別される必要がある。また、たとえば、仮想計算機321上で動作するOSの名称(OS名)や物理メモリ量などの、仮想計算機321を特定するのに寄与する任意の情報を新規レコードに追加してもよい。Here, the above-mentioned new record needs to be uniquely identified by the identifier of the virtual machine 321 i and its version number. Further, for example, arbitrary information that contributes to specifying the virtual computer 321 i such as the name of the OS (OS name) operating on the virtual computer 321 i and the amount of physical memory may be added to the new record.

本実施形態では、図8に示した一連の動作手順において、ディスクイメージ220の識別子と、パッケージリスト250の識別子と、仮想計算機情報管理テーブル210Bに追加される新規レコードとに、共通の版番号が付与される。   In the present embodiment, in the series of operation procedures shown in FIG. 8, a common version number is assigned to the identifier of the disk image 220, the identifier of the package list 250, and the new record added to the virtual machine information management table 210B. Is granted.

図9は、仮想計算機情報管理テーブル210Bの内容の一例を示す図である。図9に示されるように、テーブルの各レコード(行)に、「仮想計算機の名称」、「版番号」、「ディスクイメージ名」および「パッケージリスト名」に加えて、「OS名」および「物理メモリ量」という付加情報が記録されている。また、「shop」という同一名称を含む2つのレコードがあるが、これらレコードのうち一方のレコードの版番号は「52」であり、他方のレコードの版番号は「53」である。よって、版番号の異なる2種類のディスクイメージに関する情報が記録されている。   FIG. 9 is a diagram showing an example of the contents of the virtual machine information management table 210B. As shown in FIG. 9, in addition to “virtual machine name”, “version number”, “disk image name”, and “package list name”, “OS name” and “ Additional information “physical memory amount” is recorded. In addition, there are two records including the same name “shop”. Among these records, the version number of one record is “52”, and the version number of the other record is “53”. Therefore, information on two types of disc images with different version numbers is recorded.

次に、「仮想計算機情報の参照」というフェーズについて説明する。   Next, a phase called “reference to virtual machine information” will be described.

仮想計算機管理サーバ100Bのパッケージ情報比較部160は、記憶装置200に格納されたディスクイメージの内容を比較し、その結果を出力する。第1の実施形態の場合と同様に、システム管理者は、管理端末400を操作して仮想計算機管理サーバ100に対する指示情報を入力することで、記憶装置200に格納された、ディスクイメージに関する仮想計算機情報を参照することができる。システム管理者は、仮想計算機情報の参照用の操作画面を呼び出すための操作(たとえば、ウェブブラウザに対するURLの入力)を管理端末400に対して行う。この操作に対して、管理端末400は、ネットワーク・サービス・インターフェース140から、該当する操作画面を表示するための情報(たとえば、HTML文書)を取得する。   The package information comparison unit 160 of the virtual machine management server 100B compares the contents of the disk images stored in the storage device 200 and outputs the result. As in the case of the first embodiment, the system administrator operates the management terminal 400 and inputs instruction information for the virtual machine management server 100, so that the virtual machine related to the disk image stored in the storage device 200. Information can be referenced. The system administrator performs an operation (for example, input of URL to the web browser) for calling the operation screen for referring to the virtual machine information on the management terminal 400. In response to this operation, the management terminal 400 acquires information (for example, an HTML document) for displaying the corresponding operation screen from the network service interface 140.

仮想計算機管理サーバ100Bでは、管理端末400から、2つの仮想計算機321,321(i≠j)の実行環境の比較に関する指示情報を受信した場合、パッケージ情報比較部160は、それら2つの仮想計算機321,321にそれぞれ対応するパッケージリスト250,250の内容比較を行い、その結果をネットワーク・サービス・インターフェース140に出力する。このとき、パッケージ情報比較部160は、追加されたパッケージ間の依存関係を含めた形態の比較結果を出力する。In the virtual machine management server 100B, when the instruction information related to the comparison of the execution environments of the two virtual machines 321 i and 321 j (i ≠ j) is received from the management terminal 400, the package information comparison unit 160 The contents of the package lists 250 and 250 corresponding to the computers 321 i and 321 j are compared, and the result is output to the network service interface 140. At this time, the package information comparison unit 160 outputs a comparison result in a form including the dependency relationship between the added packages.

また、仮想計算機情報の参照については、単一のディスクイメージ220に関する情報をその対象とする場合と、異なる2つのディスクイメージ220,220の情報を相互比較する場合とがある。2つのディスクイメージ220,220の情報を相互比較する場合は、更に、異なる2つの仮想計算機301,301(i≠j)を比較する場合と、同一の仮想計算機301についての異なる版(バージョン)を比較する場合に分けられる。In addition, referring to the virtual machine information, there are a case where information on a single disk image 220 is targeted, and a case where information on two different disk images 220 and 220 are compared with each other. When the information of the two disk images 220 and 220 is compared with each other, when two different virtual machines 301 i and 301 j (i ≠ j) are compared, different versions of the same virtual machine 301 i ( Version).

単一のディスクイメージ220を比較対象とした仮想計算機情報の参照を行う場合、管理端末400からパッケージ情報比較部160に対して、仮想計算機321の名称とその版番号との対が渡される。これに対して、パッケージ情報比較部160は、仮想計算機情報管理テーブル210Bから該当するレコードを取得するとともに、そのレコード中に含まれるパッケージリスト名に対応するパッケージリスト250の内容を読み取り、当該内容をネットワーク・サービス・インターフェース140を介して管理端末400に送信する。管理端末400は、指定された仮想計算機321と版番号の対に対応する導入済みのパッケージリストの内容を、人間に理解可能な形で表示する。When referring to virtual machine information with a single disk image 220 as a comparison target, a pair of the name of the virtual machine 321 i and its version number is passed from the management terminal 400 to the package information comparison unit 160. On the other hand, the package information comparison unit 160 acquires the corresponding record from the virtual machine information management table 210B, reads the contents of the package list 250 corresponding to the package list name included in the record, and reads the contents. The data is transmitted to the management terminal 400 via the network service interface 140. The management terminal 400 displays the contents of the installed package list corresponding to the specified virtual machine 321 i and version number pair in a form that can be understood by humans.

一方、異なる2つのディスクイメージ220,220を比較対象とした仮想計算機情報の比較を行う場合、システム管理者は、管理端末400を操作して比較対象のディスクイメージ220,220を指定する指示情報を入力する。この指示情報は、ネットワーク・サービス・インターフェース140を介してパッケージ情報比較部160に送信される。このとき比較対象となるディスクイメージ220,220をシステム管理者が指定するために、図5に示した操作画面と同様の操作画面を使用すればよい。   On the other hand, when comparing virtual machine information using two different disk images 220 and 220 as comparison targets, the system administrator operates the management terminal 400 to provide instruction information for specifying the comparison target disk images 220 and 220. input. This instruction information is transmitted to the package information comparison unit 160 via the network service interface 140. At this time, in order for the system administrator to specify the disk images 220 and 220 to be compared, an operation screen similar to the operation screen shown in FIG. 5 may be used.

システム管理者が管理端末400を操作して、2つのディスクイメージ220,220を指定するとともにこれらディスクイメージ220,220間の比較を指示する指示情報を入力すると、管理端末400は、当該指示情報をネットワーク・サービス・インターフェース140に送信する。この指示情報に応じて、ネットワーク・サービス・インターフェース140は、パッケージ情報比較部160に対して仮想計算機情報比較要求を発行する。この仮想計算機情報比較要求には、比較対象の各ディスクイメージ220についての仮想計算機名と版番号との対が含まれる。   When the system administrator operates the management terminal 400 to specify two disk images 220 and 220 and input instruction information for instructing comparison between the disk images 220 and 220, the management terminal 400 displays the instruction information. Sent to the network service interface 140. In response to this instruction information, the network service interface 140 issues a virtual machine information comparison request to the package information comparison unit 160. This virtual machine information comparison request includes a pair of a virtual machine name and a version number for each disk image 220 to be compared.

仮想計算機情報比較要求を受け取ったパッケージ情報比較部160は、指定された2つのディスクイメージ220,220にそれぞれ対応するパッケージリスト250,250の内容を相互に比較し、その比較結果を出力する。ここで、パッケージ情報比較部160は、記憶装置200に格納されている依存関係情報に基づいて、当該比較結果を、相互依存関係を有するパッケージのグループごとに分類した形で生成する。ネットワーク・サービス・インターフェース140は、パッケージ情報比較部160の出力を受け取り、管理端末400に送信する。そして、管理端末400は、2つのディスクイメージ220,220間の差分を表すデータを、パッケージ・グループごとに分類した形態で出力する。   Upon receiving the virtual machine information comparison request, the package information comparison unit 160 compares the contents of the package lists 250 and 250 corresponding to the two specified disk images 220 and 220, respectively, and outputs the comparison result. Here, the package information comparison unit 160 generates the comparison result based on the dependency relationship information stored in the storage device 200 in a form classified for each group of packages having a mutual dependency relationship. The network service interface 140 receives the output of the package information comparison unit 160 and transmits it to the management terminal 400. Then, the management terminal 400 outputs data representing the difference between the two disk images 220 and 220 in a form classified for each package group.

以下、パッケージ情報比較部160の処理内容を以下に説明する。図10は、パッケージ情報比較部160による処理手順を概略的に示すフローチャートである。   The processing contents of the package information comparison unit 160 will be described below. FIG. 10 is a flowchart schematically showing a processing procedure by the package information comparison unit 160.

図10を参照すると、パッケージ情報比較部160は、まず、比較対象の2つのパッケージリスト250,250を相互に比較して、これらパッケージリスト250,250のうち一方にのみ含まれるパッケージ名の集合すなわちパッケージリストの差分を抽出する(ステップS161)。このパッケージリストの差分は、比較対象の2つのパッケージリスト250,250にそれぞれ対応するディスクイメージ220,220間の差分を表す情報である。   Referring to FIG. 10, the package information comparison unit 160 first compares two package lists 250 and 250 to be compared with each other, and a set of package names included in only one of the package lists 250 and 250, that is, Differences in the package list are extracted (step S161). The difference between the package lists is information representing the difference between the disk images 220 and 220 corresponding to the two package lists 250 and 250 to be compared.

ステップS161では、比較対象のパッケージリスト250を取得するために、パッケージ情報比較部160は、仮想計算機情報比較要求に含まれる仮想計算機名と版番号との対を検索条件として、仮想計算機情報管理テーブル210Bからレコードを抽出する。そして、パッケージ情報比較部160は、抽出されたレコードに含まれるパッケージリスト名に対応するパッケージリスト250を取得する。   In step S161, in order to obtain the package list 250 to be compared, the package information comparison unit 160 uses the virtual machine name and version number pair included in the virtual machine information comparison request as a search condition to search the virtual machine information management table. A record is extracted from 210B. Then, the package information comparison unit 160 acquires the package list 250 corresponding to the package list name included in the extracted record.

なお、ステップS161において、パッケージ情報比較部160は、パッケージリストの差分だけでなく、比較対象の2つのパッケージリスト250,250に共通して含まれるパッケージ名の集合を取得してもよい。更に、各パッケージ名に版番号が付されている場合、パッケージ情報比較部160は、版番号ごとに分類されたパッケージ名の集合を抽出することもできる。   In step S161, the package information comparison unit 160 may acquire not only the difference between package lists but also a set of package names included in common in the two package lists 250 and 250 to be compared. Further, when a version number is assigned to each package name, the package information comparison unit 160 can also extract a set of package names classified for each version number.

説明の便宜上、比較対象の異なる2つのパッケージリスト250,250を、それぞれ、パッケージリストG、Gとする。このとき、パッケージリストGの全ての要素(パッケージ名)がパッケージリストGに含まれる第1の場合(パッケージリストGは、パッケージリストGの部分集合である場合)、パッケージリストGの全ての要素(パッケージ名)がパッケージリストGに含まれる第2の場合(パッケージリストGは、パッケージリストGの部分集合である場合)、そして、これら第1および第2の場合以外の第3の場合(すなわち、パッケージリストGにのみ含まれる部分集合と、パッケージリストGにのみ含まれる部分集合とが存在する場合)があり得る。以下、第1および第2の場合を想定した手順を説明する。For convenience of explanation, the two package list 250 and 250 having different compared, respectively, the package list G A, and G B. At this time, (if the package list G B is a subset of the package list G A) all the elements of the package list G B (package name) may first included in the package list G A, package list G A (the package list G a, if a subset of the package list G B) a second case where all the elements of (the package name) is included in the package list G B, and, except in the case of the first and second the third case (i.e., a subset that is included only in the package list G a, if there is a subset that is included only in the package list G B) may have. Hereinafter, a procedure assuming the first and second cases will be described.

ステップS161で抽出されたパッケージ名の集合(パッケージリストの差分)Gを処理対象として、以下のステップS162〜S166の処理が実行される。Set of package name extracted in step S161 (the difference between the package list) G p as a processing target, the processing of the following steps S162~S166 are performed.

まず、パッケージ情報比較部160は、当該集合Gの中に未処理のパッケージ名があるか否かを判定する(ステップS162)。未処理のパッケージ名がある場合(ステップS162のYES)、パッケージ情報比較部160は、当該集合Gの中から1つのパッケージ名Nを選択する(ステップS163)。First, the package information comparison unit 160 determines whether or not there is an unprocessed package name in the set G p (step S162). If there is a package name unprocessed (YES in step S162), the package information comparing unit 160 selects one package name N p from among the set G p (step S163).

次に、パッケージ情報比較部160は、パッケージ情報データベース240を参照して、ステップS163で選択された処理対象のパッケージ名Nに関する依存関係情報を取得する(ステップS164)。Next, the package information comparison unit 160 refers to the package information database 240, and acquires dependency information about the package name N p of the selected processing target at step S163 (step S164).

次に、パッケージ情報比較部160は、ステップS164で取得された依存関係情報に基づいて、集合Gの中に、パッケージ名Nと相互依存関係を有するパッケージ名が存在するか否かを判定する(ステップS165)。集合Gの中に、パッケージ名Nと相互依存関係を有するパッケージ名Npdが存在する場合(ステップS165のYES)、パッケージ情報比較部160は、パッケージ名Nを有するパッケージとパッケージ名Npdを有するパッケージとの間に依存関係リンクを設定する(ステップS166)。なお、依存関係リンクは、あるパッケージから、当該パッケージが依存する他のパッケージに向かう矢印として表現することができる。ステップS166における依存関係リンク作成の具体例については後述する。Next, the package information comparing unit 160 based on the acquired dependency information in step S164, in the set G p, determine whether the package name exists with the package name N p and interdependence (Step S165). In the set G p, if the package name N pd with the package name N p and interdependent relationship exists (YES in step S165), the package information comparing unit 160, the package and the package name N with the package name N p A dependency link is set with the package having pd (step S166). The dependency relationship link can be expressed as an arrow from one package to another package on which the package depends. A specific example of the dependency link creation in step S166 will be described later.

一方、ステップS165で、集合Gの中に、パッケージ名Nと相互依存関係を有するパッケージ名が存在しないと判定された場合(ステップS165のNO)、パッケージ情報比較部160は、処理をステップS162に戻す。On the other hand, if it is determined in step S165 that there is no package name having a mutual dependency relationship with the package name N p in the set G p (NO in step S165), the package information comparison unit 160 performs the process. Return to S162.

なお、ステップS162において、版番号のみが異なるパッケージ名が、比較対象の両パッケージリストに含まれる場合がありうる。パッケージ情報比較部160は、当該パッケージ名を更新されたパッケージ名として、後述のステップS167における出力の一部に含める。   Note that in step S162, package names that differ only in version number may be included in both of the comparison target package lists. The package information comparison unit 160 includes the package name as an updated package name in a part of an output in step S167 described later.

ステップS162で未処理のパッケージ名が無いと判定されたとき(ステップS162のNO)、すなわち、パッケージリストの差分中の全パッケージ名について、ステップS162〜S166の処理が完了したとき、パッケージ情報比較部160は、パッケージリストの差分(パッケージ名の集合)を示す情報をネットワーク・サービス・インターフェース140に出力するとともに、当該差分を、依存関係リンクによってグループ化した形で出力する。依存関係リンクで結ばれたパッケージ名は、同一グループに分類されることとなる。1つのグループ内には、他のパッケージ名に依存されないパッケージ名(すなわち、当該パッケージ名を有するパッケージを指す矢印がない。)が少なくとも1つ存在するので、このパッケージ名を、当該グループの代表パッケージ名とする。   When it is determined in step S162 that there is no unprocessed package name (NO in step S162), that is, when the processes in steps S162 to S166 are completed for all package names in the package list difference, the package information comparison unit 160 outputs information indicating a difference (a set of package names) in the package list to the network service interface 140, and outputs the differences in a form grouped by dependency links. Package names connected by dependency links are classified into the same group. Since at least one package name that does not depend on other package names (that is, there is no arrow indicating a package having the package name) exists in one group, this package name is designated as the representative package of the group. Name.

あるグループの代表パッケージ名を有するパッケージ(以下、代表パッケージと呼ぶ。)を導入するには、この代表パッケージ以外のすべてのパッケージが事前に仮想計算機に導入されている必要がある。したがって、パッケージ情報比較部160は、異なる2台の仮想計算機321,321(i≠j)にそれぞれ導入されている代表パッケージ名を検出すれば、これら仮想計算機321,321のディスクイメージ220,220間の差分を表すすべてのパッケージを特定することができる。In order to introduce a package having a representative package name of a certain group (hereinafter referred to as a representative package), all the packages other than the representative package need to be installed in the virtual machine in advance. Therefore, if the package information comparison unit 160 detects representative package names introduced into two different virtual machines 321 i and 321 j (i ≠ j), the disk images of the virtual machines 321 i and 321 j are detected. All packages representing differences between 220 and 220 can be identified.

図11および図12を参照しつつ、依存関係リンクの作成およびパッケージリストの差分のグループ化の具体例を説明する。図11は、「pkg-11」、「pkg-12」、...、「pkg-15」という5つのパッケージについての依存関係情報を示す図である。パッケージ「pkg-11」は「pkg-12」に依存するので、「pkg-11」から「pkg-12」へと矢印が付加される。同様に、パッケージ「pkg-13」から「pkg-11」へと矢印が付加されることとなる。   With reference to FIGS. 11 and 12, a specific example of creation of dependency link and grouping of package list differences will be described. FIG. 11 is a diagram showing dependency information about five packages “pkg-11”, “pkg-12”,..., “Pkg-15”. Since the package “pkg-11” depends on “pkg-12”, an arrow is added from “pkg-11” to “pkg-12”. Similarly, an arrow is added from the package “pkg-13” to “pkg-11”.

図12は、パッケージ名のグループを示す図である。図11の表の左欄には「pkg-11」、「pkg-12」、...、「pkg-15」というパッケージ名の5つのパッケージが示されている。図11の表の右欄には、左欄で示される各パッケージに依存するパッケージの名称(パッケージ名)が表示されている。「pkg-13」および「pkg-14」に依存するパッケージは存在しないので、これらは代表パッケージ名となり得る。「pkg-15」、「pkg-7」および「pkg-8」はパッケージリスト中の他の要素との依存関係を持たないので、単独でグループを形成し、「pkg-15」はその代表パッケージ名となる。   FIG. 12 shows a package name group. In the left column of the table of FIG. 11, five packages with package names “pkg-11”, “pkg-12”,..., “Pkg-15” are shown. In the right column of the table of FIG. 11, the names of packages (package names) depending on the packages shown in the left column are displayed. Since there are no packages that depend on "pkg-13" and "pkg-14", these can be representative package names. “Pkg-15”, “pkg-7”, and “pkg-8” have no dependencies on other elements in the package list, so they form a group, and “pkg-15” is the representative package. Become a name.

上記の手順は、パッケージリストG、Gについて、一方が他方の部分集合であるとの条件を前提としていた。この条件が満たされない場合には、Gにのみ含まれるパッケージ名の集合と、Gにのみパッケージ名の集合が存在する。この場合、それらを個別のパッケージリストの差分として扱い、それぞれのパッケージリスト差分についてステップS162〜S167の手順を適用すればよい。The above procedure is based on the condition that one of the package lists G A and G B is a subset of the other. If this condition is not satisfied, a set of package names contained only in G A, there is a set of only the package name G B. In this case, they may be handled as individual package list differences, and the procedures of steps S162 to S167 may be applied to each package list difference.

以下、管理端末400に表示されるパッケージリストの差分の表示内容を説明する。図13(A)と図13(B)は、それぞれ、「pkglist-shopping-52」および「pkglist-shopping-53」と名付けられたディスクイメージの内容を示す図である。これらディスクイメージ間の差分を取得する場合を挙げて以下説明する。   Hereinafter, the display content of the difference of the package list displayed on the management terminal 400 will be described. FIG. 13A and FIG. 13B are diagrams showing the contents of disk images named “pkglist-shopping-52” and “pkglist-shopping-53”, respectively. A case where a difference between these disk images is acquired will be described below.

まず、これらのパッケージリストを単純に比較すると、「pkglist-shopping-53」にのみ、「memorydb-0.8-1」と「cache-1.1.1-3」が含まれている。次に、パッケージリスト間の依存関係情報が図14に示されるものとすれば、パッケージ「cache-1.1.1-3」は「memorydb-0.8-1」に依存し、「cache-1.1.1」に依存するパッケージは存在しない。したがって、「cache-1.1.1」と「memorydb-0.8-1」は同一のグループに属し、「cache-1.1.1」がその代表パッケージ名となる。   First, when these package lists are simply compared, only “pkglist-shopping-53” includes “memorydb-0.8-1” and “cache-1.1.1-3”. Next, if the dependency information between package lists is as shown in FIG. 14, the package “cache-1.1.1-3” depends on “memorydb-0.8-1”, and “cache-1.1.1” There are no packages that depend on. Therefore, “cache-1.1.1” and “memorydb-0.8-1” belong to the same group, and “cache-1.1.1” is the representative package name.

また、「monitor」という名称のパッケージは両パッケージリストに含まれるものの、パッケージ名に付加された版番号が、それぞれ「3.0.1-4」、「3.0.1-5」と異なっている。したがって、これらのパッケージ名を、更新されたパッケージ名として出力する。結果として、管理端末400に出力される比較結果は、たとえば、図15に示すものとなる。   A package named “monitor” is included in both package lists, but the version numbers added to the package names are different from “3.0.1-4” and “3.0.1-5”, respectively. Therefore, these package names are output as updated package names. As a result, the comparison result output to the management terminal 400 is, for example, as shown in FIG.

上記第2の実施形態の仮想計算機管理システムが奏する効果は以下の通りである。   The effects exhibited by the virtual machine management system of the second embodiment are as follows.

上述したように、仮想計算機321〜321の各々では、パッケージ情報送信部305は、各仮想計算機に導入された複数のソフトウェア・パッケージの識別情報と、当該ソフトウェア・パッケージの相互依存関係を示す依存関係情報とをパッケージ情報として仮想計算機管理サーバ100Bに送信する。パッケージ情報比較部160は、このパッケージ情報に基づいて、仮想計算機321〜321の更新状況を示すデータを生成することができる。As described above, in each of the virtual machines 321 1 to 321 N , the package information transmission unit 305 indicates the identification information of a plurality of software packages installed in each virtual machine and the interdependencies of the software packages. The dependency relationship information is transmitted as package information to the virtual machine management server 100B. The package information comparison unit 160 can generate data indicating the update status of the virtual machines 321 1 to 321 N based on the package information.

したがって、本実施形態の仮想計算機管理システムは、通信ネットワーク500上に分散している多数の仮想計算機321〜321の実行環境に関する正確な詳細情報を取得することができ、当該実行環境の更新状況を示すデータをシステム管理者に提供することができる。それ故、システム管理者の管理負担が大幅に軽減される。Therefore, the virtual machine management system according to the present embodiment can acquire accurate detailed information regarding the execution environment of a large number of virtual machines 321 1 to 321 N distributed on the communication network 500, and updates the execution environment. Data indicating the situation can be provided to the system administrator. Therefore, the management burden on the system administrator is greatly reduced.

また、パッケージ情報比較部160は、仮想計算機321〜321のディスクイメージの識別子と、これら仮想計算機にそれぞれ対応する当該パッケージ情報とを関連付けて仮想計算機情報管理テーブル210Bに記録するので、パッケージ情報比較部160は、この仮想計算機情報管理テーブル210Bを利用して、同一のディスクイメージ220の更新履歴を示すデータ、あるいは、異なる2つのディスクイメージ220,220間の差分を示すデータを生成することができる。その更新履歴や差分を示すデータに基づいて、システム管理者は、ネットワーク・サービス・インターフェース140を通じて、仮想計算機321〜321の実行環境の更新状況を素早くかつ容易に把握することができる。Since the package information comparison unit 160 records the disk image identifiers of the virtual machines 321 1 to 321 N and the package information corresponding to these virtual machines in association with each other and records them in the virtual machine information management table 210B, the package information The comparison unit 160 may generate data indicating an update history of the same disk image 220 or data indicating a difference between two different disk images 220 and 220 using the virtual machine information management table 210B. it can. Based on the update history and data indicating the difference, the system administrator can quickly and easily grasp the update status of the execution environment of the virtual machines 321 1 to 321 N through the network service interface 140.

更に、パッケージ情報比較部160は、依存関係情報に基づいて、仮想計算機321〜321の実行環境の更新状況を示すデータを、ソフトウェア・パッケージのグループごとに分類した形で生成するので、システム管理者は、その更新状況を容易にかつ素早く把握することができる。Further, the package information comparison unit 160 generates data indicating the update status of the execution environment of the virtual machines 321 1 to 321 N based on the dependency relationship information in a form classified for each group of software packages. The administrator can easily and quickly grasp the update status.

以上、図面を参照して本発明の実施形態について述べた。上記第1および第2の実施形態の仮想計算機管理システムは、仮想計算機により構成される企業内コンピュータシステムの構築において、仮想計算機の実行環境を一元管理するためのシステムとしての用途に適用可能である。   The embodiments of the present invention have been described above with reference to the drawings. The virtual machine management system of the first and second embodiments can be applied to a use as a system for centrally managing the execution environment of a virtual machine in the construction of an in-house computer system composed of virtual machines. .

また、上記第1および第2の実施形態の仮想計算機管理システムは、仮想計算機により構成されるデータセンターにおいて、複数のシステム管理者が少しずつ異なる内容の仮想計算機を利用する目的で、それらの仮想計算機についての情報を一元管理するためのシステムとしての用途にも適用可能である。   Also, the virtual machine management systems of the first and second embodiments described above are used for the purpose of a plurality of system managers using virtual machines having slightly different contents in a data center composed of virtual machines. The present invention can also be applied as a system for centrally managing information about computers.

上記実施形態は本発明の例示であり、上記以外の様々な構成を採用することもできる。たとえば、上記第1の実施形態(図1)では、仮想計算機管理サーバ100Aと記憶装置200とは通信ネットワーク500を介して相互接続されているが、かかる形態に限定されるものではない。仮想計算機管理サーバ100Aと記憶装置200とが同一の装置内に組み込まれる形態もあり得る。同様に、管理端末400と仮想計算機管理サーバ100Aとは、通信ネットワーク500を介して相互接続されているが、かかる形態に限定されるものでもない。管理端末400が仮想計算機管理サーバ100Aに直接接続された形態もあり得る。   The above embodiment is an exemplification of the present invention, and various configurations other than the above can also be adopted. For example, in the first embodiment (FIG. 1), the virtual machine management server 100A and the storage device 200 are interconnected via the communication network 500, but the present invention is not limited to such a form. There may be a form in which the virtual machine management server 100A and the storage device 200 are incorporated in the same device. Similarly, the management terminal 400 and the virtual machine management server 100A are interconnected via the communication network 500, but are not limited to this form. There may be a form in which the management terminal 400 is directly connected to the virtual machine management server 100A.

また、上記第2の実施形態(図7)でも、仮想計算機管理サーバ100Bと記憶装置200とは通信ネットワーク500を介して相互接続されているが、かかる形態に限定されるものではない。仮想計算機管理サーバ100Bと記憶装置200とが同一の装置内に組み込まれる形態もあり得る。同様に、管理端末400と仮想計算機管理サーバ100Bとは、通信ネットワーク500を介して相互接続されているが、かかる形態に限定されるものでもない。管理端末400が仮想計算機管理サーバ100Bに直接接続された形態もあり得る。   Also in the second embodiment (FIG. 7), the virtual machine management server 100B and the storage device 200 are interconnected via the communication network 500, but the present invention is not limited to such a form. There may be a form in which the virtual machine management server 100B and the storage device 200 are incorporated in the same device. Similarly, the management terminal 400 and the virtual machine management server 100B are interconnected via the communication network 500, but are not limited to this form. There may be a form in which the management terminal 400 is directly connected to the virtual machine management server 100B.

上記第1の実施形態では、図1に示されるように、仮想計算機管理サーバ100Aは、複数の機能ブロック110,120,130,140を含む。これら機能ブロック110,120,130,140は単一の装置内に組み込まれてもよいし、あるいは、協働する複数の装置に分散して組み込まれていてもよい。同様に、上記第2の実施形態でも、仮想計算機管理サーバ100Bを構成する機能ブロック110,140,150,160は、単一の装置内に組み込まれてもよいし、あるいは、協働する複数の装置に分散して組み込まれていてもよい。   In the first embodiment, as illustrated in FIG. 1, the virtual machine management server 100A includes a plurality of functional blocks 110, 120, 130, and 140. These functional blocks 110, 120, 130, and 140 may be incorporated in a single device, or may be distributed and incorporated in a plurality of cooperating devices. Similarly, in the second embodiment as well, the functional blocks 110, 140, 150, and 160 that constitute the virtual machine management server 100B may be incorporated in a single device, or may cooperate with each other. The devices may be incorporated in a distributed manner.

この出願は、日本国特許庁に出願された特願2009−052603号(出願日:2009年3月5日)を基礎とする優先権を主張するものであり、その開示の全ては、本明細書の一部として援用(incorporation herein by reference)される。   This application claims priority based on Japanese Patent Application No. 2009-052603 (filing date: March 5, 2009) filed with the Japan Patent Office, the entire disclosure of which is incorporated herein by reference. Incorporation herein by reference.

Claims (14)

各々が少なくとも1台の仮想計算機を有する複数の実計算機と、
前記仮想計算機を通信ネットワークを介して遠隔制御する仮想計算機管理装置と、
前記複数の仮想計算機にそれぞれ対応して用意された複数の更新情報ファイルが格納される記憶装置と、
を備え、
前記各仮想計算機は、
更新記録ファイルが格納されるデータ記憶部と、
当該各仮想計算機の実行環境の更新が実行されたときに当該更新の内容を示す更新情報を前記更新記録ファイルに記録するシステム更新手段と、
前記更新記録ファイル内の当該更新情報を前記仮想計算機管理装置に送信する更新情報送信手段と、
を含み、
前記仮想計算機管理装置は、
前記更新情報送信手段から送信された当該更新情報を当該更新情報ファイルに記録する更新情報格納制御手段と、
前記更新情報ファイルに記録されている更新情報を比較して前記仮想計算機の実行環境の更新状況を示すデータを生成する更新情報比較手段と、
を含む、仮想計算機管理システム。
A plurality of real machines each having at least one virtual machine;
A virtual machine management device for remotely controlling the virtual machine via a communication network;
A storage device for storing a plurality of update information files prepared respectively corresponding to the plurality of virtual machines;
With
Each of the virtual machines is
A data storage unit for storing update record files;
System update means for recording update information indicating the contents of the update in the update record file when the execution environment of each virtual machine is updated;
Update information transmitting means for transmitting the update information in the update record file to the virtual machine management device;
Including
The virtual machine management device is:
Update information storage control means for recording the update information transmitted from the update information transmission means in the update information file;
Update information comparing means for comparing the update information recorded in the update information file and generating data indicating the update status of the execution environment of the virtual machine;
Including virtual machine management system.
請求項1に記載の仮想計算機管理システムであって、
前記実計算機は、当該仮想計算機のディスクイメージを前記仮想計算機管理装置に送信する仮想計算機制御手段を含み、
前記仮想計算機管理装置は、前記仮想計算機制御手段から送信された当該ディスクイメージを前記記憶装置に格納するディスクイメージ格納制御手段を含み、
前記ディスクイメージ格納制御手段は、当該ディスクイメージの識別子と、当該ディスクイメージを有する当該仮想計算機に対応して用意された当該更新情報ファイルの識別子とを関連付けて仮想計算機管理テーブルに記録する、仮想計算機管理システム。
The virtual machine management system according to claim 1,
The real computer includes virtual computer control means for transmitting a disk image of the virtual computer to the virtual computer management device,
The virtual machine management device includes disk image storage control means for storing the disk image transmitted from the virtual machine control means in the storage device,
The disk image storage control means associates the identifier of the disk image with the identifier of the update information file prepared corresponding to the virtual machine having the disk image, and records it in a virtual machine management table. Management system.
請求項2に記載の仮想計算機管理システムであって、前記仮想計算機制御手段は、前記仮想計算機の動作を一時的に停止したうえで当該仮想計算機のディスクイメージを前記仮想計算機管理装置に送信する、仮想計算機管理システム。   The virtual machine management system according to claim 2, wherein the virtual machine control unit temporarily stops the operation of the virtual machine and then transmits a disk image of the virtual machine to the virtual machine management apparatus. Virtual computer management system. 請求項2または3に記載の仮想計算機管理システムであって、
前記更新情報比較手段は、前記仮想計算機管理テーブルを参照して、前記複数の更新情報ファイルの中から、指定された仮想計算機のディスクイメージに対応する対象ファイルを選択し、
前記更新状況を示すデータは、前記対象ファイルに記録されている更新情報を比較することにより生成される、仮想計算機管理システム。
The virtual machine management system according to claim 2 or 3,
The update information comparison unit refers to the virtual machine management table, selects a target file corresponding to a specified virtual machine disk image from the plurality of update information files, and
The virtual machine management system, wherein the data indicating the update status is generated by comparing update information recorded in the target file.
請求項4に記載の仮想計算機管理システムであって、システム管理者により操作入力された指示情報を前記仮想計算機管理装置に与える管理端末を更に備え、
前記仮想計算機管理装置は、当該指示情報を前記更新情報比較手段に与えるインターフェースを含み、
前記更新情報比較手段は、前記複数の更新情報ファイルの中から、当該指示情報により指定された仮想計算機のディスクイメージに対応する更新情報ファイルを前記対象ファイルとして選択し、
前記インターフェースは、前記更新状況を示すデータを、前記指示情報に対する応答結果として前記管理端末に与える、仮想計算機管理システム。
The virtual machine management system according to claim 4, further comprising a management terminal that gives instruction information input by a system administrator to the virtual machine management apparatus,
The virtual machine management device includes an interface that gives the instruction information to the update information comparison unit,
The update information comparison unit selects, as the target file, an update information file corresponding to a disk image of a virtual machine designated by the instruction information from the plurality of update information files.
The virtual interface management system, wherein the interface provides data indicating the update status to the management terminal as a response result to the instruction information.
請求項5に記載の仮想計算機管理システムであって、前記インターフェースは、HTTP(HyperText Transport Protocol)に基づいたウェブ・サービスを提供するインターフェースである、仮想計算機管理システム。   6. The virtual machine management system according to claim 5, wherein the interface is an interface that provides a web service based on HTTP (HyperText Transport Protocol). 請求項1から6のうちのいずれか1項に記載の仮想計算機管理システムであって、前記更新情報比較手段は、前記複数の仮想計算機のうち同一の仮想計算機の実行環境の更新履歴を示すデータを、前記更新状況を示すデータとして出力する、仮想計算機管理システム。   The virtual machine management system according to any one of claims 1 to 6, wherein the update information comparison unit is data indicating an update history of an execution environment of the same virtual machine among the plurality of virtual machines. Is output as data indicating the update status. 請求項1から6のうちのいずれか1項に記載の仮想計算機管理システムであって、前記更新情報比較手段は、前記複数の仮想計算機のうち異なる仮想計算機間の実行環境の差分を示すデータを、前記更新状況を示すデータとして出力する、仮想計算機管理システム。   7. The virtual machine management system according to claim 1, wherein the update information comparison unit stores data indicating a difference in execution environment between different virtual machines among the plurality of virtual machines. A virtual machine management system that outputs the data indicating the update status. 請求項1から8のうちのいずれか1項に記載の仮想計算機管理システムであって、前記更新情報格納制御手段は、前記更新情報送信手段から送信された当該更新情報に基づいて、前記仮想計算機の現在のディスクイメージの識別子と、当該ディスクイメージの派生元である以前のディスクイメージの識別子とを関連付けて当該ディスクイメージの派生関係を生成する、仮想計算機管理システム。   9. The virtual machine management system according to claim 1, wherein the update information storage control means is based on the update information transmitted from the update information transmission means. A virtual machine management system that generates a derivation relationship of the disk image by associating the identifier of the current disk image with the identifier of the previous disk image from which the disk image is derived. 各々が少なくとも1台の仮想計算機を有する複数の実計算機と、
前記仮想計算機を通信ネットワークを介して遠隔制御する仮想計算機管理装置と、
を備え、
前記各仮想計算機は、当該各仮想計算機の実行環境を構築するために当該各仮想計算機に導入された複数のソフトウェア・パッケージの識別情報と、当該ソフトウェア・パッケージの相互依存関係を示す依存関係情報とをパッケージ情報として前記仮想計算機管理装置に送信するパッケージ情報送信手段を含み、
前記仮想計算機管理装置は、
前記仮想計算機ごとに前記パッケージ情報送信手段から送信された前記パッケージ情報を記憶装置に格納するパッケージ情報格納制御手段と、
前記記憶装置に格納されている前記パッケージ情報を比較して前記仮想計算機の実行環境の更新状況を示すデータを生成するパッケージ情報比較手段と、
を含む、仮想計算機管理システム。
A plurality of real machines each having at least one virtual machine;
A virtual machine management device for remotely controlling the virtual machine via a communication network;
With
Each of the virtual machines includes identification information of a plurality of software packages introduced into the virtual machines in order to construct an execution environment of the virtual machines, dependency information indicating interdependencies of the software packages, Including package information transmission means for transmitting to the virtual machine management device as package information,
The virtual machine management device is:
Package information storage control means for storing the package information transmitted from the package information transmission means for each virtual computer in a storage device;
Package information comparison means for comparing the package information stored in the storage device and generating data indicating the update status of the execution environment of the virtual machine;
Including virtual machine management system.
請求項10に記載の仮想計算機管理システムであって、前記パッケージ情報比較手段は、前記依存関係情報に基づいて、前記実行環境の更新状況を示すデータを、前記ソフトウェア・パッケージのグループごとに分類した形で生成する、仮想計算機管理システム。   11. The virtual machine management system according to claim 10, wherein the package information comparison unit classifies data indicating an update status of the execution environment for each group of the software packages based on the dependency relationship information. A virtual machine management system created in a form. 請求項10または11に記載の仮想計算機管理システムであって、
前記実計算機は、当該仮想計算機に対応するディスクイメージを前記仮想計算機管理装置に送信する仮想計算機制御手段を含み、
前記仮想計算機管理装置は、前記仮想計算機制御手段から送信された当該ディスクイメージを記憶装置に格納するディスクイメージ格納制御手段を含み、
前記ディスクイメージ格納制御手段は、前記仮想計算機の識別子と、当該仮想計算機に対応する当該ディスクイメージの識別子とを関連付けて仮想計算機管理テーブルに記録する、仮想計算機管理システム。
The virtual machine management system according to claim 10 or 11,
The real machine includes virtual machine control means for transmitting a disk image corresponding to the virtual machine to the virtual machine management apparatus,
The virtual machine management device includes disk image storage control means for storing the disk image transmitted from the virtual machine control means in a storage device,
The disk image storage control unit is a virtual machine management system that records the identifier of the virtual machine and the identifier of the disk image corresponding to the virtual machine in a virtual machine management table in association with each other.
請求項12に記載の仮想計算機管理システムであって、前記仮想計算機制御手段は、前記仮想計算機の動作を一時的に停止したうえで当該仮想計算機のディスクイメージを前記仮想計算機管理装置に送信する、仮想計算機管理システム。   The virtual machine management system according to claim 12, wherein the virtual machine control means temporarily stops the operation of the virtual machine and transmits a disk image of the virtual machine to the virtual machine management apparatus. Virtual computer management system. 請求項12または13に記載の仮想計算機管理システムであって、前記ディスクイメージ格納制御手段は、前記仮想計算機のディスクイメージの識別子と、当該仮想計算機に対応する当該パッケージ情報とを関連付けて前記仮想計算機管理テーブルに記録する、仮想計算機管理システム。   14. The virtual machine management system according to claim 12, wherein the disk image storage control unit associates an identifier of a disk image of the virtual machine with the package information corresponding to the virtual machine to associate the virtual machine with the virtual machine management system. A virtual machine management system that records in the management table.
JP2011502628A 2009-03-05 2010-02-25 Virtual machine management system Pending JPWO2010100867A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009052603 2009-03-05
JP2009052603 2009-03-05
PCT/JP2010/001275 WO2010100867A1 (en) 2009-03-05 2010-02-25 Virtual machine management system

Publications (1)

Publication Number Publication Date
JPWO2010100867A1 true JPWO2010100867A1 (en) 2012-09-06

Family

ID=42709437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011502628A Pending JPWO2010100867A1 (en) 2009-03-05 2010-02-25 Virtual machine management system

Country Status (2)

Country Link
JP (1) JPWO2010100867A1 (en)
WO (1) WO2010100867A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5648902B2 (en) * 2010-09-30 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method for managing snapshots of virtual server and apparatus embodying the method
US9003397B2 (en) 2011-09-29 2015-04-07 Oracle International Corporation System and method for supporting automatically deploying/undeploying application components in a transactional middleware machine environment
JP6304418B2 (en) * 2017-02-23 2018-04-04 キヤノンマーケティングジャパン株式会社 Information processing apparatus, information processing method, and computer program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041295A (en) * 2000-07-24 2002-02-08 Sony Corp Software update management system, management method, and record medium
JP3644361B2 (en) * 2000-08-21 2005-04-27 日本電気株式会社 Program update information centralized management system
JP4050249B2 (en) * 2004-05-20 2008-02-20 株式会社エヌ・ティ・ティ・データ Virtual machine management system
JP2007079773A (en) * 2005-09-13 2007-03-29 Fuji Xerox Co Ltd Software distribution server and method for distributing software

Also Published As

Publication number Publication date
WO2010100867A1 (en) 2010-09-10

Similar Documents

Publication Publication Date Title
KR102236522B1 (en) Method and apparatus for processing information
US9575739B2 (en) Performing unattended software installation
US20180181632A1 (en) Automatically executing tasks and configuring access control lists in a data transformation system
CN110088733A (en) The layout based on accumulation layer of virtual machine (vm) migration
US20130290952A1 (en) Copying Virtual Machine Templates To Cloud Regions
JP5682996B2 (en) Client program, terminal, server device, server program, system and method
EP2019358A1 (en) A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers
US9170806B2 (en) Software discovery by an installer controller
JP2017123188A (en) Recovery of tenant data across tenant moves
US20150222731A1 (en) Computer, guide information providing method and recording medium
CN111033633B (en) Uploading data records to a cloud repository
CN107528718B (en) Method, device and system for acquiring resources
JP5686199B2 (en) Server device, log transfer program, log transfer method, and log transfer system
JP5403448B2 (en) Virtual machine management apparatus, virtual machine management method, and program
WO2019181860A1 (en) Application execution device, application execution method, and recording medium
WO2010100867A1 (en) Virtual machine management system
JP6993577B2 (en) Interface conversion program, interface conversion method and information processing equipment
JP2014123360A (en) Tag classification system and method for virtual machine
KR101762861B1 (en) Programmable computation system using one or more function modules, method for processing information using one or more function modules and computer program for the same
WO2011117957A1 (en) Virtual machine management device, virtual machine virtual machine management device, virtual machine management system, virtual machine management method, and program
JP2014164545A (en) Deployment method and program
JP5403445B2 (en) Virtual machine management apparatus, virtual machine management method, and program
JP2016181091A (en) Information management apparatus, information management method, information management program, data structure, and software asset management system
JP2015158809A (en) Distribution method, distribution device, terminal device, and distribution system
WO2010035480A1 (en) Distributed processing system, distributed processing method, and program