以下、図面を参照して、ここで開示する技術の実施の形態について説明する。
図1は、ログ収集およびログ解析の方式を説明する図である。同図に示される例は、ログ収集対象端末(例えば、スマートフォン)1からログ収集サーバ2にログデータが送信される。そして、ログ解析装置4によりログ収集サーバからログデータが取得され、ログの解析が行われる。
ログ収集対象端末であるスマートフォン1は、例えば、無線により基地局にアクセスし、その後、インターネットなどのネットワークを介してログ収集サーバ2と通信を行うようになされている。無線による通信は、例えば、携帯電話機などで用いられている移動体通信網を用いて行われるようになされている。
スマートフォン1は、例えば、GUIによる操作部としての機能を兼ねたディスプレイを有する構成とされ、例えば、インターネットを介して所定のWEBページにアクセスし、ディスプレイにWEBページの情報を表示することができるように構成されている。また、スマートフォン1は、例えば、所定の時間以上ユーザの操作入力がなされなかった場合、自動的にディスプレイの表示などがロックされ、ロックされた後は、省電力モードで動作するようになされている。ユーザは、予め設定された所定の操作(例えば、ディスプレイにタッチする)とともに、登録されているパスワードなどを入力することにより、スマートフォン1のロックを解除することができる。
また、例えば、スマートフォン1のユーザが、予め時刻とURL(Uniform Resource Locator)を登録しておくことにより、所望の時刻に所望のWEBページに自動的にアクセスし、ディスプレイにWEBページの情報を表示させることもできる。すなわち、スマートフォン1において、ロックが解除された時刻に応じて、自動的にディスプレイにWEBページの情報を表示させることもできる。例えば、午前7時乃至8時の間にロックが解除された場合、スマートフォン1のディスプレイに自動的に鉄道の運行状況が表示され、午前9時乃至午前10時の間にロックが解除された場合、スマートフォン1のディスプレイに自動的にニュースが表示されるようにすることができる。
ログ収集対象端末(スマートフォン)1から送信されるログデータは、例えば、スマートフォン1がユーザによりロック解除された時刻、およびそのとき表示されたWEBページなどの情報が含まれる。
スマートフォン1から送信されたログデータは、ログ収集サーバ2に接続された外部記憶部装置などに構築されたデータベース3に蓄積されるようになされている。
ログデータを解析する場合、解析者は、例えば、パーソナルコンピュータなどにより構成されるログ解析装置4を用いて、ログ収集サーバ2からログデータを取得する。ログ解析装置4は、例えば、インターネットなどのネットワークを介してログ収集サーバ2にアクセスし、データベース3の中の所望のログデータを検索する。そして、検索されたログデータを、ネットワークを介して受信することでログデータを取得するようになされている。
なお、同図においては、ログ収集対象端末1が1台のみ記載されているが、実際には、もっと多くのログ収集対象端末が存在する。
この例では、図1の左側に記載されたログ収集に係るソフトウェアなどと、図1の右側に記載されたログ解析に係るソフトウェアなどが、それぞれ異なる方式で開発される。
例えば、ログ収集に係るソフトウェアは、スマートフォン1に実装されるアプリケーションプログラムなどの一部として開発される。このアプリケーションプログラムが実行されることにより、例えば、予め設定された所定の時刻に、スマートフォン1からログ収集サーバ2へ予め決められた情報を含んだログデータを送信するようになされる。
また、例えば、ログ解析に係るソフトウェアは、マーケティングや利用実態の把握などログ解析の目的に応じて開発され、データベース3に蓄積されたログデータから所望の情報を抽出して、解析者に提示するなどの処理を実行するようになされる。
ただし、このような図1の例の技術によるログ収集およびログ解析においては、次のような問題が考えられる。
例えば、この例の技術では、多数のログ収集対象端末1のそれぞれが、一律の情報量を有するログデータを、一律の頻度でログ収集サーバ2に送信することになるので、データベース3に蓄積されるログデータのデータ量も膨大なものとなる。ログデータのデータ量が多くなると、データ処理に時間がかかるようになり、所望の分析を単位時間内に終了させることが困難になる。また、データ量が増えると、保持、管理のコストも高くなる。
また、この例の技術でのログ収集は、各機器から収集し得るログを一律に収集することが多かったため、全ユーザにログ収集の負担を掛けることになる。例えば、機器のバッテリー消費、セキュリティリスクなどの負担をユーザに強いることになる。
さらに、この例のログ収集においては、例えば、それまで想定していなかったログの内容を追加する必要に迫られたり、ログ収集の頻度を増やす必要に迫られた際には、多数のユーザとの間で調整が必要になることがある。例えば、ログ解析の都合上、それまで送信されることがなかった情報をログデータに追加することが必要となった場合、スマートフォン1に実装されるアプリケーションプログラムなどを変更する必要がある。または、ログ収集対象端末1からログ収集サーバ2へログデータを送信する頻度を変更することが必要となった場合も、やはりスマートフォン1に実装されるアプリケーションプログラムなどを変更する必要がある。
そして、変更されたアプリケーションプログラムなどを、多数のログ収集対象端末1にあらためて実装させる必要がある。例えば、スマートフォン1のアプリケーションプログラムのバージョンアップのタイミングに合わせて、ログ収集に係る機能の追加などが行われていた。しかし、マーケティングなどを目的としてログ解析を行う場合、スピードが重要な要素となる。例えば、期間限定のイベントなどにおけるマーケティングを目的としたログ解析は、その期間内に解析が完了しなければ意味を持たないものとなる。
さらに、例えば、ログ収集に係るシステムとログ解析に係るシステムが、互いに独立した仕組みを採用していることにより、ログの内容の追加、ログ収集の頻度の変更などの対応に係る調整がより複雑になる傾向にあった。
そこで、本技術においては、図2に示されるように、ログ解析装置4のユーザの要求に応じて、ログ収集対象端末1にパラメータがフィードバックされるようにする。例えば、ログデータに含めるべき情報(ログの内容)やログデータをログ収集サーバ2に送信する頻度などをパラメータとして設定できるようにし、ログ解析装置4のユーザの要求に応じてパラメータを変更できるようにする。そして、ログ収集サーバ2を介して、全てのログ収集対象端末1に、変更されたパラメータをフィードバックできるようにする。
図3は、本技術に係るログ収集システム10の構成例を示す図である。ログ収集対象端末である端末21、端末22、端末23、・・・は、ログ収集のためのソフトウェア、ハードウェアが装備されており、それぞれネットワーク25に接続されている。
端末21、端末22、端末23、・・・のそれぞれは、例えば、パーソナルコンピュータ、携帯電話機、スマートフォンなどの電子機器により構成される。ここでは、端末21、端末22、端末23、・・・のそれぞれが、スマートフォンとして構成される場合の例について説明する。スマートフォンの機能については、図1を参照して上述した場合と同様である。
すなわち、スマートフォンは、例えば、GUIによる操作部としての機能を兼ねたディスプレイを有する構成とされ、例えば、インターネットを介して所定のWEBページにアクセスし、ディスプレイにWEBページの情報を表示することができるように構成されている。また、スマートフォンは、例えば、所定の時間以上ユーザの操作入力がなされなかった場合、自動的にディスプレイの表示などがロックされ、ロックされた後は、省電力モードで動作するようになされている。ユーザは、予め設定された所定の操作(例えば、ディスプレイにタッチする)とともに、登録されているパスワードなどを入力することにより、スマートフォンのロックを解除することができる。
また、例えば、スマートフォンのユーザが、予め時刻とURL(Uniform Resource Locator)を登録しておくことにより、所望の時刻に所望のWEBページに自動的にアクセスし、ディスプレイにWEBページの情報を表示させることもできる。すなわち、スマートフォンにおいて、ロックが解除された時刻に応じて、自動的にディスプレイにWEBページの情報を表示させることもできる。例えば、午前7時乃至8時の間にロックが解除された場合、スマートフォンのディスプレイに自動的に鉄道の運行状況が表示され、午前9時乃至午前10時の間にロックが解除された場合、スマートフォンのディスプレイに自動的にニュースが表示されるようにすることができる。
スマートフォンから送信されるログデータは、例えば、スマートフォンがユーザによりロック解除された時刻、およびそのとき表示されたWEBページなどの情報が含まれる。
ネットワーク25は、例えば、無線による通信を行うための基地局などを含み、その後、ログ収集サーバ27と通信を行うための有線のネットワーク(例えば、インターネット)を含むものとされる。
端末21、端末22、端末23、・・・は、それぞれ定期的にログ収集サーバ27に対するポーリングを行うようになされており、ポーリングに伴って、自身の識別番号などを送信するようになされている。また、端末21、端末22、端末23、・・・には、それぞれ所定のアプリケーションプログラムが実装されており、このプログラムが実行されることにより、自動的に、ログ収集サーバ27にログデータが送信されるようになされている。
また、端末21、端末22、端末23、・・・に実装されるアプリケーションプログラムは、ログ収集サーバ27から送信されるデータに基づいてパラメータの設定を受け付けるようになされている。例えば、上述したポーリングに対する応答として、ログ収集サーバ27から端末21、端末22、端末23、・・・へ、パラメータの設定に係るデータが送信される。パラメータの設定に係るデータは、例えば、XML文として記述されたデータとされる。
ログ収集サーバ27は、例えば、比較的処理能力の高いコンピュータなどにより構成され、HDDなどにより構成される外部記憶装置に構築されたデータベース26へのデータの書き込み、読み出しなどの処理を制御する。端末21、端末22、端末23、・・・から送信されたログデータは、例えば、所定のフォーマットのデータセットに置き換えられ、データベース26に順次記憶されていくようになされている。
また、ログ収集サーバ27は、データベース26に蓄積されたログデータを所定の基準で分類する処理などを実行するようになされている。
ログ解析装置31、ログ解析装置32、ログ解析装置33、・・・は、それぞれパーソナルコンピュータなどにより構成される。ログデータを解析する場合、解析者は、例えば、ログ解析装置31を用いて、ログ収集サーバ27からログデータを取得する。ログ解析装置31は、例えば、インターネットなどのネットワーク28を介してログ収集サーバ27にアクセスし、データベース26の中の所望のデータセットを検索する。なお、ネットワーク25とネットワーク28は、同じネットワークとされるようにしてもよい。
そして、解析者は、上述のように検索されたデータセットから得られるデータを、ネットワークを介してログ解析装置31で受信することでログデータを取得するようになされている。ログ解析装置31は、例えば、ログ収集サーバ27によるログデータの分類結果に基づいて、取得したログデータをグラフ化して表示するなどの処理を実行するようになされている。
図4は、図3の端末21の構成例を示すブロック図である。なお、同図は、端末21の構成とされているが、同図の構成を端末22、端末23、・・・に適用することも可能である。
図4において、端末21のCPU(Central Processing Unit)111は、ROM(Read Only Memory)112に記憶されているプログラム、または記憶部123からRAM(Random Access Memory)113にロードされたプログラムに従って各種の処理を実行する。RAM113にはまた、CPU111が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU111、ROM112、およびRAM113は、バス114を介して相互に接続されている。このバス114にはまた、入出力インタフェース120も接続されている。
入出力インタフェース120には、キーボード、マウスなどよりなる入力部121、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部122、および、ハードディスクやフラッシュメモリなどより構成される記憶部123が接続されている。
入出力インタフェース120にはまた、必要に応じてドライブ125が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア126が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部123にインストールされる。
入出力インタフェース120にはさらに、移動体通信網用無線通信部131、および近距離無線通信部132が接続されている。
移動体通信網用無線通信部131は、図示せぬ無線基地局と無線通信を行い、移動体通信網を介した通信を行う無線通信デバイスである。移動体通信網用無線通信部131は、例えば2GHzの周波数帯を使い、通話アプリケーションだけでなく、最大2Mbpsのデータ通信を用いてインターネット接続など各種通信アプリケーションに利用される。例えば、移動体通信網用無線通信部131による無線通信は、コンテンツデータのダウンロードやサーバ21との通信等に用いられる。なお、移動体通信網用無線通信部131は、例えば、いわゆる第3世代携帯電話の通信方式による通信が可能なデバイスなどとして構成されることが想定されている。
近距離無線通信部132は、例えば、Bluetooth(登録商標、BTとも称する)やIEEE(Institute of Electrical and Electronic Engineers)802.11x等の近距離無線通信デバイスである。ここで、近距離無線通信とは、通信可能最大距離が数メートル乃至数十メートル程度のローカルな(狭域の)無線通信を意味する。通信規格は任意である。例えば、近距離無線通信部132がBTの通信を行うものである場合は、アンテナを経由して2.4GHz帯にて最大通信速度3Mビット/秒(バージョン2.0+EDR以降)の通信を行う。
端末21の各部は、CPU111により制御される。制御プログラムの実行バイナリコードはROM112や記憶部123に保存されており、各種演算処理のためスタック、ヒープ領域はRAM113上に展開される。
図5は、図3のログ収集サーバ27の構成例を示すブロック図である。
同図に示されるように、ログ収集サーバ27は、端末21の場合と同様に、バス204を介して互いに接続されるCPU201、ROM202、およびRAM203を有する。また、バス204には、入出力インタフェース210が接続される。
この入出力インタフェース210には、端末21の場合と同様に、入力部211、出力部212、記憶部213、およびリムーバブルメディア216用のドライブ215が接続される。
図5のCPU201、ROM202、RAM203、バス204、入出力インタフェース210、入力部211、出力部212、記憶部213、ドライブ215、およびリムーバブルメディア216は、それぞれ、図4のCPU111、ROM112、RAM113、バス114、入出力インタフェース120、入力部121、出力部122、記憶部123、ドライブ125、およびリムーバブルメディア126に対応する。
ログ収集サーバ27は、また、入出力インタフェース210に接続される通信部214を有する。この通信部214は、ネットワークを介して他の装置と通信を行う通信デバイスである。例えば、通信部214は、有線のネットワークに接続され、端末21、端末22、端末23、・・・やログ解析装置31、ログ解析装置32、ログ解析装置33、・・・との通信に利用される。
入出力インタフェース210には、さらに、データベース26が接続される。
データベース26には、上述したように、端末21、端末22、端末23、・・・から送信されたログデータが、例えば、所定のフォーマットのデータセットに置き換えられ、順次記憶されていくようになされている。
図6は、図4の端末21のCPU111で実行されるプログラムなどのソフトウェアの機能的構成例を示すブロック図である。
同図に示されるイベント検知部301は、端末21において発生した各種のイベントを検知するようになされている。例えば、イベント検知部301は、端末21のディスプレイの表示のロック、またはロックの解除をイベントとして検知する。また、例えば、イベント検知部301は、端末21が所定のWEBページにアクセスした場合、そのアクセスおよびアクセス先のURLをイベントとして検知するようになされている。
イベント記録制御部302は、イベント検知部301により検知されたイベントを、そのイベントの発生時刻と対応付けて記録するようになされている。
ポーリング制御部303は、端末21が定期的にログ収集サーバ27に対して行うポーリングを制御するようになされている。また、ポーリング制御部303は、ログ収集サーバ27からのポーリングに対する応答に、フィードバックが含まれている場合、フィードバックに係る情報をフィードバック制御部304に供給するようになされている。上述したように、ポーリングに対する応答として、ログ収集サーバ27から端末21へ、パラメータの設定に係るデータがフィードバックとして送信される。
フィードバック制御部304は、フィードバックに係る情報を読み込んで指定されたパラメータの設定を反映させる。これにより、例えば、XML文として記述されたデータが、フィードバックに係る情報として読み込まれ、XML文の記述に従ってパラメータが新たに設定(設定が変更)される。
ログデータ生成部305は、予め設定されたパラメータに基づいて、イベント記録制御部302により記録された情報からログデータを生成するようになされている。例えば、ログデータに含めるべき情報の内容がパラメータとして指定され、指定された情報を含むログデータが生成される。なお、フィードバック制御部304により、パラメータの設定が変更された場合、ログデータ生成部305は、変更後のパラメータに基づいてログデータを生成する。
ログデータ送信部306は、予め設定されたパラメータに基づいて、ログデータ生成部305により生成されたログデータを、ログ収集サーバ27に送信するようになされている。例えば、時間帯毎にログデータを送信する頻度(間隔)がパラメータとして指定され、指定された頻度でログデータが送信される。なお、フィードバック制御部304により、パラメータの設定が変更された場合、ログデータ送信部306は、変更後のパラメータに基づいてログデータを生成する。
図7は、図5のログ収集サーバ27のCPU201で実行されるプログラムなどのソフトウェアの機能的構成例を示すブロック図である。
同図に示されるポーリング制御部331は、端末21などから送信されるポーリングを受信し、ポーリングに対する応答を送信する処理の制御などを行うようになされている。なお、ポーリング制御部331が送信するポーリングに対する応答には、必要に応じてフィードバックに係る情報が含まれる。
ログ受信制御部332は、端末21などから送信されるログデータの受信を制御するようになされている。また、ログ受信制御部332は、受信したログデータを、例えば、所定のフォーマットのデータセットに置き換えて、データベース26に順次記憶させる。
ログデータ分類部333は、ログ受信制御部332により受信されたログデータを所定の基準で分類するようになされている。ログデータ分類部333は、例えば、K-means法などのクラスタリング手法によりログデータを分類する。例えば、各端末の1日当たりのロック解除の回数に応じて、各端末から受信したログデータを複数のクラス(例えば、平均的回数のクラス、回数が多いクラス、回数が少ないクラスなど)に分類するようになされている。
ログデータ分類部333は、例えば、後述する要求取得制御部334の制御に応じてログデータを分類し、分類結果を要求取得制御部334に供給するようになされている。
要求取得制御部334は、ログ解析装置31、ログ解析装置32、ログ解析装置33、・・・からの要求を取得し、取得した要求に応じた処理を実行するようになされている。例えば、ログ解析装置31などから、ログデータの検索の要求を受信した場合、要求取得制御部334は、データベース26に記憶されているログデータを検索し、検索結果を返信するようになされている。
また、要求取得制御部334は、ログ解析装置31などからパラメータの設定の変更の要求が受信された場合、変更すべきパラメータを特定する情報などを生成して指示データ生成部335に供給するようになされている。
指示データ生成部335は、例えば、要求取得制御部334から供給される情報に基づいて、端末21などに対してパラメータの設定の変更を指示する指示データを生成するようになされている。例えば、パラメータの設定の変更を指示するためのXML文が指示データとして生成される。
なお、指示データ生成部により生成された指示データは、ポーリング制御部331に供給され、ポーリングに対する応答として端末21などに送信される。
図8は、端末21などから送信されるログデータの例を示す図である。同図の例では、セミコロンやカンマにより区切られたデータによりログデータが構成されている。例えば、ログデータのフォーマットは予め定められており、定められたフォーマットに従って生成されたログデータが送信される。
図9は、ログ収集サーバ27のデータベース26に記憶されるデータの例を示す図である。この例では、データベース26に4件(図中の4行)のデータセットが記憶されている。そして、各データセットのそれぞれが「id」、「ts」、「date」、「version」、および「sdk int」の5つの属性を有する構成とされている。
属性「uid」は、端末21、端末22、端末23、・・・などの各端末に固有の識別番号とされる。属性「id」は、属性「uid」として記述された識別番号を簡素化したものとされる。
属性「ts」は、いわゆるタイムスタンプとされ、例えば、属性「id」で識別される各端末において、最後に送信されたログデータに対応するイベントの発生日時が記述される。
属性「date」は、いわゆる登録日時を示す情報とされ、例えば、属性「id」で識別される各端末において、最初に送信されたログデータに対応するイベントの発生日時が記述される。
属性「version」は、各端末に実装されているアプリケーションプログラムなどのバージョンを表す情報とされる。
属性「sdk int」は、各端末に実装されているOS(オペレーティングシステム)などのバージョンを表す情報とされる。
ここでは、4件のデータセットが記憶されている例について説明したが、実際にはもっと多くのデータセットが記憶される。
図9に示されるデータは、各端末のプログラムの実装状態などを簡単に確認できるようにするためのものであり、いわゆる端末情報データベースとされる。すなわち、図9に示されるデータにより構成される端末情報データベースは、ログ収集サーバ27に対してポーリングを行う端末の台数分の行のデータにより構成されることになる。
なお、ここに示したものは、いわゆる端末情報データベースの一例であり、これとは異なる属性を有する端末情報データベースが構成されるようにしてもよい。例えば、各端末のユーザの年齢、性別、職業などの情報が含まれる端末情報データベースが構成されるようにしてもよい。
図10は、ログ収集サーバ27のデータベース26に記憶される別のデータの例を示す図である。図10の場合、各端末から複数回送信されたログデータに対応する行のデータセットによりデータベースが構成されており、このデータベースはいわゆるログデータベースとされる。
この例では、データベース26に5件(図中の5行)のデータセットが記憶されている。そして、各データセットのそれぞれが「id」、「oid」、「nid」、「ts」、「diff」、「op」、「cid」および「precid」の8つの属性を有する構成とされている。
属性「id」は、図9の場合と同様である。
属性「oid」は、当該データセットに固有の識別番号とされる。
属性「nid」は、例えば、当該データセットに対応するログデータのイベントを識別する番号などとされる。例えば、ディスプレイの表示のロック、またはロックの解除などを表す情報(番号)が記述される。
属性「ts」は、いわゆるタイムスタンプとされ、当該データセットに対応するログデータのイベントの発生日時などの情報が記述される。
属性「diff」は、例えば、当該データセットに対応するログデータのイベントの継続時間を表す情報とされる。例えば、当該データセットに対応するログデータのイベントがディスプレイの表示のロックの解除であった場合、ロックの解除から再びロックされるまでの時間を表す情報が記述される。
属性「op」は、当該データセットに対応するログデータのイベントが発生した際の操作の種類を表す情報とされる。例えば、当該データセットに対応するログデータが、端末のディスプレイにタッチする操作が行われてディスプレイの表示のロックの解除されたイベントに対応するものであった場合、属性「op」には、端末のディスプレイにタッチする操作を表す情報(番号)が記述される。
属性「cid」は、例えば、当該データセットに対応するログデータのイベントが発生した際に端末21などのディスプレイに表示されていたコンテンツを特定する識別番号とされる。例えば、端末21などが、所定のWEBページにアクセスし、そのWEBページの情報をディスプレイに表示していた場合、属性cidには、アクセス先のURLなどを特定する情報(番号)が記述される。
属性「precid」は、例えば、当該データセットに対応するログデータのイベントが発生する以前、直近に端末21などのディスプレイに表示されていたコンテンツを特定する情報(番号)とされる。
なお、ここに示したものは、いわゆるログデータベースの一例であり、これとは異なる属性を有するログデータベースが構成されるようにしてもよい。例えば、各端末のバッテリーの消費状態、単位時間あたりに送受信したデータ量などの情報が含まれるログデータベースが構成されるようにしてもよい。あるいはまた、各端末のGPS機能などを用いて取得された各端末の現在位置を特定する情報などが含まれるログデータベースが構成されるようにしてもよい。
図11は、ログ解析装置31などのディスプレイに表示される画面の例を示す図である。この例では、各端末の一週間あたりのロック解除の頻度についてのデータが、円グラフとしてグラフ化されて表示されている。
この円グラフによれば、一週間あたりのロック解除の回数が5回以下の端末の割合が41.3%であり、6回乃至11回の端末の割合が21.7%であり、12回乃至16回の端末の割合が19.6%であり、17回以上の端末の割合が17.4%であったことが分かる。このようなログデータの分類は、例えば、ログ収集サーバ27のログデータ分類部333により実行される。
解析者は、例えば、ログ解析装置31などのディスプレイに表示される図11のような画面を参照し、マーケティングや利用実態の把握などを行うことになる。
コンテンツのマーケティングを行う業者などの解析者が、例えば、所定のコンテンツのマーケティングを行う際に、一週間あたりのロック解除の頻度が高い端末のログ収集をより頻繁に行うべきと考えたとする。また、一週間あたりのロック解除の回数が5回以下の端末については、ログ収集を行う必要はないと考えたとする。この場合、解析者は、ログ解析装置31などのディスプレイに図12に示されるようなGUIを表示させ、ログ収集の頻度を変更するように、パラメータの設定の変更を要求することができる。
図12の例では、図11の円グラフの各端末のロック解除の頻度に対応してパラメータの設定の変更を指示するためのGUIが表示されている。同図の例では、円グラフの領域A乃至領域Dに対応するプルダウンメニューが表示されている。
同図の例では、領域Aに分類された端末のログ収集について、「ログを取らない」旨指示されている。また、領域Bに分類された端末のログ収集について、「ログを大まかに取る(例えば、1時間に1回ログを送信させる)」旨指示されている。さらに、領域Cに分類された端末のログ収集について、「ログを細かく取る(例えば、30分に1回ログを送信させる)」旨指示されている。また、領域Dに分類された端末のログ収集について、「ログを細かく取る」旨指示されている。なお、図12の例では、現在、領域Dに対応するプルダウンメニューにおいて、「ログを細かく取る」が指定されている。
なお、図11に示される画面、図12に示される画面などを表示させるために送受信されるデータについて、ログ収集サーバ27とログ解析装置31、ログ解析装置32、ログ解析装置33、・・・との間で予めプロトコルなどが定められているものとする。すなわち、解析者は、ログ解析装置31などにおいて、予め決められた所定の操作を行うことにより、ログ収集サーバ27からデータを受信して図11に示されるような画面を表示させることができるものとする。また、解析者は、ログ解析装置31などにおいて、予め決められた所定の操作を行うことにより、図12に示されるような画面を表示させ、ログ収集サーバ27に、ログ収集に係るパラメータの設定を変更させることができるものとする。
例えば、図12に示される画面により、ログ解析装置31からパラメータの設定の変更の要求がなされた場合、ログ収集サーバ27の要求取得制御部334により、この要求が受信される。そして、要求取得制御部334は、変更すべきパラメータを特定する情報などを生成して指示データ生成部335に供給する。
例えば、要求取得制御部334により、領域Aに分類された端末が特定され、それらの端末についてログを取らないようにする指示データを生成するための情報が供給される。これにより、指示データ生成部335によって、図13に示されるような指示データが生成される。
図13の例では、パラメータの設定の変更を指示するためのXML文が指示データとして生成されている。同図のXML文において「<response uid=” 0d68ae6dbcf30dd576d70df15ee1991b” logid=” op” >」と記述されたタグにより、この指示データを送信する端末の識別番号(図9の属性「uid」)が指定されている。ここで、指定された「uid」に対応する端末のポーリングに対する応答に、この指示データが含められることになる。
そして、「<target>0</target>」と記述されたタグにより、当該端末がログ収集の対象外であることが指定されている。なお、ログ収集の対象となる端末に対する指示データでは、このタグは、「<target>1</target>」と記述される。
このような指示データは、指示データ生成部335により、領域Aに分類された端末のそれぞれについて生成される。例えば、ログデータ分類部333による分類結果に基づいて、要求取得制御部334が領域Aに分類された端末のそれぞれの識別番号を特定し、端末の識別番号を指定するタグの記述が変更されて図13に示されるような指示データがそれぞれ生成されることになる。
なお、領域B乃至領域Dに分類された各端末に対しても、ログ解析装置31からのパラメータの設定の変更の要求に応じた指示データが生成されることになる。
また、解析者は、例えば、図14に示されるような画面を表示させることもできる。この例では、各端末の各時間帯におけるロック解除の頻度についてのデータが、折線グラフとしてグラフ化されて表示されている。例えば、同図の線401は、一週間あたりのロック解除の回数に基づいて分類された第1のクラスに属する端末の各時間帯におけるロック解除の回数の平均値をプロットしたものとされる。また、同図の線402は、一週間あたりのロック解除の回数に基づいて分類された第2のクラスに属する端末の各時間帯におけるロック解除の回数の平均値をプロットしたものとされる。さらに、同図の線403は、一週間あたりのロック解除の回数に基づいて分類された第3のクラスに属する端末の各時間帯におけるロック解除の回数の平均値をプロットしたものとされる。
図14の例では、「0−3(0時乃至3時)」、「3−6(3時乃至6時)」、「6−9(6時乃至9時)」、・・・「21−24(21時乃至24時)」の3時間間隔の時間帯におけるロック解除の回数の変化が示されている。解析者は、例えば、図14のスライダーバー410を操作することにより、2時間間隔の時間帯におけるロック解除の回数、6時間間隔の時間帯におけるロック解除の回数、・・・を表示させることができる。
解析者は、例えば、ログ解析装置31などのディスプレイに表示される図14のような画面を参照し、マーケティングや利用実態の把握などを行うこともできる。
コンテンツのマーケティングを行う業者などの解析者が、例えば、所定のコンテンツのマーケティングを行う際に、第3のクラスに属する端末について、0時乃至3時の時間帯においてより詳細(より多くの情報を含む)にログデータを収集すべきと考えたとする。また、第3のクラスに属する端末について、3時乃至6時の時間帯においてログデータを収集する必要はほとんどないと考えたとする。この場合、解析者は、ログ解析装置31などのディスプレイに図示せぬGUIを表示させ、ログ収集の内容を変更するように、パラメータの設定の変更を要求することができる。
例えば、ログ解析装置31からパラメータの設定の変更の要求がなされた場合、ログ収集サーバ27の要求取得制御部334により、この要求が受信される。そして、要求取得制御部334は、変更すべきパラメータを特定する情報などを生成して指示データ生成部335に供給する。
例えば、要求取得制御部334により、第3のクラスに分類された端末が特定され、それらの端末について、時間帯毎のログの内容を指示する指示データを生成するための情報が供給される。これにより、指示データ生成部335によって、図15に示されるような指示データが生成される。
図15の例では、パラメータの設定の変更を指示するためのXML文が指示データとして生成されている。同図のXML文において「<response uid=” 0d68ae6dbcf30dd576d70df15ee1991b” logid=” op” >」と記述されたタグにより、この指示データを送信する端末の識別番号(図9の属性「uid」)が指定されている。ここで、指定された「uid」に対応する端末のポーリングに対する応答に、この指示データが含められることになる。また、同図のXML文において「<target>1</target>」と記述されたタグにより、当該端末がログ収集の対象として指定されている。
さらに、図15のXML文におけるその後の記述により、各時間帯に収集するログデータに含めるべきデータの内容が指定されている。なお、ここでは、ログ収集の時間帯を、「0−3」、「3−6」、「6−9」、・・・「21−24」の3時間間隔で8の時間帯に分類し、8の時間帯のそれぞれを識別するために0乃至7の番号を割り当てるものとする。例えば、番号0の時間帯は「0−3」であり、番号1の時間帯は「3−6」であり、・・・番号7の時間帯は「21−24」とされる。
また、ここでは、また、収集するログデータに含めるべきデータの内容を識別するために0乃至2の番号を割り当てるものとする。例えば、番号0の場合、端末の識別番号とタイムスタンプのみがログデータに含められ、番号1の場合、さらに、イベントが発生した際の操作の種類を表す情報がログデータに含められる。そして、番号2の場合、さらに、イベントが発生した際に端末21などのディスプレイに表示されていたコンテンツを特定する識別番号がログデータに含められる。
例えば、図15のXML文において「<logtype timeIndex=” 0” >2</logtype>」と記述されたタグにより、「0−3」の時間帯においては、端末の識別番号、タイムスタンプ、イベントが発生した際の操作の種類を表す情報、およびイベントが発生した際のコンテンツの識別番号をログデータに含めて送信させる旨が指定されている。また、「<logtype timeIndex=” 1” >0</logtype>」と記述されたタグにより、「3−6」の時間帯においては、端末の識別番号とタイムスタンプのみをログデータに含めて送信させる旨が指定されている。
同様に、それ以降の時間帯においても収集するログデータに含めるべきデータの内容が指定されている。
このような指示データは、指示データ生成部335により、第3のクラスに分類された端末のそれぞれについて生成される。例えば、ログデータ分類部333による分類結果に基づいて、要求取得制御部334が第3のクラスに分類された端末のそれぞれの識別番号を特定し、端末の識別番号を指定するタグの記述が変更されて図15に示されるような指示データがそれぞれ生成されることになる。
このように、本技術によれば、ログデータに含めるべき情報(ログの内容)やログデータをログ収集サーバに送信する頻度などをパラメータとして設定できる。そして、ログ収集サーバを介して、全てのログ収集対象端末に、変更されたパラメータをフィードバックできる。すなわち、ログ解析装置のユーザ(解析者)の要求に応じて、ログ収集対象端末にパラメータがフィードバックされる。
ログデータのデータ量が多くなると、データ処理に時間がかかるようになり、所望の分析を単位時間内に終了させることが困難になる。また、データ量が増えると、保持、管理のコストも高くなる。
さらに、従来技術によるログ収集のように、各機器から収集し得るログを一律に収集すると、全ユーザにログ収集の負担を掛けることになる。例えば、機器のバッテリー消費、セキュリティリスクなどの負担をユーザに強いることになる。
また、従来のログ収集においては、ログ解析の都合上、それまで送信されることがなかった情報をログデータに追加することが必要となった場合、例えば、機器のアプリケーションプログラムのバージョンアップのタイミングに合わせて、ログ収集に係る機能の追加などが行われていた。
さらに、例えば、ログ収集に係るシステムとログ解析に係るシステムが、互いに独立した仕組みを採用していることにより、ログの内容の追加、ログ収集の頻度の変更などの対応に係る調整がより複雑になる傾向にあった。
これに対して、本技術では、上述したように、ログ収集サーバを介して、全てのログ収集対象端末に、変更されたパラメータをフィードバックできるようにした。つまり、ログデータの送信頻度や内容を目的に応じて変更することができるので、目的を達成するための必要最小限のログデータを収集することができる。従って、例えば、処理すべきログデータの量が膨大になることもなく、充実したログ解析を行うことが可能となる。
また、本技術によれば、アプリケーションプログラムのバージョンアップのタイミングなどを待つことなく、ログ収集対象端末にパラメータがフィードバックされるようにした。従って、スピード感に富んだマーケティングなどを行うことが可能となる。
さらに、本技術においては、例えば、XML文により記述された指示により、フィードバックが反映されるようにした。従って、例えば、関係者間での複雑な調整を行うことなく、ログの内容の追加、ログ収集の頻度の変更などの対応を行うことができる。
また、本技術によれば、一度収集したログを解析した結果、ログデータに含めるデータの内容や収集頻度を変更し、その変更後に収集したログを解析した結果、さらにログデータに含めるデータの内容や収集頻度を変更することもできる。すなわち、本技術によれば、例えば、ユーザによる端末の利用目的や利用時間の変化などに応じて動的にログ解析を行うようにすることもできるのである。
次に、図16のフローチャートを参照して、図3の端末21によるログ送信処理の例について説明する。なお、ここでは、端末21によるログ送信処理の例について説明するが、端末22、端末23、・・・についても同様である。
ステップS21において、端末21のポーリング制御部303は、ポーリングする時刻になったか否かを判定する。ステップS21において、ポーリングする時刻になったと判定された場合、処理は、ステップS22に進む。
ステップS22において、ポーリング制御部303は、ログ収集サーバ27に対してポーリングを行う。
ステップS23において、ポーリング制御部303は、ステップS22のポーリングに対する応答を受信する。ここで、ポーリング制御部303は、ログ収集サーバ27からのポーリングに対する応答に、フィードバックが含まれている場合、フィードバックに係る情報をフィードバック制御部304に供給するようになされている。
ステップS24において、フィードバック制御部304は、応答に含まれる指示(フィードバック)を反映する。ここで、フィードバック制御部304は、例えば、フィードバックに係る情報を読み込んで指定されたパラメータの設定を反映させる。これにより、例えば、XML文として記述されたデータが、フィードバックに係る情報として読み込まれ、XML文の記述に従ってパラメータの設定が変更される。
また、これ以後、ログデータ生成部305は、変更後のパラメータに基づいてログデータを生成する。
なお、ステップS21において、ポーリングする時刻ではないと判定された場合、ステップS22乃至ステップS24の処理はスキップされ、処理は、ステップS25に進む。
ステップS25において、ログデータ送信部306は、ログデータを送信する時刻になったか否かを判定する。ステップS25において、まだ、ログデータを送信する時刻になっていないと判定された場合、処理は、ステップS21に戻る。一方、ステップS25において、ログデータを送信する時刻になったと判定された場合、処理は、ステップS26に進む。
ステップS26において、ログデータ送信部306は、設定されたパラメータに基づいて、ログデータ生成部305により生成されたログデータを、ログ収集サーバ27に送信する。そして、処理は、ステップS21に戻る。
このようにしてログ送信処理が実行される。
次に、図17のフローチャートを参照して、図3のログ収集サーバ27によるポーリング応答処理の例について説明する。
ステップS41において、ログ収集サーバ27の要求取得制御部334は、ログ取得条件の変更の要求、すなわち、ログ解析装置31などから、上述したパラメータの設定の変更の要求があったか否かを判定する。ステップS41において、パラメータの設定の変更の要求があったと判定された場合、処理は、ステップS42に進む。
ステップS42において、要求取得制御部334は、パラメータの設定の変更の対象となる端末(変更対象)を特定する。例えば、各変更対象の識別番号が特定される。
ステップS43において、指示データ生成部335は、ステップS42で特定された変更対象のそれぞれに対する指示データを生成する。このとき、例えば、図13、図15を参照して上述したような指示データが生成される。
ステップS43の処理の後、処理は、ステップS44に進む。また、ステップS41において、パラメータの設定の変更の要求がなかったと判定された場合、ステップS42とステップS43の処理はスキップされ、処理は、ステップS44に進む。
ステップS44において、ログ収集サーバ27のポーリング制御部331は、端末21などからのポーリングを受信したか否かを判定する。ステップS44において、ポーリングを受信していないと判定された場合、処理は、ステップS41に戻る。ステップS44において、ポーリングを受信したと判定された場合、処理は、ステップS45に進む。
ステップS45において、ポーリング制御部331は、ステップS44で受信したと判定されたポーリングが、ステップS42で特定した変更対象からのポーリングか否かを判定する。ステップS45において、変更対象からのポーリングでないと判定された場合、処理は、ステップS46に進む。
ステップS46において、ポーリング制御部331は、ポーリングに対する応答として、通常の応答を送信する。
一方、ステップS45において、変更対象からのポーリングであると判定された場合、処理は、ステップS47に進む。
ステップS47において、ポーリング制御部331は、ポーリングに対する応答として、ステップS43の処理で生成された指示データを含む応答を送信する。
ステップS46またはステップS47の処理の後、処理は、ステップS41に戻る。
このようにして、ポーリング応答処理が実行される。
このようなログ収集システム10を採用することにより、例えば、次のようなマーケティングを行うことができる。
例えば、映画の配給会社が1か月後に公開される映画についての効率的な広告宣伝を行うためのマーケティングを行う場合を考える。
例えば、配給会社のマーケティング担当者は、ログ解析装置31などを用いて、自社のWEBページにアクセスした端末のログデータを取得して解析する。解析の結果、所定の検索エンジンのWEBページにアクセスした後、自社のWEBページにアクセスする端末が多いことが分かったとする。配給会社のマーケティング担当者は、ログ解析装置31などを用いて、さらに、自社のWEBページにアクセスする頻度の高い時間帯を特定する。解析の結果、例えば、6時乃至9時の時間帯と、18時乃至21時の時間帯において、各端末が自社のWEBページにアクセスする頻度の高いことが分かったとする。
この場合、配給会社は、例えば、所定の検索エンジンのWEBページにおいて6時乃至9時の時間帯と、18時乃至21時の時間帯にバナー広告を表示するようにする効果的である。すなわち、少ない費用で広告宣伝の効果を充分に高めることができる。
また、このようなログ収集システム10を採用することにより、例えば、次のような連絡方式を実現することができる。
例えば、大雨による河川の洪水が懸念され、付近の住民に避難勧告せざる得ない状況になった場合、当該河川の付近に位置している端末をできるだけ多く特定し、当該端末が最も多くアクセスしているWEBページを特定する。そして、当該WEBページに、例えば、「○○河の氾濫が予想されます。直ちに××方面に避難してください。」というメッセージを表示する。
このようにすることで、例えば、当該WEBページにアクセスしたユーザから口コミで情報が伝達されることを期待できる。
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータにネットワークや記録媒体からインストールされる。また、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディアなどからなる記録媒体からインストールされる。
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。