(57)【要約】【課題】  インストーラ・パッケージが動作するクライアントからログを収集するログ集計装置を実現するためのログ集計プログラムを提供すること。【解決手段】  本プログラムは、インストーラ・パッケージ２００が動作するクライアント１６０からログ情報１６８を収集するログ収集手段１４２、および収集されたログ情報を集計するログ集計手段１４４としてコンピュータを機能させる。上記パッケージ２００は、１以上のインストーラ（２０４，２０６）、これらそれぞれが出力するログと、クライアント１６０のシステム情報とを取得するログ取得手段２１６、および、設定に従ってログ集計装置１４０に対しログ情報を送信するログ送信手段２１４として機能させる。上記ログ集計手段１４４は、ログ情報に含まれるシステム情報を用いて、クライアント実行環境を識別しながら、インストール処理にかかるイベントを計数する。【選択図】  図４
2013020354.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、ネットワークを介して接続されるクライアント装置と通信可能なログ集計装置として機能させるためのコンピュータ実行可能なログ集計プログラムであって、前記コンピュータを、
インストーラ・パッケージが動作するクライアント装置からログ情報を収集するログ収集手段、および
収集された前記ログ情報を集計するログ集計手段
として機能させるものであり、
前記インストーラ・パッケージは、前記クライアント装置を、
ソフトウェアを導入するための１以上のインストーラ、
前記１以上のインストーラそれぞれが出力するログと、前記クライアント装置のシステム情報とを取得するログ取得手段、および
前記インストーラ・パッケージの設定に従って、当該ログ集計装置に対し、前記ログおよび前記システム情報を含むログ情報を送信するログ送信手段
として機能させ、
前記ログ集計手段は、前記ログ情報に含まれる前記システム情報を用いて、前記クライアント装置の実行環境を識別しながら、インストール処理にかかるイベントを計数することを特徴とする、ログ集計プログラム。
【請求項２】
前記インストーラ・パッケージは、前記クライアント装置を、さらに、
前記１以上のインストーラの処理が完了した後、前記ログ情報を送信する指示を受け付ける送信画面を前記クライアント装置の表示装置上に表示する送信画面表示手段、および
前記送信を完了させずにインストール処理が中断された場合に、前記１以上のインストーラによるソフトウェア導入前の状態に戻すアンインストール手段
として機能させることを特徴とする、請求項１に記載のログ集計プログラム。
【請求項３】
前記ログ取得手段は、前記１以上のインストーラが出力する１以上のログと、前記システム情報と、前記インストーラ・パッケージによる全体ログとを集約して、前記ログ情報を作成することを特徴とする、請求項１または２に記載のログ集計プログラム。
【請求項４】
前記インストーラ・パッケージは、前記インストーラ・パッケージの配布時に発行され、暗号化されて埋め込まれた認証情報をさらに含み、
前記ログ送信手段は、さらに、前記認証情報を付して前記ログ情報を送信することを特徴とする、請求項１〜３のいずれか１項に記載のログ集計プログラム。
【請求項５】
前記ログ送信手段は、前記ログ情報を含むライセンス認証情報を送信する手段であり、
前記ログ集計装置は、前記ライセンス認証情報を送信してきたクライアント装置に対し前記１以上のインストーラにより導入されたソフトウェアの少なくとも１つを有効化するためのライセンスコードを発行することを許可する、ライセンス許可手段を含む、請求項１〜４のいずれか１項に記載のログ集計プログラム。
【請求項６】
前記ログ送信手段は、前記ログ情報を含むライセンス認証情報を電子メールとして送信する手段であり、
前記ログ集計装置は、前記ライセンス認証情報の電子メールを受信した場合に、該電子メールの返信先に、前記１以上のインストーラにより導入されたソフトウェアの少なくとも１つを有効化するためのライセンスコードを含む電子メールを送信するメール送信手段を含む、請求項１〜４のいずれか１項に記載のログ集計プログラム。
【請求項７】
前記ログ集計手段がログを集計した結果、予め設定された通知条件が満たされた場合に、登録された連絡先に、通知条件が満たされた旨を通知する通知手段をさらに含む、請求項１〜６のいずれか１項に記載のログ集計プログラム。
【請求項８】
ネットワークを介して接続されるクライアント装置と通信可能なログ集計装置であって、
インストーラ・パッケージが動作するクライアント装置からログ情報を収集するログ収集手段と、
収集された前記ログ情報を集計するログ集計手段と
を含み、
前記インストーラ・パッケージは、前記クライアント装置を、
ソフトウェアを導入するための１以上のインストーラ、
前記１以上のインストーラそれぞれが出力するログと、前記クライアント装置のシステム情報とを取得するログ取得手段、および
前記インストーラ・パッケージの設定に従って、当該ログ集計装置に対し、前記ログおよび前記システム情報を含むログ情報を送信するログ送信手段
として機能させることを特徴とし、
前記ログ集計手段は、前記ログ情報に含まれる前記システム情報を用いて、前記クライアント装置の実行環境を識別しながら、インストールにかかるイベントを計数することを特徴とする、ログ集計装置。
【請求項９】
コンピュータを、クライアント装置が実行可能なインストーラ・パッケージを作成するためのパッケージ作成装置として機能させるためのコンピュータ実行可能なインストーラ・パッケージャ・プログラムであって、前記コンピュータを、
インストールさせる１以上のソフトウェアの選択を含む設定を受け付ける設定受付手段、および
パッケージ・インストーラ制御プログラムと、前記ソフトウェアそれぞれに対応する１以上のインストーラとを読み出して、同梱し、インストーラ・パッケージを作成する作成手段
として機能させることを特徴とし、
前記パッケージ・インストーラ制御プログラムは、前記クライアント装置上で実行されて、該クライアント装置を、
前記１以上のインストーラを起動する制御手段、
前記１以上のインストーラそれぞれが出力するログと、前記クライアント装置の実行環境を記述するシステム情報とを取得するログ取得手段、および
前記インストーラ・パッケージ内の設定に従い、当該ログ集計装置に対し、前記ログおよび前記システム情報を含むログ情報を送信するログ送信手段
として機能させるものである、
インストーラ・パッケージャ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インストール処理におけるログ収集に関する。本発明は、より詳細には、コンピュータ上に、インストーラ・パッケージが動作するクライアント装置からログを収集するログ集計装置を実現するためのログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラムに関する。
【背景技術】
【０００２】
官公庁、企業および大学などの組織の情報システム管理者にとって、管理するパーソナル・コンピュータの各々に、アプリケーションおよびドライバをインストールする作業は煩雑である。近年、システム管理者の負担を軽減するために、インストールする必要のあるアプリケーション、ドライバ、専用ユーティリティおよび設定を一括でコンピュータに導入するためのインストーラ・パッケージを作成する支援ツールが提供されている。
【０００３】
上記支援ツールを使用することにより、情報処理技術に関する知識が少ないエンドユーザでも簡易な操作でコンピュータにインストールを行える、インストーラ・パッケージを提供することができる。例えば、管理者側で、インストーラ・パッケージ内に、予めプリンタなどの機器のＩＰアドレスやＵＲＬを埋め込んでおくことで、エンドユーザは、これらの情報を知らなくても、上記機器のドライバのインストールおよび各種設定を完了させることができる。さらに、アプリケーションやドライバ毎の複数のインストーラを操作する必要もないため、エンドユーザの作業負担も小さく、作業の難易度も低い。さらに、インストールに管理者権限を要する場合であっても、管理者権限を有しないユーザがインストール作業を実行可能とする技術も知られている（特許文献１，特許文献２）。
【０００４】
インストール処理を支援する技術としては、特開２００６−３５０８９６号公報（特許文献３）が開示する、コンピュータがインストールするソフトウェアの前提条件を満たしているか否かを調査する前提条件調査用情報収集支援システムが知られている。上記インストール処理時のエラーに関連する技術としては、特開２００４−１８５０８４号公報（特許文献４）が知られている。特許文献４に開示される技術では、ユーザのコンピュータは、インストール中、インストールエラーが発生すると、エラーコードを表示し、かつユーザのコンピュータのシステム情報を収集して、エラーコードと共にサポート・サーバへ送信する。そして、ユーザのコンピュータは、サポート・サーバが生成した、エラーコードおよびシステム情報から取得されたエラー回避のためのサポート情報を受け取り、これを画面に表示する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、大規模な組織では、数百台にもおよぶコンピュータにパッケージをインストールしなければならない場合も多く、少なくない確率でパッケージ内のソフトウェアのインストール処理中にエラーが発生することがある。同一環境にもかかわらず、一部少数のコンピュータでエラーが発生する場合もあり、このような事例では、他のコンピュータ上でエラー症状を再現させにくく、原因特定が難しく、機器の開発元でも原因解析が困難な場合も多い。
【０００６】
したがって、インストーラ・パッケージを作成し、配布するシステム管理者においては、配布したパッケージがどの程度問題を発生させているか、問題が発生しているのであればどのような環境および条件で発生するのか、を把握する必要性が高い。かかる情報は、問題解決のためにも有用であり、業務への影響の程度を把握する手段ともなる。
【０００７】
上記インストール処理時のエラーに関連する技術として、上記特許文献４の技術も知られているが、この技術は、特定のソフトウェアに関し、そのソフトウェアのサポートセンターに送付するというものである。上記特許文献４の技術によれば、サポートセンターに連絡して、使用のコンピュータのシステム情報や利用状況をオペレータに説明した上で回答を待つといったユーザの作業を軽減することができるが、上記インストーラ・パッケージに関するシステム管理者側の問題点に対処できない。
【０００８】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、配布先クライアントでインストーラ・パッケージを用いた１以上のソフトウェアの一括インストール処理時に発生するエラーを記述したログを効率的に収集し、配布先クライアントの実行環境を識別しながら集計することができるログ集計装置を、コンピュータ上に実現するためのログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、上記課題を解決するために、下記特徴を有する、ネットワークを介して接続されるクライアント装置と通信可能なログ集計装置としてコンピュータを機能させるためのコンピュータ実行可能なログ集計プログラムおよび該ログ集計装置を提供する。本ログ集計装置は、インストーラ・パッケージが動作するクライアント装置からログ情報を収集するログ収集手段と、収集された前記ログ情報を集計するログ集計手段とを含む。上記インストーラ・パッケージは、ソフトウェアを導入するための１以上のインストーラ、１以上のインストーラそれぞれが出力するログとクライアント装置のシステム情報とを取得するログ取得手段、およびインストーラ・パッケージの設定に従って、ログ集計装置に対し、ログおよびシステム情報を含むログ情報を送信するログ送信手段としてクライアント装置を機能させる、コンピュータ実行可能なプログラムである。上記ログ集計装置のログ集計手段は、上記ログ情報に含まれるシステム情報を用いて、上記クライアント装置の実行環境を識別しながら、インストール処理にかかるイベントを計数する。
【００１０】
また本発明では、クライアント装置が実行可能なインストーラ・パッケージを作成するためのパッケージ作成装置として機能させるためのコンピュータ実行可能なインストーラ・パッケージャ・プログラムを提供することができる。本インストーラ・パッケージャ・プログラムは、コンピュータを、インストールさせる１以上のソフトウェアの選択を含む設定を受け付ける設定受付手段、およびパッケージ・インストーラ制御プログラムと、１以上のソフトウェアに対応するインストーラとを読み出して、同梱し、上記インストーラ・パッケージを作成する作成手段としてコンピュータを機能させることができる。
【発明の効果】
【００１１】
上記構成によれば、配布先クライアント装置においてインストーラ・パッケージを用いた一括インストール時に発生するエラーの情報を含むログ情報を効率的に収集し、配布先クライアント装置の実行環境を識別しながら、集計することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態によるログ集計サーバおよび管理者端末が稼働するネットワーク環境を示す図。
【図２】第１の実施形態によるパッケージャ・プログラムを実行する管理者端末に実現される機能ブロックを示す図。
【図３】第１の実施形態による管理者端末が実行する、パッケージャ・プログラムを用いたパッケージ作成処理を示すフローチャート。
【図４】第１の実施形態による、パッケージ配布サーバ、ログ集計サーバおよびクライアント上で実現される機能ブロックを示す図。
【図５】第１の実施形態によるパッケージ配布サーバが実行する、パッケージ配布処理を示すフローチャート。
【図６】（Ａ）パッケージャが作成するパッケージ制御情報および（Ｂ）ログ収集設定出力部が作成するログ収集設定情報のデータ構造を例示する図。
【図７】第１の実施形態による、インストーラ・パッケージを動作させているクライアントが実行する、インストール処理およびこれに後続するログ送信処理を示すフローチャート。
【図８】第１の実施形態によるログ取得部が生成する取得ログのデータ構造を例示する図。
【図９】第１の実施形態によるログ集計サーバが実行する、ログ収集処理からレポート作成処理までの一連の処理を示すフローチャート。
【図１０】第１の実施形態によるログ集計サーバが実行する、コンピュータ、環境およびユーザを識別したイベントの計数処理を示すフローチャート。
【図１１】第１の実施形態によるイベントの計数処理により作成されるイベント計数結果を例示する図。
【図１２】第１の実施形態によるイベントの計数処理において識別されるクライアント実行環境を例示する図。
【図１３】第２の実施形態による、パッケージ配布ログ集計サーバおよびクライアント上で実現される機能ブロックを示す図。
【図１４】第２の実施形態によるインストーラ・パッケージの詳細な機能ブロックを示す図。
【図１５】第２の実施形態によるログ送信画面を例示する図。
【図１６】第２の実施形態によるログ送信画面の他の例を示す図。
【図１７】第２の実施形態による出力ログ設定情報のデータ構造を例示する図。
【図１８】第２の実施形態によるログ送信認証画面を例示する図。
【発明を実施するための形態】
【００１３】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。なお、以下に説明する実施形態では、ログ集計プログラムを実行するログ集計装置としてログ集計サーバを含み、パッケージ作成装置として管理者端末を含み構成される、ネットワーク環境を一例に説明する。
【００１４】
図１は、第１の実施形態によるログ集計サーバおよび管理者端末が稼働する、ネットワーク環境を示す図である。図１に示すネットワーク環境１００は、複合機１０４およびレーザプリンタ１０６などの周辺機器と、管理者端末１１０と、パッケージ配布サーバ１３０と、ログ集計サーバ１４０と、クライアント１６０とを含む。
【００１５】
管理者端末１１０は、クライアント１６０に配布するインストーラ・パッケージを作成するためのインストーラ・パッケージャ・プログラム（以下、パッケージャ・プログラムという。）が動作するコンピュータである。管理者端末１１０は、指定された１以上のソフトウェアのインストーラを取得し、適宜これらの設定を埋め込み、ソフトウェアを一括インストール処理するためのインストーラ・パッケージを作成する。上記インストーラ・パッケージは、詳細を後述するが、１以上のソフトウェア・モジュール（機器のドライバとやアプリケーションを含む）と、これら１以上のソフトウェア・モジュールをインストールする際の設定を含むことができる。システム管理者は、管理者端末１１０を利用することにより、エンドユーザに配布するための所望のインストーラ・パッケージを作成することができる。
【００１６】
複合機１０４およびレーザプリンタ１０６は、本実施形態において、上記インストーラ・パッケージによってドライバのインストール対象とされる機器である。しかしながら、インストール対象にすることができる機器は、図１に例示したものに限定されるものではなく、ファクシミリ、スキャナその他ネットワークを介して複数のクライアント１６０から利用される種々の周辺機器とすることができる。
【００１７】
パッケージ配布サーバ１３０は、管理者端末１１０で作成されたインストーラ・パッケージをダウンロード可能に格納し、クライアント１６０からの求めに応じて、インストーラ・パッケージを配布するコンピュータである。
【００１８】
クライアント１６０ａ，１６０ｂは、上記インストーラ・パッケージをダウンロードして起動し、ソフトウェアの一括インストールを実行するコンピュータである。クライアント１６０ａ，１６０ｂは、インストール処理が終了すると、該インストール処理に関連するログを取得し、予め設定されたログ集計サーバ１４０へ送信する。
【００１９】
ログ集計サーバ１４０は、それぞれクライアント１６０においてインストーラ・パッケージが実行された際にインストーラ・パッケージから送信されるログ情報を収集し、集計するコンピュータである。なお、説明する実施形態では、パッケージ配布サーバ１３０およびログ集計サーバ１４０は、それぞれ、別個のサーバとして構成しているものとするが、他の実施形態では、パッケージ配布およびログ収集の両方の機能を備えるパッケージ配布ログ集計サーバ１５０として構成することもできる。
【００２０】
上記ネットワーク１０２は、１０００Ｂａｓｅ−ＴＸのイーサネット（登録商標）などの有線ネットワークや、ＩＥＥＥ８０２．１１などの規格の無線ネットワークを含んで構成することができる。上記機器１０４，１０６と、管理者端末１１０と、パッケージ配布サーバ１３０と、ログ集計サーバ１４０と、クライアント１６０ａ，１６０ｂとは、ネットワーク１０２を介して、ＴＰＣ／ＩＰプロトコルに基づくパケット通信により、相互通信を行う。ネットワーク１０２は、ＬＡＮ（Local Area Network）の他、ＶＰＮ(Virtual Private Network)などによるセキュア環境下で構築された広域ネットワークを含んで構成されていてもよい。
【００２１】
以下、図２、図３および図６（Ａ）を参照して、第１の実施形態によるパッケージャ・プログラムの詳細について説明する。図２は、第１の実施形態による、パッケージャ・プログラムを実行する管理者端末１１０に実現される機能ブロックを示す図である。図２に示す管理者端末１１０は、パッケージャ１１２と、パッケージ・インストール制御プログラム（以下、単にインストール制御プログラムという。）１１４と、プリンタドライバ・インストーラ１１６と、ポートモニタ・インストーラ１１８とを含む。
【００２２】
インストール制御プログラム１１４は、インストーラ・パッケージ内に１以上のインストーラとともに同梱されて、インストール処理の全体的な制御を行うモジュールである。インストール制御プログラム１１４は、パッケージ配布先のオペレーティング・システム（以下、ＯＳという。）の種類に対応して準備される。
【００２３】
プリンタドライバ・インストーラ１１６およびポートモニタ・インストーラ１１８は、インストーラ・パッケージに同梱されるインストーラを例示するものである。同梱されるインストーラは、選択されたソフトウェアに応じ、配布先のＯＳの種類に対応して準備される。ポートモニタ・インストーラ１１８は、プリンタドライバ・インストーラ１１６がパッケージに含まれる場合に、必要に応じて同梱されるアプリケーションである。ポートモニタは、クライアント１６０に導入されて、プリンタポートを管理し、監視し、利用ログを取得する付加機能を提供する。
【００２４】
パッケージャ１１２は、グラフィカル・ユーザ・インタフェースやコマンドライン・インタフェースなどのユーザ・インタフェース（以下、単にＵＩという。）を介して、管理者端末１１０の操作者からの設定情報１２０を受け付け、パッケージ制御情報１２２を作成する。
【００２５】
図６（Ａ）は、第１の実施形態によるパッケージャ１１２が作成する、パッケージ制御情報１２２のデータ構造を例示する図である。パッケージ制御情報１２２は、パッケージ内に同梱されるドライバ・インストーラに対応する機器のＩＰ（Internet Protocol）アドレスまたはＵＲＬ（Universal Resource Locator）、プリンタドライバであればポート名など、各種インストール設定を含む。パッケージ制御情報１２２は、さらに、管理者ＩＤおよび管理者パスワード、ユーザＩＤおよびユーザ・パスワードなど、配布先クライアント１６０上でインストール処理を遂行するために必要な各種情報を含むことができる。
【００２６】
ここで再び図２を参照すると、パッケージャ１１２は、ＵＩを介して管理者端末１１０の操作者からの設定情報１２０を受け付け、インストーラ・パッケージに埋め込むためのインストールログ収集設定情報（以下、単にログ収集設定情報という。）１２４を作成することができる。ログ収集設定情報１２４は、詳細は後述するが、ログ集計サーバのＩＰアドレスまたはＵＲＬ、収集方式などのインストールログの収集処理に関連する各種設定を含むことができる。ログ収集設定情報１２４は、パッケージ作成時にパッケージ内に埋め込む態様としてもよく、パッケージ配布時にパッケージ内に埋め込む態様としてもよい。なお、以下説明する実施形態では、パッケージ作成時には、空のログ収集設定情報が書き込まれており、パッケージ配布時に、実際のログ収集設定情報が書き込まれるものとして説明する。
【００２７】
パッケージャ１１２は、設定を受け付けた後、パッケージ作成指示を受け付けると、インストール制御プログラム１１４と、指定された１以上のインストーラ１１６，１１８とを読み出してパッケージ内に同梱する。パッケージャ１１２は、さらに、パッケージ制御情報１２２と、適宜ログ収集設定情報１２４とを読み出し、パッケージ内に埋め込み、これにより、インストーラ・パッケージ２００を作成する。なお、パッケージャ１１２は、本実施形態における設定受付手段および作成手段を構成する。
【００２８】
作成されたインストーラ・パッケージ２００は、インストール制御プログラム２０２、プリンタドライバ・インストーラ２０４、ポートモニタ・インストーラ２０６、パッケージ制御情報２０８および適宜ログ収集設定情報２１０を含み構成される。インストーラ・パッケージ２００は、配布先のクライアント１６０で動作可能なバイナリ形式のファイルなどとして構成される。
【００２９】
図３は、第１の実施形態による管理者端末１１０が実行する、パッケージャ・プログラムを用いたパッケージ作成処理を示すフローチャートである。図３に示す処理は、パッケージャ・プログラムが起動されて、ステップＳ１００から開始する。ステップＳ１０１では、パッケージャ１１２は、管理者端末１１０の操作者から、インストールさせるソフトウェアの選択、接続先機器のＩＰアドレスやＵＲＬなど接続先情報の設定を受けて、設定情報１２０に書き込む。ステップＳ１０２では、パッケージャ１１２は、必要に応じて、管理者端末１１０の操作者から、さらに管理者ＩＤおよび管理者パスワードなど、配布先クライアント上でインストール処理を実行するために必要な各種情報の入力を受け付けて、設定情報１２０に書き込む。
【００３０】
ステップＳ１０３では、パッケージャ１１２は、操作者からの指示を待ち受け、パッケージ作成指示を受け付けた場合（ＹＥＳ）には、ステップＳ１０４へ処理を進める。ステップＳ１０４では、パッケージャ１１２は、上記設定情報１２０を読み込み、適切なフォーマットでパッケージ制御情報１２２を作成する。ステップＳ１０５では、パッケージャ１１２は、配布先のＯＳに対応するインストール制御プログラム１１４を読み出す。ステップＳ１０６では、パッケージャ１１２は、ステップＳ１０１で選択されたソフトウェアを導入するための１以上のインストーラ１１６，１１８を読み出す。
【００３１】
ステップＳ１０７では、パッケージャ１１２は、１以上のインストーラ１１６，１１８およびパッケージ制御情報１２２をまとめて、さらにインストール制御プログラム１１４を同梱して、クライアント１６０で実行可能なファイルとしてインストーラ・パッケージ２００を書き出す。ステップＳ１０８では、パッケージャ１１２は、本処理を終了させる。一方、ステップＳ１０３で、操作者からキャンセルの指示を受け付けた場合（ＮＯ）には、ステップＳ１０８へ処理を分岐させて、本処理が終了される。
【００３２】
なお、上述した実施形態では、管理者端末１１０の操作者からの設定および指示に応答して、複数のクライアント１６０に配布する単一のインストーラ・パッケージを作成するものとして説明した。しかしながら、他の実施形態では、クライアント毎の設定内容を記述したデータを予め用意しておき、クライアント毎にインストーラ・パッケージを作成することもできる。この場合は、パッケージャ１１２は、予め用意されたデータを参照して、インストーラ・パッケージを実行させるコンピュータ毎に、プリンタ名やポート名、ユーザ・コードなどの設定を変更しながら、インストーラ・パッケージを作成することができる。
【００３３】
以下、図４、図５および図６（Ｂ）を参照して、第１の実施形態によるパッケージ配布処理について説明する。図４は、第１の実施形態による、パッケージ配布サーバ１３０、ログ集計サーバ１４０およびクライアント１６０上で実現される機能ブロックを示す図である。図４に示すパッケージ配布サーバ１３０は、パッケージ配布処理部１３２と、ログ収集設定出力部１３４とを含んで構成される。
【００３４】
ログ収集設定出力部１３４は、パッケージ作成時にログ収集設定情報が書き込まれなかった場合に、インストーラ・パッケージ２００にログ収集設定情報を出力する機能部である。ログ収集設定出力部１３４は、パッケージ配布サーバ１３０の操作者からの設定情報の入力を受けて、ログ収集設定情報２１０を作成し、インストーラ・パッケージ２００内の所定のフィールドに出力する。
【００３５】
パッケージ配布処理部１３２は、パッケージ作成時に、または上述したように配布前にログ収集設定出力部１３４によりログ収集設定情報が書き込まれたインストーラ・パッケージ２００を、ダウンロード可能に記憶装置に格納し、クライアント１６０からの求めに応じて配布する。パッケージ配布処理部１３２は、ウェブ・サーバ、ファイル転送サーバなどとして構成される。
【００３６】
図６（Ｂ）は、第１の実施形態によるログ収集設定出力部１３４が作成する、ログ収集設定情報のデータ構造を例示する図である。図６（Ｂ）に示すように、ログ収集設定情報２１０は、ログ集計サーバ１４０のＩＰアドレスまたはＵＲＬなどログ集計サーバにアクセスするための情報と、ログ収集方式を示す情報と、インストーラ・パッケージを識別する固有のパッケージＩＤとを含む。ログ収集設定情報２１０は、さらに、ログ集計サーバ１４０にアクセスする際に認証処理を要する場合には、認証ＩＤおよび認証パスワードを含むことができる。なお、認証ＩＤおよび認証パスワードなどの認証情報は、インストーラ・パッケージ２００内に暗号化されて埋め込まれることが好ましい。
【００３７】
ログ収集方式とは、ログのデータ形式および収集するログ項目を指定する設定情報である。データ形式は、例えば、無圧縮であるか、またはＺＩＰ圧縮であるかの指定、複数のインストーラが出力した各ログを集約して送信するか、または個別に送信するかの指定などを含むことができる。収集するログ項目としては、インストールの成否、エラーコード、クライアント１６０のＩＰアドレス、ＭＡＣアドレスなどシステム情報、その他ログ集計サーバ１４０に収集させる項目の指定を含む。
【００３８】
図５は、パッケージ配布サーバ１３０が実行する、パッケージ配布処理を示すフローチャートである。図５に示す処理は、管理者端末１１０からパッケージ配布サーバ１３０へ、インストーラ・パッケージがアップロードされ、当該パッケージ配布サーバ１３０の操作者からのパッケージ配布開始指示を受けたことに応答して、ステップＳ２００から開始する。ステップＳ２０１では、パッケージ配布サーバ１３０は、当該パッケージ配布サーバ１３０の操作者から、ＵＩを介してログ集計サーバ１４０の接続先情報（ＩＰアドレスまたはＵＲＬ）、データ形式などの設定を受け付ける。
【００３９】
ステップＳ２０２では、パッケージ配布サーバ１３０は、操作者からの指示を待ち受け、パッケージ配布指示を受け付けた場合（ＹＥＳ）には、ステップＳ２０３へ処理を進める。ステップＳ２０３では、パッケージ配布サーバ１３０は、ログ収集設定出力部１３４により、ステップＳ２０１で受け付けた設定に従い、ログ収集設定情報２１０を作成し、インストーラ・パッケージ２００に埋め込む。
【００４０】
ステップＳ２０４では、パッケージ配布サーバ１３０は、パッケージ配布処理部１３２により、完成されたインストーラ・パッケージ２００を配布対象として、ダウンロード可能に記憶装置に格納する。ステップＳ２０５では、パッケージ配布サーバ１３０は、本処理を終了させる。一方、ステップＳ２０２で、操作者からキャンセルの指示を受け付けた場合（ＮＯ）には、ステップＳ２０５へ処理を分岐させて、本処理が終了される。インストーラ・パッケージ２００がダウンロード可能に格納されると、各クライアント１６０からの求めに応じて、インストーラ・パッケージ２００が配布される。
【００４１】
以下、図４、図７および図８を参照して、第１の実施形態のインストーラ・パッケージによるインストール処理およびこれに後続するログ送信処理について説明する。図４を再び参照すると、配布されたインストーラ・パッケージ２００は、インストール制御プログラム２０２を含む。クライアント１６０上のインストール制御プログラム２０２は、パッケージ制御情報２０８内の情報を読み出し、同梱された１以上のインストーラ２０４，２０６を起動し、インストール処理を進めるとともに、インストールログを取得し、ログ集計サーバ１４０に送信する制御を行う。
【００４２】
起動された各インストーラ２０４，２０６は、それぞれ、インストール処理を実行し、インストールログ１６４，１６６を出力する。インストール制御プログラム２０２は、すべてのインストーラ２０４，２０６の処理が終了し、または中断されると、インストール処理がすべて成功裡に終了したか否かに関わらず、パッケージ全体ログ１６２を出力する。
【００４３】
インストール制御プログラム２０２は、より詳細には、収集設定読込部２１２と、ログ送信部２１４と、ログ取得部２１６とを含んで構成される。収集設定読込部２１２は、パッケージ２００内に埋め込まれたログ収集設定情報２１０を読み出し、ログ集計サーバ１４０の接続先情報やログ収集方式などのログ収集に必要な情報を取得する。ログ取得部２１６は、ログ収集方式に従い、全体ログ１６２、プリンタドライバ・インストーラ２０４のインストールログ１６４、およびポートモニタ・インストーラ２０６のインストールログ１６６を取得して取りまとめて取得ログを作成する。取得ログ１６８は、ログ収集方式に従って作成されたものであり、ログ収集方式の指定に応じて、無圧縮またはＺＩＰ圧縮であり、各ログ１６２，１６４，１６６を集約した１つのファイル、または複数の個別ファイルとして構成される。
【００４４】
図８は、第１の実施形態によるログ取得部が生成する取得ログ１６８のデータ構造を例示する図である。図８に示すように、取得ログ１６８は、インストーラ・パッケージによるインストール処理全体の記録をまとめた全体ログと、システム情報と、各インストーラが出力した各インストール処理の記録であるログを含む。各インストーラのログとしては、図８には、プリンタドライバ・インストーラのログ（プリンタ・ログ）およびポートモニタ・インストーラのログ（ポートモニタ・ログ）が例示されている。
【００４５】
全体ログは、特に限定されるものではないが、同梱されるインストーラの数、そのうちのインストールが成功した数、失敗した数、およびパッケージを識別するパッケージＩＤを含むことができる。システム情報としては、配布先クライアントのホスト名、ＵＵＩＤ（Universally Unique IDentifier）、ＩＰｖ４アドレス、ＩＰｖ６アドレス、ＭＡＣアドレス、ＯＳ名、ＯＳのバージョン、ＯＳのインストール先パス、およびインストール処理を行ったユーザ名を挙げることができる。
【００４６】
なお、詳細は後述するが、システム情報中には、コンピュータ、環境および適宜ユーザで特定されるクライアント実行環境を識別するための情報を含めることが好ましい。また、システム情報は、各インストーラログに含まれる情報があれば、それを利用してもよい。インストーラが出力するインストールログとしては、特に限定されるものではないが、ソフトウェア名、ソフトウェアのバージョン、インストールの成否、失敗したのであればエラーコードなどが含まれる。
【００４７】
図８に示す取得ログ１６８は、指定されたログ項目で各ログ１６２，１６４，１６６を集約した１つのファイルとして構成されるものとして示したが、１以上のインストーラ２０４，２０６が出力する１以上のログファイルをそのまま圧縮して取得ログを作成する態様としてもよい。この場合、ログ集計サーバ１４０側で、ログ項目を整理すればよい。また、ログ情報のサイズが大きくなる場合、取得ログ１６８を圧縮することが好ましい。しかしながら、サーバで利用する情報が少ない場合は、これらのログ情報を集約せず、別途送付してもよい。サイズが小さく、圧縮を必ずしも要しない情報としては、例えば、インストールの成否を示す情報、エラーコード、ソフトウェアの種類、クライアントのＯＳ名、ＭＡＣアドレス、またはＭＡＣアドレスとＯＳのバージョンとユーザＩＤから所定の規則で生成される環境ＩＤなどを挙げることができる。
【００４８】
再び図４を参照して説明すると、ログ送信部２１４は、ログ取得部２１６が作成した取得ログ１６８を読み出し、ログ収集設定情報２１０が取得したログ集計サーバの接続先情報に従って、ログ集計サーバ１４０にアクセスし、取得ログを送信する。ログ集計サーバ１４０にアクセスするために認証処理が必要であれば、送信時に、認証ＩＤおよび認証パスワードを送付することができる。
【００４９】
図７は、第１の実施形態によるインストーラ・パッケージを動作させるクライアントが実行する、インストール処理およびこれに後続するログ送信処理を示すフローチャートである。図７に示す処理は、クライアント１６０の操作者により、ダブルクリックなどでインストーラ・パッケージの実行が指示されたことに応答して、ステップＳ３００から開始される。ステップＳ３０１では、クライアント１６０は、インストーラ・パッケージ２００内のインストール制御プログラム２０２を起動する。ステップＳ３０２では、インストール制御プログラム２０２は、インストーラ・パッケージ２００内に同梱されている１以上のインストーラ各々を起動し、ステップＳ３０３で、各インストーラからの終了値を待ち受ける。
【００５０】
ステップＳ３０２におけるインストーラの起動に応答して、ステップＳ３１０〜ステップＳ３１２に示す処理が、各インストーラ毎に、順次または並列に行われる。各々のインストーラ２０４，２０６は、ステップＳ３１０で、自己のインストール処理を実行し、ステップＳ３１１で、インストールログ１６４，１６６を書き出し、ステップＳ３１２で、呼び出し元のインストール制御プログラム２０２に終了値を返す。インストールログは、好適には、インストール処理が成功裡に完了した場合、途中エラーが発生したもののインストール処理が完了した場合、途中エラーが発生してインストール処理が中断された場合のいずれの場合にも、出力される。上記終了値には、インストール処理の成否を示す値が保持される。
【００５１】
ステップＳ３０３では、インストール制御プログラム２０２は、ステップＳ３０２で起動したインストーラ全てから終了値を取得したか否かを判定する。ステップＳ３０３で、未だ終了値を返していないインストーラが存在すると判定されれば、ステップＳ３０３内をループさせ、全てのインストーラから終了値を取得するまで待ち受ける。ステップＳ３０３で、全てのインストーラからの終了値を取得したと判定された場合（ＹＥＳ）には、ステップＳ３０４へ処理を進める。
【００５２】
ステップＳ３０４では、インストール制御プログラム２０２は、各インストーラから取得した終了値から、各インストール処理の結果を判定し、全体ログ１６２を作成する。ステップＳ３０５では、インストール制御プログラム２０２は、収集設定読込部２１２により、ログ収集設定情報２１０を読み出す。ステップＳ３０６では、インストール制御プログラム２０２は、例えばＯＳがＷｉｎｄｏｗｓ（登録商標）であれば、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩや、それぞれ開発環境で用意されているメソッド・プロパティを用いて、システム情報を取得する。
【００５３】
ステップＳ３０７では、インストール制御プログラム２０２は、ログ取得部２１６により、各インストーラ２０４，２０６が出力したインストールログ１６４，１６６と、全体ログ１６２とを取りまとめて、指定の収集方式に従った取得ログを作成する。圧縮が指定されるのであれば、全てのファイルを取りまとめて圧縮する。ステップＳ３０８では、インストール制御プログラム２０２は、ログ収集設定情報２１０から取得されたＩＰアドレスまたはＵＲＬで指定されるログ集計サーバ１４０にアクセスし、適宜認証ＩＤおよび認証パスワードを用いてアクセスし、取得ログ１６８を送信し、ステップＳ３０９で、本処理を終了する。
【００５４】
以下、図４および図９〜図１２を参照して、クライアント側のインストール処理およびこれに後続するログ送信処理に対応して行われる、ログ集計サーバ１４０が実行する処理ついて説明する。図４を再び参照すると、ログ集計サーバ１４０は、ログ収集処理部１４２と、ログ集計処理部１４４と、ログ集計結果閲覧部１４６と、インストールエラー集計データ１４８とを含んで構成される。
【００５５】
ログ収集処理部１４２は、インストーラ・パッケージ２００が動作する各クライアント１６０から送信された取得ログを受信し、ログ集計サーバ１４０の記憶装置に保管する機能部である。収集された取得ログは、プログラムの不具合などの懸念がある場合に、サポートや開発元にログ情報を送付し、解決を依頼するために、一定期間、ログ集計サーバ１４０の記憶装置に保管しておくことができる。
【００５６】
ログ集計処理部１４４は、記憶装置内に保管された取得ログを集計処理し、集計結果をインストールエラー集計データ１４８として格納する機能部である。ここで行われる集計処理は、インストール実行回数、インストール成功回数およびエラー回数を、所定の項目に応じて分類し、計数する演算を含む。上記項目としては、ＯＳの種類別、ＯＳのバージョン別、ＰＣの機種別、ドライバの種類別、ドライバのバージョン別、アプリケーションの種類別、アプリケーションのバージョン別、ネットワーク系列別などを挙げることができる。なお、集計処理については、詳細を後述する。
【００５７】
ログ集計結果閲覧部１４６は、インストールエラー集計データ１４８を参照して、テキスト形式のレポート、およびシステム管理者が理解し易い視覚的にグラフ化したレポートまたはこれらの一方を作成し、管理者端末１１０などの外部から閲覧可能なように格納する。なお、集計結果をグラフ可視化するためには、特開２０１０−０４９３６３号公報（特許文献５）に開示される技術を適用することができる。
【００５８】
図９は、第１の実施形態によるログ集計サーバが実行する、ログ収集処理からレポート作成処理までの一連の処理を示すフローチャートである。図９に示す処理は、ログ集計サーバ１４０が起動して、ログ収集サービスを開始させたことに応答して、ステップＳ４００から開始される。ステップＳ４０１では、ログ集計サーバ１４０は、新たに取得ログを受信したか否かを判定する。ステップＳ４０１で、新たなログを受信していないと判定された場合（ＮＯ）は、ステップＳ４０１をループさせ、新たな取得ログを受信するまで待ち受ける。
【００５９】
一方、ステップＳ４０１で、新規にログを受信したと判定された場合（ＹＥＳ）には、ステップＳ４０２へ処理を進める。ステップＳ４０２では、ログ集計サーバ１４０は、ログ収集処理部１４２により、受信した取得ログを記憶装置上に格納する。ステップＳ４０３では、ログ集計サーバ１４０は、ログ集計処理部１４４により、格納された取得ログを読み出し、集計処理を実行する。集計処理については、詳細を後述する。ステップＳ４０４では、ログ集計サーバ１４０は、ログ集計処理部１４４により、ログ集計処理の結果として得られたログ集計結果を、インストールエラー集計データ１４８として格納する。
【００６０】
ステップＳ４０５では、ログ集計結果閲覧部１４６は、インストールエラー集計データ１４８を参照して、テキスト形式およびグラフ形式または何れか一方の形式のエラー・レポートを作成し、管理者端末１１０など外部からダウンロード可能なように記憶装置上に格納する。ステップＳ４０６では、ログ集計サーバ１４０は、エラー・レポートのダウンロードリンク（ＵＲＬ）を含む電子メール、またはインスタント・メッセージなどの形式で、管理者の連絡先として予め登録されたアドレスにメッセージを送信し、管理者への通知を行う。ステップＳ４０６で管理者への通知を行った後は、再びステップＳ４０１へループさせて、次にクライアントから取得ログを受信するまで待ち受ける。
【００６１】
システム管理者は、上述したように、取得ログから作成されたレポートを参照することにより、配布したインストーラ・パッケージ２００によるインストール処理時のエラーの発生動向を把握することができる。例えば、Ｗｉｎｄｏｗｓ（登録商標）ＸＰでは全て成功しているのにもかかわらず、Ｗｉｎｄｏｗｓ（登録商標）７では全てエラーというのであれば、管理者は、Ｗｉｎｄｏｗｓ（登録商標）７に非対応のバージョンのドライバがパッケージ内に同梱されている可能性を認識することができる。このような場合、管理者は、パッケージミスやインストーラの不具合を再検証することになるであろう。また、インストール実行、エラー発生、成功などのイベントの回数を計数することにより、発生するイベントを定量的に把握することができる。
【００６２】
以下、上記ログ集計処理部１４４によるログ集計処理における各イベントの計数処理について、図１０および図１１を参照しながら説明する。インストールがエラーにより失敗すると、エンドユーザは、同一のクライアント上でインストール実行を繰り返す場合がある。このような場合、そのままインストール回数を計数してしまうと、管理者の意図した集計結果が得られない可能性がある。このような場合は、何度もリトライしてインストールが試みられた場合と、たった一度だけの失敗であきらめられた場合とを等しくカウントするために、これら繰り返し行われたインストール実行をまとめて１回と計数することが好ましい場合がある。
【００６３】
一方、物理的に同一のクライアント１６０上ではあるものの、デュアル・ブートや仮想マシンが稼働する場合など、物理的に同一なクライアント上で複数回インストールが行われる場合がある。また、アプリケーションによっては、ユーザ毎にインストールすることが求められ、同一クライアント上で複数回インストール処理が行われる場合がある。このように環境が相違するか、またはユーザが相違する場合のインストール処理は、まとめて１回ではなく、環境毎またはユーザ毎にそれぞれを１回として計数することが好ましい。
【００６４】
以下、コンピュータ、環境およびユーザを識別したインストール回数、成功回数およびエラー回数の計数処理について説明する。図１０は、コンピュータ、環境およびユーザを識別したイベントの計数処理を示すフローチャートである。図１０に示す処理は、各取得ログ毎にステップＳ５００から開始される。
【００６５】
ステップＳ５０１では、ログ集計処理部１４４は、新たに収集した取得ログ内のシステム情報に含まれるホスト名およびＭＡＣアドレスをキーとして用いて、既存の取得ログのレコードから、同一コンピュータであると認定できるものに該当するレコードを検索する。ここで、ホスト名およびＭＡＣアドレスを組み合わせて用いるのは、ネットワーク・インタフェース・カードが交換された場合でも識別できるようにするためである。説明する実施形態では、ホスト名およびＭＡＣアドレスを用いるが、他の実施形態では、同一コンピュータを識別することができる限り、ＵＵＩＤなど他のシステム情報の項目を使用してもよい。
【００６６】
また、システム仮想化環境において１つの物理マシン上に複数の仮想マシンを稼働させている場合、後述するＯＳの種類やインストール先のパスからは、仮想マシンを識別できない。このため、仮想マシンは、ホスト名およびＭＡＣアドレスから別個のコンピュータであると判定される。例えば、ＶＭＷａｒｅ（登録商標）では、各仮想マシンに独立したＭＡＣアドレスのネットワーク・アダプタが割り当てられるため、ＭＡＣアドレスから実行環境を識別できる。一方、ＶｉｒｔｕａｌＰＣ（登録商標）では、ゲストＯＳのＭＡＣアドレスがホストＯＳのものと同一のなるが、この場合でも、ホスト名から実行環境を識別できる。
【００６７】
ステップＳ５０２では、ログ集計処理部１４４は、ステップＳ５０１での検索の結果、既存の取得ログ中に一致するレコードがあるか否かを判定する。ステップＳ５０２で、一致するものが存在しないと判定された場合（ＮＯ）は、検索を終了し、ステップＳ５０９へ処理を分岐させる。この場合、同一コンピュータからのレコードが存在しないので、ステップＳ５０９では、ログ集計処理部１４４は、新規なデータであるとして取り扱って、インストール回数、成功回数およびエラー回数などを計数し、ステップＳ５１０で本処理を終了させる。
【００６８】
一方、ステップＳ５０２で、一致するものが存在すると判定された場合（ＹＥＳ）は、ステップＳ５０３へさらに処理を進める。ステップＳ５０３では、ログ集計処理部１４４は、さらに、新たな取得ログのシステム情報に含まれるＯＳの種類およびインストール先のパスをキーとして利用し、ステップＳ５０１で得られた既存の取得ログのレコード中から、同一環境であると認定できるものに該当するレコードを検索する。ここで、ＯＳの種類およびインストール先のパスを用いるのは、マルチブート環境に対応するためである。ＯＳの種類が異なれば、別環境であると判定することができ、ＯＳの種類が同一であっても、インストール先のパスが異なれば、別環境であると判定することができる。
【００６９】
ステップＳ５０４では、ログ集計処理部１４４は、ステップＳ５０３での検索の結果、さらに一致するものがあるか否かを判定する。ステップＳ５０４で、一致するものが存在しないと判定された場合（ＮＯ）は、ログ集計処理部１４４は、検索を終了し、ステップＳ５０９で、新規なデータであるとして取り扱い、ステップＳ５１０で本処理を終了させる。
【００７０】
一方、ステップＳ５０４で、一致するものが存在すると判定された場合（ＹＥＳ）は、ステップＳ５０５へ処理を進める。ステップＳ５０５では、ログ集計処理部１４４は、ユーザ毎にインストールがなされる等のためインストール環境を識別するためにユーザ判定を行う必要があるか否かを判定する。ステップＳ５０５で、ユーザ判定が必要であると判定された場合（ＹＥＳ）は、ステップＳ５０６へ処理を進める。ステップＳ５０６では、ログ集計処理部１４４は、さらに、新たな取得ログのシステム情報に含まれるユーザ名をキーとして利用し、ステップＳ５０３で得られた既存の取得ログのレコード中から、同一ユーザであると認定できるものに該当するレコードを検索する。
【００７１】
ステップＳ５０７で、ステップＳ５０６の検索の結果、一致するものが存在しないと判定された場合（ＮＯ）は、ログ集計処理部１４４は、検索を終了し、ステップＳ５０９で、新規なデータであるとして取り扱い、ステップＳ５１０で本処理を終了させる。これに対して、ステップＳ５０７で、一致するものが存在すると判定された場合（ＹＥＳ）は、ステップＳ５０８へ処理を進める。ステップＳ５０８では、ログ集計処理部１４４は、検索を終了し、既存データであるとして取り扱って、インストール回数、成功回数、エラー回数などを計数し、ステップＳ５１０で本処理を終了させる。
【００７２】
再びステップＳ５０５を参照すると、ステップＳ５０５で、ユーザ判定が不要であると判定された場合（ＮＯ）には、ユーザを識別する必要がないので、ステップＳ５０８へ直接処理を分岐させる。ステップＳ５０８では、ログ集計処理部１４４は、検索を終了し、既存データであるとして取り扱い、ステップＳ５１０で本処理を終了させる。例えば、全ユーザで共通に使用するドライバおよびアプリケーションの場合は、ユーザ判定が不要となる。
【００７３】
図１１は、第１の実施形態のインストールにおけるイベントの計数処理により作成されるインストール回数等を計数した結果を例示する。図１１に示す例では、ユーザＡは、ダウンロードを１回行い、インストールを５回実施し、そのうち３回でエラーが発生し、２回が成功していることが示されている。なお、ここにいう、インストール・カウンタのインストール回数、エラー回数、成功回数は、クライアントの実行環境を識別しないで計数された結果である。また、ダウンロード回数は、ここでは、予め管理者に与えられているものとして説明する。
【００７４】
一方、実行環境を識別して計数処理した環境別カウンタを参照すると、ユーザＡの環境別インストール回数は１回であり、上記５回のインストールは、全て同一実行環境にインストールしていたことが読み取れる。そして、環境別では、ユーザＡのエラー回数および成功回数はともに１回ずつとなる。
【００７５】
ここで、エラー回数および成功回数を環境別で、まるめている理由は、エラーが発生し、何度もインストールをリトライした場合と、１回の失敗で断念した場合の重みを等しくカウントするためである。繰り返しインストールした回数をそれぞれ１回としてカウントしてしまうと、１つの環境でしか発生していないエラーであるにもかかわらず、重みが増大し、過大評価となる。同じエラー回数が５回であっても、同一環境で５回エラーが発生したことよりも、５つの異なる環境で１回づつエラーが発生したことの方が優先して対処すべきであると考えられるからである。
【００７６】
さらに図１１を参照すると、ユーザＢは、ダウンロード回数が３回となっているが、インストールが１回のみである。この事例では、ダウンロードが途中で失敗したか、サーバ接続されていないなど管理範囲から外れたクライアントにインストールされた可能性がある。管理者は、図１１に示すような集計データを用いることにより、クライアント管理が不充分であることを認識することができ、または不正利用が疑われる挙動を認識することができる。
【００７７】
さらに図１１を参照すると、ユーザＣは、ダウンロード回数が１回であり、インストールが５回行われているが、全てエラーとなっている。環境別カウンタを参照してみても、５つの異なる環境にインストールが行われ、その全てでエラーとなっている。この場合、管理者は、図１１に示す結果から、重大な問題が発生している可能性を認識することができ、配布パッケージ自体のミスを調査するなど迅速に対策を実施することができる。
【００７８】
図１２は、上記計数処理で識別されるクライアント実行環境を例示する。上述までの計数処理によれば、図１２に示す（Ａ）および（Ｂ）で示される、コンピュータが異なるクライアント実行環境を分けて識別することができる。さらに、上述までの計数処理によれば、同一コンピュータ（ＮＩＣも同一）上のＯＳの種類が異なるクライアント実行環境も分けて識別でき（（Ｂ），（Ｃ））る。上述までの計数処理によれば、同一コンピュータかつ同一ＯＳで、インストール先パスが異なるクライアント実行環境を分けて識別することができる（（Ｃ），（Ｄ））。上述までの計数処理によれば、さらに同一コンピュータ、同一ＯＳかつ同一インストール先パスで、異なるユーザによるクライアント実行環境を分けて識別することもできる（（Ｄ），（Ｅ））。
【００７９】
以上説明したように、上述までの第１の実施形態によれば、パッケージャ１１２により作成されたインストーラ・パッケージ２００を用いたインストール処理における、インストールログの集計結果を表すレポートをシステム管理者に提供することができる。また、上記実施形態によれば、クライアント実行環境を識別するための情報を含めてログ収集が行われ、実行環境を識別して集計することができる。このため、管理者は、エラーの重要度が正しく反映されたレポートから、全体のうちの何人がエラーに遭遇したか、複数環境のうちどの環境でエラーが発生したか、といったエラー発生動向を把握することができる。ひいては、以後の対策、例えば次回のパッケージ配布に必要な工数の見積もりを効率的に行うことができるようになる。
【００８０】
以下、図１３〜図１７を参照して、第２の実施形態によるパッケージ配布からログ集計までの処理ついて説明する。なお、以下に説明する第２の実施形態は、図１〜図１２を参照して説明した第１の実施形態と同様の機能を備える部分もあるので、以下、相違点を中心に説明する。
【００８１】
図１３は、第２の実施形態によるパッケージ配布ログ集計サーバおよびクライアント上で実現される機能ブロックを示す図である。図１４は、第２の実施形態によるインストーラ・パッケージ２５０の詳細な機能ブロックを示す図である。
【００８２】
図１３は、パッケージ配布ログ集計サーバ１７０（以下、配布集計サーバと参照する。）と、クライアント１６０上で動作するインストーラ・パッケージ２５０とを示す。第２の実施形態による配布集計サーバ１７０は、概ね第１の実施形態におけるパッケージ配布サーバ１３０およびログ集計サーバ１４０の機能を統合したサーバとして構成される。配布集計サーバ１７０は、第１の実施形態と同様に、ログ収集設定出力部１７２と、パッケージ配布処理部１７４と、ログ収集処理部１７６と、ログ集計処理部１７８と、ログ集計結果閲覧部１８０と、インストールエラー集計データ１８２とを含む。第２の実施形態の配布集計サーバ１７０は、さらに、認証情報生成部１８４と、通知部１９０とを含んで構成される。
【００８３】
図１４を参照すると、インストーラ・パッケージ２５０では、概ね第１の実施形態のインストーラ・パッケージ２５０と同様に、インストール制御プログラム２５２は、収集設定読込部２６２と、ログ送信部２６４と、ログ取得部２６６とを含む。第２の実施形態によるインストール制御プログラム２５２は、さらに、送信画面表示部２７０と、アンインストール部２７２とを含み構成される。
【００８４】
図１３に示すログ収集設定出力部１７２は、第１の実施形態と同様に、インストーラ・パッケージ２５０にログ収集設定情報２６０を出力する機能部である。パッケージ配布処理部１７４は、図４に示したものと同様に、インストーラ・パッケージ２５０をダウンロード可能に記憶装置に格納し、クライアント１６０からの求めに応じて配布する機能を有する。また第２の実施形態では、パッケージ配布処理部１７４は、ダウンロード回数を計数するため、ログ集計処理部１７８にダウンロード・ログを渡す機能をさらに備える。
【００８５】
ログ集計処理部１７８は、第１の実施形態と同様に、インストーラ・パッケージ２５０が動作する各クライアント１６０から送信された取得ログを受信し、収集された取得ログを集計処理し、集計結果をインストールエラー集計データ１８２として格納する機能を有する。
【００８６】
第２の実施形態によるログ集計処理部１７８は、より詳細には、ダウンロード計数部１８６と、インストール計数部１８８とを含んで構成される。ダウンロード計数部１８６は、上記集計処理の一部として、パッケージ配布処理部１７４から渡されたダウンロード・ログを集計し、ダウンロード回数を計数する処理を担う機能部である。ログ収集処理部１７６が、パッケージ配布処理部１７４からダウンロード・ログを取得し、ダウンロード数を計数することにより、配布集計サーバ１７０内で図１１に示したダウンロードカウンタを計数することが可能となる。
【００８７】
インストール計数部１８８は、上記集計処理の一部として、上述したクライアント実行環境を識別したインストール回数、エラー数および成功数を計数する処理を担う機能部である。また、第２の実施形態では、インストーラ・パッケージ２５０がダウンロードされた数をカウントできるので、ダウンロードされたもののうちのインストール実行回数、成功回数およびエラー回数の各比率を計算することもできる。これにより、システム管理者は、全員がインストーラ・パッケージをダウンロードし、セットアップを終了させているか、どの程度のユーザが完了させていないかを把握することが可能となる。また、エラーが出始めたことを認識し、今後のエラーの発生動向の推移を予測し、サポートに連絡するなど対策を決定することもできる。
【００８８】
ログ集計結果閲覧部１８０は、第１の実施形態と同様に、インストールエラー集計データ１８２を参照してレポートを作成し、外部から閲覧可能なように格納する機能部である。第２の実施形態によるインストールエラー集計データ１８２は、インストールログの集計結果に加えて、ダウンロード・ログの集計結果も含んでいる。
【００８９】
認証情報生成部１８４は、配布時（つまりダウンロード時）に、認証パスワードを生成し、ダウンロード・パッケージ内に埋め込むとともに、クライアントを認証するための認証情報をサーバ登録する処理を行う機能部である。認証パスワードは、例えば、ログインしているユーザのユーザ名、日付などを元に疑似乱数等により生成される。
【００９０】
通知部１９０は、ログ集計処理部１７８による集計結果に応答して、予め設定された通知条件が満たされた場合に、管理者または開発元などの登録された連絡先に、通知条件が満たされた旨を通知する機能部である。通知条件は、予め管理者に設定された条件を用いることができる。例えば、管理者は、エラーのたびに毎回通知を受けることができ、または、あるインストーラ・パッケージ２５０についてエラーが所定回数以上発生した場合に、通知を受けることができる。さらに、ダウンロード数からインストール数が予測できる場合は、エラー回数に代えて、エラー発生率に対して閾値を設定してもよい。
【００９１】
図１４を参照すると、インストーラ・パッケージ２５０は、送信画面表示部２７０と、アンインストール部２７２とを含み構成される。第２の実施形態において、送信画面表示部２７０およびアンインストール部２７２は、ネットワーク環境のセキュリティ・ポリシー上の理由またはネットワーク要因から、ログ送信部２６４が自動的に取得ログを送信できない場合に使用される機能部である。
【００９２】
送信画面表示部２７０は、各インストーラ２５４，２５６の処理が完了した後、インストールログを送信する指示を受け付けるログ送信画面をクライアント１６０のディスプレイ・デバイス上に表示する機能部である。アンインストール部２７２は、上記ログ送信画面を用いたログ送信を完了させずにインストール処理が中断された場合に、インストーラ２５４，２５６各々を再度呼び出して各々のソフトウェアをアンインストールし、ソフトウェア導入前の状態に戻す機能部である。
【００９３】
インストール制御プログラム２５２は、一括インストール処理が終了した後、ログ送信部２６４により取得ログを自動的に送信することができない場合に、送信画面表示部２７０を呼び出し、図１５および図１６に示すようなログ送信画面を表示させる。
【００９４】
図１５（Ａ）は、インストールに成功した場合に表示されるログ送信画面を例示する図である。図１５（Ｂ）は、インストールに失敗した場合に表示されるログ送信画面を例示する図である。図１５に示すログ送信画面においては、インストールログのテキストボックスには、インストーラ２５４，２５６が出力した各インストールログおよびインストール制御プログラム２５２が出力した全体ログの内容が、予め入力された状態となっている。
【００９５】
インストーラ・パッケージ２５０は、通常、複数のインストーラの集合体であり、インストールログは、インストーラ毎に出力されることが一般的である。そこで、第２の実施形態では、全体ログの内容が予め入力された状態のログ送信画面を表示させるために、パッケージ制御情報２５８には、図１７（Ａ）〜（Ｃ）に例示するような、出力ログを規定する出力ログ設定情報が組み込まれている。
【００９６】
図１７における、「LOG_TYPE」の項目は、ログ収集方法のタイプを指定する値が入力され、「FOLDER」の値は、インストールログが指定フォルダ下の全てから構成されることを指定する値である。「SINGLE_FILE」の値は、インストールログが指定フォルダ内の１個のファイルから構成されることを指定する値である。「MULTIPLE_FILE」は、インストールログが指定フォルダ内の複数個のファイルから構成されることを指定する値である。
【００９７】
図１７における「LOG_PATH」の項目は、ログが出力されるパスが入力される項目である。ログ出力パスは、特定のパス（c:\tmp）で指定することができ、「WIN_TEMP」や「USER_LOCAL_TEMP」など所定のフォルダを指すキーワードで指定することもできる。「FILE_NAME」の項目は、ログファイルの命名規則が入力される項目である。ログファイルは、特定のログファイル名（例えばABC.logなど）で指定することができ、ワイルドカードや正規表現（例えばABC*.logなど）を用いて指定することができる。
【００９８】
送信画面表示部２７０は、上記パッケージ制御情報２５８内の出力ログ設定情報を参照して、出力ログ設定情報で特定されるログファイルを取得し、予めインストールログが入力されたログ送信画面を作成する。なお、他に必須の入力事項が有る場合には、クライアント１６０の操作者に手動入力させてもよい。また、エンドユーザの手間を省く観点からは、初期からログ情報が入力された状態とすることが望ましいが、ファイル指定用のフォームを利用して、例えばインストールログの一部の指定をエンドユーザに手動指定させることができる。手動でログファイルを指定できるようにすることで、ログが特定できない場合や、インストーラで出力されないシステム情報や、他のツールで採取したような情報も収集可能にすることができる。
【００９９】
また、ログ送信の利用態様を考慮すると、クライアント１６０および配布集計サーバ１７０が会社をまたがって配置され、クライアント１６０から社外へ全ログ情報を送信することがセキュリティ・ポリシー上好ましくないという場合もある。図１６（Ａ）および（Ｂ）は、上述のような場合に用いることができるログ送信画面の他の例を示す図である。図１６（Ａ）に示す他の例のログ送信画面では、送信するログの内容を選択可能なＵＩ部品（チェックボックス）が表示されている。
【０１００】
図１６（Ａ）に示すログ送信画面を表示させることで、インストーラ・パッケージ２５０を使用するエンドユーザ側で送信内容について選択可能とするとともに、必要最低限のログ情報を送信させることが可能となる。他の実施形態では、クライアント１６０側と配布集計サーバ１７０側との間で、予めログ送信する項目の取り決めができる場合は、エンドユーザが自由に選択できないようにして、必要なログ情報を送信させることもできる。この場合は、パッケージ制御情報２５８内にログ送信可能な項目を定義すればよい。
【０１０１】
さらに、インストーラ・パッケージ２５０は、上述したように１以上のインストーラからの集合体となるが、パッケージのインストール処理が複数ステップから構成される場合もある。図１６（Ｂ）に示すログ送信画面のように、ステップ毎にエラーログを送信するかを選択できるようにしてもよい。例えば、失敗したインストールのステップに関するエラーのみを報告することにより、ネットワーク・トラフィックを軽減することができる。
【０１０２】
図１５および図１６に示すようなログ送信画面において、ログ情報や他の必要事項が入力された状態で、「結果を送信して完了」のボタンがクリックされると、図１８に示すようなログ送信認証画面を経て、ログ送信が行われる。この場合、インストール制御プログラム２５２は、テキストボックス内の内容に、適宜情報を付加して、取得ログを作成し、配布集計サーバ１７０に送信し、一括インストール処理を成功裡に完了させる。
【０１０３】
一方、「処理中断」ボタンがクリックされたり、テキストボックスおよびファイル指定フォームが空白のまま「結果を送信して完了」したりして、上記送信画面を用いたログ送信を正しく完了させずにインストール処理が中断された場合は、インストール制御プログラム２５２は、アンインストール部２７２を呼び出してソフトウェア導入前の状態に戻す。これにより、エンドユーザに対し、インストールログの送信を徹底させることができる。
【０１０４】
なお、上述した第２の実施形態では、ログ送信画面を用いたログ送信が正しく完了できない場合にアンインストールを行うものとして説明した。他の実施形態では、アンインストール部２７２は、配信時とログ収集時とで認証情報が不整合となった場合に、ログ送信を含めたインストール処理が完了できないとして、アンインストール部２７２を呼び出し、ソフトウェア導入前の状態に戻すこともできる。
【０１０５】
ログ送信時に認証エラーとなった場合に、パッケージ内のインストーラ２５４，２５６にアンインストールさせる制御により、インストール期限を設定するなどのセキュリティ・ポリシーを適用することができる。例えば、一定期間毎に認証パスワードを変更することにより、配布時とログ収集時の認証情報の不整合から、不正行為の可能性を管理者に認識させることができる。これにより、インストールエラーの効率的な収集に加えて、インストーラ・パッケージを用いた一括インストールにおけるセキュリティを向上させることができる。また、エンドユーザに対し、所定期間内にインストールさせることを促す効用もある。
【０１０６】
また、上述した第２の実施形態では、ログ送信画面をウィンドウ表示させるものとして説明した。しかしながら、これに限定されるものではなく、他の実施形態では、既定のブラウザを呼び出して、インストールログを送信するための専用のウェブ・ページを表示する態様としてもよい。
【０１０７】
再び図１３および図１４を参照すると、さらに他の実施形態によるパッケージ配布からログ集計までの処理が示されている。以下説明する実施形態では、配布集計サーバ１７０は、さらに、ライセンス発行部１９２とを含み、配布集計サーバ１７０は、ソフトウェアのライセンスを管理する機能を備えている。
【０１０８】
ライセンス発行部１９２は、各インストーラによるインストール処理が完了した後、ライセンスコードをクライアントに発行する手続きを行う機能部である。ライセンスコードは、導入したソフトウェアを有効化するコードである。本実施形態では、インストール制御プログラム２５２は、配布集計サーバ１７０に取得ログを送信する際に、取得ログを含めたライセンスコード取得依頼を送信する。ライセンス発行部１９２は、ライセンスコード取得を依頼してきたクライアント１６０に対し、ライセンス認証情報を用いて認証し、ライセンスコードを発行することを許可するか否かを判定する。ライセンス発行部１９２は、許可される場合は、クライアント１６０に対し、ライセンスコード取得を依頼への応答として、ライセンスコードを送信する。
【０１０９】
本実施形態のインストール制御プログラム２５２は、上記ライセンスコードを取得できたときは、導入したソフトウェアにライセンスコードを設定する。一方、上記ライセンスコードを取得できなかったときは、インストール制御プログラム２５２は、アンインストール部２７２を呼び出し、各々のソフトウェアをアンインストールし、ソフトウェア導入前の状態に戻すことができる。
【０１１０】
上記ライセンスコードの取得依頼およびライセンスコード送信は、如何なるプロトコルで配信してもよいが、簡便には、電子メールを介して行うことができる。電子メールは、その本文または添付ファイルとして、所定フォーマットに従って記述された取得ログおよびライセンス認証情報を含む。ライセンス認証情報の電子メールが所定のアドレスに送信されると、配布集計サーバ１７０は、当該電子メールを受信し、上記フォーマットに従い解析し、ライセンス認証情報および取得ログを抽出する。配布集計サーバ１７０は、ライセンス発行の条件を満たされる場合に、当該電子メールの返信先に、１以上のインストーラにより導入されたソフトウェアの少なくとも１つを有効化するためのライセンスコードを含む電子メールを送信するメール送信手段を備えることができる。
【０１１１】
上述構成により、ログ集計サーバに自動接続できなく、さらにエンドユーザにログ送信画面を用いた手動操作を求めなくても、ライセンス取得手続きに付随して、取得ログを送信することができる。
【０１１２】
以上説明したように、上述までの実施形態によれば、配布先クライアントでインストーラ・パッケージを用いた各ソフトウェアのインストール処理時に発生するエラー等を記述したログを効率的に収集し、配布先クライアントの実行環境を識別しながら集計することができるログ集計装置を、コンピュータ上に実現するためのログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラムを提供することができる。
【０１１３】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【０１１４】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１１５】
１００…ネットワーク環境、１０２…ネットワーク、１０４…複合機、１０６…レーザプリンタ、１１０…管理者端末、１１２…パッケージャ、１１４…インストール制御プログラム、１１６，２５４…プリンタドライバ・インストーラ、１１８，２５６…ポートモニタ・インストーラ、１２０…設定情報、１２２…パッケージ制御情報、１２４…ログ収集設定情報、１３０…パッケージ配布サーバ、１３２，１７４…パッケージ配布処理部、１３４，１７２…ログ収集設定出力部、１４０…ログ集計サーバ、１４２、１７６…ログ収集処理部、１４４，１７８…ログ集計処理部、１４６，１８０…ログ集計結果閲覧部、１４８，１８２…インストールエラー集計データ、１５０…パッケージ配布ログ集計サーバ、１６０…クライアント、１６２…全体ログ、１６４，１６６…インストールログ、１６８…取得ログ、１７０…配布集計サーバ、１８４…認証情報生成部、１８６…ダウンロード計数部、１８８…インストール計数部、１９０…通知部、１９２…ライセンス発行部、２００，２５０…インストーラ・パッケージ、２０２，２５２…インストール制御プログラム、２０４…プリンタドライバ・インストーラ、２０６…ポートモニタ・インストーラ、２０８，２５８…パッケージ制御情報、２１０，２６０…ログ収集設定情報、２１２，２６２…収集設定読込部、２１４，２６４…ログ送信部、２１６，２６６…ログ取得部、２７０…送信画面表示部、２７２…アンインストール部
【先行技術文献】
【特許文献】
【０１１６】
【特許文献１】特許第４５３７６７０号公報
【特許文献２】特許第４３７５７７８号公報
【特許文献３】特開２００６−３５０８９６号公報
【特許文献４】特開２００４−１８５０８４号公報
【特許文献５】特開２０１０−０４９３６３号公報
【図１】
2013020354.tif 000003
【図２】
2013020354.tif 000004
【図３】
2013020354.tif 000005
【図４】
2013020354.tif 000006
【図５】
2013020354.tif 000007
【図６】
2013020354.tif 000008
【図７】
2013020354.tif 000009
【図８】
2013020354.tif 000010
【図９】
2013020354.tif 000011
【図１０】
2013020354.tif 000012
【図１１】
2013020354.tif 000013
【図１２】
2013020354.tif 000014
【図１３】
2013020354.tif 000015
【図１４】
2013020354.tif 000016
【図１５】
2013020354.tif 000017
【図１６】
2013020354.tif 000018
【図１７】
2013020354.tif 000019
【図１８】
2013020354.tif 000020