本開示は、無線アクセスネットワーク(RAN)及びそれに関連するコアネットワークを含む、4G及び5G無線式ネットワーク、またはそのような無線式ネットワークの一部などの無線式ネットワークにおけるオンデマンドのアプリケーション駆動型ネットワークスライシングに関する。具体的には、ネットワーク機能とそれらが実行されるインフラストラクチャとを制御することにより、開示された無線ネットワーク管理サービスにより、アプリケーションがネットワークを効果的にプログラムできるようになる。アプリケーションは、アプリケーションプログラミングインターフェース(API)を介して、必要なサービス品質(QoS)パラメータのセットを選択することができ、サービスは、セッション期間にQoSサービスレベル合意(SLA)が確実に満たされるように、ネットワーク機能をオーケストレートし、無線からインスタンスまで必要なリソースを予約する。これまでの無線式ネットワークのデプロイは、プロセスの各ステップでの手動によるデプロイ及び構成に依存していた。これには、非常に多大な時間と費用とを必要とすることが判明した。さらに、前世代では、ソフトウェアは本質的にベンダ独自のハードウェアに縛られていて、顧客が代替ソフトウェアをデプロイするのを阻んでいた。対照的に、5Gでは、ハードウェアがソフトウェアスタックから切り離されるため、柔軟性が高まり、無線式ネットワークのコンポーネントをクラウドプロバイダのインフラストラクチャ上で実行できるようになる。ネットワーク機能を特定のハードウェアから切り離すことにより、無線式ネットワークとそれに関連するコアネットワークとは、より簡単に構成可能になり、動的に再構成可能になる。5Gネットワークなどの無線式ネットワークにクラウド配信モデルを使用すると、他のタイプのネットワークよりも高速、低遅延、及び大容量で配信しながらも、数百から数十億の接続デバイスや計算集約型アプリケーションからのネットワークトラフィックを処理することが容易になり得る。
通信ネットワークでは、限られたリソースの共有が長い間問題となっている。回線交換ネットワークは、専用の帯域幅と信頼性とを提供するが、高価で非効率的であった。その結果、回線交換ネットワークは、リソース共有に関してより柔軟なインターネットプロトコル(IP)ベースのネットワークなどのパケット交換ネットワークに大部分が置き換えられている。ただし、パケットベースのネットワークは、一般に「ベストエフォート型」のネットワークであり、データパケットが送信されたときに、それが実際に宛先に配信されることを保証しない。このことは、Webブラウジングまたは電子メールなどの多くのネットワークアプリケーションでは許容される場合があるが、最小限の帯域幅もしくは遅延を必要とし、または適切に動作し得る、ビデオ会議またはセンサなど、他のネットワークアプリケーションでは許容されない場合がある。
本開示の様々な実施形態は、顧客及びそのアプリケーションに対するサービス品質を保証するために、無線式ネットワーク及びそれに関連するコアネットワークなどのネットワークのオンデマンドスライシングを実装する。いくつかの実施形態では、クライアントデバイス上のアプリケーションは、サービスAPIを介してオンデマンドでネットワークスライス割り振りを要求することができる。例えば、ビデオ会議アプリケーションのユーザは、ビデオ会議を最高の優先順位に指定することで、アプリケーションがビデオ会議に十分な高優先度のネットワークスライスを要求するようになり、その結果、ビデオ会議が不具合によって中断されることまたは影響を受けることがなくなる。各アプリケーションが個々のセッションごとにオンデマンドネットワークスライスを要求できるようにすることで、顧客が重要な接続(例えば、機械制御、重要な会議やイベント)に対してはより高いサービス品質(QoS)を指定し、他のそれほど重要ではない接続に対してより低いQoSを指定できるユースケースが可能になる。
いくつかの実施形態では、ネットワークスライス割り振りサービスは、ネットワーク機能専用のネットワーク内のリソースを自動的にスケール変更することを含む、ネットワーク内の割り振りを管理する。また、ネットワークスライス割り振りサービスは、ネットワークスライスのサービス品質要件を満たすために必要に応じて、ネットワーク機能のワークロードをネットワークトポロジ内のあるロケーションから別のロケーションに移行して、ネットワーク機能の遅延を短縮する場合がある。逆に、ネットワークスライス割り振りサービスは、要求されたサービス品質を提供するために、ネットワーク機能のワークロードがネットワークのエッジで必要な場合、それらをクラウドプロバイダネットワークのコアネットワークに移すことがある。
いくつかの実施形態では、コンテンツ管理サービスは、ネットワークスライスにおけるサービス品質要件の対象となるコンテンツがその要件に従って実際に配信されることを保証するために、ネットワークスライス割り振りサービスと並行して動作することができる。この目的を達成するために、コンテンツ管理サービスは、サービス品質要件をサポートするために、コンテンツ配信ネットワークの動作をネットワーク内の異なるロケーションに移行する場合がある。例えば、コンテンツ配信ネットワークからの高ビットレートのビデオコンテンツは、高サービス品質を提供するために、ネットワークのエッジのユーザのために予測的にキャッシュされる場合がある。このようなアプローチは、通常のコンテンツ配信サーバが混雑したバックボーンリンク経由で、または高サービス品質を提供しない公共のインターネット接続経由でアクセスできる場合には有益であり得る。
当業者であれば、この開示に照らして理解するように、特定の実施形態は、以下のいくつかまたは全てを含む特定の利点を達成することができる可能性がある。すなわち、(1)アプリケーションが、特定のサービス品質を持つネットワークスライスを動的かつオンデマンドで要求できるようにすることにより、コンピュータシステム及びネットワークの機能を改善し、それによってアプリケーションが帯域幅及び遅延の要件に従って適切に動作できるようになる。(2)アプリケーションまたはデバイス専用のネットワークスライスをオンデマンドで動的に再構成できるようにすることで、コンピュータシステム及びネットワークの柔軟性を向上させる。(3)ネットワーク機能のワークロードを無線式ネットワーク内の異なるロケーションに移行することにより、サービス品質要件を満たすためのコンピュータシステム及びネットワークの機能を向上させる。(4)ネットワーク機能専用のコンピューティングリソースを必要に応じてスケールアップまたはスケールダウンできるようにすることで、サービス品質要件を満たすためのコンピュータシステム及びネットワークの機能を向上させる。(5)コンテンツ配信を無線式ネットワーク内の異なるロケーションに移行することにより、サービス品質要件を満たすためのコンピュータシステム及びネットワークの機能を向上させる、などである。
本開示の利点の中には、ネットワーク機能をデプロイして連鎖させて、要件に基づいて特定のソフトウェアアプリケーションに、動的にサイズ変更されたネットワークスライスを配信するエンドツーエンドサービスを配信する機能がある。本開示によれば、マイクロサービスに編成されたネットワーク機能が連携してエンドツーエンド接続を提供する。1セットのネットワーク機能は無線ネットワークの一部であり、基地局内で動作し、無線信号からIPへの変換を実行する。他のネットワーク機能は、加入者関連のビジネスロジックを実行し、インターネットとの間でIPトラフィックをルーティングする大規模なデータセンタで実行される。アプリケーションが低遅延通信や予約帯域幅などの5Gの新機能を使用するには、これらのタイプのネットワーク機能の両方が連携して、無線スペクトルを適切にスケジュールしかつ予約し、リアルタイムの計算とデータ処理とを実行する必要がある。ここで開示される技法は、セルサイトからインターネットブレイクアウトまで、ネットワーク全体にわたって実行されるネットワーク機能と統合されたエッジロケーションハードウェア(以下にさらに説明する)を提供し、必要なQoS制約を満たすようにネットワーク機能をオーケストレートする。これにより、工場ベースのIoTから拡張現実(AR)、仮想現実(VR)、ゲームストリーミング、コネクテッドビークルの自律ナビゲーションサポートに至るまで、これまではモバイルネットワーク上で動作不可能だった、厳格なQoS要件を持つまったく新しい一連のアプリケーションが可能になる。
ネットワークスライシングは、各論理ネットワーク(つまり、ネットワークスライス)をカスタマイズし必要な大きさにして、特定の一連のニーズに最適に応えることができるように、共通の物理ネットワークインフラストラクチャ上で複数の論理ネットワークのデプロイ及び運用を可能にする機能である。通常、ネットワークスライスは手動で作成され、特定の組織または事業体に提供される。本開示によれば、無線式ネットワーク上で実行されるソフトウェアアプリケーションは、アプリケーションに提供される一連のQoS制約を満たすネットワークスライスを取得するために、サービスに対してAPI要求を行うことができる。これに応答して、サービスは、そのアプリケーションに関連付けられたネットワークトラフィックで使用するために、そのようなネットワークスライスを自動的にプロビジョニングすることができる。ネットワークスライスは、所望のQoSを達成できるように、特定のアプリケーションに関連付けられたトラフィックで使用するために、ネットワーク全体にわたって一定量の異なるハードウェアリソース(例えば、無線リソース、RAN及びコア処理リソース)を予約することができる。このサービスはまた、例えば、リソースをより効率的に利用するため、同じ基盤となるハードウェア上に(一連の異なるハードウェアコンポーネント間で相補的なニーズを有する)「相補的」スライスをプロビジョニングすることにより、または、該当する全てのQoS制約がまだ満たされる可能性があることを示す予測された使用に基づいてスライスをオーバプロビジョニングすることにより、多数の異なるソフトウェアアプリケーションにわたって、そのようなネットワークスライスを、規模を拡大して管理することもできる。
説明されている「エラスティック5G」サービスは、ネットワークの構築に必要な全てのハードウェア、ソフトウェア、及びネットワーク機能を提供しかつ管理し、API要求及びQoSパラメータに基づいて、ネットワークスライスを動的に作成して特定のアプリケーションに割り当てることができる。いくつかの実施形態では、ネットワーク機能はクラウドプロバイダによって開発され、管理され得るが、説明されたコントロールプレーンは、顧客が単一セットのAPIを使用して、クラウドインフラストラクチャ上で選択したネットワーク機能を呼び出して管理できるように、様々なプロバイダにわたってネットワーク機能を管理できる。エラスティック5Gサービスには、ハードウェアからネットワーク機能に至るまでエンドツーエンドの5Gネットワークの作成を自動化し、この結果として、デプロイにかかる時間と、ネットワーク運用にかかる運用コストとを削減するという利点がある。ネットワーク機能を公開するAPIを提供することで、開示されたエラスティック5Gサービスにより、アプリケーションは必要なQoSを制約として指定するだけで、ネットワーク機能をデプロイして連鎖させて、ソフトウェアアプリケーションが要求するネットワーク特性を反映するエンドツーエンドのネットワークスライスを配信できるようになる。アプリケーション駆動のAPI要求を通じてネットワークスライスの作成を自動化することで、開示されたサービスはネットワークスライスを動的に変更して、ネットワーク上で実行される幅広いアプリケーションの変化する要求に対応できる。
本開示は、クラウドネイティブ5Gコア及び/またはクラウドネイティブ5GRAN、及び関連するコントロールプレーンコンポーネントの作成及び管理に関する実施形態について説明する。クラウドネイティブとは、動的なスケーラビリティ、分散コンピューティング、及び高可用性(地理的分散、冗長性、及びフェイルオーバを含む)などのクラウドコンピューティング配信モデルの利点を活用するアプリケーションを構築及び実行するアプローチを指す。クラウドネイティブとは、これらのアプリケーションがパブリッククラウドでのデプロイメントに適したものとなるように作成され、デプロイされる方法を指す。クラウドネイティブアプリケーションは、パブリッククラウドで実行することもできる(実行されることが多い)が、オンプレミスのデータセンタで実行することもできる。一部のクラウドネイティブアプリケーションはコンテナ化することができ、例えば、アプリケーションの異なる部分、機能、またはサブユニットが独自のコンテナにパッケージ化され、これを各部分がリソースの利用を最適化するためにアクティブにスケジュールされ管理されるように、動的にオーケストレートすることができる。これらのコンテナ化されたアプリケーションは、アプリケーションの全体的な俊敏性と保守性とを向上させるために、マイクロサービスアーキテクチャを使用して構築することができる。マイクロサービスアーキテクチャでは、アプリケーションは、互いに独立してデプロイ及びスケール変更が可能であり、ネットワークを介して相互に通信できる、より小さなサブユニット(「マイクロサービス」)の集合として配置される。これらのマイクロサービスは、通常、特定の技術的及び機能的な粒度を持ち、多くの場合、軽量の通信プロトコルを実装しているため、粒度が細かい。アプリケーションのマイクロサービスは、互いに異なる機能を実行でき、独立してデプロイ可能であってもよく、互いに異なるプログラミング言語、データベース、及びハードウェア/ソフトウェア環境を使用する場合がある。アプリケーションをより小さなサービスに分解すると、アプリケーションのモジュール性が有益に向上し、必要に応じて個々のマイクロサービスを置き換えることが可能になり、チームが互いに独立してそのマイクロサービスの開発、デプロイ、及び保守を行うことができるようになることで開発が並列化される。マイクロサービスは、いくつかの例では、仮想マシン、コンテナ、またはサーバレス機能を使用してデプロイされる場合がある。開示されたコア及びRANソフトウェアは、記載された無線式ネットワークがオンデマンドでデプロイしスケール変更できる独立したサブユニットで構成されるようなマイクロサービスアーキテクチャに従い得る。
ここで、図1を参照すると、本開示の様々な実施形態に従って、デプロイされ、管理される通信ネットワーク100の例が示される。通信ネットワーク100は、第4世代(4G)Long-Term Evolution(LTE)ネットワーク、第5世代(5G)ネットワーク、4G及び5G RANの両方を備えた4G-5Gハイブリッドコア、またはワイヤレスネットワークアクセスを提供する別のネットワークなどのセルラネットワークに対応し得る無線式ネットワーク103を含む。無線式ネットワーク103は、公衆通信プロバイダまたは企業もしくは他の組織のクラウドサービスプロバイダによって運営され得る。無線式ネットワーク103の様々なデプロイメントは、コアネットワーク及びRANネットワークのうちの1つ以上、ならびにクラウドプロバイダインフラストラクチャ上でコアネットワーク及び/またはRANネットワークを実行するためのコントロールプレーンを含むことができる。上記のように、これらのコンポーネントは、トラフィックとトランザクションとを効率的にスケール変更するために集中制御と分散処理とが使用されるように、例えばマイクロサービスアーキテクチャを使用して、クラウドネイティブ方式で開発され得る。これらのコンポーネントは、コントロールプレーンとユーザプレーンとの処理が分離されたアプリケーションアーキテクチャ(CUPSアーキテクチャ)に従うことにより、3GPP(登録商標)仕様に基づくことができる。
無線式ネットワーク103は、モバイルデバイスまたは固定ロケーションデバイスであり得る複数のワイヤレスデバイス106にワイヤレスネットワークアクセスを提供する無線アクセスネットワーク(RAN)を含むことができる。様々な例において、ワイヤレスデバイス106には、スマートフォン、コネクテッドビークル、モノのインターネット(IoT)デバイス、センサ、(製造施設などの)機械、ホットスポットなどのデバイスが含まれ得る。ワイヤレスデバイス106は、ユーザ装置(UE)または加入者宅内装置(CPE)と呼ばれることもある。
無線式ネットワーク103は、複数のセル109を通じて複数のワイヤレスデバイス106にワイヤレスネットワークアクセスを提供する。セル109のそれぞれには、ワイヤレスデバイス106との間でワイヤレスデータ信号を送受信する1つ以上のアンテナ及び1つ以上の無線ユニットが装備され得る。アンテナは1つ以上の周波数帯域用に構成され得、無線ユニットもまた周波数アジャイルまたは周波数調整可能にされ得る。信号を特定の方向または方位角範囲に集中させるために、アンテナには特定のゲインまたはビーム幅を関連付けることができ、これにより、異なる方向での周波数の再利用が可能になり得る。さらに、アンテナは、水平偏波、垂直偏波、または円偏波であってもよい。いくつかの例では、無線ユニットは、多入力多出力(MIMO)技術を利用して信号を送信及び受信することができる。したがって、RANは、ワイヤレスデバイス106との無線接続を可能にする無線アクセス技術を実装し、無線式ネットワークのコアネットワークとの接続を提供する。RANのコンポーネントには、所与の物理エリアをカバーする基地局及びアンテナだけでなく、RANへの接続を管理するための必要なコアネットワークアイテムが含まれる。
データトラフィックは、多くの場合、(例えば、アグリゲーションサイトにおいて)レイヤ3ルータの複数のホップで構成されるファイバトランスポートネットワークを介してコアネットワークにルーティングされる。コアネットワークは通常、1つ以上のデータセンタに収容される。通常、コアネットワークは、エンドデバイスからのデータトラフィックを集約し、加入者及びデバイスを認証し、パーソナライズされたポリシを適用し、デバイスのモビリティを管理してから、トラフィックをオペレータサービスまたはインターネットにルーティングする。例えば、5Gコアは、コントロールプレーンとユーザプレーンとを分離して、いくつかのマイクロサービス要素に分解することができる。5Gコアは、物理的なネットワーク要素ではなく、仮想化されたソフトウェアベースの(例えばマイクロサービスとしてデプロイされた)ネットワーク機能を含むことができるため、マルチアクセスエッジコンピューティング(MEC)クラウドインフラストラクチャ内でインスタンス化することができる。コアネットワークのネットワーク機能には、ユーザプレーン機能(UPF)、アクセスと移動管理機能(AMF)、及びセッション管理機能(SMF)が含まれ得るが、これらについては以下でさらに詳しく説明する。通信ネットワーク100の外部のロケーションを宛先とするデータトラフィックの場合、ネットワーク機能は通常、トラフィックが通信ネットワーク100を出入りできる、インターネットまたはクラウドプロバイダネットワークなどの外部ネットワークに対するファイアウォールを含む。いくつかの実施形態では、通信ネットワーク100は、コアネットワークからさらに下流のサイト(例えば、アグリゲーションサイトまたは無線式ネットワーク103)にトラフィックが出入りできるようにする設備を含むことができることに留意されたい。
UPFは、モバイルインフラストラクチャとデータネットワーク(DN)との間の相互接続ポイント、つまり、ユーザプレーン(GTP-U)の汎用パケット無線サービス(GPRS)トンネリングプロトコルのカプセル化及びカプセル化解除を提供する。UPFは、1つ以上のエンドマーカパケットをRAN基地局に送信するなど、RAN内でモビリティを提供するためのセッションアンカポイントを提供することもある。UPFは、トラフィック一致フィルタに基づいてフローを特定のデータネットワークに誘導するなど、パケットのルーティング及び転送を処理することもある。UPFのもう1つの機能には、アップリンク(UL)及びダウンリンク(DL)のトランスポートレベルのパケットマーキングやレート制限など、フローごとまたはアプリケーションごとのQoS処理が含まれる。UPFは、最新のマイクロサービス手法を使用してクラウドネイティブネットワーク機能として実装することができ、例えば、(マネージドサービスを介してコードが実行される基盤となるインフラストラクチャを抽象化する)サーバレスフレームワーク内にデプロイできる。
AMFは、ワイヤレスデバイス106またはRANから接続及びセッション情報を受信することがあり、接続及びモビリティ管理タスクを処理することがある。例えば、AMFは、RAN内の基地局間のハンドオーバを管理することがある。いくつかの例では、AMFは、特定のRANコントロールプレーン及びワイヤレスデバイス106のトラフィックを終了させることにより、5Gコアへのアクセスポイントとみなされることがある。AMFは、暗号化及び完全性保護アルゴリズムを実装することもある。
SMFは、例えば、プロトコルデータユニット(PDU)セッションの作成、更新、及び削除を行い、UPF内のセッションコンテキストを管理することにより、セッションの確立または変更を処理することがある。SMFは、動的ホスト構成プロトコル(DHCP)及びIPアドレス管理(IPAM)を実装することもある。SMFは、最新のマイクロサービス手法を使用してクラウドネイティブネットワーク機能として実装されてもよい。
無線式ネットワーク103を実装するための様々なネットワーク機能は、ネットワーク機能を実行するように構成された汎用コンピューティングデバイスに対応し得る分散コンピューティングデバイス112内にデプロイされ得る。例えば、分散コンピューティングデバイス112は、ネットワーク機能を実施する1つ以上のサービスを実行するように順番に構成される1つ以上の仮想マシンインスタンスを実行することができる。一実施形態では、分散コンピューティングデバイス112は、各セルサイトにデプロイされる耐久性の高いマシンである。
対照的に、1つ以上の集中コンピューティングデバイス115は、顧客が運営する中央サイトで様々なネットワーク機能を実行することがある。例えば、集中コンピューティングデバイス115は、調整されたサーバルーム内の顧客の構内に集約的に配置されてもよい。集中コンピューティングデバイス115は、ネットワーク機能を実施する1つ以上のサービスを実行するように順番に構成される1つ以上の仮想マシンインスタンスを実行することができる。
1つ以上の実施形態では、無線式ネットワーク103からのネットワークトラフィックは、顧客のサイトから遠隔に位置する1つ以上のデータセンタに配置され得る1つ以上のコアコンピューティングデバイス118にバックホールされる。コアコンピューティングデバイス118はまた、インターネット及び/または他の外部の公衆またはプライベートネットワークに対応し得るネットワーク121への、及びネットワーク121からのネットワークトラフィックのルーティングを含む、様々なネットワーク機能を実行し得る。コアコンピューティングデバイス118は、通信ネットワーク100の管理に関連する機能(例えば、請求、モビリティ管理など)と、通信ネットワーク100と他のネットワークとの間のトラフィックを中継するためのトランスポート機能とを実行し得る。
図2Aは、いくつかの実施形態による、クラウドプロバイダネットワーク203を含み、さらに、図1の通信ネットワーク100内の様々なロケーションで使用され得るクラウドプロバイダネットワーク203の様々なプロバイダサブストレートエクステンションを含むネットワーク環境200の例を示す。クラウドプロバイダネットワーク203(単に「クラウド」と呼ばれることもある)は、ネットワークでアクセス可能なコンピューティングリソース(計算、ストレージ、及びネットワーキングリソース、アプリケーション、及びサービスなど)のプールを指し、これらは仮想化またはベアメタルの場合がある。クラウドは、顧客のコマンドに応答して、プログラムでプロビジョニング及びリリースされ得る構成可能なコンピューティングリソースの共有プールへの便利なオンデマンドネットワークアクセスを提供し得る。これらのリソースは、変動する負荷に合わせて調整されるように、動的にプロビジョニングされ、再構成されることがある。したがって、クラウドコンピューティングは、公衆アクセス可能なネットワーク(例えば、インターネット、セルラ通信ネットワーク)を介してサービスとして配信されるアプリケーションと、それらのサービスを提供するクラウドプロバイダのデータセンタ内のハードウェア及びソフトウェアとの両方と見なすことができる。
クラウドプロバイダネットワーク203は、ネットワークを介してオンデマンドでスケーラブルなコンピューティングプラットフォームをユーザに提供することができ、例えば、ユーザが(中央処理装置(CPU)及びグラフィックス処理装置(GPU)の一方または両方の使用を介して、任意選択でローカルストレージを用いて、計算インスタンスを提供する)計算サーバ及び(指定された計算インスタンスに仮想化された永続的なブロックストレージを提供する)ブロックストアサーバの使用を介して、スケーラブルな「仮想コンピューティングデバイス」を自由に持つことができるようにする。これらの仮想コンピューティングデバイスは、ハードウェア(様々なタイプのプロセッサ、ローカルメモリ、ランダムアクセスメモリ(RAM)、ハードディスク、及び/またはソリッドステートドライブ(SSD)ストレージ)、選ばれたオペレーティングシステム、ネットワーク機能、及びプリロードされたアプリケーションソフトウェアを含むパーソナルコンピューティングデバイスの属性を有する。各仮想コンピューティングデバイスはまた、そのコンソール入出力(例えば、キーボード、ディスプレイ、及びマウス)を仮想化することもある。この仮想化により、ユーザは、ブラウザ、アプリケーションプログラミングインターフェース(API)、ソフトウェア開発キット(SDK)などのコンピュータアプリケーションを使用して自身の仮想コンピューティングデバイスに接続することによって、パーソナルコンピューティングデバイスであるかのように、自身の仮想コンピューティングデバイスを構成及び使用することが可能になる。ユーザが利用可能な固定量のハードウェアリソースを所有するパーソナルコンピューティングデバイスとは異なり、仮想コンピューティングデバイスに関連付けられたハードウェアは、ユーザが必要とするリソースに応じてスケールアップまたはスケールダウンすることができる。
前述のとおり、ユーザは、中間ネットワーク(複数可)212経由で、様々なインターフェース206(例えば、API)を使用して、仮想化コンピューティングデバイス及び他のクラウドプロバイダネットワーク203のリソース及びサービスに接続することができる。APIは、クライアントが事前定義された形式で要求を行った場合に、クライアントが特定の形式で応答を受信する、または定義されたアクションを開始させる必要があるように、クライアントデバイス215とサーバとの間のインターフェース及び/または通信プロトコルを参照する。クラウドプロバイダネットワークの状況では、APIは、顧客がクラウドプロバイダネットワーク203からデータを取得したり、クラウドプロバイダネットワーク203内でアクションを実行したりできるようにすることで、顧客がクラウドインフラストラクチャにアクセスするためのゲートウェイ251を提供し、クラウドプロバイダネットワーク203でホストされているリソースやサービスと対話するアプリケーションの開発を可能にする。APIは、クラウドプロバイダネットワーク203の様々なサービスが相互にデータを交換できるようにすることもできる。ユーザは自身の仮想コンピューティングシステムをデプロイして、自身で使用するための、及び/または自身の顧客もしくはクライアントが使用するための、ネットワークベースのサービスを提供することを選ぶことができる。
クラウドプロバイダネットワーク203は、サブストレートと呼ばれる物理ネットワーク(例えば、板金ボックス、ケーブル、ラックハードウェア)を含むことができる。サブストレートは、プロバイダネットワークのサービスを実行する物理ハードウェアを含むネットワークファブリックと見なすことができる。サブストレートは、クラウドプロバイダネットワーク203の残りの部分から隔離されていてもよく、例えば、サブストレートネットワークアドレスから、クラウドプロバイダのサービスを実行する実稼働ネットワーク内のアドレスへ、または顧客リソースをホストする顧客ネットワークへルーティングすることが不可能な場合がある。
クラウドプロバイダネットワーク203は、サブストレート上で実行される仮想化コンピューティングリソースのオーバレイネットワークを含むこともある。少なくともいくつかの実施形態では、ネットワークサブストレート上のハイパーバイザまたは他のデバイスまたはプロセスは、カプセル化プロトコル技術を使用して、プロバイダネットワーク内の異なるホスト上のクライアントリソースインスタンス間のネットワークサブストレート上でネットワークパケット(例えば、クライアントIPパケット)をカプセル化し、ルーティングすることがある。カプセル化プロトコル技術は、カプセル化されたパケット(ネットワークサブストレートパケットとも呼ばれる)を、オーバレイネットワークパスまたはルートを介してネットワークサブストレート上のエンドポイント間でルーティングするように、ネットワークサブストレート上で使用され得る。カプセル化プロトコル技術は、ネットワークサブストレート上にオーバレイされた仮想ネットワークトポロジを提供するものと見なされ得る。そのため、ネットワークパケットは、オーバレイネットワーク内の構成体(例えば、仮想プライベートクラウド(VPC)と呼ばれ得る仮想ネットワーク、セキュリティグループと呼ばれ得るポート/プロトコルファイアウォール構成)に従って、サブストレートネットワークに沿ってルーティングされ得る。マッピングサービス(図示せず)は、これらのネットワークパケットのルーティングを連係させ得る。マッピングサービスは、オーバレイインターネットプロトコル(IP)とネットワーク識別子との組み合わせをサブストレートIPにマッピングする地域的分散ルックアップサービスであってもよく、分散サブストレートコンピューティングデバイスがパケットの送信先を検索できるようにする。
例示すると、各物理ホストデバイス(例えば、計算サーバ、ブロックストアサーバ、オブジェクトストアサーバ、制御サーバ)は、サブストレートネットワーク内にIPアドレスを有することがある。ハードウェア仮想化技術を使用すると、複数のオペレーティングシステムをホストコンピュータ上で、例えば、計算サーバ上の仮想マシン(VM)として、同時に実行することが可能になり得る。ホスト上のハイパーバイザ、または仮想マシンモニタ(VMM)は、ホスト上の様々なVMにホストのハードウェアリソースを割り振り、VMの実行を監視する。各VMには、オーバレイネットワーク内の1つ以上のIPアドレスが与えられてもよく、ホスト上のVMMは、ホスト上のVMのIPアドレスを認識している場合がある。VMM(及び/またはネットワークサブストレート上の他のデバイスまたはプロセス)は、カプセル化プロトコル技術を使用して、クラウドプロバイダネットワーク203内の異なるホスト上の仮想化リソース間のネットワークサブストレート上でネットワークパケット(例えば、クライアントIPパケット)をカプセル化し、ルーティングすることがある。カプセル化プロトコル技術は、カプセル化されたパケットを、オーバレイネットワークパスまたはルートを介してネットワークサブストレート上のエンドポイント間でルーティングするように、ネットワークサブストレート上で使用され得る。カプセル化プロトコル技術は、ネットワークサブストレート上にオーバレイされた仮想ネットワークトポロジを提供するものと見なされ得る。カプセル化プロトコル技術には、IPオーバレイアドレス(例えば、顧客に見えるIPアドレス)をサブストレートIPアドレス(顧客に見えないIPアドレス)にマッピングするマッピングディレクトリを維持するマッピングサービスが含まれ得、このマッピングディレクトリは、エンドポイント間でパケットをルーティングするためにクラウドプロバイダネットワーク203上の様々なプロセスによってアクセスされ得る。
図示するように、クラウドプロバイダネットワークサブストレートのトラフィック及び動作は、様々な実施形態において、論理コントロールプレーン218上で搬送されるコントロールプレーントラフィック、及び論理データプレーン221上で搬送されるデータプレーンオペレーションという2つのカテゴリに大まかに細分され得る。データプレーン221は、分散コンピューティングシステムを介したユーザデータの移動を表し、コントロールプレーン218は、分散コンピューティングシステムを介した制御信号の移動を表す。コントロールプレーン218は、一般に、1つ以上の制御サーバにわたって分散され、1つ以上の制御サーバによって実装される、1つ以上のコントロールプレーンコンポーネントまたはサービスを含む。コントロールプレーントラフィックには、一般に、様々な顧客向けに分離された仮想ネットワークの確立、リソースの使用状況や健全性の監視、要求された計算インスタンスが起動される特定のホストまたはサーバの識別、必要に応じた追加ハードウェアのプロビジョニングなどの管理動作が含まれる。データプレーン221は、クラウドプロバイダネットワーク203上に実装される顧客リソース(例えば、計算インスタンス、コンテナ、ブロックストレージボリューム、データベース、ファイルストレージ)を含む。データプレーントラフィックには、一般に、顧客リソースとの間のデータ転送などの非管理動作が含まれる。
コントロールプレーンコンポーネントは、通常、データプレーンサーバとは別個のサーバのセットに実装され、コントロールプレーントラフィックとデータプレーントラフィックとは別個の異なるネットワーク経由で送信される場合がある。いくつかの実施形態では、コントロールプレーントラフィックとデータプレーントラフィックとは、異なるプロトコルによってサポートされ得る。いくつかの実施形態では、クラウドプロバイダネットワーク203を介して送信されるメッセージ(例えば、パケット)は、トラフィックがコントロールプレーントラフィックであるかデータプレーントラフィックであるかを示すフラグを含む。いくつかの実施形態では、トラフィックのペイロードを検査して、そのタイプ(例えば、コントロールプレーンかデータプレーンか)を判定することがある。トラフィックタイプを区別するための他の手法も可能である。
図示するように、データプレーン221は、ベアメタル(例えば、単一テナント)であってもよく、または1以上の顧客向けに複数のVM(「インスタンス」と呼ばれることもある)もしくはマイクロVMを実行するために、ハイパーバイザによって仮想化されてもよい、1つ以上の計算サーバを含むことがある。これらの計算サーバは、クラウドプロバイダネットワーク203の仮想化コンピューティングサービス(または「ハードウェア仮想化サービス」)をサポートすることができる。仮想化コンピューティングサービスは、コントロールプレーン218の一部であってもよく、顧客がインターフェース206(例えば、API)を介してコマンドを発行して、アプリケーションのための計算インスタンス(例えば、VM、コンテナ)を起動し、管理することを可能にする。仮想化コンピューティングサービスは、様々な計算リソース及び/またはメモリリソースを備えた仮想計算インスタンスを提供することがある。一実施形態では、仮想計算インスタンスのそれぞれは、いくつかのインスタンスタイプのうちの1つに対応してもよい。インスタンスタイプは、そのハードウェアタイプ、計算リソース(例えば、CPUまたはCPUコアの数、タイプ、及び構成)、メモリリソース(例えば、ローカルメモリの容量、タイプ、及び構成)、ストレージリソース(例えば、ローカルにアクセス可能なストレージの容量、タイプ、及び構成)、ネットワークリソース(例えば、そのネットワークインターフェースの特性及び/またはネットワーク機能)、及び/または他の適切な記述的特性によって特徴付けられ得る。インスタンスタイプ選択機能を使用して、例えば顧客からの入力に(少なくとも部分的に)基づいて、顧客のためにインスタンスタイプを選択することがある。例えば、顧客は、事前定義されたインスタンスタイプのセットからインスタンスタイプを選択することができる。別の例として、顧客は、インスタンスタイプの所望のリソース及び/またはインスタンスが実行するワークロードの要件を指定することがあり、インスタンスタイプ選択機能が、そのような仕様に基づいてインスタンスタイプを選択してもよい。
データプレーン221はまた、1つ以上のブロックストアサーバを含むことがあり、これは、顧客データのボリュームを格納するための永続ストレージ、及びこれらのボリュームを管理するためのソフトウェアを含むことがある。このようなブロックストアサーバは、クラウドプロバイダネットワーク203のマネージドブロックストレージサービスをサポートし得る。マネージドブロックストレージサービスは、コントロールプレーン218の一部であり、顧客がインターフェース206(例えば、API)を介してコマンドを発行して、計算インスタンス上で実行されるアプリケーションのボリュームを作成し、管理することを可能にする。ブロックストアサーバは、データがブロックとして記憶される1つ以上のサーバを含む。ブロックはバイトまたはビットのシーケンスであり、ブロックサイズの最大長を有する整数個のレコードを通常は含む。ブロック化されたデータは通常、データバッファに記憶され、一度にブロック全体が読み書きされる。一般に、ボリュームは、ユーザに代わって維持されるデータのセットなどの、論理的なデータの集合体に対応することができる。例えば1GBから1テラバイト(TB)以上のサイズの範囲の個々のハードドライブとして扱うことができるユーザボリュームは、ブロックストアサーバに記憶された1つ以上のブロックで構成される。個々のハードドライブとして扱われるが、ボリュームは、1つ以上の基礎となる物理ホストデバイス上に実装された1つ以上の仮想化デバイスとして記憶され得ることは理解されよう。ボリュームは、少数回(例えば、最大16回)パーティション分割され、各パーティションが異なるホストによってホストされてよい。ボリュームのデータは、ボリュームの複数のレプリカを提供するために、クラウドプロバイダネットワーク203内の複数のデバイス間で複製され得る(そのようなレプリカは、コンピューティングシステム上のボリュームを集合的に表し得る)。分散コンピューティングシステムにおけるボリュームのレプリカは、有益なことに、例えば、ユーザがボリュームの一次レプリカ、またはブロックレベルで一次レプリカと同期されたボリュームの二次レプリカのいずれかにアクセスできるようにして、一次または二次レプリカのいずれかの障害によって、ボリュームの情報へのアクセスが妨げられないようにすることで、自動的なフェイルオーバ及びリカバリを提供することができる。プライマリレプリカの役割は、ボリュームでの読み取り及び書き込み(「入出力操作」または単に「I/O操作」と呼ばれることもある)を容易にし、かつ任意の書き込みをセカンダリに(非同期レプリケーションを使用することもあるが、好ましくは、I/Oパスで同期して)反映させることであり得る。セカンダリレプリカは、プライマリレプリカと同期して更新され、フェイルオーバ動作中にシームレスな移行を提供することができ、これにより、セカンダリレプリカがプライマリレプリカの役割を引き継ぎ、以前のプライマリがセカンダリとして指定されるか、または新しい代替セカンダリレプリカがプロビジョニングされる。本明細書の特定の例では、プライマリレプリカとセカンダリレプリカとについて説明するが、論理ボリュームは複数のセカンダリレプリカを含み得ることが理解されよう。計算インスタンスは、クライアント経由でボリュームへのそのI/Oを仮想化することがある。クライアントは、計算インスタンスが、リモートデータボリューム(例えば、ネットワーク経由でアクセスされる物理的に別個のコンピューティングデバイスに格納されているデータボリューム)に接続し、リモートデータボリュームでI/O操作を実行できるようにする命令に相当する。クライアントは、計算インスタンスの処理ユニット(例えば、CPUまたはGPU)を含むサーバのオフロードカード上に実装され得る。
データプレーン221は、クラウドプロバイダネットワーク203内の別のタイプのストレージに相当する、1つ以上のオブジェクトストアサーバを含むこともある。オブジェクトストレージサーバは、バケットと呼ばれるリソース内にオブジェクトとしてデータが記憶される1つ以上のサーバを含み、クラウドプロバイダネットワーク203のマネージドオブジェクトストレージサービスをサポートするために使用されることがある。各オブジェクトは、典型的には、記憶されているデータと、記憶されたオブジェクトの分析に関するオブジェクトストレージサーバの様々な機能を可能にする可変量のメタデータと、オブジェクトを取り出すために使用できるグローバルに一意の識別子またはキーと、を含む。各バケットは、所与のユーザアカウントに関連付けられる。顧客は自身のバケット内に所望の数のオブジェクトを記憶することができ、自身のバケット内のオブジェクトの書き込み、読み出し、及び削除を行うことができ、自身のバケット及びその中に含まれているオブジェクトへのアクセスを制御することができる。さらに、いくつかの異なるオブジェクトストレージサーバが上述のリージョンのうちの異なるリージョンに分散された実施形態では、ユーザは、例えば遅延を最適化するために、バケットが記憶されるリージョン(または複数のリージョン)を選ぶことができる。顧客は、バケットを使用して、VMの起動に使用できるマシンイメージや、ボリュームのデータの特定時点のビューを表すスナップショットなど、様々なタイプのオブジェクトを保存することができる。
プロバイダサブストレートエクステンション224(「PSE」)は、電気通信ネットワークなどの別個のネットワーク内でクラウドプロバイダネットワーク203のリソース及びサービスを提供し、それによって(例えば、顧客のデバイスとの通信の遅延、法令順守、セキュリティなどに関連する理由で)クラウドプロバイダネットワーク203の機能を新しいロケーションに拡張する。いくつかの実施態様では、PSE224は、電気通信ネットワーク内で実行するクラウドベースのワークロードに容量を提供するように構成することができる。いくつかの実施態様では、PSE224は、電気通信ネットワークのコア及び/またはRAN機能を提供するように構成することができ、追加のハードウェア(例えば、無線アクセスハードウェア)を用いて構成することができる。いくつかの実施態様は、例えば、コア及び/またはRAN機能によって未使用の容量をクラウドベースのワークロードの実行に使用できるようにすることにより、両方を可能にするように構成され得る。
図示するように、そのようなプロバイダサブストレートエクステンション224は、他の可能なタイプのサブストレートエクステンションの中でもとりわけ、クラウドプロバイダネットワークマネージドプロバイダサブストレートエクステンション227(例えば、クラウドプロバイダネットワーク203に関連するものとは別のクラウドプロバイダ管理の施設内に位置するサーバによって形成される)、通信サービスプロバイダマネージドプロバイダサブストレートエクステンション230(例えば、通信サービスプロバイダ施設に関連付けられたサーバによって形成される)、顧客マネージドプロバイダサブストレートエクステンション233(例えば、顧客またはパートナー施設のオンプレミスに位置するサーバによって形成される)を含むことができる。
例示的なプロバイダサブストレートエクステンション224に示すように、プロバイダサブストレートエクステンション224は、同様に、クラウドプロバイダネットワーク203のコントロールプレーン218とデータプレーン221とをそれぞれ拡張する、コントロールプレーン236とデータプレーン239との間の論理的分離を含むことができる。プロバイダサブストレートエクステンション224は、様々な種類のコンピューティング関連リソースをサポートするために、ソフトウェア及び/またはファームウェア要素を備えたハードウェアの適切な組み合わせを用いて、そうするためにクラウドプロバイダネットワーク203を使用する経験を反映するように、例えばクラウドプロバイダネットワークオペレータによって事前に構成されてもよい。例えば、1つ以上のプロバイダサブストレートエクステンションロケーションサーバが、プロバイダサブストレートエクステンション224内でのデプロイのためにクラウドプロバイダによってプロビジョニングされ得る。上記のように、クラウドプロバイダネットワーク203は、事前定義されたインスタンスタイプのセットを提供することがあり、それぞれが基盤となるハードウェアリソースの様々なタイプ及び量を有する。各インスタンスタイプは、様々なサイズで提供される場合もある。顧客がリージョン内で使用しているのと同じインスタンスのタイプ及びサイズをプロバイダサブストレートエクステンション224で使用し続けることができるようにするために、サーバは異種サーバであってもよい。異種サーバは、同じタイプの複数のインスタンスサイズを同時にサポートすることができ、その基盤となるハードウェアリソースによってサポートされているいかなるインスタンスタイプもホストするように再構成することもできる。異種サーバの再構成は、サーバの利用可能な容量を使用してオンザフライで実行することができ、つまり、他のVMがまだ実行中であり、プロバイダサブストレートエクステンションロケーションサーバの他の容量を消費している間に、実行することができる。これにより、サーバ上で実行中のインスタンスをより適切にパッキングできるようにすることによって、エッジロケーション内のコンピューティングリソースの利用を改善することができ、また、クラウドプロバイダネットワーク203及びクラウドプロバイダネットワークマネージドプロバイダサブストレートエクステンション227にわたるインスタンスの使用に関するシームレスな経験を提供することもできる。
プロバイダサブストレートエクステンションサーバは、1つ以上の計算インスタンスをホストすることがある。計算インスタンスは、コードとその全ての依存関係とをパッケージ化するVM、またはコンテナであってもよく、アプリケーションがコンピューティング環境(例えば、VM及びマイクロVMを含む)全体で迅速かつ確実に実行できるようにする。さらに、顧客の希望に応じて、サーバは1つ以上のデータボリュームをホストすることがある。クラウドプロバイダネットワーク203のリージョンでは、そのようなボリュームは専用のブロックストアサーバ上でホストされ得る。しかしながら、プロバイダサブストレートエクステンション224の容量がリージョン内よりも著しく小さい可能性があるため、プロバイダサブストレートエクステンションがそのような専用ブロックストアサーバを含む場合、最適な利用経験が提供されない可能性がある。したがって、ブロックストレージサービスは、VMの1つがブロックストアソフトウェアを実行してボリュームのデータを保存するように、プロバイダサブストレートエクステンション224内で仮想化されることがある。クラウドプロバイダネットワーク203のリージョンにおけるブロックストレージサービスの動作と同様に、プロバイダサブストレートエクステンション224内のボリュームは、耐久性及び可用性のために複製されてもよい。ボリュームは、プロバイダサブストレートエクステンション224内の独自の分離された仮想ネットワーク内でプロビジョニングされ得る。計算インスタンス及び任意のボリュームは、プロバイダサブストレートエクステンション224内のプロバイダネットワークデータプレーン221のデータプレーンエクステンション239を集合的に構成する。
プロバイダサブストレートエクステンション224内のサーバは、いくつかの実施態様では、特定のローカルコントロールプレーンコンポーネント、例えば、クラウドプロバイダネットワーク203に戻る接続が切断された場合にプロバイダサブストレートエクステンション224が機能し続けることを可能にするコンポーネントをホストすることがある。これらのコンポーネントの例には、可用性を維持するために必要に応じてプロバイダサブストレートエクステンションサーバ間で計算インスタンスを移動できる移行マネージャや、ボリュームレプリカのロケーションを示すキーバリューデータストアが含まれる。しかしながら、一般に、プロバイダサブストレートエクステンション224のコントロールプレーン236機能は、顧客がプロバイダサブストレートエクステンション224のリソース容量をできるだけ多く使用できるようにするために、クラウドプロバイダネットワーク203にとどまる。
移行マネージャは、PSEサーバ(及びクラウドプロバイダのデータセンタのサーバ)上で実行されるローカルコントローラだけでなく、リージョン内で実行される集中連係コンポーネントを有する場合がある。集中連係コンポーネントは、移行がトリガされたときにターゲットエッジロケーション及び/またはターゲットホストを識別することができ、ローカルコントローラはソースホストとターゲットホストとの間のデータ転送を連係させることができる。異なるロケーションにあるホスト間での説明されているリソースの移動は、いくつかの移行形式のうちの1つを取り得る。移行とは、クラウドコンピューティングネットワーク内のホスト間で、またはクラウドコンピューティングネットワーク外のホストとクラウド内のホストとの間で、仮想マシンインスタンス(及び/またはその他のリソース)を移動することを指す。ライブ移行や再起動移行など、様々な種類の移行がある。再起動移行中に、顧客は仮想マシンインスタンスの停止と効果的な電源入れ直しとを経験する。例えば、コントロールプレーンサービスは、元のホスト上の現在のドメインを破棄し、その後、新しいホスト上に仮想マシンインスタンス用の新しいドメインを作成することを含む再起動移行ワークフローを連係させ得る。インスタンスは、元のホストでシャットダウンされ、新しいホストで再度起動させることによって、再起動される。
ライブ移行とは、仮想マシンの可用性を大幅に損なうことなく(例えば、仮想マシンのダウンタイムがエンドユーザに気付かれない)実行中の仮想マシンまたはアプリケーションを異なる物理マシン間で移動させるプロセスを指す。コントロールプレーンが、ライブ移行ワークフローを実行すると、インスタンスに関連付けられた新しい「非アクティブ」ドメインを作成できるが、インスタンスの元のドメインは引き続き「アクティブ」ドメインとして実行される。仮想マシンのメモリ(実行中のアプリケーションの任意のメモリ内状態を含む)、ストレージ、及びネットワーク接続性は、アクティブなドメインを持つ元のホストから非アクティブなドメインを持つ宛先ホストまで転送される。仮想マシンは、メモリの内容を宛先ホストに転送している間、状態の変化を防ぐために、短く一時停止される場合がある。コントロールプレーンは、非アクティブドメインをアクティブドメイン化するように移行させ、元のアクティブドメインを降格させて非アクティブドメイン化し得(「フリップ」とも呼ばれる)、その後、非アクティブドメインを破棄し得る。
様々なタイプの移行手法には、クリティカルフェーズ(顧客が仮想マシンインスタンスを利用できない時間)の管理が含まれており、このフェーズはできるだけ短くする必要がある。現在開示されている移行手法では、1つ以上の中間ネットワークを介して接続され得る地理的に離れたロケーションにあるホスト間でリソースが移動されるので、この管理は特に困難となる可能性がある。ライブ移行の場合、開示された手法は、例えば、ロケーション間の遅延、ネットワーク帯域幅/使用パターン、及び/またはインスタンスによってどのメモリページが最も頻繁に使用されるかに基づいて、事前(例えば、インスタンスがまだソースホスト上で実行されている間)にコピーするメモリ状態データの量、及びコピー後(例えば、インスタンスが宛先ホスト上で実行を開始した後)のメモリ状態データの量を動的に判定することができる。さらに、メモリ状態データが転送される特定の時刻は、ロケーション間のネットワークの状態に基づいて動的に判定することができる。この分析は、リージョン内の移行管理コンポーネントによって、またはソースエッジロケーションでローカルに実行されている移行管理コンポーネントによって、実行されてもよい。インスタンスが仮想化ストレージにアクセスできる場合、ソースドメインとターゲットドメインとの両方をストレージに同時にアタッチして、移行中やソースドメインへのロールバックが必要な場合に、そのデータへの中断のないアクセスを可能にし得る。
プロバイダサブストレートエクステンション224で実行されるサーバソフトウェアは、クラウドプロバイダサブストレートネットワーク上で実行されるようにクラウドプロバイダによって設計されてもよく、このソフトウェアは、ローカルネットワークマネージャ(複数可)242を使用してエッジロケーション内にサブストレートネットワークのプライベートレプリカ(「シャドウサブストレート」)を作成することにより、プロバイダサブストレートエクステンション224内で変更せずに実行することが可能になり得る。ローカルネットワークマネージャ(複数可)242は、プロバイダサブストレートエクステンション224サーバ上で動作し、例えば、クラウドプロバイダネットワーク203内のプロバイダサブストレートエクステンション224とプロキシ245、248との間の1つまたは複数の仮想プライベートネットワーク(VPN)エンドポイントとして機能することにより、ならびに(データプレーンプロキシ248からの)データプレーントラフィック及び(コントロールプレーンプロキシ245からの)コントロールプレーントラフィックを適切なサーバ(複数可)に関連付ける(トラフィックのカプセル化及びカプセル化解除のための)マッピングサービスを実装することにより、シャドウサブストレートをプロバイダサブストレートエクステンション224ネットワークとブリッジさせることができる。プロバイダネットワークのサブストレートオーバレイマッピングサービスのローカルバージョンを実装することにより、ローカルネットワークマネージャ(複数可)242は、プロバイダサブストレートエクステンション224内のリソースがクラウドプロバイダネットワーク203内のリソースとシームレスに通信できるようにする。いくつかの実施態様では、単一のローカルネットワークマネージャ242が、プロバイダサブストレートエクステンション224内の計算インスタンスをホストする全てのサーバに対してこれらのアクションを実行することがある。他の実施態様では、計算インスタンスをホストするサーバのそれぞれが、専用のローカルネットワークマネージャ242を有してもよい。マルチラックエッジロケーションでは、ローカルネットワークマネージャが互いに開いたトンネルを維持して、ラック間通信はローカルネットワークマネージャ242を経由することができる。
プロバイダサブストレートエクステンションロケーションは、例えば、プロバイダサブストレートエクステンション224ネットワーク及び(公共のインターネットを含む可能性がある)その他の中間ネットワークを通過する際に、顧客データのセキュリティを維持するため、プロバイダサブストレートエクステンション224ネットワークを経由してクラウドプロバイダネットワーク203に至る安全なネットワークトンネルを利用することができる。クラウドプロバイダネットワーク203内では、これらのトンネルは、(例えば、オーバレイネットワーク内の)分離された仮想ネットワーク、コントロールプレーンプロキシ245、データプレーンプロキシ248、及びサブストレートネットワークインターフェースを含む仮想インフラストラクチャコンポーネントで構成される。このようなプロキシ245、248は、計算インスタンス上で実行されるコンテナとして実装され得る。いくつかの実施形態では、計算インスタンスをホストするプロバイダサブストレートエクステンション224ロケーションにある各サーバは、少なくとも2つのトンネルを利用することができる。1つはコントロールプレーントラフィック(例えば、コンストレインドアプリケーションプロトコル(CoAP)トラフィック)用であり、もう1つはカプセル化されたデータプレーントラフィック用である。クラウドプロバイダネットワーク203内の接続マネージャ(図示せず)は、これらのトンネル及びそのコンポーネントのクラウドプロバイダネットワーク側のライフサイクルを、例えば、必要に応じてそれらを自動的にプロビジョニングし、それらを健全な動作状態に維持することによって管理する。いくつかの実施形態では、プロバイダサブストレートエクステンション224ロケーションとクラウドプロバイダネットワーク203との間の直接接続を、コントロールプレーン通信及びデータプレーン通信に使用することがある。他のネットワークを介したVPNと比較して、直接接続は、そのネットワークパスが比較的固定され安定しているため、一定の帯域幅とより一貫したネットワークパフォーマンスとを提供する可能性がある。
コントロールプレーン(CP)プロキシ245は、エッジロケーションにおける特定のホスト(複数可)を代表するために、クラウドプロバイダネットワーク203内でプロビジョニングされることがある。CPプロキシ245は、クラウドプロバイダネットワーク203内のコントロールプレーン218とプロバイダサブストレートエクステンション224のコントロールプレーン236内のコントロールプレーンターゲットとの間の仲介役である。つまり、CPプロキシ245は、プロバイダサブストレートエクステンションサーバ宛ての管理APIトラフィックをリージョンサブストレートからプロバイダサブストレートエクステンション224へトンネリングさせるためのインフラストラクチャを提供する。例えば、クラウドプロバイダネットワーク203の仮想化コンピューティングサービスは、プロバイダサブストレートエクステンション224のサーバのVMMにコマンドを発行して、計算インスタンスを起動することがある。CPプロキシ245は、プロバイダサブストレートエクステンション224のローカルネットワークマネージャ242へのトンネル(例えば、VPN)を維持する。CPプロキシ245内に実装されたソフトウェアは、適格なAPIトラフィックのみがサブストレートから出てサブストレートに戻ることを保証する。CPプロキシ245は、サブストレートのセキュリティマテリアル(例えば、暗号化キー、セキュリティトークン)がクラウドプロバイダネットワーク203から流出するのを引き続き保護しながら、クラウドプロバイダサブストレート上のリモートサーバを公開するメカニズムを提供する。CPプロキシ245によって課される一方向のコントロールプレーントラフィックトンネルはまた、任意の(侵害される可能性のある)デバイスがサブストレートにコールバックすることを防ぐ。CPプロキシ245は、プロバイダサブストレートエクステンション224のサーバと1対1でインスタンス化することがあり、あるいは同じプロバイダサブストレートエクステンション内の複数のサーバのコントロールプレーントラフィックを管理することができる場合がある。
データプレーン(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まで転送することができる。
ローカルネットワークマネージャ(複数可)242は、クラウドプロバイダネットワーク203内に確立されたプロキシ245、248との安全なネットワーク接続性を提供することができる。ローカルネットワークマネージャ242とプロキシ245、248との間の接続性が確立された後、顧客は、計算インスタンスをインスタンス化する(及び/または計算インスタンスを使用して他の動作を実行する)ために、クラウドプロバイダネットワーク203内でホストされる計算インスタンスに関してコマンドが発行されることになる方法と同じようにプロバイダサブストレートエクステンションリソースを使用して、インターフェース206を介して、そのようなコマンドを発行することがある。顧客の観点からすれば、顧客は、プロバイダサブストレートエクステンション224内のローカルリソース(及び所望であればクラウドプロバイダネットワーク203にあるリソース)をシームレスに使用できるようになった。プロバイダサブストレートエクステンション224でサーバ上にセットアップされた計算インスタンスは、所望に応じて、同じネットワーク内にある電子デバイス、及びクラウドプロバイダネットワーク203内にセットアップされた他のリソースの両方と通信することがある。プロバイダサブストレートエクステンション224と、そのエクステンションと結合されるネットワーク(例えば、プロバイダサブストレートエクステンション230の例における通信サービスプロバイダネットワーク)との間のネットワーク接続性を提供するために、ローカルゲートウェイ251が実装されてもよい。
状況によっては、オブジェクトストレージサービスとプロバイダサブストレートエクステンション(PSE)224との間でのデータの転送が必要になる場合がある。例えば、オブジェクトストレージサービスは、VMの起動に使用されるマシンイメージ、及びボリュームの特定時点のバックアップを表すスナップショットを保存することがある。オブジェクトゲートウェイは、PSEサーバまたは特殊なストレージデバイス上で提供し、顧客のワークロードに対するPSEリージョンの遅延の影響を最小限に抑えるために、PSE224内のオブジェクトストレージバケットのコンテンツの構成可能なバケットごとのキャッシュを顧客に提供することがある。オブジェクトゲートウェイは、PSE224内のボリュームのスナップショットからのスナップショットデータを一時的に保存し、そして可能な場合にはリージョン内のオブジェクトサーバと同期することもある。オブジェクトゲートウェイは、顧客がPSE224内または顧客の構内で使用するために指定したマシンイメージを保存することもある。いくつかの実施態様では、PSE224内のデータは一意のキーで暗号化され得、クラウドプロバイダは、セキュリティ上の理由から、キーがリージョンからPSE224に共有されることを制限することがある。したがって、オブジェクトストアサーバとオブジェクトゲートウェイとの間で交換されるデータは、暗号化キーまたは他の機密データに関するセキュリティ境界を維持するために、暗号化、復号化、及び/または再暗号化を利用することができる。変換の手段は、これらの操作を実行することができ、PSE暗号化キーを使用してスナップショットデータとマシンイメージデータとを保存するために、PSEバケットが(オブジェクトストアサーバ上に)作成され得る。
上記のようにして、それが、従来のクラウドプロバイダデータセンタの外側で顧客デバイスに近づいてクラウドプロバイダネットワーク203のリソース及びサービスを提供するという点で、PSE224はエッジロケーションを形成する。本明細書で言及されるエッジロケーションは、いくつかの方法で構造化され得る。いくつかの実施態様では、エッジロケーションは、(例えば、顧客のワークロードの近くに位置し、どの可用性ゾーンからも離れている可能性がある、小規模なデータセンタ内の、またはクラウドプロバイダの他の施設内の)可用性ゾーンの外側に提供される限られた量の容量を含む、クラウドプロバイダーネットワークサブストレートの拡張であり得る。そのようなエッジロケーションは、「ファーゾーン」(他の可用性ゾーンから遠いため)または「ニアゾーン」(顧客のワークロードに近いため)と呼ばれることがある。ニアゾーンは、インターネットなどの公的にアクセス可能なネットワークに、例えば直接、別のネットワーク経由で、またはリージョンへのプライベート接続経由で、様々な方法で接続され得る。通常、ニアゾーンは、リージョンに比べ容量が限られているが、場合によっては、ニアゾーンが、数千ラック以上などのかなりの容量を有することがある。
いくつかの実施態様では、エッジロケーションは、顧客またはパートナー施設のオンプレミスに配置された1つ以上のサーバによって形成されるクラウドプロバイダネットワークサブストレートの拡張であってもよく、そのようなサーバ(複数可)は、ネットワーク(例えば、インターネットなどの公的にアクセス可能なネットワーク)を介して、クラウドプロバイダネットワーク203の近くの可用性ゾーンまたはリージョンと通信する。クラウドプロバイダネットワークデータセンタの外側に位置するこのタイプのサブストレートエクステンションは、クラウドプロバイダネットワーク203の「アウトポスト」と呼ぶことがある。いくつかのアウトポストは、例えば、電気通信データセンタ、電気通信アグリゲーションサイト、及び/または電気通信ネットワーク内の電気通信基地局にわたって広がる物理的インフラストラクチャを有するマルチアクセスエッジコンピューティング(MEC)サイトとして、通信ネットワークに統合され得る。オンプレミスの例では、アウトポストの限られた容量は、その施設を所有する顧客(及び顧客が許可したその他の任意のアカウント)のみが使用できる場合がある。電気通信の例では、アウトポストの限られた容量は、電気通信ネットワークのユーザにデータを送信する複数のアプリケーション(例えば、ゲーム、仮想現実アプリケーション、ヘルスケアアプリケーション)間で共有され得る。
エッジロケーションは、プロバイダネットワークの近くの可用性ゾーンのコントロールプレーンによって少なくとも部分的に制御されるデータプレーン容量を含むことができる。したがって、可用性ゾーングループは、「親」可用性ゾーンと、親可用性ゾーンをホームとする(例えば、少なくとも部分的にそのコントロールプレーンによって制御される)任意の「子」エッジロケーションとを含むことがある。特定の限られたコントロールプレーン機能(例えば、顧客リソースとの低遅延の通信を必要とする機能、及び/または親可用性ゾーンから切断されたときにエッジロケーションが機能し続けることを可能にする機能)もまた、いくつかのエッジロケーションに存在し得る。したがって、上記の例では、エッジロケーションは、顧客デバイス及び/またはワークロードに近い、クラウドプロバイダネットワーク203のエッジに位置する少なくともデータプレーン容量の拡張を指す。
図1の例では、分散コンピューティングデバイス112(図1)、集中コンピューティングデバイス115(図1)、及びコアコンピューティングデバイス118(図1)は、クラウドプロバイダネットワーク203のプロバイダサブストレートエクステンション224として実装され得る。通信ネットワーク100内でのプロバイダサブストレートエクステンション224の設置または配置は、通信ネットワーク100の特定のネットワークトポロジまたはアーキテクチャに応じて変わり得る。プロバイダサブストレートエクステンション224は、一般に、通信ネットワーク100がパケットベースのトラフィック(例えば、IPベースのトラフィック)を発生させることができるどこにでも接続することができる。さらに、所与のプロバイダサブストレートエクステンション224とクラウドプロバイダネットワーク203との間の通信は、通常、通信ネットワーク100の少なくとも一部を(例えば、安全なトンネル、仮想プライベートネットワーク、直接接続などを介して)安全に通過する。
5Gワイヤレスネットワーク開発の取り組みでは、エッジロケーションがマルチアクセスエッジコンピューティング(MEC)の実装の可能性として考慮されることがある。このようなエッジロケーションは、ユーザプレーン機能(UPF)の一部としてデータトラフィックのブレイクアウトを提供する5Gネットワーク内の様々なポイントに接続することができる。古いワイヤレスネットワークでも、エッジロケーションを組み込むことができる。例えば、3Gワイヤレスネットワークでは、エッジロケーションは、サービング汎用パケット無線サービスサポートノード(SGSN)またはゲートウェイ汎用パケット無線サービスサポートノード(GGSN)など、通信ネットワーク100のパケット交換ネットワーク部分に接続することができる。4Gワイヤレスネットワークでは、エッジロケーションは、コアネットワークまたは進化型パケットコア(EPC)の一部として、サービングゲートウェイ(SGW)またはパケットデータネットワークゲートウェイ(PGW)に接続することができる。いくつかの実施形態では、プロバイダサブストレートエクステンション224とクラウドプロバイダネットワーク203との間のトラフィックは、コアネットワークを介してルーティングすることなく、通信ネットワーク100から切り離すことができる。
いくつかの実施形態では、プロバイダサブストレートエクステンション224は、それぞれの顧客に関連付けられた複数の通信ネットワークに接続することがある。例えば、それぞれの顧客の2つの通信ネットワークが共通点を介してトラフィックを共有またはルーティングする場合、プロバイダサブストレートエクステンション224は両方のネットワークに接続され得る。例えば、各顧客は、そのネットワークアドレス空間の一部をプロバイダサブストレートエクステンション224に割り当てることがあり、プロバイダサブストレートエクステンションは、通信ネットワーク100のそれぞれと交換されるトラフィックを区別可能なルータまたはゲートウェイを含むことがある。例えば、あるネットワークからプロバイダサブストレートエクステンション224に宛てられたトラフィックは、別のネットワークから受信したトラフィックとは異なる宛先IPアドレス、送信元IPアドレス、及び/または仮想ローカルエリアネットワーク(VLAN)タグを有する可能性がある。プロバイダサブストレートエクステンション224からネットワークの1つにある宛先に向かうトラフィックも同様に、適切なVLANタグ、(例えば、宛先ネットワークアドレス空間からプロバイダサブストレートエクステンション224に割り振られたプールからの)送信元IPアドレス、及び宛先IPアドレスを有するように、カプセル化することができる。
図2Bは、高可用性ユーザプレーン機能(UPF)を提供するための通信ネットワーク100(図1)のセルラ化及び地理的分布の例253を示す。図2Bにおいて、ユーザデバイス254は、要求ルータ255と通信して、複数のコントロールプレーンセル257a及び257bのうちの1つに要求をルーティングする。各コントロールプレーンセル257は、ネットワークサービスAPIゲートウェイ260、ネットワークスライス構成262、ネットワークサービス監視用機能264、サイト計画データ266(顧客のサイト要件を記述するレイアウト、デバイスタイプ、デバイス数量などを含む)、ネットワークサービス/機能カタログ268、オーケストレーション用機能270、及び/または他のコンポーネントを含むことがある。大規模なエラーが広範囲の顧客に影響を与える可能性を減らすために、独立して動作させる1つ以上のセルを、例えば、顧客ごとに、ネットワークごとに、またはリージョンごとに設けることにより、大きなコントロールプレーンをセルに分割することがある。
ネットワークサービス/機能カタログ268は、NFリポジトリ機能(NRF)とも呼ばれる。サービスベースアーキテクチャ(SBA)5Gネットワークでは、コントロールプレーン機能と共通データリポジトリとは、マイクロサービスアーキテクチャを使用して構築された相互接続されたネットワーク機能のセットを介して配信され得る。NRFは、利用可能なNFインスタンスとそのサポートされるサービスとの記録を維持することができ、他のNFインスタンスがサブスクライブし、所与のタイプのNFインスタンスからの登録を通知されることを可能にする。したがって、NRFは、NFインスタンスからの発見要求を受信することによってサービス発見をサポートし、どのNFインスタンスが特定のサービスをサポートするかを明示し得る。ネットワーク機能オーケストレータ270は、インスタンス化、スケールアウト/イン、パフォーマンス測定、イベント相関付け、及び終了を含むNFライフサイクル管理を実行することがある。ネットワーク機能オーケストレータ270は、新しいNFをオンボードすること、既存のNFの新しいバージョンまたは更新されたバージョンへの移行を管理すること、特定のネットワークスライスまたはより大きなネットワークに適したNFセットを識別すること、ならびに無線式ネットワーク103を構成する様々なコンピューティングデバイス及びサイトにわたってNFをオーケストレートすることもある。
コントロールプレーンセル257は、1つ以上のセルサイト272、1つ以上の顧客ローカルデータセンタ274、1つ以上のローカルゾーン276、及び1つ以上のリージョナルゾーン278と通信することがある。セルサイト272は、1つ以上の分散ユニット(DU)ネットワーク機能282を実行するコンピューティングハードウェア280を含む。顧客ローカルデータセンタ274は、1つ以上のDUまたは中央ユニット(CU)ネットワーク機能284、ネットワークコントローラ、UPF286、顧客のワークロードに対応する1つ以上のエッジアプリケーション287、及び/または他のコンポーネントを実行するコンピューティングハードウェア283を含む。
ローカルゾーン276は、クラウドサービスプロバイダによって運営されるデータセンタ内にあってもよく、AMF、SMF、他のネットワーク機能のサービス及び能力を安全に公開するネットワーク公開機能(NEF)、認可、登録、及びモビリティ管理のために加入者データを管理する統合データ管理(UDM)機能などの1つ以上のコアネットワーク機能288を実行してもよい。ローカルゾーン276は、UPF286、メトリック処理用サービス289、及び1つ以上のエッジアプリケーション287を実行することもある。
リージョナルゾーン278は、クラウドサービスプロバイダによって運営されるデータセンタ内にあってもよく、1つ以上のコアネットワーク機能288;UPF286;ネットワーク管理システム、サービス配信、サービス履行、サービス保証、及び顧客ケアをサポートする運用サポートシステム(OSS)290;インターネットプロトコルマルチメディアサブシステム(IMS)291;製品管理、顧客管理、収益管理、及び/または注文管理をサポートするビジネスサポートシステム(BSS)292;1つ以上のポータルアプリケーション293、及び/または他のコンポーネントを実行してもよい。
この例では、通信ネットワーク100は、個々のコンポーネントの爆発半径を低減するために、セルラアーキテクチャを採用する。最上位レベルでは、個々のコントロールプレーンの障害が全てのデプロイに影響を与えるのを防ぐために、コントロールプレーンは複数のコントロールプレーンセル257内にある。
各コントロールプレーンセル257内には、必要に応じてトラフィックをセカンダリスタックにシフトするコントロールプレーンを備えた複数の冗長スタックが設けられ得る。例えば、セルサイト272は、そのデフォルトのコアネットワークとして近くのローカルゾーン276を利用するように構成され得る。ローカルゾーン276が停止した場合、コントロールプレーンはセルサイト272をリダイレクトして、リージョナルゾーン278内のバックアップスタックを使用することができる。通常、インターネットからローカルゾーン276にルーティングされるトラフィックは、リージョナルゾーン278のエンドポイントにシフトされ得る。各コントロールプレーンセル278は、複数のサイトにわたって(可用性ゾーンまたはエッジサイトなどにわたって)共通のセッションデータベースを共有する「ステートレス」アーキテクチャを実装することがある。
図3は、いくつかの実施形態による、地理的に分散したプロバイダサブストレートエクステンション224(図2A)(または「エッジロケーション303」)を含む例示的なクラウドプロバイダネットワーク203を示す。図示するように、クラウドプロバイダネットワーク203は、複数のリージョン306として形成されることがあり、ここでリージョンとは、クラウドプロバイダが1つ以上のデータセンタ309を有する別個の地理的領域である。各リージョン306は、例えばファイバ通信接続などのプライベート高速ネットワークを介して互いに接続された2つ以上の可用性ゾーン(AZ)を含むことがある。可用性ゾーンとは、他の可用性ゾーンに対して、別個の電源、別個のネットワーク、及び別個の冷却を備えた1つ以上のデータセンタ施設を含む、分離された障害ドメインを指す。クラウドプロバイダは、自然災害、大規模な停電、またはその他の予期せぬイベントによって同時に複数の可用性ゾーンがオフラインにならないように、リージョン306内で可用性ゾーンを相互に十分に離して配置するよう努める場合がある。顧客は、公的にアクセス可能なネットワーク(例えば、インターネット、セルラ通信ネットワーク、通信サービスプロバイダネットワーク)を介して、クラウドプロバイダネットワーク203の可用性ゾーン内のリソースに接続することができる。トランジットセンタ(TC)は、顧客をクラウドプロバイダネットワーク203にリンクさせる主要なバックボーンロケーションであり、他のネットワークプロバイダ施設(例えば、インターネットサービスプロバイダ、電気通信プロバイダ)と同じ場所に設置されてもよい。各リージョン306は、冗長性のために2つ以上のTCを運用できる。リージョン306は、各リージョン306を少なくとも1つの他のリージョンに接続するプライベートネットワークインフラストラクチャ(例えば、クラウドサービスプロバイダによって制御されるファイバ接続)を含むグローバルネットワークに接続される。クラウドプロバイダネットワーク203は、エッジロケーション303及びリージョナルエッジキャッシュサーバを介して、これらのリージョン306の外部にあるが、これらのリージョン306とネットワーク化されているポイントオブプレゼンス(「PoP」)からコンテンツを配信することができる。コンピューティングハードウェアのこの区分化及び地理的分散により、クラウドプロバイダネットワーク203は、高度のフォールトトレランス及び安定性を有する地球規模の低遅延リソースアクセスを顧客に提供することができる。
リージョナルデータセンタまたは可用性ゾーンの数と比較して、エッジロケーション303の数は、はるかに多くなる可能性がある。このようにエッジロケーション303を広範にわたりデプロイすることで、(リージョナルデータセンタに偶然にも非常に近いエンドユーザデバイスと比較して)はるかに大きなグループのエンドユーザデバイスに対して、クラウドへの低遅延接続を提供することができる。いくつかの実施形態では、各エッジロケーション303は、クラウドプロバイダネットワーク203の一部(例えば、親可用性ゾーンまたはリージョナルデータセンタ)にピアリングすることがある。このようなピアリングにより、クラウドプロバイダネットワーク203内で動作する様々なコンポーネントがエッジロケーション303のコンピューティングリソースを管理できるようになる。場合によっては、複数のエッジロケーション303が同じ施設(例えば、コンピュータシステムの別個のラック)に配置または設置され、追加の冗長性を提供するように異なるゾーンまたはデータセンタ309によって管理されてもよい。本明細書では、エッジロケーション303は通常、通信サービスプロバイダネットワークまたは無線式ネットワーク103(図1)内として示されているが、クラウドプロバイダネットワーク施設が通信サービスプロバイダ施設に比較的近い場合など、場合によっては、エッジロケーション303は、ファイバまたは他のネットワークリンクを介して通信サービスプロバイダネットワークに接続されている間、クラウドプロバイダネットワーク203の物理的敷地内に留まり得ることに留意されたい。
エッジロケーション303は、いくつかの方法で構造化され得る。いくつかの実施態様では、エッジロケーション303は、(例えば、顧客のワークロードの近くに位置し、どの可用性ゾーンからも離れている可能性がある、小規模なデータセンタ内の、またはクラウドプロバイダの他の施設内の)可用性ゾーンの外側に提供される限られた量の容量を含む、クラウドプロバイダーネットワークサブストレートの拡張であり得る。そのようなエッジロケーション303は、(従来の可用性ゾーンよりもローカルまたはユーザのグループに近いため)ローカルゾーンと呼ばれることがある。ローカルゾーンは、インターネットなどの公的にアクセス可能なネットワークに、例えば直接、別のネットワーク経由で、またはリージョン306へのプライベート接続経由で、様々な方法で接続され得る。通常、ローカルゾーンは、リージョン306に比べ容量が限られているが、場合によっては、ローカルゾーンが、数千ラック以上などのかなりの容量を有することがある。ローカルゾーンの中には、本明細書で説明するエッジロケーション303インフラストラクチャの代わりに、典型的なクラウドプロバイダデータセンタと同様のインフラストラクチャを使用するものもあり得る。
本明細書に示すように、クラウドプロバイダネットワーク203は、いくつかのリージョン306として形成することができ、各リージョン306は、クラウドプロバイダがデータセンタ309をクラスタ化する地理的エリアを表す。各リージョンは、プライベート高速ネットワーク、例えばファイバ通信接続を介して互いに接続された複数の(例えば、2つ以上の)可用性ゾーン(AZ)をさらに含むことがある。AZは、別のAZとは別個の電源、別個のネットワーク、及び別個の冷却を備えた1つ以上のデータセンタ施設を含む、分離された障害ドメインを提供し得る。リージョン306内のAZは、同じ自然災害(またはその他の障害を引き起こすイベント)が影響を与えたり、同時に複数のAZをオフラインにしたりしないように、互いに十分に離れたロケーションに配置することが好ましい。顧客は、公衆アクセス可能なネットワーク(インターネット、セルラ通信ネットワークなど)を介して、クラウドプロバイダネットワーク203のAZに接続できる。
クラウドプロバイダネットワーク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に対してペアレンティングされる。
図4を参照すると、様々な実施形態によるネットワーク環境400が示される。ネットワーク環境400は、コンピューティング環境403、1つ以上のクライアントデバイス406、1つ以上の事前デプロイデバイス409、及びネットワーク412を介して相互にデータ通信する1つ以上の無線式ネットワーク103を含む。ネットワーク412は、例えば、インターネット、イントラネット、エクストラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク、無線ネットワーク、ケーブルネットワーク、衛星ネットワーク、もしくは他の適切なネットワークなど、または2つ以上のこれらのようなネットワークのいずれかの組み合わせを含む。
コンピューティング環境403は、例えば、サーバコンピュータまたはコンピューティング容量を提供する任意の他のシステムを含んでよい。代わりに、コンピューティング環境403は、例えば、1つ以上のサーババンクまたはコンピュータバンクまたは他の配置で配置し得る複数のコンピューティングデバイスを採用し得る。係るコンピューティングデバイスは、単独の設備に位置し得る、または多くの異なる地理的なロケーション間に分散され得る。例えば、コンピューティング環境403は、ホストコンピューティングリソース、グリッドコンピューティングリソース、及び/または任意の他の分散コンピューティング配置を一緒に備え得る複数のコンピューティングデバイスを含み得る。いくつかの場合では、コンピューティング環境403は、処理、ネットワーク、ストレージ、または他のコンピューティング関連リソースの割り当て容量が経時的に変化してもよい弾性的な計算リソースに対応してもよい。例えば、コンピューティング環境403は、クラウドプロバイダネットワーク203(図2A)に対応することができ、顧客は、ユーティリティコンピューティングモデルに基づくコンピューティングリソースの使用に応じて請求される。
いくつかの実施形態では、コンピューティング環境403は、例えばハイパーバイザによって物理コンピューティングハードウェア上で実行される仮想マシンインスタンスを含む物理ネットワーク内の仮想化プライベートネットワークに対応し得る。仮想マシンインスタンスとこれらのインスタンス上で実行されているコンテナとは、ルータやスイッチなどの物理ネットワークコンポーネントによって使用可能になる仮想化ネットワークコンポーネントを介してネットワーク接続が与えられる場合がある。
様々なアプリケーション及び/または他の機能は、様々な実施形態に従って、コンピューティング環境403で実行され得る。また、種々のデータは、コンピューティング環境403にアクセス可能であるデータストア415に格納される。データストア415は、理解できるとおり、複数のデータストア415の代表であり得る。データストア415に格納されるデータは、例えば、以下に記載する種々のアプリケーション及び/または機能性エンティティの動作に関連付けられる。
ユーティリティコンピューティングサービスを提供するクラウドプロバイダネットワーク203の一部としてのコンピューティング環境403は、コンピューティングデバイス418及び他のタイプのコンピューティングデバイスを含む。コンピューティングデバイス418は、異なるタイプのコンピューティングデバイス418に対応することがあり、異なるコンピューティングアーキテクチャを有することがある。コンピューティングアーキテクチャは、x86、x86_64、ARM、Scalable Processor Architecture(SPARC)、PowerPCなどの異なるアーキテクチャを持つプロセッサを利用することで異なる場合がある。例えば、あるコンピューティングデバイス418はx86プロセッサを有し得るが、他のコンピューティングデバイス418はARMプロセッサを有し得る。コンピューティングデバイス418は、ローカルストレージ、グラフィックス処理ユニット(GPU)、機械学習エクステンション、及び他の特性など、利用可能なハードウェアリソースも異なる場合がある。
割り振られたコンピューティング容量421は、コンピューティングデバイス418で実行される仮想マシン(VM)インスタンス、コンテナ、またはサーバレス機能に対応し得る。仮想マシンインスタンスは、仮想マシン(VM)イメージからインスタンス化され得る。この目的のために、顧客は、仮想マシンインスタンスが他のタイプのコンピューティングデバイス418ではなくコンピューティングデバイス418内で起動されるべきであることを指定することがある。様々な例において、1つのVMインスタンスが特定のコンピューティングデバイス418上で単独で実行されてもよく、または複数のVMインスタンスが特定のコンピューティングデバイス418上で実行されてもよい。また、特定のコンピューティングデバイス418は、異なるタイプのVMインスタンスまたはコンテナを実行することができ、それらは、コンピューティングデバイス418を介して利用可能な異なる量のリソースを提供することができる。例えば、あるタイプのVMインスタンスまたはコンテナは、他のタイプのVMインスタンスまたはコンテナよりも多くのメモリ及び処理能力を提供する場合がある。
コンピューティング環境403上で実行されるコンポーネントには、例えば、ネットワークスライス割り振りサービス425、コンテンツ配信サービス426、及び本明細書では詳細に説明しない他のアプリケーション、サービス、プロセス、システム、エンジン、または機能が含まれる。ネットワークスライス割り振りサービス425は、関連するコアネットワークを有する無線式ネットワーク103のRANに接続されるアプリケーション及び/またはクライアントデバイス406にネットワークスライスをオンデマンドで割り振るために実行される。本明細書で使用される「ネットワークスライス」という用語は、1つ以上のサービス品質要件に従って優先順位が割り当てられる、及び/またはネットワークトラフィックの受信、送信、または管理のためにハードウェア容量の予約が提供される特定のネットワークトラフィックを指す。ネットワークスライスのネットワークトラフィックは、(例えば、ディープパケットインスペクションによって)アプリケーション層、セッション層、トランスポート層、ネットワーク層、またはデータリンク層などの1つ以上のネットワーク層で識別され得る。ネットワークスライスは、一時的なものであるか、または時間もしくはデータ量の点で特定の期間を持つか、または解放もしくはキャンセルされるまで存在し得る。ネットワークスライス割り振りサービス425は、ネットワークスライスの割り振り、変更、または解放を要求するために、クライアントデバイス406上のアプリケーション、及び/またはそれらのアプリケーションと対話するバックエンドサービスによって呼び出され得る、アプリケーションプログラミングインターフェース(API)をサポートし得る。ネットワークスライス割り振りサービス427は、無線式ネットワーク103上にネットワークスライスを割り振るが、1つ以上の固定リンクまたは有線リンクを介して無線式ネットワーク103に結合された1つ以上のデバイスが存在してもよく、ネットワークスライス割り振りサービス427によって判定されるネットワークスライスは、そのようなデバイスにも同様に適用可能であってもよい。
ネットワークスライスを割り振るために、ネットワークスライス割り振りサービス425は、無線式ネットワーク103内の1つ以上のネットワーク機能を動的に構成して、ネットワークスライス規定を満たすネットワークトラフィックのサービス品質要件を実装し得る。ネットワークスライスは、通常のトラフィックよりも高いまたは低い優先度を有することがあり、したがって、通常の使用コストよりも高いまたは低い対応するコストを有する可能性があることに留意されたい。いくつかのシナリオでは、ネットワークスライス割り振りサービス425は、指定されたサービス品質要件を満たすために、ネットワーク機能ワークロードに割り当てられたコンピューティング容量421を増加または減少することがある。例えば、ネットワークスライスを実装するネットワーク機能に対してより多くのコンピューティング容量421が割り振られると、より低い遅延がもたらされ得る。いくつかの実施形態では、ネットワークスライス割り振りサービス425は、サービス品質要件を満たすために、無線式ネットワーク103内の異なるポイントでネットワーク機能ワークロードを再配置することもある。さらに、ネットワークスライス割り振りサービス425は、サービス品質要件を満たすために、無線式ネットワーク103内の異なるポイントでコンテンツ427を提供するために、コンテンツ配信サービス426をインスタンス化することがある。
いくつかの実施形態では、アプリケーション開発者またはアプリケーション所有者は、クラウドプロバイダネットワーク203内に特定のアプリケーションをデプロイするために使用されるアプリケーションテンプレート内で必要なネットワークスライス構成を指定することができて、アプリケーションが、ネットワークスライスに対するAPIベースの要求を行うときに、この情報をネットワークスライス割り振りサービス427に提供できるようにする。いくつかの実施形態では、ネットワークスライス割り振りサービス427は、顧客のアプリケーションまたは無線式ネットワーク103全体に対して、1つ以上の最適なネットワークスライスを自動的に判定する。この目的を達成するために、ネットワークスライス割り振りサービス427は、顧客の条件または複数の顧客にわたる条件を考慮してネットワークスライス構成を認識するために、1つ以上の機械学習モデルを訓練してもよい。その場合、機械学習モデルは、無線式ネットワーク103内に存在すると判定された所与のデバイスタイプまたはアプリケーションに割り振られる最適なネットワークスライスを識別するために使用され得る。例えば、ネットワークスライス割り振りサービス427は、デバイス、アプリケーション、遅延、使用パターンなどを理解するために、詳細なネットワーク情報を受信するか、または無線式ネットワーク103を自動的に調査することができる。次いでネットワークスライス割り振りサービス427は、この情報を機械学習モデルに提供して、遅延、帯域幅、信頼性、または他のメトリックを最適化するように、1つ以上のネットワークスライスを自動的に判定することができる。その後、これらの自動的に判定されたネットワークスライスは、ネットワークスライス割り振りサービス427によって自動的に割り振られてもよい。
コンテンツ配信サービス426は、エッジロケーション(集合的にコンテンツ配信ネットワークまたはCDNと呼ばれる、本明細書で説明されるPoP及び他のエッジロケーション303など)から、無線式ネットワーク103に結合されたクライアントデバイス406で実行されるアプリケーションに、コンテンツ427を提供するために実行される。いくつかの実施形態では、コンテンツ配信サービス426は、ネットワークスライスのサービス品質要件を満たすために、無線式ネットワーク103のエッジまたは別のロケーションでコンテンツ427の特定のアイテムを予測的にキャッシュする。コンテンツ427は、興味、消費履歴、サブスクリプションステータス、閲覧履歴、購入履歴、及び/または他の情報を含む顧客のアカウントに少なくとも部分的に基づいて、顧客による任意のコンテンツ消費要求に先立って決定され得る。いくつかのシナリオでは、コンテンツ配信サービス426は、無線式ネットワーク103に関連付けられた顧客によって自己ホストされてもよい。
データストア415に格納されるデータには、例えば、1つ以上のネットワークプラン439、1つ以上のセルラトポロジ442、1つ以上のスペクトル割り当て445、デバイスデータ448、1つ以上のRBNメトリック451、顧客請求データ454、無線ユニット構成データ457、アンテナ構成データ460、ネットワーク機能構成データ463、1つ以上のネットワーク機能ワークロード466、1つ以上の顧客ワークロード469、1つ以上のネットワークスライス470に関するデータ、及び潜在的に他のデータが含まれる。
ネットワーク計画439は、顧客のためにデプロイされることになる無線式ネットワーク103の仕様である。例えば、ネットワーク計画439は、カバーされることになる構内のロケーションまたは地理的エリア、セルの数、デバイス識別情報及び許可、所望の最大ネットワーク遅延、1つ以上のクラスのデバイスに対する所望の帯域幅またはネットワークスループット、アプリケーションまたはサービスの1つ以上のサービス品質パラメータ、及び/または無線式ネットワーク103を作成するために使用できる他のパラメータを含むことができる。顧客は、ユーザインターフェースを介してこれらのパラメータの1つ以上を手動で指定することができる。パラメータの1つ以上が、デフォルトパラメータとして事前設定されている場合がある。場合によっては、ネットワーク計画439は、無人航空機を使用した自動現場調査に少なくとも部分的に基づいて顧客向けに生成され得る。ネットワークプラン439を規定するパラメータの値は、クラウドサービスプロバイダがユーティリティコンピューティングモデルの下で顧客に請求するための基礎として使用され得る。例えば、サービスレベルアグリーメント(SLA)で、より低い遅延間目標及び/またはより高い帯域幅目標に対して、顧客にはより高い金額が請求される場合があり、顧客は、提供される地理的エリア、スペクトルの利用可能性などに基づいて、デバイス当たり、セル当たりで、請求される場合がある。
セルラトポロジ442は、セルのロケーションを考慮して可能な場合には、周波数スペクトルの再利用を考慮した、顧客のための複数のセルの配置を含む。セルラトポロジ442は、サイト調査を行って自動的に生成することができる。場合によっては、セルラトポロジ442内のセルの数は、カバーされることになる所望の地理的エリア、様々なサイトでのバックホール接続の可用性、信号伝播、利用可能な周波数スペクトル、及び/または他のパラメータに基づいて自動的に判定され得る。
スペクトル割り当て445には、無線式ネットワーク103に割り振られるのに利用可能な周波数スペクトルと、無線式ネットワーク103に現在割り振られている周波数スペクトルとが含まれる。周波数スペクトルには、制限なく公的にアクセス可能なスペクトル、顧客が個人的に所有またはリースしているスペクトル、プロバイダが所有またはリースしているスペクトル、無料で使用できるが予約が必要なスペクトルなどが含まれる場合がある。
デバイスデータ448は、無線式ネットワーク103への接続が許可されるワイヤレスデバイス106(図1)を記述するデータに対応する。このデバイスデータ448には、対応するユーザ、アカウント情報、請求情報、データプラン、許可されたアプリケーションまたは用途、ワイヤレスデバイス106がモバイルであるか固定であるかのインディケーション、ロケーション、現在のセル、ネットワークアドレス、デバイス識別子(例えば、国際モバイル機器識別(IMEI)番号、機器シリアル番号(ESN)、メディアアクセス制御(MAC)アドレス、加入者識別モジュール(SIM)番号など)などが含まれる。
RBNメトリック451は、無線式ネットワーク103のパフォーマンスまたは健全性を示す様々なメトリックまたは統計を含む。このようなRBNメトリック451には、帯域幅メトリック、ドロップパケットメトリック、信号強度メトリック、遅延メトリックなどが含まれ得る。RBNメトリック451は、デバイス当たり、セル当たり、顧客当たりなどで集約され得る。
顧客請求データ454は、プロバイダによる顧客のための無線式ネットワーク103の運用に対して顧客が負担すべき料金を指定する。料金には、顧客にデプロイされた機器に基づく固定費及び/または使用に基づく使用費が含まれる場合がある。場合によっては、顧客が、前払いで機器を購入している場合があり、帯域幅またはバックエンドネットワークのコストのみが請求される場合がある。他の場合には、顧客は、前払い費用を負担しない場合があり、純粋に使用に基づいて請求される場合がある。ユーティリティコンピューティングモデルに基づいて機器が顧客に提供されるので、クラウドサービスプロバイダは、不必要なハードウェアのオーバプロビジョニングを回避しながら、顧客の目標パフォーマンスメトリックを満たすために、機器の最適な構成を選択できる。
無線ユニット構成データ457は、無線式ネットワーク103にデプロイされる無線ユニットの構成設定に対応し得る。このような設定には、使用すべき周波数、使用すべきプロトコル、変調パラメータ、帯域幅、ネットワークルーティング及び/またはバックホール構成などが含まれる場合がある。
アンテナ構成データ460は、使用すべき周波数、方位角、垂直配向または水平配向、ビーム傾斜、及び/または(例えば、アンテナ上のネットワーク接続されたモータ及び制御装置によって)自動的に制御され得る他のパラメータ、またはユーザに特定の方法でアンテナを取り付けるか、もしくはアンテナに物理的な変更を加えるように指示することによって手動で制御され得る他のパラメータを含む、アンテナの構成設定に対応し得る。
ネットワーク機能構成データ463は、無線式ネットワーク103の様々なネットワーク機能の動作を構成する構成設定に対応する。様々な実施形態において、ネットワーク機能は、セルサイト、顧客アグリゲーションサイト、または顧客から遠隔に位置するデータセンタにあるコンピューティングデバイス418に位置するVMインスタンスまたはコンテナにデプロイされ得る。ネットワーク機能の非限定的な例としては、アクセスと移動管理機能、セッション管理機能、ユーザプレーン機能、ポリシ制御機能、認証サーバ機能、統合データ管理機能、アプリケーション機能、ネットワーク公開機能、ネットワーク機能リポジトリ、ネットワークスライス選択機能、及び/またはその他が挙げられ得る。ネットワーク機能ワークロード466は、1つ以上のネットワーク機能を実行するためのマシンイメージ、コンテナ、または機能に対応する。
顧客ワークロード469は、ネットワーク機能VMインスタンスまたはコンテナと並行に、またはその代わりに、VMインスタンスまたはコンテナとして実行され得る顧客のマシンイメージ、コンテナ、または機能に対応する。例えば、顧客ワークロード469は、顧客アプリケーションまたはサービスを提供しまたはサポートし得る。
ネットワークスライス470は、1つ以上の特定のサービス品質要件471に対して指定されたネットワークトラフィックのフローに対応する。フローは、特定のクライアントデバイス406上で実行される特定のアプリケーションに関連付けられたフロー、特定のクライアントデバイス406からの全てのネットワークトラフィック、全てのクライアントデバイス406からの特定の宛先へのフロー、特定のクライアントデバイス406からの特定の宛先へのフローなどに対応し得る。一例では、ネットワークスライス470は、送信元ポート、送信元ネットワークアドレス、宛先ポート、宛先ネットワークアドレス、及び/または他の情報によって識別される。ネットワークスライス470は、特定の期間または特定の量のデータに対して有効であってもよく、あるいはキャンセルまたは解放されるまで有効であってもよい。一例では、ネットワークスライス470は、クライアントデバイス406上で実行される特定のアプリケーションに対してオンデマンドで割り振られる。いくつかのシナリオでは、ネットワークスライス470が特定の繰り返し有効期間(例えば、毎週平日の午前0時から午前5時まで)を有しており、あるいはネットワークスライス470のサービス品質要件471が、繰り返し期間、現在のコストレベル、及び/またはその他の要因またはイベントに基づいて変化し得る。
サービス品質要件471は、最小または最大の帯域幅、最小または最大の遅延、最小または最大の信頼性尺度、最小または最大の信号強度などに対応し得る。サービス品質要件471は、固定コンポーネント、使用ベースのコンポーネント、及び/または輻輳ベースのコンポーネントを含み得る対応するコストレベルに関連付けられ得る。例えば、サービス品質要件471は、定期的な毎月の固定コスト、セッション当たりまたはメガバイト当たりのコスト、及び/またはセルサイトまたは特定のネットワークリンクでの輻輳に基づく動的コストに関連付けられ得る。場合によっては、顧客は、高レベルのサービスを提供するサービス品質要件471を選択することがある。また一方、他の場合には、顧客は、低レベルのコストを提供するが、特定の時間または特定の態様においてサービス品質を低下させるサービス品質要件471を選択することもある。例えば、顧客は、ネットワークを介して低コストでバックアップデータを送信するために、夜間の高スループットを可能にするサービス品質要件471を選択し、それ以外の場合は優先度の低いスループットを選択することがある。
クライアントデバイス406は、ネットワーク412に結合され得る複数のクライアントデバイス406を表す。クライアントデバイス406は、例えば、コンピュータシステムなどのプロセッサベースのシステムを含み得る。係るコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、携帯電話、スマートフォン、セットトップボックス、音楽プレーヤ、ウェブパッド、タブレットコンピュータシステム、ゲーム機、電子書籍リーダ、スマートウォッチ、ヘッドマウントディスプレイ、音声インターフェースデバイス、または他のデバイスの形で具体化されてよい。クライアントデバイス406は、例えば、液晶ディスプレイ(LCD)、ガスプラズマベースのフラットパネルディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電子インク(Eインク)ディスプレイ、LCDプロジェクタ、または他の種類の表示装置などの1つ以上のデバイスを備えるディスプレイを含み得る。
クライアントデバイス406は、クライアントアプリケーション436及び/または他のアプリケーション等の種々のアプリケーションを実行するよう構成されてもよい。クライアントアプリケーション436をクライアントデバイス406内で実行し、例えば、コンピューティング環境403及び/または他のサーバによって提供されるネットワークコンテンツにアクセスすることによって、ディスプレイ上のユーザインターフェースをレンダリングすることができる。この目的のために、クライアントアプリケーション436は、例えば、ブラウザ、専用アプリケーションなどを備えてもよく、ユーザインターフェースは、ネットワークページ、アプリケーション画面などを備えてもよい。特に、クライアントアプリケーション436は、ネットワークスライス割り振りサービス425からネットワークスライス470を要求するとともに、ネットワークスライス470に対する1つ以上のサービス品質要件471を指定するように構成され得る。次いで、クライアントアプリケーション436は、ネットワークスライス470を使用して、コンテンツ配信サービス426、ビデオ会議サービス、電話サービス、ソーシャルネットワークサービス、データバックアップサービス、及び/または他のタイプのバックエンドサービス及び/または宛先などの1つ以上のバックエンドサービスと通信することができる。クライアントデバイス406は、クライアントアプリケーション436に加えて、例えば、eメールアプリケーション、ソーシャルネットワーキングアプリケーション、ワードプロセッサ、スプレッドシート、及び/または他のアプリケーション等のアプリケーションを実行するよう構成されてもよい。
次に図5を参照すると、種々の実施形態に係るクライアントアプリケーション436の一部分の動作の一例を提示するフローチャートが示される。図5のフローチャートが本明細書に記載のクライアントアプリケーション436の一部の動作を実装するために用いられ得る、多くの異なるタイプの機能性配置の単なる例を提供することが理解される。代わりに、図5のフローチャートは、1つ以上の実施形態による、クライアントデバイス406(図4)内に実装された方法の要素の例を示していると見なされ得る。
ボックス503から開始し、クライアントアプリケーション436は、例えばネットワークスライシングAPIを呼び出すことによって、無線式ネットワーク103(図4)でのネットワークスライス470(図4)の割り振りを要求することを判定する。場合によっては、クライアントアプリケーション436は、ユーザがネットワークスライス470の割り振りを具体的に要求し、サービス品質要件471(図4)に対応するパラメータを構成できるようにするユーザインターフェースをレンダリングしてもよい。例えば、クライアントアプリケーション436は、低遅延と高コストとの組み合わせと、高遅延と低コストとの組み合わせとの間で調整するスライダを含むユーザインターフェースをレンダリングしてもよい。ユーザインターフェースでは、帯域幅、信頼性、ネットワークホップ数、及び/またはネットワークサービス品質に関連するその他のパラメータに関する設定を構成することも可能になり得る。いくつかの実施態様では、ネットワークスライス設定は、アプリケーション開発者または所有者によって指定され、無線式ネットワーク内でアプリケーションを起動するために使用できるアプリケーションテンプレートの一部として保存されてもよい。ネットワークスライス設定には、レート制限及びネットワークトポロジなどの設定だけでなく、無線式ネットワーク103の、基盤となる共有ハードウェアリソースの必要な容量が含まれることもある。このサービスは、特定のネットワークスライスをサポートするために必要なネットワーク機能のみをオーケストレートし、デプロイする方法を判定できる。ネットワークスライス設定は、ネットワークスライスのスケール変更に関連するパラメータを含むこともできて、特定のアプリケーションの需要に基づいて予約リソースの量を動的に調整できるようにする。このようにして、各アプリケーションは、そのアプリケーションの接続性、速度、遅延、及び容量のニーズに適したリソース及びネットワークトポロジの特有のセットを受け取ることができる。
他のシナリオでは、クライアントアプリケーション436は、ネットワークスライス470を自動的に要求することを判定してもよい。例えば、ネットワークの輻輳は、内部のサービス品質の尺度または要件に関してパフォーマンスの低下を引き起こす可能性があり、クライアントアプリケーション436は、パフォーマンスの低下を軽減するためにネットワークスライス470を要求するように構成され得る。ユーザはまた、クライアントアプリケーション436にネットワークスライス470を自動的に要求させるメトリックを、ユーザインターフェースを介して指定することもできる。例えば、ビデオ会議アプリケーションでは、ユーザは、ビデオ会議の品質を維持するためにネットワークスライス470の要求を可能にするボックスをチェックすることができる。
ボックス506では、クライアントアプリケーション436は、ネットワークスライス割り振りサービス425(図4)にネットワークスライス470を割り振らせる、ネットワークスライス470を割り振る要求を送信する。要求は、ネットワークスライス割り振りサービス425に直接送信することがあり、または中間エンティティに送信することもある。要求は、遅延、帯域幅、信頼性、ジッタ、または他の要件などの、1つ以上のサービス品質要件471を指定し得る。要件は、最大、最小、中央値、平均、またはその他の閾値尺度として表し得る。サービス品質要件471が対応するコストに関連付けられている限りにおいて、要求では代わりに、最大コスト、最小コスト、または帯域幅、遅延などのサービス品質ディメンションに顧客が費やすことを希望する範囲などの目標コストを指定でき、ネットワークは、顧客が負担することを希望する価格に基づいて対応するサービスレベルを割り当てる。場合によっては、ネットワークスライスの割り振りには、追加の周波数スペクトルの追加または予約が含まれる場合があり、それにはコストがかかる場合がある。このような場合、顧客は、例えばスペクトル割り振りのスポット市場で追加の周波数スペクトルに入札することができる。
また、クライアントアプリケーション436は、ネットワークスライス470の期間を指定することができ、これは、時間の長さ、データ量、または別の尺度に対応することができ、その後、別のネットワークスライス470またはデフォルトネットワークスライス470が有効になり得る。例えば、継続期間はアプリケーションのセッションに対応する場合がある。期間が指定されていない場合、ネットワークスライス470は、解放またはキャンセルされるまで有効であってもよい。要求は、アプリケーションプログラミングインターフェース(API)を介してネットワークスライス割り振りサービス425に送信されてもよく、顧客及び/またはクライアントアプリケーション436は、認証の目的で1つ以上のセキュリティ証明書を提供するように要求されてもよい。いくつかの実施形態では、要求は、クライアントアプリケーション436から直接ではなく、クライアントアプリケーション436と対話するバックエンドサービスによってネットワークスライス割り振りサービス425に送信され得る。例えば、要求は、クライアントデバイス406で実行されるビデオ会議クライアントアプリケーション436からではなく、ビデオ会議サービスプロバイダから送信されてもよい。
ボックス509では、クライアントアプリケーション436は、無線式ネットワーク103内のネットワークスライス470の対象となるネットワークトラフィックを識別するために、ネットワークスライス割り振りサービス425からネットワークスライス識別子トークンを受信する。例えば、クライアントアプリケーション436は、ネットワークスライス470の対象となるデータのパケットまたはセグメントにトークンを挿入することができる。このようにして、クライアントアプリケーション436は、どのネットワークトラフィックがデフォルトルーティングまたは別の割り振られたネットワークスライス470の代わりにネットワークスライス470を介してルーティングされるべきかを指定することができる。一実施形態では、ネットワークスライス識別子トークンはOAuthトークンである。あるいは、ネットワークスライス470内でルーティングされるネットワークトラフィックを識別するために、フロー識別情報(例えば、送信元ポート、送信元ネットワークアドレス、指定ポート、宛先アドレス)がネットワークスライス割り振りサービス425に提供されてもよい。別の例では、クライアントアプリケーション436からの全てのトラフィックは、ディープパケットインスペクションによって判定されて、ネットワークスライス470を介してルーティングされ得る。さらに別の例では、クライアントデバイス406上の複数のクライアントアプリケーション436または全てのクライアントアプリケーション436からのネットワークトラフィックは、同じネットワークスライス470を介してルーティングされ得る。
ボックス512では、クライアントアプリケーション436は、割り振られたネットワークスライス470を使用してデータを送信及び/または受信する。いくつかのシナリオでは、同じクライアントデバイス406上の他のクライアントアプリケーション436は、割り振られたネットワークスライス470を使用せずにデータの送信または受信を継続する。例えば、電子メールアプリケーションは、メディアプレーヤアプリケーションに割り振られたネットワークスライス470ではなく、デフォルトのネットワーク接続を使用し続ける場合がある。また、クライアントアプリケーション436は、他のタイプのネットワークトラフィックを送信及び/または受信するために、異なるネットワークスライス470またはデフォルトのネットワーク接続を使用することがある。
ボックス515では、クライアントアプリケーション436は、ネットワークスライス470を変更するかどうかを判定する。例えば、顧客は、異なるサービス品質要件471を要求する可能性があり、または現在のサービス品質要件471が、クライアントアプリケーション436の現在の使用法にとって十分でない可能性がある。この違いは、サービス品質要件471の増加またはサービス品質要件471の減少である可能性がある。場合によっては、ネットワークスライス470は、QoS要件を維持するために、ネットワークスライス内で観察されたネットワークトラフィック、または需要に基づいて自動的にスケール変更され得る。クライアントアプリケーション436がネットワークスライス470を変更すると判定した場合、クライアントアプリケーション436はボックス515からボックス518へ移動し、ネットワークスライス470を変更する要求をネットワークスライス割り振りサービス425に送信する。例えば、変更する要求は、クライアントアプリケーション436によってAPIを介して自動的に送信されてもよい。その後、クライアントアプリケーション436はボックス509に戻り、更新されたトークンを受信することができる。
クライアントアプリケーション436がネットワークスライス470を変更しないと判定した場合、クライアントアプリケーション436はボックス515からボックス521へ移動し、現在のネットワークスライス470を解放するかキャンセルするかを判定する。例えば、アプリケーションセッションが終了し、ネットワークスライス470が必要でない可能性がある。クライアントアプリケーション436がネットワークスライス470を解放すると判定した場合、クライアントアプリケーション436はボックス521からボックス524へ移動し、ネットワークスライス470を解放する要求をネットワークスライス割り振りサービス425に送信する。例えば、解放する要求は、APIを介して送信されてもよい。その後、クライアントアプリケーション436の動作は終了する。
図6に移ると、種々の実施形態に係るネットワークスライス割り振りサービス425の一部分の動作の一例を提示するフローチャートが示される。図6のフローチャートが本明細書に記載のネットワークスライス割り振りサービス425の一部の動作を実装するために用いられ得る、多くの異なるタイプの機能性配置の単なる例を提供することが理解される。代替形態として、図6のフローチャートは、1つ以上の実施形態による、コンピューティング環境403(図4)内に実装された方法の要素の例を示していると見なされ得る。
ボックス603から開始し、ネットワークスライス割り振りサービス425は、ネットワークスライス470(図4)を割り振るか、または無線式ネットワーク103(図4)での既存のネットワークスライス470を変更するかを判定する。ネットワークスライス割り振りサービス425は、複数の顧客の複数の異なる無線式ネットワーク103のネットワークスライスを管理することができる。一例では、ネットワークスライス割り振りサービス425は、クライアントアプリケーション436(図4)またはクライアントデバイス406(図4)に対して、ネットワークスライス470を割り振る、または変更するために、APIベースの要求を受信する。本明細書で説明されるように、クライアントアプリケーション426は、無線式ネットワーク103を介して他のアプリケーション及び/またはエンドユーザデバイスと通信するソフトウェアアプリケーションであってもよい。要求は、クライアントアプリケーション436から直接受信されてもよく、あるいはクライアントアプリケーション436と通信するバックエンドサービスまたは他のホストから受信されてもよい。要求には、クライアントアプリケーション436に関連付けられた顧客を認証するためのセキュリティ資格情報または他の識別子が含まれてもよい。この要求は、ネットワークスライス470に対する1つ以上のサービス品質要件471(図4)と、それらの要件を満たすために顧客が支払ってもよいとする潜在的なコストとを指定する。一例では、ネットワークスライス470は、無線式ネットワーク103を介したデフォルト接続よりも低いサービス品質要件471に関連付けられる。別の例では、ネットワークスライス470は、無線式ネットワーク103を介したデフォルト接続よりも高いサービス品質要件471に関連付けられる。要求は、期間、データ量に関して、またはアプリケーションの動作に基づいて、継続期間を指定することができ、ネットワーク機能(複数可)は、その継続期間が満たされたときにネットワークスライス470を解放するように再構成され得る。
他の例では、ネットワークスライス割り振りサービス425は、機械学習モデルに少なくとも部分的に基づいて、無線式ネットワーク103上の構成または条件を観察して、ネットワークスライス470を割り振るか変更するかを自動的に判定する。場合によっては、ネットワークスライス割り振りサービス425は、顧客の以前のネットワークまたは予想される使用パラメータに基づいてデプロイされることになる新しい無線式ネットワーク103に対して1つ以上のネットワークスライス470を事前構成することを判定してもよい。
ボックス606では、ネットワークスライス割り振りサービス425は、サービス品質要件471を満たすために、ネットワークスライス470のデータを処理するように、無線式ネットワーク103内の1つ以上のネットワーク機能を構成し、または再構成する。例えば、ネットワークスライス割り振りサービス425は、より低遅延もしくはより高遅延の尺度または他の尺度をもたらすために、より高い優先度またはより低い優先度でデータを処理するようにネットワーク機能を構成することができる。別の例では、ネットワークスライス割り振りサービス425は、指定された最大帯域幅まで、または指定された最小遅延まで、アプリケーションからのデータを優先するようにネットワーク機能を構成することができる。一例では、ゲームアプリケーションであるクライアントアプリケーション436は、非常に低遅延の要件を有する場合がある。ネットワークスライス割り振りサービス425は、ネットワークスライス270の容量を確保するために、基盤となるネットワークハードウェアで予約を行うこともできる。場合によっては、ネットワークスライス割り振りサービス425は、複数のネットワークスライス270に割り振られたネットワーク容量が実際のネットワークハードウェア容量を超え得るように、ネットワーク容量をネットワークスライス270にオーバサブスクライブ方式で割り振ることができる。このことは、ネットワークスライス270のQoS要件471を満たすネットワーク容量の予測能力を判定することに応答して行われてもよい。このような予測は、過去のネットワークトラフィック量、予測される将来の量を示すデータなどに少なくとも部分的に基づいて生成することができる。
ネットワークスライス470は、無線式ネットワーク103の一部または無線式ネットワーク103全体のいずれかに対して構成され得ることに留意されたい。例えば、所与のデバイスに非常に低遅延のサービス品質要件が与えられ、そのデバイスが1つのセル109(図1)内の固定ロケーションにあることがわかっている場合、そのセル109に関連付けられたネットワーク機能は、ネットワークスライス470を実装するように構成され得、他のセル109に関連付けられたネットワーク機能ではない場合がある。言い換えると、ネットワークスライス470は、セル当たりで、または別のタイプのネットワーク細分に基づいて(例えば、あるリージョン306(図3)ではあるが別のリージョン306ではないリージョンにおいて)有効化または無効化され得る。
ボックス609では、ネットワークスライス割り振りサービス425は、ネットワークスライス470のサービス品質要件471を満たすために、ネットワーク機能のための割り振られたコンピューティング容量421(図4)内のコンピューティングリソースを増加または減少させ得る。例えば、ネットワークスライス割り振りサービス425は、遅延を短縮し、信頼性を高めるなどするために、追加のマシンインスタンスまたはコンテナを起動して、ネットワークスライス470のネットワーク機能を実行してもよい。他の例では、ネットワーク機能のための割り振られたコンピューティング容量421は、スケールアップすること、変更しないままにすること、またはスケールダウンすることができる。例えば、ネットワークスライス470がより高い遅延値で構成されている場合、ネットワーク機能のための割り振られたコンピューティング容量421はオーバプロビジョニングされる可能性があり、新しく作成されたサービス品質要件471を犠牲にすることなく削減できる可能性がある。逆に、ネットワークスライス割り振りサービス425は、変更されたネットワークスライス470に容量が必要ない場合、既存のマシンインスタンスまたはコンテナを終了することを判定してもよい。
ボックス612では、ネットワークスライス割り振りサービス425は、サービス品質要件471を満たすために、ネットワーク機能ワークロード466(図4)を、異なるコンピューティングデバイス418(図4)上の割り振られたコンピューティング容量421に転送することができる。例えば、ネットワークスライス割り振りサービス425は、ネットワーク機能ワークロード466をセルサイトまたは顧客アグリゲーションサイトなどのエッジロケーションに移動して、遅延または他のサービス品質尺度を改善することができる。セルサイトは、クライアントデバイス406によって現在使用中のセルサイト、またはクライアントデバイス406によって使用中であると予測される1つ以上のセルサイトとして識別され得る。
ネットワーク機能ワークロード466の転送には、要求元の顧客または他の顧客の顧客ワークロード469(図4)をコンピューティングデバイス418から遠ざけて再配置すること、または場合によってはネットワーク機能(複数可)のためのスペースを空けるためにコンピューティングデバイス418の割り振られたコンピューティング容量421を減らすことが含まれる場合がある。場合によっては、ネットワーク機能ワークロード466は、関連するコアネットワークに、エッジロケーションから離れて、転送させる場合がある。ボックス615では、ネットワークスライス割り振りサービス425は、より低いまたはより高いサービス品質要件471を有する他のネットワークスライス470用に、サービス品質要件471のためのスペースを確保し、それを満たすために、その新しく割り振られたネットワークスライス470の処理優先度を調整する。あるいは、他の既存のネットワークスライス470に対するサービス品質要件471を、減少させるまたは増加させることがある。
ボックス618では、ネットワークスライス割り振りサービス425は、APIを介して顧客にネットワークスライス識別子トークンを返すことができる。トークンは、ネットワークスライス470のネットワークトラフィックを指定するために、クライアントデバイス406及び/またはクライアントアプリケーション436によって使用され得る。ボックス621では、ネットワークスライス割り振りサービス425は、リソースを利用可能なリソースプールに解放するかどうかを判定する。例えば、ネットワークスライス470に割り振られたリソースがスケールダウンされた場合、それらのリソースは、他のネットワークスライス470への割り振り、または一般にネットワークの動作に利用可能になり得る。その後、ネットワークスライス割り振りサービス425の部分の動作が終了する。
続いて図7を参照すると、種々の実施形態に係るネットワークスライス割り振りサービス425の別の部分の動作の一例を提示するフローチャートが示される。図7のフローチャートが本明細書に記載のネットワークスライス割り振りサービス425の一部の動作を実装するために用いられ得る、多くの異なるタイプの機能性配置の単なる例を提供することが理解される。代替形態として、図7のフローチャートは、1つ以上の実施形態による、コンピューティング環境403(図4)内に実装された方法の要素の例を示していると見なされ得る。
ボックス703から開始し、ネットワークスライス割り振りサービス425は、クライアントアプリケーション436(図4)またはクライアントデバイス406(図4)にネットワークスライス470(図4)を割り振る要求を受信する。要求は、クライアントアプリケーション436から直接受信されてもよく、あるいはクライアントアプリケーション436と通信するバックエンドサービスまたは他のホストから受信されてもよい。要求には、クライアントアプリケーション436に関連付けられた顧客を認証するためのセキュリティ資格情報または他の識別子が含まれてもよい。この要求は、ネットワークスライス470に対する1つ以上のサービス品質要件471(図4)を指定する。一例では、ネットワークスライス470は、無線式ネットワーク103(図4)を介したデフォルト接続よりも低いサービス品質要件471に関連付けられる。別の例では、ネットワークスライス470は、無線式ネットワーク103を介したデフォルト接続よりも高いサービス品質要件471に関連付けられる。要求は、期間、アプリケーションライフサイクル、またはデータ量に関して、継続期間を指定することができ、ネットワーク機能(複数可)は、その継続期間が満たされたときにネットワークスライス470を解放するように再構成され得る。
ボックス706において、ネットワークスライス割り振りサービス425は、ネットワークスライス470がネットワークセンシティブコンテンツ427(図4)の消費と関連していると判定する。例えば、ネットワークスライス470を要求するクライアントアプリケーション436は、スマートテレビまたはテレビコンパニオンデバイスで実行されるビデオプレーヤアプリケーションであってもよい。コンテンツは、遅延またはパケットのドロップに影響されやすい可能性があるという点で、ネットワークセンシティブである可能性があり、比較的大量のデータの送信が必要になる場合がある。ネットワークの問題により、オーディオまたはビデオのアーティファクトまたは一時停止など、コンテンツを消費する際のユーザエクスペリエンスが低下することがある。コンテンツの他の例には、他のデバイスへのビデオのストリーミング、またはゲームもしくはAR/VRアプリケーション用のものがある。ボックス709で、ネットワークスライス割り振りサービス425は、ネットワーク内のコンテンツ配信サービス426(図4)の現在のロケーションに基づいて、サービス品質要件471が満たされないと判定する。例えば、コンテンツ427は、混雑したバックボーン通信リンクを通過する必要がある場合がある。
ボックス712において、ネットワークスライス割り振りサービス425は、コンテンツ配信サービス426を無線式ネットワーク103上でインスタンス化させる。一例では、コンテンツ配信サービス426は、セルサイトまたは顧客サイトなどのエッジロケーションでインスタンス化される。また、ネットワークは、図6のフローチャートのボックス606~618で説明されているように、ネットワークスライス470用に別の方法で準備されてもよい。場合によっては、サービス品質要件471を満たすのに最適な場合、ネットワーク機能に割り振られたコンピューティング容量が解放され、コンテンツ配信サービス426を優先して再割り振りされることがある。
ボックス715で、ネットワークスライス割り振りサービス425は、コンテンツ配信サービス426へのコンテンツ427の転送を開始する。例えば、コンテンツ配信サービス426は、ネットワークスライス470に関連付けられた顧客のために、プライマリコンテンツ配信サービス426からのコンテンツを予測的にキャッシュするように構成され得る。このような予測キャッシュは、コンテンツ消費履歴、購入履歴、興味、お気に入りのジャンル、ウォッチリストなどを含む顧客のアカウントに関連付けられた情報を使用した予測に基づく場合がある。コンテンツ427は、バックボーン通信リンクの混雑が少ない時間外に予測的にキャッシュされることがある。1つのシナリオでは、コンテンツ427の転送は、コンテンツ427の消費がサービス品質要件471を満たしていないとの判定に応答して開始される。あるいは、コンテンツ427は、ネットワークスライス470がプロビジョニングされるクライアントデバイス406がコンテンツ427を要求する前に転送される。その後、ネットワークスライス割り振りサービス425の部分の動作が終了する。
図7の例は、コンテンツ配信サービス426を参照しているが、ネットワークスライス割り振りサービス425は、クライアントデバイス406とのネットワーク通信をサポートする他のタイプのエンドポイントサービスをインスタンス化してもよい。ネットワークスライス470がもはや必要でない場合、コンテンツ配信サービス426などのインスタンス化されたサービスは終了されてもよく、及び/またはコンテンツ427はコンテンツ配信サービス426から破棄されてもよい。
図8を参照すると、本開示の実施形態による、コンピューティング環境403の概略ブロック図が示されている。コンピューティング環境403は、1つ以上のコンピューティングデバイス800を含む。各コンピューティングデバイス800は、例えば、プロセッサ803及びメモリ806を有する少なくとも1つのプロセッサ回路を含み、それら両方が、ローカルインターフェース809に結合される。このために、各コンピューティングデバイス800は、例えば、少なくとも1つのサーバコンピュータまたは同様のデバイスを備え得る。ローカルインターフェース809は、理解できるとおり、例えば、付随するアドレス/制御バスを含むデータバスまたは他のバス構造を含み得る。
メモリ806に格納されるのは、データと、プロセッサ803によって実行可能ないくつかのコンポーネントとの両方である。具体的には、メモリ806に格納され、かつプロセッサ803により実行可能であるのは、ネットワークスライス割り振りサービス425、コンテンツ配信サービス426、及び潜在的な他のアプリケーションである。また、メモリ806に格納されるのは、データストア415及び他のデータであってもよい。加えて、オペレーティングシステムは、メモリ806に格納され、かつプロセッサ803により実行可能であり得る。
理解できるとおり、メモリ806に格納され、かつプロセッサ803により実行可能である他のアプリケーションが存在してもよいことが理解される。本明細書に説明される任意の構成要素が、ソフトウェアの形態で実装される場合、例えばC、C++、C#、ObjectiveC、Java(登録商標)、JavaScript(登録商標)、Perl、PHP、Visual Basic(登録商標)、Python(登録商標)、Ruby、Flash(登録商標)、または他のプログラミング言語等のいくつかのプログラミング言語のうちの任意の1つを採用し得る。
いくつかのソフトウェア構成要素が、メモリ806に格納され、プロセッサ803によって実行可能である。この点において、「実行可能」という用語は、プロセッサ803により最終的に起動可能である形式のプログラムファイルを意味する。実行可能なプログラムの例として、例えば、メモリ806のランダムアクセス部分にロード可能であり、かつプロセッサ803により起動可能なフォーマットで機械コードに変換可能なコンパイルされたプログラム、メモリ806のランダムアクセス部分にロード可能であり、かつプロセッサ803により起動可能なオブジェクトコード等の適切なフォーマットで表現され得るソースコード、またはプロセッサ803により実行されるようにメモリ806のランダムアクセス部分で命令を生成する別の実行可能なプログラムにより解釈され得るソースコード等が挙げられ得る。実行可能なプログラムは、例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカード、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)等の光ディスク、フロッピーディスク、磁気テープ、または他のメモリ構成要素を含むメモリ806の任意の部分または構成要素に格納され得る。
メモリ806は、揮発性メモリと不揮発性メモリとの両方及びデータストレージ構成要素を含むものとして本明細書に定義される。揮発性構成要素は、電源喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源喪失時にデータを保持するものである。したがって、メモリ806は、例えば、ランダムアクセスアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダを介してアクセスされるメモリカード、関連するフロッピーディスクドライブを介してアクセスされるフロッピーディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ、及び/または他のメモリ構成要素、あるいはこれらのメモリ構成要素のうちの任意の2つ以上の組み合わせを含み得る。加えて、RAMは、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)、及び他のこのようなデバイスを含み得る。ROMは、例えば、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または他の同様のメモリデバイスを含み得る。
また、プロセッサ803は、複数のプロセッサ803及び/または複数のプロセッサコアを表し得、メモリ806は、それぞれ並列処理回路で動作する複数のメモリ806を表し得る。このような場合、ローカルインターフェース809は、多数のプロセッサ803のうちの任意の2つの間、任意のプロセッサ803とメモリ806のうちのいずれかとの間、またはメモリ806のうちの任意の2つの間等の通信を容易にする適切なネットワークであり得る。ローカルインターフェース809は、例えば、ロードバランシングの実施を含むこの通信を調整するように設計される追加のシステムを備えてもよい。プロセッサ803は、電気的構造またはいくつかの他の利用可能な構造を有してもよい。
本明細書に記載のネットワークスライス割り振りサービス425、コンテンツ配信サービス426、及び他の種々のシステムは、上述のように、汎用ハードウェアにより実行されるソフトウェアまたはコードで具体化され得るが、代替として、同様のものが専用ハードウェアまたはソフトウェア/汎用ハードウェアと専用ハードウェアとの組み合わせで具体化されてもよい。専用ハードウェアで具体化される場合、各々は、多数の技術のうちの任意の1つまたはその組み合わせを用いる回路または状態機械として実装されることができる。これらの技術は、1つ以上のデータ信号の印可時に種々の論理機能を実装するために論理ゲートを有する離散論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の構成要素等を含んでもよいが、これらに限定されない。このような技術は、概して、当業者により周知であることから、本明細書に詳細に記載しない。
図5~図7のフローチャートは、ネットワークスライス割り振りサービス425及びクライアントアプリケーション436(図4)の一部の実施態様の機能性及び動作を示す。ソフトウェアで具体化される場合、各ブロックは、特定の論理機能(複数可)を実装するために、プログラム命令を含むコードのモジュール、セグメント、または一部分を表し得る。プログラム命令は、プログラミング言語で書かれる人間が読める命令文を含むソースコード、またはコンピュータシステムまたは他のシステム内のプロセッサ803等の適切な実行システムにより認識可能な数値命令を含む機械コードの形式で具体化されてもよい。機械コードは、ソースコード等から変換されてもよい。ハードウェアで具体化する場合、各ブロックは、特定の論理機能(複数可)を実装するために、回路または多数の相互接続された回路を表し得る。
図5~図7のフローチャートは、具体的な実行順序を示すが、実行順序が図示する順序と異なってもよいことが理解される。例えば、2つ以上のブロックの実行順序は、図示する順序を入れ替えてもよい。また、図5~図7に連続して示される2つ以上のブロックは、同時に、または一部同時に実行し得る。さらに、いくつかの実施形態では、図5~図7に示される1つ以上のブロックは、飛ばされるまたは省かれる場合もある。加えて、有用性の向上、説明、性能測定、または問題解決の手掛かりの提供等の目的で、任意の数のカウンタ、状態変数、警告セマフォ、またはメッセージを、本明細書に記載する論理フローに加えてもよい。全てのこのような変形が、本開示の範囲内にあることが理解される。
また、ソフトウェアまたはコードを備える、ネットワークスライス割り振りサービス425及びコンテンツ配信サービス426を含む、本明細書に記載の任意の論理またはアプリケーションは、例えば、コンピュータシステムまたは他のシステム内のプロセッサ803等の命令実行システムが使用する、またはそれに関連して使用する、任意の非一時的なコンピュータ可読媒体で具体化されることができる。この意味では、論理は、例えば、コンピュータ可読媒体から取得可能であり、かつ命令実行システムにより実行可能な命令及び宣言を含む命令文を含み得る。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムが使用する、またはそれに関連して使用する、本明細書に記載の論理またはアプリケーションを包含、格納、または保持することができる任意の媒体であることができる。
コンピュータ可読媒体は、例えば、磁気、光学、または半導体媒体等の多数の物理媒体のうちの任意の1つを含むことができる。適切なコンピュータ可読媒体のより具体的な例として、磁気テープ、磁気フロッピーディスク、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、USBフラッシュドライブ、または光ディスクが挙げられるだろうが、これらに限定されない。また、コンピュータ可読媒体は、例えば、スタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)を含むランダムアクセスメモリ(RAM)であってもよい。加えて、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または他の種類のメモリデバイスであってもよい。
また、ネットワークスライス割り振りサービス425及びコンテンツ配信サービス426を含む、本明細書に記載の任意の論理またはアプリケーションは、様々な方法で実装され、構築されてもよい。例えば、説明される1つ以上のアプリケーションは、単一のアプリケーションのモジュールまたは構成要素として実装され得る。さらに、本明細書に説明される1つ以上のアプリケーションは、共有されたコンピューティングデバイスもしくは別々のコンピューティングデバイス、またはそれらの組み合わせで実行され得る。例えば、本明細書に説明される複数のアプリケーションは、同じコンピューティングデバイス800で、または同じコンピューティング環境403の複数のコンピューティングデバイス800で実行され得る。
特に明記しない限り、句「X、YまたはZのうちの少なくとも1つ」などの選言的な言葉は、そうでなければ項目、用語等がX、YもしくはZのいずれか、またはその任意の組み合わせ(例えば、X、Y及び/またはZ)であってよいことを示すために一般的に用いられるとして文脈の中で理解される。ゆえに、このような選言的言語は、特定の実施形態がXの少なくとも1つ、Yの少なくとも1つ、またはZの少なくとも1つがそれぞれ存在することを必要とすることを黙示することを一般的に意図しておらず、意図するべきではない。
本開示の実施形態は、以下の条項のうちの1つ以上によって説明することができる。
条項1.無線アクセスネットワーク及び関連するコアネットワークを含む無線式ネットワークであって、アプリケーションが、ネットワークトラフィックの送信及び/または受信を行うために、前記無線式ネットワークのネットワークスライスを利用する、前記無線式ネットワークと、前記アプリケーションからのアプリケーションプログラミングインターフェース(API)要求に応答して、前記ネットワークスライスを動的に変更するように構成されたネットワークスライス割り振りサービスと、前記アプリケーションを実装する少なくとも1つのコンピューティングデバイスであって、前記アプリケーションが、少なくとも、前記ネットワークスライスが、最小帯域幅要件または最小遅延要件の少なくとも1つを含むサービス品質要件を満たしていないことを判定することと、前記ネットワークスライス割り振りサービスに、前記無線式ネットワークにおける前記アプリケーション用の前記ネットワークスライスの追加容量を予約させる第1のAPI要求を送信することであって、前記ネットワークスライスが前記サービス品質要件を提供する、前記送信することと、前記ネットワークトラフィックの送信及び/または受信を行うために、前記ネットワークスライスを使用することと、前記ネットワークスライスが前記サービス品質要件を超えることを判定することと、前記ネットワークスライス用に予約された容量の少なくとも一部を解放するために、前記ネットワークスライス割り振りサービスに第2のAPI要求を送信することと、を行うように構成されている、前記コンピューティングデバイスと、を備える、システム。
条項2.前記アプリケーションは、少なくとも、前記ネットワークスライス割り振りサービスから、前記ネットワークスライスを識別するトークンを取得すること、をさらに行うように構成されており、前記ネットワークスライスを使用して送信された1つ以上のデータパケットが、前記トークンで前記ネットワークスライスを識別する、条項1に記載のシステム。
条項3.前記アプリケーションは、前記第2のAPI要求を送信した後、前記ネットワークスライスの代わりにデフォルトのネットワーク接続を使用して、後続のデータの送信または受信を行うようにさらに構成されている、条項1~2に記載のシステム。
条項4.少なくとも1つのコンピューティングデバイスを介して、特定のコンピューティングデバイスで実行されるアプリケーションがサービス品質要件を有することを判定することであって、前記特定のコンピューティングデバイスが通信ネットワークに接続されている、前記判定することと、
前記少なくとも1つのコンピューティングデバイスを介して、ネットワークスライス割り振りサービスに、前記通信ネットワークにおける前記サービス品質要件を有するネットワークスライスを予約させる要求を送信することと、
前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスを使用して、前記アプリケーションとの間でデータを伝送することと、を含む、方法。
条項5.前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスを使用せずに、前記特定のコンピューティングデバイスで実行される別のアプリケーションとの間で他のデータを伝送することをさらに含む、条項4に記載の方法。
条項6.前記少なくとも1つのコンピューティングデバイスを介して、前記アプリケーションが前記サービス品質要件を有する時間の長さに少なくとも部分的に基づいて、前記ネットワークスライスの継続期間を判定することをさらに含み、前記要求が前記継続期間を指定する、条項4~5に記載の方法。
条項7.前記継続期間は、前記アプリケーションのセッションに対応する、条項6に記載の方法。
条項8.前記少なくとも1つのコンピューティングデバイスを介して、前記アプリケーションがもはやサービス品質要件を有していないことを判定することと、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスを解放するために、後続要求を前記ネットワークスライス割り振りサービスに送信することと、をさらに含む、条項4~7に記載の方法。
条項9.前記少なくとも1つのコンピューティングデバイスを介して、前記アプリケーションが増加したサービス品質要件を有することを判定することと、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライス割り振りサービスに、前記増加したサービス品質要件を有するように、前記ネットワークスライスを変更する後続要求を送信することと、をさらに含む、条項4~8に記載の方法。
条項10.前記少なくとも1つのコンピューティングデバイスを介して、前記アプリケーションが減少したサービス品質要件を有することを判定することと、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライス割り振りサービスに、前記減少したサービス品質要件を有するように、前記ネットワークスライスを変更する後続要求を送信することと、をさらに含む、条項4~9に記載の方法。
条項11.前記少なくとも1つのコンピューティングデバイスを介して、前記特定のコンピューティングデバイスで実行される別のアプリケーションが別のサービス品質要件を有することを判定することと、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライス割り振りサービスに、前記アプリケーション用に異なるネットワークスライスを予約させる後続要求を送信することであって、前記異なるネットワークスライスが、前記特定のコンピューティングデバイスのためのデフォルトのネットワークスライスよりも低いサービス品質要件に関連付けられている、前記送信することと、をさらに含む、条項4~10に記載の方法。
条項12.前記ネットワークスライスは、デフォルトのネットワークスライスよりも短い遅延に関連付けられる、条項4~11に記載の方法。
条項13.前記サービス品質要件は、前記アプリケーションの最小遅延要件を含む、条項4~12に記載の方法。
条項14.前記サービス品質要件は、前記アプリケーションの最小帯域幅要件を含む、条項4~13に記載の方法。
条項15.前記ネットワークスライス割り振りサービスに前記ネットワークスライスを予約させる前記要求を送信することは、前記特定のコンピューティングデバイスで実行される前記アプリケーションから前記ネットワークスライス割り振りサービスに、アプリケーションプログラミングインターフェースを介して前記要求を送信することをさらに含む、条項4~14に記載の方法。
条項16.前記ネットワークスライス割り振りサービスに前記ネットワークスライスを予約させる前記要求を送信することは、1つ以上のサーバで実行される前記アプリケーションのバックエンドサービスから前記ネットワークスライス割り振りサービスに、アプリケーションプログラミングインターフェースを介して前記要求を送信することをさらに含む、条項4~15に記載の方法。
条項17.コンピューティングデバイス内で実行可能なアプリケーションを具体化した非一時的コンピュータ可読媒体であって、前記アプリケーションが、実行されると、前記コンピューティングデバイスに、少なくとも、無線式ネットワーク内のネットワークスライスがアプリケーションのサービス品質要件を満たしていないことを判定することと、ネットワークスライス割り振りサービスに、前記無線式ネットワークにおける前記アプリケーション用の前記ネットワークスライスを予約させる要求を送信することであって、前記ネットワークスライスがサービス品質要件を提供する、前記送信することと、前記ネットワークスライスを使用してデータを送受信することと、を行わせる、前記非一時的コンピュータ可読媒体。条項18.前記アプリケーションは、実行されると、前記コンピューティングデバイスに、少なくとも、前記ネットワークスライスを解放するために、後続要求を前記ネットワークスライス割り振りサービスにさらに送信させる、条項17に記載の非一時的コンピュータ可読媒体。
条項19.前記アプリケーションは、実行されると、前記コンピューティングデバイスに、少なくとも、前記ネットワークスライスの継続期間をさらに判定させることであって、前記継続期間が時間分またはデータ量であり、前記要求が前記継続期間を指定する、条項17~18に記載の非一時的コンピュータ可読媒体。
条項20.前記アプリケーションは、実行されると、前記コンピューティングデバイスに、前記ネットワークスライスの最大遅延をさらに判定させ、前記要求が前記最大遅延を指定する、条項17~19に記載の非一時的コンピュータ可読媒体。
条項21.無線アクセスネットワーク及び関連するコアネットワークを含む無線式ネットワークであって、アプリケーションが、ネットワークトラフィックの送信及び/または受信を行うために、前記無線式ネットワークのそれぞれのネットワークスライスを利用する、前記無線式ネットワークと、ネットワークスライス割り振りサービスであって、少なくとも、前記無線式ネットワークのネットワークスライスを割り振るために、アプリケーションからアプリケーションプログラミングインターフェース(API)要求を受信することであって、前記アプリケーションからの前記要求が、前記ネットワークスライスのサービス品質要件を指定する、前記受信することと、前記API要求に応答して、前記ネットワークスライスの前記サービス品質要件を満たすように、前記ネットワークスライスを介して送信されたデータを処理するために、複数の利用可能なネットワーク機能の中からネットワーク機能のセットを識別することと、前記アプリケーションが前記ネットワークスライスを使用することを可能にすることと、を行うように構成されている、前記ネットワークスライス割り振りサービスと、を備える、システム。
条項22.前記ネットワークスライス割り振りサービスは、少なくとも、前記ネットワークスライスの前記サービス品質要件を満たすように、前記ネットワーク機能のセットを実装するコンピューティングリソースの量を増加させるように、さらに構成される、条項21に記載のシステム。
条項23.前記ネットワークスライス割り振りサービスは、少なくとも、前記ネットワーク機能のセットに対するワークロードを、前記無線式ネットワークの少なくとも一部と連設するクラウドプロバイダネットワークのエッジロケーションにある第1のコンピューティングデバイスから、前記クラウドプロバイダネットワークの別のエッジロケーションにある第2のコンピューティングデバイスへ転送するように、さらに構成される、条項21~22に記載のシステム。
条項24.前記ネットワークスライス割り振りサービスは、少なくとも、複数の顧客の複数の異なる無線式ネットワークに関連付けられた複数のネットワークスライスを管理するようにさらに構成される、条項21~23に記載のシステム。
条項25.前記ネットワークスライス割り振りサービスは、少なくとも、前記複数のネットワークスライスの前記サービス品質要件を満たす予測能力に少なくとも部分的に基づいて、ハードウェア容量を超えるオーバサブスクリプションを通じて、ネットワーク容量を複数のネットワークスライスに割り振るようにさらに構成される、条項21~24に記載のシステム。
条項26.前記ネットワークスライス割り振りサービスは、アクセストークンを生成し、前記アクセストークンを前記アプリケーションに返すことによって、前記アプリケーションが前記ネットワークスライスを使用することを可能にし、前記アプリケーションが、前記アクセストークンを提示することによって前記ネットワークスライスを使用する、条項21~25に記載のシステム。
条項27.少なくとも1つのコンピューティングデバイスを介して、無線アクセスネットワーク及び関連するコアネットワークを有する無線式ネットワークにおけるネットワークスライスを、前記無線式ネットワークに接続されたアプリケーションに割り振る要求を受信することであって、前記要求が、前記ネットワークスライスに必要なサービス品質制約のセットを指定する、前記受信することと、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスを実装するために、前記無線式ネットワークにおけるネットワーク機能のセットを構成することと、を含む、方法。
条項28.前記ネットワークスライスは、前記無線式ネットワークを介したデフォルト接続よりも低いサービス品質要件に関連付けられる、条項27に記載の方法。
条項29.前記ネットワークスライスは、前記無線式ネットワークを介したデフォルト接続よりも高いサービス品質要件に関連付けられる、条項27~28に記載の方法。
条項30.前記ネットワーク機能のセットを構成することは、前記ネットワークスライスを実装するために、前記少なくとも1つのコンピューティングデバイスを介して、少なくとも1つのネットワーク機能ワークロードを第1のコンピューティングデバイスから第2のコンピューティングデバイスに移動することをさらに含み、前記第1のコンピューティングデバイス及び前記第2のコンピューティングデバイスのうちの一方が、データセンタに配置され、前記第1のコンピューティングデバイス及び前記第2のコンピューティングデバイスの他方が、セルサイトに配置される、条項27~29に記載の方法。
条項31.前記ネットワーク機能のセットを構成することは、前記ネットワークスライスを実装するために、前記少なくとも1つのコンピューティングデバイスを介して、少なくとも1つのネットワーク機能ワークロードに割り振られるコンピューティングリソースの量をスケール変更することをさらに含む、条項27~30に記載の方法。
条項32.前記少なくとも1つのネットワーク機能ワークロードに割り振られる前記コンピューティングリソースの量をスケール変更することは、前記少なくとも1つのコンピューティングデバイスを介して、前記少なくとも1つのネットワーク機能ワークロードを実行する仮想マシンインスタンスまたはコンテナの数を増やすことをさらに含む、条項31に記載の方法。
条項33.前記ネットワーク機能のセットを構成することは、指定された最大帯域幅または指定された最小遅延まで、前記アプリケーションからのデータを優先するために、前記少なくとも1つのコンピューティングデバイスを介して、少なくとも1つの対応するネットワーク機能を構成することをさらに含む、条項27~32に記載の方法。
条項34.前記要求は、期間内の継続期間、またはデータ量を指定し、前記方法は、前記ネットワークスライスを解放するための前記継続期間が経過したときに、前記少なくとも1つのコンピューティングデバイスを介して、前記無線式ネットワーク内の少なくとも1つのネットワーク機能ワークロードを再構成することをさらに含む、条項27~33に記載の方法。
条項35.前記要求は、バックエンドサービスによって行われるアプリケーションプログラミングインターフェース(API)呼び出しを介して、前記アプリケーションに関連付けられた前記バックエンドサービスから受信される、条項27~34に記載の方法。
条項36.少なくとも1つのコンピューティングデバイス内で実行可能なネットワークスライス割り振りサービスを具体化した非一時的コンピュータ可読媒体であって、前記ネットワークスライス割り振りサービスが、実行されると、前記少なくとも1つのコンピューティングデバイスに、少なくとも、無線式ネットワークを介して通信するアプリケーションにネットワークスライスを割り振ることを判定することであって、前記ネットワークスライスが、指定されたサービス品質要件を有する、前記判定することと、前記ネットワークスライスの前記指定されたサービス品質要件を満たすように、前記ネットワークスライスを介して送信されたデータを処理するために、前記無線式ネットワークにおける少なくとも1つのネットワーク機能を構成することと、前記ネットワークスライスの前記指定されたサービス品質要件を満たすように、前記少なくとも1つのネットワーク機能を実装するコンピューティングリソースの量をスケール変更することと、を行わせる、前記非一時的コンピュータ可読媒体。
条項37.前記ネットワークスライスは、前記無線式ネットワーク上のクライアントデバイスから宛先に送信される全てのデータに対応する、条項36に記載のシステム。
条項38.前記ネットワークスライスは、前記無線式ネットワーク上のクライアントデバイスで実行される特定のアプリケーションから送信される全てのデータに対応する、条項36~37に記載のシステム。
条項39.前記ネットワークスライス割り振りサービスは、実行されると、前記少なくとも1つのコンピューティングデバイスに、前記ネットワークスライスの前記指定されたサービス品質要件を満たすように、別のネットワークスライスを介して送信される他のデータの優先順位を下げるために、前記無線式ネットワーク内の前記少なくとも1つのネットワーク機能を少なくとも構成させ、前記他のネットワークスライスが、前記指定されたサービス品質要件よりも低いサービス品質要件を有する、条項36~38に記載のシステム。
条項40.前記ネットワークスライス割り振りサービスは、実行されると、前記少なくとも1つのコンピューティングデバイスに、前記ネットワークスライスの前記指定されたサービス品質要件を満たすために、前記少なくとも1つのネットワーク機能の少なくとも1つのワークロードを、データセンタ内の第1のコンピューティングデバイスからセルサイトにある第2のコンピューティングデバイスまで少なくとも転送させる、条項36~39に記載のシステム。
条項41.無線アクセスネットワーク及び関連するコアネットワークを含む無線式ネットワークであって、アプリケーションが、ネットワークトラフィックの送信及び/または受信を行うために、前記無線式ネットワークのそれぞれのネットワークスライスを利用する、前記無線式ネットワークと、プログラムであって、少なくとも、前記無線式ネットワークでネットワークスライスをプロビジョニングするために、クライアントデバイスで実行されるアプリケーションから要求を受信することであって、前記ネットワークスライスが、前記アプリケーションのセッションに対してサービス品質要件を有する、前記受信することと、前記アプリケーションの動作が、前記ネットワークスライスを介したネットワークセンシティブコンテンツの転送を必要とすることを判定することと、前記無線式ネットワークのエッジロケーションで、前記ネットワークセンシティブコンテンツを提供するがことがなければ、前記ネットワークスライスが、前記サービス品質要件を満たさなくなることを判定することと、前記ネットワークスライスの前記サービス品質要件を満たすために、前記無線式ネットワークの前記エッジロケーションにあるコンテンツ配信サービスへの前記ネットワークセンシティブコンテンツの転送を開始することと、を行うように構成された、前記プログラムと、を備える、システム。
条項42.前記エッジロケーションは、前記無線アクセスネットワークの機器と連設されたクラウドプロバイダネットワークのエッジロケーションである、条項41に記載のシステム。
条項43.前記プログラムは、実行されると、前記少なくとも1つのコンピューティングデバイスに、前記ネットワークスライスに対して少なくとも1つのネットワーク機能を実行する前記無線式ネットワーク内のコンピューティングリソースの量を少なくとも増加させる、条項41~42に記載のシステム。
条項44.前記プログラムは、実行されると、前記ネットワークスライスが解放されたと判定したときに、前記少なくとも1つのコンピューティングデバイスに、前記エッジロケーションにおける前記コンテンツ配信サービスからの前記ネットワークセンシティブコンテンツを少なくともさらに破棄させる、条項41~43に記載のシステム。
条項45.アプリケーションプログラミングインターフェース(API)要求に応答して、少なくとも1つのコンピューティングデバイスを介して、無線アクセスネットワークと関連するコアネットワークとを有する無線式ネットワーク内で、サービス品質要件を備えたネットワークスライスをプロビジョニングすることと、前記ネットワークスライスの前記サービス品質要件を満たすために、前記API要求に応答して、前記少なくとも1つのコンピューティングデバイスを介して、前記無線式ネットワークのエッジロケーションにあるコンテンツ配信サービスへのコンテンツの転送を開始することと、を含む、方法。
条項46.前記無線式ネットワークに接続されたデバイス上で実行されるアプリケーションのセッションのために、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスをプロビジョニングすることをさらに含む、条項45に記載の方法。
条項47.前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスのエンドポイントからプライマリコンテンツ配信サービスへのネットワーク接続が、前記サービス品質要件を満たさないことを判定することと、前記少なくとも1つのコンピューティングデバイスを介して、前記コンテンツ配信サービスを起動することと、をさらに含む、条項45~46に記載の方法。
条項48.前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスを介した前記コンテンツの消費が、前記サービス品質要件を満たさないことを判定することをさらに含み、前記コンテンツの前記転送が、前記コンテンツの前記消費が前記サービス品質要件を満たさないことを判定することにさらに応答して開始される、条項45~47に記載の方法。
条項49.前記少なくとも1つのコンピューティングデバイスを介して、前記エッジロケーションにおけるコンピューティング容量を、前記無線式ネットワークの少なくとも1つのネットワーク機能から前記コンテンツ配信サービスに再割り振りすることをさらに含む、条項45~48に記載の方法。
条項50.前記エッジロケーションで前記コンピューティング容量を再割り振りすることは、前記少なくとも1つのコンピューティングデバイスを介して、前記エッジロケーションにおけるコンピューティングデバイス上で前記少なくとも1つのネットワーク機能を実行するように構成された第1のマシンインスタンスを終了することと、前記少なくとも1つのコンピューティングデバイスを介して、前記エッジロケーションにおける前記コンピューティングデバイス上で前記コンテンツ配信サービスをホストするように構成された第2のマシンインスタンスを起動することと、をさらに含む、条項49に記載の方法。
条項51.前記無線式ネットワークを介して前記コンテンツを取得するために、前記少なくとも1つのコンピューティングデバイスを介して、前記ネットワークスライスを使用するアプリケーションを構成することをさらに含む、条項45~50に記載の方法。
条項52.前記少なくとも1つのコンピューティングデバイスを介して、前記コンテンツを、前記エッジロケーションから、前記無線式ネットワークを介して接続するクライアントデバイスへ転送することをさらに含む、条項45~51に記載の方法。
条項53.前記少なくとも1つのコンピューティングデバイスを介して、前記コンテンツが消費されるという予測に少なくとも部分的に基づいて、前記コンテンツを識別することをさらに含み、前記予測が、前記ネットワークスライスに関連付けられたアカウントに対応する、条項45~52に記載の方法。
条項54.少なくとも1つのコンピューティングデバイス内で実行可能なネットワークスライス割り振りサービスを具体化した非一時的コンピュータ可読媒体であって、前記ネットワークスライス割り振りサービスが、実行されると、前記少なくとも1つのコンピューティングデバイスに、少なくとも、無線アクセスネットワークと関連するコアネットワークとを有する無線式ネットワーク内のクライアントデバイスで実行されるアプリケーションのサービス品質要件を備えたネットワークスライスを作成する要求を受信することと、前記アプリケーションが前記ネットワークスライスを使用して通信するサービスを判定することと、前記サービス品質要件を満たすために、前記無線式ネットワーク内の前記サービスのために、コンピューティングリソースをプロビジョニングすることと、を行わせる、前記非一時的コンピュータ可読媒体。
条項55.前記ネットワークスライス割り振りサービスは、実行されると、前記少なくとも1つのコンピューティングデバイスに、少なくとも、前記コンピューティングリソースをプロビジョニングすることがなければ、前記ネットワークスライスが前記サービス品質要件を満たさないことをさらに判定させる、条項54に記載の非一時的コンピュータ可読媒体。
条項56.前記コンピューティングリソースをプロビジョニングすることは、前記サービスのためのマシンインスタンスを起動することを含む、条項54~55に記載の非一時的コンピュータ可読媒体。
条項57.前記コンピューティングリソースは、前記ネットワークスライスの継続期間中プロビジョニングされ、前記ネットワークスライスの終了時に解放される、条項54~56に記載の非一時的コンピュータ可読媒体。
条項58.前記コンピューティングリソースの少なくとも一部は、前記クライアントデバイスが前記無線式ネットワークに接続されるセルサイトでプロビジョニングされる、条項54~57に記載の非一時的コンピュータ可読媒体。
条項59.前記コンピューティングリソースの少なくとも一部は、前記クライアントデバイスが前記無線式ネットワークに接続されるようになると予測される1つ以上のセルサイトでプロビジョニングされる、条項54~58に記載の非一時的コンピュータ可読媒体。
条項60.前記サービスは、コンテンツを前記アプリケーションに提供するコンテンツ配信サービスに対応し、前記コンピューティングリソースをプロビジョニングすることは、前記コンテンツの少なくとも一部をキャッシュすることをさらに含む、条項54~59に記載の非一時的コンピュータ可読媒体。
本開示の上述の実施形態が、本開示の原理を明確に理解するために記述される実装の単なる可能な例であることを強調されたい。本開示の趣旨及び原理から実質的に逸脱することなく、多くの変形及び修正を上述の実施形態(複数可)に加えてもよい。このような全ての修正及び変形は、本開示の範囲内で本明細書に含まれ、以下の特許請求の範囲によって保護されることを意図している。