(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-21
(45)【発行日】2025-03-31
(54)【発明の名称】無線式ネットワーク向けのカスタマイズ可能データ処理ネットワーク機能
(51)【国際特許分類】
H04L 41/0806 20220101AFI20250324BHJP
H04L 67/564 20220101ALI20250324BHJP
H04W 8/20 20090101ALI20250324BHJP
【FI】
H04L41/0806
H04L67/564
H04W8/20
(21)【出願番号】P 2023560136
(86)(22)【出願日】2022-03-25
(86)【国際出願番号】 US2022021911
(87)【国際公開番号】W WO2022212193
(87)【国際公開日】2022-10-06
【審査請求日】2023-11-28
(32)【優先日】2021-03-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506329306
【氏名又は名称】アマゾン テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】グプタ、ディワカール
(72)【発明者】
【氏名】シェヴァデ、ウペンドラ バールチャンドラ
(72)【発明者】
【氏名】フー、カイシャン
(72)【発明者】
【氏名】エダラ、キラン クマール
(72)【発明者】
【氏名】ホール、シェーン アシュレイ
(72)【発明者】
【氏名】パールカー、イショルダット
【審査官】速水 雄太
(56)【参考文献】
【文献】米国特許出願公開第2021/0092647(US,A1)
【文献】米国特許出願公開第2016/0156513(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
H04W 8/20
(57)【特許請求の範囲】
【請求項1】
顧客のためにクラウドサービスプロバイダによって動作される無線式ネットワークと、
前記無線式ネットワークによって実装される標準に従って、前記無線式ネットワーク内でデータを処理する前記無線式ネットワーク内のデータ処理ネットワーク機能と、
前記クラウドサービスプロバイダによって動作されるクラウドプロバイダネットワークの少なくとも1つのコンピューティングデバイスを、を備え、前記少なくとも1つのコンピューティングデバイスは、少なくとも、
アプリケーションプログラミングインターフェース(API)またはユーザインターフェースを通じて、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信し、前記カスタマイズされた機能は、前記標準によって規定されておらず、
前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成する、
ように構成されている、システム。
【請求項2】
前記データ処理ネットワーク機能は、前記クラウドプロバイダネットワークのエッジロケーションにおいてプロバイダサブストレートエクステンション、または前記クラウドプロバイダネットワークのリージョナルデータセンタ、のうちの少なくとも1つ内で実行される、請求項1に記載のシステム。
【請求項3】
前記データ処理ネットワーク機能は、複数のステージを含み、前記入力データは、前記カスタマイズされた機能が行われることになる前記複数のステージの1つを規定する、請求項1に記載のシステム。
【請求項4】
前記入力データは、顧客により提供されるコードを含み、前記少なくとも1つのコンピューティングデバイスは、前記顧客により提供されるコードに対してセキュリティ分析を行うようにさらに構成されている、請求項1に記載のシステム。
【請求項5】
前記データ処理ネットワーク機能は、セッション管理機能(SMF)を含み、前記カスタマイズされた機能は、前記無線式ネットワーク内でネットワークアドレスをユーザ機器に割り当てる機能、またはユーザ機器を複数のユーザプレーン機能(UPF)の1つに割り当てる機能のうちの少なくとも1つに対応する、請求項1に記載のシステム。
【請求項6】
前記データ処理ネットワーク機能は、ユーザプレーン機能(UPF)を含み、前記カスタマイズされた機能は、暗号化機能、復号機能、ロギング機能、トラフィックシェーピング機能、サービス品質修正機能、侵入検知機能、圧縮機能、圧縮解除機能、または侵入防止機能のうちの少なくとも1つに対応する、請求項1に記載のシステム。
【請求項7】
前記データ処理ネットワーク機能は、アクセスと移動管理機能(AMF)を含み、前記カスタマイズされた機能は、認証機能またはアドミッション制御機能のうちの少なくとも1つに対応する、請求項1に記載のシステム。
【請求項8】
少なくとも1つのコンピューティングデバイスによって、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、
前記少なくとも1つのコンピューティングデバイスによって、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信することと、
前記少なくとも1つのコンピューティングデバイスによって、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
を含
み、
前記データ処理ネットワーク機能は、標準によって規定され、前記カスタマイズされた機能は、前記標準によっては規定されていない、コンピュータにより実施される方法。
【請求項9】
前記データ処理ネットワーク機能は、ユーザプレーン機能(UPF)、アクセスと移動管理機能(AMF)、またはセッション管理機能(SMF)のうちの少なくとも1つを含む、
請求項8に記載のコンピュータにより実施される方法。
【請求項10】
少なくとも1つのコンピューティングデバイスによって、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、
前記少なくとも1つのコンピューティングデバイスによって、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信することと、
前記少なくとも1つのコンピューティングデバイスによって、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
を含み、
前記入力データは、前記カスタマイズされた機能を行うサービスにデータを提供するための、前記データ処理ネットワーク機能のための構成パラメータを含み、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記少なくとも1つのコンピューティングデバイスによって、前記データを前記サービスに送信するように前記データ処理ネットワーク機能を構成することをさらに含む
、コンピュータにより実施される方法。
【請求項11】
少なくとも1つのコンピューティングデバイスによって、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、
前記少なくとも1つのコンピューティングデバイスによって、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信することと、
前記少なくとも1つのコンピューティングデバイスによって、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
を含み、
前記入力データは、カスタマイズされた機能を行うための、前記データ処理ネットワーク機能のための構成パラメータを含み、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記少なくとも1つのコンピューティングデバイスによって、前記構成パラメータに少なくとも部分的に基づいて、前記データ処理ネットワーク機能内で前記カスタマイズされた機能を有効にすることをさらに含む
、コンピュータにより実施される方法。
【請求項12】
少なくとも1つのコンピューティングデバイスによって、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、
前記少なくとも1つのコンピューティングデバイスによって、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信することと、
前記少なくとも1つのコンピューティングデバイスによって、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
を含み、
前記入力データは、カスタマイズされた機能を行うための、前記データ処理ネットワーク機能のためのプラグインを含み、
前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、
前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
前記少なくとも1つのコンピューティングデバイスによって、少なくとも1つのコンピューティングリソースへの前記プラグインのアクセスを制限するサンドボックス化環境内で前記プラグインを実行するように前記データ処理ネットワーク機能を構成すること、をさらに含み、
前記方法は、前記少なくとも1つのコンピューティングデバイスによって、前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成する前に、前記プラグインに対してセキュリティ分析を行うことをさらに含む
、コンピュータにより実施される方法。
【請求項13】
少なくとも1つのコンピューティングデバイスによって、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、
前記少なくとも1つのコンピューティングデバイスによって、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信することと、
前記少なくとも1つのコンピューティングデバイスによって、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
を含み、
前記入力データは、前記データ処理ネットワーク機能の複数のカスタマイズされたバージョンの1つの選択を示し、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記少なくとも1つのコンピューティングデバイスによって、前記データ処理ネットワーク機能の前記複数のカスタマイズされたバージョンの前記1つを使用するように前記無線式ネットワークを構成することをさらに含む
、コンピュータにより実施される方法。
【請求項14】
少なくとも1つのコンピューティングデバイス内で実行される命令を具体化した非一時的コンピュータ可読媒体であって、実行されるとき、前記命令は、前記少なくとも1つのコンピューティングデバイスに、少なくとも、
顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、
前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するためのプラグインを前記顧客から受信することと、
静的分析または動的分析のうちの少なくとも1つを使用して、プラグインに対してセキュリティ分析を行うことと、
前記無線式ネットワーク内で実行されるとき、前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、
を行わせる、非一時的コンピュータ可読媒体。
【請求項15】
前記データ処理ネットワーク機能は、処理のためにネットワークトラフィックを前記無線式ネットワーク内の複数のクライアントデバイスにまたは複数のクライアントデバイスから提供し、
実行されるとき、前記命令は、前記少なくとも1つのコンピューティングデバイスに、少なくとも1つのコンピューティングリソースへの前記プラグインのアクセスを制限するサンドボックス化環境内で前記プラグインを実行することを少なくとも行わせる、
請求項14に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年3月29日に出願された「CUSTOMIZABLE DATA-PROCESSING NETWORK FUNCTIONS FOR RADIO-BASED NETWORKS」と題する米国特許出願17/216,019号の利益、及びこれに対する優先権を主張するものであり、この米国特許出願の全体を参照により本明細書に援用する。
【背景技術】
【0002】
5Gは、ブロードバンドセルラネットワークの第5世代技術標準であり、最終的にはLong-Term Evolution(LTE)の第4世代(4G)標準に取って代わることが計画されている。5Gテクノロジは、大幅に増加した帯域幅を提供するようになり、それによってスマートフォンを超えてセルラ市場を広げて、デスクトップ、セットトップボックス、ラップトップ、モノのインターネット(IoT)デバイスなどへのラストマイル接続を提供する。5Gセルには4Gと同様の周波数スペクトルを使用し得るものがあり、その一方でミリ波帯の周波数スペクトルを使用し得る5Gセルもある。ミリ波帯のセルのサービスエリアは比較的小さいが、4Gよりもはるかに高いスループットを提供するようになる。
【発明の概要】
【0003】
本開示の多くの態様は、以下の図面を参照して、より良く理解することができる。図面の構成要素は、必ずしも縮尺通りになっているとは限らず、代わりに本開示の原理を明確に例示することに重点を置いている。さらに図面中で、同様の参照数字は、いくつかの図面全体にわたって対応する部分を指定する。
【図面の簡単な説明】
【0004】
【
図1A】本開示の様々な実施形態に従って、デプロイされ、管理される通信ネットワークの例の図面である。
【
図1B】本開示の様々な実施形態による、無線式ネットワーク及び関連するコアネットワークにおいて高可用性ネットワーク機能を実装するネットワーク環境の例の図面である。
【
図2A】本開示のいくつかの実施形態による、クラウドプロバイダネットワークを含み、さらに、
図1Aの通信ネットワーク内の様々なロケーションで使用され得るクラウドプロバイダネットワークの様々なプロバイダサブストレートエクステンションを含むネットワーク環境の例を示す。
【
図2B】高可用性ユーザプレーン機能(UPF)を提供するための
図1Aの通信ネットワークのセルラ化及び地理的分布の例を示す。
【
図3A】本開示のいくつかの実施形態による、地理的に分散したプロバイダサブストレートエクステンションを含む
図2Aのネットワーク環境の例を示す。
【
図3B】本開示の様々な実施形態による、ネットワーク機能のためのカスタマイズされた処理を提供する無線式ネットワークの様々な例を示す。
【
図3C】本開示の様々な実施形態による、ネットワーク機能のためのカスタマイズされた処理を提供する無線式ネットワークの様々な例を示す。
【
図3D】本開示の様々な実施形態による、ネットワーク機能のためのカスタマイズされた処理を提供する無線式ネットワークの様々な例を示す。
【
図3E】本開示の様々な実施形態による、ネットワーク機能のためのカスタマイズされた処理を提供する無線式ネットワークの様々な例を示す。
【
図4】本開示の様々な実施形態による
図2Aのネットワーク環境の概略ブロック図である。
【
図5】本開示の様々な実施形態による、
図4のネットワーク環境内のコンピューティング環境において実行されるネットワーク機能カスタマイズサービスの一部として実装される機能の一例を示すフローチャートである。
【
図6】本開示の様々な実施形態による、
図4のネットワーク環境内のコンピューティング環境において実行されるネットワーク機能の一部として実装される機能の一例を示すフローチャートである。
【
図7】本開示の様々な実施形態による、
図4のネットワーク環境で使用されるコンピューティング環境の一例の例示を提供する概略ブロック図である。
【発明を実施するための形態】
【0005】
本開示は、クラウドプロバイダネットワークインフラストラクチャを使用して、4G及び5G無線アクセスネットワークなどの無線式ネットワーク、またはそのような無線式ネットワークの一部、及び関連するコアネットワークにおいてカスタマイズ可能データ処理ネットワーク機能を実装することに関する。データ処理ネットワーク機能の第1の例は、5Gネットワークのユーザプレーン機能(UPF)である。UPFは、モバイルインフラストラクチャとデータネットワークとの間の相互接続ポイントであり、UPFは、異なる無線アクセスネットワーク内及び異なる無線アクセスネットワーク間でモビリティを提供するためのプロトコルデータユニットセッションアンカーポイントとして機能する。UPFは、顧客のネットワークトラフィックにポリシを適用するために実行され、そのとき必要に応じてユーザデータプレーン経由でネットワークトラフィックを転送する。UPFは、ネットワークトラフィックがそこで終端されるのではなく、そこを通過するという点でルータに似ている。UPFはまた、アプリケーション検出を実行し、ネットワークスライシング及びサービス品質要件を実装し、課金目的でトラフィックを監視する。
【0006】
一部の実施態様では、UPFは、インターネットに接続された最大数百万のインターネットプロトコル(IP)アドレスを処理するように拡張する必要があり、これらのIPアドレスは、同じ宛先にルーティングされる連続したサブネットワークである可能性がある。一部の実施態様では、特定のエンドユーザデバイスに対する全てのネットワークトラフィックが単一のUPFを通過する必要があり、数千のユーザデバイスが個々のUPFにマッピングされる場合がある。UPFに障害が発生した場合、特定のユーザデバイスからの後続の全てのネットワークトラフィックは、特定のユーザデバイスのための代替UPFに送信される必要がある。また、様々な実施形態は、リージョン、ローカルゾーン、エッジロケーション、及びセルサイトを含む、異なるネットワークレベルでデプロイされ得る。
【0007】
データ処理ネットワーク機能の第2の例は、アクセスと移動管理機能(AMF)である。AMFは、ワイヤレスデバイスまたは無線アクセスネットワーク(RAN)から接続及びセッション情報を受信することがあり、接続及びモビリティ管理タスクを処理することがある。たとえば、AMFは、RAN内の基地局間のハンドオーバを管理することがある。いくつかの例では、AMFは、特定のRANコントロールプレーン及びワイヤレスデバイスのトラフィックを終了させることにより、5Gコアへのアクセスポイントとみなされることがある。AMFは、暗号化及び完全性保護アルゴリズムを実装することもある。
【0008】
データ処理ネットワーク機能の第3の例は、セッション管理機能(SMF)である。SMFは、たとえば、プロトコルデータユニット(PDU)セッションの作成、更新、及び削除を行い、UPF内のセッションコンテキストを管理することにより、セッションの確立または変更を処理することがある。SMFは、動的ホスト構成プロトコル(DHCP)及びIPアドレス管理(IPAM)を実装することもある。SMFは、最新のマイクロサービス手法を使用してクラウドネイティブネットワーク機能として実装されてもよい。
【0009】
本開示の様々な実施形態は、企業または別の組織などの顧客に対してクラウドサービスプロバイダによって運営される無線式ネットワーク内の、UPF、AMF、及びSMFなどのカスタマイズ可能無線式ネットワークを導入する。顧客は、それらの無線式ネットワークを巡回するトラフィックに対して特定のタイプの処理を実行することを望み得る。この処理の非限定的な例は、暗号化及び復号、トラフィックシェーピング、侵入検知、侵入防止、圧縮及び圧縮解除、ロギング、ディープパケットインスペクション、ならびに他のタイプの処理を含み得る。無線式ネットワークの外部でまたは無線式ネットワークに統合して、ネットワークアプライアンス(たとえば、ファイアウォール、ゲートウェイなど)を追加することによりこの処理を実装するのではなく、UPF、AMF、及びSMFなど、無線式ネットワークの既存のネットワーク機能内でこの処理を実装することが有利であり得る。それらのネットワーク機能は、標準(たとえば、第3世代パートナシッププロジェクト(3GPP)5G標準、6G標準など)により定義され得るが、それらの標準化された実施態様は、所望の処理機能性を供給し得ない。
【0010】
第1のタイプの実施態様では、データ処理ネットワーク機能は、プラガブルアーキテクチャをサポートすることによってカスタマイズ可能である。たとえば、ユーザは、所望の処理を行うように、カスタマイズされたプラグインをアップロードすることがあり、所望の処理は次いで、1つ以上の要求されたパラメータによりデータ処理ネットワーク機能によって実行される。第2のタイプの実施態様では、顧客は、処理サービスを運営し得、データ処理ネットワーク機能は、顧客により運営された処理サービスにデータを転送及びエクスポートし得る。第3のタイプの実施態様では、データ処理ネットワーク機能は、標準によって規定されたものを超えた機能性をサポートし得、顧客は、アプリケーションプログラミングインターフェース(API)または別の構成インターフェースを通じて、この機能性を有効にし得、無効にし得、及び/または、そうでなければ構成し得る。一例では、複数のバージョンのデータ処理ネットワーク機能がサポートされ得、顧客は、複数のバージョンの間で選択することがある。一部のケースでは、1つ以上のバージョンまたはプラグインは、第三者によって開発され得、無線式ネットワーク内で実行されることになるクラウドサービスプロバイダによって承認され得る。顧客は次いで、それらの承認されたバージョンまたはプラグインの中から選択し得る。
【0011】
また、本開示の様々な実施形態は、ネットワークトラフィックをUPFなどの特定のネットワーク機能にルーティングすること、ならびにネットワーク機能間のフェイルオーバ及び移行を処理することのために、ソフトウェアベースのサブネットワークロードバランサを利用し得る。ネットワーク機能のフェイルオーバは、1秒未満、シナリオによっては100ミリ秒未満で処理する必要がある場合がある。
【0012】
当業者であれば、この開示に照らして理解することになるように、特定の実施形態は、以下のいくつかまたは全てを含む特定の利点を達成することができる可能性がある。すなわち、(1)他の場所で典型的には発見された機能性をデータ処理ネットワーク機能に統合することによって、通信ネットワークにおける複雑度を低減させ、信頼性を向上させる、(2)データ処理ネットワーク機能内でサービスとして様々なデータ処理機能を供給することによって、通信ネットワークの動作を向上させる、(3)別個の処理エンティティとしての代わりに、既存のネットワーク機能内で処理を行うことによって、特定のタイプのデータ処理と関連付けられた待ち時間を低減させる、(4)無線式ネットワークのエッジロケーションにおける既存のネットワーク機能内で処理を行うことによって、特定のタイプのデータ処理と関連付けられた待ち時間を低減させる、(5)顧客がカスタム処理ソリューションを作成することを可能にする、ネットワーク機能のためのプラガブル及び/または構成可能プラットフォームを供給することによって、柔軟性を向上させる、などである。
【0013】
本開示の利点の中には、クラウドプロバイダインフラストラクチャを少なくとも部分的に使用して動作する無線式ネットワークの動作を制御するセルラ化されたコントロールプレーンが、異なる物理サイト間でネットワーク機能をデプロイして連鎖させるとともに、物理サイト間でフェイルオーバを管理して高可用性UPFを提供する機能がある。コントロールプレーンのセルラ化とは、個別のコントロールプレーンの障害が全てのデプロイに影響を及ぼさないように、独立して動作可能なコントロールプレーンのコピー(「セル」と呼ばれる)を複数持つことを指す。本開示によれば、マイクロサービスに編成されたネットワーク機能が連携してエンドツーエンド接続(「ネットワーク機能スタック」と呼ばれることもある)を提供する。あるネットワーク機能のセットは無線ネットワークの一部であり、基地局内で動作し、無線信号からIPへの変換を実行する。他のネットワーク機能は、加入者関連のビジネスロジックを実行し、インターネットとの間でIPトラフィックをルーティングする大規模なデータセンタで実行される。アプリケーションが低遅延通信や予約帯域幅などの5Gの新機能を使用するには、これらのタイプのネットワーク機能の両方が連携して、無線スペクトルを適切にスケジュールしかつ予約し、リアルタイムの計算とデータ処理とを実行する必要がある。
【0014】
ここで開示される技法は、セルサイトからインターネットブレイクアウトまで、ネットワーク全体にわたって実行されるネットワーク機能と統合されたエッジロケーションハードウェア(以下にさらに説明する)を提供し、高可用性を提供するために、これらのサイト全体にわたってネットワーク機能をオーケストレートする。具体的には、各コントロールプレーンインフラストラクチャセル内で、複数の冗長ネットワーク機能スタックをプロビジョニングし、コントロールプレーンセルが必要に応じてトラフィックをセカンダリスタックにシフトして、必要な可用性を提供することができる。これらの冗長ネットワーク機能スタックは、エッジロケーション、顧客のデータセンタ、及びクラウドプロバイダの可用性ゾーンの異なるものまたは組み合わせにわたってプロビジョニングされ得る。これにより、工場ベースのIoTから拡張現実(AR)、仮想現実(VR)、ゲームストリーミング、コネクテッドビークルの自律ナビゲーションサポートに至るまで、これまではモバイルネットワーク上で動作不可能だった、厳格なサービス品質(QoS)要件を持つまったく新しい一連のアプリケーションが可能になる。
【0015】
説明されている「エラスティック5G」サービスは、ネットワークの構築に必要な全てのハードウェア、ソフトウェア、及びネットワーク機能を提供しかつ管理し、本明細書で説明されているように、様々な物理サイト間でネットワーク機能をオーケストレートすることができる。いくつかの実施形態では、ネットワーク機能はクラウドサービスプロバイダによって開発され、管理され得るが、説明されたコントロールプレーンは、顧客が単一セットのAPIを使用して、クラウドインフラストラクチャ上で選択したネットワーク機能を呼び出して管理できるように、様々なプロバイダにわたってネットワーク機能を管理できる。エラスティック5Gサービスには、ハードウェアからネットワーク機能に至るまでエンドツーエンドの5Gネットワークの作成を自動化し、この結果として、デプロイにかかる時間と、ネットワーク運用にかかる運用コストとを削減するという利点がある。ネットワーク機能を公開するAPIを提供することで、開示されたエラスティック5Gサービスは、アプリケーションが所望のQoSを単に制約として指定することを可能にし、その後、ネットワーク機能をデプロイして連鎖させ、ソフトウェアアプリケーションが要求するネットワーク特性を反映するエンドツーエンドのネットワークスライスを配信するとともに、ソフトウェアアプリケーションが必要とする可用性レベルを提供するためにフェイルオーバを管理する。
【0016】
本開示は、クラウドネイティブ5Gコア及び/またはクラウドネイティブ5G RAN、及び関連するコントロールプレーンコンポーネントの作成及び管理に関する実施形態について説明する。クラウドネイティブとは、動的なスケーラビリティ、分散コンピューティング、及び高可用性(地理的分散、冗長性、及びフェイルオーバを含む)などのクラウドコンピューティング配信モデルの利点を活用するアプリケーションを構築及び実行するアプローチを指す。クラウドネイティブとは、これらのアプリケーションがパブリッククラウドでのデプロイメントに適したものとなるように作成され、デプロイされる方法を指す。クラウドネイティブアプリケーションは、パブリッククラウドで実行することもできる(実行されることが多い)が、オンプレミスのデータセンタで実行することもできる。一部のクラウドネイティブアプリケーションはコンテナ化することができ、たとえば、アプリケーションの異なる部分、機能、またはサブユニットが独自のコンテナにパッケージ化され、これを各部分がリソースの利用を最適化するためにアクティブにスケジュールされ管理されるように、動的にオーケストレートすることができる。これらのコンテナ化されたアプリケーションは、アプリケーションの全体的な俊敏性と保守性とを向上させるために、マイクロサービスアーキテクチャを使用して構築することができる。マイクロサービスアーキテクチャでは、アプリケーションは、互いに独立してデプロイ及びスケール変更が可能であり、ネットワークを介して相互に通信できる、より小さなサブユニット(「マイクロサービス」)の集合として配置される。これらのマイクロサービスは、通常、特定の技術的及び機能的な粒度を持ち、多くの場合、軽量の通信プロトコルを実装しているため、粒度が細かい。アプリケーションのマイクロサービスは、互いに異なる機能を実行でき、独立してデプロイ可能であってもよく、互いに異なるプログラミング言語、データベース、及びハードウェア/ソフトウェア環境を使用する場合がある。アプリケーションをより小さなサービスに分解すると、アプリケーションのモジュール性が有益に向上し、必要に応じて個々のマイクロサービスを置き換えることが可能になり、チームが互いに独立してそのマイクロサービスの開発、デプロイ、及び保守を行うことができるようになることで開発が並列化される。マイクロサービスは、いくつかの例では、仮想マシン、コンテナ、またはサーバレス機能を使用してデプロイされる場合がある。開示されたコア及びRANソフトウェアは、記載された無線式ネットワークがオンデマンドでデプロイしスケール変更できる独立したサブユニットで構成されるようなマイクロサービスアーキテクチャに従い得る。
【0017】
ここで、
図1Aを参照すると、本開示の様々な実施形態に従って、デプロイされ、管理される通信ネットワーク100の例が示される。通信ネットワーク100は、第4世代(4G)Long-Term Evolution(LTE)ネットワーク、第5世代(5G)ネットワーク、4G及び5G RANの両方を備えた4G-5Gハイブリッドコア、第6世代(6G)ネットワーク、またはワイヤレスネットワークアクセスを提供する別のネットワークなどのセルラネットワークに対応し得る無線式ネットワーク103を含む。無線式ネットワーク103は、公衆通信プロバイダまたは企業もしくは他の組織のクラウドプロバイダによって運営され得る。無線式ネットワーク103の様々なデプロイメントは、コアネットワーク及びRANネットワークのうちの1つ以上、ならびにクラウドプロバイダインフラストラクチャ上でコアネットワーク及び/またはRANネットワークを実行するためのコントロールプレーンを含むことができる。上記のように、これらのコンポーネントは、トラフィックとトランザクションとを効率的にスケール変更するために集中制御と分散処理とが使用されるように、たとえばマイクロサービスアーキテクチャを使用して、クラウドネイティブ方式で開発され得る。これらのコンポーネントは、コントロールプレーンとユーザプレーンとの処理が分離されたアプリケーションアーキテクチャ(CUPSアーキテクチャ)に従うことにより、3GPP仕様に基づくことができる。
【0018】
無線式ネットワーク103は、モバイルデバイスまたは固定ロケーションデバイスであり得る複数のワイヤレスデバイス106にワイヤレスネットワークアクセスを提供する。様々な例において、ワイヤレスデバイス106には、スマートフォン、コネクテッドビークル、IoTデバイス、センサ、(製造施設などの)機械、ホットスポットなどのデバイスが含まれ得る。ワイヤレスデバイス106は、ユーザ装置(UE)または加入者宅内装置(CPE)と呼ばれることもある。
【0019】
無線式ネットワーク103は、複数のセル109を通じて複数のワイヤレスデバイス106にワイヤレスネットワークアクセスを提供するRANを含むことがある。セル109のそれぞれには、ワイヤレスデバイス106との間でワイヤレスデータ信号を送受信する1つ以上のアンテナ及び1つ以上の無線ユニットが装備され得る。アンテナは1つ以上の周波数帯域用に構成され得、無線ユニットもまた周波数アジャイルまたは周波数調整可能にされ得る。信号を特定の方向または方位角範囲に集中させるために、アンテナには特定のゲインまたはビーム幅を関連付けることができ、これにより、異なる方向での周波数の再利用が可能になり得る。さらに、アンテナは、水平偏波、垂直偏波、または円偏波であってもよい。いくつかの例では、無線ユニットは、多入力多出力(MIMO)技術を利用して信号を送信及び受信することができる。したがって、RANは、ワイヤレスデバイス106との無線接続を可能にする無線アクセス技術を実装し、無線式ネットワークのコアネットワークとの接続を提供する。RANのコンポーネントには、所与の物理エリアをカバーする基地局及びアンテナだけでなく、RANへの接続を管理するための必要なコアネットワークアイテムが含まれる。
【0020】
データトラフィックは、多くの場合、(たとえば、アグリゲーションサイトにおいて)レイヤ3ルータの複数のホップで構成されるファイバトランスポートネットワークを介してコアネットワークにルーティングされる。コアネットワークは通常、1つ以上のデータセンタに収容される。通常、コアネットワークは、エンドデバイスからのデータトラフィックを集約し、加入者及びデバイスを認証し、パーソナライズされたポリシを適用し、デバイスのモビリティを管理してから、トラフィックをオペレータサービスまたはインターネットにルーティングする。たとえば、5Gコアは、コントロールプレーンとユーザプレーンとを分離して、いくつかのマイクロサービス要素に分解することができる。5Gコアは、物理的なネットワーク要素ではなく、仮想化されたソフトウェアベースの(たとえばマイクロサービスとしてデプロイされた)ネットワーク機能を含むことができるため、マルチアクセスエッジコンピューティング(MEC)クラウドインフラストラクチャ内でインスタンス化することができる。コアネットワークのネットワーク機能には、UPF、AMF、及びSMFが含まれ得る。説明されるように、それらのネットワーク機能は、標準により定義されたネットワーク機能の範囲外のカスタマイズされた機能性を提供するように備えられることができる。通信ネットワーク100の外部のロケーションを宛先とするデータトラフィックの場合、ネットワーク機能は通常、トラフィックが通信ネットワーク100を出入りできる、インターネットまたはクラウドプロバイダネットワークなどの外部ネットワークに対するファイアウォールを含む。いくつかの実施形態では、通信ネットワーク100は、コアネットワークからさらに下流のサイト(たとえば、アグリゲーションサイトまたは無線式ネットワーク103)にトラフィックが出入りできるようにする設備を含むことができることに留意されたい。
【0021】
UPFは、モバイルインフラストラクチャとデータネットワーク(DN)との間の相互接続ポイント、つまり、ユーザプレーン(GTP-U)の汎用パケット無線サービス(GPRS)トンネリングプロトコルのカプセル化及びカプセル化解除を提供する。UPFは、1つ以上のエンドマーカパケットをRAN基地局に送信するなど、RAN内でモビリティを提供するためのセッションアンカポイントを提供することもある。UPFは、トラフィック一致フィルタに基づいてフローを特定のデータネットワークに誘導するなど、パケットのルーティング及び転送を処理することもある。UPFのもう1つの機能には、アップリンク(UL)及びダウンリンク(DL)のトランスポートレベルのパケットマーキングやレート制限など、フローごとまたはアプリケーションごとのQoS処理が含まれる。UPFは、最新のマイクロサービス手法を使用してクラウドネイティブネットワーク機能として実装することができ、たとえば、(マネージドサービスを介してコードが実行される基盤となるインフラストラクチャを抽象化する)サーバレスフレームワーク内にデプロイできる。
【0022】
無線式ネットワーク103を実装するための様々なネットワーク機能は、ネットワーク機能を実行するように構成された汎用コンピューティングデバイスに対応し得る分散コンピューティングデバイス112内にデプロイされ得る。たとえば、分散コンピューティングデバイス112は、ネットワーク機能を実施する1つ以上のサービスを実行するように順番に構成される1つ以上の仮想マシンインスタンスを実行することができる。一実施形態では、分散コンピューティングデバイス112は、各セルサイトにデプロイされる耐久性の高いマシンである。
【0023】
対照的に、1つ以上の集中コンピューティングデバイス115は、顧客が運用する中央サイトで様々なネットワーク機能を実行することがある。たとえば、集中コンピューティングデバイス115は、調整されたサーバルーム内の顧客の構内に集約的に配置されてもよい。集中コンピューティングデバイス115は、ネットワーク機能を実施する1つ以上のサービスを実行するように順番に構成される1つ以上の仮想マシンインスタンスを実行することができる。
【0024】
1つ以上の実施形態では、無線式ネットワーク103からのネットワークトラフィックは、顧客のサイトから遠隔に位置する1つ以上のデータセンタに配置され得る1つ以上のコアコンピューティングデバイス118にバックホールされる。コアコンピューティングデバイス118はまた、インターネット及び/または他の外部の公衆またはプライベートネットワークに対応し得るネットワーク121への、及びネットワーク121からのネットワークトラフィックのルーティングを含む、様々なネットワーク機能を実行し得る。コアコンピューティングデバイス118は、通信ネットワーク100の管理に関連する機能(たとえば、請求、モビリティ管理など)と、通信ネットワーク100と他のネットワークとの間のトラフィックを中継するためのトランスポート機能とを実行し得る。
【0025】
図1Bに進むと、無線式ネットワーク103(
図1A)に高可用性ユーザプレーン機能(UPF)を提供するネットワーク環境150の例が示されている。具体的には、ネットワーク環境150は、ネットワークトラフィックがインターネットなどのネットワーク121から個々のUPF153a及び153bに、どのようにルーティングされるかを例示する。ネットワークトラフィックは、UPF153から、無線式ネットワーク103(
図1A)上の個々のユーザデバイスに転送され得る。
【0026】
まず、ルートアドバタイザ156は、ネットワークアドレスのブロックのルートをネットワーク121にアドバタイズする。これらのネットワークアドレスは、たとえば、IPv4アドレス、IPv6アドレス、または他のタイプのネットワークアドレスであり得る。一例では、ルートアドバタイザ156は、ボーダーゲートウェイプロトコル(BGP)を使用して、ネットワーク121上の他の自律システムとの間でルーティング情報を交換する。あるいは、ルーティング情報は、API呼び出しによって交換されることもある。したがって、これらのアドレスブロックに向けられたネットワーク121上のネットワークトラフィックは、たとえばネットワークトンネルを介して、エラスティックネットワークインターフェース159aで受信されることになる。アドバタイズするネットワークプレフィックス及び使用するエンドポイントは、トンネルコントロールプレーン162によってルートアドバタイザ156内で構成され得る。リージョンまたはゾーンなどのネットワーク環境150の一部に損害を与える大規模な停止の場合には、ルートアドバタイザ156は、ネットワークトラフィックをフェイルオーバゾーンまたはリージョンに再ルーティングするように構成されてもよい。これは、ヘルスチェックによって自動化することも、アプリケーションプログラミングインターフェース(API)呼び出しによってトリガすることも、可能である。
【0027】
エラスティックネットワークインターフェース159aは、ネットワークトラフィックを複数のトンネルホスト165a、165b、・・・165Nに向けることになる。エラスティックネットワークインターフェース159bは、2つ以上のトンネルホスト165間に接続を行き渡らせて、いずれかの単一のトンネルホスト165に障害が発生した場合の冗長性を確保する。トンネルホスト165に障害が発生した場合、ヘルスチェックが障害を示すと、そのトンネルホスト165に(たとえば、フローベースのハッシュによって)割り当てられたネットワークトラフィックフローが、エラスティックネットワークインターフェース159aによってリダイレクトされる。このような状況では、エンドポイントデバイスは接続を再試行する必要があり、ヘルスチェックで障害が示されるまでの間に、ある程度の数のフローが別のパスに再割り当てされ得る。UPF153a、153bは、各ネットワークアドレスがどのUPF153にルーティングされるべきかをトンネルホスト165が判定するために(たとえば、BGPアドバタイズメントまたはAPI呼び出しを使用して)ルートアドバタイズメントをトンネルホスト165に送信し、トンネルホスト165はネットワークトラフィックを同じUPF153に一貫して送信すべきである。
【0028】
ルートリフレクタ168a、168bは、UPF153からルーティング情報を収集し、この情報をトンネルホスト165に配布するために実行される。一実施形態では、これにより、個々のUPF153が常に2つのピアを持つことが可能になり、それと同時に、顧客の構成変更を必要とせずに任意にスケール変更する柔軟性をトンネルホスト165の一群に提供する。一実施形態では、ルートリフレクタ168は、顧客が運用する仮想プライベートクラウドネットワーク内のエラスティックネットワークインターフェース159aを介して、UPF153とのBGPピアリングセッションを確立する。他の実施形態では、他のルーティングプロトコルまたはAPIが使用されてもよい。
【0029】
ルーティングプロトコルを使用する場合、ルートリフレクタ168は、エラスティックネットワークインターフェース159aを介してデフォルトルートをネットワーク121にアドバタイズすることができる。ルートリフレクタ168は、トンネルコントロールプレーン162によって起動され、管理され得る。各ルートリフレクタ168の状態は、各トンネルコントロールプレーン162のデータテーブル内に維持されて、ルートリフレクタ168が起動時に自己設定できるようにすることができる。ルートリフレクタ168は、メッセージングキューによって状態をいつ更新するかを通知され得、更新が失敗した場合には構成テーブルの直接ルックアップを介して定期的に状態をリコンサイルすることができる。ルートリフレクタ168は、トンネルホスト165がルートリフレクタ168に対してロングポーリングを行ってルート更新をできるだけ迅速に取得できるようにするAPIを提供することができる。これらのルートは、どのネットワーク範囲がどのUPF153に向かうべきかを反映し得る。
【0030】
トンネルホスト165は、ルートリフレクタ168から取得したルーティングルールを使用して、インバウンドネットワークパケットを適切なUPF153にルーティングし、アウトバウンドトラフィックをネットワーク121に戻すルーティングを担当することができる。トンネルホスト165は、2つのエラスティックネットワークインターフェース159a及び159bを使用することができる。エラスティックネットワークインターフェース159は、UPF153に代わって、ネットワーク121からネットワークトラフィックを受信し、ネットワークトラフィックをネットワーク121に送り返す。一実施形態では、エラスティックネットワークインターフェース159aは、特定のトンネルホスト165に対して構成されたネットワークアドレス範囲のトラフィックのみを送信するようにフィルタリングする。
【0031】
エラスティックネットワークインターフェース159bは、UPF153に面していてもよく、UPF153を含むプライベートネットワークのデフォルトルートであってもよい。プライベートネットワーク内でより特定のルートを持たないUPF153を出る全てのトラフィックは、エラスティックネットワークインターフェース159bに向けられ、その後、トンネルホスト165を介してネットワーク121に渡される。UPF153に向かうインバウンド方向では、エラスティックネットワークインターフェース159bは、オーバレイオーバライド機能を使用して、ネットワークトラフィックを特定のルートに関連付けられたUPF153に向けることができる。オーバレイアドレスのオーバライドはローカルサブネットに限定されない可能性があるため、これは単にレイヤ2アドレスを使用するよりも強力である。
【0032】
トンネルホスト165のライフサイクルは、トンネルコントロールプレーン162によって管理されて、適切な数のトンネルホスト165を起動するとともに、所望に応じてスケールアップ及びスケールダウンすることができる。各トンネルホスト165を実行するための構成は、ルーティングルールと共にルートリフレクタ168から直接または間接的に取得することができる。トンネルコントロールプレーン162は、API呼び出しを変換して、トンネルホスト165及びルートリフレクタ168を含むこれらの様々なコンポーネントを構成するコントロールプレーンを含む。
【0033】
高可用性UPF153は、その全体を参照により本明細書に援用される、2020年12月10日に出願された「HIGHLY AVAILABLE DATA-PROCESS NG NETWORK FUNCTIONS FOR RADIO-BASED NETWORKS」と題する米国特許出願17/118,558号においてさらに説明される。
【0034】
図2Aは、いくつかの実施形態による、クラウドプロバイダネットワーク203を含み、さらに、
図1Aの通信ネットワーク内の様々なロケーションで使用され得るクラウドプロバイダネットワーク203の様々なプロバイダサブストレートエクステンションを含むネットワーク環境200の例を示す。クラウドプロバイダネットワーク203(単に「クラウド」と呼ばれることもある)は、ネットワークでアクセス可能なコンピューティングリソース(計算、ストレージ、及びネットワーキングリソース、アプリケーション、及びサービスなど)のプールを指し、これらは仮想化またはベアメタルの場合がある。クラウドは、顧客のコマンドに応答して、プログラムでプロビジョニング及びリリースされ得る構成可能なコンピューティングリソースの共有プールへの便利なオンデマンドネットワークアクセスを提供し得る。これらのリソースは、変動する負荷に合わせて調整されるように、動的にプロビジョニングされ、再構成されることがある。したがって、クラウドコンピューティングは、公衆アクセス可能なネットワーク(たとえば、インターネット、セルラ通信ネットワーク)を介してサービスとして配信されるアプリケーションと、それらのサービスを提供するクラウドプロバイダのデータセンタ内のハードウェア及びソフトウェアとの両方と見なすことができる。
【0035】
クラウドプロバイダネットワーク203は、ネットワークを介してオンデマンドでスケーラブルなコンピューティングプラットフォームをユーザに提供することができ、たとえば、ユーザが(中央処理装置(CPU)及びグラフィックス処理装置(GPU)の一方または両方の使用を介して、任意選択でローカルストレージを用いて、計算インスタンスを提供する)計算サーバ及び(指定された計算インスタンスに仮想化された永続的なブロックストレージを提供する)ブロックストアサーバの使用を介して、スケーラブルな「仮想コンピューティングデバイス」を自由に持つことができるようにする。これらの仮想コンピューティングデバイスは、ハードウェア(様々なタイプのプロセッサ、ローカルメモリ、ランダムアクセスメモリ(RAM)、ハードディスク、及び/またはソリッドステートドライブ(SSD)ストレージ)、選ばれたオペレーティングシステム、ネットワーク機能、及びプリロードされたアプリケーションソフトウェアを含むパーソナルコンピューティングデバイスの属性を有する。各仮想コンピューティングデバイスはまた、そのコンソール入出力(たとえば、キーボード、ディスプレイ、及びマウス)を仮想化することもある。この仮想化により、ユーザは、ブラウザ、アプリケーションプログラミングインターフェース(API)、ソフトウェア開発キット(SDK)などのコンピュータアプリケーションを使用して自身の仮想コンピューティングデバイスに接続することによって、パーソナルコンピューティングデバイスであるかのように、自身の仮想コンピューティングデバイスを構成及び使用することが可能になる。ユーザが利用可能な固定量のハードウェアリソースを所有するパーソナルコンピューティングデバイスとは異なり、仮想コンピューティングデバイスに関連付けられたハードウェアは、ユーザが必要とするリソースに応じてスケールアップまたはスケールダウンすることができる。
【0036】
前述のとおり、ユーザは、中間ネットワーク(複数可)212経由で、様々なインターフェース206(たとえば、API)を使用して、仮想化コンピューティングデバイス及び他のクラウドプロバイダネットワーク203のリソース及びサービスに接続し、5Gネットワークなどの電気通信ネットワークを構成して管理することができる。APIは、クライアントが事前定義された形式で要求を行った場合に、クライアントが特定の形式で応答を受信する、または定義されたアクションを開始させる必要があるように、クライアントデバイス215とサーバとの間のインターフェース及び/または通信プロトコルを参照する。クラウドプロバイダネットワークの状況では、APIは、顧客がクラウドプロバイダネットワーク203からデータを取得したり、クラウドプロバイダネットワーク203内でアクションを実行したりできるようにすることで、顧客がクラウドインフラストラクチャにアクセスするためのゲートウェイを提供し、クラウドプロバイダネットワーク203でホストされているリソースやサービスと対話するアプリケーションの開発を可能にする。APIは、クラウドプロバイダネットワーク203の様々なサービスが相互にデータを交換できるようにすることもできる。ユーザは自身の仮想コンピューティングシステムをデプロイして、自身で使用するための、及び/または自身の顧客もしくはクライアントが使用するための、ネットワークベースのサービスを提供することを選ぶことができる。
【0037】
クラウドプロバイダネットワーク203は、サブストレートと呼ばれる物理ネットワーク(たとえば、板金ボックス、ケーブル、ラックハードウェア)を含むことができる。サブストレートは、プロバイダネットワークのサービスを実行する物理ハードウェアを含むネットワークファブリックと見なすことができる。サブストレートは、クラウドプロバイダネットワーク203の残りの部分から隔離されていてもよく、たとえば、サブストレートネットワークアドレスから、クラウドプロバイダのサービスを実行する実稼働ネットワーク内のアドレスへ、または顧客リソースをホストする顧客ネットワークへルーティングすることが不可能な場合がある。
【0038】
クラウドプロバイダネットワーク203は、サブストレート上で実行される仮想化コンピューティングリソースのオーバレイネットワークを含むこともある。少なくともいくつかの実施形態では、ネットワークサブストレート上のハイパーバイザまたは他のデバイスまたはプロセスは、カプセル化プロトコル技術を使用して、プロバイダネットワーク内の異なるホスト上のクライアントリソースインスタンス間のネットワークサブストレート上でネットワークパケット(たとえば、クライアントIPパケット)をカプセル化し、ルーティングすることがある。カプセル化プロトコル技術は、カプセル化されたパケット(ネットワークサブストレートパケットとも呼ばれる)を、オーバレイネットワークパスまたはルートを介してネットワークサブストレート上のエンドポイント間でルーティングするように、ネットワークサブストレート上で使用され得る。カプセル化プロトコル技術は、ネットワークサブストレート上にオーバレイされた仮想ネットワークトポロジを提供するものと見なされ得る。そのため、ネットワークパケットは、オーバレイネットワーク内の構成体(たとえば、仮想プライベートクラウド(VPC)と呼ばれ得る仮想ネットワーク、セキュリティグループと呼ばれ得るポート/プロトコルファイアウォール構成)に従って、サブストレートネットワークに沿ってルーティングされ得る。マッピングサービス(図示せず)は、これらのネットワークパケットのルーティングを連係させ得る。マッピングサービスは、オーバレイインターネットプロトコル(IP)とネットワーク識別子との組み合わせをサブストレートIPにマッピングする地域的分散ルックアップサービスであってもよく、分散サブストレートコンピューティングデバイスがパケットの送信先を検索できるようにする。
【0039】
例示すると、各物理ホストデバイス(たとえば、計算サーバ、ブロックストアサーバ、オブジェクトストアサーバ、制御サーバ)は、サブストレートネットワーク内にIPアドレスを有することがある。ハードウェア仮想化技術を使用すると、複数のオペレーティングシステムをホストコンピュータ上で、たとえば、計算サーバ上の仮想マシン(VM)として、同時に実行することが可能になり得る。ホスト上のハイパーバイザ、または仮想マシンモニタ(VMM)は、ホスト上の様々なVMにホストのハードウェアリソースを割り振り、VMの実行を監視する。各VMには、オーバレイネットワーク内の1つ以上のIPアドレスが与えられてもよく、ホスト上のVMMは、ホスト上のVMのIPアドレスを認識している場合がある。VMM(及び/またはネットワークサブストレート上の他のデバイスまたはプロセス)は、カプセル化プロトコル技術を使用して、クラウドプロバイダネットワーク203内の異なるホスト上の仮想化リソース間のネットワークサブストレート上でネットワークパケット(たとえば、クライアントIPパケット)をカプセル化し、ルーティングすることがある。カプセル化プロトコル技術は、カプセル化されたパケットを、オーバレイネットワークパスまたはルートを介してネットワークサブストレート上のエンドポイント間でルーティングするように、ネットワークサブストレート上で使用され得る。カプセル化プロトコル技術は、ネットワークサブストレート上にオーバレイされた仮想ネットワークトポロジを提供するものと見なされ得る。カプセル化プロトコル技術には、IPオーバレイアドレス(たとえば、顧客に見えるIPアドレス)をサブストレートIPアドレス(顧客に見えないIPアドレス)にマッピングするマッピングディレクトリを維持するマッピングサービスが含まれ得、このマッピングディレクトリは、エンドポイント間でパケットをルーティングするためにクラウドプロバイダネットワーク203上の様々なプロセスによってアクセスされ得る。
【0040】
図示するように、クラウドプロバイダネットワークサブストレートのトラフィック及び動作は、様々な実施形態において、論理コントロールプレーン218上で搬送されるコントロールプレーントラフィック、及び論理データプレーン221上で搬送されるデータプレーンオペレーションという2つのカテゴリに大まかに細分され得る。データプレーン221は、分散コンピューティングシステムを介したユーザデータの移動を表し、コントロールプレーン218は、分散コンピューティングシステムを介した制御信号の移動を表す。コントロールプレーン218は、一般に、1つ以上の制御サーバにわたって分散され、1つ以上の制御サーバによって実装される、1つ以上のコントロールプレーンコンポーネントまたはサービスを含む。コントロールプレーントラフィックには、一般に、様々な顧客向けに分離された仮想ネットワークの確立、リソースの使用状況や健全性の監視、要求された計算インスタンスが起動される特定のホストまたはサーバの識別、必要に応じた追加ハードウェアのプロビジョニングなどの管理動作が含まれる。データプレーン221は、クラウドプロバイダネットワーク上に実装される顧客リソース(たとえば、計算インスタンス、コンテナ、ブロックストレージボリューム、データベース、ファイルストレージ)を含む。データプレーントラフィックには、一般に、顧客リソースとの間のデータ転送などの非管理動作が含まれる。
【0041】
コントロールプレーンコンポーネントは、通常、データプレーンサーバとは別個のサーバのセットに実装され、コントロールプレーントラフィックとデータプレーントラフィックとは別個の異なるネットワーク経由で送信される場合がある。いくつかの実施形態では、コントロールプレーントラフィックとデータプレーントラフィックとは、異なるプロトコルによってサポートされ得る。いくつかの実施形態では、クラウドプロバイダネットワーク203を介して送信されるメッセージ(たとえば、パケット)は、トラフィックがコントロールプレーントラフィックであるかデータプレーントラフィックであるかを示すフラグを含む。いくつかの実施形態では、トラフィックのペイロードを検査して、そのタイプ(たとえば、コントロールプレーンかデータプレーンか)を判定することがある。トラフィックタイプを区別するための他の手法も可能である。
【0042】
図示するように、データプレーン221は、ベアメタル(たとえば、単一テナント)であってもよく、または1以上の顧客向けに複数のVM(「インスタンス」と呼ばれることもある)もしくはマイクロVMを実行するために、ハイパーバイザによって仮想化されてもよい、1つ以上の計算サーバを含むことがある。これらの計算サーバは、クラウドプロバイダネットワーク203の仮想化コンピューティングサービス(または「ハードウェア仮想化サービス」)をサポートすることができる。仮想化コンピューティングサービスは、コントロールプレーン218の一部であってもよく、顧客がインターフェース206(たとえば、API)を介してコマンドを発行して、アプリケーションのための計算インスタンス(たとえば、VM、コンテナ)を起動し、管理することを可能にする。仮想化コンピューティングサービスは、様々な計算リソース及び/またはメモリリソースを備えた仮想計算インスタンスを提供することがある。一実施形態では、仮想計算インスタンスのそれぞれは、いくつかのインスタンスタイプのうちの1つに対応してもよい。インスタンスタイプは、そのハードウェアタイプ、計算リソース(たとえば、CPUまたはCPUコアの数、タイプ、及び構成)、メモリリソース(たとえば、ローカルメモリの容量、タイプ、及び構成)、ストレージリソース(たとえば、ローカルにアクセス可能なストレージの容量、タイプ、及び構成)、ネットワークリソース(たとえば、そのネットワークインターフェースの特性及び/またはネットワーク機能)、及び/または他の適切な記述的特性によって特徴付けられ得る。インスタンスタイプ選択機能を使用して、たとえば顧客からの入力に(少なくとも部分的に)基づいて、顧客のためにインスタンスタイプを選択することがある。たとえば、顧客は、事前定義されたインスタンスタイプのセットからインスタンスタイプを選択することができる。別の例として、顧客は、インスタンスタイプの所望のリソース及び/またはインスタンスが実行するワークロードの要件を指定することがあり、インスタンスタイプ選択機能が、そのような仕様に基づいてインスタンスタイプを選択してもよい。
【0043】
データプレーン221はまた、1つ以上のブロックストアサーバを含むことがあり、これは、顧客データのボリュームを格納するための永続ストレージ、及びこれらのボリュームを管理するためのソフトウェアを含むことがある。このようなブロックストアサーバは、クラウドプロバイダネットワークのマネージドブロックストレージサービスをサポートし得る。マネージドブロックストレージサービスは、コントロールプレーン218の一部であり、顧客がインターフェース206(たとえば、API)を介してコマンドを発行して、計算インスタンス上で実行されるアプリケーションのボリュームを作成し、管理することを可能にする。ブロックストアサーバは、データがブロックとして記憶される1つ以上のサーバを含む。ブロックはバイトまたはビットのシーケンスであり、ブロックサイズの最大長を有する整数個のレコードを通常は含む。ブロック化されたデータは通常、データバッファに記憶され、一度にブロック全体が読み書きされる。一般に、ボリュームは、ユーザに代わって維持されるデータのセットなどの、論理的なデータの集合体に対応することができる。たとえば1GBから1テラバイト(TB)以上のサイズの範囲の個々のハードドライブとして扱うことができるユーザボリュームは、ブロックストアサーバに記憶された1つ以上のブロックで構成される。個々のハードドライブとして扱われるが、ボリュームは、1つ以上の基礎となる物理ホストデバイス上に実装された1つ以上の仮想化デバイスとして記憶され得ることは理解されよう。ボリュームは、少数回(たとえば、最大16回)パーティション分割され、各パーティションが異なるホストによってホストされてよい。ボリュームのデータは、ボリュームの複数のレプリカを提供するために、クラウドプロバイダネットワーク内の複数のデバイス間で複製され得る(そのようなレプリカは、コンピューティングシステム上のボリュームを集合的に表し得る)。分散コンピューティングシステムにおけるボリュームのレプリカは、有益なことに、たとえば、ユーザがボリュームの一次レプリカ、またはブロックレベルで一次レプリカと同期されたボリュームの二次レプリカのいずれかにアクセスできるようにして、一次または二次レプリカのいずれかの障害によって、ボリュームの情報へのアクセスが妨げられないようにすることで、自動的なフェイルオーバ及びリカバリを提供することができる。プライマリレプリカの役割は、ボリュームでの読み取り及び書き込み(「入出力操作」または単に「I/O操作」と呼ばれることもある)を容易にし、かつ任意の書き込みをセカンダリに(非同期レプリケーションを使用することもあるが、好ましくは、I/Oパスで同期して)反映させることであり得る。セカンダリレプリカは、プライマリレプリカと同期して更新され、フェイルオーバ動作中にシームレスな移行を提供することができ、これにより、セカンダリレプリカがプライマリレプリカの役割を引き継ぎ、以前のプライマリがセカンダリとして指定されるか、または新しい代替セカンダリレプリカがプロビジョニングされる。本明細書の特定の例では、プライマリレプリカとセカンダリレプリカとについて説明するが、論理ボリュームは複数のセカンダリレプリカを含み得ることが理解されよう。計算インスタンスは、クライアント経由でボリュームへのそのI/Oを仮想化することがある。クライアントは、計算インスタンスが、リモートデータボリューム(たとえば、ネットワーク経由でアクセスされる物理的に別個のコンピューティングデバイスに格納されているデータボリューム)に接続し、リモートデータボリュームでI/O操作を実行できるようにする命令に相当する。クライアントは、計算インスタンスの処理ユニット(たとえば、CPUまたはGPU)を含むサーバのオフロードカード上に実装され得る。
【0044】
データプレーン221は、クラウドプロバイダネットワーク203内の別のタイプのストレージに相当する、1つ以上のオブジェクトストアサーバを含むこともある。オブジェクトストレージサーバは、バケットと呼ばれるリソース内にオブジェクトとしてデータが記憶される1つ以上のサーバを含み、クラウドプロバイダネットワーク203のマネージドオブジェクトストレージサービスをサポートするために使用されることがある。各オブジェクトは、典型的には、記憶されているデータと、記憶されたオブジェクトの分析に関するオブジェクトストレージサーバの様々な機能を可能にする可変量のメタデータと、オブジェクトを取り出すために使用できるグローバルに一意の識別子またはキーと、を含む。各バケットは、所与のユーザアカウントに関連付けられる。顧客は自身のバケット内に所望の数のオブジェクトを記憶することができ、自身のバケット内のオブジェクトの書き込み、読み出し、及び削除を行うことができ、自身のバケット及びその中に含まれているオブジェクトへのアクセスを制御することができる。さらに、いくつかの異なるオブジェクトストレージサーバが上述のリージョンのうちの異なるリージョンに分散された実施形態では、ユーザは、たとえば遅延を最適化するために、バケットが記憶されるリージョン(または複数のリージョン)を選ぶことができる。顧客は、バケットを使用して、VMの起動に使用できるマシンイメージや、ボリュームのデータの特定時点のビューを表すスナップショットなど、様々なタイプのオブジェクトを保存することができる。
【0045】
プロバイダサブストレートエクステンション224(「PSE」)は、電気通信ネットワークなどの別個のネットワーク内でクラウドプロバイダネットワーク203のリソース及びサービスを提供し、それによって(たとえば、顧客のデバイスとの通信の遅延、法令順守、セキュリティなどに関連する理由で)クラウドプロバイダネットワーク203の機能を新しいロケーションに拡張する。いくつかの実施態様では、PSE224は、電気通信ネットワーク内で実行するクラウドベースのワークロードに容量を提供するように構成することができる。いくつかの実施態様では、PSE224は、電気通信ネットワークのコア及び/またはRAN機能を提供するように構成することができ、追加のハードウェア(たとえば、無線アクセスハードウェア)を用いて構成することができる。いくつかの実施態様は、たとえば、コア及び/またはRAN機能によって未使用の容量をクラウドベースのワークロードの実行に使用できるようにすることにより、両方を可能にするように構成され得る。
【0046】
図示するように、そのようなプロバイダサブストレートエクステンション224は、他の可能なタイプのサブストレートエクステンションの中でもとりわけ、クラウドプロバイダネットワークマネージドプロバイダサブストレートエクステンション227(たとえば、クラウドプロバイダネットワーク203に関連するものとは別のクラウドプロバイダ管理の施設内に位置するサーバによって形成される)、通信サービスプロバイダサブストレートエクステンション230(たとえば、通信サービスプロバイダ施設に関連付けられたサーバによって形成される)、顧客マネージドプロバイダサブストレートエクステンション233(たとえば、顧客またはパートナー施設のオンプレミスに位置するサーバによって形成される)を含むことができる。
【0047】
例示的なプロバイダサブストレートエクステンション224に示すように、プロバイダサブストレートエクステンション224は、同様に、クラウドプロバイダネットワーク203のコントロールプレーン218とデータプレーン221とをそれぞれ拡張する、コントロールプレーン236とデータプレーン239との間の論理的分離を含むことができる。プロバイダサブストレートエクステンション224は、様々な種類のコンピューティング関連リソースをサポートするために、ソフトウェア及び/またはファームウェア要素を備えたハードウェアの適切な組み合わせを用いて、そうするためにクラウドプロバイダネットワーク203を使用する経験を反映するように、たとえばクラウドプロバイダネットワークオペレータによって事前に構成されてもよい。たとえば、1つ以上のプロバイダサブストレートエクステンションロケーションサーバが、プロバイダサブストレートエクステンション224内でのデプロイのためにクラウドプロバイダによってプロビジョニングされ得る。上記のように、クラウドプロバイダネットワーク203は、事前定義されたインスタンスタイプのセットを提供することがあり、それぞれが基盤となるハードウェアリソースの様々なタイプ及び量を有する。各インスタンスタイプは、様々なサイズで提供される場合もある。顧客がリージョン内で使用しているのと同じインスタンスのタイプ及びサイズをプロバイダサブストレートエクステンション224で使用し続けることができるようにするために、サーバは異種サーバであってもよい。異種サーバは、同じタイプの複数のインスタンスサイズを同時にサポートすることができ、その基盤となるハードウェアリソースによってサポートされているいかなるインスタンスタイプもホストするように再構成することもできる。異種サーバの再構成は、サーバの利用可能な容量を使用してオンザフライで実行することができ、つまり、他のVMがまだ実行中であり、プロバイダサブストレートエクステンションロケーションサーバの他の容量を消費している間に、実行することができる。これにより、サーバ上で実行中のインスタンスをより適切にパッキングできるようにすることによって、エッジロケーション内のコンピューティングリソースの利用を改善することができ、また、クラウドプロバイダネットワーク203及びクラウドプロバイダネットワークマネージドプロバイダサブストレートエクステンション227にわたるインスタンスの使用に関するシームレスな経験を提供することもできる。
【0048】
プロバイダサブストレートエクステンションサーバは、1つ以上の計算インスタンスをホストすることがある。計算インスタンスは、コードとその全ての依存関係とをパッケージ化するVM、またはコンテナであってもよく、アプリケーションがコンピューティング環境(たとえば、VM及びマイクロVMを含む)全体で迅速かつ確実に実行できるようにする。さらに、顧客の希望に応じて、サーバは1つ以上のデータボリュームをホストすることがある。クラウドプロバイダネットワーク203のリージョンでは、そのようなボリュームは専用のブロックストアサーバ上でホストされ得る。しかしながら、プロバイダサブストレートエクステンション224の容量がリージョン内よりも著しく小さい可能性があるため、プロバイダサブストレートエクステンション224がそのような専用ブロックストアサーバを含む場合、最適な利用経験が提供されない可能性がある。したがって、ブロックストレージサービスは、VMの1つがブロックストアソフトウェアを実行してボリュームのデータを保存するように、プロバイダサブストレートエクステンション224内で仮想化されることがある。クラウドプロバイダネットワーク203のリージョンにおけるブロックストレージサービスの動作と同様に、プロバイダサブストレートエクステンション224内のボリュームは、耐久性及び可用性のために複製されてもよい。ボリュームは、プロバイダサブストレートエクステンション224内の独自の分離された仮想ネットワーク内でプロビジョニングされ得る。計算インスタンス及び任意のボリュームは、プロバイダサブストレートエクステンション224内のプロバイダネットワークデータプレーン221のデータプレーン239エクステンションを集合的に構成する。
【0049】
プロバイダサブストレートエクステンション224内のサーバは、いくつかの実施態様では、特定のローカルコントロールプレーンコンポーネント、たとえば、クラウドプロバイダネットワーク203に戻る接続が切断された場合にプロバイダサブストレートエクステンション224が機能し続けることを可能にするコンポーネントをホストすることがある。これらのコンポーネントの例には、可用性を維持するために必要に応じてプロバイダサブストレートエクステンションサーバ間で計算インスタンスを移動できる移行マネージャや、ボリュームレプリカのロケーションを示すキーバリューデータストアが含まれる。しかしながら、一般に、プロバイダサブストレートエクステンション224のコントロールプレーン236機能は、顧客がプロバイダサブストレートエクステンション224のリソース容量をできるだけ多く使用できるようにするために、クラウドプロバイダネットワーク203にとどまる。
【0050】
移行マネージャは、PSEサーバ(及びクラウドプロバイダのデータセンタのサーバ)上で実行されるローカルコントローラだけでなく、リージョン内で実行される集中連係コンポーネントを有する場合がある。集中連係コンポーネントは、移行がトリガされたときにターゲットエッジロケーション及び/またはターゲットホストを識別することができ、ローカルコントローラはソースホストとターゲットホストとの間のデータ転送を連係させることができる。異なるロケーションにあるホスト間での説明されているリソースの移動は、いくつかの移行形式のうちの1つを取り得る。移行とは、クラウドコンピューティングネットワーク内のホスト間で、またはクラウドコンピューティングネットワーク外のホストとクラウド内のホストとの間で、仮想マシンインスタンス(及び/またはその他のリソース)を移動することを指す。ライブ移行や再起動移行など、様々な種類の移行がある。再起動移行中に、顧客は仮想マシンインスタンスの停止と効果的な電源入れ直しとを経験する。たとえば、コントロールプレーンサービスは、元のホスト上の現在のドメインを破棄し、その後、新しいホスト上に仮想マシンインスタンス用の新しいドメインを作成することを含む再起動移行ワークフローを連係させ得る。インスタンスは、元のホストでシャットダウンされ、新しいホストで再度起動させることによって、再起動される。
【0051】
ライブ移行とは、仮想マシンの可用性を大幅に損なうことなく(たとえば、仮想マシンのダウンタイムがエンドユーザに気付かれない)実行中の仮想マシンまたはアプリケーションを異なる物理マシン間で移動させるプロセスを指す。コントロールプレーンが、ライブ移行ワークフローを実行すると、インスタンスに関連付けられた新しい「非アクティブ」ドメインを作成できるが、インスタンスの元のドメインは引き続き「アクティブ」ドメインとして実行される。仮想マシンのメモリ(実行中のアプリケーションの任意のメモリ内状態を含む)、ストレージ、及びネットワーク接続性は、アクティブなドメインを持つ元のホストから非アクティブなドメインを持つ宛先ホストまで転送される。仮想マシンは、メモリの内容を宛先ホストに転送している間、状態の変化を防ぐために、短く一時停止される場合がある。コントロールプレーンは、非アクティブドメインをアクティブドメイン化するように移行させ、元のアクティブドメインを降格させて非アクティブドメイン化し得(「フリップ」とも呼ばれる)、その後、非アクティブドメインを破棄し得る。
【0052】
様々なタイプの移行手法には、クリティカルフェーズ(顧客が仮想マシンインスタンスを利用できない時間)の管理が含まれており、このフェーズはできるだけ短くする必要がある。現在開示されている移行手法では、1つ以上の中間ネットワークを介して接続され得る地理的に離れたロケーションにあるホスト間でリソースが移動されるので、この管理は特に困難となる可能性がある。ライブ移行の場合、開示された手法は、たとえば、ロケーション間の遅延、ネットワーク帯域幅/使用パターン、及び/またはインスタンスによってどのメモリページが最も頻繁に使用されるかに基づいて、事前(たとえば、インスタンスがまだソースホスト上で実行されている間)にコピーするメモリ状態データの量、及びコピー後(たとえば、インスタンスが宛先ホスト上で実行を開始した後)のメモリ状態データの量を動的に判定することができる。さらに、メモリ状態データが転送される特定の時刻は、ロケーション間のネットワークの状態に基づいて動的に判定することができる。この分析は、リージョン内の移行管理コンポーネントによって、またはソースエッジロケーションでローカルに実行されている移行管理コンポーネントによって、実行されてもよい。インスタンスが仮想化ストレージにアクセスできる場合、ソースドメインとターゲットドメインとの両方をストレージに同時にアタッチして、移行中やソースドメインへのロールバックが必要な場合に、そのデータへの中断のないアクセスを可能にし得る。
【0053】
プロバイダサブストレートエクステンション224で実行されるサーバソフトウェアは、クラウドプロバイダサブストレートネットワーク上で実行されるようにクラウドプロバイダによって設計されてもよく、このソフトウェアは、ローカルネットワークマネージャ(複数可)242を使用してエッジロケーション内にサブストレートネットワークのプライベートレプリカ(「シャドウサブストレート」)を作成することにより、プロバイダサブストレートエクステンション224内で変更せずに実行することが可能になり得る。ローカルネットワークマネージャ(複数可)242は、プロバイダサブストレートエクステンション224サーバ上で動作し、たとえば、クラウドプロバイダネットワーク203内のプロバイダサブストレートエクステンション224とプロキシ245、248との間の1つまたは複数の仮想プライベートネットワーク(VPN)エンドポイントとして機能することにより、ならびに(データプレーンプロキシ248からの)データプレーントラフィック及び(コントロールプレーンプロキシ245からの)コントロールプレーントラフィックを適切なサーバ(複数可)に関連付ける(トラフィックのカプセル化及びカプセル化解除のための)マッピングサービスを実装することにより、シャドウサブストレートをプロバイダサブストレートエクステンション224ネットワークとブリッジさせることができる。プロバイダネットワークのサブストレートオーバレイマッピングサービスのローカルバージョンを実装することにより、ローカルネットワークマネージャ(複数可)242は、プロバイダサブストレートエクステンション224内のリソースがクラウドプロバイダネットワーク203内のリソースとシームレスに通信できるようにする。いくつかの実施態様では、単一のローカルネットワークマネージャ242が、プロバイダサブストレートエクステンション224内の計算インスタンスをホストする全てのサーバに対してこれらのアクションを実行することがある。他の実施態様では、計算インスタンスをホストするサーバのそれぞれが、専用のローカルネットワークマネージャ242を有してもよい。マルチラックエッジロケーションでは、ローカルネットワークマネージャが互いに開いたトンネルを維持して、ラック間通信はローカルネットワークマネージャ242を経由することができる。
【0054】
プロバイダサブストレートエクステンションロケーションは、たとえば、プロバイダサブストレートエクステンション224ネットワーク及び(公共のインターネットを含む可能性がある)その他の中間ネットワークを通過する際に、顧客データのセキュリティを維持するため、プロバイダサブストレートエクステンション224ネットワークを経由してクラウドプロバイダネットワーク203に至る安全なネットワークトンネルを利用することができる。クラウドプロバイダネットワーク203内では、これらのトンネルは、(たとえば、オーバレイネットワーク内の)分離された仮想ネットワーク、コントロールプレーンプロキシ245、データプレーンプロキシ248、及びサブストレートネットワークインターフェースを含む仮想インフラストラクチャコンポーネントで構成される。このようなプロキシ245、248は、計算インスタンス上で実行されるコンテナとして実装され得る。いくつかの実施形態では、計算インスタンスをホストするプロバイダサブストレートエクステンション224ロケーションにある各サーバは、少なくとも2つのトンネルを利用することができる。1つはコントロールプレーントラフィック(たとえば、コンストレインドアプリケーションプロトコル(CoAP)トラフィック)用であり、もう1つはカプセル化されたデータプレーントラフィック用である。クラウドプロバイダネットワーク203内の接続マネージャ(図示せず)は、これらのトンネル及びそのコンポーネントのクラウドプロバイダネットワーク側のライフサイクルを、たとえば、必要に応じてそれらを自動的にプロビジョニングし、それらを健全な動作状態に維持することによって管理する。いくつかの実施形態では、プロバイダサブストレートエクステンション224ロケーションとクラウドプロバイダネットワーク203との間の直接接続を、コントロールプレーン通信及びデータプレーン通信に使用することがある。他のネットワークを介したVPNと比較して、直接接続は、そのネットワークパスが比較的固定され安定しているため、一定の帯域幅とより一貫したネットワークパフォーマンスとを提供する可能性がある。
【0055】
コントロールプレーン(CP)プロキシ245は、エッジロケーションにおける特定のホスト(複数可)を代表するために、クラウドプロバイダネットワーク203内でプロビジョニングされることがある。CPプロキシ245は、クラウドプロバイダネットワーク203内のコントロールプレーン218とプロバイダサブストレートエクステンション224のコントロールプレーン236内のコントロールプレーンターゲットとの間の仲介役である。つまり、CPプロキシ245は、プロバイダサブストレートエクステンションサーバ宛ての管理APIトラフィックをリージョンサブストレートからプロバイダサブストレートエクステンション224へトンネリングさせるためのインフラストラクチャを提供する。たとえば、クラウドプロバイダネットワーク203の仮想化コンピューティングサービスは、プロバイダサブストレートエクステンション224のサーバのVMMにコマンドを発行して、計算インスタンスを起動することがある。CPプロキシ245は、プロバイダサブストレートエクステンションのローカルネットワークマネージャ242へのトンネル(たとえば、VPN)を維持する。CPプロキシ245内に実装されたソフトウェアは、適格なAPIトラフィックのみがサブストレートから出てサブストレートに戻ることを保証する。CPプロキシ245は、サブストレートのセキュリティマテリアル(たとえば、暗号化キー、セキュリティトークン)がクラウドプロバイダネットワーク203から流出するのを引き続き保護しながら、クラウドプロバイダサブストレート上のリモートサーバを公開するメカニズムを提供する。CPプロキシ245によって課される一方向のコントロールプレーントラフィックトンネルはまた、任意の(侵害される可能性のある)デバイスがサブストレートにコールバックすることを防ぐ。CPプロキシ245は、プロバイダサブストレートエクステンション224のサーバと1対1でインスタンス化することがあり、あるいは同じプロバイダサブストレートエクステンション224内の複数のサーバのコントロールプレーントラフィックを管理することができる場合がある。
【0056】
データプレーン(DP)プロキシ248もまた、プロバイダサブストレートエクステンション224内の特定のサーバ(複数可)を代表するために、クラウドプロバイダネットワーク203内でプロビジョニングされることがある。DPプロキシ248は、サーバ(複数可)のシャドウまたはアンカーとして機能し、ホストの健全性(可用性、使用済み/空きの計算及び容量、使用済み/空きのストレージ及び容量、ならびにネットワーク帯域幅の使用状況/可用性を含む)を監視するために、クラウドプロバイダネットワーク203内のサービスによって使用されることがある。DPプロキシ248はまた、クラウドプロバイダネットワーク203内のサーバ(複数可)のプロキシとして機能することにより、分離された仮想ネットワークがプロバイダサブストレートエクステンション224とクラウドプロバイダネットワーク203とに及ぶことを可能にする。各DPプロキシ248は、パケット転送計算インスタンスまたはコンテナとして実装されることがある。図示するように、各DPプロキシ248は、DPプロキシ248が代表するサーバ(複数可)へのトラフィックを管理するローカルネットワークマネージャ242とのVPNトンネルを維持することができる。このトンネルは、プロバイダサブストレートエクステンションサーバ(複数可)とクラウドプロバイダネットワーク203との間でデータプレーントラフィックを送信するために使用され得る。プロバイダサブストレートエクステンション224とクラウドプロバイダネットワーク203との間を流れるデータプレーントラフィックは、そのプロバイダサブストレートエクステンション224に関連付けられたDPプロキシ248を通過することができる。プロバイダサブストレートエクステンション224からクラウドプロバイダネットワーク203に流れるデータプレーントラフィックの場合、DPプロキシ248は、カプセル化されたデータプレーントラフィックを受信し、その正確性を検証し、それがクラウドプロバイダネットワーク203に入るのを許可することがある。DPプロキシ248は、カプセル化されたトラフィックをクラウドプロバイダネットワーク203から直接にプロバイダサブストレートエクステンション224まで転送することができる。
【0057】
ローカルネットワークマネージャ(複数可)242は、クラウドプロバイダネットワーク203内に確立されたプロキシ245、248との安全なネットワーク接続性を提供することができる。ローカルネットワークマネージャ242とプロキシ245、248との間の接続性が確立された後、顧客は、計算インスタンスをインスタンス化する(及び/または計算インスタンスを使用して他の動作を実行する)ために、クラウドプロバイダネットワーク203内でホストされる計算インスタンスに関してコマンドが発行されることになる方法と同じようにプロバイダサブストレートエクステンションリソースを使用して、インターフェース206を介して、そのようなコマンドを発行することがある。顧客の観点からすれば、顧客は、プロバイダサブストレートエクステンション内のローカルリソース(及び所望であればクラウドプロバイダネットワーク203にあるリソース)をシームレスに使用できるようになった。プロバイダサブストレートエクステンション224でサーバ上にセットアップされた計算インスタンスは、所望に応じて、同じネットワーク内にある電子デバイス、及びクラウドプロバイダネットワーク203内にセットアップされた他のリソースの両方と通信することがある。プロバイダサブストレートエクステンション224と、そのエクステンションと結合されるネットワーク(たとえば、プロバイダサブストレートエクステンション230の例における通信サービスプロバイダネットワーク)との間のネットワーク接続性を提供するために、ローカルゲートウェイ251が実装されてもよい。
【0058】
状況によっては、オブジェクトストレージサービスとプロバイダサブストレートエクステンション(PSE)224との間でのデータの転送が必要になる場合がある。たとえば、オブジェクトストレージサービスは、VMの起動に使用されるマシンイメージ、及びボリュームの特定時点のバックアップを表すスナップショットを保存することがある。オブジェクトゲートウェイは、PSEサーバまたは特殊なストレージデバイス上で提供し、顧客のワークロードに対するPSEリージョンの遅延の影響を最小限に抑えるために、PSE224内のオブジェクトストレージバケットのコンテンツの構成可能なバケットごとのキャッシュを顧客に提供することがある。オブジェクトゲートウェイは、PSE224内のボリュームのスナップショットからのスナップショットデータを一時的に保存し、そして可能な場合にはリージョン内のオブジェクトサーバと同期することもある。オブジェクトゲートウェイは、顧客がPSE224内または顧客の構内で使用するために指定したマシンイメージを保存することもある。いくつかの実施態様では、PSE224内のデータは一意のキーで暗号化され得、クラウドプロバイダは、セキュリティ上の理由から、キーがリージョンからPSE224に共有されることを制限することがある。したがって、オブジェクトストアサーバとオブジェクトゲートウェイとの間で交換されるデータは、暗号化キーまたは他の機密データに関するセキュリティ境界を維持するために、暗号化、復号化、及び/または再暗号化を利用することができる。変換の手段は、これらの操作を実行することができ、PSE暗号化キーを使用してスナップショットデータとマシンイメージデータとを保存するために、PSEバケットが(オブジェクトストアサーバ上に)作成され得る。
【0059】
上記のようにして、それが、従来のクラウドプロバイダデータセンタの外側で顧客デバイスに近づいてクラウドプロバイダネットワーク203のリソース及びサービスを提供するという点で、PSE224はエッジロケーションを形成する。本明細書で言及されるエッジロケーションは、いくつかの方法で構造化され得る。いくつかの実施態様では、エッジロケーションは、(たとえば、顧客のワークロードの近くに位置し、どの可用性ゾーンからも離れている可能性がある、小規模なデータセンタ内の、またはクラウドプロバイダの他の施設内の)可用性ゾーンの外側に提供される限られた量の容量を含む、クラウドプロバイダネットワークサブストレートの拡張であり得る。そのようなエッジロケーションは、「ファーゾーン」(他の可用性ゾーンから遠いため)または「ニアゾーン」(顧客のワークロードに近いため)と呼ばれることがある。ニアゾーンは、インターネットなどの公的にアクセス可能なネットワークに、たとえば直接、別のネットワーク経由で、またはリージョンへのプライベート接続経由で、様々な方法で接続され得る。通常、ニアゾーンは、リージョンに比べ容量が限られているが、場合によっては、ニアゾーンが、数千ラック以上などのかなりの容量を有することがある。
【0060】
いくつかの実施態様では、エッジロケーションは、顧客またはパートナー施設のオンプレミスに配置された1つ以上のサーバによって形成されるクラウドプロバイダネットワークサブストレートの拡張であってもよく、そのようなサーバ(複数可)は、ネットワーク(たとえば、インターネットなどの公的にアクセス可能なネットワーク)を介して、クラウドプロバイダネットワークの近くの可用性ゾーンまたはリージョンと通信する。クラウドプロバイダネットワークデータセンタの外側に位置するこのタイプのサブストレートエクステンションは、クラウドプロバイダネットワークの「アウトポスト」と呼ぶことがある。いくつかのアウトポストは、たとえば、電気通信データセンタ、電気通信アグリゲーションサイト、及び/または電気通信ネットワーク内の電気通信基地局にわたって広がる物理的インフラストラクチャを有するマルチアクセスエッジコンピューティング(MEC)サイトとして、通信ネットワークに統合され得る。オンプレミスの例では、アウトポストの限られた容量は、その施設を所有する顧客(及び顧客が許可したその他の任意のアカウント)のみが使用できる場合がある。電気通信の例では、アウトポストの限られた容量は、電気通信ネットワークのユーザにデータを送信する複数のアプリケーション(たとえば、ゲーム、仮想現実アプリケーション、ヘルスケアアプリケーション)間で共有され得る。
【0061】
エッジロケーションは、プロバイダネットワークの近くの可用性ゾーンのコントロールプレーンによって少なくとも部分的に制御されるデータプレーン容量を含むことができる。したがって、可用性ゾーングループは、「親」可用性ゾーンと、親可用性ゾーンをホームとする(たとえば、少なくとも部分的にそのコントロールプレーンによって制御される)任意の「子」エッジロケーションとを含むことがある。特定の限られたコントロールプレーン機能(たとえば、顧客リソースとの低遅延の通信を必要とする機能、及び/または親可用性ゾーンから切断されたときにエッジロケーションが機能し続けることを可能にする機能)もまた、いくつかのエッジロケーションに存在し得る。したがって、上記の例では、エッジロケーションは、顧客デバイス及び/またはワークロードに近い、クラウドプロバイダネットワークのエッジに位置する少なくともデータプレーン容量の拡張を指す。
【0062】
図1Aの例では、分散コンピューティングデバイス112(
図1A)、集中コンピューティングデバイス115(
図1A)、及びコアコンピューティングデバイス118(
図1A)は、クラウドプロバイダネットワーク203のプロバイダサブストレートエクステンション224として実装され得る。通信ネットワーク100内でのプロバイダサブストレートエクステンション224の設置または配置は、通信ネットワーク100の特定のネットワークトポロジまたはアーキテクチャに応じて変わり得る。プロバイダサブストレートエクステンション224は、一般に、通信ネットワーク100がパケットベースのトラフィック(たとえば、IPベースのトラフィック)を発生させることができるどこにでも接続することができる。さらに、所与のプロバイダサブストレートエクステンション224とクラウドプロバイダネットワーク203との間の通信は、通常、通信ネットワーク100の少なくとも一部を(たとえば、安全なトンネル、仮想プライベートネットワーク、直接接続などを介して)安全に通過する。
【0063】
5Gワイヤレスネットワーク開発の取り組みでは、エッジロケーションがマルチアクセスエッジコンピューティング(MEC)の実装の可能性として考慮されることがある。このようなエッジロケーションは、ユーザプレーン機能(UPF)の一部としてデータトラフィックのブレイクアウトを提供する5Gネットワーク内の様々なポイントに接続することができる。古いワイヤレスネットワークでも、エッジロケーションを組み込むことができる。たとえば、3Gワイヤレスネットワークでは、エッジロケーションは、サービング汎用パケット無線サービスサポートノード(SGSN)またはゲートウェイ汎用パケット無線サービスサポートノード(GGSN)など、通信ネットワーク100のパケット交換ネットワーク部分に接続することができる。4Gワイヤレスネットワークでは、エッジロケーションは、コアネットワークまたは進化型パケットコア(EPC)の一部として、サービングゲートウェイ(SGW)またはパケットデータネットワークゲートウェイ(PGW)に接続することができるいくつかの実施形態では、プロバイダサブストレートエクステンション224とクラウドプロバイダネットワーク203との間のトラフィックは、コアネットワークを介してルーティングすることなく、通信ネットワーク100から切り離すことができる。
【0064】
いくつかの実施形態では、プロバイダサブストレートエクステンション224は、それぞれの顧客に関連付けられた複数の通信ネットワークに接続することがある。たとえば、それぞれの顧客の2つの通信ネットワークが共通点を介してトラフィックを共有またはルーティングする場合、プロバイダサブストレートエクステンション224は両方のネットワークに接続され得る。たとえば、各顧客は、そのネットワークアドレス空間の一部をプロバイダサブストレートエクステンションに割り当てることがあり、プロバイダサブストレートエクステンション224は、通信ネットワーク100のそれぞれと交換されるトラフィックを区別可能なルータまたはゲートウェイを含むことがある。たとえば、あるネットワークからプロバイダサブストレートエクステンション224に宛てられたトラフィックは、別のネットワークから受信したトラフィックとは異なる宛先IPアドレス、送信元IPアドレス、及び/または仮想ローカルエリアネットワーク(VLAN)タグを有する可能性がある。プロバイダサブストレートエクステンションからネットワークの1つにある宛先に向かうトラフィックも同様に、適切なVLANタグ、(たとえば、宛先ネットワークアドレス空間からプロバイダサブストレートエクステンションに割り振られたプールからの)送信元IPアドレス、及び宛先IPアドレスを有するように、カプセル化することができる。
【0065】
図2Bは、カスタマイズ可能データ処理ネットワーク機能を提供するための通信ネットワーク100(
図1A)のセルラ化及び地理的分布の例253を示す。
図2Bにおいて、ユーザデバイス254は、要求ルータ255と通信して、複数のコントロールプレーンセル257a及び257bのうちの1つに要求をルーティングする。各コントロールプレーンセル257は、ネットワークサービスAPIゲートウェイ260、ネットワークスライス構成262、ネットワークサービス監視用機能264、サイト計画データ266(顧客のサイト要件を記述するレイアウト、デバイスタイプ、デバイス数量などを含む)、ネットワークサービス/機能カタログ268、ネットワーク機能オーケストレータ270、及び/または他のコンポーネントを含むことがある。大規模なエラーが広範囲の顧客に影響を与える可能性を減らすために、独立して動作させる1つ以上のセルを、たとえば、顧客ごとに、ネットワークごとに、またはリージョンごとに設けることにより、大きなコントロールプレーンをセルに分割することがある。
【0066】
ネットワークサービス/機能カタログ268は、NFリポジトリ機能(NRF)とも呼ばれる。サービスベースアーキテクチャ(SBA)5Gネットワークでは、コントロールプレーン機能と共通データリポジトリとは、マイクロサービスアーキテクチャを使用して構築された相互接続されたネットワーク機能のセットを介して配信され得る。NRFは、利用可能なNFインスタンスとそのサポートされるサービスとの記録を維持することができ、他のNFインスタンスがサブスクライブし、所与のタイプのNFインスタンスからの登録を通知されることを可能にする。したがって、NRFは、NFインスタンスからの発見要求を受信することによってサービス発見をサポートし、どのNFインスタンスが特定のサービスをサポートするかを明示し得る。ネットワーク機能オーケストレータ270は、インスタンス化、スケールアウト/イン、パフォーマンス測定、イベント相関付け、及び終了を含むNFライフサイクル管理を実行することがある。ネットワーク機能オーケストレータ270は、新しいNFをオンボードすること、既存のNFの新しいバージョンまたは更新されたバージョンへの移行を管理すること、特定のネットワークスライスまたはより大きなネットワークに適したNFセットを識別すること、ならびに無線式ネットワーク103を構成する様々なコンピューティングデバイス及びサイトにわたってNFをオーケストレートすることもある。
【0067】
コントロールプレーンセル257は、1つ以上のセルサイト272、1つ以上の顧客ローカルデータセンタ274、1つ以上のローカルゾーン276、及び1つ以上のリージョナルゾーン278と通信することがある。セルサイト272は、1つ以上の分散ユニット(DU)ネットワーク機能282を実行するコンピューティングハードウェア280を含む。顧客ローカルデータセンタ274は、1つ以上のDUまたは中央ユニット(CU)ネットワーク機能284、ネットワークコントローラ、UPF286、顧客のワークロードに対応する1つ以上のエッジアプリケーション287、及び/または他のコンポーネントを実行するコンピューティングハードウェア283を含む。
【0068】
ローカルゾーン276は、クラウドサービスプロバイダによって運営されるデータセンタ内にあってもよく、AMF、SMF、他のネットワーク機能のサービス及び能力を安全に公開するネットワーク公開機能(NEF)、認可、登録、及びモビリティ管理のために加入者データを管理する統合データ管理(UDM)機能などの1つ以上のコアネットワーク機能288を実行してもよい。ローカルゾーン276は、UPF286、メトリック処理用サービス289、及び1つ以上のエッジアプリケーション287を実行することもある。
【0069】
リージョナルゾーン278は、クラウドサービスプロバイダによって運営されるデータセンタ内にあってもよく、1つ以上のコアネットワーク機能288;UPF286;ネットワーク管理システム、サービス配信、サービス履行、サービス保証、及び顧客ケアをサポートする運用サポートシステム(OSS)290;インターネットプロトコルマルチメディアサブシステム(IMS)291;製品管理、顧客管理、収益管理、及び/または注文管理をサポートするビジネスサポートシステム(BSS)292;1つ以上のポータルアプリケーション293、及び/または他のコンポーネントを実行してもよい。
【0070】
この例では、通信ネットワーク100は、個々のコンポーネントの爆発半径を低減するために、セルラキアーキテクチャを採用する。最上位レベルでは、個々のコントロールプレーンの障害が全てのデプロイに影響を与えるのを防ぐために、コントロールプレーンは複数のコントロールプレーンセル257内にある。
【0071】
各コントロールプレーンセル257内には、必要に応じてトラフィックをセカンダリスタックにシフトするコントロールプレーンを備えた複数の冗長スタックが設けられ得る。たとえば、セルサイト272は、そのデフォルトのコアネットワークとして近くのローカルゾーン276を利用するように構成され得る。ローカルゾーン276が停止した場合、コントロールプレーンはセルサイト272をリダイレクトして、リージョナルゾーン278内のバックアップスタックを使用することができる。通常、インターネットからローカルゾーン276にルーティングされるトラフィックは、リージョナルゾーン278のエンドポイントにシフトされ得る。各コントロールプレーンセル257は、複数のサイトにわたって(可用性ゾーンまたはエッジサイトなどにわたって)共通のセッションデータベースを共有する「ステートレス」アーキテクチャを実装することがある。
【0072】
図3Aは、いくつかの実施形態による、地理的に分散したプロバイダサブストレートエクステンション224(
図2A)(または「エッジロケーション303」)を含む例示的なクラウドプロバイダネットワーク203を示す。図示するように、クラウドプロバイダネットワーク203は、複数のリージョン306として形成されることがあり、ここでリージョン306とは、クラウドプロバイダが1つ以上のデータセンタ309を有する別個の地理的領域である。各リージョン306は、たとえばファイバ通信接続などのプライベート高速ネットワークを介して互いに接続された2つ以上の可用性ゾーン(AZ)を含むことがある。可用性ゾーンとは、他の可用性ゾーンに対して、別個の電源、別個のネットワーク、及び別個の冷却を備えた1つ以上のデータセンタ施設を含む、分離された障害ドメインを指す。クラウドプロバイダは、自然災害、大規模な停電、またはその他の予期せぬイベントによって同時に複数の可用性ゾーンがオフラインにならないように、リージョン306内で可用性ゾーンを相互に十分に離して配置するよう努める場合がある。顧客は、公的にアクセス可能なネットワーク(たとえば、インターネット、セルラ通信ネットワーク、通信サービスプロバイダネットワーク)を介して、クラウドプロバイダネットワーク203の可用性ゾーン内のリソースに接続することができる。トランジットセンタ(TC)は、顧客をクラウドプロバイダネットワーク203にリンクさせる主要なバックボーンロケーションであり、他のネットワークプロバイダ施設(たとえば、インターネットサービスプロバイダ、電気通信プロバイダ)と同じ場所に設置されてもよい。各リージョン306は、冗長性のために2つ以上のTCを運用できる。リージョン306は、各リージョン306を少なくとも1つの他のリージョンに接続するプライベートネットワークインフラストラクチャ(たとえば、クラウドサービスプロバイダによって制御されるファイバ接続)を含むグローバルネットワークに接続される。クラウドプロバイダネットワーク203は、エッジロケーション303及びリージョナルエッジキャッシュサーバを介して、これらのリージョン306の外部にあるが、これらのリージョン306とネットワーク化されているポイントオブプレゼンス(「PoP」)からコンテンツを配信することができる。コンピューティングハードウェアのこの区分化及び地理的分散により、クラウドプロバイダネットワーク203は、高度のフォールトトレランス及び安定性を有する地球規模の低遅延リソースアクセスを顧客に提供することができる。
【0073】
リージョナルデータセンタまたは可用性ゾーンの数と比較して、エッジロケーション303の数は、はるかに多くなる可能性がある。このようにエッジロケーション303を広範にわたりデプロイすることで、(リージョナルデータセンタ309に偶然にも非常に近いエンドユーザデバイスと比較して)はるかに大きなグループのエンドユーザデバイスに対して、クラウドへの低遅延接続を提供することができる。いくつかの実施形態では、各エッジロケーション303は、クラウドプロバイダネットワーク203の一部(たとえば、親可用性ゾーンまたはリージョナルデータセンタ)にピアリングすることがある。このようなピアリングにより、クラウドプロバイダネットワーク203内で動作する様々なコンポーネントがエッジロケーション303のコンピューティングリソースを管理できるようになる。場合によっては、複数のエッジロケーション303が同じ施設(たとえば、コンピュータシステムの別個のラック)に配置または設置され、追加の冗長性を提供するように異なるゾーンまたはデータセンタ309によって管理されてもよい。本明細書では、エッジロケーション303は通常、通信サービスプロバイダネットワークまたは無線式ネットワーク103(
図1A)内として示されているが、クラウドプロバイダネットワーク施設が通信サービスプロバイダ施設に比較的近い場合など、場合によっては、エッジロケーション303は、ファイバまたは他のネットワークリンクを介して通信サービスプロバイダネットワークに接続されている間、クラウドプロバイダネットワーク203の物理的敷地内に留まり得ることに留意されたい。
【0074】
エッジロケーション303は、いくつかの方法で構造化され得る。いくつかの実施態様では、エッジロケーション303は、(たとえば、顧客のワークロードの近くに位置し、どの可用性ゾーンからも離れている可能性がある、小規模なデータセンタ内の、またはクラウドプロバイダの他の施設内の)可用性ゾーンの外側に提供される限られた量の容量を含む、クラウドプロバイダネットワークサブストレートの拡張であり得る。そのようなエッジロケーション303は、(従来の可用性ゾーンよりもローカルまたはユーザのグループに近いため)ローカルゾーンと呼ばれることがある。ローカルゾーンは、インターネットなどの公的にアクセス可能なネットワークに、たとえば直接、別のネットワーク経由で、またはリージョン306へのプライベート接続経由で、様々な方法で接続され得る。通常、ローカルゾーンは、リージョン306に比べ容量が限られているが、場合によっては、ローカルゾーンが、数千ラック以上などのかなりの容量を有することがある。ローカルゾーンの中には、本明細書で説明するエッジロケーション303インフラストラクチャの代わりに、典型的なクラウドプロバイダデータセンタと同様のインフラストラクチャを使用するものもあり得る。
【0075】
本明細書に示すように、クラウドプロバイダネットワーク203は、いくつかのリージョン306として形成することができ、各リージョン306は、クラウドプロバイダがデータセンタ309をクラスタ化する地理的エリアを表す。各リージョンは、プライベート高速ネットワーク、たとえばファイバ通信接続を介して互いに接続された複数の(たとえば、2つ以上の)可用性ゾーン(AZ)をさらに含むことがある。AZは、別のAZとは別個の電源、別個のネットワーク、及び別個の冷却を備えた1つ以上のデータセンタ施設を含む、分離された障害ドメインを提供し得る。リージョン306内のAZは、同じ自然災害(またはその他の障害を引き起こすイベント)が影響を与えたり、同時に複数のAZをオフラインにしたりしないように、互いに十分に離れたロケーションに配置することが好ましい。顧客は、公衆アクセス可能なネットワーク(インターネット、セルラ通信ネットワークなど)を介して、クラウドプロバイダネットワークのAZに接続できる。
【0076】
クラウドプロバイダネットワーク203のAZまたはリージョン306に対する所与のエッジロケーション303のペアレンティングは、いくつかの要因に基づき得る。そのようなペアレンティング要因の1つはデータ主権である。たとえば、ある国の通信ネットワークから発信されたデータをその国内に保持するために、その通信ネットワーク内にデプロイされたエッジロケーション303を、その国内のAZまたはリージョン306に対してペアレンティングすることができる。もう1つの要因は、サービスの可用性である。たとえば、いくつかのエッジロケーション303は、顧客データ用のローカル不揮発性ストレージ(たとえば、ソリッドステートドライブ)、グラフィックスアクセラレータなどのコンポーネントの有無に応じて、異なるハードウェア構成を有し得る。いくつかのAZまたはリージョン306には、それらの追加リソースを活用するためのサービスが不足している可能性があるため、エッジロケーションは、それらのリソースの使用をサポートするAZまたはリージョン306に対してペアレンティングされ得る。別の要因は、AZまたはリージョン306とエッジロケーション303との間の遅延である。通信ネットワーク内でのエッジロケーション303のデプロイは遅延の点で利益になるが、エッジロケーション303を遠隔のAZまたはリージョン306にペアレンティングし、それがエッジロケーション303のリージョントラフィックに対する大幅な遅延を導入することにより、それらの利益が打ち消される可能性がある。したがって、エッジロケーション303は、多くの場合、(ネットワーク遅延の観点から)近くのAZまたはリージョン306に対してペアレンティングされる。
【0077】
さらに、開示されたサービスは、クラウドプロバイダネットワーク内でローカルアプリケーションを実行するためのプライベートゾーンを提供することができる。このプライベートゾーンは、より広範なリージョナルゾーンに接続して、事実上その一部にすることができ、顧客が、クラウドプロバイダネットワークで使用されているものと同じAPI及びツールを使用して、プライベートゾーンを管理することを可能にする。可用性ゾーンと同様に、プライベートゾーンにも仮想プライベートネットワークサブネットを割り当てることができる。APIを使用してサブネットを作成し、それを、プライベートゾーンや他の既存のゾーンを含む、顧客が使用を希望する全てのゾーンに割り当てることができる。管理コンソールが、プライベートゾーンを作成するための簡略化されたプロセスを提供し得る。仮想マシンのインスタンスとコンテナとは、リージョナルゾーンにおいてとまったく同じように、プライベートゾーンでも起動できる。顧客は、ネットワークゲートウェイを構成して、ルートの定義、IPアドレスの割り当て、ネットワークアドレス変換(NAT)のセットアップなどを行うことができる。自動スケーリングを使用すると、プライベートゾーンで必要に応じて仮想マシンインスタンスまたはコンテナの容量をスケール変更することができる。プライベートゾーン内では、クラウドプロバイダネットワークの同じ管理API及び認証APIを使用できる。場合によっては、リージョナルゾーンで利用可能なクラウドサービスには、安全な接続を介してプライベートゾーンからリモートでアクセスできるため、ローカルデプロイをアップグレードまたは変更する必要なく、これらのクラウドサービスにアクセスすることができる。
【0078】
ここで
図3Bに目を向けて、データ処理ネットワーク機能をカスタマイズするためのプラガブルアーキテクチャを有する無線式ネットワーク103aの一例が図示される。無線式ネットワーク103aでは、ワイヤレスデバイス106は、関連するコアネットワーク313を有する無線アクセスネットワーク310と通信し、関連するコアネットワーク313は、ネットワーク121へのアクセスを提供する。1つ以上のネットワーク機能316は、コアネットワーク313内で実行され、コアネットワーク313は、クラウドプロバイダネットワーク203(
図2A)のエッジロケーション303(
図3A)におけるクラウドプロバイダネットワーク203(
図2A)またはプロバイダサブストレートエクステンションに対応し得る。
【0079】
ネットワーク機能(複数可)316は、UPF、SMF、AMF、または別のデータ処理ネットワーク機能に対応し得る。ネットワーク機能(複数可)316は、コアネットワーク313内で実行される1つ以上のカスタマイズされた機能プラグイン319と通信中である。カスタマイズされた機能プラグイン319は、たとえば、標準(たとえば、5G標準)によって求められる機能性など、ネットワーク機能(複数可)316の基本的機能性を超えて拡張する一部のカスタマイズされた機能性を実行する、ストックプラグインまたは顧客提供プラグインであり得る。機能性は、ネットワーク機能316により処理されるパケットのデータ処理を伴う、暗号化/復号、圧縮/圧縮解除、トラフィックシェーピング、強化されたQoS機能性、ファイアウォーリング、侵入検知、侵入防止、ロギング、及びディープパケットインスペクションなどを組み込み得る。
【0080】
一例では、ネットワーク機能316は、処理のためにネットワークトラフィックをカスタマイズされた機能プラグイン(複数可)319に転送するのと同時に、ネットワークトラフィックを回送する。別の例では、ネットワーク機能316は、処理のためにネットワークトラフィックをカスタマイズされた機能プラグイン(複数可)319に転送し、処理された(及び、場合によっては修正された)ネットワークトラフィックをカスタマイズされた機能プラグイン(複数可)319から受信し、次いで、処理されたネットワークトラフィックを転送する。ネットワークトラフィックは、ネットワーク121から受信され、ワイヤレスデバイス106に転送されることになるパケット、ワイヤレスデバイス106から受信され、他のワイヤレスデバイス106にもしくはネットワーク121に回送されることになるパケットに対応し得る。
【0081】
ネットワーク機能316内に複数のステージが存在する場合、ネットワークトラフィックは、複数のそのようなステージの1つにおいて処理され得ることに留意されたい。たとえば、パケットは、事前ルーティングステージにおいてネットワーク機能316にそれが到達するとすぐに処理され得、パケットは、ルーティング決定の後であるが、トラフィックシェーピング決定もしくはマーキング決定の前に処理され得、パケットは、ルーティング決定及びトラフィックシェーピング決定の後であるが、マーキング決定の前に処理され得、またはパケットは、ルーティング決定、トラフィックシェーピング決定、及びマーキング決定の後に処理され得る。複数のカスタマイズされた機能プラグイン319が存在し及び有効である場合、カスタマイズされた機能プラグイン319は、顧客により定義された順序またはプロバイダにより定義された順序に従って、並列または直列にネットワークトラフィックを処理し得る。
【0082】
別の例では、ネットワークトラフィックは、ネットワークアドレスについてのワイヤレスデバイス106からの要求を含み得、カスタマイズされた機能プラグイン(複数可)319は、ネットワークアドレスをワイヤレスデバイス106に割り当てることに向けたカスタマイズされたアプローチを実装し得る。別の例では、ネットワークトラフィックは、ワイヤレスデバイス106からの認証要求を含み得、カスタマイズされた機能プラグイン(複数可)319は、カスタマイズされた認証ロジックを実装し得る。
【0083】
図3Cに移り、統合されたカスタマイズを通じて構成可能データ処理ネットワーク機能を提供する無線式ネットワーク103bの一例が示される。無線式ネットワーク103a(
図3B)と比較して、ネットワーク機能316は、ネットワーク機能316は、有効にされたカスタマイズ322になるように顧客によって有効にされ得るカスタマイズを統合すると共に、無効にされまたは非アクティブである他の統合されたカスタマイズが、有効にされていないカスタマイズ323として図示される。たとえば、顧客は、ユーザインターフェース内のボックスをチェックし得、または構成ファイル内のパラメータ値を設定し得、構成ファイルは、ネットワーク機能316内の統合されたカスタマイズがネットワーク機能316の標準実装の機能性を超えた機能性を実行することを可能にする。複数の統合されたカスタマイズが提供され得、複数の統合されたカスタマイズは、様々なケースでは、同時にまたは直列に有効にされ得る。例示するために、有効にされたカスタマイズ322は、期間内に既に割り当てられたネットワークアドレスが期間内に再割り当てされないことを規定し得る。対照的に、別の有効にされたカスタマイズ322は代わりに、使用頻度が最も低いネットワークアドレスが割り当てられることを規定し得る。
【0084】
引き続き
図3Dを参照する。異なるカスタマイズされたネットワーク機能バージョン325を通じて構成可能データ処理ネットワーク機能を提供する無線式ネットワーク103cの一例が図示される。カスタマイズされたネットワーク機能バージョン325は、顧客により提供されるのとは反対に、クラウドプロバイダネットワーク203(
図2A)によって集められ得るが、それらは、顧客によって選択及び有効にされ得る。カスタマイズされたネットワーク機能バージョン325の動作も、顧客により供給されたパラメータによって構成され得る。複数のカスタマイズされたネットワーク機能バージョン325は、ネットワーク機能316(
図3B)の標準実装を超えた機能性を提供し得る。一例では、カスタマイズされたネットワーク機能バージョン325は、顧客により提供された暗号化キーにより、ワイヤレスデバイス106行きの全てのトラフィックを暗号化し得る。別の例では、カスタマイズされたネットワーク機能バージョン325は、ワイヤレスデバイス106行きの全てのネットワークトラフィックを圧縮し得る。
【0085】
ここで
図3Eに目を向けて、統合されたカスタマイズを通じて構成可能データ処理ネットワーク機能を提供する無線式ネットワーク103dの一例が図示される。無線式ネットワーク103a(
図3B)と比較して、外部サービス328は、カスタマイズされた機能プラグイン319(
図3B)の代わりに、カスタマイズされた機能を実行するために使用される。外部サービス328は、クラウドプロバイダネットワーク203(
図2A)の内部もしくは外部の顧客により所有されるハードウェア上で、またはクラウドプロバイダネットワーク203内の顧客により運営されるハードウェア(マシンインスタンスなど)上で実行され得る。一部のケースでは、外部サービス328は、第三者によって顧客のために運営され得る。
【0086】
外部サービス328により、ワイヤレスデバイス106へのインバウンドであり及び/またはネットワーク121へのアウトバウンドであるネットワークトラフィックは、処理のために外部サービス328にエクスポートされ得る。一部のケースでは、ネットワークトラフィックは、複数の外部サービス328にエクスポートされ得る。たとえば、ネットワークトラフィックは、外部サービス328によってログを取られ得る。様々な実施態様では、処理されたネットワークトラフィックは、更なる処理及び/または回送のために、ネットワーク機能(複数可)316に戻され得る。たとえば、外部サービス328は、ワイヤレスデバイス106に送信されるビデオデータをより低いビットレートにトランスコードし得る。一部のシナリオでは、ネットワーク機能316は、出力(たとえば、ネットワークアドレス割り当て、認証確認など)を生成するために外部サービス328に依存し得、出力は次いで、アクション(たとえば、ネットワークアドレスを割り当てること、認証を完了することなど)を完了するために、ネットワーク機能316に戻される。
【0087】
図4を参照すると、様々な実施形態によるネットワーク環境400が示される。ネットワーク環境400は、コンピューティング環境403、1つ以上のクライアントデバイス406、及びネットワーク412を介して相互にデータ通信する1つ以上の無線式ネットワーク103を含む。ネットワーク412は、たとえば、インターネット、イントラネット、エクストラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク、無線ネットワーク、ケーブルネットワーク、衛星ネットワーク、もしくは他の適切なネットワークなど、または2つ以上のこれらのようなネットワークのいずれかの組み合わせを含む。
【0088】
コンピューティング環境403は、たとえば、サーバコンピュータまたはコンピューティング容量を提供する任意の他のシステムを含んでよい。代わりに、コンピューティング環境403は、たとえば、1つ以上のサーババンクまたはコンピュータバンクまたは他の配置で配置し得る複数のコンピューティングデバイスを採用し得る。係るコンピューティングデバイスは、単独の設備に位置し得る、または多くの異なる地理的なロケーション間に分散され得る。たとえば、コンピューティング環境403は、ホストコンピューティングリソース、グリッドコンピューティングリソース、及び/または任意の他の分散コンピューティング配置を一緒に備え得る複数のコンピューティングデバイスを含み得る。いくつかの場合では、コンピューティング環境403は、処理、ネットワーク、ストレージ、または他のコンピューティング関連リソースの割り当て容量が経時的に変化してもよい弾性的な計算リソースに対応してもよい。たとえば、コンピューティング環境403は、クラウドプロバイダネットワーク203(
図2A)に対応することができ、顧客は、ユーティリティコンピューティングモデルに基づくコンピューティングリソースの使用に応じて請求される。
【0089】
いくつかの実施形態では、コンピューティング環境403は、たとえばハイパーバイザによって物理コンピューティングハードウェア上で実行される仮想マシンインスタンスを含む物理ネットワーク内の仮想化プライベートネットワークに対応し得る。仮想マシンインスタンスとこれらのインスタンス上で実行されているコンテナとは、ルータやスイッチなどの物理ネットワークコンポーネントによって使用可能になる仮想化ネットワークコンポーネントを介してネットワーク接続が与えられる場合がある。
【0090】
様々なアプリケーション及び/または他の機能は、様々な実施形態に従って、コンピューティング環境403で実行され得る。また、種々のデータは、コンピューティング環境403にアクセス可能であるデータストア415に格納される。データストア415は、理解できるとおり、複数のデータストア415の代表であり得る。データストア415に格納されるデータは、たとえば、以下に記載する種々のアプリケーション及び/または機能性エンティティの動作に関連付けられる。
【0091】
ユーティリティコンピューティングサービスを提供するクラウドプロバイダネットワークの一部としてのコンピューティング環境403は、コンピューティングデバイス418及び他のタイプのコンピューティングデバイス418を含む。コンピューティングデバイス418は、異なるタイプのコンピューティングデバイス418に対応することがあり、異なるコンピューティングアーキテクチャを有することがある。コンピューティングアーキテクチャは、x86、x86_64、ARM、Scalable Processor Architecture(SPARC)、PowerPCなどの異なるアーキテクチャを持つプロセッサを利用することで異なる場合がある。たとえば、あるコンピューティングデバイス418はx86プロセッサを有し得るが、他のコンピューティングデバイス418はARMプロセッサを有し得る。コンピューティングデバイス418は、ローカルストレージ、グラフィックス処理ユニット(GPU)、機械学習エクステンション、及び他の特性など、利用可能なハードウェアリソースも異なる場合がある。
【0092】
コンピューティングデバイス418は、仮想マシン(VM)インスタンス、コンテナ、サーバレス機能などを含み得る、様々な形態の割り振られたコンピューティング容量421を有し得る。VMインスタンスは、VMイメージからインスタンス化され得る。この目的のために、顧客は、仮想マシンインスタンスが他のタイプのコンピューティングデバイス418ではなく、特定のタイプのコンピューティングデバイス418内で起動されるべきであることを指定することがある。様々な例において、1つのVMインスタンスが特定のコンピューティングデバイス418上で単独で実行されてもよく、または複数のVMインスタンスが特定のコンピューティングデバイス418上で実行されてもよい。また、特定のコンピューティングデバイス418は、異なるタイプのVMインスタンスを実行することができ、それらは、コンピューティングデバイス418を介して利用可能な異なる量のリソースを提供することができる。たとえば、あるタイプのVMインスタンスは、他のタイプのVMインスタンスよりも多くのメモリ及び処理能力を提供する場合がある。
【0093】
コンピューティング環境403上で実行されるコンポーネントには、たとえば、ネットワーク機能316、ネットワーク機能カスタマイズサービス424、セキュリティ分析サービス427、サンドボックス化環境430、及び/または他のコンポーネントが含まれる。これらのコンポーネントのそれぞれは、セルサイト、顧客サイト、ローカルゾーンデータセンタ、リージョンデータセンタなどに配置され得るコンピューティングデバイス418上の割り振られたコンピューティング容量421として実行され得る。ネットワーク機能316は、UPF、AMF、SMF、または無線式ネットワーク103によって採用された標準により定義され得る、無線式ネットワーク103のための他の機能に対応し得る。
【0094】
ネットワーク機能カスタマイズサービス424は、顧客によってネットワーク機能316のカスタマイズを促進するように実行される。これに関して、ネットワーク機能カスタマイズサービス424は、ユーザが追加のカスタマイズされた機能性を選択及び有効にすること、ならびに/または、ソースコードもしくはバイナリコードを提供して、追加のカスタマイズされた機能性を実装することを可能にする、ユーザインターフェースを生成し得る。代わりに、ネットワーク機能カスタマイズサービス424は、カスタマイズされた機能性をプログラムによって構成するために、アプリケーションプログラミングインターフェース(API)をサポートし得る。別の例では、ネットワーク機能カスタマイズサービス424は、ファイル転送プロトコル(FTP)、電子メール、ウェブベースのアップロード、及び/または他のアプローチによって、カスタマイズされた機能性を構成するための構成ファイルをユーザから受信し得る。
【0095】
セキュリティ分析サービス427は、ネットワーク機能316カスタマイズを実装するために使用される、顧客により提供されまたは信用できないコードに対してセキュリティ分析を行うように実行される。これは、ソースコードもしくはバイナリコードに対して静的分析を行うこと、及び/または、動的分析を実行するコードを実行することを含み得る。セキュリティ分析は、過度なリソース消費、マルウェア署名、不適切な動作もしくは機能呼び出し、またはネットワーク機能316もしくはクラウドプロバイダネットワーク203の他の顧客の動作を妨害し得るいずれかの他の問題を探し得る。
【0096】
サンドボックス化環境430は、ネットワーク機能316へのカスタマイズなど、信用できないコードの実行のための保護された環境を提供するように実行され得る。様々な実施態様では、サンドボックス化環境430は、処理時間、メモリ、データストレージハードウェアデバイスなど、コンピューティング環境403の1つ以上のコンピューティングリソースへのコードのアクセスを制限し得る。よって、サンドボックス化環境430は、過度なリソース消費を結果としてもたらす意図的に悪意のあるコード及び/または不備のあるコードからコンピューティング環境403を保護し得る。サンドボックス化環境430はまた、顧客によってアクセスされるべきでなくまたはこっそり抽出されるべきでない機密の、保護された、またはセンシティブなリソースにコードがアクセスしないことを保証し得る。
【0097】
データストア415に格納されるデータには、たとえば、1つ以上のネットワークプラン439、1つ以上のセルラトポロジ442、1つ以上のスペクトル割り当て445、デバイスデータ448、1つ以上のRBNメトリック451、顧客請求データ454、無線ユニット構成データ457、アンテナ構成データ460、ネットワーク機能(NF)構成データ463、1つ以上のネットワーク機能ワークロード466、1つ以上の顧客ワークロード469、1つ以上の顧客提供ネットワーク機能カスタマイズ471、1つ以上のストックネットワーク機能カスタマイズ472、1つ以上のセキュリティパラメータ473、及び潜在的に他のデータが含まれる。
【0098】
ネットワークプラン439は、顧客のためにデプロイされることになる無線式ネットワーク103の仕様である。たとえば、ネットワークプラン439は、カバーされることになる構内のロケーションまたは地理的エリア、セルの数、デバイス識別情報及び許可、所望の最大ネットワーク遅延、1つ以上のクラスのデバイスに対する所望の帯域幅またはネットワークスループット、アプリケーションまたはサービスの1つ以上のサービス品質パラメータ、及び/または無線式ネットワーク103を作成するために使用できる他のパラメータを含むことができる。顧客は、ユーザインターフェースを介してこれらのパラメータの1つ以上を手動で指定することができる。パラメータの1つ以上が、デフォルトパラメータとして事前設定されている場合がある。場合によっては、ネットワークプラン439は、無人航空機を使用した自動現場調査に少なくとも部分的に基づいて顧客向けに生成され得る。ネットワークプラン439を規定するパラメータの値は、クラウドサービスプロバイダがユーティリティコンピューティングモデルの下で顧客に請求するための基礎として使用され得る。たとえば、サービスレベルアグリーメント(SLA)で、より低い遅延間目標及び/またはより高い帯域幅目標に対して、顧客にはより高い金額が請求される場合があり、顧客は、提供される地理的エリア、スペクトルの利用可能性などに基づいて、デバイス当たり、セル当たりで、請求される場合がある。
【0099】
セルラトポロジ442は、セルのロケーションを考慮して可能な場合には、周波数スペクトルの再利用を考慮した、顧客のための複数のセルの配置を含む。セルラトポロジ442は、サイト調査を行って自動的に生成することができる。場合によっては、セルラトポロジ442内のセルの数は、カバーされることになる所望の地理的エリア、様々なサイトでのバックホール接続の可用性、信号伝播、利用可能な周波数スペクトル、及び/または他のパラメータに基づいて自動的に判定され得る。
【0100】
スペクトル割り当て445には、無線式ネットワーク103に割り振られるのに利用可能な周波数スペクトルと、無線式ネットワーク103に現在割り振られている周波数スペクトルとが含まれる。周波数スペクトルには、制限なく公的にアクセス可能なスペクトル、顧客が個人的に所有またはリースしているスペクトル、プロバイダが所有またはリースしているスペクトル、無料で使用できるが予約が必要なスペクトルなどが含まれる場合がある。
【0101】
デバイスデータ448は、無線式ネットワーク103への接続が許可されるワイヤレスデバイス106(
図1A)を記述するデータに対応する。このデバイスデータ448には、対応するユーザ、アカウント情報、請求情報、データプラン、許可されたアプリケーションまたは用途、ワイヤレスデバイス106がモバイルであるか固定であるかのインディケーション、ロケーション、現在のセル、ネットワークアドレス、デバイス識別子(たとえば、国際モバイル機器識別(IMEI)番号、機器シリアル番号(ESN)、メディアアクセス制御(MAC)アドレス、加入者識別モジュール(SIM)番号など)などが含まれる。
【0102】
RBNメトリック451は、無線式ネットワーク103のパフォーマンスまたは健全性を示す様々なメトリックまたは統計を含む。このようなRBNメトリック451には、帯域幅メトリック、ドロップパケットメトリック、信号強度メトリック、遅延メトリックなどが含まれ得る。RBNメトリック451は、デバイス当たり、セル当たり、顧客当たりなどで集約され得る。
【0103】
顧客請求データ454は、プロバイダによる顧客のための無線式ネットワーク103の運用に対して顧客が負担すべき料金を指定する。料金には、顧客にデプロイされた機器に基づく固定費及び/または使用に基づく使用費が含まれる場合がある。場合によっては、顧客が、前払いで機器を購入している場合があり、帯域幅またはバックエンドネットワークのコストのみが請求される場合がある。他の場合には、顧客は、前払い費用を負担しない場合があり、純粋に使用に基づいて請求される場合がある。ユーティリティコンピューティングモデルに基づいて機器が顧客に提供されるので、クラウドサービスプロバイダは、不必要なハードウェアのオーバプロビジョニングを回避しながら、顧客の目標パフォーマンスメトリックを満たすために、機器の最適な構成を選択できる。
【0104】
無線ユニット構成データ457は、無線式ネットワーク103にデプロイされる無線ユニットの構成設定に対応し得る。このような設定には、使用すべき周波数、使用すべきプロトコル、変調パラメータ、帯域幅、ネットワークルーティング及び/またはバックホール構成などが含まれる場合がある。
【0105】
アンテナ構成データ460は、使用すべき周波数、方位角、垂直配向または水平配向、ビーム傾斜、及び/または(たとえば、アンテナ上のネットワーク接続されたモータ及び制御装置によって)自動的に制御され得る他のパラメータ、またはユーザに特定の方法でアンテナを取り付けるか、もしくはアンテナに物理的な変更を加えるように指示することによって手動で制御され得る他のパラメータを含む、アンテナの構成設定に対応し得る。
【0106】
ネットワーク機能構成データ463は、無線式ネットワーク103の様々なネットワーク機能316(
図3B~3C及び3E)の動作を構成する構成設定に対応する。様々な実施形態において、ネットワーク機能316は、セルサイト、顧客アグリゲーションサイト、または顧客から遠隔に位置するデータセンタにあるコンピューティングデバイス418に位置するVMインスタンスにデプロイされ得る。ネットワーク機能の非限定的な例としては、アクセスと移動管理機能(AMF)、セッション管理機能(SMF)、ユーザプレーン機能(UPF)、ポリシ制御機能、認証サーバ機能、統合データ管理機能、アプリケーション機能、ネットワーク公開機能、ネットワーク機能リポジトリ、ネットワークスライス選択機能、及び/またはその他が挙げられ得る。ネットワーク機能構成データ463は、様々な実施態様では、ネットワーク機能316内でビルトインカスタマイズを有効または無効にし、特定のバージョンをネットワーク機能316の複数のカスタマイズされたバージョンから受信し、顧客により提供されたプラグインを有効にし、ネットワーク機能316から顧客により運営されるサービス328(
図3E)へのネットワークトラフィックの再方向付けるなどを可能にする、構成パラメータを含み得る。ネットワーク機能構成データ463は、暗号キー、コーデック、侵入検知ルールセット、トラフィックシェーピングルールセット、ネットワークアドレス割り当てルールセット、侵入防止ルールセット、及び認証ルールセットなど、ネットワーク機能316内のカスタマイズされた処理において使用される。
【0107】
ネットワーク機能ワークロード466は、1つ以上のネットワーク機能316を実行するため、割り振られたコンピューティング容量421内で起動されることになるマシンイメージ、コンテナ、または機能に対応する。ネットワーク機能ワークロード466は、プラガブルアーキテクチャ(
図3B及び3E)をサポートするネットワーク機能316と、カスタマイズ機能を実行するように有効にされたカスタマイズ322(
図3C)及び/または有効にされていないカスタマイズ323(
図3C)を含むネットワーク機能316と、カスタマイズされた機能を実行するカスタマイズされたネットワーク機能バージョン325(
図3D)と、を含み得る。
【0108】
顧客ワークロード469は、割り振られたコンピューティング容量421内のネットワーク機能ワークロード466と並行に、またはその代わりに、実行され得る顧客のマシンイメージ、コンテナ、または機能に対応する。たとえば、顧客ワークロード469は、顧客アプリケーションまたはサービスを提供しまたはサポートし得る。
【0109】
顧客提供ネットワーク機能カスタマイズ471は、機能性をネットワーク機能316に提供するために、顧客または第三者によってデプロイされ、コンピューティング環境403にアップロードされたプラグインに対応し得る。ストックネットワーク機能カスタマイズ472は、ネットワーク機能316によって提供される機能性をカスタマイズする際に使用するための、クラウドサービスプロバイダまたは承認された第三者によって供給されるプラグインまたは異なるカスタマイズされたネットワーク機能バージョン325に対応し得る。
【0110】
セキュリティパラメータ473は、問題のあるコードを認識し、またはリソースへの信用できないネットワーク機能カスタマイズのアクセスを制限するために、セキュリティ分析サービス427及び/またはサンドボックス化環境430を構成するパラメータに対応し得る。たとえば、セキュリティパラメータ473は、プロセッサ時間制限、メモリ消費制限、データストレージ制限、許可されていないシステムコール、許可されていないサービス呼び出し、マルウェア定義、及び/または他のパラメータを含み得る。
【0111】
クライアントデバイス406は、ネットワーク412に結合され得る複数のクライアントデバイス406を表す。クライアントデバイス406は、たとえば、コンピュータシステムなどのプロセッサベースのシステムを含み得る。係るコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、携帯電話、スマートフォン、セットトップボックス、音楽プレーヤ、ウェブパッド、タブレットコンピュータシステム、ゲーム機、電子書籍リーダ、スマートウォッチ、ヘッドマウントディスプレイ、音声インターフェースデバイス、または他のデバイスの形で具体化されてよい。クライアントデバイス406は、たとえば、液晶ディスプレイ(LCD)、ガスプラズマベースのフラットパネルディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電子インク(Eインク)ディスプレイ、LCDプロジェクタ、または他の種類の表示装置などの1つ以上のデバイスを備えるディスプレイを含み得る。
【0112】
クライアントデバイス406は、クライアントアプリケーション436及び/または他のアプリケーション等の種々のアプリケーションを実行するよう構成されてもよい。クライアントアプリケーション436をクライアントデバイス406内で実行し、たとえば、コンピューティング環境403及び/または他のサーバによって提供されるネットワークコンテンツにアクセスすることによって、ディスプレイ上のユーザインターフェースをレンダリングすることができる。この目的のために、クライアントアプリケーション436は、たとえば、ブラウザ、専用アプリケーションなどを備えてもよく、ユーザインターフェースは、ネットワークページ、アプリケーション画面などを備えてもよい。クライアントデバイス406は、クライアントアプリケーション436に加えて、たとえば、eメールアプリケーション、ソーシャルネットワーキングアプリケーション、ワードプロセッサ、スプレッドシート、及び/または他のアプリケーション等のアプリケーションを実行するよう構成されてもよい。
【0113】
次に
図5を参照すると、様々な実施形態によるネットワーク機能カスタマイズサービス424の一部の動作の一例を提示するフローチャートが示される。
図5のフローチャートが本明細書に記載のネットワーク機能カスタマイズサービス424の一部の動作を実装するために用いられ得る、多くの異なるタイプの機能性配置の単なる例を提供することが理解される。代替形態として、
図5のフローチャートは、1つ以上の実施形態による、コンピューティング環境403(
図4)内に実装された方法の要素の例を示していると見なされ得る。
【0114】
ボックス503から始まり、ネットワーク機能カスタマイズサービス424は、顧客の代わりに無線式ネットワーク103(
図4)のためにデータ処理ネットワーク機能316(
図4)を動作させる。そのようなネットワーク機能316は、AMF、SMF、UPF、または別のタイプのネットワーク機能316に対応し得る。ネットワーク機能316は、クラウドプロバイダネットワーク203(
図2A)のリージョナルデータセンタ309(
図3A)内で、または、潜在的にエッジロケーション303(
図3A)においてクラウドプロバイダネットワーク203のプロバイダサブストレートエクステンション224(
図2A)内でクラウドサービスプロバイダによって動作され得る。ネットワーク機能316は、無線式ネットワークによって利用される標準(たとえば、3GPP 5G標準)内で概要が示される機能性に従って、従来の処理を行い得る。
【0115】
ボックス506では、ネットワーク機能カスタマイズサービス424は、無線式ネットワーク103に対する構成アクセスのために、クライアントデバイス406(
図2A)において顧客ユーザを認証する。たとえば、顧客ユーザは、ユーザ名、パスワード、ワンタイムコード、セキュリティトークン、及び/または他の認証情報を提供することが必要とされ得る。そのような認証情報は、ウェブベースの形式、アプリケーションユーザインターフェースを介して、またはAPIを介して、クライアントアプリケーション436(
図4)使用して提供され得る。
【0116】
ボックス509では、ネットワーク機能カスタマイズサービス424は、カスタマイズされた機能を行うようにデータ処理ネットワーク機能316を構成するための入力データを顧客から受信する。入力データは、APIまたはユーザインターフェースを通じて提供され得る。第1の例では、顧客ユーザは、ユーザインターフェースを介して、1つ以上のカスタマイズされた機能プラグイン319(
図3B)をアップロードし、1つ以上のカスタマイズされた機能プラグイン319は、顧客によって、または第三者によって開発され得る。顧客ユーザはまた、クラウドサービスプロバイダまたは第三者によって開発され、顧客の使用のために利用可能にされた1つ以上のカスタマイズされた機能プラグイン319から選択し得る。
【0117】
第2の例では、顧客ユーザは、有効にされたカスタマイズ322(
図3C)になるカスタマイズの選択及び/または有効にされないカスタマイズ323(
図3C)になるカスタマイズの選択に対応する入力データをアップロードし、カスタマイズは、ネットワーク機能316と統合され、顧客入力によって供給されるパラメータに基づいて有効または無効にされる。たとえば、顧客ユーザは、カスタマイズを選択または選択解除するように、ユーザインターフェース上で1つ以上のチェックボックスを選択し得る。相互に排他的なカスタマイズのために、ユーザインターフェースは、相互に排他的なカスタマイズの1つのみが選択されることを保証するためにワイヤレスボタンを使用し得る。
【0118】
第3の例では、顧客は、標準ネットワーク機能316の代わりに有効にされることになる複数のカスタマイズされたネットワーク機能バージョン325(
図3D)の中から特定のバージョンを選択し得る。第4の例では、顧客は、カスタマイズされた機能性を実行する顧客により運営されるサービス328(
図3E)と通信するように、ネットワーク機能316のための構成パラメータを規定し得る。そのようなパラメータは、ネットワークアドレス、ポート、回送されることになるネットワークトラフィックのタイプ、ネットワークトラフィックの全体未満である場合のネットワークトラフィックの割合または一部などを含み得る。
【0119】
加えて、顧客からの入力データは、コーデック、暗号化キー、ルールセット、及び/または、カスタマイズされたネットワーク機能バージョン325、カスタマイズされた機能プラグイン319、もしくは有効にされたカスタマイズ322であるかどうかに関わらず、カスタマイズされた処理が行われることの可能にする他のデータを含み得る。入力データは、複数のステージが存在する場合、ネットワーク機能316内のどのステージにおいてカスタマイズされた処理が発生するべきかを規定し得る。一部のケースでは、入力データは、ユニフォームリソースロケータ(URL)またはリンクを含み得、それによって、ネットワーク機能カスタマイズサービス424は、カスタマイズされた機能プラグイン319または他の構成データをダウンロードすることができる。顧客ユーザも、電子メール、テキストメッセージ、または別の形式の通信によって、カスタマイズされた機能プラグイン319または構成データをサブミットし得る。
【0120】
ボックス512では、ネットワーク機能カスタマイズサービス424は、入力データにおいて提供されるいずれかの信用できないコードに対してセキュリティ分析を行うように、セキュリティ分析サービス427(
図4)を起動する。このセキュリティ分析は、セキュリティパラメータ473(
図4)によって制御され得、ソースコードまたはバイナリコードが可能性のあるセキュリティ問題のためにスキャンされる静的分析、及び/またはそれによってセキュリティ問題を示すかどうかを判定するようにコードが実行される動的分析を含み得る。一部のシナリオでは、コードは、前に検査されたコード(たとえば、第三者によって開発され、使用のためにクラウドサービスプロバイダによって既に承認されたプラグイン)に対応する。そのようなケースでは、セキュリティ分析サービス427は、それが既に検査され、使用のために承認されたことを判定するように、コードのチェックサムまたは署名を検証し得る。
【0121】
ボックス515では、ネットワーク機能カスタマイズサービス424は、データ処理ネットワーク機能316が無線式ネットワーク103内で実行されるとき、カスタマイズされた機能を行うようにデータ処理ネットワーク機能316を構成する。構成は、顧客ユーザから受信された入力データに応答して行われる。第1の例では、これは、カスタマイズされた機能プラグイン319をインスタンス化することと、ネットワークトラフィックをカスタマイズされた機能プラグイン319にルーティングするようにネットワーク機能316を構成することとを含み得る。カスタマイズされた機能プラグイン319は、コンピューティング環境403の1つ以上のコンピューティングリソースへのアクセスを制限するために、サンドボックス化環境430(
図4)内で実行されるように構成され得る。第2の例では、これは、ネットワーク機能316内でカスタマイズを有効することまたは無効にすることを含み得る。第3の例では、これは、異なるカスタマイズされたネットワーク機能バージョン325によりネットワーク機能316をスワップアウトすることを含み得る。第4の例では、これは、ネットワークトラフィックを顧客により運営されるサービス328にリダイレクトするようにネットワーク機能316を構成することを伴い得る。
【0122】
カスタマイズされた機能は、ネットワーク機能316を規定する標準内で規定されていないことがある。1つのシナリオでは、ネットワーク機能316は、UPFであり、カスタマイズされた機能は、暗号化機能、復号機能、ロギング機能、トラフィックシェーピング機能、サービス品質修正機能、侵入検知機能、圧縮機能、圧縮解除機能、または侵入防止機能のうちの1つ以上に対応する。カスタマイズされた機能は、パケットを検査するために備えられていない標準ネットワーク機能316を通じてパケットペイロードを検査するために、ディープパケットインスペクションを使用し得る。
【0123】
別のシナリオでは、ネットワーク機能316は、AMFであり、カスタマイズされた機能は、認証機能に対応する。すなわち、カスタマイズされたAMFは、異なるタイプのセキュリティ認証情報または複数の認証因子(たとえば、生体、所持、及び知識)を必要とするなど、顧客により定義された方法において認証を行い得る。AMFも、構成可能アドミッション制御を提供するようにカスタマイズされ得る。たとえば、スタジアムまたはコンベンションセンタにサービス供給する無線式ネットワーク103は、サービス品質を保証するために、ワイヤレスデバイス106の数に対する特定の制限により設計され得る。AMFは、追加のワイヤレスデバイス106が接続するのを制限及び防止することを施行するようにカスタマイズされ得るが、AMFは、制限にも関わらず、第1のレスポンダのワイヤレスデバイス106及び/またはセキュリティ人員が無線式ネットワーク103に接続することを優先付けまたは可能にするようにもカスタマイズされ得る。
【0124】
別のシナリオでは、ネットワーク機能316は、SMFであり、カスタマイズされた機能は、無線式ネットワーク103内でネットワークアドレスをユーザ機器に割り当てるための機能に対応する。たとえば、SMFは、インターネットプロトコル(IP)アドレスが割り振り内でどのように再使用されるかを制御するように、顧客によって構成され得る。SMFはまた、ワイヤレスデバイス106を異なるUPFに割り当てるためのルールによりカスタマイズされ得る。一例では、小さいディスプレイ(たとえば、スマートウォッチまたはスマートフォン)を有するワイヤレスデバイス106は、小さいディスプレイのためのビデオを最適化するようにビデオデータのトランスコーディングを行うカスタマイズされたUPFに割り当てられ得ると共に、より大きなディスプレイ(たとえば、タブレット)を有するワイヤレスデバイスは、トランスコーディングを実装するようにカスタマイズされていない標準UPFに割り当てられ得る。別の例では、ユーザの第1のグループと関連付けられたワイヤレスデバイス106は、ロギングを行うようにカスタマイズされたUPFに割り当てられ得ると共に、ユーザの第2のグループと関連付けられたワイヤレスデバイス106は、ロギングを行わないUPFに割り当てられ得る。
【0125】
一部のケースでは、カスタマイズを実装するプラグインまたは他のコードは、コンピューティング環境403内でプロビジョニングされる特定のハードウェア上で実行される必要があり得る。たとえば、コードは、グラフィックプロセシングユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定のタイプのプロセッサ(たとえば、ARMもしくはx86)、または他のハードウェアを必要とし得る。
【0126】
一部の実施態様では、ネットワーク機能316を構成する際に、ネットワーク機能カスタマイズサービス424は、更新された構成により前のネットワーク機能316と並んで稼働する並列ネットワーク機能316をセットアップし得、ネットワークトラフィックを並列ネットワーク機能316にリダイレクトすることを開始し得、その結果、既存のネットワークフローは、構成変化によっては中断されない。そのようなケースでは、問題がカスタマイズにおいて検出される場合、ネットワークトラフィックは、前のネットワーク機能316にリダイレクトされることができる。カスタマイズされたネットワーク機能316のテストに成功した後、前のネットワーク機能316の動作が中止され得る。その後、ネットワーク機能カスタマイズサービス424の一部の動作が終了する。
【0127】
図6に移ると、様々な実施形態によるネットワーク機能316の一部の動作の一例を提示するフローチャートが示される。
図6のフローチャートは、本明細書に記載のネットワーク機能316の一部の動作を実装するために用いられ得る、多くの異なるタイプの機能性配置の単なる例を提供することが理解される。代替形態として、
図6のフローチャートは、1つ以上の実施形態による、コンピューティング環境403(
図4)内に実装された方法の要素の例を示していると見なされ得る。
【0128】
ボックス603から始まり、ネットワーク機能316は、ネットワークトラフィックを受信し、ネットワークトラフィックは、1つ以上のワイヤレスデバイス106(
図1A)に向けられたインバウンドネットワーク、または1つ以上のワイヤレスデバイス106からネットワーク121(
図1A)へのアウトバウンドネットワークトラフィックであり得る。
【0129】
ボックス606では、ネットワーク機能316は次いで、ネットワークトラフィックに対して処理を行い、処理は、たとえば、QoS処理、計測、及び/または標準に従ってネットワーク機能316内で慣習的に行われるような他のタイプの処理を含むことができる。
【0130】
ボックス609では、ネットワーク機能316は、ネットワークトラフィックに対して、標準によっては定義されていない、顧客により定義された任意の処理などのカスタム処理を行わせる。これは、プラグインによって、統合されカスタマイズされた処理ロジックによって、及び/またはネットワークトラフィックを顧客により運営されるサービス328(
図3E)にルーティングすることによって、ネットワークトラフィックを処理することを伴い得る。
【0131】
ボックス612では、ネットワーク機能316は、ネットワーク121に向かって、または1つ以上のワイヤレスデバイス106になど、次の宛先にネットワークトラフィックを回送する。一部のケースでは、回送されるネットワークトラフィックは、ネットワーク機能316によって受信される、または最初に処理されるのと同一であり得る。他のケースでは、回送されるネットワークトラフィックは、顧客により運営されるサービス328、カスタマイズされた機能プラグイン319、またはネットワーク機能316の他のカスタマイズされた処理ロジックによって生成された、修正もしくは処理されたネットワークトラフィックであり得る。
図6は、ネットワーク機能316の標準処理の後に発生するとしてカスタマイズされた処理を表すが、カスタマイズされた処理は、他のケースでは、ネットワーク機能316内の処理の他のステージにおいて発生し得る。その後、ネットワーク機能316の動作の一部が終了する。
【0132】
図7を参照すると、本開示の実施形態による、コンピューティング環境403の概略ブロック図が示されている。コンピューティング環境403は、1つ以上のコンピューティングデバイス700を含む。各コンピューティングデバイス700は、たとえば、プロセッサ703及びメモリ706を有する少なくとも1つのプロセッサ回路を含み、それら両方が、ローカルインターフェース709に結合される。このために、各コンピューティングデバイス700は、たとえば、少なくとも1つのサーバコンピュータまたは同様のデバイスを備え得る。ローカルインターフェース709は、理解できるとおり、たとえば、付随するアドレス/制御バスを含むデータバスまたは他のバス構造を含み得る。
【0133】
メモリ706に格納されるのは、データと、プロセッサ703によって実行可能ないくつかのコンポーネントとの両方である。具体的には、メモリ706に格納され、プロセッサ703によって実行可能であるのは、ネットワーク機能316、ネットワーク機能カスタマイズサービス424、セキュリティ分析サービス427、サンドボックス化環境430、及び潜在的に他のアプリケーションである。また、メモリ706に格納されるのは、データストア415及び他のデータであってもよい。加えて、オペレーティングシステムは、メモリ706に格納され、かつプロセッサ703により実行可能であり得る。加えて、オペレーティングシステムは、メモリ706に格納され得、プロセッサ703により実行され得る。
【0134】
理解できるとおり、メモリ706に格納され、かつプロセッサ703により実行可能である他のアプリケーションが存在してもよいことが理解される。本明細書に説明される任意の構成要素が、ソフトウェアの形態で実装される場合、たとえばC、C++、C#、ObjectiveC、Java(登録商標)、JavaScript(登録商標)、Perl、PHP、Visual Basic(登録商標)、Python(登録商標)、Ruby、Flash(登録商標)、または他のプログラミング言語等のいくつかのプログラミング言語のうちの任意の1つを採用し得る。
【0135】
いくつかのソフトウェア構成要素が、メモリ706に格納され、プロセッサ703によって実行可能である。この点において、「実行可能」という用語は、プロセッサ703により最終的に起動可能である形式のプログラムファイルを意味する。実行可能なプログラムの例として、たとえば、メモリ706のランダムアクセス部分にロード可能であり、かつプロセッサ703により起動可能なフォーマットで機械コードに変換可能なコンパイルされたプログラム、メモリ706のランダムアクセス部分にロード可能であり、かつプロセッサ703により起動可能なオブジェクトコード等の適切なフォーマットで表現され得るソースコード、またはプロセッサ703により実行されるようにメモリ706のランダムアクセス部分で命令を生成する別の実行可能なプログラムにより解釈され得るソースコード等が挙げられ得る。実行可能なプログラムは、たとえば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカード、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)等の光ディスク、フロッピーディスク、磁気テープ、または他のメモリ構成要素を含むメモリ706の任意の部分または構成要素に格納され得る。
【0136】
メモリ706は、揮発性メモリと不揮発性メモリとの両方及びデータストレージ構成要素を含むものとして本明細書に定義される。揮発性構成要素は、電源喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源喪失時にデータを保持するものである。したがって、メモリ706は、たとえば、ランダムアクセスアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダを介してアクセスされるメモリカード、関連するフロッピーディスクドライブを介してアクセスされるフロッピーディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ、及び/または他のメモリ構成要素、あるいはこれらのメモリ構成要素のうちの任意の2つ以上の組み合わせを含み得る。加えて、RAMは、たとえば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)、及び他のこのようなデバイスを含み得る。ROMは、たとえば、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または他の同様のメモリデバイスを含み得る。
【0137】
また、プロセッサ703は、複数のプロセッサ703及び/または複数のプロセッサコアを表し得、メモリ706は、それぞれ並列処理回路で動作する複数のメモリ706を表し得る。このような場合、ローカルインターフェース709は、多数のプロセッサ703のうちの任意の2つの間、任意のプロセッサ703とメモリ706のうちのいずれかとの間、またはメモリ706のうちの任意の2つの間等の通信を容易にする適切なネットワークであり得る。ローカルインターフェース709は、たとえば、ロードバランシングの実施を含むこの通信を調整するように設計される追加のシステムを備えてもよい。プロセッサ703は、電気的構造またはいくつかの他の利用可能な構造を有してもよい。
【0138】
本明細書に記載の、ネットワーク機能316、ネットワーク機能カスタマイズサービス424、セキュリティ分析サービス427、サンドボックス化環境430、及び他の種々のシステムは、上述のように、汎用ハードウェアにより実行されるソフトウェアまたはコードで具体化され得るが、代替として、同様のものが専用ハードウェアまたはソフトウェア/汎用ハードウェアと専用ハードウェアとの組み合わせで具体化されてもよい。専用ハードウェアで具体化される場合、各々は、多数の技術のうちの任意の1つまたはその組み合わせを用いる回路または状態機械として実装されることができる。これらの技術は、1つ以上のデータ信号の印可時に種々の論理機能を実装するために論理ゲートを有する離散論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の構成要素等を含んでもよいが、これらに限定されない。このような技術は、概して、当業者により周知であることから、本明細書に詳細に記載しない。
【0139】
図5及び
図6のフローチャートは、ネットワーク機能316及びネットワーク機能カスタマイズサービス424の一部の実装の機能及び動作を示す。ソフトウェアで具体化される場合、各ブロックは、特定の論理機能(複数可)を実装するために、プログラム命令を含むコードのモジュール、セグメント、または一部分を表し得る。プログラム命令は、プログラミング言語で書かれる人間が読める命令文を含むソースコード、またはコンピュータシステムまたは他のシステム内のプロセッサ703等の適切な実行システムにより認識可能な数値命令を含む機械コードの形式で具体化されてもよい。機械コードは、ソースコード等から変換されてもよい。ハードウェアで具体化する場合、各ブロックは、特定の論理機能(複数可)を実装するために、回路または多数の相互接続された回路を表し得る。
【0140】
図5及び
図6のフローチャートは、具体的な実行順序を示すが、実行順序が図示する順序と異なってもよいことが理解される。たとえば、2つ以上のブロックの実行順序は、図示する順序を入れ替えてもよい。また、
図5及び
図6に連続して示される2つ以上のブロックは、同時に、または一部同時に実行し得る。さらに、いくつかの実施形態では、
図5及び
図6に示される1つ以上のブロックは、飛ばされるまたは省かれる場合もある。加えて、有用性の向上、説明、性能測定、または問題解決の手掛かりの提供等の目的で、任意の数のカウンタ、状態変数、警告セマフォ、またはメッセージを、本明細書に記載する論理フローに加えてもよい。全てのこのような変形が、本開示の範囲内にあることが理解される。
【0141】
また、ソフトウェアまたはコードを備える、ネットワーク機能316、ネットワーク機能カスタマイズサービス424、セキュリティ分析サービス427、及びサンドボックス化環境430を含む、本明細書に記載の任意の論理またはアプリケーションは、たとえば、コンピュータシステムまたは他のシステム内のプロセッサ703等の命令実行システムが使用する、またはそれに関連して使用する、任意の非一時的なコンピュータ可読媒体で具体化されることができる。この意味では、論理は、たとえば、コンピュータ可読媒体から取得可能であり、かつ命令実行システムにより実行可能な命令及び宣言を含む命令文を含み得る。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムが使用する、またはそれに関連して使用する、本明細書に記載の論理またはアプリケーションを包含、格納、または保持することができる任意の媒体であることができる。
【0142】
コンピュータ可読媒体は、たとえば、磁気、光学、または半導体媒体等の多数の物理媒体のうちの任意の1つを含むことができる。適切なコンピュータ可読媒体のより具体的な例として、磁気テープ、磁気フロッピーディスク、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、USBフラッシュドライブ、または光ディスクが挙げられるだろうが、これらに限定されない。また、コンピュータ可読媒体は、たとえば、スタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)を含むランダムアクセスメモリ(RAM)であってもよい。加えて、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または他の種類のメモリデバイスであってもよい。
【0143】
さらに、ネットワーク機能316、ネットワーク機能カスタマイズサービス424、セキュリティ分析サービス427、及びサンドボックス化環境430を含む、本明細書で説明される任意の論理またはアプリケーションは、様々な形で実装し、構造化することができる。たとえば、説明される1つ以上のアプリケーションは、単一のアプリケーションのモジュールまたは構成要素として実装され得る。さらに、本明細書に説明される1つ以上のアプリケーションは、共有されたコンピューティングデバイスもしくは別々のコンピューティングデバイス、またはそれらの組み合わせで実行され得る。たとえば、本明細書に説明される複数のアプリケーションは、同じコンピューティングデバイス700で、または同じコンピューティング環境403の複数のコンピューティングデバイス700で実行され得る。
【0144】
特に明記しない限り、句「X、YまたはZのうちの少なくとも1つ」などの選言的な言葉は、そうでなければ項目、用語等がX、YもしくはZのいずれか、またはその任意の組み合わせ(たとえば、X、Y及び/またはZ)であってよいことを示すために一般的に用いられるとして文脈の中で理解される。ゆえに、このような選言的言語は、特定の実施形態がXの少なくとも1つ、Yの少なくとも1つ、またはZの少なくとも1つがそれぞれ存在することを必要とすることを黙示することを一般的に意図しておらず、意図するべきではない。
【0145】
本開示の実施形態は、以下の条項うちの1つ以上によって説明することができる。
【0146】
条項1.顧客のためにクラウドサービスプロバイダによって動作される無線式ネットワークと、前記無線式ネットワークによって実装される標準に従って、前記無線式ネットワーク内でデータを処理する前記無線式ネットワーク内のデータ処理ネットワーク機能と、前記クラウドサービスプロバイダによって動作されるクラウドプロバイダネットワークの少なくとも1つのコンピューティングデバイスを、を備え、前記少なくとも1つのコンピューティングデバイスは、少なくとも、アプリケーションプログラミングインターフェース(API)またはユーザインターフェースを通じて、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信し、前記カスタマイズされた機能は、前記標準によって規定されておらず、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成する、ように構成されている、システム。
【0147】
条項2.前記データ処理ネットワーク機能は、前記クラウドプロバイダネットワークのエッジロケーションにおいてプロバイダサブストレートエクステンション内で実行される、条項1に記載のシステム。
【0148】
条項3.前記データ処理ネットワーク機能は、前記クラウドプロバイダネットワークのリージョナルデータセンタ内で実行される、条項1に記載のシステム。
【0149】
条項4.前記データ処理ネットワーク機能は、複数のステージを含み、前記入力データは、前記カスタマイズされた機能が行われることになる前記複数のステージの1つを規定する、条項1~3のいずれか一項に記載のシステム。
【0150】
条項5.前記入力データは、顧客により提供されるコードを含み、前記少なくとも1つのコンピューティングデバイスは、前記顧客により提供されるコードに対してセキュリティ分析を行うようにさらに構成されている、条項1~4のいずれか一項に記載のシステム。
【0151】
条項6.前記データ処理ネットワーク機能は、セッション管理機能(SMF)を含み、前記カスタマイズされた機能は、前記無線式ネットワーク内でネットワークアドレスをユーザ機器に割り当てる機能、またはユーザ機器を複数のユーザプレーン機能(UPF)の1つに割り当てる機能のうちの少なくとも1つに対応する、条項1~5のいずれか一項に記載のシステム。
【0152】
条項7.前記データ処理ネットワーク機能は、ユーザプレーン機能(UPF)を含み、前記カスタマイズされた機能は、暗号化機能、復号機能、ロギング機能、トラフィックシェーピング機能、サービス品質修正機能、侵入検知機能、圧縮機能、圧縮解除機能、または侵入防止機能のうちの少なくとも1つに対応する、条項1~6のいずれか一項に記載のシステム。
【0153】
条項8.前記データ処理ネットワーク機能は、アクセスと移動管理機能(AMF)を含み、前記カスタマイズされた機能は、認証機能またはアドミッション制御機能のうちの少なくとも1つに対応する、条項1~7のいずれか一項に記載のシステム。
【0154】
条項9.少なくとも1つのコンピューティングデバイスによって、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、前記少なくとも1つのコンピューティングデバイスによって、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するための入力データを前記顧客から受信することと、前記少なくとも1つのコンピューティングデバイスによって、前記入力データに応答して、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、を含む、コンピュータにより実施される方法。
【0155】
条項10.前記データ処理ネットワーク機能は、標準によって規定され、前記カスタマイズされた機能は、前記標準によっては規定されていない、条項9に記載のコンピュータにより実施される方法。
【0156】
条項11.前記データ処理ネットワーク機能は、ユーザプレーン機能(UPF)、アクセスと移動管理機能(AMF)、またはセッション管理機能(SMF)のうちの少なくとも1つを含む、条項9~10のいずれか一項に記載のコンピュータにより実施される方法。
【0157】
条項12.前記入力データは、前記カスタマイズされた機能を行うサービスにデータを提供するための、前記データ処理ネットワーク機能のための構成パラメータを含み、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記少なくとも1つのコンピューティングデバイスによって、前記データを前記サービスに送信するように前記データ処理ネットワーク機能を構成することをさらに含む、条項9~11のいずれか一項に記載のコンピュータにより実施される方法。
【0158】
条項13.前記入力データは、カスタマイズされた機能を行うための、前記データ処理ネットワーク機能のための構成パラメータを含み、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記少なくとも1つのコンピューティングデバイスによって、前記構成パラメータに少なくとも部分的に基づいて、前記データ処理ネットワーク機能内で前記カスタマイズされた機能を有効にすることをさらに含む、条項9~12のいずれか一項に記載のコンピュータにより実施される方法。
【0159】
条項14.前記入力データは、カスタマイズされた機能を行うための、前記データ処理ネットワーク機能のためのプラグインを含み、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することをさらに含む、条項9~13のいずれか一項に記載のコンピュータにより実施される方法。
【0160】
条項15.前記少なくとも1つのコンピューティングデバイスによって、前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成する前に、前記プラグインに対してセキュリティ分析を行うことをさらに含む、条項14に記載のコンピュータにより実施される方法。
【0161】
条項16.前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記少なくとも1つのコンピューティングデバイスによって、少なくとも1つのコンピューティングリソースへの前記プラグインのアクセスを制限するサンドボックス化環境内で前記プラグインを実行するように前記データ処理ネットワーク機能を構成することをさらに含む、条項14~15のいずれか一項に記載のコンピュータにより実施される方法。
【0162】
条項17.前記入力データは、前記データ処理ネットワーク機能の複数のカスタマイズされたバージョンの1つの選択を示し、前記無線式ネットワーク内で実行されるとき、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することは、前記データ処理ネットワーク機能の前記複数のカスタマイズされたバージョンの前記1つを使用するように前記無線式ネットワークを構成することをさらに含む、条項9~16のいずれか一項に記載のコンピュータにより実施される方法。
【0163】
条項18.少なくとも1つのコンピューティングデバイス内で実行される命令を具体化した非一時的コンピュータ可読媒体であって、実行されるとき、前記命令は、前記少なくとも1つのコンピューティングデバイスに、少なくとも、顧客のために無線式ネットワーク内でデータ処理ネットワーク機能を動作させることと、前記無線式ネットワークのためのカスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成するためのプラグインを前記顧客から受信することと、静的分析または動的分析のうちの少なくとも1つを使用して、プラグインに対してセキュリティ分析を行うことと、前記無線式ネットワーク内で実行されるとき、前記プラグインを実行して、前記カスタマイズされた機能を行うように前記データ処理ネットワーク機能を構成することと、を行わせる、非一時的コンピュータ可読媒体。
【0164】
条項19.前記データ処理ネットワーク機能は、処理のためにネットワークトラフィックを前記無線式ネットワーク内の複数のクライアントデバイスにまたは複数のクライアントデバイスから提供する、条項18に記載の非一時的コンピュータ可読媒体。
【0165】
条項20.実行されるとき、前記命令は、前記少なくとも1つのコンピューティングデバイスに、少なくとも1つのコンピューティングリソースへの前記プラグインのアクセスを制限するサンドボックス化環境内で前記プラグインを実行することを少なくとも行わせる、条項18~19のいずれか一項に記載の非一時的コンピュータ可読媒体。
【0166】
本開示の上述の実施形態が、本開示の原理を明確に理解するために記述される実装の単なる可能な例であることを強調されたい。本開示の趣旨及び原理から実質的に逸脱することなく、多くの変形及び修正を上述の実施形態(複数可)に加えてもよい。このような全ての修正及び変形は、本開示の範囲内で本明細書に含まれ、以下の特許請求の範囲によって保護されることを意図している。