JP6014257B2 - アプリケーション配布システムを動作させるためのシステム及び方法 - Google Patents

アプリケーション配布システムを動作させるためのシステム及び方法 Download PDF

Info

Publication number
JP6014257B2
JP6014257B2 JP2015524420A JP2015524420A JP6014257B2 JP 6014257 B2 JP6014257 B2 JP 6014257B2 JP 2015524420 A JP2015524420 A JP 2015524420A JP 2015524420 A JP2015524420 A JP 2015524420A JP 6014257 B2 JP6014257 B2 JP 6014257B2
Authority
JP
Japan
Prior art keywords
virtual machine
application
storage volume
storage
attached
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
JP2015524420A
Other languages
English (en)
Other versions
JP2015523665A (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.)
VMware LLC
Original Assignee
VMware LLC
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 VMware LLC filed Critical VMware LLC
Publication of JP2015523665A publication Critical patent/JP2015523665A/ja
Application granted granted Critical
Publication of JP6014257B2 publication Critical patent/JP6014257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、アプリケーション配布システムを動作させるためのシステム及び方法に関する。
“仮想マシン”は、仮想化された、コンピュータシステムの複製であり、仮想ハードウェア(ディスクコントローラ、ネットワークカード等を含む)を伴う。多くの場合、リナックス(登録商標)やマイクロソフト・ウィンドウズ(登録商標)等の完全なオペレーティングシステムが、仮想マシン内において動作している。その仮想マシンは、ハイパーバイザとして知られる物理ホストサーバ上で動作する。ハイパーバイザ(マイクロソフトのハイパーV、シトリックス(Citrix)のゼンサーバ(XenServer)、及びヴイエムウェア(VMware)のESXサーバ等)がホストサーバの物理ハードウェアを抽象化することによって、仮想マシンは、下位にあるハードウェアが実際は何であるかにかかわらず、仮想ハードウェアとして認識する。
仮想マシン内に生成される記憶ボリュームは、ハイパーバイザによって提供される仮想化された記憶ボリュームである。仮想マシン内から認識可能な記憶ボリュームは、複数の供給源に由来することがある。その供給源には、(1)仮想マシンに直接的にマッピングされる物理装置(CD−ROM、USB記憶装置、又はハードディスク等)と、(2)iSCSI又はファイバチャネルによって接続されるSANと、(3)仮想ディスクを含むファイル(マイクロソフトのハイパーVが使用するVHDファイル形式、ヴイエムウェアのESXサーバが使用するVMDKファイル形式、又はCD若しくはDVD等の光学ディスクを構成するために使用されるISOファイル形式等)とが含まれる。記憶装置は、“パーティション”(ディスクパーティションとしても知られる)にさらに分割される場合もあればされない場合もある。
さらに、以前はエンタープライズ内にホストされていたアプリケーションは、今では“クラウド”に移行されつつある。クラウドは、ライトスケール(Rightscale)やアマゾン・ウェブ・サービス等のクラウド・ホスト・プロバイダによって提供される動的なコンピューティングリソースを使用することを言う一般的な用語である。会社のデータセンタ内の仮想マシンを使用する代わりに、仮想マシンは、“クラウド”からプロビジョニングされることが可能であり、このことは、新たな仮想マシンがクラウド・ホスト・プロバイダのデータセンタ内においてプロビジョニングされることが可能であることを意味する。
アマゾン・ウェブ・サービス等の既存のクラウドソリューションに関し、顧客は、ソフトウェアがプリインストールされた既存の仮想マシンを求めることがある。顧客が必要とするソフトウェアを有する仮想マシンが入手可能でない場合、顧客は、自身の仮想マシンを生成し、必要なソフトウェアをインストールする必要がある。
本明細書において開示される実施形態によって、アプリケーションを仮想マシンに配布するためのシステム及び方法が提供される。特定の実施形態では、方法は、1つ以上のアタッチ可能なアプリケーションのリストを提供する提供工程と、1つ以上のアタッチ可能なアプリケーションのうちの少なくとも1つのアプリケーションが仮想マシンにアタッチ
が行われることを示す選択を受信する受信工程とを備える。その方法は、少なくとも1つのアプリケーションを仮想マシンにアタッチを行うアプリケーションアタッチ工程をさらに備える。
いくつかの実施形態では、方法は、仮想マシンを起動させる起動工程を備える。
いくつかの実施形態では、方法は、アプリケーションアタッチ工程が、少なくとも1つのアプリケーションに基づいて少なくとも1つの記憶ボリュームを識別する識別工程と、少なくとも1つの記憶ボリュームを仮想マシンにアタッチを行う記憶ボリュームアタッチ工程とを含む。
いくつかの実施形態では、方法は、仮想マシンにおいて、少なくとも1つの記憶ボリュームによるアプリケーションを実行する実行工程を備える。
いくつかの実施形態では、方法は、記憶ボリュームアタッチ工程が、少なくとも1つの記憶ボリュームを仮想マシンにアタッチを行うようハイパーバイザに指示する指示工程を含む。
いくつかの実施形態では、方法は、少なくとも1つの記憶ボリューム上の少なくとも1つのアプリケーションを仮想マシンに対して利用可能にするコンテンツを仮想マシン中にオーバーレイするオーバーレイ工程を備える。
いくつかの実施形態では、方法は、デタッチ・トリガ・イベントを検出する検出工程と、デタッチ・トリガ・イベントに応じて、少なくとも1つの記憶ボリュームを仮想マシンからデタッチを行うデタッチ工程とを備える。
いくつかの実施形態では、方法は、少なくとも1つの記憶ボリュームを含む記憶システムが、通信ネットワークを通じて、仮想マシンを含むホストコンピュータシステムから離れて配置されている。
いくつかの実施形態では、方法は、選択がユーザから受信される。
さらなる実施形態では、アプリケーション配布システムを動作させるための記憶された命令を有するコンピュータ可読媒体が提供される。その命令は、アプリケーション配布システムによる実行時に、1つ以上のアタッチ可能なアプリケーションのリストを提供することと、1つ以上のアタッチ可能なアプリケーションのうちの少なくとも1つのアプリケーションが仮想マシンにアタッチが行われることを示す選択を受信することとを行うようにアプリケーション配布システムに指示する。その命令は、少なくとも1つのアプリケーションを仮想マシンにアタッチを行うことを行うようにシステムにさらに指示する。
別の実施形態では、アプリケーション配布システムが提供される。そのアプリケーション配布システムは、1つ以上のアタッチ可能なアプリケーションを含む複数の記憶ボリュームを備える。アプリケーション配布システムは、1つ以上のアタッチ可能なアプリケーションのリストを提供することと、1つ以上のアタッチ可能なアプリケーションのうちの少なくとも1つのアプリケーションが仮想マシンにアタッチが行われることを示す選択を受信することと、少なくとも1つのアプリケーションを仮想マシンにアタッチを行うこととを行うように構成されている処理システムをさらに備える。
一例によるアプリケーションストアを示す図。 一例によるアプリケーションストアの動作を示す図。 一例によるアプリケーションストアのシステムを示す図。
アプリケーション配布システム(Appストア)を使用して仮想マシン(VM)内においてアプリケーションを利用可能にするためのシステム及び方法が本明細書において提供される。少なくとも1つの例では、仮想マシンを起動させる前に、ユーザは、1つ以上のアタッチ可能なアプリケーションを列挙するウェブサーバ等のアプリケーションを与えられている場合がある。これらのアプリケーションから、ユーザは、新たな仮想マシンに含めたいアプリケーションを選択できる。アプリケーションの選択後、VMマネージャは、新たな仮想マシンが起動したときにアプリケーションが利用可能なように、アプリケーションを含む適切な記憶ボリュームのアタッチを行うようハイパーバイザに要求する。
図1は、VMエージェント120及びアタッチが行われたボリューム160からなる仮想マシン110と、Appストア115と、VMマネージャ130と、書込可能な記憶ボリューム142及びアプリケーションボリューム144からなる記憶リポジトリ140と、ハイパーバイザ150とを含むシステム100を示す。
システム100は、Appストア115において選択された、アタッチが行われたアプリケーションを有する仮想マシン110を、ハイパーバイザによりアタッチが行われたボリュームを使用して起動させるように構成されている。特に、少なくとも1つの例では、Appストア115は、新たな仮想マシン110に追加するためのアプリケーションについてVMマネージャ130に通知するように構成されている。応じて、VMマネージャ130は、様々なアプリケーションボリューム144のうちのいずれが仮想マシン110にアタッチが行われるべきか決定する。次いで、VMマネージャ130は、目的の仮想マシン110に対し選択されたアプリケーションボリューム144のアタッチを行うとの要求をハイパーバイザ150宛に送り、これによって、仮想マシン110が起動するとき、選択されたアプリケーションボリューム144のアタッチが行われる。
一例では、Appストア115は、VMマネージャ130を含んでいてもよく、これによって、ハイパーバイザ150によって仮想マシン110に対するアプリケーションボリューム144のアタッチが行われるようAppストア115が決定してもよい。
選択された記憶ボリューム160のアタッチを強調するために、アタッチが行われた記憶ボリューム160を目的の仮想マシン110内に示しているが、選択された記憶ボリューム160が目的の仮想マシン110中に実際に移されなくてよいことが認められる。
図2は、Appストアを動作させる方法200を示すフローチャートである。図2に示すように、方法は、Appストアにおけるアプリケーションのユーザによる選択の検出に応じてVMマネージャを始めることによって、工程210から始まる。選択に基づいて、工程220では、記憶リポジトリからボリュームが識別される。その後、工程230では、アタッチが行われた、選択されたアプリケーションボリュームとともに、仮想マシンが起動させられる。
図3は、アプリケーションボリューム312,314からなる記憶リポジトリ310と、ボリューム・オーバーレイ・エージェント326、ボリューム検出器324、及びVMエージェント322からなる仮想マシン320と、Appストア328と、仮想マシンを実行するハイパーバイザ330と、データセンタマネージャ350と、Appボリュームマウンタ342、ライセンスレポート346、ユーザ許可344、及び構成データベース348からなるVMマネージャ340とを含むシステム300を示す。
図3において、Appストア328は、新たな仮想マシン320にアタッチを行うためのアプリケーションをユーザに選択させるように構成されている。Appストア328に
よって、ユーザは、利用可能なアプリケーションのリストを含むグラフィカルインタフェースを与えられることがある。そのグラフィカルインタフェースは、ウェブブラウザや別の仮想マシン上に存在してもよく、また、新たな仮想マシン320を起動させる前にアプリケーションのリストを表示する任意の他の方法であってもよい。一例では、各アプリケーションに金額が添えられており、次いで、その金額がアプリケーションの選択に基づいてユーザに請求されてよい。別例では、アプリケーションをユーザが無料で選択できる。別例では、アプリケーションは、有料のアプリケーションと無料のアプリケーションとの組み合わせであってもよい。
ユーザがAppストア328からアプリケーションを選択する際、VMマネージャ340は、適切なアプリケーションボリューム312−314が仮想マシン320にアタッチが行われるよう決定することがある。一例では、Appストア328は、Appストア328が適切なアプリケーションボリューム312−314を選択するようにVMマネージャ340を含んでいてもよい。他の例では、VMマネージャ340は、別の物理コンピュータ又は別の仮想マシン上に存在してもよい。
ユーザがAppストア328からアプリケーションを選択するとき、VMマネージャ340は、アプリケーションボリューム312等のアプリケーションボリュームを探索する。VMマネージャ340は、その情報を自身の内部メモリ、データベース(構成データベース348等)、又はディレクトリ(“アクティブディレクトリ”等)に記憶し得る。
VMマネージャ340が、ユーザのアプリケーションの選択に基づいて、関連する組の記憶ボリュームを選択すると、VMマネージャ340は、ハイパーバイザ330と直接的又は間接的に交信し、記憶ボリュームが新たな仮想マシン320(“目標のVM”)にアタッチが行われることを要求する。例えば、VMマネージャ340は、ハイパーバイザ(ヴイエムウェアのESXサーバ等)やクラウドインフラストラクチャ(アマゾンEC2等)に接続することによって、記憶ボリューム312−314が目標のVMにアタッチが行われるよう直接的に要求してもよい。VMマネージャ340は、いくつかのハイパーバイザ又はクラウドプラットフォームの管理を担う仮想データセンタマネージャ350に接続することによって、記憶ボリューム312−314が目標の仮想マシン320にアタッチが行われるよう間接的に要求してもよい。さらに、システム300によるデータの管理の制御、最適化、又はその両方に役立つように、ロードバランサ、アプリケーションブローカ、又はその両方がシステムとともに利用されてもよい。
少なくとも1つの例では、仮想マシン320は、ボリューム検出器324を含む。ボリューム検出器324は、新たな記憶ボリュームが仮想マシン320にアタッチが行われるときを検出するように構成される。一例では、このボリューム検出器324は、ファイルシステムのフィルタドライバの場合がある。別例では、このボリューム検出器324は、ファイルシステムのミニフィルタドライバであってよい。別例では、このボリューム検出器324は、新たな記憶装置のアタッチが行われるときを検出するように構成されているウィンドウズのサービスであってもよい。新たな記憶ボリュームが検出されると、ボリュームオーバーレイのソフトウェアエージェントが呼び出される(“ボリューム・オーバーレイ・エージェント326”)。このボリューム・オーバーレイ・エージェントは、ボリューム検出器324の一部の場合もあれば、示すように別のドライバの場合もある。ボリューム・オーバーレイ・エージェントは、記憶ボリュームに含まれるアプリケーションを露出させ、仮想マシン320が利用可能とすることを担う。
ボリューム・オーバーレイ・エージェント326は、コンテンツがVM中にシームレスに統合されるように、コンテンツ(ファイルやレジストリキー等)をVM中にオーバーレイすることによって、これを達成することができる。さらに、記憶ボリュームに含まれる
1つ以上のアプリケーションが自動で起動させられるように意図される場合、VMエージェントは、ボリュームのコンテンツを列挙することと、関連するサービス又はドライバを自動で開始することとを行い得る。例えば、VMエージェントは、HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Servicesのサブツリーに含まれるサービスを探すように全ての開始(Start)レジストリ値を列挙でき、そのサービスは自動的に開始され、関連するAPI(ZwLoadDriverやStartService等)を呼び出す。
VMエージェント322は、Appストア328において選択されたアプリケーションを含む記憶ボリューム312−314のアタッチが行われるとき、その記憶ボリューム312−314に自動的に応じるように構成されている。VMエージェント322は、様々な例では、ウィンドウズのサービス、ユニックス(登録商標)のデーモン、又はスクリプトの場合がある。
VMエージェント322は、特定のトリガーイベントの検出の際、記憶ボリュームのデタッチを行うように構成されている場合がある。そのイベントは、ユーザが仮想マシンをシャットダウンすること、仮想マシンからログオフすること、又はデタッチ・トリガ・イベントに指定される任意の他のイベントを含んでよい。さらに、VMエージェント322は、アタッチが行われるボリュームを検出することと、HKEY_LOCAL_MACHINE¥CurrentControlSet¥Services等の知られたロードポイントを探すこととを行うように構成されてよい。
仮想マシン320にアタッチが行われる記憶手段は、ハイパーバイザ330や、仮想マシン320のオペレーティングシステムによってサポートされる任意の形態であってよい。仮想マシンにアタッチが行われる記憶手段は、複数のパーティション、ボリューム、及びファイルシステムを含んでいてもよい。パーティション、ボリューム、及びファイルシステム等の記憶手段の概念は、当業者に周知であり、本開示の範囲外である。
仮想マシンにアタッチが行われる記憶手段は、クラウドインフラストラクチャによってサポートされる任意の種類であってよい。一例では、仮想マシンにアタッチが行われる記憶手段は、ネットワークを通じてアタッチが行われる(LUNすなわち論理ユニット番号によって記憶手段を参照するiSCSI又はファイバチャネル等のプロトコルを使用して)。別例では、仮想マシンにアタッチが行われる記憶手段は、ハードディスクやハードディスクのパーティション等の物理ボリュームから直接的にアタッチが行われ(Rawデバイスマッピング)、ハイパーバイザには、仮想マシンから直接的にハードウェアへのパススルーによるアクセスが伴われる。別例では、仮想マシンにアタッチが行われる記憶手段は、ファイル(仮想CD−ROMを構成するISO、又はディスクを構成するVMDKファイル形式やVHDファイル形式等の仮想ハードディスクファイル)によって構成される仮想装置であってよい。仮想マシンにアタッチが行われる記憶手段は、アマゾンEC2クラウドでは、“エラスティック・ブロック・ストレージ(elastic block storage)”であってよく、マイクロソフトアズールのクラウドでは、“ページブロブ(page blob)”であってよい。
仮想マシンにアタッチが行われる記憶手段は、1つの物理装置や、ファイルによって構成される1つの仮想装置内に含まれる必要はない。記憶手段は、仮想マシン内において“物理ボリューム”を構成する、同時にアタッチが行われる様々な仮想ハードディスクファイルや物理装置の形態であってよい。その物理ボリュームは、論理ボリュームからなる。この手法は、記憶仮想化として知られており、下位にある物理記憶手段から論理ボリュームが抽象化されることを可能にする。論理ボリューム(それ自体、ファイルシステムを含む)が複数の物理ボリュームに広がっていることによって、論理ボリュームにおける冗長
性及び性能が向上する。リダンダント・アレイ・オブ・インディペンデント・ディスクズ(略称はRAIDである)等、この記憶仮想化を提供するための技術、論理ボリューム、及び物理ボリュームは、当業者に周知であり、本開示の範囲外である。
以上の説明及び関連する図は、本開示のベストモードを教示する。下記の特許請求の範囲が本開示の範囲を指定する。ベストモードのいくつかの態様は、特許請求の範囲によって指定されるような本開示の範囲内に属さない場合があることに注意する。本開示の複数の変形を構成するように上記の特徴は様々な方法で組み合わされ得ると、当業者によって認められる。したがって、本開示は以上で説明した具体例に限定されるものではなく、下記の特許請求の範囲及びその均等物によってのみ限定される。

Claims (15)

  1. アプリケーション配布システムを動作させる方法であって、
    ユーザインタフェースによって、1つ以上のアタッチ可能なアプリケーションのリストを提供する提供工程と、
    前記ユーザインタフェースによって、前記1つ以上のアタッチ可能なアプリケーションのうち仮想マシンにアタッチすべき少なくとも1つのアプリケーションを示す選択を受信する受信工程と、
    VMマネージャが、前記ユーザインタフェースによって選択された前記少なくとも1つのアプリケーションに基づいて少なくとも1つの記憶ボリュームを識別する識別工程と、
    前記VMマネージャが、識別された前記記憶ボリュームを仮想マシンにアタッチするようハイパーバイザに要求する要求工程と、
    前記ハイパーバイザが、識別された前記少なくとも1つの記憶ボリュームを前記仮想マシンへアタッチすることによって、前記少なくとも1つのアプリケーションを前記仮想マシンにアタッチするアプリケーションアタッチ工程と、
    記少なくとも1つのアプリケーションがアタッチされた前記仮想マシンを起動させる起動工程とを備える、方法。
  2. 前記仮想マシンにおいて、前記少なくとも1つの記憶ボリュームによる前記少なくとも1つのアプリケーションを実行する実行工程をさらに備える、請求項1に記載の方法。
  3. 前記少なくとも1つの記憶ボリューム上の前記少なくとも1つのアプリケーションを前記仮想マシンに対して利用可能にするコンテンツを前記仮想マシン中にオーバーレイするオーバーレイ工程をさらに備える、請求項1に記載の方法。
  4. デタッチ・トリガ・イベントを検出する検出工程と、
    前記デタッチ・トリガ・イベントに応じて、前記少なくとも1つの記憶ボリュームを前記仮想マシンからデタッチするデタッチ工程とをさらに備える、請求項1に記載の方法。
  5. 前記少なくとも1つの記憶ボリュームを含む記憶システムは、通信ネットワークを通じて、前記仮想マシンを含むホストコンピュータシステムから離れて配置されている、請求
    項1に記載の方法。
  6. アプリケーション配布システムを動作させるための記憶された命令を有するコンピュータ可読媒体であって、前記命令は、前記アプリケーション配布システムによる実行時に、
    ユーザインタフェースによって、1つ以上のアタッチ可能なアプリケーションのリストを提供することと、
    前記ユーザインタフェースによって、前記1つ以上のアタッチ可能なアプリケーションのうち仮想マシンにアタッチすべき少なくとも1つのアプリケーションを示す選択を受信することと、
    VMマネージャが、選択された前記少なくとも1つのアプリケーションに基づいて少なくとも1つの記憶ボリュームを識別することと、
    前記VMマネージャが、識別された前記記憶ボリュームを仮想マシンにアタッチするようハイパーバイザに要求することと、
    前記ハイパーバイザが、識別された前記少なくとも1つの記憶ボリュームを前記仮想マシンへアタッチすることによって、前記少なくとも1つのアプリケーションを前記仮想マシンにアタッチすることと、
    記少なくとも1つのアプリケーションがアタッチされた前記仮想マシンを起動させることとを行うように前記アプリケーション配布システムに指示する、コンピュータ可読媒体。
  7. 前記命令は、前記仮想マシンが、前記少なくとも1つの記憶ボリュームによる前記アプリケーションを実行するように前記アプリケーション配布システムにさらに指示する、請求項6に記載のコンピュータ可読媒体。
  8. 前記命令は、前記少なくとも1つの記憶ボリューム上の前記少なくとも1つのアプリケーションを前記仮想マシンに対して利用可能にするコンテンツを前記仮想マシン中にオーバーレイするように前記アプリケーション配布システムにさらに指示する、請求項6に記載のコンピュータ可読媒体。
  9. 前記命令は、
    デタッチ・トリガ・イベントを検出することと、
    前記デタッチ・トリガ・イベントに応じて、前記少なくとも1つの記憶ボリュームを前記仮想マシンからデタッチすることとを行うように前記アプリケーション配布システムにさらに指示する、請求項6に記載のコンピュータ可読媒体。
  10. 前記少なくとも1つの記憶ボリュームを含む記憶システムは、通信ネットワークを通じて、前記仮想マシンを含むホストコンピュータシステムから離れて配置されている、請求項6に記載のコンピュータ可読媒体。
  11. 1つ以上のアタッチ可能なアプリケーションを含む複数の記憶ボリュームを記憶する記憶リポジトリと、
    処理システムであって、
    ユーザインタフェースによって、前記1つ以上のアタッチ可能なアプリケーションのリストを提供することと、
    前記ユーザインタフェースによって、前記1つ以上のアタッチ可能なアプリケーションのうち仮想マシンにアタッチすべき少なくとも1つのアプリケーションを示す選択を受信することと、
    VMマネージャが、選択された前記少なくとも1つのアプリケーションに基づいて少なくとも1つの記憶ボリュームを識別することと、
    前記VMマネージャが、識別された前記記憶ボリュームをホストマシン上の仮想マシ
    ンにアタッチするようハイパーバイザに要求することと、
    前記ハイパーバイザが、識別された前記少なくとも1つの記憶ボリュームを前記仮想マシンへアタッチすることによって、前記少なくとも1つのアプリケーションを前記仮想マシンにアタッチすることと、
    記少なくとも1つのアプリケーションがアタッチされた、前記ホストマシン上の前記仮想マシンを起動させることとを行うように構成されている前記処理システムとを備える、アプリケーション配布システム。
  12. 前記処理システムは、前記仮想マシンが、前記少なくとも1つの記憶ボリュームによる前記アプリケーションを実行するようにさらに構成されている、請求項11に記載のシステム。
  13. 前記処理システムは、前記少なくとも1つの記憶ボリューム上の前記少なくとも1つのアプリケーションを前記仮想マシンに対して利用可能にするコンテンツを前記仮想マシン中にオーバーレイするようにさらに構成されている、請求項11に記載のシステム。
  14. 前記処理システムは、
    デタッチ・トリガ・イベントを検出することと、
    前記デタッチ・トリガ・イベントに応じて、前記少なくとも1つの記憶ボリュームを前記仮想マシンからデタッチすることとを行うようにさらに構成されている、請求項11に記載のシステム。
  15. 前記少なくとも1つの記憶ボリュームを含む前記記憶リポジトリは、通信ネットワークを通じて、前記仮想マシンを含むホストコンピュータシステムから離れて配置されている、請求項11に記載のシステム。
JP2015524420A 2012-07-24 2013-07-24 アプリケーション配布システムを動作させるためのシステム及び方法 Active JP6014257B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261674981P 2012-07-24 2012-07-24
US61/674,981 2012-07-24
PCT/US2013/051842 WO2014018644A2 (en) 2012-07-24 2013-07-24 Systems and methods for operating an application distribution system

Publications (2)

Publication Number Publication Date
JP2015523665A JP2015523665A (ja) 2015-08-13
JP6014257B2 true JP6014257B2 (ja) 2016-10-25

Family

ID=49997964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015524420A Active JP6014257B2 (ja) 2012-07-24 2013-07-24 アプリケーション配布システムを動作させるためのシステム及び方法

Country Status (5)

Country Link
US (1) US20150207879A1 (ja)
EP (1) EP2877921A4 (ja)
JP (1) JP6014257B2 (ja)
AU (1) AU2013295867B2 (ja)
WO (1) WO2014018644A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324744B2 (en) 2015-06-04 2019-06-18 Vmware, Inc. Triggering application attachment based on service login
US10019277B2 (en) * 2015-06-04 2018-07-10 Vmware, Inc. Triggering application attachment based on state changes of virtual machines
US10506012B2 (en) * 2016-05-19 2019-12-10 Citrix Systems, Inc. Adding and removing virtual disks remotely to a streaming machine
US11070521B2 (en) * 2017-05-10 2021-07-20 Vmware, Inc. Application attachment based firewall management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2387328C (en) * 2002-05-24 2012-01-03 Diversinet Corp. Mobile terminal system
FR2944618B1 (fr) * 2009-04-17 2011-11-25 Gerard Weerts Systeme de mise a disposition d'une application sur un terminal utilisateur.
US8468455B2 (en) * 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
US8627310B2 (en) * 2010-09-30 2014-01-07 International Business Machines Corporation Capturing multi-disk virtual machine images automatically
US20120174096A1 (en) * 2010-12-30 2012-07-05 Matthew Conover Systems and methods to load applications and application data into a virtual machine using hypervisor-attached volumes
WO2012146985A2 (en) * 2011-04-28 2012-11-01 Approxy Inc. Ltd. Adaptive cloud-based application streaming
US9098325B2 (en) * 2012-02-28 2015-08-04 Hewlett-Packard Development Company, L.P. Persistent volume at an offset of a virtual block device of a storage server
US9110600B1 (en) * 2012-03-19 2015-08-18 Amazon Technologies, Inc. Triggered data shelving to a different storage system and storage deallocation

Also Published As

Publication number Publication date
US20150207879A1 (en) 2015-07-23
EP2877921A4 (en) 2016-03-23
AU2013295867B2 (en) 2015-11-26
JP2015523665A (ja) 2015-08-13
WO2014018644A2 (en) 2014-01-30
AU2013295867A1 (en) 2015-01-22
WO2014018644A3 (en) 2014-04-03
EP2877921A2 (en) 2015-06-03

Similar Documents

Publication Publication Date Title
US9639385B2 (en) Systems and methods to load applications and application data into a virtual machine using hypervisor-attached volumes
US10606628B2 (en) Systems and methods for modifying an operating system for a virtual machine
JP5819561B1 (ja) 独自仕様イメージバックアップをハイパーバイザによってブート可能なディスクファイルとしてハイパーバイザに示す方法
JP5904514B1 (ja) 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US9323565B2 (en) Provisioning customized virtual machines without rebooting
US8850146B1 (en) Backup of a virtual machine configured to perform I/O operations bypassing a hypervisor
EP3557424B1 (en) Transparent host-side caching of virtual disks located on shared storage
US9678769B1 (en) Offline volume modifications
US8621461B1 (en) Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
US20140059310A1 (en) Virtualization-Aware Data Locality in Distributed Data Processing
US20150205542A1 (en) Virtual machine migration in shared storage environment
US9547506B2 (en) Synthetic device for installation source media
US10474373B2 (en) Provisioning applications in a heterogeneous virtual environment
US11675611B2 (en) Software service intervention in a computing system
JP6014257B2 (ja) アプリケーション配布システムを動作させるためのシステム及び方法
US10394624B2 (en) Attaching applications based on file type
US20150254364A1 (en) Accessing a file in a virtual computing environment
EP2639698B1 (en) Backup control program, backup control method, and information processing device
US11249780B2 (en) VM creation by installation media probe
US10585690B2 (en) Online promote disk using mirror driver
US20170139731A1 (en) Offline tools upgrade for virtual machines
US10365907B2 (en) Offline tools installation for virtual machines
Shaw et al. Virtualization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150123

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20151009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160815

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160923

R150 Certificate of patent or registration of utility model

Ref document number: 6014257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350