(57)【要約】      （修正有）【課題】アプリケーションからのリクエストに従う処理が終了したときの依頼元のアプリケーションの動作状態に拘わらず、機能制限を解除できる情報処理装置を提供する。【解決手段】情報処理装置のサービスは、アプリケーションからの機能制限の依頼に応じて、情報処理装置における機能制限の処理を実行し、機能制限の処理の後に、アプリケーションからのリクエストを受け付けて、当該リクエストに従う処理を実行し、リクエストに従う処理の完了をアプリケーションに通知し、アプリケーションからの機能制限の解除の依頼に応じて、機能制限を解除する。また、サービスは、リクエストに従う処理の完了を通知する前に、アプリケーションから機能制限の解除の予約指示を受け付け、予約指示を受け付けた場合には、リクエストに従う処理の完了をアプリケーションに通知することなく、機能制限を解除する。【選択図】図６
2020205488.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションと、前記アプリケーションからのリクエストに従う処理を実行するサービスと、が動作する情報処理装置であって、
前記サービスは、
前記アプリケーションからの機能制限の依頼に応じて、前記情報処理装置における機能制限の処理を実行し、
前記機能制限の処理の後に、前記アプリケーションからのリクエストを受け付けて、当該リクエストに従う処理を実行し、
前記リクエストに従う処理の完了を前記アプリケーションに通知し、
前記アプリケーションからの機能制限の解除の依頼に応じて、前記機能制限を解除し、
前記リクエストに従う処理の完了を通知する前に、前記アプリケーションから機能制限の解除の予約指示を受け付け、
前記予約指示を受け付けた場合には、前記リクエストに従う処理の完了を前記アプリケーションに通知することなく、前記機能制限を解除する
ことを特徴とする情報処理装置。
【請求項２】
前記サービスは、前記予約指示を受け付けた場合には、前記リクエストに従う処理の完了した後に、前記機能制限を解除する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記機能制限は、前記サービスによる排他制御および前記情報処理装置の画面のロック制御の少なくともいずれかを含む
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記リクエストは、設定値のインポートまたはエクスポートのためのリクエストである
ことを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置。
【請求項５】
前記サービスは、
前記設定値の前記インポートのためのリクエストに従う処理の実行前に、前記情報処理装置における第１の設定値を記憶手段に保存し、
前記予約指示を受け付けた場合には、前記情報処理装置にインポートされた第２の設定値を、保存された前記第１の設定値に戻すための処理を実行した後、前記機能制限を解除する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記サービスは、
前記リクエストに従う処理の完了した後、前記リクエストが所定時間内に再開しない場合に、受け付けた前記予約指示に従い前記機能制限を解除する
ことを特徴とする請求項１から請求項５のいずれか一項に記載の情報処理装置。
【請求項７】
前記アプリケーションは、
前記サービスに対して前記予約指示を送付した後で、当該アプリケーションの動作を終了させる
ことを特徴とする請求項１から請求項６のいずれか一項に記載の情報処理装置。
【請求項８】
前記アプリケーションは、
前記リクエストに従う処理の対象となるデータが、前記サービスに対して送付が完了しているか判断し、
前記サービスに前記データの送付が完了していなければ、前記リクエストに従う処理の取り消しと前記機能制限の解除とを含む前記予約指示を、前記サービスに対して送付する
ことを特徴とする請求項１から請求項７のいずれか一項に記載の情報処理装置。
【請求項９】
前記アプリケーションは、
前記サービスに対する前記リクエストが完了したときに、前記サービスに対して前記予約指示を送付する
ことを特徴とする請求項１から請求項８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、プリンタ、複写機およびスキャナのいずれかに含まれる
ことを特徴とする請求項１から請求項９のいずれか一項に記載の情報処理装置。
【請求項１１】
アプリケーションからのリクエストに従う処理を実行する情報処理装置における方法であって、
前記アプリケーションからの機能制限の依頼に応じて、前記情報処理装置における機能制限の処理を実行する工程と、
前記機能制限の処理の後に、前記アプリケーションからのリクエストを受け付けて、当該リクエストに従う処理を実行する工程と、
前記リクエストに従う処理の完了を前記アプリケーションに通知する工程と、
前記アプリケーションからの機能制限の解除の依頼に応じて、前記機能制限を解除する工程と、
前記リクエストに従う処理の完了を通知する前に、前記アプリケーションから機能制限の解除の予約指示を受け付ける工程と、
前記予約指示を受け付けた場合には、前記リクエストに従う処理の完了を前記アプリケーションに通知することなく、前記機能制限を解除する工程と、を有する
ことを特徴とする方法。
【請求項１２】
アプリケーションからの機能制限の依頼に応じて、コンピュータにおける機能制限の処理を実行する工程と、
前記機能制限の処理の後に、前記アプリケーションからのリクエストを受け付けて、当該リクエストに従う処理を実行する工程と、
前記リクエストに従う処理の完了を前記アプリケーションに通知する工程と、
前記アプリケーションからの機能制限の解除の依頼に応じて、前記機能制限を解除する工程と、
前記リクエストに従う処理の完了を通知する前に、前記アプリケーションから機能制限の解除の予約指示を受け付ける工程と、
前記予約指示を受け付けた場合には、前記リクエストに従う処理の完了を前記アプリケーションに通知することなく、前記機能制限を解除する工程と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
設定値の配信（インポート・エクスポート）を提供するサービスと、設定値の配信を依頼するアプリケーションが動作する情報処理装置においては、設定値の配信に関する処理のときに装置内で排他的な処理が行われる。例えば、上記の情報処理装置が印刷装置である場合、設定値の配信に関する処理のときに、例えば設定値に影響を与えるジョブ（ＦＡＸ送信やコピー）や、画面を介しての設定値の操作が一時的に停止される。
【０００３】
たとえば、特許文献１に記載のシステムでは、ＦＡＸ送信やコピー等のジョブの実行を依頼しているアプリケーションの稼動中は、他のアプリケーションからのジョブの実行依頼を拒絶している。ジョブの実行を依頼したアプリケーションが終了するとジョブの排他が解除され、他のアプリケーションからジョブの実行依頼が可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５４８８０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この種の情報処理装置において、排他による機能制限を依頼したアプリケーションが何らかの理由で機能制限の解除前に終了することがある。かかる場合には、アプリケーションのリクエストに従う処理が終了したときに、依頼元のアプリケーションが応答できないことからサービスが機能制限を解除できず、情報処理装置の円滑な動作が抑制されうる。
【課題を解決するための手段】
【０００６】
本発明の一実施形態の情報処理装置は、アプリケーションと、アプリケーションからのリクエストに従う処理を実行するサービスと、が動作する。サービスは、アプリケーションからの機能制限の依頼に応じて、情報処理装置における機能制限の処理を実行し、機能制限の処理の後に、アプリケーションからのリクエストを受け付けて、当該リクエストに従う処理を実行し、リクエストに従う処理の完了をアプリケーションに通知し、アプリケーションからの機能制限の解除の依頼に応じて、機能制限を解除する。また、サービスは、リクエストに従う処理の完了を通知する前に、アプリケーションから機能制限の解除の予約指示を受け付け、予約指示を受け付けた場合には、リクエストに従う処理の完了をアプリケーションに通知することなく、機能制限を解除する。
【発明の効果】
【０００７】
本発明の情報処理装置によれば、アプリケーションからのリクエストに従う処理が終了したときの依頼元のアプリケーションの動作状態に拘わらず、情報処理装置の機能制限を解除できる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のネットワークシステムの構成例を示す図である
【図２】印刷装置（ＭＦＰ）および管理ＰＣのハードウェア構成の一例を示す図である。
【図３】ＭＦＰのソフトウェア構造の一例を示す図である。
【図４】ＭＦＰの表示部に表示される画面の一例を示す図である。
【図５】第１実施形態のＭＦＰの制御例を示す図である。
【図６】図５の続きの図である。
【図７】第１実施形態の設定値管理サービスの制御例を示す流れ図である。
【図８】設定データの書き込み処理の例を示す流れ図である。
【図９】終了予約の処理の例を示す流れ図である。
【図１０】第１実施形態のアプリケーションの制御例を示す流れ図である。
【図１１】インポート処理の例を示す流れ図である。
【図１２】第２実施形態における設定データの書き込み処理の例を示す流れ図である。
【図１３】第２実施形態における終了予約の処理の例を示す流れ図である。
【図１４】第３実施形態のアプリケーションの制御例を示す流れ図である。
【図１５】第４実施形態のアプリケーションの制御例を示す流れ図である。
【図１６】第５実施形態における終了予約の処理の例を示す流れ図である。
【図１７】第５実施形態のアプリケーションの制御例を示す流れ図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１０】
（第１実施形態）
図１は、第１実施形態のネットワークシステムの構成例を示す図である。なお、ネットワークシステムの各要素は、後述する本実施形態の機能を実行できるものであれば、単体の機器で構成されていてもよく、複数の機器で構成されていてもよい。
【００１１】
ネットワークシステムは、情報処理装置の一例としての印刷装置１００と、管理ＰＣ(Personal Computer)１１０と、管理サーバ１２０を含む。印刷装置１００、管理ＰＣ１１０および管理サーバ１２０は、インターネット、イントラネット等のネットワーク１３０を介して相互に接続されている。
【００１２】
印刷装置１００は、例えば、印刷部、スキャナ部などのモジュールを有する複写機の一種としての複合機（ＭＦＰ）である。印刷装置１００は、用紙に対してトナーやインク等の記録剤を用いて画像形成を行う印刷機能に加え、スキャナ部での原稿読み取りによるＦＡＸやコピー等の機能を備える。
【００１３】
また、印刷装置１００は、記憶部１０１、印刷制御部１０２を機能構成として含む。記憶部１０１は、印刷やファクス等のジョブデータや、ログ、画面操作の履歴等のデータを保存して蓄積する。印刷制御部１０２は、ネットワーク１３０を介して受信した画像データの印刷を制御する。印刷装置１００は、図１に示した機能構成以外に、ＦＡＸ送受信部、ライセンス管理部、ネットワーク部等を有していてもよい。
【００１４】
本実施形態のネットワークシステムは、１台の印刷装置を含むものとする。しかし、ネットワークシステム内の印刷装置は１つに限定されず、複数台の印刷装置１００を含んでもよい。また、ネットワークシステムは、複合機以外の情報処理装置として、例えば印刷部を有する印刷装置（プリンタ）や、スキャナ部を有する原稿読み取り装置（スキャナ）を含む構成であってもよい。なお、印刷装置１００は、印刷部およびスキャナ部を有し、原稿のコピーを実行可能な複写機であってもよい。
【００１５】
管理ＰＣ１１０は、ネットワークシステムの管理者によって使用される情報処理装置であって、印刷装置１００の稼動状態を一元的に管理する。例えば、管理者は、管理ＰＣ１１０に予め備えられているプログラム（管理ツール）を用いて、印刷装置１００や他の印刷装置を管理する。
【００１６】
管理サーバ１２０は、データを蓄積し、印刷装置１００の管理サービスを提供する情報処理装置である。管理サーバ１２０は、データを蓄積する記憶部１２１を有する。
【００１７】
図２は、印刷装置１００、管理ＰＣ１１０のハードウェア構成の一例を示す図である。
まず、管理ＰＣ１１０のハードウェア構成について説明する。管理ＰＣ１１０は、ＣＰＵ２００、ＲＯＭ２０１、ＲＡＭ２０２、ハードディスク装置２０５、キーボード２０６、表示部２０７、ポインティングデバイス２０９、接続部２１０を備える。管理ＰＣ１１０の上記の各要素は、システムバス２０８を介して接続されている。
なお、ＣＰＵは、Central Processing Unitの略であり、ＲＯＭは、Read Only Memoryの略である。ＲＡＭは、Random Access Memoryの略である。
【００１８】
ＣＰＵ２００は、管理ＰＣ１１０の各要素を統括的に制御する。ＣＰＵ２００は、ハードディスク装置２０５に格納されているアプリケーションプログラム、プリンタードライバープログラム、ＯＳのプログラム、制御プログラム等を実行する。更に、ＣＰＵ２００は、プログラムの実行に必要な情報やファイル等をＲＡＭ２０２に一時的に格納する制御を行う。ＣＰＵ２００は、ＲＯＭ２０１又はハードディスク装置２０５などに記憶されたプログラムを読み出して処理を実行し、これにより管理ＰＣ１１０の機能が実現される。
【００１９】
ＲＯＭ２０１は、不揮発性の記憶媒体であって、例えば、基本Ｉ／Ｏプログラム等のプログラム、文書処理に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。
ＲＡＭ２０２は、ＣＰＵ２００の主メモリ、ワークエリア等の一時領域として機能する一時記憶部である。
【００２０】
管理ＰＣ１１０は、不図示のメディアドライブを備えてもよい。ＣＰＵ２００（コンピューター）によって読み取り可能なプログラムを格納した記憶媒体（メディア）からデータを読み出す記憶媒体読み込み部である。ＣＰＵ２００は、メディアドライブを介して、記憶媒体に記憶されたプログラム等を管理ＰＣ１１０にロードすることができる。
なお、管理ＰＣ１１０で使用される記憶媒体は、例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等がある。
【００２１】
ハードディスク装置（ＨＤ）２０５は、外部記憶部の一つであって、大容量メモリとして機能する。ハードディスク装置２０５は、アプリケーションプログラム、プリンタードライバープログラム、ＯＳ、制御プログラム、関連プログラム等を格納する。
【００２２】
キーボード（ＫＢＤ）２０６は、ユーザの文字入力等を受け付ける入力部の一つである。
表示部２０７は、例えば、ＣＲＴや液晶モニタなどのディスプレイ装置であり、キーボード２０６から入力されたコマンドや、アプリケーションプログラムなどを表示する。
【００２３】
システムバス２０８は、管理ＰＣ１１０内のデータの流れを司るデータ伝送路である。
ポインティングデバイス（ＰＤ）２０９は、ユーザによる座標の入力等を受け付ける入力部の一つである。
【００２４】
接続部２１０は、双方向インターフェース２１１を介して外部装置とのデータの送受を行う通信インターフェースである。接続部２１０の通信先である外部装置は、図２に示す印刷装置１００に限定されず、管理サーバ１２０や、図示しないクライアントＰＣであってもよい。なお、サーバ１２０や、クライアントＰＣのハードウェア構成は、管理ＰＣ１１０と同様であってもよい。
【００２５】
次に、印刷装置１００のハードウェア構成について説明する。なお、以降の説明では、印刷装置１００をＭＦＰ１００とも表記する。
ＭＦＰ１００は、ＣＰＵ２２０、ＲＯＭ２２１、ＲＡＭ２２２、外部メモリ２２３、操作部２２４、データ制御部２２５、接続部２２６、ハードディスク装置２２８、表示部２２９を備える。ＭＦＰ１００の上記の各要素は、システムバス２２７を介して接続されている。
【００２６】
ＣＰＵ２２０は、ＭＦＰ１００の各要素を統括的に制御する。ＣＰＵ２２０は、ハードディスク装置２２８に格納されているアプリケーションプログラムや、ＲＯＭ２２１又は外部メモリ２２３に記憶された制御プログラム等を実行する。更に、ＣＰＵ２２０は、プログラムの実行に必要な情報やファイル等をＲＡＭ２２２に一時的に格納する制御を行う。ＣＰＵ２２０は、ＲＯＭ２２１又はハードディスク装置２２８などに記憶されたプログラムを読み出して処理を実行し、これによりＭＦＰ１００の機能が実現される。
【００２７】
例えば、ＣＰＵ２２０は、ＲＯＭ２２１又は外部メモリ２２３に記憶された制御プログラムに基づいて、接続部２２６を介して受信した印刷制御コマンド（送信データ）から画像信号をデータ制御部２２５に送信する。
また、ＭＦＰ１００にログ記録ソフトウェアがインストールされている場合、ＣＰＵ２２０は、ＲＯＭ２２１又はハードディスク装置２２８に記憶されたプログラムに基づくログの記録処理を実行する。
【００２８】
ＲＯＭ２２１は、不揮発性の記憶媒体であって、例えば、ＭＦＰ１００を制御する制御プログラム、文書処理に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。
ＲＡＭ２２２は、ＣＰＵ２２０の主メモリ、ワークエリア等の一時領域として機能する一時記憶部である。
外部メモリ２２３は、オプションとして接続される記憶媒体であって、例えば、フォントデータ、エミュレーションプログラム、テンプレート用データ等を記憶する。
【００２９】
操作部２２４は、例えば表示デバイスと一体化されたタッチパネルモジュールであって、操作パネルや操作スイッチ等の入力部と、ＬＥＤや液晶パネル等の表示部を含む。操作部２２４は、ＭＦＰ１００を操作するユーザからの入力を受けるとともに、操作結果等を表示する。ユーザは、操作部２２４を介して、ＭＦＰ１００の設定情報の設定や、当該設定情報の確認等をすることができる。
【００３０】
データ制御部２２５は、ＭＦＰ１００の印刷を制御する印刷エンジンである。データ制御部２２５は、ＣＰＵ２２０により制御され、ＲＯＭ２２１、外部メモリ２２３等に記憶された制御プログラムにより、システムバス２２７を介して出力された画像信号を受信し、実際の印刷処理を行う。
接続部２２６は、双方向インターフェース２１１を介して外部装置とのデータの送受を行う通信インターフェースである。接続部２２６は、例えば、双方向インターフェース２１１を介して管理ＰＣ１１０の接続部２１０と通信する。これにより、ＭＦＰ１００は、管理ＰＣ１１０から印刷制御コマンド（送信データ）の受信や、管理ＰＣ１１０に対するＭＦＰ１００の状態等の通知を行うことができる。
システムバス２２７は、ＭＦＰ１００内のデータの流れを司るデータ伝送路である。
【００３１】
ハードディスク装置２２８は、外部記憶部の一つであって、大容量メモリとして機能する。ハードディスク装置２２８は、例えば、フォントデータや印刷ジョブ等のデータを記憶する。
また、ハードディスク装置２２８は、複数のハードディスクで構成されていてもよい。例えば、ＭＦＰ１００は、ＭＦＰ１００のジョブのログ記録などに通常利用されるハードディスクとは別に、バックアップデータの記憶用のハードディスクを別個に有していてもよい。
さらに、ハードディスク装置２２８は、外部装置である記憶装置と置き換えることができる。ハードディスク装置２２８を外部の記憶装置と置き換える場合、ＭＦＰ１００は、接続部２２６を介して外部の記憶装置との間でデータの送受信を行う。
【００３２】
表示部２２９は、液晶モニタなどのディスプレイ装置であり、ＭＦＰ１００へのログイン画面や、ＭＦＰ１００にインストールされたアプリケーションプログラムの画面を表示する。なお、表示部２２９は、上記のタッチパネルモジュールの表示部としてＭＦＰ１００に実装されていてもよい。
【００３３】
図３は、本実施形態におけるＭＦＰ１００のソフトウェア構造の一例を示す図である。図３に示される各ソフトウェアモジュールの機能は、ＲＯＭ２２１あるいはハードディスク装置２２８に格納されたプログラムをＲＡＭ２２２に読み込んだ後、ＣＰＵ２２０がプログラムを実行することで実現される。
【００３４】
ＭＦＰ１００の各ソフトウェアはＯＳ(Operating System)３０１上で動作する。ＯＳ３０１としては、一般的にはリアルタイムＯＳが使用されるが、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳを用いてもよい。
ＪａｖａＶＭ３０２は、Ｊａｖａ（登録商標）などの仮想マシンであり、アプリケーションの実行環境を提供する。アプリケーションフレームワーク３０３は、アプリケーションのライフサイクルを管理する機能、およびアプリケーションが共通で利用する機能を提供する。
【００３５】
アプリケーションＡ３０４およびＢ３０５は、それぞれＭＦＰ１００に追加でインストールされるアプリケーションプログラムであり、ＭＦＰ１００上で様々な機能を提供する。これらのアプリケーションは、ＭＦＰ１００の外部からダウンロードしてＭＦＰ１００にインストールすることができる。
例えば、アプリケーションＡ３０４およびＢ３０５は、操作部２２４を介してユーザと応答を行うことが可能である。また、アプリケーションＡ３０４およびＢ３０５は、画像データの生成や印刷指示をすることも可能である。
【００３６】
アプリ管理サービス３０６は、アプリケーションの管理機能を提供するプログラムである。アプリ管理サービス３０６は、例えば、操作部２２４および表示部２２９を介してユーザと応答を行う機能や、各アプリケーションのインストールやアンインストール、使用期間の延長依頼などの機能を提供する。
【００３７】
Ｎａｔｉｖｅ機能部３１０は、ＭＦＰ１００に組み込まれた標準的な機能を提供する。Ｎａｔｉｖｅ機能部３１０は、ファイル管理サービス３１１、設定値管理サービス３１２、表示管理サービス３１３およびジョブ管理サービス３１４を含む。
ファイル管理サービス３１１は、ハードディスク装置２２８内に記憶されるファイルの作成、更新、削除などの機能を提供する。
【００３８】
設定値管理サービス３１２は、ＭＦＰ１００の設定値のエクスポート機能およびインポート機能を提供する。エクスポート機能は、ＭＦＰ１００の設定値をファイルに記録し、ＭＦＰ１００の予め定められた記憶領域や、指定されたＭＦＰ１００のネットワークフォルダあるいは記憶媒体へ保存する機能である。インポート機能は、設定値管理サービス３１２によってエクスポートされた設定値ファイルを読み込み、ファイルに記録されている設定値をＭＦＰ１００に反映させる機能である。
【００３９】
表示管理サービス３１３は、ＭＦＰ１００の画面表示の制御を行う機能を提供する。表示管理サービス３１３は、例えば、指定された画面を表示部２２９に表示する。これを契機として、ＭＦＰ１００は、操作部２２４を介してユーザの操作を受け付けることでアプリケーションフレームワーク３０３を開始させ、アプリケーションやＯＳ３０１に通知を行う。
【００４０】
ジョブ管理サービス３１４は、ＭＦＰ１００で実行される様々なジョブの生成、終了、停止、再開等を制御する。また、ジョブ管理サービス３１４は、ジョブ種（例えば、ＦＡＸ送信、印刷）毎の実行の停止や再開等のジョブサービスの管理を行う。また、ジョブ管理サービス３１４は、各種ジョブを実行した場合にログを記録して、内部ログ情報としてハードディスク装置２２８に格納する。
【００４１】
なお、本実施形態では、ＪａｖａＶＭ３０２、アプリケーションフレームワーク３０３はハードディスク装置２２８に格納されているものとする。また、Ｎａｔｉｖｅ機能部３１０はＲＯＭ２２１に格納されているものとする。
【００４２】
図４は、ＭＦＰ１００の表示部２２９に表示される画面の一例を示す図である。
図４（Ａ）は、ＭＦＰ１００起動直後に表示される画面４００の一例を示す。画面４００は、アイコンおよびタイトルの表示４０１、ガイダンス４０２、アイコン表示領域４０３およびファンクションアイコン４０４を含む。
【００４３】
図４（Ａ）の表示４０１は、ホーム（初期画面）を意味するアイコンと、タイトル「メインメニュー」で構成されている。図４（Ａ）のガイダンス４０２は、ユーザに操作を促すメッセージ（「目的のファンクションを選択します」）を表示している。
【００４４】
また、図４（Ａ）のアイコン表示領域４０３には、複数のファンクションアイコン４０４が表示されている。個々のファンクションアイコン４０４は、ＭＦＰ１００に予め備えられた機能、あるいはアプリケーションのインストールまたは有効化によって追加された機能に対応している。例えば、バックアップのファンクションアイコン４０４は、ＭＦＰ１００のバックアップ機能を実行するためのアイコンである。
操作部２２４のタッチパネルの機能を利用してユーザがファンクションアイコン４０４を指定する入力を行うと、ＭＦＰ１００は指定されたファンクションアイコン４０４に対応する機能を実行する。
【００４５】
図４（Ｂ）は、バックアップ機能の実行中に表示される画面４１０の一例を示す。画面４１０は、アイコンおよびタイトルの表示４１１、サービス接続確認ボタン４１２、表示領域４１３、実行履歴ボタン４１４、定期バックアップ設定ボタン４１５、いますぐバックアップボタン４１６を含む。
【００４６】
ここで、バックアップ機能は、バックアップアプリケーションから呼び出され、指定されたバックアップ対象をアーカイブし、指定された場所に格納する。例えば、バックアップ機能は、ＭＦＰ１００のファームウェア、設定値、インストール済のアプリケーション、およびアプリケーションの設定値等、ＭＦＰ１００のハードディスク装置２２８に格納されているデータをアーカイブする。そして、バックアップ機能は、アーカイブしたデータを、ＭＦＰ１００の外部の記憶装置（例えば、管理サーバ１２０の記憶部１２１や、ネットワーク上の所定のデータストレージ（不図示）など）に保存する。
【００４７】
図４（Ｂ）の表示４１１は、バックアップ機能を示すアイコンと、タイトル「バックアップ」で構成されている。
サービス接続確認ボタン４１２は、バックアップサービスとの接続結果を表示させるボタンである。ユーザによってサービス接続確認ボタン４１２が押下されると、ＭＦＰ１００は、表示部２２９にサービス接続画面（不図示）を表示させ、管理サーバ１２０で稼動しているバックアップサービスとの接続結果を表示させる。
表示領域４１３には、最新のバックアップ情報が表示される。例えば、表示領域４１３には、最新のバックアップに関し、バックアップの実施日時、バックアップ結果およびバックアップの失敗理由などの情報が表示される。
【００４８】
実行履歴ボタン４１４は、バックアップの実行履歴を表示させるボタンである。ユーザによって実行履歴ボタン４１４が押下されると、ＭＦＰ１００は、バックアップの実施日時および簡単な結果をリスト形式で表示する画面（不図示）を表示部２２９に表示させる。
【００４９】
定期バックアップ設定ボタン４１５は、定期バックアップの設定画面を表示させるボタンである。ユーザによって定期バックアップ設定ボタン４１５が押下されると、ＭＦＰ１００は、定期バックアップの設定画面（不図示）を表示部２２９に表示させる。定期バックアップの設定画面では、ＭＦＰ１００は、定期バックアップの実施日時、バックアップ対象項目等の設定の入力を受け付ける。定期バックアップの設定がされると、バックアップ機能は、設定された実施日時が到来したときにバックアップを実行する。
【００５０】
いますぐバックアップボタン４１６は、バックアップを実行させるボタンである。ユーザによっていますぐバックアップボタン４１６が押下されると、ＭＦＰ１００は、後述の図４（Ｃ）のロック画面を表示部２２９に表示させるとともに、バックアップ機能にバックアップを実行させる。
なお、いますぐバックアップおよび定期バックアップの実行時には、ＭＦＰ１００の設定、インストール済みアプリケーションの一覧、アプリケーションの設定が取得される。そして、管理サーバ１２０で稼動しているバックアップサービスに上記の取得された設定が通知される。また、バックアップサービスは、例えば記憶部１２１の所定の領域に、通知された設定を格納する。
【００５１】
図４（Ｃ）は、画面ロック中に表示される画面４２０の一例を示す。
図４（Ｃ）の画面４２０は、例えば、図４（Ｂ）の画面４１０で指示されたいますぐバックアップの実行時に表示部２２９に表示される。なお、例えば、リストア画面（不図示）からバックアップデータの設定値をＭＦＰ１００に反映させる復旧処理の実行時にも、メッセージの異なる同種の画面が表示部２２９に表示される。
【００５２】
画面４２０は、バックアップ中であることを示し、ユーザに電源の遮断をしないように促すメッセージ表示４２１を含む。ＭＦＰ１００の設定情報等をバックアップ中のときには、画面４２０の表示により、操作部２２４はユーザによる指示入力を受け付けない状態となる。
【００５３】
図４（Ｃ）の画面４２０は、バックアップの終了とともに表示が切り替えられ、表示部２２９にはバックアップ実行前の画面が表示される。例えば、図４（Ｂ）の画面４１０から、いますぐバックアップボタン４１６を押下してバックアップを実行すると、バックアップの実行中には画面４２０が表示されるが、バックアップの終了後には画面４１０が再び表示される。
【００５４】
図５、図６は、第１実施形態のＭＦＰ１００の制御例を示す図である。
以下の説明では、ＭＦＰ１００にインストール済みのアプリケーションＡ（以下、単にアプリケーションと表記する）３０４が、ＭＦＰ１００に設定値をインポートするときの制御を説明する。なお、アプリケーション３０４は、ＭＦＰ１００にインポートする設定値（設定データ）を予め保持しているものとする。
【００５５】
ステップＳ５０１にて、アプリケーション３０４は、設定値管理サービス３１２が提供する機能に基づき、設定値管理サービス３１２に対して画面ロック要求を通知する。
【００５６】
ステップＳ５０２にて、設定値管理サービス３１２は、表示管理サービス３１３に対して画面ロックの依頼を行う。すなわち、設定値管理サービス３１２は、図４（ｃ）に示す画面４２０を表示部２２９に表示させる依頼を行う。表示管理サービス３１３は、画面ロックの依頼を受けて、画面４２０の表示による画面のロック制御を行う。
また、図示はしないが、設定値管理サービス３１２は、Ｗｅｂサービスを介した外部の情報処理装置からの設定値の書き込み・読み込みを不能化（ロック）する処理も行う。以降、後述する画面ロックの解除が行われるまで、ユーザからの入力指示ができない状態となる。
【００５７】
ステップＳ５０３にて、設定値管理サービス３１２は、アプリケーション３０４に対して画面ロックの完了を通知する。
ステップＳ５０４にて、アプリケーション３０４は、設定値管理サービス３１２が提供する機能に基づき、設定値管理サービス３１２に対して排他要求を通知する。
【００５８】
ステップＳ５０５にて、設定値管理サービス３１２は、排他オブジェクトを取得する。
排他オブジェクトは、ＪａｖａＶＭ３０２に予め用意され、アプリケーションフレームワーク３０３を介して取得・解放ができるオブジェクトである。排他対象と排他オブジェクトは紐付けて管理され、排他オブジェクトが取得できたときは、その排他オブジェクトに対応する排他対象を使用できるものとする。排他対象の使用が終了すると、排他対象に対応する排他オブジェクトが解放される。排他オブジェクトを取得できないときは、排他オブジェクトに対応する排他対象を使用できない。排他オブジェクトを同時に取得できなくすることで、排他処理が実現される。
【００５９】
図示しないが、排他オブジェクトの取得に失敗した場合は、設定値管理サービス３１２は、アプリケーション３０４に対して排他の失敗を通知する。以降、アプリケーション３０４は、排他要求が成功するまで排他要求の処理を繰り返す。つまり、設定値管理サービス３１２が排他オブジェクトを取得できたときだけ、設定値のインポート・エクスポートの依頼が成功することを意味している。
【００６０】
ステップＳ５０６にて、設定値管理サービス３１２は、ジョブ管理サービス３１４に対してジョブの排他を通知する。これにより、ジョブ管理サービス３１４は、設定値の変更に影響を受けるジョブサービスまたは設定値に影響するジョブサービス（ＦＡＸ送信やコピー等）を一時的に停止する。
【００６１】
ステップＳ５０７にて、設定値管理サービス３１２は、アプリケーション３０４に対して排他の完了を通知する。図示しないが、ここでジョブの排他に失敗した場合は、設定値管理サービス３１２は、ステップＳ５０５で取得した排他オブジェクトを解放し、排他の失敗をアプリケーション３０４に通知する。以降、アプリケーション３０４は、排他要求が成功するまで排他要求処理を繰り返す。
【００６２】
ステップＳ５０８にて、アプリケーション３０４は、設定値管理サービス３１２に対してインポート要求を行う。すなわち、アプリケーション３０４は、設定値管理サービス３１２が提供する機能に基づき、設定値のインポートを要求する。
【００６３】
ステップＳ５０９にて、アプリケーション３０４は、インポートの対象となる設定データを設定値管理サービス３１２に送付する。
ステップＳ５１０にて、設定値管理サービス３１２は設定データを書き込む。すなわち、設定値管理サービス３１２は、ステップＳ５０９で受け取った設定データをファイル管理サービス３１１に送付し、ファイル管理サービス３１１は設定値をＭＦＰ１００に反映する。
【００６４】
ステップＳ５１１にて、アプリケーション３０４は、設定値管理サービス３１２の提供する機能に基づき、設定値管理サービス３１２に対してインポートの処理結果を確認するための通信を行う。
【００６５】
ステップＳ５１２にて、設定値管理サービス３１２は、アプリケーション３０４に対してインポートの処理結果を応答する。このとき、設定値管理サービス３１２は、ステップＳ５１０の結果として、成功・失敗・処理中のいずれかの応答をアプリケーション３０４に返す。アプリケーション３０４は、設定値管理サービス３１２から成功の応答または失敗の応答があるまで、ステップＳ５１１以降の処理を繰り返す。なお、ステップＳ５１２で失敗が応答された場合には、アプリケーション３０４は、例外として不図示の失敗処理を行う。
【００６６】
次に、通常処理として、ステップＳ５１０の設定データの書き込みの後に、インポートの処理完了までアプリケーションが稼動している場合の制御例を説明する。この通常処理は、図６に示すステップＳ５１３からＳ５２２の処理を含む。
ステップＳ５１３にて、ファイル管理サービス３１１は、書き込みの完了を設定値管理サービス３１２に通知する。
【００６７】
ステップＳ５１４にて、アプリケーション３０４は、設定値管理サービス３１２に対して結果の確認のための通信を行う。この処理は、ステップＳ５１１と同様である。
ステップＳ５１５にて、設定値管理サービス３１２は、アプリケーション３０４に結果を応答する。この処理は、ステップＳ５１２と同様である。ここでは、ステップＳ５１３で書き込みが完了しているため、設定値管理サービス３１２は、成功の応答をアプリケーション３０４に返す。
【００６８】
ステップＳ５１６にて、アプリケーション３０４は、設定値管理サービス３１２が提供する機能に基づき、設定値管理サービス３１２に対して排他解除要求を通知する。
ステップＳ５１７にて、設定値管理サービス３１２は、ジョブ管理サービス３１４にジョブ排他解除を送付する。ジョブ管理サービス３１４は、ジョブ排他解除を受けると、ステップＳ５０６で一時停止したジョブサービスを再開する。
【００６９】
ステップＳ５１８にて、設定値管理サービス３１２は、ステップＳ５０５で取得した排他オブジェクトを解放する。
ステップＳ５１９にて、設定値管理サービス３１２は、アプリケーション３０４に排他解除完了を通知する。
【００７０】
ステップＳ５２０にて、アプリケーション３０４は、設定値管理サービス３１２が提供する機能に基づき、設定値管理サービス３１２に対して画面ロックの解除要求を送付する。
ステップＳ５２１にて、設定値管理サービス３１２は、表示管理サービス３１３に対して画面ロックの解除を依頼する。すなわち、設定値管理サービス３１２は、図４（ｃ）に示すロック画面４２０の表示を、ロック画面が表示される前の画面に切り替える依頼を行う。
ステップＳ５２２にて、設定値管理サービス３１２は、アプリケーション３０４に対して画面ロックの解除完了を通知する。
【００７１】
以上の制御により、設定値のインポート中は、設定値変更に影響のあるジョブサービスが一時停止され、表示部２２９にはロック画面４２０が表示される。そして、設定値のインポートが完了した後にジョブサービスの停止が解除され、表示部２２９ではロック画面４２０の表示による画面のロックが解除される。したがって、インポートの実行中には、他のインポートやエクスポートの実行はできない状態となる。
【００７２】
次に、強制終了処理として、ステップＳ５１０の設定データの書き込みの後に、アプリケーションが終了する場合の制御例を説明する。この強制終了処理は、図６に示すステップＳ５２３からＳ５２９の処理を含む。強制終了処理のケースとしては、例えば、インポート要求が行われ、設定データを送付済みのアプリケーションにつきアップデートが発生し、アプリ管理サービス３０６からアプリケーションの終了が指示された場合などが挙げられる。
【００７３】
ステップＳ５２３にて、アプリ管理サービス３０６は、アプリケーションフレームワーク３０３が提供する機能に基づき、アプリケーション３０４に対して終了要求を送付する。
ステップＳ５２４にて、アプリケーション３０４は、設定値管理サービス３１２が提供する機能に基づき、設定値管理サービス３１２に対して終了予約を送付する。終了予約は、機能制限の解除の予約指示の一例である。
ステップＳ５２５にて、アプリケーション３０４は終了処理を行う。アプリケーション３０４は、例えば、確保済みのワーク領域の解放、動作ログファイルの保存等を行った後に、アプリケーションを終了させる。
【００７４】
ステップＳ５２６にて、ファイル管理サービス３１１は、書き込みの完了を設定値管理サービス３１２に通知する。この処理は、ステップＳ５１３と同様である。
ステップＳ５２７にて、設定値管理サービス３１２は、ジョブ管理サービス３１４にジョブ排他解除を送付する。この処理は、ステップＳ５１７と同様である。
【００７５】
ステップＳ５２８にて、設定値管理サービス３１２は、ステップＳ５０５で取得した排他オブジェクトを解放する。この処理は、ステップＳ５１８と同様である。
ステップＳ５２９にて、設定値管理サービス３１２は、表示管理サービス３１３に対して画面ロックの解除を依頼する。すなわち、設定値管理サービス３１２は、図４（ｃ）に示すロック画面４２０の表示を、ロック画面が表示される前の画面に切り替える依頼を行う。この処理は、ステップＳ５２１と同様である。
【００７６】
以上の制御により、アプリケーション３０４から終了予約を受領した設定値管理サービス３１２は、ファイル管理サービス３１１から書き込み完了を受領すると、排他解除の要求を受領しなくともジョブ排他の解除処理を実行する。同様に、アプリケーション３０４から終了予約を受領した設定値管理サービス３１２は、ファイル管理サービス３１１から書き込み完了を受領すると、画面ロックの解除要求を受領しなくとも画面ロックの解除処理を実行する。つまり、設定値管理サービス３１２は、アプリケーションからのリクエストに従う処理が終了したときの依頼元のアプリケーション３０４の動作状態に拘わらず、終了予約に基づいてＭＦＰ１００の機能制限を解除できる。
【００７７】
次に、図７〜図９を用いて、設定値管理サービス３１２の処理について説明する。
図７は、第１実施形態の設定値管理サービス３１２の制御例を示す流れ図である。
【００７８】
ステップＳ６０１にて、設定値管理サービス３１２は、画面ロック要求を受領したか判断する。すなわち、設定値管理サービス３１２およびアプリケーション３０４の間で予め定められた所定の方法に基づき、アプリケーション３０４から画面ロック要求の通知があった場合、設定値管理サービス３１２は画面ロック要求を受領したと判断する。
画面ロック要求を受領したと判断された場合にはステップＳ６０２に処理が移行し、画面ロック要求を受領したと判断されない場合にはステップＳ６０３に処理が移行する。
【００７９】
ステップＳ６０２にて、設定値管理サービス３１２は、画面ロック処理を行う。画面ロック処理において、設定値管理サービス３１２は、表示管理サービス３１３が提供している所定の方法に基づき、表示管理サービス３１３に画面ロックの依頼を行う。ステップＳ６０２の処理は、図５に示すステップＳ５０２の処理に相当する。その後、処理はステップＳ６０１に戻る。
【００８０】
ステップＳ６０３にて、設定値管理サービス３１２は、画面ロック解除要求を受領したか判断する。すなわち、設定値管理サービス３１２およびアプリケーション３０４の間で予め定められた所定の方法に基づき、アプリケーション３０４から画面ロック解除要求の通知があった場合、設定値管理サービス３１２は画面ロック解除要求を受領したと判断する。
画面ロック解除要求を受領したと判断された場合にはステップＳ６０４に処理が移行し、画面ロック解除要求を受領したと判断されない場合にはステップＳ６０５に処理が移行する。
【００８１】
ステップＳ６０４にて、設定値管理サービス３１２は、画面ロック解除処理を行う。画面ロック解除処理において、設定値管理サービス３１２は、表示管理サービス３１３が提供している所定の方法に基づき、表示管理サービス３１３に画面ロック解除の依頼を行う。ステップＳ６０４の処理は、図６に示すステップＳ５２１の処理に相当する。その後、処理はステップＳ６０１に戻る。
【００８２】
ステップＳ６０５にて、設定値管理サービス３１２は、排他要求を受領したか判断する。すなわち、設定値管理サービス３１２およびアプリケーション３０４の間で予め定められた所定の方法に基づき、アプリケーション３０４から排他要求の通知があった場合、設定値管理サービス３１２は排他要求を受領したと判断する。
排他要求を受領したと判断された場合にはステップＳ６０６に処理が移行し、排他要求を受領したと判断されない場合にはステップＳ６０８に処理が移行する。
【００８３】
ステップＳ６０６にて、設定値管理サービス３１２は、排他オブジェクトの取得を行う。取得した排他オブジェクトは、例えばＲＡＭ２２２の記憶領域に確保されたワークエリアに適宜保存される。ステップＳ６０６の処理は、図５に示すステップＳ５０５の処理に相当する。
【００８４】
次にステップＳ６０７にて、設定値管理サービス３１２は、ジョブ排他の依頼処理を行う。ジョブ排他の依頼処理において、設定値管理サービス３１２は、ジョブ管理サービス３１４が提供している所定の方法に基づき、ジョブ管理サービス３１４にジョブ排他の依頼を行う。ステップＳ６０７の処理は、図５に示すステップＳ５０６の処理に相当する。その後、処理はステップＳ６０１に戻る。
【００８５】
ステップＳ６０８にて、設定値管理サービス３１２は、排他解除要求を受領したか判断する。すなわち、設定値管理サービス３１２およびアプリケーション３０４の間で予め定められた所定の方法に基づき、アプリケーション３０４から排他解除要求の通知があった場合、設定値管理サービス３１２は排他解除要求を受領したと判断する。
排他解除要求を受領したと判断された場合にはステップＳ６０９に処理が移行し、排他解除要求を受領したと判断されない場合にはステップＳ６１１に処理が移行する。
【００８６】
ステップＳ６０９にて、設定値管理サービス３１２は、ジョブ排他の解除処理を行う。ジョブ排他の解除処理において、設定値管理サービス３１２は、ジョブ管理サービス３１４が提供している所定の方法に基づき、ジョブ管理サービス３１４にジョブ排他解除の依頼を行う。ステップＳ６０９の処理は、図６に示すステップＳ５１７の処理に相当する。
【００８７】
次にステップＳ６１０にて、設定値管理サービス３１２は、ステップＳ６０６で取得された排他オブジェクトの解放を行う。ステップＳ６１０の処理は、図６に示すステップＳ５１８の処理に相当する。その後、処理はステップＳ６０１に戻る。
【００８８】
ステップＳ６１１にて、設定値管理サービス３１２は、設定データを受領したか判断する。設定データを受領したと判断された場合にはステップＳ６１２に処理が移行し、設定データを受領したと判断されない場合にはステップＳ６１３に処理が移行する。
【００８９】
ステップＳ６１２にて、設定値管理サービス３１２は、後述の設定データの書き込み処理（図８）を行う。ステップＳ６１２の処理は、図５に示すステップＳ５１０の処理に相当する。その後、処理はステップＳ６０１に戻る。
【００９０】
ステップＳ６１３にて、設定値管理サービス３１２は、書き込み完了通知を受領したか判断する。すなわち、設定値管理サービス３１２とファイル管理サービス３１１の間に予め定められた所定の方法に基づき、ファイル管理サービス３１１から書込み完了通知があった場合、設定値管理サービス３１２は書込み完了通知を受領したと判断する。
書き込み完了通知を受領したと判断された場合にはステップＳ６１４に処理が移行し、書き込み完了通知を受領したと判断されない場合にはステップＳ６１５に処理が移行する。
【００９１】
ステップＳ６１４にて、設定値管理サービス３１２は、結果格納の処理を行う。結果格納の処理において、設定値管理サービス３１２は、受領した書込み完了通知に含まれる結果情報（例えば、日時、書込み設定ファイル名等）を取り出し、ＲＡＭ２２２等の記憶領域に確保した書込み結果格納領域に結果情報を適宜保存する。その後、処理はステップＳ６０１に戻る。
【００９２】
ステップＳ６１５にて、設定値管理サービス３１２は、結果問合せがあったか判断する。すなわち、設定値管理サービス３１２とアプリケーション３０４の間に予め定められた所定の方法に基づき、アプリケーション３０４から結果問合せの通知があった場合、設定値管理サービス３１２は結果問合せがあったと判断する。
結果問合せがあったと判断された場合にはステップＳ６１６に処理が移行し、結果問合せがあったと判断されない場合にはステップＳ６１７に処理が移行する。
【００９３】
ステップＳ６１６にて、設定値管理サービス３１２は、結果応答の処理を行う。結果応答の処理において、設定値管理サービス３１２は、書込み結果格納領域から結果情報を取り出し、設定値管理サービス３１２とアプリケーション３０４の間に予め定められた所定の方法に基づき、アプリケーション３０４に結果を応答する。ステップＳ６１６の処理は、図５に示すステップＳ５１２の処理、図６に示すステップＳ５１５の処理に相当する。その後、処理はステップＳ６０１に戻る。
【００９４】
ステップＳ６１７にて、設定値管理サービス３１２は、終了予約を受け付けたか判断する。すなわち、設定値管理サービス３１２とアプリケーション３０４の間に予め定められた所定の方法に基づき、アプリケーション３０４から終了予約の通知があった場合、設定値管理サービス３１２は終了予約を受け付けたと判断する。
終了予約を受け付けたと判断された場合にはステップＳ６１８に処理が移行し、終了予約を受け付けたと判断されない場合にはステップＳ６０１に処理が戻る。
ステップＳ６１８にて、設定値管理サービス３１２は、後述の終了予約の処理（図９）を行う。その後、処理はステップＳ６０１に戻る。以上で、図７の説明を終了する。
【００９５】
図８は、設定データの書き込み処理（図７のステップＳ６１２）の例を示す流れ図である。以下の説明では、アプリケーション３０４から受領した設定データは、ＲＡＭ２２２等の記憶領域に確保したワークエリアに適宜保存されているものとする。
【００９６】
ステップＳ７０１にて、設定値管理サービス３１２は、データ終了か判断する。すなわち、上記のワークエリアに保存された書込み対象の設定データの書込みが全て完了した場合、設定値管理サービス３１２は、データ終了と判断する。
データ終了と判断された場合にはステップＳ７０４に処理が移行し、データ終了と判断されない場合にはステップＳ７０２に処理が移行する。
【００９７】
ステップＳ７０２にて、設定値管理サービス３１２は、データ書込みの処理を行う。すなわち、設定値管理サービス３１２は、ワークエリアに保存した書込み対象の設定データを取り出し、ファイル管理サービス３１１が提供する所定の方法に基づき、ファイル管理サービス３１１に書込み依頼を行う。
【００９８】
次にステップＳ７０３にて、設定値管理サービス３１２は、書き込みが成功したか判断する。すなわち、設定値管理サービス３１２は、ステップＳ７０２の書き込み依頼が成功した場合、書き込みが成功したと判断する。このステップでの判断対象は、設定データに含まれる書き込み対象の１件分の結果である。
書き込みが成功したと判断された場合にはステップＳ７０１に処理が戻る。一方、書き込みが失敗したと判断された場合にはステップＳ７０４に処理が移行する。
【００９９】
ステップＳ７０４にて、設定値管理サービス３１２は、データ書き込みの結果を、ＲＡＭ２２２等の記憶領域に確保した書込み結果格納領域に保存する。その後、図８の処理は終了する。
なお、書き込み対象が複数ある場合に１件でも書き込みの失敗があると、結果は失敗として記録される。
【０１００】
図９は、終了予約の処理（図７のステップＳ６１８）の例を示す流れ図である。
ステップＳ８０１にて、設定値管理サービス３１２は、設定データの書込み完了か判断する。
設定データの書込み完了と判断された場合、処理はステップＳ８０２に移行する。一方、設定データの書込み完了と判断されない場合、設定値管理サービス３１２は、書込みが完了するまでステップＳ８０１を繰り返し、書込みの完了を待機する。
【０１０１】
ステップＳ８０２にて、設定値管理サービス３１２は、ジョブ排他の解除処理を行う。本ステップは、図６に示すステップＳ５２７の処理に相当し、処理の内容は図７に示すステップＳ６０９の処理と同様である。
【０１０２】
ステップＳ８０３にて、設定値管理サービス３１２は、排他オブジェクトの解放処理を行う。本ステップは、図６に示すステップＳ５２８の処理に相当し、処理の内容は図７に示すステップＳ６１０の処理と同様である。
【０１０３】
ステップＳ８０４にて、設定値管理サービス３１２は、画面ロック解除処理を行う。その後、図９の処理は終了する。本ステップは、図６に示すステップＳ５２９の処理に相当し、処理の内容は図７に示すステップＳ６０４の処理と同様である。
【０１０４】
次に、図１０、図１１を用いて、アプリケーション３０４の処理について説明する。
図１０は、第１実施形態のアプリケーション３０４の制御例を示す流れ図である。
【０１０５】
ステップＳ９０１にて、アプリケーション３０４は、インポートの指示があるか判断する。すなわち、アプリケーション３０４が提供する図示しない画面を介し、ユーザからバックアップデータのリストアの指示を受け付けたときに、アプリケーション３０４は、インポートの指示があったと判断する。
インポートの指示があったと判断された場合にはステップＳ９０２に処理が移行し、インポートの指示があったと判断されない場合にはステップＳ９０３に処理が移行する。
【０１０６】
ステップＳ９０２にて、アプリケーション３０４は、後述のインポート処理（図１１）を行う。その後、処理はステップＳ９０１に戻る。
ステップ９０３にて、アプリケーション３０４は、アプリ終了指示を受領したか判断する。すなわち、アプリケーションフレームワーク３０３が提供する機能によって、アプリケーション終了の指示を受け取った場合は、アプリケーション３０４は、アプリ終了指示を受領したと判断する。
アプリ終了指示を受領したと判断された場合にはステップＳ９０４に処理が移行し、アプリ終了指示を受領したと判断されない場合にはステップＳ９０７に処理が移行する。
【０１０７】
ステップＳ９０４にて、アプリケーション３０４は、インポート依頼済か判断する。すなわち、後述のインポート処理（図１１）を実行し、後述の結果問合せ処理で完了を受け取っていない場合（Ｓ９０９のＮｏの場合）に、アプリケーション３０４は、インポート依頼済と判断する。
インポート依頼済と判断された場合にはステップＳ９０５に処理が移行し、インポート依頼済と判断されない場合にはステップＳ９０６に処理が移行する。
【０１０８】
ステップＳ９０５にて、アプリケーション３０４は、終了予約を送付する。すなわち、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、アプリケーション３０４は、設定値管理サービス３１２に終了予約を送付する。本ステップは、図６に示すステップＳ５２４の処理に相当する。
ステップＳ９０６にて、アプリケーション３０４は、終了処理を行う。アプリケーション３０４は、例えば、ＲＡＭ２２２等の記憶領域に一時確保したワーク領域の解放や、動作ログファイルの保存等を行った後に、アプリケーションを終了させて図１０の処理が終了する。本ステップは、図６に示すステップＳ５２５の処理に相当する。
【０１０９】
ステップＳ９０７にて、アプリケーション３０４は、インポート依頼済か判断する。本ステップの判断は、上記のステップＳ９０４と同様である。
インポート依頼済と判断された場合にはステップＳ９０８に処理が移行し、インポート依頼済と判断されない場合にはステップＳ９０１に処理が戻る。
【０１１０】
ステップＳ９０８にて、アプリケーション３０４は、設定値管理サービス３１２に対して結果問い合わせを行う。すなわち、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、アプリケーション３０４は、設定値管理サービス３１２へ結果の問い合せを送付する。本ステップは、図５に示すステップＳ５１１の処理、図６に示すステップＳ５１４の処理に相当する。
【０１１１】
ステップＳ９０９にて、アプリケーション３０４は、応答が完了であるか判断する。すなわち、アプリケーション３０４は、ステップＳ９０８の問い合せに対する設定値管理サービス３１２の応答の種別を参照する。そして、設定値管理サービス３１２とアプリケーション３０４の間で予め定められている方法に基づく応答が完了を意味するものであれば、アプリケーション３０４は、応答が完了であると判断する。なお、完了以外の応答結果の種別としては、インポート実行中や、中断中などがある。
応答が完了であると判断された場合にはステップＳ９１０に処理が移行し、応答が完了であると判断されない場合にはステップ９０１に処理が戻る。
【０１１２】
ステップＳ９１０にて、アプリケーション３０４は、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、設定値管理サービス３１２へ排他解除要求を送付する。本ステップは、図６に示すステップＳ５１６の処理に相当する。
【０１１３】
ステップＳ９１１にて、アプリケーション３０４は、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、設定値管理サービス３１２へ画面ロックの解除要求を送付する。本ステップは、図６に示すステップＳ５２０の処理に相当する。その後、処理はステップＳ９０１に戻る。以上で、図１０の説明を終了する。
【０１１４】
図１１は、インポート処理（図１０のステップＳ９０２）の例を示す流れ図である。
ステップＳ１００１にて、アプリケーション３０４は、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、設定値管理サービス３１２へ画面ロック要求を送付する。本ステップは、図５に示すステップＳ５０１の処理に相当する。
【０１１５】
ステップＳ１００２にて、アプリケーション３０４は、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、設定値管理サービス３１２へ排他要求を送付する。本ステップは、図５に示すステップＳ５０４の処理に相当する。
【０１１６】
ステップＳ１００３にて、アプリケーション３０４は、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、設定値管理サービス３１２へ設定データを送付する。
ここで、設定データはファイルに記載され、ハードディスク装置２２８などの記憶装置に確保したワークエリアに格納されるものとする。また、設定データは、ファイル単位で送付される。送付対象の設定データが複数に分割されている場合は、送付する順番、送付結果、サイズ等は、アプリケーション３０４等により適宜管理されているものとする。
【０１１７】
ステップＳ１００４にて、アプリケーション３０４は、全データ送付済みか判断する。すなわち、アプリケーション３０４は、インポート対象のデータを記載した全ファイルが送付済みの場合は、全データ送付済みと判断する。
全データ送付済みと判断された場合には図１１の処理が終了する。一方、全データ送付済みと判断されない場合にはステップＳ１００３に処理が戻る。なお、ステップＳ１００３〜Ｓ１００４の処理は、図５に示すステップＳ５０９の処理に相当する。以上で、図１１の説明を終了する。
【０１１８】
上記の第１実施形態によれば、排他対象となる資源の使用者（依頼元のアプリケーション３０４）が依頼した処理の完了前に終了しても、依頼された処理の実行中において排他対象となる資源の排他が継続される。そして、排他対象の資源は、依頼された処理の完了後に排他から解放される。よって、排他対象の資源について適切に排他制御が行われる。
【０１１９】
なお、アプリケーション３０４が設定値管理サービス３１２に依頼する処理は、インポートだけに限定されるものではない。例えば、アプリケーション３０４が設定値管理サービス３１２にエクスポートを依頼する場合においても、上記の第１実施形態で説明したインポートの場合の構成を同様に適用できる。
【０１２０】
（第２実施形態）
第１実施形態では、インポート依頼済のデータを全件書き込み完了後に、排他を解除する例を説明した。
ところで、例えば、インポートの対象とするデータサイズが大きくなり、ネットワークを介して送付するとタイムアウトが発生し、送付が完了しないことがある。このような場合には、アプリケーション３０４はインポート依頼を複数に分割し、インポートのデータを分割して送付する。しかしながら、分割したデータの一部を送付した後で、アプリケーションの終了が発生すると、ＭＦＰ１００にはインポートのデータが一部のみ反映され、残りのデータが反映されない事象が発生する。インポートのデータの一部が反映されないと、ＭＦＰ１００に不具合が生じうる。
【０１２１】
第２実施形態では上記の事象に対応できる変形例を説明する。第２実施形態においては、簡単のため、第１実施形態との相違点を説明し、重複説明についてはいずれも省略する。
第２実施形態においては、設定値管理サービス３１２における設定データの書き込み処理（ステップＳ６１２）と、終了予約の処理（ステップＳ６１８）が第１実施形態と相違する。
【０１２２】
図１２は、第２実施形態における設定データの書き込み処理の例を示す流れ図である。
ステップＳ１１０１にて、設定値管理サービス３１２は現在設定を保存する。すなわち、設定値管理サービス３１２は、設定値管理サービス３１２が提供する設定値のエクスポート機能を利用して、ＭＦＰ１００の現在設定値を取得する。取得された現在設定値は、ハードディスク装置２２８などの記憶装置に確保されたワークエリアに保存される。
【０１２３】
その後、処理はステップＳ１１０２に移行する。なお、図１２のステップＳ１１０２からＳ１１０５の処理は、図８のステップＳ７０１からＳ７０４の処理と同様であるので、これらのステップに関する重複説明は省略する。
【０１２４】
図１３は、第２実施形態における終了予約の処理の例を示す流れ図である。
ここで、図１３のステップＳ１２０１の処理は、図９のステップＳ８０１の処理と同様であり、図１３のステップＳ１２０３からＳ１２０５の処理は、図９のステップＳ８０２からＳ８０４の処理とそれぞれ同様である。そのため、これらのステップに関する重複説明は省略する。
【０１２５】
図１３においては、ステップＳ１２０１で設定データの書込み完了と判断された場合、ステップＳ１２０２に処理が移行する。
ステップＳ１２０２にて、設定値管理サービス３１２は、保存済みの現在設定値を反映させる。すなわち、設定値管理サービス３１２は、図１２のステップＳ１１０１で保存した現在設定値をワークエリアから取り出し、ファイル管理サービス３１１に送付する。これにより、ファイル管理サービス３１１は、送付された現在設定値をＭＦＰ１００に反映する。その後、ステップＳ１２０３に処理が移行する。
【０１２６】
上記の第２実施形態によれば、アプリケーション３０４が終了予約を送付すると、設定値管理サービス３１２は、ＭＦＰ１００の設定値をインポートの実行前の状態に戻すことができる。これにより、設定の不備による不具合の発生を抑制できる。
【０１２７】
（第３実施形態）
上記の第２実施形態では、終了予約を受け付けたときにＭＦＰ１００の設定をインポートの実行前の状態に戻す例を説明した。もっとも、分割されたインポートのデータのうち最後のデータを送信済みの場合は設定を実行前の状態に戻さなくてもよい。そのため、第３実施形態では、上記の事象に対応できる構成例を提案する。
【０１２８】
第３実施形態においては、簡単のため、第２実施形態との相違点を説明し、重複説明についてはいずれも省略する。
第３実施形態においては、アプリケーション３０４の処理が第２実施形態と相違する。第３実施形態においては、第２実施形態で説明した終了予約の処理を、依頼の取り消しの処理と定義し、第１実施形態で説明した終了予約の処理とは区別して扱う。第３実施形態のアプリケーション３０４からは、第１実施形態で説明した終了予約の処理と、第２実施形態で説明した依頼の取り消しの処理とをそれぞれ呼び出すことが可能である。
【０１２９】
図１４は、第３実施形態のアプリケーション３０４の制御例を示す流れ図である。図１４の処理は、第１実施形態の図１０の処理に対応する。
ここで、図１４のステップＳ１３０１からＳ１３０３の処理は、図１０のステップＳ９０１からＳ９０３の処理とそれぞれ同様である。図１４のステップＳ１３０５からＳ１３１１の処理は、図１０のステップＳ９０５からＳ９１１の処理とそれぞれ同様である。そのため、これらのステップに関する重複説明は省略する。
【０１３０】
ステップＳ１３０４にて、アプリケーション３０４は、全データ送付済みか判断する。すなわち、アプリケーション３０４は、インポート対象のデータを記載した全ファイルが送付済みの場合は、全データ送付済みと判断する。
【０１３１】
全データ送付済みと判断された場合にはステップＳ１３０５に処理が移行し、アプリケーション３０４は、設定値管理サービス３１２に終了予約を送付する。なお、終了予約を受けた設定値管理サービス３１２は、図９に示す終了予約の処理を実行する。
【０１３２】
一方、全データ送付済みと判断されない場合にはステップＳ１３１２に処理が移行し、アプリケーション３０４は、設定値管理サービス３１２に依頼の取消しを送付する。なお、依頼の取り消しを受けた設定値管理サービス３１２は、図１３に示す終了予約（依頼の取消し）の処理を行う。
なお、ステップＳ１３０５またはＳ１３１２の終了後、アプリケーション３０４は、ステップＳ１３０６の終了処理を実行する。以上で、図１４の説明を終了する。
【０１３３】
上記の第３実施形態によれば、アプリケーション３０４が終了要求を受けたタイミングが全データの送付完了前であれば、ＭＦＰ１００の設定値をインポートの実行前の状態に戻す。これにより、設定不備による不具合の発生を抑制できる。
一方、アプリケーション３０４が終了要求を受けたタイミングが全データの送付後であれば、ＭＦＰ１００の設定についてインポートを完了させる。これにより、全設定の反映が成功するにも拘わらず設定前の状態に戻す無駄を避けることができる。
【０１３４】
（第４実施形態）
上記の第１実施形態から第３実施形態では、アプリケーション３０４がアプリ管理サービス３０６から終了要求を受け、終了予約の送付を伴う終了処理を実行する例を説明した。しかしながら、実際には、アプリケーション３０４が終了処理をすることなく異常終了することもある。また、アプリケーション３０４が終了していなくても、デッドロックの発生により、画面ロックの解除要求や排他解除要求をアプリケーション３０４が送付できないこともある。そのため、第４実施形態では、上記の事象に対応できる構成例を提案する。
【０１３５】
図１５は、第４実施形態のアプリケーション３０４の制御例を示す流れ図である。なお、第４実施形態においては、簡単のため、第１実施形態との相違点を説明し、重複説明についてはいずれも省略する。
【０１３６】
図１５におけるステップＳ１４０１からＳ１４０３の処理は、図１０のＳ９０１からＳ９０３の処理とそれぞれ同様である。
ただし、図１５において、ステップＳ１４０２のインポート処理の後は、後述のステップＳ１４０４に処理が移行する。また、ステップＳ１４０３にて、アプリ終了指示を受領したと判断された場合にはステップＳ１４０５（終了処理）に処理が移行し、アプリ終了指示を受領したと判断されない場合にはステップＳ１４０６（インポート依頼済の判断）に処理が移行する。
【０１３７】
ステップＳ１４０４にて、アプリケーション３０４は、設定値管理サービス３１２に終了予約を送付する。その後、処理はステップＳ１４０１に戻る。
なお、図１５におけるステップＳ１４０５からＳ１４１０の処理は、図１０のＳ９０６からＳ９１１の処理とそれぞれ同様である。
【０１３８】
上記の第４実施形態によれば、アプリケーション３０４はインポート処理を実行した後に常に終了予約を送付する。これにより、アプリケーション３０４が排他解除要求や画面ロックの解除要求の前に強制終了しても、設定値管理サービス３１２は、排他解除や画面ロックの解除を行うことができる。また、デッドロックの発生により、排他解除要求や画面ロックの解除要求をアプリケーション３０４が出来なくとも、設定値管理サービス３１２は、排他解除や画面ロックの解除を行うことができる。
【０１３９】
（第５実施形態）
例えば、アプリケーションの自動更新等では、インポート中の処理を一時的に停止させ、アプリケーションの更新後にインポートを再開することも想定される。そのため、第５実施形態では、上記の事象に対応できる構成例を提案する。
第５実施形態においては、簡単のため、第１実施形態との相違点を説明し、重複説明についてはいずれも省略する。第５実施形態では、設定値管理サービス３１２における終了予約の処理と、アプリケーション３０４の処理が相違する。
【０１４０】
図１６は、第５実施形態における終了予約の処理の例を示す流れ図である。
ここで、図１６のステップＳ１５０１の処理は、図９のステップＳ８０１の処理と同様であり、図１６のステップＳ１５０４からＳ１５０６の処理は、図９のステップＳ８０２からＳ８０４の処理とそれぞれ同様である。そのため、これらのステップに関する重複説明は省略する。
【０１４１】
図１６においては、ステップＳ１５０１で設定データの書込み完了と判断された場合、ステップＳ１５０２に処理が移行する。
ステップＳ１５０２にて、設定値管理サービス３１２は、設定データの送付が再開したか判断する。すなわち、設定値管理サービス３１２は、設定値管理サービス３１２とアプリケーション３０４の間で予め定められた所定の方法に基づき、設定値管理サービス３１２へ設定データが送付された場合、設定データの送付が再開したと判断する。
設定データの送付が再開したと判断された場合、図１６の処理は終了する。一方、設定データの送付が再開したと判断されない場合、処理はステップＳ１５０３に移行する。
【０１４２】
ステップＳ１５０３にて、設定値管理サービス３１２は、タイムアウトが発生したか判断する。タイムアウト値は、設定値管理サービス３１２によって管理されているものとする。設定値管理サービス３１２は、終了予約の処理を開始してからの経過時間を管理し、予め定められた時間を経過した場合は、タイムアウトが発生したと判断する。
タイムアウトが発生したと判断された場合、処理はステップＳ１５０４に移行する。一方、タイムアウトが発生したと判断されない場合、処理はステップＳ１５０２に戻る。以上で、図１６の説明を終了する。
【０１４３】
図１７は、第５実施形態のアプリケーション３０４の制御例を示す流れ図である。図１７の処理は、第１実施形態の図１０の処理に対応する。なお、第５実施形態においては、簡単のため、第１実施形態との相違点を説明し、重複説明についてはいずれも省略する。
【０１４４】
図１７におけるステップＳ１６０１からＳ１６０２の処理は、図１０のＳ９０１からＳ９０２の処理とそれぞれ同様である。
ただし、図１７において、ステップＳ１６０１でインポートの指示があったと判断されない場合にはステップＳ１６０３に処理が移行する。
【０１４５】
ステップＳ１６０３にて、アプリケーション３０４は、インポートの再開を指示されたか判断する。例えば、アプリケーション３０４が提供する図示しない画面を介し、ユーザからリストアの再開の指示を受け付けたときに、アプリケーション３０４は、インポートの再開を指示されたと判断する。
インポートの再開を指示されたと判断された場合、ステップＳ１６０２に処理が移行する。一方、インポートの再開を指示されたと判断されない場合、ステップＳ１６０４に処理が移行する。
【０１４６】
図１７におけるステップＳ１６０４からＳ１６０６の処理は、図１０のステップＳ９０３からＳ９０５の処理とそれぞれ同様である。また、図１７におけるステップＳ１６０８からＳ１６１３の処理は、図１０のステップＳ９０６からＳ９１１の処理とそれぞれ同様である。
ただし、図１７においては、ステップＳ１６０６で終了予約が送付された後、ステップＳ１６０７に処理が移行する。
【０１４７】
ステップＳ１６０７にて、アプリケーション３０４は、インポート状況の保存を行う。例えば、アプリケーション３０４は、インポート予定データ一覧、各データのインポート結果などを、ハードディスク装置２２８等の記憶装置に確保したワークエリアに格納する。その後、ステップＳ１６０８（終了処理）に処理が移行する。以上で、図１７の説明を終了する。
【０１４８】
上記の第５実施形態によれば、インポート処理中のアプリケーション３０４を一時的に終了しても、タイムアウトが発生するまでの一定時間内であればインポートを再開させることができる。
【０１４９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１５０】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０１５１】
１００  印刷装置（ＭＦＰ）
２２０  ＣＰＵ
２２２  ＲＡＭ
２２８  ハードディスク装置
３０４  アプリケーション
３１２  設定値管理サービス
【図１】
2020205488.tif 000003
【図２】
2020205488.tif 000004
【図３】
2020205488.tif 000005
【図４】
2020205488.tif 000006
【図５】
2020205488.tif 000007
【図６】
2020205488.tif 000008
【図７】
2020205488.tif 000009
【図８】
2020205488.tif 000010
【図９】
2020205488.tif 000011
【図１０】
2020205488.tif 000012
【図１１】
2020205488.tif 000013
【図１２】
2020205488.tif 000014
【図１３】
2020205488.tif 000015
【図１４】
2020205488.tif 000016
【図１５】
2020205488.tif 000017
【図１６】
2020205488.tif 000018
【図１７】
2020205488.tif 000019