(57)【特許請求の範囲】
【請求項１】
画像形成装置と、前記画像形成装置にネットワークを介して接続されるコンピュータに処理を実行させるプログラムとを有する印刷システムであって、
前記プログラムは、
電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手順と、
前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手順と、
前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手順と、
前記第二の印刷データを前記画像形成装置に送信する第二の送信手順とを前記コンピュータに実行させ、
前記画像形成装置は、
前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得手段と、
前記第一の印刷データに基づく印刷を実行させる印刷制御手段と、
当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記コンピュータに送信して、前記第二の印刷データを受信する第二の取得手段とを有し、
前記印刷制御手段は、前記第二の印刷データに基づく印刷を実行させる印刷システム。
【請求項２】
前記第一のプリンタドライバは、前記画像形成装置の複数の機種に対応した印刷データを生成する請求項１記載の印刷システム。
【請求項３】
前記識別情報は、前記画像形成装置の機種名である請求項１又は２記載の印刷システム。
【請求項４】
画像形成装置と、前記画像形成装置にネットワークを介して接続されるコンピュータに処理を実行させるプログラムとを有する印刷システムであって、
前記プログラムは、
電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録手順と、
前記画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信手順と、
前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合に、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成手順と、
前記印刷データを前記画像形成装置に送信する第二の送信手順とを前記コンピュータに実行させ、
前記画像形成装置は、
前記記憶手段に記録されている前記識別名を取得する第一の取得手段と、
当該画像形成装置に対応したプリンタドライバの前記識別情報と前記識別名とを前記コンピュータに送信して、前記印刷データを受信する第二の取得手段と、
印刷データに基づく印刷を実行させる印刷制御手段とを有する印刷システム。
【請求項５】
電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手順と、
ネットワークを介して接続される画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手順と、
前記画像形成装置が前記第一の印刷データを印刷できない場合に、前記画像形成装置に対応するプリンタドライバの識別情報を受信する受信手順と、
前記受信手順において受信された前記識別情報に応じ、前記識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手順と、
前記第二の印刷データを前記画像形成装置に送信する第二の送信手順とをコンピュータに実行させるプログラム。
【請求項６】
電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録手順と、
ネットワークを介して接続される画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信手順と、
前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合に、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成手順と、
前記印刷データを前記画像形成装置に送信する第二の送信手順とをコンピュータに実行させるプログラム。
【請求項７】
ネットワークを介して接続される端末と画像形成装置とを有する印刷システムであって、
前記端末は、
電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手段と、
前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手段と、
前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手段と、
前記第二の印刷データを前記画像形成装置に送信する第二の送信手段とを有し、
前記画像形成装置は、
前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得手段と、
前記第一の印刷データに基づく印刷を実行させる印刷制御手段と、
当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記端末に送信して、前記第二の印刷データを受信する第二の取得手段とを有し、
前記印刷制御手段は、前記第二の印刷データに基づく印刷を実行させる印刷システム。
【請求項８】
ネットワークを介して接続される端末と画像形成装置とを有する印刷システムであって、
前記端末は、
電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録手段と、
前記画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信手段と、
前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合に、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成手段と、
前記印刷データを前記画像形成装置に送信する第二の送信手段とを有し、
前記画像形成装置は、
前記記憶手段に記録されている前記識別名を取得する第一の取得手段と、
当該画像形成装置に対応したプリンタドライバの前記識別情報と前記識別名とを前記端末に送信して、前記印刷データを受信する第二の取得手段と、
印刷データに基づく印刷を実行させる印刷制御手段とを有する印刷システム。
【請求項９】
ネットワークを介して接続される端末と画像形成装置とを有する印刷システムにおける印刷方法であって、
前記端末が、
電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成ステップと、
前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信ステップと、
前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成ステップと、
前記第二の印刷データを前記画像形成装置に送信する第二の送信ステップとを実行し、
前記画像形成装置が、
前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得ステップと、
前記第一の印刷データに基づく印刷を実行させる印刷制御ステップと、
当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記端末に送信して、前記第二の印刷データを受信する第二の取得ステップとを実行し、
前記印刷制御ステップは、前記第二の印刷データに基づく印刷を実行する印刷方法。
【請求項１０】
ネットワークを介して接続される端末と画像形成装置とを有する印刷システムにおける印刷方法であって、
前記端末が、
電子データの印刷指示に応じ、前記電子データの識別名を記憶手段に記録する記録ステップと、
前記画像形成装置からの要求に応じ、前記識別名を前記画像形成装置に送信する第一の送信ステップと、
前記画像形成装置に対応するプリンタドライバの識別情報及び前記識別名の受信に応じ、該識別情報に係るプリンタドライバが存在する場合に、該識別情報に係るプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させ、該識別情報に係るプリンタドライバが存在しない場合に、該識別情報に係るプリンタドライバとは別のプリンタドライバに前記識別名に係る電子データに関する印刷データを生成させる生成ステップと、
前記印刷データを前記画像形成装置に送信する第二の送信ステップとを実行し、
前記画像形成装置が、
前記記憶手段に記録されている前記識別名を取得する第一の取得ステップと、
当該画像形成装置に対応したプリンタドライバの前記識別情報と前記識別名とを前記端末に送信して、前記印刷データを受信する第二の取得ステップと、
印刷データに基づく印刷を実行させる印刷制御ステップとを実行する印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム及びプログラムに関する。
【背景技術】
【０００２】
従来、クライアントＰＣと画像形成装置との間に位置し、クライアントＰＣより送信される印刷ジョブを蓄積しておき、画像形成装置からの要求に応じて蓄積されている印刷ジョブを画像形成装置に転送するという印刷サーバが存在する（例えば、特許文献１）。このような印刷サーバを含む印刷システムにおいて、ユーザは、まず、クライアントＰＣにおいて印刷指示を入力する。クライアントＰＣは、印刷指示に応じた印刷ジョブを印刷サーバに送信する。印刷サーバは、印刷ジョブを直ちに画像形成装置には転送せず、ＨＤＤ（Hard Disk Drive）等の記憶装置に蓄積しておく。その後、ユーザは、画像形成装置を操作して、蓄積されている印刷ジョブの印刷を指示する。画像形成装置は、当該指示に応じて印刷サーバより印刷ジョブを取得し、印刷を行う。
【０００３】
このような印刷システムによれば、ユーザは、印刷指示後において、出力先の画像形成装置を選択することができる。
【０００４】
但し、各画像形成装置の機種等が異なる場合、クライアントＰＣでは汎用的なプリンタドライバが利用される必要がある。汎用的なプリンタドライバとは、特定の機種に特化した印刷データを生成するプリンタドライバではなく、複数機種の画像形成装置が解釈可能な汎用性の高い印刷データを生成するプリンタドライバをいう。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、汎用的なプリンタドライバであっても、全ての機種の画像形成装置に対応可能であるとは限らない。仮に、ユーザが、汎用性の高い印刷データを解釈できない画像形成装置を操作して、印刷サーバに蓄積されている印刷ジョブを出力させようとした場合、当該画像形成装置では、出力を実行することはできない。そうすると、ユーザは、他の画像形成装置に移動して操作を行うか、又はクライアントＰＣに戻り、出力に失敗した画像形成装置に特化したプリンタドライバを利用して印刷指示をし直さなければならない。また、出張先等の遠隔地において、汎用性の高い印刷データを解釈可能な画像形成装置が無い場合、ユーザは、期待していた文書を入手できないことになってしまう。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、クライアントにおける印刷指示時に出力先が限定されない場合の利便性を向上させることのできる印刷システム及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、本発明は、画像形成装置と、前記画像形成装置にネットワークを介して接続されるコンピュータに処理を実行させるプログラムとを有する印刷システムであって、前記プログラムは、電子データの印刷指示に応じ、第一のプリンタドライバに第一の印刷データを生成させ、前記第一の印刷データを記憶手段に記録する第一の生成手順と、前記画像形成装置からの印刷データの取得要求に応じ、前記第一の印刷データを前記画像形成装置に送信する第一の送信手順と、前記画像形成装置に対応するプリンタドライバの識別情報の受信に応じ、該識別情報に係るプリンタドライバに第二の印刷データを生成させる第二の生成手順と、前記第二の印刷データを前記画像形成装置に送信する第二の送信手順とを前記コンピュータに実行させ、前記画像形成装置は、前記記憶手段に記録されている前記第一の印刷データを取得する第一の取得手段と、前記第一の印刷データに基づく印刷を実行させる印刷制御手段と、当該画像形成装置が前記第一の印刷データを印刷できない場合に、当該画像形成装置に対応したプリンタドライバの前記識別情報を前記コンピュータに送信して、前記第二の印刷データを受信する第二の取得手段とを有し、前記印刷制御手段は、前記第二の印刷データに基づく印刷を実行させる。
【０００８】
このような印刷システムでは、クライアントにおける印刷指示時に出力先が限定されない場合の利便性を向上させることができる。
【発明の効果】
【０００９】
本発明によれば、クライアントにおける印刷指示時に出力先が限定されない場合の利便性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。
【図４】ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【図５】ウィジェットマネージャ及び印刷ウィジェットの起動時の処理手順を説明するためのシーケンス図である。
【図６】ユーザ管理テーブルの構成例を示す図である。
【図７】印刷ウィジェットのウィジェット情報の例を示す図である。
【図８】スキャンウィジェットのウィジェット情報の例を示す図である。
【図９】第一の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。
【図１０】第一の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。
【図１１】ユーザ選択画面の表示例を示す図である。
【図１２】ウィジェット選択画面の表示例を示す図である。
【図１３】第一の実施の形態において出力先の画像形成装置が共通プリンタドライバに対応していない場合に実行される処理手順を説明するためのシーケンス図である。
【図１４】第二の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。
【図１５】第二の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム１において、一台以上の画像形成装置１０と、一台以上のユーザ端末２０とは、ＬＡＮ（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）データ）を生成する。共通プリンタドライバ２４ａは、当該論理プリンタに対して出力先として設定されている所定のファイル名の中間ファイルを生成し、当該中間ファイルに印刷データを出力する（Ｓ２０４）。
【００７２】
一方、印刷出力監視部２５は、所定のファイル名の中間ファイルが生成されるのを監視している（Ｓ２０５）。具体的には、印刷出力監視部２５は、中間ファイルの有無を確認するため所定のフォルダ内の所定のファイル名のファイルをポーリングしている。印刷出力監視部２５は、中間ファイルが生成されたことを検知すると、当該中間ファイルより印刷データを読み込む（Ｓ２０６）。印刷出力監視部２５は、当該印刷データを印刷ウィジェット２１ａに入力する（Ｓ２０７）。
【００７３】
続いて、印刷ウィジェット２１ａの連携部２１３ａは、当該印刷データに係る印刷ジョブの登録要求をウィジェットマネージャ２２に送信する（Ｓ２０８）。なお、印刷ジョブの登録要求には、印刷ウィジェット２１ａに対するウィジェットＵＲＩも指定される。
【００７４】
ステップＳ２０８において印刷ウィジェット２１ａの連携部２１３ａより送信された印刷ジョブの登録要求は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、当該登録要求に係る印刷ジョブを識別するためのＵＲＩ（印刷ジョブＵＲＩ）を、受信された登録要求に指定されているウィジェットＵＲＩに基づいて生成し、当該印刷ジョブを、生成された印刷ジョブＵＲＩに関連付けて、補助記憶装置２０２に記録する（Ｓ２０９）。印刷ジョブＵＲＩは、ウィジェットＵＲＩの末尾に対して、印刷ジョブごとの識別子が付与されることにより生成される。ウィジェット情報登録部２２２は、生成された印刷ジョブＵＲＩを、印刷ウィジェット２１ａの連携部２１３ａに返信する（Ｓ２１０）。
【００７５】
その後、更に、文書ファイルのアイコンが印刷ウィジェット２１ａのアイコンにドロップされると、当該文書ファイルに係る印刷ジョブが、ウィジェットマネージャ２２に登録される。すなわち、一つのウィジェットマネージャ２２には、一つの印刷ウィジェット２１ａに関して複数の印刷ジョブが蓄積されうる。この場合、ウィジェットマネージャ２２では、一つのウィジェットＵＲＩに基づいて複数の印刷ジョブＵＲＩが生成され、各印刷ジョブＵＲＩに関連付けられて、印刷ジョブが記憶される。
【００７６】
ユーザは、印刷ウィジェット２１ａを介して印刷ジョブをウィジェットマネージャ２２に登録した後、印刷ジョブを実行させるために画像形成装置１０の設置場所へ移動する。なお、複数の画像形成装置１０がネットワークに接続されている場合、同一のユーザ広告が各画像形成装置１０によって受信され、それぞれの画像形成装置１０のユーザ管理テーブル１３６にユーザ広告の内容が登録されている。したがって、ユーザは、印刷機能を備えた画像形成装置１０であれば、複数の画像形成装置１０のいずれからも印刷ジョブを実行させることができる。
【００７７】
続いて、画像形成装置１０におけるユーザによる操作に応じて実行される処理について説明する。図１０は、第一の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。
【００７８】
操作対象（すなわち、出力先）とされた画像形成装置１０の操作パネル１５を介してプロバイダアプリ１２２１が利用対象としてユーザによって選択されると（Ｓ３０１）、プロバイダアプリ１２２１のＵＩ制御部１３２は、ユーザ管理テーブル１３６に登録されている情報に基づいてユーザ選択画面を操作パネル１５に表示させる（Ｓ３０２）。
【００７９】
図１１は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面６１０には、ユーザＩＤごとにボタンが表示されている。同図では、ユーザＡに対応するボタン６１１とユーザＢに対応するボタン６１２とが表示されている。
【００８０】
続いて、ユーザは、ユーザ選択画面６１０において自らのユーザＩＤに対応するボタンを押下する（Ｓ３０３）。ボタンの押下に応じ、ウィジェット情報取得部１３３は、選択されたボタンに対応するユーザＩＤに関連付けられているウィジェットマネージャＵＲＩをユーザ管理テーブル１３６より取得する。
【００８１】
続いて、ウィジェット情報取得部１３３は、取得されたウィジェットマネージャＵＲＩに係るウィジェットマネージャ２２宛に、ウィジェット情報の一覧（ウィジェットリスト）の取得要求を送信する（Ｓ３０４）。ウィジェットリストの取得要求は、当該ウィジェットマネージャ２２のウィジェット情報提供部２２３によって受信される。ウィジェット情報提供部２２３は、補助記憶装置２０２に記録されているウィジェット情報の一覧を取得し、当該一覧（すなわち、ウィジェットリスト）をプロバイダアプリ１２２１に返信する（Ｓ３０５）。なお、各ウィジェット情報は、当該ウィジェット情報に係るウィジェットに対して割り当てられたウィジェットＵＲＩが付与された状態でウィジェットリストに含められて、プロバイダアプリ１２２１に転送される。
【００８２】
続いて、プロバイダアプリ１２２１のＵＩ制御部１３２は、受信されたウィジェットリストをＲＡＭ１１２に記録しておき、当該ウィジェットリストに基づいて、ユーザに利用可能なウィジェット２１の一覧を含む画面（ウィジェット選択画面）を操作パネル１５に表示させる（Ｓ３０６）。
【００８３】
図１２は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面６２０には、印刷ウィジェット２１ａに対応するボタン６２１とスキャンウィジェット２１ｂに対応するボタン６２２とが表示されている。すなわち、同図は、印刷ウィジェット２１ａのウィジェット情報と、スキャンウィジェット２１ｂのウィジェット情報とを含むウィジェットリストがステップＳ３０５において受信された場合のウィジェット選択画面６２０の表示例である。
【００８４】
ウィジェット選択画面６２０においてボタン６２１が押下されると（Ｓ３０７）、ウィジェット連携部１３４は、選択されたボタン６２１に係るウィジェット情報に含まれている連携機能識別子（「ｐｒｉｎｔ」）に基づいて、印刷ジョブを実行すべきことを判断する。そこで、ウィジェット連携部１３４は、当該ウィジェット情報に関連付けられているウィジェットＵＲＩを指定して、当該ウィジェットＵＲＩに係るウィジェットマネージャ２２宛に印刷ジョブの一覧情報（ジョブリスト）の取得要求を送信する（Ｓ３０８）。
【００８５】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されているウィジェットＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷ジョブごとに、印刷ジョブＵＲＩ及びジョブ名を含むジョブリストを生成し、当該ジョブリストを返信する（Ｓ３０９）。ジョブ名は、例えば、印刷ジョブにおいて印刷対象とされている文書ファイル名である。
【００８６】
プロバイダアプリ１２２１のウィジェット連携部１３４は、ジョブリストを受信すると、ジョブリストに含まれているジョブ名の一覧を操作パネル１５に表示させる（Ｓ３１０）。ユーザによって、当該一覧の中から実行対象とするジョブ名が選択されると（Ｓ３１１）、ウィジェット連携部１３４は、選択されたジョブ名に対応する印刷ジョブＵＲＩを指定して、当該印刷ジョブＵＲＩに係るウィジェットマネージャ２２宛に当該印刷ジョブに係る印刷データの取得要求を送信する（Ｓ３１２）。
【００８７】
当該取得要求は、当該ウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されている印刷ジョブＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷データ（印刷ジョブ）を補助記憶装置２０２より取得し、プロバイダアプリ１２２１に返信する（Ｓ３１３）。
【００８８】
プロバイダアプリ１２２１のウィジェット連携部１３４は、受信された印刷データを機能制御部１３５に入力する。機能制御部１３５は、入力された印刷データをＳＤＫプラットフォーム１２３を介して印刷アプリ１２１２に入力する（Ｓ３１４、Ｓ３１５）。印刷アプリ１２１２は、印刷データに基づいてプリンタ１３を制御し、当該印刷データの印刷をプリンタ１３に実行させる（Ｓ３１６）。当該画像形成装置１０の印刷アプリ１２１２又は印刷アプリ１２１２が利用する下位のプログラムモジュール（例えば、コントロールサービス１２４に含まれるプログラムモジュール）等が、共通プリンタドライバ２４ａによって生成される印刷データを処理可能な場合、印刷処理は成功する。
【００８９】
一方、当該画像形成装置１０の印刷アプリ１２１２又は印刷アプリ１２１２が利用する下位のプログラムモジュール等が、共通プリンタドライバ２４ａによって生成される印刷データに対応していない場合、印刷処理は失敗する。この場合に実行される処理手順について説明する。
【００９０】
図１３は、第一の実施の形態において出力先の画像形成装置が共通プリンタドライバに対応していない場合に実行される処理手順を説明するためのシーケンス図である。
【００９１】
図１０のステップＳ３１６において、印刷アプリ１２１２によって実行される印刷処理が失敗した場合、当該失敗を示すエラー情報は、ＳＤＫプラットフォーム１２３を介してプロバイダアプリ１２２１に通知される（Ｓ４０１、Ｓ４０２）。当該エラーの内容が、印刷データが対応不能（処理不能）な形式であることを示す場合（すなわち、当該画像形成装置１０が共通プリンタドライバ２４ａに対応していない場合）、プロバイダアプリ１２２１は、図１０のステップＳ３１１において選択されたジョブ名に対応する印刷ジョブＵＲＩを指定して、当該印刷ジョブＵＲＩに係るウィジェットマネージャ２２宛に当該印刷ジョブに係る印刷データの取得要求を改めて送信する（Ｓ４０３）。但し、ステップＳ４０３における印刷データの取得要求には、当該画像形成装置１０の機種名（モデル名）が付与される。機種名は、例えば、画像形成装置１０のＲＯＭ１１３又はＨＤＤ１１４等より取得される。
【００９２】
なお、画像形成装置１０が共通プリンタドライバ２４ａに対応しているか否かは、プロバイダアプリ１２２１によって判定されてもよい。例えば、各画像形成装置１０のＨＤＤ１１４には、共通プリンタドライバ２４ａに対応している機種名の一覧が記憶されていてもよい。プロバイダアプリ１２２１の機能制御部１３５は、図１０のステップＳ３１４において、ＳＤＫプラットフォーム１２３を介して、印刷アプリ１２１２に印刷データを入力する前に、当該印刷データを生成したプリンタドライバ２４を判定する。印刷データの生成元のプリンタドライバ２４は、印刷データのヘッダ情報等を参照することにより判定可能である。機能制御部１３５は、当該印刷データの生成元が共通プリンタドライバ２４である場合、当該画像形成装置１０が共通プリンタドライバ２４に対応しているか否かを、当該画像形成装置１０の機種名と、共通プリンタドライバ２４ａに対応している機種名の一覧とを照合して判定する。すなわち、当該画像形成装置１０の機種名が、当該一覧に含まれていれば、当該画像形成装置１０は共通プリンタドライバ２４ａに対応していると判定される。一方、当該画像形成装置１０の機種名が、当該一覧に含まれていなければ、当該画像形成装置１０は共通プリンタドライバ２４ａに対応していないと判定される。
【００９３】
機能制御部１３５によって、当該画像形成装置１０は、共通プリンタドライバ２４ａに対応していないと判定された場合、プロバイダアプリ１２２１は、ステップＳ４０３を実行する。したがって、この場合、図１０のステップＳ３１４〜Ｓ３１６は実行されることなく、ステップＳ４０３が実行されうる。
【００９４】
ステップＳ４０３において送信された印刷データの取得要求は、当該取得要求宛のウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に機種名が指定されていることに応じ、当該取得要求に指定されている印刷ジョブＵＲＩに関連付けられている印刷ジョブの文書ファイル名を指定して、印刷データの生成要求を当該印刷ジョブＵＲＩに係る印刷ウィジェット２１ａに送信する（Ｓ４０４）。当該生成要求には、印刷データの取得要求に指定されていた機種名が指定される。
【００９５】
すなわち、仲介部２２４は、プロバイダアプリ１２２１からの印刷データの取得要求に関して、機種名が指定されていない場合は、図１０のステップＳ３１３のように、当該取得要求に指定されている印刷ジョブＵＲＩに関連付けられて補助記憶装置２０２に記録されている印刷データをプロバイダアプリに返信する。一方、機種名が指定されている場合は、新たな印刷データの生成を当該印刷ジョブＵＲＩに係る印刷ウィジェット２１ａに要求する。
【００９６】
印刷ウィジェットのロジック部２１４ａは、印刷データの生成要求に応じ、当該生成要求に指定されている機種名に対応する固有プリンタドライバ２４ｂを判定する（Ｓ４０５）。通常、各固有プリンタドライバ２４ｂが対応する機種名を示す情報は、各固有プリンタドライバ２４ｂに関連付けられている。本実施の形態では、各固有プリンタドライバ２４ｂの名前には、対応する機種名が含まれている。したがって、ロジック部２１４ａは、当該生成要求に指定されている機種名を名前に含む固有プリンタドライバ２４ｂを、当該機種名に対応するプリンタドライバ２４ｂであると判定する。但し、各固有プリンタドライバ２４ｂと機種名との対応情報は、別の形態で管理されていてもよい。
【００９７】
続いて、ロジック部２１４ａは、印刷データの生成処理を起動させる（Ｓ４０６）。ステップＳ４０６における印刷データの生成処理の内容は、図９のステップＳ２０１〜Ｓ２０７において説明した処理手順に相当する。但し、ステップＳ２０１に相当するステップおいて、ロジック部２１４ａは、ステップＳ４０５において判定された固有プリンタドライバ２４ｂに対応し、印刷ウィジェット２１ａ用に設定された論理プリンタ名を指定する。したがって、ステップＳ４０６における印刷データの生成処理では、当該固有プリンタドライバ２４ｂによって印刷データが生成される。
【００９８】
続いて、印刷ウィジェット２１ａの連携部２１３ａは、生成された印刷データを、ステップＳ４０４においける印刷データの生成要求に対する応答として、ウィジェットマネージャ２２に送信する（Ｓ４０７）。続いて、ウィジェットマネージャ２２の仲介部２２４は、受信された印刷データを、ステップＳ４０３の印刷データの取得要求に対する応答として、プロバイダアプリ１２２１に送信する（Ｓ４０８）。
【００９９】
続く、ステップＳ４０９〜Ｓ４１１では、ステップＳ４０８に応じてプロバイダアプリ１２２１によって受信された印刷データに関して、図１０のステップＳ３１４〜Ｓ３１６と同様の処理が実行される。但し、ステップＳ４０８に応じて受信された印刷データは、当該画像形成装置１０の機種に対応した固有プリンタドライバ２４ｂによって生成されたものである。したがって、ステップＳ４１１においては、当該画像形成装置１０に異常等が発生していなければ、成功する可能性が高い。
【０１００】
なお、ステップＳ４０５において、機種名に対応する固有プリンタドライバ２４ｂがユーザ端末２０にインストールされていなかった場合、ステップＳ４０６は実行されない。また、ステップＳ４０７及びＳ４０８では、印刷データの代わりにエラー情報が転送される。プロバイダアプリ１２２１のＵＩ制御部１３２は、エラー情報を操作パネル１５に表示させる。
【０１０１】
上述したように、第一の実施の形態によれば、共通プリンタドライバ２４ａによって生成され、ウィジェットマネージャ２２に登録されている印刷データ（印刷ジョブ）について、共通プリンタドライバ２４ａに対応していない画像形成装置１０が出力先とされた場合であっても、自動的に、当該画像形成装置１０の機種名に対応した固有プリンタドライバ２４ｂによって印刷データが再生成される。したがって、ウィジェットマネージャ２２に登録されている印刷データに関する印刷について、当初出力先として選択した画像形成装置１０において出力が成功する可能性を高めることができる。
【０１０２】
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でよい。
【０１０３】
第二の実施の形態では、図９の処理が、例えば、図１４に示される処理に置き換わる。
【０１０４】
図１４は、第二の実施の形態における印刷ウィジェットによる印刷ジョブの登録処理の処理手順を説明するためのシーケンス図である。
【０１０５】
例えば、印刷ウィジェット２１ａのアイコンに対して印刷対象の文書ファイルのアイコンがドラッグアンドドロップされると、印刷ウィジェット２１ａの連携部２１３ａは、ドロップされた文書ファイルのファイル名と、印刷ウィジェット２１ａのウィジェットＵＲＩとを指定して、印刷ジョブの登録要求をウィジェットマネージャ２２に送信する（Ｓ４５１）。
【０１０６】
印刷ウィジェット２１ａの連携部２１３ａより送信された印刷ジョブの登録要求は、ウィジェットマネージャ２２のウィジェット情報登録部２２２によって受信される。ウィジェット情報登録部２２２は、当該登録要求に係る印刷ジョブに対する印刷ジョブＵＲＩを、受信された登録要求に指定されているウィジェットＵＲＩに基づいて生成し、当該印刷ジョブを、生成された印刷ジョブＵＲＩに関連付けて、補助記憶装置２０２に記録する（Ｓ４５２）。ウィジェット情報登録部２２２は、生成された印刷ジョブＵＲＩを、印刷ウィジェット２１ａの連携部２１３ａに返信する（Ｓ４５３）。
【０１０７】
ここで、ウィジェットマネージャ２２に登録された印刷ジョブの内容は、文書ファイル名であり、印刷データではない。すなわち、第二の実施の形態では、いわば、実体は空である印刷ジョブが、ウィジェットマネージャ２２に登録される。
【０１０８】
また、第二の実施の形態では、図１０のステップＳ３１２以降の処理手順が、例えば、図１５に示される処理手順に置き換わる。
【０１０９】
図１５は、第二の実施の形態における印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。同図の処理手順は、図１０のステップＳ３０１〜Ｓ３１１の処理に続いて実行される。
【０１１０】
ステップＳ５０１において、プロバイダアプリ１２２１のウィジェット連携部１３４は、ジョブ名の一覧の中から選択されたジョブ名に対応する印刷ジョブＵＲＩを指定して、当該印刷ジョブＵＲＩに係るウィジェットマネージャ２２宛に当該印刷ジョブに係る印刷データの取得要求を送信する（Ｓ５０１）。当該取得要求には、当該画像形成装置１０の機種名が指定される。
【０１１１】
当該取得要求は、当該取得要求宛のウィジェットマネージャ２２の仲介部２２４によって受信される。仲介部２２４は、当該取得要求に指定されている印刷ジョブＵＲＩに関連付けられている印刷ジョブの文書ファイル名と、当該取得要求に指定されている機種名とを指定して、当該印刷ジョブＵＲＩに係る印刷ウィジェット２１ａに印刷データの生成要求を送信する（Ｓ５０２）。
【０１１２】
印刷ウィジェット２１ａのロジック部２１４ａは、印刷データの生成要求に応じ、当該生成要求に指定されている機種名に対応する固有プリンタドライバ２４ｂを判定する（Ｓ５０３）。当該ステップの処理内容は、図１３のステップＳ４０５の処理内容と同様である。但し、当該機種名に対応する固有プリンタドライバ２４ｂが存在しない場合、共有プリンタドライバ２４ａが利用対象として判定されてもよい。出力先の画像形成装置１０は、共有プリンタドライバ２４ａに対応している可能性も有るからである。
【０１１３】
続いて、ロジック部２１４ａは、印刷データの生成要求に指定されている文書ファイル名に対応する文書アプリ２３に対して印刷指示を入力する（Ｓ５０４）。当該印刷指示では、印刷先の論理プリンタ名として、ステップＳ５０３において判定されたプリンタドライバ２４に対応し、印刷ウィジェット２１ａ用に設定された論理プリンタ名が指定される。
【０１１４】
続くステップＳ５０５〜Ｓ５１０では、図９のステップＳ２０２からＳ２０７と同様の処理が実行される。但し、利用されるプリンタドライバ２４は、必ずしも、共通プリンタドライバ２４ａであるとは限らない。出力先の画像形成装置１０の機種名に対応する固有プリンタドライバ２４ｂが、ステップＳ５０３において優先的に選択されているからである。
【０１１５】
続いて、ステップＳ５１１〜Ｓ５１５は、図１３のステップＳ４０７〜Ｓ４１１と同様の処理手順である。上記したように、出力対象の印刷データは、当該画像形成装置１０に対応した形式である可能性が高い。したがって、ステップＳ５１５においては、印刷処理が成功する可能性が高い。
【０１１６】
上述したように、第二の実施の形態では、印刷ジョブの登録時には、印刷データは生成されず、出力先の画像形成装置１０が決定された後に、当該画像形成装置１０の機種に対応したプリンタドライバ２４によって印刷データが生成される。したがって、当初出力先として選択した画像形成装置１０において出力が成功する可能性を高めることができる。
【０１１７】
なお、上記各実施の形態では、出力先の画像形成装置１０に対応した固有プリンタドライバ２４ｂを判定するために、画像形成装置１０の機種名が用いられる例について説明した。しかし、画像形成装置１０に対応した固有プリンタドライバ２４ｂを識別可能な情報であれば、機種名以外の情報が用いられてもよい。例えば、固有プリンタドライバ２４ｂの名前が機種名の代わりに用いられてもよい。
【０１１８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１１９】
１            情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          ユーザ端末
２１ａ        印刷ウィジェット
２１ｂ        スキャンウィジェット
２２          ウィジェットマネージャ
２３          文書アプリ
２４ａ        共通プリンタドライバ
２４ｂ        固有プリンタドライバ
２５          印刷出力監視部
２６          ＯＳ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１２１        標準アプリ
１２２        ＳＤＫアプリ
１２３        ＳＤＫプラットフォーム
１２４        コントロールサービス
１２５        ＯＳ
１３１        ユーザ検知部
１３２        ＵＩ制御部
１３３        ウィジェット情報取得部
１３４        ウィジェット連携部
１３５        機能制御部
１３６        ユーザ管理テーブル
２００        ドライブ装置
２０１        記録媒体
２０２        補助記憶装置
２０３        メモリ装置
２０４        ＣＰＵ
２０５        インタフェース装置
２０６        表示装置
２０７        入力装置
２１１        ウィジェットＵＩ部
２１２        ウィジェット情報送信部
２１３        連携部
２１４        ロジック部
２１５        属性情報管理ファイル
２２１        ユーザ広告部
２２２        ウィジェット情報登録部
２２３        ウィジェット情報提供部
２２４        仲介部
１２１１      スキャンアプリ
１２１２      印刷アプリ
１２１３      コピーアプリ
１２１４      ＦＡＸアプリ
１２２１      プロバイダアプリ
【先行技術文献】
【特許文献】
【０１２０】
【特許文献１】特開２００７−２００２８４号公報
【図１】
0005728896.tif 000002
【図２】
0005728896.tif 000003
【図３】
0005728896.tif 000004
【図４】
0005728896.tif 000005
【図５】
0005728896.tif 000006
【図６】
0005728896.tif 000007
【図７】
0005728896.tif 000008
【図８】
0005728896.tif 000009
【図９】
0005728896.tif 000010
【図１０】
0005728896.tif 000011
【図１１】
0005728896.tif 000012
【図１２】
0005728896.tif 000013
【図１３】
0005728896.tif 000014
【図１４】
0005728896.tif 000015
【図１５】
0005728896.tif 000016