IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特表-クラスタ・リソース署名検証 図1
  • 特表-クラスタ・リソース署名検証 図2
  • 特表-クラスタ・リソース署名検証 図3
  • 特表-クラスタ・リソース署名検証 図4
  • 特表-クラスタ・リソース署名検証 図5
  • 特表-クラスタ・リソース署名検証 図6
  • 特表-クラスタ・リソース署名検証 図7
  • 特表-クラスタ・リソース署名検証 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-06
(54)【発明の名称】クラスタ・リソース署名検証
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240130BHJP
   G06F 21/64 20130101ALI20240130BHJP
【FI】
G06F21/55
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023542732
(86)(22)【出願日】2022-01-12
(85)【翻訳文提出日】2023-07-13
(86)【国際出願番号】 CN2022071600
(87)【国際公開番号】W WO2022166549
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】17/167,398
(32)【優先日】2021-02-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】北原 啓州
(72)【発明者】
【氏名】工藤 瑠璃子
(72)【発明者】
【氏名】ガジャナナン、クガムーシー
(72)【発明者】
【氏名】渡邊 裕治
(57)【要約】
リソース定義を検証するための方法およびシステムは、管理サービスによって元のリソース定義に対して行われた少なくとも1つの変更を識別するために、元のリソース定義をシミュレートすることを含む。少なくとも1つの識別された変更に対応する受け取られたリソース定義の一部分を省略して、受け取られたリソース定義の署名が生成される。マッチを見つけるためおよび受け取られたリソース定義を検証するために、受け取られたリソース定義の署名が元のリソース定義の署名と比較される。マッチを見つけたことに応答して、受け取られたリソース定義が実行される。
【特許請求の範囲】
【請求項1】
リソース定義を検証するためのコンピュータ実行方法であって、
管理サービスによって元のリソース定義に対して行われた少なくとも1つの変更を識別するために、前記元のリソース定義をシミュレートすることと、
前記少なくとも1つの識別された変更に対応する受け取られたリソース定義の一部分を省略して、前記受け取られたリソース定義の署名を生成することと、
マッチを見つけるためおよび前記受け取られたリソース定義を検証するために、前記受け取られたリソース定義の前記署名を前記元のリソース定義の署名と比較することと、
前記マッチを見つけたことに応答して、前記受け取られたリソース定義を実行することと
を含む、方法。
【請求項2】
前記元のリソース定義および前記受け取られたリソース定義が、コンテナ・マネージャのために定義される、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの変更が、任意のリソース定義のハンドリング中に前記コンテナ・マネージャによって導入される、請求項2に記載の方法。
【請求項4】
前記元のリソース定義をシミュレートすることが、前記コンテナ・マネージャのDryRun機能を使用して、前記元のリソース定義を動かすことを含む、請求項2に記載の方法。
【請求項5】
前記元のリソース定義をシミュレートすることが、前記元のリソース定義のシミュレーションを少なくとも2回動かすことを含む、請求項1に記載の方法。
【請求項6】
前記受け取られたリソース定義の前記署名を生成することが、残りの部分から署名を生成する前に、前記少なくとも1つの識別された変更に対応する前記受け取られたリソース定義の前記一部分を、前記受け取られたリソース定義から除去することを含む、請求項1に記載の方法。
【請求項7】
前記受け取られたリソース定義をユーザから受け取ることであって、前記元のリソース定義をシミュレートすることが、前記受け取られたリソース定義を受け取った後に実施される、受け取ることをさらに含む、請求項1に記載の方法。
【請求項8】
前記元のリソース定義の前記署名を生成することであって、前記元のリソース定義の前記署名を生成することが、前記受け取られたリソース定義を受け取る前に実施される、生成することをさらに含む、請求項7に記載の方法。
【請求項9】
前記元のリソース定義および前記受け取られたリソース定義が、テキストベースのYAMLファイルである、請求項1に記載の方法。
【請求項10】
前記受け取られたリソース定義を実行することが、ローカル処理ノードに、対応するリソースをインストールすることを含む、請求項1に記載の方法。
【請求項11】
リソース定義を検証するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、プログラム命令を具体化したコンピュータ可読ストレージ媒体を備え、前記プログラム命令が、
管理サービスによって元のリソース定義に対して行われた少なくとも1つの変更を識別するために、前記元のリソース定義をシミュレートすることと、
前記少なくとも1つの識別された変更に対応する受け取られたリソース定義の一部分を省略して、前記受け取られたリソース定義の署名を生成することと、
マッチを見つけるためおよび前記受け取られたリソース定義を検証するために、前記受け取られたリソース定義の前記署名を前記元のリソース定義の署名と比較することと、
前記マッチを見つけたことに応答して、前記受け取られたリソース定義を実行することと
をハードウェア・プロセッサに行わせるように前記ハードウェア・プロセッサによって実行可能な、コンピュータ・プログラム製品。
【請求項12】
前記元のリソース定義および前記受け取られたリソース定義が、コンテナ・マネージャのために定義される、請求項11に記載のコンピュータ・プログラム製品。
【請求項13】
前記少なくとも1つの変更が、任意のリソース定義のハンドリング中に前記コンテナ・マネージャによって導入される、請求項12に記載のコンピュータ・プログラム製品。
【請求項14】
前記元のリソース定義をシミュレートすることが、前記コンテナ・マネージャのDryRun機能を使用して、前記元のリソース定義を動かすことを含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項15】
前記元のリソース定義をシミュレートすることが、前記元のリソース定義のシミュレーションを少なくとも2回動かすことを含む、請求項11に記載のコンピュータ・プログラム製品。
【請求項16】
前記受け取られたリソース定義の前記署名を生成することが、残りの部分から署名を生成する前に、前記少なくとも1つの識別された変更に対応する前記受け取られたリソース定義の前記一部分を、前記受け取られたリソース定義から除去することを含む、請求項11に記載のコンピュータ・プログラム製品。
【請求項17】
前記プログラム命令が、前記受け取られたリソース定義をユーザから受け取ることであって、前記元のリソース定義をシミュレートすることが、前記受け取られたリソース定義を受け取った後に実施される、受け取ることをハードウェア・プロセッサに行わせるように前記ハードウェア・プロセッサによってさらに実行可能な、請求項11に記載のコンピュータ・プログラム製品。
【請求項18】
前記プログラム命令が、前記元のリソース定義の前記署名を生成することであって、前記元のリソース定義の前記署名を生成することが、前記受け取られたリソース定義を受け取る前に実施される、生成することをハードウェア・プロセッサに行わせるように前記ハードウェア・プロセッサによってさらに実行可能な、請求項17に記載のコンピュータ・プログラム製品。
【請求項19】
前記受け取られたリソース定義を実行することが、ローカル処理ノードに、対応するリソースをインストールすることを含む、請求項11に記載のコンピュータ・プログラム製品。
【請求項20】
リソース定義を検証するためのシステムであって、
ハードウェア・プロセッサと、
コンピュータ・プログラム・コードを格納するメモリであって、前記コンピュータ・プログラム・コードが、前記ハードウェア・プロセッサによって実行されると、前記コンピュータ・プログラム・コードが、
管理サービスによって元のリソース定義に対して行われた少なくとも1つの変更を識別するために、前記元のリソース定義をシミュレートすることと、
前記少なくとも1つの識別された変更に対応する受け取られたリソース定義の一部分を省略して、前記受け取られたリソース定義の署名を生成することと、
マッチを見つけるためおよび前記受け取られたリソース定義を検証するために、前記受け取られたリソース定義の前記署名を前記元のリソース定義の署名と比較することと、
前記マッチを見つけたことに応答して、前記受け取られたリソース定義を実行することと
を前記ハードウェア・プロセッサに行わせる、メモリと
を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、クラスタ管理およびセキュリティに関し、より詳細には、リソース定義の静的部分に署名することに関する。
【背景技術】
【0002】
クラウド・コンピューティング・システムは、現在、金融および政府機構を含む、様々なミッション・クリティカルなアプリケーションを動かしている。このようなシステムは、いくつかのコンテナ・オーケストレーション・システムのいずれかを含む様々な方式で実行され得る。このようなアプリケーションの高度に慎重を要する性質は、例えば、実行の前にリソースが改ざんされるのを防ぐための、強いセキュリティの必要性を伴う。
【発明の概要】
【0003】
リソース定義を検証するための方法は、管理サービスによって元のリソース定義に対して行われた少なくとも1つの変更を識別するために、元のリソース定義をシミュレートすることを含む。少なくとも1つの識別された変更に対応する受け取られたリソース定義の一部分を省略して、受け取られたリソース定義の署名が生成される。マッチを見つけるためおよび受け取られたリソース定義を検証するために、受け取られたリソース定義の署名が元のリソース定義の署名と比較される。マッチを見つけたことに応答して、受け取られたリソース定義が実行される。
【0004】
リソース定義を検証するためのシステムは、ハードウェア・プロセッサと、コンピュータ・プログラム・コードを格納するメモリを含む。コンピュータ・プログラム・コードが、ハードウェア・プロセッサによって実行されると、コンピュータ・プログラム・コードが、管理サービスによって元のリソース定義に対して行われた少なくとも1つの変更を識別するために、元のリソース定義をシミュレートすることと、少なくとも1つの識別された変更に対応する受け取られたリソース定義の一部分を省略して、受け取られたリソース定義の署名を生成することと、マッチを見つけるためおよび受け取られたリソース定義を検証するために、受け取られたリソース定義の署名を元のリソース定義の署名と比較することと、マッチを見つけたことに応答して、受け取られたリソース定義を実行することとをハードウェア・プロセッサに行わせる。
【0005】
これらおよび他の特徴および利点は、添付の図面と共に読まれることになるその例証的実施形態の以下の詳細な説明から明らかになるであろう。
【0006】
以下の説明は、以下の図を参照しながら好ましい実施形態の詳細を提供する。
【図面の簡単な説明】
【0007】
図1】本発明の実施形態による、リソース署名検証を含むサービスとしてのプラットフォーム(PaaS:Platform as a Service)システムのブロック図である。
図2】本発明の実施形態による、受け取られたリソース定義上の署名検証を実施するPaaSシステムにおける個々の処理ノードのブロック図である。
図3】本発明の実施形態による、受け取られたリソース定義を対応する元のリソース定義の署名に照らして検証するための方法のブロック/流れ図である。
図4】本発明の実施形態による、署名検証を含むPaaSシステムにおけるリクエストされたリソースをインストールおよび使用するための方法のブロック/流れ図である。
図5】本発明の実施形態による、リソース定義のハンドリング中に発生した変更のホワイトリストを識別するために元のリソース定義をシミュレートし、このホワイトリストを使用して、受け取られたリソース定義を検証する、署名検証システムのブロック図である。
図6】本発明の実施形態による、異なる種類のリソース定義、およびこれらのリソース定義内で発生し得る変更を示す図である。
図7】本原理による、クラウド・コンピューティング環境の図である。
図8】本原理による、抽象化モデル層の図である。
【発明を実施するための形態】
【0008】
所与のクラスタ・リソースは、使用中に変化することがある。例えば、元のリソースは、実際に実行されるリソースとは異なることがある。これは、リソースがインストール前にデジタル署名されることをアプリケーションが必要とするとき、難題を提示する。このようなケースでは、インストールは、署名付きリソースが、インストールされているリソースと同一でないので、失敗することがある。
【0009】
この問題に対処するために、変化することのないリソースの部分を識別するために、リソース・ホワイトリストが生成されてもよい。これは、一定のままのリソース内の属性、および変化する属性を識別するために、リソースを複数回シミュレートすることによって達成されてもよい。次いで、リソースの静的部分に基づく署名ファイルが生成されることが可能である。インストール時に、署名は、静的なリソース内の属性だけに目を向けることによって検証されることが可能である。
【0010】
図1をここで参照すると、システムとしてのプラットフォーム(PaaS)システム100の図が示されている。ユーザ102は、分散コンピューティング・プラットフォームで実行するためのワークロードを有する。ユーザ102は、マネージャ・システム104と通信し、ワークロードを実行するために必要になる処理ノード106の数およびタイプを含むワークロードに関する情報を提供する。マネージャ・システム104に提供される情報は、例えば、処理ノード106の数、プロセッサ・タイプ、オペレーティング・システム、実行環境、ストレージ容量、ランダム・アクセス・メモリ容量、ネットワーク帯域幅、およびワークロードに必要になり得る任意の他のポイントを含む。ユーザ102は、マネージャ・システム104のレジストリに格納するために、特定のイメージまたはコンテナをマネージャ・システム104にさらに提供することができる。PaaSシステム100は、何千もの処理ノード106を含むことでき、これらのそれぞれは、いつでも、PaaSシステム100によって実行されているワークロードに応じて、アイドル状態であることもビジー状態であることも可能であることを理解されたい。単一のマネージャ・システム104が示されているが、複数のこのようなマネージャ・システム104があってもよく、複数のレジストリが、PaaSシステム100の全体に分散されることも理解されたい。これは、代替のイメージ・ソースを提供することによって、レジストリにおける限定的な帯域幅の問題を低減させることができるが、非常に大規模な導入が、依然として遅延を引き起こすことになる。さらに、マネージャ・システム104は、単一のデバイスとして示されているが、イメージ・レジストリから離れたロケーションでスケジューリングが実施可能であることを理解されたい。
【0011】
ワークロードの実行前および実行中に、マネージャ・システム104は、どの処理ノード106がどのイメージを使用することになるかを判定する。したがって、マネージャ・システム104は、例えば、提供時のノードおよびリソースの可用性に基づいて、独自の内部ロジックに従って、処理ノード106にイメージを分散させる。マネージャ・システム104およびPaaSシステム100は、特定のリソースの可用性が、PaaSシステム100で起こっていることに全体的に依存するように、複数の異なるユーザ102からの複数の異なるワークロードをハンドリングすることができる。
【0012】
提供は、この用語が本明細書で使用されるとき、PaaSシステム100のリソースがユーザ102に配分され、実行のために準備されるプロセスを指す。したがって、提供は、ワークロード、ならびに、イメージの伝送、およびワークロードの実行のために処理ノード106を準備するのに必要な任意の構成ステップのために、どの処理要素106使用されることになるかについて、マネージャ・システム104によって行われる判定を含む。次いで、マネージャ・システム104によって選択された処理ノード106は、イメージをインストールし、ワークロードに必要な任意の構成を実施する。次いで、マネージャ・システム104によって、ユーザ102によって、または任意の他の適切なソースによってトリガされて、実行が進むことができる。
【0013】
本開示は、クラウド・コンピューティングの詳細な説明を含むが、本明細書で列挙された教示の実装形態は、クラウド・コンピューティング環境に限定されないことを予め理解されたい。むしろ、本発明の実施形態には、現在知られているか、後で開発される、他の任意のタイプのコンピューティング環境と共に実行される能力がある。
【0014】
図2をここで参照すると、処理ノード106についての追加の詳細が示されている。処理ノード106は、ハードウェア・プロセッサ202、メモリ204、およびネットワーク・インターフェース206を含む。ネットワーク・インターフェース206は、任意の適切な有線またはワイヤレス通信媒体およびプロトコルを使用して、必要に応じて、マネージャ・システム104と、および他の処理ノード106と、通信するように構成される。処理ノード106は、また、いくつかの実施形態では、メモリ204に格納され、ハードウェア・プロセッサ202によって実行される、ソフトウェアとして実行され得る、1つまたは複数の機能モジュールを含む。他の実施形態では、機能モジュールのうちの1つまたは複数は、例えば、特定用途向け集積チップまたはフィールド・プログラマブル・ゲート・アレイの形の、1つまたは複数の個別のハードウェア構成要素として実行されてもよい。
【0015】
処理ノード106は、例えば、マネージャ・システム104によって処理ノード106に分散された、1つまたは複数のコンテナ208を含んでもよい。具体的には、各コンテナ208は、別個の動作環境を表すことが意図される。コンテナ208は、それぞれ、ソフトウェア・アプリケーションのセット、構成ファイル、ワークロード・データセット、および、固有のワークロードを実行するのに必要な任意の他の情報またはソフトウェアを含む。コンテナ208は、メモリ204に格納され、必要に応じて、コンテナ・オーケストレーション・エンジン210によってインスタンスが生成され、閉鎖される。一般的な問題として、処理ノード106のオペレーティング・システムは、コンテナ208の外側に存在することを理解されたい。したがって、各コンテナ208は、同じオペレーティング・システム・カーネルとインターフェースし、複数のコンテナを同時に実行するのに必要なオーバヘッドを低減させる。一方で、コンテナ208は、一般に、具体的に同意したインターフェースの外側では互いに通信せず、セキュリティ上の懸念を低減させる。
【0016】
コンテナ208は、複数の処理ノード106の間で共有される分散型ファイルシステムにアクセスしてもよい。コンテナ208は、永続ボリューム218をマウントするために、コンテナ・オーケストレーション・エンジン210と通信してもよい。コンテナ208からリクエストを受け取ると、コンテナ・オーケストレーション・エンジン210は、ストレージ提供エンジン212と通信する。ストレージ提供エンジン212がディレクトリ・リクエストを受け取ると、ストレージ提供エンジン212は、分散型ファイルシステムにローカル・ディレクトリ・マウント・ポイントを提供し、クオータ/アイソレーションおよび情報同期プロセスを完了させることをクオータ・マネージャ214および同期エンジン216に知らせ、コンテナ・オーケストレーション・エンジン210にディレクトリを戻す。
【0017】
クオータ・マネージャ214は、永続ボリューム・ディレクトリ218のクオータおよびアイソレーションをセットするために、ストレージ提供エンジン212と対話する。クオータ・マネージャ214は、分散型ファイルシステムの成功したマウントに関する情報をストレージ提供エンジン212から入手し、システム・コールが永続ボリューム218のディレクトリ・サイズおよびアイソレーションをモニタする、例えば、カーネル・モジュールとして、実行されることが可能である。クオータ・マネージャ214は、ボリュームのクオータを超えるボリュームに対処するために、ストレージ提供エンジン212と対話する。例えば、クオータ・マネージャ214は、ディレクトリのサイズが所定のクオータを超過したとき、書込み動作の中止など、ポリシに基づくアクションを実施することができる。個々のディレクトリのクオータ量は、永続ボリューム218が作成されたときに判定される。アイソレーションは、永続ボリューム218を他のプロセスが使用できないことを保証するために使用される。
【0018】
同期エンジン216は、他の処理ノード106の同期エンジン216と通信する。同期エンジン216は、クオータ情報およびアイソレーション情報を含む、永続ボリューム218がどのように使用されているかに関する情報を通信する。クオータおよびアイソレーションは、ホスト毎にセットされ、その結果、同期エンジン216は、異なるノードにまたがる一貫性を保証するために、この情報を他のホストに通信する。
【0019】
永続ボリューム218は、本明細書では、処理ノード106のローカル・ファイルシステムにおけるディレクトリとして表される。したがって、これらのディレクトリは、分散型ファイルシステム106のマウント・ポイント220であることが可能である。コンテナ208が永続ボリューム218にアクセスすると、ファイルシステム動作は、分散型ファイルシステム106を行き来するように伝送され、分散型ファイルシステム106におけるデータをコンテナがアクセスできるようにする。特に、複数のコンテナ208が、この様式で分散型ファイルシステムへのアクセスを共有できることに留意されたい。
【0020】
いくつかのケースでは、リソースがインストール可能になる前に、署名検証が必要な場合、コンテナ・オーケストレーション・エンジン210は、署名検証器222と通信する。署名検証器は、インストールされることになるリソース(例えば、コンテナ208の記述)をリソースの署名と比較する。署名がマッチした場合、リソースは、インストールおよび実行されてもよい。マッチしない場合、署名検証器222は、リクエストを拒絶し、リソースがインストールまたは実行されるのを防ぐ。
【0021】
図3をここで参照すると、リソース定義を検証するための方法が示されている。ブロック302は、元のリソース定義の署名を生成する。1つの固有かつ非限定的な例では、KUBERNETES(R)システムが、コンテナ管理のために使用されてもよい。このような実施形態では、リソースは、「YAML」フォーマットのテキストベースのファイルを使用して定義されてもよい。以下は、KUBERNETES(R)システムで使用され得る例示的なYAMLリソース定義である。
【0022】
abiVersion: v1
【0023】
kind: ConfigMap
【0024】
data:
【0025】
sample-data: abc
【0026】
Security-enabled: true
【0027】
このリソース定義は純粋に例示的なものであり、任意の適切なリソースが代わりに使用されてもよいことを理解されたい。署名は、例えば署名キーを使用した、任意の適切な署名アルゴリズムによって生成されてもよい。このようなアルゴリズムは、例えば、RSA、DSA、およびECDSAを含んでもよい。追加として、他のコンテナ管理システムの使用も意図される。
【0028】
ブロック304は、例えば、KUBERNETES(R)システムによって修正されたリソース定義ファイルを使用して、リソースをインストールしたいというリクエストを受け取る。例えば、修正されたリソース定義は、以下のように変更されてもよく、差が示されている。
【0029】
abiVersion: v1
【0030】
kind: ConfigMap
【0031】
metadata: #このラインが追加された
【0032】
uid: a2b4e4f2-3ca8-a996 #このラインが追加された
【0033】
data:
【0034】
sample-data: abc
【0035】
Security-enabled: true
【0036】
default-config: def #このラインが追加された
【0037】
元のリソース定義の署名が形成され、署名検証器222が、修正されたリソース定義の全体のための署名を後で検証しようとする場合、検証は、修正されたリソース定義が同一でないので、失敗することになる。この問題に対処するために、署名検証器222は、システムによって変更されることが予想される、修正されたリソース定義のこれらのラインを無視する。このようなラインを除外して、署名検証器222は、残りのラインの署名を生成し、この署名を元のリソース定義の署名と比較する。マッチした場合、修正されたリソース定義は、検証され得る。
【0038】
これらの変更可能なラインおよびフィールドは、KUBERNETES(R)システム・ソフトウェアの分析によって予め判定されてもよいが、ソフトウェア・アップデートが、リソース定義がどのようにハンドリングされるかに対する変更を引き起こすことがあり、以前に意図されなかった新しいタイプの情報を追加することがある。これに対処するために、変更は、現在の変更のホワイトリストを構築するために、実行時にリソース毎に分析されてもよい。
【0039】
したがって、ブロック306は、1つまたは複数のシミュレートされたリソース定義を生成するために、例えばKUBERNETES(R)「DryRun」機能を使用して、元のリソース定義をシミュレートしてもよく、シミュレートされたリソース定義は、実際の実行のためにKUBERNETES(R)システムによって行われるはずの変更と同様の様式で変更されてもよい。静的なホワイトリストに依存するのではなく、リソースをシミュレートすることによって、基礎となるソフトウェアに対する変更を即時に受け容れることができる。シミュレートされたリソース定義を元のリソース定義と比較することによって、ブロック308は、シミュレートされたリソース定義における変更された、またはシミュレートされたリソース定義に追加されたラインを見つけることができる。少なくとも2つのシミュレーションを動かしてもよいが、数が多くなると、結果がより良くなり得る。
【0040】
ブロック310は、変更されたようなブロック308で指示された任意のラインを無視して、修正されたリソース定義の署名を生成する。ブロック312は、元のリソース定義の署名を、修正されたリソース定義の署名と比較する。2つの署名がマッチしないことをブロック314が見つけた場合、ブロック316は、リソースを拒絶する。このケースでは、署名検証器222は、リソースをインストールしたいというリクエストを拒絶するように、コンテナ・オーケストレーション・エンジン210に命令する。2つの署名がマッチする場合、ブロック318は、リソースをインストールするように、署名検証器222がコンテナ・オーケストレーション・エンジン210に命令するようにする。
【0041】
図4をここで参照すると、上記で説明されたシステム100などのPaaSシステムを使用してタスクを実施するための方法。ブロック402は、ワークロードを生成する。例えば、ワークロードは、金融取引を処理すること、または大規模データセットに対して統計計算を実施することなど、任意の目的を実施するための任意の適切なソフトウェアを含んでもよい。ブロック404は、ワークロードを実施するのにどのリソースが必要とされるかを判定する。例えば、ブロック404は、どれだけ多くのインスタンス化が必要とされ得るか、どのオペレーティング・システムおよびサポートソフトウェアが使用され得るか、ならびにどのコンテナが使用され得るかを判定してもよい。ブロック406は、これらのリソースのリクエストをマネージャ・システム104に送る。
【0042】
ブロック408は、上記で説明されたように、リソース署名を検証する。検証が成功した場合、ブロック410は、リクエストされたリソースをインストールし、ブロック412は、インストールされたリソースを使用してワークロードを実施する。ブロック408が、リソース署名を検証できない場合、ユーザ102は、不一致の識別および対処を行うために、そのリソース・リクエストを検査することに戻ってもよい。署名の検証の失敗は、攻撃者によるリソースの改ざんの試みを示し得る。
【0043】
本発明は、統合の任意の可能な技術詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0044】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納できる有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD(R))、メモリ・スティック、フロッピー(R)・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、本質的に一時的な信号であると解釈されるべきではない。
【0045】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれの計算/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといったネットワークを介して外部コンピュータもしくは外部ストレージ・デバイスに、ダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含んでもよい。各計算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれの計算/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0046】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路機器用の構成データ、または、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で、スタンド・アロンのソフトウェア・パッケージとして、あるいは、部分的にユーザのコンピュータかつ部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラム可能論理回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行することができる。
【0047】
本発明の態様は、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行できることが理解されよう。
【0048】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作り出すべく、機械を生み出すためにコンピュータまたは他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令は、また、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体に格納されてもよく、特定の様式で機能するように、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに指図することができる。
【0049】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するべく、コンピュータ実行処理を生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップが実施されるように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0050】
本発明の「1つの実施形態(one embodiment)」または「1つの実施形態(an embodiment)」、およびこれらの他の変形形態への本明細書における言及は、実施形態に関して説明された特定の特徴、構造、特性などが、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体の様々な場所に現れる、「1つの実施形態では(in one embodiment)」または「1つの実施形態では(in an embodiment)」という句、ならびに任意の他の変形形態の出現は、必ずしも同じ実施形態にすべて言及しているわけではない。
【0051】
以下の「/」、「・・・または・・・あるいはその両方」、ならびに「のうちの少なくとも1つ」のいずれかの使用は、例えば、「A/B」、「AまたはBあるいはその両方」、ならびに「AおよびBのうちの少なくとも1つ」の場合では、第1のリスト化されたオプション(A)のみの選択、または第2のリスト化されたオプション(B)のみの選択、または両方のオプション(AおよびB)の選択を包含することが意図されることを認識されたい。さらなる例として、「A、B、またはCあるいはその組合せ」ならびに「A、B、およびCのうちの少なくとも1つ」のケースでは、このような言い回しは、第1のリスト化されたオプション(A)のみの選択、または第2のリスト化されたオプション(B)のみの選択、または第3のリスト化されたオプション(C)のみの選択、または第1および第2のリスト化されたオプション(AおよびB)のみの選択、または第1および第3のリスト化されたオプション(AおよびC)のみの選択、または第2および第3のリスト化されたオプション(BおよびC)のみの選択、または3つすべてのオプション(AおよびBおよびC)の選択を包含することが意図される。これは、当業者によって容易に明らかなように、リスト化された多くの項目に対して拡張されてもよい。
【0052】
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、流れ図またはブロック図中の各ブロックは、指定の論理機能を実行するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部分を表すことができる。いくつかの代替実装形態では、ブロックに記された機能は、図に記された順序から外れて行われてもよい。例えば、連続して示された2つのブロックは、実際には、同時に、実質的に同時に、部分的もしくは全面的に時間重複した様式で実行される1つのステップとして達成されてもよく、またはブロックは、時には、含まれる機能に応じて、逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロック、および、ブロック図または流れ図あるいはその両方におけるブロックの組合せは、指定の機能もしくは行為を行うか、または、専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実行できることも指摘される。
【0053】
本明細書で採用されるような、「ハードウェア・プロセッサ・サブシステム」または「ハードウェア・プロセッサ」という用語は、1つまたは複数の固有のタスクを実施するように協働する、プロセッサ、メモリ、ソフトウェア、またはその組合せを指すことができる。有用な実施形態では、ハードウェア・プロセッサ・サブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行デバイス、等)を含むことができる。1つまたは複数のデータ処理要素は、中央処理ユニット、グラフィックス処理ユニット、または別個のプロセッサもしくはコンピューティング要素ベースのコントローラ(例えば、論理ゲート、等)、あるいはその組合せに含まれることが可能である。ハードウェア・プロセッサ・サブシステムは、1つまたは複数のオン・ボード・メモリ(例えば、キャッシュ、専用メモリ・アレイ、リード・オンリ・メモリ、等)を含むことができる。いくつかの実施形態では、ハードウェア・プロセッサ・サブシステムは、基板上もしくは基板外にあることが可能な、または、ハードウェア・プロセッサ・サブシステムによる使用に専用であることが可能な、1つまたは複数のメモリ(例えば、ROM、RAM、基本入出力システム(BIOS)、等)を含むことができる。
【0054】
いくつかの実施形態では、ハードウェア・プロセッサ・サブシステムは、1つまたは複数のソフトウェア要素を含み、実行することができる。1つまたは複数のソフトウェア要素は、オペレーティング・システム、1つもしくは複数のアプリケーション、または指定の結果を達成するための固有のコード、あるいはその組合せを含むことができる。
【0055】
他の実施形態では、ハードウェア・プロセッサ・サブシステムは、1つまたは複数の電子処理機能を実施して指定の結果を達成する、専用の専門的な回路機器を含むことができる。このような回路機器は、1つまたは複数の特定用途向け集積回路(ASIC)、FPGA、またはPLA、あるいはその組合せを含むことができる。
【0056】
本発明の実施形態によるハードウェア・プロセッサ・サブシステムのこれらおよび他の変形形態も意図される。
【0057】
図5をここで参照すると、署名検証器222についての追加の詳細が示されている。署名検証器222は、上記で説明されたような、処理ノード106の一部として実行されてもよく、マネージャ・システム104の一部として実行されてもよく、別個のハードウェア上で動く独立したシステムでもよく、任意の他の適切な様式で実行されてもよいことを理解されたい。署名検証器222が、別個のハードウェア上で動いている場合、署名検証器222は、ハードウェア・プロセッサ、メモリ、および通信インターフェース(図示せず)を含んでもよい。署名検証器222が、マネージャ・システム104または処理ノード106と同じ場所に置かれる場合、署名検証器222は、これらのシステムのハードウェア・リソースを共有してもよい。
【0058】
署名検証器222は、元のリソース定義502のコピーを受け取り、格納する。この元のリソース定義502は、例えばKUBERNETES(R)ソフトウェアによって、PaaSシステムによって導入された不一致により、元のリソース定義とは異なることがある。リソース・シミュレータ504(例えば、KUBERNETES(R)「DryRun」機能)は、元のリソース定義502の1つまたは複数のシミュレーションを動かして、シミュレートされたリソース506を生成する。ホワイトリスト生成器508は、シミュレートされたリソース506を分析して、シミュレートされたリソース506がPaaSシステムによってハンドリングされたときに変化する定義の部分を識別する。これにより、ホワイトリスト生成器508は、正常動作中に変化したリソース定義内のラインおよびフィールドを識別し得る署名ホワイトリスト510を生成する。
【0059】
リクエストされたリソース定義511は、正常動作中に変化したリクエストされたリソース定義511の一部分を省略するために署名ホワイトリスト510を使用して、例えば、元のリソース署名516を生成するために使用されたものと同じ機能を使用して、署名生成器512によって処理される。これにより、署名生成器512は、リクエストされたリソース署名514を生み出す。リクエストされたリソース署名514は、署名比較518において、元のリソース署名516と比較される。検証器520は、リクエストされたリソース定義が合法的であり、インストールされてもよいかどうかについて、2つの署名の間の何らかの不一致に基づいて判定を行う。
【0060】
図6をここで参照すると、様々なリソース定義の比較が示されている。元のリソース定義は、ブロック502として示されており、これは、リソースを指定する情報を示す。ブロック506は、元のリソース定義502に基づく、シミュレートされたリソース定義のセットを示す。シミュレーション中に変化した部分がアンダーラインで示されており、これらの追加は、独自の目的のためにPaaSシステムによって導入され、最終的なリソース・インストールの機能に一般に影響を及ぼさない。
【0061】
リクエストされたリソース定義が、ブロック511に示されている。検証中、シミュレートされた定義506に示されたこれらの追加は、リクエストされたリソース定義511の中でロケートされ、署名検証中に省略される。これらの追加を除外すると、リクエストされたリソース定義511の残りの内容は、元のリソース定義502の内容にマッチし、その結果、検証は成功する。
【0062】
対照的に、悪意のあるリソース定義602が示されている。リクエストされたリソース定義511と同様に、任意の識別された変更可能ラインが、署名検証中に省略される。それでも、太字で示された、悪意のある行為者による別のラインが導入された。この悪意のあるリソース定義602が署名検証に対して投入された場合、導入されたラインが引き起こすミスマッチが、検証を失敗させることになり、悪意のあるリソースのインストールを防ぐ。
【0063】
クラウド・コンピューティングは、最低限の管理努力またはサービスの提供者との対話で迅速に提供および解放されることが可能な、構成可能コンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの、便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの導入モデルを含むことができる。
【0064】
特性は、以下の通りである。
【0065】
オンデマンド・セルフ・サービス:クラウド利用者は、サービスの提供者との人間対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピュータ処理能力を一方的に提供することができる。
【0066】
ブロード・ネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、ヘテロジニアスなシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を推進する標準メカニズムを通じてアクセスされる。
【0067】
リソース・プーリング:提供者のコンピューティング・リソースは、マルチ・テナント・モデルを使用して多数の利用者をサーブするためにプールされ、要求に応じて、種々の物理および仮想リソースの動的な割当ておよび再割当てが行われる。利用者が、一般に、提供されるリソースの正確な位置に対する制御権または知識を有しておらず、抽象化のより高いレベル(例えば、国、州、またはデータセンタ)で位置を指定する能力があり得るという点で位置独立の意味がある。
【0068】
迅速な弾力性:能力は、素早くスケール・アウトするために、迅速かつ伸縮自在に、場合によっては自動的に提供され、素早くスケール・インするために、迅速に解放されることが可能である。利用者にとって、提供するために利用可能な能力は、無制限のように見えることが多く、任意の量でいつでも購入されることが可能である。
【0069】
測定されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適した抽象化のいくつかのレベルで計量能力を活用することによって、リソース利用を自動的に制御し、最適化する。リソース利用率は、監視、制御、レポートされることが可能であり、利用されるサービスの提供者と利用者双方に透明性をもたらす。
【0070】
サービス・モデルは、以下の通りである。
【0071】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で動く提供者のアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)などの、シン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。利用者は、限定的なユーザ固有アプリケーション構成設定を例外とする可能性もあるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、ことによると個々のアプリケーション能力を含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わない。
【0072】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、提供者によってサポートされるプログラミング言語およびツールを使用して作成された、利用者作成または獲得アプリケーションを、クラウド・インフラストラクチャに配置することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わないが、配置されたアプリケーション、および場合によっては、アプリケーションをホストする環境構成に対する制御を行う。
【0073】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、ならびに、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを利用者が配置し、動かすことができる他の基本的なコンピューティング・リソースを提供することである。利用者は、基礎をなすクラウド・インフラストラクチャの管理も制御も行わないが、オペレーティング・システム、ストレージ、配置したアプリケーション、および場合によってはネットワーキング構成要素(例えば、ホスト・ファイアウォール)の選択についての限定的な制御に対する制御を行う。
【0074】
導入モデルは、以下の通りである。
【0075】
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためにだけ運用される。これは、組織またはサード・パーティによって管理されてもよく、敷地内にあっても敷地外にあってもよい。
【0076】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、懸念(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス考慮)を共有してきた固有のコミュニティをサポートする。これは、組織またはサード・パーティによって管理されてもよく、敷地内にあっても敷地外にあってもよい。
【0077】
パブリック・クラウド:インフラストラクチャは、一般大衆または大規模な業界団体が利用でき、クラウド・サービスを売る組織によって所有される。
【0078】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意のエンティティのままであるが、データおよびアプリケーションの移植を可能にする標準または独自の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって一緒に結びつけられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成である。
【0079】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュラリティ、および意味論的相互運用性に焦点を合わせた、サービス指向のものである。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0080】
図7をここで参照すると、例証的なクラウド・コンピューティング環境50が描写されている。図示のように、クラウド・コンピューティング環境50は、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラー電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなど、クラウド利用者によって使用されるローカル・コンピューティング・デバイスが通信し得る、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。これらは、上記で説明されたような、プライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化されてもよい(図示せず)。これは、クラウド利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド・コンピューティング環境50が提供することを可能にする。図7に示されたコンピューティング・デバイス54A~Nのタイプは、例証にすぎないことが意図されること、ならびに、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、(例えば、ウェブ・ブラウザを使用して)任意のタイプのネットワーク、またはネットワーク・アドレス可能接続、あるいはその両方を介して、任意のタイプのコンピュータ化デバイスと通信できることが理解される。
【0081】
図8をここで参照すると、クラウド・コンピューティング環境50(図7)によって提供される機能抽象化層のセットが示されている。図8に示された構成要素、層、および機能は、例証にすぎないことが意図され、本発明の実施形態は、これらに限定されないことを予め理解されたい。描写されたように、以下の層および対応する機能が提供される。
【0082】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびに、ネットワークおよびネットワーキング構成要素66を含む。いくつかの実施形態では、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0083】
仮想化層70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75といった、仮想エンティティの例が提供され得る抽象化層を提供する。
【0084】
1つの例では、管理層80は、下記で説明される機能を提供し得る。リソース提供81は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を行う。計量および価格設定82は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、および、これらのリソースの利用量に対する請求またはインボイスを行う。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド利用者およびタスクのアイデンティティ検証、ならびに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、利用者およびシステム・アドミニストレータに、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウド・コンピューティング・リソースの配分および管理を行う。サービス・レベル・アグリーメント(SLA:Service Level Agreement)計画およびフルフィルメント85は、SLAに応じて、将来の要件が予想されるクラウド・コンピューティング・リソースの事前配置および調達を行う。
【0085】
ワークロード層90は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育配信93、データ分析処理94、トランザクション処理95、ならびに署名検証96を含む。
【0086】
(例証であり、限定的でないことが意図される)クラスタ・リソース署名検証の好ましい実施形態を説明してきたが、上記の教示の観点から当業者によって修正および変更を行えることが指摘される。したがって、添付の特許請求の範囲によって概説されるような、本発明の範囲内にある開示の特定の実施形態の変更が行われてもよいことを理解されたい。このように、特許法によって要求される詳細および精密さで本発明の態様を説明してきたが、特許証によって保護される、請求されるものおよび望まれるものは、添付の特許請求の範囲において説明される。
図1
図2
図3
図4
図5
図6
図7
図8
【国際調査報告】