(57)【要約】【課題】パケット中継装置内のキュースケジュールにおいて、キューの重みが大きい場合でも、キューのサイズを特に大きくする必要のないキュースケジュール方法を提供する。【解決手段】先頭セグメント：読出し権のあるキューの借越し量の値が正値でなければ、セグメント読出し手段４２はそのキューからセグメントを読み出す。読出し権のあるキューの借越し量の値が正値であれば、借越し量更新手段５２はそのキューの借越し量の値から１を減じ、セグメント読出し手段４２は他のキューからセグメントを読み出す。先頭セグメント以外：セグメント読出し手段４２は前回読み出したキューからセグメントを読み出す。他キューに読出し権があり、借越し量の値が正値でなければ、借越し量更新手段５２は自キューの借越し量の値に１を加える。他キューに読出し権があり、借越し量の値が正値であれば、借越し量更新手段５２はそのキューの借越し量の値から１を減ずる。【選択図】図４
2008117428.tif 000002
【特許請求の範囲】
【請求項１】
パケットを中継するパケット中継装置において、
前記パケットを蓄積するための複数のキューと、
あらかじめ定められた期間ごとの前記パケットの読出し処理を行う権利である読出し権を前記複数のキューのうちの一つのキューに対応付けるための読出し権配分手段と、
前記複数のキューのうちの一つのキューから該キューに前記読出し権が対応付けられていない期間において読出し処理を行ったパケットのデータ量を示す借越し量を該キューに対応付けて記憶するための借越し量記憶部と、
前記複数のキューのうちの一つのキューに対応付けられた借越し量に基づいて該キューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定手段と、
前記借越し量記憶部に記憶された借越し量を更新するための借越し量更新手段と、
を備え、
前記借越し量更新手段は、前記複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、該読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、該読出し処理を行ったキューおよび該他のキューに対応付けられた借越し量を更新する
ことを特徴とするパケット中継装置。
【請求項２】
請求項１に記載されたパケット中継装置であって、
前記読出し権配分手段は、前記複数のキューの各々に対してあらかじめ定められた重みに従って、前記読出し権を前記複数のキューのうちの一つのキューに対応付けることを特徴とするパケット中継装置。
【請求項３】
請求項１に記載されたパケット中継装置であって、
前記読出し権配分手段は、前記複数のキューのうち２つ以上のキューが空でない時間帯内の期間ごとに、該空でない２つ以上のキューの各々に対して定められた重みに従って、該空でない２つ以上のキューのうちの一つのキューに前記読出し権を対応付けることを特徴とするパケット中継装置。
【請求項４】
請求項１に記載されたパケット中継装置であって、
前記読出し可否判定手段は、前記判定処理を行うキューに対応付けられた借越し量が正値でないときに、読出し処理を行うと判定することを特徴とするパケット中継装置。
【請求項５】
請求項１に記載されたパケット中継装置であって、
前記借越し量更新手段は、前記読出し処理を行ったキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記他のキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ減算して更新することを特徴とするパケット中継装置。
【請求項６】
請求項1に記載されたパケット中継装置であって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量記憶部には、前記第１のキューに対応付けられた借越し量のみが記憶され、
前記読出し可否判定手段は、前記第２のキューの判定処理を行うときに、前記第１のキューに対応付けられた借越し量が負値でないときに、読出し処理を行うと判定し、
前記借越し量更新手段は、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記読出し権が前記第１のキューに対応付けられている期間において前記第２のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新する
ことを特徴とするパケット中継装置。
【請求項７】
請求項１に記載されたパケット中継装置であって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量更新手段は、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記第２のキューに対応付けられた借越し量が正値である場合に前記第２のキューに対応付けられた借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新し、前記第２のキューに対応付けられた借越し量が正値でない場合に前記第１のキューに対応付けられた借越し量を該期間において読出し処理を行ったデータ量だけ加算して更新することを特徴とするパケット中継装置。
【請求項８】
パケットを蓄積するための複数のキューと該複数のキューの各々に対応付けて借越し量を記憶するための借越し量記憶部とを備えたパケット中継装置が実行するキュースケジュール方法において、
あらかじめ定められた期間ごとの前記パケットの読出し処理を行う権利である読出し権を前記複数のキューのうちの一つのキューに対応付けるための読出し権配分ステップと、
前記複数のキューのうちの一つのキューに対応付けられた借越し量に基づいて該キューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定ステップと、
前記借越し量記憶部に記憶された借越し量を更新するための借越し量更新ステップと、
を備え、
前記借越し量更新ステップにおいては、前記複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、該読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、該読出し処理を行ったキューおよび該他のキューに対応付けられた借越し量を更新する
ことを特徴とするキュースケジュール方法。
【請求項９】
請求項８に記載されたキュースケジュール方法であって、
前記読出し権配分ステップにおいては、前記複数のキューの各々に対してあらかじめ定められた重みに従って、前記読出し権を前記複数のキューのうちの一つのキューに対応付けることを特徴とするキュースケジュール方法。
【請求項１０】
請求項８に記載されたキュースケジュール方法であって、
前記読出し権配分ステップにおいては、前記複数のキューのうち２つ以上のキューが空でない時間帯内の期間ごとに、該空でない２つ以上のキューの各々に対して定められた重みに従って、該空でない２つ以上のキューのうちの一つのキューに前記読出し権を対応付けることを特徴とするキュースケジュール方法。
【請求項１１】
請求項８に記載されたキュースケジュール方法であって、
前記読出し可否判定ステップにおいては、前記判定処理を行うキューに対応付けられた借越し量が正値でないときに、読出し処理を行うと判定することを特徴とするキュースケジュール方法。
【請求項１２】
請求項８に記載されたキュースケジュール方法であって、
前記借越し量更新ステップにおいては、前記読出し処理を行ったキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記他のキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ減算して更新することを特徴とするキュースケジュール方法。
【請求項１３】
請求項８に記載されたキュースケジュール方法であって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量記憶部には、前記第１のキューに対応付けられた借越し量のみが記憶され、
前記読出し可否判定ステップにおいては、前記第２のキューの判定処理を行うときに、前記第１のキューに対応付けられた借越し量が負値でないときに、読出し処理を行うと判定し、
前記借越し量更新ステップにおいては、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記読出し権が前記第１のキューに対応付けられている期間において前記第２のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新する
ことを特徴とするキュースケジュール方法。
【請求項１４】
請求項８に記載されたキュースケジュール方法であって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量更新ステップにおいては、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記第２のキューに対応付けられた借越し量が正値である場合に前記第２のキューに対応付けられた借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新し、前記第２のキューに対応付けられた借越し量が正値でない場合に前記第１のキューに対応付けられた借越し量を該期間において読出し処理を行ったデータ量だけ加算して更新することを特徴とするキュースケジュール方法。
【請求項１５】
パケット中継装置に内蔵され、パケットを蓄積するための複数のキューとしておよび該複数のキューの各々に対応付けて借越し量を記憶するための借越し量記憶部として使用される記憶部を備えたコンピュータにキュースケジュール方法を実行させるためのキュースケジュールプログラムにおいて、前記キュースケジュール方法は、
あらかじめ定められた期間ごとの前記パケットの読出し処理を行う権利である読出し権を前記複数のキューのうちの一つのキューに対応付けるための読出し権配分ステップと、
前記複数のキューのうちの一つのキューに対応付けられた借越し量に基づいて該キューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定ステップと、
前記借越し量記憶部に記憶された借越し量を更新するための借越し量更新ステップと、
を備え、
前記借越し量更新ステップにおいては、前記複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、該読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、該読出し処理を行ったキューおよび該他のキューに対応付けられた借越し量を更新する
ことを特徴とするキュースケジュールプログラム。
【請求項１６】
請求項１５に記載されたキュースケジュールプログラムであって、
前記読出し権配分ステップにおいては、前記複数のキューの各々に対してあらかじめ定められた重みに従って、前記読出し権を前記複数のキューのうちの一つのキューに対応付けることを特徴とするキュースケジュールプログラム。
【請求項１７】
請求項１５に記載されたキュースケジュールプログラムであって、
前記読出し権配分ステップにおいては、前記複数のキューのうち２つ以上のキューが空でない時間帯内の期間ごとに、該空でない２つ以上のキューの各々に対して定められた重みに従って、該空でない２つ以上のキューのうちの一つのキューに前記読出し権を対応付けることを特徴とするキュースケジュールプログラム。
【請求項１８】
請求項１５に記載されたキュースケジュールプログラムであって、
前記読出し可否判定ステップにおいては、前記判定処理を行うキューに対応付けられた借越し量が正値でないときに、読出し処理を行うと判定することを特徴とするキュースケジュールプログラム。
【請求項１９】
請求項１５に記載されたキュースケジュールプログラムであって、
前記借越し量更新ステップにおいては、前記読出し処理を行ったキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記他のキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ減算して更新することを特徴とするキュースケジュールプログラム。
【請求項２０】
請求項１５に記載されたキュースケジュールプログラムであって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量記憶部には、前記第１のキューに対応付けられた借越し量のみが記憶され、
前記読出し可否判定ステップにおいては、前記第２のキューの判定処理を行うときに、前記第１のキューに対応付けられた借越し量が負値でないときに、読出し処理を行うと判定し、
前記借越し量更新ステップにおいては、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記読出し権が前記第１のキューに対応付けられている期間において前記第２のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新する
ことを特徴とするキュースケジュールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット中継装置に係り、特に、複数のキューに蓄積されたパケットの読出し方法に関する。
【背景技術】
【０００２】
パケット中継装置は複数の通信ポートを備えている。パケットは一つの通信ポートから入力され、キューに蓄積される。キューに蓄積されたパケットは先入れ先出し方式によって読み出され、出力すべき一つあるいは複数の通信ポートが決定され、決定された出力ポートに転送される。複数のキューが存在する場合には、これら複数のキューを取り扱うためのキュースケジュールが問題となる。複数のキューを平等に扱うためのキュースケジュール方法としてＤＲＲ（Ｄｅｆｉｃｉｔ  Ｒｏｕｎｄ  Ｒｏｂｉｎ）が提案されており、パケット中継装置にもＤＲＲが採用されている（たとえば特許文献１）。
【特許文献１】特開平１１−２５２０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＤＲＲでは、各キューの１回の読出しデータ量の割当である量子値（Ｑｕａｎｔｕｍ  Ｖａｌｕｅ）を決めておく。すなわち、量子値に相当するだけのデータ量のデータをあるキューから読み出すと、そのキューからの読出し処理を終了し、他のキューの読出し処理に移行する。キューに蓄積されているデータのデータ量が量子値より少なければ、キューに蓄積されているデータをすべて読み出した時点でこのキューの読出し処理を終了する。読出し処理はパケット単位で行うため、実際にはちょうど量子値に相当するだけのデータ量のデータを読み出すのではなく、読み出したデータ量が量子値に達したときに読み出しているパケットを読み出し終えた時点で、そのキューからの読出し処理を終了する。量子値を超えた読出しデータ量を不足値（Ｄｅｆｉｃｉｔ  Ｖａｌｕｅ）と呼び、このキューの次回の読出しデータ量の割当は、量子値から不足値を減じたデータ量となる。これを繰り返すことによって、各キューからの１回の平均読出しデータ量が量子値に近くなるため、ＤＲＲは平等なキュースケジュール方法と考えられている。ＤＲＲでは、キューごとに重みを設定し、重みに比例した量子値をキューごとに用いることもある。この場合、各キューのサイズは、最小重みのキューのサイズに対して、それぞれの重みに見合ったサイズとする。したがって、設定可能な最大重みが大きければ、用意するキューのサイズも大きなものとなり、パケット中継装置内のリソースを大きく消費することになる。【０００４】
本発明の目的は、パケット中継装置内のキュースケジュールにおいて、キューの重みが大きい場合でも、キューのサイズを特に大きくする必要のないキュースケジュール方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明にかかるパケット中継装置は、パケットを蓄積するための複数のキューと、あらかじめ定められた期間ごとのパケットの読出し処理を行う権利である読出し権を複数のキューのうちの一つのキューに対応付けるための読出し権配分手段と、複数のキューのうちの一つのキューからそのキューに読出し権が対応付けられていない期間において読出し処理を行ったパケットのデータ量を示す借越し量をそのキューに対応付けて記憶するための借越し量記憶部と、複数のキューのうちの一つのキューに対応付けられた借越し量に基づいてそのキューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定手段と、借越し量記憶部に記憶された借越し量を更新するための借越し量更新手段とを備え、借越し量更新手段は、複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、読出し処理を行ったキューおよび他のキューに対応付けられた借越し量を更新することを特徴とする。【０００６】
本発明にかかるパケット中継装置の読出し権配分手段は、複数のキューの各々に対してあらかじめ定められた重みに従って、読出し権を複数のキューのうちの一つのキューに対応付けることが望ましい。【０００７】
本発明にかかるパケット中継装置の読出し権配分手段は、複数のキューのうち２つ以上のキューが空でない時間帯内の期間ごとに、空でない２つ以上のキューの各々に対して定められた重みに従って、空でない２つ以上のキューのうちの一つのキューに読出し権を対応付けることが望ましい。【０００８】
本発明にかかるパケット中継装置の読出し可否判定手段は、判定処理を行うキューに対応付けられた借越し量が正値でないときに、読出し処理を行うと判定することが望ましい。【０００９】
本発明にかかるパケット中継装置の借越し量更新手段は、読出し処理を行ったキューに対応付けられた借越し量を、その期間において読出し処理を行ったデータ量だけ加算して更新し、他のキューに対応付けられた借越し量を、その期間において読出し処理を行ったデータ量だけ減算して更新することが望ましい。【００１０】
本発明にかかるパケット中継装置の複数のキューは第１のキューおよび第２のキューであり、借越し量記憶部には、第１のキューに対応付けられた借越し量のみが記憶され、読出し可否判定手段は、第２のキューの判定処理を行うときに、第１のキューに対応付けられた借越し量が負値でないときに、読出し処理を行うと判定し、借越し量更新手段は、読出し権が第２のキューに対応付けられている期間において第１のキューからパケットの読出し処理を行ったとき、借越し量をその期間において読出し処理を行ったデータ量だけ加算して更新し、読出し権が第１のキューに対応付けられている期間において第２のキューからパケットの読出し処理を行ったとき、借越し量をその期間において読出し処理を行ったデータ量だけ減算して更新するようにしてもよい。【００１１】
本発明にかかるパケット中継装置の複数のキューは第１のキューおよび第２のキューであり、借越し量更新手段は、読出し権が第２のキューに対応付けられている期間において第１のキューからパケットの読出し処理を行ったとき、第２のキューに対応付けられた借越し量が正値である場合に第２のキューに対応付けられた借越し量をその期間において読出し処理を行ったデータ量だけ減算して更新し、第２のキューに対応付けられた借越し量が正値でない場合に第１のキューに対応付けられた借越し量をその期間において読出し処理を行ったデータ量だけ加算して更新するようにしてもよい。
【発明の効果】
【００１２】
本発明によれば、パケット中継装置内のキュースケジュールにおいて、重みを読出し処理の時間配分に反映させるため、キューの重みが大きい場合でも、キューのサイズを大きくする必要のないキュースケジュール方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態にかかるパケット中継装置のシステム構成例を示す図
【図２】本発明の実施形態にかかるパケット中継装置のフローチャート
【図３】読出し権を説明する図
【図４】本発明の実施形態にかかるパケット中継装置におけるセグメント読出し部の構成例を示す図
【図５】本発明の実施形態におけるセグメント読出し処理のフローチャート
【図６】本発明の実施形態における新規読出し処理のフローチャート
【図７】本発明の実施形態における継続読出し処理のフローチャート
【図８】キューを説明する図
【図９】本実施形態におけるキュースケジュールの例を示す図
【符号の説明】
【００１４】
１：  パケット中継装置
２：  回線カード
４：  スイッチカード
６：  通信ポート
８：  キュー
１０：  ＭＣアドレスリスト記憶部
１２：  出力ポートテーブル記憶部
１４：  パケット分割手段
１６：  キュー
１８：  パケット復元手段
２０：  ポート制御手段
２２：  ＵＣキュー
２４：  ＭＣキュー
２６：  振分け手段
２８：  セグメント読出し部
３０：  ＭＣポートテーブル記憶部
３２：  ＭＣポート検索手段
３４：  ＭＣコピー手段
３６：  セグメント送出手段
３８：  スイッチ制御手段
４２：  セグメント読出し手段
４４：  キュー切替制御手段
４６：  重み記憶部
４８：  読出し権配分手段
５０：  借越し量記憶部
５２：  借越し量更新手段
５４：  読出し可否判定手段
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づいて本発明の実施形態を説明する。
図１は、本発明の実施形態にかかるパケット中継装置のシステム構成例を示す図である。図１の例に示されたパケット中継装置１には、複数の回線カード２とスイッチカード４とが搭載されている。パケットはいずれかの回線カード２から入力され、スイッチカード４に転送され、スイッチカード４からいずれかの回線カード２に転送され、転送された回線カード２から出力される。【００１６】
回線カード２は、パケットを入出力するための通信ポート６と、入力パケットを一時蓄積するためのキュー８と、マルチキャストパケットの宛先アドレスを記憶するためのＭＣアドレスリスト記憶部１０と、ユニキャストパケットの出力ポートＩＤ（出力ポートを特定するための情報）を記憶するための出力ポートテーブル記憶部１２と、パケットをセグメントに分割するためのパケット分割手段１４と、スイッチカード４から転送されたセグメントを一時的に蓄積するためのキュー１６と、セグメントをつなぎ合わせてパケットを復元するためのパケット復元手段１８と、回線カード２全体を制御するためのポート制御手段２０とを含む。なお、本実施形態の説明においては、各通信ポート６が別々の回線カード２に搭載されていると説明されるが、各通信ポート６は必ずしも別々の回線カード２に搭載されている必要はない。また、本実施形態の説明においては、ＭＣアドレスリスト記憶部１０および出力ポートテーブル記憶部１２が通信ポート６ごとに用意されていると説明されるが、複数の通信ポート６ごとに用意されていてもよいし、パケット中継装置１全体にそれぞれ一つだけ用意されていてもよい。【００１７】
通信ポート６は、入力パケットを入力してキュー８に転送する。また、通信ポート６は、パケット復元手段１８から転送された出力パケットを出力する。【００１８】
キュー８は、通信ポート６から転送された入力パケットを蓄積し、先入れ先出し方式でパケット分割手段１４に転送する。【００１９】
ＭＣアドレスリスト記憶部１０には、マルチキャストパケットの宛先アドレスのリストが登録される。【００２０】
出力ポートテーブル記憶部１２には、ユニキャストパケットの宛先アドレスに対応する出力ポートＩＤが登録される。なお、出力ポートテーブルの内容は送信元アドレス学習処理の結果として登録されるが、送信元アドレス学習処理については本発明の趣旨とは無関係であり、当業者にとって周知の技術であるため、説明を割愛する。【００２１】
パケット分割手段１４は、キュー８から転送された入力パケットを所定のデータサイズごとに切り出し、セグメントヘッダを付加してセグメントを構成し、スイッチカード４に転送する。この処理にあたって、パケット分割手段１４は、ＭＣアドレスリスト記憶部１０および／あるいは出力ポートテーブル記憶部１２を参照する。【００２２】
キュー１６は、スイッチカード４から転送されたセグメントを一時的に蓄積し、パケット復元手段１８に転送する。【００２３】
パケット復元手段１８は、キュー１６から転送されたセグメントのセグメントヘッダを取り除いた上で、セグメントをつなぎあわせてパケットを復元する。【００２４】
ポート制御手段２０は、回線カード２全体を制御する。回線カード２で実行される処理機能のうち、上記各処理手段で処理されない処理機能はすべてポート制御手段２０が処理するものとする。【００２５】
スイッチカード４は、回線カード２から転送されたユニキャストパケットのセグメントを一時的に蓄積するためのＵＣキュー２２と、回線カード２から転送されたマルチキャストパケットのセグメントを一時的に蓄積するためのＭＣキュー２４と、セグメントをＵＣキュー２２あるいはＭＣキュー２４に振り分ける振分け手段２６と、ＵＣキュー２２あるいはＭＣキュー２４からセグメントを読み出すためのセグメント読出し部２８と、マルチキャストパケットの出力ポートを記憶するためのＭＣポートテーブル記憶部３０と、マルチキャストパケットの出力ポートを検索するためのＭＣポート検索手段３２と、マルチキャストパケットのセグメントヘッダを出力ポートごとに書き換えるためのＭＣコピー手段３４と、セグメントを回線カード２に転送するためのセグメント送出手段３６と、スイッチカード４全体を制御するためのスイッチ制御手段３８とを含む。【００２６】
振分け手段２６は、回線カード２から転送されたセグメントをＵＣキュー２２あるいはＭＣキュー２４に振り分ける。【００２７】
ＵＣキュー２２は、振分け手段２６から転送されたユニキャストパケットのセグメントを一時的に蓄積し、先入れ先出し方式でセグメント読出し部２８に転送する。【００２８】
ＭＣキュー２４は、振分け手段２６から転送されたマルチキャストパケットのセグメントを一時的に蓄積し、先入れ先出し方式でセグメント読出し部２８に転送する。【００２９】
セグメント読出し部２８は、ＵＣキュー２２からセグメントを読み出してセグメント送出手段３６に転送し、また、ＭＣキュー２４からセグメントを読み出してＭＣコピー手段３４に転送する。【００３０】
ＭＣポートテーブル記憶部３０には、マルチキャストパケットの宛先アドレスに対応する出力ポートが登録される。【００３１】
ＭＣポート検索手段３２は、セグメントに含まれる宛先アドレスに基づいてＭＣポートテーブル記憶部３０から出力ポートＩＤを検索し、ＭＣコピー手段３４に出力する。【００３２】
ＭＣコピー手段３４は、セグメントがマルチキャストパケットのセグメントの場合にＭＣポート検索手段３２で検索した出力ポート用にセグメントをコピーし、出力ポートＩＤをセグメントヘッダ中に記入した上で、セグメントをセグメント送出手段３６に転送する。【００３３】
セグメント送出手段３６は、セグメントヘッダ中の出力ポートＩＤに基づいて、対応する回線カード２にセグメントを転送する。【００３４】
スイッチ制御手段３８は、スイッチカード４全体を制御する。スイッチカード４で実行される処理機能のうち、上記各手段で処理されない処理機能はすべてスイッチ制御手段３８が処理するものとする。【００３５】
パケット中継装置１の処理について説明する。
図２は、本発明の実施形態にかかるパケット中継装置１のフローチャートである。本実施形態にかかるパケット中継装置１の処理の流れを図２のステップＳ１０２からステップＳ１１４の順を追って説明する。【００３６】
（ステップＳ１０２）通信ポート６がパケットを入力し、入力パケットをキュー８に蓄積する。【００３７】
（ステップＳ１０４）パケット分割手段１４が、キュー８に蓄積された入力パケットを所定のデータサイズごとに切り出し、セグメントヘッダを付加してセグメントを構成する。入力パケットに含まれる宛先アドレスがＭＣアドレスリスト記憶部１０に登録されているアドレスであれば、パケット分割手段１４は、セグメントヘッダ中のＭＣフラグ（このセグメントがマルチキャストパケットのセグメントであることを示すためのフラグ）をセットする。入力パケットに含まれる宛先アドレスがＭＣアドレスリスト記憶部１０に登録されているアドレスでなければ、パケット分割手段１４は、入力パケットに含まれる宛先アドレスに基づいて出力ポートテーブル記憶部１２から出力ポートＩＤを検索し、セグメントヘッダ中に出力ポートＩＤを記入する。出力ポートテーブル記憶部１２から出力ポートＩＤを検索することに失敗した場合は、パケット分割手段１４は、セグメントヘッダ中のＢＣフラグ（このセグメントがブロードキャストパケットのセグメントであることを示すためのフラグ）をセットする。パケット分割手段１４は、セグメントをスイッチカード４に転送する。【００３８】
（ステップＳ１０６）セグメントヘッダ中のＭＣフラグあるいはＢＣフラグがセットされている場合、すなわち、セグメントがマルチキャストパケットあるいはブロードキャストパケットのセグメントの場合、振分け手段２６は、セグメントをＭＣキュー２４に蓄積する。セグメントヘッダ中のＭＣフラグおよびＢＣフラグのいずれもがセットされていない場合、すなわち、セグメントがユニキャストパケットのセグメントの場合、振分け手段２６は、セグメントをＵＣキュー２２に蓄積する。【００３９】
（ステップＳ１０８）セグメント読出し部２８が、ＵＣキュー２２あるいはＭＣキュー２４からセグメントを読み出す。セグメント読出し処理の詳細については後述する。【００４０】
（ステップＳ１１０）セグメント送出手段３６が、セグメントヘッダ中の出力ポートＩＤに基づいて、対応する回線カード２にセグメントを転送する。【００４１】
（ステップＳ１１２）パケット復元手段１８が、セグメントからセグメントヘッダを取り除き、セグメントヘッダの取り除かれたセグメントをつなぎあわせてパケットを復元する。【００４２】
（ステップＳ１１４）パケットが通信ポート６から出力される。
本発明においては、パケット中継装置１は読出し権に基づいてキューからの読出し処理を制御する。【００４３】
図３は、読出し権を説明する図である。図３には、ＵＣキュー２２が空であるか否かのフラグの値の時間変化を示すグラフであるＵＣＦグラフ１０４と、ＭＣキュー２４が空であるか否かのフラグの値の時間変化を示すグラフであるＭＣＦグラフ１０６と、ＵＣキュー２２およびＭＣキュー２４のいずれに読出し権があるかを示す読出し権表示１０２とが示されている。横軸が時間軸である。【００４４】
ＵＣＦグラフ１０４は、ＵＣキュー２２が空であるときに値“０”をとり、ＵＣキュー２２が空でないときに値“１”をとる。ＭＣＦグラフ１０６は、ＭＣキュー２４が空であるときに値“０”をとり、ＭＣキュー２４が空でないときに値“１”をとる。読出し権表示１０２においては、ＵＣキュー２２に読出し権がある時間帯に“Ｕ”を付したボックス１２２が表示され、ＭＣキュー２４に読出し権がある時間帯に“Ｍ”を付したボックス１２４が表示される。いずれのボックスも表示されていない時間帯には、いずれのキューにも読出し権がない。ボックスの時間長はあらかじめ定められたセグメント読出し期間であり、一つのボックスの時間帯に一つのセグメントが読み出される。【００４５】
時間帯１１２においては、ＵＣキュー２２のみが空でないため、ＵＣキュー２２に読出し権が与えられる。時間帯１１４および時間帯１１８においては、ＭＣキュー２４のみが空でないため、ＭＣキュー２４に読出し権が与えられる。時間帯１１６においては、ＵＣキュー２２およびＭＣキュー２４がともに空でないため、あらかじめ設定された重みに従って読出し権が時間配分される。図３に示された例においては、ＵＣ：ＭＣ＝１：２の重みが設定されていると仮定されている。したがって、時間帯１１６においては、“Ｕ”のボックス１個に対して“Ｍ”のボックス２個の割合で読出し権が配分されている。本実施形態においては、セグメント読出し部２８が読出し権の管理をおこなう。【００４６】
図４は、本発明の実施形態にかかるパケット中継装置におけるセグメント読出し部の構成例を示す図である。セグメント読出し部２８は、ＵＣキュー２２およびＭＣキュー２４のいずれかからセグメントを読み出すためのセグメント読出し手段４２と、ＵＣキュー２２およびＭＣキュー２４のいずれからセグメントを読み出すかの切替えを制御するためのキュー切替制御手段４４と、ＵＣキュー２２およびＭＣキュー２４の重みを記憶するための重み記憶部４６と、あらかじめ定められた時間枠ごとの読出し権をＵＣキュー２２あるいはＭＣキュー２４に対応付けるための読出し権配分手段４８と、ＵＣキュー２２およびＭＣキュー２４のそれぞれに、読出し権が対応付けられていない時間枠において読出し処理を行ったセグメントの量を示す借越し量を対応付けて記憶するための借越し量記憶部５０と、借越し量を更新するための借越し量更新手段５２と、ＵＣキュー２２あるいはＭＣキュー２４からセグメントの読出しを行うか否かの判定処理を行うための読出し可否判定手段５４とを含む。【００４７】
セグメント読出し手段４２は、キュー切替制御手段４４の指示に従って、ＵＣキュー２２あるいはＭＣキュー２４からセグメントを読み出し、セグメント送出手段３６あるいはＭＣコピー手段３４に転送する。【００４８】
キュー切替制御手段４４は、読出し可否判定手段５４から通知された判定結果に基づいて、ＵＣキュー２２およびＭＣキュー２４のいずれからセグメントを読み出すかを切り替え、読出し処理を行ったキューの情報および読み出したセグメント数を借越し量更新手段５２に通知する。【００４９】
重み記憶部４６は、ＵＣキュー２２およびＭＣキュー２４に対してあらかじめ設定された重みを記憶する。【００５０】
読出し権配分手段４８は、ＵＣキュー２２およびＭＣキュー２４の重みに基づいて、あらかじめ定められた時間枠ごとの読出し権をＵＣキュー２２あるいはＭＣキュー２４に対応付ける。【００５１】
借越し量記憶部５０には、ＵＣキュー２２に対応付けられた借越し量であるＵＣ借越し量と、ＭＣキュー２４に対応付けられた借越し量であるMＣ借越し量とが記憶される。【００５２】
借越し量更新手段５２は、キュー切替制御手段４４から通知された読出し処理を行ったキューの情報および読み出したセグメント数と、読出し権配分手段４８によって対応付けられた読出し権の情報とに基づいて、借越し量記憶部５０に記憶された借越し量の値を更新する。【００５３】
読出し可否判定手段５４は、借越し量記憶部５０に記憶された借越し量の値に基づいて、ＵＣキュー２２あるいはＭＣキュー２４からセグメントの読出しを行うか否かの判定処理を行い、判定結果をキュー切替制御手段４４に通知する。【００５４】
図５は、本発明の実施形態におけるセグメント読出し処理のフローチャートである。本実施形態におけるセグメント読出し処理の流れを図５のステップＳ２０２からステップＳ２２２の順を追って説明する。なお、セグメント読出し処理は、あらかじめ定められたセグメント読出し期間ごとに実行されるものとする。【００５５】
（ステップＳ２０２）キュー切替制御手段４４は、ＵＣキュー２２が空であるか否かをチェックする。【００５６】
（ステップＳ２０４）ＵＣキュー２２が空である場合（ステップＳ２０２：Ｙｅｓ）、借越し量更新手段５２は、ＵＣ借越し量の値から１を減ずる。なお、本実施形態においては、ＵＣ借越し量の値が正値でなければＵＣ借越し量の値を更新しないものとする。また、本実施形態においては、読出し処理を行ったパケットのデータ量を、セグメントを単位としてカウントすることとする。【００５７】
（ステップＳ２０６）キュー切替制御手段４４は、ＭＣキュー２４が空であるか否かをチェックする。【００５８】
（ステップＳ２０８）ＭＣキュー２４が空である場合（ステップＳ２０６：Ｙｅｓ）、借越し量更新手段５２は、MＣ借越し量の値から１を減ずる。なお、本実施形態においては、MＣ借越し量の値が正値でなければ、MＣ借越し量の値を更新しないものとする。【００５９】
（ステップＳ２１０）ＭＣキュー２４が空でない場合（ステップＳ２０６：Ｎｏ）、セグメント読出し手段４２は、ＭＣキュー２４からセグメントを読み出す。【００６０】
（ステップＳ２１２）ＵＣキュー２２が空でない場合（ステップＳ２０２：Ｎｏ）、キュー切替制御手段４４は、ＭＣキュー２４が空であるか否かをチェックする。【００６１】
（ステップＳ２１４）ＭＣキュー２４が空である場合（ステップＳ２１２：Ｙｅｓ）、借越し量更新手段５２は、MＣ借越し量の値から１を減ずる。なお、本実施形態においては、MＣ借越し量の値が正値でなければ、MＣ借越し量の値を更新しないものとする。【００６２】
（ステップＳ２１６）セグメント読出し手段４２が、ＵＣキュー２２からセグメントを読み出す。【００６３】
（ステップＳ２１８）ＭＣキュー２４が空でない場合（ステップＳ２１２：Ｎｏ）、キュー切替制御手段４４は、次のセグメントが新規パケットのセグメントであるか否かをチェックする。なお、本実施形態においては、セグメントヘッダ中に、セグメントの種類を示す情報を記入してあるものとする。セグメントの種類は、たとえば、パケットの先頭、パケットの末尾、パケットの中間部分、単一セグメントからなるパケット、などを表す。キュー切替制御手段４４は、前回読み出したセグメントの種類を記録しておき、前回読み出したセグメントがパケットの末尾あるいは単一セグメントからなるパケットである場合には、次のセグメントが新規パケットのセグメントであると判断する。【００６４】
（ステップＳ２２０）次のセグメントが新規パケットのセグメントである場合（ステップＳ２１８：Ｙｅｓ）、セグメント読出し部２８は、新規読出し処理を行う。新規読出し処理の詳細については後述する。【００６５】
（ステップＳ２２２）次のセグメントが新規パケットのセグメントでない場合（ステップＳ２１８：Ｎｏ）、セグメント読出し部２８は、継続読出し処理を行う。継続読出し処理の詳細については後述する。【００６６】
図６は、本発明の実施形態における新規読出し処理のフローチャートである。本実施形態における新規読出し処理の流れを図６のステップＳ３０２からステップＳ３１８の順を追って説明する。【００６７】
（ステップＳ３０２）読出し権配分手段４８は、ＵＣキュー２２およびＭＣキュー２４のいずれに読出し権があるかを決定する。【００６８】
（ステップＳ３０４）ＵＣキュー２２に読出し権がある場合（ステップＳ３０２：ＵＣ）、読出し可否判定手段５４は、ＵＣ借越し量の値が正値であるか否かをチェックする。【００６９】
（ステップＳ３０６）ＵＣ借越し量の値が正値でない場合（ステップＳ３０４：Ｎｏ）、セグメント読出し手段４２は、ＵＣキュー２２からセグメントを読み出す。【００７０】
（ステップＳ３０８）ＵＣ借越し量の値が正値である場合（ステップＳ３０４：Ｙｅｓ）、セグメント読出し手段４２は、ＭＣキュー２４からセグメントを読み出す。【００７１】
（ステップＳ３１０）借越し量更新手段５２が、ＵＣ借越し量の値から１を減ずる。
（ステップＳ３１２）ＭＣキュー２４に読出し権がある場合（ステップＳ３０２：ＭＣ）、読出し可否判定手段５４は、MＣ借越し量の値が正値であるか否かをチェックする。【００７２】
（ステップＳ３１４）MＣ借越し量の値が正値でない場合（ステップＳ３１２：Ｎｏ）、セグメント読出し手段４２は、ＭＣキュー２４からセグメントを読み出す。【００７３】
（ステップＳ３１６）MＣ借越し量の値が正値である場合（ステップＳ３１２：Ｙｅｓ）、セグメント読出し手段４２は、ＵＣキュー２２からセグメントを読み出す。【００７４】
（ステップＳ３１８）借越し量更新手段５２が、MＣ借越し量の値から１を減ずる。
上述のように、読出し権のあるキューの借越し量の値が正値である場合には、他のキューからの読出し処理を行う。【００７５】
図７は、本発明の実施形態における継続読出し処理のフローチャートである。本実施形態における継続読出し処理の流れを図７のステップＳ４０２からステップＳ４２２の順を追って説明する。【００７６】
（ステップＳ４０２）キュー切替制御手段４４は、前回の読出し処理をＵＣキュー２２およびＭＣキュー２４のいずれから行ったかをチェックする。本実施形態においては、キュー切替制御手段４４は、前回読み出したキューを示すキューフラグをセット／リセットすることにより、ＵＣキュー２２およびＭＣキュー２４のいずれであるかを記録しておくものとする。【００７７】
（ステップＳ４０４）前回の読出し処理をＵＣキュー２２から行った場合（ステップＳ４０２：ＵＣ）、セグメント読出し手段４２は、ＵＣキュー２２からセグメントを読み出す。【００７８】
（ステップＳ４０６）キュー切替制御手段４４は、ＵＣキュー２２およびＭＣキュー２４のいずれに読出し権があるかをチェックする。【００７９】
（ステップＳ４０８）ＭＣキュー２４に読出し権がある場合（ステップＳ４０６：ＭＣ）、キュー切替制御手段４４は、MＣ借越し量の値が正値であるか否かをチェックする。【００８０】
（ステップＳ４１０）MＣ借越し量の値が正値でない場合（ステップＳ４０８：Ｎｏ）、借越し量更新手段５２は、ＵＣ借越し量の値に１を加える。【００８１】
（ステップＳ４１２）MＣ借越し量の値が正値である場合（ステップＳ４０８：Ｙｅｓ）、借越し量更新手段５２は、MＣ借越し量の値から１を減ずる。【００８２】
（ステップＳ４１４）前回の読出し処理をＭＣキュー２４から行った場合（ステップＳ４０２：ＭＣ）、セグメント読出し手段４２は、ＭＣキュー２４からセグメントを読み出す。【００８３】
（ステップＳ４１６）キュー切替制御手段４４は、ＵＣキュー２２およびＭＣキュー２４のいずれに読出し権があるかをチェックする。【００８４】
（ステップＳ４１８）ＵＣキュー２２に読出し権がある場合（ステップＳ４１６：ＵＣ）、キュー切替制御手段４４は、ＵＣ借越し量の値が正値であるか否かをチェックする。【００８５】
（ステップＳ４２０）ＵＣ借越し量の値が正値でない場合（ステップＳ４１８：Ｎｏ）、借越し量更新手段５２は、MＣ借越し量の値に１を加える。【００８６】
（ステップＳ４２２）ＵＣ借越し量の値が正値である場合（ステップＳ４１８：Ｙｅｓ）、借越し量更新手段５２は、ＵＣ借越し量の値から１を減ずる。【００８７】
以上のような構成をとることによって、本実施形態にかかるパケット中継装置は、キュースケジュールにおいて、キューごとの重みを読出し処理の時間配分に反映させる。【００８８】
以下、具体例で説明する。
図８は、キューを説明する図である。図８には、ＵＣキュー２２とＭＣキュー２４が示されている。ＵＣキュー２２には、ユニキャストパケット２０１からユニキャストパケット２０７が蓄積されている。ユニキャストパケットを表すボックスの中には、パケットを構成するセグメントの数が記されている。ＭＣキュー２４には、マルチキャストパケット２１１からマルチキャストパケット２１４が蓄積されている。マルチキャストパケットを表すボックスの中にはパケットを構成するセグメントの数×出力ポートの数が記されている。【００８９】
図９は、本実施形態におけるキュースケジュールの例を示す図である。図９には、読出し権表示１０２と、ＵＣ借越し量の値の時間変化を示すグラフであるＵＣＣグラフ１３２と、ＵＣキュー２２から読み出されるユニキャストパケット列１３４と、MＣ借越し量の値の時間変化を示すグラフであるＭＣＣグラフ１３６と、ＭＣキュー２４から読み出されるマルチキャストパケット列１３８と、時間軸１４０とが示されている。説明のため、時間軸１４０には、セグメント読出し期間に期間番号を振ってある。図９に示された例においては、ＵＣ：ＭＣ＝２：３の重みが設定されていると仮定されている。読出し権表示１０２によれば、期間０−１においてはＵＣキュー２２に読出し権があり、期間２−４においてはＭＣキュー２４に読出し権があることがわかる。【００９０】
期間０は新規読出しの期間であり、このとき、ＵＣ借越し量の値もMＣ借越し量の値も０であるとする。【００９１】
期間０においては、ＵＣキュー２２に読出し権があり、ＵＣ借越し量の値が正値でないため、セグメント読出し部２８はＵＣキュー２２からパケットを読み出す。ＵＣキュー２２の先頭にあるユニキャストパケット２０１は４セグメントから構成されるパケットであるため、４期間（期間０−３）にわたってＵＣキュー２２からセグメントが読み出される。最初の２期間（期間０−１）においてはＵＣキュー２２に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。続く２期間（期間２−３）においてはＭＣキュー２４に読出し権があるため、ＵＣ借越し量の値が１期間に１ずつ加算される。ユニキャストパケット２０１の読出しが終了したため、ユニキャストパケット２０２がＵＣキュー２２の先頭となる。【００９２】
期間４においては、ＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値でないため、セグメント読出し部２８はＭＣキュー２４からパケットを読み出す。この読出し処理は、ＭＣキュー２４の先頭にあるマルチキャストパケット２１１の３コピーのうちの第１コピーである。マルチキャストパケット２１１は２セグメントから構成されるパケットであるため、２期間（期間４−５）にわたってＭＣキュー２４からセグメントが読み出される。最初の１期間（期間４）においてはＭＣキュー２４に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。続く１期間（期間５）においては、ＵＣキュー２２に読出し権があり、ＵＣ借越し量の値が正値であるため、ＵＣ借越し量の値が１だけ減算される。【００９３】
期間６においては、ＵＣキュー２２に読出し権があるが、ＵＣ借越し量の値が正値であるため、セグメント読出し部２８はＭＣキュー２４からパケットを読み出す。この読出し処理はＭＣキュー２４の先頭にあるマルチキャストパケット２１１の３コピーのうちの第２コピーである。マルチキャストパケット２１１は２セグメントから構成されるパケットであるため、２期間（期間６−７）にわたってＭＣキュー２４からセグメントが読み出される。最初の１期間（期間６）においては、ＵＣ借越し量の値が１だけ減算される。続く１期間（期間７）においては、ＭＣキュー２４に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。【００９４】
期間８においては、ＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値でないため、セグメント読出し部２８はＭＣキュー２４からパケットを読み出す。この読出し処理はＭＣキュー２４の先頭にあるマルチキャストパケット２１１の３コピーのうちの第３コピーである。マルチキャストパケット２１１は２セグメントから構成されるパケットであるため、２期間（期間８−９）にわたってＭＣキュー２４からセグメントが読み出される。この２期間（期間８−９）においては、ＭＣキュー２４に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。マルチキャストパケット２１１の読出しが終了したため、マルチキャストパケット２１２がＭＣキュー２４の先頭となる。【００９５】
期間１０においては、ＵＣキュー２２に読出し権があり、ＵＣ借越し量の値が正値でないため、セグメント読出し部２８はＵＣキュー２２からパケットを読み出す。ＵＣキュー２２の先頭にあるユニキャストパケット２０２は３セグメントから構成されるパケットであるため、３期間（期間１０−１２）にわたってＵＣキュー２２からセグメントが読み出される。最初の２期間（期間１０−１１）においてはＵＣキュー２２に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。続く１期間（期間１２）においてはＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値でないため、ＵＣ借越し量の値が１だけ加算される。ユニキャストパケット２０２の読出しが終了したため、ユニキャストパケット２０３がＵＣキュー２２の先頭となる。【００９６】
期間１３においては、ＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値でないため、セグメント読出し部２８はＭＣキュー２４からパケットを読み出す。この読出し処理はＭＣキュー２４の先頭にあるマルチキャストパケット２１２の３コピーのうちの第１コピーである。マルチキャストパケット２１２は４セグメントから構成されるパケットであるため、４期間（期間１３−１６）にわたってＭＣキュー２４からセグメントが読み出される。最初の２期間（期間１３−１４）においては、ＭＣキュー２４に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。続く１期間（期間１５）においては、ＵＣキュー２２に読出し権があり、ＵＣ借越し量の値が正値であるため、ＵＣ借越し量の値が１だけ減算される。続く１期間（期間１６）においては、ＵＣキュー２２に読出し権があり、ＵＣ借越し量の値が正値でないため、MＣ借越し量の値が１だけ加算される。【００９７】
期間１７においては、ＭＣキュー２４に読出し権があるが、MＣ借越し量の値が正値であるため、セグメント読出し部２８はＵＣキュー２２からパケットを読み出す。ＵＣキュー２２の先頭にあるユニキャストパケット２０３は１セグメントだけで構成されるパケットであるため、１期間（期間１７）だけＵＣキュー２２からセグメントが読み出される。この期間（期間１７）においては、MＣ借越し量の値が１だけ減算される。ユニキャストパケット２０３の読出しが終了したため、ユニキャストパケット２０４がＵＣキュー２２の先頭となる。【００９８】
期間１８においては、ＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値でないため、セグメント読出し部２８はＭＣキュー２４からパケットを読み出す。この読出し処理はＭＣキュー２４の先頭にあるマルチキャストパケット２１２の３コピーのうちの第２コピーである。マルチキャストパケット２１２は４セグメントから構成されるパケットであるため、４期間（期間１８−２１）にわたってＭＣキュー２４からセグメントが読み出される。最初の２期間（期間１８−１９）においては、ＭＣキュー２４に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。続く２期間（期間２０−２１）においては、ＵＣキュー２２に読出し権があり、ＵＣ借越し量の値が正値でないため、MＣ借越し量の値が１期間に１ずつ加算される。【００９９】
期間２２においては、ＭＣキュー２４に読出し権があるが、MＣ借越し量の値が正値であるため、セグメント読出し部２８はＵＣキュー２２からパケットを読み出す。ＵＣキュー２２の先頭にあるユニキャストパケット２０４は４セグメントで構成されるパケットであるため、４期間（期間２２−２５）にわたってＵＣキュー２２からセグメントが読み出される。最初の２期間（期間２２−２３）においては、ＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値であるため、MＣ借越し量の値が１期間に１ずつ減算される。続く１期間（期間２４）においては、ＭＣキュー２４に読出し権があり、MＣ借越し量の値が正値でないため、ＵＣ借越し量の値が１だけ加算される。続く１期間（期間２５）においては、ＵＣキュー２２に読出し権があるため、ＵＣ借越し量の値もMＣ借越し量の値も変化しない。ユニキャストパケット２０４の読出しが終了したため、ユニキャストパケット２０５がＵＣキュー２２の先頭となる。【０１００】
本実施形態の説明においては、キューをＵＣキューとＭＣキューの２つだけとして説明したが、これに限定するものではなく、３つ以上のキューが存在してもよい。その場合には、読出し処理を実行しているキューとそのときに読出し権のあるキューとにおいて借越し量の値の増減を行えばよい。【０１０１】
本実施形態の説明においては、各キューに借越し量を対応させるとして説明したが、キューが２つの場合には、借越し量を一つとし、正負の符号をもって、いずれのキューの借越し量であるかを示すこともできる。【０１０２】
上述のように、本発明によれば、パケット中継装置内のキュースケジュールにおいて、キューごとの重みを読出し処理の時間配分に反映させることにより、キューの重みが大きい場合でも、キューのサイズを大きくする必要のないキュースケジュール方法を提供することができるようになる。
なお、上述した実施形態にかかるパケット中継装置１の機能は、ハードウェアとして実現可能であるだけでなく、パケット中継装置１に内蔵するコンピュータのソフトウェアとしても実現可能である。例えば、図４に示したセグメント読出し手段４２、キュー切替制御手段４４、読出し権配分手段４８、借越し量更新手段５２、読出し可否判定手段５４の機能をコンピュータに実行させるプログラムを作成し、当該プログラムをコンピュータのメモリに読み込ませて実行させれば、セグメント読出し部２８の機能を実現することができる。【０１０３】
本発明の実施形態にかかるパケット中継装置１を実現するプログラムは、パケット中継装置１に内蔵するＲＯＭやＲＡＭ、あるいはハードディスク等の記録媒体のいずれに記憶されるものであってもよく、プログラム実行時には、プログラムはローディングされ、主メモリ上で実行される。
【図１】
2008117428.tif 000003
【図２】
2008117428.tif 000004
【図３】
2008117428.tif 000005
【図４】
2008117428.tif 000006
【図５】
2008117428.tif 000007
【図６】
2008117428.tif 000008
【図７】
2008117428.tif 000009
【図８】
2008117428.tif 000010
【図９】
2008117428.tif 000011
【手続補正書】
【提出日】平成21年9月17日(2009.9.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットを中継するパケット中継装置において、
前記パケットを蓄積するための複数のキューと、
あらかじめ定められた期間ごとの前記パケットの読出し処理を行う権利である読出し権を前記複数のキューのうちの一つのキューに対応付けるための読出し権配分手段と、
前記複数のキューのうちの一つのキューから該キューに前記読出し権が対応付けられていない期間において読出し処理を行ったパケットのデータ量を示す借越し量を該キューに対応付けて記憶するための借越し量記憶部と、
前記複数のキューのうちの一つのキューに対応付けられた借越し量に基づいて該キューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定手段と、
前記借越し量記憶部に記憶された借越し量を更新するための借越し量更新手段と、
を備え、
前記借越し量更新手段は、前記複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、該読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、該読出し処理を行ったキューおよび該他のキューに対応付けられた借越し量を更新する
ことを特徴とするパケット中継装置。
【請求項２】
請求項１に記載されたパケット中継装置であって、
前記読出し権配分手段は、前記複数のキューの各々に対してあらかじめ定められた重みに従って、前記読出し権を前記複数のキューのうちの一つのキューに対応付けることを特徴とするパケット中継装置。
【請求項３】
請求項１に記載されたパケット中継装置であって、
前記読出し権配分手段は、前記複数のキューのうち２つ以上のキューが空でない時間帯内の期間ごとに、該空でない２つ以上のキューの各々に対して定められた重みに従って、該空でない２つ以上のキューのうちの一つのキューに前記読出し権を対応付けることを特徴とするパケット中継装置。
【請求項４】
請求項１に記載されたパケット中継装置であって、
前記読出し可否判定手段は、前記判定処理を行うキューに対応付けられた借越し量が正値でないときに、読出し処理を行うと判定することを特徴とするパケット中継装置。
【請求項５】
請求項１に記載されたパケット中継装置であって、
前記借越し量更新手段は、前記読出し処理を行ったキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記他のキューに対応付けられた借越し量を、前記期間において読出し処理を行ったデータ量だけ減算して更新することを特徴とするパケット中継装置。
【請求項６】
請求項1に記載されたパケット中継装置であって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量記憶部には、前記第１のキューに対応付けられた借越し量のみが記憶され、
前記読出し可否判定手段は、前記第２のキューの判定処理を行うときに、前記第１のキューに対応付けられた借越し量が負値でないときに、読出し処理を行うと判定し、
前記借越し量更新手段は、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ加算して更新し、前記読出し権が前記第１のキューに対応付けられている期間において前記第２のキューからパケットの読出し処理を行ったとき、前記借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新する
ことを特徴とするパケット中継装置。
【請求項７】
請求項１に記載されたパケット中継装置であって、
前記複数のキューは第１のキューおよび第２のキューであり、
前記借越し量更新手段は、前記読出し権が前記第２のキューに対応付けられている期間において前記第１のキューからパケットの読出し処理を行ったとき、前記第２のキューに対応付けられた借越し量が正値である場合に前記第２のキューに対応付けられた借越し量を前記期間において読出し処理を行ったデータ量だけ減算して更新し、前記第２のキューに対応付けられた借越し量が正値でない場合に前記第１のキューに対応付けられた借越し量を該期間において読出し処理を行ったデータ量だけ加算して更新することを特徴とするパケット中継装置。
【請求項８】
パケットを蓄積するための複数のキューと該複数のキューの各々に対応付けて借越し量を記憶するための借越し量記憶部とを備えたパケット中継装置が実行するキュースケジュール方法において、
あらかじめ定められた期間ごとの前記パケットの読出し処理を行う権利である読出し権を前記複数のキューのうちの一つのキューに対応付けるための読出し権配分ステップと、
前記複数のキューのうちの一つのキューに対応付けられた借越し量に基づいて該キューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定ステップと、
前記借越し量記憶部に記憶された借越し量を更新するための借越し量更新ステップと、
を備え、
前記借越し量更新ステップにおいては、前記複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、該読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、該読出し処理を行ったキューおよび該他のキューに対応付けられた借越し量を更新する
ことを特徴とするキュースケジュール方法。
【請求項９】
パケット中継装置に内蔵され、パケットを蓄積するための複数のキューとしておよび該複数のキューの各々に対応付けて借越し量を記憶するための借越し量記憶部として使用される記憶部を備えたコンピュータにキュースケジュール方法を実行させるためのキュースケジュールプログラムにおいて、
前記キュースケジュール方法は、
あらかじめ定められた期間ごとの前記パケットの読出し処理を行う権利である読出し権を前記複数のキューのうちの一つのキューに対応付けるための読出し権配分ステップと、
前記複数のキューのうちの一つのキューに対応付けられた借越し量に基づいて該キューからパケットの読出し処理を行うか否かの判定処理を行うための読出し可否判定ステップと、
前記借越し量記憶部に記憶された借越し量を更新するための借越し量更新ステップと、
を備え、
前記借越し量更新ステップにおいては、前記複数のキューのうちの一つのキューからパケットの読出し処理を行ったとき、該読出し処理を行った期間における読出し権が他のキューに対応付けられている場合に、該読出し処理を行ったキューおよび該他のキューに対応付けられた借越し量を更新する
ことを特徴とするキュースケジュールプログラム。
【国際調査報告】
2008117428.tif 000012
2008117428.tif 000013
2008117428.tif 000014
2008117428.tif 000015