(57)【特許請求の範囲】
【請求項１】
画像出力装置と、前記画像出力装置を印刷ジョブの送信先として管理するサーバ装置と、ネットワークを介して、前記サーバ装置に対して印刷ジョブを投入し、前記画像出力装置に対して、前記サーバ装置から前記印刷ジョブを受信して実行する印刷処理を指示する情報処理装置とを備える印刷システムであって、
前記情報処理装置は、
前記サーバ装置に対して前記印刷ジョブを投入するジョブ投入手段と、
前記印刷処理を実行する画像出力装置である実行装置と、前記実行装置を管理しているサーバ装置が管理する画像出力装置のうち前記実行装置に代行して前記印刷処理を実行する画像出力装置である代行装置とを選択する選択手段と、
前記印刷処理の実行を指示する情報であって、少なくとも前記選択した実行装置と代行装置に関する情報を含む印刷指示情報を前記ネットワーク上に同報する同報手段を備え、
前記画像出力装置は、
前記印刷指示情報を受信する指示受信手段と、
前記受信された印刷指示情報が含む前記実行装置と代行装置に関する情報に基づいて、前記画像出力装置が前記実行装置または前記代行装置のいずれであるかを判断する第１の判断手段と、
前記第１の判断手段が前記画像出力装置が前記実行装置であると判断した場合に、前記印刷指示情報が含む前記代行装置に関する情報に基づいて、該代行装置から装置状態を取得する取得手段と、
前記画像出力装置の装置状態と、前記取得された前記代行装置の装置状態とに基づいて、前記画像出力装置が前記実行装置として前記印刷指示情報が指示する印刷処理を実行するか、または前記代行装置に該印刷処理の代行を依頼するかを判断する第２の判断手段と、
前記第２の判断手段が前記代行装置に前記印刷処理の代行を依頼すると判断した場合に、該代行装置に対して該印刷処理の代行を依頼するメッセージを前記ネットワーク上に同報する代行依頼手段と、
前記第２の判断手段が前記画像出力装置が前記実行装置として前記印刷処理を実行すると判断した場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行するジョブ実行手段と、
前記第１の判断手段が前記画像出力装置が前記代行装置であると判断した場合に、前記ネットワーク上に同報されるメッセージを監視して受信するメッセージ受信手段とを備え、
前記ジョブ実行手段は、さらに、前記第１の判断手段が前記画像出力装置が前記代行装置であると判断し、かつ、前記メッセージ受信手段が受信したメッセージが前記印刷処理の代行を依頼するメッセージである場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行する
ことを特徴とする印刷システム。
【請求項２】
前記第２の判断手段は、前記画像出力装置の装置状態が印刷可能状態である場合、または該画像出力装置の状態が印刷可能状態でなく、かつ前記代行装置が印刷可能状態でない場合に、該画像出力装置が前記実行装置として前記印刷処理を実行すると判断する
ことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記第２の判断手段は、
前記画像出力装置の状態が印刷可能状態でなく、かつ前記代行装置が印刷可能状態である場合に、前記画像出力装置が前記印刷処理を実行した場合の第１の印刷処理時間と、前記代行装置が前記印刷処理を実行した場合の第２の印刷処理時間とを算出し、
前記第１の印刷処理時間が前記第２の印刷処理時間より短い場合に、前記画像出力装置が前記実行装置として前記印刷処理を実行すると判断し、
前記第１の印刷処理時間が前記第２の印刷処理時間より長い場合に、前記代行装置に該印刷処理の代行を依頼すると判断する
ことを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記印刷指示情報が含む前記実行装置と代行装置に関する情報が、該実行装置の印刷処理速度と、該代行装置の印刷処理速度と、印刷ジョブの量とを含み、
前記第２の判断手段は、
前記画像出力装置の状態が印刷可能状態でなく、かつ前記代行装置が印刷可能状態である場合に、前記サーバ装置から前記印刷指示情報が指示する印刷処理に対応する印刷ジョブの取得可能時間を取得し、
少なくとも、前記実行装置の印刷処理速度と、前記印刷ジョブの量と、前記印刷ジョブの取得可能時間とに基づいて、前記第１の印刷処理時間を算出し、
少なくとも、前記代行装置の印刷処理速度と、前記印刷ジョブの量と、前記印刷ジョブの取得可能時間とに基づいて、前記第２の印刷処理時間を算出する
ことを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記第２の判断手段が、さらに、
前記画像出力装置の状態が印刷可能状態でなく、かつ前記代行装置が印刷可能状態である場合に、該画像出力装置の復旧時間を算出できるかを判断し、
前記画像出力装置の復旧時間を算出できないと判断した場合に、前記代行装置に該印刷処理の代行を依頼すると判断し、
前記画像出力装置の復旧時間を算出できると判断した場合に、該復旧時間と、前記実行装置の印刷処理速度と、前記印刷ジョブの量と、前記印刷ジョブの取得可能時間とに基づいて、前記第１の印刷処理時間を算出する
ことを特徴とする請求項４に記載の印刷システム。
【請求項６】
前記画像出力装置は、さらに、
前記第２の判断手段が前記画像出力装置が前記実行装置として前記印刷処理を実行すると判断し、前記ジョブ実行手段が前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得する場合に、該実行装置が印刷ジョブを取得することを示すメッセージを前記ネットワーク上に同報するジョブ取得同報手段を備え、
前記メッセージ受信手段は、前記受信したメッセージが、実行装置が印刷ジョブを取得することを示すメッセージである場合に、前記ネットワーク上に同報されるメッセージの監視を中止する
ことを特徴とする請求項１乃至５のいずれか１項に記載の印刷システム。
【請求項７】
前記メッセージ受信手段は、前記第１の判断手段が前記画像出力装置が前記代行装置であると判断してから予め決められた期間、前記ネットワーク上に同報されるメッセージを監視し、
前記ジョブ実行手段は、前記メッセージ受信手段による前記ネットワーク上に同報されるメッセージの監視期間が前記予め決められた期間を超えた場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行する
ことを特徴とする請求項１乃至６のいずれか１項に記載の印刷システム。
【請求項８】
前記情報処理装置は、さらに、
前記サーバ装置に対して前記印刷ジョブが投入された場合に、該印刷ジョブを該サーバ装置から取得して実行する画像出力装置から前記ネットワーク上に同報される、該画像出力装置が印刷ジョブを取得することを示すメッセージを受信する受信手段を備える
ことを特徴とする請求項１乃至７のいずれか１項に記載の印刷システム。
【請求項９】
前記情報処理装置は、さらに、
前記ネットワーク上に設けられている前記画像出力装置に関する情報を探索して取得する探索手段と、
前記取得された前記画像出力装置に関する情報を操作画面上に表示する表示手段とを備え、
前記選択手段は、前記操作画面上でのユーザの操作に従って、前記印刷処理を実行する画像出力装置である実行装置と、前記実行装置を管理しているサーバ装置が管理する画像出力装置のうち前記実行装置に代行して前記印刷処理を実行する画像出力装置である代行装置とを選択する
ことを特徴とする請求項１乃至８のいずれか１項に記載の印刷システム。
【請求項１０】
画像出力装置と、前記画像出力装置を印刷ジョブの送信先として管理するサーバ装置と、ネットワークを介して、前記サーバ装置に対して印刷ジョブを投入し、前記画像出力装置に対して、前記サーバ装置から前記印刷ジョブを受信して実行する印刷処理を指示する情報処理装置とを備える印刷システムにおける印刷制御方法であって、
前記情報処理装置が、前記サーバ装置に対して前記印刷ジョブを投入する工程と、
前記情報処理装置が、前記印刷処理を実行する画像出力装置である実行装置と、前記実行装置を管理しているサーバ装置が管理する画像出力装置のうち前記実行装置に代行して前記印刷処理を実行する画像出力装置である代行装置とを選択する工程と、
前記情報処理装置が、前記印刷処理の実行を指示する情報であって、少なくとも前記選択した実行装置と代行装置に関する情報を含む印刷指示情報を前記ネットワーク上に同報する工程と、
前記画像出力装置が、前記印刷指示情報を受信する工程と、
前記画像出力装置が、前記受信された印刷指示情報が含む前記実行装置と代行装置に関する情報に基づいて、該画像出力装置が前記実行装置または前記代行装置のいずれであるかを判断する工程と、
前記画像出力装置が、該画像出力装置が前記実行装置であると判断した場合に、前記印刷指示情報が含む前記代行装置に関する情報に基づいて、該代行装置から装置状態を取得する工程と、
前記画像出力装置が、該画像出力装置の装置状態と、前記取得された前記代行装置の装置状態とに基づいて、該画像出力装置が前記実行装置として前記印刷指示情報が指示する印刷処理を実行するか、または前記代行装置に該印刷処理の代行を依頼するかを判断する工程と、
前記画像出力装置が、前記代行装置に前記印刷処理の代行を依頼すると判断した場合に、該代行装置に対して該印刷処理の代行を依頼するメッセージを前記ネットワーク上に同報する工程と、
前記画像出力装置が、該画像出力装置が前記実行装置として前記印刷処理を実行すると判断した場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行する工程と、
前記画像出力装置が、該画像出力装置が前記代行装置であると判断した場合に、前記ネットワーク上に同報されるメッセージを監視して受信する工程と、
前記画像出力装置が、前記受信したメッセージが前記印刷処理の代行を依頼するメッセージである場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行する工程とを有する
ことを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムおよび印刷制御方法に関する。
【背景技術】
【０００２】
クライアント装置が、ローカルエリアネットワークに接続されたプリンタ（画像出力装置）に対して直接印刷ジョブを出力する印刷システムが提案されている。この印刷システムにおいて、クライアント装置は、クライアント装置にインストールされたプリンタドライバを介して、印刷ジョブをプリンタに出力する。
【０００３】
一方、クライアント装置が、インターネットに接続されたプリントサービスサーバ装置を介して画像出力装置に印刷処理をさせる印刷システムが提案されている。このような印刷システムにおいては、印刷に関する機能をプリントサービスサーバ装置側が提供することができる。具体的には、プリントサービスサーバ装置が、クライアント装置から送信された印刷ジョブを受信し、受信した印刷ジョブに応じて製本面付け印刷や地紋印刷をしたり、パーソナルボックス機能などを提供したりする。
【０００４】
上述した、クライアント装置から直接プリンタに印刷ジョブを出力する印刷システムでは、クライアント装置に搭載されるプリンタドライバの能力によっては、特定の機能が実現できない場合がある。例えば、あるオペレーティングシステムのプンリタドライバでは製本印刷ができるが、他のオペレーティングシステムのプリンタドライバでは製本印刷ができない場合がある。
【０００５】
また、プリンタの能力によっては、特定の機能が実現できないケースがある。例えば、プリンタに地紋印刷やパーソナルボックスの機能がない場合には、このプリンタは、地紋印刷を実行したり、パーソナルボックスの機能を提供したりすることはできない。
【０００６】
ここで、プリントサービスサーバ装置が、プリンタドライバ／プリンタが提供できない機能を提供することによって、プリンタドライバ／プリンタの能力差分や機能差分があっても、ユーザが利用できる印刷機能に差をなくすようにする印刷システムが考えられる。このような印刷システムでは、例えば、プリンタが、ゲートウェイ装置を介してプリントサービスサーバ装置に接続されているので、プリントサービスサーバ装置は、直接プリンタに印刷ジョブを送信することはできない。従って、例えば、プリンタが、プリントサービスサーバ装置に自分宛の印刷ジョブがあるかをポーリングをして確認し、自分宛のジョブがある場合には取得する必要がある。
【０００７】
なお、特許文献１は、画像出力装置が、印刷できない状態の時に、印刷属性に関する情報をネットワークに同報通信し、他の印刷可能な画像出力装置に対して、代行印刷実行を依頼する画像出力装置を開示する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３４７１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ネットワークトラフィックの増大を避けるために、プリンタが行うポーリングの間隔をある程度の一定時間間隔に設定すると、ユーザがクライアント装置から印刷指示をしても、すぐにプリンタから印刷出力されないことがある。そこで、ユーザが印刷指示をしてから印刷出力されるまでのタイムラグを解消する、以下のような印刷システムが考えられる。
【００１０】
まず、印刷システムが備えるクライアント装置が、プリントサービスサーバ装置に対して印刷ジョブを送信した後に、当該クライアント装置が備えるプリンタドライバが、ローカルエリアネットワークに印刷ジョブを送信したことをマルチキャスト（同報）する。プリンタはこのマルチキャストを受信することにより印刷ジョブが送信されたことを検知し、プリントサービスサーバ装置から印刷ジョブを取得する。これにより、ユーザが印刷指示をしてから印刷されるまでのタイムラグを少なくすることが可能となる。
【００１１】
しかし、プリンタドライバがマルチキャストでプリンタに印刷ジョブ取得のタイミングを通知しても、プリンタが何らかの理由で印刷できない状態である場合がある。例えば、プリンタが紙なしやトナー切れの状態になっていたり、印刷品質の調整を行うキャリブレーション処理を実行していたりする場合には、プリンタは印刷できない。また、プリンタが故障のために電源ＯＦＦになっている場合にも、プリンタは印刷できない。このようなプリンタを指定して印刷指示を行ったユーザは、プリンタに出力物を取りに行くまで印刷できていないことに気づかない。
【００１２】
また、特許文献１が開示する、出力先プリンタが印刷できない状態の時に、印刷情報を同報通信し、他の印刷可能なプリンタが代行印刷する技術では、以下のような問題がある。まず、特許文献１が開示する技術では、ユーザは、どのプリンタに出力されるかわからないため、出力先のプリンタに印刷されていない場合に、印刷処理する可能性のある他のプリンタが印刷出力したかをユーザ自身が確認する必要がある。
【００１３】
また、一般的に、印刷システムが、プリントサービスサーバ装置経由の印刷を実行する場合には、出力先のプリンタ（画像出力装置）をプリントサービスサーバ装置に予め登録しておく必要がある。この印刷システムにおいて、画像出力装置が印刷情報を同報通信して、印刷可能な他の画像出力装置（代行装置）に代行印刷を依頼しようとしても、当該代行装置がプリントサービスサーバ装置に登録されていない場合には、代行装置は印刷することができない。
【００１４】
本発明は、画像出力装置を管理するサーバ装置を介した印刷処理を実行するシステムであって、印刷処理の実行装置が印刷処理を実行できない場合に、実行装置を管理するサーバ装置により管理される代行装置が印刷処理を実行する印刷システムの提供を目的とする。
【課題を解決するための手段】
【００１５】
本発明の一実施形態の印刷システムは、画像出力装置と、前記画像出力装置を印刷ジョブの送信先として管理するサーバ装置と、ネットワークを介して、前記サーバ装置に対して印刷ジョブを投入し、前記画像出力装置に対して、前記サーバ装置から前記印刷ジョブを受信して実行する印刷処理を指示する情報処理装置とを備える。前記情報処理装置は、前記サーバ装置に対して前記印刷ジョブを投入するジョブ投入手段と、前記印刷処理を実行する画像出力装置である実行装置と、前記実行装置を管理しているサーバ装置が管理する画像出力装置のうち前記実行装置に代行して前記印刷処理を実行する画像出力装置である代行装置とを選択する選択手段と、前記印刷処理の実行を指示する情報であって、少なくとも前記選択した実行装置と代行装置に関する情報を含む印刷指示情報を前記ネットワーク上に同報する同報手段を備える。前記画像出力装置は、前記印刷指示情報を受信する指示受信手段と、前記受信された印刷指示情報が含む前記実行装置と代行装置に関する情報に基づいて、前記画像出力装置が前記実行装置または前記代行装置のいずれであるかを判断する第１の判断手段と、前記第１の判断手段が前記画像出力装置が前記実行装置であると判断した場合に、前記印刷指示情報が含む前記代行装置に関する情報に基づいて、該代行装置から装置状態を取得する取得手段と、前記画像出力装置の装置状態と、前記取得された前記代行装置の装置状態とに基づいて、前記画像出力装置が前記実行装置として前記印刷指示情報が指示する印刷処理を実行するか、または前記代行装置に該印刷処理の代行を依頼するかを判断する第２の判断手段と、前記第２の判断手段が前記代行装置に前記印刷処理の代行を依頼すると判断した場合に、該代行装置に対して該印刷処理の代行を依頼するメッセージを前記ネットワーク上に同報する代行依頼手段と、前記第２の判断手段が前記画像出力装置が前記実行装置として前記印刷処理を実行すると判断した場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行するジョブ実行手段と、前記第１の判断手段が前記画像出力装置が前記代行装置であると判断した場合に、前記ネットワーク上に同報されるメッセージを監視して受信するメッセージ受信手段とを備える。前記ジョブ実行手段は、さらに、前記第１の判断手段が前記画像出力装置が前記代行装置であると判断し、かつ、前記メッセージ受信手段が受信したメッセージが前記印刷処理の代行を依頼するメッセージである場合に、前記印刷処理に対応する印刷ジョブを前記サーバ装置から取得して実行する。
【発明の効果】
【００１６】
本発明の印刷システムによれば、画像出力装置を管理するサーバ装置を介した印刷処理を実行する場合に、印刷処理の実行装置が印刷処理を実行できないとき、実行装置を管理するサーバ装置により管理される代行装置が印刷処理を実行することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態の印刷システムの構成例を示す図である。
【図２】クライアント装置と画像出力装置の構成例を示す図である。
【図３】プリントサービスサーバ装置の構成例を示す図である。
【図４】印刷システムの動作処理例を説明するシーケンス図（１）である。
【図５】印刷システムの動作処理例を説明するシーケンス図（２）である。
【図６】印刷システムの動作処理例を説明するシーケンス図（３）である。
【図７】印刷システムの動作処理例を説明するシーケンス図（４）である。
【図８】画像出力装置情報の登録処理の例を説明するフローチャートである。
【図９】プリントキューの作成処理の例を説明するフローチャートである。
【図１０】印刷ジョブ送信マルチキャストの実行処理の例を説明する図である。
【図１１】処理可変部分に対応する画像出力装置の処理の例を説明する図である。
【図１２】印刷代行依頼判定の例を説明するフローチャートである。
【図１３】代行画像出力装置処理の例を説明するフローチャートである。
【図１４】プリントサービスサーバ装置の動作処理例を説明する図である。
【図１５】プリントキューダイアログの例を説明する図である。
【図１６】プリントサービスＩＤ入力ダイアログと、画像出力装置リストダイアログと、代行プリンタ選択ダイアログの例を示す図である。
【図１７】ネットワーク上に送信されるメッセージの例を示す図である。
【図１８】第３の実施形態におけるクライアント装置の構成例を示す図である。
【発明を実施するための形態】
【００１８】
図１は、本発明の第１の実施形態の印刷システムの構成例を示す図である。図１に示す印刷システムは、画像出力装置Ａ（１０２ａ）乃至Ｃ（１０２ｃ）と、クライアント装置１０１と、プリントサービスサーバ装置１０３とを備える。以下の説明では、各々の画像出力装置を画像出力装置１０２とも記述する。
【００１９】
クライアント装置１０１と画像出力装置１０２とは、ネットワーク１０４上に設けられている。ネットワーク１０４は、例えばＥｔｈｅｒｎｅｔ（登録商標）である。また、プリントサービスサーバ装置１０３は、インターネット１０６上に設けられている。
【００２０】
クライアント装置１０１は、ユーザが操作する情報処理装置である。クライアント装置１０１は、インターネット１０６を介して、プリントサービスサーバ装置１０３に印刷ジョブを投入する。クライアント装置１０１は、プリントサービスサーバ装置１０３に印刷ジョブを投入した後、印刷ジョブ送信マルチキャストを行う。
【００２１】
印刷ジョブ送信マルチキャストは、クライアント装置１０１が印刷ジョブを送信（投入）したことをネットワーク１０４上にマルチキャストすることである。印刷ジョブ送信マルチキャストは、印刷ジョブに関する情報を含む。印刷ジョブに関する情報は、少なくとも出力先画像出力装置に関する情報と代行画像出力装置に関する情報とを含む。出力先画像出力装置は、印刷処理を実行する画像出力装置、すなわち、クライアント装置１０１のユーザが印刷処理を実行させたい画像出力装置（実行装置）である。代行画像出力装置は、出力先画像出力装置を管理しているプリントサービスサーバ装置１０３が管理する画像出力装置のうち、出力先画像出力装置に代行して印刷処理を実行する画像出力装置（代行装置）である。
【００２２】
印刷ジョブ送信マルチキャストを受信した画像出力装置１０２は、印刷ジョブ送信マルチキャストが含む印刷ジョブに関する情報に基づいて、自装置が印刷処理を実行するか否かを判断する。自装置が印刷処理を実行すると判断した画像出力装置１０２は、インターネット１０６を介して、プリントサービスサーバ装置１０３に対して印刷ジョブの取得要求を送信する。印刷ジョブの取得要求は、印刷ジョブの送信を求める要求である。そして、画像出力装置１０２は、この印刷ジョブの取得要求に応じたプリントサービスサーバ装置１０３から印刷ジョブを受信して実行する。すなわち、クライアント装置１０１は、印刷ジョブ送信マルチキャストを行うことを通じて、画像出力装置１０２に対して、プリントサービスサーバ装置１０３から印刷ジョブを受信して実行する印刷処理を指示する。
【００２３】
プリントサービスサーバ装置１０３は、画像出力装置１０２を印刷ジョブの送信先として管理するサーバ装置である。プリントサービスサーバ装置１０３は、インターネット１０６を介して、クライアント装置１０１から印刷ジョブの投入を受ける。プリントサービスサーバ装置１０３は、クライアント装置１０１から受けた印刷ジョブを、所定のフォーマットに変換して保持する。プリントサービスサーバ装置１０３は、画像出力装置１０２から印刷ジョブの取得要求を受ける。そして、プリントサービスサーバ装置１０３は、この印刷ジョブの取得要求に応じて、この画像出力装置１０２に対して印刷ジョブを投入する。
【００２４】
図１に示す印刷システムにおいては、インターネット１０６とネットワーク１０４との間に、ゲートウェイ装置１０５が設けられている。従って、プリントサービスサーバ装置１０３が自律的にネットワーク１０４上のクライアント装置１０１および画像出力装置１０２にアクセスすることはできない。プリントサービスサーバ装置１０３は、例えば、画像出力装置１０２から印刷ジョブの取得要求を受け、この要求への応答として印刷ジョブを返す。本実施形態の印刷制御方法は、図１中に示す印刷システムが備える各装置の機能によって実現される。
【００２５】
図２は、図１に示すクライアント装置と画像出力装置の構成例を示す図である。クライアント装置１０１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、表示部Ｉ／Ｆ１１５、キーボードＩ／Ｆ１１６、外部メモリＩ／Ｆ１１７を備える。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。Ｉ／Ｆは、Ｉｎｔｅｒｆａｃｅの略称である。また、クライアント装置１０１は、ネットワークＩ／Ｆ１１８、表示部１１９、キーボード１２０、外部メモリ１３１を備える。
【００２６】
ＣＰＵ１１１は、ＲＡＭ１１２に記憶されている制御プログラムに従って、システムバス１２１に接続されている各デバイスを総括的に制御する。ＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリアとしても機能する。
【００２７】
ＲＯＭ１１３は、各種プログラム及びデータを格納している。表示部Ｉ／Ｆ１１５は、表示部１１９による表示処理を制御する。キーボードＩ／Ｆ１１６は、キーボード１２０や不図示のポインティングデバイス（タッチパネル等）からの入力を制御する。
【００２８】
外部メモリＩ／Ｆ１１７は、例えば、フラッシュメモリ、ＳＳＤ（Solid State Disk）等の外部メモリ１３１とのアクセスを制御する。外部メモリ１３１は、クライアント装置１０１が保存または読み取り可能な記憶媒体として機能する。具体的には、外部メモリ１３１は、ＯＳ１３２、各種アプリケーション１３３、プリンタドライバ１３４、画像出力装置情報保存領域１３５、プリンタドライバインストーラ１３６を保持する。ＯＳは、オペレーティングシステム（Operating System）である。また、各種アプリケーション１３３は、例えば、ブラウザアプリケーションを含む。
【００２９】
プリンタドライバ１３４は、クライアント装置１０１からの印刷指示に関する情報の出力先（例えば、画像出力装置１０２またはプリントサービスサーバ装置１０３）を管理する。画像出力装置情報保存領域１３５には、画像出力装置情報が保存される。画像出力装置情報は、画像出力装置１０２に関する情報である。画像出力装置情報は、少なくとも、画像出力装置ＩＤ、画像出力装置名、印刷処理速度を含む。画像出力装置ＩＤは、画像出力装置１０２を一意に識別する識別情報である。画像出力装置名は、画像出力装置１０２の名称である。印刷処理速度は、画像出力装置１０２の名称である。プリンタドライバインストーラ１３６は、クライアント装置１０１へのプリンタドライバ１３４のインストールを実行する。
【００３０】
ネットワークＩ／Ｆ１１８は、ネットワークの制御部である。具体的には、ネットワークＩ／Ｆ１１８は、ネットワーク端子を通じて、ネットワーク１０４への接続を可能にする。
【００３１】
画像出力装置１０２は、ＣＰＵ１４２、ＲＡＭ１４３、ＲＯＭ１４４、ネットワークＩ／Ｆ１４５、操作部Ｉ／Ｆ１４６、プリンタＩ／Ｆ１４８、外部メモリＩ／Ｆ１５２、操作部１４７、プリンタ部１４９、外部メモリ１５１を備える。
【００３２】
ＣＰＵ１４２は、画像出力装置１０２の全体の動作を制御する。具体的には、ＣＰＵ２４２は、システムバス１４１に接続されている各デバイスを総括的に制御する。ＲＡＭ１４３は、ＣＰＵ１４２の主メモリ、ワークエリア等として機能する。また、ＲＡＭ１４３は、画像情報展開領域、環境データ格納領域としても用いられる。また、ＲＡＭ１４３は、ＮＶＲＡＭ（Non-volatile Random Access Memory）領域も備えている。そして、ＲＡＭ１４３は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００３３】
ＣＰＵ１４２は、ネットワークＩ／Ｆ１４５を介して、クライアント装置１０１と通信する。また、ＣＰＵ１４２は、画像出力装置１０２内の情報等を、ネットワーク１０５を介してクライアント装置１０１に通知することができる。また、ＣＰＵ１４２は、ネットワークＩ／Ｆ１４５およびインターネット１０６を介して、プリントサービスサーバ装置１０３に対して、印刷ジョブの取得要求を行う。また、ＣＰＵ１４２は、ネットワークＩ／Ｆ１４５およびインターネット１０６を介して、プリントサービスサーバ装置１０３から印刷ジョブを受信する。
【００３４】
本実施形態では、ネットワークＩ／Ｆ１４５は、サービスプロトコルを実装している。また、ネットワークＩ／Ｆ１４５は、印刷ジョブを受信するプロトコルとして複数のプロトコルを実装している。例えば、ネットワークＩ／Ｆ１４５は、ローカルネットワークでの印刷ジョブ受信が可能なＬＰＲ（Line Printer Daemon Protocol）やＰｏｒｔ９１００を実装している。また、例えば、ネットワークＩ／Ｆ１４５は、インターネット経由の印刷ジョブの受信に適しているＩＰＰ（Internet Printing Protocol）を実装している。
【００３５】
また、ＣＰＵ１４２は、ＲＯＭ１４４に記憶された制御プログラム等に基づいて、プリンタＩ／Ｆ１４８を介して、プリンタ部１４９に画像データを送信し、印刷処理を実行する。
【００３６】
ＲＯＭ１４４は、各種フォント、ＣＰＵ１４２により実行される制御プログラム等、各種データを記憶している。ネットワークＩ／Ｆ１４５は、クライアント装置１０１との間でデータの送受信を行なう。プリンタＩ／Ｆ１４８は、プリンタエンジンであるプリンタ部１４９との間のインターフェースを制御している。
【００３７】
外部メモリ１５１は、外部メモリＩ／Ｆ１５２によって、アクセスが制御されている。外部メモリ１５１は、例えば、ハードディスク、フラッシュメモリ、ＳＳＤ等を備えている。外部メモリ１５１は、ハードウェア情報１５３、印刷制御プログラム１５４、マルチキャストデータ保存領域１５５を保持する。ハードウェア情報１５３は、画像出力装置１０２が備えるハードウェアに関する情報である。
【００３８】
印刷制御プログラムは、画像出力装置１０２の動作処理を制御する制御プログラムである。マルチキャストデータ保存領域１５５には、画像出力装置１０２がネットワーク１０４を介して受信するマルチキャストが含む情報が保存される。画像出力装置１０２に外部メモリ１５１が接続されていない場合には、ＲＯＭ１４４に、クライアント装置１０１が利用する情報等を記憶するようにしてもよい。
【００３９】
操作部Ｉ／Ｆ１４６は、画像入力装置１０２が実行する処理（例えば、スキャン処理）を設定する操作部１４７とのインターフェースを制御する。操作部１４７には、ユーザによる操作を受け付ける操作パネルが設けられている。操作パネルには、操作のためのスイッチ及びＬＥＤ（Light Emitting Diode）表示器等が配されている。操作パネルから入力される印刷設定情報を不図示のＮＶＲＡＭが記憶するようにしてもよい。
【００４０】
図３は、プリントサービスサーバ装置の構成例を示す図である。プリントサービスサーバ装置１０３は、ＣＰＵ１７１、ＲＡＭ１７２、ＲＯＭ１７３、表示部Ｉ／Ｆ１７４、キーボードＩ／Ｆ１７５、外部メモリＩ／Ｆ１７６を備える。また、プリントサービスサーバ装置１０３は、ネットワークＩ／Ｆ１７７、表示部１７８、キーボード１７９、外部メモリ１８１を備える。
【００４１】
ＣＰＵ１７１は、ＲＡＭ１７２に記憶されているプログラムに従って、システムバス１８０に接続される各デバイスを総括的に制御する。ＲＡＭ１７２は、ＣＰＵ１７１の主メモリ、ワークエリア等としても機能する。
【００４２】
ＲＯＭ１７３は、各種プログラム及びデータを格納する。キーボードＩ／Ｆ１７５は、キーボード１７９や不図示のポインティングデバイス（例えば、マウス）からの入力を制御する。表示部Ｉ／Ｆ１７４は、表示部１７８による表示処理を制御する。
【００４３】
外部メモリＩ／Ｆ１７６は、例えばＨＤ、ＳＳＤ等の外部メモリ１８１とのアクセスを制御する。外部メモリ１８１は、ＯＳ１８２、ウェブサービスライブラリ１８３、プリントサービスプログラム１８４を記憶している。
【００４４】
プリントサービスプログラム１８４は、例えば、画像出力装置登録プログラム１８５、ユーザ認証プログラム１８６、印刷ジョブ受信プログラム１８７、印刷データ送信プログラム１８８、レンダリングプログラム１８９を含む。また、プリントサービスプログラム１８４は、データベース１９０、印刷ジョブスプール領域１９１を含む。
【００４５】
画像出力装置登録プログラム１８５は、画像出力装置１０２から画像出力装置情報を取得してデータベース１９０に登録するプログラムである。ユーザ登録プログラムは、ユーザ登録を行うプログラムである。
【００４６】
印刷ジョブ受信プログラム１８７は、クライアント装置１０１から印刷ジョブを受信するプログラムである。印刷データ送信プログラム１８８は、印刷ジョブの取得要求元の画像出力装置１０２に対して印刷データ（を含む印刷ジョブ）を送信するプログラムである。レンダリングプログラム１８９は、レンダリング処理を行うプログラムである。
【００４７】
レンダリングプログラム１８９は、例えば、クライアント装置１０１から受信した印刷ジョブに応じたレンダリング処理を行って、画像出力装置１０２に送信する印刷データを生成する。データベース１９０は、画像出力装置情報を記憶する。また、データベース１９０は、ユーザファイル、その他設定ファイル等を記憶するための各種プログラムを記憶する。印刷ジョブスプール領域１９１は、クライアント装置１０１から受信された印刷ジョブを一時的に記憶する。
【００４８】
ネットワークＩ／Ｆ１７７は、インターネット１０６およびネットワーク１０４を介して、画像出力装置１０２に接続されている。これにより、ネットワークＩ／Ｆ１７７は、画像出力装置１０２に対するデータ転送（例えば、印刷ジョブの投入）が可能である。
【００４９】
図４乃至図７は、印刷システムの動作処理例を説明するシーケンス図である。前提として、既にクライアント装置１０１が、ネットワーク１０４を介して画像出力装置１０２にアクセス可能な状態であるものとする。また、クライアント装置１０１および画像出力装置１０２は、ゲートウェイ装置１０５およびインターネット１０６を介して、プリントサービスサーバ装置１０３にアクセス可能な状態であるものとする。図５中の符号１０００が示す点線で囲った処理可変部分は、条件により処理が変わる部分である。処理可変部分１０００は、条件によって、図６を参照して説明する処理または図７を参照して説明する処理に置き換わる。
【００５０】
図４および図５に示す動作処理例では、出力先画像出力装置１０２ａが、印刷代行依頼判定を行った結果、自装置が印刷処理を実行すると判断する。印刷代行依頼判定は、自装置が印刷処理を実行するか、代行画像出力装置１０２ｂに対して印刷処理の代行を依頼するかのいずれにするかを判断する処理である。
【００５１】
図４において、ユーザが、クライアント装置１０１にプリンタドライバ１３４をインストールするために、プリンタドライバインストーラ１３６を起動する（ステップＳ２０１）。起動されたプリンタドライバインストーラ１３６が、プリンタドライバ１３４のインストールを実行する（ステップＳ２０２）。続いて、プリンタドライバインストーラ１３６が、インストールが完了した旨の通知をユーザに行う（ステップＳ２０３）。
【００５２】
次に、ユーザが、プリントキューの作成指示を行う（ステップＳ２０４）。プリントキューは、印刷ジョブを格納して出力するキューであって、印刷ジョブを実行する画像出力装置毎に作成される。プリントキューの作成指示に基づいて、クライアント装置１０１が備えるプリンタドライバ１３４がプリントキューを作成する（ステップＳ２０５）。
【００５３】
次に、ユーザが、ドキュメントを印刷するために、アプリケーション１３３でそのドキュメントを開き、プリントメニューを選択する（ステップＳ２０６）。続いて、アプリケーション１３３が、印刷設定ダイアログを表示する（ステップＳ２０７）。
【００５４】
印刷設定ダイアログは、印刷属性を設定するためのダイアログである。ユーザは、印刷設定ダイアログ上で、出力先画像出力装置１０２ａとその印刷属性を設定するとともに、代行画像出力装置１０２ｂを設定する。この設定操作に従って、ＣＰＵ１１１が、出力先画像出力装置１０２ａと代行画像出力装置１０２ｂとを選択する選択手段として機能する。選択される代行画像出力装置１０２ｂは、出力先画像出力装置１０２ａを管理するプリントサービスサーバ装置１０３が管理する画像出力装置のうち、出力先画像出力装置１０２ａに代行して印刷処理を実行する画像出力装置である。
【００５５】
次に、ユーザが、印刷設定ダイアログをクローズして、印刷設定を完了させる。続いて、クライアント装置１０１のＯＳ１３２が、設定された印刷属性をＯＳ１３２の設定保存領域に保存する（ステップＳ２０９）。続いて、ユーザが、印刷を実行するために、アプリケーション１３３から印刷指示を行う（ステップＳ２１０）。この印刷指示に従って、プリンタドライバ１３４が印刷ジョブを生成する（ステップＳ２１１）。そして、プリンタドライバ１３４が、ＣＰＵ１１１の指示に従って、印刷ジョブを、ジョブＩＤ、印刷属性設定、出力先画像出力装置ＩＤ、代行画像出力先ＩＤとともに、プリントサービスサーバ装置１０３に送信する（ステップＳ２１２）。すなわち、プリンタドライバ１３４は、プリントサービスサーバ装置１０３に対して印刷ジョブを投入するジョブ投入手段として機能する。
【００５６】
ジョブＩＤは、印刷ジョブを一意に識別する識別情報である。印刷属性設定は、設定された印刷属性である。出力先画像出力装置ＩＤは、出力先画像出力装置１０２ａを一意に識別する識別情報である。代行画像出力装置ＩＤは、代行画像出力装置１０２ｂを一意に識別する識別情報である。
【００５７】
次に、図５に進んで、クライアント装置１０１のプリンタドライバ１３４が、印刷ジョブに関する情報をネットワーク１０４上にマルチキャストする（ステップＳ２１３）。つまり、プリンタドライバ１３４が、印刷ジョブ送信マルチキャストを行う。印刷ジョブに関する情報は、印刷処理の実行を指示する情報（印刷指示情報）として機能し、ジョブＩＤ、出力先画像出力装置情報、代行画像出力先情報、印刷ジョブの量（ページ数）、プリントサービスサーバ装置のアドレス情報を含む。
【００５８】
出力先画像出力装置情報は、前述した出力先画像出力装置ＩＤの他、出力先画像出力装置の印刷処理速度に関する情報を含む。代行画像出力装置情報は、前述した代行画像出力装置ＩＤの他、代行画像出力装置の印刷処理速度に関する情報を含む。すなわち、プリンタドライバ１３４は、印刷処理の実行を指示する情報であって、少なくとも選択した出力先画像出力装置１０２ａと代行画像出力装置１０２ｂに関する情報を含む印刷指示情報をネットワーク１０４上に同報する同報手段として機能する。
【００５９】
なお、この例では、プリンタドライバ１３４は印刷ジョブに関する情報をマルチキャストするが、プリンタドライバ１３４が、マルチキャスト以外の通信手法（例えば、ブロードキャスト）でネットワーク上に印刷ジョブに関する情報を送信するようにしてもよい。
【００６０】
ステップＳ２１４の処理以降の処理は、画像出力装置１０２が実行する処理である。まず、出力先画像出力装置１０２ａと代行画像出力装置１０２ｂとが、プリンタドライバ１３４が送信した印刷ジョブ送信マルチキャストを受信する。具体的には、出力先画像出力装置１０２ａ、代行画像出力装置１０２ｂの各々のＣＰＵが、印刷ジョブ送信マルチキャストが含む印刷指示情報を受信する指示受信手段として機能する。
【００６１】
出力先画像出力装置１０２が、印刷ジョブ送信マルチキャストに含まれるメッセージに基づいて、自装置が出力先画像出力装置として選択されているかを判断する。このメッセージが含む出力先画像出力装置情報が自装置を示す場合、出力先画像出力装置１０２ａは、自装置が出力先画像出力装置として選択されていると判断する。図５に示す例では、出力先画像出力装置１０２ａは、自装置が出力先画像出力装置として選択されていると判断する。
【００６２】
一方、代行画像出力装置１０２ｂは、印刷ジョブ送信マルチキャストに含まれるメッセージに基づいて、自装置が代行画像出力装置として選択されているかを判断する。このメッセージが含む代行画像出力装置情報が自装置を示す場合、代行画像出力装置１０２ｂは、自装置が代行画像出力装置１０２ｂとして選択されていると判断する。図５に示す例では、代行画像出力装置１０２ｂは、自装置が出力先画像出力装置として選択されていると判断する。
【００６３】
そして、代行画像出力装置１０２ｂは、出力画像出力装置１０２ａから送信されるマルチキャストが含むメッセージ（マルチキャストメッセージ）を、予め決められた期間、監視する（ステップＳ２１４）。このマルチキャストメッセージは、例えば、後述するジョブ取得マルチキャストが含むメッセージ、または代行印刷依頼マルチキャストが含むメッセージである。後述するように、代行画像出力装置１０２ｂは、監視期間がタイムアウトしたかを判断し、監視期間がタイムアウトした場合は、マルチキャストメッセージの監視を中止する。図５に示す例では、監視期間がタイムアウトしないものとする（図６においても同様である）。
【００６４】
次に、出力先画像出力装置１０２ａが、印刷ジョブ送信マルチキャストが含む代行画像出力装置情報に基づいて、当該代行画像出力装置情報に対応する代行画像出力装置に対して、装置ステータスの問い合わせを行う（ステップＳ２１５）。続いて、代行画像出力装置１０２ｂが、自装置の装置ステータスを示す情報を出力先画像出力装置１０２ａに対して返信する（ステップＳ２１６）。
【００６５】
また、出力先画像出力装置１０２ａは、プリントサービスサーバ装置１０３に対して、ジョブ取得が可能になる時間（ジョブ取得可能時間）を問い合わせする（ステップＳ２１７）。この問い合わせには、ジョブ取得可能時間に対応するジョブのジョブＩＤが含まれる。プリントサービスサーバ装置１０３は上記問い合わせが含むジョブＩＤに基づいて、対象となるジョブを特定する。
【００６６】
プリントサービスサーバ装置１０３は、特定したジョブの処理内容と、プリントサービスサーバ装置１０３内の印刷ジョブスプール領域１９１の状況とに基づいて、ジョブ取得可能時間を算出する。そして、プリントサービスサーバ装置１０３が、算出したジョブ取得可能時間を出力先画像出力装置１０２ａに返信する（ステップＳ２１８）。
【００６７】
次に、出力先画像出力装置１０２ａが、印刷代行依頼判定を実行する（ステップＳ２１９）。印刷代行依頼判定は、自装置が印刷処理を実行するか、代行画像出力装置１０２ｂに印刷処理の代行を依頼するかのいずれにするかを判断する処理である。出力先画像出力装置１０２ａは、代行画像出力装置１０２ｂから受信した装置ステータスを示す情報と、プリントサービスサーバ装置１０３から受信したジョブ取得可能時間と、自装置のステータスを示す情報とに基づいて、自装置が印刷処理を実行するかを判断する。図４（Ａ）に示す例では、出力先画像出力装置１０２ａは、自装置が印刷処理を実行すると判断する。
【００６８】
次に、出力先画像出力装置１０２ａが、プリントサービスサーバ装置１０３に対して、印刷ジョブの取得要求を送信する（ステップＳ２２０）。この印刷ジョブの取得要求は、対象となる印刷ジョブのジョブＩＤを含む。続いて、プリントサービスサーバ装置１０３が、印刷ジョブの取得要求が含むジョブＩＤに対応する印刷ジョブを、出力先画像出力装置１０２ａに対して送信する（ステップＳ２２２）。
【００６９】
出力先画像出力装置１０２ａは、プリントサービスサーバ装置１０３に対して印刷ジョブの取得要求を送信した後、ネットワーク１０４上に、ジョブ取得マルチキャストを行う（ステップＳ２２１）。ジョブ取得マルチキャストは、自装置が印刷ジョブを取得した（する）ことを示す情報を含むメッセージを有する。
【００７０】
代行画像出力装置１０２ｂが、ジョブ取得マルチキャストを受信する。代行画像出力装置１０２ｂは、ジョブ取得マルチキャストが含むメッセージに基づいて、出力先画像出力装置１０２ａが印刷ジョブを取得したことを認識する。そして、代行画像出力装置１０２ｂが、マルチキャストメッセージの監視を停止する。出力先画像出力装置１０２ａは、ステップＳ２２２においてプリントサービスサーバ装置１０３から受信した印刷ジョブを実行して（ステップＳ２２３）、印刷出力する（ステップＳ２２６）。
【００７１】
一方、プリントサービスサーバ装置１０３は、ステップＳ２２２において出力先画像出力装置１０２ａに対して印刷ジョブを送信した後、印刷先メールをクライアント装置１０１に通知する（ステップＳ２２４）。印刷先メールは、どの画像出力装置が印刷ジョブを取得したかを通知する電子メールである。この例では、プリントサービスサーバ装置１０３は、出力先画像出力装置１０２ａが印刷ジョブを取得したことを通知する印刷先メールをクライアント装置１０１に通知する。
【００７２】
クライアント装置１０１は、印刷先メールをユーザに通知する（ステップＳ２２５）。これにより、ユーザは、印刷処理を実際に実行する画像出力装置１０２を知ることができる。続いて、出力先画像装置１０２ａは、印刷処理を完了した時点で、ジョブＩＤを指定して印刷ジョブ削除依頼をプリントサービスサーバ装置１０３に送信する（ステップＳ２２７）。プリントサービスサーバ装置１０３は、当該印刷ジョブ削除依頼において指定されたジョブＩＤを持つ印刷ジョブを削除する（ステップＳ２２８）。
【００７３】
図６に示す動作処理例では、出力先画像出力装置１０２ａのＣＰＵ１４２が、印刷代行依頼判定を行った結果、代行画像出力装置１０２ｂに印刷処理の代行を依頼すると判断する。図６のステップＳ２５１乃至Ｓ２５６は、図５のステップＳ２１３乃至２１８と同様である。また、ステップＳ２６２乃至Ｓ２６６は、図５のステップＳ２２４乃至Ｓ２２８と同様である。
【００７４】
ステップＳ２５７において、出力先画像出力装置１０２ａは、印刷代行依頼判定を行う。この印刷代行依頼判定において、出力先画像出力装置１０２ａのＣＰＵ１４２は、例えば、当面自装置が復旧しないので、代行画像出力装置１０２ｂに印刷処理の代行を依頼すると判断する。
【００７５】
次に、出力先画像出力装置１０２ａのＣＰＵ１４２が、ネットワーク１０４上に、代行印刷依頼マルチキャストを行う（ステップＳ２５８）。代行印刷依頼マルチキャストは、代行画像出力装置１０２ｂに対して出力先画像出力装置１０２ａに代行して印刷処理を行うことを依頼するマルチキャストである。代行印刷依頼マルチキャストのメッセージは、印刷ジョブ送信マルチキャストが含む代行画像出力装置情報と、印刷処理の代行を指示する制御情報を含む。すなわち、ＣＰＵ１４２は、代行画像出力装置１０２ｂに対して印刷処理の代行を依頼するメッセージをネットワーク１０４上に同報する代行依頼手段として機能する。
【００７６】
次に、代行画像出力装置１０２ｂが、代行印刷依頼マルチキャストを受け取る。代行画像出力装置１０２ｂは、受け取った代行印刷依頼マルチキャストが含む代行画像出力装置情報と、印刷処理の代行を指示する制御情報とに基づいて、自装置が印刷処理を実行すると判断する。続いて、代行画像出力装置１０２ｂが、当該印刷処理に対応する印刷ジョブの取得要求をプリントサービスサーバ装置１０３に対して行う（ステップＳ２５９）。続いて、プリントサービスサーバ装置１０３が、印刷ジョブの取得要求に対応する印刷ジョブを、代行画像出力装置１０２ｂに対して送信する（ステップＳ２６０）。そして、代行画像出力装置１０２ｂが、プリントサービスサーバ装置１０３から受信した印刷ジョブを実行して（ステップＳ２６１）、印刷出力する（ステップＳ２６４）。
【００７７】
図７に示す動作処理例では、出力先画像出力装置１０２ａが、例えば故障による電源ＯＦＦなどの理由でネットワーク応答できない場合に、代行画像出力装置１０２ｂが印刷処理を実行する。図７のステップＳ２８３乃至Ｓ２９０は、図６のステップＳ２５９乃至Ｓ２６６と同様である。ステップＳ２８２において、代行画像出力装置１０２ｂが、出力先画像出力装置１０２ａからのマルチキャストメッセージを監視する。この例では、監視期間がタイムアウトするものとする。従って、代行画像出力装置１０２ｂが、マルチキャストメッセージの監視を中止し、自装置が印刷処理を実行すると判断する。そして、代行画像出力装置１０２ｂが、プリントサービスサーバ装置１０３に対して印刷ジョブの取得要求を行う（ステップＳ２８３）。
【００７８】
図８は、プリントサービスサーバ装置への画像出力装置情報の登録処理の例を説明するフローチャートである。まず、クライアント装置１０１が備えるブラウザアプリケーションが、ユーザの指示に従って、プリントサービスサーバ装置１０３の設定ページを開く（ステップＳ３０１）。このために、ユーザは，ブラウザアプリケーション上で、プリントサービスサーバ装置１０３のＵＲＬ（Uniform Resource Locator）のアドレスを入力し、プリントサービスサーバ装置１０３のサイトページを開く。この時、プリントサービスサーバ装置１０３のＯＳ１８２が、ウェブサービスライブラリ１８３をＲＡＭ１７２にロードして実行する。これにより、ＯＳ１８２は、予め用意されているサイトページのデータを、ネットワークＩ／Ｆ１７７を介してクライアント装置１０１のブラウザアプリケーションに送信する。
【００７９】
続いて、ユーザが、プリントサービスサーバ装置１０３のサイトページからユーザ登録ページを開き、プリントサービスを利用するためのユーザＩＤとパスワードを入力して、プリントサービスサーバ装置１０３に送信する（ステップＳ３０２）。プリントサービスサーバ装置１０３のＯＳ１８２は、このユーザＩＤとパスワードをユーザ登録情報として登録するために、ユーザ登録プログラム１８６をＲＡＭ１７２にロード、実行する。具体的には、ＯＳ１８２は、ユーザ登録情報をデータベース１９０に保存する。これにより、ユーザ登録（ユーザＩＤとパスワードの登録）が行われる。
【００８０】
次に、ユーザが、自分が操作する画像出力装置をプリントサービスサーバ装置１０３に登録する処理を行う。すなわち、クライアント装置１０１のブラウザアプリケーションが、ユーザの指示に従って、プリントサービスサーバ装置１０３の画像出力装置登録サイトページを開く。この時、プリントサービスサーバ装置１０３は、画像出力装置登録プログラム１８５に含まれるプラグインモジュールをクライアント装置１０１のブラウザアプリケーションに送信する。このプラグインモジュールは、これからユーザが入力する、画像出力装置を特定する情報を元に、当該画像出力装置から画像出力装置情報を取得するためのモジュールである。
【００８１】
続いて、ユーザが、画像出力装置登録サイトページにおいて、画像出力装置を特定する情報を入力する。この例では、ユーザは画像出力装置のＩＰアドレスを入力する。続いて、ブラウザアプリケーションによって受信されたプラグインモジュールが、ユーザが入力したＩＰアドレスを有する画像出力装置から、当該画像出力装置に対応する画像出力装置情報を取得する（ステップＳ３０３）。この画像出力装置情報は、例えば、画像出力装置ＩＤ、画像出力装置名、印刷処理速度（例えばページ／分）を含む。画像出力装置ＩＤは、例えば、ＵＵＩＤ（Universal Unique ID ）である。
【００８２】
プラグインモジュールは、取得した画像出力装置情報をプリントサービスサーバ装置１０３に送信する（ステップＳ３０４）。プリントサービスサーバ装置１０３の画像出力装置登録プログラム１８５が、プラグインモジュールから受信した画像出力装置情報をデータベース１９０に登録する。ユーザが、複数台の画像出力装置の画像出力装置情報をプリントサービスサーバ装置１０３に登録したい場合は、ステップＳ３０３およびＳ３０４の処理が、当該複数台数分繰り返される。
【００８３】
なお、本実施形態では、プラグインモジュールが画像出力装置情報を取得するようにしたが、ユーザが手動で画像出力装置情報を入力して、ブラウザアプリケーションが入力された画像出力装置情報をプリントサービスサーバ装置１０３に送信するようにしてもよい。
【００８４】
図９は、プリントキューの作成処理の例を説明するフローチャートである。具体的には、図９は、図４のステップＳ２０１のプリンタドライバ１３４のインストールからステップＳ２０５のプリントキュー作成までの処理を示す。
【００８５】
クライアント装置１０１にインストールされるプリンタドライバ１３４は、特定のプリントサービスサーバ装置１０３を出力先とするプリンタドライバである。従って、このプリンタドライバ１３４を使用して作成されたプリントキューに対応する印刷ジョブの出力先は、当該特定のプリントサービスサーバ装置１０３となる。プリントキューの作成時に、ユーザが、使用するプリントサービスサーバ装置のアドレスを入力し、プリンタドライバ１３４が、このアドレスに対応するプリントサービスサーバ装置を印刷ジョブの出力先とするようにしてもよい。
【００８６】
まず、ユーザの指示に従って、クライアント装置１０１上でプリンタドライバインストーラ１３６が立ち上がる。続いて、クライアント装置１０１のＣＰＵ１１１が、外部メモリ１３１に保存されているプリンタドライバインストーラ１３６をＲＡＭ１１２にロードして実行する。これにより、プリンタドライバインストーラ１３６が、プリントキュー作成を行うために必要なファイルをクライアント装置１０１の外部メモリ１３１内のプリンタドライバ格納領域１３４に格納する（ステップＳ３１１）。これにより、プリントキュー作成のために必要なプリンタドライバ１３４がクライアント装置１０１にインストールされる。
【００８７】
次に、上記インストールされたプリンタドライバ１３４が、プリントキューダイアログを表示する。プリントキューダイアログは、プリントキューを作成するためのＵＩ（User Interface）である。
【００８８】
図１５は、プリントキューダイアログの例を説明する図である。図１５（Ａ）に示すプリントキューダイアログ４０１は、プリンタの追加ボタン４０２を有する。プリンタの追加ボタン４０２は、プリントキューを追加するためのボタンである。図１５（Ａ）に示す符号４０３は、既に作成されたプリントキューを示す。この例では、プリンタＢに対応するプリントキューと、プリンタＣに対応するプリントキューとが表示されている。プリンタＢは、画像出力装置Ｂ（１０２ｂ）を示す。また、プリンタＣは、画像出力装置Ｃ（１０２ｃ）を示す。
【００８９】
ユーザは、プリントキューを追加するために、プリンタの追加ボタン４０２をクリックする。このクリック操作に従って、クライアント装置１０１のＯＳ１３２が、プリンタドライバファイルをＲＡＭ１１２にロードし、ＣＰＵ１１１に実行させる。これにより、図９のステップＳ３１２において、プリンタドライバ１３４が、プリントサービスＩＤ入力ダイアログを表示する。プリントサービスＩＤ入力ダイアログは、プリンタドライバ１３４がプリントサービスサーバ装置１０３に接続するために必要なユーザＩＤとパスワード（図８のステップＳ３０２において登録されたユーザＩＤとパスワード）とを入力するためのＵＩである。
【００９０】
図９に戻って、プリンタドライバ１３４が、プリントサービスＩＤ入力ダイアログ上において入力されたユーザＩＤとパスワードを受け付ける（ステップＳ３１３）。
【００９１】
図１６は、プリントサービスＩＤ入力ダイアログと、画像出力装置リストダイアログと、代行プリンタ選択ダイアログの例を示す図である。図１６（Ａ）は、プリントサービスＩＤ入力ダイアログの例を示す。プリントサービスＩＤ入力ダイアログ５０１は、ユーザＩＤ入力ボックス５０２、パスワード入力ボックス５０３、ＯＫボタン５０４を備える。ユーザＩＤ入力ボックス５０２には、ユーザＩＤが入力される。パスワード入力ボックス５０３には、パスワードが入力される。ＯＫボタン５０４がクリックされると、ユーザＩＤとパスワードとがプリンタドライバ１３４に入力される。
【００９２】
図９に戻って、プリンタドライバ１３４が、入力されたユーザＩＤとパスワードとをプリントサービスサーバ装置１０３に送信する。プリントサービスサーバ装置１０３が、プリンタドライバ１３４から送信されたユーザＩＤとパスワードとを受信する。
【００９３】
そして、画像出力装置登録プログラム１８５が、当該ユーザＩＤに対応するユーザが登録した画像出力装置情報をデータベース１９０から取得し、プリンタドライバ１３４に返信する。これにより、プリンタドライバ１３４が、当該ユーザに対応する画像出力装置情報を取得する（ステップＳ３１４）。この例では、プリンタドライバ１３４が複数台の画像出力装置の画像出力装置情報を取得するものとする。従って、ステップＳ３１５において、プリンタドライバ１３４は、画像出力装置リストダイアログを表示する。画像出力装置リストダイアログは、取得した画像出力装置情報が示す画像出力装置のうち、どの画像出力装置に対応するプリントキューを作成するかを選択するためのＵＩである。
【００９４】
図１６（Ｂ）は、画像出力装置リストダイアログの例を示す。画像出力装置リストダイアログ５１１は、画像出力装置選択ダイアログ５１２とＯＫボタン５１３を有する。画像出力装置選択ダイアログ５１２には、図９のステップＳ３１４においてプリンタドライバ１３４が取得した画像出力装置情報に対応する画像出力装置のリストが選択可能に表示される。ユーザが、画像出力装置選択ダイアログ５１２上で画像出力装置を選択してＯＫボタン５１３をクリックすると、当該画像出力装置が選択されたことがプリンタドライバ１３４に通知される。
【００９５】
図９に戻って、プリンタドライバ１３４が、ユーザが選択した画像出力装置に対応するプリントキューを作成する（ステップＳ３１６）。例えば、ユーザが、プリンタＡを選択した場合を想定する。プリンタＡは、画像出力装置Ａ（１０２ａ）に実行させる印刷ジョブを出力するプリントキューである。すなわち、この例では、ユーザは、画像出力装置Ａを選択したことになる。
【００９６】
ユーザが、ＯＫボタン５１３をクリックすると、プリンタドライバ１３４に対して、プリンタＡが選択されたことが通知される。この通知を受けたプリンタドライバ１３４が、プリンタＡを作成する。プリンタドライバ１３４は、作成したプリントキューに関する情報を画像出力装置情報保存領域１３５に記憶する。プリントキューに関する情報は、少なくとも、当該プリントキューが印刷ジョブの出力先とするプリントサービスサーバ装置１０３を示す情報と、当該プリントキューが出力する印刷ジョブを実行する画像出力装置を示す情報とを含む。プリントキューが印刷ジョブの出力先とするプリントサービスサーバ装置１０３は、当該プリンタドライバ１３４が出力先として設定しているプリントサービスサーバ装置１０３である。
【００９７】
図１５（Ｂ）は、プリンタＡが作成された時のプリンタダイアログを示す。符号４０４は、プリントキューとしてのプリンタＡを示す。プリンタＢは、画像出力装置Ｂ（１０２ｂ）に実行させる印刷ジョブを出力するプリントキューである。プリンタＣは、画像出力装置Ｃ（１０２ｃ）に実行させる印刷ジョブを出力するプリントキューである。なお、プリンタＡとプリンタＢとは、同じプリントサービスサーバ装置１０３を出力先にしているものとする。また、プリンタＣは、プリンタＡ、Ｂが出力先にしているプリントサービスサーバ装置１０３とは異なるプリントサービスサーバ装置を出力先にしているものとする。
【００９８】
図９に戻って、プリンタドライバ１３４が、ステップＳ３１４で取得した画像出力装置情報のうち、画像出力装置リストダイアログ５１１上でユーザが選択した画像出力装置の画像出力装置情報を画像出力装置情報保存領域１３５に保存する（ステップＳ３１７）。例えば、プリンタドライバ１３４は、画像出力装置Ａ、Ｂ、Ｃの各々の画像出力装置情報を画像出力装置情報保存領域１３５に保存する。
【００９９】
ここまでの手順で、プリンタＡ、Ｂ、Ｃというプリントキューが作成された。以下では、ユーザが、代行画像出力装置を選択した上で、印刷ジョブを出力先画像出力装置に対して出力する印刷処理の例について説明する。この印刷処理においては、ユーザは，アプリケーションからドキュメントを印刷する際に、プリンタＡを指定して印刷設定を行う。すなわち、ユーザは、画像出力装置Ａを出力先画像出力装置１０２ａとして指定する。また、ユーザは、画像出力装置Ａが出力先とするプリントサービスサーバ装置と同じプリントサービスサーバ装置を出力先とする画像出力装置である画像出力装置Ｂを代行画像出力装置１０２ｂとして指定する。
【０１００】
なお、画像出力装置Ａの画像出力装置ＩＤは、”ｃ４ａａ５ｆ４４−４ａｅ５−４８ｅ５−８ｆ２ａ−７ｄｄｆ４６ｄ３０ｃ４９”であるものとする。また、画像出力装置Ｂの画像出力装置ＩＤは、”１７８ａｅ８ｃ１−ｅ３４１−４３ａ５−９４ａｄ−ｂ４７８５６ｂ７４８ｂｅ”であるものとする。これらの画像出力装置ＩＤは、画像出力装置情報保存領域１３５に保存されている画像出力装置情報に含まれる。また、ユーザが印刷指示を行った際にプリンタドライバ１３４が生成する印刷ジョブのジョブＩＤは、”６ｂｄｄ１ｆｃ６−８１０ｆ−１１ｄ０−ｂｅｃ７−０８００２ｂｅ２０９２ｆ”であるものとする。
【０１０１】
図１０は、印刷ジョブ送信マルチキャストの実行処理の例を説明するフローチャートである。まず、ユーザが、印刷を行うためにクライアント装置１０１上でアプリケーションを立ち上げ、印刷するドキュメントを開く。その後、ユーザが、アプリケーションのメニューからプリントメニューを選択する。
【０１０２】
この選択操作により、クライアント装置１０１のＯＳ１３２が、プリンタドライバ１３４をＲＡＭ１１２にロードし、ＣＰＵ１１１に実行させる。これにより、プリンタドライバ１３４が、印刷設定ダイアログ（不図示）を表示する。印刷設定ダイアログは、印刷ジョブに対応する印刷設定をするためのＵＩである。この印刷設定ダイアログ上で、ユーザが、出力プリンタすなわち印刷ジョブを出力するプリントキューとしてプリンタＡを選択する。また、ユーザは、印刷設定ダイアログ上で、出力プリンタに対応する印刷ジョブの印刷設定を行う。これにより、プリンタＡに対応する画像出力装置Ａが出力先画像出力装置１０２ａとして選択されるとともに、プリンタＡが出力する印刷ジョブの印刷設定がされる。
【０１０３】
プリンタドライバ１３４が、ユーザが行った印刷設定を受け付ける（ステップＳ３３１）。ステップＳ３３１においては、プリンタドライバ１３４が、代行プリンタ選択ダイアログを表示する。代行プリンタ選択ダイアログは、代行プリンタを選択するためのＵＩである。代行プリンタは、代行画像出力装置１０２ｂに実行させる印刷ジョブを出力するプリントキューである。従って、代行プリンタ選択ダイアログは、代行画像出力装置１０２ｂを選択する機能を有する。プリンタドライバ１３４が、代行プリンタ選択ダイアログ上でのユーザの操作に従って、代行プリンタの入力を受け付ける。この例では、プリンタＢが代行プリンタとして選択されるものとする。つまり、画像出力装置Ｂが代行画像出力装置１０２ｂとして選択される。
【０１０４】
図１６（Ｃ）は、代行プリンタ選択ダイアログの例である。代行プリンタ選択ダイアログ６０１は、チェックボックス６０２、代行プリンタ選択リスト６０３、ＯＫボタン６０４、キャンセルボタン６０５を有する。
【０１０５】
チェックボックス６０２は、代行プリンタを選択するか否かを示す。チェックが入った状態のチェックボックス６０２は、代行プリンタを選択することを示す。代行プリンタ選択リスト６０３には、代行プリンタの候補のリストが選択可能に表示される。ＯＫボタン６０４は、クリックされることによって、代行プリンタ選択ダイアログの設定を有効にして閉じるボタンである。キャンセルボタン６０５は、代行プリンタ選択ダイアログの設定を無効にして閉じるボタンである。
【０１０６】
プリンタドライバ１３４は、上述した代行プリンタの候補を以下のようにして決定る。プリンタドライバ１３４は、代行プリンタ選択ダイアログ６０１を表示する際に、画像出力装置情報保存領域１３５に記憶されているプリントキューに関する情報を参照して、以下の処理を実行する。プリンタドライバ１３４は、プリンタＡ以外のプリントキューのうち、プリンタＡが出力先とするプリントサービスサーバ装置１０３を出力先とするプリントキューを代行プリンタの候補として決定する。そして、プリンタドライバ１３４は、決定した代行プリンタの候補を代行プリンタ選択リスト６０３に表示する。
【０１０７】
図１０に戻って、ユーザが印刷指示を行う。この指示に従って、クライアント装置１０１のプリンタドライバ１３４が、印刷ジョブを生成して、出力プリンタに格納する。。そして、プリンタドライバ１３４が、出力プリンタに格納した当該印刷ジョブをプリントサービスサーバ装置１０３に送信する（ステップＳ３３２）。なお、プリンタドライバ１３４は、印刷ジョブ以外に、ジョブＩＤ、出力先画像出力装置ＩＤ、代行画像出力装置ＩＤ、ジョブチケットをプリントサービスサーバ装置１０３に送信する。
【０１０８】
ジョブＩＤは、印刷ジョブを一意に識別する識別情報である。プリンタドライバ１３４が印刷ジョブを生成する時に、この印刷ジョブのジョブいＤを生成する。ジョブＩＤは、例えばＵＵＩＤである。ジョブＩＤとして、他の任意のＩＤを用いてもよい。出力先画像出力装置ＩＤは、画像出力装置情報保存領域１３５に保存されている画像出力装置ＩＤのうち、出力先画像出力装置１０２ａに対応する画像出力装置ＩＤである。代行画像出力装置ＩＤは、画像出力装置情報保存領域１３５に保存されている画像出力装置ＩＤのうち、代行画像出力装置１０２ｂに対応する画像出力装置ＩＤである。ジョブチケットは、ユーザが印刷設定ダイアログ上で設定した印刷設定を含む。ジョブチケットは、印刷属性を記述できる任意のフォーマットとすることができる。
【０１０９】
図１０のステップＳ３３３において、プリンタドライバ１３４が、ネットワーク１０４上に、印刷ジョブ送信マルチキャストを行って、処理を終了する。印刷ジョブ送信マルチキャストは、印刷ジョブを送信したことをネットワーク１０４上にマルチキャストすることである。印刷ジョブ送信マルチキャストは、印刷ジョブが送信されたことを示す情報、ジョブＩＤ、出力先画像出力装置ＩＤ、代行画像出力装置ＩＤ、出力先画像出力装置の印刷処理速度、代行画像出力装置の印刷処理速度を含む。出力先画像出力装置ＩＤは、画像出力装置情報保存領域１３５に保存されている画像出力装置の印刷処理速度のうち、出力先画像出力装置１０２ａに対応する画像出力装置の印刷処理速度である。代行画像出力装置の印刷処理速度は、画像出力装置情報保存領域１３５に保存されている画像出力装置の印刷処理速度のうち、代行画像出力装置１０２ｂに対応する画像出力装置の印刷処理速度である。
【０１１０】
図１７は、ネットワーク上に送信されるメッセージの例を示す図である。図１７（Ａ）は、印刷ジョブ送信マルチキャストが含むメッセージ（マルチキャストメッセージ）７００を示す。マルチキャストメッセージ７００は、キーと値とを有する。キーは、英数文字最後に「：」（コロン）を付与し、その後にそのキーに対応する値を記述するフォーマットを有する。また、キーと値との組の最後には改行が入る。このフォーマットは一例であり、キーと値とが対応づけられるフォーマットであれば他のフォーマットでもよい。
【０１１１】
図１７（Ａ）に示すマルチキャストメッセージ７００において、符号７０１は、このマルチキャストの種類を識別するメッセージキーである。この例では、”Ｓｅｎｔ  Ｐｒｉｎｔ  Ｊｏｂ”という値がメッセージキーとして設定されている。”Ｓｅｎｔ  Ｐｒｉｎｔ  Ｊｏｂ”は、印刷ジョブが送信されたこと、すなわち、このメッセージが印刷ジョブ送信マルチキャストのメッセージであることを示す。
【０１１２】
符号７０２は、ジョブＩＤを示す。このジョブＩＤは、このマルチキャストメッセージ７００の送信元のプリンタドライバ１３４が送信した印刷ジョブのジョブＩＤである。符号７０３は、出力先画像出力装置ＩＤである。この例では、出力先画像出力装置は、画像出力装置ＡのＩＤを示す。送信元のプリンタドライバ１３４が、画像出力装置情報格納領域１３５から当該出力先画像出力装置ＩＤを取得し、このマルチキャストメッセージ７００に設定する。マルチキャストメッセージ７００を受信した画像出力装置がマルチキャストメッセージを解析することにより、自装置が出力先画像出力装置に指定されているか否かを判断する。
【０１１３】
符号７０４は、代行画像出力装置ＩＤである。この例では、代行画像出力装置ＩＤは、画像出力装置ＢのＩＤを示す。送信元のプリンタドライバ１３４が、画像出力装置情報格納領域１３５から当該代行画像出力装置ＩＤを取得し、マルチキャストメッセージ７００に設定する。このマルチキャストメッセージを受信した画像出力装置がマルチキャストメッセージ７００を解析することにより、自装置が代行画像出力装置に指定されているか否かを判断する。
【０１１４】
符号７０５は、出力先画像出力装置１０２ａの印刷処理速度を示す。この例では、出力先画像出力装置１０２ａの印刷処理速度は、６０ページ／分である。符号７０６は、代行画像出力装置１０２ｂの印刷処理速度を示す。この例では、代行画像出力装置１０２ｂの印刷処理速度は、３０ページ／分である。
【０１１５】
符号７０７は、プリンタドライバ１３４が生成した印刷ジョブのページ数である。この例では、印刷ジョブのページ数は３５ページである。符号７０８は、印刷ジョブの取得先アドレスである。印刷ジョブの取得先アドレスは、自装置が印刷処理を実行すると判断した画像出力装置が印刷ジョブの取得要求先とするプリントサービスサーバ装置のアドレスである。この例では、印刷ジョブの取得先アドレスは、ｈｔｔｐ：／／ｐｓｅｒｖｉｃｅ．ａｂｃ．ｊｐ／ｉｐｐ／である。
【０１１６】
なお、画像出力装置がプリントサービスサーバ装置１０３から印刷ジョブを取得する際には、例えば、上述したｈｔｔｐ：／／ｐｓｅｒｖｉｃｅ．ａｂｃ．ｊｐ／ｉｐｐ／に接続し、自装置の画像出力装置ＩＤと取得する印刷ジョブのジョブＩＤとを送信する。一方、プリントサービスサーバ装置１０３は、画像出力装置ＩＤが登録されているか確認し、登録されていれば、その画像出力装置用の印刷ジョブのうち、画像出力装置から受信したジョブＩＤに対応する印刷ジョブを画像出力装置に送信する。
【０１１７】
図１１は、図５中の処理可変部分１０００に対応する画像出力装置の処理の例を説明するフローチャートである。以降の説明において言及するジョブＩＤ、出力先画像出力装置ＩＤ、代行画像出力装置ＩＤは、図１７（Ａ）に示すマルチキャストメッセージ７００が含むジョブＩＤ、出力先画像出力装置ＩＤ、代行画像出力装置ＩＤと同じであるものとする。
【０１１８】
まず、画像出力装置１０２が、ネットワーク１０４上に送信されるパケットを監視して受信する（ステップＳ３４１）。ステップＳ３４１においては、画像出力装置１０２が備えるＣＰＵ１４２が、外部メモリ１５１に保存されている印刷制御プログラム１５４をＲＡＭ１４３にロードし、実行する。印刷制御プログラム１５４が、ネットワークＩ／Ｆ１４５を監視して、パケットを受信する。
【０１１９】
次に、画像出力装置１０２が、受信したパケットの種類を確認して、当該パケットが含むメッセージが、印刷ジョブ送信マルチキャストのメッセージであるかを判断する（ステップＳ３４２）。画像出力装置１０２は、当該メッセージが含むメッセージキーを参照し、このメッセージキーの値として”Ｓｅｎｔ  Ｐｒｉｎｔ  Ｊｏｂ”が設定されている場合、このメッセージが印刷ジョブ送信マルチキャストのメッセージであると判断する。そして、処理がステップＳ３４４に進む。
【０１２０】
パケットが含むメッセージが、印刷ジョブ送信マルチキャストのメッセージでない場合、画像出力装置１０２は、当該パケットに応じた処理を実行して（ステップＳ３４３）、ステップＳ３４１に進む。例えば、パケットが印刷ジョブを含む場合、画像出力装置１０２は、当該印刷ジョブを実行する。また、パケットが画像出力装置１０２の構成情報の送信を求める要求である場合、画像出力装置１０２は、要求元に構成情報を返信する。
【０１２１】
ステップＳ３４４において、画像出力装置１０２内で動作している印刷制御プログラム１５４が、印刷ジョブ送信マルチキャストのメッセージ内容を抽出する。受信されたパケットが含むメッセージが、例えば図１７（Ａ）に示すメッセージ７００である場合、印刷制御プログラム１５４は、このメッセージが含む情報を抽出する。例えば、印刷制御プログラム１５４は、ジョブＩＤとして、”６ｂｄｄ１ｆｃ６−８１０ｆ−１１ｄ０−ｂｅｃ７−０８００２ｂｅ２０９２ｆ”を抽出する。
【０１２２】
また、印刷制御プログラム１５４は、出力先画像出力装置ＩＤとして”ｃ４ａａ５ｆ４４−４ａｅ５−４８ｅ５−８ｆ２ａ−７ｄｄｆ４６ｄ３０ｃ４９”を抽出する。また、印刷制御プログラム１５４は、代行画像出力装置ＩＤとして、”１７８ａｅ８ｃ１−ｅ３４１−４３ａ５−９４ａｄ−ｂ４７８５６ｂ７４８ｂｅ”を抽出する。また、印刷制御プログラム１５４は、このメッセージから、印刷ジョブの取得先アドレスとして”ｈｔｔｐ：／／ｐｓｅｒｖｉｃｅ．ａｂｃ．ｊｐ／ｉｐｐ／”を抽出する。
【０１２３】
上記抽出された情報によれば、出力先画像出力装置１０２ａは、画像出力装置Ａ（１０２ａ）、代行画像出力装置は画像出力装置Ｂ（１０２ｂ）であることがわかる。印刷制御プログラム１５４は、上記抽出された情報を外部メモリ１５１内のマルチキャストデータ保存領域１５５に保存する。
【０１２４】
次に、画像出力装置１０２のＣＰＵが、自装置が出力先画像出力装置１０２ａであるか、代行画像出力装置１０２ｂであるか、いずれでもないかを判断する（ステップＳ３４５）。すなわち、画像出力装置１０２のＣＰＵ１４２は、上記メッセージから抽出された情報が含む出力先画像出力装置ＩＤと代行画像出力装置ＩＤとに基づいて、ステップＳ３４５の判断処理を実行する第１の判断手段として機能する。
【０１２５】
画像出力装置１０２は、自装置の画像出力装置ＩＤが上記メッセージから抽出された情報が含む出力先画像出力装置ＩＤと一致する場合、自装置が出力先画像出力装置１０２ａであると判断して、ステップＳ３４７に進む。そして、画像出力装置１０２が、印刷代行依頼判定を行う（ステップＳ３４７）。
【０１２６】
画像出力装置１０２は、自装置の画像出力装置ＩＤが上記メッセージから抽出された情報が含む代行画像出力装置ＩＤと一致する場合、自装置が代行画像出力装置１０２ｂであると判断して、ステップＳ３４６に進む。そして、画像出力装置１０２が、代行画像出力装置処理を実行する（ステップＳ３４６）。この例では、画像出力装置Ｂが代行画像出力装置処理を実行する。
【０１２７】
画像出力装置１０２は、自装置の画像出力装置ＩＤが出力先画像出力装置ＩＤと代行画像出力装置ＩＤとのいずれとも一致しない場合、自装置が出力先画像出力装置１０２ａ、代行画像出力装置１０２ｂのいずれでもないと判断する。そして、処理がステップＳ３４１に戻る。
【０１２８】
次に、画像出力装置１０２が、印刷代行依頼判定の結果に基づいて、自装置が印刷処理を実行するかを判断する（ステップＳ３４８）。画像出力装置１０２が、自装置が印刷処理を実行すると判断した場合は、ステップＳ３５０に進む。そして、画像出力装置１０２のＣＰＵ１４２が、プリントサービスサーバ装置１０３から印刷ジョブを取得し、この印刷ジョブを実行する（ステップＳ３５０）。すなわち、ＣＰＵ１４２は、印刷処理に対応する印刷ジョブをプリントサービスサーバ装置１０３から取得して実行するジョブ実行手段として機能する。
【０１２９】
ステップＳ３５０における処理について説明する。まず、画像出力装置１０２が、マルチキャストデータ保存領域１５５に保存されているジョブＩＤを取得する。例えば、画像出力装置１０２は、ジョブＩＤとして”６ｂｄｄ１ｆｃ６−８１０ｆ−１１ｄ０−ｂｅｃ７−０８００２ｂｅ２０９２ｆ”を取得する。次に、画像出力装置１０２は、マルチキャストデータ保存領域１５５に保存されている、印刷ジョブの取得先アドレスを取得する。画像出力装置１０２は、取得した印刷ジョブの取得先アドレスが示すプリントサービスサーバ装置１０３に対して、ジョブＩＤと自身の画像出力装置ＩＤを含む印刷ジョブの取得要求を行う。そして、画像出力装置１０２が、プリントサービスサーバ装置１０３から印刷ジョブの取得要求に対する応答として印刷ジョブを取得する。
【０１３０】
次に、画像出力装置１０２のＣＰＵ１４２が、ジョブ取得マルチキャストをネットワーク１０４に同報する（ステップＳ３５１）。すなわち、ＣＰＵ１４２は、以下の処理を実行するジョブ取得同報手段として機能する。ＣＰＵ１４２は、自装置が印刷処理を実行すると判断し（Ｓ３４８でＹｅｓ）、印刷ジョブをプリントサービスサーバ装置１０３から取得した場合に、自装置が印刷ジョブを取得したことを示すメッセージをネットワーク１０４上に同報する。
【０１３１】
図１７（Ｂ）は、ジョブ取得マルチキャストが含むメッセージ７２０の例を示す。符号７２１は、このマルチキャストの種類を識別するメッセージキーである。この例では、”Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｒｉｎｔｅｒ  Ｐｕｌｌｅｄ  Ｐｒｉｎｔ  Ｊｏｂ”という値がメッセージキーとして設定されている。”Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｒｉｎｔｅｒ  Ｐｕｌｌｅｄ  Ｐｒｉｎｔ  Ｊｏｂ”は、このメッセージの送信元の画像出力装置が印刷ジョブを取得したことを示す。
【０１３２】
図１１に戻って、画像出力装置１０２が、プリントサービスサーバ装置１０３に対して、印刷ジョブの削除要求を行って（ステップＳ３５２）、ステップＳ３４１に戻る。
【０１３３】
上記ステップＳ３４８における判断処理によって、画像出力装置１０２が、自装置が印刷処理を実行しないと判断した場合、画像出力装置１０２は、代行印刷依頼マルチキャストをネットワーク１０４上に同報して（ステップＳ３４９）、ステップＳ３４１に戻る。
【０１３４】
図１７（Ｃ）は、代行印刷依頼マルチキャストのメッセージ７４０の例を示す。符号７４１は、このマルチキャストの種類を識別するメッセージキーである。この例では、”Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｒｉｎｔｅｒ  Ｃａｎｎｏｔ  Ｐｕｌｌ  Ｐｒｉｎｔ  Ｊｏｂ”という値がメッセージキーとして設定されている。メッセージキーの値”Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｒｉｎｔｅｒ  Ｃａｎｎｏｔ  Ｐｕｌｌ  Ｐｒｉｎｔ  Ｊｏｂ”は、このメッセージが代行印刷依頼マルチキャストのメッセージであることを示す。
【０１３５】
すなわち、このメッセージキーの値は、印刷処理の代行を、符号７４４が示す代行画像出力装置ＩＤに対応する代行画像出力装置に対して指示する制御情報として機能する。符号７４４は、代行画像出力装置ＩＤを示す。この代行画像出力装置ＩＤは、図１７（Ａ）に示す印刷ジョブ送信マルチキャストのメッセージが含む代行画像出力装置ＩＤである。この代行画像出力装置ＩＤに対応する代行画像出力装置が、図１７（Ｃ）に示す代行印刷依頼マルチキャストを受信すると、以下の処理を実行する。代行画像出力装置は、出力先画像出力装置１０２ａの代わりに、印刷ジョブをプリントサービスサーバ装置１０３から取得し、実行する。
【０１３６】
図１２は、図１１のステップＳ３４７における印刷代行依頼判定の例を説明するフローチャートである。本実施形態では、画像出力装置Ａ（１０２ａ）が出力先画像出力装置であり、画像出力装置Ｂ（１０２ｂ）が代行画像出力装置であると想定している。従って、図１２の説明においては、処理の主体を画像出力装置Ａと記述する。
【０１３７】
まず、画像出力装置Ａが、自装置が印刷可能状態（レディー状態）であるかを確認する（ステップＳ３６１）。続いて、画像出力装置Ａが、ステップＳ３６１における確認結果に基づいて、自装置が印刷可能であるかを判断する（ステップＳ３６２）。
【０１３８】
画像出力装置Ａが、自装置が印刷可能であると判断した場合は、ステップＳ３７０に進む。画像出力装置Ａが、自装置が印刷可能でないと判断した場合は、ステップＳ３６３に進む。
【０１３９】
次に、画像出力装置ＡのＣＰＵ１４２が、代行画像出力装置である画像出力装置Ｂが印刷可能状態（レディー状態）であるかを確認する（ステップＳ３６３）。ステップＳ３６３における処理について説明する。画像出力装置Ａが、ステータス要求マルチキャストをネットワーク１０４上に同報する。ステータス要求マルチキャストは、代行画像出力装置の印刷状態の送信を求める情報を含む。
【０１４０】
図１７（Ｄ）は、ステータス要求マルチキャストのメッセージ７６０の例を示す。符号７６１は、このマルチキャストの種類を識別するメッセージキーである。この例では、”Ｒｅｑｕｅｓｔ  Ｓｔａｔｕｓ”という値がメッセージキーとして設定されている。このメッセージキーの値”Ｒｅｑｕｅｓｔ  Ｓｔａｔｕｓ”は、このメッセージがステータス要求マルチキャストのメッセージであることを示す。具体的には、このメッセージは、符号７６３が示す代行画像出力装置ＩＤに対応する代行画像出力装置の印刷状態の送信を求めるメッセージである。
【０１４１】
画像出力装置ＡのＣＰＵ１４２は、この代行画像出力装置ＩＤとして、印刷ジョブ送信マルチキャストのメッセージが含む代行画像出力装置ＩＤを用いる。符号７６２は、このメッセージの送信元の画像出力装置（画像出力装置Ａ）の画像出力装置ＩＤである。このステータス要求マルチキャストを画像出力装置Ｂが受信して、自装置の印刷状態を画像出力装置Ａに返信する（ステータス応答マルチキャストを同報する）。
【０１４２】
すなわち、ＣＰＵ１４２は、自装置が出力先画像出力装置１０２ａであると判断した場合に、印刷ジョブ送信マルチキャストのメッセージが含む代行画像出力装置ＩＤに基づいて、該代行画像出力装置から装置状態を取得する取得手段として機能する。
【０１４３】
図１７（Ｅ）は、ステータス応答マルチキャストのメッセージ７８０の例を示す。符号７８１は、このマルチキャストの種類を識別するメッセージキーである。この例では、”Ｒｅｐｌｙ  Ｓｔａｔｕｓ”という値がメッセージキーとして設定されている。このメッセージキーの値”Ｒｅｐｌｙ  Ｓｔａｔｕｓ”は、このメッセージがステータス応答マルチキャストのメッセージであることを示す。具体的には、このメッセージは、符号７８３が示す代行画像出力装置ＩＤに対応する代行画像出力装置が、符号７８４が示す自装置の印刷状態を符号７８２が示す画像出力装置に対して応答するメッセージである。
【０１４４】
この例では、符号７８４が示すＳｔａｔｕｓキーの値として、”Ｒｅａｄｙ  ｔｏ  Ｐｒｉｎｔ”が設定されている。従って、代行画像出力装置（画像出力装置Ｂ）が印刷可能状態である。なお、画像出力装置Ｂが印刷可能状態でない場合、Ｓｔａｔｕｓキーの値として、”Ｂｕｓｙ”が設定される。
【０１４５】
図１２に戻って、画像出力装置Ａが、画像出力装置Ｂからステータス応答マルチキャストを受信する。画像出力装置Ａは、受信したステータス応答マルチキャストのメッセージ内容に基づいて、画像出力装置Ｂが印刷可能状態であるかを判断する（ステップＳ３６４）。画像出力装置Ｂが印刷可能状態でない場合は、ステップＳ３７０に進む。画像出力装置Ｂが印刷可能状態である場合は、ステップＳ３６５に進む。
【０１４６】
なお、画像出力装置Ｂが何らかの理由で応答できない場合、ステータス応答マルチキャストは送信されない。この場合には、画像出力装置Ａは、予め決められた期間が経過したか（タイムアウトしたか）を判断する。画像出力装置Ａが、タイムアウトしたと判断した場合、画像出力装置Ａは、画像出力装置Ｂが印刷可能状態でないと判断して、ステップＳ３７０に進む。
【０１４７】
ステップＳ３６５において、画像出力装置Ａが、自装置の状態を確認する（ステップＳ３６５）。そして、画像出力装置Ａが、確認した自装置の状態に基づいて、自装置の復旧時間を算出できるかを判断する（ステップＳ３６６）。具体的には、画像出力装置Ａが、自装置の状態が、外部要因により復旧することができる状態、内部要因により復旧することができる状態のいずれであるかを判断する。
【０１４８】
外部要因により復旧することができる状態は、例えば、出力用紙なし、トナーなし、あるいはサービスパーソンメンテナンス中などの状態である。内部要因により復旧することができる状態は、例えば、スリープ中、画質調整のためのキャリブレーション中、ジョブキューにジョブがある状態である。
【０１４９】
自装置の状態が、内部要因により復旧することができる状態である場合、画像出力装置Ａは、自装置の復旧時間を算出できると判断して、ステップＳ３６７に進む。自装置の状態が、外部要因により復旧することができる状態である場合、画像出力装置Ａは、自装置の復旧時間を算出できないと判断して、ステップＳ３７１に進む。
【０１５０】
ステップＳ３６７において、画像出力装置Ａが、プリントサービスサーバ装置１０３に対して、印刷ジョブの取得可能時間を問い合わせて、印刷ジョブの取得可能時間を取得する（ステップＳ３６７）。問い合わせ対象となる印刷ジョブは、印刷ジョブ送信マルチキャストのメッセージ（図１７（Ａ））によって指示される印刷処理に対応する印刷ジョブである。
【０１５１】
印刷ジョブの取得可能時間は、印刷ジョブの印刷属性設定と印刷ジョブの量とに依存している。すなわち、プリントサービスサーバ装置１０３は、印刷ジョブを受信した後、順次ページ処理していくが、例えば、通常の印刷設定の場合は、１ページ目の処理が終わった段階で画像出力装置へ印刷ジョブを送信することが可能となる。
【０１５２】
また、例えば、製本印刷設定の場合は、プリントサービスサーバ装置１０３は、全ページの処理が終わり製本レイアウトを行う面付けが終わってからはじめて画像出力装置へ印刷ジョブを送信することが可能となる。また、プリントサービスサーバ装置１０３の印刷ジョブキューに保持している印刷ジョブの量が多い場合には、画像出力装置が印刷ジョブを取得する時間が長くなる。従って、プリントサービスサーバ装置１０３は、印刷ジョブの印刷属性設定と印刷ジョブの量とに基づいて、印刷ジョブの取得可能時間を算出して画像出力装置Ａに送信する。
【０１５３】
次に、画像出力装置ＡのＣＰＵ１４２が、自装置が印刷処理を実行した場合の印刷出力時間と、画像出力装置Ｂが印刷処理した場合の印刷出力時間とを算出する（ステップＳ３６８）。すなわち、ＣＰＵ１４２は、自装置装置の状態が印刷可能状態でなく、かつ画像出力装置Ｂが印刷可能状態である場合に（Ｓ３６２でＮｏ，Ｓ３６４でＹｅｓ）以下の処理を実行する。ＣＰＵ１４２は、画像出力装置Ａの印刷出力時間（第１の印刷処理時間）と、画像出力装置Ｂの印刷出力時間（第２の印刷処理時間）とを算出する。
【０１５４】
以下に、ステップＳ３６８における処理について説明する。まず、画像出力装置ＡのＣＰＵ１４２は、自装置の復旧時間を算出する。そして、ＣＰＵ１４２は、下記の式（１）に従って、画像出力装置Ａの印刷出力時間を算出する。
【０１５５】
画像出力装置Ａの印刷出力時間＝ＭＡＸ（復旧時間，印刷ジョブの取得可能時間）＋ジョブキュー印刷ジョブの印刷時間＋プリントサービスサーバ装置から取得する印刷ジョブの印刷時間・・・式（１）
【０１５６】
式（１）において、ＭＡＸ（復旧時間，印刷ジョブの取得可能時間）は、復旧時間と印刷ジョブの取得可能時間のいずれか大きいほうを示す。ジョブキュー印刷ジョブの印刷時間は、画像出力装置Ａが備えるジョブキューに格納されている印刷ジョブを実行するのにかかる時間である。プリントサービスサーバ装置から取得する印刷ジョブの印刷時間（以下、印刷時間Ａ）は、画像出力装置Ａがプリントサービスサーバ装置１０３から取得する印刷ジョブの実行にかかる時間である。
【０１５７】
また、画像出力装置Ａは、下記の式（２）に従って、画像出力装置Ｂの印刷出力時間を算出する。
画像出力装置Ｂの印刷出力時間＝印刷ジョブの取得可能時間＋プリントサービスサーバ装置から取得する印刷ジョブの印刷時間
【０１５８】
式（２）において、プリントサービスサーバ装置から取得する印刷ジョブの印刷時間（以下、印刷時間Ｂ）は、画像出力装置Ｂがプリントサービスサーバ装置１０３から取得する印刷ジョブの実行にかかる時間である。
【０１５９】
画像出力装置Ａは、印刷時間Ａ，Ｂを、印刷ジョブ送信マルチキャスト（図１７（Ａ））に設定されている印刷ジョブのページ数（７０７）と印刷処理速度（７０５，７０６）に基づいて算出する。
【０１６０】
例えば、ユーザが印刷するドキュメントは６０ページであり、画像出力装置Ａの印刷処理速度は６０ページ／分、画像出力装置Ｂの印刷処理速度は３０ページ／分であるものとする。画像出力装置Ａは、６０ページを画像出力装置Ａの印刷処理速度で除算する。これにより、画像出力装置Ａは、印刷処理速度Ａとして、１分を算出する。画像出力装置Ａは、６０ページを画像出力装置Ｂの印刷処理速度で除算する。これにより、画像出力装置Ａは、印刷処理速度Ｂとして、２分を算出する。
【０１６１】
ここで、印刷ジョブの取得可能時間が１００秒後、画像出力装置Ａの復旧時間が２５０秒後であるものとする。また、画像出力装置Ａのジョブキューには印刷ジョブがないものとする。この場合、画像出力装置Ａ，Ｂの印刷出力時間は、以下のようになる。
【０１６２】
画像出力装置Ａの印刷出力時間＝ＭＡＸ（２５０秒，１００秒）＋０＋６０／６０分＝３１０秒
画像出力装置Ｂの印刷出力時間＝１００秒＋６０／３０分＝２２０秒
【０１６３】
すなわち、ＣＰＵ１４２は、少なくとも、画像形成装置Ａの印刷処理速度と、印刷ジョブの量と、印刷ジョブの取得可能時間とに基づいて、画像形成装置Ａに対応する印刷出力時間を算出する。また、ＣＰＵ１４２は、少なくとも、画像形成装置Ｂの印刷処理速度と、印刷ジョブの量と、印刷ジョブの取得可能時間とに基づいて、画像形成装置Ｂに対応する印刷出力時間を算出する。
【０１６４】
次に、画像出力装置Ａは、画像出力装置Ａの印刷出力時間と画像出力装置Ｂの印刷出力時間とを比較して、画像出力装置Ａの印刷出力時間のほうが短いかを判断する（ステップＳ３６９）。画像出力装置Ａの印刷出力時間のほうが短い場合、画像出力装置Ａは、自装置が印刷処理を実行すると判断する（ステップＳ３７０）。
【０１６５】
画像出力装置Ａの印刷出力時間のほうが長い場合、画像出力装置Ａは、自装置が印刷処理を実行しないと判断する（ステップＳ３７１）。具体的には、画像出力装置ＡのＣＰＵ１４２が、画像出力装置Ｂに印刷処理の代行を依頼すると判断する。画像出力装置Ａが上記ステップＳ３６９の判断処理をすることによって、自装置または画像出力装置Ｂのうち、トータルで印刷出力時間が短いほうを、印刷処理を実行する画像出力装置として決定することができる。
【０１６６】
上記のステップＳ３６３乃至Ｓ３７０の処理に関する説明から、画像出力装置ＡのＣＰＵ１４２は、画像出力装置Ａの装置状態と、画像出力装置Ｂの装置状態とに基づいて、以下の判断処理を実行する（第２の判断手段である）。ＣＰＵ１４２は、画像出力装置Ａがクライアント装置１０１が同報した印刷ジョブマルチキャストが指示する印刷処理を実行するか、または画像出力装置Ｂに該印刷処理の代行を依頼するかを判断する。
【０１６７】
また、画像出力装置ＡのＣＰＵ１４２は、自装置の装置状態が印刷可能状態である場合（Ｓ３６２でＹｅｓ）に、画像出力装置Ａが印刷処理を実行すると判断する（Ｓ３７０）。また、ＣＰＵ１４２は、自装置装置の状態が印刷可能状態でなく、かつ画像出力装置Ｂが印刷可能状態でない場合（Ｓ３６２でＮｏ，Ｓ３６４でＹｅｓ）に、画像出力装置Ａが印刷処理を実行すると判断する（Ｓ３７０）。
【０１６８】
図１３は、図１１のステップＳ３４６における代行画像出力装置処理の例を説明するフローチャートである。まず、代行画像出力装置１０２ｂである画像出力装置ＢのＣＰＵ１４２が、ネットワーク１０４上に同報される、出力先画像出力装置１０２ａである画像出力装置Ａからのマルチキャストのメッセージを監視する（ステップＳ３８１）。すなわち、ＣＰＵ１４２は、ネットワーク１０４上に同報されるメッセージを監視して受信するメッセージ受信手段として機能する。
【０１６９】
次に、画像出力装置Ｂが、監視時間が予め決められた時間を経過したか、すなわち、タイムアウトが発生したかを判断する（ステップＳ３８２）。タイムアウトが発生していない場合は、ステップＳ３８３に進む。タイムアウトが発生した場合、画像出力装置Ｂは、出力先画像出力装置１０２ａである画像出力装置Ａが印刷できない状態であると判断し、ステップＳ３８６に進む。
【０１７０】
ステップＳ３８６において、画像出力装置ＢのＣＰＵ１４２が、プリントサービスサーバ装置１０３から印刷ジョブを取得し、印刷出力する。つまり、画像出力装置Ｂが、画像出力装置Ａに代行して印刷処理を実行する。
【０１７１】
すなわち、ＣＰＵ１４２は、自装置が代行画像出力装置１０２ｂであると判断してから予め決められた期間、ネットワーク１０４上に同報されるメッセージを監視する。そして、ＣＰＵ１４２は、ネットワーク１０４上に同報されるメッセージの監視期間が予め決められた期間を超えた場合に、印刷ジョブをプリントサービスサーバ装置１０３から取得して実行する。
【０１７２】
ステップＳ３８３において、画像出力装置Ｂが、画像出力装置Ａからのマルチキャストを受信したかを判断する（ステップＳ３８３）。画像出力装置Ｂが、画像出力装置Ａからのマルチキャストを受信していないと判断した場合は、ステップＳ３８１に戻る。画像出力装置Ｂが、画像出力装置Ａからのマルチキャストを受信したと判断した場合は、ステップＳ３８４に進む。
【０１７３】
次に、画像出力装置Ｂが、受信したマルチキャストのメッセージを解析する（ステップＳ３８４）。そして、画像出力装置ＢのＣＰＵ１４２が、受信したメッセージが、代行印刷依頼マルチキャストのメッセージであるかを判断する（ステップＳ３８５）。ここで、画像出力装置Ｂが受信したマルチキャストのメッセージは、ジョブ取得マルチキャストのメッセージ（図１７（Ｂ））か、または代行印刷依頼マルチキャストのメッセージ（図１７（Ｃ））である。
【０１７４】
受信したメッセージが、代行印刷依頼マルチキャストのメッセージでない、すなわち、ジョブ取得マルチキャストのメッセージである場合は、画像出力装置ＢのＣＰＵ１４２は、ネットワーク１０４上に同報されるメッセージの監視を中止して、処理を終了する。
【０１７５】
受信したメッセージが、代行印刷依頼マルチキャストのメッセージである場合は、ステップＳ３８６に進み、画像出力装置ＢのＣＰＵ１４２が、画像出力装置Ａに代行して印刷処理を実行する。すなわち、ＣＰＵ１４２は、自装置が代行画像出力装置１０２ｂであると判断し、かつ、受信したマルチキャストのメッセージが代行印刷依頼マルチキャストのメッセージである場合に、印刷ジョブをプリントサービスサーバ装置１０３から取得して実行する。次に、画像出力装置Ｂが、印刷処理完了後、プリントサービスサーバ装置１０３に対して、印刷ジョブの削除要求を行い（ステップＳ３８７）、処理を終了する。
【０１７６】
図１４は、プリントサービスサーバ装置の動作処理例を説明するフローチャートである。なお、プリントサービスサーバ装置１０３は、サーバとして常にサービスを提供するため、各種プリントサービスプログラム１８４が、予めＣＰＵ１７１によってＲＡＭ１７２にロードされ、実行状態にある。
【０１７７】
ステップＳ３９１において、プリントサービスサーバ装置１０３が、ネットワークパケットを受信する（ステップＳ３９１）。続いて、プリントサービスサーバ装置１０３が、受信したネットワークパケットが、自分宛であるかを判断する（ステップＳ３９２）。プリントサービスサーバ装置１０３が、受信したネットワークパケットが、自分宛でないと判断した場合は、ステップＳ３９１に戻る。プリントサービスサーバ装置１０３が、受信したネットワークパケットが、自分宛であると判断した場合は、ステップＳ３９３に進む。
【０１７８】
次に、プリントサービスサーバ装置１０３が、受信したネットワークパケットの種類を判定することによって、パケットが指示する処理内容を決定する（ステップＳ３９３）。次に、プリントサービスサーバ装置１０３が、処理内容が、印刷ジョブの受信、印刷ジョブの送信・削除、プリンタ・ユーザ登録のいずれであるかを判断する（ステップＳ３９４）。
【０１７９】
印刷ジョブの受信は、プリントサービスサーバ装置１０３が、クライアント装置１０１がプリントサービスサーバ装置１０３に対して投入した印刷ジョブを受信する処理を示す。印刷ジョブの送信・削除は、プリントサービスサーバ装置１０３が、印刷ジョブの取得要求の送信元の画像出力装置（出力先画像出力装置１０２ａまたは代行画像出力装置１０２ｂ）に対して印刷ジョブを投入する処理、または印刷ジョブを削除する処理を示す。プリンタ・ユーザ登録は、クライアント装置１０１のユーザについてのユーザ登録処理（図８のＳ３０２）と、画像出力装置情報の登録処理（図８のＳ３０４）を示す。
【０１８０】
処理内容が印刷ジョブの受信である場合は、ステップＳ３９５に進む。そして、プリントサービスサーバ装置１０３の印刷ジョブ受信プログラム１８７が、クライアント装置１０１のプリンタドライバ１３４から出力される印刷ジョブを受信する。印刷ジョブ受信プログラム１８７は、受信した印刷ジョブをプリントサービスサーバ装置１０３内の印刷ジョブスプール領域１９１に保存する（ステップＳ３９５）。具体的には、印刷ジョブ受信プログラム１８７は、印刷ジョブからジョブＩＤ、出力先画像出力装置ＩＤ、代行画像出力装置ＩＤを抽出する。印刷ジョブ受信プログラム１８７は、抽出したこれらの情報を印刷ジョブと関連付けて、印刷ジョブスプール領域１９１に保存する。ステップＳ３９５の処理の後、ステップＳ３９１に戻る。
【０１８１】
処理内容が印刷ジョブの送信・削除である場合は、ステップＳ３９６に進む。プリントサービスサーバ装置１０３の印刷データ送信プログラム１８８が、印刷ジョブの取得要求の送信元の画像出力装置１０２に対して印刷ジョブを送信する処理、または印刷ジョブの削除要求に応じて印刷ジョブを削除する処理を行う（ステップＳ３９６）。
【０１８２】
ステップＳ３９６においては、印刷データ送信プログラム１８８は、印刷ジョブの取得要求の送信元の画像出力装置１０２がデータベース１９０に登録されているかを判断する。印刷データ送信プログラム１８８は、画像出力装置１０２がデータベース１９０に登録されている場合に、該該画像出力装置１０２に印刷ジョブを送信する。ステップＳ３９６の処理の後、ステップＳ３９１に戻る。
【０１８３】
処理内容が、プリンタ・ユーザ登録である場合は、ステップＳ３９７に進む。そして、プリントサービスサーバ装置１０３が、ユーザ登録と画像出力装置情報の登録を行う（ステップＳ３９７）。そして、処理がステップＳ３９１に戻る。
【０１８４】
第１の実施形態の印刷システムによれば、プリントサービスサーバ装置１０３を介した印刷処理を実行する場合に、以下の効果を奏することができる。すなわち、この印刷処理システムによれば、出力先画像出力装置１０２ａが印刷処理を実行できないとき、出力先画像出力装置１０２ａを管理するプリントサービスサーバ装置１０３により管理される代行画像出力装置１０２ｂが印刷処理を実行することができる。
【０１８５】
次に、本発明の第２の実施形態について説明する。第２の実施形態の印刷システムの構成は、図１に示す第１の実施形態の印刷システムの構成と同様である。前述した第１の実施形態においては、プリントサービスサーバ装置１０３が、クライアント装置１０１に対して、どの画像出力装置が印刷ジョブを取得したかを示す情報を含む電子メール（印刷先メール）を通知する（図５のステップＳ２２４）。しかし、メールアプリケーションは、一般に、一定時間間隔でＰＯＰサーバ（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌサーバ）にメールの配信がないか問い合わせをする。従って、メールの送信タイミングによっては、印刷ジョブを取得した画像出力装置（印刷出力先）の通知が遅くなる可能性がある。
【０１８６】
そこで、第２の実施形態においては、プリントサービスサーバ装置１０３が、以下の手順で印刷出力先を通知する。まず、クライアント装置１０１のプリンタドライバ１３４が、印刷ジョブをプリントサービスサーバ装置１０３に送信した後、印刷完了のマルチキャストを受信するためのデーモンサービスを立ち上げる。このデーモンサービスは、印刷出力先の画像出力装置１０２から送信される、ジョブ取得マルチキャストを受信するプログラムである。
【０１８７】
すなわち、デーモンサービスは、プリントサービスサーバ装置１０３に対して印刷ジョブが投入された場合に、以下の処理を実行する受信手段として機能する。デーモンサービスは、上記投入された印刷ジョブをプリントサービスサーバ装置１０３から取得して実行する画像出力装置１０２からネットワーク１０４上に同報される、該画像出力装置１０２が印刷ジョブを取得することを示すメッセージを受信する。
【０１８８】
第２の実施形態では、出力先画像出力装置１０２ａおよび代行画像出力装置１０２ｂのうち、印刷出力先となる画像出力装置１０２は、ジョブ取得マルチキャストをネットワークに同報する。出力先画像出力装置１０２ａが同報するジョブ取得マルチキャストのメッセージは、前述した図１７（Ｂ）に示すメッセージである。代行画像出力装置１０２ｂが同報するジョブ取得マルチキャストのメッセージは、前述した図１７（Ｂ）に示すメッセージのメッセージキーの値が、”Ｐｒｏｘｙ  Ｐｒｉｎｔｅｒ  Ｐｕｌｌｅｄ  Ｐｒｉｎｔ  Ｊｏｂ”という値に置き換わった構成を有する。
【０１８９】
クライアント装置１０１のデーモンサービスは、ジョブ取得マルチキャストを受信し、ジョブ取得マルチキャストのメッセージ内容に基づいて、印刷出力先となる画像出力装置１０２を判断する。具体的には、デーモンサービスが、ジョブ取得マルチキャストが含む、印刷出力先となる画像出力装置のＩＤを取得する。そして、デーモンサービスが、画像出力装置情報保存領域１３５に保存されている情報から、取得された画像出力装置のＩＤに一致するレコードを取得し、このレコードが含む画像出力装置名を表示する。これにより、ユーザが、印刷出力先となる画像出力装置を知ることができる。第２の実施形態の印刷システムによれば、プリントサービスサーバ装置１０３が、クライアント装置１０１に対して、印刷先メールを通知する必要がなくなる。
【０１９０】
次に、本発明の第３の実施形態について説明する。前述した第１の実施形態においては、クライアント装置１０１にプリンタドライバ１３４がインストールされている。しかし、スマートフォンに代表される携帯端末では、搭載しているオペレーティングシステムの構造上、プリンタドライバ１３４がインストールできない場合がある。従って、第３の実施形態では、クライアント装置が備える、ユーザドキュメントを印刷するアプリケーションが、第１の実施形態で説明したプリンタドライバ１３４の機能を備える。
【０１９１】
図１８は、第３の実施形態におけるクライアント装置の構成例を示す図である。第３の実施形態の印刷システムは、図１のクライアント装置１０１に代えて、図１８のクライアント装置８０１を備える。
【０１９２】
クライアント装置８０１は、無線で通信を行う。クライアント装置８０１が備えるＣＰＵ８１１乃至メモリＩ／Ｆ８１７は、図２中のＣＰＵ１１１乃至外部メモリＩ／Ｆ１１７と同様の機能を有する。また、システムバス８２１は、図２中のシステムバス１２１と同様の機能を有する。また、表示部８１９、操作部８２０は、それぞれ、図２中の表示部１１９、キーボードと同様の機能を有する。
【０１９３】
クライアント装置８０１が備える無線ネットワーク通信部８１８は、無線通信を実行する処理部である。無銭ネットワーク通信部８１８には、メモリが内蔵されていてもよい。メモリ８３１には、無線経由、あるいはメンテナンス用の有線ケーブル経由で、ＯＳやアプリケーションのインストール、アップデートを行うことができる。メモリ８３１にはＯＳ８３２、アプリケーション８３３がインストールされる。また、アプリケーション８３３には、各モジュールが含まれている。
【０１９４】
第３の実施形態においては、画像出力装置探索モジュール８３４が、ネットワーク１０４上の画像出力装置１０２を探索し、探索結果を、表示部８１９が備える操作画面上にリストして表示する。
【０１９５】
また、画像出力装置探索モジュール８３４は、探索した画像出力装置の画像出力装置情報を取得し、画像出力装置情報保存領域８３５に保存する。画像出力装置情報の内容は、第１の実施形態における画像出力装置情報の内容と同様である。
【０１９６】
すなわち、画像出力装置探索モジュール８３４は、ネットワーク１０４上に設けられている画像出力装置の画像出力装置情報を探索して取得する探索手段として機能する。また、画像出力装置探索モジュール８３４は、取得された画像出力装置情報を表示する表示手段として機能する。
【０１９７】
クライアント装置８０１のユーザは、操作画面上に表示された画像出力装置情報を参照して、出力先画像出力装置１０２ａと代行画像出力装置１０２ｂとを指定する。クライアント装置８０１のＣＰＵ８１１は、当該ユーザの指定操作に基づいて、出力先画像出力装置１０２ａと代行画像出力装置１０２ｂとを選択する。
【０１９８】
ユーザが印刷指示を行うと、印刷ジョブ送信モジュール８３６が印刷ジョブの生成を行い、プリントサービスサーバ装置１０３に送信する。印刷ジョブの送信の後、印刷ジョブ送信モジュール８３６が、マルチキャスト送信モジュール８３７に指示して、ネットワーク１０４上に印刷ジョブ送信マルチキャストを同報させる。第３の実施形態では、クライアント装置８０１が備える、ユーザドキュメントを印刷するアプリケーションが、第１の実施形態で説明したプリンタドライバ１３４の機能を備える。
【０１９９】
第３の実施形態の印刷システムによれば、クライアント装置８０１が、プリンタドライバ１３４の機能を備える画像出力装置探索モジュール８３４を用いて、画像出力装置情報を取得することができる。
【０２００】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０２０１】
１０１  クライアント装置
１０２  画像出力装置
１０３  プリントサービスサーバ装置
【図１】
0005773794.tif 000002
【図２】
0005773794.tif 000003
【図３】
0005773794.tif 000004
【図４】
0005773794.tif 000005
【図５】
0005773794.tif 000006
【図６】
0005773794.tif 000007
【図７】
0005773794.tif 000008
【図８】
0005773794.tif 000009
【図９】
0005773794.tif 000010
【図１０】
0005773794.tif 000011
【図１１】
0005773794.tif 000012
【図１２】
0005773794.tif 000013
【図１３】
0005773794.tif 000014
【図１４】
0005773794.tif 000015
【図１５】
0005773794.tif 000016
【図１６】
0005773794.tif 000017
【図１７】
0005773794.tif 000018
【図１８】
0005773794.tif 000019