(57)【要約】【課題】一部へのアクセス集中が周辺の処理に及ぼす影響を緩和することを目的とする。【解決手段】バスケットサーバ１０は、店舗を識別する店舗ＩＤ及び商品を識別する商品ＩＤのうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付部１２と、受け付けられたリクエスト情報に含まれる店舗ＩＤ及び商品ＩＤのうちの少なくとも一方をキーとして認定し、キー毎に受付回数をカウントするカウント部１５と、カウントされた受付回数が所定の閾値を超えた場合に、その受付回数に対応するキーを含むリクエスト情報の受付を遮断させるための処理を受付部１２に実行する遮断部１７と、を備える。【選択図】図２
2012027838.tif 000002
【特許請求の範囲】
【請求項１】
店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付手段と、
前記受付手段により受け付けられたリクエスト情報に含まれる前記店舗情報及び前記商品情報のうちの少なくとも一方を変数として認定し、前記変数毎に受付回数をカウントするカウント手段と、
前記カウント手段によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する前記変数を含む前記リクエスト情報の受付を遮断させる処理を前記受付手段に実行する遮断手段と、
を備えるアクセス管理サーバ。
【請求項２】
前記変数毎の受付回数をチェックリストとして記憶する記憶手段を更に備え、
前記カウント手段が、認定した変数の受付回数を加算することで前記チェックリストを更新し、
前記遮断手段が、前記カウント手段により更新されたチェックリストを参照して、前記カウントされた受付回数と前記閾値とを比較する、
請求項１に記載のアクセス管理サーバ。
【請求項３】
前記受付手段が前記リクエスト情報の受付を遮断する前記変数が、禁止リストとして前記記憶手段に更に記憶され、
前記遮断手段が、前記カウントされた受付回数が前記閾値を超えた前記変数を前記禁止リストに追加する、
請求項２に記載のアクセス管理サーバ。
【請求項４】
前記受付手段が、受け付けた前記リクエスト情報に基づいて認定した前記変数が前記禁止リスト内に存在する否かを判定し、前記禁止リスト内に存在する場合には、該リクエスト情報の受付を遮断する、
請求項３に記載のアクセス管理サーバ。
【請求項５】
所定の時間が経過した場合に、前記チェックリストの少なくとも一部の受付回数、または前記禁止リストの少なくとも一部の変数をクリアするクリア手段を更に備える、
請求項３又は４に記載のアクセス管理サーバ。
【請求項６】
前記受付手段により前記リクエスト情報の受付が遮断された場合に、該遮断が実行されたことを示すメッセージを生成して出力する出力手段を更に備える請求項１〜５のいずれか一項に記載のアクセス管理サーバ。
【請求項７】
ネットワークを介して互いに通信可能な端末及びアクセス管理サーバを備えるアクセス管理システムであって、
前記端末が、店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を送信し、
前記アクセス管理サーバが、
前記端末から送信されたリクエスト情報を受け付ける受付手段と、
前記受付手段により受け付けられたリクエスト情報に含まれる前記店舗情報及び前記商品情報のうちの少なくとも一方を変数として認定し、前記変数毎に受付回数をカウントするカウント手段と、
前記カウント手段によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する前記変数を含む前記リクエスト情報の受付を遮断させるための処理を前記受付手段に実行する遮断手段と、
を備える、
ことを特徴とするアクセス管理システム。
【請求項８】
コンピュータに、
店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付機能と、
前記受付機能により受け付けられたリクエスト情報に含まれる前記店舗情報及び前記商品情報のうちの少なくとも一方を変数として認定し、前記変数毎に受付回数をカウントするカウント機能と、
前記カウント機能によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する前記変数を含む前記リクエスト情報の受付を遮断させるための処理を前記受付機能に実行する遮断機能と、
を実現させるアクセス管理プログラム。
【請求項９】
コンピュータに、
店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付機能と、
前記受付機能により受け付けられたリクエスト情報に含まれる前記店舗情報及び前記商品情報のうちの少なくとも一方を変数として認定し、前記変数毎に受付回数をカウントするカウント機能と、
前記カウント機能によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する前記変数を含む前記リクエスト情報の受付を遮断させるための処理を前記受付機能に実行する遮断機能と、
を実現させるアクセス管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス管理サーバ、アクセス管理システム、アクセス管理プログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、ユーザがインターネットを介して商品を購入することのできる電子商取引システムが知られている。例えば下記特許文献１には、顧客が選択した商品の情報を買い物かご画面に表示させる手段を備える電子商取引システムが記載されている。
【０００３】
このような電子商取引システムでは、システムを構成するサーバの負荷を分散させる仕組み（例えばロードバランサ）が採用されることがある。例えば、リクエスト数やＩＰアドレスに基づいて負荷を分散させる手法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１２３０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したような負荷分散の仕組みではアクセスの集中に対応できない場合がある。例えば、特定の店舗又は商品にアクセスが集中した場合に、アクセスが集中していない他の店舗又は商品にまでその影響が及び、ユーザのリクエストに基づく当該他の店舗又は商品に関する購入処理が失敗する可能性がある。
【０００６】
そこで本発明は、一部へのアクセス集中が周辺の処理に及ぼす影響を緩和することが可能なアクセス管理サーバ、アクセス管理システム、アクセス管理プログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のアクセス管理サーバは、店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付手段と、受付手段により受け付けられたリクエスト情報に含まれる店舗情報及び商品情報のうちの少なくとも一方を変数として認定し、変数毎に受付回数をカウントするカウント手段と、カウント手段によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する変数を含むリクエスト情報の受付を遮断させる処理を受付手段に実行する遮断手段と、を備える。
【０００８】
本発明のアクセス管理システムは、ネットワークを介して互いに通信可能な端末及びアクセス管理サーバを備えるアクセス管理システムであって、端末が、店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を送信し、アクセス管理サーバが、端末から送信されたリクエスト情報を受け付ける受付手段と、受付手段により受け付けられたリクエスト情報に含まれる店舗情報及び商品情報のうちの少なくとも一方を変数として認定し、変数毎に受付回数をカウントするカウント手段と、カウント手段によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する変数を含むリクエスト情報の受付を遮断させるための処理を受付手段に実行する遮断手段と、を備える、ことを特徴とする。
【０００９】
本発明のアクセス管理プログラムは、コンピュータに、店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付機能と、受付機能により受け付けられたリクエスト情報に含まれる店舗情報及び商品情報のうちの少なくとも一方を変数として認定し、変数毎に受付回数をカウントするカウント機能と、カウント機能によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する変数を含むリクエスト情報の受付を遮断させるための処理を受付機能に実行する遮断機能と、を実現させる。
【００１０】
本発明のコンピュータ読み取り可能な記録媒体は、コンピュータに、店舗を識別する店舗情報及び商品を識別する商品情報のうちの少なくとも一方を含む、商品の購入に関するリクエスト情報を受け付ける受付機能と、受付機能により受け付けられたリクエスト情報に含まれる店舗情報及び商品情報のうちの少なくとも一方を変数として認定し、変数毎に受付回数をカウントするカウント機能と、カウント機能によりカウントされた受付回数が所定の閾値を超えた場合に、該受付回数に対応する変数を含むリクエスト情報の受付を遮断させるための処理を受付機能に実行する遮断機能と、を実現させるアクセス管理プログラムを記録している。
【００１１】
このような発明によれば、少なくとも店舗毎又は商品毎に受付回数がカウントされ、受付回数が閾値を超えた店舗又は商品の購入に関するリクエストの受付が遮断される。このように、アクセスの多い店舗又は商品への更なるアクセスを遮断して当該店舗又は商品への更なるアクセス集中を防止することで、一部へのアクセス集中が周辺の処理に及ぼす影響を緩和することができる。
【００１２】
本発明のアクセス管理サーバは、変数毎の受付回数をチェックリストとして記憶する記憶手段を更に備え、カウント手段が、認定した変数の受付回数を加算することでチェックリストを更新し、遮断手段が、カウント手段により更新されたチェックリストを参照して、カウントされた受付回数と閾値とを比較してもよい。
【００１３】
本発明のアクセス管理サーバでは、受付手段がリクエスト情報の受付を遮断する変数が、禁止リストとして記憶手段に更に記憶され、遮断手段が、カウントされた受付回数が閾値を超えた変数を禁止リストに追加してもよい。
【００１４】
本発明のアクセス管理サーバでは、受付手段が、受け付けたリクエスト情報に基づいて認定した変数が禁止リスト内に存在する否かを判定し、禁止リスト内に存在する場合には、該リクエスト情報の受付を遮断してもよい。
【００１５】
本発明のアクセス管理サーバは、所定の時間が経過した場合に、チェックリストの少なくとも一部の受付回数、または禁止リストの少なくとも一部の変数をクリアするクリア手段を更に備えてもよい。
【００１６】
受付回数を時間経過に応じてクリアした場合には、リクエスト受付の頻度の高低に応じて、受付を遮断するまでの期間を調整することができる。また、禁止リストの少なくとも一部の変数を時間経過に応じてクリアした場合には、遮断されていた変数を含むリクエスト情報を再び受け付けることが可能になる。
【００１７】
本発明のアクセス管理サーバでは、受付手段によりリクエスト情報の受付が遮断された場合に、該遮断が実行されたことを示すメッセージを生成して出力する出力手段を更に備えてもよい。
【００１８】
この場合には、受付の遮断の事実がメッセージとして出力されるので、例えばアクセス管理サーバの管理者などにその状況を伝えることができる。
【発明の効果】
【００１９】
このようなアクセス管理サーバ、アクセス管理システム、アクセス管理プログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体によれば、アクセスの多い店舗又は商品への更なるアクセスが遮断されて当該店舗又は商品への更なるアクセス集中が防止されるので、一部へのアクセス集中が周辺の処理に及ぼす影響を緩和することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る電子商取引システムの全体構成を示す図である。
【図２】図１に示すバスケットサーバの機能構成を示すブロック図である。
【図３】図１に示すバスケットサーバのハードウェア構成を示すブロック図である。
【図４】設定ファイルの構造及びデータ例を示す図である。
【図５】禁止リストの構造及びデータ例を示す図である。
【図６】チェックリストの生成過程の例を示す図である。
【図７】禁止リストの生成過程の例を示す図である。
【図８】アラートメールの例を示す図である。
【図９】図１に示すバスケットサーバの動作を示すフローチャートである。
【図１０】図９に示すリスト更新処理の詳細を示すフローチャートである。
【図１１】図９に示す拒否リクエスト処理の詳細を示すフローチャートである。
【図１２】実施形態に係る電子商取引プログラムの構成を示す図である。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。本実施形態では、本発明に係るアクセス管理システムを電子商取引システムに適用する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２２】
まず、図１〜８を用いて、実施形態に係る電子商取引システム１の機能及び構成を説明する。電子商取引システム１は、複数のオンラインショップを含んで構築される仮想商店街（ウェブサイト）を、商品を購入しようとするユーザに対して提供するためのコンピュータシステムである。この電子商取引システム１は、ユーザの端末Ｔと、通常処理系２及びセール処理系３という二つの処理系と、各種データを記憶するデータベースＤとを備えている。
【００２３】
クライアント側に位置する複数の端末Ｔと、サーバ側に位置する二つの処理系２，３とは、インターネットなどで構成されるネットワークＮにより接続されており、互いに通信可能である。二つの処理系２，３とデータベースＤとは、イントラネットなどにより接続されており、互いに通信可能である。端末Ｔとしては、例えば据置型又は携帯型のパーソナルコンピュータや携帯電話機などが挙げられるが、端末の種類はなんら限定されない。
【００２４】
通常処理系２は、商品の購入に関するリクエスト情報を端末Ｔから受信し、そのリクエスト情報に基づいて通常期における商品購入処理を実行するシステムである。この通常期とは、例えば、バーゲンセールやタイムセールといったイベントが開催されていない時期を示すものとする。セール処理系３も通常処理系２と同様に商品購入処理を実行するが、その対象がタイムセール時の商品購入処理であるという点で通常処理系２とは異なる。例えば、セール処理系３は、仮想商店街の全体又は一部において商品の値下げが行われた際のアクセス増に対して負荷分散を実現するために設けられている。
【００２５】
図１に示した処理系２，３は、端末Ｔに対するインタフェース（例えば買い物かごページや注文ページなどの各種ウェブページ）を提供するウェブシステム４と、商品購入に関するデータ処理（例えば商品検索や決済処理、配送手続処理など。バックエンド側の処理ともいえる）を実行するアプリケーションシステム５とで構成されている。
【００２６】
ウェブシステム４は複数のロードバランサ４ａと複数のウェブサーバ４ｂとにより構成されている。ロードバランサ４ａは、リクエスト情報の処理が特定のウェブサーバ４ｂに偏らないように、端末Ｔから受信したリクエストを各ウェブサーバ４ｂに振り分ける受信装置である。ウェブサーバ４ｂは、受信したリクエスト情報についてのデータ処理をアプリケーションシステム５に要求し、その要求に応じてアプリケーションシステム５から送られてきたデータを用いてウェブページを生成し、そのウェブページを端末Ｔに送信するコンピュータである。
【００２７】
アプリケーションシステム５は複数のバスケットサーバ１０により構成されている。各バスケットサーバ１０は、ウェブシステム４から転送されてきたリクエスト情報に基づいてデータベースＤから必要なデータを抽出したり、各種演算処理を行ったりした上で、商品購入に関する処理結果をウェブサーバ４ｂに返すコンピュータである。
【００２８】
なお、各処理系におけるロードバランサ４ａ、ウェブサーバ４ｂ、バスケットサーバ１０の台数は限定されず、必ずしも複数存在しなくてもよい。また、二つの処理系２，３の間でロードバランサ４ａ、ウェブサーバ４ｂ、バスケットサーバ１０の台数が異なっていてもよい。さらに、本実施形態では二つの処理系２，３を示しているが、処理系の数もなんら限定されず、１でもよいし３以上でもよい。
【００２９】
データベースＤは、仮想店舗に関する店舗データや、その仮想店舗が取り扱う商品に関する商品データ、ユーザに関するユーザデータ、特定のユーザが特定の商品を購入したことを示す購入データなどを記憶する装置である。
【００３０】
店舗データには、店舗を特定するための店舗ＩＤや、店舗名、決済方法のリスト、配送方法のリストなどが含まれる。商品データには、商品を特定するための商品ＩＤや、商品の名称、サイズ、色、単価、ＪＡＮコードなどが含まれる。ユーザデータには、ユーザを特定するためのユーザＩＤや、ユーザの名前、住所、電話番号、パスワードなどが含まれる。購入データには、購入ユーザのユーザＩＤ、購入商品の商品ＩＤ、購入数、選択された決済方法及び配送方法などが含まれる。
【００３１】
なお、データベースＤが記憶するデータの種類や各データの構成は上記のものに限定されない。
【００３２】
本実施形態では、本発明に係るアクセス管理サーバをバスケットサーバ１０に適用する。したがって、以下ではバスケットサーバ１０の機能構成について説明する。
【００３３】
バスケットサーバ１０は、上述したようにリクエスト情報についてのデータ処理を実行するが、そのデータ処理に先立ってリクエスト情報の受付状況を監視し、リクエスト情報に含まれる情報に基づいて特定のリクエスト情報の受付を遮断する。この制御は、ある特定のリクエストの処理によりバスケットサーバ１０の負荷が増大して、他のリクエストの処理が遅延又は失敗することを未然に防ぐために行われる。以下では、このようなリクエスト遮断機能をアクセスフィルタ機能ともいう。このような処理（機能）を実現するために、バスケットサーバ１０は、図２に示すように、機能的構成要素として設定ファイル記憶部１１、受付部（受付手段）１２、禁止リスト記憶部（記憶手段）１３、受付リクエスト処理部１４、カウント部（カウント手段）１５、チェックリスト記憶部（記憶手段）１６、遮断部（遮断手段）１７、チェックリストクリア部（クリア手段）１８、禁止リストクリア部（クリア手段）１９、及び拒否リクエスト処理部（出力手段）２０を備えている。
【００３４】
このバスケットサーバ１０は、図３に示すように、オペレーティングシステムやアプリケーション・プログラムなどを実行するＣＰＵ１０１と、ＲＯＭ及びＲＡＭで構成される主記憶部１０２と、ハードディスクなどで構成される補助記憶部１０３と、ネットワークカードなどで構成される通信制御部１０４と、キーボードやマウスなどの入力部１０５と、モニタなどの出力部１０６とで構成される。
【００３５】
図２に示すバスケットサーバ１０の各機能は、ＣＰＵ１０１や主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４や入力部１０５、出力部１０６などを動作させ、主記憶部１０２や補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部１０２や補助記憶部１０３内に格納される。
【００３６】
図２に戻って、設定ファイル記憶部１１は、アクセスフィルタ機能を制御するためのパラメータが記述された設定ファイルを記憶している手段である。設定ファイルは、電子商取引システム１の管理者により予め作成され、この設定ファイル記憶部１１に格納される。
【００３７】
設定ファイルの構造及びデータ例を図４に示す。図４には三種類の設定ファイルＦａ，Ｆｂ，Ｆｃが示されている。設定ファイルの構造自体は共通であり、利用フラグ、キー、１インターバルあたりのアクセス制限数、リダイレクト先ＵＲＬ、インターバル、リクエスト保持サイズ、及びリダイレクトフラグが互いに関連付けられた１以上のフィールドで構成されている。
【００３８】
フィールドの各項目について説明する。利用フラグは、当該設定ファイルを用いたアクセスフィルタ機能を行うか否かを示す項目であって、「利用する（ｔｒｕｅ）」又は「利用しない（ｆａｌｓｅ）」で示される。このフラグが「利用する（ｔｒｕｅ）」と設定されている場合のみ、対応するキーを用いたアクセスフィルタ機能が実行される。
【００３９】
キーは、端末Ｔから送られてきたリクエスト情報に対してアクセスフィルタ機能を適用するか否かを判定するために用いる変数（パラメータ）を示す項目である。設定ファイルはこのキーの種類の分だけ用意され、各設定ファイルには１以上のキーに関するフィールドが設定される。図３に示すように、本実施形態では、店舗ＩＤをキーとする設定ファイルＦａと、店舗ＩＤ及び商品ＩＤを連結して成る文字列（以下では「店舗ＩＤ＋商品ＩＤ」とも表す）をキーとする設定ファイルＦｂと、商品ＩＤをキーとする設定ファイルＦｃとが用意されている。設定ファイルＦｂにおいて値の例として挙げている「１２３４５６７８９」は、店舗ＩＤ「１２３４」と商品ＩＤ「５６７８９」とが連結された文字列であることを示している。
【００４０】
アクセス制限数は、一つのキーについての１インターバルあたりの許容アクセス数、すなわち、ある一つのキーについて１インターバルにおいて受付部１２が受付可能なリクエスト情報の個数である。
【００４１】
リダイレクト先ＵＲＬは、受付部１２により受付を拒否されたリクエスト情報の転送先を示すＵＲＬである。
【００４２】
インターバルは、一つのキーについてアクセス数をカウントする単位時間である。
【００４３】
リクエスト保持サイズは、当該設定ファイルに基づいてアクセスが監視されるキーの個数である。
【００４４】
リダイレクトフラグは、上記リダイレクト先ＵＲＬへの転送を実行するか否かを示す項目であって、「利用する（ｔｒｕｅ）」又は「利用しない（ｆａｌｓｅ）」で示される。このフラグが「利用する（ｔｒｕｅ）」と設定されている場合のみ、リダイレクト先ＵＲＬへの転送が実行される。
【００４５】
上記各項目の値は、設定ファイル毎またはキー毎に変えてもよいし、同じにしてもよい。ただし、リクエスト保持サイズは設定ファイル内で共通の値である。
【００４６】
受付部１２は、ウェブシステム４から転送されてきたリクエスト情報を受け付ける手段である。このリクエスト情報には、後述する受付リクエスト処理部１４において必要な各種データが含まれている。
【００４７】
本明細書において、「リクエスト情報を受け付ける」とは、リクエスト情報を単に受信することではなく、商品購入に関する通常のデータ処理を実行するために、受信したリクエスト情報を受付リクエスト処理部１４に出力することを意味する。このような受付処理を実行するために、受付部１２は禁止リスト記憶部１３に記憶されている禁止リストを参照する。
【００４８】
禁止リストは、受付を拒否するリクエスト情報を特定するために用いられるテーブルであり、後述する遮断部１７により生成され禁止リスト記憶部１３に格納される。禁止リストは、キー及び登録日時で構成される一以上のフィールドを含む。登録日時はフィールドが生成された日時であり、インターバルの起算点となる。図５に示す禁止リストＬｐには、店舗ＩＤをキーとするフィールドのみを記載しているが、当然ながら、店舗ＩＤ＋商品ＩＤ、又は商品ＩＤをキーとするフィールドを含む禁止リストＬｐも存在し得る。
【００４９】
まず、受付部１２は、例えば図４に示した設定ファイルを参照して、受信したリクエスト情報にアクセスフィルタ機能の対象となるキー（利用フラグが「ｔｒｕｅ」である店舗ＩＤ、店舗ＩＤ＋商品ＩＤ、又は商品ＩＤ）が含まれているか否かを判定する。そのようなキーが含まれていなければ、受付部１２はリクエスト情報を受付リクエスト処理部１４に出力する。
【００５０】
一方、そのようなキーが含まれていた場合には、受付部１２は禁止リストを参照してそのキーが当該リストに登録されているか否かを判定する。抽出したキーが禁止リストに登録されていない場合には、受付部１２は受信したリクエスト情報を受付リクエスト処理部１４に出力することで当該リクエスト情報を受け付ける。また、受付部１２は受信したリクエスト情報をカウント部１５に出力する。これに対して、キーが禁止リストに登録されている場合には、受付部１２は受信したリクエスト情報を拒否リクエスト処理部２０に出力することで、当該リクエスト情報の受付を遮断する。
【００５１】
受付リクエスト処理部１４は、受け付けられたリクエスト情報に基づいて、商品購入に関する通常処理を実行する手段である。通常処理としては、ユーザにより選択された商品を買い物かごに追加する処理や、選択された決済方法及び配送方法を決定する処理、注文を最終的に確定する処理などがある。受付リクエスト処理部１４は、リクエスト情報に基づいてデータベースＤから各種データを抽出したり、所定の演算を実行したりすることで、そのリクエスト情報に対する処理結果を生成する。そして、受付リクエスト処理部１４はその処理結果をウェブサーバ４ｂに送信する。
【００５２】
カウント部１５は、入力されたリクエスト情報に含まれる店舗情報及び商品情報のうちの少なくとも一方をキーとして認定し、キー毎に受付回数をカウントする手段である。
【００５３】
カウント部１５は予め（例えばバスケットサーバ１０の起動時に）設定ファイル記憶部１１から設定ファイルを読出し保持しておく。
【００５４】
そして、受付部１２からリクエスト情報が入力されると、カウント部１５はその情報に店舗ＩＤあるいは商品ＩＤが含まれているかを判定し、その判定結果と、保持している設定ファイルとを比較してキーを認定する。
【００５５】
具体的には、リクエスト情報に店舗ＩＤのみが含まれており、その店舗ＩＤが利用フラグ「ｔｒｕｅ」のキーとして設定ファイルＦａに登録されていれば、カウント部１５はその店舗ＩＤをキーとして認定する。
【００５６】
また、リクエスト情報に店舗ＩＤ及び商品ＩＤが含まれており、その店舗ＩＤ及び商品ＩＤを連結して成る文字列が利用フラグ「ｔｒｕｅ」のキーとして設定ファイルＦｂに登録されていれば、カウント部１５はその文字列（店舗ＩＤ＋商品ＩＤ）をキーとして認定する。このときカウント部１５は、店舗ＩＤ単独と設定ファイルＦａとを同様に比較して店舗ＩＤをキーとして認定したり、商品ＩＤ単独と設定ファイルＦｃとを同様に比較して商品ＩＤをキーとして認定したりする場合もある。
【００５７】
また、リクエスト情報に商品ＩＤのみが含まれており、その商品ＩＤが利用フラグ「ｔｒｕｅ」のキーとして設定ファイルＦｃに登録されていれば、カウント部１５はその商品ＩＤをキーとして認定する。
【００５８】
このようにキーを認定した後に、カウント部１５はそのキーの受付回数を示すカウンタに１を加算する。このカウンタを保持するために、カウント部１５はチェックリストを用いる。チェックリストは認定されたキーの受付回数を記録するためのテーブルであり、キー、カウンタ（受付回数）、閾値、及び登録日時で構成される一以上のフィールドを含む。閾値には、キーに対応する設定ファイル内のアクセス制限数が設定される。登録日時は、フィールドが生成された日時であり、設定ファイルに記述されているインターバルの起算点となる。カウント部１５はこのチェックリストをチェックリスト記憶部１６に格納し管理する。
【００５９】
チェックリストを用いたカウンタの記録方法について図６の例を用いて説明する。チェックリストＬｃの初期状態は、フィールドが一つも記録されていない空の状態である。このときに店舗ＩＤ「００１０」をキーとして認定すると、カウント部１５はキー「００１０」、カウンタ「１」、閾値「（例えば）２０」、及び登録日時「（例えば）２０１０／６／１  １３：００」から成るフィールドＲ１をチェックリストＬｃに追加する。次に入力されたリクエスト情報に店舗ＩＤ「００２０」が含まれていれば、カウント部１５はキー「００２０」、カウンタ「１」、閾値「（例えば）２０」、及び登録日時「（例えば）２０１０／６／１  １３：１０」から成るフィールドＲ２をチェックリストＬｃに追加する。次に入力されたリクエスト情報に店舗ＩＤ「００１０」が含まれていれば、カウント部１５はその店舗ＩＤに対応するフィールドＲ１のカウンタを「２」に更新する。
【００６０】
このように、カウント部１５はチェックリストにフィールドを追加または更新していく。チェックリストに登録できるキーの個数は設定ファイルのリクエスト保持サイズに従うので、図４の例に従えば、カウント部１５はキーを店舗ＩＤとするチェックリストに２０個までのフィールドを登録できる。このときに２１番目の店舗ＩＤがキーとして認定されたならば、カウント部１５はＬＦＵ（Least Frequently Used）方式により、一のフィールドを削除し、２１番目の店舗ＩＤについてのフィールドを登録する。
【００６１】
カウント部１５は、キーが「店舗ＩＤ＋商品ＩＤ」又は商品ＩＤの場合についても、図６に示すようにチェックリストを更新する。
【００６２】
カウント部１５は、以上のようにカウンタを更新した後に、更新処理を行ったキーを遮断部１７に出力する。
【００６３】
遮断部１７は、カウントされた受付回数が所定の閾値を超えた場合に、その受付回数に対応するキーを含むリクエスト情報の受付を遮断させるための処理を受付部１２に対して実行する手段である。
【００６４】
遮断部１７は、入力されたキーに対応するチェックリストのフィールドをチェックリスト記憶部１６から読み出し、そのキーのカウンタが閾値を超えているか否かを検査する。そして、カウンタが閾値を超えていれば、遮断部１７は入力されたキーについてのフィールドを禁止リスト記憶部１３内の禁止リストに追加する。
【００６５】
禁止リストの生成について図７を用いて説明する。ここでは、チェックリストＬｃに４フィールド存在し、キー「０００５」のカウンタのみが閾値を超えているので、禁止リストＬｐにはそのキー「０００５」に関するフィールドのみが登録されていることを前提とする。その後、キー「００２０」のカウンタが１だけ増分されて閾値を超えると、遮断部１７はキー「００２０」に関するフィールドを禁止リストＬｐに追加する。
【００６６】
遮断部１７により更新された最新の禁止リストはその後受付部１２により参照され、アクセス情報を受け付けるか否かの判定基準となる。したがって、このような禁止リストの更新処理は、リクエスト情報の受付を遮断させるための処理を受付部１２に実行させる処理であるといえる。
【００６７】
チェックリストクリア部１８は、チェックリストの全体または一部のフィールドをクリアする部分である。チェックリストクリア部１８はチェックリスト記憶部１６内のチェックリストを監視し、登録日時から、キーに対応するインターバルの期間が経過したフィールドを削除するか、又はそのフィールドのカウンタを０に更新する。なお、このインターバルは設定ファイルを参照することで得られる。このクリア処理により、処理されたキーが禁止リストに登録されるまでの期間が事実上延長されることになる。
【００６８】
禁止リストクリア部１９は、禁止リストの全体または一部のフィールドをクリアする部分である。禁止リストクリア部１９は禁止リスト記憶部１３内の禁止リストを監視し、登録日時から所定のインターバル期間が経過したフィールドを削除する。なお、このインターバル期間は、設定ファイルに記述されている、キーに対応するインターバルであってもよいし、これとは別にキー毎、キーの種類毎、あるいは一律に設定された別の期間であってもよい。このクリア処理により、処理されたキーを含むリクエスト情報が再び受付可能な状態になる。
【００６９】
拒否リクエスト処理部２０は、受付を遮断されたリクエスト情報に対する処理を実行する手段である。
【００７０】
拒否リクエスト処理部２０は、入力されたリクエスト情報からキーを抽出し、そのキーに対応する設定ファイルを設定ファイル記憶部１１から読み出す。続いて、拒否リクエスト処理部２０はそのキーに対応するアクセス制限数（チェックリストにおける閾値）を設定ファイルから取得し、キーやアクセス制限数、現在日時、バスケットサーバ１０を特定するサーバＩＤ（例えば、ホスト名及びドメイン名から成る情報）などを含むアラートメール（メッセージ）を生成する。そして、拒否リクエスト処理部２０はそのメールを、電子商取引システム１の管理者の端末（図示せず）に送信する。
【００７１】
例えば、拒否リクエスト処理部２０は図８に示すようなアラートメールを生成する。図８のメール本文は、５月２０日２０時４０分４５秒に、店舗ＩＤ「０１０１」及び商品ＩＤ「９８７６５」を含むリクエスト情報の受付が遮断されたことを示している。また、このメールは、ホスト名が「server01.abcd.co.jp」であるバスケットサーバ１０で実行されていたインスタンス「ghijk00xyz11」を処理している際に遮断処理が行われたことも示している。このメールにおける「２５」という数値は、キー「０１０１９８７６５」の１インターバルあたりのアクセス制限数を表している。
【００７２】
このようなメールにより、その管理者は特定のキーに対してアクセスフィルタ機能が働いたことを知ることができる。
【００７３】
更に拒否リクエスト処理部２０は、抽出したキーに対応するリダイレクトフラグを設定ファイルから取得し、そのフラグが「（利用する）ｔｒｕｅ」であれば、対応するリダイレクト先ＵＲＬを設定ファイルから取得する。このようにしてリダイレクト先ＵＲＬを取得できた場合には、拒否リクエスト処理部２０はそのＵＲＬにリダイレクト情報を送ることで、リダイレクト先の所定のシステム（図示せず）に後の処理を委ねる。後処理としては、例えば買い物を中止させるための例外処理があるが、後処理の内容はなんら限定されない。一方、リダイレクト先ＵＲＬを取得できなかった場合には、拒否リクエスト処理部２０はそのリクエスト情報を受付リクエスト処理部１４に転送することで通常処理を実行させる。
【００７４】
次に、図９〜１１を用いて、図１に示すバスケットサーバ１０の動作を説明するとともに本実施形態に係るアクセス管理方法について説明する。以下では、リクエスト情報にキーに相当するデータが含まれている場合について説明する。
【００７５】
まず、受付部１２が、受信したリクエスト情報からキーを抽出し（ステップＳ１１）、そのキーが禁止リストに登録されているか否かを判定する（ステップＳ１２）。キーが禁止リストに登録されていなければ（ステップＳ１２；ＮＯ）、受付リクエスト処理部１４がリクエスト情報に基づいて上記のような通常処理を実行し、これにより、ユーザは仮想商店街で買い物を続けることができる（ステップＳ１３）。また、チェックリスト及び禁止リストを更新する処理が実行される（ステップＳ１４）。以上に対して、キーが禁止リストに登録されている場合には（ステップＳ１２；ＹＥＳ）、拒否リクエスト処理部２０によりリクエスト情報が処理される（ステップＳ１５）。
【００７６】
リスト更新処理は図１０のように実行される。まず、カウント部１５がリクエスト情報内のキーが設定ファイルに登録されているか否かを判定し、登録されているならば（ステップＳ１４１；ＹＥＳ）、そのキーに対応するカウンタを１だけ増分する（カウンタに１を加算する）ことで、チェックリストを更新する（ステップＳ１４２）。続いて、遮断部１７が、更新後のカウンタと、それに対応する閾値とを比較し、カウンタが閾値よりも大きければ（ステップＳ１４３；ＹＥＳ）、そのキーを禁止リストに登録する（ステップＳ１４４）。以上に対して、キーが設定ファイルに登録されていない場合（ステップＳ１４１；ＮＯ）、又はカウンタが閾値以下である場合（ステップＳ１４３；ＮＯ）には、二種類のリストに対する更新は行われない。
【００７７】
拒否リクエストの処理は図１１のように実行される。まず、拒否リクエスト処理部２０が、リクエスト情報の受付が遮断されたことを示すアラートメールを生成して送信する（ステップＳ１５１）。続いて、拒否リクエスト処理部２０は、設定ファイルを用いて、そのリクエスト情報のキーに対応する、利用可能なリダイレクト先ＵＲＬが設定されているか否かを判定する（ステップＳ１５２）。そして、リダイレクト先ＵＲＬが設定されているようであれば（ステップＳ１５２；ＹＥＳ）、拒否リクエスト処理部２０はリクエスト情報をそのＵＲＬに向けて送ることで処理をリダイレクト先に遷移させる（ステップＳ１５３）。一方、リダイレクト先ＵＲＬが設定されていなければ（ステップＳ１５２；ＮＯ）、拒否リクエスト処理部２０はそのリクエスト情報を受付リクエスト処理部１４に転送することで通常処理を実行させる（ステップＳ１５４）。
【００７８】
次に、図１２を用いて、コンピュータをバスケットサーバ１０として機能させるための電子商取引プログラム（アクセス管理プログラム）を説明する。
【００７９】
電子商取引プログラムＰ１は、メインモジュールＰ１０、設定ファイル記憶モジュールＰ１１、受付モジュールＰ１２、禁止リスト記憶モジュールＰ１３、受付リクエスト処理モジュールＰ１４、カウントモジュールＰ１５、チェックリスト記憶モジュールＰ１６、遮断モジュールＰ１７、チェックリストクリアモジュールＰ１８、禁止リストクリアモジュールＰ１９、及び拒否リクエスト処理モジュールＰ２０を備えている。
【００８０】
メインモジュールＰ１０は、アクセス管理を含む電子商取引処理を統括的に制御する部分である。設定ファイル記憶モジュールＰ１１、受付モジュールＰ１２、禁止リスト記憶モジュールＰ１３、受付リクエスト処理モジュールＰ１４、カウントモジュールＰ１５、チェックリスト記憶モジュールＰ１６、遮断モジュールＰ１７、チェックリストクリアモジュールＰ１８、禁止リストクリアモジュールＰ１９、及び拒否リクエスト処理モジュールＰ２０を実行することにより実現される機能はそれぞれ、バスケットサーバ１０の設定ファイル記憶部１１、受付部１２、禁止リスト記憶部１３、受付リクエスト処理部１４、カウント部１５、チェックリスト記憶部１６、遮断部１７、チェックリストクリア部１８、禁止リストクリア部１９、及び拒否リクエスト処理部２０の機能と同様である。
【００８１】
電子商取引プログラムＰ１は、例えば、ＣＤ−ＲＯＭやＤＶＤ、ＲＯＭ等の記録媒体または半導体メモリに記録された態様で提供される。また、電子商取引プログラムＰ１は、搬送波に重畳されたコンピュータデータ信号として通信ネットワークを介して提供されてもよい。
【００８２】
以上説明したように、本実施形態によれば、少なくとも店舗毎又は商品毎に受付回数がカウントされ、受付回数（カウンタ）が閾値を超えた店舗又は商品の購入に関するリクエストの受付が遮断される。このように、アクセスの多い店舗又は商品への更なるアクセスを遮断して当該店舗又は商品への更なるアクセス集中を防止することで、一部へのアクセス集中が周辺の処理に及ぼす影響を緩和することができる。
【００８３】
例えば、特定の店舗や商品にアクセスが集中した場合や、商品が売れ切れた場合には、その店舗あるいは商品のみならず、システム全体の処理に負荷が掛かってしまう。そうすると、アクセスが集中していない店舗または商品に関する購入処理も、そのアクセス集中の影響で滞ってしまう。しかし、本実施形態では、店舗ＩＤ及び商品ＩＤのうち少なくとも一方を含む変数（パラメータ）を用いてシステム全体における負荷の増大を未然に防ぐので、ユーザは、アクセスが集中していない店舗または商品について買い物をすることができる。
【００８４】
また、本実施形態によれば、店舗毎あるいは商品毎にアクセスフィルタ機能を実行するので、ロードバランサ４ａやウェブサーバ４ｂの機能のみを利用する場合よりもきめ細かいアクセス制御を実現できる。
【００８５】
また、本実施形態によれば、受付回数（カウンタ）がインターバル期間に応じてクリアされるので、リクエスト受付の頻度の高低に応じて、受付を遮断するまでの期間を調整することができる。例えば、あるキーについて、一時的なアクセス集中により閾値に近い値までカウンタが増え、その後アクセス頻度が低下したような場合に、そのキーが禁止リストに登録される時期を先に延ばすことができる。
【００８６】
また、本実施形態によれば、禁止リストの少なくとも一部のキーがインターバル期間に応じてクリアされるので、遮断されていたキーを含むリクエスト情報を再び受け付けることが可能になる。
【００８７】
また、本実施形態によれば、受付の遮断の事実がアラートメールとして出力されるので、例えば電子商取引システム１の管理者などにその状況を伝えることができる。
【００８８】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００８９】
上記実施形態におけるアラートメールの機能は省略してもよい。また、リクエストの受付の遮断を出力する方法やその出力先は限定されない。
【００９０】
上記実施形態では電子商取引システムに本発明を適用したが、本発明の適用分野はこれに限定されない。例えば、不正ログインを検知するシステムに本発明を適用可能である。具体的には、ログインＩＤをキーとして認定してそのアクセス回数をカウントし、カウント値が閾値を超えたログインＩＤのアクセスを拒否するようにシステムを構成すればよい。
【符号の説明】
【００９１】
１…電子商取引システム（アクセス管理システム）、２…通常処理系、３…セール処理系、４…ウェブシステム、４ａ…ロードバランサ、４ｂ…ウェブサーバ、５…アプリケーションシステム、１０…バスケットサーバ（アクセス管理サーバ）、１１…設定ファイル記憶部、１２…受付部（受付手段）、１３…禁止リスト記憶部（記憶手段）、１４…受付リクエスト処理部、１５…カウント部（カウント手段）、１６…チェックリスト記憶部（記憶手段）、１７…遮断部（遮断手段）、１８…チェックリストクリア部（クリア手段）、１９…禁止リストクリア部（クリア手段）、２０…拒否リクエスト処理部（出力手段）、Ｄ…データベース、Ｌｃ…チェックリスト、Ｌｐ…禁止リスト、Ｐ１…電子商取引プログラム（アクセス管理プログラム）、Ｐ１０…メインモジュール、Ｐ１１…設定ファイル記憶モジュール、Ｐ１２…受付モジュール、Ｐ１３…禁止リスト記憶モジュール、Ｐ１４…受付リクエスト処理モジュール、Ｐ１５…カウントモジュール、Ｐ１６…チェックリスト記憶モジュール、Ｐ１７…遮断モジュール、Ｐ１８…チェックリストクリアモジュール、Ｐ１９…禁止リストクリアモジュール、Ｐ２０…拒否リクエスト処理モジュール、Ｔ…端末。
【図１】
2012027838.tif 000003
【図２】
2012027838.tif 000004
【図３】
2012027838.tif 000005
【図４】
2012027838.tif 000006
【図５】
2012027838.tif 000007
【図６】
2012027838.tif 000008
【図７】
2012027838.tif 000009
【図８】
2012027838.tif 000010
【図９】
2012027838.tif 000011
【図１０】
2012027838.tif 000012
【図１１】
2012027838.tif 000013
【図１２】
2012027838.tif 000014