(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128869
(43)【公開日】2023-09-14
(54)【発明の名称】パケット処理装置及びパケット処理方法
(51)【国際特許分類】
H04J 3/16 20060101AFI20230907BHJP
H04L 47/28 20220101ALI20230907BHJP
【FI】
H04J3/16 A
H04L47/28
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022033517
(22)【出願日】2022-03-04
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】畑 彰宏
【テーマコード(参考)】
5K028
5K030
【Fターム(参考)】
5K028AA11
5K028DD01
5K028DD02
5K028JJ02
5K028KK32
5K028LL12
5K030GA02
5K030HA08
5K030JA11
5K030LC01
5K030MA04
(57)【要約】
【課題】同一種別のパケット内の異なるサービス間のタイミング競合を回避できるパケット処理装置等を提供する。
【解決手段】iTAS装置は、ゲートと、第1の決定部と、ゲート制御部と、第2の決定部と、制御部とを有する。各ゲートは、サービス毎に備え、TS単位でパケットの出力を開閉する。第1の決定部は、演算パラメータを用いて現在TSでのゲートの開閉情報をサービス毎に決定する。ゲート制御部は、サービス毎の現在TSでの開閉情報に基づき、各ゲートの開閉を制御する。第2の決定部は、演算パラメータを用いて現在からN秒後の予測TSでのゲートの開閉情報をサービス毎に決定する。制御部は、サービス毎の予測TSでの開閉情報内にサービス間の競合を検出した場合に、サービス毎の優先順位に基づき、サービス間の競合を回避するように演算パラメータを変更し、変更後の演算パラメータを用いて現時点の新たなTSの開閉情報を決定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
サービス毎に備え、タイムスロット単位でパケットの出力を開閉するゲートと、
前記タイムスロットの受信タイミング毎に、設定された演算パラメータを用いて現時点の第1のタイムスロットでの当該ゲートの開閉情報を前記サービス毎に決定する第1の決定部と、
前記第1の決定部にて決定された前記サービス毎の現時点の第1のタイムスロットでの開閉情報に基づき、各ゲートの開閉を制御するゲート制御部と、
前記受信タイミング毎に、前記演算パラメータを用いて、前記現時点から所定タイミング後の第2のタイムスロットでの当該ゲートの開閉情報を前記サービス毎に決定する第2の決定部と、
前記第2の決定部にて決定された、前記サービス毎の前記所定タイミング後の第2のタイムスロットでの開閉情報内にサービス間のタイミング競合を検出する検出部と、
前記タイミング競合を検出した場合に、サービス毎の優先順位に基づき、サービス間のタイミング競合を回避するように設定された前記演算パラメータの内容を変更し、前記所定タイミングが到来する前までに変更後の演算パラメータを設定し直す制御部と、を有し、
前記第1の決定部は、
変更後の演算パラメータを設定した後の前記受信タイミング毎に、設定された変更後の演算パラメータを用いて、現時点の新たな第1のタイムスロットでの開閉情報を前記サービス毎に決定することを特徴とするパケット処理装置。
【請求項2】
現在カウンタ値をカウントするカウンタを有し、
前記第1の決定部は、
前記現在カウンタ値と、前記サービスの前記パケットを観測する周期を含む前記演算パラメータとを用いて、前記現時点の第1のタイムスロットでの開閉情報を前記サービス毎に決定すると共に、
前記第2の決定部は、
前記現在カウンタ値から所定タイミング後のカウンタ値と、前記演算パラメータとを用いて、前記現時点から所定タイミング後の第2のタイムスロットでの開閉情報を前記サービス毎に決定することを特徴とする請求項1に記載のパケット処理装置。
【請求項3】
前記検出部は、
前記所定タイミング後の第2のタイムスロットでの開閉情報内にサービス間のタイミング競合として、サービス間のパケットの出力期間及びガードタイム期間のタイミング競合を検出することを特徴とする請求項1又は2に記載のパケット処理装置。
【請求項4】
前記検出部は、
前記所定タイミング後の第2のタイムスロットでの開閉情報内にサービス間のタイミング競合として、サービス間のパケットの出力期間のタイミング競合を検出することを特徴とする請求項1又は2に記載のパケット処理装置。
【請求項5】
前記演算パラメータは、
前記サービス毎の前記パケットの転送周期である転送周期タイムスロット数、前記転送周期タイムスロット数の内、前記サービス毎の前記パケットのガードタイム期間を示すガードタイムスロット数、前記転送周期タイムスロット数の内、前記サービス毎のゲートのオープン期間を示すオープンタイムスロット数及び、前記転送周期タイムスロット数の内、前記サービス毎の前記パケットの出力を開始するスロット番号を示す転送周期オフセットタイムスロット数を含むことを特徴とする請求項2に記載のパケット処理装置。
【請求項6】
前記制御部は、
前記サービス間のタイミング競合を回避するように前記演算パラメータ内の前記転送周期オフセットタイムスロット数を変更することを特徴とする請求項5に記載のパケット処理装置。
【請求項7】
MFH(Mobile Front Haul)回線内を伝送する異なる種別のサービスのMFHパケットを前記パケットとして出力することを特徴とする請求項1~6の何れか一つに記載のパケット処理装置。
【請求項8】
前記第1の決定部は、
前記サービス毎の前記転送周期タイムスロット数、前記サービス毎の前記ガードタイムスロット数、前記サービス毎の前記オープンタイムスロット数及び、前記サービス毎の前記転送周期オフセットタイムスロット数に基づき、前記現在カウンタ値から前記現時点の第1のタイムスロットでの開閉情報を前記サービス毎に決定すると共に、
前記第2の決定部は、
前記サービス毎の前記転送周期タイムスロット数、前記サービス毎の前記ガードタイムスロット数、前記サービス毎の前記オープンタイムスロット数及び、前記サービス毎の前記転送周期オフセットタイムスロット数に基づき、前記現在カウンタ値から前記所定タイミング後の第2のタイムスロットでの開閉情報を前記サービス毎に決定することを特徴とする請求項5に記載のパケット処理装置。
【請求項9】
前記制御部は、
他のパケット処理装置と接続し、前記変更後の演算パラメータを前記他のパケット処理装置に転送することを特徴とする請求項1~8の何れか一つに記載のパケット処理装置。
【請求項10】
前記制御部は、
前記サービス間の競合するタイミングと、当該競合するタイミング直前の競合する前記パケットの出力タイミングとの間で前記変更後の演算パラメータを前記他のパケット処理装置に転送することを特徴とする請求項9に記載のパケット処理装置。
【請求項11】
サービス毎に備え、タイムスロット単位でパケットの出力を開閉するゲートと、各ゲートの開閉を制御するゲート制御部とを有するパケット処理装置が、
前記タイムスロットの受信タイミング毎に、設定された演算パラメータを用いて現時点の第1のタイムスロットでの当該ゲートの開閉情報を前記サービス毎に決定し、
決定されたサービス毎の前記現時点の第1のタイムスロットでの開閉情報に基づき、各ゲートの開閉を制御し、
前記受信タイミング毎に、前記演算パラメータを用いて、前記現時点から所定タイミング後の第2のタイムスロットでの当該ゲートの開閉情報を前記サービス毎に決定し、
決定されたサービス毎の前記所定タイミング後の第2のタイムスロットでの開閉情報内にサービス間のタイミング競合を検出した場合に、前記サービス毎の優先順位に基づき、前記サービス間のタイミング競合を回避するように設定された前記演算パラメータの内容を変更し、前記所定タイミングが到来する前までに変更後の演算パラメータを設定し直し、
変更後の演算パラメータを設定した後の前記受信タイミング毎に、設定された変更後の演算パラメータを用いて、現時点の新たな第1のタイムスロットでの開閉情報を前記サービス毎に決定する
処理を実行することを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット処理装置及びパケット処理方法に関する。
【背景技術】
【0002】
近年、第5世代移動通信システム(5G)の実現に向け、BBU(Baseband Unit)及びRRH(Remote Radio Head)や、CU(Centralized Unit)、DU(Distributed Unit)及びRU(Radio Unit)で構成するC-RAN(Centralized Radio Access Network)が検討されている。DUとRUとの間のMFH(Mobile Front Haul)回線は、無線の信号をEther Frameに格納して伝送するeCPRI(Enhanced Common Public Radio Interface)方式の採用が検討されている。
【0003】
MFH回線と接続する通信システムでは、情報がレイヤ2パケットとして扱われるため、基地局間を接続するMBH(Mobile Back Haul)回線や有線ネットワーク等との間でネットワークを共有できる。しかしながら、通信システムでは、MFH回線からのMFHパケットが、他のパケット、例えば、MBH回線からのMBHパケットとのタイミング競合で出力遅延が生じるため、出力遅延を抑制する優先制御処理が知られている。優先制御処理は、後続の高優先パケットが、キューイングされている低優先パケットを追い越して優先的に読み出されることになるため、高優先パケット、すなわちMFHパケットの出力遅延を抑制できる。
【0004】
しかしながら、優先制御処理では、低優先パケットの読出し中に高優先パケットが到着した場合、読出し中の低優先パケットの読出出力が完了するまでは高優先パケットの読出動作を停止することになる。その結果、最大で約1パケット分の待ちが生じることになる。例えば、リンク速度が1Gbps、パケット長が9000バイトの場合、約7μ秒の出力遅延となる。MFH回線では、RUとDUとの間で100μ秒以下の出力遅延が求められているため、多段ノード構成の場合、この1パケット分の出力遅延が無視できなくなる。
【0005】
そこで、更なる出力遅延を抑制する方法としてIEEE(Institute of Electrical and Electronics Engineers)802.1TSN(Time Sensitive Networking)が検討されている。TSNには、パケットの出力遅延を抑制するデータプレーン機能としてIEEE802.1QbvというTAS(Time Aware Shaper)方式がある。
【0006】
TAS技術を採用したパケット処理装置であるTAS装置では、受信パケットの種別毎に設けられたゲートの開閉を制御するGCL(Gate Control List)に基づき、各ゲートを開閉する。各ゲートは、MFHパケットの出力を開閉するゲートと、MBHパケットの出力を開閉するゲートとを有する。GCLは、MFHパケットのトラフィックパターンを利用してTS(Time Slot)毎の各ゲートの開閉を制御する開閉情報を管理している。TAS装置は、GCLを参照してTS毎の各ゲートの開閉を制御することで、MFHパケットを優先的に出力できる。
【0007】
また、TAS装置では、マイクロ秒オーダの非常にセンシティブなゲート開閉設定を実現するために、それを維持する仕組が求められている。そこで、TAS装置では、MFHパケット及びMBHパケットのタイミングを取得し、これらパケットの転送周期・位相等を自律学習する。そして、TAS装置では、自律学習した内容に基づき、MFHパケット又はMFHパケットの出力タイミングを管理するGCLのテーブル内容を修正するiTAS(Intelligent TAS)技術を採用している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2019-176276号公報
【特許文献2】特開2015-99951号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、同一種別のMFHパケットの中にも、遅延要求、帯域や転送周期が異なる複数種別のクラス等のサービスが存在する。MFHパケットのサービスとしては、遅延要求、帯域や転送周期が異なるユーザ端末のMFHパケットや、遅延要求、帯域や転送周期が異なる各クラスのMFHパケットである。そこで、iTAS技術を採用したパケット処理装置であるiTAS装置では、同一種別のMFHパケット内の異なるサービス間のタイミング競合も想定されることになる。そこで、同一種別のMFHパケット内の異なるサービス間のタイミング競合を回避できるiTAS装置が求められているのが実情である。
【0010】
一つの側面では、同一種別のパケット内の異なるサービス間のタイミング競合を回避できるパケット処理装置等を提供する。
【課題を解決するための手段】
【0011】
一つの態様のパケット処理装置は、ゲートと、第1の決定部と、ゲート制御部と、第2の決定部と、検出部と、制御部とを有する。ゲートは、サービス毎に備え、タイムスロット単位でパケットの出力を開閉する。第1の決定部は、前記タイムスロットの受信タイミング毎に、設定された演算パラメータを用いて現時点の第1のタイムスロットでの当該ゲートの開閉情報を前記サービス毎に決定する。ゲート制御部は、前記第1の決定部にて決定された前記サービス毎の現時点の第1のタイムスロットでの開閉情報に基づき、各ゲートの開閉を制御する。第2の決定部は、前記受信タイミング毎に、前記演算パラメータを用いて、前記現時点から所定タイミング後の第2のタイムスロットでの当該ゲートの開閉情報を前記サービス毎に決定する。検出部は、前記第2の決定部にて決定された、前記サービス毎の前記所定タイミング後の第2のタイムスロットでの開閉情報内にサービス間のタイミング競合を検出する。制御部は、前記タイミング競合を検出した場合に、サービス毎の優先順位に基づき、サービス間のタイミング競合を回避するように設定された前記演算パラメータの内容を変更し、前記所定タイミングが到来する前までに変更後の演算パラメータを設定し直す。第1の決定部は、変更後の演算パラメータを設定した後の前記受信タイミング毎に、設定された変更後の演算パラメータを用いて、現時点の新たな第1のタイムスロットでの開閉情報を前記サービス毎に決定する。
【発明の効果】
【0012】
一つの態様では、同一種別のパケット内の異なるサービス間のタイミング競合を回避できる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、通信システムの一例を示す説明図である。
【
図2】
図2は、iTAS装置のハードウェア構成の一例を示す説明図である。
【
図3】
図3は、パケット処理部内の制御部の機能構成の一例を示す説明図である。
【
図4】
図4は、開閉判定処理に関わるパケット処理部の処理動作の一例を示す説明図である。
【
図5】
図5は、開閉予測処理に関わるパケット処理部の処理動作の一例を示す説明図である。
【
図6】
図6は、調停処理に関わるパケット処理部の処理動作の一例を示す説明図である。
【
図7】
図7は、調停情報の転送タイミングの一例を示す説明図である。
【
図8】
図8は、開閉判定処理に関わる第1の決定部の処理動作の一例を示すフローチャートである。
【
図9】
図9は、開閉予測処理に関わる第2の決定部の処理動作の一例を示すフローチャートである。
【
図10】
図10は、調停処理に関わる調停部の処理動作の一例を示すフローチャートである。
【
図11】
図11は、調停処理に関わる通信システムの処理動作の一例を示す説明図である。
【
図12】
図12は、比較例のiTAS装置のハードウェア構成の一例を示す説明図である。
【
図13】
図13は、比較例のiTAS装置で使用するGCLの一例を示す説明図である。
【
図14】
図14は、比較例のクラス間のタイミング競合時のGCLの更新動作の一例を示す説明図である。
【
図15】
図15は、比較例のサービス間の競合タイミングの課題の一例を示す説明図である。
【
図16】
図16は、比較例のサービス間の競合タイミングの課題の一例を示す説明図である。
【発明を実施するための形態】
【0014】
比較例の通信システムは、MBH回線からのMBHパケット及びMFH回線からのMFHパケットを切替出力する複数のiTAS装置を有する。各iTAS装置は、MFHパケットの優先出力は勿論のこと、同一種別のMFHパケット内の異なるサービス間のタイミング競合も回避できる。
【0015】
図12は、比較例のiTAS装置100のハードウェア構成の一例を示す説明図である。
図12に示すiTAS装置100は、入出力IF(Interface)101と、複数のパケット処理部102と、SW(Switch)103と、メモリ104と、CPU(Central Processing Unit)105とを有する。入出力IF101は、MBH回線やMFH回線等の各種回線と接続し、パケットを入出力するIFである。入出力IF101は、例えば、RU、DU、他のiTAS装置100と接続する。パケット処理部102は、iTAS方式を適用したパケット処理を実行する。SW103は、パケット処理部102の入出力を切替えるスイッチである。メモリ104は、各種情報を記憶する領域である。CPU105は、iTAS装置100全体を制御する。
【0016】
パケット処理部102は、MFHパケットの優先出力は勿論のこと、同一種別のMFHパケットのクラス毎に各クラスのMFHパケットの出力タイミングを制御する。パケット処理部102は、複数のキュー111と、複数のゲート112と、MUX(Multiplexer)113と、MAC114と、統計情報記憶部115と、TS管理部116と、収集部117と、解析部118と、制御部119とを有する。
【0017】
各キュー111は、到来する受信パケットの種別毎に備え、種別毎の受信パケットをキューイングする格納部である。尚、受信パケットの種別としては、例えば、MFHパケット及びMBHパケットを有する。MFHパケットは、高優先パケットであるのに対し、MBHパケットは、MFHパケットに比較して低優先の低優先パケットである。また、MFHパケットは、例えば、複数種別の異なるクラスC0~C7のパケットを有する。各クラスは、例えば、低遅延要求、帯域や転送周期が異なるサービスである。
【0018】
複数のキュー111内の第1のキュー111Aは、到来する受信パケットの内、MBHパケットをキューンイングする格納部である。また、複数のキュー111内の第2のキュー111Bは、到来する受信パケットのMFHパケットの内、例えば、クラスC0のMFHパケットをキューイングする格納部である。また、複数のキュー111内の第3のキュー111C(図示省略)は、到来する受信パケットのMFHパケットの内、例えば、クラスC1のMFHパケットをキューイングする格納部である。また、複数のキュー111内の第4のキュー111D(図示省略)は、到来する受信パケットのMFHパケットの内、例えば、クラスC2のMFHパケットをキューイングする格納部である。つまり、MFHパケットのクラス毎にキュー111を備えるものとする。
【0019】
SW103は、受信パケット内のVLANタグのPビットを識別し、その識別結果に基づき、受信パケットの種別に応じたキュー111に当該種別の受信パケットを転送するものである。
【0020】
各ゲート112は、キュー111毎に備え、キュー111に格納中の受信パケットの出力をTS単位で開閉する。複数のゲート112の内、第1のゲート112Aは、第1のキュー111A内のMBHパケットの出力をTS単位で開閉する。複数のゲート112の内、第2のゲート112Bは、第2のキュー111B内のクラスC0のMFHパケットの出力をTS単位で開閉する。複数のゲート112の内、第3のゲート112C(図示省略)は、第3のキュー111C内のクラスC1のMFHパケットの出力をTS単位で開閉する。複数のゲート112の内、第4のゲート112D(図示省略)は、第4のキュー111D内のクラスC3のMFHパケットの出力をTS単位で開閉する。つまり、MFHパケットのクラス毎にゲート112を備えるものとする。
【0021】
MUX113は、各ゲート112の出力パケットを選択出力する。MAC114は、MUX113の出力パケットにMACアドレスを付加し、付加した出力パケットを入出力IF101に出力する。統計情報記憶部115は、受信パケットの周期パターンを統計情報として記憶する領域である。TS管理部116は、現在TS(Time Slot)をカウントするカウンタである。
【0022】
収集部117は、受信パケットの統計情報を収集する。統計情報は、時間帯毎の受信パケット量である。尚、パケット量は、例えば、パケット数やバイト数である。解析部118は、受信パケットの統計情報を解析し、受信パケットの周期性及びパターン等の周期性パターンを特定する。解析部118は、受信パケットの到着間隔(周期性)及びパターン(平均到着量、バーストの揺らぎ度合)を学習する。
【0023】
制御部119は、パケット処理部102全体を制御する。制御部119は、GCL121と、ゲート制御部122とを有する。GCL121は、受信パケット毎にTS番号単位のゲート112の開閉情報を管理するテーブルである。尚、受信パケットは、MBHパケット及びクラスC0~C1のMFHパケットである。制御部119は、解析部118の解析結果に基づき、GCL121のテーブル内容を更新する。制御部119は、受信パケットの周期性パターンに基づき、GCL121内のTS番号及びTS番号毎の滞留時間を更新する。更に、制御部119は、周期性パターンに基づき、GCL121内の各ゲート112のTS番号毎の開閉情報を更新する。制御部119は、受信パケット内のMFHパケットの各クラスの統計情報に基づき、高優先パケットであるMFHパケットの各クラスの到着タイミングを予測する。尚、開閉情報は、各ゲート112の設定状態、例えば、オープン及びクローズである。ゲート制御部122は、GCL121のテーブル内容に基づき、各ゲート112のTS単位の開閉を制御する。
【0024】
図13は、比較例のiTAS装置100で使用するGCL121の一例を示す説明図である。
図13に示すGCL121は、TS番号と、各クラスC0~C1の開閉情報と、滞留時間とを対応付けて管理する。尚、説明の便宜上、GCL121内の開閉情報として、MFHパケットのクラスC0~C1単位の開閉情報は勿論のこと、MBHパケットの開閉情報も管理されているものとする。
【0025】
TS番号は、受信パケットのTSを識別する番号である。各クラスC0~C1の開閉情報は、MFHパケットの各クラスに対応したゲート112のオープン(O)/クローズ(C)状態を示す開閉情報である。滞留時間は、TS番号の割当時間である。TS番号は、1~Nまでの範囲で適宜変更可能である。各クラスC0~C1の開閉情報も、TS番号毎に適宜変更可能である。滞留時間も、TS番号毎に適宜変更可能である。ゲート制御部122は、GCL121を参照し、TS番号“1”のタイミングでTS番号“1”に対応する各クラスの開閉情報を各ゲート112に設定する。次に、ゲート制御部122は、TS番号“2”のタイミングでTS番号“2”に対応する各クラスの開閉情報を各ゲート112に設定する。更に、ゲート制御部122は、TS番号“3”からTS番号“N”までの各タイミングで各クラスの開閉情報を各ゲート112に順次設定する。そして、ゲート制御部122は、TS番号“N”に対応する開閉情報を設定後、再度、TS番号“1”に戻り、TS番号“1”に対応する開閉情報を設定し、TS番号“2”からTS番号“N”までの各タイミングで開閉情報を順次設定することになる。つまり、ゲート制御部122は、GCL121を参照し、TS番号“1”からTS番号“N”までの各タイミングで各開閉情報を各ゲート112に周期的に繰り返し順次設定することになる。
【0026】
図13に示すクラスC0のMFHパケットは、5μ秒毎にオープンを設定するため、転送周期は5μ秒、最小粒度が10%、10TS毎に2TSオープンであるため、帯域は20%となる。クラスC1のMFHパケットは、10μ秒毎にオープンを設定するため、転送周期は10μ秒、最小粒度が5%、20TS毎に3TSオープンであるため、帯域は15%となる。尚、クラスC0とクラスC1の直前には1TS分のガードタイムを置く。ガードタイム及び上位クラスC0(C1)以外のTS番号には、クラスC2~C7の各ゲート112にオープンを設定するものとする。尚、説明の便宜上、MBHパケットの設定状態を明記しなかったが、例えば、ガードタイム及びクラスC0~C7以外のTS番号には、MBHパケットのゲート112にオープンを設定するものとする。
【0027】
つまり、iTAS装置100では、MFHパケット内の異なる各クラスC0~C7の各ゲート112の開閉情報をTS番号毎に管理するGCL121を参照し、同一MFHパケット内の異なる各クラスC0~C7のタイミング競合を回避できる。
【0028】
また、iTAS装置100では、同一MFHパケット内の各クラスのタイミング競合が発生した場合、競合タイミングの各クラスの開閉情報を変更し、変更後の各クラスの開閉情報を更新すべく、GCL121の内容を更新することになる。
【0029】
図14は、比較例のクラス間のタイミング競合時のGCL121の更新動作の一例を示す説明図である。例えば、クラスC0のMFHパケットの転送周期が5μ秒、帯域が20%、10TSで1周期とする。クラスC1のMFHパケットの転送周期が7μ秒、帯域が15%、14TSで1周期とする。ガードタイムTS及びクラスC0(C1)のオープンTS以外のTSは、MBHパケット及び他のクラスC2~C7に割り当てるものとする。この場合、クラスC0の周期10TS及びクラスC1の周期14TSの最小公倍数70TSで周期のズレが一巡することになる。
【0030】
iTAS装置100では、転送周期の異なるクラス毎の開閉情報を管理するためには最小公倍数70TS分の開閉情報を管理するGCL121のテーブル容量が必要となる。iTAS装置100では、クラスC0及びクラスC1のタイミングが競合した場合、最小公倍数70TSのGCL121内のクラスC1のタイミングを変更し、変更後のクラスC1のTS番号0~TS番号69までの開閉情報を修正することになる。
【0031】
つまり、比較例のiTAS装置100では、クラス間のタイミング競合を回避するためには、クラス間の競合タイミングの全パターンの組合せである各クラスの転送周期の最小公倍数のTS分の大容量のGCL121が必要になる。更に、iTAS装置100では、GCL121のテーブル内容を修正する際に、大容量のGCL121のテーブル内容の修正処理に多大な処理時間を要する。
【0032】
GCL121のテーブル内容の修正処理としては、例えば、TS番号が1~2048の場合、クラスC0とクラスC1とがタイミング競合し、クラスC1のオープンを1TS分シフトする場合に、クラスC1の全ビット(2048ビット)を修正する必要がある。この場合、GCL121内の2048ビット分の領域を修正するためにはGCL121に対して複数回アクセスし、2048ビット分のクラスC1の内容を修正するまでに多大な処理時間を要する。
【0033】
しかも、通信システム内の各iTAS装置100は、MFHパケットのクラスに限定されるものではなく、ユーザ端末毎に異なる転送周期でMFHパケットを出力することも想定される。
図15は、比較例のサービス間の競合タイミングの課題の一例を示す説明図である。例えば、ユーザ端末AのサービスAのMFHパケットの転送周期と、ユーザ端末BのサービスBのMFHパケットの転送周期と、ユーザ端末CのサービスCのMFHパケットの転送周期とが競合する場合がある。
【0034】
図16は、比較例のサービス間の競合タイミングの課題の一例を示す説明図である。通信システム内の各iTAS装置100は、GCL121のテーブル内容が異なる場合がある。例えば、“A”のiTAS装置100のGCL121は、所定タイミングにおいて、サービスAのMFHパケット、サービスBのMFHパケット及びサービスCのMFHパケットの順に出力する開閉情報を管理しているものとする。これに対して、例えば、“B”のiTAS装置100のGCL121は、所定タイミングにおいて、サービスCのMFHパケット、サービスBのMFHパケット及びサービスAのMFHパケットの順に出力する開閉情報を管理しているものとする。この場合、“A”のiTAS装置100は、GCL121を参照し、サービスAのMFHパケット、サービスBのMFHパケット及びサービスCのMFHパケットの順に“B”のiTAS装置100に出力する。そして、“B”のiTAS装置100は、サービスAのMFHパケット、サービスBのMFHパケット及びサービスCのMFHパケットの順に受信する。しかしながら、“B”のiTAS装置100は、GCL121を参照し、サービスCのMFHパケット、サービスBのMFHパケット及びサービスAのMFHパケットの順に出力することになる。“B”のiTAS装置100では、サービスCのMFHパケット到着時に、サービスCのMFHパケットの出力タイミングが過ぎるため1周期分滞留し、サービスCのMFHパケットの出力遅延が発生することになる。
【0035】
その結果、通信経路上の各iTAS装置100のGCL121のテーブル内容が異なる場合には、各サービスのMFHパケットの出力遅延が生じ、MFHパケットの異なる転送周期の各サービスの遅延変動を大きくなる。
【0036】
従って、GCL121を使用することなく、MFHパケットの出力遅延を抑制しながら、同一種別のMFHパケット内のサービス間のタイミング競合を回避できるiTAS装置が求められている。そこで、このようなiTAS装置等のパケット処理装置の実施の形態につき、実施例として以下に説明する。
【実施例0037】
図1は、実施例1の通信システム1の一例を示す説明図である。
図1に示す通信システム1は、MBH回線2Aと、MFH回線2Bと、基地局3と、RU4と、ユーザ端末5と、iTAS装置6とを有する。MBH回線2Aは、複数の基地局(eNB:evolved Node B)3間若しくは、基地局3とメトロコアネットワーク7との間を接続する回線である。MFH回線2Bは、例えば、RU4と基地局3内のDUとの間を接続する回線である。RU4は、ユーザ端末5と無線で接続する。MFH回線2Bは、RU4とDUとの間で無線信号をL2フレームのMFHパケットで伝送するeCPRI方式を採用している。iTAS装置6は、MBH回線2AからのMBHパケット、MFH回線2BからのMFHパケット等の各種パケットを伝送する。MFHパケットは、MBHパケットに比較して出力遅延の抑制が強く求められている。更に、MFHパケットは、クラス毎に異なるパケットを有する。
【0038】
DUは、無線区間のスケジューリング機能を有する。スケジューリング機能は、1サブフレームに送信すべき、例えば、ユーザデータ、符号化率及び変調方式等の各種要素を決定する機能である。DUは、ユーザデータをL2フレームに分割してMFHパケットをRU4宛に伝送する。つまり、DUは、サブフレーム間隔、例えば、1m秒毎にMFHパケットをRU4宛に伝送する。また、RU4は、受信した無線信号のユーザデータをL2フレームに分割してMFHパケットをDU宛に伝送する。
【0039】
iTAS装置6は、MBHパケット及びMFHパケットの他に、様々なパケットを伝送する。iTAS装置6は、IEEE802.1QbvのTAS(Time Aware Shaper)方式を適用し、MFHパケットを高優先パケットとして出力する。更に、iTAS装置6は、MFHパケットの優先出力は勿論のこと、同一種別のMFHパケット内の異なるサービス(クラス)間のタイミング競合も回避できる機能を有する。
【0040】
図2は、iTAS装置6のハードウェア構成の一例を示す説明図である。
図2に示すiTAS装置6は、入出力IF(Interface)11と、複数のパケット処理部12と、SW(Switch)13と、メモリ14と、CPU(Central Processing Unit)15とを有する。入出力IF11は、MBH回線2A及びMFH回線2B等の各種回線と接続し、パケットを入出力するIFである。入出力IF11は、例えば、RU4、DU、他のiTAS装置6と接続する。パケット処理部12は、iTAS方式を適用したパケット処理を実行する。SW13は、パケット処理部12の入出力を切替えるスイッチである。メモリ14は、各種情報を記憶する領域である。CPU15は、iTAS装置6全体を制御する。
【0041】
パケット処理部12は、MBHパケット及びMFHパケットの出力タイミングは勿論のこと、MFHパケットの優先出力は勿論のこと、同一種別のMFHパケットのクラス毎に各クラスのMFHパケットの出力タイミングを制御する。パケット処理部12は、複数のキュー21と、複数のゲート22と、MUX(Multiplexer)23と、MAC24と、統計情報記憶部25と、TS管理部26と、収集部27と、解析部28と、制御部29とを有する。
【0042】
各キュー21は、到来する受信パケットの種別毎に備え、種別毎の受信パケットをキューイングする格納部である。尚、受信パケットの種別としては、例えば、MFHパケット及びMBHパケットを有する。MFHパケットは、高優先パケットであるのに対し、MBHパケットは、MFHパケットに比較して低優先の低優先パケットである。また、MFHパケットは、例えば、複数種別の異なるクラスC0~C7のパケットを有する。各クラスは、例えば、低遅延要求、帯域や転送周期が異なるサービスである。
【0043】
複数のキュー21内の第1のキュー21Aは、到来する受信パケットの内、MBHパケットをキューンイングする格納部である。また、複数のキュー21内の第2のキュー21Bは、到来する受信パケットのMFHパケットの内、例えば、クラスC0のMFHパケットをキューイングする格納部である。また、複数のキュー21内の第3のキュー21C(図示省略)は、到来する受信パケットのMFHパケットの内、例えば、クラスC1のMFHパケットをキューイングする格納部である。また、複数のキュー21内の第4のキュー21D(図示省略)は、到来する受信パケットのMFHパケットの内、例えば、クラスC2のMFHパケットをキューイングする格納部である。つまり、MFHパケットのクラス毎にキュー21を備えるものとする。
【0044】
SW13は、受信パケット内のVLANタグのPビットを識別し、その識別結果に基づき、受信パケットの種別に応じたキュー21に当該種別の受信パケットを転送するものである。
【0045】
各ゲート22は、キュー21毎に備え、キュー21に格納中の受信パケットの出力をTS単位で開閉する。尚、1TSは、例えば、0.5μ秒とする。複数のゲート22の内、第1のゲート22Aは、第1のキュー21A内のMBHパケットの出力をTS単位で開閉する。複数のゲート22の内、第2のゲート22Bは、第2のキュー21B内のクラスC0のMFHパケットの出力をTS単位で開閉する。複数のゲート22の内、第3のゲート22C(図示省略)は、第3のキュー21C内のクラスC1のMFHパケットの出力をTS単位で開閉する。複数のゲート22の内、第4のゲート22Dは、第4のキュー21D内のクラスC3のMFHパケットの出力をTS単位で開閉する。つまり、MFHパケットのクラス毎にゲート22を備えるものとする。
【0046】
MUX23は、各ゲート22の出力パケットを選択出力する。MAC24は、MUX23の出力パケットにMACアドレスを付加し、付加した出力パケットを入出力IF11に出力する。統計情報記憶部25は、受信パケットの周期パターンを統計情報として記憶する領域である。TS管理部26は、現在カウンタ値をTS単位でカウントするタイムカウンタ16Aを有する。
【0047】
収集部27は、受信パケットの統計情報を収集する。統計情報は、時間帯毎の受信パケット量である。尚、パケット量は、例えば、パケット数やバイト数である。解析部28は、受信パケットの統計情報を解析し、受信パケットの周期性及びパターン等の周期性パターンを特定する。解析部28は、受信パケットの到着間隔(周期性)及びパターン(平均到着量、バーストの揺らぎ度合)を学習する。解析部28は、各クラスのMFHパケットの周期パターンに基づき、クラス毎の変数である演算パラメータを取得する。演算パラメータは、転送周期TS数、オープンTS数、ガードタイムTS数及び転送周期オフセットTS数を有する。
【0048】
転送周期TS数は、クラス毎のMFHパケットの転送周期分のTS数である。ガードタイムTS数は、転送周期TS数の内、クラス毎のガードタイムのTS数である。オープンTS数は、転送周期TS数の内、クラス毎のゲート22の開閉をオープンするTS数である。転送周期オフセットTS数は、転送周期TS数の内、クラス毎にMFHパケットの出力を開始するTS数である。
【0049】
制御部29は、パケット処理部12全体を制御する。制御部29は、解析部28の解析結果に基づき、MBHパケットは勿論のこと、各クラスのMFHパケットの転送周期TS数等の演算パラメータを取得する。
【0050】
図3は、パケット処理部12内の制御部29の機能構成の一例を示すブロック図である。
図3に示す制御部29は、複数の第1の決定部31と、ゲート制御部32と、複数の第2の決定部33と、調停部34と、現在用演算メモリ35と、予測用演算メモリ36とを有する。解析部28は、取得したクラス毎の演算パラメータを現在用演算メモリ35に記憶する。
【0051】
第1の決定部31は、MFHパケットのクラス毎に備え、クラスに応じた現在の演算パラメータ及び現在カウンタ値を用いて現在TSでのクラスに対応したゲート22の開閉情報を算出する演算器31Aを有する。第1の決定部31は、TSパルスを受信した場合、演算器31Aの算出結果に基づき、現時点の第1のタイムスロットである現在TSでのゲート22の開閉情報を決定する。TSパルスは、TS単位のカウンタ値をカウントするパルスであって、TSの受信タイミングである。尚、現在TSの開閉情報とは、同クラスのゲート22の判定結果である、例えば、オープン、クローズ又はガードタイムである。第1の決定部31は、現在用演算メモリ35から該当クラスの演算パラメータを読み出し、読み出した演算パラメータと、タイムカウンタ26Aからの現在カウンタ値とを用いて、現在TSでの開閉情報を算出して決定する。ゲート制御部32は、クラス毎の現在TSの開閉情報に基づき、第1の決定部31に対応したゲート22の開閉を制御する。
【0052】
第2の決定部33は、MFHパケットのクラス毎に備え、クラスに応じた現在の演算パラメータ及び(現在カウンタ値+所定時間(N秒))を用いてN秒後のTSである予測TSでの開閉情報を算出するN秒加算器33A及び演算器33Bを有する。N秒加算器33Aは、タイムカウンタ26Aからの現在カウンタ値にN秒を加算する。演算器33Bは、(現在カウンタ値+N秒)と現在の演算パラメータとを用いて予測TSでの開閉情報を算出する。第2の決定部33は、演算器33Bの計算結果に基づき、現時点から所定タイミング後の第2のタイムスロットである予測TSでのゲート22の開閉情報を決定する。
【0053】
調停部34は、クラス毎のN秒後の予測TSの開閉情報内にクラス間のタイミング競合を検出する検出部34Aを有する。更に、調停部34は、予測TSでのクラス間のタイミング競合を検出した場合に、競合するクラス毎の優先順位等の調停ポリシに基づき、クラス間のタイミング競合を回避する演算パラメータの内容を変更する調停制御部34Bを有する。更に、調停制御部34Bは、(N-M<最短転送周期)に基づき、反映時刻Mを算出する。尚、反映時刻は、予測される競合タイミングの最短の転送周期内に変更後の演算パラメータを現在用演算メモリ35に更新できるまでの時間を考慮した時間であればよく、例えば、N-M<最短転送周期である。
【0054】
調停制御部34Bは、変更後の演算パラメータ及び反映時刻を予測用演算メモリ36に更新する。尚、予測用演算メモリ36は、例えば、FIFO(First In First Out)メモリである。更に、調停制御部34Bは、所定タイミングが到来する前まで、例えば、現在カウンタ値が反映時刻の場合、予測用演算メモリ36に記憶中の変更後の演算パラメータを調停情報として現在用演算メモリ35に更新する。そして、調停制御部34Bは、現在用演算メモリ35に更新された変更後の演算パラメータを用いて、反映時刻以降のTSパルスの受信タイミング毎に、現時点の新たな第1のタイムスロットである現在TSの開閉情報を第1の決定部31に決定させる。
【0055】
また、通常、現在用演算メモリ35及び予測用演算メモリ36に記憶中の演算パラメータの内容は同一であっても良い。そして、競合回避時の変更後の演算パラメータの反映が予定されている場合、予測用演算メモリ36には変更後の演算パラメータが更新されているものの、反映時刻前は予測用演算メモリ36及び現在用演算メモリ35に格納中の演算パラメータの内容が異なる。
【0056】
第1の決定部31は、TS管理部26内のタイムカウンタ26Aからの現在カウンタ値と、当該第1の決定部31に関わるクラスのMFHパケットを観測する周期を含む現在用の演算パラメータとを用いて、現在TSでの当該ゲート22の開閉情報を算出して決定する。
【0057】
第2の決定部33は、タイムカウンタ26Aからの現在カウンタ値にN秒を加算する。第2の決定部33は、N秒加算後の現在カウンタ値と、当該第2の決定部33に関わるクラスのMFHパケットを観測する周期を含む演算パラメータとを用いて、現在からN秒後の予測TSでの当該ゲート22の開閉情報を算出して決定する。尚、所定時間N秒は、現在TSからクラス間のタイミング競合を検出部34Aで検出し、調停制御部34Bでタイミング競合を十分回避できる時間であればよく、例えば、N秒>10TSとする。
【0058】
調停制御部34Bは、クラス間のタイミング競合を回避するように演算パラメータ内の転送周期オフセットTS数を変更する。そして、調停制御部34Bは、変更後の転送周期オフセットTS数を含む演算パラメータ及び反映時刻を予測用演算メモリ36内に更新する。そして、調停制御部34Bは、現在カウンタ値が反映時刻の場合、変更後の転送周期オフセットTS数を含む演算パラメータを現在用演算メモリ35内に更新する。第1の決定部31は、反映時刻以降にTSパルスの受信タイミングで、現在用演算メモリ35内に記憶中のクラス毎の変更後の現在の演算パラメータを用いてクラス毎の新たな現在TSでの開閉情報を算出する。その結果、ゲート制御部32は、クラス毎の新たな現在TSでの開閉情報に基づき、将来予測されたクラス間のタイミング競合を回避できる。
【0059】
図4は、開閉判定処理に関わるパケット処理部12の処理動作の一例を示す説明図である。第1の決定部31は、該当クラスの転送周期TS数、ガードタイムTS数、オープンTS数及び転送周期オフセットTS数に基づき、計時する現在カウンタ値から該当クラス対応のゲート22の現在TSでの開閉情報を算出して決定する。
【0060】
第1の決定部31は、初期値として現在用演算メモリ35に記憶中の演算パラメータ内の転送周期TS数を読み出し、タイムカウンタ26AからのTSパルス毎に現在カウンタ値をカウントアップする。そして、現在カウンタ値である現在TS数が転送周期TS数で1回周回することになる。
【0061】
第1の決定部31は、現在TS数≦ガードタイムTS数の場合、現在TSのゲート判定結果をガードタイムと判断する。第1の決定部31は、ガードタイムTS数<現在TS数≦(ガードタイムTS数+オープンTS数)の場合、現在TSのゲート判定結果をオープンと判断する。第1の決定部31は、(ガードタイムTS数+オープンTS数)<現在TS数の場合、現在TSのゲート判定結果をクローズと判断する。各第1の決定部31は、各クラスの現在TSの開閉情報を判断する。
【0062】
図5は、開閉予測処理に関わるパケット処理部12の処理動作の一例を示す説明図である。第2の決定部33は、該当クラスの転送周期TS数、ガードタイムTS数、オープンTS数及び、転送周期オフセットTS数に基づき、現在カウンタ値からN秒後であるN秒後のカウンタ値から該当クラス対応のゲート22の予測TSでの開閉情報を算出して決定する。
【0063】
第2の決定部33は、タイムカウンタ26AからのTSパルス毎に現在カウンタ値をカウントアップし、(現在カウンタ値+N秒)である予測TS数が転送周期TS数で1回周回することになる。
【0064】
第2の決定部33は、予測TS数≦ガードタイムTS数の場合、予測TSのゲート判定結果をガードタイムと判断する。第2の決定部33は、ガードタイムTS数<予測TS数≦(ガードタイムTS数+オープンTS数)の場合、予測TSのゲート判定結果をオープンと判断する。第2の決定部33は、(ガードタイムTS数+オープンTS数)<予測TS数の場合、予測TSのゲート判定結果をクローズと判断する。各第2の決定部33は、各クラスの予測TSの開閉情報を判断する。
図5では、N秒後、すなわち2TS後の予測TSの開閉情報を算出する。
【0065】
図6は、調停処理に関わるパケット処理部12の処理動作の一例を示す説明図である。調停部34は、クラス毎のN秒後の予測TSの開閉情報内にクラス間のタイミング競合を検出した場合に、調停ポリシであるクラス毎の優先順位に基づき、クラス間のタイミング競合を回避する演算パラメータを変更する。調停部34は、変更後の演算パラメータを予測用演算メモリ36に更新する。
【0066】
調停部34内の調停制御部34Bは、予測TSでのクラス毎の開閉情報からクラス間のタイミング競合を検出した場合、クラス毎の優先順位に基づき、クラス間のタイミング競合を回避するように競合クラスの周期オフセットTS数を変更する。調停制御部34Bは、例えば、競合クラスの内、競合クラスの開閉情報のタイミングを後ろ方向に1TSシフトして競合タイミングを回避する場合、転送周期オフセットTS数を+1減算する。これに対して、調停制御部34Bは、競合クラスの内、競合クラスの開閉情報のタイミングを前方向に1TSシフトして競合タイミングを回避する場合、転送周期オフセットTS数を+1加算する。
【0067】
調停制御部34Bは、変更後の転送周期オフセットTS数及び反映時刻(M秒)を予測用演算メモリ36に更新する。更に、調停制御部34Bは、現在カウンタ値が反映時刻である場合、予測用演算メモリ36に更新したクラスの変更後の転送周期オフセットTS数を現在用演算メモリ35内の該当クラスの現在演算パラメータ内の転送周期オフセットTS数として更新する。そして、第1の決定部31は、変更後の演算パラメータを設定した後の受信タイミング毎に、現在用演算メモリ35内の変更後の現在演算パラメータを用いて、現時点の新たな現在TSの開閉情報を算出して決定する。
【0068】
図7は、調停情報の転送タイミングの一例を示す説明図である。例えば、“A”のユーザ端末5のサービスAのMFHパケットの転送周期と、“B”のユーザ端末5のサービスBのMFHパケットの転送周期と、“C”のユーザ端末5のサービスCのMFHパケットの転送周期とが競合する場合を想定する。調停部34は、通信システム1内の各iTAS装置6と接続し、調停結果である調停情報を各iTAS装置6に転送する。尚、調停情報とは、競合クラスの変更後の転送周期オフセットTS数を含む演算パラメータを含む情報である。調停部34は、出力タイミングが競合するタイミングと、出力タイミングが競合するタイミング直前の出力タイミングとの間であるM秒後の転送タイミングに調停情報を各iTAS装置6に転送する。
【0069】
次に本実施例のiTAS装置6の動作について説明する。
図8は、開閉判定処理に関わる第1の決定部31の処理動作の一例を示すフローチャートである。
図8において第1の決定部31は、TS管理部26内のタイムカウンタ26Aから所定間隔のTSパルスを受信したか否かを判定する(ステップS11)。第1の決定部31は、TSパルスを受信した場合(ステップS11:Yes)、現在用演算メモリ35から現在用の演算パラメータを取得する(ステップS12)。尚、演算パラメータは、MFHパケットの該当クラスの転送周期TS数、オープンTS数、ガードタイムTS数、転送周期オフセットTS数及び転送周期オフセットTS差を含む。
【0070】
第1の決定部31は、(現在カウンタ値+1+転送周期オフセットTS差)で現在TS数を算出する(ステップS13)。第1の決定部31は、クラス毎に現在TS数が転送周期TS数以上であるか否かを判定する(ステップS14)。
【0071】
第1の決定部31は、現在TS数が転送周期TS数以上である場合(ステップS14:Yes)、(現在TS数-転送周期TS数)で現在TS数を算出する(ステップS15)。第1の決定部31は、現在TS数がガードタイムTS数未満であるか否かを判定する(ステップS16)。
【0072】
第1の決定部31は、現在TS数がガードタイムTS数未満の場合(ステップS16:Yes)、現在TSのゲート判定結果をガードタイムと判断する(ステップS17)。そして、第1の決定部31は、現在TSのゲート判断結果をゲート制御部32に設定し(ステップS18)、TSパルスを受信したか否かを判定すべく、ステップS11の処理に戻る。その結果、ゲート制御部32は、現在TSのゲート判断結果に基づき、各ゲート22の開閉を制御する。
【0073】
第1の決定部31は、現在TS数がガードタイムTS数未満でない場合(ステップS16:No)、現在TS数が(ガードタイムTS数+オープンTS数)以内であるか否かを判定する(ステップS19)。第1の決定部31は、現在TS数が(ガードタイムTS数+オープンTS数)以内の場合(ステップS19:Yes)、現在TSのゲート判定結果がオープンと判断する(ステップS20)。そして、第1の決定部31は、現在TSのゲート判断結果をゲート制御部32に設定すべく、ステップS18の処理に戻る。
【0074】
第1の決定部31は、現在TS数が(ガードタイムTS数+オープンTS数)以内でない場合(ステップS19:No)、現在TSのゲート判定結果がクローズと判断する(ステップS21)。そして、第1の決定部31は、現在TSのゲート判断結果をゲート制御部32に設定すべく、ステップS18の処理に戻る。
【0075】
図9は、開閉予測処理に関わる第2の決定部33の処理動作の一例を示すフローチャートである。
図9において第2の決定部33は、TS管理部26内のタイムカウンタ26AからTSパルスを受信したか否かを判定する(ステップS31)。第2の決定部33は、TSパルスを受信した場合(ステップS31:Yes)、現在用演算メモリ35から演算パラメータを取得する(ステップS32)。
【0076】
第2の決定部33は、(現在カウンタ値+1+転送周期オフセットTS数+時間差(N秒))で現在からN秒後の予測TS数を算出する(ステップS33)。第2の決定部33は、クラス毎に予測TS数が転送周期TS数以上であるか否かを判定する(ステップS34)。
【0077】
第2の決定部33は、予測TS数が転送周期TS数以上である場合(ステップS34:Yes)、(予測TS数-転送周期TS数)で予測TS数を算出する(ステップS35)。第2の決定部33は、予測TS数がガードタイムTS数未満であるか否かを判定する(ステップS36)。
【0078】
第2の決定部33は、予測TS数がガードタイムTS数未満の場合(ステップS36:Yes)、予測TSのゲート判定結果をガードタイムと判断する(ステップS37)。更に、第2の決定部33は、予測TSのゲート判定結果を調停部34に転送し(ステップS38)、TSパルスを受信したか否かを判定すべく、ステップS31の処理に戻る。
【0079】
第2の決定部33は、予測TS数がガードタイムTS数未満でない場合(ステップS36:No)、予測TS数が(ガードタイムTS数+オープンTS数)以内であるか否かを判定する(ステップS39)。第2の決定部33は、予測TS数が(ガードタイムTS数+オープンTS数)以内の場合(ステップS39:Yes)、予測TSのゲート判定結果がオープンと判断する(ステップS40)。そして、第2の決定部33は、予測TSのゲート判定結果を調停部34に転送すべく、ステップS38の処理に戻る。
【0080】
第2の決定部33は、予測TS数が(ガードタイムTS数+オープンTS数)以内でない場合(ステップS39:No)、予測TSのゲート判定結果がクローズと判断する(ステップS41)。そして、第2の決定部33は、予測TSのゲート判定結果を調停部34に転送すべく、ステップS38の処理に戻る。
【0081】
図10は、調停処理に関わる調停部34の処理動作の一例を示すフローチャートである。
図10において調停部34は、第2の決定部33から各クラスの予測TSのゲート判定結果及びタイムカウンタ26AからのTSパルスを受信したか否かを判定する(ステップS51)。調停部34内の検出部34Aは、各クラスの予測TSのゲート判定結果及びTSパルスを受信した場合(ステップS51:Yes)、(現在カウンタ値+1)の予測TSのクラス毎のゲート判定結果を比較する(ステップS52)。
【0082】
検出部34Aは、予測TSのゲート判定結果内にガードタイム又はオープンが複数存在するか否かを判定する(ステップS53)。検出部34Aは、予測TSのゲート判定結果内にガードタイム又はオープンが複数存在する場合(ステップS53:Yes)、予測TSでのクラス間のタイミング競合を検出する。
【0083】
更に、調停部34内の調停制御部34Bは、予測TSでのクラス間のタイミング競合を検出した場合、現在用の演算パラメータから競合が発生したクラスの転送周期オフセットTS数を取得する(ステップS54)。調停制御部34Bは、競合が発生した各クラスの調停ポリシ(優先順位)に基づき、競合発生の各クラスの転送周期オフセットTS数を変更後の転送周期オフセットTS数として算出する(ステップS55)。
【0084】
調停制御部34Bは、算出した変更後の各クラスの転送周期オフセットTS数を予測用の演算パラメータとして予測用演算メモリ36に更新する(ステップS56)。調停制御部34Bは、各クラスの変更後の転送周期オフセットTS数を現在用の演算パラメータに反映するタイミングの反映時刻を算出する(ステップS57)。
【0085】
調停制御部34Bは、各クラスの変更後の転送周期オフセットTS数及び反映時刻を予測用演算メモリ36に更新する(ステップS58)。調停制御部34Bは、予測用演算メモリ36内の先頭の反映時刻を参照し(ステップS59)、現在カウンタ値が反映時刻であるか否かを判定する(ステップS60)。調停制御部34Bは、現在カウンタ値が反映時刻である場合(ステップS60:Yes)、予測用演算メモリ36から先頭の変更後の転送周期オフセットTS数を読み出す。更に、調停制御部34Bは、読み出した変更後の転送周期オフセットTS数を現在用の演算パラメータとして現在用演算メモリ35に更新する(ステップS61)。そして、調停制御部34Bは、各クラスのゲート判定結果及びTSパルスを受信したか否かを判定すべく、ステップS51の処理に戻る。
【0086】
検出部34Aは、各クラスのゲート判定結果及びTSパルスを受信しなかった場合(ステップS51:No)、ステップS51の処理に戻る。検出部34Aは、予測TSでのガードタイム又はオープンが複数存在しない場合(ステップS53:No)、予測TSでのクラス間の競合タイミングが発生しなかったものと判断する。そして、検出部34Aは、予測TSでのクラス間のタイミング競合を検出しなかった場合、各クラスのゲート判定結果及びTSパルスを受信したか否かを判定すべく、ステップS51の処理に戻る。
【0087】
調停制御部34Bは、現在カウンタ値が反映時刻でない場合(ステップS60:No)、各クラスのゲート判定結果及びTSパルスを受信したか否かを判定すべく、ステップS51の処理に戻る。
【0088】
図11は、調停処理に関わる通信システム1の処理動作の一例を示す説明図である。“A”のユーザ端末5はサービスAのMFHパケットを“A”のiTAS装置6及び“B”のiTAS装置6経由でDUに出力、“B”のユーザ端末5はサービスBのMFHパケットを“A”のiTAS装置6及び“B”のiTAS装置6経由でDUに出力するものとする。更に、“C”のユーザ端末5はサービスCのMFHパケットを“A”のiTAS装置6及び“B”のiTAS装置6経由でDUに出力するものとする。
【0089】
“A”のiTAS装置6は、N秒後の予測TSでのサービスA,B,Cのサービス間のMFHパケットのタイミング競合を検出した場合、N秒後の予測TSでのサービス間のMFHパケットの競合を回避すべく、各サービスの転送周期オフセットTS数を変更する。更に、“A”のiTAS装置6は、各サービスの転送周期オフセットTS数を現在TSからM秒後の反映時刻に反映する。更に、“A”のiTAS装置6は、現在TSからM秒後の反映時刻に反映する各サービスの転送周期オフセットTS数を調停情報として“B”のiTAS装置6を転送する。そして、“B”のiTAS装置6も、“A”のiTAS装置6からの調停情報に基づき、現在TSからM秒後の反映時刻に各サービスの転送周期オフセットTS数を現在用演算メモリ35に反映する。その結果、“A”のiTAS装置6及び“B”のiTAS装置6は、同一の現在用演算パラメータを共有することになるため、サービス間のタイミング競合を回避しながら、各サービスのMFHパケットの出力遅延を抑制できる。そして、MFHパケットの異なる転送周期の各サービスの遅延変動を小さくできる。
【0090】
本実施例のiTAS装置6では、現在カウンタ値とMFHパケットの各サービスの演算パラメータとを用いて各サービスの現在TSの開閉情報を決定し、各サービスの現在TSの開閉情報に基づき、各サービスのゲート22の開閉を制御する。その結果、大容量のGCLを使用しなくても、演算パラメータを使用して同一MFHパケットの各サービスの開閉情報を認識できる。
【0091】
更に、iTAS装置6では、(現在カウンタ値+N秒)と、各サービスの演算パラメータとを用いて各サービスのN秒後の予測TSの開閉情報を決定し、サービス毎のN秒後の予測TSでの開閉情報内にMFHパケットのタイミング競合を検出したか否かを判定する。iTAS装置6は、タイミング競合を検出した場合に、競合するMFHパケットのサービス毎の優先順位に基づき、タイミング競合を回避すべく、演算パラメータの内容を変更し、予測TSが到来するタイミング前である反映時刻に変更後の演算パラメータを現在用演算メモリ35内に更新する。そして、iTAS装置6は、変更後の演算パラメータを設定した後のTSパルスの受信タイミング毎に、現在用演算メモリ35に更新済みの変更後の演算パラメータを用いてサービス毎の現時点の新たな現在TSの開閉情報を決定する。その結果、GCLを使用しなくても、演算パラメータを使用して同一MFHパケットのサービス間のタイミング競合を回避できる。更に、タイミング競合を回避に要する処理負担を大幅に軽減できる。
【0092】
調停部34は、転送周期TS数の異なるサービスで発生するサービス間の競合を現在TSからN秒後のタイミングで検出し、競合対象のサービスの転送周期オフセットTS数を調停する。その結果、サービス間のタイミング競合を回避できる。
【0093】
iTAS装置6は、競合発生による開閉情報の更新を、1周期分のGCLを書き換えるのではなく、現在カウンタ値と転送周期TS数等の演算パラメータからサービス毎のゲート22の開閉情報を決定する。その結果、演算パラメータの変更を行うだけで、競合対象のサービスの開閉情報の変更を短時間で実施できる。
【0094】
iTAS装置6は、異なる転送周期のサービスの転送周期TS数の最小公倍数を1周期とする大容量のGCLを使用しなくても、現在カウンタ値と転送周期TS数等の演算パラメータとからサービス毎の開閉情報を決定する。その結果、小さいリソース規模で、任意の転送周期TS数の複数のサービスを収容できる。
【0095】
iTAS装置6は、転送周期の異なるサービスを管理する場合に発生するサービス間のタイミング競合を事前に検出し、短期間で変更後の転送周期オフセットTS数を変更する。更に、iTAS装置6は、変更後の転送周期オフセットTS数を含む演算パラメータを現在用演算メモリ35に更新する。その結果、サービス間のタイミング競合を回避できる。
【0096】
第1の決定部31は、現在カウンタ値と、サービス毎に異なる転送周期TS数を含む演算パラメータとを用いて、現在TSでの開閉情報を決定する。更に、第2の決定部33は、現在カウンタ値+N秒と、サービス毎に異なる演算パラメータとを用いて、現在からN秒後の予測TSでの開閉情報を決定する。その結果、GCLを使用しなくても、演算パラメータを使用して同一MFHパケットの各サービスの現在TS及び予測TSでの開閉情報を認識できる。
【0097】
調停部34は、予測TSでの開閉情報内にサービス間の競合タイミングとして、サービス間のMFHパケットのオープン期間及びガードタイム期間の競合を検出する。調停部34は、競合を検出した場合に、競合対象のサービス毎の優先順位に基づき、タイミング競合を回避すべく、演算パラメータを変更する。その結果、GCLを使用しなくても、演算パラメータを使用して同一種別のMFHパケットのサービス間のタイミング競合を回避できる。
【0098】
第1の決定部31は、MFHパケットのサービス毎の転送周期TS数、サービス毎のガードタイムTS数、サービス毎のオープンTS数及び、サービス毎の転送周期オフセットTS数に基づき、現在カウンタ値から現在TSでの開閉情報を決定する。その結果、GCLを使用しなくても、演算パラメータを使用してMFHパケットの各サービスの現在TSでの開閉情報を認識できる。
【0099】
第2の決定部33は、MFHパケットのサービス毎の転送周期TS数、サービス毎のガードタイムTS数、サービス毎のオープンTS数及び、サービス毎の転送周期オフセットTS数と、現在カウンタ値+N秒とに基づき、N秒後の予測TSでの開閉情報を決定する。その結果、GCLを使用しなくても、演算パラメータを使用してMFHパケットの各サービスの予測TSでの開閉情報を認識できる。
【0100】
調停部34は、他のiTAS装置6と接続し、変更後の演算パラメータを調停情報として他のiTAS装置6に転送する。その結果、各iTAS装置6で変更後の演算パラメータを共有化することでMFHパケットの異なる転送周期の各サービスの遅延変動を最小化できる。
【0101】
調停部34は、出力タイミングが競合するタイミングと、出力タイミングが競合するタイミング直前の競合するMFHパケットの出力タイミングとの間で変更後の演算パラメータを調停情報としてiTAS装置6に転送する。その結果、競合発生前にサービス間のタイミング競合を回避しながら、各サービスの出力遅延を抑制できる。そして、MFHパケットの異なる転送周期の各サービスの遅延変動を小さくできる。
【0102】
比較例では、GCLが全サービスの2048TSの開閉情報を管理する場合、競合対象のサービスの開閉情報のタイミングを1シフトして修正する場合、同サービスの2048ビットの開閉情報を変更する必要がある。従って、GCLに複数回アクセスして2048ビットの開閉情報を修正することになる。
【0103】
これに対して、本実施例では、競合対象のサービスの開閉情報を前方向に1シフトして変更するにしても、GCLを使用しないため、競合対象のサービスの転送周期オフセットTS数を1TS減算するだけで済むことになる。しかも、競合対象のサービスの転送周期オフセットTS数を1TS減算するには、例えば、12ビットの更新で済むために、1アクセスで変更できる。従って、本実施例では、比較例に比較しても、競合回避に要する処理時間を大幅に軽減できる。
【0104】
転送周期が異なる全サービスの開閉情報を管理するGCLでは、全サービスの最小公倍数のTS数のサービス毎の開閉情報を管理する必要があるため、サービス数の増加に応じて大容量となる。これに対して、本実施例では、サービス毎に転送周期TS数分の開閉情報で済むため、大容量のメモリが不要となる。
【0105】
上記実施例では、MFHパケットを高優先パケット及びMBHパケットの低優先パケットの2種類としたが、2種類に限定されるものではなく、適宜変更可能である。MFHパケット内のクラスをC0~C7の8クラスの場合を例示したが、8クラスに限定されるものではなく、適宜変更可能である。
【0106】
更に、MFHパケット内に複数のクラスが存在し、クラス間の出力タイミングの競合を回避する場合を例示したが、MFHパケットに限定されるものではなく、同一種別のパケット内に複数のクラスが存在するパケットに適用可能である。
【0107】
また、説明の便宜上、MFHパケットの異なるサービスの内、クラスを例示したが、クラスに限定されるものではなく、クラスに限定されるものではなく、帯域や転送周期の異なるユーザ端末5のMFHパケットにも適用可能である。
【0108】
上記実施例では、クラス毎に第1の決定部31及び第2の決定部33を備える場合を例示したが、単一の第1の決定部31で現在TSの各クラスの開閉情報、単一の第2の決定部33で予測TSの各クラスの開閉情報を算出しても良く、適宜変更可能である。
【0109】
上記実施例では、解析部28及び制御部29をパケット処理部12に配置したが、例えば、解析部28、制御部29をCPU15内部に配置しても良く、適宜変更可能である。
【0110】
上記実施例では、例えば、サブフレームの1周期をN個のTSとしたが、周期性を保持できれば良く、サブフレームの1周期をNの倍数に設定しても良く、適宜変更可能である。
【0111】
パケット処理部12内の制御部29は、第1の決定部31、ゲート制御部32、第2の決定部33、調停部34をハードウェアで構成する場合を例示した。しかしながら、第1の決定部31、ゲート制御部32、第2の決定部33、調停部34の各機能をプログラムで実行しても良く、適宜変更可能である。
【0112】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0113】
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。