以下、図面に基づいて、本願の開示するパケット処理装置及びパケット処理方法の実施例を詳細に説明する。尚、各実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図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パケット、MFH回線2BからのMFHパケット等の各種パケットを伝送する。MFHパケットは、MBHパケットに比較して出力遅延の抑制が強く求められている。
BBU6は、無線区間のスケジューリング機能を有する。スケジューリング機能は、1サブフレームに送信すべき、例えば、ユーザデータ、符号化率及び変調方式等の各種要素を決定する機能である。BBU6は、ユーザデータをL2フレームに分割してMFHパケットをRRH5宛に伝送する。つまり、BBU6は、サブフレーム間隔、例えば、1m秒毎にMFHパケットをRRH5宛に伝送する。また、RRH5は、受信した無線信号のユーザデータをL2フレームに分割してMFHパケットをBBU6宛に伝送する。
バックボーン回線2Cは、複数のパケットスイッチ7を配置し、MBH回線2AからのMBHパケットや、MFH回線2BからのMFHパケットを伝送する回線である。更に、パケットスイッチ7は、MBHパケット及びMFHパケットの他に、様々なパケットを伝送する。パケットスイッチ7は、IEEE802.1QbvのTAS(Time Aware Shaper)方式を適用し、MFHパケットを高優先パケットとして出力する。
図2は、パケットスイッチ7のハードウェア構成の一例を示す説明図である。図2に示すパケットスイッチ7は、入出力IF(Interface)11と、複数のパケット処理部12と、SW(Switch)13と、メモリ14と、CPU(Central Processing Unit)15とを有する。入出力IF11は、バックボーン回線2C等の各種回線と接続し、パケットを入出力するIFである。入出力IF11は、例えば、バックボーン回線2Cに接続するRRH5、BBU6や、他のパケットスイッチ7と接続する。パケット処理部12は、TAS方式を適用したパケット処理を実行する。SW13は、パケット処理部12の入出力を切替えるスイッチである。メモリ14は、各種情報を記憶する領域である。CPU15は、パケットスイッチ7全体を制御する。
図3は、パケット処理部12の一例を示す説明図である。図3に示すパケット処理部12は、第1のキュー21Aと、第2のキュー21Bと、第1のゲート22Aと、第2のゲート22Bと、セレクタ23と、収集部24と、解析部25と、リストテーブル26と、制御部27とを有する。第1のキュー21Aは、到来する受信パケットの内、MFHパケットをキューイングする格納部である。第1のキュー21Aは、受信パケット内のVLANタグのPビットを識別し、その識別結果に基づき、受信パケットがMFHパケットの場合、MFHパケットをキューイングする。第2のキュー21Bは、到来する受信パケットの内、例えば、MBHパケット等の非MFHパケットをキューイングする格納部である。第2のキュー21Bは、受信パケット内のVLANタグのPビットを識別し、その識別結果に基づき、受信パケットが非MFHパケットの場合、非MFHパケットをキューイングする。尚、MFHパケットは高優先パケットであるのに対し、非MFHパケットは低優先パケットである。その結果、MFHパケットを優先的に出力することで、非MFHパケットとの間の競合を回避してMFHパケットの出力遅延を抑制できる。第1のゲート22Aは、第1のキュー21A内のMFHパケットの出力を開閉する開閉部である。第2のゲート22Bは、第2のキュー21B内の非MFHパケットの出力を開閉する開閉部である。セレクタ23は、第1のゲート22A又は第2のゲート22Bの出力を選択出力する。
収集部24は、受信パケットの統計情報を収集する。統計情報は、時間帯毎の受信パケット量である。尚、パケット量は、例えば、パケット数やバイト数である。解析部25は、受信パケットの統計情報を解析し、受信パケットの周期性及びパターン等の周期性パターンを特定する。解析部25は、受信パケットの到着間隔(周期性)及びパターン(平均到着量、バーストの揺らぎ度合)を学習する。制御部27は、解析部25の解析結果に基づき、リストテーブル26のテーブル内容を更新する。制御部27は、受信パケットの周期性パターンに基づき、リストテーブル26内のTS番号及びTS番号毎の滞留時間を更新する。更に、制御部27は、周期性パターンに基づき、リストテーブル26内の第1のゲート22A及び第2のゲート22BのTS番号毎の設定状態を更新する。制御部27は、受信パケット内のMFHパケットの統計情報に基づき、高優先パケットであるMFHパケットの到着タイミングを予測する。尚、設定状態は、第1のゲート22A及び第2のゲート22Bの開閉情報、例えば、オープン及びクローズである。尚、制御部27は、MFHパケットが高優先パケット、非MFHパケットが低優先パケットであるため、第1のゲート22Aを常時オープンとし、第2のゲート22BをTS単位でオープン又はクローズとする。第1のゲート22Aは、オープンの場合、第1のキュー22Aに保持中のMFHパケットを出力することになる。第2のゲート22Bは、オープンの場合、第2のキュー22Bに保持中の非MFHパケットを出力すると共に、クローズの場合、第2のキュー22Bに保持中の非MFHパケットの出力停止しながら、第1のキュー22Aに保持中のMFHパケットを出力する。
図4は、リストテーブル26の一例を示す説明図である。図4に示すリストテーブル26は、TS番号26Aと、第1のゲート22Aの設定状態26Bと、第2のゲート22Bの設定状態26Cと、滞留時間26Dとを対応付けて管理する。TS番号26Aは、受信パケットのTS(Time Slot)を識別する番号である。第1のゲート22Aの設定状態26Bは、第1のゲート22Aのオープン(O)/クローズ(C)状態を示すゲート開閉情報である。第2のゲート22Bの設定状態26Cは、第2のゲート22Aのオープン/クローズ状態を示すゲート開閉情報である。滞留時間26Dは、TS番号26Aの割当時間である。TS番号26Aは、1~Nまでの範囲で適宜変更可能である。第1のゲート22Aの設定状態26B及び第2のゲート22Bの設定状態26Cも、TS番号26A毎に適宜変更可能である。滞留時間26Dも、TS番号26A毎に適宜変更可能である。制御部27は、リストテーブル26を参照し、TS番号“1”のタイミングでTS番号“1”に対応する設定状態を第1のゲート22A及び第2のゲート22Bに設定する。次に、制御部27は、TS番号“2”のタイミングでTS番号“2”に対応する設定状態を第1のゲート22A及び第2のゲート22Bに設定する。更に、制御部27は、TS番号“3”からTS番号“N”までの各タイミングで各設定状態を第1のゲート22A及び第2のゲート22Bに順次設定する。そして、制御部27は、TS番号“N”に対応する設定状態を設定後、再度、TS番号“1”に戻り、TS番号“1”に対応する設定状態を設定し、TS番号“2”からTS番号“N”までの各タイミングで設定状態を順次設定することになる。つまり、制御部27は、リストテーブル26を参照し、TS番号“1”からTS番号“N”までの各タイミングで各設定状態を第1のゲート22A及び第2のゲート22Bに周期的に繰り返し順次設定することになる。
図5は、無線信号の信号構成の一例を示す説明図である。図5に示す無線信号は、例えば、1m秒のサブフレームで構成し、PDCCH(Physical Downlink Control Channel)と、PDSCH(Physical Downlink Shared Channel)とを有する。PDCCHは、制御情報を格納する領域である。制御情報は、例えば、帯域予約量を有する。PDSCHは、ユーザデータを格納する領域である。帯域予約量は、例えば、PDSCH内のRB(Resource Block)にユーザデータを割当てた量を示す情報である。
図6は、統計情報の一例を示す説明図である。縦軸は、受信パケットのパケット量、横軸は、時間軸とする。解析部25は、統計情報からバースト区間が“4”、“5”及び“6”の周期性パターンを特定する。尚、バースト区間は、データあり、すなわち統計情報が正の区間である。制御部27は、解析部25にて受信パケットから周期性パターンを特定し、周期性パターンを所定回数連続して特定した場合にMFHパケットの周期性パターンと判断する。図7は、更新後のリストテーブル26の一例を示す説明図である。制御部27は、MFHパケットの周期性パターンと判断した場合、周期性パターンのバーストTS区間を特定する。バーストTS区間は、データあり、すなわち統計情報が正のTS区間である。そして、制御部27は、特定された周期性パターンのバーストTS区間及び、バーストTS区間の前後1TS分のマージン区間を特定し、バーストTS区間及びマージン区間の各TS番号の第2のゲート22Bをクローズに設定する。制御部27は、図6に示す周期性パターンの場合、例えば、“4”、“5”及び“6”のバースト区間を特定する。制御部27は、例えば、“4”、“5”及び“6”がバースト区間の周期性パターンを特定した場合、図7に示すバーストTS区間をTS番号“4”、“5”及び“6”に特定する。更に、制御部27は、バーストTS区間直前のTS番号“4”の1TS分前のTS番号“3”及び、バーストTS区間直後のTS番号“6”の1TS分後のTS番号“7”をマージン区間と特定する。そして、制御部27は、バーストTS区間及びマージン区間、すなわち、TS番号“3”~“7”の区間の第2のゲート22Bをクローズに設定すべく、リストテーブル26の内容を更新する。尚、パケットスイッチ7は、自走クロックであるため、他のパケットスイッチ7、BBU6やRRH5との間でクロック偏差によるズレが生じる場合がある。
図8は、ズレ発生時の統計情報の一例を示す説明図である。縦軸は、受信パケットのパケット量、横軸は、時間軸とする。解析部25は、統計情報からバースト区間が“3”、“4”及び“5”の周期性パターンを特定する。そこで、制御部27は、収集部24にて周期性パターンを順次特定し、周期性パターンを所定回数連続して特定した場合にMFHパケットの周期性パターンと順次判断する。その結果、制御部27は、図8に示す周期性パターンの場合、例えば、“3”、“4”及び“5”のバースト区間を特定する。図9は、更新後のリストテーブル26の一例を示す説明図である。制御部27は、例えば、“3”、“4”及び“5”がバースト区間の周期性パターンと特定した場合、図9に示すバーストTS区間をTS番号“3”、“4”及び“5”に特定する。更に、制御部27は、バーストTS区間直前のTS番号“3”の1TS分前のTS番号“2”及び、バーストTS区間直後のTS番号“5”の1TS分後のTS番号“6”をマージン区間として特定する。そして、制御部27は、バーストTS区間及びマージン区間、すなわち、TS番号“2”~“6”のTS区間の第2のゲート22Bをクローズに設定すべく、リストテーブル26の内容を更新する。尚、制御部27は、図7に示すリストテーブル26から図9に示すリストテーブル26に更新する場合、TS番号“3”~“7”からTS番号“2”~“6”に対応する第2のゲート22Bの設定状態26Cの更新を最小限に抑制する。そして、TS番号“3”~“6”に対応する第2のゲート22Bのクローズを維持しながら、TS番号“2”をクローズ、TS番号“7”をオープンに設定する。
次に実施例1の通信システム1の動作について説明する。図10は、調整処理に関わるパケット処理部12の処理動作の一例を示すフローチャートである。図10においてパケット処理部12内の収集部24は、現在の統計情報を取得したか否かを判定する(ステップS11)。尚、統計情報は、現在の受信パケットのパケット量である。パケット処理部12内の解析部25は、現在の統計情報を取得した場合(ステップS11肯定)、直前の統計情報に基づき、現在の統計情報が0から正に変化したか否かを判定する(ステップS12)。
解析部25は、現在の統計情報が0から正に変化した場合(ステップS12肯定)、受信パケットのバースト区間の開始点と判断し、(現在時刻-直前の変化時刻)に基づき、観測周期を算出する(ステップS13)。尚、観測周期は、MFHパケット発生の周期性パターンである。
解析部25は、現在時刻を直前の変化時刻に設定し(ステップS14)、周期観測回数を+1インクリメントする(ステップS15)。解析部25は、(観測周期*α)+(直前の平均周期*(1-α))に基づき、平均周期を算出する(ステップS16)。尚、係数αは0<α<1とする。
解析部25は、ステップS11にて取得した現在の統計情報を直前の統計情報として設定し(ステップS17)、周期観測回数がM回であるか否かを判定する(ステップS18)。尚、M回は、周期観測回数の閾値である。パケット処理部12内の制御部25は、周期観測回数がM回の場合(ステップS18肯定)、平均周期に基づき、リストテーブル26内のリスト長を設定する(ステップS19)。制御部27は、平均周期に基づき、リストテーブル26内のTS数(TS番号)及び滞留時間を調整し(ステップS20)、図10に示す処理動作を終了する。
制御部27は、現在の統計情報が取得できない場合(ステップS11否定)、又は、周期観測回数がM回でない場合(ステップS18否定)、現在の統計情報を取得したか否かを判定すべく、ステップS11に移行する。
解析部25は、現在の統計情報が0から正に変化したのでない場合(ステップS12否定)、現在時刻を直前の変化時間に設定すべく、ステップS14に移行する。
調整処理を実行する解析部25は、直前の統計情報に基づき、現在の統計情報が0から正に変化した場合に、(現在時刻-直前の変化時刻)で観測周期を算出し、周期観測回数を+1インクリメントする。解析部25は、(観測周期*α+直前の平均周期*(1-α))に基づき平均周期を算出する。制御部27は、周期観測回数がM回の場合に、平均周期に基づき、リストテーブル26のリスト長、TS数及び滞留時間を調整する。その結果、制御部27は、受信パケットに応じたリストテーブル26内のリスト長、TS数(TS番号)及び滞留時間を取得できる。
図11は、監視処理に関わるパケット処理部12の処理動作の一例を示すフローチャートである。図11において収集部24は、TS単位の高優先パケットの統計情報を取得したか否かを判定する(ステップS31)。尚、高優先パケットは、MFHパケットである。解析部25は、高優先パケットの統計情報を取得した場合(ステップS31肯定)、直前の統計情報に基づき、現在の統計情報が0から正に変化したか否かを判定する(ステップS32)。
制御部27は、現在の統計情報が0から正に変化した場合(ステップS32肯定)、バースト区間の開始と判断し、バースト数nを1に設定する(ステップS33)。制御部27は、現在TSが設定中のバースト始点よりも大であるか否かを判定する(ステップS34)。尚、現在TSは、現在の統計情報が0から正に変化した時点のTSである。
制御部27は、現在TSが設定中のバースト始点よりも大の場合(ステップS34肯定)、現在TSをバースト始点に設定し(ステップS35)、TS観測数がX回であるか否かを判定する(ステップS36)。尚、X回は、TS観測数の閾値である。
解析部25は、現在の統計情報が0から正に変化しなかった場合(ステップS32否定)、直前の統計情報に基づき、現在の統計情報が正から0に変化したか否かを判定する(ステップS37)。制御部27は、現在の統計情報が正から0に変化しなかった場合(ステップS37否定)、バースト区間が継続と判断し、現在のバースト数nを+1インクリメントする(ステップS38)。更に、制御部27は、現在の統計情報を直前の統計情報に設定し(ステップS39)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。
制御部27は、現在の統計情報が正から0に変化した場合(ステップS37肯定)、バースト区間の終点と判断し、TS観測数を+1インクリメントする(ステップS40)。制御部27は、バースト数nが設定中の最大バースト数n maxを超えたか否かを判定する(ステップS41)。制御部27は、バースト数nが最大バースト数n maxを超えた場合(ステップS41肯定)、現在バースト数nを最大バースト数に設定し(ステップS42)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。
制御部27は、TS観測数がX回の場合(ステップS36肯定)、(バースト始点-前マージン分)のTS番号から(バースト始点+最大バースト値+後マージン分)のTS番号までのTS区間を第2のゲート22Bをクローズに変更する(ステップS43)。そして、制御部27は、図11に示す処理動作を終了する。尚、前マージン分はTS1個分、後マージン分もTS1個分とする。
収集部24は、高優先パケットの統計情報を取得しなかった場合(ステップS31否定)、図11に示す処理動作を終了する。制御部27は、現在TSがバースト始点よりも大でない場合(ステップS34否定)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。制御部27は、バースト数nが設定中の最大バースト数を超えたのでない場合(ステップS41否定)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。制御部27は、TS観測数がX回でない場合(ステップS36否定)、高優先パケットの統計情報を取得したか否かを判定すべく、ステップS31に移行する。
監視処理を実行する制御部27は、高優先パケット(MFHパケット)の統計情報を取得し、直前の統計情報に基づき、現在の統計情報が0から正に変化した場合にバースト数nを1に設定し、現在TSをバースト始点のTS番号とする。更に、制御部27は、直前の統計情報に基づき、現在の統計情報が正から0に変化しなかった場合にバースト数nを+1インクリメントする。更に、制御部27は、直前の統計情報に基づき、現在の統計情報が正から0に変化した場合、TS観測数を+1インクリメントし、現在バースト数を最大バースト数に設定する。
制御部27は、TS観測数がX回の場合、(バースト始点-前マージン分)のTS番号から(バースト始点+最大バースト数+後マージン分)のTS番号までを第2のゲート22Bのクローズ区間とする。すなわち、第1のゲート22Aは常時オープンであるため、第2のゲート22Bのクローズ区間はMFHパケットの優先出力区間となる。
図12は、第1の決定処理に関わるパケット処理部12の処理動作の一例を示すフローチャートである。図12において収集部24は、TS単位の高優先パケット(MFHパケット)の統計情報を取得したか否かを判定する(ステップS51)。制御部27は、高優先パケットの統計情報を取得した場合(ステップS51肯定)、(バースト始点-前マージン分)のTSの統計情報が正であるか否かを判定する(ステップS52)。
制御部27は、(バースト始点-前マージン分)のTSの統計情報が正の場合(ステップS52肯定)、正常時はTSの統計情報が0であるため、前方異常と判断し、前方異常回数を+1インクリメントする(ステップS53)。そして、制御部27は、前方異常回数が異常閾値を超えたか否かを判定する(ステップS54)。
制御部27は、前方異常回数が異常閾値を超えた場合(ステップS54肯定)、バースト始点のTS番号を+1デクリメントする(ステップS55)。更に、制御部27は、第2のゲート22Bの設定状態として、(バースト始点-前マージン分-1)のTS番号をクローズ、(バースト始点+最大バースト数+後マージン分)のTS番号をオープンに設定すべく、リストテーブル26を更新する(ステップS56)。そして、制御部27は、図12に示す処理動作を終了する。
制御部27は、(バースト始点-前マージン分)のTSの統計情報が正でない場合(ステップS52否定)、バースト始点のTS番号の統計情報が0であるか否かを判定する(ステップS57)。制御部27は、バースト始点のTS番号の統計情報が0の場合(ステップS57肯定)、正常時はTSの統計情報が正であるため、後方異常と判断し、後方異常回数を+1インクリメントする(ステップS58)。そして、制御部27は、後方異常回数が異常閾値を超えたか否かを判定する(ステップS59)。
制御部27は、後方異常回数が異常閾値を超えた場合に(ステップS59肯定)、バースト始点のTS番号を+1インクリメントする(ステップS60)。制御部27は、第2のゲート22Bの設定状態として、(バースト始点-前マージン分)のTS番号をオープン、(バースト始点+最大バースト数+後マージン分+1)のTS番号をクローズに設定すべく、リストテーブル26を更新する(ステップS61)。そして、制御部27は、図12に示す処理動作を終了する。
制御部27は、バースト始点のTS番号の統計情報が0でない場合(ステップS57否定)、前方異常回数及び後方異常回数をリセットし(ステップS62)、図12に示す処理動作を終了する。収集部24は、TS単位の高優先パケット(MFHパケット)の統計情報を取得しなかった場合(ステップS51否定)、図12に示す処理動作を終了する。制御部27は、後方異常回数が異常閾値を超えなかった場合(ステップS59否定)、又は、前方異常回数が異常閾値を超えなかった場合(ステップS54否定)、図12に示す処理動作を終了する。
第1の決定処理を実行する制御部27は、MFHパケットの統計情報を取得し、(バースト始点-前マージン分)、すなわち前マージンのTS番号の統計情報が正である場合、正常時は前マージンの統計情報が0であるため、前方異常回数を+1インクリメントする。制御部27は、前方異常回数が異常閾値を超えた場合、バースト始点のTS番号を+1デクリメントし、(バースト始点-前マージン分-1)のTS番号の第2のゲート22Bをクローズに設定する。更に、制御部27は、(バースト始点+最大バースト始点+後マージン分)のTS番号の第2のゲート22Bをオープンに設定する。その結果、MFHパケットが前方1TS分移動した場合でも、第2のゲート22Bのクローズ区間を1TS分前方に移動する。
制御部27は、MFHパケットの統計情報を取得し、バースト始点の統計情報が0の場合、正常時がバースト始点のTS番号の統計情報が正であるため、後方異常回数を+1インクリメントする。制御部27は、後方異常回数が異常閾値を超えた場合、バースト始点のTS番号を+1デクリメントし、(バースト始点-前マージン分)のTS番号の第2のゲート22Bをオープンに設定する。更に、制御部27は、(バースト始点+最大バースト始点+最大バースト数+後マージン分+1)のTS番号の第2のゲート22Bをクローズに設定する。その結果、MFHパケットが後方1TS分移動した場合でも、第2のゲート22Bのクローズ区間を1TS分後方に移動する。
実施例1のパケットスイッチ7は、受信パケットのタイムスロット毎のパケット量に基づき、受信パケットの周期性パターンを特定する。更に、パケットスイッチ7は、特定された受信パケットの周期性パターンに基づき、MFHパケットを優先的に出力するバーストTS区間を特定し、特定されたバーストTS区間の第1のゲート22A及び第2のゲート22Bを制御した。その結果、パケットスイッチ7は、受信パケットの周期性パターンからMFHパケットのバーストTS区間を自律的に認識できるため、MFHパケットの出力遅延を抑制できる。しかも、パケットスイッチ7は、他のパケットスイッチ7の設定状態や、MFHパケットの送信タイミングを考慮しなくても、自律的にMFHパケットの周期性パターンを認識できる。
パケットスイッチ7は、MFHパケットのパケット量に基づき、MFHパケットの周期性パターンを自律的に認識し、MFHパケットを優先出力する際の非MFHパケットのクローズ区間を決定する。その結果、パケットスイッチ7は、TAS機能の事前設定や時刻同期等のネットワークに跨る複雑な調整なしにMFHパケットの出力遅延を抑制できる。
パケットスイッチ7は、MFHパケットのパケット量に基づき、MFHパケットのバーストTS区間及び前後のマージン区間を特定する。更に、パケットスイッチ7は、第1のゲート22Aをオープンにした状態で、これらバーストTS区間及び前後のマージン区間に第2のゲート22Bをクローズ区間に設定した。その結果、MFHパケットの出力遅延を抑制しながら、マージン区間を設けることで、演算速度が遅くても高速なゲート制御に対応できる。
パケットスイッチ7は、リストテーブル26を参照し、MFHパケットを優先出力するバーストTS区間の第1のゲート22A及び第2のゲート22Bを制御する。その結果、パケットスイッチ7は、リストテーブル26を参照し、MFHパケットの優先出力を実現できる。パケットスイッチ7は、周期性パターンに基づき、受信パケットのTS数、TS間隔及び、当該TS毎の種別毎の第1のゲート22A及び第2のゲート22Bの設定状態を特定し、特定された内容にリストテーブル26の内容を更新する。その結果、パケットスイッチ7は、リストテーブル26の内容を自律的に更新できる。
パケットスイッチ7は、前後の周期性パターンの同一タイムスロットのパケット量の有無に基づき、周期性パターンの変化を検出する。更に、パケットスイッチ7は、周期性パターンの変化を検出した場合に、後の周期性パターンに基づき、TS数、TS間隔及び第1のゲート22A及び第2のゲート22Bの設定状態を特定する。そして、パケットスイッチ7は、特定された内容にリストテーブル26の内容を更新する。その結果、パケットスイッチ7は、リストテーブル26の内容を自律的に更新できる。
パケットスイッチ7は、MFHパケットを優先出力するバーストTS区間に対応付けて、第1のゲート22Aをオープン、第2のゲート22Bをクローズにする設定状態を対応付けてリストテーブル26内に記憶する。その結果、パケットスイッチ7は、リストテーブル26を参照し、MFHパケットを優先出力できる。
尚、上記実施例では、MFHパケットを優先的に出力、すなわち、非MFHパケットの出力を停止すべく、MFHパケットのバーストTS区間に加えて前後の1TSをマージン区間として設定した。しかしながら、MFHパケット内の制御パケット内の予約帯域量やLength情報を利用することでマージン区間を設けなくても良く、その場合の実施の形態につき、実施例2として以下に説明する。
図13は、実施例2のパケット処理部12Aの構成の一例を示す説明図である。尚、実施例1の通信システム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図13に示すパケット処理部12Aは、第1のキュー21A、第2のキュー21B、第1のゲート22A、第2のゲート22B、セレクタ23、収集部24、リストテーブル26及び制御部27の他に、解析部25A及びフィルタ28を有する。フィルタ28は、MFHパケットの制御パケットを抽出する。解析部25Aは、フィルタ28にて抽出された制御パケットに基づき、MFHパケットの周期性パターンを特定する。解析部25Aは、制御パケットが下りの制御パケットの場合、制御パケット内のLength情報に基づき、例えば、4m秒後の下りのMFHパケットの周期性パターンを特定する。更に、解析部25Aは、制御パケットが上りの制御パケットの場合、制御パケット内の予約帯域量に基づき、上りのMFHパケットの周期性パターンを特定する。
図14は、リストテーブル26のテーブル内容の一例を示す説明図である。図14に示すリストテーブル26では、TS数をN=14個にし、TS番号“4”、“5”及び“6”の第2のゲート22Bをクローズにしている。
次に実施例2の通信システム1の動作について説明する。図15は、第2の決定処理に関わるパケット処理部12Aの処理動作の一例を示す説明図である。図15においてパケット処理部12A内の解析部25Aは、フィルタ28を通じて制御情報を検出したか否かを判定する(ステップS71)。尚、フィルタ28は、MFHパケットから制御情報を抽出する。解析部25Aは、制御情報を検出した場合(ステップS71肯定)、制御情報が下り方向の制御情報であるか否かを判定する(ステップS72)。尚、下り方向の制御情報は、例えば、BBU6からRRH5へのMFHパケットの制御情報である。
解析部25Aは、制御情報が下り方向の制御情報である場合(ステップS72肯定)、制御情報からLength情報を取得する(ステップS73)。解析部25Aは、(Length情報÷1TS相当のパケット長)で調整値eを算出する(ステップS74)。制御部27は、下り方向のリストテーブル26内のバースト始点のTS番号から(バースト始点+調整値e)のTS番号までのMFHパケットのバーストTS区間をクローズに設定し(ステップS75)、図15に示す処理動作を終了する。制御部27は、Length情報に基づき、後続パケットのパケット長が5000バイトの場合、5000バイト分のTSが3TSであるため、マージンを設けることなく、TS番号“4”、“5”及び“6”の第2のゲート22Bをクローズに設定する。
解析部25Aは、制御情報が下り方向の制御情報でない場合(ステップS72否定)、上り方向の制御情報と判断し、制御情報から帯域予約量を取得する(ステップS76)。尚、上り方向の制御情報は、例えば、RRH5からBBU6へのMFHパケットの制御情報である。解析部25Aは、(帯域予約量÷1TS相当のパケット長)で調整値fを算出する(ステップS77)。制御部27は、上り方向のリストテーブル26内の帯域予約量相当のバースト始点のTS番号から(バースト始点+調整値f)のTS番号までのMFHパケットのバーストTS区間をクローズに設定し(ステップS78)、図15に示す処理動作を終了する。制御部27は、帯域予約量に基づき、4m秒後のパケットの帯域予約量が5000バイトの場合、5000バイト分のTSが3TSであるため、マージンを設けることなく、TS番号“4”、“5”及び“6”の第2のゲート22Bをクローズに設定する。
実施例2のパケットスイッチ7は、制御情報のLength情報又は予約帯域量に基づき、マージン区間を設定することなく、第2のゲート22Bのクローズ区間を設定した。その結果、パケットスイッチ7は、制御情報を用いてMFHパケットのバーストTS区間を高精度に特定する。そして、パケットスイッチ7は、MFHパケットの出力遅延を抑制し、しかも、マージン区間を設けないため、非MFHパケットのネットワーク使用率の向上が図れる。
上記実施例では、MFHパケットを高優先パケット及び非MFHパケットの低優先パケットの2種類としたが、2種類に限定されるものではなく、適宜変更可能である。例えば、優先度を3種類のパケットとした場合、3個のゲートを配置し、リストテーブル26内の各ゲートの設定状態を格納するものとする。
上記実施例では、第4世代移動通信システムの無線信号のサブフレームの時間幅として1m秒としたが、1m秒に限定されるものではなく、例えば、第5世代移動通信システムの無線信号に対応すべく、サブフレームの時間幅は適宜変更可能である。
上記実施例では、解析部25(25A)、制御部27及びリストテーブル26をパケット処理部12(12A)に配置したが、例えば、解析部25(25A)、制御部27、リストテーブル26をCPU15内部に配置しても良く、適宜変更可能である。
上記実施例では、サブフレームの1周期をN個のTSとしたが、周期性を保持できれば良く、サブフレームの1周期をNの倍数に設定しても良く、適宜変更可能である。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置内のCPU等のプロセッサで実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図16は、パケット処理プログラムを実行する情報処理装置の一例を示す説明図である。
図16に示すパケット処理プログラムを実行する情報処理装置100は、通信部110と、ROM(read Only Memory)130と、RAM(Random Access Memory)140と、CPU150とを有する。更に、通信部110、ROM130、RAM140及びCPU150は、バス160を介して接続される。通信部110は、パケットを受信する。通信部110は、受信パケットの種別毎に受信パケットを格納する複数の格納部110Aと、各格納部110Aの出力を開閉する開閉部110Bとを有する。
そして、ROM130には、上記実施例と同様の機能を発揮するパケット処理プログラムが予め記憶されている。ROM130は、パケット処理プログラムとして収集プログラム130A、解析プログラム130B及び制御プログラム130Cが記憶されている。尚、ROM130ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体にパケット処理プログラムが記録されていても良い。また、記録媒体としては、例えば、CD-ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
そして、CPU150は、収集プログラム130AをROM130から読み出して収集プロセス150Aとして機能する。更に、CPU150は、解析プログラム130BをROM130から読み出して解析プロセス150Bとして機能する。更に、CPU150は、制御プログラム130CをROM130から読み出して制御プロセス150Cとして機能する。
CPU150は、受信パケットのタイムスロット毎のパケット量を収集する。CPU150は、受信パケットのタイムスロット毎のパケット量に基づき、受信パケットの周期性パターンを特定する。CPU150は、特定された前記受信パケットの周期性パターンに基づき、所定種別の受信パケットを優先的に出力するタイムスロット区間を特定し、特定されたタイムスロット区間の各開閉部110Bの開閉を制御する。その結果、所定種別の受信パケットの出力遅延を抑制できる。