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

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

Info

Publication number
JP6639269B2
JP6639269B2 JP2016038346A JP2016038346A JP6639269B2 JP 6639269 B2 JP6639269 B2 JP 6639269B2 JP 2016038346 A JP2016038346 A JP 2016038346A JP 2016038346 A JP2016038346 A JP 2016038346A JP 6639269 B2 JP6639269 B2 JP 6639269B2
Authority
JP
Japan
Prior art keywords
job
communication device
information
queue
currently stored
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.)
Active
Application number
JP2016038346A
Other languages
English (en)
Other versions
JP2017156899A (ja
Inventor
弘明 守本
弘明 守本
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 JP2016038346A priority Critical patent/JP6639269B2/ja
Priority to US15/442,533 priority patent/US10055176B2/en
Publication of JP2017156899A publication Critical patent/JP2017156899A/ja
Application granted granted Critical
Publication of JP6639269B2 publication Critical patent/JP6639269B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • 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/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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/1267Job repository, e.g. non-scheduled jobs, delay printing
    • 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
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、制御方法及びプログラムに関する。
ジョブを処理可能な通信装置(プリンタ等)と、ジョブを送信可能な情報処理装置(パーソナルコンピュータ(以下、PC)等)とで構成される通信システムが知られている。このような通信システムにおいて、情報処理装置は、情報処理装置が備えるジョブキュー内に格納されているジョブの状態を、ジョブキューから当該ジョブが削除されるまで認識することが出来る。
特許文献1には、通信装置によってジョブの処理が終了するまでジョブキューにジョブを保持し続ける処理(以下、ジョブ保持処理)を実行することで、通信装置によってジョブの処理が終了するまでジョブの状態を認識できるようにする技術が開示されている。
特開2007−11469号公報
上述したように、特許文献1に記載の技術によって、ジョブ保持処理を実現し、通信装置によってジョブの処理が終了するまでジョブの状態を認識できるようにすることが可能である。一方で、ジョブ保持処理の実現において、ジョブの送信が完了するまでにかかる時間の更なる短縮化が要望されている。本発明は上記要望を鑑みてなされたもので、ジョブの送信が完了するまでにかかる時間を短縮しつつ、ジョブ保持処理を実現することを目的とする。
上述のような課題を解決するための本発明の情報処理装置は、
ジョブを格納するジョブキューを管理するスプーラを有する情報処理装置であって、
前記ジョブキューに現在格納されているジョブを通信装置に送信する送信手段と、
前記ジョブが前記ジョブキューに格納されている場合、前記通信装置に関する情報を前記通信装置から取得する第1取得手段と、
前記通信装置に関する情報に基づいて、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定する判定手段と、
前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記通信装置が処理を終了したジョブに関する処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれる場合、前記ジョブキューに現在格納されているジョブを前記ジョブキューから削除するための削除通知を前記スプーラに対して実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれない場合、前記削除通知を前記スプーラに対して実行せず、
前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了し場合、前記削除通知を前記スプーラに対し実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記削除通知を前記スプーラに対し実行しない通知手段と、を有することを特徴とする。
また、本発明の情報処理装置は、
ジョブを格納するジョブキューを有する情報処理装置であって、
前記ジョブキューに現在格納されているジョブを送信するための初期化処理を行う初期化処理手段と、
前記初期化処理手段による初期化処理が終了した場合、前記ジョブキューに現在格納されているジョブを通信装置に送信する送信手段と、
前記送信手段による前記ジョブキューに現在格納されているジョブの送信が完了した場合、前記ジョブキューから前記ジョブを削除するための終了処理を行う終了処理手段と、
前記ジョブが前記ジョブキューに格納されている場合、前記通信装置に関する情報を前記通信装置から取得する取得手段と、
前記通信装置に関する情報に基づいて、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定する判定手段と、
を有し、
前記終了処理手段は、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記通信装置が処理を終了したジョブに関する処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれる場合、前記終了処理を終了し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれない場合、前記終了処理をリトライし、
前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了し場合、前記終了処理を終了し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記終了処理をリトライし、
前記終了処理手段による前記終了処理が終了した場合、前記ジョブが前記ジョブキューから削除されることを特徴とする。
本発明によれば、ジョブの送信が完了するまでにかかる時間を短縮しつつ、ジョブ保持処理を実現することが可能になる。
通信装置と情報処理装置によって構成される印刷システムを示すブロック図 情報処理装置が備えるソフトウェアの構成を示す図 第1実施形態における印刷開始処理を示すフローチャート 第1実施形態における印刷ジョブ送信処理を示すフローチャート 第1実施形態における印刷終了処理を示すフローチャート 印刷ジョブ生成処理を示すフローチャート 印刷データに付加される識別情報の一例 コマンド生成フィルタにより生成される印刷ジョブを示す概略図 第2実施形態における印刷ジョブ送信処理を示すフローチャート エラー報知処理を示すフローチャート 第2実施形態における印刷終了処理を示すフローチャート 処理が終了した印刷ジョブの一覧を示す情報の一例
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<実施形態1>
本発明を適用した通信装置について説明する。通信装置は、情報処理装置からジョブを受信可能な装置である。本実施形態においては、通信装置としてインクジェット方式の複合機(MFP)を例示している。MFPとは、プリント、スキャナ、コピー、ファックス等の複数の機能を有する装置である。なお、通信装置は、例えば、複写機やファクシミリ装置、スキャナ、パーソナルコンピュータ(PC)、スマートホン、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ、音楽再生デバイス等であっても良い。また、通信装置がプリンタである場合は、利用する印刷方式はインクジェット方式に限定されず、例えば電子写真方式であっても良い。さらに、通信装置は、MFPではなく、単機能の装置(SFP)であっても良い。情報処理装置は、通信装置にジョブを送信可能な装置である。本実施形態においては、情報処理装置として、携帯端末を例示している。なお、情報処理装置は、例えば、PCやスマートホン、タブレット端末、PDA(Personal Digital Assistant)、カメラ等であっても良い。また、以下の説明においては、情報処理装置及び通信装置間で扱われるジョブとして、通信装置が印刷を実行するための印刷ジョブを例示しているが、この形態に限定されず、例えば、通信装置がスキャンを実行するためのスキャンジョブ等であっても良い。
図1は情報処理装置110と情報処理装置110に接続された通信装置120により構成される通信システムの全体構成を示すブロック図の一例である。情報処理装置110は入力I/F111、CPU112、ROM113、出力I/F114、外部記憶装置115、RAM116、入力装置117、出力装置118(表示部)、入出力I/F119を有する。CPU112はROM113等に保存されている制御命令に従い情報処理装置110を制御する。ROM113は初期化プログラムを記憶し、外部記憶装置115は、CPU112が実行する制御プログラムや組込オペレーティングシステム(以下、OS)、プリンタドライバやその他各種のデータを記憶している。本実施形態では、外部記憶装置115に格納されている制御プログラムは、外部記憶装置115に格納されている組込OSの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。RAM116は外部記憶装置115に保存される各種プログラムがワークメモリーとして使用する。入力装置117はデータ入力や動作指示に使用され入力I/F111に接続されている。出力装置118はデータ表示や状態の通知に使用され出力I/F114に接続されている。
通信装置120はRAM121、ROM122、プリントエンジン123、CPU124、入出力I/F125から構成される。情報処理装置110と通信装置120はUSB(商標)ケーブル130により接続されている。RAM121はCPU124のワークメモリーとして使用され、受信したデータの一時保存用バッファとしても利用される。ROM122は制御命令を保存している。プリントエンジン123はRAM121に保存されたデータに基づき印刷を行う。CPU124はROM122等に保存されている制御命令に従い通信装置120を制御する。なお、本実施形態においては情報処理装置110および通信装置120の処理分担を前記のように示したが、処理の分担形態はこれに依らない。
情報処理装置110が備えるソフトウェアの構成について、図2のブロック図を参照して説明する。図2に示す構成のうち、構成202、203、205、208、210がOSのモジュール、構成207、209がプリンタドライバのモジュールとしているが、それぞれの構成は、OSとプリンタドライバのうちいずれのモジュールであっても良い。なお、本実施形態では、情報処理装置110が備えるプリンタドライバは、Microsoft社のWindows(登録商標)で採用される、Version4ドライバ(以下、V4ドライバ)であるものとする。それぞれの構成が実行する処理は、実際には、CPU112が、それぞれの構成に対応するプログラムを外部記憶装置115から読みだしてRAM116にロードし、そのプログラムを実行することにより実現されるものとする。アプリケーション201は、外部記憶装置115に保存されており、印刷する有償コンテンツ等の画像情報や文字情報を含む描画情報、用紙サイズやレイアウト等の印刷設定情報等を含む印刷データを作成する。アプリケーション201が作成した印刷データは、OSの印刷サポート機能202を介しUIモジュール203から返却される印刷設定情報が付加され、スプールデータ206としてスプーラ204のジョブキュー205に一時的に蓄積される。スプーラ204は、ジョブ管理機能を有し、渡されたスプールデータ206を、スプールデータ206に対応する印刷ジョブの送信が完了したと認識するまで保持し管理する。具体的には、スプーラ204は、例えば、プリンタ毎に、印刷ジョブのサイズ、ジョブ名、送信するジョブ順番等を管理し、管理している情報をステータス表示アプリケーションに伝達することで、当該情報を出力装置118等に表示する。また、紙ジャムなどのエラー発生時に備え、印刷データを含む印刷ジョブそのものをジョブ終了まで保持するようにしても良い。なお、ジョブキュー205に保存されているスプールデータ206の情報は、例えば、UIモジュール203、アプリケーション201などを介して所定のインタフェース関数を用いて参照することできる。コマンド生成フィルタ207は、蓄積されたスプールデータ206の入力を受け付け、通信装置120が解釈可能な印刷コマンドに変換することで、印刷ジョブを生成する。なお、コマンド生成フィルタ207への印刷データの入力処理や、コマンド生成フィルタ207による印刷データの変換処理は、不図示のOSのコマンド生成フィルタ制御機能により制御される。その後、コマンド生成フィルタ207は、生成した印刷ジョブを、情報処理装置110のRAM116、及び外部記憶装置115に順次出力する。また、RAM116及び外部記憶装置115へ出力された印刷ジョブは、スプーラ204により読み出され、USBポートモニタ208を経由し通信装置120へ送信される。またプリンタドライバのベンダーは、ポートモニタ拡張ファイル209に所望の印刷ジョブ制御処理を記載することで、USBポートモニタ208にベンダー固有の処理を追加することが可能である。例えば、ジョブ毎に用意される専用の情報格納領域である、JobPropertyBag210が管理する記憶領域を参照する処理を、ポートモニタ拡張ファイル209に記載するとする。このようにすることで、USBポートモニタ208は、任意の情報をJobPropertyBag210が管理する記憶領域へ格納することが可能となる。なお、以下の説明におけるUSBポートモニタ208とスプーラ204間のデータの受け渡し及び通知は、コマンド生成フィルタ207を介して行われても介さずに行われても良い。
続いて、図3から図5を用いて、本実施形態において情報処理装置110がUSBポートモニタ208によって実行する印刷制御処理について説明する。なお、印刷制御処理は、印刷開始処理、印刷ジョブ送信処理、印刷終了処理の3つの処理によって構成されている。
図3は、本実施形態において情報処理装置110がUSBポートモニタ208によって実行する印刷開始処理のフローを示す。なお、印刷開始処理は、CPU112が、ROM113や外部記憶装置115等に記憶されている制御プログラムをRAM116にロードし、その制御プログラムを実行することで実現される。ここでは、CPU112は、ポートモニタ拡張ファイル209に対応するプログラムに従って、USBポートモニタ208に対応するプログラムを実行することで印刷開始処理を実現する。印刷開始処理は、ユーザが、アプリケーション201を用いて印刷データを作成し、当該印刷データに基づく画像の印刷を入力装置117等により指示した場合に開始される。
まず、S301にて、USBポートモニタ208は、スプーラ204からの指示により、ポートモニタ拡張ファイル209に対応するプログラムの記載に従ってStartPrintJob関数を呼び出し、印刷開始処理を開始する。その後、USBポートモニタ208は、S302にて、JobPropertyBag210が管理する記憶領域を初期化し、以降の印刷制御処理を行うために必要な記憶領域の確保、及び印刷制御処理中に参照する各種パラメータの初期化処理を行う。その後USBポートモニタ208は、S303にて印刷開始処理を終了する。その後、USBポートモニタ208は、以下に示す印刷ジョブ送信処理を開始する。
図4は、本実施形態において情報処理装置110がUSBポートモニタ208によって実行する印刷ジョブ送信処理のフローを示す。なお、印刷ジョブ送信処理は、CPU112が、ROM113や外部記憶装置115等に記憶されている制御プログラムをRAM116にロードし、その制御プログラムを実行することで実現される。ここでは、CPU112は、ポートモニタ拡張ファイル209に対応するプログラムに従って、USBポートモニタ208に対応するプログラムを実行することで印刷ジョブ送信処理を実現する。
まず、USBポートモニタ208は、スプーラ204からの指示により、ポートモニタ拡張ファイル209に対応するプログラムの記載に従ってwritePrintData関数を呼び出し、印刷ジョブ送信処理を開始する(S401)。なお、スプーラ204は、コマンド生成フィルタ207により出力された印刷ジョブを、所定のサイズに分割する。以後、分割されたそれぞれの印刷ジョブを分割ジョブという。そして、分割ジョブのうち未入力の分割ジョブをwritePrintData関数の引数の1つとして入力する。
次に、USBポートモニタ208は、S402にてエラー報知処理を行う。
ここで、図10を用いてS402におけるエラー報知処理の詳細について説明する。USBポートモニタ208は、S1001にてエラー報知処理を開始する。続いて、USBポートモニタ208は、S1002に進み通信装置120から情報を読み出して取得する。なお、このとき通信装置120から取得する情報は、例えば、通信装置120のステータスを示す情報(ステータス情報)、通信装置120の能力情報等である。その後、USBポートモニタ208は、S1002にて取得した情報の種別解析処理を行う。
次に、USBポートモニタ208は、解析結果を参照して、S1002にて取得した情報がステータス情報か否かを判定する(S1003)。USBポートモニタ208は、S1002にて取得した情報がステータス情報でないと判定した場合は、S1007に進みエラー報知処理を終了する。一方、USBポートモニタ208は、S1002にて取得した情報がステータス情報であると判定した場合は、S1004に進む。
S1004では、USBポートモニタ208は、取得したステータス情報を参照して、通信装置120のステータスを解析する処理(ステータス解析処理)を行う。なお、ステータス情報には、通信装置120にエラーが発生しているか否か等の情報が格納される。
そして、USBポートモニタ208は、S1004における解析の結果から通信装置120に印刷処理を継続できないエラーが発生しているか否かを判定する(S1005)。USBポートモニタ208は、エラーが発生していないと判定した場合は、S1007に進みエラー報知処理を終了する。一方、USBポートモニタ208は、エラーが発生していると判定した場合は、スプーラ204に対し通信装置120にエラーが発生していることを通知する(S1006)。これによりスプーラ204は、OSに標準搭載されているエラー通知機能を用いて、通信装置120にエラーが発生していることをユーザに通知する。具体的には、スプーラ204は、出力装置118に、通信装置120にエラーが発生していることを通知する画面を表示させる。このとき、OSが、トースト機能に対応している場合は、スプーラ204は、出力装置118にトースト(通知領域)をポップアップ表示させることによって通信装置120にエラーが発生していることを通知する。一方、OSがトースト機能に対応していない場合は、スプーラ204は、ジョブキューの状態をユーザに表示させる画面やウィンドウを介して、通信装置120にエラーが発生していることを通知する。なお、トースト機能とは、Microsoft社のWindows(登録商標)に導入されている機能であり、OS標準のユーザへの情報通知機能である。なお、トーストではなく、例えばバルーン機能を用いて通知を行っても良い。
USBポートモニタ208は、エラー報知処理を終了すると、S403にてスプーラ204より入力された分割ジョブを受信する。次に、USBポートモニタ208はスプーラ204より受信した分割ジョブを通信装置120へ送信する(S404)。その後、USBポートモニタ208はS404にて送信に成功した分割ジョブのデータサイズをスプーラ204へ通知する(S405)。これにより、スプーラ204は、印刷ジョブのうちどれだけのデータが送信されたかを判断することが可能となる。最後にUSBポートモニタ208はS406にて、印刷ジョブ送信処理を終了する。なお、USBポートモニタ208は、スプーラ204からの指示により、全ての分割ジョブを送信するまで、印刷ジョブ送信処理を繰り返す。すなわち、USBポートモニタ208は、分割ジョブ数と同じ回数、印刷ジョブ送信処理を繰り返す。なお、1つの分割ジョブを一度の印刷ジョブ送信処理で送信しきれない場合は、送信しきれないデータを次の印刷ジョブ送信処理で送信するため、分割ジョブ数以上の数、印刷ジョブ送信処理が繰り返えされる場合もある。また、全ての分割ジョブ(1つの印刷ジョブ)の送信が完了したか否かは、スプーラ204が管理している。スプーラ204は、USBポートモニタ208がこれまでに送信に成功した分割ジョブのデータサイズが、印刷ジョブのデータサイズに相当するか否かを、S405において通知される情報により判定することで、印刷ジョブの送信が完了したか否かを特定する。そして、USBポートモニタ208が全ての分割ジョブの送信を完了し(1つの印刷ジョブの送信が完了し)、スプーラ204がそれを特定した場合には、USBポートモニタ208は、スプーラ204から通知を受けて、以下の印刷終了処理を実行する。
図5は、本実施系におけるUSBポートモニタ208が実行する印刷終了処理のフローを示す。なお、印刷終了処理は、CPU112が、ROM113や外部記憶装置115等に記憶されている制御プログラムをRAM116にロードし、その制御プログラムを実行することで実現される。ここでは、CPU112は、ポートモニタ拡張ファイル209に対応するプログラムに従って、USBポートモニタ208に対応するプログラムを実行することで印刷終了処理を実現する。
図4に示す処理を繰り返して、印刷ジョブの送信が完了すると、USBポートモニタ208は、ポートモニタ拡張ファイル209に対応するプログラムに記載のendPrintJob関数を呼び出して、印刷終了処理を開始する(S501)。
次に、USBポートモニタ208は、S502において、JobPropertyBag210が管理する記憶領域の、初回起動時刻情報を参照する。そして、USBポートモニタ208は、S503において、処理対象の印刷ジョブにおける印刷終了処理の実行において、今回の印刷終了処理の実行が初回であるか否かを判定する。具体的には、USBポートモニタ208は、JobPropertyBag210が管理する記憶領域に時刻情報が記録されているか否かを判定し、記録されていない場合に初回であると判定し、記録されている場合に初回でないと判定する。USBポートモニタ208は、初回であると判定した場合は、S504にて、現在の時刻情報を取得し、取得した時刻情報をJobPropertyBag210が管理する記憶領域に格納する。一方、USBポートモニタ208は、初回でないと判定した場合はS505に進む。
次にS505において、USBポートモニタ208は、スプーラ204から印刷終了処理の対象となっている印刷ジョブの状態情報を取得する。本実施形態では、スプーラ204は、USBポートモニタ208から印刷ジョブの状態情報の取得要求があると、当該要求に対応する印刷ジョブの状態情報を通知するものとする。なお、印刷ジョブの状態情報は、例えば、印刷ジョブが処理中であることを示す情報、印刷ジョブがキャンセルされた状態(キャンセル状態)であることを示す情報、印刷ジョブの処理が停止された状態であることを示す情報である
その後、S506にて、USBポートモニタ208は、S505で取得した印刷ジョブ状態情報から印刷ジョブがキャンセル状態であることを検知できたか否かを判定する。USBポートモニタ208は、S506において印刷ジョブがキャンセル状態であることを検知できたと判定した場合は、S522に進む。
なお、ユーザやOSの指示により印刷ジョブがキャンセルされた(印刷ジョブがキャンセル状態となった)場合は、スプーラ204は、ジョブキュー205に保持されている次の印刷ジョブの処理を速やかに開始することが好ましい。そこで、S522では、USBポートモニタ208は、スプーラ204に対し印刷終了処理が完了したことを通知し、S524にて、印刷終了処理を終了する。なお、スプーラ204は、印刷終了処理が完了したことをUSBポートモニタ208から通知された場合、ジョブキュー205に保持されている、印刷終了処理が完了した印刷ジョブを削除する。これにより、スプーラ204は、キャンセルされた印刷ジョブをジョブキュー205から削除し、次の印刷ジョブの処理を開始することができる。
USBポートモニタ208は、S506において印刷ジョブがキャンセル状態であることを検知できなかったと判定した場合は、S507に進み通信装置120から情報を読み出して取得する。なお、このとき通信装置120から取得する情報は、例えば、印刷ジョブの処理が完了したことを示す情報(ジョブ完了情報)、や通信装置120のステータスを示す情報(ステータス情報)、通信装置120の能力情報等である。また、本実施形態においては、印刷ジョブの処理の完了後であればジョブ完了情報が、印刷ジョブの処理中であればステータス情報が通信装置120から取得される。なお、例えば通信装置120との通信経路において通信障害が生じていたり、通信装置120がオフラインになっている場合は、いずれの情報も取得されない。
その後、USBポートモニタ208は、S508において通信装置120からの情報を取得したか否かを判定し、取得したと判定した場合はS509にて、通信装置120から取得した情報の種別解析処理を行う。
USBポートモニタ208は、S509にて、通信装置120から取得した情報がジョブ完了情報であると解析した場合は、S522に進み、印刷終了処理を終了する。
USBポートモニタ208は、S509にて、通信装置120から取得した情報が、通信装置120のステータス情報及びジョブ完了情報のいずれでもないことを解析した場合は、S523に進む。S523では、USBポートモニタ208は、スプーラ204に対し印刷終了処理を再度実行(リトライ)することを通知する。スプーラ204は、リトライが通知された場合、USBポートモニタ208に、印刷終了処理を再度実行させる。またスプーラ204はリトライを通知された場合は、印刷終了処理の対象の印刷ジョブを削除せずにジョブキュー内に保持しておく。そして、USBポートモニタ208は、印刷終了処理を再度実行する場合は、再度S501からの処理を行う。
USBポートモニタ208は、S509における解析によって、通信装置120から取得した情報が通信装置120のステータス情報であると判定した場合は、S510に進む。S510では、USBポートモニタ208は、取得したステータス情報を参照して、通信装置120のステータスを解析する処理(ステータス解析処理)を行う。なお、ステータス情報には、通信装置120に対する本体操作(例えば印刷中止ボタンの押下)により、印刷処理が中止されたか否かや、通信装置120にエラーが発生しているか否か、印刷ジョブを処理中か否か等の情報が格納される。以下、印刷処理が中止されたか否か、及び通信装置120にエラーが発生しているか否かの情報を印刷中止情報という。なお、ステータス情報や印刷中止情報として他の情報が含まれても良く、以下の印刷中止判定において、当該他の情報に基づく他の判定が行われても良い。
そして、S511では、USBポートモニタ208は、S510のステータス解析の結果から、印刷処理が中止(キャンセル)されたか否かを判定する。なお、印刷処理の中止は、通信装置120に対してユーザによる操作(例えば印刷中止ボタンの押下)が行われたこと等により生じる。USBポートモニタ208は、印刷処理が中止されたと判定した場合は、S522に進み、印刷終了処理を終了させる。これは前述した通り、ジョブキューに保持されている次の印刷ジョブの印刷処理を速やかに開始するためである。
USBポートモニタ208は、S511にて印刷処理が中止されていないと判定した場合は、S512に進み、通信装置120に、印刷処理を継続できないエラーが発生しているか否かを判定する。通信装置120にエラーが発生している場合は、USBポートモニタ208は、S513にて、スプーラ204に対し通信装置120にエラーが発生していることを通知する。これによりスプーラ204は、OSに標準搭載されているエラー通知機能を用いて、通信装置120にエラーが発生していることをユーザに通知する。具体的には、スプーラ204は、出力装置118に、通信装置120にエラーが発生していることを通知する画面を表示させる。このとき、OSが、トースト(情報通知用のウィンドウ)機能に対応している場合は、スプーラ204は、出力装置118にトーストをポップアップ表示させることによって通信装置120にエラーが発生していることを通知する。一方、OSがトースト機能に対応していない場合は、スプーラ204は、ジョブキューの状態をユーザに表示させる画面やウィンドウを介して、通信装置120にエラーが発生していることを通知する。
USBポートモニタ208は、S512にて通信装置120にエラーが発生していないと判定した場合、又はS513の処理の後に、S514にて現在時刻の情報を取得する。
USBポートモニタ208は、S515にて、S514で取得した現在時刻とS504でJobPropertyBag210に保存した印刷終了処理の初回開始時刻とを比較し、所定の時間以上の差があるか否か(タイムアウトしたか否か)を判定する。タイムアウトしている場合、USBポートモニタ208は、S522に進み印刷終了処理を終了させる。これにより、取得されたステータス情報に印刷中止情報が含まれず、且つジョブ終了情報が取得されない状態が、予期しない理由で長時間続いた場合でも、ジョブキュー205内の次のジョブを開始することが可能になる。一方、タイムアウトしていない場合、USBポートモニタ208は、S524に進み一定時間処理を停止させた後に、S523に進み印刷終了処理のリトライをスプーラ204に通知する。なお、スプーラ204は、印刷終了処理のリトライ通知を受信した場合、即座にUSBポートモニタ208に印刷終了処理の実行を指示してしまう。そこで、S524にて一定時間USBポートモニタ208の処理を停止することで、通信装置120に対する極小間隔でのアクセス(S507)の繰り返しによる過剰な負荷発生を防止することができる。
続いて、S508にてUSBポートモニタ208が通信装置120からの情報の取得に失敗した場合は、S516に進み、ステータス情報を要求するためのコマンド(リクエストコマンド)を通信装置120に対し送信する。これは、S507における情報の読み出しが失敗した原因が、通信装置120が通信不能状態に陥っていることであるか否かを検知するためである。そのため、ここでは、通信装置120に対して情報を送信可能か否かを検知できれば良いため、送信する情報は、ステータス情報のリクエストコマンドに限定されない。
その後、USBポートモニタ208は、S517にて、S516におけるリクエストコマンド送信処理が成功したか否かを判定する。具体的には、USBポートモニタ208は、送信に成功したデータサイズの情報を取得できたか否かを判定する。USBポートモニタ208は、取得できたと判定した場合、リクエストコマンド送信処理が成功したと判定し、取得できなかったと判定した場合、リクエストコマンド送信処理が失敗したと判定する。なお、リクエストコマンド送信処理が成功した場合、USBポートモニタ208は、次にS507の処理を行う際に、通信装置120からステータス情報を読み出して取得することができるようになる。
USBポートモニタ208は、リクエストコマンドの送信に失敗したと判定した場合は、S519に進みリクエストコマンドの送信に失敗した合計回数の情報を更新する。なお、リクエストコマンドの送信に失敗した合計回数の情報は、JobPropertyBag210に保存されている。その後、USBポートモニタ208は、S520にて、リクエストコマンドの送信に失敗した合計回数が規定の回数を超えているか否かを判定する。USBポートモニタ208は、リクエストコマンドの送信に失敗した合計回数が規定の回数を超えていないと判定した場合は、S523に進み、endPrintJob関数のリトライをスプーラ204に通知する。一方、USBポートモニタ208は、リクエストコマンドの送信に失敗した合計回数が規定の回数を超えていると判定した場合は、S521に進み、通信装置120が通信不能状態に陥っていることをスプーラ204に対し通知する。通知を受けたスプーラ204は、OSに標準搭載されているエラー通知機能を用いて、ユーザに通信装置120が通信不能状態に陥っていることを通知する。具体的には、スプーラ204は、出力装置118に、通信装置120が通信不能状態に陥っていることを通知する画面を表示させる。このとき、OSが、トースト機能に対応している場合は、スプーラ204は、出力装置118にトーストをポップアップ表示させることによって通信装置120にエラーが発生していることを通知する。一方、OSがトースト機能に対応していない場合は、スプーラ204は、ジョブキューの状態をユーザに表示させる画面やウィンドウを介して、通信装置120にエラーが発生していることを通知する。
その後、USBポートモニタ208は、S522に進み、印刷終了処理を終了させる。
USBポートモニタ208は、リクエストコマンドの送信に成功したとS517で判定した場合は、S518にて、リクエストコマンドの送信に失敗した合計回数を0回に更新する。その後、USBポートモニタ208は、S523に進み印刷終了処理のリトライをスプーラ204に通知する。以上の処理により、USBポートモニタ208は、印刷終了処理を実行している間に、通信装置120がオフライン状態(通信不能状態)に遷移してしまった場合でも、適切にジョブの処理を完了させることが可能となる。このため、通信装置120が再度オンライン状態(通信可能状態)に復帰した場合は、ジョブキュー内の次の印刷ジョブの処理を速やかに開始することが可能である。
上述のように、本実施形態では、印刷終了処理においてジョブ完了情報を取得できるまで、スプーラ204は、ジョブキュー205から印刷ジョブを削除しない。また、USBポートモニタ208は、印刷終了処理においてジョブ完了情報を取得できるまで、当該印刷ジョブに関する情報を通信装置120から取得し続ける。そのため、本実施形態のように、通信装置120が印刷処理を完了するタイミングとジョブキュー205から印刷ジョブが削除されるタイミングを同期させることで、スプーラ204は、処理が完了するまで印刷ジョブの状態を把握することができる。
また、従来の形態では、通信装置120が印刷処理を完了するまで印刷ジョブ送信処理を繰り返すことでジョブ保持処理を実現していた。印刷ジョブ送信処理を繰り返すためには、送信する分割ジョブが最後の分割ジョブである場合に、送信に成功した分割ジョブのデータサイズとして正確でない情報をスプーラ204に対して送信する必要がある。そのため、従来の形態では、正確な送信データサイズを送信しないタイミングを判定するために、送信する分割ジョブが最後の分割ジョブであるか否かを解析(送信データ解析処理を実行)していた。一方、本実施形態では、通信装置120が印刷処理を完了するまで、印刷ジョブ送信処理を繰り返すのではなく、印刷終了処理(すなわち、印刷ジョブ送信処理後の処理)を繰り返すことでジョブ保持処理を実現する。印刷終了処理を繰り返すためには、送信する分割ジョブが最後の分割ジョブである場合にスプーラ204に正確でない送信データサイズを送信するという処理は必要ない。そのため、本実施形態では、送信データ解析処理を行わずにジョブ保持処理を実現でき、ジョブ保持処理にかかる負担を軽減することができる。引いては、印刷ジョブの送信が完了するのにかかる時間を短縮し、印刷ジョブの送信にかかるスループットの向上を図ることができる。
なお、V4ドライバには、OSが備えるトースト機能を利用できる機能が備わっている。トースト機能とは、例えば通信装置120の状態やジョブの処理状態を、ユーザに効果的に通知できる機能であるため、トースト機能を有効に活用するためには、ジョブ保持処理によってジョブの状態を監視できるようにすることが好ましい。しかしながら、V4ドライバのようなランゲージモニタを構成要素として含まないプリンタドライバには、プログラム言語の違い等により、Version3ドライバのようなランゲージモニタを構成要素として含むプリンタドライバよりも処理速度が遅い。なお、Version3ドライバとは、Microsoft社のWindows(登録商標)で採用されるドライバであり、V4ドライバより前のバージョンのドライバである。また、従来のジョブ保持処理で行われていた送信データ解析処理には、多くのリソースが必要とされるため、V4ドライバが、従来のようにジョブ保持処理を実行する場合、送信データ解析処理に非常に多くの時間がかかってしまう。その結果、例えば印刷速度が低下してしまう等の課題が生じる。本実施形態では、印刷データの解析処理を実行せずにジョブ保持処理を実現できるため、V4ドライバのような処理速度が遅いドライバを用いる形態においても、印刷速度の低下を抑制しつつジョブ保持処理を実現できる。すなわち、本実施形態は、V4ドライバのような処理速度が遅いドライバを用いる形態において特に有効である。
<実施形態2>
実施形態1では、通信装置120からジョブの終了情報を取得するまで印刷終了処理を繰り返すことで、ジョブ保持処理を実現する形態について説明した。しかしながら、通信装置120や情報処理装置110にインストールされるOSの種類によっては、通信装置120からジョブの終了情報を取得できない場合がある。そこで、本実施形態では、ジョブの終了情報を取得せずにジョブ保持処理を実現する形態について説明する。本実施形態では、情報処理装置110は印刷ジョブ毎に一意の識別情報を付加して通信装置120に送信する。また、通信装置120は処理中の印刷ジョブに付された識別情報や処理が完了した印刷ジョブに付された識別情報の一覧を、リクエストに応じてホストに返却する。情報処理装置110は、実施形態1と同様に処理の完了を検知するまで処理対象のジョブを保持し続けるが、本実施形態では、通信装置120から返却された識別情報に基づいて処理の完了を検知する。本実施形態では、このようにしてジョブ保持処理を実現することにより、課題を解決する。なお、以後、本実施形態において特に言及が無い点は、実施形態1と同等の構成であるものとする。
図6は、本実施形態におけるコマンド生成フィルタ207が実行する印刷ジョブ生成処理のフローを示す。なお、印刷開始処理は、CPU112が、ROM113や外部記憶装置115等に記憶されている制御プログラムをRAM116にロードし、その制御プログラムを実行することで実現される。ここでは、CPU112は、コマンド生成フィルタ207に対応するプログラムを実行することで印刷ジョブ生成処理を実現する。
始めにコマンド生成フィルタ207は、OSが備えるコマンド生成フィルタ制御機能により起動され処理を開始する(S601)。次に、コマンド生成フィルタ207は、アプリケーション201が作成した印刷データをOSのコマンド生成フィルタ制御機能から受信する(S602)。次に、コマンド生成フィルタ207は、受信した印刷データに対し、該印刷データを一意に識別するための識別情報を付加する(S603)。図7は印刷データに付加される識別情報の例を示す。図7に示す識別情報は数値、ハイフネーションおよびアルファベットにより表現されているが、識別情報の構成はこの例に限定されるものではない。次に、コマンド生成フィルタ207は、受信した印刷データに付加された印刷設定情報に従って、印刷データに対し変換を施し、通信装置120が解釈可能な印刷コマンドに変換することで、識別情報を含む印刷ジョブを生成する(S604)。なお、コマンド生成フィルタ207はS604の処理に先立ち、受信した印刷データに付加された印刷設定情報に従って、印刷データのページ順序の変更や、複数ページを1ページとして再構成するページ構成処理を追加してもよい。また、コマンド生成フィルタ207は、印刷データに対し変換を施し、印刷ジョブを生成してから識別情報を付加しても良い。
図8はコマンド生成フィルタ207により生成される印刷ジョブを示す概略図である。コマンド生成フィルタ207により生成される印刷ジョブは、識別情報格納部801と制御コマンド格納部802から成る。識別情報格納部には、S603にて付加される識別情報が格納される。印刷コマンド格納部には、コマンド生成フィルタ207が受信した印刷データに対し所定の変換を施すことで得られる、当該印刷データに基づく画像を通信装置120に印刷させるための制御を実行するコマンドが格納される。すなわち、通信装置120は、制御コマンド格納部に格納されるコマンドに基づいて動作することで、画像を印刷することができる。
続いて、コマンド生成フィルタ207は、識別情報を含む印刷ジョブを外部記憶装置115やRAM116等の記憶領域に一旦出力し(S605)、S606にて処理を終了する。その後、コマンド生成フィルタ207により出力された印刷ジョブは、スプーラ204の印刷ジョブ送信処理により通信装置120へ送信される。
図9は本実施形態においてUSBポートモニタ208が実行する印刷ジョブ送信処理のフローを示す。
まず、USBポートモニタ208は、スプーラ204からの指示により、ポートモニタ拡張ファイル209に対応するプログラムの記載に従ってwritePrintData関数を呼び出し、印刷ジョブ送信処理を開始する(S901)。なお、スプーラ204は、実施形態1と同様に、コマンド生成フィルタ207により出力された印刷ジョブを、所定のサイズに分割する。そして、分割した印刷ジョブのうち未入力の印刷ジョブをwritePrintData関数の引数の1つとして入力する。
次に、USBポートモニタ208は、S902にてエラー報知処理を行う。なお、エラー報知処理は、第1実施形態において説明した処理と同様であるため、詳細の説明を省略する。
USBポートモニタ208は、エラー報知処理が終了すると、S903にて、スプーラ204から、分割ジョブを受信する。なお、本実施形態では、上述したように、印刷ジョブには識別情報が含まれ、さらに、その印刷ジョブはスプーラ204によって分割される。ここで、スプーラ204は、印刷ジョブと識別情報を区別せずに分割するため、例えば、識別情報が含まれない分割ジョブや、一部しか識別情報が含まれない分割ジョブ等が生じる。
USBポートモニタ208は、S904にて、処理対象の印刷ジョブの印刷ジョブ送信処理において、後述のS906の処理で既に識別情報を検知したか否かを判定する。具体的には、USBポートモニタ208は、JobPropertyBag210が管理する記憶領域内に、既に識別情報を検知したことを示す情報が含まれているか否かを判定する。なお、処理対象の印刷ジョブの印刷ジョブ送信処理における最初のS904の処理においては、当然、JobPropertyBag210が管理する記憶領域内に、既に識別情報を検知したことを示す情報は含まれていない。そのため、USBポートモニタ208は、既に識別情報を検知していないと判定する。また、既に識別情報を検知したことを示す情報は、識別情報そのものであっても良いし、識別情報を検知したことを示すフラグ等であっても良い。
USBポートモニタ208は、S904の判定にて、既に識別情報を検知したと判定した場合はS908に進み、JobPropertyBag210が管理する記憶領域に未送信の分割ジョブが保存されているか否かを判定する。JobPropertyBag210が管理する記憶領域に未送信の分割ジョブが保存されている場合は、USBポートモニタ208は、S909にて当該分割ジョブを通信装置120へ送信する。JobPropertyBag210が管理する記憶領域に未送信の分割ジョブが保存されていない場合は、USBポートモニタ208は、S910にて、S903でスプーラ204から受信した分割ジョブを通信装置120に送信する。その後、USBポートモニタ208は、送信に成功した分割ジョブのサイズ情報をスプーラ204に通知する(S911)。S911により、スプーラ204は、印刷ジョブのうちどれだけのデータが送信されたかを判断することが可能となる。その後、USBポートモニタ208は、S914にて処理を終了する。
一方、USBポートモニタ208は、S904の判定にて、既に識別情報を検知していないと判定した場合は、S905に進む。
S905では、USBポートモニタ208は、JobPropertyBag210が管理する記憶領域に格納されている分割ジョブとS903でスプーラ204から受信した分割ジョブを結合する。これは、以前の印刷ジョブ送信処理において、一部しか識別情報が含まれない分割ジョブを受信していた場合には、JobPropertyBag210が管理する記憶領域に、一部しか識別情報が含まれない分割ジョブが格納されているためである。USBポートモニタ208は、S905にて、以前受信した分割ジョブと今回受信した分割ジョブとを結合することで、分割された複数の識別情報を、1つの完全な識別情報に復元することができる。なお、処理対象の印刷ジョブの印刷ジョブ送信処理における最初のS905の処理においては、当然、JobPropertyBag210が管理する記憶領域内に、分割ジョブは含まれていない。そのため、USBポートモニタ208は、処理対象の印刷ジョブの印刷ジョブ送信処理における最初のS905の処理においては、分割ジョブを結合することなく次の処理に進む。
その後、USBポートモニタ208は、S905で結合した、又はS903で受信した分割ジョブに識別情報が含まれているか否かを判定する(S906)。USBポートモニタ208は、識別情報が含まれている(識別情報を復元できた)と判定した場合は、S907にて、分割ジョブに含まれる識別情報及び既に識別情報を検知したことを示す情報をJobPropertyBag210が管理する記憶領域へ格納する。
その後、USBポートモニタ208は、S908以降の処理を実行する。
USBポートモニタ208は、S906にて、識別情報が含まれていないと判定した場合は、S912にて、S905で結合した、又はS903で受信した分割ジョブをJobPropertyBag210が管理する記憶領域へ格納する。その後、USBポートモニタ208は、JobPropertyBag210が管理する記憶領域に格納した分割ジョブのサイズをスプーラ204へ通知する(S913)。その後、USBポートモニタ208は、S914にて印刷ジョブ送信処理を終了する。なお、USBポートモニタ208は、スプーラ204からの指示により、全ての分割ジョブを送信するまで、印刷ジョブ送信処理を繰り返す。すなわち、USBポートモニタ208は、分割ジョブ数と同じ回数、印刷ジョブ送信処理を繰り返す。また、全ての分割ジョブの送信が完了したか否かは、スプーラ204が管理している。USBポートモニタ208は、全ての分割ジョブ(1つの印刷ジョブ)の送信が完了した場合には、スプーラ204から通知されることで、以下の印刷終了処理を実行する。
図11は、本実施系におけるUSBポートモニタ208が実行する印刷終了処理のフローを示す。なお、S1101〜S1106、S1115〜S1128の処理は実施形態1にて説明したS501〜S506、S511〜S524と同様の処理であるため、説明を省略する。
USBポートモニタ208は、S1107にて、通信装置120から情報を読み取って取得する。なお、このとき通信装置120から取得する情報は、例えば、通信装置120のステータスを示す情報(ステータス情報)、通信装置120の能力情報等である。また、本実施形態においては、印刷ジョブの処理の完了後及び、印刷ジョブの処理中であればステータス情報が通信装置120から取得される。なお、例えば通信装置120との通信経路において通信障害が生じていたり、通信装置120がオフラインになっている場合は、いずれの情報も取得されない。
その後、USBポートモニタ208は、S1108にて、通信装置120からの情報を取得したか否かを判定し、取得したと判定した場合はS1109にて、通信装置120から取得した情報の種別解析処理を行う。
USBポートモニタ208は、S1109における種別解析処理によって、通信装置120から取得した情報が、通信装置120のステータス情報でないと解析した場合は、S1127に進む。S1127では、USBポートモニタ208は、スプーラ204に対し印刷終了処理を再度実行(リトライ)することを通知する。スプーラ204は、リトライが通知された場合、USBポートモニタ208に、印刷終了処理を再度実行させる。またスプーラ204はリトライを通知された場合は、印刷終了処理の対象のジョブを削除せずにジョブキュー205内に保持しておく。そして、USBポートモニタ208は、印刷終了処理を再度実行する場合は、再度S1101からの処理を行う。
USBポートモニタ208は、S1109における種別解析処理によって、通信装置120から取得した情報が通信装置120のステータス情報であると解析した場合は、S1110に進む。S1110では、USBポートモニタ208は、取得したステータス情報を参照して、通信装置120のステータスを解析する処理(ステータス解析処理)を行う。USBポートモニタ208は、S1110において、ステータス情報を解析し、通信装置120にて通信装置120が処理中の印刷ジョブに付加されている識別情報を取得する。なお、例えば、印刷ジョブの処理がまだ開始されていなかったり、印刷ジョブの処理が既に終了している場合は、通信装置120が印刷ジョブの処理を実行中でない場合がある。この場合には、ステータス情報に識別情報は含まれないため、USBポートモニタ208は、識別情報を取得できない。
その後、USBポートモニタ208は、S1111にて、JobPropertyBag210が管理する記憶領域に印刷ジョブ送信処理時に保存した識別情報が、取得したステータス情報に含まれていたか否かを判定する。具体的には、USBポートモニタ208は、印刷ジョブ送信処理時に保存した識別情報とS1110にて取得した識別情報を比較し、両者が一致しているか否かを判定する。なお、USBポートモニタ208が印刷ジョブ送信処理にて送信した印刷ジョブを、通信装置120が処理中であれば、両者が一致する。USBポートモニタ208は、両者の識別情報が一致していると判定した場合は、S1115に進む。一方、USBポートモニタ208が印刷ジョブ送信処理にて送信した印刷ジョブの処理を、通信装置120が完了しており、且つ他の情報処理装置から送信された印刷ジョブの処理を、通信装置120が処理しているのであれば、両者は一致しない。USBポートモニタ208は、両者の識別情報が一致していないと判定した場合、印刷ジョブの履歴情報取得のためのリクエストコマンドを通信装置120に対し送信する(S1112)。なお、上述したように、取得したステータス情報にいずれの識別情報も含まれていない場合がある。その場合も、USBポートモニタ208は、S1112に進み、印刷ジョブの履歴情報取得のためのリクエストコマンドを通信装置120に対し送信する。
S1112の処理の後、USBポートモニタ208は、通信装置120から印刷ジョブの履歴情報を読み出して取得する(S1113)。図12は印刷ジョブの履歴情報の一例を示す。印刷ジョブの履歴情報は、通信装置120にて処理が終了した各印刷ジョブが、どのような状態で終了したかを、印刷ジョブに付加された識別情報と共に一覧で示すものである。
そして、S1114にて、USBポートモニタ208は、JobPropertyBag210が管理する記憶領域に保存した識別情報に対応する印刷ジョブが、取得した履歴情報に含まれているか否かを判定する。なお、JobPropertyBag210が管理する記憶領域に保存した識別情報に対応する印刷ジョブの処理が既に終了していた場合は、履歴情報に当該印刷ジョブの情報が含まれる。そのため、USBポートモニタ208は、JobPropertyBag210が管理する記憶領域に保存した識別情報に対応する印刷ジョブが、取得した履歴情報に含まれていると判定した場合はS1126に進む。そして、USBポートモニタ208は、S1126にて、スプーラ204に対し印刷終了処理が完了したことを通知する。その後、USBポートモニタ208は、S1128にて、印刷終了処理を終了することを決定する。一方、JobPropertyBag210が管理する記憶領域に保存した識別情報に対応する印刷ジョブの処理がまだ通信装置120にて開始されていない場合は、履歴情報に当該印刷ジョブの情報が含まれない。USBポートモニタ208は、JobPropertyBag210が管理する記憶領域に保存した識別情報に対応する印刷ジョブが、取得した履歴情報に含まれていない場合は、S1115に進み印刷処理の中止判定処理を行う。なお、印刷ジョブの履歴情報には、例えば、ジョブ名やジョブの送信日時等の情報が含まれていても良く、USBポートモニタ208は、それらの情報によって、印刷ジョブ送信処理において送信した印刷ジョブが履歴情報に含まれているか否かを判定しても良い。
以上のように、本実施形態では、通信装置120が処理中の印刷ジョブに付された識別情報を取得し、取得した識別情報の解析結果又は識別情報を取得できたか否かによって、情報処理装置110が送信した印刷ジョブが終了したか否かを判定する。このような形態とすることで、通信装置120からジョブの終了情報を取得できない形態においても、情報処理装置110が送信した印刷ジョブが終了したか否かを判定することができる。すなわち、通信装置120からジョブの終了情報を取得できない形態においても、送信データ解析処理を回避した効率的な印刷ジョブの制御方法を実現することが可能となる。
<実施形態3>
本発明は、前述の実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のCPU等が記録媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、SSD、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される。しかしそれだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。

Claims (18)

  1. ジョブを格納するジョブキューを管理するスプーラを有する情報処理装置であって、
    前記ジョブキューに現在格納されているジョブを通信装置に送信する送信手段と、
    前記ジョブが前記ジョブキューに格納されている場合、前記通信装置に関する情報を前記通信装置から取得する第1取得手段と、
    前記通信装置に関する情報に基づいて、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定する判定手段と、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記通信装置が処理を終了したジョブに関する処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれる場合、前記ジョブキューに現在格納されているジョブを前記ジョブキューから削除するための削除通知を前記スプーラに対して実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれない場合、前記削除通知を前記スプーラに対して実行せず、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了し場合、前記削除通知を前記スプーラに対し実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記削除通知を前記スプーラに対し実行しない通知手段と、を有することを特徴とする情報処理装置。
  2. 前記通知手段は、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、前記ジョブキューに現在格納されているジョブの送信が完了したことを前記スプーラが特定した後で、かつ、前ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了した場合、前記削除通知を前記スプーラに対し実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、前記ジョブキューに現在格納されているジョブの送信が完了したことを前記スプーラが特定した後で、かつ、前ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記削除通知を前記スプーラに対して実行しないことを特徴とする請求項1に記載の情報処理装置。
  3. 記通知手段は、前記ジョブの処理がユーザによってキャンセルされた場合、前記削除通知を前記スプーラに対し実行することを特徴とする請求項1又は請求項2に記載の情報処理装置。
  4. 記ジョブに識別情報を付加する付加手段をさらに有し、
    記判定手段は、前記通信装置に関する情報に、前記付加手段が付加した識別情報が含まれるか否かを判定することによって、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定することを特徴とする請求項に記載の情報処理装置。
  5. 前記通知手段は、前記処理情報に、前記ジョブキューに現在格納されているジョブに付加された識別情報が含まれる場合、前記削除通知を前記スプーラに対し実行し、前記処理情報に、前記ジョブキューに現在格納されているジョブに付加された識別情報が含まれない場合、前記削除通知を前記スプーラに対し実行しないことを特徴とする請求項に記載の情報処理装置。
  6. 前記通信装置に関する情報に基づいて、前記ジョブキューに現在格納されているジョブの状態又は前記通信装置の状態を、前記情報処理装置が備える表示部に表示させる表示制御手段をさらに有することを特徴とする請求項1乃至請求項のいずれか1項に記載の情報処理装置。
  7. 前記通信装置に関する情報に基づいて、前記通信装置にエラーが発生しているか否かを判定するエラー判定手段をさらに有し、
    前記表示制御手段は、前記エラー判定手段により前記通信装置にエラーが発生していると判定された場合、前記通信装置にエラーが発生している旨を通知するための画面を前記表示部に表示させることを特徴とする請求項に記載の情報処理装置。
  8. 前記表示制御手段は、前記ジョブキューに現在格納されているジョブの状態又は前記通信装置の状態を通知するための通知領域を、ポップアップにより前記表示部に表示させることを特徴とする請求項6又は7に記載の情報処理装置。
  9. 前記ジョブは、前記通信装置に印刷を実行させるための印刷ジョブ、又は前記通信装置にスキャンを実行させるためのスキャンジョブであることを特徴とする請求項1乃至請求項のいずれか1項に記載の情報処理装置。
  10. 前記情報処理装置にインストールされているプリンタドライバは、Version4ドライバであることを特徴とする請求項1乃至請求項のいずれか1項に記載の情報処理装置。
  11. 前記送信手段は、前記ジョブキューに現在格納されているジョブが分割されることで得られる複数のデータを前記通信装置に送信し、
    前記送信手段が送信するデータのデータサイズが、前記送信手段がデータを送信する毎に前記スプーラに通知され、
    前記データサイズが前記スプーラに通知されることで、前記ジョブキューに現在格納されているジョブの送信が完了したことを、前記スプーラが特定することを特徴とする請求項1乃至請求項10のいずれか1項に記載の情報処理装置。
  12. 前記送信手段は、送信するデータが前記複数のデータのうち最後に送信するデータか否かを解析する処理を実行せず、前記複数のデータを通信装置に送信することを特徴とする請求項11に記載の情報処理装置。
  13. ジョブを格納するジョブキューを有する情報処理装置であって、
    前記ジョブキューに現在格納されているジョブを送信するための初期化処理を行う初期化処理手段と、
    前記初期化処理手段による初期化処理が終了した場合、前記ジョブキューに現在格納されているジョブを通信装置に送信する送信手段と、
    前記送信手段による前記ジョブキューに現在格納されているジョブの送信が完了した場合、前記ジョブキューから前記ジョブを削除するための終了処理を行う終了処理手段と、
    前記ジョブが前記ジョブキューに格納されている場合、前記通信装置に関する情報を前記通信装置から取得する取得手段と、
    前記通信装置に関する情報に基づいて、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定する判定手段と、
    を有し、
    前記終了処理手段は、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記通信装置が処理を終了したジョブに関する処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれる場合、前記終了処理を終了し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれない場合、前記終了処理をリトライし、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了し場合、前記終了処理を終了し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記終了処理をリトライし、
    前記終了処理手段による前記終了処理が終了した場合、前記ジョブが前記ジョブキューから削除されることを特徴とする情報処理装置。
  14. ジョブを格納するジョブキューを管理するスプーラを有する情報処理装置の制御方法であって、
    前記ジョブキューに現在格納されているジョブに対応するジョブを通信装置に送信する送信手段と、
    記ジョブが前記ジョブキューに格納されている場合、前記通信装置に関する情報を前記通信装置から取得する第1取得ステップと、
    前記通信装置に関する情報に基づいて、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定する判定ステップと、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記通信装置が処理を終了したジョブに関する処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれる場合、前記ジョブキューに現在格納されているジョブを前記ジョブキューから削除するための削除通知を前記スプーラに対して実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれない場合、前記削除通知を前記スプーラに対して実行せず、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了し場合、前記削除通知を前記スプーラに対し実行し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記削除通知を前記スプーラに対し実行しない通知ステップと、を有することを特徴とする制御方法。
  15. ジョブを格納するジョブキューを有する情報処理装置の制御方法であって、
    前記ジョブキューに現在格納されているジョブを送信するための初期化処理を行う初期化処理ステップと、
    前記初期化処理が終了した場合、前記ジョブキューに現在格納されているジョブを通信装置に送信する送信ステップと、
    前記ジョブキューに現在格納されているジョブの送信が完了した場合、前記ジョブキューから前記ジョブを削除するための終了処理を行う終了処理ステップと、
    前記ジョブが前記ジョブキューに格納されている場合、前記通信装置に関する情報を前記通信装置から取得する取得ステップと、
    前記通信装置に関する情報に基づいて、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブか否かを判定する判定ステップと、
    を有し、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記通信装置が処理を終了したジョブに関する処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれる場合、前記終了処理を終了し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブでないと判定され、かつ、前記処理情報に前記ジョブキューに現在格納されているジョブに関する情報が含まれない場合、前記終了処理をリトライし、
    前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了した場合、前記終了処理を終了し、前記通信装置が処理しているジョブが前記ジョブキューに現在格納されているジョブであると判定され、かつ、前記ジョブキューに現在格納されているジョブの処理が前記通信装置によって終了していない場合、前記終了処理をリトライし、
    前記終了処理が終了した場合、前記ジョブが前記ジョブキューから削除されることを特徴とする制御方法。
  16. 請求項1乃至請求項13のいずれか一項に記載の情報処理装置の各手段をコンピュータにより実現することを特徴とするプログラム。
  17. プリンタドライバであることを特徴とする請求項16に記載のプログラム。
  18. Version4ドライバであることを特徴とする請求項17に記載のプログラム。
JP2016038346A 2016-02-29 2016-02-29 情報処理装置、制御方法及びプログラム Active JP6639269B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016038346A JP6639269B2 (ja) 2016-02-29 2016-02-29 情報処理装置、制御方法及びプログラム
US15/442,533 US10055176B2 (en) 2016-02-29 2017-02-24 Control method and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016038346A JP6639269B2 (ja) 2016-02-29 2016-02-29 情報処理装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017156899A JP2017156899A (ja) 2017-09-07
JP6639269B2 true JP6639269B2 (ja) 2020-02-05

Family

ID=59679567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016038346A Active JP6639269B2 (ja) 2016-02-29 2016-02-29 情報処理装置、制御方法及びプログラム

Country Status (2)

Country Link
US (1) US10055176B2 (ja)
JP (1) JP6639269B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4900891B2 (ja) * 2005-04-27 2012-03-21 キヤノン株式会社 通信装置及び通信方法
US11086579B2 (en) * 2019-05-08 2021-08-10 Canon Kabushiki Kaisha Server system having print notification and control method thereof
JP7463117B2 (ja) 2020-01-31 2024-04-08 キヤノン株式会社 情報処理装置およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4659531B2 (ja) * 2005-06-28 2011-03-30 キヤノン株式会社 ジョブ状態監視システム、ジョブ状態監視方法、プログラム及び記憶媒体
US7839521B2 (en) * 2005-08-09 2010-11-23 Global Print Systems, Inc. Methods and systems for print job management and printing
JP2007328574A (ja) * 2006-06-08 2007-12-20 Kyocera Mita Corp 印刷システム及び印刷プログラム
JP4944682B2 (ja) * 2007-06-22 2012-06-06 キヤノン株式会社 印刷制御装置、印刷制御方法、プログラム及び記憶媒体
JP5328389B2 (ja) * 2009-01-21 2013-10-30 キヤノン株式会社 画像形成装置、画像形成システム、及び画像形成方法
JP5962132B2 (ja) * 2012-03-29 2016-08-03 ブラザー工業株式会社 情報処理装置、情報処理方法およびプログラム
JP6245806B2 (ja) * 2013-01-08 2017-12-13 キヤノン株式会社 情報処理装置およびその制御方法、
JP2015204045A (ja) * 2014-04-15 2015-11-16 キヤノン株式会社 情報処理装置及びその制御方法
JP6347161B2 (ja) * 2014-07-02 2018-06-27 セイコーエプソン株式会社 印刷制御装置、印刷制御装置の制御方法および記録媒体
JP2016177608A (ja) * 2015-03-20 2016-10-06 セイコーエプソン株式会社 印刷制御装置、印刷制御プログラム

Also Published As

Publication number Publication date
JP2017156899A (ja) 2017-09-07
US10055176B2 (en) 2018-08-21
US20170249111A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
US8582158B2 (en) Image input/output apparatus and image input/output method
US9007641B2 (en) Information processing apparatus, control method, and storage medium
US9612781B2 (en) Printing system and information processing apparatus, method, and program for controlling job transmission based on authentication setting of an image forming apparatus
JP6639269B2 (ja) 情報処理装置、制御方法及びプログラム
JP5729903B2 (ja) 情報処理装置、その方法およびプログラム
CN103312923A (zh) 信息处理装置及控制方法
JP2015019306A (ja) 印刷制御装置、印刷制御方法、プログラム、及び記憶媒体
JP6558240B2 (ja) プログラム
JP5886571B2 (ja) 情報処理装置及びその制御方法
JP6557969B2 (ja) 画像形成装置、その制御方法及びプログラム
EP2230630A2 (en) Printer, and program for its operation screen.
JP2012083973A (ja) 印刷システム
JP2015093394A (ja) 画像形成装置、その制御方法及びプログラム。
JP2015108857A (ja) システム、その制御方法、情報処理装置、その制御方法及びプログラム
JP2017081054A (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP6312073B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2015096295A (ja) 画像形成装置、その制御方法及びプログラム。
US9542128B2 (en) Preview image of output data from an output device with user input
JP7336281B2 (ja) 画像形成装置、その制御方法、及びプログラム
JP5030178B2 (ja) 印刷システム、情報処理装置、印刷装置、印刷方法、制御方法およびプログラム
JP2012038076A (ja) 情報処理装置、ジョブ処理システム、ジョブ送信経路制御方法、及びプログラム、並びに記録媒体
JP2015225535A (ja) 情報処理装置、及びこれを用いる認証プリントシステム
JP2020107258A (ja) 情報処理装置、プログラム、画像形成装置、画像形成システム、及び画像形成方法
JP7208026B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP7374625B2 (ja) 印刷システム、および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191224

R151 Written notification of patent or utility model registration

Ref document number: 6639269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151