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

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

Info

Publication number
JP2010204747A
JP2010204747A JP2009047020A JP2009047020A JP2010204747A JP 2010204747 A JP2010204747 A JP 2010204747A JP 2009047020 A JP2009047020 A JP 2009047020A JP 2009047020 A JP2009047020 A JP 2009047020A JP 2010204747 A JP2010204747 A JP 2010204747A
Authority
JP
Japan
Prior art keywords
job
printer
print job
data transfer
print
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.)
Granted
Application number
JP2009047020A
Other languages
English (en)
Other versions
JP5324257B2 (ja
Inventor
Hideki Honda
秀樹 本田
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 JP2009047020A priority Critical patent/JP5324257B2/ja
Priority to US12/703,127 priority patent/US8749819B2/en
Publication of JP2010204747A publication Critical patent/JP2010204747A/ja
Application granted granted Critical
Publication of JP5324257B2 publication Critical patent/JP5324257B2/ja
Expired - Fee Related 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/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
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted

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)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Power Sources (AREA)

Abstract

【課題】 Eventベースの印刷においても正しい処理順序で印刷終了処理を実行できる情報処理技術を提供する。
【解決手段】 データ転送部が、プリンタからジョブ終了イベントを受信すると、印刷ジョブに関する処理を完了するためのジョブ終了処理を行う。通信制御部が、データ転送部の処理状況を監視し、監視の結果、ジョブ終了処理が完了したと判定した後、ジョブ管理部に印刷ジョブの終了を通知する。
【選択図】図4

Description

本発明は、プリンタとネットワークを介して接続され、プリンタを制御する情報処理技術に関するものである。
従来、印刷システムは、一般的には、カラー出力を可能とするカラープリンタと、そのプリンタを制御し、印刷データを生成するホストコンピュータと、その双方を接続する通信インタフェースとから構成される。ホストコンピュータでは、オペレーティングシステムが動作しており、各種のソフトウェアがこのオペレーティングシステム上で動作する。アプリケーションソフトウェアで作成した各種ドキュメントを印刷する際には、アプリケーションソフトウェア、プリンタドライバ、オペレーティングシステムが規定の手順で関数呼出等を行う。そして、この手順によって、データをやり取りしてプリンタコマンド(印刷データを含む)を生成する。そして、プリンタドライバが、生成されたプリンタコマンドをプリンタへ転送することで印刷が行われる。プリンタドライバの中には、オペレーティングシステムが提供する通信機能を用いてプリンタと双方向通信を行い、プリンタのステータス情報を画面上に表示する機能を有し、ユーザの利便性を高めるものもある。
一般に、オペレーティングシステムの印刷システムは、プリントキューを備え、アプリケーションソフトウェアからの印刷ジョブを一旦スプールし、その後、順次処理する。プリントキューの働きによって、プリンタでの印刷完了を待たずにアプリケーションソフトウェアを印刷処理から開放できる。印刷システムは、スプールされた印刷ジョブを全てプリンタに送信したら印刷を終了する。
プリントキューにスプールされた印刷ジョブを印刷終了後に再度印刷したい場合がある。この場合、例えば、米国マイクロソフト社のWindows Vista(登録商標)では、ユーザがプリントキューのUIで「印刷後ドキュメントを残す」設定をONにすることにより、プリントキューに印刷ジョブを残しておくことができる。
また、印刷をキャンセルする際には、プリントキューからのキャンセルに加えて、プリンタのキャンセルボタンを押下することで印刷をキャンセルできるプリンタもあり、ユーザの利便性を高めるようになっている(特許文献1参照)。
通信インタフェースとしては、USB(Universal Serial Bus)に加えて、近年、Windows Vista(登録商標)では、WSD(Web Services on Devices)が採用されている。WSDによる印刷は、Eventベースで行われ、例えば、プリンタが紙ジャムエラーになった場合は、Eventによりホストコンピュータにその旨が伝えられる。印刷終了時には、プリンタからホストコンピュータへJobEndStateEventが送信され、ホストコンピュータは印刷が何時終了したのかを知ることができる(非特許文献1参照)。
特開2002−200825号公報
印刷およびスキャン用のWeb Services on Devicesの実装(http://www.microsoft.com/japan/whdc/connect/rally/wsdspecs.mspx)
WSDのようなEventベースの印刷の場合、プリンタからホストコンピュータへ送信されるJobEndStateEventにより、オペレーティングシステムのデバイスドライバの1つであるポートモニタが印刷終了処理を行う。
しかしながら、このポートモニタの印刷終了処理とオペレーティングシステムの印刷システムの印刷終了が正しい順番で実行されない場合がある。
例えば、プリントキューのUIで「印刷後ドキュメントを残す」設定をONにしてWSDによる印刷中に、プリンタのキャンセルボタンを押下して印刷をキャンセルした場合、本来プリントキューに残るべき印刷ジョブが削除されてしまうという問題が発生する。
これは、オペレーティングシステムの印刷システムが印刷ジョブの終了処理を完了した後に、プリンタからホストコンピュータへJobEndStateEventが送信されることで、ポートモニタの印刷ジョブ終了処理が発生するからである。つまり、このポートモニタの印刷ジョブ終了処理によって、プリントキューに残っている印刷ジョブがポートモニタによって削除されてしまうためである。
本発明は上記の課題を解決するためになされたものであり、Eventベースの印刷においても正しい処理順序で印刷終了処理を実行できる情報処理技術を提供することを目的とする。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置であって、
前記プリンタとの通信を制御する通信制御手段と、
前記通信制御手段による制御に従って、印刷ジョブを前記プリンタに送信するデータ転送手段と、
前記印刷ジョブを管理するジョブ管理手段とを備え、
前記データ転送手段は、
前記プリンタからジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理手段を有し、
前記通信制御手段は、
前記データ転送手段の処理状況を監視する監視手段と、
前記監視手段による監視の結果、前記ジョブ終了処理が完了したと判定した後、前記ジョブ管理手段に前記印刷ジョブの終了を通知する通知手段とを有する。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置であって、
印刷ジョブを前記プリンタに送信するデータ転送手段と、
前記印刷ジョブを管理するジョブ管理手段とを備え、
前記データ転送手段は、
前記プリンタからのジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理手段と、
前記ジョブ終了処理が完了してから、前記ジョブ管理手段に前記印刷ジョブの終了を通知する通知手段とを有する。
本発明によれば、Eventベースの印刷においても正しい処理順序で印刷終了処理を実行できる情報処理技術を提供できる。
本発明の実施形態1のコンピュータ装置および印刷装置の構成を示すブロック図である。 本発明の実施形態1の図1の情報処理装置に適用可能な印刷システムを示すブロック図である。 本発明の実施形態1の印刷システム上のWSD印刷における印刷終了処理を示す図である。 本発明の実施形態1の印刷システム上のWSD印刷による印刷中にプリンタのキャンセルボタンが押下され印刷をキャンセルした場合の動作を示す図である。 本発明の実施形態1のランゲージモニタ304がポートモニタ305を監視する動作を示すフローチャートである。 本発明の実施形態1のランゲージモニタ304がJobEndStateEventを受信したか否かを判定できない場合の代替処理を示すフローチャートである。 本発明の実施形態1のJobEndStateEventを説明するための図である。 本発明の実施形態1のJobEndStateEventを説明するための図である。 本発明の実施形態1のJobEndStateEventを受信した時にポートモニタ305が実行する終了処理を示すフローチャートである。 本発明の実施形態1のGetActiveJobsオペレーションにより取得できるジョブ情報を説明するための図である。 本発明の実施形態2の図1の情報処理装置に適用可能な印刷システムを示すブロック図である。 本発明の実施形態2の印刷システム上のWSD印刷における印刷終了処理を示す図である。
以下、添付図面を参照して本発明の最適な実施の形態を詳細に説明する。尚、以下の実施形態は、特許請求の範囲に係る本発明を限定するものでなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<実施形態1>
図1は本発明の実施形態1のコンピュータ装置および印刷装置の構成を示すブロック図である。
図1において、100は情報処理装置であり、一般的なPC(パーソナルコンピュータ)で構成される。情報処理装置100には、オペレーティングシステム(OS:Operating System)として、例えば、米国マイクロソフト社のWindows Vista(登録商標)がインストールされている。情報処理装置100は、演算制御用の制御部であるCPU104により制御される。
CPU104は、ランダムアクセスメモリ部(RAM101)を一時記憶部として使用し、記憶部であるハードディスクドライブ部(HDD102)からRAM101にロードされたプログラムに従って情報処理装置100を制御する。入力部の一例であるキーボード部(KBD103)は、データ入力あるいは動作指示に使用される。表示部の一例である表示用ディスプレイ(LCD106)は、データ表示や状態報知に使用される。通信制御部の一例であるネットワークボード(NB105)は、ネットワークを介する通信を行い、ネットワーク(Network109)に接続されている。インタフェース部(I/F部108)は、周辺機器との接続を制御する。
プリンタ201は、インタフェース部(I/F部)202と、RAM203と、ROM204と、CPU205と、エンジン206とを有する。I/F部202は、ネットワーク(Network109)に接続されている。ROM204には、制御プログラム等の各種プログラムが格納されている。CPU205は、ROM204に格納してある制御プログラムに従ってプリンタ201の各種構成要素を制御する。また、RAM203は、CPU205の主メモリとワークメモリとして用いられ、受信したデータを一旦保存するための受信バッファを有する。エンジン206は、RAM203に保存されたデータに基づき印刷を行う。実施形態1における周辺装置であるプリンタ201のエンジン206としては、インクジェット方式を例に説明を行うが、これに限定されることなく、例えば、電子写真方式、熱転写方式等のエンジン(媒体への記録手段)等を適用することもできる。
図2は本発明の実施形態1の図1の情報処理装置に適用可能な印刷システムを示すブロック図である。
情報処理装置100は、上述のオペレーティングシステムに加えて、印刷処理機能を有する任意のアプリケーション301をインストールし、更に、ネットワーク(Network109)を介してプリンタ201を接続する形態が考えられる。アプリケーション301は、OSの印刷コンポーネント302を介して、プリンタ201に対する印刷設定情報を設定することができる。ここで、印刷設定情報とは、プリンタ201においてアプリケーション301が生成したページを印刷する用紙の種類、用紙サイズ、給紙先の給紙口等の印刷するために必要な情報である。
ユーザインタフェースドライバ303は、各種印刷設定情報において設定可能な選択肢の一覧を印刷コンポーネント302を介してアプリケーション301に通知する他、各種印刷設定を設定可能なインタフェースを有する。
アプリケーション301が印刷要求した描画データは、印刷コンポーネント302を経由して印刷ジョブ(印刷データを含む)としてランゲージモニタ304に渡される。ランゲージモニタ304は、印刷ジョブをポートモニタ305に出力する。ポートモニタ305は、渡された印刷ジョブをプリンタ201に送信する。尚、実施形態1では、ポートモニタ305としてWSD印刷用のポートモニタであるWSDMONを想定しているが、これに限定されることはなくさまざまなポートモニタを適用することができる。
尚、ランゲージモニタ304は、プリンタ201と双方向通信を行い、プリンタのステータス情報を取得しつつ、プリンタ201へ印刷ジョブを転送する通信制御部として機能する。また、ポートモニタ305は、ランゲージモニタ304からの印刷ジョブをプリンタ201に送信するデータ転送部として機能する。更に、印刷コンポーネント302は、印刷ジョブを管理するジョブ管理部(後述するSpooler(スプーラ)401に対応)として機能する。
また、実施形態1のポートモニタ305は、プリンタ201からのジョブ終了イベントの受信をきっかけに、処理対象のジョブに関する処理を完了するためのジョブ終了処理を実行するジョブ終了処理部として機能する。また、ランゲージモニタ304は、ポートモニタ305の処理状況(ジョブ終了イベントの受信の有無や、ジョブ終了処理の完了の有無)を監視する監視部として機能する。また、ランゲージモニタ304は、ジョブ終了処理の完了後、ジョブ管理部として機能する印刷コンポーネント302に印刷ジョブの終了を通知する通知部として機能する。
図3は本発明の実施形態1の印刷システム上のWSD印刷における印刷終了処理を示す図である。
Spooler(スプーラ)401は、印刷コンポーネント302の一部である。S405で、Spooler401は、ランゲージモニタ304のエクスポート関数WritePort()を呼び出し、印刷ジョブを送信する。ランゲージモニタ304は、受信した印刷ジョブを、ポートモニタ305のエクスポート関数WritePort()を呼び出し、それを用いて、ポートモニタ305に送信する。ポートモニタ305は、受信した印刷ジョブをプリンタ201に送信する。この処理を、印刷ジョブを全部送信するまで繰り返す。
印刷ジョブを全部送信し終えたら、S406で、Spooler401は、ランゲージモニタ304のエクスポート関数EndDocPort()を呼び出す。ランゲージモニタ304は、確保したメモリの解放等の必要な終了処理を実行し、S407で、ポートモニタ305のエクスポート関数EndDocPort()を呼び出す。
ランゲージモニタ304は、ポートモニタ305のEndDocPort()がリターン後、S408で、ポートモニタ305の終了処理が完了するまで待機する。
一方、S409で、プリンタ201からポートモニタ305に対して、プリンタ201の印刷終了を示すステータス情報としてJobEndStateEventが送信される。S410で、JobEndStateEventを受信したポートモニタ305は、終了処理を実行する。
実施形態1では、ポートモニタ305が、JobEndStateEventを受信することを想定しているが、印刷コンポーネント302が受信して、終了処理の完了をポートモニタ305に指示するようにしてもよい。
ポートモニタ305の終了処理が完了すると、S411で、ランゲージモニタ304は、EndDocPort()をSpooler401に対してリターンし、印刷システムの印刷が完了する。
図4は本発明の実施形態1の印刷システム上のWSD印刷による印刷中にプリンタのキャンセルボタンが押下され印刷をキャンセルした場合の動作を示す図である。
S505で、Spooler401は、ランゲージモニタ304のエクスポート関数WritePort()を呼び出し、印刷ジョブを送信する。ランゲージモニタ304は、受信した印刷ジョブを、ポートモニタ305のエクスポート関数WritePort()を呼び出し、それを用いて、ポートモニタ305に送信する。ポートモニタ305は、受信した印刷ジョブをプリンタ201に送信する。この処理を、印刷ジョブを全部送信するまで繰り返す。
S506で、プリンタ201のキャンセルボタンが押下されると、プリンタ201は、S507で、キャンセルボタン押下を示す情報をランゲージモニタ304に通知する。この通知は、プリンタ201からランゲージモニタ304に対して通知を行ってもよいし、ランゲージモニタ304がポーリングにより定期的にプリンタ201に問い合わせるという方法で実現してもよい。
キャンセルボタン押下を示す通知を受信すると、S508で、ランゲージモニタ304は、Spooler401による印刷ジョブの送信を中止するためにJOB_CONTROL_DELETEというパラメータをセットする。そして、ランゲージモニタ304は、Windows(登録商標)のAPIであるSetJob()を呼び出す。JOB_CONTROL_DELETEパラメータとともにSetJob()が呼び出されると、Spooler401は印刷ジョブの送信を中止して、S509で、ランゲージモニタ304のエクスポート関数EndDocPort()を呼び出す。
ランゲージモニタ304は、確保したメモリの解放や印刷の中止に必要な処理を実行し、S510で、ポートモニタ305のエクスポート関数EndDocPort()を呼び出す。ランゲージモニタ304は、ポートモニタ305のEndDocPort()がリターン後、S511で、ポートモニタ305の終了処理が完了するまで待機する。
一方、S512で、プリンタ201からポートモニタ305に対して、プリンタ201での印刷終了を示すJobEndStateEventが送信される。S513で、JobEndStateEventを受信したポートモニタ305は、終了処理を実行する。
ポートモニタ305の終了処理が完了すると、S514で、ランゲージモニタ304は、EndDocPort()をSpooler401に対してリターンし、印刷のキャンセル処理が完了する。
図5は本発明の実施形態1のランゲージモニタ304がポートモニタ305を監視する動作を示すフローチャートである。
尚、このポートモニタ305を監視する動作(ポートモニタ305の終了処理の完了を見届ける動作)は、図3のS408及び図4のS511の処理に対応する。
ステップS601で、ランゲージモニタ304は、ポートモニタ305を監視し、そのポートモニタ305がプリンタ201からのJobEndStateEventを受信したか否かを判定する。監視の結果、ポートモニタ305がプリンタ201からのJobEndStateEventを受信していない場合(ステップS601でNO)、ポートモニタ305がプリンタ201からのJobEndStateEventを受信するまで待機する。
一方、監視の結果、ポートモニタ305がプリンタ201からのJobEndStateEventを受信した場合(ステップS601でYES)、ステップS602で、ランゲージモニタ304は、一定時間Sleep(スリープ)した後に、処理を終了する。つまり、ランゲージモニタ304は、プリンタ201からのジョブ終了イベント(JobEndStateEvent)をポートモニタ305が受信してから一定期間Sleepすることで、ポートモニタ305における終了処理が完了したと判定する。
尚、この一定時間は、ポートモニタ305が終了処理を実行してから完了するまでの経過時間よりも長い十分な時間である。これにより、ランゲージモニタ304は、この一定時間分、Sleepすることで、ポートモニタ305の終了処理が確実に完了している時点以降で、Spooler401に対して、EndDocPort()をリターンする。換言すれば、ジョブ終了イベント(JobEndStateEvent)をきっかけとするポートモニタ305の終了処理が完了してから、ランゲージモニタ304は、オペレーティングシステムの印刷システムにジョブ終了を通知する。
図5のフローチャートは、ランゲージモニタ304が、ポートモニタ305がJobEndStateEventを受信したか否かを判定できる場合の処理である。ここで、システムの仕様によっては、ポートモニタ305がJobEndStateEventを受信したか否かを判定できない場合がある。その場合は、例えば、図6に示すフローチャートを実行することで、ポートモニタ305がJobEndStateEventを受信したか否かを判定するようにする。
図6は本発明の実施形態1のランゲージモニタ304がJobEndStateEventを受信したか否かを判定できない場合の代替処理を示すフローチャートである。
尚、このフローチャートは、図5のステップS601の処理の代替処理に対応する。
ステップS701で、ランゲージモニタ304は、WSDのコマンドのひとつであるGetActiveJobsオペレーションをプリンタ201に対して実行する。ステップS702で、ランゲージモニタ304は、GetActiveJobsオペレーションでプリンタ201から取得したステータス情報であるJobStateがCompletedになっている否かを判定する。
Completedになっていない場合(ステップS702でNO)、ステップS701に戻り、再度、GetActiveJobsオペレーションを実行する。一方、Completedになっている場合(ステップS702でYES)、ステップS703で、ランゲージモニタ304は、JobEndStateEventを受信したと判定し、処理を終了する。
図7及び図8は本発明の実施形態1のJobEndStateEventを説明するための図である。
JobEndStateEventは、プリンタ201が印刷ジョブの印刷を終了したときに情報処理装置100に対して送信されるイベントであり、印刷ジョブの最終ステータスを表している。JobEndStateEventは、XMLフォーマットで記述されている。
図7では、JobCompletedStateエレメント(701)の値が「Completed」になっており、印刷ジョブが正常に終了したことがわかる。
図8では、JobCompletedStateエレメント(801)の値が「Canceled」になっており、JobStateReasonエレメント(802)の値がJobCanceledAtDeviceとなっている。このことから、印刷ジョブがプリンタのキャンセルボタン押下によってキャンセルされたことがわかる。JobEndStateEventの他のエレメントの説明については、実施形態1との関連が低いので省略する。
図9は本発明の実施形態1のJobEndStateEventを受信した時にポートモニタ305が実行する終了処理を示すフローチャートである。
尚、この終了処理は、図4のS513に対応する。
ステップS1001で、ポートモニタ305は、JobEndStateEventのJobCompletedStateエレメントの値を確認し、その値が「Canceled」であるか否かを判定する。
JobCompletedStateエレメントの値が「Canceled」でない場合(ステップS1001でNO)、ステップS1003に進む。一方、JobCompletedStateエレメントの値が「Canceled」である場合(ステップS1001でYES)、ステップS1002で、ポートモニタ305は、JOB_CONTROL_DELETEパラメータをセットする。そして、ポートモニタ305は、SetJob()を呼び出す。
ステップS1003で、ポートモニタ305は、その他の必要な終了処理を行い、終了する。必要な終了処理の内容は、本実施形態とは関連が低いので省略する。
図10は本発明の実施形態1のGetActiveJobsオペレーションにより取得できるジョブ情報を説明するための図である。
ステータス情報の1つとして得られるジョブ情報は、XML形式で記述され、ジョブに関するサマリー情報が格納されている。JobStateエレメント(1001)は、現在のジョブの状態を表している。JobStateエレメントの値が「Completed」になっていれば、ジョブが終了していることを表す。それ以外にも様々な値が定義されているが本実施形態と関連が低いので説明は省略する。
以上説明したように、実施形態1によれば、ジョブ終了イベントをきっかけとするポートモニタの終了処理が完了してから、オペレーティングシステムの印刷システムにジョブ終了を通知する。そのため、Eventベースの印刷においても正しい処理順序で印刷終了処理を実行できる。
<実施形態2>
実施形態2は、実施形態1の図1及び図2の構成に対して、図11に示すように、特に、図2の構成における、ランゲージモニタ304が存在しない場合の構成について説明する。
尚、実施形態2の図11の構成の場合、ポートモニタ305は、プリンタ201からのジョブ終了イベントの受信をきっかけに、ジョブ終了処理を実行するジョブ終了処理部として機能する。また、ポートモニタ305は、ジョブ終了処理の完了後、ジョブ管理部として機能する印刷コンポーネント302に印刷ジョブの終了を通知する通知部として機能する。
図12は本発明の実施形態2の印刷システム上のWSD印刷における印刷終了処理を示す図である。
S804で、Spooler401は、ポートモニタ305のエクスポート関数WritePort()を呼び出し、印刷ジョブを送信する。ポートモニタ305は、受信した印刷ジョブをプリンタ201に送信する。この処理を、印刷ジョブを全部送信するまで繰り返す。
印刷ジョブを全部送信し終えたら、S805で、Spooler401は、ポートモニタ305のエクスポート関数EndDocPort()を呼び出す。S806で、ポートモニタ305は、プリンタ201からJobEndStateEventが送信されてくるのを待機する。S807で、JobEndStateEventが送信されてきたら、S808で、ポートモニタ305は、図9の終了処理を行う。終了処理が完了したら、S809で、ポートモニタ305は、EndDocPort()をSpooler401に対してリターンし、印刷システムの印刷が完了する。
以上説明したように、実施形態2によれば、ランゲージモニタ304が存在しない場合でも、実施形態1と同様の効果を得ることができる。
尚、本発明は、上記実施形態1及び2と同等の処理を、コンピュータプログラムでも実現できる。この場合、図1及び2をはじめとする構成要素の各々は関数、もしくはCPUが実行するサブルーチンで機能させれば良い。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されており、それを、コンピュータが有する読取装置(CD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇にあることは明らかである。

Claims (8)

  1. プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置であって、
    前記プリンタとの通信を制御する通信制御手段と、
    前記通信制御手段による制御に従って、印刷ジョブを前記プリンタに送信するデータ転送手段と、
    前記印刷ジョブを管理するジョブ管理手段とを備え、
    前記データ転送手段は、
    前記プリンタからジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理手段を有し、
    前記通信制御手段は、
    前記データ転送手段の処理状況を監視する監視手段と、
    前記監視手段による監視の結果、前記ジョブ終了処理が完了したと判定した後、前記ジョブ管理手段に前記印刷ジョブの終了を通知する通知手段とを有する
    ことを特徴とする情報処理装置。
  2. 前記監視手段は、前記プリンタからの前記ジョブ終了イベントを受信してから一定期間Sleepすることで前記ジョブ終了処理が完了したと判定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記監視手段は、前記プリンタからの前記ジョブ終了イベントを前記データ転送手段が受信したか否かを判定できない場合は、前記プリンタに問い合わせを行いステータス情報を取得し、そのステータス情報を参照することで、前記データ転送手段がジョブ終了イベントを受信したか否かを判定する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置であって、
    印刷ジョブを前記プリンタに送信するデータ転送手段と、
    前記印刷ジョブを管理するジョブ管理手段とを備え、
    前記データ転送手段は、
    前記プリンタからのジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理手段と、
    前記ジョブ終了処理が完了してから、前記ジョブ管理手段に前記印刷ジョブの終了を通知する通知手段とを有する
    ことを特徴とする情報処理装置。
  5. プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置の制御方法であって、
    前記プリンタとの通信を制御する通信制御工程と、
    前記通信制御工程による制御に従って、印刷ジョブを前記プリンタに送信するデータ転送工程と、
    前記印刷ジョブを記憶媒体に管理するジョブ管理工程とを備え、
    前記データ転送工程は、
    前記プリンタからジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理工程を有し、
    前記通信制御工程は、
    前記データ転送工程の処理状況を監視する監視工程と、
    前記監視工程による監視の結果、前記ジョブ終了処理が完了したと判定した後、前記ジョブ管理工程に前記印刷ジョブの終了を通知する通知工程とを有する
    ことを特徴とする情報処理装置の制御方法。
  6. プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置の制御方法であって、
    印刷ジョブを前記プリンタに送信するデータ転送工程と、
    前記印刷ジョブを記憶媒体に管理するジョブ管理工程とを備え、
    前記データ転送工程は、
    前記プリンタからのジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理工程と、
    前記ジョブ終了処理が完了してから、前記ジョブ管理工程に前記印刷ジョブの終了を通知する通知工程とを有する
    ことを特徴とする情報処理装置の制御方法。
  7. プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを
    前記プリンタとの通信を制御する通信制御手段と、
    前記通信制御手段による制御に従って、印刷ジョブを前記プリンタに送信するデータ転送手段と、
    前記印刷ジョブを管理するジョブ管理手段として機能させ、
    前記データ転送手段は、
    前記プリンタからジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理手段を有し、
    前記通信制御手段は、
    前記データ転送手段の処理状況を監視する監視手段と、
    前記監視手段による監視の結果、前記ジョブ終了処理が完了したと判定した後、前記ジョブ管理手段に前記印刷ジョブの終了を通知する通知手段とを有する
    ことを特徴とするプログラム。
  8. プリンタとネットワークを介して接続され、前記プリンタを制御する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを
    印刷ジョブを前記プリンタに送信するデータ転送手段と、
    前記印刷ジョブを管理するジョブ管理手段として機能させ、
    前記データ転送手段は、
    前記プリンタからのジョブ終了イベントを受信すると、前記印刷ジョブに関する処理を完了するためのジョブ終了処理を行うジョブ終了処理手段と、
    前記ジョブ終了処理が完了してから、前記ジョブ管理手段に前記印刷ジョブの終了を通知する通知手段とを有する
    ことを特徴とするプログラム。
JP2009047020A 2009-02-27 2009-02-27 情報処理装置及びその制御方法、プログラム Expired - Fee Related JP5324257B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009047020A JP5324257B2 (ja) 2009-02-27 2009-02-27 情報処理装置及びその制御方法、プログラム
US12/703,127 US8749819B2 (en) 2009-02-27 2010-02-09 Information processing for controlling a printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009047020A JP5324257B2 (ja) 2009-02-27 2009-02-27 情報処理装置及びその制御方法、プログラム

Publications (2)

Publication Number Publication Date
JP2010204747A true JP2010204747A (ja) 2010-09-16
JP5324257B2 JP5324257B2 (ja) 2013-10-23

Family

ID=42666945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009047020A Expired - Fee Related JP5324257B2 (ja) 2009-02-27 2009-02-27 情報処理装置及びその制御方法、プログラム

Country Status (2)

Country Link
US (1) US8749819B2 (ja)
JP (1) JP5324257B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012242988A (ja) * 2011-05-18 2012-12-10 Ricoh Co Ltd 情報処理装置及びプログラム
JP2019012306A (ja) * 2017-06-29 2019-01-24 セイコーエプソン株式会社 情報処理装置、印刷装置、プログラム、及び、印刷システム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5728246B2 (ja) 2011-02-21 2015-06-03 キヤノン株式会社 印刷システム、印刷装置およびその制御方法、並びにプログラム
JP5885410B2 (ja) * 2011-06-29 2016-03-15 キヤノン株式会社 プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
KR20140028334A (ko) 2012-08-28 2014-03-10 삼성전자주식회사 인쇄 제어 단말장치, 화상형성장치, 화상형성시스템, 및 그 제어방법
KR102082891B1 (ko) * 2012-10-11 2020-02-28 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 사용자 단말 장치 및 상태 정보 표시 방법
JP6784110B2 (ja) * 2016-09-20 2020-11-11 カシオ計算機株式会社 演算装置、演算印刷方法、及びプログラム
US10936331B2 (en) * 2017-02-23 2021-03-02 International Business Machines Corporation Running a kernel-dependent application in a container

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6371722A (ja) * 1986-09-12 1988-04-01 Fujitsu Ltd プリンタ制御方式
JP2007328574A (ja) * 2006-06-08 2007-12-20 Kyocera Mita Corp 印刷システム及び印刷プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3535837B2 (ja) 2000-07-21 2004-06-07 キヤノン株式会社 印刷装置及び印刷システム及び制御方法及び記憶媒体及びプログラム
US7324220B1 (en) * 2001-07-09 2008-01-29 Lexmark International, Inc. Print performance under the windows® operating system
JP3762394B2 (ja) 2002-08-29 2006-04-05 キヤノン株式会社 情報処理装置、印刷ジョブ処理方法、プログラム、コンピュータ可読の形態で記憶した記憶媒体
JP4827445B2 (ja) * 2005-06-30 2011-11-30 キヤノン株式会社 周辺装置制御システム及びその制御方法及び情報処理装置、並びに、コンピュータプログラム
JP2009075707A (ja) * 2007-09-19 2009-04-09 Canon Inc 情報処理装置、情報処理装置の機器情報管理方法、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6371722A (ja) * 1986-09-12 1988-04-01 Fujitsu Ltd プリンタ制御方式
JP2007328574A (ja) * 2006-06-08 2007-12-20 Kyocera Mita Corp 印刷システム及び印刷プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012242988A (ja) * 2011-05-18 2012-12-10 Ricoh Co Ltd 情報処理装置及びプログラム
JP2019012306A (ja) * 2017-06-29 2019-01-24 セイコーエプソン株式会社 情報処理装置、印刷装置、プログラム、及び、印刷システム

Also Published As

Publication number Publication date
US20100220354A1 (en) 2010-09-02
JP5324257B2 (ja) 2013-10-23
US8749819B2 (en) 2014-06-10

Similar Documents

Publication Publication Date Title
JP5324257B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6604834B2 (ja) 情報処理装置及びその制御方法、プログラム
JP7355147B2 (ja) アプリケーションプログラム
US10579456B2 (en) Program and information processing apparatus
JP2011128794A (ja) 情報処理方法、情報処理装置、及びコンピュータプログラム
JP5245661B2 (ja) 印刷制御装置、プログラム、記録媒体及び印刷制御方法
KR101395488B1 (ko) 화상 처리 장치, 그 제어 방법 및 그 프로그램 저장용 저장 매체
JP6116295B2 (ja) 画像形成装置、画像形成方法及びプログラム
JP2011237901A (ja) プレビュー画面表示制御装置およびプログラム
US10277765B2 (en) Information processing device, control method, and program
JP2014041599A (ja) プログラム、情報処理装置、システム
JP2018073196A (ja) 情報処理装置、制御方法およびプログラム
JP2014046457A (ja) 機器、制御方法、及びプログラム
JP6639617B2 (ja) 印刷装置、制御方法及びプログラム
US9183476B2 (en) Print management apparatus, image forming system, and non-transitory computer readable medium
JP2010277257A (ja) 印刷装置を起動させるためのプログラム
JP4172363B2 (ja) 印刷システム
JP6602053B2 (ja) 情報処理装置、制御方法及びプログラム
JP2012236312A (ja) 画像形成装置及びその制御方法
JP6433529B2 (ja) 印刷装置、制御方法及びプログラム
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
JP2015179334A (ja) 情報処理装置、印刷装置、及び情報処理方法
JP5200668B2 (ja) 画像形成装置、印刷制御方法、印刷制御プログラム、及びそのプログラムを記録した記録媒体
JP2015125506A (ja) 印刷制御装置、情報処理方法、プログラム
JP2020049950A (ja) 画像形成装置、画像形成方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130523

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: 20130621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130718

LAPS Cancellation because of no payment of annual fees