IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2024-127648プリンタ、コンピュータプログラム、および、方法
<>
  • 特開-プリンタ、コンピュータプログラム、および、方法 図1
  • 特開-プリンタ、コンピュータプログラム、および、方法 図2
  • 特開-プリンタ、コンピュータプログラム、および、方法 図3
  • 特開-プリンタ、コンピュータプログラム、および、方法 図4
  • 特開-プリンタ、コンピュータプログラム、および、方法 図5
  • 特開-プリンタ、コンピュータプログラム、および、方法 図6
  • 特開-プリンタ、コンピュータプログラム、および、方法 図7
  • 特開-プリンタ、コンピュータプログラム、および、方法 図8
  • 特開-プリンタ、コンピュータプログラム、および、方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024127648
(43)【公開日】2024-09-20
(54)【発明の名称】プリンタ、コンピュータプログラム、および、方法
(51)【国際特許分類】
   B41J 29/38 20060101AFI20240912BHJP
   G03G 21/00 20060101ALI20240912BHJP
   G06F 3/12 20060101ALI20240912BHJP
   H04N 1/00 20060101ALI20240912BHJP
【FI】
B41J29/38 201
G03G21/00 390
G03G21/00 396
G06F3/12 334
G06F3/12 310
G06F3/12 361
G06F3/12 359
G06F3/12 374
G06F3/12 338
G06F3/12 388
H04N1/00 127A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023036986
(22)【出願日】2023-03-09
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】山本 俊介
【テーマコード(参考)】
2C061
2H270
5C062
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061AS02
2C061CG02
2C061HH03
2C061HJ06
2C061HK03
2C061HK04
2C061HK06
2C061HK08
2C061HK11
2C061HN02
2C061HN05
2C061HN26
2C061HP06
2C061HQ03
2C061HQ17
2C061HR00
2C061HV35
2C061HV36
2C061HV48
2H270KA59
2H270KA60
2H270KA62
2H270NA04
2H270NC13
2H270NC26
2H270ND05
2H270NE07
2H270NE14
2H270ZC03
2H270ZC04
5C062AA05
5C062AA13
5C062AA29
5C062AB20
5C062AB22
5C062AB38
5C062AB40
5C062AC02
5C062AC04
5C062AC22
5C062AC34
5C062AC58
(57)【要約】
【課題】サーバから受信した印刷データに基づく印刷が実行されない不具合を抑制する。
【解決手段】プリンタは、端末装置からサーバに送信される印刷指示に基づく印刷データをサーバから受信する受信部と、印刷データをメモリに格納する格納処理部と、印刷データを用いて印刷処理を実行する印刷処理部と、印刷処理を完了できない場合に、メモリに格納済みの印刷データをサーバに送信する印刷データ送信部と、を備える。
【選択図】 図8
【特許請求の範囲】
【請求項1】
プリンタであって、
端末装置からサーバに送信される印刷指示に基づく印刷データを前記サーバから受信する受信部と、
前記印刷データをメモリに格納する格納処理部と、
前記印刷データを用いて印刷処理を実行する印刷処理部と、
前記印刷処理を完了できない場合に、前記メモリに格納済みの前記印刷データを前記サーバに送信する印刷データ送信部と、
を備えるプリンタ。
【請求項2】
請求項1に記載のプリンタであって、
前記印刷データ送信部は、前記印刷データを用いて印刷を実行すべき他のプリンタを指定する指定情報を前記印刷データと対応付けて前記サーバに送信し、
前記サーバは、前記プリンタから受信した前記印刷データを前記他のプリンタに送信する、プリンタ。
【請求項3】
請求項1に記載のプリンタであって、さらに、
前記受信部が前記印刷データを受信したことに応じて、前記サーバに受信完了通知を送信する通知送信部を備え、
前記サーバは、前記受信完了通知を受信したことに応じて、前記印刷データを前記サーバのメモリから消去する、プリンタ。
【請求項4】
請求項1に記載のプリンタであって、
前記プリンタに発生したエラーの種類を特定するエラー特定部を備え、
前記印刷データ送信部は、第1種のエラーに起因して前記印刷処理を完了できない場合に、前記印刷データを前記サーバに送信する、プリンタ。
【請求項5】
請求項4に記載のプリンタであって、
前記印刷データ送信部は、
前記第1種のエラーに起因して前記印刷処理を完了できない場合に、第1のタイミングで前記印刷データを前記サーバに送信し、
前記第1種のエラーとは異なる第2種のエラーに起因して前記印刷処理を完了できない場合に、前記第1のタイミングとは異なる第2のタイミングで前記印刷データを前記サーバに送信する、プリンタ。
【請求項6】
請求項1に記載のプリンタであって、
前記印刷データ送信部は、前記受信部が受信した前記印刷データがPWG-Rasterフォーマットのデータである場合には、前記PWG-Rasterフォーマットのデータを前記サーバに送信する、プリンタ。
【請求項7】
請求項1に記載のプリンタであって、
前記印刷データ送信部は、前記受信部が受信した前記印刷データがPDF(Portable Document Format)のデータである場合には、前記PDF(Portable Document Format)のデータを前記サーバに送信する、プリンタ。
【請求項8】
請求項1に記載のプリンタであって、
前記端末装置が前記印刷指示を前記サーバに送信するよりも前に、ユーザの操作に基づいて前記サーバと通信して前記サーバから第1の認証情報と第2の認証情報とを取得する認証情報取得部を備え、
前記受信部は、前記第1の認証情報を用いて前記サーバと通信して前記印刷データを前記サーバから受信し、
前記印刷データ送信部は、前記第2の認証情報を用いて前記サーバと通信して前記印刷データを前記サーバに送信する、プリンタ。
【請求項9】
コンピュータプログラムであって、
端末装置からサーバに送信される印刷指示に基づく印刷データを前記サーバから受信する受信機能と、
前記印刷データをメモリに格納する格納機能と、
前記印刷データを用いて印刷処理を実行する印刷機能と、
前記印刷処理を完了できない場合に、前記メモリに格納済みの前記印刷データを前記サーバに送信する印刷データ送信機能と、
をプリンタに搭載されるコンピュータに実現させるコンピュータプログラム。
【請求項10】
印刷に関する方法であって、
端末装置がサーバに印刷指示を送信し、
前記サーバが前記印刷指示に基づく印刷データをプリンタに送信し、
前記プリンタが前記印刷データをメモリに格納し、
前記プリンタが前記印刷データを用いて印刷処理を実行し、
前記プリンタが、前記印刷処理を完了できない場合に、前記メモリに格納済みの前記印刷データを前記サーバに送信する、方法。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、プリンタ、該プリンタのためのコンピュータプログラム、および、該プリンタで実行可能な方法に関する。
【背景技術】
【0002】
特許文献1に開示されるプリンタシステムでは、クライアント端末がクラウドプリントサーバへ印刷ジョブデータを送信する。クラウドプリントサーバは、受信した該印刷ジョブデータを、画像形成装置からの定期的な確認要求に応じて画像形成装置に送信し、該印刷ジョブデータを消去する。画像形成装置は、受信した印刷ジョブデータを用いて印刷を行う。画像形成装置は、自身に発生したエラーを検出すると、定期的な確認要求を行わない。このために、クラウドプリントサーバは、画像形成装置でエラーが発生中である場合には、クライアント端末から受信した印刷ジョブデータを画像形成装置に送信しない。これによって、通信帯域が無駄に使用されることや、クラウドプリントサーバが印刷ジョブデータを消去することがない、とされている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-192730号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、クラウドプリントサーバから画像形成装置に印刷ジョブデータが送信された後に、画像形成装置でエラーが発生するケースについては考慮されていない。このために、上記技術の画像形成装置では、クラウドプリントサーバから受信した印刷ジョブデータに基づく印刷が実行されない可能性があった。
【0005】
本明細書は、サーバから受信した印刷データに基づく印刷が実行されない不具合を抑制できる技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]プリンタであって、端末装置からサーバに送信される印刷指示に基づく印刷データを前記サーバから受信する受信部と、前記印刷データをメモリに格納する格納処理部と、前記印刷データを用いて印刷処理を実行する印刷処理部と、前記印刷処理を完了できない場合に、前記メモリに格納済みの前記印刷データを前記サーバに送信する印刷データ送信部と、を備えるプリンタ。
【0008】
上記構成によれば、プリンタは、当該プリンタで印刷を完了できない場合に、サーバから受信した印刷データをサーバに送信する。そのために、例えば、印刷データがサーバから消去された後であっても、プリンタからサーバに送信された印刷データを用いて印刷が完了され得る。この結果、印刷データに基づく印刷が実行されない不具合を抑制できる。
【0009】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、プリンタ、印刷システム、プリンタが実行可能な方法、これらの装置、システム、方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】システム1000の構成を示すブロック図。
図2】登録処理のシーケンス図。
図3】認証画面W1の一例を示す図。
図4】再送設定処理の説明図。
図5】印刷時の処理の第1のシーケンス図。
図6】印刷時の処理の第2のシーケンス図。
図7】印刷ジョブの説明図。
図8】実施例の印刷処理のフローチャート。
図9】変形例の印刷処理のフローチャート。
【発明を実施するための形態】
【0011】
A.実施例
A-1.システム1000の構成
図1は、システム1000の構成を示すブロック図である。システム1000は、プリンタ100A、100Bと、端末装置200と、プリントサーバ300と、を備える。システム1000は、端末装置200の指示に基づいてプリントサーバ300からプリンタ100A、100Bに印刷データを送信することによって、プリンタ100A、100Bが印刷を実行する印刷サービスを実現する。
【0012】
プリンタ100Aは、印刷材としてインクを消費して印刷を行うデバイスである。プリンタ100Aは、プリンタ100Aのコントローラとして、CPU110と、DRAMなどの揮発性記憶装置120と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置130と、を備えている。また、プリンタ100Aは、画像を表示する液晶ディスプレイなどの表示部140と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部150と、印刷機構170と、通信インタフェース(IF)180と、を備えている。
【0013】
通信IF180は、インターネットITに接続するためのインタフェース、例えば、イーサネット(登録商標)に準拠した有線のインタフェースや、Wi-Fi規格に準拠した無線のインタフェースである。
【0014】
CPU110は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、プリンタ100Aを制御するためのコンピュータプログラムPGpと、後述する各種の設定情報が記録される設定情報データベースSDと、が格納されている。
【0015】
コンピュータプログラムPGpは、本実施例では、プリンタ100Aの製造時に不揮発性記憶装置130に予め格納されて提供される。これに代えて、コンピュータプログラムPGpは、例えば、インターネットITを介して接続されたサーバからダウンロードされる形態、あるいは、CD-ROMなどに記録された形態で提供され得る。
【0016】
CPU110は、コンピュータプログラムPGpを実行することによって、プリンタ100Aを制御する各種の処理を実行する。例えば、CPU110は、印刷機構170を制御して画像を印刷する印刷処理(後述)を実行する。また、CPU110は、コンピュータプログラムPGpを実行することによって、プリントサーバ300や端末装置200と通信して、印刷サービスに関連する処理(例えば、後述する登録処理や印刷時の処理)を実行する。例えば、端末装置200との通信では、プリンタ100AはWEBサーバとして機能し、WEBブラウザとして機能する端末装置200との通信を行う。
【0017】
印刷機構170は、CPU110の制御に従って、印刷を実行する。本実施例の印刷機構170は、複数種類のインク、例えば、シアン(C)とマゼンタ(M)とイエロ(Y)とブラック(K)との4種類のインクを用いて、画像を記録媒体に印刷するインクジェット方式の印刷機構である。これに代えて、印刷機構170は、トナーカートリッジに収容されたトナーを色材として用いて、画像を記録媒体に印刷する電子写真方式の印刷機構であっても良い。
【0018】
プリンタ100Bは、上述したプリンタ100Aのユーザが所有する別のプリンタである。プリンタ100Bは、プリンタ100Aと同様の構成110~180(図示省略)を備えている。プリンタ100Bの構成の説明は省略する。
【0019】
プリンタ100A、100Bは、例えば、ローカルエリアネットワークLNに接続され、ローカルエリアネットワークLNを介してインターネットITと接続されている。
【0020】
端末装置200は、プリンタ100A、100Bのユーザの計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置200は、端末装置200のコントローラとしてのCPU210と、RAMなどの揮発性記憶装置220と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置230と、を備えている。また、端末装置200は、画像を表示する液晶ディスプレイなどの表示部240と、ユーザによる操作を取得するためのマウスやキーボードなどの操作部250と、インターネットITに接続するための有線または無線の通信IF280と、を備えている。
【0021】
CPU210は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置230には、ブラウザプログラムBPが格納されている。
【0022】
CPU210は、ブラウザプログラムBPを実行することによって、WEBブラウザとして機能する。WEBブラウザとして機能するCPU210は、プリントサーバ300やプリンタ100Aにアクセスして、後述する印刷サービスに関連する処理を実行する。
【0023】
端末装置200は、例えば、ローカルエリアネットワークLNに接続され、ローカルエリアネットワークLNを介して、インターネットITに接続されている。これに代えて、端末装置200は、4G、5Gなどのモバイル通信規格に従う無線通信によってインターネットITに接続されても良い。
【0024】
プリントサーバ300は、例えば、印刷サービスの提供事業者が運営する計算機、例えば、クラウドサーバである。プリントサーバ300は、プリントサーバ300のコントローラとしてのCPU310と、DRAMなどの揮発性記憶装置320と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置330と、インターネットITに接続するための有線または無線の通信IF380と、を備えている。プリントサーバ300は、インターネットITに接続され、インターネットITを介して、プリンタ100A、100Bと端末装置200とのそれぞれと通信可能に接続されている。
【0025】
CPU310は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置320は、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置330には、コンピュータプログラムPGsと、管理データベースDBと、が格納されている。
【0026】
コンピュータプログラムPGsは、例えば、プリントサーバ300を運用する事業者によってアップロードされる形態で提供される。プリントサーバ300のCPU310は、コンピュータプログラムPGsを実行することによって、印刷サービスを提供する。具体的には、CPU110は、プリンタ100A、100B、端末装置200と協働して、後述する印刷サービスに関連する処理を実行する。
【0027】
管理データベースDBには、端末装置200から送信される印刷データやプリンタ100A、100Bの登録情報など印刷サービスの提供に必要な各種のデータが格納される。
【0028】
なお、図1では、プリンタ100A、100Bおよび端末装置200のみが図示されているが、プリントサーバ300は、多数の複合機やプリンタなどのデバイス、および、該デバイスのユーザの端末装置と通信して、印刷サービスを提供している。以下では、プリンタ100A、100B、端末装置200との間の処理について説明するが、これらの処理は、印刷サービスの対象の複数のデバイスについて、それぞれ、独立して実行される。
【0029】
A-2.登録処理
ユーザがプリンタ100A、100Bを用いて、プリントサーバ300が提供する印刷サービスを利用するために、事前にプリンタ100A、100Bに関する情報をプリントサーバ300に登録するための登録処理が実行される。以下では、プリンタ100Aの登録処理について説明するが、プリンタ100Bについても同様の登録処理が実行される。
【0030】
図2は、登録処理のシーケンス図である。端末装置200は、ユーザからの操作に応じて、WEBブラウザを起動する。端末装置200(WEBブラウザ)は、WEBサーバとして機能するプリンタ100Aにアクセスし、ユーザからの操作に応じて、S2にて、登録指示をプリンタ100Aに送信する。
【0031】
プリンタ100Aは、登録指示を受信すると、S4にて、プリンタ100Aを識別する識別情報であるデバイスIDを含む登録要求をプリントサーバ300に送信する。
【0032】
プリントサーバ300は、登録要求を受信すると、S6にて、PINコードを生成する。S7では、プリントサーバ300は、登録要求に含まれるデバイスIDと生成済みのPINコードとを対応付けて管理データベースDB(図1)に記録する。S8では、プリントサーバ300は、PINコードと登録URL(Uniform Resource Locatorの略)とをプリンタ100Aに送信する。登録URLは、プリントサーバ300に格納された認証画面データ(後述)の所在を示す情報である。
【0033】
プリンタ100Aは、PINコードと登録URLとを受信すると、S10にて、受信したPINコードと登録URLとを端末装置200に送信する。
【0034】
端末装置200は、PINコードと登録URLとを受信すると、S12にて、受信したPINコードと登録URLとを端末装置200の表示部240に表示する。ユーザは、表示部240に表示された登録URLを、マウスなどのポインティングデバイスを操作して、選択する。登録URLが選択されると、端末装置200は、S14にて、登録URLを含む認証要求をプリントサーバ300に送信する。
【0035】
プリントサーバ300は、認証要求を受信すると、S16にて、認証要求に含まれる登録URLによって特定される認証画面データを端末装置200に送信する。
【0036】
端末装置200は、認証画面データを受信すると、S20にて、認証画面データを用いて、プリンタ登録用の認証画面W1を表示部240に表示する。図3は、認証画面W1の一例を示す図である。プリンタ登録用の認証画面W1は、PINコードの入力欄IBと、登録されるプリンタ(例えば、プリンタ100A)による印刷ジョブの再送(後述)を許可するか否かを入力するチェックボックスCBと、登録ボタンBtと、を含んでいる。
【0037】
ユーザは、認証画面W1の入力欄NBに、S12にて表示されたPINコードを入力する。ユーザは、さらに、プリンタ100Aによる印刷ジョブの再送を許可する否かの設定(再送可否とも呼ぶ)を入力する。例えば、ユーザは、印刷ジョブの再送を許可する場合には、チェックボックスCBにチェックを入れ、印刷ジョブの再送を許可しない場合には、チェックボックスCBにチェックを入れない。ここでは、ユーザは、印刷ジョブの再送を許可する(すなわち、チェックボックスCBにチェックを入れる)ものとする。ユーザが、PINコードと再送設定とを入力したうえで、登録ボタンBtを押下すると、端末装置200は、PINコードと、入力された再送可否を示す情報(以下、再送可否情報とも呼ぶ)とを取得する。
【0038】
端末装置200は、PINコードと再送可否情報とを取得すると、S22にて、PINコードと再送可否情報とをプリントサーバ300に送信する。
【0039】
プリントサーバ300は、PINコードと再送可否情報とを受信すると、S24にて、該PINコードの認証を実行する。具体的には、プリントサーバ300は、該PINコードが管理データベースDBに記録済みであるか否かを判断する。プリントサーバ300は、該PINコードが管理データベースDBに記録済みである場合、すなわち、認証が成功する場合には、S26にて、通常アクセストークン(以下、通常ATとも呼ぶ)を生成する。通常ATは、後述する印刷時の処理において、プリンタ100Aがプリントサーバ300から印刷ジョブを受信する際に、認証情報として用いられる。通常ATは、例えば、ランダムに生成されるユニークな文字列である。なお、該PINコードが管理データベースDBに記録済みでない場合、すなわち、認証が失敗する場合には、例えば、プリントサーバ300は、認証失敗通知を端末装置200に送信し、正しいPINコードを端末装置200に要求する(図示省略)。この場合には、端末装置200は、PINコードを再入力するための入力画面を表示部240に表示して、ユーザに正しいPINコードの入力を要求する(図示省略)。
【0040】
プリントサーバ300は、S22にて受信した再送可否情報が、印刷ジョブの再送を許可することを示す場合には、S30にて、再送アクセストークン(以下、再送ATとも呼ぶ)を生成する。再送ATは、後述する印刷時の処理において、プリンタ100Aがプリントサーバ300から印刷ジョブを受信した後に、該印刷ジョブをプリントサーバ300に送信(再送)する際に、認証情報として用いられる。再送ATは、例えば、ランダムに生成されるユニークな文字列であり、かつ、通常ATとは異なる文字列である。なお、再送可否情報が、印刷ジョブの再送を許可しないことを示す場合には、S30は実行されない。すなわち、この場合には、通常ATのみが生成され、再送ATは生成されない。
【0041】
S32では、プリントサーバ300は、生成されたATを記録する。すなわち、プリントサーバ300は、通常ATと再送ATとの両方が生成された場合には通常ATと再送ATとを記録し、通常ATが生成され再送ATが生成さない場合には通常ATを記録する。生成されたATは、S22にて受信されたPINコードと対応付けられたデバイスIDと対応付けて、管理データベースDBに記録される。
【0042】
S34では、プリントサーバ300は、生成されたATと、プリンタ100Aを示すURI(Uniform Resource Identifier)と、を含む登録通知をプリンタ100Aに送信する。プリンタ100Aを示すURIは、プリンタ100Aが印刷ジョブをプリントサーバ300に再送する際に、自身を示すURIとして使用される(後述)。
【0043】
プリンタ100Aは、登録通知を受信すると、登録通知に含まれるATを設定情報データベースSDに記録する。これによって、プリンタ100Aは、通常ATを用いてプリントサーバ300と通信可能になる。プリンタ100Aは、その後、プリントサーバ300と通信を行い、プリンタ100Aの情報(プリンタ名、プリンタの能力情報等)をプリントサーバ300に送信する処理等を行うが、これらの処理の図示および説明は、省略する。
【0044】
A-3.再送設定処理
ユーザが登録処理においてプリンタ100Aによる印刷ジョブの再送を許可した場合には、再送設定処理が実行可能である。印刷ジョブの再送は、プリンタ100Aにてプリントサーバ300から受信した印刷ジョブに基づく印刷を実行する際に、エラーの発生に起因して印刷を完了できない場合に実行される処理である。印刷ジョブの再送では、プリンタ100Aは、再度、該印刷ジョブをプリンタ100Aまたはプリンタ100Bにて実行させるために、該印刷ジョブをプリントサーバ300に送信する(詳細は後述)。再送設定処理は、該印刷ジョブの再送を行うか否かと、再送された該印刷ジョブをプリンタ100Aとプリンタ100Bのいずれで実行するかを設定するための処理である。
【0045】
図4は、再送設定処理の説明図である。図4(A)には、再送設定処理のシーケンス図である。端末装置200は、ユーザからの操作に応じて、WEBブラウザを起動する。端末装置200(WEBブラウザ)は、WEBサーバとして機能するプリンタ100Aにアクセスし、ユーザからの操作に応じて、S40にて、再送設定画面要求をプリンタ100Aに送信する。
【0046】
プリンタ100Aは、再送設定画面要求を受信すると、S42にて、再送設定画面W2を示す再送設定画面データを端末装置200に送信する。端末装置200は、再送設定画面データを受信すると、S44にて、再送設定画面W2を端末装置200の表示部240に表示する。
【0047】
図4(B)には、再送設定画面W2の一例が示されている。再送設定画面W2は、ラジオボタンRB1~RB3と、URIの入力欄UBと、設定ボタンBnと、を含んでいる。ラジオボタンRB1は、印刷ジョブの再送を行わないことを指定するための入力要素である。ラジオボタンRB2は、プリンタ100Aに印刷させるための印刷ジョブを再送することを指定するための入力要素である。ラジオボタンRB3は、プリンタ100Aとは異なる他のプリンタ(例えば、プリンタ100B)に印刷させるための印刷ジョブを再送することを指定するための入力要素である。入力欄UBは、ラジオボタンRB3が選択される場合に、他のプリンタを示すURIを入力するための入力欄である。
【0048】
ユーザは、ラジオボタンRB1~RB3のいずれかを選択し、ラジオボタンRB3を選択する場合には、さらに、入力欄IBにプリンタ100Bを示すURIを入力したうえで、設定ボタンBnを押下する。プリンタ100Bを示すURIは、プリンタ100Bの登録処理においてプリントサーバ300からプリンタ100Bに送信されている。ユーザは、端末装置200(WEBブラウザ)を用いてプリンタ100Bにアクセスすることで、プリンタ100Bを示すURIを知ることができる。
【0049】
設定ボタンBnが押下されると、端末装置200は、再送設定情報を取得する。再送設定情報は、再送設定画面W2に対する入力に基づく情報である。再送設定情報は、印刷ジョブの再送を行うか否かを示す情報と、印刷ジョブの再送を行う場合にはプリンタ100Aとプリンタ100Bのいずれに印刷させるための印刷ジョブを再送するかを示す情報と、を含む。再送設定情報は、プリンタ100Bに印刷させるための印刷ジョブを再送する場合には、さらに、プリンタ100Bを示すURIを含む。端末装置200は、再送設定情報を取得すると、S46にて、該再送設定情報をプリンタ100Aに送信する。プリンタ100Aは、該再送設定情報を受信すると、該再送設定情報を設定情報データベースSDに記録する。これによって、再送設定処理は終了される。
【0050】
A-4.印刷時の処理
登録処理と再送設定処理との後に実行される印刷時の処理について説明する。図5図6は、印刷時の処理のシーケンス図である。端末装置200は、ユーザからの操作に応じて、WEBブラウザを起動する。端末装置200(WEBブラウザ)は、プリントサーバ300が提供する印刷サービスのポータルサイトにアクセスし、ユーザからのプリンタ検索指示に応じて、S52にて、プリンタ情報要求をプリントサーバ300に送信する。なお、図5および図6の印刷時の処理におけるプリントサーバ300とプリンタ100Aとの通信は、例えば、IPP(Internet Printing Protocol)に従って実行される。
【0051】
プリントサーバ300は、プリンタ情報要求を受信すると、端末装置200のユーザによって登録されたプリンタの情報、例えば、プリンタ名、プリンタの能力情報、プリンタを示すURIを端末装置200に送信する。
【0052】
端末装置200は、プリンタ情報を受信すると、S56にて、プリンタ情報によって示されるプリンタの一覧、例えば、プリンタ100A、100Bを含むプリンタの一覧を表示部240に表示する。ユーザは、該プリンタの一覧から使用する1以上のプリンタ(以下、使用プリンタとも呼ぶ)を選択する。使用プリンタが選択されると、端末装置200は、選択された使用プリンタを自身のメモリ(例えば、不揮発性記憶装置230)に登録する。これによって、例えば、ユーザが、端末装置200において文書作成アプリ等のアプリケーションから印刷指示を入力する際に、使用プリンタを指定可能になる。
【0053】
使用プリンタの登録後に、ユーザは、例えば、文書作成アプリ等のアプリケーションから印刷指示を端末装置200に入力する。印刷指示は、印刷されるべき画像を示す画像データの指定と、印刷に用いるべきプリンタの指定と、を含む。ここでは、印刷に用いるべきプリンタとしてプリンタ100Aが指定されたものとする。
【0054】
端末装置200は、印刷指示を取得すると、S62にて、印刷指示にて指定された画像データを用いて印刷ジョブを生成する。具体的には、端末装置200は、指定された画像データを印刷ジョブ用のフォーマットに変換することによって、印刷されるべき画像を示す印刷データを生成する。本実施例の印刷データは、PWG-Rasterフォーマット、または、PDF(Portable Document Format)のデータである。PWG-Rasterフォーマットは、PWG(Printer Working Group)によって策定された印刷用のラスタデータのフォーマットである。端末装置200は、生成された印刷データに、各種の付加データを付加して、印刷ジョブを生成する。なお、端末装置200からプリントサーバ300に送信される印刷ジョブを、プリンタ100Aからプリントサーバ300に再送される再送用の印刷ジョブと区別するために、通常の印刷ジョブとも呼ぶ。
【0055】
図7は、印刷ジョブの説明図である。図7(A)の通常の印刷ジョブJD1は、上述した印刷データと、送信先プリンタURIと、ユーザ識別情報と、印刷設定情報と、を含む。送信先プリンタURIは、印刷ジョブの送信先となるプリンタ、すなわち、印刷ジョブに基づく印刷を実行すべきプリンタを示すURIである。ここでは、プリンタURIは、上述したプリンタ100Aを示すURIが用いられる。ユーザ識別情報は、印刷指示を行ったユーザを識別する情報である。ユーザ識別情報は、例えば、印刷サービスを利用するユーザを示すユーザIDである。印刷設定情報は、カラー/モノクロの設定や用紙サイズの設定などの印刷設定を示す情報であり、例えば、ユーザによって指定される。
【0056】
S64では、端末装置200は、生成された印刷ジョブをプリントサーバ300に送信する。プリントサーバ300は、印刷ジョブを受信すると、S66にて、必要に応じて印刷ジョブに含まれる印刷データの変換を実行する。例えば、印刷ジョブに含まれる印刷データが上述した所定のフォーマット(PWG-RasterフォーマットまたはPDF)でない場合には、印刷データは所定のフォーマットに変換される。S68では、プリントサーバ300は、印刷ジョブをジョブIDと対応付けて管理データベースDBに登録する。
【0057】
ここで、プリンタ100Aは、プリントサーバ300に、定期的にイベント確認要求を送信している。プリントサーバ300は、プリンタ100Aのための印刷ジョブが登録されている場合には、プリンタ100Aに、印刷ジョブが登録されていることを示すイベント確認応答を送信する。プリントサーバ300は、プリンタ100Aのための印刷ジョブが登録されていない場合には、プリンタ100Aに、印刷ジョブが登録されていないことを示すイベント確認応答を送信する。
【0058】
S68で、プリンタ100Aのための印刷ジョブが登録されているので、S70にて、プリントサーバ300がプリンタ100Aからのイベント確認要求を受信すると、プリントサーバ300は、S72にて、印刷ジョブが登録されていることを示すイベント確認応答をプリンタ100Aに送信する。イベント確認応答には、登録されている印刷ジョブのジョブIDが含められる。
【0059】
プリンタ100Aは、イベント確認応答を受信すると、S74にて、印刷ジョブの送信を要求するジョブ要求をプリントサーバ300に送信する。ジョブ要求には、イベント確認応答に含まれるジョブIDが含められる。
【0060】
プリントサーバ300は、ジョブ要求を受信すると、S76にて、ジョブ要求に含まれるジョブIDの印刷ジョブのジョブ状況を印刷中に更新する。S78では、プリントサーバ300は、ジョブ要求に含まれるジョブIDの印刷ジョブをプリンタ100Aに送信する。
【0061】
プリンタ100Aは、印刷ジョブを受信すると、S80にて、印刷データを含む印刷ジョブを不揮発性記憶装置130に格納する。S81では、プリンタ100Aは、印刷ジョブの受信が完了したことを示す受信完了通知をプリントサーバ300に送信する。
【0062】
プリントサーバ300は、受信完了通知を受信すると、S82にて、プリンタ100Aに送信した印刷ジョブを管理データベースDBから消去する。
【0063】
なお、プリンタ100Aは、上述の印刷ジョブを受信するためのプリントサーバ300との通信には、図2の登録処理のS34にて受信した通常ATを認証情報として用いる。例えば、イベント確認要求(S70)、ジョブ要求(S74)、受信完了通知(S81)、ジョブ状況更新要求(後述のS86)には、通常ATが含められる。これによって、プリントサーバ300は、プリンタ100Aが登録済みのプリンタであることを認識する。
【0064】
S84では、プリンタ100Aは、受信した印刷ジョブを用いて、画像を印刷する印刷処理を実行する。図8は、印刷処理のフローチャートである。S205では、プリンタ100Aは、印刷ジョブを用いて印刷を開始する。例えば、プリンタ100Aは、印刷ジョブに含まれる印刷データがPDF形式である場合には、例えば、該印刷データに対してラスタライズ処理、色変換処理、ハーフトーン処理を実行して、印刷すべき画像を示すドットデータを生成する。プリンタ100Aは、該ドットデータを印刷機構170に供給し、用紙に画像を印刷する。なお、揮発性記憶装置120のバッファ領域に一時的に格納された印刷データおよびドットデータは、当該データを用いて一枚分の印刷が行われるごとに、順次にバッファ領域から消去されるが、S80にて、不揮発性記憶装置130に格納された印刷ジョブ(印刷データを含む)は、消去されない。
【0065】
S210では、プリンタ100Aは、印刷ジョブを用いた印刷が完了したか否かを判断する。印刷が完了した場合には(S210:YES)、プリンタ100Aは、印刷処理を終了する。印刷が完了していない場合には(S210:NO)、プリンタ100Aは、S215にて、自身がエラー状態であるか否かを判断する。例えば、エラー状態は、インク切れ、ノズル詰まり、紙詰まり、部品の破損、電気系統の異常等が含まれる。
【0066】
自身がエラー状態でない場合、すなわち、正常に印刷を実行している場合には(S215:NO)、プリンタ100Aは、S210に戻る。
【0067】
自身がエラー状態である場合には(S210:YES)、プリンタ100Aは、S220にて、発生しているエラーの種類を特定する。例えば、プリンタ100Aは、各種のセンサからの信号に基づいて、エラー発生時には、エラーの種類を特定できる。
【0068】
S230では、プリンタ100Aは、特定されたエラーが即時に印刷可能な状態に復帰可能なエラーであるか否かを判断する。例えば、紙詰まりは、ユーザが詰まった紙を取り除くことでプリンタ100Aは容易に印刷可能な状態に復帰できるので、即時に復帰可能なエラーに分類される。例えば、部品の破損、ノズル詰まり、電気系統の異常は、修理やメンテナンスが必要になるので、即時に復帰不可能なエラーに分類される。また、本実施例では、用紙切れ、インク切れは、用紙補給やインクカートリッジの交換等の作業が必要であることや、予備の用紙やインクカートリッジが準備されているとは限らないことから、即時に復帰不可能なエラーに分類される。特定のエラーを、即時に復帰不可能なエラーに分類するか、即時に復帰可能なエラーに分類するかは、設計思想によって異なり得る。例えば、用紙切れ、インク切れは、即時に復帰可能なエラーに分類されても良い。
【0069】
特定されたエラーが即時に復帰不可能なエラーである場合には(S230:YES)、プリンタ100Aは、S235にて、印刷をキャンセルするキャンセル指示が操作部150を介して入力されたか否かを判断する。キャンセル指示が入力された場合には(S235:YES)、受信された印刷ジョブに基づく印刷が完了する見込みはないと考えられる。この場合には、プリンタ100Aは、S240にて、ジョブ再送フラグをONに設定して、印刷処理を終了する。
【0070】
キャンセル指示が入力されない場合には(S235:NO)、プリンタ100Aは、S210に戻る。この場合には、例えば、ユーザがエラーに対処することで、プリンタ100Aが印刷可能な状態に復帰し、受信された印刷ジョブに基づく印刷を完了し得る。
【0071】
特定されたエラーが即時に復帰不可能なエラーである場合には(S230:NO)、プリンタ100Aは、キャンセル指示の入力を待つことなく、S240にて、ジョブ再送フラグをONに設定して、印刷処理を終了する。
【0072】
印刷処理が終了すると、印刷処理が、印刷ジョブに基づく印刷を完了して終了したか、エラーのために印刷ジョブに基づく印刷を完了せずに終了したかに関わらずに、プリンタ100Aは、図5のS86にて、印刷の完了を示すジョブ状況更新要求をプリントサーバ300に送信する。
【0073】
プリントサーバ300は、ジョブ状況更新要求を受信すると、図5のS88にて、ジョブ状況を印刷終了に更新する。
【0074】
図6は、図5のS88に後続する印刷時の処理を示す。プリンタ100Aは、印刷処理を終了すると、図6のS102にて、ジョブ再送フラグはONであるか否かを判断する。ジョブ再送フラグがOFFである場合には(S102:NO)、プリンタ100Aは、印刷時の処理を終了する。
【0075】
ジョブ再送フラグがONである場合には(S102:YES)、プリンタ100Aは、S104にて、再送する印刷ジョブに基づく印刷を行うプリンタを特定する。再送する印刷ジョブに基づく印刷を行うプリンタは、図4の再送設定処理においてユーザの指示に基づいて設定されている(図4(B))。そして、再送する印刷ジョブに基づく印刷を行うプリンタを示す再送設定情報は、図4(A)のS58にて、設定情報データベースSDに記録されている。プリンタ100Aは、該再送設定情報を参照して、再送する印刷ジョブに基づく印刷を行うプリンタを特定する。本実施例では、再送する印刷ジョブに基づく印刷を行うプリンタは、プリンタ100Aとプリンタ100Bとのいずれかである。
【0076】
S104では、プリンタ100Aは、図5のS80にて不揮発性記憶装置130に格納済みの印刷ジョブを不揮発性記憶装置130から揮発性記憶装置120のバッファ領域に読み出す。この印刷ジョブは、図5のS78にてプリントサーバ300から受信したものである。
【0077】
S108では、プリンタ100Aは、読み出された印刷ジョブを用いて、再送用の印刷ジョブを生成する。図7(B)には、再送用の印刷ジョブJD2が図示されている。この印刷ジョブJD2は、読み出された印刷ジョブ(図7の通常の印刷ジョブJD1)に含まれる印刷データをそのまま含む。すなわち、通常の印刷ジョブJD1に含まれる印刷データがPWG-rasterフォーマットの印刷データである場合には、再送用の印刷ジョブJD2は、PWG-rasterフォーマットの印刷データを含む。通常の印刷ジョブJD1に含まれる印刷データがPDFの印刷データである場合には、再送用の印刷ジョブJD2は、PDFの印刷データを含む。
【0078】
再送用の印刷ジョブJD2は、さらに、再送アクセストークン(再送AT)を含む。この再送ATは、図2の登録処理のS34にて、プリントサーバ300から受信され、プリンタ100Aの設定情報データベースSDに記録されている。このように、プリンタ100Aは、印刷ジョブを送信するためのプリントサーバ300との通信には、登録処理にて取得した再送ATを認証情報として用いる。これによって、プリントサーバ300は、プリンタ100Aが、印刷ジョブの送信を許可された登録済みのプリンタであることを認識する。
【0079】
再送用の印刷ジョブJD2は、さらに、印刷ジョブの送信先となるプリンタ、すなわち、印刷ジョブに基づく印刷を実行すべきプリンタを示す送信先プリンタURIを含む。この送信先プリンタURIは、S104にて特定されるプリンタがプリンタ100Aである場合には、プリンタ100Aを示すURIである。プリンタ100Aを示すURIは、図2の登録処理のS34にて、プリントサーバ300から受信され、プリンタ100Aの設定情報データベースSDに記録されている。送信先プリンタURIは、S104にて特定されるプリンタがプリンタ100Bである場合には、プリンタ100Bを示すURIである。プリンタ100Bを示すURIは、図4の再送設定処理にて、ユーザによって端末装置200に表示される再送設定画面W2に入力される(図4(B))。プリンタ100Bを示すURIは、端末装置200からプリンタ100Aに送信され(図4(A)のS46)、プリンタ100Aの設定情報データベースSDに記録されている(図4(B)のS58)。
【0080】
再送用の印刷ジョブJD2は、さらに、ユーザ識別情報と印刷設定情報とを含む。再送用の印刷ジョブJD2のユーザ識別情報と印刷設定情報には、通常の印刷ジョブJD1に含まれるユーザ識別情報と印刷設定情報が用いられる。
【0081】
以上のように、本実施例の再送用の印刷ジョブJD2は、印刷データに、送信先プリンタURI、ユーザ識別情報、印刷設定情報等が対応付けられたデータである、と言うことができる。
【0082】
再送用の印刷ジョブが生成されると、プリンタ100Aは、図6のS110にて、該印刷ジョブをプリントサーバ300に送信する。プリントサーバ300は、再送用の印刷ジョブを受信すると、再送用の印刷ジョブを、通常の印刷ジョブを受信した場合と同様に処理する。具体的には、S112では、プリントサーバ300は、図5のS66と同様に、必要に応じて印刷ジョブに含まれる印刷データの変換を実行する。S114では、図5のS68と同様に、プリントサーバ300は、再送用の印刷ジョブをジョブIDと対応付けて管理データベースDBに登録する。
【0083】
再送用の印刷ジョブは、管理データベースDBに登録された後も、通常の印刷ジョブと同様に処理される(図示省略)。具体的には、再送用の印刷ジョブが、送信先プリンタURIとして、プリンタ100Aを示すURIを含む場合には、図5のS70~88と同様の処理が行われる。すなわち、再送用の印刷ジョブは、例えば、エラーが解消されたプリンタ100Aからのジョブ要求に応じて、プリンタ100Aに送信され、プリンタ100Aは、再送用の印刷ジョブを用いて、印刷処理を実行する。再送用の印刷ジョブが、送信先プリンタURIとして、プリンタ100Bを示すURIを含む場合には、図5のS70~88において、プリンタ100Aとプリントサーバ300とが行う処理を、プリンタ100Bとプリントサーバ300とが実行する。すなわち、プリンタ100Bは、プリンタ100Aと同様に、印刷ジョブが登録されているか否かを確認するために、プリントサーバ300に、定期的にイベント確認要求を送信している。そして、プリンタ100Bは、印刷ジョブが登録されている場合には、プリンタ100Aと同様に、プリントサーバ300にジョブ要求を送信する。再送用の印刷ジョブは、プリンタ100Bからのジョブ要求に応じて、プリンタ100Bに送信され、プリンタ100Bは、再送用の印刷ジョブを用いて、印刷処理を実行する。これによって、通常の印刷ジョブに基づく印刷がプリンタ100Aにて完了できない場合であっても、再送用の印刷ジョブを用いてプリンタ100Aまたはプリンタ100Bが印刷を行うので、ユーザは所望の印刷結果を得ることができる。
【0084】
以上説明した本実施例によれば、プリンタ100Aは、端末装置200からプリントサーバ300に送信される印刷ジョブ(印刷データを含む)をプリントサーバ300から受信する(図5のS78)。プリンタ100Aは、該印刷ジョブ(印刷データを含む)を自身のメモリ(不揮発性記憶装置130)に格納する(図5のS80)。プリンタ100Aは、該印刷ジョブに含まれる印刷データを用いて印刷処理を実行する(図5のS84)。プリンタ100Aは、印刷処理を完了できない場合に、不揮発性記憶装置130に格納済みの印刷データを含む再送用の印刷ジョブをプリントサーバ300に送信する(図6のS110)。この結果、プリンタ100Aがエラーの発生等によって印刷処理を完了できない場合に、例えば、受信した印刷データがプリントサーバ300から消去されたとしても、図6のS110にてプリンタ100Aがプリントサーバ300に送信した印刷データを用いて印刷が完了され得る。この結果、プリンタ100Aがプリントサーバ300から受信した印刷データに基づく印刷が実行されない不具合を抑制できる。
【0085】
例えば、一般的に、プリンタ100Aは、プリントサーバ300から受信した印刷データに基づく全ての印刷が完了していない場合であっても、印刷データのうち、既に印刷を完了した部分については、揮発性記憶装置120のバッファ領域から削除する場合がある。また、全ての印刷が完了していない状態で、プリンタ100Aにエラーが発生すると、ユーザは、プリンタ100Aを再起動することや、プリンタ100Aの電源を落とすことがある。この場合に、プリントサーバ300から受信した印刷データが、プリンタ100Aの揮発性記憶装置120から消えてしまう場合がある。また、プリントサーバ300は、印刷データを含む印刷ジョブをプリントサーバ300に送信した後には、該印刷ジョブを消去する(図5のS82)。このために、仮に、プリンタ100Aからプリントサーバ300に、再度、印刷データを含む印刷ジョブを送信しない場合には、エラーのために印刷が完了していないにも拘わらずに、印刷データがプリンタ100Aにもプリントサーバ300にも記憶されていない状態になり得る。この場合には、プリンタ100Aは、エラーが解消されて印刷可能な状態に復帰したとしても、復帰後に印刷を完了できない。この場合も、当然に、プリンタ100Bも印刷データを受け取る手段がないので、プリンタ100Aに代わって印刷を完了することはできない。この場合には、例えば、ユーザが端末装置200を用いて、再度、印刷ジョブをプリントサーバ300に送信する必要があり、ユーザの負担が大きくなる。本実施例では、プリンタ100Aは、印刷処理を完了できない場合に印刷データを含む再送用の印刷ジョブをプリントサーバ300に送信しておくことで、プリンタ100Aもしくはプリンタ100Bが、印刷を完了させ得る。
【0086】
さらに、本実施例によれば、プリンタ100Aは、印刷データを用いて印刷を実行すべき他のプリンタ(例えば、プリンタ100B)を指定する送信先プリンタURIを印刷データと対応付けた再送用の印刷ジョブをプリントサーバ300に送信する(図4(A)、(B)、図6のS104、S108)。プリントサーバ300は、該再送用の印刷ジョブを、他のプリンタ(例えば、プリンタ100B)に送信する。この結果、例えば、プリンタ100Aがエラーから復帰できない場合であっても、プリンタ100Aに代わって、プリンタ100Bが、ユーザが所望する印刷を完了させることができる。したがって、ユーザは、速やかに印刷結果を得られるので、ユーザに対する利便性が向上し得る。
【0087】
さらに、本実施例によれば、プリンタ100Aは、印刷データを含む印刷ジョブを受信したことに応じて、プリントサーバ300に受信完了通知を送信し(図5のS81)、プリントサーバ300は、受信完了通知を受信したことに応じて、印刷データを含む印刷ジョブをプリントサーバ300のメモリから消去する(図5のS82)。この場合には、印刷処理が完了する前に、プリントサーバ300のメモリから印刷データが消去されてしまう。このような場合に、プリントサーバ300のメモリから印刷データが消去された後に、プリンタ100Aが印刷処理を完了できないエラーが発生したとしても、プリンタ100Aがプリントサーバ300に送信した印刷データを含む再送用の印刷ジョブを用いて印刷が完了され得る。
【0088】
さらに、本実施例によれば、プリンタ100Aは、自身に発生したエラーの種類を特定し(図8のS220)、第1種のエラー(本実施例では、即時に復帰不可能なエラー)に起因して印刷処理を完了できない場合に(図8のS230にてNO)、印刷データを含む印刷ジョブをプリントサーバ300に送信する(図8のS240)。この結果、第1種のエラーに起因して印刷処理を完了できない場合に、プリンタ100Aがプリントサーバ300に送信した印刷データを含む再送用の印刷ジョブを用いて印刷が完了され得る。
【0089】
さらに、本実施例によれば、プリンタ100Aは、第1種のエラー(本実施例では、即時に復帰不可能なエラー)に起因して印刷処理を完了できない場合に、第1のタイミング(本実施例では、エラーが特定されたタイミング)で印刷データを含む再送用の印刷ジョブをプリントサーバ300に送信する(図8のS230にてNO、S240)。プリンタ100Aは、第1種のエラーとは異なる第2種のエラー(本実施例では、即時に復帰可能なエラー)に起因して印刷処理を完了できない場合に、第1のタイミングとは異なる第2のタイミング(本実施例では、エラーが発生してキャンセル指示が入力されたタイミング)で再送用の印刷ジョブをプリントサーバ300に送信する(図8のS235にてYES、S240)。この結果、発生したエラーの種類に応じた適切なタイミングで、再送用の印刷ジョブをプリントサーバ300に送信できる。
【0090】
より具体的には、即時に復帰不可能なエラーに起因して印刷処理を完了できない場合には、エラーが特定されたタイミングで再送用の印刷ジョブが送信される。即時に復帰不可能なエラーが発生した場合には、プリンタ100Aの復帰には時間が掛かることが想定され、再送用の印刷ジョブをプリントサーバ300に送信しておく必要性が高い。この場合には、仮に、キャンセル指示が入力されるまで再送用の印刷ジョブの送信を待つとすると、例えば、キャンセル指示が入力されることなく、プリンタ100Aの電源が落とされた場合には、再送用の印刷ジョブが送信できなくなる可能性がある。本実施例では、即時に復帰不可能なエラーに起因して印刷処理を完了できない場合には、キャンセル指示の入力を待つことなく、エラーが特定されたタイミングで再送用の印刷ジョブが送信されるので、より確実に、再送用の印刷ジョブをプリントサーバ300に送信できる。
【0091】
また、即時に復帰可能なエラー起因して印刷処理を完了できない場合には、キャンセル指示が入力されたタイミングで再送用の印刷ジョブが送信される。即時に復帰可能なエラーが発生した場合には、その後にプリンタ100Aが、エラーから復帰して、プリントサーバ300から受信した通常の印刷ジョブを用いて、印刷を完了できる可能性が比較的高い。この場合に、仮に、キャンセル指示が入力される前に、再送用の印刷ジョブをプリントサーバ300に送信すると、再送用の印刷ジョブの送信後に、プリンタ100Aが、エラーから復帰して、通常の印刷ジョブを用いて、印刷を完了する場合がある。この場合には、再送用の印刷ジョブの送信が無駄になる。あるいは、再送用の印刷ジョブを用いて、プリンタ100Aや100Bが重複して印刷を行う可能性がある。このために、即時に復帰可能なエラーが発生した場合には、キャンセル指示が入力されたこと、すなわち、通常の印刷ジョブを用いた印刷が行われないことを確認した後に、再送用の印刷ジョブをプリントサーバ300に送信することが好ましい。これによって、再送用の印刷ジョブの送信が無駄になることや、再送用の印刷ジョブを用いて重複した印刷が行われることを抑制することができる。
【0092】
さらに、本実施例によれば、プリンタ100Aは、受信した通常の印刷ジョブに含まれる印刷データがPWG-Rasterフォーマットのデータである場合には、PWG-Rasterフォーマットのデータを含む再送用の印刷ジョブをプリントサーバ300に送信する(図7)。また、プリンタ100Aは、受信した通常の印刷ジョブに含まれる印刷データがPDFのデータである場合には、PDFのデータを含む再送用の印刷ジョブをプリントサーバ300に送信する(図7)。これによって、再送用の印刷ジョブを用いた印刷が、通常の印刷ジョブを用いて行われるべき印刷と同一の印刷になることを担保できる。
【0093】
さらに、本実施例によれば、プリンタ100Aは、端末装置200が印刷ジョブをプリントサーバ300に送信するよりも前に、ユーザの操作に基づいてプリントサーバ300と通信してプリントサーバ300から通常ATと再送ATとを取得する(図3の登録処理、S34等)。プリンタ100Aは、通常ATを用いてプリントサーバ300と通信して通常の印刷ジョブをプリントサーバ300から受信し、再送ATを用いてプリントサーバ300と通信して再送用の印刷ジョブをプリントサーバ300に送信する。この結果、2種類のアクセストークンを認証情報として利用して、印刷ジョブの受信と送信とを行うことができる。
【0094】
以上の説明から解るように、本実施例の通常ATは、第1の認証情報の例であり、再送ATは、第2の認証情報の例である。
【0095】
B.変形例
(1)上記実施例の印刷指示では、エラーの種類に応じて、キャンセル指示が入力されたタイミングと、エラーの種類が特定されたタイミングと、のいずれかで、プリンタ100Aからプリントサーバ300に再送用の印刷ジョブが送信される。これに限らず、他のタイミングでプリンタ100Aからプリントサーバ300に再送用の印刷ジョブが送信されても良い。
【0096】
図9は、変形例の印刷処理のフローチャートである。図9の印刷処理では、図8のS220~S235に代えて、S220C~S240Cの処理が実行される。
【0097】
S220Cでは、プリンタ100Aは、再送確認画面(図示省略)をプリンタ100Aの表示部140に表示する。再送確認画面は、例えば、再送を行う再送指示を入力するための第1ボタンと、再送を行わないことを指示する第2ボタンと、を含んでいる。
【0098】
S230Cでは、プリンタ100Aは、再送指示が入力されたか否かを判断する。プリンタ100Aは、再送確認画面にて第1ボタンが押下された場合に、再送指示が入力されたと判断し、第2ボタンが押下された場合に、再送を行わない指示が入力されたと判断する。
【0099】
再送指示が入力された場合には(S230C:YES)、プリンタ100Aは、S240Cにて、ジョブ再送フラグをONに設定して、印刷処理を終了する。再送を行わない指示が入力された場合には(S230C:NO)、プリンタ100Aは、S240Cをスキップして、印刷処理を終了する。この場合には、ジョブ再送フラグはONに設定されない。
【0100】
本変形例によれば、ユーザによって再送指示が入力された場合に、再送指示が入力されたタイミングで、プリンタ100Aは、プリントサーバ300に再送用の印刷ジョブを送信する。そして、再送を行わない指示が入力された場合には、プリンタ100Aは、プリントサーバ300に再送用の印刷ジョブを送信しない。このために、ユーザの意図に反して、再送用の印刷ジョブがプリントサーバ300に送信されることを抑制できる。
【0101】
(2)プリンタ100Aは、印刷処理において、即時に復帰不可能なエラーが発生した場合に限って、プリントサーバ300に再送用の印刷ジョブを送信し、即時に復帰可能なエラーが発生した場合には、プリントサーバ300に再送用の印刷ジョブを送信しなくても良い。また、プリンタ100Aは、印刷処理において、エラーが発生した場合には、エラーの種類に拘わらずに、常に、プリントサーバ300に再送用の印刷ジョブを送信しても良い。
【0102】
(3)プリンタ100Aは、発生したエラーの種類に応じて、再送用の印刷ジョブを用いて印刷を実行するプリンタを示す情報を変えても良い。例えば、プリンタ100Aは、印刷処理において、即時に復帰不可能なエラーが発生した場合には、プリンタ100Bを示すURIを送信先プリンタURIとして含む再送用の印刷ジョブをプリントサーバ300に送信し、即時に復帰可能なエラーが発生した場合には、プリンタ100Aを示すURIを送信先プリンタURIとして含む再送用の印刷ジョブをプリントサーバ300に送信しても良い。
【0103】
(4)上記実施例では、図4の再送設定処理にて、再送用の印刷ジョブに基づく印刷を、プリンタ100Aとプリンタ100Bとのいずれに実行させるか否かを設定している。例えば、再送用の印刷ジョブに基づく印刷を、予め定められたプリンタ(例えば、プリンタ100Aまたはプリンタ100B)に実行させる場合には、図4の再送設定処理は、実行されなくても良い。
【0104】
(5)印刷ジョブは、印刷データを含む印刷指示であると言うことができる。端末装置200からプリントサーバ300に送信される印刷指示は、印刷データを含まない印刷指示であっても良い。例えば、プリントサーバ300と通信可能なクラウドストレージに、ユーザがPDFファイルなどの画像ファイルを保存している場合には、プリンタ100Aは、端末装置200からクラウドストレージ内の画像ファイルを指定する情報を含む印刷指示をプリントサーバ300に送信しても良い。この場合には、プリントサーバ300は、該印刷指示に基づいて、クラウドストレージから画像ファイルを取得し、該画像ファイルを用いて印刷データを生成し、該印刷データを含む印刷ジョブを生成する。プリントサーバ300は、生成した印刷ジョブをプリンタ100Aに送信する。
【0105】
(6)上記実施例では、プリンタ100Aは、通常の印刷ジョブをプリントサーバ300から受信するための通常ATと、再送用の印刷ジョブをプリントサーバ300に送信するための再送ATとを使い分けている。これに代えて、プリンタ100Aは、1種類のアクセストークン(AT)を用いて、通常の印刷ジョブをプリントサーバ300から受信することと、再送用の印刷ジョブをプリントサーバ300に送信することと、の両方を実行しても良い。
【0106】
(7)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【0107】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0108】
1000…システム,100A、100B…プリンタ,110…CPU,120…揮発性記憶装置,130…不揮発性記憶装置,140…表示部,150…操作部,170…印刷機構, 180…通信IF,200…端末装置,210…CPU,220…揮発性記憶装置,230…不揮発性記憶装置,240…表示部,250…操作部,280…通信IF,300…プリントサーバ,310…CPU,320…揮発性記憶装置,330…不揮発性記憶装置,380…通信IF,BP…ブラウザプログラム,DB…管理データベース,PGp,PGs…コンピュータプログラム,SD…設定情報データベース
図1
図2
図3
図4
図5
図6
図7
図8
図9