JP3485037B2 - スケジューリング処理回路及びそのスケジューリング処理方法 - Google Patents

スケジューリング処理回路及びそのスケジューリング処理方法

Info

Publication number
JP3485037B2
JP3485037B2 JP22705399A JP22705399A JP3485037B2 JP 3485037 B2 JP3485037 B2 JP 3485037B2 JP 22705399 A JP22705399 A JP 22705399A JP 22705399 A JP22705399 A JP 22705399A JP 3485037 B2 JP3485037 B2 JP 3485037B2
Authority
JP
Japan
Prior art keywords
output
address
packet
search
port
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
Application number
JP22705399A
Other languages
English (en)
Other versions
JP2001053798A (ja
Inventor
えり子 奥野
晴大 加賀野井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP22705399A priority Critical patent/JP3485037B2/ja
Priority to CA 2315447 priority patent/CA2315447A1/en
Publication of JP2001053798A publication Critical patent/JP2001053798A/ja
Application granted granted Critical
Publication of JP3485037B2 publication Critical patent/JP3485037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はスケジューリング処
理回路及びそのスケジューリング処理方法に関し、特に
複数のネットワーク出力ポートを有する装置におけるパ
ケット出力タイミングのスケジューリング処理に関す
る。
【0002】
【従来の技術】従来、パケット通信装置においては、複
数のネットワーク出力ポートを有する装置があり、この
装置におけるパケット出力タイミングのスケジューリン
グ処理では特定の出力ポートばかりに送信権が与えら
れ、他の出力ポートには送信の機会が与えられないとい
う事態が起こらないように、機能動作を設計する必要が
ある。これに対応する方策としてはラウンドロビン制御
の方法がある。
【0003】しかしながら、上記のラウンドロビン制御
では、ある出力ポートに送信権が巡回してきたとして
も、必ずその出力ポートキューに送信待ちのパケットが
存在するとは限らない。この場合、ラウンドロビン制御
では送信権を、次の順位を待っている出力ポートに与え
るが、この出力ポートにも出力キューに送信待ちのパケ
ットがあるとは限らない。
【0004】このような動作の繰り返しによって出力す
べきパケットを決定するまでには不特定回数の送信パケ
ットを決定するための検索リトライが繰り返されること
になり、装置の高性能化の重大なネックとなっている。
【0005】
【発明が解決しようとする課題】上述した従来のパケッ
ト通信装置では、複数のネットワーク出力ポートを有す
る場合、出力すべきパケットを決定するまでに不特定回
数の送信パケットを決定するための検索リトライが繰り
返されることになる。そこで、パケット通信装置では上
記のラウンドロビンルールに基づいた出力ポート決定に
要する時間を確定的かつ短時間のうちに実現することが
望まれている。
【0006】また、ネットワーク利用において、QoS
(Quality of Service)を指定する
場合、パケット通信装置内では出力先またはフローによ
って帯域割当てを行ったり、優先クラスに基づいた制御
を行い、短時間に効率よく出力するパケット出力の管理
が求められている。そのため、このような処理を解決
し、簡単に条件に合ったパケット出力管理を行うことが
できる回路が求められている。
【0007】そこで、本発明の目的は上記の問題点を解
消し、出力対象キューの決定処理を確定的かつ短時間の
うちに実現することができるスケジューリング処理回路
及びそのスケジューリング処理方法を提供することにあ
る。
【0008】
【課題を解決するための手段】本発明によるスケジュー
リング処理回路は、複数のネットワーク出力ポートを有
するパケット通信装置におけるパケット出力タイミング
のスケジューリング処理を行うスケジューリング処理回
路であって、前記複数のネットワーク出力ポート各々に
対応して設けられかつ前記ネットワーク出力ポートが決
定されたパケットを保持する複数のポート出力キュー
と、前記複数のネットワーク出力ポート各々に対応する
アドレス毎に出力予約を示す出力予約フラグを格納する
格納手段と、前記格納手段を検索して前記ネットワーク
出力ポートを決定する決定手段とを備え、前記決定手段
で決定されたネットワーク出力ポートに対応するポート
出力キューから前記パケットを読出して出力するように
している。
【0009】本発明による他のスケジューリング処理回
路は、複数のネットワーク出力ポートと、前記複数のネ
ットワーク出力ポート各々に対応して設けられかつ前記
ネットワーク出力ポートが決定されたパケットを保持す
る複数のポート出力キューとを有するパケット通信装置
におけるパケット出力タイミングのスケジューリング処
理を行うスケジューリング処理回路であって、各エント
リの前記複数のネットワーク出力ポート各々に対応する
ビット毎に出力予約を示す出力予約フラグを格納する格
納手段と、前記格納手段を検索して前記ネットワーク出
力ポートを決定する決定手段とを備え、前記決定手段で
決定されたネットワーク出力ポートに対応するポート出
力キューから前記パケットを読出して出力するようにし
ている。
【0010】本発明によるスケジューリング処理方法
は、複数のネットワーク出力ポートと、前記複数のネッ
トワーク出力ポート各々に対応して設けられかつ前記ネ
ットワーク出力ポートが決定されたパケットを保持する
複数のポート出力キューとを有するパケット通信装置に
おけるパケット出力タイミングのスケジューリング処理
を行うスケジューリング処理方法であって、前記複数の
ネットワーク出力ポート各々に対応するアドレスのエン
トリに格納されかつ出力予約を示す出力予約フラグを検
索して前記ネットワーク出力ポートを決定するステップ
と、前記複数のポート出力キューのうちの決定されたネ
ットワーク出力ポートに対応するポート出力キューから
前記パケットを読出して出力するステップとを備えてい
る。
【0011】本発明による他のスケジューリング処理方
法は、複数のネットワーク出力ポートと、前記複数のネ
ットワーク出力ポート各々に対応して設けられかつ前記
ネットワーク出力ポートが決定されたパケットを保持す
る複数のポート出力キューとを有するパケット通信装置
におけるパケット出力タイミングのスケジューリング処
理を行うスケジューリング処理方法であって、各エント
リの前記複数のネットワーク出力ポート各々に対応する
ビット毎に格納されかつ出力予約を示す出力予約フラグ
を検索して前記ネットワーク出力ポートを決定するステ
ップと、前記複数のポート出力キューのうちの決定され
たネットワーク出力ポートに対応するポート出力キュー
から前記パケットを読出して出力するステップとを備え
ている。
【0012】すなわち、本発明のスケジューリング処理
回路は、パケット通信装置、特に複数のネットワーク出
力ポートを有する装置におけるパケット出力タイミング
のスケジューリング処理に適している。パケット通信装
置内で出力するネットワーク出力ポートが決定されたパ
ケットはネットワーク出力ポート毎に設けられたポート
出力キューで、そのポートに出力されるのを待機するも
のとし、パケット出力の要求がある複数のポートの中か
ら公平にかつネットワーク出力ポート毎の帯域割当てや
ネットワーク出力ポートに定義されている優先クラスに
基づいて1つのポートの決定を行う制御を実現させるた
めCAM(Contents Addressable
Memory:連想記憶メモリ)を用いている。
【0013】より具体的に、本発明のスケジューリング
処理回路は最も簡単で一般的なラウンドロビン制御を用
いてスケジューリング処理を行っている。この装置にお
いてCAMのアドレスはポート番号に対応しており、エ
ントリには出力予約を意味する出力予約フラグが書込ま
れ、この出力予約フラグと検索キーワードとを比較す
る。
【0014】このCAMは比較の結果、キーワードと一
致するエントリのアドレスの中から検索開始時に外部か
ら与えられたCAMのアドレス以降で最も小さいアドレ
スを出力するものであり、次回検索時には前回出力が決
定したポートに対応するCAMのアドレスの次のアドレ
スを外部から与える。
【0015】CAMは指定したアドレスから最終番地ま
での検索範囲のなかで、検索キーと一致する出力予約フ
ラグが検出されなかった場合、検索範囲をCAMの先頭
番地からに変更する。
【0016】これによって、複数の権利要求の中から順
番に権利を与え、ループ状に順番制御を行う送信権のラ
ウンドロビン制御を実現することが可能となり、全ての
ポートに送信権を公平に与えることが可能になる。
【0017】ここで、CAMを用いることによって、従
来、検索リトライ繰り返しに起因する出力ポート決定に
要する不確定長の時間を要していた出力対象キューの決
定処理を確定的かつ短時間のうちに実現可能となる点が
特徴である。
【0018】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。図1は本発明の第1の実施例に
よるスケジューリング処理回路を示す概念図である。図
1においてはデータフローダイアグラムを示しており、
最も簡単でかつ一般的なラウンドロビン制御を用いてス
ケジューリング処理を行うスケジューリング処理回路に
本発明を適用した例である。
【0019】CAM(Contents Addres
sable Memory:連想記憶メモリ)2のアド
レスはポート番号に対応しており、エントリには出力予
約を意味する出力予約フラグが書込まれ、CAM2は出
力予約フラグと検索キーワードとを比較する。CAM2
はその比較の結果、キーワードと一致するエントリのア
ドレスの中から検索開始時に外部から与えられたCAM
2のアドレス以降で最も小さいアドレスを出力するもの
であり、次回検索時には前回出力が決定したポートに対
応するCAM2のアドレスの次のアドレスを外部から与
える。
【0020】指定したアドレスから最終番地までの検索
範囲のなかで、検索キーと一致する出力予約フラグが検
出されなかった場合、検索範囲をCAM2の先頭番地か
らに変更する。これによって、複数の権利要求の中から
順番に権利を与え、ループ状に順番制御を行う送信権の
ラウンドロビン制御を実現することができ、全てのポー
トに送信権を公平に与えることができる。
【0021】ここで、CAM2を用いることによって、
従来、検索リトライ繰り返しに起因する出力ポート決定
に要する不確定長の時間を要していた出力対象キューの
決定処理を確定的かつ短時間のうちに実現することがで
きる。
【0022】本発明の第1の実施例によるスケジューリ
ング処理回路はパケット出力予約回路1と、CAM2
と、出力ポート決定回路3と、出力パケット決定回路4
と、パケットメモリモジュール5とから構成されてい
る。
【0023】パケット出力予約回路1はパケットの入力
を行うパケット入力I1と、ポインタのポインタ入力I
2と、パケットメモリモジュール5に対して書込みアク
セスを行うためのアドレス出力O1及びデータ出力O2
と、CAM2に対してデータの読出しアクセスを行うた
めのアドレス出力O3及びデータ入力I3と、CAM2
に対してデータの書込みアクセスを行うアドレス出力O
4及びデータ出力O5とを持つ。
【0024】CAM2はパケット出力予約回路1が読出
しアクセスを行うためのアドレス入力I1及びデータ出
力O1と、登録データの書込みを行うためのアドレス入
力I2及びデータ入力I3と、検索指示及びデータを入
力する検索指示入力I4及び検索の結果を出力する検索
結果出力O2と、出力パケット決定回路4が読出しアク
セスを行うためのアドレス入力I5及びデータ出力O3
と、出力パケット決定回路4が書込みを行うためのアド
レス入力I6及びデータ入力I7とを持つ。
【0025】CAM2は一般的なランダムアクセスメモ
リと同様な「書込みアクセス」と「読み出しアクセス」
とが可能であるほか、「検索機能」を有している。CA
M2の上に存在するそれぞれのデータワードに予め書込
まれている内容と外部から与える検索キーワードとが一
致するワードをみつけだし、その一致したワードのアド
レスを検索指示に対する結果として出力する。
【0026】一般に、検索キーワードのビット幅とデー
タワードのビット幅とは同じである。検索キーワードと
CAM2上のデータワードとの一致/不一致を比較する
時に、キーワード及びデータワードの対応するビット同
士で照合すべきビットと照合しないビットとを規定する
ことが可能なCAM2を用いることとする。
【0027】検索指示に際して、それぞれのビットにつ
いて照合すべきか否かを規定するために、検索キーワー
ドやCAM2上のデータワードと同一のビット幅を有す
る制御情報を与える。この制御情報のことを照合ビット
マスクパタンと呼び、この情報を予め設置しておくため
にレジスタ(図示せず)を設け、このレジスタのことを
マスクレジスタと呼ぶ。
【0028】また、このCAM2はデータワードの比較
による検索結果の中から条件に合った有効なアドレスを
選び出す機能を持つものとする。CAM2はマスクレジ
スタによって同一のビット幅で規定した検索キーワード
及び全アドレスのデータワードのビットを照合するが、
検索キーワードと一致するデータワードがCAM2上に
複数ある場合、その一致したワードのアドレスが最も小
さいアドレスを一致ワード検出結果として出力する。
【0029】さらに、検索結果として有効なCAM2の
アドレスの範囲を外部から指定することが可能である。
検索開始時にアドレスの入力を行い、そのアドレス以降
の範囲で一致するワードを検索する。この時の範囲を指
定するアドレスのことを検索範囲開始位置と呼ぶ。した
がって、CAM2は検索結果として検索範囲開始位置以
降で最も小さいアドレスを出力する。
【0030】出力ポート決定回路3は検索指示及びその
データを出力する検索指示出力O1と、検索結果を入力
する検索結果入力I1と、入力された検索結果を伝える
検索結果出力O2とを持つ。検索指示信号の中には検索
開始を指示するコマンドと、検索範囲開始位置アドレス
と、照合ビットマスクパタンと、検索キーワードとが含
まれる。
【0031】出力パケット決定回路4は検索結果の検索
結果入力I2と、CAM2に対して読出しアクセスを行
うためのアドレス出力O1及びデータ入力I1と、CA
M2に対して書込みアクセスを行うためのアドレス出力
O3及びデータ出力O4と、パケットメモリモジュール
5に対して読出しアクセスを行うためのアドレス出力O
2及びデータ入力I3とを持つ。
【0032】出力パケット決定回路4は検索結果が入力
されると、出力が決定したポート番号に対応するCAM
2のエントリを読出す。また、出力パケット決定回路4
は読出したエントリからアドレスを読取って出力する。
【0033】パケットメモリモジュール5はパケットの
入力を行うパケット入力I1と、パケット出力予約回路
1が書込みを行うためのアドレス入力I2及びデータ入
力I3と、出力パケット決定回路4が読出しを行うため
のアドレス入力I4及びデータ出力O3と、パケットを
出力するデータ出力O2と、ポインタを出力するポイン
タ出力O1とを持つ。
【0034】パケットメモリモジュール5は入力したパ
ケットデータを格納し、そのデータを格納したメモリの
ポインタを出力し、出力が決定したパケットをネットワ
ーク(図示せず)へ出力する。また、パケットメモリモ
ジュール5はメモリの空きアドレスを管理する。
【0035】パケット出力予約回路1はCAM2とパケ
ットメモリモジュール5とに接続されている。CAM2
はパケット出力予約回路1と出力ポート決定回路3と出
力パケット決定回路4とに接続されている。出力ポート
決定回路3はCAM2と出力パケット決定回路4とに接
続されている。出力パケット決定回路4はCAM2と出
力ポート決定回路3とパケットメモリモジュール5とに
接続されている。パケットメモリモジュール5はパケッ
ト出力予約回路1と出力パケット決定回路4とに接続さ
れている。
【0036】これら各回路間の各配線を以下に示す。パ
ケット出力予約回路1のアドレス出力I3はCAM2の
アドレス入力I1に、パケット出力予約回路1のデータ
入力I3はCAM2のデータ出力O1に、パケット出力
予約回路1のアドレス出力O4はCAM2のアドレス入
力I2に、パケット出力予約回路1のデータ出力O5は
CAM2のデータ入力I3にそれぞれ接続されている。
【0037】パケット出力予約回路1のアドレス出力O
1はパケットメモリモジュール5のアドレス入力I2
に、パケット出力予約回路1のデータ出力O2はパケッ
トメモリモジュール5のデータ入力I3に、パケット出
力予約回路1のポインタ入力I2はパケットメモリモジ
ュール5のポインタ出力O1にそれぞれ接続されてい
る。
【0038】CAM2の検索指示入力I4は出力ポート
決定回路3の検索指示出力O1に、CAM2の検索結果
出力O2は出力ポート決定回路3の検索結果入力I1に
それぞれ接続されている。CAM2のアドレス入力I5
は出力パケット決定回路4のアドレス出力O1に、CA
M2のデータ出力O3は出力パケット決定回路4のデー
タ入力I1に、CAM2のアドレス入力I6は出力パケ
ット決定回路4のアドレス出力O3に、CAM2のデー
タ入力I7は出力パケット決定回路4のデータ出力O4
にそれぞれ接続されている。
【0039】出力ポート決定回路3の検索結果出力O2
は出力パケット決定回路4の検索結果入力I2に接続さ
れている。出力パケット決定回路4のアドレス出力O2
はパケットメモリモジュール5のアドレス入力I4に、
出力パケット決定回路4のデータ入力I3はパケットメ
モリモジュール5のデータ出力O3に接続されている。
【0040】図2は本発明の第1の実施例によるスケジ
ューリング処理回路を用いるシステム構成を示すブロッ
ク図である。図2において、本発明の第1の実施例によ
るシステムはルータ11〜15の各ポート(Port)
を接続してネットワークを構成している。
【0041】ルータ11はルータ12〜14に接続さ
れ、ルータ14はルータ15に接続されている。尚、ル
ータ12のポート2〜5、ルータ13のポート2〜4、
ルータ15のポート2〜5はそれぞれ図示せぬルータ等
に接続されている。
【0042】また、ルータ11〜15はそれぞれ図1に
示すスケジューリング処理回路を備えており、そのスケ
ジューリング処理回路によって出力すべきポートの決定
を行っている。例えば、ルータ12のスケジューリング
処理回路ではポート2から受信したパケットをルータ1
1,14を介してルータ15のポート5に送信するルー
ト100及びルータ13のポート2に送信するルート2
00に対して、それぞれ決められた帯域を保証するため
にスケジューリング処理を行う。
【0043】図3は図1のCAM2のエントリの内容を
示す図である。図3において、CAM2のエントリは出
力ポートと1対1に対応しており、対応するポートに出
力したいパケットがあることを知らせる出力予約フラグ
22と、パケットメモリーモジュール5のアドレスを指
すポインタを書込む領域23,24とがある。パケット
メモリモジュール5にはパケットが格納され、パケット
を出力したいポート毎にキュー(ポート出力キュー)を
構成している。
【0044】CAM2のエントリ内容のポインタ23,
24はパケットメモリモジュール5に書込まれたパケッ
トの位置を示すものであリ、出力したいポート毎のキュ
ーの先頭パケットのアドレスがヘッドポインタ(Hea
d Pointer)23に、最終パケットのアドレス
がテイルポインタ(Tail Pointer)24に
それぞれ書込まれている。
【0045】図4は図1のパケットメモリモジュール5
に格納する際のパケットデータの構造を示す図である。
図4において、パケットメモリモジュール5に格納する
際のパケットデータ構造はコントロールフィールド61
とパケット格納フィルード62とがある。
【0046】コントロールフィールド61にはパケット
を制御するための様々な情報を書込むことができる。こ
こではコントロールフィールド61にキューに登録した
パケットの次に出力を待つパケットのアドレスを指すネ
クストパケットポインタを書込んでおり、同じキューに
登録したパケットはいわゆるリンクトリスト形式のデー
タ構造で順番につながっている。
【0047】図5は本発明の第1の実施例によるパケッ
ト登録処理を示すフローチャートであり、図6及び図7
は本発明の第1の実施例による出力パケット決定動作を
示すフローチャートである。これら図1〜図7を参照し
て本発明の第1の実施例によるスケジューリング処理に
ついて説明する。
【0048】パケットが到着すると(図5ステップS
1)、パケット出力予約回路1のパケット入力I1とパ
ケットメモリモジュール5のパケット入力I1とに入力
される。パケットメモリモジュール5はメモリの空き領
域を確保し、パケット格納フィールド62にパケットを
書込む(図5ステップS2)。
【0049】この時、パケットメモリモジュール5に書
込まれたパケットデータの位置を示すポインタはポイン
タ出力O1からパケット出力予約回路1のポインタ入力
I2に通知される(図5ステップS3)。パケット出力
予約回路1はパケット入力I1に入力されたパケットの
内容を用いてパケットの出力ポートを決定する(図5ス
テップS4)。
【0050】但し、出力ポートはパケットヘッダの内容
のうち必要な部分を抽出して解釈し、その結果から解決
してみてもよい。また、前段にパケットの内容から出力
ポートを解決する機能を配設し、その機能で解決された
出力ポート番号を示す情報がパケット内に埋め込まれて
いることを前提とし、パケット出力予約回路1がその解
決されている出力ポート情報を抜き出すだけでもよい。
【0051】出力ポート番号はCAM2のエントリと1
対1に対応しており、パケット出力予約回路1はアドレ
ス出力O3から出力ポートに対応するCAM2のアドレ
スをCAM2のアドレス入力I1へ出力し、CAM2の
データ出力O1からCAM2のエントリに書かれた内容
をパケット出力予約回路1のデータ入力I3に読出す
(図5ステップS5)。
【0052】その内容は現在出力を予約されているパケ
ットデータを格納しているキューのヘッドポインタ及び
テイルポインタであり、テイルポインタによって指定さ
れているパケットデータのネクストパケットポインタを
新しく出力予約を行うパケットデータが格納されている
アドレスに書換える(図5ステップS6)。この場合、
パケット出力予約回路1はアドレス出力O1及びデータ
出力O2からパケットメモリモジュール5のアドレス入
力I2及びデータ入力I3へアドレス及びデータを送
る。
【0053】また、CAM2に書込むテイルポインタを
新しく出力予約を行うパケットデータのアドレスに書換
え(図5ステップS7)、そのデータを書込むCAM2
のアドレスをパケット出力予約回路1のアドレス出力O
4からCAM2のアドレス入力I2へ、パケット出力予
約回路1のデータ出力O5からCAM2のデータ入力I
3に出力予約フラグとヘッドポインタとテイルポインタ
とのデータを渡し、それらをCAM2のエントリに書込
むことによって登録が終了する(図5ステップS8)。
これらの処理動作はパケットが到着する毎に行われる
(図5ステップS1〜S9)。
【0054】以上はパケットが到着することによって行
われる動作であるが、以下に示すスケジューリング処理
回路の出力パケット決定動作はパケットの入力とは無関
係に行われる動作である。
【0055】出力ポート決定回路3はCAM2に対して
検索を指示するコマンドと照合ビットマスクパタンと検
索キーワードと検索範囲開始位置アドレスとを検索指示
出力O1からCAM2の検索指示入力I4へ出力する
(図6ステップS11)。
【0056】CAM2は照合ビットマスクパタンを用い
てデータワードから検索対象ビットを規定する(図6ス
テップS12)。ここで、CAM2は図3に定義されて
いる出力予約フラグビット22を検索キーワードと照合
し、指定された検索範囲開始位置アドレス以降を検索範
囲として検索を行う(図6ステップS13)。
【0057】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図6ステップS14)、有効な検索範囲で、つま
り一致したエントリのアドレスの中で最も小さいアドレ
スを決定し(図6ステップS18)、そのアドレスを検
索結果として検索結果出力O2から出力ポート決定回路
3の検索結果入力I1へ通知する(図6ステップS1
9)。
【0058】CAM2は検索範囲開始位置から最終アド
レスまでの検索範囲内で、検索キーワードと一致する出
力予約フラグが検出されなかった場合(図6ステップS
14)、検索範囲をCAM2の先頭アドレスからに変更
し(図6ステップS15)、出力予約フラグビット22
を検索キーワードと照合し、先頭アドレス以降を検索範
囲として検索を行う(図6ステップS16)。
【0059】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図6ステップS17)、有効な検索範囲で、つま
り一致したエントリのアドレスの中で最も小さいアドレ
スを決定し(図6ステップS18)、そのアドレスを検
索結果として検索結果出力O2から出力ポート決定回路
3の検索結果入力I1へ通知する(図6ステップS1
9)。
【0060】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図6ス
テップS17)、処理終了でなければ(図7ステップS
29)、ステップS11に戻って処理を続行する。尚、
この処理の続行において、ステップS15に戻って先頭
アドレスから処理を続行することも可能である。
【0061】この後、出力ポート決定回路3は次回検索
時に、前回出力が決定したポートに対応するCAM2の
アドレスの次の番地を検索範囲開始位置に指定する(図
6ステップS20)。これによって、送信権のラウンド
ロビン制御を実現することができる。
【0062】上記の検索によって得られたアドレスから
出力ポートが解決されると、その結果は出力ポート決定
回路3の検索結果出力O2から出力パケット決定回路4
の検索結果入力I2へ通知される。出力パケット決定回
路4はアドレス出力O1から決定したポート番号に対応
するCAM2のアドレスをCAM2のアドレス入力I5
に渡し、そのアドレスに書かれたエントリをCAM2の
データ出力O3から出力パケット決定回路4のデータ入
力I1へ読出す(図7ステップS21)。
【0063】出力パケット決定回路4はCAM2から読
出したエントリの中からヘッドポインタを抜出し、読出
しアドレスとして出力パケット決定回路4のアドレス出
力O2からパケットメモリモジュール5のアドレス入力
I4へ通知する(図7ステップS22)。この時、出力
パケット決定回路4はパケットメモリモジュール5のパ
ケットデータをデータ出力O3からデータ入力I3へ読
出す(図7ステップS23)。
【0064】出力パケット決定回路4はパケットメモリ
モジュール5から読出したデータの中からネクストポイ
ンタの値を読出し、CAM2のエントリのヘッドポイン
タ部をこの値に書換える。読出したデータの中にネクス
トポインタの値がなければ、出力すべきパケットがない
状態を示しているので、CAM2のエントリのヘッドポ
インタ及びテイルポインタ部を空きにし、出力予約フラ
グを消去する(図7ステップS24)。出力パケット決
定回路4は書込みを行うCAM2のアドレスをアドレス
出力O3からCAM2のアドレス入力I6へ、データを
データ出力O4からCAM2のデータ入力I7へそれぞ
れ送る。
【0065】パケットメモリモジュール5は出力パケッ
ト決定回路4から通知されたポインタで指定されるパケ
ットデータ内のパケットを出力O2から出力する(図7
ステップS25)。
【0066】パケットメモリモジュール5はパケットの
出力が完了すると(図7ステップS26)、出力された
データが格納されていたメモリを解放する(図7ステッ
プS27)。上記の処理は送出すべきパケットがなくな
るまで繰り返し行われる(図6ステップS11〜S20
及び図7ステップS21〜S28)。
【0067】上記のように、CAM2を用いることによ
って、従来、検索リトライ繰り返しに起因する出力ポー
ト決定に要する不確定長の時間を要していた出力対象キ
ューの決定処理を確定的かつ短時間のうちに実現するこ
とができる。従来の検索リトライを繰り返す方法では、
メモリのアドレスの数だけ検索を繰り返す必要があった
が、CAM2では1回の検索で終了することができる。
【0068】図8は本発明の第2の実施例によるスケジ
ューリング処理回路のCAM2のエントリの内容を示す
図である。図8において、本発明の第2の実施例による
スケジューリング処理回路は、CAM2の登録内容を変
更することで、複数の優先クラスを持つ出力パケット決
定処理を行うようにしたものである。
【0069】ここで、本発明の第2の実施例ではCAM
2のエントリ内の出力予約フラグ登録部分を拡張し、出
力キューに優先クラスを持たせ、優先度の高いキュー
(ハイプライオリティキュー)の出力予約フラグを検索
し終わって該当するものがなかった場合、優先度の低い
キュー(ベストエフォートキュー)の出力予約フラグの
検索を始めるという方法で出力パケット決定を行う。
尚、本発明の第2の実施例によるスケジューリング処理
回路の全体構成は、図1に示すデータフローダイアグラ
ムと同様である。
【0070】CAM2及びパケットメモリモジュール5
の詳細な内容は図8に示すとおりである。図8におい
て、パケットメモリモジュール5にはネットワークにパ
ケットを送信する各ポート毎に高優先及び低優先の2種
類のキュー(ハイプライオリティキュー及びベストエフ
ォートキュー)が用意されている。
【0071】CAM2の出力予約フラグには高優先用の
ビット22と低優先用のビット25とが用意されてい
る。尚、これら2つのビットが同時に立つことはない。
ビット22にフラグが立っている場合にはヘッドポイン
タ23及びテイルポインタ24に、高優先キューに格納
されているパケットのアドレスが書込まれ、ビット25
にフラグが立っている場合にはヘッドポインタ23及び
テイルポインタ24に、低優先キューに格納されている
パケットのアドレスが書込まれている。
【0072】図9〜図11は本発明の第2の実施例によ
る出力パケット決定動作を示すフローチャートである。
これら図8〜図11を参照して本発明の第2の実施例に
よる出力パケット決定動作について説明する。
【0073】まず、本発明の第2の実施例では出力パケ
ット決定動作として、最初に高優先用の出力予約フラグ
を検索する。すなわち、出力ポート決定回路3はCAM
2に対して検索を指示するコマンドと照合ビットマスク
パタンと高優先用の検索範囲開始位置アドレスと検索キ
ーワードとをCAM2に通知し、検索を指示する(図9
ステップS31)。
【0074】CAM2は照合ビットマスクパタンによっ
てエントリから出力予約フラグを指定し、出力予約フラ
グビット22を照合するための検索キーワードで検索を
行う(図9ステップS32,S33)。
【0075】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図9ステップS34)、有効な検索範囲で、つま
り一致したエントリのアドレスの中で最も小さいアドレ
スを決定し(図9ステップS44)、そのアドレスを検
索結果として出力ポート決定回路3へ通知する(図9ス
テップS45)。つまり、CAM2は検索した結果の中
から高優先キューにある出力パケットをラウンドロビン
方式で決定する。
【0076】出力ポート決定回路3はどのポートの高優
先キューにも出力するパケットがない場合(図9ステッ
プS34)、検索範囲をCAM2の先頭アドレスからに
変更し(図10ステップS35)、出力予約フラグビッ
ト22を検索キーワードと照合し、先頭アドレス以降を
検索範囲として検索を行う(図10ステップS36)。
【0077】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図10ステップS37)、有効な検索範囲で、つ
まり一致したエントリのアドレスの中で最も小さいアド
レスを決定し(図9ステップS44)、そのアドレスを
検索結果として出力ポート決定回路3へ通知する(図9
ステップS45)。
【0078】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図10
ステップS37)、低優先用の検索範囲開始位置アドレ
スと検索キーワードとをCAM2に与えて検索を指示す
る(図10ステップS38)。ここで、検索範囲開始位
置アドレス及び検索キーワードは優先クラス毎に記憶さ
れており、その中から低優先用の検索範囲開始位置アド
レスと検索キーワードとがCAM2に与えられることと
なる。
【0079】CAM2は照合ビットマスクパタンによっ
て出力予約フラグを指定し、出力予約フラグビット22
を照合するための検索キーワードで検索を行う(図10
ステップS39)。CAM2はCAM2のデータの中か
ら検索キーワードと一致するパケット出力予約フラグを
検出すると(図10ステップS40)、有効な検索範囲
で、つまり一致したエントリのアドレスの中で最も小さ
いアドレスを決定し(図9ステップS44)、そのアド
レスを検索結果として出力ポート決定回路3へ通知する
(図9ステップS45)。
【0080】出力ポート決定回路3はどのポートの低優
先キューにも出力するパケットがない場合(図10ステ
ップS40)、検索範囲をCAM2の先頭アドレスから
に変更し(図10ステップS41)、出力予約フラグビ
ット22を検索キーワードと照合し、先頭アドレス以降
を検索範囲として検索を行う(図10ステップS4
2)。
【0081】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図10ステップS43)、有効な検索範囲で、つ
まり一致したエントリのアドレスの中で最も小さいアド
レスを決定し(図9ステップS44)、そのアドレスを
検索結果として出力ポート決定回路3へ通知する(図9
ステップS45)。
【0082】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図10
ステップS43)、処理終了でなければ(図11ステッ
プS55)、ステップS31に戻って処理を続行する。
尚、この処理の続行において、ステップS35に戻って
先頭アドレスから高優先キューの処理を続行することも
可能である。これによって、高優先キューを優先させた
パケット出力決定処理が可能になる。
【0083】この後、出力ポート決定回路3は次回検索
時に、前回出力が決定したポートに対応するCAM2の
アドレスの次の番地を検索範囲開始位置に指定する(図
9ステップS46)。これによって、送信権のラウンド
ロビン制御を実現することができる。
【0084】上記の検索によって得られたアドレスから
出力ポートが解決されると、その結果は出力ポート決定
回路3の検索結果出力O2から出力パケット決定回路4
の検索結果入力I2へ通知される。出力パケット決定回
路4はアドレス出力O1から決定したポート番号に対応
するCAM2のアドレスをCAM2のアドレス入力I5
に渡し、そのアドレスに書かれたエントリをCAM2の
データ出力O3から出力パケット決定回路4のデータ入
力I1へ読出す(図11ステップS47)。
【0085】出力パケット決定回路4はCAM2から読
出したエントリの中からヘッドポインタを抜出し、読出
しアドレスとして出力パケット決定回路4のアドレス出
力O2からパケットメモリモジュール5のアドレス入力
I4へ通知する(図11ステップS48)。この時、出
力パケット決定回路4はパケットメモリモジュール5の
パケットデータをデータ出力O3からデータ入力I3へ
読出す(図11ステップS49)。
【0086】出力パケット決定回路4はパケットメモリ
モジュール5から読出したデータの中からネクストポイ
ンタの値を読出し、CAM2のエントリのヘッドポイン
タ部をこの値に書換える。読出したデータの中にネクス
トポインタの値がなければ、出力すべきパケットがない
状態を示しているので、CAM2のエントリのヘッドポ
インタ及びテイルポインタ部を空きにし、出力予約フラ
グを消去する(図11ステップS50)。出力パケット
決定回路4は書込みを行うCAM2のアドレスをアドレ
ス出力O3からCAM2のアドレス入力I6へ、データ
をデータ出力O4からCAM2のデータ入力I7へそれ
ぞれ送る。
【0087】パケットメモリモジュール5は出力パケッ
ト決定回路4から通知されたポインタで指定されるパケ
ットデータ内のパケットを出力O2から出力する(図1
1ステップS51)。
【0088】パケットメモリモジュール5はパケットの
出力が完了すると(図11ステップS52)、出力され
たデータが格納されていたメモリを解放する(図11ス
テップS53)。上記の処理は送出すべきパケットがな
くなるまで繰り返し行われる(図9ステップS31〜S
34,S44〜S46、図10ステップS35〜S4
3、図11ステップS47〜S54)。
【0089】上記のように、CAM2の登録内要を変更
することで、容易に出力条件に合った出力ポート決定処
理が行うことができるので、パケット出力の要求がある
複数のポートの中から出力ポート毎の帯域割当てや、出
力ポートに定義されている優先クラスに基づいて1つの
ポートの決定を行う制御を簡単に実現することができ
る。
【0090】図12は本発明の第3の実施例によるスケ
ジューリング処理回路のCAM2のエントリの内容を示
す図である。図12において、本発明の第3の実施例に
よるスケジューリング処理回路は、CAM2の出力予約
フラグ登録部分を拡張し、出力ポート数を増すようにし
たものである。尚、本発明の第3の実施例によるスケジ
ューリング処理回路の全体構成は、図1に示すデータフ
ローダイアグラムと同様である。
【0091】CAM2の一つのアドレスのエントリには
3つの出力予約フラグを書込む領域22,25,26が
設けられている。CAM2の同一アドレスのエントリ内
の3つの出力予約フラグはそれぞれ別の出力ポートに対
応している。これによって、出力ポート数はCAM2の
アドレス×出力予約フラグのビット数分のポート数を登
録することができる。本実施例ではCAM2のアドレス
が256なので、768ポート分の出力ポートを登録す
ることができる。
【0092】ここで、パケットメモリモジュール5のキ
ューに登録されているパケットのヘッドポインタ及びテ
イルポインタはCAM2のメモリ上ではなく、メモリ7
に書込むものとする。このメモリ7のアドレスはCAM
2のポート登録数に一致している。但し、この場合にも
検索範囲開始位置アドレスはCAM2のアドレスを示
す。
【0093】図13〜図15は本発明の第3の実施例に
よる出力パケット決定動作を示すフローチャートであ
る。これら図1及び図12〜図15を参照して本発明の
第3の実施例による出力パケット決定動作について説明
する。
【0094】出力ポート決定回路3はCAM2に対して
検索を指示するコマンドと照合ビットマスクパタンと第
1の出力予約フラグ用の検索キーワード及び検索範囲開
始位置アドレスとをCAM2に通知し、検索を指示する
(図13ステップS61)。
【0095】CAM2は照合ビットマスクパタンによっ
てエントリから出力予約フラグを指定し、出力予約フラ
グビット22を照合するための検索キーワードで検索を
行う(図13ステップS62,S63)。
【0096】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図13ステップS64)、有効な検索範囲で、つ
まり一致したエントリのアドレスの中で最も小さいアド
レスを決定し(図13ステップS65)、そのアドレス
を検索結果として出力ポート決定回路3へ通知する(図
13ステップS66)。
【0097】ここで使用するCAM2は上記のように、
検索キーワードと全アドレスのデータワードのビットと
を照合し、検索キーワードと一致するデータワードとが
CAM2上に複数ある場合、その一致したワードのアド
レスが検索範囲開始位置アドレス以降で最も小さいアド
レスを選び出すが、検索範囲開始位置アドレスから最終
アドレスまでの検索範囲内で検索キーワードと一致する
出力予約フラグが検出されなかった場合(図13ステッ
プS64)、検索範囲をCAM2の先頭アドレスからに
変更し(図14ステップS69)、第2の出力予約フラ
グ用の検索キーワードに変更し、CAM2に検索を指示
する(図14ステップS70)。
【0098】CAM2は照合ビットマスクパタンによっ
て出力予約フラグを指定し、出力予約フラグビット25
を照合するための検索キーワードで検索を行う(図14
ステップS71)。CAM2はCAM2のデータの中か
ら検索キーワードと一致するパケット出力予約フラグを
検出すると(図14ステップS72)、有効な検索範囲
で、つまり一致したエントリのアドレスの中で最も小さ
いアドレスを決定し(図13ステップS65)、そのア
ドレスを検索結果として出力ポート決定回路3へ通知す
る(図13ステップS66)。
【0099】CAM2は検索範囲開始位置アドレスから
最終アドレスまでの検索範囲内で検索キーワードと一致
する出力予約フラグが検出されなかった場合(図14ス
テップS72)、検索範囲をCAM2の先頭アドレスか
らに変更し(図14ステップS73)、第3の出力予約
フラグ用の検索キーワードに変更し、CAM2に検索を
指示する(図14ステップS74)。
【0100】CAM2は照合ビットマスクパタンによっ
て出力予約フラグを指定し、出力予約フラグビット26
を照合するための検索キーワードで検索を行う(図14
ステップS75)。CAM2はCAM2のデータの中か
ら検索キーワードと一致するパケット出力予約フラグを
検出すると(図14ステップS76)、有効な検索範囲
で、つまり一致したエントリのアドレスの中で最も小さ
いアドレスを決定し(図13ステップS65)、そのア
ドレスを検索結果として出力ポート決定回路3へ通知す
る(図13ステップS66)。
【0101】CAM2は検索範囲開始位置アドレスから
最終アドレスまでの検索範囲内で検索キーワードと一致
する出力予約フラグが検出されなかった場合(図14ス
テップS76)、検索範囲をCAM2の先頭アドレスか
らに変更し(図14ステップS77)、第1の出力予約
フラグ用の検索キーワードに変更し、CAM2に検索を
指示する(図14ステップS78)。
【0102】CAM2は照合ビットマスクパタンによっ
て出力予約フラグを指定し、出力予約フラグビット26
を照合するための検索キーワードで検索を行う(図14
ステップS79)。CAM2はCAM2のデータの中か
ら検索キーワードと一致するパケット出力予約フラグを
検出すると(図14ステップS80)、有効な検索範囲
で、つまり一致したエントリのアドレスの中で最も小さ
いアドレスを決定し(図13ステップS65)、そのア
ドレスを検索結果として出力ポート決定回路3へ通知す
る(図13ステップS66)。
【0103】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図14
ステップS80)、処理終了でなければ(図15ステッ
プS89)、ステップS61に戻って処理を続行する。
【0104】CAM2は該当する出力予約フラグを検出
し、上記のように、検索結果として出力ポート決定回路
3へ通知すると、検索開始位置アドレスとその時使用し
た検索キーワードとを保持しておく(図13ステップS
67)。
【0105】出力ポート決定回路3は次回検索時に、こ
の検索開始位置アドレスの次のアドレスと前回使用した
検索キーワードとを使用して検索を行う(図13ステッ
プS68)。検索キーワードは使用する順番を指定して
おき、最終の検索キ―ワードの次には最初の検索キーワ
ードを使用することによって、CAM2に登録した全て
のアドレスとフラグとの組合せに対して公平に送信権を
与えるラウンドロビン制御を実現することができる。
【0106】上記の検索によって得られたアドレスから
出力ポートが解決されると、その結果は出力ポート決定
回路3の検索結果出力O2から出力パケット決定回路4
の検索結果入力I2へ通知される。出力パケット決定回
路4はアドレス出力O1から決定したポート番号に対応
するCAM2のアドレスをCAM2のアドレス入力I5
に渡し、そのアドレスに書かれたエントリをCAM2の
データ出力O3から出力パケット決定回路4のデータ入
力I1へ読出す(図15ステップS81)。
【0107】出力パケット決定回路4はCAM2から読
出したエントリの中からヘッドポインタを抜出し、読出
しアドレスとして出力パケット決定回路4のアドレス出
力O2からパケットメモリモジュール5のアドレス入力
I4へ通知する(図15ステップS82)。この時、出
力パケット決定回路4はパケットメモリモジュール5の
パケットデータをデータ出力O3からデータ入力I3へ
読出す(図15ステップS83)。
【0108】出力パケット決定回路4はパケットメモリ
モジュール5から読出したデータの中からネクストポイ
ンタの値を読出し、CAM2のエントリのヘッドポイン
タ部をこの値に書換える。読出したデータの中にネクス
トポインタの値がなければ、出力すべきパケットがない
状態を示しているので、CAM2のエントリのヘッドポ
インタ及びテイルポインタ部を空きにし、出力予約フラ
グを消去する(図15ステップS84)。出力パケット
決定回路4は書込みを行うCAM2のアドレスをアドレ
ス出力O3からCAM2のアドレス入力I6へ、データ
をデータ出力O4からCAM2のデータ入力I7へそれ
ぞれ送る。
【0109】パケットメモリモジュール5は出力パケッ
ト決定回路4から通知されたポインタで指定されるパケ
ットデータ内のパケットを出力O2から出力する(図1
5ステップS85)。
【0110】パケットメモリモジュール5はパケットの
出力が完了すると(図15ステップS86)、出力され
たデータが格納されていたメモリを解放する(図15ス
テップS87)。上記の処理は送出すべきパケットがな
くなるまで繰り返し行われる(図13ステップS61〜
S68、図14ステップS69〜S80、図15ステッ
プS81〜S88)。
【0111】上述したように、CAM2は最初に、出力
予約フラグ22の検索を行うが、検索範囲開始位置アド
レスから最終アドレスまでの検索範囲のなかで、出力予
約フラグ22を検出する検索キーワードと一致する出力
予約フラグが検出されなかった場合、出力予約フラグ2
5を検出する検索キーワードに変更して検索を指示す
る。この場合でも、出力予約フラグが検出されなかった
場合、CAM2は出力予約フラグ26を検出する検索キ
ーワードに変更して検索を指示する。
【0112】同様に、出力予約フラグ26で検索した結
果、出力パケットがなかった場合、CAM2は出力予約
フラグ22を検出する検索キーワードに変更して検索を
指示する。
【0113】CAM2に登録されているすべてのポート
についてパケットの出力要求があるかどうかを調べるた
めには検索キーワードの変更による検索リトライが増え
るものの、全ての出力ポートについて検索リトライを行
う従来の方法では768回のリトライが必要なところ、
CAM2を用いることによって4回の検索リトライで全
てのポートに対しての検索を行うことができる。よっ
て、本実施例では従来のリトライ回数に対して192分
の1の検索回数に削減することができる。
【0114】図16〜図18は本発明の第4の実施例に
よる出力パケット決定動作を示すフローチャートであ
る。尚、本発明の第4の実施例によるスケジューリング
処理回路の全体構成は、図1に示すデータフローダイア
グラムと同様であり、スケジューリング処理回路のCA
M2のエントリの内容については図12に示す本発明の
第3の実施例と同様である。
【0115】本発明の第4の実施例ではCAM2のエン
トリのビット毎に出力予約を登録し、優先度を考慮した
出力パケット決定を行っている。CAM2の一つのアド
レスのエントリには3つの出力予約フラグ22,25,
26を書込む領域が設けられている。
【0116】CAM2の同一アドレスのエントリ内の3
つの出力予約フラグはそれぞれ別のキューに対応してお
り、出力予約フラグによって優先度や保証すべき帯域に
あわせた出力制御を指定するものとする。
【0117】CAM2のアドレスは出力ポートに対応し
ており、パケットメモリモジュール5には優先クラス
(第1位の優先度〜第3位の優先度)別にキューのヘッ
ドポインタ及びテイルポインタが置かれている。
【0118】パケットメモリモジュール5に登録されて
いるパケットのヘッドポインタ及びテイルポインタはC
AM2のメモリ上ではなく、メモリ7に書込まれている
ため、同じ出力ポートに対して複数の優先クラスのキュ
ーの出力予約をCAM2の1つのエントリに登録するこ
とができる。したがって、本実施例では1つの出力ポー
トに対して3つの優先クラス(第1位の優先度〜第3位
の優先度)を持つことができる。
【0119】これら図1と図12と図16〜図18とを
参照して本発明の第4の実施例による出力パケット決定
動作について説明する。出力パケット決定動作として
は、本発明の第2の実施例と同様に、最初に高優先用の
出力予約フラグの検索を行い、ラウンドロビン方式で出
力パケットを決定し、どのポートの高優先キューにも出
力するパケットが無い場合、低優先用の出力フラグの検
索を行い、ラウンドロビン方式で出力パケットを決定す
る。
【0120】つまり、出力ポート決定回路3はCAM2
に対して検索を指示するコマンドと照合ビットマスクパ
タンと検索範囲開始位置アドレスと第1位の優先度の検
索キーワードとをCAM2に通知し、検索を指示する
(図16ステップS91)。
【0121】CAM2は照合ビットマスクパタンによっ
てエントリから出力予約フラグを指定し、出力予約ビッ
ト22を照合するための検索キーワードで検索を行う
(図16ステップS92,S93)。
【0122】CAM2はCAM2のデータの中から検索
キーワードと一致するパケット出力予約フラグを検出す
ると(図16ステップS94)、有効な検索範囲で、つ
まり一致したエントリのアドレスの中で最も小さいアド
レスを決定し(図16ステップS110)、そのアドレ
スを検索結果として出力ポート決定回路3へ通知する
(図16ステップS111)。
【0123】ここで使用するCAM2は上記のように、
検索キーワードと全アドレスのデータワードのビットを
照合し、検索キーワードと一致するデータワードとがC
AM2上に複数ある場合、その一致したワードのアドレ
スが検索範囲開始位置アドレス以降で最も小さいアドレ
スを選び出すが、検索範囲開始位置アドレスから最終ア
ドレスまでの検索範囲内で検索キーワードと一致する出
力予約フラグが検出されなかった場合(図16ステップ
S94)、検索範囲をCAM2の先頭アドレスからに変
更し(図16ステップS95)、出力予約フラグビット
22を検索キーワードと照合し、先頭アドレス以降を検
索範囲として検索を行う(図16ステップS96)。
【0124】CAM2は該当する出力予約フラグが検出
された場合(図16ステップS97)、有効な検索範囲
で、つまり一致したエントリのアドレスの中で最も小さ
いアドレスを決定し(図16ステップS110)、その
アドレスを検索結果として出力ポート決定回路3へ通知
する(図16ステップS111)。
【0125】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図16
ステップS97)、第2位の優先度用の検索範囲開始位
置アドレスと検索キーワードとをCAM2に与えて検索
を指示する(図17ステップS98)。ここで、検索範
囲開始位置アドレス及び検索キーワードは第1位〜第3
位の優先度クラス毎に記憶されており、その中から第2
位の優先度用の検索範囲開始位置アドレスと検索キーワ
ードとがCAM2に与えられることとなる。
【0126】CAM2は照合ビットマスクパタンによっ
て出力予約フラグを指定し、出力予約フラグビット25
を照合するための検索キーワードで検索を行う(図17
ステップS99)。CAM2はCAM2のデータの中か
ら検索キーワードと一致するパケット出力予約フラグを
検出すると(図17ステップS100)、有効な検索範
囲で、つまり一致したエントリのアドレスの中で最も小
さいアドレスを決定し(図16ステップS110)、そ
のアドレスを検索結果として出力ポート決定回路3へ通
知する(図16ステップS111)。
【0127】また、CAM2は検索範囲開始位置アドレ
スから最終アドレスまでの検索範囲内で検索キーワード
と一致する出力予約フラグが検出されなかった場合(図
17ステップS100)、検索範囲をCAM2の先頭ア
ドレスからに変更し(図17ステップS101)、出力
予約フラグビット25を検索キーワードと照合し、先頭
アドレス以降を検索範囲として検索を行う(図17ステ
ップS102)。
【0128】CAM2は該当する出力予約フラグが検出
された場合(図17ステップS103)、有効な検索範
囲で、つまり一致したエントリのアドレスの中で最も小
さいアドレスを決定し(図16ステップS110)、そ
のアドレスを検索結果として出力ポート決定回路3へ通
知する(図16ステップS111)。
【0129】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図17
ステップS103)、第3位の優先度用の検索範囲開始
位置アドレスと検索キーワードとをCAM2に与えて検
索を指示する(図17ステップS104)。ここで、検
索範囲開始位置アドレス及び検索キーワードは第1位〜
第3位の優先度クラス毎に記憶されており、その中から
第3位の優先度用の検索範囲開始位置アドレスと検索キ
ーワードとがCAM2に与えられることとなる。
【0130】CAM2は照合ビットマスクパタンによっ
て出力予約フラグを指定し、出力予約フラグビット26
を照合するための検索キーワードで検索を行う(図17
ステップS105)。CAM2はCAM2のデータの中
から検索キーワードと一致するパケット出力予約フラグ
を検出すると(図17ステップS106)、有効な検索
範囲で、つまり一致したエントリのアドレスの中で最も
小さいアドレスを決定し(図16ステップS110)、
そのアドレスを検索結果として出力ポート決定回路3へ
通知する(図16ステップS111)。
【0131】また、CAM2は検索範囲開始位置アドレ
スから最終アドレスまでの検索範囲内で検索キーワード
と一致する出力予約フラグが検出されなかった場合(図
17ステップS106)、検索範囲をCAM2の先頭ア
ドレスからに変更し(図17ステップS107)、出力
予約フラグビット26を検索キーワードと照合し、先頭
アドレス以降を検索範囲として検索を行う(図17ステ
ップS108)。
【0132】CAM2は該当する出力予約フラグが検出
された場合(図17ステップS109)、有効な検索範
囲で、つまり一致したエントリのアドレスの中で最も小
さいアドレスを決定し(図16ステップS110)、そ
のアドレスを検索結果として出力ポート決定回路3へ通
知する(図16ステップS111)。
【0133】これに対し、CAM2は先頭アドレスから
最終アドレスまでの検索範囲内で、検索キーワードと一
致する出力予約フラグが検出されなかった場合(図17
ステップS109)、処理終了でなければ(図18ステ
ップS121)、ステップS91に戻って処理を続行す
る。尚、この処理の続行において、ステップS95に戻
って先頭アドレスから第1位の優先度キューの処理を続
行することも可能である。
【0134】CAM2は該当する出力予約フラグを検出
し、上記のように、検索結果として出力ポート決定回路
3へ通知すると、検索開始位置アドレスとその時使用し
た検索キーワードとを保持しておく(図16ステップS
112)。
【0135】出力ポート決定回路3は次回検索時に、こ
の検索開始位置アドレスの次のアドレスと前回使用した
検索キーワードとを使用して検索を行う(図16ステッ
プS113)。検索キーワードは使用する順番を指定し
ておき、最終の検索キ―ワードの次には最初の検索キー
ワードを使用することによって、CAM2に登録した全
てのアドレスとフラグとの組合せに対して公平に送信権
を与えるラウンドロビン制御を実現することができる。
【0136】上記の検索によって得られたアドレスから
出力ポートが解決されると、その結果は出力ポート決定
回路3の検索結果出力O2から出力パケット決定回路4
の検索結果入力I2へ通知される。出力パケット決定回
路4はアドレス出力O1から決定したポート番号に対応
するCAM2のアドレスをCAM2のアドレス入力I5
に渡し、そのアドレスに書かれたエントリをCAM2の
データ出力O3から出力パケット決定回路4のデータ入
力I1へ読出す(図18ステップS114)。
【0137】出力パケット決定回路4はCAM2から読
出したエントリの中からヘッドポインタを抜出し、読出
しアドレスとして出力パケット決定回路4のアドレス出
力O2からパケットメモリモジュール5のアドレス入力
I4へ通知する(図18ステップS115)。この時、
出力パケット決定回路4はパケットメモリモジュール5
のパケットデータをデータ出力O3からデータ入力I3
へ読出す(図18ステップS116)。
【0138】出力パケット決定回路4はパケットメモリ
モジュール5から読出したデータの中からネクストポイ
ンタの値を読出し、CAM2のエントリのヘッドポイン
タ部をこの値に書換える。読出したデータの中にネクス
トポインタの値がなければ、出力すべきパケットがない
状態を示しているので、CAM2のエントリのヘッドポ
インタ及びテイルポインタ部を空きにし、出力予約フラ
グを消去する(図18ステップS117)。出力パケッ
ト決定回路4は書込みを行うCAM2のアドレスをアド
レス出力O3からCAM2のアドレス入力I6へ、デー
タをデータ出力O4からCAM2のデータ入力I7へそ
れぞれ送る。
【0139】パケットメモリモジュール5は出力パケッ
ト決定回路4から通知されたポインタで指定されるパケ
ットデータ内のパケットを出力O2から出力する(図1
8ステップS118)。
【0140】パケットメモリモジュール5はパケットの
出力が完了すると(図18ステップS119)、出力さ
れたデータが格納されていたメモリを解放する(図18
ステップS120)。上記の処理は送出すべきパケット
がなくなるまで繰り返し行われる(図16ステップS9
1〜S97,S110〜S113、図17ステップS9
8〜S109、図18ステップS114〜S121)。
【0141】上記のように、優先クラスに対応した検索
キーワードを選択し、CAM2の検索を行うことによっ
て、「高い優先度を与えられた帯域保証型」、「低い優
先度を与えられたベストエフォート型」等の優先クラス
が混在する系におけるQoS制御を実現することができ
る。
【0142】本発明の第2の実施例では優先クラスを増
やすことによって、CAM2のエントリの登録数をポー
ト数の2倍に増やさなければならないが、本発明の第4
の実施例ではパケットのポインタをCAM2のエントリ
ではなく、別のメモリ7に書込むことによって、CAM
2のエントリを出力ポート数分だけに減らすことができ
る。
【0143】さらに、優先クラスの拡張も容易で、多く
のキューの登録が可能になる。これによって、検索キー
ワードの使い分けで効率よくCAM2の検索を行うこと
ができ、様々なネットワーク利用の条件にあったパケッ
ト出力のスケジューリング処理を行うことができる。
【0144】図19は本発明の第5の実施例によるスケ
ジューリング処理回路のCAM2のエントリの内容を示
す図である。図19において、本発明の第5の実施例に
よるスケジューリング処理回路は、上述した本発明の第
2の実施例によるスケジューリング処理回路を2つ組合
せたものである。
【0145】本発明の第5の実施例によるスケジューリ
ング処理回路では、出力予約フラグのビットa〜cを帯
域割当てとして設定し、出力予約フラグのビットd,e
を優先度クラス(高優先及び低優先)割当てとして設定
したものである。つまり、CAM2の一つのアドレスの
エントリには5つの出力予約フラグを書込む領域(ビッ
トa〜e)が設けられている。
【0146】本発明の第5の実施例ではCAM2の2つ
のアドレスが1つのポートに対応するので、登録ポート
数はCAM2のアドレス÷2である。つまり、本発明の
第5の実施例ではCAM2のアドレスが256なので、
128ポートを登録することができる。また、本発明の
第5の実施例では各ポートに対して2つの優先クラスが
あるので、登録できるキューの数は256となる。この
場合、1つのポートには1つの帯域しか指定できない。
【0147】ここで、パケットメモリモジュール5のキ
ューに登録されているパケットのヘッドポインタ及びテ
イルポインタはCAM2のメモリ上ではなく、メモリ7
に書込むものとする。このメモリ7のアドレスはキュー
の登録数に一致している。但し、この場合にも検索範囲
開始位置アドレスはCAM2のアドレスを示す。
【0148】図20は本発明の第5の実施例によるスケ
ジューリング処理回路の動作を示す図である。これら図
19及び図20を用いて本発明の第5の実施例によるス
ケジューリング処理回路の特徴的な動作について説明す
る。尚、CAM2における検索動作は上述した本発明の
第2の実施例によるスケジューリング処理回路の動作と
同様なので、その説明については省略する。
【0149】本発明の第5の実施例によるスケジューリ
ング処理回路では帯域による出力予約フラグのビットa
〜cの検索を順次繰返し行うように、つまりa→b→c
→a→b→cというように行うようにしている。
【0150】その場合、まずaの帯域の出力時の検索キ
ーワードとしては高優先のビットdに対応するものが与
えられ、その検索キーワードによる検索で出力パケット
がなかった場合に低優先のビットeに対応するものが与
えられることになる。
【0151】また、その検索キーワードによる検索で出
力パケットがなかった場合には、bの帯域の出力時の検
索キーワードとしては高優先のビットdに対応するもの
が与えられ、その検索キーワードによる検索で出力パケ
ットがなかった場合に低優先のビットeに対応するもの
が与えられることになる。
【0152】さらに、その検索キーワードによる検索で
出力パケットがなかった場合には、cの帯域の出力時の
検索キーワードとしては高優先のビットdに対応するも
のが与えられ、その検索キーワードによる検索で出力パ
ケットがなかった場合に低優先のビットeに対応するも
のが与えられることになる。これによって、出力パケッ
トの検索が順次行われることとなる。
【0153】図21は本発明の第6の実施例によるスケ
ジューリング処理回路のCAM2のエントリの内容を示
す図である。図21において、本発明の第6の実施例に
よるスケジューリング処理回路は、上述した本発明の第
2及び第4の実施例によるスケジューリング処理回路を
組合せたものである。
【0154】本発明の第6の実施例によるスケジューリ
ング処理回路では、出力予約フラグのビットa〜cを帯
域割当てとして設定し、出力予約フラグのビットd,e
を優先度クラス(高優先及び低優先)割当てとして設定
したものである。つまり、CAM2の一つのアドレスの
エントリには5つの出力予約フラグを書込む領域(ビッ
トa〜e)が設けられている。
【0155】本発明の第6の実施例では出力予約フラグ
のビットa〜cの部分に本発明の第2の実施例を使用
し、出力予約フラグのビットd,eの部分に本発明の第
4の実施例を使用している。
【0156】また、本発明の第6の実施例ではCAM2
のアドレスが各ポートに対応しているので、登録ポート
数はCAM2のアドレス数分のポート数を登録すること
ができる。つまり、本発明の第6の実施例ではCAM2
のアドレスが256なので、256ポート分を登録する
ことができる。さらに、本発明の第6の実施例では1つ
のエントリに2つの優先クラスを登録することができる
ので、登録できるキューの数は256×2=512とな
る。この場合、1つのポートには1つの帯域しか指定で
きない。
【0157】ここで、パケットメモリモジュール5のキ
ューに登録されているパケットのヘッドポインタ及びテ
イルポインタはCAM2のメモリ上ではなく、メモリ7
に書込むものとする。このメモリ7のアドレスはキュー
の登録数に一致している。但し、この場合にも検索範囲
開始位置アドレスはCAM2のアドレスを示す。
【0158】図22は本発明の第7の実施例によるスケ
ジューリング処理回路のCAM2のエントリの内容を示
す図である。図22において、本発明の第7の実施例に
よるスケジューリング処理回路は、上述した本発明の第
2及び第4の実施例によるスケジューリング処理回路を
組合せたものである。
【0159】本発明の第7の実施例によるスケジューリ
ング処理回路では、出力予約フラグのビットa〜cを帯
域割当てとして設定し、出力予約フラグのビットd,e
を優先度クラス(高優先及び低優先)割当てとして設定
したものである。つまり、CAM2の一つのアドレスの
エントリには5つの出力予約フラグを書込む領域(ビッ
トa〜e)が設けられている。
【0160】本発明の第7の実施例では出力予約フラグ
のビットa〜cの部分に本発明の第4の実施例を使用
し、出力予約フラグのビットd,eの部分に本発明の第
2の実施例を使用している。
【0161】また、本発明の第7の実施例では出力予約
フラグのビットa〜cの部分が各ポートに対応している
ので、登録ポート数は256×3÷2=384となる。
さらに、本発明の第7の実施例では1つのエントリに2
つの優先クラスを登録することができるので、登録でき
るキューの数は256×3÷2×2=768となる。
【0162】ここで、パケットメモリモジュール5のキ
ューに登録されているパケットのヘッドポインタ及びテ
イルポインタはCAM2のメモリ上ではなく、メモリ7
に書込むものとする。このメモリ7のアドレスはキュー
の登録数に一致している。但し、この場合にも検索範囲
開始位置アドレスはCAM2のアドレスを示す。
【0163】図23は本発明の第8の実施例によるスケ
ジューリング処理回路のCAM2のエントリの内容を示
す図である。図23において、本発明の第8の実施例に
よるスケジューリング処理回路は、上述した本発明の第
4の実施例によるスケジューリング処理回路を2つ組合
せたものである。
【0164】本発明の第8の実施例によるスケジューリ
ング処理回路では、出力予約フラグのビットa〜cを帯
域割当てとして設定し、出力予約フラグのビットd,e
を優先度クラス(高優先及び低優先)割当てとして設定
したものである。つまり、CAM2の一つのアドレスの
エントリには5つの出力予約フラグを書込む領域(ビッ
トa〜e)が設けられている。
【0165】本発明の第8の実施例では出力予約フラグ
のビットa〜cの部分が各ポートに対応しているので、
登録ポート数は256×3=768となる。また、本発
明の第8の実施例では1つのエントリに2つの優先クラ
スを登録することができるので、登録できるキューの数
は256×3×2=1536となる。
【0166】ここで、パケットメモリモジュール5のキ
ューに登録されているパケットのヘッドポインタ及びテ
イルポインタはCAM2のメモリ上ではなく、メモリ7
に書込むものとする。このメモリ7のアドレスはキュー
の登録数に一致している。但し、この場合にも検索範囲
開始位置アドレスはCAM2のアドレスを示す。
【0167】図24は本発明の第7及び第8の実施例に
おける各ポートの対応を示す図である。図24におい
て、ポート#1,#2にはそれぞれ帯域a〜cが割当て
られ、帯域a〜cにはそれぞれ高優先キュー及び低優先
キューが割当てることができる。
【0168】
【発明の効果】以上説明したように本発明によれば、複
数のネットワーク出力ポートを有するパケット通信装置
におけるパケット出力タイミングのスケジューリング処
理を行うスケジューリング処理回路において、ネットワ
ーク出力ポートが決定されたパケットを保持する複数の
ポート出力キューを複数のネットワーク出力ポート各々
に対応して設け、複数のネットワーク出力ポート各々に
対応するアドレス毎に出力予約を示す出力予約フラグを
格納する格納手段を検索してネットワーク出力ポートを
決定し、その決定されたネットワーク出力ポートに対応
するポート出力キューからパケットを読出して出力する
ことによって、出力対象キューの決定処理を確定的かつ
短時間のうちに実現することができるという効果があ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例によるスケジューリング
処理回路の構成を示すブロック図である。
【図2】本発明の第1の実施例によるスケジューリング
処理回路を用いるシステム構成を示すブロック図であ
る。
【図3】図1のCAMのエントリの内容を示す図であ
る。
【図4】図1のパケットメモリモジュールに格納する際
のパケットデータの構造を示す図である。
【図5】本発明の第1の実施例によるパケット登録処理
を示すフローチャートである。
【図6】本発明の第1の実施例による出力パケット決定
動作を示すフローチャートである。
【図7】本発明の第1の実施例による出力パケット決定
動作を示すフローチャートである。
【図8】本発明の第2の実施例によるスケジューリング
処理回路のCAMのエントリの内容を示す図である。
【図9】本発明の第2の実施例による出力パケット決定
動作を示すフローチャートである。
【図10】本発明の第2の実施例による出力パケット決
定動作を示すフローチャートである。
【図11】本発明の第2の実施例による出力パケット決
定動作を示すフローチャートである。
【図12】本発明の第3の実施例によるスケジューリン
グ処理回路のCAMのエントリの内容を示す図である。
【図13】本発明の第3の実施例による出力パケット決
定動作を示すフローチャートである。
【図14】本発明の第3の実施例による出力パケット決
定動作を示すフローチャートである。
【図15】本発明の第3の実施例による出力パケット決
定動作を示すフローチャートである。
【図16】本発明の第4の実施例による出力パケット決
定動作を示すフローチャートである。
【図17】本発明の第4の実施例による出力パケット決
定動作を示すフローチャートである。
【図18】本発明の第4の実施例による出力パケット決
定動作を示すフローチャートである。
【図19】本発明の第5の実施例によるスケジューリン
グ処理回路のCAMのエントリの内容を示す図である。
【図20】本発明の第5の実施例によるスケジューリン
グ処理回路の動作を示す図である。
【図21】本発明の第6の実施例によるスケジューリン
グ処理回路のCAMのエントリの内容を示す図である。
【図22】本発明の第7の実施例によるスケジューリン
グ処理回路のCAMのエントリの内容を示す図である。
【図23】本発明の第8の実施例によるスケジューリン
グ処理回路のCAMのエントリの内容を示す図である。
【図24】本発明の第7及び第8の実施例における各ポ
ートの対応を示す図である。
【符号の説明】
1 パケット出力予約回路 2 CAM 3 出力ポート決定回路 4 出力パケット決定回路 5 パケットメモリモジュール 21 アドレス 22,25,26 出力予約フラグ 23 ヘッドポインタ 24 ティルポインタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−83547(JP,A) 特開 平10−285167(JP,A) 特開 平11−215142(JP,A) 特開 平10−224357(JP,A) 特開 平8−242238(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 200

Claims (28)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のネットワーク出力ポートと、前記
    複数のネットワーク出力ポート各々に対応して設けられ
    かつ前記ネットワーク出力ポートが決定されたパケット
    を保持する複数のポート出力キューとを有するパケット
    通信装置におけるパケット出力タイミングのスケジュー
    リング処理を行うスケジューリング処理回路であって、
    前記複数のネットワーク出力ポート各々に対応するアド
    レス毎に出力予約を示す出力予約フラグを各エントリに
    格納する格納手段と、外部からの検索キーワードに基づ
    いて前記格納手段を検索して前記ネットワーク出力ポー
    トを決定する決定手段とを有し、前記決定手段で決定さ
    れたネットワーク出力ポートに対応するポート出力キュ
    ーから前記パケットを読出して出力するようにしたこと
    を特徴とするスケジューリング処理回路。
  2. 【請求項2】 前記決定手段は、前記出力予約フラグと
    前記検索キーワードとを照合しかつ一致が検出されたア
    ドレスをネットワーク出力ポート番号として出力するよ
    う構成したことを特徴とする請求項1記載のスケジュー
    リング処理回路。
  3. 【請求項3】 前記決定手段は、検索されたエントリの
    アドレスの中から検索開始時に外部から与えられたアド
    レス以降で最も小さいアドレスを前記ネットワーク出力
    ポート番号として出力するようにしたことを特徴とする
    請求項2記載のスケジューリング処理回路。
  4. 【請求項4】 前記決定手段は、指定されたアドレスか
    ら最終番地までの検索範囲のなかで検索キーと一致する
    前記出力予約フラグが検出されなかった時に検索範囲を
    前記格納手段の先頭番地からに変更するようにしたこと
    を特徴とする請求項1から請求項3のいずれか記載のス
    ケジューリング処理回路。
  5. 【請求項5】 前記格納手段は、前記ネットワーク出力
    ポート毎の帯域割当てに対応して出力予約フラグを格納
    するようにしたことを特徴とする請求項1から請求項4
    のいずれか記載のスケジューリング処理回路。
  6. 【請求項6】 前記格納手段は、前記ネットワーク出力
    ポートに定義されている優先クラスに対応して出力予約
    フラグを格納するようにしたことを特徴とする請求項1
    から請求項5のいずれか記載のスケジューリング処理回
    路。
  7. 【請求項7】 前記格納手段は、連想記憶メモリである
    ことを特徴とする請求項1から請求項6のいずれか記載
    のスケジューリング処理回路。
  8. 【請求項8】 複数のネットワーク出力ポートと、前記
    複数のネットワーク出力ポート各々に対応して設けられ
    かつ前記ネットワーク出力ポートが決定されたパケット
    を保持する複数のポート出力キューとを有するパケット
    通信装置におけるパケット出力タイミングのスケジュー
    リング処理を行うスケジューリング処理回路であって、
    各エントリの前記複数のネットワーク出力ポート各々に
    対応するビット毎に出力予約を示す出力予約フラグを格
    納する格納手段と、前記格納手段を検索して前記ネット
    ワーク出力ポートを決定する決定手段とを有し、前記決
    定手段で決定されたネットワーク出力ポートに対応する
    ポート出力キューから前記パケットを読出して出力する
    ようにしたことを特徴とするスケジューリング処理回
    路。
  9. 【請求項9】 前記ポート出力キューに登録されている
    パケットの格納位置を前記複数のネットワーク出力ポー
    ト各々に対応するビットに対応して記憶する記憶手段を
    含み、 前記決定手段は、前記出力予約フラグと前記検索キーワ
    ードとを照合しかつ一致が検出されたアドレスをネット
    ワーク出力ポート番号として出力することで、当該アド
    レスのエントリのビットに対応する前記記憶手段の格納
    位置から前記パケットを読出して出力するようにしたこ
    とを特徴とする請求項8記載のスケジューリング処理回
    路。
  10. 【請求項10】 前記決定手段は、検索されたエントリ
    のアドレスの中から検索開始時に外部から与えられたア
    ドレス以降で最も小さいアドレスを前記ネットワーク出
    力ポート番号として出力することで、当該アドレスのエ
    ントリのビットに対応する前記記憶手段の格納位置から
    前記パケットを読出して出力するようにしたことを特徴
    とする請求項9記載のスケジューリング処理回路。
  11. 【請求項11】 前記決定手段は、指定されたアドレス
    から最終番地までの検索範囲のなかで検索キーと一致す
    る前記出力予約フラグが検出されなかった時に検索範囲
    を前記格納手段の先頭番地からに変更するようにしたこ
    とを特徴とする請求項8から請求項10のいずれか記載
    のスケジューリング処理回路。
  12. 【請求項12】 前記格納手段は、前記ネットワーク出
    力ポート毎の帯域割当てに対応するビットに前記出力予
    約フラグを格納するようにしたことを特徴とする請求項
    8から請求項11のいずれか記載のスケジューリング処
    理回路。
  13. 【請求項13】 前記格納手段は、前記ネットワーク出
    力ポートに定義されている優先クラスに対応するビット
    に前記出力予約フラグを格納するようにしたことを特徴
    とする請求項8から請求項12のいずれか記載のスケジ
    ューリング処理回路。
  14. 【請求項14】 前記格納手段は、連想記憶メモリであ
    ることを特徴とする請求項8から請求項13のいずれか
    記載のスケジューリング処理回路。
  15. 【請求項15】 複数のネットワーク出力ポートと、前
    記複数のネットワーク出力ポート各々に対応して設けら
    れかつ前記ネットワーク出力ポートが決定されたパケッ
    トを保持する複数のポート出力キューとを有するパケッ
    ト通信装置におけるパケット出力タイミングのスケジュ
    ーリング処理を行うスケジューリング処理方法であっ
    て、前記複数のネットワーク出力ポート各々に対応する
    アドレスのエントリに格納されかつ出力予約を示す出力
    予約フラグを検索して前記ネットワーク出力ポートを決
    定するステップと、前記複数のポート出力キューのうち
    の決定されたネットワーク出力ポートに対応するポート
    出力キューから前記パケットを読出して出力するステッ
    プとを有することを特徴とするスケジューリング処理方
    法。
  16. 【請求項16】 前記ネットワーク出力ポートを決定す
    るステップは、前記出力予約フラグと前記検索キーワー
    ドとを照合しかつ一致が検出されたアドレスをネットワ
    ーク出力ポート番号として出力するようにしたことを特
    徴とする請求項15記載のスケジューリング処理方法。
  17. 【請求項17】 前記ネットワーク出力ポートを決定す
    るステップは、検索されたエントリのアドレスの中から
    検索開始時に外部から与えられたアドレス以降で最も小
    さいアドレスを前記ネットワーク出力ポート番号として
    出力するようにしたことを特徴とする請求項16記載の
    スケジューリング処理方法。
  18. 【請求項18】 前記ネットワーク出力ポートを決定す
    るステップは、指定されたアドレスから最終番地までの
    検索範囲のなかで検索キーと一致する前記出力予約フラ
    グが検出されなかった時に検索範囲を前記格納手段の先
    頭番地からに変更するようにしたことを特徴とする請求
    項15から請求項17のいずれか記載のスケジューリン
    グ処理方法。
  19. 【請求項19】 前記出力予約フラグは、前記ネットワ
    ーク出力ポート毎の帯域割当てに対応して格納されるよ
    うにしたことを特徴とする請求項15から請求項18の
    いずれか記載のスケジューリング処理方法。
  20. 【請求項20】 前記出力予約フラグは、前記ネットワ
    ーク出力ポートに定義されている優先クラスに対応して
    格納されるようにしたことを特徴とする請求項15から
    請求項19のいずれか記載のスケジューリング処理方
    法。
  21. 【請求項21】 前記ネットワーク出力ポートを決定す
    るステップは、連想記憶メモリを用いて前記ネットワー
    ク出力ポートを決定するようにしたことを特徴とする請
    求項15から請求項20のいずれか記載のスケジューリ
    ング処理方法。
  22. 【請求項22】 複数のネットワーク出力ポートと、前
    記複数のネットワーク出力ポート各々に対応して設けら
    れかつ前記ネットワーク出力ポートが決定されたパケッ
    トを保持する複数のポート出力キューとを有するパケッ
    ト通信装置におけるパケット出力タイミングのスケジュ
    ーリング処理を行うスケジューリング処理方法であっ
    て、各エントリの前記複数のネットワーク出力ポート各
    々に対応するビット毎に格納されかつ出力予約を示す出
    力予約フラグを検索して前記ネットワーク出力ポートを
    決定するステップと、前記複数のポート出力キューのう
    ちの決定されたネットワーク出力ポートに対応するポー
    ト出力キューから前記パケットを読出して出力するステ
    ップとを有することを特徴とするスケジューリング処理
    方法。
  23. 【請求項23】 前記ネットワーク出力ポートを決定す
    るステップは、前記出力予約フラグと前記検索キーワー
    ドとを照合しかつ一致が検出されたアドレスをネットワ
    ーク出力ポート番号として出力することで、当該アドレ
    スのエントリのビットに対応して記憶された前記パケッ
    トの格納位置から前記パケットを読出して出力するよう
    にしたことを特徴とする請求項22記載のスケジューリ
    ング処理方法。
  24. 【請求項24】 前記ネットワーク出力ポートを決定す
    るステップは、検索されたエントリのアドレスの中から
    検索開始時に外部から与えられたアドレス以降で最も小
    さいアドレスを前記ネットワーク出力ポート番号として
    出力することで、当該アドレスのエントリのビットに対
    応して記憶された前記パケットの格納位置から前記パケ
    ットを読出して出力するようにしたことを特徴とする請
    求項23記載のスケジューリング処理方法。
  25. 【請求項25】 前記ネットワーク出力ポートを決定す
    るステップは、指定されたアドレスから最終番地までの
    検索範囲のなかで検索キーと一致する前記出力予約フラ
    グが検出されなかった時に検索範囲を前記格納手段の先
    頭番地からに変更するようにしたことを特徴とする請求
    項22から請求項24のいずれか記載のスケジューリン
    グ処理方法。
  26. 【請求項26】 前記出力予約フラグは、前記ネットワ
    ーク出力ポート毎の帯域割当てに対応するビットに格納
    されるようにしたことを特徴とする請求項22から請求
    項25のいずれか記載のスケジューリング処理方法。
  27. 【請求項27】 前記出力予約フラグは、前記ネットワ
    ーク出力ポートに定義されている優先クラスに対応する
    ビットに格納されるようにしたことを特徴とする請求項
    22から請求項26のいずれか記載のスケジューリング
    処理方法。
  28. 【請求項28】 前記ネットワーク出力ポートを決定す
    るステップは、連想記憶メモリを用いて前記ネットワー
    ク出力ポートを決定するようにしたことを特徴とする請
    求項22から請求項27のいずれか記載のスケジューリ
    ング処理方法。
JP22705399A 1999-08-11 1999-08-11 スケジューリング処理回路及びそのスケジューリング処理方法 Expired - Fee Related JP3485037B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22705399A JP3485037B2 (ja) 1999-08-11 1999-08-11 スケジューリング処理回路及びそのスケジューリング処理方法
CA 2315447 CA2315447A1 (en) 1999-08-11 2000-08-10 Circuit and method for processing scheduling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22705399A JP3485037B2 (ja) 1999-08-11 1999-08-11 スケジューリング処理回路及びそのスケジューリング処理方法

Publications (2)

Publication Number Publication Date
JP2001053798A JP2001053798A (ja) 2001-02-23
JP3485037B2 true JP3485037B2 (ja) 2004-01-13

Family

ID=16854800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22705399A Expired - Fee Related JP3485037B2 (ja) 1999-08-11 1999-08-11 スケジューリング処理回路及びそのスケジューリング処理方法

Country Status (2)

Country Link
JP (1) JP3485037B2 (ja)
CA (1) CA2315447A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3753070B2 (ja) 2002-01-07 2006-03-08 日本電気株式会社 ノード装置
GB0320506D0 (en) * 2003-09-02 2003-10-01 Koninkl Philips Electronics Nv Cell scheduling

Also Published As

Publication number Publication date
CA2315447A1 (en) 2001-02-11
JP2001053798A (ja) 2001-02-23

Similar Documents

Publication Publication Date Title
KR100429743B1 (ko) 네트워크라우터에사용하기위한마스크기능을갖는연상메모리
US5343471A (en) Address filter for a transparent bridge interconnecting local area networks
CA2274962C (en) High speed variable length best match look-up in a switching device
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
JP4790991B2 (ja) 高速ルーティングテーブル検索を可能にするアドレス学習
US20050248970A1 (en) Distributed content addressable memory
US6529897B1 (en) Method and system for testing filter rules using caching and a tree structure
US6721324B1 (en) Switch control system in ATM switching system
US7299227B2 (en) Method and system for providing cascaded trie-based network packet search engines
US6457001B1 (en) Method and apparatus for data retrieval
JPH02178755A (ja) 多重プロセッサ負荷シェアリング方法及び装置
JP3485037B2 (ja) スケジューリング処理回路及びそのスケジューリング処理方法
JP4316349B2 (ja) パケット転送経路制御装置および制御プログラム
US7779197B1 (en) Device and method for address matching with post matching limit check and nullification
US20050262294A1 (en) Method for policy matching using a hybrid TCAM and memory-based scheme
US20020089969A1 (en) Network control apparatus for controlling devices composing communication network including the apparatus
US20060077974A1 (en) Return path derivation in packet-switched networks
US20010007559A1 (en) Interleaved processing system for processing frames within a network router
JP3156766B2 (ja) デッドロックを回避するパケットルーティング方式
US7257670B2 (en) Multipurpose CAM circuit
JP2003032291A (ja) パケット振分装置およびパケット振分プログラム
KR100617831B1 (ko) Ieee 1394 네트워크에서 전송되는 스트림 수신을 위한자동 채널 선택 방법
US7634586B1 (en) Device for concurrent limit validity check
US20040083337A1 (en) Content addressable memory with automated learning
US20110047327A1 (en) Searching a content addressable memory

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101024

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees