(58)【調査した分野】(Int.Cl.,DB名)
複数のユーザ端末と各ユーザ端末にウェブページを配信するウェブサーバとの間で送受信されるパケットを収集して保存するパケットキャプチャ装置から、個別のユーザ端末と前記ウェブサーバとの通信を識別するための通信識別情報を含むパケット群であって、ウェブページの送受信のために用いられるHTTP(ハイパーテキスト転送プロトコル)メッセージを載せたパケット群を順次取得し、取得したパケット群から当該HTTPメッセージを処理装置により復元するメッセージ復元部と、
個別のユーザを識別するためのユーザ識別情報を含むHTTPメッセージであって、認証を要求するために前記ウェブサーバへ送信されたHTTPメッセージである第1メッセージが前記メッセージ復元部により復元された場合、前記第1メッセージに含まれるユーザ識別情報を処理装置により取得する情報取得部と、
前記第1メッセージによって要求された認証の成功を通知するために前記ウェブサーバから送信されたHTTPメッセージが前記メッセージ復元部により復元された場合、前記メッセージ復元部が前記第1メッセージを復元する元となったパケット群に含まれる通信識別情報を処理装置により取得し、取得した通信識別情報と前記情報取得部により取得されたユーザ識別情報とを対応付けて記憶装置に格納する情報格納部と、
前記情報格納部により格納されたユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログを記憶装置に格納するアクセスログ格納部と、
前記情報格納部により格納された通信識別情報と同じ通信識別情報を含むパケット群から、ウェブページへのアクセスを要求するために前記ウェブサーバへ送信されたHTTPメッセージである第2メッセージが前記メッセージ復元部により復元された場合、前記情報格納部により当該通信識別情報と対応付けて格納されたユーザ識別情報に対応する、前記アクセスログ格納部により格納されたアクセスログに、前記第2メッセージによって要求されたウェブページへのアクセスを示すアクセス情報を処理装置により記録するアクセス情報記録部と
を備えることを特徴とするアクセス解析装置。
前記アクセス情報記録部は、前記第1メッセージより前に前記ウェブサーバへ送信されたHTTPメッセージと、前記第1メッセージより後に前記ウェブサーバへ送信されたHTTPメッセージとの両方について、前記第2メッセージに該当するHTTPメッセージを処理対象とすることを特徴とする請求項1のアクセス解析装置。
コンピュータの処理装置が、複数のユーザ端末と各ユーザ端末にウェブページを配信するウェブサーバとの間で送受信されるパケットを収集して保存するパケットキャプチャ装置から、個別のユーザ端末と前記ウェブサーバとの通信を識別するための通信識別情報を含むパケット群であって、ウェブページの送受信のために用いられるHTTP(ハイパーテキスト転送プロトコル)メッセージを載せたパケット群を順次取得し、取得したパケット群から当該HTTPメッセージを復元し、
コンピュータの処理装置が、個別のユーザを識別するためのユーザ識別情報を含むHTTPメッセージであって、認証を要求するために前記ウェブサーバへ送信されたHTTPメッセージである第1メッセージを復元した場合、前記第1メッセージに含まれるユーザ識別情報を取得し、
コンピュータの処理装置が、前記第1メッセージによって要求された認証の成功を通知するために前記ウェブサーバから送信されたHTTPメッセージを復元した場合、前記第1メッセージを復元する元となったパケット群に含まれる通信識別情報を取得し、コンピュータの記憶装置が、取得された通信識別情報とユーザ識別情報とを対応付けて格納し、
コンピュータの記憶装置が、格納したユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログを格納し、
コンピュータの処理装置が、格納された通信識別情報と同じ通信識別情報を含むパケット群から、ウェブページへのアクセスを要求するために前記ウェブサーバへ送信されたHTTPメッセージである第2メッセージを復元した場合、当該通信識別情報と対応付けて格納されたユーザ識別情報に対応するアクセスログに、前記第2メッセージによって要求されたウェブページへのアクセスを示すアクセス情報を記録する
ことを特徴とするアクセス解析方法。
複数のユーザ端末と各ユーザ端末にウェブページを配信するウェブサーバとの間で送受信されるパケットを収集して保存するパケットキャプチャ装置から、個別のユーザ端末と前記ウェブサーバとの通信を識別するための通信識別情報を含むパケット群であって、ウェブページの送受信のために用いられるHTTP(ハイパーテキスト転送プロトコル)メッセージを載せたパケット群を順次取得し、取得したパケット群から当該HTTPメッセージを処理装置により復元するメッセージ復元処理と、
個別のユーザを識別するためのユーザ識別情報を含むHTTPメッセージであって、認証を要求するために前記ウェブサーバへ送信されたHTTPメッセージである第1メッセージが前記メッセージ復元処理により復元された場合、前記第1メッセージに含まれるユーザ識別情報を処理装置により取得する情報取得処理と、
前記第1メッセージによって要求された認証の成功を通知するために前記ウェブサーバから送信されたHTTPメッセージが前記メッセージ復元処理により復元された場合、前記メッセージ復元処理が前記第1メッセージを復元する元となったパケット群に含まれる通信識別情報を処理装置により取得し、取得した通信識別情報と前記情報取得処理により取得されたユーザ識別情報とを対応付けて記憶装置に格納する情報格納処理と、
前記情報格納処理により格納されたユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログを記憶装置に格納するアクセスログ格納処理と、
前記情報格納処理により格納された通信識別情報と同じ通信識別情報を含むパケット群から、ウェブページへのアクセスを要求するために前記ウェブサーバへ送信されたHTTPメッセージである第2メッセージが前記メッセージ復元処理により復元された場合、前記情報格納処理により当該通信識別情報と対応付けて格納されたユーザ識別情報に対応する、前記アクセスログ格納処理により格納されたアクセスログに、前記第2メッセージによって要求されたウェブページへのアクセスを示すアクセス情報を処理装置により記録するアクセス情報記録処理と
をコンピュータに実行させることを特徴とするアクセス解析プログラム。
前記アクセス情報記録処理は、前記第1メッセージより前に前記ウェブサーバへ送信されたHTTPメッセージと、前記第1メッセージより後に前記ウェブサーバへ送信されたHTTPメッセージとの両方について、前記第2メッセージに該当するHTTPメッセージを処理対象とすることを特徴とする請求項7のアクセス解析プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のキャプチャ型のウェブ解析技術において、訪問者(ユーザ)の識別は、例えば長期間有効なクッキー(Cookie)を用いて実施していた。この方式には以下のような課題があるため、訪問者の識別が困難であった。
・ユーザは常に同じ端末の同じブラウザからアクセスするとは限らない。
・クッキーを禁止にしているユーザもいる。
・長期間有効なクッキーを利用しないサイトが多い。
【0005】
特許文献1に記載のように、アクセス解析装置が、パケットキャプチャ装置によりキャプチャされたパケットからHTTPレスポンスを復元し、復元したHTTPレスポンスから、ユーザに対して個別に設定される個別設定データを抽出して訪問者の識別に利用する方法もある。しかし、この方法では、HTTPレスポンスに個別設定データが含まれている必要があった。
【0006】
本発明は、例えば、IP(インターネットプロトコル)アドレスやクッキー情報といったような、個別のユーザ端末とウェブサーバとの通信を識別するための通信識別情報を利用しつつ、より確実に訪問者の識別を行うことを目的とする。
【課題を解決するための手段】
【0007】
本発明の一の態様に係るアクセス解析装置は、
複数のユーザ端末と各ユーザ端末にウェブページを配信するウェブサーバとの間で送受信されるパケットを収集して保存するパケットキャプチャ装置から、個別のユーザ端末と前記ウェブサーバとの通信を識別するための通信識別情報を含むパケット群であって、ウェブページの送受信のために用いられるHTTPメッセージを載せたパケット群を順次取得し、取得したパケット群から当該HTTPメッセージを処理装置により復元するメッセージ復元部と、
個別のユーザを識別するためのユーザ識別情報を含むHTTPメッセージであって、認証を要求するために前記ウェブサーバへ送信されたHTTPメッセージである第1メッセージが前記メッセージ復元部により復元された場合、前記第1メッセージに含まれるユーザ識別情報を処理装置により取得する情報取得部と、
前記第1メッセージによって要求された認証の成功を通知するために前記ウェブサーバから送信されたHTTPメッセージが前記メッセージ復元部により復元された場合、前記メッセージ復元部が前記第1メッセージを復元する元となったパケット群に含まれる通信識別情報を処理装置により取得し、取得した通信識別情報と前記情報取得部により取得されたユーザ識別情報とを対応付けて記憶装置に格納する情報格納部と、
前記情報格納部により格納されたユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログを記憶装置に格納するアクセスログ格納部と、
前記情報格納部により格納された通信識別情報と同じ通信識別情報を含むパケット群から、ウェブページへのアクセスを要求するために前記ウェブサーバへ送信されたHTTPメッセージである第2メッセージが前記メッセージ復元部により復元された場合、前記情報格納部により当該通信識別情報と対応付けて格納されたユーザ識別情報に対応する、前記アクセスログ格納部により格納されたアクセスログに、前記第2メッセージによって要求されたウェブページへのアクセスを示すアクセス情報を処理装置により記録するアクセス情報記録部とを備える。
【0008】
前記アクセス情報記録部は、前記第1メッセージより前に前記ウェブサーバへ送信されたHTTPメッセージと、前記第1メッセージより後に前記ウェブサーバへ送信されたHTTPメッセージとの両方について、前記第2メッセージに該当するHTTPメッセージを処理対象とする。
【0009】
前記通信識別情報は、IPアドレスとクッキー情報との少なくともいずれかを含む。
【0010】
本発明の一の態様に係るアクセス解析方法では、
コンピュータの処理装置が、複数のユーザ端末と各ユーザ端末にウェブページを配信するウェブサーバとの間で送受信されるパケットを収集して保存するパケットキャプチャ装置から、個別のユーザ端末と前記ウェブサーバとの通信を識別するための通信識別情報を含むパケット群であって、ウェブページの送受信のために用いられるHTTPメッセージを載せたパケット群を順次取得し、取得したパケット群から当該HTTPメッセージを復元し、
コンピュータの処理装置が、個別のユーザを識別するためのユーザ識別情報を含むHTTPメッセージであって、認証を要求するために前記ウェブサーバへ送信されたHTTPメッセージである第1メッセージを復元した場合、前記第1メッセージに含まれるユーザ識別情報を取得し、
コンピュータの処理装置が、前記第1メッセージによって要求された認証の成功を通知するために前記ウェブサーバから送信されたHTTPメッセージを復元した場合、前記第1メッセージを復元する元となったパケット群に含まれる通信識別情報を取得し、コンピュータの記憶装置が、取得された通信識別情報とユーザ識別情報とを対応付けて格納し、
コンピュータの記憶装置が、格納したユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログを格納し、
コンピュータの処理装置が、格納された通信識別情報と同じ通信識別情報を含むパケット群から、ウェブページへのアクセスを要求するために前記ウェブサーバへ送信されたHTTPメッセージである第2メッセージを復元した場合、当該通信識別情報と対応付けて格納されたユーザ識別情報に対応するアクセスログに、前記第2メッセージによって要求されたウェブページへのアクセスを示すアクセス情報を記録する。
【0011】
本発明の一の態様に係るアクセス解析プログラムは、
複数のユーザ端末と各ユーザ端末にウェブページを配信するウェブサーバとの間で送受信されるパケットを収集して保存するパケットキャプチャ装置から、個別のユーザ端末と前記ウェブサーバとの通信を識別するための通信識別情報を含むパケット群であって、ウェブページの送受信のために用いられるHTTPメッセージを載せたパケット群を順次取得し、取得したパケット群から当該HTTPメッセージを処理装置により復元するメッセージ復元処理と、
個別のユーザを識別するためのユーザ識別情報を含むHTTPメッセージであって、認証を要求するために前記ウェブサーバへ送信されたHTTPメッセージである第1メッセージが前記メッセージ復元処理により復元された場合、前記第1メッセージに含まれるユーザ識別情報を処理装置により取得する情報取得処理と、
前記第1メッセージによって要求された認証の成功を通知するために前記ウェブサーバから送信されたHTTPメッセージが前記メッセージ復元処理により復元された場合、前記メッセージ復元処理が前記第1メッセージを復元する元となったパケット群に含まれる通信識別情報を処理装置により取得し、取得した通信識別情報と前記情報取得処理により取得されたユーザ識別情報とを対応付けて記憶装置に格納する情報格納処理と、
前記情報格納処理により格納されたユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログを記憶装置に格納するアクセスログ格納処理と、
前記情報格納処理により格納された通信識別情報と同じ通信識別情報を含むパケット群から、ウェブページへのアクセスを要求するために前記ウェブサーバへ送信されたHTTPメッセージである第2メッセージが前記メッセージ復元処理により復元された場合、前記情報格納処理により当該通信識別情報と対応付けて格納されたユーザ識別情報に対応する、前記アクセスログ格納処理により格納されたアクセスログに、前記第2メッセージによって要求されたウェブページへのアクセスを示すアクセス情報を処理装置により記録するアクセス情報記録処理とをコンピュータに実行させる。
【0012】
前記アクセス情報記録処理は、前記第1メッセージより前に前記ウェブサーバへ送信されたHTTPメッセージと、前記第1メッセージより後に前記ウェブサーバへ送信されたHTTPメッセージとの両方について、前記第2メッセージに該当するHTTPメッセージを処理対象とする。
【0013】
前記通信識別情報は、IPアドレスとクッキー情報との少なくともいずれかを含む。
【発明の効果】
【0014】
本発明の一の態様によれば、IPアドレスやクッキー情報といったような、個別のユーザ端末とウェブサーバとの通信を識別するための通信識別情報を利用しつつ、より確実に訪問者の識別を行うことが可能となる。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図を用いて説明する。
【0017】
実施の形態1.
図1は、本実施の形態に係るアクセス解析装置100の利用形態の一例を示す図である。
【0018】
図1において、複数あるユーザ端末201は、それぞれユーザが利用するコンピュータであり、ユーザがウェブページを閲覧するためのウェブブラウザを動作させる。ユーザ端末201は、例えばPC(パーソナルコンピュータ)である。
【0019】
ウェブサーバ202は、複数のウェブページからなるウェブサイトを実現するサーバコンピュータであり、各ユーザ端末201にウェブページを配信する。以下では、説明を簡単にするため、1つのウェブサイトを実現するものであれば、サーバコンピュータが2台以上ある場合でも、それらをまとめて1つのウェブサーバ202として考えるものとする。また、単にHTML(ハイパーテキストマークアップ言語)ファイルを提供するHTTPサーバだけでなく、ウェブサイト上で電子商取引サービスを提供するために必要なログイン認証機能やデータベース処理機能を有するウェブアプリケーションサーバ等もまとめて1つのウェブサーバ202として考えるものとする。なお、ここでは、ハードウェア及びソフトウェアの組み合わせであるサーバコンピュータとソフトウェアのみであるサーバプログラムは厳密に区別していない(どちらを指す場合にも、ウェブサーバ202という)。
【0020】
各ユーザ端末201とウェブサーバ202は、インターネット203を介して、IP通信を行う。IP通信において、各ユーザ端末201は、インターネット203を介して、IPパケット211をウェブサーバ202へ送信する。同様に、ウェブサーバ202は、インターネット203を介して、IPパケット212を各ユーザ端末201へ送信する。各ユーザ端末201で動作するウェブブラウザとウェブサーバ202は、IP通信を利用してHTTP通信を行う。即ち、ウェブブラウザとウェブサーバ202は、ウェブページの送受信のために用いられるHTTPメッセージを載せたIPパケット211,212をやり取りする。
【0021】
ここで、
図2に、ユーザがログイン中でない場合に、ユーザ端末201のウェブブラウザ画面301に表示されるウェブページ311の一例を示す。また、
図3に、このウェブページ311をユーザ端末201で動作するウェブブラウザが取得するためのHTTP通信の一例を示す。HTTP通信において、ウェブブラウザは、HTTPメッセージの一種であるHTTPリクエスト401をウェブサーバ202へ送信する。ウェブサーバ202は、HTTPリクエスト401に応じて、HTTPメッセージの一種であるHTTPレスポンス402をユーザ端末201へ返信する。
【0022】
図3において、ユーザが、ウェブブラウザ画面301にウェブページ311のURL321(Uniform・Resource・Locator)を入力して(ウェブブラウザ画面301で閲覧中の他のウェブページ内にあるリンクをクリックする等、他の方法を用いてもよい)、ウェブページ311へのアクセスを要求すると、ウェブブラウザは、そのウェブページ311のURLデータ411を含むHTTPリクエスト401を生成する。ユーザ端末201は、HTTPリクエスト401をIPパケット211に載せてウェブサーバ202へ送信する。
【0023】
ウェブサーバ202は、HTTPリクエスト401を載せたIPパケット211をユーザ端末201から受信すると、HTTPリクエスト401に含まれるURLデータ411に基づいて、ユーザがアクセスを要求したウェブページ311を特定し、そのウェブページ311のページデータ412を含むHTTPレスポンス402を生成する。このページデータ412は静的なデータであってもよいが、ここでは、ウェブサーバ202が、ページデータ412に特定の表示データ413を動的に付加するものとする。ウェブサーバ202は、特定の表示データ413が付加されたページデータ412を含むHTTPレスポンス402をIPパケット212に載せてユーザ端末201へ返信する。
【0024】
ユーザ端末201が、HTTPレスポンス402を載せたIPパケット212をウェブサーバ202から受信すると、ユーザ端末201で動作するウェブブラウザは、HTTPレスポンス402に含まれるページデータ412に基づいて、ウェブページ311をウェブブラウザ画面301に表示する。
図2に示したように、例えば、ウェブブラウザは、ページデータ412に付加された特定の表示データ413を、「こんにちは。」という特定の文字列322としてウェブページ311の一部に表示する。また、ウェブブラウザは、ウェブサイトで扱われている商品カテゴリのメニュー323をウェブページ311の一部に表示する。ウェブブラウザは、メニュー323内に、各商品カテゴリの商品販売用のウェブページへのリンク324を表示する。
【0025】
図4に、ユーザがログインした直後に、ユーザ端末201のウェブブラウザ画面301に表示されるウェブページ312の一例を示す。また、
図5に、このウェブページ312をユーザ端末201で動作するウェブブラウザが取得するためのHTTP通信の一例を示す。
【0026】
図5において、ユーザが、ウェブブラウザ画面301で閲覧中のログイン認証用のウェブページ内にあるフォームに、ウェブサイトで予め設定されたユーザID(識別子)とパスワードの組み合わせを入力して、ウェブサイトへのログインを要求すると、ウェブブラウザは、入力されたユーザIDとパスワードとを認証データ414として含むHTTPリクエスト401を生成する。ユーザ端末201は、HTTPリクエスト401をIPパケット211に載せてウェブサーバ202へ送信する。ここで、ユーザIDは、個別のユーザを識別するためのユーザ識別情報の一例である。また、パスワードは、ウェブサーバ202においてユーザ識別情報と対応付けて記憶され、ユーザの認証のために照合される認証情報の一例である。例えば、ユーザがパスワードの代わりに、暗証番号や生体情報といった他の種類の認証情報を入力するようにしてもよい。この場合、認証データ414には、当該認証情報がユーザIDとともに含まれることになる。
【0027】
ウェブサーバ202は、HTTPリクエスト401を載せたIPパケット211をユーザ端末201から受信すると、HTTPリクエスト401に含まれる認証データ414に基づいて、ユーザを認証する。具体的には、ウェブサーバ202は、認証データ414に含まれるユーザIDに対応するパスワードをデータベース等から読み出し、読み出したパスワードが認証データ414に含まれるパスワードと一致するかどうかを確認する。パスワードが一致すれば、認証が成功したことになり、パスワードが一致しなければ、認証は失敗したことになる。
【0028】
ウェブサーバ202は、ユーザの認証が成功すると(これによりユーザはログインしたことになる)、ログイン中のユーザに対してデフォルトで表示するウェブページ312のページデータ412を含むHTTPレスポンス402を生成する。このページデータ412は静的なデータであってもよいが、ここでは、ウェブサーバ202が、ページデータ412に、ログイン中のユーザの個別設定データを付加するものとする。個別設定データは、ユーザに対して個別に設定されるもの(即ち、ユーザを区別できる情報)で、例えば、ユーザの属性データである。ここでは、ウェブサーバ202は、ログイン中のユーザの属性データとして、ユーザの名前データ415をページデータ412に付加するものとする。ウェブサーバ202は、属性データとして、他にも、ユーザID、ユーザのポイントデータ(ウェブサイトで商品を購入したユーザ等に与えられるポイントを記録したデータ)、ユーザの購入履歴データ(ウェブサイトでユーザが購入した商品等を記録したデータ)、ユーザの嗜好データ(ウェブサイトでユーザが購入した商品によって推定されるユーザの嗜好に合わせて動的に生成されるウェブページへのリンク324)等をページデータ412に付加してもよい。ウェブサーバ202は、ログイン中のユーザの属性データを付加したページデータ412を含むHTTPレスポンス402をIPパケット212に載せてユーザ端末201へ返信する。
【0029】
ユーザ端末201が、HTTPレスポンス402を載せたIPパケット212をウェブサーバ202から受信すると、ユーザ端末201で動作するウェブブラウザは、HTTPレスポンス402に含まれるページデータ412に基づいて、ウェブページ312をウェブブラウザ画面301に表示する。
図4に示したように、例えば、ウェブブラウザは、ページデータ412に付加された特定の表示データ413を、「こんにちは、」という特定の文字列322としてウェブページ312の一部に表示する。また、ウェブブラウザは、ページデータ412に付加された特定の表示データ416を、「さん。」という特定の文字列326としてウェブページ312の一部に表示する。さらに、ウェブブラウザは、ページデータ412に付加されたユーザの名前データ415に基づいて、ユーザの「山田太郎」という名前325を特定の文字列322の後(所定の相対位置の一例)、もしくは、特定の文字列322と特定の文字列326との間(特定の文字列322を起点とし、特定の文字列326を終点とする範囲)に表示する。また、ウェブブラウザは、ページデータ412に付加された他の属性データに基づいて、ユーザIDやユーザの購入履歴データが(hiddenパラメータ等として)埋め込まれたウェブページ312を表示する。あるいは、ウェブブラウザは、ユーザのポイントデータをウェブページ312の一部に表示する。あるいは、ウェブブラウザは、ユーザの嗜好データであるリンク324を含むメニュー323をウェブページ312の一部に表示する。
【0030】
図6に、ユーザがログイン中に、ユーザ端末201のウェブブラウザ画面301に表示されるウェブページ313の一例を示す。
【0031】
図示していないが、ログイン中のユーザが、ウェブブラウザ画面301にウェブページ313のURL321を入力する等、前述した方法を用いて、ウェブページ313へのアクセスを要求すると、ウェブブラウザは、そのウェブページ313のURLデータ411を含むHTTPリクエスト401を生成する。このとき、ウェブブラウザは、ユーザがウェブサイトにログインしたときにクッキーに書き込まれたデータ(ユーザID、ユーザがログイン中であることを示すデータ等)をHTTPリクエスト401に付加する。ユーザ端末201は、HTTPリクエスト401をIPパケット211に載せてウェブサーバ202へ送信する。
【0032】
ウェブサーバ202は、HTTPリクエスト401を載せたIPパケット211をユーザ端末201から受信すると、HTTPリクエスト401に含まれるURLデータ411に基づいて、ユーザがアクセスを要求したウェブページ313を特定し、そのウェブページ313のページデータ412を含むHTTPレスポンス402を生成する。前述したように、このページデータ412は静的なデータであってもよいが、ここでは、ウェブサーバ202が、ページデータ412に特定の表示データ413,416とユーザの名前データ415を付加するものとする。ウェブサーバ202は、さらに、他の属性データをページデータ412に付加してもよい。ウェブサーバ202は、HTTPレスポンス402をIPパケット212に載せてユーザ端末201へ返信する。
【0033】
ユーザ端末201が、HTTPレスポンス402を載せたIPパケット212をウェブサーバ202から受信すると、ユーザ端末201で動作するウェブブラウザは、HTTPレスポンス402に含まれるページデータ412に基づいて、ウェブページ313をウェブブラウザ画面301に表示する。
【0034】
図2に示したウェブページ311と
図4に示したウェブページ312とを比較すると、いずれもURL321や表示されているコンテンツは同じであるが、
図2に示したウェブページ311の上部には、特定の文字列322のみが表示されているのに対し、
図4に示したウェブページ312の上部には、特定の文字列322のほか、その後に続けてログイン中のユーザの名前325が表示されている。また、
図4に示したウェブページ312と
図6に示したウェブページ313とを比較すると、URL321や表示されているコンテンツは異なっているが、いずれのウェブページ312,313の上部にも、特定の文字列322のほか、その後に続けてログイン中のユーザの名前325が表示されている。このように、上記の例におけるウェブサイトでは、ユーザがログインすると、各ウェブページの上部にユーザの名前325が共通の形式で表示されるようになっている。
【0035】
図1において、ネットワーク機器204は、ウェブサーバ202とインターネット203の間に接続される通信機器であり、各ユーザ端末201からインターネット203を介してウェブサーバ202へ送信されるIPパケット211、及び、ウェブサーバ202からインターネット203を介して各ユーザ端末201へ送信されるIPパケット212を中継する。ネットワーク機器204は、中継する全てのIPパケット211,212をミラーポートからも出力する。ネットワーク機器204は、例えばスイッチングハブやルータである。
【0036】
パケットキャプチャ装置205は、ネットワーク機器204のミラーポートに接続されるコンピュータである。パケットキャプチャ装置205は、ネットワーク機器204のミラーポートから出力される複数のIPパケット211,212を収集し、ハードディスク等の記録媒体に蓄積する。即ち、パケットキャプチャ装置205は、各ユーザ端末201とウェブサーバ202との間で送受信されるIPパケット211,212を収集して保存する。
【0037】
アクセス解析装置100は、パケットキャプチャ装置205に接続されるコンピュータである。アクセス解析装置100は、パケットキャプチャ装置205が記録媒体に蓄積した複数のIPパケット211,212を解析することで、ウェブサイト内でのユーザごとの行動を解析する。アクセス解析装置100は、パケットキャプチャ装置205を内蔵していてもよい。具体的には、アクセス解析装置100は、パケットキャプチャ装置205の機能を有するプログラムを実行するコンピュータであってもよい。
【0038】
図7は、アクセス解析装置100の構成を示すブロック図である。
【0039】
図7において、アクセス解析装置100は、メッセージ復元部101、情報取得部102、情報格納部103、アクセスログ格納部104、アクセス情報記録部105、アクセス解析部106を備える。アクセス解析装置100の各部の動作については、フローチャートを用いて後で説明する。
【0040】
アクセス解析装置100は、処理装置151、記憶装置152、入力装置153、出力装置154等のハードウェアを備える。ハードウェアはアクセス解析装置100の各部によって利用される。例えば、処理装置151は、アクセス解析装置100の各部でデータや情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置152は、そのデータや情報を記憶するために利用される。また、入力装置153は、そのデータや情報を入力するために、出力装置154は、そのデータや情報を出力するために利用される。
【0041】
図8は、アクセス解析装置100のハードウェア構成の一例を示す図である。
【0042】
図8において、アクセス解析装置100は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
【0043】
アクセス解析装置100は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置151の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
【0044】
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置152の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置153の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置154の一例である。
【0045】
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネット203に接続されていても構わない。LAN、WAN、インターネット203は、ネットワークの一例である。
【0046】
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記憶媒体に記憶される。RAM914やHDD920等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0047】
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
【0048】
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0049】
図9は、アクセス解析装置100の動作(本実施の形態に係るアクセス解析方法、本実施の形態に係るアクセス解析プログラムの処理手順)を示すフローチャートである。
【0050】
ステップS101(メッセージ復元処理の一部)において、メッセージ復元部101は、パケットキャプチャ装置205から、個別のユーザ端末201とウェブサーバ202との通信を識別するための通信識別情報を含み、HTTPメッセージを1つずつ載せたパケット群を順次取得する。
【0051】
各ユーザ端末201からウェブサーバ202へ送信されるパケット群は、複数のIPパケット211で構成される。それぞれのIPパケット211には、その送信元のIPアドレスやポート番号が含まれる。IPアドレス、あるいは、IPアドレスとポート番号との組み合わせは、通信識別情報の一例である。
【0052】
各ユーザ端末201からウェブサーバ202へ送信されるパケット群には、HTTPメッセージとしてHTTPリクエスト401が載せられている。HTTPリクエスト401には、ユーザエージェント情報やクッキー情報等が含まれる。ユーザエージェント情報やクッキー情報等も、通信識別情報の一例である。ここで、ユーザエージェント情報は、HTTPリクエスト401の送信元のユーザ端末201で動作するウェブブラウザの種類(プログラム名、バージョン等)を示す情報である。クッキー情報は、ウェブサーバ202がクッキーに書き込む情報であり、例えば、ユーザID等、そのユーザを識別するための情報である。クッキーは、ユーザがウェブサイトにアクセスした際に、ウェブサーバ202から送信され、ユーザ端末201で動作するウェブブラウザによって保存される。クッキー情報は、ユーザがウェブサイトにアクセスする際にクッキーが既に保存されていれば、ユーザ端末201で動作するウェブブラウザからウェブサーバ202へ送信される。
【0053】
ウェブサーバ202から各ユーザ端末201へ送信されるパケット群は、複数のIPパケット212で構成される。それぞれのIPパケット212には、その送信元のIPアドレスやポート番号が含まれる。前述したように、IPアドレス、あるいは、IPアドレスとポート番号との組み合わせは、通信識別情報の一例である。
【0054】
ステップS102(メッセージ復元処理の一部)において、メッセージ復元部101は、ステップS101で取得したパケット群から、当該パケット群に載せて送信されたHTTPメッセージを処理装置151により復元する。このとき、メッセージ復元部101は、当該パケット群を当該HTTPリクエスト401と対応付けて記憶装置152に保存しておくことが望ましい。これにより、後述するステップS107で、情報格納部103が、当該パケット群に含まれる通信識別情報を効率的に取得することが可能となる。また、同様に、後述するステップS109で、メッセージ復元部101が、当該パケット群に含まれる通信識別情報を効率的に参照することが可能となる。
【0055】
ステップS103(メッセージ復元処理の一部)において、メッセージ復元部101は、ステップS102で復元したHTTPメッセージの種別を(例えばヘッダを参照することで)処理装置151により判定する。復元したHTTPメッセージがHTTPリクエスト401であれば、ステップS104に進み、HTTPレスポンス402であれば、ステップS106に進む。
【0056】
ステップS104(メッセージ復元処理の一部)において、メッセージ復元部101は、ステップS102で復元したHTTPリクエスト401が、ユーザ識別情報を含み、認証を要求するためにウェブサーバ202へ送信されたHTTPリクエスト401(第1メッセージ)であるかどうかを処理装置151により判定する。具体的には、メッセージ復元部101は、復元したHTTPリクエスト401に、ユーザIDとパスワードとで構成される認証データ414が含まれているかどうかを判定する。復元したHTTPリクエスト401に認証データ414が含まれていれば、ステップS105に進み、認証データ414が含まれていなければ、ステップS109に進む。
【0057】
ステップS105(情報取得処理)において、情報取得部102は、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401(第1メッセージ)に含まれるユーザ識別情報を処理装置151により取得する。具体的には、情報取得部102は、ユーザ識別情報としてユーザIDを取得し、取得したユーザIDを記憶装置152に仮データとして格納する。その後、ステップS101に戻る。
【0058】
前述したように、ウェブサーバ202は、ユーザ端末201から認証データ414を含むHTTPリクエスト401(第1メッセージ)を受信すると、認証データ414に基づいて、ユーザを認証する。そして、ウェブサーバ202は、ユーザの認証が成功すると、ログイン中のユーザに対してデフォルトで表示するウェブページ312のページデータ412(ログイン中のユーザの個別設定データが付加されている)を含むHTTPレスポンス402を生成し、ユーザ端末201へ送信する。即ち、ウェブサーバ202は、HTTPリクエスト401(第1メッセージ)によって要求された認証が成功すると、認証の成功を通知するためのHTTPレスポンス402をユーザ端末201へ送信する。
【0059】
ステップS106(メッセージ復元処理の一部)において、メッセージ復元部101は、ステップS102で復元したHTTPレスポンス402が、認証の成功を通知するためにウェブサーバ202から送信されたHTTPレスポンス402であるかどうかを処理装置151により判定する。具体的には、メッセージ復元部101は、復元したHTTPレスポンス402に、ログイン中のユーザの個別設定データが含まれているかどうかを判定する。復元したHTTPレスポンス402にログイン中のユーザの個別設定データが含まれていれば、ステップS107に進み、ログイン中のユーザの個別設定データが含まれていなければ、ステップS101に戻る。ステップS101に戻る場合には、情報取得部102が、記憶装置152に仮データとして格納したユーザIDを削除する。
【0060】
なお、ステップS106において、メッセージ復元部101が、復元したHTTPレスポンス402に、ログイン中のユーザの個別設定データが含まれているかどうかを判定する代わりに、認証の失敗を示すエラーメッセージが含まれていないかどうかを判定してもよい。この場合、復元したHTTPレスポンス402にエラーメッセージが含まれていなければ、ステップS107に進み、エラーメッセージが含まれていれば、ステップS101に戻る。
【0061】
ステップS107(情報格納処理)において、情報格納部103は、ステップS102でメッセージ復元部101により復元されたHTTPレスポンス402に対応するHTTPリクエスト401(第1メッセージ)をメッセージ復元部101が復元する元となったパケット群に含まれる通信識別情報を処理装置151により取得する。そして、情報格納部103は、取得した通信識別情報と、情報取得部102により取得されたユーザ識別情報とを対応付けて記憶装置152に格納する。具体的には、情報格納部103は、通信識別情報として、IPアドレスやクッキー情報(IPアドレス又はIPアドレスとポート番号との組み合わせと、クッキー情報とのうち、少なくともいずれか、あるいは、少なくともいずれかとユーザエージェント情報等との組み合わせ)を取得して、記憶装置152に実装されたデータベース(ユーザIDテーブル)に格納する。そして、情報格納部103は、IPアドレスやクッキー情報に対応するユーザIDとして、情報取得部102により記憶装置152に仮データとして格納されているユーザIDを正式なデータとして当該データベースに改めて格納する。このとき、記憶装置152に仮データとして格納したユーザIDは削除する。
【0062】
ここで、ユーザがウェブサイトにログインするのが初めてではない場合、前回のログイン時に、情報格納部103がIPアドレスやクッキー情報とユーザIDとを対応付けてデータベース(ユーザIDテーブル)に既に格納していることになる。この場合、ステップS107において、情報格納部103は、既にデータベースに格納されているIPアドレスやクッキー情報と、今回取得したIPアドレスやクッキー情報とが異なっていれば、前者を後者で更新する。即ち、情報格納部103は、前回データベースに格納したIPアドレスやクッキー情報に代えて、今回取得したIPアドレスやクッキー情報を、ユーザIDと対応付けてデータベースに格納する。
【0063】
なお、ステップS105において、情報取得部102がHTTPリクエスト401(第1メッセージ)に含まれる認証データ414からユーザIDを取得する際に、情報格納部103が、そのHTTPリクエスト401をメッセージ復元部101が復元する元となったパケット群に含まれるIPアドレスやクッキー情報を処理装置151により取得して記憶装置152に仮データとして格納してもよい。この場合、ステップS107では、情報格納部103が、IPアドレスやクッキー情報の仮データを単に記憶装置152から取得し、正式なデータとしてデータベース(ユーザIDテーブル)に改めて格納する。このとき、記憶装置152に仮データとして格納したIPアドレスやクッキー情報は削除する。
【0064】
また、ステップS105において、情報取得部102がHTTPリクエスト401(第1メッセージ)に含まれる認証データ414からユーザIDを取得し、取得したユーザIDをデータベース(ユーザIDテーブル)に仮データとして格納してもよい。このとき、さらに、情報格納部103が、そのHTTPリクエスト401をメッセージ復元部101が復元する元となったパケット群に含まれるIPアドレスやクッキー情報を取得してデータベース(ユーザIDテーブル)に仮データとして、ユーザIDと対応付けて格納してもよい。この場合、ステップS107では、情報格納部103が、データベース(ユーザIDテーブル)に格納したIPアドレスやクッキー情報とユーザIDとの仮データを単に正式なデータに更新すればよい(例えば、データが仮データであるか正式なデータであるかを示すフラグ等を更新する)。後述するステップS109では、仮データは無視される。
【0065】
ステップS108(アクセスログ格納処理)において、アクセスログ格納部104は、ステップS107で情報格納部103により格納されたユーザ識別情報ごとに、ユーザ識別情報によって識別されるユーザのアクセスログ(アクセス履歴情報)を記憶装置152に格納する。具体的には、アクセスログ格納部104は、ステップS107でデータベース(ユーザIDテーブル)に格納されたユーザIDに対応するアクセスログとして、ステップS102でメッセージ復元部101により復元されたHTTPレスポンス402にページデータ412が含まれるウェブページ312のURL321等を記録したデータを記憶装置152に格納する。その後、ステップS101に戻る。
【0066】
ここで、ユーザがウェブサイトにログインするのが初めてではない場合、前回のログイン時に、アクセスログ格納部104が当該ユーザのアクセスログを記憶装置152に既に格納していることになる。この場合、ステップS108において、アクセスログ格納部104は、既に記憶装置152に格納されているアクセスログに、今回復元されたHTTPレスポンス402にページデータ412が含まれるウェブページ312のURL321等を記録する。
【0067】
ステップS109(メッセージ復元処理の一部)において、メッセージ復元部101は、ステップS102で復元したHTTPリクエスト401が、情報格納部103により格納された通信識別情報と同じ通信識別情報を含むパケット群から復元したものであり、ウェブページへのアクセスを要求するためにウェブサーバ202へ送信されたHTTPリクエスト401(第2メッセージ)であるかどうかを処理装置151により判定する。具体的には、メッセージ復元部101は、ステップS102でHTTPリクエスト401を復元する元となったパケット群に含まれるIPアドレスやクッキー情報が、データベース(ユーザIDテーブル)に格納済のものと一致するかどうかを判定する。IPアドレスやクッキー情報が格納済のものと一致すれば、ステップS110に進み、一致しなければ、ステップS101に戻る。
【0068】
ステップS110(アクセス情報記録処理)において、アクセス情報記録部105は、情報格納部103により格納されたユーザ識別情報のうち、ステップS102でHTTPリクエスト401を復元する元となったパケット群に含まれる通信識別情報(ステップS109で判定の対象となったもの)と同じ通信識別情報と対応するユーザ識別情報を処理装置151により取得する。そして、アクセス情報記録部105は、アクセスログ格納部104により格納されたアクセスログのうち、取得したユーザ識別情報に対応するアクセスログに、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401(第2メッセージ)によって要求されたウェブページへのアクセスを示すアクセス情報を処理装置151により記録する。具体的には、アクセス情報記録部105は、ステップS102でHTTPリクエスト401を復元する元となったパケット群に含まれるIPアドレスやクッキー情報に対応するユーザIDをデータベース(ユーザIDテーブル)から取得する。そして、アクセス情報記録部105は、取得したユーザIDに対応するアクセスログに、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401(第2メッセージ)に含まれるURLデータ411が示すURL321等を記録する。その後、ステップS101に戻る。
【0069】
なお、ステップS110において、アクセス情報記録部105が、HTTPリクエスト401(第2メッセージ)に基づいてアクセスログを更新する代わりに、そのHTTPリクエスト401に対応するHTTPレスポンス402に基づいてアクセスログを更新してもよい。この場合、アクセス情報記録部105は、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401に対応するHTTPレスポンス402がユーザ端末201に送信され、メッセージ復元部101により復元されるまで待機する。そして、アクセス情報記録部105は、そのHTTPレスポンス402にページデータ412が含まれるウェブページのURL321等を、アクセスログ格納部104により格納されたアクセスログに記録する。
【0070】
図示していないが、アクセス解析処理において、アクセス解析部106は、アクセスログ格納部104により格納されたアクセスログに基づいて、個々のユーザの行動を処理装置151により解析する。
【0071】
上記のように、本実施の形態では、アクセス解析装置100において、メッセージ復元部101が、パケットキャプチャ装置205から通信識別情報を含むパケット群を順次取得し、HTTPメッセージを復元する。HTTPメッセージが、ユーザIDを含み、認証を要求するためのHTTPリクエスト401(第1メッセージ)であれば、当該ユーザIDを情報取得部102が取得する。HTTPメッセージが、認証の成功を通知するためのHTTPレスポンス402であれば、対応するHTTPリクエスト401が復元されたパケット群に含まれる通信識別情報と当該ユーザIDとを情報格納部103が対応付けて格納する。これ以降、通信識別情報が同じHTTPリクエスト401(第2メッセージ)が復元される度に、当該ユーザIDのアクセスログをアクセス情報記録部105が更新する。これにより、本実施の形態では、通信識別情報を利用しつつ、より確実に訪問者の識別を行って、その訪問者の行動をより多く記録することが可能となる。
【0072】
以上説明したように、本実施の形態では、ユーザがログインを実施するサイトを対象とし、ユーザがログイン認証時に入力したユーザIDを訪問者の識別に利用する。
【0073】
まず、アクセス解析装置100は、以下のように訪問者識別情報を取得する。
【0074】
ユーザがログイン認証としてユーザID及びパスワードを入力すると、入力された情報がユーザ端末201から送信される。アクセス解析装置100は、ユーザ端末201から送信された情報を解析し、ユーザIDを取得する。ウェブサーバ202が認証の成功を示すコンテンツを返信すると、アクセス解析装置100は、そのコンテンツを解析し、ユーザIDとともに、IPアドレス、ユーザエージェント情報、クッキー情報等をユーザIDテーブルに保持する。
【0075】
次に、アクセス解析装置100は、以下のようにログイン認証後の訪問者を識別する。
【0076】
ユーザ端末201がウェブサーバ202にアクセスすると、アクセス解析装置100は、IPアドレスやクッキー情報を捕捉し、ユーザIDテーブルからユーザIDを取得する。そして、アクセス解析装置100は、取得したユーザIDに対応するアクセスログにアクセス情報を書き込む。
【0077】
このように、本実施の形態に係るアクセス解析装置100は、キャプチャ型のウェブ解析で訪問者を識別し、よりリアルなウェブ解析を行うことができる。また、本実施の形態に係るアクセス解析装置100は、単純にある瞬間の個人を識別するのではなく、ユーザIDを利用することで永続的に個人を識別することができる。IPアドレスやクッキー情報は端末によって変わるが、本実施の形態では、少なくともログイン時にはIPアドレスやクッキー情報とユーザIDとのマッピングを行うため、端末によらず個人を識別することが可能である。また、IPアドレスやクッキー情報は同じ端末でも、時期によって変わる場合があるが、本実施の形態では、少なくともログイン時にはIPアドレスやクッキー情報とユーザIDとのマッピングを行うため、時期にもよらず個人を識別することが可能である。さらに、本実施の形態に係るアクセス解析装置100は、ユーザIDを毎回の個人識別の情報とするのではなく、他の識別情報(IPアドレスやクッキー情報)と紐付けることで、そのような情報から永続的に個人を識別することができる(例えば、ログイン時の情報だけにユーザIDがあれば、2回目以降の通信にはユーザIDがなくてよい)。
【0078】
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
【0079】
図10は、本実施の形態に係るアクセス解析装置100の動作(本実施の形態に係るアクセス解析方法、本実施の形態に係るアクセス解析プログラムの処理手順)を示すフローチャートである。
【0080】
ステップS101〜S106の処理については、
図9に示した実施の形態1のものと同様である。ステップS107,S108の処理については後述する。
【0081】
ステップS109(メッセージ復元処理の一部)において、メッセージ復元部101は、ステップS102で復元したHTTPリクエスト401が、情報格納部103により格納された通信識別情報(後述するステップS111で格納されたものも含む)と同じ通信識別情報を含むパケット群から復元したものであり、ウェブページへのアクセスを要求するためにウェブサーバ202へ送信されたHTTPリクエスト401(第2メッセージ)であるかどうかを処理装置151により判定する。具体的には、メッセージ復元部101は、ステップS102でHTTPリクエスト401を復元する元となったパケット群に含まれるIPアドレスやクッキー情報が、データベース(ユーザIDテーブル)に格納済のものと一致するかどうかを判定する。IPアドレスやクッキー情報が格納済のものと一致すれば、ステップS110に進み、一致しなければ、ステップS111に進む。
【0082】
ステップS110(アクセス情報記録処理)において、アクセス情報記録部105は、情報格納部103により格納されたユーザ識別情報(後述するステップS111で格納されたものも含む)のうち、ステップS102でHTTPリクエスト401を復元する元となったパケット群に含まれる通信識別情報と同じ通信識別情報と対応するユーザ識別情報を処理装置151により取得する。そして、アクセス情報記録部105は、アクセスログ格納部104により格納されたアクセスログ(後述するステップS112で格納されたものも含む)のうち、取得したユーザ識別情報に対応するアクセスログに、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401(第2メッセージ)によって要求されたウェブページへのアクセスを示すアクセス情報を処理装置151により記録する。具体的には、アクセス情報記録部105は、ステップS102でHTTPリクエスト401を復元する元となったパケット群に含まれるIPアドレスやクッキー情報に対応するユーザIDをデータベース(ユーザIDテーブル)から取得する。そして、アクセス情報記録部105は、取得したユーザIDに対応するアクセスログに、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401(第2メッセージ)に含まれるURLデータ411が示すURL321等を記録する。その後、ステップS101に戻る。
【0083】
ステップS111(情報格納処理の一部)において、情報格納部103は、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401をメッセージ復元部101が復元する元となったパケット群に含まれる通信識別情報を処理装置151により取得する。また、情報格納部103は、仮の通信識別情報を新たに処理装置151により生成する。そして、情報格納部103は、取得した通信識別情報と、生成した仮のユーザ識別情報とを対応付けて記憶装置152に格納する。具体的には、情報格納部103は、通信識別情報として、IPアドレスやクッキー情報を取得して、記憶装置152に実装されたデータベース(ユーザIDテーブル)に格納する。そして、情報格納部103は、IPアドレスやクッキー情報に対応するユーザIDとして、新たに生成した仮のユーザIDを当該データベースに格納する。なお、仮のユーザIDの代わりに、ユーザIDとは異なる形式の識別子を用いてもよい。この場合、その識別子として、IPアドレスやクッキー情報をそのまま用いてもよい。
【0084】
ステップS112(アクセスログ格納処理の一部)において、アクセスログ格納部104は、ステップS111で情報格納部103により格納された仮のユーザ識別情報に対応付けて新たなアクセスログ(アクセス履歴情報)を記憶装置152に格納する。具体的には、アクセスログ格納部104は、ステップS111でデータベース(ユーザIDテーブル)に格納されたユーザIDに対応するアクセスログとして、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401に含まれるURLデータ411が示すURL321等を記録したデータを記憶装置152に格納する。その後、ステップS101に戻る。
【0085】
なお、ステップS112において、アクセスログ格納部104が、HTTPリクエスト401に基づいてアクセスログを生成する代わりに、そのHTTPリクエスト401に対応するHTTPレスポンス402に基づいてアクセスログを生成してもよい。この場合、アクセスログ格納部104は、ステップS102でメッセージ復元部101により復元されたHTTPリクエスト401に対応するHTTPレスポンス402がユーザ端末201に送信され、メッセージ復元部101により復元されるまで待機する。そして、アクセスログ格納部104は、そのHTTPレスポンス402にページデータ412が含まれるウェブページのURL321等を記録したデータを、アクセスログとして記憶装置152に格納する。
【0086】
本実施の形態では、ステップS107(情報格納処理の一部)において、情報格納部103は、ステップS102でメッセージ復元部101により復元されたHTTPレスポンス402に対応するHTTPリクエスト401(第1メッセージ)をメッセージ復元部101が復元する元となったパケット群に含まれる通信識別情報を処理装置151により取得する。本実施の形態では、取得した通信識別情報を既に仮のユーザ識別情報と対応付けて記憶装置152に格納している場合、情報格納部103は、その仮のユーザ識別情報を、情報取得部102により取得されたユーザ識別情報に変更する。具体的には、情報格納部103は、IPアドレスやクッキー情報を取得すると、取得したIPアドレスやクッキー情報を仮のユーザIDと対応付けてデータベース(ユーザIDテーブル)に格納済かどうかを処理装置151により確認する。そして、格納済であれば、情報格納部103は、その仮のユーザIDを、情報取得部102により記憶装置152に仮データとして格納されているユーザIDで上書きする。このとき、記憶装置152に仮データとして格納したユーザIDは削除する。なお、情報格納部103は、取得したIPアドレスやクッキー情報をデータベースに未だ格納していなければ、実施の形態1と同様に動作する。
【0087】
ステップS107で情報格納部103が仮のユーザ識別情報を、情報取得部102により取得されたユーザ識別情報に変更した場合、ステップS108(アクセスログ格納処理の一部)において、アクセスログ格納部104は、アクセスログ格納部104により格納されたアクセスログのうち、当該仮のユーザ識別情報に対応するアクセスログを、変更後のユーザ識別情報に対応するアクセスログとして記憶装置152に改めて格納する。具体的には、アクセスログ格納部104は、ステップS107で仮のユーザIDが正式なユーザIDで上書きされた場合、当該仮のユーザIDに対応するアクセスログを当該正式なユーザIDに対応するアクセスログに変換し(移行させ)、変換後のアクセスログに、ステップS102でメッセージ復元部101により復元されたHTTPレスポンス402にページデータ412が含まれるウェブページ312のURL321等を記録する。その後、ステップS101に戻る。
【0088】
上記のように、本実施の形態では、アクセス解析装置100において、アクセス情報記録部105が、ユーザIDを含み、認証を要求するためのHTTPリクエスト401(第1メッセージ)より後にウェブサーバ202へ送信されたHTTPリクエスト401だけでなく、ユーザIDを含み、認証を要求するためのHTTPリクエスト401(第1メッセージ)より前にウェブサーバ202へ送信されたHTTPリクエスト401についても、通信識別情報が同じHTTPリクエスト401(第2メッセージ)を処理対象とする。これにより、本実施の形態では、実施の形態1と比べて、訪問者の行動をより多く記録することが可能となる。
【0089】
以上説明したように、本実施の形態では、アクセス解析装置100が、以下のようにログイン前のユーザのアクセス情報もアクセスログに書き込む。
【0090】
ユーザ端末201がウェブサーバ202にアクセスすると、アクセス解析装置100は、IPアドレスやクッキー情報を捕捉し、ユーザIDテーブルに仮データとして書き込む。このとき、アクセス解析装置100は、ダミーのユーザIDを設定し、このユーザIDとともに、IPアドレス、ユーザエージェント情報、クッキー情報等をユーザIDテーブルに保持してもよい。アクセス解析装置100は、IPアドレスやクッキー情報、あるいは、ダミーのユーザIDに対応するアクセスログにアクセス情報を書き込む。その後、訪問者識別情報を取得できた場合、アクセス解析装置100は、既にアクセス情報を書き込んだアクセスログを、実際のユーザIDに対応するアクセスログに変更する。
【0091】
このように、本実施の形態に係るアクセス解析装置100は、ユーザがログインする前から当該ユーザのアクセスログを記録することができるため、より詳しいアクセス解析を行うことが可能となる。
【0092】
以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。