(57)【要約】      （修正有）【課題】アプリケーションをインストールする指示を行った後のユーザの認証状態に関わらず、該ユーザに対応する画面に該アプリケーションの機能を呼び出す呼出画像を配置する。【解決手段】対応情報記憶部１１１は、ユーザごとに呼出画像の位置を示す第１の配置情報を記憶する。第１の表示制御部１３１は、認証されたユーザに対応付けられた第１の配置情報に基づいて呼出画像を配置した画面を表示部に表示する。第１の取得部１１５は、ユーザの操作に応じてアプリケーション一覧を取得し、第２の表示制御部１３２に表示する。第２の取得部１１６は、該ユーザに対応付けられた第１の配置情報を取得する。第３の取得部１２０は、インストール部１１７によってユーザの選択したアプリケーションに含まれる、呼出画像の予め定められた位置を示す第２の配置情報を取得する。更新部１２１は、第２の配置情報を第１の配置情報に追加して、第１の配置情報を更新する。【選択図】図４
2017122963.tif 000002
【特許請求の範囲】
【請求項１】
１以上のサーバを含むサーバシステムと通信可能な情報処理装置であって、
１以上のユーザごとに、アプリケーションの機能を呼び出すための呼出画像の位置を示す第１の配置情報を対応付けた対応情報を記憶する対応情報記憶部と、
ユーザが前記情報処理装置を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、前記第１のユーザ情報と、前記情報処理装置を使用する権限を有するユーザを識別する第２のユーザ情報とを比較して前記認証処理を実行する認証部と、
前記認証部により認証されたユーザに対応付けられた前記第１の配置情報に基づいて前記呼出画像を配置した画面を表示部に表示する制御を行う第１の表示制御部と、
前記認証部により認証されたユーザの操作に応じて、１以上のアプリケーションごとに、該アプリケーションをインストールすることを指示するための表示情報が対応付けられたアプリケーション一覧画面を取得する第１の取得部と、
前記第１の取得部により取得された前記アプリケーション一覧画面を前記表示部に表示する制御を行う第２の表示制御部と、
前記認証部により認証されたユーザによって何れかの前記表示情報が押下された場合、該ユーザに対応付けられた前記第１の配置情報を前記対応情報記憶部から取得する第２の取得部と、
前記認証部により認証されたユーザによって押下された前記表示情報に対応するインストール命令で識別されるアプリケーションを前記サーバシステムに要求し、前記サーバシステムから該アプリケーションを受信するインストール部と、
前記インストール部によって受信されたアプリケーションに含まれる、該アプリケーションに対応する前記呼出画像の予め定められた位置を示す第２の配置情報を取得する第３の取得部と、
前記第３の取得部により取得された前記第２の配置情報を、前記第２の取得部により取得された前記第１の配置情報に追加して、前記表示情報を押下したユーザに対応付けられた前記第１の配置情報を更新する更新部と、を備える、
情報処理装置。
【請求項２】
前記更新部は、
前記第３の取得部により取得された前記第２の配置情報が示す位置が、前記第２の取得部により取得された前記第１の配置情報が示す位置と同じである場合は、前記第３の取得部により取得された前記第２の配置情報が示す位置を画面上の空いている位置に変更する、
請求項１に記載の情報処理装置。
【請求項３】
前記第１の表示制御部は、
前記認証部により認証された最新のユーザと、前記表示情報を押下したユーザとが同一の場合、前記更新部により更新された前記第１の配置情報に基づいて前記呼出画像を配置した画面を前記表示部に表示する制御を行う、
請求項１または２に記載の情報処理装置。
【請求項４】
前記インストール部は、
前記表示情報を押下したユーザが認証された状態を破棄するログアウト処理が行われた後も、該選択されたインストール命令の実行を継続する、
請求項１乃至３のうちの何れか１項に記載の情報処理装置。
【請求項５】
前記インストール部は、
前記アプリケーション一覧画面に含まれる何れかの前記表示情報が押下された場合、該押下された前記表示情報に対応するアプリケーションを識別するアプリケーション識別情報を含み、かつ、該アプリケーションを前記情報処理装置で利用できるか否かを判定する妥当性判定を要求する判定要求を、１以上のサーバを含むサーバシステムへ送信する判定要求送信部と、
前記判定要求の応答として、前記妥当性判定の結果を示す判定結果を前記サーバシステムから受信する判定結果受信部と、
前記判定結果受信部により受信された前記判定結果が、前記判定要求に含まれる前記アプリケーション識別情報で識別されるアプリケーションは前記情報処理装置で利用できることを示す場合、該アプリケーションに対応する前記インストール命令を実行する命令実行部と、を含む、
請求項１乃至４のうちの何れか１項に記載の情報処理装置。
【請求項６】
前記インストール部は、
前記判定結果受信部により受信された前記判定結果が、前記判定要求に含まれる前記アプリケーション識別情報で識別されるアプリケーションは前記情報処理装置で利用できないことを示す場合、前記情報処理装置の動作を制御するファームウェアを更新するための制御を行う更新制御部をさらに含む、
請求項５に記載の情報処理装置。
【請求項７】
前記更新制御部は、最新版のファームウェアを示す第１のファームウェアを前記情報処理装置にインストールするための制御を行う、
請求項６に記載の情報処理装置。
【請求項８】
前記情報処理装置は、操作を受け付ける操作部と、前記操作部で受け付けた前記操作に応じた動作を行う本体と、を備え、
前記第１のファームウェアは、前記操作部の動作を制御する操作部用ファームウェアの最新版を示す第２のファームウェアと、前記本体の動作を制御する本体用ファームウェアの最新版を示す第３のファームウェアとから構成される、
請求項７に記載の情報処理装置。
【請求項９】
ユーザが情報処理装置を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、前記第１のユーザ情報と、前記情報処理装置を使用する権限を有するユーザを識別する第２のユーザ情報とを比較して前記認証処理を実行する認証ステップと、
１以上のユーザごとに、アプリケーションの機能を呼び出すための呼出画像の位置を示す第１の配置情報を対応付けた対応情報を記憶する対応情報記憶部に記憶された前記対応情報のうち、前記認証ステップにより認証されたユーザに対応付けられた前記第１の配置情報に基づいて前記呼出画像を配置した画面を表示部に表示する制御を行う第１の表示制御ステップと、
前記認証ステップにより認証されたユーザの操作に応じて、１以上のアプリケーションごとに、該アプリケーションをインストールすることを指示するための表示情報が対応付けられたアプリケーション一覧画面を取得する第１の取得ステップと、
前記第１の取得ステップにより取得された前記アプリケーション一覧画面を前記表示部に表示する制御を行う第２の表示制御ステップと、
前記認証ステップにより認証されたユーザによって何れかの前記表示情報が押下された場合、該ユーザに対応付けられた前記第１の配置情報を、前記対応情報を記憶する対応情報記憶部から取得する第２の取得ステップと、
前記認証ステップにより認証されたユーザによって押下された前記表示情報に対応するインストール命令で識別されるアプリケーションを、１以上のサーバを含むサーバシステムに要求し、前記サーバシステムから該アプリケーションを受信するインストールステップと、
前記インストールステップによって受信されたアプリケーションに含まれる、該アプリケーションに対応する前記呼出画像の予め定められた位置を示す第２の配置情報を取得する第３の取得ステップと、
前記第３の取得ステップにより取得された前記第２の配置情報を、前記第２の取得ステップにより取得された前記第１の配置情報に追加して、前記表示情報を押下したユーザに対応付けられた前記第１の配置情報を更新する更新ステップと、を含む、
情報処理方法。
【請求項１０】
情報処理装置に搭載されたコンピュータに、
ユーザが前記情報処理装置を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、前記第１のユーザ情報と、前記情報処理装置を使用する権限を有するユーザを識別する第２のユーザ情報とを比較して前記認証処理を実行する認証ステップと、
１以上のユーザごとに、アプリケーションの機能を呼び出すための呼出画像の位置を示す第１の配置情報を対応付けた対応情報を記憶する対応情報記憶部に記憶された前記対応情報のうち、前記認証ステップにより認証されたユーザに対応付けられた前記第１の配置情報に基づいて前記呼出画像を配置した画面を表示部に表示する制御を行う第１の表示制御ステップと、
前記認証ステップにより認証されたユーザの操作に応じて、１以上のアプリケーションごとに、該アプリケーションをインストールすることを指示するための表示情報が対応付けられたアプリケーション一覧画面を取得する第１の取得ステップと、
前記第１の取得ステップにより取得された前記アプリケーション一覧画面を前記表示部に表示する制御を行う第２の表示制御ステップと、
前記認証ステップにより認証されたユーザによって何れかの前記表示情報が押下された場合、該ユーザに対応付けられた前記第１の配置情報を、前記対応情報を記憶する対応情報記憶部から取得する第２の取得ステップと、
前記認証ステップにより認証されたユーザによって押下された前記表示情報に対応するインストール命令で識別されるアプリケーションを、１以上のサーバを含むサーバシステムに要求し、前記サーバシステムから該アプリケーションを受信するインストールステップと、
前記インストールステップによって受信されたアプリケーションに含まれる、該アプリケーションに対応する前記呼出画像の予め定められた位置を示す第２の配置情報を取得する第３の取得ステップと、
前記第３の取得ステップにより取得された前記第２の配置情報を、前記第２の取得ステップにより取得された前記第１の配置情報に追加して、前記表示情報を押下したユーザに対応付けられた前記第１の配置情報を更新する更新ステップと、を実行させるためのプログラム。
【請求項１１】
情報処理装置と、前記情報処理装置とネットワークを介して通信可能な１以上のサーバを含むサーバシステムと、を備える情報処理システムであって、
前記情報処理装置は、
１以上のユーザごとに、アプリケーションの機能を呼び出すための呼出画像の位置を示す第１の配置情報を対応付けた対応情報を記憶する対応情報記憶部と、
ユーザが前記情報処理装置を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、前記第１のユーザ情報と、前記情報処理装置を使用する権限を有するユーザを識別する第２のユーザ情報とを比較して前記認証処理を実行する認証部と、
前記認証部により認証されたユーザに対応付けられた前記第１の配置情報に基づいて前記呼出画像を配置した画面を表示部に表示する制御を行う第１の表示制御部と、
前記認証部により認証されたユーザの操作に応じて、１以上のアプリケーションごとに、該アプリケーションをインストールすることを指示するための表示情報が対応付けられたアプリケーション一覧画面を前記サーバシステムから取得する第１の取得部と、
前記第１の取得部により取得された前記アプリケーション一覧画面を前記表示部に表示する制御を行う第２の表示制御部と、
前記認証部により認証されたユーザによって何れかの前記表示情報が押下された場合、該ユーザに対応付けられた前記第１の配置情報を前記対応情報記憶部から取得する第２の取得部と、
前記認証部により認証されたユーザによって押下された前記表示情報に対応するインストール命令で識別されるアプリケーションを前記サーバシステムに要求し、前記サーバシステムから該アプリケーションを受信するインストール部と、
前記インストール部によって受信されたアプリケーションに含まれる、該アプリケーションに対応する前記呼出画像の予め定められた位置を示す第２の配置情報を取得する第３の取得部と、
前記第３の取得部により取得された前記第２の配置情報を、前記第２の取得部により取得された前記第１の配置情報に追加して、前記表示情報を押下したユーザに対応付けられた前記第１の配置情報を更新する更新部と、を備え、
前記サーバシステムは、
前記アプリケーション一覧画面を保持するアプリケーション一覧画面保持部と、
複数のアプリケーションを保持するアプリケーション保持部と、
前記アプリケーション一覧画面を前記情報処理装置へ送信するアプリケーション一覧画面送信部と、
前記情報処理装置からの前記要求に応じて、前記複数のアプリケーションのうちの何れかのアプリケーションを前記情報処理装置へ送信するアプリケーション送信部と、を備える、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
従来、スマートデバイス等の端末にアプリケーションをインストールしたタイミングで、端末のホーム画面上に、該アプリケーションの機能を呼び出すためのアイコンを表示する手法が知られている。また、ＭＦＰのような共有端末において、ログイン中のユーザ毎にホーム画面上のアイコンの配置を示す情報を登録しておき、ログインまたはログアウトが行なわれたタイミングでホーム画面上のアイコンの配置を切り替える手法も知られている。
【０００３】
例えば特許文献１には、ブラウザからインストール指示を行なうことで、アプリケーションをインストールし、ブラウザ上に該アプリケーションを起動するためのアイコンを表示する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に開示された技術では、例えばアプリケーションのインストール中に該アプリケーションのインストールを指示したユーザがログアウトした場合、該ユーザに対応するホーム画面には、ログアウトする前のインストール指示は反映されない。すなわち、その後に該ユーザがログインし直しても、該ユーザに対応するホーム画面には、該ユーザがインストールを指示したアプリケーションを起動するためのアイコンが表示されない。
【０００５】
したがって、従来においては、アプリケーションをインストールする指示を行った後のユーザの認証状態に関わらず、該ユーザに対応する画面（ホーム画面）に該アプリケーションの機能を呼び出すための呼出画像を配置する仕組みは存在しなかった。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、１以上のサーバを含むサーバシステムと通信可能な情報処理装置であって、１以上のユーザごとに、アプリケーションの機能を呼び出すための呼出画像の位置を示す第１の配置情報を対応付けた対応情報を記憶する対応情報記憶部と、ユーザが前記情報処理装置を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、前記第１のユーザ情報と、前記情報処理装置を使用する権限を有するユーザを識別する第２のユーザ情報とを比較して前記認証処理を実行する認証部と、前記認証部により認証されたユーザに対応付けられた前記第１の配置情報に基づいて前記呼出画像を配置した画面を表示部に表示する制御を行う第１の表示制御部と、前記認証部により認証されたユーザの操作に応じて、１以上のアプリケーションごとに、該アプリケーションをインストールすることを指示するための表示情報が対応付けられたアプリケーション一覧画面を取得する第１の取得部と、前記第１の取得部により取得された前記アプリケーション一覧画面を前記表示部に表示する制御を行う第２の表示制御部と、前記認証部により認証されたユーザによって何れかの前記表示情報が押下された場合、該ユーザに対応付けられた前記第１の配置情報を前記対応情報記憶部から取得する第２の取得部と、前記認証部により認証されたユーザによって押下された前記表示情報に対応するインストール命令で識別されるアプリケーションを前記サーバシステムに要求し、前記サーバシステムから該アプリケーションを受信するインストール部と、前記インストール部によって受信されたアプリケーションに含まれる、該アプリケーションに対応する前記呼出画像の予め定められた位置を示す第２の配置情報を取得する第３の取得部と、前記第３の取得部により取得された前記第２の配置情報を、前記第２の取得部により取得された前記第１の配置情報に追加して、前記表示情報を押下したユーザに対応付けられた前記第１の配置情報を更新する更新部と、を備える。
【発明の効果】
【０００７】
本発明によれば、アプリケーションをインストールする指示を行った後のユーザの認証状態に関わらず、該ユーザに対応する画面に該アプリケーションの機能を呼び出すための呼出画像を配置することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、情報処理システムの概略構成の一例を示す図である。
【図２】図２は、ＭＦＰのハードウェア構成の一例を示す図である。
【図３】図３は、ＭＦＰのソフトウェア構成の一例を示す図である。
【図４】図４は、ＭＦＰが有する機能の一例を示すブロック図である。
【図５】図５は、対応情報の一例を示す図である。
【図６】図６は、ホーム画面の一例を示す図である。
【図７】図７は、アプリケーション一覧画面の一例を示す図である。
【図８】図８は、インストール命令の一例を示す図である。
【図９】図９は、アプリマーケットサーバのハードウェア構成の一例を示す図である。
【図１０】図１０は、アプリマーケットサーバが有する機能の一例を示す図である。
【図１１】図１１は、アプリケーションサーバが有する機能の一例を示す図である。
【図１２】図１２は、判定用対応情報の一例を示す図である。
【図１３】図１３は、アプリケーション情報の一例を示す図である。
【図１４】図１４は、マニフェストファイルの一例を示す図である。
【図１５】図１５は、インストール情報の一例を示す図である。
【図１６】図１６は、ファームウェア配信サーバが有する機能の一例を示す図である。
【図１７】図１７は、更新部の具体的な動作の一例を説明するための図である。
【図１８】図１８は、実施形態の情報処理システムの動作手順の一例を示すシーケンス図である。
【図１９】図１９は、変形例の情報処理システムの動作手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理方法、プログラムおよび情報処理システムの実施形態を詳細に説明する。以下では、本発明に係る情報処理装置の一例として、画像形成装置の一態様である複合機（ＭＦＰ：Multifunction  Peripheral）を例に挙げて説明するが、これに限られるものではない。なお、複合機とは、コピー機能、スキャナ機能、プリント機能、ファクス機能などの複数の異なる機能を有する装置である。
【００１０】
図１は、本実施形態の情報処理システム１００の構成の一例を示す図である。図１に示すように、情報処理システム１００は、ＭＦＰ１と、サーバシステム２とを備え、これらはインターネットなどのネットワーク８を介して相互に接続される。
【００１１】
図１の例では、サーバシステム２は、アプリマーケットサーバ３と、アプリケーションサーバ４と、ファームウェア配信サーバ５とを含む。アプリマーケットサーバ３は、ＭＦＰ１からの要求に応じて、１以上のアプリケーションごとに、当該アプリケーションをＭＦＰ１にインストールすることを指示するための表示情報が対応付けられたアプリケーション一覧画面を、ＭＦＰ１に送信する。より具体的な内容については後述する。この例では、アプリマーケットサーバ３からアプリケーション一覧画面を取得してＭＦＰ１に表示する機能を提供するアプリケーション（以下、「アプリマーケットアプリ」と称する場合がある）や、アプリケーション一覧画面に表示されたアプリケーションのうちユーザによって選択されたアプリケーションをＭＦＰ１にインストールする制御を行う機能を提供するソフトウェア（以下、「インストーラ」と称する場合がある）などのソフトウェアが、予めＭＦＰ１にインストールされている。なお、アプリマーケットアプリの機能は、Ｗｅｂブラウザの機能を提供するためのアプリケーション（ブラウザアプリ）を利用して実現されるため、「ブラウザアプリ」と総称する場合がある。ＭＦＰ１の具体的な内容については後述する。
【００１２】
アプリケーションサーバ４は、ＭＦＰ１からの要求に応じて、対象となるアプリケーションを該ＭＦＰ１で利用できるか否かを判定する妥当性判定（詳しくは後述）を行う。また、アプリケーションサーバ４は、アプリケーション一覧画面で表示されているアプリケーションを保持し、ＭＦＰ１からの要求に応じて、対象となるアプリケーションを該ＭＦＰ１へ送信する。ファームウェア配信サーバ５は、ＭＦＰ１からの要求に応じて、ＭＦＰ１の動作を制御するファームウェアを該ＭＦＰ１へ送信する。より具体的な内容については後述する。
【００１３】
次に、図２を用いて、ＭＦＰ１のハードウェア構成について説明する。図２に示すように、ＭＦＰ１は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む概念である。本体１０と操作部２０は、専用の通信路３０を介して相互に通信可能に接続されている。通信路３０は、例えばＵＳＢ（Universal  Serial  Bus）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００１４】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００１５】
まず、本体１０のハードウェア構成について説明する。図２に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００１６】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４等に格納されたプログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
【００１７】
通信Ｉ／Ｆ１５は、ネットワーク８と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。
【００１８】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００１９】
次に、操作部２０のハードウェア構成について説明する。図２に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７とを備え、これらがシステムバス２８を介して相互に接続されている。
【００２０】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）としてＲＯＭ２２またはフラッシュメモリ２４等に格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの後述する各種機能を実現する。
【００２１】
通信Ｉ／Ｆ２５は、ネットワーク８と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３０を介して本体１０と通信するためのインタフェースである。
【００２２】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態などを示す情報など）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００２３】
次に、ＭＦＰ１のソフトウェア構成について説明する。図３は、ＭＦＰ１のソフトウェア構成の一例を示す模式図である。図３に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２やＨＤＤ１４等に格納されている各種ソフトウェアである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００２４】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、単に「アプリ」と称する場合がある）である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
【００２５】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源への動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００２６】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１にも提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えばエンジン部１７）を利用した機能を実現することができる。例えばサービス層１０２のインタフェース機能は、ＷｅｂＡＰＩで提供される。操作部２０と本体１０は、通信路３０をネットワークとして通信することができる。
【００２７】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム（ＯＳ））である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
【００２８】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２及びＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能）に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアである。この例では、アプリ層２０１のアプリには、ブラウザアプリなどが含まれる。また、本実施形態では、サービス層２０２のソフトウェアには、インストーラなどが含まれる。ここでは、アプリ層２０１の各アプリケーション（図３の例では、アプリケーション１、アプリケーション２）は、インストーラと通信することができる。
【００２９】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００３０】
以上のように、本実施形態のＭＦＰ１において、本体１０と操作部２０は別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０側で設定された内容などが挙げられる。
【００３１】
また、本実施形態では、操作部２０への電力供給は、本体１０から通信路３０を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００３２】
次に、ＭＦＰ１が有する機能について説明する。図４は、ＭＦＰ１が有する機能の一例を示す図である。図４に示すように、操作部２０は、対応情報記憶部１１１と、設定管理部１１２と、表示制御部１１３と、認証部１１４と、第１の取得部１１５と、第２の取得部１１６と、インストール部１１７と、アプリケーション情報格納部１１８と、インストール情報格納部１１９と、第３の取得部１２０と、更新部１２１とを有する。また、本体１０は、ファームウェア情報管理部１５０を有する。説明の便宜上、図４では、本実施形態に関する機能を主に例示しているが、ＭＦＰ１が有する機能は、これらに限られるものではない。
【００３３】
対応情報記憶部１１１は、１以上のユーザごとに、アプリケーションの機能を呼び出すための呼出画像の位置を示す第１の配置情報を対応付けた対応情報を記憶する。この例では、呼出画像はアイコンである。図５は、対応情報の一例を示す図であり、複数のユーザごとに、該ユーザに対応する画面（ホーム画面）上における複数のアイコンと１対１に対応する複数の第１の配置情報が対応付けられている。
【００３４】
設定管理部１１２は、ログインした（認証された）ユーザごとに、ホーム画面（初期画面）を切り替えて表示するか、共通のホーム画面を表示するかを設定する。例えば設定管理部１１２は、ユーザの操作に応じて、上記設定を切り替えることもできる。説明の便宜上、以下では、ログインしたユーザごとにホーム画面を切り替えて表示する設定になっていることを前提として説明する。
【００３５】
表示制御部１１３は、各種の画面を操作パネル２７（表示部）に表示する制御を行う。例えば表示制御部１１３は、ユーザがＭＦＰ１を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報の入力を促すログイン画面を操作パネル２７に表示する制御を行うこともできる。この例では、第１のユーザ情報は、ユーザＩＤとパスワードの組み合わせで構成され得るが、これに限られるものではない。また、本実施形態の表示制御部１１３は、第１の表示制御部１３１と、第２の表示制御部１３２とを有する。
【００３６】
第１の表示制御部１３１は、後述の認証部１１４により認証されたユーザに対応付けられた第１の配置情報に基づいてアイコン（呼出画像）を配置した画面を操作パネル２７に表示する制御を行う。この例では、第１の表示制御部１３１は、後述の認証部１１４から、認証したユーザを示す情報（ユーザ情報）とともに該ユーザを認証した旨の通知を受けた場合、対応情報記憶部１１１に記憶された対応情報を参照して、該ユーザに対応付けられた第１の配置情報に基づいてアイコンを配置したホーム画面（該ユーザに対応するホーム画面）を操作パネル２７に表示する制御を行うことができる。図６は、あるユーザに対応するホーム画面の一例を示す図である。ホーム画面には、ＭＦＰ１にインストール済みの複数のアプリケーションと１対１に対応する複数のアイコンの他、アプリマーケットアプリを起動するためのアイコン６も表示されている。一方、第１の表示制御部１３１は、後述の認証部１１４からユーザを認証しない旨の通知を受けた場合はホーム画面を操作パネル２７に表示する制御は行わず、例えば認証に失敗した旨の画面を操作パネル２７に表示する制御を行うこともできる。
【００３７】
第２の表示制御部１３２は、後述の第１の取得部１１５により取得されたアプリケーション一覧画面を操作パネル２７に表示する制御を行う。アプリケーション一覧画面の具体例については後述する。
【００３８】
図４の説明を続ける。認証部１１４は、ユーザがＭＦＰ１を使用する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、第１のユーザ情報と、ＭＦＰ１を使用する権限を有するユーザを識別する第２のユーザ情報とを比較して認証処理を実行する。この例では、認証部１１４は、上述のログイン画面から第１のユーザ情報を受け付けた場合、該第１のユーザ情報と、ＭＦＰ１を使用する権限を有するユーザを識別する第２のユーザ情報（予めＭＦＰ１内に登録されている）とを比較して認証処理を実行する。ここでは、認証処理は、第１のユーザ情報と、第２のユーザ情報とが一致する場合は、第１のユーザ情報を入力したユーザは、ＭＦＰ１を使用する権限を有すると判断し、第１のユーザ情報と第２のユーザ情報とが一致しない場合は、第１のユーザ情報を入力したユーザは、ＭＦＰ１を使用する権限を有していないと判断する処理である。
【００３９】
第１の取得部１１５は、認証部１１４により認証されたユーザの操作に応じて、１以上のアプリケーションごとに、該アプリケーションをインストールする命令を示すインストール命令が対応付けられたアプリケーション一覧画面を取得する。本実施形態では、ログインしたユーザがホーム画面上のアイコン６をタッチすると、第１の取得部１１５は、アプリマーケットサーバ３に、アプリケーション一覧画面を要求するアプリケーション一覧画面要求を送信する。そして、第１の取得部１１５は、アプリケーション一覧画面要求の応答として、アプリマーケットサーバ３からアプリケーション一覧画面を取得する。そして、上述したように、第２の表示制御部１３２は、第１の取得部１１５により取得されたアプリケーション一覧画面を操作パネル２７に表示する制御を行う。
【００４０】
図７は、アプリケーション一覧画面の一例を示す図である。図７の例では、アプリケーション一覧画面は、複数のアプリケーションごとに、当該アプリケーションの内容を説明する説明情報と、当該アプリケーションをインストールすることを指示するためのボタン７（表示情報の一例、以下、「インストールボタン７」と称する）とが表示される。この例では、インストーラにアプリケーションをインストールする命令（以下、「インストール命令」と称する）が、ＵＲＩの形式（例えばＵＲＬの形式でもよい）で、当該アプリケーションに対応するインストールボタン７に貼り付けられている。
【００４１】
図８は、「４９３５４」というアプリＩＤで識別されるアプリケーションに対応するインストールボタン７に貼り付けられるインストール命令の一例を示す図であり、「４９３５４」というアプリＩＤで識別されるアプリケーションをインストールする命令を表している。
【００４２】
ここで、アプリマーケットサーバ３の構成を説明する。図９は、アプリマーケットサーバ３のハードウェア構成の一例を示す図である。なお、アプリケーションサーバ４、ファームウェア配信サーバ５のハードウェア構成も図９の構成と同様である。
【００４３】
図９に示すように、アプリマーケットサーバ３は、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、通信Ｉ／Ｆ３０４と、入力装置３０５と、表示装置３０６とを備える。ＣＰＵ３０１は、アプリマーケットサーバ３の動作を統括的に制御する。ＲＯＭ３０２は、プログラム等の各種のデータを記憶する不揮発性のメモリである。ＲＡＭ３０３は、ＣＰＵ３０１が実行する各種の処理の作業領域（ワークエリア）として機能する揮発性のメモリである。通信Ｉ／Ｆ３０４は、ネットワーク８と接続するためのインタフェースである。入力装置３０５は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置３０６は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
【００４４】
図１０は、アプリマーケットサーバ３が有する機能の一例について説明する。図１０に示すように、アプリマーケットサーバ３は、アプリケーション一覧画面保持部３１１と、アプリケーション一覧画面送信部３１２とを有する。説明の便宜上、図１０では、本実施形態に関する機能を主に例示しているが、アプリマーケットサーバ３が有する機能は、これらに限られるものではない。
【００４５】
アプリケーション一覧画面保持部３１１は、上述のアプリケーション一覧画面を保持する。アプリケーション一覧画面送信部３１２は、ＭＦＰ１から上述のアプリケーション一覧画面要求を受信すると、その応答として、アプリケーション一覧画面保持部３１１に保持されているアプリケーション一覧画面をＭＦＰ１に送信する。
【００４６】
本実施形態では、上述のアプリマーケットサーバ３が有する機能（アプリケーション一覧画面送信部３１２等）は、ＣＰＵ３０１がＲＯＭ３０２等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述のアプリマーケットサーバ３が有する機能のうちの少なくとも一部が専用のハードウェア回路（半導体集積回路等）により実現されてもよい。また、上述のアプリケーション一覧画面保持部３１１は、例えばＲＯＭ３０２等により実現される。
【００４７】
図４に戻ってＭＦＰ１が有する機能の説明を続ける。第２の取得部１１６は、認証部１１４により認証されたユーザによって何れかのインストールボタン７（表示情報）が押下された場合、該ユーザに対応付けられた第１の配置情報を対応情報記憶部１１１から取得する。この例では、第２の取得部１１６は、アプリケーション一覧画面に表示された何れかのインストールボタン７の押下を受け付けた場合、認証部１１４にログイン中のユーザ（現在認証されているユーザ）を問い合わせて、ログイン中のユーザを示す情報（ユーザ情報）を受け取る。そして、第２の取得部１１６は、対応情報記憶部１１１に記憶された対応情報を参照して、認証部１１４から通知されたユーザ（インストールボタン７を押下したログイン中のユーザ）に対応付けられた第１の配置情報を取得する。本実施形態では、ブラウザアプリは、アプリケーション一覧画面に表示された複数のアプリケーションのうちの何れかのアプリケーションに対応するインストールボタン７の押下を受け付けると、そのインストールボタン７に貼り付けられたインストール命令を、操作部２０のＯＳに通知する。操作部２０のＯＳは、通知されたインストール命令を確認し、操作部２０の各アプリケーションに、当該インストール命令をブロードキャストする。そして、インストーラが、このブロードキャストされたインストール命令に反応し、認証部１１４にログイン中のユーザ（現在認証されているユーザ）を問い合わせて、ログイン中のユーザを示す情報を受け取り、対応情報記憶部１１１に記憶された対応情報を参照して、認証部１１４から通知されたユーザに対応付けられた第１の配置情報を取得する（第２の取得部１１６の機能）。
【００４８】
インストール部１１７は、認証部１１４により認証されたユーザによって押下されたインストールボタン７に対応するインストール命令で識別されるアプリケーションをアプリケーションサーバ４（サーバシステム２）に要求し、アプリケーションサーバ４から該アプリケーションを受信する。図４の例では、インストール部１１７は、判定要求送信部１４１と、判定結果受信部１４２と、命令実行部１４３と、更新制御部１４４とを含む。なお、本実施形態では、インストール部１１７の機能、および、上述の第２の取得部１１６の機能は、インストーラにより提供される。
【００４９】
判定要求送信部１４１は、アプリケーション一覧画面に含まれる何れかのインストールボタン７が押下された場合、該押下されたインストールボタン７に対応するアプリケーションを識別するアプリＩＤ（アプリケーション識別情報の一例）を含み、かつ、該アプリケーションをＭＦＰ１で利用できるか否かを判定する妥当性判定を要求する判定要求を、サーバシステム２（この例ではアプリケーションサーバ４）へ送信する。本実施形態では、インストーラは、選択されたインストールボタン７に対応するインストール命令を実行する前に、インストール対象のアプリケーション（該インストール命令に対応するアプリケーション）をＭＦＰ１で利用できるか否かを判定する妥当性判定を要求する判定要求を、アプリケーションサーバ４へ送信する（判定要求送信部１４１の機能）。
【００５０】
この例では、上述の判定要求は、選択されたインストール命令に対応するアプリケーション（インストール対象のアプリケーション）を識別するアプリＩＤと、該アプリケーションを利用するために必要な機能を提供するためのモジュールを識別するモジュール識別情報と、ＭＦＰ１に搭載された該モジュールのバージョン値を示すバージョン情報と、を含む。モジュールとは、特定の機能を提供するためのソフトウェアの単位を表す。また、バージョン値は、対応するモジュールの属性を示すとともに該モジュールが変更を重ねるたびに大きな値を示す。
【００５１】
本実施形態における判定要求は、インストール対象のアプリケーションのアプリＩＤと、ＭＦＰ１に搭載された複数のモジュールと１対１に対応する複数のモジュールＩＤ（モジュール識別情報の一例）ごとに、該モジュールＩＤで識別されるモジュールのバージョン値を示すバージョン情報を対応付けたモジュール情報とを含んでいる。ただし、判定要求の形態は、これに限られるものではない。例えば判定要求は、選択されたインストール命令に対応するアプリケーションのアプリＩＤ（この例ではインストール命令に含まれているアプリＩＤ）と、該アプリＩＤで識別されるアプリケーションを利用するために必要な機能を提供するためのモジュールを識別するモジュールＩＤと、ＭＦＰ１に搭載された、該モジュールＩＤで識別されるモジュールのバージョン値を示すバージョン情報と、を含む一方、該アプリＩＤで識別されるアプリケーションを利用するために必要としないモジュールを識別するモジュールＩＤやそのバージョン値を示すバージョン情報を含まない形態であってもよい。
【００５２】
ここで、アプリケーションサーバ４の構成を説明する。図１１は、アプリケーションサーバ４が有する機能の一例を示す図である。図１１に示すように、アプリケーションサーバ４は、判定用対応情報記憶部４１１と、判定要求受信部４１２と、判定部４１３と、判定結果送信部４１４と、アプリケーション保持部４１５と、アプリケーション送信部４１６とを有する。説明の便宜上、図１１では、本実施形態に関する機能を主に例示しているが、アプリケーションサーバ４が有する機能は、これらに限られるものではない。
【００５３】
判定用対応情報記憶部４１１は、判定用対応情報を記憶する。判定用対応情報は、複数のアプリケーションと１対１に対応する複数のアプリケーション識別情報（この例ではアプリＩＤ）ごとに、該アプリケーション識別情報で識別されるアプリケーションを利用するために必要な機能を提供するためのモジュールを識別するモジュール識別情報（この例ではモジュールＩＤ）と、該モジュール識別情報で識別されるモジュールの最低限のバージョン値（対応するアプリケーションを利用するために必要な最低限のバージョン値）を示す下限バージョン情報と、を対応付けた情報である。図１２は、判定用対応情報の一例を示す図である。
【００５４】
図１１の説明を続ける。判定要求受信部４１２は、ＭＦＰ１から上述の判定要求を受信する。判定部４１３は、判定要求受信部４１２により上述の判定要求を受信された場合、妥当性判定を行う。
【００５５】
より具体的には、判定部４１３は、ＭＦＰ１から上述の判定要求を受信した場合、上述の判定用対応情報に含まれる複数のアプリＩＤのうち、上述の判定要求に含まれるアプリＩＤと一致するアプリＩＤを特定する。そして、上述の判定用対応情報において、その特定したアプリＩＤに対応付けられたモジュールＩＤを特定し、上述の判定要求に含まれる上述のモジュール情報（ＭＦＰ１に搭載された複数のモジュールと１対１に対応する複数のモジュールＩＤごとにバージョン情報を対応付けた情報）に含まれる複数のモジュールＩＤの中から、その特定したモジュールＩＤと一致するモジュールＩＤを選択（説明の便宜上、この選択したモジュールＩＤを「選択モジュールＩＤ」と称する）するとともに、モジュール情報において該選択モジュールＩＤに対応付けられたバージョン情報を選択する（説明の便宜上、この選択したバージョン情報を「選択バージョン情報」と称する）。
【００５６】
そして、上述の判定用対応情報に含まれるアプリＩＤとモジュールＩＤの組み合わせのうち、上述の判定要求に含まれるアプリＩＤと、上述の選択モジュールＩＤとの組み合わせと一致する組み合わせを特定し、その特定した組み合わせに対応付けられた下限バージョン情報が示すバージョン値が、上述の選択バージョン情報が示すバージョン値よりも大きい場合、上述の判定要求に含まれるアプリＩＤで識別されるアプリケーションはＭＦＰ１で利用できないと判定する。一方、下限バージョン情報が示すバージョン値が、上述の選択バージョン情報が示すバージョン値以下の場合は、上述の判定要求に含まれるアプリＩＤで識別されるアプリケーションはＭＦＰ１で利用できると判定する。
【００５７】
図１１の説明を続ける。判定結果送信部４１４は、上述の妥当性判定の結果を示す判定結果をＭＦＰ１へ送信する。アプリケーション保持部４１５は、複数のアプリケーションを保持する。アプリケーション送信部４１６は、ＭＦＰ１からの要求に応じて、アプリケーション保持部４１５に保持された複数のアプリケーションのうちの何れかのアプリケーションをＭＦＰ１へ送信する。以上が、アプリケーションサーバ４の構成である。
【００５８】
本実施形態では、上述のアプリケーションサーバ４が有する機能（判定要求受信部４１２、判定部４１３、判定結果送信部４１４、アプリケーション送信部４１６等）は、ＣＰＵ３０１がＲＯＭ３０２等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述のアプリケーションサーバ４が有する機能のうちの少なくとも一部が専用のハードウェア回路（半導体集積回路等）により実現されてもよい。また、上述の判定用対応情報記憶部４１１や上述のアプリケーション保持部４１５は、例えばＲＯＭ３０２等により実現される。
【００５９】
図４に戻ってＭＦＰ１が有するインストール部１１７の機能の詳細説明を続ける。判定結果受信部１４２は、上述の判定要求の応答として、上述の妥当性判定の結果を示す判定結果をアプリケーションサーバ４から受信する。
【００６０】
命令実行部１４３は、判定結果受信部１４２により受信された判定結果が、判定要求に含まれるアプリＩＤで識別されるアプリケーションはＭＦＰ１で利用できることを示す場合、該アプリケーションに対応するインストール命令を実行する。例えばインストール命令が図８の態様であった場合、命令実行部１４３は、アプリケーションサーバ４に、「４９３５４」というアプリＩＤで識別されるアプリケーションを要求するアプリケーション要求を送信する。そして、アプリケーション要求の応答として、アプリケーションサーバ４からアプリケーションを受信する。そして、その受信したアプリケーションをアプリケーション情報格納部１１８に格納するとともに該アプリケーションをＭＦＰ１にインストールする制御を行う。なお、アプリケーション情報格納部１１８は、例えば、ＭＦＰ１内のフラッシュメモリ２４等により実現可能である。
【００６１】
この例では、アプリケーションサーバ４からダウンロードされるアプリケーションは、該アプリケーションに対応するアイコンの予め定められた位置（デフォルト位置）を示す第２の配置情報を含んでいる。より具体的には、図１３に示すように、アプリケーションは、オブジェクト本体と、マニフェストファイルとを含む情報（以下、「アプリケーション情報」と称する）から構成されている。マニフェストファイルには、アプリケーションの機能を呼び出すためのアイコンのホーム画面上のデフォルト位置を示す第２の配置情報が記載されている。図１４の例では、第２の配置情報として、アイコンが配置されるページ番号と、座標情報とが記載されているが、これに限られるものではない。
【００６２】
この例では、インストール部１１７（命令実行部１４３）は、アプリケーションのインストールが完了するたびに、その旨を示す情報（インストール完了通知）を後述の第３の取得部１２０へ送信する。この例では、インストール完了通知には、インストールが完了したアプリケーションを特定可能な情報（例えばパッケージ名やアプリ名等）が含まれている。
【００６３】
インストール部１１７の機能の詳細説明を続ける。更新制御部１４４は、上述の判定要求の応答として判定結果受信部１４２により受信された判定結果が、判定要求に含まれるアプリＩＤで識別されるアプリケーションはＭＦＰ１で利用できないことを示す場合、ＭＦＰ１の動作を制御するファームウェアを更新するための制御を行う。この例では、更新制御部１４４は、上述の判定要求の応答として判定結果受信部１４２により受信された判定結果が、判定要求に含まれるアプリＩＤで識別されるアプリケーションはＭＦＰ１で利用できないことを示す場合、該アプリケーションのインストールに必要なインストール情報（この例では該アプリケーションのアプリＩＤと、ログイン中のユーザを示す情報とを少なくとも含む情報）をインストール情報格納部１１９に書き込んでおく。図１５は、インストール情報の一例を示す図である。
【００６４】
そして、更新制御部１４４は、最新版のファームウェアを示す第１のファームウェアをＭＦＰ１にインストールするための制御を行う。ここでは、第１のファームウェアは、操作部２０の動作を制御する操作部用ファームウェアの最新版を示す第２のファームウェアと、本体１０の動作を制御する本体用ファームウェアの最新版を示す第３のファームウェアとから構成される。
【００６５】
更新制御部１４４は、本体１０のファームウェア情報管理部１５０に、第２のファームウェアと第３のファームウェアとが一体化されたパッケージ（つまり、操作部用ファームウェアの最新版と、本体用ファームウェアの最新版とが一体化されたパッケージ、以下の説明では「最新版のパッケージ」と称する場合がある）の取得を指示する。この指示を受けたファームウェア情報管理部１５０は、最新版のパッケージを要求するパッケージ要求をファームウェア配信サーバ５に送信し、その応答として、最新版のパッケージをファームウェア配信サーバ５から取得する。そして、ファームウェア情報管理部１５０は、ファームウェア配信サーバ５から取得した最新版のパッケージを、第２のファームウェアと第３のファームウェアに分解する。そして、ファームウェア情報管理部１５０は、第３のファームウェアを本体１０にインストールする制御を行うとともに、更新制御部１４４に第２のファームウェアのインストールを指示する。この指示を受けた更新制御部１４４は、第２のファームウェアを操作部２０にインストールする制御を行う。以上のようにしてＭＦＰ１のファームウェアの更新（インストール）が完了する。ファームウェアの更新完了後、インストール部１１７（命令実行部１４３）は、インストール情報格納部１１９からインストール情報を読み込み、読み込んだインストール情報に対応するアプリケーションをＭＦＰ１にインストールする制御を行う。
【００６６】
ここで、ファームウェア配信サーバ５の構成を説明する。図１６は、ファームウェア配信サーバ５が有する機能の一例について説明する。図１６に示すように、ファームウェア配信サーバ５は、パッケージ保持部５１１と、パッケージ送信部５１２とを有する。説明の便宜上、図１６では、本実施形態に関する機能を主に例示しているが、ファームウェア配信サーバ５が有する機能は、これらに限られるものではない。
【００６７】
パッケージ保持部５１１は、最新版のパッケージを保持する。パッケージ送信部５１２は、ＭＦＰ１から上述のパッケージ要求を受信すると、その応答として、パッケージ保持部５１１に保持されている最新版のパッケージをＭＦＰ１に送信する。
【００６８】
図４に戻ってＭＦＰ１が有する機能の説明を続ける。第３の取得部１２０は、インストール部１１７によって受信されたアプリケーションに含まれる、該アプリケーションに対応する呼出画像（この例ではアイコン）の予め定められた位置を示す第２の配置情報を取得する。この例では、第３の取得部１２０は、インストール部１１７から上述のインストール完了通知を受信すると、対応するアプリケーション情報をアプリケーション情報格納部１１８から読み出し、その読み出したアプリケーション情報に含まれるマニフェストファイルに記載された第２の配置情報を取得する。
【００６９】
更新部１２１は、第３の取得部１２０により取得された第２の配置情報を、第２の取得部１１６により取得された第１の配置情報に追加して、インストールボタン７を押下したユーザ（インストール命令を選択する操作を行ったユーザであると考えてもよい）に対応付けられた第１の配置情報を更新する。そして、更新した第１の配置情報を対応情報記憶部１１１に書き込む。本実施形態の更新部１２１は、第３の取得部１２０により取得された第２の配置情報が示す位置が、第２の取得部１１６により取得された第１の配置情報が示す位置と同じである場合は、第３の取得部１２０により取得された第２の配置情報が示す位置を画面上の空いている位置に変更する。これにより、既にインストール済みのアプリケーションのアイコンと、新たにインストールされたアプリケーションのアイコンとをホーム画面上に共存させることができる。
【００７０】
例えば第２の取得部１１６により、３つのアプリケーション（アプリＡ、アプリＢ、アプリＣ）と１対１に対応する３つの第１の配置情報が取得され、第３の取得部１２０により、アプリＤに対応する第２の配置情報が取得された場合を想定する。以下の説明では、アプリＡに対応する第１の配置情報が示す位置をＡ、アプリＢに対応する第１の配置情報が示す位置をＢ、アプリＣに対応する第１の配置情報が示す位置をＣ、アプリＤに対応する第２の配置情報が示す位置をＤと表す。例えば各配置情報が示す位置の関係が図１７（Ａ）のような場合（説明の便宜上、図１７において点線で囲まれた領域はアイコンが配置される領域を表す）、更新部１２１は、アプリＤに対応する第２の配置情報を、インストールボタン７を押下したユーザに対応付けられた第１の配置情報として追加する。したがって、該ユーザに対応付けられた第１の配置情報は、位置Ａを示す情報、位置Ｂを示す情報、位置Ｃを示す情報、および、位置Ｄを示す情報の４つに更新される。
【００７１】
また、例えば図１７（Ｂ）に示すように、アプリＣに対応する第１の配置情報と、アプリＤに対応する第２の配置情報とが同じである場合（位置Ｃと位置Ｄとが同じ場合）、図１７（Ｃ）に示すように、更新部１２１は、アプリＤに対応する第２の配置情報が示す位置Ｄを、画面上の空いている位置Ｄ’（この例では、アプリＣに対応する第１の配置情報が示す位置の直下の位置）に変更し、変更後の位置Ｄ’を示す情報を、インストールボタン７を押下したユーザに対応付けられた第１の配置情報として追加する。したがって、該ユーザに対応付けられた第１の配置情報は、位置Ａを示す情報、位置Ｂを示す情報、位置Ｃを示す情報、および、位置Ｄ’を示す情報の４つに更新される。
【００７２】
図１８は、本実施形態の情報処理システム１００の動作手順の一例を示すシーケンス図である。この例では、ユーザＡがログイン中であり、アプリケーション一覧画面が操作パネル２７に表示されている状態であることを前提とする。ユーザＡが、アプリケーション一覧画面上の何れかのアプリケーションのインストールボタン７を押下すると（ステップＳ１）、上述したように、インストールボタン７に貼り付けられたインストール命令がインストーラに通知される（ステップＳ２）。
【００７３】
インストーラは、認証部１１４に、現在ログイン中のユーザを問い合わせ（ステップＳ３）、その応答として、現在ログイン中のユーザを示すユーザ情報を取得する（ステップＳ４）。そして、対応情報記憶部１１１から、ステップＳ４で取得したユーザ情報に対応付けられた第１の配置情報を読み込む（ステップＳ５）。また、インストーラは、アプリケーションサーバ４に、上述の判定要求を送信する（ステップＳ６）。
【００７４】
判定要求を受信したアプリケーションサーバ４は、上述の妥当性判定を行い（ステップＳ７）、判定結果をＭＦＰ１へ送信する（ステップＳ８）。説明の便宜上、以下では判定結果が肯定である場合を例に挙げて説明する。次に、インストーラは、アプリケーションサーバ４に、上述のアプリケーション要求を送信し（ステップＳ９）、その応答として、アプリケーションサーバ４からアプリケーション（アプリケーション情報）を取得する（ステップＳ１０）。そして、インストーラは、ステップＳ１０で取得したアプリケーション情報をアプリケーション情報格納部１１８に格納し（ステップＳ１１）、インストールを行う（ステップＳ１２）。図１８の例では、ステップＳ１２のインストール実行中に、ユーザＡは、認証された状態を破棄する（認証されていない状態に戻す）ログアウトを指示する（ステップＳ１３）。この指示を受けた認証部１１４は、ユーザＡが認証された状態を破棄するログアウト処理を行う（ステップＳ１４）。この例では、インストール部１１７は、インストールボタン７を押下したユーザＡが認証された状態を破棄するログアウト処理が行われた後も、該選択されたインストール命令の実行を継続する。
【００７５】
その後、インストールが完了すると、インストーラは、インストール完了通知を第３の取得部１２０へ送信する（ステップＳ１５）。第３の取得部１２０は、アプリケーション情報格納部１１８から、インストール完了通知に対応するアプリケーション情報を読み出し（ステップＳ１６）、読み出したアプリケーション情報に含まれるマニフェストファイルに記載された第２の配置情報を取得する。そして、その取得した第２の配置情報を更新部１２１へ送信する（ステップＳ１７）。第３の取得部１２０から第２の配置情報を取得した更新部１２１は、インストーラに、インストールボタン７を押下したユーザに対応付けられた第１の配置情報（ステップＳ５で読み込まれた第１の配置情報に相当）を要求し（ステップＳ１８）、その応答として、インストールボタンを押下したユーザを示すユーザ情報と、該ユーザに対応付けられた第１の配置情報とを取得する（ステップＳ１９）。次に、更新部１２１は、第３の取得部１２０から取得した第２の配置情報を、ステップＳ１９で取得した第１の配置情報に追加して、ステップＳ１９で取得したユーザ情報に対応付けられた第１の配置情報を更新する（ステップＳ２０）。そして、更新した第１の配置情報を、対応情報記憶部１１１に書き込む（ステップＳ２１）。
【００７６】
以上に説明したように、本実施形態では、インストール命令の実行によってインストールされたアプリケーションの機能を呼び出すためのアイコンの予め定められた位置を示す第２の配置情報を、該アプリケーションのインストールを指示したユーザ（この例ではインストールボタン７を押下したユーザ）に対応付けられた第１の配置情報に追加して、該ユーザに対応付けられた第１の配置情報を更新する。したがって、アプリケーションのインストールを指示したユーザが、そのアプリケーションのインストール実行中にログアウトしても、その後に再ログインしたときに、ログアウトする前のインストール指示を反映したホーム画面を表示することができる。すなわち、本実施形態によれば、アプリケーションをインストールする指示を行った後のユーザの認証状態に関わらず、該ユーザに対応する画面（ホーム画面）に該アプリケーションの機能を呼び出すためのアイコンを配置することができる。
【００７７】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００７８】
なお、以上に説明したＭＦＰ１の各部の機能（設定管理部１１２、表示制御部１１３、認証部１１４、第１の取得部１１５、第２の取得部１１６、インストール部１１７、第３の取得部１２０、更新部１２１）は、ＣＰＵ（１１または２１）が、記憶装置（例えばＲＯＭ１２、ＨＤＤ１４、ＲＯＭ２２、フラッシュメモリ２４等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上記ＭＦＰ１の各部の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。また、上述の対応情報記憶部１１１、アプリケーション情報格納部１１８、インストール情報格納部１１９は、例えばフラッシュメモリ２４等の記憶装置により実現可能である。
【００７９】
以下、変形例を記載する。
【００８０】
（実施形態の変形例１）
例えば第１の表示制御部１３１（ブラウザアプリ）は、認証部１１４により認証された最新のユーザ（最新のログイン中のユーザ）と、インストールボタン７を押下したユーザとが同一の場合、更新部１２１により更新された第１の配置情報に基づいて呼出画像（アイコン）を配置した画面（ホーム画面）を表示部（操作パネル２７）に表示する制御を行うこともできる。図１９は、本変形例の情報処理システム１００の動作手順の一例を示すシーケンス図である。ステップＳ３１〜ステップ４４の処理内容は、図１８に示すステップＳ１〜ステップ１４の処理内容と同様である。図１９の例では、ユーザＡがログアウトした後に、ユーザＢがログインする点で図１８と異なる。図１９の例では、ステップＳ４４の後、ユーザＢは、上述の第１のユーザ情報（ユーザＩＤとパスワード）を入力する操作を行い（ステップＳ４５）、認証部１１４は上述の認証処理を行う（ステップＳ４６）。
【００８１】
説明の便宜上、以下では、ユーザＢが認証されたことを前提として説明する。ステップＳ４６の後、認証部１１４は、ブラウザアプリに、ユーザＢを示すユーザ情報とともに該ユーザＢを認証した旨を通知する（ステップＳ４７）。ここでは、この通知（認証通知）を受けたブラウザアプリは、一定期間にわたって後述の更新完了通知を待つ。一定期間にわたって更新完了通知を受信しない場合は、ブラウザアプリは、対応情報記憶部１１１からユーザＢに対応付けられた第１の配置情報を読み出し、読み出した第１の配置情報に基づいてアイコンを配置したホーム画面（ユーザＢに対応するホーム画面）を操作パネル２７に表示する制御を行うことができる。
【００８２】
ステップＳ４８〜ステップＳ５４の処理内容は、図１８に示すステップＳ１５〜ステップＳ２１の処理内容と同様である。ステップＳ５４の後、更新部１２１は、ブラウザアプリに更新完了通知を送信する（ステップＳ５５）。更新完了通知を受けたブラウザアプリは、インストーラに、インストールボタン７を押下したユーザを問い合わせ（ステップＳ５６）、その応答として、インストールボタン７を押下したユーザを示すユーザ情報を取得する（ステップＳ５７）。
【００８３】
そして、ブラウザアプリは、ステップＳ５７で取得したユーザ情報と、ステップＳ４７の認証通知に含まれるユーザ情報とが一致するか否かを判断する（ステップＳ５８）。
【００８４】
ステップＳ５８の判断結果が否定の場合、ブラウザアプリは、対応情報記憶部１１１から、ステップＳ５７で取得したユーザ情報に対応付けられた第１の配置情報を読み込む（ステップＳ５９）。一方、ステップＳ５８の判断結果が肯定の場合、ブラウザアプリは、対応情報記憶部１１１から、ステップＳ５７で取得したユーザ情報に対応付けられた第１の配置情報を読み込む（ステップＳ５９）。そして、ブラウザアプリは、ステップＳ５９で読み込んだ第１の配置情報に基づいてアイコンを配置したホーム画面を操作パネル２７に表示する制御を行う（ステップＳ６０）。
【００８５】
本変形例によれば、認証部１１４により認証された最新のユーザと、インストールボタン７を押下したユーザとが同一の場合、該ユーザに対応する更新済みのホーム画面（該インストールボタン７に対応するインストール命令の実行によりインストールされたアプリケーションを呼び出すためのアイコンを新たに配置したホーム画面）を即時に表示するので、ログアウトせずにインストールの完了を待っていた該ユーザは、直ちにアプリケーションを利用することができる。
【００８６】
（実施形態の変形例２）
上述の実施形態では、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作しているが、これに限らず、例えば本体１０と操作部２０が同じオペレーティングシステムで動作する形態であってもよい。また、例えば上述のアプリマーケットサーバ３と、アプリケーションサーバ４とを統合した１つのサーバが設けられる形態であってもよい。
【００８７】
以上に説明した実施形態および各変形例は任意に組み合わせることが可能である。
【００８８】
また、上述した実施形態の情報処理システム１００（ＭＦＰ１、アプリマーケットサーバ３、アプリケーションサーバ４、ファームウェア配信サーバ５等）で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００８９】
１      ＭＦＰ
２      サーバシステム
３      アプリマーケットサーバ
４      アプリケーションサーバ
５      ファームウェア配信サーバ
８      ネットワーク
１０    本体
２０    操作部
１００  情報処理システム
１１１  対応情報記憶部
１１２  設定管理部
１１３  表示制御部
１１４  認証部
１１５  第１の取得部
１１６  第２の取得部
１１７  インストール部
１１８  アプリケーション情報格納部
１１９  インストール情報格納部
１２０  第３の取得部
１２１  更新部
１３１  第１の表示制御部
１３２  第２の表示制御部
１４１  判定要求送信部
１４２  判定結果受信部
１４３  命令実行部
１４４  更新制御部
１５０  ファームウェア情報管理部
３１１  アプリケーション一覧画面保持部
３１２  アプリケーション一覧画面送信部
４１１  判定用対応情報記憶部
４１２  判定要求受信部
４１３  判定部
４１４  判定結果送信部
４１５  アプリケーション保持部
４１６  アプリケーション送信部
５１１  パッケージ保持部
５１２  パッケージ送信部
【先行技術文献】
【特許文献】
【００９０】
【特許文献１】特開２００１−３３７８１６号公報
【図１】
2017122963.tif 000003
【図２】
2017122963.tif 000004
【図３】
2017122963.tif 000005
【図４】
2017122963.tif 000006
【図５】
2017122963.tif 000007
【図６】
2017122963.tif 000008
【図７】
2017122963.tif 000009
【図８】
2017122963.tif 000010
【図９】
2017122963.tif 000011
【図１０】
2017122963.tif 000012
【図１１】
2017122963.tif 000013
【図１２】
2017122963.tif 000014
【図１３】
2017122963.tif 000015
【図１４】
2017122963.tif 000016
【図１５】
2017122963.tif 000017
【図１６】
2017122963.tif 000018
【図１７】
2017122963.tif 000019
【図１８】
2017122963.tif 000020
【図１９】
2017122963.tif 000021