JP3662859B2 - パケット中継装置 - Google Patents
パケット中継装置 Download PDFInfo
- Publication number
- JP3662859B2 JP3662859B2 JP2001161320A JP2001161320A JP3662859B2 JP 3662859 B2 JP3662859 B2 JP 3662859B2 JP 2001161320 A JP2001161320 A JP 2001161320A JP 2001161320 A JP2001161320 A JP 2001161320A JP 3662859 B2 JP3662859 B2 JP 3662859B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- random number
- field
- buffer
- uniform
- 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)
Description
【発明の属する技術分野】
この発明は、蓄積中継方式によりパケットを中継するパケット中継装置に関するものである。
【0002】
【従来の技術】
パケット中継装置におけるパケット送信待ちキューの輻輳回避のため、送信待ちキューの蓄積データ量に応じて確率的にパケットを廃棄、もしくはマークするアルゴリズムとして、RED(Random Early Detection)と称されるものが提案されている(S. Floyd and V. Jacobson, Random Early Detection Gateways for Congestion Avoidance, ACM/IEEE Transactions on Networking, 1(4): 397-413, 1993.)。こうしたアルゴリズムにおいては、パケットの廃棄やマークのための確率計算を実行する場合に乱数を生成する必要がある。このため、REDのように確率計算を伴うアルゴリズムを実装するパケット中継装置では、送信待ちキューにパケットが到着する毎に動的に確率計算に必要な乱数を生成するのが一般的である。
【0003】
【発明が解決しようとする課題】
ところで、上述した乱数の生成がプログラムによる場合には、乱数の精度によって異なるものにはなるものの、少なくとも数ステップの四則演算を含む一様乱数生成関数を実行する必要があり、パケット中継に伴う処理負荷増大の一因となる。こうした処理負荷増大の問題を解決するには、例えば特許第3074107号公報に示されているような専用の確率変数発生装置を適用し、ハードウェアによって乱数の生成を行うことが考えられる。
【0004】
図5は、この種の確率変数発生装置の構成例を示したブロック図である。図5において、101は時間信号発生手段、102は一様乱数発生手段、103は記憶手段、104は四則演算手段、105は定数発生手段、110はこれらを含む確率変数発生装置である。この確率変数発生装置110は、一様乱数発生手段102の出力を、記憶手段103に記憶された所望の確率分布の累積度関数値を参照して変換し、四則演算手段104を経由して出力することで所望の確率分布に従う確率変数を適切なタイミングで発生するものであり、このタイミングを得るための時間信号発生手段101や四則演算手段104に定数を供給するための定数発生手段105を含んでいる。
【0005】
上記のような確率変数発生装置110を内蔵するパケット中継装置によれば、ハードウェアによって乱数を生成するようにしているため、パケット中継に伴う処理負荷の増大を招来することがない。
【0006】
しかしながら、こうしたハードウェアによって乱数を生成する場合には、図5に示したすべての構成や機構が必ずしも必要となることはないにせよ、最小限の構成や機構をパケット中継装置に内蔵させる必要がある。この結果、パケット中継装置の構成が複雑になるとともに、製造コストを増大することになる。
【0007】
この発明は上記実情に鑑みてなされたもので、構成の複雑化およびコスト増を招来することなくパケット中継に伴う処理負荷の低減を図ることのできるパケット中継装置を得ることを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるパケット中継装置は、パケットを格納するためのパケットバッファを初期化する際に一様乱数を発生させて該パケットバッファの各パケット格納フィールドに付随するフィールドに前記一様乱数を格納しておき、パケット中継時においては任意の空きパケット格納フィールドを割り当てる一方、送信時の確率計算を行う場合にはパケットを格納したパケット格納フィールドに附随するフィールドの値を読み出してこれを乱数として用いることを特徴とする。
【0009】
この発明によれば、パケットを格納したパケット格納フィールドに付随する乱数フィールドを読み出すことにより乱数値を取得するようにしているため、確率計算の際に数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなる。しかも、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段としては、必ずしもハードウェアを用いる必要がなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることができる。
【0010】
つぎの発明にかかるパケット中継装置は、上記の発明において、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って一様乱数を発生させ、前記パケット格納フィールドに付随するフィールドに格納した一様乱数を更新することを特徴とする。
【0011】
この発明によれば、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従ってパケット格納フィールドに付随するフィールドに格納した一様乱数の値が更新される。
【0012】
つぎの発明にかかるパケット中継装置は、パケットを格納するためのパケットバッファを初期化する際に、パケット格納フィールドと1対1に対応付けられたエントリを有する乱数テーブルを生成するとともに、一様乱数を発生させて該乱数テーブルのエントリに前記一様乱数を格納しておき、パケット中継時においては任意の空きパケット格納フィールドを割り当てる一方、送信時の確率計算を行う場合にはパケットを格納したパケット格納フィールドに対応するエントリの値を読み出してこれを乱数として用いることを特徴とする。
【0013】
この発明によれば、パケットを格納したパケット格納フィールドに簡単な規則で対応付けた乱数テーブルのエントリを読み出すことにより乱数値を取得するようにしているため、確率計算の際に数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなる。しかも、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段としては、必ずしもハードウェアを用いる必要がなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることができる。
【0014】
つぎの発明にかかるパケット中継装置は、上記の発明において、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って一様乱数を発生させ、前記乱数テーブルのエントリに格納した一様乱数を更新することを特徴とする。
【0015】
この発明によれば、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って乱数テーブルのエントリに格納した一様乱数が更新される。
【0016】
つぎの発明にかかるパケット中継装置は、上記の発明において、前記パケットバッファに、各バッファ格納フィールドに付随するポインタフィールドを設けるとともに、該ポインタフィールドに格納したポインタの値に従って前記バッファ格納フィールドを前記乱数テーブルのエントリに1対1に対応付けたことを特徴とする。
【0017】
この発明によれば、パケットを格納したパケット格納フィールドに付随するポインタフィールドから指示された乱数テーブルのエントリを読み出すことにより乱数値を取得するようにしているため、確率計算の際に数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなる。しかも、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段としては、必ずしもハードウェアを用いる必要がなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることができる。
【0018】
つぎの発明にかかるパケット中継装置は、上記の発明において、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って前記ポインタフィールドに格納したポインタの値を更新することを特徴とする。
【0019】
この発明によれば、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従ってポインタフィールドに格納したポインタの値が更新される。
【0020】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるパケット中継装置の好適な実施の形態を詳細に説明する。
【0021】
実施の形態1.
図1は、この発明に実施の形態1であるパケット中継装置の構成例を示すブロック図である。ここで例示するパケット中継装置は、蓄積転送型のもので、パケットバッファ10、乱数発生部20、送信待ちキュー30および中継制御部40を備えている。パケットバッファ10は、パケット受信時にパケットを格納する一方、パケット送信時にパケットを読み出すn個のパケット格納フィールド11−1〜11−nを有するとともに、各パケット格納フィールド11−1〜11−nに付随して乱数を格納するn個の乱数フィールド12−1〜12−nを有している。乱数発生部20は、パケットバッファ10の初期化時に一様乱数を発生させ、該一様乱数をパケットバッファ10の乱数フィールド12−1〜12−nにそれぞれ与える部分である。これは、例えばパケットバッファ10の乱数フィールド12−1〜12−nとして8ビットのメモリ領域を用いる場合であれば、0〜255の範囲の値を同等の確率で生じるような一様乱数生成関数をプログラムし、パケットバッファ10の初期化時にこの関数を起動して出力される値を乱数フィールド12−1〜12−nに格納することで実現することができる。送信待ちキュー30は、送信待ち行列を格納するバッファであり、送信方路毎にm個のキューフィールド31−1〜31−mを有している。中継制御部40は、受信したパケットのパケットヘッダ情報に基づいて送信方路を決定する部分である。
【0022】
以下、上記パケット中継装置の動作について説明する。まず、パケット中継装置は、上述したように、パケットバッファ10の初期化時に中継制御部40からの指示により、乱数発生部20において一様乱数を発生し、該一様乱数をパケットバッファ10の各乱数フィールド12−1〜12−nに格納する処理を実施する。
【0023】
上述した状態から、上記パケット中継装置は、パケットを受信する場合に中継制御部40がパケットバッファ10の中で空いているものの一つ、例えばパケット格納フィールド11−1を割り当て、これに受信パケットを格納する。この場合、受信パケットの内容に依存することなく、空いているパケット格納フィールド11−1〜11−nを割り当てる。さらにパケット中継装置は、中継制御部40がパケット格納フィールド11−1〜11−nに格納した受信パケットのパケットヘッダ情報を読み出して処理するとともに、該受信パケットの送信方路を決定する。例えば、パケット格納フィールド11−1に格納された受信パケットは、中継制御部40によって送信方路に送信待ちキュー30の該当するキューフィールド31−1に転送され、該キューフィールド31−1に保持されて送信処理が行われる。
【0024】
ここで、上述したREDのように確率的にパケットを廃棄、もしくはマークするアルゴリズムを適用している場合には、送信待ちキュー30に保持する以前に、受信パケットを格納したパケット格納フィールド11−1〜11−nについて確率計算を行う必要がある。
【0025】
この場合、本実施の形態1においては、従前のごとくプログラムによる乱数生成関数や専用の確率変数発生装置を用いるのではなく、確率計算で必要となる乱数として、受信パケットを格納したパケット格納フィールド11−1〜11−nに附随する乱数フィールド12−1〜12−nの一様乱数値を用いる。乱数フィールド12−1〜12−nから読み出した値を乱数と見なすことができる理由は以下の通りである。すなわち、通常多くの端末が独立に送信したパケットをパケット中継装置が受信した場合、該パケット中継装置は、受信パケットの内容に依存することなく空いているパケット格納フィールド11−1〜11−nを任意に割り当てる。つまり、受信パケットをパケットバッファ10のどのパケット格納フィールド11−1〜11−nに割り当てるかは、ランダムと見なすことができる。従って、パケットバッファ10の初期化時にのみ乱数発生部20において発生した一様乱数をパケットバッファ10の乱数フィールド12−1〜12−nに格納する処理を実施し、その後、パケット格納フィールド11−1〜11−nに附随する乱数フィールド12−1〜12−nの値がパケット毎に都度変化しない場合であっても、パケット中継装置が受信する一連のパケットに対しそれらが格納されるパケットバッファ10に附随する乱数フィールド12−1〜12−nを読み出して得られた値をランダムな数値列と見なすことができる。
【0026】
このように、上記パケット中継装置によれば、パケットを格納したパケット格納フィールド11−1〜11−nに付随する乱数フィールド12−1〜12−nを読み出すことにより乱数値を取得するようにしているため、REDに伴う確率計算の際に、数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなり、処理負荷を著しく低減することができる。しかも、乱数を生成するためのハードウェア構成としては、唯一乱数発生部20を設けるだけであり、図5に示した専用の確率変数発生装置、つまり時間信号発生部101、一様乱数発生部102、記憶部103、四則演算部104、定数発生部105等々、多数の構成や機構を含んだ確率変数発生装置が不要となる。従って、パケット中継装置の構成が複雑化する事態やコストを増大させる事態を招来する虞れがない。因に、上記パケット中継装置にあっては、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段として、必ずしも乱数発生部20を設ける必要はなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることが可能である。
【0027】
なお、上述した実施の形態1では、パケットバッファ10のパケット格納フィールド11−1〜11−nに格納した受信パケットをそのまま送信待ちキュー30のキューフィールド31−1〜31−mに転送させるようにしているが、受信パケットを適宜コピーしながら複数段のパケットバッファを経由して送信待ちキューに転送させるようにしたパケット中継装置にも適用することが可能である。この場合、各パケットバッファのパケット格納フィールドにそれぞれ乱数フィールドを附随させ、パケット受信時にパケットを格納するパケットバッファ、つまり第1段となるパケットバッファのパケット格納フィールドに附随する乱数フィールドから得られる乱数値を順次コピーするようにしてもよい。あるいは、最終段となるパケットバッファのパケット格納フィールドが選択される際のランダム性を利用し、この最終段となるパケットバッファにのみ乱数フィールドを設けてその初期化時に各パケット格納フィールドに付随する乱数フィールドに一様乱数を格納するようにしてもよい。
【0028】
また、上述した実施の形態1では、パケットバッファ10の初期化時にのみ一様乱数を発生するようにしているが、パケット中継装置の処理負荷が低い時、あるいは定期的に、パケットバッファ10の初期化時と同様の方法を用いて一様乱数を発生させ、乱数フィールド12−1〜12−nに格納し直すことも可能である。このようにして乱数フィールド12−1〜12−nの値を更新した場合には、乱数フィールド12−1〜12−nの値がパケット毎には変化しないことに起因する乱数値の偏りを軽減することが可能になる。
【0029】
実施の形態2.
図2は、この発明に実施の形態2であるパケット中継装置の構成例を示すブロック図である。ここで例示するパケット中継装置は、蓄積転送型のもので、パケットバッファ10、乱数テーブル50、乱数発生部20、送信待ちキュー30および中継制御部40を備えている。パケットバッファ10は、パケット受信時にパケットを格納する一方、パケット送信時にパケットを読み出すn個のパケット格納フィールド11−1〜11−nを有している。乱数テーブル50は、n個のエントリ51−1〜51−nを有したもので、各エントリ51−1〜51−nが1対1の対応関係を与える簡単な規則でパケットバッファ10の各パケット格納フィールド11−1〜11−nに対応付けてある。本実施の形態2においては、図3に示すような態様で、パケットバッファ10の各パケット格納フィールド11−1〜11−nと乱数テーブル50の各エントリ51−1〜51−nとに1対1の対応関係を与えるようにしている。すなわち、パケットバッファ10のパケット格納フィールド11−1〜11−nにそれぞれ個々の位置を示す添字iを順次付すとともに、乱数テーブル50のエントリ51−1〜51−nにそれぞれ個々の位置を示す添字iを順次付し、これらの添字iが同一となるものを互いに対応付けるようにしている。なお、パケットバッファ10のパケット格納フィールド11−1〜11−nと乱数テーブル50のエントリ51−1〜51−nとの対応関係は、必ずしもこれに限らず、両者が1対1に対応すれば、他の規則を用いても構わない。乱数発生部20は、パケットバッファ10の初期化時に一様乱数を発生させ、該一様乱数を乱数テーブル50のエントリ51−1〜51−nにそれぞれ与える部分である。これは、例えば乱数テーブル50のエントリ51−1〜51−nが8ビットの長さを有するものであれば、0〜255の範囲の値を同等の確率で生じるような一様乱数生成関数をプログラムし、パケットバッファ10の初期化時にこの関数を起動して出力される値をエントリ51−1〜51−nに格納することで実現することができる。送信待ちキュー30は、送信待ち行列を格納するバッファであり、送信方路毎にm個のキューフィールド31−1〜31−mを有している。中継制御部40は、受信したパケットのパケットヘッダ情報に基づいて送信方路を決定する部分である。
【0030】
以下、上記パケット中継装置の動作について説明する。まず、パケット中継装置は、上述したように、パケットバッファ10の初期化時に中継制御部40からの指示により乱数発生部20において一様乱数を発生し、該一様乱数を乱数テーブル50のエントリ51−1〜51−nに格納する処理を実施する。
【0031】
上述した状態から、上記パケット中継装置は、パケットを受信する場合に中継制御部40がパケットバッファ10の中で空いているものの一つ、例えばパケット格納フィールド11−1を割り当て、これに受信パケットを格納する。この場合、受信パケットの内容に依存することなく、空いているパケット格納フィールド11−1〜11−nを割り当てる。さらにパケット中継装置は、中継制御部40がパケット格納フィールド11−1〜11−nに格納した受信パケットのパケットヘッダ情報を読み出して処理するとともに、該受信パケットの送信方路を決定する。例えば、パケット格納フィールド11−1に格納された受信パケットは、中継制御部40によって送信方路に送信待ちキュー30の該当するキューフィールド31−1に転送され、該キューフィールド31−1に保持されて送信処理が行われる。
【0032】
ここで、上述したREDのように確率的にパケットを廃棄、もしくはマークするアルゴリズムを適用している場合には、送信待ちキュー30に保持する以前に、受信パケットを格納したパケット格納フィールド11−1〜11−nについて確率計算を行う必要がある。
【0033】
この場合、本実施の形態2においては、従前のごとくプログラムによる乱数生成関数や専用の確率変数発生装置を用いるのではなく、確率計算で必要となる乱数として、受信パケットを格納したパケット格納フィールド11−1〜11−nに簡単な規則で対応付けたエントリ51−1〜51−nの一様乱数値を用いる。乱数テーブル50のエントリ51−1〜51−nから読み出した値を乱数と見なすことができる理由は実施の形態1と同様である。
【0034】
このように、上記パケット中継装置によれば、パケットを格納したパケット格納フィールド11−1〜11−nに簡単な規則で対応付けた乱数テーブル50のエントリ51−1〜51−nを読み出すことにより乱数値を取得するようにしているため、REDに伴う確率計算の際に、数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなり、処理負荷を著しく低減することができる。しかも、乱数を生成するためのハードウェア構成としては、乱数発生部20および乱数テーブル50を設けるだけであり、多数の構成や機構を含んだ確率変数発生装置が不要となる。従って、パケット中継装置の構成が複雑化する事態やコストを増大させる事態を招来する虞れがない。因に、上記パケット中継装置にあっては、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段として、必ずしも乱数発生部20を設ける必要はなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることが可能である。
【0035】
なお、上述した実施の形態2では、パケットバッファ10のパケット格納フィールド11−1〜11−nに格納した受信パケットをそのまま送信待ちキュー30のキューフィールド31−1〜31−mに転送させるようにしているが、受信パケットを適宜コピーしながら複数段のパケットバッファを経由して送信待ちキューに転送させるようにしたパケット中継装置にも適用することが可能である。この場合、最終段となるパケットバッファのパケット格納フィールドが選択される際のランダム性を利用し、該最終段となるパケットバッファにのみ対応する乱数テーブルを設け、最終段となるパケットバッファの初期化時に、各パケット格納フィールドに対応付けた乱数テーブルのエントリに一様乱数を格納してもよい。
【0036】
また、上述した実施の形態2では、パケットバッファ10の初期化時にのみ一様乱数を発生するようにしているが、パケット中継装置の処理負荷が低い時、あるいは定期的に、パケットバッファ10の初期化時と同様の方法を用いて一様乱数を発生させ、乱数テーブル50のエントリ51−1〜51−nに格納し直すことも可能である。このようにして乱数テーブル50の値を更新した場合には、エントリ51−1〜51−nの値がパケット毎には変化しないことに起因する乱数値の偏りを軽減することが可能になる。
【0037】
実施の形態3.
図4は、この発明に実施の形態3であるパケット中継装置の構成例を示すブロック図である。ここで例示するパケット中継装置は、蓄積転送型のもので、パケットバッファ10、乱数テーブル50、乱数発生部20、送信待ちキュー30および中継制御部40を備えている。パケットバッファ10は、パケット受信時にパケットを格納する一方、パケット送信時にパケットを読み出すn個のパケット格納フィールド11−1〜11−nを有するとともに、各パケット格納フィールド11−1〜11−nに付随してポインタを格納するn個のポインタフィールド13−1〜13−nを有している。乱数テーブル50は、n個のエントリ51−1〜51−nを有したものである。乱数発生部20は、パケットバッファ10の初期化時に一様乱数を発生させ、該一様乱数を乱数テーブル50のエントリ51−1〜51−nやパケットバッファ10のポインタフィールド13−1〜13−nに与える部分である。送信待ちキュー30は、送信待ち行列を格納するバッファであり、送信方路毎にm個のキューフィールド31−1〜31−mを有している。中継制御部40は、受信したパケットのパケットヘッダ情報に基づいて送信方路を決定する部分である。
【0038】
以下、上記パケット中継装置の動作について説明する。まず、パケット中継装置は、上述したように、パケットバッファ10の初期化時に中継制御部40からの指示により乱数発生部20において一様乱数を発生し、該一様乱数を乱数テーブル50のエントリ51−1〜51−nに格納する処理を実施する。さらに、パケット中継装置は、図中の矢印で示すように、パケットバッファ10のポインタフィールド13−1〜13−nに、乱数テーブル50のエントリ51−1〜51−nを1対1に指示するポインタを格納する。これらのポインタは、例えばポインタフィールド13−1〜13−nに対して乱数発生部20により一様乱数を発生させ、これによって得た値jを用いてj番目のエントリ51−1〜51−nを対応付ける。次のポインタフィールド13−1〜13−nに対しては、再び乱数発生部20により一様乱数を発生させ、これによって得た値k(≠j)を用いてk番目のエントリ51−1〜51−nを対応付ける。以下同様にしてランダムな手順により設定することができる。なお、ポインタによるポインタフィールド13−1〜13−nと乱数テーブル50のエントリ51−1〜51−nとの対応付けは、必ずしも上述した手順に限らず、例えばi番目のポインタフィールド13−1〜13−nに対してi番目のエントリ51−1〜51−nを対応させるといった、ランダムでない手順を用いることも可能である。
【0039】
上述した状態から、上記パケット中継装置は、パケットを受信する場合に中継制御部40がパケットバッファ10の中で空いているものの一つ、例えばパケット格納フィールド11−1〜11−nを割り当て、これに受信パケットを格納する。この場合、受信パケットの内容に依存することなく、空いているパケット格納フィールド11−1〜11−nを割り当てる。さらにパケット中継装置は、中継制御部40がパケット格納フィールド11−1〜11−nに格納した受信パケットのパケットヘッダ情報を読み出して処理するとともに、該受信パケットの送信方路を決定する。例えば、パケット格納フィールド11−1に格納された受信パケットは、中継制御部40によって送信方路に送信待ちキュー30の該当するキューフィールド31−1に転送され、該キューフィールド31−1に保持されて送信処理が行われる。
【0040】
ここで、上述したREDのように確率的にパケットを廃棄、もしくはマークするアルゴリズムを適用している場合には、送信待ちキュー30に保持する以前に、受信パケットを格納したパケット格納フィールド11−1〜11−nについて確率計算を行う必要がある。
【0041】
この場合、本実施の形態3においては、従前のごとくプログラムによる乱数生成関数や専用の確率変数発生装置を用いるのではなく、確率計算で必要となる乱数として、受信パケットを格納したパケット格納フィールド11−1〜11−nに付随するポインタフィールド13−1〜13−nからポインタによって指示された乱数テーブル50のエントリ51−1〜51−nの一様乱数値を用いる。乱数テーブル50のエントリ51−1〜51−nから読み出した値を乱数と見なすことができる理由は実施の形態1と同様である。
【0042】
このように、上記パケット中継装置によれば、パケットを格納したパケット格納フィールド11−1〜11−nに付随するポインタフィールド13−1〜13−nから指示された乱数テーブル50のエントリ51−1〜51−nを読み出すことにより乱数値を取得するようにしているため、REDに伴う確率計算の際に、数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなり、処理負荷を著しく低減することができる。しかも、乱数を生成するためのハードウェア構成としては、乱数発生部20および乱数テーブル50を設けるだけであり、多数の構成や機構を含んだ確率変数発生装置が不要となる。従って、パケット中継装置の構成が複雑化する事態やコストを増大させる事態を招来する虞れがない。因に、上記パケット中継装置にあっては、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段として、必ずしも乱数発生部20を設ける必要はなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることが可能である。
【0043】
なお、上述した実施の形態3では、パケットバッファ10のパケット格納フィールド11−1〜11−nに格納した受信パケットをそのまま送信待ちキュー30に転送させるようにしているが、受信パケットを適宜コピーしながら複数段のパケットバッファを経由して送信待ちキューに転送させるようにしたパケット中継装置にも適用することが可能である。この場合、最終段となるパケットバッファのパケット格納フィールドが選択される際のランダム性を利用し、該最終段となるパケットバッファにのみポインタフィールドを設けるとともに、対応する乱数テーブルを設け、最終段となるパケットバッファの初期化時に、各パケット格納フィールドに対応付けた乱数テーブルのエントリ一様乱数を格納してもよい。
【0044】
また、上述した実施の形態3では、パケットバッファ10の初期化時にのみ一様乱数を発生するようにしているが、パケット中継装置の処理負荷が低い時、あるいは定期的に、パケットバッファ10の初期化時と同様の方法を用いて一様乱数を発生させ、乱数テーブル50のエントリ51−1〜51−nに格納し直すことも可能である。このようにして乱数テーブル50の値を更新した場合には、エントリ51−1〜51−nの値がパケット毎には変化しないことに起因する乱数値の偏りを軽減することが可能になる。
【0045】
さらに、上述した実施の形態3では、パケット中継装置の処理負荷が低い時、あるいは定期的に、パケットバッファ10の初期化時と同様のランダムな手順を用いて乱数テーブル50のエントリ51−1〜51−nとの1対1の対応関係を保ちつつ、ポインタフィールド13−1〜13−nのポインタを格納し直すことも可能である。このようにしてポインタフィールド13−1〜13−nのポインタを更新した場合、つまりパケットバッファ10のパケット格納フィールド11−1〜11−nと乱数テーブル50のエントリ51−1〜51−nとの対応付けを更新した場合には、ポインタフィールド13−1〜13−nのポインタがパケット毎には変化しないことに起因する乱数値の偏りを軽減することができる。
【0046】
【発明の効果】
以上説明したように、この発明によれば、パケットを格納したパケット格納フィールドに付随する乱数フィールドを読み出すことにより乱数値を取得するようにしているため、確率計算の際に数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなり、処理負荷を著しく低減することが可能になる。しかも、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段としては、必ずしもハードウェアを用いる必要がなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることができるため、多数の構成や機構を含んだ確率変数発生装置を設けることに起因して構成が複雑化する事態やコストを増大させる事態を招来する虞れがない。
【0047】
つぎの発明によれば、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従ってパケット格納フィールドに付随するフィールドに格納した一様乱数の値が更新されるため、パケット毎には変化しないことに起因する乱数値の偏りを軽減することが可能になる。
【0048】
つぎの発明によれば、パケットを格納したパケット格納フィールドに簡単な規則で対応付けた乱数テーブルのエントリを読み出すことにより乱数値を取得するようにしているため、確率計算の際に数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなり、処理負荷を著しく低減することが可能になる。しかも、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段としては、必ずしもハードウェアを用いる必要がなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることができるため、多数の構成や機構を含んだ確率変数発生装置を設けることに起因して構成が複雑化する事態やコストを増大させる事態を招来する虞れがない。
【0049】
つぎの発明によれば、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って乱数テーブルのエントリに格納した一様乱数が更新されるため、パケット毎には変化しないことに起因する乱数値の偏りを軽減することが可能になる。
【0050】
つぎの発明によれば、パケットを格納したパケット格納フィールドに付随するポインタフィールドから指示された乱数テーブルのエントリを読み出すことにより乱数値を取得するようにしているため、確率計算の際に数ステップの四則演算を含む一様乱数生成関数を実行する必要がなくなり、処理負荷を著しく低減することが可能になる。しかも、パケット毎に乱数を発生する必要がないため、乱数を生成するための手段としては、必ずしもハードウェアを用いる必要がなく、ソフトウェアによって生成した疑似乱数を一様乱数として用いることができるため、多数の構成や機構を含んだ確率変数発生装置を設けることに起因して構成が複雑化する事態やコストを増大させる事態を招来する虞れがない。
【0051】
つぎの発明によれば、パケット中継時の処理負荷が低い場合、もしくは所定の周期に従ってポインタフィールドに格納したポインタの値が更新されるため、ポインタフィールドのポインタがパケット毎には変化しないことに起因する乱数値の偏りを軽減することができる。
【図面の簡単な説明】
【図1】 この発明に実施の形態1であるパケット中継装置の構成例を示すブロック図である。
【図2】 この発明に実施の形態2であるパケット中継装置の構成例を示すブロック図である。
【図3】 パケットバッファのパケット格納フィールドと乱数テーブルのエントリとの対応関係を例示する概念図である。
【図4】 図4は、この発明に実施の形態3であるパケット中継装置の構成例を示すブロック図である。
【図5】 従来のパケット中継装置に適用される確率変数発生装置の構成例を示したブロック図である。
【符号の説明】
10 パケットバッファ、11−1〜11−n パケット格納フィールド、12−1〜12−n 乱数フィールド、13−1〜13−n ポインタフィールド、20 乱数発生部、30 送信待ちキュー、31−1〜31−m キューフィールド、40 中継制御部、50 乱数テーブル、51−1〜51−n エントリ。
Claims (6)
- パケットを格納するためのパケットバッファを初期化する際に一様乱数を発生させて該パケットバッファの各パケット格納フィールドに付随するフィールドに前記一様乱数を格納しておき、パケット中継時においては任意の空きパケット格納フィールドを割り当てる一方、送信時の確率計算を行う場合にはパケットを格納したパケット格納フィールドに附随するフィールドの値を読み出してこれを乱数として用いることを特徴とするパケット中継装置。
- パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って一様乱数を発生させ、前記パケット格納フィールドに付随するフィールドに格納した一様乱数を更新することを特徴とする請求項1に記載のパケット中継装置。
- パケットを格納するためのパケットバッファを初期化する際に、パケット格納フィールドと1対1に対応付けられたエントリを有する乱数テーブルを生成するとともに、一様乱数を発生させて該乱数テーブルのエントリに前記一様乱数を格納しておき、パケット中継時においては任意の空きパケット格納フィールドを割り当てる一方、送信時の確率計算を行う場合にはパケットを格納したパケット格納フィールドに対応するエントリの値を読み出してこれを乱数として用いることを特徴とするパケット中継装置。
- パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って一様乱数を発生させ、前記乱数テーブルのエントリに格納した一様乱数を更新することを特徴とする請求項3に記載のパケット中継装置。
- 前記パケットバッファに、各バッファ格納フィールドに付随するポインタフィールドを設けるとともに、該ポインタフィールドに格納したポインタの値に従って前記バッファ格納フィールドを前記乱数テーブルのエントリに1対1に対応付けたことを特徴とする請求項3または4に記載のパケット中継装置。
- パケット中継時の処理負荷が低い場合、もしくは所定の周期に従って前記ポインタフィールドに格納したポインタの値を更新することを特徴とする請求項5に記載のパケット中継装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001161320A JP3662859B2 (ja) | 2001-05-29 | 2001-05-29 | パケット中継装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001161320A JP3662859B2 (ja) | 2001-05-29 | 2001-05-29 | パケット中継装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002354026A JP2002354026A (ja) | 2002-12-06 |
| JP3662859B2 true JP3662859B2 (ja) | 2005-06-22 |
Family
ID=19004618
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001161320A Expired - Fee Related JP3662859B2 (ja) | 2001-05-29 | 2001-05-29 | パケット中継装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3662859B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100443556B1 (ko) * | 2001-11-30 | 2004-08-09 | 주식회사 네오텍리서치 | 신호전달의 불확정성을 최소화하기 위한 배선 회로 |
-
2001
- 2001-05-29 JP JP2001161320A patent/JP3662859B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002354026A (ja) | 2002-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3532037B2 (ja) | 並列計算機 | |
| US6553031B1 (en) | Communication node apparatus with routing tables in cache memories | |
| JP4154213B2 (ja) | パケット処理装置 | |
| WO1996034479A1 (en) | Packet switching engine | |
| SK62193A3 (en) | Packet switch | |
| US7089407B2 (en) | Packet processing device processing input packet data in a packet routing device | |
| US20010028659A1 (en) | Data switching arbitration arrangements | |
| US7174394B1 (en) | Multi processor enqueue packet circuit | |
| CN111310908A (zh) | 深度神经网络硬件加速器与其操作方法 | |
| JP3662859B2 (ja) | パケット中継装置 | |
| WO1999029071A1 (en) | Resource sharing | |
| US20110149985A1 (en) | Data processing apparatus and method of controlling the same | |
| US5535413A (en) | System including plurality of data driven processors connected to each other | |
| US6912566B1 (en) | Memory device and method for operating the memory device | |
| CN111832048B (zh) | 一种基于双端口ram的数据包排序方法和系统 | |
| US7076517B2 (en) | Serial communication device with dynamic filter allocation | |
| EP1279260A2 (en) | Memory management with data discard | |
| CA2241683A1 (en) | Switching apparatus | |
| US7219211B1 (en) | Precompute logic for software packet processing | |
| JPH09282287A (ja) | 通信処理システム | |
| JP2000299686A (ja) | スケジューリング装置 | |
| US7032049B2 (en) | Apparatus for relaying received interrupt requests | |
| US6807594B1 (en) | Randomized arbiters for eliminating congestion | |
| US7161908B2 (en) | Deterministic bandwidth throttling to facilitate operation of a control unit | |
| JPH10341240A (ja) | 交換装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050304 |
|
| 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: 20050322 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050324 |
|
| 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: 20080401 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |