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

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

▶ オラクル・インターナショナル・コーポレイションの特許一覧

<>
  • 特表-ホームリージョン切り替え 図1
  • 特表-ホームリージョン切り替え 図2
  • 特表-ホームリージョン切り替え 図3
  • 特表-ホームリージョン切り替え 図4
  • 特表-ホームリージョン切り替え 図5
  • 特表-ホームリージョン切り替え 図6
  • 特表-ホームリージョン切り替え 図7
  • 特表-ホームリージョン切り替え 図8
  • 特表-ホームリージョン切り替え 図9
  • 特表-ホームリージョン切り替え 図10
  • 特表-ホームリージョン切り替え 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】ホームリージョン切り替え
(51)【国際特許分類】
   G06F 11/20 20060101AFI20241112BHJP
   H04L 41/0895 20220101ALI20241112BHJP
【FI】
G06F11/20 620
H04L41/0895
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525431
(86)(22)【出願日】2022-10-28
(85)【翻訳文提出日】2024-06-07
(86)【国際出願番号】 US2022078939
(87)【国際公開番号】W WO2023077108
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】63/273,811
(32)【優先日】2021-10-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/050,455
(32)【優先日】2022-10-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.iOS
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】アフマド,アルサラン
(72)【発明者】
【氏名】ファン・デン・ダンゲン,マルティヌス・ペトルス・ランベルトゥス
(72)【発明者】
【氏名】グプタ,ローケーシュ
(72)【発明者】
【氏名】ナガラジャ,ギリシュ
(72)【発明者】
【氏名】バイシュナビ,ニキル・ヨグラジ
【テーマコード(参考)】
5B034
【Fターム(参考)】
5B034BB01
5B034CC01
(57)【要約】
本明細書においては、顧客により要求された場合に、ホームリージョンを第1のデータセンタから第2のデータセンタに再割り当てする手法が記載される。ホームリージョンは、ドメインへの書き込み動作を実行可能である一方、他のデータセンタは、ドメインへの書き込み動作を実行できない。顧客は、別のデータセンタを利用してドメインへの書き込み動作を実行できるように、他方のデータセンタへのホームリージョンの再割り当てを要求することができる。
【特許請求の範囲】
【請求項1】
方法であって、
第1の地理的領域に配置されているクラウドサービスプロバイダ(CSP)の第1のデータセンタがリクエストを受信することを含み、前記リクエストは、前記リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、前記リクエスト内に示されている前記クラウドサービスプロバイダの指定データセンタに切り替えるリクエストであり、前記ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能であり、
前記方法は、
前記第1のデータセンタが、前記アカウントの前記ホームリージョン割り当てが前記指定データセンタに割り当てられていることを示すように、前記第1のデータセンタの第1のID制御プレーン(IDCP)を更新することをさらに含み、前記指定データセンタは、少なくとも前記第1のID制御プレーンが更新されたことに基づいて、前記ドメインへの書き込み動作を実行可能であり、
前記方法は、
前記第1のデータセンタが、前記ホームリージョン割り当てが前記指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されている前記クラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することと、
前記第1のデータセンタが、前記ホームリージョン割り当てが前記指定データセンタに割り当てられた旨の指標を提示させることと、
をさらに含む、方法。
【請求項2】
前記指定データセンタは、前記第1のデータセンタを含み、前記第1のデータセンタは、前記第1のID制御プレーンが更新される前には前記ドメインへの書き込み動作を実行できず、少なくとも前記第1のID制御プレーンが更新されたことに応答して前記ドメインへの書き込み動作を実行可能である、請求項1に記載の方法。
【請求項3】
前記リクエストは、前記ホームリージョン割り当てが前記第2のデータセンタから前記第1のデータセンタに切り替えられることを示し、前記第2のデータセンタは、前記リクエストが受信された場合に利用できず、前記第2のID制御プレーンの前記更新は、少なくとも前記第2のデータセンタが利用可能となったことに応答して実行される、請求項1または請求項2に記載の方法。
【請求項4】
前記第1のデータセンタが、少なくとも前記第2のデータセンタが利用可能となったことに応答して、前記第1のデータセンタに格納されている前記ドメインの状態および前記第2のデータセンタに格納されている前記ドメインの状態を比較することと、
前記第1のデータセンタが、前記第1のデータセンタに格納されている前記ドメインの前記状態と前記第2のデータセンタに格納されている前記ドメインの前記状態との間の1つまたは複数の相違点を決定することと、
前記第1のデータセンタが、前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったかを判定することと、
をさらに含む、請求項3に記載の方法。
【請求項5】
前記第1のデータセンタは、前記1つまたは複数の相違点の原因になった書き込み動作を決定し、前記方法は、
前記第1のデータセンタが、前記第1のデータセンタに格納されている前記ドメインへの前記書き込み動作を実行する選択肢を提示することをさらに含む、請求項4に記載の方法。
【請求項6】
前記第1のデータセンタは、前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの前記最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された前記1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったものと判定し、前記方法は、
前記第1のデータセンタが、前記1つまたは複数の相違点の指標を表示させることをさらに含む、請求項4または請求項5に記載の方法。
【請求項7】
前記第1のデータセンタは、前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの前記最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された前記1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったものと判定し、前記方法は、
前記第1のデータセンタに格納されている前記ドメインに前記1つまたは複数の書き込み動作が適用されないようにすることをさらに含む、請求項4~請求項6のいずれかに記載の方法。
【請求項8】
前記第1のデータセンタは、前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの前記最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された前記1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったものと判定し、前記方法は、
前記第1のデータセンタが、前記第1のデータセンタに格納されている前記ドメインに前記1つまたは複数の書き込み動作の少なくとも一部を適用することをさらに含む、請求項4~請求項7のいずれかに記載の方法。
【請求項9】
前記第1のデータセンタが、少なくとも前記第2のデータセンタが利用可能となったことに応答して、前記第1のデータセンタに格納されている前記ドメインに一致するように、前記第2のデータセンタに格納されている前記ドメインを更新することをさらに含む、請求項3~請求項8のいずれかに記載の方法。
【請求項10】
前記リクエストは、前記ホームリージョン割り当てが前記第1のデータセンタから前記第2のデータセンタに切り替えられることを示し、前記第1のデータセンタは、第1の時間に前記第1のID制御プレーンを更新し、前記第1のデータセンタは、前記第1の時間の後の第2の時間に前記第2のID制御プレーンを更新し、前記第1のデータセンタは、前記第1の時間と前記第2の時間との間の前記第1のデータセンタを介する前記ドメインへの書き込み動作を阻止する、請求項1に記載の方法。
【請求項11】
前記ホームリージョン割り当てを切り替える前記リクエストは、第3の地理的領域に配置されている前記クラウドサービスプロバイダの第3のデータセンタが利用不可能となったことを示すユーザインターフェースからの前記ホームリージョン割り当てを切り替える選択に基づいて受信され、前記第3のデータセンタには、前記リクエストの受信前に前記ホームリージョン割り当てが割り当てられている、先行する請求項のいずれかに記載の方法。
【請求項12】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実行させる命令が格納された1つまたは複数の非一時的コンピュータ可読媒体であって、前記動作は、
リクエストを受信することを含み、前記リクエストは、前記リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、前記リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストであり、前記ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能であり、
前記アカウントの前記ホームリージョン割り当てが前記指定データセンタに割り当てられていることを示すように、第1の地理的領域に配置されている前記クラウドサービスプロバイダの第1のデータセンタの第1のID制御プレーン(IDCP)を更新することを含み、前記指定データセンタは、少なくとも前記第1のID制御プレーンが更新されたことに応答して、前記ドメインへの書き込み動作を実行可能であり、
前記ホームリージョン割り当てが前記指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されている前記クラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することと、
前記ホームリージョン割り当てが前記指定データセンタに割り当てられた旨の指標を提示させることと、
を含む、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項13】
前記指定データセンタは、前記第1のデータセンタを含み、前記第1のデータセンタは、前記第1のID制御プレーンが更新される前には前記ドメインへの書き込み動作を実行できず、少なくとも前記第1のID制御プレーンが更新されたことに応答して前記ドメインへの書き込み動作を実行可能である、請求項12に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項14】
前記リクエストは、前記ホームリージョン割り当てが前記第2のデータセンタから前記第1のデータセンタに切り替えられることを示し、前記第2のデータセンタは、前記リクエストが受信された場合に利用できず、前記第2のID制御プレーンの前記更新は、少なくとも前記第2のデータセンタが利用可能となったことに応答して実行される、請求項12または請求項13に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項15】
前記命令は、前記1つまたは複数のプロセッサによって実行されると、
少なくとも前記第2のデータセンタが利用可能となったことに応答して、前記第1のデータセンタに格納されている前記ドメインの状態および前記第2のデータセンタに格納されている前記ドメインの状態を比較することと、
前記第1のデータセンタに格納されている前記ドメインの前記状態と前記第2のデータセンタに格納されている前記ドメインの前記状態との間の1つまたは複数の相違点を決定することと、
前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったかを判定することと、
を含む動作を前記1つまたは複数のプロセッサにさらに実行させる、請求項14に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項16】
前記1つまたは複数の相違点の原因になった書き込み動作が決定され、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
前記第1のデータセンタに格納されている前記ドメインへの前記書き込み動作を実行する選択肢を提示することを含む動作を前記1つまたは複数のプロセッサにさらに実行させる、請求項15に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項17】
前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの前記最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された前記1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったものと判定され、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
前記1つまたは複数の相違点の指標を表示させることを含む動作を前記1つまたは複数のプロセッサにさらに実行させる、請求項15または請求項16に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項18】
前記第2のデータセンタが利用不可能となる前の前記第2のデータセンタによる前記第1のデータセンタの前記最終更新と前記第2のデータセンタが利用不可能となった時との間に前記第2のデータセンタにより実行された前記1つまたは複数の書き込み動作が前記1つまたは複数の相違点の原因になったものと判定され、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
前記第1のデータセンタに格納されている前記ドメインに前記1つまたは複数の書き込み動作の少なくとも一部を適用することを含む動作を前記1つまたは複数のプロセッサにさらに実行させる、請求項15~請求項17のいずれかに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項19】
第1の地理的領域に配置されているクラウドサービスプロバイダの第1のデータセンタであって、
ドメインを格納するメモリと、
前記メモリに結合されている1つまたは複数のプロセッサと、
を備え、前記1つまたは複数のプロセッサは、
リクエストを受信するように構成され、前記リクエストは、前記リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、前記リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストであり、前記ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能であり、
前記アカウントの前記ホームリージョン割り当てが前記指定データセンタに割り当てられていることを示すように、前記第1のデータセンタの第1のID制御プレーン(IDCP)を更新するように構成され、前記指定データセンタは、少なくとも前記第1のID制御プレーンが更新されたことに応答して、前記ドメインへの書き込み動作を実行可能であり、
前記ホームリージョン割り当てが前記指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されている前記クラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することと、
前記ホームリージョン割り当てが前記指定データセンタに割り当てられた旨の指標を提示させることと、
を行うように構成されている、第1のデータセンタ。
【請求項20】
前記指定データセンタは、前記第1のデータセンタを含み、前記第1のデータセンタは、前記第1のID制御プレーンが更新される前には前記ドメインへの書き込み動作を実行できず、少なくとも前記第1のID制御プレーンが更新されたことに応答して前記ドメインへの書き込み動作を実行可能である、請求項19に記載の第1のデータセンタ。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2021年10月29日に出願された「HOME REGION SWITCH」と題する米国仮特許出願第63/273,811号および2022年10月27日に出願された「HOME REGION SWITCH」と題する米国特許出願第18/050,455号に対する優先権を主張するものであり、そのすべての開示内容を参照により本明細書において援用する。
【0002】
分野
本開示は、クラウドサービスプロバイダの顧客のホームリージョンを切り替えるためのフレームワークに関する。
【背景技術】
【0003】
背景
クラウドサービスプロバイダ(CSP)は、1つまたは複数のネットワークを使用して、多様なサービスをオンデマンドで顧客に提供する。顧客ごとにアカウントを設定可能であるが、これらのアカウントでは、顧客がアクセスして利用できるサービスを規定可能である。顧客は、1つまたは複数のリージョンに登録することができ、登録された顧客は、顧客が登録されている場所のデータセンタが提供するサービスを利用することができる。
【0004】
顧客と関連付けられているアカウントは、規定されたホームリージョンを有し得る。ホームリージョン内のデータセンタが提供するサービスは、ドメイン(IDドメイン等)への書き込み動作を実行可能である一方、他のリージョン内のデータセンタが提供するサービスは、ドメインへの書き込み動作を実行できない場合がある。ホームリージョンは一般的に、顧客のアカウントの開設に際して顧客が登録されるリージョンのうちの1つとして規定される。
【0005】
ただし、顧客は、ホームリージョンのデータセンタが何らかの理由で利用できなくなった場合等に、ホームリージョンの再割り当てを希望する場合がある。ドメインホームリージョンを第1のデータセンタから第2のデータセンタに切り替える場合は、第1のデータセンタと第2のデータセンタとの間の書き込み動作が時間的に同期しない可能性がある。たとえば、第1のデータセンタと第2のデータセンタとの間に時間遅延が存在して、一方のデータセンタでは書き込み動作を実行し得るのに、他方のデータセンタでは実行し得ない場合がある。さらに、他方のデータセンタへの切り替えに際して一方のデータセンタが利用できない場合、利用できない方のデータセンタは、利用できる方のデータセンタに与えられる書き込み動作を受信しない可能性がある。
【発明の概要】
【0006】
概要
本開示は一般的に、第1のリージョンから第2のリージョンへのホームリージョンの再割り当てのための手法に関する。本明細書においては、方法、システム、1つまたは複数のプロセッサが実行し得るプログラム、コード、または命令を格納する非一時的コンピュータ可読媒体等を含む種々実施形態が記載される。これらの例示的な実施形態は、本開示の制限でも規定でもなく、その理解の助けとなる例を提供するために言及される。詳細な説明の項においては、付加的な実施形態についても論じられ、詳しい説明が提供される。
【0007】
本開示の一態様は、方法を対象とし、この方法は、第1の地理的領域に配置されているクラウドサービスプロバイダ(CSP)の第1のデータセンタがリクエストを受信することを含んでいてもよく、リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダの指定データセンタに切り替えるリクエストであり、ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能である。この方法は、第1のデータセンタが、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第1のデータセンタの第1のID制御プレーン(IDCP)を更新することをさらに含んでいてもよく、指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能であり、この方法は、第1のデータセンタが、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているクラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することをさらに含んでいてもよい。この方法は、第1のデータセンタが、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させることをさらに含んでいてもよい。
【0008】
本開示の一態様は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実行させる命令が格納された1つまたは複数の非一時的コンピュータ可読媒体を対象とし、動作は、リクエストを受信することを含み、リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストであり、ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能である。動作は、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第1の地理的領域に配置されているクラウドサービスプロバイダの第1のデータセンタの第1のID制御プレーン(IDCP)を更新することをさらに含んでいてもよく、指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能であり、動作は、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているクラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することをさらに含んでいてもよい。動作は、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させることをさらに含んでいてもよい。
【0009】
本開示の一態様は、第1の地理的領域に配置されているクラウドサービスプロバイダの第1のデータセンタを対象とし、この第1のデータセンタは、ドメインを格納するメモリと、メモリに結合されている1つまたは複数のプロセッサと、を備える。1つまたは複数のプロセッサは、リクエストを受信するようにしてもよく、リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストであり、ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能である。1つまたは複数のプロセッサはさらに、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第1のデータセンタの第1のID制御プレーン(IDCP)を更新するようにしてもよく、指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能であり、1つまたは複数のプロセッサはさらに、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているクラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新するようにしてもよい。1つまたは複数のプロセッサはさらに、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させるようにしてもよい。
【0010】
上記は、以下の本明細書、特許請求の範囲、および添付の図面を参照することにより、他の特徴および実施形態と併せてより明らかとなるであろう。
【図面の簡単な説明】
【0011】
図1】少なくとも1つの実施形態に係る、例示的なクラウドサービスプロバイダ(CSP)構成を示す図である。
図2】少なくとも1つの実施形態に係る、別の例示的なCSP構成を示す図である。
図3】少なくとも1つの実施形態に係る、別の例示的なCSP構成を示す図である。
図4】少なくとも1つの実施形態に係る、別の例示的なCSP構成を示す図である。
図5】少なくとも1つの実施形態に係る、ホームリージョン割り当てを再割り当てするための例示的な手順の第1の部分を示す図である。
図6】少なくとも1つの実施形態に係る、図5の例示的な手順の第2の部分を示す図である。
図7】少なくとも1つの実施形態に係る、サービス型クラウドインフラシステムを実装するためのあるパターンを示すブロック図である。
図8】少なくとも1つの実施形態に係る、サービス型クラウドインフラシステムを実装するための別のパターンを示すブロック図である。
図9】少なくとも1つの実施形態に係る、サービス型クラウドインフラシステムを実装するための別のパターンを示すブロック図である。
図10】少なくとも1つの実施形態に係る、サービス型クラウドインフラシステムを実装するための別のパターンを示すブロック図である。
図11】少なくとも1つの実施形態に係る、例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【0012】
詳細な説明
以下の本明細書においては、種々実施形態が記載される。説明を目的として、実施形態の完全な理解を可能にするため、特定の構成および詳細が記載される。ただし、当業者には、これらの具体的詳細なく実施形態が実現され得ることも明らかとなるであろう。さらに、実施形態の説明が不明瞭とならないように、周知の特徴については省略される場合もあるし、簡略化される場合もある。
【0013】
クラウドサービスプロバイダ(CSP)は、登録している顧客に複数のクラウドサービスを提供し得る。これらのサービスは、サービス型ソフトウェア(SaaS)、サービス型プラットフォーム(PaaS)、サービス型インフラ(IaaS)モデル等のさまざまなモデルで提供され得る。
【0014】
クラウド環境においては一般的に、クラウドサービスが提供または使用するリソースへのユーザアクセスを制御するため、CSPによってID管理システムが提供される。ID管理システムが提供する通常のサービスまたは機能としては、ユーザに対するシングルサインオン機能、認証および許可サービス、ならびに他のIDベースのサービスが挙げられるが、これらに限定されない。
【0015】
ID管理システムにより保護されるリソースとしては、コンピュータインスタンス、ブロックストレージボリューム、仮想クラウドネットワーク(VCN)、サブネット、ルートテーブル、さまざまな呼び出し可能API、内部またはレガシーアプリケーション等、さまざまな種類が可能である。これらのリソースには、クラウドに格納されているリソースおよび/または顧客オンプレミスのリソースを含む。各リソースは通常、リソースの生成時に割り当てられている一意の識別子(たとえば、ID)によって識別される。
【0016】
CSPは、クラウドサービス用の2つ以上の別個の独立したID管理システムを提供し得る。これは、たとえばCSPが提供するIaaSアプリケーションおよびサービス用のクラウドリソースへのアクセスを制御するための第1のID管理システムまたはプラットフォーム(たとえば、インフラID・アクセス管理(IAM))が提供される場合になされ得る。これとは別に、CSPが提供するSaaSおよびPaaSサービス用のセキュリティおよびID管理に対しては、第2のID管理システムまたはプラットフォーム(たとえば、ID Cloud Service(IDCS))が提供され得る。
【0017】
このような2つの別個のプラットフォームを提供する結果として、CSPの顧客は、CSPが提供するSaaSもしくはPaaSサービスならびにIaaSサービスの両者に登録する場合、一般的には2つの別個のアカウント(IaaSサブスクリプション用のIAM付きアカウントおよびPaaS/SaaSサブスクリプション用のIDCS付きアカウント)を有する。各アカウントは、ユーザログイン、パスワード等、それぞれ自体の認証情報を有することになる。このため、同じ顧客が2つのアカウント用の二組の別個の認証情報を有する。その結果、顧客体験は満たされなくなる。また、2つの個別のID管理システムを有することは、SaaS/PaaSサービスとIaaSサービスとの間の相互作用に障害を生じることにもなる。
【0018】
この用途では、一例として、2つのプラットフォームをIAMおよびIDCSと称する。ただし、これらの名称および用語は、何ら限定を意図したものではない。本開示の教示内容は、2つ(または、それ以上)の異なるID管理システムが統合される如何なる状況にも当てはまる。統合されるID管理システム、サービス、またはプラットフォームは、1つまたは複数のCSPにより提供され得る。
【0019】
ある実施形態においては、統合ID管理プラットフォーム(IIMS(Integrated Identity Management System)と称する)が提供され、これは、複数のID管理プラットフォーム(たとえば、IAMおよびIDCSプラットフォーム)が提供するさまざまな特徴および機能を保持および提供しつつ、クラウドサービスのユーザまたは顧客に対して透過的な2つの別個の(たとえば、IAMおよびIDCS)プラットフォームを統合する。このような統合によって、ユーザ体験がよりシームレスに改善される。
【0020】
ただし、このような統合は、複数の理由により技術的には非常に難しい。2つのプラットフォームは、ID関連機能を実行するのに、異なる手順およびプロトコルを使用する場合がある。IAMは、たとえばポリシーベースのアクセス制御システムとしても知られる属性ベースのアクセス制御(ABAC)システムであってもよく、これは、多くの異なる属性を評価し得る複雑なBooleanルールセットを表現するポリシーの使用によってアクセス権がユーザに付与されるアクセス制御パラダイムを規定する。ABACの目的は、組織のセキュリティポリシーが規定するような「承認」特性を有さない不正なユーザおよびアクションからデータ、ネットワークデバイス、およびITリソース等のオブジェクトを保護することである。一方、IDCSは、役割および権限に関して規定されているポリシーに依存しないアクセス制御メカニズムである役割ベースのアクセス制御(RBAC)システムであってもよい。RBACのコンポーネント(役割承認、ユーザ-役割および役割-役割関係等)は、ユーザ割り当ての実行を容易にする。さらに別の理由として、2つのプラットフォームが使用する認証および認可のフレームワークまたはワークフロー(たとえば、使用されるトークンの種類、OAUTH等のさまざまな認証フレームワーク)は、異なる場合がある。これは、統合ソリューションの提供が技術的に非常に難しい理由のほんの一部に過ぎない。
【0021】
本明細書においては、顧客および/またはクライアント(本開示の全体を通して、顧客と総称する)がCSPのホームリージョンを切り替える技術が記載される。たとえば、CSPは、1つまたは複数のデータセンタ(リージョンとも称し得る)を具備していてもよく、各データセンタは、CSPがサーブする対応する地理的エリアに配置されていてもよい。たとえば、CSPがサーブする第1の地理的エリアに第1のデータセンタが配置され、CSPがサーブする第2の地理的エリアに第2のデータセンタが配置されていてもよく、第2の地理的エリアは第1の地理的エリアと異なる。各データセンタは、1つまたは複数のサービスを顧客に提供し得るコンピュータハードウェアおよび/またはソフトウェアを備えていてもよい。データセンタは、IDドメイン等の1つまたは複数のドメインを含んでいてもよい。いくつかの実施形態において、ドメインは、データ(顧客および/または顧客に提供され得るサービスに関するアクセス情報を示すデータ等)を含むコンテナを含み得る。
【0022】
CSP内の複数のデータセンタにおいて、任意所与のドメインが複製され得る。顧客は、ドメインに対して規定されたホームリージョン(ドメインホームリージョンと称する場合もある)を有することができ、これは、他のリージョンよりもドメインに対して顧客により多くの権限を与える。たとえば、ドメインのホームリージョンは、顧客ID関連情報(ユーザ、グループ、アプリ等)の更新が許可されるデータセンタであってもよい。顧客は、このドメインのホームリージョンを、ドメインが複製されているデータセンタのうちの1つに切り替えたい場合がある。たとえば、顧客は、第1のデータセンタから第2のデータセンタへのドメインホームリージョンの切り替えをCSPに要求する場合がある。顧客は、第1のデータセンタおよび第2のデータセンタがいずれも利用可能な場合、第1のデータセンタが利用不可能(たとえば、データセンタがダウンしている可能性またはデータセンタ内のサービスにアクセスできない可能性がある)かつ第2のデータセンタが利用可能な場合、または第1のデータセンタが利用可能かつ第2のデータセンタが利用不可能な場合、第1のデータセンタから第2のデータセンタへのドメインホームリージョンの切り替えを要求可能となり得る。種々実施形態によれば、CSPは、顧客からのリクエストに基づいて、顧客のドメインホームリージョンを切り替える。特に、ドメインホームリージョンは、ドメインホームリージョンに対応するデータセンタを示すデータセンタのID制御プレーン(IDCP)(分散コマンドラインインターフェースであってもよい)において指定され得る。CSPは、第2のデータセンタが新たなドメインホームリージョンであることを示すように、第1のデータセンタおよび第2のデータセンタのIDCPを更新することができる。したがって、CSPは、顧客によるドメインホームリージョンの切り替えを可能とし、いくつかの実施形態においては、顧客によるオンザフライでのドメインホームリージョンの切り替えを可能とし得る。
【0023】
いくつかの実施形態において、CSPは、ある期間内の顧客の最大切り替え回数の制限等、ドメインホームリージョンを切り替え可能な回数を制限するようにしてもよい。たとえば、CSPは、所与の顧客について現在の期間内に要求されたドメインホームリージョンの切り替え回数のカウントを保持し、ドメインホームリージョンの切り替え回数が現在の期間内の最大切り替え回数を超えた場合には、それ以上のドメインホームリージョンの切り替えを阻止するようにしてもよい。
【0024】
ドメインホームリージョンを第1のデータセンタから第2のデータセンタに切り替える場合は、第1のデータセンタと第2のデータセンタとの間の書き込み動作が時間的に同期しない可能性がある。たとえば、第1のデータセンタのドメインへの書き込み動作が実行されるタイミングと第2のデータセンタの複製ドメインが更新されるタイミングとの間に時間遅延が存在して、第1のデータセンタのドメインでは書き込み動作を実行し得るのに、第2のデータセンタの複製ドメインでは実行し得ない場合がある。さらに、第2のデータセンタへのドメインホームリージョンの切り替えに際して第1のデータセンタが利用できない場合、第1のデータセンタは、第1のデータセンタが利用不可能であることに基づいて第2のデータセンタのドメインに実行された書き込み動作を第1のデータセンタのドメインに複製することができない。いくつかの実施形態において、CSPは、切り替え期間中に1つまたは複数の書き込み動作が失われた可能性があることを顧客に示すようにしてもよく、これは、切り替えの完了時に1つまたは複数の書き込み動作が繰り返され得ること、および/または、繰り返され得る書き込み動作を顧客に示すことができる。いくつかの実施形態において、CSPは、切り替えの完了後および/または切り替え中に利用できなかったデータセンタのいずれかが利用可能となった後に、第1のデータセンタと第2のデータセンタとの間の調停を実行するようにしてもよい。たとえば、CSPは、第1のデータセンタおよび第2のデータセンタのスナップショットを比較して、データセンタの一方から欠落している書き込み動作(存在する場合)を決定するとともに、書き込み動作が欠落しているデータセンタに書き込み動作が追加されるべきかを判定するようにしてもよい。したがって、CSPは、ドメインホームリージョンの切り替えにより欠落している如何なる書き込み動作にも対応可能となり得る。
【0025】
図1は、少なくとも1つの実施形態に係る、例示的なCSP構成100を示している。CSP構成100は、サービスを顧客に提供し得るCSPの一部の一例を示している。CSPには、1つまたは複数の顧客デバイスがアクセスして、CSPが提供するサービスを利用することができる。
【0026】
CSP構成100は、CSP102を含んでいてもよい。CSPは、サービスを顧客に提供し得るソフトウェアを実装しているコンピュータハードウェアのネットワークを備えていてもよい。CSP102のコンピュータハードウェアおよび/またはソフトウェアは、リソースと称する場合もあり、顧客は、動作を実行するリソースを利用または要求することができる。CSP102は、IAMを含んでいてもよく、IAMは、CSP102へのユーザのアクセスを制御することができる。
【0027】
CSP102のハードウェアおよび/またはソフトウェアは、1つまたは複数のデータセンタに分離されていてもよい。データセンタはそれぞれ、対応する地理的領域に配置されていてもよい。たとえば、CSP102は、第1のデータセンタ104および第2のデータセンタ106を具備していてもよい。第1のデータセンタが第1の地理的領域に配置され、第2のデータセンタが第2の地理的領域に配置されていてもよく、第2の地理的領域は第1の地理的領域と異なる。データセンタはそれぞれ、サービスを顧客に提供するコンピュータハードウェアおよびソフトウェアを備えていてもよい。いくつかの実施形態において、データセンタはそれぞれ、1つまたは複数のサーバを具備していてもよい。
【0028】
データセンタは、1つまたは複数のドメインを格納していてもよい。場合によっては、複数の領域において1つまたは複数のドメインが複製されていてもよい。たとえば、異なる領域の複数のデータセンタが同じドメインのコピーを格納していてもよい。図示の実施形態においては、第1のデータセンタ104がドメインの第1のコピー108を格納し、第2のデータセンタ106がドメインの第2のコピー110を格納していてもよい。
【0029】
CSP構成100は、ゲートウェイ112を含んでいてもよい。ゲートウェイ112は、CSP102の1つまたは複数のデータセンタに結合されていてもよい。ゲートウェイ112は、ゲートウェイ112が結合されているデータセンタへのアクセスを可能にする。図示の実施形態において、ゲートウェイ112は、第1のデータセンタ104および第2のデータセンタ106に結合されている。ゲートウェイ112は、顧客デバイスとリージョンとの間の接続を確立可能であってもよい。ゲートウェイ112に結合されているデータセンタは、一意ドメインネームシステム(DNS)のアドレスに対応していてもよい。たとえば、第1のデータセンタ104が第1のDNSアドレスに対応し、第2のデータセンタ106が第2のDNSアドレスに対応していてもよい。ゲートウェイ112は、DNSアドレスを示すデバイスからのリクエストの受信に応答して、デバイスとDNSアドレスに対応するデータセンタとの間の接続を確立するようにしてもよい。
【0030】
CSP構成100は、顧客デバイス114を含んでいてもよい。顧客デバイス114は、コンピュータデバイスを含んでいてもよい。顧客デバイス114は、顧客が動作させるようになっていてもよい。顧客は、CSP102の1つまたは複数のデータセンタに登録されるようになっていてもよい。たとえば、図示の実施形態において、顧客は、第1のデータセンタ104および第2のデータセンタ106に登録されるようになっていてもよい。顧客は、登録されているデータセンタが提供するサービスのうちの1つまたは複数を利用可能であってもよい。たとえば、顧客は、第1のデータセンタ104および第2のデータセンタ106が提供するサービスのうちの1つまたは複数を利用可能であってもよい。CSP102は、顧客が登録されているデータセンタおよび/または顧客と関連する付加的な情報を示すアカウントを維持するようにしてもよい。アカウントは、顧客によるCSP102へのアクセスの認証に利用可能な情報をさらに含んでいてもよい。
【0031】
各顧客は、規定されたホームリージョンを有していてもよい。特に、顧客は、登録されているデータセンタのうちの1つであって、顧客のホームリージョンとして規定するホームリージョン割り当てが割り当てられているデータセンタを有していてもよい。従来の手法においては、アカウントの生成時にホームリージョンが割り当てられ、アカウントの生成後は、顧客による再割り当てが不可能であった。顧客のホームリージョンは、他のリージョンと異なる権限を可能にし得る。たとえば、ホームリージョンは、顧客が1つまたは複数の規定ドメインに対して書き込み動作を実行可能なデータセンタであってもよい。一方、その他のデータセンタは、1つまたは複数の規定ドメインに対する顧客の書き込み動作の実行が阻止され得る。図示の実施形態において、顧客は、第1のデータセンタ104がホームリージョンとして規定されている。本例において、顧客は、第1のデータセンタ104がホームリージョンとして規定されていることに基づいて、第1のデータセンタ104により、ドメインの第1のコピー108への書き込み動作の実行に制限されている。さらに、顧客は、第2のデータセンタ106にホームリージョンが割り当てられていないことに基づいて、第2のデータセンタ106により、ドメインの第2のコピー110への書き込み動作の実行が阻止される。ただし、顧客は、第1のデータセンタ104が何らかの理由で利用できなくなった場合等、ホームリージョンの再割り当てを希望する場合がある。
【0032】
顧客は、顧客デバイス114を介して、第1のデータセンタ104から第2のデータセンタ106にホームリージョンを再割り当てするリクエストを送信するようにしてもよい。顧客デバイス114は、ホームリージョン割り当ての再割り当てを実行するデータセンタに対応するDNSアドレスと併せて、リクエストをゲートウェイ112に送信するようにしてもよい。簡潔に、本明細書においては、ホームリージョン割り当ての再割り当てを実行するものとして第1のデータセンタ104が記載されるが、本明細書に記載の第1のデータセンタ104が実行するホームリージョン割り当ての再割り当ての実行と同様に、CSP102の別のデータセンタ(第2のデータセンタ106等)が再割り当てを実行するようにしてもよいことが了解されるものとする。
【0033】
たとえば、記載の実施形態において、リクエストとともに送信されるDNSアドレスは、第1のデータセンタ104に対応していてもよい。ゲートウェイ112は、顧客デバイス114からリクエストを受信するようにしてもよい。ゲートウェイ112は、リクエストとともに含まれる第1のデータセンタ104に対応するDNSアドレスに基づいて、リクエストが第1のデータセンタ104に提供されるものと判定するようにしてもよい。ゲートウェイ112は、リクエストを第1のデータセンタ104に与えるようにしてもよい。
【0034】
第1のデータセンタ104は、ゲートウェイ112から受信されたリクエストを識別するようにしてもよい。リクエストに基づいて、第1のデータセンタ104は、ホームリージョン割り当てが第1のデータセンタ104から第2のデータセンタ106に再割り当てされることにより、第2のデータセンタ106がホームリージョンとして割り当てられるものと判定するようにしてもよい。第1のデータセンタ104は、顧客のホームリージョンとして割り当てられるデータセンタを示す第1のIDCPを有していてもよい。図示の実施形態において、第1のIDCPは、第1のデータセンタ104がホームリージョンであることを示す。リクエストに基づいて、第1のデータセンタ104は、第2のデータセンタ106がホームリージョンであることを示すように第1のIDCPが更新されるものと判定するようにしてもよい。第1のデータセンタ104は、第2のデータセンタ106がホームリージョンであることを示すように、第1のIDCPを更新するようにしてもよい。第1のデータセンタ104は、第2のデータセンタ106がホームリージョンであることを示すように第1のIDCPを更新した後、顧客によるドメインの第1のコピー108への書き込み動作の実行を阻止するようにしてもよい。
【0035】
第2のデータセンタ106は、顧客のホームリージョンとして割り当てられるデータセンタを示す第2のIDCPを有していてもよい。図示の実施形態において、第2のIDCPは、第1のデータセンタ104がホームリージョンであることを示していてもよい。リクエストに基づいて、第1のデータセンタ104は、第2のデータセンタ106がホームリージョンであることを示すように第2のIDCPが更新されるものと判定するようにしてもよい。第1のデータセンタ104は、第2のデータセンタ106がホームリージョンであることを示すように、第2のIDCPを更新するようにしてもよい。種々実施形態によれば、第2のデータセンタ106は、第2のIDCPの更新前には顧客によるドメインの第2のコピー110の書き込み動作の実行を阻止し、第2のIDCPの更新が完了したら、顧客によるドメインの第2のコピー110の書き込み動作の実行を許可する。
【0036】
第1のIDCPおよび第2のIDCPが更新されたことに基づいて、第1のデータセンタ104は、ホームリージョンが第2のデータセンタ106に更新されたことを顧客に示すようにしてもよい。たとえば、第1のデータセンタ104は、ホームリージョンの再割り当てが完了した旨の指標をゲートウェイ112に与えるようにしてもよい。たとえば、第1のデータセンタ104は、ホームリージョンの第2のデータセンタ106への割り当てが完了した旨の指標を与えるようにしてもよい。ゲートウェイ112は、この指標を顧客デバイス114に与えるようにしてもよい。顧客デバイス114は、ホームリージョンが第2のデータセンタ106に更新された旨の指標を表示するようにしてもよい。
【0037】
以上のようにして、CSP102は、顧客のホームリージョンの第2のデータセンタ106への更新を顧客に許可した。第1のIDCPおよび第2のIDCPは、別のホームリージョン割り当てが実行されるまで、第2のデータセンタ106をホームリージョンとして維持するようにしてもよい。したがって、顧客は、別のホームリージョン割り当てが実行されるまで、第2のデータセンタ106を利用して、ドメインの第2のコピー110への書き込み動作を実行し続けるようにしてもよい。
【0038】
図2は、少なくとも1つの実施形態に係る、別の例示的なCSP構成200を示している。CSP構成200は、サービスを顧客に提供し得るCSPの一部の一例を示している。CSPには、1つまたは複数の顧客デバイスがアクセスして、CSPが提供するサービスを顧客デバイスが利用できるようにしてもよい。
【0039】
CSP構成200は、顧客デバイス202を含んでいてもよい。顧客デバイス202は、顧客デバイス114(図1)の特徴のうちの1つまたは複数を含んでいてもよい。顧客デバイス202は、コンピュータデバイスを含んでいてもよい。顧客デバイス202は、顧客が利用してCSPにアクセスし、CSPが提供する1つまたは複数のサービスを利用するようにしてもよい。CSPは、CSPが提供することで顧客が利用可能となるサービスを示し得る、顧客と関連付けられているアカウントを維持するようにしてもよい。
【0040】
図示の実施形態において、CSPは、第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208を具備していてもよい。第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208は各々、第1のデータセンタ104(図1)および/または第2のデータセンタ106(図1)の特徴のうちの1つまたは複数を含んでいてもよい。顧客デバイス202を利用する顧客は、CSPの1つまたは複数のデータセンタに登録されるようになっていてもよい。図示の実施形態において、顧客は、第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208に登録するようにしてもよい。顧客と関連付けられているアカウントは、顧客が第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208に登録されていることを示すようにしてもよい。
【0041】
第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208への登録に基づいて、顧客デバイス202は、第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208が提供する1つまたは複数のサービスを利用可能であってもよい。CSP構成200は、ゲートウェイ210を含んでいてもよい。ゲートウェイ210は、第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208に結合されていてもよい。ゲートウェイ210は、第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208への顧客デバイス202のアクセスを容易化し得る。第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208は各々、対応するDNSアドレスと関連付けられていてもよい。たとえば、第1のデータセンタ204が第1のDNSアドレスと関連付けられ、第2のデータセンタ206が第2のDNSアドレスと関連付けられ、第3のデータセンタが第3のDNSアドレスと関連付けられていてもよい。ゲートウェイ210は、顧客デバイス202からの情報により提供されるDNSアドレスに基づいて、顧客デバイス202がアクセスしようとしているデータセンタを決定可能であってもよい。ゲートウェイ210は、顧客デバイス202が示すDNSアドレスに基づいて、顧客デバイス202とデータセンタとの間の接続を確立するようにしてもよい。
【0042】
顧客が登録されているデータセンタのうちの1つまたは複数には、顧客と関連付けられている1つまたは複数のドメインが格納されていてもよい。さらに、顧客と関連付けられているドメインは、複数のデータセンタで複製されるようになっていてもよく、ドメインが複製されるデータセンタはそれぞれ、ドメインのコピーを格納する。図示の実施形態において、顧客は、第1のデータセンタ204、第2のデータセンタ206、および第3のデータセンタ208で複製されたドメインを有していてもよい。特に、第1のデータセンタ204がドメインの第1のコピー212を格納し、第2のデータセンタ206がドメインの第2のコピー214を格納し、第3のデータセンタ208がドメインの第3のコピー216を格納していてもよい。
【0043】
データセンタは各々、対応するIDCPを有していてもよい。たとえば、第1のデータセンタ204が第1のIDCP218を有し、第2のデータセンタ206が第2のIDCP220を有し、第3のデータセンタ208が第3のIDCP222を有していてもよい。IDCPは、対応するデータセンタから別個に示されているが、他の実施形態においては、対応するデータセンタに含まれていてもよいことが了解されるものとする。IDCPは、顧客と関連する情報を格納していてもよい。
【0044】
CSPは、顧客に対する単一のホームリージョンの規定を可能にし得る。ホームリージョンは、顧客がホームリージョンの1つまたは複数のドメインに対して書き込み動作を実行可能なデータセンタとして規定されていてもよい。一方、ホームリージョンとして割り当てられないその他のデータセンタは、顧客が要求する1つまたは複数のドメインに対する書き込み動作の実行が阻止され得る。IDCPは各々、ホームリージョンとして割り当てられているデータセンタの指標を格納していてもよい。図示の実施形態においては、第1のデータセンタ204がホームリージョンとして規定されていてもよい。したがって、第1のIDCP218、第2のIDCP220、および第3のIDCP222は各々、第1のIDCP218がホームリージョンとして割り当てられている旨の指標を格納する。
【0045】
第1のデータセンタ204は、ホームリージョンとして割り当てられていることから、顧客デバイス202が要求するドメインの第1のコピー212への書き込み動作を実行可能である。第2のデータセンタ206は、顧客が要求するドメインの第2のコピー214への書き込み動作の実行が阻止され、第3のデータセンタ208は、ドメインの第3のコピー216への書き込み動作の実行が阻止され得る。したがって、顧客は、ドメインの第1のコピー212への書き込み動作の実行を要求可能であってもよく、また、ドメインの第2のコピー214およびドメインの第3のコピー216に対して要求された書き込み動作の直接的な実行は阻止され得る。
【0046】
ホームリージョンは、ホームリージョンに格納されているドメインのコピーに一致するように、他のデータセンタの複製ドメインを更新可能であってもよい。ホームリージョンは、設定間隔、トリガへの応答、またはこれらの何らかの組合せにて複製ドメインを更新するようにしてもよい。たとえば、図示の実施形態においてホームリージョンとして割り当てられている第1のデータセンタ204は、ドメインの第1のコピー212に一致するように、ドメインの第2のコピー214およびドメインの第3のコピー216を更新する。設定間隔および/またはトリガへの応答にて更新が実行され得る場合は、第1のデータセンタ204がドメインの第1のコピー212への書き込み動作を実行する時間と第1のデータセンタ204がドメインの第2のコピー214および/またはドメインの第3のコピー216を更新する時間との間に発生し得る遅延に基づいて、ドメインの第1のコピー212がドメインの第2のコピー214およびドメインの第3のコピー216と異なる可能性がある。
【0047】
顧客のホームリージョンが1つしかなく、その他のデータセンタの動作が限られる場合、顧客は、ホームリージョン割り当てを異なるデータセンタに再割り当てし、他方のリージョンをホームリージョンとして割り当てることを望む場合がある。たとえば、顧客は、ホームリージョンとして割り当てられているデータセンタが(更新中、接続の問題、および/または他のシステム上の問題等により)利用不可能な場合、ホームリージョン割り当ての変更を希望する場合がある。本開示の全体を通して詳しく説明する通り、CSPは、顧客によるホームリージョン割り当ての異なるデータセンタへの再割り当てを可能にし得る。CSPは、データセンタがすべて利用可能な場合またはデータセンタのうちの1つもしくは複数(ホームリージョンとして割り当てられているデータセンタを含む)が利用不可能な場合、顧客によるホームリージョン割り当ての再割り当てを可能にし得る。顧客によるホームリージョン割り当ての再割り当てを可能にすることは、顧客にとって有益となり得る。
【0048】
いくつかの実施形態において、CSPは、顧客が実行するホームリージョン再割り当てを制限するようにしてもよい。たとえば、CSPは、ある期間内に顧客がホームリージョン割り当てを再割り当てする回数を制限するようにしてもよい。これらの実施形態のうちのいくつかにおいて、CSPは、顧客がホームリージョン割り当ての再割り当てを行った回数が閾値回数を超えているか否かに関わらず、ホームリージョン割り当てが現在割り当てられているデータセンタが利用不可能な場合は、顧客によるホームリージョン割り当ての再割り当てを可能にし得る。
【0049】
図3は、少なくとも1つの実施形態に係る、別の例示的なCSP構成300を示している。CSP構成300は、登録されているデータセンタが利用可能な状態でのホームリージョン割り当ての再割り当ての一例を示している。
【0050】
CSP構成300は、CSP構成200(図2)の特徴のうちの1つまたは複数を含んでいてもよい。たとえば、CSP構成300は、顧客デバイス302を含んでいてもよい。顧客デバイス302は、顧客デバイス202(図2)の特徴のうちの1つまたは複数を含んでいてもよい。顧客デバイス302は、顧客が利用して、CSP構成300のCSPにアクセスするようにしてもよい。CSPは、顧客のアカウントを維持するようにしてもよい。
【0051】
CSP構成300は、CSPを含んでいてもよい。図示の実施形態において、CSPは、第1のデータセンタ304、第2のデータセンタ306、および第3のデータセンタ208を具備していてもよい。第1のデータセンタ304、第2のデータセンタ306、および第3のデータセンタ308は、第1のデータセンタ204(図2)、第2のデータセンタ206(図2)、および/または第3のデータセンタ208(図2)の特徴のうちの1つまたは複数を含んでいてもよい。図示の実施形態においては、第1のデータセンタ304がホームリージョンとして割り当てられていてもよい。
【0052】
第1のデータセンタ304がドメインの第1のコピー312を格納し、第2のデータセンタ306がドメインの第2のコピー314を格納し、第3のデータセンタ308がドメインの第3のコピー316を格納していてもよい。ドメインの第1のコピー312、ドメインの第2のコピー314、およびドメインの第3のコピー316は、ドメインの第1のコピー212(図2)、ドメインの第2のコピー214(図2)、および/またはドメインの第3のコピー216(図2)の特徴のうちの1つまたは複数を含んでいてもよい。ドメインの第1のコピー312、ドメインの第2のコピー314、およびドメインの第3のコピー316は、顧客デバイスを操作する顧客と関連付けられていてもよい。CSPは、顧客リクエストによるホームリージョンのドメインへの書き込み動作の実行を許可し得る。一方、その他のリージョンは、顧客リクエストによるドメインへの動作の実行が制限され得る。したがって、第1のデータセンタ304は、ホームリージョンとして割り当てられていることから、顧客によるドメインの第1のコピー312への書き込み動作を実行可能である一方、第2のデータセンタ306は、顧客によるドメインの第2のコピー314への書き込み動作の実行が阻止され、第3のデータセンタ308は、顧客によるドメインの第3のコピー316への書き込み動作の実行が阻止され得る。
【0053】
データセンタは各々、対応するIDCPを有していてもよい。図示の実施形態においては、第1のデータセンタ304が第1のIDCP318を有し、第2のデータセンタ306が第2のIDCP320を有し、第3のデータセンタ308が第3のIDCP322を有していてもよい。第1のIDCP318、第2のIDCP320、および第3のIDCP322は各々、第1のIDCP218(図2)、第2のIDCP220(図2)、および/または第3のIDCP222(図2)の特徴のうちの1つまたは複数を含んでいてもよい。IDCPは各々、顧客のホームリージョン割り当てが割り当てられたデータセンタ等、顧客と関連する情報を格納していてもよい。
【0054】
対応するデータセンタが対応するIDCPにアクセスして、顧客と関連する情報を読み出すようにしてもよい。たとえば、図示の実施形態において、第1のIDCP318、第2のIDCP320、および第3のIDCP322は、顧客のホームリージョン割り当てが第1のデータセンタ304に割り当てられている旨の指標を格納していてもよく、これにより、第1のデータセンタ304を顧客のホームリージョンとして動作させる。第1のデータセンタ304は、第1のIDCP318にアクセスして、顧客のホームリージョン割り当てが第1のデータセンタ304に割り当てられているものと判定するようにしてもよく、第2のデータセンタ306は、第2のIDCP320にアクセスして、顧客のホームリージョン割り当てが第1のデータセンタ304に割り当てられているものと判定するようにしてもよく、第3のデータセンタ308は、第3のIDCP322にアクセスして、顧客のホームリージョン割り当てが第1のデータセンタ304に割り当てられているものと判定するようにしてもよい。データセンタは各々、顧客から書き込み動作リクエストを受信した際に、対応するIDCPにアクセスして、顧客のホームリージョンとして割り当てられているデータセンタを決定するようにしてもよい。データセンタは、ホームリージョンとして割り当てられているデータセンタに基づいて、書き込み動作リクエストを実行するようにしてもよいし、実行しなくてもよい。たとえば、第1のデータセンタ304は、第1のIDCP318にアクセスして、第1のデータセンタ304がホームリージョンとして割り当てられているものと判定するようにしてもよく、また、第1のデータセンタ304は、第1のデータセンタ304がホームリージョンとして割り当てられていることに基づいて、ドメインの第1のコピー312への要求された書き込み動作を実行するようにしてもよい。第2のデータセンタ306は、第2のIDCP320にアクセスして、第1のデータセンタ304がホームリージョンとして割り当てられているものと判定するようにしてもよく、また、第2のデータセンタ306は、第2のデータセンタ306がホームリージョンとして割り当てられていないことに基づいて、ドメインの第2のコピー314への要求された書き込み動作の実行を阻止するようにしてもよい。さらに、第3のデータセンタ308は、第3のIDCP322にアクセスして、第1のデータセンタ304がホームリージョンとして割り当てられているものと判定するようにしてもよく、また、第3のデータセンタ308は、第3のデータセンタ308がホームリージョンとして割り当てられていないことに基づいて、ドメインの第3のコピー316への要求された書き込み動作の実行を阻止するようにしてもよい。
【0055】
CSP構成300は、ゲートウェイ310を含んでいてもよい。ゲートウェイ310は、ゲートウェイ210(図2)の特徴のうちの1つまたは複数を含んでいてもよい。ゲートウェイ310は、顧客デバイス302と第1のデータセンタ304との間、顧客デバイス302と第2のデータセンタ306との間、および顧客デバイス302と第3のデータセンタ308との間の接続を確立するようにしてもよい。第1のデータセンタ304、第2のデータセンタ306、および第3のデータセンタ308は各々、一意のDNSアドレスと関連付けられていてもよい。たとえば、第1のデータセンタ304が第1のDNSアドレスと関連付けられ、第2のデータセンタ306が第2のDNSアドレスと関連付けられ、第3のデータセンタ308が第3のDNSアドレスと関連付けられていてもよい。ゲートウェイ310は、接続確立リクエストおよび/または伝送信号とともに含まれるDNSアドレスに従って、接続の確立および/または伝送信号のルーティングを行うようにしてもよい。たとえば、ゲートウェイ310は、第1のDNSアドレスが与えられていることに基づいて、第1のデータセンタ304に対する接続の確立および/または伝送信号のルーティングを行うようにしてもよく、第2のDNSアドレスが与えられていることに基づいて、第2のデータセンタ306に対する接続の確立および/または伝送信号のルーティングを行うようにしてもよく、また、第3のDNSアドレスが与えられていることに基づいて、第3のデータセンタ308に対する接続の確立および/または伝送信号のルーティングを行うようにしてもよい。
【0056】
顧客は、ホームリージョン割り当ての再割り当てを要求することができる。図示の実施形態において、ホームリージョン割り当ての再割り当てが要求された場合には、第1のデータセンタ304、第2のデータセンタ306、および第3のデータセンタ308が利用可能であってもよい。簡潔に、ホームリージョン割り当ての再割り当ては、リクエストを第1のデータセンタ304に与える顧客デバイス302およびホームリージョン割り当ての再割り当てを実行する第1のデータセンタ304により実行されるものとして記載される。この手順は、利用可能なデータセンタ(第2のデータセンタ306および第3のデータセンタ308を含む)のいずれかによって同様に実行され得ることが了解されるものとする。さらに、この手順は、第1のデータセンタ304から第2のデータセンタ306へのホームリージョン割り当ての再割り当てとして記載されるが、他の例では、顧客が登録されている任意のデータセンタに対してホームリージョン割り当てが再割り当てされ得ることが了解されるものとする。
【0057】
顧客は、顧客が登録されているデータセンタのうちの1つにホームリージョン割り当てを変更して再割り当てするリクエストを顧客デバイス302に入力することができる。記載の実施形態において、顧客は、ホームリージョン割り当ての第2のデータセンタ306への再割り当てを要求することができる。顧客デバイス302は、ホームリージョン割り当てが第2のデータセンタ306に再割り当てされる旨を示すリクエスト伝送信号を生成するようにしてもよい。いくつかの実施形態において、リクエスト伝送信号は、ホームリージョン割り当ての再割り当て動作の実行が意図されるデータセンタに対応するDNSアドレスを含んでいてもよい。たとえば、リクエスト伝送信号は、第1のデータセンタ304に対応する第1のDNSアドレスを含んでいてもよい。顧客デバイス302は、リクエスト伝送信号をゲートウェイ310に送信するようにしてもよい。
【0058】
ゲートウェイ310は、ゲートウェイ310と第1のデータセンタ304との間の実線の伝送ライン324により示されるように、顧客デバイス302と第1のデータセンタ304との間の接続を確立するようにしてもよい。この接続は、接続を確立する顧客デバイス302からのリクエストに基づいて過去に確立されたものであってもよいし、顧客デバイス302から受信されたリクエスト伝送信号に含まれる第1のデータセンタ304に対応する第1のDNSアドレスに基づいて確立されるようになっていてもよい。ゲートウェイ310は、この接続に基づいて、リクエスト伝送信号を第1のデータセンタ304に与えるようにしてもよい。
【0059】
第1のデータセンタ304は、ゲートウェイ310からリクエスト伝送信号を受信するようにしてもよい。リクエスト伝送信号に基づいて、第1のデータセンタ304は、ホームリージョン割り当てが第2のデータセンタ306に再割り当てされるものと判定するようにしてもよい。特に、第1のデータセンタ304は、現在、ホームリージョンとして割り当てられていることから、ホームリージョン割り当てが第1のデータセンタ304から第2のデータセンタ306に再割り当てされるものと判定するようにしてもよい。
【0060】
ホームリージョン割り当てが第2のデータセンタ306に再割り当てされる旨の判定に基づいて、第1のデータセンタ304は、第2のデータセンタ306がホームリージョンであることを示すように、第1のIDCP318を更新するようにしてもよい。たとえば、第1のデータセンタ304は、第1のIDCP318にアクセスして、ホームリージョン割り当てが第1のデータセンタ304に割り当てられる旨の指標を、ホームリージョン割り当てが第2のデータセンタ306に割り当てられる旨の指標で置き換えるようにしてもよい。いくつかの実施形態において、第1のIDCP318は、ホームリージョンであるデータセンタを示す値を有するフィールドを格納していてもよく、ホームリージョン割り当ての再割り当てによって、第1のデータセンタ304に対応する値から第2のデータセンタ306に対応する値へとフィールドの値が更新されるようになっていてもよい。第1のIDCP318は、更新されると、第1のデータセンタ304がアクセスする場合のホームリージョンが第2のデータセンタ306であることを第1のデータセンタ304に示すことができる。
【0061】
ホームリージョン割り当ての第2のデータセンタ306への更新の前には、第1のデータセンタ304がホームリージョンとして割り当てられていたと考えられる。第1のデータセンタ304は、ホームリージョンとして割り当てられている間、顧客によるドメインの第1のコピー312への書き込み動作を実行可能であったと考えられる。第2のデータセンタ306がホームリージョンとして割り当てられていることを示すように第1のIDCP318が更新されると、第1のデータセンタ304は、第1のIDCP318へのアクセスに基づいて、もはやホームリージョンではないものと判定することができる。第1のデータセンタ304は、ホームリージョンとして割り当てられていない間、顧客によるドメインの第1のコピー312への書き込み動作の実行が阻止され得る。したがって、第1のデータセンタ304は、ホームリージョン割り当てが第2のデータセンタ306に割り当てられていることを示すように第1のIDCP318が更新されたことに応答して、顧客によるドメインの第1のコピー312への書き込み動作の実行が阻止され得る。
【0062】
また、第1のデータセンタ304は、第2のデータセンタ306がホームリージョンとして割り当てられていることを示すように、第2のIDCP320を更新するようにしてもよい。たとえば、第1のデータセンタ304は、ホームリージョン割り当てを第2のデータセンタ306に再割り当てするリクエストを第2のIDCP320に送信するようにしてもよい。いくつかの実施形態において、第1のデータセンタ304は、第2のデータセンタ306を介して、リクエストを第2のIDCP320に送信するようにしてもよい。第2のIDCP320に格納されているホームリージョン割り当てが第1のデータセンタ304に割り当てられている旨の指標は、ホームリージョン割り当てが第2のデータセンタ306に割り当てられていることを示すように更新され得る。いくつかの実施形態において、第2のIDCP320は、ホームリージョン割り当てが割り当てられているデータセンタを示すフィールドを格納していてもよく、上記更新によって、第1のデータセンタ304に対応する値から第2のデータセンタ306に対応する値へとフィールドの値が更新される。
【0063】
ホームリージョン割り当ての第2のデータセンタ306への更新の前には、第2のデータセンタ306がホームリージョンとして割り当てられていなかったと考えられる。第2のデータセンタ306は、ホームリージョンとして割り当てられていない間、顧客によるドメインの第2のコピー314への書き込み動作の実行が阻止されていたと考えられる。第2のデータセンタ306がホームリージョンとして割り当てられていることを示すように第2のIDCP320が更新されると、第2のデータセンタ306は、第2のIDCP320へのアクセスに基づいて、ホームリージョンになったものと判定することができる。第2のデータセンタ306は、ホームリージョンとして割り当てられている間、顧客によるドメインの第2のコピー314への書き込み動作を実行可能であると考えられる。したがって、第2のデータセンタ306は、ホームリージョン割り当てが第2のデータセンタ306に割り当てられていることを示すように第2のIDCP320が更新されたことに応答して、顧客によるドメインの第2のコピー314への書き込み動作を実行可能となり得る。
【0064】
さらに、第1のデータセンタ304は、第2のデータセンタ306がホームリージョンとして割り当てられていることを示すように、第3のIDCP322を更新するようにしてもよい。たとえば、第1のデータセンタ304は、ホームリージョン割り当てを第2のデータセンタ306に再割り当てするリクエストを第3のIDCP322に送信するようにしてもよい。いくつかの実施形態において、第1のデータセンタ304は、第3のデータセンタ308を介して、リクエストを第3のIDCP322に送信するようにしてもよい。第3のIDCP322に格納されているホームリージョン割り当てが第1のデータセンタ304に割り当てられている旨の指標は、ホームリージョン割り当てが第2のデータセンタ306に割り当てられていることを示すように更新され得る。いくつかの実施形態において、第3のIDCP322は、ホームリージョン割り当てが割り当てられているデータセンタを示すフィールドを格納していてもよく、上記更新によって、第1のデータセンタ304に対応する値から第2のデータセンタ306に対応する値へとフィールドの値が更新される。
【0065】
第1のデータセンタ304は、ホームリージョン割り当ての第2のデータセンタ306への再割り当てが完了した旨の指標を顧客デバイス302に与えるようにしてもよい。いくつかの実施形態において、第1のデータセンタ304は、第1のIDCP318の更新の完了に際して、この指標を顧客デバイス302に与えるようにしてもよい。他の実施形態において、第1のデータセンタ304は、第1のIDCP318、第2のIDCP320、および第3のIDCP322の更新がすべて完了したことに応答して、この指標を顧客デバイス302に与えるようにしてもよい。たとえば、第1のデータセンタ304は、ホームリージョン割り当ての再割り当てが完了した旨の第2のIDCP320および第3のIDCP322からの指標の受信を待って、上記指標を顧客デバイス302に与えるようにしてもよい。指標の受信に応答して、顧客デバイス302は、ホームリージョン割り当ての再割り当てが完了した旨の指標を顧客に表示するようにしてもよい。他の実施形態においては、ホームリージョン割り当ての再割り当てが完了した旨の指標が省略されるようになっていてもよい。
【0066】
図4は、少なくとも1つの実施形態に係る、別の例示的なCSP構成400を示している。CSP構成400は、登録されているデータセンタの一部が利用不可能な状態でのホームリージョン割り当ての再割り当ての一例を示している。
【0067】
CSP構成400は、CSP構成200(図2)および/またはCSP構成300(図3)の特徴のうちの1つまたは複数を含んでいてもよい。たとえば、このCSP構成は、顧客デバイス402を含んでいてもよい。顧客デバイス402は、顧客デバイス202(図2)および/または顧客デバイス302(図3)の特徴のうちの1つまたは複数を含んでいてもよい。顧客デバイス402は、顧客が利用して、CSP構成400のCSPにアクセスするようにしてもよい。CSPは、顧客のアカウントを維持するようにしてもよい。
【0068】
CSP構成400は、CSPを含んでいてもよい。図示の実施形態において、CSPは、第1のデータセンタ404、第2のデータセンタ406、および第3のデータセンタ408を具備していてもよい。第1のデータセンタ404、第2のデータセンタ406、および第3のデータセンタ408は、第1のデータセンタ204(図2)、第1のデータセンタ304(図3)、第2のデータセンタ206(図2)、第2のデータセンタ306(図3)、第3のデータセンタ208(図2)、および/または第3のデータセンタ308(図3)の特徴のうちの1つまたは複数を含んでいてもよい。図示の実施形態においては、第1のデータセンタ404がホームリージョンとして割り当てられていてもよい。さらに、図示の実施形態においては、第1のデータセンタ404上の「×」により示されるように、第1のデータセンタ404が利用不可能であってもよい。したがって、顧客デバイス402、第2のデータセンタ406、および第3のデータセンタ408は、第1のデータセンタ404にアクセス不可能となり得る。
【0069】
第1のデータセンタ404がドメインの第1のコピー412を格納し、第2のデータセンタ406がドメインの第2のコピー414を格納し、第3のデータセンタ408がドメインの第3のコピー416を格納していてもよい。ドメインの第1のコピー412、ドメインの第2のコピー414、およびドメインの第3のコピー416は、ドメインの第1のコピー212(図2)、ドメインの第1のコピー312(図3)、ドメインの第2のコピー214(図2)、ドメインの第2のコピー314(図3)、ドメインの第3のコピー216(図2)、および/またはドメインの第3のコピー316(図3)の特徴のうちの1つまたは複数を含んでいてもよい。ドメインの第1のコピー312、ドメインの第2のコピー314、およびドメインの第3のコピー316は、顧客デバイスを操作する顧客と関連付けられていてもよい。
【0070】
CSPは、顧客リクエストによるホームリージョンのドメインへの書き込み動作の実行を可能にし得る。一方、その他のリージョンは、顧客リクエストによるドメインへの動作の実行が制限され得る。したがって、第1のデータセンタ404は、ホームリージョンとして割り当てられていることから、顧客によるドメインの第1のコピー412への書き込み動作を実行可能である一方、第2のデータセンタ406は、顧客によるドメインの第2のコピー414への書き込み動作の実行が阻止され、第3のデータセンタ408は、顧客によるドメインの第3のコピー416への書き込み動作の実行が阻止され得る。図示の実施形態においては、第1のデータセンタ404が利用不可能でありながらホームリージョンとして割り当てられていることから、顧客デバイス402は、ドメインへの如何なる書き込み動作の実行も阻止され得る。特に、顧客デバイス402は、第1のデータセンタ404が利用不可能であることから、第1のデータセンタ404にアクセスすることができず、第1のデータセンタ404は、顧客デバイス402からの書き込み動作の実行のリクエストを受信できなくなる。さらに、第2のデータセンタ406も第3のデータセンタ408もホームリージョンとして割り当てられていないことに基づいて、顧客デバイス402は、ドメインの第2のコピー414およびドメインの第3のコピー416への書き込み動作の実行がそれぞれ第2のデータセンタ406および第3のデータセンタ408によって阻止され得る。したがって、顧客は、第1のデータセンタ404が利用不可能である間、ドメインへの書き込みを実行できず、顧客にとって不都合が生じる可能性もある。
【0071】
データセンタは各々、対応するIDCPを有していてもよい。図示の実施形態においては、第1のデータセンタ404が第1のIDCP418を有し、第2のデータセンタ406が第2のIDCP420を有し、第3のデータセンタ508が第3のIDCP422を有していてもよい。第1のIDCP418、第2のIDCP420、および第3のIDCP422は各々、第1のIDCP218(図2)、第1のIDCP318(図3)、第2のIDCP220(図2)、第2のIDCP320(図3)、第3のIDCP222(図2)、および/または第3のIDCP322(図3)の特徴のうちの1つまたは複数を含んでいてもよい。IDCPは各々、ホームリージョン割り当てが割り当てられたデータセンタ等、顧客と関連する情報を格納していてもよい。図示の実施形態においては、第1のIDCP418が利用不可能であってもよい。したがって、顧客デバイス402、第2のデータセンタ406、および第3のデータセンタ408は、第1のIDCP418が利用不可能である間、第1のIDCP418にアクセス不可能となり得る。
【0072】
対応するデータセンタが対応するIDCPにアクセスして、顧客と関連する情報を読み出すようにしてもよい。たとえば、図示の実施形態において、第1のIDCP418、第2のIDCP420、および第3のIDCP422は、ホームリージョン割り当てが第1のデータセンタ404に割り当てられている旨の指標を格納していてもよく、これにより、第1のデータセンタ404がホームリージョンとして割り当てられる。第1のデータセンタ404は、第1のIDCP318にアクセスして、ホームリージョン割り当てが第1のデータセンタ404に割り当てられているものと判定するようにしてもよく、第2のデータセンタ406は、第2のIDCP320にアクセスして、ホームリージョン割り当てが第1のデータセンタ404に割り当てられているものと判定するようにしてもよく、第3のデータセンタ408は、第3のIDCP422にアクセスして、ホームリージョン割り当てが第1のデータセンタ404に割り当てられているものと判定するようにしてもよい。データセンタは各々、書き込み動作リクエストを受信した際に、対応するIDCPにアクセスして、ホームリージョンとして割り当てられているデータセンタを決定するようにしてもよい。データセンタは、ホームリージョンとして割り当てられているデータセンタに基づいて、書き込み動作リクエストを実行するようにしてもよいし、実行しなくてもよい。たとえば、第1のデータセンタ404は、第1のIDCP418にアクセスして、第1のデータセンタ404がホームリージョンとして割り当てられているものと判定するようにしてもよく、また、第1のデータセンタ404は、第1のデータセンタ404がホームリージョンとして割り当てられていることに基づいて、ドメインの第1のコピー412への要求された書き込み動作を実行するようにしてもよい。第2のデータセンタ406は、第2のIDCP420にアクセスして、第1のデータセンタ404がホームリージョンとして割り当てられているものと判定するようにしてもよく、また、第2のデータセンタ406は、第2のデータセンタ406がホームリージョンとして割り当てられていないことに基づいて、ドメインの第2のコピー414への要求された書き込み動作の実行を阻止するようにしてもよい。さらに、第3のデータセンタ408は、第3のIDCP422にアクセスして、第1のデータセンタ404がホームリージョンとして割り当てられているものと判定するようにしてもよく、また、第3のデータセンタ408は、第3のデータセンタ408がホームリージョンとして割り当てられていないことに基づいて、ドメインの第3のコピー416への要求された書き込み動作の実行を阻止するようにしてもよい。
【0073】
CSP構成400は、ゲートウェイ410を含んでいてもよい。ゲートウェイ410は、ゲートウェイ210(図2)および/またはゲートウェイ310(図3)の特徴のうちの1つまたは複数を含んでいてもよい。ゲートウェイ410は、顧客デバイス402と第1のデータセンタ404との間、顧客デバイス402と第2のデータセンタ406との間、および顧客デバイス402と第3のデータセンタ408との間の接続を確立するようにしてもよい。第1のデータセンタ404、第2のデータセンタ406、および第3のデータセンタ408は各々、一意のDNSアドレスと関連付けられていてもよい。たとえば、第1のデータセンタ404が第1のDNSアドレスと関連付けられ、第2のデータセンタ406が第2のDNSアドレスと関連付けられ、第3のデータセンタ408が第3のDNSアドレスと関連付けられていてもよい。ゲートウェイ410は、接続確立リクエストおよび/または伝送信号とともに含まれるDNSアドレスに従って、接続の確立および/または伝送信号のルーティングを行うようにしてもよい。たとえば、ゲートウェイ410は、第1のDNSアドレスが与えられていることに基づいて、第1のデータセンタ404に対する接続の確立および/または伝送信号のルーティングを行うようにしてもよく、第2のDNSアドレスが与えられていることに基づいて、第2のデータセンタ406に対する接続の確立および/または伝送信号のルーティングを行うようにしてもよく、また、第3のDNSアドレスが与えられていることに基づいて、第3のデータセンタ408に対する接続の確立および/または伝送信号のルーティングを行うようにしてもよい。
【0074】
顧客は、ホームリージョン割り当ての再割り当てを要求することができる。図示の実施形態において、ホームリージョン割り当ての再割り当てが要求された場合には、第1のデータセンタ404が利用不可能である一方、第2のデータセンタ406および第3のデータセンタ408が利用可能であってもよい。簡潔に、ホームリージョン割り当ての再割り当ては、リクエストを第2のデータセンタ406に与える顧客デバイス402およびホームリージョン割り当ての再割り当てを実行する第2のデータセンタ406により実行されるものとして記載される。この手順は、利用可能なデータセンタ(第3のデータセンタ408を含む)のいずれかによって同様に実行され得ることが了解されるものとする。さらに、この手順は、第1のデータセンタ404から第2のデータセンタ406へのホームリージョン割り当ての再割り当てとして記載されるが、他の例では、顧客が登録されている任意のデータセンタに対してホームリージョン割り当てが再割り当てされ得ることが了解されるものとする。
【0075】
顧客は、顧客が登録されているデータセンタのうちの1つにホームリージョン割り当てを変更して再割り当てするリクエストを顧客デバイス402に入力することができる。記載の実施形態において、顧客は、ホームリージョン割り当ての第2のデータセンタ406への再割り当てを要求することができる。顧客デバイス402は、ホームリージョン割り当てが第2のデータセンタ406に再割り当てされる旨を示すリクエスト伝送信号を生成するようにしてもよい。
【0076】
いくつかの実施形態において、顧客デバイス402は、データセンタのうちの1つまたは複数が利用不可能となったことに基づいて、ホームリージョンを別のデータセンタに切り替える選択肢を表示するようにしてもよい。たとえば、顧客デバイス402は、割り当てられているデータセンタが利用不可能となったことに応答して、ホームリージョンを別のデータセンタに切り替える選択肢を表示するようにしてもよい。図示の実施形態において、顧客デバイス402は、第1のデータセンタ404が利用不可能となったことに応答して、第1のデータセンタ404からホームリージョンを切り替える選択肢を表示するようにしてもよい。顧客デバイス402は、第1のデータセンタ404が利用不可能となった場合のホームリージョンまたはその他のデータセンタのうちの1つへの接続を有していてもよく、これにより選択肢の表示も可能となる。これらの実施形態のうちのいくつかにおいて、選択肢は、顧客が登録されており、ホームリージョン割り当ての割り当てが可能な他のデータセンタのリストを提供し得る。顧客は、リストからデータセンタを選択して、ホームリージョン割り当てが再割り当てされるデータセンタを示すようにしてもよい。これらの実施形態のうちのその他において、顧客は、バックアップホームリージョンとして予め定められている1つまたは複数のデータセンタを有していてもよい。選択肢は、これら1つまたは複数のデータセンタを示していてもよい。1つのデータセンタが予め定められている場合、選択肢は、この所定のデータセンタにホームリージョン割り当てを再割り当てするかを顧客が選択できるようにしてもよい。2つ以上のデータセンタが予め定められている場合、選択肢は、これら所定のデータセンタのリストを表示するようにしてもよく、顧客は、ホームリージョン割り当てが再割り当てされるデータセンタをリストから選択するようにしてもよい。記載の実施形態において、顧客デバイス402は、第1のデータセンタ404が利用不可能となったことに応答して、ホームリージョンを第2のデータセンタ406に切り替える選択肢を表示するようにしてもよい。
【0077】
いくつかの実施形態において、リクエスト伝送信号は、ホームリージョン割り当ての再割り当て動作の実行が意図されるデータセンタに対応するDNSアドレスを含んでいてもよい。たとえば、リクエスト伝送信号は、第2のデータセンタ406に対応する第2のDNSアドレスを含んでいてもよい。顧客デバイス402は、リクエスト伝送信号をゲートウェイ410に送信するようにしてもよい。
【0078】
ゲートウェイ410は、ゲートウェイ410と第2のデータセンタ406との間の実線の伝送ライン424により示されるように、顧客デバイス402と第2のデータセンタ406との間の接続を確立するようにしてもよい。この接続は、接続を確立する顧客デバイス402からのリクエストに基づいて過去に確立されたものであってもよいし、顧客デバイス402から受信されたリクエスト伝送信号に含まれる第2のデータセンタ406に対応する第2のDNSアドレスに基づいて確立されるようになっていてもよい。ゲートウェイ410は、この接続に基づいて、リクエスト伝送信号を第2のデータセンタ406に与えるようにしてもよい。
【0079】
第2のデータセンタ406は、ゲートウェイ410からリクエスト伝送信号を受信するようにしてもよい。リクエスト伝送信号に基づいて、第2のデータセンタ406は、ホームリージョン割り当てが第2のデータセンタ406に再割り当てされるものと判定するようにしてもよい。特に、第1のデータセンタ404が現在、ホームリージョンとして割り当てられていることから、第2のデータセンタ406は、ホームリージョン割り当てが第1のデータセンタ404から第2のデータセンタ406に再割り当てされるものと判定するようにしてもよい。
【0080】
ホームリージョン割り当てが第2のデータセンタ406に再割り当てされる旨の判定に基づいて、第2のデータセンタ406は、第2のデータセンタ406がホームリージョンであることを示すように、第2のIDCP420を更新するようにしてもよい。たとえば、第2のデータセンタ406は、第2のIDCP420にアクセスして、ホームリージョン割り当てが第1のデータセンタ404に割り当てられる旨の指標を、ホームリージョン割り当てが第2のデータセンタ406に割り当てられる旨の指標で置き換えるようにしてもよい。いくつかの実施形態において、第2のIDCP420は、ホームリージョンであるデータセンタを示す値を有するフィールドを格納していてもよく、ホームリージョン割り当ての再割り当てによって、第1のデータセンタ404に対応する値から第2のデータセンタ406に対応する値へとフィールドの値が更新されるようになっていてもよい。第2のIDCP420は、更新されると、第2のデータセンタ406がアクセスする場合のホームリージョンが第2のデータセンタ406であることを第2のデータセンタ406に示すことができる。
【0081】
ホームリージョン割り当ての第2のデータセンタ406への更新の前には、第2のデータセンタ406がホームリージョンとして割り当てられていなかったと考えられる。第2のデータセンタ406は、ホームリージョンとして割り当てられていない間、顧客によるドメインの第2のコピー414への書き込み動作の実行が阻止されていたと考えられる。第2のデータセンタ406がホームリージョンとして割り当てられていることを示すように第2のIDCP420が更新されると、第2のデータセンタ406は、第2のIDCP420へのアクセスに基づいて、ホームリージョンになったものと判定することができる。第2のデータセンタ406は、ホームリージョンとして割り当てられている間、顧客によるドメインの第2のコピー414への書き込み動作を実行可能と考えられる。したがって、第2のデータセンタ406は、ホームリージョン割り当てが第2のデータセンタ406に割り当てられていることを示すように第2のIDCP420が更新されたことに応答して、顧客によるドメインの第2のコピー414への書き込み動作を実行可能となり得る。
【0082】
いくつかの実施形態において、第2のデータセンタ406は、第2のデータセンタ406がホームリージョンとして割り当てられていることを示すように、第1のIDCP418の更新を試みてもよい。特に、第2のデータセンタ406は、リクエストに基づいて、第1のIDCP418の更新を試みてもよい。第1のIDCP418が利用不可能であることから、第2のデータセンタ406は、最初の試行で第1のIDCP418を更新できない可能性がある。これらの実施形態のうちのいくつかにおいて、第2のデータセンタ406は、第1のIDCP418が利用可能となった旨の指標を待ち、第1のIDCP418が利用可能となった旨の指標に応答して、第1のIDCP418を更新するようにしてもよい。これらの実施形態のうちのその他において、第2のデータセンタ406は、第1のIDCP418の更新に成功するまで、設定間隔ならびに/または1つもしくは複数のトリガへの応答にて第1のIDCP418の更新を再度試みてもよい。
【0083】
他の実施形態において、第2のデータセンタ406は、第1のIDCP418が利用不可能であることを認識していてもよい。これらの実施形態のうちのいくつかにおいて、第2のデータセンタ406は、最初は第1のIDCP418の更新を試みなくてもよい。たとえば、第2のデータセンタ406は、第1のIDCP418が利用可能である旨の指標を待つか、または、設定間隔もしくはトリガの終了まで待って、第1のIDCP418の更新を試みてもよい。第2のデータセンタ406は、第1のIDCP418の更新に成功するまで、設定間隔および/またはトリガへの応答にて第1のIDCP418の更新を継続的に試みてもよい。
【0084】
第1のIDCP418が利用可能となったら、第2のデータセンタ406は、第2のデータセンタ406がホームリージョンであることを示すように、第1のIDCP418を更新するようにしてもよい。たとえば、第2のデータセンタ406は、第1のIDCP418にアクセスして、ホームリージョン割り当てが第1のデータセンタ404に割り当てられる旨の指標を、ホームリージョン割り当てが第2のデータセンタ406に割り当てられる旨の指標で置き換えるようにしてもよい。いくつかの実施形態において、第1のIDCP418は、ホームリージョンであるデータセンタを示す値を有するフィールドを格納していてもよく、ホームリージョン割り当ての再割り当てによって、第1のデータセンタ404に対応する値から第2のデータセンタ406に対応する値へとフィールドの値が更新されるようになっていてもよい。第1のIDCP418は、更新されると、第1のデータセンタ404がアクセスする場合のホームリージョンが第2のデータセンタ406であることを第1のデータセンタ404に示すことができる。
【0085】
ホームリージョン割り当ての第2のデータセンタ406への更新の前には、第1のデータセンタ404がホームリージョンとして割り当てられていたと考えられる。第1のデータセンタ404は、ホームリージョンとして割り当てられている間、顧客によるドメインの第1のコピー412への書き込み動作を実行可能であったと考えられる。第2のデータセンタ406がホームリージョンとして割り当てられていることを示すように第1のIDCP418が更新されると、第1のデータセンタ404は、第1のIDCP418へのアクセスに基づいて、もはやホームリージョンではないものと判定することができる。第1のデータセンタ404は、ホームリージョンとして割り当てられていない間、顧客によるドメインの第1のコピー412への書き込み動作の実行が阻止され得る。したがって、第1のデータセンタ404は、ホームリージョン割り当てが第2のデータセンタ406に割り当てられていることを示すように第1のIDCP418が更新されたことに応答して、顧客によるドメインの第1のコピー412への書き込み動作の実行が阻止され得る。
【0086】
さらに、第2のデータセンタ406は、第2のデータセンタ406がホームリージョンとして割り当てられていることを示すように、第3のIDCP422を更新するようにしてもよい。たとえば、第2のデータセンタ406は、ホームリージョン割り当てを第2のデータセンタ406に再割り当てするリクエストを第3のIDCP422に送信するようにしてもよい。いくつかの実施形態において、第2のデータセンタ406は、第3のデータセンタ408を介して、リクエストを第3のIDCP422に送信するようにしてもよい。第3のIDCP422に格納されているホームリージョン割り当てが第1のデータセンタ404に割り当てられている旨の指標は、ホームリージョン割り当てが第2のデータセンタ406に割り当てられていることを示すように更新され得る。いくつかの実施形態において、第3のIDCP422は、ホームリージョン割り当てが割り当てられているデータセンタを示すフィールドを格納していてもよく、上記更新によって、第1のデータセンタ404に対応する値から第2のデータセンタ406に対応する値へとフィールドの値が更新される。
【0087】
第2のデータセンタ406は、ホームリージョン割り当ての第2のデータセンタ406への再割り当てが完了した旨の指標を顧客デバイス402に与えるようにしてもよい。いくつかの実施形態において、第2のデータセンタ406は、第2のIDCP420の更新の完了に際して、この指標を顧客デバイス402に与えるようにしてもよい。他の実施形態において、第2のデータセンタ406は、利用可能なIDCP(図示の実施形態においては、第2のIDCP420および第3のIDCP422を含む)の更新がすべて完了したことに応答して、この指標を顧客デバイス402に与えるようにしてもよい。たとえば、第2のデータセンタ406は、ホームリージョン割り当ての再割り当てが完了した旨の第3のIDCP422からの指標の受信を待って、上記指標を顧客デバイス402に与えるようにしてもよい。指標の受信に応答して、顧客デバイス402は、ホームリージョン割り当ての再割り当てが完了した旨の指標を顧客に表示するようにしてもよい。他の実施形態においては、ホームリージョン割り当ての再割り当てが完了した旨の指標が省略されるようになっていてもよい。
【0088】
第2のデータセンタ406は、登録されているデータセンタにおいてドメインのコピーが一致するかをさらに判定するようにしてもよい。たとえば、ある場合には、ドメインの第1のコピー412、ドメインの第2のコピー414、および/またはドメインの第3のコピー416間に相違点が存在し得る。第2のデータセンタ406は、ドメインの第1のコピー412、ドメインの第2のコピー414、およびドメインの第3のコピー416間に相違点が存在するかを判定するようにしてもよい。ホームリージョン割り当ての再割り当てに際してデータセンタが利用不可能な場合、この利用不可能なデータセンタは、更新が欠落している可能性もあるし、対応するドメインのコピーに対して実行された書き込み動作が他のデータセンタのドメインのコピーにおいて複製されていない可能性もある。いくつかの実施形態において、ホームリージョンは、ホームリージョンのドメインのコピーが、ホームリージョン割り当ての再割り当てに際して利用不可能であったデータセンタのドメインのコピーに一致するかを判定するようにしてもよい。たとえば、図示の実施形態において、第2のデータセンタ406は、ドメインの第1のコピー412とドメインの第2のコピー416との間に相違点が存在するかを判定するようにしてもよい。
【0089】
ホームリージョンは、ホームリージョン割り当てのホームリージョンへの再割り当てに応答して、ホームリージョンに格納されているドメインのコピーを、利用可能な他のデータセンタに格納されているドメインのコピーと比較するようにしてもよい。たとえば、第2のデータセンタ406は、ホームリージョン割り当てが割り当てられたことに応答して、ドメインの第2のコピー414の状態をドメインの第3のコピー416の状態と比較するようにしてもよい。いくつかの実施形態において、第2のデータセンタ406は、ドメインの第2のコピー414のスナップショットおよびドメインの第3のコピー416のスナップショットを取得するようにしてもよい。第2のデータセンタ406は、ドメインの第2のコピー414のスナップショットおよびドメインの第3のコピー416のスナップショットを比較して、ドメインの第2のコピー414とドメインの第3のコピー416との間に相違点が存在するかを判定するようにしてもよい。
【0090】
ホームリージョン割り当ての再割り当てに際して1つまたは複数のデータセンタが利用不可能な場合、ホームリージョンは、データセンタが利用可能となった後、ホームリージョンに格納されているドメインのコピーを、利用不可能であったデータセンタに格納されているドメインのコピーと比較するようにしてもよい。たとえば、第2のデータセンタ406は、第1のデータセンタ404が利用可能となった後、ドメインの第2のコピー414の状態をドメインの第1のコピー416の状態と比較するようにしてもよい。いくつかの実施形態において、第2のデータセンタ406は、第1のデータセンタ404が利用可能となった後、ドメインの第2のコピー414のスナップショットおよびドメインの第1のコピー412のスナップショットを取得するようにしてもよい。第2のデータセンタ406は、ドメインの第2のコピー414のスナップショットをドメインの第1のコピー412のスナップショットと比較して、ドメインの第2のコピー414とドメインの第1のコピー416との間に相違点が存在するかを判定するようにしてもよい。
【0091】
ホームリージョン割り当ての再割り当ての実行に際してホームリージョンが利用不可能な場合は、ホームリージョンが利用不可能な間にホームリージョン割り当てが実行されていることに基づいて、ホームリージョンに格納されているドメインのコピーと他のデータセンタに格納されているドメインのコピーとの間に相違点が存在し得る。たとえば、ホームリージョンが設定間隔および/またはトリガへの応答にてドメインを他のデータセンタに複製するため、ホームリージョンが利用不可能となる前には、ドメインに対して実行された書き込み動作がその他のデータセンタに複製されていない場合もある。さらに、ホームリージョン割り当ての再割り当ての後、新たなホームリージョンのドメインに対して実行された書き込み動作が、元のホームリージョンが再び利用可能となる前に発生している場合もある。また、利用可能なデータセンタのIDCPが新たなホームリージョンを示すように更新された後であっても、元のホームリージョンは、元のホームリージョンに対応するIDCPがその他のデータセンタによって更新される前に、書き込み動作リクエストを受信する場合もある。元のホームリージョンに対応するIDCPは、その他のデータセンタによる更新の前には元のホームリージョンがホームリージョンであることを依然として示しているため、元のホームリージョンは、元のホームリージョンがホームリージョンであることを元のホームリージョンに対応するIDCPが依然として示していることに基づいて、ホームリージョン割り当てが依然として割り当てられているものと誤って判定し、元のホームリージョンに格納されているドメインのコピーに対して書き込み動作を誤って実行してしまう可能性がある。
【0092】
たとえば、場合により、第1のデータセンタ404は、1つまたは複数の書き込み動作リクエストを受信し、第1のデータセンタ404が利用不可能となる前に、ドメインの第1のコピー412に対して書き込み動作を実行することができる。ただし、第1のデータセンタ404は、書き込み動作をドメインの第2のコピー414およびドメインの第3のコピー416に複製する前に、利用不可能となる場合がある。したがって、これらの場合、ドメインの第1のコピー412は、ドメインの第2のコピー414およびドメインの第3のコピー416と異なる可能性がある。
【0093】
場合により、第2のデータセンタ404は、1つまたは複数の書き込み動作リクエストを受信し、第2のIDCP420が更新された後、第1のデータセンタ404が利用可能となる前に、ドメインの第2のコピー414に対して書き込み動作を実行することができる。第1のデータセンタ404が利用不可能であったため、第2のデータセンタ406は、書き込み動作をドメインの第1のコピー412に複製できなかったと考えられる。したがって、これらの場合、ドメインの第1のコピー412は、ドメインの第2のコピー414と異なる可能性がある。
【0094】
場合により、第2のデータセンタ406は、1つまたは複数の書き込み動作リクエストを受信し、第1のデータセンタ404が利用可能となった後、第2のデータセンタ406が第1のIDCP418を更新する前に、ドメインの第1のコピー412に対して書き込み動作を実行することができる。第2のIDCP420および第3のIDCP422が第1のデータセンタ404をホームリージョンとして示しておらず、第2のデータセンタ406および第3のデータセンタ408が第1のデータセンタ404によるドメインの第1のコピー412への如何なる書き込み動作の複製も阻止し得るため、ドメインの第2のコピー414およびドメインの第3のコピー416には、書き込み動作が実行され得ない。したがって、これらの場合、ドメインの第1のコピー412は、ドメインの第2のコピー414およびドメインの第3のコピー416と異なる可能性がある。
【0095】
ホームリージョンは、データセンタに格納されているドメインのコピー間に相違点が存在するものと判定した場合、ドメインおよび/またはドメインのコピー間の相違点の原因になった書き込み動作を統合するようにしてもよい。ホームリージョンは、ドメインおよび/または書き込み動作を統合する1つまたは複数の動作を実行するようにしてもよい。
【0096】
場合により、第2のデータセンタ406は、ドメインの第1のコピー412、ドメインの第2のコピー414、およびドメインの第3のコピー416間に相違点が存在するものと判定するようにしてもよい。いくつかの実施形態において、第2のデータセンタ406は、相違点が存在するものと判定したことに基づいて、相違点の指標を統合の一部として顧客デバイス402に表示させるようにしてもよい。さらに、顧客デバイス402は、利用されるドメインのコピーのうちの1つを選択する選択肢を顧客に提供するようにしてもよい。顧客による選択に基づいて、第2のデータセンタ406は、選択されたドメインのコピーをその他のデータセンタに複製させるようにしてもよい。たとえば、顧客は、利用されるドメインのコピーとして、ドメインの第2のコピー414を選択するようにしてもよい。第2のデータセンタ406は、ドメインの第1のコピー412およびドメインの第3のコピー416にドメインの第2のコピー414を複製させるようにしてもよい。
【0097】
場合により、第2のデータセンタ406は、ドメインの第1のコピー412とドメインの第2のコピー414との間に相違点が存在するものと判定するようにしてもよい。第2のデータセンタ406は、第1のデータセンタ404が利用不可能となる前に第1のデータセンタ404によってドメインの第1のコピー412に実行されたものの、ドメインの第2のコピー414には複製されていない1つまたは複数の書き込み動作が相違点の原因になったものと判定するようにしてもよい。第2のデータセンタ406は、第1のデータセンタ404によってドメインの第1のコピー412に実行されたものの、ドメインの第2のコピー414には複製されていない書き込み動作を決定するようにしてもよい。たとえば、第1のデータセンタ404は、ドメインの第1のコピー412に対して実行された書き込み動作の指標を格納していてもよく、第2のデータセンタ406は、ドメインの第2のコピー414に対して実行された書き込み動作の指標を格納していてもよい。第2のデータセンタ406は、これらの指標に基づいて、ドメイン第1のコピー412に対して実行されたものの、ドメインの第2のコピー414に対しては複製されていない書き込み動作を決定するようにしてもよい。
【0098】
いくつかの実施形態において、第2のデータセンタ406は、統合の一部として、識別された書き込み動作をドメインの第2のコピー414に対して実行するようにしてもよいし、識別された書き込み動作がドメインの第2のコピー414に対して実行されないようにしてもよい。他の実施形態において、第2のデータセンタ406は、統合の一部として、識別された書き込み動作を顧客デバイス402に示させるようにしてもよい。顧客デバイス402は、識別された書き込み動作のすべてがドメインの第2のコピー414に対して実行されること、識別された書き込み動作がドメインの第2のコピー414に対して実行されないこと、または識別された書き込み動作の一部がドメインの第2のコピー414に対して実行されることを顧客が選択できるようにしてもよい。顧客デバイス402は、顧客の選択を第2のデータセンタ406に示すようにしてもよく、第2のデータセンタ406は、顧客の選択に従って、書き込み動作をドメインの第2のコピー414に対して実行するようにしてもよいし、実行しなくてもよい。
【0099】
図5は、少なくとも1つの実施形態に係る、ホームリージョン割り当てを再割り当てするための例示的な手順500の第1の部分を示している。図6は、少なくとも1つの実施形態に係る、例示的な手順500の第2の部分を示している。手順500の実行によって、ホームリージョン割り当てをあるデータセンタから別のデータセンタに再割り当て可能である。この手順は、第1のデータセンタ204(図2)、第2のデータセンタ206(図2)、第3のデータセンタ208(図2)、第1のデータセンタ304(図3)、第2のデータセンタ306(図3)、第3のデータセンタ308(図3)、第1のデータセンタ404(図4)、第2のデータセンタ406(図4)、および/または第3のデータセンタ408(図4)等のデータセンタにより実行されるようになっていてもよい。
【0100】
502において、データセンタは、アカウントに対応するホームリージョン割り当てに切り替えるリクエストを受信するようにしてもよい。データセンタは、第1の地理的領域に配置されているCSPの第1のデータセンタであってもよい。第1のデータセンタは、リクエストを受信するようにしてもよく、リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストである。ホームリージョン割り当てに対応するデータセンタは、ドメインの第1のコピー212(図2)、ドメインの第2のコピー214(図2)、ドメインの第3のコピー216(図2)、ドメインの第1のコピー312(図3)、ドメインの第2のコピー314(図3)、ドメインの第3のコピー316(図3)、ドメインの第1のコピー412(図4)、ドメインの第2のコピー414(図4)、および/またはドメインの第3のコピー416(図4)等、ドメインへの書き込み動作を実行可能である。
【0101】
いくつかの実施形態において、第1のデータセンタは、顧客デバイス202(図2)、顧客デバイス302(図3)、および/または顧客デバイス402(図4)等の顧客デバイスからリクエストを受信するようにしてもよい。顧客デバイスは、第1のデータセンタから指定データセンタにホームリージョン割り当てを再割り当てするリクエストの顧客入力に基づいて、リクエストを生成するようにしてもよい。
【0102】
いくつかの実施形態においては、指定データセンタが第1のデータセンタを含んでいてもよい。第1のデータセンタは、第1のID制御プレーン(第1のIDCP218(図2)、第2のIDCP220(図2)、第3のIDCP222(図2)、第1のIDCP318(図3)、第2のIDCP320(図3)、第3のIDCP322(図3)、第1のIDCP418(図4)、第2のIDCP420(図4)、および/または第3のIDCP422(図4)等)の更新前のドメインへの書き込み動作の実行が阻止されるようになっていてもよく、また、少なくとも第1のID制御プレーンの更新に応答して、ドメインへの書き込み動作を実行可能であってもよい。
【0103】
いくつかの実施形態において、リクエストは、ホームリージョン割り当てが第2のデータセンタから第1のデータセンタに切り替えられることを示していてもよい。第2のデータセンタは、リクエストの受信時には利用不可能であってもよい。
【0104】
いくつかの実施形態において、リクエストは、ホームリージョン割り当てが第1のデータセンタから第2のデータセンタに切り替えられることを示していてもよい。第1のデータセンタは、第1の時間に第1のID制御プレーンを更新し、第1の時間の後の第2の時間に第2のID制御プレーンを更新するようにしてもよい。第1のデータセンタは、第1の時間と第2の時間との間の第1のデータセンタを介するドメインへの書き込み動作を阻止するようにしてもよい。たとえば、第1のデータセンタは、ホームリージョン割り当てが第2のデータセンタに割り当てられていることを示すように第1のID制御プレーンが第1の時間に更新されたことに基づいて、書き込み動作を阻止するようにしてもよい。
【0105】
いくつかの実施形態において、ホームリージョン割り当てを切り替えるリクエストは、第3の地理的領域に配置されているクラウドサービスプロバイダの第3のデータセンタが利用不可能となったことを示すユーザインターフェースからのホームリージョン割り当てを切り替える選択に基づいて受信されるようになっていてもよい。第3のデータセンタには、リクエストの受信の前、ホームリージョン割り当てが割り当てられていたと考えられる。たとえば、顧客デバイスは、ホームリージョン割り当てを切り替える選択肢を提供するユーザインターフェースを表示するようにしてもよい。顧客デバイスは、第3のデータセンタが利用不可能となったことに応答して、ユーザインターフェースを表示するようにしてもよい。ユーザインターフェースは、第3のデータセンタが利用不可能となったことを示していてもよい。
【0106】
504において、第1のデータセンタは、第1のIDCPを更新するようにしてもよい。たとえば、第1のデータセンタは、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第1のデータセンタの第1のIDCPを更新するようにしてもよい。指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能であってもよい。
【0107】
506において、第1のデータセンタは、第2のIDCPを更新するようにしてもよい。たとえば、第2のデータセンタは、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているCSPの第2のデータセンタ(第1のデータセンタ204、第2のデータセンタ206、第3のデータセンタ208、第1のデータセンタ304、第2のデータセンタ306、第3のデータセンタ308、第1のデータセンタ404、第2のデータセンタ406、および/または第3のデータセンタ408等)の第2のIDCP(第1のIDCP218、第2のIDCP220、第3のIDCP222、第1のIDCP318、第2のIDCP320、第3のIDCP322、第1のIDCP418、第2のIDCP420、および/または第3のIDCP422等)を更新するようにしてもよい。いくつかの実施形態において、第2のIDCPの更新は、少なくとも第2のデータセンタが利用可能となったことに応答して、実行されるようになっていてもよい。
【0108】
508において、第1のデータセンタは、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させるようにしてもよい。たとえば、第1のデータセンタは、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を顧客デバイスに提示させるようにしてもよい。第1のデータセンタは、第1のIDCPおよび第2のIDCPの更新の完了に基づいて、顧客デバイスに指標を提示させるようにしてもよい。
【0109】
510において、第1のデータセンタは、第1のデータセンタに格納されているドメインの状態および第2のデータセンタに格納されているドメインの状態を比較するようにしてもよい。たとえば、第1のデータセンタは、少なくとも第2のデータセンタが利用可能となったことに応答して、第1のデータセンタに格納されているドメインの状態および第2のデータセンタに格納されているドメインの状態を比較するようにしてもよい。いくつかの実施形態において、第1のデータセンタは、第1のデータセンタに格納されているドメインのスナップショットを第2のデータセンタに格納されているドメインのスナップショットと比較するようにしてもよい。いくつかの実施形態においては、510が省略されていてもよい。
【0110】
512において、第1のデータセンタは、1つまたは複数の相違点を決定するようにしてもよい。たとえば、第1のデータセンタは、第1のデータセンタに格納されているドメインの状態と第2のデータセンタに格納されているドメインの状態との間の1つまたは複数の相違点を決定するようにしてもよい。いくつかの実施形態において、第1のデータセンタは、第1のデータセンタに格納されているドメインの状態および第2のデータセンタに格納されているドメインの状態の比較に少なくとも部分的に基づいて、1つまたは複数の相違点を決定するようにしてもよい。いくつかの実施形態においては、512が省略されていてもよい。
【0111】
514において、第1のデータセンタは、1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったかを判定するようにしてもよい。たとえば、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったかを判定するようにしてもよい。第1のデータセンタは、第1のデータセンタに格納されているドメインに対して実行された書き込み動作および第2のデータセンタに格納されているドメインに対して実行された書き込み動作の比較に基づいて、1つまたは複数の書き込み動作を決定するようにしてもよい。第2のデータセンタは、設定間隔および/またはトリガへの応答にてドメインを他のデータセンタに複製するようにしてもよく、その結果、ドメインの第1のデータセンタへの最終複製と第2のデータセンタが利用不可能となった時との間に時間が生じ得る。この時間内に、1つまたは複数の書き込み動作が第2のデータセンタによって実行され得る。
【0112】
いくつかの実施形態において、第1のデータセンタは、書き込み動作が1つまたは複数の相違点の原因になったものと判定するようにしてもよい。さらに、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定するようにしてもよい。いくつかの実施形態においては、514が省略されていてもよい。
【0113】
516において、第1のデータセンタは、1つまたは複数の相違点の指標を表示させるようにしてもよい。たとえば、第1のデータセンタは、512において決定された1つまたは複数の相違点の指標を表示させるようにしてもよい。第1のデータセンタは、指標が顧客デバイスに表示されるようにしてもよい。いくつかの実施形態において、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定した場合に、指標を表示させるようにしてもよい。いくつかの実施形態においては、516が省略されていてもよい。
【0114】
518において、第1のデータセンタは、ドメインに対して書き込み動作を実行する選択肢を提示するようにしてもよい。たとえば、第1のデータセンタは、第1のデータセンタに格納されているドメインに対して書き込み動作を実行する選択肢を提示するようにしてもよい。第1のデータセンタは、書き込み動作が1つまたは複数の相違点の原因になったものと判定した場合に、選択肢を提示するようにしてもよい。いくつかの実施形態において、第1のデータセンタは、ドメインに対して書き込み動作が実行されるかの指標を顧客デバイスが第1のデータセンタに提供し得る場合に、選択肢を顧客デバイスに提示するようにしてもよい。顧客デバイスは、顧客デバイスを利用する顧客からの入力に基づいて、指標を提供するようにしてもよい。いくつかの実施形態においては、518が省略されていてもよい。
【0115】
手順500は、518から520へと進行し得る。図5の520は、手順500が図5の520から図6の520へと進行することを示し得る。したがって、手順500は、図5の518から図6の602へと進行し得る。
【0116】
602において、第1のデータセンタは、1つまたは複数の書き込み動作がドメインに適用されないようにしてもよい。たとえば、第1のデータセンタは、第1のデータセンタに格納されているドメインに対して、1つまたは複数の書き込み動作が適用されないようにしてもよい。第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定した場合に、1つまたは複数の書き込み動作がドメインに適用されないようにしてもよい。いくつかの実施形態においては、602が省略されていてもよい。
【0117】
604において、第1のデータセンタは、1つまたは複数の書き込み動作の少なくとも一部をドメインに適用するようにしてもよい。たとえば、第1のデータセンタは、第1のデータセンタに格納されているドメインに対して、1つまたは複数の書き込み動作の少なくとも一部を適用するようにしてもよい。いくつかの実施形態において、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定した場合に、1つまたは複数の書き込み動作の少なくとも一部を適用するようにしてもよい。いくつかの実施形態においては、604が省略されていてもよい。
【0118】
606において、第1のデータセンタは、第1のデータセンタに格納されているドメインに一致するように、第2のデータセンタに格納されているドメインを更新するようにしてもよい。たとえば、第1のデータセンタは、少なくとも第2のデータセンタが利用可能となったことに応答して、第1のデータセンタに格納されているドメインに一致するように、第2のデータセンタに格納されているドメインを更新するようにしてもよい。いくつかの実施形態においては、606が省略されていてもよい。
【0119】
図6は、ほぼ間違いなく、手順500の動作の順序を示唆し得る。ただし、他の実施形態においては、手順500の動作の順序が異なっていてもよいこと、ならびに/または、手順500の動作のうちの1つもしくは複数が同時に実行されるようになっていてもよいことが了解されるものとする。さらに、他の実施形態においては、手順500に対して、動作のうちの1つもしくは複数が省略されていてもよいこと、ならびに/または、1つもしくは複数の付加的な動作が含まれていてもよいことが了解されるものとする。
【0120】
例示的なサービス型インフラアーキテクチャ
上述の通り、サービス型インフラ(IaaS)は、ある特定の種類のクラウドコンピューティングである。IaaSは、パブリックネットワーク(たとえば、インターネット)を介して仮想化コンピューティングリソースを提供するように構成可能である。IaaSモデルにおいては、クラウドコンピューティングプロバイダがインフラコンポーネント(たとえば、サーバ、記憶装置、ネットワークノード(たとえば、ハードウェア)、デプロイメントソフトウェア、プラットフォーム仮想化(たとえば、ハイパーバイザレイヤ)等)をホスト可能である。また、場合により、IaaSプロバイダは、これらのインフラコンポーネントに付随する多様なサービス(たとえば、課金、モニタリング、ロギング、負荷分散、およびクラスタリング等)を供給するようにしてもよい。したがって、これらのサービスがポリシー駆動であり得ることから、IaaSユーザは、負荷分散を推進するポリシーの実装によって、アプリケーションの可用性および性能を維持可能となり得る。
【0121】
場合により、IaaSの顧客は、インターネット等のワイドエリアネットワーク(WAN)を通じてリソースおよびサービスにアクセスし、クラウドプロバイダのサービスを使用して、アプリケーションスタックのその他の要素をインストールすることができる。たとえば、ユーザは、IaaSプラットフォームにログインして、仮想マシン(VM)の生成、オペレーティングシステム(OS)の各VMへのインストール、データベース等のミドルウェアのデプロイ、ワークロードおよびバックアップ用のストレージバケットの生成、さらには企業向けソフトウェアのVMへのインストールを行うことができる。そして、顧客は、プロバイダのサービスを使用して、ネットワークトラフィックの分散、アプリケーションの問題のトラブルシューティング、性能のモニタリング、障害回復の管理等、さまざまな機能を実行することができる。
【0122】
ほとんどの場合、クラウドコンピューティングモデルには、クラウドプロバイダの参加が必要となる。クラウドプロバイダは、(たとえば、募集、賃貸、販売)IaaSの提供に特化したサードパーティサービスであってもよいが、そうである必要はない。また、エンティティは、プライベートクラウドをデプロイして、それ自体のインフラサービスプロバイダになることも考えられる。
【0123】
いくつかの例において、IaaSデプロイメントは、準備されたアプリケーションサーバ等に新たなアプリケーションまたはアプリケーションの新たなバージョンを置くプロセスである。また、サーバを準備する(たとえば、ライブラリ、デーモン等をインストールする)プロセスも含み得る。これは、クラウドプロバイダによって、ハイパーバイザレイヤ(たとえば、サーバ、ストレージ、ネットワークハードウェア、および仮想化)の下で管理されることが多い。このため、顧客は、(たとえば、(オンデマンドでスピンアップ可能な)セルフサービスの仮想マシン上での)ハンドリング(OS)、ミドルウェア、および/またはアプリケーションのデプロイメント等を担い得る。
【0124】
いくつかの例において、IaaSプロビジョニングは、使用するコンピュータまたは仮想ホストを取得することを表し、これらに必要なライブラリまたはサービスをインストールすることさえ表し得る。ほとんどの場合、デプロイメントにはプロビジョニングを含まず、プロビジョニングは最初に実行することが必要となり得る。
【0125】
場合により、IaaSプロビジョニングには2つの異なる課題が存在する。第一に、最初の課題として、何かが動作する前のインフラの初期セットのプロビジョニングがある。第二に、すべてのプロビジョニングの後、既存のインフラを発展させる課題(たとえば、新たなサービスの追加、サービスの変更、サービスの削除等)がある。場合により、これら2つの課題は、インフラの設定の宣言による定義を可能にすることによって対処され得る。言い換えると、インフラ(たとえば、必要なコンポーネントおよびコンポーネントの相互作用の様態)は、1つまたは複数の設定ファイルにより規定され得る。このため、インフラの全体的なトポロジ(たとえば、リソースの依存関係および各リソースが一体的に作用する様態)は、宣言により記述され得る。場合により、トポロジが規定されると、設定ファイルに記述されているさまざまなコンポーネントを形成および/または管理するワークフローが生成され得る。
【0126】
いくつかの例において、インフラは、相互接続された多くの要素を有し得る。たとえば、コアネットワークとしても知られる1つまたは複数の仮想プライベートクラウド(VPC)(たとえば、設定可能および/または共有コンピューティングリソースの潜在的オンデマンドプール)が存在し得る。また、いくつかの例においては、1つまたは複数のインバウンド/アウトバウンドトラフィックグループルールが存在して、ネットワークのインバウンドおよび/もしくはアウトバウンドトラフィックが設定される様態ならびに1つもしくは複数の仮想マシン(VM)を規定するようなプロビジョニングがなされ得る。また、負荷分散器、データベース等の他のインフラ要素のプロビジョニングもなされ得る。より多くのインフラ要素の要望および/または追加がある場合は、インフラが少しずつ発展し得る。
【0127】
場合によっては、連続デプロイメント技術の採用によって、さまざまな仮想コンピューティング環境に及ぶインフラコードのデプロイメントを可能にし得る。また、記載の技術は、これらの環境内でのインフラ管理を可能にし得る。いくつかの例において、サービスチームは、(たとえば、地理的に異なるさまざまな場所、場合により全世界に及ぶ)1つまたは複数の(ただし、多数であることが多い)異なる生成環境へのデプロイメントが望ましいコードを記述することができる。ただし、いくつかの例において、コードがデプロイされるインフラは、最初に設定する必要がある。場合によっては、プロビジョニングの手動による実行、リソースのプロビジョニングへのプロビジョニングツールの利用、および/またはインフラのプロビジョニング後のコードのデプロイメントへのデプロイメントツールの利用も可能である。
【0128】
図7は、少なくとも1つの実施形態に係る、IaaSアーキテクチャの例示的なパターンを示すブロック図700である。サービスオペレータ702は、仮想クラウドネットワーク(VCN)706およびセキュアホストサブネット708を含み得るセキュアホストテナンシ704に通信結合され得る。いくつかの例において、サービスオペレータ702は、1つまたは複数のクライアントコンピューティングデバイスを使用していてもよく、これらは、Microsoft Windows Mobile(登録商標)等のソフトウェアおよび/またはiOS、Windows Phone、Android、BlackBerry 8、Palm OS等の多様なモバイルオペレーティングシステムを実行するとともに、インターネット、電子メール、ショートメッセージサービス(SMS)、BlackBerry(登録商標)、または他の通信プロトコルを使用可能な携帯型手持ち式デバイス(たとえば、iPhone(登録商標)、携帯電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(PDA))またはウェアラブルデバイス(たとえば、Google Glass(登録商標)ヘッドマウントディスプレイ等)であってもよい。あるいは、クライアントコンピューティングデバイスとしては、汎用パソコンが可能であり、一例として、Microsoft Windows(登録商標)、Apple Macintosh(登録商標)、および/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパソコンおよび/またはラップトップコンピュータが挙げられる。クライアントコンピューティングデバイスとしては、多様な市販のUNIX(登録商標)またはUNIX類似オペレーティングシステムのいずれかを実行するワークステーションコンピュータが可能であり、たとえばGoogle Chrome OS等の多様なGNU/Linuxオペレーティングシステムが挙げられるが、これらに限定されない。この代替または追加として、クライアントコンピューティングデバイスは、VCN 706および/またはインターネットにアクセスし得るネットワークを介して通信可能なシンクライアントコンピュータ、インターネット対応ゲームシステム(たとえば、Kinect(登録商標)ジェスチャ入力装置の有無を問わないMicrosoft Xboxゲームコンソール)、および/またはパーソナルメッセージングデバイス等、その他任意の電子デバイスであってもよい。
【0129】
VCN706は、セキュアシェル(SSH)VCN712に含まれるローカルピアリングゲートウェイ(LPG)710を介してSSH VCN712に通信結合され得るLPG710を具備することができる。SSH VCN712は、SSHサブネット714を具備することができ、また、SSH VCN712は、制御プレーンVCN716に含まれるLPG710を介して制御プレーンVCN716に通信結合され得る。また、SSH VCN712は、LPG710を介してデータプレーンVCN718に通信結合され得る。制御プレーンVCN716およびデータプレーンVCN718は、IaaSプロバイダにより所有および/または運用され得るサービステナンシ719に含まれ得る。
【0130】
制御プレーンVCN716は、境界ネットワーク(たとえば、企業イントラネットと外部ネットワークとの間の企業ネットワークの一部)として機能する制御プレーン緩衝領域(DMZ)層720を具備することができる。DMZベースのサーバは、責任が限定され、侵害を抑制するのに役立ち得る。また、DMZ層720は、1つまたは複数の負荷分散器(LB)サブネット722、アプリサブネット726を含み得る制御プレーンアプリ層724、データベース(DB)サブネット730(たとえば、フロントエンドDBサブネットおよび/またはバックエンドDBサブネット)を含み得る制御プレーンデータ層728を具備することができる。制御プレーンDMZ層720に含まれるLBサブネット722は、制御プレーンアプリ層724に含まれるアプリサブネット726および制御プレーンVCN716に含まれ得るインターネットゲートウェイ734に通信結合され、アプリサブネット726は、制御プレーンデータ層728に含まれるDBサブネット730、サービスゲートウェイ736、およびネットワークアドレス変換(NAT)ゲートウェイ738に通信結合され得る。制御プレーンVCN716は、サービスゲートウェイ736およびNATゲートウェイ738を具備することができる。
【0131】
制御プレーンVCN716は、アプリサブネット726を含み得るデータプレーンミラーアプリ層740を具備することができる。データプレーンミラーアプリ層740に含まれるアプリサブネット726は、コンピュートインスタンス744を実行し得る仮想ネットワークインターフェースコントローラ(VNIC)742を具備することができる。コンピュートインスタンス744は、データプレーンミラーアプリ層740のアプリサブネット726を、データプレーンアプリ層746に含まれ得るアプリサブネット726に通信結合し得る。
【0132】
データプレーンVCN718は、データプレーンアプリ層746、データプレーンDMZ層748、およびデータプレーンデータ層750を具備することができる。データプレーンDMZ層748は、データプレーンアプリ層746のアプリサブネット726およびデータプレーンVCN718のインターネットゲートウェイ734に通信結合され得るLBサブネット722を具備することができる。アプリサブネット726は、データプレーンVCN718のサービスゲートウェイ736およびデータプレーンVCN718のNATゲートウェイ738に通信結合され得る。また、データプレーンデータ層750は、データプレーンアプリ層746のアプリサブネット726に通信結合され得るDBサブネット730を具備することができる。
【0133】
制御プレーンVCN716およびデータプレーンVCN718のインターネットゲートウェイ734は、パブリックインターネット754に通信結合され得るメタデータ管理サービス752に通信結合され得る。パブリックインターネット754は、制御プレーンVCN716およびデータプレーンVCN718のNATゲートウェイ738に通信結合され得る。制御プレーンVCN716およびデータプレーンVCN718のサービスゲートウェイ736は、クラウドサービス756に通信結合され得る。
【0134】
いくつかの例において、制御プレーンVCN716およびデータプレーンVCN718のサービスゲートウェイ736は、パブリックインターネット754を介さずにクラウドサービス756へのアプリケーションプログラミングインターフェース(API)呼び出しを行うことができる。サービスゲートウェイ736からクラウドサービス756へのAPI呼び出しとしては、単方向が可能である。サービスゲートウェイ736は、クラウドサービス756へのAPI呼び出しを行うことができ、クラウドサービス756は、要求されたデータをサービスゲートウェイ736に送ることができる。ただし、クラウドサービス756は、サービスゲートウェイ736へのAPI呼び出しを開始しなくてもよい。
【0135】
いくつかの例において、セキュアホストテナンシ704は、サービステナンシ719に直接接続され、さもなければ隔離され得る。セキュアホストサブネット708は、目的以外では隔離されるシステムを介する双方向通信を可能にし得るLPG710を通じてSSHサブネット714と通信することができる。セキュアホストサブネット708をSSHサブネット714に接続することによって、セキュアホストサブネット708は、サービステナンシ719内の他のエンティティにアクセス可能となる。
【0136】
制御プレーンVCN716は、サービステナンシ719のユーザによる所望のリソースの設定あるいはプロビジョニングを可能にし得る。制御プレーンVCN716においてプロビジョニングがなされた所望のリソースは、データプレーンVCN718においてデプロイあるいは使用されるようになっていてもよい。いくつかの例において、制御プレーンVCN716は、データプレーンVCN718から隔離可能であり、制御プレーンVCN716のデータプレーンミラーアプリ層740は、データプレーンミラーアプリ層740およびデータプレーンアプリ層746に含まれ得るVNIC742を介して、データプレーンVCN718のデータプレーンアプリ層746と通信可能である。
【0137】
いくつかの例において、システムのユーザすなわち顧客は、パブリックインターネット754を通じて要求を行う(たとえば、動作の生成、読み出し、更新、または消去(CRUD)を行う)ことができ、パブリックインターネット754は、リクエストをメタデータ管理サービス752に伝えることができる。メタデータ管理サービス752は、インターネットゲートウェイ734を通じて、リクエストを制御プレーンVCN716に伝えることができる。リクエストは、制御プレーンDMZ層720に含まれるLBサブネット722により受信され得る。LBサブネット722は、リクエストが有効であるものと判定するようにしてもよく、この判定に応答して、LBサブネット722は、制御プレーンアプリ層724に含まれるアプリサブネット726にリクエストを送信することができる。リクエストが検証され、パブリックインターネット754への呼び出しが必要になった場合、パブリックインターネット754への呼び出しは、パブリックインターネット754への呼び出しを行い得るNATゲートウェイ738に送信されるようになっていてもよい。リクエストによる格納が望ましいと考えられるメタデータは、DBサブネット730に格納され得る。
【0138】
いくつかの例において、データプレーンミラーアプリ層740は、制御プレーンVCN716とデータプレーンVCN718との間の直接通信を容易化し得る。たとえば、設定の変更、更新、または他の好適な修正は、データプレーンVCN718に含まれるリソースに適用されるのが望ましいと考えられる。制御プレーンVCN716は、VNIC742を介して、データプレーンVCN718に含まれるリソースと直接通信することにより、リソースの設定の変更、更新、または他の好適な修正を実行することができる。
【0139】
いくつかの実施形態において、制御プレーンVCN716およびデータプレーンVCN718は、サービステナンシ719に含まれ得る。この場合、システムのユーザすなわち顧客は、制御プレーンVCN716またはデータプレーンVCN718のいずれかを所有していなくてもよいし、いずれかを動作させないようにしてもよい。代わりに、IaaSプロバイダは、制御プレーンVCN716およびデータプレーンVCN718の両者を所有していてもよいし、両者を動作させるようにしてもよく、両者がサービステナンシ719に含まれていてもよい。本実施形態は、ユーザすなわち顧客の他のユーザすなわち他の顧客のリソースとの相互作用を阻止し得るネットワークの隔離を可能にし得る。また、本実施形態は、格納に対して所望のレベルの脅威阻止を有し得ないパブリックインターネット754に依拠する必要なく、システムのユーザすなわち顧客によるデータベースのプライベートな格納を可能にし得る。
【0140】
他の実施形態において、制御プレーンVCN716に含まれるLBサブネット722は、サービスゲートウェイ736から信号を受信するように構成され得る。本実施形態において、制御プレーンVCN716およびデータプレーンVCN718は、パブリックインターネット754を呼び出すことなく、IaaSプロバイダの顧客によって呼び出されるように構成されていてもよい。IaaSプロバイダの顧客は、顧客が使用するデータベースがIaaSプロバイダにより制御され、パブリックインターネット754から隔離され得るサービステナンシ719に格納され得ることから、本実施形態を望むと考えられる。
【0141】
図8は、少なくとも1つの実施形態に係る、IaaSアーキテクチャの別の例示的なパターンを示すブロック図800である。サービスオペレータ802(たとえば、図7のサービスオペレータ702)は、仮想クラウドネットワーク(VCN)806(たとえば、図7のVCN706)およびセキュアホストサブネット808(たとえば、図7のセキュアホストサブネット708)を含み得るセキュアホストテナンシ804(たとえば、図7のセキュアホストテナンシ704)に通信結合され得る。VCN806は、ローカルピアリングゲートウェイ(LPG)810(たとえば、図7のLPG710)を具備することができ、LPG810は、セキュアシェル(SSH)VCN812(たとえば、図7のSSH VCN712)に含まれるLPG710を介してSSH VCN812に通信結合され得る。SSH VCN812は、SSHサブネット814(たとえば、図7のSSHサブネット714)を具備することができ、また、SSH VCN812は、制御プレーンVCN816(たとえば、図7の制御プレーンVCN716)に含まれるLPG810を介して制御プレーンVCN816に通信結合され得る。制御プレーンVCN816は、サービステナンシ819(たとえば、図7のサービステナンシ719)に含まれ、データプレーンVCN818(たとえば、図7のデータプレーンVCN718)は、システムのユーザすなわち顧客により所有または運用され得る顧客テナンシ821に含まれ得る。
【0142】
制御プレーンVCN816は、LBサブネット822(たとえば、図7のLBサブネット722)を含み得る制御プレーンDMZ層820(たとえば、図7の制御プレーンDMZ層720)と、アプリサブネット826(たとえば、図7のアプリサブネット726)を含み得る制御プレーンアプリ層824(たとえば、図7の制御プレーンアプリ層724)と、(たとえば、図7のデータベース(DB)サブネット730に類似する)DBサブネット830を含み得る制御プレーンデータ層828(たとえば、図7の制御プレーンデータ層728)と、を具備することができる。制御プレーンDMZ層820に含まれるLBサブネット822は、制御プレーンアプリ層824に含まれるアプリサブネット826および制御プレーンVCN816に含まれ得るインターネットゲートウェイ834(たとえば、図7のインターネットゲートウェイ734)に通信結合され、アプリサブネット826は、制御プレーンデータ層828に含まれるDBサブネット830、サービスゲートウェイ836(たとえば、図7のサービスゲートウェイ736)、およびネットワークアドレス変換(NAT)ゲートウェイ838(たとえば、図7のNATゲートウェイ738)に通信結合され得る。制御プレーンVCN816は、サービスゲートウェイ836およびNATゲートウェイ838を具備することができる。
【0143】
制御プレーンVCN816は、アプリサブネット826を含み得るデータプレーンミラーアプリ層840(たとえば、図7のデータプレーンミラーアプリ層740)を具備することができる。データプレーンミラーアプリ層840に含まれるアプリサブネット826は、(たとえば、図7のコンピュートインスタンス744に類似する)コンピュートインスタンス844を実行し得る仮想ネットワークインターフェースコントローラ(VNIC)842(たとえば、図7のVNIC742)を具備することができる。コンピュートインスタンス844は、データプレーンミラーアプリ層840に含まれるVNIC842およびデータプレーンアプリ層846(たとえば、図7のデータプレーンアプリ層746)に含まれるVNIC842を介するデータプレーンミラーアプリ層840のアプリサブネット826とデータプレーンアプリ層846に含まれ得るアプリサブネット826との間の通信を容易化し得る。
【0144】
制御プレーンVCN816に含まれるインターネットゲートウェイ834は、パブリックインターネット854(たとえば、図7のパブリックインターネット754)に通信結合され得るメタデータ管理サービス852(たとえば、図7のメタデータ管理サービス752)に通信結合され得る。パブリックインターネット854は、制御プレーンVCN816に含まれるNATゲートウェイ838に通信結合され得る。制御プレーンVCN816に含まれるサービスゲートウェイ836は、クラウドサービス856(たとえば、図7のクラウドサービス756)に通信結合され得る。
【0145】
いくつかの例において、データプレーンVCN818は、顧客テナンシ821に含まれ得る。この場合、IaaSプロバイダは、顧客ごとに制御プレーンVCN816を提供するようにしてもよく、また、IaaSプロバイダは、顧客ごとに、サービステナンシ819に含まれる一意のコンピュートインスタンス844を設定するようにしてもよい。各コンピュートインスタンス844は、サービステナンシ819に含まれる制御プレーンVCN816と顧客テナンシ821に含まれるデータプレーンVCN818との間の通信を可能にし得る。コンピュートインスタンス844によれば、顧客テナンシ821に含まれるデータプレーンVCN818において、サービステナンシ819に含まれる制御プレーンVCN816においてプロビジョニングがなされているリソースのデプロイメントあるいは使用が可能となり得る。
【0146】
他の例において、IaaSプロバイダの顧客は、顧客テナンシ821に存在するデータベースを有していてもよい。本例において、制御プレーンVCN816は、アプリサブネット826を含み得るデータプレーンミラーアプリ層840を具備することができる。データプレーンミラーアプリ層840は、データプレーンVCN818に存在し得るが、データプレーンVCN818に存在していなくてもよい。すなわち、データプレーンミラーアプリ層840は、顧客テナンシ821にアクセス可能であってもよいが、データプレーンVCN818に存在していなくてもよいし、IaaSプロバイダの顧客による所有または運用がなされていなくてもよい。データプレーンミラーアプリ層840は、データプレーンVCN818への呼び出しを行うように構成されていてもよいが、制御プレーンVCN816に含まれる如何なるエンティティへの呼び出しも行わないように構成されていてもよい。顧客は、制御プレーンVCN816においてプロビジョニングがなされているデータプレーンVCN816中のリソースのデプロイメントあるいは使用を望むと考えられ、データプレーンミラーアプリ層840は、顧客が望むリソースのデプロイメントまたは他の使用を容易化し得る。
【0147】
いくつかの実施形態において、IaaSプロバイダの顧客は、フィルタをデータプレーンVCN818に適用することができる。本実施形態において、顧客は、データプレーンVCN818がアクセスし得る対象を決定することができ、また、顧客は、データプレーンVCN818からパブリックインターネット854へのアクセスを制限するようにしてもよい。IaaSプロバイダは、フィルタを適用できなくてもよいし、任意の外部ネットワークまたはデータベースへのデータプレーンVCN818のアクセスを制御できなくてもよい。顧客テナンシ821に含まれるデータプレーンVCN818に対する顧客によるフィルタおよび制御の適用は、他の顧客およびパブリックインターネット854からのデータプレーンVCN818の隔離に役立ち得る。
【0148】
いくつかの実施形態において、クラウドサービス856は、サービスゲートウェイ836による呼び出しによって、パブリックインターネット854、制御プレーンVCN816、またはデータプレーンVCN818のいずれにも存在し得ないサービスにアクセス可能となる。クラウドサービス856と制御プレーンVCN816またはデータプレーンVCN818との間の接続は、ライブでなくてもよいし、連続でなくてもよい。クラウドサービス856は、IaaSプロバイダが所有または運用する異なるネットワーク上に存在していてもよい。クラウドサービス856は、サービスゲートウェイ836からの呼び出しを受信するように構成されていてもよく、また、パブリックインターネット854からの呼び出しを受信しないように構成されていてもよい。一部のクラウドサービス856は、他のクラウドサービス856から隔離されていてもよく、制御プレーンVCN816は、制御プレーンVCN816と同じ領域にあり得ないクラウドサービス856から隔離されていてもよい。たとえば、制御プレーンVCN816は、「領域1」に配置されていてもよく、クラウドサービス「デプロイメント7」は、領域1および「領域2」に配置されていてもよい。デプロイメント7への呼び出しが領域1に配置されている制御プレーンVCN816に含まれるサービスゲートウェイ836により行われた場合、呼び出しは、領域1のデプロイメント7に送信されるようになっていてもよい。本例において、制御プレーンVCN816または領域1のデプロイメント7は、領域2のデプロイメント7に通信結合されていなくてもよいし、領域2のデプロイメント7と連通していなくてもよい。
【0149】
図9は、少なくとも1つの実施形態に係る、IaaSアーキテクチャの別の例示的なパターンを示すブロック図900である。サービスオペレータ902(たとえば、図7のサービスオペレータ702)は、仮想クラウドネットワーク(VCN)906(たとえば、図7のVCN706)およびセキュアホストサブネット908(たとえば、図7のセキュアホストサブネット708)を含み得るセキュアホストテナンシ904(たとえば、図7のセキュアホストテナンシ704)に通信結合され得る。VCN906は、SSH VCN912(たとえば、図7のSSH VCN712)に含まれるLPG910(たとえば、図7のLPG710)を介してSSH VCN912に通信結合され得るLPG910を具備することができる。SSH VCN912は、SSHサブネット914(たとえば、図7のSSHサブネット714)を具備することができ、また、SSH VCN912は、制御プレーンVCN916(たとえば、図7の制御プレーンVCN716)に含まれるLPG910を介して制御プレーンVCN916に通信結合され得るとともに、データプレーンVCN918(たとえば、図7のデータプレーンVCN718)に含まれるLPG910を介してデータプレーンVCN918に通信結合され得る。制御プレーンVCN916およびデータプレーンVCN918は、サービステナンシ919(たとえば、図7のサービステナンシ719)に含まれ得る。
【0150】
制御プレーンVCN916は、負荷分散器(LB)サブネット922(たとえば、図7のLBサブネット722)を含み得る制御プレーンDMZ層920(たとえば、図7の制御プレーンDMZ層720)と、(たとえば、図7のアプリサブネット726に類似する)アプリサブネット926を含み得る制御プレーンアプリ層924(たとえば、図7の制御プレーンアプリ層724)と、DBサブネット930を含み得る制御プレーンデータ層928(たとえば、図7の制御プレーンデータ層728)と、を具備することができる。制御プレーンDMZ層920に含まれるLBサブネット922は、制御プレーンアプリ層924に含まれるアプリサブネット926および制御プレーンVCN916に含まれ得るインターネットゲートウェイ934(たとえば、図7のインターネットゲートウェイ734)に通信結合され、アプリサブネット926は、制御プレーンデータ層928に含まれるDBサブネット930、サービスゲートウェイ936(たとえば、図7のサービスゲートウェイ)、およびネットワークアドレス変換(NAT)ゲートウェイ938(たとえば、図7のNATゲートウェイ738)に通信結合され得る。制御プレーンVCN916は、サービスゲートウェイ936およびNATゲートウェイ938を具備することができる。
【0151】
データプレーンVCN918は、データプレーンアプリ層946(たとえば、図7のデータプレーンアプリ層746)、データプレーンDMZ層948(たとえば、図7のデータプレーンDMZ層748)、およびデータプレーンデータ層950(たとえば、図7のデータプレーンデータ層750)を具備することができる。データプレーンDMZ層948は、データプレーンアプリ層946のトラステッドアプリサブネット960および非トラステッドアプリサブネット962ならびにデータプレーンVCN918に含まれるインターネットゲートウェイ934に通信結合され得るLBサブネット922を具備することができる。トラステッドアプリサブネット960は、データプレーンVCN918に含まれるサービスゲートウェイ936、データプレーンVCN918に含まれるNATゲートウェイ938、およびデータプレーンデータ層950に含まれるDBサブネット930に通信結合され得る。非トラステッドアプリサブネット962は、データプレーンVCN918に含まれるサービスゲートウェイ936およびデータプレーンデータ層950に含まれるDBサブネット930に通信結合され得る。データプレーンデータ層950は、データプレーンVCN918に含まれるサービスゲートウェイ936に通信結合され得るDBサブネット930を具備することができる。
【0152】
非トラステッドアプリサブネット962は、テナント仮想マシン(VM)966(1)~966(N)に通信結合され得る1つまたは複数の一次VNIC964(1)~964(N)を具備することができる。各テナントVM966(1)~966(N)は、顧客テナンシ970(1)~970(N)それぞれに含まれ得るコンテナ出力VCN968(1)~968(N)それぞれに含まれ得るアプリサブネット967(1)~967(N)それぞれに通信結合され得る。二次VNIC972(1)~972(N)はそれぞれ、データプレーンVCN918に含まれる非トラステッドアプリサブネット962とコンテナ出力VCN968(1)~968(N)に含まれるアプリサブネットとの間の通信を容易化し得る。各コンテナ出力VCN968(1)~968(N)は、パブリックインターネット954(たとえば、図7のパブリックインターネット754)に通信結合され得るNATゲートウェイ938を具備することができる。
【0153】
制御プレーンVCN916およびデータプレーンVCN918に含まれるインターネットゲートウェイ934は、パブリックインターネット954に通信結合され得るメタデータ管理サービス952(たとえば、図7のメタデータ管理システム752)に通信結合され得る。パブリックインターネット954は、制御プレーンVCN916およびデータプレーンVCN918に含まれるNATゲートウェイ938に通信結合され得る。制御プレーンVCN916およびデータプレーンVCN918に含まれるサービスゲートウェイ936は、クラウドサービス956に通信結合され得る。
【0154】
いくつかの実施形態において、データプレーンVCN918は、顧客テナンシ970と一体化され得る。この一体化は、コードの実行時にサポートを望む可能性がある場合等に、IaaSプロバイダの顧客に有用または所望となり得る。顧客は、実行するコードを与えるようにしてもよく、このコードは、破壊的なものとなる可能性もあるし、他の顧客リソースと通信する可能性もあるし、あるいは望ましくない影響をもたらす可能性もある。これに応答して、IaaSプロバイダは、顧客によりIaaSプロバイダに与えられたコードを実行するかを判定するようにしてもよい。
【0155】
いくつかの例において、IaaSプロバイダの顧客は、IaaSプロバイダへの一時的なネットワークアクセスを許可し、データプレーンアプリ層946に付与される機能を要求するようにしてもよい。この機能を実行するコードは、VM966(1)~966(N)において実行されるようになっていてもよく、また、データプレーンVCN918上の他の場所で実行するようには構成されていなくてもよい。各VM966(1)~966(N)は、1つの顧客テナンシ970に接続されていてもよい。VM966(1)~966(N)に含まれるコンテナ971(1)~971(N)はそれぞれ、コードを実行するように構成されていてもよい。この場合は、二重の隔離が存在する可能性があり(たとえば、コードを実行するコンテナ971(1)~971(N)は、少なくとも非トラステッドアプリサブネット962に含まれるVM966(1)~966(N)に含まれていてもよい)、誤ったコードあるいは望ましくないコードによるIaaSプロバイダのネットワークまたは異なる顧客のネットワークの損傷を防止するのに役立ち得る。コンテナ971(1)~971(N)は、顧客テナンシ970に通信結合されていてもよく、また、顧客テナンシ970に対してデータを送信または受信するように構成されていてもよい。コンテナ971(1)~971(N)は、データプレーンVCN918中の他の如何なるエンティティに対するデータの送信または受信も行わないように構成されていてもよい。コードの実行の完了時、IaaSプロバイダは、コンテナ971(1)~971(N)を無効化するようにしてもよいし、廃棄するようにしてもよい。
【0156】
いくつかの実施形態において、トラステッドアプリサブネット960は、IaaSプロバイダが所有または運用し得るコードを実行するようにしてもよい。本実施形態において、トラステッドアプリサブネット960は、DBサブネット930に通信結合されていてもよく、また、DBサブネット930においてCRUD動作を実行するように構成されていてもよい。非トラステッドアプリサブネット962は、DBサブネット930に通信結合されていてもよいが、本実施形態においては、DBサブネット930において読み出し動作を実行するように構成されていてもよい。各顧客のVM966(1)~966(N)に含まれ、顧客からのコードを実行し得るコンテナ971(1)~971(N)は、DBサブネット930と通信結合されていなくてもよい。
【0157】
他の実施形態において、制御プレーンVCN916およびデータプレーンVCN918は、直接通信結合されていなくてもよい。本実施形態においては、制御プレーンVCN916とデータプレーンVCN918との間に直接的な通信が存在していなくてもよい。ただし、少なくとも1つの方法によって間接的に通信を行うことができる。制御プレーンVCN916とデータプレーンVCN918との間の通信を容易化し得るLPG910がIaaSプロバイダにより確立されていてもよい。別の例において、制御プレーンVCN916またはデータプレーンVCN918は、サービスゲートウェイ936を介して、クラウドサービス956への呼び出しを行うことができる。たとえば、制御プレーンVCN916からクラウドサービス956への呼び出しには、データプレーンVCN918と通信し得るサービスのリクエストを含み得る。
【0158】
図10は、少なくとも1つの実施形態に係る、IaaSアーキテクチャの別の例示的なパターンを示すブロック図1000である。サービスオペレータ1002(たとえば、図7のサービスオペレータ702)は、仮想クラウドネットワーク(VCN)1006(たとえば、図7のVCN706)およびセキュアホストサブネット1008(たとえば、図7のセキュアホストサブネット708)を含み得るセキュアホストテナンシ1004(たとえば、図7のセキュアホストテナンシ704)に通信結合され得る。VCN1006は、SSH VCN1012(たとえば、図7のSSH VCN712)に含まれるLPG1010(たとえば、図7のLPG710)を介してSSH VCN1012に通信結合され得るLPG1010を具備することができる。SSH VCN1012は、SSHサブネット1014(たとえば、図7のSSHサブネット714)を具備することができ、また、SSH VCN1012は、制御プレーンVCN1016(たとえば、図7の制御プレーンVCN716)に含まれるLPG1010を介して制御プレーンVCN1016に通信結合され得るとともに、データプレーンVCN1018(たとえば、図7のデータプレーンVCN718)に含まれるLPG1010を介してデータプレーンVCN1018に通信結合され得る。制御プレーンVCN1016およびデータプレーンVCN1018は、サービステナンシ1019(たとえば、図7のサービステナンシ719)に含まれ得る。
【0159】
制御プレーンVCN1016は、LBサブネット1022(たとえば、図7のLBサブネット722)を含み得る制御プレーンDMZ層1020(たとえば、図7の制御プレーンDMZ層720)と、アプリサブネット1026(たとえば、図7のアプリサブネット726)を含み得る制御プレーンアプリ層1024(たとえば、図7の制御プレーンアプリ層724)と、DBサブネット1030(たとえば、図9のDBサブネット930)を含み得る制御プレーンデータ層1028(たとえば、図7の制御プレーンデータ層728)と、を具備することができる。制御プレーンDMZ層1020に含まれるLBサブネット1022は、制御プレーンアプリ層1024に含まれるアプリサブネット1026および制御プレーンVCN1016に含まれ得るインターネットゲートウェイ1034(たとえば、図7のインターネットゲートウェイ734)に通信結合され、アプリサブネット1026は、制御プレーンデータ層1028に含まれるDBサブネット1030、サービスゲートウェイ1036(たとえば、図7のサービスゲートウェイ)、およびネットワークアドレス変換(NAT)ゲートウェイ1038(たとえば、図7のNATゲートウェイ738)に通信結合され得る。制御プレーンVCN1016は、サービスゲートウェイ1036およびNATゲートウェイ1038を具備することができる。
【0160】
データプレーンVCN1018は、データプレーンアプリ層1046(たとえば、図7のデータプレーンアプリ層746)、データプレーンDMZ層1048(たとえば、図7のデータプレーンDMZ層748)、およびデータプレーンデータ層1050(たとえば、図7のデータプレーンデータ層750)を具備することができる。データプレーンDMZ層1048は、データプレーンアプリ層1046のトラステッドアプリサブネット1060(たとえば、図9のトラステッドアプリサブネット960)および非トラステッドアプリサブネット1062(たとえば、図9の非トラステッドアプリサブネット962)ならびにデータプレーンVCN1018に含まれるインターネットゲートウェイ1034に通信結合され得るLBサブネット1022を具備することができる。トラステッドアプリサブネット1060は、データプレーンVCN1018に含まれるサービスゲートウェイ1036、データプレーンVCN1018に含まれるNATゲートウェイ1038、およびデータプレーンデータ層1050に含まれるDBサブネット1030に通信結合され得る。非トラステッドアプリサブネット1062は、データプレーンVCN1018に含まれるサービスゲートウェイ1036およびデータプレーンデータ層1050に含まれるDBサブネット1030に通信結合され得る。データプレーンデータ層1050は、データプレーンVCN1018に含まれるサービスゲートウェイ1036に通信結合され得るDBサブネット1030を具備することができる。
【0161】
非トラステッドアプリサブネット1062は、非トラステッドアプリサブネット1062内に存在するテナント仮想マシン(VM)1066(1)~1066(N)に通信結合され得る一次VNIC1064(1)~1064(N)を具備することができる。各テナントVM1066(1)~1066(N)は、コンテナ1067(1)~1067(N)それぞれにおいてコードを実行可能であるとともに、コンテナ出力VCN1068に含まれ得るデータプレーンアプリ層1046に含まれ得るアプリサブネット1026に通信結合され得る。二次VNIC1072(1)~1072(N)はそれぞれ、データプレーンVCN1018に含まれる非トラステッドアプリサブネット1062とコンテナ出力VCN1068に含まれるアプリサブネットとの間の通信を容易化し得る。コンテナ出力VCNは、パブリックインターネット1054(たとえば、図7のパブリックインターネット754)に通信結合され得るNATゲートウェイ1038を具備することができる。
【0162】
制御プレーンVCN1016およびデータプレーンVCN1018に含まれるインターネットゲートウェイ1034は、パブリックインターネット1054に通信結合され得るメタデータ管理サービス1052(たとえば、図7のメタデータ管理システム752)に通信結合され得る。パブリックインターネット1054は、制御プレーンVCN1016およびデータプレーンVCN1018に含まれるNATゲートウェイ1038に通信結合され得る。制御プレーンVCN1016およびデータプレーンVCN1018に含まれるサービスゲートウェイ1036は、クラウドサービス1056に通信結合され得る。
【0163】
いくつかの例において、図10のブロック図1000のアーキテクチャにより示されるパターンは、図9のブロック図900のアーキテクチャにより示されるパターンの例外と考えられ、IaaSプロバイダが顧客と直接通信できない(たとえば、切断領域である)場合に、IaaSプロバイダの顧客に望ましいと考えられる。顧客ごとにVM1066(1)~1066(N)に含まれるコンテナ1067(1)~1067(N)はそれぞれ、顧客によるリアルタイムでのアクセスが可能である。コンテナ1067(1)~1067(N)は、コンテナ出力VCN1068に含まれ得るデータプレーンアプリ層1046のアプリサブネット1026に含まれる二次VNIC1072(1)~1072(N)それぞれへの呼び出しを行うように構成されていてもよい。二次VNIC1072(1)~1072(N)は、呼び出しをNATゲートウェイ1038に送信可能であり、NATゲートウェイ1038は、呼び出しをパブリックインターネット1054に送信するようにしてもよい。本例において、顧客によるリアルタイムでのアクセスが可能なコンテナ1067(1)~1067(N)は、制御プレーンVCN1016から隔離され得るとともに、データプレーンVCN1018に含まれる他のエンティティからも隔離され得る。また、コンテナ1067(1)~1067(N)は、他の顧客のリソースからも隔離され得る。
【0164】
他の例において、顧客は、コンテナ1067(1)~1067(N)を使用して、クラウドサービス1056を呼び出すことができる。本例において、顧客は、コンテナ1067(1)~1067(N)において、クラウドサービス1056にサービスを要求するコードを実行することができる。コンテナ1067(1)~1067(N)は、このリクエストを二次VNIC1072(1)~1072(N)に送信可能であり、二次VNIC1072(1)~1072(N)は、リクエストをNATゲートウェイに送信可能であり、NATゲートウェイは、リクエストをパブリックインターネット1054に送信可能である。パブリックインターネット1054は、インターネットゲートウェイ1034を介して、制御プレーンVCN1016に含まれるLBサブネット1022にリクエストを送信可能である。リクエストが有効である旨の判定に応答して、LBサブネットは、リクエストをアプリサブネット1026に送信可能であり、アプリサブネット1026は、サービスゲートウェイ1036を介して、リクエストをクラウドサービス1056に送信可能である。
【0165】
当然のことながら、図面に示されるIaaSアーキテクチャ700、800、900、1000は、図示以外の構成要素を有していてもよい。さらに、図面に示される実施形態は、本開示の一実施形態を包含し得るクラウドインフラシステムの一例に過ぎない。いくつかの他の実施形態において、IaaSシステムは、有する構成要素が図示より多くても少なくてもよいし、2つ以上の構成要素を組み合わせるようにしてもよいし、構成要素の構成または配置が異なっていてもよい。
【0166】
ある実施形態において、本明細書に記載のIaaSシステムは、セルフサービスかつサブスクリプションベースの弾力的に拡張可能かつ確実で可用性が高く安全な方法で顧客に送達される一連のアプリケーション、ミドルウェア、およびデータベースサービスを含んでいてもよい。本譲受人が提供するOCI(Oracle Cloud Infrastructure)がこのようなIaaSシステムの一例である。
【0167】
図11は、種々実施形態が実現され得る例示的なコンピュータシステム1100を示している。システム1100は、上述のコンピュータシステムのいずれかの実現に用いられるようになっていてもよい。図面に示される通り、コンピュータシステム1100は、バスサブシステム1102を介して多くの周辺サブシステムと通信する処理ユニット1104を具備する。周辺サブシステムには、処理加速ユニット1106、I/Oサブシステム1108、ストレージサブシステム1118、および通信サブシステム1124を含み得る。ストレージサブシステム1118は、有形コンピュータ可読記憶媒体1122およびシステムメモリ1110を具備する。
【0168】
バスサブシステム1102は、コンピュータシステム1100のさまざまな構成要素およびサブシステムを目的通り互いに通信させるためのメカニズムを提供する。バスサブシステム1102は、単一のバスとして模式的に示されるが、バスサブシステムの代替実施形態では複数のバスを利用するようにしてもよい。バスサブシステム1102は、多様なバスアーキテクチャのいずれかを使用するメモリバスもしくはメモリコントローラ、周辺機器用バス、ならびにローカルバスを含む複数種類のバス構造のいずれかであってもよい。たとえば、このようなアーキテクチャには、IEEE P1386.1標準に従って製造されたメザニンバスとして実現され得る業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス規格協会(VESA)ローカルバス、および周辺機器相互接続(PCI)バスを含み得る。
【0169】
1つまたは複数の集積回路(たとえば、従来のマイクロプロセッサまたはマイクロコントローラ)として実現され得る処理ユニット1104は、コンピュータシステム1100の動作を制御する。処理ユニット1104には、1つまたは複数のプロセッサが含まれていてもよい。これらのプロセッサには、シングルコアまたはマルチコアプロセッサを含み得る。ある実施形態において、処理ユニット1104は、シングルコアまたはマルチコアプロセッサが各々に含まれる1つまたは複数の独立した処理ユニット1132および/または1134として実現されるようになっていてもよい。また、他の実施形態において、処理ユニット1104は、2つのデュアルコアプロセッサを単一のチップに組み込むことにより形成されたクアッドコア処理ユニットとして実現されていてもよい。
【0170】
種々実施形態において、処理ユニット1104は、プログラムコードに応答して多様なプログラムを実行するとともに、複数の同時実行プログラムまたはプロセスを維持することができる。任意所与の時間において、実行されるプログラムコードの一部または全部がプロセッサ1104および/またはストレージサブシステム1118に存在し得る。好適なプログラミングにより、プロセッサ1104は、上述のさまざまな機能を提供可能である。また、コンピュータシステム1100は、デジタル信号プロセッサ(DSP)、専用プロセッサ、および/または類似物を含み得る処理加速ユニット1106を具備していてもよい。
【0171】
I/Oサブシステム1108は、ユーザインターフェース入力装置およびユーザインターフェース出力装置を具備していてもよい。ユーザインターフェース入力装置には、キーボード、マウスもしくはトラックボール等のポインティングデバイス、ディスプレイに組み込まれたタッチパッドもしくはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを有するオーディオ入力装置、マイク、ならびに他種の入力装置を含み得る。ユーザインターフェース入力装置には、たとえばジェスチャおよび話されたコマンドを使用する自然なユーザインターフェースを通じたMicrosoft Xbox(登録商標)360ゲームコントローラ等の入力装置に対するユーザの制御および相互作用を可能にするMicrosoft Kinect(登録商標)運動センサ等の運動検知および/またはジェスチャ認識デバイスを含み得る。また、ユーザインターフェース入力装置には、ユーザの眼の活動(たとえば、撮影中および/またはメニュー選択中の「瞬き」)を検出し、眼のジェスチャを入力装置(たとえば、Google Glass(登録商標))への入力として変換するGoogle Glass(登録商標)瞬き検出器等の眼ジェスチャ認識デバイスを含み得る。また、ユーザインターフェース入力装置には、音声コマンドを介したユーザによる音声認識システム(たとえば、Siri(登録商標)ナビゲータ)との相互作用を可能にする音声認識検知デバイスを含み得る。
【0172】
また、ユーザインターフェース入力装置には、3次元(3D)マウス、ジョイスティックもしくはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびにスピーカ、デジタルカメラ、デジタルビデオカメラ、ポータブルメディアプレーヤ、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザ距離計、および視線追跡デバイス等の聴覚/視覚デバイスを含み得るが、これらに限定されない。また、ユーザインターフェース入力装置には、たとえばコンピュータトモグラフィ、磁気共鳴イメージング、陽電子放出トモグラフィ、医療用超音波検査デバイス等の医療用撮像入力装置を含み得る。また、ユーザインターフェース入力装置には、たとえばMIDIキーボード、デジタル楽器等のオーディオ入力装置を含み得る。
【0173】
ユーザインターフェース出力装置には、ディスプレイサブシステム、表示灯、またはオーディオ出力装置等の非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)またはプラズマディスプレイを使用するようなフラットパネルデバイス、投射装置、タッチスクリーン等であってもよい。一般的に、用語「出力装置(output device)」の使用は、コンピュータシステム1100からユーザまたは他のコンピュータに情報を出力するための考え得るすべての種類のデバイスおよびメカニズムを含むことが意図される。たとえば、ユーザインターフェース出力装置には、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力装置、およびモデム等、テキスト、グラフィックス、およびオーディオ/ビデオ情報を視覚的に伝達する多様な表示装置を含み得るが、これらに限定されない。
【0174】
コンピュータシステム1100は、ここではシステムメモリ1110内に配置されているものとして示されるソフトウェア要素を含むストレージサブシステム1118を備えていてもよい。システムメモリ1110は、処理ユニット1104にロードして実行可能なプログラム命令のほか、これらプログラムの実行時に生成されたデータを格納していてもよい。
【0175】
コンピュータシステム1100の構成および種類に応じて、システムメモリ1110は、揮発性(ランダムアクセスメモリ(RAM)等)および/または不揮発性(リードオンリーメモリ(ROM)、フラッシュメモリ等)であってもよい。RAMは通常、処理ユニット1104に直ちにアクセス可能なデータおよび/もしくはプログラムモジュールならびに/または処理ユニット1104による動作および実行が現在なされているデータおよび/もしくはプログラムモジュールを含む。いくつかの実施態様において、システムメモリ1110には、スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)等、複数の異なる種類のメモリを含み得る。いくつかの実施態様において、ROMには通常、起動時等にコンピュータシステム1100内の要素間で情報を伝達するのに役立つ基本ルーチンを含む基本入出力システム(BIOS)が格納されていてもよい。また、非限定的な一例として、システムメモリ1110は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(RDBMS)等を含み得るアプリケーションプログラム1112、プログラムデータ1114、およびオペレーティングシステム1116を示している。一例として、オペレーティングシステム1116には、さまざまなバージョンのMicrosoft Windows(登録商標)、Apple Macintosh(登録商標)、および/もしくはLinuxオペレーティングシステム、多様な市販のUNIX(登録商標)もしくはUNIX類似オペレーティングシステム(多様なGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OS等を含むが、これらに限定されない)、ならびに/またはiOS、Windows(登録商標)Phone、Android(登録商標)OS、BlackBerry(登録商標)OS、およびPalm(登録商標)OSオペレーティングシステム等のモバイルオペレーティングシステムを含み得る。
【0176】
また、ストレージサブシステム1118は、いくつかの実施形態の機能を与える基本プログラミングおよびデータ構成体を格納するための有形コンピュータ可読記憶媒体を提供するようにしてもよい。ストレージサブシステム1118には、プロセッサによって実行されると上述の機能を与えるソフトウェア(プログラム、コードモジュール、命令)が格納されていてもよい。これらのソフトウェアモジュールまたは命令は、処理ユニット1104により実行されるようになっていてもよい。また、ストレージサブシステム1118は、本開示に従って使用されるデータを格納するためのリポジトリを提供するようにしてもよい。
【0177】
また、ストレージサブシステム1100は、コンピュータ可読記憶媒体1122にさらに接続され得るコンピュータ可読記憶媒体リーダ1120を具備していてもよい。コンピュータ可読記憶媒体1122は、システムメモリ1110と一体的に、任意選択としてはシステムメモリ1100との組合せにて、リモート、ローカル、固定、および/または取り外し可能な記憶装置のほか、コンピュータ可読情報を一時的および/または恒久的に包含、格納、送信、および検索するための記憶媒体を包括的に表し得る。
【0178】
また、コードまたはコードの一部を含むコンピュータ可読記憶媒体1122には、当技術分野において公知または使用されている任意の適当な媒体を含むことができ(記憶媒体および通信媒体を含む)、情報の格納および/または伝送のための任意の方法または技術において実現されている揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体が挙げられるが、これらに限定されない。これには、RAM、ROM、電子的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ等のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)等の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ等の磁気記憶装置、または他の有形コンピュータ可読媒体等の有形コンピュータ可読記憶媒体を含み得る。また、これには、データ信号、データ伝送、または所望の情報の伝送に使用可能かつコンピュータシステム1100によりアクセス可能なその他任意の媒体等の無形コンピュータ可読媒体を含み得る。
【0179】
一例として、コンピュータ可読記憶媒体1122には、非リムーバブル不揮発性磁気媒体に対して読み書きを行うハードディスクドライブと、リムーバブル不揮発性磁気ディスクに対して読み書きを行う磁気ディスクドライブと、CD-ROM、DVD、Blu-Ray(登録商標)ディスク、または他の光学媒体等のリムーバブル不揮発性光ディスクに対して読み書きを行う光ディスクドライブと、を含み得る。コンピュータ可読記憶媒体1122には、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(USB)フラッシュドライブ、セキュアデジタル(SD)カード、DVDディスク、デジタルビデオテープ等を含み得るが、これらに限定されない。また、コンピュータ可読記憶媒体1122には、フラッシュメモリベースのSSD、エンタープライズフラッシュドライブ、半導体ROM等の不揮発性メモリに基づく半導体ドライブ(SSD)、半導体RAM、ダイナミックRAM、スタティックRAM、DRAMベースのSSD、磁気抵抗RAM(MRAM)SSD、ならびにDRAMおよびフラッシュメモリに基づくSSDの組合せを使用するハイブリッドSSD等の揮発性メモリに基づくSSDを含み得る。ディスクドライブおよびそれぞれの関連するコンピュータ可読媒体は、コンピュータシステム1100に対するコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供し得る。
【0180】
通信サブシステム1124は、他のコンピュータシステムおよびネットワークに対するインターフェースを提供する。通信サブシステム1124は、コンピュータシステム1100と他のシステムとの間のデータの送受信のためのインターフェースとして機能する。たとえば、通信サブシステム1124は、コンピュータシステム1100がインターネットを介して1つまたは複数のデバイスにつながることを可能にし得る。いくつかの実施形態において、通信サブシステム1124は、(たとえば、携帯電話技術、3G、4G、またはEDGE(Enhanced Data Rates for Global Evolution)、WiFi(IEEE 802.11ファミリ標準)等の高度なデータネットワーク技術、もしくは他の移動通信技術、またはこれらの任意の組合せを使用する)無線音声および/またはデータネットワーク、全地球測位システム(GPS)受信機コンポーネント、および/または他のコンポーネントにアクセスするための無線周波数(RF)トランシーバコンポーネントを具備し得る。いくつかの実施形態において、通信サブシステム1124は、無線インターフェースの追加または代替として、有線ネットワーク接続(たとえば、Ethernet)を提供し得る。
【0181】
また、いくつかの実施形態において、通信サブシステム1124は、コンピュータシステム1100を使用し得る1人または複数人のユーザに代わって、構造化および/または非構造化データフィード1126、イベントストリーム1128、イベントアップデート1130等の形態の入力情報を受信可能である。
【0182】
一例として、通信サブシステム1124は、ソーシャルネットワークならびに/またはTwitter(登録商標)フィード、Facebook(登録商標)アップデート、RSS(Rich Site Summary)フィード等のウェブフィード、ならびに/または1つもしくは複数のサードパーティ情報源からのリアルタイムアップデート等、他の通信サービスのユーザからデータフィード1126をリアルタイムで受信するように構成されていてもよい。
【0183】
また、通信サブシステム1124は、連続データストリームの形態のデータを受信するように構成されていてもよく、これには、リアルタイムイベントおよび/またはイベントアップデート1130のイベントストリーム1128を含み得るが、これは、連続的であってもよいし、明示的な終わりのない事実上の無限であってもよい。連続データを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカー、ネットワーク性能測定ツール(たとえば、ネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリング等が挙げられる。
【0184】
また、通信サブシステム1124は、コンピュータシステム1100に結合されている1つまたは複数のストリーミングデータ源コンピュータと連通し得る1つまたは複数のデータベースに対して、構造化および/または非構造化データフィード1126、イベントストリーム1128、イベントアップデート1130等を出力するように構成されていてもよい。
【0185】
コンピュータシステム1100としては、携帯型手持ち式デバイス(iPhone(登録商標)携帯電話、iPad(登録商標)コンピューティングタブレット、PDA等)、ウェアラブル装置(Google Glass(登録商標)ヘッドマウントディスプレイ等)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、または任意の他のデータ処理システムを含むさまざまな種類のうちの1つが可能である。
【0186】
コンピュータおよびネットワークの絶えず変化する性質のため、図示のコンピュータシステム1100に関する記述は、具体例としての意図しかない。図示のシステムよりも構成要素が多いか少ないかに関わらず、他の多くの構成が可能である。たとえば、カスタマイズされたハードウェアの使用ならびに/またはハードウェア、ファームウェア、ソフトウェア(アプレットを含む)、もしくは組合せにおける特定の要素の実装も考えられる。さらに、ネットワーク入出力装置等の他のコンピューティングデバイスへの接続が採用されるようになっていてもよい。本明細書に記載の開示および教示内容に基づいて、当業者であれば、種々実施形態を実現する他の手法および/または方法が認識されよう。
【0187】
以上、特定の実施形態を説明したが、種々改良、変更、代替、構成、および同等物についても本開示の範囲に含まれる。実施形態は、ある特定のデータ処理環境内での作用に限定されず、複数のデータ処理環境内で自由に作用し得る。たとえば、プロセッサによって実行されると、本開示に記載の方法のいずれかをプロセッサに実行させるコンピュータプログラム/命令を含むコンピュータプログラム製品を使用することにより、実施形態が実現されるようになっていてもよい。また、特定の一連のトランザクションおよびステップを使用して実施形態を説明したが、当業者には、本開示の範囲が記載の一連のトランザクションおよびステップに限定されないことが明らかであろう。また、上述の実施形態の種々特徴および態様が個別に使用されるようになっていてもよいし、一体的に使用されるようになっていてもよい。
【0188】
さらに、ハードウェアおよびソフトウェアの特定の組合せを使用して実施形態を説明したが、ハードウェアおよびソフトウェアの他の組合せについても本開示の範囲に含まれることが認識されよう。実施形態は、ハードウェアにおいてのみ実現されていてもよいし、ソフトウェアにおいてのみ実現されていてもよいし、これらの組合せを使用することにより実現されていてもよい。本明細書に記載のさまざまなプロセスは、同じプロセッサ上で実現することも可能であるし、任意の組合せの異なるプロセッサ上で実現することも可能である。したがって、コンポーネントまたはモジュールがある動作を実行するように構成されているものとして記載される場合、このような構成は、たとえばこの動作を実行するように電子回路を設計すること、この動作を実行するようにプログラム可能電子回路(マイクロプロセッサ等)をプログラムすること、またはこれらの任意の組合せによって達成され得る。プロセスは、多様な技術を使用することにより通信可能であって、プロセス間通信のための従来の技術が挙げられるが、これらに限定されない。また、プロセスの異なる部分が異なる技術を使用するようにしてもよいし、プロセスの同じ部分が異なる時間に異なる技術を使用するようにしてもよい。
【0189】
したがって、本明細書および図面は、何ら限定の意味ではなく、例示として捉えられるものとする。ただし、特許請求の範囲に記載の広範な思想および範囲から逸脱することなく、追加、差分、消去、ならびに他の改良および変更がなされ得ることは明らかである。このため、本開示の特定の実施形態を説明したが、これらには何ら限定の意図はない。種々改良および同等物が以下の特許請求の範囲に含まれる。
【0190】
開示の実施形態を説明する文脈(特に、以下の特許請求の範囲の文脈)における用語「a」、「an」、および「the」、ならびに同様の指示対象の使用は、本明細書における別段の指示または文脈上の明確な矛盾のない限り、単数形および複数形の両者を網羅するように解釈されるものとする。用語「備える(comprising)」、「有する(having)」、「具備する(including)」、および「含む(containing)」は、別段の断りのない限り、オープンエンドの用語(すなわち、「~を含むが、これらに限定されない」を意味する)として解釈されるものとする。用語「接続されている(connected)」は、何かが介在している場合であっても、一部または全部が含まれている、取り付けられている、または一体的に結合されているものとして解釈されるものとする。本明細書における値の範囲の記述は、本明細書における別段の指示のない限り、その範囲に含まれる別個の各値を個別に参照する簡便な方法として機能することが意図されるに過ぎず、別個の各値は、本明細書において個別の記述があるかのように本明細書に組み込まれる。本明細書における別段の指示または文脈上の明確な矛盾のない限り、本明細書に記載のすべての方法が任意好適な順序で実行され得る。本明細書に記載のありとあらゆる例または例示的な表現(たとえば、「~等(such as)」)の使用は、実施形態の理解を容易にする意図しかなく、別段の主張のない限り、本開示の範囲を制限するものではない。本明細書における如何なる表現も、特許請求されていない要素が本開示の実施に不可欠であることを示すものとは解釈されないものとする。
【0191】
特に記載のない限り、句「X、Y、Zのうち少なくとも1つ(at least one of X, Y, or Z)」等の選言的表現は、項目、用語等がX、Y、Zのいずれかまたはこれらの任意の組合せ(たとえば、X、Y、および/またはZ)であり得ることを提示するために一般的に使用されるような文脈内での理解が意図される。したがって、このような選言的表現は一般的に、ある実施形態がXのうちの少なくとも1つ、Yのうちの少なくとも1つ、またはZのうちの少なくとも1つそれぞれの存在を要することを暗示する意図ではなく、そのように暗示しないものとする。
【0192】
本明細書においては、本開示の実行に対して知られている最良の形態を含む本開示の好適な実施形態が記載される。当業者には、上記説明を読むことにより、これら好適な実施形態の変形例が明らかとなり得る。当業者は、このような変形例を必要に応じて採用できるものとし、本開示は、本明細書の具体的な記載と異なるように実施され得る。したがって、本開示は、適用法の許す限り、本明細書に添付の特許請求の範囲に記述されている主題のすべての改良および同等物を含む。さらに、本明細書における別段の指示のない限り、上述の要素の考え得るすべての変形例における如何なる組合せも本開示に含まれる。
【0193】
本明細書に引用の刊行物、特許出願、および特許を含むすべての参考文献は、各参考文献の援用が個別かつ具体的に指示され、そのすべての内容が参照により本明細書に記載されるのと同じ程度に参照により本明細書に援用される。
【0194】

以下の各項においては、他の例示的な実施形態が提供される。
【0195】
例1は、方法を含んでいてもよい。この方法は、第1の地理的領域に配置されているクラウドサービスプロバイダ(CSP)の第1のデータセンタがリクエストを受信することを含む。リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダの指定データセンタに切り替えるリクエストである。ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能である。この方法は、第1のデータセンタが、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第1のデータセンタの第1のID制御プレーン(IDCP)を更新することをさらに含む。指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能である。この方法は、第1のデータセンタが、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているクラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することをさらに含む。この方法は、第1のデータセンタが、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させることをさらに含む。
【0196】
例2は、例1に記載の方法を含んでいてもよい。この方法では、指定データセンタは、第1のデータセンタを含む。第1のデータセンタは、第1のID制御プレーンが更新される前にはドメインへの書き込み動作を実行できず、少なくとも第1のID制御プレーンが更新されたことに応答してドメインへの書き込み動作を実行可能である。
【0197】
例3は、例1に記載の方法を含んでいてもよい。この方法では、リクエストは、ホームリージョン割り当てが第2のデータセンタから第1のデータセンタに切り替えられることを示す。第2のデータセンタは、リクエストが受信された場合に利用できない。第2のID制御プレーンの更新は、少なくとも第2のデータセンタが利用可能となったことに応答して実行される。
【0198】
例4は、例3に記載の方法を含んでいてもよい。この方法は、第1のデータセンタが、少なくとも第2のデータセンタが利用可能となったことに応答して、第1のデータセンタに格納されているドメインの状態および第2のデータセンタに格納されているドメインの状態を比較することをさらに含む。この方法は、第1のデータセンタが、第1のデータセンタに格納されているドメインの状態と第2のデータセンタに格納されているドメインの状態との間の1つまたは複数の相違点を決定することをさらに含む。この方法は、第1のデータセンタが、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったかを判定することをさらに含む。
【0199】
例5は、例4に記載の方法を含んでいてもよい。この方法では、第1のデータセンタは、1つまたは複数の相違点の原因になった書き込み動作を決定する。この方法は、第1のデータセンタが、第1のデータセンタに格納されているドメインへの書き込み動作を実行する選択肢を提示することをさらに含む。
【0200】
例6は、例4に記載の方法を含んでいてもよい。この方法では、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定する。この方法は、第1のデータセンタが、1つまたは複数の相違点の指標を表示させることをさらに含む。
【0201】
例7は、例4に記載の方法を含んでいてもよい。この方法では、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定する。この方法は、第1のデータセンタに格納されているドメインに1つまたは複数の書き込み動作が適用されないようにすることをさらに含む。
【0202】
例8は、例4に記載の方法を含んでいてもよい。この方法では、第1のデータセンタは、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定する。この方法は、第1のデータセンタが、第1のデータセンタに格納されているドメインに1つまたは複数の書き込み動作の少なくとも一部を適用することをさらに含む。
【0203】
例9は、例3に記載の方法を含んでいてもよい。この方法は、第1のデータセンタが、少なくとも第2のデータセンタが利用可能となったことに応答して、第1のデータセンタに格納されているドメインに一致するように、第2のデータセンタに格納されているドメインを更新することをさらに含む。
【0204】
例10は、例1に記載の方法を含んでいてもよい。この方法では、リクエストは、ホームリージョン割り当てが第1のデータセンタから第2のデータセンタに切り替えられることを示す。第1のデータセンタは、第1の時間に第1のID制御プレーンを更新する。第1のデータセンタは、第1の時間の後の第2の時間に第2のID制御プレーンを更新する。第1のデータセンタは、第1の時間と第2の時間との間の第1のデータセンタを介するドメインへの書き込み動作を阻止する。
【0205】
例11は、例1に記載の方法を含んでいてもよい。この方法では、ホームリージョン割り当てを切り替えるリクエストは、第3の地理的領域に配置されているクラウドサービスプロバイダの第3のデータセンタが利用不可能となったことを示すユーザインターフェースからのホームリージョン割り当てを切り替える選択に基づいて受信される。第3のデータセンタには、リクエストの受信前にホームリージョン割り当てが割り当てられている。
【0206】
例12は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実行させる命令が格納された1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。動作は、リクエストを受信することを含む。リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストである。ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能である。動作は、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第1の地理的領域に配置されているクラウドサービスプロバイダの第1のデータセンタの第1のID制御プレーン(IDCP)を更新することを含む。指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能である。動作は、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているクラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新することと、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させることとを含む。
【0207】
例13は、例12に記載の1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。この1つまたは複数の非一時的コンピュータ可読媒体では、指定データセンタは、第1のデータセンタを含む。第1のデータセンタは、第1のID制御プレーンが更新される前にはドメインへの書き込み動作を実行できず、少なくとも第1のID制御プレーンが更新されたことに応答してドメインへの書き込み動作を実行可能である。
【0208】
例14は、例12に記載の1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。この1つまたは複数の非一時的コンピュータ可読媒体では、リクエストは、ホームリージョン割り当てが第2のデータセンタから第1のデータセンタに切り替えられることを示す。第2のデータセンタは、リクエストが受信された場合に利用できない。第2のID制御プレーンの更新は、少なくとも第2のデータセンタが利用可能となったことに応答して実行される。
【0209】
例15は、例14に記載の1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。この1つまたは複数の非一時的コンピュータ可読媒体では、命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作をさらに実行させる。動作は、少なくとも第2のデータセンタが利用可能となったことに応答して、第1のデータセンタに格納されているドメインの状態および第2のデータセンタに格納されているドメインの状態を比較することと、第1のデータセンタに格納されているドメインの状態と第2のデータセンタに格納されているドメインの状態との間の1つまたは複数の相違点を決定することと、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったかを判定することとを含む。
【0210】
例16は、例15に記載の1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。この1つまたは複数の非一時的コンピュータ可読媒体では、1つまたは複数の相違点の原因になった書き込み動作が決定される。命令は、1つまたは複数のプロセッサによって実行されると、第1のデータセンタに格納されているドメインへの書き込み動作を実行する選択肢を提示することを含む動作を1つまたは複数のプロセッサにさらに実行させる。
【0211】
例17は、例15に記載の1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。この1つまたは複数の非一時的コンピュータ可読媒体では、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定される。命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数の相違点の指標を表示させることを含む動作を1つまたは複数のプロセッサにさらに実行させる。
【0212】
例18は、例15に記載の1つまたは複数の非一時的コンピュータ可読媒体を含んでいてもよい。この1つまたは複数の非一時的コンピュータ可読媒体では、第2のデータセンタが利用不可能となる前の第2のデータセンタによる第1のデータセンタの最終更新と第2のデータセンタが利用不可能となった時との間に第2のデータセンタにより実行された1つまたは複数の書き込み動作が1つまたは複数の相違点の原因になったものと判定される。命令は、1つまたは複数のプロセッサによって実行されると、第1のデータセンタに格納されているドメインに1つまたは複数の書き込み動作の少なくとも一部を適用することを含む動作を1つまたは複数のプロセッサにさらに実行させる。
【0213】
例19は、第1の地理的領域に配置されているクラウドサービスプロバイダの第1のデータセンタを含んでいてもよい。この第1のデータセンタは、ドメインを格納するメモリと、メモリに結合されている1つまたは複数のプロセッサとを備える。1つまたは複数のプロセッサは、リクエストを受信するように構成されている。リクエストは、リクエストと関連付けられているアカウントに対応するホームリージョン割り当てを、リクエスト内に示されているクラウドサービスプロバイダ(CSP)の指定データセンタに切り替えるリクエストである。ホームリージョン割り当てに対応するデータセンタは、ドメインへの書き込み動作を実行可能である。1つまたは複数のプロセッサは、アカウントのホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、この第1のデータセンタの第1のID制御プレーン(IDCP)を更新する。指定データセンタは、少なくとも第1のID制御プレーンが更新されたことに応答して、ドメインへの書き込み動作を実行可能である。1つまたは複数のプロセッサは、ホームリージョン割り当てが指定データセンタに割り当てられていることを示すように、第2の地理的領域に配置されているクラウドサービスプロバイダの第2のデータセンタの第2のID制御プレーンを更新する。1つまたは複数のプロセッサは、ホームリージョン割り当てが指定データセンタに割り当てられた旨の指標を提示させる。
【0214】
例20は、例19に記載の第1のデータセンタを含んでいてもよい。この第1のデータセンタでは、指定データセンタは、第1のデータセンタを含む。第1のデータセンタは、第1のID制御プレーンが更新される前にはドメインへの書き込み動作を実行できず、少なくとも第1のID制御プレーンが更新されたことに応答してドメインへの書き込み動作を実行可能である。
【0215】
上記明細書においては、特定の実施形態を参照して本開示の態様が記載されるが、当業者であれば、本開示がこれに限定されないことを認識するであろう。上述の本開示の種々特徴および態様が個別に使用されるようになっていてもよいし、一体的に使用されるようになっていてもよい。さらに、種々改良および同等物として、実施形態に開示の特徴の関連する適当な組合せが挙げられる。実施形態は、本明細書の広範な思想および範囲から逸脱することなく、本明細書に記載の環境および用途を越えて、任意数の環境および用途において利用され得る。したがって、本明細書および図面は、何ら限定するものではなく、例示として捉えられるものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【国際調査報告】