(57)【特許請求の範囲】
【請求項１】
パケットの中継制御を行うパケット中継装置において、
入力パケットの到着時間を計測して、到着時間情報を生成する到着時間計測部と、入力パケットに対し、出力間隔の制御を必要とする出力間隔制御パケットと、出力間隔の制御を必要としない非出力間隔制御パケットとに識別して識別情報を生成するパケット識別部と、前記到着時間情報と前記識別情報とを含むパケット情報をパケットに付与するパケット情報付与部と、から構成される入力側ネットワークインタフェース部と、
前記入力側ネットワークインタフェース部で処理されて、スイッチングされた後のパケットを受信して、前記識別情報にもとづき、前記出力間隔制御パケットと前記非出力間隔制御パケットとを、該当するキューへ振り分けるパケット振り分け部と、前記到着時間情報にもとづいて、前記出力間隔制御パケットの出力間隔が自装置に入力したときの入力間隔と等しくなるような中継出力制御を行うスケジュール管理部と、前記スケジュール管理部の読み出し指示により、前記出力間隔制御パケットまたは前記非出力間隔制御パケットをキューから読み出して出力するパケット読み出し部と、から構成される出力側ネットワークインタフェース部と、
前記入力側ネットワークインタフェース部から出力されたパケットを、前記出力側ネットワークインタフェース部へスイッチングするスイッチ部と、
を有することを特徴とするパケット中継装置。
【請求項２】
前記スケジュール管理部は、先に到着したパケットの到着時間と、後に到着したパケットの到着時間との差分時間を算出し、前記差分時間に装置内部のパケット処理に要した遅延時間を補正して補正時間を算出し、前記補正時間のカウントが終了した後に、前記出力間隔制御パケットの読み出し指示を与えることを特徴とする請求の範囲第１項記載のパケット中継装置。
【請求項３】
前記スケジュール管理部は、前記出力間隔制御パケットがキューからすべて読み出された場合に、前記非出力間隔制御パケットの読み出し指示を与えることを特徴とする請求の範囲第１項記載のパケット中継装置。
【請求項４】
パケットの中継制御を行うパケット中継方法において、
入力パケットの到着時間を計測して、到着時間情報を生成し、
入力パケットに対し、出力間隔の制御を必要とする出力間隔制御パケットと、出力間隔の制御を必要としない非出力間隔制御パケットとに識別して識別情報を生成し、
前記到着時間情報と前記識別情報とを含むパケット情報をパケットに付与し、
前記パケット情報が付与されたパケットをスイッチングし、
スイッチング後のパケットを受信して、前記識別情報にもとづき、前記出力間隔制御パケットと前記非出力間隔制御パケットとを、該当するキューへ振り分け、
前記到着時間情報にもとづいて、前記出力間隔制御パケットの出力間隔が自装置に入力したときの入力間隔と等しくなるような中継出力を行うために、先に到着したパケットの到着時間と、後に到着したパケットの到着時間との差分時間を算出し、前記差分時間に装置内部のパケット処理に要した遅延時間を補正して補正時間を算出して、前記補正時間をカウンタ値として設定し、
前記カウンタ値のカウント終了後に、前記出力間隔制御パケットを読み出して出力し、
前記出力間隔制御パケットがキューからすべて読み出された場合には、前記非出力間隔制御パケットの読み出し指示を生成して、前記非出力間隔制御パケットを出力することを特徴とするパケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット中継装置及びパケット中継方法に関し、特にパケットの中継制御を行うパケット中継装置及びパケットの中継制御を行うパケット中継方法に関する。
【背景技術】
【０００２】
近年、電話、ビデオなどのリアルタイム音声処理やロボットによる遠隔操作、遠隔医療（手術）といったアプリケーションが盛んに開発されている。このようなアプリケーションの情報をパケット化してパケット通信した場合、データの欠落や、または遅延が１パケットでも発生したりすると、通話品質、再生品質に大きな影響を与えることになる。このため、高信頼のＱｏＳ（Quality Of Service）を有する通信が要求されており、アプリケーション動作が破綻しないようなトラフィック制御の実現が望まれている。【０００３】
従来のトラフィック制御には主に優先制御と帯域制御がある。優先制御は、パケットのタイプ（種類）に応じて優先度を決めて、優先度の高い順からパケットを送信するものである。【０００４】
また、帯域制御は、全体の伝送路の帯域に対して、特定のパケット（リアルタイム性の高いパケット）の使用できる帯域を固定的に決めておき、残りの帯域に対しては優先制御でパケットを送信するものである。例えば、全体の帯域が１００Mbpsならば、３０Mbps分の帯域を映像パケット用に常に確保しておき、映像パケット以外のその他のパケットは、残りの７０Mbpsの帯域を使って、各パケットの優先度にもとづいて送信する。【０００５】
パケット通信におけるトラフィック制御の従来技術として、複数の中継回線をパケットの属性別に割り当てて、属性に適合する中継回線からパケットを送信する技術が提案されている（例えば、特許文献１）
【特許文献１】特開平１０−１３４３４号公報（段落番号〔００１７〕〜〔００２８〕，第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記のような従来のトラフィック制御では、ネットワークが輻輳していたり、装置内部でのパケット処理に時間がかかったりすると、装置内部のバッファ（キュー）にパケットが滞留し、帯域が空いた時点でバッファに溜まったパケットがベストエフォートで送信される（利用可能な最大速度で送信される）バースト転送が生じるため、受信装置側ではパケットの取りこぼしが発生するといった問題があった。【０００７】
ここで、イーサネット（登録商標）のようなネットワークでは、装置内部で閉じたクロック（送受信で非同期のクロック）で伝送制御を行っているため、送信側と受信側の装置間の伝送クロックにはクロック偏差が存在する。すなわち、送信装置側のクロックと受信装置側のクロックとを比べると、同一の周波数ではなく、±１００ｐｐｍ程度の誤差があったりする。【０００８】
このため、バッファに滞留するパケットが増大して、ベストエフォートによってパケットが伝送路上に一気に送信され、パケットのトラフィックが最大容量近くに達すると、送受信のクロックタイミングの誤差によって、受信側ではすべてのパケットを取りきることができず、パケットの欠落が発生するおそれがあった。【０００９】
また、パケット欠落発生の有無にかかわらず、従来の受信装置では、バースト転送に耐えうる大きなバッファが必要となるので、装置規模が増大するといった問題があった。
さらに、バースト転送が発生すると、受信側に到着するパケットの間隔が一定ではなくなるため、受信側において各パケットの再生処理にも時間差が生じ、再生した映像が乱れたり、音声が途切れたりして、ユーザに違和感を与えてしまうといった問題があった。【００１０】
本発明はこのような点に鑑みてなされたものであり、パケット中継時のバースト転送を抑制して、パケット通信の品質及び信頼性の向上を図ったパケット中継装置を提供することを目的とする。【００１１】
また、本発明の他の目的は、パケット中継時のバースト転送を抑制して、パケット通信の品質及び信頼性の向上を図ったパケット中継方法を提供することである。
【課題を解決するための手段】
【００１２】
本発明では上記課題を解決するために、図１に示すような、パケットの中継制御を行うパケット中継装置１において、入力パケットの到着時間を計測して、到着時間情報を生成する到着時間計測部１２と、入力パケットに対し、出力間隔の制御を必要とする出力間隔制御パケットＰａと、出力間隔の制御を必要としない非出力間隔制御パケットＰｂとに識別して識別情報を生成するパケット識別部１４と、到着時間情報と識別情報とを含むパケット情報をパケットに付与するパケット情報付与部１５と、から構成される入力側ネットワークインタフェース部１０−１〜１０−ｎと、入力側ネットワークインタフェース部１０−１〜１０−ｎで処理されて、スイッチングされた後のパケットを受信して、識別情報にもとづき、出力間隔制御パケットＰａと非出力間隔制御パケットＰｂとを、該当するキューへ振り分けるパケット振り分け部２１と、到着時間情報にもとづいて、出力間隔制御パケットＰａの出力間隔が自装置に入力したときの入力間隔と等しくなるような中継出力制御を行うスケジュール管理部２４と、スケジュール管理部２４の読み出し指示により、出力間隔制御パケットＰａまたは非出力間隔制御パケットＰｂをキューから読み出して出力するパケット読み出し部２６と、から構成される出力側ネットワークインタフェース部２０−１〜２０−ｎと、入力側ネットワークインタフェース部１０−１〜１０−ｎから出力されたパケットを、出力側ネットワークインタフェース部２０−１〜２０−ｎへスイッチングするスイッチ部３０と、を有することを特徴とするパケット中継装置１が提供される。【００１３】
ここで、到着時間計測部１２は、入力パケットの到着時間を計測して、到着時間情報を生成する。パケット識別部１４は、入力パケットに対し、出力間隔の制御を必要とする出力間隔制御パケットＰａと、出力間隔の制御を必要としない非出力間隔制御パケットＰｂとに識別して識別情報を生成する。パケット情報付与部１５は、到着時間情報と識別情報とを含むパケット情報をパケットに付与する。パケット振り分け部２１は、入力側ネットワークインタフェース部１０−１〜１０−ｎで処理されて、スイッチングされた後のパケットを受信して、識別情報にもとづき、出力間隔制御パケットＰａと非出力間隔制御パケットＰｂとを、該当するキューへ振り分ける。スケジュール管理部２４は、到着時間情報にもとづいて、出力間隔制御パケットＰａの出力間隔が自装置に入力したときの入力間隔と等しくなるような中継出力制御を行う。パケット読み出し部２６は、スケジュール管理部２４の読み出し指示により、出力間隔制御パケットＰａまたは非出力間隔制御パケットＰｂをキューから読み出して出力する。
【発明の効果】
【００１４】
本発明のパケット中継装置は、入力パケットの到着時間を計測して、パケットを出力間隔の制御を必要とする出力間隔制御パケットと、出力間隔の制御を必要としない非出力間隔制御パケットとに識別し、出力間隔制御パケットに対しては、出力間隔制御パケットの出力間隔が自装置に入力したときの入力間隔と等しくなるような中継出力制御を行う構成とした。これにより、パケット中継時のバースト転送を抑制することができるので、バースト転送に耐えうる大きなバッファが不要となり、かつパケットの欠落を防止して、パケット通信の品質及び信頼性の向上を図ることが可能になる。【００１５】
また、本発明のパケット中継方法は、入力パケットの到着時間を計測して、パケットを出力間隔の制御を必要とする出力間隔制御パケットと、出力間隔の制御を必要としない非出力間隔制御パケットとに識別し、出力間隔制御パケットに対しては、出力間隔制御パケットの出力間隔が自装置に入力したときの入力間隔と等しくなるような中継出力制御を行うものとした。これにより、パケット中継時のバースト転送を抑制することができるので、バースト転送に耐えうる大きなバッファが不要となり、かつパケットの欠落を防止して、パケット通信の品質及び信頼性の向上を図ることが可能になる。【００１６】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】パケット中継装置の原理図である。
【図２】パケット中継装置の全体構成を示す図である。
【図３】入力側ネットワークインタフェース部の構成を示す図である。
【図４】出力側ネットワークインタフェース部の構成を示す図である。
【図５】キューテーブルを示す図である。
【図６】パケットの入力状態を示す図である。
【図７】キューテーブルの状態を示す図である。
【図８】キューテーブルの状態を示す図である。
【図９】キューテーブルの状態を示す図である。
【図１０】キューテーブルの状態を示す図である。
【図１１】キューテーブルの状態を示す図である。
【図１２】パケットの出力状態を示す図である。
【図１３】入力側ネットワークインタフェース部の動作を示すフローチャートである。
【図１４】出力側ネットワークインタフェース部の動作を示すフローチャートである。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照して説明する。図１はパケット中継装置の原理図である。パケット中継装置１は、入力側ネットワークインタフェース部１０−１〜１０−ｎ、出力側ネットワークインタフェース部２０−１〜２０−ｎ、スイッチ部３０から構成されて、パケットの中継制御を行う装置である。【００１９】
入力側ネットワークインタフェース部１０−１〜１０−ｎは、到着時間計測部１２、パケット識別部１４、パケット情報付与部１５から構成される。到着時間計測部１２は、入力パケットの到着時間を計測して、到着時間情報を生成する。【００２０】
パケット識別部１４は、パケットを自装置から中継出力する際に、パケットのフロー（Flow）種別にもとづいて、出力間隔の制御を必要とする出力間隔制御パケットＰａと、出力間隔の制御を必要としない非出力間隔制御パケットＰｂとに識別して識別情報を生成する。【００２１】
ここで、出力間隔制御パケットＰａは、映像やVoIPなどの音声通信のようなリアルタイム性を必要とするパケットに該当し、非出力間隔制御パケットＰｂは、ファイル転送等のリアルタイム性を必要としないパケットに該当する。非出力間隔制御パケットＰｂは、データの遅延・ゆらぎは比較的関係ないため、出力制御に関しては考慮する必要はない。パケット情報付与部１５は、到着時間情報と識別情報とを含むパケット情報をパケットに付与する。【００２２】
スイッチ部３０は、入力側ネットワークインタフェース部１０−１〜１０−ｎから出力されたパケットを、出力側ネットワークインタフェース部２０−１〜２０−ｎへスイッチングする。【００２３】
出力側ネットワークインタフェース部２０−１〜２０−ｎは、パケット振り分け部２１、出力間隔制御キュー（Queue）２２−１〜２２−ｎ、非出力間隔制御キュー２３、スケジュール管理部２４、カウンタ部２５−１〜２５−ｎ、パケット読み出し部２６から構成される。【００２４】
パケット振り分け部２１は、入力側ネットワークインタフェース部１０−１〜１０−ｎで処理されて、スイッチングされた後のパケットを受信して、識別情報にもとづき、出力間隔制御パケットＰａと非出力間隔制御パケットＰｂとを、該当するキューへ振り分ける。【００２５】
出力間隔制御キュー２２−１〜２２−ｎは、出力間隔制御パケットＰａを格納する。非出力間隔制御キュー２３は、非出力間隔制御パケットＰｂを格納する。
スケジュール管理部２４は、到着時間情報にもとづいて、出力間隔制御パケットＰａの出力間隔が自装置に入力したときの入力間隔と略等しくなるような中継出力制御を行う。【００２６】
具体的には、先に到着したパケットの到着時間と、後に到着したパケットの到着時間との差分時間を算出し、差分時間に装置内部のパケット処理に要した遅延時間を補正して補正時間を算出して、補正時間をカウンタ値として設定する。また、非出力間隔制御パケットＰｂに対しては、出力間隔制御パケットＰａがすべて読み出された場合に、非出力間隔制御パケットＰｂの読み出し指示を生成する。【００２７】
カウンタ部２５−１〜２５−ｎは、出力間隔制御キュー２２−１〜２２−ｎに対応して設けられ、カウンタ値をカウントする。パケット読み出し部２６は、カウント終了後にスケジュール管理部２４から与えられる読み出し指示にもとづいて、出力間隔制御キュー２２−１〜２２−ｎから出力間隔制御パケットＰａを読み出して出力する。また、非出力間隔制御パケットＰｂの読み出し指示にもとづいて、非出力間隔制御キュー２３から非出力間隔制御パケットＰｂを読み出し、非出力間隔制御パケットＰｂを中継出力する。【００２８】
パケット中継装置１では、出力間隔制御パケットＰａの入力間隔を計測し、出力間隔を入力間隔に合わせるようにパケットの出力を制御する。このような構成を有するパケット中継装置でネットワークを構築することにより、パケットの出力間隔を入力間隔に合わせることができるので、中継装置間のバースト転送が抑制され、複数の中継装置を経由した場合でも、動画転送や音声通信のようなリアルタイム性を必要とするデータのスムーズな再生が可能となる。【００２９】
図２はパケット中継装置１の全体構成を示す図である。パケット中継装置１は、ネットワークインタフェース部１００−１〜１００−ｎ、スイッチ部３０、時刻管理部４０から構成される。ネットワークインタフェース部１００−１〜１００−ｎはそれぞれ、図１で上述した入力側ネットワークインタフェース部１０及び出力側ネットワークインタフェース部２０を含む。【００３０】
回線側から送られたパケットは、入力側ネットワークインタフェース部１０で入力処理されて、該当宛先へ向かう回線と接続する出力側ネットワークインタフェース部２０へ送られるように、スイッチ部３０でスイッチングされる。そして、出力側ネットワークインタフェース部２０で出力処理された後に、該当の回線から送出される。【００３１】
また、時刻管理部４０は、装置内部の時刻管理をしており、装置内で生成した時刻情報（同期信号）を、各ネットワークインタフェース部１００−１〜１００−ｎ（例えば、到着時間計測部１２やスケジュール管理部２４）へ遅延なく送信し、各ネットワークインタフェース部１００−１〜１００−ｎの同期を取る。【００３２】
次に入力側ネットワークインタフェース部１０及び出力側ネットワークインタフェース部２０の構成及び動作について説明する。図３は入力側ネットワークインタフェース部１０の構成を示す図である。入力側ネットワークインタフェース部１０は、入力バッファ１１、到着時間計測部１２、宛先解決部１３、パケット識別部１４、パケット情報付与部１５から構成される。【００３３】
入力バッファ１１は、中継されてきたパケットを一時的にストアし、到着時間計測部１２に対し、パケットの到着を知らせる。到着時間計測部１２は、パケットの到着通知と、時刻管理部４０から送信された時刻情報とにもとづき、パケットの到着時刻を認識し、パケットヘッダに付与するための到着時間情報を生成する。【００３４】
宛先解決部１３は、パケットの宛先を解決して、次段のパケット識別部１４へパケットを送信する。パケット識別部１４は、パケットのフロー種別を判定し、入力パケットを出力間隔制御パケットＰａと非出力間隔制御パケットＰｂとに分類し、識別情報を生成する。パケット情報付与部１５は、パケットのヘッダに、到着時間情報、識別情報、さらに入力ポート情報などをパケット情報として付与し、スイッチ部３０へ送信する。【００３５】
ここで、到着時間情報について説明する。図２で示した時刻管理部４０は、各ネットワークインタフェース部１００−１〜１００−ｎへ時刻情報を送信する。入力側ネットワークインタフェース部１０内の到着時間計測部１２では、入力バッファ１１からパケットの到着通知を受けると、時刻情報をタイムスタンプ（到着時間情報）に変換する。タイムスタンプのサンプリングレート及びビット幅は装置に依存し、装置の最大遅延時間以上の時間が設定できるようにする。【００３６】
例えば、装置の回線速度が１００Mbpsとすると、１byteの転送にかかる時間は０．０８μｓであるため、サンプリングレートを０．０８μｓとする。装置の最大遅延時間を１秒とすればタイムスタンプのビット幅を３２bit（0x0000 0000〜0xFFFF FFFF）にすることにより、装置の最大遅延時間以上の設定が可能となる。【００３７】
また、先に到着したパケットｐ１のタイムスタンプが例えば、0x1011（B）であり、後に到着したパケットｐ２のタイムスタンプが例えば、0x0010（2）であった場合（説明を簡単にするため１６bitとした）、後に到着したパケットｐ２のタイムスタンプの方が、先に到着したパケットｐ１のタイムスタンプより若い数字になっているが、このような場合には、タイムスタンプのロールオーバ（Rollover：カウント動作が一巡して再びカウント動作が始まること）が生じているものとみなして処理を行う。すなわち、先に到着したパケットｐ１のタイムスタンプ（B）から、（B）→（C）→（D）→（E）→（F）→（0）→（1）→（2）と一巡した（2）でパケットｐ２が到着したものとして認識する。【００３８】
図４は出力側ネットワークインタフェース部２０の構成を示す図である。出力側ネットワークインタフェース部２０は、パケット振り分け部２１、出力間隔制御キュー２２−１〜２２−ｎ、非出力間隔制御キュー２３、スケジュール管理部２４、カウンタ部２５−１〜２５−ｎ、パケット読み出し部２６から構成される。また、パケット振り分け部２１は、パケット情報抽出部２１ａとパケット書き込み部２１ｂを含む。【００３９】
パケット情報抽出部２１ａは、入力側ネットワークインタフェース部１０で付与されたパケット情報を抽出し、スケジュール管理部２４へ送信する。さらに、パケット書き込み部２１ｂは、出力間隔制御パケットＰａを出力間隔制御キュー２２−１〜２２−ｎへ書き込み、非出力間隔制御パケットＰｂを非出力間隔制御キュー２３へ書き込む。なお、パケット書き込み部２１ｂは、パケット情報を含むパケットヘッダを削除して、ペイロードのみをキューに書き込む。【００４０】
スケジュール管理部２４は、出力間隔制御キュー２２−１〜２２−ｎ及び非出力間隔制御キュー２３に対して、どのキューからパケットを読み出すことが可能であるかを判別して、パケット出力のスケジューリングを行う。【００４１】
ここで、出力間隔制御パケットＰａを、出力間隔制御キュー２２−１〜２２−ｎから読み出す場合には、出力間隔制御パケットＰａが装置に入力した略等しい間隔でパケット出力するための制御を行う。また、出力間隔制御パケットＰａが、出力間隔制御キュー２２−１〜２２−ｎからすべて読み出された場合には、非出力間隔制御キュー２３に格納されている非出力間隔制御パケットＰｂの読み出し指示を生成する。【００４２】
カウンタ部２５−１〜２５−ｎは、出力間隔制御キュー２２−１〜２２−ｎに対応して設けられ、スケジュール管理部２４から設定されるカウンタ値をカウントする。
パケット読み出し部２６は、カウント終了後にスケジュール管理部２４から与えられる読み出し指示にもとづいて、出力間隔制御キュー２２−１〜２２−ｎから出力間隔制御パケットＰａを読み出して出力する。さらに、非出力間隔制御パケットＰｂの読み出し指示にもとづいて、非出力間隔制御キュー２３から非出力間隔制御パケットＰｂを読み出して出力する。なお、出力パケットにはあらたなパケットヘッダを付けて出力する。【００４３】
次にパケット読み出し部２６において、出力間隔制御キュー２２−１〜２２−ｎに対する読み出し処理について説明する。パケット読み出し部２６では、出力間隔制御キュー２２−１〜２２−ｎに対して、ラウンドロビン（Round Robin）によるパケット読み出し処理を行っている。【００４４】
ここで、キューＱ１〜Ｑ４からパケットを読み出す場合を考える。ラウンドロビンの読み出し処理では、複数のキューから順番にパケットを読み出し、読み出したキューは読み出す順番の最後尾に持ってくる。例えば、Ｑ１→Ｑ２→Ｑ３→Ｑ４の順番で読み出したならば、次にＱ１を読み出す順番はＱ４の次となる。したがって、Ｑ１→Ｑ２→Ｑ３→Ｑ４→Ｑ１→Ｑ２→・・・の順番にキューＱ１〜Ｑ４に格納されているパケットを読み出すことになる。【００４５】
ここで、読み出し対象のキューにパケットが格納されていない場合、例えば、キューＱ１を読み出す順番のときに、キューＱ１にパケットが格納されていない場合には、先にキューＱ２を読み出す。その後、キューＱ１にパケットが格納されたとすると、読み出したパケット（ここではキューＱ２のパケット）は順番の最後尾に持ってくるのだから、このときの読み出し順番は、Ｑ２→Ｑ１→Ｑ３→Ｑ４→Ｑ２→・・・となる。【００４６】
次にスケジュール管理部２４が管理するキューテーブルの概要について説明する。図５はキューテーブルを示す図である。スケジュール管理部２４では、キューテーブル２４ａを有し、パケットの到着時刻情報を入力ポート毎にキューテーブル２４ａに反映する。【００４７】
キューテーブル２４ａは、出力間隔制御キュー２２−１〜２２−ｎそれぞれに対応して設けられ、ラベル、到着時間（Tar）、入力相対時間（Tr）、読み出し有効時間（Tav）、パケット出力時間（To）、カウンタ設定時間（Tc）の項目から構成される。【００４８】
ラベルは、キューテーブル２４ａのテーブル内容の管理番号に該当する。到着時間（Tar）は、入力側ネットワークインタフェース部１０で付与された到着時間情報の値である。【００４９】
入力相対時間（Tr）は、先に到着したパケットの到着時間と、後に到着したパケットの到着時間との差分時間（＝（後に到着したパケットの到着時間）−（先に到着したパケットの到着時間））のことである。なお、装置を立ち上げたときの最初のパケットと、該当ポートの出力間隔制御キューにパケットがない場合は、Tr＝０となる。【００５０】
読み出し有効時間（Tav）は、カウンタ設定時間（Tc）に示されたカウントが完了し、スケジュール管理部２４がパケット読み出し部２６に対して読み出し可能であることを通知した時間を示す。【００５１】
パケット出力時間（To）は、パケットがパケット読み出し部２６から出力した時間を示す。カウンタ設定時間（Tc）は、カウンタ部２５−１〜２５−ｎに対応して設けられ、出力間隔制御キューから出力間隔制御パケットＰａを出力するまでの待機時間に該当する。なお、０以外の値となる場合のカウンタ設定時間（Tc）の算出式は、カウンタ設定時間（Tc）＝（入力相対時間（Tr））−（前のパケットの出力時間（To））−（前のパケットの読み出し有効時間（Tav））で求める。【００５２】
次にスケジュール管理部２４の動作として、出力間隔制御パケットＰａの読み出し制御について図６〜図１１を用いて詳しく説明する。図６はパケットの入力状態を示す図である。パケットＡ１〜Ａ３が、パケット中継装置１の同一ポート（Port#1とする）に入力する場合を考える。【００５３】
また、出力間隔制御キュー２２−１がPort#1に対応するキューとし、パケットＡ１〜Ａ３の到着時間をそれぞれTar A1〜Tar A3とする。さらに、パケットＡ１、Ａ２の時間間隔をTr A1（＝Tar A2−Tar A1）、パケットＡ２、Ａ３の時間間隔をTr A2（＝Tar A3−Tar A2）とする。【００５４】
図７はキューテーブルの状態を示す図である。キューテーブル２４ａ−１は、Port#1対応の出力間隔制御キュー２２−１に、１つ目のパケットＡ１が入力したときのテーブル状態を示している。【００５５】
ラベルＡ１に対し、到着時間（Tar）はTar A1である。入力相対時間（Tr）は、先に到着したパケットの到着時間と、後に到着したパケットの到着時間との差分時間であるが、１つ目のパケットＡ１は、前にパケットが存在しないため０である。【００５６】
カウンタ設定時間（Tc）については、１つ目のパケットＡ１が出力間隔制御キュー２２−１に書き込まれると、即送信可能状態であるので０とする。パケット出力時間（To）は、パケットＡ１は出力間隔制御キュー２２−１に書き込まれて出力していないので空白となる。また、読み出し有効時間（Tav）は、スケジュール管理部２４がパケット読み出し部２６に対して、出力間隔制御キュー２２−１からパケットＡ１の読み出しを有効とした時間であり、ここではTav A1とする。【００５７】
図８はキューテーブルの状態を示す図である。キューテーブル２４ａ−２は、Port#1対応の出力間隔制御キュー２２−１に、２つ目のパケットＡ２が入力したときのテーブル状態を示している。ラベルＡ２に対し、パケットＡ２の到着時間（Tar）はTar A2であり、入力相対時間（Tr）は、Tr A1（＝Tar A2−Tar A1）である。【００５８】
図９はキューテーブルの状態を示す図である。キューテーブル２４ａ−３は、パケットＡ１を装置から出力したときのテーブル状態を示している。パケットＡ１が時間To A1で装置から出力したとすると、ラベルＡ１のパケット出力時間（To）にTo A1が記される。【００５９】
そして、スケジュール管理部２４は、カウンタ部２５−１にパケットＡ２を出力するためのカウンタ値を設定する。パケットＡ１、Ａ２の入力時間間隔はTr A1なので、同じ時間間隔でパケットＡ２を出力するために、カウンタ部２５−１にTr A1に対応するカウンタ値を設定する。したがって、ラベルＡ２のカウンタ設定時間（Tc）にTr A1が記される。【００６０】
図１０はキューテーブルの状態を示す図である。キューテーブル２４ａ−４は、Port#1対応の出力間隔制御キュー２２−１に、３つ目のパケットＡ３が入力したときのテーブル状態を示している。なお、パケットＡ１は装置からすでに出力したので、ラベルＡ１の各項目の内容は削除されている。【００６１】
ラベルＡ２に対し、パケットＡ２の、読み出し有効時間（Tav）をTav A2とする。また、ラベルＡ３に対し、パケットＡ３の到着時間（Tar）はTar A3であり、入力相対時間（Tr）は、Tr A2（＝Tar A3−Tar A2）である。【００６２】
図１１はキューテーブルの状態を示す図である。キューテーブル２４ａ−５は、パケットＡ２を装置から出力したときのテーブル状態を示している。パケットＡ２が時間To A2で装置から出力したとすると、ラベルＡ２のパケット出力時間（To）にTo A2が記される。【００６３】
そして、スケジュール管理部２４は、カウンタ部２５−１にパケットＡ３を出力するためのカウンタ値を設定する。ここで、パケット読み出し部２６では、上述したラウンドロビンで出力制御を行っているため、すぐに出力間隔制御キュー２２−１からパケットＡ３を出力できない場合がある。パケットＡ２が時間To A2で出力され、パケット処理に要した遅延時間として、ラウンドロビンによる遅延がΔTcとすると、ΔTc＝To A2−Tav A2（＝（前のパケットの出力時間（To））−（前のパケットの読み出し有効時間（Tav）））となる。【００６４】
したがって、パケットＡ３を出力する際のカウンタの設定値（補正時間）は、パケットＡ２とパケットＡ３間の入力相対時間Tr A2からΔTcを引いた、Tr A2−ΔTcとなる（なお、Tr A2−ΔTc≦０の場合は、スケジュール管理部２４はパケット読み出し部２６に対してすぐに読み出し許可を通知する）。そして、Tr A2−ΔTc経過後にパケットＡ３は時間To A3で出力される。パケットＡ３が出力すると、ラベルＡ２のテーブル情報は消去される。【００６５】
図１２はパケットの出力状態を示す図である。上述の図７〜図１１で示したパケットＡ１〜Ａ３の出力状態を示しており、わかりやすいようにパケットＡ１〜Ａ３の入力状態と対比させて示している。【００６６】
次に入力側ネットワークインタフェース部１０及び出力側ネットワークインタフェース部２０の動作をフローチャートを用いて説明する。図１３は入力側ネットワークインタフェース部１０の動作を示すフローチャートである。【００６７】
〔Ｓ１〕入力バッファ１１はパケットを格納する。
〔Ｓ２〕到着時間計測部１２は、パケットの到着時間を計測し到着時間情報を生成する。【００６８】
〔Ｓ３〕宛先解決部１３は、パケットの宛先を解決する。
〔Ｓ４〕パケット識別部１４は、パケットのフロー種別にもとづき、出力間隔制御パケットＰａと非出力間隔制御パケットＰｂとに識別して、識別情報を生成する。【００６９】
〔Ｓ５〕パケット情報付与部１５は、パケットに到着時間情報及び識別情報を付与してスイッチ部３０へ送信する。
図１４は出力側ネットワークインタフェース部２０の動作を示すフローチャートである。【００７０】
〔Ｓ１１〕パケット情報抽出部２１ａは、スイッチングされたパケットを受信して、パケット情報を抽出し、パケット情報をスケジュール管理部２４へ送信する。また、パケット書き込み部２１ｂへ受信したパケットを送信する。【００７１】
〔Ｓ１２〕パケット書き込み部２１ｂは、識別情報にもとづいて、パケットが出力間隔制御パケットＰａか非出力間隔制御パケットＰｂかを判断する。出力間隔制御パケットＰａならばステップＳ１３へいき、非出力間隔制御パケットＰｂならばステップＳ２１へいく。【００７２】
〔Ｓ１３〕ポート毎の出力間隔制御キュー２２−１〜２２−ｎの中の該当キューは、出力間隔制御パケットＰａを格納する。
〔Ｓ１４〕スケジュール管理部２４は、入力相対時間（Tr）を算出する。【００７３】
〔Ｓ１５〕スケジュール管理部２４は、カウンタ設定時間（Tc）を算出する。
〔Ｓ１６〕スケジュール管理部２４は、カウンタ設定時間（Tc）が０より大きいか判断する。０より大きければステップＳ１７へいき、そうでなければステップＳ１９へいく。【００７４】
〔Ｓ１７〕スケジュール管理部２４は、カウンタ設定時間（Tc）をカウンタ値として、該当のカウンタ部に設定し、カウンタ部がカウント動作を開始する。
〔Ｓ１８〕カウンタ部のカウントが完了する。【００７５】
〔Ｓ１９〕スケジュール管理部２４は、読み出しフラグを有効にする。
〔Ｓ２０〕パケット読み出し部２６は、ラウンドロビンでパケットを読み出して出力する。【００７６】
〔Ｓ２１〕非出力間隔制御キュー２３は、非出力間隔制御パケットＰｂを格納する。
〔Ｓ２２〕スケジュール管理部２４は、出力間隔制御キュー２２−１〜２２−ｎにパケットが格納されているか否かを判断する。格納されていればステップＳ２３へ、格納されていなければステップＳ１９へいく。【００７７】
〔Ｓ２３〕スケジュール管理部２４は、出力間隔制御キューの読み出しフラグが有効か否かを判断する。有効ならばステップＳ２４へいき、そうでなければステップＳ１９へいく。【００７８】
〔Ｓ２４〕一定時間ウエイトした後、ステップＳ２２へ戻る。
なお、ステップＳ１９で読み出しフラグを有効にした際は、フラグを有効にした時間（Tav）をステップＳ１５へフィードバックし、ステップＳ２０でパケットを出力した際は、パケット出力時間（To）をステップＳ１５へフィードバックする。【００７９】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【００８０】
１  パケット中継装置
１０−１〜１０−ｎ  入力側ネットワークインタフェース部
１２  到着時間計測部
１４  パケット識別部
１５  パケット情報付与部
２０−１〜２０−ｎ  出力側ネットワークインタフェース部
２１  パケット振り分け部
２２−１〜２２−ｎ  出力間隔制御キュー
２３  非出力間隔制御キュー
２４  スケジュール管理部
２５−１〜２５−ｎ  カウンタ部
２６  パケット読み出し部
３０  スイッチ部
Ｐａ  出力間隔制御パケット
Ｐｂ  非出力間隔制御パケット
【図１】
0004342585.tif 000002
【図２】
0004342585.tif 000003
【図３】
0004342585.tif 000004
【図４】
0004342585.tif 000005
【図５】
0004342585.tif 000006
【図６】
0004342585.tif 000007
【図７】
0004342585.tif 000008
【図８】
0004342585.tif 000009
【図９】
0004342585.tif 000010
【図１０】
0004342585.tif 000011
【図１１】
0004342585.tif 000012
【図１２】
0004342585.tif 000013
【図１３】
0004342585.tif 000014
【図１４】
0004342585.tif 000015