(57)【要約】  コンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進するシステム、コンピュータに実施される方法、およびコンピュータ・プログラム製品が提供される。ある実施形態によると、システムは、コンピュータ実行可能コンポーネントを保存するメモリと、メモリに保存されたコンピュータ実行可能コンポーネントを実行するプロセッサとを含み得る。コンピュータ実行可能コンポーネントは、コンテナ検査の１つ以上の制限ケイパビリティを定め得るコンテナ検査制御コンポーネントを含み得る。コンピュータ実行可能コンポーネントはさらに、１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査し得るコンテナ検査コンポーネントを含み得る。
2021535467.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能コンポーネントを保存するメモリと、
前記メモリに保存された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを含むシステムであって、前記コンピュータ実行可能コンポーネントは、
コンテナ検査の１つ以上の制限ケイパビリティを定めるコンテナ検査制御コンポーネントと、
前記１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査するコンテナ検査コンポーネントと
を含む、システム。
【請求項２】
前記コンテナ検査コンポーネントは、カーネル構成、セキュリティ構成、またはコンテナ化構成のうちの少なくとも１つを含む検査インスタンスを含む、請求項１に記載のシステム。
【請求項３】
前記コンテナ検査制御コンポーネントは、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ、セキュア・コンピューティング・モード、ｎｅｔｆｉｌｔｅｒ、制御グループ、およびセキュリティ拡張Ｌｉｎｕｘ（登録商標）からなる群より選択される１つ以上の制御コンポーネントに基づいて前記１つ以上の制限ケイパビリティを定めることによって、前記コンテナ検査コンポーネント、前記仮想コンテナ、またはコンテナ・ベースの仮想化環境の１つ以上のリソースのうちの少なくとも１つに関連するセキュリティの改善を促進する、請求項１に記載のシステム。
【請求項４】
アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて前記コンテナ検査コンポーネントの制御レベルを定める制御レベル・コンポーネントをさらに含む、請求項１に記載のシステム。
【請求項５】
前記コンテナ検査コンポーネントは稼働ランタイム状態を検査する、請求項１に記載のシステム。
【請求項６】
前記仮想コンテナのエンティティは、
メモリ状態、ディスク状態、またはネットワーク状態のうちの少なくとも１つを検査するために前記コンテナ検査コンポーネントを実施する、請求項１に記載のシステム。
【請求項７】
前記コンテナ検査コンポーネントは、１つ以上のリード・オンリ活動に基づいて前記仮想コンテナを検査する、請求項１に記載のシステム。
【請求項８】
前記コンテナ検査制御コンポーネントは、前記コンテナ検査コンポーネントによる１つ以上の書込み動作の実行を防止する、請求項１に記載のシステム。
【請求項９】
プロセッサに動作的に結合されたシステムによって、コンテナ検査の１つ以上の制限ケイパビリティを定めるステップと、
前記システムによって、前記１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査するステップと
を含む、コンピュータに実施される方法。
【請求項１０】
前記定めるステップは、前記システムによって、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ、セキュア・コンピューティング・モード、ｎｅｔｆｉｌｔｅｒ、制御グループ、およびセキュリティ拡張Ｌｉｎｕｘ（登録商標）からなる群より選択される１つ以上の制御コンポーネントに基づいて前記１つ以上の制限ケイパビリティを定めるステップを含む、請求項９に記載のコンピュータに実施される方法。
【請求項１１】
前記システムによって、アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて前記コンテナ検査の制御レベルを定めるステップをさらに含む、請求項９に記載のコンピュータに実施される方法。
【請求項１２】
前記検査するステップは、前記システムによって、メモリ状態、ディスク状態、またはネットワーク状態のうちの少なくとも１つを検査するステップを含む、請求項９に記載のコンピュータに実施される方法。
【請求項１３】
前記検査するステップは、前記システムによって、稼働ランタイム状態を検査するステップを含む、請求項９に記載のコンピュータに実施される方法。
【請求項１４】
前記検査するステップは、前記システムによって、１つ以上のリード・オンリ活動に基づいて前記仮想コンテナを検査するステップを含む、請求項９に記載のコンピュータに実施される方法。
【請求項１５】
前記検査するステップは、前記システムによって、１つ以上の書込み動作の実行禁止に基づいて前記仮想コンテナを検査するステップを含む、請求項９に記載のコンピュータに実施される方法。
【請求項１６】
コンピュータ実行可能コンポーネントを保存するメモリと、
前記メモリに保存された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを含むシステムであって、前記コンピュータ実行可能コンポーネントは、
コンテナ検査の１つ以上のリソース制限を定めるコンテナ検査制御コンポーネントと、
前記１つ以上のリソース制限に基づいて仮想コンテナを検査するコンテナ検査コンポーネントと
を含む、システム。
【請求項１７】
前記コンテナ検査コンポーネントは、１つ以上のリード・オンリ活動に基づいて稼働ランタイム状態を検査するサイドカー・コンテナ・コンポーネントを含む、請求項１６に記載のシステム。
【請求項１８】
前記コンテナ検査制御コンポーネントは、制御グループおよびセキュリティ拡張Ｌｉｎｕｘ（登録商標）からなる群より選択される１つ以上の制御コンポーネントに基づいて前記１つ以上のリソース制限を定める、請求項１６に記載のシステム。
【請求項１９】
アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて前記コンテナ検査の制御レベルを定める制御レベル・コンポーネントをさらに含む、請求項１６に記載のシステム。
【請求項２０】
前記コンテナ検査制御コンポーネントは、前記コンテナ検査コンポーネントによる１つ以上の書込み動作の実行を防止することによって、コンテナ・ベースの仮想化環境の１つ以上のリソースに関連する処理能力を妨げることなく、より安全な検査能力を促進する、請求項１６に記載のシステム。
【請求項２１】
コンテナ検査プロセスを促進するコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、自身によって具現化されるプログラム命令を有するコンピュータ可読ストレージ媒体を含み、前記プログラム命令はプロセッサによって実行可能であることで、
前記プロセッサによって、コンテナ検査の１つ以上のリソース制限コンポーネントを定めることと、
前記プロセッサによって、前記１つ以上のリソース制限コンポーネントに基づいて仮想コンテナを検査することと
を前記プロセッサに行わせる、コンピュータ・プログラム製品。
【請求項２２】
前記１つ以上のリソース制限コンポーネントは、制御グループおよびセキュリティ拡張Ｌｉｎｕｘ（登録商標）からなる群より選択されることによって、コンテナ・ベースの仮想化環境の１つ以上のリソースに関連する処理能力の改善を促進する、請求項２１に記載のコンピュータ・プログラム製品。
【請求項２３】
前記プログラム命令は、前記プロセッサによって、アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて前記コンテナ検査の制御レベルを定めることを前記プロセッサに行わせるために、前記プロセッサによってさらに実行可能である、請求項２１に記載のコンピュータ・プログラム製品。
【請求項２４】
前記プログラム命令は、前記プロセッサによって、１つ以上の書込み動作の実行禁止に基づいて仮想コンテナを検査することを前記プロセッサに行わせるために、前記プロセッサによってさらに実行可能である、請求項２１に記載のコンピュータ・プログラム製品。
【請求項２５】
コンピュータ実行可能コンポーネントを保存するメモリと、
前記メモリに保存された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを含むシステムであって、前記コンピュータ実行可能コンポーネントは、
コンテナ検査の１つ以上の検査動作を定めるコンテナ検査制御コンポーネントと、
前記１つ以上の検査動作に基づいて仮想コンテナを検査するサイドカー・コンテナ・コンポーネントと
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
主題の開示は仮想コンテナ化システムに関し、より具体的には仮想コンテナの状態の検査に関する。
【発明の概要】
【０００２】
以下に、本発明の１つ以上の実施形態の基本的理解を提供するための概要を提示する。この概要は、主要または重要な構成要素を識別することも、特定の実施形態の任意の範囲または請求項の任意の範囲を示すことも意図していない。この概要の唯一の目的は、後で提示されるより詳細な説明に対する前置きとして、簡略化した形の概念を提示することである。本明細書に記載される１つ以上の実施形態には、コンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進するシステム、コンピュータに実施される方法、もしくはコンピュータ・プログラム製品、またはその組み合わせが記載されている。
【０００３】
ある実施形態によると、システムは、コンピュータ実行可能コンポーネントを保存するメモリと、メモリに保存されたコンピュータ実行可能コンポーネントを実行するプロセッサとを含み得る。コンピュータ実行可能コンポーネントは、コンテナ検査の１つ以上の制限ケイパビリティを定め得るコンテナ検査制御コンポーネントを含み得る。コンピュータ実行可能コンポーネントはさらに、１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査し得るコンテナ検査コンポーネントを含み得る。
【０００４】
別の実施形態によると、コンピュータに実施される方法は、プロセッサに動作的に結合されたシステムによって、コンテナ検査の１つ以上の制限ケイパビリティを定めるステップを含み得る。コンピュータに実施される方法はさらに、システムによって、１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査するステップを含み得る。
【０００５】
別の実施形態によると、システムは、コンピュータ実行可能コンポーネントを保存するメモリと、メモリに保存されたコンピュータ実行可能コンポーネントを実行するプロセッサとを含み得る。コンピュータ実行可能コンポーネントは、コンテナ検査の１つ以上のリソース制限を定め得るコンテナ検査制御コンポーネントを含み得る。コンピュータ実行可能コンポーネントはさらに、１つ以上のリソース制限に基づいて仮想コンテナを検査し得るコンテナ検査コンポーネントを含み得る。
【０００６】
別の実施形態によると、コンテナ検査プロセスを促進できるコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、自身によって具現化されるプログラム命令を有するコンピュータ可読ストレージ媒体を含んでもよく、このプログラム命令は処理コンポーネントによって実行可能であることで、処理コンポーネントがプロセッサによってコンテナ検査の１つ以上のリソース制限コンポーネントを定めるようにさせ得る。加えてプログラム命令は、処理コンポーネントがプロセッサによって、１つ以上のリソース制限コンポーネントに基づいて仮想コンテナを検査するようにさせ得る。
【０００７】
別の実施形態によると、システムは、コンピュータ実行可能コンポーネントを保存するメモリと、メモリに保存されたコンピュータ実行可能コンポーネントを実行するプロセッサとを含み得る。コンピュータ実行可能コンポーネントは、コンテナ検査の１つ以上の検査動作を定め得るコンテナ検査制御コンポーネントを含み得る。コンピュータ実行可能コンポーネントはさらに、１つ以上の検査動作に基づいて仮想コンテナを検査し得るサイドカー・コンテナ・コンポーネントを含み得る。
【図面の簡単な説明】
【０００８】
【図１】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図２】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図３】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図４】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図５】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図６】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図７】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステムの例を示すブロック図である。
【図８】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なコンピュータに実施される方法の例を示す流れ図である。
【図９】本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なコンピュータに実施される方法の例を示す流れ図である。
【図１０】本明細書に記載される１つ以上の実施形態が促進され得る非限定的な動作環境の例を示すブロック図である。
【図１１】主題の開示の１つ以上の実施形態による非限定的なクラウド・コンピューティング環境の例を示すブロック図である。
【図１２】主題の開示の１つ以上の実施形態による非限定的な抽象化モデル・レイヤの例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下の詳細な説明は単なる例示であり、実施形態または実施形態の適用もしくは使用またはその組み合わせを限定することは意図されていない。さらに、先行する「技術分野」もしくは「発明の概要」のセクションまたは「発明を実施するための形態」のセクションにおいて提供された任意の表現または暗示された情報に結び付けられることは意図されていない。
【００１０】
ここでは図面を参照しながら１つ以上の実施形態を説明しており、図面においては全体にわたって類似の構成要素を示すために類似の参照番号が用いられている。以下の記載においては、説明の目的のために、１つ以上の実施形態のより完全な理解を提供するために多数の特定の詳細が示されている。しかし、さまざまな場合に、これらの特定の詳細なしでも１つ以上の実施形態が実現され得ることが明らかである。
【００１１】
図１は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム１００の例のブロック図を示す。いくつかの実施形態において、こうしたコンテナ・ベースの仮想化環境は、クラウド・コンピューティング環境を含み得る。
【００１２】
この開示はクラウド・コンピューティングに対する詳細な説明を含むが、本明細書に記述される教示の実現はクラウド・コンピューティング環境に限定されないことが理解されるべきである。むしろ本発明の実施形態は、現在公知であるか、または後に開発される任意のその他のタイプのコンピューティング環境とともに実現され得る。
【００１３】
クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話によって迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース（例、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは少なくとも５つの特性と、少なくとも３つのサービス・モデルと、少なくとも４つの配置モデルとを含んでもよい。
【００１４】
特性は次のとおりである。
オンデマンド・セルフサービス。クラウド消費者は、たとえばサーバ時間およびネットワーク・ストレージなどのコンピューティング・ケイパビリティを、必要に応じて自動的に、サービスのプロバイダとの人的対話を必要とせずに一方的にプロビジョニングできる。
広範なネットワーク・アクセス。ケイパビリティはネットワークを通じて利用可能であり、異種シンまたはシック・クライアント・プラットフォーム（例、携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
リソース・プール。マルチテナント・モデルを用いて複数の消費者にサービスするために、プロバイダのコンピューティング・リソースはプールされ、要求に従って異なる物理および仮想リソースが動的に割り当ておよび再割り当てされる。消費者は一般的に、提供されるリソースの正確な場所に対する制御も知識も有さないが、より高い抽象化レベルにおける場所（例、国、州、またはデータセンタ）を特定できてもよいという点で、場所独立性の意味が存在する。
迅速な順応性。ケイパビリティは、素早くスケール・アウトするために場合によっては自動的に、迅速かつ順応的にプロビジョニングされ、かつ素早くスケール・インするために迅速にリリースされ得る。消費者にとって、プロビジョニングのために利用可能なケイパビリティはしばしば無制限にみえ、任意のときに任意の量を購入できる。
サービスの測定。クラウド・システムは、サービスのタイプ（例、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に対して適切な何らかの抽象化レベルにおいて計測ケイパビリティを利用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用をモニタ、制御、および報告して、使用されるサービスのプロバイダおよび消費者の両方に対する透明性を提供できる。
【００１５】
サービス・モデルは次のとおりである。
サービスとしてのソフトウェア（ＳａａＳ：Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）。消費者に提供されるケイパビリティは、クラウド・インフラストラクチャにおいて実行されるプロバイダのアプリケーションの使用である。アプリケーションは、さまざまなクライアント・デバイスからたとえばウェブ・ブラウザ（例、ウェブ・ベースのｅメール）などのシン・クライアント・インターフェースを通じてアクセス可能である。消費者はネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション・ケイパビリティさえも含む基礎的なクラウド・インフラストラクチャを管理または制御することはなく、例外となり得るのは限られたユーザ特有のアプリケーション構成設定である。
サービスとしてのプラットフォーム（ＰａａＳ：Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）。消費者に提供されるケイパビリティは、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、消費者が作成または取得したアプリケーションのクラウド・インフラストラクチャへの配置である。消費者はネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎的なクラウド・インフラストラクチャを管理または制御することはないが、配置されたアプリケーションおよびおそらくはアプリケーション・ホスティング環境構成に対する制御を有する。
サービスとしてのインフラストラクチャ（ＩａａＳ：Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）。消費者に提供されるケイパビリティは、オペレーティング・システムおよびアプリケーションを含み得る、消費者が任意のソフトウェアを配置および実行することが可能な処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースのプロビジョニングである。消費者は基礎的なクラウド・インフラストラクチャを管理または制御することはないが、オペレーティング・システム、ストレージ、配置されたアプリケーションに対する制御、およびおそらくはネットワーク形成コンポーネント（例、ホスト・ファイアウォール）の選択に対する限られた制御を有する。
【００１６】
配置モデルは次のとおりである。
プライベート・クラウド。このクラウド・インフラストラクチャは、ある組織に対してのみ動作される。これはその組織または第３者によって管理されてもよく、オンプレミスまたはオフプレミスに存在してもよい。
コミュニティ・クラウド。このクラウド・インフラストラクチャは複数の組織によって共有され、共通する関心事項（例、任務、セキュリティ要件、ポリシー、およびコンプライアンスの検討）を有する特定のコミュニティをサポートする。これはそれらの組織または第３者によって管理されてもよく、オンプレミスまたはオフプレミスに存在してもよい。
パブリック・クラウド。このクラウド・インフラストラクチャは、一般人または大規模な産業グループに対して利用可能にされ、クラウド・サービスを販売する組織が所有している。
ハイブリッド・クラウド。このクラウド・インフラストラクチャは２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）の複合体であり、それらのクラウドは独特のエンティティを留めるが、データおよびアプリケーション・ポータビリティを可能にする標準または独自の技術（例、クラウド間のロード・バランシングのためのクラウド・バースティング）によってともに結合される。
【００１７】
クラウド・コンピューティング環境はサービス指向型であり、ステートレス性、低結合性、モジュラリティ、および意味的な相互運用性に焦点を合わせている。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【００１８】
ここで図１とともに続けると、いくつかの実施形態によると、システム１００は安全なシェル・コンテナ・システム１０２を含み得る。いくつかの実施形態において、安全なシェル・コンテナ・システム１０２はメモリ１０４、プロセッサ１０６、コンテナ検査制御コンポーネント１０８、コンテナ検査コンポーネント１１０、もしくはバス１１２、またはその組み合わせを含み得る。いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、ネットワーク１１４を介して１つ以上のコンテナ・ベースの仮想化環境１１６と通信し得る。いくつかの実施形態において、コンテナ・ベースの仮想化環境１１６は、１つ以上の仮想コンテナ１１８を含み得る。
【００１９】
当然のことながら、本明細書に開示されるさまざまな図面に示された主題の開示の実施形態は例示のためのみのものであるため、こうした実施形態のアーキテクチャは、図面に示されたシステム、デバイス、もしくは構成要素、またはその組み合わせに限定されない。たとえばいくつかの実施形態において、システム１００、安全なシェル・コンテナ・システム１０２、コンテナ・ベースの仮想化環境１１６、もしくは仮想コンテナ１１８、またはその組み合わせは、動作環境１０００および図１０を参照して本明細書に記載されるさまざまなコンピュータもしくはコンピューティング・ベースのエレメントまたはその両方をさらに含み得る。いくつかの実施形態において、こうしたコンピュータもしくはコンピューティング・ベースのエレメントまたはその両方は、図１または本明細書に開示されたその他の図面に関連して示されて説明されたシステム、デバイス、構成要素、もしくはコンピュータに実施される動作、またはその組み合わせのうちの１つ以上の実現に関連して用いられ得る。
【００２０】
複数の実施形態によると、メモリ１０４は、１つ以上のコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネントもしくは命令またはその両方を保存でき、この実行可能なコンポーネント（単数または複数）もしくは命令（単数または複数）またはその両方はプロセッサ１０６によって実行されるときに、それが定める動作のパフォーマンスを促進できる。たとえばメモリ１０４は、プロセッサ１０６によって実行されるときに、安全なシェル・コンテナ・システム１０２、コンテナ検査制御コンポーネント１０８、コンテナ検査コンポーネント１１０、コンテナ・ベースの仮想化環境１１６、もしくは仮想コンテナ１１８、またはその組み合わせに関して本明細書に記載されるさまざまな機能の実行を促進できるような、コンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネントもしくは命令またはその両方を保存できる。
【００２１】
いくつかの実施形態において、メモリ１０４は、１つ以上のメモリ・アーキテクチャを使用し得る揮発性メモリ（例、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、スタティックＲＡＭ（ＳＲＡＭ：ｓｔａｔｉｃ  ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ＲＡＭ）など）、もしくは不揮発性メモリ（例、リード・オンリ・メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、プログラマブルＲＯＭ（ＰＲＯＭ：ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ（登録商標）：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）など）、またはその両方を含み得る。メモリ１０４のさらなる例は、システム・メモリ１０１６および図１０を参照して後述される。メモリ１０４のこうした例は、主題の開示の任意の実施形態を実現するために使用され得る。
【００２２】
複数の実施形態によると、プロセッサ１０６は、メモリ１０４に保存され得る１つ以上のコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネントもしくは命令またはその両方を実現し得る１つ以上のタイプのプロセッサもしくは電子回路またはその両方を含み得る。たとえばプロセッサ１０６は、ロジック、制御、入力／出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）、演算、もしくはその類似物、またはその組み合わせを含むがそれに限定されない、こうしたコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネントもしくは命令またはその両方によって指定され得るさまざまな動作を行い得る。いくつかの実施形態において、プロセッサ１０６は、１つ以上の中央処理ユニット、マルチコア・プロセッサ、マイクロプロセッサ、デュアル・マイクロプロセッサ、マイクロコントローラ、システム・オン・ア・チップ（ＳＯＣ：Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）、アレイ・プロセッサ、ベクトル・プロセッサ、もしくは別のタイプのプロセッサ、またはその組み合わせを含み得る。
【００２３】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２、メモリ１０４、プロセッサ１０６、コンテナ検査制御コンポーネント１０８、もしくはコンテナ検査コンポーネント１１０、またはその組み合わせは、バス１１２を介して互いに通信的、電気的、もしくは動作的、またはその組み合わせで結合されることで、システム１００、安全なシェル・コンテナ・システム１０２、もしくはそれと結合された任意のコンポーネント、またはその組み合わせの機能を行い得る。いくつかの実施形態において、バス１１２は１つ以上のメモリ・バス、メモリ・コントローラ、ペリフェラル・バス、外部バス、ローカル・バス、もしくはさまざまなバス・アーキテクチャを使用し得る別のタイプのバス、またはその組み合わせを含み得る。バス１１２のさらなる例は、システム・バス１０１８および図１０を参照して後述される。バス１１２のこうした例は、主題の開示の任意の実施形態を実現するために使用され得る。
【００２４】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２もしくはコンテナ・ベースの仮想化環境１１６またはその両方は、プロセッサを含む任意のタイプのコンポーネント、マシン、デバイス、設備、装置、もしくは機器、またはその組み合わせを含んでもよいし、有線もしくはワイヤレスまたはその両方のネットワークとの効果的もしくは動作的またはその両方の通信が可能であってもよいし、あるいはその両方であってもよい。すべてのこうした実施形態が想定される。たとえば、安全なシェル・コンテナ・システム１０２もしくはコンテナ・ベースの仮想化環境１１６またはその両方は、サーバ・デバイス、コンピュータ・デバイス、汎用コンピュータ、特定目的コンピュータ、タブレット・コンピュータ・デバイス、ハンドヘルド・デバイス、サーバ・クラス・コンピューティング・マシンもしくはデータベースまたはその両方、ラップトップ・コンピュータ、ノート型コンピュータ、デスクトップ・コンピュータ、携帯電話、スマート・ホン、消費者用電化製品もしくは器具またはその両方、工業用もしくは商業用またはその両方のデバイス、情報端末、マルチメディア・インターネット可能電話、マルチメディア・プレーヤ、あるいは別のタイプのデバイス、あるいはその組み合わせを含み得る。
【００２５】
いくつかの実施形態において、システム１００のさまざまなコンポーネント（例、安全なシェル・コンテナ・システム１０２、コンテナ・ベースの仮想化環境１１６、仮想コンテナ１１８など）は、データ・ケーブル（例、高精細マルチメディア・インターフェース（ＨＤＭＩ（登録商標）：Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）、推奨基準（ＲＳ：ｒｅｃｏｍｍｅｎｄｅｄ  ｓｔａｎｄａｒｄ）２３２、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）ケーブルなど）を介して、（例、通信的、電気的、動作的などに）結合され得る。いくつかの実施形態において、システム１００のさまざまなコンポーネント（例、安全なシェル・コンテナ・システム１０２、コンテナ・ベースの仮想化環境１１６、仮想コンテナ１１８など）は、ネットワーク１１４を介して（例、通信的、電気的、動作的などに）結合され得る。複数の実施形態によると、ネットワーク１１４は、セルラ・ネットワーク、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）（例、インターネット）、またはローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含むがそれに限定されない有線およびワイヤレス・ネットワークを含み得る。たとえば、安全なシェル・コンテナ・システム１０２は、以下を含むがそれに限定されない事実上あらゆる所望の有線またはワイヤレス技術を用いて、１つ以上のコンテナ・ベースの仮想化環境１１６もしくは仮想コンテナ１１８またはその両方に（およびその逆に）通信し得る。ワイヤレス・フィデリティ（Ｗｉ−Ｆｉ（登録商標）：ｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙ）、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ：ｇｌｏｂａｌ  ｓｙｓｔｅｍ  ｆｏｒ  ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ユニバーサル・モバイル・テレコミュニケーション・システム（ＵＭＴＳ：ｕｎｉｖｅｒｓａｌ  ｍｏｂｉｌｅ  ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｓｙｓｔｅｍ）、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ（登録商標）：ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、拡張汎用パケット無線サービス（拡張ＧＰＲＳ：ｅｎｈａｎｃｅｄ  ｇｅｎｅｒａｌ  ｐａｃｋｅｔ  ｒａｄｉｏ  ｓｅｒｖｉｃｅ）、第３世代パートナーシップ・プロジェクト（３ＧＰＰ：ｔｈｉｒｄ  ｇｅｎｅｒａｔｉｏｎ  ｐａｒｔｎｅｒｓｈｉｐ  ｐｒｏｊｅｃｔ）ロング・ターム・エボリューション（ＬＴＥ：ｌｏｎｇ  ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ）、第３世代パートナーシップ・プロジェクト２（３ＧＰＰ２）ウルトラ・モバイル・ブロードバンド（ＵＭＢ：ｕｌｔｒａ  ｍｏｂｉｌｅ  ｂｒｏａｄｂａｎｄ）、高速パケット・アクセス（ＨＳＰＡ：ｈｉｇｈ  ｓｐｅｅｄ  ｐａｃｋｅｔ  ａｃｃｅｓｓ）、Ｚｉｇｂｅｅ（登録商標）およびその他の８０２．ＸＸワイヤレス技術もしくはレガシー・テレコミュニケーション技術またはその両方、ＢＬＵＥＴＯＯＴＨ（登録商標）、セッション初期化プロトコル（ＳＩＰ：Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＺＩＧＢ��Ｅ（登録商標）、ＲＦ４ＣＥプロトコル、ＷｉｒｅｌｅｓｓＨＡＲＴプロトコル、６ＬｏＷＰＡＮ（ＩＰｖ６オーバー・ロー・パワー・ワイヤレス・エリア・ネットワークス（ＩＰｖ６  ｏｖｅｒ  Ｌｏｗ  ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ））、Ｚ−Ｗａｖｅ、ＡＮＴ、超広帯域（ＵＷＢ：ｕｌｔｒａ−ｗｉｄｅｂａｎｄ）標準プロトコル、あるいはその他の専用および非専用通信プロトコル、あるいはその組み合わせ。こうした例において、安全なシェル・コンテナ・システム１０２は、安全なシェル・コンテナ・システム１０２と外部のシステム、ソース、もしくはデバイス、またはその組み合わせ（例、コンテナ・ベースの仮想化環境１１６、仮想コンテナ１１８など）との情報通信を促進するハードウェア（例、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、トランシーバ、デコーダ）、ソフトウェア（例、スレッドのセット、プロセスのセット、実行中のソフトウェア）、またはハードウェアとソフトウェアとの組み合わせを含み得る。
【００２６】
複数の実施形態によると、コンテナ・ベースの仮想化環境１１６は、クラウド・コンピューティング環境を含み得る。たとえばコンテナ・ベースの仮想化環境１１６は、１つ以上のエンティティ（例、エンド・ユーザ、たとえばゲスト・ユーザ、管理者ユーザなど）がクラウド・コンピューティング環境（クラウド・コンテナ環境）において１つ以上の仮想コンテナ（例、仮想ゲスト・コンテナ、たとえば仮想コンテナ１１８など）を実行（ラン）することを可能にするクラウド・プロバイダによってホストされるクラウド・コンピューティング環境（クラウド・コンテナ環境）を含み得る。
【００２７】
複数の実施形態によると、仮想コンテナ１１８は仮想コンテナを含み得る。本明細書において言及されるコンテナまたは仮想コンテナとは、仮想コンテナ化もしくはオペレーティング・システム仮想化またはその両方を示してもよく、こうしたコンテナまたは仮想コンテナはスタンドアロン・ソフトウェアの実行可能パッケージを含んでもよく、それは単一のオペレーティング・システム・カーネルを複数の他のコンテナと共有でき、かつ複数の他のコンテナと同じ仮想マシン上で実行（ラン）できる。
【００２８】
いくつかの実施形態において、仮想コンテナ１１８は、コンテナ・ベースの仮想化環境１１６の１つ以上のリソースを使用することによってコンテナ・ベースの仮想化環境１１６内で実行（ラン）できるソフトウェア・アプリケーションを含む仮想コンテナを含んでもよく、こうしたリソースは、コンテナ・ベースの仮想化環境１１６の他の仮想コンテナと共有され得る。たとえば仮想コンテナ１１８は、サーバ・デバイス（例、ホスト・サーバ・デバイス）、オペレーティング・システム・カーネル、メモリ、中央処理ユニット（ＣＰＵ）、ネットワーク、ストレージ、もしくは別のリソース、またはその組み合わせを含むがそれに限定されないコンテナ・ベースの仮想化環境１１６の１つ以上のリソースを使用することによってコンテナ・ベースの仮想化環境１１６内で実行（ラン）できるソフトウェア・アプリケーションを含み得る。いくつかの実施形態において、仮想コンテナ１１８は、コンテナ・ベースの仮想化環境１１６の中、外、もしくは内部、またはその組み合わせに移され得る。たとえば仮想コンテナ１１８は、コンテナ・ベースの仮想化環境１１６の中にアップロード（転送）されるか、そこからダウンロード（引き出）されるか、もしくはその内部に移されるか、またはその組み合わせが行われ得る仮想コンテナ画像を含み得る。
【００２９】
複数の実施形態によると、安全なシェル・コンテナ・システム１０２は、１つ以上のコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネントもしくは命令またはその両方を含んでもよく、こうしたコンポーネント（単数または複数）もしくは命令（単数または複数）またはその両方はプロセッサ１０６によって実行されるときに、それが定める動作のパフォーマンスを促進できる。さらに、多数の実施形態において、主題の開示のさまざまな図面を参照するか、または参照せずに本明細書に記載されている安全なシェル・コンテナ・システム１０２に関連する任意のコンポーネントは、１つ以上のコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネントもしくは命令またはその両方を含んでもよく、こうしたコンポーネント（単数または複数）もしくは命令（単数または複数）またはその両方はプロセッサ１０６によって実行されるときに、それが定める動作のパフォーマンスを促進できる。たとえば、コンテナ検査制御コンポーネント１０８、コンテナ検査コンポーネント１１０、もしくは本明細書において開示される安全なシェル・コンテナ・システム１０２に関連する任意のその他のコンポーネント（例、安全なシェル・コンテナ・システム１０２に通信的、電子的、もしくは動作的、またはその組み合わせで結合されるか、あるいは安全なシェル・コンテナ・システム１０２によって使用されるか、あるいはその両方であるもの）、またはその組み合わせは、こうしたコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネント（単数または複数）もしくは命令（単数または複数）またはその両方を含み得る。結果的に、多数の実施形態によると、本明細書において開示される安全なシェル・コンテナ・システム１０２もしくはそれに関連する任意のコンポーネントまたはその両方は、安全なシェル・コンテナ・システム１０２もしくはそれに関連する任意のこうしたコンポーネントまたはその両方を参照して本明細書に記載される１つ以上の動作のパフォーマンスを促進するために、こうしたコンピュータもしくはマシンまたはその両方が可読か、書込み可能か、もしくは実行可能か、またはその組み合わせであるコンポーネント（単数または複数）もしくは命令（単数または複数）またはその両方を実行するためにプロセッサ１０６を使用し得る。
【００３０】
複数の実施形態によると、安全なシェル・コンテナ・システム１０２は、コンテナ検査制御コンポーネント１０８、コンテナ検査コンポーネント１１０、コンテナ・ベースの仮想化環境１１６、もしくは仮想コンテナ１１８、またはその組み合わせによって実行されるか、もしくはそれに関連するか、またはその両方である動作のパフォーマンスを促進できる。たとえば、以下に詳細に説明するとおり、安全なシェル・コンテナ・システム１０２は、コンテナ検査の１つ以上の制限ケイパビリティを定め、その１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査するステップ、コンテナ検査の１つ以上のリソース制限コンポーネントを定め、その１つ以上のリソース制限コンポーネントに基づいて仮想コンテナを検査するステップ、コンテナ検査の１つ以上の検査動作を定め、その１つ以上の検査動作に基づいて仮想コンテナを検査するステップ、アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいてコンテナ検査の制御レベルを定めるステップ、仮想コンテナのメモリ状態、ディスク状態、またはネットワーク状態のうちの少なくとも１つを検査するステップ、仮想コンテナの稼働ランタイム状態を検査するステップ、１つ以上のリード・オンリ活動に基づいて仮想コンテナを検査するステップ、もしくは１つ以上の書込み動作の実行禁止に基づいて仮想コンテナを検査するステップ、またはその組み合わせを促進できる。
【００３１】
複数の実施形態によると、コンテナ検査制御コンポーネント１０８は、コンテナ検査の１つ以上の検査動作を定め得る。たとえばコンテナ検査制御コンポーネント１０８は、リード・オンリ動作、書込み動作の実行禁止、もしくは別の検査動作、またはその組み合わせを含むがそれに限定されない、仮想コンテナ検査において行われ得る（または、いくつかの実施形態においては行われ得ない）１つ以上の検査動作を定め得る。
【００３２】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、コンテナ検査の１つ以上の制限ケイパビリティを定め得る。たとえばコンテナ検査制御コンポーネント１０８は、たとえば検査中の仮想コンテナに対するアクセス制限（例、アクセス権限の制限）などの１つ以上の制限ケイパビリティを定め得る。
【００３３】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、コンテナ検査の１つ以上のリソース制限を定め得る。たとえばコンテナ検査制御コンポーネント１０８は、たとえばリソース使用制限（例、コンテナ・ベースの仮想化環境の１つ以上のリソースの使用制限）などの１つ以上のリソース制限を定め得る。いくつかの実施形態において、上述のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めるステップを促進するために、コンテナ検査制御コンポーネント１０８は、アクセス制御コンポーネント、リソース制限コンポーネント、もしくは別の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネントを使用できる。たとえば、上述のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めるステップを促進するために、コンテナ検査制御コンポーネント１０８は、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ（「ケイパビリティ」とも呼ばれる）、セキュア・コンピューティング・モード（ｓｅｃｃｏｍｐ：ｓｅｃｕｒｅ  ｃｏｍｐｕｔｉｎｇ  ｍｏｄｅ）、ｎｅｔｆｉｌｔｅｒ、制御グループ（ｃｇｒｏｕｐｓ：ｃｏｎｔｒｏｌ  ｇｒｏｕｐｓ）、セキュリティ拡張Ｌｉｎｕｘ（登録商標）（ｓｅｌｉｎｕｘ：Ｓｅｃｕｒｉｔｙ−Ｅｎｈａｎｃｅｄ  Ｌｉｎｕｘ（登録商標））、もしくは別の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネントを使用できる。
【００３４】
いくつかの実施形態において、上述のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めるステップを促進するために、コンテナ検査制御コンポーネント１０８は、アクセス制御コンポーネント、リソース制限コンポーネント、もしくは別の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネントの１つ以上の組み合わせを使用できる。たとえば、上述のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めるステップを促進するために、コンテナ検査制御コンポーネント１０８は、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ（ケイパビリティ）、ｓｅｃｃｏｍｐ、ｎｅｔｆｉｌｔｅｒ、ｃｇｒｏｕｐｓ、ｓｅｌｉｎｕｘ、もしくは別の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネントの１つ以上の組み合わせを使用できる。
【００３５】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、コンテナ・ベースの仮想化環境の仮想コンテナのコンテナ検査の１つ以上の検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定め得る。たとえばコンテナ検査制御コンポーネント１０８は、コンテナ・ベースの仮想化環境１１６の仮想コンテナ１１８の検査のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めてもよく、ここでコンテナ・ベースの仮想化環境１１６はクラウド・コンピューティング環境（クラウド・コンテナ環境）を含み得る。
【００３６】
いくつかの実施形態において、上述のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めるステップを促進するために、コンテナ検査制御コンポーネント１０８は、こうした定められた検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせをそれぞれ含む１つ以上のコンテナ検査コンポーネントの生成を可能にできる。たとえばコンテナ検査制御コンポーネント１０８は、エンティティ（例、エンド・ユーザ、たとえばゲスト・ユーザ、管理者ユーザなど）がこうした定められた検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせをそれぞれ含む１つ以上のコンテナ検査コンポーネントを生成することを可能にできるユーザ・インターフェース（例、コマンド・ライン・ユーザ・インターフェース）を含み得る。たとえばコンテナ検査制御コンポーネント１０８は、スタンドアロン検査プロセス（例、１つ以上のボーン・アゲイン・シェル（ＢＡＳＨ：Ｂｏｕｒｎｅ−Ａｇａｉｎ  Ｓｈｅｌｌ）コマンドの実行を介する）、サイドカー・コンテナ・コンポーネント（例、検査インスタンスを実施できる別個の仮想コンテナ）、もしくは別のコンテナ検査コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上のコンテナ検査コンポーネントの生成を可能にできる。この例において、こうした１つ以上のコンテナ検査コンポーネントの生成は、上述のこうした検査動作、制限ケイパビリティ、もしくはリソース制限、またはその組み合わせを定めるステップを構成し得る。
【００３７】
複数の実施形態によると、コンテナ検査コンポーネント１１０は仮想コンテナを検査できる。たとえばコンテナ検査コンポーネント１１０は、ネットワーク１１４を介してコンテナ・ベースの仮想化環境１１６の仮想コンテナ１１８を検査できる。
【００３８】
いくつかの実施形態において、コンテナ検査コンポーネント１１０は、１つ以上の検査動作に基づいて仮想コンテナを検査できる。たとえばコンテナ検査コンポーネント１１０は、上述のコンテナ検査制御コンポーネント１０８によって定められた１つ以上の検査動作に基づいて仮想コンテナ１１８を検査できる。たとえばコンテナ検査コンポーネント１１０は、リード・オンリ動作、コンテナ検査コンポーネント１１０による書込み動作の実行禁止、もしくは別の検査動作、またはその組み合わせを含むがそれに限定されない１つ以上の検査動作に基づいて仮想コンテナ１１８を検査できる。
【００３９】
いくつかの実施形態において、コンテナ検査コンポーネント１１０は、１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査できる。たとえばコンテナ検査コンポーネント１１０は、上述のコンテナ検査制御コンポーネント１０８によって定められた１つ以上の制限ケイパビリティ（例、アクセス権限の制限）に基づいて仮想コンテナ１１８を検査できる。
【００４０】
いくつかの実施形態において、コンテナ検査コンポーネント１１０は、１つ以上のリソース制限に基づいて仮想コンテナを検査できる。たとえばコンテナ検査コンポーネント１１０は、上述のコンテナ検査制御コンポーネント１０８によって定められた１つ以上のリソース制限（例、コンテナ検査コンポーネント１１０によるコンテナ・ベースの仮想化環境１１６の１つ以上のリソースの使用の制限）に基づいて仮想コンテナ１１８を検査できる。
【００４１】
いくつかの実施形態において、コンテナ検査コンポーネント１１０は仮想コンテナの状態を検査できる。たとえばコンテナ検査コンポーネント１１０は、メモリ状態、ディスク状態、ネットワーク状態、もしくは別の状態、またはその組み合わせを含むがそれに限定されない仮想コンテナ１１８の状態を検査できる。いくつかの実施形態において、コンテナ検査コンポーネント１１０は、仮想コンテナの稼働ランタイム状態を検査できる。たとえばコンテナ検査コンポーネント１１０は、仮想コンテナ１１８の稼働ランタイム状態（ランタイム環境）を検査できる。たとえばコンテナ検査コンポーネント１１０は、仮想コンテナ１１８がプロセス（すなわち、仮想コンテナ１１８のソフトウェア・アプリケーション）を実行（ラン）する間に仮想コンテナ１１８の状態を検査できる。いくつかの実施形態において、コンテナ検査コンポーネント１１０は検査インスタンス（例、スタンドアロン検査プロセス、スタンドアロン・プロセス・インスタンス、検査プロセスなど）を含み得る。たとえばコンテナ検査コンポーネント１１０は、エンティティ（例、エンド・ユーザ、たとえばゲスト・ユーザ、管理者ユーザなど）によって、安全なシェル・コンテナ・システム１０２もしくはコンテナ検査制御コンポーネント１０８またはその両方のユーザ・インターフェース（例、コマンド・ライン・ユーザ・インターフェース、たとえばＵｎｉｘシェルなど）に入力された１つ以上のＢＡＳＨコマンドの実行を介して生成され得る仮想コンテナ１１８に対する検査プロセスを含み得る。
【００４２】
いくつかの実施形態において、コンテナ検査コンポーネント１１０はサイドカー・コンテナ・コンポーネントを含み得る。たとえばコンテナ検査コンポーネント１１０は、検査インスタンス（例、仮想コンテナ１１８に対する検査プロセス）を実現できる別個の仮想コンテナ（例、安全なシェル・コンテナ）を含むサイドカー・コンテナ・コンポーネントを含み得る。
【００４３】
いくつかの実施形態において、コンテナ検査コンポーネント１１０は、１つ以上のカーネル構成、セキュリティ構成、もしくはコンテナ化構成、またはその組み合わせを含み得る。たとえばコンテナ検査コンポーネント１１０は、１つ以上のカーネル構成、セキュリティ構成、もしくはコンテナ化構成、またはその組み合わせを含むスタンドアロン・プロセス・インスタンス（スタンドアロン検査プロセス）を含み得る。別の例において、コンテナ検査コンポーネント１１０は、１つ以上のカーネル構成、セキュリティ構成、もしくはコンテナ化構成、またはその組み合わせを含むサイドカー・コンテナ・コンポーネントを含み得る。
【００４４】
いくつかの実施形態において、仮想コンテナ１１８のエンティティは、仮想コンテナ１１８を検査するためにコンテナ検査コンポーネント１１０を使用できる。たとえば、エンド・ユーザ、たとえばゲスト・ユーザ、管理者ユーザなどを含むがそれに限定されない仮想コンテナ１１８のエンティティ（例、図３を参照して後述されるエンティティ３０２）、もしくは仮想コンテナ１１８の別のエンティティ、またはその両方が、仮想コンテナ１１８の稼働ランタイム状態を検査するためにコンテナ検査コンポーネント１１０を使用できる。たとえば、仮想コンテナ１１８のこうしたエンティティは、リソース使用、アプリケーション挙動、パフォーマンス・メトリクス（例、スループット、アプリケーションの待ち時間など）、もしくは別の稼働ランタイム状態、またはその組み合わせを含むがそれに限定されない仮想コンテナ１１８の稼働ランタイム状態を検査するために、コンテナ検査コンポーネント１１０を使用できる。
【００４５】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２もしくはコンテナ検査制御コンポーネント１０８またはその両方は、エンティティが仮想コンテナ１１８を検査するためにコンテナ検査コンポーネント１１０の生成もしくは使用またはその両方を行うことを可能にできるユーザ・インターフェース（例、コマンド・ライン・ユーザ・インターフェース、たとえばＵｎｉｘシェルなど）を含み得る。たとえばいくつかの実施形態において、コンテナ検査コンポーネント１１０は、上述の別個の仮想コンテナ（例、安全なシェル・コンテナ）を含むサイドカー・コンテナ・コンポーネントを含んでもよく、エンティティ（例、エンティティ３０２）はこうしたユーザ・インターフェースを使用して、こうしたサイドカー・コンテナ・コンポーネントの（仮想的）アクセスもしくは使用またはその両方を行って、仮想コンテナ１１８を検査できる（例、図３、図４、図５、図６、および図７に示されるとおり）。
【００４６】
図２は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム２００の例のブロック図を示す。簡潔にするために、それぞれの実施形態において使用される類似の構成要素の説明の繰り返しは省略する。いくつかの実施形態によると、システム２００は安全なシェル・コンテナ・システム１０２を含み得る。いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は制御レベル・コンポーネント２０２を含み得る。
【００４７】
複数の実施形態によると、制御レベル・コンポーネント２０２は、アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて、コンテナ検査コンポーネントの制御レベルを定め得る。たとえば制御レベル・コンポーネント２０２は、アクセス制御コンポーネント、リソース制限コンポーネント、もしくはその他の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて、コンテナ検査コンポーネント１１０の制御レベルを定め得る。たとえば制御レベル・コンポーネント２０２は、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ（ケイパビリティ）、ｓｅｃｃｏｍｐ、ｎｅｔｆｉｌｔｅｒ、ｃｇｒｏｕｐｓ、ｓｅｌｉｎｕｘ、もしくは別の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて、コンテナ検査コンポーネント１１０の制御レベルを定め得る。
【００４８】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、１つ以上の制御コンポーネント（例、アクセス制御コンポーネント、リソース制限コンポーネントなど）の１つ以上の組み合わせに基づいて、コンテナ検査コンポーネント１１０の制御レベルを定めるステップを促進するために、制御レベル・コンポーネント２０２を使用できる。たとえば、コンテナ検査制御コンポーネント１０８は制御レベル・コンポーネント２０２を使用して、仮想コンテナ１１８への広範なアクセスを可能にする特定の制御コンポーネントと、こうした広範なアクセスを制限（限定）する別の制御コンポーネントとを組み合わせることによって、コンテナ検査コンポーネント１１０のアクセス権限の特定のレベルを定め得る。別の例において、コンテナ検査制御コンポーネント１０８は制御レベル・コンポーネント２０２を使用して、仮想コンテナ１１８（またはコンテナ・ベースの仮想化環境１１６）のリソース（単数または複数）の広範な使用を可能にする特定の制御コンポーネントと、こうした広範なリソース使用を制限（限定）する別の制御コンポーネントとを組み合わせることによって、コンテナ検査コンポーネント１１０によるリソース使用の特定のレベルを定め得る。これらの例において、アクセス権限もしくはリソース使用またはその両方のこうしたレベルを定めるステップは、コンテナ検査コンポーネント１１０の制御レベルの微調整を構成でき、これはいくつかの実施形態において、コンテナ検査コンポーネント１１０の制御レベルのカスタマイズを促進できる。
【００４９】
当然のことながら、安全なシェル・コンテナ・システム１０２は、リード・オンリ動作（すなわち、書込み権限なし）を用いた仮想コンテナの稼働（リアルタイム、ランタイム）状態のセキュアな検査を促進できることによって、ファイルの変更、ファイルの削除、パッケージのインストール、パッケージの除去、プロセスのクラッシュ、コンテンツのダウンロード、コンテンツのアップロード、不注意によるアプリケーションへの影響、ランタイム環境の摂動、アプリケーション依存性の破壊、アプリケーション挙動の変更、アプリケーション・パフォーマンスの低下、ネットワーク接続性の変化、リソース（例、ＣＰＵ、メモリ、ポートなど）の占領（独占）、ルートキットのインストール、権限の拡大、潜在的脆弱性の導入、コンテナ不変性の理想の侵害、もしくはその他の副次的影響、またはその組み合わせを含むがそれに限定されない副次的影響が生じる可能性をなくす。当然のことながら、安全なシェル・コンテナ・システム１０２は、ファイル（例、構成、ログ、データなど）の読取り、パッケージ・データベース（例、システム、アプリケーションなど）のクエリ、実行中のプロセスのリスト、オープン接続の表示、リソース使用（例、ＣＰＵ、メモリ、ネットワーク、ディスクなど）の監視、アプリケーション・パフォーマンスの追跡、脆弱性およびコンプライアンス・チェックの実行、パケット分析、イベント・プロファイリング、もしくはその他のリード・オンリ動作、またはその組み合わせを含むがそれに限定されないリード・オンリ動作を可能にできる。当然のことながら、安全なシェル・コンテナ・システム１０２は、よく知られたオペレーティング・システム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）インターフェースを提供できる（例、コンテナ検査コンポーネント１１０はよく知られたＯＳインターフェースであり得る）。当然のことながら、安全なシェル・コンテナ・システム１０２は、ユーティリティ再使用を提供できる（例、安全なシェル・コンテナ・システム１０２を使用するエンティティは、たとえばｎｅｔｃａｔ、パケット・フィルタ（ｐｆ：ｐａｃｋｅｔ  ｆｉｌｔｅｒ）などのユーティリティを再使用できる）。
【００５０】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、さまざまな技術に関連する仮想コンテナ検査システムもしくはプロセスまたはその両方であり得る。たとえば安全なシェル・コンテナ・システム１０２は、コンテナ・ベースの仮想化技術、コンテナ化技術、クラウド・ベースのコンピューティング技術、クラウド・コンテナ技術、セキュア・シェル技術、仮想オペレーティング・システム技術、仮想コンピューティング技術、もしくはその他の技術、またはその組み合わせに関連し得る。
【００５１】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、上に識別されたさまざまな技術に関連するシステム、デバイス、構成要素、動作ステップ、もしくは処理ステップ、またはその組み合わせに技術的改善を提供し得る。たとえば安全なシェル・コンテナ・システム１０２は、エンティティがリード・オンリ動作（すなわち、書込み権限なし）を用いて仮想コンテナの１つ以上の稼働ランタイム状態を検査することを可能にでき、こうしたエンティティは仮想コンテナに直接アクセスする必要がないため、検査中に仮想コンテナの任意の態様を意図的に、または不注意で変更する可能性がなくなる。
【００５２】
加えていくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、仮想コンテナによって使用されるオペレーティング・システム・カーネルを変更することなく、仮想コンテナのこうした検査に対する制御レベルの決定もしくは調節またはその両方を促進できる。たとえば、こうした制御のレベルの決定もしくは調節またはその両方を促進するために、安全なシェル・コンテナ・システム１０２は、広範囲および狭範囲（制限付き）のケイパビリティ、ならびに広範囲および狭範囲（制限付き）のリソース使用権限の組み合わせを含むコンテナ検査コンポーネント（例、コンテナ検査コンポーネント１１０）を生成できる。いくつかの実施形態において、こうした組み合わせは、仮想コンテナ検査を通じて安全なシェル・コンテナ・システム１０２が適用し得る制御レベルのカスタマイズもしくは微調整またはその両方を促進できる。
【００５３】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、コンテナ検査コンポーネント（例、コンテナ検査コンポーネント１１０）、仮想コンテナ（例、仮想コンテナ１１８）、またはコンテナ・ベースの仮想化環境の１つ以上のリソース（例、コンテナ・ベースの仮想化環境１１６の１つ以上のリソースに関連するＣＰＵ）のうちの少なくとも１つに関連するセキュリティの改善を促進できる。たとえば安全なシェル・コンテナ・システム１０２は、１つ以上のアクセス制御コンポーネント（例、権限分離４０２Ａ、ネームスペース４０２Ｂ、ケイパビリティ４０２Ｃ、ｓｅｃｃｏｍｐ４０２Ｄ、ｎｅｔｆｉｌｔｅｒ４０２Ｅなど）、もしくはリソース制限コンポーネント（例、ｃｇｒｏｕｐｓ４０４Ａ、ｓｅｌｉｎｕｘ４０４Ｂなど）、またはその両方を用いてコンテナ検査コンポーネント（例、コンテナ検査コンポーネント１１０）の決定もしくは生成またはその両方を行うことができ、これによって、仮想コンテナもしくはコンテナ・ベースの仮想化環境のリソースまたはその両方をコンテナ検査コンポーネントによる望まれないアクセスから保護でき、さらにコンテナ検査コンポーネントをリモート・エンティティ（例、第３者エンティティ）による望まれないアクセスから保護できる。
【００５４】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、コンテナ・ベースの仮想化環境の１つ以上のリソースに関連する処理ユニット（例、コンテナ・ベースの仮想化環境１１６の１つ以上のリソースに関連するＣＰＵ）に技術的改善を提供し得る。たとえば安全なシェル・コンテナ・システム１０２は、１つ以上のリソース制限コンポーネント（例、ｃｇｒｏｕｐｓ４０４Ａ、ｓｅｌｉｎｕｘ４０４Ｂなど）を用いてコンテナ検査コンポーネント（例、コンテナ検査コンポーネント１１０）の決定もしくは生成またはその両方を行うことができ、これによって、こうしたコンテナ・ベースの仮想化環境（例、コンテナ・ベースの仮想化環境１１６）の１つ以上のリソース（例、ＣＰＵ、メモリ、ネットワーク、カーネル、カーネル提供ポートなど）のコンテナ検査コンポーネントによるリソース使用を制限できる。この例において、こうしたリソース制限コンポーネント（単数または複数）は、コンテナ検査コンポーネントがコンテナ・ベースの仮想化環境のこうしたリソースを使用する能力を限定（制限）できることによって、他の動作を実行するためにこうしたリソースを利用可能にする（すなわち、能力を有するようにさせる）ことができる。加えていくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、コンテナ検査コンポーネントによる１つ以上の書込み動作の実行を防止し得ることによって、コンテナ・ベースの仮想化環境の１つ以上のリソースに関連する処理能力を妨げることなく、より安全な検査能力を促進できる。
【００５５】
いくつかの実施形態において、安全なシェル・コンテナ・システム１０２は、本質的に技術性が高く、抽象的でなく、かつ人間による精神的活動のセットとして行われ得ないような問題を解決するために、ハードウェアもしくはソフトウェアまたはその両方を使用できる。たとえば安全なシェル・コンテナ・システム１０２は、仮想コンテナ検査の１つ以上の制限ケイパビリティもしくはリソース制限またはその両方を自動的に定めて、コンテナ・ベースの仮想化環境における仮想コンテナの１つ以上の稼働ランタイム状態（例、メモリ状態、ディスク状態、ネットワーク状態など）の検査を促進できる（例、ＢＡＳＨコマンドもしくはサイドカー・コンテナ実施形態またはその両方を介する）コンテナ検査コンポーネントのスタンドアロン・プロセス・インスタンスを生成できる。この例において、こうしたコンテナ検査コンポーネントは、エンティティ（例、人間のユーザ）が仮想コンテナに直接アクセスすることなく、こうしたエンティティが仮想コンテナのこうした検査を促進することを可能にできる。
【００５６】
当然のことながら、安全なシェル・コンテナ・システム１０２は、人間の頭脳で再現したり、人間が行ったりすることのできない電気的コンポーネント、機械的コンポーネント、および回路のさまざまな組み合わせを使用した仮想コンテナ検査プロセスを行い得る。たとえば、広範囲および狭範囲のケイパビリティもしくはリソース制限またはその両方のさまざまな組み合わせを含み得るコンテナ検査コンポーネントのスタンドアロン・プロセス・インスタンスを生成するステップと、仮想コンテナの稼働ランタイム状態を検査するためにコンテナ・ベースの仮想化環境においてこうしたコンテナ検査コンポーネントをさらに実現するステップとは、人間の頭脳の能力よりも大きい動作である。たとえば、特定の期間にわたって安全なシェル・コンテナ・システム１０２によって処理されるデータの量、こうしたデータの処理速度、もしくは処理されるデータのタイプ、またはその組み合わせは、同じ期間に人間の頭脳によって処理され得る量、速度、もしくはデータ・タイプ、またはその組み合わせよりも大きいか、速いか、もしくはそれと異なるか、またはその組み合わせとなり得る。
【００５７】
いくつかの実施形態によると、安全なシェル・コンテナ・システム１０２は、上で参照した仮想コンテナ検査プロセスも行う一方で、１つ以上の他の機能の実行に対しても完全に動作的（例、完全に電源オンされる、完全に実行されるなど）であり得る。当然のことながら、こうした同時の複数動作の実行は、人間の頭脳の能力を超えている。加えて当然のことながら、安全なシェル・コンテナ・システム１０２は、たとえば人間のユーザなどのエンティティが手動で得ることが不可能な情報を含み得る。たとえば、コンテナ検査制御コンポーネント１０８、コンテナ検査コンポーネント１１０、コンテナ・ベースの仮想化環境１１６、仮想コンテナ１１８、制御レベル・コンポーネント２０２、システム３００、システム４００、システム５００、システム６００、もしくはシステム７００、またはその組み合わせに含まれる情報のタイプ、量、もしくは多様性、またはその組み合わせは、人間のユーザによって手動で得られる情報よりも複雑であり得る。
【００５８】
図３は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム３００の例のブロック図を示す。簡潔にするために、それぞれの実施形態において使用される類似の構成要素の説明の繰り返しは省略する。いくつかの実施形態によると、システム３００は、システム１００もしくはシステム２００またはその両方の代替的な非限定的な実施形態の例を含み得る。
【００５９】
いくつかの実施形態において、システム３００はコンテナ検査コンポーネント１１０（図３に示される実施形態においては「安全なシェル・コンテナ」と示される）を含み得る。いくつかの実施形態において、コンテナ検査コンポーネント１１０はエンティティ３０２（図３に示される実施形態においては「Ｕ」と示される）を含んでもよく、図３に示される実施形態は、仮想コンテナ１１８（図３に示される実施形態においては「ゲスト・コンテナ」と示される）を検査するためのコンテナ検査コンポーネント１１０を実施するエンティティ３０２を表し得る。いくつかの実施形態において、エンティティ３０２は、エンド・ユーザ、たとえばゲスト・ユーザ、管理者ユーザなどを含むがそれに限定されない仮想コンテナ１１８のエンティティか、もしくは仮想コンテナ１１８を検査するためにコンテナ検査コンポーネント１１０を使用できる仮想コンテナ１１８の別のエンティティか、またはその両方を含み得る。いくつかの実施形態において、システム３００はホスト３０４を含んでもよく、ホスト３０４はコンテナ・ベースの仮想化環境１１６のホストを含み得る。たとえばホスト３０４は、コンテナ・ベースの仮想化環境１１６のクラウド・プロバイダを表し得るサーバ・デバイスを含み得る。
【００６０】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、仮想コンテナ１１８の可視性（例、仮想コンテナ１１８の状態）を可能にしながら、検査中に仮想コンテナ１１８を保護するための１つ以上の制御コンポーネントを使用できる。たとえば、図１および図２を参照して上述したとおり、コンテナ検査制御コンポーネント１０８はこうした制御コンポーネントを使用して、コンテナ検査コンポーネント１１０のケイパビリティもしくは制限またはその両方を定めてもよく、コンテナ検査コンポーネント１１０は、こうしたケイパビリティもしくは制限またはその両方に基づいて仮想コンテナ１１８を検査するために（例、エンティティ３０２によって）使用され得る。
【００６１】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は１つ以上の制御コンポーネントを使用して、コンテナ検査コンポーネント１１０の可視性ケイパビリティ（図３の実施形態において例示される虫眼鏡のアイコンとして示される）もしくは制限（図３の実施形態において例示される南京錠として示される）またはその両方を定めることができ、コンテナ検査コンポーネント１１０は、こうした可視性ケイパビリティもしくは制限またはその両方に基づいて仮想コンテナ１１８を検査するために、エンティティ３０２によって使用され得る。たとえば、図１および図２を参照して上述したとおり、コンテナ検査制御コンポーネント１０８は、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ（ケイパビリティ）、ｓｅｃｃｏｍｐ、ｎｅｔｆｉｌｔｅｒ、ｃｇｒｏｕｐｓ、ｓｅｌｉｎｕｘ、もしくは別の制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上の制御コンポーネント（またはその組み合わせ）を使用することによって、こうした可視性ケイパビリティ（例、リード・オンリ・ライト）もしくは制限（例、書込み動作の実行禁止）またはその両方を定め得る。この例において、こうした可視性ケイパビリティもしくは制限またはその両方を定めることによって、エンティティ３０２もしくはコンテナ検査コンポーネント１１０またはその両方による変更から仮想コンテナ１１８を保護しながら、エンティティ３０２による（例、コンテナ検査コンポーネント１１０の仮想範囲からの）仮想コンテナ１１８への可視性を促進できる。
【００６２】
図４は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム４００の例のブロック図を示す。簡潔にするために、それぞれの実施形態において使用される類似の構成要素の説明の繰り返しは省略する。いくつかの実施形態によると、システム４００は、システム１００、システム２００、もしくはシステム３００、またはその組み合わせの代替的な非限定的な実施形態の例を含み得る。
【００６３】
いくつかの実施形態において、システム４００は、１つ以上の制御コンポーネント（例、図１および図２を参照して上述したもの）を使用することによってコンテナ検査制御コンポーネント１０８によって生成され得るコンテナ検査コンポーネント１１０を含み得る。いくつかの実施形態において、こうした制御コンポーネントは、権限分離４０２Ａ、ネームスペース４０２Ｂ、ケイパビリティ４０２Ｃ、ｓｅｃｃｏｍｐ４０２Ｄ、ｎｅｔｆｉｌｔｅｒ４０２Ｅ、もしくは別のアクセス制御コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上のアクセス制御コンポーネントを含み得る。いくつかの実施形態において、こうした制御コンポーネントは、ｃｇｒｏｕｐｓ４０４Ａ、ｓｅｌｉｎｕｘ４０４Ｂ、もしくは別のリソース制限コンポーネント、またはその組み合わせを含むがそれに限定されない１つ以上のリソース制限コンポーネントを含み得る。
【００６４】
いくつかの実施形態において、システム４００は仮想コンテナ１１８を含んでもよく、この仮想コンテナ１１８はコンテナ検査コンポーネント１１０によって検査され得る１つ以上の状態を含み得る。たとえば仮想コンテナ１１８は、ディスク状態４０６Ａ（図４に示される実施形態においては「ｒｏｏｔｆｓ」と示される）、メモリ状態４０６Ｂ（図４に示される実施形態においては「ｍｅｍ」と示される）、ネットワーク状態４０６Ｃ（図４に示される実施形態においては「ｎ／ｗ」と示される）、もしくは別の状態、またはその組み合わせを含むがそれに限定されない状態を含み得る。
【００６５】
いくつかの実施形態においては、図１、図２、および図３を参照して上述されるとおり、エンティティ３０２はコンテナ検査コンポーネント１１０を使用して、１つ以上の制御コンポーネントに基づいて仮想コンテナ１１８の１つ以上の稼働ランタイム状態を検査できる。たとえば、エンティティ３０２はコンテナ検査コンポーネント１１０を使用して、権限分離４０２Ａ、ネームスペース４０２Ｂ、ケイパビリティ４０２Ｃ、ｓｅｃｃｏｍｐ４０２Ｄ、ｎｅｔｆｉｌｔｅｒ４０２Ｅ、ｃｇｒｏｕｐｓ４０４Ａ、もしくはｓｅｌｉｎｕｘ４０４Ｂ、またはその組み合わせを含むがそれに限定されない制御コンポーネントに基づいて、ディスク状態４０６Ａ、メモリ状態４０６Ｂ、もしくはネットワーク状態４０６Ｃ、またはその組み合わせを含むがそれに限定されない稼働ランタイム状態を検査できる。いくつかの実施形態において、エンティティ３０２は、ディスク状態４０６Ａのログ・ファイルを検査するためにコンテナ検査コンポーネント１１０を使用できる。いくつかの実施形態において、エンティティ３０２は、メモリ状態４０６Ｂを検査してどのプロセスが実行中であるかを調べるためにコンテナ検査コンポーネント１１０を使用できる。いくつかの実施形態において、エンティティ３０２はネットワーク状態４０６Ｃを検査して、オープン・ネットワーク接続、データ転送速度、もしくは仮想コンテナ１１８と通信するエンティティ、またはその組み合わせを調べるためにコンテナ検査コンポーネント１１０を使用できる。
【００６６】
図５は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム５００の例のブロック図を示す。簡潔にするために、それぞれの実施形態において使用される類似の構成要素の説明の繰り返しは省略する。いくつかの実施形態によると、システム５００は、システム１００、システム２００、システム３００、もしくはシステム４００、またはその組み合わせの代替的な非限定的な実施形態の例を含み得る。
【００６７】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、アクセス制御コンポーネントもしくはリソース制限コンポーネントまたはその両方の１つ以上の組み合わせを使用して、コンテナ検査コンポーネント１１０のケイパビリティ（例、アクセス、可視性、読取り権限など）もしくは制限（例、リソース制限、書込み権限の禁止など）またはその両方を定め得る。図５に示される実施形態において、ケイパビリティは虫眼鏡のアイコン（可視性を表す）および星の杖のアイコン（アクセス、読取り権限、書込み権限などを表す）として示されるのに対し、制限は人間の手のアイコン（リソース制限、書込み権限の禁止などを表す）として示される。たとえばコンテナ検査制御コンポーネント１０８は、１つ以上のアクセス制御コンポーネントと１つ以上のリソース制限コンポーネントとを組み合わせるために制御レベル・コンポーネント２０２を使用できる。
【００６８】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、たとえば権限分離４０２Ａ（図５に示される実施形態においては「ｕｉｄ  ！＝０」と示される）などのアクセス制御コンポーネントと、たとえばｃｇｒｏｕｐｓ４０４Ａなどのリソース制限コンポーネントとを組み合わせるために制御レベル・コンポーネント２０２を使用できる。いくつかの実施形態において、ｃｇｒｏｕｐｓ４０４Ａは、メモリ使用、ＣＰＵ使用、もしくはその他のリソース使用、またはその組み合わせを含むがそれに限定されないコンテナ検査コンポーネント１１０によるリソース使用の制限を促進できるリソース制限コンポーネント（例、カーネル構成）を含み得る。たとえばｃｇｒｏｕｐｓ４０４Ａは、コンテナ・ベースの仮想化環境１１６の１つ以上のリソースのコンテナ検査コンポーネント１１０によるリソース使用の制限を促進できる。いくつかの実施形態において、権限分離４０２Ａ（ｕｉｄ  ！＝０）は、コンテナ検査コンポーネント１１０を非ルート・ユーザ（非特権ユーザとしても公知である）として動作させることを促進できる。たとえば、権限分離４０２Ａ（ｕｉｄ  ！＝０）はコンテナ検査コンポーネント１１０を非ルート・ユーザ（ルート・ユーザに対立するもの）として動作させることを促進でき、それによってコンテナ・ベースの仮想化環境１１６の仮想コンテナ１１８、ホスト３０４、もしくは別のリソースに対する影響の可能性を制限できる。
【００６９】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は複数のアクセス制御コンポーネントを組み合わせるために制御レベル・コンポーネント２０２を使用でき、こうしたアクセス制御コンポーネントの少なくとも１つは制限（例、アクセス制限）の働きをし得る。たとえばコンテナ検査制御コンポーネント１０８は、Ｒ／Ｏマウント５０２Ａと、ｃａｐ＿ｓｙｓ＿ｃｈｒｏｏｔ５０２Ｂもしくはｃａｐ＿ｄａｃ＿ｒｅａｄ＿ｓｅａｒｃｈ５０２Ｃまたはその両方とを組み合わせるために、制御レベル・コンポーネント２０２を使用できる。
【００７０】
いくつかの実施形態において、Ｒ／Ｏマウント５０２Ａは、コンテナ検査コンポーネント１１０がディスク状態４０６Ａにアクセスしても権限ファイルを読取らないことを可能にでき、一方でｃａｐ＿ｓｙｓ＿ｃｈｒｏｏｔ５０２Ｂおよびｃａｐ＿ｄａｃ＿ｒｅａｄ＿ｓｅａｒｃｈ５０２Ｃは、コンテナ検査コンポーネント１１０がこうした権限ファイルを読取ることを可能にできる（例、任意アクセス制御（ＤＡＣ：Ｄｉｓｃｒｅｔｉｏｎａｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）をバイパスすることによる）。こうした実施形態において、コンテナ検査コンポーネント１１０もしくは制御レベル・コンポーネント２０２またはその両方は、リード・オンリ・マウントのＲ／Ｏマウント５０２Ａを用いて、コンテナ検査コンポーネント１１０に仮想コンテナ１１８のルート・ファイルシステム（ｒｏｏｔｆｓ：ｒｏｏｔ  ｆｉｌｅｓｙｓｔｅｍ）をマウントできる。
【００７１】
図６は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム６００の例のブロック図を示す。簡潔にするために、それぞれの実施形態において使用される類似の構成要素の説明の繰り返しは省略する。いくつかの実施形態によると、システム６００は、システム１００、システム２００、システム３００、システム４００、もしくはシステム５００、またはその組み合わせの代替的な非限定的な実施形態の例を含み得る。
【００７２】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は複数のアクセス制御コンポーネントを組み合わせるために制御レベル・コンポーネント２０２を使用でき、こうしたアクセス制御コンポーネントの少なくとも１つは制限（例、書込み動作の実行禁止）の働きをし得る。たとえばコンテナ検査制御コンポーネント１０８は、ｐｉｄネームスペース６０２Ａと、ｃａｐ＿ｓｙｓ＿ｐｔｒａｃｅ６０２Ｂもしくはｓｅｃｃｏｍｐ  ｐｔｒａｃｅ（）６０２Ｃまたはその両方とを組み合わせるために、制御レベル・コンポーネント２０２を使用できる。
【００７３】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８もしくは制御レベル・コンポーネント２０２またはその両方は、ｐｉｄネームスペース６０２Ａを共有でき、このｐｉｄネームスペース６０２Ａは、コンテナ検査コンポーネント１１０がメモリ状態４０６Ｂにアクセスして、たとえば仮想コンテナ１１８もしくはホスト３０４またはその両方の実行中のプロセスもしくはリソースまたはその両方などを調べることを可能にできるカーネル構成を含み得る。いくつかの実施形態において、ｃａｐ＿ｓｙｓ＿ｐｔｒａｃｅ６０２Ｂは、コンテナ検査コンポーネント１１０がメモリ状態４０６Ｂの権限ファイル（例、メモリ状態４０６Ｂのｐｒｏｃファイルシステム（ｐｒｏｃｆｓ：ｐｒｏｃ  ｆｉｌｅｓｙｓｔｅｍ））にアクセスすることを可能にできる。いくつかの実施形態において、ｃａｐ＿ｓｙｓ＿ｐｔｒａｃｅ６０２Ｂは、コンテナ検査コンポーネント１１０が権限の読取りもしくは書込みまたはその両方を行う（例、書込み動作を実行する）ことを可能にできる。したがっていくつかの実施形態において、コンテナ検査制御コンポーネント１０８もしくは制御レベル・コンポーネント２０２またはその両方は、ｓｅｃｃｏｍｐ  ｐｔｒａｃｅ（）６０２Ｃを使用して、コンテナ検査コンポーネント１１０もしくはエンティティ３０２またはその両方が書込み動作を実行する（例、仮想コンテナ１１８もしくはホスト３０４またはその両方のプロセスを終了させる）ことを防止できる。こうした実施形態において、ｐｉｄネームスペース６０２Ａとｃａｐ＿ｓｙｓ＿ｐｔｒａｃｅ６０２Ｂおよびｓｅｃｃｏｍｐ  ｐｔｒａｃｅ（）６０２Ｃとの組み合わせは、コンテナ検査コンポーネント１１０もしくはエンティティ３０２またはその両方がメモリ状態４０６Ｂのｐｔｒａｃｅ読取りケイパビリティを有することを可能にできる。
【００７４】
図７は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なシステム７００の例のブロック図を示す。簡潔にするために、それぞれの実施形態において使用される類似の構成要素の説明の繰り返しは省略する。いくつかの実施形態によると、システム７００は、システム１００、システム２００、システム３００、システム４００、システム５００、もしくはシステム６００、またはその組み合わせの代替的な非限定的な実施形態の例を含み得る。
【００７５】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８は、複数のアクセス制御コンポーネントと１つ以上のリソース制限コンポーネントとを組み合わせるために制御レベル・コンポーネント２０２を使用できる。たとえばコンテナ検査制御コンポーネント１０８は、ｎｅｔネームスペース７０２Ａと、ｎｅｔｆｉｌｔｅｒ７０２Ｂもしくはｓｅｌｉｎｕｘ  ｂｉｎｄ（）７０２Ｃまたはその両方とを組み合わせるために、制御レベル・コンポーネント２０２を使用できる。
【００７６】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８もしくは制御レベル・コンポーネント２０２またはその両方はｎｅｔネームスペース７０２Ａを共有でき、このｎｅｔネームスペース７０２Ａは、コンテナ検査コンポーネント１１０が仮想コンテナ１１８のネットワーク使用を調べることを可能にできる。たとえばｎｅｔネームスペース７０２Ａは、コンテナ検査コンポーネント１１０もしくはエンティティ３０２またはその両方がネットワーク状態４０６Ｃにアクセスして、仮想コンテナ１１８のオープン・ネットワーク接続、仮想コンテナ１１８による受信もしくは送信またはその両方が行われるデータの量、またはその他の情報、あるいはその組み合わせを含むがそれに限定されないネットワーク情報を調べることを可能にできる。
【００７７】
いくつかの実施形態において、ｎｅｔネームスペース７０２Ａは、コンテナ検査コンポーネント１１０が仮想コンテナ１１８の外側のエンティティ（例、リモート・エンティティまたは第３者エンティティ、たとえばコンテナ・ベースの仮想化環境１１６のエンティティまたは別のエンティティなど）と通信する（例、データ、ファイルなどの送信もしくは受信またはその両方を行う）ことを可能にできる。こうした実施形態において、ｎｅｔネームスペース７０２Ａはコンテナ検査コンポーネント１１０によるネットワーク・アクセスを可能にできるため、ｎｅｔネームスペース７０２Ａは仮想コンテナ１１８、仮想コンテナ１１８に隣接する仮想コンテナ、もしくはホスト３０４、またはその組み合わせに対するセキュリティ・リスク（例、外側のエンティティが仮想コンテナ１１８を乗っ取るリスク）を生じ得る。したがっていくつかの実施形態において、コンテナ検査制御コンポーネント１０８もしくは制御レベル・コンポーネント２０２またはその両方はｎｅｔｆｉｌｔｅｒ７０２Ｂを使用して、コンテナ検査コンポーネント１１０もしくはエンティティ３０２またはその両方が、こうしたネットワーク・アクセスを介して任意のパケット（例、通信、データ、ファイルなど）の受信もしくは送信またはその両方を行うことを防止できる。
【００７８】
いくつかの実施形態において、コンテナ検査制御コンポーネント１０８もしくは制御レベル・コンポーネント２０２またはその両方はｓｅｌｉｎｕｘ  ｂｉｎｄ（）７０２Ｃを使用でき、このｓｅｌｉｎｕｘ  ｂｉｎｄ（）７０２Ｃはコンテナ検査コンポーネント１１０が結合できるカーネル提供ポートの数を限定（制限）できることによって、カーネル（例、ホスト３０４のカーネル）によって提供されるほとんどのポートを仮想コンテナ１１８が動作を実行するために利用可能にできる。たとえば、コンテナ検査制御コンポーネント１０８もしくは制御レベル・コンポーネント２０２またはその両方はｓｅｌｉｎｕｘ  ｂｉｎｄ（）７０２Ｃを使用して、コンテナ検査コンポーネント１１０が少ない数のポート（例、１０ポート）もしくはローカル・ポートまたはその両方と結合するように制限できる。この例において、ｓｅｌｉｎｕｘ  ｂｉｎｄ（）７０２Ｃは、仮想コンテナ１１８が結合して動作を実行する適用のために利用可能なポートがなくなるという結果をもたらし得る、コンテナ検査コンポーネント１１０がカーネル（例、ホスト３０４のカーネル）によって提供される任意もしくはすべてまたはその両方の利用可能ポートに結合することを防止できる。
【００７９】
図８は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なコンピュータに実施される方法８００の例の流れ図を示している。簡潔にするために、本明細書に記載される他の実施形態において使用される類似の構成要素の説明の繰り返しは省略する。
【００８０】
８０２において、プロセッサ（例、プロセッサ１０６）に動作的に結合されたシステムによって（例、安全なシェル・コンテナ・システム１０２もしくはコンテナ検査制御コンポーネント１０８またはその両方を介して）、コンテナ検査（例、コンテナ・ベースの仮想化環境の仮想コンテナの１つ以上の状態の検査）の１つ以上の制限ケイパビリティ（例、アクセス権限、可視性、読取り動作、書込み動作など）を定める。
【００８１】
８０４において、システムによって（例、安全なシェル・コンテナ・システム１０２、コンテナ検査コンポーネント１１０、もしくはコンテナ検査コンポーネント１１０を実施するエンティティ３０２、またはその組み合わせを介して）、１つ以上の制限ケイパビリティに基づいて仮想コンテナ（例、仮想コンテナ１１８）を検査する。
【００８２】
図９は、本明細書に記載される１つ以上の実施形態によるコンテナ・ベースの仮想化環境のコンテナ検査コンポーネントを促進する非限定的なコンピュータに実施される方法９００の例の流れ図を示している。簡潔にするために、本明細書に記載される他の実施形態において使用される類似の構成要素の説明の繰り返しは省略する。
【００８３】
９０２において、プロセッサ（例、プロセッサ１０６）に動作的に結合されたシステムによって（例、安全なシェル・コンテナ・システム１０２もしくはコンテナ検査制御コンポーネント１０８またはその両方を介して）、コンテナ検査（例、コンテナ・ベースの仮想化環境の仮想コンテナの１つ以上の状態の検査）の１つ以上のリソース制限（例、リソース使用制限）を定める。
【００８４】
９０４において、システムによって（例、安全なシェル・コンテナ・システム１０２もしくはコンテナ検査制御コンポーネント１０８またはその両方を介して）、コンテナ検査の１つ以上の制限ケイパビリティ（例、アクセス権限、可視性、読取り動作、書込み動作など）を定める。
【００８５】
９０６において、システムによって（例、安全なシェル・コンテナ・システム１０２、コンテナ検査制御コンポーネント１０８、もしくは制御レベル・コンポーネント２０２、またはその組み合わせを介して）、アクセス制御コンポーネント（例、権限分離４０２Ａ、ネームスペース４０２Ｂ、ケイパビリティ４０２Ｃ、ｓｅｃｃｏｍｐ４０２Ｄ、ｎｅｔｆｉｌｔｅｒ４０２Ｅなど）およびリソース制限コンポーネント（例、ｃｇｒｏｕｐｓ４０４Ａ、ｓｅｌｉｎｕｘ４０４Ｂなど）からなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて、コンテナ検査の制御レベルを定める。
【００８６】
９０８において、システムによって（例、安全なシェル・コンテナ・システム１０２、コンテナ検査コンポーネント１１０、もしくはコンテナ検査コンポーネント１１０を実施するエンティティ３０２、またはその組み合わせを介して）、１つ以上の制限ケイパビリティか、１つ以上のリソース制限か、または１つ以上の組み合わせのうちの少なくとも１つに基づいて、仮想コンテナ（例、仮想コンテナ１１８）を検査する。
【００８７】
説明を簡単にするために、コンピュータに実施される方法は一連の活動として示されて記載されている。主題のイノベーションは示される活動もしくは活動の順序またはその両方によって限定されないことが理解および認識されるべきであり、たとえば活動はさまざまな順序で、もしくは同時に、またはその両方で起こってもよく、かつ本明細書に提示および記載されていない他の活動とともに起こってもよい。さらに、開示される主題によるコンピュータに実施される方法を実施するために、示される活動のすべてが必要とされなくてもよい。加えて、コンピュータに実施される方法は代替的に、状態図またはイベントを介して一連の相互に関係する状態として表されてもよいことを当業者は理解および認識するだろう。加えてさらに、この明細書の以下および全体に開示されるコンピュータに実施される方法は、こうしたコンピュータに実施される方法をコンピュータに輸送して移すことを容易にするための製造物に保存され得ることが認識されるべきである。本明細書において用いられる製造物という用語は、任意のコンピュータ可読デバイスまたはストレージ媒体からアクセス可能なコンピュータ・プログラムを包含することが意図される。
【００８８】
開示される主題のさまざまな態様に対する状況を提供するために、図１０および以下の考察は、開示される主題のさまざまな態様が実現され得る好適な環境の一般的な説明を提供することが意図されている。図１０は、本明細書に記載される１つ以上の実施形態が促進され得る非限定的な動作環境の例のブロック図を示す。簡潔にするために、本明細書に記載される他の実施形態において使用される類似の構成要素の説明の繰り返しは省略する。
【００８９】
図１０を参照すると、この開示のさまざまな態様を実現するための好適な動作環境１０００は、コンピュータ１０１２も含み得る。コンピュータ１０１２は処理ユニット１０１４、システム・メモリ１０１６、およびシステム・バス１０１８も含み得る。システム・バス１０１８は、システム・メモリ１０１６を含むがそれに限定されないシステム・コンポーネントを、処理ユニット１０１４に結合する。処理ユニット１０１４は、さまざまな利用可能なプロセッサのいずれかであり得る。デュアル・マイクロプロセッサおよびその他のマルチプロセッサ・アーキテクチャも、処理ユニット１０１４として使用され得る。システム・バス１０１８はいくつかのタイプのバス構造（単数または複数）のいずれかであってもよく、それはメモリ・バスもしくはメモリ・コントローラ、ペリフェラル・バスもしくは外部バス、または任意のさまざまな利用可能なバス・アーキテクチャを用いたローカル・バス、あるいはその組み合わせを含み、そのバス・アーキテクチャはインダストリアル・スタンダード・アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロチャネル・アーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、拡張ＩＳＡ（ＥＩＳＡ：Ｅｘｔｅｎｄｅｄ  ＩＳＡ）、インテリジェント・ドライブ・エレクトロニクス（ＩＤＥ：Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＶＥＳＡローカル・バス（ＶＬＢ：ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ）、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、カード・バス、ユニバーサル・シリアル・バス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、アドバンスト・グラフィックス・ポート（ＡＧＰ：Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、Ｆｉｒｅｗｉｒｅ（登録商標）（ＩＥＥＥ１３９４）、および小型コンピュータ・システム・インターフェース（ＳＣＳＩ：Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）を含むがそれに限定されない。
【００９０】
システム・メモリ１０１６は、揮発性メモリ１０２０および不揮発性メモリ１０２２も含み得る。たとえば起動時などにコンピュータ１０１２内のエレメント間で情報を移行するための基本的ルーチンを含む基本入力／出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）が不揮発性メモリ１０２２に保存される。コンピュータ１０１２は、取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ・ストレージ媒体も含み得る。たとえば図１０は、ディスク・ストレージ１０２４を示す。ディスク・ストレージ１０２４は、磁気ディスク・ドライブ、フレキシブル・ディスク・ドライブ、テープ・ドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュ・メモリ・カード、またはメモリ・スティック（登録商標）などのデバイスも含み得るが、それに限定されない。ディスク・ストレージ１０２４は、別個または他のストレージ媒体と組み合わせたストレージ媒体も含み得る。ディスク・ストレージ１０２４のシステム・バス１０１８に対する接続を容易にするために、たとえばインターフェース１０２６などの取り外し可能または取り外し不可能なインターフェースが通常用いられる。図１０は、ユーザと好適な動作環境１０００において記載される基本的コンピュータ・リソースとの仲介の働きをするソフトウェアも示している。こうしたソフトウェアは、たとえばオペレーティング・システム１０２８なども含み得る。ディスク・ストレージ１０２４に保存され得るオペレーティング・システム１０２８は、コンピュータ１０１２のリソースの制御および割り当ての働きをする。
【００９１】
システム・アプリケーション１０３０は、たとえばシステム・メモリ１０１６またはディスク・ストレージ１０２４のいずれかに保存されたプログラム・モジュール１０３２およびプログラム・データ１０３４を通じたオペレーティング・システム１０２８によるリソースの管理を利用する。当然のことながら、この開示はさまざまなオペレーティング・システムまたはオペレーティング・システムの組み合わせによって実現され得る。ユーザは、入力デバイス（単数または複数）１０３６を通じてコンピュータ１０１２にコマンドまたは情報を入力する。入力デバイス１０３６は、たとえばマウスなどのポインティング・デバイス、トラックボール、スタイラス、タッチ・パッド、キーボード、マイクロホン、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナ、ＴＶチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、およびウェブ・カメラなどを含むが、それに限定されない。これらおよびその他の入力デバイスは、インターフェース・ポート（単数または複数）１０３８を介してシステム・バス１０１８を通じて処理ユニット１０１４に接続する。インターフェース・ポート（単数または複数）１０３８は、たとえばシリアル・ポート、パラレル・ポート、ゲーム・ポート、およびユニバーサル・シリアル・バス（ＵＳＢ）などを含む。出力デバイス（単数または複数）１０４０は、入力デバイス（単数または複数）１０３６と同じタイプのポートのいくつかを用いる。よってたとえば、コンピュータ１０１２に入力を提供し、かつコンピュータ１０１２から出力デバイス１０４０に情報を出力するために、ＵＳＢポートが用いられ得る。たとえばモニタ、スピーカ、およびプリンタなど、他の出力デバイス１０４０の中でも特別なアダプタを必要とするいくつかの出力デバイス１０４０が存在することを例示するために、出力アダプタ１０４２が提供されている。限定ではなく例示として、出力アダプタ１０４２は、出力デバイス１０４０とシステム・バス１０１８との接続手段を提供するビデオおよびサウンド・カードを含む。なお、たとえばリモート・コンピュータ（単数または複数）１０４４など、他のデバイスもしくはデバイスのシステムまたはその両方は、入力および出力ケイパビリティの両方を提供する。
【００９２】
コンピュータ１０１２は、たとえばリモート・コンピュータ（単数または複数）１０４４などの１つ以上のリモート・コンピュータとの論理的接続を用いるネットワーク化環境において動作し得る。リモート・コンピュータ（単数または複数）１０４４はコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサ・ベースのアプライアンス、ピア・デバイスまたはその他の一般的なネットワーク・ノードなどであってもよく、通常はコンピュータ１０１２に関して記載される構成要素の多くまたはすべてをも含み得る。簡潔にする目的のために、リモート・コンピュータ（単数または複数）１０４４とともにメモリ・ストレージ・デバイス１０４６のみが示されている。リモート・コンピュータ（単数または複数）１０４４は、ネットワーク・インターフェース１０４８を通じてコンピュータ１０１２に論理的に接続され、次いで通信接続１０５０を介して物理的に接続される。ネットワーク・インターフェース１０４８は、たとえばローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、セルラ・ネットワークなどの有線もしくはワイヤレスまたはその両方の通信ネットワークを包含する。ＬＡＮ技術はファイバ分散データ・インターフェース（ＦＤＤＩ：Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、銅分散データ・インターフェース（ＣＤＤＩ：Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）、およびトークン・リングなどを含む。ＷＡＮ技術はポイント・ツー・ポイント・リンク、回路交換ネットワーク、たとえばインテグレーテッド・サービス・デジタル・ネットワーク（ＩＳＤＮ：Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋｓ）およびその変形など、パケット交換ネットワーク、ならびにデジタル加入者線（ＤＳＬ：Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅｓ）を含むが、それに限定されない。通信接続（単数または複数）１０５０は、ネットワーク・インターフェース１０４８をシステム・バス１０１８に接続するために使用されるハードウェア／ソフトウェアを示す。明瞭な例示のために、通信接続１０５０はコンピュータ１０１２の内側に示されているが、通信接続１０５０はコンピュータ１０１２の外部にもなり得る。ネットワーク・インターフェース１０４８への接続のためのハードウェア／ソフトウェアは、単なる例示の目的で、たとえば通常の電話グレードのモデム、ケーブル・モデム、およびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、ならびにイーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）カードなどの内部および外部技術も含み得る。
【００９３】
ここで図１１を参照すると、例示的なクラウド・コンピューティング環境１１５０が示されている。示されるとおり、クラウド・コンピューティング環境１１５０は１つ以上のクラウド・コンピューティング・ノード１１１０を含み、たとえばパーソナル・デジタル・アシスタント（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）もしくは携帯電話１１５４Ａ、デスクトップ・コンピュータ１１５４Ｂ、ラップトップ・コンピュータ１１５４Ｃ、または自動車のコンピュータ・システム１１５４Ｎ、あるいはその組み合わせなどの、クラウド消費者によって用いられるローカル・コンピュータ・デバイスが、このクラウド・コンピューティング・ノード１１１０によって通信してもよい。ノード１１１０は互いに通信してもよい。これらのノードは、たとえば上述したプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組み合わせなどの１つ以上のネットワークにおいて、物理的または仮想的にグループ化（図示せず）されてもよい。このことは、クラウド・コンピューティング環境１１５０がインフラストラクチャ、プラットフォーム、もしくはソフトウェア、またはその組み合わせを、クラウド消費者がそれに対するリソースをローカル・コンピュータ・デバイスにおいて維持する必要のないサービスとして提供することを可能にする。図１１に示されるコンピュータ・デバイス１１５４Ａ〜Ｎのタイプは単なる例示であることが意図されており、コンピューティング・ノード１１１０およびクラウド・コンピューティング環境１１５０は、任意のタイプのネットワークもしくはネットワーク・アドレス可能接続（例、ウェブ・ブラウザを使用するもの）またはその両方を通じて、任意のタイプのコンピュータ・デバイスと通信できることが理解される。
【００９４】
ここで図１２を参照すると、クラウド・コンピューティング環境１１５０（図１１）によって提供される機能的抽象化レイヤのセットが示されている。図１２に示されるコンポーネント、レイヤ、および機能は単なる例示であることが意図されており、本発明の実施形態はそれらに限定されないことが予め理解されるべきである。示されるとおり、以下のレイヤおよび対応する機能が提供される。
【００９５】
ハードウェアおよびソフトウェア・レイヤ１２６０は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム１２６１、ＲＩＳＣ（縮小命令セット・コンピュータ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ））アーキテクチャ・ベースのサーバ１２６２、サーバ１２６３、ブレード・サーバ１２６４、ストレージ・デバイス１２６５、ならびにネットワークおよびネットワーク形成コンポーネント１２６６を含む。いくつかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア１２６７およびデータベース・ソフトウェア１２６８を含む。
【００９６】
仮想化レイヤ１２７０は抽象化レイヤを提供し、この抽象化レイヤから仮想エンティティの以下の例が提供されてもよい。仮想サーバ１２７１、仮想ストレージ１２７２、仮想プライベート・ネットワークを含む仮想ネットワーク１２７３、仮想アプリケーションおよびオペレーティング・システム１２７４、ならびに仮想クライアント１２７５。
【００９７】
一例において、管理レイヤ１２８０は以下に記載される機能を提供してもよい。リソース・プロビジョニング１２８１は、クラウド・コンピューティング環境内でタスクを行うために使用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計測および価格決定１２８２は、クラウド・コンピューティング環境内でリソースが使用される際のコスト追跡と、これらのリソースの消費に対する請求書またはインボイスの送付とを提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド消費者およびタスクに対するアイデンティティ検証、ならびにデータおよびその他のリソースの保護を提供する。ユーザ・ポータル１２８３は、消費者およびシステム管理者に対するクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理１２８４は、要求されるサービス・レベルが満たされるようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル・アグリーメント（ＳＬＡ：Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）計画および実現１２８５は、ＳＬＡによって将来の要求が予測されるクラウド・コンピューティング・リソースに対する事前の取り決めおよびその調達を提供する。
【００９８】
ワークロード・レイヤ１２９０は、クラウド・コンピューティング環境が使用され得る機能の例を提供する。このレイヤから提供され得るワークロードおよび機能の非限定的な例は、マッピングおよびナビゲーション１２９１、ソフトウェア開発およびライフサイクル管理１２９２、仮想教室の教育配信１２９３、データ分析処理１２９４、トランザクション処理１２９５、および安全なシェル・コンテナ・ソフトウェア１２９６を含む。
【００９９】
本発明は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、装置、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を行わせるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体（または複数の媒体）を含み得る。コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および保存できる有形デバイスであり得る。コンピュータ可読ストレージ媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的リストは以下も含み得る。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリ・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック（登録商標）、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読ストレージ媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波（例、光ファイバ・ケーブルを通過する光パルス）、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号であると解釈されるべきではない。
【０１００】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含み得る。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体におけるストレージのために転送する。本発明の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または１つ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばＳｍａｌｌｔａｌｋ（登録商標）、またはＣ＋＋など、および手続き型プログラミング言語、たとえば「Ｃ」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、（たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて）外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙｓ）などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行し得る。
【０１０１】
本明細書においては、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実現され得ることが理解されるだろう。これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能／活動を実現するための手段を生じ得る。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイスまたはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読ストレージ媒体にも保存されることによって、命令が保存されたコンピュータ可読ストレージ媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能／活動の態様を実現する命令を含む製造物を含むようにしてもよい。コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作活動を行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能／活動を実現し得る。
【０１０２】
図面における流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実現のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能（単数または複数）を実現するための１つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こり得る。たとえば、連続して示される２つのブロックは、実際には実質的に同時に実行され得るし、関与する機能によってはこれらのブロックがときに逆の順序で実行され得る。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能を行うか、または特定目的のハードウェアおよびコンピュータ命令の組み合わせを実施もしくは実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。単数もしくは複数またはその両方のコンピュータにおいて実行されるコンピュータ・プログラム製品のコンピュータ実行可能命令の一般的状況において主題を上述してきたが、この開示を他のプログラム・モジュールと組み合わせて実施しても実施されてもよいことを当業者は認識するだろう。一般的にプログラム・モジュールは、特定のタスクを行うか、もしくは特定の抽象データ・タイプを実施するか、またはその両方であるルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、本発明のコンピュータに実施される方法は、単一プロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニコンピュータ・デバイス、メインフレーム・コンピュータ、ならびにコンピュータ、ハンドヘルド・コンピュータ・デバイス（例、ＰＤＡ、電話）、およびマイクロプロセッサ・ベースまたはプログラマブルの消費者または産業用の電子機器などを含む他のコンピュータ・システム構成によって実施され得ることを当業者は認識するだろう。示される態様は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが行われる分散型コンピューティング環境においても実施され得る。しかし、この開示のすべてではなくてもいくつかの態様は、スタンドアロン・コンピュータにおいて実施され得る。分散型コンピューティング環境において、プログラム・モジュールはローカルおよびリモートのメモリ・ストレージ・デバイスの両方に位置し得る。
【０１０３】
この出願において用いられる「コンポーネント」、「システム」、「プラットフォーム」、および「インターフェース」などの用語は、コンピュータに関係するエンティティまたは１つ以上の特定の機能を有する動作マシンに関係するエンティティを示し得るか、もしくはそれを含み得るか、またはその両方である。本明細書において開示されるエンティティは、ハードウェアか、ハードウェアとソフトウェアとの組み合わせか、ソフトウェアか、または実行中のソフトウェアのいずれかであり得る。たとえばコンポーネントは、プロセッサで実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、もしくはコンピュータ、またはその組み合わせであり得るが、それに限定されない。例示として、サーバで実行されるアプリケーションとサーバとは、どちらもコンポーネントであり得る。プロセスもしくは実行のスレッドまたはその両方の中に１つ以上のコンポーネントが存在でき、かつコンポーネントは１つのコンピュータにローカライズされても、２つ以上のコンピュータに分散されても、その両方であってもよい。別の例においては、さまざまなデータ構造が保存されたさまざまなコンピュータ可読媒体から、それぞれのコンポーネントが実行され得る。コンポーネントは、たとえば１つ以上のデータ・パケットを有する信号によるものなどの、ローカルもしくはリモートまたはその両方のプロセスを介して通信し得る（例、１つのコンポーネントからのデータが、ローカル・システム内か、分散型システム内か、もしくはたとえばインターネットなどのネットワークを通じて信号を介して他のシステムとの間で、またはその組み合わせで別のコンポーネントと対話する）。別の例として、コンポーネントは、電気または電子回路によって動作される機械的部分によって提供される特定の機能を有する装置であってもよく、これはプロセッサによって実行されるソフトウェアまたはファームウェア・アプリケーションによって動作される。こうした場合に、プロセッサは装置の内部または外部にあってもよく、ソフトウェアまたはファームウェア・アプリケーションの少なくとも一部を実行できる。さらに別の例として、コンポーネントは機械的部分を有さない電子コンポーネントを通じて特定の機能を提供する装置であってもよく、その電子コンポーネントは、電子コンポーネントの機能を少なくとも部分的に与えるソフトウェアまたはファームウェアを実行するためのプロセッサまたはその他の手段を含み得る。ある態様において、コンポーネントは、たとえばクラウド・コンピューティング・システム内で、仮想マシンを介して電子コンポーネントをエミュレートし得る。
【０１０４】
加えて、「または（ｏｒ）」という用語は、排他的論理和（ｅｘｃｌｕｓｉｖｅ「ｏｒ」）ではなく包含的論理和（ｉｎｃｌｕｓｉｖｅ「ｏｒ」）を意味することが意図される。すなわち、別様に指定されるか、または状況から明らかでない限り、「ＸはＡまたはＢを使用する」とは自然な包含的順列のいずれかを意味することが意図される。すなわち、ＸがＡを使用するか、ＸがＢを使用するか、またはＸがＡおよびＢの両方を使用するとき、前述の場合のいずれにおいても「ＸはＡまたはＢを使用する」が満たされる。さらに、本明細書および添付の図面において用いられる冠詞「ａ」および「ａｎ」は一般的に、別様に指定されるか、または単数形に向けられていることが状況から明らかでない限り、「１つ以上」を意味するものと解釈されるべきである。本明細書において用いられる「例」もしくは「例示的」という用語またはその両方は、例、実例、または例示の役割をすることを意味するために使用される。疑いを避けるために、本明細書において開示される主題はこうした例によって限定されない。加えて、本明細書において「例」もしくは「例示的」またはその両方として記載される任意の態様または設計は、必ずしも他の態様または設計よりも好ましいかまたは有利であると解釈されるべきではなく、当業者に公知である同等の例示的構造および技術を除外することを意味するものでもない。
【０１０５】
本明細書において使用される「プロセッサ」という用語は、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行ケイパビリティを有するシングル・プロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行ケイパビリティを有するマルチコア・プロセッサ、ハードウェア・マルチスレッド技術を有するマルチコア・プロセッサ、パラレル・プラットフォーム、および分散型共有メモリを有するパラレル・プラットフォームを含むがそれに限定されない実質的に任意のコンピューティング処理ユニットまたはデバイスを示し得る。加えてプロセッサは、本明細書に記載される機能を行うように設計された集積回路、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、プログラマブル・ロジック・コントローラ（ＰＬＣ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒ）、コンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ：ｃｏｍｐｌｅｘ  ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）、ディスクリート・ゲートまたはトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント、またはその任意の組み合わせを示し得る。さらに、ユーザ機器のスペース使用を最適化するか、またはそのパフォーマンスを向上させるために、プロセッサはたとえば分子および量子ドット・ベースのトランジスタ、スイッチ、およびゲートなどであるがそれに限定されないナノスケールのアーキテクチャを利用できる。プロセッサは、コンピューティング処理ユニットの組み合わせとしても実現され得る。この開示において、コンポーネントの動作および機能に関係するたとえば「保存」、「ストレージ」、「データ保存」、「データ・ストレージ」、「データベース」などの用語、および実質的に任意のその他の情報ストレージ・コンポーネントは、「メモリ・コンポーネント」、「メモリ」において具現化されるエンティティ、またはメモリを含むコンポーネントを示すために使用される。当然のことながら、本明細書に記載されるメモリもしくはメモリ・コンポーネントまたはその両方は、揮発性メモリまたは不揮発性メモリのいずれかであってもよいし、揮発性および不揮発性メモリの両方を含んでもよい。限定ではなく例示として、不揮発性メモリはリード・オンリ・メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ（ＲＡＭ）（例、強誘電体ＲＡＭ（ＦｅＲＡＭ：ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ））を含み得る。揮発性メモリは、たとえば外部キャッシュ・メモリの働きをし得るＲＡＭを含み得る。限定ではなく例示として、ＲＡＭはたとえば同期ＲＡＭ（ＳＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ダブル・データ・レートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ：ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ：ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ：Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ）、ダイレクト・ラムバスＲＡＭ（ＤＲＲＡＭ：ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＲＡＭ）、ダイレクト・ラムバス・ダイナミックＲＡＭ（ＤＲＤＲＡＭ：ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ｄｙｎａｍｉｃ  ＲＡＭ）、およびラムバス・ダイナミックＲＡＭ（ＲＤＲＡＭ）などの多くの形で利用可能である。加えて、本明細書において開示されるシステムまたはコンピュータに実施される方法のメモリ・コンポーネントは、これらおよび任意のその他の好適なタイプのメモリを、含むことに限定されずに含むことが意図される。
【０１０６】
上記で説明されたことは、システムおよびコンピュータに実施される方法の単なる例を含む。この開示を説明する目的のために、コンポーネントまたはコンピュータに実施される方法の考えられるすべての組み合わせを記載することは無論不可能であるが、この開示の多くのさらなる組み合わせおよび変更が可能であることを当業者は認識できる。さらに、詳細な説明、請求項、添付、および図面において「含む（ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｓ）」、および「所有する（ｐｏｓｓｅｓｓｅｓ）」などの用語が用いられる範囲において、こうした用語は「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語が請求項における移行語として使用されるときに解釈されるときの「含む（ｃｏｍｐｒｉｓｉｎｇ）」と類似の方式で包括的であることが意図される。
【０１０７】
例示の目的のためにさまざまな実施形態の説明を提供したが、網羅的になったり、開示される実施形態に限定されたりすることは意図されない。記載される実施形態の範囲から逸脱することなく、当業者には多くの修正および変更が明らかになるだろう。本明細書において用いた用語は、実施形態の原理、市場に見出される技術に対する実際の適用または技術的改善点を最もよく説明するか、または他の当業者が本明細書に開示される実施形態を理解することを可能にするために選択されたものである。
【図１】
2021535467.tif 000003
【図２】
2021535467.tif 000004
【図３】
2021535467.tif 000005
【図４】
2021535467.tif 000006
【図５】
2021535467.tif 000007
【図６】
2021535467.tif 000008
【図７】
2021535467.tif 000009
【図８】
2021535467.tif 000010
【図９】
2021535467.tif 000011
【図１０】
2021535467.tif 000012
【図１１】
2021535467.tif 000013
【図１２】
2021535467.tif 000014
【手続補正書】
【提出日】令和3年3月2日(2021.3.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実行可能コンポーネントを保存するメモリと、
前記メモリに保存された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを含むシステムであって、前記コンピュータ実行可能コンポーネントは、
コンテナ検査の１つ以上の制限ケイパビリティを定めるコンテナ検査制御コンポーネントと、
前記１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査するコンテナ検査コンポーネントと
を含む、システム。
【請求項２】
前記コンテナ検査コンポーネントは、カーネル構成、セキュリティ構成、またはコンテナ化構成のうちの少なくとも１つを含む検査インスタンスを含む、請求項１に記載のシステム。
【請求項３】
前記コンテナ検査制御コンポーネントは、権限分離、ネームスペース、ケイパビリティ・ベースのセキュリティ、セキュア・コンピューティング・モード、ｎｅｔｆｉｌｔｅｒ、制御グループ、およびセキュリティ拡張Ｌｉｎｕｘ（登録商標）からなる群より選択される１つ以上の制御コンポーネントに基づいて前記１つ以上の制限ケイパビリティを定めることによって、前記コンテナ検査コンポーネント、前記仮想コンテナ、またはコンテナ・ベースの仮想化環境の１つ以上のリソースのうちの少なくとも１つに関連するセキュリティの改善を促進する、請求項１または２に記載のシステム。
【請求項４】
アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて前記コンテナ検査コンポーネントの制御レベルを定める制御レベル・コンポーネントをさらに含む、請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記コンテナ検査コンポーネントは稼働ランタイム状態を検査する、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
前記仮想コンテナのエンティティは、
メモリ状態、ディスク状態、またはネットワーク状態のうちの少なくとも１つを検査するために前記コンテナ検査コンポーネントを実施する、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記コンテナ検査コンポーネントは、１つ以上のリード・オンリ活動に基づいて前記仮想コンテナを検査する、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記コンテナ検査制御コンポーネントは、前記コンテナ検査コンポーネントによる１つ以上の書込み動作の実行を防止する、請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
プロセッサに動作的に結合されたシステムによって、コンテナ検査の１つ以上の制限ケイパビリティを定めるステップと、
前記システムによって、前記１つ以上の制限ケイパビリティに基づいて仮想コンテナを検査するステップと
を含む、コンピュータに実施される方法。
【請求項１０】
コンピュータ実行可能コンポーネントを保存するメモリと、
前記メモリに保存された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを含むシステムであって、前記コンピュータ実行可能コンポーネントは、
コンテナ検査の１つ以上のリソース制限を定めるコンテナ検査制御コンポーネントと、
前記１つ以上のリソース制限に基づいて仮想コンテナを検査するコンテナ検査コンポーネントと
を含む、システム。
【請求項１１】
前記コンテナ検査コンポーネントは、１つ以上のリード・オンリ活動に基づいて稼働ランタイム状態を検査するサイドカー・コンテナ・コンポーネントを含む、請求項１０に記載のシステム。
【請求項１２】
前記コンテナ検査制御コンポーネントは、制御グループおよびセキュリティ拡張Ｌｉｎｕｘ（登録商標）からなる群より選択される１つ以上の制御コンポーネントに基づいて前記１つ以上のリソース制限を定める、請求項１０または１１に記載のシステム。
【請求項１３】
アクセス制御コンポーネントおよびリソース制限コンポーネントからなる群より選択される１つ以上の制御コンポーネントの１つ以上の組み合わせに基づいて前記コンテナ検査の制御レベルを定める制御レベル・コンポーネントをさらに含む、請求項１０〜１２のいずれか１項に記載のシステム。
【請求項１４】
前記コンテナ検査制御コンポーネントは、前記コンテナ検査コンポーネントによる１つ以上の書込み動作の実行を防止することによって、コンテナ・ベースの仮想化環境の１つ以上のリソースに関連する処理能力を妨げることなく、より安全な検査能力を促進する、請求項１０〜１３のいずれか１項に記載のシステム。
【請求項１５】
コンテナ検査プロセスを促進するコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
コンテナ検査の１つ以上のリソース制限コンポーネントを定めることと、
前記１つ以上のリソース制限コンポーネントに基づいて仮想コンテナを検査することと
をコンピュータに実行させる、コンピュータ・プログラム。
【請求項１６】
コンピュータ実行可能コンポーネントを保存するメモリと、
前記メモリに保存された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを含むシステムであって、前記コンピュータ実行可能コンポーネントは、
コンテナ検査の１つ以上の検査動作を定めるコンテナ検査制御コンポーネントと、
前記１つ以上の検査動作に基づいて仮想コンテナを検査するサイドカー・コンテナ・コンポーネントと
を含む、システム。
【国際調査報告】
2021535467.tif 000015
2021535467.tif 000016
2021535467.tif 000017