まず、本発明の概要について説明する。
Policy Server及びRouterを含むネットワークにおいて、Policy Serverは、ネットワーク内の各Routerからセッション情報を取得する。Policy Serverは、取得されたセッション情報を各クラスに分けて、各クラスにおけるセッション情報のパラメータの分布を作成し、当該分布を用いて帯域を制御する。これによって、ネットワークシステム全体の帯域を考慮した帯域制御が可能となる。前述のセッション情報のパラメータは、様々なものが考えられる。例えば、セッションのデータレート、遅延、ジッタ及び平均データレート等を用いることが考えられる。以下、各実施形態の説明をする。
[第1の実施形態]
まず、本発明の第1の実施形態を説明する。
図1は、本発明の第1の実施形態のバックボーンシステムの一例を示す図である。
バックボーンシステムは、Policy Server101、Core Router102、Edge Router103、Home Gateway104、Proxy105、及びユーザ106−1〜106−4、ユーザ107−1〜ユーザ107−2、ストリーミングサーバ108、ライブ中継109から構成される。
以下の説明において、同一の符号を付しているものは、同一の構成とする。また、Edge Router103、Core Router102を区別しない場合、Router102、103と記載する。また、ユーザ106−1〜106−4、及びユーザ107−1〜ユーザ107−2を区別しない場合、ユーザ106、107と記載する。
Policy Server101は、Edge Router103、Core Router102及びProxy105を経由して接続された不特定多数のユーザ106、107から送信されるセッション情報を取得し、バックボーンシステム全体を管理する。なお、セッション情報はEdge Router103及びProxy105経由して取得することができる。
Policy Server101は、不揮発性記憶媒体(例えば、HDD)(図2参照)に、ミドルウェアを格納する。格納されるミドルウェアとしては、例えば、セッション情報を送信する規格として、SIP(Session Initiation Protocol)、NSLP(Next−step Signaling Layer Protocol)、RSVP(Resource ReServation Protocol)、及びRSVP−TE(Resource ReSerVation Protocol−Traffic Engineerring)等が上げられる。
ユーザ106、107は、VoIP(Voice Over IP)等による音声通信(例えばIP電話)、ストリーミング動画の再生、インターネット等、様々なアプリケーションによって互いに通信できる。例えば、図1に示す例では、ユーザ106−1、106−2、107−1、及び107−2は、IP電話を利用している。ユーザ106−3は、ストリーミングサーバ108からストリーミングコンテンツを取得し、ストリーミング動画の再生をしている。
なお、リアルタイム性を求められる、ストリーミング配信技術としてはRTSP(Real Time Streaming Protocol)などがある。
図2は、本発明の第1の実施形態のPolicy Server101のハードウェア構成を示すブロック図である。
Policy Server101は、HDD201、MPU202、RAM203、及びNIF204を備える。なお、Policy Server101は、他の構成要素を備えていてもよい。
HDD201は、Policy Serverとしての機能を実現するプログラム211が格納されている。プログラム211は、計算プログラム205、ポリシー制御プログラム206、コマンドプログラム207、蓄積プログラム208、受信プログラム209、及び送信プログラム210を含む。
計算プログラム205は、Policy Server101が取得したセッション情報に基づいて、クラス毎のデータレートの平均、分散、及び偏差を算出する。
ポリシー制御プログラム206は、算出されたクラス毎のデータレートの平均、分散、及び偏差に基づいて、Edge Router103及びCore Router102のポリシーを決定する。
コマンドプログラム207は、決定されたポリシーをEdge Router103及びCore Router102に送信するためのコマンドを発行する。
蓄積プログラム208は、セッション情報をクラス毎に分けて格納する。なお、分けられた情報は、HDD201に格納してもよいし、また、外部のデータベースに格納してもよい。外部のデータベースを備えるPolicy Server101については、図3を用いて後述する。
受信プログラム209は、Edge Router103及びCore Router102から送信されるセッション情報を受信する。例えば、SIPによる通信の場合、Policy Server101は、SIP Porxy(この場合は、Proxy105)を経由してセッション情報を取得する。RSVP、RSVP−TE、又はNSLPによる通信の場合、Policy Server101は、Edge Router103を経由してセッション情報を取得する。
なお、取得されるセッション情報には、セッション情報のパラメータとして、ジッタ、データレート、及びデータレートの平均等が含まれる。第1の実施形態では、セッション情報のパラメータとして、データレートが用いられる。Policy Server101は、取得されたセッション情報を用いて、帯域を制御する。
送信プログラム210は、発行されたコマンドをEdge Router103及びCore Router102に送信する。
前述した各プログラムはRAM203上に展開され、MPU202がRAM203上に展開された各プログラムを実行する。
NIF204は、ネットワークと接続するためのインタフェースである。Policy Server101は、NIF204を介してネットワークと接続され、ユーザ106、107、Edge Router103及びCore Router102と通信する。
図3は、本発明の第1の実施形態のPolicy Server101の変形例を説明するブロック図である。
Policy Server101は、メイン機能部301と、Data Base部302とから構成される。なお、メイン機能部301及びData Base部302は独立した計算機である。
メイン機能部301及びData Base部302のハードウェア構成は、図2に示すPolicy Server101のハードウェア構成と同一のものである。
メイン機能部301のHDDには、Policy Server101としての機能を実現するためのプログラムが格納されており、Policy Serverとしてのメイン処理を実行する。
Data Base部302は、Policy Server101が受信したセッション情報を格納する蓄積処理を実行し、格納されたセッション情報を管理する。なお、格納されるセッション情報は、クラス毎に分けられている。
図2に示すPolicy Server101は、メイン処理と蓄積処理とを実行する。大量のセッション情報を受信した場合における蓄積処理は、大幅なボルトネックとなるため、図3に示すように、蓄積処理を実行するData Base(この場合は、Data Base部302)を別に備えることによって、前述のボルトネックを解消できる。
図3に示す例では、Policy Server101が、セッション情報を管理するData Base部302を備えていたが、Policy Server101の外部にセッション情報を管理する外部のData Baseを備えていてもよい。この場合、Policy Server101は、ソケット通信によって外部のData Baseと接続される。
図4は、本発明の第1の実施形態のRouter102、103のハードウェア構成を示すブロック図である。
Router102、103は、HDD401、MPU402、RAM404、及びNIF405を備える。なお、Router102、103は、他の構成要素を備えていてもよい。
HDD401には、Routerとしての機能を実現するためのプログラム407が格納され、当該プログラム407はRAM404上に展開される。MPU402は、RAM404上に展開されたプログラム407を実行する。
Router102、103は、ネットワーク上に流れるパケットを受信し、ネットワーク層、トランスポート層の一部のプロトコルを解析し、転送先にパケットを転送する。Router102、103は、ポリシングによる帯域制限、また、シェーピングによる帯域制御を行う。
ポリシングによる帯域制限は、指定された帯域を超えたパケットを順次廃棄し、一定の帯域で通信されるように制御する。シェーピングによる帯域制御は、指定された帯域を超えたパケットをRouter102、103、又は帯域制御機器のキューに貯めて一定の帯域で通信されるように制御する。
Router102、103は、キュー403を保持し、各キュー403には出力データレートが割り当てられる。なお、割り当てられたデータレートの総和は、Router102、103の出力データレートである。
図4の例では、WFQにおけるキュー設定について示している。RAM404には、4つのキュー403があり、各キュー403にパケット406が振り分けられる。つまり、クラス毎に帯域が制御される。なお、本実施形態において、キュー403は、4つであるが、4以上又は4以下のキュー403であってもよい。また、各クラスに1つのキュー403を割り当ててもよいし、複数のクラスに1つのキュー403を割り当ててもよい。
本実施形態は、通信方法として、SIP、RSVP、RSVP−TE、及びNSLPを想定しているが、これらに限定されるものではない。以下、SIP、RSVP、RSVP−TE、及びNSLPについて説明する。
図18は、従来のSIPのセッション接続を示すシーケンス図である。
SIPは、マルチキャストセッション又はポイントツーポイントなど、あらゆるセッションにユーザを招待するためのセッションプロトコルである。なお、SIPでは、SIPメッセージが用いられる。SIPメッセージについては図19を用いて後述する。
SIPを用いて通信を確立する場合、UA1(106)は、Registerメッセージ1801をProxy105に送信する。Registerメッセージ1801には、UA1(106)の現在の位置、IPアドレス等が含まれる。
Registerメッセージ1801を受信したSIP Proxy105は、Registerメッセージ1801に含まれる内容を登録し、登録完了後にUA1(106)に200OKメッセージ1802を送信する。さらに、SIP Proxy105は、受信したRegisterメッセージ1801を基に、他のユーザへとデータを送信する。
200OKメッセージ1802を受信したUA1(106)は、INVITEメッセージ1803をセッション確立のために、UA2(107)に送信する。なお、INVITEメッセージ1803はSIP Proxy105を経由してUA2(107)に送信される。
INVITEメッセージ1803を受信したUA2(107)は、受信したINVITEメッセージ1803のSDP(Session Description Protocol)を参照し、通信手法を決定する。なお、SDPについては、RFC2327に記載されている。
その後、UA2(107)は、Ringingメッセージ1804をUA1(106)に送信する。なお、Ringingメッセージ1804は、SIP Proxy105を経由してUA1(106)送信される。
UA2(107)が、データを受信する許可を出したならば、UA2(107)は200OKメッセージ1805をUA1(106)に送信する。なお、200OKメッセージ1805は、SIP Proxy105を経由してUA1(106)に送信される。
UA1(106)は、受信した200OKメッセージ1805内に含まれる通信データに基づいて、通信手法を確立し、UA2(107)との通信を開始する。またSIP Proxy105は、200OKメッセージ1805を受信した後、Requestメッセージ1806をPolicy Server101に送信する。
UA1(106)は、最終的に、ACKメッセージ1807をUA2(107)に送信し、最終レスポンスを受信したことを知らせる。確立した通信が遮断される場合、UA1(106)は、BYEメッセージ1808をUA2(107)に送信し、通信を遮断する。なお、UA1(106)及びUA2(107)のどちらからでも通信を遮断できる。
図19は、従来のSIPにおけるSIPメッセージを説明する図である。
SIPメッセージは、メッセージ内容1901、ヘッダー1902、空行1903、及びSDP1904から構成される。
SDP1904は、v=(protocol version)、o=(owner/creator and session identifier)、s=(session name)、i=*(session infomation)、u=*(URI of description)、e=*(email address)、p=*(lhone number)、c=(connection infomarion−not required if included in all media)、b=*(bandwidth infomation)、z=*(time zone adjustments)、k=*(encryption key)、a=*(zone or more session attribute lines)、t=*(time the session is active)、r=*(zero or more repeat times)、m=(media name and transport address)、i=*(media title)、c=*(connection information−optional if included at session−level)、b=*(band infomation)、k=*(encryption key)、a=*(zero or more media attribute lines)から構成される。これらの情報は、RFC2327から取得したものである。
ヘッダー1902には、宛先、送信者、送信内容の宣言、及びシーケンス番号等が記載されている。これらのメディア情報に基づいてユーザ106、107が接続するための通信手法が決定される。
以上がSIPに説明である。次にRSVPについて説明する。
図20は、従来のRSVPのセッション接続を示すシーケンス図である。
RSVPは、ユーザアプリケーションから送信される個々のフローに対し、資源を確保するために考えられたプロトコルである。
UA1(106)は、UA2(107)との通信パスを確立するため、PATHメッセージ2001をUA2(107)に送信する。なお、PATHメッセージ2001は、EG1(103)及びEG2(103)を経由してUA2(107)に送信される。
PATHメッセージ2001は、フロースペックの情報を含む。フロースペックの情報は、データフォーマット、ソースアドレス、ソースポート、及びトラフィック特性の情報を含む。また、フロースペックの情報は、数値パラメータとして、Rspec(reserve)とTspec(Ttraffic)とが含まれる。
PATHメッセージ2001を受信したUA2(107)は、PATHメッセージ2001を参照し、UA1(106)がUA2(107)に送信されるPATHメッセージ2001が通過した経路(リバースパス)にしたがって、通信パスに対するリソースメッセージを含んだResvメッセージ2002をUA1(106)に送信する。つまり、Resvメッセージ2002は、PATHメッセージ2001が送信された経路にしたがって逆方向(UA2(107)からUA1(106)の方向)に送信される。なお、リバースパスは、PATHメッセージ2001に基づいて、UA2(107)が決定する。
Resvメッセージ2002は、フロースペック及びフィルタスペック等の帯域予約パラメータを含む。なお、Resvメッセージ602は、EG2(107)及びEG1(106)を経由してUA1(106)に送信される。
EG1(103)は、前記シーケンスにしたがって帯域を要求するReqestメッセージ2003をPolicy Server101に送信する。具体的には、EG1(103)のパケット優先度決定機構(図示省略)がフィルタスペックを解析し、また、EG1(103)のパケットスケジューラ(図示省略)がフロースペックを解析することによって、必要なQoS(帯域の要求)が指定される。
図21Aは、従来のRSVPのパケットのRsvp Commond Headerを説明する図である。図21Bは、従来のRSVPのパケットのRsvp Objectを説明する図である。
RSVPパケットは、Rsvp Commond Header2101及びRsvp Object2102から構成される。
Rsvp Object2102は、メッセージ毎にパケットの構造形態が変化し、図21Bは、その一例を示している。
Rsvp Commond Header2101について説明する。Versは、プロトコルのバージョンを示し、Flagsは、現在、明確な定義がなされていない。MsgTypeは、1−PATH、2−Resv、3−PATHErr、4−ResvErr、5−PATHTear、6−ResvTear、7―ResvConfと定義されている。RSVP Checksumは、メッセージの確認のため用いられる。Send_TTLは、IPパケットの寿命を示すIP TTL(Time to Live)の値である。
以上がRSVPの説明である。次に、RSVP−TEについて説明する。
RSVP−TEは、RSVPの拡張プロトコルであり、ネットワーク上に流れるトラヒックを効率的に過不足なく処理するために拡張されたものである。基本なシーケンスは、RSVPと同一である(図19参照)。RSVP−TEでは、MPLSに対応したRouterが必要となる。以下、RSVP−TEのセッション接続を示すシーケンスについて、特に、RSVPとの差異を中心に説明する。
LPI(Label Switch PATH)をセットアップするため、Ingress Router(EG1(103))がPATHメッセージをMPLS Routerに送信する。
PATHメッセージには、パス情報等の情報が含まれており、LSPの構築に必要な情報をMPLS Routerが保持する。
また、PATHメッセージを受信したMPLS Routerは、出力先のEgress Router(EG2(107))にPATHメッセージを送信する。
PATHメッセージを受信したEgress Router(EG2(107))は、ResvメッセージをIngress Router(EG1(103))に送信する。Resvメッセージには、ラベルが含まれる。当該ラベルは、Egress Router(EG2(107))から取得される。
なお、Resvメッセージは、Egress Router(EG2(107))が受信したPATHメッセージが通過した経路にしたがって逆方向(UA2(107)からUA1(106)の方向)に送信される。
以上がRSVP−TEの説明である。次に、NSLPについて説明する。
図22は、従来のNSLPのセッション接続を示すシーケンス図である。
NSLPは、RSVPにおける問題点を解消するために考案されたプロトコルである。セッション開始時に、UA1(106)は、Reservceメッセージ2201を送信し、UA2(107)までの片方向のRTPフローのための資源を確保する。なお、Reservceメッセージ2201は、EG103を経由してUA2(107)に送信される。
Reservceメッセージ2201を受信したUA2(107)は、片方向のRTPフローのための資源の確保が成功の場合、応答としてResponseメッセージ2202でUA1(106)に送信する。なお、Responseメッセージ2202は、EG103を経由してUA1(106)に送信される。
EG103は、Responseメッセージ2202を受信後、セッション情報を含むReqestメッセージ2203をPolicy Server101に送信する。
以上が従来のSIP、RSVP、RSVP−TE、及びNSLPの説明である。
図5A〜図5Eは、本発明の第1の実施形態のテーブル管理表の一例を示す図である。
図5Aは全てのクラスに関する情報を格納するテーブル501、図5Bは音声クラスのテーブル502、図5Cは動画クラスのテーブル503、図5Dはストリーミングクラスのテーブル504、図5Eはその他のクラスのテーブル505の一例を示している。
Policy Server101は、受信したセッション情報を各クラスに分け、セッション情報を管理している。通常は、通信プロトコルが指定されてから通信が開始されるため、Policy Server101は、通信プロトコルを参照して、セッションのクラス分けを実行する。
なお、クラス分けされたセッション情報は、Policy Server101のRAM203に格納されてもよいし、他のData Base(図3に示す場合は、Data Base部302)に格納されていてもよい。
図5Aに示すテーブル501は、クラス毎に通信元のアドレス(Source IP)と送信先のアドレス(Destination IP)に関する情報を格納する。図5Aに示す例では、クラスは、音声、動画、ストリーミング、及びその他に分けられている。
図5B〜図5Eに示すテーブル502〜505は、各クラスのアプリケーション毎にエントリが作成されている。ここで、「その他情報」には、セッション情報のパラメータが格納される。図5B〜図5Eに示す例では、「その他情報」には、データレートが格納されている。
次に、データレートの取得方法について説明する。取得されるデータレートには、静的なデータレートと動的なデータレートがある。以下それぞれの取得方法について説明する。
図6は、本発明の第1の実施形態における、動的なデータレートの情報を取得する方法を説明する図である。
Home Gateway1(104)とHome Gateway2(104)とをNTP(Network Time Protocol)を用いて時刻同期させ、動的なデータレートを取得する。具体的には、Home Gateway1(104)及びHome Gateway2(104)上を流れる通信パケット間のTime Differenceを計測することによってデータレートを取得する。
取得された情報は、各通信プロトコル(SIP、RSVP、RSVP−TE、又はNSLP)によって、Proxy105及びEdge Router103に送信され、さらに、Proxy105及びEdge Router103が、受信した情報をPolicy Server101に送信する。前述の情報を受信したPolicy Server101は、セッション情報を各クラスに分け、テーブル501〜505を作成し、当該テーブル501〜505を用いて動的なデータレートを管理する。Policy Server101は、動的なデータレートから平均データレートを算出することができる。
図7A及び図7Bは、本発明の第1の実施形態のメディアフォーマット及びデータレートの対応表を示す図である。
Policy Server101は、対応表701、702を用いて、静的なデータレートを取得する。対応表701、702は、通信フォーマットからデータレートに変換するための対応表であり、Policy Server101が予め保持している。
セッション情報を取得したPolicy Server101は、対応表701、702を参照し、取得されたセッション情報をデータレートに変換する。例えば、SIPメッセージに含まれるCodecとして「PCMU」が選択されているセッション情報は、「64kbps」のデータレートに変換される。第1の実施形態では、Policy Server101は、静的なデータレートを用いて帯域を制御する。
図8は、本発明の第1の実施形態のPolicy Server101における一連の処理を説明する図である。
Policy Server101は、Edge Router103及びProxy105からセッション情報を取得する。具体的には、受信プログラム209がネットワーク経由でセッション情報を受信する。
受信したセッション情報は、蓄積プログラム208によって蓄積処理が実行される。具体的には、受信したセッション情報を各クラスに分け、各クラスに分けられたセッション情報からテーブル501〜505を作成する。作成されたテーブル501〜505は、送信プログラム210によってデータベースに蓄積される。また、作成されたテーブル501〜505は、計算プログラム205に送信される。
計算プログラム205は、各クラスに分けられたセッション情報に基づいて、セッション情報のパラメータの平均偏差、及び分散を算出する。本実施形態では、セッション情報としてデータレート用いているため、計算プログラム205は、各クラスのデータレートの平均、偏差、及び分散を算出する。算出された各クラスのデータレートの平均、偏差、及び分散はポリシー制御プログラム206及び送信プログラム210に送信される。
ポリシー制御プログラム206は、算出された各クラスのデータレートの平均、偏差、及び分散に基づいて、Router102、103に対するポリシーを決定する。決定されたポリシーに関する情報は、コマンドプログラム207に送信される。
コマンドプログラム207は、決定されたポリシーを実現するためのコマンドを発行し、送信プログラム210が発行されたコマンドをRouter102、103に送信する。
コマンドを受信したRouter102、103は、受信したコマンドに基づいて、ポリシーを設定する。
以下、Policy Server101におけるアルゴリズムについて説明する。
図9は、本発明の第1の実施形態のPolicy Server101が実行する処理を説明するフローチャートである。
Policy Server101は、Router102、103からセッション情報を受信する(ステップ901)。
Policy Server101は、指定されたクラス毎に、受信したセッション情報を分ける(ステップ902)。分けられるクラスは、Policy Server101の管理者によって設定される。クラス分けは、様々なクラス定義を行うことができる。例えば、音声、ビデオトラヒック、VoIP、又はビデオ会議等がある。3GPPにおいて、QoSクラスは、会話クラス(Conversation Class)、ストリーミングクラス(Streaming Class)、インタラクティブクラス(Interactive Class)、ベストエフォートクラス(Best Effort Class)の4つのクラスに分けられている。
次に、Policy Server101は、蓄積処理を実行する(ステップ903)。具体的には、各クラスのデータレートのテーブル501〜505が作成される。
なお、Policy Server101が外部にData Baseを備えていない場合、Policy Server101のRAM203又はHDD201に蓄積結果が格納される。また、Policy Server101がData Base部302を備える場合、Data Base部302に蓄積結果が格納される。また、Policy Server101が外部にData Baseを備える場合、ソケット通信によって、当該Data Baseに蓄積処理の結果が格納される。また、外部のData Base又はPolicy Server101に格納するかを選択する形態であってもよい。
Policy Server101は、各クラスのデータレートを取得する(ステップ904)。外部のData Baseに蓄積結果が格納されている場合、Policy Server101は、ソケット通信によって、外部のData Baseから各クラスのデータレートを取得する。
Policy Server101は、各クラスのデータレートの平均、偏差、及び分散を算出する(ステップ905)。なお、データレートの平均、偏差、及び分散のうち、実際に用いる数値のみを算出してもよい。
Policy Server101は、算出された偏差又は分散が、偏差閾値又は分散閾値より小さいか否かを判定する(ステップ906)。なお、偏差閾値及び分散閾値は、Policy Server101の管理者が設定する。図9に示す例では、偏差を用いて判定されている。
各閾値の定義の方法は、様々あるが、例えば、下式を用いて決定する方法がある。
ここで、σはデータレートの偏差を示し、Averageはデータレートの平均を示す。
[数1]の値を偏差閾値及び分散閾値と決定する方法、又は、[数1]の値の何パーセント以上を偏差閾値及び分散閾値に決定する方法が考えられる。
また、各クラスを公正に評価する場合、例えば、下式を用いて各クラスを評価する方法が考えられる。
ここで、xはデータレートを示す。[数2]はFairnessと呼ばれ、無線通信技術の一つであるWIMAX技術における評価尺度の一つとして取り上げられている。すべてのクラスにおいて同等な評価を行う場合、Fairnessのような公正な評価方式が望ましい。
算出された偏差又は分散が、偏差閾値又は分散閾値より大きいと判定された場合、Policy Server101は、各クラスのデータレート分布から下式を満たすアプリケーションのデータレートを除く(ステップ907)。
次に、Policy Server101は、[数3]及び[数4]に含まれる範囲が除かれた各クラスのデータレートの分布から、各クラスのデータレートの平均を算出し、算出された各クラスのデータレートの平均をRouter102、103のキュー403に割り当てるデータレートとして決定する(ステップ908)。
ステップ906において、算出された偏差又は分散が、偏差閾値又は分散閾値より小さいと判定された場合、Policy Server101は、各クラスのデータレートの平均をRouter102、103のキュー403に割り当てるデータレートとして決定する(ステップ909)。
Policy Server101は、決定された、キュー403に割り当てるデータレートに基づいて、Router102、103に割り当てるキュー403における、キュー割り当て率を算出する(ステップ910)。
Policy Server101は、算出されたキュー割り当て率に基づいてRouter102、103に設定するポリシーつまり、帯域を決定する(ステップ911)。
Policy Server101は、決定されたポリシーを実現するためのコマンドを発行し(ステップ912)、発行されたコマンドをRouter102、103に送信する(ステップ913)。
以上の処理によって、Router102、103は、発行されたコマンドにしたがって、QoSを設定することができる。なお、以下の説明において、ステップ908で算出された平均を平均1と記載し、ステップ910における平均を平均2と記載する。
ここで、[数3]及び[数4]に含まれる範囲を各クラスのデータレート分布から除く意義について説明する。
図10は、本発明の第1の実施形態における、ステップ907の分布を説明する図である。
図10に示す分布のグラフは、横軸がデータレートを示し、縦軸が分布の値である。ここでは、分布の値は、下式で算出されるものとする。
偏差がσの場合、ステップ907における分布は、データレートの分布の32%を除いた分布となる。偏差が2σの場合、ステップ907における分布は、データレートの分布の5%を除いた分布となる。除かれた部分は、クラス内における帯域に不均衡を生じさせるアプリケーションが除かれることを意味する。データレートに不均衡が生じている場合、ステップ907における処理によって、当該データレートの不均衡の原因であるアプリケーションのデータレートを除外することができる。
したがって、偏差又は分散がσである場合、ステップ909における処理は、データレートの分布の32%を除いたデータレートの分布における平均をキュー403に割り当てるデータレートとして決定することを意味する。また、偏差又は分散が2σの場合、ステップ908における処理は、分布の5%を除いたデータレートの分布における平均をキュー403に割り当てるデータレートとして決定することを意味する。
前述した処理によって、クラス内の帯域も考慮した帯域制御が可能となる。
以下、図11〜図14を用いて具体的な例を示す。なお、ステップ906の判定では、偏差を用い、偏差閾値を「2.0」と定義した場合について示している。
図11Aは、本発明の第1の実施形態の音声クラスにおける、セッション情報から取得されたパラメータを示す図である。図11Bは、本発明の第1の実施形態の音声クラスにおける、データレートの平均1、偏差、及び平均2を示す図である。図11Cは、本発明の第1の実施形態における、音声クラスのデータレートの分布を示す図である。
図11Aに示すように、音声クラスには、8つのアプリケーションが割り当てられている。また、各アプリケーションのセッション情報のパラメータとして、遅延[Mb/s]、データレート[Mb/s]、ジッタ、及び平均データレート[Mb/s]が格納されている。本実施形態では、セッション情報のパラメータとし、データレートを用いる。
図11Cに示すように、音声クラスのデータレートの分布は、平均的である。また、算出された偏差の値は、図11Bに示すように「1.733313」で、定義された偏差閾値の値「2.0」よりも小さい。したがって、ステップ906において、Policy Server101は、ステップ909に進む。つまり、Policy Server101は、各クラスのデータレートの平均1をキュー403に割り当てるデータレートとして決定する。
図12Aは、本発明の第1の実施形態の動画クラスにおける、セッション情報から取得されたパラメータを示す図である。図12Bは、本発明の第1の実施形態の動画クラスにおける、データレートの平均1、偏差、及び平均2を示す図である。図12Cは、本発明の第1の実施形態における、動画クラスのデータレートの分布を示す図である。
図12Aに示すように、音声クラスには、8つのアプリケーションが割り当てられている。また、各アプリケーションのセッション情報のパラメータとして、遅延[Mb/s]、データレート[Mb/s]、ジッタ、及び平均データレート[Mb/s]が格納されている。
図12Cに示すように、動画クラスのデータレートの分布は、平均的である。また、算出された偏差の値は、図12Bに示すように「0.85696」で、定義された偏差閾値の値「2.0」よりも小さい。したがって、ステップ906において、Policy Server101は、ステップ909に進む。つまり、Policy Server101は、各クラスのデータレートの平均1をキュー403に割り当てるデータレートとして決定する。
図13Aは、本発明の第1の実施形態のストリーミングクラスにおける、セッション情報から取得されたパラメータを示す図である。図13Bは、本発明の第1の実施形態のストリーミングクラスにおける、データレートの平均1、偏差、及び平均2を示す図である。図13Cは、本発明の第1の実施形態における、ストリーミングクラスのデータレートの分布を示す図である。
図13Aに示すように、音声クラスには、8つのアプリケーションが割り当てられている。また、各アプリケーションのセッション情報のパラメータとして、遅延[Mb/s]、データレート[Mb/s]、ジッタ、及び平均データレート[Mb/s]が格納されている。
図13Cに示すように、ストリーミングクラスのデータレートの分布は、偏った分布の傾向となっている。また、算出された偏差の値は、図13Bに示すように「2.34521」で、定義された偏差閾値の値「2.0」よりも大きい。したがって、ステップ906において、Policy Server101は、ステップ907及びステップ908に進む。つまり、Policy Server101は、[数3]及び[数4]を満たすアプリケーションを除いたデータレートの分布を用いて平均2を算出し、平均2をキュー403に割り当てるデータレートとして決定する。
ステップ907の処理によって、図13Cに示すように、application8の平均1を超えるデータレートが除かれ、平均的なデータレートの分布に基づいて平均2が算出される。これによって、ストリーミングクラス内の各アプリケーションに大きな影響を与えることなく帯域の制御ができる。
図14Aは、本発明の第1の実施形態のその他のクラスにおける、セッション情報から取得されたパラメータを示す図である。図14Bは、本発明の第1の実施形態のその他のクラスにおける、データレートの平均1、偏差、及び平均2を示す図である。図14Cは、本発明の第1の実施形態における、その他のクラスのデータレートの分布を示す図である。
図14Aに示すように、音声クラスには、8つのアプリケーションが割り当てられている。また、各アプリケーションのセッション情報のパラメータとして、遅延[Mb/s]、データレート[Mb/s]、ジッタ、及び平均データレート[Mb/s]が格納されている。
図14Cに示すように、ストリーミングクラスのデータレートの分布は、偏った分布の傾向となっている。また、算出された偏差の値は、図14Bに示すように「2.11763」で、定義された偏差閾値の値「2.0」よりも大きい。したがって、ステップ906において、Policy Server101は、ステップ907及びステップ908に進む。つまり、Policy Server101は、[数3]及び[数4]を満たすアプリケーションを除いたデータレートの分布を用いて平均2を算出し、平均2をキュー403に割り当てるデータレートとして決定する。
ステップ907の処理によって、図14Cに示すように、application1が除かれ、平均的なデータレートの分布に基づいて平均2が算出される。これによって、ストリーミングクラス内の各アプリケーションに大きな影響を与えることなく帯域の制御ができる。
前述の例で示された4つのクラスにおいて、Policy Server101は、決定された割り当てるデータレートに基づいて、Router102、103に設定するポリシーを決定する。
図15は、本発明の第1の実施形態における、Core Router102のキュー403に割り当てられるデータレートについて説明する図である。
Core Router102は、ネットワーク上に流れるパケット406を転送している。Core Router102は、キュー403−1〜403−4を保持し、各キュー403−1〜403−4に、各々、データレートが割り当てられている。キュー403の制御技術は様々あり、例えば、WFQ等が上げられる。
キュー403−1〜403−4に割り当てられるデータレートは、Policy Server101が算出する(ステップ910参照)。以下、ステップ910の詳細について説明する。
Policy Server101は、下式のいずれかを用いてキュー割り当て率を算出する。
ここで、datarate(class1)[Mb/s]は、音声クラスのデータレートを示す。Class1総数は、音声クラスに含まれるアプリケーションの総数を示す。動画クラス、ストリーミングクラス及びその他のクラスにおいても同様である。
[数6]又は[数7]によって算出されたキュー割り当て率に基づいて、キュー403−1〜403−4に割り当てるデータレートが決定される。また、Router102、103は、決定されたキュー割り当て率に基づいて、キュー403−1〜403−4のデータレートを設定する。
図15に示す例では、キュー403−1にはデータレートとして500[Mb/s]が設定され、キュー403−2にはデータレートとして200[Mb/s]が設定され、キュー403−3にはデータレートとして100[Mb/s]が設定され、キュー403−4にはデータレートとして200[Mb/s]が設定されている。このとき、Core Router102の出力データレートは、各キュー403−1〜403−4に割り当てられたデータレートの合計値となる。したがって、Core Router102の出力データレートは、1[Gb/s]となる。
なお、Edge Router103も同様の構成をとることができる。
以上説明したように、第1の実施形態によれば、クラス内の帯域の分布を考慮して、Router102、103のキュー403に割り当てるデータレートを決定するため、システム全体の効率低下を防止し、また、ネットワークシステム全体の状況に最適な帯域制御ができる。
[第2の実施形態]
以下、本発明の第2の実施形態について説明する。第2の実施形態では、セッション情報のパラメータとして遅延を用いる発明である。
第2の実施形態のネットワーク構成、各装置構成、及び処理の流れについては、第1の実施形態と同一である。以下、第1の実施形態と異なる点を中心に説明する。
本発明の第2の実施形態におけるPolicy Server101が実行する処理において、ステップ901〜ステップ904は、第1の実施形態と同一である。
ステップ905において、Policy Server101は各クラスの遅延の分散を算出する。また、遅延の分布に基づいて、Policy Server101は、平均1、偏差、及び平均2を算出する。
ステップ906〜ステップ909において、Policy Server101は、アプリケーションの遅延、並びに遅延の分布における平均1、偏差、及び平均2を用いて処理を実行する。
ステップ910において、Policy Server101は、クラス毎に重み付けを考慮した下式を用いてキュー割り当て率を算出する。
ここで、α、β、γ、及びδは、重み付けによって変化するパラメータである。
第2の実施形態では、α、β、γ、及びδを下式で定義されている。
ここで、delay(class1)は、音声クラスの遅延を示す。動画クラス、ストリーミングクラス及びその他のクラスにおいても同様である。
ステップ911〜ステップ913は、第1の実施形態と同一である。
[第3の実施形態]
以下、本発明の第3の実施形態について説明する。第3の実施形態では、セッション情報のパラメータとして下式で算出されたものを用いる発明である。
[数13]を用いることによって、データレートに対する効率を計測することができる。
Policy Server101は、[数13]で算出されたパラメータを用いて、各クラスの平均、偏差及び分散を算出し、帯域を制御する。
第3の実施形態のネットワーク構成、各装置構成、及び処理については、第1の実施形態と同一である。以下、第1の実施形態との差異を中心に説明する。
本発明の第3の実施形態におけるPolicy Server101が実行する処理において、ステップ901〜ステップ904は、第1の実施形態と同一である。
ステップ905において、Policy Server101は各クラスの[数13]によって算出されるパラメータの分散を算出する。また、[数13]によって算出されるパラメータの分布に基づいて、Policy Server101は、平均1、偏差、及び平均2を算出する。
ステップ906〜ステップ909において、Policy Server101は、アプリケーションの[数13]によって算出されるパラメータ、並びに[数13]によって算出されるパラメータの分布における平均1、偏差、及び平均2を用いて処理を実行する。
ステップ910において、Policy Server101は、[数8]を用いてキュー割り当て率を算出する。第3の実施形態では、α、β、γ、及びδが下式で定義されている。
Policy Server101は、ポリシング及びシェーピングを用いて帯域を制御する。
次に、Router102、103にポリシーを設定するためのコマンドの一例を示す。Policy Server101は、Router102、103に割り当てるキュー403及びキュー割り当て率を設定する。以下、GR2000を用いてシェーピングを行うためのコマンドラインを示す。
qos-queue-list <QueueListName>
4wfq 2% 8% 30% 60%
exit
qos-interface <InterfaceName> queue_list <QueueListName> drop_list <DropListName>
ここで、キュー割り当て率は、[数8]を用いて算出される。前記コマンドラインにおいて、4本のキューは、WFQとして割り当てられる。また、drop_listは、廃棄率の設定を示している。
[第4の実施形態]
以下、本発明の第4の実施形態について説明する。第4の実施形態は、通信プロトコルとしてSIPを用いている。
図16は、本発明の第4の実施形態のバックボーンシステムの一例を示す図である。
本発明の第4の実施形態のバックボーンシステムの構成は、第1の実施形態のバックボーンシステムの構成と同一であるが、各クラスのセッション情報を取得する場合、SIPを用いてセッション情報がPolicy Server101に送信される。具体的には、経路1601に示すように、Home Gateway104、Edge Router103、及びProxy105を経由してPolicy Server101にSIPメッセージが送信される。
なお、各装置構成及び処理については、第1の実施形態と同一のものである。
[第5の実施形態]
以下、本発明の第5の実施形態について説明する。第5の実施形態は、通信プロトコルとしてRSVPを用いている。
図17は、本発明の第5の実施形態のバックボーンシステムの一例を示す図である。
本発明の第5の実施形態のバックボーンシステムの構成は、第1の実施形態のバックボーンシステムの構成と同一であるが、各クラスのセッション情報を取得する場合、RSVPを用いてセッション情報がPolicy Server101に送信される。具体的には、経路1701に示すように、Home Gateway104を経由してRsevメッセージを受信したEdge Router103が、RequestメッセージをPolicy Server101に送信する。
なお、各装置構成及び処理については、第1の実施形態と同一のものである。
[第6の実施形態]
以下、本発明の第6の実施形態について説明する。第6の実施形態は、通信プロトコルとしてRSVP−TEを用いている。
各クラスのセッション情報を取得する経路は、第5の実施形態と同一であり、RSVP−TEを用いてセッション情報がPolicy Server101に送信される。
なお、各装置構成及び処理については、第1の実施形態と同一のものである。
[第7の実施形態]
以下、本発明の第7の実施形態について説明する。第7の実施形態は、通信プロトコルとしてSIP及びNSLPを切り替え用いている。
具体的には、静的なセッション情報は、SIPを用いて、SIP Proxy105を経由してPolicy Server101に送信される。動的なセッション情報は、NSLPを用いて、Edge Router103からPolicy Server101に送信される。また、Policy Server101の負荷率、及びRouter102、103の負荷率等、SIP及びNSLPが経由するRouter102、103及びPolicy Server101の稼動状況に応じて切り替えてもよい。
なお、各装置構成及び処理については、第1の実施形態と同一のものである。
[第8の実施形態]
以下、本発明の第8の実施形態について説明する。第8の実施形態は、通信プロトコルとしてSIP及びRSVPを切り替えて用いている。
具体的には、静的なセッション情報は、SIPを用いて、SIP Proxy105を経由してPolicy Server101に送信される。動的なセッション情報は、RSVPを用いて、Edge Router103からPolicy Server101に送信される。
なお、各装置構成及び処理については、第1の実施形態と同一のものである。
[第9の実施形態]
以下、本発明の第9の実施形態について説明する。第9の実施形態は、通信プロトコルとしてSIP及びRSVP−TEを用いている。
具体的には、静的なセッション情報は、SIPを用いて、SIP Proxy105を経由してPolicy Server101上に送信される。動的な情報は、RSVP−TEを用いて、Edge Router103からPolicy Server101に送信される。
なお、各装置構成及び処理については、第1の実施形態と同一のものである。