(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024133799
(43)【公開日】2024-10-03
(54)【発明の名称】学習用データ生成方法、学習処理方法、予測処理方法、予測処理装置、および、プログラム
(51)【国際特許分類】
H04L 43/02 20220101AFI20240926BHJP
H04W 24/02 20090101ALI20240926BHJP
H04L 41/16 20220101ALI20240926BHJP
【FI】
H04L43/02
H04W24/02
H04L41/16
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023043766
(22)【出願日】2023-03-20
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「第5世代移動通信システムの更なる高度化に向けた研究開発、技術課題ア-1 2 サービス品質の維持が可能なネットワーク制御方式」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(72)【発明者】
【氏名】小津 喬
(72)【発明者】
【氏名】青木 寛
(72)【発明者】
【氏名】松中 隆志
(72)【発明者】
【氏名】横山 浩之
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067EE16
(57)【要約】
【課題】ネットワークの上流にボトルネックがある場合であっても、高精度にアプリケーションを推定し、ネットワーク下流において効率的に(適切に)帯域を割り当てる通信システムを実現する。
【解決手段】通信システム1000の通信制御装置100では、ネットワークの上流にボトルネックが発生した場合において、ネットワークの上流にボトルネックが発生したことによるバースト形状の変化を通信フロー識別処理部3により検知し、適切に、アプリケーションの種別、使用帯域を予測(推定)することができる。そして、通信システム1000の通信制御装置100では、上記のアプリケーションの種別、使用帯域の推定結果に基づいて、(ネットワーク下流において)適切に帯域を割り当て(確保し)、通信システム1000で実現されているサービスを継続・維持させることができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1または複数の通信装置の間で1または複数のアプリケーションを実行することができる通信システムに含まれる通信制御装置であり、QoS制御が可能な通信方式で通信可能なネットワークの通信を制御する前記通信制御装置により実行されるアプリケーション種別および/または当該アプリケーションの使用帯域を予測する学習モデルを学習させるための学習用データを生成する学習用データ生成方法であって、
所定のアプリケーションを実現する通信データであって、ネットワークの上流にボトルネックがある場合に取得された前記通信データである第1通信データから、
(1)前記第1通信データのプロトコルを特定する第1プロトコルデータと、
(2)前記第1通信データにより実現されるアプリケーションの種別を特定する第1アプリケーション種別データと、
(3)前記第1通信データにより実現されるアプリケーションの使用帯域を特定する第1使用帯域データと、
(4)前記第1通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、前記複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる前記複数の通信パケットの特徴量を示すデータである第1特徴量データと、
を取得し、取得した前記第1プロトコルデータと、前記第1アプリケーション種別データと、前記第1使用帯域データと、前記第1特徴量データとを組にした第1学習用データを取得する第1学習用データ取得ステップと、
所定のアプリケーションを実現する通信データであって、ネットワークの上流にボトルネックがない場合に取得された前記通信データである第2通信データから、
(1)前記第2通信データのプロトコルを特定する第2プロトコルデータと、
(2)前記第2通信データにより実現されるアプリケーションの種別を特定する第2アプリケーション種別データと、
(3)前記第2通信データにより実現されるアプリケーションの使用帯域を特定する第2使用帯域データと、
(4)前記第2通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、前記複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる前記複数の通信パケットの特徴量を示すデータである第2特徴量データと、
を取得し、取得した前記第2プロトコルデータと、前記第2アプリケーション種別データと、前記第2使用帯域データと、前記第2特徴量データとを組にした第2学習用データを取得する第2学習用データ取得ステップと、
を備える学習用データ生成方法。
【請求項2】
前記第1特徴量データは、前記バースト単位の時間長、前記バースト単位内のパケット数、および、前記バースト単位内の平均データサイズの少なくとも1つを含むデータであり、
前記第2特徴量データは、前記バースト単位の時間長、前記バースト単位内のパケット数、および、前記バースト単位内の平均データサイズの少なくとも1つを含むデータである、
請求項1に記載の学習用データ生成方法。
【請求項3】
請求項1または2に記載の学習用データ生成方法をコンピュータに実行させるためのプログラム。
【請求項4】
請求項1または2に記載の学習用データ生成方法により生成された学習用データを用いて、QoS制御が可能な通信方式で通信可能なネットワークの通信を制御する前記通信制御装置により実行されるアプリケーション種別および/または当該アプリケーションの使用帯域を予測する学習モデルを学習させる学習処理方法であって、
(1)前記学習用データの前記第1特徴量データおよび前記第1プロトコルデータを前記学習モデルが入力された場合、前記学習モデルから、第1出力データとして、第1アプリケーション種別出力データを出力させ、第2出力データとして、第1アプリケーション使用帯域出力データを出力させ、
(2)前記学習用データの前記第2特徴量データおよび前記第2プロトコルデータが前記学習モデルされた場合、前記学習モデルから、第1出力データとして、第2アプリケーション種別出力データを出力させ、第2出力データとして、第2アプリケーション使用帯域出力データを出力させる学習モデル実行ステップと、
(1)前記学習用データの前記第1特徴量データおよび前記第1プロトコルデータを前記学習モデルが入力された場合、前記第1アプリケーション種別出力データと、前記学習用データの前記第1アプリケーション種別データとの間の損失、および、前記第1アプリケーション使用帯域出力データと、前記学習用データの前記第1使用帯域データとの間の損失に基づいて、前記学習モデルのパラメータを更新させるためのパラメータ更新用データを生成し、
(2)前記学習用データの前記第2特徴量データおよび前記第2プロトコルデータを前記学習モデルが入力された場合、前記第2アプリケーション種別出力データと、前記学習用データの前記第2アプリケーション種別データとの間の損失、および、前記第2アプリケーション使用帯域出力データと、前記学習用データの前記第2使用帯域データとの間の損失に基づいて、前記学習モデルのパラメータを更新させるためのパラメータ更新用データを生成するパラメータ更新用データ生成ステップと、
前記パラメータ更新用データ生成ステップにより生成された前記パラメータ更新用データにより、前記学習モデルのパラメータを更新する学習モデルパラメータ更新ステップと、
を備える学習処理方法。
【請求項5】
請求項4に記載の学習処理方法をコンピュータに実行させるためのプログラム。
【請求項6】
請求項4に記載の学習処理方法により学習させた学習済みモデルを備える前記通信制御装置を用いて実行される予測処理方法であって、
前記通信制御装置が受信した通信データから、当該通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、前記複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる前記複数の通信パケットの特徴量を示すデータを特徴量データとして取得する特徴量データ取得ステップと、
前記通信制御装置が受信した通信データから、当該通信データのプロトコルを特定するプロトコルデータを取得するプロトコル識別ステップと、
前記特徴量データと、前記プロトコルデータとを、前記学習済みモデルに入力させて、前記学習済みモデルによる予測処理を行うことで、前記通信データに対応するアプリケーション種別および/または当該アプリケーションの使用帯域の予測処理結果データを取得する予測処理ステップと、
を備える予測処理方法。
【請求項7】
請求項6に記載の予測処理方法をコンピュータに実行させるためのプログラム。
【請求項8】
QoS制御が可能な通信方式で通信可能なネットワークから通信データを受信することができる通信インターフェースと、
前記通信インターフェースにより受信した通信データから、当該通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、前記複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる前記複数の通信パケットの特徴量を示すデータを特徴量データとして取得する特徴量取得部と、
前記通信インターフェースにより受信した通信データから、当該通信データのプロトコルを特定するプロトコルデータを取得するプロトコル識別処理部と、
請求項4に記載の学習処理方法により学習させた学習済みモデルを備え、
前記特徴量データと、前記プロトコルデータとを、前記学習済みモデルに入力させて、前記学習済みモデルによる予測処理を行うことで、前記通信データに対応するアプリケーション種別および/または当該アプリケーションの使用帯域の予測処理結果データを取得する機械学習モデル部と、
を備える予測処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信技術に関し、特に、品質要求を満たしつつ、サービス継続率を向上させるために、ネットワーク下流における効率的帯域割り当てのためのネットワーク上流の帯域を推定する技術に関する。
【背景技術】
【0002】
近年、インターネット等の通信ネットワーク上のトラヒックは増大傾向にあり、また、通信の品質要求(QoS:Quality of Service)も多様化してきている。例えば、高スループットが必要なファイル転送、低遅延が必要な映像通信、低パケットロス率が必要なセンサー情報通信など、多様な品質要求の通信を行いたいという要望が多くなってきてきる。このような多様な品質要求の通信を実現するためには、スループットや遅延、パケットロス率という品質要求に対し適切なネットワークリソースを割り当てる必要がある。また、高い品質要求を求めるトラヒックは、ネットワークリソースを多く使用するため、高い品質要求を求めるトラヒックには、多くのネットワークリソースを割り当てる必要がある。
【0003】
インターネット等の通信ネットワーク上のトラヒック量が増大傾向にあり、限りあるネットワークリソースの中でサービスを利用し続けることができるかどうかという指標であるサービス継続率を維持、向上させることが課題となってきている。例えば、高い品質要求のトラヒックが多く流れネットワークが輻輳状態にあると、サービスを継続できない場合が生じることが課題となっている。ネットワークの状態に応じてビットレートなどが動的に切り替わる適応制御可能なプロトコルを利用した技術(例えば、DASH(Dynamic Adaptive Streaming over HTTP)プロトコル(MPEG-DASH)を利用した技術)により、ある程度は、サービス継続を維持できるが、低遅延や高信頼性を要求する各種アプリケーションのサービス継続のための品質要求が多様化しており、さらに、セキュリティのために暗号化通信が混在するような状況において、サービス継続率を維持、向上させることが困難になってきている。
【0004】
一般的に品質要求が高ければ高いほど、それを実現するにはネットワークリソースを多く使用する必要があり、ネットワークリソースを有効に利用するためには、各アプリケーションの通信フローに対して品質要求を適切に設定する必要がある。しかし近年、セキュリティのために通信が暗号化されており、多様な通信が混在するトラヒックでは、各アプリケーションの通信フローに対して品質要求を適切に設定するのは困難である。もし一律に品質要求を設定した場合、低遅延や高信頼性を要求する通信フローが他の通信フローと同じ扱いにされ輻輳の影響を受けやすくなりサービス継続に支障が出る恐れがある。
【0005】
このような課題に対処するために、通信フローのバースト性を考慮することで、当該通信フローに相当するアプリケーションを特定(推定)し、当該通信フローに対して適切なQoSフローIDを付与する(適切なQoSフローIDを設定する)技術が開発されている(例えば、特許文献1を参照)。このような技術を用いることで、通信ネットワークにおいて、多様な通信のトラヒックが混在する状況においても、品質要求を満たしつつ、サービス継続率を維持、向上させることができる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記技術では、ネットワークの上流にボトルネックがあると、アプリケーションの推定精度が低下し、ネットワーク下流において効率的に(適切に)帯域を割り当てることが困難になる。
【0008】
このアプリケーションの推定精度が低下する現象は、(1)パケットの到着過程が影響を受けて、バースト性が変化すること、(2)アプリケーションの挙動が変化して、バースト性が変化すること、に起因している。
【0009】
そこで、本発明は、上記課題に鑑み、ネットワークの上流にボトルネックがある場合であっても、高精度にアプリケーションを推定し、ネットワーク下流において効率的に(適切に)帯域を割り当てる通信システム、通信制御装置、学習用データ生成方法、学習処理方法、予測処理方法、予測処理装置、および、プログラムを実現することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、第1の発明は、1または複数の通信装置の間で1または複数のアプリケーションを実行することができる通信システムに含まれる通信制御装置であり、QoS制御が可能な通信方式で通信可能なネットワークの通信を制御する通信制御装置により実行されるアプリケーション種別および/または当該アプリケーションの使用帯域を予測する学習モデルを学習させるための学習用データを生成する学習用データ生成方法であって、第1学習用データ取得ステップと、第2学習用データ取得ステップと、を備える。
【0011】
第1学習用データ取得ステップは、所定のアプリケーションを実現する通信データであって、ネットワークの上流にボトルネックがある場合に取得された通信データである第1通信データから、
(1)第1通信データのプロトコルを特定する第1プロトコルデータと、
(2)第1通信データにより実現されるアプリケーションの種別を特定する第1アプリケーション種別データと、
(3)第1通信データにより実現されるアプリケーションの使用帯域を特定する第1使用帯域データと、
(4)第1通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる複数の通信パケットの特徴量を示すデータである第1特徴量データと、
を取得し、取得した第1プロトコルデータと、第1アプリケーション種別データと、第1使用帯域データと、第1特徴量データとを組にした第1学習用データを取得する。
【0012】
第2学習用データ取得ステップは、所定のアプリケーションを実現する通信データであって、ネットワークの上流にボトルネックがない場合に取得された通信データである第2通信データから、
(1)第2通信データのプロトコルを特定する第2プロトコルデータと、
(2)第2通信データにより実現されるアプリケーションの種別を特定する第2アプリケーション種別データと、
(3)第2通信データにより実現されるアプリケーションの使用帯域を特定する第2使用帯域データと、
(4)第2通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる複数の通信パケットの特徴量を示すデータである第2特徴量データと、
を取得し、取得した第2プロトコルデータと、第2アプリケーション種別データと、第2使用帯域データと、第2特徴量データとを組にした第2学習用データを取得する。
【0013】
これにより、この学習用データ生成方法では、ネットワークの上流にボトルネックがある場合に取得した第1学習用データと、ネットワークの上流にボトルネックがない場合に取得した第2学習用データとを取得(生成)することができる。そして、この学習用データ生成方法で取得した学習用データを用いて、学習可能モデルを学習させることで、ネットワークの上流にボトルネックがある場合であっても、ネットワークの上流にボトルネックがない場合であっても、高精度に、アプリケーションの種別、および/または、当該アプリケーションが使用している帯域を予測(推定)できるモデルを取得できる。そして、当該モデル(学習済みモデル)を用いて、アプリケーションの種別、および/または、当該アプリケーションが使用している帯域の予測処理を行うことで、ネットワークの上流にボトルネックがある場合であっても、ネットワークの上流にボトルネックがない場合であっても、高精度に、アプリケーションの種別、および/または、当該アプリケーションの使用帯域を予測(推定)することができる。そして、例えば、通信システムの通信制御装置において、上記学習済みモデルを用いた処理を行うことで、アプリケーションの種別、使用帯域の推定結果が取得でき、当該推定結果に基づいて、(ネットワーク下流において)適切に帯域を割り当て(確保し)、通信システムで実現されているサービスを継続・維持させることができる。
【0014】
なお、「ネットワークの上流」とは、送信元と送信先との間における送信元側のことをいい、例えば、アプリケーションサーバから、通信制御装置を介して、端末装置に通信フローが流れる場合、通信制御装置からアプリケーションサーバ側のネットワークが「ネットワークの上流」に該当する。
【0015】
また、「ボトルネック」とは、例えば、通信回線において、通信帯域が所定の帯域内となるように制限されている部分(回線)のことをいう。
【0016】
第2の発明は、第1の発明であって、第1特徴量データは、バースト単位の時間長、バースト単位内のパケット数、および、バースト単位内の平均データサイズの少なくとも1つを含むデータであり、第2特徴量データは、バースト単位の時間長、バースト単位内のパケット数、および、バースト単位内の平均データサイズの少なくとも1つを含むデータである。
【0017】
これにより、第1特徴量データおよび第2特徴量データを、バースト単位で取得される特徴量として、学習用データ生成を行うことができる。
【0018】
第3の発明は、第1または第2の発明である学習用データ生成方法をコンピュータに実行させるためのプログラムである。
【0019】
これにより、第1または第2の発明と同様の効果を奏する学習用データ生成方法をコンピュータに実行させるためのプログラムを実現することができる。
【0020】
第4の発明は、第1または第2の発明である学習用データ生成方法により生成された学習用データを用いて、QoS制御が可能な通信方式で通信可能なネットワークの通信を制御する通信制御装置により実行されるアプリケーション種別および/または当該アプリケーションの使用帯域を予測する学習モデルを学習させる学習処理方法であって、学習モデル実行ステップと、パラメータ更新用データ生成ステップと、学習モデルパラメータ更新ステップと、を備える。
【0021】
学習モデル実行ステップは、
(1)学習用データの第1特徴量データおよび第1プロトコルデータを学習モデルが入力された場合、学習モデルから、第1出力データとして、第1アプリケーション種別出力データを出力させ、第2出力データとして、第1アプリケーション使用帯域出力データを出力させ、
(2)学習用データの第2特徴量データおよび第2プロトコルデータが学習モデルされた場合、学習モデルから、第1出力データとして、第2アプリケーション種別出力データを出力させ、第2出力データとして、第2アプリケーション使用帯域出力データを出力させる。
【0022】
パラメータ更新用データ生成ステップは、
(1)学習用データの第1特徴量データおよび第1プロトコルデータを学習モデルが入力された場合、第1アプリケーション種別出力データと、学習用データの第1アプリケーション種別データとの間の損失、および、第1アプリケーション使用帯域出力データと、学習用データの第1使用帯域データとの間の損失に基づいて、学習モデルのパラメータを更新させるためのパラメータ更新用データを生成し、
(2)学習用データの第2特徴量データおよび第2プロトコルデータを学習モデルが入力された場合、第2アプリケーション種別出力データと、学習用データの第2アプリケーション種別データとの間の損失、および、第2アプリケーション使用帯域出力データと、学習用データの第2使用帯域データとの間の損失に基づいて、学習モデルのパラメータを更新させるためのパラメータ更新用データを生成する。
【0023】
学習モデルパラメータ更新ステップは、パラメータ更新用データ生成ステップにより生成されたパラメータ更新用データにより、学習モデルのパラメータを更新する。
【0024】
これにより、この学習処理方法では、ネットワークの上流にボトルネックがある場合に取得した第1学習用データと、ネットワークの上流にボトルネックがない場合に取得した第2学習用データと含む学習用データを用いて、学習可能モデルを学習させることで、ネットワークの上流にボトルネックがある場合であっても、ネットワークの上流にボトルネックがない場合であっても、高精度に、アプリケーションの種別、および/または、当該アプリケーションが使用している帯域を予測(推定)できるモデルを取得できる。そして、当該モデル(学習済みモデル)を用いて、アプリケーションの種別、および/または、当該アプリケーションが使用している帯域の予測処理を行うことで、ネットワークの上流にボトルネックがある場合であっても、ネットワークの上流にボトルネックがない場合であっても、高精度に、アプリケーションの種別、および/または、当該アプリケーションの使用帯域を予測(推定)することができる。そして、例えば、通信システムの通信制御装置において、上記学習済みモデルを用いた処理を行うことで、アプリケーションの種別、使用帯域の推定結果が取得でき、当該推定結果に基づいて、(ネットワーク下流において)適切に帯域を割り当て(確保し)、通信システムで実現されているサービスを継続・維持させることができる。
【0025】
第5の発明は、第4の発明である学習処理方法をコンピュータに実行させるためのプログラムである。
【0026】
これにより、第4の発明と同様の効果を奏する学習処理方法をコンピュータに実行させるためのプログラムを実現することができる。
【0027】
第6の発明は、第4の発明である学習処理方法により学習させた学習済みモデルを備える通信制御装置を用いて実行される予測処理方法であって、特徴量データ取得ステップと、プロトコル識別ステップと、予測処理ステップと、を備える。
【0028】
特徴量データ取得ステップは、通信制御装置が受信した通信データから、当該通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる複数の通信パケットの特徴量を示すデータを特徴量データとして取得する。
【0029】
プロトコル識別ステップは、通信制御装置が受信した通信データから、当該通信データのプロトコルを特定するプロトコルデータを取得する。
【0030】
予測処理ステップは、特徴量データと、プロトコルデータとを、学習済みモデルに入力させて、学習済みモデルによる予測処理を行うことで、通信データに対応するアプリケーション種別および/または当該アプリケーションの使用帯域の予測処理結果データを取得する。
【0031】
これにより、この予測処理方法では、ネットワークの上流にボトルネックがある場合であっても、ネットワークの上流にボトルネックがない場合であっても、高精度に、アプリケーションの種別、および/または、当該アプリケーションが使用している帯域を予測(推定)できるように取得された学習済みモデルを用いて、アプリケーションの種別、および/または、当該アプリケーションが使用している帯域の予測処理を行うことで、ネットワークの上流にボトルネックがある場合であっても、ネットワークの上流にボトルネックがない場合であっても、高精度に、アプリケーションの種別、および/または、当該アプリケーションの使用帯域を予測(推定)することができる。そして、例えば、通信システムの通信制御装置において、上記学習済みモデルを用いた処理を行うことで、アプリケーションの種別、使用帯域の推定結果が取得でき、当該推定結果に基づいて、(ネットワーク下流において)適切に帯域を割り当て(確保し)、通信システムで実現されているサービスを継続・維持させることができる。すなわち、通信システムにおいて、ネットワークの上流にボトルネックがある場合であっても、高精度にアプリケーションを推定し、ネットワーク下流において効率的に(適切に)帯域を割り当てることができる。
【0032】
第7の発明は、第6の発明である予測処理方法をコンピュータに実行させるためのプログラムである。
【0033】
これにより、第6の発明と同様の効果を奏する予測処理方法をコンピュータに実行させるためのプログラムを実現することができる。
【0034】
第8の発明は、通信インターフェースと、特徴量取得部と、プロトコル識別処理部と、機械学習モデル部と、を備える予測処理装置である。
【0035】
通信インターフェースは、QoS制御が可能な通信方式で通信可能なネットワークから通信データを受信することができるインターフェースである。
【0036】
特徴量取得部は、通信インターフェースにより受信した通信データから、当該通信データを構成する複数の通信パケットの到着間隔が一定時間以上空く期間を区切りとして、複数の通信パケットをバースト単位で取得したとき、当該バースト単位に含まれる複数の通信パケットの特徴量を示すデータを特徴量データとして取得する。
【0037】
プロトコル識別処理部は、通信インターフェースにより受信した通信データから、当該通信データのプロトコルを特定するプロトコルデータを取得する。
【0038】
機械学習モデル部は、第4の発明である学習処理方法により学習させた学習済みモデルを備えており、特徴量データと、プロトコルデータとを、学習済みモデルに入力させて、学習済みモデルによる予測処理を行うことで、通信データに対応するアプリケーション種別および/または当該アプリケーションの使用帯域の予測処理結果データを取得する。
【0039】
これにより、第6の発明と同様の効果を奏する予測処理装置を実現することができる。
【発明の効果】
【0040】
本発明によれば、ネットワークの上流にボトルネックがある場合であっても、高精度にアプリケーションを推定し、ネットワーク下流において効率的に(適切に)帯域を割り当てる通信システム、通信制御装置、学習用データ生成方法、学習処理方法、予測処理方法、予測処理装置、および、プログラムを実現することができる。
【図面の簡単な説明】
【0041】
【
図1】第1実施形態に係る通信システム1000の概略構成図。
【
図2】第1実施形態に係る通信制御装置100の概略構成図。
【
図3】第1実施形態に係る通信制御装置100の通信フロー識別処理部3の概略構成図。
【
図4】第1実施形態に係る学習用データ生成装置Dev_tr_geneの概略構成図。
【
図5】第1実施形態に係る学習処理装置Dev_trの概略構成図。
【
図6】通信制御装置100の通信フロー識別処理部3の機械学習モデル部33の学習済みモデルを取得するための学習用データ生成処理のフローチャート。
【
図7】ネットワークの上流のボトルネックの有無の検出方法(パケットの到着過程の変化を監視する方法)を説明するための図。
【
図8】ネットワークの上流のボトルネックの有無の検出方法(アプリケーションの挙動の変化を監視する方法)を説明するための図。
【
図9】通信システム1000で実行される通信フロー識別処理を説明するための図。
【
図10】通信システム1000で実行される通信フロー識別処理を説明するための図。
【
図11】通信システム1000で実行される通信フロー識別処理を説明するための図。
【
図12】通信システム1000で実行される通信フロー識別処理を説明するための図。
【
図13】第1変形例の通信制御装置の通信フロー識別処理部3Aの概略構成図。
【
図14】第1変形例の通信制御装置の通信フロー識別処理部3Aの概略構成図(学習処理時)。
【
図15】第1変形例の通信制御装置の通信フロー識別処理部3Aの概略構成図(予測処理時)。
【
図16】第2変形例の学習用データ生成装置Dev_tr_geneAの概略構成図。
【発明を実施するための形態】
【0042】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0043】
<1.1:通信システムの構成>
図1は、第1実施形態に係る通信システム1000の概略構成図である。
【0044】
図2は、第1実施形態に係る通信制御装置100の概略構成図である。
【0045】
図3は、第1実施形態に係る通信制御装置100の通信フロー識別処理部3の概略構成図である。
【0046】
図4は、第1実施形態に係る学習用データ生成装置Dev_tr_geneの概略構成図である。
【0047】
図5は、第1実施形態に係る学習処理装置Dev_trの概略構成図である。
【0048】
通信システム1000は、
図1に示すように、M個(M:自然数)のサーバである第1サーバSvr1~第MサーバSvrMと、例えば、交換局Cntr1内に設置される通信制御装置100と、RAN(Radio Access Network)と、複数の端末装置(
図1では、m1個(m1:自然数)の端末装置UE1
1~UE1
m1、m2個(m2:自然数)の端末装置UE2
1~UE2
m2、・・・、mn個(mn:自然数)の端末装置UEn
1~UEn
mn)とを備える。第1サーバSvr1~第MサーバSvrMおよび通信制御装置100は、ネットワークNW1(例えば、インターネット)に接続されており、それぞれのサーバおよび/または装置と、互いに通信可能である。
【0049】
また、RANは、
図1に示すように、集約基地局CU1と、集約基地局CU1に接続される分散基地局DU1~DUn(n:自然数)とにより構成される。なお、RANは、
図1では、1つの集約基地局CU1を備えるものであるが、これに限定されることはなく、複数の集約基地局、および、当該複数の集約基地局のそれぞれに接続される1または複数の分散基地局を備えるものであってもよい。
【0050】
また、通信制御装置100と、RANの集約基地局CU1とは、ネットワーク(不図示)(例えば、携帯電話通信網(例えば、4G/LTE通信網や5G通信網(5G:第5世代移動通信システム)))を介して接続されるものであってもよい。
【0051】
第1サーバSvr1~第MサーバSvrMは、それぞれ、所定のアプリケーションを提供するサーバであり、ネットワークNW1に接続されている。第1サーバSvr1~第MサーバSvrMは、それぞれ、端末装置(例えば、
図1では、端末装置UE1
1~UE1
m1、端末装置UE2
1~UE2
m2、・・・、端末装置UEn
1~UEn
mn)との間に通信コネクションを確立させて、端末装置からの要求に応じたアプリケーションを提供するサーバ(アプリケーションサーバ)である。第1サーバSvr1~第MサーバSvrMは、それぞれ、ネットワークNW1、通信制御装置100、RANを介して、端末装置と通信を行うことができる。
【0052】
(1.1.1:通信制御装置)
通信制御装置100は、例えば、交換局Cntr1(例えば、5G(第5世代移動通信システム)の伝送網と、外部のネットワーク(例えば、インターネット)とを接続し、通信を行うための交換局)内に設置される装置であり、ネットワークNW1およびRANと通信可能に接続されている。そして、通信制御装置100は、ネットワークNW1、RAN、サーバ、および/または、端末装置間での通信を制御する機能を有している。
【0053】
通信制御装置100は、
図2に示すように、第1通信インターフェース1と、C-plane信号処理部2と、セレクタSEL1と、バッファBuf1と、通信フロー識別処理部3と、U-plane信号処理部4と、第2通信インターフェース5とを備える。
【0054】
第1通信インターフェース1は、ネットワークNW1を介して、外部の装置(外部のサーバ(第1サーバSvr1~第MサーバSvrM))とデータ送受信を行うための通信インターフェースである。また、第1通信インターフェース1は、
図2に示すように、C-plane信号処理部2、U-plane信号処理部4、および、セレクタSEL1と接続されている。
【0055】
第1通信インターフェース1は、外部(ネットワークNW1)から受信したデータであって、C-plane制御を行うために必要となるデータをデータDi_n_cとしてC-plane信号処理部2に出力し、また、C-plane信号処理部2から出力されるデータ(C-plane制御を行うためにネットワークNW1に送信する必要があるデータ)をデータDo_n_c(ネットワークNW1を介して外部へと送信するためデータ)として入力する。なお、「C-plane」とは、Control planeのことであり、通信システム(例えば、無線通信システム)において、通信の制御を行うデータ、信号、その手順、または、仕組みを表す。
【0056】
また、第1通信インターフェース1は、外部(ネットワークNW1)から受信したデータをデータDi_n_uとしてU-plane信号処理部4に出力し、また、U-plane信号処理部4から出力されるデータをデータDo_n_u(ネットワークNW1を介して外部へと送信するためデータ)として入力する。なお、「U-plane」とは、User planeのことであり、通信システム(例えば、無線通信システム)において、ユーザが送受信するデータ、その手順、または、仕組みを表す。
【0057】
また、第1通信インターフェース1は、外部(ネットワークNW1)から受信したデータ(通信フローを識別する処理に用いるデータ)をデータD0_nとしてセレクタSEL1に出力する。
【0058】
C-plane信号処理部2は、第2通信インターフェース5を介してRANとC-planeデータを送受信するための処理を行う。なお、第2通信インターフェース5を介してRANとC-planeデータを送受信するための処理を行うために、C-plane信号処理部2から第2通信インターフェース5へ出力するC-planeデータをデータDo_r(C)と表記し、第2通信インターフェース5からC-plane信号処理部2に入力されるC-planeデータをデータDi_r(C)と表記する。
【0059】
また、C-plane信号処理部2は、C-plane制御を行うのに必要なデータを、第1通信インターフェース1を介して、ネットワークNW1(ネットワークNW1上の外部の装置、サーバ等)から受信し、および/または、ネットワークNW1(ネットワークNW1上の外部の装置、サーバ等)へ送信する。なお、C-plane信号処理部2から第1通信インターフェース1へ出力するデータをデータDo_n_cと表記し、第1通信インターフェース1からC-plane信号処理部2に入力されるデータをデータDi_n_cと表記する。
【0060】
セレクタSEL1は、第1通信インターフェース1から出力されるD0_nと、第2通信インターフェース5から出力されるD0_rと、通信制御装置100の各機能部を制御する制御部(不図示)から出力される選択信号sel1とを入力する。セレクタSEL1は、選択信号sel1に従い、入力されるデータD0_nと、データD0_rとのいずれか一方を選択し、選択したデータをデータD1としてバッファBuf1に出力する。
【0061】
バッファBuf1は、セレクタSEL1から出力されるデータD1を入力し、当該データD1を一時的に保持する記憶部(バッファ)である。バッファBuf1に保持されているデータは、通信フロー識別処理部3、および/または、U-plane信号処理部4からの読み出し命令により、読み出すことが可能である。なお、バッファBuf1において、外部からの通信データの各パケットの到着時刻、パケット長、パケットサイズ等のデータも記憶保持されるものとする。
【0062】
通信フロー識別処理部3は、バッファBuf1に保持されているデータをデータD2として読み出し、当該データD2を用いて、通信データ(通信制御装置100が外部の装置(サーバ)から受信したデータ、および/または、RANから受信したデータ(例えば、端末装置からのデータ))の解析処理を行うとともに、通信フローを識別する処理(通信フロー識別処理)を行い、各通信フローの帯域(各通信フローが使用している帯域(例えば、通信レートにより特定される帯域))を特定(推定)し、各通信フローに付与するQoSフローIDを決定する。通信フロー識別処理部3は、
図3に示すように、特徴量取得部31と、プロトコル識別処理部32と、機械学習モデル部33と、QoS決定部34とを備える。
【0063】
特徴量取得部31は、バッファBuf1から読み出したデータD2を入力し、データD2に対して、特徴量取得処理を行う。具体的には、特徴量取得部31は、同一のサーバ(通信制御装置100で受信した通信パケットの送信元のデータから特定)との通信フローの時間的に連続して通信される複数パケットを時間間隔が一定値以上空いたときに区切って1つの「バースト」として扱い、このバースト単位で、データD2から、バーストの時間長(継続長)、バースト内パケット数、バースト内平均データサイズ(平均パケットサイズ)等を取得する処理(特徴量取得処理)を行う。そして、特徴量取得部31は、特徴量取得処理により取得した特徴量を含むデータを、データD_featとして、機械学習モデル部33に出力する。なお、説明便宜のため、特徴量取得処理により取得される特徴量は、(1)バーストの時間長(継続長)、(2)バースト内パケット数、および、(3)バースト内平均データサイズ(平均パケットサイズ)であるものとする。
【0064】
プロトコル識別処理部32は、バッファBuf1から読み出したデータD2を入力し、データD2に対して、プロトコル識別処理を行い、データD2に対応するプロトコルを特定するデータを取得する。そして、プロトコル識別処理部32は、プロトコル識別処理により取得したデータを、データD_protoとして、機械学習モデル部33に出力する。
【0065】
機械学習モデル部33は、学習済みモデルを有する機能部であり、特徴量取得部31から出力されるデータD_featと、プロトコル識別処理部32から出力されるデータD_protoとを入力する。機械学習モデル部33は、データD_featおよびデータD_protoを、学習済みモデルの入力として、当該学習済みモデルによる処理を行い、アプリケーションの種別を特定(推定)するデータD_appと、当該アプリケーションの通信データの帯域(当該アプリケーションの通信データが使用している帯域(例えば、通信レートにより特定される帯域))を特定(推定)するデータをD_Δfとを取得する。そして、機械学習モデル部33は、取得したデータD_appおよびデータD_ΔfをQoS決定部34に出力する。
【0066】
QoS決定部34は、機械学習モデル部33から出力されるデータD_appおよびデータD_Δfを入力する。QoS決定部34は、データD_appおよびデータD_Δfを用いて、QoSフローIDを決定する処理を行い、当該処理により取得したQoSフローIDを含むデータを、データD_QoS_IDとして、U-plane信号処理部4に出力する。
【0067】
U-plane信号処理部4は、U-planeの処理、QoS付与処理(QoSフローIDの付与処理)等を行う機能部である。U-plane信号処理部4は、第2通信インターフェース5を介してRANとU-planeデータを送受信するための処理を行う。なお、第2通信インターフェース5を介してRANとU-planeデータを送受信するための処理を行うために、U-plane信号処理部4から第2通信インターフェース5へ出力するU-planeデータをデータDo_r(U)と表記し、第2通信インターフェース5からU-plane信号処理部4に入力されるU-planeデータをデータDi_r(U)と表記する。
【0068】
また、U-plane信号処理部4は、U-planeデータの処理を行うために必要なデータを、第1通信インターフェース1を介して、ネットワークNW1(ネットワークNW1上の外部の装置、サーバ等)から受信し、および/または、ネットワークNW1(ネットワークNW1上の外部の装置、サーバ等)へ送信する。なお、U-plane信号処理部4から第1通信インターフェース1へ出力するデータをデータDo_n_uと表記し、第1通信インターフェース1からU-plane信号処理部4に入力されるデータをデータDi_n_uと表記する。
【0069】
また、U-plane信号処理部4は、バッファBuf1に保持されているデータをデータD3として読み出す。また、U-plane信号処理部4は、当該データD3に対応するデータであって、通信フロー識別処理部3から出力されるデータD_QoS_ID(データD3に対応する通信フローのQoS識別子QoS_IDを含むデータD_QoS_ID)を入力する。U-plane信号処理部4は、データD3に、データD_QoS_IDから取得したQoS識別子QoS_IDを付与する処理(QoSフローIDの付与処理)を行うことで、データD3にQoS識別子QoS_IDを付与したデータを取得し、取得した当該データを通信データDo_r(U)として、第2通信インターフェース5に出力する。
【0070】
第2通信インターフェース5は、RAN(RAN内の装置)とデータ送受信を行うための通信インターフェースである。また、第2通信インターフェース5は、
図2に示すように、C-plane信号処理部2、U-plane信号処理部4、および、セレクタSEL1と接続されている。
【0071】
第2通信インターフェース5は、外部(RAN)から受信したデータであって、C-planeデータをデータDi_r(C)としてC-plane信号処理部2に出力し、また、C-plane信号処理部2から出力されるC-planeデータをデータDo_r(C)として入力する。なお、「C-plane」とは、Control planeのことであり、通信システム(例えば、無線通信システム)において、通信の制御を行うデータ、信号、その手順、または、仕組みを表す。
【0072】
また、第2通信インターフェース5は、外部(RAN)から受信したU-planeデータをデータDi_r(U)としてU-plane信号処理部4に出力し、また、U-plane信号処理部4から出力されるU-planeデータをデータDo_r(U)として入力する。なお、「U-plane」とは、User planeのことであり、通信システム(例えば、無線通信システム)において、ユーザが送受信するデータ、その手順、または、仕組みを表す。
【0073】
また、第2通信インターフェース5は、外部(RAN)から受信したデータ(通信フローを識別する処理に用いるデータ)をデータD0_rとしてセレクタSEL1に出力する。
【0074】
(1.1.2:RAN)
RANは、
図1に示すように、集約基地局CU1と、1または複数の分散基地局DU1~DUn(n:自然数)とを含む。
【0075】
集約基地局CU1は、通信制御装置100および分散基地局DU1~DUnのそれぞれと通信可能に接続されている。集約基地局CU1は、分散基地局DU1~DUnのそれぞれに対して個別の無線ベアラ(無線通信によるサービス回線)を割り当てる。つまり、集約基地局CU1は、分散基地局DU1~DUnと、無線ベアラとのマッピング処理を行う。なお、1つの無線ベアラには、複数の通信フロー(同一QoSを要求する通信データ(通信パケット群))を含めることが可能である。なお、集約基地局CU1は、通信制御装置100から受信した通信データ(C-planeデータ、U-planeデータ)に基づいて、PDUセッション(PDU:Protocol Data Unit)(通信制御装置100、集約基地局CU1、分散基地局DU1~DUn、端末装置間のセッション)を確立させ、分散基地局DU1~DUnのそれぞれに対して個別の無線ベアラ(無線通信によるサービス回線)を割り当てる。
【0076】
そして、集約基地局CU1は、無線ベアラ単位で、分散基地局DU1~DUnのそれぞれと通信を行う。
【0077】
分散基地局DU1~DUnは、それぞれ、集約基地局CU1と通信可能に接続されている。また、分散基地局DU1~DUnは、それぞれ、1または複数の端末装置と通信可能に接続することができる。分散基地局DU1~DUnは、それぞれ、集約基地局CU1から受信した通信データを、当該通信データの宛先(例えば、ヘッダに記載されている宛先)の端末装置に送信する。また、分散基地局DU1~DUnは、それぞれ、端末装置から受信した通信データを集約基地局CU1に送信する。
【0078】
(1.1.3:端末装置)
複数の端末装置(
図1では、m1個(m1:自然数)の端末装置UE1
1~UE1
m1、m2個(m2:自然数)の端末装置UE2
1~UE2
m2、・・・、mn個(mn:自然数)の端末装置UEn
1~UEn
mn)は、それぞれ、RANの分散基地局DU1~DUnのうちの自端末装置に割り当てられた分散基地局と通信可能に接続される(例えば、無線通信可能に接続される)。複数の端末装置は、それぞれ、通信制御装置100、集約基地局CU1、分散基地局との間において、PDUセッションを確立させることができる。そして、複数の端末装置は、それぞれ、通信制御装置100、集約基地局CU1、分散基地局との間において、通信フロー単位(QoSフロー単位(同一QoSを要求する通信パケット群の単位))で通信を行うことができる。
【0079】
(1.1.4:学習用データ生成装置)
学習用データ生成装置Dev_tr_geneは、通信システム1000の通信制御装置100の通信フロー識別処理部3の機械学習モデル部33に搭載させる学習済みモデルを取得するための学習処理を行うための学習用データを生成する装置である。
【0080】
学習用データ生成装置Dev_tr_geneは、例えば、通信制御装置100のバッファBuf1の出力(バッファBuf1で保持されている通信データ)を入力とし、学習用データを生成し、生成した学習用データを、データを記憶する装置(
図4では、データ記憶部DB1)に記憶するための装置である。
【0081】
学習用データ生成装置Dev_tr_geneは、
図4に示すように、パケットキャプチャ処理部81と、キャプチャデータ解析部82と、データ抽出部83と、特徴量取得部84と、学習用データ生成処理部85とを備える。
【0082】
パケットキャプチャ処理部81は、例えば、通信制御装置100のバッファBuf1の出力(バッファBuf1で保持されている通信データ)を入力とし、入力されたデータ(通信データ(通信パケット))をキャプチャする処理(例えば、パケットキャプチャ処理)を行う。そして、パケットキャプチャ処理部81は、キャプチャデータ解析部82および/またはデータ抽出部83からの要求に従い、キャプチャしたデータをキャプチャデータ解析部82および/またはデータ抽出部83に出力する。
【0083】
キャプチャデータ解析部82は、パケットキャプチャ処理部81がキャプチャしたデータ(あるいはパケット)を取得し(パケットキャプチャ処理部81にデータ読み出し指令を送信することで、キャプチャデータ(キャプチャパケット)を読み出し)、当該キャプチャデータ(キャプチャパケット)の解析を行う。キャプチャデータ解析部82は、所定の機能部を有しており、例えば、
図4に示すように、上流ボトルネック検出部、プロトコル取得部、アプリ種別取得部、および、帯域取得部を有している。
【0084】
上流ボトルネック検出部は、キャプチャデータ(キャプチャパケット)を解析することで、ネットワークの上流にボトルネックがあるか否かを検出する。上流ボトルネック検出部は、例えば、(1)パケットの到着過程の変化を監視することでネットワークの上流にボトルネックがあるか否かを検出する、または、(2)キャプチャデータ(キャプチャパケット)(あるいは通信フロー)がアプリケーションの挙動変化の影響を受けているか否かを判定することで、ネットワークの上流にボトルネックがあるか否かを検出する。そして、キャプチャデータ解析部82は、上流ボトルネック検出部による検出結果を含むデータを、データdet_upper_bneckとして、データ抽出部83に出力する。
【0085】
プロトコル取得部は、キャプチャデータ(キャプチャパケット)を解析することで、キャプチャデータ(キャプチャパケット)の通信フローのプロトコルを取得する(例えば、パケットのヘッダを解析することでプロトコルを特定する)。そして、キャプチャデータ解析部82は、プロトコル取得部が取得したプロトコルを特定する情報を含むデータを、データD_proto_correctとして、学習用データ生成処理部85に出力する。
【0086】
帯域取得部は、キャプチャデータ(キャプチャパケット)を解析することで、キャプチャデータ(キャプチャパケット)の通信フローの帯域(使用している帯域)を取得する。そして、キャプチャデータ解析部82は、帯域取得部が取得した帯域を特定する情報を含むデータを、データD_Δf_correctとして、学習用データ生成処理部85に出力する。
【0087】
アプリ種別取得部は、キャプチャデータ(キャプチャパケット)を解析することで、キャプチャデータ(キャプチャパケット)の通信フローのアプリケーションの種別(当該通信フローにより実現(提供)されているアプリケーションの種別)を取得する。そして、キャプチャデータ解析部82は、アプリ種別取得部が取得したアプリケーションの種別を特定する情報を含むデータを、データD_app_correctとして、学習用データ生成処理部85に出力する。
【0088】
データ抽出部83は、キャプチャデータ解析部82から出力されるデータdet_upper_bneckを入力し、当該データdet_upper_bneckに対応するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出す。つまり、(1)データ抽出部83は、データdet_upper_bneckが「1」(ネットワークの上流にボトルネックありを示す値)であると判定された通信フローに属するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出し、読み出したデータを、データDin_train(ネットワークの上流にボトルネックがあるときにキャプチャされたデータ(通信データ))として、特徴量取得部84に出力する。(2)データ抽出部83は、データdet_upper_bneckが「0」(ネットワークの上流にボトルネックなしを示す値)であると判定された通信フローに属するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出し、読み出したデータを、データDin_train(ネットワークの上流にボトルネックがないときにキャプチャされたデータ(通信データ))として、特徴量取得部84に出力する。
【0089】
特徴量取得部84は、データ抽出部83から出力されるデータDin_trainを入力し、データDin_trainに対して、特徴量取得処理を行う。具体的には、特徴量取得部84は、同一のサーバ(通信制御装置100で受信した通信パケットの送信元のデータから特定)との通信フローの時間的に連続して通信される複数パケットを時間間隔が一定値以上空いたときに区切って1つの「バースト」として扱い、このバースト単位で、データDin_trainから、(1)バーストの時間長(継続長)、(2)バースト内パケット数、および、(3)バースト内平均データサイズ(平均パケットサイズ)を取得する処理(特徴量取得処理)を行う。そして、特徴量取得部84は、上記により取得した特徴量を含むデータを、データD_featとして、学習用データ生成処理部85に出力する。
【0090】
特徴量取得部31は、バッファBuf1から読み出したデータD2を入力し、データD2に対して、特徴量取得処理を行う。具体的には、特徴量取得部31は、同一のサーバ(通信制御装置100で受信した通信パケットの送信元のデータから特定)との通信フローの時間的に連続して通信される複数パケットを時間間隔が一定値以上空いたときに区切って1つの「バースト」として扱い、このバースト単位で、バーストの時間長(継続長)、バースト内パケット数、バースト内平均データサイズ(平均パケットサイズ)等を取得する処理(特徴量取得処理)を行う。そして、特徴量取得部31は、特徴量取得処理により取得した特徴量を含むデータを、データD_featとして、機械学習モデル部33に出力する。なお、説明便宜のため、特徴量取得処理により取得される特徴量は、(1)バーストの時間長(継続長)、(2)バースト内パケット数、および、(3)バースト内平均データサイズ(平均パケットサイズ)であるものとする。
【0091】
学習用データ生成処理部85は、特徴量取得部84から出力されるデータD_featと、キャプチャデータ解析部82から出力されるデータD_proto_correct、データD_Δf_correct、および、データD_app_correctとを入力する。そして、学習用データ生成処理部85は、
(1)データD_feat(特徴量データ)、
(2)データD_proto_correct(プロトコルを特定するデータ)、
(3)データD_app_correct(アプリケーションの種別を特定するデータ)、および
(4)データD_Δf_correct(使用帯域を特定するデータ)
を含めたデータを学習用データ(1つの学習用データ)Dsetとして取得する。つまり、学習用データDsetは、
Dset={D_feat,D_proto_correct,D_app_correct,D_Δf_correct}
である。
【0092】
そして、特徴量データD_featは、
D_feat={burst_dur,pk_num,pk_ave_size}
burst_dur:バースト継続長
pk_num:バースト内パケット数
pk_ave_size:バースト内平均データサイズ
である。なお、説明便宜のため、特徴量データD_featは、上記の通り、(1)バースト継続長、(2)バースト内パケット数、および、(3)バースト内平均データサイズであるものとする。
【0093】
また、学習用データ(1つの学習用データ)Dsetに含まれる、データD_feat、データD_proto_correct、データD_app_correct、および、データD_Δf_correctは、当該データを取得したときに処理対象とした通信データ(通信フローのパケット(あるいはパケット群))が同一であるものとする。
【0094】
学習用データ生成処理部85は、上記により取得した学習用データDsetをデータ記憶部DB1に出力し、データ記憶部DB1に記憶させる。
【0095】
(1.1.5:学習処理装置)
学習処理装置Dev_trは、通信システム1000の通信制御装置100の通信フロー識別処理部3の機械学習モデル部33に搭載させる学習済みモデルを取得するための学習処理を行う装置である。
【0096】
学習処理装置Dev_trは、
図5に示すように、データ読み出し部91と、機械学習モデル部92と、損失評価部93とを備える。
【0097】
データ読み出し部91は、学習用データ生成装置Dev_tr_geneにより生成された学習用データを記憶しているデータ記憶部DB1から、学習用データDset(={D_feat,D_proto_correct,D_app_correct,D_Δf_correct})を読み出す。データ読み出し部91は、読み出した学習用データから、当該学習用データに含まれる、(1)データD_feat(={burst_dur,pk_num,pk_ave_size})、(2)データD_proto_correct、(3)データD_app_correct、および、(4)データD_Δf_correctを取り出す。そして、データ読み出し部91は、取り出した、(1)データD_feat(={burst_dur,pk_num,pk_ave_size})、および、(2)データD_proto_correctを機械学習モデル部92に出力する。また、データ読み出し部91は、取り出した、(3)データD_app_correct、および、(4)データD_Δf_correctを損失評価部93に出力する。
【0098】
機械学習モデル部92は、学習可能モデルを有する機能部であり、データ読み出し部91から出力されるデータD_feat(={burst_dur,pk_num,pk_ave_size})(特徴量データ)およびデータD_proto_correct(プロトコルを特定するデータ)を入力する。機械学習モデル部92は、データD_featおよびデータD_proto_correctを、学習可能モデルの入力として、当該学習可能モデルによる処理を行い、当該学習可能モデルから出力される、アプリケーションの種別を特定(推定)するデータD_appと、当該アプリケーションの通信データの帯域(当該アプリケーションに対応する通信データ(通信フロー)が使用している帯域(例えば、通信レートにより特定される帯域))を特定(推定)するデータD_Δfとを取得する。そして、機械学習モデル部92は、取得したデータD_appおよびデータD_Δfを損失評価部93に出力する。
【0099】
また、機械学習モデル部92は、損失評価部93からパラメータ更新用のデータupdate(θ)を入力し、当該データupdate(θ)に基づいて、学習可能モデルのパラメータθを更新する処理を行う。
【0100】
損失評価部93は、(1)機械学習モデル部92から出力されるデータD_ΔfおよびデータD_Δfと、(2)データ読み出し部91から出力されるデータD_app_correctおよびデータD_Δf_correctとを入力する。そして、損失評価部93は、(1)データD_appとデータD_app_correct(正解データ)との間の損失(誤差)、および、(2)データD_ΔfとデータD_Δf_correct(正解データ)との間の損失(誤差)を算出し、算出した損失(誤差)を評価する。なお、上記2つの損失(誤差)を統合した損失(マルチタスク損失)(例えば、上記2つの損失を重み付け加算した値による損失(誤差))として損失(誤差)を評価してもよい。
(1)損失評価部93は、算出した損失(誤差)が所定の範囲内ではない場合(例えば、所定の値よりも大きい場合)、あるいは、機械学習モデル部92の学習可能モデルのパラメータを更新した場合、誤差の変動範囲が所定の範囲外である場合、学習処理を継続させる必要ありと判断し、機械学習モデル部92の学習可能モデルのパラメータを更新するためのデータupdate(θ)を取得し、取得したデータupdate(θ)を機械学習モデル部92に出力する。
(2)損失評価部93は、算出した損失(誤差)が所定の範囲内である場合(例えば、所定の値以下である場合)、あるいは、機械学習モデル部92の学習可能モデルのパラメータを更新した場合、誤差の変動範囲が所定の範囲内である場合、学習処理が収束したと判断し、機械学習モデル部92の学習可能モデルのパラメータを更新する処理(学習処理)を終了させ、学習処理が終了したときの機械学習モデル部92の学習可能モデルのパラメータθを最適パラメータθoptとして取得する。
【0101】
<1.2:通信システムの動作>
以上のように構成された通信システム1000の動作について、以下、説明する。
【0102】
図6は、通信制御装置100の通信フロー識別処理部3の機械学習モデル部33の学習済みモデルを取得するための学習用データ生成処理のフローチャートである。
【0103】
図7は、ネットワークの上流のボトルネックの有無の検出方法(パケットの到着過程の変化を監視する方法)を説明するための図である。
【0104】
図8は、ネットワークの上流のボトルネックの有無の検出方法(アプリケーションの挙動の変化を監視する方法)を説明するための図である。
【0105】
図9、
図10は、通信システム1000で実行される通信フロー識別処理を説明するための図である。
【0106】
(1.2.1:学習用データ生成処理)
まず、通信制御装置100の通信フロー識別処理部3の機械学習モデル部33の学習済みモデルを取得するための学習用データ生成処理について、
図6のフローチャートを参照しながら説明する。なお、学習用データ生成処理は、学習用データ生成装置Dev_tr_geneを用いて実行される。
【0107】
(ステップS1):
ステップS1において、変数i、jを初期化する(i=0、j=0とする)。
【0108】
(ステップS2):
ステップS2において、パケットキャプチャ処理が実行される。具体的には、以下の処理が実行される。
【0109】
学習用データ生成装置Dev_tr_geneのパケットキャプチャ処理部81は、例えば、通信制御装置100のバッファBuf1の出力(バッファBuf1で保持されている通信データ)を入力とし、入力されたデータ(通信データ(通信パケット))をキャプチャする処理(例えば、パケットキャプチャ処理)を行う。そして、パケットキャプチャ処理部81は、キャプチャデータ解析部82および/またはデータ抽出部83からの要求に従い、キャプチャしたデータをキャプチャデータ解析部82および/またはデータ抽出部83に出力する。
【0110】
(ステップS3):
ステップS3において、キャプチャデータ解析処理が実行される。具体的には、以下の処理が実行される。
【0111】
キャプチャデータ解析部82の上流ボトルネック検出部は、キャプチャデータ(キャプチャパケット)を解析することで、ネットワークの上流にボトルネックがあるか否かを検出する。
【0112】
(ステップS4):
ステップS4において、上流ボトルネック検出部は、パケットの到着過程の変化を監視することでネットワークの上流にボトルネックがあるか否かを検出する。例えば、
図7に示すように、横軸を時間をとし、縦軸を帯域(使用帯域)とすると、ネットワークの上流にボトルネックがない場合は、例えば、
図7の左図のようなバースト形状(バースト長が比較的小さく(短く)、所定の帯域(例えば、
図7の値th1)を超える期間が存在する形状の波形)が観察され、一方、ネットワークの上流にボトルネックがある場合は、例えば、
図7の右図のようなバースト形状(所定の帯域内に収まるように制限されるため、その帯域は所定の値(例えば、
図7のth1)以下であり、バースト長が延びた(長くなった)形状の波形)が観察される。
【0113】
上流ボトルネック検出部は、上記のようなパケット到着過程の変化(パケット到着過程の変化により決定されるバースト形状(波形)の変化)を監視(検出)することで、ネットワークの上流にボトルネックがあるか否かを検出する。
【0114】
また、上流ボトルネック検出部は、キャプチャデータ(キャプチャパケット)(あるいは通信フロー)がアプリケーションの挙動変化の影響を受けているか否かを判定することで、ネットワークの上流にボトルネックがあるか否かを検出する。所定の動画配信サービス(アプリケーションの一例)では、帯域によって、
図8に示したように、パケットサイズ、プロトコルが規定されている。そこで、上流ボトルネック検出部は、所定の動画配信サービス(アプリケーションの一例)の通信フローにおいて、パケットサイズ、プロトコルの変化を監視し、当該変化が所定の変化であった場合、帯域が制限されたと判断することができる。つまり、上流ボトルネック検出部は、上記のような観察(監視)により、キャプチャデータ(キャプチャパケット)(あるいは通信フロー)がアプリケーションの挙動変化の影響を受けているか否かを判定することで、ネットワークの上流にボトルネックがあるか否かを検出する。
【0115】
上流ボトルネック検出部は、上記処理により、ネットワークの上流にボトルネックの有無を判定し、判定結果を含むデータを、データdet_upper_bneckとして、データ抽出部83に出力するとともに、(1)ネットワークの上流にボトルネックがあると判定した場合、処理をステップS5Aに進め、(2)ネットワークの上流にボトルネックがないと判定した場合、処理をステップS5Bに進める。
【0116】
(ステップS5A):
ステップS5Aにおいて、データ抽出処理が実行される。具体的には、以下の処理が実行される。
【0117】
データ抽出部83は、キャプチャデータ解析部82から出力されるデータdet_upper_bneckを入力し、当該データdet_upper_bneckに対応するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出す。つまり、データ抽出部83は、データdet_upper_bneckが「1」(ネットワークの上流にボトルネックありを示す値)であると判定された通信フローに属するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出し、読み出したデータを、データDin_train(ネットワークの上流にボトルネックがあるときにキャプチャされたデータ(通信データ))として、特徴量取得部84に出力する。
【0118】
(ステップS6A):
ステップS6Aにおいて、特徴量取得処理が実行される。具体的には、以下の処理が実行される。
【0119】
特徴量取得部84は、データ抽出部83から出力されるデータDin_trainを入力し、データDin_trainに対して、特徴量取得処理を行う。具体的には、特徴量取得部84は、同一のサーバ(通信制御装置100で受信した通信パケットの送信元のデータから特定)との通信フローの時間的に連続して通信される複数パケットを時間間隔が一定値以上空いたときに区切って1つの「バースト」として扱い、このバースト単位で、データDin_trainから、(1)バーストの時間長(継続長)(データburst_dur)、(2)バースト内パケット数(データpk_num)、および、(3)バースト内平均データサイズ(平均パケットサイズ)(データpk_ave_size)を取得する処理(特徴量取得処理)を行う。そして、特徴量取得部84は、上記により取得した特徴量を含むデータを、データD_feat(={burst_dur,pk_num,pk_ave_size})として、学習用データ生成処理部85に出力する。
【0120】
(ステップS7A):
ステップS7Aにおいて、プロトコル取得処理が実行される。具体的には、以下の処理が実行される。
【0121】
キャプチャデータ解析部82のプロトコル取得部は、パケットキャプチャ処理部81から読み出したキャプチャデータ(キャプチャパケット)を解析することで、キャプチャデータ(キャプチャパケット)(データD_featを取得したのと同じキャプチャデータ)の通信フローのプロトコルを取得する(例えば、パケットのヘッダを解析することでプロトコルを特定する)。そして、キャプチャデータ解析部82は、プロトコル取得部が取得したプロトコルを特定する情報を含むデータを、データD_proto_correctとして、学習用データ生成処理部85に出力する。
【0122】
(ステップS8A):
ステップS8Aにおいて、アプリ種別取得処理が実行される。具体的には、以下の処理が実行される。
【0123】
アプリ種別取得部は、パケットキャプチャ処理部81から読み出したキャプチャデータ(キャプチャパケット)を解析することで、キャプチャデータ(キャプチャパケット)(データD_featを取得したのと同じキャプチャデータ)の通信フローのアプリケーションの種別(当該通信フローにより実現(提供)されているアプリケーションの種別)を取得する。そして、キャプチャデータ解析部82は、アプリ種別取得部が取得したアプリケーションの種別を特定する情報を含むデータを、データD_app_correctとして、学習用データ生成処理部85に出力する。
【0124】
(ステップS9A):
ステップS9Aにおいて、帯域取得処理が実行される。具体的には、以下の処理が実行される。
【0125】
帯域取得部は、パケットキャプチャ処理部81から読み出したキャプチャデータ(キャプチャパケット)を解析することで、キャプチャデータ(キャプチャパケット)(データD_featを取得したのと同じキャプチャデータ)の通信フローの帯域(使用している帯域)を取得する。そして、キャプチャデータ解析部82は、帯域取得部が取得した帯域を特定する情報を含むデータを、データD_Δf_correctとして、学習用データ生成処理部85に出力する。
【0126】
(ステップS10A):
ステップS10Aにおいて、第1学習用データ(1セット)(ネットワークの上流にボトルネックがあると判定された場合に取得される学習用データを「第1学習用データ」という)を取得する処理が実行される。具体的には、以下の処理が実行される。
【0127】
学習用データ生成処理部85は、特徴量取得部84から出力されるデータD_featと、キャプチャデータ解析部82から出力されるデータD_proto_correct、データD_Δf_correct、および、データD_app_correctとを入力する。そして、学習用データ生成処理部85は、
(1)特徴量データD_feat(={burst_dur,pk_num,pk_ave_size})、
(2)データD_proto_correct(プロトコルを特定するデータ)、
(3)データD_app_correct(アプリケーションの種別を特定するデータ)、および
(4)データD_Δf_correct(使用帯域を特定するデータ)
を含めたデータを第1学習用データ(1つの学習用データ)Dset(={D_feat,D_proto_correct,D_app_correct,D_Δf_correct})として取得する。
【0128】
(ステップS11A):
ステップS11Aにおいて、学習用データ生成処理部85は、ステップS10Aで取得した第1学習用データDsetをデータ記憶部DB1に記憶する。
【0129】
(ステップS12A):
ステップS12Aにおいて、変数iが+1インクリメントされる(i←i+1)。
【0130】
(ステップS5B):
ステップS5Bにおいて、データ抽出処理が実行される。具体的には、以下の処理が実行される。
【0131】
データ抽出部83は、キャプチャデータ解析部82から出力されるデータdet_upper_bneckを入力し、当該データdet_upper_bneckに対応するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出す。つまり、データ抽出部83は、データdet_upper_bneckが「0」(ネットワークの上流にボトルネックなしを示す値)であると判定された通信フローに属するキャプチャデータ(キャプチャパケット)をパケットキャプチャ処理部81から読み出し、読み出したデータを、データDin_train(ネットワークの上流にボトルネックがあるときにキャプチャされたデータ(通信データ))として、特徴量取得部84に出力する。
【0132】
(ステップS6B~S9B):
ステップS6B~S9Bでは、それぞれ、ステップS6A~S9Aと同様の処理が実行される。なお、処理対象は、データdet_upper_bneckが「0」(ネットワークの上流にボトルネックなしを示す値)であると判定された通信フローに属するキャプチャデータ(キャプチャパケット)である。
【0133】
(ステップS11A):
ステップS11Aにおいて、第2学習用データ(1セット)(ネットワークの上流にボトルネックがないと判定された場合に取得される学習用データを「第2学習用データ」という)を取得する処理が実行される。具体的には、以下の処理が実行される。
【0134】
学習用データ生成処理部85は、特徴量取得部84から出力されるデータD_featと、キャプチャデータ解析部82から出力されるデータD_proto_correct、データD_Δf_correct、および、データD_app_correctとを入力する。そして、学習用データ生成処理部85は、
(1)特徴量データD_feat(={burst_dur,pk_num,pk_ave_size})、
(2)データD_proto_correct(プロトコルを特定するデータ)、
(3)データD_app_correct(アプリケーションの種別を特定するデータ)、および
(4)データD_Δf_correct(使用帯域を特定するデータ)
を含めたデータを第2学習用データ(1つの学習用データ)Dset(={D_feat,D_proto_correct,D_app_correct,D_Δf_correct})として取得する。
【0135】
(ステップS11B):
ステップS11Bにおいて、学習用データ生成処理部85は、ステップS10Aで取得した第2学習用データDsetをデータ記憶部DB1に記憶する。
【0136】
(ステップS12B):
ステップS12Bにおいて、変数jが+1インクリメントされる(j←j+1)。
【0137】
(ステップS13):
ステップS13において、終了条件を満たすか否かの判定処理が実行される。具体的には、第1学習用データ(ネットワークの上流にボトルネックがあると判定された場合に取得される学習用データ)が取得された数(変数iの値に一致)が所定の数(例えば、予め設定した数)以上であり、かつ、第2学習用データ(ネットワークの上流にボトルネックがないと判定された場合に取得される学習用データ)が取得された数(変数jの値に一致)が所定の数(例えば、予め設定した数)以上である場合に、終了条件を満たすと判定し、学習用データ処理を終了させる。一方、上記の終了条件を満たさないと判定された場合、処理をステップS2に戻し、ステップS2~S12A、S12Bの処理を繰り返し実行する。
【0138】
上記のように終了条件を設定することで、所定の数(あるいは所定の割合)の第1学習用データ(ネットワークの上流にボトルネックがあると判定された場合に取得される学習用データ)および第2学習用データ(ネットワークの上流にボトルネックがないと判定された場合に取得される学習用データ)を取得することができる。
【0139】
(1.2.2:学習処理)
次に、通信制御装置100の通信フロー識別処理部3の機械学習モデル部33の学習済みモデルを取得するための学習処理について、説明する。なお、学習処理は、学習処理装置Dev_trを用いて実行される。
【0140】
学習処理装置Dev_trのデータ読み出し部91は、学習用データ生成装置Dev_tr_geneにより生成された学習用データを記憶しているデータ記憶部DB1から、学習用データDset(={D_feat,D_proto_correct,D_app_correct,D_Δf_correct})を読み出す。データ読み出し部91は、読み出した学習用データから、当該学習用データに含まれる、(1)データD_feat(={burst_dur,pk_num,pk_ave_size})、(2)データD_proto_correct、(3)データD_app_correct、および、(4)データD_Δf_correctを取り出す。そして、データ読み出し部91は、取り出した、(1)データD_feat(={burst_dur,pk_num,pk_ave_size})、および、(2)データD_proto_correctを機械学習モデル部92に出力する。また、データ読み出し部91は、取り出した、(3)データD_app_correct、および、(4)データD_Δf_correctを損失評価部93に出力する。
【0141】
機械学習モデル部92は、データ読み出し部91から出力されるデータD_feat(={burst_dur,pk_num,pk_ave_size})(特徴量データ)およびデータD_proto_correct(プロトコルを特定するデータ)を、学習可能モデルの入力として、当該学習可能モデルによる処理を行い、当該学習可能モデルから出力される、アプリケーションの種別を特定(推定)するデータD_appと、当該アプリケーションの通信データの帯域(当該アプリケーションに対応する通信データ(通信フロー)が使用している帯域(例えば、通信レートにより特定される帯域))を特定(推定)するデータD_Δfとを取得する。なお、機械学習モデル部92の学習可能モデルとしては、ランダムフォレストによるモデル、SVM(サポートベクターマシン)によるモデル、K-means法によるモデル、K-means++法によるモデル、ニューラルネットワークによるモデル等を採用する。
【0142】
機械学習モデル部92は、上記により取得したデータD_appおよびデータD_Δfを損失評価部93に出力する。
【0143】
損失評価部93は、(1)機械学習モデル部92から出力されるデータD_ΔfおよびデータD_Δfと、(2)データ読み出し部91から出力されるデータD_app_correctおよびデータD_Δf_correctとを入力する。そして、損失評価部93は、(1)データD_appとデータD_app_correct(正解データ)との間の損失(誤差)、および、(2)データD_ΔfとデータD_Δf_correct(正解データ)との間の損失(誤差)を算出し、算出した損失(誤差)を評価する。なお、上記2つの損失(誤差)を統合した損失(マルチタスク損失)(例えば、上記2つの損失を重み付け加算した値による損失(誤差))として損失(誤差)を評価してもよい。
(1)損失評価部93は、算出した損失(誤差)が所定の範囲内ではない場合(例えば、所定の値よりも大きい場合)、あるいは、機械学習モデル部92の学習可能モデルのパラメータを更新した場合、誤差の変動範囲が所定の範囲外である場合、学習処理を継続させる必要ありと判断し、機械学習モデル部92の学習可能モデルのパラメータを更新するためのデータupdate(θ)を取得し、取得したデータupdate(θ)を機械学習モデル部92に出力する。そして、機械学習モデル部92では、当該データupdate(θ)に基づいて、学習可能モデルのパラメータを更新する処理を行う。
(2)損失評価部93は、算出した損失(誤差)が所定の範囲内である場合(例えば、所定の値以下である場合)、あるいは、機械学習モデル部92の学習可能モデルのパラメータを更新した場合、誤差の変動範囲が所定の範囲内である場合、学習処理が収束したと判断し、機械学習モデル部92の学習可能モデルのパラメータを更新する処理(学習処理)を終了させ、学習処理が終了したときの機械学習モデル部92の学習可能モデルのパラメータθを最適パラメータθoptとして取得する。
【0144】
以上のように学習処理を行うことで、学習処理装置Dev_trは、機械学習モデル部92の学習可能モデルに設定するパラメータの最適パラメータoptを取得する。そして、取得された最適パラメータθoptは、通信制御装置100の通信フロー識別処理部3の機械学習モデル部33の学習モデルのパラメータに設定される。これにより、機械学習モデル部33の学習モデルは、学習済みモデル(最適パラメータθoptが設定されたモデル)となる。なお、学習処理装置Dev_trで学習処理の対象とした学習可能モデルと同様のアーキテクチャのモデルが、通信制御装置100の通信フロー識別処理部3の機械学習モデル部33の学習モデルとして設定されているものとする。
【0145】
(1.2.3:予測処理(通信フロー識別処理))
次に、通信システム1000で実行される予測処理(通信フロー識別処理)について説明する。
【0146】
説明便宜のため、以下では、
図10に示すように、通信システム1000において、3つのサーバである第1サーバSvr1、第2サーバSvr2、および、第3サーバSvr3が設置されており、2つの分散基地局DU1、DU2が設置されており、また、通信システム1000に、分散基地局DU1と通信可能に接続されている端末装置UE1
1、UE2
2と、分散基地局DU2と通信可能に接続されている端末装置UE2
1、UE2
2とが含まれる場合(一例)について、説明する。そして、通信システム1000において、第1サーバSvr1が端末装置UE1
1に対して、アプリケーション1を提供し、第2サーバSvr2が端末装置UE1
2に対して、アプリケーション2を提供し、第3サーバSvr3が端末装置UE2
1に対して、アプリケーション3を提供しているものとする。
【0147】
また、通信システム1000において、
(1)第1サーバSvr1からの通信フロー(アプリケーション1を提供するための通信フロー)は、通常の通信フロー(適応制御可能な通信フローではない通信フロー)(QoS ID#1を要求する通信フローであるものとする)であり、
(2)第2サーバSvr2からの通信フロー(アプリケーション2を提供するための通信フロー)は、通常の通信フロー(適応制御可能な通信フローではない通信フロー)(QoS ID#2を要求する通信フローであるものとする)であり、
(3)第3サーバSvr3からの通信フロー(アプリケーション3を提供するための通信フロー)は、適応制御可能な通信フロー(QoS ID#3を要求する通信フローであるものとする)であるものとする。
【0148】
通信システム1000では、
図9に示すように、多様なQoSを要求するパケット(通信パケット)が流れており、同一のQoSを要求するパケットの集合である通信フロー(QoSフロー)を適切に識別することが重要となる。
【0149】
通信制御装置100では、通信フロー識別処理部3により、フロー識別処理が実行される。具体的には、ネットワークNW1に接続されたサーバから通信制御装置100に送信される多様なトラヒックを構成する多数のパケット(通信パケット)が通信制御装置100の第1通信インターフェース1を介して、バッファBuf1に入力される。なお、セレクタSEL1は、第1通信インターフェース1からのデータD0_nをデータD1としてバッファBuf1に出力するように、選択信号sel1の信号値が設定されているものとする(
図2の場合、選択信号sel1の信号値が「1」に設定されている)。
【0150】
通信フロー識別処理部3は、バッファBuf1に保持されているデータをデータD2として読み出し、当該データD2を用いて、通信データ(通信制御装置100が外部の装置(サーバ)から受信したデータ、および/または、RANから受信したデータ(例えば、端末装置からのデータ))の解析処理を行うことで、通信パケットが属する通信フロー(同一のQoSを要求するパケットの集合)を特定し、通信フローに付与するQoSフローIDを決定することで、通信フロー識別処理を行う。具体的には、以下の処理が実行される。
【0151】
通信フロー識別処理部3の特徴量取得部31は、バッファBuf1から読み出したデータD2を入力し、データD2に対して、特徴量取得処理を行う。具体的には、特徴量取得部31は、同一のサーバ(通信制御装置100で受信した通信パケットの送信元のデータから特定)との通信フローの時間的に連続して通信される複数パケットを時間間隔が一定値以上空いたときに区切って1つの「バースト」として扱い、このバースト単位で、データD2から、バーストの時間長(継続長)(データburst_dur)、バースト内パケット数(データpk_num)、バースト内平均データサイズ(平均パケットサイズ)(データpk_ave_size)を取得する処理(特徴量取得処理)を行う。そして、特徴量取得部31は、特徴量取得処理により取得した特徴量を含むデータを、データD_feat(={burst_dur,pk_num,pk_ave_size})として、機械学習モデル部33に出力する。
【0152】
プロトコル識別処理部32は、バッファBuf1から読み出したデータD2を入力し、データD2に対して、プロトコル識別処理を行う。プロトコル識別処理部32は、プロトコル識別処理を、例えば、アドレスフィルタ処理により行う。なお、アドレスフィルタ処理とは、サーバ(例えば、アプリケーションサーバ)と通信フロー(QoSフロー)識別子(QoS flow ID)とを紐付ける変換表に基づいて、通信フローを特定する処理のことをいう。アプリケーションの種類は、サーバ側のIPアドレス、ポート番号からある程度特定できるため、サーバと通信フロー(QoSフロー)識別子(QoS flow ID)とを紐付ける変換表を基に通信フローの識別(プロトコルの識別)を行うことができる。
【0153】
また、プロトコル識別処理部32は、上記解析処理(例えば、アドレスフィルタ処理)により、通信パケットが属する通信フロー(同一のQoSを要求するパケットの集合)を特定することができない場合、例えば、特願2021-026189号に開示されている手法により、バッファBuf1に記憶される多数のパケット(通信パケット)を用いて、学習処理を行い、受信した通信パケットから通信フローを特定(推定)する学習済みモデルを取得し、当該学習処理により取得した学習済みモデルを用いた処理を行うことで、通信フロー識別処理(通信パケットが属する通信フロー(同一のQoSを要求するパケットの集合)を特定する処理)を行い、プロトコルの識別を行うようにすればよい。
【0154】
プロトコル識別処理部32は、上記のプロトコル識別処理により取得したデータ(識別したプロトコルを特定するデータ)を、データD_protoとして、機械学習モデル部33に出力する。
【0155】
機械学習モデル部33には、学習済みモデルが搭載されており、特徴量取得部31から出力されるデータD_featと、プロトコル識別処理部32から出力されるデータD_protoとが入力される。機械学習モデル部33は、データD_featおよびデータD_protoを、学習済みモデルの入力として、当該学習済みモデルによる処理を行い、アプリケーションの種別を特定(推定)するデータD_appと、当該アプリケーションの通信データの帯域(当該アプリケーションの通信データが使用している帯域(例えば、通信レートにより特定される帯域))を特定(推定)するデータをD_Δfとを取得する。そして、機械学習モデル部33は、取得したデータD_appおよびデータD_ΔfをQoS決定部34に出力する。なお、機械学習モデル部33には、(1)ネットワークの上流にボトルネックがある場合、および、(2)ネットワークの上流にボトルネックがない場合の両方の学習データを使用して、データD_appおよびデータD_Δfを予測するように学習させたモデル(学習済みモデル)が搭載されているので、(1)ネットワークの上流にボトルネックがある場合、および、(2)ネットワークの上流にボトルネックがない場合のいずれの場合であっても、適切に予測(推定)されたデータD_appおよびデータD_Δfを取得することができる。
【0156】
QoS決定部34は、機械学習モデル部33から出力されるデータD_appおよびデータD_Δfを入力する。QoS決定部34は、データD_appおよびデータD_Δfを用いて、QoSフローIDを決定する処理を行い、当該処理により取得したQoSフローIDを含むデータを、データD_QoS_IDとして、U-plane信号処理部4に出力する。なお、QoS決定部34で取得されるQoSフローIDのデータは、品質要求を示す識別子(QoS識別子(QoS ID))とし、QoS識別子の値が大きい程、厳しい品質を要求していることを示すものとする。また、QoS識別子の値がxであるQoS識別子を「QoS ID#x」と表記する。
【0157】
U-plane信号処理部4は、バッファBuf1に保持されているデータをデータD3として読み出す。また、U-plane信号処理部4は、当該データD3に対応するデータであって、通信フロー識別処理部3から出力されるデータD_QoS_ID(データD3に対応する通信フローのQoS識別子QoS_IDを含むデータD_QoS_ID)を入力する。U-plane信号処理部4は、データD3に、データD_QoS_IDから取得したQoS識別子QoS_IDを付与する処理(QoSフローIDの付与処理)を行うことで、データD3にQoS識別子QoS_IDを付与したデータを取得し、取得した当該データを通信データDo_r(U)として、第2通信インターフェース5に出力する。
【0158】
例えば、5G通信システムの場合、U-plane信号処理部4は、通信パケットの5G用ヘッダのQoS flow ID(5QI)を記載するフィールドに、上記で特定されたQoS識別子QoS_IDの値を書き込んだ通信パケットを生成し、当該通信パケットを含むデータを通信データDo_r(U)として、第2通信インターフェース5に出力する。なお、このとき、上記で特定されたQoS識別子QoS_IDの値は、5G通信規格で規定されているQoS flow ID(5QI)の値に準拠するものとなるようにする。
【0159】
なお、U-plane信号処理部4において、
(1)第1サーバSvr1からの通信フロー(アプリケーション1を提供するための通信フロー)については、QoS識別子QoS_IDとして「QoS ID#1」が、当該通信フローの通信データ(パケット)に付与され、
(2)第2サーバSvr2からの通信フロー(アプリケーション2を提供するための通信フロー)については、QoS識別子QoS_IDとして「QoS ID#2」が、当該通信フローの通信データ(パケット)に付与され、
(3)第3サーバSvr3からの通信フロー(アプリケーション3を提供するための通信フロー)については、QoS識別子QoS_IDとして「QoS ID#3」が、当該通信フローの通信データ(パケット)に付与されるものとする。
【0160】
そして、上記のように生成された通信フローの通信データは、第2通信インターフェース5により、RANを介して、当該通信フローの宛先である端末装置に送信される。
【0161】
図10の場合、
(1)第1サーバSvr1からの通信フロー(アプリケーション1を提供するための通信フロー)の送信データは、QoS識別子QoS_IDとして「QoS ID#1」が付与された通信データ(パケット)として、端末装置UE1
1に送信され、
(2)第2サーバSvr2からの通信フロー(アプリケーション2を提供するための通信フロー)の送信データは、QoS識別子QoS_IDとして「QoS ID#2」が付与された通信データ(パケット)として、端末装置UE1
2に送信され、
(1)第3サーバSvr3からの通信フロー(アプリケーション3を提供するための通信フロー)の送信データは、QoS識別子QoS_IDとして「QoS ID#3」が付与された通信データ(パケット)として、端末装置UE2
1に送信される。
【0162】
ここで、所定の時刻t1において、ネットワークの上流にボトルネックが発生した場合(一例)の通信システム1000の動作について説明する。具体的には、
図11に示すように、時刻t1において、第3サーバがアプリケーション3を提供している回線において、ボトルネックが発生した場合(一例)の通信システム1000の動作について説明する。なお、第3サーバがアプリケーション3を提供している回線において、
図7の左図に示すようなバースト形状の通信データが、時刻t1以降、
図7の右図に示すようなバースト形状の通信データに変化したものとする。
【0163】
この場合において、通信フロー識別処理部3の機械学習モデル部33には、
図7の右図に示すようなバースト形状の通信データについての特徴量データD_feat(={burst_dur,pk_num,pk_ave_size})(特徴量取得部31により取得されたデータ)が入力される。機械学習モデル部33の学習済みモデルは、(1)ネットワークの上流にボトルネックがある場合、および、(2)ネットワークの上流にボトルネックがない場合の両方の学習データを使用して、データD_appおよびデータD_Δfを予測(推定)するように学習させたモデル(学習済みモデル)であるので、
図7の右図に示すようなバースト形状の通信データについての特徴量データD_feat(={burst_dur,pk_num,pk_ave_size})が入力された場合、(ネットワークの上流にボトルネックがあることを把握しつつ)、当該通信データのアプリケーションの種別を適切に予測(推定)したデータD_appを取得し、かつ、当該通信データのアプリケーションが使用している帯域を予測(推定)したデータD_Δfを取得することができる(
図7の場合、th1に略等しい帯域を示すデータD_Δfが取得される)。
【0164】
そして、QoS決定部34は、機械学習モデル部33により取得された上記により取得されたデータD_app(アプリケーションの種別を示すデータ)およびデータD_Δfから、QoSフローIDを決定することができる。例えば、QoS決定部34は、時刻t1以前に設定されていた、アプリケーション3の通信フローのQoSフローIDを、より使用帯域が少なくて済む要件のQoSフローIDに変更するように決定する(例えば、QoSフローIDを「QoS ID #3」(要件が厳しいQoSフローID)から「QoS ID #1」(要件が緩いQoSフローID)に変更する)。
【0165】
そして、U-plane信号処理部4は、QoS決定部34が上記処理により取得したQoSフローIDに基づいて、データD3(アプリケーション3に相当する通信フローのデータ)に、データD_QoS_IDから取得したQoS識別子QoS_IDを付与する処理(QoSフローIDの付与処理)を行い、データD3にQoS識別子QoS_IDを付与したデータを取得し、取得した当該データを通信データDo_r(U)として、第2通信インターフェース5に出力する。
【0166】
そして、上記のように生成された通信フローの通信データは、第2通信インターフェース5により、RANを介して、当該通信フローの宛先である端末装置に送信される。
【0167】
これにより、通信システム1000では、例えば、
図12に示すように、時刻t1以降において、アプリケーション3の通信フローのQoSフローIDが下げられ(「QoS ID #3」から「QoS ID #1」に下げられ)、アプリケーション3の通信フローに割り当てられる帯域が削減される(アプリケーション3の実現に最低限必要な帯域を確保しつつ、アプリケーション3の通信フローに割り当てられる帯域が削減される)。その結果、通信システム1000では、各サービス(本実施形態では、アプリケーション1~3)を継続して維持させるための通信リソース(例えば、使用帯域)の割り当て効率良く行うことができる。
【0168】
以上のように、通信システム1000の通信制御装置100では、ネットワークの上流にボトルネックが発生した場合において、ネットワークの上流にボトルネックが発生したことによるバースト形状の変化を通信フロー識別処理部3により検知し、適切に、アプリケーションの種別、使用帯域を予測(推定)することができる。
【0169】
そして、通信システム1000の通信制御装置100では、上記のアプリケーションの種別、使用帯域の推定結果に基づいて、(ネットワーク下流において)適切に帯域を割り当て(確保し)、通信システム1000で実現されているサービスを継続・維持させることができる。
【0170】
すなわち、通信システム1000では、ネットワークの上流にボトルネックがある場合であっても、高精度にアプリケーションを推定し、ネットワーク下流において効率的に(適切に)帯域を割り当てることができる。
【0171】
≪第1変形例≫
次に、第1実施形態の第1変形例について、説明する。なお、上記実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0172】
図13は、第1変形例の通信制御装置の通信フロー識別処理部3Aの概略構成図である。
【0173】
図14は、第1変形例の通信制御装置の通信フロー識別処理部3Aの概略構成図(学習処理時)である。
【0174】
図15は、第1変形例の通信制御装置の通信フロー識別処理部3Aの概略構成図(予測処理時)である。
【0175】
上記実施形態では、通信制御装置100の通信フロー識別処理部3の学習モデルの学習処理がオフライン方式で実行される場合について説明したが、これに限定されることはなく、通信制御装置100の通信フロー識別処理部3の学習モデルの学習処理は、オンライン方式で実現されるものであってもよい。
【0176】
第1変形例では、通信制御装置100の通信フロー識別処理部3の学習モデルの学習処理がオンライン方式で実現されるものである。具体的には、第1変形例の通信システムは、第1実施形態の通信システム1000の通信制御装置100において、通信フロー識別処理部3を、
図13に示す通信フロー識別処理部3Aに置換した構成の通信制御装置を用いて実現される。
【0177】
通信フロー識別処理部3Aは、
図13に示すように、第1実施形態の通信フロー識別処理部3において、機械学習モデル部33を機械学習モデル部33Aに置換し、学習用データ生成装置Dev_tr_geneと、データ記憶部DB2と、データ読み出し部35と、損失評価部36と、セレクタSEL2、SEL3とを追加した構成を有している。
【0178】
機械学習モデル部33Aは、機械学習モデル部33と同様の構成、機能を有しており、セレクタSEL2から出力されるデータD1_featと、セレクタSEL3から出力されるデータD1_protoとを入力する。さらに、機械学習モデル部33Aは、通信制御装置の各機能部を制御する制御部(不図示)から出力される制御信号CTL_modeを入力し、当該制御信号CTL_modeにより、(1)学習処理モードと、(2)予測処理モードとを切り替えることができる。また、機械学習モデル部33Aは、学習可能モデルを有しており、当該学習可能モデルは、損失評価部36から出力されるパラメータ更新データupdate(θ)に従って、パラメータθが更新される。機械学習モデル部33Aでは、(1)制御信号CTL_modeが学習処理モードを示すとき、学習可能モデルの学習処理が実行され、(2)制御信号CTL_modeが予測処理モードを示すとき、学習可能モデル(パラメータθを固定した状態の学習可能モデル)により予測処理が実行される。
【0179】
学習用データ生成装置Dev_tr_geneは、第1実施形態の学習用データ生成装置Dev_tr_geneと同じ構成、機能を有している。なお、第1変形例の学習用データ生成装置Dev_tr_geneでは、データD_featは、データD_feat_trとして、セレクタSEL2に出力される。また、第1変形例の学習用データ生成装置Dev_tr_geneでは、データD_proto_correctは、セレクタSEL3に出力され、データD_proto_correctおよびデータD_Δf_correctは、損失評価部36に出力される。
【0180】
データ記憶部DB2は、第1実施形態のデータ記憶部DB1と同じ構成、機能を有している。
【0181】
データ読み出し部35は、第1実施形態の学習処理装置Dev_trのデータ読み出し部91と同じ構成、機能を有している。
【0182】
損失評価部36は、第1実施形態の学習処理装置Dev_trの損失評価部93と同じ構成、機能を有している。
【0183】
セレクタSEL2は、2入力1出力のセレクタであり、データ読み出し部35から出力されるデータD_feat_trと、特徴量取得部31から出力されるデータD_featと、制御部(不図示)から出力される選択信号sel2とを入力する。セレクタSEL2は、選択信号sel2に従い、データ読み出し部35から出力されるデータD_feat_tr、または、特徴量取得部31から出力されるデータD_featを、データD1_featとして、機械学習モデル部33Aに出力する。
【0184】
セレクタSEL3は、2入力1出力のセレクタであり、データ読み出し部35から出力されるデータD_proto_correctと、プロトコル識別処理部32から出力されるデータD_protoと、制御部(不図示)から出力される選択信号sel1とを入力する。セレクタSEL3は、選択信号sel3に従い、データ読み出し部35から出力されるデータD_proto_correct、または、プロトコル識別処理部32から出力されるデータD_protoを、データD1_protoとして、機械学習モデル部33Aに出力する。
【0185】
以上のように構成された通信フロー識別処理部3Aの動作について、説明する。
【0186】
(学習処理):
学習処理時において、通信フロー識別処理部3Aでは、
図14に示すように、データD2が学習用データ生成装置Dev_tr_geneに入力され、学習用データ生成装置Dev_tr_geneは、第1実施形態と同様の処理を実行し、データDsetを取得し、データ記憶部DB2に記憶する。
【0187】
データ読み出し部35は、第1実施形態と同様に、学習用データDsetをデータ記憶部DB1から読み出し、当該データDsetから、データD_feat_tr、データD_proto_correct、データD_app_correct、および、データD_Δf_correctを取得する。そして、データ読み出し部35は、取得したデータD_feat_trをセレクタSEL2に出力し、データD_proto_correctをセレクタSEL3に出力し、データD_app_correctおよびデータD_Δf_correctを損失評価部36に出力する。
【0188】
セレクタSEL2は、制御部(不図示)からの選択信号sel2(学習処理モードにおいて、選択信号sel2は、信号値「0」に設定されているものとする)に従い、データ読み出し部35から出力されるデータD_feat_trを、データD1_featとして、機械学習モデル部33Aに出力する。
【0189】
セレクタSEL3は、制御部(不図示)からの選択信号sel3(学習処理モードにおいて、選択信号sel3は、信号値「0」に設定されているものとする)に従い、データ読み出し部35から出力されるデータD_proto_correctを、データD1_protoとして、機械学習モデル部33Aに出力する。
【0190】
機械学習モデル部33Aは、制御部(不図示)からの制御信号CTL_modeに従い、学習処理モードに設定し、学習処理を行う。機械学習モデル部33Aは、セレクタSEL2からのデータD1_featと、セレクタSEL3からのデータD1_protoとを入力として、第1実施形態と同様に、学習可能モデルによる処理を行い、学習可能モデルから出力されるデータD_appおよびデータD_Δfを損失評価部36に出力する。
【0191】
損失評価部36は、機械学習モデル部33Aから出力されるデータD_appおよびデータD_Δfと、データ読み出し部35から出力されるデータD_app_correctおよびデータD_Δf_correctとを用いて、第1実施形態の学習処理装置Dev_trの損失評価部93と同様の処理を行い、パラメータ更新データupdate(θ)を取得する。そして、損失評価部36は、取得したパラメータ更新データupdate(θ)を出力する。
【0192】
機械学習モデル部33Aは、損失評価部36からのパラメータ更新データupdate(θ)により、学習可能モデルのパラメータθを更新する。
【0193】
損失評価部36が、学習処理が収束したと判定するまで、上記の処理(学習処理)を行う。
【0194】
そして、損失評価部36が、学習処理が収束したと判定した場合、その時点において、機械学習モデル部33Aの学習可能モデルのパラメータθを最適パラメータθoptとして固定する。
【0195】
(予測処理):
予測処理時において、通信フロー識別処理部3Aでは、
図15に示すように、データD2が特徴量取得部31およびプロトコル識別処理部32に入力され、特徴量取得部31およびプロトコル識別処理部32において、第1実施形態と同様の処理が実行される。特徴量取得部31により取得されたデータD_featは、セレクタSEL2に出力され、プロトコル識別処理部32により取得されたデータD_protoは、セレクタSEL3に出力される。
【0196】
セレクタSEL2は、制御部(不図示)からの選択信号sel2(予測処理モードにおいて、選択信号sel2は、信号値「1」に設定されているものとする)に従い、特徴量取得部31から出力されるデータD_featを、データD1_featとして、機械学習モデル部33Aに出力する。
【0197】
セレクタSEL3は、制御部(不図示)からの選択信号sel3(学習処理モードにおいて、選択信号sel3は、信号値「1」に設定されているものとする)に従い、プロトコル識別処理部32から出力されるデータD_protoを、データD1_protoとして、機械学習モデル部33Aに出力する。
【0198】
機械学習モデル部33Aは、制御部(不図示)からの制御信号CTL_modeに従い、予測処理モードに設定し、予測処理(パラメータがθoptに固定されている学習モデルを用いて予測処理)を行う。機械学習モデル部33Aは、セレクタSEL2からのデータD1_featと、セレクタSEL3からのデータD1_protoとを入力として、第1実施形態と同様に、パラメータがθoptに固定されている学習可能モデル(第1実施形態の学習済みモデルに相当)による処理を行い、当該学習可能モデルから出力されるデータD_appおよびデータD_ΔfをQoS決定部34に出力する。
【0199】
QoS決定部34は、機械学習モデル部33Aから出力されるデータD_appおよびデータD_Δfに対して、第1実施形態と同様の処理を行い、データD_QoS_IDを取得し、取得したデータD_QoS_IDをU-plane信号処理部4に出力する。
【0200】
以降の処理は、第1実施形態と同様である。
【0201】
以上により、本変形例の通信制御装置では、通信フロー識別処理部3の学習モデルの学習処理をオンライン方式で実現することができる。
【0202】
そして、第1変形例の通信制御装置において、処理モード(学習処理モード、および、予測処理モード)を、例えば、所定の周期で切り替えて運用することで、通信フロー識別処理部3の学習モデルの学習処理をオンライン方式で実現しつつ、第1実施形態と同様の通信フロー識別処理(予測処理)を実行することができる。
【0203】
≪第2変形例≫
次に、第1実施形態の第2変形例について、説明する。なお、上記実施形態(変形例を含む)と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0204】
図16は、第2変形例の学習用データ生成装置Dev_tr_geneAの概略構成図である。
【0205】
第2変形例の学習用データ生成装置Dev_tr_geneAでは、キャプチャデータ解析部82の上流ボトルネック検出部で検出されたデータdet_upper_bneckを学習用データとして記憶させる。この点が、第1実施形態の学習用データ生成装置Dev_tr_geneと相違する。
【0206】
第2変形例の学習用データ生成装置Dev_tr_geneAは、
図16に示すように、第1実施形態の学習用データ生成装置Dev_tr_geneにおいて、キャプチャデータ解析部82をキャプチャデータ解析部82Aに置換し、学習用データ生成処理部85を学習用データ生成処理部85Aに置換した構成を有している。それ以外について、第2変形例の学習用データ生成装置Dev_tr_geneAは、第1実施形態の学習用データ生成装置Dev_tr_geneと同様である。
【0207】
キャプチャデータ解析部82Aは、
図16に示すように、キャプチャデータ解析部82の上流ボトルネック検出部は、検出したデータdet_upper_bneckをデータ抽出部83および学習用データ生成処理部85Aに出力する。
【0208】
学習用データ生成処理部85Aは、第1実施形態の学習用データ生成処理部85と同様の機能、構成を有しており、キャプチャデータ解析部82Aから出力されるデータD_proto_correct、データD_app_correct、データD_Δf_correct、および、データdet_upper_bneckを入力し、当該データをまとめて学習用データDset(={D_proto_correct,D_app_correct,D_Δf_correct,det_upper_bneck})を生成し、生成した学習用データDset(={D_proto_correct,D_app_correct,D_Δf_correct,det_upper_bneck})をデータ記憶部DB1に記憶させる。
【0209】
第2変形例の学習用データ生成装置Dev_tr_geneAでは、上記のように、ネットワークの上流にボトルネックがある場合に取得されたデータであるか否かを示すデータdet_upper_bneckを含めた学習用データを生成し、データ記憶部DB1に記憶させる。例えば、学習処理を行う場合において、データ記憶部DB1から学習用データ(学習用データ生成装置Dev_tr_geneAにより生成した学習用データ)を読み出すときに、そのデータが、ネットワークの上流にボトルネックがある場合に取得されたデータであるか否かを、データdet_upper_bneckの値を調べることで把握できる。したがって、例えば、学習処理において、ネットワークの上流にボトルネックがある場合に取得されたデータと、ネットワークの上流にボトルネックがない場合に取得されたデータとの割合を所定の割合したデータセットにより、学習処理(学習可能モデルの学習)を行うことができる。
【0210】
[他の実施形態]
上記実施形態(変形例を含む)における通信システム1000、通信制御装置100の構成、配置、数等は一例であり、上記実施形態(変形例を含む)に限定されることはなく、他の構成、配置、数であってもよい。例えば、データ記憶部DB1、DB2は、通信制御装置100の外部に設置されるものであってもよい。
【0211】
また、上記実施形態(変形例を含む)では、通信システム1000が5G(第5世代移動通信システム)に準拠した通信システムを想定しており、通信制御装置100は、例えば、5Gコア装置に対応するものを想定しているが、これに限定されることはなく(5G(第5世代移動通信システム)に準拠した通信システムに限定されることなく)、本発明は、他の通信システムにも適用できる。つまり、本発明は、QoS制御を実現できる通信インフラを提供するシステム(通信システム)において、上記で説明した処理と同様の処理を行うことで適用される。
【0212】
≪4G/LTEへの適用≫
例えば、4G/LTE(第4世代移動通信システム、LTE(Long Term Evolution))に準拠した通信システムにおいても、通信フロー(QoSフロー)が定義されているので、上記と同様にして、通信フロー(QoSフロー)についての識別処理(アプリケーション種別、使用帯域の学習処理、予測処理)を行うようにしてもよい。
【0213】
≪無線LANへの適用≫
また、例えば、優先制御方式(例えば、EDCA(Enhanced Distributed Channel Access))を採用している無線LANの通信システムにおいて、本発明を適用してもよい。例えば、EDCA方式(優先制御方式)を採用している無線LANの通信システムにおいて、無線フレーム送信において、EDCAパラメータにより、無線フレームの送信の優先度が決定されるので、このEDCAパラメータによる優先度を用いて、上記実施形態と同様に、通信フロー(QoSフロー)についての識別処理(アプリケーション種別、使用帯域の学習処理、予測処理)を行うようにしてもよい。
【0214】
≪DiffServを採用するネットワークへの適用≫
また、例えば、優先制御方式(例えば、DiffServ)を採用しているIPネットワーク(IP:Internet Protocol)の通信システムにおいて、本発明を適用してもよい。例えば、DiffServ(優先制御方式)を採用しているIPネットワークの通信システムでは、通信フロー(同一QoSを要求する通信フロー(QoSフロー))が定義されているので、上記実施形態と同様に、通信フロー(QoSフロー)についての識別処理(アプリケーション種別、使用帯域の学習処理、予測処理)を行うようにしてもよい。
【0215】
また、上記実施形態では、通信制御装置100が単独の装置であることを想定して説明したが、これに限定されることはなく、通信制御装置100は、複数の装置により実現されるものであってもよい。例えば、通信制御装置100は、通信フロー識別処理を行う装置、ネットワークの状態を検出する装置等により、実現されるものであってもよい。
【0216】
また、上記実施形態で説明した通信システム1000、および/または、通信制御装置100において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0217】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0218】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0219】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0220】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0221】
例えば、上記実施形態の各機能部を、ソフトウェアにより実現する場合、
図17に示したハードウェア構成(例えば、CPU(GPUであってもよい)、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【0222】
また、上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、
図17に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
【0223】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。また、上記実施形態における処理方法において、発明の要旨を逸脱しない範囲で、一部のステップが、他のステップと並列に実行されるものであってもよい。
【0224】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0225】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0226】
また、本明細書内の記載、特許請求の範囲の記載において、「最適化」(あるいは「最適」)とは、最も良い状態にすることをいい、システム(モデル)を「最適化」するパラメータ(あるいは「最適パラメータ」)とは、当該システムの目的関数の値が最適値となるときのパラメータのことをいう。「最適値」は、システムの目的関数の値が大きくなるほど、システムが良い状態となる場合は、最大値であり、システムの目的関数の値が小さくなるほど、システムが良い状態となる場合は、最小値である。また、「最適値」は、極値であってもよい。また、「最適値」は、所定の誤差(測定誤差、量子化誤差等)を許容するものであってもよく、所定の範囲(十分収束したとみなすことができる範囲)に含まれる値であってもよい。
【0227】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0228】
1000 通信システム
100 通信制御装置
Dev_tr_gene、Dev_tr_geneA 学習用データ生成装置
Dev_tr 学習処理装置
3、3A 通信フロー識別処理部
31 特徴量取得部
32 プロトコル識別処理部
33、33A 機械学習モデル部