(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】印刷装置、印刷装置の制御方法及びプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20240909BHJP
B41J 29/42 20060101ALI20240909BHJP
G06F 3/12 20060101ALI20240909BHJP
【FI】
B41J29/38 201
B41J29/42 F
G06F3/12 374
G06F3/12 303
G06F3/12 367
G06F3/12 387
(21)【出願番号】P 2023093755
(22)【出願日】2023-06-07
(62)【分割の表示】P 2023013782の分割
【原出願日】2018-05-31
【審査請求日】2023-06-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】井上 剛
【審査官】上田 正樹
(56)【参考文献】
【文献】特開2016-200934(JP,A)
【文献】特開2008-035062(JP,A)
【文献】特開2017-154434(JP,A)
【文献】特開2015-036860(JP,A)
【文献】米国特許出願公開第2010/0302579(US,A1)
【文献】特許第7298037(JP,B2)
【文献】特許第7034836(JP,B2)
【文献】特許第7225451(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38
B41J 29/42
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
IPP(Internet Printing Protocol)を用いて印刷サービスから印刷ジョブを受信して印刷を実行することが可能な印刷装置であって、
前記印刷サービスにおいて保持された印刷ジョブの一覧を表示させる表示制御手段と、
表示された一覧から選択された印刷ジョブの印刷指示を受け付ける受付手段と、
前記印刷指示が受け付けられると、前記印刷サービスと通信し前記印刷指示の対象として選択された印刷ジョブを前記印刷サービスに要求し、印刷手段に当該印刷ジョブの印刷を実行させる印刷制御手段と、を有し、
表示された前記一覧から選択された印刷ジョブのキャンセル指示が受け付けられると、
前記印刷制御手段は前記印刷サービスとIPPを用いて前記キャンセル指示の対象として選択された印刷ジョブに関する通信を行うが
、ジョブのキャンセルを指示するIPPオペレーションが使われることはなく、かつ前記キャンセル指示の対象として選択された印刷ジョブは印刷されないことを特徴とする印刷装置。
【請求項2】
IPP(Internet Printing Protocol)を用いて印刷サービスから印刷ジョブを受信して印刷を実行することが可能な印刷装置であって、
前記印刷サービスにおいて保持された印刷ジョブの一覧を表示させる表示制御手段と、
表示された一覧から選択された印刷ジョブの印刷指示を受け付ける受付手段と、
前記印刷指示が受け付けられると、前記印刷サービスと通信し前記印刷指示の対象として選択された印刷ジョブを前記印刷サービスに要求し、印刷手段に当該印刷ジョブの印刷を実行させる印刷制御手段と、を有し、
表示された前記一覧から選択された印刷ジョブのキャンセル指示が受け付けられると、
前記キャンセル指示の対象として選択された印刷ジョブに関する前記印刷サービスにおけるステータスをIPP
オペレーションを用いてキャンセル状態とし、
ジョブのキャンセルを指示するIPPオペレーションが使われることはなく、かつ前記キャンセル指示の対象として選択された印刷ジョブは印刷されないことを特徴とする印刷装置。
【請求項3】
当該印刷ジョブとは、前記印刷指示を受け付けた印刷ジョブを前記印刷サービスに要求することで送信されてきた印刷ジョブであることを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
前記キャンセル指示とは、前記印刷ジョブを消去するための指示であることを特徴とする請求項1乃至3の何れか1項に記載の印刷装置。
【請求項5】
IPP(Internet Printing Protocol)を用いて印刷サービスから印刷ジョブを受信して印刷を実行することが可能な印刷装置の制御方法であって、
前記印刷サービスにおいて保持された印刷ジョブの一覧を表示させる表示制御ステップと、
表示された前記一覧から選択された印刷ジョブの印刷指示を受け付けさせる受付ステップと、
前記印刷指示が受け付けられると、前記印刷サービスと通信させ、前記印刷指示の対象として選択された印刷ジョブを前記印刷サービスに要求させ、印刷制御手段に当該印刷ジョブの印刷を実行させる印刷制御ステップと、を含み、
表示された前記一覧から選択された印刷ジョブのキャンセル指示が受け付けられると、
前記印刷制御手段に前記印刷サービスとIPPを用いて前記キャンセル指示の対象として選択された印刷ジョブに関する通信を行わせるが
、ジョブのキャンセルを指示するIPPオペレーションが使われることはなく、かつ印刷は実行されないことを特徴とする制御方法。
【請求項6】
IPP(Internet Printing Protocol)を用いて印刷サービスから印刷ジョブを受信して印刷を実行することが可能な印刷装置の制御方法であって、
前記印刷サービスにおいて保持された印刷ジョブの一覧を表示させる表示制御ステップと、
表示された前記一覧から選択された印刷ジョブの印刷指示を受け付けさせる受付ステップと、
前記印刷指示が受け付けられると、前記印刷サービスと通信させ、前記印刷指示の対象として選択された印刷ジョブを前記印刷サービスに要求させ、印刷制御手段に当該印刷ジョブの印刷を実行させる印刷制御ステップと、を含み、
表示された前記一覧から選択された印刷ジョブのキャンセル指示が受け付けられると、
前記キャンセル指示の対象として選択された印刷ジョブに関する前記印刷サービスにおけるステータスをIPP
オペレーションを用いてキャンセル状態にさせ、
ジョブのキャンセルを指示するIPPオペレーションが使われることはなく、かつ前記キャンセル指示の対象として選択された印刷ジョブは印刷されないことを特徴とする制御方法。
【請求項7】
当該印刷ジョブとは、前記印刷指示を受け付けた印刷ジョブを前記印刷サービスに要求することで送信されてきた印刷ジョブであることを特徴とする請求項5または6に記載の制御方法。
【請求項8】
前記キャンセル指示とは、前記印刷ジョブを消去するための指示であることを特徴とする請求項5乃至7の何れか1項に記載の制御方法。
【請求項9】
請求項5乃至8の何れか1項に記載の制御方法を印刷装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、印刷装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
近年の印刷方式は、クライアントが直接画像データを印刷装置に送信する方式に加えて、クラウド等のネットワーク上の印刷サーバが提供する印刷サービスから印刷データをダウンロードすることで印刷装置が印刷する方式が普及している。具体的には、モバイル等のクライアント端末が印刷サービスに印刷データを送信し、その印刷データを印刷サービスが印刷装置の形式の印刷データに変換し、この変換された印刷データを印刷装置がダウンロードすることで印刷が行われる。例えば、
図1において102がクライアント端末、101が印刷サービス、100が印刷装置として構成される。このような構成の場合、印刷サービスはクラウドでもオンプレミスでもどちらでも構わない。
【0003】
図1のような構成でプル印刷する場合、例えばユーザが印刷装置の目の前に来て、ユーザIDおよびパスワードを使用して印刷装置にログインし、印刷サービスにそのユーザのジョブがあるかどうかを問い合わせる。印刷サービスからの応答に基づいてそのユーザのジョブ一覧が印刷装置の操作パネルに表示されたら、ユーザは印刷したいジョブを選択し、「印刷」ボタンを選択することで印刷装置が印刷サービスから該当のジョブを取得して印刷する方法がある。
【0004】
一方、ユーザが印刷をキャンセルしたい場合、ユーザのジョブ一覧から消去したいジョブを選択し、キャンセル指示することで、印刷装置から印刷サービスにキャンセルコマンドが送信され、印刷サービス側で該当のジョブを消去する方法がある(特許文献1)。
【0005】
このようなネットワーク構成からなる印刷システムの例として、PWG5100.18では印刷プロトコルにIPP(Internet Printing Protocol)を使用したIPP-Infraという構成が提案されている。IPPとは、インターネットで用いられるHTTPプロトコルを利用して遠隔地にあるコンピュータと印刷装置との間で印刷データのやりとりを行うための印刷プロトコルである。
(https://ftp.pwg.org/pub/pwg/candidates/cs-ippinfra10-20150619-5100.18.pdf)
IPP-Infraでは、画像データを送信するClient、画像データを保持するInfrastructure、画像データを取得するProxy、画像データを印刷するOutput Deviceが定義されている。ここでProxyとOutput Deviceは同一端末でもよい。IPP-Infraの構成を
図1にあてはめると、Infrastructureは101の印刷サービス、Proxy兼Output Deviceは100の印刷装置、そしてClientは102のクライアント端末に相当する構成となる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、IPP-Infraの構成で、ユーザが印刷ジョブをキャンセル(消去)したい場合、IPP-Infraでは印刷装置が印刷サービスにジョブキャンセルコマンドを送信することができないという制約がある。
【0008】
図3は、IPP-Infra仕様で定義された、オペレーションとそれを対応すべき主体を示す図である。MUSTは「実装しなければいけない」を、MUST NOTは「実装してはいけない」、MAYは「実装してもしなくても、どちらでもよい」を意味する。
例えば、「Create-Job」というオペレーションは、印刷ジョブを生成するオペレーションを意味し、本オペレーションはClientとInfrastructureは実装しなければならず、Proxyは実装してはいけない、ことを意味する。
【0009】
これによると、印刷装置に相当するProxyは、ジョブキャンセルをするためのCancel-Jobオペレーションを実行してはいけない(MUST NOT)と規定されている。
【0010】
よって、ユーザが印刷装置の目の前に来て、任意のジョブをキャンセルしたくてもキャンセルできず、わざわざクライアント端末を起動してキャンセルするか、印刷サービスの管理者に依頼してキャンセルしてもらうしかない。その為、ユーザによってジョブをキャンセルするのに手間がかかるという問題があった。
【0011】
本発明は、IPP(Internet Printing Protocol)を用いて印刷サービスから印刷データを受信して印刷を行うことが可能な印刷装置において、印刷ジョブの消去にかかるユーザの手間を軽減することを目的とする。
【課題を解決するための手段】
【0012】
本発明の一実施形態に係る印刷装置は、IPP(Internet Printing Protocol)を用いて印刷サービスから印刷ジョブを受信して印刷を実行することが可能な印刷装置であって、前記印刷サービスにおいて保持された印刷ジョブの一覧を表示させる表示制御手段と、表示された一覧から選択された印刷ジョブの印刷指示を受け付ける受付手段と、前記印刷指示が受け付けられると、前記印刷サービスと通信し前記印刷指示の対象として選択された印刷ジョブを前記印刷サービスに要求し、印刷手段に当該印刷ジョブの印刷を実行させる印刷制御手段と、を有し、表示された前記一覧から選択された印刷ジョブのキャンセル指示が受け付けられると、前記印刷制御手段は前記印刷サービスとIPPを用いて前記キャンセル指示の対象として選択された印刷ジョブに関する通信を行うが、ジョブのキャンセルを指示するIPPオペレーションが使われることはなく、かつ前記キャンセル指示の対象として選択された印刷ジョブは印刷されないことを特徴とする。
【発明の効果】
【0013】
本発明によれば、IPP(Internet Printing Protocol)を用いて印刷サービスから印刷データを受信して印刷を行うことが可能な印刷装置において、印刷ジョブの消去にかかるユーザの手間を軽減することができる。
【図面の簡単な説明】
【0014】
【
図1】本実施例におけるネットワークの構成を示す図である
【
図2】本実施例における印刷装置のハードウェア構成図である
【
図3】PWGで定義されるオペレーションの一例である
【
図4】本実施例1における印刷データ投入のシーケンス図である
【
図5】本実施例1におけるジョブ印刷のシーケンス図である
【
図6】本実施例1におけるジョブキャンセルのシーケンス図である
【
図7】本実施例1におけるクラウド管理者がジョブキャンセルするシーケンス図である
【
図8】本実施例1におけるクライアント端末からジョブキャンセルするシーケンス図である
【
図9】本実施例1におけるジョブ印刷中にジョブキャンセルするシーケンス図である
【
図10】本実施例1におけるジョブ一覧表示するフローチャートである
【
図11】本実施例1におけるジョブ印刷するフローチャートである
【
図12】本実施例1におけるジョブキャンセルするフローチャートである
【
図13】本実施例1における印刷装置の操作パネルの画面例である
【
図14】本実施例1におけるクラウドの操作パネルの画面例である
【
図15】本実施例2におけるジョブキャンセルのフローチャートである
【
図16】本実施例2におけるジョブキャンセルのシーケンス図である
【
図17】本実施例における印刷装置のソフトウェア構成図である
【
図18】本実施例3におけるジョブキャンセルのシーケンス図である
【
図19】本実施例4における印刷処理のシーケンス図である
【
図20】本実施例4におけるジョブキャンセルのシーケンス図である
【発明を実施するための形態】
【0015】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0016】
(実施形態1)
本実施例では、IPP(Internet Printing Protocol)-Infraを使用して、クラウド上の印刷サービスからの印刷データを取得して印刷する例を用いて説明する。
【0017】
<ハートウェア構成>
図1は、本実施形態のクラウドプリントシステムの一例を示す。100は印刷装置である。101は、インターネット上で提供される印刷サービスである。102はユーザの操作端末としてのクライアント端末である。印刷装置100は、予め印刷装置100のオーナーによって印刷サービス101に登録される。ユーザは、クライアント端末102から印刷サービス101に登録された印刷装置100を選択し、印刷データをアクセスポイントや携帯基地局を介して印刷サービス101に送信する。印刷装置100は印刷サービス101を介して、ユーザが送信した印刷データを受信して、印刷を行う。不図示であるが、ユーザが操作するクライアント端末は、クライアント端末102のみならず、汎用のパーソナルコンピュータやスマートフォンなどの複数のクライアント端末から印刷サービス101を利用することができる。なお、印刷装置100およびクライアント端末102は、印刷サービス101とインターネットを介して接続されている。上述したとおり、
図1の印刷システムはIPP-Infraの構成が適用されており、印刷装置100はProxy兼Output Device、印刷サービス101はInfrastructure、クライアント端末はClientに相当する。
【0018】
次に
図2を用いて、印刷装置100の構成を説明する。
【0019】
CPU201はROM203が記憶している制御プログラムを読み出して、印刷装置100の動作を制御するための様々な処理を実行する。ROM203は、制御プログラムを記憶している。RAM202は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD204は、印刷データやスキャン画像等の様々なデータを記憶する。
【0020】
なお、印刷装置100の場合、1つのCPU201が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のCPUが協働して後述するフローチャートに示す各処理を実行するようにすることもできる。
【0021】
印刷装置100は、外部装置から受信した印刷データやスキャナ213よって生成されたスキャン画像等に基づいて、プリンタ206によって印刷処理が実行される。スキャナ213は、原稿を読み取ってスキャン画像を生成する。スキャナ213によって生成されたスキャン画像は、プリンタ206によって印刷されたり、HDD204に記憶される。
【0022】
操作部209は、タッチパネル機能を有する液晶表示部やキーボードを備え、後述する各種画面を表示する。ユーザは、操作部209を介して印刷装置100に対して指示や情報を入力することができる。
【0023】
無線LANチップ211は無線LAN通信で外部装置との通信を実現し、無線LANの接続種別として無線インフラや無線ダイレクトのような接続種別を有する。
【0024】
有線LANインターフェース214は、PC端末等の外部装置との間で有線LANチップ215を介して有線LANで通信を実行する。
【0025】
<ソフトウェア構成>
図17は本実施形態における印刷装置100のソフトウェア構成の一例を示す簡略図であり、ROM203に記憶されたプログラムをRAM202に展開しCPU201がプログラムを実行することで実現されるソフトウェア構成である。1701はUI処理部であり、
図14のようなジョブ一覧表示画面や、ジョブ履歴画面を表示するための画像を生成する。また、UI処理部1701は、ユーザからの「印刷」ボタンや「キャンセル」ボタン押下のイベントを、ジョブ処理部1703やネットワーク通信処理部1702に通知する。さらに、UI処理部1701は、ジョブ処理部1703からジョブ状況の変化に関する通知を受け取り、ジョブ一覧表示画面やジョブ履歴画面に反映する。1702はネットワーク通信処理部であり、印刷サービス101を提供するサーバなどの外部端末と無線LANや有線LANを通じてIPP等のネットワーク通信を行うための制御を行う。例えば印刷サービスから印刷ジョブを取得し、受信した画像データをジョブ処理部1703に転送する処理を行う。1703はジョブ処理部であり、受信した画像データを解釈し印字処理を実行する。また、ジョブの完了やエラーのイベントをUI処理部1701に通知する。
【0026】
また、不図示ではあるが、クライアント端末102にはHTMLのリクエストを送信しレスポンスで受信したHTMLに基づいて画面を表示するWebブラウザが備わっている。また、印刷サービス101には、印刷装置100を登録する機能と、クライアント端末102から印刷指定された印刷データを印刷ジョブに変換し、登録された複数台の印刷装置100の中から選択された印刷装置100に対し印刷ジョブを提供する機能を備える。
更に、印刷サービス101はWebサーバ機能を有し、印刷サービス101に保存されているジョブ状況や印刷サービスの負荷状況などをWebブラウザ経由で参照および設定するためのユーザインタフェースを提供する。これらの機能もソフトウェア構成により提供される機能であり、そのソフトウェア構成はROMに記憶されたプログラムをRAMに展開しCPUがプログラムを実行することで実現される。
【0027】
<ジョブ投入手順>
図4はクライアント端末102から印刷サービス101へ印刷データを投入するシーケンス図を示す。クライアント端末102には、印刷サービス101に対応したWebブラウザがインストールされており、Webブラウザの印刷メニューから印刷サービス101に登録された印刷装置を選択することができる。そしてユーザはクライアント端末102から印刷したい画像データを選択し(401)、その画像データのプロパティ画面から「印刷」を選択する(402)事で、クライアント端末から印刷サービス101へ印刷データが送信される(403)。IPPではPrint-JobオペレーションやCreate-Jobオペレーションによって印刷データが送信される。本オペレーションのRequesting-user-nameには、クライアント端末102を操作しているユーザを識別するためのユーザ情報が含まれる。これにより印刷サービス101は、クライアント端末102からどのユーザが印刷要求しているかを識別できる。印刷データを受信した印刷サービスは、印刷ジョブを生成して印刷サービス内の記憶領域に保存し、ジョブの処理状況をPending(待機中)状態として保持する(404)。
【0028】
図14は印刷サービス101における処理状況を表示する画面の一例である。上述したとおり、印刷サービス101にWEBサーバが搭載されており、管理者はWEBサーバからログインして、印刷サービス101に保存されているジョブ状況や印刷サービスの負荷状況などをブラウザ経由で参照および設定することができる。クライアント端末102から印刷ジョブを受信すると、印刷ジョブが存在しない状態(A)から、クライアントから2つの印刷ジョブを受信した状態(B)に遷移する。この時、ジョブを受信した時刻をDate領域に、ジョブ状況をStatus領域に、ジョブに含まれるIPP属性のRequesting-user-nameをOwner領域に、IPP属性のJob-nameをJobName領域に示す。
【0029】
<ジョブ一覧表示手順>
次に、ユーザが印刷装置100を操作して印刷サービス101に保存されている印刷ジョブ一覧を表示する処理を
図10のフローチャートを用いて説明する。まず、S1001においてユーザは印刷装置100にログインする。ログインは例えば
図13(A)のように印刷装置100の操作部209からユーザIDおよびパスワードを入力してログインしたり、ユーザIDおよびパスワードが記憶されたカードを印刷装置100にタッチすることでログインする方法がある。ログインに成功すると、
図13(B)のように、そのユーザに許可された操作アイコンが操作部209に表示され、ユーザは任意のアイコンを選択することで所望の操作を実現できる。本実施例のクラウドプリントは、
図13(B)の「CloudPRINT」アイコンを選択する事で操作可能とする。「CloudPRINT」が押下されたら、
図13(C)のジョブ一覧表示画面に遷移する。ここでは、ログインしたユーザの印刷ジョブ一覧が表示される。
【0030】
内部的に印刷装置100のCPU201は、S1002において印刷サービス101に対してジョブ一覧取得要求を送信する。ジョブ一覧取得要求は、IPPのGet-JobsオペレーションやGet-Documentsオペレーションによって実現される。本オペレーションでは、My-Jobs属性をTrueとして、Requesting-user-nameやRequesting-uri属性にログインユーザのユーザ情報が格納される。これらの属性値と、印刷サービス101に保存されている印刷ジョブのユーザ属性の値が一致した印刷ジョブのみが印刷サービス101から印刷装置100に送信される。
【0031】
S1003において印刷ジョブの一覧を取得できた場合、S1004において、CPU201は取得したジョブ一覧を
図13(C)のように操作部209に表示する。ここでは、印刷装置100にログイン中のユーザ「Alice」のジョブ一覧が表示される。そしてS1005において、CPU201はユーザの操作待ち状態となる。ユーザが任意のジョブを選択して「Print」を選択した場合、
図11のフローチャートへ進み、「Cancel」を選択した場合、
図12のフローチャートへ進む。なお、S1003において、印刷装置100のログインユーザに対応する印刷ジョブが印刷サービス101に登録されておらず、印刷ジョブの一覧が送信されなかった場合、又は
図13(C)のジョブ一覧画面で「Back」が選択された場合、処理を終了する。
【0032】
<印刷手順>
図5は印刷装置100が印刷サービス101からジョブを取得して印刷するまでのシーケンス図を示す。
【0033】
ユーザは印刷装置100にログインし(500)、
図13(B)に示すメニュー画面から「CloudPRINT」を選択すると、ジョブ一覧の取得要求が印刷サービス101へ送信される(502)。印刷サービス101は、受信したジョブ一覧の取得要求に対する応答として、印刷装置100のログインユーザに紐づけられた印刷ジョブの一覧を印刷装置100に送信する(503)。印刷装置100は受信した情報に基づいて
図13(C)に示すジョブ一覧画面を表示する(504)。後述するように、
図13(C)のジョブ一覧画面は、印刷ジョブの印刷指示、及びキャンセル指示をユーザから受付可能な画面である。ここまでは、前述した
図10のS1001~S1004の処理を行うことにより実現される。
【0034】
図13(C)のジョブ一覧画面から印刷対象のジョブが選択された状態で「Print」が押下されると(505)、印刷装置100はジョブ一覧表示画面の該当ジョブのステータスを「Processing」状態に変更する(506)。このときの画面が
図13(G)であり、2つの印刷ジョブのうちJobNameが「AA.pdf」の印刷ジョブのみステータスが「pending」から「processing」に変わっている。
【0035】
次に、印刷装置100は、印刷サービス101に対してJobStatus=Processing(処理中)となるようジョブ状況の更新通知を送信する(507)。本オペレーションは、Update-Job-Statusオペレーションを送信することで実現される。本オペレーションを受信した印刷サービス101は該当ジョブのステータスを
図14(C)のように「Processing」に変更する(508)。
【0036】
続いて、印刷装置100は、ユーザにより選択された印刷ジョブを印刷のために取得すべく、印刷サービス101に対してジョブ取得要求を送信する(509)。IPPでは、Fetch-Job、Acknowledge-Job,Feteh-Document,Acknowledge-Documentなどのオペレーションを使用してジョブ取得要求を行う。
【0037】
ジョブ取得要求を受信した印刷サービス101はジョブデータを印刷装置100へ送信し(510)、印刷装置100は、受信した印刷データに基づいて印刷処理を開始する(511)。印刷処理が正常に完了した場合、印刷装置100は、
図13(H)のようにジョブ一覧表示画面の該当ジョブのステータスを「Completed」(完了)に変更する(512)。また、印刷処理が完了した時刻、結果、ユーザ名、ジョブ名をジョブ履歴として保存し、
図13(I)のようにジョブ履歴画面を更新する(513)。
【0038】
最後に印刷装置100は、印刷サービス101にJobStatus=CompletedとなるようUpdate-Job-Statusオペレーションを送信する(514)。本オペレーションを受信した印刷サービス101は、
図14(D)のようにステータスを「Completed」に変更する(515)。
【0039】
以上の処理により、クライアント端末102から印刷サービス101に送信された印刷データを、印刷装置100が取得して印刷を行うことができる。
【0040】
<本発明で提案するジョブキャンセル手順>
図6は印刷サービス101へ登録された印刷ジョブを印刷装置100で印刷を開始することなくキャンセル(消去)するシーケンス図を示す。
図6の601~604までは、
図5の501~504までと同様であるため、説明を省略する。
【0041】
図13(C)のジョブ一覧画面から少なくとも一つのジョブが選択された状態で「Cancel」が押下されると(605)、印刷装置100はジョブ一覧表示画面の該当ジョブの処理状況を「Cancelling」(キャンセル中)状態に変更する(606)。
このときの画面が
図13(D)であり、2つの印刷ジョブのうちJobNameが「AA.pdf」の印刷ジョブのみステータスが「pending」から「Cancelling」に変わっている。
【0042】
次に、印刷装置100は印刷サービス101に対して、JobStatusがProcessingとなるようにUpdate-Job-Statusオペレーションを送信する(607)。本オペレーションを受信した印刷サービス101は該当ジョブのステータスを
図14(C)のように「Processing」状態に変更する(608)。
【0043】
続いて、印刷装置100は、キャンセル対象として選択された印刷ジョブに対応する印刷データを取得すべく、印刷サービス101に対してジョブ取得要求を送信する(609)。IPPでは、Fetch-Job、Acknowledge-Job,Feteh-Document,Acknowledge-Documentなどのオペレーションを使用してジョブ取得要求を行う。
【0044】
ジョブ取得要求を受信した印刷サービス101はジョブデータを印刷装置100へ送信する(610)。印刷装置100は、受信した印刷データに基づく印刷処理を実行することなく、ネットワーク層で読み捨て破棄する(611)。内部的にはネットワーク通信処理部1702において受信した画像データを破棄し、ジョブ処理部1703には画像データを転送しない。そして、印刷は
図13(E)のようにジョブ状況画面から該当のジョブを消去する。また、この時、
図13(F)のようにジョブ履歴にも一切ジョブの印刷処理を行った形跡が残らないようにする。
【0045】
最後に印刷装置100は、印刷サービス101に対して、JobStatusがCancelled(キャンセル完了)となるようにUpdate-Job-Statusオペレーションを送信する(612)。本オペレーションを受信した印刷サービス101は、該当ジョブのステータスを
図14(E)のように「Cancelled」に変更する(613)。
【0046】
以上のように印刷装置100で印刷実行前にキャンセルが選択された場合、印刷サービス101から該当するジョブを取得して内部的に読み捨てることで疑似的に印刷サービス101上のジョブをキャンセルすることができる。よって、IPP-Infraのように印刷装置でのCancel-Jobオペレーションが禁止されているプロトコルでも、キャンセルオペレーションが許可されているプロトコルと同様の操作手順でキャンセルすることが可能となる。
【0047】
<その他のジョブキャンセル手順>
本発明で提案する以外にもジョブキャンセル手順の方法がある。例えば、
図7のように印刷サービス101の管理者が印刷サービス101にアクセスして、印刷サービス101に保存されているジョブを直接指定して削除する方法がある。この場合、管理者権限を有するユーザであれば誰でも操作可能である。
【0048】
具体的には、管理者がPC等のWebブラウザを用いて印刷サービス101のWebサーバにログインし(701)、ジョブの一覧を表示させる(702)。このときの画面が
図14(B)である。そして、
図14(B)のように表示されたジョブ一覧の中からキャンセル対象のジョブを選択して「Cancel」を押下すると(703)、印刷サービス101上でキャンセル処理が行われる(704)。そして、印刷サービス101は、
図14(F)のように該当ジョブのステータスを「Cancelled」に変更する(705)。
【0049】
また、他には
図8のようにクライアント端末102からジョブキャンセルする方法がある。具体的には、ジョブ投入したユーザが操作するクライアント端末102から、印刷サービス101に保存されているジョブ状況をスプーラ等で確認する(801、802、803)。そしてユーザはキャンセルしたいジョブを選択して、キャンセル指示をする事で(804)、クライアント端末102から印刷サービス101に対してCancel-Jobsオペレーションが送信される(805)。クライアント端末102は該当するジョブのステータスを「Cancelling」に変更し(806)、印刷サービス101でキャンセル処理が行われる(807)。クライアント端末102は印刷サービス101からキャンセル完了の通知を受信すると(808)、該当するジョブのステータスを「Cancelled」に変更する。また、印刷サービス101も、キャンセル処理が完了すると、該当ジョブのステータスを「Cancelled」に変更する。前述の通り、IPP-Infraの規定ではClientからのキャンセルオペレーションは許可されているので、本操作が可能となる。また、Cancel-Jobsオペレーションではなくても、Cancel-My-JobsやCancel-Job等のキャンセル系オペレーションでもよい。キャンセルオペレーションを受信した印刷サービス101は
図14(F)のように該当ジョブのステータスを「Cancelled」状態に変更する。
【0050】
<印刷処理を開始した後にジョブをキャンセルする手順>
図6~8では、印刷サービス101に保存された印刷ジョブを、印刷開始することなくキャンセルする例について説明した。
図9は、印刷装置100による印刷を開始した後、印刷処理途中にキャンセル(中止)するシーケンスを示す。なお、印刷開始するまでの処理である901~911は
図5の501~511と同様の処理であるため説明を省略する。
【0051】
印刷装置100で印刷処理(911)を開始した後、
図13(G)のように印刷中のジョブに対して、ユーザが操作部209から「Cancel」を選択する(912)。印刷装置100は該当ジョブのステータスを「Cancelling」状態に変更(913)すると共に、キャンセル処理を行う(914)。内部的にはネットワーク通信処理部1702からジョブ処理部1703に対して転送された画像データに対して、ジョブ処理部1703においてジョブキャンセルが実行される。キャンセル処理が完了すると、印刷装置100は
図13(J)のように該当ジョブのステータスを「Cancelled」状態に変更する(915)。また、キャンセル処理が完了した時刻、結果、ユーザ名やジョブ名をジョブ履歴として記録し、
図13(K)のようにジョブ履歴画面を更新する(916)。
【0052】
最後に、印刷装置100は印刷サービス101に対して、JobStatus=CancelledとなるようにUpdate-Job-Statusオペレーションを送信する(917)。本オペレーションを受信した印刷サービス101は、
図14(E)のようにステータスを「Cancelled」に変更する(918)。
【0053】
本操作の場合、キャンセルするまでに何枚か印刷処理が完了し排紙されてしまう場合がある。また、ジョブ履歴にはキャンセルの履歴が残る、複数ジョブを同時にキャンセルしたい場合に手間がかかる等の問題があり、印刷サービス101側のジョブを消去したいという目的の場合には適切でない操作になる可能性がある。
【0054】
そこで、本発明では、上述した
図6のような方法を採ることにより、上記のような問題を生じさせることなく、印刷サービス101上のジョブを印刷装置100からキャンセルすることができる。
【0055】
<印刷装置100における印刷ジョブ実行のフロー>
図13(C)に示すジョブ一覧画面からユーザにより選択された印刷ジョブの実行を行う際の印刷装置100のフローチャートについて、
図11を用いて説明する。
【0056】
S1101において、ジョブ一覧画面から「Print」が選択されたことを検知したCPU201は、ジョブ一覧画面の該当ジョブのステータスを「Processing」状態に変更する(
図13(G)参照)。そして、S1102において、CPU201は印刷サービス101に対してJobStatus=ProcessingとなるようUpdate-Job-Statusオペレーションを送信する。
【0057】
次に、S1103においてCPU201は、印刷サービス101に対してジョブ取得要求を送信する。IPPでは、Fetch-Job、Acknowledge-Job,Feteh-Document,Acknowledge-Documentなどのオペレーションを使用してジョブ取得要求を行う。S1104で回線の不安定や切断などによりジョブの取得が失敗した場合、CPU201はジョブ取得要求を再送する。なお、図示していないが、ジョブ取得要求を所定回数送信してもジョブの取得に成功しない場合、本フローチャートの処理をエラー終了する。
【0058】
S1104でジョブの取得に成功した場合、CPU201はS1105において印刷処理を開始する。内部的にはネットワーク通信処理部1702からジョブ処理部1703に画像データが転送され、ジョブ処理部1703において印刷処理が開始される。
【0059】
S1106において印刷処理が正常に完了した場合、S1107においてCPU201は、
図13(H)のようにジョブ一覧画面の該当ジョブのステータスを「Completed」に変更する。また、CPU201はS1108において印刷処理が完了した時刻、結果、ユーザ名、ジョブ名をログとして保存する。そして、S1109においてCPU201は、印刷サービス101にJobStatus=CompletedとなるようUpdate-Job-Statusオペレーションを送信する。
【0060】
S1106において、
図13(G)の画面で印刷中のジョブに対してユーザが操作部209から「Cancel」を選択したことをCPU201が検知すると、CPU201は該当ジョブのキャンセル処理を実行する(S1114)。内部的には、ネットワーク通信処理部1702からジョブ処理部1703に転送された画像データに対して、ジョブ処理部1703においてジョブキャンセルが実行される。S1115においてCPU201は、
図13(J)のように該当ジョブのステータスを「Cancelled」状態に変更する。また、S1116においてCPU201は、ジョブ履歴にキャンセル処理が完了した時刻、結果、ユーザ名やジョブ名をログとして記録する。そして、S1117においてCPU201は印刷サービス101に対して、JobStatusがCancelledとなるようにUpdate-Job-Statusオペレーションを送信する。
【0061】
また、S1106において、印刷処理中に描画エラーなどが発生し異常終了した場合は、S1110においてCPU201はエラー処理を行う。S1111においてCPU201は、
図13(L)のように該当ジョブのステータスを「Aborted」状態に変更する。また、S1112においてCPU201は、ジョブ履歴にキャンセル処理が完了した時刻、結果、ユーザ名やジョブ名をログとして記録する。そして、S1113においてCPU201は印刷サービス101に対して、JobStatusがCancelledとなるようにUpdate-Job-Statusオペレーションを送信する。この場合、印刷サービス101側でも印刷装置100側にもエラーとして履歴にログ保存される。
【0062】
<印刷装置100における印刷ジョブキャンセルのフロー>
図13(C)に示すジョブ一覧画面からユーザにより選択された印刷ジョブをキャンセルする際の印刷装置100のフローチャートについて、
図12を用いて説明する。
【0063】
まず、S1201において、ジョブ一覧画面から「Cancel」が選択されたことを検知したCPU201は、ジョブ一覧画面の該当ジョブのステータスを「Cancelling」に変更する(
図13(D)参照)。なお、ジョブ状況一覧からキャンセルするジョブを選択する際、1つのジョブを選択してもよいし、複数のジョブを同時に選択してもよい。
【0064】
次に、S1202において、CPU201は印刷サービス101に対して、JobStatusがProcessingとなるようにUpdate-Job-Statusオペレーションを送信する。次に、S1203においてCPU201は、印刷サービス101に対してキャンセル対象のジョブのジョブ取得要求を送信する。IPPでは、Fetch-Job、Acknowledge-Job,Feteh-Document,Acknowledge-Documentなどのオペレーションを使用してジョブ取得要求を行う。S1204で回線の不安定や切断などにより画像データ転送が失敗した場合、CPU201はジョブ取得要求を再送する。なお、図示していないが、ジョブ取得要求を所定回数送信してもジョブの取得に成功しない場合、本フローチャートの処理をエラー終了する。
【0065】
S1204においてジョブの取得に成功した場合、CPU201は、S1205において受信した画像データを印刷処理せずネットワーク層で読み捨て破棄する。内部的には、ネットワーク通信処理部1702において受信した画像データを削除する。つまり、ネットワーク通信処理部1702からジョブ処理部1703に画像データを転送しない。そして、S1206においてCPU201は
図13(E)のようにジョブ一覧画面から該当のジョブを消去する。また、この時、
図13(F)のようにジョブ履歴にも一切ジョブを印刷処理した形跡が残らないようにする。
【0066】
最後にS1207においてCPU201は印刷サービス101に対して、JobStatusがCancelledとなるようにUpdate-Job-Statusオペレーションを送信する。
【0067】
なお、Update-Job-StatusオペレーションでCancelledを送信しても印刷サービス101側でジョブが消えない場合は、Abortedを送信してもよい。どのステータスで印刷サービス101側のジョブが消去されるかで、送信するステータスを切り換えても可能としてもよい。
【0068】
以上のように、印刷装置100で印刷開始前にキャンセルが選択された場合、印刷サービス101から該当する印刷データを取得し、ネットワーク通信処理部1702にて読み捨てることで、疑似的に印刷サービス101上のジョブをキャンセルすることができる。
よって、IPP-Infraのように印刷装置からのCancel-Jobオペレーションが禁止されているプロトコルでも、印刷処理を開始する前に印刷装置から印刷サービス101上のジョブを消去することが可能となる。
【0069】
(実施形態2)
次に第2の実施形態について説明する。本実施形態では、印刷サービス101側でキャンセルのジョブ状況を受信したら、印刷サービス101がジョブをキャンセルする機能を搭載する前提で説明をする。
図15は本実施例における印刷装置100のフローチャートである。また、
図16は本実施例におけるシーケンス図を示す。1601~1604までの処理は、
図5の501~504、
図6の610~604、
図9の901~904と同様の処理であるため、説明を省略する。
【0070】
ジョブ一覧画面からジョブが選択された状態で「Cancel」が押下され(1605)、それを検知したCPU201は、ジョブ一覧画面の該当ジョブのステータスを「Cancelling」状態に変更する(S1501、1606)。所定時間後、CPU201は、ジョブ一覧画面の該当ジョブのステータスを「Cancellied」状態に変更する(S1502、1607)。
【0071】
次にS1503において、CPU201は印刷サービス101に対して、JobStatus=CancelledとなるようUpdate-Job-Statusオペレーションを送信する(1608)。本オペレーションを受信した印刷サービス101は、このジョブが印刷装置100でキャンセルされたと判断して、印刷サービス側の記憶領域からもジョブをキャンセルして消去する(1609)。そして印刷サービス101は該当ジョブのステータスを「Cancelled」に変更する。
【0072】
本実施形態によれば、実施形態1のように印刷装置100が印刷サービス101からジョブを取得しなくても、ジョブ状況だけを通知すれば良いので、印刷装置側の処理負担は軽減される。
【0073】
(実施形態3)
次に第3の実施形態について
図18を用いて説明する。第1の実施形態では、印刷開始前にユーザからキャンセル指示を受け付けた場合、内部的にネットワーク通信処理部1702で受信した画像データを読み捨て、ジョブ処理部1703には画像データが転送されなかった。本実施例では、ネットワーク通信処理部1702では受信した画像データを読み捨てることなく、ジョブ処理部1703に画像データを転送後、ジョブ処理部1703でキャンセルする例について説明する。
【0074】
図18は本実施例におけるシーケンス図を示す。1801~1810の処理は
図6の601~610の処理と同様であるため、説明を省略する。
【0075】
1810で印刷サービス101からの画像データ取得に成功したCPU201は、印刷処理を開始するが、すぐにキャンセル処理を実施する。内部的には、ネットワーク通信処理部1702からジョブ処理部1703に画像データが転送され、ジョブ処理部1703が印刷処理とキャンセル処理を実行する。
【0076】
印刷装置100は、受信した画像データに基づいて印刷処理を開始すると共に(1811)、ジョブ一覧画面における該当ジョブのステータスを「Cancelling」状態に変更する(1812)。更に印刷装置100は、該当ジョブのキャンセル処理を行う(1813)。キャンセル処理が完了すると、ジョブ一覧画面における該当ジョブのステータスを「Cancelled」に変更し(1814)、キャンセルジョブとしてジョブ履歴にログ保存する(1815)。最後に印刷装置100は、印刷サービス101に対して、JobStatusがCancelledとなるようにUpdate-Job-Statusオペレーションを送信する(1816)。本オペレーションを受信した印刷サービス101は、該当ジョブのステータスを「Cancelled」に変更する(1817)。
【0077】
本実施形態によれば、第1の実施形態と同様に、IPP-Infraのように印刷装置からのジョブキャンセルが禁止されているプロトコルでも、印刷処理を開始する前に印刷装置から印刷サービス101上のジョブを消去することが可能となる。
【0078】
<プッシュ印刷の場合のジョブキャンセル>
上述した第1~第3の実施形態では、印刷装置100においてユーザが印刷指示を行うと、印刷サービス101から印刷データを取得して印刷する「プル印刷」を例にして説明した。ここでは、印刷装置100においてユーザが印刷指示を行うことなく、印刷サービス101から自動的に印刷データを取得して印刷する「プッシュ印刷」におけるジョブキャンセルについて説明する。プッシュ印刷の場合、ユーザがクライアント端末102から印刷サービス101へ印刷データを投入すると、即時に印刷装置100にジョブ投入の通知が行われ印刷処理まで実行される。そのため、プル印刷の場合と異なり、即時印刷することが可能となる。
【0079】
図19は、プッシュ印刷のシーケンス図を示す。クライアント端末102から印刷サービス101へ印刷データが投入されるまでの処理1901~1903は
図4の401~403と同様である。
【0080】
印刷サービス101がクライアント端末102から印刷データを受信したら、印刷ジョブを生成すると共に、印刷装置100に対して印刷ジョブが投入されたことをプッシュ通知する(1904)。なお、印刷サービス101からオフィスやホームに存在する印刷装置100にプッシュ通知を行うため、常時接続やロングポーリングなどセッションを継続して確立するプロトコルが使用されている前提となる。印刷ジョブの通知を受信した印刷装置100は、ジョブ一覧表示画面の該当ジョブのステータスを「Processing」状態に変更する(1905)。
【0081】
次に、印刷装置100は、印刷サービス101に対してJobStatus=Processingとなるようジョブ状況の更新通知を送信する(1906)。本オペレーションは、Update-Job-Statusオペレーションを送信することで実現される。本オペレーションを受信した印刷サービス101は該当ジョブのステータスを「Processing」に変更する(1907)。
【0082】
続いて、印刷装置100は、投入された印刷ジョブを印刷のために取得すべく、印刷サービス101に対してジョブ取得要求を送信する(1908)。IPPでは、Fetch-Job、Acknowledge-Job,Feteh-Document,Acknowledge-Documentなどのオペレーションを使用してジョブ取得要求を行う。
【0083】
ジョブ取得要求を受信した印刷サービス101はジョブデータを印刷装置100へ送信し(1909)、印刷装置100は、受信した印刷データに基づいて印刷処理を開始する(1910)。印刷処理が正常に完了した場合、印刷装置100は、ジョブ一覧表示画面の該当ジョブのステータスを「Completed」に変更する(1911)。また、印刷処理が完了した時刻、結果、ユーザ名、ジョブ名をジョブ履歴として保存する(1912)。
【0084】
最後に印刷装置100は、印刷サービス101にJobStatus=CompletedとなるようUpdate-Job-Statusオペレーションを送信する(1913)。本オペレーションを受信した印刷サービス101は、該当ジョブのステータスを「Completed」に変更する(1914)。
【0085】
以上の処理によって、IPP-Infraの構成を使用したプッシュ印刷が可能となる。
【0086】
次に、プッシュ印刷においてジョブをキャンセルするシーケンスを
図20に示す。プッシュ印刷の場合、ユーザによる印刷装置100での印刷指示なしで印刷が開始されるため、印刷開始前にキャンセルすることはできない。よって、
図9の処理と同様に、印刷開始後にキャンセルすることとなる。印刷が開始されるまでの処理である2001~2010は
図19の1901~1910と同様である。
【0087】
印刷装置100で印刷処理(2010)を開始した後、印刷中のジョブに対して、ユーザが操作部209から「Cancel」を選択する(2011)。印刷装置100は該当ジョブのステータスを「Cancelling」状態に変更(2012)すると共に、キャンセル処理を行う(2013)。内部的にはネットワーク通信処理部1702からジョブ処理部1703に対して転送された画像データに対して、ジョブ処理部1703においてジョブキャンセルが実行される。
【0088】
キャンセル処理が完了すると、印刷装置100は該当ジョブのステータスを「Cancelled」状態に変更する(2014)。また、キャンセル処理が完了した時刻、結果、ユーザ名やジョブ名をジョブ履歴として記録する(2015)。
【0089】
最後に、印刷装置100は印刷サービス101に対して、JobStatus=CancelledとなるようにUpdate-Job-Statusオペレーションを送信する(2016)。本オペレーションを受信した印刷サービス101は、該当ジョブステータスを「Cancelled」に変更する(2017)。
【0090】
なお、プル印刷を行うかプッシュ印刷を行うかは印刷装置100においてユーザが予め設定することが可能である。プル印刷を行うよう設定されていた場合は、上述した実施形態1~3のいずれかのシーケンスが実行され、プッシュ印刷を行うよう設定されていた場合は
図19、20のシーケンスが実行されることとなる。
【0091】
以上説明したとおり、上記各実施形態によれば、IPPを用いて印刷サービスから印刷データを取得して印刷を行う印刷装置において、ユーザがキャンセル指示を行うと、該当する印刷データを印刷装置が印刷サービスから取得して削除する。これによりIPP-Infraのように印刷装置でのCancel-Jobオペレーションが禁止されているプロトコルでも、キャンセルオペレーションが許可されているプロトコルと同様の操作手順でキャンセルすることが可能となる。よって、不要な印刷ジョブがある場合に、クライアント端末を起動して消去する、印刷サービスの管理者に依頼して消去してもらう等の手間をかけることなく、印刷ジョブの消去にかかるユーザの手間を軽減することができる。
【0092】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。