(57)【要約】【課題】ＭＦＰのフィニッシャや人感センサなどの周辺機器を利用するアプリケーションの検索性を良くする。【解決手段】アプリケーションを配布するサーバにネットワークを介して接続され、前記アプリケーションを取得する前記サーバのサイトを閲覧するブラウザを備えた画像処理装置であって、接続されている周辺機器を検知する検知部と、前記ブラウザに設けられ、ウェブコンテンツデータに含められていて接続されている周辺機器の情報を前記検知部から取得するアプリケーションコマンドを実行する実行部と、前記ブラウザに設けられ、周辺機器を利用する前記アプリケーションについては、前記アプリケーションコマンドの実行に応じて前記検知部により当該周辺機器が検知されたことを条件として、アプリケーション一覧に表示する表示制御部と、を備える。【選択図】図２０
2018156488.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを配布するサーバにネットワークを介して接続され、前記アプリケーションを取得する前記サーバのサイトを閲覧するブラウザを備えた画像処理装置であって、
接続されている周辺機器を検知する検知部と、
前記ブラウザに設けられ、ウェブコンテンツデータに含められていて接続されている周辺機器の情報を前記検知部から取得するアプリケーションコマンドを実行する実行部と、
前記ブラウザに設けられ、周辺機器を利用する前記アプリケーションについては、前記アプリケーションコマンドの実行に応じて前記検知部により当該周辺機器が検知されたことを条件として、アプリケーション一覧に表示する表示制御部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記表示制御部は、前記周辺機器を利用する前記アプリケーションの前記アプリケーション一覧への表示に際し、当該周辺機器の名称をカテゴリとしたカテゴリ毎の表示欄に、前記周辺機器を利用する前記アプリケーションを分けて表示する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示制御部は、前記周辺機器の名称をカテゴリとしたカテゴリ毎の表示欄を表示するためのボタンを表示し、当該ボタンには前記カテゴリ毎の前記アプリケーションの数を表示する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記表示制御部は、前記周辺機器が前記検知部により検知されなかった場合、当該周辺機器の名称をカテゴリとしたカテゴリ毎の表示欄を表示するためのボタンは非表示とする、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
アプリケーションを配布するサーバと、前記サーバにネットワークを介して接続され、前記アプリケーションを取得する前記サーバのサイトを閲覧するブラウザを備えた画像処理装置と、を備えるシステムであって、
前記サーバは、
前記画像処理装置からの要求に応じて、前記アプリケーションを示す表示情報と、アプリケーションに関する処理を前記画像処理装置に実行させるアプリケーションコマンドと、を少なくとも含むウェブコンテンツデータを前記画像処理装置に送信する制御部を備え、
前記画像処理装置は、
接続されている周辺機器の検知を実行する検知部と、
前記ブラウザに設けられ、ウェブコンテンツデータに含められていて接続されている周辺機器の情報を前記検知部から取得するアプリケーションコマンドを実行する実行部と、
前記ブラウザに設けられ、周辺機器を利用する前記アプリケーションについては、前記アプリケーションコマンドの実行に応じて前記検知部により当該周辺機器が検知されたことを条件として、アプリケーション一覧に表示する表示制御部と、
を備える、
ことを特徴とするシステム。
【請求項６】
アプリケーションを配布するサーバにネットワークを介して接続され、前記アプリケーションを取得する前記サーバのサイトを閲覧するブラウザを備えた画像処理装置における情報処理方法であって、
検知部により、接続されている周辺機器を検知する検知ステップと、
前記ブラウザにより、ウェブコンテンツデータに含められていて接続されている周辺機器の情報を前記検知部から取得するアプリケーションコマンドを実行する実行ステップと、
前記ブラウザにより、周辺機器を利用する前記アプリケーションについては、前記アプリケーションコマンドの実行に応じて前記検知部により当該周辺機器が検知されたことを条件として、アプリケーション一覧に表示する表示制御ステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、システムおよび情報処理方法に関する。
【背景技術】
【０００２】
従来、ＭＦＰ（Multifunction  Peripheral）などの画像処理装置においては、画像処理装置で実行可能な複数のアプリケーション機能（コピー、スキャン、プリンタ、ファクスなど）にかかる操作を受け付ける操作表示部に追加のアプリケーションをインストールし、画像処理装置に機能を追加する技術が知られている。
【０００３】
また、これらのアプリケーションの利用を促進するため、アプリケーションを紹介し、そのまま画像処理装置にダウンロードやインストールすることができるウェブサイトやアプリケーションも開発されている。
【０００４】
特許文献１には、アプリケーションをＭＦＰにインストール可能かどうかを関数単位で比較、判断し、アプリケーションへのリンクを含むインストール可能なアプリケーションリストを表示する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術によれば、ウェブサイトからインストールするアプリケーションが、ＭＦＰのフィニッシャや人感センサなどの周辺機器の活用に特化したアプリケーションの場合、周辺機器が設けられていないＭＦＰではアプリケーション自体の利用ができない場合があるという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、ＭＦＰのフィニッシャや人感センサなどの周辺機器を利用するアプリケーションの検索性を良くすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、アプリケーションを配布するサーバにネットワークを介して接続され、前記アプリケーションを取得する前記サーバのサイトを閲覧するブラウザを備えた画像処理装置であって、接続されている周辺機器を検知する検知部と、前記ブラウザに設けられ、ウェブコンテンツデータに含められていて接続されている周辺機器の情報を前記検知部から取得するアプリケーションコマンドを実行する実行部と、前記ブラウザに設けられ、周辺機器を利用する前記アプリケーションについては、前記アプリケーションコマンドの実行に応じて前記検知部により当該周辺機器が検知されたことを条件として、アプリケーション一覧に表示する表示制御部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＭＦＰのフィニッシャや人感センサなどの周辺機器を利用するアプリケーションについては、当該周辺機器が検知された場合に、アプリケーションを探すためのＵＩであるアプリケーション一覧に動的に表示することにより、周辺機器を利用するアプリケーションの検索性を良くすることができる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかるシステムの構成の一例を示す図である。
【図２】図２は、サーバのハードウェア構成の一例を示す図である。
【図３】図３は、サーバが有する機能の一例を示す図である。
【図４】図４は、アプリ情報管理モジュールが有する機能の一例を示す図である。
【図５】図５は、第１の対応情報の一例を示す図である。
【図６】図６は、第２の対応情報の一例を示す図である。
【図７】図７は、第３の対応情報の一例を示す図である。
【図８】図８は、第４の対応情報の一例を示す図である。
【図９】図９は、制御部が有する機能の一例を示す図である。
【図１０】図１０は、アプリダウンロード管理モジュールが有する機能の一例を示す図である。
【図１１】図１１は、サーバの変形例を示す図である。
【図１２】図１２は、ＭＦＰのハードウェア構成の一例を示す図である。
【図１３】図１３は、ＭＦＰのソフトウェア構成の一例を示す図である。
【図１４】図１４は、ＭＦＰの本体が有する機能の一例を示す図である。
【図１５】図１５は、ＭＦＰの操作部が有する機能の一例を示す図である。
【図１６】図１６は、操作画面の一例を示す図である。
【図１７】図１７は、レスポンス例を示す図である。
【図１８】図１８は、アプリケーション一覧画面の一例を示す図である。
【図１９】図１９は、レスポンス例を示す図である。
【図２０】図２０は、画面の一例を示す図である。
【図２１】図２１は、画面の一例を示す図である。
【図２２】図２２は、アプリケーション一覧画面の一例を示す図である。
【図２３】図２３は、アプリケーション一覧画面の一例を示す図である。
【図２４】図２４は、インストール指示画面の一例を示す図である。
【図２５】図２５は、インストール確認画面の一例を示す図である。
【図２６】図２６は、システムの動作手順の一例を示すシーケンス図である。
【図２７】図２７は、サーバの動作例を示すフローチャートである。
【図２８】図２８は、アプリケーション一覧画面からカテゴリ画面を表示する動作手順の一例を示すシーケンス図である。
【図２９】図２９は、カテゴリ画面を生成する処理の一例を示すフローチャートである。
【図３０】図３０は、システムの動作手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、画像処理装置、システムおよび情報処理方法の実施の形態を詳細に説明する。以下では、システムに含まれる機器の一例として、画像処理装置の一態様である複合機（ＭＦＰ：Multifunction  Peripheral）を例に挙げて説明するが、これに限られるものではない。なお、複合機とは、コピー機能、スキャナ機能、プリンタ機能、ファクス機能などの複数の異なる機能を有する装置である。
【００１１】
図１は、実施の形態にかかるシステム（情報処理システム）１の構成の一例を示す図である。システム１は、クラウドコンピューティング型のサービスを実現する。
【００１２】
図１に示すように、システム１は、クラウド５と、例えばインターネットなどのネットワーク３を介してクラウド５に接続されるＭＦＰ４と、を備える。クラウド５は、複数のサーバ２で構成されるサーバ装置群を有している。図１に示すサーバ２の数は、一例を示したものであり、使用するサーバ２の数はこれに限定されない。なお、図１の例では、クラウド５側から見るとクライアントとなるシステム１に含まれる画像処理装置として、１台のＭＦＰ４のみを例示しているが、これに限られるものではなく、システム１に含まれる機器の台数および種類は任意である。例えばクライアントとなる機器として、ＰＣ（Personal  Computer）がシステム１に含まれる形態であってもよい。
【００１３】
サーバ２は、ＭＦＰ４からの要求に応じて、ＭＦＰ４が利用可能なアプリケーションを示す情報を含む表示情報と、アプリケーションに関する処理をＭＦＰ４に実行させるコマンドを示すアプリケーションコマンドを少なくとも含む画面情報とで構成されるＷｅｂコンテンツデータ（ウェブコンテンツデータ）をＭＦＰ４へ送信する。以下、サーバ２の具体的な構成を説明する。
【００１４】
図２は、サーバ２のハードウェア構成の一例を示す図である。図２に示すように、サーバ２は、ＣＰＵ（Central  Processing  Unit）３０１と、ＲＯＭ（Read  Only  Memory）３０２と、ＲＡＭ（Random  Access  Memory）３０３と、通信Ｉ／Ｆ（interface）３０４と、入力装置３０５と、表示装置３０６と、補助記憶装置３０７と、を備える。
【００１５】
ＣＰＵ３０１は、サーバ２の動作を統括的に制御する。ＲＯＭ３０２は、プログラム等の各種のデータを記憶する不揮発性のメモリである。ＲＡＭ３０３は、ＣＰＵ３０１が実行する各種の処理の作業領域（ワークエリア）として機能する揮発性のメモリである。
【００１６】
通信Ｉ／Ｆ３０４は、ネットワーク３と接続するためのインタフェースである。入力装置３０５は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置３０６は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。補助記憶装置３０７は、例えばＨＤＤ（Hard  Disk  Drive）などで構成される。
【００１７】
図３は、サーバ２が有する機能の一例を示す図である。図３に示すように、サーバ２は、アプリ情報管理モジュール２１０と、アプリダウンロード管理モジュール２３０とを有する。図３の例では、本実施形態に関するモジュールのみを例示しているが、サーバ２が有するモジュールはこれらに限られるものではない。
【００１８】
まず、アプリ情報管理モジュール２１０が有する機能を説明する。
【００１９】
図４は、アプリ情報管理モジュール２１０が有する機能の一例を示す図である。アプリ情報管理モジュール２１０は、記憶部２１１と、制御部２１２と、画面提供部２１３と、設定部２１４と、を有している。なお、図４の例では、本実施形態に関する機能を主に例示しているが、アプリ情報管理モジュール２１０が有する機能はこれらに限られるものではない。
【００２０】
図４に示すように、記憶部２１１は、アプリ情報データベース（以下、「アプリ情報ＤＢ」と称する）４０１と、ユーザ情報データベース（以下、「ユーザ情報ＤＢ」と称する）４０２と、を有する。
【００２１】
アプリ情報ＤＢ４０１は、複数のアプリケーションごとに、公開されている状態であるか否かを示す状態情報と、該アプリケーションを利用可能な機器の機種を識別する機種コードと、必須のハードウェアと、を対応付けて記憶する。本実施形態では、アプリ情報ＤＢ４０１は、図５に示す第１の対応情報と、図６に示す第２の対応情報と、図７に示す第３の対応情報と、図８に示す第４の対応情報とを記憶している。
【００２２】
図５に示すように、第１の対応情報は、ＭＦＰ４の機種ごとに割り当てられた機種ＩＤと、ＭＦＰ４の機種名と、ＭＦＰ４の機種を識別する機種コード（「機種情報」）とを対応付けた情報である。なお、例えばひとつの機種ＩＤに、複数の機種コードを対応付けてもよい。図６に示すように、第２の対応情報は、アプリケーションを識別するアプリＩＤと、該アプリケーションを利用可能な機器の機種を識別する機種コードと、該アプリＩＤで識別されるアプリケーションの最新のバージョンを示すバージョン情報と、必須のハードウェアと、を対応付けたアプリケーション管理情報である。
【００２３】
図７に示すように、第３の対応情報は、アプリＩＤと、アプリケーションが公開されている状態であるか否かを示す状態情報とを対応付けた情報である。以上の第１の対応情報と第２の対応情報と第３の対応情報との組み合わせにより、複数のアプリケーションごとに、公開されている状態であるか否かを示す状態情報と、該アプリケーションを利用可能な機器の機種を識別する機種コードと、必須のハードウェアと、を対応付けていると考えることができる。
【００２４】
また、図８に示すように、第４の対応情報は、アプリＩＤと、機器が使用される国や地域の言語を示す言語情報と、該アプリＩＤで識別されるアプリケーションの表示名称と、該アプリＩＤで識別されるアプリケーションを紹介するメッセージとを対応付けた情報である。以下の説明では、表示名称とメッセージとの組み合わせを、アプリケーションを説明するための「アプリ説明情報」と称する場合がある。
【００２５】
図４に戻って記憶部２１１の説明を続ける。ユーザ情報ＤＢ４０２は、例えば後述の設定部２１４による設定のための操作を行う権限を有するユーザの認証に必要な情報を記憶する。
【００２６】
次に、制御部２１２が有する機能を説明する。ここでは、制御部２１２が有する機能は、サーバ２側のアプリケーションプログラミングインタフェース（ＡＰＩ）により提供される。
【００２７】
ここで、説明の便宜上、制御部２１２が有する機能を説明する前に、画面提供部２１３の機能を説明する。画面提供部２１３は、ＭＦＰ４から、画面情報を要求する画面情報要求を受信した場合に、アプリケーションコマンドを少なくとも含むＷｅｂコンテンツデータ（画面情報）を生成し、画面情報要求に対する応答として、Ｗｅｂコンテンツデータ（画面情報）をＭＦＰ４へ送信する。Ｗｅｂコンテンツデータ（画面情報）は、例えばＨＴＭＬと、ＨＴＭＬに含まれる（あるいはＨＴＭＬから参照される）ＣＳＳ、ＪａｖａＳｃｒｉｐｔ（登録商標）などを含む。これを、ＭＦＰ４のＷｅｂブラウザ（後述の表示制御部２６２）が表示して、ＪａｖａＳｃｒｉｐｔのＡｊａｘと呼ばれる技術で、サーバ２のＡＰＩ（制御部２１２）に表示情報を依頼する。例えばアプリケーションコマンドがＪａｖａＳｃｒｉｐｔである場合、ＨＴＭＬにスクリプト自体を埋め込む形態であってもよいし、リンクだけを記載する形態であってもよい。この例では、送信元のＭＦＰ４の機種コードを含み、かつ、表示情報を要求する表示情報要求が、制御部２１２へ送信される。本実施形態のアプリケーションコマンドの種類として、インストール命令、更新命令、アンインストール命令などが挙げられる。インストール命令は、アプリケーションをインストールする命令を示す。更新命令は、アプリケーションを更新する命令を示す。アンインストール命令は、インストール済みのアプリケーションを削除して、ＭＦＰ４の状態を、該アプリケーションをインストールする前の状態に戻す命令を示す。
【００２８】
図９は、制御部２１２が有する機能の一例を示す図である。図９に示すように、制御部２１２は、特定部２１６と、表示情報生成部２１７と、設定制御部２１９とを有する。
【００２９】
特定部２１６は、ＭＦＰ４（機器）から、機種コードを少なくとも含み、かつ、表示情報を要求する表示情報要求を受信した場合に、記憶部２１１（この例ではアプリ情報ＤＢ４０１）に記憶された情報を参照して、表示情報要求に含まれる機種ＩＤと、公開されている状態を示す状態情報との組み合わせに対応するアプリケーションを特定する。
【００３０】
より具体的には、特定部２１６は、ＭＦＰ４から表示情報要求を受信した場合、図５に示す第１の対応情報を参照して、その受信した表示情報要求に含まれる機種ＩＤに対応付けられた機種コードを選択する。次に、特定部２１６は、図６に示す第２の対応情報を参照して、その選択した機種コードに対応付けられた１以上のアプリＩＤと必須のハードウェアとを選択する。なお、必須のハードウェアには、ハードウェアを表すカテゴリに加え、対応するハードウェアのモデルの一覧も含まれる。次に、特定部２１６は、図７に示す第３の対応情報を参照して、その選択した１以上のアプリＩＤの中から、公開されている状態を示す状態情報が対応付けられたアプリＩＤを選択する。以上のようにして選択したアプリＩＤで識別されるアプリケーションを、ＭＦＰ４から受信した表示情報要求に含まれる機種コードと、必須のハードウェアと、公開されている状態を示す状態情報との組み合わせに対応するアプリケーションとして（つまり、表示情報要求の要求元のＭＦＰ４で利用可能なアプリケーションとして）特定する。
【００３１】
また、本実施形態における表示情報要求の中には、該表示情報要求の要求元のＭＦＰ４が使用される国または地域の言語を示す言語情報（ロケール情報）が含まれているので、特定部２１６は、図８に示す第４の対応情報を参照して、以上のようにして特定したアプリＩＤと、ＭＦＰ４から受信した表示情報要求に含まれる言語情報との組み合わせに対応するアプリ説明情報を特定することができる。なお、上記言語情報は、ＨＴＴＰのＡｃｃｅｐｔ−Ｌａｎｇｕａｇｅヘッダで記載するのが一般的である。
【００３２】
図９の説明を続ける。表示情報生成部２１７は、特定部２１６により特定されたアプリケーションを示すＷｅｂコンテンツデータ（表示情報）を生成し、その生成したＷｅｂコンテンツデータ（表示情報）を、表示情報要求に対する応答としてＭＦＰ４へ送信する。本実施形態のＷｅｂコンテンツデータ（表示情報）は、表示情報要求の要求元のＭＦＰ４が利用可能なアプリケーションごとに（例えばアプリＩＤごとに）、該アプリケーションの詳細を示す詳細情報を対応付けたアプリケーション詳細情報を含んでいる。詳細情報としては、バージョン情報、アプリ説明情報などが含まれる。
【００３３】
設定制御部２１９は、設定部２１４による設定を、記憶部２１１に記憶された情報に反映させる制御を行う。つまり、設定制御部２１９は、設定部２１４による設定に応じて、記憶部２１１に記憶された情報を更新する制御を行う。この例では、設定部２１４は、ユーザの操作に応じて、表示情報を可変に設定する機能を有する。例えば設定部２１４は、ユーザの操作に応じて、アプリ説明情報や、画面上の表示部品の配置などを示すレイアウト情報を可変に設定することができる。これにより、例えば地域ごとに異なる表示内容とすることもできる。
【００３４】
以上に説明した制御部２１２、画面提供部２１３および設定部２１４の各々の機能は、ＣＰＵ３０１がＲＯＭ３０２等の記憶装置に格納されたプログラムを実行することにより実現可能である。また、以上に説明した記憶部２１１は、ＲＯＭ３０２またはＨＤＤ等の補助記憶装置３０７などにより実現可能である。この例では、制御部２１２と画面提供部２１３との組み合わせが、ＭＦＰ４からの要求に応じて、ＭＦＰ４が利用可能なアプリケーションを示す表示情報と、アプリケーションコマンドを少なくとも含む画面情報とで構成されるＷｅｂコンテンツデータを送信する機能（「制御部」）に対応していると考えることができる。
【００３５】
次に、アプリダウンロード管理モジュール２３０が有する機能を説明する。
【００３６】
図１０は、アプリダウンロード管理モジュール２３０が有する機能の一例を示す図である。図１０に示すように、アプリダウンロード管理モジュール２３０は、アプリストレージ２３１と、ダウンロード部２３２と、を有している。なお、図１０の例では、本実施形態に関する機能を主に例示しているが、アプリダウンロード管理モジュール２３０が有する機能はこれらに限られるものではない。
【００３７】
アプリストレージ２３１は、ＭＦＰ４に提供するための複数のアプリケーションを記憶している。この例では、アプリストレージ２３１は、複数のアプリＩＤごとに、アプリケーション本体を含むデータファイルを対応付けて記憶している。
【００３８】
ダウンロード部２３２は、ＭＦＰ４からの要求に応じて、アプリストレージ２３１に記憶された何れかのアプリケーションをＭＦＰ４へ送信（ダウンロード）する制御を行う。この例では、ダウンロード部２３２は、アプリＩＤを少なくとも含み、かつ、アプリケーションのダウンロードを要求するダウンロード要求をＭＦＰ４から受信した場合、その受信したダウンロード要求に含まれるアプリＩＤに対応するアプリケーションをＭＦＰ４へ送信する。より具体的には、ダウンロード部２３２は、アプリストレージ２３１を参照して、ＭＦＰ４から受信したダウンロード要求に含まれるアプリＩＤに対応するデータファイルを特定し、その特定したデータファイルをＭＦＰ４へ送信する。
【００３９】
以上に説明したダウンロード部２３２の機能は、ＣＰＵ３０１がＲＯＭ３０２等の記憶装置に格納されたプログラムを実行することにより実現可能である。また、以上に説明したアプリストレージ２３１は、ＲＯＭ３０２またはＨＤＤ等の補助記憶装置３０７により実現可能である。
【００４０】
以上がサーバ２の構成となる。なお、サーバ２は、図１に示したように、複数のサーバから構成される形態であってもよい。例えば図１１に示すように、サーバ２は、アプリケーションサーバ２４０と、データベースサーバ２５０とから構成される形態であってもよい。例えばアプリケーションサーバ２４０は、上述の制御部２１２、画面提供部２１３、設定部２１４を有する形態であってもよい。また、例えばアプリケーションサーバ２４０は、複数のサーバで構成され、上述の制御部２１２、画面提供部２１３、設定部２１４、ダウンロード部２３２の各々は、何れかのサーバに分散して搭載される形態であってもよい。
【００４１】
また、例えばデータベースサーバ２５０は、上述の記憶部２１１を有する形態であってもよい。また、例えばデータベースサーバ２５０は、複数のサーバで構成され、上述のアプリ情報ＤＢ４０１、ユーザ情報ＤＢ４０２、アプリストレージ２３１の各々は、何れかのサーバに分散して搭載される形態であってもよい。
【００４２】
次に、図１２を用いて、ＭＦＰ４のハードウェア構成について説明する。図１２に示すように、ＭＦＰ４は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む概念である。本体１０と操作部２０は、専用の通信路３０を介して相互に通信可能に接続されている。通信路３０は、例えばＵＳＢ（Universal  Serial  Bus）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００４３】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００４４】
まず、本体１０のハードウェア構成について説明する。図１２に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００４５】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４等に格納されたプログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
【００４６】
通信Ｉ／Ｆ１５は、ネットワーク３と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。
【００４７】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備えている。更に、エンジン部１７は、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプション（ハードウェア）を備えることもできる。
【００４８】
次に、操作部２０のハードウェア構成について説明する。図１２に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７とを備え、これらがシステムバス２８を介して相互に接続されている。
【００４９】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）としてＲＯＭ２２またはフラッシュメモリ２４等に格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの後述する各種機能を実現する。
【００５０】
通信Ｉ／Ｆ２５は、ネットワーク３と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３０を介して本体１０と通信するためのインタフェースである。
【００５１】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、ＭＦＰ４の動作状況を示す情報、設定状態などを示す情報など）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００５２】
次に、ＭＦＰ４のソフトウェア構成について説明する。図１３は、ＭＦＰ４のソフトウェア構成の一例を示す模式図である。図１３に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２やＨＤＤ１４等に格納されている各種ソフトウェアである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００５３】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、単に「アプリ」と称する場合がある）である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
【００５４】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受け付け、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００５５】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１に対しても提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えばエンジン部１７）を利用した機能を実現することができる。
【００５６】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム（ＯＳ））である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
【００５７】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２及びＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能）等に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアである。この例では、アプリ層２０１のアプリには、Ｗｅｂブラウザの機能を提供するためのアプリ（以下、「ブラウザアプリ」と称する場合がある）や、上述のＷｅｂコンテンツデータに含まれるアプリケーションコマンドを実行する機能を提供するためのアプリ（以下、「インストーラ」と称する場合がある）などが含まれる。
【００５８】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００５９】
以上のように、本実施形態のＭＦＰ４において、本体１０と操作部２０は別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０側で設定された内容などが挙げられる。
【００６０】
また、本実施形態では、操作部２０に対する電力供給は、本体１０から通信路３０を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００６１】
次に、ＭＦＰ４の本体１０が有する機能を説明する。
【００６２】
図１４は、ＭＦＰ４の本体１０が有する機能の一例を示す図である。図１４に示すように、ＭＦＰ４の本体１０は、検知部１１０を有する。図１４の例では、本実施形態に関する機能を主に例示しているが、ＭＦＰ４の本体１０が有する機能はこれに限られるものではない。検知部１１０は、上述したソフトウェアをＣＰＵ１１が実行することにより提供される。なお、検知部１１０は、回路などのハードウェアにより実現されてもよい。
【００６３】
検知部１１０は、ＭＦＰ４に接続されている周辺機器を周知の手法により検知し、管理する。周辺機器は、ＭＦＰ４に接続されるフィニッシャや人感センサなどである。検知部１１０は、例えば、新たに周辺機器の接続を検知した場合、その周辺機器に応じたデバイスファイルを動的に作成する。
【００６４】
次に、ＭＦＰ４の操作部２０が有する機能を説明する。
【００６５】
図１５は、ＭＦＰ４の操作部２０が有する機能の一例を示す図である。図１５に示すように、操作部２０は、起動部２６１と、表示制御部２６２と、実行部２６３と、処理実行部２６４と、を有する。なお、図１５の例では、本実施形態に関する機能を主に例示しているが、操作部２０が有する機能はこれらに限られるものではない。また、図１５に示すように、表示制御部２６２および実行部２６３は、Ｗｅｂブラウザにおいて実現されている。
【００６６】
起動部２６１は、ユーザの操作に応じて、Ｗｅｂブラウザの機能を提供するブラウザアプリを起動する。例えば図１６に示す操作画面が操作パネル２７に表示された状態で、「アプリマーケット」という名称のアイコン５の押下を受け付けた場合、起動部２６１は、ネットワーク３上のサーバ２の所在を示すＵＲＬを取得するとともにブラウザアプリを起動する制御を行う。
【００６７】
起動したブラウザアプリは、起動部２６１から受け取ったＵＲＬで指定されるサーバ２に対して、ＨＴＴＰリクエストとして上述の画面情報要求を送信し、画面情報要求に対する応答（ＨＴＴＰレスポンス）として、Ｗｅｂコンテンツデータ（画面情報）を受信する。この例では、Ｗｅｂコンテンツデータ（画面情報）として、ＨＴＭＬと、ＨＴＭＬに含まれる（あるいは、ＨＴＭＬから参照される）ＣＳＳ／ＪａｖａＳｃｒｉｐｔを受信する。ブラウザアプリは、ＪａｖａＳｃｒｉｐｔを解釈、実行し、Ａｊａｘを用いて、ＨＴＴＰリクエストとして上述の表示情報要求（例えば、アプリケーションの一覧要求）をサーバ２へ送信し、表示情報要求に対する応答（ＨＴＴＰレスポンス）として、アプリケーションコマンドを少なくとも含むＷｅｂコンテンツデータ（表示情報）を受信する。
【００６８】
図１７は、表示情報要求に対する応答として受信したアプリケーション一覧のレスポンス例を示す図である。図１７に示すアプリケーション一覧のレスポンス例によれば、アプリケーションサイトに表示する内容として、“categories”という各アプリケーションがどのカテゴリに属しているかを表すリストがある。ここでカテゴリとは、ＭＦＰ４のフィニッシャや人感センサなどの周辺機器の活用に特化したアプリケーションについて、必須のハードウェア（フィニッシャや人感センサなどの周辺機器）を含むものである。
【００６９】
例えば、サーバ２のアプリケーションサイトでアプリケーションを登録する際に予め対応する印刷済みシート材を仕分ける「フィニッシャ」をアプリケーションに関連付けて設定しておくと、“categories”のリストに「フィニッシャ」を表すカテゴリが追加される。また、“categories”のリストにおける“support_options”には、対応する「フィニッシャ」のモデルの一覧が追加される。なお、人感センサなど他の周辺機器をアプリケーションに関連付けて設定した場合も同様である。
【００７０】
そして、ブラウザアプリは、サーバ２から受信したＷｅｂコンテンツデータ（画面情報と表示情報）に基づいて構成される画面を操作パネル２７（表示部）に表示する制御を行う。ここでは、表示制御部２６２の機能はブラウザアプリにより提供される。また、前述したように、この例では、表示制御部２６２は、サーバ２から受信したＷｅｂコンテンツデータ（画面情報と表示情報）に基づいて画面を生成し、その生成した画面を操作パネル２７に表示する。表示制御部２６２は、サーバ２から受信したＷｅｂコンテンツデータ（画面情報および表示情報）をフラッシュメモリ２４等の記憶装置に保持しておき、必要に応じてＷｅｂコンテンツデータ（画面情報と表示情報）を読み出し、その読み出したＷｅｂコンテンツデータ（画面情報と表示情報）を用いて画面を生成することができる。
【００７１】
この例では、表示制御部２６２は、操作パネル２７に表示された画面（Ｗｅｂコンテンツデータ（画面情報と表示情報）に基づいて構成される画面）に対するユーザの操作に応じて選択されたアプリケーションコマンドを特定し、その特定したアプリケーションコマンドを実行部２６３へ通知することができる。例えば表示制御部２６２は、ＪａｖａＳｃｒｉｐｔ、カスタムスキームとして、ユーザによって選択されたアプリケーションコマンドを特定することができる。
【００７２】
実行部２６３は、Ｗｅｂコンテンツデータに含まれるアプリケーションコマンドのうち、操作パネル２７に表示された画面を介したユーザの操作に応じてＷｅｂコンテンツデータに含まれるアプリケーションコマンド（表示制御部２６２から通知されたアプリケーションコマンド）を実行して、該アプリケーションコマンドに対応したアプリケーションに関する処理の実行をＭＦＰ４に要求する。ここでは、実行部２６３の機能は、ＭＦＰ４側のアプリケーションプログラミングインタフェース（ＡＰＩ）により提供される。ＭＦＰ４は、アプリケーションプログラミングインタフェース（ＡＰＩ）を、操作部２０のブラウザアプリで利用可能としてサーバ２に配置したＷｅｂアプリケーションから呼び出せる。
【００７３】
処理実行部２６４は、Ｗｅｂブラウザ（実行部２６３）からの要求に基づいて、該要求に応じたアプリケーションに関する処理を実行する。
【００７４】
前述したように、サーバ２から受信したＷｅｂコンテンツデータに含まれるアプリケーションコマンドとしては、インストール命令、更新命令、アンインストール命令などが挙げられる。
【００７５】
以下では、サーバ２から受信したＷｅｂコンテンツデータ（画面情報と表示情報）に基づいて構成される画面に対するユーザの操作に応じてインストール命令が選択される場合を例に挙げて説明する。この場合、実行部２６３は、ユーザの操作に応じて選択されたインストール命令を処理実行部２６４へ通知し、処理実行部２６４は、実行部２６３から通知されたインストール命令を実行する。より具体的には、以下のとおりである。
【００７６】
この例では、表示制御部２６２は、サーバ２から受信したＷｅｂコンテンツデータ（画面情報と表示情報）を用いて、ＭＦＰ４で利用可能なアプリケーションの一覧を示すアプリケーション一覧画面を操作パネル２７に表示する制御を行う。
【００７７】
図１８は、アプリケーション一覧画面の一例を示す図である。図１８の例では、アプリケーション一覧画面は、ＭＦＰ４で利用可能な全てのアプリケーションごとに、該アプリケーションの名称と、該アプリケーションを選択するためのアプリケーション選択ボタン３１１とを少なくとも表示する。また、図１８の例では、アプリケーション一覧画面は、アプリケーションの更新を選択するための更新選択ボタン３２１と、アプリケーションの削除を選択するための削除選択ボタン３３１とを表示する。これらの具体的な内容については後述する。
【００７８】
更に、図１８の例では、アプリケーション一覧画面は、カテゴリごとに表示することも可能である。図１８の例では、アプリケーション一覧画面は、全てのアプリケーションを一覧表示してアプリケーションを選択させるタブ３４１と、アプリケーションをカテゴリごとに絞って選択させるタブ３５１とを表示する。
【００７９】
実行部２６３は、アプリケーションをカテゴリごとに絞って選択させるタブ３５１の押下を受け付けた場合、ＪａｖａＳｃｒｉｐｔを解釈、実行して、ＭＦＰ４に接続されている周辺機器の有無の確認の実行をＭＦＰ４に要求する。ＭＦＰ４は、検知部１１０によってＭＦＰ４に接続されている周辺機器の有無の確認を行う。
【００８０】
このとき、タブ３５１にＪａｖａＳｃｒｉｐｔの実行が関連付けられており、ＪａｖａＳｃｒｉｐｔ自体は、ＨＴＭＬ内に記述されている。なお、これに限るものではなく、タブ３５１にショートカットとしてリンクが置かれているサイトに対し、ブラウザでアクセスして実行するものであっても良い。
【００８１】
図１９は、周辺機器の有無の確認の実行要求に対する応答として受信したレスポンス例を示す図である。図１９に示す周辺機器の有無を確認した際のレスポンス例では、ＭＦＰ４に接続されている周辺機器の一覧“option_id”として、「フィニッシャ」と「人感センサ」と「大容量トレイ」とがＭＦＰ４に接続されていることが記載されている。
【００８２】
上記処理の結果、接続済みの必須の周辺機器が存在するアプリケーションがある場合、表示制御部２６２は、周辺機器を表すカテゴリを追加してカテゴリを表示する。図２０は、アプリケーション一覧画面でカテゴリごとに絞って選択させるタブ３５１が操作された場合の画面の一例を示す図である。図２０の例では、カテゴリボタンＢとして、周辺機器を表すカテゴリとして、「フィニッシャ」を示すカテゴリボタンＢ１と、「人感センサ」を示すカテゴリボタンＢ２とが表示されている。
【００８３】
図２０の例では、アプリケーションが分けられたカテゴリボタンＢに対してそれぞれにいくつのアプリケーションが登録されているかが、カテゴリ名の近傍に数値として表示されている。これらのカテゴリボタンＢの何れかが選択された場合、表示制御部２６２は、インストール可能なアプリケーションを表示する。
【００８４】
一方、上記処理の結果、接続済みの必須の周辺機器が存在するアプリケーションがない場合、表示制御部２６２は、通常のカテゴリのカテゴリボタンＢを表示する。図２１は、アプリケーション一覧画面でカテゴリごとに絞って選択させるタブ３５１が操作された場合の画面の一例を示す図である。図２１の例では、図２０に示した周辺機器を表すカテゴリのカテゴリボタンＢである、「フィニッシャ」を示すカテゴリボタンＢ１と、「人感センサ」を示すカテゴリボタンＢ２とは、表示されていない。
【００８５】
表示制御部２６２は、図２０または図２１の何れかのカテゴリボタンＢの押下を受け付けた場合、サーバ２から受信したＷｅｂコンテンツデータ（画面情報と表示情報）を用いて、ＭＦＰ４で利用可能なアプリケーションの一覧を示すアプリケーション一覧画面を操作パネル２７に表示する制御を行う。
【００８６】
図２２は、アプリケーション一覧画面の一例を示す図である。図２２の例は、図２０の「人感センサ」を示すカテゴリボタンＢ２が押下された場合である。図２２に示す例では、人感センサを利用し、企業の居室などで夜間に人がいないはずの時間に人を感知した場合、メール等で通報するＭＦＰ４で利用可能なアプリケーションが存在する。表示制御部２６２は、図２２に示すように、当該アプリケーションについて、該アプリケーションの名称と、該アプリケーションを選択するためのアプリケーション選択ボタン３１１とを少なくとも表示する。
【００８７】
図２３は、アプリケーション一覧画面の一例を示す図である。図２３の例は、図２０の「フィニッシャ」を示すカテゴリボタンＢ１が押下された場合である。図２３に示す例では、フィニッシャでよく使う設定を管理し、追加・削除するＭＦＰ４で利用可能なアプリケーションが存在する。表示制御部２６２は、図２３に示すように、当該アプリケーションについて、該アプリケーションの名称と、該アプリケーションを選択するためのアプリケーション選択ボタン３１１とを少なくとも表示する。
【００８８】
表示制御部２６２は、何れかのアプリケーション選択ボタン３１１の押下を受け付けた場合、サーバ２から受信した表示情報を用いて、対応するアプリケーションの詳細な内容を示すとともにインストールの実行指示を受け付けるためのインストール指示画面を操作パネル２７に表示する制御を行う。図２４は、インストール指示画面の一例を示す図である。図２４の例では、インストール指示画面は、対応するアプリケーションのアプリ説明情報と、インストールの実行を指示するためのインストールボタン３１２とを表示する。この例では、インストールボタン３１２の押下は、インストール命令の選択（インストールしたいアプリケーションの選択であると考えてもよい）を意味する。
【００８９】
この例では、表示制御部２６２は、インストールボタン３１２の押下を受け付けた場合、インストールの実行を最終的に確認するためのインストール確認画面を操作パネル２７に表示する制御を行う。図２５は、インストール確認画面の一例を示す図である。図２５の例では、インストール確認画面は、インストールの実行を最終的に承諾したことを指示するための確認ボタン３１３を表示する。この例では、確認ボタン３１３に対して、インストール命令がＪａｖａＳｃｒｉｐｔ形式で貼り付けられている。確認ボタン３１３の押下を受け付けると、実行部２６３は、押下された確認ボタン３１３に貼り付けられていたインストール命令を処理実行部２６４へ通知する。そして、処理実行部２６４が、このインストール命令を実行することになる。
【００９０】
以上に説明した起動部２６１、表示制御部２６２、実行部２６３、および、処理実行部２６４の各々の機能は、ＣＰＵ２１がＲＯＭ２２やフラッシュメモリ２４等の記憶装置に記憶されたプログラムを実行することにより実現可能である。
【００９１】
図２６は、システム１の動作手順の一例を示すシーケンス図である。上述したように、起動部２６１は、操作画面上の「アプリマーケット」という名称のアイコン５の押下を受け付けた場合（ステップＳ１）、Ｗｅｂブラウザであるブラウザアプリ（表示制御部２６２および実行部２６３）に対して、起動指令とともにサーバ２のＵＲＬを送信する（ステップＳ２）。起動指令を受けて起動したブラウザアプリ（表示制御部２６２）は、受け取ったＵＲＬで指定されるサーバ２に対して、ＨＴＴＰリクエストとして上述の画面情報要求を送信する（ステップＳ３）。
【００９２】
次に、サーバ２は、ＭＦＰ４からの要求に応じてＷｅｂコンテンツデータ（画面情報）を生成し（ステップＳ４）、その生成したＷｅｂコンテンツデータ（画面情報）をＨＴＴＰレスポンスとしてＭＦＰ４へ送信する（ステップＳ５）。ブラウザアプリ（表示制御部２６２）は、ＨＴＴＰリクエストである画面情報要求に対する応答として、Ｗｅｂコンテンツデータ（画面情報）を受信する。例えば、ブラウザアプリ（表示制御部２６２）は、Ｗｅｂコンテンツデータ（画面情報）として、ＨＴＭＬと、ＨＴＭＬに含まれる（あるいは、ＨＴＭＬから参照される）ＣＳＳ／ＪａｖａＳｃｒｉｐｔを受信する。ブラウザアプリ（表示制御部２６２）は、ＨＴＭＬに含まれるＪａｖａＳｃｒｉｐｔ、またはＪａｖａＳｃｒｉｐｔへのリンクをロードすると、そのＪａｖａＳｃｒｉｐｔを実行部２６３に実行させる（ステップＳ６）。
【００９３】
ブラウザアプリ（実行部２６３）は、ＪａｖａＳｃｒｉｐｔを解釈、実行し、Ａｊａｘを用いて、サーバ２に対して、ＨＴＴＰリクエストとして上述の表示情報要求を送信する（ステップＳ７）。
【００９４】
サーバ２は、ＭＦＰ４からの要求に応じて表示情報を生成し（ステップＳ８）、その生成したＷｅｂコンテンツデータ（表示情報）をＨＴＴＰレスポンスとしてＭＦＰ４へ送信する（ステップＳ９）。ブラウザアプリ（実行部２６３）は、ＨＴＴＰリクエストである表示情報要求に対する応答として、Ｗｅｂコンテンツデータ（表示情報）を受信する。
【００９５】
実行部２６３は、受信したＷｅｂコンテンツデータ（表示情報）を表示制御部２６２に渡す（ステップＳ１０）。ブラウザアプリ（表示制御部２６２）は、実行部２６３から受信したＷｅｂコンテンツデータ（画面情報と表示情報）に基づいて構成される画面を生成し（ステップＳ１１）、生成した画面を操作パネル２７に表示する（ステップＳ１２）。この例では、表示制御部２６２は、実行部２６３がサーバ２から受信したＷｅｂコンテンツデータ（画面情報と表示情報）を、フラッシュメモリ２４等の記憶装置に格納するとともに、その受信したＷｅｂコンテンツデータ（画面情報と表示情報）を用いて、図１８に示すアプリケーション一覧画面を最初に生成する。そして、その生成したアプリケーション一覧画面を操作パネル２７に表示する制御を行う。
【００９６】
図２７は、上述のステップＳ７において、サーバ２が、ＭＦＰ４が利用可能なアプリケーションごとに、該アプリケーションの詳細を示す詳細情報を対応付けたアプリケーション詳細情報を生成する処理の一例を示すフローチャートである。図２７に示すように、特定部２１６は、ＭＦＰ４から上述の表示情報要求を受信した場合、図５に示す第１の対応情報を参照して、その受信した表示情報要求に含まれる機種コードに対応付けられた機種ＩＤを選択する（ステップＳ１１）。次に、特定部２１６は、図６に示す第２の対応情報を参照して、その選択した機種ＩＤに対応付けられた１以上のアプリＩＤを選択する（ステップＳ１２）。次に、特定部２１６は、図７に示す第３の対応情報を参照して、その選択した１以上のアプリＩＤの中から、公開されている状態を示す状態情報が対応付けられたアプリＩＤを選択する（ステップＳ１３）。このとき、特定部２１６は、図６に示す第２の対応情報のうち、ステップＳ１３で選択したアプリＩＤに対応付けられたバージョン情報も特定しておく。次に、特定部２１６は、図８に示す第４の対応情報を参照して、ステップＳ１３で選択したアプリＩＤと、ＭＦＰ４から受信した表示情報要求に含まれる言語情報（ロケール情報）との組み合わせに対応するアプリ説明情報を特定する（ステップＳ１４）。そして、表示情報生成部２１７は、ステップＳ１３で選択したアプリＩＤごとに、ステップＳ１４で特定したアプリ説明情報と、図６に示す第２の対応情報のうち、ステップＳ１３で選択したアプリＩＤに対応付けられたバージョン情報を含む詳細情報を対応付けてアプリケーション詳細情報を生成することができる（ステップＳ１５）。
【００９７】
次に、図１８に示すようなＭＦＰ４で利用可能な全てのアプリケーションが一覧表示されたアプリケーション一覧画面からカテゴリ画面を表示する動作手順について説明する。図２８は、アプリケーション一覧画面からカテゴリ画面を表示する動作手順の一例を示すシーケンス図である。
【００９８】
上述したように、アプリケーション一覧画面上のタブ３５１の押下を受け付けた場合（ステップＳ２１）、実行部２６３は、ＭＦＰ４に接続されている周辺機器を検知部１１０を介して取得する（ステップＳ２２）。
【００９９】
上述のステップＳ２２の結果、接続済みの必須の周辺機器が存在するアプリケーションがある場合、表示制御部２６２は、図２０に示すように、周辺機器を表すカテゴリを追加してカテゴリを表示する（ステップＳ２３）。
【０１００】
上述のステップＳ２２の結果、接続済みの必須の周辺機器が存在するアプリケーションがない場合、表示制御部２６２は、図２１に示すように、通常のカテゴリを表示する（ステップＳ２４）。
【０１０１】
ここで、図２９は、上述のステップＳ２３あるいはＳ２４において、表示制御部２６２が、カテゴリ画面を生成する処理の一例を示すフローチャートである。図２９に示すように、表示制御部２６２は、アプリケーション一覧から取得したアプリケーションの“support_options”のリストと、取得した周辺機器一覧“option_id”とを比較する（ステップＳ３１）。
【０１０２】
表示制御部２６２は、アプリケーションの“support_options”のリストと、取得した周辺機器一覧“option_id”とが一致する場合（ステップＳ３２のＹｅｓ）、未表示の場合、周辺機器を表すカテゴリのカテゴリボタンＢを表示して（ステップＳ３３）、ステップＳ３４に進む。
【０１０３】
一方、表示制御部２６２は、アプリケーションの“support_options”のリストと、取得した周辺機器一覧“option_id”とが一致しない場合（ステップＳ３２のＮｏ）、そのままステップＳ３４に進む。
【０１０４】
表示制御部２６２は、ステップＳ３１〜Ｓ３３の処理を全てのアプリケーションについて実施するまで（ステップＳ３４のＮｏ）、繰り返す。
【０１０５】
表示制御部２６２は、ステップＳ３１〜Ｓ３３の処理を、全てのアプリケーションについて実施した場合（ステップＳ３４のＹｅｓ）、カテゴリを表示して（ステップＳ３５）、処理を終了する。
【０１０６】
図３０は、図１８，図２２，図２３に示すアプリケーション一覧画面に表示された何れかのアプリケーション選択ボタン３１１が押下された場合のシステム１の動作手順の一例を示すシーケンス図である。上述したように、表示制御部２６２は、何れかのアプリケーション選択ボタン３１１の押下を受け付けた場合、上述のインストール指示画面（図２４参照）やインストール確認画面（図２５参照）を操作パネル２７に表示する制御を行う（ステップＳ４１）。
【０１０７】
次に、インストールボタン３１２の押下を受け付けた場合、実行部２６３は、ユーザの操作に応じて選択されたインストール命令と、アプリＩＤ（選択されたアプリケーション命令の対象となるアプリケーションのアプリＩＤ）とを処理実行部２６４へ通知する（ステップＳ４２）。処理実行部２６４は、実行部２６３から通知されたインストール命令を実行する。より具体的には以下のとおりである。まず、処理実行部２６４は、サーバ２に対して、インストール命令の対象となるアプリケーションのアプリＩＤを少なくとも含み、かつ、該アプリケーションのダウンロードを要求する上述のダウンロード要求を送信する（ステップＳ４３）。ダウンロード要求を受信したサーバ２（ダウンロード部２３２）は、その受信したダウンロード要求に含まれるアプリＩＤに対応するアプリケーションを選択し（ステップＳ４４）、その選択したアプリケーションをＭＦＰ４へ送信する（ステップＳ４５）。
【０１０８】
ＭＦＰ４（処理実行部２６４）は、ステップＳ４５でサーバ２からダウンロードしたアプリケーションをインストールする制御を行う（ステップＳ４６）。インストールが完了した後、処理実行部２６４は、そのインストールが完了したアプリケーションのアプリＩＤと、インストール時の該アプリケーションのバージョンとを対応付けて上述のアプリケーション管理情報（図６に示す第２の対応情報）に追加することで、アプリケーション管理情報（図６に示す第２の対応情報）を更新する（ステップＳ４７）。
【０１０９】
以上に説明したように、本実施形態では、サーバ２は、ネットワーク３を介して接続されるＭＦＰ４からの要求に応じて、ＭＦＰ４が利用可能なアプリケーションを示す表示情報と、アプリケーションに関する処理をＭＦＰ４に実行させるアプリケーションコマンドと、を少なくとも含むＷｅｂコンテンツデータをＭＦＰ４に送信する制御を行う制御部２１２を備え、ＭＦＰ４は、サーバ２から受信したＷｅｂコンテンツデータに基づく画面を操作パネル２７に表示する制御を行う表示制御部２６２と、操作パネル２７に表示された画面を介したユーザの操作に応じてＷｅｂコンテンツデータに含まれるアプリケーションコマンドを実行して、該アプリケーションコマンドに対応したアプリケーションに関する処理の実行をＭＦＰ４に要求する実行部２６３と、を備える。これにより、サーバ２側で表示情報を自由に変更しても、Ｗｅｂコンテンツデータに含まれるアプリケーションコマンドをＭＦＰ４に実行させることができるので、表示情報の変更に合わせてＭＦＰ４側のプログラムを変更する必要は無い。すなわち、本実施形態によれば、ＭＦＰ４が利用可能なアプリケーションを紹介するページを提供するサーバ２が、例えば地域ごとに表示内容が異なるページを構築するための仕組みを実現できる。
【０１１０】
また、本実施形態によれば、ＭＦＰ４のフィニッシャや人感センサなどの周辺機器を利用するアプリケーションについては、当該周辺機器が検知された場合に、アプリケーションを探すためのＵＩであるアプリケーション一覧に動的に表示することにより、周辺機器を利用するアプリケーションの検索性を良くすることができる。
【０１１１】
例えば、特定のフィニッシャの機能を全て活用するようなアプリケーションがあるとする。そのアプリケーションを、ＭＦＰ４にフィニッシャを接続していないユーザが追加でインストールしてしまうと、利用できないアプリケーションをインストールしてしまうため利便性が悪くなる。また、フィニッシャを利用するユーザから見れば、接続されているフィニッシャに特化した利用方法を提供するアプリケーションがあれば利便性が向上する。
【０１１２】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【０１１３】
また、上述の実施形態では、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作しているが、これに限らず、例えば本体１０と操作部２０が同じオペレーティングシステムで動作する形態であってもよい。つまり、本体１０と操作部２０とを一体とした構成であってもよい。
【０１１４】
また、上述した実施形態のシステム１（サーバ２、ＭＦＰ４等）で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）、ＵＳＢ（Universal  Serial  Bus）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【０１１５】
１      システム
２      サーバ
３      ネットワーク
４      画像処理装置
１１０  検知部
２６２  表示制御部
２６３  実行部
２６４  処理実行部
【先行技術文献】
【特許文献】
【０１１６】
【特許文献１】特開２０１２−０５８８５３号公報
【図１】
2018156488.tif 000003
【図２】
2018156488.tif 000004
【図３】
2018156488.tif 000005
【図４】
2018156488.tif 000006
【図５】
2018156488.tif 000007
【図６】
2018156488.tif 000008
【図７】
2018156488.tif 000009
【図８】
2018156488.tif 000010
【図９】
2018156488.tif 000011
【図１０】
2018156488.tif 000012
【図１１】
2018156488.tif 000013
【図１２】
2018156488.tif 000014
【図１３】
2018156488.tif 000015
【図１４】
2018156488.tif 000016
【図１５】
2018156488.tif 000017
【図１６】
2018156488.tif 000018
【図１７】
2018156488.tif 000019
【図１８】
2018156488.tif 000020
【図１９】
2018156488.tif 000021
【図２０】
2018156488.tif 000022
【図２１】
2018156488.tif 000023
【図２２】
2018156488.tif 000024
【図２３】
2018156488.tif 000025
【図２４】
2018156488.tif 000026
【図２５】
2018156488.tif 000027
【図２６】
2018156488.tif 000028
【図２７】
2018156488.tif 000029
【図２８】
2018156488.tif 000030
【図２９】
2018156488.tif 000031
【図３０】
2018156488.tif 000032