(57)【要約】インターネット等の通信網にて用いられるインターネットルータ装置等の中継装置において、送信元の装置から送信先の装置までの遅延時間を保証することが可能な中継装置、通信システム、制御回路、接続装置、及びコンピュータプログラムを提供する。  中継すべきパケットの転送速度の目標値に基づいて通信網上へ送出する送出時間間隔を算出し（Ｓ２０２）、保証すべき遅延時間に基づいて遅延時間の目標値を決定し（Ｓ２０５）、遅延時間目標値及び送出時間間隔に基づいて、パケットの破棄の判定の基準となる記憶量の基準値を算出する（Ｓ２０６）。そして算出した送出時間間隔でパケットを送出し、また記憶量基準値を超えて記憶すべき量のパケットを受信した場合に、所定の方法に基づいてパケットの破棄の要否を判定する。【特許請求の範囲】
【請求項１】
転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、該経路を決定したパケットを記憶手段に記憶し、該記憶手段に記憶しているパケットを、設定された送出時間間隔で、決定した経路で通信網上へ送出する中継装置において、
受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する送出時間間隔を算出する手段と、
算出した送出時間間隔を、パケットの送出時間間隔として設定する手段と、
パケットの中継に要する遅延時間の目標値を決定する目標値決定手段と、
遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出する手段と、
算出した記憶量の基準値及び記憶手段に記憶しているパケットの量に基づいて、パケットの破棄の要否を判定する手段と
を備えることを特徴とする中継装置。
【請求項２】
前記受信したパケットは、送信元から送信先までの遅延時間の目標値を示す総遅延時間情報を含み、
前記目標値決定手段は、
送信元から送信先までの通信網上の経路で経由する装置の数を検出し、検出した数で、パケットに含まれている総遅延時間情報が示す時間を除すことにより遅延時間の目標値を決定するように構成してあることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記受信したパケットは、自装置から送信先までの遅延時間の目標値を示す残遅延時間情報を含み、
前記目標値決定手段は、
送信先までの通信網上の経路で経由する装置の数を検出し、検出した数で、パケットに含まれている残遅延時間情報が示す時間を除すことにより遅延時間の目標値を決定するように構成してあることを特徴とする請求項１に記載の中継装置。
【請求項４】
破棄したパケットの数を検出する手段と、
検出したパケットの数が所定値を超える場合に、記憶量基準値及び送出時間間隔の設定を変更する手段と
を更に備えることを特徴とする請求項１乃至請求項３のいずれかに記載の中継装置。
【請求項５】
通信網に接続し、パケットを送信する送信装置と、該送信装置から送信されたパケットを受信する受信装置とを備える通信システムにおいて、
通信網に接続し、前記送信装置から前記受信装置へ送信されるパケットを中継する請求項１乃至請求項４のいずれかに記載の中継装置を備えることを特徴とする通信システム。
【請求項６】
転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、該経路で通信網上へパケットを送出する中継装置に用いられ、経路を決定されたパケットを記憶手段に記憶させて通信網上へ送出させる制御を行う制御回路において、
受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する送出時間間隔を算出する手段と、
算出した送出時間間隔を、パケットの送出時間間隔として設定する手段と、
パケットの中継に要する遅延時間の目標値を決定する手段と、
遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出する手段と、
算出した記憶量の基準値及び記憶手段に記憶しているパケットの量に基づいて、パケットの破棄の要否を判定する手段と、
記憶手段に記憶しているパケットを、設定した送出時間間隔で前記中継装置から送出させる手段と
を備えることを特徴とする制御回路。
【請求項７】
転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、経路を決定したパケットを送出する中継装置に接続する第１接続手段、及び通信網に接続する第２接続手段を備える接続装置において、
通信網上へ送出するパケットを記憶する記憶手段と、
前記中継装置から第１接続手段を介して、経路が決定されたパケットを受信する手段と、
受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する送出時間間隔を算出する手段と、
算出した送出時間間隔を、パケットの送出時間間隔として設定する手段と、
パケットの中継に要する遅延時間の目標値を決定する手段と、
遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出する手段と、
算出した記憶量の基準値及び記憶手段に記憶しているパケットの量に基づいて、パケットの破棄の要否を判定する手段と、
記憶手段に記憶しているパケットを、設定した送出時間間隔で決定された経路で第２接続手段から通信網上へ送出する手段と
を備えることを特徴とする接続装置。
【請求項８】
転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、該経路で通信網上へパケットを送出するコンピュータに、経路を決定されたパケットを記憶手段に記憶させて通信網上へ送出させるコンピュータプログラムにおいて、
コンピュータに、受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する時間間隔を算出させる手順と、
コンピュータに、算出した送出時間間隔を、パケットの送出時間間隔として設定させる手順と、
コンピュータに、パケットの中継に要する遅延時間の目標値を決定させる手順と、
コンピュータに、遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出させる手順と、
コンピュータに、算出した記憶量の基準値を、パケットの破棄の要否の判定基準となる記憶量基準値として設定させる手順と
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、インターネット等の通信網を介してパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、決定した経路で通信網上へパケットを送出するルーティング処理を行うルータ装置等の中継装置、該中継装置を用いた通信システム、前記中継装置を制御する制御回路、前記中継装置に接続される接続装置、及び前記中継装置を実現するためのコンピュータプログラムに関し、特に通信網内でのＱｏＳを保証する中継装置、通信システム、制御回路、接続装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】  近年、高性能コンピュータが、研究機関及び企業だけでなく、一般家庭にまで普及し始め、新たな情報通信機器としての機能を発揮し始めることにより、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）等のネットワークアプリケーションの利用が飛躍的に増大し、インターネット、イントラネット等の通信網でのトラフィックが指数関数的に増大している。また最近では、広帯域通信の普及に伴い音声のトラフィックをインターネットに統合する動き、即ちＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）が本格的に始動しつつある。さらに今後ビデオ映像の様な一定の転送速度を要するストリーム型トラフィック、高速なデータ転送等の異なる通信品質を要求する様々な形態のトラフィックの混在が予想される。【０００３】  そこで通信網を介してのパケット転送技術については、多種多様な通信品質を保証するＱｏＳ（Ｑｕａｌｉｔｉｅｓ  ｏｆ  Ｓｅｒｖｉｃｅ）保証機構として、Ｄｉｆｆ−Ｓｅｒｖ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅ）、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）等のサービスクラス化及びパケット転送の高速化技術が注目されている。Ｄｉｆｆ−Ｓｅｒｖでは、異なる属性を有するトラフィックに異なるサービスクラスを定義し、それに見合ったサービスの提供をインターネットルータ装置に要求している。またパケット転送を高速化する技術であるＭＰＬＳでは、パケットのヘッダに、ＣｏＳ（Ｃｌａｓｓ  ｏｆ  Ｓｅｒｖｉｃｅ）フィールドを設けることにより、クラス毎の差別化サービスが実現されている。【０００４】  このようなＱｏＳを実現するために考えられる技術の一つとして、バッファ読み出しスケジューリングの研究が盛んに行われている。例えばバッファを入出力ポート夫々に配置する入出力バッファ型スイッチは、ＷＦＱ（Ｗｅｉｇｈｔｅｄ  Ｆａｉｒ  Ｑｕｅｕｉｎｇ）、ＷＲＲ（Ｗｅｉｇｈｔｅｄ  Ｒｏｕｎｄ  Ｒｏｂｉｎ）等のバッファ読み出しスケジューリング規律によって、特定コネクションによる出力回線の恒常的な占有という問題点を解消している。しかしこれらのスケジューリング規律だけでは、バッファ高負荷時における高優先トラフィックのパケット到着に対して確実に収容することができず、十分なＱｏＳ制御を提供することは困難である。またルータ装置のインターフェースとしては複数本の入出力ポートが接続されることが十分に考えられ、この場合、バッファ空間も複数ポートで共有されることとなる。しかし複数ポートを考慮したバッファ管理に対しては十分な検討が行われていない。【０００５】  そこでフロー毎のＱｏＳ制御機能を持つ高性能ルータ装置を実現するために、Ｐｕｓｈｏｕｔ機構を導入し、それをポート及びクラス毎に階層的に管理することによってクラス別優先制御を行うバッファ管理方法が非特許文献１に提案されている。非特許文献１にて提案された方法では、まずフロー毎に最低限使用可能なバッファサイズを論理的に確保する。バッファの使用率が低い環境下では、この基本量に関わらず、実バッファの使用が許可されるが、高負荷環境に遷移しバッファが一杯（Ｆｕｌｌ）の状態になった場合、Ｐｕｓｈｏｕｔ機構を適用し特定のパケットを破棄する。さらに非特許���献１では、一つのバッファを複数のポートで共有する環境を想定している。それに伴い、基本量の管理を、ポート、クラス、フローの順に階層的に行う手法を提案している。また非特許文献１では、スケジューリング規律として階層的なＷＲＲを提案している。さらに非特許文献１では、クラス別優先制御を実現するためその帯域配分法を提案している。
【非特許文献１】南勝也ほか，「インターネットルータにおけるクラス優先制御を考慮したフロー別バッファ管理方法」，電子情報通信学会研究報告，ＳＳＥ９９−１７５，ＩＮ９９−１３８，電子情報通信学会発行，Ｐ．８５−９０，２０００年３月。
【発明の開示】
【発明が解決しようとする課題】
【０００６】  しかしながら例えば非特許文献１に示された従来の方法は、クラス別に優先制御を行うための帯域配分法を提案しているが、中継時の遅延時間を保証するものではないという問題がある。さらに本来利用者にとって最重要な課題であるパケットの送信元の装置から送信先の装置までの遅延時間については考慮されていないという問題がある。【０００７】  本発明は斯かる事情に鑑みてなされたものであり、ルータ装置である中継装置において、中継するパケットの転送速度の目標値に基づいて送出時間間隔、遅延時間の目標値、及び記憶量基準値（バッファサイズ）を算出し、通信網を介して受信したパケットを記憶手段（ＲＡＭ）に記憶し、算出した時間間隔で通信網上へ送出することにより、中継時の遅延時間を保証することが可能な中継装置、該中継装置を用いた通信システム、前記中継装置を制御する制御回路、前記中継装置に接続される接続装置、及び前記中継装置を実現するためのコンピュータプログラムの提供を主たる目的とする。【０００８】  さらに本発明では、パケットの送信元から送信先までの遅延時間の目標値を、経由する装置の数で除して遅延時間の目標値を設定することにより、又は送信先までの遅延時間の目標値に基づいて遅延時間の目標値を設定することにより、送信元の装置から送信先の装置までの遅延時間を考慮した制御を行うことが可能な中継装置等の提供を他の目的とする。
【課題を解決するための手段】
【０００９】  第１発明に係る中継装置は、転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、該経路を決定したパケットを記憶手段に記憶し、該記憶手段に記憶しているパケットを、設定された送出時間間隔で、決定した経路で通信網上へ送出する中継装置において、受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する送出時間間隔を算出する手段と、算出した送出時間間隔を、パケットの送出時間間隔として設定する手段と、パケットの中継に要する遅延時間の目標値を決定する目標値決定手段と、遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出する手段と、算出した記憶量の基準値及び記憶手段に記憶しているパケットの量に基づいて、パケットの破棄の要否を判定する手段とを備えることを特徴とする。【００１０】  本発明の中継装置では、パケットの転送速度目標値に基づいて送出時間間隔及び記憶量基準値を算出し、算出した記憶量基準値をパケットの破棄の要否の判定に用いる記憶量基準値として設定し、算出した送出時間間隔で記憶手段に記憶したパケットを通信網上に送出することにより、基準値となる記憶量及び送出時間間隔の積で示される遅延時間を保証することが可能であり、このため転送速度を保証することも可能となる。【００１１】  第２発明に係る中継装置は、第１発明において、前記受信したパケットは、送信元から送信先までの遅延時間の目標値を示す総遅延時間情報を含み、前記目標値決定手段は、送信元から送信先までの通信網上の経路で経由する装置の数を検出し、検出した数で、パケットに含まれている総遅延時間情報が示す時間を除すことにより遅延時間の目標値を決定するように構成してあることを特徴とする。【００１２】  本発明の中継装置では、パケットの転送時に経由する装置の数に基づいて、遅延時間の目標値を決定することにより、送信元の装置から送信先の装置まで、即ちＥｎｄ  ｔｏ  Ｅｎｄでの遅延時間を保証することが可能である。【００１３】  第３発明に係る中継装置は、第１発明において、前記受信したパケットは、自装置から送信先までの遅延時間の目標値を示す残遅延時間情報を含み、前記目標値決定手段は、送信先までの通信網上の経路で経由する装置の数を検出し、検出した数で、パケットに含まれている残遅延時間情報が示す時間を除すことにより遅延時間の目標値を決定するように構成してあることを特徴とする。【００１４】  本発明の中継装置では、残遅延時間を管理し、また残遅延時間に基づいて、遅延時間の目標値を決定することにより、送信元の装置から通信網を経由して自装置が受信するまでの遅延状況に応じて記憶量基準値及び送出時間間隔の設定を動的に変更し、遅延時間を保証することが可能である。【００１５】  第４発明に係る中継装置は、第１発明乃至第３発明のいずれかにおいて、破棄したパケットの数を検出する手段と、検出したパケットの数が所定値を超える場合に、記憶量基準値及び送出時間間隔の設定を変更する手段とを更に備えることを特徴とする。【００１６】  本���明の中継装置では、破棄したパケットの数に応じて記憶量基準値及び送出時間間隔の設定を動的に変更することにより、トラフィックの増大等の外部状況の変化にて受信するパケットの量が増大し、パケットを破棄する回数が増加して転送データの欠落が増加した場合でも、記憶量基準値の変更、具体的には記憶量基準値を増加させることで、破棄の対象となるパケットを減少させて転送データの欠落を抑制しながらも、遅延時間を保証することが可能である。【００１７】  第５発明に係る通信システムは、通信網に接続し、パケットを送信する送信装置と、該送信装置から送信されたパケットを受信する受信装置とを備える通信システムにおいて、通信網に接続し、前記送信装置から前記受信装置へ送信されるパケットを中継する第１発明乃至第４発明のいずれかに記載の中継装置を備えることを特徴とする。【００１８】  本発明の通信システムでは、第１発明乃至第４発明のいずれかに記載の中継装置を用いて構成することにより、送信装置から受信装置までの遅延時間を保証することが可能である。【００１９】  第６発明に係る制御回路は、転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、該経路で通信網上へパケットを送出する中継装置に用いられ、経路を決定されたパケットを記憶手段に記憶させて通信網上へ送出させる制御を行う制御回路において、受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する送出時間間隔を算出する手段と、算出した送出時間間隔を、パケットの送出時間間隔として設定する手段と、パケットの中継に要する遅延時間の目標値を決定する手段と、遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出する手段と、算出した記憶量の基準値及び記憶手段に記憶しているパケットの量に基づいて、パケットの破棄の要否を判定する手段と、記憶手段に記憶しているパケットを、設定した送出時間間隔で前記中継装置から送出させる手段とを備えることを特徴とする。【００２０】  本発明の制御回路では、通信網上でパケットを送出すべき経路を決定する機能を有するルータ装置等の中継装置に組み込み、経路が決定されたパケットの転送速度目標値に基づいて送出時間間隔及び記憶量基準値を算出し、算出した記憶量基準値をパケットの破棄の要否の判定に用いる記憶量基準値として設定し、算出した送出時間間隔で記憶手段に記憶したパケットを通信網上に送出することにより、基準値となる記憶量及び送出時間間隔の積で示される遅延時間を保証することが可能であり、このため転送速度を保証することも可能となる。【００２１】  第７発明に係る接続装置は、転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、経路を決定したパケットを送出する中継装置に接続する第１接続手段、及び通信網に接続する第２接続手段を備える接続装置において、通信網上へ送出するパケットを記憶する記憶手段と、前記中継装置から第１接続手段を介して、経路が決定されたパケットを受信する手段と、受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する送出時間間隔を算出する手段と、算出した送出時間間隔を、パケットの送出時間間隔として設定する手段と、パケットの中継に要する遅延時間の目標値を決定する手段と、遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出する手段と、算出した記憶量の基準値及び記憶手段に記憶しているパケットの量に基づいて、パケットの破棄の要否を判定する手段と、記憶手段に記憶しているパケットを、設定した送出時間間隔で決定された経路で第２接続手段から通信網上へ送出する手段とを備えることを特徴とする。【００２２】  本発明の接続装置では、通信網上でパケットを送出すべき経路を決定する機能を有するルータ装置等の中継装置に接続し、経路が決定されたパケットの転送速度目標値に基づいて送出時間間隔及び記憶量基準値を算出し、算出した記憶量基準値をパケットの破棄の要否の判定に用いる記憶量基準値として設定し、算出した時間間隔で記憶手段に記憶したパケットを通信網上に送出することにより、基準値となる記憶量及び送出時間間隔の積で示される遅延時間を保証することが可能であり、このため転送速度を保証することも可能となる。【００２３】  第８発明に係るコンピュータプログラムは、転送データを所定のデータ長に分割した分割データを含む、転送速度の目標値が示されたパケットを受信し、該パケットを送出すべき通信網上の経路を決定し、該経路で通信網上へパケットを送出するコンピュータに、経路を決定されたパケットを記憶手段に記憶させて通信網上へ送出させるコンピュータプログラムにおいて、コンピュータに、受信したパケットに示されている転送速度の目標値及び分割データのデータ長に基づいて、パケットを通信網上へ送出する時間間隔を算出させる手順と、コンピュータに、算出した送出時間間隔を、パケットの送出時間間隔として設定させる手順と、コンピュータに、パケットの中継に要する遅延時間の目標値を決定させる手順と、コンピュータに、遅延時間目標値及び送出時間間隔に基づいて、記憶手段中に記憶するパケットの記憶量の基準値を算出させる手順と、コンピュータに、算出した記憶量の基準値を、パケットの破棄の要否の判定基準となる記憶量基準値として設定させる手順とを実行させることを特徴とする。【００２４】  本発明のコンピュータプログラムでは、通信網上でパケットを送出すべき経路を決定する機能を有するルータ装置等のコンピュータにて、例えばファームウェアとして実行することにより、コンピュータが本発明の中継装置として動作し、経路が決定されたパケットの転送速度目標値に基づいて送出時間間隔及び記憶量基準値を算出し、算出した記憶量基準値をパケットの破棄の要否の判定に用いる記憶量基準値として設定し、算出した時間間隔で記憶手段に記憶したパケットを通信網上に送出することにより、基準値となる記憶量及び送出時間間隔の積で示される遅延時間を保証することが可能であり、このため転送速度を保証することも可能となる。
【発明の効果】
【００２５】  本発明に係る中継装置、通信システム、制御回路、接続装置及びコンピュータプログラムでは、送出すべき通信網上の経路を決定されたパケットから転送速度の目標値を読み取り、読み取った転送速度の目標値及びパケットのデータ長に基づいて、パケットの送出時間間隔を算出し、自装置における遅延時間の目標値を決定し、遅延時間目標値及び送出時間間隔に基づいて、パケットの破棄の要否の判定基準となる記憶量基準値を算出し、算出した送出時間間隔で記憶手段に記憶したパケットを通信網上へ送出する。この構成により、記憶量基準値として設定された記憶量のパケットを、設定された送出時間間隔で送出することができるので、記憶量基準値及び送出時間間隔の積で示される遅延時間を保証することが可能であり、特に帯域保証型のパケットに対して遅延時間、即ち帯域を保証すること可能であり、またベストエフォート型のパケットに対する処理と差別化して多種多様な通信品質を保証するＱｏＳ機構を実現することが可能である等、優れた効果を奏する。【００２６】  また本発明では、パケットの転送時に経由する装置の数を検出し、検出した装置の数により、送信元から送信先までの遅延時間の目標値を示す総遅延時間を除して、自装置における遅延時間の目標値を決定する。この構成により送信元の装置から送信先の装置まで、即ちＥｎｄ  ｔｏ  Ｅｎｄでの遅延時間を保証することが可能である等、優れた効果を奏する。なお自装置から送信先までの遅延時間の目標値に基づいて自装置における遅延時間の目標値を決定するようにしても良く、このような構成をとることで、送信元の装置から通信網を経由して自装置が受信するまでの遅延状況に応じて記憶量基準値及び送出時間間隔の設定を動的に変更し、遅延時間及び転送速度を保証することが可能となる等、優れた効果を奏する。【００２７】  さらに本発明では、所定時間の間に破棄したパケットの数を検出し、検出したパケットの数が所定値を超える場合に、記憶量基準値及び送出時間間隔の設定を変更する。この構成により、トラフィックの増大等の外部状況の変化にて受信するパケットの量が増大し、パケットを破棄する回数が増加して転送データの欠落が増加した場合でも、記憶量基準値の変更、具体的には記憶量基準値を増加させることで、破棄の対象となるパケットを減少させて転送データの欠落を抑制しながらも、遅延時間を保証することが可能である等、優れた効果を奏する。【００２８】  そして本発明では、上述した処理によるＱｏＳ機構を実現する中継装置そのものを提供するだけでなく、既存のルータ装置の内部に組み込むことが可能なＶＬＳＩチップ等の制御回路としての提供、既存のルータ装置の外部に接続することが可能な接続装置としての提供、既存のルータ装置にファームウェアとして読み込むことが可能なコンピュータプログラムとしての提供等の様々な形態で提供することができるので、既存のルータ装置を、本発明のＱｏＳ機構を実現する中継装置として用いることが可能であり、このため既存の装置を活かして投資費用を抑制することが可能である等、優れた効果を奏する。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態１における通信システムの構成を示すブロック図である。
【図２】本発明の実施の形態１における中継装置の構成を示すブロック図である。
【図３】本発明の実施の形態１における中継装置のパケット受付処理を示すフローチャートである。
【図４】本発明の実施の形態１における中継装置のパケット受付処理を示すフローチャートである。
【図５】本発明の実施の形態１における中継装置のパケット受付処理を示すフローチャートである。
【図６】本発明の実施の形態１における中継装置の階層的なパケットの管理を示す概念図である。
【図７】本発明の実施の形態１における中継装置の送出時間間隔及び記憶量基準値算出処理を示すフローチャートである。
【図８】本発明の実施の形態１における中継装置の残遅延時間に基づく送出時間間隔及び記憶量基準値算出処理を示すフローチャートである。
【図９】本発明の実施の形態１における中継装置の送出時間間隔及び記憶量基準値設定変更処理を示すフローチャートである。
【図１０】本発明の通信システムの構成を示すブロック図である。
【図１１】本発明の実施の形態２における接続装置及び該接続装置を接続した中継装置を示すブロック図である。
【図１２】本発明の実施の形態２における接続装置のパケット受信処理を示すフローチャートである。
【図１３】本発明の実施の形態２における接続装置のパケット受信処理を示すフローチャートである。
【図１４】本発明の実施の形態２における接続装置のパケット受信処理を示すフローチャートである。
【図１５】本発明の実施の形態２における接続装置の送出時間間隔及び記憶量基準値算出処理を示すフローチャートである。
【図１６】本発明の実施の形態３における中継装置を示すブロック図である。
【符号の説明】
【００３０】  １  中継装置
１１０  経路決定回路
１１１  制御手段
１１２  記憶手段
１２０  制御回路
１２１  制御手段
１２２  記憶手段
１２２ａ  テンポラリメモリ
１２２ｂ  バッファメモリ
１３０  接続手段
１００  送信装置
２００  受信装置
２  接続装置
２１  制御手段
２２  記憶手段
２２ａ  テンポラリメモリ
２２ｂ  バッファメモリ
２３  第１接続手段
２４  第２接続手段
３  中継装置
３１  制御手段
３２  記憶手段
３３  接続手段
４  中継装置
４１  制御手段
４２  記憶手段
４３  記録手段
４４  接続手段
Ｌ  通信線
ＮＷ  通信網
ＮＷｈｑ  高品質通信網
ＰＧ  コンピュータプログラム
【発明を実施するための最良の形態】
【００３１】  以下、本発明をその実施の形態を示す図面に基づいて詳述する。【００３２】実施の形態１．
図１は本発明の実施の形態１における通信システムの構成を示すブロック図である。図１中１，１，…は、インターネットルータ装置等の本発明の中継装置であり、各中継装置１，１，…は、インターネット、イントラネット等の通信網ＮＷにて接続されている。そして各中継装置１，１，…は、パケットの送信元の装置である送信装置１００から通信網ＮＷを介してパケットの送信先の装置である受信装置２００へ送信すべきパケットを受信し、受信したパケットを転送する通信網ＮＷ上の経路を決定し、決定した経路で通信網ＮＷ上へ送出する経路決定処理及び中継処理を行う。【００３３】  図２は本発明の実施の形態１における中継装置１の構成を示すブロック図である。中継装置１は、パケットを送出する通信網ＮＷ上の経路を決定するスイッチファブリック回路等の経路決定回路１１０と、経路決定回路１１０にて経路を決定されたパケットに対してＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御を行う本発明の複数の制御回路１２０，１２０，…と、制御回路１２０及び通信網ＮＷ間でパケットの受け渡しを行う入出力ポート等の複数の接続手段１３０，１３０，…とを備えている。【００３４】  経路決定回路１１０は、ＣＰＵ等の制御手段１１１と、ＲＡＭ等の記憶手段１１２とを備えており、制御手段１１１の制御により、接続手段１３０が受信し、制御回路１２０を介して受け付けたパケットを、記憶手段１１２に一時的に記憶し、パケットのヘッダに設けられた所定のフィールドに示されている受信装置２００を示すＩＰアドレス等の送信先情報に基づいて、通信網ＮＷ上の経路を決定し、決定した経路を示す情報をパケットに付与して、経路に応じた適当な制御回路１２０へ渡す。【００３５】  制御回路１２０は、ＣＰＵ等の制御手段１２１と、ＲＡＭ等の記憶手段１２２とを備えており、制御手段１２１の制御により、経路決定回路１１０から受け取ったパケットのヘッダに設けられた所定のフィールドに示されている経路を示す情報、転送速度に関する属性を示す情報、転送速度の目標値、及び遅延時間の目標値に関する情報等の各種情報を読み取り、読み取った情報に基づいて、後述する方法にて記憶手段１２２に記憶し、接続手段１３０へ渡して経路を示す情報に基づく経路にて通信網ＮＷ上に送出させる処理を行う。【００３６】  記憶手段１２２の記憶領域は、経路決定回路１１０から受け取ったパケットを一時的に記憶するテンポラリメモリ１２２ａ及びテンポラリメモリ１２２ａに一時的に記憶したパケットを後述する方法にてフロー毎に記憶するバッファメモリ１２２ｂとして用いられており、一の制御回路１２０が有する一のバッファメモリ１２２ｂは、一の制御回路１２０に接続する複数の接続手段１３０，１３０，…の夫々により送出される夫々のパケットの記憶に共有して使用される。【００３７】  次に本発明の実施の形態１における中継装置１の各種処理を説明する。図３、図４及び図５は本発明の実施の形態１における中継装置１のパケット受付処理を示すフローチャートである。本発明の中継装置１は、例えば映像情報を提供するサーバコンピュータ等の送信装置１００から、通信網ＮＷを介してパーソナルコンピュータ等の受信装置２００へ転送される転送デ���タを受信し、そして通信網ＮＷ上へ送出する中継を行う。中継される転送データは、所定のデータ長の分割データに分割され、転送に関する各種情報が示されたヘッダを分割データに付与したパケットと呼ばれる単位で転送等の各種処理がなされる。なお一連の複数のパケットにより構成される転送データをフローという。パケットのヘッダには所定の規則に従ってフィールドが設けられており、フィールドには、送信装置１００を示す情報、受信装置２００を示す情報、経路を示す情報、当該パケットにより構成されるフロー（転送データ）を示す情報、当該パケットに含まれる分割データのフロー中における順位を示すシーケンス情報、転送速度に関する属性を示す情報、転送速度の目標値を示す情報、送信装置１００から受信装置２００までの遅延時間の目標値を示す総遅延時間情報、自装置から受信装置２００までの遅延時間の目標値を示す残遅延時間情報等の様々な情報が示されている。【００３８】本発明の中継装置１では、送信装置１００から、通信網ＮＷを介して受信装置２００へ転送される転送データのフローを構成するパケットを接続手段１３０により受信し（Ｓ１０１）、受信したパケットを経路決定回路１１０へ渡す。【００３９】  本発明の中継装置１が備える経路決定回路１１０では、制御手段１１１の制御により、パケットのヘッダに設けられた所定のフィールドに示されている受信装置２００を示すＩＰアドレス等の送信先情報を読み取り、読み取った送信先情報が示す受信装置２００までの通信網ＮＷ上の転送経路を決定し（Ｓ１０２）、決定した転送経路を示す情報をパケットのヘッダに設けられた所定のフィールドに書き込み、当該パケットを制御回路１２０へ渡す。【００４０】  本発明の中継装置１が備える制御回路１２０では、経路決定回路１１０から受け付けたパケットのヘッダに設けられた所定のフィールドに示されている各種情報を読み取り、当該パケットをテンポラリメモリ１２２ａに一時的に記憶させる。そして制御回路１２０では、制御手段１２１の制御により、受け付けたパケットに対して、通信網ＮＷ上へ送出する送出時間間隔及びパケットの記憶量（バッファサイズ）の基準値が設定されているか否かを判定し（Ｓ１０３）、送出時間間隔及び記憶量基準値が設定されていないと判定した場合（Ｓ１０３：ＮＯ）、送出時間間隔及び記憶量基準値を設定する処理を行う（Ｓ１０４）。なおステップＳ１０３にて送出時間間隔及び記憶量基準値が設定されていると判定した場合（Ｓ１０３：ＹＥＳ）、ステップＳ１０４に示す処理は行われない。送出時間間隔及び記憶量基準値は、パケットを構成するフロー単位で設定されるため、ステップＳ１０３にて送出時間間隔及び記憶量基準値が設定されていないパケットとは、同じフローを構成する他のパケットを以前に受信していないパケット、即ちそのフローを構成するパケットの中で最初に受信されたパケットである。また記憶量基準値とは、当該フローのパケットの記憶に対して使用可能な最低限の記憶量を示す設定値であり、バッファメモリ１２２ｂに記憶しているパケットの記憶量が記憶量基準値未満である場合、新しく受け付けたパケットは、バッファメモリ１２２ｂに無条件で記憶されるが、バッファメモリ１２２ｂに記憶しているパケットについての記憶量が記憶量基準値を超える場合、新しく受け付けたパケットは破棄の要否を判定される対象となる。具体的にはバッファメモリ１２２ｂの使用率が低い環境下では、バッファメモリ１２２ｂの使用を許可されるが、高負荷環境に遷移しバッファメモリ１２２ｂが一杯（Ｆｕｌｌ）の状態になった場合、受け付けたパケットは破棄される可能性がある。【００４１】  ここで本発明の中継装置１が備える制御回路１２０のバッファメモリ１２２ｂの管理について説明する。図６は本発明の実施の形態１における中継装置１の階層的なパケットの管理を示す概念図である。本発明の制御回路１２０が備える記憶手段１２２のバッファメモリ１２２ｂの記憶領域は、複数の接続手段（ポート）１３０，１３０，…にて共有されており、また夫々の接続手段１３０，１３０，…は、様々な属性（クラス）のフローの送受信に用いられる。ここでいう属性とは、帯域使用の優先順位を示しており、具体的には転送速度を保証する帯域保証型クラス、通信網ＮＷのトラフィック状況により転送速度が変化するベストエフォート型クラス等の属性がある。即ちバッファメモリ１２２ｂの記憶領域は、複数の接続手段１３０，１３０，…に配分され、各接続手段１３０，１３０，…に配分されたバッファメモリ１２２ｂの記憶領域は、夫々の接続手段１３０，１３０，…についての各属性に対して配分され、各属性に対して配分されたバッファメモリ１２２ｂの記憶領域は、夫々の属性についての各フローに配分されるという階層的な管理がなされる。また各フローに対しては記憶量基準値が状況に応じて設定され、各属性及び各接続手段１３０，１３０，…に対しては予め固定された又は必要に応じて変更可能な記憶量の基準値が設定されている。なお本願発明は特に帯域保証型クラスに属するフローに対する制御に適用することで優れた効果を奏するものである。【００４２】  フローチャートに戻り、本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、新しく受け付けたパケットをバッファメモリ１２２ｂの記憶領域に記憶する余裕が有るか否かを判定し（Ｓ１０５）、記憶する余裕が有ると判定した場合（Ｓ１０５：ＹＥＳ）、受け付けたパケットをバッファメモリ１２２ｂに記憶し（Ｓ１０６）、パケット受付処理を終了する。【００４３】  ステップＳ１０５において記憶する余裕が無い、即ちバッファメモリ１２２ｂが一杯の状態であると判定した場合（Ｓ１０５：ＮＯ）、制御回路１２０では、制御手段１２１の制御により、受け付けたパケットが、記憶量基準値にて設定されている記憶量を超えてバッファメモリ１２２ｂを使用しているフローを構成するパケットであるか否かを判定する（Ｓ１０７）。【００４４】  ステップＳ１０７において、受け付けたパケットが、記憶量基準値にて設定されている記憶量を超えてバッファメモリ１２２ｂを使用しているフローを構成するパケットであると判定したとき（Ｓ１０７：ＹＥＳ）、制御回路１２０では、制御手段１２１の制御により、受け付けたパケットを破棄し（Ｓ１０８）、パケット受付処理を終了する。【００４５】  ステップＳ１０７において、受け付けたパケットが記憶量基準値にて設定��れている記憶量を超えてバッファメモリ１２２ｂを使用しているフローを構成するパケットではないと判定した場合（Ｓ１０７：ＮＯ）、制御回路１２０では、制御手段１２１の制御により、受け付けたパケットにより構成されるフローに付与された属性（クラス）についての記憶量が、予め設定されている記憶量の基準値を超えているか否かを判定する（Ｓ１０９）。【００４６】  ステップＳ１０９において、当該属性についての記憶量が、予め設定されている記憶量の基準値を超えていると判定したとき（Ｓ１０９：ＹＥＳ）、制御回路１２０では、制御手段１２１の制御により、当該属性が付与された各フローの中で、フローに対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きいフローを検索する（Ｓ１１０）。そして制御回路１２０では、制御手段１２１の制御により、検索したフローを構成するパケットの中で最初に送出されるべきパケットに対し、受け付けたパケットを上書きするＰｕｓｈｏｕｔ処理、即ち最初に送出されるべきパケットを破棄して（Ｓ１１１）、受け付けたパケットを記憶させる（Ｓ１１２）処理を行い、パケット受付処理を終了する。【００４７】  ステップＳ１０９において、当該属性についての記憶量が、予め設定されている記憶量の基準値を超えていないと判定した場合（Ｓ１０９：ＮＯ）、制御回路１２０では、制御手段１２１の制御により、受け付けたパケットのフローに対応する接続手段１３０（ポート）についての記憶量が、予め設定されている記憶量の基準値を超えているか否かを判定する（Ｓ１１３）。【００４８】  ステップＳ１１３において、当該接続手段１３０についての記憶量が、予め設定されている記憶量の基準値を超えていると判定したとき（Ｓ１１３：ＹＥＳ）、制御回路１２０では、制御手段１２１の制御により、当該接続手段１３０に対応するフローに付与された各属性の中で、属性に対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きい属性を検索し（Ｓ１１４）、検索した属性を付与された各フローの中で、フローに対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きいフローを検索する（Ｓ１１５）。そして制御回路１２０では、制御手段１２１の制御により、検索したフローを構成するパケットの中で最初に送出されるべきパケットに対し、受け付けたパケットを上書きするＰｕｓｈｏｕｔ処理、即ち最初に送出されるべきパケットを破棄して（Ｓ１１６）、受け付けたパケットを記憶させる（Ｓ１１７）処理を行い、パケット受付処理を終了する。【００４９】  ステップＳ１１３において、当該接続手段１３０についての記憶量が、予め設定されている記憶量の基準値を超えていないと判定した場合（Ｓ１１３：ＮＯ）、制御回路１２０では、制御手段１２１の制御により、受け付けたパケットのフローに対応する接続手段１３０にて記憶領域を共有されるバッファメモリ１２２ｂを、共有する各接続手段１３０，１３０，…の中で、接続手段１３０，１３０，…に対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きい接続手段１３０を検索し（Ｓ１１８）、検索した接続手段１３０に対応するフローに付与された各属性の中で、属性に対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きい属性を検索し（Ｓ１１９）、検索した属性を付与された各フローの中で、フローに対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きいフローを検索する（Ｓ１２０）。そして制御回路１２０では、制御手段１２１の制御により、検索したフローを構成するパケットの中で最初に送出されるべきパケットに対し、受け付けたパケットを上書きするＰｕｓｈｏｕｔ処理、即ち最初に送出されるべきパケットを破棄して（Ｓ１２１）、受け付けたパケットを記憶させる（Ｓ１２２）処理を行い、パケット受付処理を終了する。【００５０】  このようにして中継装置１のパケット受付処理においては、フロー等に対して設定されている記憶量基準値及び記憶手段１２２のバッファメモリ１２２ｂに記憶しているパケットの量に基づいて、受け付けたパケット及び記憶しているパケットに対する破棄の要否が判定され、判定した結果に基づいてパケットを破棄及び記憶する処理が実行される。【００５１】  次にステップＳ１０４にて行われる送出時間間隔及び記憶量基準値を設定する処理について説明する。図７は本発明の実施の形態１における中継装置１の送出時間間隔及び記憶量基準値算出処理を示すフローチャートである。本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、送出時間間隔及び記憶量基準値算出の対象となるフローを構成するパケットにヘッダとして示されている転送速度の目標値を読み取り（Ｓ２０１）、読み取った転送速度の目標値及びパケットに含まれる分割データのデータ長に基づいて、パケットを通信網ＮＷ上へ送出する送出時間間隔を算出し（Ｓ２０２）、算出した送出時間間隔を、当該フローを構成するパケットの送出時間間隔として設定する（Ｓ２０３）。ステップＳ２０１にて読み取る転送速度の目標値とは、例えば帯域保証型に属するパケットに対して保証すべき帯域、即ち転送速度の保証値を示す。また転送するパケットには、送信装置１００から受信装置２００まで転送すべき転送データを所定のデータ長に分割した分割データが含まれており、ステップＳ２０２における分割データのデータ長とは、予め設定されている所定のデータ長を示す。なお転送データの総データ量は、所定のデータ長の整数倍になるとは限らないため、実際にパケットに含まれている分割データのデータ長は、設定されている所定のデータ長より小さくても良い。【００５２】  そして本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、転送すべきパケットが、送信装置１００から受信装置２００までの通信網ＮＷ上の経路で経由する装置の数（ホップ数）を検出し（Ｓ２０４）、検出した数で、パケットにヘッダとして示されている総遅延時間情報が示す時間を除すことにより、パケットの中継に要する遅延時間の目標値を決定する（Ｓ２０５）。ステップＳ２０４における装置の数の検出は、ＲＳＶＰとして規定される機能、通信網ＮＷの特定の装置までに経由する装置を検出するｔｒａｃｅｒｏｕｔｅ機能等の機能により実現される。【００５３】  そして本発明の中継装置１が備える制御回路１２０では、制御手段１２１の���御により、決定した遅延時間目標値及び算出した送出時間間隔に基づいて、記憶手段１２２のバッファメモリ１２２ｂ中に記憶する当該フローを構成するパケットの記憶量の基準値を算出し（Ｓ２０６）、算出した記憶量の基準値を、当該フローを構成するパケットの破棄の判断基準となる、当該フローに割り当てられた記憶量基準値として設定する（Ｓ２０７）。【００５４】  上述した送出時間間隔及び記憶量基準値算出処理は、以下の様に数式を用いて説明することができる。ステップＳ２０１にて読み取った転送速度の目標値をＲとし、分割データのデータ長をＤとすると、ステップＳ２０２にて算出される送出時間間隔τは、以下の式１にて示すことができる。【００５５】    τ＝Ｒ・Ｄ    ……式１
但し、τ：送出時間間隔
Ｒ：転送速度目標値
Ｄ：分割データのデータ長【００５６】  さらにステップＳ２０４にて検出した装置の数をｎとし、パケットに示されている総遅延時間情報が示す時間をＴｏとすると、ステップＳ２０５にて決定される遅延時間目標値Ｔは、以下の式２にて示すことができる。【００５７】    Ｔ＝Ｔｏ／ｎ    ……式２
但し、Ｔ：遅延時間目標値
Ｔｏ：総遅延時間
ｎ：送信装置１００から受信装置２００までの通信網ＮＷ上の経路で経由する装置の数（ホップ数）【００５８】  そしてステップＳ２０６では、以下の式３に示す様に、式２にて算出した遅延時間目標値Ｔを、式１にて算出した送出時間間隔τで除して、記憶量基準値βを算出することができる。【００５９】    β＝Ｔ／τ    ……式３【００６０】  また式２及び式３に基づく下記の式４に示す様に、本発明の中継装置１では、設定された記憶量基準値β及び送出時間間隔τに基づいてパケットを送出することにより、総遅延時間Ｔｏ、即ちＥｎｄ  ｔｏ  Ｅｎｄでの遅延時間を保証することができる。【００６１】    Ｔｏ＝ｎ・β・τ    ……式４【００６２】  なお送信装置１００から受信装置２００までの総遅延時間に基づいて記憶量基準値及び送出時間間隔を算出するのではなく、自装置から受信装置２００までの遅延時間の目標値を示す残遅延時間に基づいて記憶量基準値及び送出時間間隔を算出する様にしても良い。図８は本発明の実施の形態１における中継装置１の残遅延時間に基づく送出時間間隔及び記憶量基準値算出処理を示すフローチャートである。本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、送出時間間隔及び記憶量基準値算出の対象となるフローを構成するパケットにヘッダとして示されている転送速度の目標値を読み取り（Ｓ３０１）、読み取った転送速度の目標値及びパケットに含まれる分割データのデータ長に基づいて、パケットを通信網ＮＷ上へ送出する送出時間間隔を算出し（Ｓ３０２）、算出した送出時間間隔を、当該フローを構成するパケットの送出時間間隔として設定する（Ｓ３０３）。【００６３】  本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、転送すべきパケットが、自装置から受信装置２００までの通信網ＮＷ上の経路で経由する装置の数を検出し（Ｓ３０４）、検出した数で、パケットにヘッダとして示されている残遅延時間情報が示す時間を除すことにより、パケットの中継に要する遅延時間の目標値を決定する（Ｓ３０５）。【００６４】  そして本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、決定した遅延時間目標値及び算出した送出時間間隔に基づいて、記憶手段１２２のバッファメモリ１２２ｂ中に記憶する当該フローを構成するパケットの記憶量の基準値を算出し（Ｓ３０６）、算出した記憶量の基準値を、当該フローに割り当てられた記憶量基準値として設定する（Ｓ３０７）。【００６５】  この様に残遅延時間情報に基づいて送出時間間隔及び記憶量基準値を算出することにより、送信装置１００から通信網ＮＷを経由して自装置が受信するまでの通信線及び経由する装置等の通信網ＮＷを構成する伝送媒体に生じた異常、並びにトラフィックの増大による遅延状況の変化に応じて記憶量基準値及び送出時間間隔の設定を動的に変更するので、通信網ＮＷ上での障害発生時においても遅延時間及び転送速度を保証することができる。【００６６】  また一度設定された送出時間間隔及び記憶量基準値は、固定されるのではなく、処理すべきパケットの増減に応じて動的に変更することが可能である。図９は本発明の実施の形態１における中継装置１の送出時間���隔及び記憶量基準値設定変更処理を示すフローチャートである。本発明の中継装置１が備える制御回路１２０では、制御手段１２１の制御により、予め設定されている所定時間内において、通信網ＮＷ上に送出することなく破棄したパケットの数を検出し（Ｓ４０１）、検出した数が、予め設定されている所定値を超えているか否かを判定する（Ｓ４０２）。ステップＳ４０１の検出処理は所定の間隔で行われる。またパケットが破棄される都度、その数を計数し、その都度計数した数の合計が所定値を超えているか否かを判定するようにしても良い。所定値の設定は、フロー、属性、接続手段１３０のいずれの単位で設定しても良い。【００６７】  ステップＳ４０２において検出した破棄パケットの数が所定値を超えていると判定した場合（Ｓ４０２：ＹＥＳ）、所定の規則に従って記憶量基準値の設定を変更し（Ｓ４０３）、変更した記憶量基準値及び遅延時間目標値に基づいて、送出時間間隔を算出し（Ｓ４０４）、算出した値に、送出時間間隔の設定を変更する（Ｓ４０５）。なおステップＳ４０２において、検出した破棄パケットの数が所定値を超えていないと判定した場合（Ｓ４０２：ＮＯ）、ステップＳ４０３以降の処理は行われない。ステップＳ４０３の設定変更の規則とは、記憶量の所定量の増加、所定割合での増加等、適宜設定することが可能であり、また所定値を超えた破棄数に応じて増加させる記憶量を変更するようにしても良い。ステップＳ４０４における送出時間間隔の算出は、例えば式３を変形した下記の式５を用いて行われる。【００６８】    τ＝Ｔ／β    ……式５【００６９】  このようにトラフィックの増大等の外部状況の変化により中継装置１が処理すべきパケット数が増加した場合でも、自動的に記憶量基準値を大きくし、送出時間間隔を短くする設定変更を行うことにより、破棄するパケットを減少させ、また遅延時間を保証することが可能となる。【００７０】  上述した各種処理により、本発明の中継装置１が受信し、制御回路１２０のバッファメモリ１２２ｂに記憶されたパケットは、フロー毎に設定されている送出時間間隔でバッファメモリ１２２ｂから読み取られて接続手段１３０に渡され、経路決定回路１１０にて決定した経路で、接続手段１３０から通信網ＮＷ上へ送出される。なお設定されている送出時間間隔は、最大の送出時間間隔を示しているため、設定されている送出時間間隔より短い時間間隔で送出するようにしてもよい。またパケットを送出する場合に、パケットのヘッダに記録されている残遅延情報等の各種情報が書き換えられる。【００７１】  前記実施の形態１では、送出すべき経路が決定されたパケットに対し、送出時間間隔及び記憶量基準値を決定することで遅延時間及び転送速度を保証するＱｏＳ機能を備える制御回路１２０が、予め中継装置１に組み込まれて製造されているかの如く記載しているが、本発明はこの形態に限らず、経路決定処理のみを行う従来のルータ装置に対し、ＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）チップである本発明の制御回路１２０を組み込むことで、従来のルータ装置を本発明の中継装置１として用いるようにしても良く、またその場合、バッファメモリ１２２ｂとして用いられ��記憶手段１２２は、制御回路１２０に内蔵された記憶手段１２２を用いるのではなく、中継装置１が予め備えている経路決定回路の記憶手段１１２の記憶領域の一部を、バッファメモリ１２２ｂとして用いるようにしても良い。【００７２】  また前記実施の形態１では、図１に示した様に送信装置１００から受信装置２００までに経由する通信網ＮＷ上の装置が全て本発明の中継装置１，１，…である形態を示したが本発明はこの形態に限らず、例えば通信網ＮＷが高品質で損失の少ない設計であれば送信装置１００及び受信装置２００と直接接続するエンドノードと呼ばれる装置のみを本発明の中継装置１，１とする形態でも良い。エンドノードのみを本発明の中継装置１，１とする形態を以下に説明する。【００７３】  図１０は本発明の通信システムの構成を示すブロック図である。図１０では、送信装置１００及び受信装置２００に本発明の中継装置１，１が直接接続されており、中継装置１，１間はＧＭＰＬＳ（Ｇｅｎｅｒａｌｉｚｅｄ  Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）等の経路決定技術を用いた光通信網等の高品質通信網ＮＷｈｑにて接続されている。高品質通信網ＮＷｈｑは、信号損失が少なく、遅延時間も極めて短いため、エンドノードのみを本発明の中継装置１，１とし、実施の形態１にて説明した処理、特に図８を用いて説明した残遅延時間に基づく送出時間間隔及び記憶量基準値算出処理並びに図９を用いて説明した中継装置１の送出時間間隔及び記憶量基準値設定変更処理を実行することで、実施の形態１に示す様な遅延時間を保証する機能を実現することができる。さらに中継装置１，１の時刻を同期させることが可能で有れば、送信装置１００に接続された中継装置１にて到着目標時刻をパケットに示し、受信装置２００に接続された中継装置１にてパケットに示された到着目標時刻に基づいて遅延時間を設定するようにしても良い。【００７４】実施の形態２．
図１１は本発明の実施の形態２における接続装置及び該接続装置を接続した中継装置を示すブロック図である。図１１中２，２，…は本発明の接続装置であり、接続装置２は、送信元の装置から通信網ＮＷを介して送信先の装置へ送信すべきパケットを受信し、受信したパケットを転送する通信網ＮＷ上の経路を決定する経路決定機能を備えるインターネットルータ装置等の中継装置３に、イーサネット（登録商標）用ケーブル等の通信線Ｌを介して接続される。【００７５】  接続装置２は、ＣＰＵ等の制御手段２１、ＲＡＭ等の記憶手段２２、中継装置３に通信線Ｌを介して接続する第１接続手段２３，２３，…、及び通信網ＮＷに接続する第２接続手段２４，２４，…を備えている。そして接続装置２は、制御手段２１の制御により、中継装置３にて経路を決定されたパケットを第１接続手段２３から受信し、受信したパケットのヘッダに設けられた所定のフィールドに示されている送信先情報、経路を示す情報、転送速度に関する属性を示す情報、及び転送速度の目標値等の各種情報を読み取り、読み取った情報に基づいて、記憶手段２２に記憶し、第２接続手段２４から経路を示す情報に基づく経路にて通信網ＮＷ上に送出させる処理を行う。また接続装置２は、通信網ＮＷを介して第２接続手段２４，２４，…から受信したパケットを第１接続手段２３，２３，…から通信線Ｌを介して中継装置３へ送信する。【００７６】  記憶手段２２の記憶領域は、中継装置３から受信したパケットを一時的に記憶するテンポラリメモリ２２ａ及びテンポラリメモリ２２ａに一時的に記憶したパケットをフロー毎に記憶するバッファメモリ２２ｂとして用いられており、複数の第２接続手段２４，２４，…の夫々により送出される夫々のパケットの記憶に共有して使用される。【００７７】  中継装置３は、ＣＰＵ等の制御手段３１、ＲＡＭ等の記憶手段３２、及び通信線Ｌを介して接続装置２，２，…と接続する接続手段３３，３３，…を備えている。そして中継装置３は、制御手段３１の制御により、接続手段３３にて受信したパケットを、記憶手段３２に一時的に記憶し、パケットのヘッダに設けられた所定のフィールドに示されている送信先の装置を示すＩＰアドレス等の送信先情報に基づいて、通信網ＮＷ上の経路を決定し、決定した経路を示す情報をパケットに付与して、経路に応じた適当な接続装置２へ送信する。なお中継装置３は、接続手段３３，３３，…を介して通信網ＮＷに直接接続することも可能であるが、その場合、接続手段３３，３３，…から直接通信網ＮＷ上へ送出されるパケットに対しては、後述する転送速度及び遅延時間を保証する処理は行われないこととなる。また一の中継装置３に一の接続装置２を接続する構成でも良い。【００７８】  このように実施の形態２は、ＱｏＳ機能を備えていない従来の中継装置３に、接続装置２，２，…を接続することにより、本発明の実施の形態１における中継装置１と同様の処理を実現させる形態であり、接続装置２，２，…が実施の形態１の制御回路１２０に相当し、中継装置３が実施の形態１の経路決定回路１１０に相当する動作を行う。【００７９】  次に本発明の実施の形態２における接続装置２の各種処理を説明する。図１２、図１３及び図１４��本発明の実施の形態２における接続装置２のパケット受信処理を示すフローチャートである。本発明の接続装置２は、制御手段２１の制御により、中継装置３から通信線Ｌを介して送信されたパケットを、第１接続手段２３にて受信し（Ｓ５０１）、受信したパケットのヘッダに設けられた所定のフィールドに示されている各種情報を読み取り、当該パケットをテンポラリメモリ２２ａに一時的に記憶させる。そして接続装置２では、制御手段２１の制御により、受信したパケットに対して、通信網ＮＷ上へ送出する送出時間間隔及びパケットの記憶量基準値が設定されているか否かを判定し（Ｓ５０２）、送出時間間隔及び記憶量基準値が設定されていないと判定した場合（Ｓ５０２：ＮＯ）、送出時間間隔及び記憶量基準値を設定する処理を行う（Ｓ５０３）。なおステップＳ５０２にて送出時間間隔及び記憶量基準値が設定されていると判定した場合（Ｓ５０２：ＹＥＳ）、ステップＳ５０３に示す処理は行われない。【００８０】  そして本発明の接続装置２では、制御手段２１の制御により、新しく受信したパケットを記憶する余裕が、バッファメモリ２２ｂの記憶領域に有るか否かを判定し（Ｓ５０４）、記憶する余裕が有ると判定した場合（Ｓ５０４：ＹＥＳ）、受信したパケットをバッファメモリ２２ｂに記憶し（Ｓ５０５）、パケット受信処理を終了する。【００８１】  ステップＳ５０４において記憶する余裕が無いと判定した場合（Ｓ５０４：ＮＯ）、接続装置２では、制御手段２１の制御により、受信したパケットが、記憶量基準値にて設定されている記憶量を超えてバッファメモリ２２ｂを使用しているフローを構成するパケットであるか否かを判定する（Ｓ５０６）。【００８２】  ステップＳ５０６において、受信したパケットが、記憶量基準値にて設定されている記憶量を超えてバッファメモリ２２ｂを使用しているフローを構成するパケットであると判定したとき（Ｓ５０６：ＹＥＳ）、接続装置２では、制御手段２１の制御により、受け付けたパケットを破棄し（Ｓ５０７）、パケット受信処理を終了する。【００８３】  ステップＳ５０６において、受信したパケットが記憶量基準値にて設定されている記憶量を超えてバッファメモリ２２ｂを使用しているフローを構成するパケットではないと判定した場合（Ｓ５０６：ＮＯ）、接続装置２では、制御手段２１の制御により、受け付けたパケットにより構成されるフローに付与された属性についての記憶量が、予め設定されている記憶量の基準値を超えているか否かを判定する（Ｓ５０８）。【００８４】  ステップＳ５０８において、当該属性についての記憶量が、予め設定されている記憶量の基準値を超えていると判定したとき（Ｓ５０８：ＹＥＳ）、中継装置２では、制御手段２１の制御により、当該属性が付与された各フローの中で、フローに対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きいフローを検索する（Ｓ５０９）。そして接続装置２では、制御手段２１の制御により、検索したフローを構成するパケットの中で最初に送出されるべきパケットを破棄して（Ｓ５１０）、受信したパケットを記憶させる（Ｓ５１１）Ｐｕｓｈｏｕｔ処理を行い、パケット受信処理を終了する。【００８５】  ス��ップＳ５０８において、当該属性についての記憶量が、予め設定されている記憶量の基準値を超えていないと判定した場合（Ｓ５０８：ＮＯ）、接続装置２では、制御手段２１の制御により、受け付けたパケットのフローに対応する第２接続手段２４についての記憶量が、予め設定されている記憶量の基準値を超えているか否かを判定する（Ｓ５１２）。【００８６】  ステップＳ５１２において、当該第２接続手段２４についての記憶量が、予め設定されている記憶量の基準値を超えていると判定したとき（Ｓ５１２：ＹＥＳ）、接続装置２では、制御手段２１の制御により、当該第２接続手段２４に対応するフローに付与された各属性の中で、属性に対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きい属性を検索し（Ｓ５１３）、検索した属性を付与された各フローの中で、フローに対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きいフローを検索する（Ｓ５１４）。そして接続装置２では、制御手段２１の制御により、検索したフローを構成するパケットの中で最初に送出されるべきパケットを破棄して（Ｓ５１５）、受信したパケットを記憶させる（Ｓ５１６）Ｐｕｓｈｏｕｔ処理を行い、パケット受信処理を終了する。【００８７】  ステップＳ５１２において、当該第２接続手段２４についての記憶量が、予め設定されている記憶量の基準値を超えていないと判定した場合（Ｓ５１２：ＮＯ）、接続装置２では、制御手段２１の制御により、受け付けたパケットのフローに対応する第２接続手段２４にて記憶領域を共有されるバッファメモリ２２ｂを、共有する各第２接続手段２４，２４，…の中で、第２接続手段２４，２４，…に対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きい第２接続手段２４を検索し（Ｓ５１７）、検索した第２接続手段２４に対応するフローに付与された各属性の中で、属性に対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きい属性を検索し（Ｓ５１８）、検索した属性を付与された各フローの中で、フローに対して設定された夫々の記憶量基準値を超過して記憶している記憶量が最も大きいフローを検索する（Ｓ５１９）。そして接続装置２では、制御手段２１の制御により、検索したフローを構成するパケットの中で最初に送出されるべきパケットを破棄して（Ｓ５２０）、受信したパケットを記憶させる（Ｓ５２１）Ｐｕｓｈｏｕｔ処理を行い、パケット受信処理を終了する。【００８８】  このようにして接続装置２のパケット受信処理においては、フロー等に対して設定されている記憶量基準値及び記憶手段２２のバッファメモリ２２ｂに記憶しているパケットの量に基づいて、受信したパケット及び記憶しているパケットに対する破棄の要否が判定され、判定した結果に基づいてパケットを破棄及び記憶する処理が実行される。【００８９】  次にステップＳ５０３にて行われる送出時間間隔及び記憶量基準値を設定する処理について説明する。図１５は本発明の実施の形態２における接続装置２の送出時間間隔及び記憶量基準値算出処理を示すフローチャートである。本発明の接続装置２では、制御手段２１の制御により、送出時間間隔及び記憶量基準値算出の対象となるフローを構成するパケットにヘッダとして示されている転送速度の目標値を読み取り（Ｓ６０１）、読み取った転送速度の目標値及びパケットに含まれる分割データのデータ長に基づいて、パケットを通信網ＮＷ上へ送出する送出時間間隔を算出し（Ｓ６０２）、算出した送出時間間隔を、当該フローを構成するパケットの送出時間間隔として設定する（Ｓ６０３）。【００９０】  本発明の接続装置２では、制御手段２１の制御により、転送すべきパケットが、送信元の装置から送信先の装置までの通信網ＮＷ上の経路で経由する装置の数を検出し（Ｓ６０４）、検出した数で、パケットにヘッダとして示されている総遅延時間情報が示す時間を除すことにより、パケットの中継に要する遅延時間の目標値を決定する（Ｓ６０５）。そして本発明の接続装置２では、制御手段２１の制御により、決定した遅延時間目標値及び算出した送出時間間隔に基づいて、記憶手段２２のバッファメモリ２２ｂ中に記憶する当該フローを構成するパケットの記憶量の基準値を算出し（Ｓ６０６）、算出した記憶量の基準値を、当該フローを構成するパケットの破棄の判断基準となる、当該フローに割り当てられた記憶量基準値として設定する（Ｓ６０７）。【００９１】  なお本発明の実施の形態２における接続装置２においては、総遅延時間情報に基づいて送出時間間隔及び記憶量基準値を算出するのでは無く、残遅延時間情報に基づいて送出時間間隔及び記憶量基準値を算出するようにしても良い。本発明の実施の形態２における接続装置２の残遅延時間に基づく送出時間間隔及び記憶量基準値算出処理は、図８を用いて説明した本発明の実施の形態１における中継装置１の残遅延時間に基づく送出時間間隔及び記憶量基準値算出処理と同様であるので、実施の形態１を参照するものとし、その説明を省略する。【００９２】  さらに本発明の実施の形態２における接続装置２においては、一度設定された送出時間間隔及び記憶量基準値は、固定されるのではなく、処理すべきパケットの増減に応じて動的に変更させることが可能である。本発明の実施の形態２における接続装置２の送出時間間隔及び記憶量基準値設定変更処理は、図９を用いて説明した本発明の実施の形態１における中継装置１の送出時間間隔及び記憶量基準値設定変更処理と同様であるので、実施の形態１を参照するものとし、その説明を省略する。【００９３】  上述した各種処理により、本発明の接続装置２が備えるバッファメモリ２２ｂに記憶されたパケットは、フロー毎に設定されている送出時間間隔でバッファメモリ２２ｂから読み取られて第２接続手段２４に渡され、決定されている経路で、第２接続手段２４から通信網ＮＷ上へ送出される。【００９４】実施の形態３．
図１６は本発明の実施の形態３における中継装置を示すブロック図である。図１６中４は中継装置であり、中継装置４は、ＣＰＵ等の制御手段４１、ＲＡＭ等の記憶手段４２、フラッシュメモリ等の記録手段４３、及び通信網ＮＷに接続する接続手段４４を備えており、記録手段４３には、ファームウェアとして本発明のコンピュータプログラムＰＧが記録されている。中継装置４は、送信元の装置から通信網ＮＷを介して送信先の装置へ送信すべきパケットを受信し、受信したパケットを転送する通信網ＮＷ上の経路を決定する経路決定機能を備える一種のコンピュータである例えばインターネットルータ装置であり、中継装置４は、記録手段４３に記録されている本発明のコンピュータプログラムＰＧを読み取り、制御手段４１により実行することで、本発明の実施の形態１の中継装置１と同様の機能を実現することが可能となる。【００９５】  このように実施の形態３は、ＱｏＳ機能を備えていない従来の中継装置４にて、本発明のコンピュータプログラムＰＧをファームウェアとして実行することにより、本発明の実施の形態１と同様の機能を実現する形態である。なお本発明のコンピュータプログラムＰＧを実行して実現する各種処理は、本発明の実施の形態１における制御回路１２０の処理と実質的に同様であるので、その各種処理については、実施の形態１を参照するものとし、その説明を省略する。【００９６】  前記実施の形態１、２及び３では、帯域保証型の属性に属するパケットに対して遅延時間を保証すべく記憶量基準値及び送出時間間隔を設定する形態を示したが、本発明はこれに限らず、様々な属性のパケットに対して適用することが可能であり、その場合、例えばベストエフォート型の属性に属するパケットに対しては転送速度の最大値の３０％を転送速度の目標値として設定するという様な処理を行うことで、帯域保証型の属性に属するパケットと差別化することが望ましい。
【図１】
2005076550.tif 000002
【図２】
2005076550.tif 000003
【図３】
2005076550.tif 000004
【図４】
2005076550.tif 000005
【図５】
2005076550.tif 000006
【図６】
2005076550.tif 000007
【図７】
2005076550.tif 000008
【図８】
2005076550.tif 000009
【図９】
2005076550.tif 000010
【図１０】
2005076550.tif 000011
【図１１】
2005076550.tif 000012
【図１２】
2005076550.tif 000013
【図１３】
2005076550.tif 000014
【図１４】
2005076550.tif 000015
【図１５】
2005076550.tif 000016
【図１６】
2005076550.tif 000017
【国際調査報告】
2005076550.tif 000018
2005076550.tif 000019
2005076550.tif 000020
2005076550.tif 000021