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

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

▶ セールスフォース ドット コム インコーポレイティッドの特許一覧

特許7397977複数のレベルを有する階層を可能にするネスト化テナンシー
<>
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図1
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図2
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図3
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図4
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図5
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図6
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図7
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図8A
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図8B
  • 特許-複数のレベルを有する階層を可能にするネスト化テナンシー 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-05
(45)【発行日】2023-12-13
(54)【発明の名称】複数のレベルを有する階層を可能にするネスト化テナンシー
(51)【国際特許分類】
   G06F 9/455 20180101AFI20231206BHJP
   G06F 21/62 20130101ALI20231206BHJP
【FI】
G06F9/455 150
G06F21/62 336
【請求項の数】 15
(21)【出願番号】P 2022519661
(86)(22)【出願日】2020-09-28
(65)【公表番号】
(43)【公表日】2022-11-24
(86)【国際出願番号】 US2020053006
(87)【国際公開番号】W WO2021067156
(87)【国際公開日】2021-04-08
【審査請求日】2022-05-17
(31)【優先権主張番号】16/588,550
(32)【優先日】2019-09-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】バスイェーガー,ベンジャミン
(72)【発明者】
【氏名】サムバンディット,コソン
(72)【発明者】
【氏名】ホーウィッツ,ジェレミー
(72)【発明者】
【氏名】スグロイ,マイケル
(72)【発明者】
【氏名】バーガン,ジェフリー,エム.
(72)【発明者】
【氏名】フライ,ベンジャミン,ジェームズ
(72)【発明者】
【氏名】マクナマラ,ブライアン,ロバート
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特表2015-531511(JP,A)
【文献】米国特許出願公開第2014/0007178(US,A1)
【文献】国際公開第2019/064058(WO,A1)
【文献】米国特許出願公開第2018/0007024(US,A1)
【文献】国際公開第2018/064375(WO,A1)
【文献】特表2010-506294(JP,A)
【文献】米国特許出願公開第2011/0213789(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムにより、トップレベルのテナントとして実現されるそれぞれのクラウド及びサービス製品とのデータ保護範囲の関連づけを可能にするネスト化テナンシーモデルに従って共有インフラストラクチャサービスにデータ保護範囲を提供するプラットフォームを実現するステップであり、前記データ保護範囲は、複数のレベルを有する階層内にある、ステップと、
前記コンピュータシステムにより、特定の共有インフラストラクチャサービスに対して、第1のテナントセットを有する第1のクラウド製品に対する第1のデータ保護範囲をプロビジョニングする、第1の要求を受信するステップと、
前記第1の要求に応答して、前記階層の最上位レベルにおける、前記第1のクラウド製品に対する前記第1のデータ保護範囲をプロビジョニングするステップと、
前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、第2の異なるテナントセットを有する第2のクラウド製品に対する第2のデータ保護範囲をプロビジョニングする、第2の要求を受信するステップと、
前記第2の要求に応答して、前記階層の前記最上位レベルにおける、前記第2のクラウド製品に対する前記第2のデータ保護範囲をプロビジョニングするステップと、
前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、サービス製品に対する第のデータ保護範囲をプロビジョニングする、第の要求を受信するステップと、
前記第の要求に応答して、前記階層の前記最上位レベルにおける、前記サービス製品に対する前記第のデータ保護範囲をプロビジョニングするステップと、
を含む方法。
【請求項2】
前記コンピュータシステムにより、前記第1のテナントセットのうちの特定の1つに対する第のデータ保護範囲をプロビジョニングするステップであり、前記第のデータ保護範囲は、範囲階層の次のレベルでプロビジョニングされる、ステップ、をさらに含み、
前記第のデータ保護範囲は、前記範囲階層における前記第1のデータ保護範囲に従属してプロビジョニングされる、
請求項1に記載の方法。
【請求項3】
前記第1のデータ保護範囲をプロビジョニングすることは、前記第1のクラウド製品に対するクラウド製品識別子を生成することを含み、
前記第のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つに対するクラウド製品テナント識別子を生成することを含み、前記クラウド製品テナント識別子は、前記クラウド製品識別子を含む、
請求項2に記載の方法。
【請求項4】
前記第のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つと前記第1のクラウド製品との間の信頼関係のインジケータを記憶することを含む、請求項2乃至3のうちいずれか1項に記載の方法。
【請求項5】
前記コンピュータシステムにより、前記サービス製品のコンテキストにおいて前記特定の共有インフラストラクチャサービスにアクセスする特定のクラウド製品に対する第のデータ保護範囲をプロビジョニングするステップ、をさらに含み、
前記第のデータ保護範囲は、範囲階層における前記第のデータ保護範囲に従属してプロビジョニングされる、
請求項1乃至4のうちいずれか1項に記載の方法。
【請求項6】
前記コンピュータシステムにより、前記サービス製品のコンテキストにおいて前記特定の共有インフラストラクチャサービスにアクセスする前記特定のクラウド製品の特定のテナントに対する第のデータ保護範囲をプロビジョニングするステップ、をさらに含み、
前記第のデータ保護範囲は、範囲階層における前記第のデータ保護範囲に従属してプロビジョニングされる、
請求項5に記載の方法。
【請求項7】
前記コンピュータシステムにより、前記階層の前記最上位レベルにおけるシングルテナントデータ保護範囲をプロビジョニングするステップ、をさらに含み、
前記シングルテナントデータ保護範囲に従属してプロビジョニングされるデータ保護範囲は存在しない、
請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記階層の特定のレベルにおける特定のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信するステップ、をさらに含み、
前記アクセス要求は、前記特定のデータ保護範囲を示すURLを介して受信される、
請求項1乃至7のうちいずれか1項に記載の方法。
【請求項9】
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記階層の特定のレベルにおける特定のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信するステップ、をさらに含み、
前記アクセス要求は、前記特定のデータ保護範囲が前記アクセス要求をサブミットする権限を与えられているかどうかのインジケータを含む、
請求項1乃至8のうちいずれか1項に記載の方法。
【請求項10】
前記特定の共有インフラストラクチャサービスは、
アプリケーションにとってアクセス可能な非関係データベースに対してサポートされるデータ型を定義する1つ以上の選択可能なデータベーステンプレートを提供し、
前記アプリケーションからの、選択されたデータベーステンプレートにより定義される特定のデータ型を操作する要求にサービスを提供し、
前記アプリケーションからの前記特定のデータ型を操作する前記要求に応答して、前記選択されたデータベーステンプレートに基づいてデータ操作言語(DML)命令のセットを識別し、
前記識別されたDML命令のセットを前記非関係データベースに発行する
ように動作可能な共有テンプレートサービスを含む、請求項1乃至9のうちいずれかに記載の方法。
【請求項11】
コンピュータシステムに動作を実行させるコンピュータプログラムであって、前記動作は、
前記コンピュータシステムにより、トップレベルのテナントとして実現されるそれぞれのクラウド及びサービス製品とのデータ保護範囲の関連づけを可能にするネスト化テナンシーモデルに従って共有インフラストラクチャサービスにデータ保護範囲を提供するプラットフォームを実現することであり、前記データ保護範囲は、複数のレベルを有する階層内にある、ことと、
前記コンピュータシステムにより、特定の共有インフラストラクチャサービスに対して、第1のテナントセットを有する第1のクラウド製品に対する第1のデータ保護範囲をプロビジョニングすることであり、前記第1のデータ保護範囲は、範囲階層のトップレベルでプロビジョニングされる、ことと、
前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、第2のテナントセットを有する第2のクラウド製品に対する第2のデータ保護範囲をプロビジョニングすることであり、前記第2のデータ保護範囲は、前記範囲階層の前記トップレベルでプロビジョニングされる、ことと、
前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、サービス製品に対する第3のデータ保護範囲をプロビジョニングすることであり、前記第3のデータ保護範囲は、前記範囲階層の前記トップレベルでプロビジョニングされる、ことと、
を含む、コンピュータプログラム
【請求項12】
前記動作は、
前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、前記第1のテナントセットのうちの特定の1つに対する第4のデータ保護範囲をプロビジョニングすることであり、前記第4のデータ保護範囲は、前記範囲階層の次のレベルでプロビジョニングされ、前記第4のデータ保護範囲は、前記範囲階層内の前記第1のデータ保護範囲に従属してプロビジョニングされる、ことをさらに含み、
前記第1のデータ保護範囲をプロビジョニングすることは、前記第1のクラウド製品に対するクラウド製品識別子を生成することを含み、
前記第のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つに対するクラウド製品テナント識別子を生成することを含み、前記クラウド製品テナント識別子は、前記クラウド製品識別子を含む、
請求項11に記載のコンピュータプログラム
【請求項13】
前記第のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つと前記第1のクラウド製品との間の信頼関係のインジケータを記憶することを含む、
請求項12に記載のコンピュータプログラム
【請求項14】
前記動作は、
記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、前記第2のテナントセットのうちの特定の1つに対する第のデータ保護範囲をプロビジョニングすることであり、前記第のデータ保護範囲は、前記範囲階層の前記次のレベルでプロビジョニングされる、ことと、
前記第1のテナントセットのうちの特定の1つからの要求に応答して、前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、前記第のデータ保護範囲と前記第のデータ保護範囲との間の信頼関係を拡張することであり、それにより、前記第2のテナントセットのうちの前記特定の1つは、前記第1のテナントセットのうちの前記特定の1つと同じレベルの、前記特定の共有インフラストラクチャサービスへのアクセスを有する、ことと、
をさらに含む、請求項1乃至13のうちいずれか1項に記載のコンピュータプログラム
【請求項15】
少なくとも1つのプロセッサと、
請求項1乃至10のうちいずれか1項に記載の方法を実施するために前記少なくとも1つのプロセッサにより実行可能であるプログラム命令を記憶したメモリと、
を含むシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、マルチテナントコンピュータシステムに関する。
【背景技術】
【0002】
ソフトウェアレベルのマルチテナンシーにより、単一のソフトウェアインスタンスがコンピュータハードウェア上で動作し、複数のユーザにサービスを提供することができる。これらのユーザは、テナントと呼ばれる。マルチテナンシーでは、ソフトウェアアプリケーションは、これらのテナントに、データ、メタデータ、構成、設定、ユーザ管理、及び他の機能が他のテナントから分離されるように、インスタンスの共有を提供するように設計される。
【図面の簡単な説明】
【0003】
図1】様々な実施形態による、ネスト化マルチテナンシーを実現するように構成されたコンピュータシステムの一実施形態を示すブロック図である。
図2】様々な実施形態による、図1のデータ保護範囲階層の拡張ブロック図である。
図3】様々な実施形態による、ネスト化マルチテナンシー要求フォーマットテンプレートである。
図4】開示される実施形態による、データ保護範囲階層における暗号トークン関係のブロック図である。
図5】様々な実施形態による、クラウド製品データ保護範囲及びクラウド製品テナントデータ保護範囲のプロビジョニング方法を示すブロック図である。
図6】クラウド製品データ保護範囲のコンテキストにおけるサービス製品データ保護範囲及びサービス製品のプロビジョニング方法を示すブロック図である。
図7】テンプレートに関連づけられた方法の実施形態を示すフロー図である。
図8A】テンプレートに関連づけられた方法の実施形態を示すフロー図である。
図8B】テンプレートに関連づけられた方法の実施形態を示すフロー図である。
図9図1の様々なコンポーネントを実現し得る一例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0004】
本開示は、「1つの実施形態」又は「一実施形態」への参照を含む。フレーズ「1つの実施形態において」又は「一実施形態において」の出現は、必ずしも同じ実施形態を参照するものではない。特定の特徴、構造、又は特性を、本開示と矛盾しない任意の適切な方法で組み合わせることができる。
【0005】
本開示において、異なるエンティティ(「ユニット」、「回路」、他のコンポーネントなどと様々に呼ばれることがある)は、1つ以上のタスク又は動作を実行するように「構成される」ものとして記載又は請求され得る。この定式化 -[1つ以上のタスクを実行する]ように構成された[エンティティ]- は、本明細書において、構造(すなわち、電子回路などの物理的な何らか)を参照することに用いられる。より具体的には、この定式化は、この構造が動作の間に1つ以上のタスクを実行するように配置されていることを示すために用いられる。構造は、該構造が現在動作していないとしても、何らかのタスクを実行する「ように構成されて」いるということができる。「要求を受信するように構成されたコンピュータシステム」は、例えば、当該コンピュータシステムが現在使用されていない(例えば、電源がそれに接続されていない)としても、コンピュータシステムが動作の間にこの機能を実行する回路を有することをカバーすることを意図している。したがって、何らかのタスクを実行する「ように構成されて」いるものとして説明又は記載されるエンティティは、デバイス、回路、タスクを実施するために実行可能なプログラム命令を記憶するメモリ等などの物理的な何らかを参照する。このフレーズは、本明細書において、無形の何らかを参照することには用いられない。したがって、この「ように構成される」の構造は、本明細書において、アプリケーションプログラミングインターフェース(API)などのソフトウェアエンティティを参照することには用いられない。
【0006】
用語「ように構成される」は、「ように構成可能である」を意味することを意図するものではない。例えば、プログラムされていないFPGAは、何らかの特定の機能を実行する「ように構成されて」いるとはみなされいが、その機能を実行する「ように構成可能で」あり得、プログラミングの後、機能を実行する「ように構成され」得る。
【0007】
添付の特許請求の範囲において、ある構造が1つ以上のタスクを実行する「ように構成されている」と記載することは、その請求項の要素についてU.S.C.§112(f)を援用しないことを明確に意図している。したがって、出願された本出願における請求項のいずれも、ミーンズプラスファンクション要素を有するものとして解釈されることを意図していない。出願人が手続中に§112(f)を援用することを望む場合、出願人は、[機能を遂行する]「手段」の構造を用いて請求項の要素を記載するであろう。
【0008】
本明細書で用いられるとき、用語「第1」、「第2」などは、それらが先行する名詞のラベルとして用いられ、具体的に示されない限り、いかなるタイプの順序付け(例えば、空間的、時間的、論理的など)も意味しない。例えば、「第1」及び「第2」のデータ保護範囲への参照は、別段示されない限り、この2つの間の順序付けを意味しない。
【0009】
本明細書で用いられるとき、用語「に基づく」は、決定に影響する1つ以上のファクタを記載するために用いられる。この用語は、さらなるファクタが決定に影響し得る可能性を排除するものではない。すなわち、決定は、指定されたファクタだけに基づくことがあり、あるいは指定されたファクタ及び他の指定されていないファクタに基づくことがある。フレーズ「Bに基づいてAを決定する」について考える。このフレーズは、Bが、Aを決定するために使用され、あるいはAの決定に影響するファクタであることを指定している。このフレーズは、Aの決定が、Cなどの何らかの他のファクタにも基づき得ることを排除するものではない。このフレーズは、AがBだけに基づいて決定される実施形態をカバーすることも意図している。本明細書で用いられるとき、フレーズ「に基づく」は、したがって、フレーズ「に少なくとも部分的に基づく」と同義である。
【0010】
本明細書で用いられるとき、語「モジュール」は、動作のセットを記憶又は実行する構造を参照する。モジュールは、動作のセットを実施するハードウェア、又は、コンピュータシステムの1つ以上のプロセッサにより実行されるとコンピュータシステムに動作のセットを実行させるような命令のセットを記憶するメモリを参照する。したがって、モジュールは、命令を実施する特定用途向け集積回路、命令を記憶するメモリ及び該命令を実行する1つ以上のプロセッサ、又は双方の組み合わせを含み得る。
【0011】
次に、図1を参照し、コンピュータシステム100の一例示的な実施形態のブロック図が示される。様々な実施形態において、コンピュータシステム100は、マルチテナントコンピュータシステム120と通信する遠隔コンピュータシステム110を含む。様々な実施形態において、遠隔コンピュータシステム110は、マルチテナントコンピュータシステム120のテナント(又は、テナントのテナント)に関連づけられ、1つ以上の共有インフラストラクチャサービス124へのアクセスを(例えば、プロビジョニング(provision)要求112及び/又はアクセス要求114を用いて)要求している。
【0012】
様々な実施形態において、遠隔コンピュータシステム110は、マルチテナントコンピュータシステム120とインターフェースするように構成された複数のコンピュータシステム(例えば、サーバ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイス、ウェアラブルコンピュータ)のいずれかである。様々な実施形態において、遠隔コンピュータシステム110は、単一のコンピュータシステム又はコンピュータシステムのクラウドを使用して実現される。様々な例において、遠隔コンピュータシステム110は、マルチテナントコンピュータシステム120に対して(例えば、様々な実施形態においてインターネットを含む、有線及び/又は無線ネットワークを介して)プロビジョニング要求112及びアクセス要求114を送信する。本明細書で論じられるように、これらの要求112及び114は、遠隔コンピュータシステム110が、データ保護及びプライバシーを保証する制御された安全な方法で共有インフラストラクチャサービス124にアクセスすることを可能にする。
【0013】
様々な実施形態において、マルチテナントコンピュータシステム120は、1つ以上の共有インフラストラクチャサービス124を含むマルチテナントプラットフォームを実現するように構成された複数のコンピュータシステム(例えば、サーバ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイス、ウェアラブルコンピュータ)のいずれかである。本明細書で論じられるように、このマルチテナントプラットフォームはさらに、これらの共有インフラストラクチャサービス124にデータ保護範囲を提供するように構成される。本明細書で用いられるとき、「プラットフォーム」は、ハードウェア(例えば、マルチテナントコンピュータシステム120)上で実行されると本明細書に記載される機能を実行するソフトウェアを指す。様々な実施形態において、マルチテナントコンピュータシステム120は、単一のコンピュータシステム又はコンピュータシステムのグループ(例えば、分散クラウド環境)を使用して実現される。
【0014】
様々な実施形態において、共有インフラストラクチャサービス124へのアクセスは、データ保護範囲階層122を使用して制御される。様々な実施形態において、データ保護範囲階層122は、複数のレベルのデータ保護範囲を含む。本明細書で図2図8を参照してさらに詳細に論じられるように、階層122は、異なるタイプの情報を保護する複数の異なるデータ保護範囲(例えば、本明細書で論じられるクラウド製品データ保護範囲202、サービス製品データ保護範囲204)を含む。そのような実施形態において、マルチテナントコンピュータシステム120は、データ保護範囲階層122を用いて実現されたネスト化テナンシー(nested tenancy)モデルに従って1つ以上の共有インフラストラクチャサービス124にデータ生成範囲を提供するプラットフォームを実現する。本明細書で用いられるとき、用語「ネスト化テナンシー」及び「ネスト化マルチテナンシー」は、テナント自身がテナント(本明細書においてサブテナントとも呼ばれる)を有する(又は、有することができる)マルチテナンシーモデルを指す。これらのモデルのトップレベルにおけるテナントは、本明細書において「第1クラステナント(first-class tenants)」とも呼ばれる。様々な例において、これらの様々なデータ保護範囲は、マルチテナントコンピュータシステム120のトップレベルのテナントとして実現されるクラウド製品(cloud products)又はサービス製品(service products)に関連づけられる。様々な例において、様々なクラウド製品は各々、それらの独自のテナントセットを有し、データ保護範囲階層122は、クラウド製品テナントデータ保護範囲を含み、これらのクラウド製品テナントデータ保護範囲は、それらのそれぞれのクラウド製品に従属する。同様に、サービス製品は、クラウド製品又はクラウド製品のテナントのコンテキストにおいて(in the context of)、それぞれのデータ保護範囲で実行することができる。データ保護範囲階層122及び様々なデータ保護範囲は、図2を参照して本明細書でさらに論じられる。
【0015】
様々な実施形態において、共有インフラストラクチャサービス124は、ネスト化テナンシー(例えば、サブテナントを有するテナント)を提供する複数の共有サービスのいずれかである。本明細書で用いられるとき、「共有インフラストラクチャサービス」は、マルチテナンシーモデルに従って複数のテナントによりアクセスでき、かつそのテナントの機能性に対するサポート機能を提供する、ソフトウェアの単一のインスタンスである。様々な実施形態において、例えば、第1の共有インフラストラクチャサービス124は、トップレベルのテナントである複数の種類のデータベースのうちのいずれかによる使用のための共有データベーステンプレートを提供し、これらのトップレベルのテナントの多くが、次に、それらの独自のテナント(本明細書において「サブテナント」とも呼ばれる)を有する。そのような実施形態において、この共有テンプレートサービスは、アプリケーションにとってアクセス可能な非関係データベースに対してサポートされるデータ型を定義する1つ以上の選択可能データベーステンプレートを提供し、アプリケーションからの、選択されたデータベーステンプレートにより定義される特定のデータ型を操作する要求にサービスを提供し(service)、選択されたデータベーステンプレートに基づいてデータ操作言語(data manipulation language、DML)命令のセットを識別し、識別されたDML命令のセットを非関係データベースに発行するように動作可能である。共有テンプレートサービスは、その全体を本明細書に組み込まれている米国特許出願第16/121,598号にさらに詳細に開示されている。別の実施形態において、共有インフラストラクチャサービス124は、それら独自のテナントを有する異なるサービスのためにスケジューリングサービスを提供する。
【0016】
様々な実施形態において、マルチテナントコンピュータシステム120は、要求を受信すると、階層122内のデータ保護範囲をプロビジョニングする(provisions)。したがって、様々な実施形態において、マルチテナントコンピュータシステム120は、第1のテナントセットを有するクラウド製品に対する第1のデータ保護範囲をプロビジョニングする第1の要求と、サービス製品に対する第2のデータ保護範囲をプロビジョニングする第2の要求を受信する。第1の要求に応答して、マルチテナントコンピュータシステム120は、第1のデータ保護範囲をクラウド製品にプロビジョニングし、第2の要求に応答して、第2のデータ保護範囲をプロビジョニングし、双方とも階層122の最上位レベルにある。本明細書で論じられるように、後に、クラウド製品又はサービス製品が共有インフラストラクチャサービス124にアクセスすると、それらのそれぞれのデータ保護範囲が呼び出される。
【0017】
様々な実施形態において、階層122内のデータ保護範囲は、最上位レベルに対する従属レベルにおいてもプロビジョニングされる。したがって、様々な実施形態において、マルチテナントコンピュータシステム120は、第1のテナントセットを有するクラウド製品に対して、階層122のトップにおける第1のデータ保護範囲をプロビジョニングし、第1のテナントセットのうちの特定の1つに対して、階層122の次のレベルにおける第2のデータ保護範囲をプロビジョニングする。このような実施形態において、この第2のデータ保護範囲は、第1のデータ保護範囲に従属している。同様に、いくつかの実施形態において、マルチテナントコンピュータシステム120は、クラウド製品及びクラウド製品のテナントのためのデータを管理するサービス製品に対する第1のデータ保護範囲を、階層122のトップレベルでプロビジョニングする。さらに、マルチテナントコンピュータシステム120は、特定のクラウド製品のコンテキストにおけるサービス製品に対する第2のデータ保護範囲を、階層122の次のレベルでプロビジョニングする。
【0018】
様々な実施形態において、このネスト化テナンシーモデルは、マルチテナントコンピュータシステム120が、各々がそれら独自のテナントセットを有する複数のクラウド製品、及び/又はクラウド製品(又は、クラウド製品のテナント)のために動作するサービス製品に、これらのクラウド製品及びサービス製品を第1クラステナントとして扱う(それらのサブテナントが従属的である)ことにより、共有インフラストラクチャサービスを提供することを可能にする。さらに、このネスト化テナンシーモデルは、さらなるクラウド製品又はサービス製品をさらなる第1クラステナントとして階層に追加することができるようにスケーラブルである。これは、例えば、新しいクラウド製品がリリースされるとき、又は、スタートアップにより運用されるサービス製品が、スタートアップが買収されるときにマルチテナントコンピュータシステム120に統合されるとき、実行され得る。本明細書で論じられるように、第1のクラウド製品の第1のテナントに関連づけられたエンティティは、同様にこのエンティティに関連づけられた、第2のクラウド製品の第2のテナントに信頼を拡張することができ、それにより、第1のテナント及び第2のテナントの共有インフラストラクチャサービス124へのアクセスは、一緒に統合され、エンティティは、複数のクラウド製品に記憶された情報に、より簡便にアクセスすることができる。階層122のため、この統合されたアクセスは、異なるクラウド製品内の情報にアクセス及び/又は変更する際の複雑さを低減することができる。

【0019】
次に、図2を参照し、様々な実施形態による、図1のデータ保護範囲階層122の拡張ブロック図が示される。様々な実施形態において、データ保護範囲の階層122は、複数のレベル(例えば、レベル200、210、220、230、240)を含み、これらの各々が、1つ以上のデータ保護範囲(例えば、レベル200におけるデータ保護範囲202、204、206、レベル210におけるデータ保護範囲212)を含む。本明細書で論じられるように、マルチテナントコンピュータシステム120は、データ保護範囲階層122を使用して情報(例えば、共有インフラストラクチャサービス124)へのアクセスを安全化し(secure)、それにより、遠隔コンピュータシステム110が安全化された情報にアクセスするよう試みたとき、マルチテナントコンピュータシステム120は、データ保護範囲階層122を参照して、アクセス試行を承諾するかどうかを決定する。本明細書で論じられるように、そのようなアクセス試行(例えば、要求112、114)は、そのような試行が行われたデータ保護範囲階層122内の特定のデータ保護範囲を識別すること(本明細書で図3を参照してさらに詳細に論じられる)、及び/又はそのような試行を認証するために暗号技術を使用すること(本明細書で図4を参照してさらに詳細に論じられる)を含む。
【0020】
様々な実施形態において、階層122は、複数のレベルを含む。図2に示される実施形態には、200、210、220、230、及び240の5つのレベルがあるが、様々な他の実施形態において、2以上の番号付けの複数のレベルのうちの任意のものがあってよい。図2に示す実施形態において、レベル200は階層122のトップレベルであり、下位のレベルはレベル200に従属している。例えば、レベル210及び220は、データ保護範囲202及び204それぞれに直接従属するデータ保護範囲212及び222を含む。したがって、様々な実施形態において、レベル210及び220はレベル200に従属し、レベル230はレベル220に(次に、レベル210に)従属し、レベル240はレベル200、210、220、及び230に従属する。
【0021】
データ保護範囲階層122において、従属データ保護範囲(例えば、212、214、232)は、様々な実施形態において、それらの上位データ保護範囲(例えば、202、204)と同等又はそれ未満のアクセスを有する。したがって、このような実施形態において、クラウド製品のテナントは、クラウド製品がアクセスを有する情報のサブセットのみへのアクセスを有する。様々な実施形態において、同じレベルにおけるデータ保護範囲は、互いにさらに分離され、それにより、第1のデータ保護範囲(例えば、クラウド製品Aのデータ保護範囲202A)でアクセス可能な情報の少なくとも一部は、第2のデータ保護範囲(クラウド製品Bのデータ保護範囲202B)でアクセス可能な情報の少なくとも一部から分離される。しかし、様々な実施形態において、情報は、複数のデータ保護範囲によりアクセス可能である。いくつかの実施形態において、そのような情報は、階層122の同じレベルにおける全てのデータ保護範囲、又は同じタイプの全てのデータ保護範囲(例えば、全てのクラウド製品データ保護範囲202)に対して利用可能にされる。いくつかの実施形態において、第1のエンティティ(例えば、ユーザ、テナント、サブテナント)は、第2のエンティティ(例えば、別のユーザ、テナント、又はサブテナント)に、第1のエンティティに関連づけられた1つ以上のデータ保護範囲へのアクセスを承諾することができ(本明細書において「信頼の拡張」とも呼ばれる)、それにより、第2のエンティティは、第1のエンティティのデータ保護範囲により保護される情報へのアクセスを有する。例えば、クラウドテナントデータ保護範囲212と、クラウドテナントデータ保護範囲232のコンテキストにおけるサービス製品とが、情報を共有することができる。同様に、エンティティが、異なるクラウド製品(例えば、202A及び202B)のテナントに関連づけられてもよく、このエンティティは、それらの異なるクラウド製品に対するクラウド製品テナントデータ保護範囲(例えば、212A及び212B)にわたって情報が共有されることを要求することができる。
【0022】
レベル200は、階層122の最上位レベルである。クラウド製品データ保護範囲202、サービス製品データ保護範囲204、及びアカウントデータ保護範囲206は、図2に示す実施形態においてレベル200にある。様々な実施形態において、レベル200内のデータ保護範囲は、マルチテナントコンピュータシステムの第1クラステナントに関連づけられる。本明細書で論じられるように、階層122内の、レベル200に従属するレベルは、これらの第1クラステナントのサブテナント、又はテナント若しくはサブテナントにアクセスするために使用されるユーザアカウントに関連づけられる。
【0023】
クラウド製品データ保護範囲202は、各々がそれら独自のサブテナントを有するクラウド製品に関連づけられる。本明細書で用いられるとき、「クラウド製品」は、そのテナントにとってアクセス可能であり、かつそのようなテナントのための機能を実行するために使用可能である、ソフトウェアを指す(これは、クラウド環境のユーザがソフトウェアを実行できる分散型ハードウェア及びソフトウェアを提供するAMAZON(登録商標) WEB SERVICESなどのクラウド環境と区別可能である)。マルチテナントコンピュータシステム120がSALESFORCE(登録商標)により運用される様々な実施形態において、クラウド製品の例には、そのサブテナントの販売管理のためのデータを管理する顧客関係管理(Customer Relationship Management、CRM)システム、サブテナントのための複数のチャネルにわたって統一された商取引プラットフォームを提供するコマースクラウド(Commerce Cloud)、及びサブテナントのためのデジタルマーケティング自動化及び分析のソフトウェア及びサービスを提供するマーケティングクラウド(Marketing Cloud)が含まれる。図2に示すように、2つのクラウドデータ保護範囲202が階層122内でプロビジョニングされ、第1のサブテナントセットを有するクラウド製品Aデータ保護範囲202Aと、第2のサブテナントセットを有するクラウド製品Bデータ保護範囲202Bである。2つのクラウド製品データ保護範囲202が図2に示されているが、任意の数が階層122に存在してよい。
【0024】
サービス製品データ保護範囲204は、サービス製品に関連づけられる。本明細書で用いられるとき、「サービス製品」は、クラウド製品及び/又はクラウド製品のテナントのためにデータにアクセス、データを変更、及び/又は管理するように動作可能なソフトウェアである。本明細書で用いられるとき、サービス製品は、(a)それが特定のクラウド製品のために動作しているとき「クラウド製品のコンテキストにおいて(in the context of)動作し」、(b)それが特定のクラウド製品の特定のテナントのために動作しているとき「クラウド製品のテナントのコンテキストにおいて動作する」。マルチテナントコンピュータシステム120がSALESFORCEにより運用される様々な実施形態において、サービス製品の例には、品目の在庫を管理する(例えば、特定の品目、リアルタイムの利用可能性、メトリックを保持する)ように動作可能である在庫サービス(Inventory Service)、又はテナントの商取引ストアのためのデジタル資産に関するメタデータを管理するように動作可能である資産オプティマイザサービス(Asset Optimizer Service)が含まれる。様々なサービスは、クラウド製品データ保護範囲202に関連づけられた情報にアクセス/修正し、及び/又はクラウドテナントデータ保護範囲212に関連づけられた情報にアクセス/修正するように動作可能である。図2に示すように、2つのサービス製品保護範囲204が階層122内でプロビジョニングされ、サービス製品Aデータ保護範囲204Aと、サービス製品Bデータ保護範囲204Bである。後に論じられるように、従属データ保護範囲が、クラウド製品のコンテキストにおいて動作するサービス製品に対して(例えば、サービス製品クラウド製品データ保護範囲222)、又はクラウド製品のテナントのコンテキストにおいて動作するサービス製品に対して(例えば、サービス製品クラウド製品テナントデータ保護範囲232)、プロビジョニングされる。2つのサービス製品データ保護範囲204が図2に示されているが、任意の数が階層122に存在してよい。
【0025】
アカウントデータ保護範囲206は、単一のテナントに共有インフラストラクチャサービス124へのアクセスを提供するためにプロビジョニングされる。どのデータ保護範囲も、アカウントデータ保護範囲206に従属してプロビジョニングされない(しかしながら、アカウントデータ保護範囲206にアクセスするために使用可能な1つ以上のユーザアカウント242が存在する)。1つのアカウントデータ保護範囲206のみが図2に示されているが、任意の数が階層122に存在してよい。
【0026】
レベル210は、レベル200内のクラウド製品データ保護範囲202に従属するクラウド製品テナントデータ保護範囲212を含む。図2に示すように、階層122は、クラウド製品Aデータ保護範囲202Aに従属する複数のクラウド製品Aテナントデータ保護範囲212Aと、クラウド製品Bデータ保護範囲202Bに従属する複数のクラウド製品Bテナントデータ保護範囲212Bとを含む。
【0027】
レベル220は、クラウド製品のコンテキストにおいて動作するサービス製品に対するデータ保護範囲、すなわち、サービス製品クラウド製品データ保護範囲222を含む。これらのサービス製品クラウド製品データ保護範囲222は、それらのそれぞれのサービス製品に対するデータ保護範囲に従属するが、これらのサービス製品クラウド製品データ保護範囲222は、それらのそれぞれのクラウド製品に対するデータ範囲によりさらに制限される。したがって、サービス製品Aクラウド製品データ保護範囲222Aは、サービス製品Aデータ保護範囲204Aに従属するが、サービス製品Aクラウド製品データ保護範囲222Aの各々が異なるクラウド製品のコンテキストにおいて動作しているため、これらの範囲は、それぞれのクラウド製品データ保護範囲202によりさらに制限される(例えば、サービス製品Aがクラウド製品Aのコンテキストにおいて動作している場合、関連するサービス製品Aクラウド製品データ保護範囲222Aは、クラウド製品Aデータ保護範囲202Aにより制限される)。同様に、レベル220は、サービス製品Bデータ保護範囲204Bに従属する(及びさらに、関連するクラウド製品データ保護範囲202により制限される)複数のサービス製品Bクラウド製品データ保護範囲222Bも含む。
【0028】
レベル230は、クラウド製品のテナントのコンテキストにおいて動作するサービス製品に対するデータ保護範囲、すなわち、サービス製品クラウド製品テナントデータ保護範囲232を含む。これらのサービス製品クラウド製品テナントデータ保護範囲232は、特定のクラウド製品のコンテキストにおいて動作するそれらのそれぞれのサービス製品に対するデータ保護範囲に従属するが、これらのサービス製品クラウド製品データ保護範囲222は、(a)それらのそれぞれのクラウド製品に対するデータ範囲、及び(b)こうしたクラウド製品のそれぞれのテナントに対するデータ保護範囲によりさらに制限される。したがって、サービス製品Aクラウド製品テナントデータ保護範囲232Aは、サービス製品Aクラウド製品データ保護範囲222Aに従属するが、サービス製品Aクラウド製品テナントデータ保護範囲232Aの各々がクラウド製品の異なるテナントのコンテキストにおいて動作しているため、これらの範囲は、それぞれのクラウド製品データ保護範囲202によりさらに制限される(例えば、サービス製品Aがクラウド製品Aの特定のテナントのコンテキストにおいて動作している場合、関連するサービス製品Aクラウド製品データ保護範囲222Aは、クラウド製品Aデータ保護範囲202Aと、その特定のテナントに対するクラウド製品Aテナントデータ保護範囲212Aにより制限される)。様々な他の実施形態において、レベル220及び230は並列であり、レベル230内のデータ保護範囲はレベル220内のデータ保護範囲に従属しない。その代わりに、関連するクラウド製品データ保護範囲202及びクラウド製品テナントデータ保護範囲212により課されるデータアクセスへの制限は、データ保護のサービス製品クラウド製品データ保護範囲222及びサービス製品クラウド製品テナントデータ保護範囲232をそれぞれ保証する。
【0029】
レベル240は、階層122内のデータ保護範囲にアクセスするためにエンドユーザにより使用されるユーザアカウント242を含む。様々な実施形態において、同じデータ保護範囲に関連づけられたユーザアカウント242は、階層122を使用して保護された情報に対して異なるレベルのアクセスを有する。例えば、第1のユーザアカウント242は、販売員に関連づけられ、第2のユーザアカウント242は、この販売員及び他の販売員を管理する販売マネージャに関連づけられる。このような実施形態において、第2のユーザアカウント242は、第1のユーザアカウント242より多くの保護されたデータへのアクセスを有する。しかしながら、ユーザアカウント242は、様々な実施形態において、それらのそれぞれのデータ保護範囲より多くの情報へのアクセスを有さない。しかしながら、いくつかの実施形態において、単一のユーザアカウント242が、複数のデータ保護範囲に関連づけられてもよく、したがって、単一のデータ保護範囲の範囲を超えた情報へのアクセスを有してもよい。例えば、上記で論じられた販売マネージャのための第2のユーザアカウント242は、クラウド製品Aのテナント、クラウド製品Bのテナントに関連づけられ、クラウド製品Aのテナントのコンテキストにおいて動作するサービス製品Aに関連づけられる。このような実施形態において、この第2のユーザアカウント242は、クラウド製品Aテナントデータ保護範囲212Aの1つと、クラウド製品Bテナントデータ保護範囲212Bの1つと、サービス製品Aクラウド製品テナントデータ保護範囲232Aの1つとで保護された情報のサブセットへのアクセスを有する。
【0030】
次に、図3を参照し、ネスト化マルチテナンシー要求フォーマットテンプレート300が示される。様々な実施形態において、ネスト化マルチテナンシー要求フォーマットテンプレート300に従ってフォーマットされた要求112、114は、共有インフラストラクチャサービスエンドポイント識別子302、共有インフラストラクチャバージョン識別子304、データ保護範囲識別子306、アドレス指定エンドポイント識別子308、及び要求パス310を含む。様々な実施形態において、ネスト化マルチテナンシー要求フォーマットテンプレート300は、さらなるセグメント(例えば、送信時間(time sent)識別子)を含んでもよく、あるいは図3に示される識別子のいずれかを省略してもよい(例えば、バージョン識別子304は含まれない)。
【0031】
様々な実施形態において、共有インフラストラクチャサービスエンドポイント識別子302は、要求112、114が向けられた特定の共有インフラストラクチャサービスの1つ以上のインスタンスを識別する。様々な実施形態において、識別子302は、HTTP URLのホスト部分と同様にフォーマットされる(例えば、「service.example.com」)。そのような実施形態において、識別子302に続く、ネスト化マルチテナンシー要求フォーマットテンプレート300の部分は、HTTP URLのパス成分と同様にフォーマットされる。(例えば、「/1/accounts/xyz/data/Individual(‘1’)」)
【0032】
したがって、ネスト化マルチテナンシー要求フォーマットテンプレート300を使用する一例示的な要求112は、「http://service.example.com/1/clouds/cloud/admin/Tenants(‘00’)」である。
【0033】
したがって、ネスト化マルチテナンシー要求フォーマットテンプレート300を使用する一例示的な要求114は、「http://service.example.com/1/clouds/cloud/tenants/00/data/Individual(‘1’)」である。
【0034】
様々な実施形態において、共有インフラストラクチャバージョン識別子304は、使用されているネスト化マルチテナンシー要求フォーマットテンプレート300のバージョンを識別する任意の識別子であり、複数のバージョンを動作可能にすることができる。上記の例において、「1」は、ネスト化マルチテナンシー要求フォーマットテンプレート300バージョン1を示す。
【0035】
データ保護範囲識別子306は、階層122内の特定のデータ保護範囲を識別し、この範囲は、(a)要求112内の新しいデータ保護範囲をプロビジョニングするために使用され(例えば、クラウド製品Aデータ保護範囲202A)、又は(b)要求112内で呼び出される(例えば、特定のクラウド製品Aテナントデータ保護範囲212A)。上記の例において、「accounts/xyz」はデータ保護範囲識別子306であり、これにおいて、「accounts」は「accounts」と呼ばれるクラウド製品を識別し、「xyz」は「xyz」と名付けられたテナントを識別する。
【0036】
様々な実施形態において、アドレス指定エンドポイント識別子308は、アドレス指定する共有インフラストラクチャのエンドポイントを識別する。いくつかの例において、アドレス指定エンドポイント識別子308「admin」は、データ保護範囲をプロビジョニングする要求112において使用される。他の例において、アドレス指定エンドポイント識別子308「metadata」は、所定のデータ保護範囲のためのメタデータを読み出す又は書き込む要求114において使用される。さらに他の例において、アドレス指定エンドポイント識別子308「data」は、デプロイされたメタデータに従ってデータを読み出す又は書き込む要求114において使用される。
【0037】
様々な実施形態において、要求パス310は、要求パスである。様々な実施形態において、要求パス310は、OData準拠の要求パスである。上記の例において、「Individual(‘1’)」は、要求パス310である。
【0038】
したがって、様々な実施形態において、ネスト化マルチテナンシー要求フォーマットテンプレート300に従ってフォーマットされた要求112、114が、マルチテナントコンピュータシステム120により受信されるとき、要求の実体(例えば、要求パス310)と、要求112、114を処理する方法に関する情報との双方が、URL自体の中に含まれる。本明細書で論じられるように、要求112、114の様々な部分が、さらなるセキュリティのために暗号技術を用いて安全化される。例えば、データ保護範囲識別子306は、関連するクラウド製品又はサービス製品、及び様々な例においてクラウド製品テナントに関連づけられた、暗号的に生成された値(例えば、暗号署名)に含まれる。様々な実施形態において、そのような暗号署名(及び、それに関連づけられたデータ保護範囲)は、データ保護範囲を第三者により操作できないことをマルチテナントコンピュータシステム120が保証するよう動作するように、検証される。さらに、様々な実施形態において、要求112、114で呼び出された特定のデータ保護範囲が、要求パス310で識別されたアクションを実行するのに十分であることを保証し(例えば、クラウド製品データ保護範囲が、サービス製品データ保護範囲を使用してのみ実行可能なアクションを実行するために呼び出されないことを保証し)、システムをさらに安全化するために、権限付与情報(例えば、マルチテナントコンピュータシステム120に記憶される、階層122に記憶される)が使用される。
【0039】
次に、図4を参照し、データ保護範囲階層122における暗号トークン関係のブロック図が示される。図4は、本明細書で図2に関連して論じられたデータ保護範囲階層122の一部分、すなわち、クラウド製品Aデータ保護範囲202A、2つのクラウド製品Aテナントデータ保護範囲212A1及び212A2、並びにクラウド製品Aテナントデータ保護範囲212A1及び212A2に関連づけられたユーザアカウント242を示す。ここで示すように、クラウド製品Aデータ保護範囲202Aは、トークン402に関連づけられ、クラウド製品Aテナントデータ保護範囲212A1は、トークン404(これは、トークン402に基づく)に関連づけられ、クラウド製品Aテナントデータ保護範囲212A2は、トークン406(これは、トークン402に基づく)に関連づけられている。様々な実施形態において、ユーザアカウント242は、トークン402、404、及び/又は406に基づき得るトークン(図示せず)をさらに使用する。
【0040】
様々な実施形態において、データ保護範囲が階層122内にプロビジョニングされるとき、暗号鍵が生成され、プロビジョニングされたデータ保護範囲に関連づけられる。例えば、クラウド製品Aデータ保護範囲202Aがプロビジョニングされるとき、後の情報アクセス要求における使用のためにトークン402を生成することができる。このような実施形態において、そのようなトークン402は、それぞれのデータ保護範囲に関連づけられた情報(例えば、暗号鍵)で署名される(例えば、クラウド製品Aデータ保護範囲202Aに関連づけられた情報にアクセスするために使用可能なトークン402は、クラウド製品Aデータ保護範囲202Aに関連づけられた1つ以上の暗号鍵で署名される)。その後の、(例えば、要求114における)クラウド製品Aデータ保護範囲202Aの呼び出しは、トークン402を使用して認証されなければならない。様々な実施形態において、要求114は、例えば、トークン402を含む。要求114が適切なトークン(例えば、トークン402)を含むと判断すると、マルチテナントコンピュータシステムは、要求114を承諾するように構成される。様々な実施形態において、複数のトークンが要求114に含まれる。このような実施形態のいくつかにおいて、従属データ保護範囲に関連づけられた別個のトークン(例えば、トークン404、406)が、要求112、114に含まれる。このような実施形態のいくつかにおいて、従属データ保護を使用して作成された要求112、114は、その上位データ保護範囲に関連づけられたトークン402を使用してさらに署名される。このような実施形態のいくつかにおいて、トークン402は、トークン404、406を用いて署名され、署名されたトークン402が、要求112、114に含まれる。
【0041】
様々な実施形態において、トークン402、404、及び406は、階層122のトップレベル(例えば、レベル200)における適切なデータ保護範囲をアドレス指定するJSONウェブトークン(「JWT」)である。様々な実施形態において、JWTは、(1)共有インフラストラクチャサービス124の識別子、及び(2)共有インフラストラクチャサービスエンドポイント識別子(例えば、共有インフラストラクチャサービスエンドポイント識別子302)に基づいて計算されたUUIDを使用して、適切なデータ保護範囲をアドレス指定する。トークンがクラウド製品テナントに関連づけられる例において(例えば、トークン404、406)、クラウド製品テナントの識別子は、UUIDを計算するためにさらに使用される。様々な実施形態において、このようなJWTは、発行者(issuer)、発行者タイプ、オーディエンス(audience)、オーディエンスタイプ、及び「統合バインディング(integration binding)」の指標を含む。様々な実施形態において、発行者は、トップレベルのテナント(例えば、レベル200におけるデータ保護範囲に関連づけられたマルチテナントコンピュータシステム120のテナント)の識別子であり、発行者タイプは、トップレベルのテナントのタイプの指標(例えば、トップレベルのテナント、.サービス製品)であり、オーディエンスは、データ保護範囲をターゲットとする特定の共有インフラストラクチャサービス124であり、オーディエンスタイプは、特定の共有インフラストラクチャサービス124の記述子であり、統合バインディングは、データ保護範囲に関するコンテキスト(context)を追加する。様々な実施形態において、統合バインディングは、さらなる権限付与メカニズムである。そのような実施形態において、共有サービス124は、どのデータ保護範囲が様々な統合バインディングにアクセスする権限を与えられているかを(例えば、メタデータにアクセスすることにより)決定するように動作可能である。様々な実施形態において、共有サービス124はさらに、特定の統合バインディングを用いてなされるアクセスへの制約を追加するように動作可能である。例えば、「service-a.context」が統合バインディングである場合、共有サービス124は、「service-a」クラウド製品のみがこのコンテキストを使用できるように動作可能である。さらに、このコンテキストが要求において使用される場合、クラウド製品のアクションのみ(例えば、サービス製品により実行されるアクセスではない)が、このコンテキストを使用して実行されることを許可される。
【0042】
第1の例として、共有サービス124「service-a」、クラウド製品「service-b」、及びクラウド製品テナント「001」の例において、クラウド製品テナントに関連づけられたトークン(例えば、トークン404又はトークン406)には、以下が含まれる。
iss="service-b/001"
ist="tenant"
aud="service-a/service-b.001"
aut="tenant"
ctx="service-a.context"
【0043】
第2の例として、第1のクラウド製品「service-b」のテナント「001」から、共有サービス124「service-a」内の別のクラウド製品「service-c」のテナント「abc」に信頼が拡張された例において、クラウド製品テナントに関連づけられたトークン(例えば、トークン404又はトークン406)には、以下が含まれる。
iss="service-c/abc"
ist="tenant"
aud="service-a/service-a.001"
aut="tenant"
ctx="service-a.context"
【0044】
第3の例として、共有サービス124「service-a」、サービス製品「service-d」の例において、トークン(図示せず)には、以下が含まれる。
iss="service-d"
ist="service"
aud="service-a"
aut="cloud"
ctx="service-a.context.service-d.global"
【0045】
第4の例として、共有サービス124「service-a」、クラウド製品「service-c」のテナントのコンテキストにおいて動作するサービス製品「service-d」の例において、トークン(図示せず)は、クラウド製品のテナントのためのトークン(例えば、トークン404、トークン406)をラップし、以下を含む。
iss="service-c/abc"
ist="proxy-issuer"
aud="service-a/service-c.abc"
aut="tenant"
ctx="service-a.context.service-c"
【0046】
次に、図5を参照し、クラウド製品データ保護範囲及びクラウド製品テナントデータ保護範囲のプロビジョニング方法500を示すブロック図が示される。図5に示されるように、プロビジョニング方法500は、マルチテナントコンピュータシステム120により実行できる動作を表す擬似コードで表される。図5の擬似コードにより表される動作は、複数のプログラミング言語及び/又は擬似コードパラダイムのうちの任意のもので表され得ることが理解されるであろう。同様に、開示される実施形態は、変数に与えられるラベル(例えば、「service-a」、「service-b」)により限定されず、そのようなラベルは単なる例である。プロビジョニング方法500は、共有インフラストラクチャサービス124「service-a」へのアクセスを制御するために使用される階層122内のクラウド製品「service-b」のプロビジョニングに関連する2つの擬似コードブロックを含む。ブロック502において、クラウド製品「service-b」が宣言され、「service-b」は、方法500においてクラウド製品を識別するために使用可能である。ブロック510において、クラウド製品「service-b」が、共有インフラストラクチャサービス124「service-a」にリンクされる。ブロック520において、クラウド製品「service-b」が、プロビジョニング(例えば、クラウド製品テナントデータ保護範囲212のプロビジョニング)及び実行時(例えば、要求114の処理)の双方について、共有インフラストラクチャサービス124「service-a」の統合バインディングに追加される。
【0047】
図5は、行504に、クラウド製品テナントデータ保護範囲212がプロビジョニングされる擬似コードをさらに含む。様々な実施形態において、クラウド製品テナントデータ保護範囲212は、クラウド製品「service-b」に対してクラウド製品データ保護範囲202がプロビジョニングされると、実行時に提供される。行504において、識別子「001」を有するクラウド製品テナントが、クラウド製品「service-b」の下にプロビジョニングされる。様々な実施形態において、クラウド製品テナント識別子は、ユニバーサル一意識別子(universally unique identifier)(「UUID」)である。
【0048】
ブロック530は、1つ以上のクラウド製品テナントとクラウド製品「service-b」との間の信頼関係の拡張を表す擬似コードを含む。行532において、クラウド製品「service-b」のクラウド製品テナントに対して信頼が拡張される。クラウド製品「service-b」が536において識別され、クラウド製品テナント識別子が538において識別され、共有インフラストラクチャサービス124が540において識別される。任意の行534において、クラウド製品「service-b」に対して別のクラウド製品(クラウド製品「service-e」)のクラウド製品テナントに対して、信頼が拡張される。様々な実施形態において、これは、顧客が異なるクラウド製品に複数のテナントを有する場合の統合シナリオに有用である。行534に示すように、一例は、542で識別されるクラウド製品「service-e」のクラウド製品テナントに、クラウド製品「service-b」に対するクラウド製品データ保護範囲202へのアクセスを承諾することである。これらの信頼関係の指標は、(例えば、階層122の中に)記憶され、情報にアクセスする要求を承諾するかどうかを決定するために使用される。例えば、第1の情報が第1のデータ保護範囲(例えば、第1のクラウド製品テナントデータ保護範囲212)に関連づけられ、第2の情報が第2のデータ保護範囲(例えば、第2のクラウド製品テナントデータ保護範囲212)に関連づけられている場合に、特定のエンティティ(例えば、1つ以上のユーザアカウント242)に対して双方のデータ保護範囲の間で信頼が拡張される場合、特定のエンティティからの第1の情報又は第2の情報にアクセスする要求114は、本明細書で論じられるように、信頼が拡張されたと判断することに基づいて承諾される。
【0049】
次に、図6を参照し、クラウド製品データ保護範囲のコンテキストにおけるサービス製品データ保護範囲及びサービス製品のプロビジョニング方法600を示すブロック図が示される。図6に示されるように、プロビジョニング方法600は、マルチテナントコンピュータシステム120により実行できる動作を表す擬似コードで表される。図6の擬似コードにより表される動作は、複数のプログラミング言語及び/又は擬似コードパラダイムのうちの任意のもので表され得ることが理解されるであろう。同様に、開示される実施形態は、変数に与えられるラベル(例えば、「service-b」)により限定されず、そのようなラベルは単なる例である。方法600は、2つのブロック、すなわち、特定のサービス製品に関連づけられたサービス製品データ保護範囲204のプロビジョニングに関連するブロック610と、サービス製品データ保護範囲204に従属するサービス製品クラウド製品データ保護範囲222のプロビジョニングに関連するブロック620を含む。
【0050】
ブロック610は、行612にサービス製品の指標(図6に示される例では「service-d」と名付けられている)を、行614に共有インフラストラクチャサービス124の指標(図6に示される例では「service-a」と名付けられている)を含む。ブロック616において、サービス製品「service-d」が、共有インフラストラクチャサービス124の統合バインディングに追加される。ブロック630において、サービス製品「service-d」が、クラウド製品「service-c」のテナント「abc」のコンテキストにおいて動作するようにプロビジョニングされ、関連するサービス製品クラウド製品テナントデータ保護範囲232がプロビジョニングされる。
【0051】
ブロック620は、プロビジョニング(例えば、クラウド製品テナントデータ保護範囲212のプロビジョニング)及び実行時(例えば、要求114の処理)の双方について、クラウド製品「service-c」の統合バインディングに追加される、サービス製品「service-d」を追加するための擬似コードを含む。ブロック620の擬似コードは、サービス製品クラウド製品データ保護範囲222のプロビジョニングに関連づけられる。
【0052】
次に、図7を参照し、プロビジョニング方法700の一実施形態を示すフローチャートが示される。様々な実施形態において、方法700に関連づけられた様々なアクションは、マルチテナントコンピュータシステム120で実行される。ブロック702において、マルチテナントコンピュータシステム120が、複数のレベル(例えば、レベル200、210、220、230)を有する階層122を可能にするネスト化テナンシーモデルに従って共有インフラストラクチャサービス124にデータ保護範囲を提供するプラットフォームを実現する。ブロック704において、マルチテナントコンピュータシステム120が、特定の共有インフラストラクチャサービス124に対して、第1のテナントセットを有するクラウド製品に対する第1のデータ保護範囲202をプロビジョニングする、第1の要求112を受信する。ブロック706において、第1の要求112に応答して、マルチテナントコンピュータシステム120が、階層122の最上位レベル200における、クラウド製品に対する第1のデータ保護範囲202をプロビジョニングする。ブロック708において、マルチテナントコンピュータシステム120が、特定の共有インフラストラクチャサービス124に対して、サービス製品に対する第2のデータ保護範囲204をプロビジョニングする、第2の要求112を受信する。ブロック710において、マルチテナントコンピュータシステム120が、階層の最上位レベルにおける、サービスオブジェクトに対する第2のデータ保護範囲をプロビジョニングする。
【0053】
次に、図8Aを参照し、プロビジョニング方法800の一実施形態を示すフローチャートが示される。様々な実施形態において、方法800に関連づけられた様々なアクションは、マルチテナントコンピュータシステム120で実行される。ブロック802において、マルチテナントコンピュータシステム120が、共有インフラストラクチャサービス124に対して、第1のテナントセットを有するクラウド製品に対する第1のデータ保護範囲202をプロビジョニングする。本明細書で論じられるように、第1のデータ保護範囲292は、範囲階層122のトップレベル200でプロビジョニングされる。ブロック804において、マルチテナントコンピュータシステム120が、共有インフラストラクチャサービス124に対して、第1のテナントセットのうちの特定の1つに対する第2のデータ保護範囲212をプロビジョニングし、第2のデータ保護範囲212は、範囲階層122の次のレベル210でプロビジョニングされる。本明細書で論じられるように、第2のデータ保護範囲212は、範囲階層122において第1のデータ保護範囲202に従属してプロビジョニングされる。
【0054】
次に、図8Bを参照し、プロビジョニング方法810の一実施形態を示すフローチャートが示される。様々な実施形態において、方法810に関連づけられた様々なアクションは、マルチテナントコンピュータシステム120で実行される。ブロック812において、マルチテナントコンピュータシステム120が、共有インフラストラクチャサービス124に対して、クラウド製品及びクラウド製品のテナントのためのデータを管理するサービス製品に対する第1のデータ保護範囲204をプロビジョニングする。本明細書で論じられるように、第1のデータ保護範囲204は、範囲階層122のトップレベル200でプロビジョニングされる。ブロック814において、マルチテナントコンピュータシステム120が、共有インフラストラクチャサービス124に対して、特定のクラウド製品のコンテキストにおけるサービス製品に対する第2のデータ保護範囲222をプロビジョニングする。本明細書で論じられるように、第2のデータ保護範囲222は、範囲階層122の第2のレベル220でプロビジョニングされる。ブロック816において、マルチテナントコンピュータシステム120が、特定のクラウド製品の特定のテナントのコンテキストにおけるサービス製品に対する第3のデータ保護範囲232をプロビジョニングする。本明細書で論じられるように、第3のデータ保護範囲232は、トップレベル200及び第2のレベル220に従属する範囲階層の第3のレベル230でプロビジョニングされる。
【0055】
[例示的なコンピュータシステム]
次に、図9を参照し、コンピュータシステム100の様々なコンポーネント(例えば、遠隔コンピュータシステム110、マルチテナントコンピュータシステム120)を実現し得る一例示的なコンピュータシステム900のブロック図が示される。コンピュータシステム900は、プロセッササブシステム980を含み、プロセッササブシステム980は、インターコネクト960(例えば、システムバス)を介してシステムメモリ920及びI/Oインターフェース940に結合される。I/Oインターフェース940は、1つ以上のI/Oデバイス950に結合される。コンピュータシステム900は、これらに限られないがサーバシステム、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップ又はノートブックコンピュータ、メインフレームコンピュータシステム、タブレットコンピュータ、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、コンシューマデバイス、例えば携帯電話、音楽プレーヤ、又はパーソナルデータアシスタント(PDA)などを含む、様々なタイプのデバイスのうち任意のものであってよい。図9には、簡便さのために単一のコンピュータシステム900が示されているが、システム900は、一緒に動作する2つ以上のコンピュータシステムとして実現されてもよい。
【0056】
プロセッササブシステム980は、1つ以上のプロセッサ又は処理ユニットを含んでもよい。コンピュータシステム900の様々な実施形態において、プロセッササブシステム980の複数のインスタンスが、インターコネクト960に結合されてもよい。様々な実施形態において、プロセッササブシステム980(又は、980内の各プロセッサユニット)は、キャッシュ又は他の形態のオンボードメモリを含んでもよい。
【0057】
システムメモリ920は、システム900に本明細書に記載される様々な動作を実行させるために、プロセッササブシステム980により実行可能なプログラム命令を記憶するために使用可能である。システムメモリ920は、ハードディスクストレージ、フロッピーディスクストレージ、リムーバブルディスクストレージ、フラッシュメモリ、ランダムアクセスメモリ(RAM-SRAM、EDO RAM、SDRAM、DDR SDRAM、RAMBUS RAM等)、読取専用メモリ(PROM、EEPROM等)などのような、異なる物理メモリ媒体を使用して実現されてもよい。コンピュータシステム900内のメモリは、メモリ920などの一次記憶装置に限定されない。むしろ、コンピュータシステム900は、プロセッササブシステム980内のキャッシュメモリ及びI/Oデバイス950上の二次記憶装置(例えば、ハードドライブ、ストレージアレイ等)などの他の形態の記憶装置をさらに含んでもよい。いくつかの実施形態において、これらの他の形態の記憶装置も、プロセッササブシステム980により実行可能なプログラム命令を記憶してもよい。
【0058】
I/Oインターフェース940は、様々な実施形態により、他のデバイスに結合し、他のデバイスと通信するように構成された様々なタイプのインターフェースのうち任意のものであってよい。一実施形態において、I/Oインターフェース940は、フロントサイドから1つ以上のバックサイドバスへのブリッジチップ(例えば、サウスブリッジ)である。I/Oインターフェース940は、1つ以上の対応するバス又は他のインターフェースを介して1つ以上のI/Oデバイス950に結合されてもよい。I/Oデバイス950の例には、ストレージデバイス(ハードドライブ、光学ドライブ、リムーバブルフラッシュドライブ、ストレージアレイ、SAN、又はそれらの関連するコントローラ)、ネットワークインターフェースデバイス(例えば、ローカル又はワイドエリアネットワークに対する)、又は他のデバイス(例えば、グラフィックス、ユーザインターフェースデバイス等)が含まれる。一実施形態において、コンピュータシステム900は、ネットワークインターフェースデバイス950(例えば、WiFi(登録商標)、Bluetooth(登録商標)、Ethernet(登録商標)などを通じて通信するように構成される)を介してネットワークに結合される。
【0059】
本出願の主題事項の実現は、これらに限られないが、以下の例1~20を含む。
[例1]
コンピュータシステムにより、複数のレベルを有する階層を可能にするネスト化テナンシーモデルに従って共有インフラストラクチャサービスにデータ保護範囲を提供するプラットフォームを実現するステップと、
前記コンピュータシステムにより、特定の共有インフラストラクチャサービスに対して、第1のテナントセットを有するクラウド製品に対する第1のデータ保護範囲をプロビジョニングする、第1の要求を受信するステップと、
前記第1の要求に応答して、前記階層の最上位レベルにおける、前記クラウド製品に対する前記第1のデータ保護範囲をプロビジョニングするステップと、
前記コンピュータシステムにより、前記特定の共有インフラストラクチャサービスに対して、サービス製品に対する第2のデータ保護範囲をプロビジョニングする、第2の要求を受信するステップと、
前記第2の要求に応答して、前記階層の前記最上位レベルにおける、前記サービス製品に対する前記第2のデータ保護範囲をプロビジョニングするステップと、
を含む方法。
[例2]
前記コンピュータシステムにより、前記第1のテナントセットのうちの特定の1つに対する第3のデータ保護範囲をプロビジョニングするステップであり、前記第2のデータ保護範囲は、範囲階層の次のレベルでプロビジョニングされる、ステップ、をさらに含み、
前記第3のデータ保護範囲は、前記範囲階層における前記第1のデータ保護範囲に従属してプロビジョニングされる、
請求項1に記載の方法。
[例3]
前記第1のデータ保護範囲をプロビジョニングすることは、前記クラウド製品に対するクラウド製品識別子を生成することを含み、
前記第3のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つに対するクラウド製品テナント識別子を生成することを含み、前記クラウド製品テナント識別子は、前記クラウド製品識別子を含む、
請求項2に記載の方法。
[例4]
前記第3のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つと前記クラウド製品との間の信頼関係のインジケータを記憶することを含む、請求項1に記載の方法。
[例5]
前記コンピュータシステムにより、前記サービス製品のコンテキストにおいて前記特定の共有インフラストラクチャサービスにアクセスする特定のクラウド製品に対する第4のデータ保護範囲をプロビジョニングするステップ、をさらに含み、
前記第4のデータ保護範囲は、範囲階層における前記第2のデータ保護範囲に従属してプロビジョニングされる、
請求項1に記載の方法。
[例6]
前記コンピュータシステムにより、前記サービス製品のコンテキストにおいて前記特定の共有インフラストラクチャサービスにアクセスする前記特定のクラウド製品の特定のテナントに対する第5のデータ保護範囲をプロビジョニングするステップ、をさらに含み、
前記第5のデータ保護範囲は、範囲階層における前記第4のデータ保護範囲に従属してプロビジョニングされる、
請求項5に記載の方法。
[例7]
前記コンピュータシステムにより、前記階層の前記最上位レベルにおけるシングルテナントデータ保護範囲をプロビジョニングするステップ、をさらに含み、
前記シングルテナントデータ保護範囲に従属してプロビジョニングされるデータ保護範囲は存在しない、
請求項1に記載の方法。
[例8]
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記階層の特定のレベルにおける特定のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信するステップ、をさらに含み、
前記アクセス要求は、前記特定のデータ保護範囲を示すURLを介して受信される、
請求項1に記載の方法。
[例9]
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記階層の特定のレベルにおける特定のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信するステップ、をさらに含み、
前記アクセス要求は、前記特定のデータ保護範囲が前記要求をサブミットする権限を与えられている(authorized to submit)かどうかのインジケータを含む、
請求項1に記載の方法。
[例10]
前記特定の共有インフラストラクチャサービスは、
アプリケーションにとってアクセス可能な非関係データベースに対してサポートされるデータ型を定義する1つ以上の選択可能なデータベーステンプレートを提供し、
前記アプリケーションからの、選択されたデータベーステンプレートにより定義される特定のデータ型を操作する要求にサービスを提供し、
前記アプリケーションからの前記要求に応答して、前記選択されたデータベーステンプレートに基づいてデータ操作言語(DML)命令のセットを識別し、
前記識別されたDML命令のセットを前記非関係データベースに発行する
ように動作可能な共有テンプレートサービスを含む、請求項1に記載の方法。
[例11]
コンピュータシステムに動作を実行させることができるプログラム命令を記憶した非一時的コンピュータ読取可能媒体であって、前記動作は、
前記コンピュータシステムにより、共有インフラストラクチャサービスに対して、第1のテナントセットを有するクラウド製品に対する第1のデータ保護範囲をプロビジョニングすることであり、前記第1のデータ保護範囲は、範囲階層のトップレベルでプロビジョニングされる、ことと、
前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、前記第1のテナントセットのうちの特定の1つに対する第2のデータ保護範囲をプロビジョニングすることであり、前記第2のデータ保護範囲は、前記範囲階層の次のレベルでプロビジョニングされる、ことと、
を含み、
前記第2のデータ保護範囲は、前記範囲階層内の前記第1のデータ保護範囲に従属してプロビジョニングされる、
コンピュータ読取可能媒体。
[例12]
前記第1のデータ保護範囲をプロビジョニングすることは、前記クラウド製品に対するクラウド製品識別子を生成することを含み、
前記第2のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つに対するクラウド製品テナント識別子を生成することを含み、前記クラウド製品テナント識別子は、前記クラウド製品識別子を含む、
請求項11に記載のコンピュータ読取可能媒体。
[例13]
前記第2のデータ保護範囲をプロビジョニングすることは、前記第1のテナントセットのうちの前記特定の1つと前記クラウド製品との間の信頼関係のインジケータを記憶することを含む、
請求項11に記載のコンピュータ読取可能媒体。
[例14]
前記動作は、
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記第2のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信することと、
前記コンピュータシステムにより、前記信頼関係の前記インジケータに基づいて前記アクセス要求を承諾することと、
をさらに含む、請求項13に記載のコンピュータ読取可能媒体。
[例15]
前記動作は、
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記階層の特定のレベルにおける特定のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信すること
をさらに含み、
前記アクセス要求は、前記特定のデータ保護範囲を示すURLを介して受信される、
請求項11に記載のコンピュータ読取可能媒体。
[例16]
前記動作は、
前記コンピュータシステムにより、遠隔コンピュータシステムから、前記階層の特定のレベルにおける特定のデータ保護範囲に関連づけられた情報にアクセスするアクセス要求を受信すること
をさらに含み、
前記アクセス要求は、前記特定のデータ保護範囲に関連づけられた暗号トークンで署名される、
請求項11に記載のコンピュータ読取可能媒体。
[例17]
前記動作は、
前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、第2のテナントセットを有する第2のクラウド製品に対する第3のデータ保護範囲をプロビジョニングすることであり、前記第3のデータ保護範囲は、前記範囲階層の前記トップレベルでプロビジョニングされる、ことと、
前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、前記第2のテナントセットのうちの特定の1つに対する第4のデータ保護範囲をプロビジョニングすることであり、前記第4のデータ保護範囲は、前記範囲階層の前記次のレベルでプロビジョニングされる、ことと、
前記第1のテナントセットのうちの特定の1つからの要求に応答して、前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、前記第2のデータ保護範囲と前記第4のデータ保護範囲との間の信頼関係を拡張することであり、それにより、前記第2のテナントセットのうちの前記特定の1つは、前記第1のテナントセットのうちの前記特定の1つと同じレベルの、前記共有インフラストラクチャサービスへのアクセスを有する、ことと、
をさらに含む、請求項11乃至13のうちいずれか1項に記載のコンピュータ読取可能媒体。
[例18]
動作を実行するためにコンピュータシステムにより実行されることが可能なプログラム命令を記憶する非一時的コンピュータ読取可能記憶媒体であって、前記動作は、
前記コンピュータシステムにより、共有インフラストラクチャサービスに対して、クラウド製品及び前記クラウド製品のテナントのためのデータを管理するサービス製品に対する第1のデータ保護範囲をプロビジョニングすることであり、前記第1のデータ保護範囲は、範囲階層のトップレベルでプロビジョニングされる、ことと、
前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、特定のクラウド製品のコンテキストにおける前記サービス製品に対する第2のデータ保護範囲をプロビジョニングすることであり、前記第2のデータ保護範囲は、前記範囲階層の第2のレベルでプロビジョニングされる、ことと、
を含む、コンピュータ読取可能記憶媒体。
[例19]
前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、前記特定のクラウド製品の特定のテナントのコンテキストにおける前記サービス製品に対する第3のデータ保護範囲をプロビジョニングすることであり、前記第3のデータ保護範囲は、前記トップレベル及び前記第2のレベルに従属する前記範囲階層の第3のレベルでプロビジョニングされる、こと
をさらに含み、
前記第1のデータ保護範囲に関連づけられたデータは、前記トップレベルでプロビジョニングされる他のデータ保護範囲に関連づけられたデータから分離され、前記第2のデータ保護範囲に関連づけられたデータは、前記第2のレベルでプロビジョニングされる他のデータ保護範囲に関連づけられたデータから分離され、前記第3のデータ保護範囲に関連づけられたデータは、前記第3のレベルでプロビジョニングされる他のデータ保護範囲に関連づけられたデータから分離される、
請求項18に記載のコンピュータ読取可能記憶媒体。
[例20]
前記コンピュータシステムにより、前記共有インフラストラクチャサービスに対して、第2の特定のクラウド製品のコンテキストにおける前記サービス製品に対する第4のデータ保護範囲をプロビジョニングすることであり、前記第4のデータ保護範囲は、前記範囲階層の第2のレベルでプロビジョニングされる、こと
をさらに含む、請求項18に記載のコンピュータ読取可能記憶媒体。
【0060】
特定の実施形態が上述されたが、これらの実施形態は、特定の特徴に関して単一の実施形態のみが記載されている場合でも、本開示の範囲を制限することを意図するものではない。本開示において提供される特徴の例は、別段示されない限り、限定的でなく例示的であることが意図されている。上記の説明は、本開示の利益を有する当業者に明らかであろう代替、修正、及び同等物をカバーすることを意図している。
【0061】
本開示の範囲は、本明細書において(明示的又は暗黙的のいずれかで)開示される任意の特徴若しくは特徴の組み合わせ、又はこれらの任意の一般化を、それが本明細書で対処される問題のいずれか又は全てを緩和するか否かにかかわらず、含む。したがって、新しい請求項が、本出願(又は、それに対する優先権を主張する出願)の手続きの間、任意のそのような特徴の組み合わせに対して形成され得る。特に、添付の特許請求の範囲を参照し、従属請求項からの特徴は、独立請求項の特徴と組み合わせることができ、それぞれの独立請求項からの特徴は、添付の特許請求の範囲に列挙された特定の組み合わせのみでなく、任意の適切な方法で組み合わせることができる。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9