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

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

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

<>
  • 特表-クォーラムベースの認可 図1
  • 特表-クォーラムベースの認可 図2
  • 特表-クォーラムベースの認可 図3
  • 特表-クォーラムベースの認可 図4
  • 特表-クォーラムベースの認可 図5
  • 特表-クォーラムベースの認可 図6
  • 特表-クォーラムベースの認可 図7
  • 特表-クォーラムベースの認可 図8
  • 特表-クォーラムベースの認可 図9
  • 特表-クォーラムベースの認可 図10
  • 特表-クォーラムベースの認可 図11
  • 特表-クォーラムベースの認可 図12
  • 特表-クォーラムベースの認可 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-19
(54)【発明の名称】クォーラムベースの認可
(51)【国際特許分類】
   G06F 21/60 20130101AFI20250212BHJP
   G06F 21/64 20130101ALI20250212BHJP
【FI】
G06F21/60 340
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024540879
(86)(22)【出願日】2022-11-10
(85)【翻訳文提出日】2024-08-20
(86)【国際出願番号】 US2022079655
(87)【国際公開番号】W WO2023132997
(87)【国際公開日】2023-07-13
(31)【優先権主張番号】17/571,346
(32)【優先日】2022-01-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.iOS
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ステイスカル,ダン・ローレン
(72)【発明者】
【氏名】フォーゲル,ダニエル・エム
(57)【要約】
コンピューティングシステムに関するアクションの実行についての認可を管理するためのフレームワークが開示される。例えば、クラウドサービサプロバイダ(CSP)によって提供されるインフラストラクチャサービスへのアクセスについてのユーザおよび/もしくはクライアントの認可を実行するための、ならびに/または、インフラストラクチャサービスに関するアクションの実行のための技術は、インフラストラクチャサービスによって実行されるべきアクションについての要求を受信することと、アクションの認可がそこから受信されることになる1つまたは複数のオーソライザを識別することとを含み、それらの技術は、アクションを完了するためにクラウドインフラストラクチャサービスによって実行されるべき1つまたは複数のオペレーションを判定することと、楕円曲線デジタル署名アルゴリズムによって、1つまたは複数のオペレーションに署名することと、署名された1つまたは複数のオペレーションを記憶することと、1つまたは複数のオーソライザから受信される応答に少なくとも部分的に基づいて、アクションの認可についての問い合わせ手続を開始することとをさらに含む。
【特許請求の範囲】
【請求項1】
命令が記憶されている1つまたは複数の非一時的コンピュータ読み取り可能な媒体であって、前記命令は、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
前記コンピューティングシステムによって実行されるべきアクションについての要求を受信させ、前記要求は、クライアントデバイスから受信され、
前記アクションの認可がそこから受信されることになる1つまたは複数のオーソライザを識別させ、前記認可は、前記クライアントデバイスについての前記アクションの実行に対応し、
前記アクションに対応する1つまたは複数のオペレーションをシリアライズさせ、
楕円曲線デジタル署名アルゴリズムによって、前記シリアライズされた1つまたは複数のオペレーションに署名させ、
前記1つまたは複数のオペレーションが実行されることを認可されるか否かを判定するために、前記1つまたは複数のオーソライザの各々からの前記アクションの前記認可についての問い合わせ手続を開始させる、1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項2】
前記命令は、前記コンピューティングシステムによって実行されると、前記コンピューティングシステムにさらに、
前記アクションについての前記認可が、前記1つまたは複数のオーソライザの各々から受信されていると判定させ、
前記シリアライズされた1つまたは複数のオペレーションの前記署名することによって生み出された署名に少なくとも部分的に基づいて、前記シリアライズされた1つまたは複数のオペレーションは改ざんされていないということを検証させ、
前記アクションについての前記認可が受信されているという前記判定に少なくとも部分的に基づいて、前記1つまたは複数のオペレーションを実行させる、請求項1に記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項3】
前記シリアライズされた1つまたは複数のオペレーションに署名することは、署名を生成することを含み、前記命令は、前記コンピューティングシステムによって実行されると、前記コンピューティングシステムに、さらに、前記クライアントデバイスに前記署名を提供させる、請求項1または請求項2に記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項4】
前記問い合わせ手続を開始することは、
前記1つまたは複数のオーソライザの各々に、少なくとも1つの認可要求を送信することと、
前記少なくとも1つの認可要求への、前記1つまたは複数のオーソライザの各々からの応答について監視することとを含む、先行する請求項のいずれかに記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項5】
前記コンピューティングシステムは、クラウドインフラストラクチャサービスを含み、前記クラウドインフラストラクチャサービスは、前記クラウドインフラストラクチャサービスのエンクレーブのエッジにおいて、前記アクションについての前記要求を受信するように構成されている、先行する請求項のいずれかに記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項6】
前記クラウドインフラストラクチャサービスは、前記エンクレーブのファイアウォールの外側で、前記アクションについての前記要求を受信するように構成されている、請求項5に記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項7】
前記アクションは、ロードバランサを生成することを含み、前記命令は、前記コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
前記アクションについての前記認可が、前記1つまたは複数のオーソライザの各々から受信されていると判定することと、
前記ロードバランサを生成することとをさらに行わせる、先行する請求項のいずれかに記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項8】
前記コンピューティングシステムは、クラウドインフラストラクチャサービスであり、前記クラウドインフラストラクチャサービスは、前記クラウドインフラストラクチャサービスのエンクレーブのエッジにおいて、前記ロードバランサを創出するように構成されている、請求項7に記載の1つまたは複数の非一時的コンピュータ読み取り可能な媒体。
【請求項9】
クラウドインフラストラクチャサービスについてのアクションの認可を判定する方法であって、
セキュリティ要素が、前記クラウドインフラストラクチャサービスによって実行されるべきアクションについての要求を受信することと、
前記セキュリティ要素が、前記アクションの認可がそこから受信されることになる1つまたは複数のオーソライザを識別することとを含み、前記認可は、前記アクションの実行に対応し、
前記方法は、
前記セキュリティ要素が、前記アクションを完了するために前記クラウドインフラストラクチャサービスによって実行されるべき1つまたは複数のオペレーションを判定することと、
前記セキュリティ要素が、楕円曲線デジタル署名アルゴリズムによって、前記1つまたは複数のオペレーションに署名することと、
前記セキュリティ要素が、署名された前記1つまたは複数のオペレーションを記憶することと、
前記セキュリティ要素が、前記1つまたは複数のオーソライザから受信される応答に少なくとも部分的に基づいて、前記アクションの前記認可についての問い合わせ手続を開始することと、をさらに含む、方法。
【請求項10】
前記セキュリティ要素が前記1つまたは複数のオペレーションをシリアライズすることをさらに含み、前記1つまたは複数のオペレーションの前記署名することは、前記シリアライズされた1つまたは複数のオペレーションに署名することを含む、請求項9に記載の方法。
【請求項11】
前記セキュリティ要素が、前記アクションの前記認可は前記1つまたは複数のオーソライザの各々から受信されていると判定することと、
前記セキュリティ要素が、前記1つまたは複数のオペレーションの前記署名することによって生み出された署名に少なくとも部分的に基づいて、前記1つまたは複数のオペレーションは改ざんされていないということを検証することと、
前記セキュリティ要素が、前記アクションの前記認可が受信されていると前記判定することに少なくとも部分的に基づいて、前記1つまたは複数のオペレーションを実行させることと、をさらに含む、請求項9または請求項10に記載の方法。
【請求項12】
前記セキュリティ要素は、前記クラウドインフラストラクチャサービスのエンクレーブのエッジにおいて実現される、請求項9~請求項11のいずれかに記載の方法。
【請求項13】
前記セキュリティ要素は、前記エンクレーブのファイアウォールの外側で実現される、請求項12に記載の方法。
【請求項14】
前記セキュリティ要素は、前記クラウドインフラストラクチャサービスのプロキシまたはデーモンを含む、請求項12または請求項13に記載の方法。
【請求項15】
前記問い合わせ手続を開始することは、
前記セキュリティ要素が、前記1つまたは複数のオーソライザに、少なくとも1つの認可要求を送信することと、
前記セキュリティ要素が、前記少なくとも1つの認可要求への、前記1つまたは複数のオーソライザから受信される前記応答について監視することとを含み、前記1つまたは複数のオペレーションが前記クラウドインフラストラクチャサービスによって実行されることになるか否かは、前記応答に少なくとも部分的に基づく、請求項9~請求項14のいずれかに記載の方法。
【請求項16】
前記クラウドインフラストラクチャサービスは、第1のクラウドインフラストラクチャサービスであり、前記要求は、第2のクラウドインフラストラクチャサービスから受信され、前記方法は、前記セキュリティ要素が、前記第1のクラウドインフラストラクチャサービスに関係付けられたセキュアな情報が、前記1つまたは複数のオーソライザから受信される前記応答の受信よりも前に、前記第2のクラウドインフラストラクチャサービスに提供されることを防止することをさらに含む、請求項9~請求項15のいずれかに記載の方法。
【請求項17】
コンピューティングシステムであって、
前記コンピューティングシステムによる実行のためのオペレーションを記憶するためのメモリと、
前記メモリに結合されている1つまたは複数のプロセッサとを含み、前記1つまたは複数のプロセッサは、
前記コンピューティングシステムによって実行されるべきアクションについての要求を識別し、前記要求は、クライアントデバイスから受信され、
前記アクションの認可がそこから受信されることになる1つまたは複数のオーソライザを識別し、前記認可は、前記クライアントデバイスについての前記アクションの実行に対応し、
前記アクションを完了するために前記コンピューティングシステムによって実行されるべき1つまたは複数のオペレーションを判定し、
前記1つまたは複数のオペレーションをシリアライズし、
楕円曲線デジタル署名アルゴリズムによって、前記シリアライズされた1つまたは複数のオペレーションに署名し、
前記署名されシリアライズされた1つまたは複数のオペレーションを前記メモリにおいて記憶し、
前記1つまたは複数のオーソライザからの前記アクションの認可についての問い合わせ手続を開始する、コンピューティングシステム。
【請求項18】
前記1つまたは複数のプロセッサは、さらに、
前記アクションの前記認可が、前記1つまたは複数のオーソライザの各々から受信されていると判定し、
前記署名されシリアライズされた1つまたは複数のオペレーションを前記メモリから取り出し、
前記認可、および、前記メモリから取り出された、前記署名されシリアライズされた1つまたは複数のオペレーションに少なくとも部分的に基づいて、前記1つまたは複数のオペレーションを実行する、請求項17に記載のコンピューティングシステム。
【請求項19】
前記1つまたは複数のプロセッサは、さらに、前記シリアライズされた1つまたは複数のオペレーションの前記署名することによって生み出された署名に少なくとも部分的に基づいて、前記署名されシリアライズされた1つまたは複数のオペレーションは改ざんされていないということを検証するためのものであり、前記1つまたは複数のオペレーションは、前記署名されシリアライズされた1つまたは複数のオペレーションは改ざんされていないという前記検証に少なくとも部分的に基づいて実行されることになる、請求項18に記載のコンピューティングシステム。
【請求項20】
前記コンピューティングシステムは、クラウドインフラストラクチャサービスを含み、前記1つまたは複数のプロセッサは、さらに、前記クラウドインフラストラクチャサービスのエンクレーブのエッジにおいて、セキュリティ要素を実現し、前記セキュリティ要素は、前記アクションについての前記要求を識別する、請求項17~請求項19のいずれかに記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年1月7日に出願された、「Quorum-based Authorization」と題された、米国非仮出願第17/571,346号の優先権を主張するものであり、その開示全体が、すべての目的のために、参照により本明細書に組み込まれている。
【0002】
分野
本開示は、クラウドサービスプロバイダのインフラストラクチャサービスへのアクセスについての認可を判定するためのフレームワークに関係する。
【背景技術】
【0003】
背景
クラウドサービスプロバイダ(CSP)は、異なるシステムおよびインフラストラクチャサービスを使用して、オンデマンドでユーザまたはクライアントに種々のサービスを提供する。CSPは、クライアントによって、それらのクライアント自体のネットワークを作り上げ、顧客リソースをデプロイするために使用され得るインフラストラクチャサービスを提供する。CSPのインフラストラクチャサービスのセキュリティおよび継続される可用性を確実にするために、ユーザおよび/またはクライアントがインフラストラクチャサービスに関するアクションを使用および実行することの認可が、悪意のある人が認可されないデータにアクセスすること、および/または、インフラストラクチャサービスの一部分を攻撃することを防止するために求められ得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザおよび/またはクライアントがCSPのインフラストラクチャサービスに関するアクションを使用および実行することの認可を得ようとするためのレガシー手法は、第三者によるシステムの認可されないアクセス、および/または、認可されないアクションの実行のために利用され得る、ユーザおよび/またはクライアントに関する機微情報の共有をしばしば結果的に生じさせることになった。レガシー手法では、さらには、アクションを実行することについての事前承認された認可が必要とされ、ユーザおよび/またはクライアントは、アクションの実行を許されるには、アクションの実行を要求するよりも前にアクションの実行についての認可を必要としていた。
【0005】
概要
本開示は、一般的には、クラウドインフラストラクチャサービスなどの、コンピューティングシステムに関するアクションの実行についての認可を管理するためのフレームワークに関係する。方法、システム、1つまたは複数のプロセッサによって実行可能なプログラム、コード、または命令を記憶する非一時的コンピュータ読み取り可能な記憶媒体、および類するものを含む、様々な実施形態が、本明細書において説明される。これらの例示的な実施形態は、本開示を制限または定義するためではなく、本開示の理解の一助となるための例を提供するために述べられる。追加的な実施形態が、詳細な説明の節において論考され、さらに他の説明が、その詳細な説明の節において提供される。
【課題を解決するための手段】
【0006】
本開示の態様は、命令が記憶されている1つまたは複数の非一時的コンピュータ読み取り可能な媒体であって、命令は、コンピューティングシステムによって実行されると、コンピューティングシステムに、コンピューティングシステムによって実行されるべきアクションについての要求を受信させることがあり、要求は、クライアントデバイスから受信される、1つまたは複数の非一時的コンピュータ読み取り可能な媒体に向けられるものである。命令は、コンピューティングシステムによって実行されると、コンピューティングシステムに、1つまたは複数のオーソライザ(authorizer)をさらに識別させることがあり、アクションの認可が、その1つまたは複数のオーソライザから受信されることになり、認可は、クライアントデバイスについてのアクションの実行に対応する。命令は、コンピューティングシステムによって実行されると、コンピューティングシステムに、さらに、アクションに対応する1つまたは複数のオペレーションをシリアライズすることと、楕円曲線デジタル署名アルゴリズムによって、シリアライズされた1つまたは複数のオペレーションに署名することとを行わせ得る。さらに、命令は、コンピューティングシステムによって実行されると、コンピューティングシステムに、1つまたは複数のオペレーションが実行されることを認可されるか否かを判定するために、1つまたは複数のオーソライザの各々からのアクションの認可についての問い合わせ手続を開始させ得る。
【0007】
本開示の態様は、クラウドインフラストラクチャサービスについてのアクションの認可を判定する方法であって、セキュリティ要素が、クラウドインフラストラクチャサービスによって実行されるべきアクションについての要求を受信することと、セキュリティ要素が、1つまたは複数のオーソライザを識別することとを含み、アクションの認可が、その1つまたは複数のオーソライザから受信されることになり、認可は、アクションの実行に対応する、方法に向けられるものである。方法は、セキュリティ要素が、アクションを完了するためにクラウドインフラストラクチャサービスによって実行されるべき1つまたは複数のオペレーションを判定することと、セキュリティ要素が、楕円曲線デジタル署名アルゴリズムによって、1つまたは複数のオペレーションに署名することと、セキュリティ要素が、署名された1つまたは複数のオペレーションを記憶することとをさらに含み得る。方法は、セキュリティ要素が、1つまたは複数のオーソライザから受信される応答に少なくとも部分的に基づいて、アクションの認可についての問い合わせ手続を開始することをさらに含み得る。
【0008】
本開示の態様は、コンピューティングシステムであって、コンピューティングシステムによる実行のためのオペレーションを記憶するためのメモリと、メモリに結合されている1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、コンピューティングシステムによって実行されるべきアクションについての要求を識別し、要求は、クライアントデバイスから受信され、1つまたは複数のプロセッサは、1つまたは複数のオーソライザを識別し、アクションの認可が、その1つまたは複数のオーソライザから受信されることになり、認可は、クライアントデバイスについてのアクションの実行に対応する、コンピューティングシステムに向けられるものである。1つまたは複数のプロセッサは、さらに、アクションを完了するためにコンピューティングシステムによって実行されるべき1つまたは複数のオペレーションを判定し、1つまたは複数のオペレーションをシリアライズし、楕円曲線デジタル署名アルゴリズムによって、シリアライズされた1つまたは複数のオペレーションに署名し得る。さらに、1つまたは複数のプロセッサは、署名されシリアライズされた1つまたは複数のオペレーションをメモリにおいて記憶し、1つまたは複数のオーソライザからのアクションの認可についての問い合わせ手続を開始し得る。
【0009】
前述のことは、他の特徴および実施形態とともに、後に続く本明細書、特許請求の範囲、および、付随する図面を参照することを基に、より明らかになることになる。
【0010】
本開示の特徴、実施形態、および利点は、後に続く詳細な説明が、付随する図面を参照して読まれると、より良く理解される。
【図面の簡単な説明】
【0011】
図1】いくつかの実施形態に従って一例のインフラストラクチャサービス配置構成を例示する図である。
図2】いくつかの実施形態に従って一例の認可配置構成を例示する図である。
図3】いくつかの実施形態に従って認可のために実現され得る一例のデータ移行フローを例示する図である。
図4】いくつかの実施形態に従って他の例の認可配置構成を例示する図である。
図5】いくつかの実施形態に従ってアクションの実行についてのクライアントの認可についての一例の手続を例示する図である。
図6】いくつかの実施形態に従ってアクションの実行についてのクライアントの認可についての他の一例の手続を例示する図である。
図7】いくつかの実施形態に従ってアクションの実行についてのクライアントの認可についての他の一例の手続の第1の一部分を例示する図である。
図8】いくつかの実施形態に従って図7の一例の手続の第2の一部分を例示する図である。
図9】少なくとも1つの実施形態に従ってクラウドのサービスとしてのインフラストラクチャ(infrastructure as a service)システムを実現するための1つのパターンを例示するブロック線図である。
図10】少なくとも1つの実施形態に従ってクラウドのサービスとしてのインフラストラクチャシステムを実現するための別のパターンを例示するブロック線図である。
図11】少なくとも1つの実施形態に従ってクラウドのサービスとしてのインフラストラクチャシステムを実現するための別のパターンを例示するブロック線図である。
図12】少なくとも1つの実施形態に従ってクラウドのサービスとしてのインフラストラクチャシステムを実現するための別のパターンを例示するブロック線図である。
図13】少なくとも1つの実施形態に従って例コンピュータシステムを例示するブロック線図である。
【発明を実施するための形態】
【0012】
詳細な説明
後に続く説明において、解説の目的のために、特定の詳細が、いくつかの実施形態の徹底した理解をもたらすために明記される。しかしながら、様々な実施形態が、これらの特定の詳細なしに実践され得るということが明らかであることになる。図および説明は、限定的であることを意図されない。単語「例示的」は、「例、事例、または例示として役立つ」を意味するように、本明細書において使用される。「例示的」として本明細書において説明されるいかなる実施形態または設計も、他の実施形態または設計にまさって、好まれる、または有利であると必ずしも解釈されるべきでない。
【0013】
本開示は、クラウドサービサプロバイダ(cloud servicer provider)(CSP)によって提供されるインフラストラクチャサービス(クラウドインフラストラクチャサービス、例えば、図9のクラウドインフラストラクチャ、図10のクラウドインフラストラクチャ、図11のクラウドインフラストラクチャ、および/または、図12のクラウドインフラストラクチャなど)へのアクセスについての、および/または、インフラストラクチャサービスに関するアクションの実行についての、ユーザおよび/またはクライアント(本開示の全体を通して、「クライアント」と総称される)の認可を実行するための技術を説明する。より詳しくは、リアルタイム認可が提供されることがあり、インフラストラクチャサービスは、認可についての要求よりも前に認可が求められるよりもむしろ、クライアントからアクションの実行についての要求を受信することに応答して、クライアントについての認可を得ようとし得る。インフラストラクチャサービスは、アクションの実行についての1つまたは複数のオペレーションをシリアライズすることがあり、楕円曲線デジタル署名アルゴリズム(ECDSA)によって、シリアライズされたオペレーションに署名し得る。インフラストラクチャサービスは、シリアライズされたオペレーションを記憶することがあり、アクションがクライアントによって実行されることについての認可が受信されていると、オペレーションを凍結解除(thaw)および実行し得る。
【0014】
CSPは、異なるシステムおよびインフラストラクチャサービス(本明細書において、クラウドインフラストラクチャサービスと呼ばれる)を使用して、オンデマンドでクライアントに種々のサービスを提供し得る。いくつかの実施形態において、CSPは、サービスとしてのインフラストラクチャ(IaaS)モデルのもとでサービスを提供することがあり、CSPは、クライアントによって、そのクライアント自体のネットワークを作り上げ、顧客リソースをデプロイするために使用され得るインフラストラクチャサービスを提供する。CSPによって提供されるインフラストラクチャは、基板ネットワークまたはアンダーレイネットワークと呼ばれる物理ネットワークを形成する、様々なホストマシン(さらにはホストと呼ばれる)、メモリリソース、およびネットワークリソースを含む、相互接続されている高性能コンピュータリソースを含み得る。CSPによって提供されるインフラストラクチャは、1つまたは複数のリージョンにわたって地理的に広がることがある、1つまたは複数のデータセンタにわたって広がり得る。
【0015】
様々なホストマシン、メモリリソース、および/またはネットワークリソースを含み得る、CSPの物理ネットワークは、物理ネットワークの上部上に1つまたは複数の仮想またはオーバーレイネットワークを創出するための、土台となる基盤を提供し得る。これらの仮想またはオーバーレイネットワーク(さらにはソフトウェアベースの、またはソフトウェア定義ネットワークと呼ばれる)は、物理ネットワークの上部上で実施され得るネットワーク抽象化のレイヤを創出するためのソフトウェア仮想化技術を使用して実現され得る。オーバーレイネットワークは、多くの形式を引き受け得る。オーバーレイネットワークは、エンドポイントがそれらのエンドポイントの仮想IPアドレスによって指定された、レイヤ3 IPアドレッシングを使用し得る。オーバーレイネットワーキングのこの方法は、仮想レイヤ3ネットワーキングとしばしば呼ばれる。
【0016】
クライアントが、CSPによって提供されるIaaSサービスに加入する、または、そのIaaSサービスの登録をするとき、テナンシが、そのクライアントについて創出されることがあり、テナンシは、クライアントがそのクライアントのクラウドリソースを創出、組織化、および運営管理し得る、CSPのインフラストラクチャサービスの中のセキュアな、および分離されたパーティションである。例えば、クライアントは、クライアントのテナンシの中で、仮想クラウドネットワーク(VCN)と呼ばれる、1つまたは複数のカスタマイズ可能およびプライベート仮想ネットワークを作り上げるために、CSPによって提供されるリソースを使用し得る。コンピュートインスタンス(例えば、仮想マシン、ベアメタルインスタンス、その他)などの1つまたは複数のクライアントリソースが、これらのクライアントVCN上でデプロイされ得る。
【0017】
クライアントが、テナンシを確立する、または、別のアクションを実行するために、インフラストラクチャサービスにアクセスすることを試行するとき、クライアントは、テナンシを確立する、または、その別のアクションを実行することを要求する、インフラストラクチャサービスへの要求を送信し得る。インフラストラクチャサービスは、要求を受信し、クライアントが、アクションを実行することをインフラストラクチャサービスに要求していると判定し得る。アクションおよび/またはクライアントに基づいて、インフラストラクチャサービスは、認可が、クライアントについて実行されるべきアクションを認可するための1つまたは複数のオーソライザから必要とされると判定し得る。インフラストラクチャサービスは、オーソライザが事前規定されていることがある場合、クライアントおよび/またはアクションに基づいて、認可を提供するための1つまたは複数のオーソライザを識別し得る。インフラストラクチャサービスは、クライアントについてのアクションの実行の認可についての1つまたは複数の要求を、判定されたオーソライザの各々に提供し得る。インフラストラクチャサービスは、オーソライザからの応答から監視し、オーソライザからの応答に基づいて、クライアントがアクションの実行について認可されるか否かを判定し得る。
【0018】
クライアントによって要求されたアクションに基づいて、インフラストラクチャサービスは、アクションを完了するためにインフラストラクチャサービスによって実行されるべき1つまたは複数のオペレーションを判定し得る。いくつかの実施形態において、クライアントは、ステートフルであることがあり、しかるに、インフラストラクチャサービスは、ステートレスであり得る。ステートフルのクライアントと、ステートレスのインフラストラクチャサービスとの間のこのインターフェイス接続を容易にするために、アクションに関連付けられたステートは、認可判定がインフラストラクチャサービスによってなされてしまうと、凍結解除され、妥当性を確認され得る様式において、シリアライズされ記憶され得る。例えば、インフラストラクチャサービスは、アクションに関連付けられたオペレーションをシリアライズし得る。インフラストラクチャサービスは、楕円曲線デジタル署名アルゴリズム(ECDSA)によって、シリアライズされたオペレーションに署名し、署名されシリアライズされたオペレーションを記憶し得る。署名のためにECDSAを使用することは、同じレベルに対する同じデータの暗号保護について、レガシー手法と比較して、暗号保護データのためにより少ないクロックサイクルを使用し得る。さらに、ECDSAを使用することは、暗号化されたデータがポスト量子セキュアであることをもたらし得る。
【0019】
インフラストラクチャサービスが、アクションはクライアントについて実行されることを認可されると判定した場合、インフラストラクチャサービスは、署名されシリアライズされたオペレーションを取り出し得る。インフラストラクチャサービスは、シリアライズされたオペレーションに署名することによって生み出された署名に基づいて、シリアライズされたオペレーションは改ざんされていないということを検証し得る。例えば、インフラストラクチャサービスは、ストレージから取り出された、署名されシリアライズされたオペレーションに対応する署名が、シリアライズされたオペレーションが署名された時間において生み出された署名と一致するということを検証し得る。インフラストラクチャサービスが、シリアライズされたオペレーションは改ざんされていないということを検証する場合、インフラストラクチャサービスは、シリアライズされたオペレーションを実行し得る。例えば、インフラストラクチャサービスは、ステートフルのクライアントによって規定されたステートによって、オペレーションを実行し得る。
【0020】
図1は、いくつかの実施形態に従って一例のインフラストラクチャサービス配置構成100を例示する。特に、インフラストラクチャサービス配置構成100は、本開示の全体を通して説明される認可を判定するための手法のうちの1つまたは複数を実現し得る、インフラストラクチャサービスの一部分を例示する。いくつかの実施形態において、インフラストラクチャサービスは、図9のクラウドインフラストラクチャ、図10のクラウドインフラストラクチャ、図11のクラウドインフラストラクチャ、および/または、図12のクラウドインフラストラクチャの特徴のうちの1つまたは複数を含み得る。インフラストラクチャサービスは、コンピューティングシステムを含み得る。いくつかの実施形態において、インフラストラクチャサービスは、クラウドコンピューティングシステムを含み得る。インフラストラクチャサービスは、クライアントにサービスを提供し得るインフラストラクチャのハードウェアおよび/またはソフトウェアを含み得る。
【0021】
インフラストラクチャサービスは、インフラストラクチャサービスの一部分を提供するために通信可能に結合されている1つまたは複数のデバイス102を含み得る。例えば、インフラストラクチャサービス配置構成100は、例示される実施形態において、第1のデバイス102aと、第2のデバイス102bと、第3のデバイス102cとを含む。デバイス102は、コンピュータ端末、サーバ、他のコンピュータデバイス、または、それらの何らかの組み合わせなどのコンピューティングデバイスを含み得る。デバイス102は、インフラストラクチャサービスの一部分を形成するために、互いと通信することができ、インフラストラクチャサービスは、クラウドインフラストラクチャサービスなどのインフラストラクチャサービスを提供し得る。
【0022】
デバイス102は、異なるエンクレーブへとグループ化され得る。例えば、第1のデバイス102a、第2のデバイス102b、および、第3のデバイス102cは、インフラストラクチャサービスのエンクレーブ104の一部を形成し得る。エンクレーブ104は、特定のオペレーションを実行し得る。例えば、エンクレーブ104は、管理オペレーションを提供する管理エンクレーブ、サービスオペレーションを提供するサービスエンクレーブ、または、クライアントに顧客オペレーションを提供する顧客エンクレーブを含み得る。エンクレーブ104は、保護されたIaaSインスタンスを創出するために、ソフトウェア定義境界(software-defined perimeter)(SDP)セキュリティモデルを実現し得る。エンクレーブ104は、インフラストラクチャサービスにおける異なるエンクレーブの他の通信プロファイルとは異なり得る、一意的な通信プロファイルを有し得る。エンクレーブ104内への、および、エンクレーブ104の外へのアクセスは、制御される、監視される、および/または、ポリシによって駆動され得る。例えば、エンクレーブ104へのアクセスは、認可に基づくことがあり、エンクレーブ104へのアクセスは、認可されたクライアントに制限され得る。エンクレーブ104は、エンクレーブ104へのアクセスを提供するために、1つまたは複数のオーソライザから認可を受信することをクライアントに求め得る。エンクレーブ104は、1つもしくは複数のデバイス(第1のデバイス102a、第2のデバイス102b、および、第3のデバイス102cなど)、および/または、あるソフトウェアを含む、SDPが定義されることがあり、エンクレーブ104のエッジは、エンクレーブ104の外側の要素からの、デバイスおよび/またはソフトウェアの隔離によって定義される。
【0023】
エンクレーブ104は、悪質なネットワークトラフィックから保護するファイアウォール106を有し得る。例えば、エンクレーブ104は、エンクレーブ104に関するネットワークトラフィックを監視し、悪質なネットワークトラフィックから保護する、ソフトウェアベースのファイアウォール106を有し得る。ファイアウォール106は、エンクレーブ104のエッジの中に配置されてもよく、少なくとも、エンクレーブ104のデバイスおよび/またはソフトウェアの一部分を保護し得る。
【0024】
インフラストラクチャサービスは、セキュリティ要素108などの1つまたは複数のセキュリティ要素を含み得る。セキュリティ要素108は、デバイス、ソフトウェア、または、それらの何らかの組み合わせを含み得る。セキュリティ要素108は、エンクレーブ104のエッジに配置され得る。さらに、セキュリティ要素108は、エンクレーブ104のファイアウォール106の外側に配置され得る。例えば、セキュリティ要素108は、エンクレーブ104のセキュアな一部分にアクセスすることなく、セキュリティ要素108との通信を可能とするために、エンクレーブ104のエッジにおいて、および/または、ファイアウォール106の外側に配置され得る。
【0025】
セキュリティ要素108は、エンクレーブ104および/またはインフラストラクチャサービスにアクセスすることを試行するクライアントが、エンクレーブ104および/またはインフラストラクチャサービスにアクセスすることを認可されるか否かを判定し得る。例えば、クライアントは、エンクレーブ104および/またはインフラストラクチャサービスが1つまたは複数のアクションを実行することの要求を送信し得る。セキュリティ要素108は、要求を受信し、クライアントは1つまたは複数のアクションの実行についての認可をすでに受信しているか否かを判定し得る。セキュリティ要素108が、クライアントはエンクレーブ104および/またはインフラストラクチャサービスにアクセスすることについての認可をすでに有すると判定した場合、セキュリティ要素108は、エンクレーブ104および/またはインフラストラクチャサービスに、クライアントによって要求された1つまたは複数のアクションを実行させ得る。
【0026】
セキュリティ要素108が、クライアントは1つまたは複数のアクションの実行についての認可について以前に提供されていないと判定した場合、セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を許可されるべきであるか否かを判定するための手続を開始し得る。例えば、セキュリティ要素108は、1つまたは複数のアクションを実行することの認可をクライアントに提供し得る、1つまたは複数のオーソライザを識別し得る。オーソライザは、1つまたは複数のアクションについてクライアントに認可を許可することができる1人または複数の個人および/または1つまたは複数のデバイスを含み得る。オーソライザは、インフラストラクチャサービスおよび/もしくはエンクレーブ104、1つもしくは複数のアクションの実行、または、それらの何らかの組み合わせに対する認可を、クライアントに許可することが可能であり得る。オーソライザは、予め規定されていてもよく、または、要求の時間において規定されてもよい。
【0027】
セキュリティ要素108が、クライアントは1つまたは複数のアクションの実行についての認可について以前に提供されていないと判定したことに基づいて、セキュリティ要素108は、1つまたは複数のアクションを初期に実行しなくてもよい。特に、セキュリティ要素108は、認可がオーソライザから受信される、オーソライザから認可を受信するための所定の量の時間が満了してしまう、または、オーソライザが、クライアントは1つもしくは複数のアクションの実行について認可されないということを指示するまで、1つまたは複数のアクションを記憶し得る。セキュリティ要素108は、記憶のために、1つまたは複数のアクションを、1つまたは複数のオペレーションへとコンバートすることがあり、1つまたは複数のオペレーションは、1つまたは複数のアクションを完了するために実行されることになる。オペレーションは、インフラストラクチャサービスによって実行され得るフォーマットにおけるものであることがあり、しかるに、アクションは、異なるフォーマットにおけるものであり得る。
【0028】
クライアントは、ステートフルであることがあり、一方で、インフラストラクチャサービスは、ステートレスであり得る。オペレーションを適正に実行するために、インフラストラクチャサービスは、オペレーションを実行するときに、オペレーションについてのステートを考慮に入れ得る。オペレーションが実行されるときに、ステートが考慮に入れられるということを確実にするために、オペレーションは、インフラストラクチャサービスによって、オペレーションについてのステートを維持するためのあるフォーマットにおいて記憶され得る。例えば、セキュリティ要素108は、記憶のために、オペレーションをシリアライズし得る。例えば、セキュリティ要素108は、オペレーションを、記憶され得る、および、その後に再構築され得る、フォーマットへと変換し得る。オペレーションのシリアライゼーションは、インフラストラクチャサービスが、ステートレスのインフラストラクチャサービスによって実行されている間のオペレーションのステートを維持することを可能とし得る。
【0029】
セキュリティ要素108は、オペレーションにさらに署名し得る。例えば、セキュリティ要素108は、シリアライズされたオペレーションに署名し得る。セキュリティ要素108は、楕円曲線デジタル署名アルゴリズム(ECDSA)によって、オペレーションに署名し得る。例えば、セキュリティ要素108は、オペレーションに署名するための署名を生み出すために、鍵とともにECDSAを利用し得る。セキュリティ要素108は、鍵に基づいて署名を生み出すことがあり、署名は、署名されたオペレーションに関連付けられる。セキュリティ要素108は、エンクレーブ104の中で鍵を維持することがあり、一方で、セキュリティ要素108は、アクションを要求するクライアントと署名を共有し得る。セキュリティ要素108は、次いで、署名されシリアライズされたオペレーションを、インフラストラクチャサービスのメモリにおいてなどで記憶し得る。オペレーションの署名のためにECDSAを使用することは、ポスト量子セキュリティをもたらし得る。例えば、量子コンピュータがECDSAをクラッキングするためにかかることになるリソースのコストは、ECDSAがポスト量子セキュリティのために保護しているデータよりも高価であることになる。さらに、ECDSAを使用することは、ECDSAが、レガシー手法と比較して、同じレベルに対するデータに対して、保護するためにより少ないクロックサイクルを使用することなどで、レガシー手法よりも高速であり得る。
【0030】
セキュリティ要素108は、1つまたは複数のオペレーションが実行されることを認可されるか否かを判定するために、1つまたは複数のオーソライザの各々からのアクションの認可についての問い合わせ手続を開始し得る。例えば、セキュリティ要素108は、オーソライザの各々に、1つまたは複数の認可要求を送信することがあり、認可要求は、クライアントが、クライアントによって要求された1つまたは複数のアクションについて認可されるか否かに関しての、オーソライザの各々からの応答を要求し得る。セキュリティ要素108は、テキストメッセージ、電子メール、プッシュメッセージ、および/または、オーソライザによる応答に備える他のメッセージとして、認可要求を送信し得る。認可要求は、オーソライザの各々が、クライアントはアクションの実行について認可される、または認可されないということを指示するように応答することを可能とし得る。セキュリティ要素108は、認可要求への、1つまたは複数のオーソライザの各々からの応答について監視し得る。
【0031】
セキュリティ要素108は、オーソライザから受信される応答、または、それらの応答の欠如に基づいて、クライアントは1つまたは複数のアクションの実行についての認可を有するか否かを判定し得る。例えば、セキュリティ要素108は、セキュリティ要素108によって以前に提供された認可要求に応答した、オーソライザからの応答を受信し得る。いくつかの実施形態において、セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を有するか否かの判定を実行するよりも前に、応答がすべてのオーソライザから受信されるまで待機し得る。セキュリティ要素108は、オーソライザからの応答の各々が、クライアントは1つまたは複数のアクションの実行について認可されるということを指示したか、それとも、クライアントは1つまたは複数のアクションの実行について認可されないということを指示したかを判定し得る。セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を有するということを指示する応答の各々に基づいて、クライアントは1つまたは複数のアクションの実行についての認可を有すると判定し得る。対照的に、セキュリティ要素108は、クライアントは1つまたは複数のアクションを実行することを認可されないということを指示する応答のいずれかに基づいて、クライアントは実行についての認可を有さないと判定し得る。
【0032】
他の事例において、セキュリティ要素108は、クライアントが1つもしくは複数のアクションの実行についての認可を有するということを指示する応答の特定のパーセンテージに基づいて、クライアントが認可を有すると判定し得るか、または、特定のオーソライザに対応する応答が、クライアントが1つもしくは複数のアクションの実行についての認可を有するということを指示する。例えば、セキュリティ要素108は、いくつかの事例において、クライアントは1つまたは複数のアクションの実行について認可されないということを指示する応答の数よりも大きい数の応答が、クライアントは1つまたは複数のアクションの実行についての認可を有するということを指示することに基づいて、クライアントは認可を有すると判定し得る。いくつかの事例において、他のオーソライザの応答と関係なく、クライアントについての1つまたは複数のアクションの実行についての認可を提供し得る、特定のオーソライザ、および/または、オーソライザの特定のグループが存し得る。例えば、どの認可要求に対するかでは、オーソライザと無関係に、セキュリティ要素108は、事前規定されたオーソライザ、または、オーソライザの事前規定されたグループが、クライアントは1つまたは複数のアクションの実行についての認可を有するということを指示したと判定することがあり、クライアントは1つまたは複数のアクションの実行について認可されるということを指示する、事前規定されたオーソライザ、または、オーソライザの事前規定されたグループの指示に基づいて、クライアントは1つまたは複数のアクションについての認可を有すると判定し得る。いくつかの事例において、オーソライザのうちの1つまたは複数は、別の方法において認可を許可することがあり、その別の方法は、あるグループのオーソライザのいずれか1つが、クライアントは1つまたは複数のアクションの実行についての認可を有するということを指示する場合、セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を有すると判定し得るというようなものである。
【0033】
いくつかの事例において、セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を有するか否かの判定のための、オーソライザからの応答についてのタイマを実現し得る。例えば、セキュリティ要素108が、1つまたは複数のアクションについてクライアントに認可を提供するための、オーソライザからの相応の応答が、タイマによって規定された時間期間の中で受信されていないと判定した場合、セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を有さないと判定し得る。
【0034】
セキュリティ要素108が、オーソライザからの応答に基づいて、クライアントは1つまたは複数のアクションの実行についての認可を有さないと判定した場合、セキュリティ要素108は、1つまたは複数のアクションに関連付けられたオペレーションを実行しないことがある。セキュリティ要素108は、クライアントは1つまたは複数のアクションの実行についての認可を有さないという判定に基づいて、記憶されているオペレーションをメモリからさらに除去し得る。
【0035】
セキュリティ要素108が、オーソライザからの応答に基づいて、クライアントは1つまたは複数のアクションの実行についての認可を有すると判定した場合、セキュリティ要素108は、オペレーションを実行し得る。例えば、セキュリティ要素108は、署名されシリアライズされたオペレーションをメモリから取り出し得る。セキュリティ要素108は、オペレーションが改ざんされているか否かを判定するために、署名されシリアライズされたオペレーションの署名をチェックし得る。例えば、セキュリティ要素108は、取り出しの時間における署名されシリアライズされたオペレーションの署名を、シリアライズされたオペレーションが署名されたときに生み出された署名と比較し得る。署名が一致する場合、セキュリティ要素108は、オペレーションは改ざんされていないと判定し得る。署名が一致しない場合、セキュリティ要素108は、オペレーションは改ざんされていると判定し得る。
【0036】
セキュリティ要素108が、オペレーションは改ざんされていると判定した場合、セキュリティ要素108は、セキュリティ要素108が、クライアントは1つまたは複数のアクションの実行についての認可を有すると判定するとしても、オペレーションが実行されることを防止し得る。セキュリティ要素108が、オペレーションは改ざんされていないと判定した場合、セキュリティ要素108は、シリアライズされたオペレーションを実行させることを続け得る。例えば、セキュリティ要素108は、シリアライズされたオペレーションを、インフラストラクチャサービスによって実行させることがあり、オペレーションのシリアライゼーションにより、オペレーションを実行するときにステートが考慮されるようになる。
【0037】
インフラストラクチャサービス配置構成100は、インフラストラクチャサービスの一部分の実施形態を例示するが、インフラストラクチャサービス配置構成100の特徴を有するインフラストラクチャサービスの他の実施形態が、本開示によって包含されるべきであるということが理解されるべきである。例えば、エンクレーブ(エンクレーブ104など)は、1つもしくは複数のデバイスによって形成されることがあり、および/または、1つもしくは複数のデバイスは、複数のエンクレーブに含まれ得る。さらに、インフラストラクチャサービスは、例示される単一のエンクレーブよりもむしろ、複数のエンクレーブを含み得る。各エンクレーブは、複数のセキュリティ要素をさらに含むことがあり、セキュリティ要素の各々は、クライアントの任意のものによってアクセスされることがあり、セキュリティ要素の各々は、対応するクライアントが、対応するセキュリティ要素にアクセスし得ることがあるように、対応するクライアントに専用化されることがあり、または、それらのことの何らかの組み合わせである。
【0038】
図2は、いくつかの実施形態に従って一例の認可配置構成200を例示する。例えば、認可配置構成200は、いくつかの実施形態に従ってクォーラムベースの認可の手法を例示するための、デバイスの例レイアウトを例示する。認可配置構成200は、手法を例示するために使用される単一の実施形態であり、手法の実現形態は、例示される例レイアウトに制限されないということが理解されるべきである。
【0039】
認可配置構成200は、エンクレーブ202を含み得る。エンクレーブ202は、エンクレーブ104(図1)の特徴のうちの1つまたは複数を含み得る。エンクレーブ202は、図1との関係において説明されたインフラストラクチャサービスなどのインフラストラクチャサービス、または、そのインフラストラクチャサービスの一部分を含み得る。インフラストラクチャサービスは、いくつかの実施形態において、クラウドコンピューティングシステムなどのコンピューティングシステムを含み得る。エンクレーブ202は、例示されるセキュリティ要素204などの、1つまたは複数のセキュリティ要素を含み得る。セキュリティ要素204は、セキュリティ要素108(図1)の特徴のうちの1つまたは複数を含み得る。
【0040】
認可配置構成200は、クライアントデバイス206を含み得る。クライアントデバイス206は、単一のデバイス、別のインフラストラクチャサービス、またはクラウドコンピューティングシステムを含み得る。いくつかの実施形態において、クライアントデバイス206は、エンクレーブ202とは別個のオペレータによって維持され得る。クライアントデバイス206は、インターネットを介してなど、ネットワークを介して、エンクレーブ202と通信し得る。いくつかの実施形態において、クライアントデバイス206、または、クライアントデバイス206を利用するユーザ(クライアントデバイス206およびユーザは、クライアントと呼ばれることがある)は、エンクレーブ202によって提供されるインターフェイスサービス(または、エンクレーブ202を含むインフラストラクチャサービス)へのサブスクライバに関連付けられていることがあり、エンクレーブ202は、クライアントデバイス206にサービスを提供し得る。いくつかの実施形態において、サブスクライバは、複数人のユーザおよび/または複数のクライアントデバイスを含み得る組織を含み得る。インターフェイスサービスは、いくつかの実施形態において、クラウドコンピューティングサービスを含み得る。クライアントデバイス206は、エンクレーブ202によって提供されるべきサービスを要求することができ得る。ユーザは、クライアントデバイス206にアクセスし、エンクレーブ202にサービスを要求するために、クライアントデバイス206を利用し得る。例えば、ユーザは、クライアントデバイス206にサインインし得る個人であってもよく、クライアントデバイス206にサインインするユーザは、ユーザのアイデンティティを立証し得る。
【0041】
クライアントデバイス206が、エンクレーブ202にアクションおよび/またはサービスを要求するとき、エンクレーブ202は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションおよび/またはサービスの実行について認可されるか否かを判定するための認可手続を実行し得る。例えば、クライアントデバイス206は、エンクレーブ202、または、エンクレーブ202を含むインフラストラクチャサービスによる、1つまたは複数のアクションの実行のために、エンクレーブ202に要求を送信し得る。セキュリティ要素204は、クライアントデバイス206から要求を受信することがあり、クライアントデバイス206が、エンクレーブ202、または、エンクレーブ202を含むインフラストラクチャサービスによって実行されるべき、1つまたは複数のアクションを要求していると判定し得る。
【0042】
クライアントデバイス206から受信された要求に基づいて、セキュリティ要素204は、要求を送信する、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザのアイデンティティを判定し得る。例えば、クライアントデバイス206から受信された要求は、クライアントデバイス206に対応する識別子、クライアントデバイス206を利用するユーザに対応する識別子、または両方を含み得る。セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、要求されているアクションの実行についての認可を以前に許可されているか否かを判定し得る。例えば、クライアントデバイス206は、認可に関して、アクションのタイプの将来の実行のために以前に提供していたかもしれない。セキュリティ要素204は、要求において要求されているアクションが、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザが実行についての認可を以前に受信しているアクションのタイプのいずれかに該当するか否かを判定し得る。セキュリティ要素204が、アクションについての認可は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに以前に提示されていたと判定した場合、セキュリティ要素204は、エンクレーブ202および/またはインフラストラクチャサービスにアクションを実行させ得る。
【0043】
セキュリティ要素204が、アクションについての認可は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに以前に提示されていないと判定した場合、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、要求に基づくアクションについての認可を受信すべきであるか否かを判定するための手続を実行し得る。例えば、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザが、アクションが実行されることの認可を提供し得る、1つまたは複数のオーソライザを識別し得る。オーソライザは、アクションの実行について、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに認可を許可することの能力を有する、個人、デバイス、または、それらの何らかの組み合わせであり得る。オーソライザは、予め規定されていてもよく、または、要求の時間において規定されてもよい。オーソライザは、クライアントデバイス206、および/もしくは、クライアントデバイス206を利用するユーザと同じサブスクライバに関連付けられていることがあり、または、サブスクライバによって割り当てられ得る。セキュリティ要素204が、オーソライザは、アクションの実行について、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに割り当てられていないと判定した場合、セキュリティ要素204は、エンクレーブ202および/またはインフラストラクチャサービスはアクションを実行すべきでないと判定し得る。セキュリティ要素204が、アクションの実行について、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに割り当てられた、1つまたは複数のオーソライザを識別する場合、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションについての認可を受信すべきであるか否かの判定を続け得る。
【0044】
要求が受信される時間と、認可がオーソライザから受信される時間との間の遅延が存在し得るので、セキュリティ要素204は、将来の実行のためにアクションを記憶し得る。クライアントデバイス206は、ステートフルであることがあり、しかるに、エンクレーブ202および/またはインフラストラクチャサービスは、ステートレスであり得る。アクションを適正に実行するために、アクションについてのステートは、考慮に入れられることを必要とし得る。よって、セキュリティ要素204は、アクションに対応するステートを維持するために、ある手立てにおいてアクションを記憶し得る。例えば、セキュリティ要素204は、要求されているアクションを完了するために、エンクレーブ202および/またはインフラストラクチャサービスによって実行されることになる、1つまたは複数のオペレーションを判定し得る。セキュリティ要素204は、オペレーションに対応するステートを維持するために、あるフォーマットにおいてオペレーションを記憶し得る。例えば、セキュリティ要素204は、記憶のために、オペレーションをシリアライズし得る。セキュリティ要素204は、オペレーションを、記憶され得る、および、その後に再構築され得る、フォーマットへと変換し得る。オペレーションのシリアライゼーションは、エンクレーブ202および/またはインフラストラクチャサービスが、ステートレスのエンクレーブ202および/またはインフラストラクチャサービスによって実行されているときのオペレーションのステートを維持することを可能とし得る。
【0045】
セキュリティ要素204は、記憶のために、オペレーションにさらに署名し得る。オペレーションの署名を行なうことは、オペレーションはエンクレーブ202および/またはインフラストラクチャサービスによる実行よりも前に改ざんされていないということを検証するために利用され得る。セキュリティ要素204は、ECDSAによってオペレーションに署名し得る。例えば、セキュリティ要素204は、オペレーションに署名するための鍵とともにECDSAを利用し得る。ECDSAによって生み出された署名、および鍵は、オペレーションに関連付けられ得る。セキュリティ要素204は、エンクレーブ202の中で鍵を維持することがあり、一方で、セキュリティ要素204は、要求を送信したクライアントデバイス206と署名を共有し得る。セキュリティ要素204は、次いで、署名されシリアライズされたオペレーションを、セキュリティ要素204、エンクレーブ202、および/またはインフラストラクチャサービスのメモリにおいてなどで記憶し得る。署名のためにECDSAを使用することは、ポスト量子セキュリティをもたらすことがあり、レガシー手法と比較して、より少ないクロックサイクルを利用し得る。
【0046】
セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションの実行についての認可を受信すべきであるか否かを判定するための問い合わせ手続を開始し得る。セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに認可を提供するための、識別されたオーソライザについての、アカウント(オーソライザがメッセージを提供され得る、eメールアカウント、メッセージングアカウント、ソーシャルメディアアカウント、または、他のアカウントなど)、電話番号、デバイス、または、それらの何らかの組み合わせを識別し得る。セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションについての認可を許可されるべきであるか否かを指示する応答を要求する、1つまたは複数の要求を、オーソライザの各々に送信し得る。要求は、アクションについての認可を得ようとする、クライアントデバイス206、および/または、クライアントデバイス206のユーザの指示を含み得る。セキュリティ要素204は、オーソライザの各々についての、アカウント、電話番号、デバイス、または、それらの何らかの組み合わせのうちの1つまたは複数に要求を送信し得る。要求は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションについて、認可を提供されるべきである、または、認可を提供されるべきでないという指示によって応答することをオーソライザに要求し得る。いくつかの事例において、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206のユーザは、アクションについての認可を許可されるべきであるか否かの指示を要求する初期要求の後に、1つまたは複数の再度の要求を送出し得る。
【0047】
認可配置構成200は、第1のオーソライザデバイス208a、および、第2のオーソライザデバイス208bなどの、1つまたは複数のオーソライザデバイス208を含み得る。オーソライザデバイス208は、オーソライザのうちの1つまたは複数に対応し得る。例えば、オーソライザデバイス208の各々は、デバイスを含み得、オーソライザのうちの1つまたは複数は、セキュリティ要素204によって要求が送信されるアカウント、電話番号、および/または、そのデバイスにアクセスし得る。識別されたオーソライザに基づいて、セキュリティ要素204は、いくつかの事例において、識別されたオーソライザに関連付けられたオーソライザデバイス208を識別し、オーソライザデバイス208に要求を送信し得る。いくつかの事例において、オーソライザデバイス208は、オーソライザが、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションについての認可を提供されるべきであるか否かの指示を入力することを可能とする入力デバイスを含み得る。
【0048】
セキュリティ要素204は、オーソライザデバイス208の各々に要求を提供し得る。例えば、セキュリティ要素204は、オーソライザデバイス208の各々に直接的に、オーソライザデバイス208を介してアクセスされ得るアカウントに、オーソライザデバイス208に関連付けられた電話番号に、または、それらの何らかの組み合わせで、要求を送信し得る。例示される実施形態において、セキュリティ要素204は、第1のオーソライザからの指示を得ようとするために、第1のオーソライザデバイス208aに1つまたは複数の要求を送信することがあり、第2のオーソライザからの指示を得ようとするために、第2のオーソライザデバイス208bに1つまたは複数の要求を送信し得る。いくつかの事例において、第1のオーソライザデバイス208a、および/または、第2のオーソライザデバイス208bは、対応するオーソライザに、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザについての認可の指示を要求するユーザインターフェイスを、デバイス上に表示し得る。オーソライザデバイス208の各々は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションについての認可を提供されるべきであるか否かの、対応するオーソライザからの指示を検出し得る。オーソライザから受け取られた指示に基づいて、オーソライザデバイス208は、クライアントデバイス206、および/または、クライアントデバイス206のユーザは、アクションについての認可を許可されるべきであるか否かの指示を送信し得る。いくつかの事例において、オーソライザデバイス208のうちの1つまたは複数は、オーソライザによって指示を提供されないことがあり、その事例において、指示を受け取らないオーソライザデバイスのうちの1つまたは複数は、セキュリティ要素204に応答を提供しないことがある。
【0049】
セキュリティ要素204は、オーソライザデバイス208からの応答について監視することがあり、オーソライザデバイス208から応答を受信し得る。例えば、セキュリティ要素204は、例示される実施形態において、第1のオーソライザに対応する第1のオーソライザデバイス208aから第1の応答を、および、第2のオーソライザに対応する第2のオーソライザデバイス208bから第2の応答を受信し得る。セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206のユーザは、アクションについての認可が許可されるべきであるか否かを判定し得る。いくつかの実施形態において、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206のユーザは、アクションについての認可を許可されるべきであるか否かを判定するよりも前に、応答が、要求が送信されたすべてのオーソライザから受信されるまで待機し得る。セキュリティ要素204が、オーソライザのすべては、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションの実行について認可されるべきであるということを指示したと判定した場合、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションについて認可されるべきであると判定し得る。オーソライザのいずれかが、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションの実行について認可されるべきでないということを指示した場合、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションを実行することを認可されないと判定し得る。
【0050】
いくつかの事例において、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションを実行することを認可されると判定するために、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、認可を許可されるべきであるという、オーソライザからの全者一致の指示を必要としないことがある。これらの事例において、セキュリティ要素204は、クライアントがアクションの実行についての認可を有するということを指示する応答の特定のパーセンテージに基づいて、クライアントが認可を有すると判定し得るか、または、特定のオーソライザに対応する応答が、クライアントがアクションの実行についての認可を有するということを指示する。
【0051】
いくつかの事例において、セキュリティ要素204は、クライアントはアクションの実行についての認可を有するか否かの判定のための、オーソライザからの応答についてのタイマを実現し得る。例えば、セキュリティ要素204が、アクションの実行について、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザに認可を提供するための、オーソライザからの相応の応答が、タイマによって規定された時間期間の中で受信されていないと判定した場合、セキュリティ要素204は、クライアントデバイス206、および/または、クライアントデバイス206を利用するユーザは、アクションの実行についての認可を有さないと判定し得る。
【0052】
セキュリティ要素204が、オーソライザからの応答に基づいて、クライアントはアクションの実行についての認可を有さないと判定した場合、セキュリティ要素204は、アクションに関連付けられたオペレーションを実行しないことがある。セキュリティ要素204は、クライアントはアクションの実行についての認可を有さないという判定に基づいて、記憶されているオペレーションをメモリからさらに除去し得る。
【0053】
セキュリティ要素204が、オーソライザからの応答に基づいて、クライアントはアクションの実行についての認可を有すると判定した場合、セキュリティ要素204は、オペレーションを実行し得る。例えば、セキュリティ要素204は、署名されシリアライズされたオペレーションをメモリから取り出し得る。セキュリティ要素204は、オペレーションが改ざんされているか否かを判定するために、署名されシリアライズされたオペレーションの署名をチェックし得る。例えば、セキュリティ要素204は、取り出しの時間における署名されシリアライズされたオペレーションの署名を、シリアライズされたオペレーションが署名されたときに生み出された署名と比較し得る。署名が一致する場合、セキュリティ要素204は、オペレーションは改ざんされていないと判定し得る。署名が一致しない場合、セキュリティ要素204は、オペレーションは改ざんされていると判定し得る。
【0054】
セキュリティ要素204が、オペレーションは改ざんされていると判定した場合、セキュリティ要素204は、オペレーションが実行されることを防止し得る。セキュリティ要素204が、オペレーションは改ざんされていないと判定した場合、セキュリティ要素204は、シリアライズされたオペレーションを実行させることを続け得る。例えば、セキュリティ要素204は、シリアライズされたオペレーションを、エンクレーブ202および/またはインフラストラクチャサービスによって実行させることがあり、オペレーションのシリアライゼーションにより、オペレーションを実行するときにステートが考慮されるようになる。
【0055】
図3は、いくつかの実施形態に従って認可のために実現され得る一例のデータ移行フロー300を例示する。例えば、セキュリティ要素(セキュリティ要素108(図1)および/またはセキュリティ要素204(図2)など)が、いくつかの実施形態において、クライアントデバイス(クライアントデバイス206(図2)など)から受信されたアクションによって、移行のうちの1つまたは複数を実行し得る。データ移行フロー300において示される移行およびデータ構造は、ステートレスのシステムによる後の実行のための、ステートレスのシステムにおける、ステートフルのシステムからのオペレーションの記憶を容易にし得る。
【0056】
データ移行フロー300は、アクション302によって開始され得る。例えば、アクション302は、クライアントデバイスからセキュリティエンティティによって受信されることがあり、アクションは、クライアントデバイスについて実行するための、エンクレーブ(エンクレーブ104(図1)および/またはエンクレーブ202(図2)など)、および/または、セキュリティエンティティに対応するインターフェイスについてのアクションを指示する。セキュリティエンティティは、アクション302は後の実行のために記憶されるべきであると判定し得る。
【0057】
データ移行フロー300は、アクション302を、1つまたは複数のオペレーション304にコンバートすることを含み得る。例えば、セキュリティ要素は、クライアントデバイスから受信されたアクション302を、1つまたは複数のオペレーション304にコンバートし得る。1つまたは複数のオペレーション304は、アクション302を完了するために、エンクレーブおよび/またはインターフェイスによって実行され得る。例えば、アクション302は、エンクレーブおよび/またはインフラストラクチャサービスによって実行されないことがあるフォーマットにおけるものであることがあり、セキュリティ要素は、アクション302を、アクション302を完了するためにエンクレーブおよび/またはインフラストラクチャサービスによって実行され得る1つまたは複数のオペレーション304へとコンバートし得る。他の事例において、クライアントデバイスによって提供されたアクション302は、エンクレーブおよび/またはインフラストラクチャサービスによって実行され得るフォーマットにおけるものであることがあり、アクション302は、1つまたは複数のオペレーション304として利用され得る。これらの事例において、コンバージョンは省かれ得る。
【0058】
データ移行フロー300は、1つまたは複数のオペレーション304をシリアライズすることを含み得る。例えば、セキュリティ要素は、シリアライズされたオペレーション306を生み出すために、1つまたは複数のオペレーション304をシリアライズし得る。セキュリティ要素は、オペレーションを、記憶され、後に再構築され得る、シリアライズされたオペレーション306へと変換し得る。オペレーションのシリアライゼーションは、オペレーションに対応するステートを維持し得る。よって、エンクレーブおよび/またはインフラストラクチャサービスは、その後にオペレーションを実行するときに、オペレーションのステートを考慮に入れ得る。いくつかの事例において、シリアライゼーションは省かれ得る。
【0059】
データ移行フロー300は、シリアライズされたオペレーション306に署名することを含み得る。例えば、セキュリティ要素は、ECDSAによって、シリアライズされたオペレーションに署名し得る。セキュリティ要素は、鍵を有し、ECDSAおよび鍵によって署名308を生み出し得る。セキュリティ要素は、署名されシリアライズされたオペレーション310を生み出すために、署名308によって、シリアライズされたオペレーション306に署名し得る。いくつかの事例において、セキュリティ要素は、クライアントデバイスに署名308を提供し得る。
【0060】
データ移行フロー300は、署名されシリアライズされたオペレーションを凍結解除することを含み得る。例えば、セキュリティ要素は、エンクレーブおよび/またはインフラストラクチャサービスによる実行のために、署名されシリアライズされたオペレーションを凍結解除し得る。署名されシリアライズされたオペレーションを凍結解除することは、オペレーションは、シリアライズされたオペレーションが署名された時間と、署名されシリアライズされたオペレーションが凍結解除されている時間との間に改ざんされていないということを検証するために、署名されシリアライズされたオペレーションの署名308を検証することを含み得る。署名されシリアライズされたオペレーションを凍結解除することは、エンクレーブおよび/またはインフラストラクチャサービスによって実行され得る1つまたは複数のオペレーション312を生み出すために、オペレーションをデシリアライズすることをさらに含み得る。例えば、セキュリティ要素は、シリアライズされたオペレーションを、エンクレーブおよび/またはインフラストラクチャサービスによって実行され得るフォーマットへとコンバートし得る。セキュリティ要素は、次いで、エンクレーブおよび/またはインフラストラクチャサービスに、1つまたは複数のオペレーション312を実行させ得る。
【0061】
図4は、いくつかの実施形態に従って他の一例の例認可配置構成400を例示する。例えば、認可配置構成400は、クライアントデバイス402が、ロードバランサ404が生成されることを要求する例を示す。クォーラムベースの認可手法が、認可配置構成400において実現され得る。
【0062】
認可配置構成400は、クライアントデバイス402を含み得る。クライアントデバイス402は、クライアントデバイス206(図2)の特徴のうちの1つまたは複数を含み得る。例示される実施形態において、クライアントデバイス402は、ロードバランサ404が、エンクレーブ406および/またはインフラストラクチャサービス(図1との関係において説明されたインフラストラクチャサービス、図9のクラウドインフラストラクチャ、図10のクラウドインフラストラクチャ、図11のクラウドインフラストラクチャ、および/または、図12のクラウドインフラストラクチャなど)によって生成されるということを要求し得る。ロードバランサ404は、クライアントデバイス402によって送信されたデータを、エンクレーブ406および/またはインフラストラクチャサービスに指向するために利用され得る。例えば、ロードバランサ404は、エンクレーブ406および/またはインフラストラクチャサービスの中で、クライアントデバイス402または他のデバイスによって要求されたアクションを指向するために利用され得る。
【0063】
認可配置構成400は、エンクレーブ406を含み得る。エンクレーブ406は、エンクレーブ104(図1)および/またはエンクレーブ202(図2)の特徴のうちの1つまたは複数を含み得る。エンクレーブ406は、図1との関係において説明されたインフラストラクチャサービスなどのインフラストラクチャサービス、または、そのインフラストラクチャサービスの一部分を含み得る。インフラストラクチャサービスは、いくつかの実施形態において、クラウドコンピューティングシステムなどのコンピューティングシステムを含み得る。エンクレーブ406は、セキュリティ要素408を含み得る。セキュリティ要素408は、セキュリティ要素108(図1)および/またはセキュリティ要素204(図2)の特徴のうちの1つまたは複数を含み得る。クライアントデバイス402は、インターネットを介してなど、ネットワークを介して、エンクレーブ406と結合されていることがあり、エンクレーブ406と通信し得る。例示される実施形態において、クライアントデバイス402、または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、または、ロードバランサ404の生成を含む別のアクションを要求する要求を、エンクレーブ406に送信し得る。エンクレーブ406のセキュリティ要素408は、要求を受信することがあり、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404が生成されること、または、ロードバランサ404の生成を含むアクションを実行させることの認可を有するか否かを判定し得る。セキュリティ要素408が、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404が生成されること、または、アクションを実行させることの認可を以前に許可されていると判定した場合、セキュリティ要素408は、エンクレーブ406および/またはインフラストラクチャサービスにロードバランサ404を生成させ得る。
【0064】
セキュリティ要素408が、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404が生成されること、または、アクションを実行させることの認可を以前に許可されていないと判定した場合、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランス404の生成、および/または、ロードバランサ404を生成するアクションの実行についての認可を受信すべきであるか否かを判定するための手続を実行し得る。例えば、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザが、ロードバランサ404を生成する、および/または、ロードバランサ404を生成するアクションを実行することの認可を提供し得る、1つまたは複数のオーソライザを識別し得る。オーソライザは、予め規定されていてもよく、または、要求の時に規定されてもよい。オーソライザは、クライアントデバイス402、および/もしくは、クライアントデバイス402を利用するユーザと同じサブスクライバに関連付けられていることがあり、または、サブスクライバによって割り当てられ得る。
【0065】
セキュリティ要素408は、将来の実行のために、ロードバランサ404の生成、および/または、ロードバランサ404を生成するアクションについてのオペレーションを記憶し得る。オペレーションは、ロードバランサ404の生成、および/またはアクションに対応することがあり、そのことによって、オペレーションを実行するエンクレーブ406および/またはインフラストラクチャサービスは、ロードバランサ404の生成、および/または、アクションの実行を結果的に生じさせることになる。クライアントデバイス402は、ステートフルであることがあり、エンクレーブ406および/またはインフラストラクチャサービスは、ステートレスであり得るので、エンクレーブ406および/またはインフラストラクチャサービスは、適正に、ロードバランサ404を生成する、および/または、アクションを実行するために、将来の実行中に、オペレーションに対応するステートを考慮に入れ得る。よって、セキュリティ要素408は、オペレーションに対応するステートを維持するために、あるステートにおいてオペレーションを記憶し得る。例えば、セキュリティ要素408は、オペレーションに対応するステートを維持するために、記憶のために、オペレーションをシリアライズし得る。オペレーションのシリアライゼーションは、オペレーションが、エンクレーブ406および/またはインフラストラクチャサービスによる実行のためにその後に再構築され得るフォーマットにおいて、セキュリティ要素408によって記憶されることをもたらし得る。
【0066】
セキュリティ要素408は、記憶のために、オペレーションにさらに署名し得る。オペレーションの署名を行なうことは、オペレーションはエンクレーブ406および/またはインフラストラクチャサービスによる実行よりも前に改ざんされていないということを検証するために利用され得る。セキュリティ要素408は、ECDSAによってオペレーションに署名し得る。例えば、セキュリティ要素408は、オペレーションに署名するための鍵とともにECDSAを利用し得る。ECDSAによって生み出された署名、および鍵は、オペレーションに関連付けられ得る。セキュリティ要素408は、エンクレーブ406の中で鍵を維持することがあり、一方で、セキュリティ要素408は、クライアントデバイス402と署名を共有し得る。セキュリティ要素408は、次いで、署名されシリアライズされたオペレーションを、セキュリティ要素408、エンクレーブ406、および/またはインフラストラクチャサービスのメモリにおいて記憶し得る。署名のためにECDSAを使用することは、ポスト量子セキュリティをもたらすことがあり、レガシー手法と比較して、より少ないクロックサイクルを利用し得る。
【0067】
セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランス404の生成、および/または、アクションの実行についての認可を受信すべきであるか否かを判定するための問い合わせ手続を開始し得る。セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザに認可を提供するための、識別されたオーソライザについての、アカウント(オーソライザがメッセージを提供され得る、eメールアカウント、メッセージングアカウント、ソーシャルメディアアカウント、または、他のアカウントなど)、電話番号、デバイス、または、それらの何らかの組み合わせを識別し得る。セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/またはアクションについての認可を許可されるべきであるか否かを指示する応答を要求する、1つまたは複数の要求を、オーソライザの各々に送信し得る。要求は、ロードバランサ404の生成、および/またはアクションについての認可を得ようとする、クライアントデバイス402、および/または、クライアントデバイス402のユーザの指示を含み得る。セキュリティ要素408は、オーソライザの各々についての、アカウント、電話番号、デバイス、または、それらの何らかの組み合わせのうちの1つまたは複数に要求を送信し得る。要求は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/またはアクションについて、認可を提供されるべきである、または、認可を提供されるべきでないという指示によって応答することをオーソライザに要求し得る。いくつかの事例において、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402のユーザは、ロードバランサ404の生成、および/またはアクションについての認可を許可されるべきであるか否かの指示を要求する初期要求の後に、1つまたは複数の再度の要求を送出し得る。
【0068】
認可配置構成400は、第1のオーソライザデバイス410a、および、第2のオーソライザデバイス410bなどの、1つまたは複数のオーソライザデバイス410を含み得る。オーソライザデバイス410は、オーソライザのうちの1つまたは複数に対応し得る。例えば、オーソライザデバイス410の各々は、デバイスを含み得、オーソライザのうちの1つまたは複数は、要求がセキュリティ要素408によって送信されるアカウント、電話番号、および/または、そのデバイスにアクセスし得る。識別されたオーソライザに基づいて、セキュリティ要素408は、いくつかの事例において、識別されたオーソライザに関連付けられたオーソライザデバイス410を識別し、オーソライザデバイス410に要求を送信し得る。いくつかの事例において、オーソライザデバイス410は、オーソライザが、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行についての認可を提供されるべきであるか否かの指示を入力することを可能とする入力デバイスを含み得る。
【0069】
セキュリティ要素408は、オーソライザデバイス410の各々に要求を提供し得る。例えば、セキュリティ要素408は、オーソライザデバイス410の各々に直接的に、オーソライザデバイス410を介してアクセスされ得るアカウントに、オーソライザデバイス410に関連付けられた電話番号に、または、それらの何らかの組み合わせで、要求を送信し得る。例示される実施形態において、セキュリティ要素408は、第1のオーソライザからの指示を得ようとするために、第1のオーソライザデバイス410aに1つまたは複数の要求を送信することがあり、第2のオーソライザからの指示を得ようとするために、第2のオーソライザデバイス410bに1つまたは複数の要求を送信し得る。いくつかの事例において、第1のオーソライザデバイス410a、および/または、第2のオーソライザデバイス410bは、対応するオーソライザに、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザについての認可の指示を要求するユーザインターフェイスを、デバイス上に表示し得る。オーソライザデバイス410の各々は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行についての認可を提供されるべきであるか否かの、対応するオーソライザからの指示を検出し得る。オーソライザから受け取られた指示に基づいて、オーソライザデバイス410は、クライアントデバイス402、および/または、クライアントデバイス402のユーザは、ロードバランサ404の生成、および/またはアクションについての認可を許可されるべきであるか否かの指示を送信し得る。いくつかの事例において、オーソライザデバイス410のうちの1つまたは複数は、オーソライザによって指示を提供されないことがあり、その事例において、指示を受け取らないオーソライザデバイスのうちの1つまたは複数は、セキュリティ要素408に応答を提供しないことがある。
【0070】
セキュリティ要素408は、オーソライザデバイス410からの応答について監視することがあり、オーソライザデバイス410から応答を受信し得る。例えば、セキュリティ要素408は、例示される実施形態において、第1のオーソライザに対応する第1のオーソライザデバイス410aから第1の応答を、および、第2のオーソライザに対応する第2のオーソライザデバイス410bから第2の応答を受信し得る。セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402のユーザは、ロードバランサ404の生成、および/またはアクションについての認可を許可されるべきであるか否かを判定し得る。いくつかの実施形態において、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402のユーザは、ロードバランサの生成、および/またはアクションについての認可を許可されるべきであるか否かを判定するよりも前に、応答が、要求が送信されたすべてのオーソライザから受信されるまで待機し得る。セキュリティ要素408が、オーソライザのすべては、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行について認可されるべきであるということを指示したと判定した場合、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行について認可されるべきであると判定し得る。オーソライザのいずれかが、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行について認可されるべきでないということを指示した場合、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行について認可されないと判定し得る。
【0071】
いくつかの事例において、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行について認可されると判定するために、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、認可を許可されるべきであるという、オーソライザからの全者一致の指示を必要としなくてもよい。これらの事例において、セキュリティ要素408は、クライアントがロードバランサ404の生成、および/もしくは、アクションの実行についての認可を有するということを指示する応答の特定のパーセンテージ、または、クライアントがロードバランサ404の生成、および/もしくは、アクションの実行についての認可を有するということを指示する特定のオーソライザに対応する応答に基づいて、クライアントが認可を有すると判定し得る。
【0072】
いくつかの事例において、セキュリティ要素408は、クライアントは、ロードバランサ404の生成、および/または、アクションの実行についての認可を有するか否かの判定のための、オーソライザからの応答についてのタイマを実現し得る。例えば、セキュリティ要素408が、ロードバランサ404の生成、および/または、アクションの実行について、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザに認可を提供するための、オーソライザからの相応の応答が、タイマによって規定された時間期間の中で受信されていないと判定した場合、セキュリティ要素408は、クライアントデバイス402、および/または、クライアントデバイス402を利用するユーザは、ロードバランサ404の生成、および/または、アクションの実行についての認可を有さないと判定し得る。
【0073】
セキュリティ要素408が、オーソライザからの応答に基づいて、クライアントは、ロードバランサ404の生成、および/または、アクションの実行についての認可を有さないと判定した場合、セキュリティ要素408は、ロードバランサ404の生成、および/またはアクションに関連付けられたオペレーションを実行しないことがある。セキュリティ要素408は、クライアントは、ロードバランサ404の生成、および/または、アクションの実行についての認可を有さないという判定に基づいて、記憶されているオペレーションをメモリからさらに除去し得る。
【0074】
セキュリティ要素408が、オーソライザからの応答に基づいて、クライアントは、ロードバランサ404の生成、および/または、アクションの実行についての認可を有すると判定した場合、セキュリティ要素408は、オペレーションを実行し得る。例えば、セキュリティ要素408は、署名されシリアライズされたオペレーションをメモリから取り出し得る。セキュリティ要素408は、オペレーションが改ざんされているか否かを判定するために、署名されシリアライズされたオペレーションの署名をチェックし得る。例えば、セキュリティ要素408は、取り出しの時間における署名されシリアライズされたオペレーションの署名を、シリアライズされたオペレーションが署名されたときに生み出された署名と比較し得る。署名が一致する場合、セキュリティ要素408は、オペレーションは改ざんされていないと判定し得る。署名が一致しない場合、セキュリティ要素408は、オペレーションは改ざんされていると判定し得る。
【0075】
セキュリティ要素408が、オペレーションは改ざんされていると判定した場合、セキュリティ要素408は、オペレーションが実行されることを防止し得る。セキュリティ要素408が、オペレーションは改ざんされていないと判定した場合、セキュリティ要素204は、シリアライズされたオペレーションを実行させることを続け得る。例えば、セキュリティ要素408は、シリアライズされたオペレーションを、エンクレーブ406および/またはインフラストラクチャサービスによって実行させることがあり、オペレーションのシリアライゼーションにより、オペレーションを実行するときにステートが考慮されるようになる。オペレーションの実行は、ロードバランサ404の生成を結果的に生じさせ得る。例示される実施形態において、ロードバランサ404は、エンクレーブ406内で生成され得る。他の実施形態において、ロードバランサ404は、インフラストラクチャサービスの別の部分内で生成され得る。いくつかの実施形態において、セキュリティ要素408は、エンクレーブ406のエッジにおいてロードバランサ404を生成し得る。ロードバランサ404は、エンクレーブ406のファイアウォールの内側に、または、そのファイアウォールの外側に配置され得る。
【0076】
図5は、いくつかの実施形態に従ってアクションの実行についてのクライアントの認可についての一例の手続500を例示する。手続500は、インフラストラクチャサービス(コンピューティングシステムおよび/またはクラウドコンピューティングシステムを含み得る、図1との関係において説明されたインフラストラクチャサービス、図9のクラウドインフラストラクチャ、図10のクラウドインフラストラクチャ、図11のクラウドインフラストラクチャ、および/または、図12のクラウドインフラストラクチャなど)、エンクレーブ(エンクレーブ104(図1)、エンクレーブ202(図2)、および/またはエンクレーブ406(図4)など)、セキュリティ要素(セキュリティ要素108(図1)、セキュリティ要素204(図2)、および/またはセキュリティ要素408(図4)など)、または、それらの何らかの組み合わせによって実行され得る。手続500は、クライアントデバイス(クライアントデバイス206(図2)および/またはクライアントデバイス402(図4)など)が、アクションの実行(ロードバランサ(ロードバランサ404(図4)などの生成など)について認可されるか否かを判定するために実行され得る。
【0077】
簡潔さのために、手続500は、本明細書においてコンピューティングシステムによって実行されるとして説明されるが、手続500は、インフラストラクチャサービス、エンクレーブ、セキュリティ要素、または、それらの何らかの組み合わせによって実行され得るということが理解されるべきである。いくつかの実施形態において、コンピューティングシステムは、クラウドインフラストラクチャサービスを含み得る。
【0078】
502において、コンピューティングシステムは、実行されるべきアクションについての要求を受信し得る。例えば、セキュリティ要素は、コンピューティングシステムによって実行されるべきアクションについての要求を受信することがあり、要求は、クライアントデバイスから受信される。いくつかの実施形態において、コンピューティングシステムは、クラウドインフラストラクチャサービスを含み得る。クラウドインフラストラクチャサービスは、いくつかの実施形態において、エンクレーブのエッジ(エンクレーブ104(図1)のエッジなど)において、アクションについての要求を受信し得る。これらの実施形態のうちのいくつかにおいて、クラウドインフラストラクチャサービスは、エンクレーブのファイアウォールの外側で、アクションについての要求を受信し得る。いくつかの実施形態において、アクションは、ロードバランサ(ロードバランサ404(図4)など)を生成することを含み得る。
【0079】
504において、コンピューティングシステムは、1つまたは複数のオーソライザを識別し得る。例えば、コンピューティングシステムは、1つまたは複数のオーソライザを識別することがあり、アクションの認可が、その1つまたは複数のオーソライザから受信されることになる。認可は、クライアントデバイスについてのアクションの実行に対応し得る。オーソライザは、本開示の全体を通して説明されるオーソライザの特徴のうちの1つまたは複数を含み得る。オーソライザは、クライアントデバイス、クライアントデバイスのユーザ、要求されているアクション、または、それらの何らかの組み合わせに基づいて識別され得る。いくつかの実施形態において、クライアントデバイス、および/または、クライアントデバイスのユーザは、コンピューティングシステムへのサブスクライバに関連付けられていることがあり、オーソライザは、クライアントデバイス、および/または、クライアントデバイスのユーザと同じサブスクライバに関連付けられ得る。コンピューティングシステムは、クライアントデバイス、および/または、クライアントデバイスのユーザは、アクションの実行についての認可を以前に許可されていないという判定に基づいて、1つまたは複数のオーソライザを識別し得る。
【0080】
506において、コンピューティングシステムは、1つまたは複数のオペレーションをシリアライズし得る。例えば、コンピューティングシステムは、実行されることを要求されるアクションに対応する、1つまたは複数のオペレーションをシリアライズし得る。1つまたは複数のオペレーションのシリアライゼーションは、シリアライズされたオペレーション306(図3)などの、本開示の全体を通して説明される、オペレーションをシリアライズすることの特徴のうちの1つまたは複数を含み得る。1つまたは複数のオペレーションをシリアライズするコンピューティングシステムは、オペレーションが、当該オペレーションの実行のためにその後に凍結解除され得るように、対応するオペレーションに関するステートを維持し得る。
【0081】
508において、コンピューティングシステムは、1つまたは複数のシリアライズされたオペレーションに署名し得る。例えば、コンピューティングシステムは、ECDSAによって、1つまたは複数のシリアライズされたオペレーションに署名し得る。ECDSAによる、1つまたは複数のシリアライズされたオペレーションの署名を行なうことは、署名されシリアライズされたオペレーション306(図3)などの、本開示の全体を通して説明される、ECDSAによってオペレーションに署名することの特徴のうちの1つまたは複数を含み得る。例えば、コンピューティングシステムは、1つまたは複数のシリアライズされたオペレーションに署名するための署名を生成するために、鍵およびECDSAを利用し得る。コンピューティングシステムは、署名によって、1つまたは複数のシリアライズされたオペレーションに署名し得る。
【0082】
510において、コンピューティングシステムは、クライアントデバイスに署名を提供し得る。例えば、コンピューティングシステムは、クライアントデバイスと署名を共有し、一方で、コンピューティングシステム、エンクレーブ(エンクレーブ104、エンクレーブ202、および/またはエンクレーブ406など)、および/またはインフラストラクチャサービスにおいて、署名を生成するために利用された鍵を維持し得る。コンピューティングシステム、エンクレーブ、および/またはインフラストラクチャサービスの中で鍵を維持することは、悪意のある人から防ぐセキュリティをもたらすことがあり、一方で、署名を共有することは、クライアントデバイスの識別に備え得る。いくつかの実施形態において、510は省かれ得る。
【0083】
512において、コンピューティングシステムは、問い合わせ手続を開始し得る。例えば、コンピュータシステムは、1つまたは複数のオペレーションが実行されることを認可されるか否かを判定するために、1つまたは複数のオーソライザの各々からのアクションの認可についての問い合わせ手続を開始し得る。問い合わせ手続は、本開示の全体を通して説明される、オーソライザについての問い合わせ手続の特徴のうちの1つまたは複数を含み得る。いくつかの実施形態において、問い合わせ手続は、1つまたは複数のオーソライザの各々に、少なくとも1つの認可要求を送信することを含み得る。コンピューティングシステムは、少なくとも1つの認可要求への、1つまたは複数のオーソライザの各々からの応答についてさらに監視し得る。
【0084】
514において、コンピューティングシステムは、認可が受信されていると判定し得る。例えば、コンピューティングシステムは、アクションについての認可が、1つまたは複数のオーソライザの各々から受信されていると判定し得る。特に、コンピューティングシステムは、クライアントデバイス、および/または、クライアントデバイスを利用するユーザは、アクションの実行についての認可を有すると判定し得る。コンピューティングシステムは、オーソライザのすべてが、認可が許可されるべきであるということを指示すること、オーソライザのある一部分が、認可が許可されるべきであるということを指示すること、または、オーソライザの特定のグループが、認可が許可されるべきであるということを指示することなど、本明細書において説明される、認可がオーソライザから受信されていると判定するための手法によって、認可が受信されていると判定し得る。アクションは、いくつかの事例において、ロードバランサを生成することであってもよく、オーソライザは、クライアントデバイス、および/または、クライアントデバイスを利用するユーザは、ロードバランサを生成することを認可されるということを指示し得る。いくつかの実施形態において、514は省かれ得る。
【0085】
516において、コンピューティングシステムは、シリアライズされた1つまたは複数のオペレーションは改ざんされていないということを検証し得る。例えば、コンピューティングシステムは、シリアライズされた1つまたは複数のオペレーションの署名を行なうことによって生み出された署名に少なくとも部分的に基づいて、シリアライズされた1つまたは複数のオペレーションは改ざんされていないということを検証し得る。コンピューティングシステムは、取り出しの時間における署名されシリアライズされたオペレーションからの署名が、シリアライズされたオペレーションが署名された時間における署名と同じであることに基づいて、1つまたは複数のオペレーションは改ざんされていないということを検証し得る。いくつかの実施形態において、516は省かれ得る。
【0086】
518において、コンピューティングシステムは、1つまたは複数のオペレーションを実行し得る。例えば、コンピューティングシステムは、アクションについての認可が受信されているという判定に少なくとも部分的に基づいて、1つまたは複数のオペレーションを実行し得る。1つまたは複数のオペレーションを実行するコンピューティングシステムは、クライアントデバイスによって要求されたアクションを実行させ得る。いくつかの実施形態において、アクションは、ロードバランサの生成であることがあり、1つまたは複数のオペレーションは、ロードバランサをコンピューティングシステムによって生成させる。コンピューティングシステムがクラウドインフラストラクチャサービスである実施形態において、クラウドインフラストラクチャサービスは、クラウドインフラストラクチャサービスのエンクレーブの端部においてロードバランサを創出するように構成され得る。いくつかの実施形態において、518は省かれ得る。
【0087】
図6は、いくつかの実施形態に従ってアクションの実行についてのクライアントの認可についての他の一例のの手続600を例示する。手続600は、インフラストラクチャサービス(コンピューティングシステムおよび/またはクラウドコンピューティングシステムを含み得る、図1との関係において説明されたインフラストラクチャサービス、図9のクラウドインフラストラクチャ、図10のクラウドインフラストラクチャ、図11のクラウドインフラストラクチャ、および/または、図12のクラウドインフラストラクチャなど)、エンクレーブ(エンクレーブ104(図1)、エンクレーブ202(図2)、および/またはエンクレーブ406(図4)など)、セキュリティ要素(セキュリティ要素108(図1)、セキュリティ要素204(図2)、および/またはセキュリティ要素408(図4)など)、または、それらの何らかの組み合わせによって実行され得る。手続600は、クライアントデバイス(クライアントデバイス206(図2)および/またはクライアントデバイス402(図4)など)が、アクションの実行(ロードバランサ(ロードバランサ404(図4)などの生成など)について認可されるか否かを判定するために実行され得る。
【0088】
簡潔さのために、手続600は、本明細書においてセキュリティ要素によって実行されるとして説明されるが、手続600は、インフラストラクチャサービス、エンクレーブ、コンピューティングシステム、または、それらの何らかの組み合わせによって実行され得るということが理解されるべきである。いくつかの実施形態において、セキュリティ要素は、クラウドインフラストラクチャサービスの一部であり得る。
【0089】
602において、セキュリティ要素は、実行されるべきアクションについての要求を受信し得る。例えば、セキュリティ要素は、クラウドインフラストラクチャサービスによって実行されるべきアクションについての要求を受信し得る。セキュリティ要素は、クライアントデバイス206および/またはクライアントデバイス402などのクライアントデバイスから、要求を受信し得る。いくつかの実施形態において、セキュリティ要素は、クラウドインフラストラクチャサービスのエンクレーブ(エンクレーブ104、エンクレーブ202、および/またはエンクレーブ406など)のエッジにおいて実現され得る。さらに、セキュリティ要素は、いくつかの実施形態において、エンクレーブのファイアウォールの外側で実現され得る。セキュリティ要素は、いくつかの実施形態において、クラウドインフラストラクチャサービスのプロキシまたはデーモンを含み得る。
【0090】
604において、セキュリティ要素は、セキュアな情報が提供されることを防止し得る。例えば、いくつかの実施形態において、クラウドインフラストラクチャサービスは、第1のクラウドインフラストラクチャサービスであることがあり、要求は、第2のクラウドインフラストラクチャサービスから受信されることがあり、クライアントデバイスは、第2のクラウドインフラストラクチャサービス、または、その第2のクラウドインフラストラクチャサービスの何らかの一部分であり得る。セキュリティ要素は、第1のクラウドインフラストラクチャサービスに関係付けられたセキュアな情報が、第2のクラウドインフラストラクチャサービスに提供されることを防止し得る。セキュリティ要素は、いくつかの実施形態において、セキュアな情報が、1つまたは複数のオーソライザから受信される応答の受信よりも前に、第2のクラウドインフラストラクチャサービスに提供されることを防止し得る。他の実施形態において、セキュリティ要素は、手続600の全体について、および/または、第1のクラウドインフラストラクチャサービスと第2のクラウドインフラストラクチャサービスとの間の相互作用の全体について、セキュアな情報が第2のクラウドインフラストラクチャサービスに提供されることを防止し得る。いくつかの実施形態において、604は省かれ得る。
【0091】
606において、セキュリティ要素は、1つまたは複数のオーソライザを識別し得る。例えば、セキュリティ要素は、1つまたは複数のオーソライザを識別することがあり、アクションの認可が、その1つまたは複数のオーソライザから受信されることになり、認可は、アクションの実行に対応する。識別されたオーソライザは、アクションの実行について、クライアントデバイス、および/または、クライアントデバイスを利用するユーザに認可を提供し得るオーソライザであり得る。オーソライザは、オーソライザが、クラウドインフラストラクチャサービスの、クライアントデバイス、および/または、クライアントデバイスを利用するユーザと同じサブスクライバに関連付けられていることなどの、本開示の全体を通して説明される、オーソライザのうちの1つまたは複数の特徴を含み得る。
【0092】
608において、セキュリティ要素は、1つまたは複数のオペレーションを判定し得る。例えば、セキュリティ要素は、アクションを完了するためにクラウドインフラストラクチャサービスによって実行されるべき1つまたは複数のオペレーションを判定し得る。クラウドインフラストラクチャサービスは、クライアントデバイスによって要求されたアクションを完了するために1つまたは複数のオペレーションを実行する能力をもち得る。セキュリティ要素は、本開示の全体を通して説明される、アクションについてのオペレーションの判定によって、1つまたは複数のオペレーションを判定し得る。
【0093】
610において、セキュリティ要素は、1つまたは複数のオペレーションをシリアライズし得る。例えば、セキュリティ要素は、実行されることを要求されるアクションに対応する、1つまたは複数のオペレーションをシリアライズし得る。1つまたは複数のオペレーションのシリアライゼーションは、シリアライズされたオペレーション306(図3)などの、本開示の全体を通して説明される、オペレーションをシリアライズすることの特徴のうちの1つまたは複数を含み得る。1つまたは複数のオペレーションをシリアライズするコンピューティングシステムは、オペレーションが、オペレーションの実行のためにその後に凍結解除され得るように、対応するオペレーションに関するステートを維持し得る。いくつかの実施形態において、610は省かれ得る。
【0094】
612において、セキュリティ要素は、1つまたは複数のオペレーションに署名し得る。例えば、セキュリティ要素は、ECDSAによって、1つまたは複数のオペレーションに署名し得る。ECDSAによる、1つまたは複数のシリアライズされたオペレーションの署名を行なうことは、署名されシリアライズされたオペレーション306(図3)などの、本開示の全体を通して説明される、ECDSAによってオペレーションに署名することの特徴のうちの1つまたは複数を含み得る。例えば、セキュリティ要素は、1つまたは複数のオペレーションに署名するための署名を生成するために、鍵およびECDSAを利用し得る。セキュリティ要素は、署名によって、1つまたは複数のオペレーションに署名し得る。オペレーションがシリアライズされる実施形態において、セキュリティ要素は、シリアライズされた1つまたは複数のオペレーションに署名し得る。
【0095】
614において、セキュリティ要素は、署名された1つまたは複数のオペレーションを記憶し得る。例えば、セキュリティ要素は、署名された1つまたは複数のオペレーションを、セキュリティ要素のメモリ、エンクレーブのメモリ、クラウドインフラストラクチャサービスのメモリ、または、それらの何らかの組み合わせにおいて記憶し得る。オペレーションがシリアライズされている実施形態において、セキュリティ要素は、署名されシリアライズされた1つまたは複数のオペレーションを記憶し得る。
【0096】
616において、セキュリティ要素は、問い合わせ手続を開始し得る。例えば、セキュリティ要素は、1つまたは複数のオーソライザから受信される応答に少なくとも部分的に基づいて、アクションの認可についての問い合わせ手続を開始し得る。問い合わせ手続は、本開示の全体を通して説明される、オーソライザについての問い合わせ手続の特徴のうちの1つまたは複数を含み得る。いくつかの実施形態において、問い合わせ手続は、1つまたは複数のオーソライザに、少なくとも1つの認可要求を送信することを含み得る。セキュリティ要素は、少なくとも1つの認可要求への、1つまたは複数のオーソライザから受信される応答について監視し得る。
【0097】
618において、セキュリティ要素は、認可が受信されていると判定し得る。例えば、セキュリティ要素は、アクションの認可が、1つまたは複数のオーソライザの各々から受信されていると判定し得る。特に、セキュリティ要素は、クライアントデバイス、および/または、クライアントデバイスを利用するユーザは、アクションの実行についての認可を有すると判定し得る。コンピューティングシステムは、オーソライザのすべてが、認可が許可されるべきであるということを指示すること、オーソライザのある一部分が、認可が許可されるべきであるということを指示すること、または、オーソライザの特定のグループが、認可が許可されるべきであるということを指示することなど、本明細書において説明される、認可がオーソライザから受信されていると判定するための手法によって、認可が受信されていると判定し得る。いくつかの実施形態において、618は省かれ得る。
【0098】
620において、セキュリティ要素は、1つまたは複数のオペレーションは改ざんされていないということを検証し得る。例えば、セキュリティ要素は、1つまたは複数のオペレーションの署名を行なうことによって生み出された署名に少なくとも部分的に基づいて、1つまたは複数のオペレーションは改ざんされていないということを検証し得る。コンピューティングシステムは、取り出しの時間における署名されたオペレーションからの署名が、オペレーションが署名された時間における署名と同じであることに基づいて、1つまたは複数のオペレーションは改ざんされていないということを検証し得る。いくつかの実施形態において、620は省かれ得る。
【0099】
622において、セキュリティ要素は、1つまたは複数のオペレーションを実行させ得る。例えば、セキュリティ要素は、アクションの認可が受信されていると判定することに少なくとも部分的に基づいて、1つまたは複数のオペレーションを実行させ得る。1つまたは複数のオペレーションを実行させるセキュリティ要素は、クライアントデバイスによって要求されたアクションを実行させ得る。いくつかの実施形態において、622は省かれ得る。
【0100】
図7は、いくつかの実施形態に従ってアクションの実行についてのクライアントの認可についての他の一例の手続700の第1の一部分を例示する。図8は、いくつかの実施形態に従って一例の手続700の第2の一部分を例示する。手続700は、インフラストラクチャサービス(コンピューティングシステムおよび/またはクラウドコンピューティングシステムを含み得る、図1との関係において説明されたインフラストラクチャサービス、図9のクラウドインフラストラクチャ、図10のクラウドインフラストラクチャ、図11のクラウドインフラストラクチャ、および/または、図12のクラウドインフラストラクチャなど)、エンクレーブ(エンクレーブ104(図1)、エンクレーブ202(図2)、および/またはエンクレーブ406(図4)など)、セキュリティ要素(セキュリティ要素108(図1)、セキュリティ要素204(図2)、および/またはセキュリティ要素408(図4)など)、または、それらの何らかの組み合わせによって実行され得る。手続700は、クライアントデバイス(クライアントデバイス206(図2)および/またはクライアントデバイス402(図4)など)が、アクションの実行(ロードバランサ(ロードバランサ404(図4)などの生成など)について認可されるか否かを判定するために実行され得る。
【0101】
簡潔さのために、手続700は、本明細書においてコンピューティングシステムによって実行されるとして説明されるが、手続700は、インフラストラクチャサービス、エンクレーブ、セキュリティ要素、または、それらの何らかの組み合わせによって実行され得るということが理解されるべきである。いくつかの実施形態において、セキュリティ要素は、クラウドインフラストラクチャサービスの一部であり得る。
【0102】
702において、コンピューティングシステムは、セキュリティ要素を実現し得る。例えば、コンピューティングシステムは、クラウドインフラストラクチャサービスを含み得、クラウドインフラストラクチャサービスは、クラウドインフラストラクチャサービスのエンクレーブのエッジにおいてセキュリティ要素を実現するためのものである。セキュリティ要素は、セキュリティ要素108、セキュリティ要素204、および/またはセキュリティ要素408の特徴のうちの1つまたは複数を含み得る。いくつかの実施形態において、702は省かれ得る。
【0103】
704において、コンピューティングシステムは、実行されるべきアクションについての要求を識別し得る。例えば、コンピューティングシステムは、コンピューティングシステムによって実行されるべきアクションについての要求を識別することがあり、要求は、クライアントデバイス(クライアントデバイス206および/またはクライアントデバイス402など)から受信される。いくつかの実施形態において、コンピューティングシステムは、クラウドインフラストラクチャサービスを含み得、そのクラウドインフラストラクチャサービスは、いくつかの実施形態において、クラウドインフラストラクチャサービスのエンクレーブのエッジにおいて、アクションについての要求を受信し得る。これらの実施形態のうちのいくつかにおいて、クラウドインフラストラクチャサービスは、エンクレーブのファイアウォールの外側で、アクションについての要求を受信し得る。コンピューティングシステムがセキュリティ要素を実現するいくつかの実施形態において、セキュリティ要素は、アクションについての要求を識別し得る。
【0104】
706において、コンピューティングシステムは、1つまたは複数のオーソライザを識別し得る。例えば、コンピューティングシステムは、1つまたは複数のオーソライザを識別することがあり、アクションの認可が、その1つまたは複数のオーソライザから受信されることになり、認可は、クライアントデバイスについてのアクションの実行に対応する。オーソライザは、本開示の全体を通して説明されるオーソライザの特徴のうちの1つまたは複数を含み得る。オーソライザは、クライアントデバイス、クライアントデバイスのユーザ、要求されているアクション、または、それらの何らかの組み合わせに基づいて識別され得る。いくつかの実施形態において、クライアントデバイス、および/または、クライアントデバイスのユーザは、コンピューティングシステムへのサブスクライバに関連付けられていてもよく、オーソライザは、クライアントデバイス、および/または、クライアントデバイスのユーザと同じサブスクライバに関連付けられ得る。コンピューティングシステムは、クライアントデバイス、および/または、クライアントデバイスのユーザは、アクションの実行についての認可を以前に許可されていないという判定に基づいて、1つまたは複数のオーソライザを識別し得る。
【0105】
708において、コンピューティングシステムは、実行されるべき1つまたは複数のオペレーションを判定し得る。例えば、コンピューティングシステムは、アクションを完了するためにコンピューティングシステムによって実行されるべき1つまたは複数のオペレーションを判定し得る。コンピューティングシステムは、クライアントデバイスによって要求されたアクションを完了するために1つまたは複数のオペレーションを実行する能力を有し得る。コンピューティングシステムは、本開示の全体を通して説明される、アクションについてのオペレーションの判定によって、1つまたは複数のオペレーションを判定し得る。
【0106】
710において、コンピューティングシステムは、1つまたは複数のオペレーションをシリアライズし得る。1つまたは複数のオペレーションのシリアライゼーションは、シリアライズされたオペレーション306(図3)などの、本開示の全体を通して説明される、オペレーションをシリアライズすることの特徴のうちの1つまたは複数を含み得る。1つまたは複数のオペレーションをシリアライズするコンピューティングシステムは、オペレーションが、オペレーションの実行のためにその後に凍結解除され得るように、対応するオペレーションに関するステートを維持し得る。
【0107】
712において、コンピューティングシステムは、シリアライズされた1つまたは複数のオペレーションに署名し得る。例えば、コンピューティングシステムは、ECDSAによって、シリアライズされた1つまたは複数のオペレーションに署名し得る。ECDSAによる、1つまたは複数のシリアライズされたオペレーションの署名を行なうことは、署名されシリアライズされたオペレーション306(図3)などの、本開示の全体を通して説明される、ECDSAによってオペレーションに署名することの特徴のうちの1つまたは複数を含み得る。例えば、コンピューティングシステムは、1つまたは複数のシリアライズされたオペレーションに署名するための署名を生成するために、鍵およびECDSAを利用し得る。コンピューティングシステムは、署名によって、1つまたは複数のシリアライズされたオペレーションに署名し得る。
【0108】
714において、コンピューティングシステムは、署名されシリアライズされた1つまたは複数のオペレーションを記憶し得る。例えば、コンピューティングシステムは、署名されシリアライズされた1つまたは複数のオペレーションをメモリの中に記憶し得る。メモリは、コンピューティングシステムのメモリ、セキュリティ要素のメモリ、インフラストラクチャサービスのメモリ、または、それらの何らかの組み合わせであり得る。手続700は、図7の716から、図8の716に進み得る。
【0109】
802において、コンピューティングシステムは、問い合わせ手続を開始し得る。例えば、コンピューティングシステムは、1つまたは複数のオーソライザからのアクションの認可についての問い合わせ手続を開始し得る。問い合わせ手続は、本開示の全体を通して説明される、オーソライザについての問い合わせ手続の特徴のうちの1つまたは複数を含み得る。いくつかの実施形態において、問い合わせ手続は、1つまたは複数のオーソライザの各々に、少なくとも1つの認可要求を送信することを含み得る。コンピューティングシステムは、少なくとも1つの認可要求への、1つまたは複数のオーソライザの各々からの応答についてさらに監視し得る。
【0110】
804において、コンピューティングシステムは、認可が受信されていると判定し得る。例えば、コンピューティングシステムは、アクションの認可が、1つまたは複数のオーソライザの各々から受信されていると判定し得る。特に、コンピューティングシステムは、クライアントデバイス、および/または、クライアントデバイスを利用するユーザは、アクションの実行についての認可を有すると判定し得る。コンピューティングシステムは、オーソライザのすべてが、認可が許可されるべきであるということを指示すること、オーソライザのある一部分が、認可が許可されるべきであるということを指示すること、または、オーソライザの特定のグループが、認可が許可されるべきであるということを指示することなど、本明細書において説明される、認可がオーソライザから受信されていると判定するための手法によって、認可が受信されていると判定し得る。いくつかの実施形態において、804は省かれ得る。
【0111】
806において、コンピューティングシステムは、署名されシリアライズされた1つまたは複数のオペレーションを取り出し得る。例えば、コンピューティングシステムは、署名されシリアライズされた1つまたは複数のオペレーションをメモリから取り出し得る。コンピューティングシステムは、認可が受信されているという判定に基づいて、署名されシリアライズされた1つまたは複数のオペレーションを取り出し得る。いくつかの実施形態において、806は省かれ得る。
【0112】
808において、コンピューティングシステムは、署名されシリアライズされた1つまたは複数のオペレーションは改ざんされていないということを検証し得る。例えば、コンピューティングシステムは、シリアライズされた1つまたは複数のオペレーションの署名を行なうことによって生み出された署名に少なくとも部分的に基づいて、検証し得る。コンピューティングシステムは、取り出しの時間における署名されシリアライズされたオペレーションからの署名が、シリアライズされたオペレーションが署名された時間における署名と同じであることに基づいて、1つまたは複数のオペレーションは改ざんされていないということを検証し得る。いくつかの実施形態において、808は省かれ得る。
【0113】
810において、コンピューティングシステムは、1つまたは複数のオペレーションを実行し得る。例えば、コンピューティングシステムは、認可、および、メモリから取り出された、署名されシリアライズされた1つまたは複数のオペレーションに少なくとも部分的に基づいて、1つまたは複数のオペレーションを実行し得る。いくつかの実施形態において、コンピューティングシステムは、署名されシリアライズされた1つまたは複数のオペレーションは改ざんされていないという検証にさらに少なくとも部分的に基づいて、1つまたは複数のオペレーションを実行し得る。1つまたは複数のオペレーションを実行するコンピューティングシステムは、クライアントデバイスによって要求されたアクションを実行させ得る。いくつかの実施形態において、810は省かれ得る。
【0114】
上記で触れられたように、サービスとしてのインフラストラクチャ(IaaS)は、1つの特定のタイプのクラウドコンピューティングである。IaaSは、公衆ネットワーク(例えば、インターネット)越しに、仮想化されたコンピューティングリソースを提供するように構成され得る。IaaSモデルにおいて、クラウドコンピューティングプロバイダは、インフラストラクチャ構成要素(例えば、サーバ、ストレージデバイス、ネットワークノード(例えば、ハードウェア)、デプロイメントソフトウェア、プラットフォーム仮想化(例えば、ハイパーバイザレイヤ)、または類するもの)をホストし得る。いくつかの事例において、IaaSプロバイダは、さらには、それらのインフラストラクチャ構成要素に付随するための種々のサービス(例えば、ビリング、監視、ロギング、ロードバランシングおよびクラスタリング、その他)を供給し得る。そうして、これらのサービスはポリシによって駆動され得るので、IaaSユーザは、アプリケーション可用性および性能を維持するためのロードバランシングを駆動するためのポリシを実現することができ得る。
【0115】
いくつかの事例において、IaaS顧客は、インターネットなどのワイドエリアネットワーク(WAN)を通してリソースおよびサービスにアクセスすることがあり、アプリケーションスタックの残りの要素をインストールするために、クラウドプロバイダのサービスを使用し得る。例えば、ユーザは、仮想マシン(VM)を創出し、各VM上にオペレーティングシステム(OS)をインストールし、データベースなどのミドルウェアをデプロイし、ワークロードおよびバックアップのためのストレージバケットを創出することを、ならびに、そのVMへとエンタープライズソフトウェアをインストールすることさえも行うために、IaaSプラットフォームにログインし得る。顧客は、次いで、ネットワークトラフィックのバランスをとること、アプリケーション問題点をトラブルシューティングすること、性能を監視すること、ディザスタリカバリを管理すること、その他を含む、様々な機能を実行するための、プロバイダのサービスを使用し得る。
【0116】
大部分の事例において、クラウドコンピューティングモデルは、クラウドプロバイダの関与を要することになる。クラウドプロバイダは、IaaSを提供(例えば、オファリング、賃貸、販売)することを専門にするサードパーティサービスであり得るが、そのサードパーティサービスであることを必要としない。エンティティは、さらには、インフラストラクチャサービスのそのエンティティ自体のプロバイダになる、プライベートクラウドをデプロイする方を選択し得る。
【0117】
いくつかの例において、IaaSデプロイメントは、新しいアプリケーション、または、アプリケーションの新しいバージョンを、準備されたアプリケーションサーバ、または類するもの上へと配置することのプロセスである。そのIaaSデプロイメントは、さらには、サーバを準備する(例えば、ライブラリ、デーモン、その他をインストールする)ことのプロセスを含み得る。このことは、ハイパーバイザレイヤの下方で(例えば、サーバ、ストレージ、ネットワークハードウェア、および仮想化)、クラウドプロバイダによってしばしば管理される。そうして、顧客は、(例えば、(例えば、オンデマンドでスピンアップされ得る)セルフサービス仮想マシン等の上で)(OS)、ミドルウェア、および/またはアプリケーションデプロイメントを統御することについて責任を有し得る。
【0118】
いくつかの例において、IaaSプロビジョニングは、使用のためにコンピュータまたは仮想ホストを獲得することを、および、それらのコンピュータまたは仮想ホスト上に、必要とされるライブラリまたはサービスをインストールすることさえも指し得る。大部分の事例において、デプロイメントはプロビジョニングを含まず、プロビジョニングは、最初に実行されることを必要とし得る。
【0119】
いくつかの事例において、IaaSプロビジョニングについての2つの異なる課題が存する。第1に、何かが走っている前にインフラストラクチャの初期セットをプロビジョニングするという最初の課題が存する。第2に、あらゆるものがプロビジョニングされてしまうと、既存のインフラストラクチャを進化させること(例えば、新しいサービスを追加すること、サービスを変更すること、サービスを除去すること、その他)の課題が存する。いくつかの事例において、これらの2つの課題は、インフラストラクチャの構成が宣言的に定義されることを可能にすることによって対処され得る。換言すれば、インフラストラクチャ(例えば、何の構成要素が必要とされるか、および、どのようにそれらの構成要素は相互作用するか)は、1つまたは複数の構成ファイルによって定義され得る。そうして、インフラストラクチャの総体的なトポロジ(例えば、何のリソースがどれに依存するか、および、どのようにそれらのリソースは各々一体に働くか)は、宣言的に記述され得る。いくつかの事例において、トポロジが定義されると、構成ファイルにおいて記述された異なる構成要素を創出および/または管理するワークフローが生成され得る。
【0120】
いくつかの例において、インフラストラクチャは、多くの相互接続されている要素を有し得る。例えば、コアネットワークとしてさらには知られている、1つまたは複数の仮想プライベートクラウド(VPC)(例えば、構成可能な、および/または共有されるコンピューティングリソースの、潜在的にはオンデマンドのプール)が存し得る。いくつかの例において、どのようにネットワークのインバウンドおよび/またはアウトバウンドトラフィックがセットアップされることになるかを定義するためにプロビジョニングされた、1つまたは複数のインバウンド/アウトバウンドトラフィックグループルール、ならびに、1つまたは複数の仮想マシン(VM)が、さらには存し得る。ロードバランサ、データベース、または類するものなどの、他のインフラストラクチャ要素が、さらにはプロビジョニングされ得る。ますます多くのインフラストラクチャ要素が望まれる、および/または追加されるにつれて、インフラストラクチャは、漸進的に進化し得る。
【0121】
いくつかの事例において、継続的デプロイメント技術が、様々な仮想コンピューティング環境を横断するインフラストラクチャコードのデプロイメントを可能にするために用いられ得る。加えて、説明された技術は、これらの環境の中でのインフラストラクチャ管理を可能にし得る。いくつかの例において、サービスチームは、(例えば、時には世界全体に及ぶ、様々な異なる地理的場所を横断して)1つまたは複数の、ただししばしば多くの、異なる本番環境にデプロイされることを望まれるコードを書き記し得る。しかしながら、いくつかの例において、コードがデプロイされることになるインフラストラクチャは、最初にセットアップされなければならない。いくつかの事例において、プロビジョニングは、手動で行われることもあり、プロビジョニングツールが、リソースをプロビジョニングするために利用されることがあり、および/または、デプロイメントツールが、インフラストラクチャがプロビジョニングされると、コードをデプロイするために利用され得る。
【0122】
図9は、少なくとも1つの実施形態に従ってIaaSアーキテクチャの例パターンを例示するブロック線図900である。サービスオペレータ902が、仮想クラウドネットワーク(VCN)906とセキュアホストサブネット908とを含み得るセキュアホストテナンシ904に通信可能に結合され得る。いくつかの例において、サービスオペレータ902は、Microsoft Windows Mobile(登録商標)などのソフトウェア、ならびに/または、iOS、Windows Phone、Android、BlackBerry 8、Palm OS、および類するものなどの種々のモバイルオペレーティングシステムを実行し、かつ、インターネット、eメール、ショートメッセージサービス(SMS)、Blackberry(登録商標)、または、他の通信プロトコルが可能にされている、ポータブルハンドヘルドデバイス(例えば、iPhone(登録商標)、セルラ電話、iPad(登録商標)、コンピューティングタブレット、携帯情報端末(PDA))またはウェアラブルデバイス(例えば、Google Glass(登録商標)ヘッドマウントディスプレイ)であり得る、1つまたは複数のクライアントコンピューティングデバイスを使用し得る。代わりに、クライアントコンピューティングデバイスは、例として、様々なバージョンのMicrosoft Windows(登録商標)、Apple Macintosh(登録商標)、および/またはLinux(登録商標)オペレーティングシステムを実行する、パーソナルコンピュータおよび/またはラップトップコンピュータを含む、汎用パーソナルコンピュータであり得る。クライアントコンピューティングデバイスは、限定なしに、例えばGoogle Chrome OSなどの、種々のGNU/Linuxオペレーティングシステムを含む、種々の市販で入手可能なUNIX(登録商標)またはUNIX系オペレーティングシステムの任意のものを実行するワークステーションコンピュータであり得る。代わりに、または加えて、クライアントコンピューティングデバイスは、VCN906および/またはインターネットにアクセスし得る、ネットワーク越しに通信する能力をもつ、シンクライアントコンピュータ、インターネットが可能にされたゲーミングシステム(例えば、Kinect(登録商標)ジェスチャ入力デバイスを伴う、または伴わないMicrosoft Xboxゲーミングコンソール)、および/またはパーソナルメッセージングデバイスなどの、任意の他の電子デバイスであり得る。
【0123】
VCN906は、セキュアシェル(SSH)VCN912において保有されるローカルピアリングゲートウェイ(LPG)910を介して、SSH VCN912に通信可能に結合されていることがある、LPG910を含み得る。SSH VCN912は、SSHサブネット914を含み得るものであり、SSH VCN912は、制御プレーンVCN916において保有されるLPG910を介して、制御プレーンVCN916に通信可能に結合され得る。さらには、SSH VCN912は、LPG910を介して、データプレーンVCN918に通信可能に結合され得る。制御プレーンVCN916およびデータプレーンVCN918は、IaaSプロバイダによって所有および/または運用され得るサービステナンシ919において保有され得る。
【0124】
制御プレーンVCN916は、境界ネットワーク(例えば、企業イントラネットと外部ネットワークとの間の企業ネットワークの一部分)の役目をする制御プレーン非武装地帯(DMZ)層920を含み得る。DMZベースのサーバは、限定された責任を有し、侵害を阻止された様態に保つ助けとなり得る。加えて、DMZ層920は、1つまたは複数のロードバランサ(LB)サブネット922、アプリサブネット926を含み得る制御プレーンアプリ層924、データベース(DB)サブネット930(例えば、フロントエンドDBサブネットおよび/またはバックエンドDBサブネット)を含み得る制御プレーンデータ層928を含み得る。制御プレーンDMZ層920において保有されるLBサブネット922は、制御プレーンアプリ層924において保有されるアプリサブネット926、および、制御プレーンVCN916において保有され得るインターネットゲートウェイ934に通信可能に結合されていることもあり、アプリサブネット926は、制御プレーンデータ層928において保有されるDBサブネット930、ならびに、サービスゲートウェイ936およびネットワークアドレス変換(NAT)ゲートウェイ938に通信可能に結合され得る。制御プレーンVCN916は、サービスゲートウェイ936と、NATゲートウェイ938とを含み得る。
【0125】
制御プレーンVCN916は、アプリサブネット926を含み得るデータプレーンミラーアプリ層940を含み得る。データプレーンミラーアプリ層940において保有されるアプリサブネット926は、コンピュートインスタンス944を実行し得る仮想ネットワークインターフェイスコントローラ(VNIC)942を含み得る。コンピュートインスタンス944は、データプレーンミラーアプリ層940のアプリサブネット926を、データプレーンアプリ層946において保有され得るアプリサブネット926に通信可能に結合し得る。
【0126】
データプレーンVCN918は、データプレーンアプリ層946と、データプレーンDMZ層948と、データプレーンデータ層950とを含み得る。データプレーンDMZ層948は、データプレーンアプリ層946のアプリサブネット926、および、データプレーンVCN918のインターネットゲートウェイ934に通信可能に結合されていることがある、LBサブネット922を含み得る。アプリサブネット926は、データプレーンVCN918のサービスゲートウェイ936、および、データプレーンVCN918のNATゲートウェイ938に通信可能に結合され得る。データプレーンデータ層950は、さらには、データプレーンアプリ層946のアプリサブネット926に通信可能に結合されていることがある、DBサブネット930を含み得る。
【0127】
制御プレーンVCN916の、および、データプレーンVCN918のインターネットゲートウェイ934は、公衆インターネット954に通信可能に結合されていることがある、メタデータ管理サービス952に通信可能に結合され得る。公衆インターネット954は、制御プレーンVCN916の、および、データプレーンVCN918のNATゲートウェイ938に通信可能に結合され得る。制御プレーンVCN916の、および、データプレーンVCN918のサービスゲートウェイ936は、クラウドサービス956に通信可能に結合され得る。
【0128】
いくつかの例において、制御プレーンVCN916の、または、データプレーンVCN918のサービスゲートウェイ936は、公衆インターネット954を通り抜けることなく、クラウドサービス956へのアプリケーションプログラミングインターフェイス(API)コールをなし得る。サービスゲートウェイ936からクラウドサービス956へのAPIコールは、一方向性であり得るものであり、サービスゲートウェイ936は、クラウドサービス956へのAPIコールをなし得るものであり、クラウドサービス956は、要求されたデータをサービスゲートウェイ936に送出し得る。しかしながら、クラウドサービス956は、サービスゲートウェイ936へのAPIコールを開始しないことがある。
【0129】
いくつかの例において、セキュアホストテナンシ904は、さもなければ分離され得るサービステナンシ919に直接的に接続され得る。セキュアホストサブネット908は、さもなければ分離されているシステムを介して双方向通信を可能にし得るLPG910を通して、SSHサブネット914と通信することができる。セキュアホストサブネット908をSSHサブネット914に接続することは、セキュアホストサブネット908に、サービステナンシ919の中の他のエンティティへのアクセスを与え得る。
【0130】
制御プレーンVCN916は、サービステナンシ919のユーザが、望まれたリソースをセットアップする、または他の形でプロビジョニングすることを可能とし得る。制御プレーンVCN916においてプロビジョニングされた、望まれたリソースは、データプレーンVCN918においてデプロイされる、または他の形で使用され得る。いくつかの例において、制御プレーンVCN916は、データプレーンVCN918から分離されていることもあり、制御プレーンVCN916のデータプレーンミラーアプリ層940は、データプレーンミラーアプリ層940およびデータプレーンアプリ層946において保有され得るVNIC942を介して、データプレーンVCN918のデータプレーンアプリ層946と通信し得る。
【0131】
いくつかの例において、システムのユーザ、または顧客は、メタデータ管理サービス952に要求を伝達することができる公衆インターネット954を通して、作成、読み取り、更新、または削除(CRUD)オペレーションなどの要求を行い得る。メタデータ管理サービス952は、インターネットゲートウェイ934を通して制御プレーンVCN916に要求を伝達し得る。要求は、制御プレーンDMZ層920において保有されるLBサブネット922によって受信され得る。LBサブネット922は、要求は妥当であると判定することがあり、この判定に応答して、LBサブネット922は、制御プレーンアプリ層924において保有されるアプリサブネット926に要求を送信し得る。要求が、妥当性を確認され、公衆インターネット954へのコールを要する場合、公衆インターネット954へのコールは、公衆インターネット954へのコールをなし得るNATゲートウェイ938に送信され得る。要求によって記憶されることを望まれ得る記憶事項が、DBサブネット930において記憶され得る。
【0132】
いくつかの例において、データプレーンミラーアプリ層940は、制御プレーンVCN916とデータプレーンVCN918との間の直接的な通信を容易にし得る。例えば、構成に対する変更、更新、または、他の適した修正が、データプレーンVCN918において保有されるリソースに適用されることを望まれ得る。VNIC942を介して、制御プレーンVCN916は、データプレーンVCN918において保有されるリソースと直接的に通信し得るものであり、以て、それらのリソースに対して、構成に対する変更、更新、または、他の適した修正を実行し得る。
【0133】
いくつかの実施形態において、制御プレーンVCN916およびデータプレーンVCN918は、サービステナンシ919において保有され得る。この事例において、システムのユーザまたは顧客は、制御プレーンVCN916もデータプレーンVCN918も所有または運用しないことがある。その代わりに、IaaSプロバイダが、制御プレーンVCN916およびデータプレーンVCN918を所有または運用することがあり、それらのVCNの両方が、サービステナンシ919において保有され得る。この実施形態は、ユーザまたは顧客が、他のユーザの、または、他の顧客のリソースと相互作用することを防止し得る、ネットワークの分離を可能にし得る。さらには、この実施形態は、システムのユーザまたは顧客が、記憶のために、望まれるレベルの脅威防御を有さないことがある、公衆インターネット954に頼ることを必要とすることなく、データベースを内密に記憶することを可能とし得る。
【0134】
他の実施形態において、制御プレーンVCN916において保有されるLBサブネット922は、サービスゲートウェイ936から信号を受信するように構成され得る。この実施形態において、制御プレーンVCN916およびデータプレーンVCN918は、公衆インターネット954をコールすることなく、IaaSプロバイダの顧客によってコールされるように構成され得る。IaaSプロバイダの顧客は、この実施形態を望むことがあり、なぜならば、顧客が使用するデータベースは、IaaSプロバイダによって制御されることがあり、公衆インターネット954から分離されていることがあるサービステナンシ919上に記憶されていることがあるからである。
【0135】
図10は、少なくとも1つの実施形態に従ってIaaSアーキテクチャの他の一例のパターンを例示するブロック線図1000である。サービスオペレータ1002(例えば、図9のサービスオペレータ902)が、仮想クラウドネットワーク(VCN)1006(例えば、図9のVCN906)とセキュアホストサブネット1008(例えば、図9のセキュアホストサブネット908)とを含み得るセキュアホストテナンシ1004(例えば、図9のセキュアホストテナンシ904)に通信可能に結合され得る。VCN1006は、セキュアシェル(SSH)VCN1012(例えば、図9のSSH VCN912)において保有されるLPG910を介して、SSH VCN1012に通信可能に結合されていることがある、ローカルピアリングゲートウェイ(LPG)1010(例えば、図9のLPG910)を含み得る。SSH VCN1012は、SSHサブネット1014(例えば、図9のSSHサブネット914)を含み得るものであり、SSH VCN1012は、制御プレーンVCN1016(例えば、図9の制御プレーンVCN916)において保有されるLPG1010を介して、制御プレーンVCN1016に通信可能に結合され得る。制御プレーンVCN1016は、サービステナンシ1019(例えば、図9のサービステナンシ919)において保有され得るものであり、データプレーンVCN1018(例えば、図9のデータプレーンVCN918)は、システムのユーザまたは顧客によって所有または運用され得る顧客テナンシ1021において保有され得る。
【0136】
制御プレーンVCN1016は、LBサブネット1022(例えば、図9のLBサブネット922)を含み得る制御プレーンDMZ層1020(例えば、図9の制御プレーンDMZ層920)、アプリサブネット1026(例えば、図9のアプリサブネット926)を含み得る制御プレーンアプリ層1024(例えば、図9の制御プレーンアプリ層924)、データベース(DB)サブネット1030(例えば、図9のDBサブネット930と同様の)を含み得る制御プレーンデータ層1028(例えば、図9の制御プレーンデータ層928)を含み得る。制御プレーンDMZ層1020において保有されるLBサブネット1022は、制御プレーンアプリ層1024において保有されるアプリサブネット1026、および、制御プレーンVCN1016において保有され得るインターネットゲートウェイ1034(例えば、図9のインターネットゲートウェイ934)に通信可能に結合されていることもあり、アプリサブネット1026は、制御プレーンデータ層1028において保有されるDBサブネット1030、ならびに、サービスゲートウェイ1036(例えば、図9のサービスゲートウェイ636)およびネットワークアドレス変換(NAT)ゲートウェイ1038(例えば、図9のNATゲートウェイ938)に通信可能に結合され得る。制御プレーンVCN1016は、サービスゲートウェイ1036と、NATゲートウェイ1038とを含み得る。
【0137】
制御プレーンVCN1016は、アプリサブネット1026を含み得るデータプレーンミラーアプリ層1040(例えば、図9のデータプレーンミラーアプリ層940)を含み得る。データプレーンミラーアプリ層1040において保有されるアプリサブネット1026は、コンピュートインスタンス1044(例えば、図9のコンピュートインスタンス944と同様の)を実行し得る仮想ネットワークインターフェイスコントローラ(VNIC)1042(例えば、図9のVNIC942)を含み得る。コンピュートインスタンス1044は、データプレーンミラーアプリ層1040において保有されるVNIC1042、および、データプレーンアプリ層1046(例えば、図9のデータプレーンアプリ層946)において保有されるVNIC1042を介しての、データプレーンミラーアプリ層1040のアプリサブネット1026と、データプレーンアプリ層1046において保有され得るアプリサブネット1026との間の通信を容易にし得る。
【0138】
制御プレーンVCN1016において保有されるインターネットゲートウェイ1034は、公衆インターネット1054(例えば、図9の公衆インターネット954)に通信可能に結合され得るメタデータ管理サービス1052(例えば、図9のメタデータ管理サービス952)に通信可能に結合され得る。公衆インターネット1054は、制御プレーンVCN1016において保有されるNATゲートウェイ1038に通信可能に結合され得る。制御プレーンVCN1016において保有されるサービスゲートウェイ1036は、クラウドサービス1056(例えば、図9のクラウドサービス956)に通信可能に結合され得る。
【0139】
いくつかの例において、データプレーンVCN1018は、顧客テナンシ1021において保有され得る。この事例において、IaaSプロバイダは、各顧客に制御プレーンVCN1016を提供することがあり、IaaSプロバイダは、各顧客について、サービステナンシ1019において保有される一意的なコンピュートインスタンス1044をセットアップし得る。各コンピュートインスタンス1044は、サービステナンシ1019において保有される制御プレーンVCN1016と、顧客テナンシ1021において保有されるデータプレーンVCN1018との間の通信を可能とし得る。コンピュートインスタンス1044は、サービステナンシ1019において保有される制御プレーンVCN1016においてプロビジョニングされるリソースが、顧客テナンシ1021において保有されるデータプレーンVCN1018においてデプロイされる、または他の形で使用されることを可能とし得る。
【0140】
他の例において、IaaSプロバイダの顧客は、顧客テナンシ1021において存続するデータベースを有し得る。この例において、制御プレーンVCN1016は、アプリサブネット1026を含み得るデータプレーンミラーアプリ層1040を含み得る。データプレーンミラーアプリ層1040は、データプレーンVCN1018において常在することがあるが、データプレーンミラーアプリ層1040は、データプレーンVCN1018において存続しないことがある。すなわち、データプレーンミラーアプリ層1040は、顧客テナンシ1021へのアクセスを有し得るが、データプレーンミラーアプリ層1040は、データプレーンVCN1018において所在しもせず、IaaSプロバイダの顧客によって所有または運用されもしないことがある。データプレーンミラーアプリ層1040は、データプレーンVCN1018へのコールをなすように構成されていることがあるが、制御プレーンVCN1016において保有されるいずれのエンティティへも、コールをなすように構成されていなくてもよい。顧客は、制御プレーンVCN1016においてプロビジョニングされる、データプレーンVCN1018におけるリソースをデプロイする、または他の形で使用することを望むことがあり、データプレーンミラーアプリ層1040は、顧客の、リソースの望まれるデプロイメントまたは他の使用法を容易にし得る。
【0141】
いくつかの実施形態において、IaaSプロバイダの顧客は、データプレーンVCN1018にフィルタを適用し得る。この実施形態において、顧客は、データプレーンVCN1018が何にアクセスし得るかを判定することもあり、顧客は、データプレーンVCN1018から公衆インターネット1054へのアクセスを制限し得る。IaaSプロバイダは、いかなる外側のネットワークまたはデータベースに対しても、フィルタを適用する、または他の形で、データプレーンVCN1018のアクセスを制御することができないことがある。顧客テナンシ1021において保有されるデータプレーンVCN1018への、顧客による、フィルタを適用することおよび制御は、データプレーンVCN1018を、他の顧客から、および、公衆インターネット1054から分離する助けとなり得る。
【0142】
いくつかの実施形態において、クラウドサービス1056は、公衆インターネット1054上にも、制御プレーンVCN1016上にも、データプレーンVCN1018上にも所在しないことがあるサービスにアクセスするために、サービスゲートウェイ1036によってコールされ得る。クラウドサービス1056と、制御プレーンVCN1016またはデータプレーンVCN1018との間の接続は、存続するものでも継続的でもないことがある。クラウドサービス1056は、IaaSプロバイダによって所有または運用される異なるネットワーク上に所在し得る。クラウドサービス1056は、サービスゲートウェイ1036からコールを受信するように構成されていてもよく、公衆インターネット1054からコールを受信しないように構成されてもよい。いくつかのクラウドサービス1056は、他のクラウドサービス1056から分離されていてもよく、制御プレーンVCN1016は、制御プレーンVCN1016と同じリージョンになくてもよいクラウドサービス1056から分離され得る。例えば、制御プレーンVCN1016は、「リージョン1」に配置されてもよく、クラウドサービス「デプロイメント9」は、リージョン1において、および「リージョン2」に配置され得る。デプロイメント9へのコールが、リージョン1に配置された制御プレーンVCN1016において保有されるサービスゲートウェイ1036によってなされる場合、コールは、リージョン1におけるデプロイメント9に送信され得る。この例において、リージョン1における制御プレーンVCN1016またはデプロイメント9は、リージョン2におけるデプロイメント9に通信可能に結合されていなくてもよく、または他の形で、リージョン2におけるデプロイメント9と通信していなくてもよい。
【0143】
図11は、少なくとも1つの実施形態に従ってIaaSアーキテクチャの他の一例のパターンを例示するブロック線図1100である。サービスオペレータ1102(例えば、図9のサービスオペレータ902)が、仮想クラウドネットワーク(VCN)1106(例えば、図9のVCN906)とセキュアホストサブネット1108(例えば、図9のセキュアホストサブネット908)とを含み得るセキュアホストテナンシ1104(例えば、図9のセキュアホストテナンシ904)に通信可能に結合され得る。VCN1106は、SSH VCN1112(例えば、図9のSSH VCN912)において保有されるLPG1110(例えば、図9のLPG910)を介して、SSH VCN1112に通信可能に結合されていることがある、LPG1110を含み得る。SSH VCN1112は、SSHサブネット1114(例えば、図9のSSHサブネット914)を含み得るものであり、SSH VCN1112は、制御プレーンVCN1116(例えば、図9の制御プレーンVCN916)において保有されるLPG1110を介して、制御プレーンVCN1116に、および、データプレーンVCN1118(例えば、図9のデータプレーン918)において保有されるLPG1110を介して、データプレーンVCN1118に通信可能に結合され得る。制御プレーンVCN1116およびデータプレーンVCN1118は、サービステナンシ1119(例えば、図9のサービステナンシ919)において保有され得る。
【0144】
制御プレーンVCN1116は、ロードバランサ(LB)サブネット1122(例えば、図9のLBサブネット922)を含み得る制御プレーンDMZ層1120(例えば、図9の制御プレーンDMZ層920)、アプリサブネット1126(例えば、図9のアプリサブネット926と同様の)を含み得る制御プレーンアプリ層1124(例えば、図9の制御プレーンアプリ層924)、DBサブネット1130を含み得る制御プレーンデータ層1128(例えば、図9の制御プレーンデータ層928)を含み得る。制御プレーンDMZ層1120において保有されるLBサブネット1122は、制御プレーンアプリ層1124において保有されるアプリサブネット1126に、および、制御プレーンVCN1116において保有され得るインターネットゲートウェイ1134(例えば、図9のインターネットゲートウェイ934)に通信可能に結合されていることがあり、アプリサブネット1126は、制御プレーンデータ層1128において保有されるDBサブネット1130に、ならびに、サービスゲートウェイ1136(例えば、図9のサービスゲートウェイ936)およびネットワークアドレス変換(NAT)ゲートウェイ1138(例えば、図9のNATゲートウェイ938)に通信可能に結合され得る。制御プレーンVCN1116は、サービスゲートウェイ1136と、NATゲートウェイ1138とを含み得る。
【0145】
データプレーンVCN1118は、データプレーンアプリ層1146(例えば、図9のデータプレーンアプリ層946)と、データプレーンDMZ層1148(例えば、図9のデータプレーンDMZ層948)と、データプレーンデータ層1150(例えば、図9のデータプレーンデータ層950)とを含み得る。データプレーンDMZ層1148は、データプレーンアプリ層1146の、信頼できるアプリサブネット1160、および、信頼できないアプリサブネット1162、ならびに、データプレーンVCN1118において保有されるインターネットゲートウェイ1134に通信可能に結合されていることがある、LBサブネット1122を含み得る。信頼できるアプリサブネット1160は、データプレーンVCN1118において保有されるサービスゲートウェイ1136、データプレーンVCN1118において保有されるNATゲートウェイ1138、および、データプレーンデータ層1150において保有されるDBサブネット1130に通信可能に結合され得る。信頼できないアプリサブネット1162は、データプレーンVCN1118において保有されるサービスゲートウェイ1136、および、データプレーンデータ層1150において保有されるDBサブネット1130に通信可能に結合され得る。データプレーンデータ層1150は、データプレーンVCN1118において保有されるサービスゲートウェイ1136に通信可能に結合されていることがある、DBサブネット1130を含み得る。
【0146】
信頼できないアプリサブネット1162は、テナント仮想マシン(VM)1166(1)~(N)に通信可能に結合され得る1つまたは複数のプライマリVNIC1164(1)~(N)を含み得る。各テナントVM1166(1)~(N)は、それぞれの顧客テナンシ1170(1)~(N)において保有され得る、それぞれのコンテナエグレスVCN1168(1)~(N)において保有され得る、それぞれのアプリサブネット1167(1)~(N)に通信可能に結合され得る。それぞれのセカンダリVNIC1172(1)~(N)が、データプレーンVCN1118において保有される信頼できないアプリサブネット1162と、コンテナエグレスVCN1168(1)~(N)において保有されるアプリサブネットとの間の通信を容易にし得る。各コンテナエグレスVCN1168(1)~(N)は、公衆インターネット1154(例えば、図9の公衆インターネット954)に通信可能に結合されていることがある、NATゲートウェイ1138を含み得る。
【0147】
制御プレーンVCN1116において保有される、および、データプレーンVCN1118において保有される、インターネットゲートウェイ1134は、公衆インターネット1154に通信可能に結合されていることがある、メタデータ管理サービス1152(例えば、図9のメタデータ管理システム952)に通信可能に結合され得る。公衆インターネット1154は、制御プレーンVCN1116において保有される、および、データプレーンVCN1118において保有される、NATゲートウェイ1138に通信可能に結合され得る。制御プレーンVCN1116において保有される、および、データプレーンVCN1118において保有される、サービスゲートウェイ1136は、クラウドサービス1156に通信可能に結合され得る。
【0148】
いくつかの実施形態において、データプレーンVCN1118は、顧客テナンシ1170と統合され得る。この統合は、コードを実行するときにサポートを望み得る事例などの、いくつかの事例において、IaaSプロバイダの顧客にとって有用で、または望ましくあり得る。顧客は、破壊的であり得る、他の顧客リソースと通信し得る、または他の形で、望ましくない影響を生じさせ得る、実行するためのコードを提供し得る。このことに応答して、IaaSプロバイダは、顧客によってIaaSプロバイダに与えられたコードを実行するべきか否かを判定し得る。
【0149】
いくつかの例において、IaaSプロバイダの顧客は、IaaSプロバイダに一時的なネットワークアクセスを許可し、データプレーンアプリ層1146にアタッチされるべき機能を要求し得る。機能を実行するためのコードが、VM1166(1)~(N)において実行されることがあり、コードは、データプレーンVCN1118上のその他のいかなるところでも、実行するように構成されていなくてもよい。各VM1166(1)~(N)は、1つの顧客テナンシ1170に接続され得る。VM1166(1)~(N)において保有されるそれぞれのコンテナ1171(1)~(N)が、コードを実行しないように構成され得る。この事例において、正しくない、または他の形で望ましくないコードが、IaaSプロバイダのネットワークを損傷することを、または、異なる顧客のネットワークを損傷することを防止する助けとなることがある、二重分離(例えば、コンテナ1171(1)~(N)が、少なくとも、信頼できないアプリサブネット1162において保有されるVM1166(1)~(N)において保有され得る場合の、コードを実行するコンテナ1171(1)~(N))が存し得る。コンテナ1171(1)~(N)は、顧客テナンシ1170に通信可能に結合されていることがあり、顧客テナンシ1170からのデータを送信または受信するように構成され得る。コンテナ1171(1)~(N)は、データプレーンVCN1118におけるいかなる他のエンティティからのデータも、送信または受信するように構成されていなくてもよい。コードを実行することの完了を基に、IaaSプロバイダは、コンテナ1171(1)~(N)について強制停止し、または、他の形で破棄し得る。
【0150】
いくつかの実施形態において、信頼できるアプリサブネット1160は、IaaSプロバイダによって所有または運用され得るコードを実行し得る。この実施形態において、信頼できるアプリサブネット1160は、DBサブネット1130に通信可能に結合されている、および、DBサブネット1130におけるCRUDオペレーションを実行するように構成され得る。信頼できないアプリサブネット1162は、DBサブネット1130に通信可能に結合されていることがあるが、この実施形態において、信頼できないアプリサブネットは、DBサブネット1130における読み取りオペレーションを実行するように構成され得る。各顧客のVM1166(1)~(N)において保有され得る、および、顧客からのコードを実行し得るコンテナ1171(1)~(N)は、DBサブネット1130と通信可能に結合されていなくてもよい。
【0151】
他の実施形態において、制御プレーンVCN1116およびデータプレーンVCN1118は、直接的に通信可能に結合されていなくてもよい。この実施形態において、制御プレーンVCN1116とデータプレーンVCN1118との間の直接的な通信が存しないことがある。しかしながら、通信は、少なくとも1つの方法によって間接的に生起し得る。制御プレーンVCN1116とデータプレーンVCN1118との間の通信を容易にし得る、LPG1110が、IaaSプロバイダによって確立され得る。他の一例のにおいて、制御プレーンVCN1116またはデータプレーンVCN1118は、サービスゲートウェイ1136を介して、クラウドサービス1156へのコールをなし得る。例えば、制御プレーンVCN1116からクラウドサービス1156へのコールは、データプレーンVCN1118と通信し得るサービスについての要求を含み得る。
【0152】
図12は、少なくとも1つの実施形態に従ってIaaSアーキテクチャの他の一例のパターンを例示するブロック線図1200である。サービスオペレータ1202(例えば、図9のサービスオペレータ902)が、仮想クラウドネットワーク(VCN)1206(例えば、図9のVCN906)とセキュアホストサブネット1208(例えば、図9のセキュアホストサブネット908)とを含み得るセキュアホストテナンシ1204(例えば、図9のセキュアホストテナンシ904)に通信可能に結合され得る。VCN1206は、SSH VCN1212(例えば、図9のSSH VCN912)において保有されるLPG1210(例えば、図9のLPG910)を介して、SSH VCN1212に通信可能に結合されていることがある、LPG1210を含み得る。SSH VCN1212は、SSHサブネット1214(例えば、図9のSSHサブネット914)を含み得るものであり、SSH VCN1212は、制御プレーンVCN1216(例えば、図9の制御プレーンVCN916)において保有されるLPG1210を介して、制御プレーンVCN1216に、および、データプレーンVCN1218(例えば、図9のデータプレーン918)において保有されるLPG1210を介して、データプレーンVCN1218に通信可能に結合され得る。制御プレーンVCN1216およびデータプレーンVCN1218は、サービステナンシ1219(例えば、図9のサービステナンシ919)において保有され得る。
【0153】
制御プレーンVCN1216は、LBサブネット1222(例えば、図9のLBサブネット922)を含み得る制御プレーンDMZ層1220(例えば、図9の制御プレーンDMZ層920)、アプリサブネット1226(例えば、図9のアプリサブネット926)を含み得る制御プレーンアプリ層1224(例えば、図9の制御プレーンアプリ層924)、DBサブネット1230(例えば、図11のDBサブネット1130)を含み得る制御プレーンデータ層1228(例えば、図9の制御プレーンデータ層928)を含み得る。制御プレーンDMZ層1220において保有されるLBサブネット1222は、制御プレーンアプリ層1224において保有されるアプリサブネット1226に、および、制御プレーンVCN1216において保有され得るインターネットゲートウェイ1234(例えば、図9のインターネットゲートウェイ934)に通信可能に結合されていることがあり、アプリサブネット1226は、制御プレーンデータ層1228において保有されるDBサブネット1230に、ならびに、サービスゲートウェイ1236(例えば、図9のサービスゲートウェイ)およびネットワークアドレス変換(NAT)ゲートウェイ1238(例えば、図9のNATゲートウェイ938)に通信可能に結合され得る。制御プレーンVCN1216は、サービスゲートウェイ1236と、NATゲートウェイ1238とを含み得る。
【0154】
データプレーンVCN1218は、データプレーンアプリ層1246(例えば、図9のデータプレーンアプリ層946)と、データプレーンDMZ層1248(例えば、図9のデータプレーンDMZ層948)と、データプレーンデータ層1250(例えば、図9のデータプレーンデータ層950)とを含み得る。データプレーンDMZ層1248は、データプレーンアプリ層1246の、信頼できるアプリサブネット1260(例えば、図11の信頼できるアプリサブネット1160)、および、信頼できないアプリサブネット1262(例えば、図11の信頼できないアプリサブネット1162)、ならびに、データプレーンVCN1218において保有されるインターネットゲートウェイ1234に通信可能に結合されていることがある、LBサブネット1222を含み得る。信頼できるアプリサブネット1260は、データプレーンVCN1218において保有されるサービスゲートウェイ1236、データプレーンVCN1218において保有されるNATゲートウェイ1238、および、データプレーンデータ層1250において保有されるDBサブネット1230に通信可能に結合され得る。信頼できないアプリサブネット1262は、データプレーンVCN1218において保有されるサービスゲートウェイ1236、および、データプレーンデータ層1250において保有されるDBサブネット1230に通信可能に結合され得る。データプレーンデータ層1250は、データプレーンVCN1218において保有されるサービスゲートウェイ1236に通信可能に結合されていることがある、DBサブネット1230を含み得る。
【0155】
信頼できないアプリサブネット1262は、信頼できないアプリサブネット1262の中に常駐するテナント仮想マシン(VM)1266(1)~(N)に通信可能に結合され得るプライマリVNIC1264(1)~(N)を含み得る。各テナントVM1266(1)~(N)は、それぞれのコンテナ1267(1)~(N)においてコードを実行してもよく、コンテナエグレスVCN1268において保有され得る、データプレーンアプリ層1246において保有され得る、アプリサブネット1226に通信可能に結合され得る。それぞれのセカンダリVNIC1272(1)~(N)が、データプレーンVCN1218において保有される信頼できないアプリサブネット1262と、コンテナエグレスVCN1268において保有されるアプリサブネットとの間の通信を容易にし得る。コンテナエグレスVCNは、公衆インターネット1254(例えば、図9の公衆インターネット954)に通信可能に結合されていることがある、NATゲートウェイ1238を含み得る。
【0156】
制御プレーンVCN1216において保有される、および、データプレーンVCN1218において保有される、インターネットゲートウェイ1234は、公衆インターネット1254に通信可能に結合されていることがある、メタデータ管理サービス1252(例えば、図9のメタデータ管理システム952)に通信可能に結合され得る。公衆インターネット1254は、制御プレーンVCN1216において保有される、および、データプレーンVCN1218において保有される、NATゲートウェイ1238に通信可能に結合され得る。制御プレーンVCN1216において保有される、および、データプレーンVCN1218において保有される、サービスゲートウェイ1236は、クラウドサービス1256に通信可能に結合され得る。
【0157】
いくつかの例において、図12のブロック線図1200のアーキテクチャによって例示されるパターンは、図11のブロック線図1100のアーキテクチャによって例示されるパターンに対する例外と考えられ得、また、IaaSプロバイダの顧客にとって、IaaSプロバイダが顧客(例えば、接続を断たれているリージョン)と直接的に通信し得ない場合に、望ましいことがある。各顧客についてVM1266(1)~(N)において保有されるそれぞれのコンテナ1267(1)~(N)は、顧客によってリアルタイムでアクセスされ得る。コンテナ1267(1)~(N)は、コンテナエグレスVCN1268において保有され得るデータプレーンアプリ層1246のアプリサブネット1226において保有されるそれぞれのセカンダリVNIC1272(1)~(N)へのコールをなすように構成され得る。セカンダリVNIC1272(1)~(N)は、NATゲートウェイ1238にコールを送信してもよく、そのNATゲートウェイ1238は、公衆インターネット1254にコールを送信し得る。この例において、顧客によってリアルタイムでアクセスされ得るコンテナ1267(1)~(N)は、制御プレーンVCN1216から分離されていることもあり、データプレーンVCN1218において保有される他のエンティティから分離され得る。コンテナ1267(1)~(N)は、さらには、他の顧客からのリソースから分離され得る。
【0158】
他の例において、顧客は、クラウドサービス1256をコールするためにコンテナ1267(1)~(N)を使用し得る。この例において、顧客は、クラウドサービス1256にサービスを要求するコードを、コンテナ1267(1)~(N)において実行し得る。コンテナ1267(1)~(N)は、セカンダリVNIC1272(1)~(N)にこの要求を送信し得るものであり、それらのセカンダリVNICは、NATゲートウェイに要求を送信し得るものであり、そのNATゲートウェイは、公衆インターネット1254に要求を送信し得る。公衆インターネット1254は、インターネットゲートウェイ1234を介して、制御プレーンVCN1216において保有されるLBサブネット1222に要求を送信し得る。要求は妥当であると判定することに応答して、LBサブネットは、アプリサブネット1226に要求を送信し得るものであり、そのアプリサブネット1226は、サービスゲートウェイ1236を介して、クラウドサービス1256に要求を送信し得る。
【0159】
図において描写されるIaaSアーキテクチャ900、1000、1100、1200は、描写される構成要素以外の構成要素を有し得るということが理解されるべきである。さらに、図において示される実施形態は、単に、本開示の実施形態を組み込み得るクラウドインフラストラクチャシステムのいくつかの例である。いくつかの他の実施形態において、IaaSシステムは、図において示されるよりも多い、もしくは少ない構成要素を有することがあり、2つ以上の構成要素を組み合わせることがあり、または、構成要素の異なる構成もしくは配置構成を有し得る。
【0160】
いくつかの実施形態において、本明細書において説明されるIaaSシステムは、セルフサービスの、サブスクリプションベースの、弾力的にスケーラブルな、信頼性の高い、高度に可用性の、および、セキュアな様式において顧客に届けられる、一揃いのアプリケーション、ミドルウェア、およびデータベースサービスオファリングを含み得る。そのようなIaaSシステムの例は、本譲受人によって提供されるOracle Cloud Infrastructure(OCI)である。
【0161】
図13は、様々な実施形態が実現され得る一例のコンピュータシステム1300を例示する。システム1300は、上記で説明されたコンピュータシステムの任意のものを実現するために使用され得る。図において示されるように、コンピュータシステム1300は、バスサブシステム1302を介していくつかの周辺サブシステムと通信する処理ユニット1304を含む。これらの周辺サブシステムは、処理加速ユニット1306と、I/Oサブシステム1308と、ストレージサブシステム1318と、通信サブシステム1324とを含み得る。ストレージサブシステム1318は、有形のコンピュータ読み取り可能な記憶媒体1322と、システムメモリ1310とを含む。
【0162】
バスサブシステム1302は、コンピュータシステム1300の様々な構成要素およびサブシステムに、意図されるように互いと通信させるための機構を提供する。バスサブシステム1302は、単一のバスとして概略的に示されるが、バスサブシステムの別の実施形態は、複数のバスを利用し得る。バスサブシステム1302は、種々のバスアーキテクチャの任意のものを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いろいろなタイプのバス構造の任意のものであり得る。例えば、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準協会(VESA)ローカルバス、および、IEEE P1386.1規格に合わせて製造されたメザニンバスとして実現され得る周辺構成要素相互接続(PCI)バスを含み得る。
【0163】
1つまたは複数の集積回路として実現され得る処理ユニット1304(例えば、従前のマイクロプロセッサまたはマイクロコントローラ)は、コンピュータシステム1300の動作を制御する。1つまたは複数のプロセッサが、処理ユニット1304に含まれ得る。これらのプロセッサは、シングルコアまたはマルチコアプロセッサを含み得る。いくつかの実施形態において、処理ユニット1304は、各処理ユニットに含まれるシングルまたはマルチコアプロセッサを伴う、1つまたは複数の独立した処理ユニット1332および/または1334として実現され得る。他の実施形態において、処理ユニット1304は、さらには、2つのデュアルコアプロセッサを単一のチップへと統合することによって形成された、クアッドコア処理ユニットとして実現され得る。
【0164】
様々な実施形態において、処理ユニット1304は、プログラムコードに応答して種々のプログラムを実行し得るものであり、複数の同時に実行するプログラムまたはプロセスを維持し得る。任意の所与の時間において、実行されるべきプログラムコードのいくつかまたはすべては、プロセッサ1304において、および/または、ストレージサブシステム1318に常駐し得る。適したプログラミングによって、プロセッサ1304は、上記で説明された様々な機能性を提供し得る。コンピュータシステム1300は、加えて、デジタル信号プロセッサ(DSP)、特殊目的プロセッサ、および/または類するものを含み得る処理加速ユニット1306を含み得る。
【0165】
I/Oサブシステム1308は、ユーザインターフェイス入力デバイスと、ユーザインターフェイス出力デバイスとを含み得る。ユーザインターフェイス入力デバイスは、キーボード、マウスまたはトラックボールなどのポインティングデバイス、タッチパッドまたはディスプレイ内へと組み込まれたタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを伴うオーディオ入力デバイス、マイクロホン、および、他のタイプの入力デバイスを含み得る。ユーザインターフェイス入力デバイスは、例えば、ユーザが、ジェスチャおよび口頭のコマンドを使用するナチュラルユーザインターフェイスによって、Microsoft Xbox(登録商標)360ゲームコントローラなどの入力デバイスを制御する、および、その入力デバイスと相互作用することを可能にする、Microsoft Kinect(登録商標)モーションセンサなどのモーションセンシングおよび/またはジェスチャ認識デバイスを含み得る。ユーザインターフェイス入力デバイスは、さらには、ユーザからの目もと活動(例えば、写真をとること、および/または、メニュー選択をなすことの間の「まばたき」)を検出し、アイジェスチャを入力デバイス(例えば、Google Glass(登録商標))への入力として転換する、Google Glass(登録商標)まばたき検出器などのアイジェスチャ認識デバイスを含み得る。加えて、ユーザインターフェイス入力デバイスは、ユーザが、音声コマンドによって音声認識システム(例えば、Siri(登録商標)ナビゲータ)と相互作用することを可能にする、音声認識センシングデバイスを含み得る。
【0166】
ユーザインターフェイス入力デバイスは、さらには、限定ではなく、3次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッド、およびグラフィックタブレット、ならびに、オーディオ/視覚デバイス、例えば、スピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレーヤ、ウェブカメラ、イメージスキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線追跡デバイスなどを含み得る。加えて、ユーザインターフェイス入力デバイスは、例えば、コンピュータ断層撮影法、磁気共鳴イメージング、位置放出断層撮影法(position emission tomography)、医用超音波検査法デバイスなどの医用イメージング入力デバイスを含み得る。ユーザインターフェイス入力デバイスは、さらには、例えば、MIDIキーボード、デジタル楽器、および類するものなどのオーディオ入力デバイスを含み得る。
【0167】
ユーザインターフェイス出力デバイスは、ディスプレイサブシステム、インジケータライト、または、オーディオ出力デバイスなどの非視覚ディスプレイ、その他を含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)またはプラズマディスプレイを使用するものなどのフラットパネルデバイス、投影デバイス、タッチスクリーン、および類するものであり得る。一般的に、用語「出力デバイス」の使用は、コンピュータシステム1300からユーザまたは他のコンピュータに情報を出力するための、すべての可能なタイプのデバイスおよび機構を含むことを意図される。例えば、ユーザインターフェイス出力デバイスは、制限なしに、モニタ、プリンタ、スピーカ、ヘッドホン、自動車用ナビゲーションシステム、プロッタ、音声出力デバイス、およびモデムなどの、テキスト、グラフィックス、およびオーディオ/ビデオ情報を視覚的に伝える種々のディスプレイデバイスを含み得る。
【0168】
コンピュータシステム1300は、システムメモリ1310の中に現時点で配置されているように示されるソフトウェア要素を含むストレージサブシステム1318を含み得る。システムメモリ1310は、処理ユニット1304上でロード可能および実行可能であるプログラム命令、ならびに、これらのプログラムの実行中に生成されるデータを記憶し得る。
【0169】
コンピュータシステム1300の構成およびタイプに依存して、システムメモリ1310は、揮発性(ランダムアクセスメモリ(RAM)など)および/または不揮発性(読み取り専用メモリ(ROM)、フラッシュメモリ、その他など)であり得る。RAMは、典型的には、処理ユニット1304にとって即時にアクセス可能である、ならびに/または、処理ユニット1304によって現在動作させられている、および実行されている、データおよび/またはプログラムモジュールを保有する。いくつかの実現形態において、システムメモリ1310は、スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)などの、複数の異なるタイプのメモリを含み得る。いくつかの実現形態において、スタートアップ中などで、コンピュータシステム1300の中の要素同士の間で情報を転送する助けとなる基本ルーチンを保有する基本入出力システム(BIOS)が、典型的には、ROMに記憶され得る。限定としてではなく、例として、システムメモリ1310は、さらには、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(RDBMS)、その他を含み得るアプリケーションプログラム1312と、プログラムデータ1314と、オペレーティングシステム1316とを例示する。例として、オペレーティングシステム1316は、様々なバージョンのMicrosoft Windows(登録商標)、Apple Macintosh(登録商標)、および/もしくはLinuxオペレーティングシステム、種々の市販で入手可能なUNIX(登録商標)もしくはUNIX系オペレーティングシステム(制限なしに、種々のGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OS、および類するものを含む)、ならびに/または、iOS、Windows(登録商標)Phone、Android(登録商標)OS、BlackBerry(登録商標)OS、およびPalm(登録商標)OSオペレーティングシステムなどのモバイルオペレーティングシステムを含み得る。
【0170】
ストレージサブシステム1318は、さらには、いくつかの実施形態の機能性を提供する、基本プログラミングおよびデータ構築物を記憶するための有形のコンピュータ読み取り可能な記憶媒体を提供し得る。プロセッサによって実行されると、上記で説明された機能性を提供するソフトウェア(プログラム、コードモジュール、命令)が、ストレージサブシステム1318において記憶され得る。これらのソフトウェアモジュールまたは命令は、処理ユニット1304によって実行され得る。ストレージサブシステム1318は、さらには、本開示によって使用されるデータを記憶するためのリポジトリを提供し得る。
【0171】
ストレージサブシステム1300は、さらには、コンピュータ読み取り可能な記憶媒体1322にさらに接続されていることがある、コンピュータ読み取り可能な記憶媒体リーダ1320を含み得る。システムメモリ1310とともに、および任意選択で、システムメモリ1310との組み合わせにおいて、コンピュータ読み取り可能な記憶媒体1322は、コンピュータ可読情報を、一時的に、および/または、より永続的に保有する、記憶する、送信する、および取り出すための記憶媒体にプラスして、リモートの、ローカルの、固定された、および/または、リムーバブルのストレージデバイスを包括的に表し得る。
【0172】
コード、または、コードの一部分を保有する、コンピュータ読み取り可能な記憶媒体1322は、さらには、情報の記憶および/または送信のための、任意の方法または技術において実現された、揮発性および不揮発性の、リムーバブルおよび非リムーバブルの媒体などの、ただしそれに制限されない、記憶媒体および通信媒体を含む、当技術分野において知られている、または使用されている、任意の適切な媒体を含み得る。このコンピュータ読み取り可能な記憶媒体1322は、RAM、ROM、電子的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、もしくは他のメモリ技術、CD-ROM、デジタルバーサタイルディスク(DVD)、もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または、他の有形コンピュータ読み取り可能な媒体などの、有形のコンピュータ読み取り可能な記憶媒体を含み得る。このコンピュータ読み取り可能な記憶媒体1322は、さらには、望まれる情報を送信するために使用され得る、および、コンピューティングシステム1300によってアクセスされ得る、データ信号、データ送信、または、任意の他の媒体のような、非有形のコンピュータ読み取り可能な媒体を含み得る。
【0173】
例として、コンピュータ読み取り可能な記憶媒体1322は、非リムーバブル不揮発性磁気媒体から読み取る、または、その磁気媒体に書き込むハードディスクドライブ、リムーバブル不揮発性磁気ディスクから読み取る、または、その磁気ディスクに書き込む磁気ディスクドライブ、ならびに、CD ROM、DVD、およびBlu-Ray(登録商標)ディスク、もしくは他の光学媒体などの、リムーバブル不揮発性光学ディスクから読み取る、または、その光学ディスクに書き込む光学ディスクドライブを含み得る。コンピュータ読み取り可能な記憶媒体1322は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(USB)フラッシュドライブ、セキュアデジタル(SD)カード、DVDディスク、デジタルビデオテープ、および類するものを含むことがあり、ただしそれらに制限されない。コンピュータ読み取り可能な記憶媒体1322は、さらには、不揮発性メモリに基づくソリッドステートドライブ(SSD)、例えば、フラッシュメモリベースのSSD、エンタープライズフラッシュドライブ、ソリッドステートROM、および類するものなど、揮発性メモリに基づくSSD、例えば、ソリッドステートRAM、ダイナミックRAM、スタティックRAM、DRAMベースのSSD、磁気抵抗RAM(MRAM)SSDなど、ならびに、DRAMおよびフラッシュメモリベースのSSDの組み合わせを使用するハイブリッドSSDを含み得る。ディスクドライブ、および、それらのディスクドライブの関連付けられたコンピュータ読み取り可能な媒体は、コンピュータシステム1300のための、コンピュータ可読命令、データ構造、プログラムモジュール、および、他のデータの不揮発性ストレージを提供し得る。
【0174】
通信サブシステム1324は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム1324は、コンピュータシステム1300とは違うシステムからデータを受信する、および、それらの違うシステムにデータを送信するためのインターフェイスとして役立つ。例えば、通信サブシステム1324は、コンピュータシステム1300が、インターネットを介して1つまたは複数のデバイスに接続することを可能にし得る。いくつかの実施形態において、通信サブシステム1324は、(例えば、セルラ電話技術、先進的なデータネットワーク技術、例えば、3G、4G、もしくはEDGE(グローバル進化型高速データレート(enhanced data rates for global evolution))など、WiFi(IEEE802.11ファミリ規格、または、他のモバイル通信技術、または、それらの任意の組み合わせを使用して)ワイヤレス音声および/もしくはデータネットワークにアクセスするための無線周波数(RF)トランシーバ構成要素、全地球測位システム(GPS)受信器構成要素、ならびに/または、他の構成要素を含み得る。いくつかの実施形態において、通信サブシステム1324は、ワイヤレスインターフェイスに加えて、または、ワイヤレスインターフェイスの代わりに、有線ネットワーク接続性(例えば、Ethernet)を提供し得る。
【0175】
いくつかの実施形態において、通信サブシステム1324は、さらには、コンピュータシステム1300を使用し得る1人または複数のユーザのために、構造化された、および/または、構造化されていない、データフィード1326、イベントストリーム1328、イベント更新1330、および類するものの形式における入力通信を受信し得る。
【0176】
例として、通信サブシステム1324は、Twitter(登録商標)フィード、Facebook(登録商標)更新、リッチサイトサマリ(RSS)フィードなどのウェブフィード、および/または、1つもしくは複数のサードパーティ情報源からのリアルタイム更新のような、ソーシャルネットワークのユーザ、および/または、他の通信サービスからの、リアルタイムでのデータフィード1326を受信するように構成され得る。
【0177】
加えて、通信サブシステム1324は、さらには、はっきりとした終了を伴わずに、本質的に継続的である、または際限がないことがある、リアルタイムイベントのイベントストリーム1328、および/または、イベント更新1330を含み得る、継続的データストリームの形式におけるデータを受信するように構成され得る。継続的データを生成するアプリケーションの例は、例えば、センサデータアプリケーション、金融関係のティッカ、ネットワーク性能測定ツール(例えば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通監視、および類するものを含み得る。
【0178】
通信サブシステム1324は、さらには、コンピュータシステム1300に結合されている1つまたは複数のストリーミングデータ源コンピュータと通信していることがある、1つまたは複数のデータベースに、構造化された、および/または、構造化されていない、データフィード1326、イベントストリーム1328、イベント更新1330、および類するものを出力するように構成され得る。
【0179】
コンピュータシステム1300は、ハンドヘルドポータブルデバイス(例えば、iPhone(登録商標)セルラフォン、iPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブルデバイス(例えば、Google Glass(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、または、任意の他のデータ処理システムを含む、様々なタイプのうちの1つであり得る。
【0180】
コンピュータおよびネットワークの絶えず変化する性質に起因して、図において描写されるコンピュータシステム1300の説明は、単に特定の例として意図されるものである。図において描写されるシステムよりも多い、または少ない構成要素を有する、多くの他の構成が可能である。例えば、カスタマイズされたハードウェアが、さらには使用されることがあり、および/または、特定の要素は、ハードウェア、ファームウェア、ソフトウェア(アプレットを含む)、もしくは組み合わせにおいて実現され得る。さらに、ネットワーク入出力デバイスなどの他のコンピューティングデバイスへの接続が用いられることがある。本開示、および、本明細書において提供される教示に基づいて、当業者は、様々な実施形態を実現するための他の手立ておよび/または方法を察知することになる。
【0181】
特定の実施形態が説明されたが、様々な修正、改変、別の構成、および均等物が、さらには、本開示の範囲内に包摂される。実施形態は、いくつかの特定のデータ処理環境の中での動作に限定されるのではなく、複数のデータ処理環境の中で自由に動作することができる。加えて、実施形態は、特定の一連のトランザクションおよびステップを使用して説明されたが、本開示の範囲は、説明された一連のトランザクションおよびステップに制限されないということが、当業者には明らかであるはずである。上記で説明された実施形態の様々な特徴および態様が、個々に、または連帯的に使用され得る。
【0182】
さらに、実施形態は、ハードウェアおよびソフトウェアの特定の組み合わせを使用して説明されたが、ハードウェアおよびソフトウェアの他の組み合わせが、さらには、本開示の範囲内にあるということが認識されるべきである。実施形態は、単にハードウェアにおいて、または、単にソフトウェアにおいて、または、それらの組み合わせを使用して実現され得る。実施形態は、プロセッサによって実行されると、プロセッサに、本開示において説明される方法の任意のものを実行させる、コンピュータプログラム/命令を含むコンピュータプログラム製品を使用することによって実現され得る。本明細書において説明される様々なプロセスは、同じプロセッサ、または、任意の組み合わせにおける異なるプロセッサ上で実現され得る。よって、構成要素またはモジュールが、いくつかの動作を実行するように構成されているとして説明される場合、そのような構成は、例えば、動作を実行するための電子回路を設計することによって、動作を実行するための(マイクロプロセッサなどの)プログラマブル電子回路をプログラムすること、または、それらの任意の組み合わせによって成し遂げられ得る。プロセスは、プロセス間通信のための従前の技術を含む、ただしそれに制限されない、種々の技術を使用して通信し得るものであり、プロセスの異なるペアは、異なる技術を使用することがあり、または、プロセスの同じペアは、異なる時間において、異なる技術を使用し得る。
【0183】
よって、本明細書および図面は、限定的な観念よりもむしろ例示的な観念において評価されるべきである。しかしながら、追加、削減、削除、ならびに、他の修正および変更が、特許請求の範囲において論述されるような、より広範な趣旨および範囲から逸脱することなく、本明細書および図面になされ得るということは明白であることになる。そうして、特定の開示実施形態が説明されたが、これらの実施形態は、制限的であることを意図されない。様々な修正および均等物は、後に続く請求項の範囲内にある。
【0184】
開示される実施形態を説明することの文脈における(とりわけ、後に続く特許請求の範囲の文脈における)、用語「a」および「an」および「the」、ならびに、同様の言及対象の使用は、別段に、本明細書において指示されない、または、文脈によって明確に否定されない限り、単数および複数の両方を包含すると解釈されるべきである。用語「含む」、「有する」、「備える」、および「保有する」は、別段に注記されない限り、オープンエンドの用語(すなわち、「含む、ただしそれに制限されない」を意味する)と解釈されるべきである。用語「接続されている」は、介在する何かが存するとしても、部分的または全体的に、中に保有される、取り付けられている、または、一体に結び付けられていると解釈されるべきである。本明細書における値の範囲の詳説は、本明細書において別段に指示されない限り、ただ単に、範囲内にある各々の別個の値に個々に言及することの簡単明瞭な方法として役立つことを意図され、各々の別個の値は、その値が本明細書において個々に詳説されるかのように、本明細書へと組み込まれている。本明細書において説明されるすべての方法は、別段に本明細書において指示されない、または、別段に文脈によって明確に否定されない限り、任意の適した順序において実行され得る。本明細書において提供される、一切の例、または、例示的な文言(例えば、「など」)の使用は、ただ単に、実施形態に、より良好に光明を投じることを意図され、別段に主張されない限り、本開示の範囲への制限を提起するものではない。本明細書におけるいかなる文言も、何らかの請求されない要素を、本開示の実践に不可欠と指示すると解釈されるべきでない。
【0185】
語句「X、Y、またはZのうちの少なくとも1つ」などの選言的文言は、別段に具体的に説述されない限り、項目、用語、その他が、X、Y、またはZ、または、それらの任意の組み合わせのいずれかであり得る(例えば、X、Y、および/またはZ)ということを提示するために一般的に使用されると、文脈の中で理解されることを意図される。そうして、そのような選言的文言は、一般的には、いくつかの実施形態が、Xの少なくとも1つ、Yの少なくとも1つ、または、Zの少なくとも1つが各々存在することを求めるということを暗示することを意図しておらず、そのことを暗示すべきでない。
【0186】
本開示を履行するための知られている最良の形態を含む、本開示の好まれる実施形態が、本明細書において説明される。それらの好まれる実施形態の変形形態が、前述の説明を読むことを基に、当業者に明らかになることがある。当業者は、そのような変形形態を適切なように用いることができるはずであり、本開示は、本明細書において具体的に説明されるようなもの以外の形で実践され得る。よって、本開示は、適用可能な法律によって許されるような、本明細書に添付されている特許請求の範囲において詳説される主題の、すべての修正および均等物を含む。その上、それらの好まれる実施形態のすべての可能な変形形態における、上記で説明された要素の任意の組み合わせが、別段に本明細書において指示されない限り、本開示によって包摂される。
【0187】
本明細書において引用される、刊行物、特許出願、および特許を含む、すべての参考文献は、各参考文献が、参照によって組み込まれるように個々に、および具体的に指示され、本明細書において、その各参考文献の全体において論述されるかのようであるのと同じ程度に、本明細書によって、参照によって組み込まれている。
【0188】
前述の本明細書において、本開示の態様は、本開示の特定の実施形態を参照して説明されているが、当業者は、本開示は、それらの実施形態に制限されないということを認識することになる。上記で説明された本開示の様々な特徴および態様が、個々に、または連帯的に使用され得る。さらに、実施形態は、本明細書のより広範な趣旨および範囲から逸脱することなく、本明細書において説明される環境およびアプリケーションを超えて、任意の数の環境およびアプリケーションにおいて利用され得る。よって、本明細書および図面は、限定的よりもむしろ例示的と評価されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
【国際調査報告】