(57)【要約】本明細書に記載された技術は、音声・データネットワーク用の分散コアフレームワークを提供するように構成された方法、装置及びコンピュータ可読媒体に関する。コントロールプレーンコンポーネントのセットを含むコントロールプレーンは、コンピューティングデバイストのセット上で動作する仮想マシンを使用して実行される。コントロールプレーンは、コントロールプレーンコンポーネントのセットによって共有される音声・データネットワークとの第１のネットワークインターフェースを含む。データプレーンコンポーネントのセットを含むデータプレーンは、コンピューティングデバイストのセット上で動作する仮想マシンを使用して実行される。データプレーンは、データプレーンコンポーネントのセットによって共有される音声・データネットワークとの第２のネットワークインターフェースを含む。リモートデバイスからセッションリクエストを受け取ると、選択されたデータプレーンコンポーネントは相応のセッションを処理するように選択されて、選択されたデータプレーンコンポーネントが第２のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを処理する。【選択図】図２
2020508022.tif 000002
【特許請求の範囲】
【請求項１】
音声・データネットワーク用の分散コアフレームワークを提供するためのコンピュータ化された方法であって、
当該方法は、コントロールプレーンに関連付けられたコントロールプレーンコンポーネントのセットを含む前記コントロールプレーンを実行することを含み、前記コントロールプレーンを実行することは：
前記コントロールプレーンと関連付けられた第１のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記コントロールプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記コントロールプレーンのための第１のネットワークインターフェースを提供することであって、前記第１のネットワークインターフェースは前記コントロールプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
当該記方法は、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含む前記データプレーンを実行することを含み、前記データプレーンを実行することは：
前記データプレーンと関連付けられた第２のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記データプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記データプレーンのための第２のネットワークインターフェースを提供することであって、前記第２のネットワークインターフェースは前記データプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み
当該方法は、第１のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含み、並びに
当該方法は、前記コントロールプレーンコンポーネントのセットからの第１のコントロールプレーンコンポーネントを使用して、前記セッションリクエストを処理して、前記セッションリクエストに対して作成されたセッションを操作するための前記データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成し、それにより、前記セッションを操作するための第２のネットワークインターフェースを使用して、選択されたデータプレーンコンポーネントがリモートデバイスと直接に通信できるようにすることを含む、
上記方法。
【請求項２】
前記選択されたデータプレーンコンポーネントを構成することは、
ポリシーベースのルーティングを実行して、前記データプレーンコンポーネントのセットから前記選択されたデータプレーンコンポーネントを選択することと、
第１のコントロールプレーンコンポーネントにより、前記セッションリクエストを、前記選択されたデータプレーンコンポーネントへと転送することと、
前記選択されたデータプレーンコンポーネントにより、前記セッションを作成するセッション管理機能を実行することと、
前記選択されたデータプレーンコンポーネントにより、作成されたセッションレスポンスを第１のコントロールプレーンコンポーネントに送信して、前記選択されたデータプレーンコンポーネントとの前記セッションへの、前記第２のネットワークインターフェースを介したデータパスを確立することと、
を含む、請求項１に記載の方法。
【請求項３】
さらに、
前記コントロールプレーンコンポーネントのセットの負荷が閾値を超えていると判定することと、
前記コントロールプレーンに対して新しいコントロールプレーンコンポーネントをインスタンス化して前記コントロールプレーンの容量を増やすことと、
を含む、請求項１に記載の方法。
【請求項４】
さらに、
前記データプレーンコンポーネントのセットの負荷が閾値を超えていると判定することと、
前記データプレーンに対して新しいデータプレーンコンポーネントをインスタンス化してデータプレーンの容量を増やすことと、
を含む、請求項１に記載の方法。
【請求項５】
さらに、
前記コントロールプレーンコンポーネントのセットの負荷が閾値を下回っていると判定することと、
前記コントロールプレーンコンポーネントのセットからコントロールプレーンコンポーネントを削除してコントロールプレーンの容量を減らすことと、
を含む、請求項１に記載の方法。
【請求項６】
さらに、
前記データプレーンコンポーネントのセットの負荷が閾値を下回っていると判定することと、
前記データプレーンコンポーネントのセットからデータプレーンコンポーネントを削除してデータプレーンの容量を減らすことと、
を含む、請求項１に記載の方法。
【請求項７】
さらに、高可用性構成を実行するデータプレーンを構成することを含み、
前記構成することは、
第１のセットのデータプレーンコンポーネントをアクティブモードで実行して、セッションを処理するために第１のセットのデータプレーンコンポーネントを選択できるようにすることと、
第２のセットのデータプレーンコンポーネントをスタンバイモードで実行して、第１のセットのデータプレーンコンポーネントの１つ以上が利用できないことに応答して、第２のセットのデータプレーンコンポーネントの１つ以上をアクティブモードに切り替えることができるようにし、それによりセッションを第２のセットのデータプレーンコンポーネントによって維持できるようにすることと、
を含む、請求項１に記載の方法。
【請求項８】
さらに、ネットワーク機能仮想化オーケストレーション層を実行して、前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットを調整することを含む、請求項１に記載の方法。
【請求項９】
音声・データネットワーク用の分散コアフレームワークを提供するように構成された装置であって、当該装置はプロセッサを有し、前記プロセッサはメモリ及び追加の処理リソースのセットと通信するよう構成され、前記プロセッサは前記メモリに保存された命令を実行するように構成され、
前記命令により、前記プロセッサは、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含む前記コントロールプレーンを実行するよう構成され、前記コントロールプレーンを実行することは：
前記処理リソースのセットの第１の部分上で動作する仮想マシンのセットを使用して前記コントロールプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記コントロールプレーンのための第１のネットワークインターフェースを提供することであって、前記第１のネットワークインターフェースは前記コントロールプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
前記命令により、前記プロセッサは、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含む前記データプレーンを実行するよう構成され、前記データプレーンを実行することは：
前記処理リソースのセットの第２の部分上で動作する仮想マシンのセットを使用して前記データプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記データプレーンのための第２のネットワークインターフェースを提供することであって、前記第２のネットワークインターフェースは前記データプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
前記命令により、前記プロセッサは、第１のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取るよう構成され、かつ、
前記命令により、前記プロセッサは、前記コントロールプレーンコンポーネントのセットからの第１のコントロールプレーンコンポーネントを使用して、前記セッションリクエストを処理して、前記セッションリクエストに対して作成されたセッションを操作するための前記データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成し、それにより、前記セッションを操作するための第２のネットワークインターフェースを使用して、選択されたデータプレーンコンポーネントがリモートデバイスと直接に通信できるようにするよう構成されている、
上記装置。
【請求項１０】
さらに、前記命令は当該装置に、
ポリシーベースのルーティングを実行して、前記データプレーンコンポーネントのセットから前記選択されたデータプレーンコンポーネントを選択させ、
第１のコントロールプレーンコンポーネントにより、前記セッションリクエストを前記選択されたデータプレーンコンポーネントへと転送させ、
前記選択されたデータプレーンコンポーネントにより、前記セッションを作成するセッション管理機能を実行させ、かつ
前記選択されたデータプレーンコンポーネントにより、作成されたセッションレスポンスを第１のコントロールプレーンコンポーネントに送信して、前記選択されたデータプレーンコンポーネントとの前記セッションへの、前記第２のネットワークインターフェースを介したデータパスを確立させ、
るように構成されている、請求項９に記載の装置。
【請求項１１】
さらに、前記命令は当該装置に、
前記データプレーンコンポーネントのセットの負荷が閾値を超えていると判定させ、かつ
前記データプレーンに対して新しいデータプレーンコンポーネントをインスタンス化して前記データプレーンの容量を増加させ、
るように構成されている、請求項９に記載の装置。
【請求項１２】
さらに、前記命令は当該装置に、
前記データプレーンコンポーネントのセットの負荷が閾値を下回っていると判定させ、かつ
前記データプレーンコンポーネントのセットからデータプレーンコンポーネントを削除して前記データプレーンの容量を減少させ、
るように構成されている、請求項９に記載の装置。
【請求項１３】
さらに、前記命令は当該装置に、前記データプレーンに高可用性構成を実行させるよう構成されており、前記実行させることは
第１のセットのデータプレーンコンポーネントをアクティブモードで実行して、セッションを処理するために第１のセットのデータプレーンコンポーネントを選択できるようにすることと、
第２のセットのデータプレーンコンポーネントをスタンバイモードで実行して、第１のセットのデータプレーンコンポーネントの１つ以上が利用できないことに応答して、第２のセットのデータプレーンコンポーネントの１つ以上をアクティブモードに切り替えることができるようにし、それによりセッションを第２のセットのデータプレーンコンポーネントによって維持できるようにすることと、
を含む、請求項９に記載の装置。
【請求項１４】
複数のコンピュータ実行可能命令でエンコードされた少なくとも１つの非一時的なコンピュータ可読記憶媒体であって、これらの命令は実行されると以下の方法すなわち：
前記方法は、コントロールプレーンに関連付けられたコントロールプレーンコンポーネントのセットを含む前記コントロールプレーンを実行することを含み、前記コントロールプレーンを実行することは：
前記コントロールプレーンと関連付けられた第１のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記コントロールプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記コントロールプレーンのための第１のネットワークインターフェースを提供することであって、前記第１のネットワークインターフェースは前記コントロールプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
前記記方法は、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含む前記データプレーンを実行することを含み、前記データプレーンを実行することは：
前記データプレーンと関連付けられた第２のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記データプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記データプレーンのための第２のネットワークインターフェースを提供することであって、前記第２のネットワークインターフェースは前記データプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み
前記方法は、第１のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含み、並びに
当該方法は、前記コントロールプレーンコンポーネントのセットからの第１のコントロールプレーンコンポーネントを使用して、前記セッションリクエストを処理して、前記セッションリクエストに対して作成されたセッションを操作するための前記データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成し、それにより、前記セッションを操作するための第２のネットワークインターフェースを使用して、選択されたデータプレーンコンポーネントがリモートデバイスと直接に通信できるようにすることを含む、
前記方法を実行する、上記非一時的なコンピュータ可読記憶媒体。
【請求項１５】
前記選択されたデータプレーンコンポーネントを構成することは、
ポリシーベースのルーティングを実行して、前記データプレーンコンポーネントのセットから前記選択されたデータプレーンコンポーネントを選択することと、
第１のコントロールプレーンコンポーネントにより、前記セッションリクエストを、前記選択されたデータプレーンコンポーネントへと転送することと、
前記選択されたデータプレーンコンポーネントにより、前記セッションを作成するセッション管理機能を実行することと、
前記選択されたデータプレーンコンポーネントにより、作成されたセッションレスポンスを第１のコントロールプレーンコンポーネントに送信して、前記選択されたデータプレーンコンポーネントとの前記セッションへの、前記第２のネットワークインターフェースを介したデータパスを確立することと、
を含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１６】
前記方法はさらに、
前記コントロールプレーンコンポーネントのセットの負荷が閾値を超えていると判定することと、
前記コントロールプレーンに対して新しいコントロールプレーンコンポーネントをインスタンス化して前記コントロールプレーンの容量を増やすことと、
を含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記方法はさらに、
前記コントロールプレーンコンポーネントのセットの負荷が閾値を下回っていると判定することと、
前記コントロールプレーンコンポーネントのセットからコントロールプレーンコンポーネントを削除して前記コントロールプレーンの容量を減らすことと、
を含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記方法はさらに、
前記データプレーンコンポーネントのセットの負荷が閾値を下回っていると判定することと、
前記データプレーンコンポーネントのセットからデータプレーンコンポーネントを削除して前記データプレーンの容量を減らすことと、
を含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記方法はさらに、高可用性構成を実行するデータプレーンを構成することを含み、
前記構成することは、
第１のセットのデータプレーンコンポーネントをアクティブモードで実行して、セッションを処理するために第１のセットのデータプレーンコンポーネントを選択できるようにすることと、
第２のセットのデータプレーンコンポーネントをスタンバイモードで実行して、第１のセットのデータプレーンコンポーネントの１つ以上が利用できないことに応答して、第２のセットのデータプレーンコンポーネントの１つ以上をアクティブモードに切り替えることができるようにし、それによりセッションを第２のセットのデータプレーンコンポーネントによって維持できるようにすることと、
を含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記方法はさらに、ネットワーク機能仮想化オーケストレーション層を実行して、前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットを調整することを含む、請求項１４に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１７年２月１６日に出願された「スケーラブルな進化したパケットコア」と題する米国仮特許出願第６２／４５９７５０号の関連出願であり、米国特許法第１１９条（ｅ）の下でこの仮出願に基づく優先権を主張する。なお、その全開示内容は参照により本明細書に組み込まれる。
【０００２】
技術分野
本明細書に記載された技術は、概略、スケーラブルな進化したパケットコアに関する。
【背景技術】
【０００３】
進化したパケットコア（ＥＰＣ）は、４Ｇ及び５Ｇネットワークなどのセルラーネットワークのための音声・データ統合サービスを提供するためのフレームワークである。物理ＥＰＣネットワーク展開は、通常専用の物理デバイス及び／又はネットワークカードを使用してＥＰＣネットワークのためのデバイスを構成する。そのようなデバイス及び／又はカードは、通常ネットワークの信号とデータの両面を操作する。したがって例えば新しいカード又はデバイスを追加すると、データと制御の両面が増加する（例えば制御面ではなくデータ面のみを増やす必要がある場合でも）。さらに追加のデバイス又はカードを追加する場合は、既存のネットワークデバイスと新しいデバイスの間でデータパスが容易に流れない場合がある（例えば信号が各デバイスに関連付けられる方法のため）。
【０００４】
データアプリケーションは帯域幅の消費を増やすので、データ面のみに追加して制御面には追加しないこと（又はその逆）が望ましい場合がある。例えばアプリケーションが４Ｋビデオをサポートしている場合、帯域幅の使用量は他のテクノロジーと比較して増加するが（４Ｋビデオにより消費されるデータ量のため）、信号は同じままであるということが可能である。
【発明の概要】
【０００５】
開示された主題に従い、データ及び信号面を弾性的かつ動的に（例えばネットワーク需要及び／又はネットワーク要件に従って）スケーリングすることを可能にするスケーラブルなＥＰＣのための装置、システム及び方法が提供される。
【０００６】
いくつかの実施形態は、関連する音声・データネットワーク用の分散コアフレームワークを提供するためのコンピュータ化された方法に関する。この方法は、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含むコントロールプレーンを実行することを含み、これはコントロールプレーンと関連付けられた第１のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用してコントロールプレーンコンポーネントを実行することと、音声・データネットワークにコントロールプレーンのための第１のネットワークインターフェースを提供することとを含み、ここで第１のネットワークインターフェースはコントロールプレーンコンポーネントのセットによって共有されている。この方法は、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含むデータプレーンを実行することを含み、これはデータプレーンと関連付けられた第２のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用してデータプレーンコンポーネントを実行することと、音声・データネットワークにデータプレーンのための第２のネットワークインターフェースを提供することとを含み、ここで前記第２のネットワークインターフェースはデータプレーンコンポーネントのセットによって共有されている。この方法は、第１のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含む。この方法は、コントロールプレーンコンポーネントのセットからの第１のコントロールプレーンコンポーネントを使用してセッションリクエストを処理するために、データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成してセッションリクエストに対して作成されたセッションを操作して、選択されたデータプレーンコンポーネントが第２のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを操作することを含む。
【０００７】
いくつかの実施形態は、音声・データネットワーク用の分散コアフレームワークを提供するように構成された装置に関する。この装置は、メモリ及び追加の処理リソースのセットと通信するプロセッサを含む。プロセッサはメモリに保存された命令を実行するように構成されており、これらの命令によりプロセッサは、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含むコントロールプレーンを実行することを含み、これは処理リソースのセットの第１の部分上で動作する仮想マシンのセットを使用してコントロールプレーンコンポーネントを実行することと、音声・データネットワークにコントロールプレーンのための第１のネットワークインターフェースを提供することとを含み、ここで第１のネットワークインターフェースはコントロールプレーンコンポーネントのセットによって共有されている。プロセッサは、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含むデータプレーンを実行し、これは処理リソースのセットの第２の部分上で動作する仮想マシンのセットを使用してデータプレーンコンポーネントを実行することと、音声・データネットワークにデータプレーンのための第２のネットワークインターフェースを提供することとを含み、ここで第２のネットワークインターフェースはデータプレーンコンポーネントのセットによって共有されている。プロセッサは、第１のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取る。プロセッサは、コントロールプレーンコンポーネントのセットからの第１のコントロールプレーンコンポーネントを使用してセッションリクエストを処理するために、データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成してセッションリクエストに対して作成されたセッションを操作して、選択されたデータプレーンコンポーネントが第２のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを操作する。
【０００８】
いくつかの実施形態は、少なくとも１つの非一時的なコンピュータ可読記憶媒体に関する。少なくとも１つの非一時的なコンピュータ可読記憶媒体は、複数のコンピュータ実行可能命令でエンコードされており、これらの命令は実行されると、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含むコントロールプレーンを実行することを含み、これはコントロールプレーンと関連付けられた第１のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用してコントロールプレーンコンポーネントを実行することと、音声・データネットワークにコントロールプレーンのための第１のネットワークインターフェースを提供することとを含み、ここで前記第１のネットワークインターフェースはコントロールプレーンコンポーネントのセットによって共有されているようにした方法を実行する。この方法は、第１のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含む。この方法は、コントロールプレーンコンポーネントのセットからの第１のコントロールプレーンコンポーネントを使用してセッションリクエストを処理するために、データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成してセッションリクエストに対して作成されたセッションを操作して、選択されたデータプレーンコンポーネントが第２のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを操作することを含む。
【０００９】
以上、開示される主題の特徴をかなり大まかに概述したが、それは以下に続く詳細な説明がよりよく理解されるためであり、また本発明の技術への貢献がより適切に評価されるためである。当然ながら開示される主題のその他の特徴があり、それらは以下に説明され、本明細書に添付される特許請求の範囲の主題を形成する。本明細書で使用される表現や用語は説明を目的とするものであり、限定と見なされるべきではないことを理解されたい。
【００１０】
図面において、様々な図に示されている同一又はほぼ同一の各コンポーネントは同じ参照文字で表されている。見やすくするために、各図面ですべてのコンポーネントが表示されているわけではない。図面は必ずしも縮尺通りではなく、代わりに本明細書で説明される技術及び装置の種々の側面を示すことに重点が置かれている。
【図面の簡単な説明】
【００１１】
【図１】いくつかの例による例示的なネットワークを示す。
【図２】いくつかの実施形態による例示的なスケーラブルなシステム・アーキテクチャ・エボリューション（ＳＡＥ）ゲートウェイ（ＳＡＥ−ＧＷ）を示す。
【図３】いくつかの実施形態による例示的な４層タスクモデルを示す。
【図４】いくつかの実施形態によるスケーラブルな進化したパケットコアにおけるコールフローの例示的な図を示す。
【図５】いくつかの実施形態によるＶＮＦ間冗長性の図を示す。
【図６】いくつかの例による参照アーキテクチャの図を示す。
【図７】いくつかの実施形態による、仮想ネットワーク機能の実現を示す図である。
【図８】いくつかの実施形態によるハイパーバイザ及びオペレーティングシステムのボトルネックを回避する図を示す。
【図９】いくつかの実施形態によるスケーラブルな進化したパケットコアの例示的なシステムを示す。
【図１０】いくつかの実施形態によるＶＮＦＭ及びオーケストレーションを示す。
【図１１】いくつかの実施形態によるＶＮＦコールフローの図を示す。
【図１２】いくつかの実施形態によるモバイルエッジ・コンピューティング・プラットフォームを活用する仮想化ソリューションを示す。
【図１３Ａ】いくつかの実施形態によるデータプレーンコンポーネントの例示的な特徴を例示する。
【図１３Ｂ】いくつかの実施形態によるデータプレーンコンポーネントの例示的な特徴を例示する。
【発明を実施するための形態】
【００１２】
発明者は、３Ｇ、４Ｇ及び５Ｇを含む様々な無線技術をサポートするスケーラブルなＥＰＧソリューションを提供するために使用できる様々な技術を認識し理解した。仮想機能を使用してＥＰＧのデータプレーン及びコントロールプレーンの面を実行することができ、それによりＥＰＧがデータプレーン及びコントロールプレーン機能を独立にスケーリング及び制御できるようにする。
【００１３】
図１に示されたＥＰＣネットワーク１００などＥＰＣネットワーク１０２の従来の展開では、データ及び制御面を個別にスケーリングし制御することはできない。図１に示すように、ＥＰＣネットワーク１００は、ユニバーサル地上無線アクセスネットワーク（ＵＴＲＡＮ）１０２、ＧＳＭ（登録商標）  ＥＤＧＥ無線アクセスネットワーク（ＧＥＲＡＮ）１０４、一般パケット無線サービス（ＧＰＲＳ）サポートノード（ＳＧＳＮ）１０６、モビリティ管理エンティティ（ＭＭＥ）１０８、ホーム加入者サーバ（ＨＳＳ）１１０、サービングゲートウェイ１１２、進化したＵＴＲＡＮ（Ｅ−ＵＴＲＡＮ）１１４、ポリシー及び課金ルール機能（ＰＣＲＦ）１１６、並びにＰＤＮゲートウェイ１１８を含む。ＥＰＣネットワーク１００はまた、Ｘ２ゲートウェイ（Ｘ２−ＧＷ）１２０、サービスゲートウェイ（ＳｅＧＷ）１２２、スモールセルゲートウェイ１２４、（ＨｅＭＳ）１２６、進化したパケット・データ・ゲートウェイ（ｅＰＤＧ）１２８、信頼されたワイヤレスアクセスゲートウェイ（ＴＷＡＧ）１３０も含む。ＥＰＣネットワーク１００は、３つのユーザ機器（ＵＥ）１４２ａ〜ｃを含む。ＴＷＡＧ１３０は信頼できるＷｉ−Ｆｉネットワーク１３２を介してＵＥ１４２ｃと通信し、ｅＰＤＧ１２８は信頼できないＷｉ−Ｆｉネットワーク１３４を介してＵＥ１４２ｃと通信する。ＳｅＧＷ１２２は、バックホール・ネットワーク１３６を介してデータオフロードコンポーネント１３８と通信する。データオフロードコンポーネント１３８はローカルゲートウェイ（Ｌ−ＧＷ）１４０、並びにホームｅノードＢ（ＨｅＮＢ）１４０ａ及び１４０ｂと通信しており、ホームｅノードＢ（ＨｅＮＢ）１４０ａ及び１４０ｂはＵＥ１４２ｂと通信している。ＵＥ１４２ａは、Ｅ−ＵＴＲＡＮ１１４を介してネットワーク１００と通信している。
【００１４】
特に、サービングゲートウェイ１１２は、ユーザデータパケットをルーティングして転送する。サービングゲートウェイ１１２は、ｅＮｏｄｅＢ間ハンドオーバ中にユーザプレーンのモビリティアンカとして、及びＬＴＥと他の３ＧＰＰ技術との間のモビリティためのアンカとしても機能することができる。サービングゲートウェイ１１２は、ＩＰベアラサービスのパラメータなどのＵＥコンテキスト、及びネットワーク内部ルーティング情報を管理して保存する。それはまた合法的妨害の場合にユーザトラフィックの複製を実行する。ＰＤＮゲートウェイ１１８は、ＵＥに対するトラフィックのエグジットポイント及びエントリポイントとして機能することにより、ＵＥから外部パケットデータネットワークへの接続性を提供する。ＰＤＮゲートウェイ１１８は、ポリシー実施、パケットフィルタリング、課金サポート、合法的妨害及びパケットスクリーニングを実行できる。ＰＤＮゲートウェイ１１８は、３ＧＰＰ技術と非３ＧＰＰ技術（例えばＷｉＭＡＸ）との間のモビリティのアンカとして機能することができる。
【００１５】
発明者は、サービングゲートウェイ１１２及び／又はＰＤＮゲートウェイ１１８によって提供されるようなＥＰＣの制御面からデータ面を分離することが望ましいことを認識及び理解した。データを制御から切り離すことにより、例えばネットワークのデータ面と制御面を個別にスケーリングすることが容易になる（例えばコンピューティングサービスごとに異なるスケーリングを行う）。本明細書に記載された技術は、いくつかの実施形態では、個別のコントロールプレーン（例えば信号用）及びデータプレーン（例えばビデオ、音声及び／又は他のデータなどのデータトラフィック用）を仮想ＥＰＣ展開で提供する。例えばデータ容量を追加する必要がある場合、この技術を使用して、コントロールプレーンに不必要に追加する必要なく、データプレーンのインスタンスを作成できる。同様に、例えばネットワークがリソースを十分に活用していない場合、データプレーンやコントロールプレーンを縮小できる。これにより特定のネットワークが必要とする量のリソースを提供するように簡単に調整できる展開が可能になる。
【００１６】
本明細書に記載する技術は、仮想環境でのＥＰＣのスループットとスケーラビリティに対処する。いくつかの実施形態では、この技術を使用して、５Ｇモバイルネットワークのトラフィックをサポートするために弾力的で線形にスケーラブルなＥＰＣコア（例えばパケットデータネットワークゲートウェイ（Ｐ−ＧＷ）とサービングゲートウェイ（Ｓ−ＧＷ）を含む）を提供できる。いくつかの例では、この技術は次の機能の１つ以上を提供できる。この技術は、単一のコントロールプレーンアドレスが隣接するネットワーク要素にクラスタを単一の論理エンティティとして提示するように、サービスの透明性を提供できる。これらの技術は、高いデータパス性能を提供できる。これらの技術は、仮想ネットワーク機能（ＶＮＦ）クラスタ内の任意の仮想マシン（ＶＭ）の垂直スケールアップ／ダウンを提供できる。これらの技術は、セッション容量とスループットの線形水平スケーリング（イン／アウトなど）を提供できる。これらの技術は、最適なネットワーク帯域幅利用率でクラスタごとに数テラビットのスループットを提供できる。これらの技術は柔軟な高可用性（ＨＡ）スキームを提供でき、及び／又はサービスレベル合意書（ＳＬＡ）に基づく１：１ホットスタンバイ又はＮ：１ウォームスタンバイを提供できる。これらの技術は、クラスタ内の各ＶＭの独立したソフトウェアアップグレード／ダウングレードを提供できる。これらの技術は、ライブクラスタ上のサンドボックスを有効にして、最終的な展開の前に新しいリリースをソークできる。これらの特徴及びその他の特徴は説明され、本明細書の説明を考慮してさらに理解されるであろう。
【００１７】
以下の説明では、開示された主題の完全な理解を提供するために、開示された主題のシステム及び方法、並びにそのようなシステム及び方法が動作できる環境などに関して多くの具体的な詳細が述べられる。しかしながら開示された主題は、そのような具体的な詳細なしで実施できること、及び当技術分野でよく知られている特定の特徴は、開示された主題の複雑さを避けるために詳細には説明されないことは当業者には明らかであろう。加えて、以下に提供される例は例示的なものであり、開示される主題の範囲内にある他のシステム及び方法も想定されていることが理解されるであろう。
【００１８】
図２は、いくつかの実施形態による例示的なスケーラブルなシステムアーキテクチャエボリューション（ＳＡＥ）ゲートウェイ（ＳＡＥ−ＧＷ）２００を示す。ＳＡＥ−ＧＷ２００は、各プレーン１０２を個別にスケーリングすることを可能にするために、別個のコントロールプレーン２０２とデータプレーン２０４を有する。コントロールプレーン２０２は、ＧＴＰ−Ｃルーティングエージェント（ＧＲＡ）などの任意の数のコントロールプレーンコンポーネントを含むことができるという意味で弾力的である。この非限定的な例に示されるように、コントロールプレーン２０２はアクティブＧＲＡ２０６ａ及びスタンバイＧＲＡ２０６ｂ（本明細書ではＧＲＡ２０６と総称する）を含む。データプレーン２０４は、任意の数のＳＡＥデータパス（ＳＡＥ−ＤＰ）を含むことができるという意味で弾力的である。この非限定的な例に示されるように、データプレーンは３つのＳＡＥ−ＤＰ２０８ａ−２０８ｃ（本明細書ではＳＡＥ−ＤＰ２０８と総称する）を含み、ＳＡＥ−ＤＰ２０８ａ及び２０８ｂはアクティブであり、ＳＡＥ−ＤＰ２０８ｃはスタンバイである。ＧＲＡ２０６及びＳＡＥ−ＤＰ２０８は、複数のインスタンスを有することができるデータベース（ＤＢ）２１０と通信している。ＤＢ２１０は、例えばデータプレーン２０４とコントロールプレーン２０６によって使用されるセッション状態データ及び他の関連データを保存することができる。ＤＢ２１０は、リカバリなどの種々の目的に使用できる。
【００１９】
各コントロールプレーンコンポーネントを、ＧＰＲＳゲートウェイノードとサービングノード間の信号などの信号用コアネットワーク内で使用して、セッションのアクティブ化、セッションの非アクティブ化、サービス品質パラメータの調整を行うことができる。さらに図２を参照すると、各ＧＲＡ２０６は、データを受け取る単一のポイントを提供することができ、コントロールプレーン２０４上でのみセッション配信を実行するように構成できる（例えばＧＰＲＳトンネリングプロトコル（ＧＴＰ）−Ｃを使用）。ＧＲＡは、単純なステートレス及び／又は軽量のステートフルＧＲＡとして構成できる。
【００２０】
さらにコントロールプレーンコンポーネント（例えばＧＲＡ）を参照すると、コントロールプレーン２０４はＧＴＰ−Ｃルーティングエージェントを含むことができる。ＧＴＰ−Ｃルーティングエージェントは、コントロールプレーン（例えばＧＲＡの実装）のサーバ／ＶＭのクラスタのエントリポイントとして機能できる。例えばパケットデータネットワーク（ＰＤＮ）接続リクエストは、ネットワークへのＧＴＰ−Ｃエンドポイントとして構成された単一のＩＰアドレスを介してＧＲＡに到達でき、ＧＴＰ−Ｃルーティングエージェントはコントロールプレーン内の種々のＧＲＡ間のルーティング及び／又はロードバランシングを実行するために使用できる。例えば単一のエントリポイントを使用すると、クラスタを外部ネットワーク機能に対する１つの論理エンティティとして表すことにより、サービスの透明性を提供できる。ＧＲＡは、例えば可用性及び／又は容量などの基準に基づいてルーティングするアクセスポイント名（ＡＰＮ）ルーティング／ポリシーテーブルを使用して、データプレーン２０６内の選択されたバックエンドＳＡＥ−ＤＰに各々の新しい接続リクエストをルーティングできる。ＧＴＰ−Ｃルーティングエージェントは、確立されたセッションのスティッキ性を維持できる。
【００２１】
各データプレーンコンポーネントは、セッションのためのデータパスを提供するように構成できる。図１３Ａ〜図１３Ｂは、データプレーンコンポーネントの例示的な特徴を示している。さらに図２を参照すると、データプレーン２０４は、各ＳＡＥ−ＤＰサーバ又は仮想マシンに（例えばＧＴＰ−Ｕ／ＳＧｉインターフェースを使用して）直接データプレーンを提供するように構成できる。オープンプロトコルは、ＧＲＡ及び／又はＳＡＥ−ＤＰに対するすべてのサーバ及び／又は仮想マシンインターフェースで提供できる。例えばデータプレーン２０４のデータスループットを増やすためにより多くのＤＰノードを追加できる。それゆえデータパスは必要に応じて拡大及び縮小できる。直接データプレーン２０６は、例えば配信を経由するデータパスと比較して、帯域幅をより効率的に利用できる。例えば直接データプレーン２０６は、追加の帯域幅の消費を避けるために、すべてのセッショントラフィックが直接送信先に行くことを可能にするが、このことは例えば技術を必要に応じて拡張し、帯域幅を効率的に利用するのを助けることができる。
【００２２】
さらにデータプレーン２０６を参照すると、単一のＩＰアドレスは、ＳＡＥ−ＤＰ１０２のネットワークへのＧＴＰ−Ｕエンドポイント（例えばコントロールプレーン２０４に使用されるＩＰアドレスとは異なる）として構成できる。完全修飾されたトンネルエンドポイント識別子（ＦＴＥＩＤ）のようなデータプレーン識別子は、衛星ゲートウェイ（ＳＧＷ）によって自動的に発見され得るように、コントロールプレーンメッセージ内で運ばれることができる。ＳＧＷは、図１２に関連してさらに説明されるように、仮想ネットワーク機能として実行できる。種々の内部ＧＴＰ−Ｕエンドポイントは、データプレーン２０６トラフィックが特定の仮想機能又は処理ユニットに直接送られることを可能にする。個別のＧＴＰ−Ｕエンドポイントを有することにより、システムは線形／無制限の水平スケールを（例えば数テラビットのスループットで）達成できるようにする。個別のＧＴＰ−Ｕエンドポイントは、例えばネットワーク帯域幅を節約できる。データプレーン２０６は、ＳＡＥ−ＤＰのＮ：１ウォームスタンバイ構成及び／又は１：１ホットスタンバイ構成が存在するように、ＨＡスキームに対して柔軟に構成できる。種々のＨＡスキームで種々のＳＬＡを構成できる。例えばＳＬＡは種々のパブリックデータネットワーク（ＰＤＮ）に対して構成できる。例えばＳＬＡを使用してＩＰマルチメディアサブシステム（ＩＭＳ）ＰＤＮのためのホットスタンバイを構成でき、、ＳＬＡを使用してＩＮＥＴ  ＰＤＮのためのウォームスタンバイを構成でき、及び／又は同様である。
【００２３】
いくつかの実施形態において、示されたＳＡＥ−ＧＷ２００を使用して、図１に示されたＳＡＥのコアネットワークアーキテクチャ機能を含むネットワーク１００の機能を実装できる。例えばＳＡＥ−ＧＷ２００は、サービングゲートウェイ１１２及び／又はＰＤＮゲートウェイ１１８の機能を実装できる。当業者は、図２（例えば他の図）に示されたＧＲＡの例を使用して任意の数のプロトコルを操作できることを理解するであろう。例えばこの技術を使用して、モビリティプロトコル、ＤＯＣ  ＳＩＳ、ソフトＧＲＥ、及び／又は本明細書で説明される信号及びデータプレーン技術を用いて拡張可能な他のプロトコルを処理できる。
【００２４】
図３は、いくつかの実施形態による、例示的な４層タスクモデル３００を示す。第１層３０２ａは、ネットワーク構成プロトコル（Ｎｅｔｃｏｎｆ）デーモン３１０、簡易ネットワーク管理プロトコル（ＳＮＭＰ）デーモン３１２、及び表現状態転送ＡＰＩ（ＲＥＳＴＡＰＩ）デーモン３１４を含む様々なデーモンを包含する。第２層３０２ｂは、仮想ネットワーク機能（ＶＮＦ）コントローラ３２０、ＨＡコントローラ３２２、メッセージルータ３２４、ＤＢエンジン３２６、及びアドレスマネージャ３２８を包含する。第３層３０２ｃは、ルートマネージャ３３０、ルーティングデーモン３３２、ＦＦＥマネージャ３３４を包含する。第４層３０２ｄは、接続マネージャ３４０、トラフィックマネージャ３４２、及び認証、許可及びアカウンティング（ＡＡＡ）マネージャ３４４を包含する。
【００２５】
第１層３０２ａを参照すると、Ｎｅｔｃｏｎｆデーモン３１０、ＳＮＭＰデーモン３１２、及びＲＥＳＴＡＰＩデーモン３１４は、種々の外部管理及び／又はオーケストレーションアプリケーションと相互作用するための種々のインターフェースを提供する。例えば以下でさらに説明するように、インターフェースを使用して、コントロールプレーン及びデータプレーンコンポーネントを制御できる仮想ネットワーク機能（ＶＮＦ）オーケストレーションエンジンとインターフェースできる。
【００２６】
第２層３０２ｂを参照すると、ＶＮＦコントローラ３２０は構成管理、リソース監視、スケーリングサービス、及び／又は同種のものを提供できる。ＨＡコントローラ３２２は、障害検出、タスクリカバリ、ＶＮＦ間切り替え、及び／又は同種のものを調整できる。メッセージルータ３２４は、内部メッセージングサービスを提供できる。ＤＢエンジン３２６は、ソフトウェア及び／又はハードウェア障害後のＶＮＦ状態情報をリカバリするための統一されたメカニズムを提供できる。アドレスマネージャ３２８は、例えばローカルＩＰプールを通して、動的ホスト構成プロトコル（ＤＨＣＰ）プール、及び／又は同種のものを通してアドレス割り当てサービスを提供する。
【００２７】
第３層３０２Ｃ参照すると、ルートマネージャ３３０及びルーティングデーモン３３２は、ルーティングプロトコル（例えば境界ゲートウェイ・プロトコル（ＢＧＰ）、オープンショーテストパスファースト（ＯＳＰＦ）、及び／又は同種のもの）を実装する。いくつかの実施形態では、ＦＦＥマネージャ３３４はデータパスをセットアップすることができ、ＦＦＥ３３６は実際のデータパスの検索及び転送を実装できる。
【００２８】
第４層３０２Ｄを参照すると、接続マネージャ３４０は、ゲートウェイの制御パス処理を操作する。例えば接続マネージャ３４０は、セキュリティゲートウェイのためのインターネットキー交換（ＩＫＥ）パケット処理、進化したパケットデータゲートウェイ（ｅＰＤＧ）のためのＩＫＥ及びＧＴＰ−Ｃパケット処理、及び／又は同種のものを実行する。トラフィックマネージャ３４２は、ゲートウェイのデータパス処理を操作する。例えばトラフィックマネージャ３４２は、アップリンクセキュリティペイロードのカプセル化（ＥＳＰ）パケット及びダウンリンクＩＰ、ＧＴＰ−Ｕパケット処理、及び／又は同種のものを提供できる。ＡＡＡマネージャ３４４はＡＡＡプロトコル、例えばリモート認証ダイヤルインユーザサービス（ＲＡＤＩＵＳ）及び／又は（ＳＥＧＷ（例えばＳＥＧＷ１２２）へのダイアメータ・クライアントサービス、ｅＰＤＧ（例えばｅＰＤＧ１２８）、及び／又は任意の他のゲートウェイサービスを提供できる。
【００２９】
図４は、いくつかの実施形態によるスケーラブルな進化したパケットコアにおけるコールフロー４００の例示的な図を示す。ステップ１で、ＳＡＥ−ＧＷはセッション作成リクエスト（ＣＳＲＥＱ）を受け取る。ステップ２で、ＧＲＡはポリシーベースのルーティングを行ってＳＡＥ−ＤＰを選択する。ステップ３で、ＧＲＡは選択したＳＡＥ−ＧＷにＣＳＲＥＱを転送する。ステップ４で、ＳＡＥ−ＤＰはセッション管理機能を実行する。セッション管理機能は、例えばＩＰアドレス割り当て、コントロールプレーン及びデータプレーンＦＴＥＩＤ割り当て、ゲートウェイインターフェース（例えばＧｘ、Ｇｙインターフェース）相互作用、及び／又は同種のものを含むことができる。ステップ５で、ＳＡＥ−ＤＰはセッション設定応答（ＣＳＲＳＰ）を作成してＧＲＡに送り返す。ステップ６で、ＧＲＡはＣＳＲＳＰを目的地に転送する。ステップ７に示すように、セッションのためのデータパスは直接ＳＡＥ−ＤＰで確立される（例えばセッションはＧＲＡ及び／又は制御パスを通過しない）。
【００３０】
図５は、いくつかの実施形態によるＶＮＦ間冗長性の図５００を示す。このようなＶＮＦ間冗長性を使用して、コントロールプレーンコンポーネント、データプレーンコンポーネント、又はその両方を実行できる。アクティブＶＮＦ５０２は、プライマリＤＢエンジン５０４、アプリケーションタスクのセット（Ａｐｐタスク）５０６（Ａｐｐタスク５０６ａ〜５０６ｃとして表示）、及びＨＡコントローラ５０８（例えば図３のＨＡコントローラ３２２）を含む。スタンバイＶＮＦ５１０は、バックアップＤＢエンジン５１２、アプリケーションタスクのセット（Ａｐｐタスク）５１４（Ａｐｐタスク５１４Ａ−５１４Ｃとして表示）、及びＨＡコントローラ５１６を含む。セッション状態は、ＤＢ層を通してアクティブＶＮＦとスタンバイＶＮＦ５０２、５１０の間でリアルータイムに同期できる。アクティブＶＮＦ５０２のセッションは、例えば切り替えが発生する前であっても、スタンバイＶＮＦ５１０上で事前に作成できる。これは例えば切り替え時間を最小限に抑えるために実行できる。
【００３１】
前述のように、データプレーンとコントロールプレーンの側面は、ネットワーク機能として実行できる。ネットワーク機能は、オーケストレーション層などの仮想化制御層を使用して仮想化及び制御できる。ネットワーク機能（ＮＦ）は、ネットワークインフラストラクチャ内の機能構築ブロックであり、特定の機能に対して明確に定義された機能動作を含むことができる。ＮＦは、例えばネットワークノード又は物理アプライアンスである。仮想ネットワーク機能（ＶＮＦ）は、ネットワーク要素機能の仮想化であり、ＶＮＦの機能動作と外部インターフェースはその物理的対等物（ＰＮＦ）と同じである。ｖＶＮＦは、１以上の仮想マシンから作ることができ、この場合それは集約ＶＮＦ又はネスト化されたＶＮＦである。
【００３２】
図６は、いくつかの例による参照アーキテクチャ６００の図を示す。参照アーキテクチャ６００は、例えばＥＴＳＩ  ＮＦＶ参照アーキテクチャであることができる。アーキテクチャ６００は、オペレーションサポートシステム（ＯＳＳ）／ビジネスサポートシステム（ＢＳＳ）６０２、ネットワーク機能仮想化オーケストレータ（ＮＦＶＯ）６０４、仮想ネットワーク機能マネージャ（ＶＮＦＭ）６０６、仮想化されたネットワーク機能及び関連するＥＭＳ／ＯＳＳ６０８、ネットワーク機能仮想化構造（ＮＦＶＩ）６１０、及び仮想インフラストラクチャマネージャ（ＶＩＭ）６１２を含む。
【００３３】
ＮＦＶは、基準点のセットを含み、これは（ａ）仮想化ハードウェアリソース（ＶＩ−ＨＡ）（図には示されていない）、（ｂ）ＮＦＶ−ＮＦＶＩ（ＶＮ−ＮＦ）、（Ｃ）オーケストレータ（ＮＦＶＯ）−ＶＮＦマネージャ（Ｏｒ−Ｖｎｆｍ）、（ｄ）ＶＩＭ−ＶＮＦマネージャ（Ｖｉ−Ｖｎｆｍ）、（ｅ）オーケストレータ−ＶＩＭ（Ｎｆ−Ｖｉ）、（ｆ）ＯＳＳ／ＢＳＳ−ＮＦＶ管理及びオーケストレーション（ＯＳ−ＭＡ）、（ｇ）ＶＮＦ／エレメント管理システム（ＥＭＳ）−ＶＮＦマネージャ（Ｖｅ−Ｖｎｆｍ）、及び（ｈ）サービス、ＶＮＦ及びインフラストラクチャの説明−ＮＦＶ管理及びオーケストレーション（Ｓｅ−ＭＡ）を含む）。
【００３４】
ＮＦＶＩ６１０は、ＶＮＦが展開される環境を構築するすべてのハードウェア及びソフトウェアコンポーネントの全体を指す。ＮＦＶＩ６１０は、複数の場所にまたがることができる。ＶＩＭ６１２は、ＶＮＦとコンピューティング、ストレージ及びネットワーキングリソースとの相互作用を管理する機能である。ＶＩＭ６１２は、インフラストラクチャをサービス（ＩａａＳ）機能として組み込むことができる。ＶＮＦＭ６０６は、ＶＮＦライフサイクル管理（例えば作成、更新、クエリ、スケーリング、削除など）を担当する。複数のＶＮＦＭ６０６が展開されてもよく、及び／又は単一のＶＮＦＭ６０６が複数のＶＮＦにサービスしてもよい。ＶＮＦＭ６０６は、プラットフォームをサービス（ＰａａＳ）ライフサイクル管理機能として組み込むことができる。ＮＦＶＯ６０４は、ＶＮＦ及びＮＦＶＩ６１０の展開を自動化する。ＮＦ転送グラフは、ネットワーク機能（例えばサービスチェーン）間のトラフィックフローを記述する目的でＮＦノードを接続する論理リンクのグラフである。ＶＮＦコンポーネント（ＶＮＦＣ）は、個別のＶＭで実行されるＶＮＦのサブコンポーネントである。
【００３５】
図７は、いくつかの実施形態による仮想ネットワーク機能実現の図７００を示す。図７００は、スモールセルゲートウェイ７０４（仮想ネットワーク機能７０６を含む）を含む、幾つかのコンポーネントを備えた仮想マシン７０２を含む。仮想マシン７０２は、ドライバ７１０、ソケット７１２、ＩＰｖ４／ＩＰｖ６機能７１４、及びイーサネット（登録商標、ＥＴＨ）７１６を含むゲストオペレーティングシステム７０８も含む。仮想マシン７０２は、コンソール７１８、ＥＴＨ１／１ＭＡＮ７２０、ＥＴＨ１／１０ＳＶＣ７２２、ＥＴＨ１／１１ＳＶＣ７２４、ＥＴＨ１／１ＭＡＮ７２６、フラッシュ及びＲＡＩＤメモリインターフェース７２６も含む。これらのコンポーネントは、ハイパーバイザ７３０と通信している。ハイパーバイザ７３０はｖスイッチマネージャ（ＭＡＮ）７３２、ｖスイッチ７３４ａ〜ｃ、及びストレージ７３６を含む。ハイパーバイザ７３０は、種々のネットワークインターフェースカードＮＩＣ７４２ａ〜ｃ、ファイバチャネル７４４、及びハードディスクドライブ（ＨＤＤ）７４６と通信している。
【００３６】
図８は、いくつかの実施形態によるハイパーバイザ及びオペレーティングシステムにおけるボトルネックを回避する図８００を示す。仮想ネットワーク構成８０２に示されているように、アップストリームトラフィックはハイパーバイザを介して仮想アプリに移動し、同様にダウンストリームトラフィックはハイパーバイザを介してハードウェアに移動する。したがって構成８０２では、ハイパーバイザはボトルネックを発生する可能性があるダウンストリームトラフィックとアップストリームトラフィックの両方を処理しなければならない。さらに、仮想アプリはすべてオペレーティングシステムによって管理されるため、別のボトルネックを発生する可能性がある。仮想ネットワーク構成８０４は、ハイパーバイザをバイパスし、仮想ネットワーク機能を実行するために別個のソフトウェアライブラリも使用する。したがって仮想ネットワーク構成８０４に示されているように、アップストリームトラフィックは直接ハードウェアから、仮想ネットワーク機能を実行する直接管理されたデータプレーンに移動し、同様にダウンストリームトラフィックは仮想ネットワーク機能からハイパーバイザをバイパスしてハードウェアに戻る。この８０４で示されている構成により、構成８０２で存在する可能性があるボトルネックを回避できる。
【００３７】
図９は、いくつかの実施形態によるスケーラブルな進化したパケットコアの例示的なシステム９００を示す。このシステムはＮＦＶＯ９０２、ＶＮＦＭ９０４、ＶＩＭ９０６、ＮＦＶＩ９０８、ＶＮＦ９１０、ＶＮＦ９１２用のＥＭＳ／ネットワーク管理システム（ＮＭＳ）、及びＯＳＳ／ＢＳＳ９１４を含む。ＮＦＶＯ９０２はＶＮＦカタログ、サービスチェーンカタログ、フルフィルメントポータル、及びサービス記述子とのインターフェースを含む。ＶＮＦＭ９０４は、アプリケーションマネージャ、基盤サービス、モバイルエッジソリューション基盤サービス、及びアプリケーション及びＶＭオートビルドを含む。ＶＩＭ９０６は、オープンスタック、ｖｍウェア、ｉクラウドなどの物理及び仮想ネットワークリソースのセットアップと制御に使用できるソフトウェアを実行する。ＮＦＶＩ９０８は、仮想化層を介してストレージハードウェア、ネットワークハードウェア、及びコンピューティングハードウェアと通信するシステム９００の仮想ストレージ、仮想ネットワーク、及び仮想コンピューティングの面を含む。ＶＮＦ９１０は仮想機能を含み、これは法執行機関のための通信支援法（ＣＡＬＥＡ）クライアント、ポリシー及び課金ルール機能（ＰＣＲＦ）クライアント、ＡＡＡクライアント、ＳＡＥ−ＧＷ、ホームノードＢ（ＨＮＢ）−ＧＷ、ｅＰＤＧ、ＨｅＮＢ−ＧＷ、及びＳｅＧＷを含み、これらはそれぞれＥＭＳ／ＮＭＳ９１２と関連付けることができる。ＮＦＶＯ９０２は、ＶＮＦＭ９０４（例えばＯｒ−Ｖｎｆｍ経由）、ＶＩＭ９０６（例えばＯｒ−Ｖｉ経由）、及びＯＳＳ／ＢＳＳ９１４（例えばＯＳ−ＭＡ経由）と通信している。ＶＮＦＭ９０４は上述したようにＮＦＶＯ９０２、ＶＮＦ９１０（例えばＶｅ−Ｖｎｆｍ経由）、及びＶＩＭ９０６（例えばＶＩ−Ｖｎｆｍ経由）と通信している。ＶＩＭ９０６は、上述のようにＮＦＶＯ９０２及びＶＮＦＭ９０４、並びにＮＦＶＩ９０８（例えばＮｆ−Ｖｉ経由）と通信している。ＮＦＶＩ９０８は、上述のようにＶＩＭ９０６及びＶＮＦ９１０（例えばＶｎ−Ｎｆ経由）と通信している。ＶＮＦ９１０は、ＯＳＳ／ＢＳＳ９１４と通信している。
【００３８】
図１０は、いくつかの実施形態による仮想ネットワーク機能管理（ＶＮＦＭ）及びオーケストレーションを例示する図１０００である。図１０００は、オープンスタックＶＩＭ１００２、タッカＮＦＶＯ１００４、及びオープンＭＡＮＯＮＦＶＯ１００６を示している。図１０００は、ＶＮＦＭアダプタ１００８も示しており、この例では３つのＶＮＦＭｓ、すなわちｅＰＤＧ  ＶＮＦＭ１０１０、ＳｅＧＷ／ＨｅＮＢ−ＧＷＶＮＦＭ１０１２、及びＳＡＥ−ＧＷ  ＶＮＦＭ１０１４とインターフェースしている。図１０００は、ユーザインターフェース・ウェブアプリケーション１０１６、及びデータベース１０１８も示している。図１０００はまた２つのＶＮＦ、すなわちｅＰＤＧ  ＶＮＦ１０２０及びＳＡＥ−ＧＷ  ＶＮＦ１０２２も示している。ＶＮＦＭアダプタ１００８は、ＮＦＶＯ（ＴＡＣＫＥＲ  ＮＦＶＯ１００４及びオープンＭＡＮＯ  ＮＦＶＯ１００６）と通信している。ＶＮＦＭアダプタ１００８は、ＶＮＦＭ（ｅＰＤＧ  ＶＮＦＭ１０１０、ＳｅＧＷ／ＨｅＮＢ−ＧＷＶＮＦＭ１０１２、及びＳＡＥ−ＧＷ  ＶＮＦＭ１０１４）と通信している。ＶＮＦＭは、ＲＥＳＴ  ＡＰＩを介してユーザインターフェース・ウェブアプリケーション１０１６と通信している。ＶＮＦはＶＮＦＭと通信できる。図１０００に示されているように、ｅＰＤＦ  ＶＮＦ１０２０はｅＰＤＧ  ＶＮＦＭ１０１０と通信しており、ＳＡＥ−ＧＷＶＮＦ１０２２はＳＡＥ−ＧＷ  ＶＮＦＭ１０１４と通信している（例えばこの例に示すようにＮＥＴＣＯＮＦ経由）。
【００３９】
図１１は、いくつかの実施形態によるＶＮＦコールフロー１１００の図を示している。コールフローは、次のネットワークコンポーネントの間にある。リクエスタ１１０２（例えばＵＥ）、ＮＦＶＯ１１０４（例えば図１０のＴＲＡＣＫＥＲ  ＮＦＶＯ１００４及び／又はオープンＭＡＮＯ  ＮＦＶＯ１００６）、ＶＮＦＭ１１０６（例えば図１０に示されているＶＮＦＭの１つ、例えばｅＰＤＧ  ＶＮＦＭ１０１０、ＳｅＧＷ／ＨｅＮＢ−ＧＷ  ＶＮＦＭ１０１２、及び／又はＳＡＥ−ＧＷ  ＶＮＦＭ１０１４）、ＶＮＦ１１０８（例えば図１０に示されているＶＮＦの１つ、例えばｅＰＤＧ  ＶＮＦ１０２０及び／又はＳＡＥ−ＧＷ  ＶＮＦ１０２２）、及びＶＩＭ  １１１０（例えば図１０のオープンスタックＶＩＭ１００２）。
【００４０】
ステップ１で、リクエスタ１１０２は、ＶＮＦインスタンスをインスタンス化するために、必要なパラメータを伴うリクエストをＮＦＶＯ１１０４（オーケストレータ）に送信する。ステップ２で、ＮＦＶＯ１１０４はリクエストを検証し、（任意選択で）リクエストの実行可能性をチェックする。ステップ３で、ＮＦＶＯ１１０４はＶＮＦＭ１１０６にＦＮＶをインスタンス化するよう指示する。ステップ４で、ＶＮＦＭ１１０６は、必要な計算／ネットワークリソースを割り当てるようＮＦＶＯ１１０４にリクエストする。ステップ５で、ＮＦＶＯ１１０４は、実行のために選択されたＶＩＭ１１１０にリソース割り当てリクエストを送信する。ステップ６で、ＶＩＭ１１１０は仮想ディプロイメントユニット（ＶＤＵ）に従ってＶＭを割り当て／作成し、必要な内部／外部接続を作成し、ＶＭをネットワークに接続する。ステップ７で、ＶＩＭ１１１０は、ＶＮＦ１１０８に、ＮＦＶＯ１１０４へのリソース割り当ての完了の確認応答をＶＮＦＭ１１０６に送信する。ステップ８で、ＮＦＶＯ１１０４は割り当てられたリソースの完了を確認して適当な構成情報を返す。ステップ９で、ＶＮＦＭ１１０６は、ＶＮＦ固有のパラメータでＶＮＦ１１０８を構成する（例えばＶＮＦ構成インターフェースを介して構成オブジェクトの取得／作成／設定操作を使用）。ステップ１０で、ＶＮＦＭ１１０６はＶＮＦインスタンス化の完了をＮＦＶＯ１１０４に対して確認する。ステップ１１で、ＮＦＶＯ１１０４はＶＮＦインスタンス化の完了をリクエスタ１１０２に対して確認する。
【００４１】
一部の例では、オーケストレーションの例を次の方法で実装できる。ＸＭＬドキュメント（例えば＜サービスリクエスト＞）を生成しＶＮＦＭに送信して、アクティブＶＭとスタンバイＶＭ（例えばホットスタンバイ）を作成できる。サービスはアプリケーション統計を開始してＶＮＦＭに報告できる（例えばステータスはＯＫである）。負荷が増加すると、ＶＭは過負荷になり始め、過負荷をＶＮＦＭに報告できる（例えばＯＶＥＲＬＯＡＤのステータス）。ＶＮＦＭは、１以上のスタンバイＶＭをアクティブにして、実行中のサービスに追加できる。これによりＶＭにおける負荷が減少して過負荷閾値を下回る。ＶＮＦＭは、新しいＶＭを起動することによって（例えば同じ番号をアクティブ化）スタンバイキューを埋め戻すことができるが、現在アクティブ化されているＶＭの過負荷が発生するまで、新しいＶＭのアクティブ化を待機する。
【００４２】
図１２は、いくつかの実施形態によるモバイル・エッジ・コンピューティング（ＭＥＣ）プラットフォーム１２０２を活用する仮想化ソリューション１２００を示す。ＭＥＣプラットフォーム１２０２は、例えばＣＯＴＳｘ８６ハードウェア（例えば１ＲＵ／２ＲＵ）上で実装できる。本明細書で論じられているように、ＭＥＣプラットフォーム１２０２は、別個のコントロールプレーン１２０４とワークロード／データプレーン１２０６を提供することを含め、ＥＴＳＩ  ＮＦＶ準拠のクラウドソリューションを提供できる。コントロールプレーン１２０４は、ＶＭ／ＶＮＦ管理１２１０、ソフトウェア管理１２１２、及び障害／性能管理１２１４を含め、ＭＥＣプラットフォーム１２０２キャリアグレードの管理と通信会社ミドルウェア１２０８を含むことができ、実行できるオープンスタックのコントロールプレーンフレームワーク１２１６を実行できる。ワークロード／データプレーン１２０６は、加速仮想ポート１２２０、キャリアグレードの加速ｖスイッチ１２２２、及びキャリアグレードのリナックス（登録商標）１２２４を含むことができる。
【００４３】
ＶＮＦ１２３０は、コントロールプレーン１２０４及びワークロード／データプレーン１２０６とインターフェースできる。ＶＮＦ１２３０は、例えばこの例に示すように、Ｈ（ｅ）ＮＢ−ＧＷを実行する仮想マシン１２３２、ＰＧＷ及びＳＧＷを実行する仮想マシン１２３４、ＳｅＧＷ及びｅＰＤＧを実行する仮想マシン１２３６を含むことができる。ＶＮＦ１２３０は、ＯＳＳ／ＢＳＳ１２４０及びＮＦＶオーケストレータ１２４２と通信する。
【００４４】
本明細書で説明される原理に従って動作する技術は、任意の適当な方法で実装できる。上記のフローチャートの処理及び決定ブロックは、これらの様々なプロセスを実行するアルゴリズムに含まれる可能性のあるステップと動作を表している。これらのプロセスから派生したアルゴリズムは、１以上の単一目的又は多目的プロセッサと統合されてその動作を指示するソフトウェアとして実装でき、あるいはデジタル信号処理（ＤＳＰ）回路又は特定用途向け集積回路（ＡＳＩＣ）などの機能的に等価な回路として実装でき、あるいは他の適当な方法で実装できる。本明細書に含まれるフローチャートは、特定の回路又は特定のプログラミング言語又はプログラミング言語のタイプの構文又は動作を表すものでないことを理解されたい。むしろフローチャートは、当業者が本明細書に記載された種類の技術を実行する特定の装置の処理を行うための回路の製造又はコンピュータソフトウェアアルゴリズムの実装に使用できる機能情報を例示したものである。また、本明細書で特に明記しない限り、各フローチャートに記載されているステップ及び／又は動作の特定のシーケンスは、単に実装可能なアルゴリズムを例示したものであり、本明細書に記載の原理の実装及び実施形態において変わり得ることも理解されたい。
【００４５】
したがっていくつかの実施形態では、本明細書に記載の技術は、アプリケーションソフトウェア、システムソフトウェア、ファームウェア、ミドルウェア、埋め込みコード、又は他の任意の適当なタイプのコンピュータコードを含め、ソフトウェアとして実装されるコンピュータ実行可能命令に具体化できる。そのようなコンピュータ実行可能命令は、多数の適当なプログラミング言語及び／又はプログラミング又はスクリプトツールのいずれかを使用して記述されてよく、またフレームワーク又は仮想マシンで実行される実行可能マシン言語コードもしくは中間コードとしてコンパイルされてもよい。
【００４６】
本明細書に記載された技術がコンピュータ実行可能命令として具体化されると、これらのコンピュータ実行可能命令は、多くの利便機能を含む任意の適当な方法で実装でき、それぞれこれらの技術に従って動作するアルゴリズムの実行を完了するための１以上の動作を提供する。しかしながらインスタンス化された「利便機能」はコンピュータシステムの構造的要素であり、それは１以上のコンピュータと統合されて実行されると１以上のコンピュータに特定の操作上の役割を実行させる。利便機能は、ソフトウェア要素の一部又は全体であることができる。例えば利便機能はプロセスの機能として、又は個別のプロセスとして、又は他の適当な処理単位として実装されてよい。本明細書に記載された技術が複数の利便機能として実装される場合、各利便機能は独自の方法で実装されてよく、すべて同じ方法で実装する必要はない。さらに、これらの利便機能は必要に応じてパラレル及び／又はシリアルに実行されてよく、及びそれらが実行されているコンピュータの共有メモリを使用して、メッセージ受け渡しプロトコルを用いるか又はその他の適当な方法で互いの間で情報を渡すことができる。
【００４７】
一般に、利便機能は、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、利便機能の機能性は、それらが動作するシステムにおいて所望されるように組み合わせたり配分したりできる。幾つかの実装形態では、本明細書の技術を実行する１以上の利便機能が一緒になって完全なソフトウェアパッケージを形成できる。これらの利便機能は、代替実施形態ではソフトウェアプログラムアプリケーションを実装するために、他の無関係な利便機能及び／又はプロセスと相互作用するように適合されてよい。
【００４８】
本明細書では、１以上のタスクを実行するために幾つかの例示的な利便機能が説明された。しかしながら記載された利便機能及びタスクの分割は、本明細書で説明された例示的な技術を実装できる利便機能のタイプを例示するものにすぎず、実施形態は特定の数、分割又はタイプの利便機能に限定されないことを理解されたい。幾つかの実装においてすべての機能性が単一の利便機能で実装される場合がある。また、幾つかの実装では本明細書に記載された利便機能の一部を他の利便機能と一緒に又は別個に（すなわち単一ユニット又は別個のユニットとして）実装でき、あるいはこれらの利便機能の一部が実装されないことも可能である。
【００４９】
本明細書に記載の技術を実装するコンピュータ実行可能命令（１以上の利便機能として又は他の方法で実装される場合）は、いくつかの実施形態では１以上のコンピュータ可読媒体にエンコードされて媒体に機能性を提供する。コンピュータ可読媒体は、ハードディスクドライブなどの磁気媒体、コンパクトディスク（ＣＤ）やデジタル多用途ディスク（ＤＶＤ）などの光学媒体、永続的又は非永続的なソリッドステートメモリ（フラッシュメモリ、磁気ＲＡＭなど）、又はその他の適当な記憶媒体を含む。そのようなコンピュータ可読媒体は任意の適当な方法で実装できる。本明細書で使用される「コンピュータ可読媒体」（「コンピュータ可読記憶媒体」とも呼ばれる）は、有形の記憶媒体を指す。有形の記憶媒体は非一時的であり、少なくとも１つの物理的・構造的要素を有する。本明細書で使用される「コンピュータ可読媒体」では、少なくとも１つの物理的・構造的要素は、情報が埋め込まれた媒体を作成するプロセス、その媒体に情報を記録するプロセス、又は情報を含んだ媒体をエンコードするプロセスの間に何らかの方法で変更できる少なくとも１つの物理的特性を有する。例えばコンピュータ可読媒体の物理的構造の一部の磁化状態が、記録プロセス中に変更されてよい。
【００５０】
さらに上述した幾つかの技術は、これらの技術で使用するために特定の方法で情報（例えばデータ及び／又は命令）を保存する動作を含む。これらの技術の幾つかの実装（技術がコンピュータ実行可能な命令として実装される実装など）では、情報はコンピュータ可読記憶媒体にエンコードされる。本明細書で特定の構造がこの情報を保存するための有利なフォーマットとして説明されている場合、これらの構造を使用して記憶媒体上でエンコードされるきに情報の物理的編成を与えることができる。次にこれらの有利な構造は、情報と相互作用する１以上のプロセッサの動作に影響を与えることにより、例えばプロセッサによって実行されるコンピュータ操作の効率を上げることにより、記憶媒体に機能性を提供することができる。
【００５１】
技術をコンピュータ実行可能命令として具体化できる幾つかの実装（すべての実装ではなく）では、これらの命令は任意の適当なコンピュータシステムで動作する１以上の適当なコンピューティングデバイスで実行でき、又は１以上のコンピューティングデバイス（又は１以上のコンピューティングデバイスの１以上のプロセッサ）はコンピュータ実行可能な命令を実行するようにプログラムできる。コンピューティングデバイス又はプロセッサは、命令がデータストアなどのコンピューティングデバイス又はプロセッサにアクセス可能な方法で命令が保存されたときに命令を実行するようにプログラムできる（例えばオンチップキャッシュ又は命令レジスタ、バスを介してアクセス可能なコンピュータ可読ストレージ、１以上のネットワークを介してアクセス可能なコンピュータ可読記憶媒体、及びデバイス／プロセッサなどによってアクセス可能な媒体）。これらのコンピュータ実行可能命令を含む利便機能は、単一の多目的プログラム可能なデジタルコンピューティングデバイス、処理能力を共有して本明細書に記載した技術を共同で実行する２以上の多目的コンピューティングデバイスの協調システム、本明細書に記載された技術を実行するためだけの単一のコンピューティングデバイス又はコンピューティングデバイスの協調システム（コロケーションもしくは地理的に分散）、本明細書に記載の技術を実行するための１以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は任意の他の適当なシステムと統合されてその動作を指示することができる。
【００５２】
コンピューティングデバイスは、少なくとも１つのプロセッサ、ネットワークアダプタ、及びコンピュータ可読記憶媒体を含むことができる。コンピューティングデバイスは、例えばデスクトップ又はラップトップ・パーソナルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォン、携帯電話、サーバ、又は他の任意の適当なコンピューティングデバイスであってよい。ネットワークアダプタは、任意の適当なコンピューティング・ネットワークを介して他の任意の適当なコンピューティングデバイスと有線及び／又は無線で通信するために、コンピューティングデバイスを有効にする任意の適当なハードウェア及び／又はソフトウェアであってもよい。コンピューティング・ネットワークには、ワイヤレスアクセスポイント、スイッチ、ルータ、ゲートウェイ、及び／又はその他のネットワーク機器、及びインターネットを含め２以上のコンピュータ間でデータを交換するための適当な有線及び／又は無線通信媒体を含む。コンピュータ可読媒体は、処理されるデータ及び／又はプロセッサによって実行される命令を保存するように適合されてよい。プロセッサは、データの処理や命令の実行を可能にする。データ及び命令は、コンピュータ可読記憶媒体に保存されてよい。
【００５３】
コンピューティングデバイスは、さらに入出力装置を含め１以上のコンポーネント及び周辺機器を有してよい。これらのデバイスは、特にユーザインターフェースを提供するために使用できる。ユーザインターフェースを提供するために使用できる出力デバイスの例は、出力を視覚的に表示するためのプリンタ又はディスプレイ画面、及び出力を聴覚的に表示するためのスピーカ又はその他の音声生成装置を含む。ユーザインターフェースに使用できる入力デバイスの例は、キーボード、マウスやタッチパッドなどのポインティングデバイス、及びデジタル化タブレットである。別の例として、コンピューティングデバイスは、音声認識又は他の可聴形式で入力情報を受け取ることがある。
【００５４】
技術が回路及び／又はコンピュータ実行可能命令で実装される実施形態が説明された。いくつかの実施形態は、少なくとも１つの例が提供された方法の形態であってよいことを理解されたい。方法の一部として実行される動作は、任意の適当な方法で順序付けることができる。したがって実施形態は、動作が例示とは異なる順序で実行されるように構成することができ、これは動作が例示的な実施形態ではシーケンシャル動作として示されていても、同時に幾つかの動作を実行することを含むことができる。
【００５５】
上述した実施形態の種々の特徴は、単独でも、組み合わせて、又は上述した実施形態で具体的に論じされていない様々な構成で使用することができ、それゆえその応用において上記の説明に記された又は図面に示された詳細及びコンポーネントの配置に限定されるものではない。例えば１実施形態に記載された特徴は、他の実施形態に記載される特徴と任意の方法で組み合わせることができる。
【００５６】
特許請求の範囲でクレーム要素を修正するために「第１」、「第２」、「第３」などの序数詞を使用することは、それ自体はあるクレーム要素の別のクレーム要素に対する優先、優位又は順位、あるいは方法の動作が実行される時間的順序を意味するものではなく、単にクレーム要素を区別するために特定の名前を持つクレーム要素を（序数詞の使用を除いて）同じ名前を持つ別の要素と区別するためのラベルとしてのみ使用される。
【００５７】
また、本明細書で使用される語法及び用語は説明を目的とするものであり、制限と見なされるべきではない。本明細書における「含む」、「有する」、「持つ」、「包含する」、「伴う」、及びそれらの変形の使用は、その後に列挙される項目、及びその同等物、並びに追加項目を網羅することを意味する。
【００５８】
本明細書では、「例示的」という言葉は、例、事例又は例示として働くことを意味するものとして使用される。それゆえ例示として本明細書に記載される実施形態、実装、プロセス、特徴などは、例示的な例として理解されるべきであり、特に明記しない限り選好される例もしくは有利な例として理解されるべきではない。
【００５９】
少なくとも１つの実施形態の幾つかの態様を説明したが、当業者には様々な変更、修正及び改善が容易に思い付くことを理解されたい。そのような変更、修正及び改善は本開示の一部であることが意図されており、本明細書に記載れる原理の精神及び範囲内にあることが意図されている。したがって上記の説明及び図面は例示にすぎない。
【図１】
2020508022.tif 000003
【図２】
2020508022.tif 000004
【図３】
2020508022.tif 000005
【図４】
2020508022.tif 000006
【図５】
2020508022.tif 000007
【図６】
2020508022.tif 000008
【図７】
2020508022.tif 000009
【図８】
2020508022.tif 000010
【図９】
2020508022.tif 000011
【図１０】
2020508022.tif 000012
【図１１】
2020508022.tif 000013
【図１２】
2020508022.tif 000014
【図１３Ａ】
2020508022.tif 000015
【図１３Ｂ】
2020508022.tif 000016
【国際調査報告】
2020508022.tif 000017