(57)【特許請求の範囲】
【請求項１】
１つの物理リンクにｎ（１＜ｎ，ｎは自然数）個の論理リンクを収容し、入力された可変長パケットを前記論理リンク経由で出力バッファに出力するシステムに適用され、前記ｎ個の論理リンクに対応付けた複数の論理的なキューに可変長パケットを保持する可変長パケットバッファ部を備え、この可変長パケットバッファ部から前記論理リンク経由で前記出力バッファに出力すべき可変長パケットを読み出すパケット読み出し制御装置であって、
前記可変長パケットバッファ部の論理的なキューを管理し、前記キューに可変長パケットが保持されているか否かを示すパケット有無情報を出力するとともに、前記キューから可変長パケットを読み出した場合には、読み出した可変長パケットのパケット長を出力する、前記ｎ個の論理リンクに対応付けられたｎ個のバッファ管理部と、
前記ｎ個の論理リンクに対応付けられ、対応するバッファ管理部から出力されたパケット長の値をカウント値に加算し、論理リンクの帯域速度に応じてカウント値を減算してカウント値をカウント値情報として出力するとともに、カウント値が前記出力バッファの容量により定められた閾値を超えているか否かを判定し、判定の結果を示す閾値超過情報を出力するｎ個のダウンカウンタ部と、
前記ｎ個のバッファ管理部が出力するパケット有無情報と、前記ｎ個のダウンカウンタ部が出力するカウント値情報および閾値超過情報とに基づいて、前記可変長パケットを出力する論理リンクを選択し、選択した論理リンクへの可変長パケットを前記可変長パケットバッファ部から出力させるアービタ部と、
を備え、
前記アービタ部は、
前記可変長パケットバッファ部のキューに可変長パケットが保持されていることが前記パケット有無情報により示されており、かつ、カウント値が閾値を越えていないことが前記閾値超過情報により示されている論理リンクの中で、最も小さいカウント値が前記カウント値情報により示されている論理リンクを選択する
ことを特徴とするパケット読み出し制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理的に１つの物理リンクの中に複数の論理リンクを収容するシステムのパケット読み出し制御装置に関するものであり、特に、複数の論理リンクが可変長パケットを扱う場合のパケット読み出し制御装置に関するものである。
【背景技術】
【０００２】
従来から、パケット転送時の最低帯域保証に関する種々の技術が考えられている。たとえば、特許文献１には、バッファメモリ内のパケットの存在有無を示すフラグと、読み出しレートを最大許容帯域以下に制限するための最大許容帯域パケット間隔値と、最低保証帯域の比で表される最低保証帯域カウンタ初期値をコネクション毎に対応付けて保持するメモリ部と、最大許容帯域パケット間隔値を初期値としてパケット読み出し時刻毎に所定値ずつ減算される最大許容帯域カウンタ部、バッファメモリからパケットが読み出される毎に対応コネクションの保持値を所定値ずつ減算される最低保証帯域カウンタ部と、パケット読み出し時刻が到来したとき、バッファメモリ内にパケットが存在することをフラグに基づいて検知し、かつ最大許容帯域制限を受けていないことを最大許容帯域パケット間隔値に基づいて検知した少なくとも１つのコネクションの中から、最大許容帯域パケット間隔値とその時刻の最低保証帯域カウンタ部の保持値との積が最大値を示すコネクション対応のパケットを読み出し対象とする読み出し制御部とを備え、任意の最低保証帯域および最大許容帯域を有するコネクションに対して、高効率かつ公平に最低帯域保証および最大帯域制限を行なうパケットスイッチ装置に関する技術が開示されている。
【０００３】
【特許文献１】特開２００２−９７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、１つの物理リンクの中に複数の論理リンクを収容し、複数の論理リンクが可変長パケットを扱うシステムについて考える。たとえば、出力側の物理リンクが１Ｇｂｐｓの帯域速度であるＧｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）（以下、ＧｂＥとする）であって、物理リンクの中に１００Ｍｂｐｓの帯域速度であるＦａｓｔ  Ｅｔｈｅｒｎｅｔ（登録商標）（以下、ＦＥとする）の論理リンクを８本収容している場合、８本の論理リンクが可変長パケットを扱うため、適切に可変長パケットの読み出し制御を行なわないとＦＥの速度を保証することができないという問題が生じる。
【０００５】
各論理リンクのＦＥの速度を保証することができなくなると、論理リンクを複数の物理リンクに分離させる後段の処理において、アンダーランが発生したり、偏った出力帯域になってしまうことがあるという問題が生じる。
【０００６】
しかしながら、上記特許文献１に記載の従来のパケットスイッチ装置は、固定長のパケットを扱うことを前提として「最大許容帯域パケット間隔値」と「最低保証帯域カウンタ部の保持値」との積が最大値を示すコネクションを出力すべきコネクションと選択することで、複数コネクションについて各コネクションに設定された最低帯域を保証しつつ最大帯域を制限可能にしている。すなわち、扱うパケットが固定長のパケットであることを利用してパケット数を計算して帯域制御を行なっている。
【０００７】
そのため、上記特許文献１に記載の従来のパケットスイッチ装置を可変長パケットを扱うシステムに適用することはできないという問題があった。すなわち、上記特許文献１に記載の従来のパケットスイッチ装置では、１つの物理リンクに複数の論理リンクが収容され、それぞれの論理リンクが可変長パケットを扱う場合には、論理リンクの最低保証帯域を保証することができないという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、任意の帯域速度の物理リンクの中に複数の論理リンクを収容した可変長パケット出力に対して、各論理リンクの帯域速度に応じて可変長パケットを出力することができるパケット読み出し制御装置を得ることを目的としている。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、１つの物理リンクにｎ（１＜ｎ，ｎは自然数）個の論理リンクを収容し、入力された可変長パケットを前記論理リンクに出力するシステムに適用され、前記複数の論理リンクに対応付けた複数の論理的なキューに可変長パケットを保持する可変長パケットバッファ部を備え、この可変長パケットバッファ部から前記論理リンクに出力すべき可変長パケットを読み出すパケット読み出し制御装置において、前記可変長パケットバッファ部の論理的なキューを管理し、前記キューに可変長パケットが保持されているか否かを示すパケット有無情報を出力するとともに、前記キューから可変長パケットを読み出した場合には、読み出した可変長パケットのパケット長を出力する、前記ｎ個の論理リンクに対応付けられたｎ個のバッファ管理部と、前記ｎ個の論理リンクに対応付けられ、対応するバッファ管理部から出力されたパケット長の値をカウント値に加算し、論理リンクの帯域速度に応じてカウント値を減算してカウント値をカウント値情報として出力するとともに、カウント値が予め定められた閾値を超えているか否かを判定し、判定の結果を示す閾値超過情報を出力するｎ個のダウンカウンタ部と、前記ｎ個のバッファ管理部が出力するパケット有無情報と、前記ｎ個のダウンカウンタ部が出力するカウント値情報および閾値超過情報とに基づいて、前記可変長パケットを出力する論理リンクを選択し、選択した論理リンクへの可変長パケットを前記可変長パケットバッファ部から出力させるアービタ部と、を備えることを特徴とする。
【発明の効果】
【００１０】
１つの物理リンクにｎ個の論理リンクを収容し、入力された可変長パケットを論理リンクに出力するシステムに適用され、複数の論理リンクに対応付けた複数の論理的なキューに可変長パケットを保持する可変長パケットバッファ部から論理リンクに出力すべき可変長パケットを読み出す際に、ｎ個の論理リンクに対応付けられたｎ個のバッファ管理部が、キューに可変長パケットが保持されているか否かを示すパケット有無情報を出力するとともに、キューから可変長パケットを読み出した場合には、読み出した可変長パケットのパケット長を出力し、ｎ個の論理リンクに対応付けられたｎ個のダウンカウンタ部が、対応するバッファ管理部から出力されたパケット長の値をカウント値に加算し、論理リンクの帯域速度に応じてカウント値を減算してカウント値をカウント値情報として出力するとともに、カウント値が予め定められた閾値を超えているか否かを判定し、判定の結果を示す閾値超過情報を出力し、アービタ部が、パケット有無情報、カウント値情報、および閾値超過情報に基づいて、可変長パケットを出力する論理リンクを選択し、選択した論理リンクへの可変長パケットを可変長パケットバッファ部から出力させるようにしているため、任意の帯域速度の物理リンクの中に複数の論理リンクを収容した可変長パケット出力に対して、各論理リンクの帯域速度に応じて可変長パケットを出力することができるパケット読み出し制御装置を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかるパケット読み出し制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１〜図３を参照してこの発明の実施の形態１を説明する。この発明におけるパケット読み出し制御装置は、１つの物理リンクの中に、複数の論理リンクを収容するシステムに適用される。この実施の形態１では、入力側および出力側の物理リンクを１Ｇｂｐｓの帯域速度であるＧｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）（以下、ＧｂＥとする）とし、物理リンクの中に１００Ｍｂｐｓの帯域速度であるＦａｓｔ  Ｅｔｈｅｒｎｅｔ（登録商標）（以下、ＦＥとする）の論理リンクを８本収容している場合を例に挙げて説明するが、物理リンクおよび論理リンクの帯域速度はこれに限るものではない。
【００１３】
たとえば、入力側の物理リンクが数Ｇｂｐｓの帯域速度であり、出力側の物理リンクが１Ｇｂｐｓの帯域速度というように、入力側の物理リンクと出力側の物理リンクとの帯域速度が異なっていてもかまわない。
【００１４】
また、論理リンクの帯域速度の合計が出力側の物理リンクの帯域速度よりも小さければ、論理リンクは、たとえば、２００Ｍｂｐｓの帯域速度の論理リンクが２本と、１００Ｍｂｐｓの論理リンクが５本という構成であってもかまわない。
【００１５】
図１は、この発明におけるパケット読み出し制御装置の実施の形態１の構成を示すブロック図である。図１において、パケット読み出し制御装置は、可変長パケットバッファ部１、選択制御部２、論理リンクの数（この場合は８個）のバッファ管理部３（バッファ管理部３−０〜３−７を示す）、論理リンクの数のダウンカウンタ部４（ダウンカウンタ部４−０〜４−７を示す）、およびアービタ部５を備えている。
【００１６】
可変長パケットバッファ部１は、論理的な複数のキュー（図示せず）を備えており、入力された可変長パケット（以下、パケットとする）を一時保持する。可変長パケットバッファ部１は、入力されたパケットのパケット長およびパケットを出力する論理リンクを識別する情報（たとえば、論理リンク識別子）を含むパケット情報を選択制御部２に出力する。また、可変長パケットバッファ部１は、選択制御部２からの読み出し情報に基づいて保持しているパケットを出力する。
【００１７】
選択制御部２は、可変長パケットバッファ部１が出力するパケット情報内の論理リンク識別子が示す論理リンクに対応するバッファ管理部３に、パケット情報内のパケット長を出力する。また、選択制御部２は、バッファ管理部３が出力するリード／ライト制御情報を可変長パケットバッファ部１に出力する。
【００１８】
バッファ管理部３は、可変長パケットバッファ部１のポインタやバッファサイズなどを管理し、可変長パケットバッファ部１にパケットを保持させるライト制御情報、および可変長パケットバッファ部１が保持しているパケットを出力させるリード制御情報を選択制御部２に出力する。図１においては、バッファ管理部３−０が論理リンク０の管理し、バッファ管理部３−１が論理リンク１を管理し、・・・、バッファ管理部３−７が論理リンク７を管理する。
【００１９】
バッファ管理部３は、管理する論理リンクに出力可能なパケットが可変長パケットバッファ部１に存在するか否かを示すパケット有無情報ＥＸ（ＥＸ０〜ＥＸ７を示す）をアービタ部５に出力する。また、バッファ管理部３は、リード制御情報を出力して可変長パケットバッファ部１が保持しているパケットを出力させた場合には、出力されたパケットのインター・パケット・ギャップ（ＩＰＧ）を含むパケット長を対応するダウンカウンタ部４に通知する。
【００２０】
ダウンカウンタ部４は、対応する論理リンクの帯域速度に応じてカウント値を減算し、カウント値をカウント値情報ＢＳＩＺＥ（ＢＳＩＺＥ０〜ＢＳＩＺＥ７を示す）としてアービタ部５に出力する。また、ダウンカウンタ部４は、バッファ管理部３からパケット長の通知を受けた場合には、通知されたパケット長をカウント値に加算した後に減算を再開する。ダウンカウンタ部４は、カウント値が「０」でカウント値の減算を終了する。
【００２１】
さらに、ダウンカウンタ部４は、カウント値と予め定められた閾値とを比較して、カウント値が閾値を超えているか否かを示す閾値超過情報ＢＰ（ＢＰ０〜ＢＰ７を示す）をアービタ部５に出力する。なお、図１においては、ダウンカウンタ部４−０は論理リンク０（バッファ管理部３−０）に対応し、ダウンカウンタ部４−１は論理リンク１（バッファ管理部３−１）に対応し、・・・、ダウンカウンタ部４−７は論理リンク７（バッファ管理部３−７）に対応している。
【００２２】
閾値は、可変長パケットバッファ部１が出力したパケットを受ける後段のバッファの段数によって決定され、ダウンカウンタ部４−０〜４−７それぞれの閾値は、異なる値であってもよいし、同一の値であってもかまわない。
【００２３】
アービタ部５は、バッファ管理部３が出力するパケット有無情報ＥＸと、ダウンカウンタ部４が出力するカウント値情報ＢＳＩＺＥおよび閾値超過情報ＢＰとに基づいて、可変長パケットバッファ部１の出力速度の間隔にて、パケットを出力する論理リンクを選択する。
【００２４】
具体的には、アービタ部５は、下記の条件１〜３を全て満たす論理リンクをパケットを出力する論理リンクとして選択する。
条件１  可変長パケットバッファ部１に出力すべきパケットが存在する論理リンク
条件２  ダウンカウンタ部４のカウント値が閾値以下の論理リンク
条件３  ダウンカウンタ部４のカウント値が一番小さい値を示す論理リンク
【００２５】
アービタ部５は、選択した論理リンクに対応するバッファ管理部３に、パケットの読み出し指示ＲＥＡＤ（ＲＥＡＤ０〜ＲＥＡＤ７）を出力する。
【００２６】
つぎに、図１〜図３を参照して、この発明における実施の形態１のパケット読み出し制御装置の動作を説明する。なお、初期状態においては、ダウンカウンタ部４のカウント値情報ＢＳＩＺＥは初期値（この場合は、「０」）であるものとする。また、バッファ管理部３が出力するパケット有無情報ＥＸは、「１」で出力すべきパケットが存在することを示し、「０」で出力すべきパケットが存在しないことを示すものとし、ダウンカウンタ部４が出力する閾値超過情報ＢＰは、「１」でカウント値が閾値を越えていることを示し、「０」でカウント値が閾値以下であることを示すものとする。
【００２７】
パケットが入力されると、可変長パケットバッファ部１は、入力されたパケットのパケット長およびパケットを出力する論理リンクを示す論理リンク識別子を含むパケット情報を選択制御部２に出力する。
【００２８】
選択制御部２は、パケット情報内の論理リンク識別子が示す論理リンクに対応するバッファ管理部３に、パケット情報内のパケット長を出力する。たとえば、パケット長が「５」であって、かつ論理リンク識別子が論理リンク０を示している場合には、選択制御部２は、パケット長が「５」であることをバッファ管理部３−０に通知する。
【００２９】
バッファ管理部３は、可変長パケットバッファ部１のポインタやバッファサイズなどの管理情報と、選択制御部２から通知されたパケット長とに基づいて、パケットを可変長パケットバッファ部１に保持（書き込み）可能であるか否かを判定する。パケットを可変長パケットバッファ部１に書き込み可能であると判定した場合、バッファ管理部３は、パケットの書き込み処理によって管理情報を更新する。
【００３０】
バッファ管理部３は、可変長パケットバッファ部１がパケットを書き込むために必要な情報を含むライト制御情報を選択制御部２を介して可変長パケットバッファ部１に出力して、可変長パケットバッファ部１の該当するキューにパケットを保持させる。また、バッファ管理部３は、パケット有無情報を「１」にして、自身が管理する論理リンクに出力すべきパケットが存在することを示すアービタ部５に通知する。
【００３１】
たとえば、バッファ管理部３−０が選択制御部２からパケット長の通知を受けた場合には、バッファ管理部３−０がパケットを可変長パケットバッファ部１に書き込み可能であるか否かを判定してライト制御情報を選択制御部２を介して可変長パケットバッファ部１に出力し、バッファ管理部３−０が管理する論理リンク０に対応するキューにパケットを保持させる。これにより、論理リンク０に出力すべきパケットが存在することになり、バッファ管理部３−０は、パケット有無情報ＥＸ０を「１」にする。
【００３２】
可変長パケットバッファ部１の出力速度の間隔毎に（パケットを出力すべきタイミングになると）アービタ部５は、バッファ管理部３が出力するパケット有無情報ＥＸと、ダウンカウンタ部４が出力するカウント値情報ＢＳＩＺＥおよび閾値超過情報ＢＰとに基づいて、パケットを出力する（上記条件１〜３を全て満たす）論理リンクを選択する。
【００３３】
たとえば、初期状態において、１つのパケットが入力され論理リンク０に対応するキューに保持されたと仮定すると、バッファ管理部３−０が出力するパケット有無情報ＥＸ０が「１」であり、バッファ管理部３−１〜３−７が出力するパケット有無情報ＥＸ１〜ＥＸ７はすべて「０」となる。また、ダウンカウンタ部４−０〜４−７が出力するカウント値情報ＢＳＩＺＥ０〜ＢＳＩＺＥ７はすべて「０」であり、閾値超過情報ＢＰ０〜ＢＰ７もすべて「０」である。
【００３４】
この場合、各論理リンク０〜７が、上記条件２「ダウンカウンタ部４のカウント値が閾値以下の論理リンク」および条件３「ダウンカウンタ部４のカウント値が一番小さい値を示す論理リンク」の２つの条件を満たしているが、条件１「可変長パケットバッファ部１に出力すべきパケットが存在する論理リンク」を満たす論理リンクはパケット有無情報ＥＸ０が「１」となっている論理リンク０だけである。したがって、アービタ部５は、論理リンク０をパケットを出力する論理リンクとして選択する。
【００３５】
すなわち、アービタ部５は、パケット有無情報ＥＸが「１」であって、かつ閾値超過情報が「０」である論理リンクの中で、カウント値情報ＢＳＩＺＥが最も小さい値の論理リンクを選択する。なお、カウント値情報ＢＳＩＺＥの値が等しい場合には、予め定められた順番で１つの論理リンクを選択すればよい。
【００３６】
アービタ部５は、選択した論理リンクを管理するバッファ管理部３にパケットの読み出し指示ＲＥＡＤを出力する。ここでは、論理リンク０を選択したので、論理リンク０を管理するバッファ管理部３−０に読み出し指示ＲＥＡＤ０を出力する。
【００３７】
読み出し指示を受けると、バッファ管理部３（ここでは、バッファ管理部３−０）は、パケットの読み出し処理によって管理情報を更新する。バッファ管理部３は、可変長パケットバッファ部１がパケットを読み出す（出力する）ために必要な情報を含むリード制御情報を選択制御部２を介して可変長パケットバッファ部１に出力して、可変長パケットバッファ部１の該当するキューからパケットを読み出して、論理リンク（ここでは、論理リンク０）に出力させる。
【００３８】
また、バッファ管理部３は、リード制御情報によって出力されたパケットのパケット長を対応するダウンカウンタ部４に通知する。ここでは、バッファ管理部３−０がパケット長をダウンカウンタ部４−０に通知する。
【００３９】
パケット長が通知されると、ダウンカウンタ部４は、カウント値に通知されたパケット長を加算した値を新たなカウント値として、対応する論理リンクの帯域速度に応じてカウント値を減算し、カウント値をカウント値情報ＢＳＩＺＥとしてアービタ部５に出力する。
【００４０】
また、ダウンカウンタ部４は、カウント値を変更する毎に予め定められた閾値とカウント値とを比較する。比較の結果、カウント値が閾値を越えている場合には閾値超過情報ＢＰを「１」にし、カウント値が閾値以下の場合には閾値超過情報ＢＰを「０」にして、カウント値と閾値との関係をアービタ部５に通知する。
【００４１】
ここでは、ダウンカウンタ部４−０がバッファ管理部３−０からパケット長の通知を受けているので、ダウンカウンタ部４−０が、初期値であるカウント値「０」に通知されたパケット長を加算してカウント値を更新して減算を開始する。
【００４２】
このように、パケット入力時には、可変長パケットバッファ部１が入力されたパケットに関するパケット情報を選択制御部２を介してバッファ管理部３に通知し、バッファ管理部３が通知されたパケット情報および自身の管理情報に基づいて可変長パケットバッファ部１の該当するキューにパケットを保持させるとともにパケット有無情報ＥＸを「１」にし、パケットの読み出し時には、アービタ部５がパケット有無情報ＥＸ、カウント値情報ＢＳＩＺＥ、および閾値超過情報ＢＰに基づいてパケットを出力する論理リンクを選択し、バッファ管理部３がアービタ部５によって選択された論理リンクにパケットを出力させ、ダウンカウンタ部４が出力されたパケット長の値をカウント値に加算した後に減算を行なうとともに、カウント値が閾値を超えているか否かを判定し、カウント値が閾値を越えている場合には閾値超過情報ＢＰを「１」にし、カウント値が閾値以下の場合には閾値超過情報ＢＰを「０」にする動作を繰り返す。
【００４３】
図２は、任意の時間におけるパケット読み出し制御装置の状態を示す図である。図２においては、上述したパケットの保持およびパケットの出力動作が複数回行なわれ、全ての論理リンクＦＥ（ＦＥ０〜ＦＥ７を示す）はダウンカウンタ部４のカウント値Ｃ（Ｃ０〜Ｃ７を示す）状態を示している。また、ダウンカウンタ部４のカウント値の最大値は４ｋｂｙｔｅであり、閾値Ｔｈは１５４２ｂｙｔｅであり、すべてのダウンカウンタ部４のカウント値Ｃは、閾値Ｔｈ以下となっている。したがって、ダウンカウンタ部４がアービタ部５に出力するカウント値情報ＢＳＩＺＥはカウント値Ｃであり、閾値超過情報ＢＰはすべて「０」である。
【００４４】
このような状態において、バッファ管理部３が出力するパケット有無情報ＥＸがすべて「１」であり、ダウンカウンタ部４−０〜４−７のカウント値Ｃ０〜Ｃ７の中で、カウント値Ｃ２が一番小さい値、すなわちカウント値情報ＢＳＩＺＥ２の値が、カウント値情報ＢＳＩＺＥ０〜ＢＳＩＺＥ７の中で１番小さいので、アービタ部５は、つぎにパケットを出力する論理リンクとして論理リンクＦＥ２を選択して、バッファ管理部３−２に読み出し指示ＲＥＡＤ２を出力する。
【００４５】
バッファ管理部３−２は、リード制御情報を選択制御部２を介して可変長パケットバッファ部１に出力して論理リンクＦＥ２にパケットを出力させるとともに、論理リンクＦＥ２に出力するパケットのパケット長をダウンカウンタ部４−２に通知する。
【００４６】
ダウンカウンタ部４−２は、通知されたパケット長の値ＣＣ２を現在のカウント値Ｃ２に加算する。ここで、カウント値Ｃ２に通知された（論理リンクＦＥ２に出力された）パケットのパケット長の値ＣＣ２が加算されたため、ダウンカウンタ部４−２のカウント値が閾値Ｔｈを越える。したがって、ダウンカウンタ部４−２は、閾値超過信号ＢＰ２を「１」にする。これにより、ダウンカウンタ部４−２の減算によってカウント値が閾値Ｔｈ以下になるまでの間、論理リンクＦＥ２に対してパケットを出力することはない。
【００４７】
また、ダウンカウンタ部４のカウント値Ｃは、可変長パケットバッファ部１が論理リンクＦＥに出力したパケット長を示しており、論理リンクＦＥの帯域速度（この場合は、１００Ｍｂｐｓ）に応じてカウント値を減算する。しがたって、カウント値Ｃは、たとえば、可変長パケットバッファ部１の後段に配置される速度変換を行なう出力部のバッファの状態（出力部のバッファに蓄積されているパケットのパケット長の合計）を擬似的に示していることと等価である。
【００４８】
アービタ部５は、カウント値を示すカウント値情報ＢＳＩＺＥ、およびカウント値Ｃが閾値Ｔｈを超えているか否かを示す閾値超過情報ＢＰに基づいて、上記条件２および３を満たしているか否かを判定している。これは、後段に配置される出力部からバッファの状態に関する情報を取得することなく、出力部のバッファの状態を考慮してパケットを出力していることを意味する。図２の場合は、ダウンカウンタ部４−２の閾値超過情報ＢＰ２が「１」であるので、論理リンクＦＥ２にパケットを出力する出力部のバッファに１５４６ｂｙｔｅ以上のパケットが出力部のバッファに蓄積されていることを示している。
【００４９】
図３は、パケット読み出し制御装置によって出力されたパケットがＧｂＥの物理リンクの中の１００Ｍｂｐｓの帯域速度の論理リンクＦＥに出力される様子を示している。図３においては、時刻ｔ１からパケットＰ１＃２が論理リンクＦＥ２に出力される。パケットＰ１＃２が論理リンクＦＥ２に出力された後インター・パケット・ギャップＩ１が経過した時刻ｔ２から、パケットＰ２＃１が論理リンクＦＥ１に出力される。
【００５０】
パケットＰ２＃１が論理リンクＦＥ１に出力された後インター・パケット・ギャップＩ２が経過した時刻ｔ３から、パケットＰ３＃６が論理リンクＦＥ６に出力される。パケットＰ３＃６が論理リンクＦＥ６に出力された後インター・パケット・ギャップＩ３が経過した時刻ｔ４から、パケットＰ４＃３が論理リンクＦＥ３に出力される。
【００５１】
パケットＰ４＃３が論理リンクＦＥ３に出力された後インター・パケット・ギャップＩ４が経過した時刻ｔ５から、パケットＰ５＃０が論理リンクＦＥ０に出力される。パケットＰ５＃０が論理リンクＦＥ０に出力された後インター・パケット・ギャップＩ５が経過した時刻ｔ６から、パケットＰ６＃７が論理リンクＦＥ７に出力される。
【００５２】
パケットＰ６＃７が論理リンクＦＥ７に出力された後インター・パケット・ギャップＩ６が経過した時刻ｔ７から、パケットＰ７＃５が論理リンクＦＥ５に出力される。パケットＰ７＃５が論理リンクＦＥ５に出力された後インター・パケット・ギャップＩ７が経過した時刻ｔ８から、パケットＰ８＃４が論理リンクＦＥ４に出力される。パケットＰ８＃４が論理リンクＦＥ４に出力された後インター・パケット・ギャップＩ８が経過した時刻ｔ９から、パケットＰ９＃２が論理リンクＦＥ２に出力される。
【００５３】
このように、扱うパケットが可変長パケットであるため、多少出力順序は前後するものの、ほぼ均等に論理リンクＦＥ０〜ＦＥ７にパケットを出力している。これは、既に出力したパケットのバイト数を利用したフェアキューイング処理と等価であり、論理リンクＦＥ間の公平性も同時に守られていることを示している。
【００５４】
以上説明したように、この実施の形態１では、物理リンクに８個の論理リンクを収容し、入力された可変長パケットを論理リンクに出力するシステムに適用され、８個の論理リンクに対応付けた論理的なキューに可変長パケットを保持する可変長パケットバッファ部１から論理リンクに出力すべき可変長パケットを読み出す際に、バッファ管理部３が、キューに可変長パケットが保持されているか否かを示すパケット有無情報ＥＸを出力するとともに、キューから可変長パケットを読み出した場合には、読み出した可変長パケットのパケット長を出力し、ダウンカウンタ部４が、対応するバッファ管理部３から出力されたパケット長の値をカウント値に加算し、論理リンクの帯域速度に応じてカウント値を減算してカウント値をカウント値情報ＢＳＩＺＥとして出力するとともに、カウント値が予め定められた閾値を超えているか否かを判定し、判定の結果を示す閾値超過情報ＢＰを出力し、アービタ部５が、パケット有無情報ＥＸが可変長パケットバッファ部１に可変長パケットが存在していることを示し、かつ閾値超過情報ＢＰがカウント値が閾値以下であることを示している論理リンクの中で、カウント値情報ＢＳＩＺＥが１番小さい値を示している論理リンクを選択し、選択した論理リンクへの可変長パケットを可変長パケットバッファ部１から出力させるようにしているため、任意の帯域速度の物理リンクの中に複数の論理リンクを収容した可変長パケット出力に対して、各論理リンクの帯域速度に応じて可変長パケットを出力することができる。
【００５５】
すなわち、物理リンクの中に複数の論理リンクを収容した場合（可変長パケットを複数コネクション多重した場合）でも、パケット長の長いパケットと短いパケットとが存在するためにパケットの出力順序が前後して帯域速度に大きな偏りが発生する現象を防止し、それぞれの論理リンクに対してほぼ正確な帯域制限をかけることができる。
【００５６】
また、物理リンクの中に複数の論理リンクを収容した場合でも、それぞれの論理リンクに対してほぼ正確な帯域制限をかけることができることから、この発明におけるパケット読み出し制御装置によって読み出された可変長パケットの後段に配置され可変長パケットのＤＥＭＵＸ処理を行なう回路のトータルバッファ量を削減することができ、システム全体の回路規模を削減し、システムのコストを低減することができる。すなわち、論理リンクを物理リンクに変換する場合においては、後段のＤＥＭＵＸ処理を行なう回路に単なる速度調整用のバッファを用意すれば良く、さらにそのバッファサイズは少なくすることが可能となる。
【００５７】
さらに、この実施の形態１においては、ダウンカウンタ部４が、自身に対応する論理リンクに出力された可変長パケットのパケット長をカウント値に加算し、対応する論理リンクの帯域速度に応じて減算を行なうとともに、カウント値が予め定められた閾値を超えているか否かを判定し、アービタ部５が、パケットを出力する論理リンクを選択する条件として、ダウンカウンタ部４のカウント値およびカウント値が閾値を越えているか否かの判定結果を用いるようにしているため、論理リンクに出力したパケットを処理する後段にバックプレッシャ信号を用いて帯域制御を行う場合と比較して、帯域制御の反応速度が速くなり、論理リンクの帯域を有効に利用することができるとともに、複数の論理リンクの帯域速度の合計が、これら論理リンクを収容する物理リンクの帯域速度以下であれば、論理リンクの帯域速度は任意に設定して帯域制御を行なうことができる。
【産業上の利用可能性】
【００５８】
以上のように、本発明にかかるパケット読み出し制御装置は、可変長パケットを転送するシステムに有用であり、特に、１つの物理リンクに複数の論理リンクを収容するシステムに適している。
【図面の簡単な説明】
【００５９】
【図１】この発明におけるパケット読み出し制御装置の実施の形態１の構成を示すブロック図である。
【図２】任意の時間におけるパケット読み出し制御装置の状態を示す図である。
【図３】パケット読み出し制御装置によって出力されたパケットがＧｂＥの物理リンクの中の１００Ｍｂｐｓの帯域速度の論理リンクに出力される様子を示す図である。
【符号の説明】
【００６０】
１  可変長パケットバッファ部
２  選択制御部
３−０，３−１，３−７  バッファ管理部
４−０，４−１，４−７  ダウンカウンタ部
５  アービタ
【図１】
0004588558.tif 000002
【図２】
0004588558.tif 000003
【図３】
0004588558.tif 000004