(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-21
(45)【発行日】2022-07-29
(54)【発明の名称】スケーラブルな進化したパケットコア
(51)【国際特許分類】
H04L 41/40 20220101AFI20220722BHJP
H04W 88/14 20090101ALI20220722BHJP
H04W 76/10 20180101ALI20220722BHJP
【FI】
H04L41/40
H04W88/14
H04W76/10
(21)【出願番号】P 2019566042
(86)(22)【出願日】2018-02-16
(86)【国際出願番号】 US2018018468
(87)【国際公開番号】W WO2018152386
(87)【国際公開日】2018-08-23
【審査請求日】2019-11-20
(32)【優先日】2017-02-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519299315
【氏名又は名称】カーサシステムズ インコーポレイテッド
【氏名又は名称原語表記】CASA SYSTEMS,INC.
(74)【代理人】
【識別番号】100119378
【氏名又は名称】栗原 弘幸
(72)【発明者】
【氏名】ジェン,ウェンシン
(72)【発明者】
【氏名】アン,ギブソン
【審査官】羽岡 さやか
(56)【参考文献】
【文献】国際公開第2015/122177(WO,A1)
【文献】国際公開第2015/004921(WO,A1)
【文献】特開2009-278297(JP,A)
【文献】特開2014-195178(JP,A)
【文献】国際公開第2014/141593(WO,A1)
【文献】韓国公開特許第10-2017-0081537(KR,A)
【文献】米国特許出願公開第2017/0357579(US,A1)
【文献】国際公開第2010/140183(WO,A1)
【文献】特開2017-017655(JP,A)
【文献】特開2010-063022(JP,A)
【文献】国際公開第2016/121973(WO,A1)
【文献】特開2014-139706(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/40
H04W 88/14
H04W 76/10
(57)【特許請求の範囲】
【請求項1】
音声・データネットワーク用の分散コアフレームワークを提供するためのコンピュータ化された方法であって、
当該方法は、コントロールプレーンに関連付けられ、
モバイルエッジコンピューティングプラットフォーム上で作動する、コントロールプレーンコンポーネントのセットを含む前記コントロールプレーンを実行することを含み、前記コントロールプレーンを実行することは:
ネットワーク機能仮想化オーケストレーション層のオペレーティングシステムとは別個のソフトウェアライブラリを実行することにより、前記コントロールプレーンと関連付けられた第1のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記コントロールプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記コントロールプレーンのための第1のネットワークインターフェースを提供することであって、前記第1のネットワークインターフェースは前記コントロールプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
当該方法は、データプレーンに関連付けられ、
前記モバイルエッジコンピューティングプラットフォーム上で作動する、データプレーンコンポーネントのセットを含む前記データプレーンを実行することを含み、前記データプレーンを実行することは:
前記オペレーティングシステムとは別個のソフトウェアライブラリを実行することにより、前記データプレーンと関連付けられた第2のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記データプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記データプレーンのための第2のネットワークインターフェースを提供することであって、前記第2のネットワークインターフェースは前記データプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
当該方法は、
前記ネットワーク機能仮想化オーケストレーション層を実行して、前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットの実行を調整することを含み、
ここで、前記ネットワーク機能仮想化オーケストレーション層は前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットとの調整のために過負荷閾値に対する負荷を判定するものであり、
当該方法は、第1のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含み、並びに
当該方法は、前記コントロールプレーンコンポーネントのセットからの第1のコントロールプレーンコンポーネントを使用して、前記セッションリクエストを処理して、前記セッションリクエストに対して作成されたセッションを操作するための前記データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成し、それにより、前記セッションを操作するための第2のネットワークインターフェースを使用して、選択されたデータプレーンコンポーネントが前記ネットワーク機能仮想化オーケストレーション層をバイパスして、
アップストリームトラフィックを前記リモートデバイスから直接に受け取り、ダウンストリームトラフィックを前記リモートデバイスへ直接に伝えるようにすることを含む、
上記方法。
【請求項2】
前記選択されたデータプレーンコンポーネントを構成することは、
ポリシーベースのルーティングを実行して、前記データプレーンコンポーネントのセットから前記選択されたデータプレーンコンポーネントを選択することと、
第1のコントロールプレーンコンポーネントにより、前記セッションリクエストを、前記選択されたデータプレーンコンポーネントへと転送することと、
前記選択されたデータプレーンコンポーネントにより、前記セッションを作成するセッション管理機能を実行することと、
前記選択されたデータプレーンコンポーネントにより、作成されたセッションレスポンスを第1のコントロールプレーンコンポーネントに送信して、前記選択されたデータプレーンコンポーネントとの前記セッションへの、前記第2のネットワークインターフェースを介したデータパスを確立することと、
を含む、請求項1に記載の方法。
【請求項3】
さらに、
前記コントロールプレーンコンポーネントのセットの
前記負荷が閾値を超えていると判定することと、
前記コントロールプレーンに対して新しいコントロールプレーンコンポーネントをインスタンス化して前記コントロールプレーンの容量を増やすことと、
を含む、請求項1に記載の方法。
【請求項4】
さらに、
前記データプレーンコンポーネントのセットの
前記負荷が閾値を超えていると判定することと、
前記データプレーンに対して新しいデータプレーンコンポーネントをインスタンス化してデータプレーンの容量を増やすことと、
を含む、請求項1に記載の方法。
【請求項5】
さらに、
前記コントロールプレーンコンポーネントのセットの
前記負荷が閾値を下回っていると判定することと、
前記コントロールプレーンコンポーネントのセットからコントロールプレーンコンポーネントを削除してコントロールプレーンの容量を減らすことと、
を含む、請求項1に記載の方法。
【請求項6】
さらに、
前記データプレーンコンポーネントのセットの
前記負荷が閾値を下回っていると判定することと、
前記データプレーンコンポーネントのセットからデータプレーンコンポーネントを削除してデータプレーンの容量を減らすことと、
を含む、請求項1に記載の方法。
【請求項7】
さらに、高可用性構成を実行するデータプレーンを構成することを含み、
前記構成することは、
第1のセットのデータプレーンコンポーネントをアクティブモードで実行して、セッションを処理するために第1のセットのデータプレーンコンポーネントを選択できるようにすることと、
第2のセットのデータプレーンコンポーネントをスタンバイモードで実行して、第1のセットのデータプレーンコンポーネントの1つ以上が利用できないことに応答して、第2のセットのデータプレーンコンポーネントの1つ以上をアクティブモードに切り替えることができるようにし、それによりセッションを第2のセットのデータプレーンコンポーネントによって維持できるようにすることと、
を含む、請求項1に記載の方法。
【請求項8】
音声・データネットワーク用の分散コアフレームワークを提供するように構成された装置であって、当該装置はプロセッサを有し、前記プロセッサはメモリ及び追加の処理リソースのセットと通信するよう構成され、前記プロセッサは前記メモリに保存された命令を実行するように構成され、
前記命令により、前記プロセッサは、コントロールプレーンと関連付けられ
、モバイルエッジコンピューティングプラットフォーム上で作動する、コントロールプレーンコンポーネントのセットを含む前記コントロールプレーンを実行するよう構成され、前記コントロールプレーンを実行することは:
ネットワーク機能仮想化オーケストレーション層のオペレーティングシステムとは別個のソフトウェアライブラリを実行することにより、前記処理リソースのセットの第1の部分上で動作する仮想マシンのセットを使用して前記コントロールプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記コントロールプレーンのための第1のネットワークインターフェースを提供することであって、前記第1のネットワークインターフェースは前記コントロールプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
前記命令により、前記プロセッサは、データプレーンに関連付けられ
、前記モバイルエッジコンピューティングプラットフォーム上で作動する、データプレーンコンポーネントのセットを含む前記データプレーンを実行するよう構成され、前記データプレーンを実行することは:
前記オペレーティングシステムとは別個のソフトウェアライブラリを実行することにより、前記処理リソースのセットの第2の部分上で動作する仮想マシンのセットを使用して前記データプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記データプレーンのための第2のネットワークインターフェースを提供することであって、前記第2のネットワークインターフェースは前記データプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
前記命令により、前記プロセッサは、
前記ネットワーク機能仮想化オーケストレーション層を実行して、前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットの実行を調整するよう構成され、
ここで、前記ネットワーク機能仮想化オーケストレーション層は前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットとの調整のために過負荷閾値に対する負荷を判定するものであり、
前記命令により、前記プロセッサは、第1のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取るよう構成され、かつ、
前記命令により、前記プロセッサは、前記コントロールプレーンコンポーネントのセットからの第1のコントロールプレーンコンポーネントを使用して、前記セッションリクエストを処理して、前記セッションリクエストに対して作成されたセッションを操作するための前記データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成し、それにより、前記セッションを操作するための第2のネットワークインターフェースを使用して、選択されたデータプレーンコンポーネントが前記ネットワーク機能仮想化オーケストレーション層をバイパスして、
アップストリームトラフィックを前記リモートデバイスから直接に受け取り、ダウンストリームトラフィックを前記リモートデバイスへ直接に伝えるよう構成されている、
上記装置。
【請求項9】
さらに、前記命令は当該装置に、
ポリシーベースのルーティングを実行して、前記データプレーンコンポーネントのセットから前記選択されたデータプレーンコンポーネントを選択させ、
第1のコントロールプレーンコンポーネントにより、前記セッションリクエストを前記選択されたデータプレーンコンポーネントへと転送させ、
前記選択されたデータプレーンコンポーネントにより、前記セッションを作成するセッション管理機能を実行させ、かつ
前記選択されたデータプレーンコンポーネントにより、作成されたセッションレスポンスを第1のコントロールプレーンコンポーネントに送信して、前記選択されたデータプレーンコンポーネントとの前記セッションへの、前記第2のネットワークインターフェースを介したデータパスを確立させ、
るように構成されている、請求項8に記載の装置。
【請求項10】
さらに、前記命令は当該装置に、
前記データプレーンコンポーネントのセットの
前記負荷が閾値を超えていると判定させ、かつ
前記データプレーンに対して新しいデータプレーンコンポーネントをインスタンス化して前記データプレーンの容量を増加させ、
るように構成されている、請求項8に記載の装置。
【請求項11】
さらに、前記命令は当該装置に、
前記データプレーンコンポーネントのセットの
前記負荷が閾値を下回っていると判定させ、かつ
前記データプレーンコンポーネントのセットからデータプレーンコンポーネントを削除して前記データプレーンの容量を減少させ、
るように構成されている、請求項8に記載の装置。
【請求項12】
さらに、前記命令は当該装置に、前記データプレーンに高可用性構成を実行させるよう構成されており、前記実行させることは
第1のセットのデータプレーンコンポーネントをアクティブモードで実行して、セッションを処理するために第1のセットのデータプレーンコンポーネントを選択できるようにすることと、
第2のセットのデータプレーンコンポーネントをスタンバイモードで実行して、第1のセットのデータプレーンコンポーネントの1つ以上が利用できないことに応答して、第2のセットのデータプレーンコンポーネントの1つ以上をアクティブモードに切り替えることができるようにし、それによりセッションを第2のセットのデータプレーンコンポーネントによって維持できるようにすることと、
を含む、請求項8に記載の装置。
【請求項13】
複数のコンピュータ実行可能命令でエンコードされた少なくとも1つの非一時的なコンピュータ可読記憶媒体であって、これらの命令は実行されると以下の方法すなわち:
前記方法は、コントロールプレーンに関連付けられ
、モバイルエッジコンピューティングプラットフォーム上で作動する、コントロールプレーンコンポーネントのセットを含む前記コントロールプレーンを実行することを含み、前記コントロールプレーンを実行することは:
ネットワーク機能仮想化オーケストレーション層のオペレーティングシステムとは別個のソフトウェアライブラリを実行することにより、前記コントロールプレーンと関連付けられた第1のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記コントロールプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記コントロールプレーンのための第1のネットワークインターフェースを提供することであって、前記第1のネットワークインターフェースは前記コントロールプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み、
前記方法は、データプレーンに関連付けられ
、前記モバイルエッジコンピューティングプラットフォーム上で作動する、データプレーンコンポーネントのセットを含む前記データプレーンを実行することを含み、前記データプレーンを実行することは:
前記オペレーティングシステムとは別個のソフトウェアライブラリを実行することにより、前記データプレーンと関連付けられた第2のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用して前記データプレーンコンポーネントを実行すること、及び
音声・データネットワークに前記データプレーンのための第2のネットワークインターフェースを提供することであって、前記第2のネットワークインターフェースは前記データプレーンコンポーネントのセットによって共有されている、前記提供すること、を含み
前記方法は、
前記ネットワーク機能仮想化オーケストレーション層を実行して、前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットの実行を調整することを含み、
ここで、前記ネットワーク機能仮想化オーケストレーション層は前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットとの調整のために過負荷閾値に対する負荷を判定するものであり、
前記方法は、第1のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含み、並びに
前記方法は、前記コントロールプレーンコンポーネントのセットからの第1のコントロールプレーンコンポーネントを使用して、前記セッションリクエストを処理して、前記セッションリクエストに対して作成されたセッションを操作するための前記データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成し、それにより、前記セッションを操作するための第2のネットワークインターフェースを使用して、選択されたデータプレーンコンポーネントが前記ネットワーク機能仮想化オーケストレーション層をバイパスして、
アップストリームトラフィックを前記リモートデバイスから直接に受け取り、ダウンストリームトラフィックを前記リモートデバイスへ直接に伝えることを含む、
前記方法を実行する、上記非一時的なコンピュータ可読記憶媒体。
【請求項14】
前記選択されたデータプレーンコンポーネントを構成することは、
ポリシーベースのルーティングを実行して、前記データプレーンコンポーネントのセットから前記選択されたデータプレーンコンポーネントを選択することと、
第1のコントロールプレーンコンポーネントにより、前記セッションリクエストを、前記選択されたデータプレーンコンポーネントへと転送することと、
前記選択されたデータプレーンコンポーネントにより、前記セッションを作成するセッション管理機能を実行することと、
前記選択されたデータプレーンコンポーネントにより、作成されたセッションレスポンスを第1のコントロールプレーンコンポーネントに送信して、前記選択されたデータプレーンコンポーネントとの前記セッションへの、前記第2のネットワークインターフェースを介したデータパスを確立することと、
を含む、請求項13に記載の非一時的なコンピュータ可読記憶媒体。
【請求項15】
前記方法はさらに、
前記コントロールプレーンコンポーネントのセットの負荷が
前記閾値を超えていると判定することと、
前記コントロールプレーンに対して新しいコントロールプレーンコンポーネントをインスタンス化して前記コントロールプレーンの容量を増やすことと、
を含む、請求項13に記載の非一時的なコンピュータ可読記憶媒体。
【請求項16】
前記方法はさらに、
前記コントロールプレーンコンポーネントのセットの
前記負荷が閾値を下回っていると判定することと、
前記コントロールプレーンコンポーネントのセットからコントロールプレーンコンポーネントを削除して前記コントロールプレーンの容量を減らすことと、
を含む、請求項13に記載の非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記方法はさらに、
前記データプレーンコンポーネントのセットの
前記負荷が閾値を下回っていると判定することと、
前記データプレーンコンポーネントのセットからデータプレーンコンポーネントを削除して前記データプレーンの容量を減らすことと、
を含む、請求項13に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記方法はさらに、高可用性構成を実行するデータプレーンを構成することを含み、
前記構成することは、
第1のセットのデータプレーンコンポーネントをアクティブモードで実行して、セッションを処理するために第1のセットのデータプレーンコンポーネントを選択できるようにすることと、
第2のセットのデータプレーンコンポーネントをスタンバイモードで実行して、第1のセットのデータプレーンコンポーネントの1つ以上が利用できないことに応答して、第2のセットのデータプレーンコンポーネントの1つ以上をアクティブモードに切り替えることができるようにし、それによりセッションを第2のセットのデータプレーンコンポーネントによって維持できるようにすることと、
を含む、請求項13に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記コントロールプレーンを実行すること及びデータプレーンを実行することは:
ネットワークエッジにある第1のセットのコンピューティングデバイスで動作する
前記仮想マシンのセットを用いて前記コントロールプレーンコンポーネントを実行すること;及び
前記ネットワークエッジにある第2のセットのコンピューティングデバイスで動作する
前記仮想マシンのセットを用いて前記データプレーンコンポーネントを実行すること;
を包含する、請求項1記載の方法。
【請求項20】
前記ネットワーク機能仮想化オーケストレーション層を実行して、前記コントロールプレーンコンポーネントのセットと前記データプレーンコンポーネントのセットの実行を調整することについて:
前記調整することは、前記第1のセットのコンピューティングデバイス上で動作する前記仮想マシンのセットをインスタンス化することを包含し、そのことは、第1のセットのアクティブ仮想マシ
ン及び第1のセットのスタンバイ仮想マシンをインスタンス化することを含んでおり;
前記調整することはさらに、前記第2のセットのコンピューティングデバイス上で動作する前記仮想マシンのセットをインスタンス化することを包含し、そのことは、第2のセットのアクティブ仮想マシン及び第2のセットのスタンバイ仮想マシンをインスタンス化することを含んでおり;
前記調整することはさらに、前記第1及び第2のセットのアクティブ仮想マシンから報告されたアプリケーション統計を監視することを包含し、ここで、前記アプリケーション統計は前記コントロールプレーンコンポーネントのセット及び前記データプレーンコンポーネントのセットを実行する前記第1及び第2のセットのアクティブ仮想マシンの利用率の計測を含んでおり;
前記調整することはさらに、前記報告されたアプリケーション統計に基づいて、前記第1のセットのアクティブ仮想マシン又は前記第2のセットのアクティブ仮想マシンあるいはそれらの両方の過負荷を判定することを包含し;ならびに
前記調整することはさらに、前記第1又は第2あるいはそれらの両方のセットのスタンバイ仮想マシンにおけるスタンバイ仮想マシンをアクティブにして、アクティブ仮想マシンの利用率を減少させることを包含する;
請求項1記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2017年2月16日に出願された「スケーラブルな進化したパケットコア」と題する米国仮特許出願第62/459750号の関連出願であり、米国特許法第119条(e)の下でこの仮出願に基づく優先権を主張する。なお、その全開示内容は参照により本明細書に組み込まれる。
【0002】
技術分野
本明細書に記載された技術は、概略、スケーラブルな進化したパケットコアに関する。
【背景技術】
【0003】
進化したパケットコア(EPC)は、4G及び5Gネットワークなどのセルラーネットワークのための音声・データ統合サービスを提供するためのフレームワークである。物理EPCネットワーク展開は、通常専用の物理デバイス及び/又はネットワークカードを使用してEPCネットワークのためのデバイスを構成する。そのようなデバイス及び/又はカードは、通常ネットワークの信号とデータの両面を操作する。したがって例えば新しいカード又はデバイスを追加すると、データと制御の両面が増加する(例えば制御面ではなくデータ面のみを増やす必要がある場合でも)。さらに追加のデバイス又はカードを追加する場合は、既存のネットワークデバイスと新しいデバイスの間でデータパスが容易に流れない場合がある(例えば信号が各デバイスに関連付けられる方法のため)。
【0004】
データアプリケーションは帯域幅の消費を増やすので、データ面のみに追加して制御面には追加しないこと(又はその逆)が望ましい場合がある。例えばアプリケーションが4Kビデオをサポートしている場合、帯域幅の使用量は他のテクノロジーと比較して増加するが(4Kビデオにより消費されるデータ量のため)、信号は同じままであるということが可能である。
【発明の概要】
【0005】
開示された主題に従い、データ及び信号面を弾性的かつ動的に(例えばネットワーク需要及び/又はネットワーク要件に従って)スケーリングすることを可能にするスケーラブルなEPCのための装置、システム及び方法が提供される。
【0006】
いくつかの実施形態は、関連する音声・データネットワーク用の分散コアフレームワークを提供するためのコンピュータ化された方法に関する。この方法は、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含むコントロールプレーンを実行することを含み、これはコントロールプレーンと関連付けられた第1のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用してコントロールプレーンコンポーネントを実行することと、音声・データネットワークにコントロールプレーンのための第1のネットワークインターフェースを提供することとを含み、ここで第1のネットワークインターフェースはコントロールプレーンコンポーネントのセットによって共有されている。この方法は、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含むデータプレーンを実行することを含み、これはデータプレーンと関連付けられた第2のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用してデータプレーンコンポーネントを実行することと、音声・データネットワークにデータプレーンのための第2のネットワークインターフェースを提供することとを含み、ここで前記第2のネットワークインターフェースはデータプレーンコンポーネントのセットによって共有されている。この方法は、第1のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含む。この方法は、コントロールプレーンコンポーネントのセットからの第1のコントロールプレーンコンポーネントを使用してセッションリクエストを処理するために、データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成してセッションリクエストに対して作成されたセッションを操作して、選択されたデータプレーンコンポーネントが第2のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを操作することを含む。
【0007】
いくつかの実施形態は、音声・データネットワーク用の分散コアフレームワークを提供するように構成された装置に関する。この装置は、メモリ及び追加の処理リソースのセットと通信するプロセッサを含む。プロセッサはメモリに保存された命令を実行するように構成されており、これらの命令によりプロセッサは、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含むコントロールプレーンを実行することを含み、これは処理リソースのセットの第1の部分上で動作する仮想マシンのセットを使用してコントロールプレーンコンポーネントを実行することと、音声・データネットワークにコントロールプレーンのための第1のネットワークインターフェースを提供することとを含み、ここで第1のネットワークインターフェースはコントロールプレーンコンポーネントのセットによって共有されている。プロセッサは、データプレーンに関連付けられたデータプレーンコンポーネントのセットを含むデータプレーンを実行し、これは処理リソースのセットの第2の部分上で動作する仮想マシンのセットを使用してデータプレーンコンポーネントを実行することと、音声・データネットワークにデータプレーンのための第2のネットワークインターフェースを提供することとを含み、ここで第2のネットワークインターフェースはデータプレーンコンポーネントのセットによって共有されている。プロセッサは、第1のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取る。プロセッサは、コントロールプレーンコンポーネントのセットからの第1のコントロールプレーンコンポーネントを使用してセッションリクエストを処理するために、データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成してセッションリクエストに対して作成されたセッションを操作して、選択されたデータプレーンコンポーネントが第2のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを操作する。
【0008】
いくつかの実施形態は、少なくとも1つの非一時的なコンピュータ可読記憶媒体に関する。少なくとも1つの非一時的なコンピュータ可読記憶媒体は、複数のコンピュータ実行可能命令でエンコードされており、これらの命令は実行されると、コントロールプレーンと関連付けられたコントロールプレーンコンポーネントのセットを含むコントロールプレーンを実行することを含み、これはコントロールプレーンと関連付けられた第1のセットのコンピューティングデバイス上で動作する仮想マシンのセットを使用してコントロールプレーンコンポーネントを実行することと、音声・データネットワークにコントロールプレーンのための第1のネットワークインターフェースを提供することとを含み、ここで前記第1のネットワークインターフェースはコントロールプレーンコンポーネントのセットによって共有されているようにした方法を実行する。この方法は、第1のネットワークインターフェースを介してリモートデバイスからセッションリクエストを受け取ることを含む。この方法は、コントロールプレーンコンポーネントのセットからの第1のコントロールプレーンコンポーネントを使用してセッションリクエストを処理するために、データプレーンコンポーネントのセットから選択されたデータプレーンコンポーネントを構成してセッションリクエストに対して作成されたセッションを操作して、選択されたデータプレーンコンポーネントが第2のネットワークインターフェースを使用して直接リモートデバイスと通信できるようにしてセッションを操作することを含む。
【0009】
以上、開示される主題の特徴をかなり大まかに概述したが、それは以下に続く詳細な説明がよりよく理解されるためであり、また本発明の技術への貢献がより適切に評価されるためである。当然ながら開示される主題のその他の特徴があり、それらは以下に説明され、本明細書に添付される特許請求の範囲の主題を形成する。本明細書で使用される表現や用語は説明を目的とするものであり、限定と見なされるべきではないことを理解されたい。
【0010】
図面において、様々な図に示されている同一又はほぼ同一の各コンポーネントは同じ参照文字で表されている。見やすくするために、各図面ですべてのコンポーネントが表示されているわけではない。図面は必ずしも縮尺通りではなく、代わりに本明細書で説明される技術及び装置の種々の側面を示すことに重点が置かれている。
【図面の簡単な説明】
【0011】
【
図1】いくつかの例による例示的なネットワークを示す。
【
図2】いくつかの実施形態による例示的なスケーラブルなシステム・アーキテクチャ・エボリューション(SAE)ゲートウェイ(SAE-GW)を示す。
【
図3】いくつかの実施形態による例示的な4層タスクモデルを示す。
【
図4】いくつかの実施形態によるスケーラブルな進化したパケットコアにおけるコールフローの例示的な図を示す。
【
図5】いくつかの実施形態によるVNF間冗長性の図を示す。
【
図6】いくつかの例による参照アーキテクチャの図を示す。
【
図7】いくつかの実施形態による、仮想ネットワーク機能の実現を示す図である。
【
図8】いくつかの実施形態によるハイパーバイザ及びオペレーティングシステムのボトルネックを回避する図を示す。
【
図9】いくつかの実施形態によるスケーラブルな進化したパケットコアの例示的なシステムを示す。
【
図10】いくつかの実施形態によるVNFM及びオーケストレーションを示す。
【
図11】いくつかの実施形態によるVNFコールフローの図を示す。
【
図12】いくつかの実施形態によるモバイルエッジ・コンピューティング・プラットフォームを活用する仮想化ソリューションを示す。
【
図13A】いくつかの実施形態によるデータプレーンコンポーネントの例示的な特徴を例示する。
【
図13B】いくつかの実施形態によるデータプレーンコンポーネントの例示的な特徴を例示する。
【発明を実施するための形態】
【0012】
発明者は、3G、4G及び5Gを含む様々な無線技術をサポートするスケーラブルなEPGソリューションを提供するために使用できる様々な技術を認識し理解した。仮想機能を使用してEPGのデータプレーン及びコントロールプレーンの面を実行することができ、それによりEPGがデータプレーン及びコントロールプレーン機能を独立にスケーリング及び制御できるようにする。
【0013】
図1に示されたEPCネットワーク100などEPCネットワーク102の従来の展開では、データ及び制御面を個別にスケーリングし制御することはできない。
図1に示すように、EPCネットワーク100は、ユニバーサル地上無線アクセスネットワーク(UTRAN)102、GSM(登録商標) EDGE無線アクセスネットワーク(GERAN)104、一般パケット無線サービス(GPRS)サポートノード(SGSN)106、モビリティ管理エンティティ(MME)108、ホーム加入者サーバ(HSS)110、サービングゲートウェイ112、進化したUTRAN(E-UTRAN)114、ポリシー及び課金ルール機能(PCRF)116、並びにPDNゲートウェイ118を含む。EPCネットワーク100はまた、X2ゲートウェイ(X2-GW)120、サービスゲートウェイ(SeGW)122、スモールセルゲートウェイ124、(HeMS)126、進化したパケット・データ・ゲートウェイ(ePDG)128、信頼されたワイヤレスアクセスゲートウェイ(TWAG)130も含む。EPCネットワーク100は、3つのユーザ機器(UE)142a~cを含む。TWAG130は信頼できるWi-Fiネットワーク132を介してUE142cと通信し、ePDG128は信頼できないWi-Fiネットワーク134を介してUE142cと通信する。SeGW122は、バックホール・ネットワーク136を介してデータオフロードコンポーネント138と通信する。データオフロードコンポーネント138はローカルゲートウェイ(L-GW)140、並びにホームeノードB(HeNB)140a及び140bと通信しており、ホームeノードB(HeNB)140a及び140bはUE142bと通信している。UE142aは、E-UTRAN114を介してネットワーク100と通信している。
【0014】
特に、サービングゲートウェイ112は、ユーザデータパケットをルーティングして転送する。サービングゲートウェイ112は、eNodeB間ハンドオーバ中にユーザプレーンのモビリティアンカとして、及びLTEと他の3GPP技術との間のモビリティためのアンカとしても機能することができる。サービングゲートウェイ112は、IPベアラサービスのパラメータなどのUEコンテキスト、及びネットワーク内部ルーティング情報を管理して保存する。それはまた合法的妨害の場合にユーザトラフィックの複製を実行する。PDNゲートウェイ118は、UEに対するトラフィックのエグジットポイント及びエントリポイントとして機能することにより、UEから外部パケットデータネットワークへの接続性を提供する。PDNゲートウェイ118は、ポリシー実施、パケットフィルタリング、課金サポート、合法的妨害及びパケットスクリーニングを実行できる。PDNゲートウェイ118は、3GPP技術と非3GPP技術(例えばWiMAX)との間のモビリティのアンカとして機能することができる。
【0015】
発明者は、サービングゲートウェイ112及び/又はPDNゲートウェイ118によって提供されるようなEPCの制御面からデータ面を分離することが望ましいことを認識及び理解した。データを制御から切り離すことにより、例えばネットワークのデータ面と制御面を個別にスケーリングすることが容易になる(例えばコンピューティングサービスごとに異なるスケーリングを行う)。本明細書に記載された技術は、いくつかの実施形態では、個別のコントロールプレーン(例えば信号用)及びデータプレーン(例えばビデオ、音声及び/又は他のデータなどのデータトラフィック用)を仮想EPC展開で提供する。例えばデータ容量を追加する必要がある場合、この技術を使用して、コントロールプレーンに不必要に追加する必要なく、データプレーンのインスタンスを作成できる。同様に、例えばネットワークがリソースを十分に活用していない場合、データプレーンやコントロールプレーンを縮小できる。これにより特定のネットワークが必要とする量のリソースを提供するように簡単に調整できる展開が可能になる。
【0016】
本明細書に記載する技術は、仮想環境でのEPCのスループットとスケーラビリティに対処する。いくつかの実施形態では、この技術を使用して、5Gモバイルネットワークのトラフィックをサポートするために弾力的で線形にスケーラブルなEPCコア(例えばパケットデータネットワークゲートウェイ(P-GW)とサービングゲートウェイ(S-GW)を含む)を提供できる。いくつかの例では、この技術は次の機能の1つ以上を提供できる。この技術は、単一のコントロールプレーンアドレスが隣接するネットワーク要素にクラスタを単一の論理エンティティとして提示するように、サービスの透明性を提供できる。これらの技術は、高いデータパス性能を提供できる。これらの技術は、仮想ネットワーク機能(VNF)クラスタ内の任意の仮想マシン(VM)の垂直スケールアップ/ダウンを提供できる。これらの技術は、セッション容量とスループットの線形水平スケーリング(イン/アウトなど)を提供できる。これらの技術は、最適なネットワーク帯域幅利用率でクラスタごとに数テラビットのスループットを提供できる。これらの技術は柔軟な高可用性(HA)スキームを提供でき、及び/又はサービスレベル合意書(SLA)に基づく1:1ホットスタンバイ又はN:1ウォームスタンバイを提供できる。これらの技術は、クラスタ内の各VMの独立したソフトウェアアップグレード/ダウングレードを提供できる。これらの技術は、ライブクラスタ上のサンドボックスを有効にして、最終的な展開の前に新しいリリースをソークできる。これらの特徴及びその他の特徴は説明され、本明細書の説明を考慮してさらに理解されるであろう。
【0017】
以下の説明では、開示された主題の完全な理解を提供するために、開示された主題のシステム及び方法、並びにそのようなシステム及び方法が動作できる環境などに関して多くの具体的な詳細が述べられる。しかしながら開示された主題は、そのような具体的な詳細なしで実施できること、及び当技術分野でよく知られている特定の特徴は、開示された主題の複雑さを避けるために詳細には説明されないことは当業者には明らかであろう。加えて、以下に提供される例は例示的なものであり、開示される主題の範囲内にある他のシステム及び方法も想定されていることが理解されるであろう。
【0018】
図2は、いくつかの実施形態による例示的なスケーラブルなシステムアーキテクチャエボリューション(SAE)ゲートウェイ(SAE-GW)200を示す。SAE-GW200は、各プレーン102を個別にスケーリングすることを可能にするために、別個のコントロールプレーン202とデータプレーン204を有する。コントロールプレーン202は、GTP-Cルーティングエージェント(GRA)などの任意の数のコントロールプレーンコンポーネントを含むことができるという意味で弾力的である。この非限定的な例に示されるように、コントロールプレーン202はアクティブGRA206a及びスタンバイGRA206b(本明細書ではGRA206と総称する)を含む。データプレーン204は、任意の数のSAEデータパス(SAE-DP)を含むことができるという意味で弾力的である。この非限定的な例に示されるように、データプレーンは3つのSAE-DP208a-208c(本明細書ではSAE-DP208と総称する)を含み、SAE-DP208a及び208bはアクティブであり、SAE-DP208cはスタンバイである。GRA206及びSAE-DP208は、複数のインスタンスを有することができるデータベース(DB)210と通信している。DB210は、例えばデータプレーン204とコントロールプレーン206によって使用されるセッション状態データ及び他の関連データを保存することができる。DB210は、リカバリなどの種々の目的に使用できる。
【0019】
各コントロールプレーンコンポーネントを、GPRSゲートウェイノードとサービングノード間の信号などの信号用コアネットワーク内で使用して、セッションのアクティブ化、セッションの非アクティブ化、サービス品質パラメータの調整を行うことができる。さらに
図2を参照すると、各GRA206は、データを受け取る単一のポイントを提供することができ、コントロールプレーン204上でのみセッション配信を実行するように構成できる(例えばGPRSトンネリングプロトコル(GTP)-Cを使用)。GRAは、単純なステートレス及び/又は軽量のステートフルGRAとして構成できる。
【0020】
さらにコントロールプレーンコンポーネント(例えばGRA)を参照すると、コントロールプレーン204はGTP-Cルーティングエージェントを含むことができる。GTP-Cルーティングエージェントは、コントロールプレーン(例えばGRAの実装)のサーバ/VMのクラスタのエントリポイントとして機能できる。例えばパケットデータネットワーク(PDN)接続リクエストは、ネットワークへのGTP-Cエンドポイントとして構成された単一のIPアドレスを介してGRAに到達でき、GTP-Cルーティングエージェントはコントロールプレーン内の種々のGRA間のルーティング及び/又はロードバランシングを実行するために使用できる。例えば単一のエントリポイントを使用すると、クラスタを外部ネットワーク機能に対する1つの論理エンティティとして表すことにより、サービスの透明性を提供できる。GRAは、例えば可用性及び/又は容量などの基準に基づいてルーティングするアクセスポイント名(APN)ルーティング/ポリシーテーブルを使用して、データプレーン206内の選択されたバックエンドSAE-DPに各々の新しい接続リクエストをルーティングできる。GTP-Cルーティングエージェントは、確立されたセッションのスティッキ性を維持できる。
【0021】
各データプレーンコンポーネントは、セッションのためのデータパスを提供するように構成できる。
図13A~
図13Bは、データプレーンコンポーネントの例示的な特徴を示している。さらに
図2を参照すると、データプレーン204は、各SAE-DPサーバ又は仮想マシンに(例えばGTP-U/SGiインターフェースを使用して)直接データプレーンを提供するように構成できる。オープンプロトコルは、GRA及び/又はSAE-DPに対するすべてのサーバ及び/又は仮想マシンインターフェースで提供できる。例えばデータプレーン204のデータスループットを増やすためにより多くのDPノードを追加できる。それゆえデータパスは必要に応じて拡大及び縮小できる。直接データプレーン206は、例えば配信を経由するデータパスと比較して、帯域幅をより効率的に利用できる。例えば直接データプレーン206は、追加の帯域幅の消費を避けるために、すべてのセッショントラフィックが直接送信先に行くことを可能にするが、このことは例えば技術を必要に応じて拡張し、帯域幅を効率的に利用するのを助けることができる。
【0022】
さらにデータプレーン206を参照すると、単一のIPアドレスは、SAE-DP102のネットワークへのGTP-Uエンドポイント(例えばコントロールプレーン204に使用されるIPアドレスとは異なる)として構成できる。完全修飾されたトンネルエンドポイント識別子(FTEID)のようなデータプレーン識別子は、衛星ゲートウェイ(SGW)によって自動的に発見され得るように、コントロールプレーンメッセージ内で運ばれることができる。SGWは、
図12に関連してさらに説明されるように、仮想ネットワーク機能として実行できる。種々の内部GTP-Uエンドポイントは、データプレーン206トラフィックが特定の仮想機能又は処理ユニットに直接送られることを可能にする。個別のGTP-Uエンドポイントを有することにより、システムは線形/無制限の水平スケールを(例えば数テラビットのスループットで)達成できるようにする。個別のGTP-Uエンドポイントは、例えばネットワーク帯域幅を節約できる。データプレーン206は、SAE-DPのN:1ウォームスタンバイ構成及び/又は1:1ホットスタンバイ構成が存在するように、HAスキームに対して柔軟に構成できる。種々のHAスキームで種々のSLAを構成できる。例えばSLAは種々のパブリックデータネットワーク(PDN)に対して構成できる。例えばSLAを使用してIPマルチメディアサブシステム(IMS)PDNのためのホットスタンバイを構成でき、、SLAを使用してINET PDNのためのウォームスタンバイを構成でき、及び/又は同様である。
【0023】
いくつかの実施形態において、示されたSAE-GW200を使用して、
図1に示されたSAEのコアネットワークアーキテクチャ機能を含むネットワーク100の機能を実装できる。例えばSAE-GW200は、サービングゲートウェイ112及び/又はPDNゲートウェイ118の機能を実装できる。当業者は、
図2(例えば他の図)に示されたGRAの例を使用して任意の数のプロトコルを操作できることを理解するであろう。例えばこの技術を使用して、モビリティプロトコル、DOC SIS、ソフトGRE、及び/又は本明細書で説明される信号及びデータプレーン技術を用いて拡張可能な他のプロトコルを処理できる。
【0024】
図3は、いくつかの実施形態による、例示的な4層タスクモデル300を示す。第1層302aは、ネットワーク構成プロトコル(Netconf)デーモン310、簡易ネットワーク管理プロトコル(SNMP)デーモン312、及び表現状態転送API(RESTAPI)デーモン314を含む様々なデーモンを包含する。第2層302bは、仮想ネットワーク機能(VNF)コントローラ320、HAコントローラ322、メッセージルータ324、DBエンジン326、及びアドレスマネージャ328を包含する。第3層302cは、ルートマネージャ330、ルーティングデーモン332、FFEマネージャ334を包含する。第4層302dは、接続マネージャ340、トラフィックマネージャ342、及び認証、許可及びアカウンティング(AAA)マネージャ344を包含する。
【0025】
第1層302aを参照すると、Netconfデーモン310、SNMPデーモン312、及びRESTAPIデーモン314は、種々の外部管理及び/又はオーケストレーションアプリケーションと相互作用するための種々のインターフェースを提供する。例えば以下でさらに説明するように、インターフェースを使用して、コントロールプレーン及びデータプレーンコンポーネントを制御できる仮想ネットワーク機能(VNF)オーケストレーションエンジンとインターフェースできる。
【0026】
第2層302bを参照すると、VNFコントローラ320は構成管理、リソース監視、スケーリングサービス、及び/又は同種のものを提供できる。HAコントローラ322は、障害検出、タスクリカバリ、VNF間切り替え、及び/又は同種のものを調整できる。メッセージルータ324は、内部メッセージングサービスを提供できる。DBエンジン326は、ソフトウェア及び/又はハードウェア障害後のVNF状態情報をリカバリするための統一されたメカニズムを提供できる。アドレスマネージャ328は、例えばローカルIPプールを通して、動的ホスト構成プロトコル(DHCP)プール、及び/又は同種のものを通してアドレス割り当てサービスを提供する。
【0027】
第3層302C参照すると、ルートマネージャ330及びルーティングデーモン332は、ルーティングプロトコル(例えば境界ゲートウェイ・プロトコル(BGP)、オープンショーテストパスファースト(OSPF)、及び/又は同種のもの)を実装する。いくつかの実施形態では、FFEマネージャ334はデータパスをセットアップすることができ、FFE336は実際のデータパスの検索及び転送を実装できる。
【0028】
第4層302Dを参照すると、接続マネージャ340は、ゲートウェイの制御パス処理を操作する。例えば接続マネージャ340は、セキュリティゲートウェイのためのインターネットキー交換(IKE)パケット処理、進化したパケットデータゲートウェイ(ePDG)のためのIKE及びGTP-Cパケット処理、及び/又は同種のものを実行する。トラフィックマネージャ342は、ゲートウェイのデータパス処理を操作する。例えばトラフィックマネージャ342は、アップリンクセキュリティペイロードのカプセル化(ESP)パケット及びダウンリンクIP、GTP-Uパケット処理、及び/又は同種のものを提供できる。AAAマネージャ344はAAAプロトコル、例えばリモート認証ダイヤルインユーザサービス(RADIUS)及び/又は(SEGW(例えばSEGW122)へのダイアメータ・クライアントサービス、ePDG(例えばePDG128)、及び/又は任意の他のゲートウェイサービスを提供できる。
【0029】
図4は、いくつかの実施形態によるスケーラブルな進化したパケットコアにおけるコールフロー400の例示的な図を示す。ステップ1で、SAE-GWはセッション作成リクエスト(CSREQ)を受け取る。ステップ2で、GRAはポリシーベースのルーティングを行ってSAE-DPを選択する。ステップ3で、GRAは選択したSAE-GWにCSREQを転送する。ステップ4で、SAE-DPはセッション管理機能を実行する。セッション管理機能は、例えばIPアドレス割り当て、コントロールプレーン及びデータプレーンFTEID割り当て、ゲートウェイインターフェース(例えばGx、Gyインターフェース)相互作用、及び/又は同種のものを含むことができる。ステップ5で、SAE-DPはセッション設定応答(CSRSP)を作成してGRAに送り返す。ステップ6で、GRAはCSRSPを目的地に転送する。ステップ7に示すように、セッションのためのデータパスは直接SAE-DPで確立される(例えばセッションはGRA及び/又は制御パスを通過しない)。
【0030】
図5は、いくつかの実施形態によるVNF間冗長性の
図500を示す。このようなVNF間冗長性を使用して、コントロールプレーンコンポーネント、データプレーンコンポーネント、又はその両方を実行できる。アクティブVNF502は、プライマリDBエンジン504、アプリケーションタスクのセット(Appタスク)506(Appタスク506a~506cとして表示)、及びHAコントローラ508(例えば
図3のHAコントローラ322)を含む。スタンバイVNF510は、バックアップDBエンジン512、アプリケーションタスクのセット(Appタスク)514(Appタスク514A-514Cとして表示)、及びHAコントローラ516を含む。セッション状態は、DB層を通してアクティブVNFとスタンバイVNF502、510の間でリアルータイムに同期できる。アクティブVNF502のセッションは、例えば切り替えが発生する前であっても、スタンバイVNF510上で事前に作成できる。これは例えば切り替え時間を最小限に抑えるために実行できる。
【0031】
前述のように、データプレーンとコントロールプレーンの側面は、ネットワーク機能として実行できる。ネットワーク機能は、オーケストレーション層などの仮想化制御層を使用して仮想化及び制御できる。ネットワーク機能(NF)は、ネットワークインフラストラクチャ内の機能構築ブロックであり、特定の機能に対して明確に定義された機能動作を含むことができる。NFは、例えばネットワークノード又は物理アプライアンスである。仮想ネットワーク機能(VNF)は、ネットワーク要素機能の仮想化であり、VNFの機能動作と外部インターフェースはその物理的対等物(PNF)と同じである。vVNFは、1以上の仮想マシンから作ることができ、この場合それは集約VNF又はネスト化されたVNFである。
【0032】
図6は、いくつかの例による参照アーキテクチャ600の図を示す。参照アーキテクチャ600は、例えばETSI NFV参照アーキテクチャであることができる。アーキテクチャ600は、オペレーションサポートシステム(OSS)/ビジネスサポートシステム(BSS)602、ネットワーク機能仮想化オーケストレータ(NFVO)604、仮想ネットワーク機能マネージャ(VNFM)606、仮想化されたネットワーク機能及び関連するEMS/OSS608、ネットワーク機能仮想化構造(NFVI)610、及び仮想インフラストラクチャマネージャ(VIM)612を含む。
【0033】
NFVは、基準点のセットを含み、これは(a)仮想化ハードウェアリソース(VI-HA)(図には示されていない)、(b)NFV-NFVI(VN-NF)、(C)オーケストレータ(NFVO)-VNFマネージャ(Or-Vnfm)、(d)VIM-VNFマネージャ(Vi-Vnfm)、(e)オーケストレータ-VIM(Nf-Vi)、(f)OSS/BSS-NFV管理及びオーケストレーション(OS-MA)、(g)VNF/エレメント管理システム(EMS)-VNFマネージャ(Ve-Vnfm)、及び(h)サービス、VNF及びインフラストラクチャの説明-NFV管理及びオーケストレーション(Se-MA)を含む)。
【0034】
NFVI610は、VNFが展開される環境を構築するすべてのハードウェア及びソフトウェアコンポーネントの全体を指す。NFVI610は、複数の場所にまたがることができる。VIM612は、VNFとコンピューティング、ストレージ及びネットワーキングリソースとの相互作用を管理する機能である。VIM612は、インフラストラクチャをサービス(IaaS)機能として組み込むことができる。VNFM606は、VNFライフサイクル管理(例えば作成、更新、クエリ、スケーリング、削除など)を担当する。複数のVNFM606が展開されてもよく、及び/又は単一のVNFM606が複数のVNFにサービスしてもよい。VNFM606は、プラットフォームをサービス(PaaS)ライフサイクル管理機能として組み込むことができる。NFVO604は、VNF及びNFVI610の展開を自動化する。NF転送グラフは、ネットワーク機能(例えばサービスチェーン)間のトラフィックフローを記述する目的でNFノードを接続する論理リンクのグラフである。VNFコンポーネント(VNFC)は、個別のVMで実行されるVNFのサブコンポーネントである。
【0035】
図7は、いくつかの実施形態による仮想ネットワーク機能実現の
図700を示す。
図700は、スモールセルゲートウェイ704(仮想ネットワーク機能706を含む)を含む、幾つかのコンポーネントを備えた仮想マシン702を含む。仮想マシン702は、ドライバ710、ソケット712、IPv4/IPv6機能714、及びイーサネット(登録商標、ETH)716を含むゲストオペレーティングシステム708も含む。仮想マシン702は、コンソール718、ETH1/1MAN720、ETH1/10SVC722、ETH1/11SVC724、ETH1/1MAN726、フラッシュ及びRAIDメモリインターフェース726も含む。これらのコンポーネントは、ハイパーバイザ730と通信している。ハイパーバイザ730はvスイッチマネージャ(MAN)732、vスイッチ734a~c、及びストレージ736を含む。ハイパーバイザ730は、種々のネットワークインターフェースカードNIC742a~c、ファイバチャネル744、及びハードディスクドライブ(HDD)746と通信している。
【0036】
図8は、いくつかの実施形態によるハイパーバイザ及びオペレーティングシステムにおけるボトルネックを回避する
図800を示す。仮想ネットワーク構成802に示されているように、アップストリームトラフィックはハイパーバイザを介して仮想アプリに移動し、同様にダウンストリームトラフィックはハイパーバイザを介してハードウェアに移動する。したがって構成802では、ハイパーバイザはボトルネックを発生する可能性があるダウンストリームトラフィックとアップストリームトラフィックの両方を処理しなければならない。さらに、仮想アプリはすべてオペレーティングシステムによって管理されるため、別のボトルネックを発生する可能性がある。仮想ネットワーク構成804は、ハイパーバイザをバイパスし、仮想ネットワーク機能を実行するために別個のソフトウェアライブラリも使用する。したがって仮想ネットワーク構成804に示されているように、アップストリームトラフィックは直接ハードウェアから、仮想ネットワーク機能を実行する直接管理されたデータプレーンに移動し、同様にダウンストリームトラフィックは仮想ネットワーク機能からハイパーバイザをバイパスしてハードウェアに戻る。この804で示されている構成により、構成802で存在する可能性があるボトルネックを回避できる。
【0037】
図9は、いくつかの実施形態によるスケーラブルな進化したパケットコアの例示的なシステム900を示す。このシステムはNFVO902、VNFM904、VIM906、NFVI908、VNF910、VNF912用のEMS/ネットワーク管理システム(NMS)、及びOSS/BSS914を含む。NFVO902はVNFカタログ、サービスチェーンカタログ、フルフィルメントポータル、及びサービス記述子とのインターフェースを含む。VNFM904は、アプリケーションマネージャ、基盤サービス、モバイルエッジソリューション基盤サービス、及びアプリケーション及びVMオートビルドを含む。VIM906は、オープンスタック、vmウェア、iクラウドなどの物理及び仮想ネットワークリソースのセットアップと制御に使用できるソフトウェアを実行する。NFVI908は、仮想化層を介してストレージハードウェア、ネットワークハードウェア、及びコンピューティングハードウェアと通信するシステム900の仮想ストレージ、仮想ネットワーク、及び仮想コンピューティングの面を含む。VNF910は仮想機能を含み、これは法執行機関のための通信支援法(CALEA)クライアント、ポリシー及び課金ルール機能(PCRF)クライアント、AAAクライアント、SAE-GW、ホームノードB(HNB)-GW、ePDG、HeNB-GW、及びSeGWを含み、これらはそれぞれEMS/NMS912と関連付けることができる。NFVO902は、VNFM904(例えばOr-Vnfm経由)、VIM906(例えばOr-Vi経由)、及びOSS/BSS914(例えばOS-MA経由)と通信している。VNFM904は上述したようにNFVO902、VNF910(例えばVe-Vnfm経由)、及びVIM906(例えばVI-Vnfm経由)と通信している。VIM906は、上述のようにNFVO902及びVNFM904、並びにNFVI908(例えばNf-Vi経由)と通信している。NFVI908は、上述のようにVIM906及びVNF910(例えばVn-Nf経由)と通信している。VNF910は、OSS/BSS914と通信している。
【0038】
図10は、いくつかの実施形態による仮想ネットワーク機能管理(VNFM)及びオーケストレーションを例示する
図1000である。
図1000は、オープンスタックVIM1002、タッカNFVO1004、及びオープンMANONFVO1006を示している。
図1000は、VNFMアダプタ1008も示しており、この例では3つのVNFMs、すなわちePDG VNFM1010、SeGW/HeNB-GWVNFM1012、及びSAE-GW VNFM1014とインターフェースしている。
図1000は、ユーザインターフェース・ウェブアプリケーション1016、及びデータベース1018も示している。
図1000はまた2つのVNF、すなわちePDG VNF1020及びSAE-GW VNF1022も示している。VNFMアダプタ1008は、NFVO(TACKER NFVO1004及びオープンMANO NFVO1006)と通信している。VNFMアダプタ1008は、VNFM(ePDG VNFM1010、SeGW/HeNB-GWVNFM1012、及びSAE-GW VNFM1014)と通信している。VNFMは、REST APIを介してユーザインターフェース・ウェブアプリケーション1016と通信している。VNFはVNFMと通信できる。
図1000に示されているように、ePDF VNF1020はePDG VNFM1010と通信しており、SAE-GWVNF1022はSAE-GW VNFM1014と通信している(例えばこの例に示すようにNETCONF経由)。
【0039】
図11は、いくつかの実施形態によるVNFコールフロー1100の図を示している。コールフローは、次のネットワークコンポーネントの間にある。リクエスタ1102(例えばUE)、NFVO1104(例えば
図10のTRACKER NFVO1004及び/又はオープンMANO NFVO1006)、VNFM1106(例えば
図10に示されているVNFMの1つ、例えばePDG VNFM1010、SeGW/HeNB-GW VNFM1012、及び/又はSAE-GW VNFM1014)、VNF1108(例えば
図10に示されているVNFの1つ、例えばePDG VNF1020及び/又はSAE-GW VNF1022)、及びVIM 1110(例えば
図10のオープンスタックVIM1002)。
【0040】
ステップ1で、リクエスタ1102は、VNFインスタンスをインスタンス化するために、必要なパラメータを伴うリクエストをNFVO1104(オーケストレータ)に送信する。ステップ2で、NFVO1104はリクエストを検証し、(任意選択で)リクエストの実行可能性をチェックする。ステップ3で、NFVO1104はVNFM1106にFNVをインスタンス化するよう指示する。ステップ4で、VNFM1106は、必要な計算/ネットワークリソースを割り当てるようNFVO1104にリクエストする。ステップ5で、NFVO1104は、実行のために選択されたVIM1110にリソース割り当てリクエストを送信する。ステップ6で、VIM1110は仮想ディプロイメントユニット(VDU)に従ってVMを割り当て/作成し、必要な内部/外部接続を作成し、VMをネットワークに接続する。ステップ7で、VIM1110は、VNF1108に、NFVO1104へのリソース割り当ての完了の確認応答をVNFM1106に送信する。ステップ8で、NFVO1104は割り当てられたリソースの完了を確認して適当な構成情報を返す。ステップ9で、VNFM1106は、VNF固有のパラメータでVNF1108を構成する(例えばVNF構成インターフェースを介して構成オブジェクトの取得/作成/設定操作を使用)。ステップ10で、VNFM1106はVNFインスタンス化の完了をNFVO1104に対して確認する。ステップ11で、NFVO1104はVNFインスタンス化の完了をリクエスタ1102に対して確認する。
【0041】
一部の例では、オーケストレーションの例を次の方法で実装できる。XMLドキュメント(例えば<サービスリクエスト>)を生成しVNFMに送信して、アクティブVMとスタンバイVM(例えばホットスタンバイ)を作成できる。サービスはアプリケーション統計を開始してVNFMに報告できる(例えばステータスはOKである)。負荷が増加すると、VMは過負荷になり始め、過負荷をVNFMに報告できる(例えばOVERLOADのステータス)。VNFMは、1以上のスタンバイVMをアクティブにして、実行中のサービスに追加できる。これによりVMにおける負荷が減少して過負荷閾値を下回る。VNFMは、新しいVMを起動することによって(例えば同じ番号をアクティブ化)スタンバイキューを埋め戻すことができるが、現在アクティブ化されているVMの過負荷が発生するまで、新しいVMのアクティブ化を待機する。
【0042】
図12は、いくつかの実施形態によるモバイル・エッジ・コンピューティング(MEC)プラットフォーム1202を活用する仮想化ソリューション1200を示す。MECプラットフォーム1202は、例えばCOTSx86ハードウェア(例えば1RU/2RU)上で実装できる。本明細書で論じられているように、MECプラットフォーム1202は、別個のコントロールプレーン1204とワークロード/データプレーン1206を提供することを含め、ETSI NFV準拠のクラウドソリューションを提供できる。コントロールプレーン1204は、VM/VNF管理1210、ソフトウェア管理1212、及び障害/性能管理1214を含め、MECプラットフォーム1202キャリアグレードの管理と通信会社ミドルウェア1208を含むことができ、実行できるオープンスタックのコントロールプレーンフレームワーク1216を実行できる。ワークロード/データプレーン1206は、加速仮想ポート1220、キャリアグレードの加速vスイッチ1222、及びキャリアグレードのリナックス(登録商標)1224を含むことができる。
【0043】
VNF1230は、コントロールプレーン1204及びワークロード/データプレーン1206とインターフェースできる。VNF1230は、例えばこの例に示すように、H(e)NB-GWを実行する仮想マシン1232、PGW及びSGWを実行する仮想マシン1234、SeGW及びePDGを実行する仮想マシン1236を含むことができる。VNF1230は、OSS/BSS1240及びNFVオーケストレータ1242と通信する。
【0044】
本明細書で説明される原理に従って動作する技術は、任意の適当な方法で実装できる。上記のフローチャートの処理及び決定ブロックは、これらの様々なプロセスを実行するアルゴリズムに含まれる可能性のあるステップと動作を表している。これらのプロセスから派生したアルゴリズムは、1以上の単一目的又は多目的プロセッサと統合されてその動作を指示するソフトウェアとして実装でき、あるいはデジタル信号処理(DSP)回路又は特定用途向け集積回路(ASIC)などの機能的に等価な回路として実装でき、あるいは他の適当な方法で実装できる。本明細書に含まれるフローチャートは、特定の回路又は特定のプログラミング言語又はプログラミング言語のタイプの構文又は動作を表すものでないことを理解されたい。むしろフローチャートは、当業者が本明細書に記載された種類の技術を実行する特定の装置の処理を行うための回路の製造又はコンピュータソフトウェアアルゴリズムの実装に使用できる機能情報を例示したものである。また、本明細書で特に明記しない限り、各フローチャートに記載されているステップ及び/又は動作の特定のシーケンスは、単に実装可能なアルゴリズムを例示したものであり、本明細書に記載の原理の実装及び実施形態において変わり得ることも理解されたい。
【0045】
したがっていくつかの実施形態では、本明細書に記載の技術は、アプリケーションソフトウェア、システムソフトウェア、ファームウェア、ミドルウェア、埋め込みコード、又は他の任意の適当なタイプのコンピュータコードを含め、ソフトウェアとして実装されるコンピュータ実行可能命令に具体化できる。そのようなコンピュータ実行可能命令は、多数の適当なプログラミング言語及び/又はプログラミング又はスクリプトツールのいずれかを使用して記述されてよく、またフレームワーク又は仮想マシンで実行される実行可能マシン言語コードもしくは中間コードとしてコンパイルされてもよい。
【0046】
本明細書に記載された技術がコンピュータ実行可能命令として具体化されると、これらのコンピュータ実行可能命令は、多くの利便機能を含む任意の適当な方法で実装でき、それぞれこれらの技術に従って動作するアルゴリズムの実行を完了するための1以上の動作を提供する。しかしながらインスタンス化された「利便機能」はコンピュータシステムの構造的要素であり、それは1以上のコンピュータと統合されて実行されると1以上のコンピュータに特定の操作上の役割を実行させる。利便機能は、ソフトウェア要素の一部又は全体であることができる。例えば利便機能はプロセスの機能として、又は個別のプロセスとして、又は他の適当な処理単位として実装されてよい。本明細書に記載された技術が複数の利便機能として実装される場合、各利便機能は独自の方法で実装されてよく、すべて同じ方法で実装する必要はない。さらに、これらの利便機能は必要に応じてパラレル及び/又はシリアルに実行されてよく、及びそれらが実行されているコンピュータの共有メモリを使用して、メッセージ受け渡しプロトコルを用いるか又はその他の適当な方法で互いの間で情報を渡すことができる。
【0047】
一般に、利便機能は、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、利便機能の機能性は、それらが動作するシステムにおいて所望されるように組み合わせたり配分したりできる。幾つかの実装形態では、本明細書の技術を実行する1以上の利便機能が一緒になって完全なソフトウェアパッケージを形成できる。これらの利便機能は、代替実施形態ではソフトウェアプログラムアプリケーションを実装するために、他の無関係な利便機能及び/又はプロセスと相互作用するように適合されてよい。
【0048】
本明細書では、1以上のタスクを実行するために幾つかの例示的な利便機能が説明された。しかしながら記載された利便機能及びタスクの分割は、本明細書で説明された例示的な技術を実装できる利便機能のタイプを例示するものにすぎず、実施形態は特定の数、分割又はタイプの利便機能に限定されないことを理解されたい。幾つかの実装においてすべての機能性が単一の利便機能で実装される場合がある。また、幾つかの実装では本明細書に記載された利便機能の一部を他の利便機能と一緒に又は別個に(すなわち単一ユニット又は別個のユニットとして)実装でき、あるいはこれらの利便機能の一部が実装されないことも可能である。
【0049】
本明細書に記載の技術を実装するコンピュータ実行可能命令(1以上の利便機能として又は他の方法で実装される場合)は、いくつかの実施形態では1以上のコンピュータ可読媒体にエンコードされて媒体に機能性を提供する。コンピュータ可読媒体は、ハードディスクドライブなどの磁気媒体、コンパクトディスク(CD)やデジタル多用途ディスク(DVD)などの光学媒体、永続的又は非永続的なソリッドステートメモリ(フラッシュメモリ、磁気RAMなど)、又はその他の適当な記憶媒体を含む。そのようなコンピュータ可読媒体は任意の適当な方法で実装できる。本明細書で使用される「コンピュータ可読媒体」(「コンピュータ可読記憶媒体」とも呼ばれる)は、有形の記憶媒体を指す。有形の記憶媒体は非一時的であり、少なくとも1つの物理的・構造的要素を有する。本明細書で使用される「コンピュータ可読媒体」では、少なくとも1つの物理的・構造的要素は、情報が埋め込まれた媒体を作成するプロセス、その媒体に情報を記録するプロセス、又は情報を含んだ媒体をエンコードするプロセスの間に何らかの方法で変更できる少なくとも1つの物理的特性を有する。例えばコンピュータ可読媒体の物理的構造の一部の磁化状態が、記録プロセス中に変更されてよい。
【0050】
さらに上述した幾つかの技術は、これらの技術で使用するために特定の方法で情報(例えばデータ及び/又は命令)を保存する動作を含む。これらの技術の幾つかの実装(技術がコンピュータ実行可能な命令として実装される実装など)では、情報はコンピュータ可読記憶媒体にエンコードされる。本明細書で特定の構造がこの情報を保存するための有利なフォーマットとして説明されている場合、これらの構造を使用して記憶媒体上でエンコードされるきに情報の物理的編成を与えることができる。次にこれらの有利な構造は、情報と相互作用する1以上のプロセッサの動作に影響を与えることにより、例えばプロセッサによって実行されるコンピュータ操作の効率を上げることにより、記憶媒体に機能性を提供することができる。
【0051】
技術をコンピュータ実行可能命令として具体化できる幾つかの実装(すべての実装ではなく)では、これらの命令は任意の適当なコンピュータシステムで動作する1以上の適当なコンピューティングデバイスで実行でき、又は1以上のコンピューティングデバイス(又は1以上のコンピューティングデバイスの1以上のプロセッサ)はコンピュータ実行可能な命令を実行するようにプログラムできる。コンピューティングデバイス又はプロセッサは、命令がデータストアなどのコンピューティングデバイス又はプロセッサにアクセス可能な方法で命令が保存されたときに命令を実行するようにプログラムできる(例えばオンチップキャッシュ又は命令レジスタ、バスを介してアクセス可能なコンピュータ可読ストレージ、1以上のネットワークを介してアクセス可能なコンピュータ可読記憶媒体、及びデバイス/プロセッサなどによってアクセス可能な媒体)。これらのコンピュータ実行可能命令を含む利便機能は、単一の多目的プログラム可能なデジタルコンピューティングデバイス、処理能力を共有して本明細書に記載した技術を共同で実行する2以上の多目的コンピューティングデバイスの協調システム、本明細書に記載された技術を実行するためだけの単一のコンピューティングデバイス又はコンピューティングデバイスの協調システム(コロケーションもしくは地理的に分散)、本明細書に記載の技術を実行するための1以上のフィールドプログラマブルゲートアレイ(FPGA)、又は任意の他の適当なシステムと統合されてその動作を指示することができる。
【0052】
コンピューティングデバイスは、少なくとも1つのプロセッサ、ネットワークアダプタ、及びコンピュータ可読記憶媒体を含むことができる。コンピューティングデバイスは、例えばデスクトップ又はラップトップ・パーソナルコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン、携帯電話、サーバ、又は他の任意の適当なコンピューティングデバイスであってよい。ネットワークアダプタは、任意の適当なコンピューティング・ネットワークを介して他の任意の適当なコンピューティングデバイスと有線及び/又は無線で通信するために、コンピューティングデバイスを有効にする任意の適当なハードウェア及び/又はソフトウェアであってもよい。コンピューティング・ネットワークには、ワイヤレスアクセスポイント、スイッチ、ルータ、ゲートウェイ、及び/又はその他のネットワーク機器、及びインターネットを含め2以上のコンピュータ間でデータを交換するための適当な有線及び/又は無線通信媒体を含む。コンピュータ可読媒体は、処理されるデータ及び/又はプロセッサによって実行される命令を保存するように適合されてよい。プロセッサは、データの処理や命令の実行を可能にする。データ及び命令は、コンピュータ可読記憶媒体に保存されてよい。
【0053】
コンピューティングデバイスは、さらに入出力装置を含め1以上のコンポーネント及び周辺機器を有してよい。これらのデバイスは、特にユーザインターフェースを提供するために使用できる。ユーザインターフェースを提供するために使用できる出力デバイスの例は、出力を視覚的に表示するためのプリンタ又はディスプレイ画面、及び出力を聴覚的に表示するためのスピーカ又はその他の音声生成装置を含む。ユーザインターフェースに使用できる入力デバイスの例は、キーボード、マウスやタッチパッドなどのポインティングデバイス、及びデジタル化タブレットである。別の例として、コンピューティングデバイスは、音声認識又は他の可聴形式で入力情報を受け取ることがある。
【0054】
技術が回路及び/又はコンピュータ実行可能命令で実装される実施形態が説明された。いくつかの実施形態は、少なくとも1つの例が提供された方法の形態であってよいことを理解されたい。方法の一部として実行される動作は、任意の適当な方法で順序付けることができる。したがって実施形態は、動作が例示とは異なる順序で実行されるように構成することができ、これは動作が例示的な実施形態ではシーケンシャル動作として示されていても、同時に幾つかの動作を実行することを含むことができる。
【0055】
上述した実施形態の種々の特徴は、単独でも、組み合わせて、又は上述した実施形態で具体的に論じされていない様々な構成で使用することができ、それゆえその応用において上記の説明に記された又は図面に示された詳細及びコンポーネントの配置に限定されるものではない。例えば1実施形態に記載された特徴は、他の実施形態に記載される特徴と任意の方法で組み合わせることができる。
【0056】
特許請求の範囲でクレーム要素を修正するために「第1」、「第2」、「第3」などの序数詞を使用することは、それ自体はあるクレーム要素の別のクレーム要素に対する優先、優位又は順位、あるいは方法の動作が実行される時間的順序を意味するものではなく、単にクレーム要素を区別するために特定の名前を持つクレーム要素を(序数詞の使用を除いて)同じ名前を持つ別の要素と区別するためのラベルとしてのみ使用される。
【0057】
また、本明細書で使用される語法及び用語は説明を目的とするものであり、制限と見なされるべきではない。本明細書における「含む」、「有する」、「持つ」、「包含する」、「伴う」、及びそれらの変形の使用は、その後に列挙される項目、及びその同等物、並びに追加項目を網羅することを意味する。
【0058】
本明細書では、「例示的」という言葉は、例、事例又は例示として働くことを意味するものとして使用される。それゆえ例示として本明細書に記載される実施形態、実装、プロセス、特徴などは、例示的な例として理解されるべきであり、特に明記しない限り選好される例もしくは有利な例として理解されるべきではない。
【0059】
少なくとも1つの実施形態の幾つかの態様を説明したが、当業者には様々な変更、修正及び改善が容易に思い付くことを理解されたい。そのような変更、修正及び改善は本開示の一部であることが意図されており、本明細書に記載れる原理の精神及び範囲内にあることが意図されている。したがって上記の説明及び図面は例示にすぎない。