JP6556710B2 - 仮想マシンをホスティングする暗号的に保証されたリソース - Google Patents

仮想マシンをホスティングする暗号的に保証されたリソース Download PDF

Info

Publication number
JP6556710B2
JP6556710B2 JP2016524325A JP2016524325A JP6556710B2 JP 6556710 B2 JP6556710 B2 JP 6556710B2 JP 2016524325 A JP2016524325 A JP 2016524325A JP 2016524325 A JP2016524325 A JP 2016524325A JP 6556710 B2 JP6556710 B2 JP 6556710B2
Authority
JP
Japan
Prior art keywords
computing device
virtual machine
host computing
cryptographic
user
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
JP2016524325A
Other languages
English (en)
Other versions
JP2016526734A (ja
Inventor
ポトラパリー、ナチケス・ラオ
ブランドワイン、エリック・ジェイソン
ウィルソン、マシュー・シャウン
Original Assignee
アマゾン・テクノロジーズ、インコーポレイテッド
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 アマゾン・テクノロジーズ、インコーポレイテッド filed Critical アマゾン・テクノロジーズ、インコーポレイテッド
Publication of JP2016526734A publication Critical patent/JP2016526734A/ja
Application granted granted Critical
Publication of JP6556710B2 publication Critical patent/JP6556710B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本出願は、『仮想マシンをホスティングする暗号的に保証されたリソース』と題して2013年7月1日に出願されたU.S.13/932828の優先権を主張するものであり、その全体がその全ての目的のために、ここに参照により援用される。
ますます多くのアプリケーション及びサービスがインターネットなどのネットワークを通して利用できるようになるにつれて、ますます多くのコンテンツ、アプリケーション及び/またはサービス・プロバイダが、クラウド・コンピューティングなどの技術に変わってきている。クラウド・コンピューティングは、一般に、ウェブ・サービスのようなサービスを通して電子リソースへのアクセスを提供することへのアプローチであり、そこでは、これらのサービスを支援するために使用されるハードウェア及び/またはソフトウェアが動的にスケーラブルであってどんなときでもサービスの必要性を満たす。典型的には、ユーザまたは顧客は、クラウドを通してリソースを借り、リソースをリースし、またはその反対にリソースへのアクセス料を支払い、したがって、必要なハードウェア及び/またはソフトウェアを購入し維持する必要がない。
この状況で、多くのクラウド・コンピューティングのプロバイダは仮想化を利用して多数のユーザが基礎となるハードウェア及び/またはソフトウェアのリソースを共有できるようにする。仮想化は、コンピューティング・サーバ、記憶装置または他のリソースが、特定のユーザ(例えば、顧客)に関係している(例えば、所有された)多数の分離されたインスタンス(すなわち、仮想マシン)に分割され得るようにすることができる。各仮想マシンは、従来、ユーザの代わりに1つまたは複数のアプリケーションを実行することができるそれ自身のオペレーティング・システムを含む。仮想化は、したがって、様々なユーザが、クラウド・コンピューティングのプロバイダまたはオペレータのリソース(例えば、ホスト・サーバなど)上で使用して、遠隔からアプリケーションを動作させることができるようにする。しかし、従来の仮想コンピューティング環境の提供をすることにはいくつかの制限がある。例えば、ある顧客は、遠隔のリソース上で仮想マシンを実行する結果発生するかもしれないセキュリティ問題に特に敏感である場合がある。顧客がこれらのリソースに物理的にアクセスしないので、多くの顧客がリソースが悪意のあるユーザによって不正に変更されたり、危険にさらされたりしていない、ある種の暗号の保証を得たいと思う。
本開示による様々な実施形態が以下の図面を参照して記述される。
様々な実施形態により使用することができる電子リソース環境の例を示す。 様々な実施形態による、仮想マシンがプロビジョニングされるホスト・コンピューティング・デバイス上でリソースの暗号測定を得る例を示す。 様々な実施形態による、信頼ある機関によって保証されている承認された測定のリストと暗号測定を比較する例を示す。 様々な実施形態による、ハイパーバイザを使用する1つの仮想化技術を利用する例を示す。 様々な実施形態による、仮想化コンピューティング環境を可能にするために使用することができる物理的リソースを提供するサービス・プロバイダのリソース・センタの例を示す。 様々な実施形態による、仮想化コンピューティング環境でユーザに提供することができる多数の仮想マシンの仮想ネットワークの例を示す。 様々な実施形態による、仮想マシンをホスティングするように構成されたコンピューティング・リソースを証明する方法の例を示す。 様々な実施形態による、承認された暗号測定のリストをコンパイルし、信頼ある第三者にリストを提供する方法の例を示す。 様々な実施形態により利用することができるコンピューティング・デバイスの1組の一般的なコンポーネントの論理的な配置を示す。 様々な実施形態による態様を実行するための環境の例を示す。
発明の詳細な説明
以下の説明では、様々な実施形態が、添付図面の図に限定するためではなく例として示されるであろう。本開示での様々な実施形態への言及は、必ずしも同じ実施形態を指さず、かかる言及は少なくとも1つへの言及を意味する。特定の実装形態及び他の詳細が論じられているが、これが説明する目的のためだけになされたことを理解すべきである。当該技術の当業者なら、請求された主題の範囲及び趣旨から逸脱することなく、他のコンポーネント及び構成を使用できることを理解するであろう。
本開示の様々な実施形態によるシステム及び方法は、暗号的にコンピューティング・リソースを保証する従来の手法で経験した1つまたは複数の以前のまたは他の不備を克服することができる。特に、様々な実施形態は、仮想化マルチテナント・コンピューティング環境のオペレータが、ユーザ(例えば顧客、クライアントなど)の代わりに1つまたは複数の仮想マシンを実行するのに使用したコンピューティング・リソースに対して暗号的に証明し、かつ/または確認することができるようにする。ユーザが、仮想マシンをプロビジョニングしてもらうように要求するとき、仮想化コンピューティング環境のオペレータ(例えば、クラウド・コンピューティングのサービス・プロバイダ)は仮想マシンの2段階立ち上げを開始することができる。第1段階では、オペレータは、ホスト・コンピューティング・デバイス上に仮想マシンをプロビジョニングし、ホスト・コンピューティング・デバイス上でソフトウェア及び/またはハードウェアのリソースの暗号測定を得る。暗号測定は、信頼あるプラットフォーム・モジュール(TPM)を用いて得ることができ、TPMの機器構成レジスタ(PCR)に格納することができる。その後、オペレータは、仮想マシンを要求したユーザにこれらの暗号測定を提供することができる。ユーザが暗号測定を承認すれば、オペレータは第2段階を始めて、実際に、ホスト・コンピューティング・デバイス上で仮想マシンを立ち上げる(すなわち、実行を開始する)ことができる。いくつかの実施形態では、ユーザに暗号測定を供給する代わりに(または、加えて)、オペレータは、暗号測定を既知の測定または承認された測定(例えば「ホワイトリスト」)または他の基準値と比較してホスト・コンピューティング・デバイスが仮想マシンのホスティングに受け入れ可能かどうかを判断する。承認された暗号測定のリストは仮想マシンをプロビジョニングする要求の一部としてユーザが提供することができるし、または、信頼ある機関(例えば、信頼ある第三者)が提供することもできる。
実施形態により、ユーザは、仮想化マルチテナント・コンピューティング環境のオペレータによって提供されるウェブ・サービスAPIなどの1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を使用して仮想マシンに対する要求を提出する。いくつかの実施形態では、要求を提出する側として、ユーザは、ホスト・コンピューティング・デバイスの特別な機器構成を指定するか、または仮想マシンをプロビジョニングするときに使用される承認された暗号測定のリストを提供することができる。ユーザからのかかる要求を受け取って、オペレータ(例えばサーバ上で動作するサービス)は、ユーザの仮想マシンのプロビジョニングを開始することができる。特に、仮想マシンのプロビジョニングは、ホスト・コンピューティング・デバイスを選択することと、仮想マシンの機器構成を含むマシン・イメージを解凍し、ユーザのために仮想マシンをプロビジョニングするその他の必要なステップを行うことを含むことができる。一旦、仮想マシンがプロビジョニングされて、ホスト・コンピューティング・デバイス上で立ち上げられる(すなわち、実行される)準備ができれば、プロセスは休止され得、ホスト・コンピューティング・デバイス上の様々なソフトウェア及び/またはハードウェアのリソースの1つまたは複数の暗号測定を得ることができる。例えば、信頼のあるプラットフォーム・モジュール(TPM)またはホスト・コンピューティング・デバイス上の他の暗号のモジュールが使用されてホスト・コンピューティング・デバイスのソフトウェア構成のハッシュ測定を行うことができる。ハッシュ測定はあるメモリ位置の値を読み取りこれらの値にハッシュ関数を適用してハッシュ測定をすることにより行うことができる。メモリ位置は、ホスト・コンピューティング・デバイスの基礎的入出力システム(BIOS)、ホスト・コンピューティング・デバイス上のハイパーバイザ(すなわち、仮想マシン・マネージャ)、仮想マシンのゲスト・オペレーティング・システムの構成、ハードウェア構成レジスタ、周辺機器相互接続(PCI)カード上のファームウェアなどと関連付けられることができる。一実施形態では、ハッシュ測定は、TPMのPCRに格納されるセキュア・ハッシュ・アルゴリズム1(SHA−1)測定である。
一旦、暗号測定が得られたならば、それらはホスト・コンピューティング・デバイス上のリソースが仮想マシンを立ち上げるのに受け入れ可能な状態かどうかを判断するために使用することができる。一実施形態では、仮想化マルチテナント・コンピューティング環境のオペレータは、仮想マシンを要求したユーザに暗号測定(例えば、SHA−1)を提供することができ、ユーザは仮想マシンを立ち上げる前に暗号測定を承認するかまたは拒否することができる。別の実施形態では、ユーザがホスト・コンピューティング・デバイスの特別な構成を、要求の一部として指定した場合、オペレータは、このホストの暗号測定と、指定された構成に対応した既知の承認された暗号測定(例えば、公知のSHA−1)とを比較することができる。別の実施形態では、ユーザが承認された暗号測定のリストをオペレータに提供すると(例えば、仮想マシンに対する要求の一部として、または異なる時間に)、オペレータは、この暗号測定を承認された測定のリストと比較して仮想マシンの立ち上げを承認するかまたは拒否するかを決定することができる。いくつかの実施形態では、承認された測定のリストは、多数のユーザ(例えば、インターネット上の)によるアクセスのリストを公表するなどの信頼ある第三者により保証され得る。
様々な実施形態で、オペレータがホスト・コンピューティング・デバイスの構成の暗号測定がいかなる基準値とも一致しないと判断すれば、オペレータはホスト・コンピューティング・デバイス上の仮想マシンをプロビジョニングするプロセスをロールバック、または取消すことができる。あるいは、オペレータは、仮想マシンがユーザの仮想ネットワークに加わるのを防ぐことなどの他の方法でユーザに仮想マシンを供給しなくてもよい。
図1は、様々な実施形態により使用することができる電子リソース環境100の例を示す。この例において、エンド・ユーザのコンピューティング・デバイス102が、少なくとも1つのネットワーク106(例えば、インターネット、セルラー・ネットワーク、ワイヤレス・ネットワーク、ローカル・エリア・ネットワーク(LAN)など)を介してコントロール・プレーン108内に呼び出しを行って、データ・プレーン110内でデータ・リポジトリをプロビジョニングするか、または仮想マシンを立ち上げるなどのタスクを行なうことができることが示される。ユーザまたはアプリケーション104は、例えば、データ・プレーン110インターフェースを介してリポジトリ及び/または仮想マシンに直接アクセスすることができる。エンド・ユーザのコンピューティング・デバイス及びアプリケーションは説明の目的で使用されているが、様々な実施形態において必要に応じて、いかなる適切なユーザ、アプリケーション、サービス、デバイス、コンポーネントまたはリソースもコントロール・プレーン及び/またはデータ・プレーンのインターフェースにアクセスすることができることを理解すべきである。さらに、コンポーネントがコントロール及びデータ「プレーン」に分けられると、少なくともいくつかのリソース(例えば、ハードウェア及び/またはソフトウェア)を論理的にまたは地理的に、実際のまたは仮想的分離と称し、それぞれ機能的に提供するよう使用されることに留意する。
この例におけるコントロール・プレーン108は、本質的に、プロビジョニング、インスタンス作成、立ち上げ、スケーリング、複製などの、制御活動及び管理活動を扱うハードウェア・コンポーネント及びソフトウェア・コンポーネントの仮想レイヤである。この実施形態でのコントロール・プレーンは、コンピュータ実行可能なソフトウェア、アプリケーション・サーバ、または他のかかるコンポーネントに併せて、例えば、少なくとも1つのウェブ・サーバを含むことができるウェブ・サービス・レイヤ112(すなわち、層)を含む。ウェブ・サービス・レイヤも、少なくとも1つのネットワーク106からのサービス、呼び出しまたは要求を受信する一組のAPI132(または、他のかかるインターフェース)を含むことができる。各APIは、少なくとも1つの特殊なアクションがデータ環境に対して行われる要求を受け取るために設けてよい。APIのうちの1つに対する要求を受け取る際、ウェブ・サービス・レイヤは、要求を解析または別の方法で分析して呼び出しに従って行動または処理するのに必要なステップまたはアクションを決定することができる。例えば、仮想マシンを立ち上げる要求を含むウェブ・サービス呼び出しが受け取られるかもしれない。この例では、ウェブ・サービス・レイヤは、要求を解析して、生成すべき仮想マシンのタイプ、要求されたハードウェアのタイプ(もしあれば)、または他のかかる態様を決定することができる。要求の情報は、後の処理のために、管理データ保管所、または他の適切な格納場所、またはジョブ・キューに書き込むことができる。
一実施形態でのウェブ・サービス・レイヤは、様々なコントロール・プレーンAPIを提供することができ、API仕様に基づいて適切な応答を返すことができる、顧客に対応するサーバのスケーラブルなセットを含む。ウェブ・サービス・レイヤは、一実施形態で外向きの顧客APIを処理するステートレスな複製サーバからなる少なくとも1つのAPIサービス・レイヤを含むこともできる。ウェブ・サービス・レイヤは、認証証明書に基づく顧客の証明、顧客の認可、APIサーバに対する顧客の要求の絞り込み、ユーザ入力の妥当性検査、及び、要求と応答の秩序化または無秩序化などのウェブ・サービスのフロント・エンド・フィーチャに責任を負うことができる。APIレイヤはまた、API呼び出しに応答して管理データ・ストアから構成データを読み出しかつ管理データ・ストアに構成データを書き込むこともできる。多くの実施形態では、ウェブ・サービス・レイヤ及び/またはAPIサービス・レイヤは、外部から見ることができる唯一のコンポーネント、すなわち、コントロール・サービスの顧客が見ることができアクセスすることができる唯一のコンポーネントになるであろう。ウェブ・サービス・レイヤのサーバは、当技術分野で知られるようにステートレスで垂直にスケーリングされ得る。APIサーバならびに永続データ・ストアは、例えば、サーバが単一のデータ・センタの故障に回復力があるように地域の多数のデータ・センタに散在することができる。APIまたは他のかかるコンポーネントの機能または構成は、少なくとも1つのシステム・マネジメント・コンポーネント114あるいは他のかかるシステムまたはサービスによって管理することができる。
この実施形態でのコントロール・プレーン108は少なくとも1つのホスト・モニタリング・コンポーネント116を含む。ホスト・モニタリング・コンポーネントは、データ・プレーンの態様をモニタリングするための指示を含むハードウェア及び/またはソフトウェアのいかなる適切な組合せも含むことができる。例えば、ホスト・モニタリング・コンポーネントは、他のかかるオプションの間で、専用のホスト・マシン、いくつかのマシンにわたって分散されたプロセス、または、ウェブ・サービスを含むことができる。仮想マシン(VM)がデータ・プレーンに作成されるとき、VMの情報は、モニタリング・データ・ストア120などのコントロール・プレーン内のデータ・ストアに書き込まれることができる。モニタリング・データ・ストアは、別個のデータ・ストアであり得、または管理データ・ストア122などの離散的なテーブルのセット、または適切なリポジトリなどの別のデータ・ストアの一部であり得る。ホスト・モニタリング・コンポーネント116は、モニタリング・データ・ストアにアクセスして、データ・プレーン110内のアクティブなVM、リソース・インスタンス、あるいは他のかかるリソースまたはコンポーネント134を決定することができる。ホスト・モニタリング・コンポーネントはまた、ウェブ・サービス・レイヤ及び/または様々なホスト・マネージャ128などの、コントロール・プレーン及び/またはデータ・プレーンの複数のコンポーネントからログ及び/またはイベントの情報を集めることなどの他のタスクを行うこともできる。モニタリング・コンポーネントは、かかるイベント情報を用いて、顧客対応APIを実施することなどの目的のために顧客が見ることができるイベントを露にすることができる。モニタリング・コンポーネントは、コントロール・プレーンのすべての動作中のリポジトリ及び/またはインスタンスの健全性を常にモニタリングし、これらのインスタンスのうちのいずれかの故障を検知し、適切な回復プロセスを開始することができる。
データ・プレーン内の仮想マシン・インスタンス134はそれぞれ、少なくとも1つのデータ・ストア126、及びデータ・ストアへのアクセスを提供するマシンのホスト・マネージャ・コンポーネント128を含むことができる。一実施形態でのホスト・マネージャは、データ・ストア及び/またはそれぞれのインスタンスの状態をモニタリングすることだけではなくソフトウェア配信及びデータ・ストア・オペレーションなどのタスクを管理するようにプログラムされた、インスタンス及び/またはトムキャットまたはジャバのアプリケーション・サーバなどのアプリケーション・サーバ上で実行するアプリケーションまたはソフトウェア・エージェントである。一実施形態でのホスト・マネージャは、内部システム・コンポーネントからのみ到達することができ顧客または他の外部機関が利用できないポートを聞く。いくつかの実施形態では、ホスト・マネージャはコントロール・プレーン・レイヤ内への呼び出しを開始できない。ホスト・マネージャは、データベース・バイナリ及びシーズをインストールすること、ならびにリポジトリを開始または停止することを含む、論理ボリューム及びファイル・システムの設定を含む新たなリポジトリのインスタンスを設定することなどのタスクを管理し且つ/または実施する責任を負うことができる。ホスト・マネージャは、I/Oエラーまたはデータ格納エラーなどのエラー条件のデータ・ストアをモニタリングするだけではなく、データ・ストアの健全性をモニタリングすることができ、必要なら、データ・ストアを再開することができる。ホスト・マネージャはまた、構成(例えば、特定の仮想マシン・イメージ)またはファームウェアなどに対する更新だけでなくソフトウェア・パッチ及びアップグレードのインストールを行い且つ/または管理することもできる。ホスト・マネージャはまた、CPU、メモリ、及び/またはI/Oなどの使用に関連し得る指標を集めることもできる。
コントロール・プレーン108内のホスト・モニタリング・コンポーネント116は、例えば、特殊な要求を送るか、またはホスト・マネージャからのハートビートをモニタリングすることによって、モニタリングされた仮想マシン・インスタンス134の各ホスト・マネージャ128と定期的に通信して各ホストの状況を判断することができる。一実施形態では、モニタリング・コンポーネントは、例えば、特別なホスト及び/または仮想マシン・インスタンスの状況を得るために、各ホスト・マネージャにコマンドを出すように構成されたイベント・プロセッサ(または、モニタリング・サーバ)のセットを含む。少なくともいくつかの実施形態では、展開モニタ・コンポーネント118がまた、ホスト、インスタンス、及び他のかかるコンポーネントと通信して、いつバーションまたは構成が展開または更新されたか、いつ通信が送られたか、及び他のかかる情報を判断しようと試みることもできる。展開モニタは、コトロール・プレーンのモニタリング・サービスの一部として提供され得るため、ホスト・モニタの一部でもよく、またはホスト・モニタとは別個であってもよい。
論じてきたように、一旦仮想マシン・インスタンスがプロビジョニングされ、ユーザにDNSアドレスあるいは他のアドレスまたは位置が提供されていれば、ユーザは、ジャバ・データベース接続性(JDBC)にネットワークを通してデータ・プレーン110に要求を「直接」送信するか、または他のかかるクライアントを用いて、インスタンス134と直接対話することができる。一実施形態では、データ・プレーンは、ハードウェア及び/またはソフトウェアのコンポーネントの「クラウド」または動的なネットワークを横切ってデータ保存及びデータ・アクセスを提供するコンピューティング・クラウド環境(あるいは、少なくとも含んでいるか、または一部分である)またはウェブ・サービス及びリソースのセットの形式をとる。インスタンスまたは可用性の障害が、例えば、プログラムによって覆われる場合があるので使用のための任意の適切な置換インスタンスにDNSアドレスをプログラムで再マッピングすることによって覆い隠され得るため、DNSアドレスはかかるダイナミックなクラウド環境において有益である。ユーザ102またはアプリケーション104から受け取られた要求は、例えば、要求のDNSに対応する実際のインスタンス134またはホストに要求を向けることができるネットワーク・アドレス変換(NAT)ルータ124または他の適切なコンポーネントに向けることができる。論じたように、かかる手法は、ユーザまたはアプリケーションがインスタンスにアクセスするのに使用されたDNSアドレスまたは他のアドレスの変更を要求することなく、インスタンスがダイナミックに移動され、更新され、複製されることなどを可能にする。論じたように、各インスタンス134は、例えば、ホスト・マネージャ128及びデータ・ストア126を含むことができ、永続的記憶装置130内に少なくとも1つのバックアップ・インスタンスまたはコピーを有することができる。かかる手法を用いて、インスタンスがコントロール・プレーンよって一旦構成されたならば、ユーザ、アプリケーション、サービスまたはコンポーネントは、コントロール・プレーン108にアクセスすることなく、データ・プレーンへの要求によってインスタンスと直接対話することができる。例えば、ユーザは、DNSアドレスを通してインスタンス内のデータに関係のあるSQLまたは他のかかるコマンドを直接発行することができる。ユーザは、インスタンスの記憶装置の容量を拡大することなどのタスクを行いたければ、単にコントロール・プレーンにアクセスするだけでよいはずである。少なくとも1つの実施形態では、コントロール・プレーン108の機能性は、データ・プレーン110のプロバイダと関係していてもしていなくともよいプロバイダによる少なくとも1つのサービスとして提供することができるが、単に、データ・プレーン内の仮想マシン・インスタンスをプロビジョニングし管理するのに用いることができ、かつ、別個のデータ・プレーン110内のこれらのインスタンスの可用性をモニタリングし保証することもできる第三者のサービスであってもよい。
図2は、様々な実施形態による、仮想マシンがプロビジョニングされるホスト・コンピューティング・デバイス上のリソースの暗号測定を得る例200を示す。ユーザ201などのあるユーザは、マルチテナント環境(例えば、クラウド・コンピューティング環境)でのプロビジョニングを仮想マシンに要求するときにセキュリティ問題に特に敏感であり得る。例えば、これらのユーザにとって仮想マシンが立ち上がる前に仮想マシン(すなわち、ハイパーバイザ・ハードウェアなど)を動作させるリソース・スタックを彼らが測定することができることは重要であり得る。これは、感染されていないマシン・イメージから起動された完全に妥当性のある仮想マシンであっても感染され易いホスト・コンピューティング・デバイス上で実行されるものは依然として問題があり、依然としてユーザのインフラストラクチャを感染させるおそれがあるからである。
これらのタイプのユーザに対しては、マルチテナント環境のオペレータは、BIOS、ハイパーバイザ308、ホスト・ドメイン207、ゲスト仮想マシン308、起動オペレーティング・システム(OS)、ハードウェア・コンフィギュレーション・レジスタ、周辺コンポーネント相互接続(PCI)カード、及び/または、ホスト・コンピューティング・デバイス204上の他のリソースが特別な構成にあることの暗号保証を提供することができる。これが承認された構成または他の基準値と組み合わされると、ユーザ301は、ホスト・コンピューティング・デバイス上のリソース・インフラストラクチャが感染されておらず仮想マシンのホスティングに受け入れ可能であることを確認することができる。
一実施形態では、2段階の立上げプロセスが仮想マシンのプロビジョニングのために実行され得る。第1段階では、ユーザ201は、ウェブ・サービスAPI202などのAPIを使用する仮想マシンを要求する。この要求は、対応するそれに関連する既知の承認された測定値を有したホスト・コンピューティング・デバイス上のリソースの特別な構成を指定することができる。要求に応じて、オペレータ(例えば、サーバ上で動作するプロビジョニング・サービス203)は、仮想マシンを載置するホスト・コンピューティング・デバイス204の選択、マシン・イメージのアンパッキングなどによって仮想マシンをプロビジョニングするプロセスを開始することができる。仮想マシンが一旦プロビジョニングされ、立ち上げられる準備ができていれば、ホスト・コンピューティング・デバイス204上のリソースの構成の1つまたは複数の暗号測定を得ることができる。例えば、TPM205を用いて、ハイパーバイザ206、ホスト・ドメイン207及び/またはゲスト仮想マシン208の構成のハッシュ測定を行うことができる。これらの暗号測定は、ユーザの要求に応じてユーザに提供することができる。ユーザが暗号測定を承認すれば、それらは仮想マシンの立上げ(例えば、「継続する」のクリック)を受け入れることができ、インスタンスの立上げが完了する。あるいは、ユーザは測定を拒否(例えば、「中断」をクリック)することもでき、仮想マシンをプロビジョニングするプロセスが完了せず、そうでなければ仮想マシンがユーザに提供されない。
ユーザがそれらの仮想マシンがホスティングされるべき特別な構成を指定した実施形態では、マルチテナント環境のオペレータは、指定された構成に関連した既知の承認された暗号測定を検索することができる。この承認された測定はまた、測定が正しいことの保証をユーザに提供するために信頼ある第三者により保証してもらうこともできる。これらの実施形態では、オペレータは、暗号測定を承認するかまたは拒絶することをユーザに要求するよりはむしろ、既知のまたは承認された測定を検索し、それをホスト・コンピューティング・デバイスの暗号測定と比較することができる。次いで、比較に関する情報はユーザに提供することができる。あるいは、ユーザには、得られた暗号測定が既知の測定/承認された測定と一致したかどうかの指示とともに、要求を承認するか否定するかの選択が依然として提供することができる。
図3は、様々な実施形態による、暗号測定を信頼ある機関によって保証された承認済み測定のリストと比較する例300を示す。図2を参照して以前に説明したように、ユーザ301は、API302を用いて仮想マシンをプロビジョニングしてもらう要求を提出することができる。プロビジョニング・サービス303は、ホスト・コンピューティング・デバイス304を選択し、ホスト・コンピューティング・デバイス上に仮想マシン308をプロビジョニングすることができる。仮想マシンを立ち上げる前に、プロセスが一時停止され、ホスト・コンピューティング・デバイス304上のTPM305の利用などによってリソース(例えば、ハードウェア及び/またはソフトウェアのソース)の暗号測定が得られる。例えば、TPM305は、限定はされないがハイパーバイザ306及びホスト・ドメイン307を含む仮想マシン308をホスティングするソフトウェア・スタックのハッシュ測定309を得るのに用いることができる。
一旦、暗号測定309が得られれば、それがネットワーク・マネージャ312に提供される。ネットワーク・マネージャ312は、承認された暗号測定315のリストを検索し、暗号測定309を承認された測定315のリストと比較することができる。いくつかの実施形態では、信頼ある第三者機関311によって承認された測定315のリストが保証することができる。例えば、マルチテナント環境のオペレータは、ホスト・コンピューティング・デバイスのそれぞれの可能な構成のすべての承認された暗号測定のリストをコンパイルすることができる。このリストは、各暗号測定を検査しその精度を証明する、信頼のある第三者311に提供することができる。あるいは、信頼のある第三者311は、オペレータのリソースへのアクセスを得ることに基づいて承認された測定のリストを作成することができる。信頼のある第三者311はさらに、ユーザ301などの様々なユーザによるアクセスに対する承認された測定315のこのリストを公表することができる。これにより、ユーザがどの暗号測定がそれらの仮想マシンの立ち上げに受け入れ可能でどれがそうでないのかを判断する必要がないという意味でユーザ301にとってより容易となる。ユーザ301は、測定を検証し、それらが妥当で正しいことを確認したのは独立した第三者であるという仮定のもとで信頼ある第三者311を信用することができる。
以前に述べたように、仮想マシンは、仮想化コンピューティング環境のサービス・プロバイダまたは他のオペレータのリソース・センタに存在するホスト・コンピューティング・デバイス上で動作することができる。ホスト・コンピューティング・デバイス上では、いくつかの仮想化技術を用いて、複数のゲスト仮想マシンまたはゲスト・オペレーティング・システムを同時に動作させることができる。図4は、様々な実施形態による、ハイパーバイザを用いる一仮想化技術を利用する例400を示す。ホスト・コンピューティング・デバイス401のハードウェア402は、そのハードウェア402(例えば、「ベア・メタル」またはナイーブ・ハイパーバイザ)上で直接動作するハイパーバイザ403と連動する。かかるハイパーバイザの例には、ゼン、ハイパーV(商標)などが含まれる。ハイパーバイザは、典型的には、マシン上の他のいかなるソフトウェアよりも速く、より権限が付与されたプロセッサ状態で動作し、従属するレイヤ及び/またはドメインのメモリ管理及びプロセッサ・スケジューリングなどのサービスを提供する。権限を付与されたかかるレイヤ及び/またはドメインは、サービス・ドメイン・レイヤ内に存在し、このレイヤは、ハイパーバイザ403のオペレーション及び機能性を構成する管理上のオペレーティング・システムを含み得るホスト・ドメイン404、ならびに、異機種環境(すなわち、互いに異なるオペレーティング・システムを動作させる)であり得るゲスト仮想マシンのドメイン(405、406、407)または他のオペレーティング・システムのドメインなどのより権限の低いドメインの管理上のオペレーティング・システムを含むことができる。ホスト・ドメイン404(例えば、DOM−0)は、ハイパーバイザ403経由でホスト・コンピューティング・デバイス401のハードウェア・リソース402への直接のアクセスを有することができるが、他方、ゲスト仮想マシンのドメイン(405、406、407)はできない。
図5は、様々な実施形態による、仮想化コンピューティング環境を可能にするために使用することができる物理的なリソースを提供するサービス・プロバイダのリソース・センタの例500を示す。示した実施形態では、サービス・プロバイダ(または仮想化コンピューティング環境の他のオペレータ)は、サービス・プロバイダの物理的なリソース(例えば、ホスト・コンピューティング・デバイスなど)を格納する1つまたは複数のリソース・センタ523(例えばデータ・センタ、サーバ・ファームなど)を維持することができる。リソース・センタは、様々な地理的位置に位置してリソースへのより局所的なアクセスだけでなく改善された冗長性及びフェイルオーバーを提供することができる。物理的なリソースはインターネットなどのネットワーク502上のユーザ501に提供することができるいくつかの仮想マシンまたは仮想サーバをホスティングするために使用することができる。例えば、ユーザが、サービス・プロバイダの物理的なリソースを使用してアプリケーションを実行したいときは、ユーザは、アプリケーションを展開させて実行するのに使用されることになるユーザの仮想マシンのプロビジョニングをサービス・プロバイダに要求することができる。ユーザのアプリケーションに対する需要が増大するにつれて、ユーザは、負荷の平衡を保つためにより多くの仮想マシンがプロビジョニングされること、1つまたは複数の仮想ネットワークの生成などを要求することができる。
図示した例では、サービス・プロバイダのリソース・センタ523は、特定のラック上の各ホスト・コンピューティング・デバイスが単一のトップ・オブ・ラック(TOR)スイッチ(504、505)に結合されている、ホスト・コンピューティング・デバイス(506、507、508、509、510)の1つまたは複数のラック521、522を含むことができる。これらのTORスイッチはさらに、ホスト・コンピューティング・デバイスをネットワークに接続することができるようにする1つまたは複数の他のスイッチ(524、525)に接続することができる。本開示の全体にわたって使用されるように、ネットワークは、限定はされないがインターネットあるいは他のワイド・エリア・ネットワーク(WAN)、セルラー・ネットワーク、ローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、イントラネット、エクトラネットなどを含む、互いに通信することができるデバイスの任意の有線または無線のネットワークであり得る。リソース・センタは、データ・センタ、サーバ・ファーム、コンテンツ・デリバリー・ネットワーク(CDN)ポイント−オブ−プレゼンス(POP)などのリソースの任意の物理的または論理的なグルーピングを含むことができる。
一実施形態によれば、各ホスト・コンピューティング・デバイスは、サービス・プロバイダの顧客の代わりに様々なアプリケーション及びサービスを実行するためにこれらの顧客に対してプロビジョニングされた1つまたは複数の仮想マシン・インスタンス(513、514、515、516、517、518、519)をホスティングすることができる。各仮想マシンは、カーネル、ドライバ、プロセス管理などを含む、それ自身のオペレーティング・システム(OS)がプロビジョニングされ得る。
ある顧客が仮想マシン・インスタンスを得たいときは、この顧客は先ず、使用したいVMのタイプを示した要求をサービス・プロバイダに提出することができる。サービス・プロバイダ(または、他のオペレータ)は、諸プロセスを実行してサービス・プロバイダの物理的なリソース(例えば、ホスト・コンピューティング・デバイス)をホスティングすることになる仮想マシン・インスタンスをプロビジョニングすることができる。先に述べたように、VMを要求するときに、ユーザは、VMで使用される構成情報を指定することができる。
先に述べたように、仮想マシンがユーザに対してプロビジョニングされるとき、この仮想マシンはそのユーザに対してプロビジョニングされた仮想ネットワークに関連付けられることができる。図6は、様々な実施形態による、仮想化コンピューティング環境内のユーザに提供することができる複数の仮想マシンの仮想ネットワークの例600を示す。先に述べたように、サービス・プロバイダ(または仮想化コンピューティング環境の他のオペレータ)は、物理的なリソース(例えば、ホスト・コンピューティング・デバイスなど)を維持して、1つまたは複数のサービス・プロバイダの顧客に対して、様々な仮想マシン及び仮想ネットワーク651などの仮想ネットワークをホスティングするリソース・センタを提供することができる。いくつかの実施形態では、サービス・プロバイダは、サービス・プロバイダの様々な顧客が仮想ネットワークを作成し構成するために使用することができるネットワーク・サービスを提供することができる。
図示した例において、仮想ネットワーク651は、顧客の遠隔プライベート・コンピュータ・ネットワークに対するプライベート・ネットワークの拡張である。仮想ネットワーク651は、(例えば、地理的位置1に位置する第一のデータ・センタにおける)第一の地理的位置1(660)に位置する様々な仮想マシンを含む。仮想マシンは論理グループ657、658、659に(例えば、異なるサブネット及び図示していない関連するネットワーキング・デバイスに対応するために)構成することができる。この例では、起こり得る様々なタイプの通信を説明するために、これらの仮想マシンと他のコンピューティング・システムとの間の通信をコントロールするための単一の概念的仮想ルータ655が地理的位置1(660)に示されている。しかし、代替実施形態では、地理的位置1に複数のネットワーキング・デバイスがある場合もあり、まったくない場合もある。仮想ネットワークは、下層の物理的基板ネットワーク及び下層のネットワークにわたる通信をコントロールする関連モジュールなどを使用することによって、複数の物理的な相互接続ルータまたは他のネットワーキング・デバイスを介するなどの様々な方法で地理的位置1(660)に実装することができる。この例では、仮想ルータ655は、仮想ネットワーク651用の構成された情報であって、サービス・プロバイダによって提供されるネットワーク・サービスを用いて顧客が構成できるように構成されたネットワーク・トポロジ情報を含む情報に従って作動する。
この例では、仮想ネットワーク651は、例えば、顧客1に提供される、また顧客1のリモート・コンピュータ・ネットワークに対するネットワーク拡張である。顧客1のリモート・コンピュータ・ネットワークは、プライベート・ネットワーク・サイトA652などの第一の遠隔地で複数のコンピューティング・システム(図示せず)を含み、仮想ルータ655は、仮想通信リンク658を介してこれらの複数のコンピューティング・システムと通信するように構成される。例えば、仮想ネットワークは、サイトA652での複数のコンピューティング・システムへの1つまたは複数の構成された仮想プライベート・ネットワーク(VPN)接続を含むことができ、通信リンク658は1つまたは複数のかかるVPN接続に対応することができる。加えて、顧客1のリモート・コンピュータ・ネットワークは、任意選択で、図示した任意選択のプライベート・ネットワーク・サイトB653などの他の1つまたは複数の位置にコンピューティング・システムを含むことができる。そして、もしそうであれば、仮想ルータ655は、さらに、サイトB653に対する任意選択の仮想通信リンク658などを介して(例えば、サイトBに1つまたは複数の他の構成されたVPN接続を直接介して)それらの他の位置でこれらの他のコンピューティング・システムと通信するように構成することができる。複数のVPN接続または他の安全な接続がリモート・コンピュータ・ネットワークのリモート・コンピューティング・システムに使用されるときは、各接続は、通信が適切な接続に経路指定されるようにリモート・コンピューティング・システムのサブセットに(例えば、これらのコンピューティング・システムに対応するリモート・コンピュータ・ネットワークのネットワーク・アドレスのサブセットに関連付けられることによって)対応することができる。他の実施形態では、多数のVPN接続または他の安全な接続は1つまたは複数の位置でリモート・コンピューティング・システムに使用することができるが、複数の接続が冗長化の選択肢(例えば、負荷分散に使用される)であるなどの場合であれば、それぞれは、任意のリモート・コンピューティング・システムへの通信を支援することができる。さらに、いくつかの実施形態では、クライアントのリモート・コンピュータ・ネットワークは複数のサイトに複数のコンピューティング・システムを含むことができるが、リモート・コンピューティング・システムに対する単一のVPN接続または他のセキュアな接続のみが、リモート・コンピュータ・ネットワークが適切なサイト及びコンピューティング・システムに対する通信のルーティンに責任を負った状態で、使用され得る。
加えて、仮想ネットワーク651は、仮想ネットワークの仮想マシンとインターネット654または他の公衆ネットワーク上で一般にアクセス可能な他の外部コンピューティング・システムとの間の通信のすべてまたはいくらかが許可されるかまたはすべてが許可されなくなるように構成することができる。かかる外部通信のうちの少なくともいくつかが許可される場合、仮想ルータ655はさらに、任意選択の仮想通信リンク659を介してこれらの複数の外部コンピューティング・システムと通信するように構成することができる。
図示した実施形態では、地理的位置1 660の仮想マシン(656、657、658)に加えて、仮想ネットワークはさらに、第二の地理的位置2 661(例えば、第二の地理的位置2の異なるリソース・センタ)に位置する仮想マシン665を含むことができる。したがって、仮想ルータ655は、地理的位置2 661の仮想ネットワークの部分との仮想通信リンク662を含むように構成することができる。この例では、地理的位置2 661の仮想ネットワークの部分が、同様に、仮想通信リンク663を介して地理的位置1 660の仮想ネットワークの部分と通信することを含む、仮想マシン665への通信及び仮想マシンからの通信を管理する概念的な仮想ルータ664と共に図示されている。異なる地理的位置の仮想ネットワークの仮想マシン間のかかる通信は、様々な実施形態で、インターネットまたは他の公衆ネットワーク(例えば、暗号を用いたセキュア・トンネルの部分としての)を横切って通信を送ること、個人的で安全な方法で(例えば、地理的位置間の専用線を介して)通信を送ること、などの様々な方法で扱うことができる。加えて、ここでは図示していないが、地理的位置2の仮想ネットワークの部分は、同様に、リモート・クライアント・プライベート・ネットワーク(例えば、地理的位置1への任意のVPN接続とは異なる1つまたは複数のVPN接続を介して)、インターネットなどへの他の仮想通信リンクを含むことができる。
以前に説明したように、仮想マシンがユーザ(例えば、顧客1)に対してプロビジョニングされるとき、この仮想マシンはそのユーザのネットワークに加えることができる。いくつかの実施形態では、ユーザは、承認された暗号測定のリストを提供し、彼らの仮想ネットワークに属するすべての仮想マシンが彼らの暗号測定の少なくとも1つと一致する必要があると指定することができる。これらの実施形態では、ユーザが追加の仮想マシンが彼らの仮想ネットワークに対してプロビジョニングされることを要求するとき、オペレータはホスト・コンピューティング・デバイスを選択し、このホストのリソースの暗号測定を行い、次に、これらの暗号測定をユーザにより最初に提供されていた承認された測定のリストと比較することができる。ホスト・コンピューティング・デバイス承認された測定の1つと一致しない場合、仮想マシンはユーザの仮想ネットワークに加えられない。
図7は、様々な実施形態による、仮想マシンをホスティングするように構成されたコンピューティング・リソースを保証するプロセス700の例を示す。この図は機能的なオペレーションの特別なシーケンスを描くことができるが、これらのプロセスは必ずしもこの特別な順番または図示したオペレーションに限定されない。当業者なら、本図または他の図に描かれた様々なオペレーションは、変更し、再編成し、並行して行なうことができ、または、様々な方法で適用できることを理解するであろう。さらに、あるオペレーションまたはオペレーションのシーケンスが、様々な実施形態の範囲から逸脱することなくプロセスに追加するまたはプロセスから省くことができることを理解すべきである。加えて、本明細書に含まれる絵は、異なるフローまたはシーケンスで実行されたり、性能のために最適化されたり、または、その他様々な方法で修正されたりすることができるコード実行の実際のシーケンスを特定するものではなく、プロセス・フローの考え方を当業者に明示することが意図されている。
オペレーション701では、ユーザに仮想マシンをプロビジョニングする要求が受信される。先に説明したように、この要求は1つまたは複数のAPIにアクセスすることによってユーザが提出することができる。いくつかの実施形態では、ユーザは、要求を提出する一環として、ユーザの仮想マシンをホスティングするためにホスト・コンピューティング・デバイスが順守する必要がある特別な構成を指定することができる。要求の受信に応答して、マルチテナント環境のオペレータは、オペレーション702に示すように仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択することができる。様々な実施形態では、選択されたホスト・コンピューティング・デバイスは、仮想マシンを実行するソフトウェア及びハードウェアのリソースを含む。例えば、これらのリソースは、デバイス上の複数の仮想マシンをホスティングするハイパーバイザ及びホスト・ドメイン(または、仮想マシン・モニタ)を含むことができる。
オペレーション703では、オペレータは、選択されたホスト・コンピューティング・デバイス上に仮想マシンをプロビジョニングする。一旦、仮想マシンがプロビジョニングされており、立ち上げの準備ができていれば、オペレーション704に示すように、オペレータはホスト・コンピューティング・デバイス上のソフトウェア及び/またはハードウェアのリソース構成の暗号測定(例えば、ハッシュ測定)を行う。いくつかの実施形態では、ホスト・コンピューティング・デバイスに埋め込まれたTPMは、暗号測定を行う際に利用することができる。
オペレーション705では、オペレータは、承認された暗号測定のリストを検索する。様々な実施形態では、この承認されたハッシュ測定のリストは、ユーザが提供することができるか、またはオペレータがコンパイルすることができ、信頼ある第三者によって保証することができる。さらに他の実施形態では、信頼ある第三者が、承認された暗号測定のリストにユーザがインターネットでアクセスすることができるようにすることなどでこのリストを公表することができる。一旦、このリストが得られると、選択されたホスト・デバイス上で行われたハッシュ測定を承認されたハッシュ測定のリストと比較して、選択されたホスト・コンピューティング・デバイス上のリソースが仮想マシンをホスティングするのに受け入れ可能かどうかを判断することができる。もし、暗号測定が承認された測定リストの測定の1つと一致する場合、仮想マシンは、オペレーション706に示すように、ホスト・コンピューティング・デバイス上で立ち上げられる。ユーザが、元の要求の一環として、ホスト・コンピューティング・デバイスの特別な構成を指定している実施形態では、承認された測定のいかなるリストも必要としなくてもよい。より正確に言えば、TPMによって得られた暗号測定を、ホストの構成が受け入れ可能かどうか判断するためにユーザが指定した特別な構成に対応する既知の承認された測定と単に比較することができる。いくつかの実施形態では、測定が一致するかどうかに関する情報は、この情報を提供するAPIにユーザをアクセス可能にすることなどによってユーザに提供し直すことができる。
図8は、様々な実施形態による、承認された暗号測定のリストをコンパイルし、このリストを信頼のある第三者に提供するプロセス800の例を示す。オペレーション801では、マルチテナント環境のオペレータは、承認された暗号測定のリストならびにこれらの測定に対応するソフトウェア及び/またはハードウェアの構成をコンパイルする。オペレーション802では、承認された測定のリストが信頼ある第三者に提供される。信頼ある第三者は承認された測定を分析し、それらの精度を保証することができる。一旦、信頼のある第三者が測定のリストの精度を保証すると、先に説明したように、様々なユーザが彼らの仮想マシンを要求するときにリスト内の測定に頼ることができる。
オペレーション803では、マルチテナント環境のオペレータは時々、仮想マシンをホスティングするのに使用される様々なリソース(例えば、ハイパーバイザなど)を更新するか、またはそれらにパッチを当てることができる。例えば、マルチテナント環境のサービス・プロバイダまたはオペレータはマルチテナント環境にインフラストラクチャ及び新しいコンポーネント(例えば、異なるBIOSなどを備えた新しいハードウェア)を導入することができる。多くの場合、かかる更新、パッチまたは新コンポーネントは、それらのリソースに対して新しい暗号測定が行われることを要求することができる。オペレーション804では、オペレータは、更新されたリソースに対応する新しい暗号測定を行い、オペレーション805では、オペレータは、これらの測定を信頼ある第三者に提供する。その後、信頼のある第三者がこれらの新たな暗号測定を保証し、ユーザはそれらの測定に頼り続けることができる。
本開示の実施形態は、以下の条項を考慮して説明することができる。
1.非一時的なコンピュータ可読媒体であって、1つまたは複数のプロセッサよって実行されたときにコンピューティング・システムに、
マルチテナント・コンピューティング環境をホスティングするサービス・プロバイダの顧客から受けた顧客の仮想マシンをプロビジョニングする要求を受けること、
複数のホスト・コンピューティング・デバイスから前記仮想マシンを実行する1つまたは複数のリソースを含むある1つのホスト・コンピューティング・デバイスを選択して前記仮想マシンをホスティングすること、
前記選択されたホスト・コンピューティング・デバイス上に前記仮想マシンをプロビジョニングすること、
前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの構成のハッシュ測定を行うこと、
前記1つまたは複数のリソースの前記構成が前記仮想マシンをホスティングするのに許容できるかどうかの指示であって、前記ハッシュ測定と承認されたハッシュ測定のリストとの比較に少なくとも部分的に基づいた指示を前記顧客から得ること、及び
前記1つまたは複数のリソースの前記構成が受け入れ可能である前記指示に応答して前記選択されたホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさせる非一時的なコンピュータ可読媒体。
2.承認されたハッシュ測定の前記リストは信頼ある第三者により保証された信頼あるリストである、項1に記載の非一時的なコンピュータ可読媒体。
3.前記ハッシュ測定が、
前記ホスト・コンピューティング・デバイスの基本入出力システム(BIOS)に関連付けられた値、
前記ホスト・コンピューティング・デバイスのハイパーバイザの構成、
前記仮想マシンの起動オペレーティング・システムの構成、
1つまたは複数のハードウェア構成レジスタ内の値、または
周辺コンポーネント相互接続(PCI)カード内のファームウェア
のうちの1つまたは複数に少なくとも部分的に基づいている、項1に記載の非一時的なコンピュータ可読媒体。
4.1つまたは複数のプロセッサによって実行されるコンピューティング・システムに
前記仮想マシンをプロビジョニングする前記要求に応答して前記顧客に前記ハッシュ測定を提供すること、
をさせる命令をさらに含む、項1に記載の非一時的なコンピュータ可読媒体。
5.コンピュータ実施方法であって、実行可能な命令から構成される1つまたは複数のコンピュータ・デバイスのコントロール下で、
ユーザの仮想マシンをプロビジョニングする要求を受信すること、
前記仮想マシンを実行する1つまたは複数のリソースを含む、前記仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択すること、
前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの暗号測定を得ること、及び
前記ユーザに、前記暗号測定と1つまたは複数の基準値との比較に少なくとも一部基づいて、前記ホスト・コンピューティング・デバイス上の前記仮想マシンへのアクセスを提供するかどうかを判断すること、
を含む、コンピュータ実施方法。
6.前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記ユーザから前記ホスト・コンピューティング・デバイスの構成の選択を受信すること、
前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された暗号測定を決定すること、及び
前記暗号測定が前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された前記暗号測定と一致することを確認すること、
をさらに含む、項5に記載のコンピュータ実施方法。
7.前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記仮想マシンをプロビジョニングする前記要求に応答して前記ユーザに前記暗号測定を提供すること、
前記暗号測定が前記ユーザに承認されたかどうかを示した指示を前記ユーザから受信すること、及び、
前記暗号測定が承認されたことの指示を受信することに応答して前記ホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、項5に記載のコンピュータ実施方法。
8.前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
承認された暗号測定のリストを検索すること、
前記暗号測定を承認された暗号測定の前記リストと比較して前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースが前記仮想マシンをホスティングするのに許容できるかを判断すること、及び、
前記1つまたは複数のリソースが受け入れ可能との判断に応答して前記選択されたホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、項5に記載のコンピュータ実施方法。
9.前記1つまたは複数の参照値が、
信頼ある第三者により作成され前記信頼ある第三者により保証された、承認済み暗号測定を、
さらに含む、項5に記載のコンピュータ実施方法。
10.ホスト・コンピューティング・デバイスの複数の構成に対する承認された暗号測定のリストをコンパイルすること、及び
承認された暗号測定の前記リストを信頼ある第三者に提供して前記信頼ある第三者により保証してもらうこと、
をさらに含む、項5に記載のコンピュータ実施方法。
11.複数のホスト・コンピューティング・デバイスのうちの1つがパッチ付けされたかまたは更新されたことを判断すること、及び
承認された暗号測定の前記リストを新たな暗号測定で更新して前記ホスト・コンピューティング・デバイスに対するパッチまたは更新を構成すること、
をさらに含む、10項に記載されたコンピュータ実施方法。
12.承認された暗号測定の前記リストが、信頼ある第三者によって公表されて複数のユーザがネットワークでアクセス可能になる、10項に記載のコンピュータ実施方法。
13.承認された暗号測定の前記リストが、前記仮想マシンをプロビジョニングする要求と同時に前記ユーザによって提供される、項8に記載のコンピュータ実施方法。
14.前記ハッシュ測定が、
前記ホスト・コンピューティング・デバイスの基本入出力システム(BIOS)に関連付けられた値、
前記ホスト・コンピューティング・デバイスのハイパーバイザの構成、
前記仮想マシンの起動オペレーティング・システムの構成、
1つまたは複数のハードウェア・レジスタの値、または
周辺コンポーネント相互接続(PCI)カードのファームウェア、
のうちの1つまたは複数に少なくとも一部基づく、項5に記載のコンピュータ実施方法。
15.コンピューティング・システムであって、
少なくとも1つのプロセッサ、及び
前記プロセッサによって実行されたときに前記コンピューティング・システムに
ユーザの仮想マシンをプロビジョニングする要求を受信すること、
前記仮想マシンを実行する1つまたは複数のリソースを含む、前記仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択すること、
前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの暗号測定を得ること、及び
前記ユーザに、前記暗号測定と1つまたは複数の基準値との比較に少なくとも一部基づいて、前記ホスト・コンピューティング・デバイス上の前記仮想マシンへのアクセスを提供するかどうかを判断すること、
をさせる命令、
を含む、コンピューティング・システム。
16.前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記ユーザから前記ホスト・コンピューティング・デバイスの構成の選択を受信すること、
前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された暗号測定を決定すること、及び
前記暗号測定が前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された前記暗号測定と一致することを確認すること、
をさらに含む、項15に記載のコンピューティング・システム。
17.前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記仮想マシンをプロビジョニングする前記要求に応答して前記ユーザに前記暗号測定を提供すること、
前記暗号測定が前記ユーザに承認されたかどうかを示した指示を前記ユーザから受信すること、及び、
前記暗号測定が承認されたことの指示を受信することに応答して前記ホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、項15に記載のコンピューティング・システム。
18.前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
承認された暗号測定のリストを検索すること、
前記暗号測定と承認された暗号測定の前記リストとを比較して前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースが前記仮想マシンをホスティングするのに受け入れ可能かを判断すること、及び、
前記1つまたは複数のリソースが受け入れ可能との判断に応答して前記選択されたホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、項15に記載のコンピューティング・システム。
19.前記メモリが、前記コンピューティング・システムに
ホスト・コンピューティング・デバイスの複数の構成に対する承認された暗号測定のリストをコンパイルすること、及び
承認された暗号測定の前記リストを信頼ある第三者に提供して前記信頼ある第三者により保証してもらうこと、
をさせる、少なくとも1つのプロセッサによって実行される命令をさらに含む、項15に記載のコンピューティング・システム。
20.前記メモリが、前記コンピューティング・システムに
複数のホスト・コンピューティング・デバイスのうちの1つがパッチ付けされたかまたは更新されたことを判断すること、及び
承認された暗号測定の前記リストを新たな暗号測定で更新して前記ホスト・コンピューティング・デバイスに対するパッチ
または更新を構成すること、
をさせる、少なくとも1つのプロセッサによって実行される命令をさらに含む、項19に記載のコンピューティング・システム。
21.承認された暗号測定の前記リストが、信頼ある第三者によって公表されて複数のユーザがネットワークでアクセス可能になる、項19に記載のコンピューティング・システム。
22.承認された暗号測定の前記リストが、前記仮想マシンをプロビジョニングする要求と同時に前記ユーザによって提供される、項18に記載のコンピューティング・システム。
図9は、一例のコンピューティング・デバイス900の一般的なコンポーネント・セットの論理的な配置を示す。この例では、デバイスは、メモリ・デバイスまたはメモリ素子904に格納することができる命令を実行するプロセッサ902を含む。当業者には明らかであるはずであるが、デバイスは、多くのタイプのメモリ、データ・ストレージ、または、プロセッサ902が実行するプログラム命令用の第一のデータ・ストレージ、画像またはデータ用の別個のストレージ、他のデバイスと情報を共有するための着脱式メモリなどの非一時的コンピュータ可読記憶媒体を含むことができる。このデバイスは典型的には、タッチ・スクリーンや液晶ディスプレイ(LCD)などのいくつかのタイプの表示素子906を含むであろうが、ポータブルメディア・プレイヤーなどのデバイスは、オーディオ・スピーカなどの他の手段を介して情報伝達することができるはずである。論じたように、多くの実施形態でのデバイスは、ユーザから従来の入力を受信することができる少なくとも1つの入力素子908を含むであろう。従来の入力素子は、例えば、押しボタン、タッチ・パッド、タッチ・スクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、またはそれによってユーザがデバイスにコマンドを入力できる任意のかかるデバイスまたは素子を含むことができる。しかし、いくつかの実施形態では、かかるデバイスは、ボタンを全く含まないで、ユーザがデバイスに接する必要なしにデバイスをコントロールできるように視覚的及び聴覚的なコマンドの組合せを介してのみコントロールできるはずである。いくつかの実施形態では、図9のコンピューティング・デバイス900は、Wi−Fi、ブルートゥース(登録商標)、RF、有線または無線の通信システムなどの様々なネットワークで通信するための1つまたは複数のネットワーク・インターフェース素子908を含むことができる。多くの実施形態におけるデバイスは、インターネットなどのネットワークと通信することができ、他のかかるデバイスと通信することができる場合がある。
論じたように、説明した実施形態により異なる手法を様々な環境で実装することができる。例えば、図10は、様々な実施形態による態様を実装する環境1000の例を示す。これから分かるように、ウェブ・ベースの環境が説明の目的で使用されているが、必要に応じて、様々な実施形態を実装するために異なる環境を使用してもよい。このシステムは、電子的なクライアント・デバイス1002であって、適切なネットワーク1004で要求、メッセージまたは情報を送受信し、かつデバイスのユーザに情報を伝え戻す働きをするものを含む。かかるクライアント・デバイスの例には、パーソナル.コンピュータ、携帯電話、携帯型通信デバイス、ラップトップ・コンピュータ、セット−トップ・ボックス、パーソナル・データ・アシスタント、電子ブック・リーダ、などが含まれる。ネットワークには、イントラネット、インターネット、セルラー・ネットワーク、ローカル・エリア・ネットワークまたは他の任意のかかるネットワークまたはそれらの組み合わせを含む任意の適切なネットワークを含むことができる。かかるシステムに使用されるコンポーネントは、ネットワークのタイプ及び/または選択された環境に少なくとも一部左右され得る。かかるネットワークを介して通信するプロトコル及びコンポーネントは周知であり、本明細書では詳細を論じない。ネットワークでの通信を、有線接続または無線接続及びそれらの組み合わせを介して可能にすることができる。この環境が要求を受信しそれに応答してコンテンツを提供するウェブ・サーバ1006を含むため、この例ではネットワークはインターネットを含む。しかし、当業者には明らであるように、他のネットワークに対して同様の目的に役立つ代替デバイスを用いることができるはずである。
例示の環境には、少なくとも1つのアプリケーション・サーバ1008及びデータ・ストア1010が含まれる。鎖状に繋がるかまたは他の方法で構成された、いくつかのアプリケーション・サーバ、レイヤまたは他の要素、プロセスまたはコンポーネントが存在できることを理解すべきであり、これらは相互に作用して、適切なデータ・ストアからデータを得ることなどのタスクを果たすことができる。本明細書で使用されるとき、用語「データ・ストア」は、データを格納し、データにアクセスし、データを検索することができる任意のデバイスまたはデバイスの組み合わせを指し、任意の標準的な、分散化またはクラスタ化した環境における、データ・サーバ、データベース、データ格納デバイス及びデータ格納媒体の任意の組み合わせと任意の数を含むことができる。アプリケーション・サーバは、必要ならデータ・ストアと一体化されてクライアント・デバイスの1つまたは複数のアプリケーションの態様を実施し、アプリケーションに対するデータ・アクセス及びビジネス・ロジックの大部分を扱う任意の適切なハードウェア及びソフトウェアを含むことができる。アプリケーション・サーバは、データ・ストアと協力してアクセス制御サービスを提供し、この例ではHTML、XMLまたは他の適切な構造化言語の形態のウェブ・サーバによってユーザに提供され得る、テキスト、グラフィックス、オーディオ及び/またはビデオなどのユーザに転送すべきコンテンツを作ることができる。すべての要求及び応答の扱い、ならびにクライアント・デバイス1002とアプリケーション・サーバ1008の間でのコンテンツの送達の扱いは、ウェブ・サーバ1006によって扱うことができる。本明細書で論じた構造化コードは、本明細書の別のところで論じたような任意の適切なデバイスまたはホスト・マシン上で実行することができるので、ウェブ・サーバ及びアプリケーション・サーバは必要なものではなく、単なる例示的なコンポーネントであることを理解すべきである。
データ・ストア1010は特別な態様に関係したデータを格納するいくつかの別個のデータ・テーブル、データベースまたは他のデータ記録機構及び媒体を含むことができる。例えば、例示したデータ・ストアは、生産側にコンテンツを提供するのに使用することができる生産データ1012及びユーザ情報716を格納する機構を含む。データ・ストアは、また、ログまたはセッションのデータ1014を格納する機構も含むことが示されている。ページ画像情報、アクセス権情報などのデータ・ストアに格納される必要のある多くの他の態様が存在し得ることを理解すべきである。これらは、必要に応じて、上記に挙げた機構のうちの任意のものまたはデータ・ストア1010内の追加的な機構に格納することができる。データ・ストア1010は、それに関連付けられた論理によってアプリケーション・サーバ1008から命令を受信することができ、それに応答してデータを得、更新し、またはデータにそれ以外の処理をすることができる。一例では、ユーザはあるタイプの品目を検索する要求を提出することができるはずである。この場合、データ・ストアは、ユーザ情報にアクセスしてユーザの身元を確認できるはずであり、カタログ詳細情報にアクセスしてそのタイプの品目の情報を得ることができる。次いで、この情報は、ユーザがユーザ・デバイス1002上のブラウザを介して見ることができるウェブページ上の結果一覧表などの形でユーザに戻すことができる。興味のある特別な品目の情報はブラウザの専用ページまたは専用ウィンドウで見ることができる。
各サーバは、典型的にはそのサーバの一般管理及びオペレーションのために実行可能なプログラム命令を提供するオペレーティング・システムを含むであろう、また、典型的には、サーバのプロセッサによって実行されたときにサーバの意図した機能をサーバが行なうことができるようにする命令を格納したコンピュータ可読媒体を含むであろう。サーバのオペレーティング・システム及び一般的な機能に適した実装形態は、公知であるか、または市販されている。また、特に、本明細書の開示に照らせば、当業者によって容易に実施される。
一実施形態での環境は、1つまたは複数のコンピューター・ネットワークまたは直接接続を使用し通信リンクを介して相互接続された、いくつかのコンピュータ・システム及びコンポーネントを利用する分散型コンピューティング環境である。しかし、かかるシステムが図10に例示されたコンポーネントよりも数が少ないかまたは多いコンポーネントを有するシステムにおいて同様にうまく動作できるはずであることは当業者には明らかであろう。したがって、図10のシステム1000の描写は、本来、例示的なものであるとみなされるべきであり本開示の範囲を限定するものとみなされるべきではない。
本明細書で議論または示唆された様々な実施形態は、ある場合にはいくつかのアプリケーションのうちの任意のものを操作するのに使用することができる1つまたは複数のユーザ・コンピュータ、コンピューティング・デバイス、または処理デバイスを含むことができる、多種多様な操作環境で実施することができる。ユーザ・デバイスまたはクライアント・デバイスは、標準オペレーティング・システムを動作させるデスクトップ・コンピュータまたはラップトップ・コンピュータなどのいくつかの汎用のパーソナル・コンピュータのうちの任意のものと、モーバイル・ソフトウェアを動作させ、ネットワーキング・プロトコル及びメッセージング・プロトコルのいくつかを支援することができるセルラー・デバイス、無線デバイス及び携帯デバイスを含むことができる。かかるシステムはまた、開発及びデータベース管理などの目的で様々な市販のオペレーティング・システムならびに他の公知のアプリケーションのうちの任意のものを実行するいくつかのワークステーションを含むこともできる。これらのデバイスはまた、ダミー端子、シン・クライアント、ゲーミング・システム、及びネットワークを介して通信することができる他のデバイスなどの他の電子デバイスを含むこともできる。
ほとんどの実施形態は、TCP/IP、FTP、UPnP、NFS及びCIFSなどの様々な市販のプロトコルのうちの任意のものを使用して通信を支援する当業者によく知られた少なくとも1つのネットワークを利用する。このネットワークは、例えば、ローカル・エリア・ネットワーク、広域ネットワーク、仮想プライベート・ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、ワイヤレス・ネットワーク及びそれらの任意の組合せであり得る。
ウェブ・サーバを利用する実施形態では、ウェブ・サーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データ・サーバ、ジャバ・サーバ及びビジネス・アプリケーション・サーバを含む様々なサーバまたは中間層のアプリケーションのうちのいずれかを動作させることができる。サーバはまた、例えば、ジャバ(登録商標)、C、C#またはC++などの任意のプログラミング言語、あるいはパール、パイソンまたはTCLなどの任意のスクリプト言語、ならびにそれらの組み合わせで書かれた1つまたは複数のスクリプトまたはプログラムを実行することによって、ユーザ・デバイスからの要求に応じてプログラムまたはスクリプトを実行することができる場合もある。サーバはまた、限定はされないが、オラクル(商標)、マイクロソフト(商標)、サイベース(商標)、及びIBM(商標)を含むデータベース・サーバを含むこともできる。
環境は、上記で論じたような様々なデータ・ストア及び他の記録・記憶媒体を含むことができる。これらは、1つまたは複数のコンピュータに局在した(及び/または存在する)記憶媒体上、またはネットワーク全域の任意のまたはすべてのコンピュータから遠く離れた記憶媒体上などの様々な場所に存在し得る。特定の実施形態では、情報は、当業者によく知られているストレージ・エリア・ネットワーク(「SAN」)に存在する場合がある。同様に、コンピュータ、サーバまたは他のネットワーク・デバイスに起因する機能を果たすいかなる必要なファイルも、必要なら、ローカルに及び/または遠隔で格納される場合がある。システムがコンピュータ化されたデバイスを含む場合は、かかるデバイスはそれぞれ、バスを介して電気結合できるハードウェア素子であって、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、タッチ・スクリーン、またはキーパッド)及び少なくとも1つの出力装置(例えば、ディスプレイ装置、プリンタ、またはスピーカ)を含む素子を、含むことができる。かかるシステムはまた、リムーバブル・メディア装置、メモリーカード、フラッシュカードなどと同様に、ディスク・ドライブ、光記憶装置、及び、ランダム・アクセス・メモリ(「RAM」)または読み取り専用メモリ(「ROM」)などの固体記憶装置などの1つまたは複数の記憶装置も含み得る。
かかるデバイスはまた、コンピュータ可読記憶媒体リーダ、通信装置(例えば、モデム、ネットワーク・カード(無線または有線の)、赤外線通信装置など)及び上述したような作業メモリを含むことができる。コンピュータ可読記憶媒体リーダは、遠隔の、ローカルな、固定の、及び/または取り外し可能な記憶装置、並びに、コンピュータ可読情報を一時的及び/またはより永久的に含み、格納し、送信し、検索する記憶媒体を表すコンピュータ可読記憶媒体と接続することができるかまたはそれを受け入れるように構成することができる。システム及び様々なデバイスはまた、典型的には、クライアント・アプリケーションまたはウェブ・ブラウザなどのオペレーティング・システム及びアプリケーション・プログラムを含む、いくつかの、ソフトウェア・アプリケーション、モジュール、サービスまたは少なくとも1つの作業メモリ・デバイス内に位置する他の要素を含むであろう。代替実施形態が、上記で説明した実施形態の多くの変形を有し得ることは理解されるべきである。例えば、カスタマイズされたハードウェアも使用され得るはずであり、かつ/または、特定の要素がハードウェア、ソフトウェア(アプレットなどの高移植性ソフトウェアを含む)または両方で実装され得るはずである。さらに、ネットワーク入出力装置などの他のコンピューティング・デバイスへの接続が採用され得る。
コードまたはコードの部分を含むための記憶媒体及びコンピュータ可読媒体は、当技術分野で知られているかまたは使用されている任意の適切な媒体であって、限定はされないが、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータなどの情報の格納及び/または送信のための任意の方法または技術において実装された、RAM、ROM、EEPROM(登録商標)、フラッシュ・メモリまたは他のメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置また他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができシステム機器によってアクセスされ得る他の媒体を含む、揮発性及び不揮発性で、取り外し可能及び取り外し不可能な媒体などの記憶媒体及び通信媒体を含む、媒体を含むことができる。当業者なら、本明細書に提供された開示及び教示に基づいて、様々な実施形態を実行する他のやり方及び/または方法を理解するであろう。
したがって、明細書と図面は、限定的な意味ではなく例示的なものとみなすべきである。しかし、特許請求の範囲に記述されたような発明のより広い趣旨と範囲から逸脱することなく、それに様々な修正と変更を加え得ることは明らかであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
〔1〕
コンピュータ実施方法であって、実行可能な命令から構成される1つまたは複数のコンピュータ・システムの制御下で、
ユーザの仮想マシンをプロビジョニングする要求を受信すること、
前記仮想マシンを実行する1つまたは複数のリソースを含む、前記仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択すること、
前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの暗号測定を得ること、及び
前記ユーザに、前記暗号測定と1つまたは複数の基準値との比較に少なくとも一部基づいて、前記ホスト・コンピューティング・デバイス上の前記仮想マシンへのアクセスを提供するかどうかを判断すること、
を含む、コンピュータ実施方法。
〔2〕
前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記ユーザから前記ホスト・コンピューティング・デバイスの構成の選択を受信すること、
前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された暗号測定を決定すること、及び
前記暗号測定が前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された前記暗号測定と一致することを確認すること、
をさらに含む、〔1〕に記載のコンピュータ実施方法。
〔3〕
前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記仮想マシンをプロビジョニングする前記要求に応答して前記ユーザに前記暗号測定を提供すること、
前記暗号測定が前記ユーザに承認されたかどうかを示した指示を前記ユーザから受信すること、及び、
前記暗号測定が承認されたことの指示を受信することに応答して前記ホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、〔1〕に記載のコンピュータ実施方法。
〔4〕
前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
承認された暗号測定のリストを検索すること、
前記暗号測定と承認された暗号測定の前記リストとを比較して、前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースが前記仮想マシンをホスティングするのに許容できるかを判断すること、及び、
前記1つまたは複数のリソースが許容できるとの判断に応答して、前記選択されたホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、〔1〕に記載のコンピュータ実施方法。
〔5〕
前記1つまたは複数の基準値が、
信頼ある第三者により作成され前記信頼ある第三者により保証された、承認済み暗号測定のリストを、
さらに含む、〔1〕に記載のコンピュータ実施方法。
〔6〕
ホスト・コンピューティング・デバイスの複数の構成に対する承認された暗号測定のリストをコンパイルすること、及び
承認された暗号測定の前記リストを信頼ある第三者に提供して前記信頼ある第三者により保証してもらうこと、
をさらに含む、〔1〕に記載のコンピュータ実施方法。
〔7〕
承認された暗号測定の前記リストが、前記信頼ある第三者によって公表されて複数のユーザがネットワークでアクセス可能になる、〔6〕に記載のコンピュータ実施方法。
〔8〕
承認された暗号測定の前記リストが、前記仮想マシンをプロビジョニングする要求と同時に前記ユーザによって提供される、〔4〕に記載のコンピュータ実施方法。
〔9〕
前記ハッシュ測定が、
前記ホスト・コンピューティング・デバイスの基本入出力システム(BIOS)に関連付けられた値、
前記ホスト・コンピューティング・デバイスのハイパーバイザの構成、
前記仮想マシンの起動オペレーティング・システムの構成、
1つまたは複数のハードウェア・レジスタの値、または
周辺コンポーネント相互接続(PCI)カードのファームウェア、
のうちの1つまたは複数に少なくとも一部基づく、〔1〕に記載のコンピュータ実施方法。
〔10〕
コンピューティング・システムであって、
少なくとも1つのプロセッサ、及び
前記プロセッサによって実行されたときに前記コンピューティング・システムに
ユーザの仮想マシンをプロビジョニングする要求を受信すること、
前記仮想マシンを実行する1つまたは複数のリソースを含む、前記仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択すること、
前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの暗号測定を得ること、及び
前記ユーザに、前記暗号測定と1つまたは複数の基準値との比較に少なくとも一部基づいて、前記ホスト・コンピューティング・デバイス上の前記仮想マシンへのアクセスを提供するかどうかを判断すること、
をさせる命令、
を含むメモリを含む、コンピューティング・システム。
〔11〕
前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記ユーザから前記ホスト・コンピューティング・デバイスの構成の選択を受信すること、
前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された暗号測定を決定すること、及び
前記暗号測定が前記ホスト・コンピューティング・デバイスの選択された構成に関連する承認された前記暗号測定と一致することを確認すること、
をさらに含む、〔10〕に記載のコンピューティング・システム。
〔12〕
前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
前記仮想マシンをプロビジョニングする前記要求に応答して前記ユーザに前記暗号測定を提供すること、
前記暗号測定が前記ユーザに承認されたかどうかを示した指示を前記ユーザから受信すること、及び、
前記暗号測定が承認されたことの指示を受信することに応答して前記ホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、〔10〕に記載のコンピューティング・システム。
〔13〕
前記ユーザに前記仮想マシンへのアクセスを提供するかどうかを判断することが、
承認された暗号測定のリストを検索すること、
前記暗号測定と承認された暗号測定の前記リストとを比較して、前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースが前記仮想マシンをホスティングするのに許容できるかを判断すること、及び、
前記1つまたは複数のリソースが許容できるとの判断に応答して、前記選択されたホスト・コンピューティング・デバイス上に前記仮想マシンを立ち上げること、
をさらに含む、〔10〕に記載のコンピューティング・システム。
〔14〕
前記メモリが、前記コンピューティング・システムに
ホスト・コンピューティング・デバイスの複数の構成に対する承認された暗号測定のリストをコンパイルすること、及び
承認された暗号測定の前記リストを信頼ある第三者に提供して前記信頼ある第三者により保証してもらうこと、
をさせる、少なくとも1つのプロセッサによって実行される命令をさらに含む、〔10〕に記載のコンピューティング・システム。
〔15〕
前記メモリが、前記コンピューティング・システムに
複数のホスト・コンピューティング・デバイスのうちの1つがパッチ付けされたかまたは更新されたことを判断すること、及び
承認された暗号測定の前記リストを新たな暗号測定で更新して前記ホスト・コンピューティング・デバイスに対するパッチまたは更新を構成すること、
をさせる、少なくとも1つのプロセッサによって実行される命令をさらに含む、〔14〕に記載のコンピューティング・システム。

Claims (9)

  1. コンピュータ実施方法であって、
    ユーザの仮想マシンをプロビジョニングする要求を受信すること、
    前記要求の受信に応答して、前記仮想マシンを実行する1つまたは複数のリソースを含む、前記仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択すること、
    前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの暗号測定を得ること、ここにおいて、前記暗号測定は、前記ホスト・コンピューティング・デバイス上のソフトウエア及び/またはハードウェアのリソースのハッシュ測定を含み、
    前記ユーザから前記ホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの特別な構成の選択を受信すること、
    前記ホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの前記特別な構成に関連する既知の承認された暗号測定を決定すること
    前記暗号測定が、前記ホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの前記特別な構成に関連する前記承認された暗号測定と一致することを確認すること、及び
    前記ユーザに、前記一致することの確認に基づいて、前記ホスト・コンピューティング・デバイス上の前記仮想マシンへのアクセスを提供すること、
    を含む、コンピュータ実施方法。
  2. 前記承認された暗号測定は、信頼ある第三者により作成され、前記信頼ある第三者により保証される、請求項1に記載のコンピュータ実施方法。
  3. ホスト・コンピューティング・デバイスの複数の構成に対する承認された暗号測定のリストを作成すること、及び
    信頼ある第三者により保証してもらうために、承認された暗号測定の前記リストを前記信頼ある第三者に提供すること、
    をさらに含む、請求項1に記載のコンピュータ実施方法。
  4. 複数のユーザがネットワークでアクセス可能になるように、承認された暗号測定の前記リストが、前記信頼ある第三者によって公表される、請求項に記載のコンピュータ実施方法。
  5. 承認された暗号測定の前記リストが、前記仮想マシンをプロビジョニングする要求と同時に前記ユーザによって提供される、請求項3に記載のコンピュータ実施方法。
  6. 前記暗号測定が、
    前記ホスト・コンピューティング・デバイスの基本入出力システム(BIOS)に関連付けられた値、
    前記ホスト・コンピューティング・デバイスのハイパーバイザの構成、
    前記仮想マシンの起動オペレーティング・システムの構成、
    1つまたは複数のハードウェア構成レジスタの値、または
    周辺コンポーネント相互接続(PCI)カードのファームウェア、
    のうちの1つまたは複数に少なくとも一部基づく、請求項1に記載のコンピュータ実施方法。
  7. コンピューティング・システムであって、
    少なくとも1つのプロセッサ、及び
    前記プロセッサによって実行されたときに前記コンピューティング・システムに
    ユーザの仮想マシンをプロビジョニングする要求を受信すること、
    前記要求の受信に応答して、前記仮想マシンを実行する1つまたは複数のリソースを含む、前記仮想マシンをホスティングするホスト・コンピューティング・デバイスを選択すること、
    前記選択されたホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの暗号測定を得ること、ここにおいて、前記暗号測定は、前記ホスト・コンピューティング・デバイス上のソフトウエア及び/またはハードウェアのリソースのハッシュ測定を含み、
    前記ユーザから前記ホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの特別な構成の選択を受信すること、
    前記ホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの前記特別な構成に関連する既知の承認された暗号測定を決定すること、
    前記暗号測定が、前記ホスト・コンピューティング・デバイス上の前記1つまたは複数のリソースの前記特別な構成に関連する前記承認された暗号測定と一致することを確認すること、及び
    前記ユーザに、前記一致することの確認に基づいて、前記ホスト・コンピューティング・デバイス上の前記仮想マシンへのアクセスを提供すること、
    をさせる命令、
    を含むメモリを含む、コンピューティング・システム。
  8. 前記メモリが、前記コンピューティング・システムに
    ホスト・コンピューティング・デバイスの複数の構成に対する承認された暗号測定のリストを作成すること、及び
    信頼ある第三者により保証してもらうために、承認された暗号測定の前記リストを前記信頼ある第三者に提供すること、
    をさせる、前記少なくとも1つのプロセッサによって実行される命令をさらに含む、請求項に記載のコンピューティング・システム。
  9. 前記メモリが、前記コンピューティング・システムに
    複数のホスト・コンピューティング・デバイスのうちの少なくとも1つがパッチ付けされたかまたは更新されたことを判断すること、及び
    承認された暗号測定の前記リストを新たな暗号測定で更新して前記ホスト・コンピューティング・デバイスに対するパッチまたは更新を構成すること、
    をさせる、前記少なくとも1つのプロセッサによって実行される命令をさらに含む、請求項に記載のコンピューティング・システム。
JP2016524325A 2013-07-01 2014-07-01 仮想マシンをホスティングする暗号的に保証されたリソース Active JP6556710B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/932,828 2013-07-01
US13/932,828 US9367339B2 (en) 2013-07-01 2013-07-01 Cryptographically attested resources for hosting virtual machines
PCT/US2014/045125 WO2015002992A1 (en) 2013-07-01 2014-07-01 Cryptographically attested resources for hosting virtual machines

Publications (2)

Publication Number Publication Date
JP2016526734A JP2016526734A (ja) 2016-09-05
JP6556710B2 true JP6556710B2 (ja) 2019-08-07

Family

ID=52117025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016524325A Active JP6556710B2 (ja) 2013-07-01 2014-07-01 仮想マシンをホスティングする暗号的に保証されたリソース

Country Status (7)

Country Link
US (2) US9367339B2 (ja)
EP (1) EP3017397B1 (ja)
JP (1) JP6556710B2 (ja)
CN (1) CN105493099B (ja)
CA (1) CA2916966C (ja)
SG (1) SG11201510761PA (ja)
WO (1) WO2015002992A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175317B1 (ko) * 2020-07-02 2020-11-06 굿모닝아이텍(주) 데스크톱 가상화
KR102179185B1 (ko) * 2020-07-02 2020-11-17 굿모닝아이텍(주) 서버 관리 시스템

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367339B2 (en) 2013-07-01 2016-06-14 Amazon Technologies, Inc. Cryptographically attested resources for hosting virtual machines
US9065854B2 (en) * 2013-10-28 2015-06-23 Citrix Systems, Inc. Systems and methods for managing a guest virtual machine executing within a virtualized environment
EP3066567A1 (en) * 2013-11-07 2016-09-14 Telefonaktiebolaget LM Ericsson (publ) Setting up a virtual machine for an ip device
US9734325B1 (en) * 2013-12-09 2017-08-15 Forcepoint Federal Llc Hypervisor-based binding of data to cloud environment for improved security
US9641385B1 (en) * 2013-12-16 2017-05-02 Amazon Technologies, Inc. Dynamic system configuration in a virtual environment
US10044695B1 (en) 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US9577829B1 (en) 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US9442752B1 (en) * 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US9584517B1 (en) 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US10303879B1 (en) * 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
EP3032453B1 (en) * 2014-12-08 2019-11-13 eperi GmbH Storing data in a server computer with deployable encryption/decryption infrastructure
CN105049257A (zh) * 2015-08-12 2015-11-11 北京因特信安软件科技有限公司 基于可信地理位置信息的云平台调度方法
US10310885B2 (en) * 2016-10-25 2019-06-04 Microsoft Technology Licensing, Llc Secure service hosted in a virtual security environment
US10404470B2 (en) * 2017-01-13 2019-09-03 Microsoft Technology Licensing, Llc Signature verification of field-programmable gate array programs
US20180341768A1 (en) * 2017-05-26 2018-11-29 Microsoft Technology Licensing, Llc Virtual machine attestation
US10757082B2 (en) * 2018-02-22 2020-08-25 International Business Machines Corporation Transforming a wrapped key into a protected key
US20190386895A1 (en) * 2018-06-13 2019-12-19 At&T Intellectual Property I, L.P. East-west traffic monitoring solutions for the microservice virtualized data center lan
US11609845B2 (en) * 2019-05-28 2023-03-21 Oracle International Corporation Configurable memory device connected to a microprocessor
CN110308917B (zh) * 2019-06-26 2024-02-23 深圳前海微众银行股份有限公司 小程序发布方法、装置、设备及计算机存储介质
IL295659A (en) * 2020-02-18 2022-10-01 Dymensa Pty Ltd System and method for implementing a personal virtual data network (pvdn)
US11645390B2 (en) * 2020-03-16 2023-05-09 Vmware, Inc. Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment
US11283882B1 (en) * 2020-09-08 2022-03-22 Sailpoint Technologies, Inc. System and method for software services platform architecture for supporting standalone services or development environments
US11954181B2 (en) * 2020-12-16 2024-04-09 Dell Products L.P. System and method for managing virtual hardware licenses of hardware resources accessed via application instances
US20230252172A1 (en) * 2022-02-09 2023-08-10 Dell Products L.P. Systems and methods for isolated and protected file system and data restoration

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392534B2 (en) 2003-09-29 2008-06-24 Gemalto, Inc System and method for preventing identity theft using a secure computing device
US8090919B2 (en) * 2007-12-31 2012-01-03 Intel Corporation System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
EA012918B1 (ru) * 2005-10-18 2010-02-26 Интертраст Текнолоджиз Корпорейшн Системы и способы на основе механизма управления цифровыми правами
KR100823738B1 (ko) 2006-09-29 2008-04-21 한국전자통신연구원 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
EP2377033A4 (en) 2008-12-12 2013-05-22 Boxsentry Pte Ltd ELECTRONIC MESSAGING INTEGRITY ENGINE
TWI435584B (zh) * 2009-04-20 2014-04-21 Interdigital Patent Holdings 多網域及網域所有權系統
US8745747B2 (en) * 2009-12-31 2014-06-03 Fujitsu Limited Data protecting device
US20110202765A1 (en) * 2010-02-17 2011-08-18 Microsoft Corporation Securely move virtual machines between host servers
JP5552343B2 (ja) * 2010-03-16 2014-07-16 株式会社日本総合研究所 管理装置、管理方法およびプログラム
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
US20120179904A1 (en) 2011-01-11 2012-07-12 Safenet, Inc. Remote Pre-Boot Authentication
JP5501276B2 (ja) * 2011-03-18 2014-05-21 株式会社エヌ・ティ・ティ・データ 仮想マシン配置装置、仮想マシン配置方法、仮想マシン配置プログラム
JP5577283B2 (ja) * 2011-03-29 2014-08-20 株式会社エヌ・ティ・ティ・データ 仮想マシン起動装置、仮想マシン起動方法、仮想マシン起動プログラム
EP2702724B1 (en) * 2011-04-26 2017-03-29 Telefonaktiebolaget LM Ericsson (publ) Secure virtual machine provisioning
US20130061293A1 (en) * 2011-09-02 2013-03-07 Wenbo Mao Method and apparatus for securing the full lifecycle of a virtual machine
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
JP5945512B2 (ja) * 2013-02-13 2016-07-05 株式会社日立製作所 計算機システム、及び仮想計算機管理方法
US9367339B2 (en) 2013-07-01 2016-06-14 Amazon Technologies, Inc. Cryptographically attested resources for hosting virtual machines

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175317B1 (ko) * 2020-07-02 2020-11-06 굿모닝아이텍(주) 데스크톱 가상화
KR102179185B1 (ko) * 2020-07-02 2020-11-17 굿모닝아이텍(주) 서버 관리 시스템

Also Published As

Publication number Publication date
SG11201510761PA (en) 2016-01-28
US20150007175A1 (en) 2015-01-01
CA2916966C (en) 2017-12-19
US20160291992A1 (en) 2016-10-06
WO2015002992A1 (en) 2015-01-08
JP2016526734A (ja) 2016-09-05
CN105493099B (zh) 2018-09-25
CN105493099A (zh) 2016-04-13
EP3017397B1 (en) 2021-11-17
EP3017397A4 (en) 2016-12-28
US9880866B2 (en) 2018-01-30
CA2916966A1 (en) 2015-01-08
EP3017397A1 (en) 2016-05-11
US9367339B2 (en) 2016-06-14

Similar Documents

Publication Publication Date Title
JP6556710B2 (ja) 仮想マシンをホスティングする暗号的に保証されたリソース
US10621366B2 (en) Chained security systems
US10367802B2 (en) Desktop application fulfillment platform with multiple authentication mechanisms
US11050844B2 (en) User controlled hardware validation
US10152211B2 (en) Application delivery agents on virtual desktop instances
US10372475B2 (en) Approaches for managing virtual instance data
US9489227B2 (en) Apparatus and method for virtual desktop service
JP6092428B2 (ja) 特権付き動作を呼び出すためのセキュアインターフェイス
US11153297B2 (en) Systems and methods to facilitate certificate and trust management across a distributed environment
US10462123B2 (en) Systems and methods for cloning an agent in a distributed environment
JP2016511872A (ja) 仮想化された環境における特権的な暗号サービス
US11245681B2 (en) Authentication in a multi-tenant environment
Thomas Windows server 2019 inside out
Abhilash et al. Learning VMware VSphere
Ohri Setting Up R on the Cloud

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170801

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180529

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180605

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190710

R150 Certificate of patent or registration of utility model

Ref document number: 6556710

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