図1は、本発明の第一の実施形態である通信システム100の概略図である。
図示するように、通信システム100は、通信装置101A〜101D(以下、個々の通信装置101A〜101Dを特に区別しない場合には、通信装置101という)と、ゲートウェイ(以下、GWという)110A、110B(以下、個々のGW110A、110Bを特に区別しない場合には、GW110という)と、を備えており、GW110は、終端装置102A、102Bを介してネットワーク103に接続することができるようにされている。
通信装置101は、ネットワーク103を介して通信を行う装置で、例えば、パーソナルコンピュータ、IP電話、STB(Set Top Box)、Webカメラ等、通信を行うことのできる装置であればどのような装置であってもよい。なお、本実施形態においてはパーソナルコンピュータを例に説明を行うがこのような態様に限定されるわけではない。
終端装置102A、102Bは、アクセス回線の終端装置であって、例えば、光ファイバを介してネットワーク103に接続するための光終端装置である。これは、汎用の光回線終端装置を用いればよいため、説明を省略する。
本実施形態におけるネットワーク103には、SIPに従った呼制御を行う呼制御サーバが接続されているものとする。この呼制御サーバについては、汎用のものを用いればよいため、説明を省略する。
図2は、GW110の概略図である。
図示するようにGW110は、記憶部120と、制御部130と、シェーパー部140と、第一のIF部150と、第二のIF部151と、を備える。
記憶部120は、変更情報記憶領域121と、基準値情報記憶領域122と、帯域情報記憶領域123と、を備える。
変更情報記憶領域121には、帯域を変更するための条件を特定する情報と、当該条件に対応して変更する帯域を特定する情報と、が通信プロトコル毎に記憶される。
例えば、変更情報記憶領域121には、図3(変更テーブル121aの概略図)に示すような変更テーブル121aが通信プロトコル毎に記憶される。
なお、図3に示す変更テーブル121aは、HTTP(Hypertext Transfer Protocol)用のものである。
変更テーブル121aは、受信帯域欄121bと、変更帯域欄121cと、を備える。
受信帯域欄121bには、帯域を変更するための条件として、第一のIF150側の通信装置101(GW110を介してネットワーク103に接続する通信装置101)から受信するデータの通信帯域の範囲を特定する情報が格納される。
ここで、本実施形態においては、後述するトラフィック監視部133で検知された第一のIF150側の通信装置101から受信するデータの通信帯域の比較値をYとし、プロトコル毎(ここでは、HTTP)に定められる帯域の初期値をX1としている。
変更帯域欄121cには、後述するトラフィック監視部133で検知された第一のIF150側(LAN側)の通信装置101から受信するデータの通信帯域の比較値が、受信帯域欄121bに示す条件に合致する(範囲内である)場合に、シェーパー部140で制限を行う帯域を変更する値を特定する情報が格納される。
ここで、本実施形態においては、プロトコル毎(ここでは、HTTP)に定められる帯域の初期値をX1とし、この初期値X1と、この初期値X1に増減する値と、を定めることで帯域を特定している。なお、本実施形態では、HTTPにおける初期値X1は、1〔Mb/s〕としているがこのような態様に限定されるわけではない。
基準値情報記憶領域122には、GW110を介して通信を行うセッション毎に、シェーパー部140に設定する帯域の基準値を特定する情報が格納される。
例えば、基準値情報記憶領域122には、図5(基準値テーブル122aの概略図)に示すような基準値テーブル122aが記憶される。
基準値テーブル122aは、接続元ポート番号欄122bと、接続先ポート番号欄122cと、プロトコル欄122dと、帯域欄122eと、を備える。
接続元ポート番号欄122bには、接続元である通信装置101のポート番号を特定する情報が格納される。
接続先ポート番号欄122cには、接続先である通信装置101のポート番号を特定する情報が格納される。
プロトコル欄122dには、接続元ポート番号欄122b及び接続先ポート番号欄122cで特定されるセッションにおいて使用される通信プロトコルを特定する情報が格納される。
帯域欄122eには、接続元ポート番号欄122b及び接続先ポート番号欄122cで特定されるセッションにおいて使用される帯域を特定する情報が格納される。
帯域情報記憶領域123には、GW110を介して通信を行うセッション毎に、後述するトラフィック監視部133で検知された第一のIF150側の通信装置101から受信するデータの通信帯域を特定する情報が記憶される。
例えば、帯域情報記憶領域123には、図6(帯域テーブル123aの概略図)に示すような帯域テーブル123aが、各々のセッション毎に記憶される。
帯域テーブル123aには、後述するトラフィック監視部133が第一のIF150側の通信装置101から受信するデータの通信帯域を検知する毎に、新たなレコードが追加されて、検知した帯域を特定する情報が格納される。
制御部130は、全体制御部131と、SIP処理部132と、トラフィック監視部133と、帯域制御部134と、を備える。
全体制御部131は、GW110における全体の処理を制御する。
特に、本実施形態においては、後述する第一のIF150を介して送受信するデータと、第二のIF部151を介して送受信するデータと、の間のプロトコルの変換を行う。
SIP処理部132は、SIPを用いたメッセージを送受信する等、SIPに従った処理を制御する。
特に、本実施形態においては、SIP処理部132は、後述する帯域制御部134から通信中のセッションの帯域を変更する指示を受けた場合には、帯域を変更するSIPメッセージ(本実施形態においては、UPDATEメッセージ)を生成して、第二のIF部151を介して送信する処理を行う。
ここで、本実施形態で使用するUPDATEメッセージの一例を図7に示す。
図7は、本実施形態で使用するUPDATEメッセージ170の構造を示す概略図である。
図示するように、本実施形態で使用するUPDATEメッセージ170は、スタートライン170aと、ヘッダ部170bと、メッセージボディ170cと、を備える。
スタートライン170a及びヘッダ部170bに格納する情報については、SIPに定めるフォーマットに従えばよいため、詳細な説明は省略する。
メッセージボディ170cには、SDP(Session Description Protocol)に従って、セッションの更新情報を特定する情報が格納される。
そして、本実施形態においては、SIP処理部132は、後述する帯域制御部134から通信中のセッションの帯域を変更する指示を受けた場合に、変更後の帯域を特定する情報を、メッセージボディ170cの「b=」の行のSDP要素の値として格納する。
トラフィック監視部133は、通信装置101からネットワーク103に送信するデータを当該通信装置101から受信する際における通信帯域を、各々のセッション毎に算出する。
例えば、本実施形態においては、トラフィック監視部133は、第一のIF部150を介して通信装置101から受信したデータを後述するシェーパー部140に出力する際に、当該データのデータ量を特定の時間間隔(本実施形態においては、1秒間隔)で計測することにより、通信装置101との間の通信帯域を算出する。
そして、トラフィック監視部133は、以上のようにして算出した通信帯域を帯域情報記憶領域123に記憶されている帯域テーブル123aに格納する。
帯域制御部134は、各々のセッション毎に設けられている帯域テーブル123aに格納される通信帯域を監視して、第二のIF部151から送信する帯域との間に不整合が生じている場合には、第二のIF部151から送信する帯域を変更する処理を制御する。
例えば、帯域制御部134は、各々のセッション毎に設けられている帯域テーブル123aに格納される通信帯域が、予め定められた帯域の基準値を、予め定められた回数連続して超えている場合、または、予め定められた回数連続して満たさない場合には、当該通信帯域より帯域の比較値を算出して、変更情報記憶領域121に記憶されている変更テーブル121aの受信帯域欄121bに格納されている条件を満たすレコードの変更帯域欄121cに格納されている帯域となるように、第二のIF部151から送信する帯域を変更する指示をSIP処理部132に出す。
ここで、本実施形態においては、帯域制御部134は、帯域テーブル123aに格納される通信帯域が、10回連続して基準値テーブル122aの帯域欄122eで特定される帯域の基準値を超えた場合には、10回連続して基準値を超えた通信帯域のうちの最大値を比較値とするが、このような回数に限定されるわけではない。
一方、帯域制御部134は、帯域テーブル123aに格納される通信帯域が、30回連続して基準値テーブル122aの帯域欄122eで特定される帯域の基準値を満たさない場合には、30回連続して基準値を満たさない通信帯域のうちの最小値を比較値とするが、このような回数に限定されるわけではないが、基準値を超えている際に変更することを判断する回数(ここでは、10回)よりは大きくなるようにすることが望ましい。
そして、帯域制御部134は、SIP処理部132が帯域の変更を知らせるSIPメッセージの応答として成功応答を取得した場合には、後述するシェーパー部140を制御して、対象となるセッションにつき、第二のIF部151から送信するデータの帯域を変更するとともに、変更した帯域を基準値テーブル122aの対応するレコードにおける帯域欄122eに格納する。
シェーパー部140は、帯域制御部134の指示に応じた帯域制限を行う。
第一のIF部150は、通信装置101との間で通信を行うためのインターフェースである。ここで、第一のIF部150は、LANを介して通信装置101と接続されていてもよく、また、シリアルケーブル、USBケーブル等により通信装置101に接続されていてもよい。
第二のIF部151は、ネットワーク103を介して通信を行うためのインターフェースである。
図8は、以上のように構成される通信システム100における帯域変更処理を示すシーケンス図である。ここでは、通信装置101Cが通信装置101Aからデータを取得する際の処理を例に説明する。
まず、通信装置101Cは、通信装置101AのURL(Uniform Resource Locator)を特定して、HTTPに従ったGETリクエストを送信する(S10)。
GW110Bでは、SIP処理部132が、通信装置101Cより受信したGETリクエストよりSIPのINVITEメッセージを生成して、ネットワーク103に接続されている呼制御サーバに送信する(S11)。ここで、SIP処理部132は、HTTP用の変更テーブル121aの受信帯域欄121bにおいて「初期値」と入力されているレコードの変更帯域欄121cに格納されている帯域(初期値)を取得し、INVITEメッセージのメッセージボディにおいて取得した帯域をSDPに従って記述する。
そして、このようなINVITEメッセージを受信した呼制御サーバは予め登録されているレジスタ情報に基づいて、受信したINVITEメッセージを通信装置101Aが接続されているGW110Aに転送する(S12)。
GW110Aでは、SIP処理部132が受信したINVITEメッセージより必要な情報を抽出し、全体制御部131がHTTPに従ったGETリクエストを生成し、通信装置101Aに送信する(S13)。
また、呼制御サーバは、GW110BからINVITEメッセージを受信(S11)すると、100TryingメッセージをGW110Bに送信する(S14)。
さらに、GW110Aは、受信したINVITEメッセージに対して、処理中であることを示すレスポンスである100Tryingメッセージを返信する(S15)。
そして、GW110Aは、呼出中であることを示すレスポンスである180Ringingメッセージを返信し(S16)、呼制御サーバは、180RingingメッセージをGW110Bに転送する(S17)。
そして、通信装置101Aは、HTTPに従ったGETリクエストに対する成功応答である200OKメッセージをHTTPに従ってGW110Aに送信する(S18)。
このような200OKメッセージを受信したGW110Aは、全体制御部131が受信した200OKメッセージより必要な情報を抽出し、SIP処理部132がSIPに従った200OKメッセージを生成して、第二のIF部151を介して送信する(S19)。
この際、GW110Aの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aに新たなレコードを追加して、対応する欄に対応する情報を追加して、セッションの管理を行う。ここで、基準値テーブル122aの帯域欄122eに格納される情報は、HTTPについて予め定められた帯域の初期値(ここでは、1Mb/s)である。
そして、呼制御サーバは、このような200OKメッセージをGW110Bに転送する(S20)。
そして、GW110Bでは、SIP処理部132が、受信した200OKメッセージより必要な情報を抽出し、全体制御部131がHTTPに従った200OKメッセージを生成し、通信装置101Cに送信する(S21)。
この際、GW110Bの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aに新たなレコードを追加して、対応する欄に対応する情報を追加して、セッションの管理を行う。ここで、基準値テーブル122aの帯域欄122eに格納される情報は、HTTPについて予め定められた帯域の初期値(ここでは、1Mb/s)である。
また、GW110Bでは、SIP処理部132が、200OKメッセージに対してACKメッセージを返信し(S22)、呼制御サーバがGW110Aに転送する(S23)。
このようにして、GW110B及びGW110A間にセッションが確立して、通信装置101Aから通信装置101Cにデータが送信される(S24)。
通信装置101Aからの受信データの通信帯域については、GW110Aのトラフィック監視部133が周期的(ここでは、1秒毎)に算出して、帯域情報記憶領域123に記憶されている帯域テーブル123aに格納する。
そして、通信装置101Aから送信されるデータの通信帯域が増加した場合(ここでは、1Mb/sから2Mb/sに増加したものとする)(S25)、帯域制御部134は、トラフィック監視部133が算出した通信帯域が、連続して予め定められた回数(ここでは、10回)、予め定められた基準値(ここでは、基準値テーブル122aの帯域欄122eに格納されている帯域)を超えていると判断することにより、SIP処理部132に帯域を変更するよう指示を出す。この際、帯域制御部134は、基準値を超えた通信帯域の中から最大値を取得して、当該最大値を比較値として、HTTP用の変更テーブル121aの受信帯域欄121bで特定される条件を満たすレコードを特定し、当該レコードの変更帯域欄121cに格納されている帯域を取得して(ここでは、2Mb/sの帯域が取得されたものとする)、SIP処理部132に通知する。
そして、SIP処理部132は、帯域制御部134より通知された帯域(2Mb/s)に変更するよう、UPDATEメッセージを生成して、第二のIF部151を介して、送信する(S26)。
このようなUPDATEメッセージは、呼制御サーバを介して、GW110Bに転送される(S27)。
そして、このようなUPDATEメッセージを受信したGW110Bでは、SIP処理部132が、成功応答である200OKメッセージを返信する(S28)。
この際、GW110BのSIP処理部132は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションの帯域欄122eに格納されている帯域(ここでは、1Mb/s)を、UPDATEメッセージで特定されている帯域(2Mb/s)に更新する。
GW110Bから返信された200OKメッセージは、呼制御サーバを介してGW110Aに転送され(S29)、GW110B及びGW110A間のセッションの帯域が広帯域に変更される(S30)。
この際、GW110Aの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションの帯域欄122eに格納されている帯域(ここでは、1Mb/s)を、変更後の帯域(2Mb/s)に更新する。
一方、通信装置101Aから送信されるデータの通信帯域が減少した場合(ここでは、2Mb/sから1Mb/sに減少したものとする)(S31)、帯域制御部134は、トラフィック監視部133が算出した通信帯域が、連続して予め定められた回数(ここでは、30回)、予め定められた基準値(ここでは、基準値テーブル122aの帯域欄122eに格納されている帯域)を満たさないと判断することにより、SIP処理部132に帯域を変更するよう指示を出す。この際、帯域制御部134は、基準値を満たさない通信帯域の中から最小値を取得して、当該最小値を比較値として、HTTP用の変更テーブル121aの受信帯域欄121bで特定される条件を満たすレコードを特定し、当該レコードの変更帯域欄121cに格納されている帯域を取得して(ここでは、1Mb/sの帯域が取得されたものとする)、SIP処理部132に通知する。
そして、SIP処理部132は、帯域制御部134より通知された帯域(1Mb/s)に変更するよう、UPDATEメッセージを生成して、第二のIF部151を介して、送信する(S32)。
このようなUPDATEメッセージは、呼制御サーバを介して、GW110Bに転送される(S33)。
そして、このようなUPDATEメッセージを受信したGW110Bでは、帯域を変更しても良い場合には、SIP処理部132が、成功応答である200OKメッセージを返信する(S34)。例えば、GW110Bの帯域制御部134は、通信装置101Cから通信装置101Aにデータを送信している場合であって、UPDATEメッセージで特定されている帯域が、通信装置101Cから通信装置101Aにデータを送る際の通信帯域(帯域テーブル123aで特定)よりも狹帯域になってしまうような場合には、200OKメッセージではなくエラーメッセージを送信する。
この際、GW110Bの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションの帯域欄122eに格納されている帯域(ここでは、2Mb/s)を、UPDATEメッセージで特定されている帯域(1Mb/s)に更新する。
GW110Bから返信された200OKメッセージは、呼制御サーバを介してGW110Aに転送され(S35)、GW110B及びGW110A間のセッションの帯域が狹帯域に変更される(S36)。
この際、GW110Aの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションの帯域欄122eに格納されている帯域(ここでは、2Mb/s)を、変更後の帯域(1Mb/s)に更新する。
また、通信装置101Aから送信されるデータが途切れた場合、帯域制御部134は、トラフィック監視部133が算出した通信帯域が、連続して予め定められた回数(ここでは、60回)、「0Mb/s」であると判断することにより、SIP処理部132にセッションを終了するよう指示を出す。
そして、SIP処理部132は、帯域制御部134の指示に応じて、BYEメッセージを生成して、第二のIF部151を介して、送信する(S37)。
このようなBYEメッセージは、呼制御サーバを介して、GW110Bに転送される(S38)。
そして、このようなBYEメッセージを受信したGW110Bでは、SIP処理部132が、成功応答である200OKメッセージを返信する(S39)。
この際、GW110Bの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションのレコードを削除する。
GW110Bから返信された200OKメッセージは、呼制御サーバを介してGW110Aに転送され(S40)、GW110B及びGW110A間のセッションが終了する。
この際、GW110Aの帯域制御部134は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションのレコードを削除する。
図9は、GW110において帯域を変更するメッセージを送信し、帯域を変更する際の処理を示すフローチャートである。
まず、帯域制御部134は、記憶部120の帯域情報記憶領域123に記憶されている帯域テーブル123aに記憶されている第一のIF部150を介して受信したデータの通信帯域が、所定の回数、所定の基準値(基準値テーブル122aの帯域欄122eに格納されている帯域)を超えているか、または、当該所定の基準値を満たしていないか、を確認する(S50)。
そして、所定の基準値を超えており、または、所定の基準値を満たしていない場合(ステップS50でYESの場合)には、帯域制御部134は、帯域テーブル123aに記憶されている通信帯域から比較値を算出し、当該比較値が満たす条件を変更テーブル121a、121dの受信帯域欄121b、121eから特定し、特定した条件に対応するレコードの変更帯域欄121c、121fから変更する帯域を決定する(S51)。
そして、帯域制御部134は、ステップS51で決定した帯域を通知して、SIP処理部132に帯域を変更するためのメッセージを生成するように指示を出し、このような指示を受けたSIP処理部132は、帯域を変更するためのメッセージ(ここでは、UPDATEメッセージ)を生成して、第二のIF部151を介して送信し(S52)、当該メッセージに対する応答メッセージを受信するまで待機する(S53)。
そして、SIP処理部132が、ステップS52で送信したUPDATEメッセージに対する成功応答を受信した場合には(S53でYES)、帯域制御部134は、シェーパー部140での帯域を変更する(S54)。
図10は、GW110において帯域を変更するメッセージを受信した際の処理を示すフローチャートである。
まず、帯域制御部134は、SIP処理132が、メッセージボディにおいて現在の帯域とは異なる帯域を指定したUPDATEメッセージを受信したか否かを確認し(S60)、そのようなUPDATEメッセージを受信した場合には(ステップS60でYES)、UPDATEメッセージで特定されている帯域に変更可能か否かを確認する(S61)。
ここで、ステップS61では、帯域制御部134は、帯域の変更の対象となっているセッションにおいて、当該セッションの相手方である通信装置101に対して送信しているデータの帯域を帯域テーブル123aで確認し、直近の予め定められた回数(例えば、5回)の通信帯域がUPDATEメッセージで特定されている帯域を超えている場合には、帯域変更が不可能と判断する。
そして、帯域制御部134は、ステップS61で帯域の変更が可能と判断した場合には、SIP処理部132を介して成功応答(200OK)メッセージを送信し(S62)、シェーパー部140での帯域を変更する(S63)。
一方、帯域制御部134は、ステップS61で帯域の変更が不可能と判断した場合には、SIP処理部132を介してエラー応答メッセージ(例えば、400番台のメッセージ)を送信する(S64)。
以上のように本実施形態によれば、GW110は、通信端末101から得られるデータの通信帯域に応じて、ネットワーク103に張られているセッションの通信帯域を変更することができるようになり、シェーパー部140で削除されてしまう通信データの量を減らすことができるようになる。
以上に記載した実施形態においては、例えば、変更情報記憶領域121に、図3に示すようなHTTP用の変更テーブル121aを記憶するようにしているが、他のプロトコル用の変更テーブルとして、例えば、図4(変更テーブル121dの概略図)に示すような変更テーブル121d等も記憶されている。
図4に示す変更テーブル121dは、RTP(Real-time Transport Protocol)用のものであり、図3に示すHTTP用の変更テーブル121aと同様の構成となっているため説明を省略するが、本実施形態においては、RTPにおける初期値X2は、0.5〔Mb/s〕としているがこのような態様に限定されるわけではない。
なお、ここではHTTP用の変更テーブル121aと、RTP用の変更テーブル121dと、を例に説明したが、変更テーブルはこれらの二つに限定されるわけではなく、GW110を介して通信を行うプロトコル毎に変更テーブルを変更情報記憶領域121に記憶しておく。
以上に記載した実施形態においては、SIP処理部132は、セッションの帯域を変更するメッセージとして、UPDATEメッセージを用いているが、このような態様に限定されず、例えば、re−INVITEメッセージを用いることも可能であり、また、その他のメッセージ(例えば、INFOメッセージやMESSAGEメッセージ)においてSDPに対応した記述領域を設けておくことで、帯域を変更するようにしてもよい。
また、以上に記載した実施形態のようにSIPメッセージを用いずに独自のメッセージや信号をGW110間で送受信することで、帯域を変更するようにしてもよい。
以上に記載した実施形態においては、変更テーブル121aの変更帯域欄121bに格納されている条件との比較を行う比較値を、各々のセッション毎に設けられている帯域テーブル123aに格納される通信帯域の最大値を用いているが、このような態様に限定されるわけではなく、例えば、予め定められた帯域の基準値を予め定められた回数連続して超えている帯域、または、予め定められた回数連続して満たさない帯域、の平均値を算出して、算出した平均値を比較値とすることもできる。
また、以上に記載した実施形態においては、プロトコル毎に変更テーブルが予め定められて記憶されているようになっているが、このような態様に限定されず、例えば、通信装置から送信するデータに優先度が定められている場合には、この優先度毎に、変更テーブルを予め定めておくことも可能である。この場合には、優先度が高いほど、変更後の通信帯域が広帯域に変更されるようにしたり、通信帯域を変更するための条件(範囲)をより狭い範囲にして、より送信するデータの量にリニアに通信帯域が変更されるようにしたりすることも可能である。さらに、プロトコル毎、かつ、優先度毎、に変更テーブルを予め定めておくことも可能である。
次に、本発明の第二の実施形態である通信システムについて説明する。
ここで、本発明の第二の実施形態である通信システムは、第一の実施形態と同様に構成されるが、第一の実施形態とはGWが異なっているため、以下この異なっている部分に関連する事項について説明する。
図11は、本発明の第二の実施形態である通信システムに使用されるGW210の概略図である。
図示するように、本実施形態に係るGW210は、記憶部120と、制御部230と、シェーパー部140と、バッファ部241と、第一のIF部150と、第二のIF部151と、を備える。
ここで、本実施形態に係るGW210は、第一の実施形態と比較して、制御部230と、バッファ部241と、が異なっているため、以下これらに関連する事項について説明する。
本実施形態における制御部230は、全体制御部131と、SIP処理部132と、トラフィック監視部133と、帯域制御部234と、を備え、第一の実施形態と比較して帯域制御部234が異なっているため、以下、この異なっている点に関連する事項について説明する。
本実施形態における帯域制御部234は、第一の実施形態と同様の処理を行うほか、シェーパー部140で破棄されたデータをバッファ部241に記憶し、第二のIF部151を介した通信の帯域を広帯域に変更した際に、バッファ部241に記憶されたデータを送信する処理を制御する。
本実施形態におけるバッファ部241は、帯域制御部234の指示に応じて、シェーパー部140で破棄されたデータを記憶するとともに、帯域制御部234の指示に応じて、記憶したデータをシェーパー部140に出力する。
なお、以上のように、バッファ部241は、シェーパー部140で破棄されたデータを充分に記憶することができるような記憶容量を備える記憶装置で構成する。
以上のように、本実施形態においては、第一のIF部150から通信中に大量のデータが送信されてきた場合であっても、バッファ部241に記憶しておくことができるため、送信すべきデータが破棄されてしまうことを防止することができる。
なお、本実施形態においては、バッファ部241において、シェーパー部140であふれたデータを記憶するようにしているが、このような態様に限定されず、例えば、シェーパー部140に第一のIF部150から得られるデータを充分に記憶することのできるバッファを設けておくようにすることも可能である。
次に、本発明の第三の実施形態である通信システムについて説明する。
ここで、本発明の第三の実施形態である通信システムは、第一の実施形態と同様に構成されるが、第一の実施形態とはGWが異なっているため、以下この異なっている部分に関連する事項について説明する。
図12は、本発明の第三の実施形態である通信システムに使用されるGW310の概略図である。
図示するように、本実施形態に係るGW310は、記憶部320と、制御部330と、シェーパー部140と、第一のIF部150と、第二のIF部151と、を備える。
ここで、本実施形態に係るGW310は、第一の実施形態と比較して、記憶部320及び制御部330が異なっているため、以下これらに関連する事項について説明する。
本実施形態における記憶部320は、変更情報記憶領域321と、基準値情報記憶領域122と、バッファ量記憶領域324と、を備え、第一の実施形態と比較して、変更情報記憶領域321及びバッファ量記憶領域324が異なっているため、以下これらに関連する事項について説明する。
本実施形態における変更情報記憶領域321には、第一の実施形態と同様に、帯域を変更するための条件を特定する情報と、当該条件に対応して変更する帯域を特定する情報と、が通信プロトコル毎に記憶されるが、第一の実施形態とは、帯域を変更するための条件が異なっている。
例えば、変更情報記憶領域321には、図13(変更テーブル321aの概略図)に示すような変更テーブル321a等が通信プロトコル毎に記憶される。
図13に示す変更テーブル321aは、HTTP用のものである。
変更テーブル321aは、バッファ量欄321bと、変更帯域欄321cと、を備える。
バッファ量欄321bには、帯域を変更するための条件として、シェーパー部140にバッファされるバッファ量の範囲を特定する情報が格納される。
ここで、バッファ量欄321bにおいては、トラフィック監視部333で検知されたシェーパー部140のバッファ量を「Z」の記号で表している。
変更帯域欄321cには、後述するトラフィック監視部333で検知されたシェーパー部140のバッファ量(Z)が、バッファ量欄321bに示す条件に合致する(範囲内である)場合に、シェーパー部140で制限を行う帯域を変更する値を特定する情報が格納される。
ここで、本実施形態においては、プロトコル毎(ここでは、HTTP)に定められる帯域の初期値をXとし、この初期値Xと、この初期値Xに増減する値と、を定めることで帯域を特定している。なお、本実施形態においても、HTTPにおける初期値Xは、1〔Mb/s〕としているがこのような態様に限定されるわけではない。
バッファ量記憶領域324には、後述するトラフィック監視部333で検知されたシェーパー部140のバッファ量が、各々のセッション毎に記憶される。
本実施形態における制御部330は、全体制御部131と、SIP処理部132と、トラフィック監視部333と、帯域制御部334と、を備え、第一の実施形態と比較して、トラフィック監視部333及び帯域制御部334が異なっているため、以下、これらの異なっている点に関連する事項について説明する。
本実施形態におけるトラフィック監視部333は、シェーパー部140にバッファされているデータ量(バッファ量)をセッション毎に算出して、算出したデータ量(バッファ量)をバッファ量記憶領域324に記憶する処理を行う。
なお、シェーパー部140にバッファされているデータ量(バッファ量)については、例えば、シェーパー部140に入力するデータ量と、シェーパー部140から出力されたデータ量と、を各々のセッション毎に算出することにより算出可能である。
本実施形態における帯域制御部334は、各々のセッション毎にバッファ量記憶領域324に記憶されているバッファ量を監視して、当該バッファ量が、変更情報記憶領域321に記憶されている変更テーブル321aのバッファ量欄321bに定める条件(範囲)を満たす場合には、第二のIF部151から送信する帯域を変更する処理を制御する。
そして、帯域制御部334は、SIP処理部132が帯域の変更を知らせるSIPメッセージの応答として成功応答を取得した場合には、後述するシェーパー部140を制御して、対象となるセッションにつき、第二のIF部151から送信するデータの帯域を変更するとともに、変更した帯域を基準値テーブル122aの対応するレコードにおける帯域欄122eに格納する。
以上のように、本実施形態においては、シェーパー部140におけるバッファ量に応じて、ネットワーク103に送信するデータの通信帯域を変更することができるため、シェーパー部140における記憶容量を超える前(データが破棄される前)に、通信帯域を広帯域にして安定したデータ通信を行うことが可能となる。
次に、本発明の第四の実施形態である通信システムについて説明する。
ここで、本発明の第四の実施形態である通信システムは、第一の実施形態と同様に構成されるが、第一の実施形態とはGWが異なっているため、以下この異なっている部分に関連する事項について説明する。
図14は、本発明の第四の実施形態である通信システムに使用されるGW410の概略図である。
図示するように、本実施形態に係るGW410は、記憶部120と、制御部430と、シェーパー部140と、バッファ部441と、第一のIF部150と、第二のIF部151と、を備える。
ここで、本実施形態に係るGW410は、第一の実施形態と比較して、制御部430と、バッファ部441と、が異なっているため、以下これらに関連する事項について説明する。
本実施形態における制御部430は、全体制御部131と、SIP処理部132と、トラフィック監視部133と、帯域制御部434と、を備え、第一の実施形態と比較して帯域制御部434が異なっているため、以下、この異なっている点に関連する事項について説明する。
本実施形態における帯域制御部434は、帯域制御部134は、各々のセッション毎に設けられている帯域テーブル123aに格納される通信帯域を監視して、第二のIF部151から送信する帯域との間に不整合が生じている場合には、第二のIF部151から送信する帯域を変更する処理を制御する。
例えば、帯域制御部434は、各々のセッション毎に設けられている帯域テーブル123aに格納される通信帯域が、予め定められた帯域の基準値を、予め定められた回数連続して超えている場合には、変更情報記憶領域121に記憶されている変更テーブル121a、121dの受信帯域欄121a、121eに格納されている条件を満たすレコードの変更帯域欄121fに格納されている帯域よりも広帯域となる予め定められた帯域(ここでは、第二のIF部151で送信を行うことのできる最大帯域)となるように、第二のIF部151から送信する帯域を変更する指示をSIP処理部132に出す。そして、第二のIF部151から送信する帯域を広帯域にしてから予め定められた期間が経過した場合には、変更テーブル121a、121dの受信帯域欄121a、121eに格納されている条件を満たすレコードの変更帯域欄121fに格納されている帯域となるように、第二のIF部151から送信する帯域を変更する指示をSIP処理部132に出す。
一方、帯域制御部434は、各々のセッション毎に設けられている帯域テーブル123aに格納される通信帯域が、予め定められた回数連続して満たさない場合には、当該通信帯域より帯域の比較値を算出して、変更情報記憶領域121に記憶されている変更テーブル121a、121dの受信帯域欄121a、121eに格納されている条件を満たすレコードの変更帯域欄121fに格納されている帯域となるように、第二のIF部151から送信する帯域を変更する指示をSIP処理部132に出す。
ここで、本実施形態においては、帯域制御部434は、帯域テーブル123aに格納される通信帯域が、10回連続して基準値テーブル122aの帯域欄122eで特定される帯域の基準値を超えた場合には、10回連続して基準値を超えた通信帯域のうちの最大値を比較値とする。
一方、帯域制御部434は、帯域テーブル123aに格納される通信帯域が、30回連続して基準値テーブル122aの帯域欄122eで特定される帯域の基準値を満たさない場合には、30回連続して基準値を満たさない通信帯域のうちの最小値を比較値とする。
そして、帯域制御部434は、SIP処理部132が帯域の変更を知らせるSIPメッセージの応答として成功応答を取得した場合には、後述するシェーパー部140を制御して、対象となるセッションにつき、第二のIF部151から送信するデータの帯域を変更するとともに、変更した帯域を基準値テーブル122aの対応するレコードにおける帯域欄122eに格納する。
本実施形態におけるバッファ部441は、帯域制御部434の指示に応じて、シェーパー部140で破棄されたデータを記憶するとともに、帯域制御部434の指示に応じて、記憶したデータをシェーパー部140に出力する。
なお、以上のように、バッファ部441は、シェーパー部140で破棄されたデータを十分に記憶することができるような記憶容量を備える記憶装置で構成する。
図15は、以上のように構成される第四の実施形態における通信システムにおける帯域変更処理を示すシーケンス図である。ここでは、通信装置101Cが通信装置101Aからデータを取得する際の処理を例に説明する。
まず、通信装置101Cは、通信装置101AのURLを特定して、HTTPに従ったGETリクエストを送信する(S70)。
GW410Bでは、SIP処理部132が、通信装置101Cより受信したGETリクエストよりSIPのINVITEメッセージを生成して、ネットワーク103に接続されている呼制御サーバに送信する(S71)。ここで、SIP処理部132は、HTTP用の変更テーブル121aの受信帯域欄121bにおいて「初期値」と入力されているレコードの変更帯域欄121cに格納されている帯域を取得し、INVITEメッセージのメッセージボディにおいてSDPに従って取得した帯域を特定する。
そして、このようなINVITEメッセージを受信した呼制御サーバは予め登録されているレジスタ情報に基づいて、受信したINVITEメッセージを通信装置101Aが接続されているGW410Aに転送する(S72)。
GW410Aでは、SIP処理部132が受信したINVITEメッセージより必要な情報を抽出し、全体制御部131がHTTPに従ったGETリクエストを生成し、通信装置101Aに送信する(S73)。
また、呼制御サーバは、GW410BからのINVITEメッセージを受信(S71)すると、100Tryingメッセージを、GW410Bに送信する(S74)。
さらに、GW410AのSIP処理部132は、受信したINVITEメッセージに対して、処理中であることを示すレスポンスである100Tryingメッセージを返信する(S75)。
そして、GW410AのSIP処理部132は、呼出中であることを示すレスポンスである180Ringingメッセージを返信し(S76)、180Ringingメッセージは、呼制御サーバを介して、GW410Bに転送される(S77)。
そして、通信装置101Aは、HTTPに従ったGETリクエストに対する成功応答である200OKメッセージをHTTPに従ってGW410Aに送信する(S78)。
このような200OKメッセージを受信したGW410Aは、全体制御部131が受信した200OKメッセージより必要な情報を抽出し、SIP処理部132がSIPに従った200OKメッセージを生成して、第二のIF部151を介して送信する(S79)。
この際、GW410Aの帯域制御部434は、基準値情報記憶領域122に記憶されている基準値テーブル122aに新たなレコードを追加して、対応する欄に対応する情報を追加して、セッションの管理を行う。ここで、基準値テーブル122aの帯域欄122eに格納される情報は、HTTPについて予め定めら得た帯域の初期値(ここでは、1Mb/s)である。
そして、200OKメッセージは、呼制御サーバを介して、GW410Bに転送される(S80)。
そして、GW410Bでは、SIP処理部132が、受信した200OKメッセージより必要な情報を抽出し、全体制御部131がHTTPに従った200OKメッセージを生成し、通信装置101Cに送信する(S81)。
この際、GW410Bの帯域制御部434は、基準値情報記憶領域122に記憶されている基準値テーブル122aに新たなレコードを追加して、対応する欄に対応する情報を追加して、セッションの管理を行う。ここで、基準値テーブル122aの帯域欄122eに格納される情報は、HTTPについて予め定めら得た帯域の初期値(ここでは、1Mb/s)である。
また、GW410Bでは、SIP処理部132が、200OKメッセージに対してACKメッセージを返信し(S82)、呼制御サーバがGW410Aに転送する(S83)。
このようにして、GW410B及びGW410A間にセッションが確立して、通信装置101Aから通信装置101Cにデータが送信される(S84)。
通信装置101Aからの受信データの通信帯域については、GW110Aのトラフィック監視部133が周期的(ここでは、1秒毎)に算出して、帯域情報記憶領域123に記憶されている帯域テーブル123aに格納する。
そして、通信装置101Aから送信されるデータの通信帯域が増加した場合(ここでは、1Mb/sから2Mb/sに増加したものとする)(S85)、帯域制御部434は、トラフィック監視部133が算出した通信帯域が、連続して予め定められた回数(ここでは、10回)、予め定められた基準値(ここでは、基準値テーブル122aの帯域欄122eに格納されている帯域)を超えていると判断することにより、SIP処理部132に帯域を変更するよう指示を出す。この際、帯域制御部434は、第二のIF部151で通信を行うことのできる最大帯域(ここでは、10Mb/s)となるようにSIP処理部132に指示を出す。
なお、帯域制御部434は、ステップS85で、シェーパー部140にバッファすることのできないデータについては、バッファ部441に記憶する。
そして、SIP処理部132は、帯域制御部434より通知された帯域(10Mb/s)に変更するよう、UPDATEメッセージを生成して、第二のIF部151を介して、送信する(S86)。
このようなUPDATEメッセージは、呼制御サーバを介して、GW410Bに転送される(S87)。
そして、このようなUPDATEメッセージを受信したGW410Bでは、SIP処理部132が、成功応答である200OKメッセージを返信する(S88)。
GW410Bから返信された200OKメッセージは、呼制御サーバを介してGW410Aに転送され(S89)、GW410B及びGW410A間のセッションの帯域が広帯域に変更される(S90)。そして、帯域制御部434は、バッファ部441に記憶されているデータをシェーパー部140及び第二のIF部151を介して送信するように制御する。
そして、GW410Aの帯域制御部434は、予め定められた期間が経過することにより、SIP処理部132に帯域を変更するよう指示を出す。
この際、帯域制御部434は、ステップS85で、基準値を超えた通信帯域の中から最大値を取得して、当該最大値を比較値として、HTTP用の変更テーブル121aの受信帯域欄121bで特定される条件を満たすレコードを特定し、当該レコードの変更帯域欄121cに格納されている帯域を取得して(ここでは、2Mb/sの帯域が取得されたものとする)、SIP処理部132に通知する。
そして、SIP処理部132は、帯域制御部134より通知された帯域(2Mb/s)に変更するよう、UPDATEメッセージを生成して、第二のIF部151を介して、送信する(S91)。
このようなUPDATEメッセージは、呼制御サーバを介して、GW410Bに転送される(S92)。
そして、このようなUPDATEメッセージを受信したGW410Bでは、SIP処理部132が、成功応答である200OKメッセージを返信する(S93)。
この際、GW410Bの帯域制御部434は、基準値情報記憶領域122に記憶されている基準値テーブル122aの対応するセッションの帯域欄122eに格納されている帯域(ここでは、10Mb/s)を、UPDATEメッセージで特定されている帯域(2Mb/s)に更新する。
GW410Bから返信された200OKメッセージは、呼制御サーバを介してGW410Aに転送され(S94)、GW410B及びGW410A間のセッションの帯域が変更される(S95)。
以上のように、本実施形態においては、第一のIF部150側から受信するデータ量が増加した場合には、バッファ部441でバッファを行い、一時的に、第二のIF部151の通信帯域を、第一のIF部150側から受信するデータ量よりも大きな帯域となるようにすることで、バッファ部441に記憶されているデータを送信してから、第一のIF部150側から受信するデータ量に対応する通信帯域としているため、第一のIF部150側から受信するデータを損なわずに、安定したデータ通信を行うことができるようになる。
本実施形態においては、帯域制御部434は、帯域を広帯域にする際に、第二のIF部151で通信を行うことのできる最大帯域(ここでは、10Mb/s)となるようにしてから、変更テーブル121aで特定される帯域にしているが、このような態様に限定されず、例えば、変更テーブル121aで特定される帯域に予め定められた値を加算又は乗算したもの(第二のIF部151で通信を行うことのできる最大帯域を超えてしまう場合には、当該最大帯域)となるようにSIP処理部132に指示を出すようにしてもよい。
また、本実施形態においては、帯域制御部434は、最大帯域としてから予め定められた期間が経過することにより、変更テーブル121aで特定される帯域に帯域を変更するようにしているが、このような態様に限定されず、例えば、バッファ部441及びシェーパー部140に記憶されているデータが予め定められた量(例えば、「0」)となってから、変更テーブル121aで特定される帯域に帯域を変更するようにしてもよい。
次に、本発明の第五の実施形態である通信システムについて説明する。
ここで、本発明の第五の実施形態である通信システムは、第一の実施形態と同様に構成されるが、第一の実施形態とはGWが異なっているため、以下この異なっている部分に関連する事項について説明する。
図16は、本発明の第五の実施形態である通信システムに使用されるGW510の概略図である。
図示するように、本実施形態に係るGW510は、記憶部120と、制御部530と、シェーパー部140と、第一のIF部150と、第二のIF部151と、を備える。
ここで、本実施形態に係るGW510は、第一の実施形態と比較して、制御部530が異なっているため、以下この異なっている点に関連する事項について説明する。
本実施形態における制御部530は、全体制御部131と、SIP処理部132と、トラフィック監視部133と、帯域制御部534と、を備え、第一の実施形態と比較して帯域制御部534が異なっているため、以下、この異なっている点に関連する事項について説明する。
本実施形態における帯域制御部534は、第一の実施形態と同様の処理を行うほか、第一のIF部150を介して、通信装置101から帯域を指定した帯域通知を受け取ると、第二のIF部151から送信する帯域を、受け取った帯域通知で指定された帯域となるように、第二のIF部151から送信する帯域を変更する指示をSIP処理部132に出す。
以上のように構成することで、例えば通信装置101において、既に確立されているセッションで送信するデータ量から必要な帯域を通知することができるようにされていれば、当該データ量に応じて、通信帯域を可変にすることができる。
なお、ここでは、通信装置101から帯域を指定した帯域通知を受け取るようにしているが、このような態様に限定されず、例えば、通信装置101から確立されているセッションで送信するデータ量を指定したデータ量通知を受け取るようにしてもよい。
このようなデータ量通知を受け取った場合には、帯域制御部534において、特定の時間内において通知されたデータ量を送信することができるように帯域を算出して、算出された帯域となるように、第二のIF部151から送信する帯域を変更する指示をSIP処理部132に出すようにしてもよい。
次に、本発明の第六の実施形態である通信システムについて説明する。
ここで、本発明の第六の実施形態である通信システムは、第一の実施形態と同様に構成されるが、第一の実施形態とはGWが異なっているため、以下この異なっている部分に関連する事項について説明する。
図17は、本発明の第六の実施形態である通信システムに使用されるGW610の概略図である。
図示するように、本実施形態に係るGW610は、記憶部620と、制御部630と、シェーパー部640と、バッファ部641と、第一のIF部650と、第二のIF部651と、を備え、これらは、第一から第五の実施形態に係るGWが備える機能を全て備えている。
そして、本実施形態に係るGW610は、制御部630に設定変更部635が備えられている。
ここで、設定変更部635は、第一のIF部650又は第二のIF651を介して外部の装置(コンピュータ)からの接続要求に対して、公知の認証(例えば、ユーザ名とパスワードの入力等)を行い、認証された装置に対して、例えば、図18(設定受付画面180の概略図)に示すような設定受付画面180を送信して、必要な情報の入力を受け付ける。
図示するように、設定受付画面180は、設定受付領域181と、OK入力領域182と、キャンセル入力領域183と、を備える。
設定受付領域181では、装置のオペレータより、GW610を第一から第五の実施形態で説明した何れの機能を用いて処理を行うかの選択を受け付ける領域である。
例えば、設定受付領域181において、何れのチェック欄181a〜181dにおいて選択(チェック)が行われていない場合には、GW610は、第一の実施形態に係るGW110と同様の処理を行う。
また、設定受付領域181において、「送信データを記憶する」と表記された行のチェック欄181aが選択(チェック)されると、GW610は、第二の実施形態に係るGW210と同様の処理を行う。
また、設定受付領域181において、「記憶量で判断する」と表記された行のチェック欄181bが選択(チェック)されると、GW610は、第三の実施形態に係るGW310と同様の処理を行う。
また、設定受付領域181において、「記憶したデータを早期に送信する」と表記された行のチェック欄181cが選択(チェック)されると、GW610は、第四の実施形態に係るGW410と同様の処理を行う。
また、設定受付領域181において、「通信装置からの指示を受け付ける」と表記された行のチェック欄181dが選択(チェック)されると、GW610は、第五の実施形態に係るGW510と同様の処理を行う。
なお、これらのチェック欄181a〜181dにおいて、複数の選択(チェック)が行われた場合には、選択された複数の処理を行うようにする。
そして、OK入力領域182を指定した実行指令が入力されることにより、設定受付領域181で選択された処理をGW610は行う。
なお、キャンセル入力領域183を指定した実行指令が入力された場合には、GW610において既に設定されている処理を行う。
以上のように、本実施形態においては、GW610のオペレータからの指示により、GW610での処理を変更することができるようになる。
なお、GW610に表示部と入力部をさらに備えることで、GW610において、設定受付画面180を表示して、設定を受け付けるようにすることも可能である。
本実施形態においては、設定変更部635は、設定受付画面180において第一の実施形態〜第五の実施形態で行っている処理から選択を行うことができるようにしているが、このような態様に限定されず、例えば、これらの間の任意の処理の組み合わせから選択を行うことができるようにすることもできる。