以下、添付図面を参照しながら、本発明に係る情報処理システム、情報処理装置および情報処理方法の実施形態を詳細に説明する。以下では、本発明に係る情報処理システムに含まれる機器として、複合機(MFP:Multifunction Peripheral)を例に挙げて説明するが、これに限定されるものではない。なお、複合機とは、コピー機能、スキャナ機能、プリンタ機能、ファクス機能などの複数の異なる機能を有する装置である。
図1は、本実施形態の情報処理システム100の構成の一例を示す図である。図1に示すように、情報処理システム100は、MFP1Aと、MFP1Bと、サーバシステム2とを備え、これらはインターネットなどのネットワーク8を介して相互に接続される。
以下の説明では、MFP1AとMFP1Bを区別しない場合は単に「MFP1」と称する場合がある。説明の便宜上、図1の例では、情報処理システム100に含まれる機器として、2台のMFP1を例示しているが、これに限られるものではなく、情報処理システム100に含まれる機器の台数および種類は任意である。要するに、情報処理システム100は、1以上の機器を含む形態であればよい。
本実施形態では、MFP1AおよびMFP1Bは、ファイアウォールを介してネットワーク8に接続されている。この例では、MFP1AおよびMFP1Bは、ネットワーク8とは異なる、例えばLANなどのネットワークに接続された1つのシステム(説明の便宜上、「機器システム」と称する)を構成していると考えることもできる。そして、上記ファイアウォールは、ネットワーク8に接続された他の装置(サーバシステム2等)からの通信を、所定の条件に基づいて接続又は遮断することにより、機器システムに接続されているMFP1AおよびMFP1Bを保護する役割を果たす。
サーバシステム2は、MFP1からの要求に応じて、複数のアプリケーションごとに、当該アプリケーションをMFP1にインストールする命令を示すインストール命令が対応付けられたアプリケーション一覧画面を該MFP1に提供(送信)する機能、アプリケーション一覧画面に表示されている複数のアプリケーションのうちの何れかを該MFP1に提供する機能を有している。また、サーバシステム2は、MFP1から、後述のコンテンツ情報を要求する要求情報を受信する機能(「第1の受信部」)、受信した要求情報に対する応答として、後述のコンテンツ情報をMFP1へ送信する機能(「第1の送信部」)なども有している。この例では、サーバシステム2は、アプリマーケットサーバ3と、コンテンツセンター4とを含む。これらの具体的な内容については後述する。また、この例では、サーバシステム2からアプリケーション一覧画面を取得してMFP1に表示する機能を提供するアプリケーション(「アプリマーケットアプリ」)や、アプリケーション一覧画面に表示されたアプリケーションのうちユーザによって選択されたアプリケーションをMFP1にインストールする機能を提供するソフトウェア(「インストーラ」)、サーバシステム2から後述のコンテンツ情報を取得して該コンテンツ情報に基づく画面をMFP1に表示する機能を提供するアプリケーション(「コンテンツアプリ」)が、予めMFP1にインストールされている。なお、アプリマーケットアプリの機能やコンテンツアプリの機能は、Webブラウザの機能を提供するためのアプリケーションを利用して実現されるため、これらを「ブラウザアプリ」と総称する場合がある。MFP1の具体的な内容については後述する。
図2は、MFP1のハードウェア構成の一例を示す図である。図2に示すように、MFP1は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体10と、ユーザの操作に応じた入力を受け付ける操作部20と、を備える。本体10と操作部20は、専用の通信路30を介して相互に通信可能に接続されている。通信路30は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
なお、本体10は、操作部20で受け付けた入力に応じた動作を行うことができる。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
次に、本体10のハードウェア構成について説明する。図2に示すように、本体10は、CPU11と、ROM12と、RAM13と、HDD(ハードディスクドライブ)14と、通信I/F(インタフェース)15と、接続I/F16と、エンジン部17とを備え、これらがシステムバス18を介して相互に接続されている。
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12またはHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
通信I/F15は、ネットワーク8と接続するためのインタフェースである。接続I/F16は、通信路30を介して操作部20と通信するためのインタフェースである。
エンジン部17は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ(画像読取部)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
次に、操作部20のハードウェア構成について説明する。図2に示すように、操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。
CPU21は、操作部20の動作を統括的に制御する。CPU21は、RAM23をワークエリア(作業領域)としてROM22またはフラッシュメモリ24等に格納されたプログラムを実行することで、操作部20全体の動作を制御し、ユーザから受け付けた入力に応じた情報(画像)の表示などの後述する各種機能を実現する。
通信I/F25は、ネットワーク8と接続するためのインタフェースである。接続I/F26は、通信路30を介して本体10と通信するためのインタフェースである。
操作パネル27は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報(例えば受け付けた入力に応じた情報、MFP1の動作状況を示す情報、設定状態などを示す情報など)を表示する。この例では、操作パネル27は、タッチパネル機能を搭載した液晶表示装置(LCD)で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機EL表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
次に、MFP1のソフトウェア構成について説明する。図3は、MFP1のソフトウェア構成の一例を示す模式図である。図3に示すように、本体10は、アプリ層101と、サービス層102と、OS層103とを有する。アプリ層101、サービス層102、および、OS層103の実体は、ROM12やHDD14等に格納されている各種ソフトウェアである。CPU11が、これらのソフトウェアを実行することにより、各種の機能が提供される。
アプリ層101のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア(以下の説明では、単に「アプリ」と称する場合がある)である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
サービス層102のソフトウェアは、アプリ層101とOS層103との間に介在し、アプリに対し、本体10が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層102が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
なお、サービス層102によるインタフェースの機能は、本体10のアプリ層101だけではなく、操作部20のアプリ層201に対しても提供される。すなわち、操作部20のアプリ層201(アプリ)も、サービス層102のインタフェース機能を介して、本体10のハードウェア資源(例えばエンジン部17)を利用した機能を実現することができる。例えばサービス層102のインタフェース機能は、WebAPIで提供される。操作部20と本体10は、通信路30をネットワークとして通信することができる。
OS層103のソフトウェアは、本体10が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア(オペレーティングシステム(OS))である。サービス層102のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、OS層103が解釈可能なコマンドに変換してOS層103に渡す。そして、OS層103のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
同様に、操作部20は、アプリ層201と、サービス層202と、OS層203とを有する。操作部20が備えるアプリ層201、サービス層202及びOS層203も、階層構造については本体10側と同様である。ただし、アプリ層201のアプリにより提供される機能や、サービス層202が受け付け可能な動作要求の種類は、本体10側とは異なる。アプリ層201のアプリは、操作部20が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体10が備える機能(コピー機能、スキャナ機能、ファクス機能、プリンタ機能、初期設定機能)に関する操作や表示を行うためのUI(ユーザインタフェース)の機能(コピーのUI機能、スキャナのUI機能、ファクスのUI機能、プリンタのUI機能、初期設定のUI機能等)やブラウザ機能を提供するためのソフトウェアである。また、本実施形態では、サービス層202のソフトウェアには、インストーラなどが含まれる。ここでは、アプリ層201のアプリ(図3の例では、アプリケーション1、アプリケーション2)は、インストーラと通信することができる。
なお、本実施形態では、機能の独立性を保つために、本体10側のOS層103のソフトウェアと操作部20側のOS層203のソフトウェアが互いに異なる。つまり、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作する。例えば本体10側のOS層103のソフトウェアとしてLinux(登録商標)を用い、操作部20側のOS層203のソフトウェアとしてAndroid(登録商標)を用いることも可能である。
以上のように、本実施形態のMFP1において、本体10と操作部20は別々のオペレーティングシステムで動作するため、本体10と操作部20との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部20が受け付けた情報(ユーザからの指示内容)を本体10へ伝達する動作(コマンド通信)や、本体10が操作部20へイベントを通知する動作などがこれに該当する。ここでは、操作部20が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作部20に通知するイベントには、本体10における動作の実行状況、本体10側で設定された内容などが挙げられる。
また、本実施形態では、操作部20に対する電力供給は、本体10から通信路30を経由して行われているので、操作部20の電源制御を、本体10の電源制御とは別に(独立して)行うことができる。
次に、MFP1が有する機能について説明する。図4は、MFP1が有する機能の一例を示す図である。図4に示すように、MFP1は、表示制御部110と、アプリケーション一覧画面取得部120と、実行制御部130と、第2の送信部140と、第2の受信部150と、第3の生成部160とを有する。説明の便宜上、図4においては、本実施形態に関する機能を主に例示しているが、MFP1が有する機能は、これらに限られるものではない。
表示制御部110は、各種の画面を操作パネル27(表示部)に表示する制御を行う。例えば表示制御部110は、各種の操作を行うための操作画面を操作パネル27に表示する制御を行う。図5は、操作画面の一例を示す図であり、操作画面には、アプリマーケットアプリを起動するためのアイコン5(図5の例では「アプリマーケット」という名称のアイコン5)が表示されている。また、例えば表示制御部110は、アプリケーション一覧画面を操作パネル27に表示する制御を行うこともできるし、後述の呼出画像や後述のメッセージ画面を操作パネル27に表示する制御を行うこともできる。
図4の説明を続ける。アプリケーション一覧画面取得部120は、サーバシステム2からアプリケーション一覧画面を取得するための制御を行う。より具体的には、アプリケーション一覧画面取得部120は、サーバシステム2に対して、複数のアプリケーションごとに、該アプリケーションをインストールする命令を示すインストール命令が対応付けられたアプリケーション一覧画面を要求するアプリケーション一覧画面要求を送信し、該アプリケーション一覧画面要求に対する応答として、サーバシステム2からアプリケーション一覧画面を受信する。これにより、サーバシステム2からアプリケーション一覧画面を取得することができる。なお、この例では、上述のアプリケーション一覧画面要求には、要求元のMFP1を識別する機器IDも含まれている。
本実施形態では、ユーザがアイコン5をタッチすると、アプリケーション一覧画面取得部120は、サーバシステム2に対して、アプリケーション一覧画面要求を送信する。そして、その応答として、アプリケーション一覧画面取得部120は、サーバシステム2からアプリケーション一覧画面を受信する。そして、表示制御部110は、サーバシステム2から受信したアプリケーション一覧画面を操作パネル27に表示する制御を行う。
図6は、アプリケーション一覧画面の一例を示す図である。図6の例では、アプリケーション一覧画面は、複数のアプリケーションごとに、当該アプリケーションの内容を説明する説明情報と、当該アプリケーションをインストールすることを指示するためのボタン6(この例ではアプリケーションをインストールすることを指示するためのボタン6、以下、「インストールボタン6」と称する)とが表示される。この例では、インストーラに対してアプリケーションをインストールする命令(以下、「インストール命令」と称する)が、URIの形式(例えばURLの形式でもよい)で、当該アプリケーションに対応するインストールボタン6に貼り付けられている。この例では、インストールボタン6の押下は、当該インストールボタン6に貼り付けられたインストール命令の選択を意味する。
図7は、「49354」というアプリIDで識別されるアプリケーションに対応するインストールボタン6に貼り付けられるインストール命令の一例を示す図であり、「49354」というアプリIDで識別されるアプリケーションをインストールする命令を表している。
図4の説明を続ける。実行制御部130は、アプリケーション一覧画面に含まれるインストール命令のうち、ユーザによって選択されたインストール命令を実行する。図4に示すように、本実施形態では、実行制御部130は、アプリケーション取得部131と、インストール制御部132とを有する。
アプリケーション取得部131は、サーバシステム2から、ユーザによって選択されたアプリケーションを取得するための制御を行う。より具体的には以下のとおりである。アプリケーション取得部131は、サーバシステム2に対して、ユーザによって選択されたインストール命令に対応するアプリケーションを要求するアプリケーション要求を送信する。この例では、アプリケーション要求には、要求元のMFP1を識別する機器IDも含まれる。そして、アプリケーション取得部131は、サーバシステム2から、アプリケーション要求に対応するアプリケーションを受信する。これにより、ユーザによって選択されたアプリケーションをサーバシステム2から取得することができる。
インストール制御部132は、アプリケーション取得部131により取得されたアプリケーションをMFP1にインストールする制御を行う。
例えばユーザが、アプリケーション一覧画面上の何れかのアプリケーションのインストールボタン6を押下すると、ブラウザアプリは、インストールボタン6に貼り付けられたインストール命令を、操作部20のOSに通知する。操作部20のOSは、通知されたインストール命令を確認し、操作部20の各アプリケーションに対して、当該インストール命令をブロードキャストする。そして、インストーラが、このブロードキャストされたインストール命令に反応し、該インストール命令を実行する。例えばインストール命令が図7の態様であった場合、インストーラは、サーバシステム2に対して、「49354」というアプリIDで識別されるアプリケーションを要求するアプリケーション要求を送信し、該アプリケーションをサーバシステム2から受信する。そして、サーバシステム2から受信した(ダウンロードした)アプリケーションをMFP1にインストールするための制御を行う。この例では、上述の実行制御部130の機能は、インストーラにより提供される。
図4の説明を続ける。第2の送信部140は、サーバシステム2に対して、MFP1に対して未提供のアプリケーションを報知するための画面を示すメッセージ画面を含むコンテンツ情報を要求する要求情報を送信する。メッセージ画面の具体的な内容については後述する。この例では、この要求情報には、要求元のMFP1を識別する機器IDも含まれる。要求情報を送信するタイミングは任意であり、この例では、第2の送信部140は、一定時間が経過するたびに、サーバシステム2に対して要求情報を送信する。なお、一定時間の時間長は任意に設定可能(例えばユーザの操作に応じて可変に設定可能)である。
第2の受信部150は、サーバシステム2からコンテンツ情報を受信する。第2の受信部150は、上述の要求情報に対する応答として、サーバシステム2からコンテンツ情報を受信する。第3の生成部160は、第2の受信部150により受信されたコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を生成する。この例では、呼出画像は、メッセージ画面を操作パネル27に表示する機能を呼び出すためのアイコンである。そして、表示制御部110は、第3の生成部160により生成された呼出画像を操作パネル27(表示部)に表示する制御を行う。表示の具体的な態様については後述する。
以上に説明したMFP1が有する機能(表示制御部110、アプリケーション一覧画面取得部120、実行制御部130、第2の送信部140、第2の受信部150、第3の生成部160)は、CPU(11または21)が、記憶装置(例えばROM12、HDD14、ROM22、フラッシュメモリ24等)に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上記MFP1が有する機能のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路等)で実現されてもよい。後述の変形例においても同様である。
次に、サーバシステム2に含まれるアプリマーケットサーバ(第1のサーバ)3、コンテンツセンター(第2のサーバ)4の具体的な構成を説明する。図8は、アプリマーケットサーバ3のハードウェア構成の一例を示す図である。なお、コンテンツセンター4のハードウェア構成も図8の構成と同様である。
図8に示すように、アプリマーケットサーバ3は、CPU301と、ROM302と、RAM303と、通信I/F304と、入力装置305と、表示装置306とを備える。CPU301は、アプリマーケットサーバ3の動作を統括的に制御する。ROM302は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM303は、CPU301が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F304は、ネットワーク8と接続するためのインタフェースである。入力装置305は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置306は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
図9は、アプリマーケットサーバ3が有する機能の一例を示す図である。図9に示すように、アプリマーケットサーバ3は、アプリケーション一覧画面保持部311と、要求処理部312と、アプリケーション保持部313と、提供制御部314と、第2の対応情報保持部315と、登録制御部316と、第1の生成部317とを有する。説明の便宜上、図9では、本実施形態に関する機能を主に例示しているが、アプリマーケットサーバ3が有する機能は、これらに限られるものではない。
アプリケーション一覧画面保持部311は、アプリケーション一覧画面を保持する。要求処理部312は、MFP1からのアプリケーション一覧画面要求に対する応答として、アプリケーション一覧画面を該MFP1に送信する。
アプリケーション保持部313は、複数のアプリケーションを保持する。アプリケーション保持部313によって保持される複数のアプリケーションの中には、アプリケーション一覧画面に表示されるアプリケーションが少なくとも含まれている。
提供制御部314は、サーバシステム2(アプリケーション保持部313)が保持する複数のアプリケーションのうちの何れかをMFP1に提供する制御を行う。この例では、提供制御部314は、MFP1からのアプリケーション要求に対する応答として、複数のアプリケーション(アプリケーション保持部313によって保持される複数のアプリケーション)のうちの何れかをMFP1に送信する。上述したように、本実施形態におけるアプリケーション要求には、要求元のMFP1を識別する機器IDが含まれているので、アプリマーケットサーバ3は、機器IDと、提供済みのアプリケーションとの対応関係を管理できる。
第2の対応情報保持部315は、MFP1ごとに、該MFP1に対して提供済みのアプリケーションを対応付けた第2の対応情報を保持する。この例では、第2の対応情報保持部315は、MFP1を識別する機器IDごとに、提供済みのアプリケーションおよび提供日時を特定可能なアプリケーション情報を対応付けた情報を第2の対応情報として保持するが、これに限られるものではない。図10は、本実施形態の第2の対応情報の一例を示す図である。この例では、提供制御部314は、アプリケーションをMFP1に提供する制御を行うたびに、第2の対応情報を更新する機能を有している。
図9の説明を続ける。登録制御部316は、ユーザ(アプリケーションを登録する権限を有する管理者等)の操作に応じて、新しいアプリケーションをアプリケーション保持部313に登録する制御を行う。
第1の生成部317は、MFP1ごとに、該MFP1に対して未提供のアプリケーションを対応付けた第1の対応情報を生成し、生成した第1の対応情報をコンテンツセンター4へ送信する。第1の対応情報を送信するタイミングは任意であり、例えば一定時間(任意に設定可能)が経過するたびに、最新の第1の対応情報をコンテンツセンター4へ送信する形態であってもよいし、登録制御部316により新しいアプリケーションがアプリケーション保持部313に登録されるたびに、最新の第1の対応情報を生成し、その生成した最新の第1の対応情報をコンテンツセンター4へ送信する形態であってもよいし、コンテンツセンター4から第1の対応情報を要求する第1の対応情報要求を受信した場合に、最新の第1の対応情報をコンテンツセンター4へ送信する形態であってもよい。この例では、第1の生成部317は、登録制御部316により新しいアプリケーションがアプリケーション保持部313に登録された場合に、最新の第1の対応情報を生成し、その生成した最新の第1の対応情報をコンテンツセンター4へ送信する形態であるが、これに限られるものではない。
例えば第1の生成部317は、第2の対応情報に基づいて、MFP1ごとに、アプリケーション保持部313に保持された複数のアプリケーションのうち該MFP1に対して未提供のアプリケーションを特定し、その特定したアプリケーションを該MFP1に対応付けて第1の対応情報を生成することもできる。説明の便宜上、この生成パターンを「第1のパターン」と称する。
また、例えば第1の生成部317は、第2の対応情報に基づいて、MFP1ごとに、アプリケーション保持部313に保持された複数のアプリケーションのうち該MFP1に対して未提供のアプリケーションであって、かつ、一定数以上の他のMFP1(該MFP1とは異なるMFP1)に対して提供済みのアプリケーションを特定し、その特定したアプリケーションを該MFP1に対応付けて第1の対応情報を生成することもできる。説明の便宜上、この生成パターンを「第2のパターン」と称する。なお、上記一定数は任意に設定可能であり、例えば全体の7割(一例であり、これに限られるものではない)に相当する数を、上記一定数として設定してもよい。
また、例えば第1の生成部317は、登録制御部316により新しいアプリケーションがアプリケーション保持部313に登録された場合、MFP1ごとに、その登録された新しいアプリケーションを対応付けて第1の対応情報を生成することもできる。説明の便宜上、この生成パターンを「第3のパターン」と称する。
第1の生成部317は、以上の第1のパターン〜第3のパターンのうちの何れか1つを採用して第1の対応情報を生成してもよいし、何れか2以上を組み合わせて第1の対応情報を生成してもよい。なお、第1の対応情報を生成するタイミングは任意であり、例えば上述の第1のパターンまたは上述の第2のパターンを採用する場合は、一定時間(任意に設定可能)が経過するたびに、最新の第2の対応情報に基づいて第1の対応情報を生成(更新)する形態であってもよい。また例えば上述の第3のパターンを採用する場合は、登録制御部316により新しいアプリケーションがアプリケーション保持部313に登録されるたびに、第1の対応情報を生成(更新)する形態であってもよい。
この例では、第1の対応情報は、機器IDごとに、該機器IDで識別されるMFP1に対して未提供のアプリケーションを報知するための画面を示すメッセージ画面の元になるメッセージ情報を対応付けた情報であるが、これに限られるものではない。
図11は、「1003」を示す機器IDとメッセージ情報との対応関係を示す図(第1の対応情報のうち、「1003」を示す機器IDとメッセージ情報との対応関係を示す部分の図)である。図11の例では、「1003」を示す機器IDに対して、未提供の「かんたん印刷アプリ」を報知するためのメッセージ画面の元となるメッセージ情報が対応付けられている。図11の例では、メッセージ情報として、登録制御部316によって新たに「かんたん印刷アプリ」が登録されたことを報知するための「新着アプリ情報」という文字列、および、「かんたん印刷アプリがリリースされました」という文字列が含まれている。また、メッセージ情報として、「かんたん印刷アプリ」のアイコン画像を示す画像も含まれている。さらに、メッセージ情報として、「かんたん印刷アプリ」の詳細情報を案内するための「詳しくは、こちらをタップ!!」という文字列、および、Webページのリンク先を示す「https://xxx.com」という文字列を含んでいる。さらに、メッセージ情報として、該メッセージ情報を元にして生成されるメッセージ画面の有効期限(コンテンツ情報の有効期限であると考えてもよい)を示す期間情報も含まれている。図11の例では、期間情報として、メッセージ画面の配信開始日時を示す情報(図11の例では「2015年8月31日10時00分」を示す情報)と、配信停止日時を示す情報(図11の例では「2015年9月10日10時00分」を示す情報)とが含まれている。なお、メッセージ情報の形態は任意であり、これらに限られるものではない。
以上に説明したアプリマーケットサーバ3が有する機能(要求処理部312、提供制御部314、登録制御部316、第1の生成部317等の機能)は、CPU301がROM302等の記憶装置に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばこれらの機能のうちの少なくとも一部が専用のハードウェア回路で実現されてもよい。また、上述したアプリケーション一覧画面保持部311、アプリケーション保持部313、第2の対応情報保持部315等は、ROM302等の記憶装置により実現可能である。
次に、コンテンツセンター4が有する機能について説明する。図12は、コンテンツセンター4が有する機能の一例を示す図である。図12に示すように、コンテンツセンター4は、第1の受信部411と、第1の対応情報取得部412と、第2の生成部413と、第1の送信部414とを有する。
第1の受信部411は、MFP1から、該MFP1に対して未提供のアプリケーションを報知するための画面を示すメッセージ画面を含むコンテンツ情報を要求する要求情報を受信する。
第1の対応情報取得部412は、アプリマーケットサーバ3から第1の対応情報を取得する。上述したように、この例では、アプリマーケットサーバ3(第1の生成部317)は、新しいアプリケーションがアプリケーション保持部313に登録された場合に、最新の第1の対応情報をコンテンツセンター4へ送信する。これにより、第1の対応情報取得部412は、第1の対応情報を取得することができる。ただし、これに限らず、第1の対応情報を取得する方法は任意に変更可能である。
第2の生成部413は、第1の対応情報取得部412により取得された第1の対応情報(つまり、第1の生成部317により生成された第1の対応情報)に基づいて、第1の受信部411により受信された要求情報の要求元のMFP1に対応するコンテンツ情報を生成する。この例では、第2の生成部413は、第1の対応情報取得部412により取得された第1の対応情報に含まれる機器IDのうち、第1の受信部411により受信された要求情報に含まれる機器IDと一致する機器IDに対応付けられたメッセージ情報を元に、該機器IDで識別されるMFP1に対応するメッセージ画面を生成する。例えば図11に示すメッセージ情報を元にしたメッセージ画面は、図13の態様となる。なお、メッセージ画面は、画像ファイルにメタ情報としてリンク先を示す情報(例えばURL)を付与したデータでもよい。この場合、メッセージ画面は、例えば画像データと、テキスト形式のURLとの組み合わせで構成される。また、メッセージ画面は、表示対象のテキストや画像のレイアウトを規定したhtmlファイルと、画像データとの組み合わせで構成されてもよい。
この例では、第2の生成部413は、以上のようにして生成したメッセージ画面と、該メッセージ画面の有効期限を示す期間情報(この例では図11のように、メッセージ画面の元になるメッセージ情報に含まれている)とを含むコンテンツ情報を生成する。
図12の説明を続ける。第1の送信部414は、MFP1からの要求情報に対する応答として、第2の生成部413により生成されたコンテンツ情報を該MFP1に送信する。より具体的には、第1の送信部414は、第1の受信部411により受信された要求情報に対する応答として、第2の生成部413により生成されたコンテンツ情報を、該要求情報に含まれる機器IDで識別されるMFP1に送信する。
要求情報に対する応答として、コンテンツセンター4からコンテンツ情報を受信したMFP1(第3の生成部160)は、その受信したコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を生成する。そして、MFP1(表示制御部110)は、生成した呼出画像を操作パネル27に表示する制御を行う。図14は、呼出画像の一例を示す図である。この例では、呼出画像を選択する操作を受け付けた場合(例えば呼出画像であるアイコンをクリックする操作を受け付けた場合)、該呼出画像に対応するメッセージ画面を操作パネル27に表示する機能が呼び出され、図15に示すようなメッセージ画面が操作パネル27に表示される。なお、この例では、MFP1は、コンテンツセンター4から受信済みのコンテンツ情報ごとに、呼出画像を生成済みであるか否か(操作パネル27に表示済みであるか否か)を示す情報を対応付けた管理情報を、例えばフラッシュメモリ24等の記憶装置に保存している。そして、MFP1は、新規に呼出画像を生成するたびに、管理情報を更新していく。図16は、管理情報の一例を示す図である。図16の例では、管理情報は、コンテンツ情報を識別する識別情報ごとに、呼出画像を生成済みであるか否かを示す生成情報を対応付けた情報であるが、これに限られるものではない。図16の例では、「○」を示す生成情報は、呼出画像を生成済みであることを表し、「×」を示す生成情報は、呼出画像を未生成であることを表す。
以上に説明したコンテンツセンター4が有する機能(第1の受信部411、第1の対応情報取得部412、第2の生成部413、第1の送信部414等の機能)は、CPU301がROM302等の記憶装置に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばこれらの機能のうちの少なくとも一部が専用のハードウェア回路で実現されてもよい。
図17は、本実施形態の情報処理システム100の動作手順の一例を示すシーケンス図である。図17に示すように、MFP1は、コンテンツセンター4に対して、上述の要求情報を送信する(ステップS1)。
上述したように、アプリマーケットサーバ3は、新しいアプリケーションがアプリケーション保持部313に登録された場合に、第1の対応情報をコンテンツセンター4へ送信し(ステップS2)、コンテンツセンター4(第1の受信部411)は、アプリマーケットサーバ3から第1の対応情報を受信する。上述のステップS1の要求情報を受信したコンテンツセンター4(第2の生成部413)は、アプリマーケットサーバ3から受信済みの第1の対応情報(第1の対応情報取得部412により取得済みの第1の対応情報)に基づいて、要求情報の要求元のMFP1に対応するコンテンツ情報を生成する(ステップS3)。そして、コンテンツセンター4(第1の送信部414)は、MFP1からの要求情報に対する応答として、ステップS3で生成したコンテンツ情報を該MFP1に送信する(ステップS4)。コンテンツセンター4からのコンテンツ情報を受信したMFP1は、その受信したコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を操作パネル27に表示する(ステップS5)。以上の各ステップの具体的な内容は上述したとおりである。
なお、アプリマーケットサーバ3は、所定の時刻に到達した場合に、最新の第1の対応情報をコンテンツセンター4へ送信する形態、つまり、コンテンツセンター4(第1の対応情報取得部412)は、所定の時刻に到達した場合に、第1の対応情報を取得する形態であっても、情報処理システム100の動作手順の一例を示すシーケンス図は、図17のようになる。
また、例えばコンテンツセンター4(第1の対応情報取得部412)は、第1の受信部411により要求情報が受信されたことを契機として、アプリマーケットサーバ3に対して、第1の対応情報を要求する第1の対応情報要求を送信し、その応答として第1の対応情報を受信(取得)する形態の場合、情報処理システム100の動作手順の一例を示すシーケンス図は、図18のようになる。図18に示すように、MFP1は、コンテンツセンター4に対して、上述の要求情報を送信する(ステップS11)。MFP1からの要求情報を受信したコンテンツセンター4は、アプリマーケットサーバ3に対して、上述の第1の対応情報要求を送信し(ステップS12)、その応答として第1の対応情報を受信する(ステップS13)。以降のステップS14〜ステップS16の処理内容は、図17に示すステップS3〜ステップS5の処理内容と同様である。
図19は、要求情報に対する応答として、コンテンツセンター4からコンテンツ情報を受信した場合のMFP1の動作例を示すフローチャートである。まず、MFP1(例えば第3の生成部160)は、受信したコンテンツ情報をフラッシュメモリ24やHDD14等に保存する(ステップS21)。次に、MFP1(例えば第3の生成部160)は、上述の管理情報を自装置内の記憶装置から取得する(ステップS22)。次に、MFP1(例えば第3の生成部160)は、ステップS22で取得した管理情報を参照して、コンテンツセンター4から受信したコンテンツ情報に対応する呼出画像(該コンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像)を操作パネル27上に表示済みであるか否かを確認する(ステップS23)。ステップS23の結果が肯定の場合(ステップS23:Yes)、そのまま処理は終了する。一方、ステップS23の結果が否定の場合(ステップS23:No)、MFP1(第3の生成部160)は、コンテンツセンター4から受信したコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を生成し(ステップS24)、上述の管理情報を更新する。次に、MFP1(表示制御部110)は、ステップS24で生成した呼出画像を操作パネル27に表示する制御を行う(ステップS25)。
以上に説明したように、本実施形態のサーバシステム2は、MFP1ごとに、該MFP1に対して未提供のアプリケーションを対応付けた第1の対応情報に基づいて、上述の要求情報の要求元のMFP1に対して未提供のアプリケーションを報知するためのメッセージ画面を少なくとも含むコンテンツ情報を生成し、その生成したコンテンツ情報を、上述の要求情報の要求元のMFP1に送信する。そして、該MFP1は、サーバシステム2から受信したコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を生成し、生成した呼出画像を操作パネル27に表示する。これにより、該MFP1のユーザは、操作パネル27上の呼出画像からメッセージ画面を呼び出して確認することで、自身が今まで利用したことが無いアプリケーションを迅速かつ容易に確認することができる。すなわち、本実施形態によれば、ユーザにとって便利なアプリケーションや新たに登録されたアプリケーションを見逃すことを抑制できるという有利な効果を達成できる。さらに、本実施形態によれば、ユーザは、自身が利用したことがあるアプリケーション、および、自身が利用したことが無いアプリケーションの両方が混在しているアプリケーション一覧画面内を全て閲覧して、今まで見逃していた便利なアプリケーションや新たに登録されたアプリケーション(つまり、自身が今まで利用したことが無いアプリケーション)があるか否かを確認する必要が無いので、ユーザの作業負担も大幅に軽減できる。
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、上述の実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
以下、変形例を記載する。
(実施形態の変形例1)
例えば第3の生成部160は、第2の受信部150によりコンテンツ情報が受信された時点が、その受信されたコンテンツ情報に含まれる期間情報が示す期間に含まれず、かつ、その受信されたコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を操作パネル27に表示済みの場合は、該呼出画像を削除することもできる。
図20は、要求情報に対する応答として、コンテンツセンター4からコンテンツ情報を受信した場合の本変形例のMFP1の動作例を示すフローチャートである。図20に示すステップS31およびステップS32の処理内容は、図19に示すステップS21およびステップS22の処理内容と同様であるので、詳細な説明は省略する。
ステップS32の後のステップS33において、MFP1(第3の生成部160)は、現時点(要求情報に対する応答として、コンテンツセンター4からコンテンツ情報を受信した時点)が、コンテンツセンター4から受信(要求情報に対する応答として受信)したコンテンツ情報に含まれる期間情報が示す期間に含まれているか否かを確認する。ステップS33の結果が否定の場合(ステップS33:No)、MFP1(第3の生成部160)は、ステップS32で取得した上述の管理情報を参照して、コンテンツセンター4から受信したコンテンツ情報に対応する呼出画像を操作パネル27上に表示済みであるか否かを確認する(ステップS34)。ステップS34の結果が否定の場合(ステップS34:No)、そのまま処理は終了する。ステップS34の結果が肯定の場合(ステップS34:Yes)、MFP1(第3の生成部160)は、コンテンツセンター4から受信したコンテンツ情報に対応する呼出画像を削除する(ステップS35)。これにより、該呼出画像は操作パネル27上で非表示になる。
一方、上述のステップS33の結果が肯定の場合(ステップS33:Yes)の処理(ステップS36〜ステップS38の処理)は、図19に示すステップS23〜ステップS25の処理と同様であるので、詳細な説明は省略する。
(実施形態の変形例2)
例えば表示制御部110は、呼出画像を強調して表示する制御を行うこともできる。これにより、ユーザは、呼出画像が生成されたことを容易に認識することができる。強調表示の一例として、例えば表示制御部110は、呼出画像を点滅させて表示する制御を行うこともできる。また、強調表示の他の例として、例えば表示制御部110は、呼出画像を連続的に変化させて表示(アニメーション表示)する制御を行うこともできるし、呼出画像の色を変更(例えば視認性の強い「赤」等の色へ変更)して表示する制御を行うこともできる。
(実施形態の変形例3)
例えば図21に示すように、MFP1は、設定部170をさらに有する形態であってもよい。設定部170は、呼出画像を自動的に生成するか、メッセージ画面を操作パネル27に表示した後にユーザの指示に従って呼出画像を生成するかを設定する機能を有する。例えば設定部170は、表示制御部110によって操作パネル27に表示された設定画面を介して受け付けたユーザの操作に応じて、呼出画像を自動的に生成するか、メッセージ画面の表示後にユーザの指示に従って呼出画像を生成するかを設定することもできる。図22は、設定画面の一例を示す図である。図22の例では、設定画面は、「設定A」および「設定B」のうちの何れかを選択することを促す画面であり、「設定A」とは呼出画像を自動的に生成する設定を表し、「設定B」とはメッセージ画面の表示後にユーザの指示に従って呼出画像を生成する設定を表しているが、これに限られるものではない。例えば「設定A」を選択する操作を受け付けた場合、設定部170は、呼出画像を自動的に生成することを設定する一方、「設定B」を選択する操作を受け付けた場合、設定部170は、メッセージ画面の表示後にユーザの指示に従って呼出画像を生成することを設定するという具合である。
例えば設定部170が、メッセージ画面の表示後にユーザの指示に従って呼出画像を生成することを設定した場合(「設定B」が選択された場合)を想定する。この例では、表示制御部110は、上述の要求情報に対する応答としてコンテンツセンター4からコンテンツ情報を受信した場合、図23に示すような、コンテンツセンター4から受信したコンテンツ情報に含まれるメッセージ画面とともに、該メッセージ画面を呼び出すための呼出画像を生成する指示を受け付けるための指示画面を操作パネル27に表示する制御を行うことができる。そして、このような指示画面から呼出画像を生成する指示を受け付けた場合、第3の生成部160は、コンテンツセンター4から受信したコンテンツ情報に含まれるメッセージ画面を呼び出すための呼出画像を生成するという具合である。以降の処理内容は上述の実施形態と同様である。
(実施形態の変形例4)
なお、呼出画像の形態は任意である。例えば図24に示すように、呼出画像は、対応するメッセージ画面の元となるメッセージ情報の一部を表示するウィジェットであってもよい。図24に示す呼出画像は、「かんたん印刷アプリ」が登録されたことを報知するための「新着アプリ情報」という文字列、および、「かんたん印刷アプリがリリースされました」という文字列に加えて、上述のメッセージ画面の有効期限を示す期間情報も表示する形態である。
(実施形態の変形例5)
また、上述の実施形態では、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作しているが、これに限らず、例えば本体10と操作部20が同じオペレーティングシステムで動作する形態であってもよい。
(実施形態の変形例6)
また、上述のアプリマーケットサーバ3の機能とコンテンツセンター4の機能とを有する1つのサーバ(情報処理装置)が設けられる形態であってもよいし、上述のアプリマーケットサーバ3の機能とコンテンツセンター4の機能とが3つ以上のサーバに分散されて搭載される形態であってもよい。要するに、サーバシステム2は、1以上のサーバを含み、該1以上のサーバが、少なくとも、上述の提供制御部314に対応する機能と、第1の生成部317に対応する機能と、上述の第1の受信部411に対応する機能と、上述の第2の生成部413に対応する機能と、上述の第1の送信部414に対応する機能と、を備える形態であればよい。
以上に説明した実施形態および各変形例は任意に組み合わせることが可能である。
また、上述した実施形態の情報処理システム100に含まれる各装置(MFP1、アプリマーケットサーバ3、コンテンツセンター4)で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。