(57)【特許請求の範囲】
【請求項１】
外部装置がクライアント装置から受信した文書データから生成した印刷データを、ネットワークを介して前記外部装置から取得する取得手段と、
取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定する判定手段と、
仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知する通知手段と、
を含み、
前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、
前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知する、画像形成装置であって、
前記取得手段が取得した本ジョブの印刷データを、印刷出力のために処理する処理手段と、
前記取得手段が仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理手段が処理するまでの期間に前記取得手段が取得した後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理手段による処理を少なくともその期間については保留するよう制御する保留制御手段と、
を更に含む画像形成装置。
【請求項２】
前記仮ジョブには、対応する文書データのサイズを示すサイズ情報が含まれ、
前記通知手段は、前記あらかじめ定められた条件を満たす期間として、前記仮ジョブに含まれる前記サイズ情報に基づいて求められる期間を用いる、
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記取得手段が取得する印刷データに係るジョブの状態の遷移を前記外部装置に通知する状態通知手段であって、前記本ジョブの印刷データの取得が開始されると、その本ジョブに対応する仮ジョブの状態の「待機中」から「処理中」への遷移を前記外部装置に通知するが、その本ジョブについては「待機中」から「処理中」への遷移を通知しないことで、前記外部装置が管理する仮ジョブの状態を「処理中」に遷移させつつも、本ジョブの状態を「待機中」のまま維持する状態通知手段と、
前記取得手段による前記本ジョブの印刷データの取得が失敗した場合に、前記取得手段に前記本ジョブの印刷データの再取得を行わせる手段と、
を更に含む請求項１又は２に記載の画像形成装置。
【請求項４】
前記取得手段が取得した前記印刷データが仮ジョブであると前記判定手段により判定された場合に、当該仮ジョブに対応する本ジョブに関する情報を印刷出力する手段、を更に備える請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
クライアント装置と、
前記クライアント装置から受信した文書データから印刷データを生成し、生成した印刷データを前記画像形成装置に提供する外部装置と、
前記外部装置から取得した印刷データを印刷出力のために処理する画像形成装置と、
を含み、
前記クライアント装置は、
ユーザから文書データについての印刷指示を受けた場合に、その文書データを本ジョブとして前記外部装置に送信する前に、仮ジョブの文書データを、ネットワークを介して前記外部装置に送信する送信手段、
を含み、
前記画像形成装置は、
前記仮ジョブ及び前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得する取得手段と、
取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定する判定手段と、
仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知する通知手段と、
を含み、
前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、
前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知し、
前記画像形成装置は、
前記取得手段が取得した本ジョブの印刷データを、印刷出力のために処理する処理手段と、
前記取得手段が仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理手段が処理するまでの期間に前記取得手段が取得した後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理手段による処理を少なくともその期間については保留するよう制御する保留制御手段と、をさらに含む、
ことを特徴とする画像処理システム。
【請求項６】
クライアント装置と、
前記クライアント装置から受信した文書データから印刷データを生成し、生成した印刷データを、ネットワークを介して前記画像形成装置に提供する外部装置と、
前記外部装置から取得した印刷データを印刷出力のために処理する画像形成装置と、
を含み、
前記クライアント装置は、
ユーザから文書データについての印刷指示を受けた場合に、その文書データを前記外部装置に送信する送信手段、
を含み、
前記外部装置は、
前記クライアント装置から受信した文書データから本ジョブの印刷データを生成する手段と、
前記生成手段が生成した前記本ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信する前に、仮ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信する手段と、
を含み、
前記画像形成装置は、
前記仮ジョブ及び前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得する取得手段と、
取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定する判定手段と、
仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知する通知手段と、
を含み、
前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、
前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知し、
前記画像形成装置は、
前記取得手段が取得した本ジョブの印刷データを、印刷出力のために処理する処理手段と、
前記取得手段が仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理手段が処理するまでの期間に前記取得手段が取得した後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理手段による処理を少なくともその期間については保留するよう制御する保留制御手段と、をさらに含む、
ことを特徴とする画像処理システム。
【請求項７】
クライアント装置が、ユーザから文書データについての印刷指示を受けた場合に、その文書データを本ジョブとして外部装置に送信する前に、仮ジョブの文書データを、ネットワークを介して前記外部装置に送信するステップと、
前記外部装置が、前記クライアント装置から受け取った仮ジョブの文書データから仮ジョブの印刷データを生成し、その仮ジョブの印刷データを、ネットワークを介して画像形成装置に送信するステップと、
前記外部装置が、前記クライアント装置から受け取った本ジョブの文書データから本ジョブの印刷データを生成し、その本ジョブの印刷データを、ネットワークを介して画像形成装置に送信するステップと、
前記画像形成装置が、前記仮ジョブ又は前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得する取得ステップと、
前記画像形成装置が、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定するステップと、
前記画像形成装置が、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知するステップと、
を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、
前記障害情報を通知するステップでは、前記画像形成装置は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知する、方法であって、
前記画像形成装置が、前記取得ステップで取得した本ジョブの印刷データを、印刷出力のために処理する処理ステップと、
前記画像形成装置が、前記取得ステップで仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理ステップで処理するまでの期間に前記取得ステップで取得される後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理ステップによる処理を少なくともその期間については保留するよう制御する保留制御ステップと、をさらに含む、方法。
【請求項８】
クライアント装置が、ユーザから文書データについての印刷指示を受けた場合に、その文書データを外部装置に送信するステップと、
前記外部装置が、前記クライアント装置から受信した文書データから本ジョブの印刷データを生成するステップと、
前記外部装置が、生成した前記本ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信する前に、仮ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信するステップと、
前記画像形成装置が、前記仮ジョブの印刷データを、ネットワークを介して前記外部装置から取得するステップと、
前記画像形成装置が、前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得する取得ステップと、
前記画像形成装置が、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定するステップと、
前記画像形成装置が、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知するステップと、
を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、
前記障害情報を通知するステップでは、前記画像形成装置は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知する、方法であって、
前記画像形成装置が、前記取得ステップで取得した本ジョブの印刷データを、印刷出力のために処理する処理ステップと、
前記画像形成装置が、前記取得ステップで仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理ステップで処理するまでの期間に前記取得ステップで取得される後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理ステップによる処理を少なくともその期間については保留するよう制御する保留制御ステップと、をさらに含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像処理システム及び方法に関する。
【背景技術】
【０００２】
Google Cloud Print（商標）のように、印刷サーバ機能をインターネット等のネットワーク上のサーバ（クラウドコンピューティングシステムの場合もある）から提供するシステムが普及しつつある。この種のシステムの一例として、ユーザがネットワーク上のサーバに対して文書データをアップロードすると、サーバがその文書データを印刷データの形式に変換し、指定された出力先のプリンタにその印刷データを提供して印刷させるものが知られている。サーバに印刷指示を行う際にユーザが用いたクライアント装置と、出力先のプリンタとが離れた位置にある場合、ユーザは印刷指示を行った後、出力先に指定したプリンタのところまで行き、プリンタが出力した印刷物を取得する。
【０００３】
特許文献１に開示されたシステムでは、ホストは、プリンタに対して印刷ジョブを送信後、プリンタから印刷終了通知を受信するまで印刷ジョブを保持する。その際、印刷ジョブに一意のジョブＩＤを割り振り、ホスト、プリンタは、該ジョブＩＤによりジョブを管理する。プリンタは、印刷実行中に印刷が中断されて、所定時間経過しても印刷中断が解除されないとき、当該印刷ジョブを削除して、他のジョブの処理を可能にする。その後、印刷の中断が解除されたら、先に中断された印刷ジョブをホストから再度受信する。プリンタは、当該印刷ジョブのジョブＩＤとともに印刷したページ数を保持しておき、印刷した続きのページから印刷を再開する。
【０００４】
特許文献２には、クラスタ環境において、サーバダウンが発生しリカバリを行った場合でも、ダウンしたサーバが投入したジョブを他のサーバでタイムロス無しで継続して追跡することを目指したシステムが開示されている。このシステムでは、実行指示を受けたジョブを管理するための一意の識別子を発行し、プリントサーバに障害が発生したことを他のプリントサーバに通知し、通知を受けたプリントサーバが障害が発生したプリントサーバのジョブを特定し、通知を受けたプリントサーバのジョブリストに追加するかどうか判断する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０９４７２１号公報
【特許文献２】特開２００９−１５１４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザがクライアント装置から、印刷データを生成するネットワーク上の外部装置に対して文書データを送信する操作を行った後、別の場所にある画像形成装置まで移動する間に、その送信が失敗していたり、外部装置における文書データからの印刷データの生成が失敗していたりする場合がある。このような失敗の発生は、クライアント装置では外部装置からのエラー通知等により把握可能であるが、画像形成装置にはそのようなエラー通知が送られないので把握できない。したがって、ユーザは、そのような失敗の発生を移動先の画像形成装置で知ることができないので、失敗に対する対処（例えばクライアント装置に戻って文書データを送信し直すこと）を行った方がよいのか判断が難しい。
【０００７】
本発明は、クライアント装置から外部装置への文書データの送信、又は外部装置における印刷データの生成における障害の発生の可能性を、画像形成装置を操作するユーザに通知できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、外部装置がクライアント装置から受信した文書データから生成した印刷データを、ネットワークを介して前記外部装置から取得する取得手段と、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定する判定手段と、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知する通知手段と、を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知する、画像形成装置であって、前記取得手段が取得した本ジョブの印刷データを、印刷出力のために処理する処理手段と、前記取得手段が仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理手段が処理するまでの期間に前記取得手段が取得した後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理手段による処理を少なくともその期間については保留するよう制御する保留制御手段と、を更に含む画像形成装置である。
【０００９】
請求項２に係る発明は、前記仮ジョブには、対応する文書データのサイズを示すサイズ情報が含まれ、前記通知手段は、前記あらかじめ定められた条件を満たす期間として、前記仮ジョブに含まれる前記サイズ情報に基づいて求められる期間を用いる、ことを特徴とする請求項１に記載の画像形成装置である。
【００１２】
請求項３に係る発明は、前記取得手段が取得する印刷データに係るジョブの状態の遷移を前記外部装置に通知する状態通知手段であって、前記本ジョブの印刷データの取得が開始されると、その本ジョブに対応する仮ジョブの状態の「待機中」から「処理中」への遷移を前記外部装置に通知するが、その本ジョブについては「待機中」から「処理中」への遷移を通知しないことで、前記外部装置が管理する仮ジョブの状態を「処理中」に遷移させつつも、本ジョブの状態を「待機中」のまま維持する状態通知手段と、前記取得手段による前記本ジョブの印刷データの取得が失敗した場合に、前記取得手段に前記本ジョブの印刷データの再取得を行わせる手段と、を更に含む請求項１又は２に記載の画像形成装置である。
【００１３】
請求項４に係る発明は、前記取得手段が取得した前記印刷データが仮ジョブであると前記判定手段により判定された場合に、当該仮ジョブに対応する本ジョブに関する情報を印刷出力する手段、を更に備える請求項１〜３のいずれか１項に記載の画像形成装置である。
【００１４】
請求項５に係る発明は、クライアント装置と、前記クライアント装置から受信した文書データから印刷データを生成し、生成した印刷データを前記画像形成装置に提供する外部装置と、前記外部装置から取得した印刷データを印刷出力のために処理する画像形成装置と、を含み、前記クライアント装置は、ユーザから文書データについての印刷指示を受けた場合に、その文書データを本ジョブとして前記外部装置に送信する前に、仮ジョブの文書データを、ネットワークを介して前記外部装置に送信する送信手段、を含み、前記画像形成装置は、前記仮ジョブ及び前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得する取得手段と、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定する判定手段と、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知する通知手段と、を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知し、前記画像形成装置は、前記取得手段が取得した本ジョブの印刷データを、印刷出力のために処理する処理手段と、前記取得手段が仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理手段が処理するまでの期間に前記取得手段が取得した後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理手段による処理を少なくともその期間については保留するよう制御する保留制御手段と、をさらに含む、ことを特徴とする画像処理システムである。
【００１５】
請求項６に係る発明は、クライアント装置と、前記クライアント装置から受信した文書データから印刷データを生成し、生成した印刷データを、ネットワークを介して前記画像形成装置に提供する外部装置と、前記外部装置から取得した印刷データを印刷出力のために処理する画像形成装置と、を含み、前記クライアント装置は、ユーザから文書データについての印刷指示を受けた場合に、その文書データを前記外部装置に送信する送信手段、を含み、前記外部装置は、前記クライアント装置から受信した文書データから本ジョブの印刷データを生成する手段と、前記生成手段が生成した前記本ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信する前に、仮ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信する手段と、を含み、前記画像形成装置は、前記仮ジョブ及び前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得する取得手段と、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定する判定手段と、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知する通知手段と、を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知し、前記画像形成装置は、前期取得手段が取得した本ジョブの印刷データを、印刷出力のために処理する処理手段と、前記取得手段が仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理手段が処理するまでの期間に前記取得手段が取得した後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理手段による処理を少なくともその期間については保留するよう制御する保留制御手段と、をさらに含む、ことを特徴とする画像処理システムである。
【００１６】
請求項７に係る発明は、クライアント装置が、ユーザから文書データについての印刷指示を受けた場合に、その文書データを本ジョブとして外部装置に送信する前に、仮ジョブの文書データを、ネットワークを介して前記外部装置に送信するステップと、前記外部装置が、前記クライアント装置から受け取った仮ジョブの文書データから仮ジョブの印刷データを生成し、その仮ジョブの印刷データを、ネットワークを介して画像形成装置に送信するステップと、前記外部装置が、前記クライアント装置から受け取った本ジョブの文書データから本ジョブの印刷データを生成し、その本ジョブの印刷データを、ネットワークを介して画像形成装置に送信するステップと、前記画像形成装置が、前記仮ジョブ又は前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得するステップと、前記画像形成装置が、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定するステップと、前記画像形成装置が、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知するステップと、を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知する方法であって、前記画像形成装置が、前記取得ステップで取得した本ジョブの印刷データを、印刷出力のために処理する処理ステップと、前記画像形成装置が、前記取得ステップで仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理ステップで処理するまでの期間に前記取得ステップで取得される後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理ステップによる処理を少なくともその期間については保留するよう制御する保留制御ステップと、をさらに含む、方法である。
【００１７】
請求項８に係る発明は、クライアント装置が、ユーザから文書データについての印刷指示を受けた場合に、その文書データを外部装置に送信するステップと、前記外部装置が、前記クライアント装置から受信した文書データから本ジョブの印刷データを生成するステップと、前記外部装置が、生成した前記本ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信する前に、仮ジョブの印刷データを、ネットワークを介して前記画像形成装置に送信するステップと、前記画像形成装置が、前記仮ジョブの印刷データを、ネットワークを介して前記外部装置から取得するステップと、前記画像形成装置が、前記本ジョブの印刷データを、ネットワークを介して前記外部装置から取得するステップと、前記画像形成装置が、取得した印刷データが仮ジョブと本ジョブのいずれであるかを判定するステップと、前記画像形成装置が、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に本ジョブの印刷データが取得されなかった場合に、前記外部装置が前記クライアント装置から前記文書データを受信する処理、又は前記外部装置における前記文書データからの前記印刷データの生成の処理に障害が生じたことを示す障害情報を通知するステップと、を含み、前記仮ジョブ又は前記本ジョブの少なくとも一方には、対応する本ジョブ又は仮ジョブを特定する特定情報が含まれており、前記通知手段は、仮ジョブと判定された印刷データを取得してからあらかじめ定められた条件を満たす期間以内に、前記特定情報に基づきその仮ジョブに対応すると判定される本ジョブの印刷データが取得されなかった場合に、前記障害情報を通知する方法であって、前記画像形成装置が、前記取得ステップで取得した本ジョブの印刷データを、印刷出力のために処理する処理ステップと、前記画像形成装置が、前記取得ステップで仮ジョブの印刷データを取得してからその仮ジョブに対応する本ジョブの印刷データを取得して前記処理ステップで処理するまでの期間に前記取得ステップで取得される後続の仮ジョブについては、対応する本ジョブの印刷データの前記処理ステップによる処理を少なくともその期間については保留するよう制御する保留制御ステップと、をさらに含む、方法である。
【発明の効果】
【００１８】
請求項１、５、６、７、又は８に係る発明によれば、クライアント装置から外部装置への文書データの送信、又は外部装置における印刷データの生成における障害の発生の可能性を、画像形成装置を操作するユーザに通知できると共に、画像形成装置による各仮ジョブの取得順序で本ジョブの印刷データを処理することができる。
【００１９】
請求項２に係る発明によれば、印刷対象の文書データから印刷データを生成するのに要する時間の長さに応じた期間を基準に、障害の発生の可能性を判定することができる。
【００２１】
請求項３に係る発明によれば、「待機中」のジョブの印刷データの取得は認めるが「処理中」のジョブの印刷データの取得は認めない外部装置から、印刷データを再取得できるようにすると共に、ジョブの実質的な状態を仮ジョブの状態で表現することができる。
【００２２】
請求項４に係る発明によれば、仮ジョブに応じて印刷される予定の本ジョブの情報を印刷物として提供することができる。
【図面の簡単な説明】
【００２３】
【図１】実施形態の制御が適用されるシステムの一例を示す図である。
【図２】図１のシステムにおける従来の印刷処理の流れを示す図である。
【図３】実施形態の処理の手順の例を示す図である。
【図４】エラー画面の一例を示す図である。
【図５】実施形態のシステムにおけるクライアント装置及び画像形成装置の機能的な構成の一例を示す図である。
【図６】実施形態のシステム構成の別の例を示す図である。
【図７】変形例２において、印刷サービスからジョブの印刷準備完了の通知を受け取ったときの画像形成装置のジョブ取得部の処理手順の例を示す図である。
【図８】変形例２において、仮ジョブ管理キュー内のジョブを処理する手順の例を示す図である。
【図９】変形例３の処理手順の例を示す図である。
【図１０】印刷データの再取得要否の問合せ画面の一例を示す図である。
【図１１】画像形成装置からの状態遷移の通知に従って印刷サービスが生成するジョブ状態画面の一例を示す図である。
【発明を実施するための形態】
【００２４】
図１を参照して、この実施形態の制御が適用されるシステムの一例を説明する。このシステムは、クライアント装置１００、印刷サービス２００、及び画像形成装置３００を含んでおり、これらクライアント装置１００、印刷サービス２００、及び画像形成装置３００はインターネット４００に接続されている。クライアント装置１００及び画像形成装置３００は、インターネット４００を介して印刷サービス２００と通信可能である。
【００２５】
クライアント装置１００は、ユーザが操作するＰＣ（パーソナルコンピュータ）等のコンピュータであり、印刷サービス２００からサービスを受けるクライアント装置である。
【００２６】
印刷サービス２００は、クライアント装置１００に印刷のためのデータ処理サービスを提供するサーバである。印刷サービス２００は、クライアント装置１００から印刷の指示を受け、印刷対象の文書データ（例えばワードプロセッサアプリケーションで作成された文書データ）を取得し、その文書データを定められたデータ形式（例えばＰＤＦ（Portable Document Format）（商標））の印刷データに変換し、変換結果の印刷データを出力先に指定された画像形成装置３００に提供する機能を有する。また印刷サービス２００は、ユーザからクライアント装置１００を介して受け取った印刷指示に対応する印刷ジョブ（以下単に「ジョブ」という）を管理する機能を有する。印刷サービス２００がGoogle Cloud Print（商標）（以下「ＧＣＰ」と呼ぶ）である場合、印刷サービス２００は、ユーザが投入したジョブの状態（ステータス）の情報を出力先の画像形成装置３００から得て、そのジョブの状態を表示したウェブページをそのユーザが操作するウェブブラウザ（例えばクライアント装置１００上のウェブブラウザ）に提供する機能を有する。印刷サービス２００は、単体のサーバであってもよいし、クラウドコンピューティングシステムとして構成されたもの（例えばＧＣＰ）であってもよい。
【００２７】
画像形成装置３００は、入力される印刷データを用紙に印刷する装置である。画像形成装置３００は、印刷機能以外の機能を備えていてもよい。例えば、画像形成装置３００は、印刷機能の他にスキャン機能、複写機能、ファックス送信機能、電子メール送信機能を備える、いわゆるデジタル複合機であってもよい。画像形成装置３００は、自身のＵＩ（ユーザインタフェース）で受け付けたユーザからの指示に応じて複写、スキャン、印刷等の処理を実行する機能を持つ他に、インターネット４００上の印刷サービス２００から印刷データを取得して印刷出力する機能を備える。また、画像形成装置３００が企業等の組織内のネットワークに接続されているものであってもよく、この場合、画像形成装置３００は、その組織内のネットワークに接続されたコンピュータからの指示に応じて印刷等の処理を実行する機能を持つ。
【００２８】
画像形成装置３００は、印刷サービス２００に事前に登録されており、印刷サービス２００は登録された画像形成装置３００の情報（例えば通信のためのアドレス等）を用いて、その画像形成装置３００に対して、印刷のために必要な情報を提供する。また画像形成装置３００も印刷サービス２００のアドレス等の情報を保持しており、その情報を用いて印刷サービス２００と通信する。
【００２９】
例えば印刷サービス２００がＧＣＰである場合、画像形成装置３００は一人の管理者と対応づけて印刷サービス２００に登録される。管理者は、対応する画像形成装置３００を共有する共有者を印刷サービス２００に登録することができる。印刷サービス２００は、ユーザ（クライアント装置１００）に対して、そのユーザが管理者又は共有者として登録されている１以上の画像形成装置３００を出力先の候補として提示し、それら候補の中から出力先を選択させる。
【００３０】
以上に説明した図１に示したシステムの各要素の機能は、従来から存在するものである。この図１のシステムにおける印刷処理の流れを、図２を参照して説明する。
【００３１】
まずユーザがクライアント装置１００上のウェブブラウザを用いて印刷サービス２００（例えばＧＣＰ）にアクセスし、印刷指示を行う。このときユーザは印刷対象の文書データ、部数や両面／片面印刷等の印刷パラメータ、出力先の画像形成装置３００等を指定する。必要事項の指定が完了し、ユーザが印刷の指示を行うと、クライアント装置１００は指定された文書データを印刷サービス２００に送信する（Ｓ１０）。通信障害等の何らかの事情で文書データの送信が失敗した場合、クライアント装置１００はその失敗を検知することができ、その失敗の旨を画面表示して印刷処理を終了する（Ｓ１１）。文書データの送信が成功裏に完了した場合、印刷サービス２００は、その文書データの印刷のための準備処理、例えばその文書データを出力先の画像形成装置３００が対応しているデータ形式の印刷データに変換する処理、を実行する（Ｓ１２）。この変換が失敗した場合、印刷サービス２００はその失敗の情報をクライアント装置１００に送り、クライアント装置１００はその失敗の情報を画面表示して、一連の印刷処理を終了する（Ｓ１３）。
【００３２】
Ｓ１２（印刷準備）が成功すると、印刷サービス２００は、指定された出力先の画像形成装置３００に対して、文書データの印刷準備が完了した旨を通知する（Ｓ１４）。ＧＣＰの場合、その通知には、Google Talkサービス経由でＸＭＰＰ（Extensible Messaging and Presence Protocol）というインスタントメッセージングプロトコルを用いる。
【００３３】
その通知を受けた画像形成装置３００は、印刷サービス２００にアクセスし、その画像形成装置３００を出力先とする文書（印刷データ）の管理情報を取得する（Ｓ１６）。取得される管理情報には、その印刷データの識別情報（ジョブＩＤ）やその印刷データのＵＲＬ（Uniform Resource Locator）等が含まれる。
【００３４】
文書の管理情報を取得した画像形成装置３００は、その管理情報を用いて印刷サービス２００にその文書（印刷データ）を要求する（Ｓ１８）。この要求は、例えば、管理情報に含まれるＵＲＬを用いて、ＨＴＴＰ（Hypertext Transfer Protocol）のＧＥＴリクエストとして発行される。この後画像形成装置３００は、その要求に応じて送られてくる印刷データを受信しつつ、その印刷データを用紙に印刷していく（Ｓ２０）。印刷データの末尾まで受信及び印刷が完了すると、印刷ジョブが終了する。
【００３５】
この処理において、印刷サービス２００が例えばＧＣＰである場合において、クライアント装置１００から印刷サービス２００への文書データの送信（Ｓ１０）、及び印刷サービス２００でのその文書データの変換処理（Ｓ１２）のいずれかの段階が失敗した場合、その失敗はクライアント装置１００には通知され失敗した旨が表示されるが、出力先の画像形成装置３００には通知されない。このため、ユーザがクライアント装置１００にて印刷指示を行った後すぐに印刷結果を取りに行くためにクライアント装置１００を離れ、画像形成装置３００に向かうと、Ｓ１０又はＳ１２で失敗が生じていたとしても、そのことを画像形成装置３００のＵＩで知ることはできない。
【００３６】
このような問題に対処するための本実施形態の処理の手順の例を図３に示す。図３において、図２中のステップと同様のステップについては、同一符号を付した。
【００３７】
図３の例では、ユーザから文書データの印刷指示を受けたクライアント装置１００は、まず仮ジョブの印刷指示を印刷サービス２００に送り（Ｓ２２）、その後続いてその文書データの印刷指示を印刷サービス２００に送る（Ｓ１０）。
【００３８】
仮ジョブは、印刷対象の文書データを含まない（あるいは文書実体のデータ量が０）か、又は非常に小さいデータ量の定型の文書データを含んだ印刷指示であり、更に仮ジョブであることを示すあらかじめ定められたデータを含んでいる。仮ジョブであることを示すデータは、文書データ、又はその文書データに付随して印刷サービス２００に送られるヘッダ情報等の付属情報内に、画像形成装置３００が認識できるようにあらかじめ定めた態様で組み込まれている。仮ジョブの文書データとしては、例えば印刷サービス２００や画像形成装置３００のベンダーが提供するテストページを用いてもよい。仮ジョブに対して、Ｓ１０で送られる印刷対象の文書データ（又はこれを印刷するための処理）のことを「本ジョブ」と呼ぶ。
【００３９】
仮ジョブは、本ジョブより前に印刷サービス２００に送られ、本ジョブよりもはるかに小さなデータであるため印刷サービス２００での変換に要する時間が短いので、本ジョブよりもかなり前に印刷サービス２００での印刷準備が終わる。この準備が終わり次第、印刷サービス２００から画像形成装置３００に対して印刷準備完了の旨が通知され（Ｓ２４）、画像形成装置３００はその通知に応じて印刷サービス２００からその仮ジョブの文書管理情報を取得する（Ｓ２６）。この文書管理情報に仮ジョブであること示すデータが含まれていれば、画像形成装置３００は、通知されたジョブが仮ジョブであり、この仮ジョブに対応する本ジョブが到来することを認識できる（これは仮ジョブであることを示すデータが付属情報に含まれている場合）。なお、仮ジョブであることを示すデータが文書データ内に含まれている場合は、画像形成装置３００は、取得した文書管理情報を用いて印刷サービス２００からその文書データに対応する印刷データを取得し、その印刷データの内容からそのジョブが仮ジョブであるかどうかを判定する。
【００４０】
このように、画像形成装置３００への印刷準備の完了の通知（Ｓ２４）（及びそれに続き文書管理情報や印刷データの伝達（Ｓ２６））は、仮ジョブの方が本ジョブよりも早く行われるので、仮ジョブは、画像形成装置３００に対して、このあと本ジョブが到来することを予告するという役割を果たすことになる。
【００４１】
仮ジョブの到来を検知（Ｓ２６）した画像形成装置３００は本ジョブの印刷準備が完了した旨の通知が来るのを、その検知の時点からあらかじめ定められた判定期間だけ待つ（Ｓ２８）。
【００４２】
ここで用いる判定期間は、本ジョブの文書データがクライアント装置１００から印刷サービス２００にアップロードされ、印刷サービス２００でのその文書データの印刷データへの変換が完了するまでに必要な時間に応じた長さの期間である。判定期間の長さは、過去の経験等により定めた固定の代表的な値であってもよいし、本ジョブの文書データのデータサイズに応じて決まる可変値であってもよい（アップロードや変換に要する時間は文書データのサイズにおおむね比例する）。判定期間を文書データのサイズに応じた可変値とするには、例えばクライアント装置１００が、印刷サービス２００に送信する仮ジョブの印刷指示のヘッダ等の付属情報内に、本ジョブの文書データのサイズの情報を記述しておけばよい。これにより、その文書データのサイズ情報は、仮ジョブの文書管理情報に組み込まれ、Ｓ２６で印刷サービス２００から画像形成装置３００に伝達される。
【００４３】
画像形成装置３００は、仮ジョブ検知の時点からその判定期間以内に本ジョブの印刷準備完了の通知を受け取る（Ｓ２８の判定結果がＹｅｓ）ことができると、Ｓ１６〜Ｓ１８の処理を行うことで本ジョブの印刷を実行する。
【００４４】
一方、仮ジョブ検知の時点からその判定時間が経過した時点で、まだ本ジョブの印刷準備完了の通知を受けていない場合（Ｓ２８の判定結果がＮｏ）、それは本ジョブの印刷準備が完了しているはずの時間になっているにもかかわらず、まだその旨の通知が来ないと言うことを示す。この場合、クライアント装置１００から印刷サービス２００への文書データのアップロード、又は印刷サービス２００における印刷準備（文書データの変換等）の段階で、何らかの障害が発生している可能性がある。印刷サービス２００は、それらの段階が失敗しても、画像形成装置３００にはその旨を通知しない（特に印刷サービス２００がＧＣＰの場合）ので、画像形成装置３００はそれらの段階で実際に障害が生じたことまでは分からないが、仮ジョブの通知の後本ジョブの通知が来ないことで、障害が生じた「可能性がある」と判断することはできる。このようにＳ２８の判定結果がＮｏとなった場合、画像形成装置３００は、付属する表示装置（例えばタッチパネルディスプレイ）にエラー画面の表示を行う（Ｓ３０）。このエラー画面の表示内容の一例を図４に示す。図４のエラー画面５００は、ユーザが送った印刷指示に関して、印刷サービス２００側で何らかの問題が起きている可能性があることを説明するメッセージ５０２と、この問題に対する対処として、印刷を中止するか、中止せずに印刷が成されるのを待つかをユーザが指示するのに用いるボタン５０４及び５０６が表示されている。
【００４５】
このように、本実施形態では、本ジョブの前に仮ジョブを発することで、画像形成装置３００に対して本ジョブの到来を予告することができる。そして、画像形成装置３００は、その予告の時点から、印刷サービス２００でのその本ジョブの処理に要すると考えられる時間だけ待っても本ジョブの通知（Ｓ１４）が来ない場合、印刷サービス２００以前の段階で本ジョブに何らかの問題が生じた可能性があると判断することができ、その旨を付属の画面に表示する等によりユーザに通知することができる。ユーザは、その通知を受け、その問題に対する対処を行う。ユーザが取り得る対処としては、例えばクライアント装置１００まで戻って印刷サービス２００にアクセスし、送信したジョブの状態を確認し、確認の結果、送信段階又は印刷サービス２００での印刷準備の段階でジョブが失敗していた場合、そのジョブを取り消して、再度同じ文書データの印刷指示を行うことが考えられる。仮ジョブを用いない従来技術の場合、送信段階や印刷準備の段階で失敗が生じていたとしても、画像形成装置３００は、その失敗が実際に起こったこともその失敗が起こった可能性があることもまったく認識できないので、そのような失敗の可能性を示す通知（図４のエラー画面等）を行うことができない。したがって、従来技術では、画像形成装置３００まで移動してきたユーザは、投入した文書データの印刷出力がなかなか行われなくても、そのまま待ち続けた方がよいのか、印刷サービス２００にアクセスして状況を確認した方がよいのか、判断が難しい（判断材料の情報が無い）。
【００４６】
次に図５を参照して、本実施形態のシステムにおけるクライアント装置１００及び画像形成装置３００の機能的な構成の一例を説明する。
【００４７】
クライアント装置１００は、印刷サービス２００に対して印刷指示を行うための処理を実行する印刷指示部１１０を有する。印刷指示部１１０は、例えばユーティリティーソフトウエアとしてクライアント装置１００にインストールされる。印刷指示部１１０は、印刷サービス２００内のユーザのアカウントにログインし、印刷対象の文書データや印刷パラメータの指定、及び印刷開始の指示を受け付ける。このとき印刷サービス２００から各種の指定のためのウェブページを受け取り、そのウェブページに対するユーザの入力内容を印刷サービス２００に送信するようにしてもよい。印刷対象の文書データは、クライアント装置１００内に記憶されているものに限られず、例えばクライアント装置１００からアクセス可能なネットワーク上の文書管理システム内に記憶された、ユーザがアクセス権を持つ文書を印刷対象として指定することもできる。この場合、クライアント装置１００は、指定された文書を文書管理システムからダウンロードして印刷サービス２００に転送してもよいし、その文書のＵＲＬを印刷対象の文書の情報として印刷サービス２００に送り、印刷サービス２００がそのＵＲＬを用いて文書管理システムからその文書のデータをダウンロードしてもよい。
【００４８】
本実施形態の印刷指示部１１０は、仮ジョブ追加部１１２を有する。仮ジョブ追加部１１２は、印刷指示部１１０に対してユーザから印刷開始が指示されると、印刷対象に指定された文書データについての印刷指示を印刷サービス２００に送る前に、仮ジョブの印刷指示を印刷サービス２００に送る。したがって、クライアント装置１００から印刷サービス２００へは、まず（１）仮ジョブの印刷指示が送られ、その後、印刷対象の文書データの印刷指示（本ジョブ）が送られる。
【００４９】
この実施形態では、印刷サービス２００は、仮ジョブについて特別の処理を行う必要はなく、通常のジョブと同様に処理すればよい。前述の通り、仮ジョブの方が先に到来し、印刷準備のために要する時間も短いので、まず（１）仮ジョブの印刷準備の完了通知が印刷サービス２００から画像形成装置３００に送られ、その後（２）本ジョブの印刷完了通知が送られることになる。
【００５０】
画像形成装置３００は、ジョブ取得部３０２、ジョブ実行部３０４、仮ジョブ判定部３０６、エラー通知処理部３０８を有する。
【００５１】
ジョブ取得部３０２は、印刷サービス２００からジョブの情報を取得するための処理を実行する。ジョブ取得部３０２は、印刷サービス２００からジョブ（仮ジョブ及び本ジョブ）の印刷準備の完了通知を受け取ると（Ｓ１４、Ｓ２４）、印刷サービス２００からそれらジョブの文書管理情報を取得する（Ｓ１６、Ｓ２６）。そして、手持ちのジョブの処理が完了するなどして次のジョブが受け入れ可能になると、印刷サービス２００からジョブの印刷データを取得する（Ｓ１８、Ｓ２０）。ジョブ実行部３０４は、ジョブ取得部３０２が取得した印刷データに従ってプリントエンジンを制御し、印刷データが示す画像が用紙に印刷されるようにする。
【００５２】
仮ジョブ判定部３０６は、ジョブ取得部３０２が取得した文書管理情報又は印刷データを解析して、これらの情報が示すジョブが仮ジョブ、本ジョブのいずれであるかを判定する。例えば文書管理情報又は印刷データに仮ジョブであることを示す情報が含まれている場合、そのジョブが仮ジョブであると判定し、そうでなければそのジョブは本ジョブであると判定する。取得したジョブが仮ジョブであると仮ジョブ判定部３０６が判定した場合、エラー通知処理部３０８に仮ジョブ到来の旨を通知する。
【００５３】
エラー通知処理部３０８は、仮ジョブ判定部３０６から仮ジョブの到来の通知を受けると、エラーを判定する判定期間の長さにセットされたタイマーをスタートさせる。ジョブ取得部３０２が取得した仮ジョブの文書管理情報に、本ジョブの文書のデータサイズの情報が含まれている場合、エラー通知処理部３０８は、そのデータサイズに応じて判定期間の長さを決定してもよい。そして、そのタイマーにより判定期間が経過したことが分かった時点でまだ本ジョブの印刷準備完了の通知を受け取っていない場合、エラー通知処理部３０８は、印刷サービス２００側で何らかの問題（エラー）が生じている可能性がある旨を示すエラー画面を表示装置に表示する。
【００５４】
なお、状態通知部３１０は、画像形成装置３００でのジョブの状態（ステータス）の遷移を印刷サービス２００に通知するための機能モジュールである。印刷サービス２００は、状態通知部３１０から通知されるジョブの状態の情報を、例えばウェブページに掲載してユーザに提供する。
【００５５】
次に、図６を参照して、本実施形態のシステム構成の別の例を示す。図６に示した要素のうち、図５に示した要素と同様の要素には、図５における符号と同一符号を付した。
【００５６】
図５のシステムでは、クライアント装置１００内の印刷指示部１１０が仮ジョブを追加した。これに対して図６のシステムでは、印刷サービス２００内の仮ジョブ追加部２０２が仮ジョブを追加する。
【００５７】
このシステムでは、クライアント装置１００の印刷指示部１１０は、仮ジョブを追加しなくてよいので、印刷サービス２００に通常の印刷指示（すなわち本ジョブのみ）を発する機能を有していればよい。
【００５８】
印刷サービス２００の仮ジョブ追加部２０２は、クライアント装置１００から印刷指示を受け取ると、仮ジョブ（の印刷準備完了通知等）を生成して画像形成装置３００に送り、そのあとその印刷指示の対象である文書の印刷データの生成が完了すると、本ジョブの印刷準備完了通知を画像形成装置３００に送る。このほかの印刷サービス２００の機能や画像形成装置３００の機能は、図５の例と同じでよい。
【００５９】
＜変形例１＞
上記実施形態では、仮ジョブ（の印刷準備完了通知）が画像形成装置３００に届いた後、次に画像形成装置３００に届くのはその仮ジョブに対応する本ジョブ（の印刷準備完了通知）であると仮定し、仮ジョブと本ジョブとを明示的に対応づけることはしていなかった。
【００６０】
これに対し、この変形例では、仮ジョブと本ジョブとを明示的に対応づける。この対応付けは、例えば、仮ジョブの文書データ又はヘッダ等の付属情報に、対応する本ジョブの識別情報（例えば文書ファイル名）を組み込むことで行えばよい。例えば、仮ジョブの文書ファイル名を、例えば、対応する本ジョブの文書ファイル名に仮ジョブであることを示す特定の文字列を加えるという規則で生成するなどである。また、仮ジョブと本ジョブの対応付けは、上記とは逆に、本ジョブの文書データ又はヘッダ等の付属情報に、対応する仮ジョブの識別情報を組み込むことで行ってもよい。
【００６１】
このような仮ジョブと本ジョブの対応付けは、仮ジョブ追加部１１２（図５）又は２０２（図６）が行えばよい。
【００６２】
この変形例では、画像形成装置３００は、仮ジョブを検知（図３のＳ２６）すると、その仮ジョブに対応するタイマーを作動させる。すなわち、仮ジョブ毎に、その仮ジョブの検知時点から判定時間が経過するまで、その仮ジョブに対応する本ジョブの通知を受けることができたかどうかを判定する（図３のＳ２８）。その判定時間は、ジョブによらず一律であってもよいし、仮ジョブに対応する本ジョブの文書データのサイズ等に基づいて算出されたものであってもよい。
【００６３】
このように仮ジョブと本ジョブを明示的に対応付けすることで、仮ジョブの検知から判定時間内に本ジョブの通知があったか否かの判定（Ｓ２８）が、ジョブ毎に正確に行われる。
【００６４】
＜変形例２＞
仮ジョブと本ジョブの対応付けをしていない場合、画像形成装置３００に対して短い間隔で複数のジョブが到来すると、仮ジョブの到来順序と本ジョブの到来順序とが入れ違うことが起こり得る。
【００６５】
例えばユーザがクライアント装置１００に対して文書ＡとＢの印刷をこの順で連続して指示した場合、画像形成装置３００には文書ＡとＢの仮ジョブがこの順に到着するが、例えば文書Ａの方がＢよりもデータサイズがはるかに大きい等の理由で印刷準備に時間がかかると、本ジョブについては文書Ａの到着が文書Ｂよりも後になることがある。仮ジョブと本ジョブの対応付けを行っていないと、そのような順序の入れ違いが生じた場合に、本ジョブを実行する順序が仮ジョブの到着順序と入れ違ってしまう。すなわち、ジョブが実行（印刷）される順序が、ユーザが印刷指示を行った順序と異なってしまうことになる。
【００６６】
そこでこの変形例では、変形例１と同様の仮ジョブと本ジョブの対応付けを利用することで、印刷指示が発せられた順序に印刷が実行されるようにする。
【００６７】
この変形例では、画像形成装置３００が仮ジョブを検知（図３のＳ２６）すると、その仮ジョブに対応する本ジョブの実行（印刷出力）が完了するまで、後続のジョブ（すなわちその仮ジョブよりも後に印刷サービス２００に送られた印刷指示に係る仮ジョブ及び本ジョブ）の処理を保留する。ここでの後続のジョブの「保留」は、少なくとも、その後続ジョブの本ジョブの印刷データの受信及び印刷出力（図３のＳ２０）を実行せずに保留しておくことである。Ｓ２０よりも前の段階、例えばＳ１８又はＳ１６の段階で処理を保留してもよい。保留した後続のジョブは、保留の原因となった前の本ジョブの印刷出力が完了すると、保留を解除される。このように後続のジョブを保留することで、画像形成装置３００に対する仮ジョブの到着の順序が後のジョブの本ジョブが、前のジョブの本ジョブより先に実行されることがなくなる。
【００６８】
この変形例の処理の別の例を、図７及び図８を参照して説明する。
【００６９】
図７は、印刷サービス２００からジョブの印刷準備完了の通知を受け取ったときの画像形成装置３００（特にジョブ取得部３０２）の処理の例を示す。この手順では、画像形成装置３００は、ジョブの印刷準備完了の通知が印刷サービス２００から到来するのを待つ（Ｓ４０）。Ｓ４０で印刷準備完了の通知が到来した場合（図３のＳ１４又はＳ２４に対応）、印刷サービス２００からそのジョブの文書管理情報を取得し（Ｓ４２。図３のＳ１６又はＳ２６に対応）、取得した文書管理情報からそのジョブが仮ジョブか否かを判定する（Ｓ４４）。仮ジョブであれば、その仮ジョブ（の識別情報）を、実行順序管理のための待ち行列である仮ジョブ管理キュー（図示省略）の末尾に追加する（Ｓ４６）。その仮ジョブの文書管理情報は、仮ジョブ管理キューに入れたその仮ジョブの識別情報から参照可能な状態で保存する。また、Ｓ４４でそのジョブが本ジョブであると判定した場合（判定結果がＮｏ）、仮ジョブ管理キュー内のその本ジョブに対応する仮ジョブ情報に対応づけて、本ジョブの印刷準備が完了していることと、その本ジョブの文書管理情報とを保存する。
【００７０】
画像形成装置３００は、図７の手順で仮ジョブ管理キューに入れたジョブを、例えば図８の手順で順に実行していく。図８の手順では、画像処理装置は、印刷実行中のジョブの処理が完了するのを待ち（Ｓ５０）、完了すると、仮ジョブ管理キューの先頭（すなわちキューに入れられた順が最も早い）の仮ジョブについての情報を参照して（Ｓ５２）、その先頭の仮ジョブに対応する本ジョブの印刷準備完了の通知（及び文書管理情報）を既に受け取り済みであるかどうかを判定する（Ｓ５４）。Ｓ５４の判定結果がＮｏ（未取得）の場合、あらかじめ定められた時間だけ待ってＳ５２、Ｓ５４を繰り返し、キューの先頭ジョブの本ジョブの印刷が完了しているかどうかを再び調べる。Ｓ５４の判定結果がＹｅｓ（取得済み）の場合、画像形成装置３００は、本ジョブの印刷データを印刷サービス２００から取得し、その印刷データを処理して印刷出力を行う（Ｓ５６）。そして、その印刷データの処理が完了するのを待ち（Ｓ５０）、完了すると仮ジョブ管理キューの次のジョブが実行可能かどうかを調べる（Ｓ５２，Ｓ５４）。
【００７１】
＜変形例３＞
次に、上記実施形態で用いた仮ジョブの更なる利用方法について説明する。
【００７２】
ＧＣＰ（印刷サービス２００）から画像形成装置３００に印刷データをダウンロードして印刷する際の問題として、通信切断等の何らかの理由によりダウンロードが失敗すると、画像形成装置３００から印刷サービス２００に再ダウンロードを要求できないという問題が知られている。これは、ＧＣＰにおけるジョブの状態遷移の仕組みに起因している。この点について、まず説明する。
【００７３】
ＧＣＰでは、ジョブの状態（ステータス）を画像形成装置３００の立場で管理する。すなわち、画像形成装置３００が認識するまではジョブは存在せず、画像形成装置３００がそのジョブを認識した時点でそのジョブの状態情報を生成し、その後の処理の各進捗段階で画像形成装置３００の状態通知部３１０から到来する状態遷移の要求に従い、ジョブの状態を遷移させていく。ＧＣＰにおけるジョブの状態には、正常な進捗の段階を示す「待機中」、「処理中」、「完了（印刷済み）」の３つ状態と、エラーが生じた場合の「エラー」状態とがある。画像形成装置３００がどのような段階でどのような状態への遷移をＧＣＰに要求するかは、ＧＣＰの仕様で規定されている。すなわち、まず印刷準備（文書データの変換等）が完了した旨の通知（Ｓ１４）を受けた段階で、画像形成装置３００はジョブの存在を認識し、例えばその通知に応じてＳ１６でそのジョブの管理情報を印刷サービス２００に要求する際に、そのジョブの状態を「待機中」とするよう印刷サービス２００に要求する。その後、画像形成装置３００は、そのジョブより前に取得した他のジョブの処理が完了し、そのジョブの処理が可能になると、Ｓ１８でそのジョブの印刷データのダウンロードを要求するが、その際に、そのジョブの状態を「処理中」に遷移させるよう印刷サービス２００に要求する。そして、その印刷データのダウンロード及び印刷出力（Ｓ２０）が無事完了すると、画像形成装置３００は印刷サービス２００にそのジョブの状態を「完了」に遷移するよう要求する。印刷データのダウンロード及び印刷出力（Ｓ２０）の途中で紙詰まりその他の障害が生じると、画像形成装置３００は、そのジョブの状態を「エラー」に遷移させるよう印刷サービス２００に要求する。「待機中」から「処理中」へ、「処理中」から「完了」への状態遷移は一方通行であり、元に戻ることはない。
【００７４】
そして、ＧＣＰは、「待機中」のジョブについては印刷データのダウンロード要求を受け付けるが、「処理中」のジョブについては印刷データのダウンロード要求を受け付けない。したがって、仕様通りダウンロードの開始に伴って「処理中」状態に遷移したジョブについては、印刷データのダウンロードや印刷出力が失敗した場合、再印刷のためにＧＣＰに印刷データの再ダウンロードを要求しても、その要求は受け付けられない。従って、従来このような場合に再印刷を行うには、ユーザはクライアント装置１００に戻って再度同じ文書データの印刷を印刷サービス２００に指示する必要があった。
【００７５】
なお、印刷データのダウンロードを開始（Ｓ１８）した時点で「処理中」への状態遷移を要求せず、ジョブの状態を「待機中」のまま維持すれば、印刷失敗時に再度印刷サービス２００に印刷データのダウンロードを要求できるが、それではジョブの状態を正確に表現できないという問題がある。すなわち、ダウンロードが始まり現に印刷を行っている段階では、画像形成装置３００は現にその印刷ジョブを「処理」（すなわち印刷）しており、そのような状態は「処理中」と表現するのが正確であり、それを「待機中」と表現したのでは誤解を招く。また、ダウンロードの開始後は、印刷が完了するまでは、状態を遷移させる明確な区切りが存在せず、印刷完了の時点では「待機中」から「完了」に一挙に遷移させると、「処理中」の段階が存在しなくなり、「処理中」状態を設けた意味が無くなる。このように、ダウンロード失敗等に備えて印刷データの再ダウンロードの余地を残すことと、ジョブの正確な状態を表示することとは、単純には両立できない。
【００７６】
そこで、この変形例では、ダウンロード失敗等に備えて印刷データの再ダウンロードの余地を残しつつも、その印刷データに対応するジョブの状態を正確に表示するために、仮ジョブを利用する。すなわち、本実施形態では、１つの印刷指示に対して仮ジョブと本ジョブの２つのジョブが生成されるが、その印刷指示に係るジョブ（本ジョブ及びこれに対応する仮ジョブの総称）の状態を仮ジョブの状態で表現する。こうすれば、ジョブの正確な状態は仮ジョブの状態として表現されるので、本ジョブの状態を再ダウンロードが許される「待機中」のままに維持しても実質的な問題は生じない。
【００７７】
この変形例における処理手順の例を、図９を参照して説明する。図９は、図３のＳ１６に続く処理の流れを示しており、そのうちＳ１８Ａ、Ｓ２０Ａは、図３のＳ１８、Ｓ２０に対して変更を加えたものである。
【００７８】
図９の処理の前提として、印刷サービス２００及び画像形成装置３００は、仮ジョブ及び本ジョブのそれぞれのジョブの状態を管理しているものとする。また、図３のＳ２６で画像形成装置３００が仮ジョブを検知した時点でその仮ジョブの状態を示す状態情報が画像形成装置３００及び印刷サービス２００に生成され、その状態情報の値が「待機中」にセットされているものとする。また、画像形成装置３００が本ジョブを検知（図３のＳ１６）した時点で、その本ジョブの状態を示す状態情報が画像形成装置３００及び印刷サービス２００に生成され、その状態情報の値が「待機中」にセットされているものとする。
【００７９】
そして、Ｓ１６で本ジョブを検知すると、画像形成装置３００は、Ｓ１８Ａにて、印刷サービス２００に対してその本ジョブの印刷データを要求してその印刷データのダウンロードを開始すると共に、その本ジョブに対応する仮ジョブの状態を「待機中」から「処理中」に遷移させる（すなわちそのように遷移させるよう印刷サービス２００に要求する）。一方、本ジョブの状態は、その時点では変更しない（すなわち「待機中」を維持）。
【００８０】
そして、Ｓ２０Ａにて印刷データを受信（ダウンロード）しつつ印刷出力を進めていくに際し、その受信が失敗したかどうかを判定し（Ｓ２０２）、受信が失敗した場合には、いま実行しているジョブの印刷出力を一時停止し、そのジョブを保留状態とする（Ｓ２０４）。このとき、他のジョブがあれば、一時停止したジョブの代わりに、その「他のジョブ」を実行してもよい。この後、画像形成装置３００（特にジョブ取得部３０２）は、印刷サービス２００と通信ができるかどうかを定期的に確認する（Ｓ２０６）。ＧＣＰの場合、この確認は、例えばＦｅｔｃｈインタフェースを用いて行えばよい。Ｆｅｔｃｈインタフェースは、画像形成装置３００宛のジョブがあるかどうかをＧＣＰ（印刷サービス２００）に問い合わせる際に用いるＡＰＩ（Application Programming Interface）であり、ＩＰ（Internet Protocol）ネットワークにおいて通信可否の確認に用いられるｐｉｎｇと同様、Ｆｅｔｃｈを行うことでＧＣＰと通信可能かどうかが判別できる。通信可能になるまでＳ２０６の確認を定期的に繰り返し、印刷サービス２００と通信が可能であることが確認できると（Ｓ２０８の判定結果がＹｅｓ）、画像形成装置３００は、Ｓ１８Ａに戻って一時停止したジョブ（本ジョブ）の印刷データの取得を印刷サービス２００に要求する。このとき本ジョブの状態は「待機中」なので、印刷サービス２００はその要求を受け入れ、その印刷データを画像形成装置３００に供給する。画像形成装置３００は、供給される印刷データを受信し、印刷出力を実行する（Ｓ２０Ａ）。
【００８１】
そして、印刷データの末尾まで受信及び印刷が完了すると（Ｓ２０２の判定結果がＮｏ）、画像形成装置３００は、印刷サービス２００に対して、仮ジョブ及び本ジョブの状態を共に「完了」に遷移させるよう要求し、一連の処理を終了する。
【００８２】
図９の手順では、画像形成装置３００は、ジョブの印刷データの受信が失敗した場合、自動的にその印刷データの再取得を行ったが、この代わりにユーザに確認を取ってから再取得を行うようにしてもよい。この場合、画像形成装置３００は、Ｓ２０２で印刷データの受信が失敗したと分かった場合に、例えば図１０に例示するような問合せ画面５１０を付属の表示装置に表示する。問合せ画面５１０には、印刷データのダウンロードが失敗したことを示すメッセージと、印刷データの再取得の要否を指示するためのボタンとが表示される。この問合せ画面にて、ユーザが再取得する旨のボタンを押下すると、画像形成装置３００は図９のＳ２０６に進み、印刷サービス２００との間の通信が可能となった時点で、その印刷データの再取得を行う。
【００８３】
また、ジョブの印刷データの受信が失敗した場合、画像形成装置３００は自動的に図９のＳ２０６、Ｓ２０８、及びＳ１８Ａの処理を行って印刷データの再取得を行い、その再取得があらかじめ定めた回数以上続けて失敗した場合に、図１０に例示したような画面を表示して、ユーザに再取得を更に試みるかどうかを確認してもよい。
【００８４】
画像形成装置３００の状態通知部３１０からの状態遷移の通知に従って印刷サービス２００が生成するジョブ状態画面６００の一例を図１１に示す。このジョブ状態画面６００は、クライアント装置１００を操作するユーザに対して、例えばウェブページとして提供される。ジョブ状態画面６００は、そのユーザが印刷サービス２００に対して送った各印刷指示に対応する各ジョブの状態が表示される。ジョブ状態画面６００のうち破線６１０で囲んだ部分が、１つの印刷指示に対応する仮ジョブの状態情報（破線内の下の行）と本ジョブの状態情報（上の行）を示している。個々の状態情報には、左から順に、当該ジョブの識別情報、ジョブの発行日、及び状態が示されている。ジョブの識別情報は、この例では、ユーザが印刷対象に指示した文書データのファイル名である。ただし、仮ジョブについては、識別情報として、対応する本ジョブの文書データのファイル名に対して、仮ジョブであることを示す文言を付加したものを用いている。図11の例では、本ジョブの識別情報「TestSampleScaling.pdf」に対して、仮ジョブの識別情報は、「This Job is for confirmation of ”TestSampleScaling.pdf”」となっており、「TestSampleScaling.pdf」についての確認用（「confirmation」）のであることを表している。仮ジョブの識別情報は、仮ジョブ追加部１１２又は２０２が、本ジョブの識別情報から生成すればよい。ユーザは、仮ジョブの状態から、自分が行った印刷指示の実行状況を知ることができる。
【００８５】
図１１の例では、ジョブ状態画面６００には、本ジョブと仮ジョブの両方の状態が示されている。この場合、印刷サービス２００は、クライアント装置１００から到来する仮ジョブ及び本ジョブを区別せず、共に単なるジョブとして取り扱って、状態管理を行えばよい。
【００８６】
これに対し、仮ジョブについての情報をジョブ状態画面６００に表示しないようにしてもよい。仮ジョブの状態を示す行をジョブ状態画面６００に単に表示しないだけでもよいし、それに加えて、対応する本ジョブの状態の値をその仮ジョブの状態の値に変えて表示してもよい。いずれの場合も、印刷サービス２００が、ジョブが仮ジョブと本ジョブのどちらであるかを認識し、その認識結果に応じてそのジョブの状態を表示するか否か、状態の値を対応する仮ジョブの状態に変更するか、を制御する。
【００８７】
また、以上の説明では省略していたが、高いセキュリティを目指したシステムの場合、画像形成装置３００は、ユーザの印刷ジョブを印刷サービス２００から取得するにあたり、正当な取得権限があることを証明するために、事前にそのユーザから取得したアクセストークン（例えばＯＡｕｔｈに準拠したもの）を印刷サービス２００に提示するという構成をとる場合がある。この場合、画像形成装置３００が印刷サービス２００から印刷データを再取得する際に、（ア）それまで（すなわちＳ２０２で受信失敗が検知されるまで）に用いていたアクセストークンをそのまま用いて再取得を行う方法と、（イ）ユーザから新たなアクセストークンを取得し、その新たなアクセストークンを印刷サービス２００に提示して印刷データの再取得を行う方法との２つが考えられる。後者の方が新たなアクセストークンの取得が必要な分だけ時間がかかるが、印刷データの受信失敗の原因がアクセストークンにある場合には、新たなアクセストークンをユーザから取得しない限り、印刷データの再取得は成功しない。
【００８８】
そこで、１つの例では、画像形成装置３００は、まず相対的に所要時間が短い上記（ア）の方法（従前と同じアクセストークンを使用）で印刷サービス２００から印刷データの再取得を試み、その試みをあらかじめ定めた回数だけ繰り返しても印刷データの取得が成功（すなわち印刷データの最後まで受信が完了）しない場合に、上記（イ）の方法（ユーザから新たなアクセストークンを取得）で印刷サービス２００から印刷データを再取得する。
【００８９】
また別の方法では、Ｓ２０２で印刷データの受信が失敗した場合に、その失敗の事象に応じて、方法（ア）と（イ）のいずれを用いるのかを選択する。失敗の事象が、例えば印刷データの取得要求に対して印刷サービス２００から応答が無いままタイムアウトしたことや、その取得要求（例えばＨＴＴＰ  ＧＥＴメソッド）の宛先（印刷サービス２００のＵＲＬ）がＤＮＳ（ドメインネームサーバ）で解決できなかったことである場合、それらの事象はアクセストークンには無関係なので、画像形成装置３００は、印刷データの再取得に当たっては方法（ア）を選択する。一方、失敗の事象が、画像形成装置３００から印刷サービス２００に対してアクセストークンを提示して行った認証が失敗したことや、ＳＳＬ（セキュアソケットレイヤー）証明書エラーのように、認証関連のエラーである場合、アクセストークンがその失敗の原因である可能性があるので、画像形成装置３００は、印刷データの再取得に当たっては方法（イ）を選択する。
【００９０】
＜変形例４＞
画像形成装置３００は、印刷サービス２００から仮ジョブを取得した場合に、その仮ジョブに対応する本ジョブに関する情報を印刷出力する機能を有していてもよい。印刷出力する本ジョブに関する情報としては、その本ジョブの文書ファイル名、その本ジョブのデータサイズ、印刷サービス２００にてその本ジョブの印刷データの生成が完了すると予測される時刻（あるいはそれら両方）等がある。この本ジョブに関する情報は、例えば、仮ジョブ追加部１１２又は２０２が、本ジョブに対応する仮ジョブを追加する際に、その本ジョブの情報から生成すればよい。例えば、仮ジョブ追加部１１２又は２０２は、印刷対象の本ジョブの文書データを受け取っているので、その文書データのファイル名やデータサイズは認識可能である。仮ジョブ追加部１１２又は２０２は、その文書データのファイル名やデータサイズをその本ジョブのファイル名やデータサイズとして、追加する仮ジョブの属性情報の項目に設定すればよい。また、印刷サービス２００が文書データを印刷データに変換するための所要時間や、クライアント装置１００・印刷サービス２００間の文書データの所要時間は、文書データのデータサイズに対応している。そこで、仮ジョブ追加部１１２又は２０２が、その文書データのサイズからそれら所要時間を求め、それら所要時間と現在時刻から本ジョブの印刷データの生成が完了すると予測される時刻を算出し、その時刻を追加する仮ジョブの属性情報の一項目に設定してもよい。画像形成装置３００は、Ｓ２４又はＳ２６で取得した仮ジョブの属性情報の、本ジョブのデータサイズ、本ジョブの印刷データの生成が完了すると予測される時刻等の特定の項目を認識し、それら認識した情報を含んだ「この後、TestSampleScaling.pdf（本ジョブのファイル名）を印刷する予定です。このジョブのデータサイズはおよそ＊＊＊＊バイトであり、＊＊時＊＊分＊＊秒頃印刷可能になります。」等のメッセージを用紙に印刷する。なお、本ジョブの印刷データの生成が完了すると予測される時刻は、画像形成装置３００が本ジョブの文書データのデータサイズから求めてもよい。また別の例として、仮ジョブ追加部１１２又は２０２が、仮ジョブを、そのような本ジョブに関する情報を表すメッセージを含んだ印刷ジョブとして生成し、画像形成装置３００がその仮ジョブを印刷するようにしてもよい。
【００９１】
以上、本発明の実施形態及び変形例を説明した。
【００９２】
以上に例示したクライアント装置１００、印刷サービス２００、画像形成装置３００の情報処理を行う部分は、例えば、汎用のコンピュータに当該装置の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで言うコンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）、フラッシュメモリ等の二次記憶を制御する二次記憶コントローラ、各種Ｉ／Ｏ（入出力）インタフェース、無線又は有線のネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤ、ブルーレイディスクなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、フラッシュメモリ等の二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。また、印刷サービス２００は、複数のコンピュータの協働により実現してもよい。
【符号の説明】
【００９３】
１００  クライアント装置、１１０  印刷指示部、１１２  仮ジョブ追加部、２００  印刷サービス、２０２  仮ジョブ追加部、３００  画像形成装置、３０２  ジョブ取得部、３０４  ジョブ実行部、３０６  仮ジョブ判定部、３０８  エラー通知処理部、３１０  状態通知部、４００  インターネット。
【図１】
0006531450.tif 000002
【図２】
0006531450.tif 000003
【図３】
0006531450.tif 000004
【図４】
0006531450.tif 000005
【図５】
0006531450.tif 000006
【図６】
0006531450.tif 000007
【図７】
0006531450.tif 000008
【図８】
0006531450.tif 000009
【図９】
0006531450.tif 000010
【図１０】
0006531450.tif 000011
【図１１】
0006531450.tif 000012