(57)【要約】【課題】階層構造を成すサーバ群に対するリクエストの適切なアクセス制限を行うことができるネットワーク機器、アクセス制御方法及びアクセス制御プログラムを提供することを目的とする。【解決手段】アクセス制限を行うネットワーク機器１２であって、リクエストの内容から何れの階層のサーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理手段と、判別したサーバ群の負荷状況をコネクション情報から取得し、アクセス制限を行うかを判別するリクエスト可否判別処理手段と、リクエスト及びレスポンスに応じてコネクション情報がサーバ群の現在の負荷状況を表すように更新するカウンタ処理手段と、アクセス制限を行うかの判別結果に従って、リクエストが処理されると判別したサーバ群へのリクエストの送信又はアクセス制限を行うルータ機能手段とを有することにより上記課題を解決する。【選択図】  図２
2008250806.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器であって、
前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理手段と、
前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理手段と、
前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理手段と、
前記リクエスト可否判別処理手段によるアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能手段と
を有することを特徴とするネットワーク機器。
【請求項２】
前記リクエスト種判別処理手段は、前記リクエストの内容に応じた前記サーバ群が振り分けの条件として設定される振り分け設定情報に基づいて、前記リクエストのパラメータから何れの階層の前記サーバ群で処理されるかを判別することを特徴とする請求項１記載のネットワーク機器。
【請求項３】
前記リクエスト可否判別処理手段は、前記サーバ群ごとに負荷状況がリクエスト数又はコネクション数により設定されているコネクション情報に基づいて、前記サーバ群への前記リクエストのアクセス制限を行うかを判別することを特徴とする請求項１記載のネットワーク機器。
【請求項４】
階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器におけるアクセス制限方法であって、
前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理ステップと、
前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理ステップと、
前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理ステップと、
前記リクエスト可否判別処理ステップでのアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能ステップと
を有することを特徴とするアクセス制限方法。
【請求項５】
階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器に、
前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理手順と、
前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理手順と、
前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理手順と、
前記リクエスト可否判別処理手順でのアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能手順と
を実行させるためのアクセス制限プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク機器、アクセス制御方法及びアクセス制御プログラムに係り、特に階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、リクエストのアクセス制限を行うネットワーク機器、そのネットワーク機器におけるアクセス制御方法及びネットワーク機器で実行されるアクセス制御プログラムに関する。
【背景技術】
【０００２】
近年では、処理を行うサーバが階層構造を成し、クライアントからのリクエストを処理する３階層システムが知られるようになった。３階層システムは、Ｗｅｂサーバ，アプリケーションサーバ（以下、ＡＰサーバと呼ぶ），データベースサーバ（以下、ＤＢサーバと呼ぶ）が階層構造を成すものが広く知られている
図１は、Ｗｅｂサーバ，ＡＰサーバ，ＤＢサーバが階層構造を成す３階層システムの構成図である。３階層システムは、クライアント１１，負荷分散装置１２，Ｗｅｂサーバ１３，負荷分散装置１４，ＡＰサーバ１５及びＤＢサーバ１６で構成される。
【０００３】
クライアント１１はフロントエンドとして動作する。ＡＰサーバ１５及びＤＢサーバ１６はバックエンドとして動作する。Ｗｅｂサーバ１３はフロントエンド及びバックエンドの中間に位置している。クライアント１１とＷｅｂサーバ１３とは公衆回線及び負荷分散装置１２を介して接続されている。Ｗｅｂサーバ１３とＡＰサーバ１５とは負荷分散装置１４を介して接続されている。
【０００４】
ユーザの利用するクライアント１１はＷｅｂブラウザが搭載されている。クライアント１１からのリクエストは、初めにＷｅｂサーバ１３で受け付けられる。従来の３階層システムではＷｅｂサーバ１３の受け付けリクエスト数などに基づき、アクセス制限を行っていた。
【０００５】
なお、図１の３階層システムでは、ＵＲＬリクエストにパラメータを付加して、優先制御を行う場合、優先度の判定を、負荷分散装置１２及びＷｅｂサーバ１３の設定によりリクエスト単位で行う。負荷分散装置１４はＡＰサーバ１５の負荷を均等にするため、ＵＲＬに依らずに負荷分散を行う。このため、負荷分散装置１４はＡＰサーバ１５の直前でアクセス制限を行っていない。
【０００６】
特許文献１には、統計情報を利用したアクセス数制限の上限値の設定について記載されている。
【特許文献１】特開２００４−１９２１７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図１の三階層システムではクライアント１１からのリクエストの内容に応じて、Ｗｅｂサーバ１３，ＡＰサーバ１５及びＤＢサーバ１６の何れかが処理を行っている。
【０００８】
したがって、図１の三階層システムでは、Ｗｅｂサーバ１３での受け付けリクエスト数によってアクセス制限を行ったとしても、ＡＰサーバ１５及びＤＢサーバ１６に掛かる負荷に対応できず、ＡＰサーバ１５及びＤＢサーバ１６に負荷が掛かり過ぎたり、アクセス制限を行い過ぎたりしてしまう可能性もあった。
【０００９】
このように、従来の三階層システムでは、Ｗｅｂサーバ１３，ＡＰサーバ１５及びＤＢサーバ１６に掛かる負荷に応じた適切なアクセス制限を行えないという問題があった。
【００１０】
本発明は、上記の点に鑑みなされたもので、階層構造を成すサーバ群に対するリクエストの適切なアクセス制限を行うことができるネットワーク機器、アクセス制御方法及びアクセス制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明は、階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器であって、前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理手段と、前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理手段と、前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理手段と、前記リクエスト可否判別処理手段によるアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能手段とを有することを特徴とする。
【００１２】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１３】
上述の如く、本発明によれば、階層構造を成すサーバ群に対するリクエストの適切なアクセス制限を行うことができるネットワーク機器、アクセス制御方法及びアクセス制御プログラムを提供可能である。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではネットワーク機器、又はネットワーク機器の一例としての負荷分散装置を例に説明するが、実施例に限定されるものではない。
【００１５】
まず、本発明の概要について説明する。図２は本発明による３階層システムの概要について説明する為の模式図である。３階層システムは、複数のクライアント１１，負荷分散装置１２，複数のＷｅｂサーバ（Ｗｅｂサーバ群）１３，負荷分散装置１４，複数のＡＰサーバ（ＡＰサーバ群）１５及びＤＢサーバ１６で構成される。
【００１６】
クライアント１１はフロントエンドとして動作する。ＡＰサーバ１５及びＤＢサーバ１６はバックエンドとして動作する。Ｗｅｂサーバ１３はフロントエンド及びバックエンドの中間に位置している。クライアント１１とＷｅｂサーバ１３とは公衆回線及び負荷分散装置１２を介して接続されている。Ｗｅｂサーバ１３とＡＰサーバ１５とは負荷分散装置１４を介して接続されている。
【００１７】
ユーザの利用するクライアント１１はＷｅｂブラウザが搭載されている。負荷分散装置１２はクライアント１１からのリクエストを受信する。負荷分散装置１２はリクエスト内容に基づき、そのリクエストが何れの階層のサーバ、言い換えればＷｅｂサーバ１３，ＡＰサーバ１５及びＤＢサーバ１６の何れで処理されるものかを判別する。
【００１８】
リクエスト内容を判別するためのデータとしては、ＵＲＬ，ドメイン名，パラメータ，拡張子，ＰＯＳＴ又はＧＥＴなどが考えられる。負荷分散装置１２は、リクエストを処理すると判別したサーバ（判別した該リクエストによる処理を実行するサーバ）の負荷状況（リクエスト数、コネクション数など）に応じて、そのリクエストをアクセス制限するか否かを判別する。
【００１９】
このように、負荷分散装置１２では、受信したリクエストが、Ｗｅｂサーバ１３で返すリクエストかＡＰサーバ１５で処理するリクエストかをリクエスト内容で判別して、ＡＰサーバ１５へ向かうリクエストをカウントできる。したがって、負荷分散装置１２ではＡＰサーバ１５へ向かうリクエストに対してアクセス制限を行うことができる。なお、Ｗｅｂサーバ１３は静的コンテンツのレスポンスがほとんどであるため、ＡＰサーバ１５及びＤＢサーバ１６に比べて負荷がそれほど急増しない。
【００２０】
また、図２の３階層システムでは、ＡＰサーバ１５でリクエスト内容のチェック及び優先度の判別を行わず、負荷分散装置１２で行うことにより、ＡＰサーバ１５に転送されるリクエスト数を減らすことができ、ＡＰサーバ１５の負荷が軽減される。
【００２１】
さらに、負荷分散装置１２は、ＡＰサーバ１５へ向かうリクエストに対し、リクエスト単位での優先制御を行っている。このため、負荷分散装置１２は、Ｗｅｂサーバ１３への振り分けを利用して、特定のリクエスト内容を付加したユーザからのリクエストを透過することでアクセス制限の対象外とし、特定のリクエスト内容を付加していないユーザからのリクエストをカウントしてアクセス制限の対象とする。
【００２２】
本発明による３階層システムでは、実際に処理を行うサーバの負荷状況に基づいてアクセス制限を行うため、従来の３階層システムよりも精度の高いアクセス制限を行うことができる。
【００２３】
ここで、本発明による３階層システムが、従来あったＡＰサーバ１５及びＤＢサーバ１６の負荷を直接観る方式より優れている点について説明する。図３はＡＰサーバ及びＤＢサーバの負荷を直接観る３階層システムの概要について説明する為の模式図である。図３の３階層システムではＡＰサーバ１５に設けられたエージェント３４及びＤＢサーバ１６に設けられたエージェント３５により直接、ＡＰサーバ１５及びＤＢサーバ１６のＣＰＵ負荷率などを見て、ＡＰサーバ１５及びＤＢサーバ１６の負荷状況を把握している。
【００２４】
図３に示した一般的なネットワーク（ＮＷ）機器３１〜３３を挟んだ３階層システムではアクセス制限をＷｅｂサーバ１３の手前で設定する。このとき、ＡＰサーバ１５の負荷というのはリクエストの発行側から見てアクセス制限を発行するネットワーク機器３１の後ろ側となる。即ち、アクセス制限を発行するネットワーク機器３１にリクエストが届いた時点ではＡＰサーバ１５及びＤＢサーバ１６に負荷が掛かっていない。
【００２５】
図３の３階層システムは、利用している業務が、ＡＰサーバ１５及びＤＢサーバ１６の負荷状況を緩やかに推移させるようなものであれば、ＡＰサーバ１５及びＤＢサーバ１６の負荷状況を見ているだけでも問題ない。しかし、図３の３階層システムは瞬間的にアクセス数が急増するようなことがあれば、ＡＰサーバ１５及びＤＢサーバ１６の負荷の増加を検知してネットワーク機器３１にフィードバックしている間に、閾値を越えてしまうことも起こり得る。これは、アクセス制限を抜けた先で通信がロストし、業務継続のサービスレベルに影響を与える可能性が有ることを意味する。一方、このような状況を防ぐためにフィードバックの時間間隔を短くすると、図３の３階層システムでは間隔を短くした分だけ余計な通信が発生することとなり、余計なネットワーク通信量の増大を招くことにもなる。
【００２６】
実際に、インターネットを利用した業務システムでは、例えば販売システムに関わるものでは販売開始日時に申込みのアクセスが殺到する事象がよく見られ、負荷予測のモデルを立てづらいという事情があった。本発明による３階層システムでは、クライアント１１からのリクエストがＡＰサーバ１５に転送される前に、そのリクエストが現在のＡＰサーバ１５及びＤＢサーバ１６の負荷状況に及ぼす影響を考慮してアクセス制御を行うことができるので、瞬間的にアクセス数が急増するようなことがあっても、アクセス制限を抜けた先で通信がロストし、業務継続のサービスレベルに影響を与えることもない。
【００２７】
このように、本発明による３階層システムでは、階層構造を成すＡＰサーバ１５及びＤＢサーバ１６に対するリクエストの適切なアクセス制限を行うことができる以下、本発明による３階層システムの一例としての３階層インターネットシステムを実施例１として説明する。
【実施例１】
【００２８】
図４は３階層インターネットシステムの一実施例の構成図である。図４に示した３階層インターネットシステムは、一部を除いて図２の３階層システムと同様である。図４の３階層インターネットシステムは、公衆回線がインターネットとなり、負荷分散装置１２がネットワーク機器１７となり、ＤＢサーバ１６がＤＢサーバ群となり、キャッシュサーバ機能４１が追加された点で、図２の３階層システムと異なっている。
【００２９】
図４に示したネットワーク機器１７は、Ｆｉｒｅ  Ｗａｌｌ機能部４２，負荷分散機能部４３，ルーティング機能部４４，負荷分散機能部４５，ＳＳＬアクセラレータ機能部４６，負荷分散機能部４７を有する構成である。負荷分散装置１４は、Ｆｉｒｅ  Ｗａｌｌ機能部４８及び負荷分散機能部４９を有する構成である。
【００３０】
本発明による３階層インターネットシステムは、負荷分散機能部４７にインテリジェンス機能を拡張することにより実現できる。なお、負荷分散機能部４７では暗号化通信が復号されて平文通信になっているものとする。
【００３１】
ネットワーク機器１７は、Ｆｉｒｅ  Ｗａｌｌ機能，Ｆｉｌｔｅｒｒｉｎｇ機能，ＱｏＳ機能，ＩＰｓｅｃ機能，ＳＳＬアクセラレータ機能，負荷分散機能，ルーティング機能及び運用管理機能などを有する。次に、本発明に関連する機能に特化してネットワーク機器１７の詳細を説明する。
【００３２】
図５はネットワーク機器の一実施例の構成図である。図５のネットワーク機器１７は、負荷分散機能部４７，電文判別部５１，ルーティング機能部５２，振り分け設定情報記憶部５６，リクエスト情報記憶部５７，コネクション情報記憶部５８，ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９，リフレッシュ処理部６０，運用管理機能部６１を有している。負荷分散機能部４７は、カウンタ処理部５３，リクエスト種判別処理部５４，リクエスト可否判別処理部５５を有している。
【００３３】
電文判別部５１は受信した電文がリクエストなのか、レスポンスなのかを判別し、その電文の次の処理を決める。負荷分散機能部４７は、サイト，サービス及び優先制御を行いたい単位でグルーピングを行い、そのグルーピングに応じた識別フラグ（分類番号）を電文に付加する。そして、負荷分散機能部４７はグルーピングの単位でアクセス制限の設定を行い、設定されたＷｅｂサーバ群１３に対して負荷分散の振り分けを行う。
【００３４】
具体的に、負荷分散機能部４７のリクエスト種判別処理部５４は、リクエスト内容（ＵＲＬ，パラメータなど）に対して登録した条件に従って、電文のヘッダ部に分類番号を付加する。リクエスト内容に対する条件は、振り分け設定情報記憶部５６を参照する。
【００３５】
リクエスト可否判別処理部５５はアクセス制限の発生状況を見て、電文をＷｅｂサーバ群１３に転送するのか、クライアント１１にＳｏｒｒｙＭｅｓｓａｇｅを返すのか（すなわちアクセス制限をかけてリクエストを通さないのか）を判別する。
【００３６】
カウンタ処理部５３はリクエストを受信する度、分類番号別に現在のコネクションカウント数をアップ（ＵＰ）する。カウンタ処理部５３はレスポンスを受信する度、分類番号別に現在のコネクションカウント数をダウン（Ｄｏｗｎ）する。カウンタ処理部５３はラウンドロビンによる負荷分散の中でコネクションを張るＷｅｂサーバ１３（具体的な送信先のＷｅｂサーバ１３）を決定する。
【００３７】
ルーティング機能部５２は、決定された送信先へ電文を送信する。リフレッシュ処理部６０は、コネクションタイムアウト時間を経過した、データキャッシュに残ったデータ項目を定期的にクリーニングする。クリーニングの際、リフレッシュ処理部６０はカウンタ処理部５３がカウントするコネクションカウント数を修正したあと、データキャッシュに残ったデータ項目を削除する。
【００３８】
ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９はアクセス集中によりアクセスできない旨を簡単なメッセージ（ＳｏｒｒｙＭｅｓｓａｇｅ）でクライアント１１に伝える。また、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９はＳｏｒｒｙＭｅｓｓａｇｅの発行数を単位時間／サービス単位及び累積でカウントする。運用管理機能部６１は、運用管理セグメント６２にコネクション量の状況やＳｏｒｒｙＭｅｓｓａｇｅの発行数など、ネットワーク関連の情報を送信する。
【００３９】
振り分け設定情報記憶部５６は、グループ分け、振り分けの条件を記憶している。リクエスト情報記憶部５７は、リクエスト毎の送信元，受信先，時刻を記憶している。リクエスト情報記憶部５７は、リクエストの返信もしくはリフレッシュによる消去の為の基本情報を持つ。コネクション情報記憶部５８は、グループ別に現在接続中（レスポンス待ち）のリクエスト数を記憶している。
【００４０】
図６は電文判別部の処理手順を表したフローチャートである。ステップＳ１では、電文判別部５１が電文を受信する。ステップＳ２に進み、電文判別部５１は受信した電文がレスポンスであるかを判別する。レスポンスであれば（Ｓ２においてＹＥＳ）、電文判別部５１はステップＳ３に進み、受信した電文をカウンタ処理部５３へ送信する。レスポンスでなければ（Ｓ２においてＮＯ）、電文判別部５１はステップＳ４に進み、受信した電文をリクエスト種判別処理部５４へ送信する。
【００４１】
図７はリクエスト種判別処理部の処理手順を表したフローチャートである。ステップＳ１１では、リクエスト種判別処理部５４が電文判別部５１から電文を受信する。ステップＳ１２に進み、リクエスト種判別処理部５４は、振り分け設定情報記憶部５６を参照して電文のリクエスト内容と振り分け設定情報とを照合する。図８は振り分け設定情報記憶部の一例の構成図である。図８の振り分け設定情報記憶部５６はリクエスト内容と分類番号とを対応付けるものである。
【００４２】
ステップＳ１３に進み、リクエスト種判別処理部５４は振り分け設定情報に電文のリクエスト内容と一致するものがあるかを判別する。
【００４３】
電文のリクエスト内容と一致するものがあれば（Ｓ１３においてＹＥＳ）、ステップＳ１６に進み、リクエスト種判別処理部５４は電文のリクエスト内容と一致する分類番号を振り分け設定情報から読み出し、電文のヘッダ部に追加する。ステップＳ１７に進み、リクエスト種判別処理部５４は振り分け設定情報記憶部５６を参照して項目「分類番号付加以外の変更」にＵＲＬが設定されていればＵＲＬ変換を行い、ステップＳ１５に進む。
【００４４】
一方、電文のリクエスト内容と一致するものがなければ（Ｓ１３においてＮＯ）、リクエスト種判別処理部５４はステップＳ１４に進み、電文のヘッダ部に分類番号「ＮＯ（指示なし）」を追加する。ステップＳ１５に進み、リクエスト種判別処理部５４はヘッダ部に分類番号を追加した電文をリクエスト可否判別処理部５５へ送信する。
【００４５】
図９はリクエスト可否判別処理部の処理手順を表したフローチャートである。ステップＳ２１では、リクエスト可否判別処理部５５がリクエスト種判別処理部５４から電文を受信する。
【００４６】
ステップＳ２２に進み、リクエスト可否判別処理部５５はサービス別のコネクション情報記憶部５８を参照して分類番号別のアクセス制限を確認する。図１０はコネクション情報記憶部（サービス別）の一例の構成図である。図１０のコネクション情報記憶部５８は分類番号ごとにアクセス制限の発生状況が記憶されている。
【００４７】
ステップ２３に進み、リクエスト可否判別処理部５５は電文のヘッダ部に追加されている分類番号に基づき、アクセス制限が発生しているか否かを判別する。アクセス制限が発生していなければ（Ｓ２３においてＹＥＳ）、リクエスト可否判別処理部５５はステップＳ２４に進み、電文をカウンタ処理部５３へ送信する。一方、アクセス制限が発生していれば（Ｓ２３においてＮＯ）、リクエスト可否判別処理部５５はステップＳ２５に進み、電文をＳｏｒｒｙＭｅｓｓａｇｅ発行部５９に送信する。
【００４８】
図１１はカウンタ処理部の処理手順を表したフローチャートである。ステップＳ３１ではカウンタ処理部５３がリクエスト可否判別処理部５５から電文を受信する。ステップＳ３２に進み、カウンタ処理部５３は電文がレスポンスか否かを判別する。
【００４９】
電文がレスポンスであれば（Ｓ３２においてＹＥＳ）、カウンタ処理部５３はステップＳ３３に進み、図１０のようなコネクション情報記憶部５８について、電文のヘッダ部に追加されている分類番号のコネクション数カウンタから１を減算する。ステップＳ３４に進み、カウンタ処理部５３は電文のヘッダ部から分類番号を削除する。
【００５０】
ステップＳ３５に進み、カウンタ処理部５３は、サーバ別のコネクション情報記憶部５８を参照して、ステップＳ３１で受信した電文の送信元であるサーバとのコネクション数カウンタから１を減算する。図１２は、コネクション情報記憶部（サーバ別）の一例の構成図である。図１２のコネクション情報記憶部５８はサーバごとにアクセス制限の発生状況が記憶されている。
【００５１】
ステップＳ３６に進み、カウンタ処理部５３は図１３のようなリクエスト情報記憶部５７を参照し、電文のあて先ＩＰアドレスに、リクエストの送信元ＩＰアドレスを設定した後、その電文のデータをリクエスト情報記憶部５７から消去する。図１３はリクエスト情報記憶部の一例の構成図である。ステップＳ４１に進み、カウンタ処理部５３はルーティング機能部５２に電文を送信する。
【００５２】
電文がリクエストであれば（Ｓ３２においてＮＯ）、カウンタ処理部５３はステップＳ３７に進み、図１０のようなコネクション情報記憶部５８について、電文のヘッダ部に追加されている分類番号のコネクション数カウンタに１を加算する。カウンタ処理部５３はステップＳ３８に進み、図１４の振り分け設定情報記憶部５６を参照し、電文のヘッダ部に追加されている分類番号に対応した、振り分け先のサーバ候補を取得する。図１４は振り分け設定情報記憶部の一例の構成図である。
【００５３】
ステップＳ３９に進み、カウンタ処理部５３は、サーバ別のコネクション情報記憶部５８を参照し、ステップＳ３８で取得した振り分け先のサーバ候補との現在のコネクション接続数をコネクション数カウンタから取得し、振り分け先のサーバ候補の中で一番コネクション接続数が少ないサーバを選定する。そして、カウンタ処理部５３は選定したサーバのコネクション数カウンタに１を加算する。
【００５４】
ステップＳ４０に進み、カウンタ処理部５３は電文のヘッダ部に含まれる送信先ＩＰアドレスに、選定したサーバのＩＰアドレスを設定した後、その電文のデータをリクエスト情報記憶部５７に記録する。ステップＳ４１に進み、カウンタ処理部５３はルーティング機能部５２に電文を送信する。
【００５５】
図１５はルーティング機能部の処理手順を表したフローチャートである。ステップＳ５１ではルーティング機能部５２がカウンタ処理部５３から電文を受信する。ステップＳ５２に進み、電文のヘッダ部に含まれる送信先ＩＰアドレスを読み取る。ステップＳ５３に進み、ルーティング機能部５２は電文を該当する送信先ポート番号へ送信する。
【００５６】
また、図１６はＳｏｒｒｙＭｅｓｓａｇｅ発行部の処理手順を表したフローチャートである。ステップＳ６１ではＳｏｒｒｙＭｅｓｓａｇｅ発行部５９がリクエスト可否判別処理部５５から電文を受信する。ステップＳ６２に進み、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９は電文のヘッダ部からアクセス先サイト名および送信元ＩＰアドレスを読み取る。
【００５７】
ステップＳ６３に進み、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９は、あて先に送信元ＩＰアドレスを設定する。ステップＳ６４に進み、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９はＳｏｒｒｙＭｅｓｓａｇｅを電文のＢｏｄｙ部に書き込む。ステップＳ６５に進み、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９は電文を該当する送信先ポート番号へ送信する。ステップＳ６６に進み、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９は例えばサイト毎にＳｏｒｒｙＭｅｓｓａｇｅ数をカウントアップする。
【００５８】
図１７はリフレッシュ処理部の処理手順を表したフローチャートである。ステップＳ７１に進み、リフレッシュ処理部６０はリクエスト情報記憶部５７の受信時間を参照し、リフレッシュ処理を行う起動間隔（起動時間）を設定する。
【００５９】
ステップＳ７２に進み、リフレッシュ処理部６０はリクエスト情報記憶部５７のリクエストでタイムアウト（コネクションタイムアウト）時間を経過しているリクエストを選択する。リフレッシュ処理部６０はステップＳ７３に進み、タイムアウト時間を経過しているリクエストを、分類番号別に集計する。
【００６０】
ステップＳ７４に進み、リフレッシュ処理部６０はリクエスト情報記憶部５７からタイムアウト時間を経過しているリクエストを削除する。リフレッシュ処理部６０はステップＳ７５に進み、コネクション情報記憶部５８のコネクション数カウンタを、タイムアウト時間を経過しているリクエストの数に応じて分類番号別に減算する。
【００６１】
ステップＳ７６に進み、リフレッシュ処理部６０はサービス稼働中であれば（Ｓ７６においてＹＥＳ）、ステップＳ７７に進み、リフレッシュ処理を行う起動間隔の間、スリープしたあと、ステップＳ７２に戻る。なお、リフレッシュ処理部６０はサービス稼働中でなければ（Ｓ７６においてＮＯ）、リフレッシュ処理を終了する。
【００６２】
図１８は運用管理機能部の処理手順を表したフローチャートである。ステップＳ８１に進み、運用管理機能部６１はサイト別のＳｏｒｒｙＭｅｓｓａｇｅ数を抽出する。運用管理機能部６１はステップＳ８２に進み、ＳｏｒｒｙＭｅｓｓａｇｅ発行部５９におけるＳｏｒｒｙＭｅｓｓａｇｅ数を０にリセットする。
【００６３】
ステップＳ８３に進み、運用管理機能部６１は、ステップＳ８１で抽出したＳｏｒｒｙＭｅｓｓａｇｅ数を運用管理セグメント６２へ送信する。ステップＳ８４に進み、運用管理機能部６１は、サービス稼働中であれば（Ｓ８４においてＹＥＳ）、ステップＳ８５に進み、ＳｏｒｒｙＭｅｓｓａｇｅ数をカウントする間隔の間、スリープしたあと、ステップＳ８１に戻る。なお、運用管理機能部６１はサービス稼働中でなければ（Ｓ８４においてＮＯ）、運用管理機能処理を終了する。
【００６４】
なお、本発明による３階層システムではＷｅｂブラウザを用いた場合、図１９及び図２０に示すように電文へパラメータを追加している。図１９及び図２０は電文へパラメータを追加する手順を表した模式図である。
【００６５】
図１９は最初のアクセスを表している。クライアント１１が送信したリクエストは負荷分散装置１２で「ＮＯ（指示なし）」に分類された上、ＡＰサーバ１５に転送される。ＡＰサーバ１５は、リクエストに対するレスポンスを作成する。作成されたレスポンスにはＢｏｄｙ部のボタンのアンカーに「ｈｔｔｐ：／／ｗｗｗ．ｓｅｒｖｉｃｅ．ｃｏｍ／ｎｅｘｔ．ｊｓｐ」が埋め込まれている。クライアント１１はＡＰサーバ１５によって作成されたレスポンスを受信する。
【００６６】
図２０はユーザが画面操作を行ったことにより生じたページの遷移を表している。クライアント１１が送信したリクエストは負荷分散装置１２が受信する。負荷分散装置１２は拡張子「ｊｓｐ」によってリクエストを「Ａ０１Ｎ」に分類し、ヘッダ部に分類番号「Ａ０１Ｎ」を追加することにより、前述した優先制御やアクセス制限の判別等を行うことができるようになる。その後、リクエストはＡＰサーバ１１に転送される。ＡＰサーバ１５はリクエストに対するレスポンスを作成する。そして、クライアント１１はＡＰサーバ１５によって作成されたレスポンスを受信する。
【００６７】
また、本発明による３階層システムでは負荷分散装置１２が単体でＵＲＬを用いた優先制御を実現できる。一般的な優先制御では、サービス毎にＷｅｂサーバ（実際はバーチャル）１３を立てて、各サーバ群又はサーバ単位でのアクセス制限数をＡＰサーバ１５でのリクエスト受付総数が変わらないように調整することによって、サービス毎にアクセスのし易さの強弱をつけたり、或いは、優先制御は業務処理を進める（画面が進行する）につれて、アプリケーションでＵＲＬ（もしくはパラメータ）が変わっていく仕組みを盛り込んだりすることによって、アクセス集中による影響で業務処理が途切れないようにしている。このとき、アドレスに表示されるドメイン名，ＵＲＬは便宜的に変えているだけなので、実際のコンテンツ内容に違いはない。
【００６８】
図２１は３階層システムにおける従来の優先制御を表した模式図である。図２２は３階層システムにおける本発明による優先制御を表した模式図である。図２２に示した本発明による優先制御では、Ｗｅｂサーバ群１３の構成が図２１の優先制御と異なっている。
【００６９】
本発明による３階層システムは、負荷分散装置１２の中で優先度を表す分類番号を付加できる。Ｗｅｂサーバ１３上では、提供するコンテンツ内容が同じならば、複数のドメインやＵＲＬのサービスを１つのドメインやＵＲＬのサービスに統一して持つことが可能となる。
【００７０】
図２２に示す本発明による優先制御は図２１に示す従来の優先制御と比べて以下のようなメリットがある。第１に、本発明による優先制御では、Ｗｅｂサーバ１３上に構築するサービスの数を減らすことができる。言い換えれば、仮想で見せるＷｅｂサーバ１３が要らなくなる。例えばＳＳＬサーバ証明書の運用コストはバーチャルホスト／実ホストに関係なく、Ｗｅｂサーバ１３上に立てたサービスの個数に依存する仕組みを採用しているネットワークサービス提供者もある為、このようなサービス提供者のサービスを受ける場合には、Ｗｅｂサービス１３上に立てるサービスの個数を減らすことにより、３階層システムの運用コストを削減できる。
【００７１】
なお、負荷分散装置１２及びネットワーク機器１７は、例えば図２３に示すようなコンピュータシステムによって構成することもできる。図２３はコンピュータシステムの一例のハードウェア構成図である。
【００７２】
図２３は、コンピュータシステムの一例の構成図である。コンピュータシステムは、それぞれバスＢで相互に接続されている入力装置８１，出力装置８２，ドライブ装置８３，補助記憶装置８４，メモリ装置８５，演算処理装置８６およびインターフェース装置８７で構成される。
【００７３】
入力装置８１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置８２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置８７は、モデム，ＬＡＮカードなどで構成されており、インターネットやＬＡＮ等のネットワークに接続する為に用いられる。
【００７４】
本発明のアクセス制限プログラムは、コンピュータシステムを制御する各種プログラムの少なくとも一部である。アクセス制限プログラムは例えば記録媒体８８の配布やネットワークからのダウンロードなどによって提供される。アクセス制限プログラムを記録した記録媒体８８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００７５】
また、アクセス制限プログラムを記録した記録媒体８８がドライブ装置８３にセットされると、アクセス制限プログラムは記録媒体８８からドライブ装置８３を介して補助記憶装置８４にインストールされる。ネットワークからダウンロードされたアクセス制限プログラムはインターフェース装置８７を介して補助記憶装置８４にインストールされる。
【００７６】
コンピュータシステムは、インストールされたアクセス制限プログラムを格納すると共に、必要なファイル，データ等を格納する。メモリ装置８５は、コンピュータシステムの起動時に補助記憶装置８４からアクセス制限プログラムを読み出して格納する。演算処理装置８６はメモリ装置８５に格納されたアクセス制限プログラムに従って、前述したような各種処理を実現している。
【００７７】
最後に、従来の３階層システムと本発明による３階層システムとを比較しながらリクエストの通信フローについて説明する。図２４は一般的な３階層システムにおけるリクエストの通信フローを表した模式図である。
【００７８】
クライアント１１からのリクエストは、ＤＢサーバ１６に格納してあるデータを参照又は更新等するとき、ＤＢサーバ１６まで転送される。また、クライアント１１からのリクエストは、リクエスト毎に表示内容を変える応答文（ＨＴＭＬボディ部）であるとき、ＡＰサーバ群１５まで転送される。さらに、クライアント１１からのリクエストは、ファイル名により一意に決まる固定ファイル（主に画像）などであるとき、Ｗｅｂサーバ群１３まで転送される。
【００７９】
図２５は従来の３階層システムにおけるリクエストの通信フローを表した一例の模式図である。図２５は、処理内容の情報判断を行わず、通信のあて先でアクセス制限を掛けている例である
クライアント１１からのリクエストは、アクセス制限が有効になっているサイトに対するものである場合、処理内容に関係なく、アクセス数が一定値に達したら負荷分散装置１２によって折り返される。また、クライアント１１からのリクエストは、アクセス制限が無効になっているサイトに対するものである場合、透過されるが、そのサーバで実際に処理が行われるか分からないため、アクセス制限数に十分な余裕を持たせておかなければならなかった。
【００８０】
図２６は従来の３階層システムにおけるリクエストの通信フローを表した他の例の模式図である。図２６は、サーバにエージェントを配置し、そのエージェントがサーバの負荷を見て、自動でアクセス制限を発生させる例である。
【００８１】
例えばエージェントはＤＢサーバ１６のＣＰＵ負荷が規定の率まで上がったことを負荷分散装置１２に通知する。エージェントが通知している最中のクライアント１１からのリクエストは、当然ながらアクセス制限に掛からない。また、ＤＢサーバ１６がサイトによらず共通の場合は、ＤＢサーバ１６の負荷が下がるまで、各サイトが一律にアクセス制限対象となる。
【００８２】
図２７は、本発明による３階層システムにおけるリクエストの通信フローを表した一例の模式図である。図２７は、処理内容の情報判断を行い、アクセス制限を掛けている例である。
【００８３】
例えばＤＢサーバ１６の処理を伴うアクセスが多数、且つＤＢサーバ１６の処理を伴わないＡＰサーバ１５の処理を伴うアクセスが少数のとき、ＤＢサーバ１６の処理を伴うアクセスは遮断される。また、ＡＰサーバ１５で折り返されるリクエストはアクセス制限を透過する。
【００８４】
また、本発明による３階層システムでは、Ｗｅｂサーバ１３上で処理もしくは通過するリクエスト数が少なければ、ＤＢサーバ１６の負荷と関係ないため、Ｗｅｂサーバ１３で折り返すリクエストを受け付けることができる。
【００８５】
このように、本発明による３階層システムでは、リクエストの適切なアクセス制限を行うことができる。
【００８６】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器であって、
前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理手段と、
前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理手段と、
前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理手段と、
前記リクエスト可否判別処理手段によるアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能手段と
を有することを特徴とするネットワーク機器。
（付記２）
前記リクエスト種判別処理手段は、前記リクエストの内容に応じた前記サーバ群が振り分けの条件として設定される振り分け設定情報に基づいて、前記リクエストのパラメータから何れの階層の前記サーバ群で処理されるかを判別することを特徴とする付記１記載のネットワーク機器。
（付記３）
前記リクエスト可否判別処理手段は、前記サーバ群ごとに負荷状況がリクエスト数又はコネクション数により設定されているコネクション情報に基づいて、前記サーバ群への前記リクエストのアクセス制限を行うかを判別することを特徴とする付記１記載のネットワーク機器。
（付記４）
前記リクエスト可否判別処理手段によるアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストのアクセス制限を行うとき、アクセスできない旨のメッセージを前記クライアントへ送信するメッセージ発行手段を更に有することを特徴とする付記１記載のネットワーク機器。
（付記５）
階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器におけるアクセス制限方法であって、
前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理ステップと、
前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理ステップと、
前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理ステップと、
前記リクエスト可否判別処理ステップでのアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能ステップと
を有することを特徴とするアクセス制限方法。
（付記６）
階層構造を成すサーバ群に対するクライアントからのリクエストを受信し、前記リクエストのアクセス制限を行うネットワーク機器に、
前記リクエストの内容から、前記リクエストが何れの階層の前記サーバ群で処理されるかを振り分け設定情報に基づいて判別するリクエスト種判別処理手順と、
前記リクエストが処理されると判別した前記サーバ群の負荷状況をコネクション情報から取得し、前記負荷状況に応じてアクセス制限を行うかを判別するリクエスト可否判別処理手順と、
前記クライアントからのリクエスト及び前記クライアントへのレスポンスに応じて前記コネクション情報が前記サーバ群の現在の負荷状況を表すように更新するカウンタ処理手順と、
前記リクエスト可否判別処理手順でのアクセス制限を行うかの判別結果に従って、前記リクエストが処理されると判別した前記サーバ群への前記リクエストの送信又はアクセス制限を行うルータ機能手順と
を実行させるためのアクセス制限プログラム。
【００８７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００８８】
【図１】Ｗｅｂサーバ，ＡＰサーバ，ＤＢサーバが階層構造を成す３階層システムの構成図である。
【図２】本発明による３階層システムの概要について説明する為の模式図である。
【図３】ＡＰサーバ及びＤＢサーバの負荷を直接観る３階層システムの概要について説明する為の模式図である。
【図４】３階層インターネットシステムの一実施例の構成図である。
【図５】ネットワーク機器の一実施例の構成図である。
【図６】電文判別部の処理手順を表したフローチャートである。
【図７】リクエスト種判別処理部の処理手順を表したフローチャートである。
【図８】振り分け設定情報記憶部の一例の構成図である。
【図９】リクエスト可否判別処理部の処理手順を表したフローチャートである。
【図１０】コネクション情報記憶部（サービス別）の一例の構成図である。
【図１１】カウンタ処理部の処理手順を表したフローチャートである。
【図１２】コネクション情報記憶部（サーバ別）の一例の構成図である。
【図１３】リクエスト情報記憶部の一例の構成図である。
【図１４】振り分け設定情報記憶部の一例の構成図である。
【図１５】ルーティング機能部の処理手順を表したフローチャートである。
【図１６】ＳｏｒｒｙＭｅｓｓａｇｅ発行部の処理手順を表したフローチャートである。
【図１７】リフレッシュ処理部の処理手順を表したフローチャートである。
【図１８】運用管理機能部の処理手順を表したフローチャートである。
【図１９】電文へパラメータを追加する手順を表した模式図（１／２）である。
【図２０】電文へパラメータを追加する手順を表した模式図（２／２）である。
【図２１】３階層システムにおける従来の優先制御を表した模式図である。
【図２２】３階層システムにおける本発明による優先制御を表した模式図である。
【図２３】コンピュータシステムの一例のハードウェア構成図である。
【図２４】一般的な３階層システムにおけるリクエストの通信フローを表した模式図である。
【図２５】従来の３階層システムにおけるリクエストの通信フローを表した一例の模式図である。
【図２６】従来の３階層システムにおけるリクエストの通信フローを表した他の例の模式図である。
【図２７】本発明による３階層システムにおけるリクエストの通信フローを表した一例の模式図である。
【符号の説明】
【００８９】
１１    クライアント
１２，１４    負荷分散装置
１３    Ｗｅｂサーバ
１５    ＡＰサーバ
１６    ＤＢサーバ
１７    ネットワーク機器
３１〜３３    ネットワーク（ＮＷ）機器
３４，３５    エージェント
４２    Ｆｉｒｅ  Ｗａｌｌ機能部
４３    負荷分散機能部
４４    ルーティング機能部
４５    負荷分散機能部
４６    ＳＳＬアクセラレータ機能部
４７    負荷分散機能部
４８    Ｆｉｒｅ  Ｗａｌｌ機能部
４９    負荷分散機能部
５１    電文判定部
５２    ルーティング機能部
５３    カウンタ処理部
５４    リクエスト種判別処理部
５５    リクエスト可否判別処理部
５６    振り分け設定情報記憶部
５７    リクエスト情報記憶部
５８    コネクション情報記憶部
５９    ＳｏｒｒｙＭｅｓｓａｇｅ発行部
６０    リフレッシュ処理部
６１    運用管理機能部
６２    運用管理セグメント
８１    入力装置
８２    出力装置
８３    ドライブ装置
８４    補助記憶装置
８５    メモリ装置
８６    演算処理装置
８７    インターフェース装置
８８    記録媒体
【図１】
2008250806.tif 000003
【図２】
2008250806.tif 000004
【図３】
2008250806.tif 000005
【図４】
2008250806.tif 000006
【図５】
2008250806.tif 000007
【図６】
2008250806.tif 000008
【図７】
2008250806.tif 000009
【図８】
2008250806.tif 000010
【図９】
2008250806.tif 000011
【図１０】
2008250806.tif 000012
【図１１】
2008250806.tif 000013
【図１２】
2008250806.tif 000014
【図１３】
2008250806.tif 000015
【図１４】
2008250806.tif 000016
【図１５】
2008250806.tif 000017
【図１６】
2008250806.tif 000018
【図１７】
2008250806.tif 000019
【図１８】
2008250806.tif 000020
【図１９】
2008250806.tif 000021
【図２０】
2008250806.tif 000022
【図２１】
2008250806.tif 000023
【図２２】
2008250806.tif 000024
【図２３】
2008250806.tif 000025
【図２４】
2008250806.tif 000026
【図２５】
2008250806.tif 000027
【図２６】
2008250806.tif 000028
【図２７】
2008250806.tif 000029