(57)【特許請求の範囲】
【請求項１】
画像形成装置に実行させる機能、及び、該機能を実行するときの実行条件を指定するジョブデータを、ユーザの識別情報と関連付けて記憶手段に登録するコンピュータとネットワークを介して接続する画像形成装置であって、
前記コンピュータより、前記コンピュータに登録されているジョブデータと関連付くユーザの識別情報と、該ジョブデータにより指定される前記機能の識別情報とを含む、当該画像形成装置との機能連携の登録要求を受信する受信手段と、
前記受信手段によって受信されたユーザの識別情報と機能の識別情報とを関連付けて記憶する記憶手段と、
前記記憶手段に記憶されている機能の識別情報のうち、当該画像形成装置が有している機能に対応する機能の識別情報に関連付けられているユーザの識別情報を特定する特定手段と、
前記記憶手段に記憶されているユーザの識別情報のうち、前記特定手段によって特定されたユーザの識別情報に対応する選択肢を、前記特定手段によって特定されないユーザの識別情報に対応する選択肢に優先させて前記機能連携の対象を選択させる画面を表示手段に表示させる表示制御手段とを有する画像形成装置。
【請求項２】
前記表示制御手段は、前記特定手段によって特定されたユーザの識別情報に対応する選択肢のみを選択可能として前記画面を前記表示手段に表示させる請求項１記載の画像形成装置。
【請求項３】
前記コンピュータより、前記ユーザの識別情報と前記機能の識別情報とを含む、当該画像形成装置との機能連携の登録の解除要求を受信する第二の受信手段と、
前記第二の受信手段によって受信されたユーザの識別情報と機能の識別情報とを前記記憶手段より削除する削除手段とを有する請求項１又は２記載の画像形成装置。
【請求項４】
画像形成装置に実行させる機能、及び、該機能を実行するときの実行条件を指定するジョブデータを、ユーザの識別情報と関連付けて記憶手段に登録するコンピュータとネットワークを介して接続する画像形成装置に、
前記コンピュータより、前記コンピュータに登録されているジョブデータと関連付くユーザの識別情報と、該ジョブデータにより指定される前記機能の識別情報とを含む、当該画像形成装置との機能連携の登録要求を受信する受信手順と、
前記受信手順において受信されたユーザの識別情報と機能の識別情報とを関連付けて記憶手段に記憶する記憶手順と、
前記記憶手段に記憶されている機能の識別情報のうち、当該画像形成装置が有している機能に対応する機能の識別情報に関連付けられているユーザの識別情報を特定する特定手順と、
前記記憶手段に記憶されているユーザの識別情報のうち、前記特定手順において特定されたユーザの識別情報に対応する選択肢を、前記特定手順において特定されないユーザの識別情報に対応する選択肢に優先させて前記機能連携の対象を選択させる画面を表示手段に表示させる表示制御手順とを実行させるプログラム。
【請求項５】
前記表示制御手順は、前記特定手順において特定されたユーザの識別情報に対応する選択肢のみを選択可能として前記画面を前記表示手段に表示させる請求項４記載のプログラム。
【請求項６】
前記コンピュータより、前記ユーザの識別情報と前記機能の識別情報とを含む、当該画像形成装置との機能連携の登録の解除要求を受信する第二の受信手順と、
前記第二の受信手順において受信されたユーザの識別情報と機能の識別情報とを前記記憶手段より削除する削除手段とを前記画像形成装置に実行させる請求項４又は５記載のプログラム。
【請求項７】
画像形成装置に実行させる機能、及び、該機能を実行するときの実行条件を指定するジョブデータを、ユーザの識別情報と関連付けて記憶手段に登録するコンピュータとネットワークを介して接続する画像形成装置が、
前記コンピュータより、前記コンピュータに登録されているジョブデータと関連付くユーザの識別情報と、該ジョブデータにより指定される前記機能の識別情報とを含む、当該画像形成装置との機能連携の登録要求を受信する受信手順と、
前記受信手順において受信されたユーザの識別情報と機能の識別情報とを関連付けて記憶手段に記憶する記憶手順と、
前記記憶手段に記憶されている機能の識別情報のうち、当該画像形成装置が有している機能に対応する機能の識別情報に関連付けられているユーザの識別情報を特定する特定手順と、
前記記憶手段に記憶されているユーザの識別情報のうち、前記特定手順において特定されたユーザの識別情報に対応する選択肢を、前記特定手順において特定されないユーザの識別情報に対応する選択肢に優先させて前記機能連携の対象を選択させる画面を表示手段に表示させる表示制御手順とを実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、プログラム、及び情報処理方法に関する。
【背景技術】
【０００２】
特許文献１には、画像形成装置とネットワークを介して接続されるＰＣ（Personal Computer）等にインストールされ、当該画像形成装置と連携した処理フローを当該ＰＣに実行させるプログラム（特許文献１において「ネットアプリ」と呼ばれるプログラム）が記載されている。
【０００３】
特許文献１では、当該プログラムの起動に応じて、当該プログラムを起動させたユーザの存在がネットワーク上に広告される。画像形成装置は、当該広告を受信し、当該プログラムをＰＣにおいて起動させているユーザの一覧を管理する。画像形成装置は、ユーザからの所定の指示入力に応じて、当該ユーザの一覧を操作パネルに表示させる。ユーザは、当該一覧の中から、自らに対応する選択肢を選択することで、自らのＰＣにおいて起動させているプログラムを利用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
数十人のユーザが存在するオフィス等においては、上記ユーザの一覧に数十の選択肢が表示されうる。ＷＶＧＡ（Wide Video Graphics Array）サイズのように解像度の高い液晶パネルを備える画像形成装置であれば、数十の選択肢を、比較的高い操作性を維持して表示させることができる。しかし、例えば、４行パネルのように、解像度の低い液晶パネルを備える画像形成装置では、数十の選択肢の中から一つを選択するためには何度も画面のスクロールが必要とされる等、操作性が著しく劣化するという問題が有った。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、連携対象の選択の操作負担を軽減することのできる画像形成装置、プログラム、及び情報処理方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、画像形成装置であって、ネットワークを介して接続されるコンピュータより、該コンピュータが利用する当該画像形成装置の機能の識別情報を含む、当該画像形成装置との機能連携の要求を受信する受信手段と、前記通知ごとに、前記識別情報に係る機能を当該画像形成装置が有しているか否かを判定し、当該画像形成装置が有している機能に係る前記通知に対応する選択肢を優先させて、前記機能連携の対象を選択させる画面を表示手段に表示させる表示制御手段とを有する。
【０００７】
このような画像形成装置では、連携対象の選択の操作負担を軽減することができる。
【発明の効果】
【０００８】
本発明によれば、連携対象の選択の操作負担を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。
【図４】ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【図５】第一の実施の形態におけるウィジェットマネージャの起動時の処理手順を説明するためのシーケンス図である。
【図６】ユーザ管理テーブルの構成例を示す図である。
【図７】第一の実施の形態におけるウィジェットの起動時等の処理手順を説明するためのシーケンス図である。
【図８】印刷ウィジェットのウィジェット情報の例を示す図である。
【図９】連携機能識別子ごとのカウンタの例を示す図である。
【図１０】連携機能識別子が登録されたユーザ管理テーブルの例を示す図である。
【図１１】スキャンウィジェットのウィジェット情報の例を示す図である。
【図１２】第一の実施の形態における印刷ウィジェットによる印刷ジョブの投入処理の処理手順を説明するためのシーケンス図である。
【図１３】第一の実施の形態におけるスキャンウィジェットによるスキャンジョブの設定情報の登録処理の処理手順を説明するためのシーケンス図である。
【図１４】第一の実施の形態における実行可能なウィジェットの一覧の表示処理の処理手順を説明するためのシーケンス図である。
【図１５】第一の実施の形態におけるウィジェットの起動状態を示す図である。
【図１６】第一の実施の形態におけるユーザ選択画面の表示例を示す図である。
【図１７】印刷ウィジェットの実行時の処理手順を説明するためのシーケンス図である。
【図１８】スキャンウィジェット実行時の処理手順を説明するためのシーケンス図である。
【図１９】第二の実施の形態において連携機能広告が発行されるタイミングを説明するためのシーケンス図である。
【図２０】第二の実施の形態において連携機能解除広告が発行されるタイミングを説明するためのシーケンス図である。
【図２１】第二の実施の形態におけるウィジェットの起動状態を示す図である。
【図２２】第二の実施の形態におけるユーザ選択画面の表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム１において、一台以上の画像形成装置１０と、一台以上のユーザ端末２０とは、ＬＡＮ（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）データ）を生成する。印刷ウィジェット２１ａに対応する論理プリンタが印刷先として指定された場合、プリンタドライバ２４は、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する（Ｓ２０３）。
【００８２】
一方、印刷ウィジェット２１ａのロジック部２１４ａは、印刷ウィジェット２１ａの起動後、所定のファイル名の中間ファイルが生成されるのを待機している。具体的には、印刷ウィジェット２１ａは、中間ファイルの有無を確認するため所定のフォルダ内の所定のファイル名のファイルをポーリングしている。印刷ウィジェット２１ａは、中間ファイルが生成されたことを検知すると、当該中間ファイルより印刷データを読み込む（Ｓ２０４）。
【００８３】
続いて、連携部２１３ａは、例えば、属性情報管理ファイル２１５ａに記録されている印刷設定情報と、ポーリングにより取得された印刷データとを含む印刷ジョブの登録要求をウィジェットマネージャ２２に送信する（Ｓ２０５）。なお、印刷ジョブの登録要求には、印刷ウィジェット２１ａに対するウィジェットＵＲＩも指定される。
【００８４】
ステップＳ２０５において印刷ウィジェット２１ａの連携部２１３ａより送信された印刷ジョブの登録要求は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、当該登録要求に係る印刷ジョブを識別するためのＵＲＩ（印刷ジョブＵＲＩ）を、受信された登録要求に指定されているウィジェットＵＲＩに基づいて生成し、当該印刷ジョブを、生成された印刷ジョブＵＲＩに関連付けて、補助記憶装置２０２に記録する（Ｓ２０６）。印刷ジョブＵＲＩは、ウィジェットＵＲＩの末尾に対して、印刷ジョブごとの識別子が付与されることにより生成される。ウィジェット情報登録部２２２は、生成された印刷ジョブＵＲＩを、印刷ウィジェット２１ａの連携部２１３ａに返信する（Ｓ２１０）。
【００８５】
その後、印刷ウィジェット２１ａは、ウィジェット情報の登録後、中間ファイルのポーリングを再開する。したがって、更に、文書ファイルのアイコンが印刷ウィジェット２１ａのアイコンにドロップされると、当該文書ファイルに係る印刷ジョブが、ウィジェットマネージャ２２に登録される。すなわち、一つのウィジェットマネージャ２２には、一つの印刷ウィジェット２１ａに関して複数の印刷ジョブが蓄積されうる。この場合、ウィジェットマネージャ２２では、一つのウィジェットＵＲＩに基づいて複数の印刷ジョブＵＲＩが生成され、各印刷ジョブＵＲＩに関連付けられて、印刷ジョブが記憶される。
【００８６】
続いて、スキャンウィジェット２２ｂによるスキャンジョブの設定情報（解像度、カラーモード等）の登録処理について説明する。当該登録処理は、印刷ウィジェット２１ａによる印刷ジョブの投入処理に対応する。但し、スキャンジョブは、画像形成装置１０において投入される。スキャンジョブの投入には、画像形成装置１０において原稿がセットされる必要があるからである。したがって、スキャンウィジェット２２ｂによっては、スキャンジョブ自体は投入されず、スキャンジョブに対する設定情報がウィジェットマネージャ２２に登録されるのである。
【００８７】
図１３は、第一の実施の形態におけるスキャンウィジェットによるスキャンジョブの設定情報の登録処理の処理手順を説明するためのシーケンス図である。
【００８８】
例えば、スキャンウィジェット２１ｂのウィジェットＵＩ部２１１ｂが表示装置２０６に表示させている、スキャンウィジェット２１ｂのアイコンに対して所定の操作（例えば、ダブルクリック等）が行われると、ウィジェットＵＩ部２１１ｂは、スキャンジョブに対する設定情報を設定されるための画面（以下、「スキャン設定画面」という。）を表示装置２０６に表示させる（Ｓ２５１）。なお、スキャン設定画面は、属性情報管理ファイル２１５ｂに記録されている、設定情報の既定値が設定された状態で表示されてもよい。
【００８９】
スキャン設定画面において、設定情報が設定され、設定完了の指示が入力されると、スキャンウィジェット２１ｂのロジック部２１４ｂは、設定情報の登録要求をウィジェットマネージャ２２に送信する（Ｓ２５２）。当該登録要求には、スキャンウィジェット２１ｂに対するウィジェットＵＲＩも指定される。
【００９０】
ステップＳ２５２においてスキャンウィジェット２１ｂのロジック部２１４ｂより送信された設定情報の登録要求は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、受信された登録要求に指定されているウィジェットＵＲＩに関連付けて、登録対象の設定情報を、例えば、補助記憶装置２０２に記録する（Ｓ２５３）。これにより、ウィジェットマネージャ２２に対して、スキャンジョブの設定情報が登録されたことになる。
【００９１】
ユーザは、印刷ウィジェット２１ａを介して印刷ジョブをウィジェットマネージャ２２に投入した後、又はスキャンウィジェット２２ｂを介してスキャンジョブの設定情報をウィジェットマネージャ２２に登録した後、印刷ジョブ又はスキャンジョブを実行させるために画像形成装置１０の設置場所へ移動する。なお、複数の画像形成装置１０がネットワークに接続されている場合、同一のユーザ広告及び連携機能広告等が各画像形成装置１０によって受信され、それぞれの画像形成装置１０のユーザ管理テーブル１３７に各広告の内容が登録されている。したがって、ユーザは、印刷機能又はスキャン機能を備えた画像形成装置１０であれば、複数の画像形成装置１０のいずれからも印刷ジョブ又はスキャンジョブを実行させることができる。
【００９２】
続いて、画像形成装置１０におけるユーザによる操作に応じて実行される処理について説明する。図１４は、第一の実施の形態における実行可能なウィジェットの一覧の表示処理の処理手順を説明するためのシーケンス図である。
【００９３】
操作対象とされた画像形成装置１０の操作パネル１５を介してプロバイダアプリ１２２１の利用指示がユーザによって入力されると（Ｓ３０１）、プロバイダアプリ１２２１のＵＩ制御部１３３は、ユーザ管理テーブル１３７に登録されている各レコードの連携機能識別子と、当該画像形成装置１０が備える機能の識別子の一覧との比較に基づいて、当該画像形成装置１０を利用可能なユーザを判定する（Ｓ３０２）。当該画像形成装置１０が備える機能の識別子（以下、「機器対応機能識別子」という。）の一覧は、例えば、ＨＤＤ１１４に予め記録されている。同一機能に関する機器対応識別子と連携機能識別子との値は同一であってもよいし、異なっていてもよい。異なっている場合、機能ごとに、機器対応識別子と連携機能識別子との対応情報がＨＤＤ１１４に記録されていればよい。ここでは、同一機能に関して機器対応機能識別子と連携機能識別子との値は同一であるとする。したがって、当該画像形成装置１０の機器対応識別子の一覧に「ｐｒｉｎｔ」のみが含まれている場合、ユーザ管理テーブル１３７の連携機能識別子に少なくとも「ｐｒｉｎｔ」が登録されているユーザが、当該画像形成装置１０を利用可能なユーザであると判定される。換言すれば、連携機能識別子に「ｓｃａｎ」のみが登録されているユーザは、当該画像形成装置１０を利用可能なユーザから除外される。
【００９４】
例えば、ステップＳ３０２が実行されるタイミングにおいて、情報処理システム１におけるウィジェットの起動状態は、図１５に示される通りであるとする。
【００９５】
図１５は、第一の実施の形態におけるウィジェットの起動状態を示す図である。同図には、ユーザＡが利用するユーザ端末２０ａにおいて、一つのスキャンウィジェット２１ｂが起動されていることが示されている。また、ユーザＢが利用するユーザ端末２０ｂにおいて、一つのスキャンウィジェット２１ｂが起動されていることが示されている。また、ユーザＹが利用するユーザ端末２０ｙにおいて、一つの印刷ウィジェット２１ａが起動されていることが示されている。また、ユーザＺが利用するユーザ端末２０ｚにおいて、一つの印刷ウィジェット２１ａが起動されていることが示されている。
【００９６】
この場合、画像形成装置１０のユーザ管理テーブル１３７の連携機能識別子には、ユーザＡ及びユーザＢに関して「ｓｃａｎ」が登録されており、ユーザＹ及びユーザＺに関して「ｐｒｉｎｔ」が登録されている。画像形成装置１０の機器対応機能識別子が「ｐｒｉｎｔ」であるとすると、ユーザＹ及びユーザＺが、画像形成装置１０を利用可能なユーザであると判定される。
【００９７】
続いて、ＵＩ制御部１３３は、当該画像形成装置１０を利用可能であると判定されたユーザに係るレコードをユーザ管理テーブル１３７より抽出する（Ｓ３０３）。続いて、ＵＩ制御部１３３は、抽出されたレレコードに係るユーザを選択肢とする、ユーザ選択画面を生成し、当該ユーザ選択画面を操作パネル１５に表示させる（Ｓ３０４）。ユーザ選択画面は、画像形成装置１０との機能連携の対象（ユーザ端末２０）を選択させるための画面の一例である。
【００９８】
図１６は、第一の実施の形態におけるユーザ選択画面の表示例を示す図である。同図には、操作パネル１５の構成要素として、液晶パネル１５１及び操作ボタン１５２が示されている。液晶パネル１５１には、ユーザ選択画面が表示されている。同図では、図１５に示される状態に対応した表示例が示されている。したがって、ユーザＹ及びユーザＺが選択肢とされている。一方、ユーザＡ及びＢ等は、選択肢に含まれていない。当該画像形成装置１０は、スキャン機能を有しておらず、ユーザＡ及びＢを表示させたとしても、ユーザ選択画面の表示内容を煩雑化するだけだからである。換言すれば、選択肢が、当該画像形成装置１０を利用可能なユーザに限定されることで、ユーザ選択画面の表示内容を簡素化することができる。その結果、ユーザは、自らに対応する選択肢を容易に見つけ出すことができる。
【００９９】
なお、操作ボタン１５２は、液晶パネル１５１の表示内容のスクロール又は切り替え等の指示入力を受け付けるためのボタンである。
【０１００】
続いて、ユーザは、ユーザ選択画面において自らに対応する選択肢（行）を選択する（Ｓ３０５）。選択に応じ、ウィジェット情報取得部１３４は、選択された選択肢に対応するユーザＩＤに関連付けられているウィジェットマネージャＵＲＩをユーザ管理テーブル１３７より取得する。
【０１０１】
続いて、ウィジェット情報取得部１３４は、取得されたウィジェットマネージャＵＲＩ宛に、ウィジェット情報の取得要求を送信する（Ｓ３０６）。ウィジェット情報の取得要求は、選択されたユーザＩＤに係るユーザのユーザ端末２０におけるウィジェットマネージャ２２のウィジェット情報提供部２２４によって受信される。ウィジェット情報提供部２２４は、補助記憶装置２０２に記録されているウィジェット情報の一覧を取得し、当該一覧をプロバイダアプリ１２２１に返信する（Ｓ３０７）。なお、各ウィジェット情報は、当該ウィジェット情報に係るウィジェットに対して割り当てられたウィジェットＵＲＩが付与された状態で、プロバイダアプリ１２２１に転送される。
【０１０２】
続いて、プロバイダアプリ１２２１のＵＩ制御部１３３は、受信されたウィジェット情報等の一覧をＲＡＭ１１２に記録しておき、当該ウィジェット情報の一覧に基づいて、ユーザに利用可能なウィジェット２１の一覧を含む画面（ウィジェット選択画面）を操作パネル１５に表示させる（Ｓ３０８）。
【０１０３】
例えば、図１６のユーザ選択画面において、ユーザＹが選択された場合、印刷ウィジェット２１ａの表示名「印刷」を選択肢として含むウィジェット選択画面が、操作パネル１５の液晶パネル１５１に表示される。
【０１０４】
一方、画像形成装置１０が、スキャン機能を有する場合、ユーザ選択画面には、図１５におけるユーザＡ及びユーザＢ等が選択肢として表示される。ユーザＡ又はユーザＢが選択された場合、ユーザ端末２０ａ又は２０ｂより、スキャンウィジェット２１ｂのウィジェット情報及びウィジェットＵＲＩがウィジェット情報取得部１３４によって取得され、当該ウィジェット情報に係るウィジェットを選択肢とした含むウィジェット画面が、液晶パネル１５１に表示される。
【０１０５】
以降の処理は、ウィジェット選択画面において選択されるウィジェット２１の種別（印刷ウィジェット２１ａ又はスキャンウィジェット２１ｂ）に応じて異なる。したがって、それぞれが選択された場合について、個別に説明する。
【０１０６】
図１７は、印刷ウィジェットの実行時の処理手順を説明するためのシーケンス図である。すなわち、図１７は、ウィジェット選択画面において、印刷ウィジェット２１ａが選択された場合に実行される処理手順である。
【０１０７】
ウィジェット連携部１３５は、ウィジェット選択画面において選択された選択肢に係るウィジェット情報に含まれている連携機能識別子（「ｐｒｉｎｔ」）に基づいて、印刷ジョブを実行すべきことを判断する。そこで、ウィジェット連携部１３５は、当該ウィジェット情報に関連付けられているウィジェットＵＲＩを指定して、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２宛に印刷ジョブ一覧の取得要求を送信する（Ｓ４０１）。
【０１０８】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２５によって受信される。仲介部２２５は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷ジョブごとに、印刷ジョブＵＲＩ及びジョブ名を含む印刷ジョブ一覧を生成し、当該印刷ジョブ一覧を返信する（Ｓ４０２）。ジョブ名は、例えば、印刷ジョブにおいて印刷対象とされている文書ファイル名である。
【０１０９】
プロバイダアプリ１２２１のウィジェット連携部１３５は、印刷ジョブ一覧を受信すると、印刷ジョブ一覧に含まれているジョブ名の一覧を操作パネル１５に表示させる（Ｓ４０３）。ユーザによって、当該一覧の中から実行対象とするジョブ名が選択されると、ウィジェット連携部１３５は、選択されたジョブ名に対応する印刷ジョブＵＲＩを指定して、当該印刷ジョブＵＲＩに係るウィジェットマネージャ２２宛に印刷ジョブの取得要求を送信する（Ｓ４０４）。
【０１１０】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２５によって受信される。仲介部２２５は、当該取得要求に指定されている印刷ジョブＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷ジョブ（印刷データ）を補助記憶装置２０２より取得し、プロバイダアプリ１２２１に返信する（Ｓ４０５）。
【０１１１】
プロバイダアプリ１２２１のウィジェット連携部１３５は、受信された印刷ジョブを機能制御部１３６に入力する。機能制御部１３６は、入力された印刷ジョブを印刷アプリ１２１２に実行させる（Ｓ４０６）。その結果、当該印刷ジョブに係る印刷データに基づく印刷画像が印刷された印刷用紙がプリンタ１３より出力される。
【０１１２】
続いて、ウィジェット選択画面において、スキャンウィジェット２１ｂが選択された場合に実行される処理手順について説明する。
【０１１３】
図１８は、スキャンウィジェット実行時の処理手順を説明するためのシーケンス図である。
【０１１４】
画像形成装置１０に１枚以上の原稿がセットされ、ウィジェット選択画面において、スキャンウィジェット２１ｂに対応する選択肢が選択されると、プロバイダアプリ１２２１のウィジェット連携部１３５は、選択された選択肢に対応するウィジェット情報（以下、「カレントウィジェット情報」という。）に含まれている連携機能識別子（「ｓｃａｎ」）に基づいて、スキャンを実行すべきことを認識する。そこで、ウィジェット連携部１３５は、カレントウィジェット情報に関連付けられているウィジェットＵＲＩを指定して、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２宛に、スキャンジョブの設定情報の取得要求を送信する（Ｓ６０１）。
【０１１５】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２５によって受信される。仲介部２２５は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されている設定情報を返信する（Ｓ６０２）。続いて、ウィジェット連携部１３５は、当該設定情報を指定して、スキャンの実行を機能制御部１３６に要求する。
【０１１６】
機能制御部１３６は、当該設定情報に基づくスキャンジョブをスキャンアプリ１２１１に実行させる（Ｓ６０３）。スキャンアプリ１２１１は、画像形成装置１０にセットされた原稿に対するスキャンをスキャナ１２に実行させ、その結果得られる画像データ（以下「スキャン画像データ」という。）をウィジェット連携部１３５に出力する。
【０１１７】
ウィジェット連携部１３５は、スキャン画像データを、カレントウィジェット情報に関連付けられているウィジェットＵＲＩ宛に送信する（Ｓ６０４）。当該ウィジェットＵＲＩ宛に送信されたスキャン画像データは、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２の仲介部２２５によって受信される。
【０１１８】
一方、スキャンウィジェット２１ｂは、ウィジェット情報を送信した後、画像形成装置１０において画像データがスキャンされたことを確認するためのポーリングを行い、画像データの転送（返信）を待機している。具体的には、スキャンウィジェット２１ｂの連携部２１３ｂは、ウィジェットＵＲＩを指定して、スキャンされた画像データ（スキャン画像データ）の取得要求をウィジェットマネージャ２２の仲介部２２５に送信する（Ｓ５１１）。仲介部２２５は、当該取得要求に対する応答を行う（Ｓ５１２）。
【０１１９】
仲介部２２５は、スキャン画像データの受信後に受信される、スキャン画像データの取得要求（Ｓ５１１）に応じ、当該取得要求に指定されているウィジェットＵＲＩに関して受信されているスキャン画像データを、スキャンウィジェット２１ｂの連携部２１３ｂに返信する（Ｓ５１２）。
【０１２０】
連携部２１３ｂは、スキャン画像データを受信すると、当該スキャン画像データをロジック部２１４ｂに入力する。ロジック部２１４ｂは、スキャン画像データを処理対象として、自らに実装されている処理（ロジック）を実行する（Ｓ６０５）。具体的には、ロジック部２１４ｂは、属性情報管理ファイル２１５ｂにおいて設定されているフォルダ内にファイルを生成し、当該ファイル内にスキャン画像データを出力する。続いて、連携部２１３ｂは、次のスキャンウィジェット２１ｂの実行に備えて、スキャン画像データ取要求のポーリングを再開し（Ｓ５１１）、スキャン画像データの転送を待機する。
【０１２１】
上述したように、第一の実施の形態によれば、画像形成装置１０は、当該画像形成装置１０が有している機能を利用するユーザ（ユーザ端末２０）に対応する選択肢を優先させて、ユーザ選択画面を表示させる。具体的には、ユーザ選択画面における選択肢は、画像形成装置１０が有している機能を利用するユーザ（ユーザ端末２０）に限定される。換言すれば、画像形成装置１０が有していない機能を利用するユーザ（ユーザ端末２０）は選択肢から排除される。したがって、利便性を損なうことなく当該選択肢の数を削減することができる。その結果、液晶パネル１５１が、４行パネルのように該像度の低いパネルである場合でも、操作性の劣化を抑制することができる。
【０１２２】
なお、画像形成装置１０を利用可能と判定されたユーザ（ユーザ端末２０）に対応する選択肢の優先の形態は、画像形成装置１０を利用可能でないと判定されたユーザに対応する選択肢を非表示とすることでなくてもよい。例えば、優先対象の選択肢の表示順が相対的に下位とされたり、非優先対象がグレーアウト（選択不可状態）されたりしてもよい。非優先対象の選択肢が非表示とされないことにより、ユーザ広告自体は、正常に画像形成装置１０において受信されていることを確認することができる。
【０１２３】
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でよい。
【０１２４】
第二の実施の形態では、印刷ウィジェット２１ａに関して、連携機能広告及び連携機能解除広告が発行されるタイミングが第一の実施の形態と異なる。すなわち、第二の実施の形態では、印刷ウィジェット２１ａの起動時に連携機能広告は発行されない。また、印刷ウィジェット２１ａの終了時に連携機能解除広告は発行されない。具体的には、図７のステップＳ１１３及びＳ１１４、並びにステップＳ１２３及びＳ１２４は実行されない。また、ステップＳ１１２又はＳ１２２において、カウンタの加算又は減算は行われない。
【０１２５】
図１９は、第二の実施の形態において連携機能広告が発行されるタイミングを説明するためのシーケンス図である。同図は、図１２のステップＳ２０５〜Ｓ２１０を抽出したものである。図１９中、図１２と同一ステップには、同一符号を付し、その説明は適宜省略する。
【０１２６】
ステップＳ２０６において印刷ジョブが登録された後、ウィジェットマネージャ２２の連携機能広告部２２３は、登録された印刷ジョブに係るウィジェットＵＲＩに関連付けられているウィジェット情報に含まれる連携機能識別子に対応するカウンタ（図９参照）に１を加算する（Ｓ２０７）。ここでは、「ｐｒｉｎｔ」に対するカウンタに１が加算される。
【０１２７】
１の加算により、カウンタの値が０から１に変わった場合、すなわち、印刷ジョブが一つも登録されていない状態から、一つ登録された状態となった場合、ウィジェットマネージャ２２の連携機能広告部２２３は、ログインユーザのユーザＩＤと、当該カウンタに係る連携機能識別子とを含む、連携機能広告をネットワーク上に送信する（Ｓ２０８）。
【０１２８】
各画像形成装置１０のプロバイダアプリ１２２１の連携機能検知部１３２は、連携機能広告を受信すると、ユーザ管理テーブル１３７において、当該連携機能広告に含まれているユーザＩＤに対応するレコードに、当該連携機能広告に含まれている連携機能識別子を登録する（Ｓ２０９）。
【０１２９】
続いて、図２０は、第二の実施の形態において連携機能解除広告が発行されるタイミングを説明するためのシーケンス図である。同図の前提として、ウィジェットマネージャ２２に登録された印刷ジョブは、その実行に応じて必ずしもウィジェットマネージャ２２からは削除されない。すなわち、図１７のステップＳ４０５において、プロバイダアプリ１２２１に転送された印刷ジョブは、ウィジェットマネージャ２２に登録されたままとなる。このことは、同一の印刷ジョブを、同一の又は異なる画像形成装置１０において複数回実行可能であることを意味する。このような印刷ジョブは、印刷ウィジェット２１ａに対する指示によって、登録解除することができる。
【０１３０】
例えば、ユーザ端末２０において、印刷ウィジェット２１ａのアイコンが右クリックされると、印刷ウィジェット２１ａのウィジェットＵＩ部２１１ａは、コンテキストメニューを表示させる。当該コンテキストメニューの中から、「印刷ジョブ一覧表示」のメニュー項目が選択されると、ウィジェットＵＩ部２１１ａは、印刷ウィジェット２１ａのウィジェットＵＲＩを指定して、印刷ジョブ一覧の取得要求をウィジェットマネージャ２２に送信する（Ｓ７０１）。
【０１３１】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２５によって受信される。ウィジェットマネージャ２２の仲介部２２５は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷ジョブごとに、印刷ジョブＵＲＩ及びジョブ名を含む印刷ジョブ一覧を生成し、当該印刷ジョブ一覧を返信する（Ｓ７０２）。
【０１３２】
印刷ウィジェット２１ａのウィジェットＵＩ部２１１ａは、印刷ジョブ一覧を受信すると、印刷ジョブ一覧に含まれているジョブ名の一覧を含む印刷ジョブ一覧画面を表示装置２０６に表示させる（Ｓ７０３）。ユーザによって、当該一覧の中から登録解除対象とするジョブ名が選択され、登録解除指示が入力されると、ウィジェットＵＩ部２１１ａは、選択されたジョブ名に対応する印刷ジョブＵＲＩを指定して、印刷ジョブの登録解除要求をウィジェットマネージャ２２に送信する（Ｓ７０４）。
【０１３３】
当該登録解除得要求は、当該ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、当該登録解除要求に指定されている印刷ウィジェットＵＲＩに係る印刷ジョブを削除する（Ｓ７０５）。
【０１３４】
続いて、連携機能広告部２２３は、印刷ウィジェット２１ｂのウィジェットＵＲＩに関連付けられているウィジェット情報に含まれている連携機能識別子「ｐｒｉｎｔ」のカウンタから１を減算する（Ｓ７０６）。
【０１３５】
減算対象とされたカウンタの値が０となった場合、すなわち、ユーザ端末２０において、印刷ジョブが一つも登録されていない状態となった場合、連携機能広告部２２３は、連携機能解除広告をネットワーク上に送信（ブロードキャスト又はマルチキャスト）する（Ｓ７０７）。
【０１３６】
各画像形成装置１０のプロバイダアプリ１２２１の連携機能検知部１３２は、連携機能解除広告を受信すると、ユーザ管理テーブル１３７において、当該連携機能解除広告に含まれているユーザＩＤに対応するレコードより、当該連携機能解除広告に含まれている連携機能識別子を削除する（Ｓ７０８）。
【０１３７】
上述したように、第二の実施の形態では、印刷ウィジェット２１ａの起動の湯無ではなく、印刷ジョブの登録の有無に基づいて、連携機能広告又は連携機能解除広告が発行される。その結果、第一の実施の形態よりも、画像形成装置１０を利用可能なユーザを限定することができる。例えば、第二の実施の形態において、ユーザ選択画面が表示されるタイミング（厳密には、図１４のステップＳ３０２のタイミング）において、情報処理システム１におけるウィジェットの起動状態は、図２１に示される通りであるとする。
【０１３８】
図２１は、第二の実施の形態におけるウィジェットの起動状態を示す図である。同図に関しては、図１５と異なる点について説明する。
【０１３９】
図２１では、印刷ウィジェット２１ｂに関して、印刷ジョブの登録の有無が明確化されている。すなわち、ユーザ端末２０ｙにおいては、印刷ジョブは登録されていない。一方、ユーザ端末２０ｚにおいては、一つの印刷ジョブが登録されている。
【０１４０】
この場合、画像形成装置１０のユーザ管理テーブル１３７の連携機能識別子には、ユーザＡ及びユーザＢに関して「ｓｃａｎ」が登録されており、ユーザＺに関して「ｐｒｉｎｔ」が登録されている。一方、ユーザＹに関しては、連携機能識別子は登録されていない。
【０１４１】
図２１に示されるような状態において、画像形成装置１０が、印刷機能を有し、スキャン機能を有さない場合、図１４のステップＳ３０４において、ユーザ選択画面は、例えば、図２２に示されるように表示される。
【０１４２】
図２２は、第二の実施の形態におけるユーザ選択画面の表示例を示す図である。同図のユーザ選択画面には、ユーザＺのみが選択肢とされており、印刷ウィジェット２１ａを起動させているユーザＹは選択肢に含まれていない。ユーザＹに関しては、印刷ジョブは登録されていないからである。印刷ジョブが登録されていなければ、画像形成装置１０に印刷ジョブを実行させることはできない。したがって、第二の実施の形態では、より厳密に、画像形成装置１０を利用可能なユーザが限定される。その結果、ユーザ選択画面における選択肢の数を更に削減することができる。
【０１４３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１４４】
１            情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          ユーザ端末
２１ａ        印刷ウィジェット
２１ｂ        スキャンウィジェット
２２          ウィジェットマネージャ
２３          文書アプリ
２４          プリンタドライバ
２５          ＯＳ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１２１        標準アプリ
１２２        ＳＤＫアプリ
１２３        ＳＤＫプラットフォーム
１２４        コントロールサービス
１２５        ＯＳ
１３１        ユーザ検知部
１３２        連携機能検知部
１３３        ＵＩ制御部
１３４        ウィジェット情報取得部
１３５        ウィジェット連携部
１３６        機能制御部
１３７        ユーザ管理テーブル
２００        ドライブ装置
２０１        記録媒体
２０２        補助記憶装置
２０３        メモリ装置
２０４        ＣＰＵ
２０５        インタフェース装置
２０６        表示装置
２０７        入力装置
２１１        ウィジェットＵＩ部
２１２        ウィジェット情報送信部
２１３        連携部
２１４        ロジック部
２１５        属性情報管理ファイル
２２１        ユーザ広告部
２２２        ウィジェット情報登録部
２２３        連携機能広告部
２２４        ウィジェット情報提供部
２２５        仲介部
１２１１      スキャンアプリ
１２１２      印刷アプリ
１２１３      コピーアプリ
１２１４      ＦＡＸアプリ
１２２１      プロバイダアプリ
【先行技術文献】
【特許文献】
【０１４５】
【特許文献１】特開２０１０−１５７０２７号公報
【図１】
0005696437.tif 000002
【図２】
0005696437.tif 000003
【図３】
0005696437.tif 000004
【図４】
0005696437.tif 000005
【図５】
0005696437.tif 000006
【図６】
0005696437.tif 000007
【図７】
0005696437.tif 000008
【図８】
0005696437.tif 000009
【図９】
0005696437.tif 000010
【図１０】
0005696437.tif 000011
【図１１】
0005696437.tif 000012
【図１２】
0005696437.tif 000013
【図１３】
0005696437.tif 000014
【図１４】
0005696437.tif 000015
【図１５】
0005696437.tif 000016
【図１６】
0005696437.tif 000017
【図１７】
0005696437.tif 000018
【図１８】
0005696437.tif 000019
【図１９】
0005696437.tif 000020
【図２０】
0005696437.tif 000021
【図２１】
0005696437.tif 000022
【図２２】
0005696437.tif 000023