JP3587080B2 - パケットバッファ管理装置およびパケットバッファ管理方法 - Google Patents
パケットバッファ管理装置およびパケットバッファ管理方法 Download PDFInfo
- Publication number
- JP3587080B2 JP3587080B2 JP12545599A JP12545599A JP3587080B2 JP 3587080 B2 JP3587080 B2 JP 3587080B2 JP 12545599 A JP12545599 A JP 12545599A JP 12545599 A JP12545599 A JP 12545599A JP 3587080 B2 JP3587080 B2 JP 3587080B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- page
- buffer management
- queue
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明は、パケット処理技術に係り、特に受信したパケットで使用されたメモリリソースに対して多くのバッファを使うパケットを優先的に処理することでメモリを効率よく使用してパケット処理装置のスループットを高めることができるパケットバッファ管理装置およびパケットバッファ管理方法に関する。
【0002】
【従来の技術】
従来、周知のように、パケット交換機の送受信バッファの輻輳を回避するための制御としては、受信バッファの使用率を監視し、この使用率が規定値を超えた時に、受信パケットを一時的に保留バッファに保存しておくと共に、その後、受信バッファの使用率が上記規定値以下まで回復した時点で、保留バッファからそれまで保存していたパケットを受信バッファに転送して送信バッファから送出する方法が一般的である。この種の従来の送受信バッファ輻輳制御方式では、受信バッファの使用率が上記規定値以上となった後、送信元からの受信パケットをその種類に関わらず等しく遅延させることを基本としていた。例えば、パケットの種類には、データパケット(DT)の他、コールリクエスト(CQ)やレシーブレディ(RR)等の非データパケットがあるが、上記従来の輻輳回避制御方式では、これらパケットが混在した受信状況に際して、受信バッファの使用率が上記規定値以上となった場合にこれら各パケットがその受信順に保留パケットに登録され、以後、受信バッファの使用率が上記規定値以下まで復旧した後、再び、その待避した順に保留バッファから読み出されて受信バッファに転送されるようになっていた。この従来の方法によれば、パケット伝送の主情報であるデータパケットも他の非データパケットと同様に保留バッファへの待避による遅延を受けることになり、単に送受信バッファの輻輳を回避できるだけで、パケット伝送の実質的な機能低下を免れなかった。しかしながら、このような従来のバッファ輻輳制御方式では、受信バッファが一定の使用率を超えた後の受信パケットをその種類に関わらず保留バッファを通して等しく遅延させるようにしていたため、パケット伝送の主情報たるデータパケットの遅延が顕著化し、送受信バッファの輻輳を回避するためにパケット伝送の効率低下を免れないという問題点があった。
【0003】
このような問題点を解決することを目的とする従来技術としては、例えば、特開平5−227216号公報に記載のものがある。すなわち、従来技術は、保留パケットに対する受信パケットの待避処理に際してデータパケットの遅延を最小限に抑えることができ、送受信バッファの輻輳回避と同時に、パケットの高い伝送効率も維持可能なパケット交換機におけるバッファ輻輳制御方式を提供することを目的とし、受信パケットをその送信に先だって登録しておく受信バッファと、該受信バッファの使用率が規定値を超えた時に受信パケットを一時的に保留させる保留バッファとを少なくとも備えるパケット交換機において、予めパケットの種類に応じて優先度を設定しておき、受信バッファの使用率が規定値を超えた時に、以後の受信パケットをその優先度に従って受信バッファまたは保留バッファに振り分けて登録するバッファ管理手段を設け、受信バッファの使用率が規定値を超えてから規定値以下に回復するまでの間、優先度の高いパケットほど短い保留時間が与えられるようにしたパケット交換機におけるバッファ輻輳制御方式である。このようなパケット交換機におけるバッファ輻輳制御方式では、バッファ管理手段は、送受信バッファの運用状況を監視し、その使用率が規定値を超えた時には、その後に受信されるパケットを予めパケットの種類に応じて設定した優先度に従って選別し、優先度が高い種類のパケットから順にかつ輻輳とならない範囲内でこれらを送受信バッファに登録すると共に、より優先度の低い種類のパケットは保留用バッファに登録後に上記送受信バッファの使用率の回復を待って送信処理するようにしている。このような従来技術では、予めパケットの種類に応じて優先度を設定しておき、送受信バッファの使用率が規定値を超えた場合、その後の受信パケットを上記優先度が高い種類順にかつ輻輳とならない範囲内で送受信バッファに登録する一方、より優先度の低い種類のパケットは保留バッファに登録後、上記使用率の回復を待って送受信バッファに登録するようにしたため、データパケット等に関して予め高い優先度を設定しておくことで、保留バッファへの登録を経ずに最小限の遅延時間でこれら高優先度パケットの伝送を継続でき、送受信バッファの輻輳回避制御に際しても、パケット伝送効率を低下させずに済むといった効果が開示されている。
【0004】
ところで、上記従来のパケットバッファ管理方式は、データ長が可変であるパケットを受信するパケットバッファを高速に制御し、かつパケットバッファを有効に制御するための構成を備えている。このような、パケットバッファは一般的に全パケットをメモリに一旦受信し、メモリに一旦受信したパケットをプロセッサで順次検索し、ヘッダ部のみ書き換えて転送するように制御されている。一方、可変長のパケットを受信する場合、メモリリソースの有効利用のために、固定長のブロックにメモリ領域を分割し、これをリスト構造にすることによりパケットを受信する回路を構成することが近年一般的になっている。このような従来のパケットバッファ管理方式では、パケットを順次受信するに従ってデータを格納できる未使用ページを求めてそこにデータを格納する処理において、未使用ページが少なくなったことを検出した際に回線からのデータを受信せずに廃棄することが以前から行われていた。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来のパケットバッファ管理方式は、未使用ページが少なくなると全てのパケットが廃棄され、未使用ページがある一定量になるまでに回復するまでの間は、外部処理回路の負荷に関わらずパケットを廃棄するという問題点があった。このため、この条件下でただ廃棄するだけでなく、よりスループットを高めることが要求されていた。
【0006】
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、受信したパケットで使用されたメモリリソースに対して多くのバッファを使うパケットを優先的に処理することでメモリを効率よく使用してパケット処理装置のスループットを高めることができるパケットバッファ管理装置およびパケットバッファ管理方法を提供する点にある。
【0007】
【課題を解決するための手段】
請求項1に記載の発明の要旨は、受信したパケットで使用されたメモリリソースに対して多くのバッファを使うパケットを優先的に処理することでメモリを効率よく使用してパケット処理装置のスループットを高めることができるパケットバッファ管理装置であって、入力された全パケットを受信するとともに、受信したパケットを固定長に分割して先頭ページおよびそれに続くパケットページとして生成されたブロックをリスト構造により管理し、当該全パケットが受信完了したときに前記先頭ページおよびそれに対応した自ページ番号を次段に備わるパケット処理回路に送出し、前記パケット処理回路から前記自ページ番号および前記パケット処理回路で前記先頭ページを処理した更新済みページを受け取り、前記自ページ番号をもとに前記先頭ページを前記更新済みページに置き換え、それに続く前記パケットページの全ページ分を順次回線に転送するバッファメモリを備えたパケットバッファ管理装置において、前記バッファメモリから未使用ページアラームが出ている場合、およびパケットを次段のパケット処理回路に早く送ったほうが結果として輻輳状態を早く脱することが可能となる長いデータ長のパケットの場合には前記バッファメモリを高優先キューに接続し、それ以外は前記バッファメモリを低優先キューに接続して前記パケットの前記先頭ページおよびそれに対応した自ページ番号を前記次段のパケット処理回路に転送し前記高優先キューのパケットを優先して処理する手段を有することを特徴とするパケットバッファ管理装置に存する。
また請求項2記載の発明の要旨は、前記バッファメモリの各ページに対して使用していないページを管理する未使用ページキューを有することを特徴とする請求項1記載のパケットバッファ管理装置に存する。
また請求項3記載の発明の要旨は、前記未使用ページキュー内に格納している未使用ページ数をカウントするアップダウンカウンタを有することを特徴とする請求項2に記載のパケットバッファ管理装置に存する。
また請求項4記載の発明の要旨は、前記アップダウンカウンタは、所定のしきい値を設定可能であって、前記未使用ページキュー内に格納している未使用ページ数のカウント値が当該しきい値を下回ることを検出してアラームを送出するように構成されていることを特徴とする請求項3に記載のパケットバッファ管理装置に存する。
また請求項5記載の発明の要旨は、前記パケットのパケット長を書き込んだ位置を検出するとともに、当該パケット長を書き込んだ位置に対してデータ長フラグを生成・出力するフラグメント制御部を有することを特徴とする請求項1乃至4のいずれか一項に記載のパケットバッファ管理装置に存する。
また請求項6記載の発明の要旨は、前記データ長フラグが出た位置のパケットデータを保持できるデータ長レジスタを有することを特徴とする請求項1乃至5のいずれか一項に記載のパケットバッファ管理装置に存する。
また請求項7記載の発明の要旨は、前記次段のパケット処理回路に対して前記パケットのヘッダ部を含むページを順に、かつ優先度によってキューイングできる高優先および低優先のページキューを有することを特徴とする請求項1乃至6のいずれか一項に記載のパケットバッファ管理装置に存する。
また請求項8記載の発明の要旨は、前記次段のパケット処理回路から更新済みパケット先頭ページをキューイングできる更新ページキューを有することを特徴とする請求項1乃至7のいずれか一項に記載のパケットバッファ管理装置に存する。
また請求項9記載の発明の要旨は、更新されたページとリスト構造を備えた全パケットを外部に送出するためにキューイングするパケットキューを有することを特徴とする請求項1乃至8のいずれか一項に記載のパケットバッファ管理装置に存する。
また請求項10記載の発明の要旨は、未使用ページアラームおよび受信データ長に基づいて前記高優先および低優先のページキューのいずれと接続するかを切り替えるセレクタを有することを特徴とする請求項7に記載のパケットバッファ管理装置に存する。
また請求項11記載の発明の要旨は、受信したパケットで使用されたメモリリソースに対して多くのバッファを使うパケットを優先的に処理することでメモリを効率よく使用してパケット処理装置のスループットを高めることができるパケットバッファ管理方法であって、入力した全パケットを受信するとともに、受信したパケットを固定長に分割して先頭ページおよびそれに続くパケットページとして生成されたブロックをリスト構造により管理し、前記全パケットが受信完了したときに前記先頭ページおよびそれに対応した自ページ番号を次段に備わるパケット処理回路に送出し、前記パケット処理回路から前記自ページ番号および前記パケット処理回路で前記先頭ページを処理した更新済みページを受け取り、前記自ページ番号をもとに前記先頭ページを前記更新済みページに置き換え、それに続く前記パケットページの全ページ分を順次回線に転送するバッファメモリを備えたパケットバッファ管理装置のパケットバッファ管理方法において、前記バッファメモリから未使用ページアラームが出ている場合、およびパケットを次段のパケット処理回路に早く送ったほうが結果として輻輳状態を早く脱することが可能となる長いデータ長のパケットの場合には前記バッファメモリを高優先キューに接続し、それ以外は前記バッファメモリを低優先キューに接続して前記パケットの前記先頭ページおよびそれに対応した自ページ番号を前記次段のパケット処理回路に転送し前記高優先キューのパケットを優先して処理する工程を有することを特徴とするパケットバッファ管理方法に存する。
また請求項12記載の発明の要旨は、前記バッファメモリの各ページに対して使用していないページを管理する未使用ページキューを実行する工程を有することを特徴とする請求項11に記載のパケットバッファ管理方法に存する。
また請求項13に記載の発明の要旨は、前記未使用ページキュー内に格納している未使用ページ数をカウントするアップダウンカウンタを管理する工程を有することを特徴とする請求項12に記載のパケットバッファ管理方法に存する。
また請求項14に記載の発明の要旨は、前記アップダウンカウンタを管理する工程は、所定のしきい値を設定可能であって、前記未使用ページキュー内に格納している未使用ページ数のカウント値が当該しきい値を下回ることを検出してアラームを送出する工程を含むことを特徴とする請求項13に記載のパケットバッファ管理方法に存する。
また請求項15に記載の発明の要旨は、前記パケットのパケット長を書き込んだ位置を検出するとともに、当該パケット長を書き込んだ位置に対してデータ長フラグを生成・出力するフラグメント制御部を管理する工程を有することを特徴とする請求項11乃至14のいずれか一項に記載のパケットバッファ管理方法に存する。
また請求項16に記載の発明の要旨は、前記データ長フラグが出た位置のパケットデータを保持できるデータ長レジスタを管理する工程を有することを特徴とする請求項11乃至15のいずれか一項に記載のパケットバッファ管理方法に存する。
また請求項17に記載の発明の要旨は、前記次段のパケット処理回路に対して前記パケットのヘッダ部を含むページを順に、かつ優先度によってキューイングできる高優先および低優先のページキューを管理する工程を有することを特徴とする請求項11乃至16のいずれか一項に記載のパケットバッファ管理方法に存する。
また請求項18に記載の発明の要旨は、前記次段のパケット処理回路から更新済みパケット先頭ページをキューイングできる更新ページキューを管理する工程を有することを特徴とする請求項11乃至17のいずれか一項に記載のパケットバッファ管理方法に存する。
また請求項19に記載の発明の要旨は、更新されたページとリスト構造を備えた全パケットを外部に送出するためにキューイングするパケットキューを管理する工程を有することを特徴とする請求項11乃至18のいずれか一項に記載のパケットバッファ管理方法に存する。
また請求項20に記載の発明の要旨は、未使用ページアラームおよび受信データ長に基づいて前記高優先および低優先のページキューのいずれと接続するかを切り替えるセレクタを管理する工程を有することを特徴とする請求項17に記載のパケットバッファ管理方法に存する。
【0008】
【発明の実施の形態】
以下に示す各実施の形態の特徴は、受信パケットを固定長に分割するフラグメント制御部と、フラグメント制御部から送出されるデータ長位置信号をもとにして受信パケットのデータ長を受信パケット毎に格納できるデータ長レジスタを当該分割したパケットを実際に格納するバッファメモリ間のパケットバスの部分に設けたことにある。以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0009】
(第1の実施の形態)
図1は本発明の第1の実施の形態にかかるパケットバッファ管理装置10を説明するための機能ブロック図である。図1において、1はフラグメント制御部、2はデータ長レジスタ、3はバッファメモリ、4はセレクタ、5は高優先キュー、6は低優先キュー、7は更新ページキュー、そして、8は順次パケットキューを示している。図1を参照すると、本実施の形態のパケットバッファ管理装置10は、フラグメント制御部1、データ長レジスタ2、バッファメモリ3、セレクタ4、高優先キュー5、低優先キュー6、更新ページキュー7、順次パケットキュー8を備えている。
【0010】
データ長レジスタ2は、受信パケットを固定長に分割し、データの先頭から決まった場所に格納されているデータ長位置を示すデータ長フラグを生成し、固定長に分割されたメモリ(以下、ページという)を格納するバッファメモリ3−フラグメント制御部1間のデータバス上に、本発明のパケットバッファ管理方法に従って、データ長フラグに基づき受信する各パケットのデータ長を格納する機能を有している。
【0011】
このデータ長フラグに基づき受信する各パケットのデータ長は、バッファ輻輳(すなわち、未使用バッファが少ない)が発生した際に、バッファ格納に優先制御を行うための情報として機能する。
【0012】
本実施の形態では、パケットバッファ管理装置10におけるパケット転送処理に要する時間は、データ長にあまり依存せず、処理するパケットが何パケットあるかに主に依存する長いデータ長のパケット、すなわち、次段にパケット処理回路を有するバッファにおいてデータ長の多いパケットを早く次段に送ったほうが結果として輻輳状態を早く脱することが可能となる長いデータ長のパケットを優先して次段のパケット処理回路に転送する。すなわち、ページを多く使用するパケットが処理されることにより、早く輻輳状態から脱することが可能となり、これが装置のスループットを高めるという効果が得られることになる。
【0013】
次に、パケットバッファ管理装置10の動作を説明する。図1を参照すると、フラグメント制御部1で生成されるデータ長フラグ信号はデータ長レジスタ2に供給され、全パケットがバッファメモリ3に書き込まれるまで保持され、セレクタ4で未使用バッファメモリ3のメモリ残量が少なくなった場合に使用され、高優先キュー(Queue)5か低優先キュー6のいずれに接続するかの制御を実行するために用いられる。
【0014】
バッファメモリ3は、フラグメント制御部1から供給されるパケット完了信号により、受信パケットの先頭ページとその先頭ページ番号をセレクタ4に出力し、また、未使用ページ数を管理し、未使用ページ数がある一定しきい値を下回ると残りページアラームをセレクタ4に出力する。
【0015】
高優先キュー5および低優先キュー6には、各パケットの先頭ページとバッファメモリ3の先頭ページ番号が積まれており、高優先キュー5に一つ異常のページがあれば、受信パケットの異常ページのページとその異常ページのページ番号を常に優先して外部のパケット処理回路(不図示)に送出する。外部のパケット処理回路は、送られたパケットヘッダ部(不図示)の書き換えおよび出力回線(不図示)の決定を行い、先頭ページ番号をそのままつけた状態でページを更新ページキュー7に書き込む。
【0016】
更新ページキュー7のページにはパケットの先頭ページ番号があるので、バッファメモリ3は、この先頭ページと先頭ページ以下のパケットデータを順次パケットキュー8経由で回線に送出する。
【0017】
図2は図1のフラグメント制御部1の動作を説明するためのタイミングチャートである。図2を参照すると、図1のフラグメント制御部1は、入力パケットを順次パケットデータバスに送出するとともに、パケットの先頭から決まった位置にあるデータ長位置で信号がHになるデータ長フラグと、パケットの終了を示すパケット完了の信号と、ページの固定データ長毎にページの先頭(ページ先頭)を表す信号を送出する。
【0018】
図3は図1のバッファメモリ3の構成図である。図3において、101はページ番号メモリ、102は未使用ページキュー、103はアップダウンカウンタ、104は受信中パケット先頭ページ、105は受信中最終ページを示している。図3を参照すると、バッファメモリ3は、ページ番号メモリ101、未使用ページキュー102、アップダウンカウンタ103、受信中パケット先頭ページ104、受信中最終ページ105を備えている。
【0019】
図3を参照すると、ページ番号メモリ101は、固定長ページをリスト構造にて受信パケットを構成できるように、アドレスをページ番号としてデータ格納エリアとは別に次ページ番号格納エリアを有し、入力されるページ先頭信号毎に未使用ページキュー102からのページ番号を得て受信中最終ページ105の次ページにリスト構造となるように接続する。
【0020】
未使用ページキュー102は、初期設定時に全ページ分のページ番号を格納し、ページ先頭信号と同時にキューの先頭のページ番号メモリ101に送出できるとともに、ページ番号メモリ101から外部にパケットを送出時に不要となったページの番号をキューの最後に格納する。
【0021】
アップダウンカウンタ103は、未使用ページキュー102の中に格納されている未使用ページ数を常に表しているカウンタであって、未使用ページキュー102からページ番号が送出されたときにカウントダウンされ、使用済みページが未使用ページキュー102に戻されたときにカウントアップし、さらにあるしきい値を保持でき、カウント値がしきい値を下回ったときに、未使用ページ数アラームを送出できる。
【0022】
ページ番号メモリ101は、パケット完了信号を受け取ると外部に受信中パケット先頭ページ104のコピーと、そのページ番号を送出できる。また、ページ番号メモリ101は更新済みページとともに送られるページ番号のページをこの更新済みページで置き換えるとともに、順次ページをパケットとして外部に送出する。
【0023】
データ長レジスタ2は、データ長フラグに従い、パケットのデータ長部分を単に保持するだけであり、動作は容易に理解できるので説明は省略する。
【0024】
次にパケットバッファ管理装置10の動作(パケットバッファ管理方法)について説明する。まず、前提条件を説明する。通常のパケットは、ヘッダ部とペイロード(実際のデータ部)に分かれており、ヘッダ部に決まった位置にそのパケットデータ長を書いてあることが一般的である。例えば、最近広く利用されているIP ver.4の場合は先頭から3オクテッド目と4オクテッド目がデータ長を示す。また、IPルータなどのパケット処理装置はパケットを一旦バッファメモリ3に格納し、処理回路にて送出(Forwarding)処理をするが、このときの処理は、ヘッダ部の情報により、次転送先を決定し、必要に応じてヘッダ部を書き換える処理なので、(i)処理回路には、全パケットを送る必要がなく、ヘッダ部のみで送出(Forwarding)処理が行える、(ii)処理時間はパケット長にはあまり依存しないという特徴がある。また、送出(Forwarding)処理が終わってパケットを転送し終えるとバッファとして使用したページは未使用ページに戻す。これらより、未使用ページ数が減少した場合に、いち早く未使用ページ数をある一定数まで戻すためには、(i)データ長の長いパケットを先に処理する、(ii)データ長の長いパケットは処理せずバッファで廃棄する、といった方法が考えられる。
【0025】
次に、フラグメント制御部1の動作(パケットバッファ管理方法)ついて図2のフラグメント制御部1のタイムチャートを用いて説明する。ここでは、ページの大きさは受信するパケットのヘッダ部より大きいものに設定する。フラグメント制御部1は、パケットの先頭と最後を検出することが可能であって、データの先頭から受信したデータ数をカウントし、一定の間隔でページ先頭信号を送出する。また、前述したようにパケットのデータ長は先頭から決まった位置にあるので、データ長が格納されている位置でデータ長フラグを送出する。パケットの最終オクテッドを受信した時にパケット完了信号を送付し、この信号をトリガにしてバッファメモリ3は外部のパケット処理回路にヘッダ部の送付を開始する。データ長レジスタ2は、受信中のパケットのデータ長を保持するためのレジスタでフラグメント制御部1から出力されるデータ長フラグ信号に従い、データバスに流れるデータ長を保持する。
【0026】
次に、バッファメモリ3の動作(パケットバッファ管理方法)に付いて説明する。図3を参照すると、ページ番号メモリ101は、1ページのオクテッド数に応じて分割されており、各ページ毎に他のページと識別できる排他な番号を有している。パケットのデータを格納するエリア以外にリスト構造を構成するために必要な次ページ番号を書き込めるレジスタを各ページについて併せて有している。パケットをまったく格納していない場合には未使用ページキュー102に全ページ数分の番号を格納しており、パケットを受信する場合に、1ページ分のデータを受信する毎に未使用ページキュー102から順にページ番号を読み出しその番号に従い、ページ番号メモリ101内のページを使用する。1ページ分のデータを格納すると次ページ番号をその時点での最終ページである受信中最終ページ105の次ページ番号レジスタに書き込みリスト構造を構成する。
【0027】
受信中パケット先頭ページ104は、前述の通り、パケットのヘッダ部が格納されており、パケット送出(パケットフォワーディング)のために重要なデータが格納されている。パケット完了発生時(図3に示す、「▲1▼パケット完了」参照)には、パケットの全データがバッファメモリ3に格納されているので、パケット送出(Forwarding)のために受信中パケット先頭ページ104のコピーに自ページ番号を付加し、パケット処理回路に転送する(図3に示す、「▲2▼先頭ページ+自ページ番号」参照)。更新されたページ(図3に示す、「▲3▼更新済みページ+自ページ番号」参照)は自ページ番号をもとにもとのページを置き換え、その後パケット全ページをリスト構造に従い順次転送する(図3に示す、「▲4▼パケット分全ページ」参照)。アップダウンカウンタ103は、しきい値により、未使用ページがある一定以下になっているかどうかを識別するために利用されており、しきい値以下となれば未使用ページアラームを送出する。
【0028】
バッファメモリ3−外部のパケット処理回路間には、パケットの先頭ページを格納できる高優先キュー5および低優先キュー6を有している。
【0029】
セレクタ4は、バッファメモリ3から未使用ページアラームが出ている場合、およびデータ長が長い場合は高優先キュー5に接続し、そうでない場合は低優先キュー6に接続するように動作する。
【0030】
外部のパケット処理回路により更新されたページは、更新ページキュー7に格納され、自ページ番号に応じてパケット先頭ページを置き換えるために用いられ、リンクリストに応じて順次パケットキュー8を通して外部に転送される。
【0031】
以上説明したように第1の実施の形態によれば、未使用ページが少なくなることを検出し、ページを多く使用するパケットの処理を優先することで使用可能ページの回復を早めることができるようになる。その理由は、ページ数が無くなるとパケットが受信できなくなるので、未使用ページがなくなることを防止するからである。
【0032】
(第2の実施の形態)
第2の実施の形態は、その基本的構成は上記第1の実施の形態と同様であるが、アップダウンカウンタ103に工夫して2種類のしきい値、すなわち、第1しきい値と第2しきい値を用意し、第1しきい値が第2しきい値より多くの未使用ページがある状態でアラーム検出する点に特徴を有している。本実施の形態は、第1しきい値による動作は上記と全く同じ動作をするが、未使用ページ数となった状態で検出する第2しきい値を下回った時点で高優先キュー5にたまっているページを、データ長が長いパケットの先頭ページと判断して、このページにたまっているパケットをすべて廃棄するように動作する。
【0033】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。また、各図において、同一構成要素には同一符号を付している。
【0034】
【発明の効果】
本発明は以上のように構成されているので、未使用ページが少なくなることを検出し、ページを多く使用するパケットの処理を優先することで使用可能ページの回復を早めることができるようになる。その理由は、ページ数が無くなるとパケットが受信できなくなるので、未使用ページがなくなることを防止するからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるパケットバッファ管理装置を説明するための機能ブロック図である。
【図2】図1のフラグメント制御部の動作を説明するためのタイミングチャートである。
【図3】図1のバッファメモリの構成図である。
【符号の説明】
1…フラグメント制御部
2…データ長レジスタ
3…バッファメモリ
4…セレクタ
5…高優先キュー
6…低優先キュー
7…更新ページキュー
8…順次パケットキュー
10…パケットバッファ管理装置
101…ページ番号メモリ
102…未使用ページキュー
103…アップダウンカウンタ
104…受信中パケット先頭ページ
105…受信中最終ページ
Claims (20)
- 受信したパケットで使用されたメモリリソースに対して多くのバッファを使うパケットを優先的に処理することでメモリを効率よく使用してパケット処理装置のスループットを高めることができるパケットバッファ管理装置であって、
入力された全パケットを受信するとともに、受信したパケットを固定長に分割して先頭ページおよびそれに続くパケットページとして生成されたブロックをリスト構造により管理し、当該全パケットが受信完了したときに前記先頭ページおよびそれに対応した自ページ番号を次段に備わるパケット処理回路に送出し、前記パケット処理回路から前記自ページ番号および前記パケット処理回路で前記先頭ページを処理した更新済みページを受け取り、前記自ページ番号をもとに前記先頭ページを前記更新済みページに置き換え、それに続く前記パケットページの全ページ分を順次回線に転送するバッファメモリを備えたパケットバッファ管理装置において、
前記バッファメモリから未使用ページアラームが出ている場合、およびパケットを次段のパケット処理回路に早く送ったほうが結果として輻輳状態を早く脱することが可能となる長いデータ長のパケットの場合には前記バッファメモリを高優先キューに接続し、それ以外は前記バッファメモリを低優先キューに接続して前記パケットの前記先頭ページおよびそれに対応した自ページ番号を前記次段のパケット処理回路に転送し前記高優先キューのパケットを優先して処理する手段を有することを特徴とするパケットバッファ管理装置。 - 前記バッファメモリの各ページに対して使用していないページを管理する未使用ページキューを有することを特徴とする請求項1記載のパケットバッファ管理装置。
- 前記未使用ページキュー内に格納している未使用ページ数をカウントするアップダウンカウンタを有することを特徴とする請求項2に記載のパケットバッファ管理装置。
- 前記アップダウンカウンタは、所定のしきい値を設定可能であって、前記未使用ページキュー内に格納している未使用ページ数のカウント値が当該しきい値を下回ることを検出してアラームを送出するように構成されていることを特徴とする請求項3に記載のパケットバッファ管理装置。
- 前記パケットのパケット長を書き込んだ位置を検出するとともに、当該パケット長を書き込んだ位置に対してデータ長フラグを生成・出力するフラグメント制御部を有することを特徴とする請求項1乃至4のいずれか一項に記載のパケットバッファ管理装置。
- 前記データ長フラグが出た位置のパケットデータを保持できるデータ長レジスタを有することを特徴とする請求項1乃至5のいずれか一項に記載のパケットバッファ管理装置。
- 前記次段のパケット処理回路に対して前記パケットのヘッダ部を含むページを順に、かつ優先度によってキューイングできる高優先および低優先のページキューを有することを特徴とする請求項1乃至6のいずれか一項に記載のパケットバッファ管理装置。
- 前記次段のパケット処理回路から更新済みパケット先頭ページをキューイングできる更新ページキューを有することを特徴とする請求項1乃至7のいずれか一項に記載のパケットバッファ管理装置。
- 更新されたページとリスト構造を備えた全パケットを外部に送出するためにキューイングするパケットキューを有することを特徴とする請求項1乃至8のいずれか一項に記載のパケットバッファ管理装置。
- 未使用ページアラームおよび受信データ長に基づいて前記高優先および低優先のページキューのいずれと接続するかを切り替えるセレクタを有することを特徴とする請求項7に記載のパケットバッファ管理装置。
- 受信したパケットで使用されたメモリリソースに対して多くのバッファを使うパケットを優先的に処理することでメモリを効率よく使用してパケット処理装置のスループットを高めることができるパケットバッファ管理方法であって、
入力した全パケットを受信するとともに、受信したパケットを固定長に分割して先頭ページおよびそれに続くパケットページとして生成されたブロックをリスト構造により管理し、前記全パケットが受信完了したときに前記先頭ページおよびそれに対応した自ページ番号を次段に備わるパケット処理回路に送出し、前記パケット処理回路から前記自ページ番号および前記パケット処理回路で前記先頭ページを処理した更新済みページを受け取り、前記自ページ番号をもとに前記先頭ページを前記更新済みページに置き換え、それに続く前記パケットページの全ページ分を順次回線に転送するバッファメモリを備えたパケットバッファ管理装置のパケットバッファ管理方法において、
前記バッファメモリから未使用ページアラームが出ている場合、およびパケットを次段のパケット処理回路に早く送ったほうが結果として輻輳状態を早く脱することが可能となる長いデータ長のパケットの場合には前記バッファメモリを高優先キューに接続し、それ以外は前記バッファメモリを低優先キューに接続して前記パケットの前記先頭ページおよびそれに対応した自ページ番号を前記次段のパケット処理回路に転送し前記高優先キューのパケットを優先して処理する工程を有することを特徴とするパケットバッファ管理方法。 - 前記バッファメモリの各ページに対して使用していないページを管理する未使用ページキューを実行する工程を有することを特徴とする請求項11に記載のパケットバッファ管理方法。
- 前記未使用ページキュー内に格納している未使用ページ数をカウントするアップダウンカウンタを管理する工程を有することを特徴とする請求項12に記載のパケットバッファ管理方法。
- 前記アップダウンカウンタを管理する工程は、所定のしきい値を設定可能であって、前記未使用ページキュー内に格納している未使用ページ数のカウント値が当該しきい値を下回ることを検出してアラームを送出する工程を含むことを特徴とする請求項13に記載のパケットバッファ管理方法。
- 前記パケットのパケット長を書き込んだ位置を検出するとともに、当該パケット長を書き込んだ位置に対してデータ長フラグを生成・出力するフラグメント制御部を管理する工程を有することを特徴とする請求項11乃至14のいずれか一項に記載のパケットバッファ管理方法。
- 前記データ長フラグが出た位置のパケットデータを保持できるデータ長レジスタを管理する工程を有することを特徴とする請求項11乃至15のいずれか一項に記載のパケットバッファ管理方法。
- 前記次段のパケット処理回路に対して前記パケットのヘッダ部を含むページを順に、かつ優先度によってキューイングできる高優先および低優先のページキューを管理する工程を有することを特徴とする請求項11乃至16のいずれか一項に記載のパケットバッファ管理方法。
- 前記次段のパケット処理回路から更新済みパケット先頭ページをキューイングできる更新ページキューを管理する工程を有することを特徴とする請求項11乃至17のいずれか一項に記載のパケットバッファ管理方法。
- 更新されたページとリスト構造を備えた全パケットを外部に送出するためにキューイングするパケットキューを管理する工程を有することを特徴とする請求項11乃至18のいずれか一項に記載のパケットバッファ管理方法。
- 未使用ページアラームおよび受信データ長に基づいて前記高優先および低優先のページキューのいずれと接続するかを切り替えるセレクタを管理する工程を有することを特徴とする請求項17に記載のパケットバッファ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12545599A JP3587080B2 (ja) | 1999-05-06 | 1999-05-06 | パケットバッファ管理装置およびパケットバッファ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12545599A JP3587080B2 (ja) | 1999-05-06 | 1999-05-06 | パケットバッファ管理装置およびパケットバッファ管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000316024A JP2000316024A (ja) | 2000-11-14 |
JP3587080B2 true JP3587080B2 (ja) | 2004-11-10 |
Family
ID=14910532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12545599A Expired - Fee Related JP3587080B2 (ja) | 1999-05-06 | 1999-05-06 | パケットバッファ管理装置およびパケットバッファ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3587080B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007288491A (ja) * | 2006-04-17 | 2007-11-01 | Nippon Telegr & Teleph Corp <Ntt> | フレームの分割回路、該分割回路を用いた伝送システム及び方法 |
JP5598260B2 (ja) * | 2009-11-30 | 2014-10-01 | 富士通株式会社 | パケット伝送装置、パケット伝送方法及びパケット伝送プログラム |
CN114124850B (zh) * | 2022-01-26 | 2022-07-12 | 浙江宇视系统技术有限公司 | 一种网络通信方法及装置、存储介质 |
-
1999
- 1999-05-06 JP JP12545599A patent/JP3587080B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000316024A (ja) | 2000-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8493867B1 (en) | Retransmission and flow control in a logical network tunnel | |
US7221647B2 (en) | Packet communication apparatus and controlling method thereof | |
US7558269B2 (en) | Method for transmitting high-priority packets in an IP transmission network | |
JP5157577B2 (ja) | 到着パケット廃棄決定を行うパケットバッファ管理装置及びその廃棄決定方法 | |
US7733889B2 (en) | Network switching device and method dividing packets and storing divided packets in shared buffer | |
US8077727B2 (en) | Processing of partial frames and partial superframes | |
US20040208123A1 (en) | Traffic shaping apparatus and traffic shaping method | |
WO2022016889A1 (zh) | 一种拥塞控制方法和装置 | |
EP1466449A1 (en) | Deferred queuing in a buffered switch | |
WO2012067684A1 (en) | Dynamic flow redistribution for head line blocking avoidance | |
JP3687501B2 (ja) | パケット交換機の送信キュー管理システム及び管理方法 | |
JP2757779B2 (ja) | バッファ優先権制御方式 | |
US7164687B2 (en) | Queue control method and relay apparatus using the method | |
US8223788B1 (en) | Method and system for queuing descriptors | |
CN110011924B (zh) | 一种清除缓存拥塞的方法与装置 | |
JP3587080B2 (ja) | パケットバッファ管理装置およびパケットバッファ管理方法 | |
US6418118B1 (en) | Network device including selective discard of packets | |
CN115022227B (zh) | 数据中心网中基于循环或重路由的数据传输方法和系统 | |
US6799229B1 (en) | Data-burst-count-base receive FIFO control design and early packet discard for DMA optimization | |
JPH03135248A (ja) | パケット交換網での選択式パケット廃棄方式 | |
JPH10117213A (ja) | パケット通信装置 | |
JPH0766838A (ja) | 輻輳制御フレームリレー装置 | |
JPH0766845A (ja) | 情報流量制限装置 | |
JP3152296B2 (ja) | 選択的atmセル廃棄方法及び装置 | |
EP1347597B1 (en) | Embedded system having multiple data receiving channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040531 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040802 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |