以下、図面に基づいて、本願の開示するパケット処理装置及びパケット処理方法の実施例を詳細に説明する。尚、各実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図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(Time Slot)番号及びTS番号毎の滞留時間を更新する。尚、TSは、ゲートの開状態又は閉状態が継続する単位時間に相当し、例えば、時間を一定時間(周期性パターン)に区分し、その一定時間を、ゲート開閉を切替える時間単位に分割した各時間間隔のことである。また、各TSの時間間隔は、後述する図4に示すリストテーブル26の滞留時間で規定され、各時間間隔は異なる値に設定可能である。更に、制御部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のキュー21Aに保持中のMFHパケットを出力することになる。第2のゲート22Bは、オープンの場合、第2のキュー21Bに保持中の非MFHパケットを出力すると共に、クローズの場合、第2のキュー21Bに保持中の非MFHパケットの出力停止しながら、第1のキュー21Aに保持中の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のゲート22Bのオープン/クローズ状態を示すゲート開閉情報である。滞留時間26Dは、TS番号26Aの割当時間である。TS番号26Aは、0~Nまでの範囲で適宜変更可能である。尚、図4に示す例では、N=14とする。第1のゲート22Aの設定状態26B及び第2のゲート22Bの設定状態26Cも、TS番号26A毎に適宜変更可能である。滞留時間26Dも、TS番号26A毎に適宜変更可能である。制御部27は、リストテーブル26を参照し、TS番号“0”のタイミングでTS番号“0”に対応する設定状態を第1のゲート22A及び第2のゲート22Bに設定する。次に、制御部27は、TS番号“1”のタイミングでTS番号“1”に対応する設定状態を第1のゲート22A及び第2のゲート22Bに設定する。更に、制御部27は、TS番号“2”からTS番号“N”までの各タイミングで各設定状態を第1のゲート22A及び第2のゲート22Bに順次設定する。そして、制御部27は、TS番号“N”に対応する設定状態を設定後、再度、TS番号“0”に戻り、TS番号“0”に対応する設定状態を設定し、TS番号“1”からTS番号“N”までの各タイミングで設定状態を順次設定することになる。つまり、制御部27は、リストテーブル26を参照し、TS番号“0”から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は、観測周期内のTS毎のパケット数からバースト区間が“5”、“6”及び“7”の周期性パターンを特定する。尚、バースト区間は、データあり、すなわち到着パケット数が正の区間である。解析部25は、到着パケットから周期性パターンを特定し、周期性パターンを所定回数連続して特定した場合にMFHパケットの周期性パターンと判断する。解析部25は、MFHパケットの周期性パターンと判断した場合、周期性パターンのバースト区間を特定する。バースト区間は、データあり、すなわち到着パケット数が正のTS区間である。そして、解析部25は、特定された周期性パターンのバースト区間及び、バースト区間の前後1TS分のマージン区間を特定する。制御部27は、バースト区間及びマージン区間の各TS番号の第2のゲート22Bをクローズに設定する。解析部25は、図6に示す周期性パターンの場合、例えば、“5”、“6”及び“7”のバースト区間を特定する。解析部25は、例えば、“5”、“6”及び“7”がバースト区間の周期性パターンを特定した場合、バースト区間をTS番号“5”、“6”及び“7”に特定する。更に、解析部25は、バースト区間直前のTS番号“5”の1TS分前のTS番号“4”及び、バースト区間直後のTS番号“7”の1TS分後のTS番号“8”をマージン区間と特定する。そして、制御部27は、バースト区間及びマージン区間、すなわち、TS番号“4”~“8”の区間の第2のゲート22Bをクローズに設定すべく、リストテーブル26の内容を更新する。尚、パケットスイッチ7は、自走クロックであるため、他のパケットスイッチ7、BBU6やRRH5との間でクロック偏差によるズレが生じる場合がある。
図6に示す観測周期では、説明の便宜上、第2のゲート22Bをクローズに設定したバースト区間及び前後のマージン区間をクローズ区間とし、第2のゲート22Bをオープンに設定した区間をオープン区間とする。クローズ区間の内、クローズ区間内の始点TSをクローズ始点TSa、クローズ区間内のバースト区間の始点TSをバースト始点TSb、クローズ区間内の終点TSをクローズ終点TScとする。正常時では、クローズ始点TSaの期待値は“0”、バースト始点TSbの期待値は“正”、クローズ終点TScの期待値は“正”となる。
図7Aは、前方ズレ時の観測周期の一例を示す説明図である。解析部25は、観測周期内のTS毎のパケット数に基づき、観測周期内のクローズ始点TSaの到着パケット数が“0”から“正”に変化した場合に、観測周期の前方ズレと判定する。
図7Bは、後方ズレ時の観測周期の一例を示す説明図である。解析部25は、観測周期内のTS毎のパケット数に基づき、観測周期内のバースト始点TSbのパケット数が“正”から“0”に変化した場合に、観測周期の後方ズレと判定する。
解析部25は、図7Aに示すバースト区間が“4”、“5”及び“6”の周期性パターンを所定回数連続して特定し、観測周期の前方ズレと判定したとする。図8は、前方ズレに対する補正後のリストテーブル26の一例を示す説明図である。解析部25は、図7Aに示す周期性パターンの場合、例えば、“4”、“5”及び“6”のバースト区間を特定する。解析部25は、例えば、“4”、“5”及び“6”がバースト区間の周期性パターンと特定した場合、バースト区間“4”、“5”及び“6”を特定する。解析部25は、バースト区間直前のTS番号“4”の1TS分前のTS番号“3”及び、バースト区間直後のTS番号“6”の1TS分後のTS番号“7”をマージン区間として特定する。そして、制御部27は、バースト区間及びマージン区間、すなわち、TS番号“3”~“7”の区間の第2のゲート22Bの設定状態をクローズに設定すべく、リストテーブル26の内容を更新する。尚、制御部27は、図4に示すリストテーブル26から図8に示すリストテーブル26に更新する場合、TS番号“4”~“8”からTS番号“3”~“7”に対応する第2のゲート22Bの設定状態26Cの更新を最小限に抑制する。そして、制御部27は、TS番号“4”~“7”に対応する第2のゲート22Bのクローズを維持しながら、TS番号“3”をクローズ、TS番号“8”をオープンに設定する。
図9は、周期判定処理に関わるパケット処理部12の処理動作の一例を示すフロー図である。図9においてパケット処理部12内の収集部24は、現在TSの到着パケット数を取得したか否かを判定する(ステップS11)。パケット処理部12内の解析部25は、現在TSの到着パケット数を取得した場合(ステップS11肯定)、直前TSの到着パケット数に基づき、現在の到着パケット数が0から正に変化したか否かを判定する(ステップS12)。
解析部25は、現在TSの到着パケット数が0から正に変化した場合(ステップS12肯定)、到着パケットのバースト区間の始点と判断し、(現在時刻-直前の変化時刻)に基づき、観測周期を算出する(ステップS13)。尚、観測周期は、MFHパケット発生の周期性パターンである。
解析部25は、現在時刻を直前の変化時刻に設定し(ステップS14)、周期観測回数を+1インクリメントする(ステップS15)。解析部25は、(観測周期*α)+(直前の平均周期*(1-α))に基づき、平均周期を算出する(ステップS16)。尚、係数αは0<α<1とする。
解析部25は、ステップS11にて取得した現在TSの到着パケット数を直前TSの到着パケット数として設定し(ステップS17)、周期観測回数がM回であるか否かを判定する(ステップS18)。尚、M回は、周期観測回数の閾値である。パケット処理部12内の制御部27は、周期観測回数がM回の場合(ステップS18肯定)、平均周期に基づき、リストテーブル26内のリスト長を設定する(ステップS19)。制御部27は、平均周期に基づき、リストテーブル26内のTS数(TS番号)及び滞留時間を調整し(ステップS20)、図9に示す処理動作を終了する。
制御部27は、現在TSの到着パケット数が取得できない場合(ステップS11否定)、又は、周期観測回数がM回でない場合(ステップS18否定)、現在TSの到着パケット数を取得したか否かを判定すべく、ステップS11に移行する。解析部25は、現在TSの到着パケット数が0から正に変化したのでない場合(ステップS12否定)、現在時刻を直前の変化時間に設定すべく、ステップS14に移行する。
周期判定処理を実行する解析部25は、直前TSの到着パケット数に基づき、現在TSの到着パケット数が0から正に変化した場合に、(現在時刻-直前の変化時刻)で観測周期を算出し、周期観測回数を+1インクリメントする。解析部25は、(観測周期*α+直前の平均周期*(1-α))に基づき平均周期を算出する。制御部27は、周期観測回数がM回の場合に、平均周期に基づき、リストテーブル26のリスト長、TS数及び滞留時間を調整する。その結果、制御部27は、到着パケットに応じたリストテーブル26内のリスト長、TS数(TS番号)及び滞留時間を取得できる。
図10は、クローズTS決定処理に関わるパケット処理部12の処理動作の一例を示すフロー図である。図10において収集部24は、TS単位の高優先パケットの到着パケット数を取得したか否かを判定する(ステップS31)。尚、高優先パケットは、MFHパケットである。解析部25は、高優先パケットの到着パケット数を取得した場合(ステップS31肯定)、直前TSの到着パケット数に基づき、現在TSの到着パケット数が0から正に変化したか否かを判定する(ステップS32)。
制御部27は、現在TSの到着パケット数が0から正に変化した場合(ステップS32肯定)、バースト区間の開始と判断し、バースト数nを1に設定する(ステップS33)。制御部27は、現在TSが設定中のバースト始点TSbよりも大であるか否かを判定する(ステップS34)。尚、現在TSは、現在TSの到着パケット数が0から正に変化した時点のTSである。
制御部27は、現在TSが設定中のバースト始点よりも大の場合(ステップS34肯定)、現在TSをバースト始点TSbに設定し(ステップS35)、TS観測数がX回であるか否かを判定する(ステップS36)。尚、X回は、TS観測数の閾値である。
解析部25は、現在TSの到着パケット数が0から正に変化しなかった場合(ステップS32否定)、直前TSの到着パケット数に基づき、現在TSの到着パケット数が正から0に変化したか否かを判定する(ステップS37)。制御部27は、現在TSの到着パケット数が正から0に変化しなかった場合(ステップS37否定)、バースト区間が継続と判断し、現在のバースト数nを+1インクリメントする(ステップS38)。更に、制御部27は、現在TSの到着パケット数を直前TSのパケット数に設定し(ステップS39)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。
制御部27は、現在TSの到着パケット数が正から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区間をクローズ区間とする。そして、制御部27は、クローズ区間の第2のゲート22Bの設定状態をクローズに変更する(ステップS43)。尚、(バースト始点-前マージン分)のTS番号がクローズ区間の始点であるクローズ始点TSa、(バースト始点+最大バースト値+後マージン分)のTS番号がクローズ区間の終点であるクローズ終点TScである。そして、制御部27は、図10に示す処理動作を終了する。尚、前マージン分はTS1個分、後マージン分もTS1個分とする。
収集部24は、高優先パケットの到着パケット数を取得しなかった場合(ステップS31否定)、図10に示す処理動作を終了する。制御部27は、現在TSがバースト始点TSbよりも大でない場合(ステップS34否定)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。制御部27は、バースト数nが設定中の最大バースト数を超えたのでない場合(ステップS41否定)、TS観測数がX回であるか否かを判定すべく、ステップS36に移行する。制御部27は、TS観測数がX回でない場合(ステップS36否定)、高優先パケットの到着パケット数を取得したか否かを判定すべく、ステップS31に移行する。
クローズTS決定処理を実行する制御部27は、高優先パケットの到着パケット数を取得し、直前TSの到着パケット数に基づき、現在TSのパケット数が0から正に変化した場合にバースト数nを1に設定し、現在TSをバースト始点のTS番号とする。更に、制御部27は、直前TSの到着パケット数に基づき、現在TSのパケット数が正から0に変化しなかった場合にバースト数nを+1インクリメントする。更に、制御部27は、直前TSの到着パケット数に基づき、現在TSの到着パケット数が正から0に変化した場合、TS観測数を+1インクリメントし、現在バースト数を最大バースト数に設定する。
制御部27は、TS観測数がX回の場合、(バースト始点-前マージン分)のTS番号から(バースト始点+最大バースト数+後マージン分)のTS番号までを第2のゲート22Bのクローズ区間となる。すなわち、第1のゲート22Aは常時オープンであるため、第2のゲート22Bのクローズ区間はMFHパケットの優先出力区間となる。
図11は、第1の定常監視処理に関わるパケット処理部12の処理動作の一例を示すフロー図である。図11において収集部24は、TS単位の高優先パケット(MFHパケット)の到着パケット数を取得したか否かを判定する(ステップS51)。解析部25は、高優先パケットの到着パケット数を取得した場合(ステップS51肯定)、クローズ始点TSa(バースト始点-前マージン分)の到着パケット数が正であるか否かを判定する(ステップS52)。
解析部25は、クローズ始点TSaの到着パケット数が正の場合(ステップS52肯定)、正常時はクローズ始点TSaの到着パケット数が0であるため、前方ズレと判断し、前方ズレ回数を+1インクリメントする(ステップS53)。そして、解析部25は、前方ズレ回数がズレ閾値を超えたか否かを判定する(ステップS54)。
解析部25は、前方ズレ回数がズレ閾値を超えた場合(ステップS54肯定)、クローズ始点TSa、バースト始点TSb及びクローズ終点TScのTS番号を+1デクリメントする(ステップS55)。更に、解析部25は、第2のゲート22Bの設定状態としてデクリメント後のクローズ始点TSaのTS番号をクローズ、デクリメント前のクローズ終点TScのTS番号をオープンに設定すべく、リストテーブル26を更新する(ステップS56)。そして、解析部25は、図11に示す処理動作を終了する。
解析部25は、クローズ始点TSaの到着パケット数が正でない場合(ステップS52否定)、バースト始点TSbの到着パケット数が0であるか否かを判定する(ステップS57)。解析部25は、バースト始点TSbの到着パケット数が0の場合(ステップS57肯定)、正常時のTSの到着パケット数が正であるため、後方ズレと判断し、後方ズレ回数を+1インクリメントする(ステップS58)。そして、解析部25は、後方ズレ回数がズレ閾値を超えたか否かを判定する(ステップS59)。
解析部25は、後方ズレ回数がズレ閾値を超えた場合に(ステップS59肯定)、クローズ始点TSa、バースト始点TSb及びクローズ終点TScのTS番号を+1インクリメントする(ステップS60)。制御部27は、第2のゲート22Bの設定状態として、インクリメント前のクローズ始点TSaのTS番号をオープン、インクリメント後のクローズ終点TScのTS番号をクローズに設定すべく、リストテーブル26を更新する(ステップS61)。そして、制御部27は、図11に示す処理動作を終了する。
解析部25は、バースト始点TSbの到着パケット数が0でない場合(ステップS57否定)、前方ズレ回数及び後方ズレ回数をリセットし(ステップS62)、図11に示す処理動作を終了する。収集部24は、TS単位の高優先パケット(MFHパケット)の到着パケット数を取得しなかった場合(ステップS51否定)、図11に示す処理動作を終了する。解析部25は、後方ズレ回数がズレ閾値を超えなかった場合(ステップS59否定)、又は、前方ズレ回数がズレ閾値を超えなかった場合(ステップS54否定)、図11に示す処理動作を終了する。
解析部25は、MFHパケットの到着パケット数を取得し、(バースト始点-前マージン分)、すなわちクローズ始点TSaの到着パケット数が正である場合、正常時のパケット数が0であるため、前方ズレ回数を+1インクリメントする。解析部25は、前方ズレ回数がズレ閾値を超えた場合、クローズ始点TSa、バースト始点TSb及びクローズ終点TScのTS番号を+1デクリメントする。更に、制御部27は、第2のゲート22Bの設定状態として、デクリメント後のクローズ始点TSaのTS番号をクローズ、デクリメント前のクローズ終点TScのTS番号をオープンに設定する。その結果、MFHパケットが前方1TS分移動した場合でも、第2のゲート22Bのクローズ区間を1TS分前方に移動する。
解析部25は、MFHパケットの到着パケット数を取得し、バースト始点TSbの到着パケット数が0の場合、正常時の到着パケット数が正であるため、後方ズレ回数を+1インクリメントする。解析部25は、後方ズレ回数がズレ閾値を超えた場合、クローズ始点TSa、バースト始点TSb及びクローズ終点TScのTS番号を+1インクリメントする。制御部27は、第2のゲート22Bの設定状態として、インクリメント前のクローズ始点TSaのTS番号をオープン、インクリメント後のクローズ終点TScのTS番号をクローズに設定する。その結果、MFHパケットが後方1TS分移動した場合でも、第2のゲート22Bのクローズ区間を1TS分後方に移動する。
パケット処理部12は、周期判定処理にて到着するMFHパケットの到着パケット数から観測周期のTS数及び滞留時間を取得する。更に、パケット処理部12は、クローズTS決定処理にて観測周期内のTS毎のMFHパケットの到着パケット数から観測周期内のMFHパケットの周期性パターン(バースト区間)を特定して第2のゲート22Bのクローズ区間(優先区間)を決定する。パケット処理部12は、システム運用開始前に周期判定処理及びクローズTS決定処理を実行し、これらの処理で得た観測周期及びクローズ区間を設定した後、運用を開始し、運用中に観測周期内の微小な周期誤差を補正する第1の定常監視処理を実行する。
図12は、第1の定常監視処理に関わる観測周期内のTS毎の情報収集タイミングの課題の一例を示す説明図である。連続する観測周期は、前方ズレの判定に使用する情報を収集する第11の期間T11と、後方ズレの判定に使用する情報を収集する第12の期間T12と、オープン状態を監視する第13の期間T13とを有する。第11の期間T11は、クローズ区間内のクローズ始点TSaの開始から終了までの1TS区間である。第12の期間T12は、クローズ区間内のバースト始点TSbの開始から終了までの1TS区間である。第13の期間T13は、バースト始点TSb直後からクローズ始点TSa直前までの区間である。
第1の定常監視処理では、図12に示すように観測周期内のクローズ区間内の第11の期間T11、第12の期間T12及び第13の期間の開始タイミングが密になるため、パケット処理部12及びCPU15の処理負担が大である。特に情報収集間隔がTS単位になるため、ソフトウェアにかかる平均負荷及び瞬時負荷が高くなる。しかも、第1の定常監視処理は、システム運用中に実行するため、システム運用開始前に実行する周期判定処理及びクローズTS決定処理に比較して処理負担が大である。
図13は、第1の定常監視処理での課題の一例を示す説明図である。図13に示す観測周期では、第1の定常監視処理に設定したバースト区間の他に、新たなバーストの発生や、バースト区間の変動が生じる場合がある。しかしながら、第1の定常監視処理を実行するパケット処理部12では、観測周期内のバースト区間の変動や、新たなバーストの発生等の周期性パターンの変動を検出することができない。
そこで、パケット処理部12は、システム運用中の処理負荷を軽減しながら、観測周期内の周期ズレを補正するすると共に、周期性パターンの変動を検出できる方法が求められている。そこで、図14に示すように解析部25内に新たな機能構成を追加した。
図14は、本実施例に関わる解析部25の機能構成の一例を示す説明図である。図14に示す解析部25は、第1の判定部25Aと、第2の判定部25Bと、切替部25Cと、第1の補正部25Dと、第2の補正部25Eと、第3の判定部25Fと、第4の判定部25Gとを有する。第1の判定部25Aは、観測周期内の後述する第1の期間T1内の到着パケット数を収集し、収集した到着パケット数に基づき、観測周期の前方ズレを判定する。第2の判定部25Bは、観測周期内の後述する第2の期間T2内の到着パケット数を収集し、収集した到着パケット数に基づき、観測周期の後方ズレを判定する。切替部25Cは、第1の期間T1→第3の期間T3→第2の期間T2→第3の期間T3→第1の期間T1→…の順に順次切り替える。
第1の補正部25Dは、正常な状態が継続した場合に第1の期間T1と第2の期間T2との間の間隔が長くなるように、第1の期間T1と第2の期間T2との間のスキップ区間を補正する。第2の補正部25Eは、前方ズレを検出した場合に観測周期を短くし、後方ズレを検出した場合に観測周期を長くすべく、観測周期内の複数のTSの内、任意のTSの間隔である滞留時間を補正する。第3の判定部25Fは、第1の期間T1内の到着パケット数の変動量に基づき、システム運用中の観測周期内のバースト区間内のトラヒック量の変動発生有無を判定する。第4の判定部25Gは、第3の期間T3内の到着パケット数の変動量に基づき、システム運用中の観測周期内の新たなバースト発生有無を判定する。
図15は、本実施例に関わる第2の定常監視処理に関わる観測周期内のTS毎の情報収集タイミングの一例を示す説明図である。連続する観測周期は、前方ズレの判定に使用する情報を収集する第1の期間T1と、後方ズレの判定に使用する情報を収集する第2の期間T2と、オープン状態を監視する第3の期間T3とを有する。第1の期間T1は、観測周期内のクローズ区間直後のTSc-1から次に到来するクローズ区間内のクローズ始点TSa終了までの区間である。第2の期間T2は、第1の期間T1直後のクローズ区間直後のTSc-1から次に到来するクローズ区間内のバースト区間のバースト始点TSbまでの区間である。第3の期間T3は、スキップ区間に相当し、第1の期間T1と第2の期間T2との間の区間である。
第1の期間T1及び第2の期間T2は、スキップ区間毎に交互に切り替わるため、第1の定常監視処理に比較して第1の期間T1及び第2の期間T2の情報収集回数を少なくできる。その結果、パケット処理部12及びCPU15の処理負担を大幅に軽減できる。
第1の判定部25Aは、第1の期間T1内で到着パケット数を収集し、第1の期間T1内で収集した到着パケット数に基づき、観測周期の前方ズレを判定する。第2の判定部25Bは、第2の期間T2内で到着パケット数を収集し、第2の期間T2内で収集した到着パケット数に基づき、観測周期の後方ズレを判定する。切替部25Cは、第1の期間T1→第3の期間T3→第2の期間T2→第3の期間T3→第1の期間T1→…の順に繰り返し期間を切替える。
図16は、第1の補正部25Dによる観測周期内の区間スキップ増加後の情報収集タイミングの一例を示す説明図である。第1の補正部25Dは、第1の判定部25Aにて前方ズレなしの判定結果及び、第2の判定部25Bにて後方ズレなしの判定結果を継続して検出した場合に正常回数をカウントする。第1の補正部25Dは、正常回数が正常閾値を超えた場合に、区間スキップ数を増加する方向に補正する。例えば、正常な状態が一定期間(N周期)の間に後方ズレ又は前方ズレ等が発生しない場合、区間スキップ数(SC数)を増加する。尚、スキップ区間はTS単位であって、区間スキップ数はTS単位で換算するものである。つまり、図16に示すように、第3の期間T3の区間が増加するものの、第1の期間T1及び第2の期間T2の情報収集回数を減らすことで処理負担を軽減できる。例えば、100周期連続でズレが発生しなかった場合、検出精度に支障のない範囲内で、例えば、観測周期の2倍相当の区間スキップ数を最大限まで拡張する。その結果、検出精度を維持しながら、第1の期間T1及び第2の期間T2の情報収集回数を削減することで処理負担を軽減できる。
第1の判定部25Aは、前方ズレ回数がズレ閾値を超えた場合、観測周期の前方ズレと判定する。第2の補正部25Eは、第1の判定部25Aから前方ズレを検出した場合、観測周期を短く、例えば、観測周期内の最終TSの滞留時間を短くする。図17は、第2の補正部25Eによる前方ズレ補正時のリストテーブル26の一例を示す説明図である。第2の補正部25Eは、観測周期を1216μsから1215μsに変更する場合、図17に示すように最終TSのTS番号“N”の滞留時間を216μsから215μsに補正する。その結果、観測周期を微調整して誤差を最小化することで、観測周期内の補正回数を少なくできる。
第2の判定部25Bは、後方ズレ回数がズレ閾値を超えた場合、観測周期の後方ズレと判定する。第2の補正部25Eは、第2の判定部25Bから後方ズレを検出した場合、観測周期を長く、例えば、観測周期内の最終TSの滞留時間を長くする。図18は、第2の補正部25Eによる後方ズレ補正時のリストテーブル26の一例を示す説明図である。第2の補正部25Eは、観測周期を1216μsから1217μsに変更する場合、図18に示すように最終TSのTS番号“N”の滞留時間を216μsから217μsに補正する。その結果、観測周期を微調整して誤差を最小化することで、観測周期内の補正回数を少なくできる。
図19は、第3の判定部25Fの処理動作の一例を示す説明図である。尚、観測周期内の第1の期間T1内のオープン区間に新たなバーストが発生したものとする。第3の判定部25Fは、第1の期間T1内の到着パケット数が第1の閾値を超えたか否かを判定する。第3の判定部25Fは、第1の期間T1内の到着パケット数が第1の閾値を超えた場合、図10に示すクローズTS決定処理に移行する。その結果、観測周期の内、オープン区間から新たなバーストの発生を検出できる。第3の判定部25Fは、図19に示すように到着パケット数が急激に増えて第1の閾値を超えた場合、オープン区間に新たなバーストが発生した可能性が大と判断し、クローズTS決定処理を実行する。これに対して、第3の判定部25Fは、図19に示すように到着パケット数が徐々に増えるだけで第1の閾値を超えない場合、観測周期のズレと判断する。
図20は、第4の判定部25Gの処理動作の一例を示す説明図である。尚、観測周期内のクローズ区間のバースト区間の到着パケット数が徐々に増加した場合を想定する。第4の判定部25Gは、第3の期間T3内の到着パケット数を取得し、取得した到着パケット数が初回の場合、この初回の到着パケット数を初期パケット数として記憶する。第4の判定部25Gは、((現在の到着パケット数/区間スキップ数(SC数))-初期パケット数)の絶対値を変動量として算出する。第4の判定部25Gは、変動量が変動閾値を超えた場合、変動回数を+1インクリメントする。そして、第4の判定部25Gは、変動回数が変動検出閾値を超えた場合に、観測周期内のバースト区間のトラヒック量が変動した可能性が大と判断し、クローズTS決定処理を実行する。つまり、変動量が変動閾値を超えた場合とは、第2の定常監視処理の第3の期間T3で初回に収集した到着パケット数、すなわち、初回パケット数に比較して第3の期間T3内の到着パケット数が大きく上下に変動している状態である。その結果、パケット処理部12は、システム運用中に、観測周期内のバースト区間の到着パケット数の変動を検出できる。
図21は、本実施例に関わる観測周期内のTS毎の情報収集タイミングの一例を示す説明図である。図21に示す監視周期は、第1の期間T1→第3の期間T3→第2の期間T2→第3の期間T3→第1の期間T1→…の順に順次切替える。第1の判定部25Aは、第1の期間T1内の全TSの到着パケット数PKTrを取得する。第4の判定部25Gは、第3の期間T3内の全TSの到着パケット数PKTbを取得する。第2の判定部25Bは、第2の期間T2内の全TSの到着パケット数PKTgを取得する。
図22乃至図25は、第2の定常監視処理に関わるパケット処理部12の処理動作の一例を示すフロー図である。図22において解析部25は、観測周期、クローズ始点TSa、バースト始点TSb及びクローズ終点TScを設定する(ステップS71)。解析部25は、スキップ周期数、前方ズレ回数、後方ズレ回数、正常回数、新規検出回数及び変動回数をリセットする(ステップS72)。解析部25内の第1の判定部25Aは、第1の期間T1を開始したか否かを判定する(ステップS73)。尚、第1の期間T1は、直前の観測周期のTSc-1から次に到来するクローズ区間のクローズ始点TSa完了までの区間である。
第1の判定部25Aは、第1の期間T1を開始した場合(ステップS73肯定)、第1の期間T1内のTSc-1からTS毎の到着パケット数を順次収集し、第1の期間T1内の全TSの到着パケット数PKTrを取得する(ステップS74)。第1の判定部25Aは、取得した到着パケット数PKTrが“0”であるか否かを判定する(ステップS75)。尚、到着パケット数PKTrの期待値は、TSc-1からクローズ始点TSaまでの到着パケット数が“0”である。第1の判定部25Aは、到着パケット数PKTrが“0”の場合(ステップS75肯定)、観測周期の前方ズレなしと判断する。解析部25内の第4の判定部25Gは、観測周期の前方ズレなしと判断し、第3の期間T3を開始したか否かを判定する(ステップS76)。尚、第3の期間T3は、第1の期間T1直後のTSから第2の期間T2の直前のTSまでの所定観測周期数分のスキップ区間、又は、第2の期間T2直後のTSから第1の期間T1のTSまでの所定観測周期数分のスキップ区間である。
第4の判定部25Gは、第3の期間T3を開始した場合(ステップS76肯定)、第3の期間T3内の始点TSからTS毎の到着パケット数を順次収集し、第3の期間T3内の全TSの到着パケット数PKTbを取得する(ステップS77)。第4の判定部25Gは、取得した到着パケット数PKTbが初回であるか否かを判定する(ステップS78)。
第4の判定部25Gは、取得した到着パケット数PKTbが初回である場合(ステップS78肯定)、現在の到着パケット数PKTbを初期パケット数として記憶する(ステップS79)。そして、第4の判定部25Gは、(現在の到着PKTb/SC数-初期パケット数)の絶対値でPKTb変動量を算出する(ステップS80)。第4の判定部25Gは、PKTb変動量が変動閾値を超えたか否かを判定する(ステップS81)。
第4の判定部25Gは、PKTb変動量が変動閾値を超えなかった場合(ステップS81否定)、変動回数をリセットする(ステップS82)。そして、解析部25内の第2の判定部25Bは、第2の期間T2を開始したか否かを判定する(ステップS83)。尚、第2の期間T2は、直前の観測周期のTSc-1から次に到来するバースト区間のバースト始点TSb完了までの区間である。
第2の判定部25Bは、第2の期間T2を開始した場合(ステップS83肯定)、第2の期間T2内の始点TSからTS毎の到着パケット数を順次収集し、第2の期間T2内の全TSの到着パケット数PKTgを取得すべく、図23に示すM1に移行する。
第1の判定部25Aは、第1の期間T1を開始したのでない場合(ステップS73否定)、第1の期間T1を開始したか否かを判定すべく、ステップS73に移行する。第4の判定部25Gは、第3の期間T3を開始したのでない場合(ステップS76否定)、第3の期間T3を開始したか否かを判定すべく、ステップS76に移行する。第4の判定部25Gは、到着パケット数PKTbが初回でない場合(ステップS78否定)、PKTb変動量を算出すべく、ステップS80に移行する。
第4の判定部25Gは、PKTb変動量が変動閾値を超えた場合(ステップS81否定)、変動回数を+1インクリメントし(ステップS84)、変動回数が変動検出閾値を超えたか否かを判定する(ステップS85)。第4の判定部25Gは、変動回数が変動検出閾値を超えた場合(ステップS85肯定)、図10に示すクローズTS決定処理を移行する(ステップS86)。第2の判定部25Bは、第2の期間T2を開始したのでない場合(ステップS83否定)、第2の期間T2を開始したか否かを判定すべく、ステップS83に移行する。
図23に示すM1において第2の判定部25Bは、第2の期間T2内の全TSの到着パケット数PKTgを取得し(ステップS91)、到着パケット数PKTgが“0”であるか否かを判定する(ステップS92)。尚、到着パケット数PKTgの期待値は、TSc-1からバースト始点TSbまでの到着パケット数が“正”である。第2の判定部25Bは、到着パケット数PKTgが“0”でない場合(ステップS92否定)、すなわち到着パケット数PKTgが“正”であると判断し、前方ズレ回数及び後方ズレ回数をリセットする(ステップS93)。更に、解析部25内の第1の補正部25Dは、正常回数を+1インクリメントし(ステップS94)、正常回数が正常閾値を超えたか否かを判定する(ステップS95)。
第1の補正部25Dは、正常回数が正常閾値を超えた場合(ステップS95肯定)、スキップ区間数SCをk回増加し(ステップS96)、正常回数をリセットする(ステップS97)。そして、第1の判定部25Aは、第1の期間T1を開始したか否かを判定すべく、図22に示すM2に移行する。
第2の判定部25Bは、到着パケット数PKTgが“0”である場合(ステップS92肯定)、観測周期の後方ズレと判断し、図25に示すM5に移行する。第1の補正部25Dは、正常回数が正常閾値を超えたのでない場合(ステップS95否定)、第1の期間T1を開始したか否かを判定すべく、図22に示すM2に移行する。
図24に示すM3において第3の判定部25Fは、図22に示す第1の期間T1の到着パケット数PKTrが“0”でない場合(ステップS75否定)、観測周期のズレと判断し、到着パケット数PKTrが所定閾値を超えたか否を判定する(ステップS101)。第1の判定部25Aは、到着パケット数PKTrが所定閾値を超えのでない場合(ステップS101否定)、観測周期の前方ズレの虞ありと判断し、前方ズレ回数を+1インクリメントし(ステップS102)、正常回数をリセットする(ステップS103)。
第1の判定部25Aは、前方ズレ回数がズレ閾値を超えた場合(ステップS104肯定)、観測周期の前方ズレと判断する(ステップS105)。そして、第2の補正部25Eは、クローズ始点TSaのTS番号、バースト始点TSbのTS番号及びクローズ終点TScのTS番号を+1デクリメントする(ステップS106)。更に、第2の補正部25Eは、第2のゲート22bの設定状態として、デクリメント後のクローズ始点TSaをクローズ、デクリメント前のクローズ終点TScをオープンに設定すべく、リストテーブル26を更新する(ステップS107)。そして、第2の補正部25Eは、観測周期をm秒短くすべく、観測周期内の最終TSの滞留時間を短く設定し(ステップS108)、第3の期間T3を開始したか否かを判定すべく、図22に示すM4に移行する。
解析部25内の第3の判定部25Fは、到着パケット数PKTrが所定閾値を超えた場合(ステップS101肯定)、新規検出回数を+1インクリメントし(ステップS109肯定)、正常回数をリセットする(ステップS110)。更に、第3の判定部25Fは、新規検出回数が新規検出閾値を超えたか否かを判定する(ステップS111)。第3の判定部25Fは、新規検出回数が新規検出閾値を超えた場合(ステップS111肯定)、図10に示すクローズTS決定処理に移行する(ステップS112)。
第4の判定部25Gは、新規検出回数が新規検出閾値を超えていない場合(ステップS111否定)、第3の期間T3を開始したか否かを判定すべく、図22に示すM4に移行する。また、第1の判定部25Aは、前方ズレ回数がズレ閾値を超えていない場合(ステップS104否定)、図22に示すM4に移行する。
図25に示すM5において第2の判定部25Bは、到着パケット数PKTgが“0”の場合(ステップS92肯定)、後方ズレの虞ありと判断し、後方ズレ回数を+1インクリメントし(ステップS121)、正常回数をリセットする(ステップS122)。第2の判定部25Bは、後方ズレ回数がズレ閾値を超えたか否かを判定する(ステップS123)。第2の補正部25Eは、後方ズレ回数がズレ閾値を超えた場合(ステップS123肯定)、後方ズレと判断し(ステップS124)、クローズ始点TSa、バースト始点TSb及びクローズ終点TScのTS番号を+1インクリメントする(ステップS125)。第2の補正部25Eは、第2のゲート22Bの設定状態として、インクリメント前のクローズ始点TSaのTS番号をオープン、インクリメント後のクローズ終点TScのTS番号をクローズに設定すべく、リストテーブル26を更新する(ステップS126)。第2の補正部25Eは、観測周期をn秒長くすべく、観測周期内の最終TSの滞留時間を長く設定し(ステップS127)、第1の期間T1を開始したか否かを判定すべく、図22に示すM2に移行する。
本実施例のパケット処理部12内の第1の判定部25Aは、観測周期内のクローズ区間直後のTSc-1から次に到来するクローズ始点TSa終了までの第1の期間T1内で到着パケット数を収集する。第1の判定部25Aは、収集した到着パケット数が正の場合に観測周期の前方ズレを判定する。第2の判定部25Bは、第1の期間T1後のTSc-1から、次に到来するバースト始点TSb終了までの第2の期間T2内で到着パケット数を収集する。第2の判定部25Bは、収集した到着パケット数が0の場合に観測周期の後方ズレを判定する。第1の期間T1及び第2の期間T2の情報収集の開始間隔を広く空けることでパケット処理部12の処理負担を軽減できる。しかも、情報収集負荷削減のため、収集結果から現在のズレ幅を学習し、ズレ検出が行えるギリギリまで収集間隔を延ばし、ズレ方向や検出間隔に基づいて観測周期を調整し、ズレ幅自体を削減できる。しかも、処理負荷が下がることで、電力、低性能CPUの採用、低価格スイッチ製品の採用の幅が広がる。
パケット処理部12内の第1の補正部25Dは、前方ズレなしの判定結果及び、後方ズレなしの判定結果を継続して検出した場合にカウントする正常回数が正常閾値を超えた場合に、第1の期間T1と第2の期間T2との間のスキップ区間数を増加する。その結果、正常な状態が継続している場合に第1の期間T1及び第2の期間T2の情報収集の開始間隔を更に広く空けることでパケット処理部12の処理負担を軽減できる。
パケット処理部12内の第2の補正部25Eは、前方ズレありの判定結果を検出した場合にカウントする前方ズレ回数がズレ閾値を超えた場合に観測周期を短くすべく、観測周期内の複数のTSの内、最終TSの滞留時間を短く補正する。第2の補正部25Eは、後方ズレありの判定結果を検出した場合にカウントする後方ズレ回数がズレ閾値を超えた場合に観測周期を長くすべく、観測周期内の複数のTSの内、最終TSの滞留時間を長く補正する。その結果、システム運用中に観測周期内にズレが発生した場合でも周期ズレを補正できる。
パケット処理部12内の第3の判定部25Fは、第1の期間T1内の到着パケット数が所定閾値を超えた場合にカウントする新規検出回数が新規検出閾値を超えた場合に、観測周期及びバースト区間を再解析すべく、クローズTS決定処理に移行する。その結果、システム運用中に観測周期内で新たなトラヒックが発生した場合でも、その発生を検出しながら、観測周期及びバースト区間を再解析できる。
パケット処理部12内の第4の判定部25Gは、第1の期間直後のタイムスロットTSc-1から第2の期間T2直前のTSまでの第3の期間T3内の到着パケット数を収集し、収集した到着パケット数のPKTb変動量が閾値を超えたか否かを判定する。第4の判定部25Gは、第3の期間T3内の到着パケットのPKTb変動量が閾値を超えた場合にカウントする変動回数が変動検出閾値を超えた場合に、観測周期及びバースト区間を再解析すべく、クローズTS決定処理に移行する。その結果、システム運用中に観測周期内のバースト区間が変動した場合でも、その変動を検出しながら、観測周期及びバースト区間を再解析できる。
パケットスイッチ7は、リストテーブル26を参照し、MFHパケットを優先出力するバースト間の第1のゲート22A及び第2のゲート22Bを制御する。その結果、パケットスイッチ7は、リストテーブル26を参照し、MFHパケットの優先出力を実現できる。パケットスイッチ7は、周期性パターンに基づき、受信パケットのTS数、TS間隔及び、当該TS毎の種別毎の第1のゲート22A及び第2のゲート22Bの設定状態を特定し、特定された内容にリストテーブル26の内容を更新する。その結果、パケットスイッチ7は、リストテーブル26の内容を自律的に更新できるので、高優先パケットの出力遅延を抑制できる。
上記実施例では、第2の補正部25Eが観測周期を調整する場合に観測周期内の最終TSの滞留時間を補正する場合を例示したが、最終TSに限定されるものではなく、観測周期内のTSの内、バースト区間以外のTSの滞留時間を補正するようにしても良い。
上記実施例では、MFHパケットを高優先パケット及び非MFHパケットの低優先パケットの2種類としたが、2種類に限定されるものではなく、適宜変更可能である。例えば、優先度を3種類のパケットとした場合、3個のゲートを配置し、リストテーブル26内の各ゲートの設定状態を格納するものとする。
上記実施例では、第4世代移動通信システムの無線信号のサブフレームの時間幅として1m秒としたが、1m秒に限定されるものではなく、例えば、第5世代移動通信システムの無線信号に対応すべく、サブフレームの時間幅は適宜変更可能である。
上記実施例では、解析部25、制御部27及びリストテーブル26をパケット処理部12に配置したが、例えば、解析部25、制御部27、リストテーブル26をCPU15内部に配置しても良く、適宜変更可能である。
上記実施例では、サブフレームの1周期をN個のTSとしたが、周期性を保持できれば良く、サブフレームの1周期をNの倍数に設定しても良く、適宜変更可能である。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置内のCPU等のプロセッサで実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図26は、パケット処理プログラムを実行するコンピュータの一例を示す説明図である。
図26に示すパケット処理プログラムを実行するコンピュータ100は、通信IF110と、ROM(read Only Memory)120と、RAM(Random Access Memory)130と、CPU140とを有する。更に、通信IF110、ROM120、RAM130及びCPU140は、バス150を介して接続される。通信IF110は、パケットを受信する。コンピュータ100は、所定時間のタイムスロット毎に受信した到着パケットの処理を実行する。通信IF110は、到着パケットの種別毎に到着パケットを格納する複数の格納部110Aと、各格納部110Aの出力を開閉するゲート110Bとを有する。
そして、ROM120には、上記実施例と同様の機能を発揮するパケット処理プログラムが予め記憶されている。ROM120は、パケット処理プログラムとして解析プログラム120A、制御プログラム120B、第1の判定プログラム120C及び第2の判定プログラム120Dが記憶されている。尚、ROM120ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体にパケット処理プログラムが記録されていても良い。また、記録媒体としては、例えば、CD-ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
そして、CPU140は、解析プログラム120AをROM120から読み出し、RAM130上に解析プロセス130Aを機能として展開する。更に、CPU140は、制御プログラム120BをROM120から読み出し、RAM130上に制御プロセス130Bを機能として展開する。更に、CPU140は、第1の判定プログラム120CをROM120から読み出し、RAM130上に第1の判定プロセス130Cを機能として展開する。更に、CPU140は、第2の判定プログラム120DをROM120から読み出し、RAM130上に第2の判定プロセス130Dを機能として展開する。
CPU140は、タイムスロット毎の到着パケット数に基づき、到着パケットが到着するバースト区間及びバースト区間が観測される観測周期を測定する。CPU140は、バースト区間と、当該バースト区間の直前及び直後のタイムスロットとを含んだ期間であって、かつ、所定種別の到着パケットを優先的に出力する優先区間における各ゲートの開閉を制御する。CPU140は、優先区間直後のタイムスロットから次に到来する優先区間内の始点タイムスロット終了までの第1の期間内で到着パケット数を収集し、収集した到着パケット数が正の場合に観測周期の前方ズレを判定する。CPU140は、第1の期間後における優先区間直後のタイムスロットから、次に到来する優先区間内のバースト区間の始点タイムスロット終了までの第2の期間内で到着パケット数を収集し、収集した到着パケット数が0の場合に観測周期の後方ズレを判定する。その結果、高優先パケットの出力遅延を抑制しながら、第1の期間及び第2の期間の情報収集間隔に間を空けることで処理負担を軽減できる。