(57)【要約】【課題】画像形成装置とネットワークを介して連携するプログラムに関するユーザの操作負担を軽減させること。【解決手段】画像形成装置であって、当該画像形成装置が有する機能の識別情報、及び該機能に関して当該画像形成装置において有効な設定情報を記憶する有効機能情報記憶手段と、ネットワークを介して接続されるコンピュータより、画像形成装置に実行させたい機能の識別情報と、該機能に対する設定情報とを受信する受信手段と、受信された前記識別情報に係る機能ごとに、当該識別情報及び当該識別情報に係る機能に対する前記設定情報を、前記有効機能情報記憶手段に記憶された情報と照合して、有効性を判定する判定手段と、有効であると判定された機能に対応する選択肢を、有効でないと判定された機能に対応する選択肢と区別して表示手段に表示させる表示制御手段とを有する。【選択図】図４
2012129686.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
当該画像形成装置が有する機能の識別情報、及び該機能に関して当該画像形成装置において有効な設定情報を記憶する有効機能情報記憶手段と、
ネットワークを介して接続されるコンピュータより、画像形成装置に実行させたい機能の識別情報と、該機能に対する設定情報とを受信する受信手段と、
受信された前記識別情報に係る機能ごとに、当該識別情報及び当該識別情報に係る機能に対する前記設定情報を、前記有効機能情報記憶手段に記憶された情報と照合して、有効性を判定する判定手段と、
有効であると判定された機能に対応する選択肢を、有効でないと判定された機能に対応する選択肢と区別して表示手段に表示させる表示制御手段とを有する画像形成装置。
【請求項２】
前記有効でないと判定された機能及び前記設定情報に対応可能な他の画像形成装置を探索する探索手段を有し、
前記表示制御手段は、前記探索手段によって探索された他の画像形成装置の識別情報を、前記有効でないと判定された機能に対応する選択肢に関連させて表示させる請求項１記載の画像形成装置。
【請求項３】
前記表示制御手段は、有効でないと判定された機能に対応する選択肢を半輝度とする請求項１又は２記載の画像形成装置。
【請求項４】
前記表示制御手段は、有効でないと判定された機能に対応する選択肢を非表示とする請求項１又は２記載の画像形成装置。
【請求項５】
画像形成装置が実行する情報処理方法であって、
ネットワークを介して接続されるコンピュータより、画像形成装置に実行させたい機能の識別情報と、該機能に対する設定情報とを受信する受信手順と、
受信された前記識別情報に係る機能ごとに、当該識別情報及び当該識別情報に係る機能に対する前記設定情報を、当該画像形成装置が有する機能の識別情報、及び該機能に関して当該画像形成装置において有効な設定情報を記憶する有効機能情報記憶手段に記憶された情報と照合して、有効性を判定する判定手順と、
有効であると判定された機能に対応する選択肢を、有効でないと判定された機能に対応する選択肢と区別して表示手段に表示させる表示制御手順とを有する情報処理方法。
【請求項６】
前記画像形成装置は、前記有効でないと判定された機能及び前記設定情報に対応可能な他の画像形成装置を探索する探索手順を実行し、
前記表示制御手順は、前記探索手順において探索された他の画像形成装置の識別情報を、前記有効でないと判定された機能に対応する選択肢に関連させて表示させる請求項５記載の情報処理方法。
【請求項７】
画像形成装置に、
ネットワークを介して接続されるコンピュータより、画像形成装置に実行させたい機能の識別情報と、該機能に対する設定情報とを受信する受信手順と、
受信された前記識別情報に係る機能ごとに、当該識別情報及び当該識別情報に係る機能に対する前記設定情報を、当該画像形成装置が有する機能の識別情報、及び該機能に関して当該画像形成装置において有効な設定情報を記憶する有効機能情報記憶手段に記憶された情報と照合して、有効性を判定する判定手順と、
有効であると判定された機能に対応する選択肢を、有効でないと判定された機能に対応する選択肢と区別して表示手段に表示させる表示制御手順とを実行させるプログラム。
【請求項８】
前記画像形成装置に、前記有効でないと判定された機能及び前記設定情報に対応可能な他の画像形成装置を探索する探索手順を実行させ、
前記表示制御手順は、前記探索手順において探索された他の画像形成装置の識別情報を、前記有効でないと判定された機能に対応する選択肢に関連させて表示させる請求項７記載のプログラム。
【請求項９】
請求項７又は８記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
特許文献１には、画像形成装置とネットワークを介して接続されるＰＣ（Personal Computer）等にインストールされ、当該画像形成装置と連携した処理フローを当該ＰＣに実行させるプログラム（特許文献１において「ネットアプリ」と呼ばれるプログラム）が記載されている。
【０００３】
特許文献１に記載された技術では、広告と呼ばれるブロードキャストによって、各ＰＣにおいて起動されているネットアプリに関連付いた情報が各画像形成装置に配信される。  詳しくは、当該プログラムの起動に応じて、当該プログラムを起動させたユーザの存在がネットワーク上に広告される。画像形成装置は、当該広告を受信し、当該プログラムをＰＣにおいて起動させているユーザの一覧を管理する。画像形成装置は、ユーザからの所定の指示入力に応じて、当該ユーザの一覧を操作パネルに表示させる。当該一覧の中から、操作者に対応するユーザが選択されると、当該ユーザのＰＣにおいて起動されているネットアプリの一覧が画像形成装置にダウンロードされる。ユーザは、当該一覧の中から、所望のネットアプリを選択して利用することができる。
【０００４】
以上のような構成によれば、ユーザは、オフィス等において複数台設置された画像形成装置の中から、所望の画像形成装置を操作対象として、ネットアプリを利用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、オフィス等において複数台設置されている各画像形成装置が有する機能は、必ずしも一致しているとは限らない。例えば、カラー機とモノクロ機とが混在している状況も考えられる。また、印刷だけでなくスキャン等も可能な複合機と、印刷のみが可能なプリンタとが混在している状況も考えられる。
【０００６】
そうすると、画像形成装置において選択されたネットアプリが利用を予定している機能を、当該画像形成装置が有していない状況が発生しうる。この場合、ユーザは、期待した結果を得ることができず、他の画像形成装置を改めて操作対象として、当該ネットアプリの実行指示を入力しなければならない。
【０００７】
このような事態の発生は、ユーザの作業効率を劣化させるだけでなく、用紙等の資源の浪費にも繋がる。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、画像形成装置とネットワークを介して連携するプログラムに関するユーザの操作負担を軽減させることのできる画像形成装置、情報処理方法、プログラム、及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、画像形成装置であって、当該画像形成装置が有する機能の識別情報、及び該機能に関して当該画像形成装置において有効な設定情報を記憶する有効機能情報記憶手段と、ネットワークを介して接続されるコンピュータより、画像形成装置に実行させたい機能の識別情報と、該機能に対する設定情報とを受信する受信手段と、受信された前記識別情報に係る機能ごとに、当該識別情報及び当該識別情報に係る機能に対する前記設定情報を、前記有効機能情報記憶手段に記憶された情報と照合して、有効性を判定する判定手段と、有効であると判定された機能に対応する選択肢を、有効でないと判定された機能に対応する選択肢と区別して表示手段に表示させる表示制御手段とを有する。
【００１０】
このような画像形成装置では、画像形成装置とネットワークを介して連携するプログラムに関するユーザの操作負担を軽減させることができる。
【発明の効果】
【００１１】
本発明によれば、画像形成装置とネットワークを介して連携するプログラムに関するユーザの操作負担を軽減させることができる。
【図面の簡単な説明】
【００１２】
【図１】第一の実施の形態における情報処理システムの構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。
【図４】第一の実施の形態におけるウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【図５】ウィジェットマネージャ及びウィジェットの起動時の処理手順を説明するためのシーケンス図である。
【図６】ユーザ管理テーブルの構成例を示す図である。
【図７】印刷ウィジェットのウィジェット情報の例を示す図である。
【図８】スキャンウィジェットのウィジェット情報の例を示す図である。
【図９】印刷ウィジェットによる印刷ジョブの投入処理の処理手順を説明するためのシーケンス図である。
【図１０】印刷ウィジェットに対する印刷設定情報の一例を示す図である。
【図１１】スキャンウィジェットによるスキャンジョブの設定情報の登録処理の処理手順を説明するためのシーケンス図である。
【図１２】スキャンウィジェットに対するスキャン設定情報の一例を示す図である。
【図１３】実行可能なウィジェットの一覧の表示処理の処理手順を説明するためのシーケンス図である。
【図１４】ユーザ選択画面の表示例を示す図である。
【図１５】有効機能情報記憶部の構成例を示す図である。
【図１６】ウィジェット選択画面の表示例を示す図である。
【図１７】有効なウィジェットの判定処理の処理手順の一例を説明するためのフローチャートである。
【図１８】印刷ウィジェットの実行時の処理手順を説明するためのシーケンス図である。
【図１９】スキャンウィジェット実行時の処理手順を説明するためのシーケンス図である。
【図２０】第二の実施の形態における情報処理システムの構成例を示す図である。
【図２１】第二の実施の形態におけるプロバイダアプリ及び機器管理装置の機能構成例を示す図である。
【図２２】第二の実施の形態において無効なウィジェットが実行対象として選択された場合の処理手順の一例を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム１において、一台以上の画像形成装置１０と、一台以上のユーザ端末２０とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して接続されている。
【００１４】
画像形成装置１０は、例えば、スキャン、印刷、コピー、及びＦＡＸ送受信等の機能のうち、２以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有するスキャナ、プリンタ、コピー機、又はファクシミリが画像形成装置１０として用いられてもよい。
【００１５】
ユーザ端末２０は、ユーザが利用する端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末２０の具体例として、デスクトップ型のＰＣ（Personal Computer）、ノートＰＣ、ＰＤＡ（Personal Digital Assistance）、又は携帯電話等が挙げられる。
【００１６】
ユーザ端末２０のソフトウェア構成について説明する。図１において、ユーザ端末２０は、印刷ウィジェット２１ａ、スキャンウィジェット２１ｂ、ウィジェットマネージャ２２、文書アプリ２３、プリンタドライバ２４、及びＯＳ２５等を有する。
【００１７】
印刷ウィジェット２１ａ及びスキャンウィジェット２１ｂは、本実施の形態において、「ウィジェット２１」として総称されるアプリケーションプログラムである。近年では、ウィジェット（Ｗｉｄｇｅｔ）又はガジェット（Ｇａｄｇｅｔ）とよばれる手軽なアプリケーションが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションという程度の意味においてこれらのアプリケーションをウィジェット２１と呼ぶ（すなわち、技術的な意義において限定する趣旨ではない）。但し、本実施の形態において、各ウィジェット２１は、画像形成装置１０の機能を利用して（画像形成装置１０と連携して）所定の処理フロー（例えば、ワークフロー等の一連の処理フロー）を実現するという点において共通する。
【００１８】
印刷ウィジェット２１ａは、所定の論理プリンタに対して生成された印刷データについて、画像形成装置１０に印刷ジョブを実行させる。
【００１９】
スキャンウィジェット２１ｂは、画像形成装置１０にスキャンを実行させ、スキャンされた画像データをユーザ端末２０に保存する。
【００２０】
ウィジェットマネージャ２２は、ウィジェット２１と画像形成装置１０との間の通信の仲介等を行う。各ウィジェット２１は、ウィジェットマネージャ２２によって規定されるインタフェース及び処理手順を備える必要がある。換言すれば、ウィジェットマネージャ２２と協調して動作するアプリケーションが、本実施の形態におけるウィジェット２１である。
【００２１】
文書アプリ２３は、ワープロソフト、表計算ソフト等、印刷対象となりうる電子的な文書データを作成するアプリケーションである。図中、文書アプリ２３は一つのブロックによって表現されているが、文書アプリ２３は、文書データのデータ形式に応じて複数の種類が存在しうる。
【００２２】
プリンタドライバ２４は、いわゆるプリンタドライバであり、各種の文書アプリ２３によって生成された文書データに関する印刷データを生成する。印刷ウィジェット２１ａに対応する論理プリンタが印刷先として指定された場合、プリンタドライバ２４は、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する。
【００２３】
ＯＳ２５は、いわゆるＯＳ（Operating System）である。ユーザ端末２０上の各ソフトウェアは、ＯＳ２５上においてプロセス又はスレッドとして動作する。
【００２４】
画像形成装置１０のソフトウェア構成について説明する。図１において、画像形成装置１０は、標準アプリ１２１、ＳＤＫアプリ１２２、ＳＤＫプラットフォーム１２３、コントロールサービス１２４、及びＯＳ１２５等を有する。
【００２５】
標準アプリ１２１は、画像形成装置１０に標準的に（出荷時に予め）実装されているアプリケーションの集合である。同図では、スキャンアプリ１２１１、印刷アプリ１２１２、コピーアプリ１２１３、及びＦＡＸアプリ１２１４が例示されている。スキャンアプリ１２１１は、スキャンジョブを実行する。印刷アプリ１２１２は印刷ジョブを実行する。コピーアプリ１２１３は、コピージョブを実行する。ＦＡＸアプリ１２１４は、ＦＡＸの送信ジョブ又は受信ジョブを実行する。
【００２６】
コントロールサービス１２４は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、メモリの管理機能等を有する。
【００２７】
ＳＤＫアプリ１２２は、画像形成装置１０の出荷後において、画像形成装置１０の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、ＳＤＫアプリ１２２として、プロバイダアプリ１２２１が例示されている。プロバイダアプリ１２２１は、ウィジェット２１を画像形成装置１０より操作可能とするための処理を実行する。
【００２８】
ＳＤＫプラットフォーム１２３は、ＳＤＫアプリ１２２の実行環境を提供する。各ＳＤＫアプリ１２２は、ＳＤＫプラットフォーム１２３が提供するＡＰＩ（Application Program Interface）を利用して開発される。例えば、ＳＤＫプラットフォーム１２３は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等をＳＤＫアプリ１２２に提供する。なお、ＳＤＫプラットフォーム１２３のＡＰＩは公開されており、サードベンダ等によってもＳＤＫアプリ１２２は開発されうる。
【００２９】
ＯＳ１２５は、いわゆるＯＳ（Operating System）である。画像形成装置１０上の各ソフトウェアは、ＯＳ１２５上においてプロセス又はスレッドとして動作する。
【００３０】
続いて、各装置のハードウェア構成について説明する。図２は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図２において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００３１】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記録される。
【００３２】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶表示部等の表示手段を備えたハードウェアである。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００３３】
図３は、本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。図３のユーザ端末２０は、それぞれバスＢで相互に接続されているドライブ装置２００と、補助記憶装置２０２と、メモリ装置２０３と、ＣＰＵ２０４と、インタフェース装置２０５と、表示装置２０６と、入力装置２０７とを有する。
【００３４】
ユーザ端末２０での処理を実現するプログラムは、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体２０１によって提供される。プログラムを記録した記録媒体２０１がドライブ装置２００にセットされると、プログラムが記録媒体２０１からドライブ装置２００を介して補助記憶装置２０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体２０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置２０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３５】
メモリ装置２０３は、プログラムの起動指示があった場合に、補助記憶装置２０２からプログラムを読み出して格納する。ＣＰＵ２０４は、メモリ装置２０３に格納されたプログラムに従ってユーザ端末２０に係る機能を実現する。インタフェース装置２０５は、ネットワーク接続用のインタフェース、ＵＳＢ（Universal Serial Bus）接続用のインタフェース、Ｂｌｕｅｔｏｏｔｈ等の無線通信用のインタフェース等、各種通信用のインタフェースである。表示装置２０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置２０７はキーボード、マウス等のポインティングデバイス、又はボタン等で構成され、様々な操作指示を入力させるために用いられる。
【００３６】
続いて、ウィジェット２１、ウィジェットマネージャ２２、及びプロバイダアプリ１２２１について更に詳しく説明する。図４は、第一の実施の形態におけるウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【００３７】
同図に示されるように、各ウィジェット２１は、ウィジェットＵＩ部２１１、ウィジェット情報送信部２１２、連携部２１３、ロジック部２１４、及び属性情報管理ファイル２１５等を有する。
【００３８】
ウィジェットＵＩ部２１１は、ウィジェット２１に関する各種の表示制御及び入力制御等を行う。ウィジェット情報送信部２１２は、ウィジェット２１の起動に応じ、ウィジェット情報（ウィジェット２１の属性情報）の登録要求をウィジェットマネージャ２２に送信する。ウィジェット情報には、当該ウィジェット２１が利用する、画像形成装置１０の機能（以下、「連携機能」という。）の識別情報（以下、「連携機能識別子」という。）等が含まれている。連携機能は、ウィジェット２１と連携する画像形成装置１０が有しているべき（有している必要のある）機能、又はウィジェット２１が画像形成装置１０に実行させたい機能であるともいえる。
【００３９】
連携部２１３は、プロバイダアプリ１２２１との連携のための通信（情報のやりとり等）を制御する。属性情報管理ファイル２１５は、ウィジェット２１対する属性情報を格納するファイルである。属性情報には、ウィジェット２１に対する設定情報も含まれる。設定情報は、ウィジェット２１の振る舞い又はウィジェット２１によって実行されるジョブの内容を規定するパラメータの集合である。ロジック部２１４は、各ウィジェット２１に固有の機能が実装される部分である。例えば、印刷ウィジェット２１ａのロジック部２１４は、所定の論理プリンタに対して生成された印刷データについて、画像形成装置１０に印刷ジョブを実行させるための処理を実行する。スキャンウィジェット２１ｂのロジック部２１４は、スキャンされた画像データの保存処理等を実行する。
【００４０】
なお、ウィジェット２１に含まれる各部について、印刷ウィジェット２１ａに属するものとスキャンウィジェット２１ｂに属するものとを区別する場合、前者については「ａ」を、後者については「ｂ」を参照番号の末尾に付加する。例えば、印刷ウィジェット２１ａのロジック部２１４は、「ロジック部２１４ａ」と表記される。
【００４１】
ウィジェットマネージャ２２は、広告部２２１、ウィジェット情報登録部２２２、ウィジェット情報提供部２２３、及び仲介部２２４等を有する。
【００４２】
広告部２２１は、ウィジェットマネージャ２２の起動に応じ、ユーザ端末２０へのログインユーザのユーザＩＤ等をネットワーク上に広告（ブロードキャスト又はマルチキャスト等）する。広告は、ユーザ単位（ユーザＩＤ単位）で発行される。したがって、広告部２２１による広告は、何らかのウィジェット２１を利用可能になったユーザが新たに発生したことを画像形成装置１０に通知するための情報であるといえる。
【００４３】
ウィジェット情報登録部２２２は、ウィジェット２１より送信されるウィジェット情報の登録要求を受信し、当該ウィジェット情報を、例えば、補助記憶装置２０２に保存する。
【００４４】
ウィジェット情報提供部２２３は、画像形成装置１０からの要求に応じ、例えば、補助記憶装置２０２に保存されているウィジェット情報を画像形成装置１０に提供（送信）する。仲介部２２４は、ウィジェット２１とプロバイダアプリ１２２１との通信を仲介又は中継する。
【００４５】
プロバイダアプリ１２２１は、ユーザ検知部１３１、ＵＩ制御部１３２、ウィジェット情報取得部１３３、有効ウィジェット判定部１３４、ウィジェット連携部１３５、機能制御部１３６、ユーザ管理テーブル１３７、及び有効機能情報記憶部１３８等を有する。
【００４６】
ユーザ検知部１３１は、ウィジェットマネージャ２２より発行される広告に基づいて、ウィジェット２１を利用可能なユーザ（ユーザ端末２０）の存在を検知し、広告に含まれているユーザＩＤ等をユーザ管理テーブル１３７に登録する。ユーザ管理テーブル１３７は、利用可能なウィジェット２１がネットワーク上に存在するユーザの一覧を管理するテーブルであり、例えば、ＨＤＤ１１４に記憶されている。
【００４７】
ＵＩ制御部１３２は、ユーザよりウィジェット２１の操作指示等の入力を受け付ける。すなわち、ウィジェット２１は、ユーザ端末２０に配置されているが、画像形成装置１０の操作パネル１５からも操作されうる。
【００４８】
ウィジェット情報取得部１３３は、ユーザ管理テーブル１３７に登録されているユーザの中から選択されたユーザに属するウィジェット２１のウィジェット情報をウィジェットマネージャ２２より取得する。
【００４９】
有効ウィジェット判定部１３４は、ウィジェット情報取得部１３３によってウィジェット情報が取得されるウィジェット２１について、有効機能情報記憶部１３８等を用いて、当該画像形成装置１０において有効なウィジェット２１か否かを判定する。有効なウィジェット２１とは、当該ウィジェット２１が利用（又は連携）を予定している全ての機能を、当該画像形成装置１０が満たすことのできるウィジェット２１をいう。
【００５０】
有効機能情報記憶部１３８は、当該画像形成装置１０において有効な機能を示す情報を、例えばＨＤＤ１１４を用いて記憶する。
【００５１】
ウィジェット連携部１３５は、ウィジェットマネージャ２２との通信を制御する。機能制御部１３６は、ウィジェット２１から要求された機能の実行を制御する。機能を実現するための処理は、標準アプリ１２１や他のＳＤＫアプリ１２２に委譲される。
【００５２】
以下、情報処理システム１の処理手順について説明する。ウィジェット２１を利用する前に、ユーザは、ユーザ端末２０においてウィジェットマネージャ２２を起動し、続いて、利用したいウィジェット２１を起動する。そこで、まず、ウィジェットマネージャ２２及びウィジェット２１の起動時の処理手順について説明する。
【００５３】
図５は、ウィジェットマネージャ及びウィジェットの起動時の処理手順を説明するためのシーケンス図である。
【００５４】
ユーザの指示に応じ、又は自動的にウィジェットマネージャ２２が起動されると、ウィジェットマネージャ２２の広告部２２１は、ログインユーザのユーザＩＤとウィジェットマネージャＵＲＩとを含む広告をネットワーク上に送信する（Ｓ１０１）。ウィジェットマネージャＵＲＩは、ウィジェットマネージャ２２ごとに一意なＵＲＩ（Uniform Resource Identifier）である。本実施の形態において、ウィジェットマネージャ２２は、一台のユーザ端末２０に一つ起動される。したがって、ウィジェットマネージャＵＲＩは、ユーザ端末２０の識別情報であるともいえる。
【００５５】
広告が受信された各画像形成装置１０のプロバイダアプリ１２２１のユーザ検知部１３１は、当該広告に含まれているユーザＩＤ及びウィジェットマネージャＵＲＩをユーザ管理テーブル１３７に登録する（Ｓ１０２）。
【００５６】
図６は、ユーザ管理テーブルの構成例を示す図である。同図に示されるように、ユーザ管理テーブル１３７は、ユーザＩＤ及びウィジェットマネージャＵＲＩを関連付けて記憶する。
【００５７】
多数のユーザが、それぞれのユーザ端末２０においてウィジェットマネージャ２２を起動することにより、各画像形成装置１０のユーザ管理テーブル１３７には多数のユーザに対するレコードが登録される。
【００５８】
ウィジェットマネージャ２２の起動後、ユーザは、ユーザ端末２０において、印刷ウィジェット２１ａ又はスキャンウィジェット２１ｂを起動させる。ここでは、印刷ウィジェット２１ａが起動された場合について説明する。
【００５９】
印刷ウィジェット２１ａが起動されると、印刷ウィジェット２１ａのウィジェット情報送信部２１２ａは、印刷ウィジェット２１ａのウィジェット情報の登録要求を、ウィジェットマネージャ２２に送信する（Ｓ１１１）。
【００６０】
図７は、印刷ウィジェットのウィジェット情報の例を示す図である。同図において、印刷ウィジェット２１ａのウィジェット情報は、ウィジェットＩＤ、連携機能識別子、及び表示名等を含む。
【００６１】
ウィジェットＩＤは、各ウィジェット２１を一意に識別する識別情報である。連携機能識別子は、印刷ウィジェット２１ａの連携機能識別子である。印刷ウィジェット２１ａは、画像形成装置１０に印刷を実行させるウィジェット２１である。すなわち、印刷ウィジェット２１ａは、画像形成装置１０の印刷機能を利用する。したがって、印刷ウィジェット２１ａの連携機能識別子は、印刷機能を示す「ｐｒｉｎｔ」である。表示名は、印刷ウィジェット２１ａの名前の表示用の文字列である。なお、ウィジェット情報は、例えば、属性情報管理ファイル２１５ａより取得される。
【００６２】
印刷ウィジェット２１ａのウィジェット情報送信部２１２ａより送信されたウィジェット情報は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、受信されたウィジェット情報に含まれているウィジェットＩＤを含むＵＲＩを生成し、ウィジェット情報を当該ＵＲＩに関連付けて補助記憶装置２０２に保存（登録）する（Ｓ１１２）。当該ＵＲＩは、ウィジェット情報の登録に応じてウィジェットごとに生成されるＵＲＩである。以下、当該ＵＲＩを、「ウィジェットＵＲＩ」という。ウィジェットＵＲＩは、例えば、ウィジェットマネージャＵＲＩの末尾に、ウィジェットＩＤが付与されることにより生成される。ここで、ウィジェットマネージャＵＲＩは、ウィジェットマネージャ２２ごと（すなわち、ユーザ端末２０ごと）に異なるＵＲＩである。したがって、同一の印刷ウィジェット２１ａが、異なるユーザ端末２０において起動された場合、各印刷ウィジェット２１ａに対するウィジェットＵＲＩの値は異なる。すなわち、ウィジェットＵＲＩに基づいて、ネットワーク上において、一つの印刷ウィジェット２１ａを特定することができる。
【００６３】
続いて、ウィジェット情報登録部２２２は、ステップＳ１１２において生成したウィジェットＵＲＩを、印刷ウィジェット２１ａのウィジェット情報送信部２１２ａに返信する（Ｓ１１３）。ウィジェット情報送信部２１２ａは、返信されたウィジェットＵＲＩを、当該印刷ウィジェット２１ａに対するウィジェットＵＲＩとして、メモリ装置２０３に記録しておく。また、起動された印刷ウィジェット２１ａのウィジェットＵＩ部２１１ａは、印刷ウィジェット２１ａのアイコンを、ユーザ端末２０の表示装置２０６に表示させる。
【００６４】
以上により、印刷ウィジェット２１ａは、ウィジェットマネージャ２２に登録されたことになる。
【００６５】
なお、図５では、印刷ウィジェット２１ａに関して説明を行ったが、スキャンウィジェット２１ｂの起動時においても、図５のＳ１１１以降と同様の処理手順が実行される。ウィジェットマネージャ２２は、一つのユーザ端末２０において一つ起動されればよいため、ステップＳ１０１及びＳ１０２は、ウィジェット２１の起動ごとに繰り返されなくてよい。
【００６６】
例えば、スキャンウィジェット２１ｂが起動されると、起動されたスキャンウィジェット２１ｂのウィジェット情報送信部２１２ｂによって、スキャンウィジェット２１ｂのウィジェット情報が、ウィジェットマネージャ２２に送信される（Ｓ１１１）。
【００６７】
図８は、スキャンウィジェットのウィジェット情報の例を示す図である。同図に示されるウィジェット情報を構成する各項目は、図７において説明した印刷ウィジェット２１ａのウィジェット情報を構成する項目と同様である。但し、各項目の値は異なる。
【００６８】
すなわち、ウィジェットＩＤは、スキャンウィジェット２１ｂのウィジェットＩＤである。また、スキャンウィジェット２１ｂは、画像形成装置１０のスキャン機能を利用する。したがって、スキャンウィジェット２１ｂの連携機能識別子は、スキャン機能を示す「ｓｃａｎ」である。表示名は、スキャンウィジェット２１ｂの名前の表示用の文字列である。
【００６９】
図８に示されるウィジェット情報の受信に応じて、ウィジェットマネージャ２２によってスキャンウィジェット２１ｂに対するウィジェットＵＲＩが生成され、当該ウィジェットＵＲＩがスキャンウィジェット２１ｂに返信される。
【００７０】
続いて、印刷ウィジェット２１ａによる印刷ジョブの投入処理について説明する。図９は、印刷ウィジェットによる印刷ジョブの投入処理の処理手順を説明するためのシーケンス図である。
【００７１】
例えば、印刷ウィジェット２１ａのアイコンに対して印刷対象の文書ファイルのアイコンがドラッグアンドドロップされると、印刷ウィジェット２１ａのロジック部２１４ａは、ドロップされたファイルアイコンに係るファイル名が引数に指定された、文書アプリ２３に対する印刷指示を示すコマンドラインをＯＳ２５に入力する（Ｓ２０１）。その結果、当該文書アプリ２３がバックグラウンドで起動される。文書アプリ２３は、起動に応じ、当該文書ファイルの印刷要求をプリンタドライバ２４に入力する（Ｓ２０２）。印刷要求に応じ、プリンタドライバ２４は、文書ファイルに関する印刷データ（ＰＤＬ（Page Description Language）データ）を生成する。印刷ウィジェット２１ａに対応する論理プリンタが印刷先として指定された場合、プリンタドライバ２４は、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する（Ｓ２０３）。
【００７２】
一方、印刷ウィジェット２１ａのロジック部２１４ａは、印刷ウィジェット２１ａの起動後、所定のファイル名の中間ファイルが生成されるのを待機している。具体的には、印刷ウィジェット２１ａは、中間ファイルの有無を確認するため所定のフォルダ内の所定のファイル名のファイルをポーリングしている。印刷ウィジェット２１ａは、中間ファイルが生成されたことを検知すると、当該中間ファイルより印刷データを読み込む（Ｓ２０４）。
【００７３】
続いて、連携部２１３ａは、例えば、属性情報管理ファイル２１５ａに記録されている印刷設定情報と、ポーリングにより取得された印刷データとを含む印刷ジョブの登録要求をウィジェットマネージャ２２に送信する（Ｓ２０５）。なお、印刷ジョブの登録要求には、印刷ウィジェット２１ａに対するウィジェットＵＲＩも指定される。
【００７４】
図１０は、印刷ウィジェットに対する印刷設定情報の一例を示す図である。同図において、印刷設定情報は、項目名と設定値との組み合わせの集合である。項目名は、印刷設定情報を構成する設定項目の名前である。設定値は、項目名に係る設定項目に対して設定された値である。同図では、レイアウトについて「２ｉｎ１」が、印字形態について「両面」が、カラーについて「グレースケール」が設定された例が示されている。レイアウトは、印刷用紙に対する印刷画像のレイアウトに関する設定である。「２ｉｎ１」は、１つの面に２ページ分を配置することを示す。印字形態は、両面印刷又は片面印刷に関する設定である。カラーは、「フルカラー」、「グレースケール」等、印刷に使用する色に関する設定である。
【００７５】
ステップＳ２０５において印刷ウィジェット２１ａの連携部２１３ａより送信された印刷ジョブの登録要求は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、当該登録要求に係る印刷ジョブを識別するためのＵＲＩ（印刷ジョブＵＲＩ）を、受信された登録要求に指定されているウィジェットＵＲＩに基づいて生成し、当該印刷ジョブ（印刷データ及び印刷設定情報）を、生成された印刷ジョブＵＲＩに関連付けて、補助記憶装置２０２に記録する（Ｓ２０６）。印刷ジョブＵＲＩは、ウィジェットＵＲＩの末尾に対して、印刷ジョブごとの識別子が付与されることにより生成される。ウィジェット情報登録部２２２は、生成された印刷ジョブＵＲＩを、印刷ウィジェット２１ａの連携部２１３ａに返信する（Ｓ２１０）。
【００７６】
その後、印刷ウィジェット２１ａは、ウィジェット情報の登録後、中間ファイルのポーリングを再開する。したがって、更に、文書ファイルのアイコンが印刷ウィジェット２１ａのアイコンにドロップされると、当該文書ファイルに係る印刷ジョブが、ウィジェットマネージャ２２に登録される。すなわち、一つのウィジェットマネージャ２２には、一つの印刷ウィジェット２１ａに関して複数の印刷ジョブが蓄積されうる。この場合、ウィジェットマネージャ２２では、一つのウィジェットＵＲＩに基づいて複数の印刷ジョブＵＲＩが生成され、各印刷ジョブＵＲＩに関連付けられて、印刷ジョブが記憶される。
【００７７】
続いて、スキャンウィジェット２２ｂによるスキャンジョブの設定情報の登録処理について説明する。当該登録処理は、印刷ウィジェット２１ａによる印刷ジョブの投入処理に対応する。但し、スキャンジョブは、画像形成装置１０において投入される。スキャンジョブの投入には、画像形成装置１０において原稿がセットされる必要があるからである。したがって、スキャンウィジェット２２ｂによっては、スキャンジョブ自体は投入されず、スキャンジョブに対する設定情報（スキャン設定情報）がウィジェットマネージャ２２に登録されるのである。
【００７８】
図１１は、スキャンウィジェットによるスキャンジョブの設定情報の登録処理の処理手順を説明するためのシーケンス図である。
【００７９】
例えば、スキャンウィジェット２１ｂのウィジェットＵＩ部２１１ｂが表示装置２０６に表示させている、スキャンウィジェット２１ｂのアイコンに対して所定の操作（例えば、ダブルクリック等）が行われると、ウィジェットＵＩ部２１１ｂは、スキャン設定情報を設定させるための画面（以下、「スキャン設定画面」という。）を表示装置２０６に表示させる（Ｓ２５１）。なお、スキャン設定画面は、属性情報管理ファイル２１５ｂに記録されている、スキャン設定情報の既定値が設定された状態で表示されてもよい。
【００８０】
スキャン設定画面において、スキャン設定情報が設定され、設定完了の指示が入力されると、スキャンウィジェット２１ｂのロジック部２１４ｂは、スキャン設定情報の登録要求をウィジェットマネージャ２２に送信する（Ｓ２５２）。当該登録要求には、スキャンウィジェット２１ｂに対するウィジェットＵＲＩも指定される。
【００８１】
図１２は、スキャンウィジェットに対するスキャン設定情報の一例を示す図である。同図において、スキャン設定情報は、項目名と設定値との組み合わせの集合である。項目名は、スキャン設定情報を構成する設定項目の名前である。設定値は、項目名に係る設定項目に対して設定された値である。同図では、スキャン形態について「両面」が、カラーについて「フルカラー」が、解像度について「４００（ｄｐｉ）」が設定された例が示されている。スキャン形態は、スキャン対象とする原稿面に関する設定である。カラーは、「フルカラー」、「グレースケール」等、スキャンする色に関する設定である。解像度は、スキャンの解像度に関する設定である。
【００８２】
ステップＳ２５２においてスキャンウィジェット２１ｂのロジック部２１４ｂより送信されたスキャン設定情報の登録要求は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、受信された登録要求に指定されているウィジェットＵＲＩに関連付けて、登録対象のスキャン設定情報を、例えば、補助記憶装置２０２に記録する（Ｓ２５３）。これにより、ウィジェットマネージャ２２に対して、スキャンジョブのスキャン設定情報が登録されたことになる。
【００８３】
ユーザは、印刷ウィジェット２１ａを介して印刷ジョブをウィジェットマネージャ２２に投入した後、又はスキャンウィジェット２２ｂを介してスキャン設定情報をウィジェットマネージャ２２に登録した後、印刷ジョブ又はスキャンジョブを実行させるために画像形成装置１０の設置場所へ移動する。なお、複数の画像形成装置１０がネットワークに接続されている場合、同一の広告が各画像形成装置１０によって受信され、それぞれの画像形成装置１０のユーザ管理テーブル１３７に各広告の内容が登録されている。したがって、ユーザは、印刷機能又はスキャン機能を備えた画像形成装置１０であれば、複数の画像形成装置１０のいずれからも印刷ジョブ又はスキャンジョブを実行させることができる。
【００８４】
続いて、画像形成装置１０におけるユーザによる操作に応じて実行される処理について説明する。図１３は、実行可能なウィジェットの一覧の表示処理の処理手順を説明するためのシーケンス図である。
【００８５】
操作対象とされた画像形成装置１０の操作パネル１５を介してプロバイダアプリ１２２１の利用指示がユーザによって入力されると（Ｓ３０１）、プロバイダアプリ１２２１のＵＩ制御部１３２は、ユーザ管理テーブル１３７に登録されている情報に基づいてユーザ選択画面を操作パネル１５に表示させる（Ｓ３０２）。
【００８６】
図１４は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面６１０には、ユーザＩＤごとにボタンが表示されている。同図では、ユーザＡに対応するボタン６１１とユーザＢに対応するボタン６１２とが表示されている。
【００８７】
続いて、ユーザは、ユーザ選択画面６１０において自らのユーザＩＤに対応するボタンを押下する（Ｓ３０３）。ボタンの押下に応じ、ウィジェット情報取得部１３３は、選択されたボタンに対応するユーザＩＤに関連付けられているウィジェットマネージャＵＲＩをユーザ管理テーブル１３７より取得する。
【００８８】
続いて、ウィジェット情報取得部１３３は、取得されたウィジェットマネージャＵＲＩ宛に、ウィジェット情報の取得要求を送信する（Ｓ３０４）。ウィジェット情報の取得要求は、選択されたユーザＩＤに係るユーザのユーザ端末２０におけるウィジェットマネージャ２２のウィジェット情報提供部２２３によって受信される。ウィジェット情報提供部２２３は、補助記憶装置２０２に記録されているウィジェット情報の一覧を取得し、当該一覧をプロバイダアプリ１２２１に返信する（Ｓ３０５）。例えば、当該ユーザ端末２０において、一つの印刷ウィジェット２１ａと一つのスキャンウィジェット２１ｂとが起動されている場合、当該印刷ウィジェット２１ａのウィジェット情報と、当該スキャンウィジェット２１ｂのウィジェット情報とを含む一覧が返信される。なお、各ウィジェット情報は、当該ウィジェット情報に係るウィジェットに対して割り当てられたウィジェットＵＲＩが付与された状態で、プロバイダアプリ１２２１に転送される。また、プロバイダアプリ１２２１のＵＩ制御部１３２は、受信されたウィジェット情報等の一覧をＲＡＭ１１２に記録しておく。
【００８９】
続いて、有効ウィジェット判定部１３４は、返信された各ウィジェット情報に付与されているウィジェットＵＲＩに係るウィジェットマネージャ２２宛に、当該ウィジェットＵＲＩに係るウィジェット２１の設定情報の取得要求を送信する（Ｓ３０６）。各ウィジェット２１が、画像形成装置１０の機能をどのような設定情報で利用しようとしているかを調べるためである。
【００９０】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されている設定情報を返信する（Ｓ３０７）。なお、印刷ウィジェット２１ａに関する設定情報（印刷設定情報）は、ウィジェット２１ａごとではなく、印刷ジョブごとに保存されている。すなわち、印刷設定情報は、印刷ウィジェット２１ａのウィジェットＵＲＩではなく、各印刷ジョブＵＲＩに関連付けられて保存されている。したがって、ステップＳ３０７において、印刷ウィジェット２１ａに関する設定情報は、返信されない。一方、スキャンウィジェット２１ｂに関する設定情報（スキャン設定情報）は、スキャンウィジェット２１ｂのウィジェットＵＲＩに関連付けられて保存されている。したがって、ステップＳ３０７において、スキャンウィジェット２１ｂに関する設定情報は、返信される。
【００９１】
なお、各ウィジェット２１の設定情報は、ステップＳ３０５において、ウィジェット情報と共に転送されてもよい。この場合、ステップＳ３０６及びＳ３０７は、実行されなくてよい。
【００９２】
設定情報が受信されると、有効ウィジェット判定部は、ステップＳ３０５において受信された各ウィジェット情報と、ステップＳ３０７において受信された各設定情報とを、有効機能情報記憶部１３８に記憶されている情報と照合して、操作対象とされている画像形成装置１０において有効なウィジェット２１を判定する（Ｓ３０８）。
【００９３】
図１５は、有効機能情報記憶部の構成例を示す図である。同図に示されるように、有効機能情報記憶部１３８には、機能識別子ごと、又は設定項目名と設定値との組み合わせごとに有効性が記録されている。
【００９４】
機能識別子は、本実施の形態において、スキャン機能又は印刷機能の識別情報である。機能識別子「ｓｃａｎ」は、スキャン機能を示す。機能識別子「ｐｒｉｎｔ」は、印刷機能を示す。しがって、機能識別子に対する有効性は、スキャン機能又は印刷機能の有効性を意味する。機能の有効性とは、当該画像形成装置１０が当該機能を有しているか否かの区別である。「○」は、有効であることを示す。「×」は無効であることを示す。
【００９５】
設定項目名及び設定値は、機能識別子に係る機能の設定項目の名前とその値である。設定項目名と設定値との組み合わせに対する有効性は、当該設定項目名に対する設定値の有効性を意味する。設定項目名に対する設定値の有効性とは、当該設定項目名に対して当該設定値を設定可能か否かの区別である。「○」は、有効であることを示す。「×」は無効であることを示す。
【００９６】
同図では、機能識別子に関する有効性を示す行（レコード）の後、当該機能識別子に係る機能に対する設定項目名及び設定値の有効性を示す行（レコード）が続く。したがって、符号Ａによって示される範囲に含まれるレコードは、スキャン機能に関する設定項目名及び設定値の有効性を示す。符号Ｂによって示される範囲に含まれるレコードは、印刷機能に関する設定項目名及び設定値の有効性を示す。
【００９７】
なお、図１５の例では、無効な設定項目名及び設定値についても記憶対象とされているが、有効機能情報記憶部１３８の記憶対象は、有効な設定項目名及び設定値に限定されてもよい。
【００９８】
上記したステップＳ３０８では、図１５に示されるような有効機能情報記憶部１３８に記憶された情報を用いて、操作対象とされている画像形成装置１０において有効なウィジェット２１が判定される。なお、ステップＳ３０８の詳細については後述される。
【００９９】
続いて、プロバイダアプリ１２２１のＵＩ制御部１３２は、有効と判定されたウィジェット２１のウィジェット情報に基づいて、利用可能なウィジェット２１の選択肢の一覧を含む画面（ウィジェット選択画面）を操作パネル１５に表示させる（Ｓ３０９）。
【０１００】
図１６は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面６２０には、印刷ウィジェット２１ａの選択肢でとしてボタン６２１が表示されている。すなわち、同図では、スキャンウィジェット２１ｂは、操作対象とされている画像形成装置１０において無効であると判定された場合に対応する。仮に、スキャンウィジェット２１ｂが有効であると判定された場合、スキャンウィジェット２１ｂの選択肢としてのボタンもウィジェット選択画面６２０に表示される。
【０１０１】
このように、ウィジェット選択画面６２０における選択肢は、当該画像形成装置１０と適切に連携可能なウィジェット２１に限定される。したがって、ユーザは、ウィジェット２１の実行指示前に、所望の結果が得られるウィジェット２１を確認することができる。
【０１０２】
続いて、ユーザは、ウィジェット選択画面６２０に表示されているボタンの中から、所望のウィジェット２１に対応したボタンを選択する（Ｓ３１０）。
【０１０３】
なお、有効でないと判定されたウィジェット２１に対応するボタン（以下、「有効でないボタン」という。）についても、ウィジェット選択画面６２０に表示されるようにしてもよい。この場合、Ｕｉ制御部１３２は、有効でないボタンについては、有効なウィジェット２１に対応するボタンと表示態様を区別して表示させる。例えば、有効でないボタンは、半輝度の状態で（グレーアウトさせて）、選択不能として表示される。そうすることにより、ウィジェット選択画面６２０において、ユーザは、有効なウィジェット２１と有効でないウィジェットを区別することができる。
【０１０４】
また、ステップＳ３０４〜Ｓ３０８は、ユーザ選択画面６１０においてボタンが選択（ユーザが選択）されるたびに実行されなくてもよい。例えば、一度ステップＳ３０４〜Ｓ３０８が実行されたユーザに関しては、ステップＳ３０５において受信されたウィジェット情報及びステップＳ３０７において受信された設定情報が、ステップＳ３０８における判定結果に関連付けられてＲＡＭ１１２又はＨＤＤ１１４において保持される。次回、ユーザ選択画面６１０を介して当該ユーザが選択された場合、既にＲＡＭ１１２又はＨＤＤ１１４に保持されているウィジェット情報及び判定結果に基づいてウィジェット選択画面６２０が表示されてもよい。この場合、定期的にステップＳ３０４〜Ｓ３０８が実行され、保持されているウィジェット情報、設定情報、又は判定結果が適時更新されてもよい。すなわち、ユーザ端末２０において、印刷ウィジェット２１ａに対して新たな印刷ジョブが投入されたり、既にウィジェットマネージャ２２に登録されているスキャンウィジェット２１ｂに関して、スキャン設定情報が更新されたりした場合、ウィジェット情報又は設定情報が既に画像形成装置１０側に取得されているものと異なっている場合があるからである。
【０１０５】
続いて、ステップＳ３０８の詳細について説明する。図１７は、有効なウィジェットの判定処理の処理手順の一例を説明するためのフローチャートである。
【０１０６】
ステップＳ３５１において、有効ウィジェット判定部１３４は、ステップＳ３０５において受信された全てのウィジェット情報について、ステップＳ３５２以降の処理を実行したか否かを判定する。未処理のウィジェット情報が有る場合（Ｓ３５１でＮｏ）、有効ウィジェット判定部１３４は、未処理の一つのウィジェット情報を処理対象とする（Ｓ３５２）。
【０１０７】
続いて、有効ウィジェット判定部１３４は、処理対象のウィジェット情報に含まれる連携機能識別子に対応する機能の有効性を有効機能情報記憶部１３８を参照して判定する（Ｓ３５３）。すなわち、有効機能情報記憶部１３８において、当該連携機能識別子と一致する機能識別子に係るレコードの有効性の値が参照される。
【０１０８】
当該連携機能識別子に対応する機能が有効である場合（Ｓ３５３でＹｅｓ）、有効ウィジェット判定部１３４は、処理対象のウィジェット情報に関してステップＳ３０７において受信された設定情報の内容の有効性を有効機能情報記憶部１３８を参照して判定する（Ｓ３５４）。すなわち、当該設定情報を構成する項目名及び設定値に一致する設定項目名及び設定値に係るレコードの有効性の値が参照される。当該設定情報を構成する全ての項目名及び設定値が有効である場合、当該設定情報の内容は有効であると判定される。一方、少なくとも一つの項目名及び設定値が無効である場合、当該設定情報の内容は無効であると判定される。
【０１０９】
設定情報の内容が有効である場合（Ｓ３５４でＹｅｓ）、有効ウィジェット判定部１３４は、処理対象のウィジェット情報に係るウィジェット２１は、当該画像形成装置１０において有効であると判定する（Ｓ３５５）。
【０１１０】
一方、処理対象のウィジェット情報に含まれる連携機能識別子に対応する機能が有効でない場合（Ｓ３５３でＮｏ）、又は設定情報の内容が有効でない場合（Ｓ３５４でＮｏ）、有効ウィジェット判定部１３４は、処理対象のウィジェット情報に係るウィジェット２１は、当該画像形成装置１０において無効であると判定する（Ｓ３５６）。
【０１１１】
ステップＳ３５２以降が、ステップＳ３０５において受信された全てのウィジェット情報について実行されると（Ｓ３５１でＹｅｓ）、図１７の処理は終了する。
【０１１２】
図８、図１０、及び図１５に基づいて、ステップＳ３０８における判定処理を具体的に説明する。印刷ウィジェット２１ａの連携機能識別子（「ｐｒｉｎｔ」）に対応する機能識別子（「ｐｒｉｎｔ」）の有効性は「○」である。したがって、印刷ウィジェット２１ａは、有効であると判定される。
【０１１３】
また、スキャンウィジェット２１ｂの連携機能識別子（「ｓｃａｎ」）に対応する機能識別子（「ｓｃａｎ」）の有効性も「○」である。但し、図１０において、カラーに「フルカラー」が設定されているところ、図１５において、スキャン機能に関するカラー設定について「フルカラー」は、無効である。したがって、スキャンウィジェット２１ｂは、無効であると判定される。
【０１１４】
ところで、図１３のステップＳ３０９より後の処理は、ウィジェット選択画面６２０において選択されるウィジェット２１の種別（印刷ウィジェット２１ａ又はスキャンウィジェット２１ｂ）に応じて異なる。したがって、それぞれが選択された場合について、個別に説明する。
【０１１５】
図１８は、印刷ウィジェットの実行時の処理手順を説明するためのシーケンス図である。
【０１１６】
ステップＳ３１０（図１３）において、印刷ウィジェット２１ａに対応するボタン６２１が選択されると、ウィジェット連携部１３５は、ボタン６２１に係るウィジェット情報に含まれている連携機能識別子（「ｐｒｉｎｔ」）に基づいて、印刷ジョブを実行すべきことを判断する。そこで、ウィジェット連携部１３５は、当該ウィジェット情報に関連付けられているウィジェットＵＲＩを指定して、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２宛に印刷ジョブ一覧の取得要求を送信する（Ｓ４０１）。
【０１１７】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷ジョブごとに、印刷ジョブＵＲＩ、ジョブ名、及び印刷設定情報を含む印刷ジョブ一覧を生成し、当該印刷ジョブ一覧を返信する（Ｓ４０２）。ジョブ名は、例えば、印刷ジョブにおいて印刷対象とされている文書ファイル名である。
【０１１８】
プロバイダアプリ１２２１のウィジェット連携部１３５によって印刷ジョブ一覧が受信されると、有効ウィジェット判定部１３４は、印刷ジョブ一覧に印刷設定情報が含まれている印刷ジョブごとに、当該画像形成装置１０における有効性を判定する（Ｓ４０３）。すなわち、印刷設定情報を構成する項目名及び設定値と、有効機能情報記憶部１３８において印刷機能に関して記録されている設定項目名及び設定値とを照合することにより、印刷ジョブの有効性が判定される。全ての項目名及び設定値が有効である印刷ジョブは、有効であると判定される。少なくとも一つの項目名及び設定値が無効である印刷ジョブは無効であると判定される。
【０１１９】
なお、ウィジェット選択画面６２０において選択された印刷ウィジェット２１ａのウィジェットＵＲＩに関連付けられている印刷ジョブが一つも無い場合（すなわち、印刷ウィジェット２１ａの起動後、印刷ジョブが一つも投入されていない場合）、ステップＳ４０２において転送される印刷ジョブ一覧の内容は空となる。そうすると、ウィジェット選択画面６２０において、印刷ウィジェット２１ａに対応したボタン６２１の選択操作が無駄となってしまう。
【０１２０】
斯かる無駄の発生を回避するため、図１３のステップＳ３０７において、印刷ウィジェット２１ａに関しては、印刷ジョブ一覧がウィジェットマネージャ２２からプロバイダアプリ１２２１に転送されるようにしてもよい。この場合、印刷ジョブ一覧が空であれば、有効ウィジェット判定部１３４は、印刷ウィジェット２１ａは無効であると判定する。その結果、印刷ジョブが投入されていない印刷ウィジェット２１ａに対応するボタン６２１を非表示とすることができる。
【０１２１】
また、この場合、単に、印刷ジョブ一覧が空であるか否かのみでなく、ステップＳ４０３と同様の処理（印刷ジョブの有効性の判定）が、ステップＳ３０８において実行されてもよい。その結果、有効な印刷ジョブが一つも無い場合、有効ウィジェット判定部１３４は、印刷ウィジェット２１ａは無効であると判定すればよい。そうすることにより、当該画像形成装置１０において実行可能な印刷ジョブが投入されていない場合、印刷ウィジェット２１ａのボタン６２１を非表示とすることができる。
【０１２２】
続いて、ＵＩ制御部１３２は、印刷ジョブ一覧に含まれているジョブ名のうち、有効であると判定された印刷ジョブに係るジョブ名の一覧を操作パネル１５に表示させる（Ｓ４０４）。すなわち、表示対象が、当該画像形成装置１０において適切に実行可能な印刷ジョブに限定される。したがって、ユーザは、印刷ジョブの実行指示前に、所望の結果が得られる印刷ジョブを確認することができる。
【０１２３】
ユーザによって、当該一覧の中から実行対象とするジョブ名が選択されると、ウィジェット連携部１３５は、選択されたジョブ名に対応する印刷ジョブＵＲＩを指定して、当該印刷ジョブＵＲＩに係るウィジェットマネージャ２２宛に印刷ジョブの取得要求を送信する（Ｓ４０５）。
【０１２４】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されている印刷ジョブＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷ジョブ（印刷データ）を補助記憶装置２０２より取得し、プロバイダアプリ１２２１に返信する（Ｓ４０６）。
【０１２５】
プロバイダアプリ１２２１のウィジェット連携部１３５は、受信された印刷ジョブを機能制御部１３６に入力する。機能制御部１３６は、入力された印刷ジョブを印刷アプリ１２１２に実行させる（Ｓ４０７）。その結果、当該印刷ジョブに係る印刷データに基づく印刷画像が印刷された印刷用紙がプリンタ１３より出力される。
【０１２６】
続いて、ウィジェット選択画面６２０において、スキャンウィジェット２１ｂが選択された場合に実行される処理手順について説明する。
【０１２７】
図１９は、スキャンウィジェット実行時の処理手順を説明するためのシーケンス図である。ここでは、ウィジェット選択画面６２０において、スキャンウィジェット２１ｂに対応するボタンが表示されていることを前提とする。
【０１２８】
ステップＳ３１０（図１３）において、画像形成装置１０に１枚以上の原稿がセットされ、ウィジェット選択画面６２０内のスキャンウィジェット２１ｂに対応するボタンが選択されると、プロバイダアプリ１２２１のウィジェット連携部１３５は、選択されたボタンに対応するウィジェット情報（以下、「カレントウィジェット情報」という。）に含まれている連携機能識別子（「ｓｃａｎ」）に基づいて、スキャンを実行すべきことを認識する。そこで、ウィジェット連携部１３５は、カレントウィジェット情報に関連付けられているウィジェットＵＲＩを指定して、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２宛に、スキャンジョブの設定情報（スキャン設定情報）の取得要求を送信する（Ｓ６０１）。
【０１２９】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されているスキャン設定情報を返信する（Ｓ６０２）。続いて、ウィジェット連携部１３５は、当該スキャン設定情報を指定して、スキャンの実行を機能制御部１３６に要求する。
【０１３０】
機能制御部１３６は、当該スキャン設定情報に基づくスキャンジョブをスキャンアプリ１２１１に実行させる（Ｓ６０３）。スキャンアプリ１２１１は、画像形成装置１０にセットされた原稿に対するスキャンをスキャナ１２に実行させ、その結果得られる画像データ（以下「スキャン画像データ」という。）をウィジェット連携部１３５に出力する。
【０１３１】
ウィジェット連携部１３５は、スキャン画像データを、カレントウィジェット情報に関連付けられているウィジェットＵＲＩ宛に送信する（Ｓ６０４）。当該ウィジェットＵＲＩ宛に送信されたスキャン画像データは、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２の仲介部２２４によって受信される。
【０１３２】
一方、スキャンウィジェット２１ｂは、ウィジェット情報を送信した後、画像形成装置１０において画像データがスキャンされたことを確認するためのポーリングを行い、画像データの転送（返信）を待機している。具体的には、スキャンウィジェット２１ｂの連携部２１３ｂは、ウィジェットＵＲＩを指定して、スキャンされた画像データ（スキャン画像データ）の取得要求をウィジェットマネージャ２２の仲介部２２４に送信する（Ｓ５１１）。仲介部２２４は、当該取得要求に対する応答を行う（Ｓ５１２）。
【０１３３】
仲介部２２４は、スキャン画像データの受信後に受信される、スキャン画像データの取得要求（Ｓ５１１）に応じ、当該取得要求に指定されているウィジェットＵＲＩに関して受信されているスキャン画像データを、スキャンウィジェット２１ｂの連携部２１３ｂに返信する（Ｓ５１２）。
【０１３４】
連携部２１３ｂは、スキャン画像データを受信すると、当該スキャン画像データをロジック部２１４ｂに入力する。ロジック部２１４ｂは、スキャン画像データを処理対象として、自らに実装されている処理（ロジック）を実行する（Ｓ６０５）。具体的には、ロジック部２１４ｂは、属性情報管理ファイル２１５ｂにおいて設定されているフォルダ内にファイルを生成し、当該ファイル内にスキャン画像データを出力する。続いて、連携部２１３ｂは、次のスキャンウィジェット２１ｂの実行に備えて、スキャン画像データ取要求のポーリングを再開し（Ｓ５１１）、スキャン画像データの転送を待機する。
【０１３５】
上述したように、第一の実施の形態によれば、ウィジェット選択画面６２０において表対象とするウィジェット２１を、操作対象とされた画像形成装置１０において有効なウィジェット２１に限定することができる。また、印刷ウィジェット２１ａの印刷ジョブについては、選択可能なジョブを、操作対象とされた画像形成装置１０において有効な印刷ジョブに限定することができる。したがって、ウィジェット２１又は印刷ジョブの実行指示の入力後において、当該ウィジェット２１又は印刷ジョブが要求する機能又は設定情報を画像形成装置１０が満たすことでできないことが判明したり、或いは、当該ウィジェット２１が要求する設定情報がダウングレードされて、ユーザの期待とは異なった処理結果が出力されたりといった不都合を事前に回避することができる。設定情報のダウングレードとは、例えば、モノクロ機において、カラー印刷が要求された場合に、自動的にモノクロ印刷が実行されてしまうといったように、設定情報とは異なる態様で、処理が実行されてしまうことをいう。
【０１３６】
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。
【０１３７】
図２０は、第二の実施の形態における情報処理システムの構成例を示す図である。図２０中、図１と同一部分には同一符号を付し、その説明は省略する。
【０１３８】
同図の情報処理システム２では、機器管理装置３０が更にネットワークに接続されている。機器管理装置３０は、ネットワークに接続されている画像形成装置１０に関する情報の一元的な管理等を行うコンピュータである。
【０１３９】
図２１は、第二の実施の形態におけるプロバイダアプリ及び機器管理装置の機能構成例を示す図である。図２１中、図４と同一部分には同一符号を付し、その説明は省略する。
【０１４０】
同図において、プロバイダアプリ１２２１は、代替機器探索部１３９を更に有する。代替機器探索部１３９は、有効ウィジェット判定部１３４によって当該画像形成装置１０において無効であると判定されたウィジェット２１が要求する機能等を満たすことのできる画像形成装置１０（代替機器）の探索を行う。
【０１４１】
機器管理装置３０は、機器情報収集部３１、機器情報記憶部３２、及び代替機器判定部３３等を有する。これら各部は、機器管理装置３０にインストールされたプログラムが、機器管理装置３０のＣＰＵに実行させる処理によって実現される。
【０１４２】
機器情報収集部３１は、ネットワークに接続されている各画像形成装置１０より、当該画像形成装置１０に関する情報（機器情報）を収集する。本実施の形態において、収集される機器情報には、機器名等、各画像形成装置１０を識別可能な情報の他、各画像形成装置１０の有効機能情報記憶部１３８に記憶されている情報（有効機能情報）が含まれる。機器情報記憶部３２は、機器情報収集部３１によって収集された機器情報を、例えば、機器管理装置３０の補助記憶装置を用いて記憶する。代替機器判定部３３は、代替機器探索部１３８からの問い合わせに応じ、問い合わせ対象とされたウィジェット２１に関する代替機器を判定する。
【０１４３】
なお、第二の実施の形態では、図１３のステップＳ３０９において、ＵＩ制御部１３２は、無効であると判定されたウィジェット２１について、例えば、半輝度とされた（グレーアウトされた）ボタンをウィジェット選択画面６２０に表示させる。当該ボタンは、選択可能とれる。なお、第二の実施の形態において、無効であると判定されたウィジェット２１に対するボタンは、必ずしも半輝度にされなくてもよい。有効であると判定されたウィジェット２１に対するボタンと同様の表示態様であってもよい。
【０１４４】
以上を前提として、第二の実施の形態において特有の処理手順を説明する。図２２は、第二の実施の形態において無効なウィジェットが実行対象として選択された場合の処理手順の一例を説明するためのシーケンス図である。
【０１４５】
同図の初期状態は、図１３のステップＳ３０９の実行直後である。すなわち、ウィジェット選択画面６２０が表示されている状態である。
【０１４６】
ステップＳ７０１において、ウィジェット選択画面６２０に表示されているボタンの中から、半輝度にされているボタン（すなわち、当該画像形成装置１０において無効なウィジェット２１に対応するボタン）がユーザによって選択される。プロバイダアプリ１２２１の代替機器探索部１３９は、当該ボタンに対応するウィジェット情報及び設定情報を指定して、代替機器の検索要求を機器管理装置３０の代替機器判定部３３に送信する（Ｓ７０２）。
【０１４７】
代替機器判定部３３は、代替機器の検索要求の受信に応じ、当該検索要求に指定されているウィジェット情報及び設定情報と、機器情報記憶部３２に記憶されている機器情報の一覧とに基づいて、代替機器の有無を判定する（Ｓ７０３）。なお、当該判定処理の詳細は、図１７より自明であるため、ここでの説明は省略する。
【０１４８】
続いて、代替機器判定部３３は、判定結果を代替機器探索部１３９に返信する（Ｓ７０４）。一以上の代替機器が検索された場合、判定結果には各代替機器の識別情報（機器名等）が含まれる。代替機器が検索されなかった場合、判定結果には、代替機器は無いことを示す情報が含まれる。
【０１４９】
代替機器探索部１３９によって当該判定結果が受信されると、ＵＩ制御部１３２は、当該判定結果に応じた情報を操作パネル１５に表示させる（Ｓ７０５）。代替機器が検索されなかった場合、例えば、選択されたウィジェット２１は実行できないことを示すメッセージが表示される。一方、代替機器が検索された場合、当該代替機器の識別情報と共に、当該代替機器を使用することによって、選択されたウィジェット２１を適切に実行できる旨を示すメッセージが表示される。ユーザは、当該メッセージを参照して、操作対象の画像形成装置１０を変更し、当該画像形成装置１０において図１３以降の操作を実行することにより、所望のウィジェット２１を実行させることができる。すなわち、広告は、各画像形成装置１０において受信されているため、各ウィジェット２１は、いずれからの画像形成装置１０からも操作可能だからである。
【０１５０】
なお、代替機器の探索に、機器管理装置３０が使用されなくてもよい。例えば、ステップＳ７０１に応じて、代替機器探索部１３９は、ブロードキャスト等によって、有効機能情報の提供を各画像形成装置１０に要求する。代替機器探索部１３９は、各画像形成装置１０より返信された有効機能情報と、ステップＳ７０１において選択されたボタンに対応するウィジェット情報及び設定情報とに基づいて代替機器を検索する。このような形態でも、代替機器は適切に検索されうる。
【０１５１】
また、代替機器の探索は、ウィジェット選択画面６２０の表示前（ステップＳ３０９の実行前）に実行されてもよい。この場合、ＵＩ制御部１３２は、ウィジェット選択画面６２０において、無効なウィジェット２１に対応するボタンの上又は当該ボタンに隣接させて、代替機器の識別情報を表示させてもよい。そうすることにより、ユーザは、当該ボタンを選択する手間を省くことができる。すなわち、有効でないと判定されたウィジェット２１に対応するボタンに関連させて表示させる態様は、必ずしも、当該ボタンの選択に応じて表示させる態様でなくてもよい。
【０１５２】
更に、代替機器は、印刷ジョブに関して検索されてもよい。すなわち、図１８のステップＳ４０４のジョブ名の一覧の表示の前又は後に、無効な印刷ジョブに関して、代替機器が検索されてもよい。
【０１５３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１５４】
１            情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          ユーザ端末
２１ａ        印刷ウィジェット
２１ｂ        スキャンウィジェット
２２          ウィジェットマネージャ
２３          文書アプリ
２４          プリンタドライバ
２５          ＯＳ
３０          機器管理装置
３１          機器情報収集部
３２          機器情報記憶部
３３          代替機器判定部
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１２１        標準アプリ
１２２        ＳＤＫアプリ
１２３        ＳＤＫプラットフォーム
１２４        コントロールサービス
１２５        ＯＳ
１３１        ユーザ検知部
１３２        ＵＩ制御部
１３３        ウィジェット情報取得部
１３４        有効ウィジェット判定部
１３５        ウィジェット連携部
１３６        機能制御部
１３７        ユーザ管理テーブル
１３８        有効機能情報記憶部
１３９        代替機器探索部
２００        ドライブ装置
２０１        記録媒体
２０２        補助記憶装置
２０３        メモリ装置
２０４        ＣＰＵ
２０５        インタフェース装置
２０６        表示装置
２０７        入力装置
２１１        ウィジェットＵＩ部
２１２        ウィジェット情報送信部
２１３        連携部
２１４        ロジック部
２１５        属性情報管理ファイル
２２１        広告部
２２２        ウィジェット情報登録部
２２３        ウィジェット情報提供部
２２４        仲介部
１２１１      スキャンアプリ
１２１２      印刷アプリ
１２１３      コピーアプリ
１２１４      ＦＡＸアプリ
１２２１      プロバイダアプリ
【先行技術文献】
【特許文献】
【０１５５】
【特許文献１】特開２０１０−１５７０２７号公報
【図１】
2012129686.tif 000003
【図２】
2012129686.tif 000004
【図３】
2012129686.tif 000005
【図４】
2012129686.tif 000006
【図５】
2012129686.tif 000007
【図６】
2012129686.tif 000008
【図７】
2012129686.tif 000009
【図８】
2012129686.tif 000010
【図９】
2012129686.tif 000011
【図１０】
2012129686.tif 000012
【図１１】
2012129686.tif 000013
【図１２】
2012129686.tif 000014
【図１３】
2012129686.tif 000015
【図１４】
2012129686.tif 000016
【図１５】
2012129686.tif 000017
【図１６】
2012129686.tif 000018
【図１７】
2012129686.tif 000019
【図１８】
2012129686.tif 000020
【図１９】
2012129686.tif 000021
【図２０】
2012129686.tif 000022
【図２１】
2012129686.tif 000023
【図２２】
2012129686.tif 000024