(57)【要約】【課題】通信効率の向上を図ること。【解決手段】帯域制御装置２は、セッションの状態変化を検出する検出部２７０１と、セッションの帯域変化量を特定する特定部２７０２と、セッションの状態変化に基づいて、帯域変化量を、セッション群の使用帯域を減少させる第１の帯域変化量と使用帯域を増加させる第２の帯域変化量のいずれかに決定する決定部２７０４と、第１の帯域変化量に決定された場合、セッションの帯域変化量を未使用帯域に蓄積し、第２の帯域変化量に決定された場合、セッションの帯域変化量を必要帯域に蓄積する蓄積部２７０５と、未使用帯域および必要帯域のうちセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する判定部２７０６と、しきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる割当部２７０７と、を有する。【選択図】図２７
2014192882.tif 000002
【特許請求の範囲】
【請求項１】
セッション群の中のいずれかのセッションの状態変化を検出する検出部と、
前記検出部によって状態変化が検出された前記いずれかのセッションの帯域変化量を特定する特定部と、
前記いずれかのセッションの状態変化に基づいて、前記特定部によって特定された帯域変化量を、前記セッション群の使用帯域を減少させる第１の帯域変化量と前記使用帯域を増加させる第２の帯域変化量とのいずれかに決定する決定部と、
前記決定部によって第１の帯域変化量に決定された場合、前記いずれかのセッションの帯域変化量を未使用帯域に蓄積し、前記決定部によって第２の帯域変化量に決定された場合、前記いずれかのセッションの帯域変化量を必要帯域に蓄積する蓄積部と、
前記未使用帯域および前記必要帯域のうち前記いずれかのセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する判定部と、
前記判定部によってしきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる割当部と、
を有することを特徴とする帯域制御装置。
【請求項２】
前記決定部は、前記セッション群のセッション数がしきい値以上である場合に決定することを特徴とする請求項１に記載の帯域制御装置。
【請求項３】
前記割当部は、複数の割当方式のうち未試行で最も優先度が高い割当方式を用いて、前記帯域変化量の総和を割り当てることを特徴とする請求項１に記載の帯域制御装置。
【請求項４】
前記複数の割当方式は、前記帯域制御装置に接続される端末群を分類するセグメント群のうち、前記いずれかのセッションを使用する端末と同一サービスでかつ同一セグメント内の端末群が使用するセッションを割当対象とする割当方式を含むことを特徴とする請求項３に記載の帯域制御装置。
【請求項５】
前記複数の割当方式は、前記帯域制御装置に接続される端末群を分類するセグメント群のうち、前記いずれかのセッションを使用する端末と同一サービスでかつ同一セグメント内の端末群が使用するセッションを割当対象とする第１の割当方式と、前記セグメント群のうち、前記いずれかのセッションを使用する端末と同一セグメント内の端末群が使用するセッションを割当対象とする第２の割当方式と、を含み、前記第１の割当方式が前記第２の割当方式よりも優先度が高いことを特徴とする請求項３に記載の帯域制御装置。
【請求項６】
前記割当部は、前記未使用帯域および前記必要帯域のいずれの帯域にも帯域変化量が蓄積されている場合、前記未使用帯域に蓄積された帯域変化量の総和を、前記セッション群のうち前記必要帯域に帯域変化量を蓄積したセッションに割り当てることを特徴とする請求項１に記載の帯域制御装置。
【請求項７】
所定の周期で前記セッション群に割り当てる帯域を更新する更新部と、
前記割当部は、前記判定部によってしきい値を超えたと判定された場合、前記更新部における現在の周期中に割当を実行することを特徴とする請求項１に記載の帯域制御装置。
【請求項８】
帯域を制御して通信する帯域制御装置群を管理する帯域管理サーバであって、
前記帯域制御装置群に存在するセッション群の各々について上限帯域を含むセッション情報群を前記帯域制御装置群から収集して、記憶部に記憶する収集部と、
前記帯域制御装置群の中のいずれかの帯域制御装置から、前記いずれかの帯域制御装置に存在する第１のセッション情報を含む帯域更新要求を受信する受信部と、
前記受信部によって受信された帯域更新要求に含まれる前記第１のセッション情報と同一セッションである第２のセッション情報を前記記憶部から抽出し、両セッション情報に含まれる上限帯域を比較することにより、上限帯域の変化を検出する検出部と、
前記検出部によって上限帯域の変化が検出された場合、前記いずれかの帯域制御装置の送信先の帯域制御装置を特定し、前記送信先の帯域制御装置から前記いずれかの帯域制御装置への通信を規定する第３のセッション情報を前記記憶部から検索する検索部と、
前記検索部によって検索された第３のセッション情報により指定されるセッションの帯域変化量を特定する特定部と、
前記第３のセッション情報により指定されるセッションの状態変化に基づいて、前記特定部によって特定された帯域変化量を、セッションの使用帯域を減少させる第１の帯域変化量と前記使用帯域を増加させる第２の帯域変化量のいずれかに決定する決定部と、
前記決定部によって第１の帯域変化量に決定された場合、前記第３のセッション情報により指定されるセッションの帯域変化量を未使用帯域に蓄積し、前記決定部によって第２の帯域変化量に決定された場合、前記第３のセッション情報により指定されるセッションの帯域変化量を必要帯域に蓄積する蓄積部と、
前記未使用帯域および前記必要帯域のうち前記第３のセッション情報により指定されるセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する判定部と、
前記判定部によってしきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる割当部と、
前記割当部による割当結果を前記いずれかの帯域制御装置に送信する送信部と、
を有することを特徴とする帯域管理サーバ。
【請求項９】
前記セッション情報群内のあるセッション情報と前記あるセッション情報と送信元および送信先が逆である他のセッション情報とを特定し、前記あるセッション情報の上限帯域と前記他のセッション情報の上限帯域のうち小さい方の帯域を前記あるセッション情報および前記他のセッション情報により特定されるセッションの上限帯域に設定する設定部を有し、
前記検出部は、前記帯域更新要求に含まれる前記第１のセッション情報と同一セッションである前記設定部により設定済みの第２のセッション情報を前記記憶部から抽出し、両セッション情報に含まれる上限帯域を比較することにより、上限帯域の変化を検出することを特徴とする請求項８に記載の帯域管理サーバ。
【請求項１０】
前記割当部は、複数の割当方式のうち未試行で最も優先度が高い割当方式を用いて、前記帯域変化量の総和を割り当てることを特徴とする請求項８に記載の帯域管理サーバ。
【請求項１１】
前記複数の割当方式は、前記帯域制御装置に接続される端末群を分類するセグメント群のうち、前記いずれかのセッションを使用する端末と同一サービスでかつ同一セグメント内の端末群が使用するセッションを割当対象とする割当方式を含むことを特徴とする請求項１０に記載の帯域管理サーバ。
【請求項１２】
前記複数の割当方式は、前記帯域制御装置に接続される端末群を分類するセグメント群のうち、前記いずれかのセッションを使用する端末と同一サービスでかつ同一セグメント内の端末群が使用するセッションを割当対象とする第１の割当方式と、前記セグメント群のうち、前記いずれかのセッションを使用する端末と同一セグメント内の端末群が使用するセッションを割当対象とする第２の割当方式と、を含み、前記第１の割当方式が前記第２の割当方式よりも優先度が高いことを特徴とする請求項１０に記載の帯域管理サーバ。
【請求項１３】
前記割当部は、前記未使用帯域および前記必要帯域のいずれの帯域にも帯域変化量が蓄積されている場合、前記未使用帯域に蓄積された帯域変化量の総和を、前記セッション群のうち前記必要帯域に帯域変化量を蓄積したセッションに割り当てることを特徴とする請求項８に記載の帯域管理サーバ。
【請求項１４】
他の帯域制御装置と接続される帯域制御装置が実行する帯域制御方法であって、
前記帯域制御装置は、プログラムを実行するプロセッサと、前記プロセッサが実行するプログラムを格納するメモリと、前記他の帯域制御装置との間の通信を制御するインターフェースとを備え、
前記プロセッサは、
セッション群の中のいずれかのセッションの状態変化を検出する検出手順と、
前記検出手順によって状態変化が検出された前記いずれかのセッションの帯域変化量を特定する特定手順と、
前記いずれかのセッションの状態変化に基づいて、前記特定手順によって特定された帯域変化量を、前記セッション群の使用帯域を減少させる第１の帯域変化量と前記使用帯域を増加させる第２の帯域変化量のいずれかに決定する決定手順と、
前記決定手順によって第１の帯域変化量に決定された場合、前記いずれかのセッションの帯域変化量を未使用帯域に蓄積し、前記決定手順によって第２の帯域変化量に決定された場合、前記いずれかのセッションの帯域変化量を必要帯域に蓄積する蓄積手順と、
前記未使用帯域および前記必要帯域のうち前記いずれかのセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する判定手順と、
前記判定手順によってしきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる割当手順と、
を実行することを特徴とする帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帯域を制御する帯域制御装置、帯域管理サーバ、および帯域制御方法に関する。
【背景技術】
【０００２】
分散した拠点間を結ぶ広域網での通信に関して、遅延、パケット廃棄率の大きさ、およびこれらに起因する通信効率の低下が問題となっている。このような問題を解決する方法として、それぞれの拠点に広域網での通信を高速化する通信高速化装置を対向させる形で設置し、拠点間の高速通信を実現する技術が提案されている。
【０００３】
通信高速化装置には、キャッシュを備えることでファイルへのアクセス時間を短縮する方式が開発されている。また、ネットワークの基本プロトコルの一つであるＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ／ＩＰ）を高速化して、データ転送に要する時間を短縮する方式が開発されている。また、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）、Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ（ＣＩＦＳ）などの特定の通信プロトコルに特化した高速化処理を行う方式が開発されている。いずれの方式においても、高速化装置を複数の拠点に配置して拠点間通信を行う場合には、輻輳の回避や通信品質の保証などの帯域制御が課題となる。
【０００４】
帯域制御においては、セッションが互いに干渉しないように、最低帯域を保証するとともに、最低帯域を保証したあとに利用可能な剰余帯域を、各セッションに適切に割り当てる処理が必要となる。帯域の割り当てに際しては、セッションをアドレスやサービスに応じて分類し、セッション種別ごとに割り当てる帯域を決定する技術が提案されている。
【０００５】
セッション単位で帯域制御を行う際には、未使用の帯域を最小化し、帯域の利用効率を上げることが重要である。特許文献１では、優先、非優先の種別があるパケット転送装置において、優先データの量が閾値以下であるとき、非優先のパケットを優先扱いで送信する。また、特許文献２は、複数のセッションを扱う通信装置において、輻輳が発生して利用帯域が制限されたセッションが存在し、当該セッションに割り当てられた帯域が制限帯域を超過して未使用帯域が発生した場合に、未使用帯域を他のセッションに割り当てる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−３４９８１２号公報
【特許文献２】特開２０００−４９７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した従来技術では、未使用帯域が発生すると帯域の再調整処理が即時に実行されるが、このような処理を行うと、通信効率が却って低下する場合がある。例えば、ある通信高速化装置に多数のＨＴＴＰセッションが存在する場合について考えると、個々のＨＴＴＰセッションが消費する帯域は比較的小さくなる。ここで、２つのＨＴＴＰセッションがほぼ同時にデータ送信を終了したとすると、１つ目のＨＴＴＰセッションが終了した時点で通信高速化装置は当該ＨＴＴＰセッションが使用していた帯域を他のセッションに割り当てる。
【０００８】
通信高速化装置の総セッション数をＮ、当該ＨＴＴＰセッションに割り当てられていた帯域をＢとすると、単純に均等配分を行った場合、通信高速化装置の他のＨＴＴＰセッションが獲得する帯域はＢ／(Ｎ−１)となる。
【０００９】
例えば、帯域Ｂを１［Ｍｂｐｓ］、セッション数Ｎを１００とすると、１つのＨＴＴＰセッションが新たに獲得する帯域は１／９９≒１０［Ｋｂｐｓ］となる。２つ目のＨＴＴＰセッションが終了した時点でも同じ処理が実行されると、残りのセッションは、合計で１／９９＋１／９８、すなわち、約２０［Ｋｂｐｓ］の帯域が得られる。
【００１０】
通信高速化装置はその都度、帯域の再計算を行い、計算機資源を消費する。セッション数が増加すれば、個々のセッションに帯域を割り当てるための計算時間も増加するため、獲得した帯域よりも必要とした計算時間の方が高いコストになり通信効率を低下させる場合がある。
【００１１】
本発明は、通信効率の向上を図ることを目的とする。
【課題を解決するための手段】
【００１２】
本願において開示される発明の一側面となる帯域制御装置は、セッション群の中のいずれかのセッションの状態変化を検出する検出部と、前記検出部によって状態変化が検出された前記いずれかのセッションの帯域変化量を特定する特定部と、前記いずれかのセッションの状態変化に基づいて、前記特定部によって特定された帯域変化量を、前記セッション群の使用帯域を減少させる第１の帯域変化量と前記使用帯域を増加させる第２の帯域変化量とのいずれかに決定する決定部と、前記決定部によって第１の帯域変化量に決定された場合、前記いずれかのセッションの帯域変化量を未使用帯域に蓄積し、前記決定部によって第２の帯域変化量に決定された場合、前記いずれかのセッションの帯域変化量を必要帯域に蓄積する蓄積部と、前記未使用帯域および前記必要帯域のうち前記いずれかのセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する判定部と、前記判定部によってしきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる割当部と、を有する。
【発明の効果】
【００１３】
本発明の代表的な実施の形態によれば、通信効率の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態にかかる帯域割当の一例を示す説明図である。
【図２】本実施の形態にかかる帯域再割当処理の一例を示す説明図である。
【図３】実施例１にかかる帯域制御システムの構成例を示す説明図である。
【図４】帯域制御装置のハードウェア構成例を示すブロック図である。
【図５】装置基本情報ＤＢのデータ構造例を示す説明図である。
【図６】セグメント情報ＤＢのデータ構造例を示す説明図である。
【図７】通信品質情報ＤＢのデータ構造例を示す説明図である。
【図８】セッション情報ＤＢのデータ構造例を示す説明図である。
【図９】帯域再調整情報ＤＢのデータ構造例を示す説明図である。
【図１０】設定ファイルの一例を示す説明図である。
【図１１】設定用ユーザインタフェースの一例を示す説明図である。
【図１２】帯域制御システムにおける帯域再調整処理の基本的なシーケンス例を示すシーケンス図である。
【図１３】帯域制御システムにおける状態変化による帯域再調整処理のシーケンス例を示すシーケンス図である。
【図１４】帯域配分情報ＤＢの設定例（その１）を示す説明図である。
【図１５】帯域配分情報ＤＢの設定例（その２）を示す説明図である。
【図１６】帯域配分情報ＤＢの設定例（その３）を示す説明図である。
【図１７】新規セッション確立時の帯域再調整処理の説明図である。
【図１８】新規セッション確立時の帯域配分情報ＤＢの具体例（その１）を示す説明図である。
【図１９】新規セッション確立時の帯域配分情報ＤＢの具体例（その２）を示す説明図である。
【図２０】新規セッション確立時の帯域配分情報ＤＢの具体例（その３）を示す説明図である。
【図２１】帯域制御装置による帯域再調整処理の詳細な処理手順例を示すフローチャートである。
【図２２】ある帯域制御装置のセッション情報ＤＢの一例を示す説明図である。
【図２３】帯域制御装置の帯域更新処理の詳細な処理手順例を示すフローチャートである。
【図２４】帯域制御装置の帯域計算において用いられるセグメント情報ＤＢの一例を示す説明図である。
【図２５】帯域制御装置の帯域計算において用いられる通信品質情報ＤＢの一例を示す説明図である。
【図２６】帯域制御装置の帯域計算において用いられるセッション情報ＤＢの一例を示す説明図である。
【図２７】帯域制御装置の機能的構成例を示すブロック図である。
【図２８】実施例２にかかる帯域制御システムの構成例を示す説明図である。
【図２９】帯域管理サーバのハードウェア構成例を示すブロック図である。
【図３０】システム基本情報ＤＢのデータ構造例を示す説明図である。
【図３１】帯域制御装置情報ＤＢのデータ構造例を示す説明図である。
【図３２】セグメント情報ＤＢのデータ構造例を示す説明図である。
【図３３】通信品質情報ＤＢのデータ構造例を示す説明図である。
【図３４】セッション情報ＤＢのデータ構造例を示す説明図である。
【図３５】帯域再調整情報ＤＢのデータ構造例を示す説明図である。
【図３６】帯域管理サーバによる帯域制御装置の帯域制御のシーケンス例を示すシーケンス図である。
【図３７】セッション情報のメッセージフォーマット例を示す説明図である。
【図３８】帯域情報のメッセージフォーマット例を示す説明図である。
【図３９】装置基本情報ＤＢの他のデータ構造例を示す説明図である。
【図４０】上限帯域の算出処理手順例を示すフローチャートである。
【図４１】セッションの対応例を示す説明図である。
【図４２】帯域管理サーバおよび帯域制御装置による帯域再調整処理を示すシーケンス図（その１）である。
【図４３】帯域更新要求のメッセージフォーマット例を示す説明図である。
【図４４】帯域管理サーバおよび帯域制御装置による帯域再調整処理を示すシーケンス図（その２）である。
【図４５】帯域管理サーバおよび帯域制御装置による帯域再調整処理を示すシーケンス図（その３）である。
【図４６】帯域管理サーバおよび帯域制御装置による帯域再調整処理を示すシーケンス図（その４）である。
【図４７】帯域不更新通知のメッセージフォーマット例を示す説明図である。
【図４８】帯域管理サーバにおける帯域調整処理の詳細な処理手順例を示すフローチャートである。
【図４９】図４８のステップＦ３−１６に示した帯域変化量の計算方法の詳細な処理手順例を示すフローチャートである。
【図５０】帯域管理サーバによるシステムの定期的な帯域更新処理の詳細な処理手順例を示すフローチャートである。
【図５１】帯域管理サーバの機能的構成例を示すブロック図である。
【発明を実施するための形態】
【００１５】
図１は、本実施の形態にかかる帯域割当の一例を示す説明図である。図１において、２つの拠点Ａ、Ｂのそれぞれに帯域制御装置１０１、１０２が設置され、ネットワーク１００を介して帯域制御装置間で帯域調整処理が実行される。ここでは、帯域制御装置１０１を送信側とし、帯域制御装置を受信側とする。また、帯域制御装置１０１の送信帯域を１００［Ｍｂｐｓ］とし、帯域制御装置の受信帯域を１００［Ｍｂｐｓ］とする。
【００１６】
また、帯域制御装置１０１が設置される拠点Ａは、２つセグメントＡ１、Ａ２に分割される。たとえば、セグメントＡが開発部門であり、セグメントＢが管理部門であるとする。各セグメントＡ１、Ａ２には、１台以上の端末１１１、１１２が設置される。また、帯域制御装置１０２が設定される拠点Ｂには、サーバが設置される。これにより、端末１１１、１１２とサーバ１２０との間で、ＨＴＴＰ、ＦＴＰの２つの異なるサービスによる通信が行われる。
【００１７】
帯域調整処理では、帯域制御装置１０１、１０２の１００［Ｍｂｐｓ］の帯域の使用帯域を増加させることにより、実質的に通信の高速化を図る。たとえば、１００［Ｍｂｐｓ］のうち、その３０％しか割り当てられていない場合、９０％にまで帯域を割り当てることになる。
【００１８】
この状況下で、帯域制御装置１０１は、セッションの属するセグメントやサービスに応じて、自装置の帯域を傾斜配分する。なお、図１の例では、セグメントＡ１に割り当てられる帯域はセグメントＡ２に割り当てられる帯域よりも大きく、各セグメントＡ１、Ａ２において、ＨＴＴＰセッションに割り当てられる帯域はＦＴＰセッションに割り当てられる帯域よりも大きいものとする。
【００１９】
図２は、本実施の形態にかかる帯域再調整処理の一例を示す説明図である。図２において、セグメントＡ１には、多数のＨＴＴＰセッションが存在し、各ＨＴＴＰセッションが生じする帯域は比較的小さいものとする。帯域制御装置１０１は、セグメントＡ１、Ａ２間、または同一セグメント内の端末間の帯域の取り合いを所定の周期で調整する。
【００２０】
帯域制御装置１０１が、セッションが終了すると、当該終了したセッションの使用帯域を他のセッションに割り当てる。この場合、終了するセッションが増加すると、帯域制御装置１０１は、その都度帯域再割当の計算を実行するが、本実施の形態では、終了したセッションの帯域が小さければ、その都度再割当の計算をするのではなく、ある程度の帯域が溜まってから帯域の再割当を実行する。これにより、帯域制御装置の計算負荷の低減化を図ることにより、通信効率の向上を図る。
【００２１】
また、剰余帯域があったとしても、割当先のセッションの数が多い場合、再割当の計算時間がかるため、割当対象となり得るセッションを事前に定義しておくことで、割当先のセッションを絞り込み、再割当の計算時間の短縮化を図る。また、計算時間がかかっても優先的に割り当てるべきセッションがある場合には、当該セッションを優先的に割り当てることにより、再割当の自由度の向上を図る。以下、本実施の形態の実施例１および実施例２について説明する。
【００２２】
（実施例１）
＜帯域制御システムの構成例＞
図３は、実施例１にかかる帯域制御システムの構成例を示す説明図である。帯域制御システム３００は、各拠点５−１〜５−Ｎ（Ｎは２以上の整数）に設置され、拠点５−１〜５−Ｎ間の通信を高速化する帯域制御装置２−１〜２−Ｎと、帯域制御装置２−１〜２−Ｎを通じて互いに通信を行う端末／サーバ（以下、「端末」と略する）３と、により構成される。帯域制御装置２−１〜２−Ｎは、ネットワーク４を通じて互いに接続される。拠点はセグメントに分割される場合がある。例えば、拠点５−１にはセグメント６−１およびセグメント６−２の２つのセグメントが存在する。帯域制御装置２−１〜２−Ｎは、与えられた帯域の範囲内で通信を高速化するための帯域制御機能を備える。なお、帯域制御装置２−１〜２−Ｎの中のいずれかの帯域制御装置を、「帯域制御装置２」と表記し、拠点５−１〜５−Ｎの中のいずれかの拠点を「拠点５」と表記する。
【００２３】
＜帯域制御装置２のハードウェア構成例＞
図４は、帯域制御装置２のハードウェア構成例を示すブロック図である。帯域制御装置２は、バス２８に接続された制御部（ＣＰＵ）２２、メモリなどの内部記憶装置２６、ハードディスクなどの外部記憶装置２４、第１のネットワークインターフェース２０−１、および第２のネットワークインターフェース２０−２を有する。帯域制御装置２は、第１のネットワークインターフェース２０−１を経由してネットワーク４と通信を行う。また、帯域制御装置２は、第２のネットワークインターフェース２０−２を経由して、同一拠点内の端末３と通信を行う。
【００２４】
内部記憶装置２６には、拠点５間の通信を高速化する帯域制御プログラム２６１が格納される。また、内部記憶装置２６には、装置基本情報データベース（ＤＢ）２６３、セグメント情報ＤＢ２６４、通信品質情報ＤＢ２６５、セッション情報ＤＢ２６７、および帯域再調整情報ＤＢ２６９が格納される。
【００２５】
装置基本情報ＤＢ２６３は、帯域制御装置２の基本的な情報を管理するデータベース（図５）である。セグメント情報ＤＢ２６４は、セグメントに関する情報を管理するデータベース（図６）である。通信品質情報ＤＢ２６５は、帯域制御装置２における通信品質に関する情報を管理するデータベース（図７）である。セッション情報ＤＢ２６７は、帯域制御装置２間のセッションに関する情報を管理するデータベース（図８）である。帯域再調整情報ＤＢ２６９は、通信帯域の再調整方法に関する情報を管理するデータベース（図９）である。
【００２６】
装置基本情報ＤＢ２６３、セグメント情報ＤＢ２６４、通信品質情報ＤＢ２６５、セッション情報ＤＢ２６７、および帯域再調整情報ＤＢ２６９の各データベースは、帯域制御システム３００の規模や処理性能に応じて、外部記憶装置２４に格納してもよい。これらのデータベースは内部記憶装置２６にインストールされている帯域制御プログラム２６１によって読み書きが行われる。制御部（ＣＰＵ）２２が内部記憶装置２６に保存された帯域制御プログラム２６１にアクセスすることで、帯域制御機能を有することになる。
【００２７】
＜帯域制御装置２の内部記憶装置２６に存在する各種のデータベースの構造＞
図５は、装置基本情報ＤＢ２６３のデータ構造例を示す説明図である。装置基本情報ＤＢ２６３は、装置識別子、装置アドレス、装置帯域、帯域変化閾値、装置剰余帯域、装置必要帯域、帯域更新周期、帯域増減フラグ、帯域計算時刻、次回帯域更新時刻、帯域即時調整時間閾値、および帯域即時調整セッション数を要素として含む。帯域制御装置２は、自装置２の基本的な情報を装置基本情報ＤＢ２６３により管理する。
【００２８】
装置識別子とは、帯域制御装置２を一意に特定する識別情報である。装置アドレスとは、帯域制御装置２を指定するアドレスである。装置帯域とは、その帯域制御装置２が所属する拠点の通信帯域（たとえば、１００［Ｍｂｐｓ］）である。帯域変化閾値とは、帯域再調整処理の実行要否を判定するための閾値である。たとえば、帯域変化量の総和が帯域変化閾値を超えた場合、帯域再調整処理が実行される。このように、帯域変化量が帯域変化閾値を超えるまでは、帯域再調整処理が実行されないため、帯域再割当の計算負荷がかからない。
【００２９】
装置剰余帯域とは、帯域制御装置２内で使用されずに余っている帯域である。装置必要帯域とは、帯域制御装置２内で新規セッションの確立時に当該セッションが必要とする帯域である。帯域更新周期とは、帯域制御装置２が帯域更新処理を実行する周期である。帯域更新処理とは、帯域更新周期で帯域制御装置２が各セッションの帯域を見直すために更新する処理である。帯域更新処理の詳細については後述する。帯域増減フラグとは、次の帯域更新処理までにセッションの確立、切断、状態変化などにより帯域の増減が発生したかどうかを表すフラグである。
【００３０】
帯域計算時刻とは、帯域更新周期の途中に帯域計算を行う時刻である。次回帯域更新時刻とは、次の帯域計算時刻である。帯域即時調整時間閾値とは、帯域再調整処理を即時実行するか否かを判定するための時間閾値である。即時実行の場合、現在の帯域更新周期中に帯域再調整処理が実行される。帯域即時調整セッション数とは、セッション数の閾値である。
【００３１】
図６は、セグメント情報ＤＢ２６４のデータ構造例を示す説明図である。セグメント情報ＤＢ２６４は、セグメント識別子、セグメント開始アドレス、セグメント終了アドレス、およびセグメント帯域を要素として含む。帯域制御装置は、自装置が所属するセグメントをセグメント情報ＤＢ２６４により管理する。
【００３２】
セグメント識別子とは、その帯域制御装置２が所属するセグメントを一意に特定する識別情報である。たとえば、帯域制御装置２−１の場合、セグメント６−１、６−２のセグメント識別子となる。セグメント開始アドレスおよびセグメント終了アドレスとは、セグメントの範囲を特定するアドレスである。たとえば、帯域制御装置２は、当該範囲内のアドレスをもつセッションを、セグメントに属するセッションとして取り扱う。
【００３３】
セグメント帯域とは、セグメントに割り当てる帯域を計算する際に用いる情報であり、セグメントに割り当てる帯域の絶対値または図５の装置帯域に占めるセグメント帯域の割合で設定される。１つの帯域制御装置において、すべてのセグメントのセグメント帯域の和は装置帯域以下である必要がある。
【００３４】
図７は、通信品質情報ＤＢ２６５のデータ構造例を示す説明図である。通信品質情報ＤＢ２６５は、サービス識別子、セグメント識別子、ＴＣＰ／ＩＰのポート番号、サービス帯域を要素として含む。帯域制御装置は、セッションが利用されるサービスの通信品質を通信品質情報ＤＢ２６５により管理する。
【００３５】
サービス識別子とは、セッションのサービス種別を一意に特定する識別情報である。セグメント識別子とは、サービス識別子で特定されるサービスに関連付けられたセグメントを一意に特定する識別情報である。ＴＣＰ／ＩＰのポート番号とは、サービス識別子で特定されるサービスに関するセッションに利用されるポート番号である。サービス帯域とは、サービスに割り当てる帯域を計算する際に用いる情報で、サービスに割り当てる帯域の絶対値、またはセグメント帯域に占めるサービス帯域の割合で設定される。
【００３６】
セグメント識別子が未設定の場合は、帯域制御装置２がサービスの対象となる。サービスの適用対象となる１つのセグメントにおいて、すべてのサービスのサービス帯域の和はセグメント帯域以下である必要がある。
【００３７】
図８は、セッション情報ＤＢ２６７のデータ構造例を示す説明図である。セッション情報ＤＢ２６７は、セッション識別子、送信元アドレス、宛先アドレス、通信種別、送信元ポート番号、宛先ポート番号、バッファ内データ量、上限帯域、通信状態、および帯域再調整フラグを要素として含む。帯域制御装置は、帯域制御装置間のセッションをセッション情報ＤＢ２６７により管理する。
【００３８】
セッション識別子は、管理対象となるセッションを一意に特定する識別子である。送信元アドレスとは、管理対象となるセッションの送信元の帯域制御装置２のアドレスである。宛先アドレスとは、管理対象となるセッションの宛先の帯域制御装置２のアドレスである。通信種別とは、管理対象となるセッションにおいて帯域制御装置２が送信元であるか宛先であるかという通信種別を示す識別情報である。
【００３９】
送信元ポート番号とは、管理対象となるセッションの送信元の帯域制御装置２が使用するポート番号である。宛先ポート番号とは、管理対象となるセッションの宛先の帯域制御装置２が使用するポート番号である。バッファ内データ量とは、セッションに関連したバッファに蓄積されたデータの量である。上限帯域とは、管理対象となるセッションの帯域の上限値である。
【００４０】
通信状態とは、管理対象となるセッションの状態を特定する情報であり、たとえば、正常通信、輻輳発生中、データ再送中の３つの状態を取りうる。帯域再調整フラグとは、管理対象となるセッションが帯域再調整の対象であるか否かを示すフラグである。
【００４１】
図９は、帯域再調整情報ＤＢ２６９のデータ構造例を示す説明図である。帯域再調整情報ＤＢ２６９は、帯域再調整方法識別子、適用種別、帯域再調整方式、優先度、帯域計算時間を要素として含む。帯域制御装置２は、帯域の再調整方法を帯域再調整情報ＤＢ２６９により管理する。
【００４２】
帯域再調整方法識別子とは、帯域制御装置２による帯域再調整方法を一意に特定する識別情報である。適用種別とは、帯域再調整の適用方法を示す情報である。適用種別は、帯域制御装置が使用する帯域が増加した場合および減少した場合において、適用する帯域再調整方式を選択するために用いられる。帯域再調整方式とは、適用される帯域再調整方法の具体的な帯域再調整アルゴリズムを示す情報である。優先度とは、適用される帯域再調整方法の順序を制御する情報である。帯域計算時間とは、帯域再調整に要する計算時間である。
【００４３】
＜設定ファイル＞
帯域制御装置２における帯域制御および帯域の再調整処理に必要な各種のパラメータは、設定ファイルまたは設定用ユーザインタフェースなどの手段により帯域制御装置２に登録される。
【００４４】
図１０は、設定ファイルの一例を示す説明図であり、図１１は、設定用ユーザインタフェースの一例を示す説明図である。設定ファイル２０００および設定用ユーザインタフェース２００１は、事前に設定が可能な項目に対してのみ設定する機能を提供する。例えば、装置基本情報ＤＢ２６３を例にとると、装置帯域、帯域変化閾値などは事前に設定が可能であるが、装置剰余帯域、装置必要帯域は実際の通信状態および時刻に応じて動的に変化するため、設定ファイル２０００および設定用ユーザインタフェース２００１はこのような項目に対する設定機能は提供されない。設定ファイル２０００および設定用ユーザインタフェース２００１の各設定項目は、図５〜図９の各データベースの同名の項目に対応する。
【００４５】
＜帯域制御システム３００の全体動作＞
つぎに、シーケンス図を参照しながら実施例１にかかる帯域制御システム３００の全体の動作について説明する。
【００４６】
図１２は、帯域制御システム３００における帯域再調整処理の基本的なシーケンス例を示すシーケンス図である。帯域制御装置２−２において何らかの変化が発生し、未使用の帯域や新規に必要な帯域が発生した場合、帯域の再調整処理が実行される。典型的な例として、帯域制御装置２−１を経由して外部との通信を行っている端末３−１が、データの送信を完了した場合（ステップＳ１−０１）について説明する。
【００４７】
データの送信を完了した端末３−１は、セッションの切断を行うために、セッション切断通知を、対向して通信を行っているサーバ３−２に送信する（ステップＳ１−０４）。この処理は、例えばＴＣＰ通信のＦＩＮパケットを送信することで行われる。セッション切断通知は帯域制御装置２−１を経由して送信されるため、帯域制御装置２−１は自身が帯域再調整処理を行っているセッション数が減少したことを検出する（ステップＳ１−０７）。
【００４８】
当該セッションにはセッション情報ＤＢ２６７の上限帯域で指定された帯域が割り当てられているが、送信すべきデータがない状態においては、このセッションに割り当てられた帯域は未使用となる。そこで、帯域制御装置２−１は、帯域再調整情報ＤＢを参照して帯域変化量を算出し（ステップＳ１−１０）、帯域変化量と装置基本情報ＤＢ２６３の帯域変化閾値を比較する。
【００４９】
帯域変化量が帯域変化閾値以上であれば（ステップＳ１−１３）、帯域再調整が必要と判断し、帯域再調整情報ＤＢ２６９の設定項目に従って帯域を再調整するセッションを決定し、帯域再計算を即時実行する（ステップＳ１−１６）。帯域制御装置２−１は、装置基本情報ＤＢ２６３の帯域更新周期で示される周期でセッションのセッション数および状態変化をチェックし、必要に応じて帯域制御装置２−１全体のセッションに対して帯域計算を行い、セッションごとに上限帯域を割り当てる。
【００５０】
ただし、図１２に示すように、セッションの切断によって発生した帯域変化量が閾値を超える場合には、次の帯域更新時刻を待たずに、帯域制御装置２−１は、即時に帯域の再調整処理を行う。これにより、帯域が未使用となる時間を短縮し、帯域の利用効率の向上を図ることができる。
【００５１】
通信帯域の変化は、セッション切断以外の要因で発生する場合がある。帯域制御装置２−１は、セッションごとに定めた上限帯域の範囲内で、データ送信レートを最大化することで帯域再調整処理を行う。通信レート制御の最大化は、ネットワークおよびセッションの状態が正常な時にのみ適用され、何らかの異常が発生した場合には、通信レートを下げる必要がある。
【００５２】
例えばネットワークにおいて輻輳が発生した場合には、正常時と同じ通信レートでデータを送信すると輻輳を悪化させるため、送信レートを下げる必要がある。パケットの廃棄を検出してデータの再送処理を行っている場合も同様に、正常時よりも低い送信レートでデータ送信処理を行い、状態が回復した後に送信レートを元に戻す必要がある。
【００５３】
図１３は、帯域制御システム３００における状態変化による帯域再調整処理のシーケンス例を示すシーケンス図である。セッション状態変化（ステップＳ２−０１）により、帯域制御装置２−１がネットワークの輻輳を検出する（ステップＳ２−０４）と、帯域再調整情報ＤＢを参照して帯域変化量を算出する（ステップＳ２−０７）。帯域変化量が帯域変化閾値以上であれば（ステップＳ２−１０）、帯域再調整が必要と判断し、帯域再調整情報ＤＢ２６９の設定項目に従って帯域を再調整するセッションを決定し、帯域再計算を即時実行する（ステップＳ２−１３）。
【００５４】
帯域再調整の対象となるセッションは、帯域制御装置２−１の帯域再調整情報ＤＢ２６９によって決定される。最も単純な帯域の再調整方法として、発生した未使用帯域を、帯域制御装置２−１のすべてのセッションに等配分するという方法が考えられるが、帯域制御装置２−１全体を帯域再調整の対象とすると、帯域再調整処理にかかる計算時間が大きくなる。計算時間が長くなると、帯域の利用効率を低下させるため、帯域再調整の際には、計算時間が短く、かつ帯域を有効に利用できる方法を選択することが望ましい。このため、帯域の再調整方法としては、以下に示す複数の方式がある。
【００５５】
（方式１）帯域制御装置２の他のすべてのセッション
（方式２）同一セグメントに属する他のすべてのセッション
（方式３）同一セグメントの同一サービスに属する他のすべてのセッション
（方式４）優先度の高いセグメントに属するすべてのセッション
（方式５）優先度の高いセグメントの優先度の高いサービスに属するすべてのセッション
（方式６）帯域制御装置２内で最もバッファ内データの多いセッション
（方式７）ランダムに選択した任意の１セッション
【００５６】
方式１〜方式５は、与えられた範囲の中でセッションを公平に配分することを目的とした方式である。方式１は前述の通り最も簡単に実行できる方式であるが、セッション数が多くなると、個々のセッションに配分される帯域が小さくなるという欠点がある。方式２や方式３のように、帯域を再配分する対象を絞り込むことで、帯域再調整に要する計算時間を減少させると共に、セッションあたりの再配分帯域を増加させることができる。
【００５７】
方式４および方式５は、帯域変化の原因となったセッションとは別のセグメント、または別のサービスに帯域を再配分する方式である。このような方式は、帯域制御システム３００内で比較的多くの帯域を必要とするセグメント、あるいはサービスが事前に判明しており、これらのセッションに優先的に帯域を配分したい場合に有効である。
【００５８】
方式６および方式７は、再配分帯域を複数のセッションで分割するのではなく、なんらかの判断基準に従って抽出した１つのセッションに割り当てる方式である。方式６および方式７は公平性を確保することはできないが、帯域割当に要する計算時間が短く、即座に帯域再調整の効果が期待できる。
【００５９】
システム運用においては場合に応じてこれらの帯域再調整方式を組み合わせて適用できることが望ましい。そこで、帯域制御装置２は、帯域配分情報ＤＢ２６９において、複数の帯域再調整方式を登録し、これらを優先度に基づいて順次適用する。
【００６０】
図１４〜図１６は、帯域配分情報ＤＢ２６９の設定例を示す説明図である。図１４では３つの帯域再調整方式が登録されており、優先度の高いものから順に適用される。ある帯域再調整方式が適用できない状態の場合、あるいは適用は可能だが発生する再配分帯域が閾値を超えない場合は、次に優先度の高い帯域再調整方式が適用される。また、図１５のように、帯域再調整方式を１つだけ登録することも可能である。
【００６１】
図１６は、優先度に「時間閾値」、および「セッション数閾値」という２つの特別な値を設定した帯域再調整方式を登録した例を示す。これらの優先度は、帯域再調整実行の判定を簡略化するために用いられる。「時間閾値」は、未使用帯域が長時間未使用になることを避けるための設定値である。帯域再調整判定処理において、発生した未使用帯域が装置基本情報ＤＢ２６３の帯域変化閾値以下の場合には、帯域再調整処理は実行されない。このような状況において、帯域再調整判定処理を実行した時刻から装置基本情報ＤＢ２６３の帯域即時調整時間閾値で示される時間が経過した時に、優先度が「時間閾値」である帯域再調整方式が実行される。
【００６２】
また、優先度の１つである「セッション数閾値」は、セッション数のみを判断基準に用いる帯域再調整方式であり、帯域変化の発生した時点でのセッション数が、装置基本情報ＤＢ２６３の帯域即時調整セッション数で示されるセッション数以下の場合に、発生した帯域変化量の大小に関係なく実行される帯域再調整方式を示す。
【００６３】
これらの２つの優先度に対応した帯域再調整方式は、他の優先度に先駆けて実行されるが、設定は任意であり、図１４および図１５のように、これらの優先度を指定しないで帯域制御装置２を稼動させてもよい。図１４〜図１６に示す帯域再調整情報ＤＢ２６９の適用種別は「帯域減少時」とする。これは、これらの帯域再調整方式が、セッション数の減少、または通信状態の変化により未使用帯域が増加して、帯域制御装置が現在使用している帯域が減少したときに適用が検討される方式であることを示している。また、帯域の変化は、セッション切断時のほか、新規セッションが確立された場合にも発生する。
【００６４】
図１７は、新規セッション確立時の帯域再調整処理の説明図である。端末３−１がデータ送信を開始するために、新規セッション確立をサーバ３−２へ送信し（ステップＳ３−０１）、セッションが確立したらデータ送信を開始する（ステップＳ３−０４）。セッションの確立処理は、例えばＴＣＰ通信のＳＹＮパケット送信などで実現される。新規セッションが発生すると、帯域制御装置はセッション数が増加したことを検出し（ステップＳ３−０７）、新規セッションが属するセグメント、サービスおよび帯域再調整情報ＤＢから、新規セッションに割り当てるべき帯域を算出する（ステップＳ３−１０）。
【００６５】
次に、算出した帯域を帯域変化量とみなして、帯域制御装置２−１は、装置基本情報ＤＢ２６３の帯域変化閾値と比較する。帯域変化量が帯域変化閾値以上であれば（ステップＳ３−１３）、帯域制御装置２−１は、帯域再調整情報ＤＢ（２６９）を参照し、帯域調整の対象となるセッションを決定して帯域再計算を即時実行する（ステップＳ３−１６）。
【００６６】
帯域の再計算は、セッション切断時と同様に、帯域再調整情報ＤＢ２６９を参照して帯域再計算の対象となるセッションを決定し、対象のセッションから必要な帯域を削減することで実行される。その際、複数の帯域再調整方式のうち、優先度の高い帯域再調整方式から順次試行される。
【００６７】
図１８〜図２０は、新規セッション確立時の帯域配分情報ＤＢ２６９の具体例を示す説明図である。新規セッション確立の際には、新規セッション用の帯域が新たに必要になるため、適用種別の欄が「帯域増加時」の帯域再調整方式が適用される。また、セッション切断時と同様に、優先度には「時間閾値」、および「セッション数閾値」の２つの項目を設定可能とする。なお、帯域が増加する事象としては、新規セッション確立のほか、セッション状態の変化が挙げられる。セッション状態変化の例としては、ネットワークの輻輳が解消して、あるセッションの状態が輻輳から正常に復帰する場合や、データ再送処理が完了してセッション状態が正常に戻る場合が考えられる。
【００６８】
＜帯域再調整処理＞
図２１は、帯域制御装置２による帯域再調整処理の詳細な処理手順例を示すフローチャートである。まず、図１２のステップＳ１−０４、図１３のステップＳ２−０１や図１７のステップＳ３−０１に示されるように、セッション数の増減、またはセッション状態の変化によって、未使用帯域の発生または新規セッションへの帯域割当などの事象が発生した際に帯域制御処理が開始する（ステップＦ１−０１）。
【００６９】
帯域制御装置２は、帯域制御処理を開始すると、変化の発生したセッションの帯域変化量を抽出し、セッション情報ＤＢ２６７の帯域再調整フラグを設定する（ステップＦ１−０４）。セッションの切断時であれば、帯域変化量はセッション情報ＤＢ２６７の当該セッションに割り当てられた上限帯域に等しくなる。セッション状態の変化による帯域変化の場合は、状態変化によってもたらされた通信レートの変化が帯域変化量を表す。例えば、輻輳発生時には送信レートを上限帯域の２０％に制限する場合、帯域変化量は上限帯域の８０％となる。
【００７０】
新規セッション確立の場合には、帯域制御装置２は、ＩＰアドレス、ＴＣＰポート番号を用いて当該セッションが属するべきセグメントとサービスを抽出する。そして、帯域制御装置２は、当該セッションに割り当てられるべき帯域を、装置基本情報ＤＢ２６３の装置帯域、セグメント情報ＤＢ２６４のセグメント帯域、通信品質情報ＤＢ２６５のサービス帯域、およびセッション数から算出して帯域変化量とする。
【００７１】
次に、帯域制御装置２は、帯域再調整フラグの設定されたセッションの数と、装置基本情報ＤＢ２６３の帯域即時調整セッション数とを比較する（ステップＦ１−０７）。帯域再調整フラグの設定されたセッションの数が帯域即時調整セッション数より小さい場合（ステップＦ１−０７：Ｙｅｓ）、帯域制御装置２は、帯域再調整情報ＤＢ２６９の優先度が「セッション数閾値」である帯域再調整方式に従って帯域の再調整処理を実行する（ステップＦ１−４０）。
【００７２】
Ｆ１−０７の処理は、優先度が「セッション数閾値」の帯域再調整方式が設定されている時にのみ実行される。セッション数が閾値以上の場合（ステップＦ１−０７：Ｎｏ）、帯域制御装置２は、帯域再調整情報ＤＢ２６９の中から未試行で最も優先度の高い帯域再調整方式を選択し、装置基本情報ＤＢ２６３の帯域計算時刻に現在時刻を記録する（ステップＦ１−１０）。
【００７３】
この後、帯域制御装置２は、選択した帯域再調整方式が適用可能か否か判定する（ステップＦ１−１３）。例えば、帯域再調整方式に「同一セグメントの同一サービスに属する他のすべてのセッション」が指定されているものとする。ここで、セッションが終了し、かつ当該セッションがセグメントおよびサービスで唯一のセッションである場合、帯域を再配分すべき他のセッションは存在しない。このように、選択した帯域再調整方式が適用不可能な場合（ステップＦ１−１３：Ｎｏ）、ステップＦ１−１０に戻り、別の帯域再調整方式を選択する。
【００７４】
帯域再調整方式が適用可能な場合（ステップＦ１−１３：Ｙｅｓ）、帯域制御装置２は、装置基本情報ＤＢ２６３の次回帯域更新時刻、帯域計算時刻と、選択した帯域再調整方式の帯域計算時間、算出した帯域変化量を用いて、再配分帯域を計算する（ステップＦ１−１６）。
【００７５】
再配分帯域の計算（ステップＦ１−１６）は以下の手順で行われる。帯域制御装置２は、最初に、次回帯域更新時刻から帯域計算時刻を減算して、次回帯域更新までの残り時間を計算する。次に、帯域制御装置２は、残り時間からさらに帯域再調整方式の計算時間を減算することにより、帯域再調整を行ったあとの通信時間を算出する。帯域制御装置２は、当該通信時間と帯域変化量とを乗算することで、実際に使用可能な通信帯域を算出する。
【００７６】
実際に使用可能な通信帯域を計算した後、帯域制御装置２は、発生した帯域変化が帯域制御装置２の使用帯域を減少させるものか、増加させるものかを判定する（ステップＦ１−１９）。例えば、セッション切断処理が行われる場合は、当該セッションに割り当てられていた帯域は未使用となるため、帯域制御装置２の使用帯域は減少する。このような場合（ステップＦ１−１９：Ｙｅｓ）、帯域制御装置２は、ステップＦ１−１６で計算した通信帯域を、装置基本情報ＤＢ２６３の装置剰余帯域に加算する（ステップＦ１−２２）。
【００７７】
発生した帯域変化が帯域制御装置２の使用帯域を増加させるものである場合（ステップＦ１−１９：Ｎｏ）、セッション増加による新規セッションへの帯域割当など、新規に必要な帯域を準備するため、ステップＦ１−１６で計算した通信帯域を、装置基本情報ＤＢ２６３の装置必要帯域に加算する（ステップＦ１−４３）。
【００７８】
装置剰余帯域は、現在未使用の帯域を表し、装置必要帯域は今後必要になる帯域を表す。装置剰余帯域または装置必要帯域の更新を終えると、帯域制御装置２は装置剰余帯域と装置必要帯域のいずれかが０かどうか判定する（ステップＦ１−２５）。装置剰余帯域と装置必要帯域のいずれも０でない場合（ステップＦ１−２５：Ｎｏ）、装置剰余帯域および装置必要帯域が相互に融通できることを意味するため、帯域再調整フラグの設定されたセッション間で帯域を配分する（ステップＦ１−４６）。帯域の配分方法としては、例えば、装置剰余帯域を、帯域を必要としている新規セッションに等分配する方法がある。
【００７９】
ステップＦ１−２５において、装置剰余帯域または装置必要帯域のいずれかが０の場合（ステップＦ１−２５：Ｙｅｓ）、帯域制御装置２は、ステップＦ１−２２またはステップＦ１−４３で計算した帯域変化量の総和、即ち装置剰余帯域の総和または装置必要帯域の総和が、装置基本情報ＤＢ２６３の帯域変化閾値以下かどうか判定する（ステップＦ１−２８）。
【００８０】
帯域変化量の総和が帯域変化閾値を超える場合（ステップＦ１−２８：Ｎｏ）、帯域制御装置２は、選択した帯域再調整方式に従って帯域の再調整処理を実行し（ステップＦ１−４９）、その後必要に応じて選択した帯域配分方式の帯域計算時間を更新する（ステップＦ１−５２）。再調整処理（ステップＦ１−４９）の詳細については図２２で後述する。
【００８１】
再調整処理（ステップＦ１−４９）のあと、帯域制御装置２は、計算時間に変動がある場合に帯域計算時間の更新を実行する（ステップＦ１−５２）。例えば、装置剰余帯域をセグメント内のセッションに分配する場合は、セグメント内のセッション数が帯域計算時間に影響を及ぼすと考えられる。このような場合には、帯域の再調整を行うたびに帯域計算時間も更新することにより、帯域計算の精度の向上を図る。これにより、帯域制御処理が終了する。
【００８２】
一方、ステップＦ１−２８において、帯域変化量の総和が帯域変化閾値以下である場合（ステップＦ１−２８：Ｙｅｓ）、帯域制御装置２は、未試行の帯域細分方式があるかどうかを判定する（ステップＦ１−３１）。未試行の帯域再調整方式が存在する場合（ステップＦ１−３１：Ｎｏ）、ステップＦ１−１０へ戻り、別の帯域再調整方式の適用を試みる。すべての帯域再調整方式をすでに試した場合（ステップＦ１−３１：Ｙｅｓ）、装置基本情報ＤＢ（２６３）の帯域増減フラグを設定する（ステップＦ１−３４）。これにより、帯域制御処理が終了する（ステップＦ１−３７）。
【００８３】
＜再調整処理（Ｆ１−４９）＞
つぎに、図２１に示した再調整処理（Ｆ１−４９）の詳細について説明する。
【００８４】
図２２は、ある帯域制御装置２のセッション情報ＤＢ２６７の一例を示す説明図である。セッション情報ＤＢ２６７の中で、処理に関係ない項目は記載を省略する。（Ａ）において、帯域制御装置２は、一例として、宛先アドレスが「１０．０．２．１０」である６つのセッションを処理しているものとする。セッションの宛先ポート番号はいずれも「１００００」で、同一のサービスに属しており、通信品質情報ＤＢ２６５によって当該サービスのサービス帯域は１００［Ｍｂｐｓ］に設定されているものとする。
【００８５】
１００［Ｍｂｐｓ］の帯域は、６つのセッションに対して１６．６［Ｍｂｐｓ］ずつ均等に割り当てられているが、ここでセッション１が切断処理を開始し、セッション１に割り当てられていた帯域が未使用になったとする。帯域制御装置２は、未使用となった帯域１６．６［Ｍｂｐｓ］、装置基本情報ＤＢ２６３の帯域計算時刻と次回帯域更新時刻、および帯域再調整情報ＤＢ２６９で指定された帯域再調整方式の帯域計算時間を用いて、実際に利用可能な帯域変化量を計算する。
【００８６】
その結果、帯域変化量が１０［Ｍｂｐｓ］であったとする。帯域制御装置２は、算出した帯域変化量と装置基本情報ＤＢ２６３の帯域変化閾値とを比較する。帯域変化閾値が５［Ｍｂｐｓ］に設定されていたとすると、発生した未使用帯域は帯域変化閾値を上回るため、帯域制御装置２は、指定された帯域再調整方式に従って、調整対象のセッションに帯域を割り当てる。
【００８７】
ここで、帯域再調整方式が図１２のＢＷ−１「同一セグメントの同一サービスのセッションの帯域を調整」に指定されていたとすると、帯域変化量１０［Ｍｂｐｓ］は、残りのセッション２〜６に均等に配分される。その結果、セッション２〜６の上限帯域は、１６．６［Ｍｂｐｓ］から１８．６［Ｍｂｐｓ］に増加する。帯域変化はセッション数が増加した場合にも発生する。
【００８８】
（Ｂ）において、帯域制御装置２には宛先アドレスが「１０．０．２．１０」の受信セッションが５つ存在し、それぞれのセッションは宛先ポート番号が「１００００」で同一であり、同じサービスに属しているものとする。ここで、同一サービスに対して新規にセッション６が増加し、セッション確立処理を開始した場合について考えると、図１８の例と同様にサービス帯域が１００［Ｍｂｐｓ］で、既存のセッション１〜５はこれを５等分して通信を行っており、上限帯域は２０［Ｍｂｐｓ］に設定されている。
【００８９】
新規に加わったセッション６に対し、１０［Ｍｂｐｓ］の帯域を割り当てる必要があるとすると、帯域制御装置２は、セッション１〜５の帯域をそれぞれ２［Ｍｂｐｓ］ずつ減らし、セッション６に１０［Ｍｂｐｓ］の帯域を割り当てる。このようにして、図２１に示した再調整処理（Ｆ１−４９）が実行される。
【００９０】
＜帯域更新処理＞
図２３は、帯域制御装置２の帯域更新処理の詳細な処理手順例を示すフローチャートである。帯域制御装置２は、所定の単位時間（例えば１０ミリ秒）ごとに帯域更新を開始する（ステップＦ２−０１）。最初に、帯域制御装置２は、装置基本情報ＤＢ２６３の帯域計算時刻からの経過時間が、装置基本情報ＤＢ２６３の帯域即時調整時間閾値を越えたかどうか判定する（ステップＦ２−０４）。
【００９１】
経過時間が帯域即時調整時間閾値以上である場合（ステップＦ２−０４：Ｎｏ）、帯域制御装置２は、帯域再調整情報ＤＢ２６９の中で優先度が「時間閾値」の帯域再調整方式に従って帯域を再配分する（ステップＦ２−１９）。この再配分処理は優先度が「時間閾値」である帯域再調整方式が設定されている場合にのみ実行される。経過時間が帯域即時調整時間閾値を超えない場合（ステップＦ２−０４：Ｙｅｓ）、帯域制御装置２は、現在時刻が次回更新時刻かどうかを判定する（ステップＦ２−０７）。
【００９２】
次回更新時刻であれば（ステップＦ２−０７：Ｙｅｓ）、セッション数の増減、またはセッションの状態変化などの理由で、帯域制御装置２は、自装置の帯域増減フラグが設定されているかどうかを判定する（ステップＦ２−１０）。この判定（ステップＦ２−１０）は装置基本情報ＤＢ２６３の帯域増減フラグを用いて実行される。
【００９３】
セッション数の増減、またはセッションの状態変化がある場合（ステップＦ２−１０：Ｙｅｓ）、帯域制御装置２は、自装置内の全セッションを対象として、帯域の再計算を行う（ステップＦ２−１３）。帯域の再計算後に、帯域制御装置２は、周期内に設定した自装置の帯域増減フラグとセッションの帯域再調整フラグを初期化する（ステップＦ２−１６）。これにより、帯域更新処理が終了する（ステップＦ２−２０）。
【００９４】
なお、ステップＦ２−１０においてセッション数の増減、またはセッションの状態変化がない場合（ステップＦ２−１０：Ｎｏ）、帯域更新の必要なしと判定して、何も行わずに処理を終了する（ステップＦ２−１９）。また、ステップＦ２−０７において、帯域制御装置２は、現在時刻が次回更新時刻でない場合（ステップＦ２−０７：Ｎｏ）についても、何も行わずに処理を終了する（ステップＦ２−１９）。ここで、図２３のステップＦ２−１３の帯域計算について、図２４〜図２６を用いて説明する。
【００９５】
図２４は、帯域制御装置２の帯域計算において用いられるセグメント情報ＤＢの一例を示す説明図であり、図２５は、帯域制御装置２の帯域計算において用いられる通信品質情報ＤＢの一例を示す説明図である。図２４は、帯域制御装置２の装置帯域が１００［Ｍｂｐｓ］として、セグメント１に７０［Ｍｂｐｓ］、セグメント２に３０［Ｍｂｐｓ］の帯域を割り当てることを示している。図２５は、当該帯域制御装置２にはサービス１というサービスのみが存在し、対象はすべてのセグメントで、ポート番号は任意、であることを示している。端的に言えば、サービス１はあるセグメントにおいてすべてのセッションにセグメント帯域を等配分するサービスである。セグメントおよびサービスが、図２５および図２６のように設定されている場合に、セッションが図２３の状態であるとする。
【００９６】
図２６は、帯域制御装置２の帯域計算において用いられるセッション情報ＤＢの一例を示す説明図である。図２６が示す６つのセッション１〜６の送信元アドレスと図２４のセグメント情報から、セッション１およびセッション２はセグメント１に属するセッションであり、セッション３〜６はセグメント２に属するセッションであることが分かる。
【００９７】
セグメント１のセグメント帯域は７０［Ｍｂｐｓ］で、セグメント１に属するセッションの数は２であるから、セッション１、２の上限帯域は３５［Ｍｂｐｓ］に設定される。同様に、セッション３〜６の上限帯域は、セグメント２のセグメント帯域３０［Ｍｂｐｓ］を等分配して、セッションあたり７．５［Ｍｂｐｓ］となる。帯域制御装置２はこの帯域計算を周期的に行うことで、セッションあたりの帯域を最新の状態に保つようにする。
【００９８】
＜帯域制御装置の機能的構成例＞
図２７は、帯域制御装置２の機能的構成例を示すブロック図である。帯域制御装置２は、検出部２７０１と、特定部２７０２と、算出部２７０３と、決定部２７０４と、蓄積部２７０５と、判定部２７０６と、割当部２７０７と、更新部２７０８と、を有する。検出部２７０１〜更新部２７０８は、具体的には、たとえば、図４に示した帯域制御プログラムを制御部（ＣＰＵ）２２に実行させることにより、その機能を実現する。
【００９９】
検出部２７０１は、セッション群の中のいずれかのセッションの状態変化を検出する。具体的には、たとえば、図１２のステップＳ１−０７に示したように、検出部２７０１は、セッション数の減少を検出する。また、図１３のステップＳ２−０４に示したように、検出部２７０１は、輻輳によるセッションの状態変化を検出する。また、図１７のステップＳ３−０７に示したように、検出部２７０１は、セッション数の増加を検出する。
【０１００】
特定部２７０２は、検出部２７０１によって状態変化が検出されたいずれかのセッションの帯域変化量を特定する。具体的には、例えば、図２１のステップＦ１−０４に示したように、特定部２７０２は、帯域制御処理を開始すると、変化の発生したセッションの帯域変化量を抽出し、セッション情報ＤＢ２６７の帯域再調整フラグを設定する。
【０１０１】
算出部２７０３は、特定部２７０２によって特定された帯域変化量を用いて再配分帯域を算出する。具体的には、たとえば、算出部２７０３は、図２１のステップＦ１−１６に示したように、装置基本情報ＤＢ２６３の次回帯域更新時刻、帯域計算時刻と、選択した帯域再調整方式の帯域計算時間、算出した帯域変化量を用いて、再配分帯域を計算する。
【０１０２】
決定部２７０４は、いずれかのセッションの状態変化に基づいて、特定部２７０２によって特定された帯域変化量を、セッション群の使用帯域を減少させる第１の帯域変化量と使用帯域を増加させる第２の帯域変化量のいずれかに決定する。具体的には、たとえば、決定部２７０４は、図２１のステップＦ１−１９に示したように、帯域変化が使用帯域を減少させるものか増加させるものかを判断する。決定に利用される帯域変化量は、特定部２７０２によって特定された帯域変化量でもよく、算出部２７０３によって算出された再配分帯域でもよい。
【０１０３】
また、決定部２７０４は、セッション数が、セッション群のセッション数がしきい値以上である場合に決定処理を実行することとしてもよい。このように、決定処理の実行をセッション数をしきい値以上である場合に制限するのは、セッション数がしきい値未満の場合、ステップＦ１−４０に示したように、帯域再調整情報ＤＢ２６９の優先度が「セッション数閾値」である帯域再調整方式に従って帯域の再調整処理を実行させるためである。
【０１０４】
蓄積部２７０５は、決定部２７０４によって第１の帯域変化量に決定された場合、いずれかのセッションの帯域変化量を未使用帯域に蓄積し、決定部２７０４によって第２の帯域変化量に決定された場合、いずれかのセッションの帯域変化量を必要帯域に蓄積する。具体的には、たとえば、図２１のステップＦ１−２２に示したように、蓄積部２７０５は、セッション群の使用帯域を減少させる第１の帯域変化量に決定された場合、未使用領域である装置剰余帯域に加算する。図２１のステップＦ１−４３に示したように、蓄積部２７０５は、決定部２７０４によって使用帯域を増加させる第２の帯域変化量に決定された場合、いずれかのセッションの帯域変化量を必要帯域に蓄積する。
【０１０５】
判定部２７０６は、未使用帯域および必要帯域のうちいずれかのセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する。具体的には、たとえば、判定部２７０６は、図２１のステップＦ１−２５に示したように、装置剰余帯域と装置必要帯域のいずれか一方が０であるか否かを判定する。そして、少なくともいずれかが０である場合、判定部２７０６は、図２１のステップＦ１−２８に示したように、ステップＦ１−２２またはステップＦ１−４３で計算した帯域変化量の総和、即ち装置剰余帯域の総和または装置必要帯域の総和が、装置基本情報ＤＢ２６３の帯域変化閾値以下かどうか判定する。
【０１０６】
割当部２７０７は、判定部２７０６によってしきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる。具体的には、たとえば、割当部２７０７は、図２１のステップＦ１−４９に示したように、再調整処理を実行する。
【０１０７】
また、割当部２７０７は、未使用帯域および必要帯域のいずれの帯域にも帯域変化量が蓄積されている場合、未使用帯域に蓄積された帯域変化量の総和を、セッション群のうち必要帯域に帯域変化量を蓄積したセッションに割り当てる。具体的には、たとえば、図２１のステップＦ１−４６に示したように、装置剰余帯域および装置必要帯域が相互に融通できることを意味するため、割当部２７０７は、帯域再調整フラグの設定されたセッション間で帯域を配分する。
【０１０８】
更新部２７０８は、所定の周期でセッション群に割り当てる帯域を更新する。具体的には、たとえば、更新部２７０８は、図１１の帯域更新周期で設定された周期にしたがって帯域を更新する。またこの場合、割当部２７０７は、判定部２７０６によってしきい値を超えたと判定された場合、更新部２７０８における現在の周期中に割当を実行する。たとえば、図１２のステップＳ１−１６に示したように、帯域再調整が必要と判断した場合には、割当部２７０７は、帯域再調整情報ＤＢ２６９の設定項目に従って帯域を再調整するセッションを決定し、帯域再計算を即時実行する。
【０１０９】
このように、実施例１によれば、帯域の再計算が必要となるまで、剰余帯域または必要帯域として蓄積しておき、帯域の再計算が必要となった時点で当該再計算を実行する。すなわち、セッション数が増加すれば、個々のセッションに帯域を割り当てるための計算時間も増加するため、個別に計算するのではなく、再計算が必要となるまで蓄積された場合に、再計算を実行する。これにより、計算機資源の効率的な利用を図ることができるとともに、計算時間の長期化による通信効率の低下を抑制することができる。また、計算時間がかかっても優先的に割り当てるべきセッションがある場合には、当該セッションを優先的に割り当てることにより、再割当の自由度の向上を図ることができる。
【０１１０】
（実施例２）
つぎに、実施例２について説明する。実施例２は、実施例１に帯域管理サーバを設けた例である。実施例２では、帯域管理サーバが、各帯域制御装置２による帯域再調整を制御する例である。帯域管理サーバは、各帯域制御装置２の状態を監視する。これにより、ある帯域制御装置２が帯域再調整が必要であると判断しても、帯域管理サーバは不要と判断することがある。したがって、無駄な帯域再調整処理の低減化を図ることができ、通信の効率化を図ることができる。なお、実施例１と同一構成、同一処理については同一符号を付し、その説明を省略する。
【０１１１】
＜帯域制御システム３００の構成例＞
図２８は、実施例２にかかる帯域制御システム３００の構成例を示す説明図である。実施例２にかかる帯域制御システム３００は、実施例１のシステム構成に、さらに、帯域管理サーバ１を設けたシステムである。帯域管理サーバ１は、ネットワーク４に接続され、各帯域制御装置２の通信状況に応じて帯域制御を実行するコンピュータである。
【０１１２】
図２９は、帯域管理サーバ１のハードウェア構成例を示すブロック図である。帯域管理サーバ１は、バス１８に接続された制御部（ＣＰＵ）１２、メモリなどの内部記憶装置１６、ハードディスクなどの外部記憶装置１４、及びネットワークインターフェース１０を有し、ネットワークインターフェース１０を経由してネットワーク４と通信を行う。
【０１１３】
内部記憶装置１６には、帯域制御装置２−１〜２−Ｎ間の帯域を管理する帯域管理プログラム１６１が格納される。また、内部記憶装置１６には、システム基本情報ＤＢ１６２、帯域制御装置情報ＤＢ１６３、セグメント情報ＤＢ１６４、通信品質情報ＤＢ１６５、セッション情報ＤＢ１６７、および帯域再調整情報ＤＢ１６９が格納される。
【０１１４】
システム基本情報ＤＢ１６２は、システムの基本的な情報を管理するデータベースである。帯域制御装置情報ＤＢ１６３は、システム内の帯域制御装置２の基本的な情報を管理するデータベースである。セグメント情報ＤＢ１６４は、各帯域制御装置２のセグメントに関する情報を管理するデータベースである。通信品質情報ＤＢ１６５は、通信のサービス種別、帯域設定値などの通信品質に関する情報を管理するデータベースである。セッション情報ＤＢ１６７は、帯域制御装置２間のセッションに関する情報を管理するデータベースである。帯域再調整情報ＤＢ１６９は、通信帯域の再調整方法に関する情報を管理するデータベースである。
【０１１５】
帯域制御装置情報ＤＢ１６３、セグメント情報ＤＢ１６４、通信品質情報ＤＢ１６５、セッション情報ＤＢ１６７、および帯域再調整情報ＤＢ１６９の各データベースは、帯域制御システム３００の規模、処理性能に応じて、外部記憶装置１４に格納してもよい。これらのデータベースは内部記憶装置１６にインストールされている帯域管理プログラム１６１によって読み書きが行われる。制御部（ＣＰＵ）１２が内部記憶装置１６に保存された帯域管理プログラム１６１にアクセスすることで、帯域管理機能を有することになる。
【０１１６】
＜帯域管理サーバ１の内部記憶装置１６に存在する各種のデータベースの構造＞
図３０は、システム基本情報ＤＢ１６２のデータ構造例を示す説明図である。システム基本情報ＤＢ１６２は、システム帯域変化閾値、システム剰余帯域、システム必要帯域、帯域更新周期、帯域増減フラグ、帯域計算時刻、および次回帯域更新時刻を要素として含む。
【０１１７】
システム帯域変化閾値とは、帯域再調整処理の実行要否を判定するための閾値である。システム剰余帯域とは、帯域制御システム３００内で使用されずに余っている帯域である。システム必要帯域とは、新規セッションの確立時に、当該セッションが必要とする帯域である。帯域更新周期とは、帯域更新処理を実行する周期である。帯域増減フラグとは、次の帯域更新処理までに、セッションの確立、切断、状態変化などにより帯域の増減が発生したかどうかを表すフラグである。帯域計算時刻とは、周期の途中に帯域計算を行う場合の時刻である。次回帯域更新時刻とは、次の帯域計算時刻である。
【０１１８】
図３１は、帯域制御装置情報ＤＢ１６３のデータ構造例を示す説明図である。帯域制御装置情報ＤＢ１６３は、装置識別子、装置アドレス、装置帯域、帯域変化閾値、装置剰余帯域、装置必要帯域、帯域更新周期、帯域増減フラグ、帯域計算時刻、次回帯域更新時刻、帯域即時調整時間閾値、帯域即時調整セッション数、および通信遅延を要素として含む。帯域制御装置情報ＤＢ１６３は、帯域制御装置２ごとに、装置識別子〜通信遅延の情報を記憶する。なお、通信遅延を除く装置識別子〜帯域即時調整セッション数については、図５に示した説明と同一であるため、省略する。帯域管理サーバ１は、たとえば、定期的にまたは不定期に、各帯域制御装置２から装置識別子〜帯域即時調整セッション数を受信して、帯域制御装置情報ＤＢ１６３を更新する。通信遅延とは、帯域制御装置２と帯域管理サーバ１の間の通信の遅延時間である。
【０１１９】
図３２は、セグメント情報ＤＢ１６４のデータ構造例を示す説明図である。セグメント情報ＤＢ１６４は、セグメントごとに、セグメント識別子と、セグメント開始アドレス、セグメント終了アドレス、およびセグメント帯域と、を記憶する。セグメント識別子とは、セグメントを一意に特定する識別情報である。セグメント開始アドレス、セグメント終了アドレス、およびセグメント帯域については、図６に示した説明と同一であるため、省略する。帯域管理サーバ１は、たとえば、定期的にまたは不定期に、各帯域制御装置２から装置セグメント開始アドレス、セグメント終了アドレス、およびセグメント帯域を受信して、セグメント情報ＤＢ１６４を更新する。
【０１２０】
図３３は、通信品質情報ＤＢ１６５のデータ構造例を示す説明図である。通信品質情報ＤＢ１６５は、装置識別子、サービス識別子、セグメント識別子、ポート番号、サービス帯域を要素として含む。装置識別子とは、サービス識別子により特定されるサービスを利用する帯域制御装置２を一意に特定する識別情報である。サービス識別子、セグメント識別子、ポート番号、およびサービス帯域については、図７に示した説明と同一であるため、省略する。帯域管理サーバ１は、たとえば、定期的にまたは不定期に、各帯域制御装置２からサービス識別子、セグメント識別子、ポート番号、およびサービス帯域を受信して、通信品質情報ＤＢ１６５を更新する。
【０１２１】
図３４は、セッション情報ＤＢ１６７のデータ構造例を示す説明図である。セッション情報ＤＢ１６７は、装置識別子、セッション識別子、送信元アドレス、宛先アドレス、通信種別、送信元ポート番号、宛先ポート番号、バッファ内データ量、上限帯域、通信状態、帯域再調整フラグを要素として含む。装置識別子とは、セッション識別子により特定されるセッションを制御する帯域制御装置２を一意に特定する識別情報である。セッション識別子〜帯域再調整フラグについては、図８に示した説明と同一であるため、省略する。帯域管理サーバ１は、たとえば、定期的にまたは不定期に、各帯域制御装置２からセッション識別子〜帯域再調整フラグを受信して、通信品質情報ＤＢ１６５を更新する。
【０１２２】
図３５は、帯域再調整情報ＤＢ１６９のデータ構造例を示す説明図である。帯域再調整情報ＤＢ１６９は、装置識別子、帯域再調整方法識別子、適用種別、帯域再調整方式、優先度、帯域計算時間を要素として含む。装置識別子とは、帯域再調整の対象となる帯域制御装置２を一意に特定する識別情報である。帯域再調整方法識別子〜帯域計算時間については、図９に示した説明と同一であるため、省略する。帯域管理サーバ１は、たとえば、定期的にまたは不定期に、各帯域制御装置２から帯域再調整方法識別子〜帯域計算時間を受信して、通信品質情報ＤＢ１６５を更新する。
【０１２３】
＜帯域制御システム３００の全体動作＞
つぎに、シーケンス図を参照しながら実施例２にかかる帯域制御システム３００の全体の動作について説明する。
【０１２４】
図３６は、帯域管理サーバ１による帯域制御装置２の帯域制御のシーケンス例を示すシーケンス図である。帯域管理サーバ１は、管理下の帯域制御装置２からセッション情報を受信する（ステップＳ４−０１、Ｓ４−０４、Ｓ４−０７）。セッション情報のメッセージフォーマット例を図３７に示す。
【０１２５】
図３７は、セッション情報のメッセージフォーマット例を示す説明図である。セッション情報ＰＦ−０１は、メッセージの送信元アドレス、宛先アドレス、パケット種別（セッション情報）、装置識別子、および１つ以上のセッション情報のリストを含む。装置識別子とは、セッション情報を送信する帯域制御装置２を一意に特定する識別情報である。
【０１２６】
セッション情報ＰＦ−０１は、セッションを特定するセッション識別子、送信元アドレス、宛先アドレス、送信、受信の種別を表す通信種別、送信元ポート番号、宛先ポート番号を含む。セッション情報の各項目は、帯域制御装置２のセッション情報ＤＢ２６７の同名の項目を用いて値が設定され、帯域制御装置２は自装置が通信高速化処理を行っているすべてのセッション情報を、帯域管理サーバ１に登録する。
【０１２７】
図３６に戻り、すべての帯域制御装置２からセッション情報を受信すると、帯域管理サーバ１は、各帯域制御装置２の各セッションの上限帯域を計算する（ステップＳ４−１０）。上限帯域の計算は、各帯域制御装置２の装置帯域、セッションが属するセグメント及びサービスにより、帯域制御装置２の間で輻輳が発生しない範囲で行われる。上限帯域の算出処理手順については図４０にて後述する。
【０１２８】
セッションの上限帯域を算出した帯域管理サーバ１は、計算したセッションごとの上限帯域を各帯域制御装置２に通知するために、帯域情報を送信する（ステップＳ４−１３、Ｓ４−１６、Ｓ４−１９）。帯域情報のメッセージフォーマット例を図３８に示す。
【０１２９】
図３８は、帯域情報のメッセージフォーマット例を示す説明図である。帯域情報は、メッセージの送信元アドレス、宛先アドレス、パケット種別（帯域情報）、帯域情報を通知する帯域制御装置２の装置識別子、および１つ以上の帯域情報のリストを含む。帯域情報は、セッションを特定するセッション識別子、送信元アドレス、宛先アドレス、送信、受信の種別を表す通信種別、送信元ポート番号、宛先ポート番号、および上限帯域を含む。帯域情報の各項目は、帯域制御装置２のセッション情報ＤＢ２６７の同名の項目を用いて値が設定される。
【０１３０】
図３６に戻り、帯域情報を受信した帯域制御装置２は、各セッションに対して通知された上限帯域の範囲内で通信高速化処理を実行する（ステップＳ４−２２）。セッション情報の通知および帯域通知は周期的に行われる。通常のＴＣＰ通信はデータの送信時に送達確認を行うため、通信遅延やパケット廃棄の影響を受けて、通信帯域の利用率が低下する。本願の帯域制御装置２は、通信遅延およびパケット廃棄率を鑑みてデータ送信レートを最適化し、送達確認を簡略化することで与えられた帯域を最大限利用し、通信の高速化を実現する。
【０１３１】
帯域管理サーバ１が帯域制御を行う場合、１つの帯域制御装置２の通信状態の変化が対向している帯域制御装置２のみならず、帯域制御システム３００全体の帯域に影響を及ぼすため、帯域再調整処理の複雑度が増加する。例えば、帯域制御装置２が再調整可能な帯域を検出した場合、自身で即座に帯域再調整処理を行ってから帯域管理サーバ１に帯域更新を要求する場合と、自身では処理を行わずに帯域管理サーバ１にすべての処理を委ねる場合がある。
【０１３２】
また、帯域管理サーバ１と帯域制御装置２の間には通信遅延が存在するため、帯域制御装置２側では帯域再調整処理が必要と判断したにもかかわらず、帯域管理サーバ１では帯域再調整の必要がないと判定するケースも存在する。まとめると、帯域管理サーバ１による帯域再調整処理においては、以下の４つの処理方式が存在する。
【０１３３】
（ケース１）帯域制御装置２が再調整帯域を検出し、自身が即座に帯域再調整処理を実行。その後、当該帯域制御装置２は、帯域管理サーバ１に帯域更新を要求する。帯域管理サーバ１においても帯域再調整処理を実行して、関連する帯域制御装置２に結果を通知する。
【０１３４】
（ケース２）帯域制御装置２が再調整帯域を検出し、自身では帯域再調整処理を行わずに帯域管理サーバ１に帯域更新を要求。帯域管理サーバ１は帯域再調整処理を実行して、関連する帯域制御装置２に結果を通知する。
【０１３５】
（ケース３）帯域制御装置２が再調整帯域を検出し、自身が即座に帯域再調整処理を実行。その後、帯域制御装置２は帯域管理サーバ１に帯域更新を要求するが、帯域管理サーバ１では帯域再調整の必要なしと判定する。
【０１３６】
（ケース４）帯域制御装置２が再調整帯域を検出し、自身では帯域再調整処理を行わずに帯域管理サーバ１に帯域更新を要求。帯域管理サーバ１は帯域再調整の必要なしと判定する。
【０１３７】
これらの処理を実現するために、帯域制御装置２は帯域変化量が閾値を超えた場合の動作を定義する必要がある。動作を定義する方法としては、帯域制御装置２の装置基本情報ＤＢ２６３に、帯域変化閾値に加えて、帯域調整動作を設定する方法がある。
【０１３８】
図３９は、装置基本情報ＤＢ２６３の他のデータ構造例を示す説明図である。図５との相違点は、図３９では、帯域調整動作が追加された点である。帯域調整動作には、帯域調整処理の即時実行または帯域調整処理の保留の２つの動作が設定可能である。
【０１３９】
＜上限帯域の算出処理手順＞
図４０は上限帯域の算出処理手順例を示すフローチャートである。上限帯域の算出は、所定の周期で実行される（ステップＦ５−０１）。最初に帯域管理サーバは、各帯域制御装置２のセグメント情報およびサービス情報に基づいて各セッションの帯域を計算する（ステップＦ５−０４）。帯域制御装置２のセッションごとの帯域は、図２５〜図２７で示したような方法で計算される。
【０１４０】
次に、帯域管理サーバ１はすべてのセッションに対して送信セッションと受信セッションとの対応を取り、送信セッションの帯域と受信セッションの帯域とを比較して小さい方の帯域をセッションの上限帯域に設定する（ステップＦ５−０７）。帯域制御装置２には、そのセッションを送信セッションとして扱う装置と、受信セッションとして扱う装置があり、これらの帯域制御装置２間でセッションに割り当てる帯域が異なるため、対応をとる必要がある。たとえば、図１および図２の例では、帯域制御装置１０１のセッションは送信セッションに該当し、帯域制御装置１０２のセッションは受信セッションに該当するため、送信セッションの帯域と受信セッションの帯域との対応をとることにある。
【０１４１】
図４１は、セッションの対応例を示す説明図である。図４１では、２つの帯域制御装置２（装置識別子が「装置１」と「装置２」）間に１つのセッションが確立されており、「装置１」から「装置２」の向きにデータが送信されていることを示す。
【０１４２】
このセッションを「装置１」から見ると送信セッションとなり、「装置２」から見ると受信セッションとなる。同じセッションに対して、「装置１」の装置帯域、セグメント情報、および通信品質情報を用いて算出したセッションあたりの帯域と、「装置２」の装置帯域、セグメント情報、および通信品質情報を用いて算出したセッションあたりの帯域は異なる値になる。
【０１４３】
図４１の例では、「装置１」の当該セッションの帯域は２０［Ｍｂｐｓ］であり、「装置２」の当該セッションの帯域は１５［Ｍｂｐｓ］である。輻輳を避けるためには、対応の取れたセッションに対して、送信側である「装置１」が割り当てたセッション帯域と受信側である「装置２」が割り当てたセッション帯域のうち、小さいほうの値を用いる必要がある。この場合は、「装置２」の上限帯域１５［Ｍｂｐｓ］が用いられる。
【０１４４】
そこで、帯域管理サーバはすべてのセッションの対応を取り、帯域調整を行う。帯域調整を行った後、帯域制御装置２によっては未使用の帯域が発生する。図４１の例では、セッションに対して「装置２」の上限帯域である１５［Ｍｂｐｓ］の帯域が割り当てられるが、「装置１」が「セッション１」に対して割り当てた帯域は２０［Ｍｂｐｓ］であり、差分となる５［Ｍｂｐｓ］は未使用となる。
【０１４５】
図４０に戻り、帯域管理サーバ１は、すべてのセッションの組に対して未使用帯域を計算し、各帯域制御装置２のセッションの未使用帯域の和を帯域制御装置２の未使用帯域として算出する（ステップＦ５−１０）。帯域制御装置２の未使用帯域を算出した帯域管理サーバは、未使用帯域のある帯域制御装置２間で、セッションあたりの帯域を算出し、ステップＦ５−０４、Ｆ５−０７と同様の方法で未使用帯域のセッションへの割り当て、調整を行う。
【０１４６】
帯域管理サーバは、調整後の帯域を、ステップＦ５−０７で算出した上限帯域に加算する（ステップＦ５−１３）。帯域管理サーバは、未使用帯域の割り当てを、割り当て可能な帯域がなくなるまで繰り返し実行し（ステップＦ５−１６）、割り当てられる帯域がなくなると帯域割り当て処理を終了する（ステップＦ５−１９）。
【０１４７】
以上を踏まえ、シーケンス図を用いて帯域管理サーバ１および帯域制御装置２による帯域再調整処理を説明する。
【０１４８】
＜再帯域調整処理のシーケンス＞
図４２は、帯域管理サーバ１および帯域制御装置２による帯域再調整処理を示すシーケンス図（その１）である。図４２は、上述した「（ケース１）帯域制御装置２が再調整帯域を検出し、自身が即座に帯域再調整処理を実行。」に相当するシーケンスである。
【０１４９】
まず、帯域制御装置２−１がセッション数またはセッションの状態変化を検出して処理が始まる（ステップＳ５−０１）。帯域制御装置２−１は、図１７のステップＳ３−０７などと同じ方法で帯域変化量を計算し（ステップＳ５−０４）、その値が帯域変化閾値より大きいものとする（ステップＳ５−０５）。計算した帯域変化量が帯域変化閾値より大きいため、帯域制御装置２−１は、帯域調整処理が必要と判断して、帯域再調整情報ＤＢ１６９を参照して帯域を調整するセッションを決定する。
【０１５０】
ここで、帯域制御装置２−１の装置基本情報ＤＢ２６３の帯域調整動作が「即時実行」と設定されていたものとすると、帯域制御装置２−１は、図２１のフローチャートに従って帯域調整を即時に実行する（ステップＳ５−０７）。その後、帯域制御装置２−１は、帯域管理サーバ１に対して帯域更新要求を送信し（ステップＳ５−１０）、帯域制御システム３００全体の帯域調整を行う必要があることを通知する。帯域更新要求のメッセージフォーマットを図４３に示す。
【０１５１】
図４３は、帯域更新要求のメッセージフォーマット例を示す説明図である。図４３において、帯域更新要求ＰＦ−０４は、メッセージの送信元アドレス、宛先アドレス、パケット種別（帯域更新要求）、セッション情報を送信する帯域制御装置２の装置識別子、行った帯域調整処理の種別を表す適用種別と、１つ以上のセッション情報のリストを含む。
【０１５２】
１つのセッション情報はセッションを特定するセッション識別子、送信元アドレス、宛先アドレス、送信、受信の種別を表す通信種別、送信元ポート番号、宛先ポート番号、上限帯域を含む。上限帯域には、調整後の上限帯域が設定される。
【０１５３】
図４２に戻り、帯域更新要求ＰＦ−０４を送信した帯域制御装置２−１は、自身が行った帯域調整処理の範囲内で通信高速化処理を実行する（ステップＳ５−１３）。他方、帯域制御装置２−１からの帯域更新要求を受信した帯域管理サーバ１は、帯域更新要求に含まれているセッションの情報から、自身の管理する帯域制御装置２−１のセッション情報に変化が発生したことを知る。
【０１５４】
例として、帯域制御装置２−１のあるセッションが終了し、帯域制御装置２−１は終了したセッションの帯域を他のセッションに配分する処理を想定する。帯域制御装置２−１のサービス１には５０［Ｍｂｐｓ］の帯域が割り当てられ、その中に５つのセッションが存在することとする。ここで、５つのセッションのうち１つが終了し、帯域の調整を行うと、残りの４つのセッションに対して、帯域変化量を加味した帯域が上限帯域として設定されることになる。
【０１５５】
帯域制御装置２−１は、この４つのセッション情報の上限帯域を１０［Ｍｂｐｓ］に帯域変化量を加味した値に設定し、終了したセッションの上限帯域を０［Ｍｂｐｓ］に設定した帯域更新要求を送信する。帯域管理サーバ１は帯域更新要求を受信して、帯域更新要求に含まれているセッション情報と、同じセッション識別子をもつセッション情報ＤＢ２６７のセッション情報を比較して、上限帯域に変化が発生したことを把握する。
【０１５６】
上限帯域が０［Ｍｂｐｓ］に設定されたセッションは、そのセッションが終了したことを意味する。上限帯域に変化が発生したことを受け、帯域管理サーバ１は変化の発生した４つのセッションに対応したセッションを検索する。変化の発生した４つのセッションは、終了したセッションの上限帯域を新たに割り当てられた送信セッションであるため、これらのセッションに対応した受信セッションが、帯域制御装置２−１以外のいずれかの帯域制御装置２に存在する。
【０１５７】
対応する４つの受信セッションの受信帯域は、変化が発生する前の帯域である１０［Ｍｂｐｓ］に設定されているため、帯域制御装置２−１が増加させたセッションあたりの帯域変化量を、何らかの方法で調達する必要がある。たとえば、新規に帯域が必要となった場合の帯域調整方法としては、図１７〜図２０に示すように、帯域調整の対象となるセッションの集合から、必要な帯域を調達する方法がある。
【０１５８】
帯域調整方法を決定した後、帯域管理サーバ１は帯域変化量を計算する（ステップＳ５−１６）。帯域変化量の計算方法については図４９にて後述する。算出したすべての帯域制御装置２の帯域変化量の和が帯域変化閾値を超える場合（ステップＳ５−１９）、帯域管理サーバ１は帯域再調整情報ＤＢ１６９を参照して帯域を調整するセッションを決定し（ステップＳ５−１９）、帯域再計算を実行する（ステップＳ５−２２）。
【０１５９】
帯域制御装置２と帯域管理サーバ１が行う帯域調整処理については、種別の異なる帯域調整処理が実行されるという性質がある。たとえば、帯域制御装置２がセッションの終了による剰余帯域を検出し、剰余帯域の別のセッションへの割り当てを行うと、帯域管理サーバ１においては、対応するセッションに対する必要帯域を抽出する必要がある。
【０１６０】
また、帯域制御装置２において新規セッションの確立を検出すると、帯域制御装置２は新規セッションに対して帯域を割り当てるために、調整対象の他のセッションの帯域を減少させる。一方、帯域管理サーバ１では対応するセッションの受信帯域が減少することを検出し、これに伴って発生する剰余帯域の配分を行う。
【０１６１】
帯域調整を行った帯域管理サーバ１は、影響を受けるセッションが存在する帯域制御装置２に対して、帯域情報を送信する（ステップＳ５−２５、Ｓ５−２８、Ｓ５−３１）。影響を受けるセッションが存在する帯域制御装置２とは、たとえば、帯域調整対象となったセッションが存在する帯域制御装置２である。帯域情報を受信した各帯域制御装置２は、通知された上限帯域の範囲内で各セッションに対する通信高速化処理を実行する（ステップＳ５−３４）。通信高速化処理は、図３６のＳ４−２２と同様の手順によって行われる。
【０１６２】
帯域制御装置２の装置基本情報ＤＢ２６３において、帯域調整動作が保留と設定されている場合の動作について、図４４を用いて説明する。
【０１６３】
図４４は、帯域管理サーバ１および帯域制御装置２による帯域再調整処理を示すシーケンス図（その２）である。図４４は、上述した「（ケース２）帯域制御装置２が再調整帯域を検出し、自身では帯域再調整処理を行わずに帯域管理サーバ１に帯域更新を要求。」に相当するシーケンスである。
【０１６４】
図４２と同様に、帯域制御装置２−１がセッション数またはセッションの状態変化を検出することで処理が始まる。帯域制御装置２−１は、図１７のステップＳ３−０７などと同じ方法で帯域変化量を計算し、その値が帯域変化閾値より大きかったものとする（ステップＳ６−０１〜Ｓ６−０４）。
【０１６５】
計算した帯域変化量が帯域変化閾値より大きいため、帯域制御装置２は、帯域調整処理が必要と判断して、帯域再調整情報ＤＢを参照して帯域を調整するセッションを決定する。帯域制御装置２−１の装置基本情報ＤＢ２６３の帯域調整動作は「保留」と設定されている。したがって、帯域制御装置２−１は、帯域を調整するセッション、および調整後の上限帯域を算出するが、帯域調整処理は行わずに、帯域管理サーバ１に対して帯域更新要求を送信し（ステップＳ６−０７）、帯域制御システム３００全体の帯域調整を行う必要があることを通知する。
【０１６６】
その後、帯域制御装置２−１は、帯域管理サーバ１からの帯域情報を待機する（ステップＳ６−１０）。帯域制御装置２−１からの帯域更新要求を受信した帯域管理サーバ１は、図４２のステップＳ５−１６からステップＳ５−２２と同様の手順によって帯域再計算処理を行う（ステップＳ６−１３〜Ｓ６−１９）。そして、帯域管理サーバ１は、影響を受けるセッションの存在する帯域制御装置２に対して、帯域情報を送信する（ステップＳ６−２２、２５、２８）。帯域情報を受信した各帯域制御装置２は、通知された上限帯域の範囲内で 各セッションに対する通信高速化処理を実行する（ステップＳ６−３１）。通信高速化処理は図３６のＳ４−２２などと同様の手順で行われる。次に、帯域管理サーバ１で帯域調整を行わない場合の処理について、図４５および図４６を用いて説明する。
【０１６７】
図４５は、帯域管理サーバ１および帯域制御装置２による帯域再調整処理を示すシーケンス図（その３）である。図４５は、上述した「（（ケース３）帯域制御装置２が再調整帯域を検出し、自身が即座に帯域再調整処理を実行。」に相当するシーケンスである。
【０１６８】
図４５では、帯域制御装置２で帯域調整処理を即時実行するが、帯域管理サーバ１では帯域調整処理を行わない。図４２および図４４と同様に、帯域制御装置２−１がセッション数、またはセッションの状態変化を検出する（ステップＳ７−０１）ことで処理が始まる。帯域制御装置２−１は、図１７のステップＳ３−０７などと同じ方法で帯域変化量を計算し（ステップＳ７−０４）、その値が帯域変化閾値より大きかったものとする（ステップＳ７−０５）。
【０１６９】
計算した帯域変化量が帯域変化閾値より大きいため、帯域制御装置２は、帯域調整処理が必要と判断して、帯域再調整情報ＤＢを参照して帯域を調整するセッションを決定する。ここで、帯域制御装置２−１の装置基本情報ＤＢ２６３の帯域調整動作が「即時実行」と設定されているとすると、帯域制御装置２−１は、帯域を調整するセッションおよび調整後の上限帯域を算出して帯域調整を行う（ステップＳ７−０７）。そして、帯域制御装置２−１は、帯域管理サーバ１に対して帯域更新要求を送信する（ステップＳ７−１０）。
【０１７０】
その後、帯域制御装置２−１は、調整した帯域の範囲内で通信高速化処理を実行する（ステップＳ７−１３）。帯域更新要求を受信した帯域管理サーバ１は、セッション数、状態変化により帯域変化量を計算する（ステップＳ７−１６）。帯域管理サーバにおける帯域変化量の計算においては、帯域制御装置２で帯域変化量を計算する際に用いた帯域計算時刻、次回帯域更新時刻、帯域計算時間に加えて、通信高速化情報ＤＢ１６３の通信遅延を考慮する必要がある。
【０１７１】
帯域管理サーバが帯域を調整した結果を用いて、帯域制御装置２が通信高速化処理を行うためには、帯域情報を送信する必要があるが、帯域情報の送信には帯域制御装置２と帯域管理サーバ間の通信遅延に等しい時間を要するため、帯域変化量を計算する際に通信遅延を考慮した計算を行う。
【０１７２】
その結果、帯域管理サーバ１で算出した帯域変化量が、帯域変化閾値を超えない場合が起こりうる（ステップＳ７−１８）。そのような場合には、帯域管理サーバは帯域調整を行わずに、帯域制御装置情報ＤＢ１６３の当該装置の帯域増減フラグを「増減有り」に設定する（ステップＳ７−１９）。帯域増減フラグをこのように設定することで、帯域管理サーバ１は、次の帯域更新周期で帯域の再計算を行う準備をする（ステップＳ７−２２）。
【０１７３】
最後に帯域管理サーバ１は、帯域制御装置２−１に対して帯域不更新通知を送信し、帯域更新が行われなかったことを通知する（ステップＳ７−２５）。帯域不更新通知のメッセージフォーマットを図４７に示す。
【０１７４】
図４７は、帯域不更新通知のメッセージフォーマット例を示す説明図である。図４７において、セッション情報ＰＦ−０５は、メッセージの送信元アドレス、宛先アドレス、パケット種別（帯域不更新通知）、および帯域更新要求を送信した帯域制御装置２の装置識別子を含む。図４５のように、帯域制御装置２では帯域調整を行い、帯域管理サーバ１では帯域調整を行わない場合は、両者の状態が異なるものとなり、一時的に通信帯域に差が発生するが、このような状態は周期的な帯域計算が行われるまでの過渡的な状態であり、かつ帯域の差が帯域制御システム３００全体に与える影響も軽微と考えられる。
【０１７５】
図４６は、帯域管理サーバ１および帯域制御装置２による帯域再調整処理を示すシーケンス図（その４）である。図４６は、帯域制御装置２および帯域管理サーバ１のいずれも帯域調整処理を行わない場合のシーケンスを示す。帯域制御装置２−１がセッション数またはセッションの状態変化を検出する（ステップＳ８−０１）と、帯域制御装置２−１は、図１７のステップＳ３−０７などと同じ方法で帯域変化量を計算し（ステップＳ８−０３）、その値が帯域変化閾値より大きかったものとする（ステップＳ８−０４）。
【０１７６】
計算した帯域変化量が帯域変化閾値より大きいため、帯域制御装置２は、帯域調整処理が必要と判断して、帯域再調整情報ＤＢを参照して帯域を調整するセッションを決定する。ここで、帯域制御装置２−１の装置基本情報ＤＢ２６３の帯域調整動作が「保留」と設定されているとすると、帯域制御装置２−１は帯域を調整するセッション、および調整後の上限帯域を算出して、帯域管理サーバ１に対して帯域更新要求を送信する（ステップＳ８−０７）。しかし、帯域制御装置２−１は、実際の帯域調整処理は行わずに、帯域管理サーバ１からの帯域情報を待機する（ステップＳ８−１０）。
【０１７７】
帯域更新要求を受信した帯域管理サーバ１は、セッション数、状態変化により帯域変化量を計算する（ステップＳ８−１３）。計算した帯域変化量が帯域変化閾値を超えない（ステップＳ８−１６）場合、帯域管理サーバは帯域調整を行わずに、帯域制御装置情報ＤＢ１６３の当該装置の帯域増減フラグを「増減有り」に設定する（ステップＳ８−１９）。帯域増減フラグをこのように設定することで、帯域管理サーバ１は次の帯域更新周期で帯域の再計算を行う準備をする（ステップＳ８−２２）。
【０１７８】
最後に帯域管理サーバ１は、帯域制御装置２−１に対して帯域不更新通知を送信し、帯域更新が行われなかったことを通知する（ステップＳ８−２５）。次に、帯域管理サーバ１における帯域調整処理の詳細について説明する。
【０１７９】
＜帯域調整処理＞
図４８は、帯域管理サーバ１における帯域調整処理の詳細な処理手順例を示すフローチャートである。図４８において、帯域調整処理では、図４２のステップＳ５−１６、図４４のステップＳ６−１３などに示されるように、セッション数の増減、またはセッション状態の変化によって、未使用帯域の発生、あるいは新規セッションへの帯域割当などの事象が発生し、帯域制御装置２から帯域更新要求を受信した際に処理が開始する（ステップＦ３−０１）。
【０１８０】
最初に、帯域管理サーバ１は、帯域更新要求で通知されたセッションの帯域変化量を抽出し、セッション情報ＤＢ１６７の帯域再調整フラグを設定する（ステップＦ３−０４）。帯域管理サーバ１は、該当するセッションに対して、帯域更新要求とセッション情報ＤＢ１６７の上限帯域を比較することで帯域変化量を算出する。
【０１８１】
次に、帯域管理サーバ１は、システム基本情報ＤＢ１６２の帯域計算時刻に現在時刻を記録する（ステップＦ３−１０）。その後、帯域管理サーバ１は、調整対象のすべてのセッションに対し次回帯域更新時刻、帯域計算時刻、帯域計算時間、上限帯域、通信遅延から帯域変化量を計算する（ステップＦ３−１６）。帯域変化量の計算方法については、図４９のフローチャートを用いて後述する。
【０１８２】
すべてのセッションに対する帯域変化量を計算した後、帯域管理サーバ１は、発生した帯域変化量が通信システム３００の使用帯域を減少させるものか、増加させるものかを判定する（ステップＦ３−１９）。例えば、ある帯域制御装置２でセッション切断処理が行われる場合は、当該帯域制御装置２に未使用帯域が発生する。未使用帯域を再配分すると、当該帯域制御装置２と対向して通信を行っている帯域制御装置２の対応するセッションにはより多くの受信帯域が必要となるため、帯域制御システム３００の必要帯域は増加する。このような場合（ステップＦ３−１９：Ｎｏ）、ステップＦ３−１６で計算した帯域変化量を、システム基本情報ＤＢ１６２のシステム必要帯域に加算する（ステップＦ３−４３）。
【０１８３】
逆の場合（ステップＦ３−１９：Ｙｅｓ）、帯域管理サーバ１は、ステップＦ３−１６で計算した帯域変化量を、システム基本情報ＤＢ１６２のシステム剰余帯域に加算する（ステップＦ３−２２）。この処理は調整対象となるすべてのセッションごとに行う。装置剰余帯域、または装置必要帯域の更新を終えると、帯域管理サーバ１は、システム剰余帯域として、帯域制御システム３００内のすべての帯域制御装置２の装置剰余帯域の和を計算する。同様に、システム必要帯域として、帯域制御システム３００内のすべての帯域制御装置２の装置必要帯域の和を計算する。
【０１８４】
その後、帯域管理サーバ１は、システム剰余帯域とシステム剰余帯域のいずれかが０かどうか判定する（ステップＦ３−２５）。システム剰余帯域とシステム必要帯域のいずれも０でない場合（ステップＦ３−２５：Ｎｏ）、これらの帯域が相互に融通できることを意味するため、帯域管理サーバ１は、帯域再調整フラグの設定されたセッション間で帯域を配分する（ステップＦ３−４６）。帯域の配分方法は、例えばシステム剰余帯域を、帯域を必要としている新規セッションに等分配する方法がある。
【０１８５】
ステップＦ３−２５において、システム剰余帯域またはシステム必要帯域のいずれかが０の場合（ステップＦ３−２５：Ｙｅｓ）、帯域管理サーバ１は、ステップＦ３−２２またはステップＦ３−４３で計算した帯域変化量の累積値、即ちシステム剰余帯域またはシステム必要帯域の累積値が、システム基本情報ＤＢ１６２のシステム帯域変化閾値以下かどうか判定する（ステップＦ３−２８）。
【０１８６】
帯域変化量の累積値がシステム帯域変化閾値を超える場合（ステップＦ３−２８：Ｎｏ）、帯域管理サーバ１は、ステップＦ３−１６で選択した帯域再調整方式に従って帯域の再調整を行い、帯域更新のある帯域制御装置２へ帯域情報を送信する（ステップＦ３−４９）。一方、ステップＦ３−２８において、帯域変化量の総和がシステム帯域変化閾値以下である場合（ステップＦ３−２８：Ｙｅｓ）、帯域管理サーバ１は、システム剰余帯域、またはシステム必要帯域を更新し（ステップＦ３−３１）、システム基本情報ＤＢ１６２の帯域増減フラグと当該セッションの帯域再調整フラグを設定する（ステップＦ３−３４）。これにより、帯域調整処理を終了する（ステップＦ３−３７）。
【０１８７】
図４９は、図４８のステップＦ３−１６に示した帯域変化量の計算方法の詳細な処理手順例を示すフローチャートである。帯域管理サーバ１が、システム基本情報ＤＢ１６２の帯域計算時刻に現在時刻を記録した場合、（ステップＦ３−１０）、処理が開始する（ステップＦ４−０１）。
【０１８８】
帯域管理サーバ１は、帯域変化量の計算は調整対象のすべてのセッションに対して行う（ステップＦ４−０４）。最初に、帯域管理サーバ１は、帯域再調整情報ＤＢ１６９を参照し、当該セッションに対して未試行で最も優先度の高い帯域再調整方式を選択して（ステップＦ４−０７）、選択した帯域再調整方式が適用可能かどうか判定する（ステップＦ４−１０）。
【０１８９】
そして、選択した帯域再調整方式が適用できない方式であれば（ステップＦ４−１０：Ｎｏ）、ステップＦ４−０７へ戻り、帯域管理サーバ１は、次に優先度の高い帯域再調整方式を選択する。一方、選択した帯域再調整方式が適用可能であれば（ステップＦ４−１０：Ｙｅｓ）、帯域管理サーバ１は、装置基本情報ＤＢ１６３の次回帯域更新時刻、帯域計算時刻、帯域計算時間、帯域変化量、通信遅延を用いて再配分帯域を計算する（ステップＦ４−１３）。
【０１９０】
再配分帯域の計算は以下の手順で行われる。最初に、帯域管理サーバ１は、次回帯域更新時刻から帯域計算時刻を減算して、次回帯域更新までの残り時間を計算する。次に、帯域管理サーバ１は、残り時間からさらに帯域再調整方式の計算時間と通信遅延を減算して、帯域再調整を行ったあとの通信時間を算出する。そして、帯域管理サーバ１は、通信時間と、帯域変化量を乗算することで、実際に使用可能な通信帯域を求める。
【０１９１】
この手順によって得られる帯域変化量は、処理中のセッションに対するものであるため、帯域管理サーバ１は、算出した帯域変化量を帯域制御装置２の帯域変化量に加算する（ステップＦ４−１６）。帯域管理サーバ１は、セッションに対する帯域変化量の計算を終えたら、調整対象のすべてのセッションに対して帯域変化量の計算が完了したか否かを判定する（ステップＦ４−１９）。
【０１９２】
帯域変化量の計算が未完了のセッションが存在すれば（ステップＦ４−１９：Ｎｏ）、ステップＦ４−０４へ戻り、帯域変化量が未処理のセッションを選択して同様の計算を行う。全てのセッションに対して帯域変化量の計算を完了していれば（ステップＦ４−１９：Ｙｅｓ）、帯域変化量の計算処理を終了する（ステップＦ４−２２）。次に、帯域管理サーバ１によるシステムの定期的な帯域更新処理について説明する。
【０１９３】
図５０は、帯域管理サーバ１によるシステムの定期的な帯域更新処理の詳細な処理手順例を示すフローチャートである。帯域管理サーバ１は、所定の単位時間（例えば１秒）ごとに帯域更新の要否を判定する（ステップＦ６−０１）。最初に、帯域管理サーバ１、現在時刻が次回帯域更新時刻かどうかを判定する（ステップＦ６−０４）。次回更新時刻であれば（ステップＦ６−０４：Ｙｅｓ）、帯域管理サーバ１は、セッション数の増減、またはセッションの状態変化などの理由で、帯域管理サーバ１の帯域増減フラグが設定されているかどうかを判定する（ステップＦ６−０７）。
【０１９４】
帯域増減フラグが設定されている場合（ステップＦ６−０７：Ｙｅｓ）、帯域管理サーバ１は、帯域制御システム３００内の全セッションを対象として、帯域の再計算を行う（ステップＦ６−１０）。帯域の再計算後に、帯域管理サーバ１は、周期内に設定したシステムの帯域増減フラグとセッションの帯域再調整フラグを初期化する（ステップＦ６−１３）。一方、ステップＦ６−０７において、帯域増減フラグが設定されてない場合（ステップＦ６−０７：Ｎｏ）、帯域管理サーバ１は、帯域更新の必要なしと判定して、何も行わずに処理を終了する（ステップＦ６−１６）。
【０１９５】
＜帯域管理サーバ１の機能的構成例＞
図５１は、帯域管理サーバ１の機能的構成例を示すブロック図である。帯域管理サーバ１は、記憶部５１００と、収集部５１０１と、設定部５１０２と、受信部５１０３と、検出部５１０４と、検索部５１０５と、特定部５１０６と、算出部５１０７と、決定部５１０８と、蓄積部５１０９と、判定部５１１０と、割当部５１１１と、送信部５１１２と、を有する。記憶部５１００は、具体的には、たとえば、図２９に示した内部記憶装置１６または外部記憶装置１４によりその機能を実現する。また、収集部５１０１〜送信部５１１２は、具体的には、たとえば、図２９に示した帯域管理プログラムを制御部（ＣＰＵ）１２に実行させることにより、または、ネットワークインターフェース１０により、その機能を実現する。
【０１９６】
収集部５１０１は、帯域制御装置２群に存在するセッション群の各々について上限帯域を含むセッション情報群を帯域制御装置２群から収集して、記憶部５１００に記憶する。具体的には、たとえば、図３６のステップＳ４−０１、Ｓ４−０４、Ｓ４−０７に示したように、収集部５１０１は、各帯域制御装置２のセッション情報を定期的にまたは不定期に収集して、記憶部５１００に記憶する。
【０１９７】
設定部５１０２は、記憶部５１００に記憶されたセッション情報の上限帯域を設定する。具体的には、たとえば、対になる送信セッションおよび受信セッションについて、図４０のフローに示した上限帯域の算出処理を周期的に実行する。
【０１９８】
受信部５１０３は、帯域制御装置２群の中のいずれかの帯域制御装置２から、いずれかの帯域制御装置２に存在する第１のセッション情報を含む帯域更新要求を受信する。具体的には、たとえば、受信部５１０３は、図４２のステップＳ５−１０、図４４のステップＳ６−０７、図４５のステップＳ７−１０、図４６のステップＳ８−０７に示したように、帯域制御装置２からの帯域更新要求を受信する。
【０１９９】
検出部５１０４は、受信部５１０３によって受信された帯域更新要求に含まれる第１のセッション情報と同一セッションである第２のセッション情報を記憶部５１００から抽出し、両セッション情報に含まれる上限帯域を比較することにより、上限帯域の変化を検出する。具体的には、たとえば、検出部５１０４は、第１のセッション情報のセッション識別子と同一識別子である第２のセッション情報を、図３２および図４１に示したセッション情報ＤＢ１６７から検出する。そして、検出部５１０４は、第１のセッション情報の上限帯域と第２のセッション情報の上限帯域ととを比較して、同一であるか否かを判断する。同一である場合は、上限帯域が変化していないことになり、同一でない場合は、上限帯域が変化したことになる。
【０２００】
検索部５１０５は、検出部５１０４によって上限帯域の変化が検出された場合、いずれかの帯域制御装置２の送信先の帯域制御装置２を特定し、送信先の帯域制御装置２からいずれかの帯域制御装置２への通信を規定する第３のセッション情報を記憶部５１００から検索する。具体的には、たとえば、検索部５１０５は、上限帯域の変化が検出された場合、帯域更新要求を送信した帯域制御装置２を送信元としたセッション情報を記憶部５１００から検索する。そして、検索部５１０５は、検索したセッション情報における送信先の帯域制御装置２を送信元とし、帯域更新要求を送信した帯域制御装置２を送信先とするセッション情報（上述した第３のセッション情報）を記憶部５１００から検索する。
【０２０１】
特定部５１０６は、検索部５１０５によって検索された第３のセッション情報により指定されるセッションの帯域変化量を特定する。具体的には、たとえば、特定部５１０６は、図４８のステップＦ３−０４に示したように、帯域更新要求で通知されたセッションの帯域変化量を抽出し、セッション情報ＤＢ１６７の帯域再調整フラグを設定する。
【０２０２】
算出部５１０７は、特定部５１０６によって特定された帯域変化量を用いて再配分帯域を算出する。具体的には、たとえば、算出部５１０７は、図４８のステップＦ３−１６に示したように、調整対象となるすべてのセッションについて、システム基本情報ＤＢ１６２の次回帯域更新時刻、帯域計算時刻と、選択した帯域再調整方式の帯域計算時間、算出した帯域変化量を用いて、再配分帯域を計算する。
【０２０３】
決定部５１０８は、第３のセッション情報により指定されるセッションの状態変化に基づいて、特定部５１０６によって特定された帯域変化量を、セッションの使用帯域を減少させる第１の帯域変化量と使用帯域を増加させる第２の帯域変化量のいずれかに決定する。具体的には、たとえば、決定部５１０８は、図４８のステップＦ３−１９に示したように、帯域変化が使用帯域を減少させるものか増加させるものかを判断する。決定に利用される帯域変化量は、特定部５１０６によって特定された帯域変化量でもよく、算出部５１０７によって算出された再配分帯域でもよい。
【０２０４】
蓄積部５１０９は、決定部５１０８によって第１の帯域変化量に決定された場合、第３のセッション情報により指定されるセッションの帯域変化量を未使用帯域に蓄積し、決定部５１０８によって第２の帯域変化量に決定された場合、第３のセッション情報により指定されるセッションの帯域変化量を必要帯域に蓄積する。具体的には、たとえば、図４８のステップＦ３−２に示したように、蓄積部５１０９は、セッション群の使用帯域を減少させる第１の帯域変化量に決定された場合、第３のセッション情報により指定されるセッションの未使用領域であるシステム剰余帯域に加算する。また、図４８のステップＦ３−４３に示したように、蓄積部５１０９は、決定部５１０８によって使用帯域を増加させる第２の帯域変化量に決定された場合、第３のセッション情報により指定されるセッションの帯域変化量をシステム必要帯域に蓄積する。
【０２０５】
判定部５１１０は、未使用帯域および必要帯域のうち第３のセッション情報により指定されるセッションの帯域変化量が蓄積された方の帯域がしきい値を超えたか否かを判定する。具体的には、たとえば、判定部５１１０は、図４８のステップＦ３−２５に示したように、システム剰余帯域とシステム必要帯域のいずれか一方が０であるか否かを判定する。そして、少なくともいずれかが０である場合、判定部５１１０は、図４８のステップＦ３−２８に示したように、ステップＦ３−２またはステップＦ３−４３で計算した帯域変化量の総和、即ちシステム剰余帯域の総和またはシステム必要帯域の総和が、システム基本情報ＤＢ１６２の帯域変化閾値以下かどうか判定する。
【０２０６】
割当部５１１１は、判定部５１１０によってしきい値を超えた帯域に蓄積された帯域変化量の総和を、当該帯域に応じて割り当てる。具体的には、たとえば、割当部５１１１は、図４８に示したように、帯域変化量の累積値がシステム帯域変化閾値を超える場合（ステップＦ３−２８：Ｎｏ）、図４２のステップＳ５−２および図４４のステップＳ６−１９に示したように、ステップＦ３−１６で選択した帯域再調整方式に従って帯域の再調整を行う。
【０２０７】
なお、図４８に示したように、帯域変化量の総和がシステム帯域変化閾値以下である場合（ステップＦ３−２８：Ｙｅｓ）、割当部５１１１は、システム剰余帯域、またはシステム必要帯域を更新し、システム基本情報ＤＢ１６２の帯域増減フラグと当該セッションの帯域再調整フラグを設定する。
【０２０８】
また、割当部５１１１は、未使用帯域および必要帯域のいずれの帯域にも帯域変化量が蓄積されている場合、未使用帯域に蓄積された帯域変化量の総和を、セッション群のうち必要帯域に帯域変化量を蓄積したセッションに割り当てる。具体的には、たとえば、図４８のステップＦ３−４６に示したように、システム剰余帯域およびシステム必要帯域が相互に融通できることを意味するため、割当部５１１１は、帯域再調整フラグの設定されたセッション間で帯域を配分する。
【０２０９】
送信部５１１２は、割当部５１１１からの帯域情報または帯域不更新通知を各帯域制御装置２に送信する。帯域情報や帯域不更新通知は、セッションごとに生成されるため、該当する帯域制御装置２に対し、帯域情報または帯域不更新通知が送信される。帯域情報を受信した帯域制御装置２は、図４２のステップＳ５−３４および図４４のステップＳ６−３１に示したように、帯域情報を参照して通信高速化処理を実行することになる。帯域不更新通知を受信した帯域制御装置２は、通信高速化処理を実行しない。
【０２１０】
このように、実施例２によれば、帯域管理サーバ１が各帯域制御装置２の状態を監視するため、図４２に示したように、ある帯域制御装置２による帯域再調整結果よりも効率的にすることができる場合には、帯域管理サーバ１が計算した上限帯域により、帯域調整を更新させることができ、通信の効率化を図ることができる。
【０２１１】
また、図４５に示したように、すでに通信高速化処理を実行済みの帯域制御装置２は、帯域不更新通知の受信後において再度通信高速化処理を実行しなくてもよいため、帯域更新要求を送信してから帯域不更新通知を受信するまでの間においても通信の効率化を図ることができる。
【０２１２】
また、図４４および図４６に示したように、帯域情報を受信するまで帯域制御装置２側で帯域調整を待機しておくことにより、帯域制御装置２の計算負荷の低減を図ることができる。このように、ある帯域制御装置２が帯域再調整が必要であると判断しても、帯域管理サーバ１は帯域再調整が不要と判断する場合があったり、管理サーバ１も帯域再調整が必要と判断する場合がある。帯域管理サーバ１は帯域再調整が必要と判断した場合は、帯域管理サーバ１の判断結果を優先することにより、帯域制御装置２による再調整よりも通信を効率化することができる。また、帯域管理サーバ１は帯域再調整が不要と判断した場合は、帯域制御装置２の再調整により十分効率的な通信をおこなうことができるため、通信の効率化を図ることができる。
【０２１３】
また、実施例２においても、帯域制御装置については、実施例１と同様の処理が実行されるため、計算機資源の効率的な利用を図ることができるとともに、計算時間の長期化による通信効率の低下を抑制することができる。また、計算時間がかかっても優先的に割り当てるべきセッションがある場合には、当該セッションを優先的に割り当てることにより、再割当の自由度の向上を図ることができる。
【０２１４】
以上に説明したように、本発明の実施の形態によれば、計算機資源の効率的な利用を図ることができるとともに、計算時間の長期化による通信効率の低下を抑制することができる。また、計算時間がかかっても優先的に割り当てるべきセッションがある場合には、当該セッションを優先的に割り当てることにより、再割当の自由度の向上を図ることができる。
【０２１５】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０２１６】
１  帯域管理サーバ
２  帯域制御装置
２７０１  検出部
２７０２  特定部
２７０３  算出部
２７０４  決定部
２７０５  蓄積部
２７０６  判定部
２７０７  割当部
２７０８  更新部
５１００  記憶部
５１０１  収集部
５１０２  設定部
５１０３  受信部
５１０４  検出部
５１０５  検索部
５１０６  特定部
５１０７  算出部
５１０８  決定部
５１０９  蓄積部
５１１０  判定部
５１１１  割当部
５１１２  送信部
【図１】
2014192882.tif 000003
【図２】
2014192882.tif 000004
【図３】
2014192882.tif 000005
【図４】
2014192882.tif 000006
【図５】
2014192882.tif 000007
【図６】
2014192882.tif 000008
【図７】
2014192882.tif 000009
【図８】
2014192882.tif 000010
【図９】
2014192882.tif 000011
【図１０】
2014192882.tif 000012
【図１１】
2014192882.tif 000013
【図１２】
2014192882.tif 000014
【図１３】
2014192882.tif 000015
【図１４】
2014192882.tif 000016
【図１５】
2014192882.tif 000017
【図１６】
2014192882.tif 000018
【図１７】
2014192882.tif 000019
【図１８】
2014192882.tif 000020
【図１９】
2014192882.tif 000021
【図２０】
2014192882.tif 000022
【図２１】
2014192882.tif 000023
【図２２】
2014192882.tif 000024
【図２３】
2014192882.tif 000025
【図２４】
2014192882.tif 000026
【図２５】
2014192882.tif 000027
【図２６】
2014192882.tif 000028
【図２７】
2014192882.tif 000029
【図２８】
2014192882.tif 000030
【図２９】
2014192882.tif 000031
【図３０】
2014192882.tif 000032
【図３１】
2014192882.tif 000033
【図３２】
2014192882.tif 000034
【図３３】
2014192882.tif 000035
【図３４】
2014192882.tif 000036
【図３５】
2014192882.tif 000037
【図３６】
2014192882.tif 000038
【図３７】
2014192882.tif 000039
【図３８】
2014192882.tif 000040
【図３９】
2014192882.tif 000041
【図４０】
2014192882.tif 000042
【図４１】
2014192882.tif 000043
【図４２】
2014192882.tif 000044
【図４３】
2014192882.tif 000045
【図４４】
2014192882.tif 000046
【図４５】
2014192882.tif 000047
【図４６】
2014192882.tif 000048
【図４７】
2014192882.tif 000049
【図４８】
2014192882.tif 000050
【図４９】
2014192882.tif 000051
【図５０】
2014192882.tif 000052
【図５１】
2014192882.tif 000053