管理装置、その制御方法およびプログラム
【課題】 従来のタスクの実行方法では、ネットワーク機器に対する一部の管理業務においては、タスクの作成・登録時の管理者の意図に沿わないオブジェクトの処理(不正なデータの配信など)が行われてしまう可能性がある。
【解決手段】 本発明におけるネットワーク機器を管理する管理装置は、タスクを作成する際に該タスクで扱うオブジェクトの情報を取得して記憶し、タスクを実行する際に該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が、前記タスクが作成された際のオブジェクトの情報から変更があるかを検知し、前記オブジェクトの情報に変更があると検知された際には該タスクの実行を中止することを特徴とする。
【解決手段】 本発明におけるネットワーク機器を管理する管理装置は、タスクを作成する際に該タスクで扱うオブジェクトの情報を取得して記憶し、タスクを実行する際に該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が、前記タスクが作成された際のオブジェクトの情報から変更があるかを検知し、前記オブジェクトの情報に変更があると検知された際には該タスクの実行を中止することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のネットワーク機器を管理するための技術に関する。
【背景技術】
【0002】
従来、プリンターや複合機などのネットワーク機器を管理する管理装置には、夜間などの指定時刻に自動で管理業務(タスク)を実行する「タスク機能」を持つものがあった。これは、ユーザーが任意に選択したオブジェクトに関するタスクが実行されるもので、具体的には、ネットワーク機器にユーザーが選択したリソースデータ(オブジェクト)をダウンロードするタスクなどがあった(例として、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−323364号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
オブジェクトを用いたタスク機能においては、タスク登録時にオブジェクトを選択して、タスク実行時に登録時に指定されたオブジェクトの配信などの処理を行っていた。従来においては、最新のリソースデータをダウンロードさせるといった事を考慮し、タスク実行時に、登録時からオブジェクトに改変があったとしても、そのままタスクを実行していた。しかしながら、ネットワーク機器に対する一部の管理業務においては、タスク実行前にオブジェクトが改変されると、タスクの作成・登録時の管理者の意図に沿わないオブジェクトの処理(不正なデータの配信など)が行われてしまう可能性がある。
【課題を解決するための手段】
【0005】
本発明におけるネットワーク機器を管理する管理装置は、オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶手段と、タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知手段と、前記検知手段により、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止手段と、前記検知手段により、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信手段とを有することを特徴とする。
【発明の効果】
【0006】
本発明により、タスク作成時にユーザーが意図した管理業務とは異なるタスク実行を防ぐことが可能になる。
【図面の簡単な説明】
【0007】
【図1】システム構成およびハードウェア構成を示すブロック図である。
【図2】アプリケーション構成を示すブロック図である。
【図3】データベースサービス内のテーブル構成を示すブロック図である。
【図4】実施例1におけるアプリケーション登録処理のフローチャートである。
【図5】実施例1におけるタスク作成処理のフローチャートである。
【図6】実施例1におけるタスク実行処理のフローチャートである。
【図7】実施例1におけるリカバリータスクの画面例である。
【図8】実施例2におけるプリンタードライバー登録処理のフローチャートである。
【図9】実施例2におけるタスク作成処理のフローチャートである。
【図10】実施例2におけるタスク作成画面例である。
【図11】実施例2におけるタスク実行処理のフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0009】
(実施例1)
本発明に係る管理装置の一実施形態としてのアプリケーションサーバーについて説明する。また被管理対象であるネットワーク機器の一例として、本実施例ではMFP(Multifunction Peripheral)150を取り上げて説明する。なお、ネットワーク機器には、クライアントコンピューターやMFPを含むプリンター、FAXなどの画像形成装置を含む。
【0010】
図1は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのシステム構成およびハードウェア構成を説明するブロック図である。ネットワーク機器管理システムは、ネットワーク170により接続されるアプリケーションサーバー100、クライアントコンピューター120およびMFP150より構成される。なお、アプリケーションサーバー100およびクライアントコンピューター120は汎用コンピューターの構成を有する。クライアントコンピューター120のハードウェア構成についてはアプリケーションサーバー100と同様のため、説明を省略する。
【0011】
アプリケーションサーバー100において、101はCPUであり、ROM103あるいは外部メモリ110に記憶されたアプリケーションプログラム等に基づいて処理を実行する。さらに、CPU101はシステムバス111に接続される各デバイスを総括的に制御する。また、CPU101は、ディスプレイ109上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。102はRAMで、CPU101の主メモリ、ワークエリア等として機能する。103はROMであり、基本I/Oプログラム等の記憶領域として機能する読み出し専用のメモリである。このROM103あるいは外部メモリ110には、CPU101の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶される。さらにROM103あるいは外部メモリ110には上記アプリケーションプログラム等に基づく処理の際に使用するファイルやその他各種データを記憶する。104はネットワークI/Fであり、ネットワーク170へ接続しネットワーク通信を行う。105はキーボードI/Fで、キーボード108や不図示のポインティングデバイスからの入力を制御する。106はディスプレイI/Fで、ディスプレイ109の表示を制御する。107は外部メモリI/Fで、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ110とのアクセスを制御する。110は外部メモリであり、ブートプログラム、各種のアプリケーション、ユーザーファイル、編集ファイル等を記憶する。アプリケーションサーバー100は、CPU101がROM103や外部メモリ110に書き込まれた基本I/OプログラムおよびOSを実行している状態で動作する。基本I/OプログラムはROM103に書き込まれており、OSはROM103もしくは外部メモリ110に書き込まれている。そしてコンピューターの電源がONされたときに、基本I/Oプログラム中のイニシャルプログラムロード機能により、ROM103もしくは外部メモリ110からOSがRAM102に書き込まれ、OSの動作が開始される。111はシステムバスであり、各デバイスを接続する。
【0012】
MFP150において、151はネットワークI/Fであり、ネットワーク170へ接続しネットワーク通信を行う。152はCPUであり、制御プログラム等に基づいてシステムバス163に接続されるプリンターI/F157を介してプリンター158に出力情報としての画像信号を出力する。なお、制御プログラムはROM154や外部メモリ162等に記憶される。CPU152はネットワークI/F151を介してコンピューターとの通信処理が可能となっており、MFP150内の情報等をアプリケーションサーバー100に通知可能に構成されている。さらにCPU152はROM154あるいは外部メモリ162に記憶されたアプリケーションプログラム等に基づいて処理を実行する。153はRAMであり、CPU152の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM153は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。154はROMであり、162はハードディスク等の外部メモリである。このROM154あるいは外部メモリ162には、CPU152の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、MFP150上で利用される情報等が記憶される。155は操作部I/Fであり、操作部156との間のインタフェースをつかさどり、表示すべき画像データを操作部156に対して出力する。また、ユーザーが操作部156を介して入力した情報の受信も行う。156は操作部であり、操作のためのスイッチおよびLED表示器等が配されている操作パネル等に相当する。157はプリンターI/Fで、プリンター158(プリンターエンジン)に出力情報としての画像信号を出力する。159はスキャナーI/Fで、スキャナー160(スキャナーエンジン)からの入力情報として画像信号を受信する。161は外部メモリI/F(メモリコントローラ)であり、ハードディスク(HD)、ICカード等の外部メモリ162のアクセスを制御する。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作部156からのプリンターモード設定情報を記憶するようにしてもよい。163はシステムバスであり、各デバイスを接続する。
【0013】
図2(a)は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのアプリケーション構成を説明するブロック図である。
【0014】
アプリケーションサーバー100において、ネットワークモジュール200、Webサーバーサービスモジュール201、ネットワーク機器管理アプリケーション210は、外部メモリ110に保存されたファイルとして存在する。これらは実行時にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。また、ネットワーク機器管理アプリケーション210は、外部メモリ110のFDや不図示のCD−ROM、あるいはネットワーク170を経由して外部メモリ110のHDに追加することが可能となっている。
【0015】
200はネットワークモジュールであり、任意の通信プロトコルを使用してクライアントコンピューター120やMFP150とのネットワーク通信を行う。201はWebサーバーサービスモジュールであり、クライアントコンピューター120のWebブラウザー221からのHTTPリクエストを受け取るとHTTPレスポンスを応答するサービスを提供する。応答するHTTPレスポンスの例として、外部メモリ110に保存されたWebページデータを返信してもよい。または、ネットワーク機器管理アプリケーション210のUIモジュール211にHTTPレスポンスの生成を要求してもよい。
【0016】
ネットワーク機器管理アプリケーション210は、例えばWebサーバーサービスモジュール201で提供するWebページへのリクエストに応答して処理を実行するプログラムとして実装される。上記のように、ネットワーク機器管理アプリケーション210はWebサーバーサービスモジュール201とともにMFP150を管理するWebアプリケーションを実現している。
【0017】
ネットワーク機器管理アプリケーション210において、211はUIモジュールであり、Webサーバーサービスモジュール201からの要求に応じてHTTPレスポンスを生成する。また、クライアントコンピューター120のWebブラウザー221から送信された入力情報を受信し、必要に応じて各モジュールに送信する。探索モジュール212、アプリケーション管理モジュール213、宛先表管理モジュール214、リソース管理モジュール215、ファームウェア管理モジュール216は、タスク実行時に呼び出されるモジュールの例である。もちろん、これら以外のモジュールを呼び出してタスク実行を行ってもよい。各モジュールはユーザーが入力したタスク情報をデータベースサービス219に格納する。タスク情報の例としては、タスク種別、タスク実行時刻、タスク実行対象のMFP150に関する情報などのタスク実行に必要な各種情報が挙げられる。
【0018】
217はタスク管理モジュールであり、MFP150の管理処理を実行するタスクを管理する。タスク管理モジュール217は定期的にデータベースサービス219を参照して実行すべきタスクが存在しないかどうかを確認し、実行時刻を過ぎているタスクがあればタスク関連情報を元に必要なモジュールを呼び出してタスク実行を行う。そして呼び出されたモジュールは処理が完了したらデータベースサービス219へタスク実行結果を格納する。
【0019】
例えばネットワーク上のMFP150を探索するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217が探索モジュール212を呼び出してタスクを実行する。探索モジュール212はMFP150の探索処理が完了したら、探索結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。また、MFP150へアプリケーションを配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217がアプリケーション管理モジュール213を呼び出してタスクを実行する。アプリケーション管理モジュール213はMFP150へのアプリケーションの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。MFP150へ宛先表を配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217が宛先表管理モジュール214を呼び出してタスクを実行する。なお、ここで宛先表には例えばEメールアドレスやFAX番号等のMFP150で使用される宛先データを含む。宛先表管理モジュール214はMFP150への宛先表の配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。MFP150へリソースファイルを配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217がリソース管理モジュール215を呼び出してタスクを実行する。なお、ここでリソースファイルには例えばフォントファイル、マクロファイル、カラープロファイルなどのMFP150で使用されるファイルを含む。リソース管理モジュール215はMFP150へのリソースファイルの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。MFP150へファームウェアを配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217がファームウェア管理モジュール216を呼び出してタスクを実行する。ファームウェア管理モジュール216はMFP150へのファームウェアの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。
【0020】
218はアーカイブモジュールであり、各モジュールからの要求に応じてアプリケーションファイルやリソースファイルなどのファイルをアーカイブする。また、各モジュールからの要求に応じて、アーカイブされたファイルを取り出す。219はデータベースサービスであり、データを管理し、他モジュールからの要求に合わせてデータの格納と取り出しを行う。データベースサービス219は、ネットワーク機器管理アプリケーション210からアクセス可能であれば、アプリケーションサーバー100とは別の機器上にあってもよい。
【0021】
図3(a)は、データベースサービス219内のテーブル構成の一例を示している。300は、タスクテーブルであり、タスクを一意に識別するタスクID、タスク名、タスクの種別を表すタスク種別ID、実行時刻、実行結果(状況)などが格納される。ここで格納されるタスクの情報は、後述するようにクライアントコンピューターを介してユーザーに提供される。301は、タスク改変検知実行基準テーブルであり、タスクの種別を表すタスク種別ID、改変検知実行要否などが格納される。このテーブルにおいて、アプリケーションインストールタスクに関してはタスク実行時にオブジェクト(アプリケーションファイルなど)の改変検知が必要との設定がされている。一方、宛先表やリソースなどの配信タスクにおいては、オブジェクト(宛先表やリソースファイルなど)の改変検知が不要となっている。これは、一般的に、これらデータの利用に関してネットワーク機器のファームウェアなどの環境情報にあまり依存しない上に、宛先表やリソースは頻繁に更新され易く、最新のものが配信されるべきだからである。302は、アプリケーションテーブルであり、アプリケーションID、アプリケーション名、アプリケーションの使用許諾書(EULA:End User License Agreement)有無情報、アプリケーションのハッシュ値などが格納される。303はタスク対象アプリケーションテーブルであり、タスクID、配信対象のデバイスを一意に識別するデバイスID、アプリケーションID、タスク作成時点でのアプリケーションのハッシュ値などが格納される。304は、デバイステーブルであり、デバイスを一意に識別するデバイスID、デバイス名、MACアドレス、IPアドレスなどが格納される。
【0022】
クライアントコンピューター120において、221はWebブラウザーである。クライアントコンピューター120からアプリケーションサーバー100へのアクセスはWebブラウザー221を通じて行われる。Webブラウザー221はROM103もしくは外部メモリ110に保存されたファイルとして存在し、実行時にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。Webブラウザー221はネットワークモジュール220を介してアプリケーションサーバー100へHTTPリクエストメッセージを送信し、アプリケーションサーバー100から返送されたHTTPレスポンスメッセージを受信して表示する。ユーザーは、Webブラウザー221を介して、タスクの作成や作成した各タスクの実行状況(成功、失敗、未実行)の確認を行うことができる。
【0023】
MFP150において、各種モジュールはROM154あるいは外部メモリ162に保存されたファイルとして存在する。250はネットワークモジュールであり、任意の通信プロトコルを使用してアプリケーションサーバー100やクライアントコンピューター120とのネットワーク通信を行う。251はプリントモジュールであり、ネットワークモジュール250から印刷ジョブを受け取り、印刷処理を行う。252はスキャンモジュールであり、スキャナーI/F159から画像信号を受け取り、スキャン処理を行う。253はUIモジュールであり、操作部I/F155を通じて操作部156への画像データの表示を行う。また、ユーザーが操作部156から入力した情報を操作部I/F155を通じて受信し、CPUへ伝送する。254はアプリケーション管理モジュールであり、MFP150にインストールされるアプリケーションの管理を行う。アプリケーション管理モジュール254はネットワークモジュール250から送られてきたアプリケーションを受信してインストール可能かどうか検証し、インストール可能であればインストール処理を行う。255は宛先表管理モジュールであり、MFP150内で使用される宛先表の管理を行う。宛先表管理モジュール255はネットワークモジュール250から送られてきた宛先表データを受信して検証し、MFP150内で使用可能な宛先表としてデータを格納する。256はリソース管理モジュールであり、MFP150内で使用されるフォント・マクロ・カラープロファイル等のリソースファイルの管理を行う。257はファームウェア管理モジュールであり、MFP150にファームウェアをインストールする。
【0024】
図4を用いて、ユーザーがアプリケーションサーバー100にアプリケーションファイルを登録する際のアプリケーションサーバー100の動作について述べる。
【0025】
S400において、ユーザーが登録したいアプリケーションファイルを選択し、アプリケーションサーバー100に送信の指示を行う。ユーザーによるアプリケーションサーバー100へのアクセスは、クライアントコンピューター120上のWebブラウザー221を用いて行われる。ここで送信されたアプリケーションファイルを受信したUIモジュール211はアプリケーション管理モジュール213を呼び出す。
【0026】
S401で、アプリケーション管理モジュール213が受信したアプリケーションファイルの検証を行う。アプリケーションファイルの検証方法としては、アプリケーションファイルを解凍してフォルダー構成や同梱されたファイル拡張子をチェックするなど、アプリケーションファイルが正規のアプリケーションであることを確認できる手順であればよい。S402で、アプリケーション管理モジュール213がS401の検証結果を元にアプリケーションファイルが正規のアプリケーションかどうかを判断する。正規のアプリケーションでない場合はそのまま処理を終了する。正規のアプリケーションの場合はS403に進む。S403で、アプリケーション管理モジュール213がアプリケーションからアプリケーション情報を取得する。取得するアプリケーション情報の例としては、アプリケーション名、EULAの有無、アプリケーションのハッシュ値などが挙げられる。S404で、アプリケーション管理モジュール213が、S403で取得したアプリケーション情報をデータベースサービス219のアプリケーションテーブル302に格納する。なおアプリケーションテーブル302に格納する際、アプリケーションを一意に識別するアプリケーションIDはアプリケーション管理モジュール213が任意の値を設定する。S405で、アプリケーション管理モジュール213が、アーカイブモジュール218を介してアプリケーションファイルを格納する。
【0027】
図5を用いて、ソフトウェアのインストールや情報配信などといった、オブジェクトを送信するタスク作成時のアプリケーションサーバー100の動作を説明する。ここでは、例として、ユーザーがアプリケーションをMFP150にインストールするタスクを作成する際のアプリケーションサーバー100の動作について述べる。もちろん、MFP150に宛先表やリソース(フォントなど)を配信するタスクや、ファームウェアをインストールするタスクなどの場合であっても同様な動作が行われる。
【0028】
S500において、ユーザーによりタスク作成に必要な情報が入力される。ここでは、クライアントコンピューター120上のWebブラウザー221を用いてアプリケーションサーバー100へのアクセスが行われ、ユーザーによる入力情報がアプリケーションサーバー100へ送信される。送信された入力情報を受信したUIモジュール211はアプリケーション管理モジュール213を呼び出す。
【0029】
S501で、アプリケーション管理モジュール213が、受信した入力情報を元にタスク情報の作成を行う。タスク情報には、タスク種別やタスク実行時刻などのタスク実行に関する情報、対象デバイス(MFP150など)やインストール対象のアプリケーションに関する情報などが含まれる。ここでタスク種別とはタスクID等、異なる実行処理を行うタスクがそれぞれ一意に識別できる情報であれば何でもよい。また、タスク実行時刻に関しては、所定時間間隔でタスク実行を繰り返す周期実行の設定が可能になっていてもよい。S502で、アプリケーション管理モジュール213が、S501で作成したタスク情報をデータベースサービス219のタスクテーブル300およびタスク対象アプリケーションテーブル303に格納する。S503で、アプリケーション管理モジュール213がデータベースサービス219のタスク改変検知実行基準テーブル301から改変検知実行基準情報を取得する。なお、本実施例ではデータベースサービス219に格納された改変検知実行基準情報を取得しているが、タスクごとに改変検知を実行するか否かを判断できる情報を取得するのであれば他の方法でもよい。例えば、タスク実行時にインストールするアプリケーションがEULAや署名情報を含むかどうかアプリケーションファイルをチェックして改変検知を実行するか否かを判断してもよい。S504で、アプリケーション管理モジュール213が、取得した改変検知実行基準情報を元に、タスク実行時に改変検知が必要かどうかを判断する。改変検知が必要な場合はS505に進み、改変検知が必要ない場合にはタスク作成処理を終了する。
【0030】
S505で、アプリケーション管理モジュール213が、データベースサービス219のタスク対象アプリケーションテーブル303からタスクでインストールを行うアプリケーションの情報を取得する。そして、アプリケーションごとに、アプリケーション管理モジュール213がS506〜S508の処理を行う。S506で、アプリケーション管理モジュール213が、S505で取得したアプリケーション情報を元に、アプリケーションがEULAを含むかどうかを判断する。アプリケーションがEULAを含む場合はS507に進み、アプリケーションがEULAを含まない場合は次のアプリケーションについてS506に進む。S507で、アプリケーション管理モジュール213が、アーカイブモジュール218に格納されたアプリケーションから改変検知情報を取得する。本実施例では改変検知情報としてアプリケーションファイルのハッシュ値を取得する。なお、改変検知情報としては、アプリケーションに含まれるEULAのハッシュ値や、アプリケーションファイルのタイムスタンプ等、アプリケーションが改変されていることを検知できる情報であれば何でもよい。S508で、アプリケーション管理モジュール213が、S507で取得したアプリケーションのハッシュ値をデータベースサービス219のタスク対象アプリケーションテーブル303に格納する。作成するタスクのオブジェクトとなるアプリケーション全てに関して、S506〜S508の処理を終えると、アプリケーションサーバー100による図5で示す動作が終了される。
【0031】
図6を用いて、アプリケーションサーバー100が既に登録されているタスクを実行する際のアプリケーションサーバー100の動作について述べる。本実施例では、アプリケーションサーバー100が実行するタスクの例として、MFP150に対してアプリケーションをインストールするタスクを挙げて説明する。もちろん、MFP150に宛先表やリソースを配信するタスクやファームウェアをインストールするタスクなどであっても、同様な動作が行われる。
【0032】
S600で、タスク管理モジュール217がデータベースサービス219のタスクテーブル300からアプリケーションインストールタスクに関するタスク情報を取得し、アプリケーション管理モジュール213を呼び出す。S601で、アプリケーション管理モジュール213がデータベースサービス219のタスク改変検知実行基準テーブル301から改変検知実行基準情報を取得する。S602で、アプリケーション管理モジュール213が、取得した改変検知実行基準情報を元に改変検知が必要かどうかを判断する。改変検知が必要な場合はS603へ、不要な場合はS606へ進む。
【0033】
S603で、アプリケーション管理モジュール213が、データベースサービス219のタスク対象アプリケーションテーブル303からタスク実行時にインストールするアプリケーションの情報を取得する。そしてアプリケーションごとにS604、S605の処理を行う。S604で、アプリケーション管理モジュール213が、S603で取得したアプリケーション情報をもとにアプリケーションが改変されていないかどうかを検知する。検知方法としては、例えばS603で取得したタスク作成時点でのアプリケーションのハッシュ値を、タスク実行時点でのアプリケーションテーブル302に格納されたアプリケーションのハッシュ値と比較する、などが挙げられる。それ以外の方法であっても、アプリケーションが改変されているかどうかを検出できる方法であれば何でも良い。S605で、アプリケーション管理モジュール213が、S604の検知結果を元にアプリケーションの改変があったかどうかを判断する。改変があった場合はタスクを実行せずにそのまま処理を終了する。
【0034】
なお、タスク作成時からタスク実行時までにアプリケーションが改変されるケースとしては、アーカイブモジュール218にアーカイブされたアプリケーションファイルの改ざんや破壊、アプリケーションのバージョンアップに伴う更新などが想定される。例えば、アプリケーションのバージョンアップの際しては、対象デバイスのファームウェアの更新やEULAの再同意などが必要な場合があり、そういった場合はタスク作成時の設定のままタスクを実行するべきではないかもしれない。そこで、アプリケーションファイルの改ざんや破壊の場合にはタスク実行を中断するが、アプリケーションのバージョンアップに伴う更新の場合はタスク実行を行う、などのように制御を分岐させてもよい。また、タスク実行が中止された場合にアプリケーション管理モジュール213がリカバリータスクを作成し、ユーザーがタスク情報を再編集することで容易にタスクを再実行できるようにしてもよい。例えば、アプリケーションのバージョンアップに伴う更新によりタスク実行が中断された場合、リカバリータスクの編集画面においてアプリケーションがバージョンアップされた旨を表示してもよい。図7に、クライアントコンピューター120のWebブラウザー221上で表示されるリカバリータスク編集画面においてアプリケーションバージョンアップを表示する画面例を示す。なお、図7の詳細については後述する。
【0035】
S605でプリンタードライバーの改変が無かった場合は、次のアプリケーションに関してS604の処理を行う。全てのアプリケーションに関してS604、S605の処理が完了したらS606に進む。S606で、アプリケーション管理モジュール213が、アーカイブモジュール218を介してアーカイブされたアプリケーションファイルを取得する。そしてアプリケーション管理モジュール213が取得したアプリケーションをMFP150に対してインストールするタスクを実行する。ここでは、図5で作成されたタスクの設定(対象デバイスなど)に基づき、アプリケーションファイルとインストール命令の送信などが行われることになる。
【0036】
図7を用いて、S605の処理に対応して表示される画面例の詳細を説明する。700は、インストール対象アプリケーションリストであり、リカバリータスクにおけるインストール対象のアプリケーションに関する情報が表示される。インストール対象アプリケーションリスト700には、インストール対象選択チェックボックス701、アプリケーション名カラム702、アプリケーションバージョンカラム703、アプリケーションIDカラム704などの情報が表示される。実行が中止されたタスクにおいて選択されていたアプリケーションについては、リカバリータスクにおいてもインストール対象選択チェックボックス701がデフォルトで選択状態になっている。バージョンアップされたアプリケーションについてはアプリケーションバージョンカラム703にバージョンアップされた旨が表示される。ユーザーがバージョンアップされたアプリケーションをリカバリータスクのインストール対象に選択した場合は、EULA表示を行いユーザーに再度同意を求めてもよい。705は、戻るボタンであり、ユーザーにクリックされるとリカバリータスク編集の直前ステップ画面に遷移する。706は、次へボタンであり、ユーザーにクリックされるとリカバリータスク編集の直後ステップ画面に遷移する。707は、キャンセルボタンであり、ユーザーにクリックされるとリカバリータスク編集を終了する。
【0037】
以上の処理により、タスクの種類に応じて、タスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断するか否かを切り替えることができる。具体的には、アプリケーションインストールタスクの場合は、タスク実行時にアプリケーションの改変検知によりタスクの実行可否が判断された上でタスクが実行される。それにより、改変されたアプリケーションがMFP150にインストールされるタスクが実行されてしまうことを防ぐことができる。
【0038】
(実施例2)
実施例1では、アプリケーションサーバー100からMFP150にアプリケーションをインストールするタスクを例に、タスク種別に応じてタスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断する方法を説明した。
【0039】
本実施例では、タスク種別に応じてではなく、タスク実行時に使用するオブジェクトに応じてタスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断するか否かを切り替える例を説明する。ここで、タスクの例として、アプリケーションサーバー100からクライアントコンピューター120に、MFP150で印刷を行うために必要なプリンタードライバーをインストールするタスクを挙げて説明する。また、タスク実行時に改変検知を行うか否かを、タスク作成時にユーザーに選択させる例についても合わせて述べる。
【0040】
本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのシステム構成およびハードウェア構成については、実施例1の図1と同様のため説明を省略する。
【0041】
図2(b)は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのアプリケーション構成を説明するブロック図である。なお、実施例1の図2(a)と重複するモジュールに関しては説明を省略する。
【0042】
アプリケーションサーバー100において、270は、プリンタードライバー管理モジュールであり、クライアントコンピューター120がMFP150で印刷を行う際に必要なプリンタードライバーを管理するモジュールである。またプリンタードライバー管理モジュール270は、クライアントコンピューター120にプリンタードライバーをインストールするタスクが実行される時にタスク管理モジュール217から呼び出されるモジュールでもある。
【0043】
クライアントコンピューター120において、280は、プリンタードライバーエージェントである。プリンタードライバーエージェント280はROM103もしくは外部メモリ110に保存されたファイルとして存在し、実行時にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。プリンタードライバーエージェント280はネットワークモジュール220を介してアプリケーションサーバー100との双方向通信を行う。プリンタードライバーエージェント280はアプリケーションサーバー100のプリンタードライバー管理モジュール270からの命令をネットワークモジュール220経由で受信する。そして、アプリケーションサーバー100のプリンタードライバー管理モジュール270からプリンタードライバーを取得し、クライアントコンピューター120へのインストールを行う。
【0044】
図3(b)を用いて、データベースサービス219内のテーブル構成の一例を説明する。なお、実施例1の図3(a)と重複するテーブルに関しては説明を省略する。また、図3(b)のテーブル構成はあくまで一例であり、本例とは異なるテーブル構成であってもよい。310は、プリンタードライバーテーブルであり、プリンタードライバーID、PDL、プリンタードライバーバージョン、対応OS、言語、署名・EULAの有無情報、プリンタードライバーファイルのハッシュ値などが格納される。ここでプリンタードライバーIDとはプリンタードライバーを一意に識別するIDである。また、PDLとはPage Description Languageのことである。311は、タスク対象プリンタードライバーテーブルである。311には、タスクID、タスク実行対象のデバイスID、クライアントコンピューターID、プリンタードライバーID、改変検知実行要否情報、タスク作成時点でのプリンタードライバーファイルのハッシュ値などが格納される。312は、クライアントコンピューターテーブルであり、クライアントコンピューター120を一意に識別するクライアントコンピューターID、クライアントコンピューター名、MACアドレス、IPアドレスなどが格納される。
【0045】
実施例1では、タスク改変検知実行基準テーブル301にタスク種別ごとに改変検知実行要否情報が格納されていたが、本実施例ではタスク対象プリンタードライバーテーブル311にプリンタードライバーごとに改変検知実行要否情報が格納されている。このように、実施例2においては、タスク単位ではなく、タスクで扱うオブジェクト(プリンタードライバーなど)単位で改変検知実行要否を判断することができる構成になっている点が実施例1と異なる。
【0046】
図8を用いて、ユーザーがアプリケーションサーバー100にプリンタードライバーファイルを登録する際のアプリケーションサーバー100の動作について述べる。
【0047】
S800において、ユーザーがクライアントコンピューター120上のWebブラウザー221を用いてアプリケーションサーバー100にアクセスし、登録したいプリンタードライバーファイルを選択してアプリケーションサーバー100に送信する。ユーザーから送信されたアプリケーションファイルを受信したUIモジュール211はプリンタードライバー管理モジュール270を呼び出す。
【0048】
S801で、プリンタードライバー管理モジュール270が受信したプリンタードライバーファイルの検証を行う。プリンタードライバーファイルの検証方法としては、ファイルの署名や内容、ファイル拡張子をチェックするなど、プリンタードライバーファイルが正規のプリンタードライバーであることを確認できる手順であればよい。S802で、プリンタードライバー管理モジュール270がS801の検証結果を元にプリンタードライバーファイルが正規のプリンタードライバーかどうかを判断する。正規のプリンタードライバーの場合はS803に進み、正規のプリンタードライバーでない場合はそのまま処理を終了する。
【0049】
S803で、プリンタードライバー管理モジュール270がプリンタードライバーファイルからプリンタードライバー情報を取得する。取得するプリンタードライバー情報の例としては、プリンタードライバー名、プリンタードライバーバージョンなどが挙げられる。S804で、プリンタードライバー管理モジュール270が、S803で取得したプリンタードライバー情報をデータベースサービス219のプリンタードライバーテーブル310に格納する。S805で、プリンタードライバー管理モジュール270が、アーカイブモジュール218を介してプリンタードライバーファイルを格納する。
【0050】
図9を用いて、ユーザーがプリンタードライバーをクライアントコンピューター120にインストールするタスクを作成する際のアプリケーションサーバー100の動作を説明する。
【0051】
S900において、ユーザーによりタスク作成に必要な情報が入力される。ここでは、クライアントコンピューター120上のWebブラウザー221を用いてアプリケーションサーバー100へのアクセスが行われ、ユーザーによる入力情報がアプリケーションサーバー100へ送信される。プリンタードライバーインストールタスクの作成に際しては、Webブラウザー221にプリンタードライバーの改変検知の要否情報をユーザーが入力するための画面(図10)が表示される。なお、図10の詳細な説明は後述する。ユーザーから送信された入力情報を受信したUIモジュール211はプリンタードライバー管理モジュール270を呼び出す。
【0052】
S901で、プリンタードライバー管理モジュール270が、受信した入力情報をもとにタスク情報の作成を行う。タスク情報には、タスクを一意に識別するタスクIDやタスク実行時刻などのタスク実行に関する情報、対象デバイス(MFP150など)やクライアントコンピューター120、インストール対象のプリンタードライバーに関する情報などが含まれる。インストール対象のプリンタードライバーに関する情報には、図10の画面上のユーザー入力をもとに作成されるプリンタードライバーごとの改変検知の要否情報も含まれる。S902で、プリンタードライバー管理モジュール270が、S901で作成したタスク情報をデータベースサービス219のタスクテーブル300およびタスク対象プリンタードライバーテーブル311に格納する。S903で、プリンタードライバー管理モジュール270が、データベースサービス219のタスク対象プリンタードライバーテーブル311から、タスクでインストールを行うプリンタードライバーの情報を取得する。
【0053】
その後、本タスクで扱うプリンタードライバーごとに、S904〜S908の処理を行う。S904で、プリンタードライバー管理モジュール270が、S903で取得したプリンタードライバー情報をもとに、プリンタードライバーが署名を含むかどうかを判断する。署名を含む場合はS907へ、署名を含まない場合はS905へ進む。S905で、プリンタードライバー管理モジュール270が、S903で取得したプリンタードライバー情報をもとに、プリンタードライバーがEULAを含むかどうかを判断する。EULAを含む場合はS907へ、EULAを含まない場合はS906へ進む。S906で、プリンタードライバー管理モジュール270が、プリンタードライバーが改変検知を実行する設定になっているかどうかを判断する。これは、図10で示す画面を介して行われた設定である。改変検知を実行する設定になっている場合はS907へ進み、改変検知を実行しない設定になっている場合は次のプリンタードライバーに関してS904のステップに進む。S907で、プリンタードライバー管理モジュール270が、プリンタードライバーファイルから改変検知情報を取得する。本実施例では改変検知情報としてプリンタードライバーファイルのハッシュ値を取得する。なお、改変検知情報としては、プリンタードライバーに含まれるEULAのハッシュ値や、プリンタードライバーファイルのタイムスタンプ等、プリンタードライバーが改変されていることを検知できる情報であれば何でもよい。S908で、プリンタードライバー管理モジュール270が、S907で取得したプリンタードライバーファイルのハッシュ値をデータベースサービス219のタスク対象プリンタードライバーテーブル311に格納する。作成するタスクのオブジェクトとなるプリンタードライバー全てに関して、S904〜S908の処理を終えると、アプリケーションサーバー100による図9で示す動作が終了される。
【0054】
図10を用いて、S900の処理に対応する画面例の詳細を説明する。1000は、タスク実行時に改変検知を行うかどうかを設定するチェックボックスである。1000にチェックが付いている状態の場合のみ、サブ設定項目である1001から1003までのコントロールは有効化される。1001は、タスク対象プリンタードライバーのすべてを改変検知対象とする設定を行うラジオボタンである。1002は、ユーザーが選択したタスク対象プリンタードライバーのみを改変検知の対象とする設定を行うラジオボタンである。1001と1002は対になっており、どちらか一方にチェックが付いている場合、もう一方のコントロールはチェックが外れる。1000および1002にチェックが付いている状態でのみ、サブ設定項目である1003のコントロールは有効化される。1003は、タスク対象プリンタードライバーリストであり、ユーザーが直前のタスク作成ステップで選択済みのタスク対象プリンタードライバーがすべてリスト表示される。
【0055】
1003のコントロールはチェックボックスカラム1004、PDLカラム1005、プリンターバージョンカラム1006、対象OSカラム1007、言語カラム1008、署名有無カラム1009、EULA表示ボタンカラム1010から構成される。1003のリストには各プリンタードライバーの情報が表示され、プリンタードライバーがEULAを含む場合のみ、EULA表示ボタンカラム1010の該当行のEULA表示ボタンが有効化される。ユーザーにEULA表示ボタンがクリックされると、別画面でEULAの内容が表示される。チェックボックスカラム1004のチェックボックスは、プリンタードライバーが署名/EULAのいずれかを含む場合、該当行のチェックボックスはチェック状態のままユーザー選択できない状態になる。これは、プリンタードライバーが署名/EULAのいずれかを含む場合は、ユーザーに選択させずに改変検知を行う設定になるためである。1011は、戻るボタンであり、ユーザーにクリックされるとインストールタスク作成の直前ステップ画面に遷移する。1012は、次へボタンであり、ユーザーにクリックされるとインストールタスク作成の直後ステップ画面に遷移する。1013は、キャンセルボタンであり、ユーザーにクリックされるとインストールタスク作成を終了する。
【0056】
ユーザーが次へボタン1012をクリックし、最終的にタスクの登録を行うと、図10の画面における選択状態がタスク作成に必要な情報として、アプリケーションサーバー100に送信される。1000および1001がチェックされていた場合、プリンタードライバー管理モジュール270がすべてのプリンタードライバーについてタスク実行時に改変検知実行を行うように改変検知実行要否情報を設定する。一方、1000および1002がチェックされていた場合は、プリンタードライバー管理モジュール270が1003における1004がチェックされているプリンタードライバーのみタスク実行時に改変検知実行を行うように改変検知実行要否情報を設定する。1000がチェックされていない場合は、プリンタードライバー管理モジュール270がすべてのプリンタードライバーについてタスク実行時に改変検知実行を行わないように改変検知実行要否情報を設定する。
【0057】
図11を用いて、アプリケーションサーバー100がタスクを実行する際のアプリケーションサーバー100の動作について述べる。本実施例では、アプリケーションサーバー100が実行するタスクの例として、クライアントコンピューター120に対してプリンタードライバーをインストールするタスクを挙げて説明する。
【0058】
S1100で、タスク管理モジュール217がデータベースサービス219のタスクテーブル300からプリンタードライバーインストールタスクに関するタスク情報を取得し、プリンタードライバー管理モジュール270を呼び出す。S1101で、プリンタードライバー管理モジュール270がデータベースサービス219のタスク対象プリンタードライバーテーブル311から、タスクでインストールするプリンタードライバーの情報を取得する。なお、取得するプリンタードライバー情報にはタスク実行時に改変検知を行うか否かの改変検知実行要否情報を含む。
【0059】
そして、本タスクでインストール対象となるプリンタードライバーごとに、S1102〜S1104の処理を行う。S1102で、プリンタードライバー管理モジュール270が、取得したプリンタードライバー情報に含まれる改変検知実行要否情報をもとに、改変検知が必要かどうかを判断する。改変検知が必要な場合はS1103へ進み、不要な場合は次のプリンタードライバーの処理のため、S1102のステップに戻る。S1103で、プリンタードライバー管理モジュール270が、S1101で取得したプリンタードライバー情報をもとに、タスクでインストールするプリンタードライバーが改変されていないかどうかを検知する。検知方法としては、例えばS1101で取得したプリンタードライバー情報に含まれるタスク作成時点でのプリンタードライバーのハッシュ値を、タスク実行時点でのプリンタードライバーのハッシュ値と比較する、などが挙げられる。それ以外の方法であっても、プリンタードライバーが改変されているかどうかを検出できる方法であれば何でも良い。S1104で、プリンタードライバー管理モジュール270が、S1103の検知結果をもとに、プリンタードライバーの改変があったかどうかを判断する。改変があったと判断された場合はタスクを実行せずにそのまま処理を終了する。
【0060】
なお、タスク作成時からタスク実行時までにプリンタードライバーが改変されるケースとしては、アーカイブモジュール218にアーカイブされたプリンタードライバーファイルの改ざんや破壊、バージョンアップや設定変更に伴う更新などが想定される。プリンタードライバーファイルの改ざんや破壊の場合にはタスク実行を中断するが、プリンタードライバーファイルのバージョンアップや設定情報の変更に伴う更新の場合はタスク実行を行う、などのように分岐させて制御を行ってもよい。また、タスク実行が中止された場合にプリンタードライバー管理モジュール270がリカバリータスクを作成し、ユーザーがタスク情報を再編集することで容易にタスクを再実行できるようにしてもよい。例えば、プリンタードライバーのバージョンアップや設定情報の変更に伴う更新によりタスク実行が中断された場合、リカバリータスクの編集画面においてプリンタードライバーのバージョンアップもしくは設定情報変更の旨を表示してもよい。
【0061】
S1104で、プリンタードライバーの改変が無かったと判断された場合は、次のプリンタードライバーに関して、S1102の処理を行う。本タスクで扱う全てのプリンタードライバーに関してS1102〜S1104の処理が完了したらS1105に進む。
【0062】
S1105で、プリンタードライバー管理モジュール270がアーカイブモジュール218を介して、登録されたプリンタードライバーファイルを取得する。そしてプリンタードライバー管理モジュール270が、取得したプリンタードライバーをクライアントコンピューター120に対してインストールするタスクを実行する。ここでは、クライアントコンピューター120に、プリンタードライバーファイルとインストールさせる命令を送信し、プリンタードライバーエージェント280にプリンタードライバーのインストールを行わせることになる。
【0063】
以上のように、本実施例では、タスクで扱うオブジェクト(例えば、プリンタードライバー)の設定に応じて、タスク実行時にオブジェクトの改変検知を行うかを判断する。また、その改変検知の結果により、タスクの実行可否を判断する。本実施例により、ネットワークの管理者ユーザーなどの望まない改変が行われていたプリンタードライバーがクライアントコンピューター120にインストールされてしまうことを防ぐことができる。また、タスク作成時に、タスク実行時に使用するプリンタードライバーごとに実行時に改変検知を行うか否かをユーザーに選択させ、ユーザーの選択結果に合わせてタスク実行時の挙動を切り替えることも可能となる。
【0064】
また、実施例2においては、とくにプリンタードライバーを例に説明を行ってきた。他にも、リソースファイルをMFPに対して配信するタスクなどにおいても、本実施例と同様の処理を適用することが考えられる。具体的には、リソースファイルに対して署名情報が設定される場合や、管理者ユーザーが図10と類似する画面で特定のリソースファイルを改変検知の対象としたい場合などがあり得るからである。この際にも、ネットワークの管理者ユーザーの望まない改変が行われていたリソースファイルが配信されてしまうことを防ぐことができる。
【0065】
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、ネットワーク上のネットワーク機器を管理するための技術に関する。
【背景技術】
【0002】
従来、プリンターや複合機などのネットワーク機器を管理する管理装置には、夜間などの指定時刻に自動で管理業務(タスク)を実行する「タスク機能」を持つものがあった。これは、ユーザーが任意に選択したオブジェクトに関するタスクが実行されるもので、具体的には、ネットワーク機器にユーザーが選択したリソースデータ(オブジェクト)をダウンロードするタスクなどがあった(例として、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−323364号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
オブジェクトを用いたタスク機能においては、タスク登録時にオブジェクトを選択して、タスク実行時に登録時に指定されたオブジェクトの配信などの処理を行っていた。従来においては、最新のリソースデータをダウンロードさせるといった事を考慮し、タスク実行時に、登録時からオブジェクトに改変があったとしても、そのままタスクを実行していた。しかしながら、ネットワーク機器に対する一部の管理業務においては、タスク実行前にオブジェクトが改変されると、タスクの作成・登録時の管理者の意図に沿わないオブジェクトの処理(不正なデータの配信など)が行われてしまう可能性がある。
【課題を解決するための手段】
【0005】
本発明におけるネットワーク機器を管理する管理装置は、オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶手段と、タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知手段と、前記検知手段により、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止手段と、前記検知手段により、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信手段とを有することを特徴とする。
【発明の効果】
【0006】
本発明により、タスク作成時にユーザーが意図した管理業務とは異なるタスク実行を防ぐことが可能になる。
【図面の簡単な説明】
【0007】
【図1】システム構成およびハードウェア構成を示すブロック図である。
【図2】アプリケーション構成を示すブロック図である。
【図3】データベースサービス内のテーブル構成を示すブロック図である。
【図4】実施例1におけるアプリケーション登録処理のフローチャートである。
【図5】実施例1におけるタスク作成処理のフローチャートである。
【図6】実施例1におけるタスク実行処理のフローチャートである。
【図7】実施例1におけるリカバリータスクの画面例である。
【図8】実施例2におけるプリンタードライバー登録処理のフローチャートである。
【図9】実施例2におけるタスク作成処理のフローチャートである。
【図10】実施例2におけるタスク作成画面例である。
【図11】実施例2におけるタスク実行処理のフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0009】
(実施例1)
本発明に係る管理装置の一実施形態としてのアプリケーションサーバーについて説明する。また被管理対象であるネットワーク機器の一例として、本実施例ではMFP(Multifunction Peripheral)150を取り上げて説明する。なお、ネットワーク機器には、クライアントコンピューターやMFPを含むプリンター、FAXなどの画像形成装置を含む。
【0010】
図1は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのシステム構成およびハードウェア構成を説明するブロック図である。ネットワーク機器管理システムは、ネットワーク170により接続されるアプリケーションサーバー100、クライアントコンピューター120およびMFP150より構成される。なお、アプリケーションサーバー100およびクライアントコンピューター120は汎用コンピューターの構成を有する。クライアントコンピューター120のハードウェア構成についてはアプリケーションサーバー100と同様のため、説明を省略する。
【0011】
アプリケーションサーバー100において、101はCPUであり、ROM103あるいは外部メモリ110に記憶されたアプリケーションプログラム等に基づいて処理を実行する。さらに、CPU101はシステムバス111に接続される各デバイスを総括的に制御する。また、CPU101は、ディスプレイ109上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。102はRAMで、CPU101の主メモリ、ワークエリア等として機能する。103はROMであり、基本I/Oプログラム等の記憶領域として機能する読み出し専用のメモリである。このROM103あるいは外部メモリ110には、CPU101の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶される。さらにROM103あるいは外部メモリ110には上記アプリケーションプログラム等に基づく処理の際に使用するファイルやその他各種データを記憶する。104はネットワークI/Fであり、ネットワーク170へ接続しネットワーク通信を行う。105はキーボードI/Fで、キーボード108や不図示のポインティングデバイスからの入力を制御する。106はディスプレイI/Fで、ディスプレイ109の表示を制御する。107は外部メモリI/Fで、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ110とのアクセスを制御する。110は外部メモリであり、ブートプログラム、各種のアプリケーション、ユーザーファイル、編集ファイル等を記憶する。アプリケーションサーバー100は、CPU101がROM103や外部メモリ110に書き込まれた基本I/OプログラムおよびOSを実行している状態で動作する。基本I/OプログラムはROM103に書き込まれており、OSはROM103もしくは外部メモリ110に書き込まれている。そしてコンピューターの電源がONされたときに、基本I/Oプログラム中のイニシャルプログラムロード機能により、ROM103もしくは外部メモリ110からOSがRAM102に書き込まれ、OSの動作が開始される。111はシステムバスであり、各デバイスを接続する。
【0012】
MFP150において、151はネットワークI/Fであり、ネットワーク170へ接続しネットワーク通信を行う。152はCPUであり、制御プログラム等に基づいてシステムバス163に接続されるプリンターI/F157を介してプリンター158に出力情報としての画像信号を出力する。なお、制御プログラムはROM154や外部メモリ162等に記憶される。CPU152はネットワークI/F151を介してコンピューターとの通信処理が可能となっており、MFP150内の情報等をアプリケーションサーバー100に通知可能に構成されている。さらにCPU152はROM154あるいは外部メモリ162に記憶されたアプリケーションプログラム等に基づいて処理を実行する。153はRAMであり、CPU152の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM153は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。154はROMであり、162はハードディスク等の外部メモリである。このROM154あるいは外部メモリ162には、CPU152の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、MFP150上で利用される情報等が記憶される。155は操作部I/Fであり、操作部156との間のインタフェースをつかさどり、表示すべき画像データを操作部156に対して出力する。また、ユーザーが操作部156を介して入力した情報の受信も行う。156は操作部であり、操作のためのスイッチおよびLED表示器等が配されている操作パネル等に相当する。157はプリンターI/Fで、プリンター158(プリンターエンジン)に出力情報としての画像信号を出力する。159はスキャナーI/Fで、スキャナー160(スキャナーエンジン)からの入力情報として画像信号を受信する。161は外部メモリI/F(メモリコントローラ)であり、ハードディスク(HD)、ICカード等の外部メモリ162のアクセスを制御する。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作部156からのプリンターモード設定情報を記憶するようにしてもよい。163はシステムバスであり、各デバイスを接続する。
【0013】
図2(a)は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのアプリケーション構成を説明するブロック図である。
【0014】
アプリケーションサーバー100において、ネットワークモジュール200、Webサーバーサービスモジュール201、ネットワーク機器管理アプリケーション210は、外部メモリ110に保存されたファイルとして存在する。これらは実行時にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。また、ネットワーク機器管理アプリケーション210は、外部メモリ110のFDや不図示のCD−ROM、あるいはネットワーク170を経由して外部メモリ110のHDに追加することが可能となっている。
【0015】
200はネットワークモジュールであり、任意の通信プロトコルを使用してクライアントコンピューター120やMFP150とのネットワーク通信を行う。201はWebサーバーサービスモジュールであり、クライアントコンピューター120のWebブラウザー221からのHTTPリクエストを受け取るとHTTPレスポンスを応答するサービスを提供する。応答するHTTPレスポンスの例として、外部メモリ110に保存されたWebページデータを返信してもよい。または、ネットワーク機器管理アプリケーション210のUIモジュール211にHTTPレスポンスの生成を要求してもよい。
【0016】
ネットワーク機器管理アプリケーション210は、例えばWebサーバーサービスモジュール201で提供するWebページへのリクエストに応答して処理を実行するプログラムとして実装される。上記のように、ネットワーク機器管理アプリケーション210はWebサーバーサービスモジュール201とともにMFP150を管理するWebアプリケーションを実現している。
【0017】
ネットワーク機器管理アプリケーション210において、211はUIモジュールであり、Webサーバーサービスモジュール201からの要求に応じてHTTPレスポンスを生成する。また、クライアントコンピューター120のWebブラウザー221から送信された入力情報を受信し、必要に応じて各モジュールに送信する。探索モジュール212、アプリケーション管理モジュール213、宛先表管理モジュール214、リソース管理モジュール215、ファームウェア管理モジュール216は、タスク実行時に呼び出されるモジュールの例である。もちろん、これら以外のモジュールを呼び出してタスク実行を行ってもよい。各モジュールはユーザーが入力したタスク情報をデータベースサービス219に格納する。タスク情報の例としては、タスク種別、タスク実行時刻、タスク実行対象のMFP150に関する情報などのタスク実行に必要な各種情報が挙げられる。
【0018】
217はタスク管理モジュールであり、MFP150の管理処理を実行するタスクを管理する。タスク管理モジュール217は定期的にデータベースサービス219を参照して実行すべきタスクが存在しないかどうかを確認し、実行時刻を過ぎているタスクがあればタスク関連情報を元に必要なモジュールを呼び出してタスク実行を行う。そして呼び出されたモジュールは処理が完了したらデータベースサービス219へタスク実行結果を格納する。
【0019】
例えばネットワーク上のMFP150を探索するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217が探索モジュール212を呼び出してタスクを実行する。探索モジュール212はMFP150の探索処理が完了したら、探索結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。また、MFP150へアプリケーションを配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217がアプリケーション管理モジュール213を呼び出してタスクを実行する。アプリケーション管理モジュール213はMFP150へのアプリケーションの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。MFP150へ宛先表を配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217が宛先表管理モジュール214を呼び出してタスクを実行する。なお、ここで宛先表には例えばEメールアドレスやFAX番号等のMFP150で使用される宛先データを含む。宛先表管理モジュール214はMFP150への宛先表の配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。MFP150へリソースファイルを配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217がリソース管理モジュール215を呼び出してタスクを実行する。なお、ここでリソースファイルには例えばフォントファイル、マクロファイル、カラープロファイルなどのMFP150で使用されるファイルを含む。リソース管理モジュール215はMFP150へのリソースファイルの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。MFP150へファームウェアを配信するタスクがデータベースサービス219に格納されていた場合は、タスク管理モジュール217がファームウェア管理モジュール216を呼び出してタスクを実行する。ファームウェア管理モジュール216はMFP150へのファームウェアの配信処理が完了したら、配信結果などの情報をタスク実行結果としてデータベースサービス219へ格納する。
【0020】
218はアーカイブモジュールであり、各モジュールからの要求に応じてアプリケーションファイルやリソースファイルなどのファイルをアーカイブする。また、各モジュールからの要求に応じて、アーカイブされたファイルを取り出す。219はデータベースサービスであり、データを管理し、他モジュールからの要求に合わせてデータの格納と取り出しを行う。データベースサービス219は、ネットワーク機器管理アプリケーション210からアクセス可能であれば、アプリケーションサーバー100とは別の機器上にあってもよい。
【0021】
図3(a)は、データベースサービス219内のテーブル構成の一例を示している。300は、タスクテーブルであり、タスクを一意に識別するタスクID、タスク名、タスクの種別を表すタスク種別ID、実行時刻、実行結果(状況)などが格納される。ここで格納されるタスクの情報は、後述するようにクライアントコンピューターを介してユーザーに提供される。301は、タスク改変検知実行基準テーブルであり、タスクの種別を表すタスク種別ID、改変検知実行要否などが格納される。このテーブルにおいて、アプリケーションインストールタスクに関してはタスク実行時にオブジェクト(アプリケーションファイルなど)の改変検知が必要との設定がされている。一方、宛先表やリソースなどの配信タスクにおいては、オブジェクト(宛先表やリソースファイルなど)の改変検知が不要となっている。これは、一般的に、これらデータの利用に関してネットワーク機器のファームウェアなどの環境情報にあまり依存しない上に、宛先表やリソースは頻繁に更新され易く、最新のものが配信されるべきだからである。302は、アプリケーションテーブルであり、アプリケーションID、アプリケーション名、アプリケーションの使用許諾書(EULA:End User License Agreement)有無情報、アプリケーションのハッシュ値などが格納される。303はタスク対象アプリケーションテーブルであり、タスクID、配信対象のデバイスを一意に識別するデバイスID、アプリケーションID、タスク作成時点でのアプリケーションのハッシュ値などが格納される。304は、デバイステーブルであり、デバイスを一意に識別するデバイスID、デバイス名、MACアドレス、IPアドレスなどが格納される。
【0022】
クライアントコンピューター120において、221はWebブラウザーである。クライアントコンピューター120からアプリケーションサーバー100へのアクセスはWebブラウザー221を通じて行われる。Webブラウザー221はROM103もしくは外部メモリ110に保存されたファイルとして存在し、実行時にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。Webブラウザー221はネットワークモジュール220を介してアプリケーションサーバー100へHTTPリクエストメッセージを送信し、アプリケーションサーバー100から返送されたHTTPレスポンスメッセージを受信して表示する。ユーザーは、Webブラウザー221を介して、タスクの作成や作成した各タスクの実行状況(成功、失敗、未実行)の確認を行うことができる。
【0023】
MFP150において、各種モジュールはROM154あるいは外部メモリ162に保存されたファイルとして存在する。250はネットワークモジュールであり、任意の通信プロトコルを使用してアプリケーションサーバー100やクライアントコンピューター120とのネットワーク通信を行う。251はプリントモジュールであり、ネットワークモジュール250から印刷ジョブを受け取り、印刷処理を行う。252はスキャンモジュールであり、スキャナーI/F159から画像信号を受け取り、スキャン処理を行う。253はUIモジュールであり、操作部I/F155を通じて操作部156への画像データの表示を行う。また、ユーザーが操作部156から入力した情報を操作部I/F155を通じて受信し、CPUへ伝送する。254はアプリケーション管理モジュールであり、MFP150にインストールされるアプリケーションの管理を行う。アプリケーション管理モジュール254はネットワークモジュール250から送られてきたアプリケーションを受信してインストール可能かどうか検証し、インストール可能であればインストール処理を行う。255は宛先表管理モジュールであり、MFP150内で使用される宛先表の管理を行う。宛先表管理モジュール255はネットワークモジュール250から送られてきた宛先表データを受信して検証し、MFP150内で使用可能な宛先表としてデータを格納する。256はリソース管理モジュールであり、MFP150内で使用されるフォント・マクロ・カラープロファイル等のリソースファイルの管理を行う。257はファームウェア管理モジュールであり、MFP150にファームウェアをインストールする。
【0024】
図4を用いて、ユーザーがアプリケーションサーバー100にアプリケーションファイルを登録する際のアプリケーションサーバー100の動作について述べる。
【0025】
S400において、ユーザーが登録したいアプリケーションファイルを選択し、アプリケーションサーバー100に送信の指示を行う。ユーザーによるアプリケーションサーバー100へのアクセスは、クライアントコンピューター120上のWebブラウザー221を用いて行われる。ここで送信されたアプリケーションファイルを受信したUIモジュール211はアプリケーション管理モジュール213を呼び出す。
【0026】
S401で、アプリケーション管理モジュール213が受信したアプリケーションファイルの検証を行う。アプリケーションファイルの検証方法としては、アプリケーションファイルを解凍してフォルダー構成や同梱されたファイル拡張子をチェックするなど、アプリケーションファイルが正規のアプリケーションであることを確認できる手順であればよい。S402で、アプリケーション管理モジュール213がS401の検証結果を元にアプリケーションファイルが正規のアプリケーションかどうかを判断する。正規のアプリケーションでない場合はそのまま処理を終了する。正規のアプリケーションの場合はS403に進む。S403で、アプリケーション管理モジュール213がアプリケーションからアプリケーション情報を取得する。取得するアプリケーション情報の例としては、アプリケーション名、EULAの有無、アプリケーションのハッシュ値などが挙げられる。S404で、アプリケーション管理モジュール213が、S403で取得したアプリケーション情報をデータベースサービス219のアプリケーションテーブル302に格納する。なおアプリケーションテーブル302に格納する際、アプリケーションを一意に識別するアプリケーションIDはアプリケーション管理モジュール213が任意の値を設定する。S405で、アプリケーション管理モジュール213が、アーカイブモジュール218を介してアプリケーションファイルを格納する。
【0027】
図5を用いて、ソフトウェアのインストールや情報配信などといった、オブジェクトを送信するタスク作成時のアプリケーションサーバー100の動作を説明する。ここでは、例として、ユーザーがアプリケーションをMFP150にインストールするタスクを作成する際のアプリケーションサーバー100の動作について述べる。もちろん、MFP150に宛先表やリソース(フォントなど)を配信するタスクや、ファームウェアをインストールするタスクなどの場合であっても同様な動作が行われる。
【0028】
S500において、ユーザーによりタスク作成に必要な情報が入力される。ここでは、クライアントコンピューター120上のWebブラウザー221を用いてアプリケーションサーバー100へのアクセスが行われ、ユーザーによる入力情報がアプリケーションサーバー100へ送信される。送信された入力情報を受信したUIモジュール211はアプリケーション管理モジュール213を呼び出す。
【0029】
S501で、アプリケーション管理モジュール213が、受信した入力情報を元にタスク情報の作成を行う。タスク情報には、タスク種別やタスク実行時刻などのタスク実行に関する情報、対象デバイス(MFP150など)やインストール対象のアプリケーションに関する情報などが含まれる。ここでタスク種別とはタスクID等、異なる実行処理を行うタスクがそれぞれ一意に識別できる情報であれば何でもよい。また、タスク実行時刻に関しては、所定時間間隔でタスク実行を繰り返す周期実行の設定が可能になっていてもよい。S502で、アプリケーション管理モジュール213が、S501で作成したタスク情報をデータベースサービス219のタスクテーブル300およびタスク対象アプリケーションテーブル303に格納する。S503で、アプリケーション管理モジュール213がデータベースサービス219のタスク改変検知実行基準テーブル301から改変検知実行基準情報を取得する。なお、本実施例ではデータベースサービス219に格納された改変検知実行基準情報を取得しているが、タスクごとに改変検知を実行するか否かを判断できる情報を取得するのであれば他の方法でもよい。例えば、タスク実行時にインストールするアプリケーションがEULAや署名情報を含むかどうかアプリケーションファイルをチェックして改変検知を実行するか否かを判断してもよい。S504で、アプリケーション管理モジュール213が、取得した改変検知実行基準情報を元に、タスク実行時に改変検知が必要かどうかを判断する。改変検知が必要な場合はS505に進み、改変検知が必要ない場合にはタスク作成処理を終了する。
【0030】
S505で、アプリケーション管理モジュール213が、データベースサービス219のタスク対象アプリケーションテーブル303からタスクでインストールを行うアプリケーションの情報を取得する。そして、アプリケーションごとに、アプリケーション管理モジュール213がS506〜S508の処理を行う。S506で、アプリケーション管理モジュール213が、S505で取得したアプリケーション情報を元に、アプリケーションがEULAを含むかどうかを判断する。アプリケーションがEULAを含む場合はS507に進み、アプリケーションがEULAを含まない場合は次のアプリケーションについてS506に進む。S507で、アプリケーション管理モジュール213が、アーカイブモジュール218に格納されたアプリケーションから改変検知情報を取得する。本実施例では改変検知情報としてアプリケーションファイルのハッシュ値を取得する。なお、改変検知情報としては、アプリケーションに含まれるEULAのハッシュ値や、アプリケーションファイルのタイムスタンプ等、アプリケーションが改変されていることを検知できる情報であれば何でもよい。S508で、アプリケーション管理モジュール213が、S507で取得したアプリケーションのハッシュ値をデータベースサービス219のタスク対象アプリケーションテーブル303に格納する。作成するタスクのオブジェクトとなるアプリケーション全てに関して、S506〜S508の処理を終えると、アプリケーションサーバー100による図5で示す動作が終了される。
【0031】
図6を用いて、アプリケーションサーバー100が既に登録されているタスクを実行する際のアプリケーションサーバー100の動作について述べる。本実施例では、アプリケーションサーバー100が実行するタスクの例として、MFP150に対してアプリケーションをインストールするタスクを挙げて説明する。もちろん、MFP150に宛先表やリソースを配信するタスクやファームウェアをインストールするタスクなどであっても、同様な動作が行われる。
【0032】
S600で、タスク管理モジュール217がデータベースサービス219のタスクテーブル300からアプリケーションインストールタスクに関するタスク情報を取得し、アプリケーション管理モジュール213を呼び出す。S601で、アプリケーション管理モジュール213がデータベースサービス219のタスク改変検知実行基準テーブル301から改変検知実行基準情報を取得する。S602で、アプリケーション管理モジュール213が、取得した改変検知実行基準情報を元に改変検知が必要かどうかを判断する。改変検知が必要な場合はS603へ、不要な場合はS606へ進む。
【0033】
S603で、アプリケーション管理モジュール213が、データベースサービス219のタスク対象アプリケーションテーブル303からタスク実行時にインストールするアプリケーションの情報を取得する。そしてアプリケーションごとにS604、S605の処理を行う。S604で、アプリケーション管理モジュール213が、S603で取得したアプリケーション情報をもとにアプリケーションが改変されていないかどうかを検知する。検知方法としては、例えばS603で取得したタスク作成時点でのアプリケーションのハッシュ値を、タスク実行時点でのアプリケーションテーブル302に格納されたアプリケーションのハッシュ値と比較する、などが挙げられる。それ以外の方法であっても、アプリケーションが改変されているかどうかを検出できる方法であれば何でも良い。S605で、アプリケーション管理モジュール213が、S604の検知結果を元にアプリケーションの改変があったかどうかを判断する。改変があった場合はタスクを実行せずにそのまま処理を終了する。
【0034】
なお、タスク作成時からタスク実行時までにアプリケーションが改変されるケースとしては、アーカイブモジュール218にアーカイブされたアプリケーションファイルの改ざんや破壊、アプリケーションのバージョンアップに伴う更新などが想定される。例えば、アプリケーションのバージョンアップの際しては、対象デバイスのファームウェアの更新やEULAの再同意などが必要な場合があり、そういった場合はタスク作成時の設定のままタスクを実行するべきではないかもしれない。そこで、アプリケーションファイルの改ざんや破壊の場合にはタスク実行を中断するが、アプリケーションのバージョンアップに伴う更新の場合はタスク実行を行う、などのように制御を分岐させてもよい。また、タスク実行が中止された場合にアプリケーション管理モジュール213がリカバリータスクを作成し、ユーザーがタスク情報を再編集することで容易にタスクを再実行できるようにしてもよい。例えば、アプリケーションのバージョンアップに伴う更新によりタスク実行が中断された場合、リカバリータスクの編集画面においてアプリケーションがバージョンアップされた旨を表示してもよい。図7に、クライアントコンピューター120のWebブラウザー221上で表示されるリカバリータスク編集画面においてアプリケーションバージョンアップを表示する画面例を示す。なお、図7の詳細については後述する。
【0035】
S605でプリンタードライバーの改変が無かった場合は、次のアプリケーションに関してS604の処理を行う。全てのアプリケーションに関してS604、S605の処理が完了したらS606に進む。S606で、アプリケーション管理モジュール213が、アーカイブモジュール218を介してアーカイブされたアプリケーションファイルを取得する。そしてアプリケーション管理モジュール213が取得したアプリケーションをMFP150に対してインストールするタスクを実行する。ここでは、図5で作成されたタスクの設定(対象デバイスなど)に基づき、アプリケーションファイルとインストール命令の送信などが行われることになる。
【0036】
図7を用いて、S605の処理に対応して表示される画面例の詳細を説明する。700は、インストール対象アプリケーションリストであり、リカバリータスクにおけるインストール対象のアプリケーションに関する情報が表示される。インストール対象アプリケーションリスト700には、インストール対象選択チェックボックス701、アプリケーション名カラム702、アプリケーションバージョンカラム703、アプリケーションIDカラム704などの情報が表示される。実行が中止されたタスクにおいて選択されていたアプリケーションについては、リカバリータスクにおいてもインストール対象選択チェックボックス701がデフォルトで選択状態になっている。バージョンアップされたアプリケーションについてはアプリケーションバージョンカラム703にバージョンアップされた旨が表示される。ユーザーがバージョンアップされたアプリケーションをリカバリータスクのインストール対象に選択した場合は、EULA表示を行いユーザーに再度同意を求めてもよい。705は、戻るボタンであり、ユーザーにクリックされるとリカバリータスク編集の直前ステップ画面に遷移する。706は、次へボタンであり、ユーザーにクリックされるとリカバリータスク編集の直後ステップ画面に遷移する。707は、キャンセルボタンであり、ユーザーにクリックされるとリカバリータスク編集を終了する。
【0037】
以上の処理により、タスクの種類に応じて、タスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断するか否かを切り替えることができる。具体的には、アプリケーションインストールタスクの場合は、タスク実行時にアプリケーションの改変検知によりタスクの実行可否が判断された上でタスクが実行される。それにより、改変されたアプリケーションがMFP150にインストールされるタスクが実行されてしまうことを防ぐことができる。
【0038】
(実施例2)
実施例1では、アプリケーションサーバー100からMFP150にアプリケーションをインストールするタスクを例に、タスク種別に応じてタスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断する方法を説明した。
【0039】
本実施例では、タスク種別に応じてではなく、タスク実行時に使用するオブジェクトに応じてタスク実行時にオブジェクトの改変検知を行いタスクの実行可否を判断するか否かを切り替える例を説明する。ここで、タスクの例として、アプリケーションサーバー100からクライアントコンピューター120に、MFP150で印刷を行うために必要なプリンタードライバーをインストールするタスクを挙げて説明する。また、タスク実行時に改変検知を行うか否かを、タスク作成時にユーザーに選択させる例についても合わせて述べる。
【0040】
本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのシステム構成およびハードウェア構成については、実施例1の図1と同様のため説明を省略する。
【0041】
図2(b)は、本実施形態のアプリケーションサーバーを含むネットワーク機器管理システムのアプリケーション構成を説明するブロック図である。なお、実施例1の図2(a)と重複するモジュールに関しては説明を省略する。
【0042】
アプリケーションサーバー100において、270は、プリンタードライバー管理モジュールであり、クライアントコンピューター120がMFP150で印刷を行う際に必要なプリンタードライバーを管理するモジュールである。またプリンタードライバー管理モジュール270は、クライアントコンピューター120にプリンタードライバーをインストールするタスクが実行される時にタスク管理モジュール217から呼び出されるモジュールでもある。
【0043】
クライアントコンピューター120において、280は、プリンタードライバーエージェントである。プリンタードライバーエージェント280はROM103もしくは外部メモリ110に保存されたファイルとして存在し、実行時にOSやそのモジュールを利用するモジュールによってRAM102にロードされ実行されるプログラムモジュールである。プリンタードライバーエージェント280はネットワークモジュール220を介してアプリケーションサーバー100との双方向通信を行う。プリンタードライバーエージェント280はアプリケーションサーバー100のプリンタードライバー管理モジュール270からの命令をネットワークモジュール220経由で受信する。そして、アプリケーションサーバー100のプリンタードライバー管理モジュール270からプリンタードライバーを取得し、クライアントコンピューター120へのインストールを行う。
【0044】
図3(b)を用いて、データベースサービス219内のテーブル構成の一例を説明する。なお、実施例1の図3(a)と重複するテーブルに関しては説明を省略する。また、図3(b)のテーブル構成はあくまで一例であり、本例とは異なるテーブル構成であってもよい。310は、プリンタードライバーテーブルであり、プリンタードライバーID、PDL、プリンタードライバーバージョン、対応OS、言語、署名・EULAの有無情報、プリンタードライバーファイルのハッシュ値などが格納される。ここでプリンタードライバーIDとはプリンタードライバーを一意に識別するIDである。また、PDLとはPage Description Languageのことである。311は、タスク対象プリンタードライバーテーブルである。311には、タスクID、タスク実行対象のデバイスID、クライアントコンピューターID、プリンタードライバーID、改変検知実行要否情報、タスク作成時点でのプリンタードライバーファイルのハッシュ値などが格納される。312は、クライアントコンピューターテーブルであり、クライアントコンピューター120を一意に識別するクライアントコンピューターID、クライアントコンピューター名、MACアドレス、IPアドレスなどが格納される。
【0045】
実施例1では、タスク改変検知実行基準テーブル301にタスク種別ごとに改変検知実行要否情報が格納されていたが、本実施例ではタスク対象プリンタードライバーテーブル311にプリンタードライバーごとに改変検知実行要否情報が格納されている。このように、実施例2においては、タスク単位ではなく、タスクで扱うオブジェクト(プリンタードライバーなど)単位で改変検知実行要否を判断することができる構成になっている点が実施例1と異なる。
【0046】
図8を用いて、ユーザーがアプリケーションサーバー100にプリンタードライバーファイルを登録する際のアプリケーションサーバー100の動作について述べる。
【0047】
S800において、ユーザーがクライアントコンピューター120上のWebブラウザー221を用いてアプリケーションサーバー100にアクセスし、登録したいプリンタードライバーファイルを選択してアプリケーションサーバー100に送信する。ユーザーから送信されたアプリケーションファイルを受信したUIモジュール211はプリンタードライバー管理モジュール270を呼び出す。
【0048】
S801で、プリンタードライバー管理モジュール270が受信したプリンタードライバーファイルの検証を行う。プリンタードライバーファイルの検証方法としては、ファイルの署名や内容、ファイル拡張子をチェックするなど、プリンタードライバーファイルが正規のプリンタードライバーであることを確認できる手順であればよい。S802で、プリンタードライバー管理モジュール270がS801の検証結果を元にプリンタードライバーファイルが正規のプリンタードライバーかどうかを判断する。正規のプリンタードライバーの場合はS803に進み、正規のプリンタードライバーでない場合はそのまま処理を終了する。
【0049】
S803で、プリンタードライバー管理モジュール270がプリンタードライバーファイルからプリンタードライバー情報を取得する。取得するプリンタードライバー情報の例としては、プリンタードライバー名、プリンタードライバーバージョンなどが挙げられる。S804で、プリンタードライバー管理モジュール270が、S803で取得したプリンタードライバー情報をデータベースサービス219のプリンタードライバーテーブル310に格納する。S805で、プリンタードライバー管理モジュール270が、アーカイブモジュール218を介してプリンタードライバーファイルを格納する。
【0050】
図9を用いて、ユーザーがプリンタードライバーをクライアントコンピューター120にインストールするタスクを作成する際のアプリケーションサーバー100の動作を説明する。
【0051】
S900において、ユーザーによりタスク作成に必要な情報が入力される。ここでは、クライアントコンピューター120上のWebブラウザー221を用いてアプリケーションサーバー100へのアクセスが行われ、ユーザーによる入力情報がアプリケーションサーバー100へ送信される。プリンタードライバーインストールタスクの作成に際しては、Webブラウザー221にプリンタードライバーの改変検知の要否情報をユーザーが入力するための画面(図10)が表示される。なお、図10の詳細な説明は後述する。ユーザーから送信された入力情報を受信したUIモジュール211はプリンタードライバー管理モジュール270を呼び出す。
【0052】
S901で、プリンタードライバー管理モジュール270が、受信した入力情報をもとにタスク情報の作成を行う。タスク情報には、タスクを一意に識別するタスクIDやタスク実行時刻などのタスク実行に関する情報、対象デバイス(MFP150など)やクライアントコンピューター120、インストール対象のプリンタードライバーに関する情報などが含まれる。インストール対象のプリンタードライバーに関する情報には、図10の画面上のユーザー入力をもとに作成されるプリンタードライバーごとの改変検知の要否情報も含まれる。S902で、プリンタードライバー管理モジュール270が、S901で作成したタスク情報をデータベースサービス219のタスクテーブル300およびタスク対象プリンタードライバーテーブル311に格納する。S903で、プリンタードライバー管理モジュール270が、データベースサービス219のタスク対象プリンタードライバーテーブル311から、タスクでインストールを行うプリンタードライバーの情報を取得する。
【0053】
その後、本タスクで扱うプリンタードライバーごとに、S904〜S908の処理を行う。S904で、プリンタードライバー管理モジュール270が、S903で取得したプリンタードライバー情報をもとに、プリンタードライバーが署名を含むかどうかを判断する。署名を含む場合はS907へ、署名を含まない場合はS905へ進む。S905で、プリンタードライバー管理モジュール270が、S903で取得したプリンタードライバー情報をもとに、プリンタードライバーがEULAを含むかどうかを判断する。EULAを含む場合はS907へ、EULAを含まない場合はS906へ進む。S906で、プリンタードライバー管理モジュール270が、プリンタードライバーが改変検知を実行する設定になっているかどうかを判断する。これは、図10で示す画面を介して行われた設定である。改変検知を実行する設定になっている場合はS907へ進み、改変検知を実行しない設定になっている場合は次のプリンタードライバーに関してS904のステップに進む。S907で、プリンタードライバー管理モジュール270が、プリンタードライバーファイルから改変検知情報を取得する。本実施例では改変検知情報としてプリンタードライバーファイルのハッシュ値を取得する。なお、改変検知情報としては、プリンタードライバーに含まれるEULAのハッシュ値や、プリンタードライバーファイルのタイムスタンプ等、プリンタードライバーが改変されていることを検知できる情報であれば何でもよい。S908で、プリンタードライバー管理モジュール270が、S907で取得したプリンタードライバーファイルのハッシュ値をデータベースサービス219のタスク対象プリンタードライバーテーブル311に格納する。作成するタスクのオブジェクトとなるプリンタードライバー全てに関して、S904〜S908の処理を終えると、アプリケーションサーバー100による図9で示す動作が終了される。
【0054】
図10を用いて、S900の処理に対応する画面例の詳細を説明する。1000は、タスク実行時に改変検知を行うかどうかを設定するチェックボックスである。1000にチェックが付いている状態の場合のみ、サブ設定項目である1001から1003までのコントロールは有効化される。1001は、タスク対象プリンタードライバーのすべてを改変検知対象とする設定を行うラジオボタンである。1002は、ユーザーが選択したタスク対象プリンタードライバーのみを改変検知の対象とする設定を行うラジオボタンである。1001と1002は対になっており、どちらか一方にチェックが付いている場合、もう一方のコントロールはチェックが外れる。1000および1002にチェックが付いている状態でのみ、サブ設定項目である1003のコントロールは有効化される。1003は、タスク対象プリンタードライバーリストであり、ユーザーが直前のタスク作成ステップで選択済みのタスク対象プリンタードライバーがすべてリスト表示される。
【0055】
1003のコントロールはチェックボックスカラム1004、PDLカラム1005、プリンターバージョンカラム1006、対象OSカラム1007、言語カラム1008、署名有無カラム1009、EULA表示ボタンカラム1010から構成される。1003のリストには各プリンタードライバーの情報が表示され、プリンタードライバーがEULAを含む場合のみ、EULA表示ボタンカラム1010の該当行のEULA表示ボタンが有効化される。ユーザーにEULA表示ボタンがクリックされると、別画面でEULAの内容が表示される。チェックボックスカラム1004のチェックボックスは、プリンタードライバーが署名/EULAのいずれかを含む場合、該当行のチェックボックスはチェック状態のままユーザー選択できない状態になる。これは、プリンタードライバーが署名/EULAのいずれかを含む場合は、ユーザーに選択させずに改変検知を行う設定になるためである。1011は、戻るボタンであり、ユーザーにクリックされるとインストールタスク作成の直前ステップ画面に遷移する。1012は、次へボタンであり、ユーザーにクリックされるとインストールタスク作成の直後ステップ画面に遷移する。1013は、キャンセルボタンであり、ユーザーにクリックされるとインストールタスク作成を終了する。
【0056】
ユーザーが次へボタン1012をクリックし、最終的にタスクの登録を行うと、図10の画面における選択状態がタスク作成に必要な情報として、アプリケーションサーバー100に送信される。1000および1001がチェックされていた場合、プリンタードライバー管理モジュール270がすべてのプリンタードライバーについてタスク実行時に改変検知実行を行うように改変検知実行要否情報を設定する。一方、1000および1002がチェックされていた場合は、プリンタードライバー管理モジュール270が1003における1004がチェックされているプリンタードライバーのみタスク実行時に改変検知実行を行うように改変検知実行要否情報を設定する。1000がチェックされていない場合は、プリンタードライバー管理モジュール270がすべてのプリンタードライバーについてタスク実行時に改変検知実行を行わないように改変検知実行要否情報を設定する。
【0057】
図11を用いて、アプリケーションサーバー100がタスクを実行する際のアプリケーションサーバー100の動作について述べる。本実施例では、アプリケーションサーバー100が実行するタスクの例として、クライアントコンピューター120に対してプリンタードライバーをインストールするタスクを挙げて説明する。
【0058】
S1100で、タスク管理モジュール217がデータベースサービス219のタスクテーブル300からプリンタードライバーインストールタスクに関するタスク情報を取得し、プリンタードライバー管理モジュール270を呼び出す。S1101で、プリンタードライバー管理モジュール270がデータベースサービス219のタスク対象プリンタードライバーテーブル311から、タスクでインストールするプリンタードライバーの情報を取得する。なお、取得するプリンタードライバー情報にはタスク実行時に改変検知を行うか否かの改変検知実行要否情報を含む。
【0059】
そして、本タスクでインストール対象となるプリンタードライバーごとに、S1102〜S1104の処理を行う。S1102で、プリンタードライバー管理モジュール270が、取得したプリンタードライバー情報に含まれる改変検知実行要否情報をもとに、改変検知が必要かどうかを判断する。改変検知が必要な場合はS1103へ進み、不要な場合は次のプリンタードライバーの処理のため、S1102のステップに戻る。S1103で、プリンタードライバー管理モジュール270が、S1101で取得したプリンタードライバー情報をもとに、タスクでインストールするプリンタードライバーが改変されていないかどうかを検知する。検知方法としては、例えばS1101で取得したプリンタードライバー情報に含まれるタスク作成時点でのプリンタードライバーのハッシュ値を、タスク実行時点でのプリンタードライバーのハッシュ値と比較する、などが挙げられる。それ以外の方法であっても、プリンタードライバーが改変されているかどうかを検出できる方法であれば何でも良い。S1104で、プリンタードライバー管理モジュール270が、S1103の検知結果をもとに、プリンタードライバーの改変があったかどうかを判断する。改変があったと判断された場合はタスクを実行せずにそのまま処理を終了する。
【0060】
なお、タスク作成時からタスク実行時までにプリンタードライバーが改変されるケースとしては、アーカイブモジュール218にアーカイブされたプリンタードライバーファイルの改ざんや破壊、バージョンアップや設定変更に伴う更新などが想定される。プリンタードライバーファイルの改ざんや破壊の場合にはタスク実行を中断するが、プリンタードライバーファイルのバージョンアップや設定情報の変更に伴う更新の場合はタスク実行を行う、などのように分岐させて制御を行ってもよい。また、タスク実行が中止された場合にプリンタードライバー管理モジュール270がリカバリータスクを作成し、ユーザーがタスク情報を再編集することで容易にタスクを再実行できるようにしてもよい。例えば、プリンタードライバーのバージョンアップや設定情報の変更に伴う更新によりタスク実行が中断された場合、リカバリータスクの編集画面においてプリンタードライバーのバージョンアップもしくは設定情報変更の旨を表示してもよい。
【0061】
S1104で、プリンタードライバーの改変が無かったと判断された場合は、次のプリンタードライバーに関して、S1102の処理を行う。本タスクで扱う全てのプリンタードライバーに関してS1102〜S1104の処理が完了したらS1105に進む。
【0062】
S1105で、プリンタードライバー管理モジュール270がアーカイブモジュール218を介して、登録されたプリンタードライバーファイルを取得する。そしてプリンタードライバー管理モジュール270が、取得したプリンタードライバーをクライアントコンピューター120に対してインストールするタスクを実行する。ここでは、クライアントコンピューター120に、プリンタードライバーファイルとインストールさせる命令を送信し、プリンタードライバーエージェント280にプリンタードライバーのインストールを行わせることになる。
【0063】
以上のように、本実施例では、タスクで扱うオブジェクト(例えば、プリンタードライバー)の設定に応じて、タスク実行時にオブジェクトの改変検知を行うかを判断する。また、その改変検知の結果により、タスクの実行可否を判断する。本実施例により、ネットワークの管理者ユーザーなどの望まない改変が行われていたプリンタードライバーがクライアントコンピューター120にインストールされてしまうことを防ぐことができる。また、タスク作成時に、タスク実行時に使用するプリンタードライバーごとに実行時に改変検知を行うか否かをユーザーに選択させ、ユーザーの選択結果に合わせてタスク実行時の挙動を切り替えることも可能となる。
【0064】
また、実施例2においては、とくにプリンタードライバーを例に説明を行ってきた。他にも、リソースファイルをMFPに対して配信するタスクなどにおいても、本実施例と同様の処理を適用することが考えられる。具体的には、リソースファイルに対して署名情報が設定される場合や、管理者ユーザーが図10と類似する画面で特定のリソースファイルを改変検知の対象としたい場合などがあり得るからである。この際にも、ネットワークの管理者ユーザーの望まない改変が行われていたリソースファイルが配信されてしまうことを防ぐことができる。
【0065】
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶手段と、
タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知手段と、
前記検知手段により、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止手段と、
前記検知手段により、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信手段とを有することを特徴とする管理装置。
【請求項2】
前記検知手段は、タスクに、ネットワーク機器に対してアプリケーションをインストールさせる設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項1に記載の管理装置。
【請求項3】
前記検知手段は、タスクで扱うオブジェクトに、使用許諾書のファイル及び署名情報の何れかの設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項1または2に記載の管理装置。
【請求項4】
前記検知手段は、タスクで扱うオブジェクトに、ユーザーによる改変検知を要する旨の設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項1乃至3の何れか1項に記載の管理装置。
【請求項5】
タスクに、ネットワーク機器に対して宛先表またはリソースファイルを送信する設定が行われている場合に、前記検知手段による変更の検知を行わないことを特徴とする請求項1または2に記載の管理装置。
【請求項6】
前記オブジェクトの情報は、前記オブジェクトのハッシュ値、前記オブジェクトに対応する使用許諾書のファイルのハッシュ値、及び前記オブジェクトのタイムスタンプの少なくとも何れかであることを特徴とする請求項1乃至5の何れか1項に記載の管理装置。
【請求項7】
前記タスクには、オブジェクト、ネットワーク機器、タスク実行の時間が設定され、
前記検知手段による検知は、前記タスクに設定されるタスク実行の時間に行われることを特徴とする請求項1乃至6の何れか1項に記載の管理装置。
【請求項8】
前記ネットワーク機器は、画像形成装置及びクライアントコンピューターの少なくとも何れかを含むことを特徴とする請求項1乃至7の何れか1項に記載の管理装置。
【請求項9】
さらに、作成されたタスクの実行状況を提供する提供手段を有することを特徴とする請求項1乃至8の何れか1項に記載の管理装置。
【請求項10】
前記検知手段により変更が検知されるのは、オブジェクトの改ざん、破壊、及びバージョンアップによる更新の少なくとも何れかが行われた場合であることを特徴とする請求項1乃至9の何れか1項に記載の管理装置。
【請求項11】
さらに、前記検知手段により変更が検知された際に、該変更がオブジェクトのバージョンアップによる更新によるものでなかった場合には前記中止手段によりタスクの実行を中止させ、該変更がオブジェクトのバージョンアップによる更新によるものであった場合には更新したオブジェクトを扱うタスクを新たに作成するための画面を表示するための制御手段を有することを特徴とする請求項1乃至9の何れか1項に記載の管理装置。
【請求項12】
オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶工程と、
タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知工程と、
前記検知工程において、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止工程と、
前記検知工程において、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信工程とを有することを特徴とする制御方法。
【請求項13】
前記検知工程では、タスクに、ネットワーク機器に対してアプリケーションをインストールさせる設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項12に記載の制御方法。
【請求項14】
タスクに、ネットワーク機器に対して宛先表またはリソースファイルを送信する設定が行われている場合に、前記検知工程における検知を行わないことを特徴とする請求項12または13に記載の制御方法。
【請求項15】
前記オブジェクトの情報は、前記オブジェクトのハッシュ値、前記オブジェクトに対応する使用許諾書のファイルのハッシュ値、及び前記オブジェクトのタイムスタンプの少なくとも何れかであることを特徴とする請求項12乃至14の何れか1項に記載の制御方法。
【請求項16】
前記ネットワーク機器は、画像形成装置及びクライアントコンピューターの少なくとも何れかを含むことを特徴とする請求項12乃至15の何れか1項に記載の制御方法。
【請求項17】
さらに、作成されたタスクの実行状況を提供する提供工程を有することを特徴とする請求項12乃至16の何れか1項に記載の制御方法。
【請求項18】
請求項1乃至11の何れか1項に記載の手段としてコンピューターを機能させるためのプログラム。
【請求項1】
オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶手段と、
タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知手段と、
前記検知手段により、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止手段と、
前記検知手段により、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信手段とを有することを特徴とする管理装置。
【請求項2】
前記検知手段は、タスクに、ネットワーク機器に対してアプリケーションをインストールさせる設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項1に記載の管理装置。
【請求項3】
前記検知手段は、タスクで扱うオブジェクトに、使用許諾書のファイル及び署名情報の何れかの設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項1または2に記載の管理装置。
【請求項4】
前記検知手段は、タスクで扱うオブジェクトに、ユーザーによる改変検知を要する旨の設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶手段に記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項1乃至3の何れか1項に記載の管理装置。
【請求項5】
タスクに、ネットワーク機器に対して宛先表またはリソースファイルを送信する設定が行われている場合に、前記検知手段による変更の検知を行わないことを特徴とする請求項1または2に記載の管理装置。
【請求項6】
前記オブジェクトの情報は、前記オブジェクトのハッシュ値、前記オブジェクトに対応する使用許諾書のファイルのハッシュ値、及び前記オブジェクトのタイムスタンプの少なくとも何れかであることを特徴とする請求項1乃至5の何れか1項に記載の管理装置。
【請求項7】
前記タスクには、オブジェクト、ネットワーク機器、タスク実行の時間が設定され、
前記検知手段による検知は、前記タスクに設定されるタスク実行の時間に行われることを特徴とする請求項1乃至6の何れか1項に記載の管理装置。
【請求項8】
前記ネットワーク機器は、画像形成装置及びクライアントコンピューターの少なくとも何れかを含むことを特徴とする請求項1乃至7の何れか1項に記載の管理装置。
【請求項9】
さらに、作成されたタスクの実行状況を提供する提供手段を有することを特徴とする請求項1乃至8の何れか1項に記載の管理装置。
【請求項10】
前記検知手段により変更が検知されるのは、オブジェクトの改ざん、破壊、及びバージョンアップによる更新の少なくとも何れかが行われた場合であることを特徴とする請求項1乃至9の何れか1項に記載の管理装置。
【請求項11】
さらに、前記検知手段により変更が検知された際に、該変更がオブジェクトのバージョンアップによる更新によるものでなかった場合には前記中止手段によりタスクの実行を中止させ、該変更がオブジェクトのバージョンアップによる更新によるものであった場合には更新したオブジェクトを扱うタスクを新たに作成するための画面を表示するための制御手段を有することを特徴とする請求項1乃至9の何れか1項に記載の管理装置。
【請求項12】
オブジェクトと該オブジェクトを送信すべきネットワーク機器が設定されたタスクを作成する際に、該タスクで扱うオブジェクトの情報を取得して記憶する記憶工程と、
タスクを実行する際に、該タスクまたは該タスクで扱うオブジェクトの設定に応じて、該タスクで扱うオブジェクトの情報が前記記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知する検知工程と、
前記検知工程において、前記オブジェクトの情報に変更があると検知された際に、該タスクの実行を中止する中止工程と、
前記検知工程において、前記オブジェクトの情報に変更がないと検知された際に、該タスクの実行することにより、該タスクで扱うオブジェクトを送信する送信工程とを有することを特徴とする制御方法。
【請求項13】
前記検知工程では、タスクに、ネットワーク機器に対してアプリケーションをインストールさせる設定が行われている場合に、該タスクで扱うオブジェクトの情報が前記記憶されたタスクが作成された際のオブジェクトの情報から変更があるかを検知することを特徴とする請求項12に記載の制御方法。
【請求項14】
タスクに、ネットワーク機器に対して宛先表またはリソースファイルを送信する設定が行われている場合に、前記検知工程における検知を行わないことを特徴とする請求項12または13に記載の制御方法。
【請求項15】
前記オブジェクトの情報は、前記オブジェクトのハッシュ値、前記オブジェクトに対応する使用許諾書のファイルのハッシュ値、及び前記オブジェクトのタイムスタンプの少なくとも何れかであることを特徴とする請求項12乃至14の何れか1項に記載の制御方法。
【請求項16】
前記ネットワーク機器は、画像形成装置及びクライアントコンピューターの少なくとも何れかを含むことを特徴とする請求項12乃至15の何れか1項に記載の制御方法。
【請求項17】
さらに、作成されたタスクの実行状況を提供する提供工程を有することを特徴とする請求項12乃至16の何れか1項に記載の制御方法。
【請求項18】
請求項1乃至11の何れか1項に記載の手段としてコンピューターを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−227674(P2011−227674A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−96332(P2010−96332)
【出願日】平成22年4月19日(2010.4.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願日】平成22年4月19日(2010.4.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]