情報処理装置、クライアント管理方法及びクライアント管理システム
【課題】 インデックスデータを用いてクライアント装置のログデータを検索できるまでの時間を短縮することができる情報処理装置及びクライアント管理方法を提供すること。
【解決手段】 実施形態によれば、情報処理装置は、格納手段、ログ受信手段及びマージ手段を具備する。格納手段は、複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納する。ログ受信手段は、ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信する。マージ手段は、前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成する。前記格納手段は、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納する。
【解決手段】 実施形態によれば、情報処理装置は、格納手段、ログ受信手段及びマージ手段を具備する。格納手段は、複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納する。ログ受信手段は、ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信する。マージ手段は、前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成する。前記格納手段は、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、クライアントを管理する情報処理装置、該装置に適用されるクライアント管理方法及びクライアント管理システムに関する。
【背景技術】
【0002】
クライアントとサーバーとが相互に接続されたクライアント−サーバーシステムでは、クライアントでの処理や操作の記録を示すログがサーバーによって管理されることがある。サーバーは、例えば、クライアントのログを検索することによってクライアントでの不正な操作を検出し、システムで発生したトラブル等に対処することができる。
【0003】
一般に、サーバーは複数のクライアントと相互に接続される。サーバーには、それら複数のクライアントが利用されている間、クライアントのログが蓄積されていくので、サーバーによって管理されるログのデータ量は膨大になる。そのため、蓄積されたログから必要なログを探し出すために要する時間は長くなる。
【0004】
蓄積されたログから特定の文字列を含むログを探し出すとき、サーバーは例えばインデックス方式によってログを検索する。インデックス方式では、ログに対応するインデックスが予め作成される。このインデックスを利用することによってログを高速に検索することができるので、蓄積されたログから必要なログを素早く探し出すことができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−259482号公報
【特許文献2】特開2005−25460号公報
【特許文献3】特開2005−85113号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、膨大な量のログデータに対応するインデックスデータを作成する場合、その処理に要する時間が長くなる可能性がある。その場合、インデックスデータが作成されるまで、ログデータの検索を行うことはできない。つまり、収集されたログデータをリアルタイムで検索するような利用は困難である。
【0007】
本発明は、インデックスデータを用いてクライアント装置のログデータを検索できるまでの時間を短縮することができる情報処理装置、クライアント管理方法及びクライアント管理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、情報処理装置は、格納手段、ログ受信手段及びマージ手段を具備する。格納手段は、複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納する。ログ受信手段は、ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信する。マージ手段は、前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成する。前記格納手段は、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納する。
【図面の簡単な説明】
【0009】
【図1】クライアント管理システムの構成の例を示す概念図。
【図2】実施形態に係るクライアント管理システムを説明するための概念図。
【図3】同実施形態のクライアント管理システムの構成の例を示すブロック図。
【図4】同実施形態のクライアント管理システムによって用いられるポリシーデータの一構成例を示す図。
【図5】同実施形態のクライアント管理システムによって用いられるクライアントインベントリデータの一構成例を示す図。
【図6】同実施形態のクライアント管理システムによって用いられる一時インデックスデータに含まれるファイルインデックスデータの例を示す図。
【図7】同実施形態のクライアント管理システムによって用いられる一時インデックスデータに含まれるワードインデックスデータの例を示す図。
【図8】同実施形態のクライアント管理システムによって用いられるインデックスデータに含まれるファイルインデックスデータの例を示す図。
【図9】同実施形態のクライアント管理システムによって用いられるインデックスデータに含まれるワードインデックスデータの例を示す図。
【図10】同実施形態のクライアント管理システムによって表示されるポリシー設定画面の例を示す図。
【図11】同実施形態のクライアント管理システムによる処理の流れを説明するための概念図。
【図12】同実施形態のクライアント管理システムに含まれるサーバー装置によって実行されるサーバーログ管理処理の手順の例を示すフローチャート。
【図13】同実施形態のクライアント管理システムに含まれるクライアント装置によって実行されるクライアントログ管理処理の手順の例を示すフローチャート。
【図14】同実施形態のクライアント管理システムに含まれるクライアント装置のシステム構成の例を示すブロック図。
【図15】同実施形態のクライアント管理システムに含まれるサーバー装置のシステム構成の例を示すブロック図。
【発明を実施するための形態】
【0010】
以下、実施の形態について図面を参照して説明する。
まず、図1を参照して、クライアント管理システムの構成の例について説明する。クライアント管理システムでは、サーバー装置11と1以上のクライアント装置13,14,15とがネットワークを介して相互に接続されている。このクライアント管理システムでは、クライアント装置13,14,15の操作ログデータ13A,14A,15Aが、サーバー装置11に集約される。
【0011】
具体的には、クライアント装置13,14,15は、クライアント装置13,14,15を用いた操作を示す操作ログデータ13A,14A,15Aを生成し、ネットワークを介してサーバー装置11に送信する。サーバー装置11は、クライアント装置13,14,15によって送信された操作ログデータ13A,14A,15Aを記憶装置内のログ格納領域12に格納する。ログ格納領域12には、複数の操作ログデータ12Aが格納される。サーバー装置11は、ログ格納領域12に格納された操作ログデータ12Aを用いて、クライアント装置13,14,15を管理する。サーバー装置11は、例えば、操作ログデータ12Aを検索することによってクライアント装置13,14,15での不正な操作を検出し、システムに発生したトラブル等に対処することができる。
【0012】
サーバー装置11は、例えば、逐次検索方式又はインデックス方式で操作ログデータ12Aを検索する。逐次検索方式では、サーバー装置11は、複数の操作ログデータ12A(例えば、複数の文書ファイル)に含まれるテキストを順次走査することによって、対象の文字列(例えば、キーワード)を含む操作ログデータを検出する。一方、インデックス方式では、サーバー装置11は、複数の操作ログデータ12Aに対応するインデックスデータを予め作成し、このインデックスデータを用いて、対象の文字列を含む操作ログデータを検出する。インデックス方式では、操作ログデータ12Aに対応するインデックスデータを用いることにより、逐次検索方式よりも高速に対象の文字列を含む操作ログデータを検出することができる。
【0013】
しかし、複数のクライアント装置13,14,15によって送信される操作ログデータ13A,14A,15Aに対応するインデックスデータを生成することは、サーバー装置11への負荷が大きいことがある。例えば、サーバー装置11に接続されるクライアント装置の数が多い場合や、クライアント装置によって送信される操作ログデータのデータ量が大きい場合には、インデックスデータの作成に時間がかかる。また、例えば、数万のクライアント装置を有するクラウド環境での大規模システムを想定した場合、サーバー装置11がすべてのクライアント装置のログデータに対応するインデックスデータを即座に作成することは困難である。したがって、サーバー装置11に格納された操作ログデータ12Aを格納後すぐにリアルタイムで利用することができない。
【0014】
そのため、本実施形態のクライアント管理システムでは、例えば、管理者が指定したカテゴリに属するログデータ、検索頻度が高いカテゴリに属するログデータ、データ量(情報量)が多いカテゴリに属するログデータについては、クライアント装置側で操作ログデータに対応するインデックスデータを予め作成し、その作成されたインデックスデータをサーバー装置で統合(マージ)するという二段階の処理を行う。つまり、ログデータに対応するインデックスデータの一部がクライアント装置で生成されるので、サーバー装置は、生成されたインデックスデータをマージするだけで済む。これにより、インデックスデータを作成する処理によるサーバー装置の負荷が低減されると共に、インデックスデータを利用して操作ログデータを検索できるまでの時間を短縮することができる。
【0015】
図2を参照して、実施形態に係るクライアント管理システム1の例について説明する。
【0016】
クライアント管理システム1は、サーバー装置21と1以上のクライアント装置31,32,33とがネットワーク2を介して相互に接続されるクライアント・サーバーシステムである。サーバー装置21は、例えば、サーバーコンピュータとして実現され得る。また、クライアント装置31,32,33は、パーソナルコンピュータとして実現され得る。このクライアント管理システム1では、クライアント装置31,32,33の操作ログデータ362A,362B,362Cが、サーバー装置21に集約される。サーバー装置21は、集約された操作ログデータを分析し、また集約された操作ログデータから必要なログデータ(例えば、キーワードを含むデータ)を取得することができる。
【0017】
より具体的には、サーバー装置21は、まず、複数のポリシーデータ231Aの内の、複数のクライアント装置31,32,33それぞれに関連付けられたポリシーデータを、クライアント装置31,32,33に配信する。
【0018】
クライアント装置31,32は、操作ログデータ362A,362Bを収集すると共に、サーバー装置21によって配信されたポリシーデータ361A,361Bに基づいて、操作ログデータ362A,362Bに対応する一時インデックスデータ363A,363Bを生成する。例えば、クライアント装置31,32は、ポリシーデータ361A,361B,361Cに指定されたカテゴリに属する操作ログデータに対応する一時インデックスデータを生成し、それ以外のカテゴリに属する操作ログデータに対応する一時インデックスデータを生成しない。また、例えば、クライアント装置33は、ポリシーデータ361Cに指定されたカテゴリに属する操作ログデータがないので、操作ログデータ362C(すなわち、指定されたカテゴリに属しない操作ログデータ)に対応する一時インデックスデータを生成しない。そして、クライアント装置31,32,33は、操作ログデータ362A,362B,362Cと一時インデックスデータ363A,363Bとをサーバー装置21に送信する。
【0019】
サーバー装置21は、送信された操作ログデータ362A,362B,362Cをログ格納領域233に格納する。また、サーバー装置21は、送信された一時インデックスデータ363A,363Bを、インデックス格納領域235に格納されたインデックスデータ235Aにマージする。さらに、サーバー装置21は、送信された操作ログデータ362A,362B,362Cの内、対応する一時インデックスデータ363A,363Bが生成されていない操作ログデータのインデックスデータを作成する。サーバー装置21は、作成されたインデックスデータをインデックス格納領域235に格納する。これにより、サーバー装置21は、インデックスデータ235Aを利用して、操作ログデータ233Aを検索することができる。
【0020】
上述のように、ポリシーデータ361A,361B,361Cに指定されたカテゴリに属する操作ログデータについては、クライアント装置31,32で一時インデックスデータ363A,363Bが作成されるので、サーバー装置21は、そのインデックスデータの作成自体を行う必要がなく、一時インデックスデータ363A,363Bをインデックスデータ235Aにマージするだけで済む。したがって、サーバー装置21で、インデックスデータ235Aを得るために要する処理の負荷を低減することができる。
【0021】
次いで、図3を参照して、クライアント管理システム1の構成について説明する。クライアント管理システム1は、サーバー装置21とクライアント装置31とを備える。サーバー装置21とクライアント装置31とは、例えばネットワークを介して相互に接続される。
【0022】
サーバー装置21は、サーバーログ管理プログラム22を実行する。サーバーログ管理プログラム22は、クライアント装置31によって送信されたログデータを管理する機能を有するソフトウェアである。サーバーログ管理プログラム22は、ポリシー管理機能、ログ管理機能及びログ検索機能を有する。サーバーログ管理プログラム22は、ポリシー管理部220、表示制御部221、入力制御部222、通信部223、操作ログ格納部224、インデックス生成部225、一時インデックス格納部226、インデックスマージ部227、ログ分析部228、及びログ検索部229を備える。また、サーバーログ管理プログラム22は、サーバー装置21に設けられた記憶装置23にデータを格納し、格納されたデータを用いて処理を行う。この記憶装置23には、ポリシー格納領域231、インベントリ格納領域232、操作ログ格納領域233、一時インデックス格納領域234、及びインデックス格納領域235が設けられる。
【0023】
また、クライアント装置31は、クライアントログ管理プログラム35を実行する。クライアントログ管理プログラム35は、クライアント装置31のログデータを管理する機能を有するエージェントソフトウェアである。クライアントログ管理プログラム35は、クライアント装置31が操作された内容を示すログを収集し、収集されたログに対応するインデックスを生成する。クライアントログ管理プログラム35は、収集されたログと生成されたインデックスとをサーバー装置21に送信する。クライアントログ管理プログラム35は、通信部351、ポリシー格納部352、監視部353、操作ログ格納部354、及びインデックス生成部355を備える。また、クライアントログ管理プログラム35は、クライアント装置31に設けられた記憶装置36にデータを格納し、格納されたデータを用いて処理を行う。記憶装置36には、ポリシー格納領域361、操作ログ格納領域362及び一時インデックス格納領域363が設けられる。
【0024】
まず、サーバー装置21のポリシー管理機能による各部の動作について説明する。
入力制御部222は、管理者による各種の入力を検出する。管理者による入力は、例えば、キーボード、マウス、タッチパネル、タッチパッド等の各種の入力デバイスを用いて行われる。より具体的には、入力制御部222は、例えば、ポリシー設定画面の表示を指示する入力や、ポリシーの決定を指示する入力を検出する。ポリシー設定画面は、管理者がポリシーを設定するための画面である。管理者は、ポリシー設定画面を用いて、クライアント装置31に関連付けられるポリシーを新たに決定することや、既に関連付けられているポリシーを変更することができる。入力制御部222は、ポリシー設定画面の表示を指示する入力が検出されたことに応じて、表示制御部221にポリシー設定画面の表示を要求する。また、入力制御部222は、ポリシーの決定を指示する入力が検出されたことに応じて、ポリシー管理部220にポリシーが決定されたことを通知する。
【0025】
ポリシー管理部220は、ポリシー格納領域231に格納されたポリシーデータ231Aを管理する。ポリシーデータ231Aは、クライアント装置31にインデックスデータ(一時インデックスデータ)を生成させるためのポリシーを示す。ポリシー管理部220は、入力制御部222による通知に応じて、決定されたポリシーに対応するポリシーデータ231Aを生成する。
【0026】
図4は、ポリシーデータ231Aの一構成例を示す。ポリシーデータ231Aは、1以上のクライアント装置31に対応する1以上のエントリを含む。換言すると、1つのエントリは、1つのクライアント装置31に関連付けられる。各エントリは、例えば、クライアントID、カテゴリ及びファイルパスを含む。あるクライアント装置に対応するエントリにおいて、「クライアントID」は、そのクライアント装置に固有の識別情報(識別子とも称する)を示す。「クライアントID」は、そのクライアント装置で生成された操作ログデータ(ログファイル)に付与されるファイルIDを生成するためのベースIDとしても用いられる。クライアント装置に固有の識別情報をベースIDとして用いることにより、クライアント装置から送信された操作ログデータのIDが、別のクライアントによって送信された操作ログデータのIDと、サーバー装置21上で衝突することが防止される。
【0027】
「カテゴリ」は、そのクライアント装置で収集されたログデータの内、一時インデックスデータが生成されるログデータのカテゴリを示す。エントリは複数の「カテゴリ」を含んでもよい。したがって、クライアント装置では、収集されたログデータの内、該クライアント装置に対応するエントリに指定されたカテゴリに属するログデータに対して、一時インデックスデータが生成される。なお、エントリは「カテゴリ」を含まなくてもよい。その場合、そのクライアント装置では、一時インデックスデータが生成されない。
【0028】
「カテゴリ」に設定される値は、例えば、“ウェブ”、“ファイル”、“メール”、“外部デバイス”、“起動/シャットダウン”、“ログオン/ログオフ”等である。例えば、「カテゴリ(1)」に“ウェブ”が設定され、「カテゴリ(2)」に“ファイル”が設定された場合、クライアント装置では、ウェブ操作(例えば、ウェブブラウザを使用した操作)に関するログデータと、ファイル操作(例えば、ファイルの作成、削除、コピー、移動、編集等の操作)に関するログデータとに対応する一時インデックスデータが作成される。「カテゴリ」には、例えば、検索される頻度が高いログデータが属するカテゴリや、収集されるデータ量が大きいログデータが属するカテゴリが設定される。そのようなカテゴリが設定されることによって、サーバー装置21でのインデックス作成にかかる負荷を軽減することができる。
【0029】
「ファイルパス」は、そのクライアント装置から送信された操作ログデータが格納される、サーバー装置21内のディレクトリのパスを示す。
【0030】
ポリシー管理部220は、生成されたポリシーデータ231Aを通信部223に出力する。具体的には、ポリシー管理部220は、1以上のクライアント装置31それぞれに対して、関連付けられたポリシーデータ231Aのエントリが送信されるように、ポリシーデータ231Aのエントリを通信部223に出力する。ポリシー管理部220は、例えば、所定の期間毎や、ポリシーが更新された際に、クライアント装置31にポリシーデータ231Aが配信されるように制御する。
【0031】
通信部223は、ポリシー管理部220によって出力されたポリシーデータ231Aをクライアント装置31(通信部351)に送信する。具体的には、通信部223は、ポリシー管理部220によって出力されたポリシーデータ231Aのエントリを、そのエントリが関連付けられたクライアント装置31に送信する。ポリシーをクライアント装置31に配信することによって、クライアント装置31でインデックス生成を行うカテゴリが制御され、クライアント装置31にかかる負荷を調整することができる。例えば、クライアント装置31によって収集されるすべてのログデータではなく、一部のログデータ(例えば、検索頻度が高いカテゴリやデータ量が多いカテゴリに属するログデータ)に対応するインデックスが作成されることにより、クライアント装置31にかかる負荷を調整することができる。
【0032】
なお、ポリシー管理部220は、インベントリ格納領域232に格納されたクライアントインベントリデータ232Aに基づいて、ポリシーデータ231Aを生成してもよい。クライアントインベントリデータ232Aは、1以上のクライアント装置31それぞれの性能を示す値を含む。
【0033】
図5は、クライアントインベントリデータ232Aの一構成例を示す。クライアントインベントリデータ232Aは、1以上のクライアント装置31に対応する1以上のエントリを含む。各エントリは、例えば、クライアントID、プロセッサ、メモリ、HDDを含む。あるクライアント装置に対応するエントリにおいて、「クライアントID」は、そのクライアント装置に固有の識別情報を示す。「プロセッサ」は、そのクライアント装置に設けられたプロセッサ(CPU)の処理速度(例えば、ギガヘルツ単位の処理速度)を示す。「メモリ」は、そのクライアント装置に設けられたメモリの記憶容量(例えば、メガバイト単位の記憶容量)を示す。「HDD」は、そのクライアント装置に設けられたハードディスクドライブ(記憶装置)の記憶容量(例えば、ギガバイト単位の記憶容量)を示す。
【0034】
ポリシー管理部220は、クライアントインベントリデータ232Aを参照することによって、サーバー装置21に接続されるクライアント装置31それぞれの性能を示す値を読み出すことができる。ポリシー管理部220は、読み出されたクライアント装置31の性能を示す値に基づいて、クライアント装置31で収集されたログデータの内、当該装置31内で一時インデックスデータが生成されるログデータのカテゴリを決定する。例えば、プロセッサの処理速度が第1しきい値以上であり、且つメモリの記憶容量が第2しきい値以上であるクライアント装置は、インデックスデータを生成するための性能を備えていると判断されるので、ポリシー管理部220は、クライアント装置にインデックスデータを生成させる「カテゴリ」が設定されたポリシーデータ231Aを作成する。また、例えば、プロセッサの処理速度が第1しきい値未満であるクライアント装置は、インデックスデータを生成するための性能を備えていないと判断されるので、ポリシー管理部220は、クライアント装置にインデックスデータを生成させる「カテゴリ」が設定されていないポリシーデータ231Aを作成する。なお、ポリシー管理部220は、サーバー装置21に接続されるクライアント装置の数に基づいて、ポリシーデータ231Aを作成してもよい。例えば、ポリシー管理部220は、クライアント装置の数が第3しきい値以上である場合に、クライアント装置でインデックスデータが生成されるように、ポリシーデータ231Aを作成する。
【0035】
次いで、クライアント装置31内の各部の動作について説明する。
通信部351は、サーバー装置21(通信部223)によって送信された、クライアント装置31に関連付けられたポリシーデータ231Aを受信する。通信部351は、受信したポリシーデータ231Aをポリシー格納部352に出力する。また、通信部351は、ポリシーデータ231Aに含まれるクライアントID(ベースID)をインデックス生成部355に出力する。このベースIDは、ポリシーデータ231Aとは別に、サーバー装置21によって送信されたものであってもよい。
【0036】
ポリシー格納部352は、通信部351によって出力されたポリシーデータ231Aをポリシー格納領域361に格納する。これにより、クライアント装置31では、ポリシー格納領域361に格納されたポリシーデータ361A(すなわち、ポリシーデータ231A)に基づいて、操作ログデータ362Aに対応する一時インデックスデータ363Aが生成される。
【0037】
次いで、監視部353は、クライアント装置31上で実行されるオペレーティングシステム34や各種のアプリケーションプログラム等を監視することによって、クライアント装置31に対する操作を検出する。監視部353は、例えば、ウェブ、ファイル、メール、及びデバイス等の利用、起動、シャットダウン、ログオン、ログオフ等に関する操作を検出する。監視部353は、ユーザーによる操作に限らず、例えば、所定の期間毎に自動的に実行されるプログラム(例えば、メールサーバへの所定期間毎の問い合わせ、セキュリティプログラムの定期的な更新等)による動作を検出してもよい。監視部353は、クライアント装置31に対する操作が検出されたことを操作ログ格納部354に通知する。
【0038】
操作ログ格納部354は、監視部353による通知に応じて、検出された操作の内容を示す操作ログデータ362Aを生成し、操作ログ格納領域362に格納する。生成される操作ログデータ362Aは、例えば、日時、カテゴリ、操作の内容が記述されたファイルである。このファイルは、例えばテキスト形式のファイルである。操作ログ格納領域362には、複数の操作ログデータ362A(すなわち、複数のテキストファイル)が格納される。また、操作ログ格納部354は、生成された操作ログデータ362Aをインデックス生成部355に出力する。
【0039】
具体的には、検出された操作がウェブ操作である場合、操作ログデータ362Aに記述される操作の内容は、例えば、そのウェブ操作で閲覧されたウェブページのタイトル、URL等を含む。検出された操作がファイル操作である場合、操作ログデータ362Aに記述される操作の内容は、例えば、ファイル名、操作の種類(コピー、移動、削除、新規作成、編集等)を含む。検出された操作がメール操作である場合、操作ログデータ362Aに記述される操作の内容は、例えば、宛先アドレス、送信元アドレス、件名、メール本文、添付ファイルを含む。検出された操作がデバイスの使用である場合、操作ログデータ362Aに記述される操作の内容は、例えば、デバイスの識別番号、デバイスの名称、デバイスの種類、デバイスが接続されたインタフェースを含む。
【0040】
インデックス生成部355は、操作ログ格納部354によって出力された操作ログデータ362Aに対応する一時インデックスデータ363Aを生成する。具体的には、インデックス生成部355は、出力された操作ログデータ362Aの内、ポリシーデータ361Aで指定された第1カテゴリに属する第1ログデータに対応する一時インデックスデータ363Aを生成する。この一時インデックスデータ363Aは、第2インデックスデータとも称する。また、一時インデックスデータ363Aは、ファイルインデックスデータ364とワードインデックスデータ365とを含む。
【0041】
なお、操作ログデータ362Aの内、ポリシーデータ361Aで指定された第1カテゴリに属しないログデータを、第2ログデータとも称する。したがって、操作ログデータ362Aは、ポリシーデータ361Aで指定された第1カテゴリに属する第1ログデータと、ポリシーデータ361Aで指定された第1カテゴリに属さない第2ログデータとを含む。なお、操作ログデータ362Aに含まれる全てのデータが第1カテゴリに属する場合には、操作ログデータ362Aは第1ログデータのみを含む。また、操作ログデータ362Aに含まれる全てのデータが第1カテゴリに属さない場合には、操作ログデータ362Aは第2ログデータのみを含む。なお、ポリシーデータ361Aで指定されるカテゴリは、複数のカテゴリであってもよい。
【0042】
図6は、一時インデックスデータ363Aに含まれるファイルインデックスデータ364の例を示す。ファイルインデックスデータ364は、複数のログファイルに対応する複数のエントリを含む。例えば、操作ログ格納領域362に複数の操作ログデータ362A(複数のログファイル)が格納されているとき、ファイルインデックスデータ364は複数のエントリを含む。各エントリは、ファイルIDとファイルパスとを含む。あるログファイルに対応するエントリにおいて、「ファイルID」は、そのログファイルに固有の識別情報を示す。「ファイルID」に設定される値は、例えば、サーバー装置21によって予め送信されたベースID(クライアントID)の後に、ログファイルに付与されたシーケンシャル番号を付加した値である。例えば、サーバー装置21によってベースID“000078”が送信されている場合に、シーケンシャル番号“0001”が付与された新たなログファイルが作成されたとき、そのファイルに対応するエントリの「ファイルID」には、“0000780001”が設定される。
【0043】
「ファイルパス」は、そのログファイルがサーバー装置21内で格納される位置を表すファイルパスを示す。ログファイルがサーバー装置21内で格納されるディレクトリを示すパスは、例えば、サーバー装置21によって予めクライアント装置31に送信されるポリシーデータ361Aに示される。クライアント装置31は、ポリシーデータ361Aに含まれるディレクトリを示すパスの後に、ログファイルのファイル名を付加することにより、「ファイルパス」の値を生成する。例えば、ポリシーデータ361Aにディレクトリのパス“C:\Logdata\”が含まれている場合に、ファイル名“applicationlog_4e1.txt”である新たなログファイルが作成されたとき、そのファイルに対応するエントリの「ファイルパス」には、“C:\Logdata\ applicationlog_4e1.txt”が設定される。
【0044】
また、図7は、一時インデックスデータ363Aに含まれるワードインデックスデータ365の例を示す。図7に示す例では、ワードインデックスデータ365がunigramモデル(n=1であるn-gramモデル)に基づいて作成されることを想定する。ワードインデックスデータ365は、複数の文字に対応する複数のエントリを含む。各エントリは、文字とファイルIDとを含む。ある文字に対応するエントリにおいて、「文字」は、その文字自体を示す。「ファイルID」は、その文字を含むファイルのIDを示す。「ファイルID」には、複数のファイルのIDが設定され得る。ワードインデックスデータ365は、操作ログデータ362A(ログファイル)に含まれる全ての文字それぞれに対応するエントリを含む。
【0045】
具体的には、図7に示すように、「ファイルID」が“0000780004”であるログファイルに、文字列“r&”が含まれる場合、文字“r”に対応するエントリの「ファイルID」と文字“&”に対応するエントリの「ファイルID」とに、“0000780004”が設定される。したがって、このワードインデックスデータ365を参照することによって、例えば、文字“r”が含まれるファイルが、ファイルID“0000780004”、“0000783234”、“0000785670”であるファイルであることが分かる。
【0046】
インデックス生成部355は、操作ログデータ(ログファイル)362Aがポリシーデータ361Aで指定されたカテゴリに属する場合、そのログデータに対応するファイルインデックスデータ364のエントリとワードインデックスデータ365のエントリとを生成する。例えば、ポリシーデータ361Aの「カテゴリ」に“ウェブ”が指定されている際に、ウェブ操作を示す操作ログデータ362Aが出力された場合、インデックス生成部355は、そのログデータに対応するファイルインデックスデータ364のエントリとワードインデックスデータ365のエントリとを生成する。例えば、インデックス生成部355は、ログデータに含まれるテキストがn-gramモデルに基づいて分解された「文字」と、「ファイルID」とを含むワードインデックスデータ365のエントリを生成する。そして、インデックス生成部355は、生成されたエントリを一時インデックス格納領域363に格納(追加)する。なお、インデックス生成部355によって生成されるワードインデックスデータ365は、n-gramモデルによって得られた文字に対応するワードインデックスデータに限らず、形態素解析によって得られた単語に対応するワードインデックスデータであってもよい。
【0047】
また、ポリシーデータ361Aの「カテゴリ」に“ウェブ”が指定されている際に、メール操作を示す操作ログデータ362Aが出力された場合、インデックス生成部355は、そのログデータに対応するファイルインデックスデータ364のエントリとワードインデックスデータ365のエントリとを生成しない。
【0048】
次いで、通信部351は、操作ログデータ362Aと一時インデックスデータ363Aとをサーバー装置21(通信部223)に送信する。通信部351は、例えば、所定の期間毎に(例えば、前回ログを送信してから一時間が経過したことに応じて)、操作ログデータ362Aと一時インデックスデータ363Aとをサーバー装置21に送信する。なお、通信部351は、例えば、所定のデータ量のログデータ362Aが操作ログ格納領域362に蓄積された場合に、操作ログデータ362Aと一時インデックスデータ363Aとをサーバー装置21に送信してもよい。
【0049】
次いで、サーバー装置21のログ管理機能による各部の動作について説明する。
通信部223は、クライアント装置31(通信部351)によって送信された一時インデックスデータ363A(第2インデックスデータ)と操作ログデータ362Aとを受信する。上述のように、操作ログデータ362Aは、ポリシーデータ361Aに示される第1カテゴリに属する第1ログデータと、第1カテゴリに属しない第2ログデータとを含み得る。また、第2インデックスデータ363Aは、第1ログデータに対応するインデックスデータである。通信部223は、受信した一時インデックスデータ363Aを一時インデックス格納部226に出力する。また、通信部223は、受信した操作ログデータ362Aを操作ログ格納部224に出力する。
【0050】
一時インデックス格納部226は、通信部223によって出力された一時インデックスデータ363Aを一時インデックス格納領域234に格納する。そして、一時インデックス格納部226は、新たな一時インデックスデータ234A(363A)が一時インデックス格納領域234に格納されたことを、インデックスマージ部227に通知する。
【0051】
インデックスマージ部227は、一時インデックス格納部236による通知に応じて、一時インデックス格納領域234に格納された一時インデックスデータ234Aを、インデックス格納領域235に格納されたインデックスデータ235Aにマージする。このインデックスデータ235Aは、操作ログ格納領域233に格納されている操作ログデータ233A(複数のログデータ)に対応する第1インデックスデータである。つまり、インデックスマージ部227は、インデックスデータ235A(第1インデックスデータ)と一時インデックスデータ234A(第2インデックスデータ)とがマージされた新たなインデックスデータを生成する。この新たなインデックスデータは、第3インデックスデータとも称する。そして、インデックスマージ部227は、その新たなインデックスデータ(第3インデックスデータ)をインデックス格納領域235に格納する。より具体的には、インデックスマージ部227は、一時インデックスデータ234Aに含まれるファイルインデックスデータとワードインデックスデータとを、それぞれインデックスデータ235Aに含まれるファイルインデックスデータ236とワードインデックスデータ237とにマージし、インデックス格納領域235に格納する。なお、インデックス格納領域235にいずれのデータも格納されていない場合(例えば、初期状態)では、インデックスマージ部227は、一時インデックスデータ234Aをそのままインデックス格納領域235に格納する。
【0052】
また、操作ログ格納部224は、通信部223によって出力された操作ログデータ362Aを操作ログ格納領域233に格納(追加)する。操作ログ格納領域233には、操作ログデータ233A(複数の操作ログデータ)が既に格納されていてもよい。その場合、操作ログ格納領域362には、操作ログデータ233Aと操作ログデータ362A(すなわち、第1ログデータ及び第2ログデータ)とが格納される。そして、操作ログ格納部224は、新たな操作ログデータ233A(362A)が操作ログ格納領域362に追加されたことを、インデックス生成部225に通知する。
【0053】
インデックス生成部225は、操作ログ格納部224による通知に応じて、新たに追加された操作ログデータ233Aの内、対応する一時インデックスデータ363A(第2インデックスデータ)が生成されていない第2ログデータに対応する第4インデックスデータを生成する。具体的には、インデックス生成部225は、クライアント装置31に対応するポリシーデータ231Aのエントリに基づいて、操作ログデータ233Aの内、対応する一時インデックスデータ234Aがない操作ログデータ(第2ログデータ)を検出する。そして、インデックス生成部225は、検出された第2ログデータに対応する第4インデックスデータを生成する。この第4インデックスデータは、ファイルインデックスデータとワードインデックスデータとを含む。この第4インデックスデータを生成する方法は、クライアント装置31のインデックス生成部355について説明した方法と同様である。インデックス生成部225は、生成された第4インデックスデータ(ファイルインデックスデータとワードインデックスデータ)をインデックスマージ部227に出力する。
【0054】
インデックスマージ部227は、インデックス生成部225によって出力された第4インデックスデータ(ファイルインデックスデータ及びワードインデックスデータ)を、インデックス格納領域235に格納されたインデックスデータ235Aにマージする。換言すると、インデックスマージ部227は、複数の操作ログデータ233Aに対応する第1インデックスデータと、第1ログデータに対応する第2インデックスデータと、第2ログデータに対応する第4インデックスデータとがマージされた第3インデックスデータを生成する。インデックス格納領域235には、生成された第3インデックスデータが格納される。そして、クライアント装置31から受信した操作ログデータ362Aに対応するインデックスデータ(第2インデックスデータ及び第4インデックスデータ)が、インデックス格納領域235に格納(マージ)されたことに応じて、インデックスマージ部227は、一時インデックス格納領域234から一時インデックスデータ234Aを削除する。
【0055】
図8は、インデックスデータ235Aに含まれるファイルインデックスデータ236の例を示す。ファイルインデックスデータ236の構成は、図6を参照して説明したファイルインデックスデータ364と同様である。ファイルインデックスデータ236は、例えば、複数のクライアント装置によって送信された複数のファイルインデックスデータ364がマージされたデータを含む。そして、ファイルインデックスデータ236は、インデックス生成部225によって生成され、インデックスマージ部227によってマージされたファイルインデックスデータも含む。図8に示す例では、ファイルインデックスデータ236は、クライアントID(ベースID)が“000001”,“000002”,“000003”,“000078”であるクライアント装置によって送信されたログファイルに対応するエントリを含んでいる。
【0056】
また、図9は、インデックスデータ235Aに含まれるワードインデックスデータ237の例を示す。ワードインデックスデータ237の構成は、図7を参照して説明したワードインデックスデータ365と同様である。ワードインデックスデータ237は、例えば、複数のクライアント装置によって送信された複数のワードインデックスデータ365がマージされたデータを含む。そして、ワードインデックスデータ237は、インデックス生成部225によって生成され、インデックスマージ部227によってマージされたワードインデックスデータも含む。
【0057】
次いで、サーバー装置21のログ検索機能による各部の動作について説明する。
ログ検索部229は、インデックスデータ235Aを用いて、操作ログデータ233Aを検索する。例えば、ログ検索部229は、操作ログデータ233Aから、管理者によって入力された検索文字列(キーワード)を含む操作ログデータを探し出す(すなわち、キーワードを含むログファイルを抽出する)。ログ検索のための検索画面は、例えば、表示制御部221によって表示される。管理者は、表示された検索画面に検索したいキーワードを入力する。このキーワードは、例えば、入力制御部222によってログ検索部229に出力される。
【0058】
例えば、図9に示すワードインデックスデータ237を用いて、“東京”というキーワードで操作ログデータ233Aを検索することを想定する。その場合、ログ検索部229は、まず、キーワードを分解して文字“東”及び“京”を検出する。そして、ログ検索部229は、ワードインデックスデータ237を用いて、それら文字それぞれに対応するファイルIDを検出する。すなわち、“東”に対応する“0000010002”,“0000780012”,“0000781003”,及び“0000784012”と、“京”に対応する“0000010002”,“0000780012”,“0000782141”,及び“0000783624”とが検出される。次いで、ログ検索部229は、文字それぞれに対応するファイルIDの内、それら文字すべてに対応するファイルIDを検出する。すなわち、“東”と“京”の両方に対応する“0000010002”及び“0000780012”が検出される。つまり、ログ検索部229は、ワードインデックスデータ237を用いて、キーワードに含まれるすべての文字を含むログファイルのファイルIDを検出する。そして、ログ検索部229は、ファイルインデックスデータ237を用いて、検出されたファイルIDに対応するファイルパスを検出することにより、検出されたファイルパスに対応するログファイルを操作ログ格納領域233から読み出す。読み出されたログファイル(検索結果)は、例えば、表示制御部221によって画面に表示される。これにより管理者は、キーワードを含むログファイル(ログデータ)を閲覧することができる。
【0059】
ログ分析部228は、蓄積された操作ログデータ233Aを分析する。ログ分析部228は、例えば、操作ログデータ233Aのカテゴリ、データ量、検索頻度等の傾向を分析する。ログ分析部228は、インデックスデータ235Aを用いて操作ログデータ233Aを分析してもよい。
【0060】
また、図10は、サーバー装置21によって表示されるポリシー設定画面41の例を示す。図10に示す例では、ポリシー設定画面41は、クライアント選択エリア42とポリシー設定エリア43とを含む。クライアント選択エリア42では、サーバー装置21に接続される複数のクライアント装置が、例えば階層構造で示される。この階層構造で示される各項目は選択可能に表示される。したがってユーザーは、この階層構造で示される項目を選択することによって、ポリシーを設定する対象のクライアント装置を選択することができる。例えば、「すべて」を選択した場合、すべてのクライアント装置に関連付けられるポリシーを設定できる。また、「グループ1」を選択した場合、グループ1に属するクライアント装置(PC1,PC2,PC3)に関連付けられるポリシーを設定できる。
【0061】
ポリシー設定エリア43は、インデックス対象カテゴリ選択エリア44とインデックス処理条件入力エリア45とを含む。そして、インデックス対象カテゴリ選択エリア44は、一時インデックスデータ363Aを生成する対象のカテゴリを選択するためのチェックボックスを含む。このチェックボックスは、例えば、「ログオン」441、「ウェブ」442、「外部デバイス」443、及び「ファイル」444を含む。ユーザーは、これらチェックボックス441,442,443,444を用いて、一時インデックスデータ363Aを生成する対象のカテゴリを選択することができる。
【0062】
また、インデックス処理条件入力エリア45は、クライアント装置によって一時インデックスデータ363Aが生成される条件を入力するための入力エリアと「設定」ボタン46とを含む。この入力エリアは、例えば、「CPU」エリア451、「メモリ」エリア452、及び「HDD」エリア453を含む。ユーザーは、これら入力エリア451,452,453を用いて、クライアント装置によって一時インデックスデータ363Aが生成される条件を入力することができる。
【0063】
「設定」ボタン46は、選択されたインデックス対象カテゴリとインデックス処理条件とを設定するためのボタンである。すなわち、この「設定」ボタンが押されたことに応じて、ポリシー管理部220は、ポリシーデータ231Aを生成(更新)する。したがって、これら入力エリア451,452,453に入力された条件を満たす場合に(すなわち、クライアント装置が入力された性能を満たす場合に)、クライアント装置は、操作ログデータ362Aの内に対応する一時インデックスデータ363Aを生成する。
【0064】
次いで、図11を参照して、クライアント管理システム1におけるデータの流れについて説明する。
まず、サーバー装置21は、クライアント装置31にポリシーデータ231Aを配信する(A1)。クライアント装置31は、配信されたポリシーデータ231Aをポリシー格納領域361に格納する。
【0065】
次に、サーバー装置21は、クライアント装置31にベースIDを送信する(A2)。このベースIDは、クライアント装置31で一時インデックスデータ363Aを作成するための識別情報である。クライアント装置31は、ポリシー格納領域361に格納されたポリシーデータ361Aに基づき、ベースIDを用いて、操作ログデータ362Aに対応する一時インデックスデータ363Aを作成する。
【0066】
次いで、クライアント装置31は、作成された一時インデックスデータ363Aをサーバー装置21に送信する(A3)。サーバー装置21は、送信された一時インデックスデータ363Aを一時インデックス格納領域234に格納する。また、クライアント装置31は、操作ログ格納領域362に格納されている操作ログデータ362Aをサーバー装置21に送信する(A4)。サーバー装置21は、送信された操作ログデータ362Aを操作ログデータ格納領域233に格納する。
【0067】
そして、サーバー装置21は、一時インデックス格納領域234に格納された一時インデックスデータ234Aをインデックスデータ235Aにマージする。また、サーバー装置21は、ポリシーデータ231Aに基づいて、クライアント装置31によって送信された操作ログデータ362Aの内、対応する一時インデックスデータ234A(363A)がない操作ログデータを検出する。そして、サーバー装置21は、検出された操作ログデータに対応するインデックスデータを作成する(すなわち、インデックス格納領域235に格納されたインデックスデータ235Aに追加する)。
【0068】
以上により、サーバー装置21は、クライアント装置31の操作ログデータ233Aと、この操作ログデータ233Aに対応するインデックスデータ235Aを取得することができる。サーバー装置21は、インデックスデータ235Aを用いることにより操作ログデータ233Aを容易に検索することができる。また、クライアント装置31で一時インデックスデータ363Aが作成されることによって、サーバー装置21は、そのインデックスデータの作成自体を行う必要がなく、一時インデックスデータ363Aデータをインデックスデータ235Aにマージするだけで済む。したがって、サーバー装置21で、インデックスデータ235Aを得るために要する処理の負荷を低減することができる。
【0069】
次いで、図12に示すフローチャートを参照して、サーバー装置21によるログ管理処理の手順の例について説明する。
まず、ポリシー管理部220は、通信部223を介して、クライアント装置31にポリシーデータ231Aを送信する(ブロックB11)。具体的には、ポリシー管理部220は、クライアント装置31に関連付けられたポリシーデータ231Aをポリシー格納領域231から読み出す。ポリシー管理部220は、読み出されたポリシーデータ231Aを通信部223に出力する。そして、通信部223は、クライアント装置31の通信部351にポリシーデータ231Aを送信する。
【0070】
次いで、ポリシー管理部220は、通信部223を介して、クライアント装置31にベース識別子(ベースID)を送信する(ブロックB12)。ベースIDは、クライアント装置31に一意に割り当てられた識別情報である。なお、ベースIDは、ポリシーデータ231Aに含めて送信されてもよい。
【0071】
そして、通信部223は、クライアント装置31(通信部351)によって送信された一時インデックスデータ363A(第2インデックスデータ)を受信する(ブロックB13)。通信部223は、受信した一時インデックスデータ363Aを一時インデックス格納部226に出力する。一時インデックス格納部226は、その一時インデックスデータ363Aを一時インデックス格納領域234に格納する。
【0072】
また、通信部223は、クライアント装置31によって送信された操作ログデータ362A(第1ログデータ及び第2ログデータ)を受信する(ブロックB14)。通信部223は、受信した操作ログデータ362Aを操作ログ格納部224に出力する。操作ログ格納部224は、その操作ログデータ362Aを操作ログ格納領域233に格納する。
【0073】
次いで、インデックスマージ部227は、一時インデックス格納領域234に格納された一時インデックスデータ234Aを、インデックス格納領域235に格納されたインデックスデータ235A(第1インデックスデータ)に統合する(ブロックB15)。
【0074】
また、インデックス生成部225は、ブロックB14で受信した操作ログデータ362Aの内、対応する一時インデックスデータ363Aがない操作ログデータ(第2ログデータ)に対応するインデックスデータ235A(第4インデックスデータ)を生成する(ブロックB16)。具体的には、インデックス生成部225は、クライアント装置31に関連付けられたポリシーデータ231Aに基づいて、ブロックB14で受信した操作ログデータ362Aの内、対応する一時インデックスデータ234A(363A)がない操作ログデータ(すなわち、ポリシーデータ231Aに指定された第1カテゴリに属さない第2ログデータ)を検出する。そして、インデックス生成部225は、検出された操作ログデータに対応するインデックスデータを生成し、生成したインデックスデータをインデックスマージ部227に出力する。インデックスマージ部227は、インデックス生成部225によって出力されたインデックスデータを、インデックス格納領域235に格納されたインデックスデータ235Aに統合する。
【0075】
そして、クライアント装置31から受信した操作ログデータに対応するインデックスデータが、インデックス格納領域235に格納(統合)されたことに応じて、インデックスマージ部227は、一時インデックス格納領域234から一時インデックスデータ234Aを削除する(ブロックB17)。
【0076】
また、図13に示すフローチャートは、クライアント装置31によるログ管理処理の手順に例を示す。
まず、通信部351は、サーバー装置21(通信部223)によって送信された、クライアント装置31に関連付けられたポリシーデータ231Aを受信する(ブロックB21)。通信部351は、受信したポリシーデータ231Aをポリシー格納部352に出力する。ポリシー格納部352は、通信部351によって出力されたポリシーデータ231Aをポリシー格納領域361に格納する。
【0077】
そして、通信部351は、サーバー装置21によって送信された、クライアント装置31を一意に識別可能なベースIDを受信する(ブロックB22)。通信部351は、受信したベースIDをインデックス生成部355に出力する。
【0078】
次いで、監視部353は、オペレーティングシステム34等を監視することによって、操作が検出されたか否かを判定する(ブロックB23)。操作が検出されていない場合(ブロックB23のNO)、ブロックB23に戻り、再度、操作が検出されたか否かが判定される。一方、操作が検出された場合(ブロックB23のYES)、操作ログ格納部354は、検出された操作を示すログ(操作ログデータ362A)を操作ログ格納領域362に保存する(ブロックB24)。そして、インデックス生成部355は、保存された操作ログデータ362Aの内、ポリシーデータ361Aで指定された第1カテゴリに属する第1ログデータに対応する一時インデックスデータ363A(第2インデックスデータ)を生成する(ブロックB25)。
【0079】
次いで、通信部351は、ログをサーバー装置21に送信すべきタイミングであるか否かを判定する(ブロックB26)。通信部351は、例えば、所定の期間毎にログをサーバー装置21に送信する。したがって、前回ログを送信してから所定の期間が経過した場合、通信部351は、ログを送信すべきタイミングであると判定する。なお、通信部351は、例えば、所定のデータ量のログデータが操作ログ格納領域362に蓄積された場合に、ログを送信すべきタイミングであると判定してもよい。ログを送信すべきタイミングでない場合(ブロックB26のNO)、ブロックB23に戻り、再度、操作が検出されたか否かが判定される。
【0080】
一方、ログを送信すべきタイミングである場合(ブロックB26のYES)、通信部351は、一時インデックス格納領域363に格納された一時インデックスデータ363Aをサーバー装置21(通信部223)に送信する(ブロックB27)。通信部351は、操作ログ格納領域362に格納された操作ログデータ362Aをサーバー装置21に送信する(ブロックB28)。そして、ブロックB23に戻ることにより、クライアント装置31のログの収集と収集されたログのサーバー装置21への送信とを継続して行うことができる。
【0081】
次いで、図14は、クライアント装置31のシステム構成の例を示す。クライアント装置31は、CPU(Central Processing Unit)311、主メモリ312、I/Oデバイス313、外部記憶装置314、表示コントローラ315、及びLCD(Liquid Crystal Display)316等を備える。
【0082】
CPU311は各種プログラムを実行するプロセッサである。CPU311は、各種演算処理を実行すると共に、クライアント装置31内の各部を制御する。
【0083】
主メモリ312は、CPU311によって実行される、オペレーティングシステム34、クライアントログ管理プログラム35のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ312には、例えばOS34及びログ管理プログラム35がロードされている。
【0084】
I/Oデバイス313は、クライアント装置31に対するデータの入出力を実行するための各種入出力デバイスである。また、外部記憶装置314は、各種プログラムやデータを格納するための不揮発性の記憶装置である。外部記憶装置314に格納された各種プログラムやデータは、クライアント装置31内の各部による要求に応じて、主メモリ312へロードされる。メモリ312にロードされるクライアントログ管理プログラム35の動作は、図3等を参照して説明した通りである。
【0085】
表示コントローラ315は、クライアント装置31のディスプレイモニタとして使用されるLCD316を制御する。この表示コントローラ315によって生成される表示信号はLCD316に送られる。表示コントローラ315及びLCD316を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【0086】
図15は、サーバー装置21のシステム構成の例を示す。サーバー装置21は、CPU(Central Processing Unit)211、主メモリ212、I/Oデバイス213、外部記憶装置214、表示コントローラ215、及びLCD(Liquid Crystal Display)216等を備える。
【0087】
CPU211は各種プログラムを実行するプロセッサである。CPU211は、各種演算処理を実行すると共に、サーバー装置21内の各部を制御する。
【0088】
主メモリ212は、CPU211によって実行される、オペレーティングシステム24、サーバーログ管理プログラム22のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ212には、例えばOS24及びログ管理プログラム22がロードされている。
【0089】
I/Oデバイス213は、サーバー装置21に対するデータの入出力を実行するための各種入出力デバイスである。また、外部記憶装置214は、各種プログラムやデータを格納するための不揮発性の記憶装置である。外部記憶装置214に格納された各種プログラムやデータは、サーバー装置21内の各部による要求に応じて、主メモリ212へロードされる。メモリ212にロードされるサーバーログ管理プログラム22の動作は、の動作は、図3等を参照して説明した通りである。
【0090】
表示コントローラ215は、サーバー装置21のディスプレイモニタとして使用されるLCD216を制御する。この表示コントローラ215によって生成される表示信号はLCD216に送られる。表示コントローラ215及びLCD216を用いることにより、例えば、管理者による操作に応じた画面を表示することができる。
【0091】
以上説明したように、本実施形態によれば、インデックスデータを用いてクライアント装置のログデータを検索できるまでの時間を短縮することができる。ポリシーデータ361Aに指定されたカテゴリに属する操作ログデータについては、クライアント装置31で一時インデックスデータ363Aが作成されるので、サーバー装置21は、そのインデックスデータの作成自体を行う必要がなく、一時インデックスデータ363Aデータをインデックスデータ235Aにマージするだけで済む。したがって、サーバー装置21で、インデックスデータ235Aを得るために要する処理の負荷を低減することができる。これにより、サーバー装置21が、インデックスデータ235Aを用いて、クライアント装置31によって収集されたログデータ233Aを検索できるまでの時間を短縮することができる。
【0092】
なお、本実施形態のサーバーログ管理処理及びクライアントログ管理処理の手順は全てソフトウェアによって実行することができる。このため、サーバーログ管理処理及びクライアントログ管理処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0093】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0094】
21…サーバー装置、22…サーバーログ管理プログラム、23…記憶装置、220…ポリシー管理部、221…表示制御部、222…入力制御部、223…通信部、224…操作ログ格納部、225…インデックス生成部、226…一時インデックス格納部、227…インデックスマージ部、228…ログ分析部、229…ログ検索部、231…ポリシー格納領域、231A…ポリシーデータ、232…インベントリ格納領域、232A…クライアントインベントリデータ、233…操作ログ格納領域、234…一時インデックス格納領域、234A…一時インデックスデータ、235…インデックス格納領域、235A…インデックスデータ、236…ファイルインデックスデータ、237…ワードインデックスデータ、31…クライアント装置、34…オペレーティングシステム、35…クライアントログ管理プログラム、36…記憶装置、351…通信部、352…ポリシー格納部、353…監視部、354…操作ログ格納部、355…インデックス生成部、361…ポリシー格納領域、362…操作ログ格納領域、363…一時インデックス格納領域、361A…ポリシーデータ、362A…操作ログデータ、363A…一時インデックスデータ、364…ファイルインデックスデータ、365…ワードインデックスデータ。
【技術分野】
【0001】
本発明の実施形態は、クライアントを管理する情報処理装置、該装置に適用されるクライアント管理方法及びクライアント管理システムに関する。
【背景技術】
【0002】
クライアントとサーバーとが相互に接続されたクライアント−サーバーシステムでは、クライアントでの処理や操作の記録を示すログがサーバーによって管理されることがある。サーバーは、例えば、クライアントのログを検索することによってクライアントでの不正な操作を検出し、システムで発生したトラブル等に対処することができる。
【0003】
一般に、サーバーは複数のクライアントと相互に接続される。サーバーには、それら複数のクライアントが利用されている間、クライアントのログが蓄積されていくので、サーバーによって管理されるログのデータ量は膨大になる。そのため、蓄積されたログから必要なログを探し出すために要する時間は長くなる。
【0004】
蓄積されたログから特定の文字列を含むログを探し出すとき、サーバーは例えばインデックス方式によってログを検索する。インデックス方式では、ログに対応するインデックスが予め作成される。このインデックスを利用することによってログを高速に検索することができるので、蓄積されたログから必要なログを素早く探し出すことができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−259482号公報
【特許文献2】特開2005−25460号公報
【特許文献3】特開2005−85113号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、膨大な量のログデータに対応するインデックスデータを作成する場合、その処理に要する時間が長くなる可能性がある。その場合、インデックスデータが作成されるまで、ログデータの検索を行うことはできない。つまり、収集されたログデータをリアルタイムで検索するような利用は困難である。
【0007】
本発明は、インデックスデータを用いてクライアント装置のログデータを検索できるまでの時間を短縮することができる情報処理装置、クライアント管理方法及びクライアント管理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、情報処理装置は、格納手段、ログ受信手段及びマージ手段を具備する。格納手段は、複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納する。ログ受信手段は、ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信する。マージ手段は、前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成する。前記格納手段は、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納する。
【図面の簡単な説明】
【0009】
【図1】クライアント管理システムの構成の例を示す概念図。
【図2】実施形態に係るクライアント管理システムを説明するための概念図。
【図3】同実施形態のクライアント管理システムの構成の例を示すブロック図。
【図4】同実施形態のクライアント管理システムによって用いられるポリシーデータの一構成例を示す図。
【図5】同実施形態のクライアント管理システムによって用いられるクライアントインベントリデータの一構成例を示す図。
【図6】同実施形態のクライアント管理システムによって用いられる一時インデックスデータに含まれるファイルインデックスデータの例を示す図。
【図7】同実施形態のクライアント管理システムによって用いられる一時インデックスデータに含まれるワードインデックスデータの例を示す図。
【図8】同実施形態のクライアント管理システムによって用いられるインデックスデータに含まれるファイルインデックスデータの例を示す図。
【図9】同実施形態のクライアント管理システムによって用いられるインデックスデータに含まれるワードインデックスデータの例を示す図。
【図10】同実施形態のクライアント管理システムによって表示されるポリシー設定画面の例を示す図。
【図11】同実施形態のクライアント管理システムによる処理の流れを説明するための概念図。
【図12】同実施形態のクライアント管理システムに含まれるサーバー装置によって実行されるサーバーログ管理処理の手順の例を示すフローチャート。
【図13】同実施形態のクライアント管理システムに含まれるクライアント装置によって実行されるクライアントログ管理処理の手順の例を示すフローチャート。
【図14】同実施形態のクライアント管理システムに含まれるクライアント装置のシステム構成の例を示すブロック図。
【図15】同実施形態のクライアント管理システムに含まれるサーバー装置のシステム構成の例を示すブロック図。
【発明を実施するための形態】
【0010】
以下、実施の形態について図面を参照して説明する。
まず、図1を参照して、クライアント管理システムの構成の例について説明する。クライアント管理システムでは、サーバー装置11と1以上のクライアント装置13,14,15とがネットワークを介して相互に接続されている。このクライアント管理システムでは、クライアント装置13,14,15の操作ログデータ13A,14A,15Aが、サーバー装置11に集約される。
【0011】
具体的には、クライアント装置13,14,15は、クライアント装置13,14,15を用いた操作を示す操作ログデータ13A,14A,15Aを生成し、ネットワークを介してサーバー装置11に送信する。サーバー装置11は、クライアント装置13,14,15によって送信された操作ログデータ13A,14A,15Aを記憶装置内のログ格納領域12に格納する。ログ格納領域12には、複数の操作ログデータ12Aが格納される。サーバー装置11は、ログ格納領域12に格納された操作ログデータ12Aを用いて、クライアント装置13,14,15を管理する。サーバー装置11は、例えば、操作ログデータ12Aを検索することによってクライアント装置13,14,15での不正な操作を検出し、システムに発生したトラブル等に対処することができる。
【0012】
サーバー装置11は、例えば、逐次検索方式又はインデックス方式で操作ログデータ12Aを検索する。逐次検索方式では、サーバー装置11は、複数の操作ログデータ12A(例えば、複数の文書ファイル)に含まれるテキストを順次走査することによって、対象の文字列(例えば、キーワード)を含む操作ログデータを検出する。一方、インデックス方式では、サーバー装置11は、複数の操作ログデータ12Aに対応するインデックスデータを予め作成し、このインデックスデータを用いて、対象の文字列を含む操作ログデータを検出する。インデックス方式では、操作ログデータ12Aに対応するインデックスデータを用いることにより、逐次検索方式よりも高速に対象の文字列を含む操作ログデータを検出することができる。
【0013】
しかし、複数のクライアント装置13,14,15によって送信される操作ログデータ13A,14A,15Aに対応するインデックスデータを生成することは、サーバー装置11への負荷が大きいことがある。例えば、サーバー装置11に接続されるクライアント装置の数が多い場合や、クライアント装置によって送信される操作ログデータのデータ量が大きい場合には、インデックスデータの作成に時間がかかる。また、例えば、数万のクライアント装置を有するクラウド環境での大規模システムを想定した場合、サーバー装置11がすべてのクライアント装置のログデータに対応するインデックスデータを即座に作成することは困難である。したがって、サーバー装置11に格納された操作ログデータ12Aを格納後すぐにリアルタイムで利用することができない。
【0014】
そのため、本実施形態のクライアント管理システムでは、例えば、管理者が指定したカテゴリに属するログデータ、検索頻度が高いカテゴリに属するログデータ、データ量(情報量)が多いカテゴリに属するログデータについては、クライアント装置側で操作ログデータに対応するインデックスデータを予め作成し、その作成されたインデックスデータをサーバー装置で統合(マージ)するという二段階の処理を行う。つまり、ログデータに対応するインデックスデータの一部がクライアント装置で生成されるので、サーバー装置は、生成されたインデックスデータをマージするだけで済む。これにより、インデックスデータを作成する処理によるサーバー装置の負荷が低減されると共に、インデックスデータを利用して操作ログデータを検索できるまでの時間を短縮することができる。
【0015】
図2を参照して、実施形態に係るクライアント管理システム1の例について説明する。
【0016】
クライアント管理システム1は、サーバー装置21と1以上のクライアント装置31,32,33とがネットワーク2を介して相互に接続されるクライアント・サーバーシステムである。サーバー装置21は、例えば、サーバーコンピュータとして実現され得る。また、クライアント装置31,32,33は、パーソナルコンピュータとして実現され得る。このクライアント管理システム1では、クライアント装置31,32,33の操作ログデータ362A,362B,362Cが、サーバー装置21に集約される。サーバー装置21は、集約された操作ログデータを分析し、また集約された操作ログデータから必要なログデータ(例えば、キーワードを含むデータ)を取得することができる。
【0017】
より具体的には、サーバー装置21は、まず、複数のポリシーデータ231Aの内の、複数のクライアント装置31,32,33それぞれに関連付けられたポリシーデータを、クライアント装置31,32,33に配信する。
【0018】
クライアント装置31,32は、操作ログデータ362A,362Bを収集すると共に、サーバー装置21によって配信されたポリシーデータ361A,361Bに基づいて、操作ログデータ362A,362Bに対応する一時インデックスデータ363A,363Bを生成する。例えば、クライアント装置31,32は、ポリシーデータ361A,361B,361Cに指定されたカテゴリに属する操作ログデータに対応する一時インデックスデータを生成し、それ以外のカテゴリに属する操作ログデータに対応する一時インデックスデータを生成しない。また、例えば、クライアント装置33は、ポリシーデータ361Cに指定されたカテゴリに属する操作ログデータがないので、操作ログデータ362C(すなわち、指定されたカテゴリに属しない操作ログデータ)に対応する一時インデックスデータを生成しない。そして、クライアント装置31,32,33は、操作ログデータ362A,362B,362Cと一時インデックスデータ363A,363Bとをサーバー装置21に送信する。
【0019】
サーバー装置21は、送信された操作ログデータ362A,362B,362Cをログ格納領域233に格納する。また、サーバー装置21は、送信された一時インデックスデータ363A,363Bを、インデックス格納領域235に格納されたインデックスデータ235Aにマージする。さらに、サーバー装置21は、送信された操作ログデータ362A,362B,362Cの内、対応する一時インデックスデータ363A,363Bが生成されていない操作ログデータのインデックスデータを作成する。サーバー装置21は、作成されたインデックスデータをインデックス格納領域235に格納する。これにより、サーバー装置21は、インデックスデータ235Aを利用して、操作ログデータ233Aを検索することができる。
【0020】
上述のように、ポリシーデータ361A,361B,361Cに指定されたカテゴリに属する操作ログデータについては、クライアント装置31,32で一時インデックスデータ363A,363Bが作成されるので、サーバー装置21は、そのインデックスデータの作成自体を行う必要がなく、一時インデックスデータ363A,363Bをインデックスデータ235Aにマージするだけで済む。したがって、サーバー装置21で、インデックスデータ235Aを得るために要する処理の負荷を低減することができる。
【0021】
次いで、図3を参照して、クライアント管理システム1の構成について説明する。クライアント管理システム1は、サーバー装置21とクライアント装置31とを備える。サーバー装置21とクライアント装置31とは、例えばネットワークを介して相互に接続される。
【0022】
サーバー装置21は、サーバーログ管理プログラム22を実行する。サーバーログ管理プログラム22は、クライアント装置31によって送信されたログデータを管理する機能を有するソフトウェアである。サーバーログ管理プログラム22は、ポリシー管理機能、ログ管理機能及びログ検索機能を有する。サーバーログ管理プログラム22は、ポリシー管理部220、表示制御部221、入力制御部222、通信部223、操作ログ格納部224、インデックス生成部225、一時インデックス格納部226、インデックスマージ部227、ログ分析部228、及びログ検索部229を備える。また、サーバーログ管理プログラム22は、サーバー装置21に設けられた記憶装置23にデータを格納し、格納されたデータを用いて処理を行う。この記憶装置23には、ポリシー格納領域231、インベントリ格納領域232、操作ログ格納領域233、一時インデックス格納領域234、及びインデックス格納領域235が設けられる。
【0023】
また、クライアント装置31は、クライアントログ管理プログラム35を実行する。クライアントログ管理プログラム35は、クライアント装置31のログデータを管理する機能を有するエージェントソフトウェアである。クライアントログ管理プログラム35は、クライアント装置31が操作された内容を示すログを収集し、収集されたログに対応するインデックスを生成する。クライアントログ管理プログラム35は、収集されたログと生成されたインデックスとをサーバー装置21に送信する。クライアントログ管理プログラム35は、通信部351、ポリシー格納部352、監視部353、操作ログ格納部354、及びインデックス生成部355を備える。また、クライアントログ管理プログラム35は、クライアント装置31に設けられた記憶装置36にデータを格納し、格納されたデータを用いて処理を行う。記憶装置36には、ポリシー格納領域361、操作ログ格納領域362及び一時インデックス格納領域363が設けられる。
【0024】
まず、サーバー装置21のポリシー管理機能による各部の動作について説明する。
入力制御部222は、管理者による各種の入力を検出する。管理者による入力は、例えば、キーボード、マウス、タッチパネル、タッチパッド等の各種の入力デバイスを用いて行われる。より具体的には、入力制御部222は、例えば、ポリシー設定画面の表示を指示する入力や、ポリシーの決定を指示する入力を検出する。ポリシー設定画面は、管理者がポリシーを設定するための画面である。管理者は、ポリシー設定画面を用いて、クライアント装置31に関連付けられるポリシーを新たに決定することや、既に関連付けられているポリシーを変更することができる。入力制御部222は、ポリシー設定画面の表示を指示する入力が検出されたことに応じて、表示制御部221にポリシー設定画面の表示を要求する。また、入力制御部222は、ポリシーの決定を指示する入力が検出されたことに応じて、ポリシー管理部220にポリシーが決定されたことを通知する。
【0025】
ポリシー管理部220は、ポリシー格納領域231に格納されたポリシーデータ231Aを管理する。ポリシーデータ231Aは、クライアント装置31にインデックスデータ(一時インデックスデータ)を生成させるためのポリシーを示す。ポリシー管理部220は、入力制御部222による通知に応じて、決定されたポリシーに対応するポリシーデータ231Aを生成する。
【0026】
図4は、ポリシーデータ231Aの一構成例を示す。ポリシーデータ231Aは、1以上のクライアント装置31に対応する1以上のエントリを含む。換言すると、1つのエントリは、1つのクライアント装置31に関連付けられる。各エントリは、例えば、クライアントID、カテゴリ及びファイルパスを含む。あるクライアント装置に対応するエントリにおいて、「クライアントID」は、そのクライアント装置に固有の識別情報(識別子とも称する)を示す。「クライアントID」は、そのクライアント装置で生成された操作ログデータ(ログファイル)に付与されるファイルIDを生成するためのベースIDとしても用いられる。クライアント装置に固有の識別情報をベースIDとして用いることにより、クライアント装置から送信された操作ログデータのIDが、別のクライアントによって送信された操作ログデータのIDと、サーバー装置21上で衝突することが防止される。
【0027】
「カテゴリ」は、そのクライアント装置で収集されたログデータの内、一時インデックスデータが生成されるログデータのカテゴリを示す。エントリは複数の「カテゴリ」を含んでもよい。したがって、クライアント装置では、収集されたログデータの内、該クライアント装置に対応するエントリに指定されたカテゴリに属するログデータに対して、一時インデックスデータが生成される。なお、エントリは「カテゴリ」を含まなくてもよい。その場合、そのクライアント装置では、一時インデックスデータが生成されない。
【0028】
「カテゴリ」に設定される値は、例えば、“ウェブ”、“ファイル”、“メール”、“外部デバイス”、“起動/シャットダウン”、“ログオン/ログオフ”等である。例えば、「カテゴリ(1)」に“ウェブ”が設定され、「カテゴリ(2)」に“ファイル”が設定された場合、クライアント装置では、ウェブ操作(例えば、ウェブブラウザを使用した操作)に関するログデータと、ファイル操作(例えば、ファイルの作成、削除、コピー、移動、編集等の操作)に関するログデータとに対応する一時インデックスデータが作成される。「カテゴリ」には、例えば、検索される頻度が高いログデータが属するカテゴリや、収集されるデータ量が大きいログデータが属するカテゴリが設定される。そのようなカテゴリが設定されることによって、サーバー装置21でのインデックス作成にかかる負荷を軽減することができる。
【0029】
「ファイルパス」は、そのクライアント装置から送信された操作ログデータが格納される、サーバー装置21内のディレクトリのパスを示す。
【0030】
ポリシー管理部220は、生成されたポリシーデータ231Aを通信部223に出力する。具体的には、ポリシー管理部220は、1以上のクライアント装置31それぞれに対して、関連付けられたポリシーデータ231Aのエントリが送信されるように、ポリシーデータ231Aのエントリを通信部223に出力する。ポリシー管理部220は、例えば、所定の期間毎や、ポリシーが更新された際に、クライアント装置31にポリシーデータ231Aが配信されるように制御する。
【0031】
通信部223は、ポリシー管理部220によって出力されたポリシーデータ231Aをクライアント装置31(通信部351)に送信する。具体的には、通信部223は、ポリシー管理部220によって出力されたポリシーデータ231Aのエントリを、そのエントリが関連付けられたクライアント装置31に送信する。ポリシーをクライアント装置31に配信することによって、クライアント装置31でインデックス生成を行うカテゴリが制御され、クライアント装置31にかかる負荷を調整することができる。例えば、クライアント装置31によって収集されるすべてのログデータではなく、一部のログデータ(例えば、検索頻度が高いカテゴリやデータ量が多いカテゴリに属するログデータ)に対応するインデックスが作成されることにより、クライアント装置31にかかる負荷を調整することができる。
【0032】
なお、ポリシー管理部220は、インベントリ格納領域232に格納されたクライアントインベントリデータ232Aに基づいて、ポリシーデータ231Aを生成してもよい。クライアントインベントリデータ232Aは、1以上のクライアント装置31それぞれの性能を示す値を含む。
【0033】
図5は、クライアントインベントリデータ232Aの一構成例を示す。クライアントインベントリデータ232Aは、1以上のクライアント装置31に対応する1以上のエントリを含む。各エントリは、例えば、クライアントID、プロセッサ、メモリ、HDDを含む。あるクライアント装置に対応するエントリにおいて、「クライアントID」は、そのクライアント装置に固有の識別情報を示す。「プロセッサ」は、そのクライアント装置に設けられたプロセッサ(CPU)の処理速度(例えば、ギガヘルツ単位の処理速度)を示す。「メモリ」は、そのクライアント装置に設けられたメモリの記憶容量(例えば、メガバイト単位の記憶容量)を示す。「HDD」は、そのクライアント装置に設けられたハードディスクドライブ(記憶装置)の記憶容量(例えば、ギガバイト単位の記憶容量)を示す。
【0034】
ポリシー管理部220は、クライアントインベントリデータ232Aを参照することによって、サーバー装置21に接続されるクライアント装置31それぞれの性能を示す値を読み出すことができる。ポリシー管理部220は、読み出されたクライアント装置31の性能を示す値に基づいて、クライアント装置31で収集されたログデータの内、当該装置31内で一時インデックスデータが生成されるログデータのカテゴリを決定する。例えば、プロセッサの処理速度が第1しきい値以上であり、且つメモリの記憶容量が第2しきい値以上であるクライアント装置は、インデックスデータを生成するための性能を備えていると判断されるので、ポリシー管理部220は、クライアント装置にインデックスデータを生成させる「カテゴリ」が設定されたポリシーデータ231Aを作成する。また、例えば、プロセッサの処理速度が第1しきい値未満であるクライアント装置は、インデックスデータを生成するための性能を備えていないと判断されるので、ポリシー管理部220は、クライアント装置にインデックスデータを生成させる「カテゴリ」が設定されていないポリシーデータ231Aを作成する。なお、ポリシー管理部220は、サーバー装置21に接続されるクライアント装置の数に基づいて、ポリシーデータ231Aを作成してもよい。例えば、ポリシー管理部220は、クライアント装置の数が第3しきい値以上である場合に、クライアント装置でインデックスデータが生成されるように、ポリシーデータ231Aを作成する。
【0035】
次いで、クライアント装置31内の各部の動作について説明する。
通信部351は、サーバー装置21(通信部223)によって送信された、クライアント装置31に関連付けられたポリシーデータ231Aを受信する。通信部351は、受信したポリシーデータ231Aをポリシー格納部352に出力する。また、通信部351は、ポリシーデータ231Aに含まれるクライアントID(ベースID)をインデックス生成部355に出力する。このベースIDは、ポリシーデータ231Aとは別に、サーバー装置21によって送信されたものであってもよい。
【0036】
ポリシー格納部352は、通信部351によって出力されたポリシーデータ231Aをポリシー格納領域361に格納する。これにより、クライアント装置31では、ポリシー格納領域361に格納されたポリシーデータ361A(すなわち、ポリシーデータ231A)に基づいて、操作ログデータ362Aに対応する一時インデックスデータ363Aが生成される。
【0037】
次いで、監視部353は、クライアント装置31上で実行されるオペレーティングシステム34や各種のアプリケーションプログラム等を監視することによって、クライアント装置31に対する操作を検出する。監視部353は、例えば、ウェブ、ファイル、メール、及びデバイス等の利用、起動、シャットダウン、ログオン、ログオフ等に関する操作を検出する。監視部353は、ユーザーによる操作に限らず、例えば、所定の期間毎に自動的に実行されるプログラム(例えば、メールサーバへの所定期間毎の問い合わせ、セキュリティプログラムの定期的な更新等)による動作を検出してもよい。監視部353は、クライアント装置31に対する操作が検出されたことを操作ログ格納部354に通知する。
【0038】
操作ログ格納部354は、監視部353による通知に応じて、検出された操作の内容を示す操作ログデータ362Aを生成し、操作ログ格納領域362に格納する。生成される操作ログデータ362Aは、例えば、日時、カテゴリ、操作の内容が記述されたファイルである。このファイルは、例えばテキスト形式のファイルである。操作ログ格納領域362には、複数の操作ログデータ362A(すなわち、複数のテキストファイル)が格納される。また、操作ログ格納部354は、生成された操作ログデータ362Aをインデックス生成部355に出力する。
【0039】
具体的には、検出された操作がウェブ操作である場合、操作ログデータ362Aに記述される操作の内容は、例えば、そのウェブ操作で閲覧されたウェブページのタイトル、URL等を含む。検出された操作がファイル操作である場合、操作ログデータ362Aに記述される操作の内容は、例えば、ファイル名、操作の種類(コピー、移動、削除、新規作成、編集等)を含む。検出された操作がメール操作である場合、操作ログデータ362Aに記述される操作の内容は、例えば、宛先アドレス、送信元アドレス、件名、メール本文、添付ファイルを含む。検出された操作がデバイスの使用である場合、操作ログデータ362Aに記述される操作の内容は、例えば、デバイスの識別番号、デバイスの名称、デバイスの種類、デバイスが接続されたインタフェースを含む。
【0040】
インデックス生成部355は、操作ログ格納部354によって出力された操作ログデータ362Aに対応する一時インデックスデータ363Aを生成する。具体的には、インデックス生成部355は、出力された操作ログデータ362Aの内、ポリシーデータ361Aで指定された第1カテゴリに属する第1ログデータに対応する一時インデックスデータ363Aを生成する。この一時インデックスデータ363Aは、第2インデックスデータとも称する。また、一時インデックスデータ363Aは、ファイルインデックスデータ364とワードインデックスデータ365とを含む。
【0041】
なお、操作ログデータ362Aの内、ポリシーデータ361Aで指定された第1カテゴリに属しないログデータを、第2ログデータとも称する。したがって、操作ログデータ362Aは、ポリシーデータ361Aで指定された第1カテゴリに属する第1ログデータと、ポリシーデータ361Aで指定された第1カテゴリに属さない第2ログデータとを含む。なお、操作ログデータ362Aに含まれる全てのデータが第1カテゴリに属する場合には、操作ログデータ362Aは第1ログデータのみを含む。また、操作ログデータ362Aに含まれる全てのデータが第1カテゴリに属さない場合には、操作ログデータ362Aは第2ログデータのみを含む。なお、ポリシーデータ361Aで指定されるカテゴリは、複数のカテゴリであってもよい。
【0042】
図6は、一時インデックスデータ363Aに含まれるファイルインデックスデータ364の例を示す。ファイルインデックスデータ364は、複数のログファイルに対応する複数のエントリを含む。例えば、操作ログ格納領域362に複数の操作ログデータ362A(複数のログファイル)が格納されているとき、ファイルインデックスデータ364は複数のエントリを含む。各エントリは、ファイルIDとファイルパスとを含む。あるログファイルに対応するエントリにおいて、「ファイルID」は、そのログファイルに固有の識別情報を示す。「ファイルID」に設定される値は、例えば、サーバー装置21によって予め送信されたベースID(クライアントID)の後に、ログファイルに付与されたシーケンシャル番号を付加した値である。例えば、サーバー装置21によってベースID“000078”が送信されている場合に、シーケンシャル番号“0001”が付与された新たなログファイルが作成されたとき、そのファイルに対応するエントリの「ファイルID」には、“0000780001”が設定される。
【0043】
「ファイルパス」は、そのログファイルがサーバー装置21内で格納される位置を表すファイルパスを示す。ログファイルがサーバー装置21内で格納されるディレクトリを示すパスは、例えば、サーバー装置21によって予めクライアント装置31に送信されるポリシーデータ361Aに示される。クライアント装置31は、ポリシーデータ361Aに含まれるディレクトリを示すパスの後に、ログファイルのファイル名を付加することにより、「ファイルパス」の値を生成する。例えば、ポリシーデータ361Aにディレクトリのパス“C:\Logdata\”が含まれている場合に、ファイル名“applicationlog_4e1.txt”である新たなログファイルが作成されたとき、そのファイルに対応するエントリの「ファイルパス」には、“C:\Logdata\ applicationlog_4e1.txt”が設定される。
【0044】
また、図7は、一時インデックスデータ363Aに含まれるワードインデックスデータ365の例を示す。図7に示す例では、ワードインデックスデータ365がunigramモデル(n=1であるn-gramモデル)に基づいて作成されることを想定する。ワードインデックスデータ365は、複数の文字に対応する複数のエントリを含む。各エントリは、文字とファイルIDとを含む。ある文字に対応するエントリにおいて、「文字」は、その文字自体を示す。「ファイルID」は、その文字を含むファイルのIDを示す。「ファイルID」には、複数のファイルのIDが設定され得る。ワードインデックスデータ365は、操作ログデータ362A(ログファイル)に含まれる全ての文字それぞれに対応するエントリを含む。
【0045】
具体的には、図7に示すように、「ファイルID」が“0000780004”であるログファイルに、文字列“r&”が含まれる場合、文字“r”に対応するエントリの「ファイルID」と文字“&”に対応するエントリの「ファイルID」とに、“0000780004”が設定される。したがって、このワードインデックスデータ365を参照することによって、例えば、文字“r”が含まれるファイルが、ファイルID“0000780004”、“0000783234”、“0000785670”であるファイルであることが分かる。
【0046】
インデックス生成部355は、操作ログデータ(ログファイル)362Aがポリシーデータ361Aで指定されたカテゴリに属する場合、そのログデータに対応するファイルインデックスデータ364のエントリとワードインデックスデータ365のエントリとを生成する。例えば、ポリシーデータ361Aの「カテゴリ」に“ウェブ”が指定されている際に、ウェブ操作を示す操作ログデータ362Aが出力された場合、インデックス生成部355は、そのログデータに対応するファイルインデックスデータ364のエントリとワードインデックスデータ365のエントリとを生成する。例えば、インデックス生成部355は、ログデータに含まれるテキストがn-gramモデルに基づいて分解された「文字」と、「ファイルID」とを含むワードインデックスデータ365のエントリを生成する。そして、インデックス生成部355は、生成されたエントリを一時インデックス格納領域363に格納(追加)する。なお、インデックス生成部355によって生成されるワードインデックスデータ365は、n-gramモデルによって得られた文字に対応するワードインデックスデータに限らず、形態素解析によって得られた単語に対応するワードインデックスデータであってもよい。
【0047】
また、ポリシーデータ361Aの「カテゴリ」に“ウェブ”が指定されている際に、メール操作を示す操作ログデータ362Aが出力された場合、インデックス生成部355は、そのログデータに対応するファイルインデックスデータ364のエントリとワードインデックスデータ365のエントリとを生成しない。
【0048】
次いで、通信部351は、操作ログデータ362Aと一時インデックスデータ363Aとをサーバー装置21(通信部223)に送信する。通信部351は、例えば、所定の期間毎に(例えば、前回ログを送信してから一時間が経過したことに応じて)、操作ログデータ362Aと一時インデックスデータ363Aとをサーバー装置21に送信する。なお、通信部351は、例えば、所定のデータ量のログデータ362Aが操作ログ格納領域362に蓄積された場合に、操作ログデータ362Aと一時インデックスデータ363Aとをサーバー装置21に送信してもよい。
【0049】
次いで、サーバー装置21のログ管理機能による各部の動作について説明する。
通信部223は、クライアント装置31(通信部351)によって送信された一時インデックスデータ363A(第2インデックスデータ)と操作ログデータ362Aとを受信する。上述のように、操作ログデータ362Aは、ポリシーデータ361Aに示される第1カテゴリに属する第1ログデータと、第1カテゴリに属しない第2ログデータとを含み得る。また、第2インデックスデータ363Aは、第1ログデータに対応するインデックスデータである。通信部223は、受信した一時インデックスデータ363Aを一時インデックス格納部226に出力する。また、通信部223は、受信した操作ログデータ362Aを操作ログ格納部224に出力する。
【0050】
一時インデックス格納部226は、通信部223によって出力された一時インデックスデータ363Aを一時インデックス格納領域234に格納する。そして、一時インデックス格納部226は、新たな一時インデックスデータ234A(363A)が一時インデックス格納領域234に格納されたことを、インデックスマージ部227に通知する。
【0051】
インデックスマージ部227は、一時インデックス格納部236による通知に応じて、一時インデックス格納領域234に格納された一時インデックスデータ234Aを、インデックス格納領域235に格納されたインデックスデータ235Aにマージする。このインデックスデータ235Aは、操作ログ格納領域233に格納されている操作ログデータ233A(複数のログデータ)に対応する第1インデックスデータである。つまり、インデックスマージ部227は、インデックスデータ235A(第1インデックスデータ)と一時インデックスデータ234A(第2インデックスデータ)とがマージされた新たなインデックスデータを生成する。この新たなインデックスデータは、第3インデックスデータとも称する。そして、インデックスマージ部227は、その新たなインデックスデータ(第3インデックスデータ)をインデックス格納領域235に格納する。より具体的には、インデックスマージ部227は、一時インデックスデータ234Aに含まれるファイルインデックスデータとワードインデックスデータとを、それぞれインデックスデータ235Aに含まれるファイルインデックスデータ236とワードインデックスデータ237とにマージし、インデックス格納領域235に格納する。なお、インデックス格納領域235にいずれのデータも格納されていない場合(例えば、初期状態)では、インデックスマージ部227は、一時インデックスデータ234Aをそのままインデックス格納領域235に格納する。
【0052】
また、操作ログ格納部224は、通信部223によって出力された操作ログデータ362Aを操作ログ格納領域233に格納(追加)する。操作ログ格納領域233には、操作ログデータ233A(複数の操作ログデータ)が既に格納されていてもよい。その場合、操作ログ格納領域362には、操作ログデータ233Aと操作ログデータ362A(すなわち、第1ログデータ及び第2ログデータ)とが格納される。そして、操作ログ格納部224は、新たな操作ログデータ233A(362A)が操作ログ格納領域362に追加されたことを、インデックス生成部225に通知する。
【0053】
インデックス生成部225は、操作ログ格納部224による通知に応じて、新たに追加された操作ログデータ233Aの内、対応する一時インデックスデータ363A(第2インデックスデータ)が生成されていない第2ログデータに対応する第4インデックスデータを生成する。具体的には、インデックス生成部225は、クライアント装置31に対応するポリシーデータ231Aのエントリに基づいて、操作ログデータ233Aの内、対応する一時インデックスデータ234Aがない操作ログデータ(第2ログデータ)を検出する。そして、インデックス生成部225は、検出された第2ログデータに対応する第4インデックスデータを生成する。この第4インデックスデータは、ファイルインデックスデータとワードインデックスデータとを含む。この第4インデックスデータを生成する方法は、クライアント装置31のインデックス生成部355について説明した方法と同様である。インデックス生成部225は、生成された第4インデックスデータ(ファイルインデックスデータとワードインデックスデータ)をインデックスマージ部227に出力する。
【0054】
インデックスマージ部227は、インデックス生成部225によって出力された第4インデックスデータ(ファイルインデックスデータ及びワードインデックスデータ)を、インデックス格納領域235に格納されたインデックスデータ235Aにマージする。換言すると、インデックスマージ部227は、複数の操作ログデータ233Aに対応する第1インデックスデータと、第1ログデータに対応する第2インデックスデータと、第2ログデータに対応する第4インデックスデータとがマージされた第3インデックスデータを生成する。インデックス格納領域235には、生成された第3インデックスデータが格納される。そして、クライアント装置31から受信した操作ログデータ362Aに対応するインデックスデータ(第2インデックスデータ及び第4インデックスデータ)が、インデックス格納領域235に格納(マージ)されたことに応じて、インデックスマージ部227は、一時インデックス格納領域234から一時インデックスデータ234Aを削除する。
【0055】
図8は、インデックスデータ235Aに含まれるファイルインデックスデータ236の例を示す。ファイルインデックスデータ236の構成は、図6を参照して説明したファイルインデックスデータ364と同様である。ファイルインデックスデータ236は、例えば、複数のクライアント装置によって送信された複数のファイルインデックスデータ364がマージされたデータを含む。そして、ファイルインデックスデータ236は、インデックス生成部225によって生成され、インデックスマージ部227によってマージされたファイルインデックスデータも含む。図8に示す例では、ファイルインデックスデータ236は、クライアントID(ベースID)が“000001”,“000002”,“000003”,“000078”であるクライアント装置によって送信されたログファイルに対応するエントリを含んでいる。
【0056】
また、図9は、インデックスデータ235Aに含まれるワードインデックスデータ237の例を示す。ワードインデックスデータ237の構成は、図7を参照して説明したワードインデックスデータ365と同様である。ワードインデックスデータ237は、例えば、複数のクライアント装置によって送信された複数のワードインデックスデータ365がマージされたデータを含む。そして、ワードインデックスデータ237は、インデックス生成部225によって生成され、インデックスマージ部227によってマージされたワードインデックスデータも含む。
【0057】
次いで、サーバー装置21のログ検索機能による各部の動作について説明する。
ログ検索部229は、インデックスデータ235Aを用いて、操作ログデータ233Aを検索する。例えば、ログ検索部229は、操作ログデータ233Aから、管理者によって入力された検索文字列(キーワード)を含む操作ログデータを探し出す(すなわち、キーワードを含むログファイルを抽出する)。ログ検索のための検索画面は、例えば、表示制御部221によって表示される。管理者は、表示された検索画面に検索したいキーワードを入力する。このキーワードは、例えば、入力制御部222によってログ検索部229に出力される。
【0058】
例えば、図9に示すワードインデックスデータ237を用いて、“東京”というキーワードで操作ログデータ233Aを検索することを想定する。その場合、ログ検索部229は、まず、キーワードを分解して文字“東”及び“京”を検出する。そして、ログ検索部229は、ワードインデックスデータ237を用いて、それら文字それぞれに対応するファイルIDを検出する。すなわち、“東”に対応する“0000010002”,“0000780012”,“0000781003”,及び“0000784012”と、“京”に対応する“0000010002”,“0000780012”,“0000782141”,及び“0000783624”とが検出される。次いで、ログ検索部229は、文字それぞれに対応するファイルIDの内、それら文字すべてに対応するファイルIDを検出する。すなわち、“東”と“京”の両方に対応する“0000010002”及び“0000780012”が検出される。つまり、ログ検索部229は、ワードインデックスデータ237を用いて、キーワードに含まれるすべての文字を含むログファイルのファイルIDを検出する。そして、ログ検索部229は、ファイルインデックスデータ237を用いて、検出されたファイルIDに対応するファイルパスを検出することにより、検出されたファイルパスに対応するログファイルを操作ログ格納領域233から読み出す。読み出されたログファイル(検索結果)は、例えば、表示制御部221によって画面に表示される。これにより管理者は、キーワードを含むログファイル(ログデータ)を閲覧することができる。
【0059】
ログ分析部228は、蓄積された操作ログデータ233Aを分析する。ログ分析部228は、例えば、操作ログデータ233Aのカテゴリ、データ量、検索頻度等の傾向を分析する。ログ分析部228は、インデックスデータ235Aを用いて操作ログデータ233Aを分析してもよい。
【0060】
また、図10は、サーバー装置21によって表示されるポリシー設定画面41の例を示す。図10に示す例では、ポリシー設定画面41は、クライアント選択エリア42とポリシー設定エリア43とを含む。クライアント選択エリア42では、サーバー装置21に接続される複数のクライアント装置が、例えば階層構造で示される。この階層構造で示される各項目は選択可能に表示される。したがってユーザーは、この階層構造で示される項目を選択することによって、ポリシーを設定する対象のクライアント装置を選択することができる。例えば、「すべて」を選択した場合、すべてのクライアント装置に関連付けられるポリシーを設定できる。また、「グループ1」を選択した場合、グループ1に属するクライアント装置(PC1,PC2,PC3)に関連付けられるポリシーを設定できる。
【0061】
ポリシー設定エリア43は、インデックス対象カテゴリ選択エリア44とインデックス処理条件入力エリア45とを含む。そして、インデックス対象カテゴリ選択エリア44は、一時インデックスデータ363Aを生成する対象のカテゴリを選択するためのチェックボックスを含む。このチェックボックスは、例えば、「ログオン」441、「ウェブ」442、「外部デバイス」443、及び「ファイル」444を含む。ユーザーは、これらチェックボックス441,442,443,444を用いて、一時インデックスデータ363Aを生成する対象のカテゴリを選択することができる。
【0062】
また、インデックス処理条件入力エリア45は、クライアント装置によって一時インデックスデータ363Aが生成される条件を入力するための入力エリアと「設定」ボタン46とを含む。この入力エリアは、例えば、「CPU」エリア451、「メモリ」エリア452、及び「HDD」エリア453を含む。ユーザーは、これら入力エリア451,452,453を用いて、クライアント装置によって一時インデックスデータ363Aが生成される条件を入力することができる。
【0063】
「設定」ボタン46は、選択されたインデックス対象カテゴリとインデックス処理条件とを設定するためのボタンである。すなわち、この「設定」ボタンが押されたことに応じて、ポリシー管理部220は、ポリシーデータ231Aを生成(更新)する。したがって、これら入力エリア451,452,453に入力された条件を満たす場合に(すなわち、クライアント装置が入力された性能を満たす場合に)、クライアント装置は、操作ログデータ362Aの内に対応する一時インデックスデータ363Aを生成する。
【0064】
次いで、図11を参照して、クライアント管理システム1におけるデータの流れについて説明する。
まず、サーバー装置21は、クライアント装置31にポリシーデータ231Aを配信する(A1)。クライアント装置31は、配信されたポリシーデータ231Aをポリシー格納領域361に格納する。
【0065】
次に、サーバー装置21は、クライアント装置31にベースIDを送信する(A2)。このベースIDは、クライアント装置31で一時インデックスデータ363Aを作成するための識別情報である。クライアント装置31は、ポリシー格納領域361に格納されたポリシーデータ361Aに基づき、ベースIDを用いて、操作ログデータ362Aに対応する一時インデックスデータ363Aを作成する。
【0066】
次いで、クライアント装置31は、作成された一時インデックスデータ363Aをサーバー装置21に送信する(A3)。サーバー装置21は、送信された一時インデックスデータ363Aを一時インデックス格納領域234に格納する。また、クライアント装置31は、操作ログ格納領域362に格納されている操作ログデータ362Aをサーバー装置21に送信する(A4)。サーバー装置21は、送信された操作ログデータ362Aを操作ログデータ格納領域233に格納する。
【0067】
そして、サーバー装置21は、一時インデックス格納領域234に格納された一時インデックスデータ234Aをインデックスデータ235Aにマージする。また、サーバー装置21は、ポリシーデータ231Aに基づいて、クライアント装置31によって送信された操作ログデータ362Aの内、対応する一時インデックスデータ234A(363A)がない操作ログデータを検出する。そして、サーバー装置21は、検出された操作ログデータに対応するインデックスデータを作成する(すなわち、インデックス格納領域235に格納されたインデックスデータ235Aに追加する)。
【0068】
以上により、サーバー装置21は、クライアント装置31の操作ログデータ233Aと、この操作ログデータ233Aに対応するインデックスデータ235Aを取得することができる。サーバー装置21は、インデックスデータ235Aを用いることにより操作ログデータ233Aを容易に検索することができる。また、クライアント装置31で一時インデックスデータ363Aが作成されることによって、サーバー装置21は、そのインデックスデータの作成自体を行う必要がなく、一時インデックスデータ363Aデータをインデックスデータ235Aにマージするだけで済む。したがって、サーバー装置21で、インデックスデータ235Aを得るために要する処理の負荷を低減することができる。
【0069】
次いで、図12に示すフローチャートを参照して、サーバー装置21によるログ管理処理の手順の例について説明する。
まず、ポリシー管理部220は、通信部223を介して、クライアント装置31にポリシーデータ231Aを送信する(ブロックB11)。具体的には、ポリシー管理部220は、クライアント装置31に関連付けられたポリシーデータ231Aをポリシー格納領域231から読み出す。ポリシー管理部220は、読み出されたポリシーデータ231Aを通信部223に出力する。そして、通信部223は、クライアント装置31の通信部351にポリシーデータ231Aを送信する。
【0070】
次いで、ポリシー管理部220は、通信部223を介して、クライアント装置31にベース識別子(ベースID)を送信する(ブロックB12)。ベースIDは、クライアント装置31に一意に割り当てられた識別情報である。なお、ベースIDは、ポリシーデータ231Aに含めて送信されてもよい。
【0071】
そして、通信部223は、クライアント装置31(通信部351)によって送信された一時インデックスデータ363A(第2インデックスデータ)を受信する(ブロックB13)。通信部223は、受信した一時インデックスデータ363Aを一時インデックス格納部226に出力する。一時インデックス格納部226は、その一時インデックスデータ363Aを一時インデックス格納領域234に格納する。
【0072】
また、通信部223は、クライアント装置31によって送信された操作ログデータ362A(第1ログデータ及び第2ログデータ)を受信する(ブロックB14)。通信部223は、受信した操作ログデータ362Aを操作ログ格納部224に出力する。操作ログ格納部224は、その操作ログデータ362Aを操作ログ格納領域233に格納する。
【0073】
次いで、インデックスマージ部227は、一時インデックス格納領域234に格納された一時インデックスデータ234Aを、インデックス格納領域235に格納されたインデックスデータ235A(第1インデックスデータ)に統合する(ブロックB15)。
【0074】
また、インデックス生成部225は、ブロックB14で受信した操作ログデータ362Aの内、対応する一時インデックスデータ363Aがない操作ログデータ(第2ログデータ)に対応するインデックスデータ235A(第4インデックスデータ)を生成する(ブロックB16)。具体的には、インデックス生成部225は、クライアント装置31に関連付けられたポリシーデータ231Aに基づいて、ブロックB14で受信した操作ログデータ362Aの内、対応する一時インデックスデータ234A(363A)がない操作ログデータ(すなわち、ポリシーデータ231Aに指定された第1カテゴリに属さない第2ログデータ)を検出する。そして、インデックス生成部225は、検出された操作ログデータに対応するインデックスデータを生成し、生成したインデックスデータをインデックスマージ部227に出力する。インデックスマージ部227は、インデックス生成部225によって出力されたインデックスデータを、インデックス格納領域235に格納されたインデックスデータ235Aに統合する。
【0075】
そして、クライアント装置31から受信した操作ログデータに対応するインデックスデータが、インデックス格納領域235に格納(統合)されたことに応じて、インデックスマージ部227は、一時インデックス格納領域234から一時インデックスデータ234Aを削除する(ブロックB17)。
【0076】
また、図13に示すフローチャートは、クライアント装置31によるログ管理処理の手順に例を示す。
まず、通信部351は、サーバー装置21(通信部223)によって送信された、クライアント装置31に関連付けられたポリシーデータ231Aを受信する(ブロックB21)。通信部351は、受信したポリシーデータ231Aをポリシー格納部352に出力する。ポリシー格納部352は、通信部351によって出力されたポリシーデータ231Aをポリシー格納領域361に格納する。
【0077】
そして、通信部351は、サーバー装置21によって送信された、クライアント装置31を一意に識別可能なベースIDを受信する(ブロックB22)。通信部351は、受信したベースIDをインデックス生成部355に出力する。
【0078】
次いで、監視部353は、オペレーティングシステム34等を監視することによって、操作が検出されたか否かを判定する(ブロックB23)。操作が検出されていない場合(ブロックB23のNO)、ブロックB23に戻り、再度、操作が検出されたか否かが判定される。一方、操作が検出された場合(ブロックB23のYES)、操作ログ格納部354は、検出された操作を示すログ(操作ログデータ362A)を操作ログ格納領域362に保存する(ブロックB24)。そして、インデックス生成部355は、保存された操作ログデータ362Aの内、ポリシーデータ361Aで指定された第1カテゴリに属する第1ログデータに対応する一時インデックスデータ363A(第2インデックスデータ)を生成する(ブロックB25)。
【0079】
次いで、通信部351は、ログをサーバー装置21に送信すべきタイミングであるか否かを判定する(ブロックB26)。通信部351は、例えば、所定の期間毎にログをサーバー装置21に送信する。したがって、前回ログを送信してから所定の期間が経過した場合、通信部351は、ログを送信すべきタイミングであると判定する。なお、通信部351は、例えば、所定のデータ量のログデータが操作ログ格納領域362に蓄積された場合に、ログを送信すべきタイミングであると判定してもよい。ログを送信すべきタイミングでない場合(ブロックB26のNO)、ブロックB23に戻り、再度、操作が検出されたか否かが判定される。
【0080】
一方、ログを送信すべきタイミングである場合(ブロックB26のYES)、通信部351は、一時インデックス格納領域363に格納された一時インデックスデータ363Aをサーバー装置21(通信部223)に送信する(ブロックB27)。通信部351は、操作ログ格納領域362に格納された操作ログデータ362Aをサーバー装置21に送信する(ブロックB28)。そして、ブロックB23に戻ることにより、クライアント装置31のログの収集と収集されたログのサーバー装置21への送信とを継続して行うことができる。
【0081】
次いで、図14は、クライアント装置31のシステム構成の例を示す。クライアント装置31は、CPU(Central Processing Unit)311、主メモリ312、I/Oデバイス313、外部記憶装置314、表示コントローラ315、及びLCD(Liquid Crystal Display)316等を備える。
【0082】
CPU311は各種プログラムを実行するプロセッサである。CPU311は、各種演算処理を実行すると共に、クライアント装置31内の各部を制御する。
【0083】
主メモリ312は、CPU311によって実行される、オペレーティングシステム34、クライアントログ管理プログラム35のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ312には、例えばOS34及びログ管理プログラム35がロードされている。
【0084】
I/Oデバイス313は、クライアント装置31に対するデータの入出力を実行するための各種入出力デバイスである。また、外部記憶装置314は、各種プログラムやデータを格納するための不揮発性の記憶装置である。外部記憶装置314に格納された各種プログラムやデータは、クライアント装置31内の各部による要求に応じて、主メモリ312へロードされる。メモリ312にロードされるクライアントログ管理プログラム35の動作は、図3等を参照して説明した通りである。
【0085】
表示コントローラ315は、クライアント装置31のディスプレイモニタとして使用されるLCD316を制御する。この表示コントローラ315によって生成される表示信号はLCD316に送られる。表示コントローラ315及びLCD316を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【0086】
図15は、サーバー装置21のシステム構成の例を示す。サーバー装置21は、CPU(Central Processing Unit)211、主メモリ212、I/Oデバイス213、外部記憶装置214、表示コントローラ215、及びLCD(Liquid Crystal Display)216等を備える。
【0087】
CPU211は各種プログラムを実行するプロセッサである。CPU211は、各種演算処理を実行すると共に、サーバー装置21内の各部を制御する。
【0088】
主メモリ212は、CPU211によって実行される、オペレーティングシステム24、サーバーログ管理プログラム22のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ212には、例えばOS24及びログ管理プログラム22がロードされている。
【0089】
I/Oデバイス213は、サーバー装置21に対するデータの入出力を実行するための各種入出力デバイスである。また、外部記憶装置214は、各種プログラムやデータを格納するための不揮発性の記憶装置である。外部記憶装置214に格納された各種プログラムやデータは、サーバー装置21内の各部による要求に応じて、主メモリ212へロードされる。メモリ212にロードされるサーバーログ管理プログラム22の動作は、の動作は、図3等を参照して説明した通りである。
【0090】
表示コントローラ215は、サーバー装置21のディスプレイモニタとして使用されるLCD216を制御する。この表示コントローラ215によって生成される表示信号はLCD216に送られる。表示コントローラ215及びLCD216を用いることにより、例えば、管理者による操作に応じた画面を表示することができる。
【0091】
以上説明したように、本実施形態によれば、インデックスデータを用いてクライアント装置のログデータを検索できるまでの時間を短縮することができる。ポリシーデータ361Aに指定されたカテゴリに属する操作ログデータについては、クライアント装置31で一時インデックスデータ363Aが作成されるので、サーバー装置21は、そのインデックスデータの作成自体を行う必要がなく、一時インデックスデータ363Aデータをインデックスデータ235Aにマージするだけで済む。したがって、サーバー装置21で、インデックスデータ235Aを得るために要する処理の負荷を低減することができる。これにより、サーバー装置21が、インデックスデータ235Aを用いて、クライアント装置31によって収集されたログデータ233Aを検索できるまでの時間を短縮することができる。
【0092】
なお、本実施形態のサーバーログ管理処理及びクライアントログ管理処理の手順は全てソフトウェアによって実行することができる。このため、サーバーログ管理処理及びクライアントログ管理処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0093】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0094】
21…サーバー装置、22…サーバーログ管理プログラム、23…記憶装置、220…ポリシー管理部、221…表示制御部、222…入力制御部、223…通信部、224…操作ログ格納部、225…インデックス生成部、226…一時インデックス格納部、227…インデックスマージ部、228…ログ分析部、229…ログ検索部、231…ポリシー格納領域、231A…ポリシーデータ、232…インベントリ格納領域、232A…クライアントインベントリデータ、233…操作ログ格納領域、234…一時インデックス格納領域、234A…一時インデックスデータ、235…インデックス格納領域、235A…インデックスデータ、236…ファイルインデックスデータ、237…ワードインデックスデータ、31…クライアント装置、34…オペレーティングシステム、35…クライアントログ管理プログラム、36…記憶装置、351…通信部、352…ポリシー格納部、353…監視部、354…操作ログ格納部、355…インデックス生成部、361…ポリシー格納領域、362…操作ログ格納領域、363…一時インデックス格納領域、361A…ポリシーデータ、362A…操作ログデータ、363A…一時インデックスデータ、364…ファイルインデックスデータ、365…ワードインデックスデータ。
【特許請求の範囲】
【請求項1】
複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納する格納手段と、
ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信するログ受信手段と、
前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成するマージ手段とを具備し、
前記格納手段は、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納する情報処理装置。
【請求項2】
前記クライアント装置でインデックスデータが生成されるログデータが属する第1カテゴリを示すポリシーデータを生成するポリシー生成手段と、
前記ポリシーデータを前記クライアント装置に送信するポリシー送信手段とをさらに具備し、
前記ログ受信手段は、前記第1カテゴリに属する第1ログデータと、前記第1ログデータに対応する第2インデックスデータと、前記第1カテゴリに属しない第2ログデータとを受信する請求項1記載の情報処理装置。
【請求項3】
前記第2ログデータに対応する第4インデックスデータを生成するインデックス生成手段をさらに具備し、
前記マージ手段は、前記第1インデックスデータと前記第2インデックスデータと前記第4インデックスデータとをマージすることによって、前記第3インデックスデータを生成し、
前記格納手段は、前記複数のログデータ、前記第1ログデータ、前記第2ログデータ、及び前記第3インデックスデータを格納する請求項2記載の情報処理装置。
【請求項4】
前記第1カテゴリは、検索頻度が高いログデータが属するカテゴリである請求項2記載の情報処理装置。
【請求項5】
前記第1カテゴリは、データ量が多いログデータが属するカテゴリである請求項2記載の情報処理装置。
【請求項6】
前記ログデータ受信手段は、前記クライアント装置から、前記第1ログデータと前記第1ログデータに対応する第2インデックスデータと第2ログデータとを受信し、
前記第2ログデータに対応する第4インデックスデータを生成するインデックス生成手段をさらに具備する請求項1記載の情報処理装置。
【請求項7】
前記マージ手段は、前記前記第1インデックスデータと前記第2インデックスデータと前記第4インデックスデータとをマージすることによって、前記第3インデックスデータを生成し、
前記格納手段は、前記複数のログデータ、前記第1ログデータ、前記第2ログデータ、及び前記第3インデックスデータを格納する請求項6記載の情報処理装置。
【請求項8】
前記第3インデックスデータを用いて、入力された文字列を含むログデータを前記複数のログデータと前記第1ログデータとから探し出す検索手段をさらに具備する請求項1記載の情報処理装置。
【請求項9】
前記第1ログデータは、前記クライアント装置での操作の内容を示すデータを含む請求項1記載の情報処理装置。
【請求項10】
前記第1インデックスデータは、前記複数のログデータに含まれる文字と、当該文字を含む、前記複数のログデータの内のログデータを示す識別子とを含むエントリを含み、
前記第2インデックスデータは、前記第1ログデータに含まれる文字と前記第1ログデータを示す識別子とを含むエントリを含む請求項1記載の情報処理装置。
【請求項11】
サーバー装置とネットワークを介して相互に接続された情報処理装置であって、
前記サーバー装置から、当該情報処理装置でインデックスデータが生成されるログデータが属するカテゴリを示すポリシーデータを受信するポリシー受信手段と、
前記情報処理装置に対する操作の内容を示すログデータを生成するログデータ生成手段と、
前記ログデータが前記カテゴリに属する場合、前記ログデータに対応するインデックスデータを生成するインデックス生成手段と、
前記ログデータと前記インデックスデータとを前記サーバー装置に送信するログ送信手段とを具備する情報処理装置。
【請求項12】
複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納し、
ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信し、
前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成し、
前記格納することは、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納するクライアント管理方法。
【請求項13】
ネットワークを介して相互に接続されるサーバー装置とクライアント装置とによって構成されるクライアント管理システムであって、
前記クライアント装置は、
当該クライアント装置に対する操作の内容を示す第1ログデータを生成し、
前記第1ログデータに対応する第2インデックスデータを生成し、
前記第1ログデータと前記第2インデックスデータとを前記サーバー装置に送信するように構成され、
前記サーバー装置は、
複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納し、
前記クライアント装置から、前記第1ログデータと前記第2インデックスデータとを受信し、
前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成し、
前記格納することは、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納するように構成されるクライアント管理システム。
【請求項1】
複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納する格納手段と、
ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信するログ受信手段と、
前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成するマージ手段とを具備し、
前記格納手段は、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納する情報処理装置。
【請求項2】
前記クライアント装置でインデックスデータが生成されるログデータが属する第1カテゴリを示すポリシーデータを生成するポリシー生成手段と、
前記ポリシーデータを前記クライアント装置に送信するポリシー送信手段とをさらに具備し、
前記ログ受信手段は、前記第1カテゴリに属する第1ログデータと、前記第1ログデータに対応する第2インデックスデータと、前記第1カテゴリに属しない第2ログデータとを受信する請求項1記載の情報処理装置。
【請求項3】
前記第2ログデータに対応する第4インデックスデータを生成するインデックス生成手段をさらに具備し、
前記マージ手段は、前記第1インデックスデータと前記第2インデックスデータと前記第4インデックスデータとをマージすることによって、前記第3インデックスデータを生成し、
前記格納手段は、前記複数のログデータ、前記第1ログデータ、前記第2ログデータ、及び前記第3インデックスデータを格納する請求項2記載の情報処理装置。
【請求項4】
前記第1カテゴリは、検索頻度が高いログデータが属するカテゴリである請求項2記載の情報処理装置。
【請求項5】
前記第1カテゴリは、データ量が多いログデータが属するカテゴリである請求項2記載の情報処理装置。
【請求項6】
前記ログデータ受信手段は、前記クライアント装置から、前記第1ログデータと前記第1ログデータに対応する第2インデックスデータと第2ログデータとを受信し、
前記第2ログデータに対応する第4インデックスデータを生成するインデックス生成手段をさらに具備する請求項1記載の情報処理装置。
【請求項7】
前記マージ手段は、前記前記第1インデックスデータと前記第2インデックスデータと前記第4インデックスデータとをマージすることによって、前記第3インデックスデータを生成し、
前記格納手段は、前記複数のログデータ、前記第1ログデータ、前記第2ログデータ、及び前記第3インデックスデータを格納する請求項6記載の情報処理装置。
【請求項8】
前記第3インデックスデータを用いて、入力された文字列を含むログデータを前記複数のログデータと前記第1ログデータとから探し出す検索手段をさらに具備する請求項1記載の情報処理装置。
【請求項9】
前記第1ログデータは、前記クライアント装置での操作の内容を示すデータを含む請求項1記載の情報処理装置。
【請求項10】
前記第1インデックスデータは、前記複数のログデータに含まれる文字と、当該文字を含む、前記複数のログデータの内のログデータを示す識別子とを含むエントリを含み、
前記第2インデックスデータは、前記第1ログデータに含まれる文字と前記第1ログデータを示す識別子とを含むエントリを含む請求項1記載の情報処理装置。
【請求項11】
サーバー装置とネットワークを介して相互に接続された情報処理装置であって、
前記サーバー装置から、当該情報処理装置でインデックスデータが生成されるログデータが属するカテゴリを示すポリシーデータを受信するポリシー受信手段と、
前記情報処理装置に対する操作の内容を示すログデータを生成するログデータ生成手段と、
前記ログデータが前記カテゴリに属する場合、前記ログデータに対応するインデックスデータを生成するインデックス生成手段と、
前記ログデータと前記インデックスデータとを前記サーバー装置に送信するログ送信手段とを具備する情報処理装置。
【請求項12】
複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納し、
ネットワークを介して相互に接続されたクライアント装置から、第1ログデータと前記第1ログデータに対応する第2インデックスデータとを受信し、
前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成し、
前記格納することは、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納するクライアント管理方法。
【請求項13】
ネットワークを介して相互に接続されるサーバー装置とクライアント装置とによって構成されるクライアント管理システムであって、
前記クライアント装置は、
当該クライアント装置に対する操作の内容を示す第1ログデータを生成し、
前記第1ログデータに対応する第2インデックスデータを生成し、
前記第1ログデータと前記第2インデックスデータとを前記サーバー装置に送信するように構成され、
前記サーバー装置は、
複数のログデータと前記複数のログデータに対応する第1インデックスデータとを格納し、
前記クライアント装置から、前記第1ログデータと前記第2インデックスデータとを受信し、
前記第1インデックスデータと前記第2インデックスデータとをマージすることによって第3インデックスデータを生成し、
前記格納することは、前記複数のログデータと前記第1ログデータと前記第3インデックスデータとを格納するように構成されるクライアント管理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−12155(P2013−12155A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−145956(P2011−145956)
【出願日】平成23年6月30日(2011.6.30)
【特許番号】特許第5076015号(P5076015)
【特許公報発行日】平成24年11月21日(2012.11.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月30日(2011.6.30)
【特許番号】特許第5076015号(P5076015)
【特許公報発行日】平成24年11月21日(2012.11.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]