以下、添付図面を参照しながら、本発明に係る情報処理システム、および情報処理方法の実施形態を詳細に説明する。以下では、情報処理装置に接続される1以上の機器の一例として、画像処理装置の一態様である複合機(MFP:Multifunction Peripheral)を例に挙げて説明するが、これに限られるものではない。例えば機器としては、カメラ、プロジェクタ、インタラクティブホワイトボード(電子黒板)、テレビ会議/Web会議システムの専用端末、デジタルサイネージ、プロダクションプリンター、3Dプリンター、ファクシミリなどが挙げられる。なお、複合機とは、コピー機能、スキャナ機能、プリント機能、ファクス機能などの複数の異なる機能を有する装置である。
(第1の実施形態)
図1は、本実施形態の情報処理システム100の概略構成の一例を示す図である。図1に示すように、情報処理システム100は、MFP1と、管理サーバ2と、アプリマーケットサーバ3と、アプリケーションサーバ7とを備え、これらはネットワーク8を介して相互に接続される。
管理サーバ2は、MFP1の通信先となるアプリマーケットサーバ3を特定するためのURL(Uniform Resource Locator)を管理する。管理サーバ2は、MFP1からのURL要求を受け付け、その受け付けたURL要求に応じたURLをMFP1へ返信する。管理サーバ2の具体的な構成については後述する。なお、ここでは、アプリマーケットサーバ3を特定するための特定情報として、URLを例に挙げて説明するが、特定情報はこれに限られるものではない。例えば特定情報は、IP(Internet Protocol)アドレスやドメイン名などであってもよい。IPアドレスとは、IPにおいてパケットを送受信する機器を判別する番号である。ドメイン名とは、IPネットワークにおいて個々のコンピュータ(機器)を識別する名称の一部である。通常は、IPアドレスとセットでコンピュータネットワーク上に登録される。特定情報は、IPアドレスでもよいし、ドメイン名でもよいし、これらの組み合わせでもよい。つまり、特定情報は、IPアドレスおよびドメイン名のうちの少なくとも1つであってもよい。
アプリマーケットサーバ3は、「情報処理装置」の一例であり、MFP1にアプリケーションを提供するためのアプリケーション提供画面を、MFP1へ送信する。より具体的な内容については後述するが、アプリマーケットサーバ3は、MFP1から、アプリケーション提供画面を要求する画面要求を受信すると、その受信した画面要求に含まれる販売店情報(MFP1を販売する販売店を示す情報)を用いて、該販売店情報が示す販売店で取り扱うアプリケーションのうちMFP1に対して利用を推奨する利用推奨アプリケーション(以下の説明では「おすすめアプリ」と称する場合がある)を特定する。そして、画面要求の応答として、「おすすめアプリ」を提供するためのアプリケーション提供画面を返信する。
なお、この例では、管理サーバ2からURLを取得し、その取得したURLに対応するアプリマーケットサーバ3からアプリケーション提供画面を取得し、その取得したアプリケーション提供画面をMFP1に表示するためのアプリケーション(以下、「アプリマーケットアプリ」と称する場合がある)や、アプリケーション提供画面に表示されたアプリケーションのうちユーザによって選択されたアプリケーションをMFP1にインストールする制御を行う機能を提供するソフトウェア(以下、「インストーラ」と称する場合がある)などのソフトウェアが、予めMFP1にインストールされている。この例では、アプリマーケットアプリの機能は、Webブラウザの機能を提供するためのアプリケーション(以下、「ブラウザアプリ」と称する場合がある)を利用して実現される。この例では、ブラウザアプリも予めMFP1にインストールされている。MFP1の具体的な内容については後述する。
アプリケーションサーバ7は、複数のアプリケーションを保持し、MFP1からの要求に応じて、対象となるアプリケーションを該MFP1へ送信する。なお、説明の便宜上、図1では、情報処理システム100に含まれる機器として1台のMFP1のみを例示しているが、これに限られるものではなく、情報処理システム100に含まれる機器の台数および種類は任意である。同様に、情報処理システム100に含まれるアプリマーケットサーバ3の台数も任意であり、例えば複数の国や地域ごとに1以上のアプリマーケットサーバ3が設置される形態であってもよい。
次に、図2を用いて、MFP1のハードウェア構成について説明する。図2に示すように、MFP1は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体10と、ユーザの操作を受け付ける操作部(本体10を操作する操作部)20とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報(画面の座標値を示す信号等を含む)を受け付けることを含む概念である。本体10と操作部20は、専用の通信路30を介して相互に通信可能に接続されている。通信路30は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
なお、本体10は、操作部20で受け付けた操作に応じた動作を行うことができる。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
まず、本体10のハードウェア構成について説明する。図2に示すように、本体10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、HDD(Hard Disk Drive)14と、通信I/F(Interface)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(Operating System)層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側とは異なる。本実施形態では、サービス層202のソフトウェアには、インストーラなどが含まれる。アプリ層201のアプリは、操作部20が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体10が備える機能(コピー機能、スキャナ機能、ファクス機能、プリンタ機能)に関する操作や表示を行うためのUI(ユーザインタフェース)の機能を提供するためのソフトウェアである。アプリ層201のアプリには、ブラウザアプリ、アプリマーケットアプリなどが含まれる。
なお、本実施形態では、機能の独立性を保つために、本体10側のOS層103のソフトウェアと操作部20側のOS層203のソフトウェアが互いに異なる。つまり、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作する。例えば、本体10側のOS層103のソフトウェアとしてNetBSD(登録商標)を用い、操作部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は、表示制御部111と、設定部112と、保存制御部113と、設定情報記憶部114と、URL要求送信部115と、URL受信部116と、画面要求送信部117と、アプリケーション提供画面受信部118と、インストール部119とを有する。説明の便宜上、図4では、本実施形態に関する機能を主に例示しているが、MFP1が有する機能は、これらに限られるものではない。
表示制御部111は、各種の画面を操作パネル27(表示部)に表示する制御を行う。本実施形態の表示制御部111は、各種の操作を行うための操作画面を操作パネル27に表示する制御を行う。また、本実施形態の表示制御部111は、アプリケーション提供画面を操作パネル27に表示する制御も行う。アプリケーション提供画面の具体例については後述する。
図5は、操作画面の一例を示す図であり、操作画面には、アプリマーケットアプリを起動するためのアイコン5が表示されている。ここで、最初にアプリマーケットアプリが起動する場合の動作例を説明する。この例では、ユーザがアイコン5をタッチすると、アプリマーケットアプリが起動し、図6に示すような初期画面が操作パネル27に表示される。この初期画面上の「次へ」の直上の矢印を示す表示部品(UI)を押下する操作を受け付けると、図7に示すような、MFP1が利用(この例では「販売」を想定しているが、これに限らず、例えばリース、レンタル等でもよい)される地域を示す地域情報や該MFP1を販売する販売店を示す販売店情報を入力するための入力画面が操作パネル27に表示される。各種の入力に応じた後述の設定が保存された後、この入力画面上の「次へ」の直上の矢印を示す表示部品(UI)を押下する操作を受け付けると、図8に示すような、利用規約(画面情報の提供を受けるための規約)を確認するための確認画面が操作パネル27に表示される。この確認画面上で、「利用規約に同意する」という項目を選択する操作を受け付け、かつ、「OK」を示す表示部品(UI)を押下する操作を受け付けると、アプリマーケットアプリは、保存された設定を用いて、後述のURL要求を管理サーバ2へ送信する制御を行う。以降の動作については、後述する説明で明らかになる。なお、アプリマーケットアプリの2回目以降の起動時は図6〜図8の画面は表示されず、起動したアプリマーケットアプリは、保存済みの設定を用いて後述のURL要求を管理サーバ2へ送信するという流れになる。
図4に戻って説明を続ける。設定部112は、MFP1を販売する販売店を示す販売店情報またはMFP1が利用される地域を示す地域情報を指示するための入力に応じて、販売店情報または地域情報を設定する。この例では、設定部112は、上述の入力画面からの入力に応じて、販売店情報または地域情報を設定することができる。
保存制御部113は、設定部112により設定された販売店情報または地域情報を保存する制御を行う。この例では、保存制御部113は、設定部112により設定された販売店情報または地域情報を設定情報として設定情報記憶部114に保存する制御を行う。なお、設定情報記憶部114には、MFP1を一意に識別する機器識別情報(機番)も記憶される形態であってもよい。図9は、設定情報記憶部114に記憶された情報(設定情報と称する)の一例を示す図である。この例では、設定情報記憶部114は、機器識別情報と、販売店情報と、地域情報とを含む設定情報を記憶している。この例では、機器識別情報は9桁の文字で表され、上位4桁の文字は機種を識別する部分(機種情報)であり、下位5桁の文字は、機器に割り当てられた固有の文字であり、これらの組み合わせにより、機器を一意に識別する情報(機器識別情報)を構成している。また、図9の例では、販売店情報は8つの文字で表され、左から数えて第1番目の文字は、地域を表す。例えば「1」は「日本」に対応し、「2」は「アメリカ」に対応し、「3」は欧州に対応し、「4」はアジアに対応する形態であってもよい。また、左から数えて第2番目〜第6番目の文字は販売店(販社)を識別する情報である。左から数えて第7番目と第8番目の文字は、入力ミスを検知するための符号(チェックサム)である。なお、全体を暗号化する方式を採用することもできる。地域情報は、MFP1が使用される地域を示す情報であり、「JP」は「日本」を示している。
URL要求送信部115(特定情報要求送信部)は、販売店情報、地域情報、および、機器情報のうちの少なくとも1つを含み、かつ、通信先となるアプリマーケットサーバ3を特定するためのURL(特定情報)を要求するURL要求(特定情報要求)を、管理サーバ2へ送信する。この例では、URL要求送信部115は、設定情報記憶部114に記憶された機器識別情報(機器を特定する機器情報の一例)と地域情報と販売店情報を含み、かつ、通信先となるアプリマーケットサーバ3のURLを要求するURL要求を管理サーバ2へ送信するが、これに限られるものではない。管理サーバ2が管理している後述の接続情報に応じて、例えばURL要求には、販売店情報、地域情報、および、機器識別情報のうちの何れか1つが含まれる形態であってもよいし、2以上が含まれる形態であってもよい。図10は、URL要求の一例を示す図である。図10に示すURL要求のパラメータ「device id」は機器識別情報を示し、「region_code」は地域情報を示し、「dealer_code」は販売店情報を示している。なお、「?」の後ろに「パラメータ名=値」を「&」でつないで並べるのはQUERYパラメータと呼ばれる標準の記法である。また、「Host:www.example.com」は記憶部(フラッシュメモリ24等)に記憶されているデフォルトとして接続するホスト名の一例を示す。
URL受信部116は、上述のURL要求の応答として、管理サーバ2からURLを取得する。図11は、URL要求の応答として受信したアプリマーケットサーバ3のURLの一例を示す図である。
画面要求送信部117は、上述の販売店情報を少なくとも含み、かつ、アプリケーションを提供するためのアプリケーション提供画面を要求する画面要求をアプリマーケットサーバ3へ送信する。より具体的には、画面要求送信部117は、URL受信部116により受信されたURLで特定されるアプリマーケットサーバ3へ上述の画面要求を送信する。例えば画面要求送信部117は、HTTPリダイレクトを利用してアプリマーケットサーバ3へアクセスすることもできる。つまり、URL受信部116により受信されたURLが変更されていた場合、アプリマーケットサーバ3は、変更後のURLが記述された応答をMFP1へ返し、MFP1(画面要求送信部117)は、その応答に記述されたURLを用いて、アプリマーケットサーバ3へアクセスすることができる。また、この例では、画面要求は、MFP1を識別する機器識別情報(機番)をさらに含む。ここでは、操作部20(アプリマーケットアプリ)は、本体のWebAPI(Web Application Programming Interface)を使って本体10から機器識別情報(機番)を取得する機能を有している。図12は、画面要求の一例を示す図である。
アプリケーション提供画面受信部118は、画面要求の応答として、アプリマーケットサーバ3からアプリケーション提供画面を受信する。表示制御部111は、アプリケーション提供画面受信部118により受信されたアプリケーション提供画面を操作パネル27に表示する制御を行う。
なお、これに限らず、例えばアプリマーケットサーバ3は、画面要求に対する応答として、アプリケーション提供画面の元となる画面情報(アプリケーションの表示情報(紹介用メッセージなどの説明情報を含む)、インストール命令等の各種のコマンド、各種の表示部品のレイアウトを示すレイアウト情報などを含む)をMFP1へ送信し、MFP1は、アプリマーケットサーバ3から受信した画面情報に基づいてアプリケーション提供画面を生成して表示する形態であってもよい。図13は、この形態において、アプリケーション提供画面受信部118により受信された画面情報の一例を示す図である。ここでは、以上のようなアプリマーケットサーバ3による画面情報の送信も、「アプリケーション提供画面を送信する」という概念に含まれる。
図14は、アプリケーション提供画面の一例を示す図である。図14の例では、アプリケーション提供画面は、MFP1で利用可能なアプリケーションごとに、該アプリケーションの名称と、該アプリケーションを選択するためのアプリケーション選択ボタン511とを少なくとも表示する。詳しくは後述するが、本実施形態のアプリケーション提供画面に表示されるアプリケーションのうち「おすすめアプリ」に対しては、「おすすめアプリ」であることを示す画像(以下の説明では「バッジ画像」と称する場合がある)が付加されている。また、図14の例では、アプリケーション提供画面は、アプリケーションの更新を選択するための更新選択ボタン521や、アプリケーションの削除を選択するための削除選択ボタン531なども表示している。
表示制御部111は、何れかのアプリケーション選択ボタン511の押下を受け付けた場合、対応するアプリケーションの詳細な内容を示すとともにインストールの実行指示を受け付けるためのインストール指示画面を操作パネル27に表示する制御を行う。図15は、インストール指示画面の一例を示す図である。図15の例では、インストール指示画面は、対応するアプリケーションのアプリ説明情報と、インストールの実行を指示するためのインストールボタン512とを表示する。この例では、インストールボタン512の押下は、インストール命令の選択を意味する。
この例では、表示制御部111は、インストールボタン512の押下を受け付けた場合、インストールの実行を最終的に確認するためのインストール確認画面を操作パネル27に表示する制御を行う。図16は、インストール確認画面の一例を示す図である。図16の例では、インストール確認画面は、インストールの実行を最終的に承諾したことを指示するための確認ボタン513を表示する。この例では、確認ボタン513に対して、インストール命令がJavaScript(登録商標)形式で貼り付けられている。確認ボタン513の押下を受け付けると、表示制御部111は、押下された確認ボタン513に貼り付けられていたインストール命令をインストール部119へ通知する。そして、インストール部119が、このインストール命令を実行する。具体的には、インストール部119は、アプリケーションを識別するアプリケーション識別情報を含み、かつ、該アプリケーションを要求するアプリケーション要求をアプリケーションサーバ7へ送信する。そして、インストール部119は、アプリケーション要求の応答として、アプリケーションサーバ7からアプリケーションを受信(ダウンロード)し、その受信したアプリケーションをMFP1にインストールする。
なお、以上に説明したMFP1の各部の機能(表示制御部111、設定部112、保存制御部113、URL要求送信部115、URL受信部116、画面要求送信部117、アプリケーション提供画面受信部118、インストール部119)は、CPU(11または21)が、記憶装置(例えばROM12、HDD14、ROM22、フラッシュメモリ24等)に格納されたプログラムを実行することにより実現される。ただし、これに限らず、例えば上記MFP1の各部の機能のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路等)で実現されてもよい。また、上述の設定情報記憶部114は、例えば本体10側のHDD14等によって実現されてもよいし、操作部20側のフラッシュメモリ24等によって実現されてもよい。なお、この例では、上述のURL要求送信部115、URL受信部116、画面要求送信部117、アプリケーション提供画面受信部118の機能は、CPU21と通信I/F25との組み合わせにより実現される。
次に、管理サーバ2の構成を説明する。図17は、管理サーバ2のハードウェア構成の一例を示す図である。図17に示すように、管理サーバ2は、CPU211と、ROM212と、RAM213と、通信I/F214と、入力部215と、表示部216とを備える。なお、ここでは、本実施形態に関する最低限の構成を例示しているが、管理サーバ2のハードウェア構成はこれらの構成に限られるものではない。CPU211は、管理サーバ2の動作を統括的に制御する。ROM212は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM213は、CPU211が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F214は、ネットワーク8と通信するためのインタフェースである。入力部215は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示部216は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
図18は、管理サーバ2が有する機能の一例を示す図である。図18に示すように、管理サーバ2は、接続対応情報記憶部221と、URL要求受信部222と、URL特定部223と、URL送信部224と、を有する。説明の便宜上、図18では、本実施形態に関する機能を主に例示しているが、管理サーバ2が有する機能は、これらに限られるものではない。
接続対応情報記憶部221は、販売店情報、地域情報、および、機器情報のうちの少なくとも1つと、MFP1の通信先となるアプリマーケットサーバ3を特定するURLとの対応関係を表す接続対応情報を記憶する。本実施形態では、接続対応情報記憶部221は、機器識別情報と販売店情報と地域情報との組み合わせごとに、URL(対応するアプリマーケットサーバ3のネットワーク8上の所在を示すURL)を対応付けた接続対応情報を記憶する。図19は、本実施形態の接続対応情報の一例を示す図である。
図18の説明を続ける。URL要求受信部222は、「特定情報受信部」の一例であり、上述のURL要求をMFP1から受信する。URL特定部223は、「特定情報特定部」の一例であり、上述の接続対応情報に基づいて、URL要求受信部222により受信されたURL要求に対応するURLを特定する。この例では、URL特定部223は、接続対応情報記憶部221に記憶された接続対応情報に基づいて、URL要求受信部222により受信されたURL要求に含まれる機器識別情報、販売店情報および地域情報の組み合わせに対応するURLを特定する。
URL送信部224は、「特定情報送信部」の一例であり、URL要求受信部222により受信されたURL要求の応答として、URL特定部223により特定されたURLをMFP1へ送信する。
以上に説明した管理サーバ2の各部の機能(URL要求受信部222、URL特定部223、URL送信部224)は、CPU211がROM212等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述の管理サーバ2の各部の機能のうちの少なくとも一部が専用のハードウェア回路(半導体集積回路等)により実現されてもよい。また、上述の接続対応情報記憶部221は、ROM212やHDDなどの補助記憶装置などで実現されてもよい。なお、この例では、URL要求受信部222およびURL送信部224の各々の機能は、CPU211と通信I/F214との組み合わせにより実現される。
また、例えば上述した管理サーバ2の各部の機能が、複数のサーバに分散されて搭載される形態であってもよい。つまり、管理サーバ2は、複数のサーバ(情報処理装置)で構成され、上述のURL要求受信部222の機能と、上述のURL特定部223の機能と、上述のURL送信部224の機能とを少なくとも備える形態であってもよい。
また、例えばアプリマーケットサーバ3の台数変更や管理するエリアの変更等に伴い、何れかのMFP1へアプリケーション提供画面を提供するためのアプリマーケットサーバ3を変更する場合であっても、管理サーバ2は、その変更を反映させた上述の接続対応情報(地域情報とURLとの対応関係を表す情報)を保持することができる。したがって、MFP1は、アプリケーション提供画面を提供する側の都合による影響を受けることなく、自装置の通信先となるアプリケーションサーバ7を特定するためのURLを取得することができる。
次に、アプリマーケットサーバ3の構成を説明する。図20は、アプリマーケットサーバ3のハードウェア構成の一例を示す図である。図20に示すように、アプリマーケットサーバ3は、CPU311と、ROM312と、RAM313と、通信I/F314と、入力部315と、表示部316とを備える。なお、ここでは、本実施形態に関する最低限の構成を例示しているが、アプリマーケットサーバ3のハードウェア構成はこれらの構成に限られるものではない。CPU311は、アプリマーケットサーバ3の動作を統括的に制御する。ROM312は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM313は、CPU311が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F314は、ネットワーク8と通信するためのインタフェースである。入力部315は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示部316は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
図21は、アプリマーケットサーバ3が有する機能の一例を示す図である。図21に示すように、アプリマーケットサーバ3は、アプリケーション対応情報記憶部321と、画面要求受信部322と、第2の特定部323と、第1の特定部324と、アプリケーション提供画面生成部325と、アプリケーション提供画面送信部326と、を有する。説明の便宜上、図21では、本実施形態に関する機能を主に例示しているが、アプリマーケットサーバ3が有する機能は、これらに限られるものではない。
アプリケーション対応情報記憶部321は、販売店情報と、販売店で取り扱うアプリケーションを識別するアプリケーション識別情報と、利用を促進するアプリケーションであるか否かを示す利用促進情報との対応関係を表すアプリケーション対応情報を記憶する。図22は、アプリケーション対応情報の一例を示す図である。図22の例において、「False」を示す利用促進情報は、利用を促進するアプリケーションではないことを示し、「True」を示す利用促進情報は、利用を促進するアプリケーションであることを示す。
画面要求受信部322は、上述の画面要求をMFP1から受信する。第2の特定部323は、アプリケーション対応情報記憶部321に記憶されたアプリケーション対応情報に基づいて、画面要求受信部322により受信された画面要求に含まれる販売店情報に対応付けられたアプリケーション識別情報を特定する。第1の特定部324は、第2の特定部323により特定されたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報(この例では「True」を示す利用促進情報)が対応付けられたアプリケーション識別情報を特定する。つまり、第1の特定部324は、アプリケーション対応情報に基づいて、画面要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報が対応付けられたアプリケーション識別情報を特定すると考えることができる。
例えばアプリケーション対応情報が図22で表され、画面要求受信部322により受信された画面要求に含まれる販売店情報が「Dealer001」である場合を想定する。この場合、第2の特定部323は、図22において「Dealer001」に対応付けられた4つのアプリケーション識別情報(図22の例では、「App0001」、「App0002」、「App0004」、「App0005」)を特定する。そして、第1の特定部324は、第2の特定部323により特定された4つのアプリケーション識別情報のうち、「True」を示す利用促進情報が対応付けられた2つのアプリケーション識別情報(図22の例では、「App0004」、「App0005」)を特定する。
アプリケーション提供画面生成部325は、第1の特定部324により特定されたアプリケーション識別情報により識別されるアプリケーションを、MFP1に対して利用を推奨する利用推奨アプリケーション(「おすすめアプリ」)として提供するためのアプリケーション提供画面を生成する。本実施形態のアプリケーション提供画面生成部325は、第1の特定部324により特定されるアプリケーション識別情報で識別される利用推奨アプリケーションと、第2の特定部323により特定されるアプリケーション識別情報で識別されるアプリケーションのうち利用推奨アプリケーション以外の他のアプリケーションとを提供するためのアプリケーション提供画面を生成する。
さらに言えば、本実施形態のアプリケーション提供画面生成部325は、利用推奨アプリケーションを、他のアプリケーションよりも目立つように表示するアプリケーション提供画面を生成する。この例では、アプリケーション提供画面生成部325は、「おすすめアプリ」に対しては、「おすすめアプリ」であることを示す画像(バッジ画像)を付加することで、「おすすめアプリ」を他のアプリケーションよりも目立つように表示しているが、これに限らず、例えば「おすすめアプリ」を他のアプリケーションよりも上位に表示することで、「おすすめアプリ」を他のアプリケーションよりも目立つように表示してもよい。
以下、本実施形態におけるアプリケーション提供画面の生成方法を具体的に説明する。本実施形態のアプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択するたびに、該選択したアプリケーション識別情報が第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断し、判断結果が肯定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、「おすすめアプリ」であることを示す第1のフラグ情報を付与して末尾に配列し、該判断結果が否定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与せずに末尾に配列する。そして、アプリケーション提供画面生成部325は、第1のフラグ情報が付与されているアプリケーションに対しては、「おすすめアプリ」であることを示すバッジ画像を付加してアプリケーション提供画面を生成する。
図23は、アプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第1の特定部324により特定されたアプリケーション識別情報群とを取得済みであることを前提とする。
図23に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS101)。次に、アプリケーション提供画面生成部325は、ステップS101で選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS102)。
ステップS102の結果が肯定の場合(ステップS102:Yes)、アプリケーション提供画面生成部325は、ステップS101で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与して末尾(配列の進行方向の末尾)に配列する(ステップS103)。一方、ステップS102の結果が否定の場合(ステップS102:No)、アプリケーション提供画面生成部325は、ステップS101で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与せずにそのまま末尾に配列する(ステップS104)。
上述のステップS103または上述のステップS104の後、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS105)。ステップS105の結果が否定の場合(ステップS105:No)、上述のステップS101以降の処理を繰り返す。一方、ステップS105の結果が肯定の場合(ステップS105:Yes)、アプリケーション提供画面生成部325は、以上のようにして順次に配列した複数のアプリケーションのち、第1のフラグ情報が付与されたアプリケーションに対しては上述のバッジ画像を付加して、図14に示すようなアプリケーション提供画面を生成する(ステップS106)。
例えばアプリマーケットサーバ3は、図24に示すような、アプリケーション識別情報ごとに、言語、表示名称、紹介メッセ―ジ、表示用の画像などを含む表示情報を対応付けたアプリケーション詳細情報を予め保持している。また、アプリマーケットサーバ3は、インストール命令等の各種のコマンド、上述のバッジ画像、各種の表示部品のレイアウトを示すレイアウト情報などのアプリケーション提供画面の生成に必要な情報を予め保持しており、これらの情報を用いてアプリケーション提供画面を生成する。
図21に戻って説明を続ける。アプリケーション提供画面送信部326は、画面要求受信部322により受信された画面要求の応答として、アプリケーション提供画面生成部325により生成されたアプリケーション提供画面をMFP1へ送信する。つまり、アプリケーション提供画面送信部326は、第1の特定部324により特定されたアプリケーション識別情報により識別されるアプリケーションを「おすすめアプリ」として提供するためのアプリケーション提供画面をMFP1へ送信する。
以上に説明したアプリマーケットサーバ3の各部の機能(画面要求受信部322、第2の特定部323、第1の特定部324、アプリケーション提供画面生成部325、アプリケーション提供画面送信部326)は、CPU311がROM312等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述のアプリマーケットサーバ3の各部の機能のうちの少なくとも一部が専用のハードウェア回路(半導体集積回路等)により実現されてもよい。また、上述のアプリケーション対応情報記憶部321は、ROM312などで実現されてもよい。なお、この例では、画面要求受信部322およびアプリケーション提供画面送信部326の各々の機能は、CPU311と通信I/F314との組み合わせにより実現される。
また、例えば上述したアプリマーケットサーバ3の各部の機能が、複数のサーバに分散されて搭載される形態であってもよい。つまり、アプリマーケットサーバ3は、複数のサーバ(情報処理装置)で構成され、上述の画面要求受信部322の機能と、上述の第2の特定部323の機能と、上述の第1の特定部324の機能と、上述のアプリケーション提供画面生成部325の機能と、上述のアプリケーション提供画面送信部326の機能とを少なくとも備える形態であってもよい。
次に、アプリケーションサーバ7の構成を説明する。図25は、アプリケーションサーバ7のハードウェア構成の一例を示す図である。図25に示すように、アプリケーションサーバ7は、CPU411と、ROM412と、RAM413と、通信I/F414と、入力部415と、表示部416とを備える。なお、ここでは、本実施形態に関する最低限の構成を例示しているが、アプリケーションサーバ7のハードウェア構成はこれらの構成に限られるものではない。CPU411は、アプリケーションサーバ7の動作を統括的に制御する。ROM412は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM413は、CPU411が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F414は、ネットワーク8と通信するためのインタフェースである。入力部415は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示部416は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
図26は、アプリケーションサーバ7が有する機能の一例を示す図である。図26に示すように、アプリケーションサーバ7は、アプリケーション記憶部421と、アプリケーション要求受信部422と、アプリケーション送信部423と、を有する。説明の便宜上、図26では、本実施形態に関する機能を主に例示しているが、アプリケーションサーバ7が有する機能は、これらに限られるものではない。
アプリケーション記憶部421は、複数のアプリケーションを記憶する。アプリケーション要求受信部422は、MFP1から上述のアプリケーション要求を受信する。アプリケーション送信部423は、アプリケーション記憶部421に記憶された複数のアプリケーションのうち、アプリケーション要求受信部422により受信されたアプリケーション要求で要求されたアプリケーションを、アプリケーション要求の要求元のMFP1へ送信する。
以上に説明したアプリケーションサーバ7の各部の機能(アプリケーション要求受信部422、アプリケーション送信部423)は、CPU411がROM412等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述のアプリケーションサーバ7の各部の機能のうちの少なくとも一部が専用のハードウェア回路(半導体集積回路等)により実現されてもよい。また、上述のアプリケーション記憶部421は、ROM412やHDDなどの補助記憶装置などで実現されてもよい。なお、この例では、アプリケーション要求受信部422およびアプリケーション送信部423の各々の機能は、CPU411と通信I/F414との組み合わせにより実現される。
また、例えば上述したアプリケーションサーバ7の各部の機能が、複数のサーバに分散されて搭載される形態であってもよい。つまり、アプリケーションサーバ7は、複数のサーバ(情報処理装置)で構成され、上述のアプリケーション要求受信部422の機能と、上述のアプリケーション送信部423の機能とを少なくとも備える形態であってもよい。さらに、例えばアプリケーションサーバ7とアプリマーケットサーバ3が同一のサーバで構成される形態であっても構わない。
図27は、情報処理システム100の動作手順の一例を示すシーケンス図である。ここでは、アプリマーケットアプリの2回目以降の起動を想定して説明する。また、ここでは、MFP1の機番は本体10のHDD14に格納され、販売店情報は操作部20のフラッシュメモリ24に格納されることを前提としているが、これらの情報の格納先は任意であり、これに限られるものではない。
まず操作画面上のアイコン5(図5参照)をタッチすると(ステップS1)、アプリマーケットアプリが起動する。次に、起動したアプリマーケットアプリは、上述のURL要求を、本体10の通信I/F15を経由して管理サーバ2へ送信する(ステップS2)。なお、この例では、MFP1は、本体10の通信I/F15を介して、管理サーバ2またはアプリマーケットサーバ3と通信するが、これに限らず、例えば操作部20の通信I/F25を介して、管理サーバ2またはアプリマーケットサーバ3と通信する形態であってもよい。
URL要求を受信した管理サーバ2は、その受信したURL要求に含まれる地域情報に対応するURLを特定する(ステップS3)。具体的な内容は上述したとおりである。そして、管理サーバ2は、URL要求の応答として、ステップS3で特定したURLを返信する(ステップS4)。
次に、アプリマーケットアプリは、本体10のサービス層102に対して、MFP1の機番を要求する(ステップS5)。この要求を受けたサービス層102は、本体10のHDD14(機番の格納先はこれに限られるものではない)から機番を取得し(ステップS6)、アプリマーケットアプリへ送信する(ステップS7)。
次に、アプリマーケットアプリは、操作部20のフラッシュメモリ24から販売店情報を取得する(ステップS8)。次に、アプリマーケットアプリは、機番と販売店情報とを含む上述の画面要求を、本体10の通信I/F15を経由してアプリマーケットサーバ3へ送信する(ステップS9)。
画面要求を受信したアプリマーケットサーバ3は、その受信した画面要求に含まれる販売店情報を用いて「おすすめアプリ」を特定し、特定した「おすすめアプリ」を提供するためのアプリケーション提供画面を生成する(ステップS10)。具体的な内容は上述したとおりである。そして、アプリマーケットサーバ3は、画面要求の応答として、ステップS10で生成したアプリケーション提供画面をMFP1へ送信する(ステップS11)。画面要求の応答としてアプリケーション提供画面を受信したMFP1は、その受信したアプリケーション提供画面を操作パネル27に表示する(ステップS12)。
以上に説明したように、本実施形態では、MFP1は、該MFP1を販売する販売店を示す販売店情報を含み、かつ、アプリケーションを提供するためのアプリケーション提供画面を要求する画面要求をアプリマーケットサーバ3へ送信する。そして、アプリマーケットサーバ3は、販売店情報と、販売店で取り扱うアプリケーションを識別するアプリケーション識別情報と、利用を促進するアプリケーションであるか否かを示す利用促進情報との対応関係を表すアプリケーション対応情報に基づいて、MFP1から受信した画面要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報が対応付けられたアプリケーション識別情報を特定し、その特定したアプリケーション識別情報により識別されるアプリケーションを「おすすめアプリ」として提供するためのアプリケーション提供画面をMFP1へ送信する。したがって、本実施形態によれば、MFP1を販売する販売店ごとに、該MFP1に利用させるアプリケーションが異なる場合であっても、該MFP1の操作パネル27に表示されるアプリケーション提供画面には、該MFP1が適切に利用することができるアプリケーションのみを表示することができるので、該MFP1が適切に利用可能なアプリケーションのみを紹介することができる。さらに、MFP1が適切に利用可能なアプリケーションのうち、該MFP1に対して利用を推奨するアプリケーションを「おすすめアプリ」として紹介することができるので、ユーザが「おすすめアプリ」を見逃してしまうことを抑制できる。
(第1の実施形態の変形例1)
例えばアプリケーション提供画面生成部325は、販売店情報とアプリケーション識別情報との組み合わせごとにアプリケーションのダウンロード数を対応付けたダウンロード情報に基づいて、第1の特定部324により特定されたアプリケーション識別情報ごとに、対応するダウンロード数を特定し、第1の特定部324により特定された1以上のアプリケーション識別情報と1対1に対応する1以上の「おすすめアプリ」(利用推奨アプリケーション)を、ダウンロード数の多い順に並べたアプリケーション提供画面を生成することもできる。
図28は、本変形例のアプリマーケットサーバ3が有する機能の一例を示す図である。図28に示すように、アプリマーケットサーバ3は、上述のダウンロード情報を記憶するダウンロード情報記憶部330をさらに有する。図29は、ダウンロード情報の一例を示す図である。
本変形例では、アプリケーション提供画面生成部325は、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する。以下、本変形例におけるアプリケーション提供画面の生成方法を具体的に説明する。本実施形態のアプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択するたびに、該選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断し、判断結果が肯定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーションを第1の画面の配列方向の末尾に配列し、判断結果が否定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーションを第2の画面の配列方向の末尾に配列する。
より具体的には、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれると判断するたびに、該選択したアプリケーション識別情報で識別されるアプリケーション(「おすすめアプリ」)に対して、表示順序を決定するための表示順序情報を紐付けていき、それぞれに紐付く表示順序情報に基づいて、第1の特定部324により特定された1以上のアプリケーション識別情報と1対1に対応する1以上のアプリケーションを並べ替えて第1の画面を生成する。
さらに言えば、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれる場合、上述のダウンロード情報を参照して、該選択したアプリケーション識別情報に対応付けられたダウンロード数を特定し、その特定したダウンロード数を表示順序情報として、該選択したアプリケーション識別情報で識別されるアプリケーションに紐付ける。
図30は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第1の特定部324により特定されたアプリケーション識別情報群とを取得済みであることを前提とする。
図30に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS111)。次に、アプリケーション提供画面生成部325は、ステップS111で選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS112)。
ステップS112の結果が肯定の場合(ステップS112:Yes)、アプリケーション提供画面生成部325は、上述のダウンロード情報を参照して、ステップS111で選択したアプリケーション識別情報と、画面要求受信部322により受信された画面要求に含まれていた販売店識別情報との組み合わせに対応付けられたダウンロード数を特定する。そして、ステップS111で選択したアプリケーション識別情報で識別されるアプリケーションに対して、その特定したダウンロード数を紐付けて、第1の画面の配列方向の末尾に配列する(ステップS113)。一方、ステップS112の結果が否定の場合(ステップS112:No)、アプリケーション提供画面生成部325は、ステップS111で選択したアプリケーション識別情報で識別されるアプリケーションを、第2の画面の配列方向の末尾に配列する(ステップS114)。
上述のステップS113または上述のステップS114の後、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS115)。ステップS115の結果が否定の場合(ステップS115:No)、上述のステップS111以降の処理を繰り返す。一方、ステップS115の結果が肯定の場合(ステップS115:Yes)、アプリケーション提供画面生成部325は、第1の画面と第2の画面を生成する(ステップS116)。より具体的には、アプリケーション提供画面生成部325は、ステップS112の結果が肯定であった1以上のアプリケーション(「おすすめアプリ」)については、それぞれに紐付くダウンロード数が多い順に並び替えて第1の画面を生成し、ステップS112の結果が否定であった1以上のアプリケーション(「おすすめアプリ」以外の他のアプリケーション)については、以上のようにして順次に配列した第2の画面を生成する。
例えば図31に示すように、アプリケーション提供画面は、第1の画面と第2の画面とが同一画面内に表示される形態であってもよいし、例えば図32に示すように、アプリケーション提供画面は、第1の画面と第2の画面とをタブで切り替え可能な形態であってもよい。他の例についても同様である。
(第1の実施形態の変形例2)
例えばアプリケーション提供画面生成部325は、アプリケーション識別情報ごとにアプリケーションの価格を対応付けた価格情報に基づいて、第1の特定部324により特定されたアプリケーション識別情報ごとに、該アプリケーション識別情報に対応付けられた価格を特定し、第1の特定部324により特定された1以上のアプリケーション識別情報と1対1に対応する1以上の「おすすめアプリ」を、価格の高い順に並べたアプリケーション提供画面を生成する。
図33は、本変形例のアプリマーケットサーバ3が有する機能の一例を示す図である。図33に示すように、アプリマーケットサーバ3は、上述の価格情報を記憶する価格情報記憶部340をさらに有する。図34は、価格情報の一例を示す図である。
本変形例では、アプリケーション提供画面生成部325は、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する。以下、本変形例におけるアプリケーション提供画面の生成方法を具体的に説明する。本実施形態のアプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択するたびに、該選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断し、判断結果が肯定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーション(「おすすめアプリ」)を第1の画面の配列方向の末尾に配列し、判断結果が否定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーション(他のアプリケーション)を第2の画面の配列方向の末尾に配列する。
より具体的には、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれると判断するたびに、該選択したアプリケーション識別情報に対して、表示順序を決定するための表示順序情報を紐付けていき、それぞれに紐付く表示順序情報に基づいて、第1の特定部324により特定された1以上のアプリケーション識別情報と1対1に対応する1以上のアプリケーションを並べ替えて第1の画面を生成する。
さらに言えば、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれる場合、上述の価格情報を参照して、該選択したアプリケーション識別情報に対応付けられた価格を特定し、その特定した価格を表示順序情報として該選択したアプリケーション識別情報で識別されるアプリケーションに紐付ける。
図35は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第1の特定部324により特定されたアプリケーション識別情報群とを取得済みであることを前提とする。
図35に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS121)。次に、アプリケーション提供画面生成部325は、ステップS121で選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS122)。
ステップS122の結果が肯定の場合(ステップS122:Yes)、アプリケーション提供画面生成部325は、上述の価格情報に基づいて、ステップS121で選択したアプリケーション識別情報に対応付けられた価格を特定する。そして、ステップS121で選択したアプリケーション識別情報で識別されるアプリケーションに対して、その特定した価格を紐付けて、第1の画面の配列方向の末尾に配列する(ステップS123)。一方、ステップS122の結果が否定の場合(ステップS122:No)、アプリケーション提供画面生成部325は、ステップS121で選択したアプリケーション識別情報で識別されるアプリケーションを、第2の画面の配列方向の末尾に配列する(ステップS124)。
上述のステップS123または上述のステップS124の後、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS125)。ステップS125の結果が否定の場合(ステップS125:No)、上述のステップS121以降の処理を繰り返す。一方、ステップS125の結果が肯定の場合(ステップS125:Yes)、アプリケーション提供画面生成部325は、第1の画面と第2の画面を生成する(ステップS126)。より具体的には、アプリケーション提供画面生成部325は、ステップS122の結果が肯定であった1以上のアプリケーション(「おすすめアプリ」)については、それぞれに紐付く価格が高い順に並び替えて第1の画面を生成し、ステップS112の結果が否定であった1以上のアプリケーション(「おすすめアプリ」以外の他のアプリケーション)については、以上のようにして順次に配列した第2の画面を生成する。
(第1の実施形態の変形例3)
例えば図36に示すように、アプリケーション対応情報は、販売店情報と、アプリケーション識別情報と、利用促進情報と、該アプリケーション識別情報で識別されるアプリケーションと競合するアプリケーションを識別する競合アプリケーション識別情報との対応関係を表す情報であってもよい。
本変形例では、アプリケーション提供画面生成部325は、第1の特定部324により特定されたアプリケーション識別情報に対して、競合アプリケーション識別情報が対応付けられている場合は、該競合アプリケーション識別情報で識別されるアプリケーションを非表示とするアプリケーション提供画面を生成する。例えば図36の例において、「App0004」を示すアプリケーション識別情報と、「App0005」を示すアプリケーション識別情報とが第1の特定部324により特定された場合を想定する。この場合、「App0005」を示すアプリケーション識別情報に対して、「App0003」を示す競合アプリケーション識別情報が対応付けられているので、アプリケーション提供画面生成部325は、第2の特定部323により「App0003」を示すアプリケーション識別情報が特定されても、該アプリケーション識別情報で識別されるアプリケーションは非表示とするアプリケーション提供画面を生成することになる。なお、この例では、第1の特定部324は、第2の特定部323により特定されたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報(「True」を示す利用促進情報)が対応付けられたアプリケーション識別情報を特定する際に、その特定したアプリケーション識別情報に対応付けられた競合アプリケーション識別情報も併せて特定することができる。
本変形例では、アプリケーション提供画面生成部325は、上述の第1の実施形態と同様に、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択し、該選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断した後に、該選択したアプリケーション識別情報が非表示対象である場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、非表示にすることを示す第2のフラグ情報を付与する。ここでは、アプリケーション提供画面生成部325は、該選択したアプリケーション識別情報が、第1の特定部324により特定された何れかのアプリケーション識別情報に対応付けられた競合アプリケーション識別情報と一致する場合は、該選択したアプリケーション識別情報は非表示対象であると判断する。そして、アプリケーション提供画面生成部325は、第2のフラグ情報が付与されているアプリケーションは非表示としてアプリケーション提供画面を生成する。
図37は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第1の特定部324により特定されたアプリケーション識別情報群および競合アプリケーション群と、を取得済みであることを前提とする。
図37に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS201)。次に、アプリケーション提供画面生成部325は、ステップS201で選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS202)。
ステップS202の結果が肯定の場合(ステップS202:Yes)、アプリケーション提供画面生成部325は、ステップS201で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与して末尾(配列の進行方向の末尾)に配列する(ステップS203)。一方、ステップS202の結果が否定の場合(ステップS202:No)、アプリケーション提供画面生成部325は、ステップS201で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与せずにそのまま末尾に配列する(ステップS204)。
上述のステップS203または上述のステップS204の後、アプリケーション提供画面生成部325は、ステップS201で選択したアプリケーション識別情報が、第1の特定部324により特定された何れかのアプリケーション識別情報に対応付けられた競合アプリケーション識別情報と一致するか否かを確認する(ステップS205)。ステップS205の結果が肯定の場合(ステップS205:Yes)、アプリケーション提供画面生成部325は、ステップS201で選択したアプリケーション識別情報で識別されるアプリケーションに対して第2のフラグ情報を付与し(ステップS206)、処理はステップS207に移行する。一方、ステップS205の結果が否定の場合(ステップS205:No)、そのまま処理はステップS207に移行する。
ステップS207において、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS207)。ステップS207の結果が否定の場合(ステップS207:No)、上述のステップS201以降の処理を繰り返す。一方、ステップS207の結果が肯定の場合(ステップS207:Yes)、アプリケーション提供画面生成部325は、以上のようにして順次に配列した複数のアプリケーションのうち、第1のフラグ情報が付与されたアプリケーションに対しては上述のバッジ画像を付加し、第2のフラグ情報が付与されたアプリケーションは非表示としてアプリケーション提供画面を生成する(ステップS208)。
なお、本変形例の構成は、上述の第1の実施形態の変形例1および2のように、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する形態についても適用可能である。
例えば上述の第1の実施形態の変形例1に対して本変形例を適用する場合を想定する。この場合、図30に示すステップS113またはステップS114の後であって、ステップS115の前に、図37に示すステップS205およびステップS206に相当する処理が入る。そして、図30に示すステップS116において、第2のフラグ情報が付与されたアプリケーションは非表示として、第1の画面および第2の画面が生成されるという具合である。上述の第1の実施形態の変形例2に対して本変形例を適用する場合も同様に考えることができる。
(第1の実施形態の変形例4)
例えば上述の画面要求は、MFP1にインストール済みのアプリケーションを識別するインストール済みアプリケーション識別情報をさらに含み、アプリケーション提供画面生成部325は、第1の特定部324により特定されたアプリケーション識別情報で識別されるアプリケーションのうち、画面要求に含まれるインストール済みアプリケーション識別情報で識別されるアプリケーションを除いたアプリケーションを「おすすめアプリ」として提供するためのアプリケーション提供画面を生成することもできる。
本変形例では、アプリケーション提供画面生成部325は、上述の第1の実施形態と同様に、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択し、該選択したアプリケーション識別情報が、第1の特定部324により特定された1以上のアプリケーション識別情報に含まれるか否かを判断した後に、該選択したアプリケーション識別情報が非表示対象である場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、非表示にすることを示す第2のフラグ情報を付与する。この例では、アプリケーション提供画面生成部325は、該選択したアプリケーション識別情報が、画面要求に含まれるインストール済みアプリケーション識別情報と一致する場合は、該選択したアプリケーション識別情報は非表示対象であると判断する。そして、アプリケーション提供画面生成部325は、第2のフラグ情報が付与されているアプリケーションは非表示としてアプリケーション提供画面を生成する。
図38は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第1の特定部324により特定されたアプリケーション識別情報群と、画面要求受信部322により受信された画面要求に含まれていたインストール済みアプリケーション識別情報群と、を取得済みであることを前提とする。
図38に示すステップS301〜ステップS304の処理内容は、図37に示すステップS201〜ステップS204の処理内容と同様であるので、詳細な説明は省略する。図38に示すステップS303またはステップS304の後、アプリケーション提供画面生成部325は、ステップS301で選択したアプリケーション識別情報が、画面要求に含まれていた何れかのインストール済みアプリケーション識別情報と一致するか否かを確認する(ステップS305)。ステップS305の結果が肯定の場合(ステップS305:Yes)、アプリケーション提供画面生成部325は、ステップS301で選択したアプリケーション識別情報で識別されるアプリケーションに対して第2のフラグ情報を付与し(ステップS306)、処理はステップS307に移行する。一方、ステップS305の結果が否定の場合(ステップS305:No)、そのまま処理はステップS307に移行する。ステップS307以降の処理内容は、図37に示すステップS207以降の処理内容と同様であるので、詳細な説明は省略する。
なお、本変形例の構成は、上述の第1の実施形態の変形例1および2のように、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する形態についても適用可能である。
例えば上述の第1の実施形態の変形例1に対して本変形例を適用する場合を想定する。この場合、図30に示すステップS113またはステップS114の後であって、ステップS115の前に、図38に示すステップS305およびステップS306に相当する処理が入る。そして、図30に示すステップS116において、第2のフラグ情報が付与されたアプリケーションは非表示として、第1の画面および第2の画面が生成されるという具合である。上述の第1の実施形態の変形例2に対して本変形例を適用する場合も同様に考えることができる。
(第2の実施形態)
次に第2の実施形態を説明する。上述の第1の実施形態と共通する部分については説明を省略する。
本実施形態では、上述の画面要求は、業種を識別する業種識別情報をさらに含む点で上述の第1の実施形態と相違する。MFP1の設定部112は、MFP1を使用するユーザの業種を指定するための入力に応じて、業種識別情報を設定する。例えば図6に示すような初期画面上の「次へ」の直上の矢印を示す表示部品(UI)を押下する操作を受け付けると、図39に示すような、地域情報や販売店情報に加えて、ユーザの業種を入力するための入力画面が操作パネル27に表示される形態であってもよい。設定部112は、この入力画面からの入力に応じて、販売店情報、地域情報、業種識別情報を設定することができる。
図39に示す入力画面には、教育、行政、医療、建築などの業種ごとに、該業種を選択するためのチェックボックスが表示されている。MFP1は、図40に示すような、業種と業種識別情報との対応関係を表す管理情報を予め保持しており、設定部112は、入力画面から選択された業種(複数の業種が選択されてもよい)に対応する業種識別情報を設定することができる。そして、MFP1の保存制御部113は、設定部112により設定された業種識別情報を設定情報記憶部114に保存する制御を行うことができる。
この例では、MFP1の画面要求送信部117は、販売店情報と、機器識別情報と、業種識別情報とを含む画面要求をアプリマーケットサーバ3へ送信する。なお、画面要求に含まれる業種識別情報は複数存在することもあり得る。
図41は、本実施形態のアプリマーケットサーバ3が有する機能の一例を示す図である。図41に示すように、アプリマーケットサーバ3は、業種情報記憶部350と、第3の特定部360とをさらに有する点で上述の第1の実施形態と相違する。説明の便宜上、図41では、本実施形態に関する機能を主に例示しているが、アプリマーケットサーバ3が有する機能は、これらに限られるものではない。
業種情報記憶部350は、アプリケーション識別情報と、業種識別情報との対応関係を表す業種情報を記憶する。図42は、業種情報の一例を示す図である。なお、ここでは、アプリケーション対応情報と業種情報とは個別に設けられているが、これに限らず、例えばアプリケーション対応情報と業種情報とを統合した1つの情報(つまり、販売店情報と、アプリケーション識別情報と、利用促進情報と、業種識別情報との対応関係を表す情報)がMFP1内に保存される形態であってもよい。
第3の特定部360は、上述の業種情報に基づいて、第1の特定部324により特定されたアプリケーション識別情報のうち、画面要求に含まれる業種識別情報に対応付けられたアプリケーション識別情報を特定する。例えば業種情報が図42で表され、第1の特定部324により、「App0001」を示すアプリケーション識別情報、「App0002」を示すアプリケーション識別情報、「App0003」を示すアプリケーション識別情報が特定され、かつ、画面要求には「G0001」を示す業種識別情報が含まれている場合を想定する。この場合、第3の特定部360は、図42に示す業種情報を参照して、第1の特定部324により特定された3つのアプリケーション識別情報(「App0001」を示すアプリケーション識別情報、「App0002」を示すアプリケーション識別情報、および、「App0003」を示すアプリケーション識別情報)のうち、「G0001」を示す業種識別情報に対応付けられた2つのアプリケーション識別情報(「App0001」を示すアプリケーション識別情報、「App0003」を示すアプリケーション識別情報)を特定する。
アプリケーション提供画面生成部325は、第3の特定部360により特定されたアプリケーション識別情報により識別されるアプリケーションを、MFP1に対して利用を推奨する利用推奨アプリケーション(「おすすめアプリ」)として提供するためのアプリケーション提供画面を生成する。本実施形態のアプリケーション提供画面生成部325は、第3の特定部360により特定されるアプリケーション識別情報で識別される利用推奨アプリケーションと、第2の特定部323により特定されるアプリケーション識別情報で識別されるアプリケーションのうち利用推奨アプリケーション以外の他のアプリケーションとを提供するためのアプリケーション提供画面を生成する。
本実施形態のアプリケーション提供画面生成部325は、上述の第1の実施形態と同様に、利用推奨アプリケーションを、他のアプリケーションよりも目立つように表示するアプリケーション提供画面を生成する。
以下、本実施形態におけるアプリケーション提供画面の生成方法を具体的に説明する。本実施形態のアプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択するたびに、該選択したアプリケーション識別情報が第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断し、判断結果が肯定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、「おすすめアプリ」であることを示す第1のフラグ情報を付与して末尾に配列し、該判断結果が否定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与せずに末尾に配列する。そして、アプリケーション提供画面生成部325は、第1のフラグ情報が付与されているアプリケーションに対しては、「おすすめアプリ」であることを示すバッジ画像を付加してアプリケーション提供画面を生成する。
図43は、アプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第3の特定部360により特定されたアプリケーション識別情報群と、第1の特定部324により特定されたアプリケーション識別情報群とを取得済みであることを前提とする。
図43に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS401)。次に、アプリケーション提供画面生成部325は、ステップS401で選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS402)。
ステップS402の結果が肯定の場合(ステップS402:Yes)、アプリケーション提供画面生成部325は、ステップS401で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与して末尾(配列の進行方向の末尾)に配列する(ステップS403)。一方、ステップS402の結果が否定の場合(ステップS402:No)、アプリケーション提供画面生成部325は、ステップS401で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与せずにそのまま末尾に配列する(ステップS404)。
上述のステップS403または上述のステップS404の後、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS405)。ステップS405の結果が否定の場合(ステップS405:No)、上述のステップS401以降の処理を繰り返す。一方、ステップS405の結果が肯定の場合(ステップS405:Yes)、アプリケーション提供画面生成部325は、以上のようにして順次に配列した複数のアプリケーションのうち、第1のフラグ情報が付与されたアプリケーションに対しては上述のバッジ画像を付加して、図14に示すようなアプリケーション提供画面を生成する(ステップS406)。
本実施形態の情報処理システム100の動作手順は、上述の第1の実施形態で説明した動作手順(図27)と同様である。
以上に説明したように、本実施形態では、MFP1は、販売店情報と業務識別情報とを含む画面要求をアプリマーケットサーバ3へ送信する。そして、アプリマーケットサーバ3は、販売店情報と、アプリケーション識別情報と、利用促進情報との対応関係を表すアプリケーション対応情報に基づいて、MFP1から受信した画面要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報が対応付けられたアプリケーション識別情報を特定する。そして、アプリマーケットサーバ3は、アプリケーション識別情報と、業種識別情報との対応関係を表す業種情報に基づいて、以上のようにして特定したアプリケーション識別情報のうち、画面要求に含まれる業種識別情報に対応付けられたアプリケーション識別情報により識別されるアプリケーションを「おすすめアプリ」として提供するためのアプリケーション提供画面をMFP1へ送信する。したがって、本実施形態によれば、MFP1を販売する販売店ごとに、該MFP1に利用させるアプリケーションが異なる場合であっても、該MFP1の操作パネル27に表示されるアプリケーション提供画面には、該MFP1が適切に利用することができるアプリケーションのみを表示することができるので、該MFP1が適切に利用可能なアプリケーションのみを紹介することができる。さらに、MFP1が適切に利用可能なアプリケーションのうち、該MFP1に対して利用を推奨し、かつ、MFP1のユーザの業種に適したアプリケーションを「おすすめアプリ」として紹介することができるので、ユーザが、自身の業務に適した「おすすめアプリ」を見逃してしまうことを抑制できる。
(第2の実施形態の変形例1)
例えばアプリケーション提供画面生成部325は、販売店情報とアプリケーション識別情報との組み合わせごとにアプリケーションのダウンロード数を対応付けたダウンロード情報に基づいて、第3の特定部360により特定されたアプリケーション識別情報ごとに、対応するダウンロード数を特定し、第3の特定部360により特定された1以上のアプリケーション識別情報と1対1に対応する1以上の「おすすめアプリ」を、ダウンロード数の多い順に並べたアプリケーション提供画面を生成することもできる。
図44は、本変形例のアプリマーケットサーバ3が有する機能の一例を示す図である。図44に示すように、アプリマーケットサーバ3は、上述のダウンロード情報を記憶するダウンロード情報記憶部330をさらに有する。
本変形例では、アプリケーション提供画面生成部325は、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する。以下、本変形例におけるアプリケーション提供画面の生成方法を具体的に説明する。本実施形態のアプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択するたびに、該選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断し、判断結果が肯定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーション(「おすすめアプリ」)を第1の画面の配列方向の末尾に配列し、判断結果が否定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーション(「他のアプリケーション」)を第2の画面の配列方向の末尾に配列する。
より具体的には、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれると判断するたびに、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、表示順序を決定するための表示順序情報を紐付けていき、それぞれに紐付く表示順序情報に基づいて、第3の特定部360により特定された1以上のアプリケーション識別情報と1対1に対応する1以上のアプリケーションを並べ替えて第1の画面を生成する。
さらに言えば、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれる場合、上述のダウンロード情報を参照して、該選択したアプリケーション識別情報に対応付けられたダウンロード数を特定し、その特定したダウンロード数を表示順序情報として、該選択したアプリケーション識別情報で識別されるアプリケーションに紐付ける。
図45は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第3の特定部360により特定されたアプリケーション識別情報群とを取得済みであることを前提とする。
図45に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS411)。次に、アプリケーション提供画面生成部325は、ステップS411で選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS412)。
ステップS412の結果が肯定の場合(ステップS412:Yes)、アプリケーション提供画面生成部325は、上述のダウンロード情報を参照して、ステップS411で選択したアプリケーション識別情報と、画面要求受信部322により受信された画面要求に含まれていた販売店識別情報との組み合わせに対応付けられたダウンロード数を特定する。そして、ステップS411で選択したアプリケーション識別情報で識別されるアプリケーションに対して、その特定したダウンロード数を紐付けて、第1の画面の配列方向の末尾に配列する(ステップS413)。一方、ステップS412の結果が否定の場合(ステップS412:No)、アプリケーション提供画面生成部325は、ステップS411で選択したアプリケーション識別情報で識別されるアプリケーションを、第2の画面の配列方向の末尾に配列する(ステップS414)。
上述のステップS413または上述のステップS414の後、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS415)。ステップS415の結果が否定の場合(ステップS415:No)、上述のステップS411以降の処理を繰り返す。一方、ステップS415の結果が肯定の場合(ステップS415:Yes)、アプリケーション提供画面生成部325は、第1の画面と第2の画面を生成する(ステップS416)。より具体的には、アプリケーション提供画面生成部325は、ステップS412の結果が肯定であった1以上のアプリケーション(「おすすめアプリ」)については、それぞれに紐付くダウンロード数が多い順に並び替えて第1の画面を生成し、ステップS412の結果が否定であった1以上のアプリケーション(「おすすめアプリ」以外の他のアプリケーション)については、以上のようにして順次に配列した第2の画面を生成する。
(第2の実施形態の変形例2)
例えばアプリケーション提供画面生成部325は、アプリケーション識別情報ごとにアプリケーションの価格を対応付けた価格情報に基づいて、第3の特定部360により特定されたアプリケーション識別情報ごとに、該アプリケーション識別情報に対応付けられた価格を特定し、第3の特定部360により特定された1以上のアプリケーション識別情報と1対1に対応する1以上の利用推奨アプリケーションを、価格の高い順に並べたアプリケーション提供画面を生成する。
図46は、本変形例のアプリマーケットサーバ3が有する機能の一例を示す図である。図46に示すように、アプリマーケットサーバ3は、上述の価格情報を記憶する価格情報記憶部340をさらに有する。
本変形例では、アプリケーション提供画面生成部325は、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する。以下、本変形例におけるアプリケーション提供画面の生成方法を具体的に説明する。本実施形態のアプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択するたびに、該選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断し、判断結果が肯定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーション(「おすすめアプリ」)を第1の画面の配列方向の末尾に配列し、判断結果が否定の場合は、該選択したアプリケーション識別情報で識別されるアプリケーション(「他のアプリケーション」)を第2の画面の配列方向の末尾に配列する。
より具体的には、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれると判断するたびに、該選択したアプリケーション識別情報に対して、表示順序を決定するための表示順序情報を紐付けていき、それぞれに紐付く表示順序情報に基づいて、第3の特定部360により特定された1以上のアプリケーション識別情報と1対1に対応する1以上のアプリケーションを並べ替えて第1の画面を生成する。
さらに言えば、アプリケーション提供画面生成部325は、選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれる場合、上述の価格情報を参照して、該選択したアプリケーション識別情報に対応付けられた価格を特定し、その特定した価格を表示順序情報として該選択したアプリケーション識別情報で識別されるアプリケーションに紐付ける。
図47は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第3の特定部360により特定されたアプリケーション識別情報群とを取得済みであることを前提とする。
図47に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS421)。次に、アプリケーション提供画面生成部325は、ステップS421で選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS422)。
ステップS422の結果が肯定の場合(ステップS422:Yes)、アプリケーション提供画面生成部325は、上述の価格情報に基づいて、ステップS421で選択したアプリケーション識別情報に対応付けられた価格を特定する。そして、ステップS421で選択したアプリケーション識別情報で識別されるアプリケーションに対して、その特定した価格を紐付けて、第1の画面の配列方向の末尾に配列する(ステップS423)。一方、ステップS422の結果が否定の場合(ステップS422:No)、アプリケーション提供画面生成部325は、ステップS421で選択したアプリケーション識別情報で識別されるアプリケーションを、第2の画面の配列方向の末尾に配列する(ステップS424)。
上述のステップS423または上述のステップS424の後、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS425)。ステップS425の結果が否定の場合(ステップS425:No)、上述のステップS421以降の処理を繰り返す。一方、ステップS425の結果が肯定の場合(ステップS425:Yes)、アプリケーション提供画面生成部325は、第1の画面と第2の画面を生成する(ステップS426)。より具体的には、アプリケーション提供画面生成部325は、ステップS422の結果が肯定であった1以上のアプリケーション(「おすすめアプリ」)については、それぞれに紐付く価格が高い順に並び替えて第1の画面を生成し、ステップS422の結果が否定であった1以上のアプリケーション(「おすすめアプリ」以外の他のアプリケーション)については、以上のようにして順次に配列した第2の画面を生成する。
(第2の実施形態の変形例3)
上述の第1の実施形態の変形例3と同様に、アプリケーション対応情報は、販売店情報と、アプリケーション識別情報と、利用促進情報と、該アプリケーション識別情報で識別されるアプリケーションと競合するアプリケーションを識別する競合アプリケーション識別情報との対応関係を表す情報であってもよい(図36参照)。
本変形例では、アプリケーション提供画面生成部325は、第3の特定部360により特定されたアプリケーション識別情報に対して、競合アプリケーション識別情報が対応付けられている場合は、該競合アプリケーション識別情報で識別されるアプリケーションを非表示とするアプリケーション提供画面を生成する。なお、この例では、第1の特定部324は、第2の特定部323により特定されたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報(「True」を示す利用促進情報)が対応付けられたアプリケーション識別情報を特定する際に、その特定したアプリケーション識別情報に対応付けられた競合アプリケーション識別情報も併せて特定することができる。
本変形例では、アプリケーション提供画面生成部325は、上述の第2の実施形態と同様に、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択し、該選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断した後に、該選択したアプリケーション識別情報が非表示対象である場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、非表示にすることを示す第2のフラグ情報を付与する。ここでは、アプリケーション提供画面生成部325は、該選択したアプリケーション識別情報が、第1の特定部324により特定された何れかのアプリケーション識別情報に対応付けられた競合アプリケーション識別情報と一致する場合は、該選択したアプリケーション識別情報は非表示対象であると判断する。そして、アプリケーション提供画面生成部325は、第2のフラグ情報が付与されているアプリケーションは非表示としてアプリケーション提供画面を生成する。
図48は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第3の特定部360により特定されたアプリケーション識別情報群と、第1の特定部324により特定された競合アプリケーション群と、を取得済みであることを前提とする。
図48に示すように、アプリケーション提供画面生成部325は、第2の特定部323により特定された複数のアプリケーション識別情報のうち何れかの(未選択の)アプリケーション識別情報を選択する(ステップS431)。次に、アプリケーション提供画面生成部325は、ステップS431で選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断する(ステップS432)。
ステップS432の結果が肯定の場合(ステップS432:Yes)、アプリケーション提供画面生成部325は、ステップS431で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与して末尾(配列の進行方向の末尾)に配列する(ステップS433)。一方、ステップS432の結果が否定の場合(ステップS432:No)、アプリケーション提供画面生成部325は、ステップS403で選択したアプリケーション識別情報で識別されるアプリケーションに対して第1のフラグ情報を付与せずにそのまま末尾に配列する(ステップS434)。
上述のステップS433または上述のステップS434の後、アプリケーション提供画面生成部325は、ステップS431で選択したアプリケーション識別情報が、第1の特定部324により特定された何れかのアプリケーション識別情報に対応付けられた競合アプリケーション識別情報と一致するか否かを確認する(ステップS435)。ステップS435の結果が肯定の場合(ステップS435:Yes)、アプリケーション提供画面生成部325は、ステップS431で選択したアプリケーション識別情報で識別されるアプリケーションに対して第2のフラグ情報を付与し(ステップS436)、処理はステップS437に移行する。一方、ステップS435の結果が否定の場合(ステップS435:No)、そのまま処理はステップS437に移行する。
ステップS437において、アプリケーション提供画面生成部325は、第2の特定部323により特定された全てのアプリケーション識別情報を選択済みであるか否かを確認する(ステップS437)。ステップS437の結果が否定の場合(ステップS437:No)、上述のステップS431以降の処理を繰り返す。一方、ステップS437の結果が肯定の場合(ステップS437:Yes)、アプリケーション提供画面生成部325は、以上のようにして順次に配列した複数のアプリケーションのうち、第1のフラグ情報が付与されたアプリケーションに対しては上述のバッジ画像を付加し、第2のフラグ情報が付与されたアプリケーションは非表示としてアプリケーション提供画面を生成する(ステップS438)。
なお、本変形例の構成は、上述の第2の実施形態の変形例1および2のように、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する形態についても適用可能である。
例えば上述の第2の実施形態の変形例2に対して本変形例を適用する場合を想定する。この場合、図47に示すステップS423またはステップS424の後であって、ステップS425の前に、図48に示すステップS435およびステップS436に相当する処理が入る。そして、図47に示すステップ426において、第2のフラグ情報が付与されたアプリケーションは非表示として、第1の画面および第2の画面が生成されるという具合である。上述の第2の実施形態の変形例1に対して本変形例を適用する場合も同様に考えることができる。
(第2の実施形態の変形例4)
例えば上述の画面要求は、MFP1にインストール済みのアプリケーションを識別するインストール済みアプリケーション識別情報をさらに含み、アプリケーション提供画面生成部325は、第3の特定部360により特定されたアプリケーション識別情報で識別されるアプリケーションのうち、画面要求に含まれるインストール済みアプリケーション識別情報で識別されるアプリケーションを除いたアプリケーションを「おすすめアプリ」として提供するためのアプリケーション提供画面を生成することもできる。
本変形例では、アプリケーション提供画面生成部325は、上述の第2の実施形態と同様に、第2の特定部323により特定された複数のアプリケーション識別情報を1つずつ選択し、該選択したアプリケーション識別情報が、第3の特定部360により特定された1以上のアプリケーション識別情報に含まれるか否かを判断した後に、該選択したアプリケーション識別情報が非表示対象である場合は、該選択したアプリケーション識別情報で識別されるアプリケーションに対して、非表示にすることを示す第2のフラグ情報を付与する。この例では、アプリケーション提供画面生成部325は、該選択したアプリケーション識別情報が、画面要求に含まれるインストール済みアプリケーション識別情報と一致する場合は、該選択したアプリケーション識別情報は非表示対象であると判断する。そして、アプリケーション提供画面生成部325は、第2のフラグ情報が付与されているアプリケーションは非表示としてアプリケーション提供画面を生成する。
図49は、本変形例のアプリケーション提供画面生成部325の動作例を示すフローチャートである。ここでは、アプリケーション提供画面生成部325は、第2の特定部323により特定されたアプリケーション識別情報群と、第3の特定部360により特定されたアプリケーション識別情報群と、画面要求受信部322により受信された画面要求に含まれていたインストール済みアプリケーション識別情報群と、を取得済みであることを前提とする。
図49に示すステップS441〜ステップS444の処理内容は、図38に示すステップS301〜ステップS304の処理内容と同様であるので、詳細な説明は省略する。図49に示すステップS443またはステップS444の後、アプリケーション提供画面生成部325は、ステップS441で選択したアプリケーション識別情報が、画面要求に含まれていた何れかのインストール済みアプリケーション識別情報と一致するか否かを確認する(ステップS445)。ステップS445の結果が肯定の場合(ステップS445:Yes)、アプリケーション提供画面生成部325は、ステップS441で選択したアプリケーション識別情報で識別されるアプリケーションに対して第2のフラグ情報を付与し(ステップS446)、処理はステップS447に移行する。一方、ステップS445の結果が否定の場合(ステップS445:No)、そのまま処理はステップS447に移行する。ステップS447以降の処理内容は、図38に示すステップS307以降の処理内容と同様であるので、詳細な説明は省略する。
なお、本変形例の構成は、上述の第2の実施形態の変形例1および2のように、「おすすめアプリ」を表示する第1の画面と、他のアプリケーションを表示する第2の画面とを含むアプリケーション提供画面を生成する形態についても適用可能である。
例えば上述の第2の実施形態の変形例1に対して本変形例を適用する場合を想定する。この場合、図45に示すステップS413またはステップS414の後であって、ステップS415の前に、図49に示すステップS445およびステップS446に相当する処理が入る。そして、図45に示すステップS416において、第2のフラグ情報が付与されたアプリケーションは非表示として、第1の画面および第2の画面が生成されるという具合である。上述の第2の実施形態の変形例2に対して本変形例を適用する場合も同様に考えることができる。
(第3の実施形態)
次に第3の実施形態を説明する。上述の各実施形態と共通する部分については説明を省略する。
図50は、本実施形態のMFP1が有する機能の一例を示す図である。図50に示すように、MFP1は、通知要求送信部121、通知情報受信部122、通知制御部123をさらに有する。これらの機能は、例えば上述のアプリマーケットアプリにより提供されてもよい。
通知要求送信部121は、販売店情報と、業種を識別する業種識別情報と、アプリケーションのカテゴリを識別するカテゴリ識別情報と、アプリマーケットサーバ3へアクセスした直近の日時(最新のアクセス日時)を示す日時情報と、を少なくとも含む通知要求であって、かつ、新規登録されたアプリケーションの通知を要求する第1の通知要求を、アプリマーケットサーバ3へ定期的(例えば1日に1回等)に送信する。
本実施形態では、設定部112は、MFP1を使用するユーザの業種を指定するための入力や、新規登録の通知を要求するアプリケーションのカテゴリを指定するための入力に応じて、業種識別情報やカテゴリ識別情報を設定する。また、設定部112は、後述の第1の通知情報の通知先を指定するための入力や、第1の通知要求を送信する間隔を指定するための入力に応じて、第1の通知情報の通知先や第1の通知要求の送信間隔(新規登録されたアプリケーションの有無をチェック(アプリチェック)する間隔であると考えてもよい)を設定する。
例えば図6に示すような初期画面上の「次へ」の直上の矢印を示す表示部品(UI)を押下する操作を受け付けると、図51に示すような、地域情報や販売店情報に加えて、業種、アプリケーションのカテゴリ、後述の第1の通知情報の通知先を示すメールアドレス、および、第1の通知要求の送信間隔(アプリチェックの間隔)を入力するための入力画面が操作パネル27に表示される形態であってもよい。設定部112は、この入力画面からの入力に応じて、販売店情報、地域情報、業種識別情報、カテゴリ識別情報、後述の第1の通知情報の通知先を示すメールアドレス、第1の通知要求の送信間隔を設定することができる。この例では、設定部112は、図52に示すような、入力画面に表示される業種の項目(チェックボックスの項目)ごとに業種識別情報を対応付けた業種管理情報を参照して、入力画面から選択された(チェックを入れられた)チェックボックスに対応する業種識別情報を設定することができる。また、設定部112は、図53に示すような、入力画面に表示されるアプリケーションのカテゴリの項目(チェックボックスの項目)ごとにカテゴリ識別情報を対応付けたカテゴリ管理情報を参照して、入力画面から選択された(チェックを入れられた)チェックボックスに対応するカテゴリ識別情報を設定することができる。設定部112により設定される業務識別情報およびカテゴリ識別情報の各々は1つの場合もあれば複数の場合もある。保存制御部113は、設定部112により設定された各種の情報を設定情報記憶部114に保存する制御を行う。この例では、設定情報記憶部114は、機器識別情報と、販売店情報と、地域情報と、1以上の業種識別情報、1以上のカテゴリ識別情報、後述の第1の通知情報の通知先を示すメールアドレス、アプリチェックの間隔を含む設定情報を記憶している。また、ここでは、設定情報には、アプリマーケットサーバ3へアクセスした直近の日時(最新のアクセス日時)を示す日時情報も含まれている。
通知要求送信部121は、設定情報記憶部114に記憶された設定情報に含まれるアプリチェックのタイミングに到達するたびに、該設定情報に含まれる機器識別情報、販売店情報、1以上の業種識別情報、1以上のカテゴリ識別情報、日時情報を含む上述の第1の通知要求をアプリマーケットサーバ3へ送信する。
通知情報受信部122は、上述の第1の通知要求の応答として、新規登録されたアプリケーションを通知するための第1の通知情報をアプリマーケットサーバ3から受信する。図54は、第1の通知情報の一例を示す図である。なお、この例では、通知情報受信部122は、アプリマーケットサーバ3から第1の通知情報を受信した場合、その旨を設定部112へ通知する。この通知を受けた設定部112は、アプリマーケットサーバ3へアクセスした直近の日時(最新のアクセス日時)を示す日時情報を、現在の日時を示す日時情報に設定(更新)する。そして、保存制御部113は、設定部112により設定された日時情報を保存(設定情報内の日時情報を更新して保存)する制御を行う。
通知制御部123は、通知情報受信部122により受信された第1の通知情報をユーザへ通知する制御を行う。この例では、通知制御部123は、第1の通知情報の通知先として予め設定されたメールアドレス(上述の設定情報に含まれるメールアドレス)を宛先として、通知情報受信部122により受信された第1の通知情報を送信する制御を行う。
図55は、本実施形態のアプリマーケットサーバ3が有する機能の一例を示す図である。図55に示すように、アプリマーケットサーバ3は、通知要求受信部401、第4の特定部402、アプリケーション管理情報記憶部403、第5の特定部404、第6の特定部405、通知情報送信部406をさらに有する。
通知要求受信部401は、上述の第1の通知要求を定期的にMFP1から受信する。第4の特定部402は、上述のアプリケーション対応情報を参照して、通知要求受信部401により受信された第1の通知要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報(この例では「True」を示す利用促進情報)が対応付けられたアプリケーション識別情報を特定する。なお、上述の第1の特定部324および上述の第2の特定部323が、この第4の特定部402の機能を兼ねる形態であってもよい。
アプリケーション管理情報記憶部403は、アプリケーション識別情報と、カテゴリ識別情報と、業種識別情報と、アプリケーション識別情報で識別されるアプリケーションが登録された日時を示す登録日時情報と、が対応付けられたアプリケーション管理情報を記憶する。この例では、アプリケーション管理情報は、図56に示す第1のアプリケーション管理情報と、図57に示す第2のアプリケーション管理情報とに分かれて構成されるが、例えばこれらが統合された形態であってもよい。
図56に示すように、第1のアプリケーション管理情報は、アプリケーション識別情報と、アプリ名と、カテゴリ識別情報と、業種識別情報と、アプリケーションの価格を示す価格情報と、アプリケーションの説明情報とを対応付けた情報である。また、図57に示すように、第2のアプリケーション管理情報は、アプリケーション識別情報と、登録日時情報と、アプリケーションがバージョンアップされた日時を示すバージョンアップ日時情報と、販売店情報別のダウンロード数を示す上述のダウンロード情報とを対応付けた情報である。なお、例えばバージョンアップ日時情報やダウンロード情報が対応付けられない形態であっても構わない。
第5の特定部404は、上述のアプリケーション管理情報を参照して、第4の特定部402により特定されたアプリケーション識別情報のうち、第1の通知要求に含まれる業種識別情報およびカテゴリ識別情報に対応付けられたアプリケーション識別情報を特定する。この例では、第5の特定部404は、第1のアプリケーション管理情報を参照して、第4の特定部402により特定されたアプリケーション識別情報と一致するアプリケーション識別情報(第1のアプリケーション管理情報に含まれるアプリケーション識別情報)のうち、第1の通知要求に含まれる業種識別情報とカテゴリ識別情報の組み合わせに対応付けられた1以上のアプリケーション識別情報を特定する。
第6の特定部405は、上述のアプリケーション管理情報を参照して、第5の特定部404により特定されたアプリケーション識別情報のうち、第1の通知要求に含まれる日時情報が示す日時よりも後の日時を示す登録日時情報が対応付けられたアプリケーション識別情報を特定する。この例では、第6の特定部405は、第2のアプリケーション管理情報を参照して、第5の特定部404により特定されたアプリケーション識別情報と一致するアプリケーション識別情報(第2のアプリケーション管理情報に含まれるアプリケーション識別情報)のうち、第1の通知要求に含まれる日時情報が示す日時よりも後の日時を示す登録日時情報が対応付けられたアプリケーション識別情報を特定する。なお、以上に説明した第4の特定部402、第5の特定部404、第6の特定部406の機能が一つの機能で実現されてもよい。要するに、第4の特定部402の機能、第5の特定部404の機能、および、第6の特定部406の機能を兼ね備えた1つの特定部が設けられる形態であってもよい。
通知情報送信部406は、第1の通知要求に対する応答として、第6の特定部405により特定されたアプリケーション識別情報で識別されるアプリケーションを、新規登録されたアプリケーションとして通知するための第1の通知情報をMFP1へ送信する。
図58は、任意のアプリチェックのタイミングに到達した場合の情報処理システム100の動作手順の一例を示すシーケンス図である。図58に示すように、まず通知要求送信部121は、上述の第1の通知要求をアプリマーケットサーバ3へ送信する(ステップS501)。アプリマーケットサーバ3の通知要求受信部401は、MFP1から受信した第1の通知要求を、第4の特定部402、第5の特定部404、および、第6の特定部405の各々へ渡す(ステップS502)。
次に、第4の特定部402は、上述のアプリケーション対応情報を参照して、第1の通知要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報が対応付けられたアプリケーション識別情報を特定する(ステップS503)。そして、第4の特定部402は、第5の特定部404に対して、ステップS503で特定したアプリケーション識別情報を渡す(ステップS504)。次に、第5の特定部404は、上述の第1のアプリケーション管理情報を参照して、ステップS504で第4の特定部402から受け取ったアプリケーション識別情報のうち、ステップS502で通知要求受信部401から受け取った第1の通知要求に含まれる業種識別情報およびカテゴリ識別情報に対応付けられたアプリケーション識別情報を特定する(ステップS505)。そして、第5の特定部404は、第6の特定部405に対して、ステップS505で特定したアプリケーション識別情報を渡す(ステップS506)。次に、第6の特定部405は、上述の第2のアプリケーション管理情報を参照して、ステップS506で第5の特定部404から受け取ったアプリケーション識別情報のうち、ステップS502で通知要求受信部401から受け取った第1の通知要求に含まれる日時情報が示す日時よりも後の日時を示す登録日時情報が対応付けられたアプリケーション識別情報を特定する(ステップS507)。そして、第6の特定部405は、通知情報送信部406に対して、ステップS507で特定したアプリケーション識別情報を渡す(ステップS508)。
通知情報送信部406は、ステップS508で第6の特定部405から渡されたアプリケーション識別情報で識別されるアプリケーションを、新規登録されたアプリケーションとして通知するための第1の通知情報を生成する(ステップS509)。そして、通知情報送信部406は、ステップS509で生成した第1の通知情報をMFP1へ送信する(ステップS510)。
通知情報受信部122は、ステップS510で受信した第1の通知情報を通知制御部123へ渡す(ステップS511)。また、このとき通知情報受信部122は、第1の通知情報を受信したことを設定部112へ通知する。この通知を受けた設定部112は、アプリマーケットサーバ3へアクセスした直近の日時(最新のアクセス日時)を示す日時情報を、現在の日時を示す日時情報に設定(更新)する。そして、保存制御部113は、設定部112により設定された日時情報を保存(設定情報内の日時情報を更新して保存)する制御を行う。
次に、通知制御部123は、予め設定されたメールアドレスを宛先として、ステップS511で通知情報受信部122から受け取った第1の通知情報を送信する制御を行う(ステップS512)。
(第3の実施形態の変形例)
例えばMFP1は、販売店情報と、業種識別情報と、カテゴリ識別情報と、アプリマーケットサーバ3へアクセスした直近の日時を示す日時情報と、を少なくとも含む通知要求であって、かつ、バージョンアップされたアプリケーションの通知を要求する第2の通知要求を、アプリマーケットサーバ3へ定期的(例えば1日に1回等)に送信し、該第2の通知要求の応答として、バージョンアップされたアプリケーションを通知するための第2の通知情報をアプリマーケットサーバ3から受信し、その受信した第2の通知情報を、予め設定されたメールアドレスを宛先として送信する形態であってもよい。
本変形例におけるMFP1の機能のうち、上述の第3の実施形態と相異する部分を説明する。通知要求送信部121は、上述の第2の通知要求をアプリマーケットサーバ3へ定期的に送信する。また、通知情報受信部122は、第2の通知要求の応答として、アプリマーケットサーバ3から上述の第2の通知情報を受信する。さらに、通知制御部123は、通知情報受信部122により受信された第2の通知情報をユーザへ通知する制御を行う。
次に、本変形例におけるアプリマーケットサーバ3の機能のうち、上述の第3の実施形態と相異する部分を説明する。通知要求受信部401は、上述の第2の通知要求を定期的にMFP1から受信する。第4の特定部402は、上述のアプリケーション対応情報を参照して、通知要求受信部401により受信された第2の通知要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報が対応付けられたアプリケーション識別情報を特定する。
アプリケーション管理情報記憶部403は、アプリケーション識別情報と、カテゴリ識別情報と、業種識別情報と、アプリケーション識別情報で識別されるアプリケーションがバージョンアップされた日時を示すバージョンアップ日時情報と、が対応付けられたアプリケーション管理情報を記憶する。この例では、アプリケーション管理情報は、図56に示す第1のアプリケーション管理情報と、図57に示す第2のアプリケーション管理情報とに分かれて構成される。なお、例えば図57に示す登録日時情報やダウンロード情報が対応付けられない形態であっても構わない。
第5の特定部404は、上述のアプリケーション管理情報を参照して、第4の特定部402により特定されたアプリケーション識別情報のうち、第2の通知要求に含まれる業種識別情報およびカテゴリ識別情報に対応付けられたアプリケーション識別情報を特定する。この例では、第5の特定部404は、第1のアプリケーション管理情報を参照して、第4の特定部402により特定されたアプリケーション識別情報と一致するアプリケーション識別情報のうち、第2の通知要求に含まれる業種識別情報とカテゴリ識別情報の組み合わせに対応付けられた1以上のアプリケーション識別情報を特定する。
第6の特定部405は、上述のアプリケーション管理情報を参照して、第5の特定部404により特定されたアプリケーション識別情報のうち、第1の通知要求に含まれる日時情報が示す日時よりも後の日時を示すバージョンアップ日時情報が対応付けられたアプリケーション識別情報を特定する。この例では、第6の特定部405は、第2のアプリケーション管理情報を参照して、第5の特定部404により特定されたアプリケーション識別情報と一致するアプリケーション識別情報のうち、第2の通知要求に含まれる日時情報が示す日時よりも後の日時を示すバージョンアップ日時情報が対応付けられたアプリケーション識別情報を特定する。
通知情報送信部406は、第2の通知要求に対する応答として、第6の特定部405により特定されたアプリケーション識別情報で識別されるアプリケーションを、バージョンアップされたアプリケーションとして通知するための第2の通知情報をMFP1へ送信する。
図59は、任意のアプリチェックのタイミングに到達した場合の情報処理システム100の動作手順の一例を示すシーケンス図である。図59に示すように、まず通知要求送信部121は、上述の第2の通知要求をアプリマーケットサーバ3へ送信する(ステップS601)。アプリマーケットサーバ3の通知要求受信部401は、MFP1から受信した第2の通知要求を、第4の特定部402、第5の特定部404、および、第6の特定部405の各々へ渡す(ステップS602)。
次に、第4の特定部402は、上述のアプリケーション対応情報を参照して、第2の通知要求に含まれる販売店情報に対応付けられたアプリケーション識別情報のうち、利用を促進するアプリケーションであることを示す利用促進情報が対応付けられたアプリケーション識別情報を特定する(ステップS603)。そして、第4の特定部402は、第5の特定部404に対して、ステップS603で特定したアプリケーション識別情報を渡す(ステップS604)。次に、第5の特定部404は、上述の第1のアプリケーション管理情報を参照して、ステップS604で第4の特定部402から受け取ったアプリケーション識別情報のうち、ステップS602で通知要求受信部401から受け取った第2の通知要求に含まれる業種識別情報およびカテゴリ識別情報に対応付けられたアプリケーション識別情報を特定する(ステップS605)。そして、第5の特定部404は、第6の特定部405に対して、ステップS605で特定したアプリケーション識別情報を渡す(ステップS606)。次に、第6の特定部405は、上述の第2のアプリケーション管理情報を参照して、ステップS606で第5の特定部404から受け取ったアプリケーション識別情報のうち、ステップS602で通知要求受信部401から受け取った第2の通知要求に含まれる日時情報が示す日時よりも後の日時を示すバージョンアップ日時情報が対応付けられたアプリケーション識別情報を特定する(ステップS607)。そして、第6の特定部405は、通知情報送信部406に対して、ステップS607で特定したアプリケーション識別情報を渡す(ステップS608)。
通知情報送信部406は、ステップS608で第6の特定部405から渡されたアプリケーション識別情報で識別されるアプリケーションを、バージョンアップされたアプリケーションとして通知するための第2の通知情報を生成する(ステップS609)。そして、通知情報送信部406は、ステップS609で生成した第2の通知情報をMFP1へ送信する(ステップS610)。
通知情報受信部122は、ステップS610で受信した第2の通知情報を通知制御部123へ渡す(ステップS611)。また、このとき通知情報受信部122は、第2の通知情報を受信したことを設定部112へ通知する。この通知を受けた設定部112は、アプリマーケットサーバ3へアクセスした直近の日時(最新のアクセス日時)を示す日時情報を、現在の日時を示す日時情報に設定(更新)する。そして、保存制御部113は、設定部112により設定された日時情報を保存(設定情報内の日時情報を更新して保存)する制御を行う。
次に、通知制御部123は、予め設定されたメールアドレスを宛先として、ステップS611で通知情報受信部122から受け取った第2の通知情報を送信する制御を行う(ステップS612)。
以上、本発明に係る実施形態について説明したが、本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態および変形例にわたる構成要素を適宜組み合わせてもよい。
また、上述の実施形態では、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作しているが、これに限らず、例えば本体10と操作部20が同じオペレーティングシステムで動作する形態であってもよい。つまり、本体10と操作部20とを一体とした構成であってもよい。
また、上述した実施形態の情報処理システム100(MFP1、管理サーバ2、アプリマーケットサーバ3、アプリケーションサーバ7)で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。