JP5598762B2 - 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム - Google Patents

仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム Download PDF

Info

Publication number
JP5598762B2
JP5598762B2 JP2010501990A JP2010501990A JP5598762B2 JP 5598762 B2 JP5598762 B2 JP 5598762B2 JP 2010501990 A JP2010501990 A JP 2010501990A JP 2010501990 A JP2010501990 A JP 2010501990A JP 5598762 B2 JP5598762 B2 JP 5598762B2
Authority
JP
Japan
Prior art keywords
virtual machine
package
graph
machine package
contracted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010501990A
Other languages
English (en)
Other versions
JPWO2009110616A1 (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
Priority to JP2010501990A priority Critical patent/JP5598762B2/ja
Publication of JPWO2009110616A1 publication Critical patent/JPWO2009110616A1/ja
Application granted granted Critical
Publication of JP5598762B2 publication Critical patent/JP5598762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに関し、特に構築済みのシステムから複数の仮想マシンパッケージを生成する際に仮想マシンパッケージ間の依存関係を削減し、再利用性の高い仮想マシンパッケージを生成できる仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに関する。
本発明に関する現時点での技術水準をより十分に説明する目的で、本願で引用され或いは特定される特許、特許出願、特許公報、科学論文等の全てを、ここに、参照することでそれらの全ての説明を組入れる。
仮想マシン技術は、1つのコンピュータハードウェア(物理マシン)上でソフトウェアによって擬似的なコンピュータハードウェアを複数作り出すことを可能にする。擬似的なコンピュータハードウェアを仮想マシンと呼ぶ。仮想マシンは、物理マシンと同様に、オペレーティングシステム(OS)やアプリケーションプログラム(アプリケーション)を動作させることができる。OSやアプリケーションは物理マシンのハードウェア構成に依存せず、仮想マシン実行環境を備える様々な物理マシン上で実行可能となる。
OSやアプリケーションをインストール済みの仮想マシンは仮想マシンフォーマット形式によって保存して再利用することができる。非特許文献1では、仮想マシン実行環境であるVMware ESX Serverの仮想マシンディスクフォーマット形式VMDKが示されている。VMDKで保存された仮想マシンは別のVMware ESX Serverの環境に配布することで再現することができる。
このような仮想マシンの保存・再現技術は、様々な産業上の応用が期待される。例えば、大規模災害時に壊れたシステムを別の場所で再現するディザスタリカバリへの応用が期待できる。また、システム構築の際に、テスト環境で構築したシステムをそのまま実環境に移行させる用途にも利用できる。
しかし、一般的な企業システムやデータセンタは、複数のコンピュータがネットワークで接続された分散システムであるため、仮想マシンによるコンピュータの保存・再現技術だけでは十分ではない。1つのコンピュータ上で動作するOSやアプリケーションの構成だけでなく、ネットワーク設定やアプリケーション通信などの分散システムとしての構成も保存して再現しなければならない。
そこで、複数の仮想マシンを分散システムとしての構成情報も含んだ形でパッケージ化し、仮想マシンパッケージとして保存する手法が考えられている。仮想マシンパッケージのフォーマットはDMTF(Distributed Management Task Force)のOVF(Open Virtual Machine Format)として標準化が進められている。OVFではフォーマット形式を定めてはいるが、分散システムをどのように分割してパッケージ化するかは規定していない。
VMware Virtual Disk Format 1.0, http://www.vmware.com/interfaces/vmdk.html OVF: Open Virtual Machine Format Specification, http://www.vmware.com/pdf/ovf_spec_draft.pdf 特開2001−5865号公報 特開2006−293592号公報 特開2007−158870号公報 特開平8−69364号公報
すでに、仮想マシンに関しては、特許文献1乃至特許文献4などが開示されているが以下の課題については解決されていない。
発明が解決しようとする課題は以下の通りである。
第1の問題点は分散システムから生成された仮想マシンパッケージは、パッケージとしての再利用性が低く、配布時に多くの設定作業を必要とすることである。
その理由は、分散システムから仮想マシンパッケージに分割する際に、多くの仮想マシンパッケージ間の依存関係が残るため、配布先の環境に合わせて依存関係を解決するための設定作業が必要となるためである。
第2の問題点は分散システムから1つの物理マシンで動作することを前提に生成された仮想マシンパッケージは、配布先のネットワークに大きな負荷をかけることである。その理由は、分散システムから仮想マシンパッケージに分割する際に、多くの仮想マシンパッケージ間の依存関係が残るため、配布先のネットワークでの通信が必要となるためである。
そこで、本発明の目的は、分散システムから仮想マシンパッケージを生成する際に、仮想マシンパッケージ間の依存関係を可能な限り削減する仮想マシンパッケージ生成方法を提供することである。
上記の課題を解決すべく本発明に係る仮想マシンパッケージ生成システムは、仮想マシンイメージ生成機能と仮想マシンパッケージ設定ファイル生成機能とを備え、仮想マシン設定ファイル生成機能は、対象システムで動作するプログラムや設定情報を解析した結果を収集する解析情報収集部、グラフ構造変換部、縮約グラフ生成部、仮想マシンパッケージ設定ファイル生成部を備え、対象システムの依存関係をグラフ構造化し、辺の重みを最小化するようにグラフの縮約を行い、仮想マシンパッケージの候補を切り出して、仮想マシンパッケージの設定ファイルを生成するように動作する。このような構成を採用し、仮想マシンパッケージ間の依存関係を削減することにより、本発明の目的を達成することができる。
また、本発明に係る仮想マシンパッケージ生成方法は、対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成し、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成し、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納することを特徴とすることにより、本発明の目的を達成することができる。
さらに、本発明に係るプログラムは、対象とするコンピュータシステムの構成と接続関係から仮想マシンイメージを生成する処理と、対象とするコンピュータシステム間の依存関係を解析して仮想マシンパッケージの設定ファイルを生成する処理と、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する処理とをコンピュータに実行させることにより、本発明の目的を達成することができる。
第1の効果は、仮想マシンパッケージの配布による分散システムの再現を迅速に処理できることである。
その理由は、仮想マシンパッケージ間の依存関係を削減できるため、配布先のシステム環境に合わせて設定変更を行わなければならない箇所を削減でき、設定作業時間を短縮できるためである。
第2の効果は、仮想マシンパッケージの再利用性を高められることである。その理由は、仮想マシンパッケージ間の依存関係を削減できるため、少ない設定項目で異なるシステム上に仮想マシンパッケージを再現可能となるためである。
第3の効果は、仮想マシンパッケージを1つの物理サーバ上に対応づけて配布する場合に、仮想マシンパッケージの配布先のネットワーク負荷を削減できることである。
その理由は、仮想マシンパッケージ間の依存関係を削減できるため、配布先のネットワークを介して通信する処理が削減されるためである。
本発明に係る第1の発明を実施するための最良の形態の構成を示すブロック図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージの構成を示すブロック図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージの構成を示すブロック図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージ生成処理の動作を示す流れ図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成処理の動作を示す流れ図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムの依存関係抽出方法の流れ図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムの依存関係の解析結果の具体例を示す図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムをグラフ構造に変換した具体例を示す図である。 本発明に係る第1の発明を実施するための最良の形態の対象システムを表すグラフ構造を縮約したグラフの構成を示す図である。 本発明に係る第1の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイルの具体例を示す図である。 本発明に係る第2の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能の構成を示すブロック図である。 本発明に係る第2の発明を実施するための最良の形態の仮想マシンパッケージ生成処理の動作を示す流れ図である。 本発明に係る第2の発明を実施するための最良の形態のネットワーク性能情報の具体例を示す図である。 本発明に係る第2の発明を実施するための最良の形態の対象システムをグラフ構造に変換してネットワーク性能情報で辺に重み付けを行ったグラフの構成を示す図である。 本発明に係る第2の発明を実施するための最良の形態の対象システムを表すグラフ構造を縮約したグラフの構成を示す図である。 本発明に係る第3の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能の構成を示すブロック図である。 本発明に係る第3の発明を実施するための最良の形態の仮想マシンパッケージ生成処理の動作を示す流れ図である。 本発明に係る第3の発明を実施するための最良の形態のサーバ性能情報の具体例を示す図である。 本発明に係る第3の発明を実施するための最良の形態の対象システムをグラフ構造に変換してサーバ性能情報で点に重み付けを行ったグラフの構成を示す図である。 本発明に係る第3の発明を実施するための最良の形態の物理サーバ制約の具体例を示す図である。 本発明に係る第3の発明を実施するための最良の形態の対象システムを表すグラフ構造を縮約したグラフの構成を示す図である。 本発明の実施例の対象とするWebアプリケーションシステムの構成を示す図である。 本発明の実施例の対象とするシステムをグラフ構造に変換した図である。 本発明の実施例の対象とするシステムをサーバ性能情報に基づいて点に重み付けを行ったグラフ構造を示す図である。 本発明の実施例の対象とするシステムをサーバ性能情報に基づいて点に重み付けを行ったFFDアルゴリズムに従った流れ図である。 本発明の実施例の対象とするシステムを表すグラフに対し、Fist Fit減少アルゴリズムによってグラフを縮約した構成を示す図である。 本発明の実施例の対象とするシステムを表すグラフに対し、依存関係を削減するようにグラフ縮約を行った結果の構造を示す図である。 本発明の実施例の仮想マシンパッケージ設定ファイルの具体例を示す図である。 本発明の実施例で生成した仮想マシンパッケージを配布する際の具体例を示した図である。 本発明の第2の実施例の対象とするシステムをサーバ性能情報に基づいて点に重み付けを行ったグラフ構造を示す図である。
符号の説明
1 仮想マシンパッケージ生成システム
2 対象システム
11 仮想マシンパッケージ生成機能
12 仮想マシンイメージ生成機能
13 仮想マシンパッケージ格納部
14 仮想マシンパッケージ設定ファイル生成機能
21 設定情報・プログラム解析部
22 アプリケーションプログラム(アプリケーション)
23 オペレーティングシステム(OS)
131 仮想マシンパッケージ
132 仮想マシンイメージ
133 設定ファイル
141 解析情報収集部
142 グラフ構造変換部
143 縮約グラフ生成部
144 仮想マシンパッケージ設定ファイル生成部
145 ネットワーク性能情報格納部
146 サーバ性能情報格納部
147 物理サーバ制約格納部
500 ロードバランサ
501 Webサーバ
505 APサーバ
505 APサーバ
507 DBサーバ
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態は、仮想マシンパッケージを生成するための仮想マシンパッケージ生成システム1と、対象となる分散システムを構成する複数の対象システム2から構成される。
対象システム2はコンピュータ(中央処理装置;プロセッサ;データ処理装置)上で動作するオペレーティングシステム(OS)23とアプリケーションプログラム(アプリケーション)22を含み、OS23やアプリケーション22を構成するプログラムや設定情報を解析する設定情報・プログラム解析部21を備える。
仮想マシンパッケージ生成システム1は仮想マシンパッケージ生成機能11、仮想マシンイメージ生成機能12、仮想マシンパッケージ格納部13、仮想マシンパッケージ設定ファイル生成機能14を含む。
ここで、仮想マシンパッケージ生成システム1を1つのサーバ等の1つの中央演算素子と記憶素子を含むコンピュータで構成した場合の構成例を図2に示す。仮想マシンパッケージ生成システム1は、中央演算素子3とプログラムメモリと仮想マシンパッケージ格納部13とネットワークインターフェース5とから構成され、プログラムメモリ内に仮想マシンパッケージ生成機能11と仮想マシンイメージ生成機能12と仮想マシンパッケージ設定ファイル生成機能14とが格納される。また、ネットワークインターフェース5を介して対象システムAと接続される。これらの機能を有するプログラムは中央演算素子3と協同して動作する。
さらに、仮想マシンパッケージ設定ファイル生成機能14は解析情報収集部141、グラフ構造変換部142、縮約グラフ生成部143、仮想マシンパッケージ設定ファイル生成部144を含む。
これらの機能はそれぞれ概略つぎのように動作する。
仮想マシンパッケージ生成機能11は仮想マシンイメージ生成機能12を利用して対象システム2の構成と接続関係から仮想マシンイメージを作成する。さらに、仮想マシンパッケージ設定ファイル生成機能14を利用して仮想マシンパッケージ設定ファイルを作成する。作成した仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして仮想マシンパッケージ格納部13に格納する。図3は仮想マシンパッケージの一例を示している。仮想マシンパッケージ格納部13に格納される仮想マシンパッケージ131は、複数の仮想マシンイメージ132と、仮想マシンパッケージを配布して利用する際に設定する要素を記述した設定ファイル133で構成される。
仮想マシン設定ファイル生成機能14では、解析情報収集部141が、複数の対象システム2の設定情報・プログラム解析部21から得られる対象システム間の依存関係に関する情報を集める。集めた情報はグラフ構造変換部142に入力され、対象システムの依存関係を点と線で表されるグラフ構造に変換する。縮約グラフ生成部143では、生成されたグラフ構造の縮約グラフを生成することで対象システムのグループ化を行い、仮想マシンパッケージの候補を抽出する。仮想マシンパッケージ設定ファイル生成部144では、生成された縮約グラフに基づいて、仮想マシンパッケージ間の依存関係を特定し、依存関係を解決するための設定要素を設定ファイルに記述する。
この依存関係を抽出する依存関係抽出方法について図6を用いて説明する。まず、各サーバを識別するサーバ識別子情報を各サーバに格納されるシステムファイルからサーバ毎に抽出する。具体的には、ホスト名、IPアドレス、MACアドレス情報を抽出する(2200)。
さらに、続いて各サーバより設定ファイルと、アプリケーションのソースファイルを抽出する(2202)。続いて、抽出された設定ファイルとソースファイルから2200で抽出したサーバ識別子情報を抽出して、どの設定ファイルとどのサーバに依存関係があり、また、どのアプリケーションとどのサーバに依存関係があるかを抽出する(2204)。サーバ毎に抽出を行い、残りのサーバが無くなるまで依存関係を抽出する(2206)。残りのサーバがあるうちは、工程2202より繰り返し、全てのサーバについて抽出したら完了となる(2208)。
次に、図4、図5のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。はじめに、仮想マシンパッケージ生成機能11は仮想マシンイメージ生成機能12を利用し、対象システム2の仮想マシンイメージを作成する(図5のステップ1000)。仮想マシンイメージの生成は対象システム毎に行い、対象システムの数だけ仮想マシンイメージが生成される。
仮想マシンイメージは、既存のシステムから仮想マシンイメージを生成する方法としては大きく以下の2つの方法がある。第1の方法は仮想化機能を利用して、対象とするシステムと同じ構成を持つ仮想マシンを1から再構築する方法である。具体的には、管理者が仮想マシンの仕様を策定し、その仕様に沿って管理者自らが設定ファイルを作成しながら完成する方法である。管理者がシステムの構築を詳細に把握している必要があり、構築にかかる工数も大きい。一方、第2の方法は、予め設定の拡張可能な仮想マシンであって必要な設定ファイルが準備された仮想マシンを、仮想マシンへ移行する物理サーバと並立して起動させて順次、物理サーバのデータを仮想マシンへコピーする方法である。この場合、必要情報を物理サーバから抽出しながら行うことで、管理者の工数を削減することができる。
具体的に、第一に仮想マシンイメージ生成機能12は移行側装置に移行先仮想マシンを生成するためのデータすべてをインストールして移行先仮想マシンを生成する。
仮想マシンイメージ生成機能12は移行元物理サーバと移行先仮想マシンにそれぞれのブート時の起動ファイルであるブートイメージシステムがインストールされる。
移行元物理サーバと移行先仮想マシンはいずれも再起動され、両者が接続されるDHCPサーバからIPアドレスを取得する。続いて、仮想マシンイメージ生成機能12は、ブートイメージで移行元物理サーバから移行先仮想マシンへファイルを転送する。
移行先仮想マシンは、ドライバ変換を含むシステム変更がなされる。前記ブートイメージシステムは削除されて完了する。
次に、仮想マシンパッケージ生成機能11は仮想マシンパッケージ設定ファイル生成機能14を利用し、仮想マシンパッケージ設定ファイルを生成する(ステップ1001)。
仮想マシンパッケージ生成機能11は仮想マシンイメージと仮想マシンパッケージ設定ファイルをアーカイブまたは特定のディレクトリに収め、仮想マシンパッケージとする(ステップ1002)。
具体的には、特定のディレクトリに対応するファイルを生成し、そのヘッダーにはファイルネームとファイルモードとファイルオーナ名とファイルサイズとファイル修正時間情報とチェックサム情報とリンク情報とまとめる各ファイル名とが記載され、実データがそのヘッダーとともに一つのデータとして保存される。例えば、UNIX(登録商標)の書庫用コマンドであるtarコマンドを代用することもできる。圧縮する場合は、compress,gzip,bzip2コマンドを用いることもできる。
さらに、作成した仮想マシンパッケージを所定の格納場所に格納する(ステップ1003)。具体的には、前記コマンドで生成した仮想マシンパッケージデータを特定のディレクトリに格納する。
図5は仮想マシンパッケージ設定ファイル生成の動作を説明するためのフローチャートである。はじめに、対象システム2で設定情報プログラム解析部21を利用して、対象システムで動作するOSやアプリケーションのネットワーク設定や通信関係を抽出する(ステップ2000)。3つの対象システムA、B、Cを持つ場合の解析結果の例を図7に示す。この例では、図7は、アプリケーションAがアプリケーションBを呼び出し、アプリケーションBがアプリケーションCを呼び出す関係にあることを示している。
次に解析情報収集部141によって、解析結果を収集する(ステップ2001)。
また、収集された解析結果はグラフ構造変換部142に入力され、対象システムの依存関係をグラフ構造に変換する(ステップ2002)。図7の例では、アプリケーションの呼び出し関係に基づき、図8に示すグラフ構造が得られる。具体的には1つのシステムを1つのノードと定義し、システム同士の1つの結合関係としてノード同士を結合する1つのエッジと定義して、図6に示されるノードとして示される各システムをエッジで示される結線として抽象化されたグラフ表示させるプログラムである。
さらに、縮約グラフ生成部143によって、辺(エッジ)の数を削減するようにノードを縮約した縮約グラフを生成する(2003)。図9では図8に対して対象システムAと対象システムBを縮約して対象システムBと対象システムCを結合するエッジのみを残すものである。
辺の数を最小化する縮約グラフの生成は最適化問題として定式化できるため、近似解を求めるためのヒューリスティック手法などを用いて問題を解く。ここでは、ヒューリスティック手法を用いたサブルーチンから近似解を算出する。縮約グラフの例として図9に示す縮約グラフが得られた場合について説明する。この例では対象システムAと対象システムBが縮約されて一つの点として表現されている。生成された縮約グラフの点を一つの仮想マシンパッケージとして扱い、仮想マシンパッケージ設定ファイル生成部144によって仮想マシンパッケージ設定ファイルを生成する(2004)。
仮想マシンパッケージの設定ファイルの例を図10に示す。対象システムAと対象システムBを含む仮想マシンパッケージABの設定ファイルには、各システムが縮約されて仮想マシンパッケージのIPアドレスと、VLAN IDとが設定される。その他の項目に、アプリケーションCと通信するためのアドレスとポートの設定項目が追加される。これは、アプリケーションBがアプリケーションCと通信するために必要な設定である。
次に、本実施の形態の効果について説明する。
本実施の形態では、仮想マシンパッケージを生成する対象システムの依存関係を解析し、解析結果に基づいてグラフ構造を作成し、辺の数が少なくなるように縮約グラフを生成し、仮想マシンパッケージの候補を切り出して設定ファイルを生成するように構成されているため、仮想マシンパッケージ間の依存関係を削減できる。
次に、本発明の第2の発明を実施するための最良の形態について図面を参照して詳細に説明する。
図11は本発明の第2の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能14の構成を示している。仮想マシンパッケージ設定ファイル生成機能は、グラフ構造変換部142がネットワーク性能情報格納部145を参照し、グラフの辺に重み付けを行うように構成されている。ネットワーク性能情報格納部145は、対象システム間のネットワーク性能に関する情報(帯域、通信量の統計値など)を格納する。
図12は本発明の第2の発明を実施するための最良の形態の動作を示すフローチャートである。
まず、対象システム2で設定情報プログラム解析部21を利用して、対象システムで動作するオペレーティングシステムやアプリケーションのネットワーク設定や通信関係を抽出する(ステップ3000)。
次に解析情報収集部141によって、解析結果を収集する(ステップ3001)。
収集された解析結果はグラフ構造変換部142に入力され、対象システムの依存関係をグラフ構造に変換する(ステップ3002)。
次にネットワーク性能情報格納部145に格納されたネットワーク性能情報に基づいて、グラフの辺に相対的な重み付けを行う。例えば、図13のようなネットワーク性能情報があった場合は、図14のように辺に重み付けを行う。辺の重み付けは、ネットワークの転送速度等のネットワーク性能情報を参照して決定する。さらに、設定項目の数に基づいて行っても良い。重み付けされたグラフに対し、縮約グラフ生成部143は辺の重みを最小化するようにグラフ縮約を行う(ステップ3004)。生成された縮約グラフの例を図15に示す。重みを最小化するため、重みの大きなエッジ(辺)を有するノード同士を縮約している。
生成された縮約グラフに基づいて、仮想マシンパッケージの設定ファイルを生成する(ステップ2005)。仮想マシンパッケージ全体の生成手順は、図4に示した方法と同じである。
次に、本発明を実施するための最良の形態の効果について説明する。本発明を実施するための最良の形態では、ネットワークの性能情報に基づいてグラフの辺に重み付けを行い、辺の重みを最小化するようにグラフ縮約を行うため、仮想マシンパッケージ配布時のネットワーク負荷を削減することができる。特に、仮想マシンパッケージを一つに物理サーバに配布する場合、物理サーバ間の通信量を削減することができる。
次に、本発明の第3の発明を実施するための最良の形態について図面を参照して詳細に説明する。
図16は本発明の第3の発明を実施するための最良の形態の仮想マシンパッケージ設定ファイル生成機能の構成を示している。仮想マシンパッケージ設定ファイル生成機能14は、グラフ構造変換部142がサーバ性能情報格納部146を参照し、グラフの点に重み付けを行うように構成されている。さらに、縮約グラフ生成部143が物理サーバ制約格納部147を参照し、配布先の物理サーバの性能に合わせてグラフの縮約を行うように構成されている。サーバ性能情報格納部146は、対象システムのサーバ性能に関する情報(CPU利用率、CPUスペック、メモリ容量、メモリ利用量、ディスク帯域など)を格納する。物理サーバ制約格納部には、配布対象の物理サーバの性能情報(稼働可能な仮想マシンの数、CPUスペック、メモリ容量など)を格納する。
図17は本発明の第3の発明を実施するための最良の形態の動作を示すフローチャートである。
はじめに、対象システム2で設定情報プログラム解析部21を利用して、対象システムで動作するOSやアプリケーションのネットワーク設定や通信関係を抽出する(ステップ4000)。
次に解析情報収集部141によって、解析結果を収集する(ステップ4001)。
また、収集された解析結果はグラフ構造変換部142に入力され、対象システムの依存関係をグラフ構造に変換する(ステップ4002)。
更に、サーバ性能情報格納部145に格納されたサーバ性能情報に基づいて、グラフの点に相対的な重み付けを行う。例えば、図18のようなサーバ性能情報があった場合は、図19のように点に重み付けを行う(ステップ4003)。
重み付けされたグラフに対し、縮約グラフ生成部143は物理サーバ制約格納部147を参照し、各点の重みが指定した値より大きくならない範囲でグラフの縮約を行う(ステップ4004)。例えば、図20に示す物理マシン制約情報があった場合、配布先の物理マシンの相対的な処理能力は1.0と見積もれるため、縮約グラフの各点の重みが1.0以下となる範囲でグラフの縮約を行う。生成された縮約グラフの例を図21に示す。
生成された縮約グラフに基づいて、仮想マシンパッケージの設定ファイルを生成する(ステップ4005)。仮想マシンパッケージ全体の生成手順は、図4に示した方法と同じである。
次に、本発明を実施するための最良の形態の効果について説明する。本発明を実施するための最良の形態では、サーバの性能情報に基づいてグラフの点に重み付けを行い、配布先の物理サーバの性能情報に基づいて、縮約グラフの点の重みに制約を設けて縮約グラフを生成するため、一つの物理サーバに収まる仮想マシンパッケージを生成することができる。仮想マシンパッケージが物理サーバ内に収まる場合、仮想マシンパッケージ内の依存関係は配布時に考慮する必要はないため、仮想マシンパッケージの配布が容易になる。
(実施例1)
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。
図22に示すWebアプリケーションシステムを仮想マシンパッケージとして分割して保存する例を示す。 対象とするシステムは2つのWebアプリケーションシステムで構成される。どちらのWebアプリケーションシステムもロードバランサ500を介してクライアントからのリクエストを受け付ける。各サーバの間の線はサーバの呼び出し関係を表している。例えば、Webサーバ501はAP(アプリケーション)サーバ505を呼び出し、APサーバ505はDBサーバ507を呼び出す。
はじめに、仮想マシンイメージ生成機能12によって、Webアプリケーションシステムを構成する各サーバの仮想マシンイメージを生成する。ロードバランサもソフトウェアロードバランサとして実現されていることを想定し、仮想マシンイメージを生成する。
次に、各サーバおよびロードバランサの設定情報やプログラムを解析し、サーバやアプリケーション間の依存関係を抽出する。この情報をもとにグラフ構造に変換した結果、図23の構成が得られたとする。各サーバは点で表され、サーバ間の依存関係が辺で表される。さらに、ここでは、各サーバの処理量に基づいて、点に重み付けを行う。例えば、過去一ヶ月間のCPU利用率の最大値に基づいて、各サーバの処理量を相対的に評価する。点に重み付けを行った後のグラフを図24に示す。
ここで、グラフを縮約する際の制約を設ける。仮想マシンパッケージを一つの物理サーバに配備することを想定し、仮想マシンパッケージの大きさを一定量に制限する。具体的には、縮約グラフの各点の重みが1.0以下となるように、縮約を行うこととする。
はじめに、依存関係を考慮せず、最小のパッケージ数で対象システムを分割する手法を示す。問題は、仮想マシンパッケージに各仮想マシンを詰めていくビンパッキング問題として定式化でき、First−Fit減少アルゴリズムという近似アルゴリズムによって近似解を求めることができる。
ここで、First−Fit減少アルゴリズムを用い、依存関係を考慮せず、最小のパッケージ数で対象システムを分割する流れ図を図25に示す。
まず、図24に示されるように、各装置に重み付けがなされて、ここでは、ファイルサーバ:0.6、DBサーバ:0.5、APサーバ2:0.4、APサーバ1:0.4、Webサーバ3:0.4、Webサーバ4:0.4、APサーバ3:0.3、Webサーバ2:0.3、Webサーバ1:0.3、ロードバランサ:0.2と設定されている。まず、仮想マシンイメージ生成機能12は、これらの装置をその重み付け値(縮約値)の順序にソートする(5000)。
続いて、縮約値の最大の装置の有無を判定する(5002)。縮約値の最大の装置が無い場合は、分割すべき装置がないため、仮想パッケージの分割工程は完了する(5010)。他方、縮約値の最大の装置が有る場合は、現在存在する仮想パッケージのなかに、その縮約値の最大の装置を収納する仮想パッケージの有無を判定する(5004)。ここでは、仮想パッケージの最大収納可能縮約値を1.0と設定する。既に複数の装置が仮想パッケージに収納され、最大収納可能縮約値1.0から収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも大きければ収納可能となり、その既存の仮想パッケージに現在の縮約値の最大の装置を収納する(5008)。そこで、再び、5002工程へ遷移する。
一方、最大収納可能縮約値1.0から収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも小さい場合は、新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する(5006)。また、仮想パッケージが一つも生成されていない場合も新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する。そこで、再び、5002工程へ遷移する。この結果として、First−Fit減少アルゴリズムを適用して仮想マシンパッケージの候補を切り出した結果を図26に示す。仮想マシンパッケージの数は4となり最小値が達成される。このとき、仮想マシンパッケージ間の依存関係、すなわち、辺の数は9となる。
次に、依存関係を考慮し、グラフの縮約によって対象システムを分割する手法を示す。グラフに対して辺縮約を行うと、辺で示される依存関係が、一つの点の中に収められるため、依存関係を削減する効果がある。したがって、仮想マシンパッケージの大きさの制約の範囲で、辺縮約をできるだけ多く繰り返すことで、依存関係の少ない縮約グラフを生成できる。辺縮約によって得られた縮約グラフの一例を図27に示す。仮想マシンパッケージ数は4で最小であり、仮想マシンパッケージ間の依存関係の数は6となる。依存関係を考慮しない場合に比べて、依存関係の少ない仮想マシンパッケージを生成することができる。
図27の縮約グラフに基づいて仮想マシンパッケージ設定ファイルを生成すると、図28のようになる。
仮想マシンイメージと、仮想マシンパッケージ設定ファイルによって、別の環境で対象となるWebアプリケーションシステムを再現することができる。このとき、仮想マシンパッケージ間の依存関係が少ないため、仮想マシンパッケージ配布時の設定作業が少なくてすむ。また、仮想マシンパッケージを一つの物理サーバに配置するので、仮想マシンパッケージ間の依存関係が少ないことによって、物理サーバ間のネットワーク負荷も削減される。
図29は生成した仮想マシンパッケージを172.16.0.0/24のネットワークのシステムに配布して再現する際の構成と設定ファイルを示している。仮想マシンパッケージのIPアドレスやVLAN IDは配布対象のシステムに合わせて変更される。アドレスの変更に伴い、アプリケーション通信に関する設定を変更する必要がある。仮想マシンパッケージ内の通信は、仮想化機能が提供する仮想スイッチによって、アドレス変更なしに実現できる。仮想スイッチには配布対象のシステムに適合させるためのNATの設定やVLAN IDの設定を行う。
(実施例2)
ここで、実施例1では最小のパッケージ数で対象システムを分割する手法において、縮約グラフの各点の重みが1.0以下となるように規定した条件で仮想パッケージを分割した。
しかし、仮想パッケージを展開する物理的環境によっては、必ずしも全ての縮約グラフの各点の重みが1.0以下となるわけではない。その重み付けを予め定めた値以下としたり、生成される仮想パッケージ毎に重み付けを変更することで、物理的環境やサーバ資源に適合した仮想パッケージを生成することができる。以下に重み付けを予め定めた値以下とした場合の対象システムを仮想パッケージに分割する流れ図を図30に示す。
縮約値の最大の装置の有無を判定する(6002)。縮約値の最大の装置が無い場合は、分割すべき装置がないため、仮想パッケージの分割工程は完了する(6010)。他方、縮約値の最大の装置が有る場合は、現在存在する仮想パッケージのなかに、その縮約値の最大の装置を収納する仮想パッケージの有無を判定する(6004)。ここでは、仮想パッケージの最大収納可能縮約値をAと設定する。既に複数の装置が仮想パッケージに収納され、最大収納可能縮約値Aから収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも大きければ収納可能となり、その既存の仮想パッケージに現在の縮約値の最大の装置を収納する(6008)。そこで、再び、6002工程へ遷移する。
一方、最大収納可能縮約値Aから収納済装置の縮約値の和を差し引いた値が、現在の縮約値の最大の装置縮約値よりも小さい場合は、新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する(6006)。また、仮想パッケージが一つも生成されていない場合も新たな仮想パッケージを生成して、その内部に現在の縮約値の最大の装置を収納する。そこで、再び、6002工程へ遷移する。この結果として、First−Fit減少アルゴリズムを適用して仮想マシンパッケージに任意の重み付けで分割することができる。このAの値はすべて一定値とすることもでき、また、パッケージ毎に変更することができる。
本発明によれば、大規模災害時に壊れたシステムを別の場所で再現するディザスタリカバリといった用途に適用できる。また、システム構築の際に、テスト環境で構築したシステムをそのまま実環境に移行させるといった用途にも利用できる。
さらに、システム構築後、安定動作の確認されたシステムの事例をベースに、新しい環境でシステム構築を行うといった用途に適用できる。
本発明は、仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに関し、特に、特に構築済みのシステムから複数の仮想マシンパッケージを生成する際に仮想マシンパッケージ間の依存関係を削減し、再利用性の高い仮想マシンパッケージを生成できる仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成用プログラムに適用して有効な技術に関するものであれば、あらゆるものに適用することが可能であり、その利用の可能性において何ら限定するものではない。
幾つかの好適な実施の形態及び実施例に関連付けして本発明を説明したが、これら実施の形態及び実施例は単に実例を挙げて発明を説明するためのものであって、限定することを意味するものではないことが理解できる。本明細書を読んだ後であれば、当業者にとって等価な構成要素や技術による数多くの変更および置換が容易であることが明白であるが、このような変更および置換は、添付の請求項の真の範囲及び精神に該当するものであることは明白である。

Claims (18)

  1. 対象とするネットワークに接続された分散システムを構成する各コンピュータシステムにインストールされたオペレーティングシステムのディスクイメージからそれぞれ仮想マシンイメージを生成する仮想マシンイメージ生成機能と、
    対象とする分散システムに含まれるコンピュータシステム間の依存関係を特定して、パッケージ生成後に該依存関係をユーザが設定変更できるようにするための設定項目を設けた仮想マシンパッケージの設定ファイルを生成する仮想マシンパッケージ設定ファイル生成機能と、
    仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する仮想マシンパッケージ格納機能とからなり、
    対象とする分散システムを、仮想マシンパッケージ格納機能を用いて格納し、仮想マシン実行環境で再現するための仮想マシンパッケージを生成する仮想マシンパッケージ生成システム。
  2. 前記仮想マシンパッケージ設定ファイル生成機能は、
    対象とするコンピュータシステムの設定情報やプログラムを解析した結果を収集する解析情報収集部と、
    上記解析した結果から、コンピュータシステム間の前記依存関係を、各コンピュータシステムを点、依存関係を辺としたグラフ構造として表現するグラフ構造に変換するグラフ構造変換部と、
    前記変換されたグラフ構造をさらに変換して縮約グラフを生成する縮約グラフ生成部と、
    前記縮約グラフ中の各点を一つの仮想マシンパッケージとして対応させ、各点に縮約された縮約前のグラフ構造の点から、その仮想マシンパッケージに含める仮想マシンを特定することにより、縮約グラフに基づいて仮想マシンパッケージの候補を決定し、仮想マシンパッケージに含まれる仮想マシンが他の仮想マシンやシステムを参照および呼び出す際に必要となる設定項目を、縮約グラフの辺から特定して仮想マシンパッケージの設定要素を設定ファイルとして書き出す仮想マシンパッケージ設定ファイル生成部を含む請求項1記載の仮想マシンパッケージ生成システム。
  3. 前記仮想マシンパッケージ設定ファイル生成機能は、対象とするネットワークに接続された複数の前記コンピュータシステムで構成される前記分散システムの各コンピュータシステム間のネットワーク性能値を格納するネットワーク性能情報格納部を含み、前記グラフ構造変換部はさらに、前記ネットワーク性能情報格納部を参照し、コンピュータシステムとコンピュータシステムとの間の前記ネットワーク性能値に基づいて、各コンピュータシステムを点として表現したグラフ構造の辺に重み付けを行うグラフ構造変換部を含むことを特徴とする請求項2に記載の仮想マシンパッケージ生成システム。
  4. 前記仮想マシンパッケージ設定ファイル生成機能は、対象とするコンピュータシステムの性能情報を格納するサーバ性能情報格納部と、仮想マシンパッケージを配布して、仮想マシンパッケージに含まれる一つ以上の仮想マシンを動作させるためのコンピュータシステムであって、前記対象とするネットワークに接続された分散システムを構成する各コンピュータシステムとは別のコンピュータシステムの性能情報を事前に収集して格納する物理サーバ制約格納部とを備え、前記グラフ構造変換部に比べ、前記サーバ性能情報格納部を参照し、前記対象とするコンピュータシステムの性能情報を用いて、該コンピュータシステムに対応するグラフ上の点に重み付けを行う特徴を有するグラフ構造変換部と、前記物理サーバ制約格納部を参照して、縮約グラフの点の重みに制限を設けて縮約グラフを生成する縮約グラフ生成部を備えることを特徴とする請求項2乃至3いずれか一つに記載の仮想マシンパッケージ生成システム。
  5. 前記縮約グラフ生成部が、前記縮約グラフの点の重みを一定値として縮約グラフを生成することにより仮想パッケージを分割する請求項4に記載の仮想マシンパッケージ生成システム。
  6. 前記縮約グラフ生成部が、前記縮約グラフの点の重みをパッケージ毎に変更して縮約グラフを生成することにより仮想パッケージを分割する請求項4に記載の仮想マシンパッケージ生成システム。
  7. コンピュータハードウェア上でソフトウェアによって一つ以上の擬似的なコンピュータハードウェアを作り出す仮想マシンパッケージ生成方法であって、対象とするネットワークに接続された分散システムを構成する各コンピュータシステムにインストールされたオペレーティングシステムのディスクイメージからそれぞれ仮想マシンイメージを生成し、対象とする分散システムに含まれるコンピュータシステム間の依存関係を特定して、パッケージ生成後に該依存関係をユーザが設定変更できるようにするための設定項目を設けた仮想マシンパッケージの設定ファイルを生成し、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納することを特徴とする仮想マシンパッケージ生成方法。
  8. 前記仮想マシンパッケージ設定ファイルの生成に際して、対象とするコンピュータシステムの設定情報やプログラムを解析した結果を収集し、該解析した結果から、コンピュータシステム間の前記依存関係を、各コンピュータシステムを点、依存関係を辺としたグラフ構造として表現するグラフ構造に変換し、前記変換されたグラフ構造を縮約することによって生成した縮約グラフ中の各点を一つの仮想マシンパッケージとして対応させ、各点に縮約された縮約前のグラフ構造の点から、その仮想マシンパッケージに含める仮想マシンを特定することにより、縮約グラフに基づいて仮想マシンパッケージの候補を決定し、仮想マシンパッケージに含まれる仮想マシンが他の仮想マシンやシステムを参照および呼び出す際に必要となる設定項目を、縮約グラフの辺から特定して仮想マシンパッケージ間の設定要素を設定ファイルとして書き出すことを特徴とする請求項7に記載の仮想マシンパッケージ生成方法。
  9. 前記仮想マシンパッケージ設定ファイルの生成に際して、さらに、対象とするネットワークに接続された複数の前記コンピュータシステムで構成される前記分散システムの各コンピュータシステム間のネットワーク性能値を格納するネットワーク性能情報格納部を参照し、コンピュータシステムとコンピュータシステムとの間の前記ネットワーク性能値に基づいて、各コンピュータシステムを点として表現したグラフ構造の辺に重み付けを行ってグラフ構造を生成することを特徴とする請求項8に記載の仮想マシンパッケージ生成方法。
  10. 前記仮想マシンパッケージ設定ファイルの生成に際し、さらに、対象とするコンピュータシステムの性能情報を格納するサーバ性能情報格納部を参照して、前記対象とするコンピュータシステムの性能情報を用いることにより、該コンピュータシステムに対応するグラフ上の点に重み付けを行ってグラフ構造を生成し、仮想マシンパッケージを配布して、仮想マシンパッケージに含まれる一つ以上の仮想マシンを動作させるためのコンピュータシステムであって、前記対象とするネットワークに接続された分散システムを構成する各コンピュータシステムとは別のコンピュータシステムの性能情報を参照して、縮約グラフの点の重みに制限を設けて縮約グラフを生成して仮想マシンパッケージの候補を決定することを特徴とする請求項8または9に記載の仮想マシンパッケージ生成方法。
  11. 前記縮約グラフの生成に際し、前記縮約グラフの点の重みを一定値として縮約グラフを生成することにより仮想パッケージを分割する請求項10に記載の仮想マシンパッケージ生成方法。
  12. 前記縮約グラフの生成に際し、前記縮約グラフの点の重みをパッケージ毎に変更して縮約グラフを生成することにより仮想パッケージを分割する請求項10に記載の仮想マシンパッケージ生成方法
  13. 対象とするネットワークに接続された分散システムを構成する各コンピュータシステムにインストールされたオペレーティングシステムのディスクイメージからそれぞれ仮想マシンイメージを生成する処理と、対象とする分散システムに含まれるコンピュータシステム間の依存関係を特定して、パッケージ生成後に該依存関係をユーザが設定変更できるようにするための設定項目を設けた仮想マシンパッケージの設定ファイルを生成する処理と、仮想マシンイメージと仮想マシンパッケージ設定ファイルを仮想マシンパッケージとして格納する処理とをコンピュータに実行させるための仮想マシンパッケージ生成プログラム。
  14. 前記仮想マシンパッケージ設定ファイルの生成に際して、対象とするコンピュータシステムの設定情報やプログラムを解析した結果を収集する処理と、該解析した結果から、コンピュータシステム間の前記依存関係を、各コンピュータシステムを点、依存関係を辺としたグラフ構造として表現するグラフ構造に変換する処理と、前記変換されたグラフ構造を縮約することによって生成した縮約グラフ中の各点を一つの仮想マシンパッケージとして対応させ、各点に縮約された縮約前のグラフ構造の点から、その仮想マシンパッケージに含める仮想マシンを特定することにより、縮約グラフに基づいて仮想マシンパッケージの候補を決定する処理と、仮想マシンパッケージに含まれる仮想マシンが他の仮想マシンやシステムを参照および呼び出す際に必要となる設定項目を、縮約グラフの辺から特定して仮想マシンパッケージ間の設定要素を設定ファイルとして書き出す処理とをコンピュータに実行させることを特徴とする請求項13に記載の仮想マシンパッケージ生成プログラム。
  15. 前記仮想マシンパッケージ設定ファイルの生成に際して、さらに、対象とするネットワークに接続された複数の前記コンピュータシステムで構成される前記分散システムの各コンピュータシステム間のネットワーク性能値を格納するネットワーク性能情報格納部を参照する処理と、コンピュータシステムとコンピュータシステムとの間の前記ネットワーク性能値に基づいて、各コンピュータシステムを点として表現したグラフ構造の辺に重み付けを行ってグラフ構造を生成する処理とをコンピュータに実行させることを特徴とする請求項14に記載の仮想マシンパッケージ生成プログラム。
  16. 前記仮想マシンパッケージ設定ファイルの生成に際し、さらに、対象とするコンピュータシステムの性能情報を格納するサーバ性能情報格納部を参照して、前記対象とするコンピュータシステムの性能情報を用いることにより、該コンピュータシステムに対応するグラフ上の点に重み付けを行ってグラフ構造を生成する処理と、仮想マシンパッケージを配布して、仮想マシンパッケージに含まれる一つ以上の仮想マシンを動作させるためのコンピュータシステムであって、前記対象とするネットワークに接続された分散システムを構成する各コンピュータシステムとは別のコンピュータシステムの性能情報を参照する処理と、縮約グラフの点の重みに制限を設けて縮約グラフを生成して仮想マシンパッケージの候補を決定することを特徴とする請求項14または15に記載の仮想マシンパッケージ生成プログラム。
  17. 前記縮約グラフの生成に際し、前記縮約グラフの点の重みを一定値として縮約グラフを生成することにより仮想パッケージを分割する処理をコンピュータに実行させることを特徴とする請求項16に記載の仮想マシンパッケージ生成プログラム
  18. 前記縮約グラフの生成に際し、前記縮約グラフの点の重みをパッケージ毎に変更して縮約グラフを生成することにより仮想パッケージを分割する処理をコンピュータに実行させることを特徴とする請求項16に記載の仮想マシンパッケージ生成プログラム
JP2010501990A 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム Active JP5598762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010501990A JP5598762B2 (ja) 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008058827 2008-03-07
JP2008058827 2008-03-07
JP2010501990A JP5598762B2 (ja) 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
PCT/JP2009/054342 WO2009110616A1 (ja) 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム

Publications (2)

Publication Number Publication Date
JPWO2009110616A1 JPWO2009110616A1 (ja) 2011-07-14
JP5598762B2 true JP5598762B2 (ja) 2014-10-01

Family

ID=41056165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010501990A Active JP5598762B2 (ja) 2008-03-07 2009-03-06 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム

Country Status (3)

Country Link
US (1) US8615761B2 (ja)
JP (1) JP5598762B2 (ja)
WO (1) WO2009110616A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016473A1 (en) * 2009-07-20 2011-01-20 Srinivasan Kattiganehalli Y Managing services for workloads in virtual computing environments
JP2011160298A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd ネットワークシステム、処理を提供するサーバの切替方法、処理を提供するサーバの切替プログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
US9141919B2 (en) 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US10514940B2 (en) * 2010-03-17 2019-12-24 Microsoft Technology Licensing, Llc Virtual application package reconstruction
US10235439B2 (en) 2010-07-09 2019-03-19 State Street Corporation Systems and methods for data warehousing in private cloud environment
US10671628B2 (en) * 2010-07-09 2020-06-02 State Street Bank And Trust Company Systems and methods for data warehousing
WO2012006638A1 (en) * 2010-07-09 2012-01-12 State Street Corporation Systems and methods for private cloud computing
US8718071B2 (en) 2010-09-10 2014-05-06 Futurewei Technologies, Inc. Method to pass virtual local area network information in virtual station interface discovery and configuration protocol
US8615755B2 (en) * 2010-09-15 2013-12-24 Qualcomm Incorporated System and method for managing resources of a portable computing device
US8645950B2 (en) 2011-06-28 2014-02-04 Microsoft Corporation Virtual machine image analysis
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
JP5887149B2 (ja) * 2012-01-25 2016-03-16 株式会社エヌ・ティ・ティ・データ 仮想マシン配置装置、仮想マシン配置方法
US9971584B2 (en) * 2012-08-28 2018-05-15 VCE IP Holding Company LLC Packaged application delivery for converged infrastructure
US9256473B1 (en) * 2012-09-26 2016-02-09 Emc Corporation Provision a virtual environment based on topology of virtual nodes, node dependencies and base node configuration information
CN103970581B (zh) * 2013-01-24 2017-09-12 国际商业机器公司 创建虚拟资源包的方法和设备
FR3004554B1 (fr) * 2013-04-16 2015-06-05 Bull Sas Configuration d'une machine virtuelle par injection d'une image
CN105867953B (zh) * 2015-01-21 2019-04-26 中国移动通信集团云南有限公司 应用程序升级包生成方法和应用程序升级方法及对应装置
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
US10324701B1 (en) * 2015-08-21 2019-06-18 Amazon Technologies, Inc. Rapid deployment of computing instances
CN105511911B (zh) * 2015-11-27 2019-02-12 青岛海信移动通信技术股份有限公司 系统固件升级包的生成方法及装置
CN107077379B (zh) * 2016-04-25 2019-03-15 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
US9705978B1 (en) * 2016-07-01 2017-07-11 Red Hat Israel, Ltd. Dependency graph management
US10474508B2 (en) * 2017-07-04 2019-11-12 Vmware, Inc. Replication management for hyper-converged infrastructures
JP6452922B1 (ja) * 2018-04-06 2019-01-16 三菱電機株式会社 システム構築支援装置、システム構築支援方法およびシステム構築支援プログラム
US11372654B1 (en) * 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
WO2021024417A1 (ja) * 2019-08-07 2021-02-11 日本電信電話株式会社 更新装置、更新方法およびプログラム
US11915059B2 (en) * 2022-07-27 2024-02-27 Oracle International Corporation Virtual edge devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149347A (ja) * 1996-11-20 1998-06-02 Toshiba Corp 資源割り当て方法及び資源割り当て装置
JP2000035957A (ja) * 1998-07-21 2000-02-02 Toshiba Corp タイミング合成・最適化装置及び方法並びにタイミング合成・最適化用プログラムを記録した記録媒体
JP2005332223A (ja) * 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2630267B2 (ja) 1994-08-30 1997-07-16 日本電気株式会社 情報出力履歴提示装置
CA2166253C (en) * 1995-12-28 2000-02-08 Robert James Blainey Connectivity based program partitioning
JP3360654B2 (ja) 1999-06-17 2002-12-24 日本電気株式会社 データ削除装置
JP3870112B2 (ja) * 2002-03-13 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイル方法、コンパイル装置、及びコンパイル用プログラム
US20050102667A1 (en) * 2003-11-10 2005-05-12 International Business Machines (Ibm) Corporation Generating summaries for software component installation
JP4515314B2 (ja) 2005-04-08 2010-07-28 株式会社日立製作所 計算機システムの構成再現方法
JP4622835B2 (ja) 2005-12-07 2011-02-02 株式会社日立製作所 仮想計算機システム及びそのネットワーク通信方法
US9213513B2 (en) * 2006-06-23 2015-12-15 Microsoft Technology Licensing, Llc Maintaining synchronization of virtual machine image differences across server and host computers
US20080016115A1 (en) * 2006-07-17 2008-01-17 Microsoft Corporation Managing Networks Using Dependency Analysis
US8234641B2 (en) * 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149347A (ja) * 1996-11-20 1998-06-02 Toshiba Corp 資源割り当て方法及び資源割り当て装置
JP2000035957A (ja) * 1998-07-21 2000-02-02 Toshiba Corp タイミング合成・最適化装置及び方法並びにタイミング合成・最適化用プログラムを記録した記録媒体
JP2005332223A (ja) * 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム

Also Published As

Publication number Publication date
US20110035747A1 (en) 2011-02-10
JPWO2009110616A1 (ja) 2011-07-14
WO2009110616A1 (ja) 2009-09-11
US8615761B2 (en) 2013-12-24

Similar Documents

Publication Publication Date Title
JP5598762B2 (ja) 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
US11368519B2 (en) Architecture for managing I/O and storage for a virtualization environment using executable containers and virtual machines
US11048560B2 (en) Replication management for expandable infrastructures
US11403146B2 (en) Method, apparatus, and server for managing image across cloud servers
CN110413288B (zh) 应用部署方法、装置、服务器及存储介质
US8924954B2 (en) Application software installation method and application software installation apparatus
US8627310B2 (en) Capturing multi-disk virtual machine images automatically
US10372433B2 (en) Caching and analyzing images for faster and simpler cloud application deployment
JP5680961B2 (ja) 物理イメージと仮想イメージの統合的な提供
CN102402446B (zh) 应用软件的安装方法和应用软件的安装装置
US11086662B2 (en) Method and system of migrating applications to a cloud-computing environment
JP5976946B2 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
US9742435B1 (en) Multi-stage data compression for time-series metric data within computer systems
US11496414B2 (en) Interoperable cloud based media processing using dynamic network interface
CN102693230B (zh) 用于存储区域网络的文件系统
US8495178B1 (en) Dynamic bandwidth discovery and allocation to improve performance for backing up data
US8027817B2 (en) Simulation management within a grid infrastructure
WO2017017937A1 (ja) 配備装置、配備方法、及び、記録媒体
JP5609527B2 (ja) ネットワーク仮想化システム、ノード、ネットワーク仮想化方法、及び、ネットワーク仮想化プログラム
JP6418419B2 (ja) ハードディスクがアプリケーションコードを実行するための方法および装置
US10642580B1 (en) Simplifying and reusing visual programming graphs
US10678515B1 (en) Simplifying and reusing visual programming graphs
WO2018173300A1 (ja) I/o制御方法およびi/o制御システム
Nguyen et al. High-level abstraction layers for development and deployment of cloud services
US20240241760A1 (en) Elastic provisioning of container-based graphics processing unit (gpu) nodes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140626

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140731

R150 Certificate of patent or registration of utility model

Ref document number: 5598762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150