(57)【要約】【課題】印刷ログによる解析内容を拡充するとともに、クライアント装置のプログラムのバージョンアップを容易且つ適切に行うことのできる技術を提供する。【解決手段】クライアント装置２は、印刷ジョブに関する情報と、プログラムのバージョン情報とを含むログを生成するログ生成部２５と、ログを送信するログ送信部２６と、プログラムと、スクリプトとを受信するＨｔｔｐレスポンス処理部２７と、スクリプトに従ってインストールするインストーラ処理部２８とを有し、管理サーバ３は、ログ中のプログラムのバージョン情報と、最適なバージョン情報とに基づいて、最適なバージョンであるか否かを判定するバージョン情報照合・送信部３４と、最適なバージョンでない場合に、最適なバーションのプログラムと、スクリプトとを送信するツール配布要求処理部３５とを有するように構成する。【選択図】図１
2009205320.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに対して印刷ジョブのデータを送信するクライアント装置と、前記クライアント装置により実行される印刷ジョブに関するログ情報を管理する管理サーバとを有する印刷システムであって、
前記クライアント装置は、
前記プリンタに対する印刷ジョブのデータを生成する印刷ジョブデータ生成手段と、
前記印刷ジョブに関する情報と、前記クライアント装置で実行されている少なくとも１つのプログラムのバージョン情報とを含むログ情報を生成するログ情報生成手段と、
前記ログ情報を前記管理サーバに送信するログ情報送信手段と、
前記管理サーバから、インストールする対象のプログラムと、前記プログラムをインストールする際の設定情報とを受信する受信手段と、
前記設定情報に従って前記プログラムのインストールを実行するインストール実行手段と
を有し、
前記管理サーバは、
前記ログ情報を受信するログ受信手段と、
前記ログ情報を格納するログ記憶手段と、
前記プログラムについての最適なバージョン情報を記憶する最適情報記憶手段と、
前記ログ情報中の前記プログラムの前記バージョン情報と、前記最適情報記憶手段に記憶されている前記プログラムについての最適なバージョン情報とに基づいて、前記クライアント装置で実行されている前記プログラムが前記最適なバージョンであるか否かを判定する判定手段と、
前記プログラムが前記最適なバージョンでない場合に、前記クライアント装置に最適なバーションのプログラムと、前記プログラムをインストールする際の設定情報とを送信するプログラム送信手段と、
を有する印刷システム。
【請求項２】
前記最適なバージョン情報は、前記プログラムの最新のバージョン情報である
請求項１に記載の印刷システム。
【請求項３】
前記印刷ジョブデータ生成手段は、プリンタドライバプログラムを実行することにより構成され、
前記ログ情報生成手段は、エージェントプログラムを実行することにより構成され、
前記ログ情報は、前記プリンタドライバプログラム又は前記エージェントプログラムの少なくとも一方のバージョン情報を含む
請求項１又は請求項２に記載の印刷システム。
【請求項４】
前記クライアント装置は、
前記生成された前記印刷ジョブのデータを一時的に格納するスプーラを有し、
前記ログ情報生成手段は、前記スプーラ内に新たな印刷ジョブのデータが格納されているか否かを逐次確認し、格納されている場合に前記ログ情報を生成する
請求項１乃至請求項３のいずれか一項に記載の印刷システム。
【請求項５】
前記管理サーバは、
前記ログ情報に基づいて前記設定情報を決定する設定情報決定手段を更に有する
請求項１乃至請求項４のいずれか一項に記載の印刷システム。
【請求項６】
前記印刷ジョブデータ生成手段は、プリンタドライバプログラムを実行することにより構成され、
前記ログ情報は、前記クライアント装置における印刷ポートと、前記プリンタドライバプログラムのバージョン情報とを含み、
前記設定情報決定手段は、前記ログ情報中の前記印刷ポートを設定情報として決定する
請求項５に記載の印刷システム。
【請求項７】
前記管理サーバは、
前記プログラムが前記最適なバージョンであるか否かを示す判定結果を送信する判定結果送信手段を更に備え、
前記クライアント装置は、
前記判定結果が、前記プログラムが前記最適なバージョンでないことを示している場合に、最適なバージョンのプログラムを送信する要求を送信する要求送信手段を更に備え、
前記管理サーバの前記プログラム送信手段は、前記クライアント装置から最適なバージョンのプログラムの要求を受け付けた場合に、前記クライアント装置に最適なバーションのプログラムと、前記プログラムをインストールする際の設定情報とを送信する
請求項１乃至請求項６のいずれか一項に記載の印刷システム。
【請求項８】
プリンタに対して印刷ジョブのデータを送信するクライアント装置と、前記クライアントにより実行される印刷ジョブに関するログ情報を管理する管理サーバとを有する印刷システムによる、プログラム更新方法であって、
前記クライアント装置の印刷ジョブデータ生成手段が、前記プリンタに対する印刷ジョブのデータを生成する印刷ジョブデータ生成ステップと、
前記クライアント装置のログ情報送信手段が、前記印刷ジョブに関する情報と、前記クライアント装置で実行されている少なくとも１つのプログラムのバージョン情報とを含むログ情報を生成するログ情報生成ステップと、
前記クライアント装置のログ情報送信手段が、前記ログ情報を前記管理サーバに送信するログ情報送信ステップと、
前記管理サーバのログ受信手段が前記ログ情報を受信するログ受信ステップと、
前記管理サーバのログ記憶手段が前記ログ情報を格納するログ記憶ステップと、
前記管理サーバの判定手段が、前記ログ情報中の前記プログラムの前記バージョン情報と、最適情報記憶手段に記憶されている前記プログラムについての最適なバージョン情報とに基づいて、前記クライアント装置で実行されている前記プログラムが前記最適なバージョンであるか否かを判定する判定ステップと、
前記管理サーバのプログラム送信手段が、前記プログラムが前記最適なバージョンでない場合に、前記クライアント装置に最適なバーションのプログラムと、前記プログラムをインストールする際の設定情報とを送信するプログラム送信ステップと、
前記クライアント装置の受信手段が、前記管理サーバから、インストールする対象のプログラムと、前記プログラムをインストールする際の設定情報とを受信する受信ステップと、
前記クライアント装置のインストール実行手段が、設定情報に従って前記プログラムのインストールを実行するインストール実行ステップと
を有するプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに対して印刷ジョブのデータを送信するクライアント装置と、クライアントにより実行される印刷ジョブに関するログ情報を管理する管理サーバとを有する印刷システム等に関し、特に、クライアント装置のプログラムを更新する技術に関する。
【背景技術】
【０００２】
従来、複数のクライアント装置とプリンタとが接続された印刷システムにおける印刷状態を確認できるようにするために、印刷ログを管理サーバに収集することが行われている。
【０００３】
印刷ログを収集する方法としては、例えば、各クライアント装置に印刷ログ情報収集エージェントを備えるようにし、印刷ログ情報収集エージェントにより、各クライアント装置における印刷ログを収集し、管理サーバに送信する方法が用いられていた。
【０００４】
また、クライアント装置から集められる情報だけでは印刷ログとして十分でない場合には、印刷を行うプリンタからも情報を収集する技術も知られている（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００２−２５９１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
クライアント装置において実行されているプログラム、例えば、プリンタドライバプログラムや、印刷ログ情報収集エージェントプログラムを、最適なバージョンのプログラムにしておくことが好ましいが、このようなプログラムのバージョンアップをクライアント装置の各ユーザに任せる場合には、ユーザに手間がかかってしまったり、或いは、バージョンアップが確実に行われなかったりする問題が発生する。一方、印刷システムの管理者が全てのクライアント装置のプログラムをバージョンアップする場合には、パージョンアップを確実に行うことができるが、多大な手間が掛かってしまう問題が発生する。
【０００７】
一方、印刷ログには、一般的には、印刷ジョブから得られる情報のみが含まれているので、印刷ログにより解析できる内容について限定されてしまうおそれがある。
【０００８】
本発明は、上記課題に鑑みなされたものであり、その目的は、印刷ログによる解析内容を拡充するとともに、クライアント装置のプログラムのバージョンアップを容易且つ適切に行うことのできる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的達成のため、本発明の一実施形態に係る印刷システムは、プリンタに対して印刷ジョブを送信するクライアント装置と、クライアント装置により実行される印刷ジョブに関するログ情報を管理する管理サーバとを有する印刷システムであって、クライアント装置は、プリンタに対する印刷ジョブのデータを生成する印刷ジョブデータ生成手段と、印刷ジョブに関する情報と、クライアント装置で実行されている少なくとも１つのプログラムのバージョン情報とを含むログ情報を生成するログ情報生成手段と、ログ情報を管理サーバに送信するログ情報送信手段と、管理サーバから、インストールする対象のプログラムと、プログラムをインストールする際の設定情報とを受信する受信手段と、設定情報に従ってプログラムのインストールを実行するインストール実行手段と
を有し、管理サーバは、ログ情報を受信するログ受信手段と、ログ情報を格納するログ記憶手段と、プログラムについての最適なバージョン情報を記憶する最適情報記憶手段と、ログ情報中のプログラムのバージョン情報と、最適情報記憶手段に記憶されているプログラムについての最適なバージョン情報とに基づいて、クライアント装置で実行されているプログラムが最適なバージョンであるか否かを判定する判定手段と、プログラムが最適なバージョンでない場合に、クライアント装置に最適なバーションのプログラムと、プログラムをインストールする際の設定情報とを送信するプログラム送信手段とを有する。
【００１０】
係る印刷システムによると、管理サーバには、ログ情報として、クライアント装置で実行されているプログラムのバージョン情報を容易に管理することができる。また、クライアント装置で実行されているプログラムを最適なバージョンに容易に更新することができる。また、ログ情報を用いて、印刷時に実行されているプログラムを把握することができ、印刷についての解析に有効に利用することができる。
【００１１】
また、上記印刷システムにおいて、最適なバージョン情報は、プログラムの最新のバージョン情報であってもよい。係る印刷システムによると、クライアント装置のプログラムを最新のバージョンのプログラムに容易に更新することができる。
【００１２】
また、上記印刷システムにおいて、印刷ジョブデータ生成手段は、プリンタドライバプログラムを実行することにより構成され、ログ情報生成手段は、エージェントプログラムを実行することにより構成され、ログ情報は、プリンタドライバプログラム又はエージェントプログラムの少なくとも一方のバージョン情報を含むようにしてもよい。係る印刷システムによると、プリンタドライブプログラム又はエージェントプログラムの少なくとも一方を最適なバージョンに容易に更新することができる。
【００１３】
また、上記印刷システムにおいて、クライアント装置は、生成された印刷ジョブを一時的に格納するスプーラを有し、ログ情報生成手段は、スプーラ内に新たな印刷ジョブのデータが格納されているか否かを逐次確認し、格納されている場合にログ情報を生成するようにしてもよい。係る印刷システムによると、印刷ジョブのデータがスプーラに格納された時に確実にログ情報を生成することができる。
【００１４】
また、上記印刷システムにおいて、管理サーバは、ログ情報に基づいて設定情報を決定する設定情報決定手段を更に有するようにしてもよい。係る印刷システムによると、ログ情報に格納されている情報を用いて、プログラムに関するクライアント装置の設定を行うことができ、クライアント装置側でのユーザの設定の必要をなくすことができる。
【００１５】
また、上記印刷システムにおいて、印刷ジョブデータ生成手段は、プリンタドライバプログラムを実行することにより構成され、ログ情報は、クライアント装置における印刷ポートと、プリンタドライバプログラムのバージョン情報とを含み、設定情報決定手段は、ログ情報中の印刷ポートを設定情報として決定するようにしてもよい。係る印刷システムによると、プリンタドライバプログラムによる印刷ポートを現在と同様に容易且つ適切に設定することができる。
【００１６】
また、上記印刷システムにおいて、管理サーバは、プログラムが最適なバージョンであるか否かを示す判定結果を送信する判定結果送信手段を更に備え、クライアント装置は、判定結果が、プログラムが最適なバージョンでないことを示している場合に、最適なバージョンのプログラムを送信する要求を送信する要求送信手段を更に備え、管理サーバのプログラム送信手段は、クライアント装置から最適なバージョンのプログラムの要求を受け付けた場合に、クライアント装置に最適なバーションのプログラムと、プログラムをインストールする際の設定情報とを送信するようにしてもよい。係る印刷システムによると、例えば、Ｈｔｔｐプロトコルのように、クライアント装置がリクエストを送信し、そのレスポンスを受け取るというようなプロトコルにおいて、適切にプログラムの更新を行うことができる。
【００１７】
また、上記目的達成のため、本発明の一実施形態に係るプログラム更新方法は、プリンタに対して印刷ジョブのデータを送信するクライアント装置と、クライアントにより実行される印刷ジョブに関するログ情報を管理する管理サーバとを有する印刷システムによる、プログラム更新方法であって、クライアント装置の印刷ジョブ生成手段が、プリンタに対する印刷ジョブのデータを生成する印刷ジョブ生成ステップと、クライアント装置のログ情報送信手段が、生成された印刷ジョブにデータの基づいて、印刷ジョブに関する情報と、クライアント装置で実行されている少なくともの１つのプログラムのバージョン情報とを含むログ情報を生成するログ情報生成ステップと、クライアント装置のログ情報送信手段が、ログ情報を管理サーバに送信するログ情報送信ステップと、管理サーバのログ受信手段がログ情報を受信するログ受信ステップと、管理サーバのログ記憶手段がログ情報を格納するログ記憶ステップと、管理サーバの判定手段が、ログ情報中のプログラムのバージョン情報と、最適情報記憶手段に記憶されている前記プログラムについての最適なバージョン情報とに基づいて、クライアント装置で実行されているプログラムが最適なバージョンであるか否かを判定する判定ステップと、管理サーバのプログラム送信手段が、プログラムが最適なバージョンでない場合に、クライアント装置に最適なバーションのプログラムと、プログラムをインストールする際の設定情報とを送信するプログラム送信ステップと、クライアント装置の受信手段が、管理サーバから、インストールする対象のプログラムと、プログラムをインストールする際の設定情報とを受信する受信ステップと、クライアント装置のインストール実行手段が、設定情報に従ってプログラムのインストールを実行するインストール実行ステップとを有する。
【００１８】
係るプログラム更新方法によると、管理サーバには、ログ情報として、クライアント装置で実行されているプログラムのバージョン情報を容易に管理することができる。また、クライアント装置で実行されているプログラムを最適なバージョンに容易に更新することができる。また、ログ情報を用いて、印刷時に実行されているプログラムを把握することができ、印刷についての解析に有効に利用することができる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
まず、本発明の一実施形態に係る印刷システムを説明する。
【００２１】
図１は、本発明の一実施形態に係る印刷システムの構成図である。
【００２２】
印刷システム１は、複数のクライアント装置２と、印刷ログを管理する管理サーバ３と、画像形成媒体に画像を形成する複数のプリンタ４とを有する。クライアント装置２、管理サーバ３、及びプリンタ４は、ネットワーク５を介して接続されている。
【００２３】
クライアント装置２は、本実施形態では、図示しないプロセッサ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を有する汎用コンピュータによって構成されている。クライアント装置２は、アプリケーション処理部２１と、スプーラ２２と、印刷ジョブデータ生成手段の一例としてのプリンタドライバ処理部２３と、ログ収集エージェント処理部２４と、インストール実行手段の一例としてのインストーラ処理部２８とを有する。
【００２４】
アプリケーション処理部２１は、プロセッサがＯＳ（Operating system）上でアプリケーションプログラムを実行することにより構成され、文書や画像の編集等を行い、図示しない入力装置により、ユーザの印刷指示を受け付けた場合には、編集した文書等の画像を印刷するための印刷指示をプリンタドライバ処理部２３に渡す。プリンタドライバ処理部２３は、プロセッサがＯＳ上でプリンタドライバプログラムを実行することにより構成され、アプリケーション処理部２１から受け取った印刷指示に基づいて、指定された画像を印刷させるための印刷ジョブのデータ（印刷ジョブデータ）を生成してスプーラ２２に格納する。スプーラ２２は、印刷ジョブデータを一時的に保存し、送信先のプリンタ４に印刷ジョブデータを送信する。
【００２５】
ログ収集エージェント処理部２４は、プロセッサがＯＳ上でエージェントプログラムを実行することにより構成され、ログ情報生成手段の一例としてのログ生成部２５と、ログ情報送信手段の一例としてのログ送信部２６と、要求送信手段及び受信手段の一例としてのＨｔｔｐレスポンス処理部２７とを有する。
【００２６】
ログ生成部２５は、スプーラ２２に新たな印刷ジョブデータが格納されたか否かを逐次（例えば、所定時間おきに）判定し、新しい印刷ジョブデータが格納されている場合に、印刷ジョブデータ等に基づいて印刷ログ（ログ情報）を生成する。
【００２７】
図２は、本発明の一実施形態に係る印刷ログの構成図である。
【００２８】
印刷ログ５０は、ＪｏｂＩＤフィールド５１と、ＳＩＤフィールド５２と、ユーザ名フィールド５３と、ホスト名フィールド５４と、プリンタ名フィールド５５と、ドキュメント名フィールド５６と、印刷開始時刻フィールド５７と、印刷枚数フィールド５８と、プリンタドライババージョンフィールド５９と、エージェントバージョンフィールド６０と、ポート名フィールド６１と、クライアントＯＳ名フィールド６２とを有する。
【００２９】
ＪｏｂＩＤフィールド５１には、ジョブＩＤが格納される。ログ生成部２５は、ジョブＩＤをスプーラ２２の印刷ジョブデータから取得する。ＳＩＤフィールド５２には、クライアント装置２とプリンタ４との間で一致を取るためのサブミッションＩＤ（ＳＩＤ）を格納する。ログ生成部２５は、サブミッションＩＤをスプーラ２２の印刷ジョブデータから取得する。ユーザ名フィールド５３には、クライアント装置２を利用しているユーザ名が格納される。ログ生成部２５は、ユーザ名をスプーラ２２の印刷ジョブデータから取得する。
【００３０】
ホスト名フィールド５４には、クライアント装置２の名称（ホスト名）が格納される。
ログ生成部２５は、ホスト名をスプーラ２２の印刷ジョブデータから取得する。プリンタ名フィールド５５には、印刷を行うプリンタの機種名（プリンタ名）が格納される。ログ生成部２５は、プリンタ名をスプーラ２２の印刷ジョブデータから取得する。ドキュメント名フィールド５６には、印刷対象のドキュメント名が格納される。なお、ドキュメント名には、当該ドキュメントを作成したアプリケーションを特定する情報が格納されている。ログ生成部２５は、ドキュメント名をスプーラ２２の印刷ジョブデータから取得する。
【００３１】
印刷開始時刻フィールド５７には、印刷開始時刻が格納される。ログ生成部２５は、印刷開始時刻をスプーラ２２の印刷ジョブデータから取得する。印刷枚数フィールド５８には、印刷枚数が格納される。ログ生成部２５は、印刷枚数をスプーラ２２の印刷ジョブデータから取得する。
【００３２】
プリンタドライババージョンフィールド５９には、プリンタドライバプログラムのバージョン情報が格納される。ログ生成部２５は、プリンタドライバプログラムのバージョン情報（例えば、プリンタドライバプログラムのコアファイルのタイムスタンプ）をプリンタドライバ実行部２３から取得する。エージェントバージョンフィールド６０には、エージェントプログラムのバージョン情報が格納される。ログ生成部２５は、自身を構成するエージェントプログラムのバージョン情報（例えば、エージェントプログラムのコアファイルのタイムスタンプ）を取得する。ポート名フィールド６１には、クライアント装置２の印刷ポート名（ポート名）が格納される。ログ生成部２５は、印刷ポート名をスプーラ２２の印刷ジョブデータから取得する。クライアントＯＳ名フィールド６２には、クライアント装置２のＯＳ名が格納される。ログ生成部２５は、ＯＳ名をＯＳから取得する。
【００３３】
図１の説明に戻り、ログ送信部２６は、ログ生成部２５により生成された印刷ログ５０を管理サーバ３に送信する。
【００３４】
Ｈｔｔｐレスポンス処理部２７は、管理サーバ３から少なくとも１つのプログラムのバージョン情報の判定結果を含む応答を受信し、バージョン情報の判定結果が最適でない旨を示している場合には、最適なバージョンのプログラムのダウンロード要求を管理サーバ３に送信する。本実施形態では、応答には、ログ収集エージェントプログラム及びプリンタドライバプログラムに関する判定結果や、ダウンロードすべきプログラムを特定する情報（例えば、プログラム名）、このプログラムのインストール時に設定する設定情報が含まれている。また、ダウンロード要求には、ダウンロードすべきプログラムを特定する情報（例えば、プログラム名）、このプログラムのインストール時に設定すべき設定情報が含まれている。
【００３５】
また、Ｈｔｔｐレスポンス処理部２７は、管理サーバ３からインストールすべきプログラムを含むツールを受信し、インストーラ処理部２８を起動する。本実施形態では、ツールには、インストールすべきプログラム、インストールするプログラムに関する設定情報等を含むスクリプト、スクリプトに従ってプログラムのインストールや設定を実行するインストールプログラム（インストーラ）が含まれており、Ｈｔｔｐレスポンス処理部２７は、インストーラを実行するためのプログラムを起動させることにより、インストーラ処理部２８を起動する。
【００３６】
インストーラ処理部２８は、管理サーバ３から受け取ったスクリプトを解釈してプログラムのインストールを実行する。スクリプトには、インストールするプログラム名及び設定情報の記述が含まれており、インストーラ処理部２８は、スクリプトに従って処理を実行することにより、記述されているプログラム名のプログラムをインストールすると共に、設定情報に基づいてプログラムに関する設定を行う。具体的には、インストーラ処理部２８は、例えば、プリンタドライバプログラムをインストールする場合には、スクリプトに従って、印刷ポートの設定等を行う。
【００３７】
管理サーバ３は、本実施形態では、図示しないプロセッサ、ＲＡＭ、ＲＯＭ、ＨＤＤ（ハードディスクドライブ）等を有する汎用コンピュータによって構成されている。管理サーバ３は、ログ受信手段の一例としての印刷ログ受信部３１と、ログ記憶手段の一例としての印刷ログ記憶部３２と、最適情報記憶手段の一例としての最適情報記憶部３３と、判定手段及び判定結果送信手段の一例としてのバージョン情報照合・送信部３４と、設定情報決定手段及びプログラム送信手段の一例としてのツール配布要求処理部３５と、ツール記憶部３６とを有する。
【００３８】
印刷ログ受信部３１は、クライアント装置２から送信される印刷ログを受信し、印刷ログ記憶部３２に格納する。印刷ログ記憶部３２は、例えば、ＨＤＤで構成される。最適情報記憶部３３は、例えば、ＨＤＤにより構成され、プログラムの最適なバージョン情報を記憶する。例えば、最適なバージョンとしては、プログラムの最新のバージョンである。本実施形態では、プリンタドライバプログラムは、クライアント装置２のＯＳ及び印刷するプリンタ４の機種に応じて異なるので、最適情報記憶部３３は、ＯＳ及び印刷するプリンタ４とそれに対する最適なバージョン情報とを対応付けて管理している。
【００３９】
バージョン情報照合・送信部３４は、印刷ログ記憶部３２に格納された印刷ログ中のプログラムのバージョン情報と、最適情報記憶部３３に格納されたこのプログラムに対応する最適なバージョン情報とに基づいて一致しているか否かを判定し、判定結果をクライアント装置２に送信する。本実施形態では、バージョン情報照合・送信部３４は、Ｈｔｔｐ（Hypertext Transfer Protocol）レスポンスに、判定結果、ダウンロードすべきプログラムを特定する情報（例えば、プログラム名）、インストール時に必要な設定情報（例えば、印刷ポート）等を含めて送信している。
【００４０】
ツール記憶部３６は、最適なバージョンのプログラムと、当該プログラムをインストールする際の設定情報等を含むスクリプトと、プログラムをスクリプトに従ってインストールするためのインストーラとを記憶する。本実施形態では、同一のプログラムに対するスクリプトとして、スクリプト中の設定情報が異なる複数のスクリプトが記憶されている。
【００４１】
ツール配布要求処理部３５は、例えば、ＣＧＩ（Common Gateway Interface）によって実現され、クライアント装置２からダウンロード要求を受信し、要求に対応するツールをクライアント装置２に送信する。ダウンロード要求には、ダウンロードすべきプログラムを特定する情報（例えば、プログラム名）、プログラムのインストール時に設定すべき設定情報が含まれている。本実施形態では、ツール配布要求処理部３５は、ダウンロード要求に含まれているプログラム名及び設定情報に対応するスクリプトをツール記憶部３６から選択して取得し、当該スクリプトと、対応するプログラムと、当該プログラムのインストールを実行するインストーラとを含むツールをクライアント装置２に送信する。
【００４２】
次に、本発明の一実施形態に係る印刷システムの処理について説明する。
【００４３】
図３は、本発明の一実施形態に係る印刷システムにおけるプログラム更新処理のフローチャートである。
【００４４】
まず、クライアント装置２側の処理について説明する。
【００４５】
クライアント装置２においては、ログ生成部２５が、スプーラ２２に印刷ジョブデータが格納されたか否かを判定し（ステップＳ１）、印刷ジョブデータが格納されていない場合には、所定時間毎にステップＳ１を繰り返し実行する。
【００４６】
一方、スプーラ２２に印刷ジョブデータが格納されたと判定した場合（ステップＳ１：ＹＥＳ）には、ログ生成部２５は、印刷ログ５０を生成し（ステップＳ２）、ログ送信部２６が、生成された印刷ログ５０を管理サーバ３に送信する（ステップＳ３）。
【００４７】
その後、Ｈｔｔｐレスポンス処理部２７が、管理サーバ３から判定結果を含むレスポンスデータを受信したか否かを判定し（ステップＳ４）、受信していないと判定した場合には、受信するまで待つ一方、受信したと判定した場合には、受信したレスポンスデータ中の次の処理対象（ステップＳ５以降の処理）となっていない１つのプログラムを処理対象として、バージョンの判定結果が一致か、又は不一致かを判定する（ステップＳ５）。
【００４８】
この結果、判定結果が不一致であると判定した場合には、Ｈｔｔｐレスポンス処理部２７は、ダウンロードすべきプログラムを特定する情報（例えば、プログラム名）と、プログラムのインストール時に設定すべき設定情報等を含むスクリプトと、を含むダウンロード要求を管理サーバ３に行う（ステップＳ６）。次いで、Ｈｔｔｐレスポンス処理部２７は、ダウンロード要求に対応するインストールすべきプログラムを含むツールのダウンロードが終了したか否かを判定し（ステップＳ７）、終了していない場合には、終了するまで待つ。一方、ダウンロードが終了した場合には、Ｈｔｔｐレスポンス処理部２７は、ダウンロードしたツールに含まれているインストーラを実行することにより、インストーラ処理部２８を起動し（ステップＳ８）、次のステップＳ９に進む。これにより、インストーラ処理部２８は、スクリプトに従ってプログラムのインストールを実行することとなる。
【００４９】
一方、判定結果が一致であると判定した場合には、何もせずにステップＳ９に進む。
【００５０】
ステップＳ９では、Ｈｔｔｐレスポンス処理部２７は、受信したレスポンスデータ中の全てのプログラムに対して判定結果の判定をしたか否かを判定する。
【００５１】
この結果、全てのプログラムに対して判定結果の判定をしていない場合（ステップＳ９：ＮＯ）には、上記ステップＳ５からの処理を更に実行する一方、全てのプログラムに対して判定した場合（ステップＳ９：ＹＥＳ）には、処理を終了する。
【００５２】
次に、管理サーバ３側の処理について説明する。
【００５３】
管理サーバ３では、印刷ログ受信部３１が、クライアント装置２から印刷ログ５０を受信したか否かを判定し（ステップＳ１１）、受信していない場合には、受信するまで待つ。一方、印刷ログ５０を受信した場合には、印刷ログ受信部３１は、印刷ログを印刷ログ記憶部３２に格納する。なお、印刷ログ５０は、上述したステップＳ３によりクライアント装置２から送信される。
【００５４】
次いで、バージョン情報照合・送信部３４が、印刷ログ記憶部３２に格納された印刷ログ中のプログラムのバージョン情報と、最適情報記憶部３３に格納されたこのプログラムに対応する最適なバージョン情報とが一致しているか否かを判定する（ステップＳ１２）。なお、１つの印刷ログ中にバージョン情報を判定する複数のプログラムがある場合には、各プログラムについて上記ステップを実行する。
【００５５】
次いで、バージョン情報照合・送信部３４は、判定結果と、ダウンロードすべきプログラムを特定する情報（例えば、プログラム名）と、インストール時に必要な設定情報（例えば、印刷ポート）とを含めたＨｔｔｐ（Hypertext Transfer Protocol）レスポンスデータを生成し（ステップＳ１３）、当該レスポンスデータをクライアント装置２に送信する（ステップＳ１４）。なお、このレスポンスデータが受信されるか否かを、上述したステップＳ４において確認がされる。
【００５６】
また、管理サーバ３では、ツール配布要求処理部３５が、クライアント装置２からダウンロード要求を受け付けたか否かを判定する（ステップＳ２１）。なお、ダウンロード要求は、上述したステップＳ６によりクライアント装置２から送信される。
【００５７】
この結果、ダウンロード要求を受け付けていない場合には、受け付けるまで待つ一方、ダウンロード要求を受け付けた場合（ステップＳ２１：ＹＥＳ）には、ツール配布要求処理部３５は、ダウンロード要求に含まれているプログラム名及び設定情報に対応するスクリプトをツール記憶部３６から選定し（ステップＳ２２）、当該スクリプトと、対応するプログラムと、当該プログラムのインストールを実行するインストーラとを含むツールをツール記憶部３６から取得して、クライアント装置２に送信（ダウンロード）する（ステップＳ２３）。なお、このダウンロードが終了するか否かが、上述したステップＳ７において確認がされる。
【００５８】
上記したように本実施形態によると、管理サーバ３に格納される印刷ログには、クライアント装置２で実行されているプログラムのバージョン情報が格納されることとなるので、例えば、プリンタ４での印刷エラーが発生した場合に、そのエラーの原因を解析する際に、印刷ログにより、実行されているプログラムのバージョン情報を把握することができ、プログラムのバージョンによる印刷エラーへの影響を解析することができる。また、複数のプログラムのバージョン情報が格納されているので、印刷エラーへの複数のプログラムのバージョンによる影響を解析することができる。
【００５９】
また、本実施形態によると、クライアント装置２で印刷を指示することにより、実行しているプログラムのバージョンが最適か否かを判定され、最適でない場合には、最適なバージョンのプログラムを自動的に（すなわち、ユーザが関与せずに）インストールすることができる。更に、プログラムに関する設定も自動的に行うことができ、ユーザが設定等することなくクライアント装置２に適切な設定を行うことができる。
【００６０】
また、本実施形態では、印刷を行う際に、出力することとなる印刷ログ中にプログラムのバージョン情報を格納するようにしているので、全く別のタイミングでプログラムのバージョン情報を送信するようにクライアント装置２を構成する必要がなく、処理負荷を比較的低減できるとともに、通信データ量を比較的低減することができる。
【００６１】
また、本実施形態では、クライアント装置２で実行されているプログラムについてのバージョン情報を用いてプログラムを更新するようにしているので、例えば、クライアント装置２にインストールされてはいるが実行されないようなプログラムについての無駄な更新がされることがない。
【００６２】
以上、本発明を実施形態に基づいて説明したが、本発明は上述した実施の形態に限られず、他の様々な態様に適用可能である。
【００６３】
例えば、上記実施形態では、最新のプログラムが最適である場合を例に示していたが、本発明はこれに限られず、例えば、条件（例えば、同時に実行される複数のプログラムの組み合わせ）によって最適なプログラムが必ずしも最新のものではない場合には、その条件と、最適なプログラムとの対応関係を最適情報記憶部３３に格納し、条件に関する情報をログ情報に含めるようにし、当該ログ情報に基づいて最適なプログラムのバージョンを決定し、ログ情報中のプログラムのバージョンとの比較を行うようにしてもよい。
【００６４】
また、上記実施形態では、管理サーバ３が、バージョン情報の判定結果をクライアント装置２に送信し、クライアント装置２がそれに応じてダウンロード要求を行うことにより、管理サーバ３がプログラム等をクライアント装置２にダウンロードさせるようにしていたが、本発明はこれに限られず、例えば、管理サーバ３が、最適なプログラムでないと判定した場合に、直ちにクライアント装置２に最適なプログラム等を送信するようにしてもよい。
【００６５】
また、上記実施形態では、管理サーバ３からインストーラについてもインストール対象のプログラムと共にクライアント装置２に送信するようにしていたが、本発明はこれに限られず、例えば、クライアント装置２にスクリプトを実行可能なインストーラを記憶させておき、このインストーラを実行することにより、スクリプトに従ってプログラムのインストールをするようにしてもよい。
【００６６】
また、上記実施形態では、管理サーバ３では、予め複数のスクリプトを用意して、その中からクライアント装置２に適切なスクリプトを選定するようにしていたが、本発明はこれに限られず、ツール配布要求処理部３５がダウンロード中の設定情報又は印刷ログに基づいて、動的にスクリプトを生成するようにしてもよい。
【００６７】
また、上記実施形態では、プリンタドライバプログラムと、エージェントプログラムとを最適なバージョンに更新するようにしていたが、本発明はこれに限られず、例えば、クライアント装置２のＯＳや、アプリケーションプログラム等の印刷に関わる他のプログラムの更新についても本発明を適用することができ、また、印刷時にクライアント装置で実行されている他のプログラムについての更新についても本発明を適用することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態に係る印刷システムの構成図である。
【図２】本発明の一実施形態に係る印刷ログの構成図である。
【図３】本発明の一実施形態に係るプログラム更新処理のフローチャートである。
【符号の説明】
【００６９】
１  印刷システム、２  クライアント装置、３  管理サーバ、４  プリンタ、２１  アプリケーション処理部、２２  スプーラ、２３  プリンタドライバ処理部、２４  ログ収集エージェント処理部、２５  ログ生成部、２６  ログ送信部、２７  Ｈｔｔｐレスポンス処理部、２８  インストーラ処理部、３１  印刷ログ受信部、３２  印刷ログ記憶部、３３  最適情報記憶部、３４  バージョン情報照合・送信部、３５  ツール配布要求処理部、３６  ツール記憶部。
【図１】
2009205320.tif 000003
【図２】
2009205320.tif 000004
【図３】
2009205320.tif 000005