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