(57)【特許請求の範囲】
【請求項１】
操作入力を受け付ける第１のユニットと、前記操作入力に応じて動作する第２のユニットと、を備える情報処理システムであって、
前記第１のユニットは、
前記第１のユニット又は前記第２のユニットで動作するアプリケーションに対する設定情報の出力要求を受け付ける受付部と、
前記第２のユニットの動作状況を取得し、取得した動作状況に基づき、前記受付部で受け付けた出力要求に対する出力処理を前記第２のユニットが実行可能か判断する実行判断部と、
前記実行判断部により、前記第２のユニットが出力処理を実行可能と判断された場合、前記設定情報の出力要求を前記第２のユニットに送信する通信部と、
前記受付部で受け付けた前記出力要求、又は、前記第２のユニットから送信された出力要求に応じて、前記設定情報を出力する第１出力処理を、前記第１のユニットで動作するアプリケーションに実行させる第１設定管理部と、
前記第１出力処理の結果である第１設定情報を前記第２のユニットに送信する送信部と、を備え、
前記第２のユニットは、
前記通信部から受信した前記出力要求に応じて、前記設定情報を出力する第２出力処理を、前記第２のユニットで動作するアプリケーションに実行させる第２設定管理部と、
前記第２出力処理の結果である第２設定情報と前記第１設定情報とを記憶する記憶手段と、を備え、
前記第１設定管理部は、前記実行判断部により、前記第２のユニットの出力処理が実行可能でないと判断された場合に、前記設定情報を出力する第１出力処理
を前記第１のユニットで動作するアプリケーションに実行させること
を特徴とする情報処理システム。
【請求項２】
前記第２のユニットは、前記第１設定管理部から取得した前記第１設定情報と前記記憶手段から取得した前記第２設定情報とを統合する統合手段を更に備えること
を特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１のユニットは、
前記第１のユニットで動作するアプリケーションである１以上の第１ユニットアプリケーションが実行されることで提供される機能ごとに設定された条件に基づき、前記提供される機能に対して前記設定情報の反映が可能か判断する反映判断部と、
前記反映判断部により前記設定情報の反映が可能であると判断された場合に、前記提供される機能に対して前記設定情報の反映を行う反映処理部とを備えることを特徴とする請求項１又は請求項２に記載の情報処理システム。
【請求項４】
前記反映判断部は、前記提供される機能が前記第２のユニットの機能を利用する場合に、前記第２のユニットの現在の動作状況と対象となる前記機能との関係に基づき、前記機能が利用可能か判断し、
前記反映処理部は、前記反映判断部により前記機能の利用が可能であると判断された場合に、前記提供される機能に対して前記設定情報の反映を行うことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記反映判断部は、前記機能の利用が不可能であると判断した場合に、前記第２のユニットの動作状況を変更するかの問い合わせを行い、問い合わせ結果に応じて前記第２のユニットの動作状況を変更することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記第１のユニットは、
前記第２のユニットの動作状況を変更する必要がある場合に、前記第１ユニットアプリケーションを利用不可とすることを特徴とする請求項３から請求項５のうち、いずれか一項に記載の情報処理システム。
【請求項７】
前記第１のユニットは、画像形成装置の操作部であり、
前記第２のユニットは、前記画像形成装置の本体部であることを特徴とする請求項１から請求項６のうち、いずれか一項に記載の情報処理システム。
【請求項８】
操作入力を受け付ける第１のユニットと、前記操作入力に応じて動作する第２のユニットと、を備える情報処理システムで実行される情報処理方法であって、
前記第１のユニットで実行される、
前記第１のユニット又は前記第２のユニットで動作するアプリケーションに対する設定情報の出力要求を受け付ける受付ステップと、
前記第２のユニットの動作状況に基づき、前記受付ステップで受け付けた出力要求に対する出力処理を前記第２のユニットが実行可能か判断する実行判断ステップと、
前記実行判断ステップで前記第２のユニットが出力処理を実行可能と判断された場合、前記設定情報の出力要求を前記第２のユニットに送信する第１の送信ステップと、
前記受付ステップで受け付けた前記出力要求、または、前記第２のユニットから送信された出力要求に応じて、前記設定情報を出力する第１出力処理を前記第１のユニットで動作するアプリケーションに実行させる第１設定管理ステップと、
前記第１出力処理の結果である第１設定情報を前記第２のユニットに送信する第２の送信ステップと、を備え、
前記第２のユニットで実行される、
前記第１の送信ステップで送信された前記出力要求に応じて、前記設定情報を出力する第２出力処理を前記第２のユニットで動作するアプリケーションに実行させる第２設定管理ステップと、
前記第２出力処理の結果である第２設定情報と前記第１設定情報とを記憶手段に記憶させる記憶ステップと、を備え、
前記第１設定管理ステップでは、前記実行判断ステップにより、前記第２のユニットの出力処理が実行可能でないと判断された場合に、前記設定情報を出力する第１出力処理を前記第１のユニットで動作するアプリケーションに実行させること
を特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
画像形成装置の従来機能を提供する本体部の他に、ＯＳ（オペレーティングシステム）と、ＯＳ上で動作して各種機能を実現するアプリケーションとを備え、従来機能を活用した各種機能を提供する操作部を有する画像形成装置が存在する。画像形成装置は、各種機能に対する設定情報（設定値）を出力（エクスポート）する機能や、各種機能に対する設定情報を入力（インポート）する機能を有する。これらの機能は、複数の装置を一括で同じ設定にしたり、装置の入れ替え前後で同じ設定にしたりする等の状況で利用される。
【０００３】
特許文献１には、接続された機器から入力される設定情報から取得した機器識別情報と自装置の機器識別情報とを比較してインポートするレベルを決定し、そのレベルに従ってインポートを行うことが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の画像形成装置は、本体部が省エネモードや設定変更できない処理の実行中である等の理由で一時的に利用できない場合には、設定情報の入出力処理を実行することができなかった。
【０００５】
本発明は、上記に鑑みてなされたものであって、設定情報の入出力処理を効率的に実行することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、操作入力を受け付ける第１のユニットと、前記操作入力に応じて動作する第２のユニットと、を備える情報処理システムであって、前記第１のユニットは、前記第１のユニット又は前記第２のユニットで動作するアプリケーションに対する設定情報の出力要求を受け付ける受付部と、前記第２のユニットの動作状況を取得し、取得した動作状況に基づき、前記受付部で受け付けた出力要求に対する出力処理を前記第２のユニットが実行可能か判断する実行判断部と、前記実行判断部により、前記第２のユニットが出力処理を実行可能と判断された場合、前記設定情報の出力要求を前記第２のユニットに送信する通信部と、前記受付部で受け付けた前記出力要求、又は、前記第２のユニットから送信された出力要求に応じて、前記設定情報を出力する第１出力処理を、前記第１のユニットで動作するアプリケーションに実行させる第１設定管理部と、前記第１出力処理の結果である第１設定情報を前記第２のユニットに送信する送信部と、を備え、前記第２のユニットは、前記通信部から受信した前記出力要求に応じて、前記設定情報を出力する第２出力処理を、前記第２のユニットで動作するアプリケーションに実行させる第２設定管理部と、前記第２出力処理の結果である第２設定情報と前記第１設定情報とを記憶する記憶手段と、を備え、前記第１設定管理部は、前記実行判断部により、前記第２のユニットの出力処理が実行可能でないと判断された場合に、前記設定情報を出力する第１出力処理を前記第１のユニットで動作するアプリケーションに実行させる。
【発明の効果】
【０００７】
本発明によれば、設定情報の入出力処理を効率的に実行できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１実施形態におけるＭＦＰのハードウェア構成の一例を示す図である。
【図２】図２は、第１実施形態のＭＦＰの機能ブロックの一例を示す図である。
【図３】図３は、操作部アプリケーションが処理する設定情報の一例を示す図である。
【図４】図４は、操作部と本体部との間で送受信される設定情報の一例を示す図である。
【図５】図５は、本体部の設定管理部が最終的に生成する設定情報の一例を示す図である。
【図６】図６は、外部からエクスポート要求又はインポート要求を受け付けた場合のフローチャートである。
【図７】図７は、第１実施形態におけるエクスポート処理の一例を示すシーケンスである。
【図８】図８は、エクスポート処理での各情報の流れを説明する図である。
【図９】図９は、本体部がエクスポート処理を即時実行できない場合のシーケンスである。
【図１０】図１０は、本体部がエクスポート処理を即時実行できない場合の各情報の流れを説明する図である。
【図１１】図１１は、第１実施形態におけるインポート処理の一例を示すシーケンスである。
【図１２】図１２は、インポート処理での各情報の流れを説明する図である。
【図１３】図１３は、本体部がインポート処理を即時実行できない場合のシーケンスである。
【図１４】図１４は、本体部がインポート処理を即時実行できない場合の各情報の流れを説明する図である。
【図１５】図１５は、第２実施形態における操作部の機能ブロックの一例を示す図である。
【図１６】図１６は、第２実施形態におけるインポート反映条件の例を示す図である。
【図１７】図１７は、本体部の動作状況に対して対象機能が利用可能か否かの判断条件を示す図である。
【図１８】図１８は、第２実施形態におけるインポート反映処理を示すフローチャートである。
【図１９】図１９は、本体部の機能を利用する場合のフローチャートである。
【図２０】図２０は、操作部及び本体部のインポート処理全体のフローチャートである。
【図２１】図２１は、利用可能な機能を提供する処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかる情報処理システム及び情報処理方法の一実施形態を説明する。例えば、コピー機能、プリンタ機能、スキャナ機能、ファクス機能等のうち少なくとも２つの機能を有する複合機（ＭＦＰ：Multifunction  Peripheral）を情報処理システムとして実現した例を説明する。なお、ＭＦＰの他に、複写機、プリンタ、スキャナ装置、ファクス装置等の画像形成装置に適用しても良い。また、適用可能なシステム（装置）は、画像形成装置に限られるものではなく、本体部と操作部とを備えるシステム（装置）であればどのような装置にも適用することが可能である。
【００１０】
＜第１実施形態＞
＜ＭＦＰのハードウェア構成例＞
図１は、第１実施形態におけるＭＦＰのハードウェア構成の一例を示す図である。図１に示すように、ＭＦＰ１は、本体部１０及び操作部２０を備える。本体部１０は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能等の各種機能を実現する。操作部２０は、ユーザの操作に応じた情報（操作入力）を受け付ける。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む。操作部２０により入力された情報は、命令や情報として本体部１０に送信され、本体部１０側で対応する処理が実行される。ＭＦＰ１において、操作部２０は、第１のユニットの一例であり、本体部１０は、第２のユニットの一例である。
【００１１】
本体部１０や操作部２０は、接続Ｉ／Ｆ１６、専用の通信路４０、接続Ｉ／Ｆ２６を介して相互に通信可能に接続されている。通信路４０は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格を用いることができるが、有線か無線かを問わず任意の規格のものでも良い。
【００１２】
本体部１０は、操作部２０で受け付けた操作に応じた動作を行う。また、本体部１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示（印刷指示等）に応じた動作を行うことも可能である。
【００１３】
図１に示す本体部１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＨＤＤ１４、通信Ｉ／Ｆ１５、接続Ｉ／Ｆ１６、エンジン部１７は、システムバス１８を介して相互に接続されている。
【００１４】
ＣＰＵ１１は、本体部１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２やＨＤＤ１４等に格納されたプログラム（アプリケーション）を実行することで、本体部１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能等の各種機能を実現する。なお、これらの機能は、各機能に対応するアプリケーションを実行することで実現される。
【００１５】
通信Ｉ／Ｆ１５は、ネットワーク３０と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路４０を介して操作部２０と通信するためのインタフェースである。
【００１６】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能等を実現させるためのハードウェアである。例えば、エンジン部１７は、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部等を備えている。エンジン部１７は、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを実現するためのハードウェアを備えていても良い。
【００１７】
図１に示す操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７と、外部接続Ｉ／Ｆ２８とを備える。ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４、通信Ｉ／Ｆ２５、接続Ｉ／Ｆ２６、操作パネル２７、外部接続Ｉ／Ｆ２８は、システムバス２９を介して相互に接続されている。
【００１８】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）としてＲＯＭ２２やフラッシュメモリ２４等に格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示等の各種機能を実現する。
【００１９】
通信Ｉ／Ｆ２５は、ネットワーク３０と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路４０を介して本体部１０と通信するためのインタフェースである。
【００２０】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態等を示す情報等）を表示する。操作パネル２７は、例えばタッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるがこれに限られるものではなく、タッチパネル機能が搭載された有機ＥＬ表示装置で構成されても良い。また、操作パネル２７には、ハードウェアキー等の操作部やランプ等の表示部を設けても良い。
【００２１】
外部接続Ｉ／Ｆ２８は、例えばＩＣカードリーダー等と接続するためのインタフェースである。
【００２２】
＜ＭＦＰの機能ブロック例＞
次に、図１のハードウェアにより実現されるＭＦＰ１の機能ブロックの例について説明する。図２は、第１実施形態のＭＦＰの機能ブロックの一例を示す図である。図２に示すように、ＭＦＰ１は、本体部１０及び操作部２０を備える。
【００２３】
本体部１０は、ＣＰＵ１１がプログラムを実行することで実現される機能（モジュール）である通信部１１１と、設定管理部１１２と、記憶部１１３とを備える。上記各部の一部は、ＣＰＵ１１がＲＯＭ１２又はＨＤＤ１４からソフトウェア（プログラム）を読み出して実行することにより、上記各部がＲＡＭ１３上にロードされ、上記各部がＲＡＭ１３上に生成されるソフトウェア（プログラム）であっても良い。また、上記各部の一部又は全部を演算処理で行うプロセッサ等のハードウェア回路で置き換えても良い。
【００２４】
通信部１１１は、ＣＰＵ１１によってＲＯＭ１２から読み出した命令を実行することにより実現される。通信部１１１は、専用の通信路４０を経由して操作部２０と接続し、操作部２０との間でデータを送受信する。例えば、通信部１１１は、操作部２０で受け付けた各種の操作入力を受信して、対応する各部に受け渡す。また、通信部１１１は、各種の情報（例えば、受け付けた入力に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態等を示す情報等）を操作部２０に表示させるためのデータを送信する。
【００２５】
また、通信部１１１は、通信Ｉ／Ｆ１５を介してネットワーク３０を経由して、外部装置（クライアントＰＣ等）との間でデータを送受信して、対応する各部に受け渡す。
【００２６】
設定管理部１１２は、ＣＰＵ１１によってＲＯＭ１２から読み出した命令を実行することにより実現される。設定管理部１１２は、操作部２０の設定管理部２１４で受け付けたユーザ等からの設定情報（設定値）のインポート（入力）要求又はエクスポート（出力）要求を管理する。
【００２７】
設定管理部１１２は、例えば本体部１０で動作するアプリケーション（本体部アプリケーション）に対する設定情報のインポート要求又はエクスポート要求を受け付けた場合、本体部アプリケーションに対して受け付けた要求に応じた処理を実行するように要求する。また、設定管理部１１２は、例えば操作部２０で動作するアプリケーション（操作部アプリケーション）に対する設定情報のインポート要求又はエクスポート要求を受け付けた場合、操作部２０の設定管理部２１４に対して、受け付けた要求に応じた処理を実行するよう要求する。
【００２８】
上述した本体部アプリケーション（第２ユニットアプリケーション）の一例としては、コピー機能を提供するコピーアプリ、スキャナ機能を提供するスキャナアプリ、ファクス機能を提供するファクスアプリ等であるがこれには限定されない。すなわち、本体部１０で動作し、設定情報をインポート及びエクスポートできる処理部（ソフトウェア等）であれば、本体部アプリケーションとすることが可能である。
【００２９】
上述した操作部アプリケーション（第１ユニットアプリケーション）の一例としては、操作部２０の操作パネル２７に対する各種情報の表示を行う表示アプリ、操作部２０に対する各種設定を行う設定アプリ、操作部２０で動作する他のアプリ等の起動を制御するランチャー、ウェブページの表示等のブラウザ機能を提供するブラウザ等であるがこれには限定されない。すなわち、操作部２０で動作し、設定情報をインポート及びエクスポートできる処理部（ソフトウェア等）であれば操作部アプリケーションとすることが可能である。
【００３０】
設定管理部１１２は、本体部アプリケーション及び操作部アプリケーションに対するエクスポート要求を受け付けた場合、本体部アプリケーションの設定情報を記憶部１１３から取得し、操作部アプリケーションの設定情報を操作部２０の設定管理部２１４から取得する。設定管理部１１２は、これらの設定情報を統合すると、通信部１１１を介して統合した設定情報をユーザ等に対して出力（エクスポート）するよう制御する。
【００３１】
また、設定管理部１１２は、本体部アプリケーション及び操作部アプリケーションに対するインポート要求を受け付けた場合、各アプリケーションに対してインポートする設定情報をそれぞれ記憶部１１３に記憶する。設定管理部１１２は、本体部アプリケーションのそれぞれに対して記憶部１１３に記憶した設定情報をインポートするように要求する。また、設定管理部１１２は、操作部アプリケーションについては、操作部２０の設定管理部２１４に対して、記憶部１１３に記憶したそれぞれの設定情報をインポートするよう要求する。
【００３２】
なお、インポートする設定情報は、例えばＭＦＰ１や他のＭＦＰ等からエクスポートされた設定情報であり、本体部アプリケーションの設定情報及び操作部アプリケーションの設定情報のうち少なくとも一方が含まれる。
【００３３】
記憶部１１３は、ＲＯＭ１２又はＨＤＤ１４に対応する。記憶部１１３は、各種のデータを記憶する。記憶部１１３は、例えば、本体部１０で動作する本体部アプリケーションを記憶する。また、記憶部１１３は、エクスポート又はインポートする各アプリケーションの設定情報を記憶する。
【００３４】
操作部２０は、ＣＰＵ２１がプログラムを実行することで実現される機能(モジュール)である通信部２１１と、表示部２１２と、記憶部２１３と、設定管理部２１４とを備える。設定管理部２１４は、受付部２２０と、実行判断部２２１と、アプリ制御部２２２とを備える。上記各部の一部は、ＣＰＵ２１がＲＯＭ２２又はフラッシュメモリ２４からソフトウェア（プログラム）を読み出して実行することにより、上記各部がＲＡＭ２３上にロードされ、上記各部がＲＡＭ２３上に生成されるソフトウェア（プログラム）であっても良い。また、上記各部の一部を演算処理で行うプロセッサ等のハードウェア回路で置き換えても良い。
【００３５】
通信部２１１は、ＣＰＵ２１によってＲＯＭ２２から読み出した命令を実行することにより実現される。通信部２１１は、専用の通信路４０を経由して本体部１０と接続し、本体部１０との間でデータを送受信する。例えば、通信部２１１は、設定管理部２１４の受付部２２０で受け付けた本体部アプリケーション及び操作部アプリケーションに対する設定情報のエクスポート要求又はインポート要求を本体部１０の設定管理部１１２に対して送信する。また、通信部２１１は、本体部１０の設定管理部１１２からの操作部アプリケーションに対する設定情報のエクスポート要求又はインポート要求を受け付ける。
【００３６】
また、通信部２１１は、例えば操作部２０で受け付けた各種の入力を本体部１０に送信する。また、通信部２１１は、例えば各種の情報（例えば、受け付けた入力に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態等を示す情報等）を操作部２０に表示させるためのデータを受信して、対応する各部に受け渡す。
【００３７】
また、通信部２１１は、通信１／Ｆ２５を介してネットワーク３０を経由して、外部装置（クライアントＰＣ等）との間でデータを送受信して、対応する各部に受け渡す。具体的には、通信部２１１は、外部装置から機能を実現するための指示やデータを受信して、対応する各部に受け渡す。
【００３８】
表示部２１２は、操作パネル２７の表示画面に対応する。表示部２１２は、例えば、ユーザに対して情報を提供するための表示情報（画面）を表示する。また、表示部２１２は、例えば、常時表示される特定の機能を利用するための画面を表示する。
【００３９】
記憶部２１３は、ＲＯＭ２２又はフラッシュメモリ２４に対応する。記憶部１１３は、各種のデータを記憶する。記憶部２１３は、例えば、操作部２０で動作する操作部アプリケーションを記憶する。また、記憶部２１３は、操作部アプリケーションからエクスポートされた操作部アプリケーションの設定情報を記憶する。
【００４０】
なお、操作部アプリケーションの一例である表示アプリは、本体部１０の各モジュールに組み込まれた画像表示用のライブラリからの要求に応じて、操作パネル２７に対する情報の表示を制御する。操作部アプリケーションの一例である設定アプリは、例えば操作部２０がスピーカを備える場合の音量の設定、通信方式の設定、認証時のパスワードの設定等を行う。
【００４１】
また、操作部アプリケーションの一例として、第三者（例えば、サードベンダ）が作成したアプリケーション（第三者アプリ）を含めても良い。この場合、例えば第三者アプリに対して必要なサービスが提供されても良い。このサービスとしては、例えば本体部１０の詳細な操作や細かい仕様の知識がなくても第三者がアプリケーションを作成可能とするためのインタフェースや、公開できないインタフェースを隠すために提供される。
【００４２】
設定管理部２１４は、受付部２２０と、実行判断部２２１と、アプリ制御部２２２とを含む。設定管理部２１４、受付部２２０、実行判断部２２１、及びアプリ制御部２２２は、ＣＰＵ２１によってＲＯＭ２２から読み出した命令を実行することにより実現される。
【００４３】
受付部２２０は、外部（ユーザ等）から通信部２１１又は表示部２１２を介してＭＦＰ１で動作するアプリケーション（例えば、本体部アプリケーションや操作部アプリケーション）に対する設定情報のエクスポート要求又はインポート要求を受け付ける。
【００４４】
受付部２２０が設定情報のエクスポート要求又はインポート要求を受け付けた場合に、実行判断部２２１は、本体部１０の動作状況を取得する。動作状況は、本実施形態では、本体部１０から得られる、動作信号を用いた例とする。動作信号は、定期的に送られる信号でも良く、要求応じて送信される信号でも良い。
【００４５】
実行判断部２２１は、取得した動作状況に基づき、受付部２２０により受け付けた要求に応じた処理（設定情報の入出力処理）を、本体部１０が実行可能か否かを判断する。本実施形態では、即時実行可能か否かを判断する例とするが、即時に制限するものではなく、例えば所定時間以内に実行できるか否かを判断してもよい。
【００４６】
本実施形態では、実行判断部２２１では、本体部１０の動作状況として、本体部１０が「省エネモード中」、「ＨＤＤ１４を利用不可（準備中）」、「ユーザが本体部１０の設定を閲覧、設定中」であるか否かを判断する。実行判断部２１１は、これらの動作状況の場合には、本体部１０を一時的に利用できないと判断する。本体部１０が一時的に利用できない状態の場合、本体部１０は、エクスポート要求又はインポート要求に応じた処理が実行できない。そこで、本実施形態の実行判断部２２１は、これらの動作状況の場合には、本体部１０において上述した要求に応じた処理が即時実行できないと判断する。なお、本実施形態は、動作状況をこれらに制限するものではなく、他の動作状況を実行できるか否かの判断に用いても良い。
【００４７】
アプリ制御部２２２は、上述した表示アプリ、設定アプリ、ランチャー、ブラウザ等の各操作部アプリケーションに対する実行を制御する。例えば、アプリ制御部２２２は、実行判断部２２１によって本体部１０が、上述した要求に応じた処理が即時実行できないと判断された場合、上述した要求に応じて操作部アプリケーションに対して先行して処理を実行させる。
【００４８】
設定管理部２１４は、実行判断部２２１によって本体部１０が、上述した要求に応じた処理が実行可能になったと判断された場合、通信部２１１を介して、本体部１０の設定管理部１１２に対して、受付部２２０により受け付けた設定情報のエクスポート要求又はインポート要求の内容を転送する。
【００４９】
設定管理部２１４は、通信部２１１を介して本体部１０の設定管理部１１２から操作部アプリケーションに対するエクスポート要求を受け付けた場合、記憶部２１３から操作部アプリケーションがそれぞれ先行してエクスポート処理を実行することで得られた設定情報を取得する。設定管理部２１４は、取得したそれぞれの設定情報を統合して、通信部２１１を介して本体部１０の設定管理部１１２に送信する。
【００５０】
設定管理部２１４は、通信部２１１を介して本体部１０の設定管理部１１２から操作部アプリケーションに対するインポート要求を受け付けた場合、記憶部２１３から操作部アプリケーションがそれぞれ先行してインポート処理を実行することで得られたインポート結果を取得する。設定管理部２１４は、取得したそれぞれのインポート結果を統合して、通信部２１１を介して本体部１０の設定管理部１１２に送信する。
【００５１】
＜設定情報のデータ構造例＞
次に、設定情報のデータ構造の例について図３〜図５を用いて説明する。図３は、操作部アプリケーションが処理する設定情報の一例を示す図である。図４は、操作部と本体部との間で送受信される設定情報の一例を示す図である。図５は、本体部の設定管理部が最終的に生成する設定情報の一例を示す図である。
【００５２】
図３（Ａ）は、操作部アプリケーションの一例である設定アプリの設定情報の例を示す。図３（Ｂ）は、操作部アプリケーションの一例であるランチャーの設定情報の例を示す。図３（Ａ）及び図３（Ｂ）に示すように、設定情報は、「アプリＩＤ」、「項目ＩＤ」、「項目名」、「機密情報」、「固有情報」、「設定値」等の項目を含む。
【００５３】
アプリＩＤは、アプリケーションを識別する識別情報である。例えば、本体部１０内のエクスポート対象となるアプリケーションと、１つのアプリケーションとみなされる操作部２０の設定管理部２１４とに対して、それぞれアプリＩＤが割り当てられる。項目ＩＤは、設定情報に含まれる各設定項目をそれぞれ識別する識別情報である。項目名は、設定項目の名称である。
【００５４】
機密情報は、設定項目が機密にすべき情報であるか否かを表す。例えば設定項目が機密にすべき情報である場合に「ＴＲＵＥ」が設定され、設定項目が機密にすべき情報でない場合に「ＦＡＬＳＥ」が設定される。機密情報が「ＴＲＵＥ」の場合、例えば本体部１０の設定管理部１１２が、設定情報（設定値）を暗号化し、暗号化した設定情報をエクスポートしても良い。
【００５５】
固有情報は、設定項目が装置に固有の情報であるか否かを表す。例えば設定項目が装置に固有の情報である場合に「ＴＲＵＥ」が設定され、設定項目が装置に固有の情報でない場合に「ＦＡＬＳＥ」が設定される。設定値は、設定項目に対して設定されている値を表す。
【００５６】
図４は、操作部と本体部との間で送受信される設定情報の例を示す図である。図４の例では、上述した図３（Ａ）及び図３（Ｂ）の設定情報を統合した場合の設定情報である。操作部２０の設定管理部２１４は、操作部２０の操作部アプリケーションが生成した設定情報をまとめて本体部１０の設定管理部１１２に通知する。
【００５７】
図５は、本体部の設定管理部が最終的に生成する設定情報の例を示す図である。本体部１０の設定管理部１１２は、上述した図４に示す設定情報に、本体部１０内のアプリケーションの設定情報を加えた設定情報を生成し、最終的な設定情報（エクスポートファイル等）として外部に出力する。
【００５８】
図５の例では、本体部１０内のアプリケーションの設定情報として、アプリＩＤ＝１に対応する設定情報に、上述した図４に示すアプリＩＤ＝３に対応する設定情報が追加された設定情報が示されている。
【００５９】
本実施形態のインポート処理では、図５に示すような設定情報が、インポート対象の設定情報（インポートファイル等）として入力される。
【００６０】
次に、上述したＭＦＰ１により実行されるエクスポート又はインポート処理について説明する。まず、操作部２０の受付部２２０により、外部からエクスポート要求又はインポート要求を受け付けた場合について説明する。
【００６１】
＜外部からエクスポート要求又はインポート要求を受け付けた場合＞
図６は、外部からエクスポート要求又はインポート要求を受け付けた場合のフローチャートである。図６に示すように、操作部２０の受付部２２０は、外部から通信部２１１又は表示部２１２を介してエクスポート要求又はインポート要求を受け付ける（ステップＳ１０１）。操作部２０の実行判断部２２１は、本体部１０から動作状況を取得し、取得した動作状況に基づいて、本体部１０がエクスポート又はインポート処理が即時実行可能か判断する（ステップＳ１０２）。
【００６２】
上述したように、操作部２０の実行判断部２２１は、本体部１０の動作状況として、例えば本体部１０が「省エネモード中」、「ＨＤＤ１４が利用不可（準備中）」、「ユーザが本体部１０の設定を閲覧、設定中」であるか否か判断する。また、操作部２０の実行判断部２２１は、これらの動作状況の場合には、本体部１０においてエクスポート処理又はインポート処理を即時実行できないと判断する。
【００６３】
操作部２０の実行判断部２２１は、本体部１０においてエクスポート処理又はインポート処理が即時実行できないと判断すると（ステップ１０２において、Ｎｏ）、操作部２０の設定管理部２１４は、ステップＳ１０１の処理で受け付けた処理要求の内容をフラッシュメモリ２４（記憶部２１３）に保存する（ステップＳ１０３）。
【００６４】
次に、操作部２０のアプリ制御部２２２は、ステップＳ１０１の処理で受け付けた処理要求に基づき、本体部１０に先行して、操作部２０内のエクスポート対象又はインポート対象として指定された操作部アプリケーションに対してエクスポート処理又はインポート処理を実行させる（ステップＳ１０４）。操作部アプリケーションは、実行結果をフラッシュメモリ２４に一時保存する（ステップＳ１０５）。
【００６５】
次に、操作部２０の実行判断部２２１は、本体部１０の動作状況に基づき、本体部１０においてエクスポート又はインポート処理が実行可能になったと判断すると、操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２に対して、ステップＳ１０３の処理で保存した処理要求の内容を転送する（ステップＳ１０６）。
【００６６】
本体部１０の設定管理部１１２は、本体部アプリケーション又は操作部２０の設定管理部２１４に対して、エクスポート又はインポート処理を実行させる（ステップＳ１０７）。ここで、操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からエクスポート処理又はインポート処理の実行要求を受け付けると、ステップＳ１０５の処理でフラッシュメモリに一時保存した情報（実行結果）を、本体部１０の設定管理部１１２に送信する。
【００６７】
また、ステップＳ１０２の処理で、操作部２０の実行判断部２２１は、本体部１０においてエクスポート処理又はインポート処理が即時実行可能であると判断すると（ステップＳ１０２において、Ｙｅｓ）、操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２に処理要求の内容を転送する（ステップＳ１０８）。次に、本体部１０の設定管理部１１２は、本体部アプリケーション又は操作部２０の設定管理部２１４に対して、エクスポート処理又はインポート処理を実行させ（ステップＳ１０９）、処理を終了する。
【００６８】
このように、操作部２０のアプリ制御部２２２は、本体部１０においてエクスポート処理又はインポート処理が即時実行できない場合に、本体部１０よりも先行して操作部アプリケーションに対してエクスポート処理又はインポート処理を実行させる。これにより、本体部１０がエクスポート処理又はインポート処理が実行可能となった場合の操作部２０での処理時間を短縮することが可能となる。
【００６９】
次に、ＭＦＰ１により実行されるエクスポート処理、インポート処理の具体例について、図７〜図１４を用いて説明する。
【００７０】
＜エクスポート処理のシーケンス＞
図７は、第１実施形態におけるエクスポート処理の一例を示すシーケンスである。図７の例では、本体部１０においてエクスポート処理を即時実行できる場合の例を示している。なお、図７に示すシーケンスは、本体部１０の設定管理部１１２と、本体部アプリケーションの一例としてのコピーアプリ１２１と、操作部２０の設定管理部２１４と、操作部アプリケーションの一例としての設定アプリ２３１と、ランチャー２３２とにより実行される。なお、本体部アプリケーション及び操作部アプリケーションの例は、これに限定されるものではない。
【００７１】
図７に示すように、操作部２０の設定管理部２１４は、受付部２２０により、外部（例えば、ユーザ等）からエクスポート要求を受け付ける（ステップＳ１１１）。
【００７２】
操作部２０の設定管理部１２６は、実行判断部２２１により、本体部１０の動作状況に基づき、例えば本体部１０においてエクスポート処理が即時実行可能であると判断されると、エクスポート要求を本体部１０の設定管理部１１２に送信する（ステップＳ１１２）。エクスポート要求には、例えばエクスポート対象とするアプリケーションや、最終的にエクスポートする設定情報（エクスポートファイル等）の出力先等が指定されていても良い。
【００７３】
本体部１０の設定管理部１１２は、エクスポート対象として指定されたアプリケーション（図７の例では、コピーアプリ１２１、操作部２０の設定管理部２１４）に対してエクスポート準備要求を送信する（ステップＳ１１３、ステップＳ１１４）。
【００７４】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からエクスポート準備要求を受信すると、アプリ制御部２２２により、操作部２０内のエクスポート対象として指定された操作部アプリケーション（図７の例では、設定アプリ２３１、ランチャー２３２）に対してエクスポート準備要求を送信する（ステップＳ１１５、ステップＳ１１６）。
【００７５】
なお、エクスポート準備要求は、設定情報のエクスポートの前に必要となる処理を各アプリケーションに実行させるための要求である。このような処理が不要な場合はエクスポート準備要求を送信しない構成としても良い。
【００７６】
本体部１０の設定管理部１１２は、例えば、エクスポート要求とともに指定されたアプリケーションをエクスポート対象として決定するが、エクスポート対象とするアプリケーションはどのような方法で決定しても良く、予め設定されたアプリケーションをエクスポート対象としても良い。
【００７７】
本体部１０の設定管理部１１２は、ブロードキャスト等により宛先（アプリケーション）を指定せずにエクスポート準備要求を送信しても良い。この場合、エクスポート準備要求を受信したアプリケーションは、自身がエクスポート対象である場合に要求に応じた処理を実行する。
【００７８】
操作部２０の設定管理部２１４も同様に、アプリ制御部２２２により、例えば指定された操作部アプリケーションに対してエクスポート準備要求を送信する。なお、操作部２０のＯＳがＡｎｄｒｏｉｄ（登録商標）の場合は、“sendOrderedBroadcast”等をブロードキャストによる送信として利用しても良い。エクスポート準備要求を受信した操作部アプリケーションは、自身がエクスポート対象である場合に要求に応じた処理を実行する。自身がエクスポート対象であるか否かは、フラッシュメモリ２４等に事前に設定された情報で判断しても良い。
【００７９】
次に、本体部１０の設定管理部１１２は、エクスポート対象として指定されたアプリケーション（図７の例では、コピーアプリ１２１、操作部２０の設定管理部２１４）に対してエクスポート実行要求を送信する（ステップＳ１１７、ステップＳ１１８）。
【００８０】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からエクスポート実行要求を受信すると、アプリ制御部２２２により、操作部２０内のエクスポート対象として指定されたアプリケーション（図７の例では、設定アプリ２３１、ランチャー２３２）に対してエクスポート実行要求を送信する（ステップＳ１１９、ステップＳ１２０）。エクスポート実行要求は、エクスポート準備要求と同様に、エクスポート対象とするアプリケーションに対して送信されても良く、ブロードキャスト等により送信されても良い。
【００８１】
エクスポート実行要求を受信したエクスポート対象となる各アプリケーションは、実行依頼結果をエクスポート実行要求の送信元に対して送信する（ステップＳ１２１、ステップＳ１２２、ステップＳ１２３）。
【００８２】
また、各アプリケーションは、自身の設定情報（エクスポート情報）を指定された又は予め設定された記憶部等に書き込むエクスポート処理を実行する。例えば本体部１０内のコピーアプリ１２１は、設定情報をＨＤＤ１４に書き込む（ステップＳ１２４）。また、例えば操作部２０内の設定アプリ２３１やランチャー２３２は、設定情報をフラッシュメモリ２４に書き込む（ステップＳ１２５、ステップＳ１２６）。
【００８３】
各アプリケーションは、エクスポート結果を、エクスポート実行要求の送信元に対して送信する。例えばコピーアプリ１２１は、実行結果を本体部１０の設定管理部１１２に送信する（ステップＳ１２７）。また、設定アプリ２３１やランチャー２３２は、実行結果を操作部２０の設定管理部２１４に送信する（ステップＳ１２８、ステップＳ１２９）。実行結果は、エクスポートを実行したアプリケーションを特定する情報（アプリＩＤ等）、エクスポートした設定情報を特定する情報（エクスポートファイルの格納場所、名称等）を含んでも良い。
【００８４】
操作部２０の設定管理部２１４は、操作部２０内の各アプリケーション（図７の例では、設定アプリ２３１やランチャー２３２）から実行結果を受信すると、各アプリケーションが記憶した設定情報を読み出し、統合した設定情報を生成する。操作部２０の設定管理部１２６は、生成した設定情報を本体部１０の記憶部（例えばＨＤＤ１４）に書き込む（ステップＳ１３０）。操作部２０の設定管理部２１４は、書き込み処理の実行結果（エクスポート結果）を、本体部１０の設定管理部１１２に送信する（ステップＳ１３１）。
【００８５】
本体部１０の設定管理部１１２は、エクスポート対象となるアプリケーションから実行結果を受信すると、各アプリケーションが記憶した設定情報を読み出し、読み出した設定情報を統合した設定情報（エクスポート結果）を作成する（ステップＳ１３２）。本体部１０の設定管理部１１２は、エクスポート結果（エクスポートファイル）を出力する（ステップＳ１３３）。例えば本体部１０の設定管理部１１２は、エクスポート結果をＨＤＤ１４に書き込むとともに、書き込みの結果をエクスポートの要求元に通知する。
【００８６】
上述したように、操作部２０の設定管理部２１４は、外部から受け付けたエクスポート要求に対し、本体部１０によりエクスポート処理が即時実行可能である場合に、本体部１０の設定管理部１１２にエクスポート要求を通知する。操作部２０のアプリ制御部２２２は、本体部１０の設定管理部１１２によりエクスポート対象のアプリケーションとみなされると、操作部２０の操作部アプリケーションを対象として操作部２０専用のエクスポート処理を実行させる。
【００８７】
＜エクスポート処理での各情報の流れ＞
図８は、エクスポート処理での各情報の流れを説明する図である。図８の例では、例えばコピーアプリ１２１、スキャナアプリ１２２、設定アプリ２３１、ランチャー２３２が、エクスポート対象のアプリケーションとして指定された例が示されている。
【００８８】
図８に示すエクスポート処理では、エクスポート対象となる各アプリケーションは、それぞれ自身のエクスポート情報（設定情報）を記憶部（ＨＤＤ１４やフラッシュメモリ２４）に記憶する。例えば、コピーアプリ１２１やスキャナアプリ１２２は、ＨＤＤ１４にエクスポート情報を記憶する（図８の（１））。設定アプリ２３１やランチャー２３２は、フラッシュメモリ２４にエクスポート情報を記憶する（図８の（１））。
【００８９】
操作部２０の設定管理部２１４は、操作部２０の操作部アプリケーション（図８の例では、設定アプリ２３１やランチャー２３２）がフラッシュメモリ２４に登録したエクスポート情報を参照する（図８の（２））。また、操作部２０の設定管理部２１４は、参照により得られたエクスポート情報を操作部２０全体のエクスポートファイルとして統合すると、本体部１０のＨＤＤ１４に登録する（図８の（３））。
【００９０】
本体部１０の設定管理部１１２は、各アプリケーション（操作部２０の設定管理部２１４を含む）がＨＤＤ１４に登録したエクスポート情報を、外部に出力するために更に統合して（必要に応じて編集し）、最終的なエクスポートファイルを作成する（図８の（４））。
【００９１】
＜本体部１０がエクスポート処理を即時実行できない場合のシーケンス＞
図９は、本体部がエクスポート処理を即時実行できない場合のシーケンスである。なお、図９に示すシーケンスは、本体部１０の設定管理部１１２と、本体部アプリケーションの一例としてのコピーアプリ１２１と、操作部２０の設定管理部２１４と、操作部アプリケーションの一例としての設定アプリ２３１と、ランチャー２３２とにより実行される。
【００９２】
図９に示すように、操作部２０の設定管理部２１４は、受付部２２０により、外部（例えば、ユーザ等）からエクスポート要求を受け付ける（ステップＳ１４１）。
【００９３】
操作部２０の設定管理部２１４は、実行判断部２２１により、本体部１０の動作状況に基づき、本体部１０においてエクスポート処理が即時実行可能ではないと判断されると、エクスポート要求（処理要求の内容）を操作部２０の記憶部２１３（フラッシュメモリ２４）に保存する（ステップＳ１４２）。
【００９４】
次に、操作部２０の設定管理部２１４は、アプリ制御部２２２により、操作部２０の操作部アプリケーションを対象としてエクスポート処理を実行させる。
【００９５】
すなわち、操作部２０の設定管理部２１４は、アプリ制御部２２２により、操作部２０内のエクスポート対象として指定された操作部アプリケーション（図９の例では、設定アプリ２３１、ランチャー２３２）に対してエクスポート準備要求及びエクスポート実行要求を送信する（ステップＳ１４３〜ステップＳ１４６）。エクスポート実行要求を受信した各アプリケーションは、実行依頼結果をエクスポート実行要求の送信元に対して送信する（ステップＳ１４７、ステップＳ１４８）。
【００９６】
また、操作部２０内の各アプリケーションは、エクスポート処理を実行し（ステップＳ１４９、ステップＳ１５０）、エクスポート結果をエクスポート実行要求の送信元に対して送信する（ステップＳ１５１、ステップＳ１５２）。操作部２０の設定管理部２１４は、操作部２０内の各アプリケーションから実行結果を受信すると、各アプリケーションが記憶した設定情報を読み出し、統合してフラッシュメモリ２４に書き込む（ステップＳ１５３）。
【００９７】
ここで、操作部２０の設定管理部２１４は、実行判断部２２１により、本体部１０の動作状況に基づき、本体部１０においてエクスポート処理が実行可能になったと判断されると、ステップＳ１４２の処理でフラッシュメモリ２４等に保存した処理要求の内容を読み出す（ステップＳ１５４）。
【００９８】
操作部２０の実行判断部２２１は、例えば本体部１０の動作状況として、例えば本体部１０が「省エネモード」から「通常モード」に復帰したか否か、「ＨＤＤ１４が利用不可（準備中）」から「ＨＤＤ１４が利用可能」となったか否か、「ユーザが本体部１０の設定を閲覧、設定中」から「ユーザが本体部１０の設定の閲覧終了、設定終了」したか否か判断する。操作部２０の実行判断部２２１は、これらの動作状況の場合には、本体部１０においてエクスポート処理が実行可能になったと判断するが、これには限定されない。
【００９９】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２にエクスポート要求を送信する（ステップＳ１５５）。
【０１００】
本体部１０の設定管理部１１２は、上述した図７に示す処理と同様にエクスポート処理を実行させる。すなわち、エクスポート対象として指定されたアプリケーション（図９の例では、コピーアプリ１２１、操作部２０の設定管理部２１４）に対してエクスポート準備要求及びエクスポート実行要求を送信する（ステップＳ１５６、ステップＳ１５７、ステップＳ１５９、ステップＳ１６０）。
【０１０１】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からのエクスポート準備要求に対しては事前実行結果を送信する（ステップＳ１５８）。本体部１０のアプリケーション（図９の例では、コピーアプリ１２１）は、エクスポート結果を本体部１０の設定管理部１１２に送信する（ステップＳ１６１）。また、操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からのエクスポート実行要求に対しては事前に保存していた実行結果をフラッシュメモリ２４から取得し、本体部１０の記憶部１１３（例えばＨＤＤ１４）に書き込む（ステップＳ１６２）。
【０１０２】
また、操作部２０の設定管理部２１４は、書き込み処理の実行結果を、本体部１０の設定管理部１１２に送信する（ステップＳ１６３）。本体部１０の設定管理部１１２は、エクスポート対象となるアプリケーションから実行結果を受信すると、エクスポート結果を作成し（ステップＳ１６４）、図７と同様にエクスポート結果を出力する（ステップＳ１６５）。
【０１０３】
上述したように、操作部２０のアプリ制御部２２２は、外部から受け付けたエクスポート要求に対し、本体部１０においてエクスポート処理が即時実行できない場合、本体部１０よりも先行して操作部アプリケーションに対してエクスポート処理を実行させる。これにより、本体部１０でエクスポート処理が実行可能となった場合の操作部２０での処理を短縮することが可能となり、ＭＦＰ１全体での完了時間を短縮することが可能となる。
【０１０４】
＜本体部１０が即時実行できない場合のエクスポート処理での各情報の流れ＞
図１０は、本体部がエクスポート処理を即時実行できない場合の各情報の流れを説明する図である。図１０の例では、例えばコピーアプリ１２１、スキャナアプリ１２２、設定アプリ２３１、ランチャー２３２が、エクスポート対象のアプリケーションとして指定された例が示されている。
【０１０５】
図１０に示すエクスポート処理では、操作部２０の設定管理部２１４は、外部からのエクスポート要求の内容をフラッシュメモリ２４に保存する（図１０の（１））。
【０１０６】
操作部２０のエクスポート対象となるアプリケーションは、先行してエクスポート処理を実行するため、自身のエクスポート情報（設定情報）をフラッシュメモリ２４に登録する（図１０の（２））。操作部２０の設定管理部２１４は、操作部２０内の各アプリケーションがフラッシュメモリ２４に登録したエクスポート情報を参照して、操作部２０全体のエクスポートファイルを作成し、フラッシュメモリ２４に事前に保存しておく（図１０の（３））。
【０１０７】
操作部２０の設定管理部２１４は、実行判断部２２１により、本体部１０の動作状況に基づき、本体部１０においてエクスポート処理が実行可能になったと判断されると、フラッシュメモリ２４に保存しておいたエクスポート要求の内容を、本体部１０の設定管理部１１２に送信する。これにより、本体部１０においてエクスポート処理が開始される。
【０１０８】
本体部１０のエクスポート対象として指定された各アプリケーションは、それぞれのエクスポート情報をＨＤＤ１４に登録する。なお、操作部２０の設定管理部２１４は、フラッシュメモリ２４から、事前に作成しておいた操作部２０全体のエクスポートファイルを読み出し、読み出したエクスポートファイルをＨＤＤ１４に登録する（図１０の（４））。本体部１０の設定管理部１１２は、各アプリケーションがＨＤＤ１４に登録したエクスポート情報を参照し、最終的なエクスポートファイルを作成する（図１０の（５））。
【０１０９】
＜インポート処理のシーケンス＞
図１１は、第１実施形態におけるインポート処理の一例を示すシーケンスである。図１１の例では、本体部１０においてインポート処理を即時実行できる場合の例を示している。なお、図１１に示すシーケンスは、本体部１０の設定管理部１１２と、本体部アプリケーションの一例としてのコピーアプリ１２１と、操作部２０の設定管理部２１４と、操作部アプリケーションの一例としての設定アプリ２３１と、ランチャー２３２とにより実行される。
【０１１０】
図１１に示すように、操作部２０の設定管理部１２６は、受付部２２０により、外部（例えば、ユーザ等）からインポート要求を受け付ける（ステップＳ１７１）。
【０１１１】
操作部２０の設定管理部１２６は、実行判断部２２１により、本体部１０の動作状況に基づき、例えば本体部１０においてインポート処理が即時実行可能であると判断されると、インポート要求を本体部１０の設定管理部１１２に送信する（ステップＳ１７２）。なお、インポート要求は、インポート対象とするアプリケーションや、インポートする設定情報（インポートファイル等）が指定されていても良い。
【０１１２】
本体部１０の設定管理部１１２は、インポート対象として指定されたアプリケーション（図１１の例では、コピーアプリ１２１、操作部２０の設定管理部２１４）に対してインポート準備要求を送信する（ステップＳ１７３、ステップＳ１７４）。
【０１１３】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からインポート準備要求を受信すると、アプリ制御部２２２により、操作部２０内のインポート対象として指定された操作部アプリケーション（図１１の例では、設定アプリ２３１、ランチャー２３２）に対してインポート準備要求を送信する（ステップＳ１７５、ステップＳ１７６）。
【０１１４】
なお、インポート準備要求は、設定情報のインポートの前に必要となる処理を各アプリケーションに実行させるための要求である。このような処理が不要な場合はインポート準備要求を送信しないように構成しても良い。また、インポート準備要求は、エクスポート準備要求やエクスポート実行要求と同様に、インポート対象とするアプリケーションに対して送信されても良く、ブロードキャスト等により送信されても良い。
【０１１５】
次に、本体部１０の設定管理部１１２は、インポート対象として指定されたアプリケーション（図１１の例では、コピーアプリ１２１、操作部２０の設定管理部２１４）に対してインポート実行要求を送信する（ステップＳ１７７、ステップＳ１７８）。
【０１１６】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からインポート実行要求を受信すると、アプリ制御部２２２により、操作部２０内の指定された操作部アプリケーション（図１１の例では、設定アプリ２３１、ランチャー２３２）に対してインポート実行要求を送信する（ステップＳ１７９、ステップＳ１８０）。インポート実行要求は、インポート準備要求と同様に、インポート対象とするアプリケーションに対して送信されても良く、ブロードキャスト等により送信されても良い。
【０１１７】
インポート実行要求を受信したインポート対象となる各アプリケーションは、実行依頼結果をインポート実行要求の送信元に対して送信する（ステップＳ１８１〜ステップＳ１８３）。
【０１１８】
各アプリケーションは、上述した実行依頼結果として、記憶部（例えばＨＤＤ１４）等にそれぞれ割り当てられた設定情報（インポート情報）を参照して、インポート実行要求の対象として指定された設定項目の数（インポート実施数）を計算し、そのうちインポート処理を行う予定の設定項目の数（実施予定数）を返信しても良い。なお、操作部２０内の各アプリケーションは、操作部２０のＯＳがＡｎｄｒｏｉｄ（登録商標）の場合に、“sendBroadcast”等を用いて返信しても良い。
【０１１９】
次に、インポート対象となる各アプリケーションは、予め設定された記憶部（例えばＨＤＤ１４）等から自身の設定情報を読み出して、上述した図３〜図５等に示されるような設定項目ごとに、読み出した設定情報を設定するインポート処理を実行する。例えばインポートファイルがＨＤＤ１４に記憶されている場合、各アプリケーションは、アプリＩＤや項目ＩＤ等を用いて、ＨＤＤ１４のインポートファイル内の設定情報のうち自身の設定情報を特定して読み出すと良い。
【０１２０】
なお、本体部１０の設定管理部１１２が、インポートファイルに含まれる設定情報をアプリケーションごとに予め分割（分解）して記憶部等（例えばＨＤＤ１４）に記憶しても良く、操作部アプリケーションの設定情報のみを分割して操作部２０内の記憶部（フラッシュメモリ２４等）に記憶しても良い。操作部アプリケーションは、例えばフラッシュメモリ２４に記憶された設定情報のうち自身の設定情報を特定して読み出すことが可能である。
【０１２１】
各アプリケーションは、インポート実行結果を、インポート実行要求の送信元に対してインポートの実行結果を送信する。例えばコピーアプリ１２１は、実行結果を本体部１０の設定管理部１１２に送信する（ステップＳ１８４）。また、設定アプリ２３１やランチャー２３２は、実行結果を操作部２０の設定管理部２１４に送信する（ステップＳ１８５、ステップＳ１８６）。
【０１２２】
操作部２０の設定管理部２１４は、操作部２０内の各アプリケーションから実行結果を受信すると、各アプリケーションの実行結果（インポート結果）を統合して、本体部１０の記憶部（例えばＨＤＤ１４）に書き込む（ステップＳ１８７）。操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２にインポート結果を送信する（ステップＳ１８８）。インポート結果は、例えばインポート処理が成功したか否かを示す情報である。
【０１２３】
本体部１０の設定管理部１１２は、インポート対象となるアプリケーションから実行結果を受信すると、各アプリケーションの実行結果をまとめたインポート結果を、例えばインポートの要求元に出力する（ステップＳ１８９）。
【０１２４】
上述したように、操作部２０の設定管理部２１４は、外部から受け付けたインポート要求に対し、本体部１０によりインポート処理が即時実行可能である場合に、本体部１０の設定管理部１１２にインポート要求を通知する。また、操作部２０のアプリ制御部２２２は、本体部１０の設定管理部１１２によりインポート対象のアプリケーションとみなされると、操作部２０の操作部アプリケーションを対象とした操作部２０専用のインポート処理を実行させる。
【０１２５】
＜インポート処理での各情報の流れ＞
図１２は、インポート処理での各情報の流れを説明する図である。図１２の例では、コピーアプリ１２１、スキャナアプリ１２２、設定アプリ２３１、ランチャー２３２が、インポート対象のアプリケーションとして指定された例が示されている。
【０１２６】
図１２に示すインポート処理では、本体部１０の設定管理部１１２は、ユーザが指定したインポートファイルをアプリケーション単位で分解し、ＨＤＤ１４に登録する（図１２の（１））。
【０１２７】
各アプリケーション（図１２の例では、コピーアプリ１２１、スキャナアプリ１２２、設定アプリ２３１、ランチャー２３２）は、ＨＤＤ１４上の各アプリケーション用のインポート情報を参照する（図１２の（２））。例えば、操作部２０の操作部アプリケーション（図１２の例では、設定アプリ２３１やランチャー２３２）は、参照したインポート情報に基づき、インポート処理を実行して、それぞれインポート結果をフラッシュメモリ２４に登録する（図１２の（３））。
【０１２８】
操作部２０の設定管理部２１４は、操作部２０の操作部アプリケーションが登録したインポート結果を参照して（図１２の（４））、各インポート結果を統合すると、操作部２０全体のインポート結果を本体部１０のＨＤＤ１４に登録する（図１２の（５））。
【０１２９】
＜本体部１０がインポート処理を即時実行できない場合のシーケンス＞
図１３は、本体部がインポート処理を即時実行できない場合のシーケンスである。なお、図１３に示すシーケンスは、本体部１０の設定管理部１１２と、本体部アプリケーションの一例としてのコピーアプリ１２１と、操作部２０の設定管理部２１４と、操作部アプリケーションの一例としての設定アプリ２３１と、ランチャー２３２とにより実行される。
【０１３０】
図１３に示すように、操作部２０の設定管理部２１４は、受付部２２０により、外部（例えば、ユーザ等）からインポートの要求を受け付ける（ステップＳ２０１）。
【０１３１】
操作部２０の設定管理部２１４は、実行判断部２２１により、本体部１０の動作状況に基づき、本体部１０においてインポート処理が即時実行可能ではないと判断すると、インポート要求（処理要求の内容）を操作部２０の記憶部２１３（フラッシュメモリ２４）に保存する（ステップＳ２０２）。
【０１３２】
ここで、操作部２０の設定管理部２１４は、アプリ制御部２２２により、操作部２０の操作部アプリケーションを対象としてインポート処理を実行させる。
【０１３３】
すなわち、操作部２０の設定管理部２１４は、操作部２０内のインポート対象として指定された操作部アプリケーション（図１３の例では、設定アプリ２３１、ランチャー２３２）に対してインポート準備要求及びインポート実行要求を送信する（ステップＳ２０３〜ステップＳ２０６）。インポート実行要求を受信した各アプリケーションは、実行依頼結果をインポート実行要求の送信元に対して送信する（ステップＳ２０７、ステップＳ２０８）。
【０１３４】
また、操作部内の各アプリケーション（図１３の例では、設定アプリ２３１、ランチャー２３２）は、インポート処理を実行して、インポート実行結果をインポート実行要求の送信元に対して送信する（ステップＳ２０９、ステップＳ２１０）。操作部２０の設定管理部２１４は、操作部２０内の各アプリケーションから実行結果を受信すると、各アプリケーションが記憶したインポート結果を統合してフラッシュメモリ２４に書き込む（ステップＳ２１１）。
【０１３５】
ここで、操作部２０の設定管理部２１４は、実行判断部２２１により、本体部１０の動作状況に基づき、本体部１０においてインポート処理が実行可能になったと判断すると、ステップＳ２０２の処理でフラッシュメモリ２４等に保存した処理要求の内容を読み出す（ステップＳ２１２）。操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２にインポート要求を送信する（ステップＳ２１３）。
【０１３６】
本体部１０の設定管理部１１２は、上述した図１１に示す処理と同様にインポート処理を実行させる。すなわち、インポート対象として指定されたアプリケーション（図１３の例では、コピーアプリ１２１、操作部２０の設定管理部２１４）に対してインポート準備要求及びインポート実行要求を送信する（ステップＳ２１４、ステップＳ２１５、ステップＳ２１７、ステップＳ２１８）。
【０１３７】
操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からのインポート準備要求に対しては事前実行結果を送信する（ステップＳ２１６）。また、操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からのインポート実行要求に対しては事前に保存していた実行結果をフラッシュメモリ２４から取得し、本体部１０の記憶部１１３（例えばＨＤＤ１４）に書き込む（ステップＳ２１９）。本体部１０のアプリケーション（図１３の例では、コピーアプリ１２１）は、インポート結果を本体部１０の設定管理部１１２に送信する（ステップＳ２２０）。
【０１３８】
また、操作部２０の設定管理部２１４は、書き込み処理の実行結果（インポート結果）を、本体部１０の設定管理部１１２に送信する（ステップＳ２２１）。本体部１０の設定管理部１１２は、インポート対象となるアプリケーションから実行結果を受信すると、インポート結果を作成し、図１１の処理と同様にインポート結果を出力する（ステップＳ２２２）。
【０１３９】
上述したように、操作部２０のアプリ制御部２２２は、外部から受け付けたインポート要求に対し、本体部１０においてインポート処理が即時実行できない場合、本体部１０よりも先行して操作部アプリケーションに対してインポート処理を実行させる。これにより、本体部１０でインポート処理が実行可能となった場合の操作部２０での処理を短縮することが可能となり、ＭＦＰ１全体での完了時間を短縮することが可能となる。
【０１４０】
＜本体部１０がインポート処理を即時実行できない場合の各情報の流れ＞
図１４は、本体部がインポート処理を即時実行できない場合の各情報の流れを説明する図である。図１４の例では、コピーアプリ１２１、スキャナアプリ１２２、設定アプリ２３１、ランチャー２３２が、インポート対象として指定された例が示されている。
【０１４１】
図１４に示すインポート処理では、操作部２０の設定管理部２１４は、ユーザ等により指定されたインポートファイル（インポート要求の内容）をフラッシュメモリ２４に保存する（図１４の（１））。
【０１４２】
操作部２０のインポート対象となる操作部アプリケーションは、先行してインポート処理を実行するため、フラッシュメモリ２４上の自身のインポート情報を参照する（図１４の（２）。操作部アプリケーションは、参照したインポート情報に基づき、インポート処理を実行して、フラッシュメモリ２４にインポート結果を登録する（図１４の（３））。操作部２０の設定管理部２１４は、操作部アプリケーションが登録したインポート結果を参照し、各インポート結果を統合すると、操作部２０全体のインポート結果をフラッシュメモリ２４に保存しておく（図１４の（４））。
【０１４３】
操作部２０の設定管理部２１４は、本体部１０においてインポート処理が実行可能になったと判断すると、フラッシュメモリ２４に保存しておいたインポート要求の内容（インポートファイル）を本体部１０のＨＤＤ１４に登録する（図１４の（５））。これにより、本体部１０においてインポート処理が開始される。
【０１４４】
本体部１０の設定管理部１１２は、ユーザにより指定されたインポートファイルをアプリケーション単位に分解してＨＤＤ１４に登録する（図１４の（６））。本体部１０のインポート対象となる各アプリケーションは、ＨＤＤ１４に登録されたインポート情報に基づき、インポート処理を実行すると、インポート結果を登録する（図１４の（７））。操作部２０の設定管理部２１４は、本体部１０の設定管理部１１２からインポート要求を受け付けると、フラッシュメモリ２４から事前に作成しておいた操作部２０全体のインポート結果を取得し、ＨＤＤ１４に登録する。
【０１４５】
第１実施形態では、操作部２０において、受付部２２０がエクスポート要求又はインポート要求を受け付けたときに、実行判断部２２１が、本体部１０の動作状況を取得する。実行判断部２２１は、本体部１０の動作状況（例えば、省エネモードや設定変更できない処理の実行中等）に基づき、本体部１０でエクスポート処理又はインポート処理が実行できるか判断する。通信部２１１は、実行判断部２２１の判断結果に応じて、エクスポート要求又はインポート要求を本体部１０に送信する。従来は、本体部がエクスポート要求又はインポート要求を受け付けていたのに対して、本実施形態では、受付部２２０がエクスポート要求又はインポート要求を受け付けた上で、本体部１０に受け渡すタイミングを調整する。これにより、本体部１０は、エクスポート処理又はインポート処理が実行可能なときに、エクスポート要求又はインポート要求を受信することができる。したがって、本体部１０において、エクスポート要求又はインポート要求を受信できない等の無駄を省くことができる。これにより、設定情報のエクスポート処理及びインポート処理を効率的に実行できる。
【０１４６】
また、本体部１０で一時的にエクスポート処理又はインポート処理が実行できない場合には、アプリ制御部２２２が、操作部２０において先行してエクスポート処理又はインポート処理を操作部アプリケーションに対して実行させる。設定管理部２１４は、本体部１０の処理が実行可能になる前に、エクスポート処理又はインポート処理の処理結果を取得できるため、本体部１０から要求を受け付けてから処理を行わなくて良い。これにより、本体部１０において処理が実行可能となった後に、エクスポート処理又はインポート処理を行わなくて良いため、操作部２０での処理の時間を短縮することが可能となる。したがって、ＭＦＰ１全体での完了時間を短縮することが可能となる。
【０１４７】
＜第２実施形態＞
次に、第２実施形態について説明する。上述したインポート対象となるアプリケーションは、その種類によって、インポート処理後の設定を反映させて利用可能となるまでに様々な条件を有する場合がある。例えば、個々の設定を即時に反映して利用可能となるアプリケーションや、再起動する等の一定時間ＭＦＰ１を利用不可の状態とした後に設定を反映して利用可能となるアプリケーションがある。
【０１４８】
例えば、操作部２０の操作部アプリケーションは、操作部２０側のみの処理で設定を反映させて利用可能となるアプリケーションや、本体部１０と連携した処理を行うことで設定を反映させて利用可能となるアプリケーションがある。そこで、第２実施形態では、操作部アプリケーションのインポート処理後に、操作部アプリケーションが実行されることで提供される機能に対して、機能ごとに設定された条件に基づき、設定を反映させる処理について説明する。
【０１４９】
＜第２実施形態における操作部の機能ブロック例＞
第２実施形態では、第１実施形態と比較して、図２に示すＭＦＰ１の機能ブロックのうち、操作部２０内の構成が異なる。そこで、以下の説明では、第２実施形態における操作部の機能ブロック例について説明する。図１５は、第２実施形態における操作部の機能ブロックの一例を示す図である。なお、図１５に示す操作部２０’について、上述した第１実施形態における操作部２０と同一の構成については、同一の符号を付してここでの具体的な説明は、省略する。
【０１５０】
図１５に示す操作部２０’は、ＣＰＵ２１がプログラムを実行することで実現される機能（モジュール）である通信部２１１と、表示部２１２と、記憶部２１３と、設定管理部２１４と、反映判断部２１５と、反映処理部２１６とを備える。上記各部の一部は、ＣＰＵ２１がＲＯＭ２２又はフラッシュメモリ２４からソフトウェア（プログラム）を読み出して実行することにより、上記各部がＲＡＭ２３上にロードされ、上記各部がＲＡＭ２３上に生成されるソフトウェア（プログラム）であっても良い。また、上記各部の一部を演算処理で行うプロセッサ等のハードウェア回路で置き換えても良い。
【０１５１】
反映判断部２１５は、ＣＰＵ２１によってＲＯＭ２２から読み出した命令を実行することにより実現される。反映判断部２１５は、例えば操作部アプリケーションが実行される機能ごとに設定された条件（インポート反映条件）に基づき、インポート処理後に操作部アプリケーションにより提供される機能に対して、インポートした結果（設定情報）の反映が可能か否か判断する。なお、インポート反映条件は、記憶部２１３等に記憶されている。
【０１５２】
また、反映判断部２１５は、例えば本体部１０の機能を利用して設定情報を反映する必要がある場合、本体部１０の動作状況と対象となる機能との関係に基づき、本体部１０の機能を利用することができるか判断する。なお、反映判断部２１５は、本体部１０の動作状況に基づき、本体部１０の機能を利用できない場合には、本体部１０の現在の動作状況を変更するかユーザに問い合わせても良い。
【０１５３】
反映処理部２１６は、ＣＰＵ２１によってＲＯＭ２２から読み出した命令を実行することによりに実現される。反映処理部２１６は、反映判断部２１５によりインポート処理後に設定情報の反映が可能であると判断された場合に、提供される機能に対して設定情報の反映を実行する。反映処理部２１６は、反映判断部２１５によりインポート処理後に設定情報の反映が可能ではないと判断された場合に、例えば設定情報を反映させるための準備のみを実施して、設定情報の反映が可能な状態になった場合に反映を実行する。なお、設定情報を反映させるための準備とは、例えばインポート対象のアプリケーションに対応するフォーマット形式やファイル形式に変換する等であるが、これに限定されるものではない。
【０１５４】
＜インポート反映条件＞
図１６は、第２実施形態におけるインポート反映条件の例を示す図である。図１６の例では、例えば「提供機能」、「詳細機能」、「本体部の必要機能」、「インポートの反映」、「その他条件」等の項目を用いて、操作部アプリケーションをそれぞれ実行することで提供される機能に対するインポート反映条件について説明する。
【０１５５】
例えば、「提供機能」は、操作部アプリケーションを実行することで提供される機能等を表す。機能の一例として、「ゲーム」、「名刺コピー」、「簡単ファクス設定」、「カードで認証」、「ブラウザ」等があるが、これに限定されるものではない。
【０１５６】
また、「詳細機能」は、上述した「提供機能」を細分化した機能を表す。例えば、「ブラウザ」に対しては、詳細機能として、操作部２０によるＷｅｂ閲覧機能と、本体部１０によるＷｅｂ閲覧機能とに細分化される。
【０１５７】
また、「本体部の必要機能」は、「提供機能」が動作するために本体部１０側で必要な機能を表す。「インポートの反映」は、「提供機能」に対してインポート処理後に設定情報をすぐに反映できるか、何等かの条件（例えば、再起動）が必要であるか等を示す情報である。「その他条件」は、インポート処理後に設定情報を反映させるタイミングや、本体部１０や操作部２０’等にインポート処理を実行させる必要があるか等を示す情報である。
【０１５８】
例えば、図１６に示す「提供機能」のうち「ゲーム」は、操作部２０’の機能のみで動作する。これに対して「名刺コピー」や「簡単ファクス設定」は、本体部１０のそれぞれ「コピー」、「ファクス」の機能を利用して動作する。また、図１６に示す「提供機能」のうち「ブラウザ」は、「Ｗｅｂ閲覧」、「印刷」等の詳細機能に区別され、「Ｗｅｂ閲覧（本体ネットワーク）」の場合には、本体部１０の「ネットワーク」の機能を利用して動作し、「印刷」の場合には、本体部１０の「プリント」の機能を利用して動作する。
【０１５９】
また、図１６に示す「提供機能」のうち「ゲーム」や「名刺コピー」等は、「インポートの反映」がすぐに可能である。これに対して、「カードで認証」等は、「インポートの反映」に一旦ＭＦＰ１を再起動（リブート）する必要がある。
【０１６０】
また、図１６に示す「提供機能」のうち「簡単ファクス設定」は、本体部１０のファクス設定もインポート処理を実行しなければ最新状態にならない。このように、操作部２０’及び本体部１０両方に対してインポート処理が必要な機能もある。
【０１６１】
第２実施形態では、図１６に示すようなインポート反映条件を、操作部アプリケーションが実行されることで提供される機能ごとに設定して、操作部２０’の記憶部２１３等に保存しておく。操作部２０’の反映判断部２１５は、このインポート反映条件に基づき、インポート処理後に操作部アプリケーションにより提供される機能に対して、インポートした結果を反映できるか判断する。インポート反映条件の内容については、図１６の例に限定されるものではない。
【０１６２】
＜本体部１０の動作状況に対して対象機能が利用可能か否かの判断条件を示す例＞
図１７は、本体部の動作状況に対して対象機能が利用可能か否かの判断条件を示す図である。図１７の例では、例えば「本体部の状態」、「対象機能」、「利用可能に変更できるか」、「利用可能にする方法」等の項目を含むがこれに限定されるものではない。
【０１６３】
図１７に示す「本体部の状態」では、本体部１０が有する「対象機能」の利用が不可となる本体部１０の動作状況（実行内容）を表している。「本体部の状態」の種類としては、例えば「省エネ中」、「印刷中」、「ＨＤＤ初期化中」、「重要エラー発生」等があるが、これに限定されるものではない。
【０１６４】
図１７の例では、本体部１０の状態が「省エネ中」の場合は、「省エネ復帰（ＭＦＰ１を通常の状態（通常モード）に復帰させること）」で本体部１０が有する「対象機能」の全てが利用可能となることを表している。また、本体部１０の状態が「印刷中」の場合は、ユーザが「印刷の中断、停止、終了まで待つ」等の方法を選択することで、本体部１０が有する「コピー、プリンタ、ファクスの印刷」等の機能が利用可能となることを表している。
【０１６５】
また、本体部１０の状態が「ＨＤＤ初期化中」や「重要エラー発生」等の場合は、ユーザは現在の状態のままでは利用を継続することができないため、「ＭＦＰ１を再起動すること」で、例えばＨＤＤを使う機能や全ての機能が利用可能になることを表している。
【０１６６】
上述したように、図１７に示すような本体部１０の動作状況に対して対象機能が利用可能か否かの判断条件を設定して、操作部２０’の記憶部２１３等に保存しておく。操作部２０’の反映判断部２１５は、この本体部１０の動作状況に対して対象機能が利用可能か否かの判断条件に基づき、本体部１０の機能がすぐに利用できるか判断する。なお、対象機能が利用可能か否かの判断条件の内容については、図１７の例に限定されるものではない。
【０１６７】
＜インポート反映処理＞
図１８は、第２実施形態におけるインポート反映処理を示すフローチャートである。図１８の例では、操作部２０’の反映判断部２１５は、インポート処理が実行された操作部アプリケーションにより提供される機能に対して、予め設定されたインポート反映条件に基づき、インポートした結果（インポートした設定情報）をすぐに反映できるか判断する（ステップＳ２３１）。
【０１６８】
操作部２０’の反映判断部２１５は、インポートした結果をすぐに反映できると判断すると（ステップＳ２３１において、Ｙｅｓ）、予め設定されたインポート反映条件に基づき、本体部１０の機能を利用する必要があるか判断する（ステップＳ２３２）。操作部２０’の反映判断部２１５は、本体部１０の機能を利用する必要があると判断した場合（ステップＳ２３２において、Ｙｅｓ）、予め設定された本体部１０の動作状況に対して対象機能が利用可能か否かの判断条件に基づき、本体部１０の機能をすぐに利用できるか判断する（ステップＳ２３３）。
【０１６９】
操作部２０’の反映判断部２１５は、本体部１０の機能をすぐに利用できると判断すると（ステップＳ２３３において、Ｙｅｓ）、予め設定されたインポート反映条件に基づき、本体部１０のインポート処理は必要か判断する（ステップＳ２３４）。操作部２０’の反映判断部２１５は、本体部１０のインポート処理が必要であると判断すると（ステップＳ２３４において、Ｙｅｓ）、本体部１０のインポート処理もすぐに反映できるか判断する（ステップＳ２３５）。
【０１７０】
なお、ステップＳ２３５の処理において、操作部２０’の反映判断部２１５は、上述した図６のステップＳ１０２の処理において操作部２０’の実行判断部２２１により得られる本体部１０がインポート処理を即時実行可能かの判断結果に基づき、判断することが可能である。例えば、操作部２０’の反映判断部２１５は、操作部２０’の実行判断部２２１により本体部１０がインポート処理を即時実行可能であると判断された場合に、本体部１０のインポート処理もすぐに反映できると判断することが可能である。
【０１７１】
操作部２０’の反映判断部２１５は、本体部１０のインポート処理もすぐに反映できると判断した場合（ステップＳ２３５において、Ｙｅｓ）、又はステップＳ２３２の処理で本体部１０の機能を利用する必要がないと判断した場合（ステップＳ２３２において、Ｎｏ）、又はステップＳ２３４の処理で本体部１０へのインポートが必要ないと判断した場合（ステップＳ２３４において、Ｎｏ）、操作部２０’の反映処理部２１６は、インポート結果を反映する（ステップＳ２３６）。
【０１７２】
また、操作部２０’の反映判断部２１５は、ステップＳ２３１の処理においてすぐに反映できないと判断した場合（ステップＳ２３１において、Ｎｏ）、又はステップＳ２３３の処理で本体部１０がすぐに利用できないと判断した場合（ステップＳ２３３において、Ｎｏ）、又はステップＳ２３５の処理で本体部１０のインポート処理もすぐに反映できないと判断した場合（ステップＳ２３５において、Ｎｏ）、操作部２０’の反映処理部２１６は、準備のみ実施して反映可能な状態になった場合に反映し（ステップＳ２３７）、処理を終了する。
【０１７３】
上述したように、インポート処理が実行された操作部アプリケーションにより提供される機能に対して、すぐにインポート結果の反映ができない場合には、必要な条件がそろった後に反映する。なお、操作部２０’側のみの処理で反映できる等のインポート結果の反映がすぐにできる場合には、すぐにインポートの設定を反映した機能を提供する。
【０１７４】
＜本体部１０の機能を利用する場合の処理例＞
次に、上述した図１８のＳ２３２の処理において、本体部の機能を利用する必要がある場合の具体例について説明する。図１９は、本体部の機能を利用する場合のフローチャートである。
【０１７５】
図１９の例において、操作部２０’の反映判断部２１５は、インポート処理が実行された操作部アプリケーションにより提供される機能に対して、本体部の機能を利用する必要があるか確認する（ステップＳ２４１）。操作部２０’の反映判断部２１５は、本体部１０の機能を利用する必要があると確認した場合に、予め設定された本体部１０の動作状況に対して対象機能が利用可能か否かの判断条件に基づき、必要な本体部１０の機能が利用可能か判断する（ステップＳ２４２）。
【０１７６】
操作部２０’の反映判断部２１５は、必要な本体部１０の機能が利用可能でないと判断した場合（ステップＳ２４２において、Ｎｏ）、例えば本体部１０の動作状況を変更する（例えば「印刷中」を「印刷の停止」に変更する等）ことで利用可能に変更できるか判断する（ステップＳ２４３）。
【０１７７】
操作部２０’の反映判断部２１５は、利用可能に変更できると判断した場合（ステップＳ２４３において、Ｙｅｓ）、例えば本体部１０の動作状況を変更することで必要な本体部１０の機能を利用可能にするかユーザに問い合わせる（ステップＳ２４４）。
【０１７８】
操作部２０’の反映判断部２１５は、ユーザに問い合わせた結果がＯＫか（例えば、「印刷中」を「印刷の停止」に変更して良いか）判断する（ステップＳ２４５）。操作部２０の反映判断部２１５は、ユーザに問い合わせた結果がＯＫであると判断した場合（ステップＳ２４５において、Ｙｅｓ）、例えば本体部１０の動作状況を変更して必要な本体部１０の機能を利用可能にする（ステップＳ２４６）。
【０１７９】
また、操作部２０’の反映判断部２１５は、ステップＳ２４２の処理において必要な本体部１０の機能が利用可能であると判断した場合（ステップＳ２４２において、Ｙｅｓ）、又はステップＳ２４６の処理後、操作部２０’の反映処理部２１６は、インポート処理の設定（インポート結果）を反映する（ステップＳ２４７）。これにより、操作部２０は、インポートの設定を反映した機能を提供する（ステップＳ２４８）。
【０１８０】
また、操作部２０’の反映判断部２１５は、ステップＳ２４３の処理において、必要な本体部１０の機能が利用可能にできないと判断した場合（ステップＳ２４３において、Ｎｏ）、又はステップＳ２４５の処理においてユーザに問い合わせた結果がＯＫでないと判断した場合（ステップＳ２４５において、Ｎｏ）、操作部２０’は、インポートの設定を反映しないまま機能を提供し（ステップＳ２４８）、処理を終了する。
【０１８１】
上述したように、操作部アプリケーションが実行されることで提供される機能のうち、本体部１０の機能を利用する必要がある機能については、ユーザへの機能提供前に本体部１０の機能が利用可能と判断した場合に、インポート処理の設定を反映した機能を提供する。
【０１８２】
＜設定を反映するインポート処理全体のフローチャート＞
次に、上述した図１８及び図１９の処理に基づきインポート結果を反映する操作部２０’及び本体部１０のインポート処理全体について説明する。図２０は、操作部及び本体部のインポート処理全体のフローチャートである。
【０１８３】
図２０の例では、操作部２０’の設定管理部２１４は、操作部アプリケーションに対するインポート処理を行うと（ステップＳ２５１）、操作部２０’の実行判断部２２１は、本体部１０の動作状況に基づき、本体部１０のインポート処理が実行可能か判断する（ステップＳ２５２）。
【０１８４】
操作部２０’の設定管理部２１４は、実行判断部２２１により本体部１０のインポート処理が実行可能ではないと判断された場合（ステップＳ２５２において、Ｎｏ）、上述した図１８及び図１９の処理に基づきインポート結果が反映された利用可能な機能のみ提供し（ステップＳ２５３）、ステップＳ２５２の処理に戻る。
【０１８５】
また、操作部２０’の設定管理部２１４は、本体部１０においてインポート処理が実行可能であると判断した場合（ステップＳ２５２において、Ｙｅｓ）、本体部１０の設定管理部１１２は、操作部２０’の設定管理部２１４からの通知に基づき、本体部１０におけるインポート処理を行う（ステップＳ２５４）。
【０１８６】
操作部２０’の設定管理部２１４は、予め設定された所定の条件に基づき、全てのインポート処理を完了するために再起動が必要か判断する（ステップＳ２５５）。操作部２０’の設定管理部２１４は、再起動が必要であると判断すると（ステップＳ２５５において、Ｙｅｓ）、再起動してＯＫかユーザに問い合わせる（ステップＳ２５６）。
【０１８７】
操作部２０’の設定管理部２１４は、ユーザに問い合わせた結果がＯＫか判断する（ステップＳ２５７）。操作部２０’の設定管理部２１４は、ユーザに問い合わせた結果がＯＫではないと判断した場合（ステップＳ２５７において、Ｎｏ）、利用可能な機能のみ提供する（ステップＳ２５８）。
【０１８８】
操作部２０’の設定管理部２１４は、ユーザに問い合わせた結果がＯＫであると判断した場合（ステップＳ２５７において、Ｙｅｓ）、又はステップＳ２５８の処理の後、再起動を行う（ステップＳ２５９）。
【０１８９】
操作部２０’の設定管理部２１４は、ステップＳ２５９の再起動の後、又はステップＳ２５５の処理において、全てのインポート処理を完了するために再起動が必要ないと判断した場合（ステップＳ２５５において、Ｎｏ）、インポート結果の反映済みの機能を提供し（ステップＳ２６０）、処理を終了する。
【０１９０】
操作部２０’の設定管理部２１４は、インポート処理の後、上述した図１８及び図１９の処理に基づき、可能な限りインポート結果を反映した機能を提供する。操作部２０’の設定管理部２１４は、本体部１０においてインポート処理が実行できない状態の場合には、そのまま操作部２０’で提供可能な機能のみインポートの設定を反映した機能を提供する。また、操作部２０’の設定管理部２１４は、本体部１０においてインポート処理が実行可能になった場合には、停止していた本体部１０のインポート処理を実行させる。
【０１９１】
なお、全てのインポート処理を完了するために再起動等で一旦現在の利用を中断しなければならない場合には、その処理を行うか、又は現時点で利用可能な機能のみ提供し、後に再起動等の処理をするかユーザ等に選択させても良い。
【０１９２】
＜利用可能な機能を提供する際に行う処理の流れ＞
次に、上述した図２０のＳ２５３の処理において利用可能な機能を提供する際に行う処理について説明する。図２１は、利用可能な機能を提供する処理のフローチャートである。図２１の例では、操作部２０’の設定管理部２１４は、反映判断部２１５に操作部アプリケーションに関する問い合わせを行い（ステップＳ２６１）、操作部アプリケーションごとにインポート結果の反映が可能か判断する（ステップＳ２６２）。
【０１９３】
操作部２０’の設定管理部２１４は、インポート処理の反映が可能ではないと判断した場合（ステップＳ２６２において、Ｎｏ）、例えば図１６や図１７等を参照して、ＭＦＰ１の動作状況として、例えばインポート処理の反映にＭＦＰ１の再起動が必要か判断する（ステップＳ２６３）。操作部２０’の設定管理部２１４は、ＭＦＰ１の再起動が必要であると判断した場合（ステップＳ２６３において、Ｙｅｓ）、再起動が必要な操作部アプリケーションについては利用不可の状態（例えば、操作パネルに利用不可の通知を行う）にする（ステップＳ２６４）。
【０１９４】
また、操作部２０’の設定管理部２１４は、インポート処理の反映が可能であると判断した場合（ステップＳ２６２において、Ｙｅｓ）、又はステップＳ２６３の処理においてインポート処理の反映にＭＦＰ１の再起動が必要ないと判断した場合（ステップＳ２６３において、Ｎｏ）、その操作部アプリケーションについては利用可能な状態とし（ステップＳ２６５）、処理を終了する。これにより、ユーザに対して現時点における提供可能な機能と提供できない機能とを提示することが可能となる。
【０１９５】
第２実施形態では、操作部２０’において操作部アプリケーションのインポート処理後に、操作部アプリケーションが実行されることで提供される機能に対して、機能ごとに設定された条件に基づき、設定を反映させておく。これにより、本体部を含むＭＦＰ全体のインポート処理が実行可能にならずとも、利用可能な機能から設定を反映できる。したがって、ＭＦＰ全体としてインポート処理が完了する前に、操作部２０’においてユーザに最新の設定情報が反映された機能を提供することが可能となる。
【０１９６】
上述した第１実施形態及び第２実施形態によれば、設定情報の入出力処理を効率的に実行することが可能となる。
【０１９７】
なお、本実施形態の装置（画像形成装置）で実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、本実施形態の装置で実行されるプログラムは、インストール可能な形式や実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成しても良い。
【０１９８】
また、本実施形態の装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の装置で実行されるプログラムをインターネット等のネットワーク経由で提供や配布するように構成しても良い。
【０１９９】
本実施形態の装置で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成される。上述した各部の機能のうちの一部又は全部が、専用のハードウェア回路で実現されても良い。
【０２００】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【符号の説明】
【０２０１】
１  ＭＦＰ
１０  本体部（第２のユニットの一例）
１１、２１  ＣＰＵ
１２、２２  ＲＯＭ
１３、２３  ＲＡＭ
１４  ＨＤＤ
１５、２５  通信Ｉ／Ｆ
１６、２６  接続Ｉ／Ｆ
１７  エンジン部
１８  システムバス
２０  操作部（第１のユニットの一例）
２４  フラッシュメモリ
２７  操作パネル
２８  外部接続Ｉ／Ｆ
２９  システムバス
３０  ネットワーク
４０  通信路
１１１、２１１  通信部
１１２、２１４  設定管理部
１１３、２１３  記憶部
２１５  反映判断部
２１６  反映処理部
２２０  受付部
２２１  実行判断部
２２２  アプリ制御部
【先行技術文献】
【特許文献】
【０２０２】
【特許文献１】特開２０１２−２２６６６２号公報
【図１】
0006714805.tif 000002
【図２】
0006714805.tif 000003
【図３】
0006714805.tif 000004
【図４】
0006714805.tif 000005
【図５】
0006714805.tif 000006
【図６】
0006714805.tif 000007
【図７】
0006714805.tif 000008
【図８】
0006714805.tif 000009
【図９】
0006714805.tif 000010
【図１０】
0006714805.tif 000011
【図１１】
0006714805.tif 000012
【図１２】
0006714805.tif 000013
【図１３】
0006714805.tif 000014
【図１４】
0006714805.tif 000015
【図１５】
0006714805.tif 000016
【図１６】
0006714805.tif 000017
【図１７】
0006714805.tif 000018
【図１８】
0006714805.tif 000019
【図１９】
0006714805.tif 000020
【図２０】
0006714805.tif 000021
【図２１】
0006714805.tif 000022