(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189356
(43)【公開日】2022-12-22
(54)【発明の名称】パケット処理装置及びパケット処理方法
(51)【国際特許分類】
H04L 47/56 20220101AFI20221215BHJP
【FI】
H04L12/875
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021097898
(22)【出願日】2021-06-11
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】嶌田 長生
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA02
5K030LA03
5K030LC11
(57)【要約】
【課題】高優先パケットの到着タイミングが重なった場合でも、高優先パケットの衝突遅延を抑制できるパケット処理装置等を提供する。
【解決手段】パケット処理装置は、複数の格納部と、ゲートと、制御部と、算出部と、振分部と、更新部とを有する。格納部は、同一グループ内の出力ポート毎に、高優先フロー又は低優先フロー毎のパケットを格納する。ゲートは、各格納部の出力を開閉する。制御部は、ゲート情報に基づき、高優先フローの高優先パケットを優先出力すべく、ゲートを制御する。算出部は、出力ポート毎に、高優先パケット同士の到着タイミングが重なる高優先パケットの理論上の衝突回数を算出する。振分部は、算出した理論上の衝突回数が少なくなるように衝突の高優先フローをLAG方式で同一グループ内の他の出力ポートに振り分ける。更新部は、振分内容に基づき、ゲート情報の内容を更新する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
同一グループ内の出力ポート毎に、高優先フロー又は低優先フロー毎のパケットを格納する複数の格納部と、
各格納部の出力を開閉するゲートと、
前記ゲートを制御するゲート情報に基づき、前記高優先フローの高優先パケットを優先出力すべく、前記ゲートの開閉を制御する制御部と、
前記出力ポート毎に、前記高優先パケット同士の到着タイミングが重なる前記高優先パケットの理論上の衝突回数を算出する算出部と、
前記算出部にて算出した前記理論上の衝突回数が少なくなるように衝突の高優先フローをリンクアグリゲーション方式で前記同一グループ内の他の出力ポートに振り分ける振分部と、
前記振分部の振分内容に基づき、前記ゲート情報の内容を更新する更新部と、
を有することを特徴とするパケット処理装置。
【請求項2】
前記算出部は、
前記ゲート情報の更新タイミングを検出すると、前記出力ポート毎に、高優先パケット同士の到着タイミングが重なる高優先パケットの理論上の衝突回数を算出することを特徴とする請求項1に記載のパケット処理装置。
【請求項3】
前記高優先フロー毎に振分先の出力ポートを管理するポート振分情報を記憶部に記憶しておき、
前記更新部は、
前記振分内容に基づき、振分後の前記高優先フローに対応付けた当該振分後の出力ポートに関する内容に前記ポート振分情報の内容を更新することを特徴とする請求項2に記載のパケット処理装置。
【請求項4】
前記振分部は、
前記算出した前記衝突回数が最大の出力ポートを選択するポート選択部と、
前記ポート選択部にて選択された前記出力ポートから振分対象の衝突の高優先フローを選択するフロー選択部と、
前記フロー選択部にて選択された前記衝突の前記高優先フローを前記同一グループ内の他の出力ポートに振り分けるポート振分部と、
を有することを特徴とする請求項1~3の何れか一つに記載のパケット処理装置。
【請求項5】
前記更新部は、
前記振分部にて振分後の出力ポートの理論上の衝突回数が前記振分部にて振分前の出力ポートの理論上の衝突回数よりも少なくなる場合に、当該振分後の出力ポートの振分内容に基づき、前記ゲート情報の内容を更新することを特徴とする請求項1~4の何れか一つに記載のパケット処理装置。
【請求項6】
同一グループ内の出力ポート毎に、高優先フロー又は低優先フロー毎のパケットを格納する複数の格納部と、
各格納部の出力を開閉するゲートと、
前記ゲートを制御するゲート情報に基づき、前記高優先フローの高優先パケットを優先出力すべく、前記ゲートの開閉を制御する制御部と、を有するパケット処理装置が実行するパケット処理方法であって、
前記パケット処理装置は、
前記出力ポート毎に、前記高優先パケット同士の到着タイミングが重なる前記高優先パケットの理論上の衝突回数を算出し、
算出した前記理論上の衝突回数が少なくなるように衝突の高優先フローをリンクアグリゲーション方式で前記同一グループ内の他の出力ポートに振り分け、
前記出力ポート毎に前記衝突の高優先フローを振り分ける振分内容に基づき、前記ゲート情報の内容を更新する
処理を実行することを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット処理装置及びパケット処理方法に関する。
【背景技術】
【0002】
例えば、第5世代移動通信(5G)ネットワークは、例えば、DU(Distributed Unit)又はRRH(Remote Radio Head)等の無線アンテナ局と、例えば、CU(Central Unit)又はBBU(Baseband Unit)等の基地局装置とを有する。5Gネットワークでは、無線アンテナ局と基地局装置との間に設定されるMFH(Mobile Front Haul)回線と、基地局装置とメトロ・コアネットワークとの間に設定されるMBH(Mobile Back Haul)回線とを有する。
【0003】
5Gネットワークは、例えば、音声や遠隔医療の通信データ等の高いリアルタイム性のデータが含まれるMFHパケット等の高優先パケットを含む高優先フローと、データ通信等の非MFHパケット等の低優先パケットを含む低優先フローとを混在して収容する。MFHパケットは、例えば、0.25ミリ秒以内の低遅延が求められている。このため、パケット処理装置は、非MFHパケットと比較して、MFHパケットを優先的に処理する優先制御機能が必要となる。
【0004】
そこで、例えば、IEEE(Institute of Electrical and Electronics Engineers)802.1TSN(Time Sensitive Networking)が検討されている。TSNには、パケットの出力遅延を抑制するデータプレーン機能としてIEEE802.1QbvというTAS(Time Aware Shaper)方式が知られている。
【0005】
TAS技術によると、パケットのクラス毎に設けられたゲートの開閉をゲートコントロールリスト(GCL:Gate Control List)に基づいて制御することができる。GCLには、タイムスロット毎に各ゲートの開閉が設定されている。このため、GCLをMFHパケットのトラフィックパターンに基づき生成する場合、レイヤ2スイッチはMFHパケットを優先的に転送することができる。
【0006】
そこで、TAS技術では、マイクロ秒オーダの非常にセンシティブなゲート開閉を設定するGCLを作成し、GCLを維持する仕組が必要となる。そこで、主信号からパケットのタイミングを取得し、パケット処理装置が周期・位相等を自律学習し、GCLを修正するiTAS技術が提案されている。
【0007】
このiTAS技術を採用したパケット処理装置では、複数の格納部と、開閉部と、収集部と、解析部と、制御部とを有する。格納部は、受信フローの種別毎に受信パケットを格納するキューである。尚、受信フローの種別としては、高優先フロー及び低優先フロー等である。開閉部は、各格納部の出力を開閉するゲートである。収集部は、高優先フローのタイムスロット毎のパケット量を収集する。解析部は、高優先フローのタイムスロット毎のパケット量に基づき、高優先フローの周期性パターンを特定する。制御部は、解析部にて特定された高優先フローの周期性パターンに基づき、高優先フローを優先的に出力するタイムスロット区間を特定し、特定されたタイムスロット区間の各開閉部の開閉を制御する。その結果、高優先フローを優先出力することで、高優先フローの出力遅延を抑制できる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2020-162032号公報
【特許文献2】特開2020-195020号公報
【特許文献3】特開2020-48045号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来のパケット処理装置では、例えば、複数の入力ポートと、単一の出力ポートとを備え、複数の入力ポートから高優先フローを受信した場合、高優先フローの高優先パケットの到着タイミングが重なるケースが発生する。高優先パケットの到着タイミングが重なり、かつ、出力ポートが同じ場合には、遅延無しで単一の出力ポートから出力できる高優先パケットは1個のみであるため、他の高優先パケットは衝突遅延が発生する。
【0010】
図20は、従来のパケット処理装置の衝突遅延発生の一例を示す説明図である。
図20に示すパケット処理装置100は、4個の入力ポートと、1個の出力ポートとを有する。更に、パケット処理装置100は、出力パケットを対向装置100Aに出力する。そして、対向装置100Aは、パケット処理装置100から受信したパケットを受信フローに応じた各宛先ポートに出力することになる。
【0011】
パケット処理装置100の入力ポートは、高優先フローX1を入力する第1の入力ポートと、高優先フローX2を入力する第2の入力ポートと、高優先フローX3を入力する第3の入力ポートと、低優先フローY1を入力する第4の入力ポートとを有する。
【0012】
尚、説明の便宜上、例えば、TS(Time Slot)が“1”のタイミングで高優先パケットX1、X2及び低優先パケットY1、TS“2”のタイミングで低優先パケットY1を入力する。更に、TS“3”のタイミングで高優先パケットX3及び低優先パケットY1、TS“4”のタイミングで低優先パケットY1、TS“5”のタイミングで低優先パケットY1を入力する。更に、TS“6”のタイミングで高優先パケットX1、X2及び低優先パケットY1、TS“7”のタイミングで低優先パケットY1、TS“8”のタイミングで高優先パケットX3及び低優先パケットY1を入力する。更に、TS“9”のタイミングで低優先パケットY1…の順に入力するものとする。
【0013】
パケット処理装置100では、X1→X2→X3→Y1→Y1→X1→X2→X3→Y1→Y1…等の順に単一の出力ポートから順次出力する。その結果、対向装置100Aは、X1→X2→X3→Y1→Y1→X1→X2→X3→Y1→Y1…等の順に受信し、受信順序に応じて受信フローに応じた各宛先ポートに順次出力することになる。
【0014】
つまり、パケット処理装置100は、例えば、TS“1”のタイミングで高優先フローX1及びX2の到着タイミングが重なった場合、出力ポートが単一であるため、出力ポートから高優先パケットX1を出力した後、高優先パケットX2を出力する。その結果、高優先パケットX2に衝突遅延が発生してしまう。つまり、同一ポートを宛先とする複数の高優先パケットの到着タイミングが重なると、先頭で出力するパケット以外は、高優先パケットの衝突遅延が発生する。
【0015】
一つの側面では、高優先パケットの到着タイミングが重なった場合でも、高優先パケットの衝突遅延を抑制できるパケット処理装置及びパケット処理方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
一つの態様のパケット処理装置は、複数の格納部と、ゲートと、制御部と、算出部と、振分部と、更新部とを有する。格納部は、同一グループ内の出力ポート毎に、高優先フロー又は低優先フロー毎のパケットを格納する。ゲートは、各格納部の出力を開閉する。制御部は、ゲートを制御するゲート情報に基づき、高優先フローの高優先パケットを優先出力すべく、ゲートの開閉を制御する。算出部は、出力ポート毎に、高優先パケット同士の到着タイミングが重なる高優先パケットの理論上の衝突回数を算出する。振分部は、算出部にて算出した理論上の衝突回数が少なくなるように衝突の高優先フローをリンクアグリゲーション方式で同一グループ内の他の出力ポートに振り分ける。更新部は、振分部の振分内容に基づき、ゲート情報の内容を更新する。
【発明の効果】
【0017】
一つの態様では、高優先パケットの到着タイミングが重なった場合でも、高優先パケットの衝突遅延を抑制できる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、実施例1の通信システムの一例を示す説明図である。
【
図2】
図2は、実施例1のパケット処理装置の構成の一例を示す説明図である。
【
図3】
図3は、衝突制御部の構成の一例を示す説明図である。
【
図4】
図4は、高優先フローの統計情報の一例を示す説明図である。
【
図5】
図5は、高優先フローの周期性パターンの一例を示す説明図である。
【
図6】
図6は、ポート振分テーブルのテーブル内容の一例を示す説明図である。
【
図7】
図7は、出力ポート単位の理論上の衝突回数の一例を示す説明図である。
【
図8】
図8は、ハッシュ計算結果に基づくポート振分の一例を示す説明図である。
【
図9】
図9は、振分後の各出力ポートの理論上の衝突回数の一例を示す説明図である。
【
図10】
図10は、振分内容を反映した各出力ポートのGCLの一例を示す説明図である。
【
図11】
図11は、第1の振分処理に関わるパケット処理装置の処理動作の一例を示すフローチャートである。
【
図12】
図12は、実施例1のパケット処理装置の課題の一例を示す説明図である。
【
図13】
図13は、実施例2のパケット処理装置の構成の一例を示す説明図である。
【
図14】
図14は、衝突制御部の構成の一例を示す説明図である。
【
図15】
図15は、出力ポート単位の理論上の衝突回数の一例を示す説明図である。
【
図16】
図16は、振分後の各出力ポートの理論上の衝突回数の一例を示す説明図である。
【
図17】
図17は、振分内容を反映した各出力ポートのGCLの一例を示す説明図である。
【
図18】
図18は、実施例2のパケット処理装置のパケット出力の一例を示す説明図である。
【
図19】
図19は、第2の振分処理に関わるパケット処理装置の処理動作の一例を示すフローチャートである。
【
図20】
図20は、従来のパケット処理装置の衝突遅延発生の一例を示す説明図である。
【発明を実施するための形態】
【0019】
以下、図面に基づいて、本願の開示するパケット処理装置及びパケット処理方法の実施例を詳細に説明する。尚、各実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例0020】
図1は、実施例1の通信システム1の一例を示す説明図である。
図1に示す通信システム1は、MBH回線2Aと、MFH回線2Bと、バックボーン回線2Cとを有する。MBH回線2Aは、複数の基地局(eNB:evolved Node B)3間を接続する回線である。基地局3は、無線アンテナを通じて無線端末4と無線で接続する。MFH回線2Bは、RRH5とBBU6との間を接続する回線である。RRH5は、無線端末4と無線で接続する。MFH回線2Bは、RRH5とBBU6との間で無線信号をL2フレームのMFHパケットで伝送するCPRI方式を採用している。バックボーン回線2Cは、MBH回線2A及びMFH回線2Bの他に、他の有線ネットワークと接続し、MBH回線2AからのMBHフローのMBHパケット、MFH回線2BからのMFHフローのMFHパケット等の各種パケットを伝送する。MFHパケットは、MBHパケットに比較して出力遅延の抑制が強く求められている。
【0021】
BBU6は、無線区間のスケジューリング機能を有する。スケジューリング機能は、1サブフレームに送信すべき、例えば、ユーザデータ、符号化率及び変調方式等の各種要素を決定する機能である。BBU6は、ユーザデータをL2フレームに分割してMFHパケットをRRH5宛に伝送する。つまり、BBU6は、サブフレーム間隔、例えば、0.25ミリ秒毎にMFHパケットをRRH5宛に伝送する。尚、MFHの無線レイヤでは、データパケットを固定サイズ(TTI:Transmission Time Interval)のサブフレームに載せて伝送している。従って、データパケットは、サブフレーム単位に先頭から前詰めされるため、サブフレームと同じ周期性を有する。サブフレームの周期は5Gネットワークでは、例えば、0.25ミリ秒である。また、RRH5は、受信した無線信号のユーザデータをL2フレームに分割してMFHパケットをBBU6宛に伝送する。
【0022】
バックボーン回線2Cは、複数のパケットスイッチ7を配置し、MBH回線2AからのMBHパケットや、MFH回線2BからのMFHパケットを伝送する回線である。更に、パケットスイッチ7は、MBHパケット及びMFHパケットの他に、様々なパケットを伝送する。パケットスイッチ7は、IEEE802.1QbvのTAS(Time Aware Shaper)方式を適用し、MFHパケットを高優先フローの高優先パケットとして出力する。パケットスイッチ7は、複数のパケット処理装置10を内蔵しているものとする。
【0023】
図2は、実施例1のパケット処理装置10の構成の一例を示す説明図である。
図2に示すパケット処理装置10は、入力部11と、パケットスイッチ12と、出力部13とを有する。入力部11は、例えば、4個の入力ポート11Aを有する。パケットスイッチ12は、入力ポート11Aからの各フローを各グループの出力部13に振り分ける。尚、フローは、例えば、高優先フロー又は低優先フローである。
【0024】
出力部13は、後述するリンクアグリゲーション(LAG)のグループ毎に準備されるものとする。出力部13は、#Aの出力ポート20A(20)と、#Bの出力ポート20B(20)とを有する。各出力ポート20は、第1のキュー21Aと、第2のキュー21Bと、第1のゲート22Aと、第2のゲート22Bと、セレクタ23とを有する。第1のキュー21Aは、高優先フローの高優先パケットを一時的に蓄積する格納部である。第2のキュー21Bは、低優先フローの低優先パケットを一時的に蓄積する格納部である。第1のゲート22Aは、第1のキュー21Aに蓄積中の高優先パケットの出力を開閉するゲートである。第2のゲート22Bは、第2のキュー21Bに蓄積中の低優先パケットの出力を開閉するゲートである。セレクタ23は、第1のゲート22A又は第2のゲート22Bの出力を選択して出力する。尚、MFHパケットは高優先パケットであるのに対し、MBHパケット等の非MFHパケットは低優先パケットである。その結果、パケット処理装置10は、MFHパケットを優先的に出力することで、非MFHパケットとの間の競合を回避してMFHパケットの出力遅延を抑制できる。
【0025】
パケット処理装置10は、収集部14と、解析部15と、グループ振分部16と、生成部17と、制御部18と、衝突制御部19と、更新タイマ35とを有する。更に、パケット処理装置10は、グループ管理テーブル31と、ポート振分テーブル32と、ポートグループ対応テーブル33と、GCL(Gate Control List)34とを有する。
【0026】
収集部14は、高優先フロー内の高優先パケットの統計情報を収集する。統計情報は、TS毎の高優先フローの受信パケット量である。尚、パケット量は、例えば、パケット数やバイト数である。更に、収集部14は、受信フローの制御情報からフロー識別情報を収集する。フロー識別情報は、高優先フローを識別する情報、例えば、識別番号である。解析部15は、高優先フローの高優先パケットの統計情報を解析し、高優先パケットの周期性及びパターン等の周期性パターンを特定する。解析部15は、高優先パケットの到着間隔(周期性)及びパターン(平均到着量、バーストの揺らぎ度合)を学習する。解析部15は、高優先フローを識別するフロー識別情報毎に周期性パターンを特定する。
【0027】
グループ管理テーブル31は、高優先フローのフロー識別情報毎に、振り分ける出力部13のグループを識別するグループ識別情報を管理するテーブルである。フロー識別情報は、例えば、高優先フローX1,X2,X3又は低優先フローY1を識別する情報である。グループ識別情報は、出力部13のグループを識別する情報である。
【0028】
ポート振分テーブル32は、フローを識別するフロー識別情報毎に、振分先の出力ポート20を識別するポート識別情報を管理するテーブルである。ポート識別情報は、振分先の出力ポート20を識別する情報である。尚、ポート振分テーブル32は、オペレータ設定又は学習設定等の運用設定で内容が更新されるものである。
【0029】
ポートグループ対応テーブル33は、出力部13に割り当てられたグループを識別するグループ識別情報毎に、当該グループの出力部13内の各出力ポート20を識別するポート識別情報を管理するテーブルである。
【0030】
GCL34は、出力部13毎の出力ポート20毎に準備し、TS毎に第1のゲート22A及び第2のゲート22Bの開閉情報を管理するリストである。TSは、受信パケットのTS(Time Slot)を識別する番号である。第1のゲート22Aの開閉情報は、第1のゲート22Aの開(O)/閉(C)状態を示すゲートの開閉を制御する情報である。第2のゲート22Bの開閉情報は、第2のゲート22Bの開/閉状態を示すゲートの開閉を制御する情報である。TSは、1~Nまでの範囲で適宜変更可能である。
【0031】
グループ振分部16は、解析部15から受信フローのフロー識別情報を取得した場合、グループ管理テーブル31を参照し、受信フローのフロー識別情報に対応するグループ識別情報を取得する。パケットスイッチ12は、受信フローのフロー識別情報を取得した場合、グループ管理テーブル31を参照し、受信フローのフロー識別情報に対応するグループ識別情報を特定し、受信フローをグループ識別情報に対応するグループの出力部13に出力する。
【0032】
生成部17は、グループ振分部16から受信フローのフロー識別情報を取得した場合、ポート振分テーブル32を参照し、フロー識別情報に対応したポート識別情報を特定する。更に、生成部17は、ポートグループ対応テーブル33を参照し、ポート識別情報に対応したグループ識別情報を特定する。生成部17は、特定されたグループ識別情報に対応するGCL34内の開閉情報として、高優先フローの周期性パターンに基づき、TS毎の第1のゲート22A及び第2のゲート22Bの開閉情報を生成する。
【0033】
制御部18は、グループ識別情報に対応するGCL34に基づき、グループ識別情報に対応する出力部13内の各出力ポート20内の第1のゲート22A及び第2のゲート22Bを開閉制御する。衝突制御部19は、同一グループ内の高優先フロー同士の高優先パケットの到着タイミングが重なる高優先パケットの衝突を抑制する制御部である。
【0034】
図3は、衝突制御部19の構成の一例を示すブロック図である。
図3に示す衝突制御部19は、算出部41と、振分部42と、更新部43とを有する。算出部41は、同一グループ内の出力ポート20毎の高優先フロー同士の高優先パケットの送信スケジュールを算出する。算出部41は、各出力ポート20の送信スケジュールに基づき、同一グループ内の出力ポート20毎に、高優先フロー同士の高優先パケットの到着タイミングが重なる高優先パケットの理論上の衝突回数を算出する。振分部42は、算出部41にて算出した理論上の衝突回数が少なくなるように衝突の高優先パケットをリンクアグリゲーション(LAG)方式で同一グループ内の他の出力ポート20に振り分ける。振分部42は、ハッシュ計算部42Aと、ポート振分部42Bとを有する。ハッシュ計算部42Aは、高優先パケットの衝突を回避すべく、LAGの出力ポート分散技術を採用して高優先フローを送信する端末装置のMACアドレスのmod2演算でハッシュ計算する。ハッシュ計算結果は、各高優先フローを同一グループの各出力ポートに振り分ける値である。ポート振分部42Bは、ハッシュ計算部42Aの計算結果に基づき振分先の出力ポート20を選択する。ポート振分部42Bは、同一グループ内の選択した出力ポート20に衝突の高優先フローを振り分ける。
【0035】
更新部43は、振分部42の振分内容に応じてポート振分テーブル32の内容を更新する。尚、振分内容は、振分部42にて衝突の高優先フローを出力ポート20に振り分けた際の出力ポート毎の各高優先フローの振分内容である。更に、更新部43は、振分部42の振分内容に応じて同一グループ内の各出力ポート20の開閉情報を生成し、生成した開閉情報としてGCL34の内容を更新する。
【0036】
図4は、高優先フローの統計情報の一例を示す説明図である。収集部14は、各高優先フローの統計情報を収集する。例えば、高優先フローX1の統計情報は、TSの“1”及び“6”のタイミングで高優先パケットが発生する。高優先フローX2の統計情報も、TSの“1”及び“6”のタイミングで高優先パケットが発生する。高優先フローX3の統計情報は、TSの“3”及び“8”のタイミングで高優先パケットが発生する。つまり、高優先フローX1及びX2では、同一のTSの“1”及び“6”のタイミングで衝突遅延が発生することになる。
【0037】
図5は、高優先フローの周期性パターンの一例を示す説明図である。解析部15は、
図4に示す高優先フローの統計情報に基づき、各高優先フローの周期及び位相である周期性パターンを特定する。例えば、高優先フローX1は、TSの“1”及び“6”のタイミングで高優先パケットが発生するため、周期は“5”、位相は周期の開始TS“1”である。高優先フローX2も、TSの“1”及び“6”のタイミングで高優先パケットが発生するため、高優先フローX1と同様に、周期は“5”、位相は“1”である。高優先フローX3は、TSの“3”及び“8”のタイミングで高優先パケットが発生するため、周期は“5”、位相は“3”である。
【0038】
図6は、ポート振分テーブル32のテーブル内容の一例を示す説明図である。
図6に示すポート振分テーブル32は、高優先フローX1の振分先ポートとして#Aの出力ポート20A、高優先フローX2の振分先ポートとして#Aの出力ポート20Aを管理している。更に、ポート振分テーブル32は、高優先フローX3の振分先ポートとして#Aの出力ポート20A、低優先フローY1の振分先ポートとして#Bの出力ポート20Bを管理している。
【0039】
図7は、出力ポート単位の理論上の衝突回数の一例を示す説明図である。尚、説明の便宜上、高優先フローX1及びX2は#Aの出力ポート20Aを振り分け、高優先フローX3は#Bの出力ポート20Bに振り分けているものとする。算出部41は、#Aの出力ポート20Aの高優先フローの送信スケジュール(高優先送信数)に基づき、#Aの出力ポート20Aの各TSの高優先パケットの理論上の衝突回数を算出する。#Aの出力ポート20Aの理論上の衝突回数は2回である。算出部41は、#Bの出力ポート20Bの高優先フローの送信スケジュール(高優先送信数)に基づき、#Bの出力ポート20Bの各TSの高優先パケットの理論上の衝突回数を算出する。#Bの出力ポート20Bの理論上の衝突回数は0回である。
【0040】
図8は、ハッシュ計算結果に基づくポート振分の一例を示す説明図である。高優先フローX1を送信する端末装置のMACアドレスは0x00:00:00:00:00:01、高優先フローX2を送信する端末装置のMACアドレスは0x00:00:00:00:00:02とする。高優先フローX3を送信する端末装置のMACアドレスは0x00:00:00:00:00:03、低優先フローY1を送信する端末装置のMACアドレスは0x00:00:00:00:00:04とする。そこで、ハッシュ計算部42Aの計算結果が“1”の場合、その受信フローを#Aの出力ポート20Aに振り分け、計算結果が“0”の場合、その受信フローを#Bの出力ポート20Bに振り分けるものとする。
【0041】
ハッシュ計算部42Aは、高優先フローX1の場合、MACアドレスのmod2演算の計算結果が“1”となる。その結果、ポート振分部42Bは、計算結果“1”の#Aの出力ポート20Aを振分先に選択し、高優先フローX1を#Aの出力ポート20Aに振り分ける。ハッシュ計算部42Aは、高優先フローX2の場合、MACアドレスのmod2演算の計算結果が“0”となる。その結果、ポート振分部42Bは、計算結果“0”の#Bの出力ポート20Bを振分先に選択し、高優先フローX2を#Bの出力ポート20Bに振り分ける。ハッシュ計算部42Aは、高優先フローX3の場合、MACアドレスのmod2演算の計算結果が“1”となる。その結果、ポート振分部42Bは、計算結果“1”の#Aの出力ポート20Aを振分先に選択し、高優先フローX3を#Aの出力ポート20Aに振り分ける。ハッシュ計算部42Aは、低優先フローY1の場合、MACアドレスのmod2演算の計算結果が“0”となる。その結果、ポート振分部42Bは、計算結果“0”の#Bの出力ポート20Bを振分先に選択し、低優先フローY1を#Bの出力ポート20Bに振り分ける。
【0042】
算出部41は、同一グループ内の各出力ポート20の理論上の衝突回数を算出する。振分部42は、各出力ポート20の理論上の衝突回数が1回以上の場合、理論上の衝突回数が少なくなるように衝突の高優先フローを各出力ポート20に振り分ける。つまり、振分部42は、#Aの出力ポート20Aの高優先フローX1及びX2の衝突回数がTS“1”及び“6”の2回の場合、衝突の高優先フローX2を#Bの出力ポート20Bに振り分ける。
【0043】
図9は、振分後の各出力ポート20の理論上の衝突回数の一例を示す説明図である。振分後の#Aの出力ポート20Aは高優先フローX1のみであるため、振分後の#Aの出力ポート20Aの理論上の衝突回数は0回となる。また、振分後の#Bの出力ポート20Bは高優先フローX2及びX3であるため、振分後の#Bの出力ポート20Bの理論上の衝突回数が0回である。その結果、#A及び#Bの出力ポート20の衝突遅延がなしとなる。
【0044】
図10は、振分内容を反映した各出力ポート20のGCL34の一例を示す説明図である。更新部43は、振分部42の振分内容に基づき、#A及び#Bの出力ポート20の各高優先フローを振り分ける#A及び#Bの出力ポート20のGCL34を更新する。#Aの出力ポート20AのGCL34は、高優先フローX1及びX3を振り分けた場合の第1のゲート22A及び第2のゲート22Bの開閉情報を格納する。#Bの出力ポート20BのGCL34は、高優先フローX2を振り分けた場合の第1のゲート22A及び第2のゲート22Bの開閉情報を格納する。
【0045】
図10に示す#Aの出力ポート20AのGCL34は、高優先フローX1及びX3を通過する第1のゲート22AのTS“1”~“8”のタイミングを開制御する開閉情報を管理している。更に、#Aの出力ポート20AのGCL34は、第2のゲート22BのTS“1”、“3”、“6”及び“8”のタイミングを閉制御すると共に、TS“2”、“4”、“5”及び“7”のタイミングを開制御する開閉情報を管理している。つまり、セレクタ23は、TS“1”、“3”、“6”及び“8”のタイミングで高優先フローX1及びX3の高優先パケットを選択出力する。
【0046】
更に、#Bの出力ポート20BのGCL34は、高優先フローX2を通過する第1のゲート22AのTS“1”~“8”のタイミングを開制御する開閉情報を管理している。更に、#Bの出力ポート20BのGCL34は、第2のゲート22BのTS“1”、“及び“6”のタイミングを閉制御すると共に、TS“2”~“5”、“7”及び“8”のタイミングを開制御する開閉情報を管理している。つまり、セレクタ23は、TS“1”及び“6”のタイミングで高優先フローX2の高優先パケットを選択出力する。その結果、高優先フローの到着タイミングが重なる場合でも高優先パケット同士の衝突遅延を回避できる。
【0047】
図11は、第1の振分処理に関わるパケット処理装置10の処理動作の一例を示すフローチャートである。
図11においてパケット処理装置10の更新タイマ35は、更新周期を満了したか否かを判定する(ステップS11)。尚、更新タイマ35は、例えば、
図10に示すようにTS“1”から“8”までの更新周期を順次監視する。パケット処理装置10内の解析部15は、更新周期を満了した場合(ステップS11:Yes)、同一グループ内の各出力ポート20の高優先フロー単位の周期性パターンを解析する(ステップS12)。
【0048】
パケット処理装置10内のグループ振分部16は、グループ管理テーブル31を参照し、グループに対応した高優先フロー単位の振分先の出力ポート20を特定する(ステップS13)。パケット処理装置10内の衝突制御部19内の算出部41は、同一グループの出力ポート20毎に高優先フロー毎の送信スケジュールを算出する(ステップS14)。更に、算出部41は、送信スケジュールに基づき、同一グループの出力ポート20毎の高優先フローの理論上の衝突回数を算出する(ステップS15)。
【0049】
衝突制御部19内の振分部42は、高優先フローの理論上の衝突回数があるか否かを判定する(ステップS16)。振分部42内のハッシュ計算部42Aは、高優先フローの理論上の衝突回数がある場合(ステップS16:Yes)、理論上の衝突回数がある出力ポート20の衝突の高優先フローの端末装置のMACアドレスを取得する(ステップS17)。
【0050】
ハッシュ計算部42Aは、衝突の高優先フローの端末装置のMACアドレスのmod2演算を実行する(ステップS18)。振分部42内のポート振分部42Bは、ハッシュ計算結果に基づき、振分先の出力ポート20を選択する(ステップS19)。更に、ポート振分部42Bは、選択した振分先の出力ポート20に衝突の高優先フローを振り分ける(ステップS20)。衝突制御部19内の更新部43は、衝突の高優先フローを出力ポート20に振り分けた後、振分内容に基づき、同一グループ内の各出力ポート20のGCL34及びポート振分テーブル32の内容を更新する(ステップS21)。そして、更新タイマ35は、更新周期が満了したか否かを判定すべく、ステップS11に移行する。
【0051】
更新タイマ35は、更新周期が満了したのでない場合(ステップS11:No)、ステップS11の処理に移行する。また、更新タイマ35は、高優先フローの理論上の衝突回数がない場合(ステップS16:No)、更新周期が満了したか否かを判定すべく、ステップS11に移行する。
【0052】
実施例1のパケット処理装置10は、高優先フローの理論上の衝突回数がある場合、衝突の高優先フローのMACアドレスのmod2演算の計算結果で衝突の高優先フローを振り分ける出力ポート20を選択する。パケット処理装置10は、選択した出力ポート20に衝突の高優先フローを振り分ける。そして、パケット処理装置10は、高優先フローの振分内容に応じて各出力ポート20のGCL34及びポート振分テーブル32の内容を更新する。その結果、パケット処理装置10は、高優先フロー同士で高優先パケットの到着タイミングが重なった場合でも、高優先パケットの衝突遅延を抑制できる。
【0053】
尚、実施例1のハッシュ計算部42Aは、例えば、mod2演算を例示したが、これに限定されるものではなく、適宜変更可能である。
【0054】
図12は、実施例1のパケット処理装置10の課題の一例を示す説明図である。パケット処理装置10は、高優先フローX1、X2及びX3及び低優先フローY1を順次入力する。パケット処理装置10は、衝突の高優先フローの端末装置のMACアドレスのmod2演算のハッシュ計算結果で衝突の高優先フローの出力ポート20を選択し、選択した出力ポート20に衝突の高優先フローを振り分ける場合を例示した。しかしながら、パケット処理装置10では、高優先フローの出力ポートを振り分ける方法としてMACアドレスのmod2演算を採用したので、衝突の高優先フローの振分先が衝突の高優先フローを送信する端末装置のMACアドレスに依存する。その結果、MACアドレス如何で衝突対象の高優先パケットを同一の出力ポート20に振り分けるケースが発生することが考えられる。
【0055】
高優先フローX1を送信する端末装置のMACアドレスを0x00:00:00:00:00:01、高優先フローX2を送信する端末装置のMACアドレスを0x00:00:00:00:00:03とする。高優先フローX3を送信する端末装置のMACアドレスを0x00:00:00:00:00:02、低優先フローY1を送信する端末装置のMACアドレスを0x00:00:00:00:00:04とする。つまり、#Aの出力ポート20Aの高優先フローX1及びX2の到着タイミングが重なり、高優先フローX2を送信する端末装置のMACアドレスが0x00:00:00:00:00:03の場合、ハッシュ計算部42Aの計算結果が“1”となる。計算結果が“1”の場合、高優先フローX2を#Aの出力ポート20Aに再度振り分けてしまう。
【0056】
そして、パケット処理装置10は、衝突の高優先フローのハッシュ計算結果に基づき、#Aの出力ポート20Aに高優先フローX1及びX2を振り分け、#Bの出力ポート20Bに高優先フローX3及び低優先フローY1に振り分ける。つまり、パケット処理装置10は、ハッシュ計算後も、再度、#Aの出力ポート20Aに高優先フローX1及びX2が振り分けられることで、TS“1”の到着タイミングで衝突するため、高優先フローX2に衝突遅延が発生する。
【0057】
そこで、高優先フローの端末装置のMACアドレスに依存することなく、高優先フロー同士の高優先パケットの到着タイミングが重なる場合でも高優先フローの衝突遅延を抑制できるパケット処理装置10Aにつき、実施例2として以下に説明する。
ポート選択部421Aは、同一グループ内の各出力ポート20の理論上の衝突回数の内、理論上の衝突回数が最大の出力ポート20を選択する。フロー選択部421Bは、ポート選択部421Aにて選択された出力ポート20から振分対象の衝突の高優先フローを選択する。尚、フロー選択部421Bは、振分対象の衝突の高優先フローが複数ある場合、高優先フローを識別するフロー識別情報である番号が降順の高優先フローを選択する。
ポート振分部421Cは、フロー選択部421Bにて選択された衝突の高優先フローを同一グループ内の他の出力ポート20に振り分ける。更新部43は、ポート振分部421Cにて振分前の出力ポート20の理論上の衝突回数とポート振分部421Cにて振分後の出力ポート20の理論上の衝突回数とを比較する。更新部43は、振分後の出力ポート20の理論上の衝突回数が振分前の出力ポート20の理論上の衝突回数よりも少なくなる場合に振り分け後の出力ポート20の振分内容に応じたGCL34及びポート振分テーブル32の内容を更新する。
ポート振分部421Cは、フロー選択部421Bにて選択された衝突の高優先フローX2を同一グループ内の別の出力ポート20、例えば、#Bの出力ポート20Bに振り分ける。更新部43は、ポート振分部421Cにて振分前の#Aの出力ポート20Aの理論上の衝突回数とポート振分部421Cにて振分後の#Aの出力ポート20Aの理論上の衝突回数とを比較する。
振分後の#Bの出力ポート20BのGCL34は、高優先フローX2を通過する第1のゲート22AのTS“1”~“11”のタイミングを開制御する開閉情報を管理している。更に、#Bの出力ポート20BのGCL34は、第2のゲート22BのTS“1”、“6”及び“11”のタイミングを閉制御すると共に、TS“2”~“5”、“7”~“10”のタイミングを開制御する開閉情報を管理している。つまり、セレクタ23は、TS“1”、“6”及び“11”のタイミングで高優先フローX2の高優先パケットを選択出力する。その結果、高優先フローの到着タイミングが重なる場合でも高優先パケット同士の衝突遅延を回避できる。
更に、更新部43は、高優先フローX1及びX3を#Aの出力ポート20Aに振り分けるべく、高優先フローX1及びX3を#Aの出力ポート20Aに対応付けてポート振分テーブル32の内容を更新する。更に、更新部43は、高優先フローX2及び低優先フローY1を#Bの出力ポート20Bに振り分けるべく、高優先フローX3及び低優先フローY1を#Bの出力ポート20Bに対応付けてポート振分テーブル32の内容を更新する。
パケット処理装置10A内のグループ振分部16は、グループ管理テーブル31を参照し、グループに対応した高優先フロー単位の振分先の出力ポート20を特定する(ステップS33)。パケット処理装置10A内の衝突制御部19A内の算出部41は、同一グループの出力ポート20毎に高優先フロー毎の送信スケジュールを算出する(ステップS34)。更に、算出部41は、同一グループの出力ポート20毎の高優先フローの理論上の衝突回数を算出する(ステップS35)。
振分部421内のポート選択部421Aは、同一グループ内の出力ポート20の内、理論上の衝突回数が最大の出力ポートを選択する(ステップS36)。振分部421内のフロー選択部421Bは、選択の出力ポート20から衝突の高優先フローを選択する(ステップS37)。
フロー選択部421Bは、選択した衝突の高優先フローが複数あるか否かを判定する(ステップS38)。フロー選択部421Bは、衝突の高優先フローが複数ある場合(ステップS38:Yes)、複数ある衝突の高優先フローから、フロー識別情報であるフロー識別番号が降順番号の高優先フローを選択する(ステップS39)。
更に、ポート振分部421Cは、選択した高優先フローを同一グループ内の他の出力ポート20に振り分ける(ステップS40)。算出部41は、振分後の高優先フローの送信スケジュールから、振分後の出力ポート20毎の高優先フローの理論上の衝突回数を再算出する(ステップS41)。
更新部43は、振分後の出力ポート20の衝突の高優先フローの理論上の衝突回数が振分前の出力ポート20の衝突の高優先フローの理論上の衝突回数未満であるか否かを判定する(ステップS42)。更新部43は、振分後の出力ポート20の衝突回数が振分前の出力ポート20の衝突回数未満である場合(ステップS42:Yes)、同一グループ内の各出力ポート20のGCL34及びポート振分テーブル32の内容を更新する(ステップS43)。尚、更新部43は、選択した高優先フローを振分後の出力ポート20に振り分けるべく、振分内容に基づき、同一グループ内の各出力ポート20のGCL34及びポート振分テーブル32の内容を更新する。そして、更新タイマ35は、更新周期が満了したか否かを判定すべく、ステップS31に移行する。
更新タイマ35は、更新周期が満了したのでない場合(ステップS31:No)、ステップS31の処理に移行する。更新タイマ35は、振分後の出力ポート20の衝突の高優先フローの理論上の衝突回数が振分前の出力ポート20の衝突の高優先フローの理論上の衝突回数未満でない場合(ステップS42:No)、ステップS31に移行する。
実施例2のパケット処理装置10Aは、同一グループ内の出力ポート20の内、高優先フローの理論上の衝突回数が最大の出力ポート20を選択する。パケット処理装置10Aは、選択した出力ポート20の衝突の高優先フローから降順の高優先フローを選択し、選択した高優先フローを同一グループ内の別の出力ポート20に振り分ける。そして、パケット処理装置10Aは、高優先フローの振分内容に応じて各出力ポート20のGCL34及びポート振分テーブル32の内容を更新する。その結果、パケット処理装置10は、高優先フロー同士で高優先パケットの到着タイミングが重なった場合でも、MACアドレスに依存することなく、高優先パケットの衝突遅延を抑制できる。
また、実施例2のフロー選択部421Bは、衝突の高優先フローが複数ある場合に、フロー識別番号が降順の高優先フローを選択する場合を例示したが、フロー識別番号が昇順の高優先フローを選択しても良い。また、フロー識別番号の降順や昇順に限定されることなく、所定ルールに基づき、複数の高優先フローから一つの高優先フローを選択できればよく、選択方法は適宜変更可能である。
上記実施例では、MFHパケットを高優先パケット及び非MFHパケットの低優先パケットの2種類としたが、2種類に限定されるものではなく、適宜変更可能である。例えば、優先度を3種類のパケットとした場合、3個のゲートを配置し、GCL34内の各ゲートの開閉情報を格納しても良い。
上記実施例では、例えば、5Gネットワークの無線信号に対応すべく、サブフレームの時間幅は0.25ミリ秒としたが、0.25ミリ秒に限定されるものではなく、4Gネットワークの無線信号のサブフレームの時間幅として1ミリ秒でもよく、適宜変更可能である。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。