(57)【要約】  第１の場所にプロビジョニングされた第１のワークロードによってホストされている特定のデータに関連するデータ・プライバシー情報を受け取ることができる。第１のワークロードを監視して、第１のワークロードが第２のワークロードによってアクセスされるか否かを判断し、データ・プライバシー情報において、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることを許可されているものとして示されているか否かを判断し、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスする手段を持っているか否かを判断することができる。そのように判断される場合、データ・プライバシー情報に基づいて、第１のワークロードのプロビジョニングが可能な第２の場所に第１のワークロードを自動的にプロビジョニングすることができる。
2021531552.tif 000002
【特許請求の範囲】
【請求項１】
第１の場所にプロビジョニングされた第１のワークロードによってホストされている特定のデータに関連するデータ・プライバシー情報を受け取ることと、
前記第１のワークロードを監視することとを含み、前記第１のワークロードを前記監視することは、
前記第１のワークロードが第２のワークロードによってアクセスされるか否かを判断することと、
前記第１のワークロードが前記第２のワークロードによってアクセスされるとの判断に応答して、前記データ・プライバシー情報において、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることが許可されているものとして示されているか否かを判断することと、
前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることを許可されているものとして示されていないとの判断に応答して、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることができるか否かを判断することと、
前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることができるとの判断に応答して、プロセッサを使用して、前記データ・プライバシー情報に基づいて、前記第１のワークロードのプロビジョニングが可能な第２の場所に前記第１のワークロードを自動的にプロビジョニングすることとを含む方法。
【請求項２】
前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることができるとの判断に応答して、前記第２のワークロードを特定する情報と、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスした方式とを記憶することをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１のワークロードによってホストされている前記データに前記第２のワークロードがアクセスすることができるとの判断に応答して、前記第１のワークロードが無許可のワークロードによってアクセスされたことを示す通知をシステムまたは法令順守管理者に自動的に伝達することをさらに含み、前記通知は前記第２のワークロードを特定する前記情報と、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスした方式とを含む、請求項１に記載の方法。
【請求項４】
前記第１のワークロードを前記監視することは、
前記データ・プライバシー情報に基づいて、前記第１の場所が前記ワークロードがプロビジョニングされることができる場所であるか否かを判断することをさらに含み、
前記第１のワークロードのプロビジョニングが可能な前記第２の場所に前記第１のワークロードを前記自動的にプロビジョニングすることは、前記第１の場所が前記ワークロードがプロビジョニングされることができる場所ではないとの判断にさらに応答する、請求項１に記載の方法。
【請求項５】
前記第１のワークロードが、前記ワークロードがプロビジョニングされることができる場所ではない場所にプロビジョニングされていることを示す通知を、システムまたは法令順守管理者に自動的に伝達することをさらに含む、請求項４に記載の方法。
【請求項６】
前記第１のワークロードについてのワークロード仕様を受け取ることであって、前記ワークロードについての前記ワークロード仕様は、前記ワークロードがプロビジョニングされ得るシステムの資源要件を指定する、前記第１のワークロードの前記ワークロード仕様を受け取ることと、
前記第２の場所が前記ワークロードについての前記ワークロード仕様を満たすのに適合する少なくとも１つのシステムを有すると判断することとをさらに含み、
前記第１のワークロードを前記第２の場所に前記自動的にプロビジョニングすることは、前記第２の場所が前記ワークロードについての前記ワークロード仕様を満たすのに適合する前記少なくとも１つのシステムを有するとの判断にさらに応答する、請求項１に記載の方法。
【請求項７】
前記特定のデータに関連する前記データ・プライバシー情報をデータ・プライバシー・アドバイザ・アプリケーションに伝達することと、
前記特定のデータに関連する前記データ・プライバシー情報を前記データ・プライバシー・アドバイザ・アプリケーションに前記伝達することに応答して、前記データ・プライバシー・アドバイザ・アプリケーションから許可場所情報を受け取り、前記許可場所情報で示されている場所を候補場所として特定することと、
前記候補場所から前記第２の場所を選択することとをさらに含む、請求項１に記載の方法。
【請求項８】
実行可能操作を開始するようにプログラムされたプロセッサを含むシステムであって、前記実行可能操作は、
第１の場所にプロビジョニングされた第１のワークロードによってホストされている特定のデータに関連するデータ・プライバシー情報を受け取ることと、
前記第１のワークロードを監視することとを含み、前記第１のワークロードを前記監視することは、
前記第１のワークロードが第２のワークロードによってアクセスされるか否かを判断することと、
前記第１のワークロードが前記第２のワークロードによってアクセスされるとの判断に応答して、前記データ・プライバシー情報において、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることが許可されているものとして示されているか否かを判断することと、
前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることを許可されているものとして示されていないとの判断に応答して、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることができるか否かを判断することと、
前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることができるとの判断に応答して、前記データ・プライバシー情報に基づいて、前記第１のワークロードのプロビジョニングが可能な第２の場所に前記第１のワークロードを自動的にプロビジョニングすることとを含むシステム。
【請求項９】
前記実行可能操作は、
前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスすることができるとの判断に応答して、前記第２のワークロードを特定する情報と、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスした方式とを記憶することをさらに含む、請求項８に記載のシステム。
【請求項１０】
前記実行可能操作は、
前記第１のワークロードによってホストされている前記データに前記第２のワークロードがアクセスすることができるとの判断に応答して、前記第１のワークロードが無許可のワークロードによってアクセスされたことを示す通知をシステムまたは法令順守管理者に自動的に伝達することをさらに含み、前記通知は前記第２のワークロードを特定する前記情報と、前記第１のワークロードによってホストされている前記特定のデータに前記第２のワークロードがアクセスした方式とを含む、請求項８に記載のシステム。
【請求項１１】
前記第１のワークロードを前記監視することは、
前記データ・プライバシー情報に基づいて、前記第１の場所が前記ワークロードがプロビジョニングされることができる場所であるか否かを判断することをさらに含み、
前前記第１のワークロードのプロビジョニングが可能な前記第２の場所に記第１のワークロードを前記自動的にプロビジョニングすることは、前記第１の場所が前記ワークロードがプロビジョニングされることができる場所ではないとの判断にさらに応答する、請求項８に記載のシステム。
【請求項１２】
前記実行可能操作は、
前記第１のワークロードが、前記ワークロードがプロビジョニングされることができる場所ではない場所にプロビジョニングされていることを示す通知を、システムまたは法令順守管理者に自動的に伝達することをさらに含む、請求項１１に記載のシステム。
【請求項１３】
前記実行可能操作は、
前記第１のワークロードについてのワークロード仕様を受け取ることであって、前記ワークロードについての前記ワークロード仕様は前記ワークロードがプロビジョニングされ得るシステムの資源要件を指定する、前記第１のワークロードの前記ワークロード仕様を受け取ることと、
前記第２の場所が前記ワークロードについての前記ワークロード仕様を満たすのに適合する少なくとも１つのシステムを有すると判断することとをさらに含み、
前記第１のワークロードを前記第２の場所に前記自動的にプロビジョニングすることは、前記第２の場所が前記ワークロードについての前記ワークロード仕様を満たすのに適合する前記少なくとも１つのシステムを有するとの判断にさらに応答する、請求項８に記載のシステム。
【請求項１４】
前記実行可能操作は、
前記特定のデータに関連する前記データ・プライバシー情報をデータ・プライバシー・アドバイザ・アプリケーションに伝達することと、
前記特定のデータに関連する前記データ・プライバシー情報を前記データ・プライバシー・アドバイザ・アプリケーションに前記伝達することに応答して、前記データ・プライバシー・アドバイザ・アプリケーションから許可場所情報を受け取り、前記許可場所情報で示されている場所を候補場所として特定することと、
前記候補場所から前記第２の場所を選択することとをさらに含む、請求項８に記載のシステム。
【請求項１５】
請求項１ないし７のいずれかで特許請求されている方法を開始するようにデータ処理システムによって実行可能なプログラム・コードが記憶されたコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理に関し、より詳細には、分散コンピューティング環境におけるワークロードをプロビジョニングすることに関する。
【背景技術】
【０００２】
データ・プライバシーは、ほとんどの情報技術（ＩＴ）組織に関わる問題である。契約上の義務のためにデータ・プライバシー要件を有する組織もある。また、法律や法規に基づくデータ・プライバシー要件を規定している国もある。しかし、ＩＴ資産のグローバル化が進むにつれて、組織はますますその本拠地外でデータを配備することが多くなっている。そのようなデータを安全に管理することには一定の課題がある。
【発明の概要】
【０００３】
本発明によると、第１の場所にプロビジョニングされた第１のワークロードによってホストされている特定のデータに関連するデータ・プライバシー情報を受け取ることと、第１のワークロードを監視することとを含み、第１のワークロードを監視することは、第１のワークロードが第２のワークロードによってアクセスされるか否かを判断することと、第１のワークロードが第２のワークロードによってアクセスされるとの判断に応答して、データ・プライバシー情報において、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることが許可されているものとして示されているか否かを判断することと、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることを許可されているものとして示されていないとの判断に応答して、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることができる（has access to）か否かを判断することと、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることができるとの判断に応答して、プロセッサを使用して、データ・プライバシー情報に基づいて第１のワークロードのプロビジョニングが可能な第２の場所に、第１のワークロードを自動的にプロビジョニングすることとを含む方法がここに提供される。
【０００４】
本発明を別の観点から見ると、実行可能操作を開始するようにプログラムされたプロセッサを含むシステムであって、実行可能操作は、第１の場所にプロビジョニングされた第１のワークロードによってホストされている特定のデータに関連するデータ・プライバシー情報を受け取ることと、第１のワークロードを監視することとを含み、第１のワークロードを監視することは、第１のワークロードが第２のワークロードによってアクセスされるか否かを判断することと、第１のワークロードが第２のワークロードによってアクセスされるとの判断に応答して、データ・プライバシー情報において、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることが許可されているものとして示されているか否かを判断することと、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることを許可されているものとして示されていないとの判断に応答して、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることができるか否かを判断することと、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることができるとの判断に応答して、データ・プライバシー情報に基づいて第１のワークロードのプロビジョニングが可能な第２の場所に第１のワークロードを自動的にプロビジョニングすることとを含むシステムがここに提供される。
【０００５】
本発明をさらに別の観点から見ると、操作を開始するようにデータ処理システムによって実行可能なプログラム・コードが記憶されたコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、操作は、第１の場所にプロビジョニングされた第１のワークロードによってホストされている特定のデータに関連するデータ・プライバシー情報を受け取ることと、第１のワークロードを監視することとを含み、第１のワークロードを監視することは、第１のワークロードが第２のワークロードによってアクセスされるか否かを判断することと、第１のワークロードが第２のワークロードによってアクセスされるとの判断に応答して、データ・プライバシー情報において、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることが許可されているものとして示されているか否かを判断することと、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることを許可されているものとして示されていないとの判断に応答して、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることができるか否かを判断することと、第１のワークロードによってホストされている特定のデータに第２のワークロードがアクセスすることができるとの判断に応答して、データ・プライバシー情報に基づいて第１のワークロードのプロビジョニングが可能な第２の場所に、第１のワークロードを自動的にプロビジョニングすることとを含むコンピュータ・プログラム製品がここに提供される。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
【図２】本発明の一実施形態による抽象化モデル層を示す図である。
【図３】データ処理システムの例示のアーキテクチャを示すブロック図である。
【図４】セキュリティ・アプリケーションの例示のアーキテクチャを示す図である。
【図５】データ・プライバシー・アウェアネスおよび保護を提供する方法の一例を示すフローチャートである。
【図６】ワークロードにデータ・プライバシーに関する問題があるか否かを判断するためにワークロードを監視する方法の一例を示すフローチャートである。
【図７】ワークロードにデータ・プライバシーに関する問題があるか否かを判断するために、ワークロードを監視する方法の別の一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
本発明は、データ処理に関し、より詳細には、分散コンピューティング環境におけるワークロードをプロビジョニングすることに関する。
【０００８】
ワークロードを管理するプロビジョニング、オーケストレータおよびブローカ・サービスは、一般に、ワークロードが、契約、法律または法規に従わずに機密データを扱っている時期を特定する機能を持たない。その結果として、そのようなワークロードを管理する責任のある組織にとって、処罰および罰金が課されることを含めて、リスクが高くなる。本明細書で記載するこの構成はそのようなリスクを低減する。
【０００９】
本発明によると、機密データをホストするワークロードを、ワークロードを実行する容量を有するだけでなく、そのデータをホストするためのデータ・プライバシー・ポリシーの要件も満たす場所にプロビジョニングすることができる。その際、データに関連するデータ・プライバシー情報を処理して、データ・プライバシー・ポリシーの要件を満たすとともにワークロードのために指定されたワークロード仕様を満たす容量を有する場所を特定することができる。したがって、本発明は、データ・プライバシー・ポリシーに準拠した方式でワークロードを積極的にプロビジョニングするプロセスを提供する。
【００１０】
ユーザは、何らかの理由でワークロードを現在の場所から新たな場所に移動することがある。そのユーザは、データ・プライバシー・ポリシーを完全には認識していない可能性がある。しかし、本発明によると、ワークロードにデータ・プライバシーに関する問題があるか否かを判断するためにワークロードを監視することができる。また、当初、本明細書に記載のプロセスを使用してプロビジョニングされていなかったワークロードを監視し、ワークロードにデータ・プライバシーに関する問題があるか否かを判断することもできる。上記のような問題がある場合、データ・プライバシー・ポリシーに基づいて、ワークロードをホストすることができる場所にワークロードをリアル・タイムで自動的に移動することができる。そのような場所は、データ・プライバシー・ポリシーを満たすことができ、したがってデータ・プライバシー・ポリシーの違反が軽減される。また、問題を示す通知を自動的に生成し、適切な人物、例えばシステム管理者または法令順守管理者に通知することができる。このような情報を有することにより、システム管理者または法令順守管理者は、そのような問題が再発するリスクを低減するための手段を講じることができる。
【００１１】
本明細書全体を通して適用されるいくつかの定義を以下に示す。
【００１２】
本明細書における定義では、「ワークロード」という用語は、デバイスまたはシステムによって実行される作業（例えば処理または記憶操作あるいはその両方）の量を意味する。
【００１３】
本明細書における定義では、「ワークロードをプロビジョニングする」という用語は、ワークロードを処理するためのハードウェア資源およびソフトウェア資源を提供し、それらのハードウェア資源およびソフトウェア資源にワークロードを割り当てることを意味する。
【００１４】
本明細書における定義では、「場所」という用語は、地理的場所を意味する。地理的場所は、所在地番地、建物名、市名、郡名、州名または省名、国名、郵便番号、グローバル・ポジショニング・システム（ＧＰＳ）座標によって示すことができるか、または任意のその他の適切な方式で示すことができるか、あるいはこれら両方で行うことができる。
【００１５】
本明細書における定義では、「応答して」という用語は、動作もしくはイベントに敏速に（readily）応答または反応することを意味する。したがって、第１の動作「に応答して」第２の動作が行われる場合、第１の動作の生起と第２の動作の生起との間に因果関係があり、「応答して」という用語はそのような因果関係を示す。
【００１６】
本明細書における定義では、「コンピュータ可読記憶媒体」という用語は、命令実行システム、装置もしくはデバイスによって、またはこれらに関連して使用するためのプログラム・コードを含むかまたは記憶する記憶媒体を意味する。本明細書における定義では、「コンピュータ可読記憶媒体」は、一過性の伝播信号自体ではない。
【００１７】
本明細書における定義では、「データ処理システム」という用語は、各ハードウェア・システムが、実行可能操作を開始するようにプログラムされた少なくとも１つのプロセッサとメモリとを含む、データを処理するように構成された１つまたは複数のハードウェア・システムを意味する。
【００１８】
本明細書における定義では、「プロセッサ」という用語は、プログラム・コードに含まれる命令を実行するように構成された少なくとも１つのハードウェア回路（例えば集積回路）を意味する。プロセッサの例には、中央処理装置（ＣＰＵ）、アレイ・プロセッサ、ベクトル・プロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プログラマブル・ロジック・アレイ（ＰＬＡ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル・ロジック回路、およびコントローラが含まれるが、これらには限定されない。
【００１９】
本明細書における定義では、「サーバ」という用語は、１つまたは複数の他のデータ処理システムとサービスを共用するように構成されたデータ処理システムを意味する。
【００２０】
本明細書における定義では、「リアル・タイム」という用語は、ユーザまたはシステムが特定のプロセスまたは行う判断にとって十分に即時的であると感じるか、またはプロセッサが何らかの外部プロセスに遅れずに対応することを可能にする、処理応答性のレベルを意味する。
【００２１】
本明細書における定義では、「自動的に」という用語は、ユーザの介入がないことを意味する。
【００２２】
本明細書における定義では、「ユーザ」という用語は、人（すなわち人間）を意味する。
【００２３】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載の教示の実装は、クラウド・コンピューティング環境には限定されないことが理解される。むしろ、本発明の実施形態は、現在知られているかまたは今後開発される任意のその他の種類のコンピューティング環境とともに実装可能である。
【００２４】
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互作用で迅速にプロビジョニングすることができ、解放することができる、構成可能なコンピューティング資源（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配布のモデルである。このクラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つの配備モデルとを含み得る。
【００２５】
特徴は以下の通りである。
【００２６】
オンデマンド・セルフサービス：クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに一方的に、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能をプロビジョニングすることができる。
【００２７】
広帯域ネットワーク・アクセス：ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム（例えば携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準機構を介してアクセスすることができる。
【００２８】
資源プール：マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて、異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について管理することができないかまたは知らないが、より高い抽象レベルの場所（例えば、国、州、またはデータ・センター）を指定することが可能な場合があるという点で、位置独立感がある。
【００２９】
迅速な伸縮性：迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
【００３０】
従量制サービス：クラウド・システムが、サービスの種類（例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に応じて適切な何らかの抽象化レベルの計量機能を利用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用されたサービスの透明性をプロバイダと消費者の両方に与えることができる。
【００３１】
サービス・モデルは以下の通りである。
【００３２】
ソフトウェア・アズ・ア・サービス（Software as a Service:Ｓａａｓ）：消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である（例えばウェブ・ベースのＥメール）。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理も制御もしない。
【００３３】
プラットフォーム・アズ・ア・サービス（Platform as a Service:ＰａａＳ）:消費者に提供される機能は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成または取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
【００３４】
インフラストラクチャ・アズ・ア・サービス（Infrastructure as a Service:ＩａａＳ）：消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアを配備し、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システムと、ストレージと、配備されたアプリケーションとを制御することができ、場合によっては選択されたネットワーク・コンポーネント（例えばホスト・ファイアウォール）の限定的な制御を行うことができる。
【００３５】
配備モデルは以下の通りである。
【００３６】
プライベート・クラウド：このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在可能である。
【００３７】
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事（例えば、任務、セキュリティ要件ポリシー、および法令順守事項）を有する特定のコミュニティをサポートする。組織または第三者が管理することができ、オンプレミスまたはオフプレミスに存在可能である。
【００３８】
パブリック・クラウド：このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
【００３９】
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、独自の実体のままであるが、データおよびアプリケーション可搬性を可能にする標準化技術または専有技術（例えば、クラウド間の負荷バランシングのためのクラウド・バースティング）によって結合された、２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合体である。
【００４０】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的な相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００４１】
次に図１を参照すると、クラウド・コンピューティング環境５０が図示されている。図のように、クラウド・コンピューティング環境５０は、例えばパーソナル・デジタル・アシスタント（ＰＤＡ）または携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎあるいはこれらの組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、１つまたは複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は互いに通信することができる。ノードは、上述のプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウドまたはハイブリッド・クラウドあるいはこれらの組合せなどの１つまたは複数のネットワークにおいて物理的または仮想的にグループ化（図示せず）されてもよい。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはこれらの組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。なお、図１に示すコンピューティング・デバイス５４Ａないし５４Ｎの種類は、例示を意図したものに過ぎず、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、（例えばウェブ・ブラウザを使用して）任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその両方を介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【００４２】
次に、図２を参照すると、クラウド・コンピューティング環境５０（図１）によって提供される１組の機能抽象化層が示されている。なお、図２に示すコンポーネント、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
【００４３】
ハードウェアおよびソフトウェア層６０は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム６１、縮小命令セット・コンピュータ（Reduced Instruction Set Computer：ＲＩＳＣ）アーキテクチャ・ベースのサーバ６２、サーバ６３、ブレード・サーバ６４、ストレージ・デバイス６５、およびネットワークおよびネットワーキング・コンポーネント６６がある。いくつかの実施例によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７およびデータベース・ソフトウェア６８を含む。
【００４４】
仮想化層７０は、以下のような仮想実体の例を与えることができる抽象化層を提供する。すなわち、仮想サーバ７１と、仮想ストレージ７２と、仮想プライベート・ネットワークを含む仮想ネットワーク７３と、仮想アプリケーションおよびオペレーティング・システム７４と、仮想クライアント７５である。
【００４５】
一実施例では、管理層８０は、以下に記載の機能を提供することができる。資源プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシング８２は、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一実施例ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれ得る。ユーザ・ポータル８３は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。サービス・レベル・アグリーメント（Service Level Agreement:ＳＬＡ）計画および履行８５は、ＳＬＡに従って将来の要求が予想されるクラウド・コンピューティング資源のための事前取り決めおよび調達を行う。セキュリティ８６は、クラウド消費者およびタスクのための本人検証と、データ・プライバシー・アウェアネスおよび保護を含むデータおよびその他の資源の保護とを行う。
【００４６】
ワークロード層９０は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション９１、ソフトウェア開発およびライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、およびトランザクション処理９５が含まれる。
【００４７】
図３は、データ処理システム３００のブロック図である。データ処理システム３００は、図１のクラウド・コンピューティング環境、例えば図２のハードウェアおよびソフトウェア層６０において配備可能である。例として、データ処理システム３００は、ＲＩＳＣベースのサーバ６２、サーバ６３、またはブレード・サーバ６４として実装可能である。
【００４８】
データ処理システム３００は、システム・バス３１５またはその他の適合する回路を介して記憶素子３１０に結合された少なくとも１つのプロセッサ３０５（例えば中央処理装置）を含み得る。したがって、データ処理システム３００は、記憶素子３１０内にプログラム・コードを記憶することができる。プロセッサ３０５は、システム・バス３１５を介して記憶素子３１０からアクセスされるプログラム・コードを実行することができる。データ処理システム３００は、本明細書に記載の機能または操作あるいはその両方を実行可能な、プロセッサとメモリとを含む任意のシステムの形態で実装可能であることを理解されたい。
【００４９】
記憶素子３１０は、１つまたは複数のコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、例えばローカル・メモリ３２０および１つまたは複数のバルク・ストレージ・デバイス３２５などの物理メモリ・デバイスとすることができる。ローカル・メモリ３２０は、プログラム・コードの実際の実行時に一般的に使用されるランダム・アクセス・メモリ（ＲＡＭ）またはその他の非永続メモリ・デバイスを指す。バルク・ストレージ・デバイス３２５は、ハード・ディスク・ドライブ（ＨＤＤ）、ソリッド・ステート・デバイス（ＳＳＤ）、またはその他の永続データ・ストレージ・デバイスとして実装され得る。バルク・ストレージ・デバイス３２５は、データ処理システム３００のストレージ・システムによって維持可能である。バルク・ストレージ・デバイス３２５は、例えば、データ処理システム３００に通信可能に連結されたストレージ・システムのコンポーネントとして、データ処理システムの外部にあってもよい。記憶素子３１０は、プログラム・コードが実行中にバルク・ストレージ・デバイス３２５から取り出される必要がある回数を減らすために、少なくとも一部のプログラム・コードの一時的ストレージを提供する、１つまたは複数のキャッシュ・メモリ３３０も含み得る。
【００５０】
データ処理システム３００には、ディスプレイ３３５およびその他の外部デバイス３４０（例えば、ポインティング・デバイス、キーボードなど）などの入力／出力（Ｉ／Ｏ）デバイスを結合することができる。Ｉ／Ｏデバイスは、直接、または介在するＩ／Ｏインターフェース３４５を介してデータ処理システム３００に結合可能である。例えば、ディスプレイ３３５は、プロセッサ３０５のコンポーネントまたは個別デバイスとすることができるグラフィカル・プロセッシング・ユニット（ＧＰＵ）を介してデータ処理システム３００に結合することができる。データ処理システム３００が、介在するプライベート・ネットワークまたはパブリック・ネットワークを介して、他のシステム、コンピュータ・システム、リモート・プリンタまたはリモートストレージ・デバイスあるいはこれらの組合せに結合された状態になることができるように、１つまたは複数のネットワーク・アダプタ３５０もデータ処理システム３００に結合可能である。モデム、ケーブル・モデム、送受信器およびＥｔｈｅｒｎｅｔ（登録商標）カードが、データ処理システム３００とともに使用可能なネットワーク・アダプタ３５０の様々な種類の例である。
【００５１】
図３に示すように、記憶素子３１０は、データ処理システム３００のコンポーネント、例えば、本明細書に記載の実施形態のプロセスまたは方法あるいはその両方を実施するように構成された１つまたは複数のコンピュータ・プログラム・モジュール３６０を含む、少なくとも１つのコンピュータ・プログラムまたはユーティリティ（以下「プログラム／ユーティリティ」）３５５を記憶することができる。プログラム／ユーティリティ３５５は、例えばセキュリティ８６を与えるための図２の管理層８０のコンポーネントとすることができる。実行可能プログラム・コードの形態で実装されているので、プログラム／ユーティリティ３５５はデータ処理システム３００によって実行可能であり、したがってデータ処理システム３００の一部とみなすことができる。また、プログラム／ユーティリティ３５５は、データ処理システム３００の一部として採用されると機能を付与する機能データ構造（例えばコンピュータ・プログラム・モジュール３６０）を含む。
【００５２】
図４に、データ・プライバシー・アウェアネスおよび保護を含むセキュリティ８６（図２）を提供するプログラム／ユーティリティ３５５のための例示のアーキテクチャ４００を示す。前述のように、プログラム／ユーティリティ３５５は、コンピュータ・プログラム・モジュール３６０、例えばデータ・インターフェース４０２と、場所選択部４０４と、ワークロード・プロビジョニング部４０６と、場所および容量監視部４０８と、ワークロード監視部４１０と、データ・プライバシー問題通知部４１２と、データ・プライバシー制約データ４１４とを含み得る。
【００５３】
アーキテクチャ４００は、データ・プライバシー・アドバイザ・アプリケーション４２０とハイパーバイザ４２２とをさらに含み得る。ハイパーバイザ４２２（当技術分野では仮想マシン・モニタとも知られている）は、仮想マシンを作成し、稼働させるコンピュータ・ソフトウェア、ファームウェア、またはハードウェアである。ハイパーバイザが１つまたは複数の仮想マシンを稼働させるデータ処理システムは、ホスト・マシンと呼ばれ、各仮想マシンはゲスト・マシンと呼ばれる。プログラム／ユーティリティ３５５は、ゲスト・マシン上で実行可能であるが、本構成はこの点については限定されない。プログラム／ユーティリティ３５５は、プログラム／ユーティリティ３５５が実行されていないホスト・マシンと１つまたは複数の通信ネットワークを介して通信することができる。
【００５４】
一構成では、データ・プライバシー・アドバイザ・アプリケーション４２０は、プログラム／ユーティリティ３５５のコンポーネントとすることができる。他の構成では、データ・プライバシー・アドバイザ・アプリケーション４２０は、プログラム／ユーティリティ３５５の外部にあってよいが、プログラム／ユーティリティ３５５は、例えば１つまたは複数の通信ネットワークまたはシステム・バスを介してデータ・プライバシー・アドバイザ・アプリケーション４２０に通信可能にリンクすることができる。例えば、データ・プライバシー・アドバイザ・アプリケーション４２０は、プログラム／ユーティリティ３５５が実行されているのと同じデータ処理システム上で（例えば同じゲスト・マシンまたは異なるゲスト・マシン上で）、または、プログラム／ユーティリティ３５５が実行されるデータ処理システムとは異なる１つまたは複数のデータ処理システム上で実行可能である。
【００５５】
データ・インターフェース４０２は、データ・プライバシーおよびワークロード仕様入力情報４３０を受け取るように構成される。一構成では、データ・インターフェース４０２は、例えば、ユーザが対話してデータ・プライバシーおよびワークロード仕様入力情報４３０を入力するために使用するユーザ・インターフェース（例えばグラフィカル・ユーザ・インターフェース）とすることができる。別の構成では、データ・インターフェース４０２は、１つまたは複数のデータ源から、例えば１つもしくは複数のデータ・テーブルまたは１つもしくは複数のデータ・ファイルあるいはその両方から、データ・プライバシーおよびワークロード仕様入力情報４３０にアクセスするように構成されたインターフェースとすることができる。データ・プライバシーおよびワークロード仕様入力情報４３０は、データ・プライバシー情報４３２とワークロード仕様４３４とを含み得る。
【００５６】
データ・プライバシー情報４３２は、プログラム／ユーティリティ３５５によってプロビジョニングされたワークロードによって処理されるデータのデータ・プライバシー要件を示す属性を含み得る。例示として、データ・プライバシー情報４３２は、例えばラベル、注釈、またはメタデータあるいはこれらの組合せを使用して、データのデータ・プライバシー分類を指定することができる。プライバシー分類の例には、「機密データ」、「非機密データ」、「極秘データ」、「部外秘データ」、「個人データ」、「機密技術」、または、「パスポート・データ」、「社会保障番号データ」、「郵送先住所データ」、「口座番号データ」、「Ｅメール・アドレス・データ」、「電話番号データ」、「パスワード・データ」、「ログイン・データ」などのより低いレベルが含まれるが、これらには限定されない。
【００５７】
ワークロード仕様４３４は、データをホストするワークロードのプロビジョニング先となり得るシステムの要件を示す属性を含み得る。例示として、ワークロード仕様４３４は、ワークロードをプロビジョニングするために使用されるハードウェアまたはソフトウェアあるいはその両方を示すことができる。一構成では、ワークロード仕様４３４は、必要なハードウェア資源またはソフトウェア資源あるいはその両方を指定する属性を含み得る。例えば、ユーザがハードウェア資源要件またはソフトウェア資源要件あるいはその両方を入力してもよい。別の構成では、ワークロード仕様４３４は、ワークロードまたはデータあるいはその両方に適用可能なＳＬＡを指定する属性を含み得る。このような構成では、場所選択部４０４が、ワークロード仕様４３４で指定されているＳＬＡを特定し、適切なデータ記憶場所からＳＬＡにアクセスし、ＳＬＡにあるハードウェア資源またはソフトウェア資源あるいはその両方の適用可能な要件を特定することができる。
【００５８】
ハードウェア資源要件の例には、プロセッサ数、プロセッサ・コア数、最小プロセッサ周波数、１クロック・サイクル当たりの最少命令数、毎秒最少演算数、ローカル・メモリ量、バルク・ストレージ量、キャッシュ・メモリ量などが含まれるが、これらには限定されない。ソフトウェア資源要件の例には、オペレーティング・システムの種類、特定のオペレーティング・システム、オペレーティング・システムの特定のバージョン、１つもしくは複数の必要なプログラム（例えば、アプリケーション）、またはユーティリティあるいはその両方、１つもしくは複数の必要なプログラムまたはユーティリティあるいはその両方の必要なバージョンなどが含まれるが、これらには限定されない。
【００５９】
データ・プライバシー情報およびワークロード仕様入力情報４３０を受け取ることに応答して、場所選択部４０４は、場所および容量監視部４０８にワークロード仕様４３４を示す要求を伝達することができる。この要求に応答して、場所および容量監視部４０８は、ハイパーバイザ４２２と通信して、ハイパーバイザ４２２の場所と、ハイパーバイザ４２２が稼働し、ワークロード仕様４３４を満たすシステム（例えばデータ処理システムまたはストレージ・システムあるいはその両方）の利用可能なワークロード容量とを示す、場所および容量情報４３６を監視または捕捉することができる。場所および容量情報４３６は、システムに配備可能なワークロードの種類も示すことができる。場所および容量監視部４０８は、場所および容量情報４３６を場所選択部４０４に伝達することができる。
【００６０】
場所選択部４０４は、データ・プライバシー・アドバイザ・アプリケーション４２０にデータ・プライバシー情報４３２を伝達することもできる。データ・プライバシー・アドバイザ・アプリケーション４２０は、データ・プライバシー情報４３２を解析し、その解析に基づいて、データの処理または記憶あるいはその両方を行うことになるワークロードをプロビジョニングすることができる場所を判断することができる。解析は、データ・プライバシー・ポリシーにアクセスすることと、データ・プライバシー・ポリシーをデータ・プライバシー情報４３２に適用することとを含み得る。
【００６１】
データ・プライバシー・ポリシーは、データ・プライバシー法、データ・プライバシー法規、またはその他の定められ得る可能なデータ・プライバシー規則あるいはこれらの組合せに基づくことができる。データ・プライバシー・ポリシーは、どのような分類のデータを、所定の供給源から、ワークロードをプロビジョニングすることが可能な様々な場所に転送することが可能か不可能かを指定することができる。例えば、特定の場所について、データ・プライバシー・ポリシーは、その場所でプロビジョニングされているワークロードによってホスト可能な様々な供給源からのデータのクラスを指定することができ、その場所でプロビジョニングされているワークロードによってホストすることができない様々な供給源からのデータのクラスを指定することができる。例示として、データ・ポリシーは、「極秘データ」としてラベル付けされたデータが特定の国でプロビジョニングされているか、または特定のセキュリティ要件を満たすデータ・センターでプロビジョニングされているか、あるいはその両方であるワークロードによってのみホストされることが許されることを示すことができる。データ・ポリシーは、「個人データ」としてラベル付けされたデータが、特定のセキュリティ要件を満たすデータ・センターでプロビジョニングされているワークロードによってのみホストされることが許されることを示すこともできる。また、データ・ポリシーは、「非機密」データとしてラベル付けされたデータが、最低限のレベルのセキュリティ要件を満たすデータ・センターでプロビジョニングされているワークロードによってホストされることが許されることを示すことができる。ただし、本構成はこれらの例には限定されない。
【００６２】
データ・プライバシー・ポリシーは、機械学習モデルを適用することによりポリシー文書を統計的に解析して構造化データを生成するとともに、ポリシーに基づいて動作を許可または拒絶するためにプロセスでさらに検討される必要のある、非構造化データのうちの重要な部分／要素として定義された事前定義済みのスキーマに基づき、リレーショナル・ナレッジ・データベースにデータを格納する、ポリシー・システム（図示せず）によって維持することができる。ポリシー・システムでは、自然言語の複数の文書を解析し、どのような種類のデータを所定の供給源から宛先に転送することが可能かまたは可能でないかの規則を使用して事前定義済みナレッジ・データベースを作成するための要素を見つけることができる。データベースは、ポリシー文書がデジタル的に転送可能もしくは不能なデータまたは情報に関して言及していることの重要な部分である実体または要素を保持することができる。データベースには、様々な手段によってアクセスすることができ、その中で文書がまだ処理されていないポリシーの細かい変更がある場合に手動で更新することも可能である。また、データベースは、サイバー・セキュリティを実施するために政府との共同作業で作成することができる。
【００６３】
データ・プライバシー・アドバイザ・アプリケーション４２０は、決定された場所に基づいて、データをホストするためのデータ・プライバシー・ポリシーの要件を満たすと判断された場所を示す許可場所情報４３８を生成することができる。データ・プライバシー・アドバイザ・アプリケーション４２０は、許可場所情報４３８を場所選択部４０４に伝達することができる。データ・プライバシー・アドバイザ・アプリケーション４２０または場所選択部４０４は、許可場所情報をワークロード監視部４１０に伝達することができる。許可場所情報４３８から、場所選択部４０４は、データをホストするためにワークロードのプロビジョニングが可能な場所を候補場所として特定することができる。
【００６４】
場所選択部４０４は、許可場所情報４３８と場所および容量情報４３６とに基づいて、データをホストするためにワークロードをプロビジョニングする少なくとも１つの場所を候補場所から自動的に選択することができる。選択される場所は、場所および容量情報４３６に基づいて、データをホストするためのデータ・プライバシー・ポリシーの要件を満たすと判断される場所であって、ワークロードを実行するために利用可能な容量を有するとともにワークロード仕様４３４を満たす少なくとも１つのシステム（例えばデータ処理システムまたはストレージ・システムあるいはその両方）を有する、許可場所情報４３８で示されている場所とすることができる。場所選択部４０４は、選択された場所を特定するとともに選択された場所で１つまたは複数のワークロードがプロビジョニングされることを要求する、プロビジョニング要求４４０を、ワークロード・プロビジョニング部４０６に伝達することができる。例えば、プロビジョニング要求４４０は、ワークロードをプロビジョニングする選択された場所における１つまたは複数のハイパーバイザ４２２を示すことができる。
【００６５】
プロビジョニング要求４４０に応答して、ワークロード・プロビジョニング部４０６は、選択された場所における１つまたは複数のシステムにワークロードを自動的にプロビジョニングすることができる。例えば、ワークロード・プロビジョニング部４０６は、プロビジョニングされるワークロードに関連する情報をハイパーバイザ４２２に伝達することができる。これに応答して、ハイパーバイザ４２２は、データをホストするための１つまたは複数のワークロードを自動的に作成することができる。例えば、ハイパーバイザ４２２は、ワークロードのために１つまたは複数の仮想マシン（例えばゲスト・マシン）、またはマイクロサービス、またはコンテナ、あるいはこれらの組合せを作成することができる。ワークロード・プロビジョニング部４０６は、ワークロードに関連する場所およびデータ・プライバシー制限情報４４２を、例えばデータ・プライバシー制約データ４１４としてデータベースに記憶することもできる。データベースはプログラム／ユーティリティ３５５の内部に存在することができるが、必ずしもその必要はない。
【００６６】
ワークロードのプロビジョニングに加えて、プログラム／ユーティリティ３５５（例えばワークロード監視部４１０）は、ワークロードのライフサイクル中にワークロードが確実にデータ・プライバシー・ポリシーに従って維持されるように、ワークロードを監視することもできる。例示として、ワークロード４５０が、プロビジョニングされたワークロードに相当し得る。前述のように、ワークロード監視部４１０は、データ・プライバシー・アドバイザ・アプリケーション４２０からワークロード４５０のための許可場所情報４３８を受け取ることができ、データ・プライバシー・アドバイザ・アプリケーション４２０に対して許可場所情報４３８の更新を定期的に要求することができる。また、ワークロード監視部４１０は、場所選択部４０４またはデータ・プライバシー・アドバイザ・アプリケーション４２０あるいはその両方からデータ・プライバシー情報４３２を受け取ることができ、そのような情報の更新を定期的に要求することができる。
【００６７】
ワークロード監視プロセス中、各ワークロード４５０について、ワークロード監視部４１０は、ワークロード４５０にデータ・プライバシーに関する問題があるか否かを判断することができる。例えば、ワークロード監視部４１０は、データ・プライバシー情報４３２で示されているかまたはデータ・プライバシー情報４３２に基づいてデータに適用可能なデータ・プライバシー・ポリシーに示されているか、あるいはその両方である所定の基準に従って、必要なデータ・プライバシー・ポリシーが順守されているか否かを判断することができる。
【００６８】
例示として、ワークロード監視部４１０は、ワークロード４５０が別のワークロードによってアクセスされるか否かを判断し、アクセスされる場合は、データ・プライバシー情報４３２において、そのような他のワークロードが、ワークロード４５０によってホストされている特定のデータ（例えば機密データ）にアクセスすることを許可されているものとして示されているか否かを判断することもできる。当該他のワークロードが、ワークロード４５０によってホストされている特定のデータにアクセスすることを許可されていないとの判断に応答して、ワークロード監視部４１０は、当該他のワークロードがワークロード４５０によってホストされているその特定のデータにアクセスすることができる（has access to）か否かを判断することができる。ワークロード監視部４１０は、ワークロード４５０にアクセスするために実装されているプロトコルを調べること、ワークロード４５０に対するオープン・データ・ベース・コネクティビティ（ＯＤＢＣ）呼出しを特定すること、ワークロード４５０に対するクエリを特定すること、ワークロード４５０にアクセスするマーケティング手段を特定することなどによって、この判断を行うことができる。当該他のワークロードがワークロード４５０によってホストされているその特定のデータにアクセスすることができ、そのようなアクセスを行うことができることを許可されていない場合、ワークロード監視部４１０は、ワークロード４５０にデータ・プライバシーに関する問題があると判断することができる。
【００６９】
当該他のワークロードによるその特定のデータへのアクセスに基づいてワークロード４５０にデータ・プライバシーに関する問題があるとの判断に応答して、ワークロード監視部４１０は、ワークロード４５０にアクセスすることができる当該他のワークロードを特定する情報、当該他のワークロードがワークロード４５０によってホストされているその特定のデータにアクセスした方式などを含む、ワークロード４５０に関する情報を記憶することができる。ワークロード監視部４１０は、この情報を適切なデータ・ストレージ、例えばプログラム／ユーティリティ３５５に存在するデータベースに記憶することができる。ワークロード監視部４１０は、さらに、ワークロード４５０が無許可のワークロードによってアクセスされたことを示す通知（例えばアラート、テキスト・メッセージ、Ｅメールなど）をシステムまたは法令順守管理者４６０に自動的に伝達するために、データ・プライバシー問題通知部４１２を起動することができ、その通知に当該他のワークロードに関する情報や、当該他のワークロードがワークロード４５０によってホストされているその特定のデータにアクセスした方式などを含めることができる。また、ワークロード監視部４１０は、ワークロード４５０をプロビジョニングする対象である新しい場所を選択するように場所選択部４０４に要求をリアル・タイムで伝達することができる。これに応答して、プログラム／ユーティリティ３５５が、上述のプロセスを実行して、ワークロード４５０がプロビジョニングされることができる新しい場所にワークロード４５０をリアル・タイムで自動的にプロビジョニングすることができる。
【００７０】
また、ワークロード監視部４１０は、ワークロード４５０が許可された場所で継続してプロビジョニングされるか否かを判断することができる。例示として、ワークロード監視部４１０は、ワークロード４５０が、許可場所情報４３８で示されている許可された場所ではない場所に現在プロビジョニングされているか否かを判断することができる。例えば、ワークロード４５０は、その元の場所から移動されていることがあり、またはワークロード４５０がすでに配備された後で監視プロセスが開始されていることがある。ワークロード４５０がすでに配備された後で監視プロセスが開始された場合、ワークロード４５０のためにデータ・プライバシーおよびワークロード仕様入力情報４３０をデータ・インターフェース４０２が受け取ることができ、場所選択部４０４とデータ・プライバシー・アドバイザ・アプリケーション４２０とが前述のプロセスを実行して許可場所情報４３８を生成することができ、それをデータ・プライバシー・アドバイザ・アプリケーション４２０または場所選択部４０４がワークロード監視部４１０に伝達することができる。しかし、ワークロード４５０が許可場所情報４３８で示されている許可された場所ではない場所に現在プロビジョニングされているとの判断に応答して、ワークロード監視部４１０は、ワークロード４５０にデータ・プライバシーに関する問題があると判断することができる。
【００７１】
ワークロード４５０が許可された場所でプロビジョニングされていないことに基づく、ワークロード４５０にデータ・プライバシーに関する問題があるとの判断に応答して、ワークロード監視部４１０は、ワークロード４５０がプロビジョニングされている場所を示す情報、データ・プライバシー情報４３２の違反を示す情報などを含む、ワークロード４５０に関する情報を記憶することができる。ワークロード監視部４１０は、この情報を適切なデータ・ストレージ、例えばプログラム／ユーティリティ３５５内にあるデータベースに記憶することができる。また、ワークロード監視部４１０は、ワークロード４５０がそのワークロードがプロビジョニングされることができる場所ではない場所にプロビジョニングされたことを示す通知（例えばアラート、テキスト・メッセージ、Ｅメールなど）をシステムまたは法令順守管理者４６０に自動的に伝達するために、データ・プライバシー問題通知部４１２を起動することができ、その通知に、ワークロード４５０がプロビジョニングされている場所を示す情報、データ・プライバシー情報４３２の違反を示す情報などを含めることができる。また、ワークロード監視部４１０は、ワークロード４５０がプロビジョニングされる新しい場所を選択する要求を場所選択部４０４にリアル・タイムで伝達することができる。これに応答して、プログラム／ユーティリティ３５５が上述のプロセスを実行して、ワークロード４５０がプロビジョニングされることができる新しい場所にワークロード４５０をリアル・タイムでプロビジョニングすることができる。
【００７２】
図５は、データ・プライバシー・アウェアネスおよび保護を提供する方法５００の一例を示すフローチャートである。ステップ５０２で、プログラム／ユーティリティ３５５が、ワークロードによってホストされることになる特定のデータに関連するデータ・プライバシー情報を受け取ることができる。プログラム／ユーティリティ３５５は、そのワークロードのワークロード仕様を受け取ることもできる。
【００７３】
ステップ５０４で、プログラム／ユーティリティ３５５は、ワークロードをプロビジョニングするために利用可能な容量を特定することができる。例えば、プログラム／ユーティリティ３５５は、利用可能な容量を有するシステム上で稼働し、ワークロード仕様を満たす、ハイパーバイザを特定することができる。ステップ５０６で、プログラム／ユーティリティ３５５は、利用可能な容量の場所を判断することができる。例えば、プログラム／ユーティリティ３５５は、利用可能な容量を有するシステム上で稼働し、ワークロード仕様を満たすハイパーバイザの場所を特定することができる。
【００７４】
ステップ５０８で、プログラム／ユーティリティ３５５は、ワークロードのプロビジョニングのために許可された場所を特定することができる。例えば、プログラム／ユーティリティ３５５は、データ・プライバシー・アドバイザ・アプリケーション４２０とインターフェースして、ワークロードのプロビジョニングのために許可された場所を候補場所として特定することができる。ステップ５１０で、プログラム／ユーティリティ３５５は、利用可能な容量を有する特定された場所のうちの１つまたは複数の場所にワークロードをプロビジョニングすることができる。例えば、プログラム／ユーティリティ３５５は、候補場所のうちのいずれの場所が、ワークロードをプロビジョニングするために利用可能な容量を有するとともにワークロード仕様を満たす場所であるか否かを判断することができ、それらの場所のうちの１つまたは複数の場所を選択することができる。
【００７５】
ステップ５１２で、プログラム／ユーティリティ３５５は、場所、データ・プライバシーおよびワークロード情報を記憶することができる。例えば、プログラム／ユーティリティ３５５は、このような情報をデータ・プライバシー制約データとして記憶することができる。ステップ５１４で、プログラム／ユーティリティ３５５は、ワークロードにデータ・プライバシーに関する問題があるか否かを判断するためにワークロードを監視することができる。
【００７６】
図６は、ワークロードにデータ・プライバシーに関する問題があるか否かを判断するためにワークロードを監視する方法６００の一例を示すフローチャートである。ステップ６０２で、プログラム／ユーティリティ３５５は、ワークロードが別のワークロードによってアクセスされるか否かを判断することができる。ステップ６０４で、ワークロードが他のワークロードによってアクセスされるとの判断に応答して、プログラム／ユーティリティ３５５は、データ・プライバシー情報において、当該他のワークロードが、ワークロードによってホストされている特定のデータにアクセスすることを許可されているものとして示されているか否かを判断することができる。ステップ６０６で、当該他のワークロードが、ワークロードによってホストされている特定のデータにアクセスすることを許可されているものとして示されていないとの判断に応答して、プログラム／ユーティリティ３５５は、当該他のワークロードがワークロードによってホストされているその特定のデータにアクセスすることができるか否かを判断することができる。ステップ６０８で、当該他のワークロードがワークロードによってホストされているその特定のデータにアクセスすることができるとの判断に応答して、プログラム／ユーティリティ３５５は、ワークロードにデータ・プライバシーに関する問題があると判断することができる。
【００７７】
図７は、ワークロードにデータ・プライバシーに関する問題があるか否かを判断するためにワークロードを監視する方法７００の別の例を示すフローチャートである。
【００７８】
ステップ７０２で、プログラム／ユーティリティ３５５は、データ・プライバシー情報に基づいて、ワークロードがプロビジョニングされている場所が、ワークロードがプロビジョニングされることができる場所であるか否かを判断することができる。ステップ７０４で、ワークロードがプロビジョニングされている場所が、ワークロードがプロビジョニングされることができない場所であるとの判断に応答して、プログラム／ユーティリティ３５５は、ワークロードにデータ・プライバシーに関する問題があると判断することができる。
【００７９】
図５に戻り、次に決定ボックス５１６を参照する。決定ボックス５１６で、ワークロードにデータ・プライバシーに関する問題が特定されない場合、プロセスはステップ５１４に戻ることができ、プログラム／ユーティリティ３５５は、ワークロードにデータ・プライバシーに関する問題があるか否かを判断するためにワークロードの監視を続けることができる。しかし、データ・プライバシーに関する問題が特定された場合、ステップ５１８でプログラム／ユーティリティ３５５は、例えば前述のようにその問題に関連する情報を記憶することができる。ステップ５２０で、プログラム／ユーティリティ３５５は、例えば前述のように、問題通知をリアル・タイムで自動的に生成し、伝達することができる。ステップ５２２で、プログラム／ユーティリティ３５５は、例えば前述のように、ワークロードを新しい場所にリアル・タイムで自動的にプロビジョニングすることができる。
【００８０】
本開示は、新規な機能を定義する特許請求の範囲で終わるが、本明細書に記載の様々な特徴は、本説明を図面とともに検討すればよりよく理解されると考えられる。本開示に記載されているプロセス、マシン、製造物、およびこれらの任意の変形は、例示を目的として示すものである。記載されているいずれの具体的な構造および機能の詳細も限定するものものと解釈すべきではなく、単に、特許請求の範囲の基礎として、および、当業者に実質的に任意の適切な詳細構造で記載されている特徴を様々に採用することを教示するための代表的な基礎として解釈すべきである。また、本開示で使用されている用語および語句は、限定することを意図しておらず、むしろ記載されている特徴を理解できるように説明することを意図したものである。
【００８１】
図を簡単にし、明確にするために、図面に示す要素は必ずしも一律の縮尺で描かれていない。例えば、明確にするために、要素のうちの一部の要素の寸法が他の要素に対して相対的に誇張されている場合がある。また、適切と考えられる場合には、対応するか、類似しているか、または同様の特徴を示すために、参照番号が図面間で繰り返し使用されている。
【００８２】
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはこれらの組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【００８３】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、可搬コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピィ（登録商標）ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を伝播する電磁波（例えば光ファイバ・ケーブルを通る光パルス）、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【００８４】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、あるいは、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワークまたはこれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含み得る。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【００８５】
本発明の操作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Ｓｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語、もしくは同様のプログラム言語などの従来の手続き型プログラミング言語を含む、１つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上でもしくは一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータもしくはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに対して行ってもよい。いくつかの実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【００８６】
本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【００８７】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装する手段を形成するようなマシンを実現するように、汎用コンピュータ、専用コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給することができる。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に記憶することもできる。
【００８８】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされて、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装するように、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の操作ステップが実行されてコンピュータ実装プロセスを実現するようにすることもできる。
【００８９】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および操作を示す。この場合、フローチャートまたはブロック図の各ブロックは、指定されている論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。別の一部の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行するかまたは専用ハードウェアとコンピュータ命令との組合せを実施する、専用ハードウェア・ベースのシステムによって実装可能であることも留意されよう。
【００９０】
本明細書で使用されている用語は、特定の実施形態について説明することのみを目的としており、本発明を限定することを意図していない。本明細書で使用されている単数形の「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が明確に別の解釈を示していない限り複数形も含むことが意図されている。また、「含んでいる（ｉｎｃｌｕｄｅｓ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「含んでいる（ｃｏｍｐｒｉｓｅｓ）」、または「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語あるいはこれらの組合せは、本開示で使用されている場合、記載されている特徴、整数、ステップ、操作、要素、またはコンポーネントあるいはこれらの組合せを指定するが、１つまたは複数の他の特徴、整数、ステップ、操作、要素、コンポーネントあるいはこれらの組合せの存在または追加を排除しないことがさらにわかるであろう。
【００９１】
本開示全体を通して、「一実施形態」、「ある実施形態」、「一構成」、「ある構成」、「一態様」、「ある態様」または同様の表現の言及がある場合、その実施形態に関連して記載されている特定の特徴、構造または特性が、本開示で記載されている少なくとも１つの実施形態に含まれることを意味する。したがって、本開示全体を通して「一実施形態」、「ある実施形態」、「一構成」、「ある構成」、「一態様」、「ある態様」という語句または同様の表現の記載は、すべて同じ実施形態を指す場合があるが、必ずしもそうであるとは限らない。
【００９２】
本明細書で使用されている「複数の」という用語は、２つ以上であるものと定義される。本明細書で使用されている「別の」という用語は、少なくとも第２またはそれ以上のものであると定義される。本明細書で使用されている「結合されている」という用語は、他の指示がない限り、介在要素のない直接的な接続であるか、または１つもしくは複数の介在要素による間接的な接続であるかを問わず、接続されているものと定義される。また、２つの要素は、機械的に、電気的に結合されることができ、または通信チャネル、経路、ネットワークもしくはシステムを介して通信可能に連結されていてもよい。本明細書で使用されている「．．．または．．．あるいはその両方（組合せ）」という用語は、関連する列挙項目のうちの１つまたは複数の項目の任意のあらゆる可能な組合せを指し、包含する。また、本明細書では様々な要素を説明するために第１、第２などの用語が使用されている場合があるが、特に明記されていない限り、または文脈が別の解釈を示していない限り、これらの用語は１つの要素を別の要素から区別するためにのみ使用されているため、これらの要素はこれらの用語によって限定されるべきではないことはわかるであろう。
【００９３】
「場合」という用語は、文脈に応じて、「．．．であるとき」、または「．．．時」、または「．．．との判断に応答して」、または「．．．の検出に応答して」を意味するものと解釈され得る。同様に、「．．．と判断された場合」または「［記載の条件またはイベント］が検出された場合」という語句は、文脈に応じて、「．．．との判断時」または「．．．との判断に応答して」または「［記載の条件またはイベント］の検出時」または「[記載の条件またはイベント］の検出に応答して」を意味するものと解釈され得る。
【００９４】
本発明の様々な実施形態の説明を例示のために示したが、これらは網羅的であること、または開示されている実施形態に限定することを意図したものではない。記載されている実施形態の範囲から逸脱することなく、多くの修正および変形が当業者には明かであろう。本明細書で使用されている用語は、実施形態の原理、市場に見られる技術の実際の適用、もしくはそれに優る技術的改良を最もよく説明するために、または当業者が本明細書で開示されている実施形態を理解することができるように選定された。
【図１】
2021531552.tif 000003
【図２】
2021531552.tif 000004
【図３】
2021531552.tif 000005
【図４】
2021531552.tif 000006
【図５】
2021531552.tif 000007
【図６】
2021531552.tif 000008
【図７】
2021531552.tif 000009
【国際調査報告】
2021531552.tif 000010
2021531552.tif 000011