(57)【要約】 【課題】  端末からのサービスの要求に適切な優先度で応答するサーバ装置等を提供する。【解決手段】  サーバ装置１０１の受付部１０２は、端末からのサービスの要求を受け付け、応答部１０５は、当該端末に、当該要求されたサービスを提供して応答し、統計部１０３は、過去に受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積し、計算部１０４は、当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、前記統計部１０３に蓄積された当該端末を要求元端末とするサービスの要求の統計と、を比較して類似度を計算し、当該類似度にあらかじめ対応付けられた優先度を得て、サーバ装置１０１は、当該端末に対して、前記得られた優先度で、当該要求されたサービスを提供する。【選択図】  図３
2005070941.tif 000002
【特許請求の範囲】
【請求項１】
受付部と、統計部と、計算部と、応答部と、を備えるサーバ装置であって、
前記受付部は、端末からのサービスの要求を受け付け、
前記応答部は、当該端末に、当該要求されたサービスを提供して応答し、
前記統計部は、過去に受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積し、
前記計算部は、当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、前記統計部に蓄積された当該端末を要求元端末とするサービスの要求の統計と、を比較して類似度を計算し、当該類似度にあらかじめ対応付けられた優先度を得て、
前記サーバ装置は、当該端末に対して、前記得られた優先度で、当該要求されたサービスを提供する
ことを特徴とするもの。
【請求項２】
請求項１に記載のサーバ装置であって、
前記得られる優先度は、当該要求されたサービスを提供する確率であり、前記応答部は、乱数を生成して当該要求されたサービスを提供するか否かを決定する
ことを特徴とするもの。
【請求項３】
請求項１に記載のサーバ装置であって、
前記受付部は、前記得られた優先度で、当該端末からのサービスの要求を受け付ける
ことを特徴とするもの。
【請求項４】
請求項３に記載のサーバ装置であって、
前記受付部は、端末との間の通信路の帯域制限を行って、当該端末からサービスの要求を受け付ける優先度を変更する
ことを特徴とするもの。
【請求項５】
請求項１から４のいずれか１項に記載のサーバ装置であって、
前記統計部は、「当該サービスの要求をした要求元端末の統計」にかえて、「当該サービスの要求をした要求元端末を含む要求元端末群の統計」を蓄積し、
前記計算部は、「当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、前記統計部に蓄積された当該端末を要求元端末とするサービスの要求の統計と」を比較するのにかえて、「当該端末を含む端末群からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、前記統計部に蓄積された当該端末を要求元端末群に含むサービスの要求の統計と」を比較して類似度を計算する
ことを特徴とするもの。
【請求項６】
請求項５に記載のサーバ装置であって、
前記統計部および前記計算部は、同じグローバルＩＰ（Internet Protocol）アドレスを利用してサービスの要求をする端末の群を、要求元端末群とする
ことを特徴とするもの。
【請求項７】
請求項５に記載のサーバ装置であって、
前記統計部および前記計算部は、同じ代理サーバを経由してサービスの要求をする端末の群を要求元端末群とする
ことを特徴とするもの。
【請求項８】
受付工程と、統計工程と、計算工程と、応答工程と、を備えるサービス方法であって、
前記受付工程では、端末からのサービスの要求を受け付け、
前記応答工程では、当該端末に、当該要求されたサービスを提供して応答し、
前記統計工程では、過去に受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積し、
前記計算工程では、当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、前記統計工程により蓄積された当該端末を要求元端末とするサービスの要求の統計と、を比較して類似度を計算し、当該類似度にあらかじめ対応付けられた優先度を得て、
前記応答工程では、前記得られた優先度で、当該要求されたサービスを提供して応答する
ことを特徴とする方法。
【請求項９】
コンピュータを、
受付部、統計部、計算部、および、応答部として機能させるプログラムであって、
前記プログラムは、前記コンピュータにおいて、
前記受付部が、端末からのサービスの要求を受け付け、
前記応答部が、当該端末に、当該要求されたサービスを提供して応答し、
前記統計部が、過去に受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積し、
前記計算部が、当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、前記統計部に蓄積された当該端末を要求元端末とするサービスの要求の統計と、を比較して類似度を計算し、当該類似度にあらかじめ対応付けられた優先度を得て、
前記応答部が、前記得られた優先度で、当該要求されたサービスを提供して応答する
ように機能させることを特徴とするもの。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末からのサービスの要求に適切な優先度で応答するサーバ装置、サービス方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、インターネットを用いて、各端末からサーバ装置に種々のリクエストを行い、各種のサービスを受ける方式が広く行われている。サービスの種類としては、ウェブページによる情報の提供、各種ゲームの提供、物品、情報、チケット等の購入、これらのサービスを受けるためのユーザ登録など、種々のものが採用されている。
【０００３】
このような環境下においては、各端末がダイヤルアップ接続によってインターネットに接続されていたり、代理（proxy）サーバや各種のルータ、ファイアウォールを中継している場合には、異なる端末からのサービス要求であっても、サーバには、サービスを要求するＩＰアドレスが同一であるように、見える。
【０００４】
一方で、あるユーザが頻繁に同じサーバ装置にサービスを要求することによって、サービスの提供を妨害するなどのいたずらも発生している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このようなサーバ装置によるサービスの提供の際には、頻繁にサービスを要求してサービスの提供を妨害するいたずらをできるだけ防止する技術が強く求められている。この場合、そのようないたずらをしている悪意のユーザと同じＩＰアドレスを利用している善意のユーザに対して、サービスを一切提供しないことは望ましくないため、悪意のユーザが利用するＩＰアドレスを一切利用できないこととはしない技術が望ましい。
本発明は、上記のような課題を解決するためになされたもので、端末からのサービスの要求に適切な優先度で応答するサーバ装置、サービス方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第１の観点に係るサーバ装置は、受付部と、統計部と、計算部と、応答部と、を備え、以下のように構成する。
【０００７】
すなわち、受付部は、端末からのサービスの要求を受け付ける。典型的には、端末と受付部とは、インターネット等のコンピュータ通信網を介して接続され、端末からの各種のサービスの要求があってから、実際のサービスが提供されることとなる。
【０００８】
一方、応答部は、当該端末に、当該要求されたサービスを提供して応答する。端末と受付部とがコンピュータ通信網を介して接続されている場合、端末と応答部もまたコンピュータ通信網を介して接続されるのが一般的である。端末から要求されたサービスの種類に応じて適宜サービスを提供する。本発明では、提供されるサービスの種類は問わない。
【０００９】
さらに、統計部は、過去に受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積する。蓄積される統計としては、たとえば、要求元の端末のＩＰアドレスや当該ユーザ名等の端末を識別する情報、要求されたサービスの種類、当該要求がされた日時等が考えられる。
【００１０】
そして、計算部は、当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、統計部に蓄積された当該端末を要求元端末とするサービスの要求の統計と、を比較して類似度を計算し、当該類似度にあらかじめ対応付けられた優先度を得る。統計には、要求元の端末を識別する情報が蓄積されているので、当該端末について、最近のサービス要求の様子（最近の所定の期間もしくは所定の回数のサービスの要求の統計）が通常のサービス要求の様子（統計部に蓄積された当該端末を要求元端末とするサービスの統計）とどの程度異なるかを調べることができる。なお、類似度が低くなる（サービス要求の様子が異常である）と、優先度が下がるように設定することが望ましい。
【００１１】
一方、サーバ装置は、当該端末へ、得られた優先度で、当該要求されたサービスを提供する。すなわち、サーバ装置は、得られた優先度によって受付部や応答部を制御することにより、当該端末へのサービスの提供の優先度を変更する。本発明により、いたずらが発生している場合など、サービス要求の様子が異常な変化を示した場合にも、適切な優先度でサービスを提供することができるようになる。
【００１２】
また、本発明のサーバ装置において、得られる優先度は、当該要求されたサービスを提供する確率であり、応答部は、乱数を生成して当該要求されたサービスを提供するか否かを決定するように構成することができる。すなわち、優先度が高い場合には、応答部がサービスを提供する確率を高くし、優先度が低い場合には、サービスを提供する確率を低くする。本発明は、上記発明の好適実施形態の一つであり、応答部側でサービスを提供するか否かを決めることによって、各端末に適切にサービスを提供することができるようになる。
【００１３】
また、本発明のサーバ装置において、受付部は、得られた優先度で、当該端末からのサービスの要求を受け付けるように構成することができる。すなわち、優先度が高い場合には、受付部が要求を受け付ける確率を高くし、優先度が低い場合には、受付部が要求を受け付ける確率を低くする。本発明は、上記発明の好適実施形態の一つであり、受付部側でサービス要求を受け付けるか否かを決めることによって、各端末に適切にサービスを提供することができるようになる。
【００１４】
また、本発明のサーバ装置において、受付部は、端末との間の通信路の帯域制限を行って、当該端末からサービスの要求を受け付ける優先度を変更するように構成することができる。すなわち、優先度が高い場合には、帯域制限を緩くし、優先度が低い場合には、帯域制限を厳しくする。本発明によれば、各端末との通信の帯域制限を調節することによって、サービスを提供する優先度を調整することができるようになる。
【００１５】
また、本発明のサーバ装置において、統計部は、「当該サービスの要求をした要求元端末の統計」にかえて、「当該サービスの要求をした要求元端末を含む要求元端末群の統計」を蓄積し、計算部は、「当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、統計部に蓄積された当該端末を要求元端末とするサービスの要求の統計と」を比較するのにかえて、「当該端末を含む端末群からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、統計部に蓄積された当該端末を要求元端末群に含むサービスの要求の統計と」を比較して類似度を計算するように構成することができる。
【００１６】
特に、統計部および計算部は、同じグローバルＩＰ（Internet Protocol）アドレスを利用してサービスの要求をする端末の群を、要求元端末群とするように構成することができる。
端末がダイアルアップ接続を利用している場合は、複数の端末（ユーザ）が、あるプロバイダが提供する同じグローバルＩＰアドレスを利用する。そこで、ＩＰアドレス単位で統計を蓄積した場合には、端末単位に統計が蓄積されるのではなく、当該プロバイダを利用している端末群について統計が蓄積されることになる。したがって、このような端末群に対してサービス提供の優先度が割り当てられる。
【００１７】
また、統計部および計算部は、同じ代理サーバを経由してサービスの要求をする端末の群を要求元端末群とするように構成することができる。
端末が代理サーバを利用している場合は、複数の端末が、当該代理サーバのグローバルＩＰアドレスを利用する。そこで、ＩＰアドレス単位で統計を蓄積した場合には、端末単位に統計が蓄積されるのではなく、当該代理サーバを利用している端末群について統計が蓄積されることになる。したがって、このような端末群に対してサービス提供の優先度が割り当てられる。
【００１８】
これらの発明によれば、最終的にユーザが使用している端末の同定ができない場合であっても、当該端末が利用するプロバイダや代理サーバを単位として統計を蓄積することによって、当該端末が含まれる端末群を単位としてサービス提供の優先度を割り当てることができるようになる。
【００１９】
本発明の他の観点に係るサービス方法は、受付工程と、統計工程と、計算工程と、応答工程と、を備え、以下のように構成する。
すなわち、受付工程では、端末からのサービスの要求を受け付ける。
一方、応答工程では、当該端末に、当該要求されたサービスを提供して応答する。
さらに、統計工程では、過去に受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積する。
【００２０】
そして、計算工程では、当該端末からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、統計工程により蓄積された当該端末を要求元端末とするサービスの要求の統計と、を比較して類似度を計算し、当該類似度にあらかじめ対応付けられた優先度を得る。
一方、当該サービス方法は、当該端末に対して、得られた優先度で、当該要求されたサービスを提供する。
【００２１】
本発明のその他の観点に係るプログラムは、コンピュータを上記サーバ装置として機能させ、または、コンピュータに上記サービス方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２２】
本発明によれば、端末からのサービスの要求に適切な優先度で応答するサーバ装置、サービス方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、インターネット内のサーバ装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ（Personal Data Assistants）、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００２４】
（サービス提供システムの構成）
図１は、本発明の実施形態の１つに係るサーバ装置が含まれるサービス提供システムの概要構成を示す説明図である。以下、本図を参照して説明する。
サービス提供システム１０は、サーバ装置１０１と、複数の端末１５１と、を備え、これらはインターネット１７１を介して通信可能に接続される。インターネット１７１と各端末１５１との接続は、ダイヤルアップ接続を用いた場合、各端末１５１には、一時的なグローバルＩＰアドレスが割り当てられるのが一般的である。この場合、当該グローバルＩＰアドレスは、ダイヤルアップ接続サービスを提供するプロバイダを利用するユーザの端末で共有されることになる。
【００２５】
また、常時接続環境では、各端末１５１には固有のグローバルＩＰアドレスが割り当てられるのが一般的であるが、たとえば家庭内ＬＡＮを構築する場合には、家庭内ＬＡＮに含まれる端末１５１からのアクセスは、すべてこのグローバルＩＰアドレスを介して行われるように構成されることが多い。このように、インターネットと家庭内ＬＡＮとを、ルータやファイアウォールで接続する場合には、家庭内ＬＡＮに含まれる端末１５１は、ルータ等に割り当てられるグローバルＩＰを共有することになる。
【００２６】
また、インターネット内の代理サーバを用いて、ウェブサーバ装置へのアクセスを高速化したりする手法も広く用いられている。代理サーバは、上記の家庭内ＬＡＮの態様におけるルータやファイアウォールと同じような機能を果たす。
【００２７】
図２は、本発明のサーバ装置が実現される典型的な情報処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００２８】
情報処理装置２０１は、ＣＰＵ（Central Processing Unit）２０２と、ＲＯＭ（Read Only Memory）２０３と、ＲＡＭ（Random Access Memory）２０４と、キーボードやマウスからなる入力装置２０５と、モニタなどの表示装置２０６と、ハードディスクなどの外部記憶装置２０７と、ＣＤ−ＲＯＭドライブなどの媒体読取装置２０８と、ＮＩＣ（Network Interface Card）２０９と、を備える。
【００２９】
サーバ装置として機能するための各種のプログラムを、媒体読取装置２０８に装着されたＣＤ−ＲＯＭなどから外部記憶装置２０７にインストールし、当該サーバ用プログラムを実行させることによって、情報処理装置２０１は、本発明のサーバ装置１０１として機能する。特に、情報処理装置２０１の電源を投入した後の処理すべき手順を記述した初期化ファイルを適切に外部記憶装置２０７に用意しておくことにより、情報処理装置２０１の電源を投入すると、必要なサーバ用プログラムが実行され、本発明のサーバ装置１０１として機能するようになる。
【００３０】
ＣＰＵ  ２０２は、情報処理装置２０１の全体の動作を制御し、各構成要素と接続され、これらを制御する制御信号を与えたり、これらとの情報のやりとりを行うためにデータの送受を行う。
ＲＯＭ  ２０３には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、外部記憶装置２０７や媒体読取装置２０８に装着されたＣＤ−ＲＯＭ等に記録されたプログラムをＲＡＭ  ２０４に読み出してＣＰＵ  ２０２による実行が開始される。
【００３１】
ＲＡＭ  ２０４は、データやプログラムを一時的に記憶するためのもので、外部記憶装置２０７や媒体読取装置２０８に装着されたＣＤ−ＲＯＭ等に記録されたプログラムやデータを保持し、また、これがサーバ装置として機能する場合には、各種のサービスを提供するために必要な情報を一時的に記憶したり、サービスの提供の過程を記録するために用いられる。
【００３２】
入力装置２０５は、当該情報処理装置２０１を直接使用したりこれを管理したりする際に、サーバ装置の管理者が、各種の指示を与えるためのものであり、表示装置２０６は、当該指示の結果等、各種の報告を管理者に提示するためのものである。
【００３３】
典型的には、これらは、当該情報処理装置２０１に直接接続されるキーボードやマウスならびにモニタが相当するが、ＮＩＣ  ２０９、シリアル通信線、パラレル通信線などを介して接続される他の情報処理装置を入力装置２０５として機能させることとして、情報処理装置２０１自身には、キーボードやマウス、モニタなどを備えない態様も広く用いられている。
【００３４】
外部記憶装置２０７は、上述したように、情報処理装置２０１がサーバ装置として機能するための各種のプログラムや設定ファイル、提供するサービスに関する各種のデータ、端末からのアクセス統計等を不揮発的かつ読み書き可能に記録するのに用いられる。
【００３５】
媒体読取装置２０８は、当該情報処理装置２０１に対して種々のソフトウェアをインストールしたり、外部記憶装置２０７の記憶容量の空きを広くするため情報処理装置２０１が利用するデータを記憶させるのに利用される。利用可能な媒体は、典型的にはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭである。尚、このような媒体読取装置２０８を利用しなくとも、ＮＩＣ  ２０９を介したネットワークインストールの技術を利用して、他の情報処理装置からインターネットやＬＡＮを介して提供される各種のソフトウェアをインストールすることが可能である。
【００３６】
ＮＩＣ  ２０９は、情報処理装置２０１をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  ２０２との仲立ちを行う内部インターフェース（図示せず）により構成される。
【００３７】
図３は、本発明の実施形態の１つに係るサーバ装置の概要構成を示す説明図である。図４は、当該サーバ装置にて実行されるサービス方法の処理の流れを示す説明図である。以下、本図を参照して説明する。
サーバ装置１０１は、受付部１０２と、統計部１０３と、計算部１０４と、応答部１０５と、を備える。ここで、当該サーバ装置１０１が、上記の情報処理装置２０１上に実現される場合、ＮＩＣ  ２０９はＣＰＵ  ２０２と共働して受付部１０２ならびに応答部１０５として機能し、外部記憶装置２０７はＣＰＵ  ２０２と共働して統計部１０３として機能し、ＣＰＵ  ２０２は計算部１０４として機能する。以下、詳細に説明する。
【００３８】
ここで、統計部１０３は、これまでに受け付けたサービスの要求と、当該サービスの要求をした要求元端末と、の統計を蓄積しており、これらの情報は、適宜更新される。
【００３９】
まず、受付部１０２は、端末１５１からのサービスの要求を受け付ける（ステップＳ４０１）。本実施形態では、端末１５１と受付部１０２とは、インターネット１７１を介して接続され、端末１５１からの各種のサービスの要求があってから、実際のサービスが提供される。サーバ装置１０１がウェブサーバとして機能する場合には、受付部１０２は、HTTPプロトコルに基づく要求パケットを受信することとなる。
【００４０】
そこで、統計部１０３は、ステップＳ４０１において受け付けたサービスの要求と、当該サービスの要求をした端末１５１との統計を追加して、蓄積する（ステップＳ４０２）。ここで、本実施形態では、統計として蓄積される情報として、
（１）要求元の端末１５１のＩＰアドレス
（２）要求がされた日時
を採用するものとする。なお、蓄積する統計の情報量には制限を設け、追加によって当該制限を超えそうになった場合には、古い統計情報から順次消去していくこととするのが望ましい。
【００４１】
ついで、計算部１０４は、当該端末１５１からの最近の所定の期間もしくは所定の回数のサービスの要求の統計と、統計部１０３に蓄積された当該端末１５１を要求元端末１５１とするサービスの要求の統計と、を比較して類似度を計算する（ステップＳ４０３）。類似度の計算には、種々の技術が適用できる。以下では時間帯によるアクセス数をベクトルとして考え、その内積を用いて類似度を求める手法について説明する。
【００４２】
たとえば、サービスの要求がされた時刻が２１時（午後９時）４５分であったものとする。この場合、以下のような２４個の統計を取得する。
同日のi時〜i+1時のアクセス数ai（0≦i<21）
前日のi時〜i+1時のアクセス数ai（21≦i<24）
２４個の数値からなるai（0≦i<24）は、最近のサービス要求の様子を示す統計である。
【００４３】
一方、これまでの統計情報をすべて時間帯ごとに集積して、
i時〜i+1時の総アクセス数ti（0≦i<24）
という統計も取得する。
２４個の数値からなるti（0≦i<24）は、これまでのサービス要求の（平均的な）様子に対応する統計である。
【００４４】
そこで、ai，tiを、それぞれ、２４次元のベクトルa，tと考え、それぞれのベクトルの長さ|a|，|t|および、ベクトルの内積a・tから、これらがなす角θを計算する。具体的には、
|a| = (Σi=023ai2)1/2；
|t| = (Σi=023ti2)1/2；
a・t = Σi=023ai  ti
という計算により、ベクトルの長さおよび内積が求められる。
【００４５】
そこで、これらがなす角θは、
θ = arccos(a・t/(|a||t|))
のように得ることができる。
【００４６】
さて、ベクトルa，tのなす角が小さい、ということは、これらの方向がほとんど同じである、ということであり、各時間帯におけるアクセスの割合が類似している、ということに対応する。θは０度〜１８０度の範囲の値をとり、θの数値が小さければ類似するのであるから、θは「非類似度」に対応する。
【００４７】
「類似度」とするためには、１８０度からθを減じた値を採用すれば良いが、このような減算演算を行わなくとも、θが小さければ優先度が上がり、θが大きければ優先度が下がるように、あらかじめθと優先度とを対応付けておけば、「類似度に対応付けた優先度を得る」機能が実現できる。
尚、この他の蓄積される統計情報の種類や類似度の計算手法については、後述する。
【００４８】
そして、計算部１０４は、類似度（もしくは非類似度）を計算によって求めた後に、当該類似度（もしくは非類似度）にあらかじめ対応付けられた優先度を得る（ステップＳ４０４）。
本実施形態では、優先度として、当該端末１５１にサービスを提供する確率を採用する。すなわち、優先度が高ければ、サービスを提供する確率も高くなり、優先度が低ければ、サービスを提供する確率も低くなる。
当該確率の値としては、たとえば、(180°-θ)/180°などのような値を採用することができる。
【００４９】
さて、優先度として、サービスを提供する確率が得られたら、ＣＰＵ  ２０２は、０〜１の範囲の一様乱数を発生させる（ステップＳ４０５）。乱数の発生技術については、Ｍ系列や線形合同法などを利用するもののほか、現在時刻から直接乱数を発生させる技術などを採用することができる。
【００５０】
そして、発生された一様乱数と、当該確率の値とを比較し、前者が後者以下であるか否かを判定する（ステップＳ４０６）。一様乱数が確率の値以下である場合（ステップＳ４０６；Ｙｅｓ）、当該サーバ装置１０１は、当該端末１５１に対して要求されたサービスを提供することとなる。
【００５１】
そこで、ＣＰＵ  ２０２は、受付部１０２によって受け付けられたサービスの要求の内容を検討し、当該要求に対して、当該サービスを提供する応答のパケットを生成し（ステップＳ４０７）応答部１０５に対して、当該応答のパケットを当該端末１５１へ送信させて、応答する（ステップＳ４０８）。そして、ステップＳ４０１に戻る。
【００５２】
一方、一様乱数が確率の値以下である場合（ステップＳ４０６；Ｎｏ）、ＣＰＵ  ２０２は、受付部１０２によって受け付けられたサービスの要求に対して、サーバ装置１０１に対するアクセスが多いため混雑が生じておりサービスを提供できない旨を報告する報告パケットを生成し（ステップＳ４０９）、ＮＩＣ  ２０９を介して、これを当該端末１５１に送信して（ステップＳ４１０）、ステップＳ４０１に戻る。
【００５３】
このように、本実施形態では、サービスの要求をしてきた端末のＩＰアドレスによって統計を分類し、当該ＩＰアドレスからサービスの要求がされた時間帯の統計を蓄積し、従来のサービス要求の時間帯変化と、最近のサービス要求の時間帯変化とを比較して、これが類似する程度に応じた確率で、サービスを提供することとしている。
【００５４】
悪意のユーザが当該ＩＰアドレスを利用して大量のサービス要求のパケットを当該サーバ装置１０１に送信した場合には、従来のサービス要求の時間帯変化と、最近のサービス要求の時間帯変化とが大きく異なる様相を呈することが一般的である。このような場合には、上記の非類似度θは大きくなり、類似度180°-θは小さくなるので、これに応じた確率を採用することにより、いたずらをしているユーザに対するサービス提供を減らすことができる。
【００５５】
一方、当該確率は殆どの場合は０とはならないので、同じＩＰアドレスを利用している他の善意のユーザがいる場合であっても、当該善意のユーザには、サーバ装置１０１が混みあっていてサービスが提供できない旨の通知がされるので、当該サーバ装置１０１に対してサービスを要求したいという欲求を減退させずに済む。また、確率が低いとはいえ、多くの場合は０とはならないのであるから、何回か繰り返してサービス要求を行うような熱意のある善意のユーザに対しては、いつかは当該サービスが提供されることとなる。
【実施例２】
【００５６】
上記実施例１では、受信部１０２が要求パケットを受信した後に、当該端末１５１に対してサービスを提供するか否かをアクセスの類似度と乱数により決めていた。すなわち、サーバ装置１０１の出口側で、端末１５１に対するサービス提供の優先度を調整していた。
本実施形態は、サーバ装置１０１の入口側、すなわち、受付部１０２においてサービス提供の優先度を調整するものである。
【００５７】
サーバ装置１０１に対するアクセス頻度が高いことが予想される場合には、複数の情報処理装置２０１を用意する手法が広く用いられている。この手法では、一台（以下「振分機」という。）をサービス要求のパケットを受信する専用の機械とし、残り（以下「処理機」という。）をサービス要求に応答するパケットを生成してこれを端末に送信する機械とする。
【００５８】
そして、振分機は、複数の処理機のいずれか１台を、ランダムにもしくはあらかじめ定めた順序で選択して、選択された処理機に転送し、当該処理機にサービスを提供させる。
【００５９】
本実施形態では、上記のような振分機、処理機のほか、統計機という情報処理装置を設ける。図５は、本実施形態のサーバ装置の概要構成を示す模式図である。
【００６０】
サーバ装置１０１は、振分機５０１、統計機５０２、複数の処理機５０３を備える。振分機５０１は、受付部１０２に相当し、処理機５０３は、応答部１０５に相当し、統計機５０２は、統計部１０３および計算部１０４に相当する。
【００６１】
振分機５０１は、サービス要求のパケットを受信すると、これに指定されている端末１５１のＩＰアドレスを統計機５０２に通知して、統計機５０２から当該ＩＰアドレスに対する優先度（当該ＩＰアドレスからのパケットを単位時間に受け付ける量。以下「帯域制限値」という。）を取得する。
【００６２】
そして、当該ＩＰアドレスからのパケットを最近の単位時間でどれだけの量を受け付けたかを調べ、これが帯域制限値より大きい場合には、当該端末１５１に対して、サービスを提供することができない旨の通知を直ちに行う。
【００６３】
一方、帯域制限値以下である（帯域制限にかからない）場合は、公知の技術通り、いずれかの処理機５０３を選択して、当該パケットを転送し、当該処理機５０３にサービスの提供をさせる。
【００６４】
したがって、振分機５０１としては、上記のようなＩＰアドレスごとの帯域制限ができるような専用の機器（ルータやファイアウォール、ゲートウェイ専用機）を採用しても良い。
【００６５】
一方、統計機５０２は、振分機５０１から端末１５１のＩＰアドレスが通知されるたびに、現在時刻と、当該ＩＰアドレスと、を、上記実施形態と同様に、統計として蓄積する。また、振分機５０１に直ちに優先度を通知できるようにするため、上記の情報を蓄積した後に、次に通知する優先度をあらかじめ計算しておく。
すなわち、端末１５１のＩＰアドレスが振分機５０１から通知されると、当該ＩＰアドレスに対してあらかじめ計算された優先度を端末１５１に通知してから、統計の蓄積を行い、次の優先度を求めるのである。
本実施形態は、複数の情報処理装置２０１によってサーバ装置１０１を実現する場合に特に好適であり、アクセス集中の際に混雑のためサービスが提供できない旨を通知するようなウェブサーバ装置に適用することができる。
【実施例３】
【００６６】
上記の実施形態では、統計情報として端末１５１のＩＰアドレス、および、サービス要求がされた時間帯を蓄積することとしていた。このため、実際にサービスを要求している端末１５１が、ダイヤルアップ接続・代理サーバ・ルータ・ファイアウォール・ゲートウェイ等を利用している場合には、当該統計情報は、端末１５１単体の統計情報ではなく、当該ＩＰアドレスを利用する端末群の統計情報となる。
【００６７】
しかしながら、このような場合であっても、これ以外の情報を統計情報として利用することによって、端末１５１の同定をさらに詳しく行うことができる。たとえば、以下のような情報をさらに利用することが可能である。
・利用しているＷＷＷブラウザの種類。HTTPプロトコルを利用している場合には、HTTP_USER_AGENTパラメータを参照することによって、この情報を知ることができる。
・要求パケットのブロックサイズ等のパラメータ。これらのパラメータとしては、ＭＲＵ値、ＭＴＵ値、ＲＷＩＮ値などが考えられる。これらのパラメータは、インターネット接続の最適化を行うツールなどを利用した場合に設定が変わるほか、ＯＳの種類やアプリケーションの種類によって既定値が異なることがあるため、端末が異なるとパラメータが異なることがある。
・要求するサービスの種類。いたずらを行うユーザは、同じサービスを頻繁に要求することによってサーバ装置１０１の動作を妨害することが多いためである。
【００６８】
このように、種々の統計情報を蓄積して、これらが同一であるものごとに分類を行うと、分類される端末群に含まれる端末の数は少なくなっていくことが期待される。いたずらを行うユーザは、同じ端末から同じいたずら用のアプリケーションを用いてサービス要求を行うことが多いため、これらの種々の統計情報が一致する。そして、いたずらを開始すると、特定の端末群のアクセス数のみが異常に多くなる傾向がある。
【００６９】
上記実施形態では、「最近の所定の期間の時間帯ごとのアクセス数」のベクトルと、「これまでに蓄積されている時間帯ごとの総アクセス数」のベクトルと、から、類似度を求めていた。
【００７０】
本実施形態では、たとえば、「最近の所定の期間のＭＲＵ値、ＭＴＵ値、ＲＷＩＮ値ごとのアクセス数」の３次元ベクトルと、「これまでに蓄積されているＭＲＵ値、ＭＴＵ値、ＲＷＩＮ値ごとの総アクセス数」の３次元ベクトルと、から、類似度を求めることができる。
【００７１】
また、これらの区分の分け方（ベクトルの次元数）は、上記のように蓄積する統計情報の種類によって、適宜変更することが可能である。
【００７２】
本実施形態によれば、いたずらをしていると予想される端末をより精細に分別することができ、当該端末に対するアクセス制限を適切に行うことができると期待される。
【実施例４】
【００７３】
上記実施形態では、端末や端末群を弁別するために、ＩＰアドレスを利用していたが、いわゆるクッキーの技術が利用できる場合には、これによって端末を同定して、端末ごとの統計をとることとしても良い。
【００７４】
すなわち、サーバ装置は、ブラウザを用いた端末からサービスの要求を受け付けると、当該端末のブラウザに対してクッキーという識別情報を送信する。端末のブラウザは、受信したクッキーを端末のハードディスク等の記憶装置に記憶する。
【００７５】
当該端末からの次回のサービス要求の際には、クッキーに保存された識別情報がサーバ装置に送信される。これによって、サーバ装置は、いずれの端末からのサービス要求か、を弁別することができる。
【００７６】
本実施形態では、クッキーによって、ユーザ単位で端末の弁別ができるため、同じＩＰアドレスを利用する悪意のユーザと善意のユーザがいる場合であっても、悪意のユーザを排除し、善意のユーザに対しては、通常通りサービス提供がされるようにすることができる。
【００７７】
本技術を適用する際は、クッキーが利用できるようにブラウザを設定しないと、サーバ装置からのサービスの提供が受けられないように、サービス提供の構成設定をすることが望ましい。
【実施例５】
【００７８】
上記実施形態では、類似度をベクトルのなす角から求めていた。すなわち、ベクトルのなす角θが小さければ小さいほど、すなわち、cosθが大きければ大きいほど、類似する、としていた。
【００７９】
この場合、ベクトルのなす角が小さい、ということは、これらのベクトルが略相似関係にある、ということを意味する。上記実施形態では時間帯あたりのアクセス数分布からベクトルとしていたが、ベクトルのなす角が小さい、ということは、各時間帯あたりのアクセス数分布の「１日のアクセス総数に対するそれぞれの割合」が同じ傾向を示している、ということを意味する。
【００８０】
しかし、各時間帯あたりのアクセス数分布の「１日のアクセス総数に対するそれぞれの割合」が同じ傾向であっても、「１日のアクセス総数」が増減することはありうる。この場合、「１日のアクセス総数」に応じて、これが多ければ（可能であれば）帯域制限を緩め、少なければ帯域制限をそのままにする、などの制御を行うことができる。
【００８１】
すなわち、統計として蓄積されたベクトルtiと、最近のアクセスの様子を表すベクトルaiと、の間で、まず非類似度θ（類似度180°-θ）を求め、これに応じて確率の閾値や帯域制限の値を求める。
【００８２】
次に、|ai|/|ti|から、どれだけベクトルの大きさが変化しているか、を調べる。そして、|ai|/|ti|が１より大きい場合は、確率の閾値や帯域制限の値を修正する。
【００８３】
すなわち、|ai|/|ti|が１より大きい場合は、アクセス数が全体として増加しているものと考えられるので、サーバ装置に対する現在のアクセス頻度やサービス提供の頻度とサーバ装置における負荷・回線の負荷とを対比する。そして、サーバ装置にさらにサービスを提供する余裕がある場合には、|ai|/|ti|が１より大きくなればなるほど、サービスを提供する確率が高くなるように、もしくは、帯域制限を緩くするように、これらの値を修正するのである。
【００８４】
サービスを提供する確率の上限は１であり、帯域制限の上限は当該サーバ装置に可能な情報提供速度や回線の性能によって決まるから、まず、類似度から求めた確率の閾値や帯域制限の値と、この上限との差を調べる。
【００８５】
一方、arctanは単調増加する関数で、その上限はπ/2であるから、arctan(|ai|/|ti|-1)を求め、得られた差にこの値を乗じてからπ/2で割れば、修正量を求めることができる。そして、この修正量を加算して、確率の閾値や帯域制限の値を修正する。
【００８６】
この場合、arctan以外にも、上限が定まっており、単調増加するような関数を別途用意して、これを用いて上記のような修正量の計算をすることも可能である。また、|ai|/|ti|を段階的に分類し、各段階について修正量をあらかじめ定めておき、修正量を加算した結果が上限を超えていたら修正後の値を当該上限にする、としても良い。
【００８７】
これによって、異常ではないと予想されるアクセスの総数が増加している場合には、サーバ負荷と帯域制限とを考慮して、サービスの提供がされる機会ができるだけ増えるようにすることができる。また、上記実施形態における善意のユーザに対するサービス提供の機会ができるだけ増えるようにすることができる。
【産業上の利用可能性】
【００８８】
以上説明したように、本発明によれば、端末からのサービスの要求に適切な優先度で応答するサーバ装置、サービス方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができ、ウェブサーバを用いた各種のサービス要求やユーザ登録などにおいて、繰返し要求を行ってこれを妨害するいたずらを防止したい場合などに適用することができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施形態の１つに係るサーバ装置が含まれるサービス提供システムの概要構成を示す説明図である。
【図２】本発明の実施形態の１つに係るサーバ装置が実現される典型的な情報処理装置の概要構成を示す説明図である。
【図３】実施形態の１つのサーバ装置の概要構成を示す模式図である。
【図４】実施形態の１つのサーバ装置にて実行されるサービス方法の制御の流れを示すフローチャートである。
【図５】他の実施形態のサーバ装置の概要構成を示す模式図である。
【符号の説明】
【００９０】
１０１  サーバ装置
１０２  受付部
１０３  統計部
１０４  計算部
１０５  応答部
１５１  端末
１７１  インターネット
２０１  情報処理装置
２０２  ＣＰＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  入力装置
２０６  表示装置
２０７  外部記憶装置
２０８  媒体読取装置
２０９  ＮＩＣ
５０１  振分機
５０２  統計機
５０３  処理機
【図１】
2005070941.tif 000003
【図２】
2005070941.tif 000004
【図３】
2005070941.tif 000005
【図４】
2005070941.tif 000006
【図５】
2005070941.tif 000007