(57)【特許請求の範囲】
【請求項１】
複数の送信ポート内にそれぞれ設けられた送信キューと、前記各送信ポートが共有する記憶手段にプールされているバッファ領域を有し、データ中継時に前記記憶手段からバッファ領域を獲得し、かつ該獲得されたバッファ領域を各送信ポートのうちの所定送信ポートに割り当て、受信されたデータを前記所定送信ポート内の送信キューにキューイングした後に、回線へデータ送信するデータ中継方法において、
前記データ中継のために、前記バッファ領域を所定送信ポートに割り当てる際に、獲得するバッファ領域がないかまたは該獲得するバッファ領域の数が所定の閾値以下かどうか判断する判断工程と、
前記各送信ポートにおける送信キュー毎の滞留データの到着時間を求める到着時間算出工程と、
前記獲得するバッファ領域がないかまたは該獲得するバッファ領域の数が所定の閾値以下の場合に、前記各送信キューのうち、前記到着時間算出工程によって求められた到着時間が最も短い廃棄優先度の高いデータがキューイングされている送信キューを検出する検出工程と、
前記検出された送信キューのデータを優先して廃棄する廃棄工程と、
を含むことを特徴とするデータ中継方法。
【請求項２】
前記廃棄工程では、前記送信キューのデータの廃棄によって、当該送信キューが設けられている送信ポートに割り当てられていたバッファ領域を解放し、
前記解放されたバッファ領域を獲得するバッファ獲得工程をさらに含むことを特徴とする請求項１に記載のデータ中継方法。
【請求項３】
前記到着時間算出工程では、前記受信したデータの受信時刻を求め、前記受信したデータを転送する際に、前回受信したデータと今回受信したデータとの受信時刻の差分を演算し、該差分が小さいデータをリストアップし、前記バッファ領域の解放時または当該データの廃棄時に、該データを前記リストから削除することを特徴とする請求項１または２に記載のデータ中継方法。
【請求項４】
複数の送信ポート内にそれぞれ設けられた送信キューと、前記各送信ポートが共有する記憶手段にプールされているバッファ領域を有し、データ中継時に前記記憶手段からバッファ領域を獲得し、かつ該獲得されたバッファ領域を各送信ポートのうちの所定送信ポートに割り当て、受信されたデータを前記所定送信ポート内の送信キューにキューイングした後に、前記各送信ポートが、それぞれ所定のアクセス速度で回線へデータを送信するデータ中継方法において、
前記データ中継のために、前記バッファ領域を所定送信ポートに割り当てる際に、獲得するバッファ領域がないかまたは該獲得するバッファ領域の数が所定の閾値以下かどうか判断する判断工程と、
前記各送信ポートのアクセス速度に対するデータの滞留数を求める滞留数算出工程と、
前記獲得するバッファ領域がないかまたは該獲得するバッファ領域の数が所定の閾値以下の場合に、前記各送信キューのうち、前記滞留数算出工程によって求められた滞留数が最も大きい廃棄優先度の高いデータがキューイングされている送信キューを検出する検出工程と、
前記検出された送信キューのデータを優先して廃棄する廃棄工程と、
を含むことを特徴とするデータ中継方法。
【請求項５】
前記廃棄工程では、前記送信キューのデータの廃棄によって、当該送信キューが設けられている送信ポートに割り当てられていたバッファ領域を解放し、
前記解放されたバッファ領域を獲得するバッファ獲得工程をさらに含むことを特徴とする請求項４に記載のデータ中継方法。
【請求項６】
複数の送信ポートと、該各送信ポート内にそれぞれ設けられ、受信されたデータをキューイングする送信キューと、前記各送信ポートが共有するバッファ領域を有する記憶手段と、前記バッファ領域を前記送信ポートのうちの所定の送信ポートに割り当てるバッファ割当手段とを備えたデータ中継装置において、
データ中継時に獲得可能なバッファ領域がないかまたは該獲得可能なバッファ領域の数が所定の閾値以下か判断する判断手段と、
前記各送信ポートにおける送信キュー毎の滞留データの到着時間をそれぞれ求める到着時間算出手段と、
前記獲得可能なバッファ領域がないかまたは該獲得可能なバッファ領域の数が所定の閾値以下の場合、前記データがキューイングされている各送信キューのうち、前記到着時間算出手段によって求められた到着時間が最も短い廃棄優先度の高いデータがキューイングされている送信キューを検出する検出手段と、
前記検出結果に応じて当該送信キューのデータを優先して廃棄する廃棄手段と、
を備えたことを特徴とするデータ中継装置。
【請求項７】
前記廃棄手段は、前記送信キューのデータ廃棄によって、当該送信キューが設けられている送信ポートに割り当てられていたバッファ領域を解放し、
データ中継時に当該解放されたバッファ領域を獲得するバッファ獲得手段をさらに備えたことを特徴とする請求項６に記載のデータ中継装置。
【請求項８】
前記到着時間算出手段は、前記受信したデータの受信時刻を求め、前記データを転送する際に、前回受信したデータと今回受信したデータとの受信時刻の差分を演算し、前記廃棄手段は、前記演算された差分に基づき廃棄するデータを決定することを特徴とする請求項６または７に記載のデータ中継装置。
【請求項９】
前記到着時間算出手段は、前記算出した差分が小さいデータをリストアップし、前記バッファ領域の解放時または当該データの廃棄時に前記リストから削除し、前記廃棄手段は、前記差分が小さいデータを廃棄することを特徴とする請求項８に記載のデータ中継装置。
【請求項１０】
複数の送信ポートと、該各送信ポート内にそれぞれ設けられ、受信されたデータをキューイングする送信キューと、前記各送信ポートが共有するバッファ領域を有する記憶手段と、前記バッファ領域を前記送信ポートのうちの所定の送信ポートに割り当てるバッファ割当手段とを備え、前記各送信ポートが、それぞれ所定のアクセス速度で回線へデータを送信するデータ中継装置において、
データ中継時に獲得可能なバッファ領域がないかまたは該獲得可能なバッファ領域の数が所定の閾値以下か判断する判断手段と、
前記各送信ポートのアクセス速度に対するデータの滞留数を求める滞留数算出手段と、
前記獲得可能なバッファ領域がないかまたは該獲得可能なバッファ領域の数が所定の閾値以下の場合、前記データがキューイングされている各送信キューのうち、前記滞留数算出手段によって求められた滞留数が最も大きい廃棄優先度の高いデータがキューイングされている送信キューを検出する検出手段と、
前記検出結果に応じて当該送信キューのデータを優先して廃棄する廃棄手段と、
を備えたことを特徴とするデータ中継装置。
【請求項１１】
前記廃棄手段は、前記送信キューのデータ廃棄によって、当該送信キューが設けられている送信ポートに割り当てられていたバッファ領域を解放し、
データ中継時に当該解放されたバッファ領域を獲得するバッファ獲得手段をさらに備えたことを特徴とする請求項１０に記載のデータ中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の送信ポートを有し、各送信ポート毎にデータを送信するデータ中継方法およびその装置に関するものである。
【０００２】
【従来の技術】
従来のデータ中継装置では、ネットワーク間でフレームやパケット構成のデータを中継しており、そのデータ中継を行うために、例えば図６の概念図に示すように、各送信ポート１１〜１４毎に送信データを滞留させる送信キュー１１ａ〜１４ａと、送信データ用の共有メモリ１０とを実装している。この共有メモリ１０としては、送信ポート１１〜１４毎に特定のバッファ領域が確保されている場合と、同一のバッファ領域を複数のポートで共有されている場合があった。
【０００３】
前者の場合には、図７のフローチャートに示すように、データの受信がなされると、共有メモリ１０のバッファ領域の獲得がなされる（ステップ１０１）。そして、このデータの内容から送信先を判定し（ステップ１０２）、この判定された送信先に対応した送信ポートの送信キュー内のデータ個数が閾値以下かどうか判定する（ステップ１０３）。
【０００４】
ここで、送信キュー内のデータ個数が閾値より多い場合には、受信したデータを廃棄し（ステップ１０４）、また送信キュー内のデータ個数が閾値以下の場合には、この受信したデータを送信キューへ渡し（ステップ１０５）、送信処理を行って送信が完了した後に（ステップ１０６）、バッファ領域の解放を行っている（ステップ１０７）。
【０００５】
また、後者の場合には、図８のフローチャートに示すように、データの受信がなされると（ステップ２０１）、共有メモリ１０のバッファ領域の個数が閾値の個数以上かどうか判断する（ステップ２０２）。
【０００６】
ここで、共有メモリ１０のバッファ領域の個数が閾値より少ない場合には、この受信したデータを廃棄し（ステップ２０３）、また、共有メモリ１０のバッファ領域の個数が閾値以上なら、このバッファ領域の獲得がなされて、さらにこのデータの内容から送信先を判定する（ステップ２０４）。次に、この判定された送信先に対応した送信ポートの送信キューへこの受信したデータを渡し（ステップ２０５）、送信処理を行って送信が完了した後に（ステップ２０６）、バッファ領域の解放を行っている（ステップ２０７）。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記従来例では、前者の場合には、装置全体としてのメモリ容量に余裕があるにもかかわらず、例えばある送信ポートに輻輳が発生し、他の送信ポートに輻輳が発生していない場合がある。このような場合には、輻輳が発生した送信ポートに確保されている特定のバッファ領域の空容量が不足してしまい、共有メモリの使用効率が悪くなるとともにデータの破棄が発生するという問題点があった。
【０００８】
また、後者の場合には、例えばある送信ポートにおいて、送信するデータ量が大量に発生して輻輳が発生し、共有メモリのバッファ領域が不足してしまい、他の送信ポートは、輻輳していないにもかかわらず、共有メモリのバッファ領域不足のためにデータの送信ができないという問題点があった。
【０００９】
この発明は、上記問題点に鑑みなされたもので、送信キューにおいて送信データの輻輳が発生しそうな場合でも、効率よくメモリを使用してデータ中継の効率を高めることができるデータ中継方法およびその装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるデータ中継方法では、複数の送信ポート内にそれぞれ設けられた送信キューと、前記各送信ポートが共有する記憶手段にプールされているバッファ領域を有し、データ中継時に前記記憶手段からバッファ領域を獲得し、かつ該獲得されたバッファ領域を各送信ポートのうちの所定送信ポートに割り当て、受信されたデータを前記所定送信ポート内の送信キューにキューイングした後に、回線へデータ送信するデータ中継方法において、前記データ中継のために、前記バッファ領域を所定送信ポートに割り当てる際に、獲得するバッファ領域がないかどうかまたは該獲得するバッファ領域の数が所定の閾値以下かどうかを判断する判断工程と、前記獲得するバッファ領域がないかまたは該獲得するバッファ領域の数が所定の閾値以下の場合に、前記各送信キューのうち、廃棄優先度の高いデータがキューイングされている送信キューを検出する検出工程と、前記検出された送信キューのデータを廃棄する廃棄工程とを含むことを特徴とする。
【００１１】
この発明によれば、データ中継時に共有するバッファ領域からバッファを獲得するが、この獲得するバッファ領域がないかまたは獲得するバッファ領域の数が所定の閾値以下の場合に、送信ポートの送信キューにキューイングされているデータのうち、廃棄優先度の高いデータを廃棄することで、バッファ領域の解放および取得を可能にし、効率よくメモリを使用してデータ中継の効率を高める。
【００１２】
この発明にかかるデータ中継方法では、上記方法において、前記廃棄工程では、前記送信キューのデータの廃棄によって、当該送信キューが設けられている送信ポートに割り当てられていたバッファ領域を解放し、前記データ中継方法では、データ中継時に前記記憶手段から前記解放されたバッファ領域が獲得されることを特徴とする。
【００１３】
この発明によれば、送信キュー内のデータの廃棄によって、いままで割り当てられていたバッファ領域を解放し、受信されたデータの格納を容易にすることで、送信キューに送信データの輻輳が発生しそうな場合でも、効率よくメモリを使用する。
【００１４】
この発明にかかるデータ中継方法では、上記方法において、前記各送信ポートにおける送信キュー毎の滞留データの到着時間を求める到着時間算出工程をさらに含み、前記廃棄工程では、前記到着時間の最も短いデータを優先して廃棄することを特徴とする。
【００１５】
この発明によれば、廃棄工程のアルゴリズムとして、送信ポート毎の滞留データのうち、短時間に到達したデータ（バーストデータ）を優先して廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００１６】
この発明にかかるデータ中継方法では、上記方法において、前記到着時間算出工程では、前記受信したデータの受信時刻を求め、前記受信したデータを転送する際に、前回受信したデータと今回受信したデータとの受信時刻の差分を演算し、該差分が小さいデータをリストアップし、前記バッファ領域の解放時または当該データの廃棄時に、該データを前記リストから削除することを特徴とする。
【００１７】
この発明によれば、短時間に大量のデータが発生する、例えばバーストデータを検出して優先的に廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００１８】
この発明にかかるデータ中継方法では、上記方法において、前記各送信ポートにおける送信キュー毎の滞留データ量を求めるデータ量算出工程をさらに含み、前記廃棄工程では、前記求められた滞留データ量の多い送信キューのデータを優先して廃棄することを特徴とする。
【００１９】
この発明によれば、廃棄工程のアルゴリズムとして、送信ポート毎の滞留データ量の多いものを優先して廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００２０】
この発明にかかるデータ中継方法では、上記方法において、前記各送信ポートは、それぞれ所定のアクセス速度で回線へデータを送信しており、前記データ中継方法では、前記各送信ポートのアクセス速度に対するデータの滞留数を求める滞留数算出工程をさらに含み、前記廃棄工程では、前記求められた滞留数が最も大きい送信ポート内の送信キューの滞留データを優先して廃棄することを特徴とする。
【００２１】
この発明によれば、廃棄工程のアルゴリズムとして、各送信ポートのアクセス速度に対するデータの滞留数が最も大きい送信ポートにおける送信キューの滞留データを優先して廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００２２】
この発明にかかるデータ中継装置では、複数の送信ポートと、該各送信ポート内にそれぞれ設けられ、受信されたデータをキューイングする送信キューと、前記各送信ポートに共有するバッファ領域を有する記憶手段と、前記バッファ領域を前記送信ポートのうちの所定の送信ポートに割り当てるバッファ割当手段とを備えたデータ中継装置において、データ中継時に獲得可能なバッファ領域の有無を判断する判断手段と、前記判断手段の判断結果に応じて、前記データがキューイングされている各送信キューのうち、廃棄優先度の高いデータがキューイングされている送信キューを検出する検出手段と、前記検出結果に応じて当該送信キューのデータを廃棄する廃棄手段とをさらに備えたことを特徴とする。
【００２３】
この発明によれば、領域取得手段によって、データ中継時に割り当て可能なバッファ領域の有無を判断して、所定送信ポートにバッファ領域を割り当てるが、割り当て可能なバッファ領域がない場合には、検出手段が廃棄優先度の高いデータを格納した送信キューを検出し、廃棄手段が当該送信キューのデータを廃棄することで、バッファ領域の解放および取得を可能にし、効率よくメモリを使用してデータ中継の効率を高める。
【００２４】
この発明にかかるデータ中継装置では、上記装置において、前記廃棄手段は、前記送信キューのデータ廃棄によって、当該送信キューが設けられている送信ポートに割り当てられていたバッファ領域を解放し、前記データ中継装置は、データ中継時に当該解放されたバッファ領域を獲得するバッファ獲得手段とをさらに備えたことを特徴とする。
【００２５】
この発明によれば、廃棄手段のデータ廃棄処理によって、いままで割り当てられていたバッファ領域を解放し、データ受信時にその解放されたバッファ領域を獲得して、データの格納を容易にすることで、送信キューに送信データの輻輳が発生しそうな場合でも、効率よくメモリを使用する。
【００２６】
この発明にかかるデータ中継装置では、上記装置において、前記判断手段は、前記データ中継時に獲得可能なバッファ領域がないかまたは該獲得可能なバッファ領域の数が所定の閾値以下か判断することを特徴とする。
【００２７】
この発明によれば、送信キューにキューイングされているデータを廃棄する条件として、獲得可能なバッファ領域がないかまたは該獲得可能なバッファ領域の数が所定の閾値以下の場合に、データを廃棄してバッファを開放することにより、効率よくメモリを使用してデータ中継の効率を高める。
【００２８】
この発明にかかるデータ中継装置では、上記装置において、前記各送信ポートにおける送信キュー毎の滞留データの到着時間をそれぞれ求める到着時間算出手段をさらに備え、前記廃棄手段は、前記求められた到着時間に基づき廃棄するデータを決定することを特徴とする。
【００２９】
この発明によれば、送信キューにキューイングされている滞留データの廃棄をデータの到着時間に基づいて決定し、送信キューにデータの輻輳が発生しないようにする。
【００３０】
この発明にかかるデータ中継装置では、上記装置において、前記到着時間算出手段は、前記受信したデータの受信時刻を求め、前記データを転送する際に、前回受信したデータと今回受信したデータとの受信時刻の差分を演算し、前記廃棄手段は、前記演算された差分に基づき廃棄するデータを決定することを特徴とする。
【００３１】
この発明によれば、送信キューにキューイングされている滞留データのうち、前回受信したデータと今回受信したデータの受信時刻との差分を求め、その差分に基づいて廃棄するデータを決定することで、送信キューにデータの輻輳が発生しないようにする。
【００３２】
この発明にかかるデータ中継装置では、上記装置において、前記到着時間算出手段は、前記算出した差分が小さいデータをリストアップし、前記バッファ領域の解放時または当該データの廃棄時に前記リストから削除し、前記廃棄手段は、前記差分が小さいデータを廃棄することを特徴とする。
【００３３】
この発明によれば、前回受信したデータと今回受信したデータの受信時刻との差分が小さい、例えばバーストデータを検出して優先的に廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００３４】
この発明にかかるデータ中継装置では、上記装置において、前記各送信ポートにおける送信キュー毎の滞留データ量を求めるデータ量算出手段をさらに備え、前記廃棄手段は、前記求められた滞留データ量に基づいて廃棄する送信キューのデータを決定することを特徴とする。
【００３５】
この発明によれば、送信キューにキューイングされている滞留データの廃棄を滞留データ量によって決定し、送信キューにデータの輻輳が発生しないようにする。
【００３６】
この発明にかかるデータ中継装置では、上記装置において、前記廃棄手段は、前記送信キュー毎の滞留データのうち、滞留データ量の多い滞留データを優先して廃棄することを特徴とする。
【００３７】
この発明によれば、送信キューにキューイングされている滞留データの中で、滞留データ量の多い滞留データを優先して廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００３８】
この発明にかかるデータ中継装置では、上記装置において、前記各送信ポートは、それぞれ所定のアクセス速度で回線へデータを送信しており、前記データ中継装置は、前記各送信ポートのアクセス速度に対するデータの滞留数を求める滞留数算出手段をさらに備え、前記廃棄手段は、前記求められた滞留数に基づいて廃棄する送信キューの滞留データを決定することを特徴とする。
【００３９】
この発明によれば、送信キューにキューイングされている滞留データの廃棄を、各送信ポートのアクセス速度に対し、送信キューにキューイングされているデータの滞留数より決定することで、送信キューにデータの輻輳が発生しないようにする。
【００４０】
この発明にかかるデータ中継装置では、上記装置において、前記廃棄手段は、前記求められた滞留数が最も多い送信ポート内の送信キューの滞留データを優先して廃棄することを特徴とする。
【００４１】
この発明によれば、送信キューにキューイングされている滞留データの中で、滞留データ数の多い滞留データを優先して廃棄することで、送信キューにデータの輻輳が発生しないようにする。
【００４２】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るデータ中継方法およびその装置の好適な実施の形態を説明する。
【００４３】
図１は、この発明にかかるデータ中継装置の概略構成を示す構成図である。図において、データ中継部は、送信および受信の両方で使用する分配用のバッファを保持する共有メモリ２０と、受信したデータの処理を行う受信処理部３０と、取り込まれるデータの送信先を判定する送信先判定部４０と、送信先判定部４０から入力するデータを送信する送信処理部５０とから構成されている。
【００４４】
受信処理部３０は、この共有メモリ２０に使用可能なバッファが残っているか確認し、残っている場合には、この共有メモリ２０からバッファを獲得している。受信処理部３０は、データを受信すると、このデータを獲得したバッファに格納して送信先判定部４０に渡し、さらに代わりのバッファを共有メモリ２０から獲得して、データの受信に備える処理を行う。
【００４５】
送信先判定部４０は、受信処理部３０から渡されたデータの内容にしたがって送信処理部５０の送信ポート５１〜５４を決定し、各送信ポート５１〜５４内の送信キュー５５〜５８にデータをキューイングする。また、送信先判定部４０は、送信キュー５５〜５８を監視しており、受信処理部３０は、その内容に基づいて共有メモリ２０に使用可能なバッファがないことを確認すると、送信キューに滞留しているデータである閾値を超えて滞留している送信キューで、もっとも超過量が大きい送信キューを検出して、この送信キューからデータの廃棄を行う。
【００４６】
送信処理部５０は、データを送信する複数の送信ポート５１〜５４を有し、これら送信ポート５１〜５４内には、送信キュー５５〜５８がそれぞれ装備されている。送信キュー５５〜５８には、送信先判定部４０で判定された送信先にしたがって分配されたデータがキューイングされており、送信処理部５０は、各送信キュー５５〜５８からデータを取り出し、各送信ポート５１〜５４へ送信し、送信が完了すると、送信バッファの解放を行う。
【００４７】
次に、このデータ中継装置のバッファの獲得動作を図２のフローチャートに基づいて説明する。図２において、まず、受信処理部３０は、データを受信すると（ステップ３０１）、上記データを獲得した受信バッファ３１に格納し、共有メモリ２０内の使用可能なバッファの個数が、予め設定した閾値の個数以上かどうか判断する（ステップ３０２）。なお、このステップ３０２の判断は、これに限らず、例えば共有メモリ内に使用可能なバッファがあるかどうかを判断条件とすることも可能である。
【００４８】
ここで、使用可能なバッファの個数が、上記閾値の個数以上の場合には、送信先判定部４０へ上記データを渡しており、送信先判定部４０は、送信バッファ４１内のデータの内容から送信先を判定し（ステップ３０３）、判定した送信先に対応した送信キューに上記データをキューイングする（ステップ３０４）。
【００４９】
送信処理部５０では、送信キュー内のデータを送信ポートに送信する送信処理を行っており（ステップ３０５）、上記データの送信が完了すると、送信バッファの解放を行う（ステップ３０６）。
【００５０】
また、ステップ３０２において、共有メモリ２０内の使用可能なバッファの個数が、予め設定した閾値の個数を下回る場合には、送信キューの廃棄処理のフローに移行する（ステップ３０７）。なお、この送信キューの廃棄処理には、３通りの方法が考えられている。以下に、これら送信キューの廃棄処理の動作を説明する。
【００５１】
この発明では、廃棄優先度の高いデータとして、例えば短時間に大量のデータを受信するバースト性の高いデータ、送信ポート毎の滞留データ量の多いデータ、送信ポートのアクセス速度に対するデータの滞留数が最も大きい送信キューの滞留データを挙げ、廃棄データの決定を以下に説明する。
【００５２】
（実施例１）
まず、バースト性の高いデータの廃棄処理について説明する。図１に示した受信処理部３０は、時刻の計時手段を備えており、データの受信時に該受信データの制御領域に受信時刻を示す情報を格納して、送信先判定部４０に転送する。なお、この動作は、図２のステップ３０１にて行われる。
【００５３】
送信先判定部４０は、このデータを取り込むと、データの内容から送信先を判定して対応する送信キューに上記データをキューイングするとともに、上記制御領域に格納された受信時刻のデータをモニタし、各送信キューにデータを渡す際に、送信キュー毎に前回渡したデータと今回渡すデータの受信時刻との差分を計算する。そして、この差分が小さい場合には、内部に有する廃棄優先リストへバースト性の高いデータとして登録する。この動作は、図２のステップ３０３，３０４で行われる。
【００５４】
なお、この登録されるデータとしては、例えばバースト性の高いデータが格納されているバッファへのポインタなどが登録され、この登録されたデータは、バッファの解放時または送信キュー内で上記データの廃棄が行われた場合に、リストから削除される。
【００５５】
そして、ステップ３０２において、共有メモリ２０内の使用可能なバッファの個数が、予め設定した閾値の個数を下回ると、図３に示す廃棄データ決定処理（ステップ４０１）としては、上記リストを参照してバースト性の高いデータを参照し、このデータから該当する送信キュー内のデータが優先して廃棄される（ステップ４０２）。
【００５６】
このように、この実施例１では、送信キューにキューイングされている滞留データのうち、前回受信したデータと今回受信したデータの受信時刻との差分を求め、その差分に基づいてバースト性の高いデータが特定され、このバースト性の高いデータ対象に送信キュー内のデータの廃棄を行うので、送信キューにデータの輻輳が発生しなくなる。
【００５７】
（実施例２）
次に、送信ポート毎の滞留データ量の多いデータの廃棄処理について説明する。図１に示した送信先判定部４０は、送信ポート毎の送信キュー内のデータの滞留量をカウントするカウンタを備えており、送信キューへデータを渡す際に、このカウンタを１つ加え、バッファの解放時またはこのカウントの対象となる送信キュー内でデータの廃棄が行われた場合に１つ減らしている。この動作は、図２のステップ３０３，３０４で行われる。なお、この実施例では、データの滞留数をカウントしているが、これは、データの滞留量と滞留数は、比例関係にあるとみなし、滞留データ数によって滞留データ量の多い送信キューを検出している。
【００５８】
そして、ステップ３０２において、共有メモリ２０内の使用可能なバッファの個数が、予め設定した閾値の個数を下回ると、図４に示す廃棄データ決定処理（ステップ５０１）として、各送信ポート毎の送信キュー内の滞留データ数を示すカウンタを参照して、滞留データ数が最も多い送信ポート内の送信キューの滞留データを優先して廃棄する（ステップ５０２）。
【００５９】
このように、この実施例２では、送信キュー毎に滞留データ量をカウントしておき、送信キューにキューイングされている滞留データのうち、滞留データ量の多い滞留データを検出し、この滞留データ量の最も多い送信キューの滞留データを優先して廃棄するので、送信キューにデータの輻輳が発生しなくなる。
【００６０】
（実施例３）
次に、送信ポートのアクセス速度に対するデータの滞留数が最も大きい送信キューの滞留データの廃棄処理について説明する。図１に示した送信先判定部４０は、送信ポート毎の送信キュー内のデータの滞留数をカウントするカウンタを備えており、送信キューへデータを渡す際に、このカウンタを１つ加え、バッファの解放時またはこのカウントの対象となる送信キュー内でデータの廃棄が行われた場合に１つ減らして、回線のアクセス速度との比を管理している。この動作は、図２のステップ３０３，３０４で行われる。
【００６１】
そして、ステップ３０２において、共有メモリ２０内の使用可能なバッファの個数が、予め設定した閾値の個数を下回ると、図５に示す廃棄データ決定処理（ステップ６０１）として、各送信ポート毎の送信キュー内の滞留データ数を示すカウンタを参照して、送信ポートの回線アクセス速度に対するデータの滞留数がもっとも大きい送信ポート内の送信キューの滞留データを優先して廃棄する（ステップ６０２）。
【００６２】
このように、この実施例３では、送信キュー毎に滞留データ数をカウントしておき、送信ポートの回線アクセス速度に対するデータの滞留数を検出し、この対滞留データ数が最も大きい送信キューの滞留データを優先して廃棄するので、送信キューにデータの輻輳が発生しなくなる。なお、これらのデータ廃棄は、適宜組み合わせて実施することも可能である。
【００６３】
以上のように、これら実施例では、データ中継時に共有するバッファ領域からバッファを獲得しているが、この獲得するバッファ領域がないかまたは獲得するバッファ領域の数が所定の閾値以下の場合に、送信ポートの送信キュー内にキューイングされているデータのうち、廃棄優先度の高いデータを廃棄することで、バッファ領域の解放および獲得を可能にし、効率よくメモリを使用してデータ中継の効率を高めることができる。
【００６４】
この発明は、これら実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲で種々の変形実施が可能である。
【００６５】
【発明の効果】
以上説明したように、この発明では、データの中継時に、獲得するバッファ領域がないかまたは獲得するバッファ領域の数が所定の閾値以下の場合に、送信ポートの送信キューにキューイングされているデータのうち、廃棄優先度の高いデータを廃棄するので、送信キューに送信データの輻輳が発生しそうな場合でも、効率よくメモリを使用してデータ中継の効率を高めることができる。
【図面の簡単な説明】
【図１】この発明にかかるデータ中継装置の概略構成を示す構成図である。
【図２】図１に示したデータ中継装置のバッファの獲得動作を説明するためのフローチャートである。
【図３】送信キューの廃棄処理動作を説明するための実施例１のフローチャートである。
【図４】送信キューの廃棄処理動作を説明するための実施例２のフローチャートである。
【図５】送信キューの廃棄処理動作を説明するための実施例３のフローチャートである。
【図６】データ中継動作を説明するためのデータ中継装置の概略構成を示す概略構成図である。
【図７】送信ポート毎に特定のバッファ領域が確保されている場合の従来例のフローチャートである。
【図８】同一のバッファ領域を複数のポートで共有されている場合の従来例のフローチャートである。
【符号の説明】
１０，２０  共有メモリ
１１〜１４，５１〜５４  送信ポート
１１ａ〜１４ａ，５５〜５８  送信キュー
３０  受信処理部
３１  受信バッファ
４０  送信先判定部
４１  送信バッファ
５０  送信処理部
【図１】
0004609823.tif 000002
【図２】
0004609823.tif 000003
【図３】
0004609823.tif 000004
【図４】
0004609823.tif 000005
【図５】
0004609823.tif 000006
【図６】
0004609823.tif 000007
【図７】
0004609823.tif 000008
【図８】
0004609823.tif 000009