JP2018073196A - 情報処理装置、制御方法およびプログラム - Google Patents

情報処理装置、制御方法およびプログラム Download PDF

Info

Publication number
JP2018073196A
JP2018073196A JP2016213531A JP2016213531A JP2018073196A JP 2018073196 A JP2018073196 A JP 2018073196A JP 2016213531 A JP2016213531 A JP 2016213531A JP 2016213531 A JP2016213531 A JP 2016213531A JP 2018073196 A JP2018073196 A JP 2018073196A
Authority
JP
Japan
Prior art keywords
print
spooler
job
identification information
printing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016213531A
Other languages
English (en)
Inventor
良之 永松
Yoshiyuki Nagamatsu
良之 永松
達之 横山
Tatsuyuki Yokoyama
達之 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016213531A priority Critical patent/JP2018073196A/ja
Priority to US15/798,033 priority patent/US20180121147A1/en
Publication of JP2018073196A publication Critical patent/JP2018073196A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1227Printer definition files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1274Deleting of print job

Abstract

【課題】 双方向通信制御モジュールを構成要素として含まないプリンタドライバが使用される場合、印刷ジョブを適切にプリントキューから削除できないおそれがあった。
【解決手段】 識別情報と関連付けて印刷ジョブを管理するスプーラーが動作可能な情報処理装置は、スプーラーから前記印刷ジョブに関連付けられている前記識別情報を取得し、その識別情報に基づく印刷コマンドを生成する。
【選択図】 図3

Description

本発明は、情報処理装置、制御方法およびプログラムに関する。
プリンタドライバの中には、情報処理装置と印刷装置間の通信処理を制御する通信制御モジュール(以後ランゲージモニタとも称す)を含むプリンタドライバが存在する。このランゲージモニタを含むプリンタドライバはVersion3ドライバ(以後V3ドライバとも称す)と称されている。ランゲージモニタは、プリンタドライバのコマンド生成フィルタにより生成された印刷コマンドを、オペレーティングシステム(OS)を介して、受信し、印刷装置へ送信する。またランゲージモニタは、印刷装置にて印刷コマンドに基づく印刷処理がキャンセルされたことを検知できる。ランゲージモニタにより印刷コマンドに基づく印刷処理のキャンセルが検知された場合、OSの構成モジュールであるプリントキューから当該印刷コマンドに対応する印刷ジョブが削除される。
一方、Microsoft社により導入されたWindows(商標)8およびWindows(商標)RTからは、ランゲージモニタを含まないプリンタドライバが動作可能である。この構成によるプリンタドライバは、Version4プリンタドライバ(以後V4ドライバとも称す)と称される。
特許文献1には、印刷の中止が指示された場合、ランゲージモニタを用いて対象となる印刷データを削除することが記載されている。
特開2000−81957号公報
しかしながら、特許文献1では、ランゲージモニタが存在しない状況下について考慮していない。そのため、ランゲージモニタが存在しない環境において印刷がキャンセルされた場合に、特許文献1の技術では、ユーザーが所望としないキャンセル処理が実行されるおそれがあった。
上述のような課題を解決するための本発明は、識別情報と関連付けて印刷ジョブを管理するスプーラーが動作可能な情報処理装置であって、前記スプーラーから前記印刷ジョブに関連付けられている前記識別情報を取得する取得手段と、前記印刷ジョブと前記識別情報に基づく印刷コマンドを印刷装置に送信する送信手段と、前記印刷コマンドに基づく印刷処理が前記印刷装置においてキャンセルされたことを検知した場合、前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブを前記スプーラーに削除させる削除手段を備え、前記スプーラーは、前記情報処理装置で動作するオペレーティングシステムにより提供されることを特徴とする。
本発明によれば、ユーザーが所望としないキャンセル処理が実行されるおそれを軽減することが可能となる。
印刷装置と情報処理装置によって構成される印刷システムを示すブロック図 V4プリンタドライバの構成を示す概念図 実施形態1における本発明のプリントシステムの構成を示すブロック図 印刷ジョブに付加する識別子の例を示す図 ステータス管理プログラム331の画面表示例 プリンタドライバが印刷コマンドを送信する処理を示すフローチャート プリンタドライバにより生成される印刷コマンドの全体像を示す概略図 プリントキューからジョブを削除する処理を示すフローチャート 実施形態2における本発明のプリントシステムの構成を示すブロック図 実施形態2におけるプリントキュー、および印刷装置の状態図 プリントキューから処理途中ジョブを削除する処理を示すフローチャート
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<実施形態1>
図1は情報処理装置110と情報処理装置110に接続可能な印刷装置120により構成される印刷システムの全体構成を示すブロック図の一例である。情報処理装置110は入力I/F111、CPU112、ROM113、出力I/F114、外部記憶装置115、RAM116、入力装置117、出力装置118、入出力I/F119を有する。ROM113は初期化プログラムを保存し、外部記憶装置115はOS、プリンタドライバやその他各種のデータが保存されている。外部記憶装置115に保存される各種プログラムは、RAM116をワークメモリーとして使用する。入力装置117はデータ入力や動作指示に使用され入力I/F111に接続されている。出力装置118はデータ表示や状態の通知に使用され、出力I/F114に接続されている。本実施形態では、CPU112やROM113、RAM116等によりコンピュータが形成される。
印刷装置120は、RAM121、ROM122、プリントエンジン123、CPU124、入出力I/F125から構成される。情報処理装置110と印刷装置120はUSB(商標)ケーブル130により接続されている。なお、接続形態は、他の接続形態であっても良く、例えば無線接続であっても構わない。RAM121はCPU124のワークメモリーとして使用され、受信したデータの一時保存用バッファとしても利用される。ROM122は制御命令を保存している。プリントエンジン123は情報処理装置110から送信された印刷コマンドに基づき印刷を行う。CPU124はROM122に保存されている制御命令に従い印刷装置120を制御する。なお、本実施形態においては情報処理装置110および印刷装置120の処理分担を前記のように示したが、処理の分担形態はこれに依らない。
図2は本実施形態におけるV4プリンタドライバを含むV4プリントシステムの構成を概念的に表した図の一例である。なお、図2のV4プリントシステムは、情報処理装置110において構成される。上述したようにV4プリンタドライバには、印刷装置と双方向通信を実行するランゲージモニタは含まれない。つまり、情報処理装置に構成されるプリントアーキテクチャーは、印刷装置と双方向通信を実行するランゲージモニタをプリンタドライバが備えることを制限している。アプリケーション201が作成した印刷データは、OSの印刷サポート機能202を介しスプールデータ205としてスプーラー203のプリントキュー204に一時的に蓄積される。なお、スプールデータ205は、印刷ジョブと呼ばれることもある。蓄積されたスプールデータ205は、V4プリンタドライバを構成するフィルタの1つであるコマンド生成フィルタ206により印刷装置120が解釈可能な印刷コマンドに変換された後に、印刷装置120に送信される。アプリケーション201は、印刷指示を行う際にOSの印刷サポート機能202を介して、OSのユーザーインターフェースモジュール207から返却された印刷設定情報を印刷データに付加する。印刷設定情報は、アプリケーション201からの印刷開始指示に先立って設定された情報である。コマンド生成フィルタ206は、受信した印刷データに付加された印刷設定情報に従って、印刷データに変換を施し印刷装置120が解釈可能な印刷コマンドを生成する。その後、コマンド生成フィルタ206は生成した印刷コマンドを、スプーラー203、USBポートモニタ208を経由して、印刷装置120へ送信する。なお、スプーラー203は、印刷ジョブに対応する印刷コマンドの送信処理が完了したことを検知した場合、印刷ジョブをプリントキューから削除する。
図3は本発明の実施形態1における印刷システムの構成を示すブロック図であり、PC310と、ネットワーク320と、印刷装置120から構成される。なお、PC310は、上述した情報処理装置110に相当する。PC310には、プリンタドライバ321、印刷ジョブ識別子設定モジュール322、ステータス管理プログラム331、OSの構成モジュールであるスプーラー203、およびプリントキュー204が用意されている。プリンタドライバ321は、印刷装置120に印刷コマンドを送信して印刷装置120に印刷コマンドに基づく印刷処理を実行させる。また、その他の処理として、プリンタドライバ321は、印刷装置120の状態(ステータス)を取得してユーザーに印刷装置に関わる情報を提供する。印刷ジョブ識別子設定モジュール322は、プリンタドライバ321が発行する印刷コマンドに対し、識別子を付加する。図4は、印刷ジョブ識別子設定モジュール322にて設定される、印刷コマンドに付加される識別子の一例を示す。図4に示す識別子は数値、ハイフネーションおよびアルファベットにより表現されているが、識別子の構成はこの例に限定されるものではない。
図3に戻る。印刷装置120には、プリント動作を制御するためのプリント部126と、印刷装置120のステータスを保持する管理情報保持部127、印刷コマンドをキャンセルするためのジョブキャンセル手段128が用意されている。ステータス管理プログラム331は、ジョブID取得モジュール332と、管理情報取得モジュール333と、管理情報表示モジュール334と、ジョブキャンセル検知モジュール335と、ジョブ削除モジュール336で構成される。なお、ステータス管理プログラム331は、スタートアッププログラムとして登録されており、OS起動時に自動的に起動し、常駐プログラムとして動作する。ジョブID取得モジュール332は、ジョブIDをスプーラー203から取得する。なお、ジョブIDは、スプーラー203により発行される。管理情報取得モジュール333は印刷装置120にアクセスし、印刷装置120のステータス情報を管理情報保持部127から取得する。管理情報表示モジュール334は、管理情報取得モジュール333が取得したステータス情報に基づいて、ユーザーに必要な情報をUI表示する。図5は、ステータス管理プログラム331によるUI表示の一例である。タイトルバー301はアプリケーションや印刷装置の名称等を表示する。メッセージ表示部302は、管理情報取得モジュール333で取得した情報に基づいて、印刷装置120の状況をユーザーに報知する。ジョブ情報表示部303は、管理情報取得モジュール333で取得した情報に基づいて、プリント動作の進捗状況を表示する。インク情報表示部304は、管理情報取得モジュール333で取得した情報に基づいて、印刷装置120で使用するインクの消費状況を表示する。このような情報を確認することにより、ユーザーは、印刷コマンドの進捗状況を把握したり、インクを交換する時期や種類を確認したり、エラー発生の有無を認識したりすることができる。そして、このような情報は特に印刷装置の動作中において有用である。
図3に戻る。ジョブキャンセル検知モジュール335は、管理情報取得モジュール333が印刷装置120から取得したステータス情報を解析し、ジョブキャンセル手段128にてジョブキャンセルが行われたかどうかを検知する。ジョブ削除モジュール336は、ジョブキャンセル検知モジュール335が印刷処理のキャンセルを検知した場合に、印刷装置120でキャンセルされた印刷処理に対応する印刷ジョブがプリントキュー204に存在するかどうかを確認する。キャンセルされた印刷処理に対応する印刷ジョブがプリントキュー204に存在する場合は、ジョブ削除モジュール336は、この印刷ジョブをプリントキューから削除するようスプーラーに指示する。図6は、プリンタドライバ321が、印刷装置120に印刷コマンドを送信する処理を示すフローチャートである。なお、本願のフローチャートは、CPU112がフローチャートに関わるプログラムを読み出して実行することで実行される。
アプリケーションにおいて印刷が指示されるとスプーラー203がプリントキュー204を用いて印刷ジョブを管理する。スプーラー203は、プリントキュー204を用いて印刷ジョブを管理する場合、当該印刷ジョブに関連付けられたジョブIDを発行する。ジョブID取得モジュール332は、スプーラー203が発行したジョブIDを取得する(S601)。続くS602にて、印刷ジョブ識別子設定モジュール322は、印刷ジョブを一意に識別可能とするためのジョブIDに対応するジョブ識別子を印刷コマンドに設定する。図7は、プリンタドライバ321により生成される印刷コマンドの全体像を示す概略図である。プリンタドライバ321により生成される印刷コマンドは、識別情報格納部701と制御コマンド格納部702から成る。識別情報格納部701には、S602にて設定されるジョブ識別子が格納される。制御コマンド格納部には、印刷装置120の動作を制御するコマンドが格納される。なお、ジョブ識別子は、S602にて取得したスプーラー203が発行したジョブIDそのものでもよい。あるいは、他のPCから発行されたジョブとの重複を避けるため、図4に示したようにジョブIDとその他の情報、例えばGlobally Unipue Identifier(以後GUIDとも称す)とを組み合わせたものでもよい。続くS603において、プリンタドライバ321は印刷コマンドを印刷装置120へ送信するための処理を実行し、本処理は終了する。
図8は、印刷装置120にて印刷コマンドに対応する印刷処理がキャンセルされた場合におけるプリンタドライバ321の処理について説明するためのフローチャートである。なお、本実施形態では、印刷装置120は、受信した印刷コマンドを印刷実行ジョブとして管理する。
管理情報取得モジュール333は、S801で印刷装置120にアクセスし、印刷装置120のステータス情報を取得する。さらにS802にてジョブキャンセル検知モジュール335は、上記取得したステータス情報を解析し、印刷装置120のジョブキャンセル手段128により印刷コマンドに基づく印刷処理がキャンセルされたか否かを判定する。印刷コマンドに基づく印刷処理のキャンセルが行われていない場合は、本処理を終了する。印刷コマンドに基づく印刷処理がキャンセルされたと判定された場合、S803にて、ジョブ削除モジュール336は、S801で取得したステータス情報に含まれるジョブ識別子を取得する。管理情報取得モジュール333は、例えば、ジョブ識別子として「111」が設定された印刷コマンドの印刷処理がキャンセルされた場合、ジョブ識別子「111」に対応する印刷処理がキャンセルされたことを示すステータス情報を印刷装置120から取得する。つまり、S801にて取得されるステータス情報は、ジョブ識別子を含む。ジョブ削除モジュール336は、S803において取得したジョブ識別子に対応する識別情報が関連付られた印刷ジョブがプリントキュー204に存在するかどうかを確認する(S804)。ジョブ識別子に対応する識別情報が関連付られた印刷ジョブがない場合は、本処理を終了する。ジョブ識別子に対応する識別情報が関連付られた印刷ジョブがプリントキュー204に存在する場合、ジョブ削除モジュール336は、S805にて当該印刷ジョブをプリントキュー204から削除するようスプーラー203に指示する。
なお、上記ではジョブキャンセル手段128によって印刷処理のキャンセルが行われる例を示したが、印刷装置120の電源をOFFすることによるキャンセルでもよい。印刷装置120が印刷処理中に電源OFFされた場合、処理中の印刷実行ジョブはキャンセルされるため、プリントキュー204からもキャンセルされた印刷実行ジョブに対応する印刷ジョブを削除する。その他、情報処理装置や携帯端末から印刷装置120をリモートにて操作することで、印刷実行ジョブのキャンセルが行われても良い。
以上説明した本実施形態によれば、スプーラーが発行するジョブIDに対応するジョブ識別子に基づく印刷コマンドを生成する。この処理により、印刷装置210でキャンセルされた印刷処理と、プリントキュー204に存在する印刷ジョブとを紐づけることができる。その結果、印刷装置210で印刷処理がキャンセルされた場合、プリントキュー204から当該印刷処理に関わる印刷ジョブを適切に削除することができる。
例えば、印刷ジョブ1に対応する印刷コマンドの送信処理が完了してから印刷装置120において印刷コマンドに対応する印刷処理が完了するまでの間に、印刷装置120において印刷処理がキャンセルされることも考えられる。スプーラー203は、印刷ジョブの送信処理が完了した時点でプリントキュー204から印刷ジョブ1を削除しているため、プリントキューには印刷ジョブ2のみが管理される。この状況において、上述したように印刷ジョブ1に対応する印刷コマンドの印刷処理がキャンセルされたことをステータス管理プログラム331が検知したとしても、印刷装置120から取得されたステータス情報には印刷ジョブ1に対応する識別子が含まれる。そのため、印刷ジョブ1に対応する識別子とプリントキューで管理されている印刷ジョブ2の識別情報は対応しないため、誤って印刷ジョブ2がプリントキューから削除されることにより、ユーザーの意図しない削除処理が行われる可能性を軽減できる。
また、例えば、印刷ジョブ1と印刷ジョブ2がスプーラー203にて管理されているケースを想定する。このケースにおいて、印刷ジョブ1に対応する印刷コマンドが印刷装置120に送信されて印刷装置120にてキャンセルされた場合に、本実施形態を実施しないと、印刷ジョブ1に対応する印刷コマンドが、キャンセル後も、無駄に印刷装置に送信されることになる。また、印刷ジョブ1に対応する印刷コマンドの送信処理が完了するまで印刷ジョブ2の処理が始まらない。一方、本実施形態は、このような点についても解決することが可能となる。
<実施形態2>
図9は、本実施形態におけるネットワーク環境を示す図である。第1の実施形態と異なる点は、ネットワーク上に複数のPCが接続されていること、およびステータス管理プログラム931に処理途中ジョブ検知モジュール937が備えられていることである。なお、本実施形態においても、図1で説明した情報処理装置110と印刷装置120を使用するものとする。また、実施形態1と同一の処理については、説明を割愛する。
第1の実施形態では、図8のS803にて取得したスプーラーが発行したジョブIDを利用してプリントキューから印刷ジョブを削除していた。本実施形態では、第1の実施形態には記載されていない処理を実行することで、ユーザーの意図にあった印刷ジョブの削除処理を実現する。
実施形態2の印刷装置が、印刷コマンドを処理中であっても別の印刷コマンドの一部を受信して当該印刷コマンドを予約状態とすることで、印刷順序の予約を可能とする機能をサポートしている場合がある。なお、この機能を、マルチセッションジョブキューイングと称す。
図10は、マルチセッションジョブキューイングをサポートしている印刷装置920に対して、PC910およびPC1010から印刷コマンドを発行した際の印刷装置120の状態、およびPC910、PC1010のプリントキューの状態を示した図である。印刷装置920は、PC910から発行された印刷コマンドを受信して、印刷実行ジョブ911として管理している。なお、この印刷実行ジョブ911が印刷処理対象である。その後、PC1010からの印刷コマンドの一部を受信し、印刷実行ジョブ1011として印刷装置920のキュー929にて管理する。具体的には、印刷コマンドの一部であるStartジョブコマンドが、印刷実行ジョブとして印刷装置のキューに格納される。なお、Startジョブコマンドには、送信元の情報処理装置のコンピュータ名等が含まれる。ここで、印刷装置920の電源がOFFされた場合、印刷装置920は自身のキュー929に格納されている印刷実行ジョブ1、および印刷実行ジョブ2のキャンセル処理を行う。このとき、図9における管理情報取得モジュール933にて取得可能なステータス情報は、処理中であった印刷実行ジョブ1がキャンセルされたことを示す情報、および印刷装置920が電源OFFされたことを示す情報を含む。なお、ステータス情報には、処理待ち状態の印刷実行ジョブ2がキャンセルされたことを示す情報は含まれない。管理情報取得モジュール933がステータス情報を取得することで、図9におけるPC910のジョブキャンセル検知モジュール935は、印刷実行ジョブ1がキャンセルされたことを検知する。そして、実施形態1に示した処理により、印刷装置920にてキャンセルされた印刷実行ジョブ1に対応する印刷ジョブ1がプリントキュー912に存在する場合、ジョブ削除モジュール936はプリントキュー921にから印刷ジョブ1を削除する。しかし、PC1010においては、管理情報取得モジュール933にて取得したステータス情報に自身が発行した印刷コマンドに関わる情報が含まれていない。そのため、途中まで送信した印刷コマンドに対応する印刷ジョブをプリントキュー1012から削除することができない。
このようなマルチセッションジョブキューイングにより予約されている印刷実行ジョブに対応する印刷ジョブに対する処理を実行するため、本実施形態では、処理途中ジョブ検知モジュール937を用意する。そして、処理途中ジョブ検知モジュール937を使って、処理途中の印刷ジョブがプリントキューに存在する場合は、これを削除する。
図11は、本実施形態において、PC1010のCPU112が実行するジョブ削除処理を示すフローチャートである。本処理が開始されると、管理情報取得モジュール933は、S1101で印刷装置920からステータス情報を取得する。さらにS1102にてジョブキャンセル検知モジュール935は、上記取得したステータス情報を解析し、ジョブのキャンセルが行われたかどうかを判定する。なお、ジョブキャンセル検知モジュール935は、ジョブキャンセル手段928によってジョブがキャンセルされたことをステータス情報から検知した場合、S1102にてYesと判定する。その他、ジョブキャンセル検知モジュール935は、印刷装置920の電源がOFFになったことをステータス情報から検知した場合、S1102にてYesと判定する。
印刷処理がキャンセルされていない場合は、本処理を終了する。印刷処理がキャンセルされている場合は、S1103にて、ジョブ削除モジュール936は、ステータス情報からジョブ識別子を取得する。さらに、ジョブ削除モジュール936は、S1103で取得したジョブ識別子に対応する識別情報の印刷ジョブがプリントキュー905に存在するかどうかを確認する(S1104)。取得したジョブ識別子に対応する識別情報の印刷ジョブがプリントキュー905に存在する場合、ジョブ削除モジュール936は、S1106にて当該印刷ジョブをプリントキュー905から削除するようスプーラー904に指示する。取得したジョブ識別子に対応する識別情報の印刷ジョブがプリントキュー905にない場合、図11の処理はS1105へと進む。処理途中ジョブ検知モジュール937は、マルチセッションジョブキューイングによって印刷コマンドの一部を印刷装置920へ送信済みとなっている印刷ジョブがプリントキュー905に存在するかどうかを確認する(S1105)。具体的に、処理途中ジョブ検知モジュール937は、プリントキュー905に存在する印刷ジョブの中に、「印刷中」を示すステータスの印刷ジョブが存在するか否かを判定する。印刷コマンドの一部を印刷装置920へ送信済みとなっている印刷ジョブが存在しない場合は、本処理を終了する。印刷コマンドの一部を印刷装置920へ送信済みとなっている印刷ジョブが特定された場合、ジョブ削除モジュール936は、S1106にて当該印刷ジョブをプリントキュー905から削除するようスプーラー904へ指示する。なお、上記では印刷コマンドの一部が送信済みとなっているかどうかの判定方法としてプリントキューの印刷ジョブのステータスを用いる例を示したが、本発明はこれに限定されるものではない。例えば、マルチセッションジョブキューイングが使用された印刷ジョブであることを示すフラグの有無によって判定しても良い。
以上、本実施形態によれば、マルチセッションジョブキューイングをサポートしている印刷装置の電源がOFFされた場合でも、ジョブ発行元のそれぞれのPCにおけるプリントキューから適切に印刷ジョブを削除することができる。結果、プリントキューに削除すべき印刷ジョブが残ってしまうことにより次の印刷ジョブの印刷開始処理が遅延してしまうという問題を回避することが可能となる。また、一部の印刷コマンドが送信済みの印刷ジョブがプリントキューに残っている状況で、当該印刷ジョブに対応する印刷コマンドが印刷装置に送信されることにより印刷装置でエラーが発生する可能性を軽減できる。
<その他の実施形態>
その他の実施形態として、印刷ジョブを一意に識別するための識別子の設定処理や、印刷装置にてキャンセルされた印刷実行ジョブに対応する印刷ジョブをプリントキューから削除する処理は、使用する通信ポートによって実施の有無を切り替えてもよい。すなわち、USBポートやWSDポートが使用される場合、印刷装置での印刷処理が完了するまでプリントキューに印刷ジョブを残しておくことができる。このようなポートが使用されている場合は、上記処理を実施せず、Standard TCP/IPポートが使用されている場合のみ上記処理を実施することも可能である。つまり、USBポートやWSDポートが使用されている場合、情報処理装置は、印刷装置で印刷処理がキャンセルされたことを検知することに応じてプリントキューの先頭で管理されている印刷ジョブを削除すれば良い。一方、Standard TCP/IPポートが使用されている場合、情報処理装置が印刷装置への印刷コマンド1の送信を完了した時点でプリントキューから印刷コマンド1に対応する印刷ジョブ1が削除されてしまう。そのため、仮に上述した処理を実行しない場合、印刷コマンド1の送信が完了した時点で、プリントキューの先頭にて管理される印刷ジョブは、次の印刷ジョブ2となる。この状況で、印刷装置において印刷コマンド1に対応するジョブがキャンセルされたことを情報処理装置が検知して、プリントキューの先頭にて管理されている印刷ジョブ2を削除してしまうと、ユーザーの意図しない削除処理が実行されることになる。そのため、Standard TCP/IPポートが使用されている場合は、上述した処理を実行することでユーザーの意図した削除処理を実行できる。なお、このようにポートによって処理を切り替える場合、情報処理装置は、印刷に使用されるポートを判定するポート判定モジュールを備える。このポート判定モジュールにより、使用されているポートがUSBポートまたはWSDポートであると判定された場合、図8、図11の処理は実行されない。一方、ポート判定モジュールにより、使用されているポートが所定のポートであると判定された場合、図8または図11の処理が実行される。なお、所定のポート(例えば、Standard TCP/IPポート)が使用されている場合、印刷装置への印刷コマンドの送信処理が完了した時点でプリントキューから印刷コマンドに対応する印刷ジョブが削除される。
さらに、ジョブ削除モジュール336(936)は、印刷ジョブをプリントキューから削除する前に、印刷装置にてキャンセルされた印刷処理に対応する印刷コマンドが自PCにて発行したものかどうかを判定する。そして、自PCにて発行した印刷コマンドに対応する印刷処理であったときのみ、ジョブ削除モジュール336(936)はプリントキューから印刷ジョブを削除するスプーラーに指示してもよい。
また、図3および図9において、ステータス管理プログラム331(931)をプリンタドライバ321(921)の構成物として図示しているが、プリンタドライバから独立した別モジュールとし、プリンタドライバと連携する構成としてもよい。
また、上述した実施形態では、ステータス情報には、処理待ち状態の印刷実行ジョブが印刷装置にてキャンセルされたことを示す情報は含まれないものとして説明した。しかし、印刷装置が、処理待ち状態の印刷実行ジョブがキャンセルされたことを示す情報を含むステータス情報を生成しても良い。このケースでは、管理情報取得モジュール933にて印刷装置から取得したステータス情報を解析して、印刷装置において処理待ち状態の印刷実行ジョブに対応する印刷ジョブをプリントキューから削除させても良い。
さらにまた、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。

Claims (14)

  1. 識別情報と関連付けて印刷ジョブを管理するスプーラーが動作可能な情報処理装置であって、
    前記スプーラーから前記印刷ジョブに関連付けられている前記識別情報を取得する取得手段と、
    前記印刷ジョブと前記識別情報に基づく印刷コマンドを印刷装置に送信する送信手段と、
    前記印刷コマンドに基づく印刷処理が前記印刷装置においてキャンセルされたことを検知した場合、前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブを前記スプーラーに削除させる削除手段を備え、
    前記スプーラーは、前記情報処理装置で動作するオペレーティングシステムにより提供されることを特徴とする情報処理装置。
  2. 前記印刷コマンドは、前記スプーラーから取得した識別情報または前記スプーラーから取得した所定の識別情報に基づいて生成されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記印刷装置から取得する情報に含まれる識別情報が前記スプーラーにより管理されている印刷ジョブに関連付けられている識別情報に対応すると判定された場合、前記印刷ジョブが前記スプーラーによって削除されることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブが前記スプーラーにより管理されていないと判定された場合、前記スプーラーにより管理される印刷ジョブの中でステータスが印刷中である印刷ジョブを特定する特定手段を更に有し、
    前記特定された印刷ジョブが前記スプーラーにより削除されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記印刷コマンドを送信するために使用されるポートが所定のポートであるか否かを判定するポート判定手段を更に有し、
    前記所定のポートであると判定され、かつ、前記印刷コマンドに基づく印刷処理が前記印刷装置においてキャンセルされたことを検知した場合、前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブが前記スプーラーにより削除され、
    前記所定のポートが使用されて、かつ、前記印刷コマンドの送信処理が完了した場合、前記スプーラーは、前記送信処理が完了した印刷コマンドに対応する印刷ジョブを削除することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記印刷装置と双方向通信を実行するランゲージモニタをプリンタドライバが備えることが制限されていることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記プリンタドライバは、Version4プリンタドライバであることを特徴とする請求項6に記載の情報処理装置。
  8. 識別情報と関連付けて印刷ジョブを管理するスプーラーが動作可能な情報処理装置において実行される制御方法であって、
    前記スプーラーから前記印刷ジョブに関連付けられている前記識別情報を取得する取得工程と、
    前記印刷ジョブと前記識別情報に基づく印刷コマンドを印刷装置に送信する送信工程と、
    前記印刷コマンドに基づく印刷処理が前記印刷装置においてキャンセルされたことを検知した場合、前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブを前記スプーラーに削除させる削除工程を備え、
    前記スプーラーは、前記情報処理装置で動作するオペレーティングシステムにより提供されることを特徴とする制御方法。
  9. コンピュータに、
    識別情報と関連付けて印刷ジョブを管理するスプーラーから前記印刷ジョブに関連付けられている前記識別情報を取得する取得工程と、
    前記印刷ジョブと前記識別情報に基づく印刷コマンドを印刷装置に送信する送信工程と、
    前記印刷コマンドに基づく印刷処理が前記印刷装置においてキャンセルされたことを検知した場合、前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブを前記スプーラーに削除させる削除工程を実行させ、
    前記スプーラーは、前記コンピュータにより実行されるオペレーティングシステムにより提供されることを特徴とするプログラム。
  10. 前記印刷コマンドは、前記スプーラーから取得した識別情報または前記スプーラーから取得した所定の識別情報に基づいて生成されることを特徴とする請求項9に記載のプログラム。
  11. 前記印刷装置から取得する情報に含まれる識別情報が前記スプーラーにより管理されている印刷ジョブに関連付けられている識別情報に対応すると判定された場合、前記印刷ジョブが前記スプーラーによって削除されることを特徴とする請求項9または10に記載のプログラム。
  12. 前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブが前記スプーラーにより管理されていないと判定された場合、前記スプーラーにより管理される印刷ジョブの中でステータスが印刷中である印刷ジョブを特定する特定工程を更に前記コンピュータに実行させ、
    前記特定された印刷ジョブが前記スプーラーにより削除されることを特徴とする請求項9乃至11のいずれか1項に記載のプログラム。
  13. 前記印刷コマンドを送信するために使用されるポートが所定のポートであるか否かを判定するポート判定工程を更に前記コンピュータに実行させ、
    前記所定のポートであると判定され、かつ、前記印刷コマンドに基づく印刷処理が前記印刷装置においてキャンセルされたことを検知した場合、前記印刷装置から取得する情報に対応する識別情報が関連付けられた印刷ジョブが前記スプーラーにより削除され、
    前記所定のポートが使用されて、かつ、前記印刷コマンドの送信処理が完了した場合、前記スプーラーは、前記送信処理が完了した印刷コマンドに対応する印刷ジョブを削除することを特徴とする請求項9乃至12のいずれか1項に記載のプログラム。
  14. 前記印刷装置と双方向通信を実行するランゲージモニタを備えることが制限されていることを特徴とする請求項9乃至13のいずれか1項に記載のプログラム。
JP2016213531A 2016-10-31 2016-10-31 情報処理装置、制御方法およびプログラム Pending JP2018073196A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016213531A JP2018073196A (ja) 2016-10-31 2016-10-31 情報処理装置、制御方法およびプログラム
US15/798,033 US20180121147A1 (en) 2016-10-31 2017-10-30 Information processing apparatus, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016213531A JP2018073196A (ja) 2016-10-31 2016-10-31 情報処理装置、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2018073196A true JP2018073196A (ja) 2018-05-10

Family

ID=62021370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016213531A Pending JP2018073196A (ja) 2016-10-31 2016-10-31 情報処理装置、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US20180121147A1 (ja)
JP (1) JP2018073196A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7170453B2 (ja) * 2018-08-06 2022-11-14 キヤノン株式会社 システム、印刷装置、システムの制御方法
CN115857839A (zh) * 2021-09-23 2023-03-28 珠海奔图电子有限公司 一种打印作业的监控方法、监控装置及电子装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5392201B2 (ja) * 2010-07-29 2014-01-22 ブラザー工業株式会社 ユニバーサルドライバ、及びデバイス制御方法
JP6245806B2 (ja) * 2013-01-08 2017-12-13 キヤノン株式会社 情報処理装置およびその制御方法、

Also Published As

Publication number Publication date
US20180121147A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
US8009310B2 (en) Print control program, method of controlling printing apparatus, and print control unit
KR102549370B1 (ko) 정보 처리 장치, 제어 방법 및 프로그램
JP2013088869A (ja) 情報処理装置、システム、プログラム
US11941310B2 (en) Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device
US10241731B2 (en) Information processing apparatus, method of controlling the same, print system and storage medium
JP2017102817A (ja) 情報処理装置及びその制御方法、プログラム
US8749826B2 (en) Information processing apparatus, control method and recording medium
JP5324257B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
JP2018073196A (ja) 情報処理装置、制御方法およびプログラム
US10277765B2 (en) Information processing device, control method, and program
JP4886501B2 (ja) 印刷装置、印刷制御方法、及びプログラム
US10310780B2 (en) System and control method for installing printer driver
JP2012038076A (ja) 情報処理装置、ジョブ処理システム、ジョブ送信経路制御方法、及びプログラム、並びに記録媒体
US8542392B1 (en) Print control apparatus, image forming system, and non-transitory computer-readable medium
JP5961937B2 (ja) 情報処理システム
JP6561884B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2010277257A (ja) 印刷装置を起動させるためのプログラム
JP6602053B2 (ja) 情報処理装置、制御方法及びプログラム
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
JP7262944B2 (ja) クライアント装置、制御方法、およびそのプログラム
JP6608175B2 (ja) 情報処理装置、制御方法及びプログラム
JP2009301372A (ja) 情報処理装置及びプログラム
JP2018037019A (ja) 情報処理装置、制御方法、およびプログラム
JP2012059280A (ja) 印刷装置、データ処理装置、印刷制御方法、及びプログラム