(57)【要約】【課題】同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用すること。【解決手段】出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量がトークン残量よりも少ない拠点について、当該トークン残量から出力バッファ残量を差し引いた余剰トークン量を算出し、出力バッファ残量がトークン残量よりも多い拠点について、当該出力バッファ残量からトークン残量を差し引いた必要トークン量を算出し、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、余剰トークン量の範囲内でトークンを分配する。【選択図】        図１−２
2008104110.tif 000002
【特許請求の範囲】
【請求項１】
複数の拠点に対するパケットの中継に際して、前記拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、前記拠点ごとに設けられる出力バッファから前記パケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、前記拠点ごとのトークンカウンタに残っているトークン残量に応じて前記拠点ごとの帯域を制御する帯域制御システムであって、
前記出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量が前記トークン残量よりも少ない拠点について、当該トークン残量から前記出力バッファ残量を差し引いた余剰トークン量を算出する余剰トークン量算出手段と、
前記出力バッファ残量が前記トークン残量よりも多い拠点について、当該出力バッファ残量から前記トークン残量を差し引いた必要トークン量を算出する必要トークン量算出手段と、
同一ユーザが帯域契約する複数の拠点間で前記余剰トークン量および前記必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、前記余剰トークン量の範囲内でトークンを分配するトークン分配手段と、
を備えたことを特徴とする帯域制御システム。
【請求項２】
前記同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持する上限閾値保持手段をさらに備え、
前記トークン分配手段は、前記必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の前記上限閾値以下となるように、前記余剰トークン量の範囲内でトークンを分配することを特徴とする請求項１に記載の帯域制御システム。
【請求項３】
前記同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持する優先拠点保持手段をさらに備え、
前記トークン分配手段は、前記同一ユーザが帯域契約する複数の拠点のいずれでも前記必要トークン量が算出された場合には、前記優先拠点のトークンカウンタに対して、前記優先拠点以外の拠点である非優先拠点における前記トークン残量からトークンを分配することを特徴とする請求項２に記載の帯域制御システム。
【請求項４】
前記同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の下限を示す下限閾値を保持する下限閾値保持手段をさらに備え、
前記トークン分配手段は、前記同一ユーザが帯域契約する複数の拠点のいずれでも前記必要トークン量が算出された場合には、前記優先拠点のトークンカウンタに対して、前記非優先拠点の分配後のトークン量が前記下限閾値以上となるように、当該非優先拠点における前記トークン残量からトークンを分配することを特徴とする請求項３に記載の帯域制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、帯域制御システム、帯域制御方法および帯域制御プログラムに関する。
【背景技術】
【０００２】
従来より、パケット通信の中継拠点では、複数の受信端末へのパケット通信速度（帯域）を制御する帯域制御装置が設置される（例えば、特許文献１を参照）。一般的に、このような帯域制御装置では、トークン（送信権）を利用した帯域制御が行なわれている。
【０００３】
すなわち、中継拠点に設置される帯域制御装置は、ユーザとの契約内容（例えば、下り最大１００Ｍｂｐｓ（Ｍｅｇａ  Ｂｉｔｓ  Ｐｅｒ  Ｓｅｃｏｎｄ）契約など）に応じて単位時間当たりに供給するトークン量を割り当て、当該ユーザへのパケットの送信を許可するたびに送信を許可したパケットの容量に相当するトークン量を割り当てたトークン量から減じてトークン残量を算出し、トークン残量が「０」になった時点で、パケットの送信を不許可（帯域抑制）とすることで、契約帯域に応じたパケット通信を行なっている。
【０００４】
【特許文献１】特開平１０−２４７９４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来の技術は、同一ユーザが帯域契約する複数の拠点（マルチポイント）へのパケット送信において、契約帯域に応じて拠点ごとに割り当てたトークンを有効に活用できないという問題点があった。
【０００６】
すなわち、１００Ｍｂｐｓの契約を結んでいる拠点Ａ（例えば、株式会社○○、本社）へは、トークンの残量が充分あり良好なパケットの送信が行なわれているのに対し、１０Ｍｂｐｓの契約を結んでいる拠点Ｂ（例えば、株式会社○○、××支店）へは、トークン残量が「０」であるためにパケットの出力待機もしくはパケットの廃棄が行なわれている状況の場合、同一ユーザであるにも係らず、充分量が残っている拠点Ａ用のトークンを拠点Ｂ用として使用することができず、契約帯域に応じて拠点ごとに割り当てたトークンを有効に活用できないという問題点があった。
【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用することが可能になる帯域制御システム、帯域制御方法および帯域制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、複数の拠点に対するパケットの中継に際して、前記拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、前記拠点ごとに設けられる出力バッファから前記パケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、前記拠点ごとのトークンカウンタに残っているトークン残量に応じて前記拠点ごとの帯域を制御する帯域制御システムであって、前記出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量が前記トークン残量よりも少ない拠点について、当該トークン残量から前記出力バッファ残量を差し引いた余剰トークン量を算出する余剰トークン量算出手段と、前記出力バッファ残量が前記トークン残量よりも多い拠点について、当該出力バッファ残量から前記トークン残量を差し引いた必要トークン量を算出する必要トークン量算出手段と、同一ユーザが帯域契約する複数の拠点間で前記余剰トークン量および前記必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、前記余剰トークン量の範囲内でトークンを分配するトークン分配手段と、を備えたことを特徴とする。
【０００９】
また、請求項２に係る発明は、上記の発明において、前記同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持する上限閾値保持手段をさらに備え、前記トークン分配手段は、前記必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の前記上限閾値以下となるように、前記余剰トークン量の範囲内でトークンを分配することを特徴とする。
【００１０】
また、請求項３に係る発明は、上記の発明において、前記同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持する優先拠点保持手段をさらに備え、前記トークン分配手段は、前記同一ユーザが帯域契約する複数の拠点のいずれでも前記必要トークン量が算出された場合には、前記優先拠点のトークンカウンタに対して、前記優先拠点以外の拠点である非優先拠点における前記トークン残量からトークンを分配することを特徴とする。
【００１１】
また、請求項４に係る発明は、上記の発明において、前記同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の下限を示す下限閾値を保持する下限閾値保持手段をさらに備え、前記トークン分配手段は、前記同一ユーザが帯域契約する複数の拠点のいずれでも前記必要トークン量が算出された場合には、前記優先拠点のトークンカウンタに対して、前記非優先拠点の分配後のトークン量が前記下限閾値以上となるように、当該非優先拠点における前記トークン残量からトークンを分配することを特徴とする。
【発明の効果】
【００１２】
請求項１の発明によれば、出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量がトークン残量よりも少ない拠点について、当該トークン残量から出力バッファ残量を差し引いた余剰トークン量を算出し、出力バッファ残量がトークン残量よりも多い拠点について、当該出力バッファ残量からトークン残量を差し引いた必要トークン量を算出し、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、余剰トークン量の範囲内でトークンを分配するので、トークン残量が不足してパケットの送信が良好でない拠点のトークンカウンタに対して同一ユーザ拠点の余剰トークン量を分配してパケットの送信状況を改善することができ、同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用することが可能になる。
【００１３】
また、請求項２の発明によれば、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持し、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配するので、同一ユーザが帯域契約する複数の拠点間で上限閾値に基づいた優先順位を設定することができ、同一ユーザが帯域契約する複数の拠点間で重要度に応じてトークンを有効に活用することが可能になる。
【００１４】
また、請求項３の発明によれば、同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持し、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された場合には、優先拠点のトークンカウンタに対して、優先拠点以外の拠点である非優先拠点におけるトークン残量からトークンを分配するので、同一ユーザが帯域契約するすべての拠点に必要トークンが生じて要求が競合する場合でも、優先拠点に非優先拠点からトークンを引き渡すことができ、同一ユーザが帯域契約する複数の拠点間で重要度に応じてトークンを有効に活用することが可能になる。
【００１５】
また、請求項４の発明によれば、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の下限を示す下限閾値を保持し、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された場合には、優先拠点のトークンカウンタに対して、非優先拠点の分配後のトークン量が下限閾値以上となるように、当該非優先拠点におけるトークン残量からトークンを分配するので、同一ユーザが帯域契約するすべての拠点に必要トークンが生じて要求が競合して非優先拠点から優先拠点へトークンを引き渡す場合でも、非優先拠点における最低限の帯域を確保でき、ユーザ拠点との契約を保証してトークンを有効に活用することが可能になる。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明に係る帯域制御システム、帯域制御方法および帯域制御プログラムの実施例を詳細に説明する。なお、以下では、実施例１における帯域制御システムの構成および処理の手順、実施例１の効果を順に説明し、次に実施例１と同様に、実施例２に係る帯域制御システム、実施例３に係る帯域制御システム、実施例４に係る帯域制御システム、実施例５に係る帯域制御システムについて順に説明する。
【実施例１】
【００１７】
［実施例１における帯域制御システムの概要および特徴］
まず最初に、図１を用いて、実施例１における帯域制御システムの主たる特徴を具体的に説明する。図１は、実施例１における帯域制御システムの概要および特徴を説明するための図である。
【００１８】
実施例１における帯域制御システムは、複数の拠点に対するパケットの中継に際して、拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、拠点ごとに設けられる出力バッファからパケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、拠点ごとのトークンカウンタに残っているトークン残量に応じて拠点ごとの帯域を制御することを概要とする。ここで、「トークン」とは、所定の容量のパケットを指定された拠点に送信するために必要な「送信権」である。また、「トークン量」とは、「トークン」によって送信が許可されるパケットの容量を示すもので、以下、例えば、７０Ｍｂ（Ｍｅｇａ  Ｂｉｔｓ）分のトークン量を「７０」と表記する。
【００１９】
具体的には、図１−１に示すように、パケット通信の中継拠点は、例えば、拠点Ｃのユーザからのパケットを、当該パケットに付加されたアドレスに従って拠点Ａや拠点Ｂへ送信する。すなわち、拠点Ａのアドレスが付加されたパケットを、「拠点Ａ用ポート」から拠点Ａへ送信し、拠点Ｂのアドレスが付加されたパケットを、「拠点Ｂ用ポート」から送信する。ここで、中継拠点には、図１−１に示すように、拠点Ａへの帯域を制御するために、「拠点Ａ用ポート」の他に、「拠点Ａ用トークンカウンタ」、「拠点Ａ用出力バッファ」および「拠点Ａ用シェーパ」が設置される。「拠点Ａ用トークンカウンタ」には、拠点Ａの契約帯域（１００Ｍｂｐｓ）に従って最大限配布されるべきトークン量である「最大トークン量」として「１００」が割り当てられ、拠点Ａへの未送信パケットが記憶されている「拠点Ａ用出力バッファ」からパケットが読み出されて拠点Ａに中継されるたびに当該パケットの容量に相当するトークン量を「拠点Ａ用トークンカウンタ」から減じられる。「拠点Ａ用シェーパ」は、「拠点Ａ用トークンカウンタ」に残っている「トークン残量」に応じて、「拠点Ａ用出力バッファ」に記憶されている拠点Ａへの未送信パケットの転送速度を調整する。
【００２０】
例えば、図１−１に示すように、「最大トークン量」が「１００」である拠点Ａにおいて、「拠点Ａ用トークンカウンタ」に残っている「トークン残量」が「７０」、同時点での「拠点Ａ用出力バッファ」に記憶されている拠点Ａへの未送信パケットの送信に要するトークン量である「出力バッファ残量」が「１０」の場合、「拠点Ａ用シェーパ」は、「拠点Ａ用出力バッファ」に記憶されている未送信パケットを送信するために十分なトークンが「拠点Ａ用トークンカウンタ」にあるので、パケットを順次「拠点Ａ用ポート」に送信する。
【００２１】
また、図１−１に示すように、拠点Ａと同様に、拠点Ｂへの帯域を制御するために、「拠点Ｂ用ポート」の他に、「拠点Ｂ用トークンカウンタ」、「拠点Ｂ用出力バッファ」および「拠点Ｂ用シェーパ」が設置され、それぞれ同様の機能をする。例えば、図１−１に示すように、契約帯域（１０Ｍｂｐｓ）に従って最大限配布されるべきトークン量である「最大トークン量」が「１０」である拠点Ｂにおいて、「拠点Ｂ用トークンカウンタ」に残っている「トークン残量」が「５」、同時点での「拠点Ｂ用出力バッファ」に記憶されている拠点Ｂへの未送信パケットの送信に要するトークン量である「出力バッファ残量」が「３０」の場合、「拠点Ｂ用シェーパ」は、「拠点Ｂ用出力バッファ」に記憶されている未送信パケットを送信するために十分なトークンが「拠点Ｂ用トークンカウンタ」にないので、「拠点Ｂ用出力バッファ」に当該パケットを待機させる。
【００２２】
このような概要からなる実施例１における帯域制御システムは、同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用することに主たる特徴がある。この主たる特徴について簡単に説明すると、実施例１における帯域制御システムは、出力バッファ残量がトークン残量よりも少ない拠点について、トークン残量から出力バッファ残量を差し引いた余剰トークン量を算出する。具体的には、図１−２の（Ａ）に示すように、実施例１における帯域制御システムは、契約帯域に従って最大限配布されるべきトークン量である「最大トークン量」が「１００」である拠点Ａにおいて、所定の一定時間経過後の時点での「トークン残量」が「７０」、同時点での「出力バッファ残量」が「１０」の場合、「出力バッファ残量」が「トークン残量」より少ないので、「トークン残量」である「７０」から「出力バッファ残量」である「１０」を差し引いて「余剰トークン量」が「６０」であると算出する。
【００２３】
また、実施例１における帯域制御システムは、出力バッファ残量がトークン残量よりも多い拠点について、出力バッファ残量からトークン残量を差し引いた必要トークン量を算出する。具体的には、図１−２の（Ｂ）に示すように、実施例１における帯域制御システムは、「最大トークン量」が「１０」である拠点Ｂにおいて、所定の一定時間経過後の時点（図１−２の（Ａ）に示す時点と同時刻）での「トークン残量」が「５」、同時点での「出力バッファ残量」が「３０」の場合、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「３０」から「トークン残量」である「５」を差し引いて「必要トークン量」が「２５」であると算出する。
【００２４】
続いて、実施例１における帯域制御システムは、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が互いに算出された場合に、余剰トークン量が算出された拠点に代えて、必要トークン量が算出された拠点のトークンカウンタに対して、余剰トークン量の範囲内でトークンを分配する。具体的には、図１−２の（Ｃ）に示すように、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂでそれぞれ「余剰トークン量」および「必要トークン量」が算出されたので、実施例１における帯域制御システムは、拠点Ｂ用トークンカウンタに対して、「余剰トークン量」である「６０」の範囲内でトークンを分配する。この際、「拠点Ａ用トークンカウンタ」にある「トークン残量」からトークンを減少させて、「拠点Ｂ用トークンカウンタ」にある「トークン残量」に「余剰トークン量」の範囲内のトークン量を加算する。
【００２５】
すなわち、図１−２の（Ｃ）に示す場合は、実施例１における帯域制御システムは、余剰トークン量「６０」の範囲内のトークン量である「３０」を「拠点Ｂ用トークンカウンタ」に対して分配し、「トークン残量」が「３５」となる。また、この場合、図１−２の（Ｄ）に示すように、「拠点Ａ用トークンカウンタ」の「トークン残量」は減算され「４０」となる。
【００２６】
このようなことから、実施例１における帯域制御システムは、トークン残量が不足してパケットの送信が良好でない拠点Ｂの「拠点Ｂ用トークンカウンタ」に対して同一ユーザ拠点である拠点Ａで算出された余剰トークン量を分配してパケットの送信状況を改善することができ、上記した主たる特徴の通り、同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用することが可能になる。
【００２７】
［実施例１における帯域制御システムの構成］
次に、図２〜４を用いて、実施例１における帯域制御システムを説明する。図２は、実施例１における帯域制御システムの構成を示すブロック図であり、図３は、実施例１における余剰トークン算出部および必要トークン算出部を説明するための図であり、図４は、実施例１におけるトークン分配制御部を説明するための図である。
【００２８】
図２に示すように、実施例１における帯域制御システムは、拠点Ａトークン監視制御部１０と、拠点Ｂトークン監視制御部２０と、トークン分配制御部３０とから構成され、さらに、拠点Ａ用トークンカウンタ４０および拠点Ａ用出力バッファ４１は、拠点Ａトークン監視制御部１０に接続され、拠点Ｂ用トークンカウンタ５０および拠点Ｂ用出力バッファ５１は、拠点Ｂトークン監視制御部２０に接続される。また、拠点Ａ用シェーパ４２は、拠点Ａ用トークンカウンタ４０および拠点Ａ用出力バッファ４１に接続され、拠点Ｂ用シェーパ５２は、拠点Ｂ用トークンカウンタ５０および拠点Ｂ用出力バッファ５１に接続される。さらに、拠点Ａ用ポート４３は、拠点Ａ用シェーパ４２に接続され、拠点Ｂ用ポート５３は、拠点Ｂ用シェーパ５２に接続される。
【００２９】
拠点Ａ用トークンカウンタ４０は、パケット通信の中継拠点から配布される拠点Ａへのパケットの送信を許可するトークンを保持し、拠点Ａ用出力バッファ４１は、拠点Ａへの未送信パケットを記憶する。具体的には、拠点Ａ用トークンカウンタ４０は、拠点Ａの契約帯域に従って（例えば、下り最大１００Ｍｂｐｓ（Ｍｅｇａ  Ｂｉｔｓ  Ｐｅｒ  Ｓｅｃｏｎｄ）契約など）パケット通信の中継拠点が単位時間当たりに割り当てた最大トークン量を配布され、拠点Ａ用トークンカウンタ４０が保持するトークンから、拠点Ａ用出力バッファ４１に記憶されている拠点Ａへの未送信パケットの送信を許可するたびに送信を許可したパケットの容量に相当するトークン量が減じられる。その結果、拠点Ａ用トークンカウンタ４０に残っているトークン量を「トークン残量」とする。
【００３０】
拠点Ａ用シェーパ４２は、拠点Ａ用トークンカウンタ４０にあるトークン残量と、拠点Ａ用出力バッファ４１に記憶されている未送信パケットの容量とに基づいて、拠点Ａ用ポート４３から拠点Ａへのパケットの送信を調整する。具体的には、拠点Ａ用シェーパ４２は、拠点Ａ用出力バッファ４１に記憶されている未送信パケットを送信するために十分なトークンが拠点Ａ用トークンカウンタ４０にある場合は、パケットを順次拠点Ａ用ポート４３に送り、拠点Ａ用ポート４３は当該パケットを拠点Ａの受信端末に送信する。また、拠点Ａ用シェーパ４２は、拠点Ａ用出力バッファ４１に記憶されている未送信パケットを送信するために十分なトークンが拠点Ａ用トークンカウンタ４０にない場合は、パケットを拠点Ａ用ポート４３に送信せず、拠点Ａ用出力バッファ４１に当該パケットを待機させる。
【００３１】
拠点Ｂ用トークンカウンタ５０は、拠点Ａ用トークンカウンタ４０に対応し、拠点Ｂ用出力バッファ５１は、拠点Ａ用出力バッファ４１に対応し、拠点Ｂ用シェーパ５２は、拠点Ａ用シェーパ４２に対応し、拠点Ｂ用ポート５３は、拠点Ａ用ポート４３に対応し、それぞれ同様に機能する。
【００３２】
拠点Ａトークン監視制御部１０は、拠点Ａ監視部１１と、拠点Ａ記憶部１２と、拠点Ａ算出部１３と、拠点Ａ送信部１４とを備え、拠点Ａ監視部１１が取得したデータに基づいて拠点Ａ算出部１３が算出した拠点Ａの余剰トークン量および拠点Ａの必要トークン量のデータを拠点Ａ記憶部１２に格納し、拠点Ａ送信部１４は、これを後述するトークン分配制御部３０に送信する。
【００３３】
拠点Ａ記憶部１２は、後述する拠点Ａ監視部１１による監視結果と、後述する拠点Ａ算出部１３による各種処理に用いるデータと、後述する拠点Ａ算出部１３による各種処理結果を記憶し、特に本発明に密接に関連するものとしては、図２に示すように、拠点Ａ最大トークン量記憶部１２１と、拠点Ａトークン残量記憶部１２２と、拠点Ａ出力バッファ残量記憶部１２３と、拠点Ａ余剰トークン量記憶部１２４と、拠点Ａ必要トークン量記憶部１２５とを備える。拠点Ａトークン残量記憶部１２２は、後述する拠点Ａトークン残量監視部１１１が拠点Ａ用トークンカウンタ４０を監視して取得したトークン残量を記憶し、拠点Ａ出力バッファ残量記憶部１２３は、後述する拠点Ａ出力バッファ残量監視部１１２が拠点Ａ用出力バッファ４１を監視して取得した出力バッファ残量を記憶し、拠点Ａ余剰トークン量記憶部１２４は、後述する拠点Ａ余剰トークン量算出部１３１が算出した余剰トークン量を記憶し、拠点Ａ必要トークン量記憶部１２５は、後述する拠点Ａ必要トークン量算出部１３２が算出した必要トークン量を記憶する。なお、各部については、後に詳述する。
【００３４】
拠点Ａ監視部１１は、本発明に密接に関連するものとして、図２に示すように、拠点Ａトークン残量監視部１１１および拠点Ａ出力バッファ残量監視部１１２を備える。拠点Ａトークン残量監視部１１１は、拠点Ａ用トークンカウンタ４０を監視して、拠点Ａ用トークンカウンタ４０に残っているトークン残量を取得し、これを拠点Ａトークン残量記憶部１２２に格納する。また、拠点Ａ出力バッファ残量監視部１１２は、拠点Ａ用出力バッファ４１を監視して、拠点Ａ用出力バッファ４１に記憶されている未送信パケットの送信に要するトークン量である出力バッファ残量を取得し、これを拠点Ａ出力バッファ残量記憶部１２３に格納する。
【００３５】
拠点Ａ算出部１３は、所定の一定時間が経過するごとに（例えば、０．５秒ごとに）、拠点Ａにおける余剰トークン量および拠点Ａにおける必要トークン量を算出し、特に本発明に密接に関連するものとしては、図２に示すように、拠点Ａ余剰トークン量算出部１３１と、拠点Ａ必要トークン量算出部１３２とを備える。ここで、拠点Ａ余剰トークン量算出部１３１は、特許請求の範囲に記載の「余剰トークン量算出手段」に対応し、拠点Ａ必要トークン量算出部１３２は、同じく「必要トークン量算出手段」に対応する。
【００３６】
拠点Ａ余剰トークン量算出部１３１は、出力バッファ残量がトークン残量よりも少ない拠点について、トークン残量から出力バッファ残量を差し引いた余剰トークン量を算出する。具体的には、図３の（Ａ）の左表および図３の（Ｂ）の左表に示すように、拠点Ａ最大トークン量記憶部１２１と、拠点Ａトークン残量記憶部１２２と、拠点Ａ出力バッファ残量記憶部１２３とに記憶されているデータから、「最大トークン量」が「１００」である拠点Ａにおいて、所定の一定時間経過後の時点での「トークン残量」が「７０」、同時点での「出力バッファ残量」が「１０」である場合では、「出力バッファ残量」が「トークン残量」より少ないので、「トークン残量」である「７０」から「出力バッファ残量」である「１０」を差し引いて「余剰トークン量」が「６０」であると算出する。
【００３７】
そして、拠点Ａ余剰トークン量算出部１３１は、拠点Ａの余剰トークン量を、算出に用いたデータとともに「拠点Ａ余剰トークン量データ」として拠点Ａ余剰トークン量記憶部１２４に格納する。
【００３８】
拠点Ａ必要トークン量算出部１３２は、出力バッファ残量がトークン残量よりも多い拠点について、出力バッファ残量からトークン残量を差し引いた必要トークン量を算出する。具体的には、図３の（Ａ）の左表および図３の（Ｂ）の左表に示すように、拠点Ａにおいては、「出力バッファ残量」が「トークン残量」より少ないので、「必要トークン量」は算出しない（もしくは、「必要トークン量」を「０」と算出する）。
【００３９】
そして、拠点Ａ必要トークン量算出部１３２は、拠点Ａの必要トークン量を、算出に用いたデータとともに「拠点Ａ必要トークン量データ」として拠点Ａ必要トークン量記憶部１２５に格納する。
【００４０】
拠点Ａ送信部１４は、特に本発明に密接に関連するものとして、図２に示すように、拠点Ａ余剰トークン量送信部１４１と、拠点Ａ必要トークン量送信部１４２とを備える。
【００４１】
拠点Ａ余剰トークン量送信部１４１は、拠点Ａ余剰トークン量記憶部１２４に記憶されている拠点Ａの余剰トークン量に関するデータを、後述するトークン情報受信部３１に送信する。例えば、拠点Ａの余剰トークン量に関するデータが拠点Ａ余剰トークン量記憶部１２４に格納されるたびに、後述するトークン情報受信部３１に送信する。
【００４２】
拠点Ａ必要トークン量送信部１４２は、拠点Ａ必要トークン量記憶部１２５に記憶されている拠点Ａの必要トークン量に関するデータを、後述するトークン情報受信部３１に送信する。例えば、拠点Ａの必要トークン量に関するデータが拠点Ａ必要トークン量記憶部１２５に格納されるたびに、後述するトークン情報受信部３１に送信する。
【００４３】
拠点Ｂトークン監視制御部２０は、拠点Ａトークン監視制御部１０と同様の構成であり、拠点Ｂ監視部２１は、拠点Ａ監視部１１に対応し、拠点Ｂ記憶部２２は、拠点Ａ記憶部１２に対応し、拠点Ｂ算出部２３は、拠点Ａ算出部１３に対応し、拠点Ｂ送信部２４は、拠点Ａ送信部１４に対応し、それぞれは、同様の処理を行う。
【００４４】
拠点Ｂ記憶部２２は、拠点Ａ記憶部１２と同様の構成であり、拠点Ｂ最大トークン量記憶部２２１は、拠点Ａ最大トークン量記憶部１２１に対応し、拠点Ｂトークン残量記憶部２２２は、拠点Ａトークン残量記憶部１２２に対応し、拠点Ｂ出力バッファ残量記憶部２２３は、拠点Ａ出力バッファ残量記憶部１２３に対応し、拠点Ｂ余剰トークン量記憶部２２４は、拠点Ａ余剰トークン量記憶部１２４に対応し、拠点Ｂ必要トークン量記憶部２２５は、拠点Ａ必要トークン量記憶部１２５に対応し、それぞれ同様に機能する。
【００４５】
拠点Ｂ監視部２１は、拠点Ａ監視部１１と同様の構成であり、拠点Ｂトークン残量監視部２１１は、拠点Ａトークン残量監視部１１１に対応し、拠点Ｂ出力バッファ残量監視部２１２は、拠点Ａ出力バッファ残量監視部１１２に対応し、それぞれ同様に機能する。
【００４６】
拠点Ｂ算出部２３は、所定の一定時間が経過するごとに（例えば、０．５秒ごとに）、拠点Ｂにおける余剰トークン量および拠点Ｂにおける必要トークン量を算出し、特に本発明に密接に関連するものとしては、図２に示すように、拠点Ｂ余剰トークン量算出部２３１と、拠点Ｂ必要トークン量算出部２３２とを備える。ここで、拠点Ｂ余剰トークン量算出部２３１は、特許請求の範囲に記載の「余剰トークン量算出手段」に対応し、拠点Ｂ必要トークン量算出部２３２は、同じく「必要トークン量算出手段」に対応する。
【００４７】
拠点Ｂ必要トークン量算出部２３２は、出力バッファ残量がトークン残量よりも多い拠点について、出力バッファ残量からトークン残量を差し引いた必要トークン量を算出する。具体的には、図３の（Ａ）の右表に示すように、拠点Ｂ最大トークン量記憶部２２１と、拠点Ｂトークン残量記憶部２２２と、拠点Ｂ出力バッファ残量記憶部２２３とに記憶されているデータから、「最大トークン量」が「１０」である拠点Ｂにおいて、所定の一定時間経過後の時点での「トークン残量」が「５」、同時点での「出力バッファ残量」が「３０」である場合では、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「３０」から「トークン残量」である「５」を差し引いて「必要トークン量」が「２５」であると算出する。
【００４８】
また、拠点Ｂ必要トークン量算出部２３２は、図３の（Ｂ）の右表に示すように、拠点Ｂ最大トークン量記憶部２２１と、拠点Ｂトークン残量記憶部２２２と、拠点Ｂ出力バッファ残量記憶部２２３とに記憶されているデータから、「最大トークン量」が「１０」である拠点Ｂにおいて、所定の一定時間経過後の時点での「トークン残量」が「５」、同時点での「出力バッファ残量」が「７０」である場合では、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「７０」から「トークン残量」である「５」を差し引いて「必要トークン量」が「６５」であると算出する。
【００４９】
そして、拠点Ｂ必要トークン量算出部２３２は、拠点Ｂの必要トークン量を、算出に用いたデータとともに「拠点Ｂ必要トークン量データ」として拠点Ｂ必要トークン量記憶部２２５に格納する。
【００５０】
拠点Ｂ余剰トークン量算出部２３１は、出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量がトークン残量よりも少ない拠点について、当該拠点の契約帯域に従って最大限配布されるべきトークン量を示す最大トークン量からトークン残量を差し引いた余剰トークン量を算出する。具体的には、図３の（Ａ）の右表および図３の（Ｂ）の右表に示すように、拠点Ｂにおいては、「出力バッファ残量」が「トークン残量」より多いので、「余剰トークン量」は算出しない（もしくは、「余剰要トークン量」を「０」と算出する）。
【００５１】
そして、拠点Ｂ余剰トークン量算出部２３１は、拠点Ｂの余剰トークン量を、算出に用いたデータとともに「拠点Ｂ余剰トークン量データ」として拠点Ｂ余剰トークン量記憶部２２４に格納する。
【００５２】
拠点Ｂ送信部２４は、拠点Ａ送信部１４と同様の構成であり、拠点Ｂ余剰トークン量送信部２４１は、拠点Ａ余剰トークン量送信部１４１に対応し、拠点Ｂ必要トークン量送信部２４２は、拠点Ａ必要トークン量送信部１４２に対応し、それぞれ同様に機能する。
【００５３】
トークン分配制御部３０は、所定の一定時間が経過するごとに拠点Ａ送信部１４および拠点Ｂ送信部２４が送信するデータを受信して、トークンの分配制御を行い、特に本発明に密接に関連するものとしては、図２に示すように、トークン情報受信部３１と、トークン分配演算部３２と、トークン分配演算結果記憶部３３と、トークン分配演算結果送信部３４とを備える。ここで、トークン分配演算部３２は、特許請求の範囲に記載の「トークン分配手段」に対応する。
【００５４】
トークン情報受信部３１は、所定の一定時間が経過するごとに拠点Ａ送信部１４および拠点Ｂ送信部２４が送信するデータを受信する。具体的には、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」を受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」を受信し、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」を受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」を受信する。
【００５５】
より具体的には、図３の（Ａ）の場合は、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」として、「最大トークン量：１００」、「トークン残量：７０」、「出力バッファ残量：１０」および「余剰トークン量：６０」からなるデータを受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」として、「必要トークン量」は算出しない（もしくは、「必要トークン量」を「０」）とするデータを受信し、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」として、「最大トークン量：１０」、「トークン残量：５」、「出力バッファ残量：３０」および「必要トークン量：２５」からなるデータを受信する。
【００５６】
また、図３の（Ｂ）の場合は、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」として、上記した図３の（Ａ）と同じデータを受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」として、上記した図３の（Ａ）と同じデータを受信し、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」として、「最大トークン量：１０」、「トークン残量：５」、「出力バッファ残量：７０」および「必要トークン量：６５」からなるデータを受信する。
【００５７】
トークン分配演算部３２は、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が互いに算出された場合に、余剰トークン量が算出された拠点に代えて、必要トークン量が算出された拠点のトークンカウンタに対して、余剰トークン量の範囲内で分配するトークン量を演算する。具体的には、図３の（Ａ）で示した例で説明すると、トークン情報受信部３１が受信したデータから、図４の（Ａ）に示すように、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂでそれぞれ「余剰トークン量」および「必要トークン量」が算出された場合には、拠点Ｂ用トークンカウンタ５０に対して、「余剰トークン量」である「６０」の範囲内でトークンを分配すると演算する。例えば、本実施例では「余剰トークン量」である「６０」の範囲内のトークン量である「３０」を分配すると演算する。
【００５８】
また、図３の（Ｂ）で示した例で説明すると、図４の（Ｂ）に示すように、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂでそれぞれ「余剰トークン量」および「必要トークン量」が算出された場合には、拠点Ｂ用トークンカウンタ５０に対して、「必要トークン量」である「６５」のトークンを分配するとは演算せず、「余剰トークン量」である「６０」の範囲内でトークンを分配すると演算する。例えば、本実施例では「余剰トークン量」である「６０」の範囲内のトークン量である「３０」を分配すると演算する。
【００５９】
トークン分配演算結果記憶部３３は、トークン分配演算部３２の演算結果を記憶し、トークン分配演算結果送信部３４は、トークン分配演算結果記憶部３３に格納されている結果を送信して、拠点Ａ用トークンカウンタ４０および拠点Ｂ用トークンカウンタ５０のトークン量を加減算する。
【００６０】
具体的には、図３の（Ａ）および図３の（Ｂ）で示した例で説明すると、図４の（Ａ）および図４の（Ｂ）に示すように、トークン分配演算結果送信部３４は、拠点Ａ用トークンカウンタ４０から拠点Ｂ用トークンカウンタ５０に対し「３０」のトークンを分配するという結果を送信して、拠点Ａ用トークンカウンタ４０のトークン残量を「４０」と減少させ、拠点Ｂ用トークンカウンタ５０のトークン残量を「３５」と増加させる。
【００６１】
［実施例１におけるトークン分配制御部による処理の手順］
次に、図５を用いて、実施例１におけるトークン分配制御部３０による処理を説明する。図５は、実施例１におけるトークン分配制御部の処理の手順を示すフローチャートである。
【００６２】
まず、実施例１におけるトークン分配制御部３０は、同一ユーザが帯域契約する複数の拠点ごとの余剰トークン量データおよび必要トークン量データを受信すると（ステップＳ５０１肯定）、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されたか否かを判断する（ステップＳ５０２）。
【００６３】
具体的には、トークン情報受信部３１は、所定の一定時間が経過するごとに拠点Ａ余剰トークン量送信部１４１および拠点Ａ必要トークン量送信部１４２から、「拠点Ａ余剰トークン量データ」や「拠点Ａ必要トークン量データ」を受信し、拠点Ｂ余剰トークン量送信部２４１および拠点Ｂ必要トークン量送信部２４２から、「拠点Ｂ余剰トークン量データ」や「拠点Ｂ必要トークン量データ」を受信すると、トークン分配演算部３２は、トークン情報受信部３１が受信したデータに基づいて、余剰トークン量および必要トークン量が算出されたか否かを判断する。
【００６４】
ここで、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されていない場合には（ステップＳ５０２否定）、処理を終了する。例えば、拠点Ａおよび拠点Ｂでともに余剰トークンが算出された場合、もしくは、拠点Ａおよび拠点Ｂでともに必要トークンが算出された場合は、処理を終了する。これとは反対に、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されると（ステップＳ５０２肯定）、必要トークン量が算出された拠点のトークンカウンタに対して、余剰トークン量の範囲内でトークンを分配し（ステップＳ５０３）、処理を終了する。
【００６５】
具体的には、トークン分配演算部３２は、図３の（Ａ）に示す、拠点ごとの余剰トークン量データおよび必要トークン量データから、拠点Ａで余剰トークン量が算出され、拠点Ｂで必要トークン量が算出されているので、拠点Ｂ用トークンカウンタ５０に対して、拠点Ａで算出された余剰トークン量「６０」の範囲内でトークンを分配すると演算し、トークン分配演算結果記憶部３３は、トークン分配演算部３２の演算結果を記憶し、トークン分配演算結果送信部３４は、トークン分配演算結果記憶部３３に格納されている結果を送信して、拠点Ａ用トークンカウンタ４０および拠点Ｂ用トークンカウンタ５０のトークン量を加減算する。例えば、トークン分配演算結果送信部３４は、図３の（Ａ）に示す場合には、図４の（Ａ）に示すように、拠点Ａ用トークンカウンタ４０のトークン量を「３０」減少させて「４０」とし、拠点Ｂ用トークンカウンタ５０のトークン量を「３０」増加させて「３５」とする。
【００６６】
［実施例１の効果］
上記したように、実施例１によれば、出力バッファ残量がトークン残量よりも少ない拠点について、当該トークン残量から出力バッファ残量を差し引いた余剰トークン量を算出し、出力バッファ残量がトークン残量よりも多い拠点について、当該出力バッファ残量からトークン残量を差し引いた必要トークン量を算出し、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、余剰トークン量の範囲内でトークンを分配するので、トークン残量が不足してパケットの送信が良好でない拠点Ｂ用トークンカウンタ５０に対して同一ユーザ拠点である拠点Ａで算出された余剰トークン量を分配してパケットの送信状況を改善することができ、同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用することが可能になる。
【実施例２】
【００６７】
上述した実施例１では、余剰トークン量の範囲内でトークンを分配する場合について説明したが、実施例２では、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配する場合について説明する。
【００６８】
［実施例２における帯域制御システムの概要および特徴］
まず最初に、図６を用いて、実施例２における帯域制御システムの主たる特徴を具体的に説明する。図６は、実施例２における帯域制御システムの概要および特徴を説明するための図である。
【００６９】
実施例２における帯域制御システムでは、まず、実施例１における帯域制御システムと同様に、出力バッファ残量がトークン残量よりも少ない拠点について、余剰トークン量を算出し、出力バッファ残量がトークン残量よりも多い拠点について、必要トークン量を算出する。
【００７０】
具体的には、図６の（Ａ）に示すように、「最大トークン量」が「１００」である拠点Ａにおいて、所定の一定時間経過後の時点での「トークン残量」が「７０」、同時点での「出力バッファ残量」が「１０」の場合、「出力バッファ残量」が「トークン残量」より少ないので、「トークン残量」である「７０」から「出力バッファ残量」である「１０」を差し引いて「余剰トークン量」が「６０」であると算出する。また、図６の（Ｂ）に示すように、実施例２における帯域制御システムは、「最大トークン量」が「１０」である拠点Ｂにおいて、所定の一定時間経過後の時点（図６の（Ａ）に示す時点と同時刻）での「トークン残量」が「５」、同時点での「出力バッファ残量」が「３０」の場合、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「３０」から「トークン残量」である「５」を差し引いて「必要トークン量」が「２５」であると算出する。
【００７１】
続いて、実施例２における帯域制御システムは、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持し、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配する。すなわち、図６の（Ａ）に示すように、拠点Ａの上限閾値が「１００」であり、図６の（Ｂ）に示すように、拠点Ｂの上限閾値が「２０」であるという情報を加えて、図６の（Ｃ）に示すように、トークンを分配する。
【００７２】
具体的には、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂでそれぞれ「余剰トークン量」および「必要トークン量」が算出されたので、拠点Ｂ用トークンカウンタに対して、分配後のトークン量が拠点Ｂの上限閾値「２０」以下となるように、「余剰トークン量」である「６０」の範囲内でトークンを分配する。より具体的には、「余剰トークン量」である「６０」を拠点Ｂの「トークン残量」である「５」に分配するとトークンは「６５」となり、拠点Ｂの上限閾値「２０」より多くなるので、分配後のトークン量が拠点Ｂの上限閾値「２０」以下になるように、拠点Ｂの上限閾値「２０」から拠点Ｂの「トークン残量」である「５」を差し引いた「１５」以下のトークンを、拠点Ｂ用トークンカウンタに対して分配する。本実施例では、上限値である「１５」を分配して、図６の（Ｃ）に示すように、拠点Ｂ用トークンカウンタのトークン残量は「１５」増加して、「２０」となる。また、図には示さないが、拠点Ａ用トークンカウンタのトークン残量は「１５」減少して、「５５」となる。つまり、余剰トークン量が「６０」と算出された拠点Ａは、拠点Ｂ用トークンカウンタに対してトークン量を「１５」しか引き渡さないので、拠点Ａではトークン量に余裕がある状態となり、拠点間で帯域の保証に関する優劣の関係が生じる。
【００７３】
このようなことから、実施例２における帯域制御システムは、同一ユーザが帯域契約する複数の拠点間で上限閾値に基づいた優先順位を設定することができ、同一ユーザが帯域契約する複数の拠点間で重要度に応じてトークンを有効に活用することが可能になる。
【００７４】
［実施例２における帯域制御システムの構成］
次に、図７〜９を用いて、実施例２における帯域制御システムを説明する。図７は、実施例２における帯域制御システムの構成を示すブロック図であり、図８は、実施例１における余剰トークン算出部および必要トークン算出部を説明するための図であり、図９は、実施例２におけるトークン分配制御部を説明するための図である。
【００７５】
図７に示すように、実施例２における帯域制御システムは、図２に示した実施例１における帯域制御システムと基本的に同様であり、トークン分配制御部３０に、上限閾値記憶部３５を新たに備えているところが相違する。ここで、上限閾値記憶部３５は、特許請求の範囲に記載の「上限閾値保持手段」に対応する。以下、これを中心に説明する。
【００７６】
トークン情報受信部３１は、所定の一定時間が経過するごとに拠点Ａ送信部１４および拠点Ｂ送信部２４が送信するデータを受信する。具体的には、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」を受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」を受信し、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」を受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」を受信する。
【００７７】
より具体的には、図８の（Ａ）に示す場合は、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」として、「最大トークン量：１００」、「トークン残量：７０」、「出力バッファ残量：１０」および「余剰トークン量：６０」からなるデータを受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」として、「必要トークン量」は算出しない（もしくは、「必要トークン量」を「０」）とするデータを受信する。また、図８の（Ｂ）に示す場合は、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」として、「最大トークン量：１０」、「トークン残量：５」、「出力バッファ残量：３０」および「必要トークン量：２５」からなるデータを受信する。
【００７８】
上限閾値記憶部３５は、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持し、トークン分配演算部３２は、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が上限閾値記憶部３５に保持されている当該拠点の上限閾値以下となるように、余剰トークン量の範囲内で分配するトークン量を演算する。
【００７９】
具体的には、図９に示すように、上限閾値記憶部３５に保持されている拠点Ａの上限閾値が「１００」であり、拠点Ｂの上限閾値が「２０」であるという情報を加えて、トークン分配演算部３２は分配するトークン量を演算する。
【００８０】
より具体的には、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂでそれぞれ「余剰トークン量」および「必要トークン量」が算出されたので、拠点Ｂ用トークンカウンタ５０に対して、分配後のトークン量が拠点Ｂの上限閾値「２０」以下となるように、「余剰トークン量」である「６０」の範囲内でトークンを分配する。ここで、「余剰トークン量」である「６０」を拠点Ｂの「トークン残量」である「５」に分配するとトークンは「６５」となり、拠点Ｂの上限閾値「２０」より多くなるので、分配後のトークン量が拠点Ｂの上限閾値「２０」以下になるように、拠点Ｂの上限閾値「２０」から拠点Ｂの「トークン残量」である「５」を差し引いた「１５」以下のトークンを、拠点Ｂ用トークンカウンタ５０に対して分配すると演算する。そして、例えば、本実施例では、拠点Ｂ用トークンカウンタ５０に対し上限値である「１５」を分配すると演算し、図９に示すように、トークン分配演算結果送信部３４はその結果を送信して、拠点Ａ用トークンカウンタ４０のトークン残量を「１５」減少させて「５５」とし、拠点Ｂ用トークンカウンタ５０のトークン残量を「１５」増加させて「２０」とする。
【００８１】
［実施例２におけるトークン分配制御部による処理の手順］
次に、図１０を用いて、実施例２におけるトークン分配制御部３０による処理を説明する。図１０は、実施例２におけるトークン分配制御部の処理の手順を示すフローチャートである。
【００８２】
まず、実施例２におけるトークン分配制御部３０は、同一ユーザが帯域契約する複数の拠点ごとの余剰トークン量データおよび必要トークン量データを受信すると（ステップＳ１００１肯定）、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されたか否かを判断する（ステップＳ１００２）。
【００８３】
ここで、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されていない場合には（ステップＳ１００２否定）、処理を終了する。例えば、拠点Ａおよび拠点Ｂでともに余剰トークンが算出された場合、もしくは、拠点Ａおよび拠点Ｂでともに必要トークンが算出された場合は、処理を終了する。これとは反対に、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されると（ステップＳ１００２肯定）、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配し（ステップＳ１００３）、処理を終了する。
【００８４】
具体的には、トークン分配演算部３２は、図８の（Ａ）に示すように、拠点Ａで余剰トークン量が算出され、図８の（Ｂ）に示すように、拠点Ｂで必要トークン量が算出されているので、拠点Ｂ用トークンカウンタ５０に対して、分配後のトークン量が拠点Ｂの上限閾値「２０」以下となる条件を満たす「１５」以下のトークンを、拠点Ｂ用トークンカウンタ５０に対して分配すると演算する。そして、本実施例では、上限値である「１５」を分配するとして、図９に示すように、トークン分配演算結果送信部３４は、拠点Ａ用トークンカウンタ４０のトークン残量を「１５」減少させて「５５」とし、拠点Ｂ用トークンカウンタ５０のトークン残量を「１５」増加させて「２０」とする。
【００８５】
［実施例２の効果］
上記したように、実施例２によれば、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持し、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配するので、同一ユーザが帯域契約する複数の拠点間で上限閾値に基づいた優先順位を設定することができ、同一ユーザが帯域契約する複数の拠点間で重要度に応じてトークンを有効に活用することが可能になる。
【実施例３】
【００８６】
上述した実施例１と実施例２では、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された際にはトークンを分配しなかったが、実施例３では、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された際に、優先拠点にトークンを分配する場合について説明する。
【００８７】
［実施例３における帯域制御システムの概要および特徴］
まず最初に、図１１を用いて、実施例３における帯域制御システムの主たる特徴を具体的に説明する。図１１は、実施例３における帯域制御システムの概要および特徴を説明するための図である。
【００８８】
実施例３における帯域制御システムでは、まず、実施例１における帯域制御システムと同様に、出力バッファ残量がトークン残量よりも少ない拠点について、余剰トークン量を算出し、出力バッファ残量がトークン残量よりも多い拠点について、必要トークン量を算出する。
【００８９】
具体的には、図１１の（Ａ）に示すように、「最大トークン量」が「１００」である拠点Ａにおいて、所定の一定時間経過後の時点での「トークン残量」が「７０」、同時点での「出力バッファ残量」が「７５」の場合、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「７５」から「トークン残量」である「７０」を差し引いて「必要トークン量」が「５」であると算出する。また、図１１の（Ｂ）に示すように、「最大トークン量」が「１０」である拠点Ｂにおいて、所定の一定時間経過後の時点（図１１の（Ａ）に示す時点と同時刻）での「トークン残量」が「１０」、同時点での「出力バッファ残量」が「１５」の場合、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「１５」から「トークン残量」である「１０」を差し引いて「必要トークン量」が「１０」であると算出する。
【００９０】
続いて、実施例３における帯域制御システムは、同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持し、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された場合には、優先拠点のトークンカウンタに対して、優先拠点以外の拠点である非優先拠点におけるトークン残量からトークンを分配する。具体的には、図１１の（Ａ）および図１１の（Ｂ）に示すように拠点Ａおよび拠点Ｂの両方で必要トークンが算出された場合、図１１の（Ｃ）に示すように、優先拠点として設定された拠点Ａのトークンカウンタに、非優先拠点である拠点Ｂのトークン残量からトークン量「５」を分配する。その結果、図１１の（Ｃ）に示すように、拠点Ａ用トークンカウンタのトークン量は「７５」に増加し、拠点Ｂ用トークンカウンタのトークン量は「５」に減少する。
【００９１】
このようなことから、実施例３における帯域制御システムは、同一ユーザが帯域契約するすべての拠点に必要トークンが生じて要求が競合する場合でも、優先拠点に非優先拠点からトークンを引き渡すことができ、同一ユーザが帯域契約する複数の拠点間で重要度に応じてトークンを有効に活用することが可能になる。
【００９２】
［実施例３における帯域制御システムの構成］
次に、図１２〜１４を用いて、実施例３における帯域制御システムを説明する。図１２は、実施例３における帯域制御システムの構成を示すブロック図であり、図１３は、実施例３における必要トークン算出部を説明するための図であり、図１４は、実施例３におけるトークン分配制御部を説明するための図である。
【００９３】
図１２に示すように、実施例３における帯域制御システムは、図７に示した実施例２における帯域制御システムと基本的に同様であり、トークン分配制御部３０に、優先拠点記憶部３６を新たに備えているところが相違する。ここで、優先拠点記憶部３６は、特許請求の範囲に記載の「優先拠点保持手段」に対応する。以下、これを中心に説明する。
【００９４】
トークン情報受信部３１は、所定の一定時間が経過するごとに拠点Ａ送信部１４および拠点Ｂ送信部２４が送信するデータを受信する。具体的には、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」を受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」を受信し、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」を受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」を受信する。
【００９５】
より具体的には、図１３の（Ａ）に示す場合は、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」として、「最大トークン量：１００」、「トークン残量：７０」、「出力バッファ残量：７５」および「必要トークン量：５」からなるデータを受信する。また、図１３の（Ｂ）に示す場合は、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」として、「最大トークン量：１０」、「トークン残量：１０」、「出力バッファ残量：１５」および「必要トークン量：５」からなるデータを受信する。
【００９６】
優先拠点記憶部３６は、同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持し、トークン分配演算部３２は、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された場合には、優先拠点のトークンカウンタに対して、優先拠点以外の拠点である非優先拠点におけるトークン残量から分配するトークン量を演算する。具体的には、図１４に示すように、優先拠点記憶部３６に優先拠点として保持されている拠点Ａの拠点Ａ用トークンカウンタ４０に、非優先拠点である拠点Ｂのトークン残量から拠点Ａの必要トークン量「５」を分配すると演算する。その際、トークン分配演算部３２は、拠点Ａ用トークンカウンタ４０にトークン量「５」が分配された場合のトークン量「７５」が、上限閾値記憶部３５に保持されている拠点Ａの上限閾値「１００」以下であることも判定する。拠点Ｂの上限閾値「２０」は、この演算では使用されない。
【００９７】
トークン分配演算結果送信部３４は、トークン分配演算部３２の演算結果を記憶するトークン分配演算結果記憶部３３のデータを送信して、拠点Ａ用トークンカウンタ４０のトークン残量を「５」増加させて「７５」とし、また、拠点Ｂ用トークンカウンタ５０のトークン残量を「５」減少させて「５」とする。
【００９８】
［実施例３におけるトークン分配制御部による処理の手順］
次に、図１５を用いて、実施例３におけるトークン分配制御部３０による処理を説明する。図１５は、実施例３におけるトークン分配制御部の処理の手順を示すフローチャートである。
【００９９】
まず、実施例３におけるトークン分配制御部３０は、同一ユーザが帯域契約する複数の拠点ごとの余剰トークン量データおよび必要トークン量データを受信すると（ステップＳ１５０１肯定）、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されたか否かを判断する（ステップＳ１５０２）。
【０１００】
ここで、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されると（ステップＳ１５０２肯定）、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配し（ステップＳ１５０３）、処理を終了する。
【０１０１】
これとは反対に、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されていない場合には（ステップＳ１５０２否定）、同一ユーザが帯域契約する複数の拠点すべてで必要トークンが算出されたかを判断し（ステップＳ１５０４）、同一ユーザが帯域契約する複数の拠点すべてで余剰トークンが算出された場合は（ステップＳ１５０４否定）、処理を終了する。
【０１０２】
これとは反対に、同一ユーザが帯域契約する複数の拠点すべてで必要トークンが算出されると（ステップＳ１５０４肯定）、優先拠点のトークンカウンタに対して、分配後のトークン量は上限閾値以下となるように、非優先拠点のトークン残量からトークンを分配し（ステップＳ１５０５）、処理を終了する。
【０１０３】
具体的には、図１４に示すように、優先拠点記憶部３６に優先拠点として保持されている拠点Ａの拠点Ａ用トークンカウンタ４０に、非優先拠点である拠点Ｂのトークン残量から拠点Ａの必要トークン量「５」を分配すると演算する。トークン分配演算結果送信部３４は、トークン分配演算部３２の演算結果を記憶するトークン分配演算結果記憶部３３のデータを送信して、拠点Ａ用トークンカウンタ４０のトークン残量を「５」増加させて「７５」とし、また、拠点Ｂ用トークンカウンタ５０のトークン残量を「５」減少させて「５」とする。
【０１０４】
［実施例３の効果］
上記したように、実施例３によれば、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂのうち、拠点Ａを優先拠点として設定して保持し、拠点Ａおよび拠点Ｂのいずれでも必要トークン量が算出された場合には、優先拠点である拠点Ａの拠点Ａ用トークンカウンタ４０に対して、非優先拠点である拠点Ｂにおけるトークン残量からトークンを分配するので、同一ユーザが帯域契約するすべての拠点に必要トークンが生じて要求が競合する場合でも、優先拠点に非優先拠点からトークンを引き渡すことができ、同一ユーザが帯域契約する複数の拠点間で重要度に応じてトークンを有効に活用することが可能になる。
【実施例４】
【０１０５】
上述した実施例３では、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された際に、非優先拠点のトークン残量から優先拠点にトークンを分配する場合について説明したが、実施例４では、非優先拠点の分配後のトークン量が下限閾値以上となるように優先拠点にトークンを分配する場合を説明する。
【０１０６】
［実施例４における帯域制御システムの概要および特徴］
まず最初に、図１６を用いて、実施例４における帯域制御システムの主たる特徴を具体的に説明する。図１６は、実施例４における帯域制御システムの概要および特徴を説明するための図である。
【０１０７】
実施例４における帯域制御システムでは、まず、実施例１における帯域制御システムと同様に、出力バッファ残量がトークン残量よりも少ない拠点について、余剰トークン量を算出し、出力バッファ残量がトークン残量よりも多い拠点について、必要トークン量を算出する。
【０１０８】
具体的には、図１６の（Ａ）に示すように、「最大トークン量」が「１００」である拠点Ａにおいて、所定の一定時間経過後の時点での「トークン残量」が「７０」、同時点での「出力バッファ残量」が「８５」の場合、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「８５」から「トークン残量」である「７０」を差し引いて「必要トークン量」が「１５」であると算出する。また、図１６の（Ｂ）に示すように、「最大トークン量」が「３０」である拠点Ｂにおいて、所定の一定時間経過後の時点（図１６の（Ａ）に示す時点と同時刻）での「トークン残量」が「２０」、同時点での「出力バッファ残量」が「２５」の場合、「出力バッファ残量」が「トークン残量」より多いので、「出力バッファ残量」である「２５」から「トークン残量」である「２０」を差し引いて「必要トークン量」が「５」であると算出する。
【０１０９】
続いて、実施例４における帯域制御システムは、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の下限を示す下限閾値を保持し、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された場合には、優先拠点のトークンカウンタに対して、非優先拠点の分配後のトークン量が下限閾値以上となるように、当該非優先拠点におけるトークン残量からトークンを分配する。
【０１１０】
すなわち、図１６の（Ａ）および図１６の（Ｂ）に示すように、拠点Ａおよび拠点Ｂの両方で必要トークンが算出された場合、図１６の（Ｃ）に示すように、優先拠点として設定された拠点Ａのトークンカウンタに、非優先拠点である拠点Ｂのトークン残量から分配するトークン量を、拠点Ａの上限閾値が「１００」であり、拠点Ａの下限閾値が「６０」であり、拠点Ｂの上限閾値が「４０」であり、拠点Ｂの下限閾値が「１５」であるという情報に基づいて演算して分配する。
【０１１１】
具体的には、優先拠点として設定された拠点Ａのトークンカウンタに、拠点Ｂのトークン残量から拠点Ａの必要トークン量である「１５」の範囲内でトークンを分配する。この際、拠点Ａの必要トークン量である「１５」と拠点Ｂの下限閾値「１５」との合計「３０」が、拠点Ｂの「トークン残量」である「２０」よりも多いので、拠点Ｂの「トークン残量」である「２０」から拠点Ｂの下限閾値「１５」を差し引いたトークン量「５」を、拠点Ａのトークンカウンタに分配する。その結果、図１６の（Ｃ）に示すように、拠点Ａ用トークンカウンタのトークン量は「７５」に増加し、拠点Ｂ用トークンカウンタのトークン量は「１５」に減少する。つまり、非優先拠点である拠点Ｂは、「トークン残量」である「２０」から、優先拠点である拠点Ａの必要トークン量である「１５」を、拠点Ａ用トークンカウンタに対して引き渡さずに、拠点Ｂの下限閾値を保証するために、トークン量を「５」しか引き渡さない。
【０１１２】
このようなことから、実施例４における帯域制御システムは、同一ユーザが帯域契約するすべての拠点に必要トークンが生じて要求が競合して非優先拠点から優先拠点へトークンを引き渡す場合でも、非優先拠点における最低限の帯域を確保でき、ユーザ拠点との契約を保証してトークンを有効に活用することが可能になる。
【０１１３】
［実施例４における帯域制御システムの構成］
次に、図１７〜１９を用いて、実施例４における帯域制御システムを説明する。図１７は、実施例４における帯域制御システムの構成を示すブロック図であり、図１８は、実施例４における必要トークン算出部を説明するための図であり、図１９は、実施例４におけるトークン分配制御部を説明するための図である。
【０１１４】
図１７に示すように、実施例４における帯域制御システムは、図１２に示した実施例３における帯域制御システムと基本的に同様であり、トークン分配制御部３１に、下限閾値記憶部３７を新たに備えているところが相違する。ここで、下限閾値記憶部３７は、特許請求の範囲に記載の「下限閾値保持手段」に対応する。以下、これを中心に説明する。
【０１１５】
トークン情報受信部３１は、所定の一定時間が経過するごとに拠点Ａ送信部１４および拠点Ｂ送信部２４が送信するデータを受信する。具体的には、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」を受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」を受信し、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」を受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」を受信する。
【０１１６】
より具体的には、図１８の（Ａ）に示す場合は、拠点Ａ余剰トークン量送信部１４１から「拠点Ａ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ａ必要トークン量送信部１４２から「拠点Ａ必要トークン量データ」として、「最大トークン量：１００」、「トークン残量：７０」、「出力バッファ残量：８５」および「必要トークン量：１５」からなるデータを受信する。また、図１８の（Ｂ）に示す場合は、拠点Ｂ余剰トークン量送信部２４１から「拠点Ｂ余剰トークン量データ」として、「余剰トークン量」は算出しない（もしくは、「余剰トークン量」を「０」）とするデータを受信し、拠点Ｂ必要トークン量送信部２４２から「拠点Ｂ必要トークン量データ」として、「最大トークン量：３０」、「トークン残量：２０」、「出力バッファ残量：２５」および「必要トークン量：５」からなるデータを受信する。
【０１１７】
優先拠点記憶部３６は、同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持し、下限閾値記憶部３７は、同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の下限を示す下限閾値を保持し、トークン分配演算部３２は、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された場合には、優先拠点のトークンカウンタに対して、非優先拠点の分配後のトークン量が下限閾値以上となるように、当該非優先拠点におけるトークン残量から分配するトークン量を演算する。
【０１１８】
すなわち、図１８の（Ａ）および図１８の（Ｂ）に示すように拠点Ａおよび拠点Ｂの両方で必要トークンが算出されたので、図１９に示すように、優先拠点として設定された拠点Ａのトークンカウンタに、非優先拠点である拠点Ｂのトークン残量から分配するトークン量を、拠点Ａの上限閾値が「１００」であり、拠点Ａの下限閾値が「６０」であり、拠点Ｂの上限閾値が「４０」であり、拠点Ｂの下限閾値が「１５」であるという情報に基づいて演算する。
【０１１９】
具体的には、優先拠点として設定された拠点Ａのトークンカウンタに、拠点Ｂのトークン残量から拠点Ａの必要トークン量である「１５」の範囲内でトークンを分配する。この際、拠点Ａの必要トークン量である「１５」と拠点Ｂの下限閾値「１５」との合計「３０」が、拠点Ｂの「トークン残量」である「２０」よりも多いので、拠点Ａの必要トークン量である「１５」分のトークンを分配することを回避して、拠点Ｂの「トークン残量」である「２０」から拠点Ｂの下限閾値「１５」を差し引いたトークン量「５」を、拠点Ａのトークンカウンタに分配するトークン量と演算する。その際、トークン分配演算部３２は、拠点Ａ用トークンカウンタ４０にトークン量「５」が分配された場合のトークン量「７５」が、上限閾値記憶部３５に保持されている拠点Ａの上限閾値「１００」以下であることも判定する。
【０１２０】
トークン分配演算結果送信部３４は、トークン分配演算部３２の演算結果を記憶するトークン分配演算結果記憶部３３のデータを送信して、拠点Ａ用トークンカウンタ４０のトークン残量を「５」増加させて「７５」とし、また、拠点Ｂ用トークンカウンタ５０のトークン残量を「５」減少させて「１５」とする（図１９を参照）。
【０１２１】
［実施例４におけるトークン分配制御部による処理の手順］
次に、図２０を用いて、実施例４におけるトークン分配制御部３０による処理を説明する。図２０は、実施例４におけるトークン分配制御部の処理の手順を示すフローチャートである。
【０１２２】
まず、実施例４におけるトークン分配制御部３０は、同一ユーザが帯域契約する複数の拠点ごとの余剰トークン量データおよび必要トークン量データを受信すると（ステップＳ２００１肯定）、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されたか否かを判断する（ステップＳ２００２）。
【０１２３】
ここで、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されると（ステップＳ２００２肯定）、必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の上限閾値以下となるように、余剰トークン量の範囲内でトークンを分配し（ステップＳ２００３）、処理を終了する。
【０１２４】
これとは反対に、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が算出されていない場合には（ステップＳ２００２否定）、同一ユーザが帯域契約する複数の拠点すべてで必要トークン量が算出されたかを判断し（ステップＳ２００４）、同一ユーザが帯域契約する複数の拠点すべてで余剰トークン量が算出された場合は（ステップＳ２００４否定）、処理を終了する。
【０１２５】
これとは反対に、同一ユーザが帯域契約する複数の拠点すべてで必要トークンが算出されると（ステップＳ２００４肯定）、優先拠点のトークンカウンタに対して、「分配後の優先拠点におけるトークン量が当該拠点の上限閾値以下」かつ「分配後の非優先拠点におけるトークン量が当該拠点の下限閾値以上」となるように、非優先拠点のトークン残量からトークンを分配し（ステップＳ２００５）、処理を終了する。
【０１２６】
具体的には、図１９に示すように、優先拠点記憶部３６に優先拠点として保持されている拠点Ａの拠点Ａ用トークンカウンタ４０に、下限閾値記憶部３７に記憶されている非優先拠点Ｂの下限閾値「１５」を参照して、拠点Ｂのトークン残量からトークン量「５」を分配すると演算する。トークン分配演算結果送信部３４は、トークン分配演算部３２の演算結果を記憶するトークン分配演算結果記憶部３３のデータを送信して、拠点Ａ用トークンカウンタ４０のトークン残量を「５」増加させて「７５」とし、また、拠点Ｂ用トークンカウンタ５０のトークン残量を「５」減少させて「１５」とする。
【０１２７】
［実施例４の効果］
上記したように、実施例４によれば、同一ユーザが帯域契約する拠点Ａおよび拠点Ｂに分配後のトークン量の下限を示す下限閾値を保持し、拠点Ａおよび拠点Ｂのいずれでも必要トークン量が算出された場合には、優先拠点である拠点Ａの拠点Ａ用トークンカウンタ４０に対して、非優先拠点である拠点Ｂの分配後のトークン量が拠点Ｂの下限閾値以上となるように、拠点Ｂにおけるトークン残量からトークンを分配するので、拠点Ａおよび拠点Ｂのいずれでも必要トークンが生じて要求が競合して拠点Ｂから拠点Ａへトークンを引き渡す場合でも、非優先拠点である拠点Ｂにおける最低限の帯域を確保でき、ユーザ拠点との契約を保証してトークンを有効に活用することが可能になる。
【実施例５】
【０１２８】
さて、これまで実施例１〜４における帯域制御システムについて説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例５における帯域制御システムとして、種々の異なる実施例を（１）〜（３）に区分けして説明する。
【０１２９】
（１）上限閾値
上記の実施例３および実施例４では、同一ユーザが帯域契約する複数の拠点のいずれでも必要トークン量が算出された条件下でも、拠点ごとに設定した上限閾値を使用して分配トークン量の演算する場合を説明したが、本発明はこれに限定されるものではなく、同一ユーザが帯域契約する複数の拠点間で余剰トークン量および必要トークン量が互いに算出された条件下でのみ、拠点ごとに設定した上限閾値を使用し分配トークン量を演算してもよい。
【０１３０】
また、上記の実施例２〜４では、トークン分配制御部３０に上限閾値記憶部３５を設置する場合を説明したが、本発明はこれに限定されるものではなく、拠点Ａトークン監視制御部１０および拠点Ｂトークン監視制御部２０にそれぞれの上限閾値を保持させて、分配後のトークンが上限閾値以下となるような必要トークン量を算出する場合でもよい。
【０１３１】
（２）システム構成等
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動でおこなうこともできる。例えば、余剰トークン量の算出および必要トークン量の算出を、オペレータによるキーボードやタッチパネルの操作から受け付けてもよい。
【０１３２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各処理部および各記憶部の分散・統合の具体的形態（例えば、図２の形態など）は図示のものに限られず、例えば、トークン分配演算結果記憶部３３とトークン分配演算結果送信部３４を統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１３３】
（３）帯域制御プログラム
ところで上記の実施例１〜４では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行するようにしてもよい。そこで以下では、図２１を用いて、上記の実施例１に示した帯域制御システムと同様の機能を有する帯域制御プログラムを実行するコンピュータの一例を説明する。図２１は、実施例１における帯域制御プログラムを実行するコンピュータを示す図である。
【０１３４】
図２１に示すように、情報処理装置としてのコンピュータ２１００は、キーボード２１１０、ディスプレイ２１２０、ＣＰＵ２１３０、ＲＯＭ２１４０、ＨＤＤ２１５０およびＲＡＭ２１６０をバス２１７０などで接続して構成され、さらに拠点Ａ用トークンカウンタ４０と、拠点Ａ用出力バッファ４１と、拠点Ｂ用トークンカウンタ５０と、拠点Ｂ用出力バッファ５１とに接続される。
【０１３５】
ＲＯＭ２１４０には、上記の実施例１に示した帯域制御システムと同様の機能を発揮する帯域制御プログラム、つまり、図２１に示すように、拠点Ａトークン残量監視プログラム２１４１、拠点Ａ出力バッファ残量監視プログラム２１４２、拠点Ａ余剰トークン量算出プログラム２１４３、拠点Ａ必要トークン量算出プログラム２１４４、拠点Ａ余剰トークン量送信プログラム２１４５、拠点Ａ必要トークン量送信プログラム２１４６、拠点Ｂトークン残量監視プログラム２１４７、拠点Ｂ出力バッファ残量監視プログラム２１４８、拠点Ｂ余剰トークン量算出プログラム２１４９、拠点Ｂ必要トークン量算出プログラム２１４１０、拠点Ｂ余剰トークン量送信プログラム２１４１１、拠点Ｂ必要トークン量送信プログラム２１４１２、トークン分配演算プログラム２１４１３、トークン分配演算結果送信プログラム２１４１４が予め記憶されている。なお、これらのプログラム２１４１〜２１４１４については、図２に示した帯域制御システムの各構成要素と同様、適宜統合または分散してもよい。
【０１３６】
そして、ＣＰＵ２１３０が、これらのプログラム２１４１〜２１４１４をＲＯＭ２１４０から読みだして実行することで、図２１に示すように、各プログラム２１４１〜２１４１４は、拠点Ａトークン残量監視プロセス２１３１、拠点Ａ出力バッファ残量監視プロセス２１３２、拠点Ａ余剰トークン量算出プロセス２１３３、拠点Ａ必要トークン量算出プロセス２１３４、拠点Ａ余剰トークン量送信プロセス２１３５、拠点Ａ必要トークン量送信プロセス２１３６、拠点Ｂトークン残量監視プロセス２１３７、拠点Ｂ出力バッファ残量監視プロセス２１３８、拠点Ｂ余剰トークン量算出プロセス２１３９、拠点Ｂ必要トークン量算出プロセス２１３１０、拠点Ｂ余剰トークン量送信プロセス２１３１１、拠点Ｂ必要トークン量送信プロセス２１３１２、トークン分配演算プロセス２１３１３、トークン分配演算結果送信プロセス２１３１４として機能するようになる。なお、各プロセス２１３１〜２１３１４は、図２に示した、拠点Ａトークン残量監視部１１１、拠点Ａ出力バッファ残量監視部１１２、拠点Ａ余剰トークン量算出部１３１、拠点Ａ必要トークン量算出部１３２、拠点Ａ余剰トークン量送信部１４１、拠点Ａ必要トークン量送信部１４２、拠点Ｂトークン残量監視部２１１、拠点Ｂ出力バッファ残量監視部２１２、拠点Ｂ余剰トークン量算出部２３１、拠点Ｂ必要トークン量算出部２３２、拠点Ｂ余剰トークン量送信部２４１、拠点Ｂ必要トークン量送信部２４２、トークン分配演算部３２、トークン分配演算結果送信部３４にそれぞれ対応する。
【０１３７】
また、ＨＤＤ２１５０には、図２１に示すように、拠点Ａ最大トークン量データ２１５１と、拠点Ａトークン残量データ２１５２と、拠点Ａ出力バッファ残量データ２１５３と、拠点Ａ余剰トークン量データ２１５４と、拠点Ａ必要トークン量データ２１５５と、拠点Ｂ最大トークン量データ２１５６と、拠点Ｂトークン残量データ２１５７と、拠点Ｂ出力バッファ残量データ２１５８と、拠点Ｂ余剰トークン量データ２１５９と、拠点Ｂ必要トークン量データ２１５１０と、トークン情報受信データ２１５１１と、トークン分配演算結果データ２１５１２とが設けられる。なお、各データ２１５１〜２１５１２は、図２に示した、拠点Ａ最大トークン量記憶部１２１と、拠点Ａトークン残量記憶部１２２と、拠点Ａ出力バッファ残量記憶部１２３と、拠点Ａ余剰トークン量記憶部１２４と、拠点Ａ必要トークン量記憶部１２５と、拠点Ｂ最大トークン量記憶部２２１と、拠点Ｂトークン残量記憶部２２２と、拠点Ｂ出力バッファ残量記憶部２２３と、拠点Ｂ余剰トークン量記憶部２２４と、拠点Ｂ必要トークン量記憶部２２５と、トークン情報受信部３１と、トークン分配演算結果記憶部３３にそれぞれ対応する。
【０１３８】
そして、ＣＰＵ２１３０は、拠点Ａ最大トークン量データ２１６１を拠点Ａ最大トークン量データ２１５１に対して登録し、拠点Ａトークン残量データ２１６２を拠点Ａトークン残量データ２１５２に対して登録し、拠点Ａ出力バッファ残量データ２１６３を拠点Ａ出力バッファ残量データ２１５３に対して登録し、拠点Ａ余剰トークン量データ２１６４を拠点Ａ余剰トークン量データ２１５４に対して登録し、拠点Ａ必要トークン量データ２１６５を拠点Ａ必要トークン量データ２１５５に対して登録し、拠点Ｂ最大トークン量データ２１６６を拠点Ｂ最大トークン量データ２１５６に対して登録し、拠点Ｂトークン残量データ２１６７を拠点Ｂトークン残量データ２１５７に対して登録し、拠点Ｂ出力バッファ残量データ２１６８を拠点Ｂ出力バッファ残量データ２１５８に対して登録し、拠点Ｂ余剰トークン量データ２１６９を拠点Ｂ余剰トークン量データ２１５９に対して登録し、拠点Ｂ必要トークン量データ２１６１０を拠点Ｂ必要トークン量データ２１５１０に対して登録し、トークン情報受信データ２１６１１をトークン情報受信データ２１５１１に対して登録し、トークン分配演算結果データ２１６１２をトークン分配演算結果データ２１５１２に対して登録し、これら各データ２１６１〜２１６１２に基づいて帯域制御処理を実行する。
【０１３９】
なお、上記した各プログラム２１４１〜２１４１４については、必ずしも最初からＲＯＭ２１４０に記憶させておく必要はなく、例えばコンピュータ２１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ２１００の内外に備えられるＨＤＤなどの「固定用物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ２１００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ２１００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１４０】
（付記１）複数の拠点に対するパケットの中継に際して、前記拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、前記拠点ごとに設けられる出力バッファから前記パケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、前記拠点ごとのトークンカウンタに残っているトークン残量に応じて前記拠点ごとの帯域を制御する帯域制御システムであって、
前記出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量が前記トークン残量よりも少ない拠点について、当該トークン残量から前記出力バッファ残量を差し引いた余剰トークン量を算出する余剰トークン量算出手段と、
前記出力バッファ残量が前記トークン残量よりも多い拠点について、当該出力バッファ残量から前記トークン残量を差し引いた必要トークン量を算出する必要トークン量算出手段と、
同一ユーザが帯域契約する複数の拠点間で前記余剰トークン量および前記必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、前記余剰トークン量の範囲内でトークンを分配するトークン分配手段と、
を備えたことを特徴とする帯域制御システム。
【０１４１】
（付記２）前記同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の上限を示す上限閾値を保持する上限閾値保持手段をさらに備え、
前記トークン分配手段は、前記必要トークン量が算出された拠点のトークンカウンタに対して、分配後のトークン量が当該拠点の前記上限閾値以下となるように、前記余剰トークン量の範囲内でトークンを分配することを特徴とする付記１に記載の帯域制御システム。
【０１４２】
（付記３）前記同一ユーザが帯域契約する複数の拠点の中から優先すべき拠点を示す優先拠点を設定して保持する優先拠点保持手段をさらに備え、
前記トークン分配手段は、前記同一ユーザが帯域契約する複数の拠点のいずれでも前記必要トークン量が算出された場合には、前記優先拠点のトークンカウンタに対して、前記優先拠点以外の拠点である非優先拠点における前記トークン残量からトークンを分配することを特徴とする付記２に記載の帯域制御システム。
【０１４３】
（付記４）前記同一ユーザが帯域契約する複数の拠点ごとに分配後のトークン量の下限を示す下限閾値を保持する下限閾値保持手段をさらに備え、
前記トークン分配手段は、前記同一ユーザが帯域契約する複数の拠点のいずれでも前記必要トークン量が算出された場合には、前記優先拠点のトークンカウンタに対して、前記非優先拠点の分配後のトークン量が前記下限閾値以上となるように、当該非優先拠点における前記トークン残量からトークンを分配することを特徴とする付記３に記載の帯域制御システム。
【０１４４】
（付記５）複数の拠点に対するパケットの中継に際して、前記拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、前記拠点ごとに設けられる出力バッファから前記パケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、前記拠点ごとのトークンカウンタに残っているトークン残量に応じて前記拠点ごとの帯域を制御する帯域制御方法であって、
前記出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量が前記トークン残量よりも少ない拠点について、当該トークン残量から前記出力バッファ残量を差し引いた余剰トークン量を算出する余剰トークン量算出工程と、
前記出力バッファ残量が前記トークン残量よりも多い拠点について、当該出力バッファ残量から前記トークン残量を差し引いた必要トークン量を算出する必要トークン量算出工程と、
同一ユーザが帯域契約する複数の拠点間で前記余剰トークン量および前記必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、前記余剰トークン量の範囲内でトークンを分配するトークン分配工程と、
を含んだことを特徴とする帯域制御方法。
【０１４５】
（付記６）複数の拠点に対するパケットの中継に際して、前記拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、前記拠点ごとに設けられる出力バッファから前記パケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、前記拠点ごとのトークンカウンタに残っているトークン残量に応じて前記拠点ごとの帯域を制御する帯域制御方法をコンピュータに実行させる帯域制御プログラムであって、
前記出力バッファに記憶されている未送信パケットの送信に要するトークン量を示す出力バッファ残量が前記トークン残量よりも少ない拠点について、当該トークン残量から前記出力バッファ残量を差し引いた余剰トークン量を算出する余剰トークン量算出手順と、
前記出力バッファ残量が前記トークン残量よりも多い拠点について、当該出力バッファ残量から前記トークン残量を差し引いた必要トークン量を算出する必要トークン量算出手順と、
同一ユーザが帯域契約する複数の拠点間で前記余剰トークン量および前記必要トークン量が互いに算出された場合に、当該余剰トークン量が算出された拠点に代えて、当該必要トークン量が算出された拠点のトークンカウンタに対して、前記余剰トークン量の範囲内でトークンを分配するトークン分配手順と、
をコンピュータに実行させることを特徴とする帯域制御プログラム。
【産業上の利用可能性】
【０１４６】
以上のように、本発明における帯域制御システム、帯域制御方法および帯域制御プログラムは、複数の拠点に対するパケットの中継に際して、拠点ごとに設けられるトークンカウンタに各拠点の契約帯域に応じたトークンを配布する一方で、拠点ごとに設けられる出力バッファからパケットが読み出されて各拠点に中継されるたびに当該パケットの容量に相当するトークン量を当該拠点のトークンカウンタから減じることで、拠点ごとのトークンカウンタに残っているトークン残量に応じて拠点ごとの帯域を制御するのに有用であり、特に、同一ユーザが帯域契約する複数の拠点ごとに割り当てたトークンを有効に活用することに適する。
【図面の簡単な説明】
【０１４７】
【図１−１】実施例１における帯域制御システムの概要および特徴を説明するための図である。
【図１−２】実施例１における帯域制御システムの概要および特徴を説明するための図である。
【図２】実施例１における帯域制御システムの構成を示すブロック図である。
【図３】実施例１における余剰トークン算出部および必要トークン算出部を説明するための図である。
【図４】実施例１におけるトークン分配制御部を説明するための図である。
【図５】実施例１におけるトークン分配制御部の処理を説明するための図である。
【図６】実施例２における帯域制御システムの概要および特徴を説明するための図である。
【図７】実施例２における帯域制御システムの構成を示すブロック図である。
【図８】実施例２における余剰トークン算出部および必要トークン算出部を説明するための図である。
【図９】実施例２におけるトークン分配制御部を説明するための図である。
【図１０】実施例２におけるトークン分配制御部の処理を説明するための図である。
【図１１】実施例３における帯域制御システムの概要および特徴を説明するための図である。
【図１２】実施例３における帯域制御システムの構成を示すブロック図である。
【図１３】実施例３における必要トークン算出部を説明するための図である。
【図１４】実施例３におけるトークン分配制御部を説明するための図である。
【図１５】実施例３におけるトークン分配制御部の処理を説明するための図である。
【図１６】実施例４における帯域制御システムの概要および特徴を説明するための図である。
【図１７】実施例４における帯域制御システムの構成を示すブロック図である。
【図１８】実施例４における必要トークン算出部を説明するための図である。
【図１９】実施例４におけるトークン分配制御部を説明するための図である。
【図２０】実施例４におけるトークン分配制御部の処理を説明するための図である。
【図２１】実施例１の帯域制御プログラムを実行するコンピュータを示す図である。
【符号の説明】
【０１４８】
１０  拠点Ａトークン監視制御部
１１  拠点Ａ監視部
１１１  拠点Ａトークン残量監視部
１１２  拠点Ａ出力バッファ残量監視部
１２  拠点Ａ記憶部
１２１  拠点Ａ最大トークン量記憶部
１２２  拠点Ａトークン残量記憶部
１２３  拠点Ａ出力バッファ残量記憶部
１２４  拠点Ａ余剰トークン量記憶部
１２５  拠点Ａ必要トークン量記憶部
１３  拠点Ａ算出部
１３１  拠点Ａ余剰トークン量算出部
１３２  拠点Ａ必要トークン量算出部
１４  拠点Ａ送信部
１４１  拠点Ａ余剰トークン量送信部
１４２  拠点Ａ必要トークン量送信部
２０  拠点Ｂトークン監視制御部
２１  拠点Ｂ監視部
２１１  拠点Ｂトークン残量監視部
２１２  拠点Ｂ出力バッファ残量監視部
２２  拠点Ｂ記憶部
２２１  拠点Ｂ最大トークン量記憶部
２２２  拠点Ｂトークン残量記憶部
２２３  拠点Ｂ出力バッファ残量記憶部
２２４  拠点Ｂ余剰トークン量記憶部
２２５  拠点Ｂ必要トークン量記憶部
２３  拠点Ｂ算出部
２３１  拠点Ｂ余剰トークン量算出部
２３２  拠点Ｂ必要トークン量算出部
２４  拠点Ｂ送信部
２４１  拠点Ｂ余剰トークン量送信部
２４２  拠点Ｂ必要トークン量送信部
３０  トークン分配制御部
３１  トークン情報受信部
３２  トークン分配演算部
３３  トークン分配演算結果記憶部
３４  トークン分配演算結果送信部
４０  拠点Ａ用トークンカウンタ
４１  拠点Ａ用出力バッファ
４２  拠点Ａ用シェーパ
４３  拠点Ａ用ポート
５０  拠点Ｂ用トークンカウンタ
５１  拠点Ｂ用出力バッファ
５２  拠点Ｂ用シェーパ
５３  拠点Ｂ用ポート
【図１−１】
2008104110.tif 000003
【図１−２】
2008104110.tif 000004
【図２】
2008104110.tif 000005
【図３】
2008104110.tif 000006
【図４】
2008104110.tif 000007
【図５】
2008104110.tif 000008
【図６】
2008104110.tif 000009
【図７】
2008104110.tif 000010
【図８】
2008104110.tif 000011
【図９】
2008104110.tif 000012
【図１０】
2008104110.tif 000013
【図１１】
2008104110.tif 000014
【図１２】
2008104110.tif 000015
【図１３】
2008104110.tif 000016
【図１４】
2008104110.tif 000017
【図１５】
2008104110.tif 000018
【図１６】
2008104110.tif 000019
【図１７】
2008104110.tif 000020
【図１８】
2008104110.tif 000021
【図１９】
2008104110.tif 000022
【図２０】
2008104110.tif 000023
【図２１】
2008104110.tif 000024