(57)【特許請求の範囲】
【請求項１】
制御帯域に従ってパケットをネットワークに送出する装置において実行可能なプログラムであって、
前記ネットワークを介して前記装置から他の装置に送信されるパケットに関する帯域をインターバル毎に管理する処理と、
前記管理される第一のインターバルの再送帯域と、前記第一のインターバルよりも前のインターバルである第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を変更する処理と、
を前記装置に機能させることを特徴とするプログラム。
【請求項２】
制御帯域に従ってパケットをネットワークに送出する装置において実行可能なプログラムであって、
前記ネットワークを介して前記装置から他の装置に送信されるパケットに関する帯域をインターバル毎に管理する処理と、
前記管理される第一のインターバルの廃棄帯域と、前記第一のインターバルよりも前のインターバルである第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を変更する処理と、
を前記装置に機能させることを特徴とするプログラム。
【請求項３】
請求項１記載のプログラムであって、
前記第一のインターバルにおいてパケットの再送が発生した場合、前記第一のインターバルの前記再送帯域と、前記第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を前記第二のインターバルにおける前記制御帯域よりも減少させる処理、を前記装置に機能させることを特徴とするプログラム。
【請求項４】
請求項２記載のプログラムであって、
前記第一のインターバルにおいてパケットの再送が発生した場合、前記第一のインターバルの前記廃棄帯域と、前記第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を前記第二のインターバルにおける前記制御帯域よりも減少させる処理、を前記装置に機能させることを特徴とするプログラム。
【請求項５】
請求項１又は２記載のプログラムであって、
送信されたパケットの通信状況を取得する処理と、前記取得した通信状況に基づいて前記制御帯域を変更する処理と、を前記装置に機能させることを特徴とするプログラム。
【請求項６】
請求項５記載のプログラムであって、
前記通信状況は、前記送信されたパケットが前記他の装置で受信されたか否かを示す受信情報を含み、
前記受信情報に基づいてパケットが受信されなかったことを判別する処理と、該判別の結果に基づいて前記制御帯域を変更する処理と、を前記装置に機能させることを特徴とするプログラム。
【請求項７】
請求項２記載のプログラムであって、
前記他の装置から、前記送信されたパケットの受信に関する受信状況通知を受領し、前記受信状況通知から前記他の装置に送信されたパケットのネットワーク上における廃棄状況を検出する処理と、
前記廃棄状況に基づいて求められる前記廃棄帯域に基づいて、前記制御帯域を変更する処理と、を前記装置に機能させることを特徴とするプログラム。
【請求項８】
請求項７記載のプログラムであって、
前記廃棄帯域は前記廃棄状況から廃棄箇所を集計することにより得られる、ことを特徴とするプログラム。
【請求項９】
請求項１又は２記載のプログラムであって、
さらに前記ネットワークから受信されるパケットのコネクション数に基づいて、前記制御帯域を変更する処理、を前記装置に機能させることを特徴とするプログラム。
【請求項１０】
請求項１又は２記載のプログラムであって、
前記パケットの再送が発生中のコネクション数を測定する処理と、再送発生中のコネクション数に基づいて前記制御帯域を変更する処理と、を前記装置に機能させることを特徴とするプログラム。
【請求項１１】
制御帯域に従ってパケットをネットワークに送出する装置における、制御帯域の制御方法であって、
前記装置は、
前記ネットワークを介して他の装置に送信されるパケットに関する帯域をインターバル毎に管理し、
前記管理される第一のインターバルの再送帯域と、前記第一のインターバルよりも前のインターバルである第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を変更する、
ことを特徴とする制御方法。
【請求項１２】
制御帯域に従ってパケットをネットワークに送出する装置における、制御帯域の制御方法であって、
前記装置は、
前記ネットワークを介して他の装置に送信されるパケットに関する帯域をインターバル毎に管理し、
前記管理される第一のインターバルの廃棄帯域と、前記第一のインターバルよりも前のインターバルである第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を変更する、
ことを特徴とする制御方法。
【請求項１３】
請求項１１記載の制御方法であって、
前記第一のインターバルにおいてパケットの再送が発生した場合、前記第一のインターバルの前記再送帯域と、前記第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を前記第二のインターバルにおける前記制御帯域よりも減少させること、を特徴とする制御方法。
【請求項１４】
請求項１２記載の制御方法であって、
前記第一のインターバルにおいてパケットの再送が発生した場合、前記第一のインターバルの前記廃棄帯域と、前記第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を前記第二のインターバルにおける前記制御帯域よりも減少させること、を特徴とする制御方法。
【請求項１５】
請求項１１又は１２記載の制御方法であって、
送信されたパケットの通信状況を取得し、前記取得した通信状況に基づいて前記制御帯域を変更すること、を特徴とする制御方法。
【請求項１６】
請求項１５記載の制御方法であって、
前記通信状況は、前記送信されたパケットが前記他の装置で受信されたか否かを示す受信情報を含み、
前記受信情報に基づいてパケットが受信されなかったことを判別し、該判別の結果に基づいて前記制御帯域を変更すること、を特徴とする制御方法。
【請求項１７】
請求項１２記載の制御方法であって、
前記他の装置から、前記送信されたパケットの受信に関する受信状況通知を受領し、前記受信状況通知から前記他の装置に送信されたパケットのネットワーク上における廃棄状況を検出し、
前記廃棄状況に基づいて求められる前記廃棄帯域に基づいて、前記制御帯域を変更すること、を特徴とする制御方法。
【請求項１８】
請求項１７記載の制御方法であって、
前記廃棄帯域は前記廃棄状況から廃棄箇所を集計することにより得られること、を特徴とする制御方法。
【請求項１９】
請求項１１又は１２記載の制御方法であって、
さらに前記ネットワークから受信されるパケットのコネクション数に基づいて、前記制御帯域を変更すること、を特徴とする制御方法。
【請求項２０】
請求項１１又は１２記載の制御方法であって、
前記パケットの再送が発生中のコネクション数を測定し、再送発生中のコネクション数に基づいて前記制御帯域を変更すること、を特徴とする制御方法。
【請求項２１】
ネットワークに接続される装置であって、
前記ネットワークを介して前記装置から他の装置に送信されるパケットに関する帯域を、インターバル毎に管理し、前記管理される第一のインターバルの再送帯域と、前記第一のインターバルよりも前のインターバルである第二のインターバルにおける制御帯域とに基づいて、前記制御帯域を変更する帯域制御部と、
前記制御帯域に従って、パケットを前記ネットワークに送出する送信部と、を有することを特徴とする装置。
【請求項２２】
ネットワークに接続される装置であって、
前記ネットワークを介して前記装置から他の装置に送信されるパケットに関する帯域を、インターバル毎に管理し、前記管理される第一のインターバルの廃棄帯域と、前記第一のインターバルよりも前のインターバルである第二のインターバルにおける制御帯域とに基づいて、前記制御帯域を変更する帯域制御部と、
前記制御帯域に従って、パケットを前記ネットワークに送出する送信部と、を有することを特徴とする装置。
【請求項２３】
請求項２１記載の装置であって、
前記第一のインターバルにおいてパケットの再送が発生した場合、前記第一のインターバルの前記再送帯域と、前記第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を前記第二のインターバルにおける前記制御帯域よりも減少させること、を特徴とする装置。
【請求項２４】
請求項２２記載の装置であって、
前記第一のインターバルにおいてパケットの再送が発生した場合、前記第一のインターバルの前記廃棄帯域と、前記第二のインターバルにおける前記制御帯域とに基づいて、前記制御帯域を前記第二のインターバルにおける前記制御帯域よりも減少させること、を特徴とする装置。
【請求項２５】
請求項２１又は２２記載の装置であって、
送信されたパケットの通信状況を取得し、前記取得した通信状況に基づいて前記制御帯域を変更すること、を特徴とする装置。
【請求項２６】
請求項２５記載の装置であって、
前記通信状況は、前記送信されたパケットが前記他の装置で受信されたか否かを示す受信情報を含み、
前記受信情報に基づいてパケットが受信されなかったことを判別し、該判別の結果に基づいて前記制御帯域を変更すること、を特徴とする装置。
【請求項２７】
請求項２２記載の装置であって、
前記他の装置から、前記送信されたパケットの受信に関する受信状況通知を受領し、前記受信状況通知から前記他の装置に送信されたパケットのネットワーク上における廃棄状況を検出し、
前記廃棄状況に基づいて求められる前記廃棄帯域に基づいて、前記制御帯域を変更すること、を特徴とする装置。
【請求項２８】
請求項２７記載の装置であって、
前記廃棄帯域は前記廃棄状況から廃棄箇所を集計することにより得られること、を特
徴とする装置。
【請求項２９】
請求項２１又は２２記載の装置であって、
さらに前記ネットワークから受信されるパケットのコネクション数に基づいて、前記制御帯域を変更すること、を特徴とする装置。
【請求項３０】
請求項２１又は２２記載の装置であって、
前記パケットの再送が発生中のコネクション数を測定し、再送発生中のコネクション数に基づいて前記制御帯域を変更すること、を特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（参照による取り込み）
本出願は、２００９年９月１６日に出願された日本特許出願第２００９−２１４０１５号の優先権を主張し、その内容を参照することにより本出願に取り込む。
【０００２】
本発明は、通信装置および通信システムに関し、特に、帯域制御を行う装置、つまり制御帯域に従ってパケットをネットワークに送出する装置に関する。
【背景技術】
【０００３】
グローバル拠点間の通信網として、ＩＰ−ＶＰＮ技術等を用いたＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を用いることが、一般的になっている。
【０００４】
ある拠点にある端末が、別の海外の拠点にある端末と通信する場合は、自拠点ＬＡＮと国内ＷＡＮを接続する回線と、国内ＷＡＮと海外ＷＡＮを接続する回線と、海外ＷＡＮと別拠点ＬＡＮを接続する回線と、を経由して通信が行われる。これらの回線は、契約帯域によって、使用可能な帯域幅が制限されている。
【０００５】
端末間の通信では、ＴＣＰを用いるのが一般的である。ＴＣＰ通信では、送信端末が送ったデータに対して、受信端末が受信済みデータ量を送信端末にフィードバック通知する。送信端末は、フィードバック通知される受信済みデータ量が増加しなくなると、廃棄検出と判定する。
【０００６】
さらに、送信端末は、ウィンドウサイズ（受信したことを受信端末から通知されなくても送信可能なデータサイズ）と呼ばれるパラメータを管理しており、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）や廃棄検出の有無に応じて、ウィンドウサイズを変化させる。
【０００７】
ＲＴＴ増加時や廃棄検出時にネットワークが混雑していると判定して、ウィンドウサイズを減少させることで、送信帯域を間接的に減少させて、ネットワークの混雑を回避する。また、ＲＴＴ減少時や廃棄が無い時にネットワークが空いていると判定して、ウィンドウサイズを増加させることで、送信帯域を間接的に増加させて、ネットワークの回線帯域を有効利用する。以上のように、ＴＣＰを用いた通信では、送信帯域がＲＴＴと廃棄率に大きく左右される。
【０００８】
ＴＣＰを用いた通信と同様の技術として、ＡＴＭのＡＢＲを用いた通信もある。本通信では、受信端末から送信端末へ、ＲＴＴや廃棄以外に、受信帯域がフィードバック通知される。
【０００９】
ＲＴＴと廃棄検出以外に、コネクション数を用いて帯域を直接制御する技術もある。（特許文献１）
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】ＷＯ０５／００６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ＴＣＰを用いた通信では、送信帯域がＲＴＴと廃棄率に大きく左右されるため、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、契約帯域を大幅に下回る送信帯域しか得られない。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本願発明の「制御帯域に従ってパケットをネットワークに送出する装置において実行可能なプログラム」や「制御帯域に従ってパケットをネットワークに送出する装置における、制御帯域の制御方法」の一態様では、ネットワークを介して装置から他の装置に送信されるパケットに関する帯域をインターバル毎に管理し、管理される第一のインターバルの再送帯域又は廃棄帯域と、第一のインターバルよりも前のインターバルである第二のインターバルにおける制御帯域とに基づいて、制御帯域を変更する、態様とする。
【発明の効果】
【００１３】
上述の本発明の態様により、送信帯域がＲＴＴと廃棄率に大きく左右されなくなり、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、送信帯域が改善する。
本発明の他の目的、特徴及び利点は添付図面に関する以下の本発明の実施例の記載から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】再送帯域に基づいて帯域制御する装置１００のブロック図。
【図２】ＴＸ経路・シェーパテーブル１０６のフォーマット図。
【図３】シェーパ毎の送信・再送帯域テーブル１１４のフォーマット図。
【図４】シェーパ毎の送信・再送帯域テーブル１１４を更新するフローチャート図。
【図５】受信履歴テーブル１１４のフォーマットと、受信済箇所と未受信箇所とＳＥＱ番号の関係を示した図。
【図６Ａ】受信履歴テーブル１１４を更新するフローチャート図。
【図６Ｂ】受信履歴テーブル１１４を更新するフローチャート図。
【図７】送信側装置と受信側装置で、データパケットと、受信済・未受信箇所通知パケットが送受信されるシーケンスの一例を示した図。
【図８】再送帯域に基づいて帯域制御する装置をソフトウェアにて実現する装置８００のブロック図。
【図９】廃棄帯域に基づいて帯域制御する装置９００のブロック図。
【図１０】ＲＸ経路・シェーパテーブル９０３のフォーマット図。
【図１１】シェーパ毎の送信・廃棄帯域テーブル９０２のフォーマット図。
【図１２】再送中コネクション数を計測し、再送中コネクション数に基づいて帯域制御する装置１２００のブロック図。
【図１３】コネクション有無テーブル１２０２のフォーマット図。
【図１４】コネクション数加算判定部１２０１が、コネクション有無テーブル１２０２記載の値を用いて行う処理のフローチャート図。
【図１５】シェーパ毎の送信・再送中コネクション数テーブル１２０３のフォーマット図。
【図１６Ａ】通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する装置１６００のブロック図。
【図１６Ｂ】通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する装置１６００のブロック図。
【図１６Ｃ】通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する装置１６００のブロック図。
【図１７】シェーパ毎の受信側総帯域・コネクション数テーブル１６０１のフォーマット図。
【図１８】フィードバック通知先テーブル１６０４のフォーマット図。
【図１９】ＲＸ総帯域・コネクション数テーブル１６０６のフォーマット図。
【図２０】ＲＸ総帯域・コネクション数テーブル１６０６を更新するフローチャート図。
【図２１】帯域制御の説明図。
【図２２】送信側端末から受信側端末に至る通信経路上の経由回線の契約帯域と、パケット送信中のコネクション数と、１コネクションあたりの契約帯域と、に基づいて帯域制御する装置２２００のブロック図。
【図２３】帯域制御の説明図。
【図２４】送信側端末から受信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット送信中のコネクション数と、１コネクションあたりの契約帯域に加えて、他装置から通知された他装置のパケット送信中のコネクション数と、に基づいて帯域制御する装置２４００のブロック図。
【図２５】通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１のフォーマット図。
【図２６】帯域制御の説明図。
【図２７Ａ】受信側端末から送信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット受信中のコネクション数と、１コネクションあたりの契約帯域に加えて、他装置のパケット受信中のコネクション数と、に基づいて帯域制御する装置２７００のブロック図。
【図２７Ｂ】受信側端末から送信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット受信中のコネクション数と、１コネクションあたりの契約帯域に加えて、他装置のパケット受信中のコネクション数と、に基づいて帯域制御する装置２７００のブロック図。
【図２７Ｃ】受信側端末から送信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット受信中のコネクション数と、１コネクションあたりの契約帯域に加えて、他装置のパケット受信中のコネクション数と、に基づいて帯域制御する装置２７００のブロック図。
【図２８】通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１のフォーマット図。
【図２９】帯域制御の説明図。
【図３０】ＬＡＮとＷＡＮの接続部に設置され、通信経路上の経由回線の契約帯域・データ送信中コネクション数・データ受信中コネクション数を一括計測し、計測結果を、同一ＬＡＮに接続した他の装置に一方的に通知し、他のＷＡＮに接続した他の装置との間では相互通知しあう装置３０００のブロック図。
【図３１】帯域制御の説明図。
【図３２】装置２４００／２７００を複数個、スイッチＨＵＢに接続して１つの装置３２００にした説明図。
【図３３】代表装置と他の装置との間で、帯域制御に用いるコネクション数の情報を通知しあうシステム図。
【図３４】帯域制御に用いるコネクション数の情報を、ループ状に通知しあうシステム図。
【図３５】装置が入出力するパケットデータのフォーマット図。
【発明を実施するための形態】
【００１５】
本発明を実施するための代表的な形態は、下記のとおりである。
まず、受信側端末に接続した装置が、送信側端末に接続した装置に対して廃棄箇所を全てフィードバック通知する手段と、送信側端末に接続した装置がフィードバック通知された廃棄箇所を再送する手段と、送信側端末に接続した装置が再送帯域・廃棄帯域に基づいて送信帯域を制御する手段を備える態様とした。この態様により、ＴＣＰを用いた通信では、送信帯域がＲＴＴと廃棄率に大きく左右されるため、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、契約帯域を大幅に下回る送信帯域しか得られない、という課題を解決する。本態様により、送信帯域がＲＴＴと廃棄率に大きく左右されなくなり、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、送信帯域が改善する効果がある。本態様の詳細は、実施例１ないし３を中心に後述する。
【００１６】
別の態様として、送信側端末に接続した装置が、廃棄箇所を再送中のコネクション数をリアルタイムに計測する手段を備え、再送コネクション数に基づいて送信帯域を制御する手段を備える態様とする。この態様により、ＲＴＴと廃棄検出以外に、コネクション数を用いて帯域を直接制御する技術では、実際のコネクションの通信状況をリアルタイムに反映させるのが難しく、廃棄検出時に何割のコネクションに廃棄が生じているのかが分からないため、帯域をどの程度、削減すればよいのか分からない、という課題を解決する。本態様により把握される、再送コネクション数に基づいて帯域制御する手段により、廃棄検出時に何割のコネクションに廃棄が生じているのかが分かり、帯域をどの程度、削減すればよいのか明確になる効果がある。本態様の詳細は、実施例４を中心に後述する。
【００１７】
更に、別の態様として、端末に接続した装置が、経由回線（自拠点ＬＡＮと国内ＷＡＮを接続する回線、国内ＷＡＮと海外ＷＡＮを接続する回線、海外ＷＡＮと別拠点ＬＡＮを接続する回線、など）の契約帯域・コネクション数、などのリアルタイムな使用状況に基づいて、帯域制御する手段を備える、態様とする。この態様により、ＴＣＰを用いた通信では、ＲＴＴと廃棄検出に基づいて、送信端末と受信端末の間の通信環境を予測しながら通信を行うだけで、通信環境を直接反映する手段がないため、通信環境によって、得られる通信品質にばらつきがある、という課題を解決する。本態様により把握される回線の使用状況に基づいて、帯域制御する手段により、通信環境にかかわらず、一定の通信品質が得られる効果がある。詳細は、実施例５ないし１２で説明する。
【００１８】
また、別の態様として、通信相手から通知されたデータ受信中のコネクション数に基づいて送信帯域を制御する手段を設ける態様とする。詳細は、実施例５を中心に詳述する（実施例５）。別の態様として、通信経路上の経由回線の契約帯域・データ送信中コネクション数・１コネクションあたり帯域に基づいて帯域制御する手段を設ける態様とする。詳細は、実施例６で説明する。別の態様として、複数装置間の相互通知により集約した通信経路上の経由回線の契約帯域・データ送信中コネクション数・１コネクションあたり帯域に基づいて帯域制御する手段を設ける態様とする。詳細は、実施例７で説明する。別の態様として、複数装置間の相互通知により集約した通信経路上の経由回線の契約帯域・データ受信中コネクション数・１コネクションあたり帯域に基づいて帯域制御する手段を設ける態様とする。詳細は、実施例８で説明する。他の本発明の態様は、以下に述べる種々の実施例で説明される。
【００１９】
以下、本発明の態様を詳細に説明するべく、帯域制御を行う装置やパケット処理を行う装置の構成や、当該装置がネットワークを介して接続されることにより構成されるシステムの詳細について実施例を用いて述べる。また、複数の通信端末の間に複数設置される装置が、通信を高速化するために、通信端末が別の通信端末と通信を行う際の帯域制御、再送制御処理を中心に、以下の実施例を用いて述べる。
【実施例１】
【００２０】
図１、図２、図３、図４、図５、図６、図７を用いて、再送帯域に基づいて帯域制御する装置１００の実施例を示す。
【００２１】
図１には、装置１００のブロック図をあらわす。装置１００は、端末１０１が送信するデータを受け取り、他の装置１００′へむけてパケットを送信するＴＸ部１０２と、他の装置１００′からのパケットを受信して、端末１０１へデータを出力するＲＸ部１０３から構成される。
【００２２】
ＴＸ部１０２は、送信パケット蓄積部１０４と、出力先判定部１０５と、ＴＸ経路・シェーパテーブル１０６と、ＴＸパケット再送部１０７と、振分部１０８と、シェーパ１０９と、受信・未受信箇所通知パケット向けバッファ１１０と、タイマ値格納部１１１と、インターバル値格納部１１２と、送信帯域制御部１１３と、シェーパ毎の送信・再送帯域テーブル１１４と、トークン更新部１１５と、送信パケット出力制御部１１６、とから構成される。
【００２３】
ＲＸ部１０３は、ＲＸパケット再送部１１７と、受信履歴更新部１１８と、受信履歴テーブル１１９と、他の装置１００′から受信したデータパケットを受信履歴更新部１１８へ、受信・未受信箇所通知パケットをＴＸ側パケット再送部１０７に振り分けるＲＸ側振分部１２０と、受信パケット蓄積部１２１と、受信パケット出力制御部１２２、とから構成される。
【００２４】
端末１０１が送信するデータパケットは、送信パケット蓄積部１０４に蓄積され、出力先判定部１０５と振分部１０８へ入力される。
【００２５】
送信データ蓄積部１０４に蓄積されたデータパケットは、装置１０１′から受信した受信箇所通知パケットを、ＲＸ側振分部１２０経由でＴＸパケット再送部１０７が受信したときに消去され、未受信箇所通知パケットをＴＸパケット再送部１０７が受信したときに読み出され、再送される。
【００２６】
図３５には、装置が入出力するパケットデータのフォーマットを表す。
【００２７】
パケットデータは、Ｌｅｎ３５００と、Ｐｒｏｔｏ３５０１と、ＳＩＰ３５０２と、ＤＩＰ３５０３と、Ｓｐｏｒｔ３５０４と、Ｄｐｏｒｔ３５０５と、ＳＳＥＱ３５０６と、ＤＳＥＱ３５０７と、Ｆｌａｇ３５０８と、Ｏｔｈｅｒｓ３５０９と、Ｐａｙｌｏａｄ３５１０と、ＤＭＡＣ３５１１と、ＳＭＡＣ３５１２と、Ｔｙｐｅ３５１３とを含む。
【００２８】
Ｌｅｎ３５００は、ＩＰ層のパケット長を格納する。Ｐｒｏｔｏ３５０１は、トランスポート層のプロトコルを識別するための識別番号を格納する。ＳＩＰ３５０２は、送信元アドレス、すなわち、送信側の端末のアドレスである送信元ＩＰアドレスを格納する。ＤＩＰ３５０３は、宛先アドレス、すなわち、受信側の端末のアドレスである宛先ＩＰアドレスを格納する。Ｓｐｏｒｔ３５０４は、ＴＣＰの送信元ポートを格納する。Ｄｐｏｒｔ３５０５は、ＴＣＰの宛先ポートを格納する。ＳＳＥＱ３５０６は、送信元シーケンス番号を格納する。ＤＳＥＱ３５０７は、宛先シーケンス番号を格納する。Ｆｌａｇ３５０８はＴＣＰフラグ番号を格納する。Ｏｔｈｅｒｓ３５０９は、その他のＩＰ／ＴＣＰヘッダデータを格納する。Ｐａｙｌｏａｄ３５１０は、パケットヘッダ以外のデータを格納する。ＤＭＡＣ３５１１は、物理層の宛先ＭＡＣアドレスを格納する。ＳＭＡＣ３５１２は、物理層の送信元ＭＡＣアドレスを格納する。Ｔｙｐｅ３５１３は、パケットデータのタイプを表す。なお、ＭＡＣとは、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｆｒａｍｅのことをあらわし、物理層を流れるパケットのことをＭＡＣフレームと呼ぶ。
【００２９】
図２に、ＴＸ経路・シェーパテーブル１０６のフォーマットを示す。ＴＸ経路・シェーパテーブル１０６は、ＴＸ経路（送信元ＩＰ／サブネット、宛先ＩＰ／サブネット、送信元ポート、宛先ポート）、シェーパを格納するエントリ複数個から構成される。
【００３０】
シェーパ判定部１０５は、ＴＸ経路・シェーパテーブル１０６から、パケットヘッダと一致する経路を持つエントリを読み出し、エントリ記載のシェーパを振分部１０８に通知する。
【００３１】
振分部１０８は、通知に基づいて、入力パケットを、シェーパＡ（１０９Ａ）、シェーパＢ（１０９Ｂ）、シェーパＣ（１０９Ｃ）、のいずれかに振り分ける。更に、パケットヘッダ記載のパケット長をビット値に変換し、シェーパと送信／再送ビットを対応付けて、送信帯域制御部１１３に通知する。
【００３２】
送信帯域制御部１１３は、振分部１０８から通知されたシェーパと送信／再送ビットに基づき、シェーパ毎の送信・再送帯域テーブル１１４を更新し、更新結果に基づいてシェーパ毎の制御帯域を決定する。更に、トークン更新部１１５に、制御帯域に応じたトークン加算値を通知する。
【００３３】
図３に、シェーパ毎の送信・再送帯域テーブル１１４のフォーマットを示す。シェーパ毎に、基準時間と、制御帯域（基準時間前）と、制御帯域（基準時間後）と、基準時間以前の統計データ（送信帯域、再送帯域）と、基準時間以降の統計データ（送信ビット積算値、再送ビット積算値）と、を格納するエントリ複数個から構成される。
【００３４】
図１の送信帯域制御部１１３は、振分部１０８から通知されたシェーパと一致するエントリの基準時間以降の統計データ（送信ビット積算値、再送ビット積算値）に、通知された送信・再送ビットを加算する。
【００３５】
更に、送信帯域制御部１１３は図４に示すフローチャートに従い、シェーパ毎の送信・再送帯域テーブル１１４を更新する。
【００３６】
送信帯域制御部１１３はシェーパ毎の送信・再送帯域テーブル１１４の各エントリを読み出し（ステップ４０１）、タイマ値１１１と基準時間の差がインターバル値１１２よりも大きいか、または、再送ビット積算値が０よりも大きいか、の判定を行い、判定条件を満たすまで繰り返す（ステップ４０２）。判定条件を満たしたら、送信帯域＝送信ビット積算値／インターバル＋送信帯域×（インターバル−タイマ値＋基準時間）／インターバル、再送帯域＝再送ビット積算値／インターバル＋再送帯域×（インターバル−タイマ値＋基準時間）／インターバル、基準時間＝タイマ値、送信ビット積算値＝０、再送ビット積算値＝０となるようにエントリを更新する（ステップ４０３）。更に、更新済み再送帯域が０よりも大きいか否かを判定する（ステップ４０５）。大きいと判定した場合は、制御帯域（基準時間後）が制御帯域（基準時間前）よりも小さくなるように（例えば、制御帯域（基準時間後）＝制御帯域（基準時間前）−再送帯域）、再送帯域に基づいて制御帯域（基準時間後）を変更する（ステップ４０６）。小さいと判定した場合は、制御帯域（基準時間後）が制御帯域（基準時間後）よりも大きくなるように制御帯域を変更する（ステップ４０７）。
【００３７】
送信帯域制御部１１３は、上記の変更済み制御帯域（基準時間後）に基づいて計算した加算トークンをトークン制御部１１５に通知する。
【００３８】
トークン制御部１１５は、トークンバケツアルゴリズムに基づいて、送信帯域制御部１１３から通知された加算トークンを、周期的にトークンバケツに加算する。更に、トークン積算値が一定量を上回る場合に、出力可能として、送信パケット出力制御部１１６に通知する。
【００３９】
送信パケット出力制御部１１６は、パケットが蓄積されていて、出力可能なバッファからパケットを読み出して出力する。シェーパＡ（１０９Ａ）、シェーパＢ（１０９Ｂ）、シェーパＣ（１０９Ｃ）、のいずれかから出力した場合は、シェーパと出力パケット長をトークン制御部１１５に通知する。トークン制御部１１５は、通知されたシェーパのトークンバケツから、通知パケット長に相当するトークンを減算する。
【００４０】
装置１００′が装置１００から受信したデータパケットは、ＲＸ側振分部１２０′によって、受信履歴更新部１１８′に入力される。
【００４１】
受信履歴更新部１１８′は、受信したデータパケットと、受信履歴テーブル１１９′の内容に基づいて、図６のフローチャートに示す処理を行う。
【００４２】
図５には、受信履歴テーブル１１４′のフォーマットと、受信済箇所５１０と未受信箇所５２０とＳＥＱ番号０、８、９、１２、１４との関係を表す。
【００４３】
受信履歴テーブル１１４′は、送信元ＩＰと、宛先ＩＰと、送信元ポートと、宛先ポートと、受信済箇所の最後尾ＳＥＱと、未受信箇所のＳＥＱと、廃棄検出時間と、から構成される。ＳＥＱは、受信データの先頭からのバイト数を表す。
【００４４】
受信履歴更新部１１８′は、受信パケットヘッダ記載値と一致するエントリを、受信履歴記録テーブル１１９′から読み出す（ステップ６０１）。受信パケットが含むデータの最後尾ＳＥＱが、エントリ記載の受信済箇所の最後尾ＳＥＱよりも大きいか否かを判定する（ステップ６０２）。大きい場合は、受信パケットが含むデータの先頭ＳＥＱが、エントリ記載の受信済箇所の最後尾ＳＥＱと一致するか否かを判定する（ステップ６０３）。一致する場合は、エントリに未受信箇所のＳＥＱが記載されていないか否かを判定する（ステップ６０４）。記載されていない場合は、受信済み箇所の最後尾ＳＥＱ＝受信パケットが含むデータの後尾ＳＥＱ、のように、エントリを更新し、受信パケットを受信パケット出力制御部１２２′へと出力する。更に、受信パケットが含むデータのＳＥＱ範囲を受信箇所とする通知パケットを、バッファ１１０′へと出力する（ステップ６０５）。
【００４５】
図６のステップ６０４において、否と判定された場合は、受信済み箇所の最後尾ＳＥＱ＝受信パケットが含むデータの後尾ＳＥＱ、のように、エントリを更新し、受信パケットを受信パケット蓄積部１２１′へと書き込む。更に受信パケットが含むデータのＳＥＱ範囲を受信箇所とする通知パケットを、バッファ１１０′へと出力する（ステップ６０６）。
【００４６】
図６のステップ６０３において、否と判定された場合は、エントリの未受信箇所のＳＥＱに受信パケットのＳＥＱ範囲を追記し、受信済み箇所の最後尾ＳＥＱ＝受信パケットの後尾ＳＥＱ、となるようにエントリを更新して、受信パケットを受信パケット蓄積部１２１へと書き込む。更に、受信済箇所の最後尾ＳＥＱ〜受信パケットの先頭ＳＥＱを未受信箇所とし、受信パケットのＳＥＱ範囲を受信箇所とする通知パケットをバッファ１１０′へ出力する（ステップ６０７）。
【００４７】
図６のステップ６０２において、否と判定された場合は、受信パケットが含むデータのＳＥＱ範囲が、エントリ記載の未受信箇所の最初のＳＥＱ範囲と一致するか否かを判定する（ステップ６０８）。
【００４８】
図６のステップ６０８において、一致すると判定された場合は、未受信箇所のＳＥＱから、受信パケットのＳＥＱ範囲を削除するように、エントリの更新を行い、受信パケットとエントリをＲＸパケット再送部１１７′へ出力する。更に、受信パケットが含むデータのＳＥＱ範囲を受信箇所とする通知パケットを、受信・未受信箇所通知パケット向けバッファ１１０′へと出力する（ステップ６０９）。
【００４９】
図６のステップ６０８において、否と判定された場合は、未受信箇所のＳＥＱから、受信パケットのＳＥＱ範囲を削除するように、エントリの更新を行い、受信パケットを受信パケット蓄積部１２１′へと書き込む。更に、受信パケットのＳＥＱ範囲より前の未受信ＳＥＱ範囲を未受信箇所とし、受信パケットのＳＥＱ範囲を受信箇所とする通知パケットを、バッファ１１０′へ出力する（ステップ６１０）。
【００５０】
ＲＸパケット再送部１１７′は、受信履歴更新部１１８′から受け取った受信パケットとエントリに基づいて、受信パケットに連続して後続するパケットを受信パケット蓄積部１２１′から読み出して、受信パケットと、読み出したパケットを受信パケット出力制御部１２２′に出力する。
【００５１】
図７には、送信側装置と受信側装置で、データパケットと、受信済・未受信箇所通知パケットが送受信されるシーケンスの一例を示す。
【００５２】
実線がデータパケット、破線が通知パケットを表す。実線の出発点近くに記載されている値が、データパケットのＳＥＱ範囲、破線の出発点近くに記載されている値が、受信済・未受信箇所のＳＥＱ範囲を表す。実線の出発点近くに記載されている値の、更に左側には、送信側の送信帯域の遷移を示す。
【００５３】
以上により、再送帯域に基づいて帯域制御する装置が実現される。これにより、送信帯域がＲＴＴと廃棄率に大きく左右されなくなり、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、送信帯域が改善する効果が得られる。
【実施例２】
【００５４】
図８を用いて、再送帯域に基づいて帯域制御する装置をソフトウェアにて実現する装置８００の実施例を示す。
【００５５】
図８には、装置８００のブロック図をあらわす。装置８００は、演算部８２３と記憶部８２４から構成される。
【００５６】
図１における、ＴＸ部１０２、ＲＸ部１０３、シェーパ判定部１０５、ＴＸパケット再送部１０７、振分部１０８、送信帯域制御部１１３、トークン制御部１１５、送信パケット出力制御部１１６、ＲＸパケット再送部１１７、受信履歴更新部１１８、ＲＸ側振分部１２０、受信パケット出力制御部１２２、はモジュール化されて、ＴＸモジュール８０２、ＲＸモジュール８０３、シェーパ判定モジュール８０５、ＴＸパケット再送モジュール８０７、振分モジュール８０８、送信帯域制御モジュール８１３、トークン制御モジュール８１５、送信パケット出力制御モジュール８１６、ＲＸパケット再送モジュール８１７、受信履歴更新モジュール８１８、ＲＸ側振分モジュール８２０、受信パケット出力制御モジュール８２２として、演算部８２３にて動作する。
【００５７】
また、図１における、送信データ蓄積メモリ１０４、ＴＸ経路・シェーパテーブル１０６、シェーパ１０９、受信・未受信箇所通知パケット向けバッファ１１０、タイマ値格納部１１１、インターバル値格納部１１２、シェーパ毎の送信・再送帯域テーブル１１４、受信履歴テーブル１１９、受信パケット蓄積部１２１、は全て、記憶部８２４におかれる。
【００５８】
以上により、ソフトウェア実装した装置により再送帯域に基づいて帯域制御する装置が実現される。これにより、送信帯域がＲＴＴと廃棄率に大きく左右されなくなり、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、送信帯域が改善する効果が得られる。なお、各モジュールは、装置９００の不揮発性記憶媒体に格納されるプログラムを読み出すことにより構成される。
【実施例３】
【００５９】
図９、図１０、図１１を用いて、廃棄帯域に基づいて帯域制御する装置９００の実施例を示す。
【００６０】
図９には、装置９００のブロック図をあらわす。本装置９００は、実施例１に記載の装置１００をベースにして、シェーパ毎の送信・再送帯域テーブル１１４を、シェーパ毎の送信・廃棄帯域の記録テーブル９０２に置き換え、廃棄ビット通知部９０１と、ＲＸ経路・シェーパテーブル９０３を、新たに追加することで、構成される。
【００６１】
図１０には、ＲＸ経路・シェーパテーブル９０３のフォーマットを表す。ＲＸ経路（送信元ＩＰ／サブネット、宛先ＩＰ／サブネット、送信元ポート、宛先ポート）と、シェーパ、を格納するエントリ複数個から構成される。ＲＸ経路は、経路・シェーパテーブル１０６の送信元ＩＰ／サブネットと宛先ＩＰ／サブネットを交換し、送信元ポートと宛先ポートを交換した値となっている。
【００６２】
図１１には、シェーパ毎の送信・廃棄帯域テーブル９０２のフォーマットを表す。シェーパ毎に、基準時間と、制御帯域（基準時間前）と、制御帯域（基準時間後）と、基準時間以前の統計データ（送信帯域、廃棄帯域）と、基準時間以降の統計データ（送信ビット積算値、廃棄ビット積算値）とを格納するエントリ複数個から構成される。
【００６３】
廃棄ビット通知部９０１は、未受信箇所通知パケットを受信すると、記載されている未受信箇所の総ビット長を求めて、廃棄ビット長とする。更に、パケットヘッダ記載値とＲＸ経路が一致するエントリを、ＲＸ経路・シェーパテーブル９０３から読み出して、エントリ記載のシェーパと、求めた廃棄ビット長を、送信帯域制御部１１３へと通知する。
【００６４】
送信帯域制御部１１３は、図４に記載のシェーパ毎の送信・再送帯域テーブル１１４の更新方法と同様の手順で、シェーパ毎の送信域・廃棄帯域テーブル９０２を更新する。更に、上記の変更済み制御帯域（基準時間後）に基づいて計算した加算トークンをトークン制御部１１５に通知する。
【００６５】
以上により、廃棄帯域に基づいて帯域制御する装置が実現される。これにより、送信帯域がＲＴＴと廃棄率に大きく左右されなくなり、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、送信帯域が改善する効果が得られる。
【実施例４】
【００６６】
図１２、図１３、図１４、図１５を用いて、再送中コネクション数を計測し、再送中コネクション数に基づいて帯域制御する装置１２００の実施例を示す。
【００６７】
図１２には、装置１２００のブロック図をあらわす。本装置１２００は、実施例１に記載の装置１００をベースにして、コネクション数加算判定部１２０１と、コネクション有無テーブル１２０２と、シェーパ毎の送信・再送中コネクション数テーブル１２０３と、を追加することで構成できる。
【００６８】
図１３には、コネクション有無テーブル１２０２のフォーマットを表す。送信元ＩＰ、宛先ＩＰ、送信元ポート、宛先ポート、再送中（Ｙｅｓ＝１，  Ｎｏ＝０）、基準時間、を格納するエントリ複数個から構成される。
【００６９】
図１４には、コネクション数加算判定部１２０１が、コネクション有無テーブル１２０２記載の値を用いて行う処理のフローチャート図を示す。
【００７０】
コネクション数加算判定部１２０１は、パケットヘッダ記載値と一致するエントリを、コネクション有無テーブル１２０２から読み出し（ステップ１４０１）、パケットヘッダ記載値と一致するエントリが有るか、無いかを判定する（ステップ１４０２）。無い場合は、新規エントリを、送信元ＩＰ＝パケットの送信元ＩＰ、宛先ＩＰ＝パケットの宛先ＩＰ、送信元ポート＝パケットの宛先ポート、宛先ポート＝パケットの宛先ポート、基準時間＝タイマ値、として作成する。更に、シェーパ判定部の指定シェーパのコネクション数に１を加算するように送信帯域制御部１１３に通知する（ステップ１４０５）。ステップ１４０２において、一致するエントリが有る場合は、タイマ値１１１と基準時間の差がインターバル値１１２よりも大きいか、または、エントリ記載の再送＝０かつ入力されたパケットが再送パケットであるか否かを判定し、いずれも満たさない場合は、ループする（ステップ１４０３）。いずれかを満たした場合は、タイマ値１１１と基準時間の差がインターバル値１１２よりも大きい場合に、基準時間＝タイマ値、へとエントリを更新し、再送パケットの場合に、再送中＝１、通常パケットの場合に、再送中＝０、へとエントリを更新する。更に、通常パケットの場合は、シェーパ判定部の指定シェーパの送信コネクション数に１を加算するように、再送パケットの場合は、シェーパ判定部の指定シェーパの再送コネクション数に１を加算するように、送信帯域制御部１１３に通知する（ステップ１４０４）。
【００７１】
図１５には、シェーパ毎の送信・再送中コネクション数テーブル１２０３のフォーマットを表す。シェーパ毎に、基準時間と、基準時間以前の統計データ（送信中コネクション数、再送中コネクション数）と、基準時間以降の統計データ（送信中コネクション数積算値、再送中コネクション数積算値）とを格納するエントリから構成される。
【００７２】
送信帯域制御部１１３は、図４に記載のシェーパ毎の送信・再送帯域の記録テーブル１１４と同様の手順で、シェーパ毎の送信・再送中コネクション数テーブル１２０３を更新する。
【００７３】
送信帯域制御部１１３は、シェーパ毎の送信・再送中コネクション数テーブル１２０３を見ることで、廃棄検出時の帯域削減量を判定する。
【００７４】
以上により、廃棄検出時に何割のコネクションに廃棄が生じているのかが分かり、帯域の削減幅を最適化される効果がある。
【実施例５】
【００７５】
図１６、図１７、図１８、図１９、図２０、図２１を用いて、通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する装置１６００の実施例を示す。
【００７６】
図１６には、装置１６００のブロック図をあらわす。本装置１６００は、実施例４に記載の装置１２００をベースにして、ＲＸ経路・シェーパテーブル９０３をＴＸ部１０２に追加し、通信相手の受信帯域とデータ受信中のコネクション数を記録するシェーパ毎の受信側総帯域・コネクション数テーブル１６０１と、受信側総帯域・コネクション数通知部１６０２と、フィードバック通知パケット生成部１６０３と、フィードバック通知先テーブル１６０４とを、ＴＸ部１０２へ新たに追加し、コネクション数加算判定部１２０１と、コネクション有無テーブル１２０２とをＲＸ部１０３に追加し、ＲＸ情報通知部１６０５と、受信帯域とパケット受信中のコネクション数を記録するＲＸ総帯域・コネクション数テーブル１６０６と、を新たにＲＸ部１０３に追加することで、構成される。
【００７７】
図１７には、シェーパ毎の受信側総帯域・コネクション数テーブル１６０１のフォーマットを表す。
【００７８】
シェーパ毎の受信側総帯域・コネクション数テーブル１６０１は、シェーパ毎に、通信相手側で計測された総受信帯域とパケット受信中の総コネクション数を格納するエントリ複数個から構成される。
【００７９】
図１８には、フィードバック通知先テーブル１６０４のフォーマットを表す。
【００８０】
フィードバック通知先テーブル１６０４は、フィードバック通知の対象が端末である場合は宛先ＩＰアドレスを格納し、フィードバック通知の対象が拠点である場合は宛先ＩＰアドレスと共にサブネットも格納するエントリ複数個から構成される。
【００８１】
図１９には、ＲＸ総帯域・コネクション数テーブル１６０６のフォーマットを表す。
【００８２】
ＲＸ総帯域・コネクション数テーブル１６０６は、基準時間と、基準時間以前の統計データ（ＲＸ総帯域、ＲＸ総コネクション数）と、基準時間以降の統計データ（ＲＸ総ビット積算値、ＲＸ総コネクション数積算値）と、を格納する。
【００８３】
ＲＸ情報通知部１６０５は、コネクション数加算判定部１２０１からのコネクション数加算通知と、ＲＸ側振分部１２０から入力されるデータパケットのヘッダ記載のパケット長を用いて、ＲＸ総帯域・コネクション数テーブル１６０６の、基準時間以降の統計データ（ＲＸ総ビット積算値、ＲＸ総コネクション数積算値）を加算する。コネクション数加算通知がくると、ＲＸ総コネクション数積算値を１加算し、パケット長はビット長に変換して、ＲＸ総ビット積算値に加算する。
【００８４】
更に、ＲＸ情報通知部１６０５は図２０に示すフローチャートを用いて、ＲＸ総帯域・コネクション数テーブル１６０６の更新を行う。
【００８５】
ＲＸ情報通知部１６０５はタイマ値１１１と基準時間の差が、インターバル値１１２よりも大きくなるか否かの判定を、満たすまで繰り返し実行する（ステップ２００１）。満たしたら、基準時間以前のＲＸ総帯域＝基準時間以降のＲＸ総ビット積算値／（タイマ値−基準時間）、基準時間以前のＲＸ総コネクション数＝基準時間以降のＲＸ総コネクション数積算値、基準時間＝タイマ値、基準時間以降のＲＸ総ビット積算値帯域＝０、基準時間以降のＲＸ総コネクション数積算値＝０、となるように、テーブルを更新する（ステップ２００２）。
【００８６】
更新した基準時間以前のＲＸ総帯域・総コネクション数は、フィードバック通知パケット生成部１６０３へと出力される。
【００８７】
フィードバック通知パケット生成部１６０３は、通知されたＲＸ総帯域・総コネクション数を含む通知パケットを、フィードバック通知先テーブル１６０４に記載された全ての宛先に対して生成し、出力する。
【００８８】
逆に、装置１６００が、ＲＸ総帯域・総コネクション数を含む通知パケットを、通信相手から受け取ると、ＲＸ側振分部１２０を経由して、受信側総帯域・コネクション数通知部１６０２へと出力する。
【００８９】
受信側総帯域・コネクション数通知部１６０２は、パケットヘッダ記載値と一致するエントリを、ＲＸ経路・シェーパテーブル９０３から読み出し、エントリ記載のシェーパと対応づけて、通知パケット記載の受信側総帯域・総コネクション数を、送信帯域制御部１１３へと通知する。
【００９０】
送信帯域制御部１１３は、通知されたシェーパの受信側総帯域・総コネクション数を、シェーパ毎の受信側総帯域・総コネクション数テーブル１６０１へと記載する。
【００９１】
送信帯域制御部１１３は、シェーパ毎の受信側総帯域・総コネクション数テーブル１６０１に記載の受信側総帯域・総コネクション数と、シェーパ毎の送信・再送中コネクション数テーブル１２０３に記載の送信コネクション数と、を用いて、例えば、図２１に示すように帯域を制御する。
【００９２】
図２１において、送信端末２１０１から受信端末２１０３へ向かってデータ送信中の通信コネクション数が２、送信端末２１０２から受信端末２１０３へ向かってデータ送信中の通信コネクション数が１、だったとする。受信端末２１０３に接続されている装置１６００Ｃにおいて計測されたＲＸ総帯域が１２、ＲＸ総コネクション数が３だったとすると、装置１６００Ｃから、送信端末２１０１／２１０２に接続されている装置１６００Ａ／Ｂに向けて、ＲＸ総帯域：１２・ＲＸ総コネクション数：３の情報がフィードバック通知される。装置１６００Ａは、フィードバック通知されたＲＸ総帯域：１２・ＲＸ総コネクション数：３の情報から、１コネクションあたりの帯域を４と求め、装置１６００Ａのシェーパ毎の送信・再送中コネクション数テーブル１２０３Ａに記載の送信コネクション数：２に基づき、送信帯域を４×２＝８へと調整する。装置１６００Ｂは、フィードバック通知されたＲＸ総帯域：１２・ＲＸ総コネクション数：３の情報から、１コネクションあたりの帯域を４と求め、装置１６００Ｂのシェーパ毎の送信・再送中コネクション数テーブル１２０３Ａに記載の送信中コネクション数：１に基づき、送信帯域を４×１＝４へと調整する。
【００９３】
以上記載の、通信相手から通知されたパケット受信中の総コネクション数に基づいて帯域制御する装置により、端末間で公平な帯域割り当てが実現され、端末によらず、一定の通信品質が実現される。
【実施例６】
【００９４】
図２２、図２３を用いて、送信側端末から受信側端末に至る通信経路上の経由回線の契約帯域と、パケット送信中のコネクション数と、１コネクションあたりの契約帯域と、に基づいて帯域制御する装置２２００の実施例を示す。
【００９５】
図２２には、装置２２００のブロック図をあらわす。本装置２２００は、実施例４の装置１２００をベースにして、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２と、シェーパ出力パケットの通信経路毎の経由回線テーブル２２０３と、を新たに追加することで、構成される。
【００９６】
図２３には、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２と、シェーパ出力パケットの通信経路毎の経由回テーブル２２０３のフォーマットを示す。更に、契約帯域１０．０の回線Ｘ，契約帯域８．０の回線Ｙ，契約帯域３．０の回線Ｚがあり、装置２２００のシェーパＡの出力パケットの通信経路に回線Ｘと回線Ｙがあり、シェーパＢの出力パケットの通信経路に回線Ｘと回線Ｚがあるケースにおいて、装置２２００の送信帯域制御部１１３の帯域制御方法の一例を示す。
【００９７】
回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２は、回線毎に契約帯域（全体帯域、割当済帯域、未割当帯域）、送信中コネクション数（全体数、割当済数、未割当数）、１コネクションあたりの未割当帯域を格納するエントリを、複数備える。
【００９８】
シェーパ出力パケットの通信経路毎の経路回線テーブル２２０３は、通信経路毎に経由回線と制御帯域とを格納するエントリを複数個備える。本実施例では、シェーパ出力パケットの通信経路が、常に一通りであるものとする。
【００９９】
送信帯域制御部１１３は、シェーパ出力パケットの通信経路毎の経由回線テーブル２２０３と、シェーパ毎の送信・再送中コネクション数テーブル１２０３に記載の、経由回線と送信中コネクション数を用いて、回線毎のデータ送信中のコネクション数を計算し、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２の送信中コネクション数（全体数、割当済数、未割当数）を初期化し、１コネクションあたりの未割当帯域を計算する。
【０１００】
送信帯域制御部１１３は、回線Ｚの１コネクションあたりの未割当帯域が１．５と最小であることと、回線ＺがシェーパＢの出力パケットの通信経路Ｂに含まれており、シェーパＢの送信中コネクション数が２であることを用いて、シェーパＢの制御帯域を１．５×２＝３．０と計算し、通信経路毎の経由回線テーブル２２０３の、通信経路Ｂの制御帯域を３．０に更新する。
【０１０１】
更に、送信帯域制御部１１３は、回線Ｘ・ＺはシェーパＢの出力パケットの通信経路Ｂの経由回線なので、通信経路Ｂの送信中コネクション数２と制御帯域３．０を、回線毎の契約帯域・送信中コネクション数・コネクションあたり帯域テーブル２２０２の回線ＸとＺの割当済契約帯域・割当済送信中コネクション数として記載し、１コネクションあたりの未割当帯域を再計算する。
【０１０２】
送信帯域制御部１１３は、再計算後の回線Ｘの１コネクションあたりの未割当帯域が７．０で最小であることと、回線ＸがシェーパＡの出力パケットの通信経路Ａに含まれており、シェーパＡの送信中コネクション数が１であることを用いて、シェーパＡの制御帯域を、７．０×１＝７．０と計算し、通信経路毎の経由回線テーブル２２０３の、通信経路Ａの制御帯域を７．０に更新する。
【０１０３】
以上記載の方法により得られた、通信経路毎の経由回線テーブル２２０３の、通信経路毎の制御帯域を用いて、帯域制御を行う。
【０１０４】
以上記載の帯域制御を行うことで、ユーザの通信環境に応じて、契約帯域を最大限使い切るような帯域制御が可能となる。
【実施例７】
【０１０５】
図２４、図２５、図２６を用いて、送信側端末から受信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット送信中のコネクション数と、１コネクションあたりの契約帯域に加えて、他装置から通知された他装置のパケット送信中のコネクション数と、に基づいて帯域制御する装置２４００の実施例を示す。
【０１０６】
図２４には、装置２４００のブロック図をあらわす。本装置２４００は、実施例６の装置２２００をベースに、相互通知パケット生成部２４０２と、相互通知先テーブル２４０３を追加し、シェーパ毎の送信・再送中コネクション数テーブル１２０３の代わりに、シェーパ出力パケットの通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１を備える。本実施例では、シェーパ出力パケットの通信経路が、常に一通りであるものとする。相互通知先テーブル２４０３のフォーマットは、フィードバック通知先テーブル１６０４と同じである。
【０１０７】
図２５には、通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１のフォーマットを表す。
【０１０８】
通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１は、通信経路毎に、基準時間と、基準時間以前の統計データ（自装置のデータ送信中コネクション数、他装置のデータ送信中ネクション数）と、基準時間以後の統計データ（自装置のデータ送信中コネクション数積算値、他装置のデータ送信中コネクション数積算値）と、を格納するエントリを複数備える。
【０１０９】
送信帯域制御部１１３は、コネクション数加算判定部１２０１からの送信コネクション数加算通知と、ＲＸ側振分部１２０からの、他装置の送信中コネクション数の通知パケットを受け取り、基準時間以降の統計データ値の加算を行う。更に、タイマ値１１１と基準時刻の差がインターバル値１１２より大きくなったタイミングで、シェーパ毎の送信・再送中コネクション数テーブル１２０３と同様に、基準時間以降のシェーパ出力パケットの通信経路毎の自装置と他装置の送信中コネクション数の更新を行う。
【０１１０】
更に、送信帯域制御部１１３は、自装置の送信中コネクション数を、相互通知パケット生成部２４０２へと通知する。相互通知パケット生成部２４０２は、相互通知先テーブル２４０３記載の全宛先に対して、自装置の送信中コネクション数を通知するパケットを生成する。
【０１１１】
図２６には、契約帯域１０の回線Ｘ、契約帯域８の回線Ｙ、契約帯域３の回線Ｚがあり、装置２４００のシェーパＡの出力パケットの通信経路上の経由回線として回線Ｘと回線Ｙがあり、シェーパＢの出力パケットの通信経路上の経由回線として回線Ｘと回線Ｚがあるケースで、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２と、シェーパ出力パケットの通信経路毎の経由回線テーブル２２０３を用いて、送信帯域制御部１１３が帯域を制御する方法の一例を示す。
【０１１２】
送信帯域制御部１１３は、シェーパ出力パケットの通信経路毎の経由回線テーブル２２０３と、通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１に記載の、通信経路毎の経由回線と、自装置の送信中コネクション数と、他装置の送信中コネクション数を用いて、回線毎の送信中コネクション数を計算し、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２のコネクション数（全体数、割当済数、未割当数）を初期化し、１コネクションあたりの未割当帯域を計算する。（ステップ２６０１）
【０１１３】
装置２４００は、回線Ｚの１コネクションあたりの未割当帯域が１．０で最小であることと、回線Ｚを含む通信経路Ｂの自装置のデータ送信中コネクション数が２であることを用いて、通信経路Ｂに向けてパケットを出力するシェーパＢの制御帯域を、１．０×２＝２．０とする。（ステップ２６０２）
【０１１４】
更に、回線Ｘ・Ｚは通信経路Ｂの経由回線なので、テーブル２４０１記載の通信経路Ｂのデータ送信中コネクション数の総和３に対する制御帯域３．０を、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２の回線ＸとＺの割当済帯域・割当済コネクション数として記載し、１コネクションあたりの未割当帯域を再計算する。（ステップ２６０３）
【０１１５】
装置２４００は、再計算後の回線Ｘの１コネクションあたりの未割当帯域が３．５で最小であることと、回線Ｘを含む通信経路Ａの自装置のデータ送信中コネクション数が１であることを用いて、通信経路Ａに向けてパケットを出力するシェーパＡの制御帯域を、３．５×１＝３．５とする。（ステップ２６０４）
【０１１６】
上記のように、送信側端末から受信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット送信中のコネクション数と、１コネクションあたりの契約帯域、に加えて、他装置から通知された他装置のパケット送信中のコネクション数と、に基づいて帯域制御することで、通信環境をより反映させた帯域制御が可能となる。
【実施例８】
【０１１７】
図２７、図２８、図２９を用いて、受信側端末から送信側端末に至る通信経路上の経由回線の契約帯域と、自装置のパケット受信中のコネクション数と、１コネクションあたりの契約帯域に加えて、他装置のパケット受信中のコネクション数と、に基づいて帯域制御する装置２７００の実施例を示す。
【０１１８】
図２７には、装置２７００のブロック図をあらわす。本装置２７００は、実施例７の装置２４００をベースに、ＴＸ部１０２に、フィードバック通知パケット生成部１６０３と、フィードバック通知先テーブル１６０４を追加する。また、ＲＸ部１０３に、コネクション数加算判定部１２０１と、コネクション有無テーブル１２０２と、ＲＸ経路・シェーパテーブル９０３と、タイマ値格納部１１１と、インターバル値格納部１１２と、を追加することで、ＴＸ部１０２と同様に、通信経路毎に、データ受信中のコネクション数の加算指定ができるようにする。更に、ＴＸ部１０２のシェーパ出力パケットの通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１と、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２と、シェーパ出力パケットの通信経路毎の経由回線テーブル２２０３と同様に、ＲＸ部１０３にも、通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１と、回線毎の契約帯域・受信中コネクション数・１コネクションあたり帯域テーブル２７０２と、ＲＸ向け通信経路毎の経由回線テーブル２７０３と、を備える。更に、これらのテーブルの値を更新して、更新値を通知パケット生成部に通知する受信情報通知部２７０４を備える。本実施例では、シェーパ出力パケットの通信経路が、常に一通りであるものとする。
【０１１９】
図２８には、通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１のフォーマットを示す。
【０１２０】
通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１は、通信経路毎に、基準時間と、基準時間以前の統計データ（自装置のデータ受信中コネクション数、他装置のデータ受信中コネクション数）と、基準時間以後の統計データ（自装置のデータ受信中コネクション数積算値、他装置のデータ受信中コネクション数積算値）と、を格納するエントリを複数備える。
【０１２１】
受信情報通知部２７０４は、通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１に対して、コネクション数加算判定部１２０１からの自装置の受信中コネクション数の加算指定と、ＲＸ側振分部１２０から受け取る通知パケット記載の、他装置の受信中コネクション数を用いて、基準時間以降の統計データを加算する。基準時間以前の統計データは、シェーパ出力パケットの通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１と同様に、タイマ値格納部１１１と基準時間の差が、インターバル値格納部１１２を超過したタイミングで更新する。
【０１２２】
図２９には、契約帯域１０の回線Ｘ，契約帯域８の回線Ｙ，契約帯域３の回線Ｚがあり、通信経路Ａに回線Ｘと回線Ｙがあり、通信経路Ｂに回線Ｘと回線Ｚがあるケースにおいて、通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１と、回線毎の契約帯域・受信中コネクション数・１コネクションあたり帯域テーブル２７０２と、通信経路毎の経由回線テーブル２７０３を用いて、装置２７００が、通信相手に接続している装置１６００Ｃと装置１６００Ｄに、総制御帯域・総受信コネクション数をフィードバック通知する方法の１例を示す。
【０１２３】
装置２７００の受信情報通知部２７０４は、通信経路毎の経由回線テーブル２７０３に記載の通信経路毎の経由回線と、通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１に記載の自装置の受信中コネクション数と他装置の受信中コネクション数を用いて、回線毎のデータ受信中コネクション数を計算し、回線毎の契約帯域・受信中コネクション数・１コネクションあたり帯域テーブル２７０２の受信中コネクション数（全体数、割当済数、未割当数）を初期化し、１コネクションあたりの未割当帯域を計算する。（ステップ２９０１）
【０１２４】
装置２７００は、回線Ｚの１コネクションあたりの未割当帯域が１．０で最小であることと、回線Ｚを含む通信経路Ｂのデータ受信中コネクション数の総和が３であることを用いて、通信経路Ｂの総制御帯域を、１．０×３＝３．０とする。（ステップ２９０２）
【０１２５】
更に、回線Ｘ・Ｚは通信経路Ｂの経由回線なので、通信経路Ｂのデータ受信中コネクション数の総和３と総制御帯域３．０を、回線毎の契約帯域・受信中コネクション数・１コネクションあたり帯域テーブル２７０２の回線ＸとＺの割当済契約帯域・割当済受信中コネクション数として追加し、１コネクションあたりの未割当帯域を再計算する。（ステップ２９０３）
【０１２６】
装置２７００は、再計算後の回線Ｘの１コネクションあたりの未割当帯域が３．５で最小であることと、回線Ｘを含む通信経路Ａの受信コネクション数の総和が２であることを用いて、通信経路Ａの総制御帯域を、３．５×２＝７．０とする。（ステップ２９０４）
【０１２７】
得られた通信経路毎の総制御帯域と総受信コネクション数は、フィードバック通知パケット生成部１６０３へと通知され、フィードバック通知先テーブル１６０４記載の全宛先向けに通知パケットが作成される。更に、実施例５を適用したデータ送信側装置１６００Ｃ／Ｄへとフィードバック通知される。
【０１２８】
送信側装置１６００Ｃ／Ｄは、受け取ったフィードバック通知パケット記載の、総制御帯域と総受信コネクション数に基づいて、送信帯域を制御する。
【０１２９】
装置２７００が接続している端末をサーバ端末、装置１６００Ｃ／Ｄが接続している端末をクライアント端末とすれば、クライアント端末に接続している装置は、フィードバック通知や相互通知を行う必要がなくなる。クライアント端末に接続している装置の状態にかかわらず、コネクション数の情報の共有が可能となる。
【０１３０】
上記のように、他装置から通知された送信中コネクション数の情報に加えて、他装置から通知された受信中コネクション数の情報も加えて帯域制御を行うことで、通信環境をより反映させた帯域制御が可能となる。
【実施例９】
【０１３１】
図３０、図３１を用いて、ＬＡＮとＷＡＮの接続部に設置され、通信経路上の経由回線の契約帯域・データ送信中コネクション数・データ受信中コネクション数を一括計測し、計測結果を、同一ＬＡＮに接続した他の装置に一方的に通知し、他のＷＡＮに接続した他の装置との間では相互通知しあう装置３０００の実施例を示す。
【０１３２】
図３０には、装置３０００のブロック図をあらわす。本装置３０００は、実施例８の装置２７００をベースに、再送機能や帯域制御機能に関するブロックを削除し、ＴＸ部をＯｕｔｂｏｕｎｄ部３００４に、ＲＸ部をＩｎｂｏｕｎｄ部３００３に変更し、受信情報通知部２７０４の代わりにＷＡＮ⇒ＬＡＮ方向のコネクション数の計測を行うインバウンド情報管理部３００１と、送信帯域制御部１１３の代わりにＬＡＮ⇒ＷＡＮ方向のコネクション数の計測を行うアウトバウンド情報管理部３００２と、通信経路毎の自装置と他装置の送信中コネクション数テーブル２４０１の代わりに通信経路毎の自装置と他装置のＯｕｔｂｏｕｎｄコネクション数テーブル３００８と、通信経路毎の自装置と他装置の受信中コネクション数テーブル２７０１の代わりに通信経路毎の自装置と他装置のＩｎｂｏｕｎｄコネクション数テーブル３００５と、回線毎の契約帯域・送信中コネクション数・１コネクションあたり帯域テーブル２２０２の代わりに回線毎の契約帯域・Ｏｕｔｂｏｕｎｄコネクション数・１コネクションあたり帯域テーブル３００７と、回線毎の契約帯域・受信中コネクション数・１コネクションあたり帯域テーブル２７０２の代わりに回線毎の契約帯域・Ｉｎｂｏｕｎｄコネクション数・１コネクションあたり帯域テーブル３００６と、を備える。
【０１３３】
アウトバウンド情報管理部３００２は、送信帯域制御部１１３と同様な方法で、回線毎の契約帯域・Ｏｕｔｂｏｕｎｄコネクション数・１コネクションあたり帯域テーブル３００７と、通信経路毎の自装置と他装置のＯｕｔｂｏｕｎｄコネクション数テーブル３００８を更新し、自装置のＯｕｔｂｏｕｎｄコネクション数を相互通知パケット生成部に通知する。
【０１３４】
インバウンド情報管理部３００１は、受信情報通知部２７０４と同様な方法で、回線毎の契約帯域・Ｉｎｂｏｕｎｄコネクション数・１コネクションあたり帯域テーブル３００６と、通信経路毎の自装置と他装置のＩｎｂｏｕｎｄコネクション数テーブル３００５を更新し、自装置のＩｎｂｏｕｎｄコネクション数を相互通知パケット生成部に通知するとともに、自装置の総制御帯域と総Ｉｎｂｏｕｎｄコネクション数をフィードバック通知パケット生成部へ通知する。
【０１３５】
相互通知パケット生成部２４０２は、ＷＡＮ側にもＬＡＮ側にも通知パケットを出力する。フィードバック通知パケット生成部１６０３は、ＷＡＮ側にのみ通知パケットを出力する。
【０１３６】
図３１には、装置間の統計情報の通知方向を表す。
【０１３７】
統計情報収集装置３０００は、通信経路Ａと通信経路Ｂのインバウンドコネクション数を、実施例７を適用した装置２４００Ｘ／Ｙに一方的に通知する。装置２４００Ｘ／Ｙは、装置３０００からの通知パケット記載のコネクション数から、自装置の送信中コネクション数を引くことで、他装置の送信中コネクション数を得て、帯域制御を行う。
【０１３８】
また、統計情報収集装置３０００は、他のＬＡＮとＷＡＮの接続部に設置された別の統計情報収集装置３０００′との間で、各通信経路のＩｎｂｏｕｎｄコネクション数とＯｕｔｂｏｕｎｄコネクション数の情報を相互に通知しあう。
【０１３９】
更に、統計情報収集装置３０００は、端末と接続中の実施例５を適用した装置１６００Ｅに対して、Ｉｎｂｏｕｎｄコネクション数とＩｎｂｏｕｎｄ総制御帯域を通知する。
【０１４０】
上記の統計情報収集装置を用いることで、拠点内の装置が多い場合に、通知回数を削減しつつ、装置から通知された送信中コネクション数と受信中コネクション数の情報に基づく帯域制御が実現され、通信環境をより反映させた帯域制御が可能となる。
【実施例１０】
【０１４１】
図３２に、実施例７や実施例８に記載した装置２４００／２７００を複数個、スイッチＨＵＢに接続して１つの装置３２００にした実施例を示す。
【０１４２】
コネクション数の情報を管理するテーブルを複数の装置で共有することができるので、コストを削減することができる。
【実施例１１】
【０１４３】
図３３には、実施例７や実施例８に記載した装置２４００／２７００を複数設置し、代表装置と他の装置との間で、帯域制御に用いるコネクション数の情報を通知しあうシステムの実施例を示す。
【０１４４】
代表装置に集中した情報を、各装置に再配信するので、メッシュ状に通知しあうよりも、通知回数を削減できる。
【実施例１２】
【０１４５】
図３４には、実施例７や実施例８に記載した装置２４００／２７００を複数設置し、帯域制御に用いるコネクション数の情報を、ループ状に通知しあうシステムの実施例を示す。
【０１４６】
メッシュ状に通知しあうよりも、通知回数を削減できる。
【０１４７】
上述した種々の実施例で明らかにされたように、ある通信端末が別の通信端末と通信を行う際に、複数の通信端末の間に２つ以上設置された装置が、通信の帯域制御や再送制御を肩代わりすることで、通信を高速化することができる。
上記記載は実施例についてなされたが、本発明はそれに限らず、本発明の精神と添付の請求の範囲の範囲内で種々の変更および修正をすることができることは当業者に明らかである。
【符号の説明】
【０１４８】
１００  装置
１０１  端末
８００  装置
９００  装置
１２００  装置
１６００  装置
２２００  装置
２４００  装置
２７００  装置
３０００  装置
【図１】
0005521059.tif 000002
【図２】
0005521059.tif 000003
【図３】
0005521059.tif 000004
【図４】
0005521059.tif 000005
【図５】
0005521059.tif 000006
【図６Ａ】
0005521059.tif 000007
【図６Ｂ】
0005521059.tif 000008
【図７】
0005521059.tif 000009
【図８】
0005521059.tif 000010
【図９】
0005521059.tif 000011
【図１０】
0005521059.tif 000012
【図１１】
0005521059.tif 000013
【図１２】
0005521059.tif 000014
【図１３】
0005521059.tif 000015
【図１４】
0005521059.tif 000016
【図１５】
0005521059.tif 000017
【図１６Ａ】
0005521059.tif 000018
【図１６Ｂ】
0005521059.tif 000019
【図１６Ｃ】
0005521059.tif 000020
【図１７】
0005521059.tif 000021
【図１８】
0005521059.tif 000022
【図１９】
0005521059.tif 000023
【図２０】
0005521059.tif 000024
【図２１】
0005521059.tif 000025
【図２２】
0005521059.tif 000026
【図２３】
0005521059.tif 000027
【図２４】
0005521059.tif 000028
【図２５】
0005521059.tif 000029
【図２６】
0005521059.tif 000030
【図２７Ａ】
0005521059.tif 000031
【図２７Ｂ】
0005521059.tif 000032
【図２７Ｃ】
0005521059.tif 000033
【図２８】
0005521059.tif 000034
【図２９】
0005521059.tif 000035
【図３０】
0005521059.tif 000036
【図３１】
0005521059.tif 000037
【図３２】
0005521059.tif 000038
【図３３】
0005521059.tif 000039
【図３４】
0005521059.tif 000040
【図３５】
0005521059.tif 000041