(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のログの処理では、クライアントの情報の統計などの情報処理を、作業者がログを見て人手により行うため、作業者の負担が大きかった。また、従来のログの処理では、ビーコンサーバで受信したクライアントの情報のうち、下流でどの情報が必要か分からないため、IPアドレスやタイムスタンプなど、全てのクライアントの情報を記憶しておく必要があり、作業者の負担がさらに大きかった。
【0006】
本発明の課題は、ログ情報の下流における情報処理の負担を軽減することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明のサーバは、
クライアント装置から受信されたクライアント情報を、当該クライアント情報に含まれる処理内容情報に基づいて、処理する処理手段と、
前記処理されたクライアント情報を含むログ情報を生成して記憶手段に記憶する制御手段と、を備え
、
前記処理手段は、前記処理内容情報に基づいて、前記クライアント装置から受信された、第1のクライアント情報と、第2のクライアント情報であって、後に前記記憶手段に記憶するクライアント情報とのうち、少なくとも前記第1のクライアント情報を処理し、
前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストが前記クライアント装置から受信される。
【0008】
請求項2に記載の発明は、請求項1に記載のサーバにおいて
、
前記制御手段は、前記処理されたクライアント情報及び前記受信された第2のクライアント情報を含むログ情報を生成し前記記憶手段に記憶する。
【0010】
請求項
3に記載の発明は、請求項
1又は
2に記載のサーバにおいて、
前記処理内容情報は、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報から所定の情報を抽出するための情報であり、
前記処理手段は、前記処理内容情報に基づいて、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報から情報を抽出し、抽出した情報を前記処理されたクライアント情報とする。
【0011】
請求項
4に記載の発明は、請求項
1から
3のいずれか一項に記載のサーバにおいて、
前記処理内容情報は、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を判定するための情報であり、
前記処理手段は、前記処理内容情報に基づいて、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を判定し、当該判定の結果を前記処理されたクライアント情報とする。
【0012】
請求項
5に記載の発明は、請求項
1から
4のいずれか一項に記載のサーバにおいて、
前記処理内容情報は、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を変換するための情報であり、
前記処理手段は、前記処理内容情報に基づいて、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を変換し、変換した情報を前記処理されたクライアント情報とする。
【0013】
請求項
6に記載の発明のシステムは、
請求項1から
5のいずれか一項に記載のサーバと、
前記クライアント装置と、を備え、
前記クライアント装置は、
前記サーバに送信するクライアント情報を処理するための処理内容情報を生成する生成手段と、
前記生成された処理内容情報を含むクライアント情報を前記サーバに送信する送信手段と、を備える。
【0014】
請求項
7に記載の発明は、請求項
6に記載のシステムにおいて、
前記送信手段は、第1のクライアント情報と
、前記第2のクライアント情報と
、当該第1のクライアント情報及び当該第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を処理するための前記処理内容情報とを前記サーバに送信する。
【0015】
請求項
8に記載の発明は、請求項
7に記載のシステムにおいて、
前記送信手段は、前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストを前記サーバに送信する。
【0016】
請求項
9に記載の発明のクライアント装置は、
サーバに送信するクライアント情報を処理するための処理内容情報を生成する生成手段と、
前記生成された処理内容情報を含むクライアント情報を前記サーバに送信する送信手段と、を備え
、
前記送信手段は、第1のクライアント情報と、第2のクライアント情報であって、後に前記サーバに記憶するクライアント情報と、当該第1のクライアント情報及び当該第2のクライアント情報のうち、少なくとも当該第1のクライアント情報を処理するための前記処理内容情報とを前記サーバに送信し、
前記送信手段は、前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストを前記サーバに送信する。
【0019】
請求項
10に記載の発明は、請求項
9に記載のクライアント装置において、
前記処理内容情報は、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報から所定の情報を抽出するための情報である。
【0020】
請求項
11に記載の発明は、請求項
9又は10に記載のクライアント装置において、
前記処理内容情報は、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を判定するための情報である。
【0021】
請求項
12に記載の発明は、請求項
9から
11のいずれか一項に記載のクライアント装置において、
前記処理内容情報は、前記第1のクライアント情報及び前記第2のクライアント情報の
うち、少なくとも当該第1のクライアント情報を変換するための情報である。
【0022】
請求項
13に記載の発明のログ情報記憶方法は、
クライアント装置から受信されたクライアント情報を、当該クライアント情報に含まれる処理内容情報に基づいて、処理する処理工程と、
前記処理されたクライアント情報を含むログ情報を生成して記憶手段に記憶する制御工程と、を含
み、
前記処理工程において、前記処理内容情報に基づいて、前記クライアント装置から受信された、第1のクライアント情報と、第2のクライアント情報であって、後に前記記憶手段に記憶するクライアント情報とのうち、少なくとも当該第1のクライアント情報を処理し、
前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストが前記クライアント装置から受信される。
【0023】
請求項
14に記載の発明のクライアント情報送信方法は、
サーバに送信するクライアント情報を処理するための処理内容情報を生成する生成工程と、
前記生成された処理内容情報を含むクライアント情報を前記サーバに送信する送信工程と、を含
み、
前記送信工程において、第1のクライアント情報と、第2のクライアント情報であって、後に前記サーバに記憶するクライアント情報と、当該第1のクライアント情報及び当該第2のクライアント情報のうち、少なくとも当該第1のクライアント情報を処理するための前記処理内容情報とを前記サーバに送信し、
前記送信工程において、前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストを前記サーバに送信する。
【0024】
請求項
15に記載の発明のプログラムは、
サーバのコンピュータを、
クライアント装置から受信されたクライアント情報を、当該クライアント情報に含まれる処理内容情報に基づいて、処理する処理手段、
前記処理されたクライアント情報を含むログ情報を生成して記憶手段に記憶する制御手段、
として機能させ
、
前記処理手段は、前記処理内容情報に基づいて、前記クライアント装置から受信された、第1のクライアント情報と、第2のクライアント情報であって、後に前記記憶手段に記憶するクライアント情報とのうち、少なくとも当該第1のクライアント情報を処理し、
前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストが前記クライアント装置から受信される。
【0025】
請求項
16に記載の発明のプログラムは、
クライアント装置のコンピュータを、
サーバに送信するクライアント情報を処理するための処理内容情報を生成する生成手段、
前記生成された処理内容情報を含むクライアント情報を前記サーバに送信する送信手段、
として機能させ
、
前記送信手段は、第1のクライアント情報と、第2のクライアント情報であって、後に前記サーバに記憶するクライアント情報と、当該第1のクライアント情報及び当該第2のクライアント情報のうち、少なくとも当該第1のクライアント情報を処理するための前記処理内容情報とを前記サーバに送信し、
前記送信手段は、前記第1のクライアント情報をヘッダとして含み、前記処理内容情報及び前記第2のクライアント情報をボディとして含むHTTPリクエストを前記サーバに送信する。
【発明の効果】
【0026】
本発明によれば、ログ情報の下流における情報処理の負担を軽減できる。
【発明を実施するための形態】
【0028】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0029】
[1.実施の形態]
図1〜
図6を参照して、本発明に係る実施の形態を説明する。
【0030】
[1−1.装置構成の説明]
図1を参照して、本実施の形態の装置構成を説明する。
図1は、本実施の形態のビーコンシステム1を示すブロック図である。
【0031】
[1−1−1.全体構成]
図1を参照して、本実施の形態のビーコンシステム1を説明する。
【0032】
ビーコンシステム1は、Webビーコンを用いて、Webページ閲覧などのサービスの提供を受けるクライアント装置20の情報(クライアント情報)を収集するシステムである。Webビーコンとは、クライアントの情報を取得するためにWebページデータに埋め込まれる画像データ又はプログラムである。一例として、ビーコンシステム1において、クライアント装置のブラウザを用いて、画像データであるWebビーコンが埋め込まれたWebページデータを表示する構成を説明する。
【0033】
図1に示すように、ビーコンシステム1は、ビーコンサーバ10と、クライアント装置20と、Webサーバ30と、データパイプライン40と、情報処理サーバ50と、を備える。ビーコンサーバ10、クライアント装置20及びWebサーバ30は、通信ネットワークNを介して通信接続されている。
【0034】
ビーコンサーバ10は、クライアント装置20のクライアント情報を収集しログ情報として記憶するサーバ装置である。ビーコンサーバ10は、クライアント情報を、情報処理サーバ50が望むデータ形式に処理(加工)してログ情報を生成し記憶する。
【0035】
クライアント装置20は、複数のユーザにそれぞれ所持される端末装置であって、ブラウザプログラムの実行により、Webページデータを表示する端末装置である。クライアント装置20は、例えば、デスクトップPC(Personal Computer)であるものとして説明するが、これに限定されるものではなく、ノートPC、スマートフォン、タブレットPCなど、他の端末装置としてもよい。
【0036】
Webサーバ30は、Webページデータをクライアント装置20に提供するサーバ装置である。Webサーバ30は、
図1において1台で表現しているが、実際には複数のWebサーバ30で構成可能である。
【0037】
データパイプライン40は、ビーコンサーバ10及び情報処理サーバ50の間に配置され、ビーコンサーバ10に記憶されたログ情報について、主に統計処理を行いやすくするための当該ログ情報の加工と、当該加工したログ情報の統計処理を行う情報処理サーバ50への配置(配信)を実行する機能部である。情報処理サーバ50は、データパイプライン40に接続され、ビーコンサーバ10に記憶されたログ情報を、データパイプライン40(の加工)を介して取得し、取得したログ情報の統計などの情報処理を行うサーバ装置である。情報処理サーバ50は、統計などの情報処理をするのに適したログ情報をビーコンサーバ10から取得する。
【0038】
通信ネットワークNは、インターネットであり、LAN(Local Area Network)や専用線などを含んでもよい。
【0039】
[1−1−2.ビーコンサーバ10の機能構成]
図1に示すように、ビーコンサーバ10は、処理手段、制御手段としての制御部11と、記憶部12と、通信部13と、を備える。制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)からなり、ビーコンサーバ10の各部を制御する。制御部11は、各種システムプログラム及びアプリケーションプログラムのうち指定されRAMに展開されたプログラムとCPUとの協働により、各種処理を実行する。
【0040】
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)など、情報の読み出し及び書き込みが可能な記憶部により構成され、各種データ及び各種プログラムを記憶する。特に、記憶部12は、後述するログ情報記憶処理を実行するためのログ情報記憶プログラムが記憶されており、また、後述する所定の画像データ、ログ情報記憶処理で生成されたログ情報が記憶される。
【0041】
通信部13は、ネットワークカードなどにより構成され、通信ネットワークN上の機器(クライアント装置20)と、データパイプライン40と、情報の送受信を行う。
【0042】
[1−1−3.クライアント装置20の機能構成]
図1に示すように、クライアント装置20は、生成手段としての制御部21と、記憶部22と、送信手段としての通信部23と、表示部24と、操作部25と、を備える。
【0043】
制御部21は、CPU、RAMからなり、クライアント装置20の各部を制御する。制御部21は、システムプログラム及びアプリケーションプログラムのうち指定されRAMに展開されたプログラムとCPUとの協働により、各種処理を実行する。
【0044】
記憶部22は、HDD、SSDなど、情報の読み出し及び書き込みが可能な記憶部により構成され、各種データ及び各種プログラムを記憶する。特に、記憶部22は、OS(Operating System)プログラム、後述するブラウザ処理を行うためのブラウザプログラム、ロガーが記憶されているものとする。
【0045】
通信部23は、ネットワークカードなどにより構成され、通信ネットワークN上の機器(ビーコンサーバ10、Webサーバ30)と、情報の送受信を行う。
【0046】
表示部24は、LCD(Liquid Crystal Display)や、EL(ElectroLuminescence)ディスプレイなどの表示パネルを有し、制御部21の制御に従い各種表示情報を表示パネルに表示する。
【0047】
操作部25は、キーボードと、マウスなどのポインティングデバイスとを備え、ユーザからのキー操作及び位置入力操作を受け付け、その操作情報を制御部21に出力する。
【0048】
[1−1−4.Webサーバ30の機能構成]
図1に示すように、Webサーバ30は、制御部31と、記憶部32と、通信部33と、を備える。制御部31は、CPU(Central Processing Unit)、RAM(Random Access Memory)からなり、Webサーバ30の各部を制御する。制御部31は、各種システムプログラム及びアプリケーションプログラムのうち指定されRAMに展開されたプログラムとCPUとの協働により、各種処理を実行する。
【0049】
記憶部32は、HDD(Hard Disk Drive)、SSD(Solid State Drive)など、情報の読み出し及び書き込みが可能な記憶部により構成され、各種データ及び各種プログラムを記憶する。特に、記憶部12は、クライアント装置20に提供するためのWebページデータが記憶されている。
【0050】
通信部33は、ネットワークカードなどにより構成され、通信ネットワークN上の機器(クライアント装置20)と情報の送受信を行う。
【0051】
制御部31は、通信部23を介して、クライアント装置20から所望のWebページのURL(Uniform Resource Locator)を受信すると、受信したURLに対応するWebページデータを記憶部32から読み出して、通信部33を介して、読み出したWebページデータを要求元のクライアント装置20に送信する。このWebページデータには、クライアント装置20のクライアント情報をビーコンサーバ10に送信するためのWebビーコンが埋め込まれているものとする。
【0052】
[1−2.ビーコンシステム1の動作]
図2〜
図6を参照して、ビーコンシステム1の動作を説明する。
図2は、ブラウザ処理を示すフローチャートである。
図3は、ログ情報記憶処理を示すフローチャートである。
図4は、HTTPリクエスト100を示す図である。
図5は、HTTPレスポンス110を示す図である。
図6は、ログ情報200を示す図である。
【0053】
ビーコンシステム1において、クライアント装置20のユーザによりWebページが閲覧される際に、クライアント装置20のクライアント情報がビーコンサーバ10に収集されて記憶される。この一連の動作において、クライアント装置20の動作としてのブラウザ処理と、ビーコンサーバ10の動作としてのログ情報記憶処理と、を順に説明する。
【0054】
[1−2−1.ブラウザ処理]
図2を参照して、クライアント装置20で実行されるブラウザ処理を説明する。クライアント装置20において、例えば操作部25を介してユーザからブラウザ処理の実行指示が入力されたことをトリガーとして、制御部21は、記憶部22に記憶されたブラウザプログラムに従い、ブラウザ処理を実行する。また、ブラウザ処理において、クライアント情報に基づくビーコンサーバ10への送信情報をHTTPリクエストとして作成するためのロガー(プログラム)がブラウザ(プログラム)上で処理されるものとする。ロガーは、情報処理サーバ50でビーコンサーバ10に記憶された情報に、統計などの情報処理を施した情報を用いた各種サービスを開発するサービス開発者により、当該サービス提供のために必要な所望の情報をビーコンサーバ10に送信して記憶させるように作成されている。
【0055】
図2に示すように、まず、制御部21は、操作部25を介してユーザから閲覧対象のWebページのURL(Uniform Resource Locator)の入力を受け付ける(ステップS11)。そして、制御部21は、ステップS11で入力されたURLに基づき、通信部23により、当該URLに対応するWebページデータを提供するWebサーバ30に通信接続し、当該Webページデータを当該Webサーバ30に要求し、当該Webページデータを当該Webサーバ30から受信する(ステップS12)。Webページデータには、Webページ内に表示されビーコンサーバ10が有する所定の画像データ(例えば1×1の透明なGIF(Graphics Interchange Format)データ)であるWebビーコンが埋め込まれている。
【0056】
そして、制御部21は、ロガーに従い、ステップS12で受信したWebページデータのWebビーコンから、ビーコンサーバ10に所定の画像データを要求しかつビーコンサーバ10に所望のクライアント情報を記憶するためのHTTPリクエストを生成する(ステップS13)。ここで、
図4を参照して、ステップS13で生成されるHTTPリクエストの一例としてのHTTPリクエスト100を説明する。
【0057】
HTTPリクエスト100は、リクエストライン101と、ヘッダ(メッセージヘッダ)102と、ボディ(メッセージボディ)103と、を有する。リクエストライン101は、HTTPリクエスト100の送信先(ビーコンサーバ10)への要求情報を示す領域であり、ここではWebビーコンの所定の画像データの要求文が格納される。
【0058】
ヘッダ102は、HTTPリクエスト100の送信元(クライアント装置20(ブラウザ))に関する各種情報を示す領域である。ヘッダ102は、例えば、「User−Agent」、「ip」、「Cookie」…の属性情報が、属性名(キー):属性値(バリュー)の形式で記憶されている。「User−Agent」は、ユーザがあるプロトコル(ここではHTTP)に基づいてデータを利用する際に用いるソフトウェア(ここではブラウザ)の情報が格納され、ブラウザ名(ブラウザ種類(ブラウザ種別))及びバージョン、OS名(OS種類)及びバージョンなどの情報を有する。「ip」は、クライアント装置20(ブラウザ)のIPアドレスである。「Cookie」は、Webページを提供するWebサーバ30がブラウザに保存した情報である。「Cookie」は、例えばWebサーバによりクライアント装置20(ブラウザ)に割り当てられたIDなどとなる。ただし、ヘッダ102は、HTTPリクエスト100の送信元(クライアント装置20)から送信先(ビーコンサーバ10)までの経路上で情報が追加される可能性がある。
【0059】
ボディ103は、HTTPリクエスト100の送信先(ビーコンサーバ10)へデータを送信するために使用される領域である。ボディ103には、例えば、デフォルトでビーコンサーバ10に記憶する情報103aとしての、表示されるWebページのページ名、各種情報A,B,Cと、追加でビーコンサーバ10に記憶するための情報103bとしての、ex{ip,ブラウザ種類}と、が格納されている。情報A,B,Cは、3つの異なる情報を表したものである。情報A,B,Cの少なくとも1つは、例えばWebページを閲覧する際の、スクロール、情報を見たなどの操作内容を示す情報としてもよい。
【0060】
ボディ103のデフォルトでビーコンサーバ10に記憶する情報103aは、ブラウザのロガーにより、クライアント装置20内、Webページデータなどから取得され、例えばKVS(Key-Value Store)のキー:バリュー(キーに対応する値)の形式で格納されている。
【0061】
ボディ103の追加でビーコンサーバ10に記憶するための情報103bは、ビーコンサーバ10で必要な情報の値そのものではなく、当該必要な情報を得るために、ビーコンサーバ10で何かしてほしい処理の情報(どのような情報に対してどのような処理(加工)をするかを示す処理内容情報)となる。情報103bは、例えば、ex{ip,ブラウザ種類}は、ヘッダ102から、IPアドレスの値及びブラウザ種類を抽出(取得)する処理をするための処理内容情報となる。情報103bの「ip」は、抽出する情報(ヘッダ102)のキーを指定する情報となっている。
【0062】
また、ボディ103の追加でビーコンサーバ10に記憶するための情報103bは、ヘッダ102から所定の情報を抽出するための処理内容情報に限定されるものではなく、例えば、ヘッダ102などから取得した情報から所定の判定を行うための処理内容情報としてもよい。ヘッダ102の「User−Agent」は、HTTPリクエストの送信先がロボット(クローラー)である場合に、送信先(ビーコンサーバ10)の管理者がそのロボットのオペレータと連絡をとれるように、URLや電子メールアドレスを含む。このため、ボディ103の追加でビーコンサーバ10に記憶するための情報103bは、例えば、ヘッダ102の「User−Agent」からHTTPリクエストの送信先がロボットか否かを判定するための処理内容情報としてもよい。
【0063】
他にも、所定の企業のWebサーバ30からWebページを社内外に提供する構成において、ボディ103の追加でビーコンサーバ10に記憶するための情報103bは、ヘッダ102の「ip」のIPアドレスから、クライアント装置20の場所が社内か社外かを判定するための処理内容情報としてもよい。また、情報103bは、ヘッダ102の情報からの判定による判定結果の設定情報(例えば、判定結果を1,0のフラグ情報で記憶する)を含めてもよい。
【0064】
また、ボディ103の追加でビーコンサーバ10に記憶するための情報103bは、ヘッダ102の情報を変換する処理を行うための処理内容情報としてもよい。情報103bは、例えば、ヘッダ102の「Content−Language(コンテンツの言語)」の情報(「en」,「jp」など)を日本語の言語名(「英語」、「日本語」など)に変換(加工)するための処理内容情報としてもよい。また、情報103bは、例えば、ヘッダ102の「User−Agent」のOS名(MacOS(登録商標)、Windows(登録商標))の情報を端末名(Mac端末、Windows端末など)に変換するための処理内容情報としてもよい。
【0065】
ビーコンサーバ10における処理の対象は、ヘッダ102の情報に限定されるのみならず、ボディ103のデフォルトでビーコンサーバ10に記憶する情報103aなど、他の情報としてもよい。例えば、ボディ103の追加でビーコンサーバ10に記憶するための情報103bが、情報103aのA,B,Cをつなげて1つの情報とする処理内容情報としてもよい。このように、ログ情報として記録させたいデータ項目(ヘッダ102)+なんとかして欲しい処理(ログ情報用のデータ加工など)をHTTPリクエスト100のパラメータの値が表現するように、ロガーが設計・設定される。
【0066】
図2に戻り、制御部21は、通信部23を介して、ステップS13で生成されたHTTPリクエストをビーコンサーバ10に送信する(ステップS14)。このように、転送内容としての情報103a、情報103bがHTTPリクエスト100のパラメータとして、ビーコンサーバ10に転送される。そして、制御部21は、通信部23を介して、ステップS14で送信されたHTTPリクエストに対応するHTTPレスポンスをビーコンサーバ10から受信する(ステップS15)。ここで、
図5を参照して、ステップS15で受信されるHTTPレスポンスの一例としてのHTTPレスポンス110を説明する。
【0067】
HTTPレスポンス110は、ステータスライン111と、ヘッダ(メッセージヘッダ)112と、ボディ(メッセージボディ)113と、を有する。ステータスライン111は、HTTPレスポンス110送信元(ビーコンサーバ10)のHTTPリクエスト100の処理結果を示す領域であり、例えば、HTTPリクエスト100の受信のエラーの有無の情報が格納される。
【0068】
ヘッダ112は、HTTPレスポンス110の送信元(ビーコンサーバ10)に関する各種情報を示す領域である。ボディ113は、HTTPレスポンス110の送信先(クライアント装置20)へデータを送信するために使用される領域である。ボディ113は、例えば、HTTPリクエスト100で要求された画像データが格納される。
【0069】
図2に戻り、制御部21は、ステップS15で受信されたHTTPレスポンス110のボディ113に格納された画像データを含むステップS12で受信されたWebページデータを表示部24にWebページとして表示し(ステップS16)、ブラウザ処理を終了する。
【0070】
[1−2−2.ログ情報記憶処理]
図3を参照して、ビーコンサーバ10で実行されるログ情報記憶処理を説明する。ビーコンサーバ10において、通信部13を介して、
図2のブラウザ処理のステップS14に対応してHTTPリクエスト(ここではHTTPリクエスト100として説明する)をクライアント装置20から受信開始したことをトリガーとして、制御部11は、記憶部12に記憶されたログ情報記憶プログラムに従い、ログ情報記憶処理を実行する。
【0071】
図3に示すように、まず、制御部11は、通信部13を介して、HTTPリクエスト100をクライアント装置20から受信完了する(ステップS21)。そして、制御部11は、ステップS21で受信したHTTPリクエスト100のリクエストライン101で要求された所定の画像データを記憶部12から読み出し、読み出した所定の画像データをボディ113に含むHTTPレスポンス110を生成し、通信部13を介して、生成したHTTPレスポンス110をクライアント装置20に送信する(ステップS22)。
【0072】
そして、制御部11は、ステップS21で受信したHTTPリクエスト100のボディ103を取得する(ステップS23)。そして、制御部11は、ステップS23で取得されたHTTPリクエスト100のボディ103の追加でビーコンサーバ10に記憶するための情報103bに応じて、処理対象の情報を処理し、処理されたクライアント情報を生成する(ステップS24)。ステップS24の追加でビーコンサーバ10に記憶するための情報103bが、ex{ip,ブラウザ種類}の処理内容情報である場合に、制御部11は、ヘッダ112のipからIPアドレスの値(xxxxxxx1)を抽出し、ヘッダ112のUser−Agentからブラウザ種類(ブラウザ01)を抽出し、抽出した値を処理されたクライアント情報とする。
【0073】
例えば、ステップS24の追加でビーコンサーバ10に記憶するための情報103bが、処理対象の情報から所定の判定を行う処理内容情報としてもよい。具体的には、例えば、ステップS24の情報103bが、HTTPリクエストの送信元がロボットか否かを判定する処理内容情報である場合に、制御部11は、ヘッダ102のUser−Agentの情報を取得し、User−Agentの情報にIPアドレスや電子メールアドレスが含まれるか否かにより、HTTPリクエストの送信元がロボットか否かを判定し、判定結果を処理されたクライアント情報とする。ステップS24の追加で送信された情報に判定結果をフラグで示す情報が含まれている場合には、HTTPリクエストの送信元がロボットか否かを示すフラグ情報(1:ロボット、0:ロボットでない)が処理されたクライアント情報とされる。
【0074】
また、例えば、ステップS24の追加でビーコンサーバ10に記憶するための情報103bが、処理対象の情報を変換する処理内容情報としてもよい。具体的には、例えば、ステップS24の情報103bが、言語の略字を日本語文に変換する処理内容情報である場合に、制御部11は、ヘッダ102のContent−Languageの情報を取得し、Content−Languageのen又はjpを英語又は日本語に変換し、変換した日本語の言語名を処理されたクライアント情報とする。このように、クライアント情報の内容がHTTPリクエスト100のパラメータとして、ビーコンサーバ10でログ情報に変換される。
【0075】
そして、制御部11は、ステップS23で取得されたボディ103と、ステップS24で生成された処理されたクライアント情報とを含むログ情報を生成する(ステップS25)。ステップS25では、例えば
図6に示すログ情報200が生成される。
【0076】
ログ情報200は、
図4のHTTPリクエスト100に基づいて生成されたログ情報である。ログ情報200は、ボディ201と、追加情報202と、を有する。ボディ201は、HTTPリクエスト100のボディ103と同じ情報である。ただし、ボディ201は、ボディ103のうち、追加でビーコンサーバ10に記憶するための情報103bを除いた情報としてもよい。
【0077】
追加情報202は、ステップS24で生成された処理されたクライアント情報であり、ip、ブラウザ種類が、KVSのキー:当該キーに対応するバリューの形式で格納されている。
【0078】
図3に戻り、制御部11は、ステップS25で生成されたログ情報を記憶部12に記憶し(ステップS26)、ログ情報記憶処理を終了する。
【0079】
[1−3.効果]
以上、本実施の形態によれば、クライアント装置20は、ビーコンサーバ10に送信するクライアント情報を処理するための処理内容情報を生成する制御部11と、生成された処理内容情報を含むクライアント情報(HTTPリクエスト100)をビーコンサーバ10に送信する通信部13と、を備える。ビーコンサーバ10は、クライアント装置20から受信されたクライアント情報(HTTPリクエスト100)を、当該クライアント情報に含まれる処理内容情報(ボディ103の情報103b)に基づいて、処理し、処理されたクライアント情報を含むログ情報を生成して記憶部12に記憶する制御部11を備える。このため、収集したクライアント情報を予め処理してログ情報として記憶するので、下流の情報処理サーバ50が所望のクライアント情報を取得でき、下流の情報処理サーバ50によるログ情報の情報処理の負担を軽減できる。また、ビーコンサーバ10の記憶部12において、収集したクライアント情報をログ情報としてそのまま全て記憶するよりも、ログ情報の記憶量を低減できる。
【0080】
また、クライアント装置20は、第1のクライアント情報(ヘッダ102の情報)とビーコンサーバ10に記憶する第2のクライアント情報(ボディ103の情報103a)と第1のクライアント情報及び第2のクライアント情報の少なくとも一方を処理するための処理内容情報(ボディ103の情報103b)とをビーコンサーバ10に送信する。ビーコンサーバ10は、処理内容情報に基づいて、クライアント装置20から受信された、第1のクライアント情報と記憶部12に記憶する第2のクライアント情報との少なくとも一方を処理するための前記受信された第1のクライアント情報及び第2のクライアント情報の少なくとも一方を処理し、処理されたクライアント情報及び受信された第2のクライアント情報を含むログ情報を記憶部12に記憶する。このため、ログ情報として、処理されたクライアント情報とともに、デフォルトでビーコンサーバ10に記憶させる第2のクライアント情報を処理せずそのまま記憶部12に記憶することができる。
【0081】
また、第1のクライアント情報をヘッダ102として含み、処理内容情報(情報103b)及び第2のクライアント情報(情報103a)をボディ103として含むHTTPリクエスト100ビーコンサーバ10に送信される。ビーコンサーバ10は、HTTPリクエスト100をクライアント装置20から受信する。このため、複数の情報をまとめて1つのHTTPリクエストとして送信するので、情報の通信数を低減でき、通信を効率化できる。
【0082】
また、処理内容情報は、第1のクライアント情報及び第2のクライアント情報の少なくとも一方から所定の種類のクライアント情報を抽出するための情報である。ビーコンサーバ10は、受信された処理内容情報に基づいて、第1のクライアント情報及び第2のクライアント情報の少なくとも一方からクライアント情報を抽出し、抽出したクライアント情報を処理されたクライアント情報とする。このため、第1のクライアント情報及び第2のクライアント情報の少なくとも一方から、下流で所望の種類のクライアント情報を抽出できる。
【0083】
また、処理内容情報は、第1のクライアント情報及び第2のクライアント情報の少なくとも一方を判定するための情報である。ビーコンサーバ10は、受信された処理内容情報に基づいて、受信された第1のクライアント情報及び第2のクライアント情報の少なくとも一方を判定し、判定の結果を処理されたクライアント情報とする。このため、第1のクライアント情報及び第2のクライアント情報の少なくとも一方から、下流で所望の判定結果の情報を取得できる。
【0084】
また、処理内容情報は、第1のクライアント情報及び前記第2のクライアント情報の少なくとも一方を変換するための情報である。ビーコンサーバ10は、受信された処理内容情報に基づいて、受信された第1のクライアント情報及び第2のクライアント情報の少なくとも一方を変換し、変換したクライアント情報を処理されたクライアント情報とする。このため、第1のクライアント情報及び第2のクライアント情報の少なくとも一方を、下流で所望のクライアント情報に変換できる。
【0085】
[2.その他]
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてHDD,SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0086】
なお、上記実施の形態において、クライアント装置20のブラウザによるWebビーコンに基づく画像データを要求するHTTPリクエストをビーコンサーバ10に送信する構成を説明したが、これに限定されるものではない。例えば、クライアント装置20でWebページを表示する機能がある他のアプリ(アプリケーションプログラム)を実行する構成とし、当該アプリにロガーが組み込まれているものとする。この構成で、
図2のブラウザ処理と同様にして、制御部21(アプリ)は、Webページの閲覧時にクライアント情報及びその処理内容情報を含むHTTPリクエストを生成してビーコンサーバ10に送信する。例えば、アプリがお天気アプリである場合に、HTTPリクエスト100のボディ103には、デフォルトでビーコンサーバ10に記憶する情報103aにお天気のプッシュ通知情報を格納してもよい。なお、クライアント装置20で実行されるアプリは、Webページ閲覧機能を有するアプリに限定されるものではない。アプリ開発者が、Webページ閲覧機能を有しないアプリにロガーを組み込み、当該アプリが実行されたクライアント装置20が、そのロガーを利用して任意のトリガーでビーコンサーバ10にHTTPリクエストを送信する構成としてもよい。
【0087】
また、上記実施の形態において、クライアント装置20の制御部21は、HTTPリクエスト100のヘッダ102の少なくとも一部の情報に対応するハッシュ値を算出してボディ103のデフォルトでビーコンサーバ10に記憶する情報103aに当該ハッシュ値を格納し、追加でビーコンサーバ10に記憶するための情報103bに上記ヘッダ102の少なくとも一部の情報からハッシュ値を算出する処理をするための処理内容情報を格納する構成としてもよい。この構成では、ビーコンサーバ10の制御部11は、受信したHTTPリクエスト100の情報103bに基づいて、ヘッダ102の少なくとも一部の情報からハッシュ値を算出してログ情報200を生成する。このログ情報200のボディ201と追加情報202とに、クライアント装置20、ビーコンサーバ10それぞれで算出されたハッシュ値が格納される。
【0088】
ビーコンサーバ10又は情報処理サーバ50は、このログ情報200を取得して、ボディ201及び追加情報202にそれぞれ含まれるハッシュ値を比較し、ハッシュ値が同じ場合に、HTTPリクエスト100のヘッダ102の少なくとも一部の情報が、HTTPリクエスト100の送信経路上で書き換えられた可能性がなく、ハッシュ値が異なる場合に、HTTPリクエスト100のヘッダ102の少なくとも一部の情報が、HTTPリクエスト100の送信経路上で書き換えられた可能性があることを認識できる。また、ハッシュ値の算出の対象は、ボディ103の情報103aの少なくとも一部としてもよい。また、2つの情報の比較のための算出値はハッシュ値に限定されるものではなく、他のチェックサムの算出値としてもよい。
【0089】
また、上記実施の形態において、クライアント装置20の制御部21は、含まれるボディ103などの情報の種類が同じHTTPリクエスト100を生成してビーコンサーバ10に送信する構成としたが、これに限定されるものではない。例えば、クライアント装置20の制御部21は、例えばクライアント装置20の状況に応じて、含まれるボディなどの情報の種類(情報103aの種類、情報103bの内容など)が異なるHTTPリクエストを生成してビーコンサーバ10に送信する構成としてもよい。
【0090】
また、上記実施の形態において、ビーコンサーバ10の制御部11は、HTTPリクエスト100の情報103bに基づき、処理対象の情報に対して同じ処理を行う構成としたが、これに限定されるものではない。例えば、ビーコンサーバ10の制御部11は、情報103bのキーに応じて、処理対象の情報に対して行う処理を変える構成としてもよい。このように、情報103bのキーは、セットで指定することもできる。
【0091】
また、上記実施の形態において、ビーコンサーバ10の制御部11は、HTTPレスポンス110を所定の画像データ以外の情報を追加しないで生成してクライアント装置20に送信する構成としたが、これに限定されるものではなく、ビーコンサーバ10からクライアント装置20に送信する情報(HTTPレスポンス110)に何か情報を入れる構成としてもよい。例えば、ログ情報として(ニュースの)Webページのページ名が含まれ、情報処理サーバ50でそのログ情報の統計をとって、各Webページの閲覧数のランキングをとる構成とする。そして、クライアント装置20で取得されたニュースのWebページに応じてHTTPリクエスト100が生成されてビーコンサーバ10に送信され、ビーコンサーバ10は、HTTPリクエスト100のボディに含まれるページ名を情報処理サーバ50に送信して、そのページ名のWebページの閲覧数のランキング情報を取得する。そして、ビーコンサーバ10の制御部11は、取得した閲覧数のランキング情報をボディ113に含むHTTPレスポンスを生成してクライアント装置20に送信する。クライアント装置20の制御部21は、受信したHTTPレスポンスの閲覧数のランキング情報をWebページデータとともに表示部24に表示する。
【0092】
また、上記実施の形態におけるビーコンシステム1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【0093】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。