(57)【特許請求の範囲】
【請求項１】
オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶手段と、
タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知手段と、
前記検知手段により、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止手段と、
前記検知手段により、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信手段とを有することを特徴とする管理装置。
【請求項２】
前記検知手段は、タスクに、ネットワーク機器に対してアプリケーションをインストールさせる設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記検知手段は、タスクで扱うオブジェクトに、使用許諾書のファイル及び署名情報の何れかの設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記検知手段は、タスクで扱うオブジェクトに、ユーザーによる改変検知を要する旨の設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項１乃至３の何れか１項に記載の管理装置。
【請求項５】
タスクに、ネットワーク機器に対して宛先表またはリソースファイルを送信する設定が行われている場合に、前記検知手段による変更の検知を行わないことを特徴とする請求項１または２に記載の管理装置。
【請求項６】
前記オブジェクトの情報は、前記オブジェクトのハッシュ値、前記オブジェクトに対応する使用許諾書のファイルのハッシュ値、及び前記オブジェクトのタイムスタンプの少なくとも何れかであることを特徴とする請求項１乃至５の何れか１項に記載の管理装置。
【請求項７】
前記タスクには、オブジェクト、ネットワーク機器、タスク実行の時間が設定され、
前記検知手段による検知は、前記タスクに設定されるタスク実行の時間に行われることを特徴とする請求項１乃至６の何れか１項に記載の管理装置。
【請求項８】
前記ネットワーク機器は、画像形成装置及びクライアントコンピューターの少なくとも何れかを含むことを特徴とする請求項１乃至７の何れか１項に記載の管理装置。
【請求項９】
さらに、作成されたタスクの実行状況を提供する提供手段を有することを特徴とする請求項１乃至８の何れか１項に記載の管理装置。
【請求項１０】
前記検知手段により変更が検知されるのは、オブジェクトの改ざん、破壊、及びバージョンアップによる更新の少なくとも何れかが行われた場合であることを特徴とする請求項１乃至９の何れか１項に記載の管理装置。
【請求項１１】
さらに、前記検知手段により変更が検知された際に、該変更がオブジェクトのバージョンアップによる更新によるものでなかった場合には前記中止手段によりタスクの実行を中止させ、該変更がオブジェクトのバージョンアップによる更新によるものであった場合には更新したオブジェクトを扱うタスクを新たに作成するための画面を表示するための制御手段を有することを特徴とする請求項１乃至９の何れか１項に記載の管理装置。
【請求項１２】
管理装置の制御方法であって、
オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶手段に記憶する記憶工程と、
タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知工程と、
前記検知工程において、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止工程と、
前記検知工程において、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信工程と、を有することを特徴とする制御方法。
【請求項１３】
請求項１乃至１１の何れか１項に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のネットワーク機器を管理するための技術に関する。
【背景技術】
【０００２】
従来、プリンターや複合機などのネットワーク機器を管理する管理装置には、夜間などの指定時刻に自動で管理業務（タスク）を実行する「タスク機能」を持つものがあった。これは、ユーザーが任意に選択したオブジェクトに関するタスクが実行されるもので、具体的には、ネットワーク機器にユーザーが選択したリソースデータ（オブジェクト）をダウンロードするタスクなどがあった（例として、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３２３３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
オブジェクトを用いたタスク機能においては、タスク登録時にオブジェクトを選択して、タスク実行時に登録時に指定されたオブジェクトの配信などの処理を行っていた。従来においては、最新のリソースデータをダウンロードさせるといった事を考慮し、タスク実行時に、登録時からオブジェクトに改変があったとしても、そのままタスクを実行していた。しかしながら、ネットワーク機器に対する一部の管理業務においては、タスク実行前にオブジェクトが改変されると、タスクの作成・登録時の管理者の意図に沿わないオブジェクトの処理（不正なデータの配信など）が行われてしまう可能性がある。
【課題を解決するための手段】
【０００５】
本発明におけるネットワーク機器を管理する管理装置は、オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶手段と、タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知手段と、前記検知手段により、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止手段と、前記検知手段により、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明により、タスク作成時にユーザーが意図した管理業務とは異なるタスク実行を防ぐことが可能になる。
【図面の簡単な説明】
【０００７】
【図１】システム構成およびハードウェア構成を示すブロック図である。
【図２】アプリケーション構成を示すブロック図である。
【図３】データベースサービス内のテーブル構成を示すブロック図である。
【図４】実施例１におけるアプリケーション登録処理のフローチャートである。
【図５】実施例１におけるタスク作成処理のフローチャートである。
【図６】実施例１におけるタスク実行処理のフローチャートである。
【図７】実施例１におけるリカバリータスクの画面例である。
【図８】実施例２におけるプリンタードライバー登録処理のフローチャートである。
【図９】実施例２におけるタスク作成処理のフローチャートである。
【図１０】実施例２におけるタスク作成画面例である。
【図１１】実施例２におけるタスク実行処理のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【０００９】
（実施例１）
本発明に係る管理装置の一実施形態としてのアプリケーションサーバーについて説明する。また被管理対象であるネットワーク機器の一例として、本実施例ではＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１５０を取り上げて説明する。なお、ネットワーク機器には、クライアントコンピューターやＭＦＰを含むプリンター、ＦＡＸなどの画像形成装置を含む。
【００１０】
図１は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのシステム構成およびハードウェア構成を説明するブロック図である。ネットワーク機器管理システムは、ネットワーク１７０により接続されるアプリケーションサーバー１００、クライアントコンピューター１２０およびＭＦＰ１５０より構成される。なお、アプリケーションサーバー１００およびクライアントコンピューター１２０は汎用コンピューターの構成を有する。クライアントコンピューター１２０のハードウェア構成についてはアプリケーションサーバー１００と同様のため、説明を省略する。
【００１１】
アプリケーションサーバー１００において、１０１はＣＰＵであり、ＲＯＭ１０３あるいは外部メモリ１１０に記憶されたアプリケーションプログラム等に基づいて処理を実行する。さらに、ＣＰＵ１０１はシステムバス１１１に接続される各デバイスを総括的に制御する。また、ＣＰＵ１０１は、ディスプレイ１０９上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。１０２はＲＡＭで、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。１０３はＲＯＭであり、基本Ｉ／Ｏプログラム等の記憶領域として機能する読み出し専用のメモリである。このＲＯＭ１０３あるいは外部メモリ１１０には、ＣＰＵ１０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶される。さらにＲＯＭ１０３あるいは外部メモリ１１０には上記アプリケーションプログラム等に基づく処理の際に使用するファイルやその他各種データを記憶する。１０４はネットワークＩ／Ｆであり、ネットワーク１７０へ接続しネットワーク通信を行う。１０５はキーボードＩ／Ｆで、キーボード１０８や不図示のポインティングデバイスからの入力を制御する。１０６はディスプレイＩ／Ｆで、ディスプレイ１０９の表示を制御する。１０７は外部メモリＩ／Ｆで、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１０とのアクセスを制御する。１１０は外部メモリであり、ブートプログラム、各種のアプリケーション、ユーザーファイル、編集ファイル等を記憶する。アプリケーションサーバー１００は、ＣＰＵ１０１がＲＯＭ１０３や外部メモリ１１０に書き込まれた基本Ｉ／ＯプログラムおよびＯＳを実行している状態で動作する。基本Ｉ／ＯプログラムはＲＯＭ１０３に書き込まれており、ＯＳはＲＯＭ１０３もしくは外部メモリ１１０に書き込まれている。そしてコンピューターの電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のイニシャルプログラムロード機能により、ＲＯＭ１０３もしくは外部メモリ１１０からＯＳがＲＡＭ１０２に書き込まれ、ＯＳの動作が開始される。１１１はシステムバスであり、各デバイスを接続する。
【００１２】
ＭＦＰ１５０において、１５１はネットワークＩ／Ｆであり、ネットワーク１７０へ接続しネットワーク通信を行う。１５２はＣＰＵであり、制御プログラム等に基づいてシステムバス１６３に接続されるプリンターＩ／Ｆ１５７を介してプリンター１５８に出力情報としての画像信号を出力する。なお、制御プログラムはＲＯＭ１５４や外部メモリ１６２等に記憶される。ＣＰＵ１５２はネットワークＩ／Ｆ１５１を介してコンピューターとの通信処理が可能となっており、ＭＦＰ１５０内の情報等をアプリケーションサーバー１００に通知可能に構成されている。さらにＣＰＵ１５２はＲＯＭ１５４あるいは外部メモリ１６２に記憶されたアプリケーションプログラム等に基づいて処理を実行する。１５３はＲＡＭであり、ＣＰＵ１５２の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１５３は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。１５４はＲＯＭであり、１６２はハードディスク等の外部メモリである。このＲＯＭ１５４あるいは外部メモリ１６２には、ＣＰＵ１５２の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、ＭＦＰ１５０上で利用される情報等が記憶される。１５５は操作部Ｉ／Ｆであり、操作部１５６との間のインタフェースをつかさどり、表示すべき画像データを操作部１５６に対して出力する。また、ユーザーが操作部１５６を介して入力した情報の受信も行う。１５６は操作部であり、操作のためのスイッチおよびＬＥＤ表示器等が配されている操作パネル等に相当する。１５７はプリンターＩ／Ｆで、プリンター１５８（プリンターエンジン）に出力情報としての画像信号を出力する。１５９はスキャナーＩ／Ｆで、スキャナー１６０（スキャナーエンジン）からの入力情報として画像信号を受信する。１６１は外部メモリＩ／Ｆ（メモリコントローラ）であり、ハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１６２のアクセスを制御する。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作部１５６からのプリンターモード設定情報を記憶するようにしてもよい。１６３はシステムバスであり、各デバイスを接続する。
【００１３】
図２（ａ）は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのアプリケーション構成を説明するブロック図である。
【００１４】
アプリケーションサーバー１００において、ネットワークモジュール２００、Ｗｅｂサーバーサービスモジュール２０１、ネットワーク機器管理アプリケーション２１０は、外部メモリ１１０に保存されたファイルとして存在する。これらは実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。また、ネットワーク機器管理アプリケーション２１０は、外部メモリ１１０のＦＤや不図示のＣＤ−ＲＯＭ、あるいはネットワーク１７０を経由して外部メモリ１１０のＨＤに追加することが可能となっている。
【００１５】
２００はネットワークモジュールであり、任意の通信プロトコルを使用してクライアントコンピューター１２０やＭＦＰ１５０とのネットワーク通信を行う。２０１はＷｅｂサーバーサービスモジュールであり、クライアントコンピューター１２０のＷｅｂブラウザー２２１からのＨＴＴＰリクエストを受け取るとＨＴＴＰレスポンスを応答するサービスを提供する。応答するＨＴＴＰレスポンスの例として、外部メモリ１１０に保存されたＷｅｂページデータを返信してもよい。または、ネットワーク機器管理アプリケーション２１０のＵＩモジュール２１１にＨＴＴＰレスポンスの生成を要求してもよい。
【００１６】
ネットワーク機器管理アプリケーション２１０は、例えばＷｅｂサーバーサービスモジュール２０１で提供するＷｅｂページへのリクエストに応答して処理を実行するプログラムとして実装される。上記のように、ネットワーク機器管理アプリケーション２１０はＷｅｂサーバーサービスモジュール２０１とともにＭＦＰ１５０を管理するＷｅｂアプリケーションを実現している。
【００１７】
ネットワーク機器管理アプリケーション２１０において、２１１はＵＩモジュールであり、Ｗｅｂサーバーサービスモジュール２０１からの要求に応じてＨＴＴＰレスポンスを生成する。また、クライアントコンピューター１２０のＷｅｂブラウザー２２１から送信された入力情報を受信し、必要に応じて各モジュールに送信する。探索モジュール２１２、アプリケーション管理モジュール２１３、宛先表管理モジュール２１４、リソース管理モジュール２１５、ファームウェア管理モジュール２１６は、タスク実行時に呼び出されるモジュールの例である。もちろん、これら以外のモジュールを呼び出してタスク実行を行ってもよい。各モジュールはユーザーが入力したタスク情報をデータベースサービス２１９に格納する。タスク情報の例としては、タスク種別、タスク実行時刻、タスク実行対象のＭＦＰ１５０に関する情報などのタスク実行に必要な各種情報が挙げられる。
【００１８】
２１７はタスク管理モジュールであり、ＭＦＰ１５０の管理処理を実行するタスクを管理する。タスク管理モジュール２１７は定期的にデータベースサービス２１９を参照して実行すべきタスクが存在しないかどうかを確認し、実行時刻を過ぎているタスクがあればタスク関連情報を元に必要なモジュールを呼び出してタスク実行を行う。そして呼び出されたモジュールは処理が完了したらデータベースサービス２１９へタスク実行結果を格納する。
【００１９】
例えばネットワーク上のＭＦＰ１５０を探索するタスクがデータベースサービス２１９に格納されていた場合は、タスク管理モジュール２１７が探索モジュール２１２を呼び出してタスクを実行する。探索モジュール２１２はＭＦＰ１５０の探索処理が完了したら、探索結果などの情報をタスク実行結果としてデータベースサービス２１９へ格納する。また、ＭＦＰ１５０へアプリケーションを配信するタスクがデータベースサービス２１９に格納されていた場合は、タスク管理モジュール２１７がアプリケーション管理モジュール２１３を呼び出してタスクを実行する。アプリケーション管理モジュール２１３はＭＦＰ１５０へのアプリケーションの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス２１９へ格納する。ＭＦＰ１５０へ宛先表を配信するタスクがデータベースサービス２１９に格納されていた場合は、タスク管理モジュール２１７が宛先表管理モジュール２１４を呼び出してタスクを実行する。なお、ここで宛先表には例えばＥメールアドレスやＦＡＸ番号等のＭＦＰ１５０で使用される宛先データを含む。宛先表管理モジュール２１４はＭＦＰ１５０への宛先表の配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス２１９へ格納する。ＭＦＰ１５０へリソースファイルを配信するタスクがデータベースサービス２１９に格納されていた場合は、タスク管理モジュール２１７がリソース管理モジュール２１５を呼び出してタスクを実行する。なお、ここでリソースファイルには例えばフォントファイル、マクロファイル、カラープロファイルなどのＭＦＰ１５０で使用されるファイルを含む。リソース管理モジュール２１５はＭＦＰ１５０へのリソースファイルの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス２１９へ格納する。ＭＦＰ１５０へファームウェアを配信するタスクがデータベースサービス２１９に格納されていた場合は、タスク管理モジュール２１７がファームウェア管理モジュール２１６を呼び出してタスクを実行する。ファームウェア管理モジュール２１６はＭＦＰ１５０へのファームウェアの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス２１９へ格納する。
【００２０】
２１８はアーカイブモジュールであり、各モジュールからの要求に応じてアプリケーションファイルやリソースファイルなどのファイルをアーカイブする。また、各モジュールからの要求に応じて、アーカイブされたファイルを取り出す。２１９はデータベースサービスであり、データを管理し、他モジュールからの要求に合わせてデータの格納と取り出しを行う。データベースサービス２１９は、ネットワーク機器管理アプリケーション２１０からアクセス可能であれば、アプリケーションサーバー１００とは別の機器上にあってもよい。
【００２１】
図３（ａ）は、データベースサービス２１９内のテーブル構成の一例を示している。３００は、タスクテーブルであり、タスクを一意に識別するタスクＩＤ、タスク名、タスクの種別を表すタスク種別ＩＤ、実行時刻、実行結果（状況）などが格納される。ここで格納されるタスクの情報は、後述するようにクライアントコンピューターを介してユーザーに提供される。３０１は、タスク改変検知実行基準テーブルであり、タスクの種別を表すタスク種別ＩＤ、改変検知実行要否などが格納される。このテーブルにおいて、アプリケーションインストールタスクに関してはタスク実行時にオブジェクト（アプリケーションファイルなど）の改変検知が必要との設定がされている。一方、宛先表やリソースなどの配信タスクにおいては、オブジェクト（宛先表やリソースファイルなど）の改変検知が不要となっている。これは、一般的に、これらデータの利用に関してネットワーク機器のファームウェアなどの環境情報にあまり依存しない上に、宛先表やリソースは頻繁に更新され易く、最新のものが配信されるべきだからである。３０２は、アプリケーションテーブルであり、アプリケーションＩＤ、アプリケーション名、アプリケーションの使用許諾書（ＥＵＬＡ：Ｅｎｄ  Ｕｓｅｒ  Ｌｉｃｅｎｓｅ  Ａｇｒｅｅｍｅｎｔ）有無情報、アプリケーションのハッシュ値などが格納される。３０３はタスク対象アプリケーションテーブルであり、タスクＩＤ、配信対象のデバイスを一意に識別するデバイスＩＤ、アプリケーションＩＤ、タスク作成時点でのアプリケーションのハッシュ値などが格納される。３０４は、デバイステーブルであり、デバイスを一意に識別するデバイスＩＤ、デバイス名、ＭＡＣアドレス、ＩＰアドレスなどが格納される。
【００２２】
クライアントコンピューター１２０において、２２１はＷｅｂブラウザーである。クライアントコンピューター１２０からアプリケーションサーバー１００へのアクセスはＷｅｂブラウザー２２１を通じて行われる。Ｗｅｂブラウザー２２１はＲＯＭ１０３もしくは外部メモリ１１０に保存されたファイルとして存在し、実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。Ｗｅｂブラウザー２２１はネットワークモジュール２２０を介してアプリケーションサーバー１００へＨＴＴＰリクエストメッセージを送信し、アプリケーションサーバー１００から返送されたＨＴＴＰレスポンスメッセージを受信して表示する。ユーザーは、Ｗｅｂブラウザー２２１を介して、タスクの作成や作成した各タスクの実行状況（成功、失敗、未実行）の確認を行うことができる。
【００２３】
ＭＦＰ１５０において、各種モジュールはＲＯＭ１５４あるいは外部メモリ１６２に保存されたファイルとして存在する。２５０はネットワークモジュールであり、任意の通信プロトコルを使用してアプリケーションサーバー１００やクライアントコンピューター１２０とのネットワーク通信を行う。２５１はプリントモジュールであり、ネットワークモジュール２５０から印刷ジョブを受け取り、印刷処理を行う。２５２はスキャンモジュールであり、スキャナーＩ／Ｆ１５９から画像信号を受け取り、スキャン処理を行う。２５３はＵＩモジュールであり、操作部Ｉ／Ｆ１５５を通じて操作部１５６への画像データの表示を行う。また、ユーザーが操作部１５６から入力した情報を操作部Ｉ／Ｆ１５５を通じて受信し、ＣＰＵへ伝送する。２５４はアプリケーション管理モジュールであり、ＭＦＰ１５０にインストールされるアプリケーションの管理を行う。アプリケーション管理モジュール２５４はネットワークモジュール２５０から送られてきたアプリケーションを受信してインストール可能かどうか検証し、インストール可能であればインストール処理を行う。２５５は宛先表管理モジュールであり、ＭＦＰ１５０内で使用される宛先表の管理を行う。宛先表管理モジュール２５５はネットワークモジュール２５０から送られてきた宛先表データを受信して検証し、ＭＦＰ１５０内で使用可能な宛先表としてデータを格納する。２５６はリソース管理モジュールであり、ＭＦＰ１５０内で使用されるフォント・マクロ・カラープロファイル等のリソースファイルの管理を行う。２５７はファームウェア管理モジュールであり、ＭＦＰ１５０にファームウェアをインストールする。
【００２４】
図４を用いて、ユーザーがアプリケーションサーバー１００にアプリケーションファイルを登録する際のアプリケーションサーバー１００の動作について述べる。
【００２５】
Ｓ４００において、ユーザーが登録したいアプリケーションファイルを選択し、アプリケーションサーバー１００に送信の指示を行う。ユーザーによるアプリケーションサーバー１００へのアクセスは、クライアントコンピューター１２０上のＷｅｂブラウザー２２１を用いて行われる。ここで送信されたアプリケーションファイルを受信したＵＩモジュール２１１はアプリケーション管理モジュール２１３を呼び出す。
【００２６】
Ｓ４０１で、アプリケーション管理モジュール２１３が受信したアプリケーションファイルの検証を行う。アプリケーションファイルの検証方法としては、アプリケーションファイルを解凍してフォルダー構成や同梱されたファイル拡張子をチェックするなど、アプリケーションファイルが正規のアプリケーションであることを確認できる手順であればよい。Ｓ４０２で、アプリケーション管理モジュール２１３がＳ４０１の検証結果を元にアプリケーションファイルが正規のアプリケーションかどうかを判断する。正規のアプリケーションでない場合はそのまま処理を終了する。正規のアプリケーションの場合はＳ４０３に進む。Ｓ４０３で、アプリケーション管理モジュール２１３がアプリケーションからアプリケーション情報を取得する。取得するアプリケーション情報の例としては、アプリケーション名、ＥＵＬＡの有無、アプリケーションのハッシュ値などが挙げられる。Ｓ４０４で、アプリケーション管理モジュール２１３が、Ｓ４０３で取得したアプリケーション情報をデータベースサービス２１９のアプリケーションテーブル３０２に格納する。なおアプリケーションテーブル３０２に格納する際、アプリケーションを一意に識別するアプリケーションＩＤはアプリケーション管理モジュール２１３が任意の値を設定する。Ｓ４０５で、アプリケーション管理モジュール２１３が、アーカイブモジュール２１８を介してアプリケーションファイルを格納する。
【００２７】
図５を用いて、ソフトウェアのインストールや情報配信などといった、オブジェクトを送信するタスク作成時のアプリケーションサーバー１００の動作を説明する。ここでは、例として、ユーザーがアプリケーションをＭＦＰ１５０にインストールするタスクを作成する際のアプリケーションサーバー１００の動作について述べる。もちろん、ＭＦＰ１５０に宛先表やリソース（フォントなど）を配信するタスクや、ファームウェアをインストールするタスクなどの場合であっても同様な動作が行われる。
【００２８】
Ｓ５００において、ユーザーによりタスク作成に必要な情報が入力される。ここでは、クライアントコンピューター１２０上のＷｅｂブラウザー２２１を用いてアプリケーションサーバー１００へのアクセスが行われ、ユーザーによる入力情報がアプリケーションサーバー１００へ送信される。送信された入力情報を受信したＵＩモジュール２１１はアプリケーション管理モジュール２１３を呼び出す。
【００２９】
Ｓ５０１で、アプリケーション管理モジュール２１３が、受信した入力情報を元にタスク情報の作成を行う。タスク情報には、タスク種別やタスク実行時刻などのタスク実行に関する情報、対象デバイス（ＭＦＰ１５０など）やインストール対象のアプリケーションに関する情報などが含まれる。ここでタスク種別とはタスクＩＤ等、異なる実行処理を行うタスクがそれぞれ一意に識別できる情報であれば何でもよい。また、タスク実行時刻に関しては、所定時間間隔でタスク実行を繰り返す周期実行の設定が可能になっていてもよい。Ｓ５０２で、アプリケーション管理モジュール２１３が、Ｓ５０１で作成したタスク情報をデータベースサービス２１９のタスクテーブル３００およびタスク対象アプリケーションテーブル３０３に格納する。Ｓ５０３で、アプリケーション管理モジュール２１３がデータベースサービス２１９のタスク改変検知実行基準テーブル３０１から改変検知実行基準情報を取得する。なお、本実施例ではデータベースサービス２１９に格納された改変検知実行基準情報を取得しているが、タスクごとに改変検知を実行するか否かを判断できる情報を取得するのであれば他の方法でもよい。例えば、タスク実行時にインストールするアプリケーションがＥＵＬＡや署名情報を含むかどうかアプリケーションファイルをチェックして改変検知を実行するか否かを判断してもよい。Ｓ５０４で、アプリケーション管理モジュール２１３が、取得した改変検知実行基準情報を元に、タスク実行時に改変検知が必要かどうかを判断する。改変検知が必要な場合はＳ５０５に進み、改変検知が必要ない場合にはタスク作成処理を終了する。
【００３０】
Ｓ５０５で、アプリケーション管理モジュール２１３が、データベースサービス２１９のタスク対象アプリケーションテーブル３０３からタスクでインストールを行うアプリケーションの情報を取得する。そして、アプリケーションごとに、アプリケーション管理モジュール２１３がＳ５０６〜Ｓ５０８の処理を行う。Ｓ５０６で、アプリケーション管理モジュール２１３が、Ｓ５０５で取得したアプリケーション情報を元に、アプリケーションがＥＵＬＡを含むかどうかを判断する。アプリケーションがＥＵＬＡを含む場合はＳ５０７に進み、アプリケーションがＥＵＬＡを含まない場合は次のアプリケーションについてＳ５０６に進む。Ｓ５０７で、アプリケーション管理モジュール２１３が、アーカイブモジュール２１８に格納されたアプリケーションから改変検知情報を取得する。本実施例では改変検知情報としてアプリケーションファイルのハッシュ値を取得する。なお、改変検知情報としては、アプリケーションに含まれるＥＵＬＡのハッシュ値や、アプリケーションファイルのタイムスタンプ等、アプリケーションが改変されていることを検知できる情報であれば何でもよい。Ｓ５０８で、アプリケーション管理モジュール２１３が、Ｓ５０７で取得したアプリケーションのハッシュ値をデータベースサービス２１９のタスク対象アプリケーションテーブル３０３に格納する。作成するタスクのオブジェクトとなるアプリケーション全てに関して、Ｓ５０６〜Ｓ５０８の処理を終えると、アプリケーションサーバー１００による図５で示す動作が終了される。
【００３１】
図６を用いて、アプリケーションサーバー１００が既に登録されているタスクを実行する際のアプリケーションサーバー１００の動作について述べる。本実施例では、アプリケーションサーバー１００が実行するタスクの例として、ＭＦＰ１５０に対してアプリケーションをインストールするタスクを挙げて説明する。もちろん、ＭＦＰ１５０に宛先表やリソースを配信するタスクやファームウェアをインストールするタスクなどであっても、同様な動作が行われる。
【００３２】
Ｓ６００で、タスク管理モジュール２１７がデータベースサービス２１９のタスクテーブル３００からアプリケーションインストールタスクに関するタスク情報を取得し、アプリケーション管理モジュール２１３を呼び出す。Ｓ６０１で、アプリケーション管理モジュール２１３がデータベースサービス２１９のタスク改変検知実行基準テーブル３０１から改変検知実行基準情報を取得する。Ｓ６０２で、アプリケーション管理モジュール２１３が、取得した改変検知実行基準情報を元に改変検知が必要かどうかを判断する。改変検知が必要な場合はＳ６０３へ、不要な場合はＳ６０６へ進む。
【００３３】
Ｓ６０３で、アプリケーション管理モジュール２１３が、データベースサービス２１９のタスク対象アプリケーションテーブル３０３からタスク実行時にインストールするアプリケーションの情報を取得する。そしてアプリケーションごとにＳ６０４、Ｓ６０５の処理を行う。Ｓ６０４で、アプリケーション管理モジュール２１３が、Ｓ６０３で取得したアプリケーション情報をもとにアプリケーションが改変されていないかどうかを検知する。検知方法としては、例えばＳ６０３で取得したタスク作成時点でのアプリケーションのハッシュ値を、タスク実行時点でのアプリケーションテーブル３０２に格納されたアプリケーションのハッシュ値と比較する、などが挙げられる。それ以外の方法であっても、アプリケーションが改変されているかどうかを検出できる方法であれば何でも良い。Ｓ６０５で、アプリケーション管理モジュール２１３が、Ｓ６０４の検知結果を元にアプリケーションの改変があったかどうかを判断する。改変があった場合はタスクを実行せずにそのまま処理を終了する。
【００３４】
なお、タスク作成時からタスク実行時までにアプリケーションが改変されるケースとしては、アーカイブモジュール２１８にアーカイブされたアプリケーションファイルの改ざんや破壊、アプリケーションのバージョンアップに伴う更新などが想定される。例えば、アプリケーションのバージョンアップの際しては、対象デバイスのファームウェアの更新やＥＵＬＡの再同意などが必要な場合があり、そういった場合はタスク作成時の設定のままタスクを実行するべきではないかもしれない。そこで、アプリケーションファイルの改ざんや破壊の場合にはタスク実行を中断するが、アプリケーションのバージョンアップに伴う更新の場合はタスク実行を行う、などのように制御を分岐させてもよい。また、タスク実行が中止された場合にアプリケーション管理モジュール２１３がリカバリータスクを作成し、ユーザーがタスク情報を再編集することで容易にタスクを再実行できるようにしてもよい。例えば、アプリケーションのバージョンアップに伴う更新によりタスク実行が中断された場合、リカバリータスクの編集画面においてアプリケーションがバージョンアップされた旨を表示してもよい。図７に、クライアントコンピューター１２０のＷｅｂブラウザー２２１上で表示されるリカバリータスク編集画面においてアプリケーションバージョンアップを表示する画面例を示す。なお、図７の詳細については後述する。
【００３５】
Ｓ６０５でプリンタードライバーの改変が無かった場合は、次のアプリケーションに関してＳ６０４の処理を行う。全てのアプリケーションに関してＳ６０４、Ｓ６０５の処理が完了したらＳ６０６に進む。Ｓ６０６で、アプリケーション管理モジュール２１３が、アーカイブモジュール２１８を介してアーカイブされたアプリケーションファイルを取得する。そしてアプリケーション管理モジュール２１３が取得したアプリケーションをＭＦＰ１５０に対してインストールするタスクを実行する。ここでは、図５で作成されたタスクの設定（対象デバイスなど）に基づき、アプリケーションファイルとインストール命令の送信などが行われることになる。
【００３６】
図７を用いて、Ｓ６０５の処理に対応して表示される画面例の詳細を説明する。７００は、インストール対象アプリケーションリストであり、リカバリータスクにおけるインストール対象のアプリケーションに関する情報が表示される。インストール対象アプリケーションリスト７００には、インストール対象選択チェックボックス７０１、アプリケーション名カラム７０２、アプリケーションバージョンカラム７０３、アプリケーションＩＤカラム７０４などの情報が表示される。実行が中止されたタスクにおいて選択されていたアプリケーションについては、リカバリータスクにおいてもインストール対象選択チェックボックス７０１がデフォルトで選択状態になっている。バージョンアップされたアプリケーションについてはアプリケーションバージョンカラム７０３にバージョンアップされた旨が表示される。ユーザーがバージョンアップされたアプリケーションをリカバリータスクのインストール対象に選択した場合は、ＥＵＬＡ表示を行いユーザーに再度同意を求めてもよい。７０５は、戻るボタンであり、ユーザーにクリックされるとリカバリータスク編集の直前ステップ画面に遷移する。７０６は、次へボタンであり、ユーザーにクリックされるとリカバリータスク編集の直後ステップ画面に遷移する。７０７は、キャンセルボタンであり、ユーザーにクリックされるとリカバリータスク編集を終了する。
【００３７】
以上の処理により、タスクの種類に応じて、タスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断するか否かを切り替えることができる。具体的には、アプリケーションインストールタスクの場合は、タスク実行時にアプリケーションの改変検知によりタスクの実行可否が判断された上でタスクが実行される。それにより、改変されたアプリケーションがＭＦＰ１５０にインストールされるタスクが実行されてしまうことを防ぐことができる。
【００３８】
（実施例２）
実施例１では、アプリケーションサーバー１００からＭＦＰ１５０にアプリケーションをインストールするタスクを例に、タスク種別に応じてタスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断する方法を説明した。
【００３９】
本実施例では、タスク種別に応じてではなく、タスク実行時に使用するオブジェクトに応じてタスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断するか否かを切り替える例を説明する。ここで、タスクの例として、アプリケーションサーバー１００からクライアントコンピューター１２０に、ＭＦＰ１５０で印刷を行うために必要なプリンタードライバーをインストールするタスクを挙げて説明する。また、タスク実行時に改変検知を行うか否かを、タスク作成時にユーザーに選択させる例についても合わせて述べる。
【００４０】
本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのシステム構成およびハードウェア構成については、実施例１の図１と同様のため説明を省略する。
【００４１】
図２（ｂ）は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのアプリケーション構成を説明するブロック図である。なお、実施例１の図２（ａ）と重複するモジュールに関しては説明を省略する。
【００４２】
アプリケーションサーバー１００において、２７０は、プリンタードライバー管理モジュールであり、クライアントコンピューター１２０がＭＦＰ１５０で印刷を行う際に必要なプリンタードライバーを管理するモジュールである。またプリンタードライバー管理モジュール２７０は、クライアントコンピューター１２０にプリンタードライバーをインストールするタスクが実行される時にタスク管理モジュール２１７から呼び出されるモジュールでもある。
【００４３】
クライアントコンピューター１２０において、２８０は、プリンタードライバーエージェントである。プリンタードライバーエージェント２８０はＲＯＭ１０３もしくは外部メモリ１１０に保存されたファイルとして存在し、実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。プリンタードライバーエージェント２８０はネットワークモジュール２２０を介してアプリケーションサーバー１００との双方向通信を行う。プリンタードライバーエージェント２８０はアプリケーションサーバー１００のプリンタードライバー管理モジュール２７０からの命令をネットワークモジュール２２０経由で受信する。そして、アプリケーションサーバー１００のプリンタードライバー管理モジュール２７０からプリンタードライバーを取得し、クライアントコンピューター１２０へのインストールを行う。
【００４４】
図３（ｂ）を用いて、データベースサービス２１９内のテーブル構成の一例を説明する。なお、実施例１の図３（ａ）と重複するテーブルに関しては説明を省略する。また、図３（ｂ）のテーブル構成はあくまで一例であり、本例とは異なるテーブル構成であってもよい。３１０は、プリンタードライバーテーブルであり、プリンタードライバーＩＤ、ＰＤＬ、プリンタードライバーバージョン、対応ＯＳ、言語、署名・ＥＵＬＡの有無情報、プリンタードライバーファイルのハッシュ値などが格納される。ここでプリンタードライバーＩＤとはプリンタードライバーを一意に識別するＩＤである。また、ＰＤＬとはＰａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅのことである。３１１は、タスク対象プリンタードライバーテーブルである。３１１には、タスクＩＤ、タスク実行対象のデバイスＩＤ、クライアントコンピューターＩＤ、プリンタードライバーＩＤ、改変検知実行要否情報、タスク作成時点でのプリンタードライバーファイルのハッシュ値などが格納される。３１２は、クライアントコンピューターテーブルであり、クライアントコンピューター１２０を一意に識別するクライアントコンピューターＩＤ、クライアントコンピューター名、ＭＡＣアドレス、ＩＰアドレスなどが格納される。
【００４５】
実施例１では、タスク改変検知実行基準テーブル３０１にタスク種別ごとに改変検知実行要否情報が格納されていたが、本実施例ではタスク対象プリンタードライバーテーブル３１１にプリンタードライバーごとに改変検知実行要否情報が格納されている。このように、実施例２においては、タスク単位ではなく、タスクで扱うオブジェクト（プリンタードライバーなど）単位で改変検知実行要否を判断することができる構成になっている点が実施例１と異なる。
【００４６】
図８を用いて、ユーザーがアプリケーションサーバー１００にプリンタードライバーファイルを登録する際のアプリケーションサーバー１００の動作について述べる。
【００４７】
Ｓ８００において、ユーザーがクライアントコンピューター１２０上のＷｅｂブラウザー２２１を用いてアプリケーションサーバー１００にアクセスし、登録したいプリンタードライバーファイルを選択してアプリケーションサーバー１００に送信する。ユーザーから送信されたアプリケーションファイルを受信したＵＩモジュール２１１はプリンタードライバー管理モジュール２７０を呼び出す。
【００４８】
Ｓ８０１で、プリンタードライバー管理モジュール２７０が受信したプリンタードライバーファイルの検証を行う。プリンタードライバーファイルの検証方法としては、ファイルの署名や内容、ファイル拡張子をチェックするなど、プリンタードライバーファイルが正規のプリンタードライバーであることを確認できる手順であればよい。Ｓ８０２で、プリンタードライバー管理モジュール２７０がＳ８０１の検証結果を元にプリンタードライバーファイルが正規のプリンタードライバーかどうかを判断する。正規のプリンタードライバーの場合はＳ８０３に進み、正規のプリンタードライバーでない場合はそのまま処理を終了する。
【００４９】
Ｓ８０３で、プリンタードライバー管理モジュール２７０がプリンタードライバーファイルからプリンタードライバー情報を取得する。取得するプリンタードライバー情報の例としては、プリンタードライバー名、プリンタードライバーバージョンなどが挙げられる。Ｓ８０４で、プリンタードライバー管理モジュール２７０が、Ｓ８０３で取得したプリンタードライバー情報をデータベースサービス２１９のプリンタードライバーテーブル３１０に格納する。Ｓ８０５で、プリンタードライバー管理モジュール２７０が、アーカイブモジュール２１８を介してプリンタードライバーファイルを格納する。
【００５０】
図９を用いて、ユーザーがプリンタードライバーをクライアントコンピューター１２０にインストールするタスクを作成する際のアプリケーションサーバー１００の動作を説明する。
【００５１】
Ｓ９００において、ユーザーによりタスク作成に必要な情報が入力される。ここでは、クライアントコンピューター１２０上のＷｅｂブラウザー２２１を用いてアプリケーションサーバー１００へのアクセスが行われ、ユーザーによる入力情報がアプリケーションサーバー１００へ送信される。プリンタードライバーインストールタスクの作成に際しては、Ｗｅｂブラウザー２２１にプリンタードライバーの改変検知の要否情報をユーザーが入力するための画面（図１０）が表示される。なお、図１０の詳細な説明は後述する。ユーザーから送信された入力情報を受信したＵＩモジュール２１１はプリンタードライバー管理モジュール２７０を呼び出す。
【００５２】
Ｓ９０１で、プリンタードライバー管理モジュール２７０が、受信した入力情報をもとにタスク情報の作成を行う。タスク情報には、タスクを一意に識別するタスクＩＤやタスク実行時刻などのタスク実行に関する情報、対象デバイス（ＭＦＰ１５０など）やクライアントコンピューター１２０、インストール対象のプリンタードライバーに関する情報などが含まれる。インストール対象のプリンタードライバーに関する情報には、図１０の画面上のユーザー入力をもとに作成されるプリンタードライバーごとの改変検知の要否情報も含まれる。Ｓ９０２で、プリンタードライバー管理モジュール２７０が、Ｓ９０１で作成したタスク情報をデータベースサービス２１９のタスクテーブル３００およびタスク対象プリンタードライバーテーブル３１１に格納する。Ｓ９０３で、プリンタードライバー管理モジュール２７０が、データベースサービス２１９のタスク対象プリンタードライバーテーブル３１１から、タスクでインストールを行うプリンタードライバーの情報を取得する。
【００５３】
その後、本タスクで扱うプリンタードライバーごとに、Ｓ９０４〜Ｓ９０８の処理を行う。Ｓ９０４で、プリンタードライバー管理モジュール２７０が、Ｓ９０３で取得したプリンタードライバー情報をもとに、プリンタードライバーが署名を含むかどうかを判断する。署名を含む場合はＳ９０７へ、署名を含まない場合はＳ９０５へ進む。Ｓ９０５で、プリンタードライバー管理モジュール２７０が、Ｓ９０３で取得したプリンタードライバー情報をもとに、プリンタードライバーがＥＵＬＡを含むかどうかを判断する。ＥＵＬＡを含む場合はＳ９０７へ、ＥＵＬＡを含まない場合はＳ９０６へ進む。Ｓ９０６で、プリンタードライバー管理モジュール２７０が、プリンタードライバーが改変検知を実行する設定になっているかどうかを判断する。これは、図１０で示す画面を介して行われた設定である。改変検知を実行する設定になっている場合はＳ９０７へ進み、改変検知を実行しない設定になっている場合は次のプリンタードライバーに関してＳ９０４のステップに進む。Ｓ９０７で、プリンタードライバー管理モジュール２７０が、プリンタードライバーファイルから改変検知情報を取得する。本実施例では改変検知情報としてプリンタードライバーファイルのハッシュ値を取得する。なお、改変検知情報としては、プリンタードライバーに含まれるＥＵＬＡのハッシュ値や、プリンタードライバーファイルのタイムスタンプ等、プリンタードライバーが改変されていることを検知できる情報であれば何でもよい。Ｓ９０８で、プリンタードライバー管理モジュール２７０が、Ｓ９０７で取得したプリンタードライバーファイルのハッシュ値をデータベースサービス２１９のタスク対象プリンタードライバーテーブル３１１に格納する。作成するタスクのオブジェクトとなるプリンタードライバー全てに関して、Ｓ９０４〜Ｓ９０８の処理を終えると、アプリケーションサーバー１００による図９で示す動作が終了される。
【００５４】
図１０を用いて、Ｓ９００の処理に対応する画面例の詳細を説明する。１０００は、タスク実行時に改変検知を行うかどうかを設定するチェックボックスである。１０００にチェックが付いている状態の場合のみ、サブ設定項目である１００１から１００３までのコントロールは有効化される。１００１は、タスク対象プリンタードライバーのすべてを改変検知対象とする設定を行うラジオボタンである。１００２は、ユーザーが選択したタスク対象プリンタードライバーのみを改変検知の対象とする設定を行うラジオボタンである。１００１と１００２は対になっており、どちらか一方にチェックが付いている場合、もう一方のコントロールはチェックが外れる。１０００および１００２にチェックが付いている状態でのみ、サブ設定項目である１００３のコントロールは有効化される。１００３は、タスク対象プリンタードライバーリストであり、ユーザーが直前のタスク作成ステップで選択済みのタスク対象プリンタードライバーがすべてリスト表示される。
【００５５】
１００３のコントロールはチェックボックスカラム１００４、ＰＤＬカラム１００５、プリンターバージョンカラム１００６、対象ＯＳカラム１００７、言語カラム１００８、署名有無カラム１００９、ＥＵＬＡ表示ボタンカラム１０１０から構成される。１００３のリストには各プリンタードライバーの情報が表示され、プリンタードライバーがＥＵＬＡを含む場合のみ、ＥＵＬＡ表示ボタンカラム１０１０の該当行のＥＵＬＡ表示ボタンが有効化される。ユーザーにＥＵＬＡ表示ボタンがクリックされると、別画面でＥＵＬＡの内容が表示される。チェックボックスカラム１００４のチェックボックスは、プリンタードライバーが署名／ＥＵＬＡのいずれかを含む場合、該当行のチェックボックスはチェック状態のままユーザー選択できない状態になる。これは、プリンタードライバーが署名／ＥＵＬＡのいずれかを含む場合は、ユーザーに選択させずに改変検知を行う設定になるためである。１０１１は、戻るボタンであり、ユーザーにクリックされるとインストールタスク作成の直前ステップ画面に遷移する。１０１２は、次へボタンであり、ユーザーにクリックされるとインストールタスク作成の直後ステップ画面に遷移する。１０１３は、キャンセルボタンであり、ユーザーにクリックされるとインストールタスク作成を終了する。
【００５６】
ユーザーが次へボタン１０１２をクリックし、最終的にタスクの登録を行うと、図１０の画面における選択状態がタスク作成に必要な情報として、アプリケーションサーバー１００に送信される。１０００および１００１がチェックされていた場合、プリンタードライバー管理モジュール２７０がすべてのプリンタードライバーについてタスク実行時に改変検知実行を行うように改変検知実行要否情報を設定する。一方、１０００および１００２がチェックされていた場合は、プリンタードライバー管理モジュール２７０が１００３における１００４がチェックされているプリンタードライバーのみタスク実行時に改変検知実行を行うように改変検知実行要否情報を設定する。１０００がチェックされていない場合は、プリンタードライバー管理モジュール２７０がすべてのプリンタードライバーについてタスク実行時に改変検知実行を行わないように改変検知実行要否情報を設定する。
【００５７】
図１１を用いて、アプリケーションサーバー１００がタスクを実行する際のアプリケーションサーバー１００の動作について述べる。本実施例では、アプリケーションサーバー１００が実行するタスクの例として、クライアントコンピューター１２０に対してプリンタードライバーをインストールするタスクを挙げて説明する。
【００５８】
Ｓ１１００で、タスク管理モジュール２１７がデータベースサービス２１９のタスクテーブル３００からプリンタードライバーインストールタスクに関するタスク情報を取得し、プリンタードライバー管理モジュール２７０を呼び出す。Ｓ１１０１で、プリンタードライバー管理モジュール２７０がデータベースサービス２１９のタスク対象プリンタードライバーテーブル３１１から、タスクでインストールするプリンタードライバーの情報を取得する。なお、取得するプリンタードライバー情報にはタスク実行時に改変検知を行うか否かの改変検知実行要否情報を含む。
【００５９】
そして、本タスクでインストール対象となるプリンタードライバーごとに、Ｓ１１０２〜Ｓ１１０４の処理を行う。Ｓ１１０２で、プリンタードライバー管理モジュール２７０が、取得したプリンタードライバー情報に含まれる改変検知実行要否情報をもとに、改変検知が必要かどうかを判断する。改変検知が必要な場合はＳ１１０３へ進み、不要な場合は次のプリンタードライバーの処理のため、Ｓ１１０２のステップに戻る。Ｓ１１０３で、プリンタードライバー管理モジュール２７０が、Ｓ１１０１で取得したプリンタードライバー情報をもとに、タスクでインストールするプリンタードライバーが改変されていないかどうかを検知する。検知方法としては、例えばＳ１１０１で取得したプリンタードライバー情報に含まれるタスク作成時点でのプリンタードライバーのハッシュ値を、タスク実行時点でのプリンタードライバーのハッシュ値と比較する、などが挙げられる。それ以外の方法であっても、プリンタードライバーが改変されているかどうかを検出できる方法であれば何でも良い。Ｓ１１０４で、プリンタードライバー管理モジュール２７０が、Ｓ１１０３の検知結果をもとに、プリンタードライバーの改変があったかどうかを判断する。改変があったと判断された場合はタスクを実行せずにそのまま処理を終了する。
【００６０】
なお、タスク作成時からタスク実行時までにプリンタードライバーが改変されるケースとしては、アーカイブモジュール２１８にアーカイブされたプリンタードライバーファイルの改ざんや破壊、バージョンアップや設定変更に伴う更新などが想定される。プリンタードライバーファイルの改ざんや破壊の場合にはタスク実行を中断するが、プリンタードライバーファイルのバージョンアップや設定情報の変更に伴う更新の場合はタスク実行を行う、などのように分岐させて制御を行ってもよい。また、タスク実行が中止された場合にプリンタードライバー管理モジュール２７０がリカバリータスクを作成し、ユーザーがタスク情報を再編集することで容易にタスクを再実行できるようにしてもよい。例えば、プリンタードライバーのバージョンアップや設定情報の変更に伴う更新によりタスク実行が中断された場合、リカバリータスクの編集画面においてプリンタードライバーのバージョンアップもしくは設定情報変更の旨を表示してもよい。
【００６１】
Ｓ１１０４で、プリンタードライバーの改変が無かったと判断された場合は、次のプリンタードライバーに関して、Ｓ１１０２の処理を行う。本タスクで扱う全てのプリンタードライバーに関してＳ１１０２〜Ｓ１１０４の処理が完了したらＳ１１０５に進む。
【００６２】
Ｓ１１０５で、プリンタードライバー管理モジュール２７０がアーカイブモジュール２１８を介して、登録されたプリンタードライバーファイルを取得する。そしてプリンタードライバー管理モジュール２７０が、取得したプリンタードライバーをクライアントコンピューター１２０に対してインストールするタスクを実行する。ここでは、クライアントコンピューター１２０に、プリンタードライバーファイルとインストールさせる命令を送信し、プリンタードライバーエージェント２８０にプリンタードライバーのインストールを行わせることになる。
【００６３】
以上のように、本実施例では、タスクで扱うオブジェクト（例えば、プリンタードライバー）の設定に応じて、タスク実行時にオブジェクトの改変検知を行うかを判断する。また、その改変検知の結果により、タスクの実行可否を判断する。本実施例により、ネットワークの管理者ユーザーなどの望まない改変が行われていたプリンタードライバーがクライアントコンピューター１２０にインストールされてしまうことを防ぐことができる。また、タスク作成時に、タスク実行時に使用するプリンタードライバーごとに実行時に改変検知を行うか否かをユーザーに選択させ、ユーザーの選択結果に合わせてタスク実行時の挙動を切り替えることも可能となる。
【００６４】
また、実施例２においては、とくにプリンタードライバーを例に説明を行ってきた。他にも、リソースファイルをＭＦＰに対して配信するタスクなどにおいても、本実施例と同様の処理を適用することが考えられる。具体的には、リソースファイルに対して署名情報が設定される場合や、管理者ユーザーが図１０と類似する画面で特定のリソースファイルを改変検知の対象としたい場合などがあり得るからである。この際にも、ネットワークの管理者ユーザーの望まない改変が行われていたリソースファイルが配信されてしまうことを防ぐことができる。
【００６５】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005553670.tif 000002
【図２】
0005553670.tif 000003
【図３】
0005553670.tif 000004
【図４】
0005553670.tif 000005
【図５】
0005553670.tif 000006
【図６】
0005553670.tif 000007
【図７】
0005553670.tif 000008
【図８】
0005553670.tif 000009
【図９】
0005553670.tif 000010
【図１０】
0005553670.tif 000011
【図１１】
0005553670.tif 000012