次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
(実施の形態)
本発明の実施の形態に係る通信方法は、複数の通信装置を備える通信システムに用いられる。通信装置は、バーストトラフィックが発生した際、回線のバースト耐性値に基づいて分配したリソースを使って帯域制御を行い、パケットを転送する。ここで、通信装置が複数の回線を収容する場合、通信装置は、効率的に各回線にバースト耐性を分配し、このバースト耐性に対応するリソースを用いてパケットを転送する。
本発明の実施の形態において、通信装置を単に「装置」と称する場合がある。本発明の実施の形態において、「バーストトラフィック」とは、設定帯域から期待されるパケット間隔よりも、パケットの間隔が短いトラフィックである。「バースト耐性」とは、バーストトラフィックに対する耐性である。「バースト耐性値」とは、このバースト耐性を数値化したものである。実施の形態において、バースト耐性値を、単に「バースト耐性」と称する場合がある。
(通信方法)
まず図1を参照して、本発明の実施の形態に係る通信方法を説明する。本発明の実施の形態に係る通信方法は、図2に示す通信システムを想定する。通信システムは、複数の通信装置を介してパケットを転送する。第1の回線L1および第2の回線L2は、A装置(第1の通信装置)1aおよびD装置(第2の通信装置)1dを中継してパケットを転送する。A装置1aは、バースト耐性の変更の開始を通知するルート装置である。D装置1dは、本発明の通信システムの終点装置である。
本発明の実施の形態に係る通信方法は、このような通信システムにおいて、バーストトラフィックが発生したとしても、円滑にトラフィックを維持することができるように、各装置が各回線に適切にバースト耐性を分配する。図1に示す処理は、新たに導入された通信装置や、収容ユーザに変更が生じた場合に、新たにバースト耐性値を算出する必要の生じた通信装置において行われる処理である。ここでは、新たにバースト耐性値を算出する必要の生じた通信装置がA装置1aである場合を説明する。
まずステップS1において、A装置1aは、各回線について、初期分配のバースト耐性候補値を算出する。「初期分配のバースト耐性候補値」は、A装置1aが、初期分配で各回線に分配したバースト耐性値である。
A装置1aが新たに導入された通信装置や、ユーザ情報に変更のあった通信装置の場合、A装置1aは、所定の条件に基づいて、各回線に当該通信装置の有するバースト耐性総量を分配して、各回線の初期分配のバースト耐性候補値を算出する。この所定の条件はたとえば、回線に割り当てる帯域、耐性分配の優先度、各回線のトラフィック量などがある。また、初期分配で分配するバースト耐性総量は、装置が有するバースト耐性総量の全リソースであっても良いし、一部のリソースであっても良い。
またA装置1aにおいて収容する回線が減設された場合、A装置1aは、減設後に収容する各回線について、初期分配のバースト耐性候補値を算出する。このときA装置1aは、所定の条件に基づいて、減設後の各回線にA装置1aの有するバースト耐性総量を分配し、各回線の初期分配のバースト耐性候補値を算出しても良い。また、A装置1aは、A装置1aのバースト耐性データ12で、減設される回線以外の各回線について記憶するバースト耐性確定値を、各回線の初期分配のバースト耐性候補値としても良い。
ステップS1において、初期分配のバースト耐性候補値を算出すると、A装置1aは、バースト耐性データ12のバースト耐性候補値を、初期分配のバースト耐性候補値に更新する。
なお、D装置1dも、初期分配のバースト耐性候補値を算出し、バースト耐性データを更新する。D装置1dは、A装置1aと同様に、所定の条件に基づいて、各回線にD装置1dの有するバースト耐性総量を分配し、各回線の初期分配のバースト耐性候補値を算出しても良い。また、D装置1dは、D装置1dのバースト耐性データで、各回線について記憶するバースト耐性確定値を、各回線の初期分配のバースト耐性候補値としても良い。D装置1dは、例えば、既存の通信装置や、ユーザ情報に変更のない通信装置であって、A装置1aのバースト耐性が変更になることに伴い、バースト耐性値に変更が生じる可能性のある装置である。
A装置1aが各回線について初期分配のバースト耐性候補値を算出すると、ステップS2においてA装置1aは、各回線の初期分配最小バースト耐性候補値を選出し、バースト耐性データ12のバースト耐性候補値を更新する。「初期分配最小バースト耐性候補値」は、各通信装置が各回線についてそれぞれ記憶する初期分配のバースト耐性候補値のうち、各回線について、最小となる初期分配のバースト耐性候補値である。たとえば、図2に示す例において、A装置1aにおける第1の回線L1の初期分配のバースト耐性候補値が「5」で、D装置1dにおける第1の回線L1の初期分配のバースト耐性候補値が「3」の場合、第1の回線L1に関する最小の耐性値は、「3」となる。第2の回線L2についても、A装置1aおよびD装置1dで分配した耐性候補値のうち、最小の耐性候補値を選出する。
ステップS3において、A装置1aは、A装置1a内で分配可能なバースト耐性総量と、各回線に分配済のバースト耐性候補値の合計から、再分配可能な余剰耐性総量を算出する。このとき、A装置1aは、各回線の初期分配最小バースト耐性候補値を合計し、分配可能なバースト耐性総量との差分を算出して、余剰耐性総量とする。A装置1aは、バースト耐性総量データ13の余剰耐性総量を更新する。具体的には、図2に示す例において、A装置1aのバースト耐性総量が「10」であり、第1の回線L1の最小値として選出されたバースト耐性候補値が「3」、第2の回線L2の最小値として選出されたバースト耐性候補値が「4」であれば、差分「3」のバースト耐性が余剰として算出されることになる。D装置1dも、A装置1aと同様に処理する。
なお、「分配可能なバースト耐性総量」とは、A装置1aが保有するバースト耐性の総量の場合もあれば、その一部の場合もある。例えば、バースト耐性総量の一部を、予備として確保する場合や、複数の回線が共有して利用可能なバースト耐性として確保する場合が考えられる。その場合、「分配可能なバースト耐性総量」は、A装置が保有するバースト耐性の総量から、予備や共有に用いるバースト耐性量を控除した量である。
ステップS4においてA装置1aは、ステップS3で算出された余剰耐性総量に基づいて、余剰耐性総量を、各回線に分配する必要があるか否かを判定する。A装置1aは、余剰耐性総量が所定の終了条件を満たす場合、例えば余剰耐性総量が一定量以下の場合、余剰耐性総量の再分配を実施せず、ステップS10に進む。ステップS10においてA装置1aは、ステップS3で算出した初期分配最小バースト耐性候補値を、バースト耐性確定値としてバースト耐性データ12を更新する。さらにステップS11においてA装置1aは、バーストトラフィックが発生した際、ステップS10において更新されたバースト耐性確定値に基づいて分配したリソースを使って帯域制御を行い、パケットを転送する。D装置1dも、A装置1aと同様に処理する。
ステップS5においてA装置1aは、ステップS3で算出された余剰耐性総量を、所定の条件に基づいて各回線に再分配し、各回線の初期分配最小バースト耐性候補値に加算して、各回線の再分配のバースト耐性候補値を算出する。この所定の条件はたとえば、回線に割り当てる帯域、耐性分配の優先度、各回線のトラフィック量などがある。「再分配のバースト耐性候補値」は、通信装置が収容する回線について、分配可能なバースト耐性総量と初期分配最小バースト耐性候補値との差分により、装置内で確保された余剰耐性総量を、この回線に再分配した後のバースト耐性候補値である。また、通信装置が複数の回線を収容する場合、「再分配のバースト耐性候補値」は、通信装置が収容する各回線について、分配可能なバースト耐性総量と、当該通信装置が収容する各回線の初期分配最小バースト耐性候補値の合計との差分により、装置内で確保された余剰耐性総量を、各回線に再分配した後の各回線のバースト耐性候補値である。具体的には、図2に示す例において、A装置1aにおいて、余剰耐性総量「3」が確保され、A装置1aの第1の回線L1に、余剰耐性総量から新たに「1」の耐性が分配され、第2の回線L2に、余剰耐性総量から新たに「2」の耐性が分配されるとする。D装置1dも、A装置1aと同様に処理する。また、再分配で分配可能な余剰耐性総量は、装置が有する余剰耐性総量の全リソースであっても良いし、一部のリソースであっても良い。
ステップS5において、再分配のバースト耐性候補値を算出すると、A装置1aは、バースト耐性データ12のバースト耐性候補値を、再分配のバースト耐性候補値に更新する。なお、D装置1dも、再分配のバースト耐性候補値を算出し、バースト耐性データを更新する。
各通信装置が各回線について再分配のバースト耐性候補値を算出すると、ステップS6においてA装置1aは、各回線の再分配最小バースト耐性候補値を選出し、バースト耐性データ12のバースト耐性候補値を更新する。「再分配最小バースト耐性候補値」は、各通信装置が各回線についてそれぞれ記憶する再分配のバースト耐性候補値のうち、各回線について、最小となる再分配のバースト耐性候補値である。さらに、ステップS5およびステップS6の処理が終了すると、ステップS7においてA装置1aは、再分配回数データ14の再分配回数を、一つインクリメントする。
ステップS8において、A装置1aは、A装置1a内で分配可能なバースト耐性総量と、各回線に分配済のバースト耐性候補値の合計から、さらに再分配可能な余剰耐性総量を算出する。このとき、A装置1aは、各回線の再分配最小バースト耐性候補値を合計し、分配可能なバースト耐性総量との差分を算出して、新たな余剰耐性総量とする。A装置1aは、バースト耐性総量データ13の余剰耐性総量を更新する。
ステップS9においてA装置1aは、ステップS8で算出された余剰耐性総量およびステップS7で更新された再分配回数の少なくともいずれかに基づいて、ステップS8で算出した余剰耐性総量を、各回線にさらに分配する必要があるか否かを判定する。A装置1aは、余剰耐性総量が所定の終了条件を満たす場合、例えば余剰耐性総量が一定量以下の場合、余剰耐性総量の再分配を実施せず、ステップS10に進む。また、A装置1aは、再分配回数が所定の終了条件を満たす場合、例えば再分配回数が一定値に達した場合、余剰耐性総量のさらなる再分配を実施せず、ステップS10に進む。
一方、余剰耐性総量も再分配回数も終了条件を満たさない場合、ステップS5に進み、ステップS8で算出した余剰耐性総量を、各回線に分配する。このように、余剰耐性総量が終了条件を満たすか、再分配回数が終了条件を満たすまで、ステップS5ないしステップS9の処理は繰り返される。
ステップS10においてA装置1aは、ステップS6で算出した再分配最小バースト耐性候補値を、バースト耐性確定値としてバースト耐性データ12を更新する。さらにステップS11においてA装置1aは、バーストトラフィックが発生した際、ステップS10において更新されたバースト耐性確定値に基づいて分配したリソースを使って帯域制御を行い、パケットを転送する。D装置1dも、A装置1aと同様に処理する。ここで、ステップS5ないしステップS9の処理が数回繰り返された場合、最新の再分配の最小バースト耐性候補値に基づいて、バースト耐性確定値を決定する。
このような処理により、図28に示した各通信装置のバースト耐性は、図2に示すように改善される。具体的には、D装置1dにおいて、第2の回線L2で利用されていないバースト耐性を、第1の回線L1に分配することにより、第1の回線L1のバースト耐性を向上させることができる。これにより、第1の回線L1について、A装置1aにおけるバースト耐性と、D装置1dにおけるバースト耐性との差分が少なくなるので、D装置1dにおいて、パケットが廃棄されることが少なくなる。
本発明の実施の形態に係る通信システムにおいては、各回線について、各通信装置で分配されるバースト耐性値の最低値を確保した上で、余剰のバースト耐性値を分配して、各回線のバースト耐性を向上させる。これにより、各回線において、各装置において廃棄されるトラフィック量を削減することができる。また、各通信装置において過剰に分配されたバースト耐性を、他の回線に分配することにより、各通信装置のバースト耐性を有効活用し、他の回線のバースト耐性を向上させることができる。
次に図3および図4を参照して、本発明の実施の形態におけるバースト耐性の分配を詳述する。図3および図4においては、図2を参照したシステム構成において、A装置1aとD装置1dとの間に、B装置1bおよびC装置1cを備える場合を説明する。本発明の実施の形態において、A装置1a、B装置1b、C装置1cおよびD装置1dを特に区別しない場合、単に、通信装置1または装置1と表記する場合がある。
また、A装置1aないしD装置1dは、それぞれ、第1の回線L1、第2の回線L2、第3の回線L3を保有し、これらの各回線にバースト耐性を分配する。図3および図4に示す例において、各装置が各回線に分配するバースト耐性値を、バーストトラフィック発生時にパケットを保持するバッファメモリのサイズとして示す。
図3(a)は、図1のステップS1の処理により、初期分配されたバースト耐性候補値を説明する。図3(a)に示すように、A装置1aは、第1の回線L1に初期分配のバースト耐性候補値「6」が分配される。第2の回線L2に初期分配のバースト耐性候補値「3」が分配される。第3の回線L3に初期分配のバースト耐性候補値「6」のバースト耐性値が分配される。また、第1の回線L1について、A装置1aは、初期分配のバースト耐性候補値「6」を分配することを示す。B装置1bは、初期分配のバースト耐性候補値「4」を分配することを示す。C装置1cは、初期分配のバースト耐性候補値「5」を分配することを示す。D装置1dは、初期分配のバースト耐性候補値「6」を分配することを示す。
このとき、第1の回線L1にサイズ「6」のパケットが送出されると、A装置1aは、第1の回線L1に初期分配のバースト耐性候補値「6」を分配したので、A装置1aは、このパケットをそのまま透過することができる。しかしながら、B装置1bは、第1の回線L1に初期分配のバースト耐性候補値「4」を分配したので、サイズ「6」のパケットを透過させることができない。従ってB装置1bは、受信したパケットのうち、サイズ「2」のパケットを廃棄し、残りサイズ「4」のパケットを透過する。C装置1cおよびD装置1dは、それぞれ初期分配のバースト耐性候補値「5」および「6」を分配したので、B装置1bから入力されたサイズ「4」のパケットをそのまま透過させることができる。
一方、第2の回線L2にサイズ「4」のパケットが送出されると、A装置1aは、第2の回線L2に初期分配のバースト耐性候補値「3」を分配したので、サイズ「4」のパケットを透過させることができない。従ってA装置1aは、受信したパケットのうち、サイズ「1」のパケットを廃棄し、残りサイズ「3」のパケットを透過する。第3の回線L3にサイズ「3」のパケットが送出されると、A装置1aは、第3の回線L3に初期分配のバースト耐性候補値「6」を分配したので、A装置1aは、このパケットをそのまま透過することができる。
このようなA装置1aにおいて、第2の回線L2についてパケットの廃棄が発生する一方、第3の回線L3について、バースト耐性値「3」の余剰が発生し、A装置内でのバースト耐性をすべて使い切れていないことになる。また、第1の回線L1について、B装置1bにおいてパケットの廃棄が発生してしまう。
図3(b)は、図1のステップS2の処理により、各装置および各回線において初期分配最小バースト耐性候補値を選出する場合を説明する。図3(a)に示す例において、第1の回線L1について、初期分配最小バースト耐性候補値は、B装置1bのバースト耐性値「4」である。
第1の回線L1は、バースト耐性値「4」を保証し、バースト耐性値「4」で対応できないバーストトラフィックが発生すると、パケットが廃棄される。
第2の回線L2について、初期分配最小バースト耐性候補値は、A装置1aのバースト耐性値「3」である。第2の回線L2は、バースト耐性値「3」を保証する。
第3の回線L3について、初期分配最小バースト耐性候補値は、C装置1cのバースト耐性値「3」である。第3の回線L3は、バースト耐性値「3」を保証する。
各装置は、第1の回線L1ないし第3の回線L3について、バースト耐性データの各回線のバースト耐性候補値を、初期分配最小バースト耐性候補値に更新する。
図3(c)は、図1のステップS3の処理により、各装置が各回線において初期分配最小バースト耐性候補値を選出した場合に確保できる余剰を説明する。
A装置1aにおいて、各回線に、初期分配のバースト耐性候補値を分配した後、初期分配最小バースト耐性候補値に更新することにより、余剰が生じる。具体的には、図3(a)において、A装置1aは、第1の回線L1に初期分配のバースト耐性候補値「6」を、第2の回線L2に初期分配のバースト耐性候補値「3」を、第3の回線L3に初期分配のバースト耐性候補値「6」を分配しており、バースト耐性総量として、合計で「15」実装している。この後、図3(b)に示すように、A装置1aは、第1の回線L1に初期分配最小バースト耐性候補値「4」を、第2の回線L2に初期分配最小バースト耐性候補値「3」を、第3の回線L3に初期分配最小バースト耐性候補値「3」を選出して、バースト耐性候補値を更新する。この更新により、A装置1aが各回線に分配したバースト耐性候補値の合計は「10」なので、A装置1aにおいて、少なくともバースト耐性「5」の余剰耐性総量が生じる。B装置1b、C装置1cおよびD装置1dにおいても同様に、バースト耐性の余剰が生じる。
図4(a)は、図1のステップS5の処理により、各回線に余剰耐性総量を再分配した後の、再分配のバースト耐性候補値を説明する。図3(c)で説明した各装置における余剰耐性を、各装置の各回線に分配する。これにより、各回線におけるバースト耐性を向上させることができる。
図4(a)に示す例では、A装置1aは、A装置が算出した余剰耐性総量から、第1の回線L1について、初期分配最小バースト耐性候補値にバースト耐性値「3」を追加し、第2の回線L2について、初期分配最小バースト耐性候補値にバースト耐性値「2」を追加する。B装置1bは、B装置が算出した余剰耐性総量から、第1の回線L1について、初期分配最小バースト耐性候補値にバースト耐性値「3」を追加し、第2の回線L2について、初期分配最小バースト耐性候補値にバースト耐性値「2」を追加する。C装置1cは、C装置が算出した余剰耐性総量から、第1の回線L1について、初期分配最小バースト耐性候補値にバースト耐性値「3」を追加し、第2の回線L2について、初期分配最小バースト耐性候補値にバースト耐性値「2」を追加する。D装置1dは、D装置が算出した余剰耐性総量から、第1の回線L1について、初期分配最小バースト耐性候補値にバースト耐性値「3」を追加し、第2の回線L2について、初期分配最小バースト耐性候補値にバースト耐性値「2」を追加し、第3の回線L3にバースト耐性値「2」を追加する。
この後、図1のステップS6の処理により、図3(b)に示したように、再分配のバースト耐性候補値についても、各回線について再分配最小バースト耐性候補値を算出する。図4(a)に示す例では、第1の回線L1、第2の回線L2については、各回線について、各装置が分配したバースト耐性が一致するので、各装置のバースト耐性が再分配最小バースト耐性候補値として選出される。第3の回線L3については、A装置1a、B装置1b、C装置1cが分配したバースト耐性が、再分配最小バースト耐性候補値として選出される。
このように各回線のバースト耐性を向上させた結果を、図4(b)に示す。図4(b)に示すように、図3(a)と比べて、B装置1bの第1の回線L1においてバースト耐性が向上することにより、サイズ「6」のパケットが送信されても、パケットの廃棄が生じない。また、A装置1aの第2の回線L2においてバースト耐性が向上することにより、サイズ「4」のパケットが送信されても、パケットの廃棄が生じない。これにより、この通信システム全体において、フレーム廃棄の量を削減することができる。
図1のステップS6において、各回線について、各装置の再分配最小バースト耐性候補値を取得することにより、図4(b)に示すように、余剰が発生する。この余剰を、さらに各回線に分配しても良い。このように、余剰の確保と再分配を複数回繰り返すことにより、通信システム全体で、さらに効率よくパケットを転送することができる。
図5ないし図10を参照して、各装置において、各回線に分配するバースト耐性値などを説明する。図5は、図1に示す一連の処理において、各装置が各回線に分配するバースト耐性値などの遷移を表形式で示す。図5における「バースト耐性総量」の項目は、各装置が分配可能なバースト耐性値の合計である。「回線#1」、「回線#2」および「回線#3」の項目は、各装置が、各回線に分配したバースト耐性候補値である。「余剰耐性総量」の項目は、各装置の、バースト耐性総量値と、各回線に分配したバースト耐性候補値との差分である。
また図6ないし図10は、それぞれ図5(a)ないし図5(d)のデータに対応するデータを算出するための処理を示すシーケンス図である。
まず図5(a)は、図1のステップS1によって、各装置が各回線に分配した初期分配のバースト耐性候補値を説明する。A装置1aは、バースト耐性総量「18」を保有する。A装置1aは、図6に示すように、バースト耐性総量「18」のうち、第1の回線L1に初期分配のバースト耐性候補値「6」を分配する。A装置1aは、第2の回線L2に初期分配のバースト耐性候補値「3」を分配する。A装置1aは、第3の回線L3に初期分配のバースト耐性候補値「6」を分配する。この結果、A装置1aは、余剰耐性総量「3」を確保する。同様に、B装置1b、C装置1cおよびD装置1dも、それぞれ余剰耐性総量「0」、「3」および「2」を確保する。
次に、図7を参照して、図1のステップS2において、各装置が、各回線についてそれぞれ記憶する初期分配のバースト耐性候補値から、各回線について、初期分配最小バースト耐性候補値を選出する処理を説明する。第1の回線L1についてA装置1aは、A装置1aが第1の回線L1に分配した初期分配のバースト耐性候補値「6」を、B装置1bに送信する。B装置1bは、A装置1aから受信した初期分配のバースト耐性候補値「6」と、B装置1bが第1の回線L1に分配した初期分配のバースト耐性候補値「5」を比較して、小さい方の初期分配のバースト耐性候補値「5」を、C装置1cに送信する。C装置1cは、B装置1bから受信した初期分配のバースト耐性候補値「5」と、C装置1cが第1の回線L1に分配した初期分配のバースト耐性候補値「4」を比較して、小さい方の初期分配のバースト耐性候補値「4」を、D装置1dに送信する。D装置1dは、C装置1cから受信した初期分配のバースト耐性候補値「4」と、D装置1dが第1の回線L1に分配した初期分配のバースト耐性候補値「4」を比較する。D装置1dは、小さい方の初期分配のバースト耐性候補値「4」を、第1の回線L1における初期分配最小バースト耐性候補値として、C装置1cに送信する。C装置1cは、初期分配最小バースト耐性候補値「4」を、B装置1bに送信する。B装置1bは、初期分配最小バースト耐性候補値「4」を、A装置1aに送信する。
このような処理により、各装置は、第1の回線L1における初期分配最小バースト耐性候補値を共有することができる。各装置は、第1の回線L1について、バースト耐性データ12のバースト耐性候補値を、初期分配最小バースト耐性候補値「4」に更新する。第2の回線L2および第3の回線L3についても同様に処理する。
この結果、図5(b)に示すように、バースト耐性データ12の各回線のバースト耐性候補値を、初期分配最小バースト耐性候補値に更新することができる。図5(b)に示すように、更新された各回線のバースト耐性候補値は、装置に関わらず共通する。
さらに、各装置は、バースト耐性総量から、更新された各回線の初期分配最小バースト耐性候補値を差し引いて、余剰耐性総量を算出する。具体的には、A装置1aは、図7に示すように、バースト耐性値「18」のうち、第1の回線L1に初期分配最小バースト耐性候補値「4」を分配する。A装置1aは、第2の回線L2に初期分配最小バースト耐性候補値「3」を分配する。A装置1aは、第3の回線L3に初期分配最小バースト耐性候補値「3」を分配する。この結果、A装置1aは、余剰耐性総量「8」を算出する。同様に、B装置1b、C装置1cおよびD装置1dも、それぞれ余剰耐性総量「6」、「7」および「8」を算出する。
図5(b)および図7に示すように、初期分配最小バースト耐性候補値を取得することにより、各装置において余剰耐性総量が生じる。各装置で生じた余剰耐性総量は、第1の回線L1、第2の回線L2および第3の回線L3に再分配される。なお、図1のステップS4に示すように、各装置において、余剰耐性総量が終了条件を満たす場合、余剰耐性総量の再分配の処理は割愛されても良い。
再分配する場合、図8に示すように、例えば、A装置1aにおいて、予め定められた各回線の優先度に応じて、各回線に余剰耐性総量を再分配する。たとえば、第1の回線L1の優先度は、「2」と中程度に設定され、第2の回線L2の優先度は、「5」と高く設定され、第3の回線L3の優先度は、「1」と低く設定される場合を考える。この場合、余剰耐性総量「8」を、優先度の高い回線により多く分配するため、第1の回線L1、第2の回線L2および第3の回線L3に、2:5:1の割合で分配する。この結果、図9に示すように、第1の回線L1について、A装置1aの初期分配最小バースト耐性候補値「4」に新たなバースト耐性値「2」が再分配されることにより、再分配のバースト耐性候補値は「6」となる。第2の回線L2について、A装置1aの初期分配最小バースト耐性候補値「3」に新たなバースト耐性値「5」が再分配されることにより、再分配のバースト耐性候補値は「8」となる。また、第3の回線L3について、A装置1aの初期分配最小バースト耐性候補値「3」に新たなバースト耐性値「1」が再分配されることにより、再分配のバースト耐性候補値は「4」となる。
この結果、図5(c)に示すように、図5(b)と比べて、各回線についてバースト耐性を向上させることができる。また、各装置が確保したすべての余剰耐性総量を他の回線に割り振ることにより、各装置のリソースを効率的に利用することができる。
しかしながら、図5(c)に示す例では、各回線について、各装置が分配した再分配のバースト耐性候補値は異なる。具体的には、第1の回線L1について、A装置1aは、再分配のバースト耐性候補値「6」を分配する。B装置1bは、再分配のバースト耐性候補値「5」を分配する。C装置1cは、再分配のバースト耐性候補値「7」を分配する。D装置1dは、再分配のバースト耐性候補値「7」を分配する。この場合、第1の回線L1で送受信可能なトラフィック量は、第1の回線L1についてB装置1bが分配したバースト耐性値「5」に拘束される。たとえば、第1の回線L1でバースト耐性値「5」を越えるバーストトラフィックが発生すると、A装置1aからB装置1bのパケットの転送において、パケットの廃棄が生じてしまう。
そこで、図10に示すように、図7と同様に、回線ごとに、各装置間で最小バースト耐性候補値をやりとりして、再分配のバースト耐性候補値についても、各装置が、最小値に合わせるように分配するとよい。
各回線について、再分配最小バースト耐性候補値が選出されると、図5(d)に示すように、各装置に余剰耐性総量が生じる。この余剰耐性総量は、図8および図9に示すように、各回線に新たに再分配することで、余剰耐性総量を削減し、各回線のバースト耐性値をさらに向上させることができる。
例えば、余剰耐性総量が一定量より多い場合や、再分配回数が規定数に達していない場合、各装置は、余剰耐性総量を、各回線に新たに分配する。一方、余剰耐性総量が一定量以下の場合や、再分配回数が規定回数に達した場合、再分配を実施しなくても良い。この場合、再分配最小バースト耐性候補値をバースト耐性確定値として、バースト耐性データ12を更新する。A装置1aは、バースト耐性確定値に基づいて、バースト耐性用メモリ31を各回線に分配して、バーストトラフィックに備える。バースト耐性値を確定させた後、余剰耐性総量がゼロでない場合、余剰耐性総量を、各回線が共有するバースト耐性値として用いることにより、各回線のバースト耐性を向上させても良い。また、余剰耐性総量を、さらに各回線に再分配しても良い。
(通信装置)
図11を参照して、本発明の実施の形態に係る通信装置1を説明する。通信装置1は、図1ないし図10を参照して説明したA装置1a、B装置1b、C装置1cおよびD装置1dのいずれかである。
通信装置1は、収容ユーザデータベース10、収容ユーザ管理部21、初期分配部22、最小バースト耐性取得部23、他装置バースト耐性監視部24、再分配部25、バースト耐性制御部26、バースト耐性通知部27、トラフィック制御部30、バースト耐性用メモリ31、インタフェース41a、41b、41c、…、41i、インタフェース42a、42b、42c、…、42iを備える。
収容ユーザデータベース10は、通信装置1の記憶装置に記憶されるデータ群である。
収容ユーザ管理部21、他装置バースト耐性監視部24、バースト耐性制御部26、バースト耐性通知部27およびトラフィック制御部30は、通信装置1の処理制御装置に実装される。所定の通信プログラムの各手順を通信装置1の処理制御装置が実行することにより、通信装置1の各部が機能する。
インタフェース41a、41b、41c、…、41i、インタフェース42a、42b、42c、…、42iは、隣接するほかの通信装置とのインタフェースである。本実施の形態において、インタフェース41a、41b、41c、…、41iを特に区別しない場合、インタフェース41と記載する場合がある。同様に、インタフェース42a、42b、42c、…、42iを特に区別しない場合、インタフェース42と記載する場合がある。
インタフェース41は、当該通信装置1の前段側に隣接する通信装置とのインタフェースである。また、インタフェース42は、当該通信装置1の後段側に隣接する通信装置とのインタフェースである。
インタフェース41は、上流側の通信装置から受信したトラフィックを、トラフィック制御部30に入力する。インタフェース42は、トラフィック制御部30が出力したトラフィックを、下流側の通信装置に送信する。インタフェース41、42は、隣接する装置から、パケットなどのトラフィックを送受信するとともに、バースト耐性情報などの制御情報も送受信する。インタフェース41は、隣接装置から受信した制御情報を受信すると他装置バースト耐性監視部24に入力する。またインタフェース42は、バースト耐性通知部27が出力する制御情報を、隣接装置に出力する。
トラフィック制御部30は、インタフェース41から入力されたトラフィックを、インタフェース42に出力する。バーストトラフィックが発生すると、トラフィック制御部30は、入力されたトラフィックをバースト耐性用メモリ31に記憶し、バースト耐性用メモリ31に記憶したトラフィックを、インタフェース42に出力する。
バースト耐性用メモリ31の記憶領域は、通信装置1が制御する各回線について、使用可能な記憶領域が分配される。各回線の記憶領域は、各回線に分配したバースト耐性確定値に対応するバッファ量を有する。
トラフィック制御部30は、バーストトラフィックが発生した際、バースト耐性データ12のバースト耐性確定値に基づいて分配したリソースを使って帯域制御を行い、パケットを転送する。バーストトラフィックが発生した際、トラフィック制御部30は、例えば各回線のバースト耐性確定値に対応したメモリ容量のバースト耐性用メモリ31を用いて、各回線のパケットを転送する。本発明の実施の形態に係る通信装置1のバースト耐性制御部26が、各回線のバースト耐性確定値を算出し、バースト耐性データ12を更新する。トラフィック制御部30は、算出されたバースト耐性確定値に対応するバッファ量を有するメモリを用いて、トラフィックを制御する。
ここで、トラフィック制御部30が用いるリソースの大きさは、通信装置1が有するバースト耐性総量に一致しても良いし、その一部であっても良い。具体的には、トラフィック制御部30は、バースト耐性総量の全てを、通信装置1が収容する回線に分配しても良いし、バースト耐性総量の一部を、通信装置1が収容する回線に分配しても良い。
また、図19(b)を参照して説明するように、トラフィック制御部30は、当該通信装置の有するリソースの一部を、バースト耐性確定値に基づいて各回線に分配し、残りのリソースを各回線が共有可能なリソースとしても良い。この場合トラフィック制御部30は、所定の回線において、この回線のバースト耐性確定値を超えるバーストトラフィックが発生した際、バースト耐性総量のうち、各回線に分配されなかった共有可能なリソースも当該回線に分配して帯域制御してパケットを転送する。
収容ユーザデータベース10は、通信装置1が収容する回線のユーザのデータを格納する。収容ユーザデータベース10は、図12に示すように、ユーザデータ11、バースト耐性データ12、バースト耐性総量データ13および再分配回数データ14を記憶する。
ユーザデータ11は、通信装置1が保有する各回線について、バースト耐性の分配の指標となる静的なユーザ情報を記憶する。具体的には、回線識別情報をキーに、ポート番号、この回線に分配する帯域、方向、耐性分配の優先度などを対応づける。
バースト耐性データ12は、回線識別情報と、回線に分配されたバースト耐性値とを対応づけるデータである。ここで、バースト耐性データ12の回線識別情報は、ユーザデータ11の回線識別情報に対応する。
図12(b)に示す例で、バースト耐性値は、バースト耐性確定値と、バースト耐性候補値の各項目を有する。バースト耐性確定値は、図1に示す処理を実施した結果、最終的に決定されるバースト耐性値である。バースト耐性確定値は、たとえば、図1のステップS10で出力されるバースト耐性確定値である。バースト耐性候補値は、図1に示す処理において、バースト耐性確定値が決定される経過で出力されるバースト耐性の候補値である。バースト耐性候補値は、たとえば、ステップS1の初期分配のバースト耐性候補値、ステップS2の初期分配最小バースト耐性候補値、ステップS5の再分配のバースト耐性候補値、ステップS6の再分配最小バースト耐性候補値などである。
バースト耐性総量データ13は、装置内のバースト耐性総量と、装置内の余剰耐性総量の項目を備える。バースト耐性総量は、この通信装置1が、各回線に分配可能な、バースト耐性値の総量である。余剰耐性総量は、初期分配または再分配による分配の結果、いずれの回線にも分配されなかった余剰耐性値の総量である。余剰耐性総量は、図1のステップS3やステップS8で算出される。
再分配回数データ14は、バースト耐性の再分配の回数を保持するカウンタである。図1に示す処理を開始する際、再分配回数データ14は、初期値「0」が設定される。その後、再分配する度に、ステップS7において、再分配回数はインクリメントされる。この再分配回数データ14は、再分配をするか否かの判断で参照される。
収容ユーザ管理部21は、外部から収容ユーザ情報が入力されると、収容ユーザデータベース10に格納し、収容ユーザデータベース10を管理する。さらに収容ユーザ管理部21は、収容ユーザデータベース10のユーザデータ11に変更が生じると、変更が生じた旨を、バースト耐性通知部27に入力する。さらに収容ユーザ管理部21は、新たなユーザデータ11に基づいて、バースト耐性制御部26に通知する。
初期分配部22は、通信装置1が収容する回線の初期分配のバースト耐性候補値を記憶する。さらに、初期分配部22は、最小バースト耐性取得部23から、複数の通信装置がそれぞれ記憶する初期分配のバースト耐性候補値の最小値を、初期分配最小バースト耐性候補値として取得する。初期分配部22は、分配可能なバースト耐性総量と、初期分配最小バースト耐性候補値との差分を、余剰耐性総量として算出する。ここで、通信装置1が複数の回線を収容する場合、初期分配部22は、分配可能なバースト耐性総量と、各回線に分配した初期分配バースト耐性候補値の合計との差分を、余剰耐性総量として算出する。初期分配部22の処理は、図1のステップS1ないしステップS3の処理に相当する。
初期分配部22が、初期分配のバースト耐性候補値を記憶する方法はいくつか考えられる。例えば、収容ユーザ管理部21の指示により、通信装置1の初期導入時や、ユーザの新規追加、設定変更が発生した際、初期分配の条件に基づいて、通信装置1が保有するバースト耐性総量を各回線に分配する。このとき、各回線に分配されたバースト耐性値が、初期分配のバースト耐性候補値となる。
具体的には初期分配部22は、収容ユーザデータベース10から、ユーザデータ11の回線識別情報、バースト耐性総量データ13のバースト耐性総量などを取得する。初期分配部22は、複数の回線にバースト耐性総量を分配する際、初期分配の条件が各回線の帯域の場合、初期分配部22は、ユーザデータ11から各回線の帯域を、初期分配の条件として取得する。
初期分配部22は、ユーザデータ11から取得した回線識別情報のそれぞれに対して、初期分配の条件に従って、バースト耐性総量を分配し、各回線について、初期分配のバースト耐性候補値を出力する。初期分配部22は、回線識別情報と、この回線に分配した初期分配のバースト耐性候補値とを対応づけて、収容ユーザデータベース10のバースト耐性データ12に記憶する。
ここで収容ユーザ管理部21の指示により、通信装置1が収容する回線が減設されたことに伴って初期分配をする場合、初期分配部22は、バースト耐性総量を、減設後の各回線に分配して初期分配のバースト耐性候補値を算出しても良い。
また、初期分配部22は、減設後の各回線に分配されたバースト耐性確定値を、初期分配のバースト耐性候補値としても良い。具体的には、初期分配部22は、バースト耐性データ12において、減設後の各回線のバースト耐性確定値を取得し、このバースト耐性確定値を、各回線の初期分配のバースト耐性候補値とする。初期分配部22は、バースト耐性データ12のバースト耐性候補値を、各回線の初期分配のバースト耐性候補値に更新する。
さらに、他の通信装置において、バースト耐性値が変更されることに伴い、この通信装置1においてもバースト耐性値が変更される場合がある。他の通信装置から、バースト耐性候補値が入力されたことを、他装置バースト耐性監視部24から通知されると、通信装置1の初期分配部22は、初期分配のバースト耐性候補値を取得する。このとき初期分配部22は、バースト耐性総量を各回線に分配して初期分配のバースト耐性候補値を算出しても良い。また初期分配部22は、各回線に分配されたバースト耐性確定値を、初期分配のバースト耐性候補値としても良い。具体的には、初期分配部22は、バースト耐性データ12において、各回線のバースト耐性確定値を取得し、このバースト耐性確定値を、各回線の初期分配のバースト耐性候補値として記憶する。初期分配部22は、回線識別情報と、初期分配のバースト耐性候補値とを対応づけて、収容ユーザデータベース10のバースト耐性データ12に記憶する。
初期分配部22は、各回線の初期分配のバースト耐性候補値を出力した後、最小バースト耐性取得部23に、初期分配最小バースト耐性候補値を取得するよう通知する。初期分配部22は、最小バースト耐性取得部23から、各回線について初期分配最小バースト耐性候補値を取得する。初期分配部22は、回線識別情報と、初期分配最小バースト耐性候補値とを対応づけて、収容ユーザデータベース10のバースト耐性データ12に記憶する。
初期分配部22は、最小バースト耐性取得部23から、各回線について初期分配最小バースト耐性候補値を取得すると、余剰耐性総量を算出する。初期分配部22は、当該装置が収容する各回線の初期分配最小バースト耐性候補値の合計を算出する。初期分配部22は、当該装置が分配可能なバースト耐性総量と、各回線の初期分配最小バースト耐性候補値の合計との差分を算出し、余剰耐性総量とする。初期分配部22は、バースト耐性総量データ13の余剰耐性総量を、算出した余剰耐性総量に更新する。初期分配部22が算出した余剰耐性総量は、図1のステップS4における再分配の要否判断や、再分配部25における再分配において用いられる。
最小バースト耐性取得部23は、初期分配部22や再分配部25からの指示により、回線ごとに、ネットワーク内のバースト耐性候補値の最小値を取得する。最小バースト耐性取得部23は、初期分配部22からの指示により、各装置が分配した初期分配のバースト耐性候補値の最小値を取得し、初期分配最小バースト耐性候補値として返す。また最小バースト耐性取得部23は、再分配部25からの指示により、各装置が分配した再分配のバースト耐性候補値の最小値を取得し、再分配最小バースト耐性候補値として返す。
最小バースト耐性取得部23が、初期分配最小バースト耐性候補値を取得する際、図7に示す処理を実行する。最小バースト耐性取得部23は、他の装置の初期分配のバースト耐性候補値と比較する処理と、比較の結果得られる、初期分配最小バースト耐性候補値を取得する処理を実行する。
他の装置の初期分配のバースト耐性候補値と比較する処理において、最小バースト耐性取得部23は、他装置バースト耐性監視部24から、他の装置の所定の回線の初期分配のバースト耐性候補値を受信する。さらに最小バースト耐性取得部23は、収容ユーザデータベース10のバースト耐性データ12から、通信装置1内でこの回線に分配した初期分配のバースト耐性候補値を取得する。最小バースト耐性取得部23は、他の装置から通知されたこの回線の初期分配のバースト耐性候補値と、当該通信装置1のこの回線の初期分配のバースト耐性候補値と比較する。この比較の結果、小さい方の初期分配のバースト耐性候補値を、バースト耐性通知部27に入力し、バースト耐性通知部27が、隣接する通信装置に、小さい方の初期分配のバースト耐性候補値を通知する。さらに最小バースト耐性取得部23は、小さい方の初期分配のバースト耐性候補値を、収容ユーザデータベース10のバースト耐性データ12に、バースト耐性候補値として記憶する。
初期分配最小バースト耐性候補値を取得する処理では、最小バースト耐性取得部23は、他の装置から初期分配最小バースト耐性候補値を取得し、収容ユーザデータベース10のバースト耐性データ12に、回線識別情報と対応づけて、取得したバースト耐性候補値を記憶する。
また最小バースト耐性取得部23は、再分配部25からの指示により、再分配のバースト耐性候補値から、再分配最小バースト耐性候補値を取得する場合がある。この場合、初期分配のバースト耐性候補値から初期分配最小バースト耐性候補値を取得する処理と同様に、最小バースト耐性取得部23は、再分配のバースト耐性候補値の最小値である再分配最小バースト耐性候補値を取得し、収容ユーザデータベース10のバースト耐性データ12に、回線識別情報と対応付けて、取得したバースト耐性候補値を記憶する。
再分配部25は、余剰耐性総量を、回線に分配した再分配のバースト耐性候補値を記憶する。さらに、再分配部25は、最小バースト耐性取得部23から、複数の通信装置がそれぞれ記憶する再分配のバースト耐性候補値の最小値を、再分配最小バースト耐性候補値として取得する。再分配部25は、最小バースト耐性取得部23から再分配最小バースト耐性候補値を取得した後、再分配回数データ14の再分配回数を更新する。さらに再分配部25は、分配可能なバースト耐性総量と、再分配最小バースト耐性候補値との差分を、余剰耐性総量として算出する。 なお、通信装置1が複数の回線を収容する場合、再分配部25は、分配可能なバースト耐性総量と、各回線に分配した再分配バースト耐性候補値の合計との差分を、余剰耐性総量として算出する。再分配部25の処理は、図1のステップS5ないしステップS8の処理に相当する。
まず、再分配部25は、初期分配部22によって初期分配され、余剰耐性総量が算出されると、初期分配によって生じた余剰耐性総量を各回線に分配する。再分配部25は、収容ユーザデータベース10から、ユーザデータ11の回線識別情報、バースト耐性データ12のバースト耐性候補値、バースト耐性総量データ13の余剰耐性総量などを取得する。再分配の条件が各回線の耐性分配の優先度の場合、再分配部25は、ユーザデータ11から各回線の耐性分配の優先度を取得する。
再分配部25は、ユーザデータ11から取得した回線識別情報のそれぞれに対して、再分配の条件に従って、余剰耐性総量を分配し、各回線について、再分配のバースト耐性候補値を出力する。この再分配のバースト耐性候補値は、各回線の初期分配最小バースト耐性候補値に、余剰耐性総量から各回線に新たに分配するバースト耐性量を加算した値である。再分配部25は、回線識別情報と、再分配のバースト耐性候補値とを対応づけて、収容ユーザデータベース10のバースト耐性データ12に記憶する。
再分配部25は、各回線の再分配のバースト耐性候補値を出力した後、最小バースト耐性取得部23に、再分配最小バースト耐性候補値を取得するよう通知する。再分配部25は、最小バースト耐性取得部23から、各回線について再分配最小バースト耐性候補値を取得する。再分配部25は、回線識別情報と、再分配最小バースト耐性候補値とを対応づけて、収容ユーザデータベース10のバースト耐性データ12に記憶する。
また、再分配部25は、再分配処理を実施した後、さらに再分配処理を実施する場合もある。この場合再分配部25は、直近の再分配処理において生じた余剰耐性総量を算出し、直近の再分配によって生じた余剰耐性総量を、さらに各回線に分配する。
バースト耐性制御部26は、初期分配部22、最小バースト耐性取得部23および再分配部25の処理を制御して、各回線についてバースト耐性確定値を出力する。バースト耐性制御部26は、各回線のバースト耐性確定値を、トラフィック制御部30に入力して、バーストトラフィックに備えて帯域制御させる。
バースト耐性制御部26は、初期分配部22に初期分配最小バースト耐性候補値を出力させた後、再分配部25に再分配最小バースト耐性候補値を出力させる。このとき、バースト耐性制御部26は、再分配部25によって取得された再分配最小バースト耐性候補値を、バースト耐性確定値として、バースト耐性データ12に記憶する。
またバースト耐性制御部26は、初期分配部22による処理結果によって、再分配部25の処理を実行するか否かを決めても良い。例えばバースト耐性制御部26は、初期分配部22が余剰耐性総量を算出すると、この余剰耐性総量が終了条件を満たす場合、初期分配最小バースト耐性候補値を、バースト耐性確定値として記憶する。一方終了条件を満たさない場合、バースト耐性制御部26は、再分配部25による再分配処理を実行する。この処理は、図1のステップS4の処理に相当する。
同様にバースト耐性制御部26は、再分配部25による処理結果によって、更に再分配部25の処理を実行するか否かを決めても良い。例えばバースト耐性制御部26は、再分配部25が余剰耐性総量を算出すると、この余剰耐性総量および再分配回数の少なくともいずれかが終了条件を満たすまで、再分配部25による再分配処理を繰り返す。一方、余剰耐性総量および再分配回数の少なくともいずれかが終了条件を満たすと、直近の再分配処理によって出力された再分配最小バースト耐性候補値を、バースト耐性確定値として記憶する。この処理は、図1のステップS9およびS10の処理に相当する。
バースト耐性制御部26は、初期分配部22、最小バースト耐性取得部23および再分配部25などによる、収容ユーザデータベース10の各データの参照および更新も制御する。
具体的には、初期分配部22は、通信装置1のバースト耐性総量を各回線に分配する際、必要に応じて、初期分配の条件および回線識別情報をユーザデータ11から取得するとともに、通信装置1のバースト耐性総量をバースト耐性総量データ13から取得する。また、初期分配部22は、各回線について、初期分配のバースト耐性候補値、および初期分配最小バースト耐性候補値を、各回線の回線識別情報に対応づけてバースト耐性データ12を更新する。また初期分配部22は、バースト耐性総量データ13の余剰耐性総量を、初期分配部22で算出した余剰耐性総量に更新する。
再分配部25は、通信装置1の余剰耐性総量を各回線に分配する際、必要に応じて、再分配の条件および回線識別情報をユーザデータ11から取得するとともに、通信装置1の余剰耐性総量をバースト耐性総量データ13から取得する。また、再分配部25は、各回線について、再分配のバースト耐性候補値、および再分配最小バースト耐性候補値を、各回線の回線識別情報に対応づけてバースト耐性データ12を更新する。また再分配部25は、バースト耐性総量データ13の余剰耐性総量を、再分配部25で算出した余剰耐性総量に更新する。
最小バースト耐性取得部23は、バースト耐性候補値を他の装置間で送受信する際、バースト耐性データ12から、各回線識別情報に対応づけられたバースト耐性候補値を取得する。また最小バースト耐性取得部23は、最小バースト耐性候補値として通知された値を、各回線識別情報に対応づけてバースト耐性データ12に更新する。
また、バースト耐性制御部26は、余剰耐性総量や再分配回数に応じて、再分配部25による処理の要否を決定する際、バースト耐性総量データ13から余剰耐性総量を取得したり、再分配回数データ14から再分配回数を取得したりする。
他装置バースト耐性監視部24は、インタフェース41を介して、隣接した通信装置から受信した各回線のバースト耐性候補値を、最小バースト耐性取得部23に入力する。また、他装置バースト耐性監視部24は、他の通信装置でユーザ情報の変更があったことにより、通信装置1においてもバースト耐性値を変更する必要のある場合、その旨を、初期分配部22に入力する。
バースト耐性通知部27は、インタフェース42を介して、隣接した通信装置に、最小バースト耐性取得部23から入力された各回線のバースト耐性候補値を出力する。また、バースト耐性通知部27は、収容ユーザ管理部21の指示により、収容ユーザデータに変更が生じた旨をほかの通信装置に通知する。
図13ないし図15を参照して、本発明の実施の形態にかかる最小バースト耐性取得部23、他装置バースト耐性監視部24およびバースト耐性通知部27の処理を説明する。最小バースト耐性取得部23は、ほかの通信装置1とデータを送受信して、各回線について、バースト耐性候補値の最小値を決定し、通信システムのすべての通信装置1で、各回線の最小バースト耐性候補値を共有する。そのとき、最小バースト耐性取得部23は、他装置バースト耐性監視部24、バースト耐性通知部27、インタフェース41および42を用いて、データを送受信する。
図13は、他装置バースト耐性監視部24およびバースト耐性通知部27が送受信するデータの一例として、情報通知フレームFを説明する図である。情報通知フレームFは、サイズデータ、変更通知フラグ、変更要求フラグ、比較要求フラグおよびルート装置の各項目を有する。
「サイズデータ」の項目には、当該通信装置が送受信するバースト耐性候補値が設定される。隣接する通信装置とバースト耐性候補値を比較する場合、「サイズデータ」の項目には、より小さいバースト耐性候補値が設定される。また、最小バースト耐性候補値が決定された場合、「サイズデータ」の項目には、その最小バースト耐性候補値が設定される。
変更通知フラグ、変更要求フラグおよび比較要求フラグは、送受信する情報通知フレームFが、通知する情報の種別を示す。変更通知フラグ、変更要求フラグおよび比較要求フラグのいずれかひとつが「真」に設定され、それ以外は「偽」に設定される。
変更通知フラグは、いずれかの通信装置において、ユーザ情報が変更されたことを通知するフラグである。比較要求フラグは、通信装置1で保持するバースト耐性候補値と、サイズデータ項目で設定されたデータとの比較を要求するフラグである。変更要求フラグは、通信装置1で保持するバースト耐性候補値を、サイズデータ項目で設定されたデータへ変更することを要求するフラグである。
図14を参照して、変更通知フラグを「真」にした情報通知フレームを用いる場合を説明する。たとえば、C装置1cにおいてユーザ情報の変更があった場合、C装置1cは、ユーザ情報が変更した旨を、ルート装置に通知する。ルート装置とは、本発明の実施の形態において、バースト耐性の変更の通知を開始する装置である。終点装置は、本発明の実施の形態において、バースト耐性の変更を適用する終端の装置である。図14に示す例において、A装置1aがルート装置で、D装置1dが終点装置である。
C装置1cの収容ユーザ管理部21は、「変更通知フラグ」を「真」に設定した情報通知フレームFを生成し、バースト耐性通知部27に入力する。バースト耐性通知部27が、C装置1cの各回線のすべてのインタフェース42を用いて、この情報通知フレームFを送信する。情報通知フレームFは、図14に示すように、ほかの通信装置に送信される。B装置1bは、情報通知フレームFにより、新たにバースト耐性値を算出する必要があることを通知される。ここでB装置1bは、自身がルート装置および終点装置でないので、受信した情報通知フレームFを、B装置1bの各回線のすべてのインタフェース42を用いて、そのまま隣接する通信装置に送信する。一方、A装置1aは、ルート装置であるので、A装置1aは、情報通知フレームFをほかの装置に転送することなく、バースト耐性の変更を開始する。また、D装置1dは、終点装置であるので、D装置1dは、情報通知フレームFをほかの装置に転送することはない。
なお、通信システムの各通信装置が、ルート装置の識別子をあらかじめ保持している場合、図14に示すような情報通知フレームFの送受信は必要ない。ユーザ情報に変更のあった通信装置が、ルート装置に、ユーザ情報に変更のあった旨を通知すれば良い。その場合、ルート装置以外の装置は、新たにバースト耐性値を算出する必要があることをほかの方法で通知される必要がある。
図15を参照して、比較要求フラグおよび変更要求フラグを「真」にした情報通知フレームを用いる場合を説明する。図15に示す例は、ある回線について、各装置が分配したバースト耐性候補値を、最小バースト耐性値に変更する場合の処理を説明する。
ルート装置であるA装置1aは、C装置1cにおいてユーザ情報の変更があった場合、各通信装置1における各回線に分配するバースト耐性候補値を変更するため、各通信装置1で分配されたバースト耐性候補値を通知させる。さらに終点装置であるD装置1dは、各回線で分配された最小バースト耐性候補値を選出する。各通信装置1は、最小バースト耐性候補値を取得する。図15に示す処理は、図1のステップS2およびステップS6に示すように、初期分配のバースト耐性候補値について初期分配最小バースト耐性候補値を取得する場合と、再分配のバースト耐性候補値について、再分配最小バースト耐性候補値を取得する場合に実行される。
あらかじめ、所定の回線のバースト耐性候補値について、A装置1aにおいて「3」が分配され、B装置1bにおいて「5」が分配され、C装置1cにおいて「7」が分配され、D装置1dにおいて「7」が分配される場合を想定する。
A装置1aは、「サイズデータ」項目に自身がこの回線に分配したバースト耐性候補値「3」を設定するとともに、「比較要求フラグ」に「真」を設定した情報通知フレームF1を生成し、B装置1bに送信する。この情報通知フレームF1の「ルート装置」項目に、A装置1aの識別子が設定される。「ルート装置」項目の通信装置は、情報通知フレームFについて、ルート装置から終点装置まで送信され、さらに終点装置から送信する際の、最終的な宛先となる。
B装置1bは、A装置1aから情報通知フレームF1を受信すると、「サイズデータ」に設定されたバースト耐性候補値「3」を取得し、B装置1bがこの回線に分配したバースト耐性候補値「5」と比較する。B装置1bは、情報通知フレームF1の「サイズデータ」項目を、より小さいバースト耐性候補値「3」に変更した情報通知フレームF2を生成し、C装置1cに送信する。
C装置1cは、B装置1bから情報通知フレームF2を受信すると、「サイズデータ」に設定されたバースト耐性候補値「3」を取得し、C装置1cがこの回線に分配したバースト耐性候補値「7」と比較する。C装置1cは、情報通知フレームF2の「サイズデータ」項目を、より小さいバースト耐性候補値「3」に変更した情報通知フレームF3を生成し、D装置1dに送信する。
D装置1dは、C装置1cから情報通知フレームF3を受信すると、「サイズデータ」に設定されたバースト耐性候補値「3」を取得し、D装置1dがこの回線に分配したバースト耐性候補値「7」と比較する。D装置1dは終点装置であるので、受信した情報通知フレームF3の「サイズデータ」項目に設定されたバースト耐性候補値と、D装置1dがこの回線に分配したバースト耐性候補値「7」のうち、小さい方が、このネットワークの最小バースト耐性候補値となる。そこでD装置1dは、D装置1dのこの回線のバースト耐性候補値を、最小バースト耐性候補値「3」に変更する。
さらにD装置1dは、ほかの装置のこの回線のバースト耐性候補値を最小バースト耐性候補値「3」に変更するための情報通知フレームF4を生成する。D装置1dは、「サイズデータ」項目に、最小バースト耐性候補値「3」を設定し、「変更要求フラグ」に「真」を設定し、「ルート装置」項目に、ルート装置であるA装置1aの識別子を設定して、情報通知フレームF4を生成する。D装置1dは、C装置1cに情報通知フレームF4を送信する。
C装置1cは、D装置1dから情報通知フレームF4を受信すると、「サイズデータ」に設定された最小バースト耐性候補値「3」を取得し、C装置1cは、この回線に最小バースト耐性候補値「3」を分配する。C装置1cは、「サイズデータ」に最小バースト耐性値「3」を設定した情報通知フレームF5を生成し、B装置1bに送信する。
B装置1bは、C装置1cから情報通知フレームF5を受信すると、「サイズデータ」に設定された最小バースト耐性候補値「3」を取得し、B装置1bは、この回線に最小バースト耐性候補値「3」を分配する。B装置1bは、「サイズデータ」に最小バースト耐性値「3」を設定した情報通知フレームF6を生成し、A装置1aに送信する。
A装置1aは、B装置1bから情報通知フレームF6を受信すると、「サイズデータ」に設定された最小バースト耐性候補値「3」を取得し、A装置1aは、この回線に最小バースト耐性候補値「3」を分配する。
このように情報通知フレームFを用いて、各装置の最小バースト耐性取得部23は、各回線について、各装置が分配したバースト耐性候補値の最小値を取得し、共有することができる。
図16ないし図18を参照して、本発明の実施の形態における処理を説明する。
図16は、初期分配処理を説明する。図16に示す処理は、図1のステップS1に相当する。図16(a)は、リソースを各回線に分配することにより、初期分配のバースト耐性候補値を算出する通信装置の処理である。図16(b)は、いずれかの通信装置でユーザ情報に変更のあった旨の情報通知フレームを受信して、初期分配のバースト耐性候補値を算出する装置の処理である。
図16(a)に示すようにユーザ情報に変更があると、通信装置1は、ステップS101においてバースト耐性の初期分配を開始する。この初期分配は、通信装置を初期導入する際や、ユーザ情報が新規に追加されたり、設定が変更されたりする際に実行される。
ステップS102において通信装置1の収容ユーザ管理部21は、装置の初期導入やユーザ情報の変更に伴って、収容ユーザデータベース10を更新する。さらにステップS103において初期分配部22は、通信装置1のバースト耐性総量を、初期分配の条件に従って各回線に分配し、各回線の初期分配のバースト耐性候補値を決定する。さらにステップS104において、自装置が、ルート装置であるか否かを判定する。ルート装置である場合、図17の処理に進む。一方、ルート装置でない場合、ステップS105の処理に進む。
ステップS105においてバースト耐性通知部27は、装置の初期導入やユーザ情報変更により、バースト耐性の初期分配をリクエストする旨を他装置に通知するため、「変更通知フラグ」を「真」に設定した情報通知フレームFを生成し、ルート装置に向けて送信する。その後、図17の処理に進む。
図16(b)のステップS106に示すように、ルート装置の他装置バースト耐性監視部24は、「変更通知フラグ」を「真」に設定した情報通知フレームFを受信すると、通信装置1は、ステップS107において、初期分配部22により、バースト耐性総量を、各回線に分配し、各回線の初期分配のバースト耐性候補値を決定する。さらにステップS108において、自装置が、ルート装置であるか否かを判定する。ルート装置である場合、図17の処理に進む。一方、ルート装置でない場合、ステップS109の処理に進む。
ステップS109においてバースト耐性通知部27は、「変更通知フラグ」を「真」に設定した情報通知フレームFを生成し、ルート装置に送信する。その後、図17の処理に進む。
図17は、各装置が算出したバースト耐性候補値から、最小バースト耐性候補値を算出して、耐性の余剰を確保する処理である。図17に示す処理は、図1のステップS3に示すように初期分配最小バースト耐性候補値を取得する処理と、ステップS6に示すように再分配最小バースト耐性候補値を取得する処理を含む。
ステップS201において通信装置は、処理を開始し、ステップS202において、自装置がルート装置であるか否かを判定する。ルート装置でない場合、ステップS204に進む。ルート装置である場合、ステップS203に進む。
ステップS203において、通信装置(ルート装置)のバースト耐性通知部27は、隣接装置に、「比較要求フラグ」を「真」に設定した情報通知フレームFを送信する。この情報通知フレームFの「サイズデータ」項目には、この通信装置が、所定の回線に分配したバースト耐性候補値を設定し、「ルート装置」項目に、当該通信装置の識別子を設定する。バースト耐性通知部27は、後段の通信装置に、この情報通知フレームFを送信し、ステップS204に進む。
ステップS204において通信装置(ルート装置以外の通信装置)の他装置バースト耐性監視部24は、情報通知フレームFを受信する。ステップS205において通信装置1は、バースト耐性の比較段階か否か、具体的には、この情報通知フレームFの「比較要求フラグ」が「真」であるか否かを判定する。「比較要求フラグ」が「真」でない場合、ステップS215に進む。
「比較要求フラグ」が「真」である場合、ステップS206に進む。ステップS206において最小バースト耐性取得部23は、各回線について、装置内に格納したバースト耐性候補値と、受信した情報通知フレームFの「サイズデータ」に設定された他装置のバースト耐性候補値とを比較する。
ステップS207において通信装置は、この通信装置が終点装置であるか否かを判定する。終点装置である場合、ステップS211に進む。一方、終点装置でない場合、ステップS208に進む。
ステップS208において通信装置は、ステップS206の比較の結果、当該装置のバースト耐性候補値の方が小さいか否かを判定する。当該装置のバースト耐性候補値の方が小さい場合、ステップS209においてバースト耐性通知部27は、当該装置のバースト耐性候補値を、「サイズデータ」項目に設定した情報通知フレームFを生成し、後段の通信装置に送信する。一方、当該装置のバースト耐性候補値の方が大きい場合、ステップS210においてバースト耐性通知部27は、新たな情報通知フレームFを生成し、後段の通信装置に送信する。新たな情報通知フレームFは、他装置のバースト耐性候補値を、「サイズデータ」項目に設定したデータである。その後、通信装置の処理は、ステップS204に進む。
ステップS207においてこの通信装置が終点装置であると判定された場合、ステップS211において通信装置(終点装置)は、ステップS206の比較の結果、当該装置のバースト耐性候補値の方が小さいか否かを判定する。当該装置のバースト耐性候補値の方が小さい場合、ステップS212においてバースト耐性通知部27は、新たな情報通知フレームFを生成し、前段の通信装置に送信する。新たな情報通知フレームFは、「変更要求フラグ」を「真」に設定し、「サイズデータ」項目に、当該装置のバースト耐性候補値(最小バースト耐性候補値)を設定したデータである。その後、この通信装置(終点装置)は、図18の処理に進む。
一方、当該装置のバースト耐性候補値の方が大きい場合、ステップS213において
最小バースト耐性取得部23は、自装置のバースト耐性候補値を、通知された他装置のバースト耐性候補値に変更し、最小バースト耐性候補値とする。さらにステップS214においてバースト耐性通知部27は、新たな情報通知フレームFを生成し、前段の通信装置に送信する。新たな情報通知フレームFは、「変更要求フラグ」を「真」に設定し、「サイズデータ」項目に、他装置のバースト耐性候補値を、最小バースト耐性候補値として設定したデータである。その後、この通信装置(終点装置)は、図18の処理に進む。
ステップS205において、ステップS204で受信した情報通知フレームFが、バースト耐性の比較段階でないと判定された場合、ステップS215に進む。ステップS215において、バースト耐性の変更段階か否か、具体的には、この情報通知フレームFの「変更要求フラグ」が「真」であるか否かを判定する。
ステップS215において「変更要求フラグ」が「真」でない場合、ステップS221に進む。この情報通知フレームFは、「変更通知フラグ」が「真」に設定されていると考えられる。ステップS221においてバースト耐性通知部27は、情報通知フレームFを転送して、初期分配が必要な旨を、ルート装置に通知する。なお、ルート装置または終点装置が「変更通知フラグ」が「真」に設定された情報通知フレームFを受信した場合、この情報通知フレームを廃棄する。
ステップS215において「変更要求フラグ」が「真」である場合、ステップ216に進む。ステップS216において最小バースト耐性取得部23は、各回線について、装置内に格納したバースト耐性候補値を、受信した情報通知フレームFの「サイズデータ」に設定された最小バースト耐性候補値に変更する。さらにステップS217においてバースト耐性通知部27は、受信した情報通知フレームFを、前段の隣接装置へ転送する。なお、この通信装置がルート装置である場合、フレーム転送はしない。
ステップS218において、耐性の再分配を実施するか否かを判定する。たとえば、バースト耐性制御部26は、余剰耐性総量が一定量以下であるか否か、再分配回数が規定回数以下であるか等により、再分配部25による再分配の要否を判定する。
再分配が必要な場合、図18の処理に進む。一方再分配が必要でない場合、ステップS219においてバースト耐性制御部26は、各回線の最小バースト耐性候補値を、バースト耐性確定値として通知する。その後、ステップS220においてバースト耐性制御部26は、ステップS219で通知された各回線のバースト耐性確定値に基づいて、各回線に、バースト耐性用メモリ31を分配する。
図18を参照して、余剰耐性総量を再分配する処理を説明する。通信装置1は、ステップS301において耐性の再分配を開始する。ステップS302において再分配部25は、再分配の条件に従って、余剰耐性総量を各回線に分配し、各回線の再分配のバースト耐性候補値を算出する。再分配部25は、各回線の初期分配最小バースト耐性候補値に、余剰耐性総量から新たに分配するバースト耐性値を加算して、各回線の再分配のバースト耐性候補値を算出する。その後、図17に示す処理に進む。
なお、図1のステップS9、図17のステップS218などの処理により、再分配部25によって再分配された後、新たに生じた余剰耐性総量を各回線に再分配する場合もある。その場合、ステップS302において再分配部25は、直近の各回線の再分配最小バースト耐性候補値に、余剰耐性総量から新たに分配するバースト耐性値を加算して、新たに、各回線の再分配のバースト耐性候補値を算出する。
また、本発明の実施の形態にかかる最小バースト耐性取得部23、他装置バースト耐性監視部24およびバースト耐性通知部27の処理としては、装置間で情報通知フレームをやり取りする通信方法を説明したが、これ以外の方法もある。例えば、最小バースト耐性取得部23は、全装置宛てに、各装置がこの回線に割り当てたバースト耐性候補値の通知を要求する情報通知フレームを送信しても良い。その場合、全装置のバースト耐性候補値が通知されるため、最小バースト耐性取得部23は、通知された全装置のバースト耐性候補値を比較して最小バースト耐性値を選出する。
このように本発明の実施の形態に係る通信方法は、各通信装置で余剰となっているバースト耐性を、各回線に適切に分配することにより、各回線のバースト耐性を向上させることができる。これにより、通信システムにおいて廃棄されるトラフィック量を減少させることができる。
このとき各通信装置は、各回線について、各通信装置が分配したバースト耐性の最小値に合わせてバースト耐性の余剰を確保し、この余剰を各回線に再分配する。これにより、本発明の実施の形態に係る通信方法は、効率よく各回線のバースト耐性を向上させることができる。
(バースト耐性用メモリの分配)
図19を参照して、本発明の実施の形態において、バースト制御部26が、各回線のバースト耐性確定値に基づいて、バースト耐性用のメモリ31を各回線に分配する処理を詳述する。
図19(a)は、バースト耐性用メモリ31のすべての記憶領域を、いずれかの回線に分配する場合を説明する。このとき、バースト耐性用メモリ31の記憶容量を分配する指標として各回線の帯域や、各回線のユーザの要望などが考えられる。具体的な実装例としては、下記の通りいくつか考えられる。
第1の方法として、あらかじめ各回線の帯域に、固定でバースト耐性用メモリ31のバッファ量を分配する方法がある。たとえば、回線の帯域が20Mbpsの場合、10kByteのバッファ量を分配し、回線の帯域が30Mbpsの場合、20kByteのバッファ量を分配する。
第2の方法として、各回線の帯域の比率や、ユーザ要望をもとに、バースト耐性用メモリ31を分配する方法がある。たとえば、バースト耐性用メモリ31を、回線の帯域が20Mbpsと30Mbpsの2つの回線に分配する場合、バースト耐性用メモリ31のバッファ量を2:3の割合で、各回線に分配する。
第3の方法として、予め各回線のバースト耐性確定値の上限値および下限値を定め、帯域の比等をもとに分配する方法がある。この場合、バースト耐性制御部26は、初期分配部22または再分配部25が出力する最小バースト耐性候補値を予め定めた上限値および下限値の範囲内に含まれるよう補正し、この最小バースト耐性候補値を、バースト耐性確定値とする。例えば、図1のステップS4で余剰耐性総量が終了条件を満たした場合や、ステップS9で余剰耐性総量が終了条件を満たした場合、最小バースト耐性候補値が、上限値および下限値の範囲内にあるか否かを判定する。また、余剰耐性総量が終了条件を満たすか満たさないかに関わらず、初期分配の終了後にのみ上限値および下限値の範囲内にあるか否かを判定しても良いし、初期分配および再分配が終了する都度判定しても良い。
また、初期分配部22または再分配部25が出力する最小バースト耐性候補値が上限値を上回る場合は、最小バースト耐性候補値を上限値の近傍の値に補正する。初期分配部22または再分配部25が出力する最小バースト耐性候補値が下限値を下回る場合、余剰耐性総量から分配して、最小バースト耐性候補値を下限値の近傍の値に補正する。
バースト耐性制御部26は、各回線について、上限値および下限値の範囲内のバースト耐性確定値に基づいて、バースト耐性用メモリ31を分配する。
たとえば、各回線の下限値を10kByteと設定するとともに、上限値を30kByteと設定する場合を考える。また、バースト耐性用メモリ31を、例えば、回線の帯域が20Mbpsと30Mbpsの場合など、バースト耐性確定値が2:3の割合である2つの回線に分配する場合、バースト耐性制御部26は、バースト耐性用メモリ31のバッファ量を2:3の割合で、各回線に分配する。このとき、各回線に分配されるバッファ量が、下限値10kByte以上で、かつ上限値30kByte以下であれば、良い。下限値および上限値の範囲内でない場合、下限値を満たすように、分配する。たとえば、20Mbpsの帯域の回線に分配されたバッファ量が、8kByteの場合、余剰耐性総量に基づいて新たに2kByteを分配し、この回線に分配するバッファ量を10kByteに変更する。また、30Mbpsの帯域の回線に分配されたバッファ量が35kByteの場合、この回線に分配するバッファ量を30KByteに変更する。
このように上限値および下限値の範囲内のバースト耐性確定値に基づいてバースト耐性用メモリ31を分配することにより、所定の回線がバースト耐性を占有し、ほかの回線にバースト耐性が分配されないことを防ぐことができる。また、分配時の条件によっては、収容回線数が少ない場合と収容回線数が多い場合でバースト耐性が大きく変動し、ユーザが使用するアプリケーションの特性に影響を与えることが考えられる。そのため、上限値を設けることにより、その変動幅を小さくすることができる。また、分配時の条件によっては、分配される耐性が小さくなりすぎ、スループットの劣化につながることが考えられる。そのため、下限値を設けることにより、分配される最低限の耐性を保証することができ、スループットの劣化を回避することができる。
図19(b)は、バースト耐性用メモリ31の一部を、各回線に個別に分配した各回線の占有部とし、残りを各回線の共有部とする場合を説明する。通信装置は、各回線にバースト耐性値を分配する際、当該通信装置の有するバースト耐性総量の一部を回線の共有バースト耐性値として分配する。共有バースト耐性値に対応するリソースを、全ての回線が共有する場合もあれば、特定のまたは任意の回線が共有する場合もある。さらに通信装置の初期分配部22は、バースト耐性総量から共有バースト耐性値を減算して分配可能なバースト耐性総量として記憶した後に、分配可能なバースト耐性総量を各回線に分配し、各回線の初期分配のバースト耐性候補値を算出する。
トラフィック制御部30は、各回線にバースト耐性確定値に対応したメモリ容量のバースト耐性用メモリ31を用いて、各回線のパケットを転送する。ここで、各回線に分配されたメモリ容量を越えるバーストトラフィックが発生した際、トラフィック制御部30は、バーストトラフィックが発生した回線に、共有バースト耐性値に対応したメモリ容量も分配して、パケットを転送する。
このように、バースト耐性用メモリ31の一部を各回線が共有して使用することにより、各回線に個別に分配するバースト耐性以上のバーストトラフィックを透過できる。また、特に、各回線についてバーストトラフィックが発生するタイミングが異なる場合や、各回線で瞬間的にバーストトラフィックが発生する場合に、この方法は好適である。
(第1の変形例)
図20および図21を参照して、余剰耐性総量を各回線に再分配する実施例について、第1の変形例を説明する。実施の形態に係る通信装置は、図8に示すように、初期分配部22によって算出された余剰耐性総量を、各回線の優先度に応じて比例配分した。一方第1の変形例に係る通信装置は、各回線の帯域に応じて、各回線に余剰耐性総量を再分配する場合を説明する。
図20および図21に示す例において、第1の回線L1の帯域は20Mbpsで、第2の回線L2の帯域は50Mbpsで、第3の回線L3の帯域は10Mbpsである。通信装置1は、この場合、余剰耐性総量「8」を、帯域の多い回線に、より多く分配するため、第1の回線L1、第2の回線L2および第3の回線L3に、2:5:1の割合で分配する。
この結果、図21(a)に示すように、第1の回線L1について、A装置1aの初期分配最小バースト耐性候補値「4」に新たなバースト耐性値「2」が再分配されることにより、再分配のバースト耐性候補値は「6」となる。第2の回線L2について、A装置1aの初期分配最小バースト耐性候補値「3」に新たなバースト耐性値「5」が再分配されることにより、再分配のバースト耐性候補値は「8」となる。また、第3の回線L3について、A装置1aの初期分配最小バースト耐性候補値「3」に新たなバースト耐性値「1」が再分配されることにより、再分配のバースト耐性候補値は「4」となる。
また、図4(b)を参照して説明したように、図21(a)の場合においても、各装置の再分配のバースト耐性候補値が異なる場合が考えられる。この場合、図21(b)に示すように、再度、各回線の再分配最小バースト耐性候補値を取得して、余剰耐性を算出する。このように、余剰の確保と再分配を複数回繰り返すことにより、通信システム全体で、さらに効率よくパケットを転送することができる。
(第2の変形例)
図22ないし図27を参照して、余剰耐性総量を各回線に再分配する実施例について、第2の変形例を説明する。第2の変形例に係る通信装置は、各装置が処理するトラフィック量の統計情報から、バースト性の高い回線に、より多くのバースト耐性値を分配する。
図22に示すように、第2の変形例に係る通信システムは、A装置1a、B装置1b、C装置1cおよびD装置1dにそれぞれ入力されるトラフィック量を、回線ごとに監視する。各装置へ入力されるトラフィック量を統計情報から、バースト性の高い順に、第1の回線L1、第2の回線L2および第3の回線L3に順序を付す。各通信装置1は、各回線に付された順序に基づいて、余剰耐性総量を、各回線に分配する。
ここで通信システムは、各装置に入力されるトラフィック量を監視し、バースト性の高い順に回線に順序を付すトラフィック監視装置を備えても良い。このトラフィック監視装置は、各回線の識別子と、各回線の順序を対応づけたデータを、A装置1a、B装置1b、C装置1cおよびD装置1dに入力する。各装置は、このデータに基づいて、各回線に余剰耐性総量を分配する。また、第2の変形例に係る通信装置は、各回線のバースト性を比較するのではなく、トラフィック量の大きさに応じて分配するバースト耐性値を予め決めておいてもよい。たとえば、第2の変形例に係る通信装置は、トラフィック量が100kByteであれば10Kbyteのバースト耐性値を分配するなど、トラフィック量とこのトラフィック量に対して分配するべきバースト耐性を予め対応づけて作成したルールに基づいて、バースト耐性を分配しても良い。 この場合、通信装置1は、図23に示す構成を有する。図23に示す第2の変形例に係る通信装置1は、図11を参照して説明した実施の形態に係る通信装置1と比べて、トラフィック監視部51a、51b、51c、…、51iを備える点が異なる。
トラフィック監視部51aは、第1の回線L1で転送されるトラフィック量および当該トラフィック量の履歴の少なくともいずれかを含むトラフィックデータを生成し、収容ユーザデータベース10に記憶する。トラフィック監視部51bは、第2の回線L2で転送されるトラフィック量および当該トラフィック量の履歴の少なくともいずれかを含むトラフィックデータを生成し、収容ユーザデータベース10に記憶する。トラフィック監視部51cは、第3の回線L3で転送されるトラフィック量および当該トラフィック量の履歴の少なくともいずれかを含むトラフィックデータを生成し、収容ユーザデータベース10に記憶する。トラフィック監視部51iは、第iの回線Liで転送されるトラフィック量および当該トラフィック量の履歴の少なくともいずれかを含むトラフィックデータを生成し、収容ユーザデータベース10に記録する。本発明の実施の形態において、トラフィック監視部51a、51b、51c、…、51iを特に区別しない場合、単にトラフィック制御部30と記載する場合がある。
初期分配部22および再分配部25のうち少なくともいずれかは、トラフィックデータに基づいて、分配可能なリソースを回線に分配することにより、回線について初期分配のバースト耐性候補値および再分配のバースト耐性候補値の少なくともいずれかを記憶する。ここで、初期分配部22が分配可能なリソースは、バースト耐性総量に対応するリソースである。また再分配部25が分配可能なリソースは、余剰耐性総量に対応するリソースである。
ここで、トラフィック監視部51の処理の一例を説明する。トラフィック監視部51は、あらかじめ設定された可変の時間単位ごとに、入力されたトラフィック量を記録する。この単位時間はたとえば、秒、分、週、月、年などの時間単位が考えられる。トラフィック監視部51は、各回線について、バーストトラフィックが発生時に、バースト超過で廃棄されたトラフィックの量を、バーストトラフィック量として算出する。この各回線のバーストトラフィック量は、初期分配部22および再分配部25のうち少なくともいずれかにおいて、バースト耐性総量または余剰耐性総量を、各回線に分配する際の指標になる。また、バースト耐性の初期分配および再分配の周期を、トラフィック量を記録する単位時間と同様に、たとえば、秒、分、週、月、年などの時間単位に設定しても良い。
図24に示す例で、トラフィック制御部30は、バースト耐性用メモリ31のうち、第1の回線L1に20kByte、第2の回線L2に30kByte、第3の回線L3に40kByteの各バッファ量を、それぞれ使用可能であるとする。
ここで、第1の回線L1に40kByteのトラフィックが発生すると、このトラフィックのバースト超過により、20kByteのトラフィックが廃棄される。この場合、第1の回線L1のバーストトラフィック量は、20kByteとなる。同様に、第2の回線L2に80kByteのトラフィックが発生すると、このトラフィックのバースト超過により、50kByteのトラフィックが廃棄される。この場合、第2の回線L2のバーストトラフィック量は、50kByteとなる。第3の回線L3に50kByteのトラフィックが発生すると、このトラフィックのバースト超過により、10kByteのトラフィックが廃棄される。この場合、第3の回線L3のバーストトラフィック量は、10kByteとなる。
この場合、各回線に分配される耐性は、図25に示すように算出される。図24に示す例において、第1の回線L1のバーストトラフィック量が20kByteで、第2の回線L2のバーストトラフィック量は50kByteで、第3の回線L3のバーストトラフィック量は10kByteである。通信装置1は、この場合、余剰耐性総量「8」を、バーストトラフィック量の多い回線により多く分配するため、第1の回線L1、第2の回線L2および第3の回線L3に、2:5:1の割合で分配する。この結果、再分配部25は、第1の回線L1に新たなバースト耐性値「2」を再分配し、第2の回線L2に新たなバースト耐性値「5」を再分配し、第3の回線L3に新たなバースト耐性値「1」を再分配する。
図25に示す例では、各回線のバーストトラフィック量に応じて余剰耐性総量を比例配分しているが、この例に限られない。バーストトラフィック量が多いほど新たに分配するバースト耐性値が大きく、バーストトラフィック量が少ないほど新たに分配するバースト耐性値が小さくなれば、比例配分でなくても良い。
ここで、トラフィックの統計を取得する装置について、2つのパターンが考えられる。第1のパターンは、通信システムを構成するすべての通信装置が、独立して、各回線の統計を取得する方法である。第2のパターンは、通信システムを構成する装置のうち、ネットワークの先頭に位置する装置のみが各回線の統計を取得する方法である。
図26を参照して、第1のパターンを説明する。図26に示す例では、A装置1a、B装置1b、C装置1cおよびD装置1dの各トラフィック監視部51が、それぞれ独立して、各回線で一定時間に発生するバーストトラフィック量を算出する。
図26に示す方法においては、D装置1dに入力されるトラフィックは、既に前段のA装置1a、B装置およびC装置で一部が廃棄されている可能性が高いので、D装置1dへのトラフィックを直接測定することができない。このネットワークの先頭のA装置1aのバースト耐性値より大きいバーストトラフィックは廃棄されるので、後段の装置には流入されない。従って、B装置1b、C装置1cおよびD装置1dで測定されるバーストトラフィック量は、先頭のA装置1aのバースト耐性に対応するトラフィック量を超えることはない。
従って、図26に示す例では、後段の装置ほど、前段の装置のバースト耐性の大きさの影響を受ける。所定の回線でバーストトラフィックが発生している場合、前段のA装置1aが、このバーストトラフィックが発生する回線に再分配するバースト耐性が大きくなる。またこれに伴って、後段のB装置1b、C装置1cおよびD装置1dが、この回線に再分配するバースト耐性も大きくなる。その結果、各装置のバースト耐性は、各回線の傾向に従って緩やかに変化することになる。
図26に示す場合、各装置が独立してトラフィックの統計を算出するため、各装置間でトラフィックの統計データの送受信が発生せず、各装置間のトラフィックの負担を軽減することができる。
図27を参照して、第2のパターンを説明する。図27に示す例では、A装置1aのトラフィック監視部51が、ネットワークの先頭のA装置1aの各回線で一定時間に発生するバーストトラフィック量を算出する。この場合、A装置1aは、A装置1aのトラフィック監視部51が取得した各回線のバーストトラフィック量を、B装置1b、C装置1cおよびD装置1dに入力する。B装置1b、C装置1cおよびD装置1dは、A装置1aから入力された各回線のバーストトラフィック量に従って、バースト耐性総量または余剰耐性総量を、各回線に分配する。この場合、各装置間でトラフィックの統計データの送受信が発生し、各装置間のトラフィックの負担が発生してしまう。
しかしながら、図27に示す例では、先頭のA装置1aに流入するバーストトラフィック量は、ユーザがこの回線に流入するトラフィック量に一致する。従って、図27に示す例では、通信システムのすべての装置1が、直接ユーザが各回線に流入するトラフィック量に従って、バースト耐性総量または余剰耐性総量を、各回線に分配することができる。
(その他の実施の形態)
上記のように、本発明の実施の形態とその変形例1および2によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
たとえば、本発明の実施の形態に記載した通信装置は、図11に示すようにひとつのハードウェア上に構成されても良いし、その機能や処理数に応じて複数のハードウェア上に構成されても良い。また、本発明の実施の形態などにおいて説明した処理の順序は、適切に処理されるのであれば、どのような順序で実施しても構わない。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。