JP5827687B2 - 仮想アプライアンスの自動アップグレードのための方法、コンピュータ・プログラム、及びシステム - Google Patents

仮想アプライアンスの自動アップグレードのための方法、コンピュータ・プログラム、及びシステム Download PDF

Info

Publication number
JP5827687B2
JP5827687B2 JP2013525254A JP2013525254A JP5827687B2 JP 5827687 B2 JP5827687 B2 JP 5827687B2 JP 2013525254 A JP2013525254 A JP 2013525254A JP 2013525254 A JP2013525254 A JP 2013525254A JP 5827687 B2 JP5827687 B2 JP 5827687B2
Authority
JP
Japan
Prior art keywords
virtual
virtual disk
disk
new
appliance
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
JP2013525254A
Other languages
English (en)
Other versions
JP2013540302A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013540302A publication Critical patent/JP2013540302A/ja
Application granted granted Critical
Publication of JP5827687B2 publication Critical patent/JP5827687B2/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/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

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

Description

本発明は、一般に、仮想アプライアンスとして配布されるソフトウェアのインストール及びアップグレードに関し、より具体的には、本発明は、仮想アプライアンスを含む仮想ディスクの自動アクティブ化を扱う。
仮想アプライアンスは、少なくとも1つのソフトウェア・アプリケーションと、少なくとも1つの仮想マシン(VM)とを含む、仮想マシン・イメージである。仮想アプライアンスは、物理マシン上で動作している仮想マシン・モニタ上に直接インストールすることができる。仮想アプライアンスは、ソフトウェア・アプリケーションを配置する新しい方法である。
ソフトウェアのパッケージング及び配布の観点から、ソフトウェア開発者は、単一のプラットフォームを作成し、ソフトウェアの開発及び管理の費用と複雑さを低減させることができる。仮想アプライアンスは、電子的ダウンロード又は物理的配布のいずれかを介して、ファイルとしてユーザ又は顧客に提供される。仮想アプライアンスを配布することにより、ソフトウェア・アプリケーションの製造業者は、ターンキー式ソフトウェア・サービスをエンドユーザに提供する。
別個のプロセスと同じ数の層を含むクライアント・サーバ・アプリケーションである多層アーキテクチャ・アプリケーションを配布するために仮想アプライアンスを作成したいと望む場合、単一のVMでは十分でないことに留意されたい。多層アーキテクチャの仮想アプライアンスは、少なくとも、層の数と同じ数のVMを含む。例えば、単一のVMしか含まない現在の仮想アプライアンスと比較すると、例えば、最新の企業アプリケーション・モデルのサービス指向アーキテクチャ(service oriented architectures、SOA)は多層アーキテクチャであり、各層が1つ又は複数のマシンを含む。従って、多層サービスを配布するために、単一のVMモデルでは十分でなく、従って、仮想アプライアンスは、より多くのVMで構成されることになる。3つの層、すなわち提示論理を実装する1つの層、ビジネス論理を実装するアプリケーション・サーバ層及びバックエンド・データベース層からなるウェブ・アプリケーションの場合、仮想アプライアンスは、各層について1つ、3つのVMを含む。
今日、仮想アプライアンスのコンポーネントを仮想ディスクに分離することができる。仮想ディスク・イメージは、仮想マシン・モニタによりハードディスクとして解釈できるフォーマットを有する物理ディスク上のファイルである。ほとんどの場合、VMのベース・オペレーティング・システムを他のソフトウェア・アプリケーション及び他のコンポーネントから分離し、仮想アプライアンスを形成する複数の仮想ディスクを作成することができる。UNIXのために配布されるほとんど全てのアプリケーションは、アプリケーションを実行するための全てのバイナリを含有するバイナリ・セクションを含み、このバイナリ・セクションは、アプリケーションがインストールされる特定のシステムに依存しない。構成/データ・セクションも与えられ、これらは現在のインストールに特有の構成及びデータ・ファイルを含む。この2つのセクションは、2つの異なるファイル・システム・パス上にインストールすることができ、潜在的に2つの異なる仮想ディスクを指し示す。
仮想アプライアンスを複数のディスク上に与える利点は以下の通りである。
これにより、ソフトウェア・アプリケーション製品のバイナリの保守が単純化される。例えば、ソフトウェア・アプリケーション製造業者は、バイナリを更新し、更新されたバイナリを有する新しい仮想ディスクを顧客に提供することができる。顧客は、VMを停止し、対応する仮想ディスク・イメージを置換し、VMを再開しなければならない。
−顧客は、仮想アプライアンスのオペレーティング・システムの仮想ディスクを修正し、OSを顧客自身のバージョンに置換することができる。
−異なる仮想環境(VMware(VMwareは、米国及び/又は他の管轄区域におけるVMware,Inc.の登録商標又は商標である)又はXen(Xenは、Citrix Systems,Inc.及び/又は1つ又は複数の子会社の商標であり、米国特許商標庁及び他の国々において登録されたものとすることができる)などの)をサポートするために、アプリケーション・ソフトウェア製造業者は、例えば、製品アプリケーション・バイナリのVMwareフォーマット済み仮想ディスク(製品ディスク)を、Xenフォーマット済み仮想ディスクに変換するだけでよい。オペレーティング・システムを含む仮想ディスクを変換する必要はない。
−製品ディスクを用いて、異なるVMをサポートすることができる。Xenイメージ仮想ディスク・フォーマットを用いることにより、ユーザは、Linuxシステム(Linuxは、米国、他の国々、又はその両方におけるLinus Torvaldsの登録商標である)の製品アプリケーションのバイナリを含有する同じ仮想ディスクを適切なマウント・ポイントにマウントし、これを、ソフトウェア・アプリケーション・アクティブ化スクリプトを用いて構成することができる。これは、製品をLinuxサーバにインストールするのと同等である。この文脈において、同じ製品ディスクを同じオペレーティング・システム・ファミリー上にインストールすることができ、同じオペレーティング・システムのバージョンごとに、スクリプトは異なり得る。従って、製品ディスクを備えた全てのスクリプトが、同じOSファミリーに適用される。
−さらに、製品バイナリを構成/データから分離させるために、製品自体を複数のディスクに分割することができる。この場合、いずれの構成及び/又はデータも失うことなく、バイナリを更新することが可能である。
しかしながら、仮想ディスク上に分散した、アプリケーション・バイナリを含有する仮想ディスクをインストールする又は置換するには、手動操作の実行が必要である。例えば、ユーザは、VMシステム・ディレクトリの下でシステム・ファイルを作成及び/又は更新するために、構成/インストール・スクリプトを手動で実行して仮想ディスクをインストールする必要がある。
従って、バイナリが仮想ディスク上に分散した、仮想アプライアンスとして配布されるアプリケーションをインストール又は置換する際の手動操作を回避する必要性がある。
本発明の目的は、ソフトウェア・アプリケーション・バイナリを含む仮想アプライアンスの仮想ディスクを自動的にインストール及びアップグレードするための方法及びシステムを提供することである。
この目的は、請求項1により、コンピュータの仮想マシン・モニタ上で実行されている、少なくとも1つのOS仮想ディスクを含む仮想マシン・システムにおいて、仮想アプライアンスとして配布されたソフトウェア・アプリケーションを自動的にアップグレードするための方法であって、仮想マシン・モニタのAPIを用いて自動的に実行される次のステップ、すなわち、
仮想マシンにアタッチされた仮想アプライアンス仮想ディスクのリストの以前に格納されたバージョンにおける変更を検出するステップと、
新しい仮想アプライアンス仮想ディスクが検出された場合、少なくとも1つのOS仮想ディスク上にこの新しい仮想ディスク上で読み出された非アクティブ化スクリプトを格納し、かつ、
新しい仮想ディスク上に格納されたソフトウェア・アプリケーションをインストールする、新しい仮想ディスク上に格納されたインストール/アンインストール・プログラム(SIE)の実行を開始することにより、新しい仮想ディスク上に格納された命令に従ってOSシステムを修正することと、
新しい仮想アプライアンス仮想ディスクのエントリを、現在アタッチされている仮想ディスクのリストに付加することと、
を実行することにより、新しい仮想ディスク上で読み出されるインストール・スクリプトを実行するステップと、
を含む方法によって実現される。
この目的は、請求項2により、新しい仮想ディスク上に格納された場合、必要に応じて、ソフトウェア・アプリケーションを再構成するために、特定の付加的なアクティブ化操作をシステム上で実行するステップをさらに含む、請求項1に記載の方法によって実現される。
この目的は、請求項3により、
−仮想アプライアンス仮想ディスクの除去が検出された場合、
除去される仮想ディスク上に格納されたインストール/アンインストール・プログラムの実行を開始し、除去される仮想ディスク上に格納された、ソフトウェア・アプリケーションをアンインストールする命令によってOSシステムを修正することと、
除去される仮想ディスクのエントリを、現在アタッチされている仮想ディスクのリストから削除すること、
を実行することにより、除去される仮想ディスクのOSに既に格納されたアンインストール・スクリプトを実行するステップと、
をさらに含む、請求項1又は請求項に記載の方法によって実現される。
この目的は、請求項4により、除去される仮想ディスク上に格納された場合、アプリケーションがアンインストールされるのを可能にする特定の付加的な操作をシステム上で実行するステップをさらに含む、請求項3に記載の方法によって実現される。
この目的は、請求項5により、仮想マシン上での仮想ディスク・アタッチ・イベント又は仮想ディスク除去イベントについて、仮想マシンを継続的に監視するステップをさらに含む、請求項1から請求項4までのいずれか1項に記載の方法によって実現される。
この目的は、請求項6により、
初期化された新しい仮想ディスク上にソフトウェア・アプリケーション・パッケージを格納する初期ステップと、
新しい仮想ディスク上に、ソフトウェア・アプリケーションをインストール/アンインストールするインストール/アンインストール・プログラムを格納する初期ステップと、
プログラム・パッケージ・ツールを用いて、インストール/アンインストール・プログラムにより実行されるソフトウェア・アプリケーションをインストール/アンインストールするようにOSシステムを修正するための、プログラム・パッケージを形成する命令を作成する初期ステップと、
仮想ディスクを仮想アプライアンス仮想ディスクとして識別するディスク識別子を作成し、これを新しい仮想アプライアンス仮想ディスク上に格納する初期ステップと、
をさらに含む、請求項1又は請求項2に記載の方法によって実現される。
この目的は、請求項7により、必要に応じて、インストール後に、ソフトウェア・アプリケーションの構成を可能にするように、新しい仮想ディスク上に、システム上で実行される特定の付加的な操作を作成しかつ格納するステップをさらに含む、請求項6に記載の方法によって実現される。
この目的は、請求項8により、方法のステップは、仮想マシンの仮想マシン・モニタとインターフェース接続する、APIプログラミング命令を含むスクリプトを実行するプログラム(VDAM)により自動的に実行される、請求項1から請求項7までのいずれか1項に記載の方法によって実現される。
この目的は、請求項9により、自動ステップの実行のためにプログラム(VDAM)をセットアップする初期ステップをさらに含む、請求項1から請求項8までのいずれか1項に記載の方法によって実現される。
この目的は、請求項10により、
仮想アプライアンス仮想ディスクのリストにおける変更を検出するステップは、各々が仮想アプライアンス仮想ディスクの特定の署名である一意の識別子のリストにおける変更を検出することを含み、
一意の識別子を作成するステップは、仮想アプライアンス仮想ディスクの属性に基づいて特定の署名を計算することを含む、
請求項1から請求項9までのいずれか1項に記載の方法によって実現される。
この目的は、請求項11により、請求項1から請求項10までのいずれか1項に記載の方法のステップを実行するように適合された手段を含むシステムによって実現される。
この目的は、請求項12により、コンピュータ上で実行されたとき、請求項1から請求項9までのいずれか1項に記載の方法のステップを実行するための命令を含むコンピュータ・プログラムによって実現される。
本発明の解決法によって、異なる仮想ディスク上に仮想アプライアンスを分散させる従来技術の慣例を活用して、ここでは、ソフトウェア製造業者が、ソフトウェア・アプリケーション・バイナリを含み、ユーザにより自動的にインストールされる又はユーザ・サイトのVM上で置換され、手動操作の実行を回避させる自動アクティブ化仮想ディスク(Self-Activating Virtual Disk、SAVD)(製品ディスク)を構築するのを可能にする方法及びシステムが開示される。
SAVDを有するアプリケーションを配布するソフトウェア製造業者にとっての1つの利点は、図3の説明に関連して好ましい実施形態の詳細な説明において説明されるように、ソフトウェア製造業者による、その準備サイトにおけるSAVD製品ディスクの作成も自動化できることである。
この方法は、ソフトウェア製造業者が、仮想アプライアンス内にOSを配布するのを回避することを可能にする。仮想アプライアンスは、アプリケーション・バイナリと、顧客のVM環境におけるアプリケーションの自動インストール又は置換に必要な全てのアーチファクトとを含む仮想ディスクのような、1つのSAVDだけを含むことができる。SAVD製品ディスクを置換することによりアプリケーションをアップグレードする際、OSディスクがアプリケーション・アップグレード仮想アプライアンスと共に配布されれば失われ得る付加的なデータ及び構成を顧客が含ませていた可能性がある、VM OSディスクを変更しない。さらに、全てのオペレーティング・システム関連ファイルは含まれないため、アプライアンスをインストールするのに必要なアーチファクトの全体のサイズが低減される。
この解決法の1つの付加的な利点は、オペレーティング・システムが新しいバージョンのアプリケーションと共に配布されないことであり、このことは、オペレーティング・システムを、新しいバージョンの仮想アプライアンスと共に再配布することが必要な場合に要求されるライセンス契約に関連した製造業者に対する問題を解決する。実際に、通常、オペレーティング・システムには、イメージの無償の再配布を防ぐ所有者ライセンスが付随する。
本発明の解決法によって、ソフトウェア製造業者は、OS仮想ディスク及びSAVD製品ディスクを、アプリケーション仮想アプライアンスの最初のバージョンで配布し、かつ、アプリケーションの各新しいバージョンに対してのみ、SAVD製品ディスクを配布するよう選択することができる。本発明の解決法によって、製造業者は、アプリケーション・アップグレードを含むSAVDと共にOSディスクを配布することもできるが、この事例は、顧客が、自身のサイト上でSAVDを置換してアプリケーション・バイナリをアップグレードする際に、OSベース・システムを修正することを回避するという、本発明の1つの利点が失われるため、推奨されない。
本方法は、特定の仮想化ベンダーがそうした製品のインストール/アップグレードを実装するために提供するAPI及びコマンドの特定のシーケンシング及び使用に依存する。サイレントかつ全自動の手法に対する代替的手法として、再構成プロセスにおいて管理者を案内し、支援するユーザ・インターフェースが提供される。
本方法は、ソフトウェア・アプリケーションをインストールする際に、ターゲット・マシン上で実行される自動操作を含むソフトウェア・アプリケーション・ライブラリを供給するためのソフトウェア・パッケージの使用も活用する。
MicrosoftのWindowsオペレーティング・システム(Microsoftは、米国、及び/又は他の国々におけるMicrosoft Corporationの登録商標又は商標である)の従来技術のAUTORUN機能と同様に、顧客のVMは、SAVD製品ディスクの一意の識別子を用いて、新しい又は除去されたSAVD製品ディスクを検出し、インストール/アンインストールし、かつ、ターゲットVM上の対応するソフトウェアの自動インストール又は置換を開始することができる、新しいプログラム(VDAM)を使用する。
本発明の好ましい実施形態による、準備サイトをセットアップし、仮想アプライアンスを作成するためのシステム環境を示す。 本発明の好ましい実施形態による、仮想アプライアンスを準備するためのサイトをセットアップする方法の流れ図である。 本発明の好ましい実施形態による、図2の流れ図で説明された方法に従ってセットアップされた準備サイトにおいて、仮想アプライアンスを作成する方法の流れ図である。 本発明の好ましい実施形態による、図3の流れ図で説明された方法に従って、説明されたように作成された仮想アプライアンスを、インストールする又はアンインストールするためのシステム環境を示す。 本発明の好ましい実施形態による、図3の流れ図で説明された方法に従って、説明されたように作成された仮想アプライアンスSAVDをインストール又はアンインストールするための、方法の流れ図である。
図1は、本発明の好ましい実施形態による、準備サイトをセットアップし、仮想アプライアンスを作成するためのシステム環境を示す。仮想アプライアンスのイメージを作成するために、ソフトウェア・アプリケーション製造業者は、仮想マシン環境を管理するための仮想管理サーバ(110)と、仮想マシンをインストールすることができる準備サイトサーバ(100)とを有することができる。例えば、仮想マシン・モニタであるホスト環境(125)は、仮想マシン、すなわち、その仮想ディスク(115、120)を用いてゲストOS(130)を管理するためのVMware仮想マシン・モニタとすることができる。
仮想管理サーバ(110)上には、顧客に配布される仮想アプライアンスの最終イメージを作成するための全ての必要なファイル(150)をファイル・リポジトリ(145)内に作成するために新しいソフトウェア・コンポーネント、すなわち仮想ディスク・アクティブ化マネージャ(Virtual Disk Activation manager、VDAM)(135)がインストールされる。これらのファイルは、仮想アプライアンスのベースOS仮想ディスクを作成するのに用いられるVMイメージを含むが、特に、これらのファイルは、アプリケーションを含有する自己アクティブ化仮想ディスクSAVDを作成するために用いられる。最初の作成について、仮想イメージは、VMベースOSのための仮想ディスクと、アプリケーションのためのSAVDとを含有する。アプリケーションのアップグレードのために、1つのSAVDだけが作成される。
VDAMは、より具体的には、ソフトウェア・アプリケーション・ライブラリ、つまり製品ディスクを含む仮想アプライアンスの仮想ディスクを作成する。好ましい実施形態によると、製品ディスクは、自己アクティブ化仮想ディスク(SAVD)である。VDAMは、既存のAPIを用いてホスト環境と通信する。より具体的には、VDAMは、スクリプトの組を用いて、VMwareサーバにより与えられるVIXインターフェースを活用するVMware仮想マシン・モニタと対話して、コマンドを、VMware仮想マシン・モニタ及びVMwareVMの両方に送る。VIX APIは、VMware仮想マシンの動作を自動化し、ゲスト・オペレーティング・システム内でプログラムを実行するか又はファイルを操作する。VIXインターフェースは、VMの動作(VMを停止する、VMを開始する、VMのスナップショットを撮る等)及びゲストの動作(ゲストOS内でアプリケーションを実行する、ゲストとホストとの間でファイルをコピーする等)の両方を自動化するためのプログラミング・インターフェースである。VMwareの他に、類似のAPIを異なる仮想化環境において用いることができる。VDAMコンポーネントは、特に、ディスク処理(追加する/置換する/除去する)に関連したVMにおけるあらゆる変更を検出し、仮想アプライアンス・ディスクをVMに接続させる又はVMから分離させるために適切な構成を呼び出すことができる。
SAVD製品ディスクの作成のために、IBM Tivoli Provisioning Manager(IBM及びTivoliは、IBM Corporationの商標である)のAUTOPACK機能のような既存のソフトウェア・パッケージ・ツール、及びソフトウェア・パッケージ・インストーラ・エンジン(SIE)もSAVD製品ディスクを作成するための準備サイトにおいて用いられる。従来技術において周知のように、ソフトウェア・パッケージは、システム上にソフトウェア・アプリケーションをインストールするのに必要な動作を含む。ソフトウェア・パッケージ・インストーラは、ソフトウェア・パッケージを読み出すことにより、ソフトウェア・アプリケーションのインストールに対してターゲットOSを準備することができる。通常、SIEプログラムは、ターゲットVMのアーキテクチャに依存する。
以下に、これらのコンポーネント(140、155、160)間の様々な情報交換について、本文書の残りにおける図2及び図3の説明と関連してそれぞれ説明される準備をセットアップする及び仮想アプライアンスを作成するための方法のステップとの関連で説明する。
図2は、本発明の好ましい実施形態による、サイトをセットアップして仮想アプライアンスを準備するための方法の流れ図である。ソフトウェア製造業者は、好ましくは仮想管理サーバと、ホスト環境である仮想マシン・モニタを含む準備サーバとを含む準備サイトをセットアップする。本方法は、仮想アプライアンスの製品ディスクに対応するSAVDの作成に対して準備サイトを使用可能状態にすることを目的とする。準備サイトをセットアップするための全てのステップは、仮想管理サーバ上にインストールされ、かつ、準備サーバのホスト環境と通信するスクリプトを実行するVDAMプログラムによって実行される。例えば、VDAMは、ホスト環境がVMware仮想マシン・モニタである場合、VIXスクリプトを用いてホスト環境と通信する。全てのステップがスクリプトを通して実行されるため、本方法は完全に自動化できることに留意されたい。
最初のステップ(200)は、要求されるゲストOSに対して仮想マシンをインストールすることからなる。VMイメージは、仮想マシン・マネージャ(例えば、VMware仮想マシン・モニタ)であるホスト環境マシン上のファイル・リポジトリから作成されることが好ましい。
次いで、そのAPIを用いてVMを仮想マシン・マネージャに構成する必要がある。このステップ(210)は、コピーされたばかりのイメージを参照して新しいVMを登録することからなり、その結果、ベースOS仮想ディスクが作成される。
次のステップ(220)は、これもホスト環境上で実行され、それからイメージを作成しなければならない新しい仮想ディスクを構成し、この新しい仮想ディスクをVMイメージにアタッチすることからなる。
このディスクは、プロセスの最後にSAVD製品ディスクとなる。
次いで、ゲストOS VMの電源が投入され(230)、ソフトウェア・パッケージを作成するためのツール(AUTOPACK等)、対応するソフトウェア・パッケージ・インストーラ(SIE)及びVDAMのプログラムコードがゲストOS上にコピーされ(240)、ライブラリは、VMwareの場合には、これもVIXベースのスクリプトを通してSAVDにコピーされる。実際には、顧客サイトではインストーラ(SIE)だけが必要であり、単純化のために、顧客に配布される最終SAVD上に、ソフトウェア・パッケージ・ツール(AUTOPACK等)が格納されないことがある。
図3は、本発明の好ましい実施形態による、図2の流れ図に説明される方法に従ってセットアップされた準備サイトにおいて、仮想アプライアンスを作成するための方法の流れ図である。ひとたび、準備サイトにおけるゲストOSが使用可能状態になると、SAVD製品ディスクを作成することができる。このSAVD製品ディスクは、顧客に配布される最初の仮想アプライアンス製品ディスク、又は、ソフトウェア・アプリケーションのアップグレードを含む製品ディスクとすることができ、かつ、アプリケーションのアップグレードのために仮想アプライアンス内にSAVD+OS仮想ディスクを提供する意味がないので、ユーザのソフトウェア・アプリケーションのアップグレードのためにユーザに配布される唯一の仮想ディスクであることに留意されたい。アプリケーションの最初の配布の仮想アプライアンスは、OS仮想ディスクを含み得るが、OSディスクの作成は、本発明の一部ではない。このような理由で、この方法は、寧ろ、仮想アプライアンスにおける唯一の仮想ディスクとして、SAVDの作成に焦点を当てる。
SAVD製品ディスクを作成するための全てのステップは、APIベースのスクリプト(VMware環境に対してはVIX)を用いて、ホスト環境VMモニタとインターフェース接続するVDAMコンポーネントによって自動的に実行される。
製品バイナリを含むソフトウェア・アプリケーションのインストール・イメージが、リポジトリ・ファイルからホスト環境に、及び、ホスト環境からゲストOSにコピーされる(300)。
ソフトウェア・パッケージを作成するツールによって、配布されるソフトウェア・アプリケーションのためのソフトウェア・パッケージがゲストOS VM内に最初に作成される(310)。例えば、AUTOPACKツールは、ソフトウェア・アプリケーションのインストール前後に、準備マシン・システムの2つの連続するシステム・スナップショットを比較することにより、差分手法を用いて、ソフトウェア・パッケージの作成を自動化する。このように、AUTOPACKは、アプリケーションのインストールによってなされたファイル及びシステムの変更を検出し、ターゲット・システムをソフトウェア・アプリケーションに適合させるために実行される操作を作成する。次いで、インストーラ(SIE)は、ターゲット・システム上でその操作を実行するためのソフトウェア・アプリケーション・ライブラリをインストールすることにより、その操作を自動的に実行することができる。
VDAMは、APIベースのスクリプトを用いて、ゲストOS VMにおけるシステムの第1のAUTOPACKスナップショットを実行する。AUTOPACKは、OSベース仮想ディスク上のシステム関連ファイル及びレジストリ・エントリに生じた変更だけを捕捉する。次いで、SAVD製品ディスクのソフトウェア・アプリケーションのインストール・イメージ・ディレクトリを参照しながら、ソフトウェア・アプリケーションがインストールされる。このインストールは、ゲストOS及びこのアプリケーションによりサポートされていればサイレント・モードで、又はサポートされていなければオペレータ補助モードで実行される。第2のAUTOPACKスナップショットが、ゲストOS VMにおいて実行される。AUTOPACK差分手法が実行され、ゲストOS VMにソフトウェア・パッケージが構築される。次いで、AUTOPACKによって作成されたソフトウェア・パッケージが、サイト準備のセットアップ中に作成されたSAVD製品ディスク(120)内に格納される(310)。
ソフトウェア・パッケージを作成するための幾つかの既存のツールを用いると、幾つかのソフトウェア・パッケージは、システム・ファイルを作成/修正するために実行される命令だけでなく、アプリケーションのバイナリ・ライブラリも含む場合があることに留意されたい。これは実装の1つの選択肢にすぎず、好ましい実施形態において説明された場合においては、ソフトウェア・パッケージとアプリケーション・バイナリ・ライブラリとは分離され、2つのステップ(300、310)でSAVD製品ディスク上に格納される。
VDAMは、ユーザ・ターゲット・システム上へのソフトウェア・アプリケーションのインストールの際に、VDAMにより用いられる特定のアクティブ化/非アクティブ化APIベース・スクリプトを作成する(320)。実際のところ、ひとたびインストールされたソフトウェア・アプリケーションは、特定のホスト名が用いられていること等を必要とする場合がある。一例として、幾つかのアプリケーションは、それがインストールされたマシンのIPアドレスが変更されると、再構成する必要がある。この目的に対しては、特定の再構成コマンドを実行しなければならない。作成されたアクティブ化/非アクティブ化APIベース・スクリプトは、SAVD製品ディスクにコピーされる。
SAVD製品ディスクを識別する一意の識別子が作成され(330)、SAVD製品ディスク内に格納される。一意の識別子は、SAVD製品ディスクの署名の一種であり、例えば、SAVDの名称、サイズ、バージョン、仮想アプライアンスの名称等を用いて、SAVDの様々な属性を構成するように計算することができる。幾つかのアルゴリズムが、UUID、すなわち汎用一意識別子(Universally Unique Identifier)の計算の分野において既に存在する。一意の識別子は、顧客がソフトウェア・アプリケーションを初めてインストールするとき又はアップグレードするとき、顧客のサイトでのSAVD製品ディスクのアクティブ化段階中に用いられる。
ゲストOSの電源を遮断し、SAVD製品ディスクがデタッチされる。SAVD製品ディスク・イメージが、ホスト環境からファイル・リポジトリにコピーされる(340)。最終的に、SAVD製品ディスクは、ソフトウェア・アプリケーション・インストール・イメージ(ソフトウェア・アプリケーションのバイナリを含む)、ソフトウェア・パッケージ、アクティブ化/非アクティブ化イベントが発生するとVDAMにより実行されるアクティブ化/非アクティブ化スクリプト、VDAM、SIE及びAUTOPACKライブラリを含む。作成されたばかりのSAVD製品ディスクは、仮想アプライアンス・イメージ(150)の最初の配布の一部とすることができ、又は製品の新しいバージョンが顧客に配布された際に作成することができる。
図4は、本発明の好ましい実施形態による、図3の流れ図に説明された方法に従って、説明されたように作成された仮想アプライアンスを、インストール又はアンインストールするためのシステム環境を示す。ソフトウェア・アプリケーションをインストール及びアップグレードするための顧客のシステム環境(400)は、その上でVMware仮想マシン・モニタ等の仮想マシン・モニタ、すなわちホスト環境(425)が仮想マシンを管理する、サーバを含む。
ソフトウェア・アプリケーションの最初のインストールの際に、最初のインストールの仮想アプライアンスで提供され得たVMイメージは、そのベースOS仮想ディスク(410)を用いてターゲットOS(430)として、顧客によりインストールされる。アプリケーションの仮想アプライアンスが、最初のバーションであっても、SAVDのみを含有する場合、顧客は、自分のVMをインストールし、自分のVMのOSに対するSAVDを注文する。従って、顧客は、ソフトウェア・アプリケーションをターゲットOS VM上にインストールするのに用いられる自動アクティブ化仮想ディスクであるSAVD製品ディスク(420)をインストールしなければならない。
SAVDのアクティブ化/非アクティブ化に対して、VDAM及びSIE(435)の両方がターゲットOS上で開始される。VDAMは、SIEをツールとして用いてインストールを実行する。VDAMは、デーモン・コンポーネント等のサービスとして開始され、ディスクの追加又は除去に関連したイベントについてシステムを継続的に監視することが好ましい。
VDAMは、仮想マシン・モニタへのコマンドのスクリプトを実行するため、顧客VM上に一度インストールする必要があることに留意されたい。ひとたびインストールされると、VDAMは、次のSAVDのインストール、更新、及び除去に再利用される。随意的に、顧客は、VDAMプログラムのセットアップを実行することができる。セットアップ・プログラムは、SAVD上に格納し、仮想マシンのOS内の既存のツール(WindowsのAUTORUN等の)を用いて、仮想ディスクをアタッチする際に実行することができる。
図5は、本発明の好ましい実施形態による、図3の流れ図に説明された方法に従って、説明されたように作成された仮想アプライアンスのSAVDをインストール又はアンインストールするための方法の流れ図である。
SAVD製品ディスクがターゲットOSにアタッチされたと仮定すると、VDAMは、UIDを読み出すことにより、VMにアタッチされた全てのSAVDのリストを収集する(510)。VDAMは、現在のリストを、ベースOS内にローカルに格納され、かつ、VDAMサービスの最後の開始に対応するリストと比較する。ターゲットOSの作成の際、リストは空であり、仮想アプライアンスが初めてインストールされると、1つのSAVDが識別される。
VDAMが新しいSAVDを検出(テスト515に対してイエスと回答)すると、VDAMは、SAVDの非アクティブ化スクリプトをベースOS仮想ディスクにコピーする(525)。次いで、VDAMは、SIEにより、SAVDにおけるソフトウェア・パッケージのインストールを開始し、ソフトウェア・アプリケーションをインストールするためのアクティブ化スクリプトが実行される(530)。VDAMは、新しいSAVDのエントリを付加することにより、ベースOSディスクにおけるアクティブなSAVDのローカル・リストを更新する(535)。必要に応じて、ソフトウェア・パッケージのインストール又はアクティブ化スクリプトにより要求された場合、ターゲットOSシステムは再起動される。
VDAMが、SAVDが除去されたことを検出(テスト520に対してイエスと回答)すると、アクティブ化の際にSAVDからベースOS仮想ディスクにコピーされた関連する非アクティブ化スクリプトが実行される(540)。VDAMは、SIMを実行して、除去されるSAVDに対応するソフトウェア・パッケージのインストールを取り消す。
SAVDの非アクティブ化スクリプトは、ベースOS仮想ディスクから除去される(545)。VDAMは、SAVDのエントリをSAVDのリストから削除する(550)。必要に応じて、ソフトウェア・パッケージのアンインストール又は非アクティブ化スクリプトにより要求された場合、ターゲットOSシステムは再起動される。
サービスとして機能するために、VDAMは、ループを開始し(テスト520に対してノーと回答)、ターゲットOSにおける仮想ディスクの追加/除去に関連した仮想システム・イベントを収集し、処理することができる。新しいSAVDに関するイベントを受信すると、VDAMは、これをアクティブ化するためのステップを実行し、除去されたSAVDに関するイベントを受信すると、VDAMは、これを非アクティブ化するためのステップを実行する。システム・イベントを検出するデーモンとして開始されたVDAM上のループのために、仮想ディスクのインストール又は除去(535、550)を実行した後、ステップ510へのループが実行される。
100:準備サイトサーバ
110:仮想管理サーバ
140、155、160:コンポーネント
150:ファイル
400:顧客のシステム環境

Claims (12)

  1. コンピュータの仮想マシン・モニタ上で実行されている、少なくとも1つのOS仮想ディスクを含む仮想マシン・システム(OSシステム)において、仮想アプライアンスとして配布されたソフトウェア・アプリケーションを自動的にアップグレードするための方法であって、前記方法は、前記仮想マシン・モニタのAPIを用いて自動的に実行される次のステップ、すなわち、
    前記仮想マシンにアタッチされた仮想アプライアンス仮想ディスクのリストの以前に格納されたバージョンにおける変更を検出するステップと、
    新しい仮想アプライアンス仮想ディスクが検出された場合、前記少なくとも1つのOS仮想ディスク上にこの新しい仮想ディスク上で読み出された非アクティブ化スクリプトを格納し、かつ、
    前記新しい仮想ディスク上に格納された前記ソフトウェア・アプリケーションをインストールする、前記新しい仮想ディスク上に格納されたインストール/アンインストール・プログラム(SIE)の実行を開始することにより、前記新しい仮想ディスク上に格納された命令に従って前記OSシステムを修正することと、
    前記新しい仮想アプライアンス仮想ディスクのエントリを、現在アタッチされている前記仮想ディスクの前記リストに付加することと、
    を実行することにより、前記新しい仮想ディスク上で読み出されるインストール・スクリプトを実行するステップと、
    を含む方法。
  2. 前記新しい仮想ディスク上に格納された場合、必要に応じて、前記ソフトウェア・アプリケーションを再構成するために、特定の付加的なアクティブ化操作を前記システム上で実行するステップをさらに含む、請求項1に記載の方法。
  3. 前記仮想アプライアンス仮想ディスクの除去が検出された場合、
    除去される前記仮想ディスク上に格納されたインストール/アンインストール・プログラムの実行を開始し、除去される前記仮想ディスク上に格納された、前記ソフトウェア・アプリケーションをアンインストールする命令に従って前記OSシステムを修正することと、
    除去される前記仮想ディスクのエントリを、現在アタッチされている前記仮想ディスクの前記リストから削除すること、
    を実行することにより、除去される前記仮想ディスクの前記OS仮想ディスクに既に格納されたアンインストール・スクリプトを実行するステップをさらに含む、請求項1又は請求項2に記載の方法。
  4. 除去される前記仮想ディスク上に格納された場合、前記アプリケーションがアンインストールされるのを可能にする特定の付加的な操作を前記システム上で実行するステップをさらに含む、請求項3に記載の方法。
  5. 前記仮想マシン上での仮想ディスク・アタッチ・イベント又は仮想ディスク除去イベントについて、前記仮想マシンを継続的に監視するステップをさらに含む、請求項1から請求項4までのいずれか1項に記載の方法。
  6. 初期化された新しい仮想ディスク上にソフトウェア・アプリケーション・パッケージを格納する初期ステップと、
    前記新しい仮想ディスク上に、前記ソフトウェア・アプリケーションをインストール/アンインストールするインストール/アンインストール・プログラムを格納する初期ステップと、
    プログラム・パッケージ・ツールを用いて、前記インストール/アンインストール・プログラムにより実行される前記ソフトウェア・アプリケーションをインストール/アンインストールするように前記OSシステムを修正するための、プログラム・パッケージを形成する命令を作成する初期ステップと、
    前記仮想ディスクを前記仮想アプライアンス仮想ディスクとして識別するディスク識別子を作成し、これを前記新しい仮想アプライアンス仮想ディスク上に格納する初期ステップと、
    をさらに含む請求項1又は請求項2に記載の方法。
  7. 必要に応じて、インストール後に、前記ソフトウェア・アプリケーションの構成を可能にするように、前記新しい仮想ディスク上に、前記システム上で実行される特定の付加的な操作を作成しかつ格納するステップをさらに含む、請求項6に記載の方法。
  8. 前記方法の前記ステップは、前記仮想マシンの前記仮想マシン・モニタとインターフェース接続する、APIプログラミング命令を含むスクリプトを実行するプログラム(VDAM)により自動的に実行される、請求項1から請求項7までのいずれか1項に記載の方法。
  9. 前記自動ステップの実行のために前記プログラム(VDAM)をセットアップする初期ステップをさらに含む、請求項8に記載の方法。
  10. 前記仮想アプライアンス仮想ディスクの前記リストにおける変更を検出する前記ステップは、各々が前記仮想アプライアンス仮想ディスクの特定の署名である一意の識別子のリストにおける変更を検出することを含み、
    前記一意の識別子を作成する前記ステップは、前記仮想アプライアンス仮想ディスクの属性に基づいて前記特定の署名を計算することを含む、
    請求項6に記載の方法。
  11. 請求項1から請求項10までのいずれか1項に記載の方法のステップを実行するように適合された手段を含むシステム。
  12. 請求項1から請求項9までのいずれか1項に記載の方法の各ステップをコンピュータに実行させるコンピュータ・プログラム。
JP2013525254A 2010-08-27 2011-08-17 仮想アプライアンスの自動アップグレードのための方法、コンピュータ・プログラム、及びシステム Active JP5827687B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10174377 2010-08-27
EP10174377.1 2010-08-27
PCT/EP2011/064188 WO2012025443A1 (en) 2010-08-27 2011-08-17 A method computer program and system for automatic upgrade of virtual appliances

Publications (2)

Publication Number Publication Date
JP2013540302A JP2013540302A (ja) 2013-10-31
JP5827687B2 true JP5827687B2 (ja) 2015-12-02

Family

ID=44512882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013525254A Active JP5827687B2 (ja) 2010-08-27 2011-08-17 仮想アプライアンスの自動アップグレードのための方法、コンピュータ・プログラム、及びシステム

Country Status (6)

Country Link
US (2) US9134991B2 (ja)
JP (1) JP5827687B2 (ja)
DE (1) DE112011102831T5 (ja)
GB (1) GB2496560A (ja)
TW (1) TWI505189B (ja)
WO (1) WO2012025443A1 (ja)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8924958B1 (en) 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US10089093B1 (en) * 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US10791538B1 (en) 2011-07-06 2020-09-29 BlueStack Systems, Inc. Cloud-based data synchronization
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
CN103034523B (zh) * 2011-10-05 2016-06-22 国际商业机器公司 用于虚拟设备的模型驱动的维护的方法和系统
US9804864B1 (en) 2011-10-07 2017-10-31 BlueStack Systems, Inc. Method of mapping inputs and system thereof
US8924954B2 (en) * 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
US10091138B2 (en) * 2012-02-21 2018-10-02 F5 Networks, Inc. In service upgrades for a hypervisor or hardware manager hosting virtual traffic managers
US8782632B1 (en) * 2012-06-18 2014-07-15 Tellabs Operations, Inc. Methods and apparatus for performing in-service software upgrade for a network device using system virtualization
US8990806B2 (en) * 2012-07-31 2015-03-24 Hewlett-Packard Development Company, L.P. Customized virtual machine creation
GB2507753A (en) 2012-11-07 2014-05-14 Ibm Dynamic configuration of virtual appliances
GB2508160A (en) * 2012-11-21 2014-05-28 Ibm Avoiding conflicts between computing machines
CN103488515A (zh) * 2012-12-05 2014-01-01 张维加 一种usb引导系统与程序虚拟机结合的设备
US9311121B2 (en) 2012-12-21 2016-04-12 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181044A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to identify uncharacterized and unprotected virtual machines
US9378035B2 (en) 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US9459856B2 (en) * 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US9400669B2 (en) 2013-01-16 2016-07-26 International Business Machines Corporation Virtual appliance chaining and management
US8957315B2 (en) 2013-03-11 2015-02-17 Carestream Health, Inc. Stabilization agents for silver nanowire based transparent conductive films
US8957318B2 (en) 2013-03-13 2015-02-17 Carestream Health, Inc. Stabilization agents for silver nanowire based transparent conductive films
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
CN104636159B (zh) * 2013-11-15 2018-09-28 华为技术有限公司 对虚拟机中的软件进行升级的方法和装置
US9934052B1 (en) * 2013-12-19 2018-04-03 VCE IP Holding Company LLC Large scale virtual application deployment using system provisioning tools
GB2522677A (en) 2014-02-03 2015-08-05 Ibm Updating software products on virtual machines with software images of new levels thereof
US10296362B2 (en) * 2014-02-26 2019-05-21 Red Hat Israel, Ltd. Execution of a script based on properties of a virtual device associated with a virtual machine
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US10542049B2 (en) 2014-05-09 2020-01-21 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9727439B2 (en) 2014-05-28 2017-08-08 Vmware, Inc. Tracking application deployment errors via cloud logs
US9146721B1 (en) 2014-05-30 2015-09-29 Vmware, Inc. Installation of a software agent via an existing template agent
US9652211B2 (en) 2014-06-26 2017-05-16 Vmware, Inc. Policy management of deployment plans
US9712604B2 (en) 2014-05-30 2017-07-18 Vmware, Inc. Customized configuration of cloud-based applications prior to deployment
US9223558B2 (en) * 2014-06-02 2015-12-29 International Business Machines Corporation Software installation and configuration
US9639691B2 (en) 2014-06-26 2017-05-02 Vmware, Inc. Dynamic database and API-accessible credentials data store
US11228637B2 (en) 2014-06-26 2022-01-18 Vmware, Inc. Cloud computing abstraction layer for integrating mobile platforms
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
CN104199689B (zh) * 2014-08-18 2017-10-27 中国建设银行股份有限公司 综合前端系统的安装方法及装置
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9547564B1 (en) * 2014-11-10 2017-01-17 Amazon Technologies, Inc. Automated deployment of applications
US10459709B1 (en) 2014-11-10 2019-10-29 Amazon Technologies, Inc. Automated deployment of applications
US11119745B2 (en) * 2014-11-10 2021-09-14 Amazon Technologies, Inc. Automated deployment of applications
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9996374B2 (en) * 2015-06-16 2018-06-12 Assured Information Security, Inc. Deployment and installation of updates in a virtual environment
US10540165B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server rolling upgrade
US10733153B2 (en) 2016-02-29 2020-08-04 Red Hat, Inc. Snapshot management in distributed file systems
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US10360011B2 (en) * 2017-01-17 2019-07-23 Oracle International Corporation Private computer network installations
US10528336B2 (en) 2017-01-30 2020-01-07 International Business Machines Corporation Creation of software images of software applications for image-based maintenance of the software applications
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US10877851B2 (en) 2017-03-24 2020-12-29 Commvault Systems, Inc. Virtual machine recovery point selection
CN108664252A (zh) * 2017-03-27 2018-10-16 Tcl集团股份有限公司 一种基于安卓系统的桌面启动器恢复方法及系统
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
JP2018205817A (ja) * 2017-05-30 2018-12-27 富士通株式会社 情報処理装置、および管理プログラム
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US10785108B1 (en) 2018-06-21 2020-09-22 Wells Fargo Bank, N.A. Intelligent learning and management of a networked architecture
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
WO2020067871A1 (en) * 2018-09-28 2020-04-02 Mimos Berhad Virtual appliance configuration management in cloud environment
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11010146B2 (en) * 2019-06-18 2021-05-18 Vmware, Inc. Unified management of heterogeneous applications
US10942728B2 (en) * 2019-07-15 2021-03-09 Vmware, Inc. Deploying device campaign updates to IoT devices
US11599375B2 (en) * 2020-02-03 2023-03-07 EMC IP Holding Company LLC System and method virtual appliance creation
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US10970064B1 (en) 2020-07-28 2021-04-06 Bank Of America Corporation Dynamically updating a software program to resolve errors
CN112199165B (zh) * 2020-10-28 2022-07-05 支付宝(杭州)信息技术有限公司 用于热升级安全容器的虚拟机监控程序的方法及装置
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11556330B2 (en) 2020-11-24 2023-01-17 Kyndryl, Inc. Analysis and implementation of security updates

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405362B1 (en) * 1998-11-13 2002-06-11 Microsoft Corporation Automatic software installation and cleanup
US6356915B1 (en) * 1999-02-22 2002-03-12 Starbase Corp. Installable file system having virtual file system drive, virtual device driver, and virtual disks
US6529992B1 (en) * 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
GB0017336D0 (en) 2000-07-15 2000-08-30 Ibm Preferable modes of software package deployment
US7162543B2 (en) * 2001-06-06 2007-01-09 Sap Ag Process for synchronizing data between remotely located devices and a central computer system
US20020188938A1 (en) * 2001-06-11 2002-12-12 Dong Mimi Chu System and method for providing application software for a peripheral device
US7373451B2 (en) * 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7293117B2 (en) * 2004-06-10 2007-11-06 Microsoft Corporation Self-installing peripheral device with memory wherein in response to user request for additional storage peripheral device being configured to remove installation software stored on memory
US20060195832A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Modules for composing computer systems
US8478860B2 (en) * 2006-03-14 2013-07-02 Strong Bear L.L.C. Device detection system for monitoring use of removable media in networked computers
US20100088699A1 (en) * 2007-03-27 2010-04-08 Takayuki Sasaki Virtual machine operation system, virtual machine operation method and program
US8365164B1 (en) * 2008-02-21 2013-01-29 T-APP Ltd. Portable software applications
MX2010009362A (es) * 2008-02-26 2010-12-06 Vmware Inc Extension de arquitectura de maquina virtual de escritorio basada en servidor para maquinas de cliente.
US8458658B2 (en) * 2008-02-29 2013-06-04 Red Hat, Inc. Methods and systems for dynamically building a software appliance
WO2009143124A1 (en) * 2008-05-20 2009-11-26 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US8239509B2 (en) * 2008-05-28 2012-08-07 Red Hat, Inc. Systems and methods for management of virtual appliances in cloud-based network
US8543998B2 (en) 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US20100011358A1 (en) * 2008-07-14 2010-01-14 Kettler Kevin A Virtualization Based Personalizable Consumer Electronics Platform
US9594581B2 (en) * 2008-07-14 2017-03-14 Dell Products L.P. Modular virtual machine server
US8443166B2 (en) * 2009-03-06 2013-05-14 Vmware, Inc. Method for tracking changes in virtual disks
US8560649B2 (en) * 2009-03-13 2013-10-15 Aspect Software, Inc. Virtual appliance automation tool
US8392838B2 (en) * 2010-01-27 2013-03-05 Vmware, Inc. Accessing virtual disk content of a virtual machine using a control virtual machine

Also Published As

Publication number Publication date
US9146727B2 (en) 2015-09-29
GB2496560A (en) 2013-05-15
GB201303289D0 (en) 2013-04-10
US20120054736A1 (en) 2012-03-01
TW201220193A (en) 2012-05-16
JP2013540302A (ja) 2013-10-31
US20120216181A1 (en) 2012-08-23
US9134991B2 (en) 2015-09-15
WO2012025443A1 (en) 2012-03-01
DE112011102831T5 (de) 2013-07-18
TWI505189B (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
JP5827687B2 (ja) 仮想アプライアンスの自動アップグレードのための方法、コンピュータ・プログラム、及びシステム
JP5863818B2 (ja) ソフトウェア製品のあらかじめ必要なソフトウェアをインストールするための方法、システム、およびコンピュータ・プログラム
US9471365B2 (en) Techniques for performing virtual machine software upgrades using virtual disk swapping
US9971618B2 (en) System and method to reconfigure a virtual machine image suitable for cloud deployment
US10606628B2 (en) Systems and methods for modifying an operating system for a virtual machine
US8464245B2 (en) Method and system for software virtualization directly from an installation package
US8543797B1 (en) Managed desktop system
US8745614B2 (en) Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment
US8302091B2 (en) Installation of a bootable image for modifying the operational environment of a computing system
US7856630B2 (en) System, method and program to manage program updates
US20080271017A1 (en) Managing Virtual Machines Using Shared Image
US10715594B2 (en) Systems and methods for update propagation between nodes in a distributed system
US20220357997A1 (en) Methods and apparatus to improve cloud management
US9141400B2 (en) Technique for deploying operating systems in a virtualized environment
CN108021427A (zh) 基于Docker的信息系统部署及升级管理方法
US20120246634A1 (en) Portable virtual applications
US8661433B2 (en) Systems and methods of creating a restorable computer installation
US10365907B2 (en) Offline tools installation for virtual machines
CN112068846B (zh) 一种基于双系统的应用分发方法、设备及介质
CN118069164A (zh) 基于OSTree的软件安装方法
Somboonpattanakit XenServer 5.5. 0 Installation Guide
GB2499077A (en) Controlling attachment of virtual disks to virtual machines conditional upon usage entitlements to software artefacts on the disks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151016

R150 Certificate of patent or registration of utility model

Ref document number: 5827687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150