(57)【要約】【課題】ルータ内部に配備したサーバでサービスを提供するルータにおいて、サーバリソースをユーザ要求に応じて動的に割り当てられない。【解決手段】複数のネットワークインターフェースで受信するサービス要求パケットに対して、その総和の帯域幅があらかじめ設定された閾値を越えないように制御することで、あるサービスが占有するサーバリソースが一定値内に抑えながら、ユーザからのサービス要求を最大限に処理可能とし、また、サーバ上で各サービスが占有しているリソースをネットワークインターフェースに通知し、他のサービスの帯域制限を緩和することで、あるサービスの占有リソースが既定値よりも少ない場合に、その分の余剰リソースを他のサービスで利用可能とすることで、上記課題を解決する。【選択図】図２
2006129213.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末に対してネットワークサービスを提供する一つ又は複数のサーバと、外部からのパケットを受信する一つ又は複数のネットワークインターフェースと、ルータを制御するルータ制御部とが内部スイッチネットワークで接続され、
そのネットワークインターフェースで帯域制限を含むフロー制御を行うことが可能なルータであって、
前記ネットワークインターフェースがルータ内部のサーバに転送するパケットに対して帯域制御を行う機能を持ち、
ルータ内部のサーバで実行されるサービスに対してユーザ端末から送信されたサービス要求パケットの帯域幅の上限を既定値以内に制限することで、サービス毎に消費されるサーバリソースを一定値以内に制限することを特徴とするパケット通信装置。
【請求項２】
請求項１のパケット通信装置であって、
前記ネットワークインターフェースが、
このネットワークインターフェースで受信した、ルータ内部のサーバを宛先とするサービス要求パケットが占有する帯域幅を、各サーバのサービス毎に監視する機能を持ち、また、ネットワークインターフェース識別子及びサーバ識別子、サービス種別とともに、この帯域幅を他のネットワークインターフェースへ通知する機能を持ち、また、他のネットワークインターフェースから通知される、この情報の組み合わせを受信する機能を持ち、
ネットワークインターフェースで受信しているサービス毎のサービス要求パケットが占有する帯域幅に変更があった場合に、この変更を他のネットワークインターフェースに通知し、ネットワークインターフェースでのサービス毎のサービス要求パケットの最大占有帯域幅を変更して、サービス要求パケットの受信によりサーバで消費される一連のサーバリソースを制限することを特徴とするパケット通信装置。
【請求項３】
請求項２のパケット通信装置であって、
前記ネットワークインターフェースが、
サービス種別と、サーバの単位リソースに対応するサービス要求パケットの帯域幅を表すリソース比をエントリとする最大帯域計算テーブルを保持する機能を持ち、
前記ネットワークインターフェースが、ルータ内部のサーバあるいはルータ制御部から、サービス毎に割り当てられたサーバリソースを通知されると、このサーバリソースに対して最大帯域計算テーブルのリソース比を乗ずることで、サービス毎のサービス要求パケットの最大帯域幅を決定してフロー制御部に設定することを特徴とするパケット通信装置。
【請求項４】
請求項３のパケット通信装置であって、
前記ネットワークインターフェースが、
サービス毎の、全てのネットワークインターフェースへのサービス要求パケットの入力帯域幅の総和を計算する機能を持ち、
要求パケットの入力帯域幅のこの総和に対する、サービス毎に設定されたサーバへの入力帯域幅の上限の割合を、個々のネットワークインターフェースへのサービス要求パケットの入力帯域幅に乗ずることで、
サービス毎のサービス要求パケットのサーバへの入力帯域幅が、あらかじめ設定した、サーバへの入力帯域幅の上限値を上回らないように制御することを特徴とするパケット通信装置。
【請求項５】
請求項３のパケット通信装置であって、
前記ネットワークインターフェースが、
サービス毎の、全てのネットワークインターフェースへのサービス要求パケットの入力帯域幅の総和を計算する機能を持ち、
ルータ制御部がネットワークインターフェース毎に優先度を設定する機能を持ち、
ユーザからのサービス要求パケットの入力帯域幅の総和が、あらかじめ設定された入力帯域幅の上限値を越えた場合、ネットワークインターフェース毎のあらかじめ設定された優先度の比と、ネットワークインターフェース毎の入力帯域幅の比をともに重みづけに用いて、ネットワークインターフェース毎の入力帯域幅の上限値を更新することを特徴とするパケット通信装置。
【請求項６】
請求項１のパケット通信装置であって、
前記サーバが、
サーバ上で実行されているサービスが占有しているサーバのリソースを、サービス毎に管理するテーブルを保持する機能を持ち、
利用リソースがあらかじめ設定された割当リソースに達していないサービスについて余剰リソースを計算し、他のサービス要求パケットが帯域制限状態にあるサービスに対して、この余剰リソースを割り振ることを特徴とするパケット通信装置。
【請求項７】
外部よりパケットを受信する複数のインターフェースと、
該複数のインターフェースと接続され外部へ複数のサービスを提供するサーバと、
該インターフェースおよびサーバを相互に接続するバスと、
前記複数のインターフェースが受信するパケット量の総和を管理する帯域監視テーブルとを備え、
前記帯域監視テーブルを参照して各ネットワークインターフェースからサーバに中継するパケットの量を制御することを特徴とするパケット通信装置。
【請求項８】
前記複数のインターフェースがそれぞれ前記帯域監視テーブルを備え、
前記複数のインターフェース同士が自己の受信するパケットの量を他のインターフェースに通知し合うことにより、前記帯域監視テーブルは前記複数のインターフェースそれぞれが受信するパケットの量を記憶し、パケット量の総和を算出することを特徴とする請求項７に記載のパケット通信装置。
【請求項９】
前記帯域監視テーブルは、
フロー識別子、該フロー識別子で識別されるフローの最大帯域、ネットワークインターフェース毎の該フローの入力帯域及び出力帯域、全てのネットワークインターフェースでの該フローの入力帯域の総和及び出力帯域の総和からなるエントリを持つことを特徴とする請求項７に記載のパケット通信装置。
【請求項１０】
さらにサービス情報登録テーブルを有し、
該サービス情報登録テーブルは、
フロー識別子、サーバ識別子、サービス種別、割り当てリソースから成るエントリを持ち、
前記エントリは、前記サーバ識別子で識別されるサーバ上の前記サーバ種別で識別されるサービスが、前記サーバからどれだけのリソースを割り当てられているか、および、どのフロー識別子を有するフローが当該サービスで処理されているかを示すことを特徴とする請求項９に記載のパケット通信装置。
【請求項１１】
前記サーバでサービス毎のリソース利用状況を監視し、前記サービス情報登録テーブルの割り当てリソースを、前記リソース利用状況に応じて更新することを特徴とする請求項１０に記載のパケット通信装置。
【請求項１２】
さらに最大帯域計算テーブルを有し、
該最大帯域計算テーブルは、
フロー識別子とリソース比を含むエントリを持ち、
前記帯域監視テーブルへあるフローのエントリを追加する際、該最大帯域計算テーブルを参照して、フローの最大帯域を設定することを特徴とする請求項９に記載のパケット通信装置。
【請求項１３】
サーバリソース管理機能部をネットワークインターフェースの外部に設け、
該サーバリソース管理機能部が前記帯域監視テーブルを備え、
前記複数のインターフェースが自己の受信するパケットの量を前記サーバリソース管理機能部に通知することにより、前記帯域監視テーブルは前記複数のインターフェースそれぞれに入力するパケットの量を蓄積し、パケット量の総和を算出することを特徴とする請求項７に記載のパケット通信装置。
【請求項１４】
前記帯域監視テーブルは、
所定のサーバーで提供される所定のサービスに対応するフロー毎に、前記複数のインターフェースが受信するパケット量の総和を管理することを特徴とする請求項７に記載のパケット通信装置。
【請求項１５】
ユーザからのデータを入力回線より受信する複数のインターフェースと、
該複数のインターフェースと接続され複数のサービスを提供するサーバに接続される出力回線と、
所定のサーバーで提供される所定のサービスに対応するフロー毎に、前記複数のインターフェースが受信するデータ量の総和を管理する、サーバーリソース管理機能部とを有し、
前記フロー毎に、前記複数のインターフェースから前記出力回線に出力されるデータ量を制御することを特徴とする通信装置。
【請求項１６】
前記サーバーリソース管理機能部は、所定のサーバーで提供される所定のサービスに対応するフロー毎に、最大帯域を管理し、
前記複数のインターフェースから、所定のサーバーで提供される所定のサービスに対して出力されるデータ量を、前記最大帯域以下に制御することを特徴とする請求項１５に記載の通信装置。
【請求項１７】
前記サーバリソース管理機能部は、前記サーバーから当該サーバーのリソースの状態を受信し、当該リソースの状態を反映して前記最大帯域を変更することを特徴とする請求校１６に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IP(Internet Protocol)ネットワークを構成するルータに関するものである。さらに詳しくは、サーバサイトとIPネットワークの接続点でサービス毎にトラフィックを分類してそれぞれの流量を制御し、サービス毎にユーザへの応答を保証する方法および装置に関する。
【背景技術】
【０００２】
複数のサービスをネットワークを介して提供する際、それぞれのサービス品質を保証するために、ルータのQoS(Quality of Service)機能が用いられる。QoS機能を用いることで、接続回線内で個々のサービスのパケットが利用する帯域を設定し、優先度の高いサービスを優先してユーザに提供できる。
【０００３】
QoS機能は、フローを単位として帯域制御や優先制御を行う機能である。ここで、フローとは、TCP(Transmission Control Protocol)あるいはUDP(User Datagram Protocol)のポート番号や送信元あるいは宛先IPアドレスの組み合わせが一致するパケットの集合で表される。サービス要求を受信する入力側ネットワークインターフェース及びサーバが接続される出力側ネットワークインターフェースの双方でこのQoS機能が利用できる。
【０００４】
単一のサーバ上で複数のサービスを提供する場合、ユーザにとって優先度の低いサービスのパケットをサーバが大量に受信してその要求を処理すると、そのサービスの負荷が上昇してサーバの処理リソースの大半を占め、ユーザにとって優先度の高い他のサービスの品質が低下する場合がある。このため、サーバの処理リソースを複数のサービスが共用する場合は、複数のサービス間で優先度に差を付け、優先度の高いサービスを優先的にユーザに提供することが望ましい。
【０００５】
例えば、大容量のファイル転送に用いられるFTP(File Transfer Protocol)が占有する帯域の最大値を回線帯域幅の３０％に抑え、残りを業務用アプリケーションのインターフェースとして用いられるHTTP(Hyper Text Transfer Protocol)や電子メールの取得に用いられるSMTP(Simple Mail Transer Protocol)で利用し、FTPによるファイル転送での回線帯域の占有を防ぐことが考えられる。
【０００６】
サービス毎の優先度を設定するためには、ルータのサーバ接続側ネットワークインターフェースで、QoS機能によりそれぞれのサービスのパケットが占有する帯域幅に制限を設けることで、それぞれのサービスによって占有されるサーバリソースを間接的に制限することが行われる。
【０００７】
ルータは、CPU及びその周辺装置で構成される制御部を持ち、この制御部が、OSPF(Open  Shortest PathFirst)やBGP(Border Gateway Protocol)等の経路制御プロトコル処理や、telnetやHTTPを用いた設定管理用ユーザインターフェースの提供を行う。ネットワークサービスの多様化に伴い、高機能化するために、CPUまたはネットワークプロセッサ、及びそのソフトウェアで構成されるサーバをルータの内部に配置することが行われる。サーバは、ルータ内部のスイッチインターフェースを介してネットワークインターフェースに接続される。
【０００８】
このようなルータ内に配備されたサーバに対してルータのQoS機能を適用し、サーバが提供するサービス毎のサービス品質を保証する場合、サーバ毎にQoS機能を実現するための機構を配備することは、ルータのコスト増大につながる。
【０００９】
コストの増大を抑えるために既存のルータの構成を踏襲する場合、サービス毎の通信品質を保証するためには、ユーザからの要求パケットを受信する複数のネットワークインターフェースに対して一律に、あるいは利用実績に応じて帯域制限を行う。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記のように、ユーザからの要求パケットを受信する複数のネットワークインターフェースに対して一律に、あるいは利用実績に応じて帯域制限を行う方法でサーバが受信するサービス要求を一定の範囲内に制限すると、次の問題が生じる。すなわち、ユーザからのサービス要求にネットワークインターフェース毎に偏りがあり、あるネットワークインターフェースで受信するサービス要求がそのネットワークインターフェースでの既定値に達していない場合、サーバに発生する余剰リソースを、他のネットワークインターフェースを介して接続したユーザが利用できず無駄になることが課題となる。
【００１１】
また、ルータ内部のサーバで複数のサービスが提供され、それぞれについて最大制限リソースが規定され、この規定以上にサーバリソースを消費しないよう、ネットワークインターフェースでサービス要求の最大値を制限する場合を考える。この場合、サーバ上のあるサービスが最大制限リソース以下のリソースしか消費しないと、このサービスが余剰リソースを持つ。この余剰リソースを他のサービスに割り当ててサーバリソースを効率的に利用できないことが課題となる。
【課題を解決するための手段】
【００１２】
本発明の通信装置は、外部よりパケットを受信する複数のインターフェースと、複数のインターフェースと接続され外部へ複数のサービスを提供するサーバと、インターフェースおよびサーバを相互に接続するバスと、複数のインターフェースが受信するパケット量の総和を管理する帯域監視テーブルとを備え、帯域監視テーブルを参照して各ネットワークインターフェースからサーバに中継するパケットの量を制御することを特徴とする。
【００１３】
この構成により、複数のインターフェースを経由して、サービスを提供するサーバに入力されるパケット量を監視することができ、それをＱｏＳ制御に反映することができる。
【００１４】
ここで、複数のインターフェースがそれぞれ帯域監視テーブルを備え、複数のインターフェース同士が自己の受信するパケットの量を他のインターフェースに通知し合うことにより、帯域監視テーブルは前記複数のインターフェースそれぞれが受信するパケットの量を記憶し、パケット量の総和を算出するように構成することができる。
【００１５】
また、帯域監視テーブルは、フロー識別子、フロー識別子で識別されるフローの最大帯域、ネットワークインターフェース毎のフローの入力帯域及び出力帯域、全てのネットワークインターフェースでのフローの入力帯域の総和及び出力帯域の総和からなるエントリを持つように構成するのが好適である。これにより、サービス毎に処理すべきデータ量を適切に制御することができる。
【００１６】
さらにサービス情報登録テーブルを有し、サービス情報登録テーブルは、フロー識別子、サーバ識別子、サービス種別、割り当てリソースから成るエントリを持ち、エントリは、サーバ識別子で識別されるサーバ上のサーバ種別で識別されるサービスが、サーバからどれだけのリソースを割り当てられているか、および、どのフロー識別子を有するフローが当該サービスで処理されているかを示すことが好適である。
【００１７】
さらに、サーバでサービス毎のリソース利用状況を監視し、サービス情報登録テーブルの割り当てリソースを、リソース利用状況に応じて更新することにより、サーバのリソースを効率よく利用することができる。
【００１８】
さらに、最大帯域計算テーブルを有し、最大帯域計算テーブルは、フロー識別子とリソース比を含むエントリを持ち、帯域監視テーブルへあるフローのエントリを追加する際、最大帯域計算テーブルを参照して、フローの最大帯域を設定することにより、さらにリソースを有効利用することができる。
【００１９】
上記の例では、サーバリソース管理機能部をネットワークインターフェースに設けたが、逆にネットワークインターフェースの外部に設けることもできる。ここでは、サーバリソース管理機能部が帯域監視テーブルを備え、複数のインターフェースが自己の受信するパケットの量をサーバリソース管理機能部に通知することにより、帯域監視テーブルは複数のインターフェースそれぞれに入力するパケットの量を蓄積し、パケット量の総和を算出することができる。
【００２０】
また、帯域監視テーブルは、所定のサーバーで提供される所定のサービスに対応するフロー毎に、複数のインターフェースが受信するパケット量の総和を管理することが好適である。これにより、サービス毎に処理すべきデータ量を適切に制御することができ、サーバーのリソースを効率的に使用することができる。
【００２１】
また、本発明の他の態様では、ユーザからのデータを入力回線より受信する複数のインターフェースと、複数のインターフェースと接続され複数のサービスを提供するサーバに接続される出力回線と、所定のサーバーで提供される所定のサービスに対応するフロー毎に、複数のインターフェースが受信するデータ量の総和を管理する、サーバーリソース管理機能部とを有し、フロー毎に、前記複数のインターフェースから前記出力回線に出力されるデータ量を制御することを特徴とする。
【００２２】
ここで、サーバーリソース管理機能部は、所定のサーバーで提供される所定のサービスに対応するフロー毎に、最大帯域を管理し、複数のインターフェースから、所定のサーバーで提供される所定のサービスに対して出力されるデータ量を、最大帯域以下に制御することもできる。
【００２３】
さらに、サーバリソース管理機能部は、サーバーから当該サーバーのリソースの状態を受信し、当該リソースの状態を反映して最大帯域を変更することもできる。
【００２４】
また、本発明の通信方法は、ユーザからのデータを複数のインターフェースで受信し、これを経由して複数のサービスを提供するサーバに出力する際に、所定のサーバーで提供される所定のサービスに対応するフロー毎に、複数のインターフェースが受信するデータ量の総和を管理し、フロー毎に、複数のインターフェースから出力回線に出力されるデータ量を制御することを特徴とする。本発明は、背景技術において課題となる、
（１）サーバに発生する余剰リソースをネットワークインターフェースを介して接続したユーザが利用できないことと、
（２）余剰リソースを他のサービスに割り当ててサーバリソースを効率的に活用できないことを解決するものである。
【００２５】
（１）の課題に対して、本発明のルータでは、内部スイッチインターフェースに接続されたサーバは、自身が提供するサービス毎の最大利用可能リソースを、直接あるいはルータ制御部を介して全てのネットワークインターフェースのサーバリソース管理機能へ通知する。
【００２６】
ネットワークインターフェース上のサーバリソース管理機能は、サービス毎の最大利用可能リソースをサーバ識別子と関連付けて保持する機能を持つ。また、サービス種類毎に決定される、リソースあたりの平均占有帯域を用いて、この最大利用可能リソースを越えない範囲で処理可能なユーザ要求の帯域幅を、サービス識別子と関連付けて保持する機能を持つ。
【００２７】
また、ルータのネットワークインターフェースそれぞれでユーザ端末から受信したサービス要求の帯域幅を保持し、全てのネットワークインターフェースでのサービス要求帯域幅の総和を、サービス毎に管理する機能を持つ。
【００２８】
ネットワークインターフェース上のインターフェース間連携機能は、サーバリソース管理機能が保持する、ネットワークインターフェースがユーザ端末から受信したサービス要求の帯域幅を、他のネットワークインターフェースのインターフェース間連携機能との間でお互いに通知する機能を持つ。
【００２９】
サーバリソース管理機能は、全てのネットワークインターフェース上のサービス要求帯域幅の和が、あらかじめ設定された、サービス毎の最大帯域幅を超過した場合、ネットワークインターフェース上で該当するパケットを廃棄することで、サービス要求が規定内に収まるよう調整を行う。このパケットの廃棄は、それぞれのネットワークインターフェースに対して一律の割合で、あるいはあらかじめそれぞれに設定された優先度に従って行われる。
【００３０】
（２）の課題に対して、本発明のルータでは、ルータの内部スイッチインターフェースに接続されたサーバ上の複数のサービスを、サーバリソース監視機能が監視する。サーバリソース監視機能は、サーバ上の複数のサービスそれぞれが占有しているサーバの処理リソースの量を監視し、サービス識別子と占有処理リソースとを関連づけて保持し、最大トランザクション数通知機能へ通知する。
【００３１】
最大トランザクション数通知機能は、サービス識別子と最大トランザクション数とを関連付けて保持し、全てのネットワークインターフェースに通知する機能を持つ。ここで、サービス毎の最大トランザクション数を求めるには、サービス毎に、現在の占有処理リソースと最低保証リソースのうち少ない方を選択し、これらの値の和をサーバ全体のリソースから引いて”サーバの余剰リソース”を求める。
この余剰リソースをあらかじめ設定された割合に従って各サービスに割り当てる。そして、サービス毎に平均化された、トランザクションに対して消費されるサーバリソースの割合を用いて、サービス毎の余剰リソースをサービス毎に増加可能なトランザクション数へと変換する。これに現在のトランザクション数と合わせることで、サービス毎の最大トランザクション数とする。
【００３２】
ネットワークインターフェースのフロー制御部は、通知されたサービス毎の最大トランザクション数をサービス毎のフロー検出条件と関連付けて保持し、この条件に該当するフローを検出した場合、あらかじめ設定された最大トランザクション数内にそのフローが収まるよう、パケット処理部あるいはパケット転送部に対してパケット廃棄の指示を出す。
【発明の効果】
【００３３】
サーバ上で実行される複数のサービスそれぞれに割り当てるサーバリソースを保証しながら、サーバ全体で発生する余剰リソースを各サービスに割り当て、サービス品質をサーバリソースの範囲内で最大限に向上することを可能にする。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施に形態について図面を参照して説明する。
【００３５】
図１は、本発明のルータの概略図である。本発明のルータ１は、内部スイッチインターフェース５により接続された、ルータ制御部２、複数のサービスを提供可能な一つまたは複数のサーバ３ａ、３ｂ、ネットワークインターフェース４ａ、４ｂによって構成される。本発明のルータ１は、スイッチネットワーク６あるいはルータ７で構成されたネットワークを介して、複数のユーザ端末８ａ〜８ｃからサービス要求を受信し、サーバ３ａ、３ｂのうち、サービス要求に該当するサーバがサービス要求を処理してユーザ端末に応答する。
【００３６】
本発明のルータ１では、後述するネットワークインターフェース４ａ、４ｂ上のサーバリソース管理機能が、サービス毎のリソース割り当て状態及び、ユーザからのサービス要求を管理し、ユーザからのサービス要求により消費されるサーバ上のリソースが、あらかじめサービス毎に設定された閾値を越えないように、ネットワークインターフェース上でユーザからのサービス要求を制限することで、サービス毎のリソース割当を行い、サービス毎の品質を保証する。
【００３７】
図２は、本発明のネットワークインターフェース４ａ、４ｂの概略構成図である。ネットワークインターフェースは、外部接続回線からパケットを受信するパケット受信部４１、パケットの中継先を検索する中継先検索部４２、あらかじめ設定されたフローに対して帯域制御、優先制御等を行うフロー制御部４３、中継先ヘッダを付与するヘッダ処理部４４、中継先ヘッダを付与したパケットをルータ内部のスイッチインターフェースに送信するパケット転送部４５を持ち、さらにサーバリソース管理機能４６及びインターフェース間連携機能４７を持つことで構成する。パケット受信部４１及び、中継先検索部４２、ヘッダ処理部４４、パケット転送部４５は、ルータの通常のパケット中継処理を行う。
【００３８】
図７はフロー制御部４３が持つフロー管理テーブル４３１の例である。フロー管理テーブル４３１は、フロー識別子と、パケットの送信元あるいは宛先先のIPアドレス及びTCPあるいはUDPのポート番号の組み合わせで表される、フロー検出条件から成るエントリを有する。フロー制御部は、ルータ制御部２あるいはサーバ３ａ、３ｂからの通知でこのフロー管理テーブルのエントリを追加あるいは削除する機能を持つ。また、フロー制御部４３は、受信したパケットヘッダがフロー制御の対象となるパケットのものである場合、ヘッダ処理部４４に、パケットの廃棄あるいはパケットヘッダの書き換えを指示する機能を持つ。
【００３９】
本発明のネットワークインターフェース４ａ、４ｂでは、サーバリソース監視機能４６が、サーバ３ａ、３ｂで提供されるサービス毎に設定された最大利用可能リソースを管理する。この最大利用可能リソースに基づいて、フロー制御部がフロー毎の帯域制御を行うことで、ルータ１は、サーバ３ａ、３ｂでのサービス毎のリソース消費量を既定値内に制御する。
【００４０】
図３は、本発明のサーバリソース管理機能４６に保持されるサービス情報登録テーブル４６１を示す。サービス情報登録テーブル４６１は、フロー識別子、サーバ識別子、サービス種別、割り当てリソースから成るエントリを持つ。一つのエントリは、あるサーバ上のあるサービスが、サーバからどれだけのリソースを割り当てられて使用可能であるかを表す。
【００４１】
サーバリソース管理機能は、サーバ３ａ、３ｂあるいはルータ制御部２からの通知を受けて、このエントリを追加あるいは削除、更新する機能を持つ。
【００４２】
図４は、本発明のサーバリソース管理機能４６に保持される帯域監視テーブル４６２をを示す。帯域監視テーブル４６２は、フロー識別子及び、最大帯域、ネットワークインターフェース毎の該当するフローの入力帯域及び出力帯域、全てのネットワークインターフェースでの該当するフローの入力帯域の総和、同じく出力帯域の総和から成るエントリを持つ。サーバリソース管理機能４６は、サーバ３ａ、３ｂあるいはルータ制御部２からの通知によるサービス情報登録テーブル４６１へのエントリの登録あるいは削除に応じて、この帯域監視テーブル４６２へエントリを追加あるいは削除する機能を持つ。
【００４３】
また、サーバリソース管理機能４６は、帯域監視テーブル４６２のエントリである、そのネットワークインターフェースで設定すべきフロー毎の最大帯域幅を、フロー識別子とともにフロー制御部に通知する機能を持つ。フロー制御部４３は、サーバリソース管理機能４６からのこの通知を受けて該当するフローの最大帯域幅を設定し、該当するフローに対して帯域制御を行う機能を持つ。
【００４４】
また、サーバリソース管理機能４６は、帯域監視テーブル４６２にエントリが存在するフローに関して、その入力帯域をフロー制御部から通知を受けて更新する機能を持つ。また、サーバリソース間機能４６は、インターフェース間連携機能４７との間で、帯域監視テーブル４６２にエントリが存在するフローに関して、フロー制御部から通知を受けた入力帯域を通知し、他のネットワークインターフェース上での入力帯域を受信する機能を持つ。
【００４５】
図５はサーバリソース管理機能４６が保持する最大帯域計算テーブル４６３を示す。最大帯域監視テーブル４６３は、フロー識別子及び、最大帯域を算出するための数値、例えばリソース比をエントリとする。このリソース比は、サーバに入力されるフローの単位帯域幅あたりのサーバリソース消費量をあらわす。サービス情報登録テーブル４６１中のあるフローを帯域監視テーブル４６２のエントリとして追加する場合を考える。テーブル４６１に示す、登録フローの割当リソースを、登録フローとサービス種別が一致するテーブル４６３中のエントリのリソース比で割った値が、登録フローに割り当てられる最大帯域となる。
【００４６】
サーバリソース管理機能４６は、サーバ３ａ、３ｂあるいはルータ制御部２からの通知を受けて、この最大帯域計算テーブル４６３へエントリを追加あるいは削除する機能を持つ。
【００４７】
図６はサーバ情報テーブル４６４である。サーバリソース管理機能４６は、後述するサーバ内の複数サービス間での余剰リソース配分で利用するため、サーバ情報テーブル４６４を保持する。サーバ情報テーブル４６４は、サーバ識別子及び、内部アドレス、保有リソースをエントリとする。内部アドレスは、サーバ識別子で表されるサーバに内部スイッチインターフェースを介してパケットを転送する場合に内部ヘッダの一部として付与するアドレスを表し、保有リソースは、サーバ識別子で表されるサーバが持つリソースを表す。
【００４８】
サーバリソース管理機能４６は、サーバ３ａ、３ｂあるいはルータ制御部２からの通知を受けてサーバ情報テーブル４６４のエントリを追加あるいは削除する機能を持つ。
【００４９】
ネットワークを介したサービスを提供する場合に、高品質なサービスを提供するためには、接続回線の帯域幅がボトルネックになる場合がある。このため、ルータ内の後続な内部スイッチインターフェースを介して、CPUあるいはネットワークプロセッサなどにより構成するサーバを配備することで、通信回線のボトルネックを解消し、ユーザからのサービス要求に対して、高品質なサービスを提供することが行われる。
【００５０】
通信回線のボトルネックが解消してユーザからのサービス要求が増加した場合、サーバのリソースがボトルネックとなる場合がある。ルータの外部にサーバを接続している場合、サーバとの間のネットワークインターフェースでフロー制御機能を利用し、ユーザからのサービス要求に上限を設けることで、サービス毎の消費リソースを一定範囲内に抑えられる。
【００５１】
しかしながら、ルータ内部のスイッチインターフェースを介してサーバを配備する場合、ルータの内部スイッチインターフェースがフロー制御機能を持たないため、入力側の全てのネットワークインターフェースでフロー制御機能を利用してユーザからのサービス要求に優先度を付けてサーバへ中継する必要がある。
【００５２】
入力側のネットワークインターフェースでフロー制御を行う場合、ユーザからのサービス要求の分布にネットワークインターフェース毎に偏りがあると、サーバで余剰リソースが発生する。
【００５３】
サーバで余剰リソースが発生した場合、設定値を越えるユーザ要求を受信し、フロー制御によりユーザ要求が制限されているネットワークインターフェースに対して、サーバの余剰リソースの分だけ設定値を拡大し、サーバリソースをユーザ要求に対して効率的に割り当てることが望ましい。
【００５４】
本発明では、ネットワークインターフェース上のサーバリソース管理機能が、全てのネットワークインターフェース上のユーザ要求の受信状態を管理し、ユーザ要求の総和に応じて各ネットワークインターフェースからサーバに中継するユーザ要求の量を制御することで、サービス毎に設定されたリソースを効率的にユーザ要求に対して割り当てる。
【００５５】
図８は、本発明のサービス品質保証方式の実施の形態を示す概略図である。ここでは、ユーザ端末８ａがサーバ３ａに対してHTTPで、ユーザ端末８ｃがサーバ３ｂに対してHTTP及びSIPで、ユーザ端末８ｃがサーバ３ｃに対してHTTPでサービス要求を行う例を示す。
【００５６】
ルータ１内のサーバ３ａ、３ｂでサービスを起動した後、サーバ３ａ、３ｂあるいはルータ制御部２は、ネットワークインターフェース４ａ及び４ｂのサーバリソース管理機能へ、サービス毎に、サーバ識別子及びサービス種別、割り当てリソースを通知する。ここでは、サーバ３ａでHTTP及びSIPサービスを起動し、それぞれに６０及び４０のリソースを割り当てるものとする。
【００５７】
この時、ネットワークインターフェース４ａ、４ｂのサーバリソース管理機能４６は、自身が保持するサービス情報テーブル４６１に、図３に示したようにエントリを作成する。フロー識別子は、エントリ毎に重複しない値を選択する。また同時に、帯域監視テーブル４６２に、図４に示したようにエントリを作成する。
この時、帯域監視テーブル４６２に登録されるサービス毎の最大帯域は、サービス情報テーブル４６１の割り当てリソースに、図５に示した最大帯域計算テーブル中の該当するリソース比を乗じた値を登録する。
【００５８】
さらに、サーバリソース管理機能４６は、サービス情報管理テーブル４６１に登録したサービスを要求するパケットを検出するために、フロー制御部４３にフロー検出条件を設定する。フロー検出条件は、サーバのアドレス及びTCPあるいはUDPのポート番号を、サービス情報管理テーブル４６１のエントリ中のサーバ識別子及びサービス種別から検索して利用する。
【００５９】
ユーザ端末８ａ、８ｃがサーバを宛先とするサービス要求パケットを送信すると、サービス要求パケットはスイッチネットワーク６あるいはルータ７を介してルータ１へ送信される。ルータ１は、これらのパケットをネットワークインターフェース４ａ及び４ｂで受信する。ネットワークインターフェース内では、パケット受信部４１がこれらのパケットを受信し、ヘッダ処理４４へパケットを送信し、中継先検索部４２及びフロー制御部４３へパケットヘッダを通知する。
【００６０】
中継検索部４２では、パケットヘッダ中の宛先アドレスを元に中継先のアドレスを検索し、さらにこの中継先のアドレスを元に、出力先のネットワークインターフェースを検索する。中継先検索部４２は、検索結果のネットワークインターフェースの識別子を中継先としてヘッダ処理部４４に通知する。ヘッダ処理部４４は、中継先検索部４３から通知された中継先を内部ヘッダに格納し、パケット受信部４１から受信した対応するパケットに付与して、パケット転送部４５に送信する。パケット転送部４５は、ヘッダ処理部４４から受信したパケットの内部ヘッダを読み取り、ルータ内部のスイッチインターフェース５を介して、内部ヘッダに格納された中継先が指すネットワークインターフェースへパケットを送信する。
【００６１】
フロー制御部４３では、パケット受信部４１から受信したパケットヘッダを読み取り、自身が持つフロー管理テーブル４３１を参照し、ネットワークインターフェースで受信したパケットが、フロー制御の対象となるパケットであるかを判断する。
フロー制御部４３は、フロー管理テーブル４３１のエントリに基づいて、サーバ３ａ、３ｂ内のサービス毎のサービス要求パケットの入力帯域幅を監視する。そして、この入力帯域幅がフロー管理テーブル４３１中の該当するエントリの最大帯域幅を越えないように、ヘッダ処理部４４に対して、必要に応じてパケットの廃棄を指示する。
【００６２】
このように、フロー制御部４３で行われるパケット廃棄の指示により、サーバへのサービス要求パケットの帯域幅を制限するために、サーバリソース管理機能４６は、全てのネットワークインターフェースでのサービス要求パケットの入力帯域幅を監視する。
【００６３】
まず、フロー制御部４３が、フロー管理テーブル４３１にエントリがあるフローについて、その入力帯域幅をサーバリソース管理機能４６へ定期的に通知する。サーバリソース管理機能４６は、フロー制御部４３より通知された、自身のネットワークインターフェースでのサービス毎の入力帯域幅を監視テーブル４６２の該当するエントリに上書きする。
【００６４】
図９は他の実施例を示す。
【００６５】
インターフェース間連携機能４７が、図９に示すように、他のネットワークインターフェースから、インターフェース識別子及び、フロー識別子、入力帯域幅を関連付けて受信する。そしてこれらの情報を、サーバリソース管理機能４６へ定期的に通知する。サーバリソース管理機能４６は、インターフェース間連携機能４７から定期的に通知される、他のネットワークインターフェースでのサービス毎の入力帯域幅と、帯域監視テーブル４６２の該当するエントリに上書きする。
【００６６】
また、インターフェース間連携機能４７は、図９に示すように、サーバリソース管理機能４６から通知された、サービス毎のサービス要求パケットの入力帯域幅を、ネットワークインターフェース識別子を付与して、自分意外の全てのネットワークインターフェースのインターフェース間連携機能へ通知する。
【００６７】
図４を再度参照して、本発明の機能を説明する。
【００６８】
ここで、全てのネットワークインターフェースでのサービス毎のサービス要求パケットの入力帯域幅を収集した結果、図４に示すように、フロー識別子が１であるフローの入力帯域幅が、ネットワークインターフェース４ａ、４ｂでそれぞれ７５Ｍｂｐｓ、１５Ｍｂｐｓとして帯域監視テーブル４６２に登録されているものとする。同様に、フロー識別子が２であるフローに対して、０Ｍｂｐｓ、１０Ｍｂｐｓと、フロー識別子が３のフローに対して０Ｍｂｐｓ、７０Ｍｂｐｓと、登録されているものとする。
【００６９】
フロー識別子２のフローについては、全てのネットワークインターフェースでの入力帯域幅の総和１０Ｍｂｐｓが、最大帯域として設定されている４０ｂｐｓを越えないため、ネットワークインターフェース上での帯域制限を行わない。
【００７０】
フロー識別子３のフローについては、全てのネットワークインターフェースでの入力帯域幅の総和７０Ｍｂｐｓが、最大帯域として設定されている５０Ｍｂｐｓを越えているため、ネットワークインターフェース４ｂで帯域制限を行い、入力帯域幅を５０Ｍｂｐｓに制限する。そのために、ネットワークインターフェース４ｂ上のサーバリソース管理機能４６は、フロー制御部４３が持つフロー管理テーブル４３１の、フロー識別子３に関するエントリの最大帯域幅を５０Ｍｂｐｓに設定する。
【００７１】
フロー識別子１のフローについては、全てのネットワークインターフェースでの入力帯域幅の総和９０Ｍｂｐｓが、最大帯域として設定されている３０Ｍｂｐｓを越えているため、ネットワークインターフェース４ａ、４ｂで帯域制限を行い、全体として入力帯域幅を３０Ｍｂｐｓに制限する。この際、一例では、それぞれのネットワークインターフェースに対して同じ割合で帯域制限を行う。その結果、このフローに対するネットワークインターフェース４ａ、４ｂでの最大帯域幅は、それぞれ３分の１づつとし、２５Ｍｂｐｓ、５Ｍｂｐｓと設定される。この例では、各ユーザは公平に取り扱われる。あるいは、ネットワークインターフェースに優先順位を設け、例えばネットワークインターフェース４ａに優先的に帯域を割り当て、余りを他のネットワークインターフェースに回すこともできる。
【００７２】
図１０は帯域監視テーブルの他の状態を示す。ここでは、ユーザ端末８ｃからサーバ３ａへのHTTPサービス要求が停止した場合の動作の例を示す。ネットワークインターフェース４ａのサーバリソース管理機能４６は、ネットワークインターフェース４ｂのフロー制御部４３が監視する入力帯域幅を、インターフェース間連携機能４７を介して収集する。この結果、図１０に示すように、サーバリソース管理機能４６が保持する帯域監視テーブルでは、ネットワークインターフェース４ｂでのフロー識別子が１であるフローの入力帯域幅が０となる。
【００７３】
サーバリソース管理機能４６は、インターフェース間連携機能４７からの通知による、他のネットワークインターフェースでの入力帯域幅の更新に従い、ネットワークインターフェースの帯域制限値を再計算する。
【００７４】
ここでは、ネットワークインターフェース４ａ、４ｂでの入力帯域幅が７５Ｍｂｐｓ、０Ｍｂｐｓであることから、それぞれの帯域制限値を３０Ｍｂｐｓ、０Ｍｂｐｓとする。ネットワークインターフェース４ａでのHTTPサービスへのサービス要求パケットの入力帯域幅は、２５Ｍｂｐｓから３０Ｍｂｐｓへと増加した。これにより、ネットワークインターフェース４ｂでの入力帯域幅の減少によりサーバ３ａに発生する余剰リソースを、ネットワークインターフェース４ａが受信するサービス要求へと割り当てられた。
【００７５】
このように、全てのネットワークインターフェースで、サービス要求パケットの入力帯域幅の総和を常に管理することで、複数のネットワークインターフェース間でサービス要求パケットの偏りが出た場合に、その偏りによるサーバ上の余剰リソースを他のネットワークインターフェース上のサービス要求に割り当てられる。
【００７６】
上記の例では、複数のネットワークインターフェースの入力帯域幅を全て同じ割合で減少させたが、本発明のサーバリソース管理機能によれば、ネットワークインターフェースの優先度に重みづけを行うことで、あるネットワークインターフェースからのサービス要求に対して、優先的にサーバリソースを割り当てることも可能である。
【００７７】
上記の実施形態では、サーバ上で提供するそれぞれのサービスに対して利用可能なサーバリソースを固定的に割り当て、フロー制御の最大帯域幅を制御することで、複数のネットワークインターフェース間で余剰リソースを融通しながら、サーバリソースの利用効率を最大化した。
【００７８】
しかしながら、単一のサーバ上で複数のサービスを提供する場合、サービス毎に割り当てられたリソースに対して、実際に利用されているリソースの割合は、サービス毎に異なる可能性がある。リソースの利用割合が１００％に満たないサービスがある場合、このサービスのために確保されているリソースのうち、利用されていないリソースは余剰リソースとなる。このような余剰リソースは、利用割合が１００％に達し、ネットワークインターフェース上でサービス要求パケットへの帯域制限が行われているサービスに、一時的に割り当てられることが望ましい。
【００７９】
本発明の他の例ではさらに、サーバでサービス毎のリソース利用状況を監視し、サービス毎の余剰リソースをネットワークインターフェース上のサーバリソース管理機能に通知し、割り当てリソースをサーバ上のリソース利用状況に応じて更新する。これにより、あるサービスが余剰リソースを持つ場合に、他のサービスがこのリソースを使用可能とすることが出来る。
【００８０】
図１１に、サービス毎の余剰リソースを融通可能とする場合の本発明のサーバ３ａ、３ｂの構成の概略図を示す。サーバ３ａ、３ｂは、プロセスの形で実装される複数のサービス３１ａ〜３１ｚを監視し、それぞれのサービスが占有するサーバリソースを保持するリソース監視機能３２を持つ。また、リソース監視機能３２が収集したサービス毎のリソース利用状況をネットワークインターフェース４ａ、４ｂ又はルータ制御部２に通知するリソース利用状況通知機能３３を持つ。
【００８１】
図１２にリソース監視機能３２が持つ、サービス毎のリソース利用状況を管理するリソース利用状況管理テーブル３２１を示す。リソース利用状況管理テーブル３２１は、サービス種別及び、割り当てリソース、利用リソース、最大リソースをエントリとする。割り当てリソースはあらかじめサービス毎に割り当てられたリソースであり、利用リソースはそれぞれのサービスが実際に利用しているリソース、最大リソースは、サービス毎の利用リソースの総和がサーバリソースを越えないようにしながら、サービスリソースを最大限活用する場合の、サービスへの割り当てリソースを表す。
【００８２】
図１５に、サーバでのリソース監視を行った場合のネットワークインターフェース４ａ、４ｂの変形例を示す。ネットワークインターフェース４ａ、４ｂは、図２に示す場合と同様に、パケット受信部４１及び、中継先検索部４２、フロー制御部４３、ヘッダ処理部４４、パケット転送部４５、サーバリソース管理機能４６、インターフェース間連携機能４７を持ち、さらに、サーバ３ａ、３ｂあるいはルータ制御部２からのサーバリソースの利用状況の通知を受ける、リソース通知受信機能４８を持つ。
【００８３】
リソース通知受信機能４８は、サーバ３ａ、３ｂあるいはルータ制御部２から通知を受けたサーバリソース利用状況に基づいて、サーバリソース管理機能４６が持つサービス情報登録テーブル４６１の割り当てリソースを更新する機能を持つ。
【００８４】
ここでは、サーバリソースが１００である場合を例として示す。サーバリソースのうち６０をHTTPサービスに、４０をSIPサービスに割り当て、実際の利用リソースがそれぞれ、６０及び１０であったとする。また、この時の各ネットワークインターフェースでのサービス要求パケットの入力帯域幅は、図１０に示した通りとする。
【００８５】
図１３はサーバでのリソース監視を行った場合のサービス情報登録テーブルである。
【００８６】
リソース監視機能３２はプロセスの動作状態を監視し、図１２に示すようにリソース利用管理テーブルを更新する。そして、ネットワークインターフェース４ａ、４ｂあるいはルータ制御部２に対してリソースの利用状況を通知する。リソースの利用状況を受信した、ネットワークインターフェース上のリソース通知受信機能４８は、サーバリソース管理機能４６が持つ、サービス情報登録テーブル４６１を、図１３に示すように更新する。
【００８７】
図１４はサーバでのリソース監視を行った場合の帯域監視テーブルの例である。
【００８８】
サーバリソース管理機能４６は、サービス情報登録テーブル４６１の更新を受けて、図１４に示すように帯域監視テーブル４６２を更新する。サーバ３ａのHTTPサービスの利用可能リソースが９０に拡大したことで、ネットワークインターフェース３ａからのHTTPサービス要求パケットの最大帯域幅が４５Ｍｂｐｓに拡大される。サーバリソース監視機能４６は、フロー制御部４３にこの変更を通知し、これに合わせて、フロー制御部４３がフロー管理テーブル４３１を更新する。
【００８９】
このようにして、サーバリソースの実際の利用状況を監視し、サーバリソース監視機能４６に通知してフロー制御部４３が持つフロー管理テーブル４３１に反映させることで、あるサービスで余剰リソースが発生している場合に、その余剰リソースを他のサービスに振り分けることが出来る。
【００９０】
以上、ルータ内部のサーバ上で提供されるサービスが消費するサーバリソースを一定値以下に抑えながら、余剰リソースを複数のネットワークインターフェース間あるいは複数のサービス間で融通するための方式を示した。  図１６は、サーバリソース管理機能をネットワークインターフェースから独立して持つ本発明のルータの構成の一例を示す概略図である。
【００９１】
本方式を実施するための形態として、図１５ではネットワークインターフェース内にサーバリソース管理機能を設ける例を示したが、図１６に示すように、サーバリソース管理機能をネットワークインターフェースの外部に設け、ルータの内部スイッチインターフェースを介してネットワークインターフェース及びルータ制御部、サーバと接続した形態を用いることも可能である。
【産業上の利用可能性】
【００９２】
本発明は、IPネットワークを構成するルータに関する発明であり、今後ネットワークへの高機能化要求が強まるのに伴い、ネットワーク上で提供されるサービスの品質を確保するために用いられると考えられる。
【図面の簡単な説明】
【００９３】
【図１】本発明のルータの構成の一例を示す概略図。
【図２】本発明のルータのネットワークインターフェースの構成の一例を示す概略図。
【図３】ネットワークインターフェース上のサーバリソース管理機能が保持するサービス情報登録テーブル。
【図４】ネットワークインターフェース上のサーバリソース管理機能が保持する帯域監視テーブル。
【図５】ネットワークインターフェース上のサーバリソース管理機能が保持する最大帯域計算テーブル。
【図６】ネットワークインターフェース上のサーバリソース管理機能が保持するサーバ情報テーブル。
【図７】ネットワークインターフェース上のフロー制御部保持するフロー管理テーブル。
【図８】本発明のルータの構成の処理の一例を示す概略図。
【図９】本発明のルータのネットワークインターフェースの処理の一例を示す概略図。
【図１０】あるネットワークインターフェースからのサービス要求フローが途絶えた時の例を示す帯域監視テーブル。
【図１１】本発明のルータに配備するサーバの構成の一例を示す概略図。
【図１２】サーバが保持するリソース利用状況管理テーブル。
【図１３】サーバでのリソース監視を行った場合のサービス情報登録テーブル
【図１４】サーバでのリソース監視を行った場合の帯域監視テーブル。
【図１５】本発明でサーバでのリソース監視を行った場合のネットワークインターフェースの構成の一例を示す概略図。
【図１６】サーバリソース管理機能をネットワークインターフェースから独立して持つ本発明のルータの構成の一例を示す概略図。
【符号の説明】
【００９４】
１  ルータ
２  ルータ制御部
３ａ、３ｂ  サーバ
４ａ、４ｂ  ネットワークインターフェイス
５  内部スイッチインターフェース
【図１】
2006129213.tif 000003
【図２】
2006129213.tif 000004
【図３】
2006129213.tif 000005
【図４】
2006129213.tif 000006
【図５】
2006129213.tif 000007
【図６】
2006129213.tif 000008
【図７】
2006129213.tif 000009
【図８】
2006129213.tif 000010
【図９】
2006129213.tif 000011
【図１０】
2006129213.tif 000012
【図１１】
2006129213.tif 000013
【図１２】
2006129213.tif 000014
【図１３】
2006129213.tif 000015
【図１４】
2006129213.tif 000016
【図１５】
2006129213.tif 000017
【図１６】
2006129213.tif 000018