JP2008310701A - 周辺装置制御システム、情報処理装置、周辺装置制御方法、プログラム、記憶媒体、プリンタ制御装置、プリンタ制御プログラム及びプリンタ制御方法 - Google Patents
周辺装置制御システム、情報処理装置、周辺装置制御方法、プログラム、記憶媒体、プリンタ制御装置、プリンタ制御プログラム及びプリンタ制御方法 Download PDFInfo
- Publication number
- JP2008310701A JP2008310701A JP2007159496A JP2007159496A JP2008310701A JP 2008310701 A JP2008310701 A JP 2008310701A JP 2007159496 A JP2007159496 A JP 2007159496A JP 2007159496 A JP2007159496 A JP 2007159496A JP 2008310701 A JP2008310701 A JP 2008310701A
- Authority
- JP
- Japan
- Prior art keywords
- information
- peripheral device
- notification
- notification information
- page
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1222—Increasing security of the print job
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1207—Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1273—Print job history, e.g. logging, accounting, tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
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)
- Computer Security & Cryptography (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【解決手段】情報処理装置と、周辺装置とから成る周辺装置制御システムであって、前記情報処理装置は、周辺装置から周辺装置に関する周辺装置情報を取得して、周辺装置情報からジョブ情報を生成し、ジョブ情報を通知する。その際に、通知済みの印刷中ページ番号及び印刷済みページ番号と、現在印刷中のページ番号とに基づいて未発行の通知を作成し、発行する。
【選択図】図13
Description
最後に通知した印刷中のページ番号と、最後に通知した印刷済のページ番号とを保存する保存手段と、
プリンタから現在印刷中のページ番号を一定時間ごとに取得する取得手段と、
前記現在印刷中のページ番号と前記最後に通知した印刷中のページ番号とに基づいて、印刷中のページ番号の通知が発行されていないページ、および、印刷済みのページ番号の通知が発行されていないページの存在を判定し、存在する場合には、該当するページごとに印刷中の通知および印刷済みの通知をその順序で発行する発行手段とを備える。
(1)情報処理装置がモニタできない印刷データ量の少ないページの印刷状況に関しても、「ページ開始」通知や「ページ終了」通知等の通知を正しく発行することができる。
(2)オペレータによって印刷ジョブがキャンセルされた時、正常に印刷が開始または終了されているページの「ページ開始」通知や「ページ終了」通知が発行された後に「印刷キャンセル」通知を発行することができる。そのため印刷ジョブに関する通知を正確なタイミングかつ正しい順序で発行することができる。
(3)印刷ジョブに関する通知の内容が正しい通知を発行することができる。
(4)プリンタドライバから発行される印刷ジョブに関する通知が、OS内における処理等の影響を受けて、アプリケーションで受信される際に、発行された順序と異なる順序で受信されるケースにおいても、正しい順序に変換して正確に処理する。こうすることで信頼性の高い周辺装置制御システムを実現することができる。
図1は、本発明に係る情報処理装置及び周辺装置からなる周辺装置制御システムの一実施形態におけるシステムの構成部分を表すブロック図である。同図において、情報処理装置1、2は、一般的なパーソナルコンピュータ(以降、PCと略す場合がある)で構成される。PC1、PC2は図2で後述するようなハードウェアで構成され、OS(Operating System)として米国マイクロソフト社のWindows Vista(登録商標)がインストールされている。PC1とPC2はEthernet(登録商標)で構成されるネットワーク4を介して接続され、互いに双方向通信が可能である。3はプリンタであり、カラーインクジェットプリンタで構成され、本発明における周辺装置の一例としている。プリンタ3はABC社製のKmmnというモデル名とした。尚、本発明における周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等であってもよい。プリンタ3は図3で後述するようなハードウェアで構成され、PC1とUSBインタフェース9を介して接続されており、互いに双方向通信が可能である。図4で後述するランゲージモニタ36、48は、Windows(登録商標)用のダイナミックリンクライブラリで構成される。アプリケーション30、47は、Windows用の実行可能形式のファイル(*.EXE)で構成される。本発明のアプリケーションの一例としては、アプリケーション30、47は図18に示すような課金アプリケーション(Photo Album Creator)である。
(1)PC1内のアプリケーション30からUSBインタフェース9を介してプリンタ3に印刷するローカル印刷システム。このシステムでは、PC1が第1の情報処理装置に相当する。
(2)PC1がサーバ、PC2がクライアントとなるような関係を持ち、PC1はプリンタ3を共有プリンタとしてネットワーク4を介して他の情報処理装置(PC2)から印刷することができるプリントサーバの機能を備えるネットワーク印刷システム。なおこの印刷機能をネットワーク印刷と呼ぶ。ここでサーバは第1の情報処理装置に、クライアントは第2の情報処理装置に相当する。
図2はPCのハードウェア構成の一例を表すブロック図である。PC1、PC2は何れも同図に示すようなハードウェア構成を持つが、ここではPC1を例にして説明する。PC1は、ランダムアクセスメモリ部(RAM1201)、記憶部であるハードディスクドライブ部(HDD1202)、入力部の一例であるキーボード部(KBD1203)、制御部のCPU1204を有する。さらに、表示部の一例である表示用ディスプレイ(LCD1205)、通信制御部の一例であるネットワークボード(NB1207)、以上のPC1の構成要素を互いに接続するバス1206を有する。なお、記憶部は、可搬性CD−ROMまたは内部据付のROMなどであってもよい。図1に示すPC1の各モジュール(LM36)は、HDD1202に記憶され、必要に応じてRAM1201に読み出されてCPU1204により実行される。これにより、CPU1204が、図1に示す各モジュールの機能を実現する。
図3はプリンタのハードウェア構成を表すブロック図である。プリンタ3は同図に示すようなハードウェア構成を持つ。同図において、マイクロプロセッサ等から構成されるCPU15は、プリンタ3の中央処理装置として、ROM16に記憶されているプログラムに従って、RAM17、通信部18、記録部19を制御する。ROM16にはプリンタドライバ50(図4で後述する)の制御に従ってプリンタ3が記録(印刷)処理や、状態をPC1へ伝える処理を行うプログラムが記憶されている。プリンタドライバは、プリンタを制御するプリンタ制御プログラムとも呼ぶことができる。また、CPUによりプリンタ制御プログラムが実行されているコンピュータを、プリンタ制御装置と呼ぶこともできる。RAM17は主にPC1から送られて、それをもとに記録部19によって印刷される印字データが一時的に記憶される。通信部18にはUSBインタフェース9用の接続ポートが含まれており、USBの通信を制御する。記録部19は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させる為のASIC等から構成される電気回路とから構成される。印刷可能なアプリケーション上での印刷操作によって、アプリケーションで開かれているファイルの表示内容(画像データ)が、EMF形式のスプールファイルとしてPC1のHDD1202に一時的に格納される。そしてプリンタドライバ50を介してプリンタ3制御用コマンドを含む印字データに変換された後、USBインタフェース9を介してプリンタ3に送られる。プリンタ3にて受信された印字データは、記録部19によって印字用パルスに変換されて、記録紙上に印刷される。
図4はPC1におけるプリンタドライバの構成を表す図である。同図において、PC1にインストールされているプリンタドライバ50は、複数のモジュール33〜38から構成される。印刷可能なアプリケーション30は、例えば、Windows Vista(登録商標)OSに標準で同梱されているテキストエディタであるNotepad(Notepad.exe)等に相当する。尚、本発明では、アプリケーション30は図18に示すような課金アプリケーション(Photo Album Creator)である。Graphics Device Interface(GDI)31は、Windows Vista(登録商標) OSの一部である。プリンタキュー32は、スプーラ40の一部として構成され、印刷ジョブがキューイングされる。キューイングされた印刷ジョブは、プリンタキューフォルダ(ここでは説明を省略する)に表示される。プリントプロセッサ33は、印刷レイアウトの変更や印刷画像の特殊処理が行われる。グラフィックスドライバ34は、プリンタドライバの画像処理のコアとして、GDI31から送られて来る描画命令をもとに印刷用の画像処理を行い、印刷制御コマンドを作成する。UIモジュール35は、プリンタドライバのユーザインタフェースの提供及び制御を行う。ランゲージモニタ36は、データの通信I/Fとしてデータの送受信を制御する。ポートモニタ37は、ランゲージモニタ36から送られて来るデータを適切なポートに対して送信したり、プリンタ3から送られて来るデータをクラスドライバ38を介して受信したりする処理を行う。クラスドライバ38は、最もポートに近いローレベルのモジュールであり、本発明ではUSBのプリンタクラスのドライバに相当し、ポート(本発明ではUSBポート)を制御する。プリンタドライバ50はプリンタ3の製造元であるABC社製のものである。
図5はジョブ情報(JobInfo)を表す図である。ジョブ情報は、共有情報51に含まれる。ジョブ情報のことを通知情報と呼ぶ場合もある。同図において、ジョブ情報(JobInfo)100は、印刷ジョブに関する通知機能でLM36からアプリケーション30に通知される情報(ジョブ状態通知)を含んでいる。アプリケーション30は、ジョブ情報(通知情報)を受信可能である。印刷ジョブに関する通知機能のバージョン(Ver)101は、LM36からアプリケーション30に通知される情報の整合性を確認する目的等に利用される。ジョブ情報のサイズ(size)102は、バイト単位で表されたジョブ情報100のデータサイズである。通知ID(funcId)103は、印刷ジョブに関する通知の種類(タイミング)を表す。プリンタ名(printer)104は、印刷ジョブが印刷されているプリンタのプリンタ名である。ユーザー名(user)105は、印刷ジョブの所有者を表す。印刷ジョブID(jobId)106は、印刷ジョブに割り当てられた固有のIDである。ドキュメント名(document)107は、印刷ジョブのドキュメント名を表す。印刷中のページ番号(pagePrinting)108は、プリンタで印刷中のページ番号を表す。印刷済のページ番号(pagePrinted)109は、プリンタで印刷が完了しているページ番号を表す。通信モード(commMode)110は、PC1とプリンタ3の通信モードを示し、0は不明、1は片方向通信、2は双方向通信を意味している。キャンセル情報(canceled)111は、印刷ジョブがキャンセル(すなわち中断)されたか否かを示し、0はキャンセル無し、1はキャンセル有りを意味する。本実施形態ではキャンセルされた場合が'1'で表されているが、この例に限られることなく、例えばキャンセルされたページ番号を含むような情報で表してもよい。印刷失敗情報(failedPrint)112は、印刷ジョブが失敗したか否かを示し、0は成功、1は失敗を意味している。本実施形態では失敗した場合が'1'で表されているが、この例に限られることなく、例えば失敗したページ番号を含むような情報で表してもよい。印刷ジョブの失敗の例としては、例えば紙詰まり等が挙げられる。拡張情報(extendedInfo)113は、拡張のために利用される。本実施形態では拡張情報は無いので、拡張情報が無いことを表すNULLが常にセットされている。
図7は印刷ジョブに関する通知機能の前提技術のタイミングチャートである。同図は、図1に示すような周辺装置制御システムのランゲージモニタ(以降、LMと略す場合がある)36における制御を表す。同図において、関数52、53、54、55はスプーラ40のプロセスから生成されたライトスレッドによりコールされる関数の処理を表し、スプーラ40から関数52、53、54、55の順にコールされる。関数52はStartDocPort関数であり、印刷ジョブの開始時にスプーラ40からコールされ、LM36やプリンタ3における印刷開始時の初期化処理等が行われる。関数53、54はWritePort関数であり、グラフィックスドライバ34で生成された印刷制御コマンドがスプーラ40からこの関数によりLM36に渡され、LM36がプリンタ3にその印刷制御コマンドを送信する。関数55はEndDocPort関数であり、印刷ジョブの終了時にスプーラ40からコールされ、LM36やプリンタ3における印刷終了時の初期化処理等が行われる。関数56、57、58、59はReadPort関数であり、LM36がStartDocPort52関数内で生成したリードスレッドの割り込み関数の処理を表す。関数56、57、58、59の順に4秒毎の定期的な割り込みとしてコールされる。共有情報51には、印刷ジョブに関する通知機能で通知するジョブ情報(JobInfo)100や通知の制御の為に使用する情報等が保存されている。共有情報51は、スプーラ40のプロセスから生成されたライトスレッドとLM36により生成されたリードスレッドの複数のスレッドからアクセスされ、これらのスレッドから同一の情報を参照可能である。共有情報は、リードスレッドとライトスレッドのスレッド間で情報の共有を行う情報共有手段により実現されている。ジョブ状態通知60、61、62、63、64、65は印刷ジョブに関する通知であり、それぞれ図6で示す通知の種類の内の何れかに該当する。ジョブ状態通知60は「印刷開始」通知であり、印刷ジョブの開始のタイミングで発行される通知である。ジョブ状態通知61は1ページ目の「ページ開始」通知であり、プリンタ3が印刷ジョブの1ページ目の印刷を開始したタイミングで発行される通知である。ジョブ状態通知62は2ページ目の「ページ終了」通知であり、プリンタ3が印刷ジョブの2ページ目の印刷を終了したタイミングで発行される通知である。ジョブ状態通知63は3ページ目の「ページ開始」通知であり、プリンタ3が印刷ジョブの3ページ目の印刷を開始したタイミングで発行される通知である。ジョブ状態通知64は3ページ目の「ページ終了」通知であり、プリンタ3が印刷ジョブの3ページ目の印刷を終了したタイミングで発行される通知である。ジョブ状態通知65は「印刷完了」通知であり、印刷ジョブの完了のタイミングで発行される通知である。同図では、各通知におけるジョブ情報(JobInfo)100の中から、印刷中のページ番号108、印刷済のページ番号109、キャンセル情報111をピックアップして記載している。同図における印刷ジョブに関する通知では、全ての通知においてキャンセル情報111が'0'である。これは、印刷ジョブがキャンセルされずに印刷が完了したことを表している。
図11は印刷ジョブに関する通知機能のタイミングチャートの一例である。同図は、図1に示すような周辺装置制御システムのLM36における制御を表す。同図において、関数52、53、54、55は、スプーラ40のプロセスから生成されたライトスレッドによりコールされる関数の処理を表し、スプーラ40から関数52、53、54、55の順にコールされる。StartDocPort関数52は、印刷ジョブの開始時にスプーラ40からコールされ、LM36やプリンタ3における印刷開始時の初期化処理等が行われる。WritePort関数53、54により、グラフィックスドライバ34で生成された印刷制御コマンドがスプーラ40からLM36に渡され、LM36がプリンタ3にその印刷制御コマンドを送信する。EndDocPort関数55は、印刷ジョブの終了時にスプーラ40からコールされ、LM36やプリンタ3における印刷終了時の初期化処理等が行われる。リード処理56、57、58、59は、LM36がStartDocPort52関数内で生成したリードスレッドの割り込み関数であるReadPort関数の処理を表し、リード処理56、57、58、59の順に4秒毎の定期的な割り込みとしてコールされる。共有情報51には、印刷ジョブに関する通知機能で通知するジョブ情報(JobInfo)100や通知の制御の為に使用する情報等が保存されている。共有情報51は、スプーラ40のプロセスから生成されたライトスレッドとLM36により生成された複数のリードスレッドからアクセスされ、これらのスレッドから同一の情報を参照可能である。このように、ジョブ情報(通知情報)は、ライトスレッドから通知される第1の通知情報群とリードスレッドから通知される第2の通知情報群に分けられる。
図35はプリンタ3の状態を表すプリンタ状態コマンドの内容を表す図である。プリンタ状態コマンド80は、USBインタフェース9を介してPC1からプリンタ3に発行されるデータ取得要求に対して、プリンタ3から返される。データ取得要求は、ランゲージモニタ36が関数を実行する都度プリンタに対して発行される。プリンタ状態コマンドはプリンタ3の状態を表すコマンドである。このプリンタ状態コマンド80から、プリンタ3の状態情報を取得することができる。プリンタ状態コマンド80に含まれる印刷中のページ情報コマンド81は、プリンタ3で印刷中のページ番号を表す。同図ではプリンタ3で1ページを印刷中の状態を表している。その他の状態を表すコマンド群82には、プリンタ3の様々な状態情報が含まれている。ここでは各コマンドの詳細説明を省略する。
図36は、共有情報51に含まれている情報の詳細を表す前提技術の図である。同図において、ページ番号120は最後に取得した印刷中のページ番号(LastPrintingPage)、ページ番号121は現在印刷中のページ番号(CurrentPrintingPage)である。また、ページ番号122は「ページ開始」通知で通知した(あるいは通知する)印刷中のページ番号(pagePrintingSent)である。共有情報51には、ジョブ情報(JobInfo)100、LastPrintingPage120、CurrentPrintingPage121、pagePrintingSent122が含まれている。
図19はLM36におけるStartDocPort関数の処理を表すフローチャートである。同図に記されている処理は全てLM36における処理である。スプーラ40からこの関数がコールされると(S1901)、リードスレッドを開始し(S1902)、印刷ジョブに関する通知機能用の通知チャネルを初期化する(S1903)。通知チャネルの初期化では、OS内のCreatePrintAsyncNotifyChannel関数をコールして、印刷ジョブに関する通知機能用の通知チャネルを開いて初期設定を行う。通知処理を初期化する(S1904)。通知処理の初期化では、共有情報51の初期化を行う。プリンタ3を初期化し(S1906)、ジョブ情報(JobInfo:通知情報)100を生成する(S1907)。ここがジョブ情報生成あるいは通知情報生成の処理に相当する。ここで、図12、図14の「印刷開始」通知70のジョブ情報(JobInfo)100の内容を表すJobInfo:70の情報をセットする。「印刷開始」通知を発行し(S1908)、この「印刷開始」通知で通知した内容を共有情報51のジョブ情報(JobInfo)100に保存し(S1909)、StartDocPort関数の処理を終了してスプーラ40に戻る(S1910)。
図20はLM36におけるWritePort関数の処理を表す前提技術のフローチャートである。同図に記されている各処理は、全てLM36における処理である。スプーラ40からこの関数がコールされると(S2001)、プリンタ3に印刷制御コマンドを送信し(S2002)、オペレータによる印刷キャンセルオペレーション67の有無を判定する(S2003)。印刷ジョブがキャンセルされた場合(S2004)、ジョブ情報(JobInfo)100をロードする(S2005)。そして、通知ID(funcId)103に「印刷キャンセル」を表す値をセットし(S2006)、キャンセル情報(canceled)111に'1'をセットし(S2007)、「印刷キャンセル」通知を発行する(S2008)。この「印刷キャンセル」通知で通知した内容を共有情報51のジョブ情報(JobInfo)100に保存し(S2009)、WritePort関数の処理を終了してスプーラ40に戻る(S2011)。ステップS2004において印刷ジョブがキャンセルされていない場合、図22に示すページ情報の通知の処理を実行し(S2010)、WritePort関数の処理を終了してスプーラ40に戻る(S2011)。
図21はLM36におけるReadPort関数の処理を表すフローチャートである。同図に記されている各処理は、全てLM36における処理である。スプーラ40からこの関数がコールされると(S2101)、プリンタ状態コマンド80により、プリンタ3からプリンタの状態情報を取得する(S2102)。これはプリンタから印刷中のページ番号を取得する取得手段に相当する。取得した情報の中に印刷中のページ情報コマンド81として含まれている現在印刷中のページ番号をCurrentPrintingPage121に保存する(S2103)。図25に示すページ情報の通知の処理を実行し(S2104)、ReadPort関数の処理を終了してスプーラ40に戻る(S2105)。
図22はLM36におけるページ情報の通知の処理を表す前提技術のフローチャートである。同図に記されている各処理は、全てLM36における処理である。図20のステップS2010または図21のステップS2104が実行されると、この処理がコールされる。ページ情報の通知の処理が開始されると(S2201)、共有情報51からジョブ情報(JobInfo)100をロードし(S2202)、CurrentPrintingPage121をロードする(S2218)。またLastPrintingPage120をロードする(S2203)。CurrentPrintingPage121とLastPrintingPage120の差をPage_diffに代入する(S2204)。Page_diffが0より大きい、すなわち、この例でとり得る値としては1以上の場合(S2205)、通知ID(funcId)103に「ページ終了」を表す値をセットする(S2206)。印刷中のページ番号(pagePrinting)108にCurrentPrintingPage121をセットしり(S2207)。また、印刷済のページ番号(pagePrinted)109にCurrentPrintingPage121から1を引いた値をセットする(S2208)。「ページ終了」通知を発行し(S2209)、この「ページ終了」通知で通知した内容を共有情報51のジョブ情報(JobInfo)100に保存し(S2210)、ページ情報の通知の処理を終了してコール元に戻る(S2217)。ステップS2205においてPage_diffが0以下、すなわち、この例でとり得る値としては0の場合、式1の値を判定する。式1は、(pagePrintingSent122<(印刷済のページ番号(pagePrinted)109+1))かつ(CurrentPrintingPage121=(印刷済のページ番号(pagePrinted)109+1))というものである。式1が真の場合(S2211)、通知ID(funcId)103に「ページ開始」を表す値をセットし(S2212)、印刷中のページ番号(pagePrinting)108にCurrentPrintingPage121をセットする(S2213)。印刷済のページ番号(pagePrinted)109にCurrentPrintingPage121から1を引いた値をセットし(S2214)、「ページ開始」通知を発行する(S2215)。印刷中のページ番号(pagePrinting)108をpagePrintingSent122に保存し(S2216)、ステップS2210に進む。一方ステップS2211において式1が偽の場合、ページ情報の通知の処理を終了してコール元に戻る(S2217)。
図23はLM36におけるEndDocPort関数の処理を表す前提技術のフローチャートである。同図に記されている各処理は、全てLM36における処理である。スプーラ40からこの関数がコールされると(S2301)、リードスレッドを終了し(S2302)、印刷処理を終了し(S2303)、プリンタ3を初期化する(S2304)。そして、ジョブ情報(JobInfo)100をロードし(S2305)、通知ID(funcId)103に「印刷完了」を表す値をセットし(S2306)、「印刷完了」通知を発行し(S2307)、通知処理を初期化する(S2308)。通知処理の初期化では、共有情報51の初期化を行う。OS内のIPrintAsyncNotifyChannel::CloseChannelメソッドにより、印刷ジョブに関する通知機能用の通知チャネルを閉じ(S2309)、EndDocPort関数の処理を終了してスプーラ40に戻る(S2310)。
図24はLM36におけるWritePort関数の処理を表すフローチャートである。同図に記されている各処理は、全てLM36における処理である。スプーラ40からこの関数がコールされると(S2401)、プリンタ3に印刷制御コマンドを送信し(S2402)、オペレータによる印刷キャンセルオペレーション67の有無を判定する(S2403)。印刷ジョブがキャンセルされた場合(S2404)、ジョブ情報(JobInfo)100をロードし(S2405)、キャンセル情報(canceled)111に'1'をセットする(S2406)。この内容を共有情報51のジョブ情報(JobInfo)100に保存し(S2407)、WritePort関数の処理を終了してスプーラ40に戻る(S2408)。一方ステップS2404において印刷ジョブがキャンセルされていない場合、WritePort関数の処理を終了してスプーラ40に戻る(S2408)。
図25はLM36におけるページ情報の通知の処理を表すフローチャートである。同図に記されている各処理は、全てLM36における処理である。図21のステップS2104が実行されると、この処理がコールされる。ページ情報の通知の処理が開始されると(S2501)、共有情報51からジョブ情報(JobInfo)100をロードし(S2502)、pagePrintedSent123をロードする(S2503)。CurrentPrintingPage121とpagePrintedSent123の差をPage_diffに代入する(S2504)。次にPage_diffが0より大きいか否かを判定する(S2505)。Page_diffは、現在印刷中のページ番号と最後に「ページ終了」通知で通知した印刷済みのページ番号との差である。この値が0より大きければ、ページ開始通知で印刷中であることが示されていないページ番号またはページ終了通知で印刷済みであることが通知されていないページ番号が存在する可能性がある。そこで、Page_diffが0より大きければ、すなわち、この実施形態でとり得る値としては1以上の場合、図26に示す「ページ開始」の確認と通知の処理を実行する(S2506)。また図27に示す「ページ終了」の確認と通知の処理を実行する(S2507)。S2506により、最後に「ページ開始」通知を発行したページ番号の次のページ(印刷が開始されたにもかかわらずページ開始通知が発行されていないものに限る)について「ページ開始」通知を発行する。またS2507により、最後に「ページ終了」通知を発行したページ番号の次のページ(印刷済みにもかかわらずページ終了通知が発行されていないものに限る)について「ページ終了」通知を発行する。それらを終えたなら、Page_diffから1を引いた値をPage_diffにセットし(S2508)、ステップS2505に戻る。ステップS2505においてPage_diffが0以下、すなわち、この実施形態でとり得る値としては0の場合、ページ情報の通知の処理を終了してコール元に戻る(S2509)。
図26はLM36における「ページ開始」の確認と通知の処理を表すフローチャートである。同図に記されている各処理は、全てLM36における処理である。図25のステップS2506が実行されると、この処理がコールされる。「ページ開始」の確認と通知の処理が開始されると(S2601)、共有情報51からジョブ情報(JobInfo)100をロードし(S2602)、pagePrintingSent122をロードする(S2603)。pagePrintingSent122とpagePrintedSent123の差をi_pageに代入する(S2604)。pagePrintingSent122は最後に「ページ開始」通知で通知した印刷中のページ番号である。pagePrintedSent123は最後に「ページ終了」通知で通知した印刷済のページ番号である。或るページについて「ページ終了」が発行されると、次に、次のページについて「ページ開始」が発行されるのが通常の順序であるから、i_pageは0または1のいずれかである。i_pageが0であれば、「ページ終了」通知で通知された印刷済のページ番号の次のページについて「ページ開始」を発行する必要がある。
図27はLM36における「ページ終了」の確認と通知の処理を表すフローチャートである。同図に記されている各処理は、全てLM36における処理である。図25のステップS2507が実行されると、この処理がコールされる。「ページ終了」の確認と通知の処理が開始されると(S2701)、共有情報51からジョブ情報(JobInfo)100をロードし(S2702)、Page_diffが1より大きいか判定する(S2703)。Page_diffが1であれば、現在印刷中のページの直前のページの印刷終了通知は発行済みである。そこで、Page_diffが1より大きい、すなわち、この実施形態でとり得る値としては2以上の場合(S2703)、pagePrintingSent122をロードする(S2704)。pagePrintingSent122とpagePrintedSent123の差をi_pageに代入する(S2705)。i_pageの意味は図26と同様である。すなわち、或るページについて「ページ終了」が発行されると、次に、次のページについて「ページ開始」が発行されるのが通常の順序であるから、i_pageは0または1のいずれかである。i_pageが1であれば、「ページ終了」通知で既に通知された印刷済のページ番号の次のページについて「ページ終了」を発行する必要がある。
図28はLM36におけるEndDocPort関数の処理を表すフローチャートである。同図に記されている各処理は、全てLM36における処理である。スプーラ40からこの関数がコールされると(S2801)、リードスレッドを終了し(S2802)、印刷処理を終了し(S2803)、プリンタ3を初期化する(S2804)。そして、ジョブ情報(JobInfo)100をロードし(S2805)、キャンセル情報(canceled)111が'0'であるか否か判定する(S2806)。'0'以外の場合、通知ID(funcId)103に「印刷キャンセル」を表す値をセットする(S2807)。そして「印刷キャンセル」通知を発行し(S2808)、この「印刷キャンセル」通知で通知した内容を共有情報51のジョブ情報(JobInfo)100に保存する(S2809)。ジョブ情報(JobInfo)100をロードし(S2810)、通知ID(funcId)103に「印刷完了」を表す値をセットし(S2811)、「印刷完了」通知を発行し(S2812)、通知処理を初期化する(S2813)。通知処理の初期化では、共有情報51の初期化を行う。OS内のIPrintAsyncNotifyChannel::CloseChannelメソッドにより、印刷ジョブに関する通知機能用の通知チャネルを閉じ(S2814)、EndDocPort関数の処理を終了してスプーラ40に戻る(S2815)。ステップS2806においてキャンセル情報(canceled)111が'0'の場合、ステップS2810に進む。このように、EndDocPort関数内のステップS2808において「印刷キャンセル」通知を発行する。こうすることで、オペレータによって印刷ジョブがキャンセルされた時においても、それまでに印刷が開始または終了している全てのページに関する「ページ開始」通知や「ページ終了」通知を正しい内容で発行することができる。これは本実施形態に係る発明の特徴の一つである。
図29はアプリケーション30におけるメイン処理を表すフローチャートである。同図に記されている各処理は、全てアプリケーション30における処理である。オペレータの操作等によりアプリケーション30が開始されると(S2901)、メインウィンドウ42を表示する(S2902)。OS内のRegisterForPrintAsyncNotifications関数をコールして、印刷ジョブに関する通知機能用の通知チャネルを登録する(S2903)。この通知チャネルの登録により、アプリケーション30が、LM36から発行される印刷ジョブに関する通知を受信することができる。メッセージループを作成する(S2904)。このメッセージループにより、アプリケーション30が、オペレータからのキーボードやマウス操作のイベントメッセージ、OSからのウィンドウやアプリケーション制御に関するイベントメッセージ等のメッセージを受け取る。そして、それぞれのメッセージに対して適切な処理を行うことができる。印刷ジョブに関する通知を受信した場合(S2905)、図30、図34に示す通知に基づく情報の取得と更新を実行する(S2906)。メッセージを受信した場合(S2907)、アプリケーションの終了メッセージの場合(S2908)、OS内のUnRegisterForPrintAsyncNotifications関数をコールする。こうして、印刷ジョブに関する通知機能用の通知チャネルの登録を解除する(S2909)。そしてアプリケーション30を終了する(S2911)。ステップS2908においてアプリケーションの終了メッセージ以外の場合、各メッセージに対応する適切な処理を行い(S2910)、ステップS2905に戻る。尚、ここでは各メッセージに対応する適切な処理の詳細説明を省略する。ステップS2907においてメッセージを受信していない場合、ステップS2905に戻る。ステップS2905において印刷ジョブに関する通知を受信していない場合、ステップS2907に進む。
・プリンタ名(printer)104(S3002)、
・通知ID(funcId)103(S3003)、
・ドキュメント名(document)107(S3004)、
・ユーザー名(user)105(S3005)、
・印刷ジョブID(jobId)106(S3006)、
・印刷中のページ番号(pagePrinting)108(S3007)、
・印刷済のページ番号(pagePrinted)109(S3008)、
・キャンセル情報(canceled)111(S3009)、
・印刷失敗情報(failedPrint)112(S3010)。
の各通知が処理される。これは本実施形態に係る発明の特徴の一つである。
[第2の実施の形態]
第1の実施の形態に記した周辺装置制御システムにおいて、LM36から発行される各通知の発行間隔が短い場合、OS内における処理またはネットワーク4における通信状況等の影響を受ける。そのため、アプリケーション30が受信する通知の順序が、LM36から発行された通知の順序と異なる場合があり、通知の順序の不整合が発生するケースがある。このような通知の順序の不整合の問題を解決する手段の例を以下に記す。
(1)図19のステップS1908、
(2)図26のステップS2611、
(3)図27のステップS2712、
(4)図28のステップS2808、S2812。
・通知ID(funcId)103(S3412)、
・ドキュメント名(document)107(S3413)、
・ユーザー名(user)105(S3414)、
・印刷ジョブID(jobId)106(S3415)、
・印刷中のページ番号(pagePrinting)108(S3416)、
・印刷済のページ番号(pagePrinted)109(S3417)、
・キャンセル情報(canceled)111(S3418)、
・印刷失敗情報(failedPrint)112(S3419)。
第2の実施の形態に記した周辺装置制御システムにおける、前記通知の順序の不整合の問題を解決する手段の他の例を以下に記す。図31はLM36における通知処理を表すフローチャートである。図31に記されている各処理は、全てLM36における処理であり、次に挙げる各通知処理においてこの処理を実行することで、前記通知の順序の不整合の問題を解決することができる。
(1)図19のステップS1908、
(2)図26のステップS2611、
(3)図27のステップS2712、
(4)図28のステップS2808、S2812。
以下に上述した3つの実施形態において実行されるプログラムについて、その構成を説明する。図38に示すメモリマップを参照して、本発明に係る情報処理装置及び周辺装置からなる周辺装置制御システムで読み出し可能なデータ処理プログラムの構成について説明する。
2・・・情報処理装置(PC)
3・・・プリンタ
4・・・ネットワーク
9・・・USBインタフェース
30・・・アプリケーション(課金アプリケーション)
36・・・ランゲージモニタ
40・・・スプーラ
42・・・メインウィンドウ
43・・・プリンタ表示部
44・・・印刷ジョブ情報表示部
45・・・印刷状況表示部
46・・・キャンセルボタン
47・・・アプリケーション(課金アプリケーション)
48・・・ランゲージモニタ
49・・・通知リスト
51・・・共有情報
52・・・StartDocPort関数
53・・・WritePort関数
54・・・WritePort関数
55・・・EndDocPort関数
56・・・ReadPort関数
57・・・ReadPort関数
58・・・ReadPort関数
59・・・ReadPort関数
67・・・印刷キャンセルオペレーション
70・・・「印刷開始」通知
71・・・1ページ目の「ページ開始」通知
72・・・1ページ目の「ページ終了」通知
73・・・2ページ目の「ページ開始」通知
74・・・2ページ目の「ページ終了」通知
75・・・3ページ目の「ページ開始」通知
76・・・3ページ目の「ページ終了」通知
77・・・「印刷完了」通知
78・・・「印刷キャンセル」通知で
81・・・印刷中のページ情報コマンド
100・・・ジョブ情報(JobInfo)
103・・・通知ID(funcId)
104・・・プリンタ名(printer)
105・・・ユーザー名(user)
106・・・印刷ジョブID(jobId)
107・・・ドキュメント名(document)
108・・・印刷中のページ番号(pagePrinting)
109・・・印刷済のページ番号(pagePrinted)
111・・・キャンセル情報(canceled)
112・・・印刷失敗情報(failedPrint)
114・・・タイムスタンプ(time)
115・・・順序を表す情報(order)
120・・・最後に取得した印刷中のページ番号(LastPrintingPage)
121・・・現在印刷中のページ番号(CurrentPrintingPage)
122・・・「ページ開始」で通知した(通知する)印刷中のページ番号(pagePrintingSent)
123・・・「ページ終了」で通知した(通知する)印刷済のページ番号(pagePrintedSent)
130・・・記憶媒体
131・・・ディレクトリ情報管理部
132・・・プログラム格納部
1201・・・RAM
1202・・・HDD
Claims (29)
- 第1の情報処理装置と、周辺装置とから成る周辺装置制御システムであって、
前記第1の情報処理装置は、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知することを特徴とする周辺装置制御システム。 - 第1の情報処理装置と、第2の情報処理装置と、周辺装置とから成る周辺装置制御システムであって、
前記第1の情報処理装置は、前記周辺装置と接続されていて、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を前記第2の情報処理装置に通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知することを特徴とする周辺装置制御システム。 - 前記第1の情報処理装置は前記周辺装置を制御する周辺装置制御手段を備え、
前記周辺装置制御手段は、前記周辺装置情報を取得し、この周辺装置情報から通知情報を生成し、前記通知情報を通知することを特徴とする請求項1または2記載の周辺装置制御システム。 - 前記通知情報は補填された通知情報を含むことを特徴とする請求項1または2記載の周辺装置制御システム。
- 前記周辺装置は印刷装置で構成され、前記通知情報は、前記周辺装置で印刷される印刷物のページ番号を含むことを特徴とする請求項4記載の周辺装置制御システム。
- 前記周辺装置制御手段は、前記周辺装置へのデータの書き込みを制御する書き込みスレッドと、前記周辺装置からのデータの読み出しを制御する読み出しスレッドにより前記周辺装置を制御し、前記書き込みスレッドと前記読み出しスレッド間で情報の共有を行う情報共有手段を備えることを特徴とする請求項3記載の周辺装置制御システム。
- 前記周辺装置制御手段は、前記周辺装置情報と前記情報共有手段で共有される共有情報から、前記通知情報を生成することを特徴とする請求項6記載の周辺装置制御システム。
- 前記周辺装置制御手段は、前記通知情報の種類に応じて、前記共有情報から生成した通知情報の一部を変更して、通知することを特徴とする請求項7記載の周辺装置制御システム。
- 前記通知情報は複数の種類で構成され、前記周辺装置制御手段は、前記通知情報を第1の通知情報群と第2の通知情報群に分け、前記第1の通知情報群に含まれる通知情報を前記書き込みスレッドから通知し、前記第2の通知情報群に含まれる通知情報を前記読み出しスレッドから通知することを特徴とする請求項6記載の周辺装置制御システム。
- 前記通知情報に依存関係を設けることを特徴とする請求項1または2記載の周辺装置制御システム。
- 前記通知手段は、ある通知情報を通知した後、ある時間が経過した後、次の通知情報を通知することを特徴とする請求項1または2記載の周辺装置制御システム。
- 前記通知情報は、時刻を表す時刻情報を含むことを特徴とする請求項1または2記載の周辺装置制御システム。
- 前記通知情報は、通知の順序を表す順序情報を含むことを特徴とする請求項1または2記載の周辺装置制御システム。
- 前記第1の情報処理装置または前記第2の情報処理装置は、前記通知情報を受信可能なアプリケーションを備え、前記アプリケーションは、前記時刻情報に従って通知情報の順序を並び替えることを特徴とする請求項12記載の周辺装置制御システム。
- 前記第1の情報処理装置または前記第2の情報処理装置は、前記通知情報を受信可能なアプリケーションを備え、前記アプリケーションは、前記順序情報に従って通知情報の順序を並び替えることを特徴とする請求項13記載の周辺装置制御システム。
- 第1の情報処理装置であって、
前記第1の情報処理装置は、周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知することを特徴とする情報処理装置。 - 第1の情報処理装置であって、
前記第1の情報処理装置は、周辺装置と接続されていて、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を第2の情報処理装置に通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知することを特徴とする情報処理装置。 - 第1の情報処理装置と、周辺装置とから成る周辺装置制御方法であって、
前記第1の情報処理装置は、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知するステップを備えることを特徴とする周辺装置制御方法。 - 第1の情報処理装置と、第2の情報処理装置と、周辺装置とから成る周辺装置制御方法であって、
前記第1の情報処理装置は、前記周辺装置と接続されていて、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を前記第2の情報処理装置に通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知するステップを備えることを特徴とする周辺装置制御方法。 - 第1の情報処理装置と、周辺装置とから成る周辺装置制御方法を、コンピュータに実行させるためのプログラムであって、
前記第1の情報処理装置は、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知するステップを備えることを特徴とするプログラム。 - 第1の情報処理装置と、第2の情報処理装置と、周辺装置とから成る周辺装置制御方法を、コンピュータに実行させるためのプログラムであって、
前記第1の情報処理装置は、前記周辺装置と接続されていて、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を前記第2の情報処理装置に通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知するステップを備えることを特徴とするプログラム。 - 第1の情報処理装置と、周辺装置とから成る周辺装置制御方法を、コンピュータに実行させるためのプログラムを記憶する記憶媒体であって、
前記第1の情報処理装置は、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知するステップを備えることを特徴とする記憶媒体。 - 第1の情報処理装置と、第2の情報処理装置と、周辺装置とから成る周辺装置制御方法を、コンピュータに実行させるためのプログラムを記憶する記憶媒体であって、
前記第1の情報処理装置は、前記周辺装置と接続されていて、前記周辺装置から前記周辺装置に関する周辺装置情報を取得する取得手段と、前記周辺装置情報から通知情報を生成する通知情報生成手段と、前記通知情報を前記第2の情報処理装置に通知する通知手段を備え、
前記取得手段は、前記周辺装置からある時間間隔で前記周辺装置情報を取得し、ある時刻における第1の周辺装置情報と、別の時刻における第2の周辺装置情報から通知情報を生成し、前記通知情報を通知するステップを備えることを特徴とする記憶媒体。 - 他のプログラムに対して印刷の進捗を通知するプリンタ制御装置であって、
最後に通知した印刷中のページ番号と、最後に通知した印刷済のページ番号とを保存する保存手段と、
プリンタから現在印刷中のページ番号を一定時間ごとに取得する取得手段と、
前記現在印刷中のページ番号と前記最後に通知した印刷中のページ番号とに基づいて、印刷中のページ番号の通知が発行されていないページ、および、印刷済みのページ番号の通知が発行されていないページの存在を判定し、存在する場合には、該当するページごとに印刷中の通知および印刷済みの通知をその順序で発行する発行手段と
を備えることを特徴とするプリンタ制御装置。 - 印刷が中断された場合には、印刷の終了の指示に対して、中断されたことを示す通知を発行する手段をさらに備えることを特徴とする請求項24に記載のプリンタ制御装置。
- 前記発行手段により発行される通知に、タイムスタンプと、発行の順序を示す情報とがさらに含まれることを特徴とする請求項24または25に記載のプリンタ制御装置。
- 前記発行手段は、通知の発行の後、一定時間の待機することを特徴とする請求項24または25に記載のプリンタ制御装置。
- コンピュータにより実行される、他のプログラムに対して印刷の進捗を通知するプリンタ制御プログラムであって、
最後に通知した印刷中のページ番号と、最後に通知した印刷済のページ番号とを保存する保存工程と、
プリンタから現在印刷中のページ番号を一定時間ごとに取得する取得工程と、
前記現在印刷中のページ番号と前記最後に通知した印刷中のページ番号とに基づいて、印刷中のページ番号の通知が発行されていないページ、および、印刷済みのページ番号の通知が発行されていないページの存在を判定し、存在する場合には、該当するページごとに印刷中の通知および印刷済みの通知をその順序で発行する発行工程と
をコンピュータにより実行させることを特徴とするプリンタ制御プログラム。 - 他のプログラムに対して印刷の進捗を通知するプリンタ制御方法であって、
保存手段が、最後に通知した印刷中のページ番号と、最後に通知した印刷済のページ番号とを保存する保存工程と、
取得手段が、プリンタから現在印刷中のページ番号を一定時間ごとに取得する取得工程と、
発行手段が、前記現在印刷中のページ番号と前記最後に通知した印刷中のページ番号とに基づいて、印刷中のページ番号の通知が発行されていないページ、および、印刷済みのページ番号の通知が発行されていないページの存在を判定し、存在する場合には、該当するページごとに印刷中の通知および印刷済みの通知をその順序で発行する発行工程と
をコンピュータにより実行させることを特徴とするプリンタ制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007159496A JP4996362B2 (ja) | 2007-06-15 | 2007-06-15 | 周辺装置制御システム、情報処理装置、周辺装置制御方法、プログラム、記憶媒体、プリンタ制御装置、プリンタ制御プログラム及びプリンタ制御方法 |
US12/139,437 US7941571B2 (en) | 2007-06-15 | 2008-06-13 | Peripheral device control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007159496A JP4996362B2 (ja) | 2007-06-15 | 2007-06-15 | 周辺装置制御システム、情報処理装置、周辺装置制御方法、プログラム、記憶媒体、プリンタ制御装置、プリンタ制御プログラム及びプリンタ制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008310701A true JP2008310701A (ja) | 2008-12-25 |
JP2008310701A5 JP2008310701A5 (ja) | 2010-04-30 |
JP4996362B2 JP4996362B2 (ja) | 2012-08-08 |
Family
ID=40133411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007159496A Active JP4996362B2 (ja) | 2007-06-15 | 2007-06-15 | 周辺装置制御システム、情報処理装置、周辺装置制御方法、プログラム、記憶媒体、プリンタ制御装置、プリンタ制御プログラム及びプリンタ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7941571B2 (ja) |
JP (1) | JP4996362B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5279516B2 (ja) * | 2009-01-09 | 2013-09-04 | キヤノン株式会社 | 情報処理装置、表示制御方法及びプログラム |
JP5479177B2 (ja) * | 2010-03-19 | 2014-04-23 | 株式会社Pfu | 情報処理装置、消耗品管理方法およびプログラム |
JP5630072B2 (ja) * | 2010-05-24 | 2014-11-26 | 富士ゼロックス株式会社 | 印刷管理装置、印刷管理システム及びプログラム |
JP5790143B2 (ja) * | 2011-05-18 | 2015-10-07 | 株式会社リコー | 情報処理装置及びプログラム |
US11474767B1 (en) * | 2014-05-28 | 2022-10-18 | Amazon Technologies, Inc. | Print from web services platform to local printer |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192358A (ja) * | 2002-12-11 | 2004-07-08 | Hitachi East Japan Solutions Ltd | 端末とセンタ側の装置との間で送受信を行うための双方向通信方式および双方向通信のためのプログラム |
JP2004199225A (ja) * | 2002-12-17 | 2004-07-15 | Fuji Xerox Co Ltd | クライアント装置、通知源サーバ装置、イベント通知メッセージ管理方法 |
JP2004220164A (ja) * | 2003-01-10 | 2004-08-05 | Seiko Epson Corp | デバイス稼働制御システム、プリンタ稼働制御システム、プリンタ管理端末及び端末用プログラム、並びにデバイス稼働制御方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020188504A1 (en) * | 2001-06-07 | 2002-12-12 | Whale Margo N. | Monitoring usage of printer consumables to initiate promotional actions |
JP3841023B2 (ja) | 2002-06-07 | 2006-11-01 | ブラザー工業株式会社 | プリンタの状態報知システム及び通知端末装置 |
-
2007
- 2007-06-15 JP JP2007159496A patent/JP4996362B2/ja active Active
-
2008
- 2008-06-13 US US12/139,437 patent/US7941571B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192358A (ja) * | 2002-12-11 | 2004-07-08 | Hitachi East Japan Solutions Ltd | 端末とセンタ側の装置との間で送受信を行うための双方向通信方式および双方向通信のためのプログラム |
JP2004199225A (ja) * | 2002-12-17 | 2004-07-15 | Fuji Xerox Co Ltd | クライアント装置、通知源サーバ装置、イベント通知メッセージ管理方法 |
JP2004220164A (ja) * | 2003-01-10 | 2004-08-05 | Seiko Epson Corp | デバイス稼働制御システム、プリンタ稼働制御システム、プリンタ管理端末及び端末用プログラム、並びにデバイス稼働制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4996362B2 (ja) | 2012-08-08 |
US7941571B2 (en) | 2011-05-10 |
US20080313360A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4996362B2 (ja) | 周辺装置制御システム、情報処理装置、周辺装置制御方法、プログラム、記憶媒体、プリンタ制御装置、プリンタ制御プログラム及びプリンタ制御方法 | |
EP1521171B1 (en) | Device information management system | |
CN100444155C (zh) | 文档处理装置及其控制方法 | |
KR100872955B1 (ko) | 정보 처리 장치, 주변 장치 제어 방법, 및 컴퓨터판독가능한 기억 매체 | |
CN103279310A (zh) | 信息处理装置及信息处理方法 | |
JP5078423B2 (ja) | ワークフロー管理サーバ及び方法 | |
US7746493B2 (en) | Job management apparatus and method of recognizing job completion, and control program used therewith | |
JP2002135508A (ja) | 画像処理装置、画像処理システム、処理分散方法、資源取得方法、作業受託処理方法及び記憶媒体 | |
CN101604229A (zh) | 数据输出设备可处理的输出数据的产生 | |
JP2007018500A (ja) | 情報処理装置及び情報処理方法 | |
US10095960B2 (en) | Printing managing apparatus and computer readable medium storing printing managing program | |
CN102006384A (zh) | 信息处理设备和信息处理方法 | |
JP4795151B2 (ja) | 情報処理方法、情報処理装置、プログラム及び記憶媒体 | |
JP4420053B2 (ja) | 情報管理装置、情報管理方法及びそのプログラム | |
JP2005288879A (ja) | 印刷管理システムおよび印刷管理装置並びにこれらに用いるプログラム | |
JP2008097226A (ja) | 情報処理装置及び情報処理方法 | |
JP2004151994A (ja) | データ処理装置 | |
US8902442B2 (en) | Image forming system and method in which client apparatuses are notified via print server of event generated in image forming apparatus | |
US7623253B1 (en) | Indirect processing of print jobs | |
JP4366042B2 (ja) | ジョブ管理装置、ジョブ管理方法、制御プログラム | |
JP2007004680A (ja) | 印刷制御装置、印刷制御方法および印刷制御プログラム | |
JP2005190407A (ja) | 情報取得処理プログラム、コンピュータ、および情報取得処理システム | |
JP5100798B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2002245007A (ja) | 情報処理装置、ネットワークシステム、情報処理方法、及び記憶媒体 | |
KR100851117B1 (ko) | 정보 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100311 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120313 |
|
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: 20120413 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120511 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4996362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |