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