説明

ログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラム

【課題】 インストーラ・パッケージが動作するクライアントからログを収集するログ集計装置を実現するためのログ集計プログラムを提供すること。
【解決手段】 本プログラムは、インストーラ・パッケージ200が動作するクライアント160からログ情報168を収集するログ収集手段142、および収集されたログ情報を集計するログ集計手段144としてコンピュータを機能させる。上記パッケージ200は、1以上のインストーラ(204,206)、これらそれぞれが出力するログと、クライアント160のシステム情報とを取得するログ取得手段216、および、設定に従ってログ集計装置140に対しログ情報を送信するログ送信手段214として機能させる。上記ログ集計手段144は、ログ情報に含まれるシステム情報を用いて、クライアント実行環境を識別しながら、インストール処理にかかるイベントを計数する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インストール処理におけるログ収集に関する。本発明は、より詳細には、コンピュータ上に、インストーラ・パッケージが動作するクライアント装置からログを収集するログ集計装置を実現するためのログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラムに関する。
【背景技術】
【0002】
官公庁、企業および大学などの組織の情報システム管理者にとって、管理するパーソナル・コンピュータの各々に、アプリケーションおよびドライバをインストールする作業は煩雑である。近年、システム管理者の負担を軽減するために、インストールする必要のあるアプリケーション、ドライバ、専用ユーティリティおよび設定を一括でコンピュータに導入するためのインストーラ・パッケージを作成する支援ツールが提供されている。
【0003】
上記支援ツールを使用することにより、情報処理技術に関する知識が少ないエンドユーザでも簡易な操作でコンピュータにインストールを行える、インストーラ・パッケージを提供することができる。例えば、管理者側で、インストーラ・パッケージ内に、予めプリンタなどの機器のIPアドレスやURLを埋め込んでおくことで、エンドユーザは、これらの情報を知らなくても、上記機器のドライバのインストールおよび各種設定を完了させることができる。さらに、アプリケーションやドライバ毎の複数のインストーラを操作する必要もないため、エンドユーザの作業負担も小さく、作業の難易度も低い。さらに、インストールに管理者権限を要する場合であっても、管理者権限を有しないユーザがインストール作業を実行可能とする技術も知られている(特許文献1,特許文献2)。
【0004】
インストール処理を支援する技術としては、特開2006−350896号公報(特許文献3)が開示する、コンピュータがインストールするソフトウェアの前提条件を満たしているか否かを調査する前提条件調査用情報収集支援システムが知られている。上記インストール処理時のエラーに関連する技術としては、特開2004−185084号公報(特許文献4)が知られている。特許文献4に開示される技術では、ユーザのコンピュータは、インストール中、インストールエラーが発生すると、エラーコードを表示し、かつユーザのコンピュータのシステム情報を収集して、エラーコードと共にサポート・サーバへ送信する。そして、ユーザのコンピュータは、サポート・サーバが生成した、エラーコードおよびシステム情報から取得されたエラー回避のためのサポート情報を受け取り、これを画面に表示する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、大規模な組織では、数百台にもおよぶコンピュータにパッケージをインストールしなければならない場合も多く、少なくない確率でパッケージ内のソフトウェアのインストール処理中にエラーが発生することがある。同一環境にもかかわらず、一部少数のコンピュータでエラーが発生する場合もあり、このような事例では、他のコンピュータ上でエラー症状を再現させにくく、原因特定が難しく、機器の開発元でも原因解析が困難な場合も多い。
【0006】
したがって、インストーラ・パッケージを作成し、配布するシステム管理者においては、配布したパッケージがどの程度問題を発生させているか、問題が発生しているのであればどのような環境および条件で発生するのか、を把握する必要性が高い。かかる情報は、問題解決のためにも有用であり、業務への影響の程度を把握する手段ともなる。
【0007】
上記インストール処理時のエラーに関連する技術として、上記特許文献4の技術も知られているが、この技術は、特定のソフトウェアに関し、そのソフトウェアのサポートセンターに送付するというものである。上記特許文献4の技術によれば、サポートセンターに連絡して、使用のコンピュータのシステム情報や利用状況をオペレータに説明した上で回答を待つといったユーザの作業を軽減することができるが、上記インストーラ・パッケージに関するシステム管理者側の問題点に対処できない。
【0008】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、配布先クライアントでインストーラ・パッケージを用いた1以上のソフトウェアの一括インストール処理時に発生するエラーを記述したログを効率的に収集し、配布先クライアントの実行環境を識別しながら集計することができるログ集計装置を、コンピュータ上に実現するためのログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明では、上記課題を解決するために、下記特徴を有する、ネットワークを介して接続されるクライアント装置と通信可能なログ集計装置としてコンピュータを機能させるためのコンピュータ実行可能なログ集計プログラムおよび該ログ集計装置を提供する。本ログ集計装置は、インストーラ・パッケージが動作するクライアント装置からログ情報を収集するログ収集手段と、収集された前記ログ情報を集計するログ集計手段とを含む。上記インストーラ・パッケージは、ソフトウェアを導入するための1以上のインストーラ、1以上のインストーラそれぞれが出力するログとクライアント装置のシステム情報とを取得するログ取得手段、およびインストーラ・パッケージの設定に従って、ログ集計装置に対し、ログおよびシステム情報を含むログ情報を送信するログ送信手段としてクライアント装置を機能させる、コンピュータ実行可能なプログラムである。上記ログ集計装置のログ集計手段は、上記ログ情報に含まれるシステム情報を用いて、上記クライアント装置の実行環境を識別しながら、インストール処理にかかるイベントを計数する。
【0010】
また本発明では、クライアント装置が実行可能なインストーラ・パッケージを作成するためのパッケージ作成装置として機能させるためのコンピュータ実行可能なインストーラ・パッケージャ・プログラムを提供することができる。本インストーラ・パッケージャ・プログラムは、コンピュータを、インストールさせる1以上のソフトウェアの選択を含む設定を受け付ける設定受付手段、およびパッケージ・インストーラ制御プログラムと、1以上のソフトウェアに対応するインストーラとを読み出して、同梱し、上記インストーラ・パッケージを作成する作成手段としてコンピュータを機能させることができる。
【発明の効果】
【0011】
上記構成によれば、配布先クライアント装置においてインストーラ・パッケージを用いた一括インストール時に発生するエラーの情報を含むログ情報を効率的に収集し、配布先クライアント装置の実行環境を識別しながら、集計することができる。
【図面の簡単な説明】
【0012】
【図1】第1の実施形態によるログ集計サーバおよび管理者端末が稼働するネットワーク環境を示す図。
【図2】第1の実施形態によるパッケージャ・プログラムを実行する管理者端末に実現される機能ブロックを示す図。
【図3】第1の実施形態による管理者端末が実行する、パッケージャ・プログラムを用いたパッケージ作成処理を示すフローチャート。
【図4】第1の実施形態による、パッケージ配布サーバ、ログ集計サーバおよびクライアント上で実現される機能ブロックを示す図。
【図5】第1の実施形態によるパッケージ配布サーバが実行する、パッケージ配布処理を示すフローチャート。
【図6】(A)パッケージャが作成するパッケージ制御情報および(B)ログ収集設定出力部が作成するログ収集設定情報のデータ構造を例示する図。
【図7】第1の実施形態による、インストーラ・パッケージを動作させているクライアントが実行する、インストール処理およびこれに後続するログ送信処理を示すフローチャート。
【図8】第1の実施形態によるログ取得部が生成する取得ログのデータ構造を例示する図。
【図9】第1の実施形態によるログ集計サーバが実行する、ログ収集処理からレポート作成処理までの一連の処理を示すフローチャート。
【図10】第1の実施形態によるログ集計サーバが実行する、コンピュータ、環境およびユーザを識別したイベントの計数処理を示すフローチャート。
【図11】第1の実施形態によるイベントの計数処理により作成されるイベント計数結果を例示する図。
【図12】第1の実施形態によるイベントの計数処理において識別されるクライアント実行環境を例示する図。
【図13】第2の実施形態による、パッケージ配布ログ集計サーバおよびクライアント上で実現される機能ブロックを示す図。
【図14】第2の実施形態によるインストーラ・パッケージの詳細な機能ブロックを示す図。
【図15】第2の実施形態によるログ送信画面を例示する図。
【図16】第2の実施形態によるログ送信画面の他の例を示す図。
【図17】第2の実施形態による出力ログ設定情報のデータ構造を例示する図。
【図18】第2の実施形態によるログ送信認証画面を例示する図。
【発明を実施するための形態】
【0013】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。なお、以下に説明する実施形態では、ログ集計プログラムを実行するログ集計装置としてログ集計サーバを含み、パッケージ作成装置として管理者端末を含み構成される、ネットワーク環境を一例に説明する。
【0014】
図1は、第1の実施形態によるログ集計サーバおよび管理者端末が稼働する、ネットワーク環境を示す図である。図1に示すネットワーク環境100は、複合機104およびレーザプリンタ106などの周辺機器と、管理者端末110と、パッケージ配布サーバ130と、ログ集計サーバ140と、クライアント160とを含む。
【0015】
管理者端末110は、クライアント160に配布するインストーラ・パッケージを作成するためのインストーラ・パッケージャ・プログラム(以下、パッケージャ・プログラムという。)が動作するコンピュータである。管理者端末110は、指定された1以上のソフトウェアのインストーラを取得し、適宜これらの設定を埋め込み、ソフトウェアを一括インストール処理するためのインストーラ・パッケージを作成する。上記インストーラ・パッケージは、詳細を後述するが、1以上のソフトウェア・モジュール(機器のドライバとやアプリケーションを含む)と、これら1以上のソフトウェア・モジュールをインストールする際の設定を含むことができる。システム管理者は、管理者端末110を利用することにより、エンドユーザに配布するための所望のインストーラ・パッケージを作成することができる。
【0016】
複合機104およびレーザプリンタ106は、本実施形態において、上記インストーラ・パッケージによってドライバのインストール対象とされる機器である。しかしながら、インストール対象にすることができる機器は、図1に例示したものに限定されるものではなく、ファクシミリ、スキャナその他ネットワークを介して複数のクライアント160から利用される種々の周辺機器とすることができる。
【0017】
パッケージ配布サーバ130は、管理者端末110で作成されたインストーラ・パッケージをダウンロード可能に格納し、クライアント160からの求めに応じて、インストーラ・パッケージを配布するコンピュータである。
【0018】
クライアント160a,160bは、上記インストーラ・パッケージをダウンロードして起動し、ソフトウェアの一括インストールを実行するコンピュータである。クライアント160a,160bは、インストール処理が終了すると、該インストール処理に関連するログを取得し、予め設定されたログ集計サーバ140へ送信する。
【0019】
ログ集計サーバ140は、それぞれクライアント160においてインストーラ・パッケージが実行された際にインストーラ・パッケージから送信されるログ情報を収集し、集計するコンピュータである。なお、説明する実施形態では、パッケージ配布サーバ130およびログ集計サーバ140は、それぞれ、別個のサーバとして構成しているものとするが、他の実施形態では、パッケージ配布およびログ収集の両方の機能を備えるパッケージ配布ログ集計サーバ150として構成することもできる。
【0020】
上記ネットワーク102は、1000Base−TXのイーサネット(登録商標)などの有線ネットワークや、IEEE802.11などの規格の無線ネットワークを含んで構成することができる。上記機器104,106と、管理者端末110と、パッケージ配布サーバ130と、ログ集計サーバ140と、クライアント160a,160bとは、ネットワーク102を介して、TPC/IPプロトコルに基づくパケット通信により、相互通信を行う。ネットワーク102は、LAN(Local Area Network)の他、VPN(Virtual Private Network)などによるセキュア環境下で構築された広域ネットワークを含んで構成されていてもよい。
【0021】
以下、図2、図3および図6(A)を参照して、第1の実施形態によるパッケージャ・プログラムの詳細について説明する。図2は、第1の実施形態による、パッケージャ・プログラムを実行する管理者端末110に実現される機能ブロックを示す図である。図2に示す管理者端末110は、パッケージャ112と、パッケージ・インストール制御プログラム(以下、単にインストール制御プログラムという。)114と、プリンタドライバ・インストーラ116と、ポートモニタ・インストーラ118とを含む。
【0022】
インストール制御プログラム114は、インストーラ・パッケージ内に1以上のインストーラとともに同梱されて、インストール処理の全体的な制御を行うモジュールである。インストール制御プログラム114は、パッケージ配布先のオペレーティング・システム(以下、OSという。)の種類に対応して準備される。
【0023】
プリンタドライバ・インストーラ116およびポートモニタ・インストーラ118は、インストーラ・パッケージに同梱されるインストーラを例示するものである。同梱されるインストーラは、選択されたソフトウェアに応じ、配布先のOSの種類に対応して準備される。ポートモニタ・インストーラ118は、プリンタドライバ・インストーラ116がパッケージに含まれる場合に、必要に応じて同梱されるアプリケーションである。ポートモニタは、クライアント160に導入されて、プリンタポートを管理し、監視し、利用ログを取得する付加機能を提供する。
【0024】
パッケージャ112は、グラフィカル・ユーザ・インタフェースやコマンドライン・インタフェースなどのユーザ・インタフェース(以下、単にUIという。)を介して、管理者端末110の操作者からの設定情報120を受け付け、パッケージ制御情報122を作成する。
【0025】
図6(A)は、第1の実施形態によるパッケージャ112が作成する、パッケージ制御情報122のデータ構造を例示する図である。パッケージ制御情報122は、パッケージ内に同梱されるドライバ・インストーラに対応する機器のIP(Internet Protocol)アドレスまたはURL(Universal Resource Locator)、プリンタドライバであればポート名など、各種インストール設定を含む。パッケージ制御情報122は、さらに、管理者IDおよび管理者パスワード、ユーザIDおよびユーザ・パスワードなど、配布先クライアント160上でインストール処理を遂行するために必要な各種情報を含むことができる。
【0026】
ここで再び図2を参照すると、パッケージャ112は、UIを介して管理者端末110の操作者からの設定情報120を受け付け、インストーラ・パッケージに埋め込むためのインストールログ収集設定情報(以下、単にログ収集設定情報という。)124を作成することができる。ログ収集設定情報124は、詳細は後述するが、ログ集計サーバのIPアドレスまたはURL、収集方式などのインストールログの収集処理に関連する各種設定を含むことができる。ログ収集設定情報124は、パッケージ作成時にパッケージ内に埋め込む態様としてもよく、パッケージ配布時にパッケージ内に埋め込む態様としてもよい。なお、以下説明する実施形態では、パッケージ作成時には、空のログ収集設定情報が書き込まれており、パッケージ配布時に、実際のログ収集設定情報が書き込まれるものとして説明する。
【0027】
パッケージャ112は、設定を受け付けた後、パッケージ作成指示を受け付けると、インストール制御プログラム114と、指定された1以上のインストーラ116,118とを読み出してパッケージ内に同梱する。パッケージャ112は、さらに、パッケージ制御情報122と、適宜ログ収集設定情報124とを読み出し、パッケージ内に埋め込み、これにより、インストーラ・パッケージ200を作成する。なお、パッケージャ112は、本実施形態における設定受付手段および作成手段を構成する。
【0028】
作成されたインストーラ・パッケージ200は、インストール制御プログラム202、プリンタドライバ・インストーラ204、ポートモニタ・インストーラ206、パッケージ制御情報208および適宜ログ収集設定情報210を含み構成される。インストーラ・パッケージ200は、配布先のクライアント160で動作可能なバイナリ形式のファイルなどとして構成される。
【0029】
図3は、第1の実施形態による管理者端末110が実行する、パッケージャ・プログラムを用いたパッケージ作成処理を示すフローチャートである。図3に示す処理は、パッケージャ・プログラムが起動されて、ステップS100から開始する。ステップS101では、パッケージャ112は、管理者端末110の操作者から、インストールさせるソフトウェアの選択、接続先機器のIPアドレスやURLなど接続先情報の設定を受けて、設定情報120に書き込む。ステップS102では、パッケージャ112は、必要に応じて、管理者端末110の操作者から、さらに管理者IDおよび管理者パスワードなど、配布先クライアント上でインストール処理を実行するために必要な各種情報の入力を受け付けて、設定情報120に書き込む。
【0030】
ステップS103では、パッケージャ112は、操作者からの指示を待ち受け、パッケージ作成指示を受け付けた場合(YES)には、ステップS104へ処理を進める。ステップS104では、パッケージャ112は、上記設定情報120を読み込み、適切なフォーマットでパッケージ制御情報122を作成する。ステップS105では、パッケージャ112は、配布先のOSに対応するインストール制御プログラム114を読み出す。ステップS106では、パッケージャ112は、ステップS101で選択されたソフトウェアを導入するための1以上のインストーラ116,118を読み出す。
【0031】
ステップS107では、パッケージャ112は、1以上のインストーラ116,118およびパッケージ制御情報122をまとめて、さらにインストール制御プログラム114を同梱して、クライアント160で実行可能なファイルとしてインストーラ・パッケージ200を書き出す。ステップS108では、パッケージャ112は、本処理を終了させる。一方、ステップS103で、操作者からキャンセルの指示を受け付けた場合(NO)には、ステップS108へ処理を分岐させて、本処理が終了される。
【0032】
なお、上述した実施形態では、管理者端末110の操作者からの設定および指示に応答して、複数のクライアント160に配布する単一のインストーラ・パッケージを作成するものとして説明した。しかしながら、他の実施形態では、クライアント毎の設定内容を記述したデータを予め用意しておき、クライアント毎にインストーラ・パッケージを作成することもできる。この場合は、パッケージャ112は、予め用意されたデータを参照して、インストーラ・パッケージを実行させるコンピュータ毎に、プリンタ名やポート名、ユーザ・コードなどの設定を変更しながら、インストーラ・パッケージを作成することができる。
【0033】
以下、図4、図5および図6(B)を参照して、第1の実施形態によるパッケージ配布処理について説明する。図4は、第1の実施形態による、パッケージ配布サーバ130、ログ集計サーバ140およびクライアント160上で実現される機能ブロックを示す図である。図4に示すパッケージ配布サーバ130は、パッケージ配布処理部132と、ログ収集設定出力部134とを含んで構成される。
【0034】
ログ収集設定出力部134は、パッケージ作成時にログ収集設定情報が書き込まれなかった場合に、インストーラ・パッケージ200にログ収集設定情報を出力する機能部である。ログ収集設定出力部134は、パッケージ配布サーバ130の操作者からの設定情報の入力を受けて、ログ収集設定情報210を作成し、インストーラ・パッケージ200内の所定のフィールドに出力する。
【0035】
パッケージ配布処理部132は、パッケージ作成時に、または上述したように配布前にログ収集設定出力部134によりログ収集設定情報が書き込まれたインストーラ・パッケージ200を、ダウンロード可能に記憶装置に格納し、クライアント160からの求めに応じて配布する。パッケージ配布処理部132は、ウェブ・サーバ、ファイル転送サーバなどとして構成される。
【0036】
図6(B)は、第1の実施形態によるログ収集設定出力部134が作成する、ログ収集設定情報のデータ構造を例示する図である。図6(B)に示すように、ログ収集設定情報210は、ログ集計サーバ140のIPアドレスまたはURLなどログ集計サーバにアクセスするための情報と、ログ収集方式を示す情報と、インストーラ・パッケージを識別する固有のパッケージIDとを含む。ログ収集設定情報210は、さらに、ログ集計サーバ140にアクセスする際に認証処理を要する場合には、認証IDおよび認証パスワードを含むことができる。なお、認証IDおよび認証パスワードなどの認証情報は、インストーラ・パッケージ200内に暗号化されて埋め込まれることが好ましい。
【0037】
ログ収集方式とは、ログのデータ形式および収集するログ項目を指定する設定情報である。データ形式は、例えば、無圧縮であるか、またはZIP圧縮であるかの指定、複数のインストーラが出力した各ログを集約して送信するか、または個別に送信するかの指定などを含むことができる。収集するログ項目としては、インストールの成否、エラーコード、クライアント160のIPアドレス、MACアドレスなどシステム情報、その他ログ集計サーバ140に収集させる項目の指定を含む。
【0038】
図5は、パッケージ配布サーバ130が実行する、パッケージ配布処理を示すフローチャートである。図5に示す処理は、管理者端末110からパッケージ配布サーバ130へ、インストーラ・パッケージがアップロードされ、当該パッケージ配布サーバ130の操作者からのパッケージ配布開始指示を受けたことに応答して、ステップS200から開始する。ステップS201では、パッケージ配布サーバ130は、当該パッケージ配布サーバ130の操作者から、UIを介してログ集計サーバ140の接続先情報(IPアドレスまたはURL)、データ形式などの設定を受け付ける。
【0039】
ステップS202では、パッケージ配布サーバ130は、操作者からの指示を待ち受け、パッケージ配布指示を受け付けた場合(YES)には、ステップS203へ処理を進める。ステップS203では、パッケージ配布サーバ130は、ログ収集設定出力部134により、ステップS201で受け付けた設定に従い、ログ収集設定情報210を作成し、インストーラ・パッケージ200に埋め込む。
【0040】
ステップS204では、パッケージ配布サーバ130は、パッケージ配布処理部132により、完成されたインストーラ・パッケージ200を配布対象として、ダウンロード可能に記憶装置に格納する。ステップS205では、パッケージ配布サーバ130は、本処理を終了させる。一方、ステップS202で、操作者からキャンセルの指示を受け付けた場合(NO)には、ステップS205へ処理を分岐させて、本処理が終了される。インストーラ・パッケージ200がダウンロード可能に格納されると、各クライアント160からの求めに応じて、インストーラ・パッケージ200が配布される。
【0041】
以下、図4、図7および図8を参照して、第1の実施形態のインストーラ・パッケージによるインストール処理およびこれに後続するログ送信処理について説明する。図4を再び参照すると、配布されたインストーラ・パッケージ200は、インストール制御プログラム202を含む。クライアント160上のインストール制御プログラム202は、パッケージ制御情報208内の情報を読み出し、同梱された1以上のインストーラ204,206を起動し、インストール処理を進めるとともに、インストールログを取得し、ログ集計サーバ140に送信する制御を行う。
【0042】
起動された各インストーラ204,206は、それぞれ、インストール処理を実行し、インストールログ164,166を出力する。インストール制御プログラム202は、すべてのインストーラ204,206の処理が終了し、または中断されると、インストール処理がすべて成功裡に終了したか否かに関わらず、パッケージ全体ログ162を出力する。
【0043】
インストール制御プログラム202は、より詳細には、収集設定読込部212と、ログ送信部214と、ログ取得部216とを含んで構成される。収集設定読込部212は、パッケージ200内に埋め込まれたログ収集設定情報210を読み出し、ログ集計サーバ140の接続先情報やログ収集方式などのログ収集に必要な情報を取得する。ログ取得部216は、ログ収集方式に従い、全体ログ162、プリンタドライバ・インストーラ204のインストールログ164、およびポートモニタ・インストーラ206のインストールログ166を取得して取りまとめて取得ログを作成する。取得ログ168は、ログ収集方式に従って作成されたものであり、ログ収集方式の指定に応じて、無圧縮またはZIP圧縮であり、各ログ162,164,166を集約した1つのファイル、または複数の個別ファイルとして構成される。
【0044】
図8は、第1の実施形態によるログ取得部が生成する取得ログ168のデータ構造を例示する図である。図8に示すように、取得ログ168は、インストーラ・パッケージによるインストール処理全体の記録をまとめた全体ログと、システム情報と、各インストーラが出力した各インストール処理の記録であるログを含む。各インストーラのログとしては、図8には、プリンタドライバ・インストーラのログ(プリンタ・ログ)およびポートモニタ・インストーラのログ(ポートモニタ・ログ)が例示されている。
【0045】
全体ログは、特に限定されるものではないが、同梱されるインストーラの数、そのうちのインストールが成功した数、失敗した数、およびパッケージを識別するパッケージIDを含むことができる。システム情報としては、配布先クライアントのホスト名、UUID(Universally Unique IDentifier)、IPv4アドレス、IPv6アドレス、MACアドレス、OS名、OSのバージョン、OSのインストール先パス、およびインストール処理を行ったユーザ名を挙げることができる。
【0046】
なお、詳細は後述するが、システム情報中には、コンピュータ、環境および適宜ユーザで特定されるクライアント実行環境を識別するための情報を含めることが好ましい。また、システム情報は、各インストーラログに含まれる情報があれば、それを利用してもよい。インストーラが出力するインストールログとしては、特に限定されるものではないが、ソフトウェア名、ソフトウェアのバージョン、インストールの成否、失敗したのであればエラーコードなどが含まれる。
【0047】
図8に示す取得ログ168は、指定されたログ項目で各ログ162,164,166を集約した1つのファイルとして構成されるものとして示したが、1以上のインストーラ204,206が出力する1以上のログファイルをそのまま圧縮して取得ログを作成する態様としてもよい。この場合、ログ集計サーバ140側で、ログ項目を整理すればよい。また、ログ情報のサイズが大きくなる場合、取得ログ168を圧縮することが好ましい。しかしながら、サーバで利用する情報が少ない場合は、これらのログ情報を集約せず、別途送付してもよい。サイズが小さく、圧縮を必ずしも要しない情報としては、例えば、インストールの成否を示す情報、エラーコード、ソフトウェアの種類、クライアントのOS名、MACアドレス、またはMACアドレスとOSのバージョンとユーザIDから所定の規則で生成される環境IDなどを挙げることができる。
【0048】
再び図4を参照して説明すると、ログ送信部214は、ログ取得部216が作成した取得ログ168を読み出し、ログ収集設定情報210が取得したログ集計サーバの接続先情報に従って、ログ集計サーバ140にアクセスし、取得ログを送信する。ログ集計サーバ140にアクセスするために認証処理が必要であれば、送信時に、認証IDおよび認証パスワードを送付することができる。
【0049】
図7は、第1の実施形態によるインストーラ・パッケージを動作させるクライアントが実行する、インストール処理およびこれに後続するログ送信処理を示すフローチャートである。図7に示す処理は、クライアント160の操作者により、ダブルクリックなどでインストーラ・パッケージの実行が指示されたことに応答して、ステップS300から開始される。ステップS301では、クライアント160は、インストーラ・パッケージ200内のインストール制御プログラム202を起動する。ステップS302では、インストール制御プログラム202は、インストーラ・パッケージ200内に同梱されている1以上のインストーラ各々を起動し、ステップS303で、各インストーラからの終了値を待ち受ける。
【0050】
ステップS302におけるインストーラの起動に応答して、ステップS310〜ステップS312に示す処理が、各インストーラ毎に、順次または並列に行われる。各々のインストーラ204,206は、ステップS310で、自己のインストール処理を実行し、ステップS311で、インストールログ164,166を書き出し、ステップS312で、呼び出し元のインストール制御プログラム202に終了値を返す。インストールログは、好適には、インストール処理が成功裡に完了した場合、途中エラーが発生したもののインストール処理が完了した場合、途中エラーが発生してインストール処理が中断された場合のいずれの場合にも、出力される。上記終了値には、インストール処理の成否を示す値が保持される。
【0051】
ステップS303では、インストール制御プログラム202は、ステップS302で起動したインストーラ全てから終了値を取得したか否かを判定する。ステップS303で、未だ終了値を返していないインストーラが存在すると判定されれば、ステップS303内をループさせ、全てのインストーラから終了値を取得するまで待ち受ける。ステップS303で、全てのインストーラからの終了値を取得したと判定された場合(YES)には、ステップS304へ処理を進める。
【0052】
ステップS304では、インストール制御プログラム202は、各インストーラから取得した終了値から、各インストール処理の結果を判定し、全体ログ162を作成する。ステップS305では、インストール制御プログラム202は、収集設定読込部212により、ログ収集設定情報210を読み出す。ステップS306では、インストール制御プログラム202は、例えばOSがWindows(登録商標)であれば、Windows(登録商標)APIや、それぞれ開発環境で用意されているメソッド・プロパティを用いて、システム情報を取得する。
【0053】
ステップS307では、インストール制御プログラム202は、ログ取得部216により、各インストーラ204,206が出力したインストールログ164,166と、全体ログ162とを取りまとめて、指定の収集方式に従った取得ログを作成する。圧縮が指定されるのであれば、全てのファイルを取りまとめて圧縮する。ステップS308では、インストール制御プログラム202は、ログ収集設定情報210から取得されたIPアドレスまたはURLで指定されるログ集計サーバ140にアクセスし、適宜認証IDおよび認証パスワードを用いてアクセスし、取得ログ168を送信し、ステップS309で、本処理を終了する。
【0054】
以下、図4および図9〜図12を参照して、クライアント側のインストール処理およびこれに後続するログ送信処理に対応して行われる、ログ集計サーバ140が実行する処理ついて説明する。図4を再び参照すると、ログ集計サーバ140は、ログ収集処理部142と、ログ集計処理部144と、ログ集計結果閲覧部146と、インストールエラー集計データ148とを含んで構成される。
【0055】
ログ収集処理部142は、インストーラ・パッケージ200が動作する各クライアント160から送信された取得ログを受信し、ログ集計サーバ140の記憶装置に保管する機能部である。収集された取得ログは、プログラムの不具合などの懸念がある場合に、サポートや開発元にログ情報を送付し、解決を依頼するために、一定期間、ログ集計サーバ140の記憶装置に保管しておくことができる。
【0056】
ログ集計処理部144は、記憶装置内に保管された取得ログを集計処理し、集計結果をインストールエラー集計データ148として格納する機能部である。ここで行われる集計処理は、インストール実行回数、インストール成功回数およびエラー回数を、所定の項目に応じて分類し、計数する演算を含む。上記項目としては、OSの種類別、OSのバージョン別、PCの機種別、ドライバの種類別、ドライバのバージョン別、アプリケーションの種類別、アプリケーションのバージョン別、ネットワーク系列別などを挙げることができる。なお、集計処理については、詳細を後述する。
【0057】
ログ集計結果閲覧部146は、インストールエラー集計データ148を参照して、テキスト形式のレポート、およびシステム管理者が理解し易い視覚的にグラフ化したレポートまたはこれらの一方を作成し、管理者端末110などの外部から閲覧可能なように格納する。なお、集計結果をグラフ可視化するためには、特開2010−049363号公報(特許文献5)に開示される技術を適用することができる。
【0058】
図9は、第1の実施形態によるログ集計サーバが実行する、ログ収集処理からレポート作成処理までの一連の処理を示すフローチャートである。図9に示す処理は、ログ集計サーバ140が起動して、ログ収集サービスを開始させたことに応答して、ステップS400から開始される。ステップS401では、ログ集計サーバ140は、新たに取得ログを受信したか否かを判定する。ステップS401で、新たなログを受信していないと判定された場合(NO)は、ステップS401をループさせ、新たな取得ログを受信するまで待ち受ける。
【0059】
一方、ステップS401で、新規にログを受信したと判定された場合(YES)には、ステップS402へ処理を進める。ステップS402では、ログ集計サーバ140は、ログ収集処理部142により、受信した取得ログを記憶装置上に格納する。ステップS403では、ログ集計サーバ140は、ログ集計処理部144により、格納された取得ログを読み出し、集計処理を実行する。集計処理については、詳細を後述する。ステップS404では、ログ集計サーバ140は、ログ集計処理部144により、ログ集計処理の結果として得られたログ集計結果を、インストールエラー集計データ148として格納する。
【0060】
ステップS405では、ログ集計結果閲覧部146は、インストールエラー集計データ148を参照して、テキスト形式およびグラフ形式または何れか一方の形式のエラー・レポートを作成し、管理者端末110など外部からダウンロード可能なように記憶装置上に格納する。ステップS406では、ログ集計サーバ140は、エラー・レポートのダウンロードリンク(URL)を含む電子メール、またはインスタント・メッセージなどの形式で、管理者の連絡先として予め登録されたアドレスにメッセージを送信し、管理者への通知を行う。ステップS406で管理者への通知を行った後は、再びステップS401へループさせて、次にクライアントから取得ログを受信するまで待ち受ける。
【0061】
システム管理者は、上述したように、取得ログから作成されたレポートを参照することにより、配布したインストーラ・パッケージ200によるインストール処理時のエラーの発生動向を把握することができる。例えば、Windows(登録商標)XPでは全て成功しているのにもかかわらず、Windows(登録商標)7では全てエラーというのであれば、管理者は、Windows(登録商標)7に非対応のバージョンのドライバがパッケージ内に同梱されている可能性を認識することができる。このような場合、管理者は、パッケージミスやインストーラの不具合を再検証することになるであろう。また、インストール実行、エラー発生、成功などのイベントの回数を計数することにより、発生するイベントを定量的に把握することができる。
【0062】
以下、上記ログ集計処理部144によるログ集計処理における各イベントの計数処理について、図10および図11を参照しながら説明する。インストールがエラーにより失敗すると、エンドユーザは、同一のクライアント上でインストール実行を繰り返す場合がある。このような場合、そのままインストール回数を計数してしまうと、管理者の意図した集計結果が得られない可能性がある。このような場合は、何度もリトライしてインストールが試みられた場合と、たった一度だけの失敗であきらめられた場合とを等しくカウントするために、これら繰り返し行われたインストール実行をまとめて1回と計数することが好ましい場合がある。
【0063】
一方、物理的に同一のクライアント160上ではあるものの、デュアル・ブートや仮想マシンが稼働する場合など、物理的に同一なクライアント上で複数回インストールが行われる場合がある。また、アプリケーションによっては、ユーザ毎にインストールすることが求められ、同一クライアント上で複数回インストール処理が行われる場合がある。このように環境が相違するか、またはユーザが相違する場合のインストール処理は、まとめて1回ではなく、環境毎またはユーザ毎にそれぞれを1回として計数することが好ましい。
【0064】
以下、コンピュータ、環境およびユーザを識別したインストール回数、成功回数およびエラー回数の計数処理について説明する。図10は、コンピュータ、環境およびユーザを識別したイベントの計数処理を示すフローチャートである。図10に示す処理は、各取得ログ毎にステップS500から開始される。
【0065】
ステップS501では、ログ集計処理部144は、新たに収集した取得ログ内のシステム情報に含まれるホスト名およびMACアドレスをキーとして用いて、既存の取得ログのレコードから、同一コンピュータであると認定できるものに該当するレコードを検索する。ここで、ホスト名およびMACアドレスを組み合わせて用いるのは、ネットワーク・インタフェース・カードが交換された場合でも識別できるようにするためである。説明する実施形態では、ホスト名およびMACアドレスを用いるが、他の実施形態では、同一コンピュータを識別することができる限り、UUIDなど他のシステム情報の項目を使用してもよい。
【0066】
また、システム仮想化環境において1つの物理マシン上に複数の仮想マシンを稼働させている場合、後述するOSの種類やインストール先のパスからは、仮想マシンを識別できない。このため、仮想マシンは、ホスト名およびMACアドレスから別個のコンピュータであると判定される。例えば、VMWare(登録商標)では、各仮想マシンに独立したMACアドレスのネットワーク・アダプタが割り当てられるため、MACアドレスから実行環境を識別できる。一方、VirtualPC(登録商標)では、ゲストOSのMACアドレスがホストOSのものと同一のなるが、この場合でも、ホスト名から実行環境を識別できる。
【0067】
ステップS502では、ログ集計処理部144は、ステップS501での検索の結果、既存の取得ログ中に一致するレコードがあるか否かを判定する。ステップS502で、一致するものが存在しないと判定された場合(NO)は、検索を終了し、ステップS509へ処理を分岐させる。この場合、同一コンピュータからのレコードが存在しないので、ステップS509では、ログ集計処理部144は、新規なデータであるとして取り扱って、インストール回数、成功回数およびエラー回数などを計数し、ステップS510で本処理を終了させる。
【0068】
一方、ステップS502で、一致するものが存在すると判定された場合(YES)は、ステップS503へさらに処理を進める。ステップS503では、ログ集計処理部144は、さらに、新たな取得ログのシステム情報に含まれるOSの種類およびインストール先のパスをキーとして利用し、ステップS501で得られた既存の取得ログのレコード中から、同一環境であると認定できるものに該当するレコードを検索する。ここで、OSの種類およびインストール先のパスを用いるのは、マルチブート環境に対応するためである。OSの種類が異なれば、別環境であると判定することができ、OSの種類が同一であっても、インストール先のパスが異なれば、別環境であると判定することができる。
【0069】
ステップS504では、ログ集計処理部144は、ステップS503での検索の結果、さらに一致するものがあるか否かを判定する。ステップS504で、一致するものが存在しないと判定された場合(NO)は、ログ集計処理部144は、検索を終了し、ステップS509で、新規なデータであるとして取り扱い、ステップS510で本処理を終了させる。
【0070】
一方、ステップS504で、一致するものが存在すると判定された場合(YES)は、ステップS505へ処理を進める。ステップS505では、ログ集計処理部144は、ユーザ毎にインストールがなされる等のためインストール環境を識別するためにユーザ判定を行う必要があるか否かを判定する。ステップS505で、ユーザ判定が必要であると判定された場合(YES)は、ステップS506へ処理を進める。ステップS506では、ログ集計処理部144は、さらに、新たな取得ログのシステム情報に含まれるユーザ名をキーとして利用し、ステップS503で得られた既存の取得ログのレコード中から、同一ユーザであると認定できるものに該当するレコードを検索する。
【0071】
ステップS507で、ステップS506の検索の結果、一致するものが存在しないと判定された場合(NO)は、ログ集計処理部144は、検索を終了し、ステップS509で、新規なデータであるとして取り扱い、ステップS510で本処理を終了させる。これに対して、ステップS507で、一致するものが存在すると判定された場合(YES)は、ステップS508へ処理を進める。ステップS508では、ログ集計処理部144は、検索を終了し、既存データであるとして取り扱って、インストール回数、成功回数、エラー回数などを計数し、ステップS510で本処理を終了させる。
【0072】
再びステップS505を参照すると、ステップS505で、ユーザ判定が不要であると判定された場合(NO)には、ユーザを識別する必要がないので、ステップS508へ直接処理を分岐させる。ステップS508では、ログ集計処理部144は、検索を終了し、既存データであるとして取り扱い、ステップS510で本処理を終了させる。例えば、全ユーザで共通に使用するドライバおよびアプリケーションの場合は、ユーザ判定が不要となる。
【0073】
図11は、第1の実施形態のインストールにおけるイベントの計数処理により作成されるインストール回数等を計数した結果を例示する。図11に示す例では、ユーザAは、ダウンロードを1回行い、インストールを5回実施し、そのうち3回でエラーが発生し、2回が成功していることが示されている。なお、ここにいう、インストール・カウンタのインストール回数、エラー回数、成功回数は、クライアントの実行環境を識別しないで計数された結果である。また、ダウンロード回数は、ここでは、予め管理者に与えられているものとして説明する。
【0074】
一方、実行環境を識別して計数処理した環境別カウンタを参照すると、ユーザAの環境別インストール回数は1回であり、上記5回のインストールは、全て同一実行環境にインストールしていたことが読み取れる。そして、環境別では、ユーザAのエラー回数および成功回数はともに1回ずつとなる。
【0075】
ここで、エラー回数および成功回数を環境別で、まるめている理由は、エラーが発生し、何度もインストールをリトライした場合と、1回の失敗で断念した場合の重みを等しくカウントするためである。繰り返しインストールした回数をそれぞれ1回としてカウントしてしまうと、1つの環境でしか発生していないエラーであるにもかかわらず、重みが増大し、過大評価となる。同じエラー回数が5回であっても、同一環境で5回エラーが発生したことよりも、5つの異なる環境で1回づつエラーが発生したことの方が優先して対処すべきであると考えられるからである。
【0076】
さらに図11を参照すると、ユーザBは、ダウンロード回数が3回となっているが、インストールが1回のみである。この事例では、ダウンロードが途中で失敗したか、サーバ接続されていないなど管理範囲から外れたクライアントにインストールされた可能性がある。管理者は、図11に示すような集計データを用いることにより、クライアント管理が不充分であることを認識することができ、または不正利用が疑われる挙動を認識することができる。
【0077】
さらに図11を参照すると、ユーザCは、ダウンロード回数が1回であり、インストールが5回行われているが、全てエラーとなっている。環境別カウンタを参照してみても、5つの異なる環境にインストールが行われ、その全てでエラーとなっている。この場合、管理者は、図11に示す結果から、重大な問題が発生している可能性を認識することができ、配布パッケージ自体のミスを調査するなど迅速に対策を実施することができる。
【0078】
図12は、上記計数処理で識別されるクライアント実行環境を例示する。上述までの計数処理によれば、図12に示す(A)および(B)で示される、コンピュータが異なるクライアント実行環境を分けて識別することができる。さらに、上述までの計数処理によれば、同一コンピュータ(NICも同一)上のOSの種類が異なるクライアント実行環境も分けて識別でき((B),(C))る。上述までの計数処理によれば、同一コンピュータかつ同一OSで、インストール先パスが異なるクライアント実行環境を分けて識別することができる((C),(D))。上述までの計数処理によれば、さらに同一コンピュータ、同一OSかつ同一インストール先パスで、異なるユーザによるクライアント実行環境を分けて識別することもできる((D),(E))。
【0079】
以上説明したように、上述までの第1の実施形態によれば、パッケージャ112により作成されたインストーラ・パッケージ200を用いたインストール処理における、インストールログの集計結果を表すレポートをシステム管理者に提供することができる。また、上記実施形態によれば、クライアント実行環境を識別するための情報を含めてログ収集が行われ、実行環境を識別して集計することができる。このため、管理者は、エラーの重要度が正しく反映されたレポートから、全体のうちの何人がエラーに遭遇したか、複数環境のうちどの環境でエラーが発生したか、といったエラー発生動向を把握することができる。ひいては、以後の対策、例えば次回のパッケージ配布に必要な工数の見積もりを効率的に行うことができるようになる。
【0080】
以下、図13〜図17を参照して、第2の実施形態によるパッケージ配布からログ集計までの処理ついて説明する。なお、以下に説明する第2の実施形態は、図1〜図12を参照して説明した第1の実施形態と同様の機能を備える部分もあるので、以下、相違点を中心に説明する。
【0081】
図13は、第2の実施形態によるパッケージ配布ログ集計サーバおよびクライアント上で実現される機能ブロックを示す図である。図14は、第2の実施形態によるインストーラ・パッケージ250の詳細な機能ブロックを示す図である。
【0082】
図13は、パッケージ配布ログ集計サーバ170(以下、配布集計サーバと参照する。)と、クライアント160上で動作するインストーラ・パッケージ250とを示す。第2の実施形態による配布集計サーバ170は、概ね第1の実施形態におけるパッケージ配布サーバ130およびログ集計サーバ140の機能を統合したサーバとして構成される。配布集計サーバ170は、第1の実施形態と同様に、ログ収集設定出力部172と、パッケージ配布処理部174と、ログ収集処理部176と、ログ集計処理部178と、ログ集計結果閲覧部180と、インストールエラー集計データ182とを含む。第2の実施形態の配布集計サーバ170は、さらに、認証情報生成部184と、通知部190とを含んで構成される。
【0083】
図14を参照すると、インストーラ・パッケージ250では、概ね第1の実施形態のインストーラ・パッケージ250と同様に、インストール制御プログラム252は、収集設定読込部262と、ログ送信部264と、ログ取得部266とを含む。第2の実施形態によるインストール制御プログラム252は、さらに、送信画面表示部270と、アンインストール部272とを含み構成される。
【0084】
図13に示すログ収集設定出力部172は、第1の実施形態と同様に、インストーラ・パッケージ250にログ収集設定情報260を出力する機能部である。パッケージ配布処理部174は、図4に示したものと同様に、インストーラ・パッケージ250をダウンロード可能に記憶装置に格納し、クライアント160からの求めに応じて配布する機能を有する。また第2の実施形態では、パッケージ配布処理部174は、ダウンロード回数を計数するため、ログ集計処理部178にダウンロード・ログを渡す機能をさらに備える。
【0085】
ログ集計処理部178は、第1の実施形態と同様に、インストーラ・パッケージ250が動作する各クライアント160から送信された取得ログを受信し、収集された取得ログを集計処理し、集計結果をインストールエラー集計データ182として格納する機能を有する。
【0086】
第2の実施形態によるログ集計処理部178は、より詳細には、ダウンロード計数部186と、インストール計数部188とを含んで構成される。ダウンロード計数部186は、上記集計処理の一部として、パッケージ配布処理部174から渡されたダウンロード・ログを集計し、ダウンロード回数を計数する処理を担う機能部である。ログ収集処理部176が、パッケージ配布処理部174からダウンロード・ログを取得し、ダウンロード数を計数することにより、配布集計サーバ170内で図11に示したダウンロードカウンタを計数することが可能となる。
【0087】
インストール計数部188は、上記集計処理の一部として、上述したクライアント実行環境を識別したインストール回数、エラー数および成功数を計数する処理を担う機能部である。また、第2の実施形態では、インストーラ・パッケージ250がダウンロードされた数をカウントできるので、ダウンロードされたもののうちのインストール実行回数、成功回数およびエラー回数の各比率を計算することもできる。これにより、システム管理者は、全員がインストーラ・パッケージをダウンロードし、セットアップを終了させているか、どの程度のユーザが完了させていないかを把握することが可能となる。また、エラーが出始めたことを認識し、今後のエラーの発生動向の推移を予測し、サポートに連絡するなど対策を決定することもできる。
【0088】
ログ集計結果閲覧部180は、第1の実施形態と同様に、インストールエラー集計データ182を参照してレポートを作成し、外部から閲覧可能なように格納する機能部である。第2の実施形態によるインストールエラー集計データ182は、インストールログの集計結果に加えて、ダウンロード・ログの集計結果も含んでいる。
【0089】
認証情報生成部184は、配布時(つまりダウンロード時)に、認証パスワードを生成し、ダウンロード・パッケージ内に埋め込むとともに、クライアントを認証するための認証情報をサーバ登録する処理を行う機能部である。認証パスワードは、例えば、ログインしているユーザのユーザ名、日付などを元に疑似乱数等により生成される。
【0090】
通知部190は、ログ集計処理部178による集計結果に応答して、予め設定された通知条件が満たされた場合に、管理者または開発元などの登録された連絡先に、通知条件が満たされた旨を通知する機能部である。通知条件は、予め管理者に設定された条件を用いることができる。例えば、管理者は、エラーのたびに毎回通知を受けることができ、または、あるインストーラ・パッケージ250についてエラーが所定回数以上発生した場合に、通知を受けることができる。さらに、ダウンロード数からインストール数が予測できる場合は、エラー回数に代えて、エラー発生率に対して閾値を設定してもよい。
【0091】
図14を参照すると、インストーラ・パッケージ250は、送信画面表示部270と、アンインストール部272とを含み構成される。第2の実施形態において、送信画面表示部270およびアンインストール部272は、ネットワーク環境のセキュリティ・ポリシー上の理由またはネットワーク要因から、ログ送信部264が自動的に取得ログを送信できない場合に使用される機能部である。
【0092】
送信画面表示部270は、各インストーラ254,256の処理が完了した後、インストールログを送信する指示を受け付けるログ送信画面をクライアント160のディスプレイ・デバイス上に表示する機能部である。アンインストール部272は、上記ログ送信画面を用いたログ送信を完了させずにインストール処理が中断された場合に、インストーラ254,256各々を再度呼び出して各々のソフトウェアをアンインストールし、ソフトウェア導入前の状態に戻す機能部である。
【0093】
インストール制御プログラム252は、一括インストール処理が終了した後、ログ送信部264により取得ログを自動的に送信することができない場合に、送信画面表示部270を呼び出し、図15および図16に示すようなログ送信画面を表示させる。
【0094】
図15(A)は、インストールに成功した場合に表示されるログ送信画面を例示する図である。図15(B)は、インストールに失敗した場合に表示されるログ送信画面を例示する図である。図15に示すログ送信画面においては、インストールログのテキストボックスには、インストーラ254,256が出力した各インストールログおよびインストール制御プログラム252が出力した全体ログの内容が、予め入力された状態となっている。
【0095】
インストーラ・パッケージ250は、通常、複数のインストーラの集合体であり、インストールログは、インストーラ毎に出力されることが一般的である。そこで、第2の実施形態では、全体ログの内容が予め入力された状態のログ送信画面を表示させるために、パッケージ制御情報258には、図17(A)〜(C)に例示するような、出力ログを規定する出力ログ設定情報が組み込まれている。
【0096】
図17における、「LOG_TYPE」の項目は、ログ収集方法のタイプを指定する値が入力され、「FOLDER」の値は、インストールログが指定フォルダ下の全てから構成されることを指定する値である。「SINGLE_FILE」の値は、インストールログが指定フォルダ内の1個のファイルから構成されることを指定する値である。「MULTIPLE_FILE」は、インストールログが指定フォルダ内の複数個のファイルから構成されることを指定する値である。
【0097】
図17における「LOG_PATH」の項目は、ログが出力されるパスが入力される項目である。ログ出力パスは、特定のパス(c:\tmp)で指定することができ、「WIN_TEMP」や「USER_LOCAL_TEMP」など所定のフォルダを指すキーワードで指定することもできる。「FILE_NAME」の項目は、ログファイルの命名規則が入力される項目である。ログファイルは、特定のログファイル名(例えばABC.logなど)で指定することができ、ワイルドカードや正規表現(例えばABC*.logなど)を用いて指定することができる。
【0098】
送信画面表示部270は、上記パッケージ制御情報258内の出力ログ設定情報を参照して、出力ログ設定情報で特定されるログファイルを取得し、予めインストールログが入力されたログ送信画面を作成する。なお、他に必須の入力事項が有る場合には、クライアント160の操作者に手動入力させてもよい。また、エンドユーザの手間を省く観点からは、初期からログ情報が入力された状態とすることが望ましいが、ファイル指定用のフォームを利用して、例えばインストールログの一部の指定をエンドユーザに手動指定させることができる。手動でログファイルを指定できるようにすることで、ログが特定できない場合や、インストーラで出力されないシステム情報や、他のツールで採取したような情報も収集可能にすることができる。
【0099】
また、ログ送信の利用態様を考慮すると、クライアント160および配布集計サーバ170が会社をまたがって配置され、クライアント160から社外へ全ログ情報を送信することがセキュリティ・ポリシー上好ましくないという場合もある。図16(A)および(B)は、上述のような場合に用いることができるログ送信画面の他の例を示す図である。図16(A)に示す他の例のログ送信画面では、送信するログの内容を選択可能なUI部品(チェックボックス)が表示されている。
【0100】
図16(A)に示すログ送信画面を表示させることで、インストーラ・パッケージ250を使用するエンドユーザ側で送信内容について選択可能とするとともに、必要最低限のログ情報を送信させることが可能となる。他の実施形態では、クライアント160側と配布集計サーバ170側との間で、予めログ送信する項目の取り決めができる場合は、エンドユーザが自由に選択できないようにして、必要なログ情報を送信させることもできる。この場合は、パッケージ制御情報258内にログ送信可能な項目を定義すればよい。
【0101】
さらに、インストーラ・パッケージ250は、上述したように1以上のインストーラからの集合体となるが、パッケージのインストール処理が複数ステップから構成される場合もある。図16(B)に示すログ送信画面のように、ステップ毎にエラーログを送信するかを選択できるようにしてもよい。例えば、失敗したインストールのステップに関するエラーのみを報告することにより、ネットワーク・トラフィックを軽減することができる。
【0102】
図15および図16に示すようなログ送信画面において、ログ情報や他の必要事項が入力された状態で、「結果を送信して完了」のボタンがクリックされると、図18に示すようなログ送信認証画面を経て、ログ送信が行われる。この場合、インストール制御プログラム252は、テキストボックス内の内容に、適宜情報を付加して、取得ログを作成し、配布集計サーバ170に送信し、一括インストール処理を成功裡に完了させる。
【0103】
一方、「処理中断」ボタンがクリックされたり、テキストボックスおよびファイル指定フォームが空白のまま「結果を送信して完了」したりして、上記送信画面を用いたログ送信を正しく完了させずにインストール処理が中断された場合は、インストール制御プログラム252は、アンインストール部272を呼び出してソフトウェア導入前の状態に戻す。これにより、エンドユーザに対し、インストールログの送信を徹底させることができる。
【0104】
なお、上述した第2の実施形態では、ログ送信画面を用いたログ送信が正しく完了できない場合にアンインストールを行うものとして説明した。他の実施形態では、アンインストール部272は、配信時とログ収集時とで認証情報が不整合となった場合に、ログ送信を含めたインストール処理が完了できないとして、アンインストール部272を呼び出し、ソフトウェア導入前の状態に戻すこともできる。
【0105】
ログ送信時に認証エラーとなった場合に、パッケージ内のインストーラ254,256にアンインストールさせる制御により、インストール期限を設定するなどのセキュリティ・ポリシーを適用することができる。例えば、一定期間毎に認証パスワードを変更することにより、配布時とログ収集時の認証情報の不整合から、不正行為の可能性を管理者に認識させることができる。これにより、インストールエラーの効率的な収集に加えて、インストーラ・パッケージを用いた一括インストールにおけるセキュリティを向上させることができる。また、エンドユーザに対し、所定期間内にインストールさせることを促す効用もある。
【0106】
また、上述した第2の実施形態では、ログ送信画面をウィンドウ表示させるものとして説明した。しかしながら、これに限定されるものではなく、他の実施形態では、既定のブラウザを呼び出して、インストールログを送信するための専用のウェブ・ページを表示する態様としてもよい。
【0107】
再び図13および図14を参照すると、さらに他の実施形態によるパッケージ配布からログ集計までの処理が示されている。以下説明する実施形態では、配布集計サーバ170は、さらに、ライセンス発行部192とを含み、配布集計サーバ170は、ソフトウェアのライセンスを管理する機能を備えている。
【0108】
ライセンス発行部192は、各インストーラによるインストール処理が完了した後、ライセンスコードをクライアントに発行する手続きを行う機能部である。ライセンスコードは、導入したソフトウェアを有効化するコードである。本実施形態では、インストール制御プログラム252は、配布集計サーバ170に取得ログを送信する際に、取得ログを含めたライセンスコード取得依頼を送信する。ライセンス発行部192は、ライセンスコード取得を依頼してきたクライアント160に対し、ライセンス認証情報を用いて認証し、ライセンスコードを発行することを許可するか否かを判定する。ライセンス発行部192は、許可される場合は、クライアント160に対し、ライセンスコード取得を依頼への応答として、ライセンスコードを送信する。
【0109】
本実施形態のインストール制御プログラム252は、上記ライセンスコードを取得できたときは、導入したソフトウェアにライセンスコードを設定する。一方、上記ライセンスコードを取得できなかったときは、インストール制御プログラム252は、アンインストール部272を呼び出し、各々のソフトウェアをアンインストールし、ソフトウェア導入前の状態に戻すことができる。
【0110】
上記ライセンスコードの取得依頼およびライセンスコード送信は、如何なるプロトコルで配信してもよいが、簡便には、電子メールを介して行うことができる。電子メールは、その本文または添付ファイルとして、所定フォーマットに従って記述された取得ログおよびライセンス認証情報を含む。ライセンス認証情報の電子メールが所定のアドレスに送信されると、配布集計サーバ170は、当該電子メールを受信し、上記フォーマットに従い解析し、ライセンス認証情報および取得ログを抽出する。配布集計サーバ170は、ライセンス発行の条件を満たされる場合に、当該電子メールの返信先に、1以上のインストーラにより導入されたソフトウェアの少なくとも1つを有効化するためのライセンスコードを含む電子メールを送信するメール送信手段を備えることができる。
【0111】
上述構成により、ログ集計サーバに自動接続できなく、さらにエンドユーザにログ送信画面を用いた手動操作を求めなくても、ライセンス取得手続きに付随して、取得ログを送信することができる。
【0112】
以上説明したように、上述までの実施形態によれば、配布先クライアントでインストーラ・パッケージを用いた各ソフトウェアのインストール処理時に発生するエラー等を記述したログを効率的に収集し、配布先クライアントの実行環境を識別しながら集計することができるログ集計装置を、コンピュータ上に実現するためのログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラムを提供することができる。
【0113】
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【0114】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0115】
100…ネットワーク環境、102…ネットワーク、104…複合機、106…レーザプリンタ、110…管理者端末、112…パッケージャ、114…インストール制御プログラム、116,254…プリンタドライバ・インストーラ、118,256…ポートモニタ・インストーラ、120…設定情報、122…パッケージ制御情報、124…ログ収集設定情報、130…パッケージ配布サーバ、132,174…パッケージ配布処理部、134,172…ログ収集設定出力部、140…ログ集計サーバ、142、176…ログ収集処理部、144,178…ログ集計処理部、146,180…ログ集計結果閲覧部、148,182…インストールエラー集計データ、150…パッケージ配布ログ集計サーバ、160…クライアント、162…全体ログ、164,166…インストールログ、168…取得ログ、170…配布集計サーバ、184…認証情報生成部、186…ダウンロード計数部、188…インストール計数部、190…通知部、192…ライセンス発行部、200,250…インストーラ・パッケージ、202,252…インストール制御プログラム、204…プリンタドライバ・インストーラ、206…ポートモニタ・インストーラ、208,258…パッケージ制御情報、210,260…ログ収集設定情報、212,262…収集設定読込部、214,264…ログ送信部、216,266…ログ取得部、270…送信画面表示部、272…アンインストール部
【先行技術文献】
【特許文献】
【0116】
【特許文献1】特許第4537670号公報
【特許文献2】特許第4375778号公報
【特許文献3】特開2006−350896号公報
【特許文献4】特開2004−185084号公報
【特許文献5】特開2010−049363号公報

【特許請求の範囲】
【請求項1】
コンピュータを、ネットワークを介して接続されるクライアント装置と通信可能なログ集計装置として機能させるためのコンピュータ実行可能なログ集計プログラムであって、前記コンピュータを、
インストーラ・パッケージが動作するクライアント装置からログ情報を収集するログ収集手段、および
収集された前記ログ情報を集計するログ集計手段
として機能させるものであり、
前記インストーラ・パッケージは、前記クライアント装置を、
ソフトウェアを導入するための1以上のインストーラ、
前記1以上のインストーラそれぞれが出力するログと、前記クライアント装置のシステム情報とを取得するログ取得手段、および
前記インストーラ・パッケージの設定に従って、当該ログ集計装置に対し、前記ログおよび前記システム情報を含むログ情報を送信するログ送信手段
として機能させ、
前記ログ集計手段は、前記ログ情報に含まれる前記システム情報を用いて、前記クライアント装置の実行環境を識別しながら、インストール処理にかかるイベントを計数することを特徴とする、ログ集計プログラム。
【請求項2】
前記インストーラ・パッケージは、前記クライアント装置を、さらに、
前記1以上のインストーラの処理が完了した後、前記ログ情報を送信する指示を受け付ける送信画面を前記クライアント装置の表示装置上に表示する送信画面表示手段、および
前記送信を完了させずにインストール処理が中断された場合に、前記1以上のインストーラによるソフトウェア導入前の状態に戻すアンインストール手段
として機能させることを特徴とする、請求項1に記載のログ集計プログラム。
【請求項3】
前記ログ取得手段は、前記1以上のインストーラが出力する1以上のログと、前記システム情報と、前記インストーラ・パッケージによる全体ログとを集約して、前記ログ情報を作成することを特徴とする、請求項1または2に記載のログ集計プログラム。
【請求項4】
前記インストーラ・パッケージは、前記インストーラ・パッケージの配布時に発行され、暗号化されて埋め込まれた認証情報をさらに含み、
前記ログ送信手段は、さらに、前記認証情報を付して前記ログ情報を送信することを特徴とする、請求項1〜3のいずれか1項に記載のログ集計プログラム。
【請求項5】
前記ログ送信手段は、前記ログ情報を含むライセンス認証情報を送信する手段であり、
前記ログ集計装置は、前記ライセンス認証情報を送信してきたクライアント装置に対し前記1以上のインストーラにより導入されたソフトウェアの少なくとも1つを有効化するためのライセンスコードを発行することを許可する、ライセンス許可手段を含む、請求項1〜4のいずれか1項に記載のログ集計プログラム。
【請求項6】
前記ログ送信手段は、前記ログ情報を含むライセンス認証情報を電子メールとして送信する手段であり、
前記ログ集計装置は、前記ライセンス認証情報の電子メールを受信した場合に、該電子メールの返信先に、前記1以上のインストーラにより導入されたソフトウェアの少なくとも1つを有効化するためのライセンスコードを含む電子メールを送信するメール送信手段を含む、請求項1〜4のいずれか1項に記載のログ集計プログラム。
【請求項7】
前記ログ集計手段がログを集計した結果、予め設定された通知条件が満たされた場合に、登録された連絡先に、通知条件が満たされた旨を通知する通知手段をさらに含む、請求項1〜6のいずれか1項に記載のログ集計プログラム。
【請求項8】
ネットワークを介して接続されるクライアント装置と通信可能なログ集計装置であって、
インストーラ・パッケージが動作するクライアント装置からログ情報を収集するログ収集手段と、
収集された前記ログ情報を集計するログ集計手段と
を含み、
前記インストーラ・パッケージは、前記クライアント装置を、
ソフトウェアを導入するための1以上のインストーラ、
前記1以上のインストーラそれぞれが出力するログと、前記クライアント装置のシステム情報とを取得するログ取得手段、および
前記インストーラ・パッケージの設定に従って、当該ログ集計装置に対し、前記ログおよび前記システム情報を含むログ情報を送信するログ送信手段
として機能させることを特徴とし、
前記ログ集計手段は、前記ログ情報に含まれる前記システム情報を用いて、前記クライアント装置の実行環境を識別しながら、インストールにかかるイベントを計数することを特徴とする、ログ集計装置。
【請求項9】
コンピュータを、クライアント装置が実行可能なインストーラ・パッケージを作成するためのパッケージ作成装置として機能させるためのコンピュータ実行可能なインストーラ・パッケージャ・プログラムであって、前記コンピュータを、
インストールさせる1以上のソフトウェアの選択を含む設定を受け付ける設定受付手段、および
パッケージ・インストーラ制御プログラムと、前記ソフトウェアそれぞれに対応する1以上のインストーラとを読み出して、同梱し、インストーラ・パッケージを作成する作成手段
として機能させることを特徴とし、
前記パッケージ・インストーラ制御プログラムは、前記クライアント装置上で実行されて、該クライアント装置を、
前記1以上のインストーラを起動する制御手段、
前記1以上のインストーラそれぞれが出力するログと、前記クライアント装置の実行環境を記述するシステム情報とを取得するログ取得手段、および
前記インストーラ・パッケージ内の設定に従い、当該ログ集計装置に対し、前記ログおよび前記システム情報を含むログ情報を送信するログ送信手段
として機能させるものである、
インストーラ・パッケージャ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−20354(P2013−20354A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2011−151903(P2011−151903)
【出願日】平成23年7月8日(2011.7.8)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】