(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024067227
(43)【公開日】2024-05-17
(54)【発明の名称】情報処理装置、及び情報処理方法
(51)【国際特許分類】
G06F 9/50 20060101AFI20240510BHJP
【FI】
G06F9/50 150D
G06F9/50 150A
G06F9/50 150C
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022177130
(22)【出願日】2022-11-04
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.3GPP
2.JAVASCRIPT
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】小林 歩
(57)【要約】
【課題】より適切な対象をオフロードすることができるようにする。
【解決手段】移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理する管理部と、第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、当該第1のノードを移動元ノードとして、移動元ノードで動作しているアプリケーションコンテナの詳細に関する詳細情報及びコンピューティングリソースを示す第2のリソース値に基づいて、移動の優先度を決定する決定部と、移動元ノードから、移動先となる第2のノードである移動先ノードに対し、優先度に応じてアプリケーションコンテナを移動させる制御を行う制御部とを備える情報処理装置が提供される。本開示は、例えば、MEC管理システムを構成する機器に適用することができる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理する管理部と、
前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度を決定する決定部と、
前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御を行う制御部と
を備える情報処理装置。
【請求項2】
前記第1のノードと前記第2のノードは、3GPPで規定されたDNAIと予めマッピングされており、
前記制御部は、前記DNAIとマッピングされた前記第2のノードを前記移動先ノードとして、前記アプリケーションコンテナを移動させる
請求項1に記載の情報処理装置。
【請求項3】
前記決定部は、前記移動元ノードにおける通信に関するログに基づいて、前記移動元ノードにおける通信量が最も少ない時間帯に応じた時刻を、前記アプリケーションコンテナを移動させる移動時刻に決定し、
前記制御部は、現在時刻が前記移動時刻になった場合、前記優先度に応じて前記アプリケーションコンテナを移動させる
請求項2に記載の情報処理装置。
【請求項4】
前記決定部は、前記第1のノードと前記第2のノードの位置に関する位置情報に基づいて、前記移動元ノードからの距離が最も近い位置にある前記第2のノードを、前記移動先ノードに決定する
請求項3に記載の情報処理装置。
【請求項5】
前記決定部は、前記アプリケーションコンテナへのアクセスに関するログに基づいて、前記移動通信ネットワークを介して通信を行う移動通信端末のうち、移動対象の前記アプリケーションコンテナにのみアクセスしている移動通信端末を、移動対象に決定し、
前記制御部は、現在時刻が前記移動時刻になった場合、前記優先度に応じて、移動対象となる前記移動通信端末の経路を切り替える制御を行う
請求項3に記載の情報処理装置。
【請求項6】
前記詳細情報は、前記アプリケーションコンテナが最低限必要とするリソースの容量と、前記アプリケーションコンテナの負荷が高まったときに使用できるリソースの最大容量とから特定される前記アプリケーションコンテナの分類に関する情報を含む
請求項1に記載の情報処理装置。
【請求項7】
前記第2のリソース値は、前記アプリケーションコンテナによるCPUの使用率及びメモリの使用率を含むリソース使用率である
請求項6に記載の情報処理装置。
【請求項8】
前記詳細情報は、kubernetesで規定されたqosClassを含み、
前記決定部は、
BestEffort又はBurstableとなる前記アプリケーションコンテナを移動対象とし、
Burstableの前記アプリケーションコンテナよりも、BestEffortの前記アプリケーションコンテナの移動の優先度を高くし、
リソース使用率が中央値未満の前記アプリケーションコンテナよりも、リソース使用率が中央値以上の前記アプリケーションコンテナの移動の優先度を高くする
請求項7に記載の情報処理装置。
【請求項9】
前記決定部は、アクセス数が中央値以上の前記アプリケーションコンテナよりも、アクセス数が中央値未満の前記アプリケーションコンテナの移動の優先度を高くする
請求項8に記載の情報処理装置。
【請求項10】
前記決定部は、3GPPで規定されたGBRの前記アプリケーションコンテナよりも、Non GBRの前記アプリケーションコンテナの移動の優先度を高くする
請求項9に記載の情報処理装置。
【請求項11】
前記第2のリソース値は、前記アプリケーションコンテナによるGPUの使用率を含むリソース使用率であり、
前記決定部は、リソースに関する制限のない前記アプリケーションコンテナのうち、リソース使用率が中央値未満よりも、リソース使用率が中央値以上のものの移動の優先度を高くする
請求項1に記載の情報処理装置。
【請求項12】
前記アプリケーションコンテナは、kubernetesで規定されたポッドに対応している
請求項1に記載の情報処理装置。
【請求項13】
情報処理装置が、
移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理し、
前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度を決定し、
前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御を行う
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、及び情報処理方法に関し、特に、より適切な対象をオフロードすることができるようにした情報処理装置、及び情報処理方法に関する。
【背景技術】
【0002】
近年、マルチアクセスエッジコンピューティング(MEC:Multi-access Edge Computing)に関する技術の研究開発が進められている。MECは、無線端末(UE:User Equipment)の近くにエッジ(エッジサーバ)を分散配置して、エッジサーバで可能な限り処理を実施する技術である。
【0003】
MECに関する技術としては、例えば、特許文献1に開示されている技術がある。特許文献1には、有限なMECホストのリソースに対して、管理システムが、エッジアプリケーションを利用するUE数を予測した予測結果に基づき、エッジサーバのコンピューティングリソースの逼迫度を予測し、その逼迫度の予測結果に基づき、一部のUEの接続先をクラウドアプリケーションに切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されている技術では、UE数とコンピューティングとの相関性に基づき、アプリケーションプログラムとUEを一様に捉えているが、特定の負荷のかかるアプリケーションプログラムがMECのコンピューティングリソースに影響を与えることが考慮されていない。そのため、オフロードの対象が適切に決定されていない可能性がある。
【0006】
本開示はこのような状況に鑑みてなされたものであり、より適切な対象をオフロードすることができるようにするものである。
【課題を解決するための手段】
【0007】
本開示の一側面の情報処理装置は、移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理する管理部と、前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度を決定する決定部と、前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御を行う制御部とを備える情報処理装置である。
【0008】
本開示の一側面の情報処理方法は、情報処理装置が、移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理し、前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度を決定し、前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御を行う情報処理方法である。
【0009】
本開示の一側面の情報処理装置、及び情報処理方法においては、移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードが管理され、前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度が決定され、前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御が行われる。
【0010】
なお、本開示の一側面の情報処理装置は、独立した装置であってもよいし、1つの装置を構成している内部ブロックであってもよい。
【図面の簡単な説明】
【0011】
【
図1】本開示を適用したシステムの構成例を示す図である。
【
図2】
図1のMEC管理システムの構成例を示すブロック図である。
【
図3】
図2のMEC制御部の機能的構成例を示すブロック図である。
【
図8】優先度テーブルの他の第1の例を示す図である。
【
図9】優先度テーブルの他の第2の例を示す図である。
【
図10】優先度テーブルの他の第3の例を示す図である。
【
図11】移動設定処理の実行時のシーケンスの例を示す図である。
【
図12】移動制御処理の実行時のシーケンスの例を示す図である。
【
図13】移動設定処理の流れを説明するフローチャートである。
【
図14】移動制御処理の流れを説明するフローチャートである。
【
図15】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0012】
<システム構成>
図1は、本開示を適用したシステムの構成例を示す図である。
図1において、本開示を適用したシステムは、MEC(Multi-access Edge Computing)管理システム11、MEC12、キャリア網13、クラウド・データセンタ14、ネームサーバ15、及び無線端末16から構成される。
【0013】
MEC管理システム11は、
図1のシステムを構成する機器を制御する機能を有する情報処理装置を含んで構成される。情報処理装置は、サーバ等のコンピュータで構成される。MEC管理システム11は、オンプレミス型で提供されるほか、クラウド型で提供されてもよい。
【0014】
MEC管理システム11は、MEC12やクラウド・データセンタ14に配置されるノード、ノードで動作(稼働)するポッド、及び3GPP(Third Generation Partnership Project)(登録商標)で規定されたDNAI(DN Access Identifier)によりノードに接続する際のキャリア網13の出口を管理する。
【0015】
MEC管理システム11は、少なくとも1つ以上のエッジサイトに配置されたノードと、少なくとも1以上のグローバルサイトに配置されたノードとの間で制御信号(C-plain)のやり取りをして管理を行う。この通信経路には、例えばVPN(Virtual Private Network)を利用することができる。エッジサイトのノードは、MEC12に配置されたノードであり、グローバルサイトのノードは、クラウド・データセンタ14に配置されたノードである。MEC管理システム11の詳細な構成は、
図2で説明する。また、ポッドの詳細についても後述する。
【0016】
MEC12は、無線端末16の近くにエッジサーバを分散配置して、エッジサーバで可能な限り処理を実施するための機器で構成される。MEC12には、エッジサイトのノード21Aが配置される。ノード21Aは、サーバ(エッジサーバ)等のコンピュータで構成される。
【0017】
キャリア網13は、移動体通信事業者(通信キャリア)により構築された移動通信ネットワークであって、コアネットワーク等から構成される。例えば、キャリア網13は、第4世代移動通信システム(4G)に対応した4G網や、第5世代移動通信システム(5G)に対応した5G網などを含む。キャリア網13のコアネットワークを構成するサーバ群には、NEF(Network Exposure Function)サーバが含まれる。なお、
図1では、キャリア網13の外部にMEC12を配置した例を示しているが、MEC12は、キャリア網13に接続されていればよく、キャリア網13の内部に配置されてもよい。キャリア網13は、インターネットと接続可能であり、インターネットを介してクラウド・データセンタ14と接続される。
【0018】
クラウド・データセンタ14は、サービス提供者がサーバや設備を用意してそれらを利用するためのネットワーク環境を提供するクラウド、又はサーバを一箇所に集積して管理するスペースや施設を提供するデータセンタである。クラウド・データセンタ14は、インターネットを介してキャリア網13と接続される。クラウド・データセンタ14には、グローバルサイトのノード21Bが配置される。ノード21Bは、サーバ(クラウドサーバ)等のコンピュータで構成される。以下、ノード21Aとノード21Bを区別する必要がない場合、ノード21とも称する。
【0019】
ネームサーバ15は、ドメイン名とIPアドレスを変換して名前解決を行うDNS(Domain Name System)の機能を有するサーバである。ネームサーバ15は、MEC管理システム11又は無線端末16と接続可能であれば、いずれの通信ネットワークに設けられてもよく、例えば、クラウドとして提供されてもよい。
【0020】
無線端末16は、スマートフォンやタブレット端末等の移動通信端末である。無線端末16は、キャリア網13を介して通信を行う。また、無線端末16は、ネームサーバ15に接続して名前解決を行うことができる。以下、無線端末16のことを、適宜、UE(User Equipment)とも称する。
【0021】
なお、
図1においては、MEC12とクラウド・データセンタ14がそれぞれ1箇所だけ存在する場合を示したが、それぞれ複数存在する構成としてもよい。例えば、クラウド・データセンタ14が複数存在する場合は、パブリッククラウド、プライベートクラウド、データセンタ上のインスタンスが複数ある、あるいは複数の異なるパブリッククラウド、プライベートクラウド、データセンタ上にインスタンス(ノード)が配置されている場合である。また、MEC12が複数存在する場合は、異なるエッジサイトが存在する場合である。
【0022】
また、
図1においては、スマートフォン等の無線端末16が複数存在する構成が一般的な構成となるが、説明の簡略化のため、1台の無線端末16が存在する場合を例示している。
図1において、ネームサーバ15は、必須の構成要素ではなく、必要に応じて設けられる。
【0023】
図2は、
図1のMEC管理システム11の構成例を示すブロック図である。
図2において、MEC管理システム11は、MEC制御部111、API(Application Programming Interface)部112、AF(Application Function)部113、及びデータベース114から構成される。
【0024】
MEC制御部111は、API部112及びAF部113と連携して、ノード21やノード21で動作(稼働)するポッド31に関する処理、及び無線端末16(UE)の経路制御などを行う。ノード21は、MEC12又はクラウド・データセンタ14に配置される。ノード21は、ハードウェアで構成され、ソフトウェアとして実行されるポッド31を複数動作させることが可能である。
【0025】
ポッド31は、複数のコンテナから構成されるアプリケーションプログラム(以下、アプリケーションコンテナともいう)である。換言すれば、ポッド31、複数のコンテナの集合であるとも言える。コンテナは、ソフトウェアをパッケージ化したユニットであり、コンテナ型仮想化の技術を用いることで、アプリケーション環境をコンテナという独立空間に構築して仮想化を実現している。例えば、コンテナには、ライブラリ、システムツール、コード、ランタイムなど、ソフトウェアの実行に必要なものが含まれる。
【0026】
また、MEC制御部111は、データベース114と連携して、テーブルの参照や更新、移動設定処理や移動制御処理等の処理を行う。MEC制御部111は、通信I/F(不図示)を制御して、ネームサーバ15に接続することで、ポッド31の移動時にDNSレコードのIPアドレスを差し替える機能を有する。ただし、このIPアドレスの差し替え機能は、必須の機能ではない。
【0027】
例えば、ネームサーバ15として、AWS(Amazon Web Services)(商標)のRoute53を利用していた場合、aws route53 change-resource-record-setsコマンドに、レコードの内容を記述したjson(JavaScript Object Notation)を利用して書き換えることができる。AWSは、Amazon Web Services, Inc.により提供されるクラウドコンピューティングサービスである。jsonは、データ記述言語の1つであり、テキストベースのデータ変換用のフォーマットである。
【0028】
API部112は、APIを利用して、ノード21やポッド31とのコントロールプレーンの通信を行うAPIサーバとして構成される。APIは、kubernetes APIを利用することができる。kubernetesは、コンテナをオーケストレーションするためのオープンソースプラットフォームである。kubernetesでは、作成、管理できるコンピューティングの最小のデプロイ可能なユニットをポッドとして規定している。ポッド31は、kubernetesで規定されたポッドに対応している。
【0029】
API部112は、kubernetes APIと連携したkubectlコマンドを用いて、例えば、ノード21やポッド31のコンピューティングリソースを取得したり、ポッド31の詳細情報(qosClass)を取得したり、マニフェストファイルを指定してノード21へのデプロイや削除を行ったりすることができる。マニフェストファイルは、ポッド31のリソース情報を記載したテキストファイルである。
【0030】
ポッド31のqosClassは、Guaranteed,Burstable,BestEffortの3種類に分類される。Guaranteedは、ポッド内のすべてのコンテナのCPU(Central Processing Unit)とメモリにRequests/Limitsが設定されており、かつ、Requests = Limitsである場合に該当する。Burstableは、ポッド内の1つ以上のコンテナのCPU又はメモリにRequestsが設定されており、かつ、Guaranteedを満たさない場合に該当する。BestEffortは、ポッド内のすべてのコンテナにRequests/Limitsが設定されていない場合に該当する。
【0031】
Requestsは、ポッド31が最低限必要とするリソースの容量(CPUとメモリの容量)を表す。Limitsは、ポッド31の負荷が高まった際に使用できるリソースの最大容量(CPUとメモリの最大容量)を表す。本開示では、BurstableとBestEffortのポッド31を移動対象(オフロードの対象)としている。
【0032】
AF部113は、3GPP APIを利用して、NEFサーバ22と連携した処理を行う。3GPP APIは、通信キャリアがサービスプロバイダなどのサードパーティに、キャリア網13のコアノード機能をAPIとして提供する際に、そのAPIと連携する3GPP TS 29.517に記載の機能である。本開示では、3GPP TS 29.522 5.4に記載のTraffic Influence APIと連携することで、予めDNAIとマッピングしたノードに対してアクセスするUEの経路を制御する。
【0033】
NEFサーバ22は、キャリア網13の機能(NF:Network Function)を外部のアプリケーションプログラムから利用できるように公開し、ネットワークからの情報をアプリケーションにて把握できるようにするほか、アプリケーションプログラムからNFを制御できるようにするためのAPIを提供している。
【0034】
データベース114は、HDD(Hard Disk Drive)等の記憶装置に記録される。データベース114は、DB(Data Base)サーバ等により提供されてもよい。データベース114は、MEC制御部111による処理で用いられる各種テーブルを管理している。
【0035】
図3は、
図2のMEC制御部111の機能的構成例を示すブロック図である。
図3において、MEC制御部111は、管理部121、設定部122、及び制御部123を有する。
【0036】
管理部121は、データベース114で管理される各種テーブルにより、ノード21やポッド31を管理する。また、管理部121は、データベース114で管理されるテーブルによりDNAIとノード21を予めマッピングしておくことで、ノード21に接続する際のキャリア網13の出口を管理する。
【0037】
設定部122は、ポッドとUEの移動に関する設定のための移動設定処理を行う。この移動設定処理では、ポッドの移動の優先度(移動優先度)が決定され、移動対象の候補となるポッドとUEが、決定された優先度とともに設定される。以下、移動対象の候補となるポッドを移動対象候補ポッド、移動対象の候補となるUEを移動対象候補UEともいう。
【0038】
設定部122は、移動設定部131、及び優先度決定部132を有する。移動設定部131は、移動対象候補ポッドと移動対象候補UEの移動に関する設定を行う。優先度決定部132は、ポッドの移動の優先度を決定する。
【0039】
制御部123は、ポッドとUEの移動に関する制御のための移動制御処理を行う。この移動制御処理では、移動対象候補ポッドと移動対象候補UEの中から、移動の優先度(移動優先度)に応じて移動対象ポッドと移動対象UEが決定され、決定された移動対象ポッドと移動対象UEが移動される。以下、移動対象候補ポッドのうち、実際に移動対象となったポッドを移動対象ポッドともいう。移動対象候補UEのうち、実際に移動対象となったUEを移動対象UEともいう。
【0040】
制御部123は、移動制御部141、及び経路制御部142を有する。移動制御部141は、API部112を制御して、移動対象ポッドの移動を制御する。経路制御部142は、AF部113を制御して、移動対象UEの経路を制御する。
【0041】
データベース114は、ノードテーブル151、ポッド移動テーブル152、UE移動テーブル153、及び優先度テーブル154を管理している。
【0042】
ノードテーブル151は、3GPPで規定されたDNAIと、kubernetes上のノード21とをマッピングして管理している。すなわち、キャリア網13から、kubernetesで管理されるノード21を、ポッド31がデプロイされ得るノード(DN:DataNet)として識別させるためにマッピングしている。また、ノードテーブル151は、ノード21ごとに、サイトの情報、サイトがエッジかグローバルかの識別情報、位置を示す緯度経度、IPアドレスなどの情報を管理している。
【0043】
ポッド移動テーブル152は、移動対象候補ポッドの情報を管理している。ポッド移動テーブル152では、移動元となるエッジサイトのノード21Aである移動元ノード、移動先のグローバルサイトのノード21Bである移動先ノード、及び優先度に基づき、移動対象候補ポッドの移動の優先度を管理している。また、ポッド移動テーブル152は、移動対象候補ポッドごとに、移動元ノードの通信量から決定される移動予定時刻などの情報を管理している。
【0044】
UE移動テーブル153は、移動対象候補ポッドにのみアクセスしているUE(移動対象候補UE)の情報を管理している。UE移動テーブル153では、移動元となるDNAIである移動元DNAI、移動先となるDNAIである移動先DNAI、及び優先度に基づき、移動対象候補UEの移動の優先度を管理している。また、UE移動テーブル153は、移動対象候補UEごとに、移動予定時刻などの情報を管理している。UE移動テーブル153のライフサイクルは、ポッド移動テーブル152と同じである。以下、ポッド移動テーブル152とUE移動テーブル153を区別する必要がない場合、移動テーブルとも称する。
【0045】
優先度テーブル154は、移動対象候補ポッドの優先度を決定するための情報として、ポッド31の詳細情報(qosClass)と、ポッド31のコンピューティングリソースの使用率に応じた優先度を管理している。例えば、優先度テーブル154では、制限がないBesteffort型のポッドほど移動対象としての優先度が高く、またその中でも、コンピューティングリソースの使用率が中央値以上のものほど優先度は高くなるようにする。これにより、より優先度が高い移動対象候補ポッドほど、移動対象ポッド(オフロードの対象)になるようにしている。
【0046】
なお、移動対象候補UEには、アクセスしている移動対象候補ポッドに対応した優先度が設定されるため、移動対象候補ポッドの優先度を決定することで、自身にアクセスしている移動対象候補UEの優先度を決定しているとも言える。
【0047】
<テーブル構成>
MEC管理システム11において、データベース114により管理されるテーブルの構成について説明する。
【0048】
図4は、
図3のノードテーブル151の例を示す図である。
図4において、ノードテーブル151は、ノードを識別するノードIDをキーにして、ノードのサイトに関する情報と、ノードとマッピングしたDNAIと、ノードの位置を示す緯度経度と、ノードのIPアドレスとを対応付けて管理している。
【0049】
例えば、ノードID 1が割り当てられたノードは、Sendai Edge Siteであるエッジサイトに存在し、DNAI1にマッピングされ、緯度と経度がAA,BBで、IPアドレスがaa.aa.aa.aaとなる。また、ノードID 5が割り当てられたノードは、Tokyo Global Siteであるグローバルサイトに存在し、DNAI5にマッピングされ、緯度と経度がII,JJで、IPアドレスがee.ee.ee.eeとなる。ここでは、ノードID 1,5のレコードを例示したが、他のレコードについても同様に管理されている。
【0050】
図5は、
図3のポッド移動テーブル152の例を示す図である。
図5において、ポッド移動テーブル152は、移動対象候補ポッドを識別するポッドIDをキーにして、移動元となるサイト(移動元ノード)と、移動先となるサイト(移動先ノード)と、移動時刻を示す移動予定時刻と、ドメイン名を示すネームと、移動の優先度を示す優先度とを対応付けて管理している。
【0051】
例えば、ポッドID 1が割り当てられたポッドは、2021/11/1 1:00に、Sendai Edge SiteのノードからTokyo Global Siteのノードに移動予定であり、優先度1であるため、移動の優先度が最も高い。また、ポッドID 3が割り当てられたポッドは、2021/11/1 2:00に、Fukuoka Edge SiteのノードからOsaka Global Siteのノードに移動予定であり、優先度1であるため、移動の優先度が最も高い。ここでは、ポッドID 1,3のレコードを例示したが、他のレコードについても同様に管理されている。
【0052】
図6は、
図3のUE移動テーブル153の例を示す図である。
図6において、UE移動テーブル153は、移動対象候補UEを識別するUEIDをキーにして、移動元DNAIと、移動先DNAIと、移動時刻を示す移動予定時刻と、IPアドレスと、移動の優先度を示す優先度とを対応付けて管理している。なお、IPアドレスの代わりに、キャリア網13でUEを識別するための識別情報であるSUPI(Subscription Permanent Identifier)を用いても構わない。
【0053】
例えば、UEID 1が割り当てられたUEは、2021/11/1 1:00に、DNAI1からDNAI5に移動予定であり、IPアドレスがaa.aa.aa.1で、優先度1であるため、移動の優先度が最も高い。また、UEID 5が割り当てられたUEは、2021/11/1 2:00に、DNAI4からDNAI6に移動予定であり、IPアドレスがbb.bb.bb.1で、優先度1であるため、移動の優先度が最も高い。ここでは、UEID 1,5のレコードを例示したが、他のレコードについても同様に管理されている。
【0054】
図7は、
図3の優先度テーブル154の例を示す図である。
図7において、優先度テーブル154は、移動対象候補となるポッドやUEの移動の優先度を決定するために用いられるテーブルであって、ポッドの詳細情報(qosClass)と、ポッドのコンピューティングリソースの使用率(ポッドリソース使用率)に応じた優先度を管理している。
図7の例では、優先度の数字が低いものほど、優先度が高いことを表している。ポッドリソース使用率は、ポッドのCPU使用率やメモリ使用率を含む。
【0055】
例えば、本開示では、Burstable型とBestEffort型のポッドを移動対象とし、制限がないBesteffort型のポッドほど移動対象としての優先度が高く、またその中でも、ポッドリソース使用率が中央値以上のものほど優先度は高くするので、BestEffort型のポッドで、かつ、ポッドリソース使用率が中央値以上のものが、優先度1となって移動の優先度が最も高くなるようにする。また、BestEffort型のポッドで、かつ、ポッドリソース使用率が中央値未満のものが、優先度2となって移動の優先度が優先度1の次に高くなるようにする。
【0056】
また、Burstable型のポッドで、かつ、ポッドリソース使用率が中央値以上のものは、優先度3となって移動の優先度が優先度2の次に高くなるようにする。Burstable型のポッドで、かつ、ポッドリソース使用率が中央値未満のものは、優先度4となって移動の優先度が最も低くなるようにする。なお、ここでは、対象のノードでポッドが複数動作している場合に、それらのポッドにおけるポッドリソース使用率の中央値を基準として用いることができる。
【0057】
このように、優先度テーブル154の優先度は、ポッドの詳細情報(qosClass)とポッドリソース使用率の2軸で優先度を決定することができる。また、これらの2軸に限らず、より状況に適した優先度決めを実現するために、軸を増やしても構わない。
図8乃至
図10は、優先度テーブルの他の例を示す図である。
【0058】
図7の優先度テーブル154では、ポッドリソース使用率の中央値を基準にして上位又は下位になるかで優先度を決めているが、ポッドリソース使用率が中央値近辺に固まっているケースも想定される。そこで、ポッドリソース使用率の分散値が閾値未満となる場合、所定期間のアクセスログから、UE等からのアクセス数が低いポッドの優先度を高くする。
【0059】
図8は、ポッドの詳細情報(qosClass)とポッドのアクセス数に応じた優先度を管理する優先度テーブル154Aを示している。優先度テーブル154Aでは、移動対象のBurstable型とBestEffort型のポッドのうち、BestEffort型のポッドで、かつ、アクセス数が中央値未満のものが、優先度1となって移動の優先度が最も高くなるようにする。また、BestEffort型のポッドで、かつ、アクセス数が中央値以上のものを、優先度2にする。同様にして、Burstable型のポッドであって、アクセス数が中央値未満のものを優先度3、アクセス数が中央値以上のものを優先度4にする。
【0060】
このように、ポッドリソース使用率の分散値が閾値未満となる場合、すなわち、ポッドリソース使用率が中央値に固まっている場合に、優先度テーブル154Aを用いて、UE等からのアクセス数が少ないにもかかわらず、リソース使用率が高いポッドの優先度を高くして、優先的に移動させることで、移動時に発生する通信断等の影響を小さくすることができる。
【0061】
ところで、ポッドをグローバルサイトのノードに移動させることにより、MEC12(エッジサイトのノード)での動作時に比べて、5G網として構成されるキャリア網13におけるネットワーク上のホップ数や他エリアのトラフィックの影響が増えることで、遅延や揺らぎが増える傾向にある。ここでは、3GPP TS 23.501のTable 5.7.4-1の「Standardized 5QI to QoS characteristics mapping」に記載のGBR(Guaranteed Bit Rate)のResource TypeのPDU sessionが利用するアプリケーションプログラムが影響を受けないようにするために、可能な限り対象のアプリケーションプログラムを、MEC12(エッジサイトのノード)に残したほうが、ネットワーク上の品質を最小限に抑えることができる。
【0062】
よって、上記の3GPPにおけるQoSについて、MEC12(エッジサイトのノード)で動作するアプリケーションプログラムに接続するUEがどのQoSを利用したPDU sessionを構築するか事前に知っている場合、あるいは、3GPP TS 29.122の5.14の「AsSessionWithQoS」と、本開示の3GPP APIが相互接続しており事前に設定されたQoSsubscription(qosReference)を取得できる場合(API経由で上記5.7.4-1のTableに記載のQoSを認識し得る場合)には、移動の優先順位について、Non-GBRの優先度を高くするようにする。
【0063】
図9は、ポッドの詳細情報(qosClass)と、ポッドが利用する通信(UEのPDU session)における5GのGBR/Non-GBRの割り当てに応じた優先度を管理する優先度テーブル154Bを示している。優先度テーブル154Bでは、移動対象のBurstable型とBestEffort型のポッドのうち、BestEffort型のポッドで、かつ、Non-GBRであるものが、優先度1となって移動の優先度が最も高くなるようにする。また、BestEffort型のポッドで、かつ、GBRであるものを、優先度2にする。同様にして、Burstable型のポッドであって、Non-GBRであるものを優先度3、GBRであるものを優先度4にする。
【0064】
このように、GBRのアクセスとそれを利用するポッドほど、優先度を下げて、MEC12(エッジサイトのノード)に残りやすくしている。この優先度決めの軸は、上述したポッドリソース使用率の軸や、アクセス数の軸の後に入れることを想定している。
【0065】
上述した説明では、CPUを利用するポッドを想定した場合を示したが、GPU(Graphics Processing Unit)等の他のプロセッサを利用するポッドを対象としてもよい。GPUに対するリソースについては、現状では、CPUほどの細かい制御は効かないため、limited又は非limitedの二値とすることができる。limitedは、ポッドにリソースに関する制限がある場合が該当し、非limitedは、ポッドにリソースに関する制限がない場合が該当する。
【0066】
図10は、GPUを利用するポッドを対象とした場合における非limitedのポッドのコンピューティングリソースの使用率(ポッドリソース使用率)に応じた優先度を管理する優先度テーブル154Cを示している。ここでのポッドリソース使用率は、GPU使用率となる。優先度テーブル154Cでは、非limitedのポッドのうち、GPU使用率が中央値以上のポッドが優先度1となって移動の優先度が最も高くなるようにする。また、GPU使用率が中央値未満のポッドを、優先度2にする。
【0067】
このように、ポッドリソース使用率は、CPU使用率とメモリ使用率に限らず、ポッドが利用するリソースに応じてGPU使用率などのリソース使用率を用いても構わない。例えば、GPUを利用するポッドを対象とする場合には、非limitedのポッドに対してGPU使用率の中央値以上か又は未満かで同様の優先度を決定することができる。
【0068】
<シーケンス>
図11は、MEC管理システム11における移動設定処理の実行時のシーケンスの例を示す図である。
図11においては、装置間のデータ(信号)のやり取りを双方向の矢印で示している。移動設定処理の実行時において、MEC管理システム11は、MEC12に配置されるエッジサイトのノード21Aと、クラウド・データセンタ14に配置されるグローバルサイトのノード21Bのうち、移動元ノードとなるノード21Aとの間でデータをやり取りする。
【0069】
MEC管理システム11においては、API部112が、kubectl top nodeコマンドを実行することで、ノード21Aのコンピューティングリソース(ノードリソース使用率)を取得する(S11)。そして、MEC制御部111が、取得したノードリソース使用率を閾値と比較する閾値確認を行う(S12)。ノードリソース使用率は、ノード21AのCPU使用率やメモリ使用率等を含む。
【0070】
MEC管理システム11では、閾値確認(S12)で、ノードリソース使用率が閾値を超えると判定された場合、以降の処理が行われ、移動の優先度が決定される。
【0071】
すなわち、API部112が、kubectl describe podコマンドを実行することで、ノード21Aで動作している各ポッド31の詳細情報(qosClass)を取得し(S13)、kubectl top podコマンドを実行することで、ポッド31のコンピューティングリソース(ポッドリソース使用率)を取得する(S14)。ポッドリソース使用率は、ポッド31のCPU使用率やメモリ使用率等を含む。そして、MEC制御部111が、取得した詳細情報(qosClass)とポッドリソース使用率を用いて、移動の優先度を決定する(S15)。これにより、優先度テーブル154が作成される。
【0072】
MEC管理システム11では、移動の優先度が決定されると、移動対象候補となるポッドとUEが、優先度とともに、ポッド移動テーブル152とUE移動テーブル153にそれぞれ設定される。
【0073】
すなわち、MEC制御部111が、ノードテーブル151を参照して、緯度経度の情報を用いた所定の距離計算を行い、移動先のノード21B(グローバルサイトのノード)を決定する(S16)。また、移動元のノード21Aにおける通信ログから所定期間の通信量を取得する(S17)ことで、MEC制御部111が、通信量に基づいて移動時刻(移動予定時刻)を決定する(S18)。そして、MEC制御部111は、移動対象候補ポッドに関する情報として、決定した優先度、移動先ノード、移動時刻などの情報を、ポッド移動テーブル152に設定して更新する(S19)。
【0074】
また、MEC制御部111は、移動元のノード21Aにおけるアクセスログから、移動対象候補ポッドにのみアクセスしているUEのIPアドレス(UEIP)を抽出して、抽出したUEIPのUEを、移動対象候補UEとする(S20)。そして、MEC制御部111は、移動対象候補UEに関する情報として、移動元DNAI、移動先DNAI、移動時刻、優先度などの情報を、UE移動テーブル153に設定して更新する(S21)。
【0075】
このように、移動設定処理の実行時に、
図11のシーケンスの流れで処理が行われ、その後、移動設定処理で設定された情報に基づいた移動制御処理が実行される。
図12は、MEC管理システム11における移動制御処理の実行時のシーケンスの例を示す図である。移動制御処理の実行時において、MEC管理システム11は、クラウド・データセンタ14に配置されるノード21Bと、ネームサーバ15と、NEFサーバ22との間でもデータをやり取りする。
【0076】
MEC管理システム11においては、MEC制御部111が、時刻を確認し(S31)、対象時刻になったとき、以降の処理が行われる。すなわち、MEC制御部111が、
図11のステップS19で更新したポッド移動テーブル152から、最も優先度の高いレコードを特定し、特定したレコードの移動対象候補ポッドを、移動対象ポッドに決定する(S32)。また、MEC制御部111が、
図11のステップS21で更新したUE移動テーブル153から、最も優先度の高いレコードを特定し、特定したレコードの移動対象候補UEを、移動対象UEに決定する(S33)。
【0077】
API部112が、MEC制御部111からの制御に従い、移動元のノード21Aで動作していた移動対象ポッドを、移動先のノード21Bにデプロイする(S34)。ここでのデプロイは、kubectlコマンドにてマニフェストファイルを指定することで行われる。さらに、AF部113が、TrafficInfluence APIを利用して、移動対象UEの経路を切り替える(S36)。TrafficInfluence APIの利用に際しては、AF部113が、MEC制御部111からの制御に従い、移動対象UEのUEIPと移動先DNAIを指定することで、NEFサーバ22と連携して、UEの経路制御が実施される。このようにして、優先度に応じた移動対象ポッドと移動対象UEの移動が実現される。
【0078】
その後、MEC管理システム11では、MEC制御部111が、ポッド移動テーブル152における移動対象ポッドのネームに対してDNSレコードの更新を行い(S37)、移動先のノード21BのIPアドレスを、新IPアドレスとしてネームサーバ15に通知する(S38)。これにより、ネームサーバ15では、移動対象ポッドのネームが登録されている場合に、IPアドレスを、移動先のノード21BのIPアドレスに差し替えて更新することができる。
【0079】
さらに、API部112が、MEC制御部111からの制御に従い、移動元のノード21Aから移動対象ポッドを削除する(S39)。ここでの削除は、kubectlコマンドにてマニフェストファイルを指定することで行われる。最後に、MEC制御部111が、ポッド移動テーブル152から移動対象ポッドのレコードを削除する(S40)。また、MEC制御部111が、UE移動テーブル153から移動対象UEのレコードを削除する(S40)。
【0080】
<処理の流れ>
次に、
図13のフローチャートを参照して、MEC管理システム11のMEC制御部111により実行される移動設定処理の流れを説明する。
図13の説明では、ノードテーブル151で管理されているノードのうち、エッジサイトであるSendai Edge SiteとFukuoka Edge Siteにそれぞれ配置されたノード21Aのコンピューティングリソースの使用率(ノードリソース使用率)が閾値を超えた場合を例示する。
【0081】
移動設定部131は、API部112を制御して、エッジサイトに配置されたノード21Aのノードリソース使用率を取得し(S111)、取得したノードリソース使用率が閾値を超えるかどうかを判定する(S112)。ここでは、API部112が、kubectl top nodeコマンドを実行することで、ノードリソース使用率として、ノード21AのCPU使用率やメモリ使用率が取得され、閾値と比較される。ノードリソース使用率は、特定の時刻(時間帯)における使用率に限らず、例えば、ロードアベレージを用いてもよい。
【0082】
ノードリソース使用率が閾値を超えると判定された場合(S112のYes)、移動設定部131が、データベース114における移動テーブルの有無を確認する(S113)。例えば、新規に、ノードリソース使用率が閾値を超えた場合には、ポッド移動テーブル152とUE移動テーブル153は共に存在しておらず(S113のNo)、移動設定部131は、API部112を制御して、ノード21Aで動作する各ポッドの詳細情報を取得する(S114)。この例では、API部112が、kubectl describe podコマンドを実行することで、Sendai Edge Siteのノード21AとFukuoka Edge Siteのノード21Aで動作している各ポッドの詳細情報(qosClass)を取得する。そして、移動設定部131は、取得したqosClassの種類を確認して、BestEffort型又はBurstable型であると判定されたポッドに対し、ステップS116乃至S122の処理を行う(S115のYes)。
【0083】
すなわち、移動設定部131は、API部112を制御して、ポッドのコンピューティングリソースの使用率(ポッドリソース使用率)を取得する(S116)。ここでは、API部112が、kubectl top podコマンドを実行することで、ポッドリソース使用率として、ポッドのCPU使用率やメモリ使用率が取得される。ポッドリソース使用率は、特定の時刻(時間帯)における使用率に限らず、例えば、ロードアベレージを用いてもよい。
【0084】
優先度決定部132は、qosClassとポッドリソース使用率に基づいて、ポッドの移動の優先度を決定する(S117)。これにより、優先度テーブル154が作成される。例えば、
図7の優先度テーブル154では、制限がかかっていないBestEffort型の移動の優先度がより高く、かつ、その中でもポッドリソースの使用率が中央値以上のポッドを、移動の優先度が最も高い優先度1としている。なお、ここでは、アクセス数を用いた優先度テーブル154A(
図8)や、GBR/Non-GBRの割り当てに応じた優先度テーブル154B(
図9)が作成されてもよい。
【0085】
次に、移動設定部131は、ノードテーブル151を参照して、ノードテーブル151に格納されたグローバルサイトのノードの中から、緯度経度を用いて計算される移動元ノードからの距離が最も近いノードを、移動先ノードに決定する(S118)。例えば、
図4のノードテーブル151では、Sendai Edge Siteの移動元ノードに対し、距離が最も近いグローバルサイト(Global Site)であるTokyo Global Siteのノードを移動先に決定する。また、Fukuoka Edge Siteの移動元ノードに対し、距離が最も近いグローバルサイトであるOsaka Global Siteのノードを移動先に決定する。
【0086】
次に、移動設定部131は、移動元ノードの通信量が最小の時間帯を決定する(S119)。例えば、移動元ノードにおける所定期間(例えば一週間)の通信ログを参照して、その期間の通信量から各日を平均化し、通信量が最小となる時間帯を算出する。この例では、Sendai Edge Siteのノードでは1:00,Fukuoka Edge Siteのノードでは2:00が、通信量が最も少ない時間帯として算出される。なお、決定される時間帯は、基本的には夜間を想定しているが、例えば、グローバルサイトが海外に及ぶ場合には、時差の関係で昼間になる可能性もある。ここで決定される時間帯に対応した日時が、ポッドの移動時刻(移動予定時刻)となる。
【0087】
移動設定部131は、ステップS117乃至S119で決定された優先度、移動先ノード、及び移動時刻などの情報を、移動対象候補ポッドに関する情報として、ポッド移動テーブル152に設定して更新する(S120)。例えば、
図5のポッド移動テーブル152においては、ポッドID 1,2のレコードとして、2021/11/1 1:00である移動予定時刻に、Sendai Edge SiteからTokyo Global Siteに移動されるポッドに関する情報、ポッドID 3,4,5,6,7のレコードとして、2021/11/1 2:00である移動予定時刻に、Fukuoka Edge SiteからOsaka Global Siteに移動されるポッドに関する情報が設定されている。また、各ポッドには優先度が設定されるが、例えば、ポッドID 1,3,4 である移動対象候補ポッドは、優先度1となるため、該当する移動予定時刻に最初に切り替える移動対象ポッドになる。グローバルサイトのノードである移動先ノードは、ノードテーブル151にてDNAIとマッピングされている。
【0088】
次に、移動設定部131は、所定期間(例えば一週間)のアクセスログを参照し、各優先度の移動対象候補ポッドにのみアクセスしているUEのIPアドレス(UEIP)を抽出する(S121)。移動設定部131は、移動対象候補ポッドにのみアクセスしているUEを、移動対象候補UEとして、移動元DNAI、移動先DNAI、移動時刻、優先度などの情報を、UE移動テーブル153に設定して更新する(S122)。
【0089】
ここでの移動時刻と優先度は、移動対象候補UEがアクセスしている移動対象候補ポッドの移動時刻と優先度に対応している。また、移動元DNAIと移動先DNAIは、ノードテーブル151においてノードとマッピングしたDNAIから設定することができる。例えば、
図6のUE移動テーブル153においては、UEID 1,2,3,4のレコードとして、2021/11/1 1:00である移動予定時刻に、DNAI1からDNAI5に経路が切り替えられるUE(Sendai Edge SiteのポッドにのみアクセスするUE)に関する情報と、UEID 5,6,7,8,9のレコードとして、2021/11/1 2:00である移動予定時刻に、DNAI4からDNAI6に経路が切り替えられるUE(Fukuoka Edge SiteのポッドにのみアクセスするUE)に関する情報が設定されている。また、各UEには、自身がアクセスするポッドの優先度に応じた優先度が設定されるが、例えば、UEID 1,2,3,5,6 である移動対象候補UEは、優先度1となるため、該当する移動予定時刻に最初に切り替える移動対象UEになる。
【0090】
ステップS122が終了すると、一連の処理が終了する。なお、ノードリソース使用率が閾値未満であると判定された場合(S112のNo)に、移動テーブルがあるとき(S123のYes)、移動テーブルをリセット(S124)して処理を終了する。一方で、移動テーブルがないとき(S123のNo)には、そのまま処理を終了する。また、ノードリソース使用率が閾値を超えると判定された場合(S112のYes)であっても、移動テーブルが存在するとき(S113のYes)、処理を終了する。さらに、各ノードのqosClassの種類が、BestEffort又はBurstableでないと判定された場合(S115のNo)、つまり、Guaranteed型のポッドである場合、本開示の移動対象ポッドとはならないため、ステップS116乃至S122をスキップして、処理を終了する。
【0091】
上述した移動設定処理によって、ポッド移動テーブル152とUE移動テーブル153を更新して、移動対象候補ポッドと移動対象候補UEの情報を優先度とともに設定した後に、移動設定処理で設定された情報に基づいて、優先度に応じて移動対象ポッドと移動対象UEを移動させる移動制御処理が行われる。次に、
図14のフローチャートを参照して、MEC管理システム11のMEC制御部111により実行される移動制御処理の流れを説明する。
【0092】
制御部123は、ポッド移動テーブル152を参照し(S131)、現在時刻が、移動予定時刻が示す対象時刻になったか否かを判定する(S132)。そして、制御部123は、対象時刻になったと判定した場合(S132のYes)、ステップS133乃至S139の処理を行う。
【0093】
すなわち、制御部123は、ポッド移動テーブル152を参照して、最も高い優先度のレコードの移動対象候補ポッドを、移動対象ポッドとする(S133)。また、制御部123は、UE移動テーブル153を参照して、最も高い優先度のレコードの移動対象候補UEを、移動対象UEとする(S134)。この例では、2021/11/1 1:00になったと仮定すれば、
図5のポッド移動テーブル152において、移動予定時刻が2021/11/1 1:00で、かつ、優先度1に設定されたポッドID 1のポッドが移動対象ポッドとなる。また、また、
図6のUE移動テーブル153において、移動予定時刻が2021/11/1 1:00で、かつ、優先度1に設定されたUEID 1,2,3のUEが移動対象UEとなる。
【0094】
まず、移動制御部141は、API部112を制御して、移動対象ポッドを移動先ノードにデプロイする(S135)。この例では、ポッドID 1の移動対象ポッドの移動先は、Tokyo Global Siteのノードとなる。デプロイ方法はいくつかあるが、代表的なものとして、kubectlコマンドにてマニフェストファイルを指定して行うことができる。移動先ノードであるTokyo Global Siteのノードは、
図4のノードテーブル151にてDNAI5であるDNAIとマッピングされている。
【0095】
次に、経路制御部142は、AF部113を制御して、TrafficInfluence APIにより経路制御を実施し、移動対象UEの経路を切り替える(S136)。TrafficInfluence APIの利用に際しては、移動対象UEのUEIPと移動先DNAIを指定することで、NEFサーバ22と連携した経路制御が実施される。例えば、
図6のUE移動テーブル153において、優先度1に該当するUEID 1,2,3に対応するaa.aa.aa.1,aa.aa.aa.2,aa.aa.aa.3であるIPアドレスと、DNAI5である移動先DNAIを指定することで、UEID 1,2,3のUEの経路が切り替えられる。
【0096】
また、必須の処理ではないが、制御部123は、ネームサーバ15で管理されている移動対象ポッドのネームのIPアドレスを、移動先ノードのIPアドレスに更新する(S137)。例えば、
図5のポッド移動テーブル152におけるポッドID 1の移動対象ポッドのネームであるaaa.co.jpが、ネームサーバ15に登録されていた場合、制御部123は、ネームサーバ15に対し、Tokyo Global Siteである移動先ノードのIPアドレスであるee.ee.ee.eeを通知することで、移動対象ポッドのネームのIPアドレスを、移動先ノードのIPアドレスに差し替えることができる。
【0097】
次に、移動制御部141は、API部112を制御して、移動元ノードから移動対象ポッドを削除する(S138)。この例では、Sendai Edge Siteのノードから、ポッドID 1の移動対象ポッドを削除する。削除方法はいくつかあるが、kubectlコマンドにてマニフェストファイルを指定することで行うことができる。
【0098】
最後に、制御部123は、ポッド移動テーブル152とUE移動テーブル153から、移動対象のレコードを削除する(S139)。例えば、
図5のポッド移動テーブル152において、移動対象ポッドとされたポッドID 1のレコードを削除する。また、
図6のUE移動テーブル153において、移動対象UEとされたUEID 1,2,3のレコードを削除する。ステップS139が終了すると、一連の処理が終了する。なお、対象時刻になっていないと判定された場合(S132のNo)、ステップS133乃至S139をスキップして、処理を終了する。
【0099】
上述の説明では、優先度1の移動として、Sendai Edge SiteからTokyo Global Siteへの移動を例示したが、その後、2021/11/1 2:00になったとき、Fukuoka Edge SiteからOsaka Global Siteへの移動が行われ、ポッドID 3,4とUEID 5,6について同様の処理を行う。
【0100】
また、優先度1の移動以降の処理は、次のような処理が行われる。すなわち、優先度1の移動制御処理が行われて、ポッド移動テーブル152とUE移動テーブル153では共に、優先度1のレコードが削除された状態になる。そして、
図13の移動設定処理が再度実行され、ノードリソース使用率の閾値確認が行われる(S111,S112)。この例では、Sendai Edge SiteとFukuoka Edge Siteのノードリソース使用率が閾値未満であると判定された場合(S112のNo)、ポッド移動テーブル152とUE移動テーブル153は不要となり、それらの移動テーブルをリセットする(S124)。つまり、優先度2乃至4のレコードも削除されるため、残りの移動対象候補ポッドと移動対象候補UEを移動対象とした移動制御処理は実施されずに終了する。
【0101】
一方で、ノードリソース使用率が閾値を超えると判定された場合(S112のYes)、ポッド移動テーブル152とUE移動テーブル153には、優先度2乃至4のレコードが残っているので、例えば、翌日以降の移動予定時刻(例えば、2021/11/2 1:00, 2021/11/2 2:00)に、
図14の移動制御処理で、対象時刻になったと判定され(S132のYes)、優先度2の移動対象候補ポッドと移動対象候補UEが、移動対象ポッドと移動対象UEとされ(S133,S134)、移動制御が行われる(S135,S136)。そして、ノードリソース使用率が閾値未満と判定される(S112のNo)まで、優先度3と優先度4のレコードについても同様の処理が行われる。つまり、この例では、最短で1日(例えば、2021/11/1)で処理が終了し、最長で4日(例えば、2021/11/1 ~ 11/4)かかることになる。
【0102】
以上のように、本開示では、ノードリソース使用率が閾値を超えたエッジサイトのノードで動作する各ポッドの詳細情報とポッドリソース使用率から、ポッドの移動の優先度を決定して、当該エッジサイトのノードから、グローバルサイトのノードに対し、決定した優先度に応じてポッドを移動させることができる。また、本開示では、移動対象ポッドにのみアクセスしているUEの経路を、決定した優先度に応じて切り替えることができる。これにより、エッジサイトのノードにおいて、特定の負荷のかかるポッド(アプリケーションコンテナ)が、優先的にグローバルサイトのノードに移動されたり、当該ポッドにのみアクセスしているUEの経路が切り替えられたりするため、オフロードの対象とすべきポッド(アプリケーションコンテナ)やUEを適切に決定して、より適切な対象をオフロードすることができる。
【0103】
また、本開示では、経路変更に伴う体感の品質低下を最小限に収めつつ、コンピューティングリソースが制御可能なポッドが、MEC12(エッジサイトのノード)に集まりやすくなる。これにより、エッジサイトのノードで動作する特定のポッドが、ノードのコンピューティングリソースを占有しすぎることにより、ノードが停止することを未然に防ぐことが可能となる。つまり、エッジサイトのノード上で動作しているすべてのアプリケーションプログラム(ポッド等)が全停止する状態を未然に防ぐことが可能となる。
【0104】
<変形例>
本開示において、システムとは、複数の装置が論理的に集合したものをいうが、MEC管理システム11は、複数の装置(例えばサーバ等)から構成されてもよい。例えば、
図2のMEC管理システム11において、MEC制御部111を有する装置と、API部112を有する装置と、AF部113を有する装置と、データベース114を有する装置とが、別々の装置で構成されてもよい。あるいは、MEC管理システム11を、MEC管理装置と捉えても構わない。このMEC管理装置は、MEC制御部111と、API部112と、AF部113と、データベース114を有する装置である。なお、このMEC管理装置は、MEC制御部111を少なくとも有していればよく、API部112と、AF部113と、データベース114は、外部の装置が有していてもよい。
【0105】
上述した説明では、優先度テーブル154において、1乃至4の4段階の優先度を用いた場合を示したが、優先度は4段階に限らず、それ以上でもよく、2以上であればよい。例えば、本開示では、BurstableとBestEffortのポッドを移動対象としたが、さらに他の分類(Guaranteed等)を移動対象としたり、あるいは、ポッドリソース使用率を中央値以上又は未満ではなく、閾値等を用いてポッドリソース使用率をさらに細かく分けたりすることで、優先度の段階を増やしてもよい。また、ポッドリソース使用率では、中央値を用いたが、中央値に限らず、他の指標を用いても構わない。
【0106】
なお、ノードリソース使用率やポッドリソース使用率等のリソース使用率は、リソース値の一例であり、他の指標を用いてもよい。また、ノードリソース使用率やポッドリソース使用率として、CPU使用率とメモリ使用率などの複数のリソース使用率が取得される場合には、すべてのリソース使用率を用いることは勿論、少なくとも1つのリソース使用率を用いればよい。リソース使用率を閾値や中央値などと比較する際には、取得したリソース使用率をそのまま用いてもよいし、所定の計算を施してから閾値や中央値などと比較しても構わない。
【0107】
上述した説明では、ノードテーブル151において、エッジサイトのノードとグローバルサイトのノードの位置に関する位置情報として、緯度と経度を用いた場合を例示したが、緯度と経度は位置情報の一例であり、ノードの位置を特定可能な情報であれば、他の位置情報を用いても構わない。
【0108】
上述した説明で用いた用語は、規格によって異なる場合があり、該当する規格の用語に読み替えても構わない。例えば、MEC(
図1のMEC12)においてサーバ等で構成されるノード(
図1のノード21A)は、kubernetesではワーカノードとも称され、3GPPではデータネット(DN:DataNet)とも称されるが、本開示では、ノードと称している。
【0109】
<コンピュータの構成>
上述した一連の処理(例えば、移動設定処理や移動制御処理等の処理)は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0110】
コンピュータにおいて、CPU1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記憶部1008、通信部1009、及びドライブ1010が接続されている。
【0111】
入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記憶部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、半導体メモリ、磁気ディスク、光ディスク、又は光磁気ディスクなどのリムーバブル記録媒体1011を駆動する。
【0112】
以上のように構成されるコンピュータでは、CPU1001が、ROM1002や記憶部1008に記録されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
【0113】
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【0114】
コンピュータでは、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、予めインストールしておくことができる。
【0115】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。また、プログラムは、1のコンピュータ(プロセッサ)により処理されてもよいし、複数のコンピュータによって分散処理されてもよい。
【0116】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0117】
また、本開示は、以下のような構成をとることができる。
【0118】
(1)
移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理する管理部と、
前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度を決定する決定部と、
前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御を行う制御部と
を備える情報処理装置。
(2)
前記第1のノードと前記第2のノードは、3GPPで規定されたDNAIと予めマッピングされており、
前記制御部は、前記DNAIとマッピングされた前記第2のノードを前記移動先ノードとして、前記アプリケーションコンテナを移動させる
前記(1)に記載の情報処理装置。
(3)
前記決定部は、前記移動元ノードにおける通信に関するログに基づいて、前記移動元ノードにおける通信量が最も少ない時間帯に応じた時刻を、前記アプリケーションコンテナを移動させる移動時刻に決定し、
前記制御部は、現在時刻が前記移動時刻になった場合、前記優先度に応じて前記アプリケーションコンテナを移動させる
前記(2)に記載の情報処理装置。
(4)
前記決定部は、前記第1のノードと前記第2のノードの位置に関する位置情報に基づいて、前記移動元ノードからの距離が最も近い位置にある前記第2のノードを、前記移動先ノードに決定する
前記(3)に記載の情報処理装置。
(5)
前記決定部は、前記アプリケーションコンテナへのアクセスに関するログに基づいて、前記移動通信ネットワークを介して通信を行う移動通信端末のうち、移動対象の前記アプリケーションコンテナにのみアクセスしている移動通信端末を、移動対象に決定し、
前記制御部は、現在時刻が前記移動時刻になった場合、前記優先度に応じて、移動対象となる前記移動通信端末の経路を切り替える制御を行う
前記(3)又は(4)に記載の情報処理装置。
(6)
前記詳細情報は、前記アプリケーションコンテナが最低限必要とするリソースの容量と、前記アプリケーションコンテナの負荷が高まったときに使用できるリソースの最大容量とから特定される前記アプリケーションコンテナの分類に関する情報を含む
前記(1)に記載の情報処理装置。
(7)
前記第2のリソース値は、前記アプリケーションコンテナによるCPUの使用率及びメモリの使用率を含むリソース使用率である
前記(6)に記載の情報処理装置。
(8)
前記詳細情報は、kubernetesで規定されたqosClassを含み、
前記決定部は、
BestEffort又はBurstableとなる前記アプリケーションコンテナを移動対象とし、
Burstableの前記アプリケーションコンテナよりも、BestEffortの前記アプリケーションコンテナの移動の優先度を高くし、
リソース使用率が中央値未満の前記アプリケーションコンテナよりも、リソース使用率が中央値以上の前記アプリケーションコンテナの移動の優先度を高くする
前記(7)に記載の情報処理装置。
(9)
前記決定部は、アクセス数が中央値以上の前記アプリケーションコンテナよりも、アクセス数が中央値未満の前記アプリケーションコンテナの移動の優先度を高くする
前記(8)に記載の情報処理装置。
(10)
前記決定部は、3GPPで規定されたGBRの前記アプリケーションコンテナよりも、Non GBRの前記アプリケーションコンテナの移動の優先度を高くする
前記(9)に記載の情報処理装置。
(11)
前記第2のリソース値は、前記アプリケーションコンテナによるGPUの使用率を含むリソース使用率であり、
前記決定部は、リソースに関する制限のない前記アプリケーションコンテナのうち、リソース使用率が中央値未満よりも、リソース使用率が中央値以上のものの移動の優先度を高くする
前記(1)に記載の情報処理装置。
(12)
前記アプリケーションコンテナは、kubernetesで規定されたポッドに対応している
前記(1)に記載の情報処理装置。
(13)
情報処理装置が、
移動通信ネットワークに接続されたエッジサイトのコンピュータである第1のノード、及びインターネットに接続されたグローバルサイトのコンピュータである第2のノードを管理し、
前記第1のノードのコンピューティングリソースを示す第1のリソース値が閾値を超えた場合、前記第1のリソース値が閾値を超えた前記第1のノードを移動元ノードとして、前記移動元ノードで動作している複数のコンテナから構成されるアプリケーションコンテナの詳細に関する詳細情報、及び前記アプリケーションコンテナのコンピューティングリソースを示す第2のリソース値に基づいて、前記アプリケーションコンテナの移動の優先度を決定し、
前記移動元ノードから、移動先となる前記第2のノードである移動先ノードに対し、前記優先度に応じて前記アプリケーションコンテナを移動させる制御を行う
情報処理方法。
【符号の説明】
【0119】
11 MEC管理システム, 12 MEC, 13 キャリア網, 14 クラウド・データセンタ, 15 ネームサーバ, 16 無線端末, 21,21A,21B ノード, 22 NEFサーバ, 111 MEC制御部, 112 API部, 113 AF部, 114 データベース, 121 管理部, 122 設定部, 123 制御部, 131 移動設定部, 132 優先度決定部, 141 移動制御部, 142 経路制御部, 151 ノードテーブル, 152 ポッド移動テーブル, 153 UE移動テーブル, 154,154A,154B,154C 優先度テーブル, 1001 CPU