以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の形態における情報処理システムの構成例を示す図である。同図の情報処理システム1において、一台以上の画像形成装置10と一台以上のユーザ端末20とはLAN(Local Area Network)等のネットワーク40(有線又は無線の別は問わない。)を介して通信可能に接続されている。
ユーザ端末20は、ユーザが利用する個人端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末20の具体例として、デスクトップ型のPC(Personal Computer)、ノートPC、PDA(Personal Digital Assistance)、又は携帯電話等が挙げられる。
同図において、ユーザ端末は、スキャンウィジェット21、印刷ウィジェット22、及びウィジェットマネージャ23等を有する。スキャンウィジェット21及び印刷ウィジェット22は、本実施の形態において、ウィジェットとして総称されるアプリケーションプログラムである。近年では、ウィジェット(Widget)又はガジェット(Gadget)とよばれる手軽なアプリケーションプログラムが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションプログラムという程度の意味においてこれらのアプリケーションプログラムをウィジェットと呼ぶ(すなわち、技術的な意義において限定する趣旨ではない)。但し、本実施の形態において、ウィジェットは、画像形成装置10の機能を遠隔的に利用して、所定のサービス(例えば、ワークフロー等の一連の処理フロー)をユーザに提供するという点において共通する。例えば、スキャンウィジェット21は、画像形成装置10にスキャンを実行させ、スキャンされた画像データをユーザ端末20内に保存するウィジェットである。印刷ウィジェット22は、ユーザ端末20内に保存されている文書データの印刷を画像形成装置10に実行させるウィジェットである。
ウィジェットマネージャ23は、ウィジェットのフレームワークとして位置付けられ、ウィジェットと画像形成装置10との間の通信の仲介等を行う。各ウィジェットは、ウィジェットマネージャ23によって規定されるインタフェース及び処理手順を備える必要がある。換言すれば、ウィジェットマネージャ23と協調して動作するアプリケーション120が、本実施の形態におけるウィジェットである。
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を実現する装置(プリンタ、スキャナ、コピー機、ファクシミリ等)を画像形成装置10として用いてもよい。本実施の形態においては、スキャン機能を実現するためのハードウェアを備えていればよい。
同図において、画像形成装置10は、アプリケーション120、アプリ制御部130、及び本体認証部140等のソフトウェアを有する。アプリケーション120は、ユーザから要求されたジョブを実行するプログラムである。同図では、スキャンアプリ121、印刷アプリ122、及びプロバイダアプリ123がアプリケーション120として例示されている。スキャンアプリ121は、スキャンジョブを実行する。印刷アプリ122は印刷ジョブを実行する。プロバイダアプリ123は、画像形成装置10をウィジェットと連携させるための処理を実行する。すなわち、本実施の形態において、プロバイダアプリ123は、画像形成装置10をウィジェットとの連携手段として機能させる。
アプリ制御部130は、各アプリケーション120間の調停等を行う。例えば、アプリ制御部130は、ユーザによる操作指示に応じ、アクティブなアプリケーション120を切り替える。アクティブなアプリケーション120とは、画像形成装置10の操作パネルに操作画面を表示させている(すなわち、操作パネルを介して操作可能な状態にある)アプリケーション120をいう。
本体認証部140は、画像形成装置10へのユーザのログイン時における認証処理を実行し、ログインユーザがログイン中の間、ログインユーザのユーザ名を記憶している。
続いて、ウィジェットマネージャ23及びプロバイダアプリ123について更に詳しく説明する。図2は、ウィジェットマネージャ及びプロバイダアプリの機能構成例を示す図である。
同図において、ウィジェットマネージャ23は、ウィジェット情報管理部231、世代管理部232、ハッシュ値計算部233、ユーザ認証部234、及び通信制御部235を有する。
ウィジェット情報管理部231は、ユーザ端末20において起動されたウィジェットより受信される当該ウィジェットに関する属性情報等(ウィジェット情報)をユーザ端末20の記憶装置を利用して管理する。世代管理部232は、ウィジェット情報に関する世代管理(バージョン)管理を行う。ハッシュ計算部は、ウィジェット情報に含まれるアイコンデータのハッシュ値を計算する。当該アイコンデータは、画像形成装置10において、プロバイダアプリ123がウィジェットの一覧を表示させる際に利用される。ユーザ認証部234は、画像形成装置10に対してログインしたユーザについて、ウィジェットの利用権限の有無を判定するための認証をプロバイダアプリ123からの要求に応じて実行する。通信制御部235は、プロバイダアプリ123やウィジェットとの通信を制御する。本実施の形態において、ウィジェット及びウィジェットマネージャ23間と、ウィジェットマネージャ23及びプロバイダアプリ123間の通信はHTTP(HyperText Transfer Protocol)によって行われる。但し、このことは通信プロトコルを限定する趣旨ではない。
プロバイダアプリ123は、ウィジェット通信部1231、UI制御部1232、機能制御部1233、ユーザ情報テーブル1235、ウィジェットリスト情報テーブル1236、及びウィジェット詳細情報テーブル1237等を有する。
ウィジェット通信部1231は、ウィジェットマネージャ23の通信制御部235との通信を制御する。UI制御部1232は、画像形成装置10においてウィジェットを操作させるための各種画面の表示制御を行う。機能制御部1233は、利用対象とされたウィジェットが画像形成装置10に実行を要求する機能(スキャン、印刷等)の実行制御を行う。ユーザ情報テーブル1235は、画像形成装置10の記憶装置において、各ユーザ端末20において起動されているウィジェットマネージャ23のURL、ウィジェットのURL、及び当該ユーザ端末20のユーザ名等が記録されるテーブルである。ウィジェットリスト情報テーブル1236は、画像形成装置10の記憶装置において、各ユーザ端末20において起動されているウィジェットの一覧情報が記録されるテーブルである。ウィジェット詳細情報テーブル1237は、画像形成装置10の記憶装置において、各ユーザ端末20において起動されているウィジェットの詳細情報が記録されるテーブルである。
続いて、各装置のハードウェア構成について説明する。図3は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図3において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、印刷データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。
図4は、本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。図4のユーザ端末20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205と、表示装置206と、入力装置207とを有する。
ユーザ端末20での処理を実現するプログラムは、CD−ROM等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってユーザ端末20に係る機能を実現する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。表示装置206はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置207はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
以下、情報処理システム1の処理手順について説明する。図5は、ウィジェットマネージャ及びウィジェットの起動及び停止時の処理手順を説明するためのシーケンス図である。図5では、ユーザ端末20においてユーザの操作が行われる。
ユーザが、ユーザ端末20にログイン後(S101)、ウィジェットマネージャ23を起動すると(S102)、ウィジェットマネージャ23のプロバイダ通信制御部235は、ログインユーザのユーザ名とウィジェットリストURL(Uniform Resource Locator)とを含むユーザ情報の広告をネットワーク40上に送信する(S103)。ウィジェットリストURLは、ウィジェットマネージャ23ごとに一意なURLであり、プロバイダアプリ123によって通信用識別情報として利用される。ウィジェットリストURLに含まれているパス名は、当該ウィジェットリストURLのホスト名によって識別されるユーザ端末20において、ウィジェットマネージャ23のウィジェット情報管理部231が各ウィジェットのウィジェット情報を管理するためのルートフォルダ又はルートディレクトリ(以下、「ウィジェット情報ルートフォルダ」という。)のパス名である。
図6は、ウィジェット情報管理部によるウィジェット情報の管理形態を説明するための図である。同図において、矩形はフォルダを示す。各矩形の括弧内はフォルダ名を示す。
同図に示されるように、ウィジェット情報ルートフォルダの下には、ウィジェットごとにウィジェット個別フォルダが生成される。ウィジェット個別フォルダは、対応するウィジェットのウィジェット情報を管理するフォルダであり、そのフォルダ名は、対応するウィジェットのウィジェット名である。各ウィジェット個別フォルダの下には、アイコンフォルダ、詳細情報フォルダ、及び結果格納フォルダが生成される。アイコンフォルダは、対応するウィジェットのアイコンデータを格納するためのフォルダである。詳細情報フォルダは、対応するウィジェットが画像形成装置10に実行させる機能(スキャン、印刷等)に関するパラメータ(設定情報)等を格納するためのフォルダである。結果格納フォルダは、画像形成装置10による機能の実行結果が格納されるフォルダであり、機能の実行結果が返信された際に生成される。
続いて、画像形成装置10において、プロバイダアプリ123のウィジェット通信部1231は、当該広告を受信すると、広告されたユーザ情報をユーザ情報テーブル1235に登録し(S104)、ユーザ情報の登録の完了通知を広告の送信元のウィジェットマネージャ23に送信する(S105)。
図7は、ユーザ情報テーブルの構成例を示す図である。同図において、ユーザ情報テーブル1235の一つのレコードは、一つのユーザ情報に対応する。各レコードは、レコードID、ユーザ名、ウィジェットリストURL、及びウィジェットURL等の項目より構成される。レコードIDは、ユーザ情報テーブル1235における各レコードの識別子である。ユーザ名及びウィジェットリストURLは、ステップS104において受信されたものがそのまま記録される。ウィジェットURLは、後述の処理において登録される。
なお、同図のユーザ情報テーブル1235には、二人のユーザに関してユーザ名及びウィジェットリストURLが登録されている。これは、二台のユーザ端末20のそれぞれにおいてウィジェットマネージャ23が起動された状態に対応する。
なお、ウィジェットマネージャ23による広告は、例えば、ブロードキャスト又はマルチキャスト等によって送信される。したがって、一人のユーザのユーザ情報は、ネットワーク40に接続されている複数の画像形成装置10のそれぞれのユーザ情報テーブル1235に登録されうる。
続いて、ユーザは、利用したいウィジェットを起動させる(S111)。ここでは、スキャンウィジェット21が起動されたこととする。起動に応じ、スキャンウィジェット21は、自らの識別名(ウィジェット名)を含む起動通知を同一ユーザ端末20内(ローカルホスト内)のウィジェットリストURL宛に送信する(S112)。当該起動通知は、ローカルホスト内で起動されているウィジェットマネージャ23の通信制御部235によって受信される。当該起動通知の受信に応じ、ウィジェット情報管理部231は、当該起動通知に含まれているウィジェット名に基づいて、ウィジェット情報ルートフォルダ下に、スキャンウィジェット21のウィジェット個別フォルダ(図6参照)を生成する。また、ウィジェット情報管理部231は、当該ウィジェット個別フォルダ内に、スキャンウィジェット21のウィジェット情報の世代番号の初期値(例えば、「1」)を保存する。世代番号とは、いわゆるバージョン番号であり、ウィジェット情報の更新に応じてインクリメントされる。本実施の形態において、世代番号は、アイコンデータの更新の有無を示す更新情報として利用される。続いて、通信制御部235は、生成されたウィジェット個別フォルダを示すURLをスキャンウィジェット21に返信する(S113)。当該URLがスキャンウィジェット21のウィジェットURLである。
続いて、スキャンウィジェット21は、自らのウィジェット個別フォルダ下のアイコンフォルダへのアイコンデータの保存要求を通信制御部235に送信する(S114)。ウィジェット情報管理部231は、当該保存要求に含まれているアイコンデータを当該アイコンフォルダへ保存する。また、ウィジェットマネージャ23は、ハッシュ計算部に当該アイコンデータのアイコンハッシュ値を生成させ、当該アイコンハッシュ値をアイコンデータと関連付けて、当該ウィジェット個別フォルダ直下に保存する。
続いて、スキャンウィジェット21は、スキャンパラメータ(カラーモードや解像度等のスキャンの設定情報)の入力をユーザより受け付ける(S115)。スキャンパラメータは、例えば、スキャンウィジェット21が表示させる設定画面を介して入力される。続いて、スキャンウィジェット21は、自らのウィジェット個別フォルダ下の詳細情報フォルダへの当該スキャンパラメータとスキャンウィジェット121のウィジェットタイプとを含む詳細情報の保存要求を通信制御部235に送信する(S116)。ウィジェットタイプについては後述する。ウィジェット情報管理部231は、当該保存要求に含まれているスキャンパラメータを当該詳細情報フォルダへ保存する。
以上によって、スキャンウィジェット21はウィジェットマネージャ23に登録された。また、ユーザ端末20のユーザがプロバイダアプリ123(画像形成装置10)に登録された。これにより、ユーザは、画像形成装置10よりスキャンウィジェット21を利用することができる。なお、ユーザ端末20において他のウィジェットが起動された場合も、ステップS111〜S116と同様の処理が実行され、当該ウィジェットのウィジェット情報が、図6に示した形態でウィジェット情報管理部231によって管理される。
続いて、ユーザは、画像形成装置10の設置場所に移動し、操作パネル15を介してスキャンウィジェット21を利用する(S200)。スキャンウィジェット21の利用に応じ、スキャンウィジェット21のウィジェット情報がプロバイダアプリ123によってウィジェットマネージャ23より取得され、ウィジェットリスト情報テーブル1236やウィジェット詳細情報テーブル1237に登録される。スキャンウィジェット21実行時の処理手順については、後述する。
その後、再びユーザ端末20に戻ってきたユーザが、ユーザ端末20よりログアウトすると、(S121)、ログアウトに応じてウィジェットマネージャ23に終了指示が入力される(S122)。ウィジェットマネージャ23の通信制御部235は、終了指示に応じ、ログインユーザのユーザ名とウィジェットリストURLとを含む終了広告をネットワーク40上に送信する(S123)。画像形成装置10において、プロバイダアプリ123のウィジェット通信部1231は、当該終了広告を受信すると、当該終了広告に含まれているユーザ名及びウィジェットリストURLに係るレコードをユーザ情報テーブル1235より削除する(S124)。また、ウィジェット通信部1231は、当該レコードに関連付けられてウィジェットリスト情報テーブル1236やウィジェット詳細情報テーブル1237に登録されている情報も削除する。これにより、ユーザ端末20のユーザに関するプロバイダアプリ123への登録は解除されたことによる。
続いて、スキャンウィジェット21実行時の処理手順について説明する。図8は、スキャンウィジェット実行時の処理手順の一例を示す図である。図8では、画像形成装置10においてユーザの操作が行われる。
画像形成装置10の起動後、本体認証部140はログイン画面を操作パネル15に表示させている(S201)。
図9は、ログイン画面の表示例を示す図である。同図において、ログイン画面510では、ログインユーザ名及びログインパスワードの入力が可能となっている。
ログイン画面510を介してログインユーザ名及びログインパスワードがユーザによって入力され、ログインボタン511が押下されると(S202)、本体認証部140は、入力されたログインユーザ名及びログインパスワードを、例えば画像形成装置10のHDD114内の非図示のユーザDBに登録されているユーザ名及びパスワードと照合することにより認証を実行する(S203)。認証(ログイン)に成功すると、本体認証部140は、ユーザをログインユーザとして認識し、ログインユーザ名をRAM112に記録する。また、ログインの成功に応じ、アプリ制御部130は、各アプリケーション120に対してログインの成功を通知する。当該通知に応じ、デフォルトのアプリケーション120はアクティブ状態へ遷移する。例えば、スキャンアプリ121がデフォルトのアプリケーション120であれば、スキャンアプリ121の操作画面が操作パネル15に表示される。
アクティブなアプリケーション120は、例えば、操作パネル15においてアプリケーション120ごとに割り当てられたハードキーによって切り替え可能である。ユーザによって、プロバイダアプリ123に対応するハードキーが押下されると(S204)、アプリ制御部130は、プロバイダアプリ123をアクティブとする。アクティブ状態への遷移に応じ、プロバイダアプリ123のUI制御部1232は、ユーザ情報テーブル1235に登録されているユーザ情報に基づいてユーザ選択画面を操作パネル15に表示させる(S205)。
図10は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面520には、ユーザ情報ごとに(ユーザごとに)アイコンが表示されている。同図では、ユーザAAAに対応するアイコン521とユーザBBBに対応するアイコン522とが表示されている。各アイコンの下には、各ユーザのユーザ名が表示されている。
続いて、ユーザ選択画面520においてアイコンが選択されると(S206)、ウィジェット通信部1231は、選択されたアイコンに対応するユーザ名に関連付けられているウィジェットリストURL(ウィジェット情報ルートフォルダを示すURL)を通信相手(連携相手)の識別情報としてユーザ情報テーブル1235(図7)より取得する。
続いて、ウィジェット通信部1231は、ウィジェットリストURL宛にウィジェット一覧情報の取得要求を送信する(S207)。当該取得要求を受信したウィジェットマネージャ23の通信制御部235は、ウィジェットリストURLによって示されるウィジェット情報ルートフォルダ下のウィジェット個別フォルダごとに、当該ウィジェット個別フォルダのパス名と当該ユーザ端末20のホスト名とを含むウィジェットURLと、当該ウィジェット個別フォルダ直下に保存されている情報(世代番号、アイコンハッシュ値、アイコンフォルダ、詳細情報フォルダ)とを含む情報をウィジェット一覧情報としてプロバイダアプリ123のウィジェット通信部1231に返信する(S208)。なお、アイコンフォルダ及び詳細情報フォルダについては、それぞれのフォルダのURL(アイコンURL、詳細情報URL)の形式でウィジェット一覧情報に含められる。ウィジェット通信部1231は、受信されたウィジェット一覧情報をユーザ情報テーブル1235又はウィジェットリスト情報テーブル1236に登録する。
図11は、ウィジェットURLが登録されたユーザ情報テーブルを示す図である。同図のユーザ情報テーブル1235には、ウィジェットURLの項目にウィジェットURLが登録されている。複数のウィジェットURLが返信された場合、ユーザBBBのように複数のウィジェットURLが登録される。複数のウィジェットURLが返信される場合とは、対応するユーザ端末20において複数のウィジェットが起動されている場合である。なお、同図では、便宜上、ユーザAAA及びユーザBBBの双方にウィジェットURLが登録された状態が示されているが、ステップS208に応じて登録されるのは、ログインユーザに対応するウィジェットURLである。
図12は、ウィジェットリスト情報テーブルの構成例を示す図である。同図において、ウィジェットリスト情報テーブル1236の一つのレコードは、一つのウィジェットに対応する。各レコードは、レコードID、ウィジェット名、詳細情報URL、世代番号、アイコンURL、アイコンハッシュ値、及びオーナーID等の項目を有する。レコードID及びオーナーID以外については、ステップS208において受信された値がそのまま登録される。レコードIDは、ウィジェットリスト情報テーブル1236における各レコードの識別子である。オーナーIDは、ウィジェットのオーナー(所有者)のユーザとの関連付け情報である。本実施の形態では、ユーザ情報テーブル1235におけるレコードIDがオーナーIDとして利用される。なお、図12において、ウィジェット名が「Scan2Me」に係るレコードは、スキャンウィジェット21のレコードである。レコードIDが「1」のレコードと、レコードIDが「2」のレコードとは、それぞれ異なるユーザ端末20において起動されたスキャンウィジェット21に対するレコードである。
続いて、ウィジェット通信部1231は、ウィジェット一覧情報に含まれるアイコンURL宛にアイコンデータの取得要求を送信する(S209)。ウィジェットマネージャ23の通信制御部235は、当該取得要求に応じ、アイコンURLが示すアイコンフォルダに保存されているアイコンデータを返信する(S210)。通信制御部235は、受信されたアイコンデータをウィジェットと関連付けてHDD114のアイコン保存用フォルダに保存しておく。なお、ステップS209及びS210は、受信されたウィジェット一覧情報に含まれるウィジェットごとに実行される。したがって、ログインユーザがユーザ端末20において起動した各ウィジェットのアイコンデータが取得される。
続いて、アイコンデータの取得が完了すると、プロバイダアプリ123のUI制御部1232は、アイコン保存用フォルダに保存されているアイコンデータを利用してウィジェット選択画面を操作パネルに表示させる(S211)。
図13は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面530には、ウィジェットごとにアイコンが表示されている。なお、同図に表示されているアイコンの一覧は、便宜上、図12や図14等の内容とは整合されていない。
ウィジェット選択画面530において、ユーザによってスキャンウィジェット21に対応するアイコンが選択されると(S212)、ウィジェット通信部1231は、選択されたスキャンウィジェット21に対応する詳細情報URLをウィジェットリスト情報テーブル1236より取得し、当該詳細情報URL宛に詳細情報の取得要求を送信する(S213)。ウィジェットマネージャ23の通信制御部235は、当該取得要求に応じ、詳細情報URLが示す詳細情報フォルダに保存されている詳細情報を返信する(S214)。通信制御部235は、受信された詳細情報をウィジェット詳細情報テーブル1237に登録する。
図14は、ウィジェット詳細情報テーブルの構成例を示す図である。同図において、ウィジェット詳細情報テーブル1237の一つのレコードは、一つのウィジェットの詳細情報に対応する。各レコードは、レコードID、ウィジェットタイプ、パラメータ、及びウィジェットID等の項目を有する。レコードIDは、ウィジェット詳細情報テーブル1237における各レコードの識別子である。ウィジェットタイプは、ウィジェットが画像形成装置10に実行させる機能(ウィジェットが利用する画像形成装置10の機能)の識別子である。「scan」は、スキャン機能を示す。「print」は印刷機能を示す。「scan」及び「print」は例示に過ぎない。すなわち、ウィジェットタイプは、画像形成装置10の機能に応じて様々なものが定義されうる。パラメータは、ウィジェットタイプによって示される機能に対する設定情報である。ウィジェットIDは、詳細情報とウィジェットとの関連付け情報である。本実施の形態では、ウィジェットリスト情報テーブル1236におけるレコードIDがウィジェットIDとして利用される。なお、ウィジェットタイプ及びパラメータがステップS214において受信された詳細情報である。
プロバイダアプリ123の機能制御部1233は、受信された詳細情報に含まれているウィジェットタイプ「scan」に基づいてスキャンを実行すべきことを認識する。そこで、機能制御部1233は、設定一覧画面の操作パネル15への表示をUI制御部1232に実行させる(S215)。設定一覧画面には、例えば、詳細情報に含まれているパラメータ(スキャンパラメータ)の一覧や、スキャン対象の原稿のセットを促すメッセージ等が表示される。
設定一覧画面の表示に応じ、ユーザによってスキャナ12に原稿がセットされ、操作パネル15のスタートキーが押下されると(S216)、ウィジェット通信部1231は、スキャン開始通知をスキャンウィジェット21の結果格納フォルダのURL宛に送信する(S217)。通信制御部235は、受信されたスキャン開始通知を示す情報を当該結果格納フォルダに保存する。
続いて、機能制御部1233は、スキャンパラメータを指定してスキャンアプリ121にスキャンジョブの実行を要求する。スキャンアプリ121は、スキャナ12に原稿のスキャンをスキャンパラメータに従って実行させ、スキャンにより生成された画像データ(スキャン画像)を機能制御部1233に出力する(S218)。機能制御部1233は、スキャン画像をウィジェット通信部1231に出力する。
続いて、ウィジェット通信部1231は、スキャンウィジェット21ウィジェットURLで示されるウィジェット個別フォルダの下の結果格納フォルダへのスキャン画像データの保存要求をウィジェットマネージャ23の通信制御部235に送信する(S219)。通信制御部235は、受信されたスキャン画像を当該結果格納フォルダにファイルとして保存し、そのファイルのパス名をウィジェット通信部1231に返信する(S220)。なお、ステップS218及びS219は、原稿のページごとに実行される。全てのページについてスキャン処理が完了すると、ウィジェット通信部1231は、スキャン完了通知をウィジェットマネージャ23の通信制御部235に送信する(S221)。
一方、スキャンウィジェット21は、例えば、スキャン開始通知以降(S214以降)、スキャンウィジェット21の結果格納フォルダのURL宛に、スキャン結果の取得要求を定期的に送信している(すなわち、結果格納フォルダを定期的にポーリングしている)(S222)。
ウィジェットマネージャ23の通信制御部235は、スキャン結果の取得要求の受信に応じ、スキャン画像が結果格納フォルダに保存されて場合は、当該スキャン画像のファイル名の一覧をスキャンウィジェット21に返信する(S223)。続いて、スキャンウィジェット21は、各ファイル名に基づいて、スキャン画像の取得要求を通信制御部235に送信する(S224)。通信制御部235は、結果格納フォルダよるスキャン画像を取得し、スキャンウィジェット21に返信する(S225)。続いて、スキャンウィジェット21は、スキャン画像に対して所定の処理を実行する。例えば、スキャンウィジェット21の管理下にあるフォルダにスキャン画像を保存する。続いて、スキャンウィジェット21は、スキャンウィジェット21の結果格納フォルダ下のスキャン画像の削除要求を通信制御部235に送信する(S226)。通信制御部235は、当該結果格納フォルダ下のスキャン画像を削除する。
以上によって、スキャンウィジェット21の処理が終了する。ところで、図5において、ユーザは、ログイン後にユーザ選択画面520においてユーザの選択を行わなければならない。ログインによってログインユーザのユーザ名が入力されているにも拘わらず、改めてユーザの選択が必要とされるのは、ログインのみではプロバイダアプリ123が処理対象とするユーザ情報(すなわち、通信相手となるウィジェットマネージャ23(ユーザ端末20))をユーザ情報テーブル1235の中から特定できない場合があるからである。例えば、同一ユーザが、複数のユーザ端末20においてウィジェットマネージャ23を起動した場合、それぞれのウィジェットマネージャ23から同一ユーザ名に係るユーザ情報が登録される。この場合、実装されているウィジェットはユーザ端末20ごとに異なりうるため、同一ユーザ名に係るユーザ情報の重複を排除することはできない。また、運用によってユーザ間におけるユーザ名の重複が禁止されていない場合、異なるユーザに関して同一ユーザ名に係るユーザ情報が登録されている場合もある。そこで、プロバイダアプリ123は、ユーザ選択画面520を介してユーザを選択させることにより、通信相手となるウィジェットマネージャ23を特定しているのである。なお、同一のユーザ名に係る複数のユーザ情報がユーザ情報テーブル1235に登録される可能性があることに鑑みれば、ユーザ選択画面520には、アイコンごとにユーザ名とユーザ端末20のホスト名とを表示させるようにしてもよい。
しかし、ユーザの観点からすれば、ログイン後に毎回ユーザ選択画面520においてユーザの選択が要求されるのは煩雑であり、操作性を劣化させる。そこで、ユーザ選択画面520の表示を抑制した例を第一の実施の形態として説明する。
図15は、第一の実施の形態のプロバイダアプリの処理手順を説明するための図である。なお、同図において、括弧内のステップ番号は、図8において対応するステップのステップ番号である。
ユーザのログイン後、プロバイダアプリ123は、アクティブ状態に遷移するまで(プロバイダアプリ123に対応するハードキーが押下されるまで)待機している(S310)。図8のステップS204において、プロバイダアプリ123のハードキーが押下されると、プロバイダアプリ123はアクティブ状態に遷移する。アクティブ状態への遷移に応じ、ウィジェット通信部1231は、本体認証部140よりログインユーザ名を取得し(S310)、ログインユーザ名と一致するユーザ名に係るユーザ情報をユーザ情報テーブル1235より検索する(S330)。
検索されたユーザ情報は一つでない場合、すなわち、一つも検索されなかったか、又は複数検索された場合、UI制御部1232は、ユーザ情報テーブル1235に登録されているユーザ情報に基づいてユーザ選択画面520(図10)を操作パネル15に表示させ(S340)、アイコンの選択を待機する(S350)。続いて、ユーザ選択画面520においてアイコンが選択されると(S360)、ウィジェット通信部1231は、選択されたアイコンに対応するユーザ名に関連付けられているウィジェットリストURL(ウィジェット情報ルートフォルダを示すURL)を通信相手の識別情報としてユーザ情報テーブル1235(図7)より取得する。
なお、ステップS340からS360は、図8において説明した処理の流れである。
一方、ユーザ情報が一つのみ検索された場合、ウィジェット通信部1231は、検索されたユーザ情報よりウィジェットリストURLを通信相手の識別情報として取得する(S370)。すなわち、ログインユーザ名に係るユーザ情報が一つしかない場合、処理対象とするユーザ情報は、当該一つに特定できる。したがて、この場合、プロバイダアプリ123はユーザ選択画面520を表示させることなく、通信相手となるウィジェットマネージャ23(ウィジェットリストURL)を特定しているのである。その結果、ユーザは、ユーザ選択画面520におけるアイコンの選択操作から解放される。
ステップS360又はS370に続いて、ウィジェット通信部1231は、パスワードを指定せずに(例えば、HTTPリクエストのヘッダにパスワードを含めずに)ウィジェットリストURL宛にウィジェット一覧情報の取得要求を送信する(S380)。ここでいうパスワードは、ウィジェットマネージャ23のユーザ認証部234によって使用されるパスワードである。ウィジェット一覧情報の取得要求にパスワードが含まれていない場合、ユーザ認証部234は、認証処理を実行することができない。したがって、ウィジェットマネージャ23の通信制御部235は、認証エラーをウィジェット通信部1231に返信する。当該認証エラーに応じ、UI制御部1232は、パスワード入力画面を操作パネル15に表示させる(S390)。
図16は、パスワード入力画面の表示例を示す図である。同図において、パスワード入力画面540には、パスワードを入力させるためのソフトキーが表示されている。
パスワード入力画面540を介してユーザによってパスワードが入力されると、ウィジェット通信部1231は、入力されたパスワードを指定して(例えば、HTTPリクエストのヘッダに入力されたパスワードを含めて)ウィジェットリストURL宛にウィジェット一覧情報の取得要求を再度送信する(S400)。当該取得要求を受信したウィジェットマネージャ23側では、ユーザ認証部234が当該取得要求に含まれているパスワードと、ユーザ端末20の補助記憶装置202に保存されているパスワードとを照合することにより認証を実行する。認証に成功した場合、ウィジェットマネージャ23の通信制御部235はウィジェット一覧情報(ウィジェットごとに、ウィジェットURL、世代番号、アイコンハッシュ値、アイコンURL、及び詳細情報URLを含む情報)を返信する。ウィジェット通信部1231は、返信されたウィジェット一覧情報をウィジェットリスト情報テーブル1236に登録する。
なお、ウィジェットマネージャ23側において認証が行われることにより、他人のウィジェットの利用が適切に制限される。すなわち、各ユーザは、ユーザ選択画面520において他人のユーザのアイコンを選択したとしても、パスワード入力画面540において正しいパスワードを入力しない限り、当該他人のウィジェットを利用することはできない。
但し、例えば、各ユーザのウィジェットの共用を許容する場合、常にパスワードの入力が要求されるのは煩雑であり、操作性の劣化を招く。そこで、ウィジェットマネージャ23では、ユーザ認証部234の認証について有効又は無効の設定が可能とされている。例えば、ユーザによる設定に応じ、有効又は無効を示す情報が補助記憶装置202に保存されている。上述したステップS390への分岐フローは、ユーザ認証部234による認証が有効とされている場合のフローである。
一方、ユーザ認証部234による認証処理が無効な場合、認証を行う必要はないため、ステップS380の取得要求に応じて、ウィジェット一覧情報が返信される。ウィジェット通信部1231は、返信されたウィジェット一覧情報をウィジェットリスト情報に登録する。なお、図5で説明した手順は、ユーザ認証部234による認証処理が無効な場合に対応する。
ステップS380又はS400に続いて、ウィジェット通信部1231は、ウィジェット一覧情報に含まれるアイコンURL宛にアイコンデータの取得要求を送信することにより、各ウィジェットのアイコンデータをウィジェットマネージャ23より取得し、アイコン保存用フォルダに保存する(S410)。続いて、UI制御部1232は、アイコン保存用フォルダに保存されたアイコンデータを利用してウィジェット選択画面530(図13)を操作パネルに表示させ(S420)、ユーザによるアイコンの選択を待機する(S430)。
ウィジェット選択画面530において、ユーザによってアイコンが選択されると、ウィジェット通信部1231は、選択されたアイコンに係るウィジェットに対応する詳細情報URLをウィジェットリスト情報テーブル1236より取得し、当該詳細情報URL宛に詳細情報の取得要求を送信することにより、当該ウィジェットの詳細情報をウィジェットマネージャ23より取得し、取得された詳細情報をウィジェット詳細情報テーブル1237に登録する(S440)。続いて、スタートキーが押下されると(S450)、機能制御部1233は、ウィジェットタイプに応じた機能を詳細情報に含まれているパラメータに応じた内容で実行させる(S460)。
上述したように、第一の実施の形態によれば、ネットワーク40上におけるウィジェットマネージャ23の起動状況に応じて、ユーザ選択画面520の表示を抑制することができる。また、各ウィジェットマネージャ23による認証が無効な場合は、パスワード入力画面540の表示も抑制することができる。したがって、ウィジェットに関する表示画面の遷移(画面フロー)を簡略化することができる。その結果、操作性を向上させることができる。
ところで、第一の実施の形態では、ユーザ選択画面520においてユーザが選択された後、ウィジェット選択画面530が表示されるまでの間に各ウィジェットのアイコンデータの取得が実行されている。これは、ユーザに応じて起動されているウィジェットが異なるためである。しかし、多数のウィジェットが起動されている場合や、ネットワーク40の通信負荷状態によっては、アイコンの取得処理に時間を要する可能性がある。その結果、ユーザ選択画面520からウィジェット選択画面530への遷移がスムーズに行われない可能性がある。
そこで、以上の問題点を解決した例として、第二の実施の形態を説明する。図17は、第二の実施の形態のプロバイダアプリの処理手順を説明するための図である。図17中、図15と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
第二の実施の形態において、アプリ制御部130よりログインの成功が通知されると、ウィジェット通信部1231は、本体認証部140よりログインユーザ名を取得し(S501)、ログインユーザ名と一致するユーザ名を含むユーザ情報をユーザ情報テーブル1235より検索する(S502)。少なくとも一つのユーザ情報が検索された場合、ウィジェット通信部1231は、検索された各ユーザ情報よりウィジェットリストURLを取得する(S503)。
続いて、ウィジェット通信部1231は、パスワードを指定せずにウィジェットリストURL宛にウィジェット一覧情報の取得要求を送信する(S504)。当該取得要求に応じてウィジェット一覧情報が返信された場合(すなわち、ウィジェットマネージャ23のユーザ認証部234による認証が無効化されている場合)、ウィジェット通信部1231は、ウィジェット一覧情報に含まれるアイコンURL宛にアイコンデータの取得要求を送信することにより、各ウィジェットのアイコンデータをウィジェットマネージャ23より取得する(S505)。
続いて、ウィジェット通信部1231は、取得されたウィジェット一覧情報及びアイコンデータをHDD114のキャッシュ領域に記録する(S506)。キャッシュ領域では、ウィジェットリスト情報テーブル1236と同じ構成により、ウィジェット一覧情報が管理される。以下、キャッシュ領域におけるウィジェットリスト情報テーブル1236を「ウィジェットリスト情報キャッシュテーブル」という。但し、ウィジェットリスト情報キャッシュテーブルにおいてオーナーIDは不要である(キャッシュ時には登録されなくてもよい)。
なお、ステップS504〜S506は、ログインユーザ名とユーザ名が一致するユーザ情報ごとに実行される。
一方、ログインユーザ名と一致するユーザ名を含むユーザ情報が検索されない場合、又はステップS504におけるウィジェット一覧情報の取得要求に対して認証エラーが返信された場合(ウィジェットマネージャ23のユーザ認証部234による認証が有効な場合)、プロバイダアプリ123は、ウィジェットのアイコンデータ等を取得することなくアクティブ状態への遷移を待機する(S310)。
すなわち、第二の実施の形態では、ユーザのログイン後、プロバイダアプリ123がアクティブになる前に、ログインユーザのウィジェットであると推測される各ウィジェットについて、アイコンデータが予めウィジェットマネージャ23より取得されキャッシュされる。
なお、ステップS503〜S506は、ログインユーザのユーザ名と一致するユーザ情報が一つのみ検索された場合に実行されるようにしてもよい。この場合、ログインユーザ以外のアイコンデータ等が取得されてしまうという無駄を排除することができる。
プロバイダアプリ123がアクティブ状態へ遷移した後の処理手順は、図15と同様でよい。但し、アイコンデータは、ウィジェットマネージャ23から取得するのではなく、既にキャッシュされているものを利用すればよい(S420)。それにより、ウィジェット選択画面530の表示を高速化することができる。
但し、キャッシュが行われるのは、ウィジェットマネージャ23のユーザ認証部234による認証が無効な場合である。したがって、ステップS380において、ウィジェット一覧情報の取得要求に応じて認証エラーが返信された場合、ウィジェット通信部1231は、ステップS400において取得されたウィジェット一覧情報に基づいて、各ウィジェットのアイコンデータ取得する(S401)。取得されたアイコンデータはアイコン保存用フォルダに保存される。
ところで、キャッシュが行われた後に、ユーザがユーザ端末20に戻り、ウィジェットのアイコンデータの更新や詳細情報(パラメータ)の更新等を行う可能性がある。当該更新は、ウィジェット情報管理部231が表示させる画面を介して行われる。なお、更新に応じて、更新に係るウィジェットのウィジェット個別フォルダに保存されている世代番号が世代管理部232によってインクリメントされる。
斯かる可能性を考慮して、第二の実施の形態のプロバイダアプリ123は、ステップS601以降の処理を実行する。なお、ステップS601以降の処理は、ステップS380において、ウィジェット一覧情報の取得要求に応じてウィジェット一覧情報が返信された場合に実行される。この場合にキャッシュが行われているからである。
ステップS601において、ウィジェット通信部1231は、ウィジェットリスト情報テーブル1236(キャッシュ領域のテーブルではない点に注意)より、通信相手のウィジェットマネージャ23に対応するレコードを検索する(S601)。続いて、ウィジェット通信部1231は、検索されたレコードの中で処理対象とするレコードへの参照用カウンタ(i)を先頭位置に初期化する(S602)。続いて、ウィジェット通信部1231は、参照用カウンタが指すレコードを処理対象とする(S603)。
続いて、ウィジェット通信部1231は、処理対象のレコード(以下、「カレントレコード」という。)より世代番号を取得する(S604)。続いて、ウィジェット通信部1231は、カレントレコードより取得された世代番号と、ウィジェットリスト情報キャッシュテーブルにおいてカレントレコードに対応するレコード(以下、「カレントキャッシュレコード」という。)に含まれている世代番号とを比較する(S605)。ここで、ウィジェットリスト情報キャッシュテーブルにおいてカレントレコードに対応するレコードとは、ウィジェットリスト情報キャッシュテーブルのレコードの中で、ウィジェット名、詳細情報URL、及びアイコンURLがカレントレコードと一致する(すなわち、同一ユーザ端末20における同一ウィジェットに係るレコード)をいう。
双方の世代番号が一致しない場合(すなわち、キャッシュの内容が古い場合)、ウィジェット通信部1231は、カレントレコードのアイコンURLに基づいて、カレントレコードに係るウィジェットのアイコンデータを取得する(S606)。ウィジェット通信部1231は、取得されたアイコンデータを、カレントレコードに関連付けてHDD114のアイコン保存用フォルダに保存する。
一方、双方の世代番号が一致する場合(すなわち、キャッシュの内容が最新版である場合)、ウィジェット通信部1231は、キャッシュ領域に保存されているアイコンデータをカレントレコードに関連付ける(S607)。したがって、この場合、カレントレコードに係るウィジェットに関しては、キャッシュされていたアイコンデータがウィジェット選択画面530の表示対象として利用される。
ステップS607又はS608に続いて、ウィジェット通信部1231は参照用カウンタをインクリメントし、ステップS601において検索された他のレコードについてステップS603以降の処理を繰り返す。
上述したように、第二の実施の形態によれば、アイコンデータをキャッシュしておくためユーザ選択画面520の表示を高速化することができる。また、世代番号によってキャッシュされているアイコンデータが最新であるか否かをチェックし、キャッシュされているアイコンデータが古い場合はアイコンデータを取得し直すため、最新のアイコンデータに基づく表示を行うことができる。
なお、上記の例では、アイコンデータが更新されていない場合であっても、パラメータ(詳細情報)の更新により世代番号がインクリメントされれば、同一のアイコンデータがウィジェットマネージより再取得されてしまう。特に、パラメータの更新が頻繁に行われるようなウィジェットに関しては、世代番号が頻繁にインクリメントされ、同一のアイコンデータの再取得の頻度が高まる虞がある。そこで、このようなウィジェットに関しては、アイコンが更新された場合にのみ世代番号をインクリメントするようにしてもよい。そうすることにより、同一アイコンの再取得を回避することができる。
なお、機能に対するパラメータ(設定情報)とアイコンデータとの間には密接な関係が有る場合が多い。すなわち、パラメータの内容がアイコンデータに反映される場合がある。斯かる事情に鑑みて、世代番号の代わりにパラメータを含む詳細情報をアイコンデータの更新情報として利用してもよい。この場合、プロバイダアプリ123は、キャッシュ時及びステップS380において、ウィジェットごとに詳細情報を含むウィジェット一覧情報を取得すればよい。ステップS605では、キャッシュされている詳細情報とステップS380において取得された詳細情報とを比較して、アイコンデータの再取得の要否を判定すればよい。
続いて、第二の実施の形態の変形例として、第三の実施の形態を説明する。図18は、第三の実施の形態のプロバイダアプリの処理手順を説明するための図である。図18では、ステップS601〜S608の代わりに、ステップS701〜S709が実行される。
ステップS701において、ウィジェット通信部1231は、ウィジェットリスト情報テーブル1236(キャッシュ領域のテーブルではない点に注意)より、通信相手のウィジェットマネージャ23に対応するレコードを検索する(S701)。続いて、ウィジェット通信部1231は、検索されたレコードの中で処理対象とするレコードへの参照用カウンタ(i)を先頭位置に初期化する(S702)。続いて、ウィジェット通信部1231は、参照用カウンタが指すレコードを処理対象とする(S703)。
続いて、ウィジェット通信部1231は、処理対象のレコード(以下、「カレントレコード」という。)よりアイコンハッシュ値を取得する(S704)。続いて、ウィジェット通信部1231は、カレントレコードより取得されたアイコンハッシュ値と一致するアイコンハッシュ値を含むレコードを、ウィジェットリスト情報キャッシュテーブルの全てのレコードの中から、又はウィジェットリスト情報テーブル1236においてカレントレコード以外のレコードの中から検索する(S705)。
該当するレコードが検索されない場合(すなわち、少なくとも当該ウィジェットに関してキャッシュされているアイコンデータが古くなっている場合)、ウィジェット通信部1231は、カレントレコードのアイコンURLに基づいて、カレントレコードのアイコンURLに基づいて、カレントレコードに係るウィジェットのアイコンデータを取得する(S706)。ウィジェット通信部1231は、取得されたアイコンデータを、カレントレコードに関連付けてHDD114のアイコン保存用フォルダに保存する。
一方、該当するレコードが検索された場合、ウィジェット通信部1231は、検索されたレコードに関連付けられて保存されているアイコンデータを、カレントレコードに関連付ける(S707)。すなわち、カレントレコードに係るウィジェットに関してキャッシュされていたアイコンハッシュ値とカレントレコードのハッシュ値とが一致すれば、当該ウィジェットに関してキャッシュされていたアイコンデータがカレントレコードに関連付けられ、ウィジェット選択画面530の表示対象とされる。また、カレントレコードに係るウィジェットに関してキャッシュされていたアイコンハッシュ値とカレントレコードのハッシュ値が一致しない場合であっても(すなわち、当該ウィジェットに関してキャッシュの内容が古くなっている場合であっても)、他のウィジェットに関してキャッシュされているアイコンハッシュ値又は他のウィジェットに関してステップS706において取得されているアイコンハッシュ値とカレントレコードのアイコンハッシュ値とが一致すれば、当該他のウィジェットに関してキャッシュされている又は既に取得されているアイコンデータがカレントレコードに関連付けられウィジェット選択画面530の表示対象とされる。
更に、他のユーザに関してキャッシュされているアイコンハッシュ値とカレントレコードのアイコンハッシュ値とが一致すれば、当該他のユーザに関してキャッシュされているアイコンデータがカレントレコードに関連付けられ、ウィジェット選択画面530の表示対象とされる。但し、この場合、ログアウトに応じてキャッシュ領域をクリアしないようにする必要がある。
上述したように、第三の実施の形態によれば、アイコンハッシュ値によってキャッシュされているアイコンデータが最新であるか否かをチェックし、キャッシュされているアイコンデータが古い場合はアイコンデータを取得し直すため、最新のアイコンデータに基づく表示を行うことができる。また、必ずしも世代番号による管理を行う必要はなく、アイコンの世代管理(バージョン管理)を簡素化することができる。
また、アイコンハッシュ値を利用することにより、各ウィジェットによって利用されているアイコンデータの異同を判定することができる。したがって、或るウィジェットについてキャッシュされているアイコンデータが最新版でない場合であっても、他のウィジェット又は他のユーザに係るウィジェットに関して取得されたアイコンデータの中から当該或るウィジェットが利用するアイコンデータと同一のアイコンデータを探し出すことができ、ウィジェット間でアイコンデータを共用することができる。その結果、プロバイダアプリ123によるアイコンデータの総取得回数を減少させることができ、ネットワーク負荷の軽減及び画像形成装置10のHDD114の消費量の低減を図ることができる。
なお、ウィジェット間におけるアイコンデータの共用という効果を得るために、アイコンデータのキャッシュ(ステップS501〜S506の処理)は必ずしも必要ではない。例えば、図15の処理に対して、ステップS701〜S706を組み込むことによっても、ウィジェット間においてアイコンデータを共用させることができる。
次に、第四の実施の形態について説明する。第四の実施の形態におけるプロバイダアプリ123の処理手順は、図17又は図18と同様でよい。但し、第四の実施の形態において、プロバイダアプリ123は、ステップS501〜S505の処理をユーザのログイン時だけでなく、ログイン時以降アクティブ状態へ変化するまでの間、定期的に繰り返し行う。
すなわち、図5の処理は、図8、図15、図17、又は図18の処理とは非同期に(関係なく)実行されている。このことは、プロバイダアプリ123がアクティブ状態への遷移を待機している間に、ユーザ情報テーブル1235の内容が刻々と変化しうることを意味する。したがって、例えば、ユーザのログインに応じて図17又は図18のステップS502において検索されたユーザ情報(ログインユーザ名と一致するユーザ名を含むユーザ情報)の件数は、当該ログイン時以降プロバイダアプリ123がアクティブ状態へ遷移するまでの間に変化する可能性がある。そうすると、ユーザのログイン時にステップS502において検索されたユーザ情報の件数に関する条件(当該件数が1件であることという条件。又は当該件数が0でないことという条件)が満たされずにキャッシュ処理(ステップS503以降)を実行できなかった場合でも、その後に再度検索を行えば、当該条件を満たし、キャッシュ処理を行える可能性がある。そこで、第四の実施の形態において、プロバイダアプリ123のウィジェット通信部1231は、ユーザのログイン後、アクティブ状態へ遷移するまでの間にステップS501〜S506の処理を定期的に繰り返し行うのである。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。