(実施形態1)
図1は、本発明の第1の実施の形態のネットワークシステムの概念図である。
第1の実施の形態のネットワークシステムは、コアネットワークA201、アクセスネットワークB202、アクセスネットワークC203及びアクセスネットワークD204を備える。コアネットワークA201及びアクセスネットワークB202〜D204は、光ファイバ網である。
アクセスネットワークB202、アクセスネットワークC203及びアクセスネットワークD204の各々と、コアネットワークA201とは、ネットワークノード300によって接続されている。アクセスネットワークB202〜D204には、ユーザ端末100が接続されている。
図2は、第1の実施の形態のネットワークノード300のブロック図である。
ネットワークノード300は、スイッチ310、複数の回線インターフェース320及び制御部330を備える。
スイッチ310は、回線インターフェース320が受信したパケットの送出先を決定し、送出先の回線インターフェース320に送る。
回線インターフェース320は、光モジュール321、パケット送信回路322、パケット受信回路323及びトラヒックシェーピング部340を備える。
トラヒックシェーピング部340は、パケットの送出タイミングを定める。本実施の形態では、トラヒックシェーピング部340を、回線インターフェース320内に設けたが、回線インターフェース320とは別に(例えば、回線インターフェース320の前段に)設けてもよい。
光モジュール321は、光ファーバ網を終端する光電気変換器であり、ネットワークA201等から送信された光信号を受信し、光−電気変換によって、電気信号を生成する。また、ネットワークA201等に対して所定のタイミングで光信号を送信する。
パケット送信回路322は、トラヒックシェーピング部340によって定められたタイミングでパケットを送出する。
パケット受信回路323は、光モジュール321が受信した光信号からパケットを抽出し、スイッチ310に送る。
制御部330は、トラヒックシェーピング部340で使用される各種閾値及び各動作モードの有効又は無効を設定し、その設定内容をトラヒックシェーピング部340に送る。
図3は、第1の実施の形態のトラヒックシェーピング部340のブロック図である。
トラヒックシェーピング部340は、複数の帯域制御部341、パケットバッファ345、最低保証帯域(MFR)リクエスト選択部346、最大許容帯域(PFR)リクエスト選択部347、ベストエフォート(BE)リクエスト選択部348及びリクエスト選択部349を備える。
トラヒックシェーピング部340は、処理速度の観点からハードウェアで構成するとよいが、ソフトウェアで構成してもよい。
パケットバッファ345は、入力されたデータを格納する複数のキューを備え、リクエスト選択部349からの送出許可信号によってキューに格納されたデータの読み出しを許可する。
また、パケットバッファ345は、キューから読み出されるパケット長を判定し、送出パケット長信号をパケットを送出するキューに対応する帯域制御部341に出力する。さらに、パケットバッファ345は、キューにパケットが格納されているか否かを示すパケット有無信号を帯域制御部341に出力する。パケット有無信号は、対応するキューにパケットが格納されていれば”1”を、キューにパケットが格納されていなければ”0”となる。
帯域制御部341は、パケットバッファ345に備えられたキュー毎に設けられ、各キューからのパケットの送出を制御する。帯域制御部341は、最低保証帯域排出タイミング生成部342、最大許容帯域排出タイミング生成部343及びベストエフォート読出リクエスト生成部344を備え、各生成部による制御アルゴリズムによって、パケットの送出タイミングを制御する。
MFRリクエスト選択部346は、複数の帯域制御部341の最低保証帯域排出タイミング生成部342からの信号を一つ選択する。例えば、ラウンドロビンによって、順に、帯域制御部341からの信号を選択するとよい。そして、選択した帯域制御部341に対応するキューのパケット送出リクエストを、リクエスト選択部349に送る。
PFRリクエスト選択部347は、複数の帯域制御部341の最大許容帯域排出タイミング生成部343からの信号を一つ選択する。例えば、ラウンドロビンによって、順に、帯域制御部341からの信号を選択するとよい。そして、選択した帯域制御部341に対応するキューのパケット送出リクエストを、リクエスト選択部349に送る。
BEリクエスト選択部348は、複数の帯域制御部341のベストエフォート読出リクエスト生成部344からの信号を一つ選択する。例えば、ラウンドロビンによって、順に、帯域制御部341からの信号を選択するとよい。そして、選択した帯域制御部341に対応するキューのパケット送出リクエストを、リクエスト選択部349に送る。
リクエスト選択部349は、MFRリクエスト選択部346、PFRリクエスト選択部347、BEリクエスト選択部348からパケット送出リクエストを受信すると、受信したパケット送出リクエストのいずれかを選択し、パケットバッファの複数のキューのうちパケットを送出してもよいキューを指示する送出許可信号を送出する。なお、パケット送出リクエストの優先順位はMFR選択部346、PFRリクエスト選択部347、BEリクエスト選択部348の順で高くし、優先順位が高い送出許可リクエストがある場合は優先順位の低い送出許可リクエストが選択されないように設定することが望ましい。
図4は、第1の実施の形態の最低保証帯域排出タイミング生成部342のブロック図である。
最低保証帯域(MFR)排出タイミング生成部342は、最低帯域を保証して、パケットの送出タイミングを制御する。最低保証帯域制御は、ユーザとキャリア間で契約帯域のデータ転送を確実に保証することが約束されたサービスを提供する。なお、契約帯域を超えてデータを送出するか否かは、ベストエフォートサービス、又は最大許容帯域サービスを適用するか否かの問題である。よって、最低保証帯域制御には非特許文献1に記載のトークンバケットアルゴリズムが適している。
トークンバケットアルゴリズムは、トークンを保持するトークンバケットとそのトークンバケットに一定周期でトークンを加算するモデルで表現され、主に帯域制御に用いられるアルゴリズムである。
以下、トークンバケットアルゴリズムを説明する。トークンバケットアルゴリズムでは、トークンバケットに一定周期で加算するトークンがパケットの送出帯域に対応している。トークンバケットにトークンがある場合は帯域を遵守しているとしてパケットの送出許可を与える。また、パケットを送出した場合は、トークンバケットから送出パケットサイズに相当するトークンを減算する。また、トークンバケットにはある量までトークンを保持する機能を持たせておく。
このようにすることで、トークンバケットアルゴリズムでは、他ユーザのパケット送出のため等、何らかの理由でパケットの送出ができず、ある期間で最低保障帯域以下でのパケット送出を余儀なくされた場合、空き帯域が生じたときには保持しているトークン量だけバースト的にパケットを送出する権利を与える制御が可能である。このような制御が可能なトークンバケットアルゴリズムは、最低保証帯域の制御に適している。
しかし、トークンバケットアルゴリズムは、前述したように、バースト的なパケット送出を許容することから最大許容帯域制御にはあまり適さないとも言える。
トークンバケットアルゴリズムではパケットの送出許可を出すタイミングで2通りの考え方がある。一つはトークンバケットにパケットサイズ分のトークンが貯まってからパケットの送出許可を出し、パケット送出後にパケットサイズ分のトークンをトークンバケットから減算する方法である。
もう一つは、トークンバケットのトークン量が0より大きければパケットの送出許可を出し、パケット送出後にパケットサイズ分のトークンをトークンバケットから減算する方
法である。後者の方法では、トークンバケットのトークン値はマイナスの値を保持する。
両方式ともその特性はほぼ同じであり、本発明の実施例では後者のトークンバケットを採用しているが、前者を採用しても同じ効果が得られる。
トークンバケットアルゴリズムの他に帯域を制御するアルゴリズムには、リーキーバケットアルゴリズムがある。
リーキーバケットアルゴリズムは、穴が開いており、その穴から一定量でトークンが漏れ出すバケツ(リーキーバケット)にパケット送出毎に送出パケットサイズに相当するトークンを加算するモデルで表現される。
リーキーバケットアルゴリズムを説明する。リーキーバケットアルゴリズムでは、一定量で漏れ出す(一定周期で減算される)トークンがパケットの送出帯域に対応している。リーキーバケットが空ならば帯域を遵守しているとしてパケットの送出許可を与える。また、パケットを送出した場合は、リーキーバケットに送出パケットサイズに相当するトークンを加算する。また、リーキーバケットアルゴリズムのトークンは、マイナスの値を取ることはなく、トークンが”0”になるとその値を保持する。
そのため、トークンバケットアルゴリズムのように、他のユーザのパケット送出のため等、何らかの理由でパケットの送出ができず、ある期間で設定帯域以下でのパケット送出を余儀なくされた場合でも、設定帯域以上のバースト的なパケットの転送を許容しない。このような制御が可能なリーキーバケットアルゴリズムは、最大許容帯域の制御に適している。
最低保証帯域排出タイミング生成部342は、トークンバケットパラメータ保持部3421、トークン減算部3422、トークン加算部3423、トークン加算量保持部3424、最大トークン値保持部3425、トークン量判定部3426、MFRモード有効/無効保持部3427及びAND回路3428を備える。
トークンバケットパラメータ保持部3421は、トークンバケットアルゴリズムに用いられるパラメータ(トークンバケットに蓄積されるトークン量(TP))を保持する。トークンバケットパラメータ保持部3421に蓄積されるトークンは、送出パケット長に基づいて減算され、一定時間に一定量が加算される。
トークン減算部3422は、パケットバッファ345から出力された送出パケット長信号に基づいて、トークンバケットパラメータ保持部3421から、パケット長に対応する量のトークンを減算する。
トークン加算量保持部3424は、定期的に加算されるトークンの加算量を保持しており、制御部330によって設定される。トークンの加算量は、パケットバッファ345内のキュー毎に設定されており、利用者毎の最低保証帯域に対応して定められている。
最大トークン値保持部3425は、トークンバケットパラメータ保持部3421で蓄積できる最大のトークン量を保持しており、制御部330によって設定される。
トークン加算部3423は、一定時間に一定量のトークンを加算する。具体的には、トークン加算部3423は、トークン加算信号(例えば、クロック信号)が入力されると、トークン加算量保持部3424に保持された量のトークンを加算する。トークン加算部3423は、トークン加算後のトークンバケットパラメータ保持部3421の値が最大トー
クン値保持部3425の値より大きくなった場合は、トークンバケットパラメータ保持部3421へ最大トークン値保持部3425の値を設定する。
トークン量判定部3426は、トークンバケットパラメータ保持部3421に蓄積されるトークン量(TP)の正負を判定し、TP≧0であれば”1”を、TP<0であれば”0”をAND回路3428に出力する。
MFRモード有効/無効保持部3427は、制御部330によって設定された、MFRモードの有効又は無効の情報を保持し、MFRモードが有効であれば”1”を、MFRモードが無効であれば”0”をAND回路3428に出力し続ける。
AND回路3428は、MFRモード有効/無効保持部3427から出力される信号、トークン量判定部3426から出力される信号、パケットバッファ345から出力されるパケット有無信号及びPFR許容判定部3435から出力される信号の論理和を計算する。論理和の結果はパケット送出リクエストであり、MFRリクエスト選択部346に送られる。すなわち、最低保証帯域制御をする場合で、TP≧0であり、パケットバッファ345にパケットが格納されていて、かつ、PFR許容判定部3435から”1”が出力されている場合、MFRリクエスト選択部346には”1”が送られる。
図5は、第1の実施の形態の最大許容帯域排出タイミング生成部343のブロック図である。
最大許容帯域(PFR)排出タイミング生成部343は、許容される最大帯域を制御する。最大許容帯域制御は、ユーザとキャリア間で契約帯域以下にデータ転送を確実に制限することが約束されたサービスを提供する。よって、リーキーバケットアルゴリズムが最大許容帯域制御に適している。
最大許容帯域(PFR)排出タイミング生成部343は、リーキーバケットパラメータ保持部3431、トークン加算部3432、トークン減算部3433、トークン減算量保持部3434、PFR許容判定部3435、トークン量判定部3436、PFRモード有効/無効保持部3437及びAND回路3438を備える。
リーキーバケットパラメータ保持部3431は、リーキーバケットアルゴリズムに用いられるパラメータ(リーキーバケットに蓄積されるトークン量(TL))を保持する。リーキーバケットパラメータ保持部3431に蓄積されるトークンは、送出パケット長に基づいて加算され、一定時間に一定量が減算される。
トークン加算部3432は、パケットバッファ345から出力された送出パケット長信号に基づいて、リーキーバケットパラメータ保持部3431に、パケット長に対応する量のトークンを加算する。
トークン減算量保持部3434は、定期的に減算されるトークンの減算量を保持しており、制御部330によって設定される。
トークン減算部3433は、一定時間に一定量のトークンを減算する。具体的には、トークン減算部3433は、トークン減算信号(例えば、クロック信号)が入力されると、トークン減算量保持部3434に保持された量のトークンを減算する。
トークン量判定部3436は、リーキーバケットパラメータ保持部3431に蓄積されるトークン量(TL)を判定し、TL=0であれば”1”を、TL≠0であれば”0”を
、PFR許容判定部3435及びAND回路3438に出力する。
PFR許容判定部3435は、PFR制御の有効/無効及びリーキーバケットに蓄積されるトークン量に基づいて、MFR制御を有効にするか否かを、図8に示す論理で判定する。その結果、MFR制御を有効にする場合には”1”を出力し、MFR制御を無効にする場合には”0”を出力する。
PFRモード有効/無効保持部3437は、制御部330によって設定された、PFRモードの有効又は無効の情報を保持し、PFRモードが有効であれば”1”を、PFRモードが無効であれば”0”をAND回路3438に出力する。
AND回路3438は、PFRモード有効/無効保持部3437から出力される信号、トークン量判定部3436から出力される信号及びパケットバッファ345から出力されるパケット有無信号の論理和を計算する。論理和の結果はパケット送出リクエストであり、PFRリクエスト選択部346に送られる。すなわち、最大許容帯域を制御する場合で、TL=0であり、かつ、パケットバッファ345にパケットが格納されている場合、PFRリクエスト選択部346には”1”が送られる。
図6は、第1の実施の形態のベストエフォート読出リクエスト生成部344のブロック図である。
ベストエフォート(BE)読出リクエスト生成部344は、BEモード有効/無効保持部3447及びAND回路3448を備える。
BEモード有効/無効保持部3447は、制御部330によって設定された、BEモードの有効又は無効の情報を保持し、BEモードが有効であれば”1”を、BEモードが無効であれば”0”をAND回路3448に出力する。
AND回路3448は、BEモード有効/無効保持部3437から出力される信号及びパケットバッファ345から出力されるパケット有無信号の論理和を計算する。論理和の結果はパケット送出リクエストであり、BEリクエスト選択部346に送られる。すなわち、BEモード制御する場合で、かつ、パケットバッファ345にパケットが格納されている場合、BEリクエスト選択部346には”1”が送られる。
図7は、第1の実施の形態の動作モード制御テーブル400の説明図である。
動作モード制御テーブル400は、制御部330に格納されており、ユーザによって設定されたモード毎に、MFR制御、PFR制御及びBE制御をするかを定める。動作モード制御テーブル400は、帯域制御部341の数だけ制御部330に設けられ、キュー毎に異なる帯域制御モードの設定を可能とする。
動作モード制御テーブル400は、モード番号401、MFR制御有無402、PFR制御有無403及びBE制御有無404を含む。
MFR制御有無402は、最低保証帯域制御を行うか否かを定めるパラメータである。PFR制御有無403は、最大許容帯域制御を行うか否かを定めるパラメータである。BE制御有無404は、ベストエフォート制御を行うか否かを定めるパラメータである。
動作モード制御テーブル400にはモード1〜モード5が規定される。第1の実施の形態のネットワークノードは、これらの5種類のモードによる異なる帯域制御を実現するこ
とができる。
モード1では、ベストエフォート制御を有効にし、最低保証帯域制御と最大許容帯域制御とをを無効にする。この効果として、ベストエフォート読出リクエスト生成部344のみが動作するので、従来どおりのベストエフォートサービスが提供できる。
モード2では、最低保証帯域制御を有効にし、最大許容帯域制御及びベストエフォート制御を無効にする。この効果として、ユーザ毎の最低帯域を保証する制御をしながらパケットを転送することができ、契約帯域を確実に保証することができる。
モード3では、最低保証帯域制御及び最大許容帯域制御を有効にし、ベストエフォート制御を無効にする。この効果として、回線が混雑している場合、ユーザは最低保証帯域でパケットを転送することができる。また、回線に空きがある場合、ユーザは空帯域を利用し、設定した最大許容帯域までパケットを転送することができる。
なお、図8で後述するように、モード3には、空き帯域が生じており、かつ、最低保証帯域未満でパケットを転送するとき(トークンバケットパラメータ保持部3421のトークンが常に正のとき)に最大許容帯域を超えてパケットを送出するかどうかによって最低帯域優先モードと最大帯域優先モードの2種類のモードにさらに分類される。
モード4では、最低保証帯域制御及びベストエフォート制御を有効にし、最大許容帯域制御を無効にする。この効果として、回線が混雑している場合、ユーザは最低保証帯域でパケットを転送することができる。また、回線に空きがある場合、ユーザは空帯域を利用し、無制限にベストエフォートでパケットを転送することができる。
モード5では、最大許容帯域制御を有効にし、最低保証帯域制御及びベストエフォート制御を無効にする。この効果として、ユーザ毎の契約帯域以下に確実にトラヒックを制限しながらパケットを転送することができる。
なお、第1の実施の形態によれば、特許文献1に記載された技術では不可能であった制御(ベストエフォート制御や、契約帯域保証とべストエフォートによる空帯域利用とを組み合わせた制御)も提供することができる。
図8は、第1の実施の形態のPFR許容判定テーブル410の説明図である。
PFR許容判定テーブル410は、PFR許容判定部3435に格納されており、ユーザ送出パケット量が最低保証帯域以下ではあるが、最大許容帯域を超えた場合にパケットの転送を許可するか否かの判定に用いられる。このような状況はユーザがパケットを最低保証帯域以下で転送し続けており、あるときに最大許容帯域を超える帯域でバースト的にパケットを転送した場合に発生する(トークンバケットのトークン、リーキーバケットのトークン共に正の場合)。すなわち、PFR許容判定テーブル410は、前述したモード3において、最大許容帯域と最低保証帯域とのいずれを優先して制御するかを定める。
つまり、過去一定時間、最低保証帯域以下でデータを転送し続けていると、トークンバケット内にトークンが溜まった状態になり、パケット送出許可と判定される。しかし、この状態のまま次にユーザがバースト的にパケットを転送した場合、リーキーバケットからトークンを減算しきれないため、リーキーバケット内にもトークンが溜まった状態になり、パケット送出禁止と判定される。PFR許容判定テーブル410は、このようにトークンバケットとリーキーバケットとが矛盾した判定結果を出した場合に、どちらの判定結果を優先的に適用するかを定める。
PFR許容判定テーブル410は、最低帯域優先制御フラグ411、PFRモード有効/無効情報412、トークン量判定結果413及び判定結果414を含む。PFR許容判定テーブル410は、これらの情報411〜413を全て考慮して、PFR制御としてパケット送出許可と判定した場合は”1”を、パケット送出禁止と判定した場合は”0”を、判定結果として出力する。
最低帯域優先制御フラグ411は、モード3(最低保証帯域及び最大許容帯域制御サービス)において、最低保証帯域を優先するのか、最大許容帯域を優先して制御するのかを定める。すなわち、最低帯域優先制御フラグ411=”1”の場合は、最低保証帯域を優先して制御する最低帯域優先モードなので、PFR許容判定部3435からの出力は”1”となり、最低保証帯域制御が有効となる。
PFRモード有効/無効情報412は、PFRモード有効/無効保持部3437に保持されたPFRモードの有効又は無効の情報である。
トークン量判定結果413は、トークン量判定部3436のリーキーバケットパラメータ保持部3431に蓄積されるトークン量の判定結果である。
判定結果414は、最低保証帯域排出タイミング生成部342に対して出力される判定結果である。
最低帯域優先制御フラグ411=”0”の場合は、モード3において、最大許容帯域を優先して制御する最大帯域優先モードとなり、リーキーバケットに格納されたトークン量によって、最低保証帯域制御の有効又は無効が定まる。
図9は、第1の実施の形態の最低保証帯域排出タイミング生成部342において実行されるトークン減算処理のフローチャートである。
まず、トークン減算部3422は、パケットバッファ345から送出パケット長信号を受信すると(S101)、送出されたパケット長に相当するトークンをトークンバケットパラメータ保持部3421から減算する(S102)。
次に、トークン量判定部3426は、トークンバケットパラメータ保持部3421に蓄積されたトークン量(TP)の正負を判定し(S103)、判定結果をAND回路3428に出力する。
次に、AND回路3428は、入力された信号の論理和を計算する(S104)。すなわち、TP>0であり、MFRモードが有効であり、PFR許容状態であり、かつ、パケットバッファ345にパケットが蓄積されている場合に、最低保証帯域でのパケット送信タイミングであると判定し、パケット送出リクエストを生成して最低保証帯域リクエスト選択部346に送出する(S105)。
一方、TP>0、MFRモードが有効、PFR許容状態、又は、パケットバッファ345にパケットが蓄積されているのいずれかの条件を満たしていなかった場合には、最低保証帯域制御によるパケット送信タイミングではないので、パケット送出リクエストを生成せず、この処理を終了する。
図10は、第1の実施の形態の最低保証帯域排出タイミング生成部342において実行される定期トークン加算処理のフローチャートである。
まず、トークン加算部3423は、トークン加算信号を受信すると(S111)、トークンバケットパラメータ保持部3421に蓄積されるトークンの量にトークン加算量保持部3424の値を加算した値と最大トークン値保持部3425の値との大小を比較する(S112)。
その結果、トークン加算量保持部3424の値を加算した後のトークン量が最大トークン値以下である場合は、トークン加算量保持部3424で保持されるトークンの加算量を、トークンバケットパラメータ保持部3421に加算する(S113)。
一方、加算後のトークン量が最大トークン値を超える場合は、最大トークン値保持部3425に保持される値を、トークンバケットパラメータ保持部3421に設定する(S114)。
その後、トークン量判定部3426は、トークンバケットパラメータ保持部3421に蓄積されたトークン量(TP)の正負を判定し(S115)、判定結果をAND回路3428に出力する。
次に、AND回路3428は、入力された信号の論理和を計算する(S116)。すなわち、TP>0であり、MFRモードが有効であり、PFR許容状態であり、かつ、パケットバッファ345にパケットが蓄積されている場合に、最低保証帯域でのパケット送信タイミングであると判定し、パケット送出リクエストを生成して最低保証帯域リクエスト選択部346に送出する(S117)。
一方、TP>0、MFRモードが有効、PFR許容状態、又は、パケットバッファ345にパケットが蓄積されている、のいずれかの条件を満たしていなかった場合には、最低保証帯域制御によるパケット送信タイミングではないので、パケット送出リクエストを生成せず、この処理を終了する。
図11は、第1の実施の形態の最大許容帯域排出タイミング生成部343において実行されるトークン加算処理のフローチャートである。
まず、トークン加算部3432は、パケットバッファ345から送出パケット長信号を受信すると(S121)、送出されたパケット長に相当するトークンをリーキーバケットパラメータ保持部3431に加算する(S122)。
次に、トークン量判定部3436は、リーキーバケットパラメータ保持部3431に蓄積されたトークン量(TL)の有無を判定し(S123)、判定結果をAND回路3438に出力する。
次に、AND回路3438は、入力された信号の論理和を計算する(S124)。すなわち、TL=0であり、PFRモードが有効であり、かつ、パケットバッファ345にパケットが蓄積されている場合に、最大許容帯域制御によるパケット送信タイミングであると判定し、パケット送出リクエストを生成して最大許容帯域リクエスト選択部347に送出する(S125)。
一方、TL=0、PFRモードが有効、又は、パケットバッファ345にパケットが蓄積されているのいずれかの条件を満たしていなかった場合には、最大許容帯域制御によるパケット送信タイミングではないので、パケット送出リクエストを生成せず、この処理を終了する。
図12は、第1の実施の形態の最大許容帯域排出タイミング生成部343において実行される定期トークン減算処理のフローチャートである。
まず、トークン減算部3433は、トークン減算信号を受信すると(S131)、リーキーバケットパラメータ保持部3431に蓄積されるトークンの量からトークン減算量保持部3434の値を減算した値と”0”とを比較する(S132)。
その結果、トークン減算量保持部3434の値減算後のトークン量が”0”より大きい場合は、トークン減算量保持部3434で保持しているトークンの減算量を、リーキーバケットパラメータ保持部3431から減算する(S133)。
一方、減算後のトークン量が”0”以下の場合は、リーキーバケットパラメータ保持部3431に”0”設定する(S134)。
その後、トークン量判定部3436は、リーキーバケットパラメータ保持部3431に蓄積されたトークン量(TL)の有無を判定し(S135)、判定結果をAND回路3438に出力する。
次に、AND回路3438は、入力された信号の論理和を計算する(S136)。すなわち、TL=0であり、PFRモードが有効であり、かつ、パケットバッファ345にパケットが蓄積されている場合に、最大許容帯域制御によるパケット送信タイミングであると判定し、パケット送出リクエストを生成して最大許容帯域リクエスト選択部347に送出する(S137)。
一方、TL=0、PFRモードが有効、又は、パケットバッファ345にパケットが蓄積されている、のいずれかの条件を満たしていなかった場合には、最大許容帯域制御によるパケット送信タイミングではないので、パケット送出リクエストを生成せず、この処理を終了する。
図13は、第1の実施の形態の動作モード”2”(最低保証帯域)実施時のトークンバケットのトークンの動作を表す説明図である。
動作モード”2”は、トークンバケットアルゴリスムを用いて、式 R×T+B を用いて帯域を制御する方法で、最低帯域の保証に適している(図7参照)。なお、Rは単位時間当たりに加算するトークン量、Tは時間、Bはバケットの深さ(蓄積できるトークンの最大量)である。
トークンバケットアルゴリズムは、最低保証帯域サービスにおけるパケット送出制御に用いられる。なお、本説明図では、パケットバッファ345には、常に、ユーザのパケットが格納されていることを前提としている。
トークンバケットアルゴリズムでは、一定周期に一定量のトークンをバケットの中に加算する。この一定量の加算トークン量が設定する最低保証帯域に相当する。そして、トークン量が正になればパケット送出権が発生する。パケットが送出されると、送出されたパケットの長さに対応するトークンが減算される。
具体的には、トークンが加算され、トークン量(TP)>0になると、パケット送出権が発生し、パケットを送出する。そして、パケットを送出すると送出したパケット長に相当するトークンをバケットから減算する(501)。
その後も、一定周期に一定量のトークンをトークンバケットに加算して、トークン量が正になればパケットを送出する。しかし、TP>0であっても、他ユーザがパケット送出中などの場合には、パケットの送出ができない場合もある(502)。
また、トークンバケットにトークンを加算した結果、最大トークン値に到達したら、それ以上のトークンを加算できないように制御される(503)。
その後、他ユーザによるパケット送出が終了すれば、パケットを送出する。さらに、帯域に空きがあり、TP>0であれば、パケットを連続して送出することができる。
このようなトークンバケットアルゴリズムによって、最低帯域を保証するように制御される。
図14は、第1の実施の形態の動作モード”3”の”最大帯域優先モード” (図7及
び図8参照)のトークンバケットとリーキーバケットのトークンの動作を表す説明図である。
動作モード3では、トークンバケットとリーキーバケットの両方を用いて帯域の制御を行う。
動作モード”3”は、リーキーバケットアルゴリズムは、式 R×T を用いて帯域を制御する方法で、最大許容帯域の制限に適している。なお、Rは単位時間当たりにバケットから減算するトークン量、Tは時間である。
リーキーバケットアルゴリズムは、最大許容帯域制御サービスにおけるパケット送出制御に用いられる。なお、本説明図では、パケットバッファ345には、常に、ユーザBのパケットが格納されていることを前提としている。
リーキーバケットは、一定周期に一定量のトークンをバケットから減算する。この一定量の減算トークン量が設定する最大許容帯域に相当する。そして、トークンが”0”になるとパケット送出権が発生する。パケットが送出されると、送出されたパケットの長さに対応するトークンが加算される。
本実施の形態の装置は、トークンバケットアルゴリズム及びリーキーバケットアルゴリズムを組み合わせているので、最低保証帯域及び最大許容帯域の双方の制御が実現する。
パケットを送出すると、リーキーバケットアルゴリズムでは、キューから送出されるパケットの長さに対応するトークンを加える。トークンを加えた結果、リーキーバケットのトークンは正となり、キューへのパケット送出許可信号は発生しない。リーキーバケットからは一定周期に一定量のトークンが減算されるので、やがて、トークン(TL)が”0”になり、パケット送出権が発生する。一方、トークンバケットアルゴリズムでは、キューから送出されるパケットの長さに対応するトークンを減じる。トークンを減じた結果、トークンバケットのトークンが負となった場合、キューへのパケット送出許可信号は発生しない。トークンバケットには一定周期に一定量のトークンが加算されるので、やがて、トークン量(TP)が正になり、パケット送出権が発生する。すなわち、TP>0、かつ、TL=0であれば、パケットを送出することができる。
しかし、空き帯域がある場合は、TP≦0であっても,TL=0ならば、パケットの送出を許可する。この空帯域を利用したパケット送出時に、TP≦0の場合はトークンを減
算しない(511)。これは、TP≦0のパケットの送出時にトークンを減算すると、輻輳時にパケットの送出が抑制され、最低帯域が保証できない可能性があるからである。このようにすると、最低帯域を保証しつつ、空き帯域があれば最大許容帯域まで利用してパケットを送出することができる。
しかし、モード”3”の”最大帯域優先モード”では、TP>0かつ空き帯域があっても、TL>0であれば、パケットの送出は禁止される(512)。これは、TP>0であっても、TL>0の場合にパケットを送出すると、最大許容帯域を超えてしまい、最大許容帯域を制限できなくなるからである。これは、”最大帯域優先モード”では、TL>0の場合に、PFR許容判定部から”0”が送出されるためである。
図15は、第1の実施の形態の動作モード”3”の”最低帯域優先モード”(図7及び図8参照)のトークンバケットとリーキーバケットのトークンの動作を表す説明図である。
輻輳時および空帯域が発生し最低保証帯域以上の帯域を利用してパケットの送出を許可する動作は図14に示した動作モード”3”の”最大帯域優先モード”と同一である(521)。
一方、”最低帯域優先モード”では、TP>0かつTL>0の場合の動作が”最大帯域優先モード”と異なる。”最低帯域優先モード”ではTP>0かつTL>0であっても、帯域に空きがあれば、パケットの送出が許可される(522)。このようすることで、何らかの理由(例えば、他ユーザによる回線占有)によって、ユーザの使用帯域が最低保証帯域以下となってしまった場合に、バースト的にパケットを送出して、今まで使用できなかった帯域を取り戻すことができ、結果的に最低保証帯域の保証をより確実にする。これは、”最低帯域優先モード”では、TLの値に関わらず、PFR許容判定部から”1”が送出されるためである。
図16は第1の実施の形態においてトラヒックの変動が発生した場合の各ユーザトラヒック量の変化を示す説明図である。
ユーザAは、最低保証帯域サービス(モード1)の提供を受けている。ユーザBは、最低保証帯域かつ最大許容帯域制御のサービス(モード3の最大帯域優先モード)の提供を受けている。ユーザCは、最低保証帯域かつベストエフォート(モード4)のサービスの提供を受けている。ユーザDは、ベストエフォート(モード1)のサービスの提供を受けている。
このように、本実施の形態では、帯域制御部341毎にモードの設定を変更することによって、ユーザ毎に異なるサービス形態を提供することが可能である。また、帯域制御部341毎にトークン加算量保持部3424の設定値、トークン減算量保持部の値3434の設定値を変えて保持することによって、ユーザ毎に異なる回線帯域を提供することが可能である。
図16のある時点では、ユーザA、B、Cからは設定した最低保証帯域を遵守する間隔でパケットが到着しており、到着パケットをネットワークノードから送出している。また、ユーザDはパケットの送出を行っていない(1601)。
その後、ユーザBのパケットが最低保証帯域以上に本ネットワークノードに到着し始める。このとき、ユーザBの実際のパケット到着量は不明であるが、ユーザAとユーザCの最低保証帯域は確保されており、ユーザBのパケットは空帯域を利用してのみ送出されて
いる(1602)。これは、リクエスト選択部349ではMFRリクエスト選択部346から送られてきたパケット送出リクエストを最優先して選択するためである。
その後、ユーザAから到着するパケットがユーザAの最低保証帯域以下になりさらに空帯域が発生した。また、ユーザBから到着するパケットが更に増加した。このとき、ユーザBのパケットは設定している最大許容帯域まで送出される。但し、空帯域がまだあったとしても、最大帯域以上のパケットは転送されない(1603)。
これは、MFR排出タイミング生成部342において、トークンバケットパラメータ保持部の値が”0”以下、つまりは最低保証帯域を超過している場合、パケットの有無に関わらずパケット送出リクエストが送出されないためである。また、同様にPFR排出タイミング生成部343において、リーキーバケットパラメータ保持部の値が”0”より大きい、つまりは最大許容帯域を超過している場合、パケットの有無に関わらずパケット送出リクエストが送出されないためである。
その後、ユーザBの到着パケットが減少し、ユーザAとユーザCの到着パケットが増加した。また、ユーザDからパケットが到着するようになった。ユーザAには、最低保証帯域サービスのみが提供のみが提供されているため、設定帯域以上にパケットは送出されない。一方、ユーザCには、最低保障帯域かつベストエフォート(モード4)のサービスが提供さであるため、ベストエフォートサービスの提供を受けているユーザDとユーザCとで空帯域が公平に割り当てられて、パケットが送出されている(1604)。
これは、最低保証帯域サービスかつベストエフォートサービスでは、空帯域を利用して最低保証帯域以上のパケットを送出する場合、帯域制御部341のMFR排出タイミング部のトークンバケットパラメータ保持部3421の値が”0”以下であり、MFR排出タイミング部からはパケット送出リクエストが送出されず、BE読み出しリクエスト生成部344からのみパケット送出リクエストが送出されからである。
以上説明したように、第1の実施の形態では、最低保証帯域制御のためのトークンバケット、最大許容帯域制御のためのリーキーバケットの双方を、帯域の制御単位(キュー毎)に備える。さらに、空帯域が発生した場合にのみパケットの転送が許可されるベストエフォート用のスケジューラを備える。よって、ユーザ毎に、ベストエフォートサービス、契約帯域保証サービス、最大許容帯域制御サービス及びこれらの組み合わせによるサービスを提供することができる。
(実施形態2)
図17は、本発明の第2の実施の形態のネットワーク構成を示すブロック図である。
本発明の実施の形態のネットワークは、インターネット1110、電話網(又は、専用線網)1120、ONU1200及びOLT1300を備える。
ONU(Optical Network Unit)1200は、光ファイバ網の加入者側の終端装置である。ONU1200には、加入者側に設けられたEthernet及び電話回線(又は、専用線)が接続されている。
ONU1200は、OLT1300から送信された光信号を受信し、光−電気変換によって、電気信号を生成する。また、ONU1200は、Ethernet及び電話回線から入力されたい信号を多重化して、OLT1300から指定されたタイミングで光信号を送信する。
OLT(Optical Line Terminal)1300は、光ファイバ網の局側の終端装置である
。OLT1300は、インターネット1110及び電話網1120に接続されている。
インターネット1110は、データの伝送終了まで回線を占有する必要がないネットワーク(パケット交換網)であって、可変帯域通信を提供する。電話網1120は、回線交換網(例えば、ISDN網)であり、データの伝送終了まで回線を占有するネットワーク(例えば、ISDN網等の回線交換網)であって、固定帯域通信を提供する。
ONU1200とOLT1300とは、光ファイバ網で接続されている。ONU1200とOLT1300との間の経路上にはスプリッタが設けられる。スプリッタは、光ファイバ網の途中に設けられる分岐装置であり、例えば、スターカプラが使用される。
スプリッタが複数のONU1200からの信号を多重化して、OLT1300へ伝送するネットワーク区間がPON(Passive Optical Network)区間となる。
図20は、第2の実施の形態のPON区間でデータを伝送するPONフレームの構成図である。
PON区間の下りフレーム1501は固定長であり、フレームヘッダ1502とペイロードを含む構成に分かれている。一般的にペイロードにはTDMデータが先に格納され、Ethernetデータが後に格納されるため、ここでは、ペイロードをTDMペイロード1503及びEthernetペイロード1504に分けて表現する。さらに、Ethernetペイロード1504には、Ethernetパケット以外のパケットが格納されることもあるが、ここでは可変長パケットの代表としてEthernetとしている。
TDM用ペイロード1503及びEthernet用ペイロード1504は、読出選択部1352によって、PONフレーム1501中に配置される。
フレームヘッダ1502は、ONU1200の制御情報(PON区間上りの帯域、ONU1200の構成情報など)を含む可変長のデータである。なお、フレームヘッダ1502以外の領域がデータに割り当てられるペイロードである。
TDM用ペイロード1503は、固定帯域データに割り当てられる可変長の領域である。
Ethernet用ペイロード1504は、可変帯域データに割り当てられる可変長の領域である。すなわち、可変帯域データは、フレームヘッダ1502及びTDM用ペイロード以外の領域に割り当てられる。
Ethernet用ペイロード1504には、複数のGEMパケット1509が含まれている。PON区間において、EthernetパケットはGEMパケット1509にカプセル化され転送される。GEMパケット1509はパケットの宛先及びパケット長などの情報が格納されているGEMヘッダ1505と、GEMペイロード1506を含む。GEMペイロードにはEthernetフレームが含まれる。
ここで、PON下りフレーム1501は固定長である。そのため、図20に示すようにEthernetペイロードに収まりきらないEthernetパケット1510が現れる。この時、OLT1300は、Ethernetパケットを二つに分割し、それぞれをGEMパケットに格納する。すなわち、分割された Ethernetパケットの前半1507は現在パケット格納中のEthernet用ペイロードへ格納され、後半1508は次のEthernet用ペイロードの先頭に格納される。
図18は、第2の実施の形態のOLT1300のブロック図である。
OLT1300は、スイッチ1310、PON回線インターフェース1320、制御部1330、パケット交換インターフェース1328及び回線交換インターフェース1329を備える。ここでは簡単のため、パケット交換インタフェース1328、回線交換インタフェース1329、PON回線インタフェース1320は各1つづつとなっているが、複数毎あっても良い。
スイッチ1310は、送られたデータの内部ヘッダを参照して、当該データを送信するインターフェースを決定し、決定したインターフェースにデータを送る。
PON回線インターフェース1320は、PON区間の光ファーバ網を終端し、光−電気変換によって、受信した光信号から電気信号を生成する。そして、受信したフレームのヘッダを解析し、内部ヘッダを付加してスイッチ1310に送る。
制御部1330は、トラヒックシェーピング部1340で使用される各種閾値及び各動作モードの有効又は無効を設定し、その設定内容をトラヒックシェーピング部1340に送る。
パケット交換インターフェース1328は、OLT1300をインターネット1110に接続するインターフェースである。パケット交換インターフェース1328は、インターネット1110にパケットを送信し、インターネット1110からパケットを受信する。
回線交換インターフェース1329は、OLT1300を電話網1120に接続するインターフェースである。回線交換インターフェース1329は、電話網1120にデータを送信し、電話網1120からデータを受信する。
PON回線インターフェース1320は、光モジュール1321、パケット送信回路1322、パケット受信回路1323、ヘッダ付与回路1325及びトラヒックシェーピング部1340を備える。
光モジュール1321は、PON区間の光ファーバ網を終端する光電気変換器であり、ONU1200から送信された光信号を受信し、光−電気変換によって、電気信号を生成する。また、ONU1200に対して所定のタイミングで光信号を送信する。
パケット送信回路1322は、トラヒックシェーピング部1340によって定められたタイミングでパケットを送出する。
パケット受信回路1323は、光モジュール1321が受信した光信号からパケットを抽出し、スイッチ1310に送る。
ヘッダ付与回路1325は、トラヒックシェーピング部1340からパケットを受信すると、PON区間の転送に使用するPON下りフレーム1501を生成する。ヘッダ付与回路1325は、PON下りフレームのヘッダを作成し、作成したヘッダのヘッダサイズをフレームヘッダ長信号としてトラヒックシェーピング部1340へ送出する。また、PON下りフレーム1501のペイロードへパケットを格納する準備が完了すると、フレーム送出許可信号を送出する。フレーム送出許可信号は、ペイロードが満載になるまでの間
送出され続ける。また、図示を省略するが、ヘッダ付与回路には、受信パケット長をカウントするカウンタが存在し、PON下りフレーム1501のペイロードが満載になると、フレーム送出許可信号の送出を停止する。
トラヒックシェーピング部1340は、パケットの送出タイミングを定める。
図19は、第2の実施の形態のトラヒックシェーピング部1340のブロック図である。
トラヒックシェーピング部1340は、複数の帯域制御部1341、MFRリクエスト選択部1346、PFRリクエスト選択部1347、BEリクエスト選択部1348、リクエスト選択部1349、TDMパケットバッファ1350、Ethernetパケットバッファ1351、読出選択部1352、フラグメントバッファ1353、読出データ長制御部1354及び読出データ長カウンタ1355を備える。
トラヒックシェーピング部1340は、処理速度の観点からハードウェアで構成するとよいが、ソフトウェアで構成してもよい。
Ethernetパケットバッファ1351は、パケット交換インターフェース1328から入力されたデータを格納する複数のキューを備え、リクエスト選択部1349からの送出許可信号によってキューに格納されたデータを送出する。
また、Ethernetパケットバッファ1351は、キューから送出されるパケット長を判定し、送出パケット長信号を帯域制御部1341と読出データ長制御部1354に出力する。さらに、Ethernetパケットバッファ1351は、キューにパケットが格納されているか否かを示すパケット有無信号を帯域制御部1341に出力する。パケット有無信号は、対応するキューにパケットが格納されていれば”1”を、パケットが格納されていなければ”0”となる。
TDMパケットバッファ1350は、回線交換インターフェース1329から入力されたデータを格納する複数のキューを備え、リクエスト選択部349からの送出許可信号によってキューに格納されたデータを送出する。
また、TDMパケットバッファ1350は、キューから送出されるパケット長を判定し、送出パケット長信号を読出データ長制御部1354に出力する。
帯域制御部1341は、Ethernetパケットバッファ1351に備えられたキュー毎に設けられ、各キューからのパケットの送出を制御する。帯域制御部1341は、最低保証帯域(MFR)排出タイミング生成部1342、最大許容帯域(PFR)排出タイミング生成部1343及びベストエフォート(BE)読出リクエスト生成部1344を備え、各生成部による制御アルゴリズムによって、パケットの送出タイミングを制御する。
最低保証帯域排出タイミング生成部1342は、前述した第1の実施の形態の最低保証帯域排出タイミング生成部342(図4)と同じ構成である。また、最大許容帯域排出タイミング生成部1343は、前述した第1の実施の形態の最大許容帯域排出タイミング生成部343(図5)と同じ構成である。また、ベストエフォート読出リクエスト生成部1344は、前述した第1の実施の形態のベストエフォート読出リクエスト生成部344(図6)と同じ構成である。
MFRリクエスト選択部1346は、複数の帯域制御部1341の最低保証帯域排出タ
イミング生成部1342からの信号を一つ選択する。例えば、ラウンドロビンによって、順に、帯域制御部1341からの信号を選択するとよい。そして、選択した帯域制御部1341に対応するキューのパケット送出リクエストを、リクエスト選択部1349に送る。
PFRリクエスト選択部1347は、複数の帯域制御部1341の最大許容帯域排出タイミング生成部1343からの信号を一つ選択する。例えば、ラウンドロビンによって、順に、帯域制御部1341からの信号をを選択するとよい。そして、選択した帯域制御部1341に対応するキューのパケット送出リクエストを、リクエスト選択部1349に送る。
BEリクエスト選択部1348は、複数の帯域制御部1341の最低保証帯域排出タイミング生成部1342からの信号を一つ選択する。例えば、ラウンドロビンによって、順に、帯域制御部1341からの信号をを選択するとよい。そして、選択した帯域制御部1341に対応するキューのパケット送出リクエストを、リクエスト選択部1349に送る。
リクエスト選択部1349は、MFRリクエスト選択部1346、PFRリクエスト選択部1347、BEリクエスト選択部1348からパケット送出リクエストを受信すると、受信したパケット送出リクエストのいずれかを選択し、パケットバッファの複数のキューのうちパケットを送出してもよいキューを指示する送出許可信号を送出する。なお、パケット送出リクエストの優先順位はMFR選択部1346、PFRリクエスト選択部1347、BEリクエスト選択部1348の順で高くし、優先順位が高い送出許可リクエストがある場合は優先順位の低い送出許可リクエストが選択されないように設定することが望ましい。
読出選択部1352は、TDMパケットバッファ1350及びリクエスト選択部1349へパケット送出許可を出す。読出選択部1352は、ヘッダ付与回路1325からフレーム送出許可信号を受信すると、まず、TDMパケットバッファ1350へとTDM送出許可信号を送出する。TDMパケットバッファ1350に蓄積されるデータが空になり、かつ、まだ送出許可信号を受信している場合、読出選択部1352はリクエスト選択部1349へEthernet送出許可信号を送出する。読出選択部1352は、フレーム送出許可信号を受信している間はEthernet送出許可信号を送出し続け、フレーム送出許可信号を受信しなくなると、Ethernet送出許可信号を停止する。また、読出選択部1352は、TDMパケットバッファ1350に格納された固定帯域データ及びEthernetパケットバッファ1351に格納された可変帯域データを多重化し、フレーム許可信号に従ってヘッダ付与回路1325に送る。また、読出選択部1352は受信パケットの内部ヘッダ情報を元にGEMヘッダを作成し、Ethernetパケットをカプセル化する。
読出データ長制御部1354は、ヘッダ付与回路1325からフレームヘッダ長信号を受信すると、その値を読出データ長カウンタ1355に加算する。加算時、読出データ長カウンタの値が負の値であった場合、フラグメントバッファ1353に、フラグメント化されたEthernetパケットが格納されているので、読出信号を送出してフラグメントバッファからのパケット送出を許可する。
読出データ長制御部1354は、読出完了信号をフラグメントバッファ1353から受信すると、リクエスト選択部1349へ選択許可信号を送出する。
さらに、読出データ長制御部1354は、TDMパケットバッファおよびEthernetパケットバッファからの送出パケット長信号を受信すると、その値を読出データ長カウンタ1
355から減算する。また、減算の結果、読出データ長カウンタ値が負になった場合、Ethernetパケットを図20に示すように2つに分割するためのフラグメント信号をフラグメントバッファ1353に送出する。また、読出データ長カウンタが0以下になった場合は選択許可信号を停止する。
フラグメントバッファ1353は、フラグメント信号を受信すると、PONフレームに収容するパケットの送出を停止し、送出が停止されたパケットを一時的に保持する。すなわち、PONフレームに収容できなかった可変帯域データは、フラグメントバッファ1353に一時的に格納され、次のフレームのタイミングで読出選択部1352に送る。
読出データ長カウンタ1355は、下りPONフレームのペイロードに搭載できるデータ長を表しており、TDMパケットバッファ1350又は Ethernetパケットバッファ1351からパケットを送信する毎に、そのパケット長に相当する値が減算される。読出データ長カウンタ1355は負の値を保持することもある。
図21は、第2の実施の形態の読出選択処理のフローチャートであり、読出選択部1352において実行される。
まず、読出選択部1352は、フレーム送出許可信号を受信しているか否かを判定する(S1001)。
その結果、フレーム送出許可信号の受信中であれば、可変帯域データ(Ethernetパケット)を割り当てる前に固定帯域データ(TDMパケット)を割り当てるために、TDM送出許可信号をTDMパケットバッファ1350に送信し(S1002)、TDMパケットバッファ1350からTDMパケットを読み出す。
その後、全てのTDMパケットの読み出しが完了したか否かを判定する(S1003)。TDMパケットの読み出しが完了していなければ、ステップS1001に戻り、フレーム送信許可信号受信中であれば、TDMパケットバッファ1350からTDMパケットを読み出す。
一方、TDMパケットの読み出しが完了していれば、Ethernet送出許可信号をEthernetパケットバッファ1351に送信し(S1004)、Ethernetパケットバッファ1351からEthernetパケットを読み出す。
その後、フレーム送出許可信号を受信しているか否かを判定する(S1005)。フレーム送出許可信号の受信中であれば、ステップS1004に戻り、Ethernet送出許可信号を送信し、Ethernetパケットを読み出す。
一方、フレーム送出許可信号の受信中でなければ、PONフレームにEthernetパケットを割り当てることができないので、Ethernet送出許可信号を停止する(S1006)。
図22は、第2の実施の形態の読出データ長制御部の読出データ長カウンタ値計算処理のフローチャートであり、読出データ長制御部1354にて実行される。
まず、読出データ長制御部1354は、受信したフレームヘッダ長信号から、フレームヘッダ長を特定する(S1011)。
次に、読出データ長カウンタ値の正負を判定する(S1012)。
その結果、読出データ長カウンタ値が負であれば、固定長のPON下りフレーム長と負の読出データカウンタ値とを加算し、そこから、PONフレームのヘッダ長を減した値を、読出データカウンタに設定する(S1013)。
一方、読出データ長カウンタ値が”0”以上であれば、PONフレーム長からPONフレームのヘッダ長を減じた値を、読出データカウンタに設定する(S1014)。
その後、選択許可送信信号をリクエスト選択部1349に送信する(S1015)。その後、TEMパケットバッファ1350または、Ethernetパケットバッファ1351からパケットが読み出されると、送出パケット長信号を受信する(S1016)。
送出パケット長信号を受信すると、送出されたパケット長を特定して、特定された送出パケット長を読出データ長カウンタ値から減じる(S1017)。
その後、読出データ長カウンタ値の正負を判定する(S1018)。
その結果、読出データ長カウンタ値が正であれば、PONフレームにまだパケットを収容することができるので、ステップS1016に戻り、送出パケット長受信待ちとなる。一方、読出データ長カウンタ値が”0”以下であれば、PONフレームにこれ以上のパケットを収容できないので、ステップS1019に進む。
ステップS1019では、読出データ長カウンタ値の正負を判定する。その結果、読出データ長カウンタ値が負であれば、パケットがPONフレームに収容しきれないので、フラグメント信号をフラグメントバッファ1353に送信する(S1020)。その後、選択許可信号の出力を停止し(S1021)、この処理を終了する。
一方、読出データ長カウンタ値が”0”以上(すなわち、読出データ長カウンタ値=”0”)であれば、パケットがPONフレームに収容されたので、この処理を終了する。
以上説明したように、第2の実施の形態では、最低保証帯域制御のためのトークンバケット、最大許容帯域制御のためのリーキーバケット、ベストエフォート用のスケジューラを、帯域の制御単位(キュー毎)に備える。さらに、トラヒックシェーピング部1321に、TDMパケットバッファ1350、 Ethernetパケットバッファ1351、フラグメントバッファ1353、読出選択部1352、読出データ長制御部1354及び読出データ長カウンタ1355を備える。よって、近年普及してきたFTTHアクセスサービスを提供するPONシステムの局舎側装置においても、ユーザ毎に、ベストエフォートサービス、契約帯域保証サービス、最大許容帯域制御サービス及びこれらの組み合わせによるサービスを提供することができる。
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。
(2)前記シェーピング部は、パケットの送出帯域を制御する帯域制御部を備え、
前記帯域制御部は、前記トークンバケットアルゴリズムを用いて前記最低保証帯域を保証し、又は、前記リーキーバケットアルゴリズムを用いた前記最大許容帯域以下へ制限することを特徴とする請求項1に記載のパケット転送装置。
(3)前記インターフェース部は、受信した光信号を電気信号に変換する光・電気変換部を備えることを特徴とする請求項1に記載のパケット転送装置。
(4)前記シェーピング部は、前記受信したパケットを一時的に格納するパケットバッファと、前記パケットバッファから読み出されるパケットを選択するリクエスト選択部と、を備え、
前記帯域制御部は、
前記受信したパケットの前記最低保証帯域を前記トークンバケットアルゴリズムを用いて保証するための前記パケットの送出タイミングを出力する第1タイミング生成部と、
前記受信したパケットの送出帯域を前記リーキーバケットアルゴリズムを用いて前記最大許容帯域以下に制限するための前記パケットの送出タイミングを出力する第2タイミング生成部と、
前記受信したパケットをベストエフォートで送出するための前記パケットの送出タイミングを出力する第3タイミング生成部と、を備え、
前記リクエスト選択部は、前記第1タイミング生成部、前記第2タイミング生成部及び前記第3タイミング生成部から出力された信号のいずれかを選択して、前記パケットバッファから読み出されるパケットを選択することを特徴とする(2)に記載のパケット転送装置。
(5)前記第1タイミング生成部は、トークンバケットパラメータ保持部、トークン減算部、トークン加算部及びトークン量判定部を備え、
前記トークン減算部は、前記パケットバッファから送出されたパケット長に対応するトークンを前記トークンバケットパラメータ保持部から減じ、
前記トークン加算部は、所定量のトークンを前記トークンバケットパラメータ保持部に周期的に加え、
前記トークン量判定部は、前記トークンバケットパラメータ保持部に保持されたトークン量が正であれば、前記パケットバッファからパケットを読み出し可能と判定することを特徴とする(4)に記載のパケット転送装置。
(6)前記第2タイミング生成部は、リーキーバケットパラメータ保持部、トークン加算部、トークン減算部及びトークン量判定部を備え、
前記トークン加算部は、前記パケットバッファから送出されたパケット長に対応するトークンを前記リーキーバケットパラメータ保持部に加え、
前記トークン減算部は、所定量のトークンを前記リーキーバケットパラメータ保持部か
ら周期的に減算し、
前記トークン量判定部は、前記リーキーバケットパラメータ保持部に保持されたトークン量が0であれば、前記パケットバッファからパケットを読み出し可能と判定することを特徴とする(4)に記載のパケット転送装置。
(7)前記シェーピング部は、前記リーキーバケットアルゴリズムの有効又は無効、前記トークンバケットアルゴリズムの有効又は無効、及び、前記ベストエフォート制御の有効又は無効、を制御することを特徴とする請求項1に記載のパケット転送装置。
(8)データを転送するパケット転送装置において、
パケットを送受信するインターフェース部、受信したパケットの宛先のインターフェース部に出力するスイッチ、パケットの送信タイミングを制御するシェーピング部及び前記シェーピング部を制御する制御部を備え、
前記シェーピング部は、
前記受信したパケットの送出帯域をトークンバケットアルゴリズムを用いて最低保証帯域を保証するように制御する第1タイミング生成部と、
前記受信したパケットの送出帯域をリーキーバケットアルゴリズムを用いて最大許容帯域以下に制限するように制御する第2タイミング生成部と、
前記受信したパケットの送出帯域をベストエフォートで制御する第3タイミング生成部と、を備え、
前記制御部は、前記各タイミング生成部による制御の有効又は無効を切り替えることを特徴とするパケット転送装置。
(9)前記制御部は、前記第3タイミング生成部による制御を有効とし、前記第1タイミング生成部及び前記第2タイミング生成部による制御を無効とすることによって、ベストエフォートでパケットを転送することを特徴とする(8)に記載のパケット転送装置。
(10)前記制御部は、前記第1タイミング生成部による制御を有効とし、前記第2タイミング生成部及び前記第3タイミング生成部による制御を無効とすることによって、ユーザ毎の最低保証帯域を保証しながらパケットを転送することを特徴とする(8)に記載のパケット転送装置。
(11)前記制御部は、前記第1タイミング生成部及び前記第2タイミング生成部による制御を有効とし、前記第3タイミング生成部による制御を無効とすることによって、ユーザ毎の最低保証帯域を保証し、かつユーザ毎の送出帯域を最大許容帯域以下に制限しながらパケットを転送することを特徴とする(8)に記載のパケット転送装置。
(12)前記制御部は、前記第1タイミング生成部及び前記第3タイミング生成部による制御を有効とし、前記第2タイミング生成部による制御を無効とすることによって、ユーザ毎の最低保証帯域を保証しつつ、空き帯域を有効に利用しながらパケットを転送することを特徴とする(8)に記載のパケット転送装置。
(13)前記制御部は、前記第2タイミング生成部による制御を有効とし、前記第1タイミング生成部及び前記第3タイミング生成部による制御を無効とすることによって、ユーザ毎の送出帯域を最大許容帯域以下に制限しながらパケットを転送することを特徴とする(8)記載のパケット転送装置。
(14)前記制御部は、前記各タイミング生成部による制御の有効又は無効を設定することを特徴とする(8)に記載のパケット転送装置。
(15)前記シェーピング部は、前記第1タイミング生成部に保持されるトークン量の最大値を保持する最大トークン値保持部を備え、
前記制御部は、前記トークン量の最大値を設定することを特徴とする(8)に記載のパケット転送装置。
(16)前記シェーピング部は、前記各タイミング生成部による制御の有効又は無効を保持する有効/無効保持部を備え、
前記制御部は、前記各タイミング生成部による制御の有効又は無効を、前記有効/無効保持部に設定することを特徴とする(8)に記載のパケット転送装置。
(17)データを転送するパケット転送装置において、
可変長パケットを格納した固定長フレームを送受信するインターフェース部、前記受信した可変長パケットを宛先のインターフェース部に出力するスイッチ及び前記可変長パケットの送信タイミングを制御するシェーピング部を備え、
前記シェーピング部は、前記可変長パケットの送出帯域を制御する帯域制御部及び前記受信した可変長パケットを一時的に格納するパケットバッファを備え、
前記シェーピング部は、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容しきれないときに、当該可変長パケットの一部を他の固定長フレームに収容することを特徴とするパケット転送装置。
(18)前記シェーピング部は、前記パケットバッファから読み出された前記可変長パケットを一時的に格納するフラグメントバッファを備え、
前記シェーピング部は、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容できないときに、当該可変長パケットの少なくとも一部を前記フラグメントバッファに一時的に格納することを特徴とする(17)に記載のパケット転送装置。
(19)前記シェーピング部は、前記パケットバッファから読み出されたデータ量を計数する読出データ長制御部を備え、
前記読出データ長制御部は、前記パケットバッファから読み出されたデータ量の計数結果によって、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容できるか否かを判定することを特徴とする(17)に記載のパケット転送装置。
(20)前記読出データ長制御部は、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容できないと判定したら、前記フラグメントバッファにフラグメント信号を出力し、
前記フラグメント信号によって、前記パケットバッファから読み出された前記可変長パケットの少なくとも一部を、前記フラグメントバッファに一時的に格納することを特徴とする(19)に記載のパケット転送装置。
(21)局側光終端装置と加入者側光終端装置とが光ファイバ網で接続されたネットワークシステムにおいて、
前記局側光終端装置は、コアネットワークに接続されており、
前記局側光終端装置は、可変長パケットを格納した固定長フレームを送受信するインターフェース部、受信した前記可変長パケットの宛先のインターフェース部に出力するスイッチ及び前記可変長パケットの送信タイミングを制御するシェーピング部を備え、
前記シェーピング部は、前記可変長パケットの送出帯域を制御する帯域制御部を備え、
前記帯域制御部は、
トークンバケットアルゴリズムを用いて、入力された前記可変長パケットの最低保証帯域を保証し、
リーキーバケットアルゴリズムを用いて、入力された前記可変長パケットの送出帯域を最大許容帯域以下に制限することを特徴とするネットワークシステム。
(22)前記インターフェース部は、受信した光信号を電気信号に変換する光・電気変換部を備えることを特徴とする(21)に記載のネットワークシステム。
(23)前記シェーピング部は、前記受信した可変長パケットを一時的に格納するパケットバッファと、前記パケットバッファから読み出される前記可変長パケットを選択するリクエスト選択部と、を備え、
前記帯域制御部は、
前記受信した可変長パケットの前記最低保証帯域を前記トークンバケットアルゴリズムを用いて保証するための前記可変長パケットの送出タイミングを出力する第1タイミング生成部と、
前記受信した可変長パケットの送出帯域を前記リーキーバケットアルゴリズムを用いて前記最大許容帯域以下に制限するための前記可変長パケットの送出タイミングを出力する第2タイミング生成部と、
前記受信した可変長パケットの送出帯域をベストエフォートで制御するための前記可変長パケットの送出タイミングを出力する第3タイミング生成部と、を備え、
前記リクエスト選択部は、前記第1タイミング生成部、前記第2タイミング生成部及び前記第3タイミング生成部から出力された信号のいずれかを選択して、前記パケットバッファから読み出されるパケットを選択することを特徴とする(21)に記載のネットワークシステム。
(24)前記第1タイミング生成部は、トークンバケットパラメータ保持部、トークン減算部、トークン加算部及びトークン量判定部を備え、
前記トークン減算部は、前記パケットバッファから送出されたパケット長に対応するトークンを前記トークンバケットパラメータ保持部から減じ、
前記トークン加算部は、所定量のトークンを前記トークンバケットパラメータ保持部に周期的に加え、
前記トークン量判定部は、前記トークンバケットパラメータ保持部に保持されたトークン量が正であれば、前記パケットバッファからパケットを読み出し可能と判定することを特徴とする(23)に記載のネットワークシステム。
(25)前記第2タイミング生成部は、リーキーバケットパラメータ保持部、トークン加算部、トークン減算部及びトークン量判定部を備え、
前記トークン加算部は、前記パケットバッファから送出されたパケット長に対応するトークンを前記リーキーバケットパラメータ保持部に加え、
前記トークン減算部は、所定量のトークンを前記リーキーバケットパラメータ保持部から周期的に減算し、
前記トークン量判定部は、前記リーキーバケットパラメータ保持部に保持されたトークン量が0であれば、前記パケットバッファからパケットを読み出し可能と判定することを特徴とする(23)に記載のネットワークシステム。
(26)局側光終端装置と加入者側光終端装置とが光ファイバ網で接続されたネットワークシステムにおいて、
前記局側光終端装置は、コアネットワークに接続されており、
前記局側光終端装置は、可変長パケットを格納した固定長フレームを送受信するインターフェース部、前記受信した可変長パケットの宛先のインターフェース部に出力するスイ
ッチ、前記可変長パケットの送信タイミングを制御するシェーピング部及び前記シェーピング部を制御する制御部を備え、
前記シェーピング部は、
前記受信した可変長パケットの送出帯域をトークンバケットアルゴリズム用いて最低保証帯域を保証するように制御する第1タイミング生成部と、
前記受信した可変長パケットの送出帯域をリーキーバケットアルゴリズムを用いて最大許容帯域以下に制限するように制御する第2タイミング生成部と、
前記受信した可変長パケットの送出帯域をベストエフォートで制御する第3タイミング生成部と、を備え、
前記制御部は、前記各タイミング生成部による制御の有効又は無効を切り替えることを特徴とするネットワークシステム。
(27)前記制御部は、前記第3タイミング生成部による制御を有効とし、前記第1タイミング生成部及び前記第2タイミング生成部による制御を無効とすることによって、ベストエフォートで前記可変長パケットを転送することを特徴とする(26)に記載のネットワークシステム。
(28)前記制御部は、前記第1タイミング生成部による制御を有効とし、前記第2タイミング生成部及び前記第3タイミング生成部による制御を無効とすることによって、ユーザ毎の最低保証帯域を保証しながら前記可変長パケットを転送することを特徴とする(26)に記載のネットワークシステム。
(29)前記制御部は、前記第1タイミング生成部及び前記第2タイミング生成部による制御を有効とし、前記第3タイミング生成部による制御を無効とすることによって、ユーザ毎の最低保証帯域を保証し、かつユーザ毎のパケット送出帯域を最大許容帯域以下に制限しながら前記可変長パケットを転送することを特徴とする(26)に記載のネットワークシステム。
(30)前記制御部は、前記第1タイミング生成部及び前記第3タイミング生成部による制御を有効とし、前記第2タイミング生成部による制御を無効とすることによって、ユーザ毎の最低保証帯域を保証しつつ、空き帯域を有効に利用しながらパケットを転送することを特徴とする(26)に記載のネットワークシステム。
(31)前記制御部は、前記第2タイミング生成部による制御を有効とし、前記第1タイミング生成部及び前記第3タイミング生成部による制御を無効とすることによって、ユーザ毎のパケット送出帯域を最大許容帯域以下に制限しながらパケットを転送することを特徴とする(26)に記載のネットワークシステム。
(32)前記制御部は、前記各タイミング生成部による制御の有効又は無効を設定することを特徴とする(26)に記載のネットワークシステム。
(33)前記シェーピング部は、前記第1タイミング生成部に保持されるトークン量の最大値を保持する最大トークン値保持部を備え、
前記制御部は、前記トークン量の最大値を設定することを特徴とする(26)に記載のネットワークシステム。
(34)前記シェーピング部は、前記各タイミング生成部による制御の有効又は無効を保持する有効/無効保持部を備え、
前記制御部は、前記各タイミング生成部による制御の有効又は無効を、前記有効/無効保持部に設定することを特徴とする(26)に記載のネットワークシステム。
(35)局側光終端装置と加入者側光終端装置とが光ファイバ網で接続されたネットワークシステムにおいて、
前記局側光終端装置は、コアネットワークに接続されており、
前記局側光終端装置は、可変長パケットを格納した固定長フレームを送受信するインターフェース部、前記受信した可変長パケットを宛先のインターフェース部に出力するスイッチ及び前記可変長パケットの送信タイミングを制御するシェーピング部を備え、
前記シェーピング部は、前記可変長パケットの送出帯域を制御する帯域制御部及び受信した前記可変長パケットを一時的に格納するパケットバッファを備え、
前記シェーピング部は、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容しきれないときに、当該可変長パケットの一部を他の固定長フレームに収容することを特徴とするネットワークシステム。
(36)前記シェーピング部は、前記パケットバッファから読み出された前記可変長パケットを一時的に格納するフラグメントバッファを備え、
前記シェーピング部は、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容できないときに、当該可変長パケットの少なくとも一部を前記フラグメントバッファに一時的に格納することを特徴とする(35)に記載のネットワークシステム。
(37)前記シェーピング部は、前記パケットバッファから読み出されたデータ量を計数する読出データ長制御部を備え、
前記読出データ長制御部は、前記パケットバッファから読み出されたデータ量の計数結果によって、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容できるか否かを判定することを特徴とする(35)に記載のネットワークシステム。
(38)前記読出データ長制御部は、前記パケットバッファから読み出された前記可変長パケットが前記パケット転送装置から送出される前記固定長フレームに収容できないと判定したら、前記フラグメントバッファにフラグメント信号を出力し、
前記フラグメント信号によって、前記パケットバッファから読み出された前記可変長パケットの少なくとも一部を、前記フラグメントバッファに一時的に格納することを特徴とする(37)に記載のネットワークシステム。