(57)【要約】【課題】アプリ自体を再起動できない場合であってもネットワーク設定の変更を反映させることが可能な画像形成装置を提供することを目的とする。【解決手段】この画像形成装置は、ネットワーク設定を変更する変更手段と、アプリケーションがネットワーク設定の変更に対して動的更新に対応しているか否かを判断する判断手段と、判断手段がアプリケーションはネットワーク設定の変更に対して動的更新に対応していないと判断した場合、画像形成装置の再起動を行う再起動手段と、を有する。【選択図】図１６
2015158783.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク設定を変更する変更手段と、
アプリケーションが前記ネットワーク設定の変更に対して動的更新に対応しているか否かを判断する判断手段と、
前記判断手段が前記アプリケーションは前記ネットワーク設定の変更に対して動的更新に対応していないと判断した場合、前記画像形成装置の再起動を行う再起動手段と、を有することを特徴とする画像形成装置。
【請求項２】
前記再起動手段は、前記動的更新に対応していないアプリケーションが任意のタイミングで停止不可な第１のアプリケーションである場合、前記画像形成装置の再起動を行うことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記再起動手段は、前記動的更新に対応していないアプリケーションが任意のタイミングで停止可能な第２のアプリケーションである場合、前記第２のアプリケーションの再起動を行うことを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記再起動手段により前記画像形成装置の再起動を行うか否かを予め設定する設定手段
をさらに備え、
前記設定手段により前記画像形成装置の再起動を行わないように設定した場合、前記再起動手段は、前記動的更新に対応していないアプリケーションが存在している場合であっても、前記画像形成装置の再起動を行わないことを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記再起動手段は、前記変更手段により変更された前記ネットワーク設定の項目に応じて前記第２のアプリケーションの再起動を行うことを特徴とする請求項３に記載の画像形成装置。
【請求項６】
前記再起動手段は、前記第２のアプリケーションに含まれる前記変更手段により変更された前記項目の全てが予め指定した項目に含まれない場合、前記第２のアプリケーションの再起動を行うことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記再起動手段は、前記変更手段により前記ネットワーク設定が変更された前記第２のアプリケーションが予め指定した動的更新に対応しているアプリケーションのリストに登録されていない場合、前記第２のアプリケーションの再起動を行うことを特徴とする請求項３に記載の画像形成装置。
【請求項８】
画像形成装置において実行されるプログラムであって、
前記画像形成装置に、
ネットワーク設定を変更する変更工程と、
アプリケーションが前記ネットワーク設定の変更に対して動的更新に対応しているか否かを判断する判断工程と、
前記判断工程で前記アプリケーションは前記ネットワーク設定の変更に対して動的更新に対応していないと判断した場合、前記画像形成装置の再起動を行う再起動工程と、を実行させることを特徴とするプログラム。
【請求項９】
前記再起動工程は、前記動的更新に対応していないアプリケーションが任意のタイミングで停止不可な第１のアプリケーションである場合、前記画像形成装置の再起動を行うことを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記再起動工程は、前記動的更新に対応していないアプリケーションが任意のタイミングで停止可能な第２のアプリケーションである場合、前記第２のアプリケーションの再起動を行うことを特徴とする請求項８に記載のプログラム。
【請求項１１】
前記再起動工程により前記画像形成装置の再起動を行うか否かを予め設定する設定工程
をさらに備え、
前記設定工程により前記画像形成装置の再起動を行わないように設定した場合、前記再起動工程は、前記動的更新に対応していないアプリケーションが存在している場合であっても、前記画像形成装置の再起動を行わないことを特徴とする請求項８に記載のプログラム。
【請求項１２】
前記再起動工程は、前記変更工程により変更された前記ネットワーク設定の項目に応じて前記第２のアプリケーションの再起動を行うことを特徴とする請求項１０に記載のプログラム。
【請求項１３】
前記再起動工程は、前記第２のアプリケーションに含まれる前記変更工程により変更された前記項目の全てが予め指定した項目に含まれない場合、前記第２のアプリケーションの再起動を行うことを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記再起動工程は、前記変更工程により前記ネットワーク設定が変更された前記第２のアプリケーションが予め指定した動的更新に対応しているアプリケーションのリストに登録されていない場合、前記第２のアプリケーションの再起動を行うことを特徴とする請求項１０に記載のプログラム。
【請求項１５】
画像形成装置の制御方法であって、
ネットワーク設定を変更する変更工程と、
アプリケーションが前記ネットワーク設定の変更に対して動的更新に対応しているか否かを判断する判断工程と、
前記判断工程で前記アプリケーションは前記ネットワーク設定の変更に対して動的更新に対応していないと判断した場合、前記画像形成装置の再起動を行う再起動工程と、を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置を再起動する技術に関する。
【背景技術】
【０００２】
特許文献１は、デジタル複写機のアプリケーションプログラムを再起動する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１０５０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットワーク通信機能を備え、アプリケーションプログラム（以下「アプリ」と略称する）を実行可能な画像形成装置で、例えば周囲のネットワーク構成の変更に伴って、ネットワーク設定を変更する場合を考える。この場合、アプリがネットワークを利用するアプリであればなんらかの設定の反映が必要になる。例えば、アプリ起動時にＩＰアドレスを基にソケットを作るアプリであれば、画像形成装置本体のＩＰアドレスが変更された場合、それに追随してアプリのソケットを再作成する必要がある。こうしたアプリ起動時にネットワーク設定が反映されるアプリは、アプリ起動中にネットワーク設定が変更された場合は当然アプリの再起動が必要になる。このとき、自ら自動的に再起動を行うことができるアプリが動的更新に対応しているアプリである。
一方でアプリによっては画像形成装置がアプリを実行可能である限り常時起動していなければならないアプリも存在する。こうしたアプリは、動的更新に対応していないので、当然ながら再起動を行うことができない。
【０００５】
よって、特許文献１で開示される技術では、そもそもアプリ自体を再起動できない場合に対しては対処することができなかった。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、画像形成装置のネットワーク設定の変更時に、アプリが動的更新に対応していない場合には画像形成装置の再起動を行う。これにより、アプリ自体を再起動できない場合であってもネットワーク設定の変更を反映させることが可能な画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の画像処理装置は、ネットワーク設定を変更する変更手段と、アプリケーションが前記ネットワーク設定の変更に対して動的更新に対応しているか否かを判断する判断手段と、前記判断手段が前記アプリケーションは前記ネットワーク設定の変更に対して動的更新に対応していないと判断した場合、前記画像形成装置の再起動を行う再起動手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像形成装置のネットワーク設定の変更時に、アプリが動的更新に対応していない場合には画像形成装置の再起動を行う。これにより、アプリ自体を再起動できない場合であってもネットワーク設定の変更を反映させることが可能な画像形成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置のハードウェア構成を示す図である。
【図２】画像形成装置のソフトウェアモジュールの階層を示す図である。
【図３】システムインターフェースサービスの役割を示すブロック図である。
【図４】ネットワークの設定項目の一例を示す図である。
【図５】アプリのインストールするフローを示すブロック図である。
【図６】動的更新フラグを指定したマニフェストを説明する図である。
【図７】画像形成装置の設定変更に関するＵＩの一例を示す図である。
【図８】画像形成装置の設定変更に関するＵＩの一例を示す図である。
【図９】画像形成装置の設定変更に関するＵＩの一例を示す図である。
【図１０】設定変更の確認画面一例を示す図である。
【図１１】設定変更の確認画面一例を示す図である。
【図１２】動的更新制御部の処理を示すフローチャートである。
【図１３】ログイン管理画面のＵＩ一例を示す図である。
【図１４】画像形成装置起動時の処理を示すフローチャートである。
【図１５】設定変更ボタン押下時の処理を示すフローチャートである。
【図１６】起動から設定変更までの処理を示すシーケンス図である。
【図１７】起動から設定変更までの処理を示すシーケンス図である。
【図１８】動的更新フラグを指定したマニフェストを示す図である。
【図１９】設定変更ボタン押下時の処理を示すフローチャートである。
【図２０】動的更新リスナー登録をする模式図である。
【図２１】設定変更ボタン押下時の処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（第１実施形態）
ネットワーク通信機能などを備える画像形成装置においては、例えば、ＪＡＶＡ（登録商標）環境に代表されるようなアプリ動作環境を搭載することで、この環境の持つプログラムの可搬性を利用して、拡張可能なアプリを提供することができる。画像形成装置の機能やユーザビィリティの向上を図るために、上記環境などの環境下で動作するアプリを作成し、前記画像形成装置にインストールすることで、当該アプリにより所望の機能を実現できる。例えば、コピー、スキャン、プリント等の組み込み機能をアプリとして提供することができる。
【００１１】
まず、前述のようにアプリを実行可能な画像形成装置１３０の構成について説明する。図１は、プリント機能やスキャン機能、ネットワーク通信機能などを備える画像形成装置１３０のハードウェア構成図である。図１において、コントローラ１００は、画像形成装置１３０のコントローラである。コントローラ１００は、スキャナ部１１３やプリンタ部１１４と電気的に接続され、一方でＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１１６を介して外部デバイスと接続される。
【００１２】
ＣＰＵ１０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２に記憶された制御プログラム等に基づいて接続中の各種ハードウェアとのアクセスを統括的に制御する。また、コントローラ内部で行われる各種処理についても統括的に制御する。ＲＯＭ１０２は、読み出し専用の不揮発記憶領域であり、画像形成装置１３０のブートプログラムなどが格納されている。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。このＲＡＭ１０３は、記憶した内容を電源ｏｆｆ後も保持可能なＳＲＡＭや、電源ｏｆｆ後に記憶内容が消去されるＤＲＡＭなどにより構成される。
【００１３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０４は、不揮発記憶領域であり、システムアプリなどを格納する。後述する図３に示すインストールするアプリを含むファームウェアは、ＨＤＤ１０４に格納される。操作部Ｉ／Ｆ１０５は、システムバス１１９と操作部１１８を接続するインタフェース部である。具体的には、操作部１１８に表示するデータをシステムバス１１９から受取り表示すると共に、操作部１１８からの入力情報をシステムバス１１９へ出力する。画像形成装置１３０に対するユーザの指示や情報提示は、操作部１１８を介して行う。
【００１４】
ネットワークＩ／Ｆ１０６はＬＡＮ１１６、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１１７及びシステムバス１１９に接続し、外部との情報の入出力を行う。スキャナＩ／Ｆ１０８は、スキャナ部１１３から受取った画像データに対して、補正、加工、及び編集を行う。画像形成部１０９は、画像データの方向変換、画像圧縮、伸張部などを行う。プリンタＩ／Ｆ１１０は、画像形成部１０９から送られた画像データを受取り、画像形成後にプリンタ部１１４にて印刷する。
【００１５】
図２は、本実施形態に係る画像形成装置１３０のソフトウェアモジュール階層図である。なお、図２以降に示す各ソフトウェアは、ＲＯＭ１０２またはＨＤＤ１０４に保存され、ＣＰＵ１０１にて実行される。また、実行時に使用する各種情報は、ＲＡＭ１０３またはＨＤＤ１０４に保持してソフトウェア機能間での各種情報のやりとりを行う。さらに、外部機器との通信は、ネットワークＩ／Ｆ１０６を用いて行う。
【００１６】
次に、各ソフトウェアについて説明する。ソフトウェア２００は、まず、オペレーティングシステム（ＯＳ）プラットフォーム２０１を有する。動的更新制御部２０２は、設定変更があったときに、適宜更新をどのように行うかを判断し、制御するモジュールである。設定データベース２０４は、ネットワーク設定を含む画像形成装置１３０の設定データを取り扱うデータベースである。このデータを管理しているのが、設定データ管理部２０３であり、各アプリは、データの内容について、この設定データ管理部２０３に対して問い合わせることで取得可能である。
【００１７】
ＵＩ２０５はユーザインタフェースモジュールであり、オペレータが画像形成装置１３０に対する各種操作・設定を行う際に、装置とユーザ操作との仲介を行うモジュールである。このモジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送して処理の依頼、或いはデータの設定変更等を行う。再起動制御部２０６は、再起動指令があったときに、それに対応して画像形成装置１３０の再起動を行うモジュールである。
【００１８】
次に、ソフトウェアプラットフォームは、Ｊａｖａ（登録商標）ＶＭ２０７のランタイム環境として構成されており、インタプリタとしてのＪａｖａ（登録商標）ＶＭ２０７、ライブラリ２０８、フレームワーク群２０９で構成される。ライブラリ２０８は、標準のＡＰＩライブラリを含んで構成される。フレームワーク群２０９は、ＯＳＧｉ２１０を含んで構成され、このＯＳＧｉ２１０は、単一のＪａｖａ（登録商標）ＶＭ２０７上に複数のアプリを動作させる。また、このＯＳＧｉ２１０は、アプリのライフサイクルの管理やアプリ間通信機能などを提供し、このＯＳＧｉ２１０上には、複数のシステムサービスが予めインストールされている。
【００１９】
システムサービスには、複数のアプリ群を管理し、新たなアプリの追加、更新、削除をするためのアプリ管理サービス２１３がある。アプリ管理サービス２１３は、インストール制御サービス２１２を利用して、アプリの追加、更新、削除を行う。システムインターフェースサービス２１１は、アプリと画像形成装置１３０の間の情報交換機能を提供するサービスである。アプリやアプリ管理サービスからの依頼を受け、例えば、設定の変更などのイベントをアプリに通知したり、アプリから機器に対してＬＥＤやブザーの制御を依頼したりするのに用いられる。画像形成装置１３０の起動時に、ＯＳＧｉ２１０は、ＨＤＤ１０４に保存されたサービス起動順リストに従い、後述するシステムインターフェースサービス２１１、インストール制御サービス２１２、アプリ管理サービス２１３などのサービスを順次起動する。
【００２０】
一般アプリ（第２のアプリケーション）２１５は、インストール可能で画像形成装置の起動中に任意のタイミングで停止可能なアプリである。そして、画像形成装置１３０において各種処理をユーザに提供する。例えば、画像の加工や圧縮アプリ、印刷制限などの部門管理を行うアプリなどがある。こうした一般アプリ２１５はネットワーク設定の更新のタイミングに合わせて、アプリを再起動する必要がある。アプリを再起動することで、その起動初期化処理において、設定の反映が取り込まれる。
【００２１】
一方、ログインユーザを管理するログインアプリ２１４などがある。ログインアプリ（第１のアプリケーション）２１４は、ログイン中に任意のアプリから任意のタイミングでログイン情報の問い合わせがあるため、停止不可な特性を持つアプリである。仮に、ログインアプリが停止していた場合、ログイン情報の取得ができなくなるため、ログイン情報に紐づくデータを利用しているようなアプリがあると、データの取得に失敗し動作に支障が生じる。ここで、ログイン情報とは、現在画像形成装置１３０にログインしているユーザのログイン名やメールアドレスなどの情報を指す。あるログインアプリを停止させるには、他のログインアプリへ切り替えを行い必ず１つは起動している必要がある。この場合、他のログインアプリもインストールされていることが前提となり、他のログインアプリがない場合は、停止できない。よって、ログインアプリの場合は、一般アプリのようにアプリの再起動ということはできず、画像形成装置の再起動が必要である。
【００２２】
上記の特性により、画像形成装置１３０が起動中において、このログインアプリ２１４は、必ず1つだけ動作するものとなる。各種機能を実現する一般アプリ２１５は、このアプリ管理サービス２１３の管理下で動作する。アプリ管理サービス２１３は、管理下に追加されたアプリのバージョンを含むアプリ情報、ライセンス情報などを保持している。さらに画像形成装置１３０内のアプリのアンインストール指示に応答し、アプリ管理サービス２１３は一般アプリ２１５を管理対象から外す。
【００２３】
次に、図３を参照して、図２で示したシステムインターフェースサービス２１１の本実施形態における役割について説明する。まず、システムインターフェースサービス２１１は、画像形成装置１３０起動時に、動的更新対象としている設定データを設定データ管理部２０３から取得し（３０１）、ＲＡＭ１０３上に初期設定データ値として設定データ３０２に値を保持する。なお、設定データについては、後述の図４で説明する。
【００２４】
また、システムインターフェースサービス２１１は、画像形成装置１３０起動時に、アプリ３００から動的更新イベントに対する動的更新リスナー登録を受け付ける（３０３）。この動的更新リスナー登録は、複数のアプリから受け付けることが可能である。アプリ３００としては、システムサービスであるアプリ管理サービス２１３、もしくは、ログインアプリ２１４、一般アプリ２１５など、任意のアプリでよい。システムインターフェースサービス２１１は、登録されているアプリをリストで管理する。さらに、システムインターフェースサービス２１１は、画像形成装置１３０起動時に、動的更新制御部２０２に動的更新に対応したコールバック関数登録を行う（３０５）。本登録により、動的更新があったときに、動的更新制御部２０２から、登録した関数（コール関数）が呼ばれる（３０６）。  
【００２５】
コールバック関数が呼ばれたら、システムインターフェースサービス２１１は、設定データ管理部２０３から設定データを取得し、起動時にＲＡＭ１０３に保持していた設定データである設定データ３０２と比較する。比較した結果、設定データが異なる場合、設定データが更新されたとみなし、設定データ３０２の値も更新する。１つでも設定データが更新されていた場合、動的更新リスナー登録３０３で受け付けたアプリ全てに設定更新イベントを通知する（３０４）。このイベントを通知するときに、更新された設定データの情報を付与する。付与する情報は、後述の図４で示す、更新された項目に対応した、文字列定数名および定数値である。なお、１つのイベント通知で、複数の項目が含まれる場合もある。
【００２６】
図４は、システムインターフェースサービス２１１が設定データ３０２に保持しているネットワークの設定項目の一例を示す図である。項目名は、設定毎の項目を示し、それに対応した文字列定数名および定数値が割り振られている。この文字列定数名および定数値が、動的更新イベントの付随した情報となる。
【００２７】
図５は、ユーザが、ＰＣ５００から画像形成装置１３０へ、アプリをインストールする流れを示したブロック図である。ＰＣ５００のＷＥＢブラウザに、後述の図１３のログインアプリ管理ＵＩ１３００で示すようなＷＥＢページで構成されたアプリ管理ＵＩ５０１を表示し、アプリ管理や、インストールしたいアプリを指定し、インストールを行う。ＵＩ５０１で指定されたアプリを受信したアプリ管理サービス２１３は、受信したアプリなどの情報をインストール制御サービス２１２に渡す。アプリ情報を受信したインストール制御サービス２１２は、ＯＳＧｉ２１０にインストールを依頼する。ＯＳＧｉ２１０は、受信したアプリ情報を用いてインストールを行う。インストールされたアプリは、アプリ管理サービス２１３によって管理される。
【００２８】
図６は、ログインアプリ２１４または一般アプリ２１５におけるマニフェストファイルを示した図である。マニフェストファイル６００には、バージョン、ｊａｒファイルのプロパティ値、マニフェスト項目とその対応値という形式で記述される。動的更新フラグ（Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ）６０１は、マニフェスト項目の中の一つであり、そのアプリが動的更新に対応するか否かを示す。本実施形態では、動的更新対応を示すｔｒｕｅが指定される。
【００２９】
ここで、アプリが動的更新に対応しているとは、アプリ自身が、システムインターフェースサービス２１１からの設定変更イベントを拾い、設定変更の反映をアプリ自身で処理を行うアプリであることを意味している。すなわち、動的更新イベントを受信したアプリは、その更新された設定値を設定データ管理部から取得し、動的にその設定をアプリ自身の設定に反映させる仕組みを持っている。一方、動的更新非対応アプリとは、マニフェストファイル６００に動的更新フラグがｆａｌｓｅ指定、もしくは動的更新フラグの記載がないアプリのことを示す。この動的更新非対応アプリについては、設定変更時に画像形成装置１３０の再起動、もしくは、アプリ自身の再起動へと、アプリ管理サービス２１３が導く必要がある。
【００３０】
次に、図７〜９を参照して、画像形成装置１３０の操作部１１８から設定の変更手順について説明する。まず、図７における操作部画面７００は、画像形成装置１３０の操作部１１８を示す。リスト７０１は、設定の階層構造のどこに位置しているかを示したものであり、図中では、現在トップに位置していることを示す。図中の右側には、設定項目のボタンが設定項目の種類ごとに並んでいる。トップにおける設定の項目としては、環境設定ボタン７０２、調整／メンテナンスボタン７０３、ファンクション設定ボタン７０４、管理設定ボタン７０５などが存在する。設定の反映ボタン７０６は、後述の図８で変更する設定項目の内容を反映するときに押下されるものである。これは、設定の変更と連動しており、設定の変更がなされていない場合、例えば、グレーアウトされて、押下することができないものとする。
【００３１】
図８において、画面８００は、ネットワークに関する設定変更するときのＵＩを示す。リスト８０１は、トップから、環境設定＞ネットワーク＞ＴＣＰ／ＩＰ設定と順に指示され、図中では、現在ＴＣＰ／ＩＰ設定を行っていることを示す。このＴＣＰ／ＩＰ設定では、例えば、ＩＰｖ４を使用するか否かを設定するＩＰｖ４を使用ボタン８０２や、ＩＰアドレスを設定するＩＰアドレス設定ボタン８０３などが存在する。これらのボタンを押下すると、さらに、それぞれの項目の内容を設定することが可能となる。
【００３２】
次に、図９は、図８において、それぞれの設定項目の設定変更を行った後に、トップ画面に戻ってきたところを示す。このとき、設定の反映ボタン７０６は、図８において、設定の変更を行った後なので、グレーアウトではなくなり、押下可能となる。この設定の反映ボタン７０６を押下すると、そのときの条件により、後述の図１０または図１１の確認画面が表示される。
【００３３】
図１０は、画像形成装置１３０の再起動が不要のときに表示される設定変更確認ＵＩ１０００を示す。設定変更を反映するかどうかを問い合わせ、ユーザが、はいボタン１００１を押下すると、画像形成装置１３０の再起動なしに、設定が反映される。一方、ユーザが、いいえボタン１００２を押下すれば、設定変更はキャンセルされる。
【００３４】
図１１は、画像形成装置１３０の再起動が必要であるときに表示される画像形成装置再起動確認ＵＩ１１００を示す。設定変更を反映するために画像形成装置１３０の再起動をするかどうかを問い合わせ、ユーザが、はいボタン１１０１を押下すれば、画像形成装置１３０の再起動が始まり、再起動後に設定が反映される。ユーザが、いいえボタン１１０２を押下すれば、設定変更はキャンセルされる。
【００３５】
図１２は、動的更新制御部２０２の処理を示すフローチャートである。まず、ステップＳ１２００において、図７に示す設定の反映ボタン７０６が押下されたイベントをトリガーとして、ＵＩ２０５から動的更新制御部２０２が設定変更反映ボタンイベントを受信する。次に、ステップＳ１２０１において、デバイス再起動フラグの状態をチェック（判定）する。このデバイス再起動フラグは、動的更新制御部２０２によって管理された値であり、値としてＴＲＵＥ／ＦＡＬＳＥをもち、ＨＤＤ１０４に保持される。
【００３６】
このフラグは、後述の図１４に示すフローに従って、アプリ管理サービスによって、ＴＲＵＥ／ＦＡＬＳＥが設定される。なお、起動時におけるデフォルトの値は、ＦＡＬＳＥである。ステップＳ１２０１で、フラグの状態がＦＡＬＳＥである場合、ステップＳ１２０３に進み、図１０で示す設定変更確認ＵＩ１０００をＵＩ２０５に表示し、ステップＳ１２０５で、ＵＩ２０５の応答を待つ。ユーザがはいボタン１００１を選択した場合（ＹＥＳ）、ステップＳ１２０７において、システムインターフェースサービス２１１のコールバック関数を呼び出し、設定変更の反映を行う。一方、ステップＳ１２０５において、ユーザがいいえボタン１００２を選択した場合（ＮＯ）、ステップＳ１２０８に進み、処理を終了する。
【００３７】
一方、ステップＳ１２０１において、フラグの状態がＴＲＵＥである場合、ステップＳ１２０２に進み、図１１で示す画像形成装置再起動確認ＵＩ１１００をＵＩ２０５に表示し、ステップＳ１２０４で、ＵＩ２０５の応答を待つ。ユーザがはいボタン１１０１を選択した場合（ＹＥＳ）、再起動制御部２０６の再起動処理を呼び出し、画像形成装置１３０の再起動を実行する。一方、ステップＳ１２０４において、ユーザがいいえボタン１１０２を選択した場合（ＮＯ）、ステップＳ１２０８に進み、処理を終了する。
【００３８】
図１３は、アプリ管理ＵＩ５０１の管理形態の１つであるログインアプリ管理ＵＩ１３００を示す図である。リスト１３０１に示すように、インストールされているログインアプリの一覧と各ログインアプリの状態を確認することができる。ここで、「ネットワークの設定が変更されても、画像形成装置を再起動しない」チェックボックス１３０２がある。このチェックボックス１３０２をオンにすると、ネットワークの設定が変更されても、画像形成装置１３０を再起動しない。これは、動的更新非対応ログインアプリではあるが、画像形成装置１３０を再起動したくない場合に、このチェックボックスを利用する。このチェックボックスの値は、ＨＤＤ１０４上に保持され、アプリ管理サービス２１３によって管理される。なお、ＨＤＤ１０４に保持されるので、再起動後もこの値は、保持されたままである。このチェックボックス１３０２をオンにすると、デバイス再起動フラグはＦＡＬＳＥにセットされる。一方、チェックボックス１３０２をオフにすると、デバイス再起動フラグはＴＲＵＥにセットされる。
【００３９】
図１４は、画像形成装置１３０起動時のアプリ管理サービス２１３の処理を示すフローチャートである。まず、ステップＳ１４００において、画像形成装置１３０起動時にアプリ管理サービス２１３の処理が開始する。次に、ステップＳ１４０１において、開始中のログインアプリのマニフェスト値を取得し、ステップＳ１４０２に進む。ステップＳ１４０２において、Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅの値がＦＡＬＳＥ、またはＤｙｎａｍｉｃ−Ｕｐｄａｔｅの項目（宣言）がないか否かを判定する。Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅの値がＦＡＬＳＥ、またはＤｙｎａｍｉｃ−Ｕｐｄａｔｅの項目がない場合（ＹＥＳ）、ログインアプリがネットワーク設定の動的更新に対応していないため、ステップＳ１４０３に進む。ステップＳ１４０３において、図１３で示した「設定変更があっても、再起動しない」チェックボックス１３０２がオンか否かを判定する。チェックボックス１３０２がオフである場合（ＮＯ）、ステップＳ１４０４に進み、アプリ管理サービス２１３は、デバイス再起動フラグをＴＲＵＥにセットする。その後、ステップＳ１４０５に進み、処理を終了する。
【００４０】
なお、図１３で示した「設定変更があっても、再起動しない」チェックボックス１３０２は設けないように構成しても構わない。チェックボックス１３０２を設けない構成にした場合はステップＳ１４０３による判定は行われず、ステップＳ１４０２でＹＥＳの場合はステップＳ１４０４に進む。
【００４１】
一方、Ｓ１４０２で、Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅの値がＴＲＵＥ、またはＤｙｎａｍｉｃ−Ｕｐｄａｔｅの項目がある場合（ＮＯ）、何もしないでステップＳ１４０５に進み、処理を終了する。また、ステップＳ１４０３で、チェックボックス１３０２がオンである場合（ＹＥＳ）、何もしないでステップＳ１４０５に進み、処理を終了する。この場合、何もしないので、デバイス再起動フラグは、デフォルトのＦＡＬＳＥのままである。なお、本実施形態では、図１３で示した「設定変更があっても、再起動しない」チェックボックス１３０２を設けたが、このチェックボックス１３０２は、設けなくてもよい。このチェックボックスを設けない場合、ステップＳ１４０３による判定は行われず、ステップＳ１４０２でＹＥＳの場合は、そのままステップＳ１４０４に進む。
【００４２】
次に、図１５は、設定の反映ボタン７０６押下時のアプリ管理サービス２１３の処理を示すフローチャートである。この処理は、図１０で設定変更を反映するためにユーザが、はいボタン１００１を押下したときの処理に相当する。まず、ステップＳ１５００において、設定更新時におけるアプリ管理サービス２１３の処理が開始する。次に、ステップＳ１５０１において、アプリ管理サービス２１３で管理している一般アプリのうち、開始中のアプリのリストを取得する。次に、ステップＳ１５０２において、ステップＳ１５０１で取得した最初のアプリのマニフェスト値を取得し、Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅの値がＦＡＬＳＥ、またはＤｙｎａｍｉｃ−Ｕｐｄａｔｅの項目（宣言）がないか否かを判定する。
【００４３】
Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅの値がＦＡＬＳＥ、またはＤｙｎａｍｉｃ−Ｕｐｄａｔｅの項目がない場合（ＹＥＳ）、ステップＳ１５０３に進み、そのアプリを一旦停止してから開始するという、アプリの再起動処理を行う。一方、ステップＳ１５０２において、Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅの値がＴＲＵＥまたはＤｙｎａｍｉｃ−Ｕｐｄａｔｅの項目がある場合（ＮＯ）、何もしないで、ステップＳ１５０４に進む。そして、ステップＳ１５０４において、開始中アプリリストの最後までチェック（判定）したか否かを確認し、最後までチェックしていない場合（ＮＯ）、次のアプリに対して、再度ステップＳ１５０２に戻って処理を実行する。一方、全てのアプリをチェックした場合（ＹＥＳ）、ステップＳ１５０５において、処理を終了する。
【００４４】
図１６は、画像形成装置１３０の起動から、設定変更までの各サービスの処理のフローを示すシーケンス図である。本実施形態では、ログインアプリが動的更新対応している場合について説明する。まず、処理全体の状況について説明する。図中の左端のＵＩ２０５からアプリ管理サービス２１３までは、図２に示した各サービスを示している。一般アプリ２１５−１から２１５−４については、以下の４アプリがインストールされていて、それぞれ以下の状態であるとする。
・一般アプリＡ（２１５−１）：Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ：ｆａｌｓｅ、開始中
・一般アプリＢ（２１５−２）：動的更新非対応、開始中
・一般アプリＣ（２１５−３）：Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ：ｔｒｕｅ、開始中
・一般アプリＤ（２１５−４）：動的更新非対応、停止中
また、ログインアプリについては、動的更新対応のログインアプリＡ２１４（Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ：ｔｒｕｅ）が開始中であるとする。
【００４５】
次に、各シーケンスについて説明する。まず、画像形成装置１３０の起動時、ステップＳ１６００において、システムインターフェースサービス２１１は、設定データ管理部２０３から設定データを取得し、ＲＡＭ１０３上に設定値の値を保持する。次に、ステップＳ１６０１において、アプリ管理サービス２１３が、一般アプリＡ２１５−１、Ｂ２１５−２、Ｃ２１５−３、およびログインアプリＡ２１４の開始処理を実行する。これにより、各アプリの処理が開始される。次に、ステップＳ１６０２において、システムインターフェースサービス２１１が、動的更新制御部２０２に対してコールバック関数登録を実施する。これにより、設定の変更があったときに、登録したコールバック関数がコールされる。
【００４６】
次に、ステップＳ１６０３において、アプリ管理サービス２１３が、システムインターフェースサービス２１１に動的更新リスナー登録を行う。これにより、システムインターフェースサービス２１１からアプリ管理サービス２１３に設定変更時に動的更新イベントが通知される。次に、ステップＳ１６０４において、図１４のフローで示したようにアプリ管理サービス２１３は、ログインアプリのマニフェスト値のチェックを行う。本実施形態では、ログインアプリＡ２１４が動的更新対応アプリ（Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ：ｔｒｕｅ）なので、何も行わない。以上の処理が、画像形成装置１３０の起動時の処理である。
【００４７】
そして、上記の状態で、ステップＳ１６０５において、ＵＩ２０５でネットワーク設定の更新を行う。また、図９に示す操作部画面７００において、設定の反映ボタン７０６が押下されたときについて説明する。このとき、ステップＳ１６０６において、ＵＩ２０５から動的更新制御部２０２に設定ボタン押下イベントが通知される。次に、ステップＳ１６０７において、動的更新制御部２０２は、デバイス再起動フラグをチェックする。このとき、デバイス再起動フラグは、デフォルトのオフのままなので、ステップＳ１６０８において、図１０に示す設定変更確認ＵＩ１０００を表示する。そして、ステップＳ１６０９において、ユーザがはいボタン１００１を押下すると、ステップＳ１６１０において、システムインターフェースサービス２１１から動的更新制御部２０２に登録されたコールバック関数が呼び出される。
【００４８】
次に、ステップＳ１６１１において、システムインターフェースサービス２１１は、設定データ管理部２０３から設定データを取得する。そして、ステップＳ１６１２において、システムインターフェースサービス２１１が保持している設定データと比較を行う。ここで、１つ以上データが異なっている場合、設定データに更新があったとみなし、ステップＳ１６１３において、システムインターフェースサービス２１１は、アプリ管理サービス２１３に動的更新イベントを通知する。動的更新イベントを受信したアプリ管理サービス２１３は、図１５のフローで示すように、ステップＳ１６１４でマニフェストをチェックし、ステップＳ１６１５において、該当するアプリに対して再起動処理を実行する。このように、画像形成装置１３０の再起動をすることなく、一般アプリ自身が再起動されることで、一般アプリの起動時の初期化処理の中で、更新された設定内容が、適用されることになる。
【００４９】
次に、図１７は、画像形成装置１３０の起動から、設定変更までの各サービスの処理のフローを示すシーケンス図である。本実施形態では、ログインアプリが動的更新非対応アプリであるため、画像形成装置１３０の再起動が必要な場合について説明する。まず、処理全体の状況について説明する。図中の左端の再起動制御部２０６からアプリ管理サービス２１３までは、図２に示した各サービスを示している。一般アプリＥ２１５については、以下のアプリがインストールされているとする。
・一般アプリＥ（２１５）：Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ：ｆａｌｓｅ、開始中
また、ログインアプリについては、動的更新非対応アプリのログインアプリＢ２１６が開始中であるとする。
【００５０】
次に、各シーケンスについて説明する。ステップＳ１６００からステップＳ１６０３については、上述の図１６で示す処理と同じであるため、その説明を省略する。ステップＳ１６０３において、図１４のフローで示すようにアプリ管理サービス２１３は、ログインアプリＢ２１６のマニフェスト値のチェックを行う。ここで、ログインアプリＢ２１６は、動的更新非対応アプリのため、ステップＳ１７００、ステップＳ１７０１において、アプリ管理サービス２１３は、再起動フラグをＴＲＵＥにセットする。
【００５１】
そして、上記の状態で、ステップＳ１６０５において、ＵＩ２０５でネットワーク設定の更新を行う。また、図９に示す操作部画面７００において、設定の反映ボタン７０６が押下されたときについて説明する。このとき、ステップＳ１６０６において、ＵＩ２０５から動的更新制御部２０２に設定ボタン押下イベントが通知される。次に、ステップＳ１６０７において、動的更新制御部２０２は、デバイス再起動フラグをチェックする。このとき、デバイス再起動フラグは、ステップＳ１７０１でＴＲＵＥにセットされているため、ステップＳ１７０２において、動的更新制御部２０２は、ＵＩ２０５に画像形成装置１３０の再起動に導くＵＩ表示を実施する。ＵＩ２０５は、図１１に示す画像形成装置再起動確認ＵＩ１１００を表示する。次に、ステップＳ１７０３において、ユーザがはいボタン１１０１を押下すると、ステップＳ１７０４において、動的更新制御部２０２は、再起動制御部２０６に再起動処理を依頼する。そして、ステップＳ１７０５において、再起動制御部２０６は、画像形成装置１３０の再起動を実行する。以上の処理を行い、画像形成装置１３０の再起動後の起動時に、ログインアプリ、一般アプリは、その初期化処理の中で、更新された設定内容が、適用される。
【００５２】
以上、本実施形態によれば、画像形成装置の設定変更時に、アプリタイプに応じて、画像形成装置の再起動かアプリの再起動かを切り分けて対処し、設定変更した画像形成装置の再起動を必要最小限に留め、かつ設定の反映を効率的に行うことができる。
【００５３】
（第２実施形態）
本実施形態では、第１実施形態に示す状況において、設定変更ボタン押下時、その設定変更した項目に応じて、アプリの再起動を実行するか否かを判定する処理について説明する。図１８は、ログインアプリ２１４または一般アプリ２１５におけるマニフェストファイル１８００を示す図である。動的更新フラグ（Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ−Ｉｔｅｍ）１８０１は、マニフェスト項目の中の１つである。この設定項目の値としては、動的更新対応している項目について、図４に示す各設定項目に対応した文字列定数名が指定される。なお、ここに記載がない項目については、動的更新非対応項目とみなされる。
【００５４】
本実施形態では、ＩＰｖ４アドレスおよびＤＨＣＰの使用ＯＮ／ＯＦＦの変更については、動的更新対応であることを示す。従って、これらの項目についての設定変更の反映については自身で処理を行うアプリであることを意味している。これ以外の項目については、動的更新に対応していないため、設定変更時に画像形成装置１３０の再起動、またはアプリ自身の再起動へと、アプリ管理サービス２１３が導く必要がある。なお、本実施形態では、アプリ自身の再起動について説明する。
【００５５】
次に、図１９は、設定の反映ボタン７０６押下時のアプリ管理サービス２１３の処理を示すフローチャートである。なお、この処理は、図１０において設定変更を反映するかどうかで、ユーザがはいボタン１００１を押下したときの処理に相当する。まず、ステップＳ１９００において、設定更新時におけるアプリ管理サービスの処理が開始する。次に、ステップＳ１９０１において、アプリ管理サービス２１３で管理している一般アプリのうち、開始中のアプリのリストを取得する。次に、ステップＳ１９０２において、ステップＳ１９０１で取得した最初のアプリのマニフェスト値を取得し、設定変更イベントに含まれる変更された設定項目が、全てＤｙｎａｍｉｃ−Ｕｐｄａｔｅ−Ｉｔｅｍ１８０１に含まれているか否かを判定する。
【００５６】
Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ−Ｉｔｅｍ１８０１に含まれていない場合（ＮＯ）、ステップＳ１９０３に進み、Ｄｙｎａｍｉｃ−Ｕｐｄａｔｅ−Ｉｔｅｍ１８０１に含まれている場合（ＹＥＳ）、ステップＳ１９０４に進む。本実施形態では、図１８に示すマニフェストを有するアプリを例に挙げて説明する。なお、変更された設定項目がＩＰ＿Ｖ４＿ＡＤＤＲＥＳＳとＩＰ＿Ｖ６＿ＡＤＤＲＥＳＳである場合、ＩＰ＿Ｖ４＿ＡＤＤＲＥＳＳについては図１８のマニフェストに含まれるが、ＩＰ＿Ｖ６＿ＡＤＤＲＥＳＳについては含まれない。従って、この場合、ステップＳ１９０２の判定は、ＮＯとなり、ステップＳ１９０３に進む。ステップＳ１９０３において、アプリを一旦停止してから開始するという、アプリの再起動処理を行う。一方で、変更された設定項目が、ＩＰ＿Ｖ４＿ＡＤＤＲＥＳＳとＤＨＣＰ＿ＯＮ＿ＯＦＦである場合、図１８のマニフェストにどちらの設定項目も含まれる。従って、この場合、ステップＳ１９０２の判定は、ＹＥＳとなり、何もしないでステップＳ１９０４に進む。そして、ステップＳ１９０４において、開始中アプリリストの最後までチェックしたか否かを判定し、最後までチェックしていない場合（ＮＯ）、次のアプリに対して、再度ステップＳ１９０２に戻り処理を実行する。全てのアプリをチェックした場合（ＹＥＳ）、ステップＳ１９０５において、処理を終了する。
【００５７】
以上、本実施形態によれば、設定変更イベントに含まれる変更された設定項目に応じて、アプリの再起動をするか否かを制御することができる。
【００５８】
（第３実施形態）
本実施形態では、第１実施形態に示す状況において、動的更新対応アプリかどうかの判定を、アプリのマニフェストを見て判定しない場合について説明する。図２０は、システムインターフェースサービス２１１に動的更新リスナー登録をするときの模式図である。画像形成装置１３０の起動時に、動的更新イベントを受信したい各アプリ（アプリ管理サービス２００１、一般アプリＡ２００２、ログインアプリＡ２００３）が、動的更新リスナー登録２００５を行う。システムインターフェースサービス２１１は、ＲＡＭ１０３上に、動的更新リスナー登録リスト２００４に示すように、登録された各アプリの情報をリストとして保持する。このリストに登録されたアプリは、動的更新イベントを受け取ることができるが、イベントを受けとるということは、本実施形態では、イベントを受け取って動的更新に対応することを意味する。よって、このリストに含まれる一般アプリおよびログインアプリは、動的更新に対応しているアプリである。
【００５９】
図２１は、設定の反映ボタン７０６押下時のアプリ管理サービス２１３の処理を示すフローチャートである。この処理は、図１０で、設定変更を反映するかどうかで、ユーザがはいボタン１００１を押下したときの処理に相当する。まず、ステップＳ２１００において、設定更新時におけるアプリ管理サービス２１３の処理が開始する。次に、ステップＳ２１０１において、アプリ管理サービス２１３で管理している一般アプリのうち、開始中のアプリのリストを取得する。次に、ステップＳ２１０２において、ステップＳ２１０１で取得した最初のアプリがシステムインターフェースサービス２１１の動的更新リスナー登録リストに含まれるか否かを判定する。リストに含まれない場合（ＮＯ）、ステップＳ２１０３に進み、そのアプリを一旦停止してから開始するという、アプリの再起動処理を行う。一方、リストに含まれる場合（ＹＥＳ）、何もしないでステップＳ２１０４に進む。そして、Ｓ２１０４において、開始中アプリリストの最後までチェックしたか否かを判定し、最後までチェックしていない場合（ＮＯ）、次のアプリに対して、再度ステップＳ２１０２に戻り処理を実行する。全てのアプリをチェックした場合（ＹＥＳ）、ステップＳ２１０５において、処理を終了する。
【００６０】
以上、本本実施形態によれば、システムインターフェースサービス２１１の動的更新リスナー登録リストに含まれるか否かを判定することで、アプリの再起動をするか否かを制御することができる。
【００６１】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【図１】
2015158783.tif 000003
【図２】
2015158783.tif 000004
【図３】
2015158783.tif 000005
【図４】
2015158783.tif 000006
【図５】
2015158783.tif 000007
【図６】
2015158783.tif 000008
【図７】
2015158783.tif 000009
【図８】
2015158783.tif 000010
【図９】
2015158783.tif 000011
【図１０】
2015158783.tif 000012
【図１１】
2015158783.tif 000013
【図１２】
2015158783.tif 000014
【図１３】
2015158783.tif 000015
【図１４】
2015158783.tif 000016
【図１５】
2015158783.tif 000017
【図１６】
2015158783.tif 000018
【図１７】
2015158783.tif 000019
【図１８】
2015158783.tif 000020
【図１９】
2015158783.tif 000021
【図２０】
2015158783.tif 000022
【図２１】
2015158783.tif 000023