(57)【要約】【課題】  クライアントサーバ型サービスを提供するネットワークにおいて、サーバ及びクライアントに負荷をかけることなくネットワークの輻輳を制御することが可能な輻輳制御システムを提供する。【解決手段】  サーバ４１が輻輳状態を検出してエッジルータ３１に通知し、エッジルータ３１がサーバ４１への新規アクセスを拒否してＩＰパケットを選択的に廃棄する。また、エッジルータ３１がサーバ４１への新規アクセスを拒否する旨の論理情報をクライアント１１〜１３方向の上流側のエッジルータ３２，３３に通知する。そして、エッジルータ３２，３３は、サーバ４１への新規アクセスを拒否してＩＰパケットを選択的に廃棄する。【選択図】  図１
2005086520.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからＩＰルータ装置を介してアクセスを受けたサーバが、インターネットプロトコルを用いたクライアントサーバ型サービスを提供するネットワークの輻輳制御システムにおいて、前記サーバは、クライアントから処理能力以上のアクセスを受けて自らの輻輳状態を検出し、前記サーバを収容する近隣のＩＰルータ装置に前記輻輳状態を通知し、前記近隣ＩＰルータ装置は、サーバから輻輳状態の通知を受けてサーバの輻輳状態が復旧するように輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項２】
クライアントからＩＰルータ装置を介してアクセスを受けたサーバが、インターネットプロトコルを用いたクライアントサーバ型サービスを提供するネットワークの輻輳制御システムにおいて、前記サーバを収容する近隣のＩＰルータ装置は、前記クライアントからサーバへのアクセス状態を監視し、該監視して得たセッション数と予め設定された輻輳閾値とを比較し、前記セッション数が輻輳閾値を超えた場合に前記サーバの輻輳状態を検出し、サーバの輻輳状態が復旧するように輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項３】
請求項２に記載の輻輳制御システムにおいて、前記輻輳閾値を、輻輳制御システムの保守者により設定された値または前記サーバから通知された値とすることを特徴とする輻輳制御システム。
【請求項４】
請求項１から３のいずれか一項に記載の輻輳制御システムにおいて、前記近隣ＩＰルータ装置は、サーバの輻輳状態が検出される以前に通信が確立していたクライアントからのアクセスを許容し、サーバの輻輳状態が検出された以降に通信を確立しようとするクライアントからのアクセスを拒否することを特徴とする輻輳制御システム。
【請求項５】
請求項１から４のいずれか一項に記載の輻輳制御システムにおいて、前記クライアントからサーバへのアクセスを中継し、前記近隣ＩＰルータ装置からみてクライアント方向の上流側に配置された他のＩＰルータ装置を備え、前記近隣ＩＰルータ装置は、サーバの輻輳状態を前記他のＩＰルータ装置に通知し、該他のＩＰルータ装置は、前記通知を受けてサーバの輻輳状態が復旧するように輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項６】
請求項５に記載の輻輳制御システムにおいて、前記近隣ＩＰルータ装置は、輻輳状態にある前記サーバのＩＰアドレス情報と、前記サーバに新規にアクセスしようとするクライアントが送信するＩＰパケットを判別するために必要な情報とを前記他のＩＰルータ装置に通知し、該他のＩＰルータ装置は、前記通知を受けてサーバの輻輳状態が復旧するように輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項７】
請求項５または６に記載の輻輳制御システムにおいて、前記他のＩＰルータ装置は、近隣ＩＰルータ装置からの通知を受けて、サーバの輻輳状態が検出される以前に通信が確立していたクライアントからのアクセスを許容し、サーバの輻輳状態が検出された以降に通信を確立しようとするクライアントからのアクセスを拒否することを特徴とする輻輳制御システム。
【請求項８】
請求項１から７に記載の輻輳制御システムにおいて、前記サーバは、輻輳状態から復旧した状態を検出し、該復旧状態を前記近隣ＩＰルータ装置に通知し、該近隣ＩＰルータ装置は、サーバから復旧状態の通知を受けて輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項９】
請求項１から７に記載の輻輳制御システムにおいて、前記近隣ＩＰルータ装置は、クライアントからサーバへのアクセス状態を監視し、該監視して得たセッション数と予め設定された復旧閾値とを比較し、前記セッション数が復旧閾値を下回った場合に前記サーバの復旧状態を検出し輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項１０】
請求項９に記載の輻輳制御システムにおいて、前記復旧閾値を、輻輳制御システムの保守者により設定された値または前記サーバから通知された値とすることを特徴とする輻輳制御システム。
【請求項１１】
請求項８から１０のいずれか一項に記載の輻輳制御システムにおいて、前記近隣ＩＰルータ装置は、サーバへの通信を確立しようとするクライアントからのアクセスを許容する
ことを特徴とする輻輳制御システム。
【請求項１２】
請求項８から１１のいずれか一項に記載の輻輳制御システムにおいて、前記クライアントからサーバへのアクセスを中継し、前記近隣ＩＰルータ装置からみてクライアント方向の上流側に配置された他のＩＰルータ装置を備え、前記近隣ＩＰルータ装置は、サーバの復旧状態を前記他のＩＰルータ装置に通知し、該他のＩＰルータ装置は、前記通知を受けて輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項１３】
請求項１２に記載の輻輳制御システムにおいて、前記近隣ＩＰルータ装置は、復旧状態にある前記サーバのＩＰアドレス情報と、輻輳状態にあった前記サーバに新規にアクセスしようとしたクライアントが送信するＩＰパケットを判別するために必要な情報とを前記他のＩＰルータ装置に通知し、該他のＩＰルータ装置は、前記通知を受けて輻輳制御を実行することを特徴とする輻輳制御システム。
【請求項１４】
請求項１２または１３に記載の輻輳制御システムにおいて、前記他のＩＰルータ装置は、近隣ＩＰルータ装置からの通知を受けて、前記サーバへの通信を確立しようとするクライアントからのアクセスを許容することを特徴とする輻輳制御システム。
【請求項１５】
請求項１１に記載の輻輳制御システムにおいて、前記近隣ＩＰルータ装置は、クライアントからサーバへのアクセスの拒否を解除し、サーバへの通信を確立しようとするクライアントからのアクセスを許容することを特徴とする輻輳制御システム。
【請求項１６】
請求項１４または１５に記載の輻輳制御システムにおいて、前記他のＩＰルータ装置は、近隣ＩＰルータ装置からの通知を受けて、クライアントからサーバへのアクセスの拒否を解除し、サーバへの通信を確立しようとするクライアントからのアクセスを許容することを特徴とする輻輳制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷＥＢアクセスに代表されるインターネットプロトコルを用いたクライアントサーバ型サービスにおいて、ネットワークの輻輳状態を検出し制御する輻輳制御システムに関するものである。
【背景技術】
【０００２】
近年のコンピュータやインターネットの進展に伴い、例えばコンテンツ配信サービスのようにインターネット等のＩＰネットワークを介したクライアントサーバ型サービスが普及している。このようなクライアントサーバ型サービスでは、サーバにアクセスするクライアントの数が増加するとネットワークに輻輳が生じる。この場合、例えばコンテンツの配信を受けるのに時間がかかるため、クライアントを操作するユーザは満足したサービスを受けることができない。
【０００３】
このような輻輳による問題を解決するために、様々な輻輳制御技術が提案されている。例えば、インターネット等のＩＰネットワークに設置された輻輳制御装置が、サーバ毎の処理能力を推定し、当該処理能力に基づいてクライアントからサーバへのアクセスを規制することにより、ネットワークの輻輳を防止する技術が提案されている（特許文献１参照）。また、インターネット等のＩＰネットワークに設置された提供サービス制御装置が、ネットワークの輻輳状態を検出し、当該輻輳状態の変化に応じて代替的な提供可能サービスを決定しサーバ及びクライアントの動作を制限することにより、提供するサービスの継続性及び迅速性を維持する技術も提案されている（特許文献２参照）。
【０００４】
【特許文献１】特開２００３−１６３６９８号公報（段落〔００１５〕）
【特許文献２】特開２００３−１０１５７５号公報（段落〔００１１〕〔００１２〕）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の輻輳制御技術では、以下のような問題があった。
従来の輻輳制御技術では、サーバのアプリケーションソフトウェアまたは上述した輻輳制御装置や提供サービス制御装置等のＩＰ通信装置のハードウェア若しくはソフトウェアがネットワークの輻輳状態を検出し、輻輳状態の際にはサーバのハードウェアまたはソフトウェアが新たなＩＰパケットを受け付けないように排他制御を行っていた。このため、サーバは、通信の許容を望む特定のクライアントから送信されたＩＰパケットに対しても排他制御を行ってしまい、特定のクライアントからのＩＰパケットを受信できるようにネットワークの輻輳状態を制御することは困難であった。
【０００６】
また、サーバの処理能力と、ＩＰルータ装置等を含むネットワークのＩＰパケット転送処理能力とを比較すると、一般にネットワークの転送処理能力の方が高い。また、サーバの処理状態を意識しないで輻輳制御を行うのが一般的である。このため、より以上に有効な輻輳制御を実現するためには、サーバが独自の対策により自らの処理状態を輻輳制御に反映する必要があった。
【０００７】
また、輻輳制御が適確に行われない場合には、クライアントは、１つのトランザクション処理に非常に時間がかかっているようにみえる。このため、提供サービスがあるビジネスモデルの受注等の重要なタスクを担っている場合は、ビジネス機会の損失となることがあった。
【０００８】
また、従来は、クライアントからの通信を複数台のサーバにトランザクション単位で分散処理させることにより、輻輳耐力を高めることができた。この場合、最大輻輳状態を考慮したサーバの設備設計を行う必要があり、コスト的にデメリットがあった。
【０００９】
また、ネットワーク側のＩＰルータ装置が、クライアントからサーバへのアクセス状態をＩＰパケットまたはセッションレベルで監視し、各サーバへの処理をトランザクションレベルで依頼することにより、ネットワークの負荷分散処理を行うことは可能であった。しかし、この負荷分散処理は、各サーバにおける実際の負荷状態を意識して制御するものではなく、単に静的な一定のアルゴリズムに従った処理にすぎなかった。
【００１０】
また、サーバが輻輳状態にある場合、当該サーバ近傍のネットワーク（ＩＰルータ装置及び物理リンク）にアクセスを試みるＩＰパケットが集中するため、当該ネットワーク配下の別のサーバまたは別のユーザネットワークに対しても影響を与えることがあった。
【００１１】
本発明は、上記の問題を解決するためになされたものであり、その目的は、クライアントサーバ型サービスを提供するネットワークにおいて、サーバ及びクライアントに負荷をかけることなくネットワークの輻輳を制御することが可能な輻輳制御システムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、クライアントからＩＰルータ装置を介してアクセスを受けたサーバが、インターネットプロトコルを用いたクライアントサーバ型サービスを提供するネットワークの輻輳制御システムにおいて、サーバの輻輳状態を以下の２つの形態により検出することを特徴とする。
（１）サーバが、自らの輻輳状態を検出し、サーバの近隣に配置されＩＰパケットの転送処理を行う近隣ＩＰルータ装置（サーバを収容する近隣ＩＰルータ装置）にその輻輳状態を通知する。
（２）近隣ＩＰルータ装置が、同時に通信可能なセッション数として予め設定された輻輳閾値を保持し、サーバとクライアントとの間の通信中におけるセッション数が輻輳閾値を超えた場合にサーバの輻輳状態を検出する。
【００１３】
また、本発明は、サーバが輻輳状態にある場合に、近隣ＩＰルータ装置が、サーバの輻輳状態が検出される以前に通信が確立していたクライアントからのアクセスを許容し、サーバの輻輳状態が検出された以降に通信を確立しようとするクライアントからの新たなアクセスを拒否することを特徴とする。この場合、近隣ＩＰルータ装置は、アクセスを許容する場合にはＩＰパケットを廃棄しない。また、例えば、発着ＩＰアドレス、使用プロトコル、発着ポート番号等の組み合わせにより選択的にＩＰパケットを廃棄したり（パケットフィルタリング）、特定のプロトコルの特定用途のＩＰパケット（メッセージ）を選択的に廃棄したりすることにより、クライアントからのアクセスを拒否する。
【００１４】
また、本発明は、近隣ＩＰルータ装置が、クライアント方向の上流側のネットワークに配置された他のＩＰルータ装置にサーバの輻輳状態を通知し、当該他のＩＰルータ装置が、上記の近隣ＩＰルータ装置と同様にサーバへのアクセスの許容及び拒否を行うことを特徴とする。
【００１５】
また、本発明は、サーバの輻輳状態からの復旧を以下の２つの形態により検出することにより、上記の輻輳状態の検出やサーバへのアクセスの拒否等を終了する。
（１）サーバが、自らの輻輳状態からの復旧を検出し、近隣ＩＰルータ装置にその復旧状態を通知する。
（２）近隣ＩＰルータ装置が、同時に通信可能なセッション数として予め設定された復旧閾値を保持し、サーバとクライアントとの間の通信中におけるセッション数が復旧閾値を下回った場合にサーバの復旧状態を検出する。
【００１６】
また、本発明は、サーバが輻輳状態から復旧した場合に、近隣ＩＰルータ装置が、クライアントからサーバへの新規のアクセスの拒否を解除し、サーバへの新規アクセスを許容することを特徴とする。
【００１７】
また、本発明は、近隣ＩＰルータ装置が、クライアント方向の上流側のネットワークに配置された他のＩＰルータ装置にサーバの復旧状態を通知し、当該他のＩＰルータ装置が、上記の近隣ＩＰルータ装置と同様にサーバへの新規のアクセスの拒否を解除し、サーバへの新規アクセスを許容することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、サーバ及びクライアントに負荷をかけることなくネットワークの輻輳を制御することができる。また、クライアントからサーバへのアクセスが集中することによるネットワークの輻輳を防止することができる。これにより、サービスの提供を受けるユーザが満足できるクライアントサーバ型サービスを提供することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図１は、本発明の実施の形態に係る輻輳制御システムを説明する構成図である。本輻輳制御システムは、クライアントサーバ型サービスの提供を受けるクライアント（ユーザ）１１〜１３、当該サービスを提供するサーバ４１、クライアント１１，１２が接続されるアクセスネットワーク２１、クライアント１３が接続されるアクセスネットワーク２２、サーバ４１が接続されるアクセスネットワーク２３、アクセスネットワーク２１に接続されクライアント１１，１２を収容するエッジルータ３２、アクセスネットワーク２２に接続されクライアント１３を収容するエッジルータ３３、アクセスネットワーク２３に接続されサーバ４１を収容するエッジルータ３１、及びエッジルータ３１〜３３によりアクセスネットワーク２１〜２３を接続するコアネットワーク２４を備える。
【００２０】
典型的には、インターネットサービスプロバイダ事業者が、コアネットワーク２４とともに、サーバ４１との間の当該コアネットワーク２４を介したインタフェースをクライアント１１〜１３に提供することにより、輻輳制御システムがネットワーク動作によるサーバ４１の処理の輻輳制御を実行する。サーバ４１が輻輳状態にある場合、当該サーバ４１に対するアクセス制限情報（パケットフィルタリング情報）が、サーバ４１とコアネットワーク２４内の図示しないコアルータとの間で送受信されるのではなく、サーバ４１と細かなフロー単位での制御が可能なエッジルータ３１〜３３との間で送受信される。サーバ４１とエッジルータ３１〜３３との間のプロトコルは、既存のｉＢＧＰ（ｉｎｔｅｒｎａｌ  Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）を拡張したプロトコル等が使用される。
【００２１】
次に、輻輳制御システムの動作について図２〜図５を参照して説明する。尚、図２〜図５に示すシーケンス図は、通常のＨＴＴＰプロトコルを用いたＷＥＢアクセスのケースを例としている。まず、図１を参照して、図２〜図５に示す輻輳制御システムの動作の概要を示す。サーバ４１は、エッジルータ３１に輻輳状態及び輻輳の復旧状態を通知する。または、エッジルータ３１がサーバ４１の輻輳状態及び輻輳の復旧状態の契機を判断するための通信状態を監視するために、サーバ４１はエッジルータ３１に閾値情報を通知する。エッジルータ３１は、サーバ４１が輻輳状態にあることを検出し、またはサーバ４１からその通知を受ける。また、サーバ４１が輻輳状態にある場合には、エッジルータ３１が、アクセスを拒否するセッションに関わるＩＰパケットを選択的に廃棄するための論理情報をクライアント１１〜１３方向の上流側のエッジルータ３２，３３に通知する。一方、サーバ４１が輻輳の復旧状態にある場合には、エッジルータ３１が、アクセスを拒否することをキャンセルするための論理情報を上流側のエッジルータ３２，３３に通知する。また、エッジルータ３１〜３３は、サーバ４１が輻輳状態の場合に、新規アクセスに関わるＩＰパケットを選択廃棄する。クライアント１１は、サーバ４１が輻輳状態を検出しエッジルータ３１がサーバ４１から輻輳状態の通知を受けたとき、またはエッジルータ３１がサーバ４１の輻輳状態を検出したときに、既にサーバ４１と通信中の場合には、当該通信を保存する。クライアント１２は、サーバ４１が輻輳状態を検出しエッジルータ３１がサーバ４１輻輳状態の通知を受けたとき、またはエッジルータ３１がサーバ４１の輻輳状態を検出したときに、サーバ４１と通信が未確立の場合には、途中のエッジルータ３１，３２が通信を拒否する。同様に、クライアント１３は、サーバ４１が輻輳状態を検出しエッジルータ３１がサーバ４１から輻輳状態の通知を受けたとき、またはエッジルータ３１がサーバ４１の輻輳状態を検出したときに、サーバ４１と通信が未確立の場合には、途中のエッジルータ３１，３２が通信を拒否する。
【００２２】
図２は、サーバ４１が輻輳状態を検出する場合における輻輳制御を説明するシーケンス図である。本シーケンス図は、サーバ４１が輻輳状態となった場合に、サーバ４１に対する新規アクセスにかかわるＩＰパケットを選択廃棄するために、サーバ４１向けのＴＣＰのＳＹＮメッセージを選択廃棄し、輻輳制御を実現する例である。まず、クライアント１１とサーバ４１との間でＴＣＰセッションを確立するために、クライアント１１がＳＹＮ（ＴＣＰ）をサーバ４１に送信し、サーバ４１がＳＹＮ／ＡＣＫ（ＴＣＰ）をクライアント１１に送信し、クライアント１１がＡＣＫ（ＴＣＰ）をサーバ４１に送信する（ステップＳ２０１）。ＨＴＴＰプロトコルは、レイヤ４のＴＣＰプロトコル上で動作するため、ＨＴＴＰによるデータの送受信を開始するための前段の処理として、ＴＣＰコネクションの確立が必要になるからである。
【００２３】
ＴＣＰコネクションが確立すると、クライアント１１とサーバ４１との間の通信が開始する（ステップＳ２０２）。そして、サーバ４１は、クライアント１１等から処理能力以上のアクセスを受けると輻輳状態となり、その輻輳状態を検出する（ステップＳ２０３）。サーバ４１は、輻輳状態をエッジルータ３１に通知する（ステップＳ２０４）。エッジルータ３１は、輻輳状態の通知を受けると、サーバ４１が輻輳状態にあるものと判断し、サーバ４１への新規アクセスの拒否を設定する（ステップＳ２０５）。従って、クライアント１２がサーバ４１に新規にアクセスするためにＳＹＮ（ＴＣＰ）を送信した場合は（ステップＳ２０６）、エッジルータ３１は、当該ＳＹＣ（ＴＣＰ）を受信すると当該メッセージを選択的に廃棄する。これにより、クライアント１２とサーバ４１との間でＴＣＰセッションが確立しないため、ＩＰパケットを廃棄することができる（ステップＳ２０７）。
【００２４】
また、エッジルータ３１は、サーバ４１への新規アクセスを拒否するためのアクセス拒否理論を生成し、サーバ４１にＩＰパケットを送信しようとしたクライアント１２の方向に上流ネットワークを構築しＩＰパケットを転送するエッジルータ３２に、サーバ４１が輻輳状態にあるためサーバ４１へのアクセスを拒否する旨のアクセス拒否を通知する（ステップＳ２０８）。この場合、エッジルータ３１は、アクセス拒否の通知とともに、輻輳状態にあるサーバ４１のＩＰアドレス情報と、輻輳状態にあるサーバ４１に対して新規にアクセスしようとするクライアント１２が送信するＩＰパケットを判別するために必要な情報（例えば、ポート番号、プロトコル種別）とをエッジルータ３２に通知する。エッジルータ３２は、アクセス拒否の通知を受けると、サーバ４１が輻輳状態にあるものと判断し、サーバ４１への新規アクセスの拒否を設定する（ステップＳ２０９）。この場合、エッジルータ３２は、サーバ４１をあて先とするＩＰアドレスを含むＩＰパケットを所定の論理式により選択廃棄する。従って、クライアント１２がサーバ４１に新規にアクセスするためにＳＹＮ（ＴＣＰ）を送信した場合は（ステップＳ２１０）、エッジルータ３２は、当該ＳＹＣ（ＴＣＰ）を受信すると当該メッセージを選択的に廃棄する。これにより、クライアント１２とサーバ４１との間でＴＣＰセッションが確立しないため、エッジルータ３１にＩＰパケットを廃棄することができる（ステップＳ２１１）。
【００２５】
この場合、サーバ４１への新規アクセスの拒否を設定したエッジルータ３１，３２は、クライアント１１がサーバ４１へ送信するＩＰパケットを受信した場合、サーバ４１がエッジルータ３１へ輻輳状態を通知する以前にクライアント１１とサーバ４１との間のＴＣＰコネクションが確立し通信中になっているため、当該ＩＰパケットを廃棄しないで転送する。
【００２６】
クライアント１１とサーバ４１との間の通信が終了すると（ステップＳ２１２）、ＴＣＰセッションを切断するために、クライアント１１がＦＩＮ（ＴＣＰ）をサーバ４１に送信し、サーバ４１がＡＣＫ（ＴＣＰ）及びＦＩＮ（ＴＣＰ）をクライアント１１に送信し、クライアント１１がＡＣＫ（ＴＣＰ）をサーバ４１に送信する（ステップＳ２１３）。
【００２７】
図３は、サーバ４１が輻輳状態の復旧を検出する場合における輻輳制御を説明するシーケンス図である。図２に示したようにエッジルータ３１，３２が新規のＩＰパケットを廃棄しまたはクライアント１１とサーバ４１との通信が終了することにより輻輳状態から復旧すると、サーバ４１は復旧状態を検出する（ステップＳ３０１）。サーバ４１は、復旧状態をエッジルータ３１に通知する（ステップＳ３０２）。エッジルータ３１は、復旧状態の通知を受けると、サーバ４１が復旧状態にあるものと判断し、サーバ４１への新規アクセスの拒否を解除する（ステップＳ３０３）。
【００２８】
また、エッジルータ３１は、サーバ４１への新規アクセスを許容するためのアクセス論理を生成し、サーバ４１にＩＰパケットを送信しようとしたクライアント１２の方向に上流ネットワークを構築しＩＰパケットを転送するエッジルータ３２に、サーバ４１が復旧状態にあるためサーバ４１へのアクセスを許可する旨のアクセス許可を通知する（ステップＳ３０４）。この場合、エッジルータ３１は、アクセス許可の通知とともに、復旧状態にあるサーバ４１のＩＰアドレス情報と、復旧状態にあるサーバ４１に対して新規にアクセスしようとするクライアント１２が送信するＩＰパケットを判別するために必要な情報（例えば、ポート番号、プロトコル種別）とをエッジルータ３２に通知する。エッジルータ３２は、アクセス許可の通知を受けると、サーバ４１が復旧状態にあるものと判断し、サーバ４１への新規アクセスの拒否を解除し（ステップＳ３０５）、新規なＩＰパケットの廃棄を中止する。この場合、エッジルータ３２は、サーバ４１をあて先とするＩＰアドレスを含むＩＰパケットを所定の論理式により選択廃棄しない。従って、クライアント１２がサーバ４１に新規にアクセスするためにＳＹＮ（ＴＣＰ）を送信した場合は、エッジルータ３２は、当該ＳＹＣ（ＴＣＰ）を受信すると当該メッセージを廃棄しないでサーバ４１へ転送する。これにより、クライアント１２とサーバ４１との間でＴＣＰセッションが確立し（ステップＳ３０６）、通信が開始する（ステップＳ３０７）。
【００２９】
図４は、エッジルータ３１が輻輳状態を検出する場合における輻輳制御を説明するシーケンス図である。本シーケンス図は、エッジルータ３１が、サーバ４１において実際に確立したＴＣＰセッションの数を、ＴＣＰパケットを監視することにより管理し、輻輳状態を検出する例である。まず、サーバ４１は、エッジルータ３１が輻輳状態を検出するために必要なセッション数の閾値情報及び輻輳状態の復旧を検出するために必要なセッション数の閾値情報をエッジルータ３１に通知する（ステップＳ４０１）。この場合、輻輳制御システムの保守者が、これらの閾値をエッジルータ３１に静的に設定するようにしてもよい。そして、エッジルータ３１は、サーバ４１へのアクセス状態をＩＰパケットまたはセッションレベルで監視し、セッション数と輻輳状態を検出するための閾値とを比較する（ステップＳ４０２）。クライアント１１とサーバ４１との間でＴＣＰセッションを確立するために、クライアント１１がＳＹＮ（ＴＣＰ）をサーバ４１に送信し、サーバ４１がＳＹＮ／ＡＣＫ（ＴＣＰ）をクライアント１１に送信し、クライアント１１がＡＣＫ（ＴＣＰ）をサーバ４１に送信する（ステップＳ４０３）。
【００３０】
ＴＣＰコネクションが確立すると、クライアント１１とサーバ４１との間の通信が開始する（ステップＳ４０４）。そして、エッジルータ３１は、セッション数が閾値を超えた場合には、輻輳状態を検出する（ステップＳ４０５）。そして、エッジルータ３１は、サーバ４１が輻輳状態にあるものと判断し、サーバ４１への新規アクセスの拒否を設定する（ステップＳ４０６）。従って、クライアント１２がサーバ４１に新規にアクセスするためにＳＹＮ（ＴＣＰ）を送信した場合は（ステップＳ４０７）、エッジルータ３１は、当該ＳＹＣ（ＴＣＰ）を受信すると当該メッセージを選択的に廃棄する。これにより、クライアント１２とサーバ４１との間でＴＣＰセッションが確立しないため、ＩＰパケットを廃棄することができる（ステップＳ４０８）。
【００３１】
また、エッジルータ３１は、サーバ４１への新規アクセスを拒否するためのアクセス拒否理論を生成し、サーバ４１にＩＰパケットを送信しようとしたクライアント１２の方向に上流ネットワークを構築しＩＰパケットを転送するエッジルータ３２に、サーバ４１が輻輳状態にあるためサーバ４１へのアクセスを拒否する旨のアクセス拒否を通知する（ステップＳ４０９）。この場合、エッジルータ３１は、アクセス拒否の通知とともに、輻輳状態にあるサーバ４１のＩＰアドレス情報と、輻輳状態にあるサーバ４１に対して新規にアクセスしようとするクライアント１２が送信するＩＰパケットを判別するために必要な情報（例えば、ポート番号、プロトコル種別）とをエッジルータ３２に通知する。エッジルータ３２は、アクセス拒否の通知を受けると、サーバ４１が輻輳状態にあるものと判断し、サーバ４１への新規アクセスの拒否を設定する（ステップＳ４１０）。この場合、エッジルータ３２は、サーバ４１をあて先とするＩＰアドレスを含むＩＰパケットを所定の論理式により選択廃棄する。従って、クライアント１２がサーバ４１に新規にアクセスするためにＳＹＮ（ＴＣＰ）を送信した場合は（ステップＳ４１１）、エッジルータ３２は、当該ＳＹＣ（ＴＣＰ）を受信すると当該メッセージを廃棄する。これにより、クライアント１２とサーバ４１との間でＴＣＰセッションが確立しないため、エッジルータ３１にＩＰパケットを選択的に廃棄することができる（ステップＳ４１２）。
【００３２】
この場合、サーバ４１への新規アクセスの拒否を設定したエッジルータ３１，３２は、クライアント１１がサーバ４１へ送信するＩＰパケットを受信した場合、サーバ４１がエッジルータ３１へ輻輳状態を通知する以前にクライアント１１とサーバ４１との間のＴＣＰコネクションが確立し通信中になっているため、当該ＩＰパケットを廃棄しないで転送する。
【００３３】
クライアント１１とサーバ４１との間の通信が終了すると（ステップＳ４１３）、ＴＣＰセッションを切断するために、クライアント１１がＦＩＮ（ＴＣＰ）をサーバ４１に送信し、サーバ４１がＡＣＫ（ＴＣＰ）及びＦＩＮ（ＴＣＰ）をクライアント１１に送信し、クライアント１１がＡＣＫ（ＴＣＰ）をサーバ４１に送信する（ステップＳ４１４）。
【００３４】
図５は、エッジルータ３１が輻輳状態の復旧を検出する場合における輻輳制御を説明するシーケンス図である。図４に示したステップ４０５において輻輳状態を検出した後は、エッジルータ３１は、セッション数と輻輳状態の復旧を検出するための閾値とを比較してセッションを監視する（ステップＳ５０１）。図２に示したようにエッジルータ３１，３２が新規のＩＰパケットを廃棄しまたはクライアント１１とサーバ４１との通信が終了することにより、セッション数が閾値以下になった場合には、エッジルータ３１は、復旧状態を検出する（ステップＳ５０２）。エッジルータ３１は、サーバ４１が復旧状態にあるものと判断し、サーバ４１への新規アクセスの拒否を解除する（ステップＳ５０３）。
【００３５】
また、エッジルータ３１は、サーバ４１への新規アクセスを許容するためのアクセス論理を生成し、サーバ４１にＩＰパケットを送信しようとしたクライアント１２の方向に上流ネットワークを構築しＩＰパケットを転送するエッジルータ３２に、サーバ４１が復旧状態にあるためサーバ４１へのアクセスを許可する旨のアクセス許可を通知する（ステップＳ５０４）。この場合、エッジルータ３１は、アクセス許可の通知とともに、復旧状態にあるサーバ４１のＩＰアドレス情報と、復旧状態にあるサーバ４１に対して新規にアクセスしようとするクライアント１２が送信するＩＰパケットを判別するために必要な情報（例えば、ポート番号、プロトコル種別）とをエッジルータ３２に通知する。エッジルータ３２は、アクセス許可の通知を受けると、サーバ４１が復旧状態にあるものと判断し、サーバ４１への新規アクセスの拒否を解除し（ステップＳ５０５）、新規なＩＰパケットの廃棄を中止する。この場合、エッジルータ３２は、サーバ４１をあて先とするＩＰアドレスを含むＩＰパケットを所定の論理式により選択廃棄しない。従って、クライアント１２がサーバ４１に新規にアクセスするためにＳＹＮ（ＴＣＰ）を送信した場合は、エッジルータ３２は、当該ＳＹＣ（ＴＣＰ）を受信すると当該メッセージを廃棄しないでサーバ４１へ転送する。これにより、クライアント１２とサーバ４１との間でＴＣＰセッションが確立し（ステップＳ５０６）、通信が開始する（ステップＳ５０７）。
【００３６】
以上、本発明の実施の形態を挙げて本発明を説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の思想から逸脱しない限りにおいて種々の変形が可能である。例えば、上記の実施の形態に係る輻輳制御システムは、図１に示したように３台のクライアント１１〜１３、１台のサーバ４１、３台のエッジルータ３１〜３３、３つのアクセスネットワーク２１〜２３及び１つのコアネットワーク２４から構成されているが、クライアント等の装置の台数やネットワークの数、さらにネットワークの階層により制限されるものではない。
【００３７】
本発明の実施の形態によれば、エッジルータ３１，３２が、サーバ４１が輻輳状態になる前に通信が確立していたクライアント１１からのＩＰパケットを廃棄しないでサーバ４１に転送するようにし、またクライアント１２からサーバ４１への新規のＩＰパケットを選択的に廃棄するようにしたから、クライアント１１〜１３及びサーバ４１における輻輳制御のための負荷を軽減することができる。
【００３８】
また、本発明の実施の形態によれば、エッジルータ３１，３２が、サーバ４１が輻輳状態になる前に通信が確立していたクライアント１１からのＩＰパケットを廃棄しないでサーバ４１に転送するようにしたから、サーバ４１が輻輳状態にあっても通信を許容したいクライアント１１のＩＰパケットを受信することができ、輻輳状態を適確に制御することができる。これにより、クライアントサーバ型サービスを継続して提供することができる。
【００３９】
また、本発明の実施の形態によれば、エッジルータ３１，３２が、クライアント１２からサーバ４１への新規のＩＰパケットを選択的に廃棄するようにしたから、ネットワークの輻輳を防止することができる。特に、クライアント１２方向の上流側に配置されサーバ４１の近隣に配置されていないエッジルータ３２が新規のＩＰパケットを廃棄するようにしたから、エッジルータ３２の下流側のネットワークにＩＰパケットが転送されることがなく、ネットワークの輻輳をさらに防止することができる。これにより、提供しているサービスが例えばビジネスモデルの受注等の重要なタスクを担っている場合には、ビジネス機会を損失することがない。また、他のサーバや他のネットワークに輻輳による影響を与えることもない。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態に係る輻輳制御システムを説明する構成図である。
【図２】サーバが輻輳状態を検出する場合における輻輳制御を説明するシーケンス図である。
【図３】サーバが輻輳状態の復旧を検出する場合における輻輳制御を説明するシーケンス図である。
【図４】エッジルータが輻輳状態を検出する場合における輻輳制御を説明するシーケンス図である。
【図５】エッジルータが輻輳状態の復旧を検出する場合における輻輳制御を説明するシーケンス図である。
【符号の説明】
【００４１】
１１〜１３  クライアント
２１〜２３  アクセスネットワーク
２４  コアネットワーク
３１〜３３  エッジルータ
４１  サーバ
【図１】
2005086520.tif 000003
【図２】
2005086520.tif 000004
【図３】
2005086520.tif 000005
【図４】
2005086520.tif 000006
【図５】
2005086520.tif 000007