(57)【要約】【課題】停止できないアプリケーションの設定値の操作を安全確実に実行すること。【解決手段】複合機の設定値操作サービス６０７は、設定値の操作が要求されたアプリケーションが停止可能な場合、要求された操作内容（設定情報５００）をＨＤＤ／フラッシュメモリ３０４の一時領域に格納する。また、複合機の再起動に際して前記要求された操作を実行するための実行指示ファイル９００を、ＨＤＤ／フラッシュメモリ３０４に格納して再起動後の操作実行を予約しておく。そして、複合機の再起動時に、アプリケーション管理部６０４が、プログラムの起動順を、実行指示ファイル９００に従って、操作対象のアプリケーションよりも設定値操作サービス６０７の起動が先になるように変更し、該変更した起動順で起動する。そして、再起動後の設定値操作サービス６０７が起動時処理にて、設定情報５００に従って操作対象のアプリケーションの設定値を操作する。【選択図】図６
2013186518.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのアプリケーションと、前記アプリケーションの設定値の操作を実行する設定値操作サービスとを含む複数のプログラムを実行可能な画像形成装置であって、
前記アプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定手段と、
前記判定手段により前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約手段と、
前記画像形成装置の再起動時に、前記プログラムの起動順を、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記設定値操作サービスの起動が先になるように変更する変更手段と、を有し、
前記設定値操作サービスは、前記画像形成装置の再起動により起動されると、前記操作内容に従って前記操作対象のアプリケーションの設定値を操作する、ことを特徴とする画像形成装置。
【請求項２】
前記設定値操作サービスは、前記操作対象のアプリケーションの設定値を操作後に、前記実行指示情報を削除する、ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記予約手段により前記実行指示情報が格納された場合に、前記画像形成装置の再起動を促す通知を、前記操作の要求元に通知する通知手段を有する、ことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記変更手段は、前記設定値操作サービスが前記設定値を操作するために必要とする他のプログラムが存在する場合には、該プログラムの起動が、前記設定値操作サービスの起動よりも先になるように、前記プログラムの起動順を変更する、ことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記判定手段により前記操作対象となるアプリケーションが停止可能と判定された場合には、前記操作対象となるアプリケーションを停止させ、前記設定値操作サービスが前記操作対象のアプリケーションの設定値を操作する、ことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記設定値操作サービスによる前記設定値の操作が終了した後に、前記停止された操作対象アプリケーションを開始する、ことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記操作対象となるアプリケーションの停止に失敗した場合、前記予約手段は、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する、ことを特徴とする請求項５又は６に記載の画像形成装置。
【請求項８】
前記アプリケーションの設定値に対する操作が要求された際に、前記操作対象となるアプリケーションが停止中の場合には、前記設定値操作サービスが、前記停止中の操作対象のアプリケーションの設定値を操作する、ことを特徴とする請求項１乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
前記アプリケーションの設定情報の操作は、前記アプリケーションの設定項目に設定値を設定する操作、前記アプリケーションの設定項目に設定されている設定値を取得する操作、前記アプリケーションの設定項目に設定されている設定値を削除する操作の少なくともいずれか１つを含むことを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
少なくとも１つのアプリケーションと、前記アプリケーションの設定値の操作を実行する設定値操作サービスとを含む複数のプログラムを実行可能な画像形成装置であって、
前記画像形成装置が実行する、
前記アプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定ステップと、
前記判定ステップで前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約ステップと、
前記画像形成装置の再起動時に、前記プログラムの起動順を、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記設定値操作サービスの起動が先になるように変更する変更ステップと、
前記画像形成装置の再起動により起動された前記設定値操作サービスが前記操作内容に従って前記操作対象のアプリケーションの設定値を操作するステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項１１】
コンピュータを、
画像形成装置で実行されるアプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定手段と、
前記判定手段により前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約手段として機能させるための制御プログラムであって、
前記画像形成装置は、前記画像形成装置の再起動時に、前記プログラムの起動順が、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記アプリケーションの設定値の操作を実行する設定値操作サービスの起動が先になるように変更されるものであり、
前記設定値操作サービスは、前記画像形成装置の再起動により起動されると、前記操作内容に従って前記操作対象のアプリケーションの設定値を操作することを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置の制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
近年、Ｗｅｂサービスなどの通信プロトコルを用いて、情報配信装置から、複合機等の画像形成装置にインストールされているアプリケーションプログラム（以下、アプリケーション）の設定値を操作することが可能となってきている。
【０００３】
特許文献１では、複合機にインストールされているアプリケーションの設定値が記載されたアプリケーション設定情報を、情報配信装置から複合機に送付し、複合機において前記アプリケーション設定情報に記載された設定値を反映する技術が提案されている。複合機のアプリケーション設定受信モジュールは、情報配信装置からアプリケーション設定情報を受信すると、複合機で実行されているアプリケーションに対して設定情報の反映を依頼する。該依頼されたアプリケーションは、前記アプリケーション設定受信モジュールから受け取った設定情報を自身へ反映する。
【０００４】
このとき、設定情報を反映させる操作対象アプリケーションが実行中の場合、実行中のまま設定情報を書き換えることは、アプリケーションに予期しない影響を与えることが考えられる。そこで、一旦アプリケーションを停止した上で、設定情報を書き換えることが望ましいと考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９８５９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、現実には全てのアプリケーションが停止できるとは限らず、停止できないアプリケーションがある。例えば、ログインアプリケーションと呼ばれるログイン中のユーザ管理を目的とするアプリケーションがこれに該当する。
【０００７】
ログインアプリケーションは、ログイン中に任意のアプリケーションから任意のタイミングでログインコンテキストについての問い合わせを受ける可能性があるので、停止させることができない。
また、停止可能なアプリケーションであっても、アプリケーションを停止させようとしたときに、停止に失敗し、停止できないことも考えられる。
【０００８】
このような状況において、アプリケーションの設定情報を書き換える場合、アプリケーションを実行中のまま設定情報の書き換え操作を行うこととなってしまう。そのため、アプリケーションの動作に予期せぬ影響を及ぼす可能性が考えられる。このため、場合によっては、上記の予期せぬ影響を防ぐために、設定情報の書き換え操作を行うタイミングに制限をかける必要性があった。
【０００９】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像形成装置において、停止できない、あるいは停止に失敗したアプリケーションの設定値操作（配信、取得、削除）を、アプリケーションの動作に予期せぬ影響を及ぼすことなく、安全確実に実行することを可能にする仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、少なくとも１つのアプリケーションと、前記アプリケーションの設定値の操作を実行する設定値操作サービスとを含む複数のプログラムを実行可能な画像形成装置であって、前記アプリケーションの設定値に対する操作が要求された場合に、操作対象となるアプリケーションが停止可能であるか判定する判定手段と、前記判定手段により前記操作対象となるアプリケーションが停止不可能と判定された場合には、前記要求された操作内容を不揮発性の記憶領域に格納し、前記画像形成装置の再起動に際して前記要求された操作を実行するための実行指示情報を、該再起動の処理において読み出し可能な不揮発性の記憶領域に格納する予約手段と、前記画像形成装置の再起動時に、前記プログラムの起動順を、前記実行指示情報に従って、前記操作対象のアプリケーションよりも前記設定値操作サービスの起動が先になるように変更する変更手段と、を有し、前記設定値操作サービスは、前記画像形成装置の再起動により起動されると、前記操作内容に従って前記操作対象のアプリケーションの設定値を操作する、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、画像形成装置において、停止できない、あるいは停止に失敗したアプリケーションの設定値操作を、アプリケーションの動作に予期せぬ影響を及ぼすことなく、安全確実に実行することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例を示す画像形成装置と管理装置が動作する管理システムの全体構成の一例を示す図である。
【図２】管理装置１１０のハードウェア内部構成の一例を示すブロック図である。
【図３】複合機１２０、１３０の内部構成の一例を示す図である。
【図４】管理装置１１０上で稼動するソフトウェアの構成の一例を示す図である。
【図５】遠隔設定に対応したアプリケーションのアプリケーション設定情報の構成の一例を示す図である。
【図６】複合機１２０，１３０のソフトウェアモジュール階層について説明した図である。
【図７】管理装置１１０で実行される処理の一例を示すフローチャートである。
【図８】管理装置１１０から操作要求（配信／削除／取得）がなされた場合の複合機１２０における設定値操作サービス６０７の動作の一例を示すフローチャートである。
【図９】操作内容が配信である場合の実行指示ファイル９００の一例を示す図である。
【図１０】複合機が起動するときのサービス起動順リストの一例を示す図である。
【図１１】操作対象アプリケーションが停止不可能あるいは停止に失敗した場合に複合機が再起動されるときのアプリケーション管理部６０４の動作の一例を示すフローチャートである。
【図１２】図１１のＳ１１３０におけるアプリケーションの起動時処理の一例を示すフローチャートである。
【図１３】アプリケーション管理部６０４による図１１のＳ１１２０における複合機再起動時のサービス起動順の入れ替え処理の一例を示すフローチャートである。
【図１４】図１３で示した起動順入れ替えアルゴリズムによる起動順位の入れ替え結果を示す図である。
【図１５】再起動後の操作実行サービス９０４に記されている設定値操作サービス６０７の起動時処理の動作の一例を示すフローチャートである。
【図１６】取得操作の場合の実行指示ファイルの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
本実施形態では、ネットワーク上にある管理装置が複合機等の画像形成装置にインストールされているアプリケーションの設定値を操作する際の動作について説明する。
図１は、本発明の一実施例を示す画像形成装置と管理装置が動作する管理システムの全体構成の一例を示す図である。
図１において、１１０は本実施例の管理装置である。１２０、１３０は、本実施例の画像形成装置としての複合機（ＭＦＰ；Multifunction Peripheral）である。管理装置１１０と、複合機１２０，１３０は、ネットワーク（ＬＡＮ）１００により通信可能に接続されている。
【００１４】
図２は、管理装置１１０のハードウェア内部構成の一例を示すブロック図である。
なお、本実施例の管理装置１１０は、パーソナルコンピュータ（ＰＣ）上に実現されるため、汎用コンピュータと同様の構成を有する。
図２に示すように、管理装置１１０は、制御部２００に、入力部２０４、出力部２０５、通信制御部２０６、記憶部２０８、記憶媒体駆動部２０９、入出力インターフェース（入出力Ｉ／Ｆ）２１０が、バスライン２０７を介して接続することにより構成されている。
【００１５】
バスライン２０７は、制御部２００とその他の構成要素との間のデータ信号、制御信号などの送受信を媒介する。
制御部２００は、ＣＰＵ２０１、ＲＯＭ(Read Only Memory)２０２、ＲＡＭ(Random Access Memory)２０３から構成されている。
ＣＰＵ２０１は、所定のプログラムに従って、各種の演算、情報処理、及び管理装置１１０全体の制御などを行う。
【００１６】
ＲＯＭ２０２は、ＣＰＵ２０１が各種演算や制御を行うための各種プログラム、データ及びパラメータなどを格納した読み込み専用の記憶装置である。ＣＰＵ２０１は、ＲＯＭ２０２からプログラムやデータ、パラメータなどを読み込むことはできるが、これらを書き換えたり消去することはできない。
【００１７】
ＲＡＭ２０３は、ＣＰＵ２０１にワーキングメモリとして使用されるランダムアクセス可能な記憶装置である。ＣＰＵ２０１は、ＲＡＭ２０３にプログラムやデータなどを書き込んだり消去したりすることができる。
【００１８】
入力部２０４は、例えばキーボードやマウスなどの入力装置から構成されている。キーボードは、端末装置に対して文字や数字などの情報を入力するための装置であり、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。キーボードは、例えばユーザが複合機へ設定値を配信設定する情報や削除する設定値に関する情報等を入力したりなどすることができる。マウスは、ポインティングデバイスである。ＧＵＩ(Graphical User Interface)などを用いて端末装置を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。
【００１９】
出力部２０５は、例えば表示装置、印刷装置などから構成される。表示装置は、例えばＣＲＴ(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイなどで構成された情報を画面上に提示するための装置である。表示装置は、キーボードやマウスの入力結果や、ソフトウェアが提供する画面（ユーザインターフェース）などを表示することができる。印刷装置は、例えば、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置によって構成されている。印刷装置は、出力結果（文書や画像など）を紙などの印刷媒体に印刷することができる。
【００２０】
通信制御部２０６は、管理装置１１０と複合機１２０、１３０との通信を確立・維持する。
【００２１】
記憶部２０８は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成され、コンピュータにより読み書き可能である。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。記憶部２０８には、後述のすべての説明で動作主体となる本実施例に係る複合機管理ソフトウェアのプログラムが格納される。その他、通信制御部２０６を制御し、インターネットを介した通信を維持する通信プログラムや、メモリ管理やファイル入出力管理などの管理装置１１０を動作させるための基本ソフトウェアであるＯＳ(Operating System)などが、記憶部２０８に記憶されている。
【００２２】
記憶媒体駆動部２０９は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、ＣＤ−ＲＯＭなどがある。なお、本実施例に係る複合機管理プログラムは、ＣＤ−ＲＯＭなどの記憶媒体に格納された形で供給されても良い。その場合には、記憶媒体駆動部２０９などによって記憶媒体からプログラムが読み取られ、記憶部２０８にインストールされる。
【００２３】
入出力インターフェース２１０は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。入出力インターフェース２１０に当該インターフェースに対応した外部機器を接続することにより、管理装置１１０の機能を拡張することができる。このような外部機器として例えば、ハードディスクなどの記憶装置、スピーカ、マイクロフォンなどがある。
【００２４】
以下、図３を用いて、複合機１２０、１３０の例として、印刷機能やスキャン機能、ネットワーク通信機能などを備える複合機の内部構成について説明する。
図３は、複合機１２０、１３０の内部構成の一例を示す図である。
図３において、３００はコントローラであり、複合機１２０、１３０の複合機のコントローラとして用いることができる。
コントローラ３００は、スキャナ部３１３やプリンタ部３１４と電気的に接続されており、一方ではＬＡＮ３１６を介して管理装置１１０と接続されている。これにより、コントローラ３００は、画像データやデバイス情報の入出力が可能となっている。
【００２５】
コントローラ３００において、ＣＰＵ３０１は、ＲＯＭ３０２に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる各種処理についても統括的に制御する。
【００２６】
ＲＯＭ３０２には、装置のブートプログラムなどが格納（コンピュータ読み取り可能に記録）されている。
ＲＡＭ３０３は、ＣＰＵ３０１が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このＲＡＭ３０３は、記憶した内容を電源ｏｆｆ後も保持しておくＦＲＡＭ(登録商標)、ＳＲＡＭ、電源ｏｆｆ後には記憶した内容が消去されてしまうＤＲＡＭなどにより構成されている。
【００２７】
ＨＤＤ／フラッシュメモリ３０４は、システムソフトウェア（後述する図６に示すソフトウェアモジュールのプログラム）や画像データを格納することが可能なハードディスクドライブ（ＨＤＤ）又はフラッシュメモリである。なお、ＨＤＤ／フラッシュメモリ３０４は、他の不揮発性の記憶装置であってもよい。
【００２８】
操作部Ｉ／Ｆ３０５は、システムバス３１９と操作部３１８とを接続するためのインターフェース部である。この操作部Ｉ／Ｆ３０５は、操作部３１８に表示するための画像データをシステムバス３１９から受取り、操作部３１８に出力すると共に、操作部３１８から入力された情報をシステムバス３１９へと出力する。
【００２９】
ネットワークＩ／Ｆ３０６は、ＬＡＮ３１６、ＷＡＮ３１７及びシステムバス３１９に接続し、情報の入出力を行う。
メール送信Ｉ／Ｆ３０７は、画像形成部３０９から送られた画像データを、指定された送信先にメール送信部３１２及びＬＡＮ３１６（または、ＷＡＮ３１７）を通じて送信する。
【００３０】
スキャナＩ／Ｆ３０８は、スキャナ部３１３から受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナＩ／Ｆ３０８は、受取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。画像形成部３０９は、画像データの方向変換、画像圧縮、伸張部などを行う。
【００３１】
プリンタＩ／Ｆ３１０は、画像形成部３０９から送られた画像データを受取り、この画像データに付随させられている属性データを参照しながら画像データに画像形成を施す。画像形成後の画像データは、プリンタ部３１４に出力される。
【００３２】
ＦＡＸＩ／Ｆ３１１は、画像形成部３０９から送られた画像データを、指定された送信先にＦＡＸ送信部３１５、及びＬＡＮ３１６（または、ＷＡＮ３１７）を通じて送信される。
【００３３】
なお、複合機１２０、１３０に対するユーザ指示やユーザへの情報提示は、例えば、操作部３１８を介して行うようにしてもよいし、ＬＡＮ３１６を介して接続された管理装置１１０を介して行うようにしてもよい。
【００３４】
図４は、管理装置１１０上で稼動するソフトウェアの構成の一例を示す図である。
図４において、４００は、管理装置１１０上で動作する複合機管理ソフトウェアである。この複合機管理ソフトウェア４００は、管理装置１１０のＣＰＵ２０１が記憶部２０８にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【００３５】
ＵＩ制御部４０１は、複合機１２０、１３０の管理者が本ソフトウェアを操作するためのグラフィカルユーザインタフェース（ＧＵＩ）を提供する。グラフィカルユーザインタフェースは、管理装置１１０に備え付けられた出力部２０５に表示されるよう構成される。もしくは、ＨＴＴＰ(HyperText Transfer Protocol)を用いて、他のクライアントＰＣから利用可能なＷｅｂアプリケーションとして、グラフィカルユーザインタフェースを構成することも可能である。
【００３６】
アプリケーション管理部４０２は、ユーザが登録したアプリケーションファイルの情報を管理する。アプリケーションファイルは、ＣＡＢファイルや、ＪＡＲ（Ｊａｖａ(登録商標)ＡＲｃｈｉｖｅ）ファイル、ＺＩＰファイルのように複数のファイルを圧縮して１ファイルで構成される。また、アプリケーション管理部４０２は、アプリケーションに付属する情報を解析し、アプリケーション名や、アプリケーションＩＤ、バージョンなどのアプリケーション付属情報を取り出し、アプリケーションファイルとともに、アプリケーションデータベース４０８に格納する。
【００３７】
デバイス管理部４０３は、探索部４０６を介してネットワークに接続された複合機を探索する。複合機の探索は、ＳＬＰ(Service Location Protocol)や、ＳＮＭＰ(Simple Network Management Protocol)など探索要求パケットを送信することによって実現可能である。デバイス管理部４０３は、探索により発見された複合機に対しては、さらに通信部４０７を介して、複合機の詳細情報（機種名、シリアルナンバー、能力、状態、インストール済みアプリケーションの情報（アプリケーション名や、アプリケーションＩＤ、バージョン等）など）を取得することも可能である。デバイス管理部４０３は、複合機の所在情報（ＩＰアドレス）と複合機から取得した情報を、デバイスデータベース４０９上のデバイスリストに格納する。デバイスデータベース４０９に登録した情報は、ＵＩ制御部４０１を介してユーザが閲覧することも可能である。
【００３８】
インストール処理部４０４は、ＵＩ制御部４０１からのインストール指示を受けて、通信部４０７を介して複合機に接続し、アプリケーションを複合機にインストールするための処理を実行する。さらに、インストール処理部４０４は、インストールされたアプリケーションを開始したり、停止したりするための処理も実行する。アプリケーションを複合機にインストールするための処理とは、例えば当該アプリケーションプログラムおよびそのインストーラプログラムを複合機１２０、１３０に送信し、インストーラプログラムを複合機１２０、１３０に実行させるなどの処理である。
【００３９】
設定値管理部４０５は、通信部４０７を介して前記複合機にインストールされているアプリケーションの設定値を操作する。設定値管理部４０５は、複数の設定値を含む設定情報をまとめて操作することも可能である。また、本実施例では、設定値管理部４０５がＨＴＴＰおよびＳＯＡＰを用いたＷｅｂサービスを用いて、アプリケーション設定値の操作を実現することを想定しているが、他の通信プロトコルで実現してもよい。
【００４０】
設定値管理部４０５により複合機から取得したアプリケーション設定値の情報は、アプリケーションデータベース４０８に格納される。アプリケーションデータベース４０８に登録した情報は、ＵＩ制御部４０１を介してユーザが閲覧することも可能である。複合機へアプリケーション設定値の情報を配信する場合は、アプリケーションデータベース４０８に格納されているもののうち、ＵＩ制御部４０１を介してユーザが選択した設定値の情報を配信する。
【００４１】
アプリケーションデータベース４０８には、複合機にインストールされているアプリケーションを示すアプリケーションリストが登録される。また、デバイスデータベース４０９には、管理装置が検索した複合機のリスト化したデバイスリストが登録される。
【００４２】
図５は、遠隔設定に対応したアプリケーションのアプリケーション設定情報の構成の一例を示す図である。
図５において、５００はアプリケーション設定情報である。アプリケーション設定情報５００（以下、設定情報５００と略称する）は、ＸＭＬ(Extensible Markup Language)形式で記載されている。
【００４３】
本実施例では、通信プロトコルがＨＴＴＰおよびＳＯＡＰであるため、設定情報５００はＸＭＬ形式を用いて記載されているが、別の形式で記載されていてもよい。以下、図５に記載されたアプリケーション設定値情報の例における各項目について説明する。
【００４４】
＜ＡｐｐＩｎｆｏ＞タグで囲まれた領域５０１は、アプリケーション情報記載領域である。＜ＡｐｐＩｎｆｏ＞タグのＡｐｐＩＤ属性には、設定情報５００に関連するアプリケーションのアプリケーションＩＤの値が記述される。ここでは、アプリケーション情報記載領域５０１の＜ＡｐｐＩｎｆｏ＞タグのＡｐｐＩＤ属性として、"１２３４５６７８−１０００−００ｆ０００ｓ５ｂａ６ｄ"という値が記述されている。
【００４５】
＜Ｄａｔａ＞タグで囲まれた項目５０２〜項目５０４は、それぞれアプリケーション設定値である。
＜Ｄａｔａ＞タグのＮａｍｅ属性には、アプリケーション設定値の名称が記述される。また、＜Ｔｙｐｅ＞タグには、＜Ｖａｌｕｅ＞タグの値の型情報が記述され、＜Ｖａｌｕｅ＞タグにはそれぞれの設定項目のアプリケーション設定値が記述される。
【００４６】
アプリケーション設定値５０２では、＜Ｄａｔａ＞タグのＮａｍｅ属性として"Ｆｏｎｔ"、＜Ｔｙｐｅ＞タグの値として「Ｓｔｒｉｎｇ」、＜Ｖａｌｕｅ＞タグの値として「Ｇｏｔｈｉｃ」がそれぞれ記述されている。
【００４７】
また、アプリケーション設定値５０３では、＜Ｄａｔａ＞タグのＮａｍｅ属性として"Ｆｏｎｔ＿Ｃｏｌｏｒ"、＜Ｔｙｐｅ＞タグの値として「Ｓｔｒｉｎｇ」、＜Ｖａｌｕｅ＞タグの値として「Ｂｌａｃｋ」がそれぞれ記述されている。
【００４８】
また、アプリケーション設定値５０４では、＜Ｄａｔａ＞タグのＮａｍｅ属性として"Ｆｏｎｔ＿Ｓｉｚｅ"、＜Ｔｙｐｅ＞タグの値として「Ｓｔｒｉｎｇ」、＜Ｖａｌｕｅ＞タグの値として「１０」がそれぞれ記述されている。
【００４９】
図５に示した設定情報５００は、アプリケーションのＩＤを含み、ＸＭＬで記述したことで各項目及び設定情報全体の境界を、タグを解釈することで特定できる。したがって、これらの定義されたタグを解釈可能であれば、対応したアプリケーションや設定値操作サービス６０７（後述する図６）により操作することができる。
【００５０】
図５におけるアプリケーション設定情報は、アプリケーション設定の「配信」操作を行うときの配信内容を示す例である。アプリケーション設定の「取得」操作を行う場合も、同様のＸＭＬを記述することで、どの設定データを取得するかを指定することが可能である。また、同様にアプリケーション設定の「削除」操作を行う場合も、同様のＸＭＬを記述することで、どの設定データを削除するかを指定することが可能である。
【００５１】
図６は、複合機１２０，１３０のソフトウェアモジュール階層について説明した図である。この複合機のソフトウェアモジュールは、複合機１２０，１３０のＣＰＵ３０１がＨＤＤ／フラッシュメモリ３０４にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【００５２】
図６に示すように、複合機のソフトウェアモジュールは、オペレーティングシステム（ＯＳ）６０１を有している。ＯＳ６０１の上には、各種機器制御のためのコントローラモジュール６０２を有し、その上にアプリケーションプログラムなどのプログラムを逐次実行するためのインタプリタ６０３を有する。
【００５３】
インタプリタ６０３の上には、動的に着脱可能な複数のアプリケーション群を管理するためのアプリケーション管理部６０４を有する。各種機能を実現するアプリケーションは、このアプリケーション管理部６０４の管理下で動作する。
【００５４】
このアプリケーションは、複合機と協働して各種処理をユーザに提供する。このアプリケーションの１つの例として、画像の加工、圧縮を行うアプリケーション、印刷制限などの部門管理を行うアプリケーション６０９、ログイン中のユーザ管理を目的とするログインアプリケーション６１０などをあげることができる。
【００５５】
なお、ログインアプリケーション６１０は、ログイン中に任意のアプリケーションから任意のタイミングでログインコンテキストについての問い合わせの可能性があるので、停止させることができないアプリケーションである。
【００５６】
ソフトウェアモジュールは、インタプリタ６０３を介して複合機のサービスを提供するためのアプリケーションモジュールを動作させることができる。
例えば、アプリケーションインストーラ６０６により、アプリケーション６０９が複合機に組み込まれるのに応答して、アプリケーション管理部６０４はアプリケーション６０９を管理対象として追加する。さらに、複合機内からアプリケーションプログラム６０９が削除されるのに応答して、アプリケーション管理部６０４はアプリケーション６０９を管理対象から外すことができる。
【００５７】
アプリケーション管理部６０４は、複合機が起動するときに、各種サービスを提供するためのアプリケーションモジュールを起動する順番を管理している。起動順は、ＨＤＤ／フラッシュメモリ３０４に保存されたサービス起動順リスト１０００（後述する図１０）をアプリケーション管理部６０４が読み取ることで、そのリストに書かれている順番に従い起動を行う。
【００５８】
アプリケーション６０９、ログインアプリケーション６１０は、自身が動作するための設定情報を、アプリケーション設定値管理ＤＢサービス６０８（以下ＤＢサービス６０８と略称する）に保持することができる。
【００５９】
ＤＢサービス６０８は、アプリケーション設定値データベース６１１を管理するアプリケーションであり、アプリケーションの設定値はアプリケーション設定値データベース６１１で保管される。なお、ＤＢサービス６０８もまた、アプリケーション管理部６０４に登録され、管理される。
【００６０】
アプリケーション管理部６０４が、アプリケーション６０９やログインアプリケーション６１０を起動すると、アプリケーション６０９やログインアプリケーション６１０は、起動後のある段階でＤＢサービス６０８から自身の設定情報５００を読み出す。その後、読みとった設定情報５００に従って起動処理を続行する。設定情報５００には、アプリケーションＩＤが付与されているので、そのＩＤを参照することでアプリケーションは対応する設定情報５００を特定できる。
【００６１】
このようにアプリケーション６０９やログインアプリケーション６１０が、ＤＢサービス６０８を利用する形態になっていることにより、アプリケーションの設定値を操作するということは、ＤＢサービス６０８が管理するアプリケーション設定値データベース６１１を操作するということと等価である。
【００６２】
設定値操作サービス６０７は、ネットワーク通信部６０５を介して受信した管理装置１１０からの設定値操作要求に応じて、アプリケーション６０９、ログインアプリケーション６１０の設定情報を操作する。このとき、設定値操作サービス６０７は、操作対象アプリケーションが実行中の場合、アプリケーション管理部６０４に対して、アプリケーション６０９の実行の停止を要求し、アプリケーションを停止させてから設定値を操作する。一方、ログインアプリケーション６１０のような停止ができないアプリケーションの場合は、設定値操作サービス６０７は、再起動後に予約操作を行う。この設定値操作サービス６０７の動作は、後述する図８で詳細に説明する。なお、設定値操作サービス６０７もまた、アプリケーション管理部６０４に登録され、管理される。
【００６３】
また、設定値操作サービス６０７は、アプリケーション（６０９等）に、アプリケーション設定値が操作されたことを通知する。
アプリケーション６０９が設定値操作サービス６０７からの通知に応答するよう構成されていれば、アプリケーション６０９は前記通知を受けて、アプリケーション設定値の再読み込みなど、設定値の操作後に行うようプログラムされた処理を実行することができる。
【００６４】
以上示したように、複合機１２０，１３０は、少なくとも１つのアプリケーションと、該アプリケーションの設定値の操作を実行する設定値操作サービス６０７とを含む複数のプログラムを実行可能なものであり、これらのプログラムの起動をアプリケーション管理部６０４により管理する。
【００６５】
＜管理装置による設定値の操作手順＞
図７は、管理装置１１０で実行される処理の一例を示すフローチャートである。
１つ以上の複合機にインストールされている１つ以上のアプリケーションの設定値を操作するために、管理装置１１０のＣＰＵ２０１は、図７のフローチャートでその手順（ステップ）が示されるプログラムを実行する。なお、このプログラムは、記憶部２０８にコンピュータ読み取り可能に記録されるものとする。
【００６６】
例えば、ユーザがＵＩからメニューを選択したなどの処理をＵＩ制御部４０１が検知し、ＵＩ制御部４０１がアプリケーション管理部４０２を起動することにより、本フローチャートの処理が開始される（図７のＳ７００）。
【００６７】
まず、Ｓ７０１において、アプリケーション管理部４０２は、ＵＩ制御部４０１経由でユーザからのアプリケーション追加要求を受け付け、アプリケーションデータベース４０８のアプリケーションリストに、要求されたアプリケーションプログラムあるいはデータを保持（登録）する。追加されるアプリケーションプログラムやデータは、たとえば記録媒体や通信媒体などから管理装置１１０に供給される。
【００６８】
次に、Ｓ７０２において、デバイス管理部４０３は、探索部４０６を介してネットワークに接続された複合機を探索する。さらに、デバイス管理部４０３は、通信部４０７を介して探索された複合機の詳細情報を取得し、デバイスデータベース４０９のデバイスリストに保持（登録）する。
【００６９】
また、Ｓ７０３において、ＵＩ制御部４０１は、アプリケーション選択画面を表示してそこからユーザからの入力（アプリケーションの選択、操作方法（設定情報の配信、取得、削除等）の指定など）を受け付ける。そして、ユーザによるアプリケーション選択入力がなされると、ＵＩ制御部４０１は、入力されたアプリケーションの選択情報をアプリケーション管理部４０２に引き渡す。ここで選択されたアプリケーションを対象アプリケーションと呼ぶ。また、ユーザによる操作方法の指定入力がなされると、ＵＩ制御部４０１は、入力されたアプリケーションの操作方法情報を設定値管理部４０５に引き渡す。
【００７０】
アプリケーション管理部４０２は、上記アプリケーションの選択情報からユーザが選択したアプリケーションを特定し、アプリケーションデータベース４０８からアプリケーションの情報を引き出す。アプリケーション管理部４０２は、引き出した情報を一時的にＲＡＭ２０３または記憶部２０８に保持する。また、設定値管理部４０５は、上記アプリケーションの操作方法情報をＲＡＭ２０３または記憶部２０８に保持する。
【００７１】
次に、Ｓ７０４において、ＵＩ制御部４０１は、複合機選択画面を表示してそこからユーザからの入力（複合機の選択）を受け付ける。そして、ユーザによる複合機の選択がなされると、ＵＩ制御部４０１は、入力結果（複合機の選択情報）をデバイス管理部４０３に引き渡す。ここで選択された複合機を対象複合機と呼ぶ。デバイス管理部４０３は、渡された入力結果からユーザが選択した複合機を特定し、デバイスデータベース４０９からユーザにより選択された複合機の情報を引き出す。デバイス管理部４０３は引き出した情報を一時的にＲＡＭ２０３または記憶部２０８に保持する。
【００７２】
次に、Ｓ７０５において、設定値管理部４０５は、上記Ｓ７０４で選択された複合機に対して、上記Ｓ７０３で選択されたアプリケーションのアプリケーション設定値を上記Ｓ７０３で指定された操作方法で操作するための要求を、図５のようなＸＭＬ形式にして送信する。これにより、複合機側では、ネットワーク通信部６０５経由で前記要求を受信した設定値操作サービス６０７が、要求された操作を実行することとなる。
【００７３】
ここで、上記Ｓ７０５についてより具体的に説明する。
例えば、複合機にアプリケーション設定値の「配信」を行う場合（指定された操作方法が設定情報の配信の場合）、設定値管理部４０５が、図５に例示したような設定情報５００を複合機の設定値操作サービス６０７に送付する。なお、前記設定情報５００は、アプリケーションデータベース４０８に保持されている（例えば上記Ｓ７０１において登録されている）。設定値操作サービス６０７は、受信した設定情報５００を該当するアプリケーション設定値データベース６１１に書き込む。
【００７４】
また、複合機からアプリケーション設定値の「取得」を行う場合（指定された操作方法が設定情報の取得の場合）、設定値管理部４０５が、設定情報５００の取得要求を複合機の設定値操作サービス６０７に送付する。複合機の設定値操作サービス６０７は、前記要求に応答して、対象となるアプリケーションのアプリケーション設定情報を読み、管理装置１１０に返信する。このアプリケーション設定値情報は、管理装置１１０において、複合機を特定する識別情報およびアプリケーション識別情報と関連付けて、アプリケーションデータベース４０８に登録される。
【００７５】
また、複合機内のアプリケーション設定値の「削除」を行う場合（指定された操作方法が設定情報の削除の場合）、設定値管理部４０５が、設定情報５００の削除要求を複合機の設定値操作サービス６０７に送付する。複合機の設定値操作サービス６０７は、前記要求に応答してＤＢサービス６０８が管理するアプリケーション設定値を削除する。そして、ＤＢサービス６０８の設定情報が変更されると、設定値操作サービス６０７は、前記変更の影響を受けるアプリケーションに対してアプリケーション設定値が操作されたことを通知する。通知を受けたアプリケーションは、必要に応じて、アプリケーション管理部６０４経由でＤＢサービス６０８からアプリケーション設定値を読み込む。
【００７６】
以下、図７のＳ７０６以降の説明を行う。
Ｓ７０６では、設定値管理部４０５は、上記Ｓ７０５で要求を送信した複合機の設定値操作サービス６０７からの応答を待機する。そして、応答があり次第、Ｓ７０７に処理を進める。なお、複合機の設定値操作サービス６０７は、上記要求に応じた操作を実行した場合には実行完了の応答（正常終了ｏｒ異常終了）を行い、上記要求に応じた操作を再起動後に実行する場合には再起動後操作実行のステータスを応答する。
【００７７】
Ｓ７０７では、設定値管理部４０５は、上記Ｓ７０５で要求を送信した複合機の設定値操作サービス６０７からの応答が、再起動後操作実行のステータスであるか否かを判定する。
【００７８】
そして、上記Ｓ７０５で要求を送信した複合機の設定値操作サービス６０７からの応答が再起動後操作実行のステータスでない（正常終了または異常終了のステータスである）と判定した場合（Ｓ７０７で「正常終了ｏｒ異常終了」の場合）、設定値管理部４０５は、Ｓ７０８に処理を進める。
【００７９】
Ｓ７０８では、設定値管理部４０５は、アプリケーションの設定情報の操作の後処理を実行し、本フローチャートの処理を終了する。ここで、後処理とは、実行結果のステータスを、ＵＩ制御部４０１を通じてユーザに通知することなどを指す。
【００８０】
ここで、実行完了の応答について具体的に説明する。
例えば、要求した操作内容がアプリケーション設定情報の「配信」であった場合、設定値管理部４０５は、複合機から通信部４０７経由でアプリケーション設定情報の配信の結果を受信する。なお、受信した結果はＲＡＭ２０３または記憶部２０８に保持される。
【００８１】
また、操作内容がアプリケーション設定情報の「取得」であった場合、設定値管理部４０５は、複合機から通信部４０７経由でアプリケーションの設定情報の取得の結果を受信する。取得結果が成功である場合は、アプリケーション設定情報も同時に受信する。なお、受信した結果はＲＡＭ２０３または記憶部２０８に保持される。また、受信したアプリケーション設定情報は、アプリケーションデータベース４０８に格納される。
【００８２】
また、操作内容がアプリケーション設定情報の「削除」であった場合、設定値管理部４０５は、複合機から通信部４０７経由でアプリケーション設定情報の削除の結果を受信する。なお、受信した結果はＲＡＭ２０３または記憶部２０８に保持される。
【００８３】
なお、設定情報の「配信」、設定情報の「取得」、設定情報の「削除」、いずれの操作であっても、ＵＩ制御部４０１は、必要に応じてＲＡＭ２０３または記憶部２０８に保持された受信結果をユーザに提示することが可能である。
【００８４】
次に、複合機からの応答が再起動後操作実行のステータスであった場合について説明する。
上記Ｓ７０７において、上記Ｓ７０５で要求を送信した複合機の設定値操作サービス６０７からの応答が再起動後操作実行のステータスであると判定した場合（Ｓ７０７で「再起動後操作実行」の場合）、設定値管理部４０５は、Ｓ７０９に処理を進める。
【００８５】
Ｓ７０９では、設定値管理部４０５は、ＵＩ制御部４０１を通じて、必要に応じて複合機の再起動後に操作を実行する旨をユーザに提示し、本フローチャートの処理を終了する。なお、上記Ｓ７０９において、さらに、ＵＩ制御部４０１は、複合機の再起動を促すメッセージをユーザに提示するように構成してもよい。
以上で図７のフローチャートの説明を終了する。
【００８６】
以下、図８を用いて、管理装置１１０から複合機に対して操作要求（配信／削除／取得）がなされた場合の複合機１２０における設定値操作サービス６０７の動きを説明する。
図８は、管理装置１１０から操作要求（配信／削除／取得）がなされた場合の複合機１２０における設定値操作サービス６０７の動作の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機１２０のＣＰＵ３０１が、ＨＤＤ／フラッシュメモリ３０４にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【００８７】
設定値操作サービス６０７がネットワーク通信部６０５を経由し、図５のようなＸＭＬ形式の設定情報５００を受信することにより、本フローチャートの処理が開始される（Ｓ８００）。
【００８８】
まず、Ｓ８０１において、設定値操作サービス６０７は、操作対象アプリケーションが実行中であるかどうかを判定する。
操作対象アプリケーションが停止中でると判定した場合（Ｓ８０１で「停止中」の場合）、設定値操作サービス６０７は、Ｓ８１２に処理を進める。
【００８９】
Ｓ８１２では、設定値操作サービス６０７は、設定情報５００によって要求された操作を実行する。
次に、Ｓ８０７において、設定値操作サービス６０７は、操作実行の結果に応じて、管理装置１１０に対して、正常終了、あるいは、異常終了のステータスを返却し、本フローチャートを終了する。
【００９０】
一方、上記Ｓ８０１において、操作対象アプリケーションが実行中であると判定した場合（Ｓ８０１で「実行中」の場合）、設定値操作サービス６０７は、Ｓ８０２に処理を進める。
Ｓ８０２では、設定値操作サービス６０７は、操作対象アプリケーションが停止可能かどうかを判定する。
【００９１】
＜操作対象アプリケーションが停止可能な場合＞
操作対象アプリケーションが停止可能であると判定した場合（Ｓ８０２で「停止可能」の場合）、設定値操作サービス６０７は、Ｓ８０３において、操作対象アプリケーションを停止させる。
【００９２】
次に、Ｓ８０４において、設定値操作サービス６０７は、停止が成功したかどうかを判定する。
そして、停止が成功したと判定した場合（Ｓ８０４で「成功」の場合）、設定値操作サービス６０７は、Ｓ８０５に処理を進める。
Ｓ８０５では、設定値操作サービス６０７は、設定情報５００によって要求された操作を実行する。前記８０５で操作の実行が終了したら、Ｓ８０６において、設定値操作サービス６０７は、Ｓ８０３において停止させた操作対象アプリケーションを再度開始する。
【００９３】
次に、Ｓ８０７において、設定値操作サービス６０７は、操作実行の結果に応じて、管理装置１１０に対して、「正常終了」あるいは「異常終了」のステータスを返却し、本フローチャートの処理を終了する。
【００９４】
一方、上記Ｓ８０４において、操作対象アプリケーションの停止が失敗したと判定した場合（Ｓ８０４で「失敗」）、設定値操作サービス６０７は、Ｓ８０８に処理を進め、以下に示す停止不可能な場合の動作に合流する。
【００９５】
＜操作対象アプリケーションが停止不可能、あるいは停止に失敗した場合＞
以下、操作対象アプリケーションが停止不可能なログインアプリケーション６１０の場合について説明する。
【００９６】
上記Ｓ８０２において、操作対象アプリケーションが停止不可能であると判定した場合（Ｓ８０２で「停止不可能」の場合）、設定値操作サービス６０７は、Ｓ８０８に処理を進める。
【００９７】
Ｓ８０８では、設定値操作サービス６０７は、設定情報５００をＨＤＤ／フラッシュメモリ３０４の一時領域に仮置きする。
次に、Ｓ８０９において、設定値操作サービス６０７は、再起動後実行指示ファイル９００（以下、実行指示ファイル９００と略称する）をＨＤＤ／フラッシュメモリ３０４に作成する。なお、実行指示ファイル９００は、複合機の再起動に際して前記要求された操作を実行するための実行指示情報であり、複合機の再起動処理においてアプリケーション管理部６０４が参照可能な特定の記憶領域に作成されるものとする。実行指示ファイル９００の内容については、後述する図９において説明する。
【００９８】
次に、Ｓ８１０において、設定値操作サービス６０７は、管理装置１１０に対して、再起動後操作実行のステータスを返却し、本フローチャートの処理を終了する。なお、上記Ｓ８１０において、さらに、設定値操作サービス６０７は、管理装置１１０（即ち、操作要求元）に対して、複合機の再起動を促すメッセージを通知するように構成してもよい。
以上で図８のフローチャートの説明を終了する。なお、この後、複合機が再起動されるときの動作については、後述する図１１において説明する。
【００９９】
図９は、操作内容が配信である場合の実行指示ファイル９００の一例を示す図である。なお、図９に示す実行指示ファイル９００のフォーマットは、操作内容が「配信」又は「削除」の場合に対応する。なお、操作内容が「取得」の場合の実行指示ファイルは後述する図１６で示す。
【０１００】
図９において、９０１は、再起動後に実行する予約操作内容を示す。なお、操作内容が「配信」の場合は"配信"が記される。また、操作内容が「削除」の場合は"削除"が記される。
【０１０１】
９０２には、図８のＳ８０８においてＨＤＤ／フラッシュメモリ３０４の一時領域に仮置きされた設定情報５００へのパス情報が記される。ここでは「:/tmp/setting.data」が記されている。
【０１０２】
９０３には、停止不可能、あるいは停止に失敗したアプリケーションのアプリケーションＩＤが記される。ここでは、停止に失敗したアプリケーションとして、「ログインアプリケーション」と記されている。
【０１０３】
９０４には、再起動後の操作実行サービスのアプリケーションＩＤが記される。本実施例では、再起動後に設定値操作サービス６０７が操作を実行するので、ここでは「設定値操作サービス」が記されている。
【０１０４】
９０５には、設定操作に必要なサービスのアプリケーションＩＤが記される。本実施例では、配信操作においてＤＢサービス６０８が必要なので、ここでは「アプリケーション設定値管理ＤＢサービス」が記されている。
【０１０５】
図１０は、複合機が起動するときのサービス起動順リストの一例を示す図である。
図１０において、１０００は、複合機が起動するときのサービス起動順リストである。このサービス起動順リスト１０００は、ＨＤＤ／フラッシュメモリ３０４に保存される。
アプリケーション管理部６０４は、このサービス起動順リスト１０００において記載されている順番に従い、サービスを起動させる。図１０に示した例では、アプリケーション管理部６０４は、ＤＢサービス６０８（実行指示ファイル９００の９０５に対応）、ログインアプリケーション６１０（実行指示ファイル９００の９０３に対応）、設定値操作サービス６０７（実行指示ファイル９００の９０４に対応）を、それぞれ２番目、４番目、６番目の起動順で、起動させる。
【０１０６】
以下、図１１を用いて、上記図８の処理で操作対象アプリケーションが停止不可能（Ｓ８０２で「停止不可」）、あるいは停止に失敗し（Ｓ８０２で「失敗」）、Ｓ８０８を経由してＳ８１1で終了した後に、複合機が再起動されるときの、アプリケーション管理部６０４の動作を説明する。
【０１０７】
図１１は、操作対象アプリケーションが停止不可能あるいは停止に失敗した場合に複合機が再起動されるときのアプリケーション管理部６０４の動作の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機１２０のＣＰＵ３０１が、ＨＤＤ／フラッシュメモリ３０４にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【０１０８】
複合機の再起動が開始されることにより、本フローチャートの処理が開始される（Ｓ１１００）。
まず、Ｓ１１１０において、アプリケーション管理部６０４は、実行指示ファイル９００が、ＨＤＤ／フラッシュメモリ３０４に存在するかどうかを判定する。
そして、実行指示ファイル９００が存在しないと判定した場合（Ｓ１１１０で「ない」の場合）、アプリケーション管理部６０４は、Ｓ１１５０に処理を進める。
【０１０９】
Ｓ１１５０では、アプリケーション管理部６０４は、サービス起動順リスト１０００の起動順に従い、サービスを起動させていき、本フローチャートの処理を終了する。
一方、上記Ｓ１１１０において、実行指示ファイル９００が存在すると判定した場合（Ｓ１１１０で「ある」の場合）、アプリケーション管理部６０４は、Ｓ１１２０に処理を進める。
【０１１０】
Ｓ１１２０では、アプリケーション管理部６０４は、サービス起動順を実行指示ファイル９００とサービス起動順リスト１０００から、図１３で示すアルゴリズムに従い、サービス起動順を並べ替える。そして、該並べ替えた新しいサービス起動順をＲＡＭ３０３に保存しておく。
【０１１１】
次に、Ｓ１１３０において、アプリケーション管理部６０４は、上記Ｓ１１２０において並べ替えた新しい起動順に従ってサービスを順次起動していく。なお、起動されたアプリケーションの動作については後述する図１２に示す。
そして、全てのサービスの起動が終了すると、アプリケーション管理部６０４は、本フローチャートの処理を終了する。
【０１１２】
以下、図１２を参照して、図１１のＳ１１３０において起動されるアプリケーションがどのように動作するかについて説明する。
図１２は、図１１のＳ１１３０におけるアプリケーションの起動時処理の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機１２０のＣＰＵ３０１が、ＨＤＤ／フラッシュメモリ３０４にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【０１１３】
アプリケーション管理部６０４によって起動されると（Ｓ１２００）、該起動されたサービス（以下、当該アプリケーション）は、Ｓ１２１０において、起動時処理を実行する。ここで、起動時処理とは、アプリケーションの初期化処理などに該当する。なお、再起動後の設定値操作サービス６０７の起動時処理については、後述する図１５において説明する。
【０１１４】
次に、Ｓ１２２０において、当該アプリケーションは、上記Ｓ１２１０で実行した起動時処理が終了したかどうかを判定する。
そして、まだ起動時処理が終了していないと判定した場合（Ｓ１２２０でＮｏの場合）、当該アプリケーションは、Ｓ１２２０の判定処理を繰り返す。
一方、起動時処理が終了したと判定した場合（Ｓ１２２０でＹｅｓの場合）、当該アプリケーションは、Ｓ１２３０に処理を進める。
Ｓ１２３０では、当該アプリケーションは、アプリケーション管理部６０４に制御を戻す。なお、制御が戻ったアプリケーション管理部６０４は、次のサービスを起動していく。
以上が、アプリケーションの起動時処理になる。
【０１１５】
以下、図１３を参照して、アプリケーション管理部６０４による図１１のＳ１１２０における複合機再起動時のサービス起動順の入れ替えアルゴリズムについて説明する。
図１３は、アプリケーション管理部６０４による図１１のＳ１１２０における複合機再起動時のサービス起動順の入れ替え処理の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機１２０のＣＰＵ３０１が、ＨＤＤ／フラッシュメモリ３０４にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【０１１６】
サービス起動順の入れ替え処理が開始すると（Ｓ１３００）、アプリケーション管理部６０４は、Ｓ１３１０において、実行指示ファイル９００を読み込む。さらに、Ｓ１３２０において、アプリケーション管理部６０４は、サービス起動順リスト１０００を読み込む。
【０１１７】
次に、Ｓ１３３０において、アプリケーション管理部６０４は、停止できなかったサービス（実行指示ファイル９００の９０３で特定）の起動順位と、再起動後の操作実行サービス（実行指示ファイル９００の９０４で特定）の起動順位とを比較して、停止できなかったサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい（順位が先）かどうかを判定する。
【０１１８】
そして、停止できなかったサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい（順位が先）と判定した場合（Ｓ１３３０でＹｅｓの場合）、アプリケーション管理部６０４は、Ｓ１３４０に処理を進める。
【０１１９】
Ｓ１３４０では、アプリケーション管理部６０４は、再起動後の操作実行サービスの起動順位を、停止できなかったサービスの起動順位の直前にもってくるように起動順位を入れ替える。そして、Ｓ１３５０に処理を進める。
【０１２０】
一方、上記Ｓ１３３０において、停止できなかったサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも大きい（順位が後）と判定した場合（Ｓ１３３０でＮｏの場合）、アプリケーション管理部６０４は、そのままＳ１３５０に処理を進める。
【０１２１】
Ｓ１３５０では、アプリケーション管理部６０４は、操作に必要なサービス（実行指示ファイル９００の９０５で特定）の起動順位と、再起動後の操作実行サービス（実行指示ファイル９００の９０４で特定）の起動順位とを比較して、操作に必要なサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい（順位が先）かどうかを判定する。
【０１２２】
そして、操作に必要なサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも小さい（順位が先）と判定した場合（Ｓ１３５０でＹｅｓの場合）、アプリケーション管理部６０４は、そのままＳ１３７０に処理を進めて、本フローチャートの処理を終了する。
【０１２３】
一方、操作に必要なサービスの起動順位が、再起動後の操作実行サービスの起動順位よりも大きい（順位が後）と判定した場合（Ｓ１３５０でＮｏの場合）、アプリケーション管理部６０４は、Ｓ１３６０に処理を進める。
【０１２４】
Ｓ１３６０では、アプリケーション管理部６０４は、再起動後の操作実行サービスの起動順位の直前に、操作に必要なサービスの起動順位をもってくるように、起動順位を入れ替える。そして、Ｓ１３７０に処理を進めて、本フローチャートの処理を終了する。
【０１２５】
以上示したように、アプリケーション管理部６０４は、複合機の再起動時に、サービスの起動順を、実行指示ファイル９００に従って、操作対象のアプリケーションよりも設定値操作サービス６０７の起動が先になるように変更する。さらに、アプリケーション管理部６０４は、設定値操作サービス６０７が設定値を操作するために必要とする他のプログラムが存在する場合には、該プログラム（例えばＤＢサービス６０８）の起動が、設定値操作サービス６０７の起動よりも先になるように、サービス起動順を変更する。
【０１２６】
以下、図１４を用いて、図１３で示した起動順入れ替えアルゴリズムにより、本実施例で示されるサービスにおいて起動順が具体的にどう変わるかについて説明する。
図１４は、図１３で示した起動順入れ替えアルゴリズムによる起動順位の入れ替え結果を示す図である。
図１４において、１０００は初期のサービス起動順を示す。初期のサービス起動順リスト１０００は、図１０で示したサービス起動順リスト１０００と同じである。
初期のサービス起動順リスト１０００は、図９及び図１０で示したように、停止できなかったサービス９０３に対応するログインアプリケーション６１０の起動順位が「４」、再起動後の操作実行サービス９０４に対応する設定値操作サービス６０７の起動順位が「６」、操作に必要なサービス９０５に対応するＤＢサービス６０８の起動順位が「２」、となっている。
【０１２７】
よって、図１３のＳ１３３０により、ログインアプリケーション６１０（９０３）の起動順位「４」の方が設定値操作サービス６０７（９０４）の起動順位「６」より順位が小さい（Ｓ１３３０でＹｅｓ）と判定される。よって、アプリケーション管理部６０４は、Ｓ１３４０で示したように、ログインアプリケーション６１０の起動順位の直前に設定値操作サービス６０７の起動順位をもってくるように起動順位を変更する。よって、この時点で、設定値操作サービス６０７の起動順位は「４」、ログインアプリケーション６１０の起動順位は「５」となる。
【０１２８】
さらに、図１３のＳ１３５０により、ＤＢサービス６０８（９０５）の起動順位「２」の方が設定値操作サービス６０７（９０４）の起動順位「４」より小さい（Ｓ１３５０でＹｅｓ）と判定される。よって、アプリケーション管理部６０４は、これらの起動順位は変更せずに、処理を終了する。この結果、サービス起動順は１４００に示すように変更される。
【０１２９】
結局、１４００に示すサービス起動順により、図１１のＳ１１３０において、サービスが起動される。この結果、停止できなかったログインアプリケーション６１０（９０３）より前に、設定値操作サービス６０７（９０４）が起動されることになる。また、設定値操作サービス６０７（９０４）より前に、設定操作必要なＤＢサービス６０８（９０５）が起動されることになる。
【０１３０】
以下、図１５を参照して、再起動後の操作実行サービス９０４に記されている設定値操作サービス６０７の起動時処理の動作について説明する。なお、ここでは、設定値の操作として、配信操作、削除操作について説明し、取得操作については後述する。
【０１３１】
図１５は、再起動後の操作実行サービス９０４に記されている設定値操作サービス６０７の起動時処理の動作の一例を示すフローチャートである。なお、このフローチャートに示す処理は、複合機１２０のＣＰＵ３０１が、ＨＤＤ／フラッシュメモリ３０４にコンピュータ読み取り可能に記録されたプログラムを読み出して実行することにより実現される。
【０１３２】
設定値操作サービス６０７の起動時処理が開始すると（Ｓ１５００）、設定値操作サービス６０７は、Ｓ１５１０において、実行指示ファイル９００が、ＨＤＤ／フラッシュメモリ３０４に存在するかどうかを判定する。
【０１３３】
そして、実行指示ファイル９００が存在すると判定した場合（Ｓ１５１０で「ある」の場合）、設定値操作サービス６０７は、Ｓ１５２０に処理を進める。
Ｓ１５２０では、設定値操作サービス６０７は、実行指示ファイル９００に記載されている設定情報５００へのパス（アプリケーション設定情報へのパス９０２）を読み取り、該パスに従って設定情報５００を読み取る。
【０１３４】
次に、Ｓ１５３０において、設定値操作サービス６０７は、実行指示ファイル９００に記載されている予約操作９０１を読み取り、該予約操作を実行する。なお、予約操作９０１が「配信」操作の場合、設定値操作サービス６０７は、上記Ｓ１５２０で読み込んだ設定情報５００に従い、該当するアプリケーション設定情報に書き込む。また、予約操作９０１が「削除」操作の場合、設定値操作サービス６０７は、上記Ｓ１５２０で読み込んだ設定情報５００に従って、ＤＢサービス６０８を経由して設定情報を削除する。なお、予約操作９０１が「取得」操作の場合は後述する。
【０１３５】
そして、上記Ｓ１５３０において予約操作の実行が終了したら、設定値操作サービス６０７は、Ｓ１５４０において、実行指示ファイル９００を削除して、本フローチャートの処理を終了する。なお、上記Ｓ１５４０で、設定情報５００を削除してもよい。
【０１３６】
一方、上記Ｓ１５１０において、実行指示ファイル９００が存在しないと判定した場合（Ｓ１５１０で「ない」の場合）、設定値操作サービス６０７は、そのまま何もせずに、本フローチャートの処理を終了する。
【０１３７】
以上、本実施例によれば、停止できないアプリケーションの設定値の配信／削除操作を実行するときも、複合機の再起動後に停止できないアプリケーションが起動するよりも先に配信／削除操作を実行することで、安全確実に操作を実行することが可能となる。
【０１３８】
＜取得操作＞
以下、アプリケーションの設定値の「取得」操作について、上述した設定値の「配信」操作／「削除」操作との相違点について述べる。
【０１３９】
設定値の操作が取得操作の場合、上述した「配信」操作／「削除」操作の場合と相違するのは、図９の９００で示した実行指示ファイルの項目内容である。この違いについて図１６において説明する。
【０１４０】
図１６は、取得操作の場合の実行指示ファイルの一例を示す図である。
図１６において、１６００は、アプリケーションの設定値の取得操作時の実行指示ファイルである。
１６０１は、図９の９０１と同様に、再起動後に実行する予約操作内容を示す。なお、操作内容が取得の場合「取得」が記される。１６０２には、図９の９０２と同様に、図８のＳ８０８においてＨＤＤ／フラッシュメモリ３０４の一時領域に仮置きされた設定情報５００へのパス情報が記される。ここでは「:/tmp/setting.data」が記されている。
【０１４１】
１６０３には、本取得操作の実行指示をした管理装置１１０のＩＰアドレスが記される。このＩＰアドレス（１６０３）が配信操作／削除操作の場合と異なる点である。
１６０４には、図９の９０３と同様に、停止不可能、あるいは停止に失敗したアプリケーションのアプリケーションＩＤが記される。ここでは、停止に失敗したアプリケーションとして、「ログインアプリケーション」と記されている。１６０５には、図９の９０４と同様に、再起動後の操作実行サービスのアプリケーションＩＤが記される。本実施例では、再起動後に設定値操作サービス６０７が操作を実行するので、ここでは「設定値操作サービス」が記されている。１６０６には、図９の９０５と同様に、設定操作に必要なサービスのアプリケーションＩＤが記される。本実施例では、取得操作においてＤＢサービス６０８が必要なので、ここでは「アプリケーション設定値管理ＤＢサービス」が記されている。
【０１４２】
この実行指示ファイル１６００の内容を基に、上記図１５で示した再起動後の設定値操作サービス６０７の起動時処理が実行される。そのときの動作を以下に示す。
設定値操作サービス６０７の起動時処理が開始すると（Ｓ１５００）、設定値操作サービス６０７は、Ｓ１５１０において、実行指示ファイル１６００が、ＨＤＤ／フラッシュメモリ３０４に存在するかどうかを判定する。即ち、配信／削除の場合と同様である。
【０１４３】
そして、実行指示ファイル１６００が存在すると判定した場合（Ｓ１５１０で「ある」の場合）、設定値操作サービス６０７は、Ｓ１５２０に処理を進める。即ち、配信／削除の場合と同様である。
【０１４４】
Ｓ１５２０では、設定値操作サービス６０７は、実行指示ファイル１６００に記載されている設定情報５００へのパス（アプリケーション設定情報へのパス１６０２）を読み取り、該パスに従って設定情報５００を読み取る。即ち、配信／削除の場合と同様である。
【０１４５】
次に、Ｓ１５３０において、設定値操作サービス６０７は、実行指示ファイル１６００に記載されている予約操作１６０１を読み取り、該予約操作を実行する。なお、予約操作１６０１が「取得」の場合、設定値操作サービス６０７は、上記Ｓ１５２０で読み込んだ設定情報５００に従って、複合機から取得したアプリケーション設定値の情報を、実行指示ファイル１６００の１６０３に記載されているＩＰアドレスで示される取得要求をした管理装置に返信する。
【０１４６】
そして、上記Ｓ１５３０において予約操作の実行が終了したら、設定値操作サービス６０７は、Ｓ１５４０において、実行指示ファイル１６００を削除して、本フローチャートの処理を終了する。即ち、配信／削除の場合と同様である。
【０１４７】
一方、上記Ｓ１５１０において、実行指示ファイル１６００がないと判定した場合（Ｓ１５１０で「ない」の場合）、設定値操作サービス６０７は、そのまま何もせずに、本フローチャートの処理を終了する。即ち、配信／削除の場合と同様である。
【０１４８】
以上示したように、停止できないアプリケーションの設定値の取得操作を実行するときも、複合機の再起動後に停止できないアプリケーションが起動するよりも先に取得操作を実行することで、安全確実に操作を実行することが可能となる。
【０１４９】
なお、本発明では、画像形成装置にインストールされているアプリケーションの設定操作について説明したが、画像形成装置以外の電子機器でも本発明は適用可能である。
以上示したように、本実施例によれば、停止できない、あるいは停止に失敗したアプリケーションの設定値操作（配信、取得、削除）を、安全確実に実行することが可能となる。
【０１５０】
よって、管理装置から、ネットワークに接続されている１つ以上の複合機にインストールされているアプリケーションプログラムの各種設定値を操作（例えば、配信、取得、削除など）を、安全確実に実行することが可能となる。
【０１５１】
なお、上記実施例では、管理装置から複合機にインストールされているアプリケーションの設定情報の操作を要求する構成について説明したが、複合機の操作部３１８から複合機にインストールされているアプリケーションの設定情報の操作を要求する場合も、複合機は同様の動作を行って設定情報の操作を実行するものとする。
【０１５２】
また、複合機が提供するＷｅｂサイトからアプリケーションの設定情報の操作を要求が入力された場合も、複合機は同様の動作を行って設定情報の操作を実行するものとする。
【０１５３】
なお、上記実施例では、アプリケーションの設定情報の操作として、アプリケーションの設定項目に設定値を設定する操作（配信操作）、前記アプリケーションの設定項目に設定されている設定値を取得する操作（取得操作）、アプリケーションの設定項目に設定されている設定値を削除する操作（削除操作）を説明した。しかし、上記管理装置１１０、操作部３１８、Ｗｅｂサイトからの操作要求は、前記いずれか１つの操作を要求するもののみでなく、前記いずれかの操作を組み合わせた複合操作であってもよい。即ち、配信操作、取得操作、削除操作のいずれか２つ又は全てを組み合わせた操作を、複合機に要求してもよい。
【０１５４】
以上示したように、複合機において、停止できない、あるいは停止に失敗したアプリケーションの設定値操作を、安全確実に実行することができる。
【０１５５】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１５６】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１５７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１５８】
１００    ＬＡＮ
１１０    管理装置
１２０，１３０    複合機
【図１】
2013186518.tif 000003
【図２】
2013186518.tif 000004
【図３】
2013186518.tif 000005
【図４】
2013186518.tif 000006
【図５】
2013186518.tif 000007
【図６】
2013186518.tif 000008
【図７】
2013186518.tif 000009
【図８】
2013186518.tif 000010
【図９】
2013186518.tif 000011
【図１０】
2013186518.tif 000012
【図１１】
2013186518.tif 000013
【図１２】
2013186518.tif 000014
【図１３】
2013186518.tif 000015
【図１４】
2013186518.tif 000016
【図１５】
2013186518.tif 000017
【図１６】
2013186518.tif 000018