(57)【要約】【課題】アプリケーションを利用する機器に対して、アプリケーションに関する処理を、自動で効率よく実施することができる画像形成装置、情報処理システム、電子機器および情報処理方法を提供する。【解決手段】本発明の画像形成装置は、ネットワークを介してサーバと通信可能な画像形成装置であって、予めサーバに予約設定された、アプリケーションに関する処理であるアプリケーション処理に基づいて、画像形成装置に対してインストール済みおよび未インストールの少なくともいずれかである１以上のアプリケーションのうち、アプリケーション処理が必要と判断されるアプリケーションを示すアプリケーション処理情報をサーバから取得するアプリケーション処理情報取得部と、アプリケーション処理情報取得部により取得されたアプリケーション処理情報が示すアプリケーションに対するアプリケーション処理の制御を行うアプリケーション処理制御部と、を備える。【選択図】図７
2019211876.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバと通信可能な画像形成装置であって、
予め前記サーバに予約設定された、アプリケーションに関する処理であるアプリケーション処理に基づいて、前記画像形成装置に対してインストール済みおよび未インストールの少なくともいずれかである１以上のアプリケーションのうち、該アプリケーション処理が必要と判断されるアプリケーションを示すアプリケーション処理情報を前記サーバから取得するアプリケーション処理情報取得部と、
前記アプリケーション処理情報取得部により取得された前記アプリケーション処理情報が示すアプリケーションに対する前記アプリケーション処理の制御を行うアプリケーション処理制御部と、
を備えた画像形成装置。
【請求項２】
前記アプリケーション処理情報取得部は、前記アプリケーション処理を実行するタイミングである処理タイミングに到達した場合に、前記アプリケーション処理情報を要求する取得要求を前記サーバへ送信し、該取得要求の応答として、前記アプリケーション処理情報を前記サーバから取得する請求項１に記載の画像形成装置。
【請求項３】
所定の処理時間帯に基づいて、前記処理タイミングを設定する設定部と、
前記設定部により設定された前記処理タイミングに到達したか否かを監視する監視部と、
をさらに備え、
前記監視部は、前記処理タイミングに到達した場合に、その旨の通知を前記アプリケーション処理情報取得部に対して行い、
前記アプリケーション処理情報取得部は、前記通知を受けた場合に、前記取得要求を前記サーバへ送信する請求項２に記載の画像形成装置。
【請求項４】
前記設定部は、前記処理時間帯の範囲でランダムに時刻を選択し、選択した前記時刻を前記処理タイミングとして設定する請求項３に記載の画像形成装置。
【請求項５】
前記アプリケーション処理情報取得部は、予め前記サーバに予約設定された前記アプリケーション処理としてのインストール、更新およびアンインストールのうち、少なくともいずれかの実行が必要と判断されるアプリケーションを示す前記アプリケーション処理情報を前記サーバから取得する請求項１〜４のいずれか一項に記載の画像形成装置。
【請求項６】
前記アプリケーション処理情報取得部により取得された前記アプリケーション処理情報が、前記アプリケーション処理を必要とするアプリケーションが存在することを示す場合、その旨を報知する報知メッセージを表示部に表示させる制御を行う報知メッセージ表示制御部をさらに備えた請求項１〜５のいずれか一項に記載の画像形成装置。
【請求項７】
ユーザの操作を受け付ける操作部と、本体と、を備え、
前記操作部は、
前記アプリケーション処理情報取得部と、前記アプリケーション処理制御部と、を少なくとも備え、
前記本体は、
記録媒体上に画像を形成する画像形成部を少なくとも備えた請求項１〜６のいずれか一項に記載の画像形成装置。
【請求項８】
前記操作部は、該操作部が前記ユーザの操作を受け付けていない状態が所定期間継続した場合、該操作部の状態を、該操作部が通常動作可能な操作部通常状態よりも消費電力が小さい操作部省エネ状態に遷移させる制御を行う第１の省エネ制御部を備え、
前記本体は、該本体が画像処理を実行しないアイドル状態が所定期間継続した場合、該本体の状態を、該本体が通常動作可能な本体通常状態よりも消費電力が小さい本体省エネ状態に遷移させる制御を行う第２の省エネ制御部を備え、
前記操作部が前記操作部省エネ状態であり、かつ、前記本体が前記本体省エネ状態のときに前記アプリケーション処理を実行するタイミングに到達した場合、前記第１の省エネ制御部は、前記操作部を前記操作部通常状態に復帰させ、前記第２の省エネ制御部は、前記本体を前記本体省エネ状態に維持する請求項７に記載の画像形成装置。
【請求項９】
前記アプリケーション処理情報が示すアプリケーションを利用するためにファームウェアの更新が必要な場合、前記ファームウェアを更新する制御を行うファームウェア更新制御部をさらに備えた請求項１〜８のいずれか一項に記載の画像形成装置。
【請求項１０】
サーバと、前記サーバと通信可能な画像形成装置と、を含む情報処理システムであって、
前記画像形成装置は、
予め前記サーバに予約設定された、アプリケーションに関する処理であるアプリケーション処理に基づいて、前記画像形成装置に対してインストール済みおよび未インストールの少なくともいずれかである１以上のアプリケーションのうち、該アプリケーション処理が必要と判断されるアプリケーションを示すアプリケーション処理情報を要求する取得要求を前記サーバへ送信し、前記取得要求の応答として、前記アプリケーション処理情報を前記サーバから取得するアプリケーション処理情報取得部と、
前記アプリケーション処理情報取得部により取得された前記アプリケーション処理情報が示すアプリケーションに対する前記アプリケーション処理の制御を行うアプリケーション処理制御部と、
を備え、
前記サーバは、
前記画像形成装置から前記取得要求を受信した場合に、前記アプリケーション処理が必要なアプリケーションの有無を判断する判断部と、
前記判断部により、前記アプリケーション処理が必要なアプリケーションが存在すると判断された場合、前記取得要求への応答として、前記アプリケーション処理情報を前記画像形成装置へ送信するアプリケーション処理情報送信部と、
を備えた情報処理システム。
【請求項１１】
ネットワークを介してサーバと通信可能な電子機器であって、
予め前記サーバに予約設定された、アプリケーションに関する処理であるアプリケーション処理に基づいて、前記電子機器に対してインストール済みおよび未インストールの少なくともいずれかである１以上のアプリケーションのうち、該アプリケーション処理が必要と判断されるアプリケーションを示すアプリケーション処理情報を前記サーバから取得するアプリケーション処理情報取得部と、
前記アプリケーション処理情報取得部により取得された前記アプリケーション処理情報が示すアプリケーションに対する前記アプリケーション処理の制御を行うアプリケーション処理制御部と、
を備えた電子機器。
【請求項１２】
ネットワークを介してサーバと通信可能な画像形成装置による情報処理方法であって、
予め前記サーバに予約設定された、アプリケーションに関する処理であるアプリケーション処理に基づいて、前記画像形成装置に対してインストール済みおよび未インストールの少なくともいずれかである１以上のアプリケーションのうち、該アプリケーション処理が必要と判断されるアプリケーションを示すアプリケーション処理情報を前記サーバから取得するアプリケーション処理情報取得ステップと、
取得した前記アプリケーション処理情報が示すアプリケーションに対する前記アプリケーション処理の制御を行うアプリケーション処理制御ステップと、
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理システム、電子機器および情報処理方法に関する。
【背景技術】
【０００２】
従来、画像形成装置の一例である複合機（ＭＦＰ：Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）において、アプリケーションをウェブページからダウンロードしてインストールする仕組みが知られている（例えば、特許文献１等）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術では、画像形成装置等を含む電子機器にアプリケーションのインストール、更新、およびアンインストール等を行うアプリケーションに関する処理（以下、アプリケーション処理と称する場合がある）を、当該電子機器に対するユーザの入力操作によって行わなければならない。すなわち、上述の処理を、自動で効率良く実施することができないという問題があった。
【０００４】
本発明は、上記に鑑みてなされたものであり、アプリケーションを利用する機器に対して、アプリケーションに関する処理を、自動で効率よく実施することができる画像形成装置、情報処理システム、電子機器および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介してサーバと通信可能な画像形成装置であって、予め前記サーバに予約設定された、アプリケーションに関する処理であるアプリケーション処理に基づいて、前記画像形成装置に対してインストール済みおよび未インストールの少なくともいずれかである１以上のアプリケーションのうち、該アプリケーション処理が必要と判断されるアプリケーションを示すアプリケーション処理情報を前記サーバから取得するアプリケーション処理情報取得部と、前記アプリケーション処理情報取得部により取得された前記アプリケーション処理情報が示すアプリケーションに対する前記アプリケーション処理の制御を行うアプリケーション処理制御部と、を備える。
【発明の効果】
【０００６】
本発明によれば、アプリケーションを利用する機器に対して、アプリケーションに関する処理を、自動で効率よく実施することができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、情報処理システムの構成の一例を示す図である。
【図２】図２は、アプリケーション一覧画面（Ｗｅｂページ）の一例を示す図である。
【図３】図３は、ＭＦＰのハードウェア構成の一例を示す図である。
【図４】図４は、ＭＦＰのソフトウェア構成の一例を示す図である。
【図５】図５は、本体および操作部のソフトウェア構成を説明するための図である。
【図６】図６は、操作部の通信方法を説明するための図である。
【図７】図７は、第１の実施形態の操作部の機能ブロック構成の一例を示す図である。
【図８】図８は、操作画面の一例を示す図である。
【図９】図９は、ＵＲＬスキームの一例を示す図である。
【図１０】図１０は、管理メニュー画面の一例を示す図である。
【図１１】図１１は、自動アプリケーション処理設定画面の一例を示す図である。
【図１２】図１２は、処理時刻設定画面の一例を示す図である。
【図１３】図１３は、更新禁止設定画面の一例を示す図である。
【図１４】図１４は、インストーラの機能ブロック構成の一例を示す図である。
【図１５】図１５は、ファームウェア更新画面の一例を示す図である。
【図１６】図１６は、第１の制御部の機能ブロック構成の一例を示す図である。
【図１７】図１７は、第３の制御部の機能ブロック構成の一例を示す図である。
【図１８】図１８は、第２の制御部の機能ブロック構成の一例を示す図である。
【図１９】図１９は、ファームウェアの更新手順を説明するための図である。
【図２０】図２０は、ファームウェアの更新手順を説明するための図である。
【図２１】図２１は、ファームウェアの更新手順を説明するための図である。
【図２２】図２２は、ファームウェアの更新手順を説明するための図である。
【図２３】図２３は、ファームウェアの更新手順を説明するための図である。
【図２４】図２４は、報知メッセージの一例を示す図である。
【図２５】図２５は、アプリマーケットサーバのハードウェア構成の一例を示す図である。
【図２６】図２６は、アプリマーケットサーバの機能ブロック構成の一例を示す図である。
【図２７】図２７は、アプリケーションサーバが機能ブロック構成の一例を示す図である。
【図２８】図２８は、対応情報の一例を示す図である。
【図２９】図２９は、ファームウェア配信サーバの機能ブロック構成の一例を示す図である。
【図３０】図３０は、ウェブアプリサーバの機能ブロック構成の一例を示す図である。
【図３１】図３１は、設定用ＰＣの機能ブロック構成の一例を示す図である。
【図３２】図３２は、機器一覧画面の一例を示す図である。
【図３３】図３３は、処理可能アプリケーション一覧画面の一例を示す図である。
【図３４】図３４は、ユーザから処理時刻の設定入力を受け付けた場合のＭＦＰの動作手順の一例を示すシーケンス図である。
【図３５】図３５は、ＭＦＰの起動時の動作手順の一例を示すシーケンス図である。
【図３６】図３６は、アプリケーション処理の予約設定動作手順の一例を示すシーケンス図である。
【図３７】図３７は、自動アプリケーション処理の動作手順の一例を示すシーケンス図である。
【図３８】図３８は、ファームウェアの更新動作手順の一例を示すシーケンス図である。
【図３９】図３９は、アプリケーション処理の完了後の動作手順の一例を示すシーケンス図である。
【図４０】図４０は、報知メッセージの一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る画像形成装置、情報処理システム、電子機器および情報処理方法を詳細に説明する。以下では、本発明に係る画像形成装置の一例として、複合機（ＭＦＰ）を例に挙げて説明するが、これに限られるものではない。なお、複合機とは、コピー機能、スキャナ機能、プリンタ機能、およびファクス機能等の複数の異なる機能を有する装置である。
【０００９】
［第１の実施形態］
（情報処理システムの構成）
図１は、情報処理システムの構成の一例を示す図である。図２は、アプリケーション一覧画面（Ｗｅｂページ）の一例を示す図である。図１および図２を参照しながら、情報処理システム１００の構成等について説明する。
【００１０】
図１に示すように、情報処理システム１００は、ＭＦＰ１と、アプリマーケットサーバ２と、アプリケーションサーバ３と、ファームウェア配信サーバ４と、ウェブアプリサーバ５と、設定用ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）６と、を有し、これらはネットワーク８を介して相互に接続される。
【００１１】
アプリマーケットサーバ２は、複数のアプリケーションごとに、当該アプリケーションをＭＦＰ１に導入する命令の一例であるインストール命令が対応付けられたアプリケーション一覧画面を、ＭＦＰ１へ提供する。図２の例では、アプリケーション一覧画面は、複数のアプリケーションごとに、当該アプリケーションの内容を説明する説明情報と、当該アプリケーションのインストールを指示するためのインストールボタン５０とが表示される。ユーザが、ＭＦＰ１に表示されたアプリケーション一覧画面の中から、所望のアプリケーションのインストールボタン５０を押下することで、該アプリケーションがダウンロードされ、ＭＦＰ１にインストールされる。ＭＦＰ１の具体的な内容については後述する。また、このようにアプリケーション一覧画面における操作によって、手動によるアプリケーションのインストールを行うことも可能であるが、本実施形態では、自動でアプリケーションのインストール等の処理（アプリケーション処理）を行うことを可能とし、当該処理の詳細については後述する。
【００１２】
アプリケーションサーバ３は、アプリケーション一覧画面で表示されているアプリケーションを保持し、ＭＦＰ１からの要求に応じて、アプリケーションを配信する。具体的には、アプリケーションサーバ３が保持しているアプリケーションは、ネイティブアプリケーションである。また、アプリケーションサーバ３は、ＭＦＰ１から提示されたアプリケーションを該ＭＦＰ１で利用できるか否かを判定する妥当性判定（詳しくは後述する）を行う。
【００１３】
ファームウェア配信サーバ４は、ＭＦＰ１からの要求に応じて、ＭＦＰ１の動作を制御するファームウェアを配信する。より具体的な内容については後述する。
【００１４】
ウェブアプリサーバ５は、アプリケーション一覧画面等で表示されているウェブアプリケーションのコンテンツを保持し、ＭＰＦ１から当該ウェブアプリケーションの実行要求に応じて、当該コンテンツを配信する。
【００１５】
設定用ＰＣ６は、特定の電子機器（例えば、ＭＦＰ１）に対して、アプリケーションのインストール、更新、およびアンインストール等を行うアプリケーション処理の予約設定を行うための情報処理装置である。
【００１６】
（ＭＦＰのハードウェア構成）
図３は、ＭＦＰのハードウェア構成の一例を示す図である。図３を用いて、ＭＦＰ１のハードウェア構成について説明する。
【００１７】
図３に示すように、ＭＦＰ１は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能等の各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む概念である。ここでは、操作部２０は、本体１０に操作指示するためのデバイスでもある。本体１０と操作部２０とは、専用の通信路３０を介して相互に通信可能に接続されている。通信路３０は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００１８】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。本体１０は、記録媒体（例えば、用紙）上に画像を形成する画像形成部を少なくとも備える。本体１０の詳細な構成は後述する。
【００１９】
まず、本体１０のハードウェア構成について説明する。図３に示すように、本体１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｓｅｃｃｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１５と、接続Ｉ／Ｆ１６と、エンジン部１７と、を備え、これらがシステムバス１８を介して相互に接続されている。
【００２０】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４等に格納されたプログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能等の各種機能を実現する。
【００２１】
通信Ｉ／Ｆ１５は、ネットワーク８と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。
【００２２】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部等を備えている。さらに、印刷済みシート材を仕分けるフィニッシャ、または、原稿を自動給送するＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ：自動原稿給送装置）のような特定のオプションを備えることもできる。ここでは、本体１０は、プリンタまたはスキャナを備える形態であればよい。
【００２３】
次に、操作部２０のハードウェア構成について説明する。図３に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７とを備え、これらがシステムバス２８を介して相互に接続されている。
【００２４】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）としてＲＯＭ２２またはフラッシュメモリ２４等に格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示等の後述する各種機能を実現する。
【００２５】
通信Ｉ／Ｆ２５はネットワーク８に接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３０を介して本体１０と通信するためのインタフェースである。操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば、受け付けた操作に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態等を示す情報等）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られるものではない。例えば、タッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００２６】
（ＭＦＰのソフトウェア構成）
図４は、ＭＦＰのソフトウェア構成の一例を示す図である。図４を用いて、ＭＦＰ１のソフトウェア構成について説明する。
【００２７】
図４に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ（Ｏｐｅｒａｔｉｇｎ  Ｓｙｓｔｅｍ）層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２またはＨＤＤ１４等に格納されている各種ソフトウェアである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００２８】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、単に「アプリ」と称する場合がある）である。例えば、アプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリ等が挙げられる。
【００２９】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００３０】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１にも提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えば、エンジン部１７）を利用した機能を実現することができる。例えば、サービス層１０２のインタフェース機能は、ＷｅｂＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）で提供される。
【００３１】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム（ＯＳ））である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
【００３２】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２およびＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。
【００３３】
アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能）に関する操作や表示を行うためのＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の機能を提供するためのソフトウェアである。この例では、アプリ層２０１のアプリには、アプリケーション一覧画面を取得する機能を提供するアプリマーケットアプリ等も含まれる。また、サービス層２０２のソフトウェアは、コンピュータのハードウェアを管理、制御する等、コンピュータの稼動および使用そのものをサポートするためのシステムソフトウェアであると考えることができる。サービス層２０２のソフトウェア（システムソフトウェア）には、アプリケーションのインストールおよびファームウェアの更新を行うためのインストーラ等が含まれる。
【００３４】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアとが互いに異なる。つまり、本体１０および操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば、本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００３５】
以上のように、本実施形態のＭＦＰ１において、本体１０および操作部２０は、別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）、および、本体１０が操作部２０へイベントを通知する動作等がこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、および、本体１０側で設定された内容等が挙げられる。
【００３６】
また、本実施形態では、操作部２０に対する電力供給は、本体１０から通信路３０を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００３７】
図５は、本体および操作部のソフトウェア構成を説明するための図である。図５に示すように、本体１０は、ＣＰＵ１１等が搭載されたコントローラ３１と、エンジン部１７と、を備える。
【００３８】
コントローラ３１は、ＷｅｂＡＰＩサービス（Ｗｅｂサーバ）３０１、アプリ層１０１の本体アプリ（コピーアプリ３０２、スキャンアプリ３０３、プリントアプリ３０４、ＦＡＸアプリ３０５等）、サービス層１０２のシステムソフトウェア（エンジンコントロールサービス３１１（以下、「ＥＣＳ３１１」と称する）、システムコントロールサービス３１２（以下、「ＳＣＳ３１２」と称する）、ネットワークコントロールサービス３１３（以下、「ＮＣＳ３１３」と称する）等）、および、ＯＳ層１０３等を有する。これらの機能は、ＣＰＵ１１が各種プログラムを実行することにより提供される。
【００３９】
ＷｅｂＡＰＩサービス３０１は、操作部２０または外部端末からの要求を受け付け、本体アプリが解釈できる情報（要求情報）に変換して、対応する本体アプリに振り分ける（ディスパッチする）。本体アプリは、ＷｅｂＡＰＩサービス３０１からの要求情報を受けると、本体内部ＡＰＩ３１５を用いて各サービス経由でエンジン部１７にジョブ等の処理を実行させる。
【００４０】
ＥＣＳ３１１は、エンジン部１７の管理および調停等を行うサービスモジュールである。ＳＣＳ３１２は、ＭＦＰ１の省エネ制御（詳しくは後述）、およびジョブの管理等を行うためのサービスモジュールである。ＮＣＳ３１３は、通信制御（ネットワーク制御）等を行うためのサービスモジュールである。
【００４１】
例えば、本体１０のコピーアプリ３０２は、ＷｅｂＡＰＩサービス３０１からコピー要求（操作部２０のアプリ（コピーアプリ）からのコピー要求に基づく）を受けると、本体内部ＡＰＩ３１５を用いてＥＣＳ３１１経由で、エンジン部１７にコピージョブを実行させる。
【００４２】
なお、操作部２０のアプリから本体のＳＣＳ３１２を利用する場合は、操作部２０と本体１０との間の通信モジュール（コントローラ３１が有する、操作部アプリとＳＣＳ３１２との間の通信の橋渡し役を果たすモジュール）を利用し、ＡＰＩ（ＷｅｂＡＰＩサービス３０１および本体内部ＡＰＩ３１５）は利用しない。
【００４３】
図６は、操作部の通信方法を説明するための図である。図５および図６を用いて、本体１０のＯＳ層１０３が有するＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ    ）機能３２０について説明する。
【００４４】
操作部２０は、本体１０のＯＳ層１０３が有するＮＡＰＴ機能３２０を介して、ネットワーク８を利用することができる。例えば、図６に示すように、操作部２０のネットワーク機能（ＣＰＵ１１がアプリ等のプログラムを実行して通信Ｉ／Ｆ２５を制御することにより実現）が、本体１０を介して外部サーバと通信する場合を想定する。この例では、操作部２０のデータ通信を行うアプリケーションのポート番号は「ＳＲＣＰＯＲＴ＿Ａ」であり、操作部２０のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスは「ＳＲＣＩＰ＿Ａ」とする。
【００４５】
操作部２０のアプリケーションから外部サーバのアプリケーションへデータを送信する場合を想定する。ここでは、外部サーバのデータ通信を行うアプリケーションのポート番号は「ＤＳＴＰＯＲＴ＿Ａ」であり、外部サーバのＩＰアドレスは「ＤＳＴＩＰ＿Ａ」とする。この場合、ＮＡＰＴ機能３２０は、送信元（操作部２０）のポート番号およびＩＰアドレスを、それぞれ本体１０側のポート番号（ＳＲＣＰＯＲＴ＿Ｂ）およびＩＰアドレス（ＳＲＣＩＰ＿Ｂ）に変換し、変換後のポート番号およびＩＰアドレスを送信元として外部サーバへデータ送信する。
【００４６】
反対に、操作部２０のアプリケーションが外部サーバのアプリケーションからデータを受信する場合は、ＮＡＰＴ機能３２０は、外部サーバのデータ送信先（本体１０）のポート番号およびＩＰアドレスを、それぞれ操作部２０側のポート番号（ＳＲＣＰＯＲＴ＿Ａ）およびＩＰアドレス（ＳＲＣＩＰ＿Ａ）に変換し、外部サーバから受信したデータを操作部２０へ渡す。
【００４７】
図５の例では、操作部２０のアプリマーケットアプリ２０５は、本体１０のＮＡＰＴ機能３２０を利用して、アプリマーケットサーバ２からアプリケーション一覧画面を取得する。そして、いずれかのアプリケーションのインストールボタン５０が押下されると、操作部２０のインストーラ２２１が起動し、インストーラ２２１は、ＮＡＰＴ機能３２０を利用して、アプリケーションサーバ３からアプリケーションをダウンロードし、インストールする。このようにして、操作部２０へのアプリ追加を随時行うことができる。
【００４８】
（操作部の機能ブロックの構成および動作）
図７は、第１の実施形態の操作部の機能ブロック構成の一例を示す図である。説明の便宜上、図７では、本発明に関する機能を主に例示しているが、操作部２０が有する機能は、これらに限られるものではない。
【００４９】
図７に示すように、操作部２０は、アプリマーケットアプリ２０５と、システムソフトウェア２０６と、を備える。アプリマーケットアプリ２０５は、アプリケーション一覧画面制御部２１１、通知受付部２１２、設定ＵＩ部２１３、およびアプリケーション処理実行部２２０の各々の機能を提供する。この例では、アプリケーション処理実行部２２０は、設定部２１４、アプリケーション処理情報取得部２１５、アプリケーション処理制御部２１６、報知メッセージ通知部２１７および機器情報制御部２１８を含み、アプリマーケットアプリ２０５のスレッドとして実装される。これらの機能は、操作部２０のＣＰＵ２１がアプリマーケットアプリ２０５を実行することにより実現される。
【００５０】
システムソフトウェア２０６は、インストーラ２２１、監視モジュール２２２、報知メッセージ表示モジュール２２３、およびランチャ２２４の各々の機能を提供する。これらの機能は、操作部２０のＣＰＵ２１がシステムソフトウェア２０６を実行することにより実現される。
【００５１】
アプリケーション一覧画面制御部２１１は、アプリマーケットサーバ２からアプリケーション一覧画面を取得し、取得したアプリケーション一覧画面を操作パネル２７に表示する制御を行う。なお、前述したように、アプリケーション一覧画面制御部２１１は、本体１０のＮＡＰＴ機能３２０を介して、アプリマーケットサーバ２と通信する。
【００５２】
図８は、操作画面の一例を示す図である。図９は、ＵＲＬスキームの一例を示す図である。本実施形態では、ユーザが、図８に示すような、各種の操作を受け付ける操作画面上のアプリマーケットアプリ２０５を起動するためのアイコン５１をタッチすると、アプリマーケットアプリ２０５が起動する。そして、アプリケーション一覧画面制御部２１１は、アプリケーション一覧画面を要求する信号（以下、「表示リクエスト」と称する場合がある）をアプリマーケットサーバ２に送信する。そして、アプリケーション一覧画面制御部２１１は、その応答として、アプリマーケットサーバ２から、図２に示すようなアプリケーション一覧画面を取得し、操作パネル２７に表示する。この例では、インストール命令の実行手順を記述したＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）スキームが、インストールボタン５０に貼り付けられている。
【００５３】
図９では、「４９３５４」というＩＤ（アプリＩＤ）で識別されるアプリケーションに対応するインストールボタン５０に貼り付けられたＵＲＬスキームの一例が示されている。図９における「Ｉｎｓｔａｌｌｅｒ」の部分は、ＵＲＬスキームのヘッダ部分であり、以下では、ＵＲＬスキームのヘッダ部分を「スキーム部分」と称する場合がある。「Ｉｎｓｔａｌｌｅｒ」というスキーム部分は、インストール命令を実行するアプリケーションを識別するための情報を表し、この例では、ＭＦＰ１に搭載されたインストーラを表している。また、図９における「ｉｎｓｔａｌｌＡｐｐ？ｉｄ＝４９３５４」のうち「ｉｎｓｔａｌｌＡｐｐ」の部分はインストール命令であり、そのインストール命令の引数が「ｉｄ＝４９３５４」である。これは、「４９３５４」というＩＤで識別されるアプリケーションのインストール命令を表している。つまり、命令の具体的な内容を表す部分である。
【００５４】
図９に示すＵＲＬスキームは、インストール命令の実行手順をＵＲＬ形式で記述した情報であり、このＵＲＬスキームが貼り付けられたインストールボタン５０が押下されると、インストーラ２２１が起動し、起動したインストーラ２２１が、「４９３５４」というＩＤで識別されるアプリケーションをインストールする命令を実行することになる。具体的には、インストーラ２２１は、該アプリケーションのダウンロードをアプリケーションサーバ３に要求し、アプリケーションサーバ３から該アプリケーションをダウンロードする。そして、インストーラ２２１は、そのダウンロードしたアプリケーションをＭＦＰ１にインストールする。なお、前述したように、インストーラ２２１は、本体１０のＮＡＰＴ機能３２０を介して、アプリケーションサーバ３と通信する。
【００５５】
図１０は、管理メニュー画面の一例を示す図である。図１１は、自動アプリケーション処理設定画面の一例を示す図である。図１２は、処理時刻設定画面の一例を示す図である。図１３は、更新禁止設定画面の一例を示す図である。図７に戻りつつ、図１０〜図１３を用いて説明を続ける。
【００５６】
通知受付部２１２は、後述する監視モジュール２２２からの通知を受け付ける。通知受付部２１２は、レシーバとして機能する。
【００５７】
設定ＵＩ部２１３は、設定に必要な画面を操作パネル２７に表示する。例えば、設定ＵＩ部２１３は、図１０に示すような管理メニュー画面を操作パネル２７に表示する。そして、管理メニュー画面の「自動アプリケーション処理」ボタンの押下を受け付けた場合、設定ＵＩ部２１３は、図１１に示すような自動アプリケーション処理設定画面を操作パネル２７に表示する。この例では、自動アプリケーション処理設定画面から、インストール済みおよび未インストールのアプリケーションに対する自動アプリケーション処理の設定を有効にすることを示す「ＯＮ」の選択を受け付けた場合、自動アプリケーション処理の設定が有効になる。
【００５８】
一方、自動アプリケーション処理を無効にすることを示す「ＯＦＦ」の選択を受け付けた場合、自動アプリケーション処理の設定は無効になる。また、自動アプリケーション処理設定画面から、「処理時刻」ボタンの押下を受け付けた場合、設定ＵＩ部２１３は、図１２に示すような処理時刻設定画面を操作パネル２７に表示し、処理時刻（自動アプリケーション処理が実行される時刻）の設定を受け付けることができる。
【００５９】
図７に示すように、アプリケーション処理実行部２２０は、上述のように、設定部２１４、アプリケーション処理情報取得部２１５、アプリケーション処理制御部２１６、報知メッセージ通知部２１７および機器情報制御部２１８を含む。
【００６０】
設定部２１４は、設定ＵＩ部２１３により表示された画面で受け付けた入力に応じて、各種の設定を行う（設定のための制御を含む）。設定部２１４は、予め設定された処理時間帯に基づいて、アプリケーション処理を実施するタイミングを示す処理タイミング（処理時刻）を設定する。この例では、設定部２１４は、ユーザにより指定された時刻から２時間後までの時間帯を「処理時間帯」として設定するが、これに限られるものではない。以上のようにして、予め処理時間帯が設定される。設定部２１４は、予め設定された処理時間帯の範囲でランダムに時刻を選択し、その選択した時刻を処理タイミングとして設定することができる。この例では、設定部２１４は、１５分間隔でランダムに処理タイミングを決定する。これによって、同様のアプリケーション処理を行う他のＭＦＰとの関係で、当該アプリケーション処理の実行タイミングをずらすことができ、各サーバ（アプリマーケットサーバ２、アプリケーションサーバ３、ファームウェア配信サーバ４、およびウェブアプリサーバ５）の負荷の集中を抑制し、ネットワーク８のトラフィックを軽減することができる。
【００６１】
なお、図１２に示す処理時刻設定画面では、指定した処理時刻から２時間後までの時間帯を処理時間帯として設定するものとしているが、２時間後までに限定されるものではない。この場合、処理時間帯を処理時刻から何時間後までにするかを設定可能としてもよい。また、上述の例では、処理タイミングとして１５分間隔でランダムに決定しているものとしているが、これに限定されず、他の時間間隔でランダムに決定されるものとしてもよく、当該時間間隔を設定可能とするものとしてもよい。
【００６２】
また、この例では、図１０に示す管理メニュー画面の「更新禁止設定」ボタンの押下を受け付けた場合、設定部２１４は、図１３に示すような更新禁止設定画面を操作パネル２７に表示する。ユーザは、アプリケーションごとに、自動アプリケーション処理のうち自動更新の可否を決めることができ、自動更新を禁止したいアプリケーションについては、「禁止する」を選択する。この選択を受け付けた設定部２１４は、そのアプリケーションを自動更新の対象から外すように設定する。
【００６３】
図７に戻って説明を続ける。設定部２１４は、以上のようにして設定した処理タイミングを監視モジュール２２２へ通知する。監視モジュール２２２は、設定部２１４により設定された処理タイミング（設定部２１４から通知された処理タイミング）に到達したか否かを監視する。監視モジュール２２２は、処理タイミングに到達した場合に、その旨をアプリマーケットアプリ２０５（通知受付部２１２）へ通知する。また、この例では、監視モジュール２２２は、ＭＦＰ１が起動すると、ＭＦＰ１が起動したことを示す起動通知をアプリマーケットアプリ２０５（通知受付部２１２）へ通知する。さらに、この例では、監視モジュール２２２は、操作部２０がユーザの操作を受け付けていない状態が所定期間継続した場合、操作部２０の状態を、通常時（操作部２０が画面を表示し、ユーザの操作を受け付け可能な状態）よりも消費電力が少ない省エネ状態（スリープモード）に移行させる。例えば、監視モジュール２２２は、ＣＰＵ２１の動作を停止させてもよい。
【００６４】
ここで、監視モジュール２２２とＳＣＳ３１２との組み合わせが、「設定部２１４により設定された処理タイミングに到達したか否かを監視する機能（監視部）」に相当すると考えてもよいし、監視モジュール２２２およびＳＣＳ３１２のうちの一方が、上記機能（監視部）に相当すると考えてもよい。
【００６５】
アプリケーション処理情報取得部２１５は、ＭＦＰ１（操作部２０）にインストール済みおよび未インストールの１以上のアプリケーションのうち、アプリケーション処理（すなわち、インストール、更新、およびアンインストール）が必要なアプリケーションを示すアプリケーション処理情報を、アプリマーケットサーバ２から取得する。本実施形態では、アプリケーション処理情報取得部２１５は、アプリケーション処理を実施するタイミングを示す処理タイミングに到達した場合に、アプリケーション処理情報を要求する取得要求をアプリマーケットサーバ２へ送信し、その応答として、アプリケーション処理情報をアプリマーケットサーバ２から取得する。取得要求は、ＭＦＰ１の機番を含むと共に、ＭＦＰ１にインストール済みの１以上のアプリケーションごとに、該アプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名とを示す情報を含む。この例では、取得要求は、アプリケーション処理の内容とプロダクトＩＤとバージョンとアプリ名との組を、インストール済みおよび未インストールのアプリケーションと同じ数だけ含む。
【００６６】
ここでは、アプリケーション処理情報取得部２１５は、通知受付部２１２が監視モジュール２２２からの通知（処理タイミングの通知）を受け受けた場合に、上述の取得要求をアプリマーケットサーバ２へ送信し、その応答として、アプリケーション処理情報を取得する。なお、アプリケーション処理情報取得部２１５は、本体１０のＮＡＰＴ機能３２０を介して、アプリマーケットサーバ２と通信する。この例では、アプリケーション処理情報は、アプリケーション処理が必要な１以上のアプリケーションごとに、アプリケーション処理の内容と、該アプリケーションを識別するプロダクトＩＤと、該アプリケーションの最新のバージョンと、アプリ名とを示す情報である。なお、アプリケーション処理が必要なアプリケーションが存在しない場合、取得要求の応答としては、アプリケーション処理が必要なアプリケーションは存在しないことを示す情報（以下の説明では、「アプリケーション処理不要情報」と称する場合がある）が通知されることになる。
【００６７】
アプリケーション処理情報取得部２１５は、アプリマーケットサーバ２からアプリケーション処理情報を取得した場合、アプリケーション処理が必要なアプリケーションの数を示す情報をキャッシュデータとして本体１０のＨＤＤ１４に記憶する。なお、これに限らず、例えば、アプリケーション処理情報そのものをキャッシュデータとして記憶する形態であってもよい。要するに、キャッシュデータは、アプリケーション処理が必要なアプリケーションに関する情報であればよく、その内容は任意である。一方、アプリケーション処理情報取得部２１５は、アプリマーケットサーバ２からアプリケーション処理不要情報を取得した場合は、ＨＤＤ１４内のキャッシュデータをクリアする。詳しくは後述する。
【００６８】
アプリケーション処理制御部２１６は、アプリケーション処理情報取得部２１５により取得されたアプリケーション処理情報が示すアプリケーションのインストール、更新、およびアンインストールのうち少なくともいずれかを処理（アプリケーション処理）する制御を行う。この例では、アプリケーション処理制御部２１６は、アプリケーション処理情報が示す１以上のアプリケーションについてのアプリケーション処理を要求するアプリケーション処理要求を、インストーラ２２１およびランチャ２２４へ送信する。ここでは、アプリケーション処理要求には、アプリケーション処理が必要なアプリケーションごとの処理内容、プロダクトＩＤ、バージョン、アプリ名の組が含まれている。
【００６９】
アプリケーション処理制御部２１６からのアプリケーション処理要求を受けたインストーラ２２１は、アプリケーション処理が必要なアプリケーションについてアプリケーション処理を行う。なお、インストーラ２２１がアプリケーション処理を行うアプリケーションは、ＭＦＰ１に対して直接インストール、更新およびアンインストールが行われるネイティブアプリケーションである。ここで、ネイティブアプリケーションとは、ウェブアプリケーション等のようにブラウザ上で実行されるものではなく、ＯＳ上で直接実行されるアプリケーションである。ここでは、アプリケーション処理制御部２１６とインストーラ２２１との組み合わせが、「アプリケーション処理情報取得部２１５により取得されたアプリケーション処理情報が示すアプリケーションに対するアプリケーション処理の制御を行う機能（アプリケーション処理制御部）」に相当すると考えてもよいし、アプリケーション処理制御部２１６およびインストーラ２２１のうちの一方が、上記機能（アプリケーション処理制御部）に相当すると考えてもよい。また、インストーラ２２１は、「ファームウェア更新制御部」の一例であり、アプリケーション処理情報が示すアプリケーションを利用するためにファームウェアの更新が必要な場合、ファームウェアを更新する制御を行う。
【００７０】
アプリケーション処理制御部２１６からアプリケーション処理要求を受けたランチャ２２４は、アプリケーション処理が必要なウェブアプリケーションについてアプリケーション処理を行う。具体的には、ランチャ２２４は、アプリケーション処理要求にインストールを示す処理内容が含まれる場合、該当するウェブアプリケーションに関するコンテンツ等のダウンロード先を示すウェブアプリサーバ５を示すショートカットを含むアイコンを、例えば、上述の図８に示す操作画面に登録する。また、ランチャ２２４は、アプリケーション処理要求に更新を示す処理内容が含まれる場合、例えば、該当するウェブアプリケーションについて既に登録されているアイコンのショートカットについて、コンテンツ等のダウンロード先を変更する。また、ランチャ２２４は、アプリケーション処理要求にアンインストールを示す処理内容が含まれる場合、該当するウェブアプリケーションに関するコンテンツ等のショートカットを含むアイコンを削除する。
【００７１】
図１４は、インストーラの機能ブロック構成の一例を示す図である。図１５は、ファームウェア更新画面の一例を示す図である。図１６は、第１の制御部の機能ブロック構成の一例を示す図である。図１７は、第３の制御部の機能ブロック構成の一例を示す図である。図１８は、第２の制御部の機能ブロック構成の一例を示す図である。図１４〜図１８を参照しながら、ファームウェアの自動更新について説明する。
【００７２】
図１４に示すように、インストーラ２２１は、判定要求情報送信部２３０と、判定結果情報受信部２３１と、ファームウェア更新画面制御部２３２と、第１の制御部２３３と、インストール制御部２３４と、を有する。説明の便宜上、ここでは、ファームウェアの更新に必要な機能を例示しているが、インストーラ２２１が有する機能はこれらに限られるものではない。なお、前述したように、インストーラ２２１は、本体１０のＮＡＰＴ機能３２０を介して、アプリケーションサーバ３と通信する。
【００７３】
判定要求情報送信部２３０は、インストールまたは更新が必要なアプリケーションをＭＦＰ１で利用できるか否かを判定する妥当性判定を要求する判定要求情報を、アプリケーションサーバ３へ送信する。すなわち、判定要求情報送信部２３０は、アプリケーション処理要求に含まれる処理内容がインストールまたは更新を示す場合に、上述の判定要求情報を、アプリケーションサーバ３へ送信する。この判定要求情報は、アプリケーション処理要求に含まれるアプリケーションを識別するプロダクトＩＤと、該アプリケーションを利用するために必要な機能を提供するためのモジュールを識別するモジュール識別情報と、ＭＦＰ１に搭載された該モジュールのバージョン値を示すバージョン情報と、を含む。モジュールとは、特定の機能を提供するためのソフトウェアの単位を表す。また、バージョン値は、対応するモジュールの属性を示すとともに該モジュールが変更を重ねるたびに大きな値を示す。
【００７４】
本実施形態における判定要求情報は、アプリケーション処理要求に含まれる１以上のプロダクトＩＤを含む。さらに、本実施形態における判定要求情報は、ＭＦＰ１に搭載された複数のモジュールと１対１に対応する複数のモジュールＩＤ（モジュール識別情報の一例）ごとに、該モジュールＩＤで識別されるモジュールのバージョン値を示すバージョン情報を対応付けたモジュール情報を含んでいる。ただし、判定要求情報の形態は、これに限られるものではない。例えば、判定要求情報は、アプリケーション処理要求に含まれるプロダクトＩＤと、該プロダクトＩＤで識別されるアプリケーションを利用するために必要な機能を提供するためのモジュールを識別するモジュールＩＤと、ＭＦＰ１に搭載された、該モジュールＩＤで識別されるモジュールのバージョン値を示すバージョン情報と、を含む一方、該プロダクトＩＤで識別されるアプリケーションを利用するために必要としないモジュールを識別するモジュールＩＤやそのバージョン値を示すバージョン情報を含まない形態であってもよい。
【００７５】
判定結果情報受信部２３１は、上述の判定要求情報に対する応答として、上述の妥当性判定の結果を示す判定結果情報をアプリケーションサーバ３から受信する。アプリケーションサーバ３の具体的な構成については後述する。
【００７６】
ファームウェア更新画面制御部２３２は、判定結果情報受信部２３１により受信された判定結果情報が、インストールまたは更新が必要なアプリケーション（つまり、インストールまたは更新を示すアプリケーション処理要求に含まれるプロダクトＩＤで識別されるアプリケーション）はＭＦＰ１で利用できないことを示す場合、ファームウェアの更新を行うか否かの指示を受け付けるためのファームウェア更新画面を表示する制御を行う。本実施形態では、ファームウェア更新画面制御部２３２は、図１５に示すようなファームウェア更新画面を操作パネル２７に表示する制御を行う。この例では、ユーザは、図１５に示す「ＯＫ」ボタンを押下することで、ファームウェアの更新を指示することができる。
【００７７】
図１４の説明を続ける。第１の制御部２３３は、判定結果情報受信部２３１により受信された判定結果情報が、インストールまたは更新が必要なアプリケーションはＭＦＰ１で利用できないことを示す場合、ＭＦＰ１の動作を制御するファームウェアを更新する制御を行う。この例では、第１の制御部２３３は、上述のファームウェア更新画面を介して、ファームウェアを更新する指示を受け付けた場合、ファームウェアを更新する制御を行う。
【００７８】
本実施形態では、第１の制御部２３３は、判定結果情報受信部２３１により受信された判定結果情報が、インストールまたは更新が必要なアプリケーションがＭＦＰ１で利用できないことを示す場合、最新版のファームウェアを示す第１のファームウェアをＭＦＰ１に導入（インストール）する制御を行う。ここでは、第１のファームウェアは、操作部２０の動作を制御する操作部用ファームウェアの最新版を示す第２のファームウェアと、本体１０の動作を制御する本体用ファームウェアの最新版を示す第３のファームウェアとから構成される。また、図１６に示すように、第１の制御部２３３は、第２の制御部２４０と、第３の制御部２５０とを含む。第２の制御部２４０は、第２のファームウェアを操作部２０に導入する制御を行う。第３の制御部２５０は、第３のファームウェアを本体１０に導入する制御を行う。
【００７９】
説明の便宜上、第２の制御部２４０が有する機能を説明する前に、第３の制御部２５０が有する機能について説明する。図１７に示すように、第３の制御部２５０は、パッケージ取得部２５１と、分解部２５２と、アドレス情報送信部２５３と、第１の導入制御部２５４とを有する。
【００８０】
パッケージ取得部２５１は、第２のファームウェアと第３のファームウェアとが一体化されたパッケージ（つまり、操作部用ファームウェアの最新版と、本体用ファームウェアの最新版とが一体化されたパッケージ、以下の説明では「最新版のパッケージ」と称する場合がある）を取得し、取得したパッケージを記憶部（この例ではＨＤＤ１４）に保存する。本実施形態では、パッケージ取得部２５１は、後述の指示部２４１からの指示に従って、最新版のパッケージを要求するパッケージリクエストをファームウェア配信サーバ４に送信し、その応答として、最新版のパッケージをファームウェア配信サーバ４から取得する。
【００８１】
分解部２５２は、パッケージ取得部２５１により取得された最新版のパッケージを、第２のファームウェアと第３のファームウェアに分解する。パッケージの分解方法としては、公知の様々な方法を利用することができる。
【００８２】
アドレス情報送信部２５３は、記憶部（この例ではＨＤＤ１４）のうち第２のファームウェアが記憶された領域（記憶領域）を特定可能なアドレス情報（ＨＤＤ１４における第２のファームウェアの所在を示す情報）を第２の制御部２４０へ送信する。
【００８３】
第１の導入制御部２５４は、分解部２５２により分解された第３のファームウェアを本体１０に導入する制御を行う。この例では、第１の導入制御部２５４は、第３のファームウェアを本体１０にインストールする制御を行う。より具体的には、第１の導入制御部２５４は、第３のファームウェアを構成するプログラムおよびデータ等のファイルを展開して必要な設定を行い、ＯＳの起動中は改変できないファイルについては、本体１０の再起動を行って設定する。
【００８４】
次に、第２の制御部２４０が有する機能について説明する。図１８に示すように、第２の制御部２４０は、指示部２４１と、アドレス情報受信部２４２と、読出部２４３と、第２の導入制御部２４４とを有する。
【００８５】
指示部２４１は、上述の判定結果情報受信部２３１により受信された判定結果情報が、インストールまたは更新が必要なアプリケーションはＭＦＰ１で利用できないことを示す場合、最新版のパッケージの取得を第３の制御部２５０（パッケージ取得部２５１）に指示する。
【００８６】
アドレス情報受信部２４２は、第３の制御部２５０から前述のアドレス情報を受信する。読出部２４３は、記憶部（この例ではＨＤＤ１４）のうち、アドレス情報受信部２４２により受信されたアドレス情報により特定される領域から、第２のファームウェアを読み出す。
【００８７】
第２の導入制御部２４４は、読出部２４３により読み出された第２のファームウェアを操作部２０に導入する制御を行う。この例では、第２の導入制御部２４４は、第２のファームウェアを操作部２０にインストールする制御を行う。より具体的には、第２の導入制御部２４４は、第２のファームウェアを構成するプログラムおよびデータ等のファイルを展開して必要な設定を行い、ＯＳの起動中は改変できないファイルについては、操作部２０の再起動を行って設定する。
【００８８】
本実施形態では、操作部２０が上述の第２の制御部２４０を有し、本体１０が上述の第３の制御部２５０を有している。
【００８９】
以上のようにして、第１の制御部２３３は、判定結果情報受信部２３１により受信された判定結果情報が、インストールまたは更新が必要なアプリケーションはＭＦＰ１で利用できないことを示す場合、最新版のファームウェアを示す第１のファームウェアをＭＦＰ１に導入する制御を行う。第１の制御部２３３による制御が行われた後、判定要求情報送信部２３０は、アプリケーションサーバ３へ上述の判定要求情報を再送信し、以上の処理が繰り返される。
【００９０】
図１９〜図２３は、ファームウェアの更新手順を説明するための図である。図１９〜図２３を用いて、ファームウェアの更新手順を説明する。
【００９１】
まず、図１９に示すように、第３の制御部２５０（パッケージ取得部２５１）は、第２の制御部２４０（指示部２４１）からの指示に従って、ファームウェア配信サーバ４から、最新版のパッケージを取得し、取得したパッケージをＨＤＤ１４に保存する。
【００９２】
次に、図２０に示すように、第３の制御部２５０（分解部２５２）は、ＨＤＤ１４に保存したパッケージを、第２のファームウェアと第３のファームウェアとに分解する。
【００９３】
次に、図２１に示すように、第３の制御部２５０（第１の導入制御部２５４）は、第３のファームウェアを構成するプログラムおよびデータ等のファイルを展開して必要な設定を行う。なお、この段階では、本体１０の再起動は行わない。
【００９４】
次に、第３の制御部２５０は、第２の制御部２４０に、第２のファームウェアの導入を指示（操作部用ファームウェアの更新を指示）する。この例では、第３の制御部２５０（アドレス情報送信部２５３）は、ＨＤＤ１４のうち第２のファームウェアが記憶された領域を特定可能なアドレス情報を第２の制御部２４０へ送信することで、第２のファームウェアの導入を指示することになる。第２の制御部２４０（読出部２４３）は、ＨＤＤ１４のうち、第３の制御部２５０から受信したアドレス情報により特定される領域から、第２のファームウェアを読み出す。そして、図２２に示すように、第２の制御部２４０（第２の導入制御部２４４）は、第２のファームウェアを構成するプログラムおよびデータ等のファイルを展開して必要な設定を行う。そして、ＯＳの起動中は改変できないファイル以外の設定が完了した後、操作部２０の再起動を行い、ＯＳの起動中は改変できないファイルの設定を行う。これにより、操作部２０に対する第２のファームウェアの導入が完了する。
【００９５】
操作部２０の再起動が完了し、操作部２０と本体１０との再接続後、図２３に示すように、第３の制御部２５０は、第２の制御部２４０に、再度、第２のファームウェアの導入を指示する。この段階では、操作部２０に対する第２のファームウェアの導入は完了しているので、この指示を受けた第２の制御部２４０は、即時に、第２のファームウェアの導入が完了していることを示す応答を第３の制御部２５０へ返す。この応答を受けた第３の制御部２５０（第１の導入制御部２５４）は、本体１０の再起動を行い、ＯＳの起動中は改変できないファイルの設定を行う。これにより、本体１０に対する第３のファームウェアの導入も完了する。
【００９６】
以上のようにして、ＭＦＰ１に対する第１のファームウェアの導入が完了した後、ＭＦＰ１は、上述の妥当性判定を再びアプリケーションサーバ３に要求する。つまり、ＭＦＰ１に対する第１のファームウェアの導入が完了した後、判定要求情報送信部２３０は、再度、上述の判定要求情報をアプリケーションサーバ３へ送信する。この場合の判定要求情報に含まれるモジュール情報は、最新のモジュール情報となる（プロダクトＩＤは前回と同じ）。上記と同様に、この判定要求情報を受信したアプリケーションサーバ３は、上述の妥当性判定を行い、その結果を示す判定結果情報をＭＦＰ１へ送信する。
【００９７】
図１４の説明を続ける。インストール制御部２３４は、判定結果情報受信部２３１により受信された判定結果情報が、インストールまたは更新が必要なアプリケーションはＭＦＰ１で利用できることを示す場合、該アプリケーションのダウンロードをアプリケーションサーバ３に要求し、アプリケーションサーバ３から該アプリケーションをダウンロードする。そして、そのダウンロードしたアプリケーションをＭＦＰ１にインストール（更新含む）する。これにより、該アプリケーションのインストールまたは更新が完了する。
【００９８】
図２４は、報知メッセージの一例を示す図である。図７に戻って説明を続けると共に、図２４を用いて報知メッセージ通知部２１７の動作を説明する。
【００９９】
報知メッセージ通知部２１７は、アプリケーション処理が必要なアプリケーションが存在する場合（典型的にはアプリマーケットサーバ２から上述のアプリケーション処理情報が取得された場合）、報知メッセージ表示モジュール２２３に対して、報知メッセージの表示を指示する。この指示を受けた報知メッセージ表示モジュール２２３は、例えば、図２４に示すような報知メッセージを操作パネル２７に表示する。ここでは、報知メッセージ通知部２１７と報知メッセージ表示モジュール２２３との組み合わせが、「アプリケーション処理情報が、アプリケーション処理を必要とするアプリケーションが存在することを示す場合、その旨を報知する報知メッセージを表示部に表示する機能（報知メッセージ表示制御部）」に相当すると考えてもよいし、報知メッセージ通知部２１７および報知メッセージ表示モジュール２２３のうちの一方が、「報知メッセージ表示制御部」に相当すると考えてもよい。
【０１００】
機器情報制御部２１８は、ＭＦＰ１の機番と共に、ＭＦＰ１にインストール済みのアプリケーション（ネイティブアプリケーション、およびウェブアプリケーション双方含む）ごとに、該アプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名と、を機器情報として取得する。具体的には、機器情報制御部２１８は、ＭＦＰ１の機番と共に、ＭＦＰ１にインストール済みのアプリケーションのうちネイティブアプリケーションについて、該ネイティブアプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名と、を機器情報として取得する。また、機器情報制御部２１８は、ＭＦＰ１の機番と共に、ＭＦＰ１にインストール済みのアプリケーションのうちウェブアプリケーション（すなわち、登録済みのウェブアプリケーション）について、該ウェブアプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名と、を機器情報として取得する。
【０１０１】
次に、機器情報制御部２１８による機器情報の取得タイミングについて説明する。まず、ＭＦＰ１の新規設置時に、機器情報制御部２１８は、ＭＦＰ１に既にインストールされている、すなわち、プリインストールされているアプリケーションの機器情報を取得する。そして、機器情報制御部２１８は、機器情報をアプリマーケットサーバ２へ送信し、アプリマーケットサーバ２は、受信した機器情報を保存する。
【０１０２】
また、機器情報制御部２１８は、アプリケーション処理を実施するタイミングを示す処理タイミングに到達した場合に、機器情報を取得してアプリケーション処理情報取得部２１５に渡す。アプリケーション処理情報取得部２１５は、受け取った機器情報を、上述の取得要求に含めてアプリマーケットサーバ２へ送信する。
【０１０３】
また、機器情報制御部２１８は、ＭＦＰ１でのアプリケーション処理が終了した後、機器情報を取得してアプリケーション処理情報取得部２１５に渡す。アプリケーション処理情報取得部２１５は、受け取った機器情報を、上述の取得要求に含めてアプリマーケットサーバ２へ送信する。アプリマーケットサーバ２は、受信した取得要求に含まれる機器情報を、ＭＦＰ１にインストールされたアプリケーションの最新の状態であるものとして保存（更新）する。
【０１０４】
（アプリマーケットサーバ等のハードウェア構成）
図２５は、アプリマーケットサーバのハードウェア構成の一例を示す図である。図２５を用い、アプリマーケットサーバ２のハードウェア構成を説明する。なお、アプリケーションサーバ３、ファームウェア配信サーバ４、ウェブアプリサーバ５および設定用ＰＣ６のハードウェア構成も図２５の構成と同様である。
【０１０５】
図２５に示すように、アプリマーケットサーバ２は、ＣＰＵ３２と、ＲＯＭ３３と、ＲＡＭ３４と、通信Ｉ／Ｆ３５と、入力装置３６と、表示装置３７とを備える。
【０１０６】
ＣＰＵ３２は、アプリマーケットサーバ２の動作を統括的に制御する。ＲＯＭ３３は、プログラム等の各種のデータを記憶する不揮発性のメモリである。ＲＡＭ３４は、ＣＰＵ３２が実行する各種の処理の作業領域（ワークエリア）として機能する揮発性のメモリである。通信Ｉ／Ｆ３５は、ネットワーク８と接続するためのインタフェースである。入力装置３６は、ユーザによる操作の入力に用いられるデバイスであり、例えば、マウスおよびキーボード等で構成される。表示装置３７は、各種の情報を表示するデバイスであり、例えば、液晶型ディスプレイ装置等で構成される。
【０１０７】
（アプリマーケットサーバの機能ブロックの構成および動作）
図２６は、アプリマーケットサーバの機能ブロック構成の一例を示す図である。
【０１０８】
図２６に示すように、アプリマーケットサーバ２は、アプリケーション一覧画面保持部２６１と、アプリケーション一覧画面送信部２６２と、アプリケーション情報記憶部２６３と、判断部２６４と、アプリケーション処理情報送信部２６６と、アプリケーション処理不要情報送信部２６７と、処理予約画面保持部２７０と、処理予約画面送信部２７１と、設定情報受信部２７２と、設定情報保持部２７３と、を有する。説明の便宜上、図２６では、本実施形態に関する機能を主に例示しているが、アプリマーケットサーバ２が有する機能は、これらに限られるものではない。
【０１０９】
アプリケーション一覧画面保持部２６１は、上述のアプリケーション一覧画面を保持する。アプリケーション一覧画面送信部２６２は、ＭＦＰ１から上述の表示リクエストを受信すると、その応答として、アプリケーション一覧画面保持部２６１に保持されているアプリケーション一覧画面をＭＦＰ１に送信する。
【０１１０】
アプリケーション情報記憶部２６３は、アプリケーション一覧画面に表示する複数のアプリケーションごとに、プロダクトＩＤと、バージョンと、アプリ名とを対応付けたアプリケーション情報を記憶する。
【０１１１】
判断部２６４は、ＭＦＰ１から前述の取得要求を受信した場合に、アプリケーション処理、すなわち、インストール、更新、またはアンインストールが必要なアプリケーションの有無を判断する。
【０１１２】
本実施形態では、判断部２６４は、アプリケーション情報記憶部２６３に記憶されたアプリケーション情報を参照し、上述の取得要求に含まれるプロダクトＩＤとは異なるプロダクトＩＤであり、かつ、ＭＦＰ１にインストール可能とされるアプリケーションが、当該アプリケーション情報に含まれる場合、当該アプリケーションをインストールの候補と判断する。次に、判断部２６４は、設定情報保持部２７３に記憶された処理予約設定情報（後述）に、上述のようにインストールの候補と判断したアプリケーションについて、「インストール予約」の設定内容が含まれている場合、当該アプリケーションはインストールが必要であると判断する。一方、判断部２６４は、処理予約設定情報に、上述のようにインストールの候補と判断したアプリケーションについて、「インストール予約」の設定内容が含まれていない場合、当該アプリケーションはインストールが不要であると判断する。
【０１１３】
また、判断部２６４は、アプリケーション情報記憶部２６３に記憶されたアプリケーション情報を参照し、上述の取得要求に含まれるプロダクトＩＤで識別されるアプリケーションであり、かつ、ＭＦＰ１にインストール可能とされるアプリケーションが、当該アプリケーション情報に含まれる場合、当該アプリケーションをアンインストールの候補と判断する。次に、判断部２６４は、設定情報保持部２７３に記憶された処理予約設定情報に、上述のようにアンインストールの候補と判断したアプリケーションについて、「アンインストール予約」の設定内容が含まれている場合、当該アプリケーションはアンインストールが必要であると判断する。一方、判断部２６４は、処理予約設定情報に、上述のようにアンインストールの候補と判断したアプリケーションについて、「アンインストール予約」の設定内容が含まれていない場合、当該アプリケーションはアンインストールが不要であると判断する。
【０１１４】
また、判断部２６４は、アプリケーション情報記憶部２６３に記憶されたアプリケーション情報を参照し、上述の取得要求に含まれる組（プロダクトＩＤとバージョンとアプリ名との組）ごとに、該組に含まれるプロダクトＩＤと一致するプロダクトＩＤに対応付けられたバージョンが、該組に含まれるバージョンと同じであるか否かを判断する。バージョンが異なる場合、判断部２６４は、その組に含まれるプロダクトＩＤで識別されるアプリケーションを更新の候補であると判断する。次に、判断部２６４は、設定情報保持部２７３に記憶された処理予約設定情報に、上述のように更新の候補と判断したアプリケーションについて、「更新予約」の設定内容が含まれている場合、当該アプリケーションは更新が必要であると判断する。一方、判断部２６４は、処理予約設定情報に、上述のように更新の候補と判断したアプリケーションについて、「更新予約」の設定内容が含まれていない場合、当該アプリケーションは更新が不要であると判断する。
【０１１５】
アプリケーション処理情報送信部２６６は、判断部２６４により、アプリケーション処理が必要なアプリケーションが存在すると判断された場合、取得要求への応答として、前述のアプリケーション処理情報をＭＦＰ１へ送信する。アプリケーション処理情報は、判断部２６４によりアプリケーション処理が必要であると判断された１以上のアプリケーションごとに、アプリケーション処理の内容と、該アプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名とを示す情報である。
【０１１６】
アプリケーション処理不要情報送信部２６７は、判断部２６４により、アプリケーション処理が必要なアプリケーションが存在しないと判断された場合、取得要求への応答として、前述のアプリケーション処理不要情報をＭＦＰ１へ送信する。
【０１１７】
処理予約画面保持部２７０は、設定用ＰＣ６における処理予約を設定するための画面の情報を保持する。処理予約画面送信部２７１は、設定用ＰＣ６から処理予約のための画面取得要求を受信すると、その応答として、後述する機器一覧画面の情報、および処理可能アプリケーション一覧画面の情報、ならびに、設定情報保持部２７３で保持されている現状の処理予約設定情報を、設定用ＰＣ６へ送信する。
【０１１８】
設定情報受信部２７２は、設定用ＰＣ６で設定された処理予約設定情報を、該設定用ＰＣ６から受信する。設定情報保持部２７３は、設定情報受信部２７２により受信された処理予約設定情報を保持する。
【０１１９】
本実施形態では、上述のアプリマーケットサーバ２が有するアプリケーション一覧画面送信部２６２、判断部２６４、アプリケーション処理情報送信部２６６、アプリケーション処理不要情報送信部２６７、処理予約画面送信部２７１および設定情報受信部２７２の各々の機能は、ＣＰＵ３２がＲＯＭ３３等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば、専用のハードウェア回路（半導体集積回路等）により実現されてもよい。また、上述のアプリケーション一覧画面保持部２６１、アプリケーション情報記憶部２６３、処理予約画面保持部２７０および設定情報保持部２７３は、例えば、ＲＯＭ３３または例えば、ＨＤＤ等の補助記憶装置等により実現される。なお、ここでは、アプリケーション一覧画面送信部２６２、アプリケーション処理情報送信部２６６、アプリケーション処理不要情報送信部２６７、処理予約画面送信部２７１および設定情報受信部２７２の機能は、プログラムを実行するＣＰＵ３２と通信Ｉ／Ｆ３５との組み合わせにより実現されると考えてもよい。例えば、アプリケーション一覧画面送信部２６２の機能は、ＣＰＵ３２が、アプリケーション一覧画面をＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。同様に、アプリケーション処理情報送信部２６６の機能は、ＣＰＵ３２が、更新アプリケーション情報をＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。同様に、アプリケーション処理不要情報送信部２６７の機能は、ＣＰＵ３２が、更新不要情報をＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。同様に、処理予約画面送信部２７１の機能は、ＣＰＵ３２が、後述する機器一覧画面の情報、および処理可能アプリケーション一覧画面の情報、ならびに、設定情報保持部２７３で保持されている現状の処理予約設定情報を、設定用ＰＣ６へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。同様に、設定情報受信部２７２の機能は、ＣＰＵ３２が、処理予約設定情報を、該設定用ＰＣ６から受信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。
【０１２０】
（アプリケーションサーバの機能ブロックの構成および動作）
図２７は、アプリケーションサーバが機能ブロック構成の一例を示す図である。図２８は、対応情報の一例を示す図である。図２７および図２８を用いて、アプリケーションサーバ３が有する機能の一例を説明する。
【０１２１】
図２７に示すように、アプリケーションサーバ３は、対応情報記憶部３２１と、判定部３２２と、判定結果情報送信部３２３と、アプリケーション保持部３２４と、アプリケーション送信部３２５とを有する。説明の便宜上、図２７では、本実施形態に関する機能を主に例示しているが、アプリケーションサーバ３が有する機能は、これらに限られるものではない。
【０１２２】
対応情報記憶部３２１は、対応情報を記憶する。対応情報は、複数のアプリケーションと１対１に対応する複数のアプリケーション識別情報（この例ではプロダクトＩＤ）ごとに、該プロダクトＩＤで識別されるアプリケーションを利用するために必要な機能を提供するためのモジュールを識別するモジュール識別情報（この例ではモジュールＩＤ）と、該モジュール識別情報で識別されるモジュールの最低限のバージョン値（対応するアプリケーションを利用するために必要な最低限のバージョン値）を示す下限バージョン情報と、を対応付けた情報である。
【０１２３】
図２７の説明を続ける。判定部３２２は、ＭＦＰ１から上述の判定要求情報を受信した場合、妥当性判定を行う。より具体的には、判定部３２２は、ＭＦＰ１から受信した上述の判定要求情報と、対応情報記憶部３２１に記憶された対応情報とに基づいて、上述の判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションをＭＦＰ１で利用できるか否かを判定する。さらに言えば、判定部３２２は、上述の対応情報に含まれるプロダクトＩＤとモジュールＩＤとの組み合わせのうち、判定要求情報に含まれるプロダクトＩＤとモジュールＩＤとの組み合わせと一致する組み合わせを特定する。そして、判定部３２２は、その特定した組み合わせに対応付けられた下限バージョン情報が示すバージョン値が、判定要求情報に含まれるバージョン情報が示すバージョン値よりも大きい場合、上述の判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションはＭＦＰ１で利用できないと判定する。一方、判定部３２２は、下限バージョン情報が示すバージョン値が、上述の判定要求情報に含まれるバージョン情報が示すバージョン値以下の場合は、上述の判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションはＭＦＰ１で利用できると判定する。
【０１２４】
本実施形態における妥当性判定の手順は以下のとおりであるが、これに限られるものではない。判定部３２２は、ＭＦＰ１から上述の判定要求情報を受信した場合、上述の対応情報に含まれる複数のプロダクトＩＤのうち、上述の判定要求情報に含まれるプロダクトＩＤと一致するプロダクトＩＤを特定する。そして、判定部３２２は、上述の対応情報において、その特定したプロダクトＩＤに対応付けられたモジュールＩＤを特定し、上述の判定要求情報に含まれる上述のモジュール情報（ＭＦＰ１に搭載された複数のモジュールと１対１に対応する複数のモジュールＩＤごとにバージョン情報を対応付けた情報）に含まれる複数のモジュールＩＤの中から、その特定したモジュールＩＤと一致するモジュールＩＤを選択（説明の便宜上、この選択したモジュールＩＤを「選択モジュールＩＤ」と称する）するとともに、モジュール情報において該選択モジュールＩＤに対応付けられたバージョン情報を選択する（説明の便宜上、この選択したバージョン情報を「選択バージョン情報」と称する）。そして、判定部３２２は、上述の対応情報に含まれるプロダクトＩＤとモジュールＩＤの組み合わせのうち、上述の判定要求情報に含まれるプロダクトＩＤと、上述の選択モジュールＩＤとの組み合わせと一致する組み合わせを特定し、その特定した組み合わせに対応付けられた下限バージョン情報が示すバージョン値が、上述の選択バージョン情報が示すバージョン値よりも大きい場合、上述の判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションはＭＦＰ１で利用できないと判定する。一方、判定部３２２は、下限バージョン情報が示すバージョン値が、上述の選択バージョン情報が示すバージョン値以下の場合は、上述の判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションはＭＦＰ１で利用できると判定する。
【０１２５】
図２７に示す判定結果情報送信部３２３は、上述の妥当性判定の結果を示す判定結果情報をＭＦＰ１へ送信する。アプリケーション保持部３２４は、複数のアプリケーション（ここでは、ネイティブアプリケーション）を保持する。アプリケーション送信部３２５は、ＭＦＰ１からの要求に応じて、アプリケーション保持部３２４に保持されたアプリケーションをＭＦＰ１へ送信する。以上が、アプリケーションサーバ３の構成である。
【０１２６】
本実施形態では、上述のアプリケーションサーバ３の各部の機能（判定部３２２、判定結果情報送信部３２３、アプリケーション送信部３２５等）は、ＣＰＵ３２がＲＯＭ３３等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば、上述のアプリケーションサーバ３の各部の機能のうちの少なくとも一部が専用のハードウェア回路（半導体集積回路等）により実現されてもよい。また、上述の対応情報記憶部３２１および上述のアプリケーション保持部３２４は、例えば、ＲＯＭ３３等により実現される。なお、ここでは、判定結果情報送信部３２３およびアプリケーション送信部３２５の各々の機能は、プログラムを実行するＣＰＵ３２と通信Ｉ／Ｆ３５との組み合わせにより実現されると考えてもよい。例えば、判定結果情報送信部３２３の機能は、ＣＰＵ３２が、判定結果情報をＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。また、例えば、アプリケーション送信部３２５の機能は、ＣＰＵ３２が、アプリケーションをＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。
【０１２７】
（ファームウェア配信サーバの機能ブロックの構成および動作）
図２９は、ファームウェア配信サーバの機能ブロック構成の一例を示す図である。図２９を用いて、ファームウェア配信サーバ４が有する機能の一例について説明する。
【０１２８】
図２９に示すように、ファームウェア配信サーバ４は、パッケージ保持部４１１と、パッケージ送信部４１２とを有する。説明の便宜上、図２９では、本実施形態に関する機能を主に例示しているが、ファームウェア配信サーバ４が有する機能は、これらに限られるものではない。
【０１２９】
パッケージ保持部４１１は、最新版のパッケージを保持する。パッケージ送信部４１２は、ＭＦＰ１から上述のパッケージリクエストを受信すると、その応答として、パッケージ保持部４１１に保持されている最新版のパッケージをＭＦＰ１に送信する。
【０１３０】
本実施形態では、上述のファームウェア配信サーバ４が有するパッケージ送信部４１２の機能は、ＣＰＵ３２がＲＯＭ３３等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば、専用のハードウェア回路（半導体集積回路等）により実現されてもよい。また、上述のパッケージ保持部４１１は、例えば、ＲＯＭ３３または例えば、ＨＤＤ等の補助記憶装置等により実現される。なお、ここでは、パッケージ送信部４１２の機能は、プログラムを実行するＣＰＵ３２と通信Ｉ／Ｆ３５との組み合わせにより実現されると考えてもよい。例えば、パッケージ送信部４１２の機能は、ＣＰＵ３２が、パッケージをＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。
【０１３１】
（ウェブアプリサーバの機能ブロックの構成および動作）
図３０は、ウェブアプリサーバの機能ブロック構成の一例を示す図である。図３０を用いて、ウェブアプリサーバ５が有する機能の一例について説明する。
【０１３２】
図３０に示すように、ウェブアプリサーバ５は、ウェブアプリコンテンツ保持部５０１と、ウェブアプリコンテンツ送信部５０２とを有する。説明の便宜上、図３０では、本実施形態に関する機能を主に例示しているが、ウェブアプリサーバ５が有する機能は、これらに限られるものではない。
【０１３３】
ウェブアプリコンテンツ保持部５０１は、複数のアプリケーション（ここでは、ウェブアプリケーション）で使用されるコンテンツ等を保持する。ウェブアプリコンテンツ送信部５０２は、ＭＦＰ１からの要求に応じて、ウェブアプリコンテンツ保持部５０１に保持されたウェブアプリケーションのコンテンツ等をＭＦＰ１へ送信する。
【０１３４】
本実施形態では、上述のウェブアプリサーバ５が有するウェブアプリコンテンツ送信部５０２の機能は、ＣＰＵ３２がＲＯＭ３３等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば、専用のハードウェア回路（半導体集積回路等）により実現されてもよい。また、上述のウェブアプリコンテンツ保持部５０１は、例えば、ＲＯＭ３３または例えば、ＨＤＤ等の補助記憶装置等により実現される。なお、ここでは、ウェブアプリコンテンツ送信部５０２の機能は、プログラムを実行するＣＰＵ３２と通信Ｉ／Ｆ３５との組み合わせにより実現されると考えてもよい。例えば、ウェブアプリコンテンツ送信部５０２の機能は、ＣＰＵ３２が、パッケージをＭＦＰ１へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。
【０１３５】
（設定用ＰＣの機能ブロックの構成および動作）
図３１は、設定用ＰＣの機能ブロック構成の一例を示す図である。図３２は、機器一覧画面の一例を示す図である。図３３は、処理可能アプリケーション一覧画面の一例を示す図である。図３１〜図３３を用いて、設定用ＰＣ６が有する機能の一例について説明する。
【０１３６】
図３１に示すように、設定用ＰＣ６は、処理予約画面制御部６０１と、設定部６０２と、設定情報送信部６０３とを有する。説明の便宜上、図３１では、本実施形態に関する機能を主に例示しているが、設定用ＰＣ６が有する機能は、これらに限られるものではない。
【０１３７】
処理予約画面制御部６０１は、アプリマーケットサーバ２から機器一覧画面の情報、および処理可能アプリケーション一覧画面の情報、ならびに、現状の処理予約設定情報等を取得し、取得した画面を表示装置３７に表示する制御を行う。
【０１３８】
本実施形態では、例えば、図３２に示すような機器一覧画面が表示される場合、処理予約画面制御部６０１は、アプリマーケットサーバ２から当該機器一覧画面の情報と共に、各機器の機器情報を取得して、該各機器の機番およびモデル名を表示させる。なお、図３２に示す機器一覧画面は一例であり、機番およびモデル名の他、例えば、バージョン等を表示させるものとしてもよい。
【０１３９】
図３２に示す機器一覧画面において、ユーザは、アプリケーション処理の予約設定を行う対象となる機器（ここでは、ＭＦＰ１）を選択する。このように機器一覧画面に特定の機器が選択された場合、処理予約画面制御部６０１は、特定の機器について、アプリマーケットサーバ２のアプリケーション情報から、新たにインストール可能なアプリケーションの情報を取得し、かつ、該特定の機器の現状の処理予約設定情報を取得して、例えば、図３３に示す処理可能アプリケーション一覧画面を表示させる。処理予約設定情報は、例えば、各アプリケーションを識別するプロダクトＩＤに、当該アプリケーションに対する「インストール予約」、「アンインストール予約」および「更新予約」等の予約処理の情報を関連付けた設定情報である。そして、処理予約画面制御部６０１は、処理可能アプリケーション一覧画面において、取得した機器情報に基づくインストール済みのアプリケーションの情報、および、新たにインストール可能なアプリケーションの情報を表示させる。図３３に示す例では、アプリケーションの情報として、「アプリケーションタイトル」（アプリ名）、「バージョン」、「アプリケーション状態」（現状の当該アプリケーションの状態および設定状態）、および「処理予約」を表示させている。
【０１４０】
処理予約画面制御部６０１は、例えば、対象となるアプリケーションが未インストールであり、かつ、現状の処理予約設定情報に該アプリケーションに対する「インストール予約」の設定内容が含まれていない場合、アプリケーション状態として「未インストール」と表示させる。一方、処理予約画面制御部６０１は、現状の処理予約設定情報に該アプリケーションに対する「インストール予約」の設定内容が含まれている場合、アプリケーション状態として「インストール予約中」と表示させる。
【０１４１】
また、処理予約画面制御部６０１は、例えば、対象となるアプリケーションがインストール済みであり、かつ、取得した機器情報およびアプリケーション情報から更新の必要がないと判断した場合、アプリケーション状態として「インストール済み」と表示させる。また、処理予約画面制御部６０１は、取得した機器情報およびアプリケーション情報から更新が可能と判断した場合であって、現状の処理予約設定情報に該アプリケーションに対する「更新予約」の設定内容が含まれていない場合、アプリケーション状態として「未更新」と表示させる。さらに、処理予約画面制御部６０１は、取得した機器情報およびアプリケーション情報から更新が可能と判断した場合であって、現状の処理予約設定情報に該アプリケーションに対する「更新予約」の設定内容が含まれている場合、アプリケーション状態として「更新予約中」と表示させる。
【０１４２】
また、処理予約画面制御部６０１は、例えば、対象となるアプリケーションがインストール済みであり、かつ、現状の処理予約設定情報に該アプリケーションに対する「アンインストール予約」の設定内容が含まれている場合、アプリケーション状態として「アンインストール予約中」と表示させる。また、処理予約画面制御部６０１は、対象となるアプリケーションが未インストールであるが、かつ、過去に一度インストールされた実績がある場合、アプリケーション状態として「アンインストール済」と表示させる。
【０１４３】
また、図３３に示すように、画面の上部には、各アプリケーション状態を選択するチェクボックスがあり、ユーザは、所望のアプリケーション状態を選択することによって、選択したアプリケーション状態であるアプリケーションの一覧のみを表示させることができる。なお、上述したアプリケーション状態として示したものは一例であり、現状のアプリケーションの状態および設定状態が認識できるような状態を表示できるものであれば、他の表示態様であってもよい。
【０１４４】
さらに、処理予約画面制御部６０１は、処理可能アプリケーション一覧画面において、上述のように表示させたアプリケーション状態に応じて、予約することができる処理の選択肢を「処理予約」の欄に選択可能に表示させる。例えば、処理予約画面制御部６０１は、アプリケーション状態が「インストール予約中」である場合、処理予約の欄に予約することができる処理として「インストール予約取消」を選択可能に表示させる。また、処理予約画面制御部６０１は、アプリケーション状態が「未更新」である場合、更新することもアンインストールすることも可能であるので、処理予約の欄に「更新予約」および「アンインストール予約」を選択可能に表示させる。なお、予約することができる処理が一以上である場合、処理予約の欄においてプルダウン形式により、予約する処理を選択することができるようにしてもよい。
【０１４５】
図３１に戻って説明を続ける。設定部６０２は、処理可能アプリケーション一覧画面で受け付けた入力に応じて、各種の設定を行う。具体的には、設定部６０２は、処理予約の欄でユーザにより選択された処理を、該当するアプリケーションに対して予約する処理として設定する。設定情報送信部６０３は、設定部６０２により設定された情報を、処理予約設定情報として、アプリマーケットサーバ２へ送信する。例えば、ユーザの選択操作によって、「インストール予約取消」が選択された場合、設定情報送信部６０３は、「インストール予約」とされていたアプリケーションを識別するプロダクトＩＤと、当該「インストール予約」という予約情報との関連情報を、処理予約設定情報から削除して送信すればよい。
【０１４６】
本実施形態では、上述の設定用ＰＣ６が処理予約画面制御部６０１、設定部６０２および設定情報送信部６０３の各々の機能は、ＣＰＵ３２がＲＯＭ３３等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば、専用のハードウェア回路（半導体集積回路等）により実現されてもよい。なお、ここでは、設定情報送信部６０３の機能は、プログラムを実行するＣＰＵ３２と通信Ｉ／Ｆ３５との組み合わせにより実現されると考えてもよい。例えば、設定情報送信部６０３の機能は、ＣＰＵ３２が、処理予約設定情報をアプリマーケットサーバ２へ送信するよう、通信Ｉ／Ｆ３５を制御することにより実現される。
【０１４７】
（ＭＦＰの動作手順）
図３４は、ユーザから処理時刻の設定入力を受け付けた場合のＭＦＰの動作手順の一例を示すシーケンス図である。図３４を用いて、処理時刻の設定入力を受け付けた場合のＭＦＰ１の動作手順について説明する。
【０１４８】
ユーザは、設定ＵＩ部２１３により表示された画面（処理時刻設定画面）に対して、設定したい更新時刻を入力する（ステップＳ１００）。アプリケーション処理実行部２２０（設定部２１４）は、処理時刻設定画面で受け付けた処理時刻を、操作部２０の記憶部（例えば、フラッシュメモリ２４等）に記憶する（ステップＳ１０１）。そして、アプリケーション処理実行部２２０（設定部２１４）は、監視モジュール２２２に対して、自動アプリケーション処理の設定を指示する（ステップＳ１０２）。この指示の中には、ユーザから入力された処理時刻を示す情報が含まれている。この指示を受けた監視モジュール２２２は、本体１０に対して、処理時刻を通知する（ステップＳ１０３）。
【０１４９】
その後、監視モジュール２２２は、操作部２０がユーザの操作を受け付けていない状態が所定期間継続した場合、操作部２０の状態をスリープモードに移行させる（ステップＳ１０４）。一方、Ｗｅｂサーバ３０１を介して監視モジュール２２２からの処理時刻を受け取った本体１０のＳＣＳ３１２は、その受け取った処理時刻を本体１０の記憶部（例えば、ＨＤＤ１４等）に格納し、計時を開始する（ステップＳ１０５）。この例では、本体１０のＳＣＳ３１２が、処理時刻（処理タイミング）に到達したか否かを検出する機能を有している。また、ＳＣＳ３１２は、本体１０が印刷等の画像処理を実行しない状態（アイドル状態）が所定期間継続した場合は、計時機能およびネットワーク８と通信する機能のみが動作可能な省エネモード（画像処理を実行可能な通常状態よりも消費電力が少ない状態）に移行させる（ステップＳ１０６）。なお、省エネモードの形態は任意であり、計時機能およびネットワーク８と通信する機能以外の機能も動作可能な状態であってもよい。要するに、画像処理を実行可能な通常の状態よりも消費電力が少ない状態であればよい。
【０１５０】
図３５は、ＭＦＰの起動時の動作手順の一例を示すシーケンス図である。図３５を用いて、ＭＦＰ１（操作部２０）の起動時の動作手順について説明する。
【０１５１】
ＭＦＰ１が起動すると（電源ＯＮすると）、監視モジュール２２２は、アプリマーケットアプリ２０５に対して、ＭＦＰ１が起動した旨を示す起動通知を送信する（ステップＳ１）。ここで、ＭＦＰ１の起動は、本体１０が起動した場合と操作部２０が起動した場合をともに含む。具体的には、本体１０の電源スイッチのＯＮが検知された後、または、操作部２０のスリープ状態からの復帰が検知された後に、監視モジュール２２２が起動通知を行う。起動通知を受けた通知受付部２１２は、アプリケーション処理実行部２２０に対して、その起動通知を通知する（ステップＳ２）。この起動通知を受けたアプリケーション処理実行部２２０は、前述のキャッシュデータの有無を確認する（ステップＳ３）。キャッシュデータが存在する場合、アプリケーション処理実行部２２０（報知メッセージ通知部２１７）は、報知メッセージ表示モジュール２２３に対して、報知メッセージの表示を指示する（ステップＳ４）。この指示を受けた報知メッセージ表示モジュール２２３は、報知メッセージを操作パネル２７に表示する制御を行う（ステップＳ５）。
【０１５２】
また、アプリケーション処理実行部２２０（設定部２１４）は、監視モジュール２２２に対して、自動アプリケーション処理の設定を指示する（ステップＳ６）。なお、この指示の中には、操作部２０の記憶部に記憶された処理時刻（図３４のようにユーザにより設定された処理時刻またはデフォルトの処理時刻）を示す情報が含まれている。この指示を受けた監視モジュール２２２は、本体１０に対して、処理時刻を通知する（ステップＳ７）。その後、監視モジュール２２２は、操作部２０がユーザの操作を受け付けていない状態が所定期間継続した場合、操作部２０の状態をスリープモードに移行させる（ステップＳ８）。一方、Ｗｅｂサーバ３０１を介して監視モジュール２２２からの処理時刻を受け取った本体１０のＳＣＳ３１２は、その受け取った処理時刻を本体１０の記憶部に格納し、計時を開始する（ステップＳ９）。また、ＳＣＳ３１２は、本体１０のアイドル状態が所定期間継続した場合は、本体１０を省エネモードに移行させる（ステップＳ１０）。
【０１５３】
（予約処理の設定動作手順）
図３６は、アプリケーション処理の予約設定動作手順の一例を示すシーケンス図である。図３６を用いて、設定用ＰＣ６におけるアプリケーション処理の予約設定動作手順について説明する。
【０１５４】
ユーザは、設定用ＰＣ６において、処理予約画面制御部６０１により表示された画面に対して、アプリケーション処理の予約の設定開始の操作を行う（ステップＳ１２１）。処理予約画面制御部６０１は、機器一覧画面を表示させるための画面取得要求を、アプリマーケットサーバ２へ送信する（ステップＳ１２２）。そして、アプリマーケットサーバ２（処理予約画面送信部２７１）は、画面取得要求の応答として、機器一覧画面の情報、および各機器の機器情報を、設定用ＰＣ６へ送信する（ステップＳ１２３）。
【０１５５】
処理予約画面制御部６０１は、アプリマーケットサーバ２から機器一覧画面の情報と共に、各機器の機器情報を取得して、機器一覧画面に該各機器の機番およびモデル名を表示させる。ユーザは、表示された機器の一覧から、アプリケーション処理の設定対象なる機器の機番を選択操作する（ステップＳ１２４）。処理予約画面制御部６０１は、ユーザによって選択された機器の機番情報を、アプリマーケットサーバ２へ送信する（ステップＳ１２５）。
【０１５６】
処理予約画面制御部６０１は、アプリケーション処理の予約の対象となる選択された機器について、アプリマーケットサーバ２のアプリケーション情報から、新たにインストール可能なアプリケーションの情報を取得し、かつ、該特定の機器の現状の処理予約設定情報（最新の処理予約設定情報）を取得して、処理可能アプリケーション一覧画面を表示させる（ステップＳ１２６）。処理予約画面制御部６０１は、例えば、上述の図３３に示したように、処理可能アプリケーション一覧画面において、アプリケーションの情報として、「アプリケーションタイトル」（アプリ名）、「バージョン」、「アプリケーション状態」（現状の当該アプリケーションの状態および設定状態）、および「処理予約」を表示させる。処理予約画面制御部６０１は、一覧に表示されたアプリケーションのインストール状態（未インストール、インストール済）、および、現状の処理予約設定情報に基づいて、アプリケーション状態の表示を更新させる（ステップＳ１２７）。また、処理予約画面制御部６０１は、処理可能アプリケーション一覧画面において、上述のように表示させたアプリケーション状態に応じて、予約することができる処理の選択肢を「処理予約」の欄に選択可能に表示させる。
【０１５７】
ユーザは、処理可能アプリケーション一覧画面において、所望のアプリケーションに対して予約する処理（例えば、「インストール予約」、「インストール予約取消」、「アンインストール予約」、「アンインストール予約取消」、「更新予約」、および「更新予約取消」等）の選択操作を行う（ステップＳ１２８）。設定部６０２は、処理可能アプリケーション一覧画面で受け付けた選択操作に係る処理を、該当するアプリケーションに対して予約する処理として設定する（ステップＳ１２９）。設定情報送信部６０３は、設定部６０２により設定された情報を、処理予約設定情報として、アプリマーケットサーバ２（設定情報受信部２７２）へ送信する（ステップＳ１３０）。
【０１５８】
（自動アプリケーション処理の動作手順）
図３７は、自動アプリケーション処理の動作手順の一例を示すシーケンス図である。図３７を用いて、処理タイミング（処理時刻）に到達した場合の自動アプリケーション処理の動作手順の一例を説明する。
【０１５９】
本体１０のＳＣＳ３１２は、処理時刻に到達したことを検出すると（ステップＳ２１）、操作部２０の監視モジュール２２２に対して、処理時刻に到達した旨を通知する（ステップＳ２２）。この通知を受けた監視モジュール２２２は、通知受付部２１２に対して、処理時刻に到達した旨を通知し（ステップＳ２３）、通知受付部２１２は、アプリケーション処理実行部２２０に対して、処理時刻に到達した旨を通知する（ステップＳ２４）。この通知を受けたアプリケーション処理実行部２２０（機器情報制御部２１８）は、ＭＦＰ１の機番と共に、ＭＦＰ１にインストール済みのアプリケーション（ネイティブアプリケーション、およびウェブアプリケーション双方含む）ごとに、該アプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名と、を機器情報として取得する（ステップＳ２５）。そして、アプリケーション処理実行部２２０（アプリケーション処理情報取得部２１５）は、アプリマーケットサーバ２に対して、機器情報を含む前述の取得要求を送信する（ステップＳ２６）。この例では、アプリケーション処理実行部２２０は、本体１０のＮＡＰＴ機能３２０を介して、前述の取得要求をアプリマーケットサーバ２へ送信する。ＭＦＰ１からの取得要求を受けたアプリマーケットサーバ２は、アプリケーション処理が必要なアプリケーションの有無を判断する（ステップＳ２７）。具体的な内容は前述したとおりであるが、ここでは、アプリケーション処理が必要なアプリケーションが存在すると判断されたことを前提として以下の説明を続ける。アプリマーケットサーバ２は、取得要求への応答として、前述のアプリケーション処理情報をＭＦＰ１へ返信する（ステップＳ２８）。
【０１６０】
アプリケーション処理実行部２２０（アプリケーション処理情報取得部２１５）は、本体１０のＮＡＰＴ機能３２０を介して、アプリマーケットサーバ２からアプリケーション処理情報を取得する。そして、アプリケーション処理実行部２２０は、アプリケーション処理情報を元に、アプリケーション処理が必要なアプリケーション数を算出する（ステップＳ２９）。そして、アプリケーション処理実行部２２０（報知メッセージ通知部２１７）は、報知メッセージ表示モジュール２２３に対して、アプリケーション処理が必要なアプリケーションの数を含み、アプリケーション処理が必要なアプリケーションが存在することを報知するための報知メッセージ（例えば、上述の図２４に示す報知メッセージ）の表示を指示する（ステップＳ３０）。この指示を受けた報知メッセージ表示モジュール２２３は、報知メッセージを操作パネル２７に表示する（ステップＳ３１）。また、アプリケーション処理実行部２２０は、アプリケーション処理が必要なアプリケーションの数を示す情報をキャッシュデータとして本体１０のＨＤＤ１４に保存する（ステップＳ３２）。
【０１６１】
また、アプリケーション処理実行部２２０（アプリケーション処理制御部２１６）は、インストーラ２２１およびランチャ２２４に対して、アプリケーション処理が必要なアプリケーションのうち更新が禁止されていないアプリケーションのアプリケーション処理を要求する前述のアプリケーション処理要求を送信する（ステップＳ３３）。
【０１６２】
このアプリケーション処理要求を受けたインストーラ２２１は、アプリケーション（ネイティブアプリケーション）のアプリケーション処理を行う。このときのファームウェア更新の詳細な動作手順については図３８を用いて後述するが、インストーラ２２１は、本体１０のＮＡＰＴ機能３２０を介して、インストールまたは更新対象のアプリケーション（ネイティブアプリケーション）のダウンロードをアプリケーションサーバ３（外部サーバの一例）に要求し（ステップＳ３４）、アプリケーションサーバ３から該アプリケーションをダウンロードする（ステップＳ３５）。そして、インストーラ２２１は、そのダウンロードしたアプリケーションをＭＦＰ１にインストール（更新含む）する（ステップＳ３６）。また、インストーラ２２１は、アプリケーション処理要求で示されるアンインストール対象のアプリケーションのアンインストールを行う。
【０１６３】
また、アプリケーション処理要求を受けたランチャ２２４は、ウェブアプリケーションのアプリケーション処理を行う。具体的には、ランチャ２２４は、アプリケーション処理要求にインストールを示す処理内容が含まれる場合、該当するウェブアプリケーションに関するコンテンツ等のダウンロード先を示すウェブアプリサーバ５を示すショートカットを含むアイコンを、例えば、上述の図８に示す操作画面に登録する（ステップＳ３７）。また、ランチャ２２４は、アプリケーション処理要求に更新を示す処理内容が含まれる場合、例えば、該当するウェブアプリケーションについて既に登録されているアイコンのショートカットについて、コンテンツ等のダウンロード先を変更する。また、ランチャ２２４は、アプリケーション処理要求にアンインストールを示す処理内容が含まれる場合、該当するウェブアプリケーションに関するコンテンツ等のショートカットを含むアイコンを削除する。
【０１６４】
要するに、本実施形態では、操作部２０は、操作部２０にインストール済みおよび未インストールの１以上のアプリケーションに対してアプリケーション処理（インストール、更新またはアンインストール）するための機能を備える。当該機能は、アプリケーション処理対象のアプリケーションの自動アプリケーション処理を行う時刻である処理時刻（処理タイミング）を本体１０に送信し、処理時刻に到達した場合は、本体１０から、処理時刻に到達した旨の通知を受信する。そして、当該機能は、アプリケーション処理（ここでは、インストールまたは更新）対象のアプリケーションのダウンロードを、本体１０を介して外部サーバ（この例ではアプリケーションサーバ３）へ要求して取得し、該取得したアプリケーションをインストールする（操作部２０にアプリケーション処理対象のアプリケーションをインストールまたは更新する）。当該機能は、上述のアプリケーション処理情報取得部２１５と、上述のアプリケーション処理制御部２１６とを少なくとも含むアプリケーション（この例ではアプリマーケットアプリ２０５）と、インストーラ２２１と、ランチャ２２４と、によって実現される。操作部２０は、アプリマーケットアプリ２０５、インストーラ２２１およびランチャ２２４を有している。
【０１６５】
また、上述したように、操作部２０および本体１０は互いに異なるＩＰアドレスを有し、本体１０は、操作部２０のＩＰアドレスを本体１０のＩＰアドレスに変換する変換部（ＮＡＰＴ機能３２０）を有する。インストーラ２２１は、本体１０の変換部を介して、外部サーバからインストールまたは更新対象のアプリケーションをダウンロードする。
【０１６６】
図３７の説明を続ける。また、アプリケーション処理実行部２２０（設定部２１４）は、監視モジュール２２２に対して、自動アプリケーション処理の設定を指示する（ステップＳ３８）。この指示を受けた監視モジュール２２２は、本体１０に対して、処理時刻を通知する（ステップＳ３９）。Ｗｅｂサーバ３０１を介して監視モジュール２２２からの処理時刻を受け取った本体１０のＳＣＳ３１２は、その受け取った処理時刻を本体１０の記憶部に格納し、計時を開始する（ステップＳ４０）。また、ＳＣＳ３１２は、本体１０のアイドル状態が所定期間継続した場合は、本体１０を省エネモードに移行させる（ステップＳ４１）。
【０１６７】
図３８は、ファームウェアの更新動作手順の一例を示すシーケンス図である。図３８に示す動作は、図３７のステップＳ３３の後にアプリケーションのインストールまたは更新を行う場合のＭＦＰ１の動作手順の一例を示すシーケンス図である。インストーラ２２１は、本体１０のＮＡＰＴ機能３２０を介して、前述の判定要求情報をアプリケーションサーバ３へ送信する（ステップＳ５１）。判定要求情報を受信したアプリケーションサーバ３は、前述の妥当性判定を行い（ステップＳ５２）、その結果を示す判定結果情報をＭＦＰ１へ送信する（ステップＳ５３）。インストーラ２２１は、本体１０のＮＡＰＴ機能３２０を介して、判定結果情報を受信する。
【０１６８】
アプリケーションサーバ３から受信した判定結果情報が、判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションはＭＦＰ１で利用できないことを示す場合、インストーラ２２１は、前述のファームウェア更新画面を表示する制御を行う（ステップＳ５４）。なお、アプリケーションサーバ３から受信した判定結果情報が、判定要求情報に含まれるプロダクトＩＤで識別されるアプリケーションはＭＦＰ１で利用できることを示す場合は、上述の図３７に示すステップＳ３４以降の処理となる。ステップＳ５４の後、インストーラ２２１は、ファームウェア更新画面を介して、ファームウェアを更新する指示を受け付けた場合（ステップＳ５５）、本体１０のＳＣＳ３１２（パッケージ取得部２５１）に対して、最新版のパッケージの取得を指示する（ステップＳ５６）。この指示を受けたＳＣＳ３１２（パッケージ取得部２５１）は、前述のパッケージリクエストをファームウェア配信サーバ４に送信し（ステップＳ５７）、その応答として、最新版のパッケージをファームウェア配信サーバ４から取得し、取得した最新版のパッケージをＨＤＤ１４に保存する（ステップＳ５８）。
【０１６９】
次に、ＳＣＳ３１２（分解部２５２）は、ステップＳ５８で取得した最新版のパッケージを、第２のファームウェアと第３のファームウェアとに分解する（ステップＳ５９）。そして、ＳＣＳ３１２（第１の導入制御部２５４）は、ステップＳ５９の分解で得られた第３のファームウェアを構成するプログラムおよびデータ等のファイルを展開して必要な設定を行う（ステップＳ６０）。なお、この段階では、本体１０の再起動は行わない。
【０１７０】
次に、ＳＣＳ３１２は、第２のファームウェアの導入をインストーラ２２１に指示する。前述したように、この例では、ＳＣＳ３１２（アドレス情報送信部２５３）は、ＨＤＤ１４のうち第２のファームウェアが記憶された領域を特定可能なアドレス情報をインストーラ２２１へ送信する（ステップＳ６１）。インストーラ２２１（読出部２４３）は、ＨＤＤ１４のうち、ＳＣＳ３１２から受信したアドレス情報により特定される領域から、第２のファームウェアを読み出す（ステップＳ６２）。次に、インストーラ２２１は、第２のファームウェアを構成するプログラムおよびデータ等のファイルを展開して必要な設定を行う（ステップＳ６３）。そして、インストーラ２２１は、ＯＳの起動中は改変できないファイル以外の設定が完了した後、操作部２０の再起動を行い、ＯＳの起動中は改変できないファイルの設定を行う（ステップＳ６４）。これにより、操作部２０に対する第２のファームウェアの導入が完了する。
【０１７１】
操作部２０の再起動が完了し、操作部２０および本体１０の再接続後、本体１０のＳＣＳ３１２は、インストーラ２２１に、再度、第２のファームウェアの導入を指示する（ステップＳ６５）。この段階では、操作部２０に対する第２のファームウェアの導入は完了しているので、この指示を受けたインストーラ２２１は、即時に、第２のファームウェアの導入が完了していることを示す応答をＳＣＳ３１２へ返す（ステップＳ６６）。この応答を受けたＳＣＳ３１２（第１の導入制御部２５４）は、本体１０の再起動を行い、ＯＳの起動中は改変できないファイルの設定を行う（ステップＳ６７）。これにより、本体１０に対する第３のファームウェアの導入も完了する。
【０１７２】
ステップＳ６７の処理が完了すると、ＳＣＳ３１２は、本体１０に対する第３のファームウェアの導入が完了したことをインストーラ２２１へ通知する（ステップＳ６８）。この通知を受けたインストーラ２２１は、アプリケーションサーバ３に対して、再度、妥当性判定を要求する。より具体的には、インストーラ２２１は、本体１０のシステムモジュールからモジュール情報を再取得し、その再取得したモジュール情報と、インストールまたは更新が必要なアプリケーションを識別するプロダクトＩＤ（アプリケーション処理要求に含まれていたプロダクトＩＤ）とを含む判定要求情報を、本体１０のＮＡＰＴ機能３２０を介してアプリケーションサーバ３へ送信する（ステップＳ６９）。上記と同様に、判定要求情報を受信したアプリケーションサーバ３は、上述の妥当性判定を行い（ステップＳ７０）、その結果を示す判定結果情報をＭＦＰ１へ送信する（ステップＳ７１）。インストーラ２２１は、本体１０のＮＡＰＴ機能３２０を介して判定結果情報を受信する。
【０１７３】
このように、ファームウェアの更新は、アプリケーションがインストールまたは更新される前に実行されるものとしてる。これによって、例えば、複数のアプリケーションを更新しようとして一部が正常更新後に、一部が更新失敗した場合等に、正常更新したアプリケーションが起動できなくなる等の不具合の発生を防止することができる。ただし、ファームウェアの更新は、アプリケーションのインストールまたは更新の前に実行されることに制限するものではなく、順序が逆であってもよい。なお、図３８に示したように、ファームウェアが自動で更新される動作を示したが、これに限定されるものではなく、ファームウェアについては、適時に管理者等によって手動で更新を行うものとしてもよい。
【０１７４】
図３９は、アプリケーション処理の完了後の動作手順の一例を示すシーケンス図である。図４０は、報知メッセージの一例を示す図である。図３９および図４０を用いて、アプリケーション処理の完了後のＭＦＰ１の動作手順の一例を説明する。
【０１７５】
インストーラ２２１およびランチャ２２４は、それぞれ、アプリケーション処理が必要なアプリケーション（前述のアプリケーション処理要求に含まれるプロダクトＩＤで識別されるアプリケーション）のアプリケーション処理が完了した場合、その旨を示す処理完了通知をアプリケーション処理制御部２１６へ返信する（ステップＳ８１）。処理完了通知を受けたアプリケーション処理制御部２１６は、アプリケーション処理が完了したことを機器情報制御部２１８へ通知する（ステップＳ８２）。この通知を受けた機器情報制御部２１８は、ＭＦＰ１の機番と共に、ＭＦＰ１にインストール済みのアプリケーション（ネイティブアプリケーション、およびウェブアプリケーション双方含む）ごとに、該アプリケーションを識別するプロダクトＩＤと、バージョンと、アプリ名と、を機器情報として取得する（ステップＳ８３）。機器情報制御部２１８は、取得した機器情報を、アプリケーション処理情報取得部２１５へ送る（ステップＳ８４）。機器情報を受けたアプリケーション処理情報取得部２１５は、本体１０のＮＡＰＴ機能３２０を介して、該機器情報を含む取得要求をアプリマーケットサーバ２に送信する（ステップＳ８５）。ＭＦＰ１からの取得要求を受けたアプリマーケットサーバ２は、アプリケーション処理が必要なアプリケーションの有無を判断する（ステップＳ８６）。これによって、アプリマーケットサーバ２で管理している機器（ここではＭＦＰ１）の機器情報が最新の情報に更新されることになる。また、具体的な内容は前述したとおりであるが、ここでは、アプリケーション処理が必要なアプリケーションが存在しないと判断されたことを前提として以下の説明を続ける。アプリマーケットサーバ２は、取得要求への応答として、前述のアプリケーション処理不要情報をＭＦＰ１へ返信する（ステップＳ８７）。アプリケーション処理情報取得部２１５は、本体１０のＮＡＰＴ機能３２０を介して、アプリマーケットサーバ２からアプリケーション処理不要情報を受信する。
【０１７６】
アプリケーション処理情報取得部２１５は、アプリマーケットサーバ２からアプリケーション処理不要情報を取得した場合、本体１０のＨＤＤ１４に保存されたキャッシュデータをクリア（消去）する（ステップＳ８８）。そして、アプリケーション処理情報取得部２１５は、報知メッセージ通知部２１７に対して、アプリケーション処理が必要なアプリケーションが存在しないことを通知する（ステップＳ８９）。この通知を受けた報知メッセージ通知部２１７は、報知メッセージ表示モジュール２２３に対して、全てのアプリケーションは最新であることを示す報知メッセージの表示を指示する（ステップＳ９０）。この指示を受けた報知メッセージ表示モジュール２２３は、例えば、図４０に示すような報知メッセージを操作パネル２７に表示する（ステップＳ９１）。なお、何らかの原因で、図３７で示したアプリケーション処理情報が示すアプリケーション処理がすべて完了できなかった場合（例えば、ネットワーク８の障害発生によりアプリケーションをダウンロードできなかったためにインストールができなかった場合等）、その旨を示す報知メッセージを操作パネル２７に表示させるものとしてもよい。また、ステップＳ９０およびＳ９１のタイミングで、上述の図３７のステップＳ３０で表示させていた報知メッセージを消すことによって、アプリケーション処理が正常に完了し、全てのアプリケーションは最新であることを示すものとしてもよい。
【０１７７】
以上に説明したように、本実施形態のＭＦＰ１は、インストール済みおよび未インストールの１以上のアプリケーションのうち、アプリケーション処理（すなわち、インストール、更新、およびアンインストール）が必要なアプリケーションを示すアプリケーション処理情報をアプリマーケットサーバ２から取得し、その取得したアプリケーション処理情報が示すアプリケーションについてアプリケーション処理の制御を行う。本実施形態によれば、アプリの自動アプリケーション処理に際して、ユーザは、アプリケーション処理が必要なアプリの有無の判断を行って当該処理をＭＦＰ１側で操作する必要は無く、予め外部装置（例えば、設定用ＰＣ６）でＭＦＰ１に対するアプリケーション処理の予約設定を行っておくことで、ＭＦＰ１は、アプリケーション処理が必要なアプリを示す情報（アプリケーション処理情報）をアプリマーケットサーバ２から取得するだけで済むので、処理が効率的になる。すなわち、本実施形態によれば、ＭＦＰ１について、アプリケーションに関する処理を、自動で効率よく実施することができる。
【０１７８】
また、例えば、ＭＦＰ１を含むＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等について外部からのアクセスをブロックするために、ＭＦＰ１（すなわち当該ＬＡＮ）と、アプリマーケットサーバ２とを通信接続するネットワーク上にファイアウォールが設置されている場合を想定する。この場合、アプリマーケットサーバ２からＭＦＰ１へアクセスして、インストールおよび更新等のアプリケーション処理を実行するプッシュ型の処理では、上述のファイアウォールが障壁となって処理の効率が悪くなる。しかし、本実施形態音ＭＦＰ１のように、処理時刻に到達した場合、上述の取得要求をアプリマーケットサーバ２へ自発的に送信してアプリケーション処理情報を取得するプル型の処理を実行するものとしている。これによって、ファイアウォールにより不正な外部アクセスをブロックしつつ、アプリケーションのインストール、更新およびアンインストールについての自動処理を実現することができる。
【０１７９】
また、本体１０とは独立したＣＰＵおよびＯＳを持つ操作部２０は、本体１０に一体的に搭載されているものの、実体は独立して制御される別の装置であるため、操作部２０が、ネットワークインターフェースを有する本体１０を介して、外部のサーバ装置と通信する仕組みが無いという課題があった。操作部２０が本体１０側のＮＡＰＴ機能３２０によるアドレス変換を用いることで、本体１０側が有するネットワークインターフェース（例えば、通信Ｉ／Ｆ１５）を用いて、アプリマーケットサーバ２等の外部のサーバ装置と通信し、アプリケーション処理の情報取得、一覧表示、操作部２０にインストールまたは更新するアプリケーションのダウンロードを行うことができる。また、本体１０と操作部２０とは別個のＩＰアドレスを有するため、画像形成装置としては２つのＩＰアドレスを有することになるが、ＮＡＰＴ機能３２０によるアドレス変換により、操作部２０から本体１０経由で通信する場合でも、外部のサーバ装置から見て単一の装置として識別され、互いに通信接続することができる。
【０１８０】
なお、上述の説明では、予約設定されたアプリケーション処理の対象がＭＦＰ１であるものとして説明したが、これに限定されるものではなく、アプリケーションのインストール、更新、またはアンインストール（アプリケーション処理）が可能な一般の電子機器であれば適用することが可能である。
【０１８１】
［第２の実施形態］
次に、第２の実施形態について説明する。なお、上述の第１の実施形態と共通する部分については適宜に説明を省略する。上述のように、操作部２０は、操作部２０がユーザの操作を受け付けていない状態が所定期間継続した場合、操作部２０の状態を、操作部２０が通常動作可能な操作部通常状態よりも消費電力が小さい操作部省エネ状態に遷移させる制御を行う第１の省エネ制御部（監視モジュール２２２の機能）を備え、本体１０は、本体１０が画像処理を実行しないアイドル状態が所定期間継続した場合、本体１０の状態を、本体１０が通常動作可能な本体通常状態よりも消費電力が小さい本体省エネ状態に遷移させる制御を行う第２の省エネ制御部（ＳＣＳ３１２）を備えている。本実施形態では、操作部２０が操作部省エネ状態であり、かつ、本体１０が本体省エネ状態のときに処理時刻（処理タイミング）に到達した場合、操作部２０の監視モジュール２２２（第１の省エネ制御部）は、操作部２０を操作部通常状態に復帰させる一方、本体１０のＳＣＳ３１２（第２の省エネ制御部）は、本体１０を本体省エネ状態に維持する。上述したように、本体省エネ状態（省エネモード）は、計時機能およびネットワーク８と通信する機能のみが動作可能な状態とすることができるが、これに限られるものではない。
【０１８２】
上述の第１の実施形態と同様に、処理時刻に到達した場合、ＳＣＳ３１２は、その旨を監視モジュール２２２へ通知する。このとき、ＳＣＳ３１２は本体１０を本体省エネ状態に維持する。ＳＣＳ３１２からの通知を受けた監視モジュール２２２は、操作部２０を操作部通常状態に復帰させる制御を行い、アプリマーケットアプリ２０５（通知受付部２１２）に対して、処理時刻に到達した旨を通知する。以降の動作は上述の第１の実施形態と同様である。本実施形態によれば、ＭＦＰ１の消費電力をさらに低減できるというメリットがある。
【０１８３】
なお、上述の各実施形態では、本体１０のＳＣＳ３１２が、処理時刻に到達したか否かを検出する機能を有しているが、これに限らず、例えば、操作部２０の監視モジュール２２２が、処理時刻に到達したか否かを検出する機能（設定された処理時刻を保持し、計時する機能）を有する形態であってもよい。この形態において、監視モジュール２２２は、処理時刻に到達したことを検出した場合、その旨をアプリマーケットアプリに通知する。以降の動作は上述の第１の実施形態と同様になる。なお、本体１０に対しては、通知してもよいし、通知しなくてもよい。本体１０のＳＣＳ３１２は、上述の本体省エネ状態のときに、操作部２０の監視モジュール２２２から処理時刻に到達した旨の通知を受けても、本体１０を本体省エネ状態に維持することになる。
【０１８４】
以上、本発明に係る実施形態について説明したが、本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、各実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１８５】
また、上述の実施形態では、本体１０および操作部２０は、別々のオペレーティングシステムで互いに独立して動作しているが、これに限らず、例えば、本体１０および操作部２０が同じオペレーティングシステムで動作する形態であってもよい。また、例えば、上述のアプリマーケットサーバ２と、アプリケーションサーバ３とを統合した１つのサーバが設けられる形態であってもよい。
【０１８６】
また、上述した実施形態の情報処理システム１００（ＭＦＰ１、アプリマーケットサーバ２、アプリケーションサーバ３、ファームウェア配信サーバ４、ウェブアプリサーバ５、設定用ＰＣ６等）で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【０１８７】
１  ＭＦＰ
２  アプリマーケットサーバ
３  アプリケーションサーバ
４  ファームウェア配信サーバ
５  ウェブアプリサーバ
６  設定用ＰＣ
８  ネットワーク
１０  本体
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＨＤＤ
１５  通信Ｉ／Ｆ
１６  接続Ｉ／Ｆ
１７  エンジン部
１８  バス
２０  操作部
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  フラッシュメモリ
２５  通信Ｉ／Ｆ
２６  接続Ｉ／Ｆ
２７  操作パネル
２８  バス
３０  通信路
３２  ＣＰＵ
３３  ＲＯＭ
３４  ＲＡＭ
３５  通信Ｉ／Ｆ
３６  入力装置
３７  表示装置
５０  インストールボタン
５１  アイコン
１００  情報処理システム
１０１  アプリ層
１０２  サービス層
１０３  ＯＳ層
２０１  アプリ層
２０２  サービス層
２０３  ＯＳ層
２０５  アプリマーケットアプリ
２０６  システムソフトウェア
２１１  アプリケーション一覧画面制御部
２１２  通知受付部
２１３  設定ＵＩ部
２１４  設定部
２１５  アプリケーション処理情報取得部
２１６  アプリケーション処理制御部
２１７  報知メッセージ通知部
２１８  機器情報制御部
２２０  アプリケーション処理実行部
２２１  インストーラ
２２２  監視モジュール
２２３  報知メッセージ表示モジュール
２２４  ランチャ
２３０  判定要求情報送信部
２３１  判定結果情報受信部
２３２  ファームウェア更新画面制御部
２３３  第１の制御部
２３４  インストール制御部
２４０  第２の制御部
２４１  指示部
２４２  アドレス情報受信部
２４３  読出部
２４４  第２の導入制御部
２５０  第３の制御部
２５１  パッケージ取得部
２５２  分解部
２５３  アドレス情報送信部
２５４  第１の導入制御部
２６１  アプリケーション一覧画面保持部
２６２  アプリケーション一覧画面送信部
２６３  アプリケーション情報記憶部
２６４  判断部
２６６  アプリケーション処理情報送信部
２６７  アプリケーション処理不要情報送信部
２７０  処理予約画面保持部
２７１  処理予約画面送信部
２７２  設定情報受信部
２７３  設定情報保持部
３０１  Ｗｅｂサーバ
３０２  コピーアプリ
３０３  スキャンアプリ
３０４  プリントアプリ
３０５  ＦＡＸアプリ
３１１  ＥＣＳ
３１２  ＳＣＳ
３１３  ＮＣＳ
３１５  本体内部ＡＰＩ
３２０  ＮＡＰＴ機能
３２１  対応情報記憶部
３２２  判定部
３２３  判定結果情報送信部
３２４  アプリケーション保持部
３２５  アプリケーション送信部
４１１  パッケージ保持部
４１２  パッケージ送信部
５０１  ウェブアプリコンテンツ保持部
５０２  ウェブアプリコンテンツ送信部
６０１  処理予約画面制御部
６０２  設定部
６０３  設定情報送信部
【先行技術文献】
【特許文献】
【０１８８】
【特許文献１】特開２００５−２９７２３７号公報
【図１】
2019211876.tif 000003
【図２】
2019211876.tif 000004
【図３】
2019211876.tif 000005
【図４】
2019211876.tif 000006
【図５】
2019211876.tif 000007
【図６】
2019211876.tif 000008
【図７】
2019211876.tif 000009
【図８】
2019211876.tif 000010
【図９】
2019211876.tif 000011
【図１０】
2019211876.tif 000012
【図１１】
2019211876.tif 000013
【図１２】
2019211876.tif 000014
【図１３】
2019211876.tif 000015
【図１４】
2019211876.tif 000016
【図１５】
2019211876.tif 000017
【図１６】
2019211876.tif 000018
【図１７】
2019211876.tif 000019
【図１８】
2019211876.tif 000020
【図１９】
2019211876.tif 000021
【図２０】
2019211876.tif 000022
【図２１】
2019211876.tif 000023
【図２２】
2019211876.tif 000024
【図２３】
2019211876.tif 000025
【図２４】
2019211876.tif 000026
【図２５】
2019211876.tif 000027
【図２６】
2019211876.tif 000028
【図２７】
2019211876.tif 000029
【図２８】
2019211876.tif 000030
【図２９】
2019211876.tif 000031
【図３０】
2019211876.tif 000032
【図３１】
2019211876.tif 000033
【図３２】
2019211876.tif 000034
【図３３】
2019211876.tif 000035
【図３４】
2019211876.tif 000036
【図３５】
2019211876.tif 000037
【図３６】
2019211876.tif 000038
【図３７】
2019211876.tif 000039
【図３８】
2019211876.tif 000040
【図３９】
2019211876.tif 000041
【図４０】
2019211876.tif 000042