(57)【要約】  取り組みは、ホストコンピューティングデバイスが、ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）といった安全な記憶装置内に、ホストコンピューティングデバイスの状態をリカバリするために役立つ認証情報またはその他のセキュリティ情報を格納することを可能にするために記述される。ホストコンピューティングデバイスが不具合の事象（例えば停電、ネットワーク障害など）からリカバリする時、ホストコンピューティングデバイスは安全な記憶装置から必要な認証情報を得ることができ、それらの認証情報を使用することによって、様々なサービスを起動し、ホストの状態を修復し、他の様々な機能を実行することができる。さらに、リカバーするホストがネットワーク上の他のデバイスとの通信を必要とするといった場合、安全な記憶装置（例えばＴＰＭ）はネットワーク上の他のデバイスへホストコンピューティングデバイスの起動ファームウェア測定及び遠隔認証を提供することができる。【選択図】図３
2016519827.tif 000002
【特許請求の範囲】
【請求項１】
実行可能な命令で構成された１つ以上のコンピューターシステムの制御下で、
安全な記憶装置に格納された１つ以上の認証情報を利用できるリカバリイメージを含有するホストコンピューティングデバイス上で、前記ホストコンピューティングデバイスの前記安全な記憶装置に１つ以上の前記認証情報を格納すること、
前記ホストコンピューティングデバイスを再起動すること、
前記再起動中に、前記ホストコンピューティングデバイスを再起動する前に不具合がホストコンピューティングデバイス上で起こり得たかを判断すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイスで動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で１つ以上のサービスを開始するために使用される、前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすることとを含む、コンピューター実装された方法。
【請求項２】
前記安全な記憶装置に格納された前記認証情報は、さらに、第二暗号化キーを解読するために使用できる第一暗号化キーを含み、前記第二暗号化キーはリカバリイメージを解読するために使用できる、請求項１に記載のコンピューター実装された方法。
【請求項３】
前記安全な記憶装置に格納された前記認証情報は、さらに、前記リカバリイメージを解読するために使用される暗号化キーを含む、請求項１に記載のコンピューター実装された方法。
【請求項４】
不具合が前記ホストコンピューティングデバイス上で起こり得たかを判断することは、１セットの状態を分析して、前記１セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作するファームウェアによって実行される、請求項１に記載のコンピューター実装された方法。
【請求項５】
前記リカバリイメージを読み込むことは、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記ホストコンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージをホストコンピューティングデバイス上に読み込むこと、とを含む、請求項４に記載のコンピューター実装された方法。
【請求項６】
前記ホストコンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記１つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、請求項１に記載のコンピューター実装された方法。
【請求項７】
前記ホストコンピューティングデバイスは、
遠隔ホストコンピューティングデバイスから前記１つ以上の認証情報を受け取ること、
受け取った前記１つ以上の認証情報を前記安全な記憶装置に格納すること、
とをさらに含む、請求項１に記載のコンピューター実装された方法。
【請求項８】
前記安全な記憶装置は、ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）である、請求項１に記載のコンピューター実装された方法。
【請求項９】
前記ホストコンピューティングデバイスは、ユーザーのためにプロビジョニングされた１つ以上の仮想マシンをホストし、前記１つ以上の仮想マシンは、ネットワーク上のユーザーがアプリケーション・プログラミング・インターフェース（ＡＰＩ）を用いることでアクセスが可能な少なくとも１つのアプリケーションを実行する、請求項１に記載のコンピューター実装された方法。
【請求項１０】
前記ホストコンピューティングデバイスは、前記ホストコンピューティングデバイスをネットワーク通信を通して、１つ以上の遠隔デバイスに認証するための前記１つ以上の認証情報を使用するように構成される、請求項１に記載のコンピューター実装された方法。
【請求項１１】
安全な記憶装置と、
少なくとも１つのプロセッサと、
メモリとを含むコンピューティングデバイスであって、
前記メモリは命令を含有し、
前記命令は、前記少なくとも１つのプロセッサによって実行された時に前記コンピューティングデバイスに、
前記安全な記憶装置内に１つ以上の認証情報を格納させ、
前記コンピューティングデバイスを起動させ、
起動中に、１セットの状態に基づき前記コンピューティングデバイスの起動前にコンピューティングデバイスに不具合が起こり得たかを判断させ、
リカバリイメージを前記コンピューティングデバイスの前記メモリへ読み込ませ、
前記リカバリイメージを、前記コンピューティングデバイス上で１つ以上のサービスを開始するために使用する、前記安全な記憶装置に格納された１つ以上の認証情報にアクセスできるようにさせる、コンピューティングデバイス。
【請求項１２】
不具合が前記コンピューティングデバイス上で起こり得たかを判断することは、１セットの状態を分析して、前記１セットの状態の少なくとも一部に基づき、前記コンピューティングデバイスが異常終了したことを判断するために構成された、前記コンピューティングデバイス上で動作するファームウェアによって実行される、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記コンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記コンピューティングデバイス上に読み込むこと、とを含む請求項１２に記載のコンピューティングデバイス。
【請求項１４】
前記コンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記１つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記メモリは、前記少なくとも１つのプロセッサによって実行されて、前記コンピューティングデバイスに、
遠隔ホストコンピューティングデバイスから前記１つ以上の認証情報を受け取らせ、
受け取った前記認証情報を前記安全な記憶装置に格納させる命令を、
さらに包含する、請求項１１に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
増えつつあるアプリケーションおよびサービスはインターネットといったネットワークで利用可能なので、増えつつあるコンテンツ、アプリケーション及び／またはサービスプロバイダは、クラウドコンピューティングといった技術に変わろうとしている。クラウドコンピューティングは、概して、ウェブサービスといったサービスを通じて電子資料へのアクセスを提供するための手引であり、それらのサービスをサポートするために用いられるハードウェア及び／またはソフトウェアはいつでもサービスのニーズに応える動的拡張性がある。ユーザーまたは顧客は一般的に、クラウドを通じて資料にアクセスするために借りたり、リースしたり、またはその他の方法で支払いを行うので、必要なハードウェア及び／またはソフトウェアを購入及び保持する必要はない。従って、ユーザーのアプリケーション及びサービスはしばしばサービスプロバイダのホストサービス上または環境の他のオペレーター上で提供される。そのようなシナリオでは、ユーザーのサービスが確実に途切れることなく運営を継続することを保障するために、起こり得る様々な停電、ネットワーク故障及び他の予期せぬ事象からの保護を提供することがサービスプロバイダまたは他のオペレーターにとって重要になる。生じ得る特定の論点の１つは、広く起こるネットワーク障害及び／または停電といった大規模事象の事象中ですみやかにかつ安全にホストをリカバーする能力である。
【０００２】
本開示に従う様々な実施形態は図面を参照して記述される。
【図面の簡単な説明】
【０００３】
【図１】様々な実施形態に従い、ホストコンピューティングデバイス上のＴＰＭまたは他の安全な記憶装置のプロビジョニングの実施例を説明する図である。
【図２】様々な実施形態に従い、リカバリモードのホストコンピューティングデバイスの実施例を説明する図である。
【図３】様々な実施形態に従い、遠隔コンピューティングデバイスへ向けてホストコンピューティングデバイスの遠隔認証をＴＰＭが行う実施例を説明する図である。
【図４】様々な実施形態に従い、サービスプロバイダまたはホストコンピューティングデバイスを含むマルチテナント・コンピューティング環境のその他のオペレーターのリソースセンター環境の実施例を説明する図である。
【図５】様々な実施形態に従い、ホストコンピューティングデバイスをリカバーするために用いられるＴＰＭ上での認証情報保存のための過程の実施例を説明する図である。
【図６】様々な実施形態に従い、ＴＰＭがホストコンピューティングデバイスの遠隔認証を行うための過程の実施例を説明する図である。
【図７】様々な実施形態に従い、利用されるコンピューティングデバイスの実施例における１セットの一般的なコンポーネントの論理的配置を説明する図である。
【図８】様々な実施形態に従い、態様を実行するための環境の実施例を説明する図である。
【発明を実施するための形態】
【０００４】
以下の説明では、様々な実施形態が実施例として説明され、かつ添付図面の図内に制限されないものとして説明される。本開示の様々な実施形態への参照は必ずしも同じ実施形態ではなく、このような参照は少なくとも１つを指す。特定の実装及び他の詳細が論じられる一方で、単に例示を目的とするためにこれが行われることが理解されるべきである。請求される主題の範囲及び主旨から逸れることなく構成要素及び形態が用いられることを当業者は認識するであろう。
【０００５】
本開示の様々な実施形態に従うシステム及び方法は、コンピューティングデバイスが不具合及び／または予期せぬ事象からリカバリした時に役立つであろうセキュリティ情報管理のための従来の取り組みの中で経験した1つ以上の前述の、または他の欠陥を打開するかもしれない。具体的には、様々な実施形態はホストコンピューティングデバイスが安全な記憶装置内に、ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）といった認証情報（及び／またはホストコンピューティングデバイスの状態をリカバリするために役立つその他のセキュリティ情報）を格納することを可能にする。ホストコンピューティングデバイスが不具合の事象（例えば停電、ネットワーク障害など）からリカバリする時、ホストコンピューティングデバイスは安全な記憶装置から必要な認証情報を得ることができ、かつ様々なサービスを起動し、ホストの状態を修復し、他の様々な機能を実行するためにそれらの認証情報を使用することができる。さらに、リカバーしたホストがネットワーク上の他のデバイスとの通信を必要とするなどといった場合、安全な記憶装置（例えばＴＰＭ）はネットワーク上の他のデバイスへホストコンピューティングデバイスの起動ファームウェア測定及び遠隔認証を提供してもよい。
【０００６】
ホストコンピューティングデバイスのリカバリに必要な様々な認証情報を格納するためのＴＰＭの使用は、ホストの不具合及び他の壊滅的事象に備えて、向上した平均修復時間を提供することができる。ホストを作業状態にするために必要な重要情報（例えば認証情報）は、ホスト上でローカルに保護されているので（例えばＴＰＭ内のキーによって保護される）、ホストコンピューティングデバイスはネットワークを通じて遠隔コンピューティングデバイスから認証情報を得る必要がなく、その結果、待ち時間を短縮しリカバリする時間を向上する。マルチテナント型のコンピューティング環境（例えばクラウドコンピューティング環境）では、ホストコンピューティングデバイスが、非常に多くの仮想マシン及び多数のユーザーに提供されるアプリケーション／サービスをホストする場合があり、これは大規模な災難及び他の予期せぬ事象からリカバーする際に重要な要因になるかもしれない。
【０００７】
１つの実施形態に従って、ホストコンピューティングデバイスは、不具合の事象にあるホストコンピューティングデバイスによって使用される暗号化キー、デジタル証明書、トークン、または他のセキュリティ情報といった１つ以上の認証情報を格納するために設定されるＴＰＭ（または他の安全な記憶装置）を含む。ホストコンピューティングデバイスはさらに、非対称または対称暗号を用いて暗号化されるかもしれないリカバリイメージを含む。リカバリイメージは、ホストが不具合後に再起動する際にホストコンピューティングデバイスをリカバーするために必要な機能性（例えばオペレーティング・システム、ネットワーク機能、など）を含んでいてもよい。リカバリイメージは基本入出力システム（ＢＩＯＳ）の暗号化された部分またはホストコンピューティングデバイスの他のファームウェアであってもよい。リカバリイメージを暗号化するために使用される暗号化キーは、ホストコンピューティングデバイスのＴＰＭ上に安全に格納（例えば保護）されてもよい。いくつかの実施形態では、ＴＰＭに格納されたキーは他のキーを暗号化するために使用されてもよく、他のキーはリカバリイメージを暗号化するために使用される。他の実施形態では、ＴＰＭに格納されたキーはリカバリイメージを直接暗号化するために使用される場合がある。停電、ネットワーク障害、または他の災難といった大規模事象の間に、ホストコンピューティングデバイスがさもなければ通常動作時に実行されるシャットダウン手順を円滑に行うことができないように異常終了または突然終了するかもしれない。そのような事象の後でホストコンピューティングデバイスを起動（例えば再起動）する時、基本入出力システム（ＢＩＯＳ）またはホストコンピューティングデバイス上の他のファームウェアは１セットの状態を分析して、予期せぬ不具合が起こり得たことを判断してもよい。もしそのような障害が検知された場合、ファームウェアはＴＰＭに格納された（前に記述のあるように）暗号化キーを用いてリカバリイメージを解読し、ホストコンピューティングデバイスのメモリにリカバリイメージを読み込んでもよい。一度リカバリイメージがアップロードされ起動すると、ＴＰＭは、ＴＰＭ上に安全に格納された１つ以上の認証情報にアクセス可能なリカバリイメージを提供してもよい。リカバリイメージはその後ホストコンピューティングデバイス上で様々なサービスを起動するためにそれらの認証情報を使用し、ネットワーク上の他のデバイスにホストコンピューティングデバイスを認証し、機能性及びホストコンピューティングデバイスの状態を復元するために他のタスクを実行してもよい。
【０００８】
他の実施形態に従って、一度リカバリイメージがホストコンピューティングデバイス上に読み込まれると、ＴＰＭはリカバリイメージの起動ファームウェア測定を実行してもよい。起動ファームウェア測定はＴＰＭ内に格納されてもよい。その後ホストコンピューティングデバイスの遠隔認証を実行するために記録された起動ファームウェア測定を使用してもよい。例えば、ホストコンピューティングデバイスがリカバリモードの時、様々な外部デバイス（例えば中央管理サーバーなど）が、ホストの機能性を正常に戻すためにホストコンピューティングデバイスとの通信を必要とする場合がある。これらの通信はしばしば認証情報及び信頼できない環境に漏洩されるべきでないその他の機密情報を含む。従って、遠隔デバイスは信頼できるリカバリモードソフトウェアがホストに読み込まれているか、かつそれがリカバリイメージとしてなりすましている悪意あるソフトウェア（例えばマルウェア）でないか、ということを確実にする必要がある場合がある。よって、リカバリイメージを証明するようＴＰＭに要求する遠隔デバイス（例えば中央サーバーなど）からクエリが届いた時、ＴＰＭは公開鍵基盤（ＰＫＩ）を用いてリカバリイメージの起動ファームウェア測定を保護（例えば暗号化、サイン、など）し、起動ファームウェア測定を遠隔デバイス（例えば中央管理サーバーなど）に安全に送信してもよい。遠隔デバイスは起動ファームウェア測定を受け取り、ホストに読み込まれたリカバリイメージが破損していなかったことを証明することができるよう期待される基準値と比較してもよい。一度遠隔デバイスがリカバリイメージを証明することができると、ホストコンピューティングデバイスのリカバリを実行するために、機密認証情報を含む様々な情報をホストに送信し始めてもよい。
【０００９】
図１は、様々な実施形態に従い、ホストコンピューティングデバイス上のＴＰＭまたは他の安全な記憶装置のプロビジョニングの実施例１００を示す。図に示されるように、ホストコンピューティングデバイス上のＴＰＭといった安全な記憶装置を設定するために、分散コンピューティング環境１０１にて動作する遠隔サーバー１０２（例えば信頼されたホストコンピューティングデバイス、中央管理サーバー、など）は、環境１０１にある全てのホストコンピューティングデバイス（１０３、１０４、１０５）のために主要データを分配してもよい。認証情報の分配はホストコンピューティングデバイスの通常動作中に行ってもよい。あるいは、ホストコンピューティングデバイスはホスト上のＴＰＭを設定するためにインターネット接続を遮断して実行してもよい。示された実施形態では、各ホストコンピューティングデバイス（１０３、１０４、１０５）は、ホスト上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）と情報をやりとりするローカルホスト上で動作するファームウェア・コンポーネント（例えばＢＩＯＳ）を含む。例えば、ホストコンピューティングデバイス１０３はＴＰＭ１０９と情報をやりとりするファームウェア・コンポーネント１０６を含み、同時にホストコンピューティングデバイス１０４はＴＰＭ１１０と情報をやりとりするファームウェア・コンポーネント１０７を含み、ホストコンピューティングデバイス１０５はＴＰＭ１１１と情報をやりとりするファームウェア・コンポーネント１０８を含む。
【００１０】
様々な実施形態では、ステージを設定するＴＰＭはＴＰＭへと機密（認証情報、キーなど）を実際に配置するＴＰＭのオーナー（すなわち、パスワードを介してＴＰＭ上に認証情報を格納することを許可された者）を含む。このステージの間に、（リカバリ段階の間に使用される）認証情報はＴＰＭへ設定される。ＴＰＭが設定された後、ホストをリカバリする間に使用される認証情報はＴＰＭ内で保護される。
【００１１】
示された実施形態では、ファームウェア・コンポーネントと各ホストコンピューティングデバイス上のＴＰＭの間に認証プロセスがあってもよい。さらに、遠隔サーバー１０２は、例えばホスト上のファームウェアとセッションする安全な通信の確立などによってホストコンピューティングデバイス上で動作するファームウェアへ遠隔サーバー１０２自身を認証してもよい。一度認証が成功すると、遠隔サーバー１０２は認証情報（１１２、１１３、１１４）または他のセキュリティデータをホストコンピューティングデバイス上のファームウェア・コンポーネントに送信してもよく、ファームウェア・コンポーネントは認証情報をホスト上のＴＰＭ内にローカルに格納させてもよい。例えば、遠隔サーバー１０２はファームウェア・コンポーネント１０６に認証情報１１２を送信してもよく、それにより認証情報１１２をＴＰＭに格納させる（例えばＴＰＭ上に保護させる）。同様に、遠隔サーバー１０２は、ファームウェア１０７に認証情報１１３を、ファームウェア１０８に認証情報１１４を送信し、それにより認証情報をＴＰＭ１１０と１１１にそれぞれ格納させる。
【００１２】
様々な実施形態では、認証情報はホストコンピューティングデバイス上に格納されてもよく、ＴＰＭモジュールがホストコンピューティングデバイス上の適切な場所にあった場合に限り認証情報が解読されるように暗号化される。ＴＰＭに格納された認証情報は、任意の暗号化キー、暗号化／復号キー、デジタル証明書、およびリカバリモード時にホストコンピューティングデバイスが使用する他のセキュリティトークンを含んでもよい。少なくともいくつかの実施形態では、ＴＰＭに格納された認証情報は、不具合発生時にホストコンピューティングデバイス上に格納されるリカバリイメージを解読するために使用される１セットのキーを含んでもよい。
【００１３】
一度認証情報がホストコンピューティングデバイス上のＴＰＭにローカルに安全に保護されると、それらの認証情報は大規模事象（停電、ネットワーク障害など）からホストコンピューティングデバイスをリカバーするために使用されてもよい。これはホストコンピューティングデバイスが、ホストの状態を再構成し機能を正常に開始するためにネットワーク上の他のホストと通信可能になることをホストが信頼しなければならないように、ＴＰＭに格納された機密情報からホストコンピューティングデバイスの状態（またはその一部）を再構成することを有効にする。その代わりに、各ホストコンピューティングデバイスはその機密情報をローカルにＴＰＭに保護されて格納でき、ローカルホスト上で動作するロジックは、停電などによって失われた状態を再構成するために構成されてもよい。いくつかの実施形態では、ホストコンピューティングデバイスにおける状態の再構成は基本的重大機能性を再構成してもよく、例えばホストコンピューティングデバイスが遠隔管理サーバー等他のホストコンピューティングデバイスと通信することを可能にするネットワーク機能などである。
【００１４】
いくつかの実施形態では、ＴＰＭ内に保護された認証情報を用いることによってリカバーされる場合のあるホストコンピューティングデバイスは、他のネットワークデバイスを監視する責任のあるホストである。これらのホストはスイッチ及びルーターと通信してトラフィック・フロー等を評価するために認証情報が必要な場合がある。よって、ホストコンピューティングデバイスは様々なエンティティに対してそれらの正常機能を実行するためにホストコンピューティングデバイス自身を証明する必要がある場合がある。いくつかの実施形態では、ホストコンピューティングデバイスは、リカバリモード時にネットワーク上の当該認証を実行するために、ＴＰＭ内に保護された認証情報を使用してもよい。
【００１５】
さらに、または別の方法では、ホストコンピューティングデバイスは不具合からリカバーする場合に限らず、通常動作中であってもＴＰＭ上にローカルに保護されたキー／認証情報を同様に使用してもよい。従って、ホストコンピューティングデバイスはＴＰＭ内に保護された認証情報を使用してネットワーク上の他のホスト（ルーター、記憶ホストなど）に自分自身を証明し、それらの通常機能性を実行することができる。
【００１６】
図２は様々な実施形態に従い、リカバリモードにおけるホストコンピューティングデバイスの実施例２００を示す。図に示されるように、ホストコンピューティングデバイス２０１は、基本入出力システム（ＢＩＯＳ）またはホストコンピューティングデバイス２０１が通常動作モードとリカバリモードのどちらであるべきかを決定する他のファームウェア・コンポーネント２０２を含む。いくつかの実施形態では、ホストコンピューティングデバイス２０２がリカバリモードであるべきかどうかを決定する、ファームウェア２０２に組み込まれた１セットの状態２０８があってもよい。ファームウェアは最近異常な電力事象等があったかどうかを確認してみるためにそれらの状態を分析できた。例えば、ファームウェア２０２は事前設定された１組の他のホストコンピューティングデバイスに対してネットワーク接続確認を試みてもよく、接続が確認されない場合、ファームウェア２０２はなんらかの大規模な不具合があったと仮定し、リカバリモードに入ることができる。あるいは、ファームウェア２０２は環境に不可欠だと見なされる特定の遠隔システムにコンタクトすることを試みてもよく、コンタクトが確立できない場合、ファームウェア２０２は大規模な不具合があったと仮定してもよい。さらに、ホストコンピューティングデバイスは大規模な事象が起きた際に検知するようにネットワーク上の他のホストコンピューティングデバイスによって提供されるハートビート情報を聴取してもよい。
【００１７】
一度ホストコンピューティングデバイスがリカバリモードになると、ファームウェア２０２はリカバリイメージ２０４を解読するためにＴＰＭ２０３内の復号キーを使用することができ、ホストコンピューティングデバイス２０１のメモリにリカバリイメージ２０４を読み込むことができる。いくつかの実施形態では、復号キー２０６は、ホストコンピューティングデバイス２０１上のリカバリイメージ２０４を解読するために同様に使用される他のキー（例えば中間復号キー）を解読するために使用されてもよい。他の実施形態では、復号キー２０６はリカバリイメージ２０４を解読するために直接使用されてもよい。リカバリイメージ２０４は、不具合を受けたホストコンピューティングデバイス２０１の状態を修復するために必要な機能性を含むファームウェア２０２の暗号化された一部であり得る。通常動作の間、リカバリイメージ２０４は解読されず、ファームウェア２０２が停電、異常終了または他の事象があったことを検知した場合に限り、リカバリイメージ２０４はＴＰＭ２０３内に保護された復号キー２０６を用いることによって解読される。
【００１８】
いくつかの実施形態では、ＴＰＭ２０３は起動ファームウェア測定２０５を得るため及びＴＰＭ２０３上に起動ファームウェア測定２０５を記録するための機能をさらに含む。起動ファームウェア測定は、所定のメモリアドレスレンジのハッシングにより、及びＴＰＭ２０３内にハッシュを格納することにより、実行されてもよい。例えば、起動ファームウェア測定２０５は、ファームウェア２０２またはリカバリイメージ２０４等に関連するメモリアドレスのために得られてもよい。その後、起動ファームウェア測定２０５は、ファームウェア２０２の正しいバージョンまたはリカバリイメージ２０４がデバイス上に読み込まれること及びそれらがマルウェアや他のセキュリティ脅威により破損されていないことを検証するために使用されてもよい。
【００１９】
１つの実施形態では、リカバリモード時にリカバリイメージ２０４を解読するために、ホストコンピューティングデバイスは以下のプロセスを実行する。ホストコンピューティングデバイス２０２がリカバリモードにあるとファームウェア２０２が検知した場合、ＴＰＭ２０３はファームウェア２０２の起動ファームウェア測定２０５を最初に取得し、ファームウェア２０２が破損していないことを検証する。一度ファームウェア２０２が検証されたら、ＴＰＭ２０３は認証情報（例えば復号キー２０６）の第一セットをファームウェア２０２へ開放し、そこで認証情報の第一セットは暗号化されたリカバリイメージ２０４を解読するために使用される。ファームウェア２０２は復号キー２０６を取得し、リカバリイメージ２０４を解読し、ホストコンピューティングデバイスのメモリへリカバリイメージ２０４を読み込む。その後、ＴＰＭ２０３はデバイス上で読み取られたリカバリイメージ２０４の起動ファームウェア測定を取得してもよく（例えばリカバリイメージに関連するメモリアドレスのハッシングによって）、リカバリイメージ２０４が破損していないことを検証してもよい。リカバリイメージ２０４が、自身の起動ファームウェア測定を確認することによって検証される場合、ＴＰＭ２０３は、リカバリイメージがネットワーク上の他のデバイスに自身を認証することによって使用される場合がある認証情報２０７の第二セットを開放することができ、ホストコンピューティングデバイス２０１上で様々な他のサービスを起動でき、またはさもなければホストコンピューティングデバイス２０１の機能性を修復することができる。
【００２０】
このように、示された実施形態では、ＴＰＭ２０３は、（ａ）ファームウェア２０２及び／またはリカバリイメージ２０４の起動ファームウェア測定２０５；（ｂ）ホストコンピューティングデバイスがリカバリモード時にリカバリイメージ２０４を解読するために使用される１セットの認証情報２０７；（ｃ）他のデバイスと通信し、ホストコンピューティングデバイス２０１へ機能性を修復するようにホストコンピューティングデバイス２０１及びリカバリイメージ２０４によって使用される場合がある認証情報２０７の第二セット、を格納してもよい。
【００２１】
図３は様々な実施形態に従い、遠隔コンピューティングデバイスへホストコンピューティングデバイスの遠隔認証を実行するＴＰＭの実施例３００を示す。
【００２２】
大規模事象の後で、ホストコンピューティングデバイスのリカバリ実行を試みる時、リカバリイメージ３０２を用いてホストコンピューティングデバイス３０１を起動し、リカバリイメージ３０２が遠隔ホストコンピューティングデバイス３０５といったネットワーク上の遠隔デバイスと通信できるように、正常に実装された信頼のおけるセキュリティアクセスコントロールを控える必要がある場合がある。しかしながら、リカバリイメージ３０２が信頼のおけないマシンに読み込まれた場合、信頼のおけないマシンに与えられるべきでない権限を与える場合がある。
【００２３】
様々な実施形態では、ＴＰＭ３０３は、起動ファームウェア測定及び遠隔認証機能を含み、かつ、この認証機能は、リカバリイメージが読み込まれるホストコンピューティングデバイス３０１を検証するために使用できる。これは、いかなる未承認ホストも、リカバリイメージになりすましたり、機密認証情報または他の個人情報へのアクセスを可能にすることができないことを保証できる。一度ＴＰＭ３０３が遠隔でホストコンピューティングデバイス３０１を証明すると、遠隔ホストコンピューティングデバイス３０５は、ホストコンピューティングデバイス３０１にそういった認証情報及び他の機密情報を含むメッセージを送信し始めてもよい。
【００２４】
示された実施形態では、ホストコンピューティングデバイス３０１の遠隔認証を実行するために、ＴＰＭ３０３は、ホストコンピューティングデバイス３０１上に読み込まれたリカバリイメージ３０２の起動ファームウェア測定３０４を最初に取得してもよい。このリカバリイメージ３０２は認証情報を有してもよく、及び／または通常のオペレーティング・システム・イメージが実行することを許可されない信頼できる機能を実行できてもよい。ホストコンピューティングデバイス３０１がリカバリモードにあり、リカバリイメージ３０１を起動する時、起動ファームウェア測定３０４（例えばリカバリイメージに関連するハッシュ値測定）は、ＴＰＭ３０３へ記録されることができる。その後、遠隔ホストコンピューティングデバイス３０５といったネットワーク上のいかなるホストもリカバリモードのホストコンピューティングデバイス３０１との通信を望む時は、遠隔ホストコンピューティングデバイス３０５は、ホストコンピューティングデバイス３０１の遠隔認証を要求するため、ＴＰＭ３０３へクエリを行う。ＴＰＭ３０３は、ホストコンピューティングデバイス３０１が実際にリカバリイメージ３０４を実行していることを遠隔ホストコンピューティングデバイス３０５が確認するために、ＴＰＭ３０３の遠隔認証機能を使用するだろう。例えば、遠隔認証を実行するように、ＴＰＭ３０３は、公開鍵基盤（ＰＫＩ）を用いて起動ファームウェア測定３０４を保護してもよく（例えば起動ファームウェア測定を暗号化することやそれにサインすることなどによって）、遠隔ホストコンピューティングデバイス３０５へ保護された測定３０４を送信してもよい。遠隔ホストコンピューティングデバイス３０５は、起動ファームウェア測定３０４を受け取り、測定の署名を解読及び／または検証し、それから測定３０４が有効なリカバリイメージの参照値に適合することを検証してもよい。検証が成功した場合、その結果遠隔ホストコンピューティングデバイス３０５は、ホストコンピューティングデバイス３０１がリカバリイメージ３０１を実行していることの確度を持つことができる。一度証明が済めば、遠隔ホストコンピューティングデバイス３０５は、ホストコンピューティングデバイス３０１へ機密情報を送信し始めてもよい。
【００２５】
図１〜３における各実施例は、トラステッド・プラットフォーム・モジュール（ＴＰＭ）を利用するものとして示されるが、これは、ここに記載される実施形態の全てで要求しないということに注意する。様々な代替の実施形態では、他のタイプの安全な記憶装置は、ホストコンピューティングデバイスのための認証情報（例えば暗号化キー、デジタル証明書など）を格納するために利用されてもよい。例えば、ホストコンピューティングデバイスのプロセッサは、認証情報格納専用のプロセッサ内に１つ以上の安全なレジスタを実装することなどによって安全な記憶装置を含むことができる。
【００２６】
図４は様々な実施形態に従い、サービスプロバイダのリソースセンター環境またはホストコンピューティングデバイスを含む場合のあるマルチテナント・コンピューティング環境の他のオペレーターの実施例４００を示す。示された実施形態では、サービスプロバイダ（例えばクラウドコンピューティングリソースプロバイダ）は、サービスプロバイダの物理リソース（例えばホストコンピューティングデバイスなど）を格納する１つ以上のリソースセンター４２３（例えばデータセンター、サーバーファームなど）を維持できる。これらの物理リソースは、インターネットといったネットワーク４０２上のユーザー４０１に供給され得る、多数の仮想マシン・インスタンスまたは仮想サーバーをホストするために使用されてもよい。例えば、ユーザーがサービスプロバイダの物理リソースを用いてアプリケーションを実行したい時は、アプリケーションの展開及び実行に使用される仮想マシンをユーザーに提供することをサービスプロバイダに要求してもよい。ユーザーのアプリケーション要求が増加するので、ユーザーは、負荷のバランスを取るために提供される仮想マシンをより多く要求し、１つ以上の仮想プライベート・ネットワーク（ＶＰＮ）等の作成を要求できる。ユーザー（例えば顧客）に提供されるこれらのリソースの全てへのアクセスは、前に記述の通り、ユーザーが指定した１つ以上のセキュリティポリシーを用いることによってコントロールされてもよい。
【００２７】
示された実施例では、サービスプロバイダのリソースセンター４２３はホストコンピューティングデバイス（４０６、４０７，４０８，４０９，４１０）の１つ以上のラック４２１、４２２を含んでもよく、そこにおいて特定のラック上の各ホストコンピューティングデバイスは、単一のトップ・オブ・ラック（ＴＯＲ）スイッチ（４０４、４０５）に接続する。これらのＴＯＲスイッチは、ホストコンピューティングデバイスをネットワークに接続させる１つ以上の他のスイッチ（４２４、４２５）にさらに接続されてもよい。この開示の全てで使用する時は、ネットワークは、互いに通信することができるデバイスの任意の有線または無線ネットワークであり得、限定はされないが、インターネットまたは他の広域ネットワーク（ＷＡＮ）、セルラーネットワーク、ローカルエリア・ネットワーク（ＬＡＮ）ストレージ・エリア・ネットワーク（ＳＡＮ）、インターネット、エクストラネット等を含む。リソースセンターは、データセンター、サーバーファーム、コンテンツ配信ネットワーク（ＣＤＮ）ポイント・オブ・プレゼンス（ＰＯＰ）等といったリソースの任意の物理または論理グループをも含むことができる。
【００２８】
１つの実施形態に従って、各ホストコンピューティングデバイスは、顧客のための様々なアプリケーション及びサービスを実行するためにサービスプロバイダの顧客に提供されてきた１つ以上の仮想マシン・インスタンス（４１３、４１４、４１５、４１６、４１７、４１８、４１９、４２０）をホストすることができる。各仮想マシンは、カーネル、ドライバ、プロセス管理等を含む仮想マシン自身のオペレーティング・システム（ＯＳ）を提供されることができる。
【００２９】
顧客が仮想マシン・インスタンスを取得することを望む時は、顧客は、使用を望むＶＭのタイプを示すサービスプロバイダへの要求を最初に提示できる。サービスプロバイダは、サービスプロバイダの物理リソース（例えばホストコンピューティングデバイス）上にホストされる仮想マシン・インスタンスをプロビジョニングするプロセスを実行してもよい。仮想マシン・インスタンスは、その後、サービスプロバイダのリソースを利用して、顧客のために様々なアプリケーション及びサービスを実行するために使用されることができる。
【００３０】
前に記述の通り、少なくとも（または全ての）ホストコンピューティングデバイス（４０６、４０７、４０８、４０９、４１０、４１１）は不具合の事象にあるホストコンピューティングデバイスをリカバーするために使用される認証情報の格納を可能にするＴＰＭを含んでもよい。それらの認証情報は、ホストコンピューティングデバイスが他のホストコンピューティングデバイスに自分自身を認証し、様々なサービスを起動し、さもなければ各ホストコンピューティングデバイスの状態及び機能性を安全に修復できるよう使用されてもよい。
【００３１】
図５は様々な実施形態に従い、ホストコンピューティングデバイスをリカバーするために使用されるＴＰＭ上に認証情報を格納するための実施例プロセス５００を示す。この図は特定の順番での機能的動作を描写しているかもしれないが、プロセスは、示された特定の順序または動作に限定する必要はない。当業者は、ここまたは他の図で描かれた様々な動作を同時に変更でき、再配置でき、実行でき、または様々な方法で適応できることを理解するであろう。さらに、様々な実施形態の要旨を逸脱しない範囲で、特定の動作または動作の順番をプロセスに追加またはプロセスから除外できることが理解されるべきである。加えて、ここに含まれるプロセス図は、当業者に、コード実行の実際の順番を明記するよりも、プロセスフローのアイデアを明示することを目的としており、それらは異なるフローまたは順番として実装され、性能を最適化し、または様々な方法で他の修正をされてもよい。
【００３２】
動作５０１では、ホストコンピューティングデバイス上のＴＰＭは１つ以上の認証情報を格納するためにプロビジョニングされる。ＴＰＭのプロビジョニングは、ホストコンピューティングデバイスの通常動作中に起きてもよい。あるいは、ＴＰＭのプロビジョニングは、ホストコンピューティングデバイスをオフラインにし、ＴＰＭをプロビジョニングすることによって実行されてもよい。この認証情報は、ホストコンピューティングデバイスがリカバリモードに入る事象中にホストコンピューティングデバイス上のリカバリイメージを解読するために使用される場合がある暗号化キーを含んでもよい。加えて、ＴＰＭ上に格納された認証情報は、他の暗号化キー、証明書、及びホストコンピューティングデバイスに自身の機能性及び状態のリカバリを実行可能にさせる他のセキュリティ情報を含んでもよい。
【００３３】
動作５０２では、ホストコンピューティングデバイスが起動される。例えば、ホストコンピューティングデバイスの起動は、ホストコンピューティングデバイスを異常終了させる停電やその他の壊滅的事象の後で実行されてもよい。動作５０３では、ホストコンピューティングデバイス起動の間に、ホストコンピューティングデバイス上で動作するファームウェア（例えばＢＩＯＳ）は、１セットの状態を分析して、最近（すなわちホストコンピューティングデバイスの起動前に）不具合が起こり得たことを判断してもよい。
【００３４】
動作５０４では、ホストコンピューティングデバイス上で動作するファームウェアは、ホストコンピューティングデバイス上のＴＰＭから受け取った復号キーを用いてホストコンピューティングデバイス上のリカバリイメージを解読する。前に記述の通り、ＴＰＭから回収した復号キーは、他のキー（例えば暗号化された中間キー）を解読するために使用されてもよく、他のキーはリカバリイメージを解読するために使用される。リカバリイメージは、状態修復、ネットワーク上の他のデバイスとの通信等といったホストコンピューティングデバイスのリカバリを実行するために必要な機能性を含むシステムイメージであってもよい。１つの実施形態では、ファームウェアに復号キーを提供する前に、ＴＰＭは、ファームウェアが破損していないことを証明するためにホストコンピューティングデバイス上で動作するファームウェアの起動ファームウェアイメージを最初にチェックしてもよい。ファームウェアが検証された場合、ＴＰＭは、ファームウェアに復号キーを提供し、ファームウェアは、リカバリイメージを解読するためにキーを利用してもよい。
【００３５】
動作５０５では、一度リカバリイメージが解読されると、リカバリイメージはホストコンピューティングデバイスのメモリへと読み込まれる。一度リカバリイメージが読み込まれると、ＴＰＭは、リカバリイメージがＴＰＭ内に保護された１つ以上の認証情報へアクセスすることを可能にする。リカバリイメージは、ホストコンピューティングデバイスのリカバリを実行するためにそれらの認証情報を使用してもよい。いくつかの実施形態では、リカバリイメージに認証情報を提供するより前に、ＴＰＭは、前に記述の通り、読み込まれたリカバリイメージの起動ファームウェア測定を証明してもよい。
【００３６】
図６は様々な実施形態に従い、ＴＰＭによってホストコンピューティングデバイスの遠隔認証を実行するための実施例プロセス６００を示す。動作６０１では、リカバリイメージは、上に記述の通り、ホストコンピューティングデバイスのメモリへと読み込まれる。動作６０２では、ＴＰＭは、ホストコンピューティングデバイス上で実行するリカバリイメージの起動ファームウェア測定を取得してもよい。例えば、起動ファームウェア測定は、リカバリイメージに関連するメモリアドレスのハッシングによって取得されてもよい。起動ファームウェア測定はその後、動作６０３に示されるように、ＴＰＭ上に記録される。
【００３７】
動作６０４では、ＴＰＭはホストコンピューティングデバイス上で動作するリカバリイメージの認証を行うためのクエリを受け取る。クエリは、信頼されたホスト、中央サーバー等といった遠隔ホストコンピューティングデバイスから受け取られてもよい。要求に応じて、ＴＰＭはホストコンピューティングデバイスの認証を行ってもよい。例えば、動作６０５で示されるように、ＴＰＭに格納された起動ファームウェア測定は、ホストコンピューティングデバイスの認証に使用されるために遠隔デバイスに送信されてもよい。いくつかの実施形態では、起動ファームウェア測定は秘密鍵を用いてのみ解読できる公開鍵を用いて暗号化される。他の実施形態では、起動ファームウェア測定は、秘密鍵を用いて署名されてもよく、そこで起動ファームウェア測定の署名は公開鍵を用いて検証されてもよい。いずれにしても、遠隔ホストコンピューティングデバイスは、起動ファームウェア測定を受け取り、ホストコンピューティングデバイス上で動作するリカバリイメージが破損していないことを証明するために起動ファームウェア測定を検証／解読し、使用してもよい。
【００３８】
本開示の実施形態は以下の項目を考慮して記述できる。  
１．実行可能な命令により構成された１つ以上のコンピューターシステムの制御下で、
暗号化キーを含む１つ以上の認証情報を格納するために、ホストコンピューティングデバイスを再起動する前記暗号化キーを用いて解読することができる、暗号化されたリカバリイメージを含む前記ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）をプロビジョニングすること、
前記ホストコンピューティングデバイスを再起動すること、
再起動中に、１セットの状態に基づき、前記ホストコンピューティングデバイスを再起動する前に前記ホストコンピューティングデバイス上で起こり得た不具合を判断すること、
前記暗号化キーを用いることで前記ホストコンピューティングデバイス上の前記リカバリイメージを解読すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイス上で動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で１つ以上のサービスを開始するために使用される、前記ＴＰＭに格納された前記１つ以上の認証情報にアクセスできるようにすること、
前記安全な記憶装置に格納された前記情報を用いてホストリカバリを実行すること、とを含むコンピューター実装された方法。  
２．前記ホストコンピューティングデバイス上の前記ＴＰＭをプロビジョニングすることは、さらに、前記ホストコンピューティングデバイス上で動作するファームウェアによって、遠隔ホストコンピューティングデバイスから前記１つ以上の認証情報を受け取ること、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアから前記ＴＰＭ内へ前記１つ以上の認証情報を格納すること、
とを含む項１に記載の方法。  
３．前記ホストコンピューティングデバイス上で動作する前記リカバリイメージがＴＰＭに格納された前記１つ以上の認証情報へのアクセスを可能にすることは、
前記ＴＰＭによって読み込まれた前記リカバリイメージの起動ファームウェア測定を取得すること、
取得された前記起動ファームウェア測定に基づいて、前記リカバリイメージの正しいバージョンが読み込まれたことをＴＰＭによって検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージが前記１つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、項１に記載の方法。  
４．実行可能な命令により構成された１つ以上のコンピューターシステムの制御下で、
安全な記憶装置に格納された１つ以上の認証情報を利用できるリカバリイメージを含有するホストコンピューティングデバイス上で、前記ホストコンピューティングデバイスの前記安全な記憶装置に前記１つ以上の認証情報を格納すること、
前記ホストコンピューティングデバイスを再起動すること、
再起動中に、前記ホストコンピューティングデバイスを再起動する前に前記ホストコンピューティングデバイス上で不具合が起こり得たかを判断すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイスで動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で１つ以上のサービスを開始するために使用される、前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすること、とを含むコンピューター実装された方法。  
５．前記安全な記憶装置に格納された前記認証情報は、
第二暗号化キーを解読するために使用できる第一暗号化キー、
リカバリイメージを解読するために使用できる前記第二暗号化キー、
とをさらに含む、項４に記載の方法。  
６．前記安全な記憶装置に格納された前記認証情報はさらに、前記リカバリイメージを解読するために使用される暗号化キーからなる、項４に記載の方法。  
７．不具合が前記ホストコンピューティングデバイス上で起こり得たかを判断することは、１セットの状態を分析して、前記１セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作する前記ファームウェアによって実行される、項４に記載の方法。  
８．前記リカバリイメージを読み込むことは、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、ホストコンピューティングデバイス上で動作するファームウェアを検証すること、
前記暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記ホストコンピューティングデバイス上に読み込むこととをさらに含む、項７に記載の方法。  
９．前記ホストコンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得することと、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記１つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、項４に記載の方法。  
１０．前記ホストコンピューティングデバイスは、
遠隔ホストコンピューティングデバイスから前記１つ以上の認証情報を受け取ること、
受け取った前記１つ以上の認証情報を前記安全な記憶装置に格納すること、
とをさらに含む、項４に記載の方法。  
１１．前記安全な記憶装置は、前記ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）である、項４に記載の方法。  
１２．前記ホストコンピューティングデバイスは、ユーザーのためにプロビジョニングされた１つ以上の仮想マシンをホストし、前記１つ以上の仮想マシンは、ネットワーク上のユーザーがアプリケーション・プログラミング・インターフェース（ＡＰＩ）を用いることでアクセスが可能な少なくとも１つのアプリケーションを実行する、項４に記載の方法。  
１３．前記ホストコンピューティングデバイスは、前記ホストコンピューティングデバイスをネットワーク通信を通して、１つ以上の遠隔デバイスに認証するための前記１つ以上の認証情報を使用するように構成される、項４に記載の方法。  
１４．安全な記憶装置と、
少なくとも１つのプロセッサと、
メモリとを含むコンピューティングデバイスであって、前記メモリは命令を含有し、前記命令は、前記少なくとも１つのプロセッサによって実行される時に前記コンピューティングデバイスに、
前記安全な記憶装置内に１つ以上の認証情報を格納させ、
前記コンピューティングデバイスを起動させ、
起動中に、１セットの状態に基づき前記コンピューティングデバイスの再起動前にコンピューティングデバイスに不具合が起こり得たかを判断させ、
前記リカバリイメージを前記コンピューティングデバイスの前記メモリへ読み込ませ、
前記リカバリイメージを、前記コンピューティングデバイス上で１つ以上のサービスを開始するために使用する、前記安全な記憶装置に格納された１つ以上の認証情報にアクセスできるようにさせる、コンピューティングデバイス。  
１５．不具合が前記コンピューティングデバイス上で起こり得たかを判断することは、１セットの状態を分析して、前記１セットの状態の少なくとも一部に基づき、前記コンピューティングデバイスが異常終了したことを判断するために構成された、前記コンピューティングデバイス上で動作するファームウェアによって実行される、項１４に記載のコンピューティングデバイス。  
１６．前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記コンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記コンピューティングデバイス上に読み込むこと、とを含む、１５に記載のコンピューティングデバイス。  
１７．前記コンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記１つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、項１４に記載のコンピューティングデバイス。  
１８．前記メモリは、少なくとも１つ以上のプロセッサによって実行されて、
前記コンピューティングデバイスに、遠隔ホストコンピューティングデバイスから前記１つ以上の認証情報を受け取らせ、
受け取った前記認証情報を前記安全な記憶装置に格納させる命令を、
さらに包含する、項１４に記載のコンピューターデバイス。  
１９．前記安全な記憶装置は、コンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）である、項１４に記載のコンピューターデバイス。  
２０．１つ以上のプロセッサが、
安全な記憶装置に格納された１つ以上の認証情報を利用できるリカバリイメージを含むホストコンピューティングデバイス上の安全な記憶装置内に１つ以上の認証情報を格納し、
ホストコンピューティングデバイスを再起動し、
起動中に、ホストコンピューティングデバイスの再起動前に不具合が起こり得るかを判断し、
リカバリイメージをホストコンピューティングデバイスに読み込み、かつ、
ホストコンピューティングデバイス上で動作するリカバリイメージをホストコンピューティングデバイス上で１つ以上のサービスを開始するために使用される、安全な記憶装置に格納された１つ以上の認証情報にアクセスできるようにするよう、１つ以上のプロセッサが実行する、１つ以上の命令シーケンスを格納する、非一時的なコンピューター可読メディア。  
２１．不具合が前記コンピューティングデバイス上で起こり得たかを判断することは、１セットの状態を分析して、前記１セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作するファームウェアによって実行される、項２０に記載の非一時的なコンピューター可読メディア。  
２２．前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記ホストコンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記ホストコンピューティングデバイス上に読み込むこと、とをさらに含む、項１９に記載の非一時的なコンピューター可読メディア。  
２３．ホストコンピューティングデバイス上で動作するリカバリイメージを前記安全な記憶装置に格納された前記１つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたかを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたという判断に応じてリカバリイメージを１つ以上の認証情報にアクセスできるようにすること、とをさらに含む、項２０に記載の非一時的なコンピューター可読メディア。  
２４．１つ以上のプロセッサによって実行された時に、前記１つ以上のプロセッサによって、前記ホストコンピューティングデバイスが、遠隔ホストコンピューティングデバイスから前記１つ以上の認証情報を受け取り、受け取った前記１つ以上の認証情報を前記安全な記憶装置へ格納する命令をさらに含む、項２０に記載の非一時的なコンピューター可読メディア。  
２５．ホストコンピューティングデバイスを検証するために、実行可能な指示により構成された１つ以上のコンピューターシステムの制御下で、
起動時間より前に前記ホストコンピューティングデバイスに異常な不具合が起こり得たかを検知するために、ホストコンピューティングデバイスの起動時間中に１つ以上の状態を分析すること、
異常な不具合が起こり得たことの検知に応じて、ホストコンピューティングデバイス上の状態の少なくとも一部分を修復するために構成された前記リカバリイメージを前記ホストコンピューティングデバイス上に読み込むこと、
ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）によって、読み込まれた前記リカバリイメージの起動ファームウェア測定を取得すること、
ホストコンピューティングデバイス上のＴＰＭに前記起動ファームウェア測定を記録すること、
ホストコンピューティングデバイス上に読み込まれた前記リカバリイメージの認証を実行する要求を、遠隔ホストコンピューティングデバイスからＴＰＭへ受け取ること、
ＴＰＭに記録された前記起動ファームウェア測定の少なくとも一部分に基づき前記リカバリイメージを前記遠隔コンピューティングデバイスに認証すること、とを含むコンピューター実装された方法。  
２６．前記リカバリイメージの認証は、
少なくとも１つの暗号化キーを用いてＴＰＭによって前記起動ファームウェア測定を暗号化すること、
前記暗号化した起動ファームウェア測定を前記遠隔コンピューティングデバイスに送信すること、とをさらに含み、
前記遠隔コンピューティングデバイスは、前記起動ファームウェア測定を解読し、前記起動ファームウェア測定を使用して、前記リカバリイメージの破損していないバージョンが前記ホストコンピューティングデバイスに読み込まれたことを検証するよう構成される、項２５に記載の方法。  
２７．リカバリイメージの認証に応じて、前記リカバリイメージに埋め込まれた前記１つ以上の認証情報が、前記遠隔コンピューティングデバイスによって信頼される、項２５に記載の方法。  
２８．実行可能な命令により構成された１つ以上のコンピューターシステムの制御下で、
コンピューティングデバイスの状態の少なくとも一部分を修復するよう構成されたリカバリイメージを、前記コンピューティングデバイスの起動時間中に前記コンピューティングデバイス上へ読み込むこと、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
前記コンピューティングデバイス上の安全な記憶装置に前記起動ファームウェア測定を記録すること、
前記コンピューティングデバイス上に読み込まれた前記リカバリイメージの認証を実行する要求を、遠隔コンピューティングデバイスから受け取ること、
前記起動ファームウェア測定の少なくとも一部分に基づき、読み込んだ前記リカバリイメージを前記遠隔コンピューティングデバイスに証明すること、とを含むコンピューター実装された方法。  
２９．前記コンピューティングデバイスに読み込まれた前記リカバリイメージの認証は、
公開鍵基盤（ＰＫＩ）を使用して記録された前記起動ファームウェア測定を保護すること、
前記リカバリイメージの破損していないバージョンが前記コンピューティングデバイスに読み込まれたことを検証するため前記起動ファームウェア測定を調査する遠隔コンピューティングデバイスに、起動ファームウェア測定を送信すること、とをさらに含む、項２８に記載の方法。  
３０．読み込んだ前記リカバリイメージの認証は、前記起動ファームウェア測定と格納された参照値とを比較して、前記起動ファームウェア測定が格納された参照値と一致するかを検証することにより実行される、項２８に記載の方法。  
３１．前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、
前記コンピューティングデバイスの起動時間中に１つ以上の状態を分析すること、
前記１つ以上の状態の少なくとも一部分に基づき、前記コンピューティングデバイスを異常終了させる不具合が起きたことを検知すること、
前記コンピューティングデバイスに起きた不具合の検知に応じて、前記コンピューティングデバイス上の前記リカバリイメージを読み込むこと、とをさらに含む、項２８に記載の方法。  
３２．前記リカバリイメージが暗号化され、前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、少なくとも、
前記コンピューティングデバイス上の前記安全な記憶装置に格納された第一暗号化キーを用いて前記リカバリイメージを解読すること、または
前記安全な記憶装置に格納された前記第一暗号化キーを用いて第二暗号化キーを解読し、前記第二暗号化キーを用いて前記リカバリイメージを解読すること、のどちらか１つをさらに含む、項２８に記載のコンピューター実装された方法。  
３３．前記リカバリイメージの認証に応じて、前記リカバリイメージに埋め込まれた１つ以上の認証情報が、前記遠隔コンピューティングデバイスによって信頼される、項２８に記載の方法。  
３４．前記安全な記憶装置とは、前記コンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）である、項２８に記載の方法。  
３５．前記コンピューティングデバイスはさらに通常のオペレーティング・システム・イメージを含有し、前記リカバリイメージがコンピューティングデバイスの状態の少なくとも一部分を修復し終わった後、前記コンピューティングデバイスが再起動し、前記通常のオペレーティング・システム・イメージが前記コンピューティングデバイス上に読み込まれる、項２８に記載の方法。  
３６．前記コンピューティングデバイスは、ユーザーにプロビジョニングされた１つ以上の仮想マシンをホストし、前記１つ以上の仮想マシンは、ユーザーがアプリケーション・プログラミング・インターフェース（ＡＰＩ）を用いることでネットワークを通してアクセスが可能な１つ以上のアプリケーションを実行する、項２８に記載の方法。  
３７．安全な記憶装置、
少なくとも１つのプロセッサ、
命令を含むメモリとを含むコンピューティングデバイスであり、命令は、少なくとも１つのプロセッサによって実行される時にコンピューティングデバイスに、
前記コンピューティングデバイスの状態の少なくとも一部分を修復するために構成されたリカバリイメージを、前記コンピューティングデバイスの起動時間中に前記コンピューティングデバイスの前記メモリへと読み込ませ、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得させ、
前記起動ファームウェア測定を前記安全な記憶装置へ記録させ、
前記コンピューティングデバイス上に読み込まれた前記リカバリイメージの認証を実行するための要求を、遠隔コンピューティングデバイスから受け取らせ、
前記安全な記憶装置に格納された前記起動ファームウェア測定の少なくとも一部分に基づき、読み込んだ前記リカバリイメージを前記遠隔コンピューティングデバイスに証明させる、コンピューティングデバイス。  
３８．前記コンピューティングデバイス上に読み込まれた前記リカバリイメージの証明は、
公開鍵基盤（ＰＫＩ）を使用して前記安全な記憶装置に記録された前記起動ファームウェア測定を保護すること、かつ、
前記リカバリイメージの破損していないバージョンが前記コンピューティングデバイスに読み込まれたことを検証するために前記起動ファームウェア測定を調査する遠隔コンピューティングデバイスに、前記起動ファームウェア測定を送信すること、とをさらに含む、項３７に記載のコンピューティングデバイス。  
３９．前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、
前記コンピューティングデバイスの起動時間中に１つ以上の状態を分析すること、
前記１つ以上の状態の少なくとも一部分に基づき、前記コンピューティングデバイスを異常終了させる不具合が起きたことを検知すること、
前記コンピューティングデバイスに起きた不具合の検知に応じて、前記リカバリイメージを前記コンピューティングデバイスに読み込むこと、とをさらに含む、項３７に記載のコンピューティングデバイス。  
４０．前記リカバリイメージが暗号化され、前記リカバリイメージを前記コンピューティングデバイスに読み込むことは、少なくとも、
前記コンピューティングデバイス上の前記安全な記憶装置に格納された第一暗号化キーを用いて前記リカバリイメージを解読すること、
前記安全な記憶装置に格納された第一暗号化キーを用いて第二暗号化キーを解読し、  前記第二暗号化キーを用いて前記リカバリイメージを解読することのどちらか１つを実行することを含む、項３７に記載のコンピューティングデバイス。  
４１．前記リカバリイメージの証明に応じて、前記リカバリイメージに埋め込まれた１つ以上の認証情報が、前記遠隔コンピューティングデバイスによって信頼される、項３７に記載のコンピューティングデバイス。  
４２．前記安全な記憶装置とは、コンピューティングデバイス上のトラステッド・プラットフォーム・モジュール（ＴＰＭ）である、項３７に記載のコンピューティングデバイス。  
４３．１つ以上のプロセッサが実行して、
コンピューティングデバイスの状態の少なくとも一部分を修復するために構成されたリカバリイメージを、前記コンピューティングデバイスの起動時間中に前記コンピューティングデバイスに読み込ませ、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得させ、
前記コンピューティングデバイス上の安全な記憶装置に前記起動ファームウェア測定を記録させ、
前記コンピューティングデバイス上の読み込まれた前記リカバリイメージの認証を実行するための要求を遠隔コンピューティングデバイスから受け取らせ、
前記起動ファームウェア測定の少なくとも一部分に基づき、読み込んだ前記リカバリイメージを前記遠隔コンピューティングデバイスに対して認証させる、命令の１つ以上のシーケンスを格納する、非一時的なコンピューター可読メディア。  
４４．コンピューティングデバイス上に読み込まれた前記リカバリイメージの認証は、
公開鍵基盤（ＰＫＩ）を使用して前記安全な記憶装置に記録された前記起動ファームウェア測定を保護すること、
前記遠隔コンピューティングデバイスによって起動ファームウェア測定を調査して、前記リカバリイメージの破損していないバージョンが前記コンピューティングデバイスに読み込まれたことを検証するため、前記遠隔コンピューティングデバイスに前記起動ファームウェア測定を送信すること、とをさらに含む、項４３に記載の非一時的なコンピューター可読メディア。  
４５．前記コンピューティングデバイス上のリカバリイメージを読み込むことは、
前記コンピューティングデバイスの起動時間中に１つ以上の状態を分析すること、
前記１つ以上の状態の少なくとも一部分に基づき、前記コンピューティングデバイスを異常終了させる不具合が起きたことを検知すること、
前記コンピューティングデバイスに起きた不具合の検知に応じて、前記コンピューティングデバイス上の前記リカバリイメージを読み込むこととをさらに含む、項４３に記載の非一時的なコンピューター可読メディア。  
４６．前記リカバリイメージが暗号化され、前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、少なくとも、
前記コンピューティングデバイス上の前記安全な記憶装置に格納された第一暗号化キーを用いて前記リカバリイメージを解読すること、
前記安全な記憶装置に格納された第一暗号化キーを用いて第二暗号化キーを解読するし、前記第二暗号化キーを用いて前記リカバリイメージを解読すること、どちらか１つを実行することを含む、項４３に記載の非一時的なコンピューター可読メディア。  
４７．前記リカバリイメージの証明に応じて、前記リカバリイメージに埋め込まれた１つ以上の認証情報は、前記遠隔コンピューティングデバイスによって信頼される、項４３に記載の非一時的なコンピューター可読メディア。  
４８．コンピューティングデバイスはさらに通常のオペレーティング・システム・イメージを含有し、前記リカバリイメージが前記コンピューティングデバイスの状態の少なくとも一部分を修復し終わった後、前記コンピューティングデバイスは再起動し、前記通常のオペレーティング・システム・イメージが前記コンピューティングデバイス上に読み込まれる、項４３に記載の非一時的なコンピューター可読メディア。
【００３９】
図７はコンピューティングデバイス７００の実施例における１セットの一般的なコンポーネントの論理的配置を説明する。この実施例では、デバイスは、メモリデバイスまたはエレメント７０４に格納できる命令を実行するために、プロセッサ７０２を含む。当業者に明らかであるように、デバイスは、多くのタイプのメモリ、データストレージ、またはプロセッサ７０２により実行されるプログラム命令のための第一データストレージ、画像またはデータのための別個のストレージ、他のデバイスと情報共有するための着脱式メモリ等、といった非一時的なコンピューター可読記憶メディアを含むことができる。ポータブル・メディア・プレーヤーといったデバイスは音声スピーカーを通すといったその他の手段を介して情報を伝達するが、デバイスは一般的に、タッチスクリーンまたは液晶ディスプレイ（ＬＣＤ）といったディスプレイエレメント７０６のいくつかのタイプを含む。論じられたように、多くの実施形態においてデバイスは、ユーザーから従来の入力を受けることができる少なくとも１つの入力エレメント７０８を含む。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、またはユーザーがデバイスにコマンド入力できる他の当該デバイスまたはエレメントを含む。しかしながらいくつかの実施形態では、当該デバイスはいかなるボタンをも全く含まなくてもよく、視覚または音声コマンドの組み合わせを通じてのみコントロールされよもよく、それによりユーザーはデバイスに触れる必要なくデバイスをコンロトールできる。いくつかの実施形態では、図７のコンピューティングデバイス７００は、Ｗｉ−Ｆｉ、ブルートゥース（登録商標）、ＲＦ、有線または無線通信システム、といった様々なネットワーク上で通信するために１つ以上のネットワーク・インターフェース・エレメント７０８を含むことができる。多くの実施形態においてデバイスは、インターネットといったネットワークと通信でき、他の当該デバイスと通信することができてもよい。
【００４０】
論じられたように、様々な実施形態に従って、異なる取り組みが様々な環境に実装できる。例えば、図８は様々な実施形態に従って、態様を実行するための環境８００の実施例を説明する。説明の目的のためにウェブ・ベースの環境が使用されるが、理解しやすいように、様々な実施形態を実行するために必要に応じて異なる環境が使用されてもよい。システムは、適切なネットワーク８０４上で要求、メッセージ、または情報を送受信し、デバイスのユーザーに情報を送り返すことが可能な適切なデバイスを含むことのできる電子クライアントデバイス８０２含む。そのようなクライアントデバイスの実施例は、パーソナル・コンピューター、携帯電話、ハンドヘルド・メッセージング・デバイス、ラップトップ・コンピューター、セットトップボックス、パーソナル・データ・アシスタント、電子ブックリーダー、等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリア・ネットワーク、またはあらゆるその他のそのようなネットワークまたはそれらの組み合わせを含む、あらゆる適切なネットワークを含むことができる。当該システムに使用されるコンポーネントは、ネットワーク及び／または選択された環境のタイプの少なくとも一部分に依存できる。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントは既知であり、ここでは詳細を論じない。ネットワークを通じた通信は、有線または無線接続及びその組み合わせを介して利用可能である。当業者に明らかであるように、他のネットワークのために類似の目的を果たす代わりのデバイスが使用可能であるが、この実施例では、ネットワークはインターネットを含み、要求を受けること及びウェブサーバーに応じたコンテンツを供給することのために環境はウェブサーバー８０６を含む。
【００４１】
実例となる環境は少なくとも１つのアプリケーション・サーバー８０８及びデータ記憶装置８１０を含む。理解されるべきは、連鎖されるかまたはそうでなければ構成されるかもしれなく、適切なデータ記憶装置からデータを取得するといったタスクを実行するために作用できる、いくつかのアプリケーション・サーバー、レイヤーまたはその他のエレメント、プロセスまたはコンポーネントがあり得ることである。ここでいう「データ記憶装置」は、任意のデバイスまたは格納、アクセス、データ回収できるデバイスの組み合わせを指し、いかなる標準、分散または集合環境においても、任意の組み合わせ及び多数のデータサーバー、データベース、データ記憶デバイス、データ記憶メディアを含んでもよい。アプリケーション・サーバーは、クライアントデバイスのための１つ以上のアプリケーションの態様を実行するため、必要に応じてデータ記憶装置と統合するための任意の適切なハードウェア及びソフトウェアを含むことができ、アプリケーションのための大多数のデータアクセスとビジネス・ロジックを扱う。アプリケーション・サーバーは、データ記憶装置と連携してアクセス・コントロール・サービスを提供し、ユーザーに提供されるテキスト、図、音声及び／またはビデオといったユーザーに送信されるコンテンツを生成することができる。これらは、ＨＴＭＬ、ＸＭＬまたはこの実施例にあるその他の適切な構造化言語の形式でウェブサーバーによって提供される。クライアントデバイス８０２とアプリケーション・サーバー８０８間のコンテンツの配信だけでなく全ての要求及び応答の扱いは、ウェブサーバー８０６によって扱われる。ウェブ及びアプリケーション・サーバーは、単に実施例としてのコンポーネントであり、ここに論じた構造化コードが、別の個所で論じたように、任意の適切なデバイスやホストマシンで実行できるときには必要というわけではないことが理解されるべきである。
【００４２】
データ記憶装置８１０は、いくつかの分離データ・テーブル、データベースまたは特定の態様に関連するデータ格納のためのその他のデータ格納機構およびメディアを含むことができる。例えば、図示されたデータ記憶装置は、製作側にコンテンツを提供するために使用される製作データ８１２及びユーザー情報８１６を含む。データ記憶装置は、ログまたはセッションデータ８１４を格納するための機構を含むために同様に示される。理解されるべきことは、データ記憶装置８１０における適切なまたは追加の機構として上記にリストされた任意の機構に格納されるページ・イメージ情報およびアクセス権情報といった、データ記憶装置に格納される必要のある多くのその他の態様があり得る、ということである。データ記憶装置８１０はアプリケーション・サーバー８０８からの命令を受け取り、命令に応じてデータを取得、アップデートまたは処理するために、データ記憶装置８１０に関連するロジックを通じて操作可能である。１つの実施例では、ユーザーはある種のアイテムの検索要求を提示してもよい。このケースでは、データ記憶装置はユーザーの識別を検証するためにユーザー情報にアクセスしてもよく、そのタイプのアイテムについての情報を取得するためにカタログ詳細情報にアクセスできる。結果がユーザーデバイス８０２上のブラウザを介して見ることのできるウェブページ上にリストされるように、情報はその後ユーザーに戻される。特定の興味深いアイテムの情報は専用ページまたはブラウザのウインドウにて見ることができる。
【００４３】
各サーバーは一般的に、一般管理及びそのサーバーの動作のための実行可能なプログラム命令を提供するオペレーティング・システムを含み、一般的に、サーバーのプロセッサが実行する時にサーバーにその計画された機能を実行させる命令を格納するコンピューター可読メディアを含む。オペレーティング・システム及びサーバーの一般機能性のための適切な実装は、既知または市販のものであり、とりわけこの開示を踏まえて当業者によって容易に実行されるものである。
【００４４】
１つの実施形態における環境とは、1つ以上のコンピューター・ネットワークまたは直接接続を用いる通信リンクを介して相互接続される、いくつかのコンピューターシステム及びコンポーネントを利用する分散コンピューティング環境である。しかしながら、当該システムが、図８に示されるより少ない数または多い数のコンポーネントを有するシステムで同様に良く動作できることは当業者によって理解されるであろう。よって、図８におけるシステム８００の描写は、事実上実例となるものとして受け取られるべきであり、本開示の範囲に限定されない。
【００４５】
ここに論じられまたは提案された様々な実施形態は、いくつかのケースで、任意の数のアプリケーションを動作するために使用される、1つ以上のユーザーコンピューター、コンピューティングデバイスまたは処理デバイスを含むことができる多種多様の動作環境にて実装することができる。ユーザーまたはクライアントデバイスは、標準のオペレーティング・システムを実行するデスクトップまたはラップトップ・コンピューターといった任意の数の汎用パーソナル・コンピューターを含むことができ、同様に、モバイル・ソフトウェアを実行し多数のネットワーキングまたはメッセージング・プロトコルをサポートできる、セルラー、無線、かつハンドヘルドなデバイスを含むことができる。当該システムは同様に、任意の様々な市販のオペレーティング・システムを実行する多数のワークステーション及び、開発及びデータベース管理といった目的のための他の既知のアプリケーションを含むことができる。これらのデバイスは同様に、ダミー・ターミナル、シン・クライアント、ゲーミング・システム、及びネットワークを介して通信可能な他のデバイスを含むことができる。
【００４６】
ほとんどの実施形態は、ＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、アップルトークといった任意の様々な市販のプロトコルを用いて通信をサポートするための当業者によく知られているネットワークを少なくとも１つ利用する。例えば、ネットワークは、ローカルエリア・ネットワーク、広域ネットワーク、仮想プライベート・ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせであってもよい。
【００４７】
ウェブサーバーを利用する実施形態において、ウェブサーバーは、ＨＴＴＰサーバー、ＦＴＰサーバー、ＣＧＩサーバー、データサーバー、Ｊａｖａ（登録商標）サーバー、及びビジネス・アプリケーション・サーバーを含む任意の様々なサーバーまたは、中層アプリケーションを実行できる。サーバーは同様に、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃またはＣ＋＋、といった任意のプログラミング言語、またはパール、Ｐｙｔｈｏｎ、ＴＣＬ、またはそれらの組み合わせといった任意のスクリプト言語によって書かれた1つ以上のスクリプトまたはプログラムを実装する1つ以上のウェブアプリケーションを実行することなどによってユーザーデバイスからの要求に応じてプログラムまたはスクリプトの実行が可能であってもよい。サーバーは同様に、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、ＩＢＭ（登録商標）から市販されるものを含むデータベースサーバーを含むが、これに限定されるものではない。
【００４８】
環境は、様々なデータ記憶装置及びその他のメモリ、及び上に論じられたような記憶メディアを含むことができる。それらは、1つ以上のコンピューターの近く（及び／または内在する）、またはネットワーク上の任意の、または全てのコンピューターから離れた記憶メディアといった、様々な位置に存在することができる。特定の実施形態のセットでは、情報は、当業者によく知られているストレージ・エリア・ネットワーク（「ＳＡＮ」）に存在してもよい。同様に、コンピューター、サーバー、または他のネットワークデバイスに起因する機能を実行するために必要などんなファイルも、必要に応じてローカルに及び／またはリモートに格納されてもよい。システムがコンピューター化されたデバイスを含む場合は、各当該デバイスはバスを介して電気的に結合されたハードウェア・エレメントを含むことができ、エレメントは例えば、少なくとも１つの中央処理装置（ＣＰＵ）、少なくとも１つの入力装置（例えばマウス、キーボード、コントローラー、タッチスクリーン、キーパッド）、少なくとも１つの出力装置（例えばディスプレイ装置、プリンター、スピーカー）を含む。当該システムは同様に、ディスクドライブ、光学記憶デバイスといった1つ以上の記憶デバイス、ランダム・アクセス・メモリ（「ＲＡＭ」）またはリード・オンリー・メモリ（「ＲＯＭ」）、同様に、リムーバブル・メディア・デバイス、メモリカード、フラッシュカード等といった1つ以上の半導体記憶デバイスを含んでもよい。
【００４９】
当該デバイスは同様に、コンピューター可読記憶メディアリーダー、通信デバイス（例えばモデム、（無線または有線）ネットワークカード、赤外線通信デバイスなど）、及び上に記述されたようなワーキングメモリを含むことができる。コンピューター可読記憶メディアリーダーは、リモート、ローカル、固定の、及び／またはリムーバブルな記憶デバイスを意味するコンピューター可読記憶メディアと、同様にコンピューター可読情報を一時的に及び／またはさらに永久的に含み、格納し、送信し、回収するための記憶メディアに接続または受け取るよう構成されることができる。システム及び様々なデバイスは同様に、少なくとも１つのワーキングメモリデバイス内に多数のソフトウェアアプリケーション、モジュール、サービス、例えば、オペレーティング・システム及びクライアントアプリケーションまたはウェブブラウザといったアプリケーションプログラムを一般的に含む。代わりの実施形態は上に記述のものより大きな変化があることは理解されるべきである。例えば、カスタマイズされたハードウェアは同様に使用され、及び／または特定のエレメントはハードウェア、ソフトウェア（アプレットといったポータブルソフトウェアを含む）、またはその両方に実装されてもよい。
【００５０】
コードまたはコードの一部分を含むための記憶メディア及びコンピューター可読メディアは、記憶メディア及び通信メディアを含む当技術分野において既知の、または使用されている適切なメディアを含むことができる。記憶メディア及び通信メディアは、例えば情報の格納及び／または送信のために任意の方法または技術に実装される、揮発性及び非揮発性でリムーバブル及びノンリムーバブルメディアであるが、これに限るものではない。格納及び／または送信する情報とは、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータである。メディアはＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または任意の他のメディアであり、これらはシステムデバイスによってアクセスされて、所望情報を格納するために使用される。本開示及びここに提供された教示に基づき、当業者は様々な実施形態を実装するための他の手段及び／または方法を理解するであろう。
【００５１】
明細書及び図面は、結果的に限定的意味よりも実例的であるという点を注意されたい。しかしながら、請求項に説明のあるような本発明の広範囲な主旨及び範囲から逸脱せずに、様々な修正及び変更がそこに行われてもよいことは明らかである。
【図１】
2016519827.tif 000003
【図２】
2016519827.tif 000004
【図３】
2016519827.tif 000005
【図４】
2016519827.tif 000006
【図５】
2016519827.tif 000007
【図６】
2016519827.tif 000008
【図７】
2016519827.tif 000009
【図８】
2016519827.tif 000010
【国際調査報告】
2016519827.tif 000011