JPH11242575A - 情報処理装置、情報処理方法、及び、記憶媒体 - Google Patents

情報処理装置、情報処理方法、及び、記憶媒体

Info

Publication number
JPH11242575A
JPH11242575A JP10043474A JP4347498A JPH11242575A JP H11242575 A JPH11242575 A JP H11242575A JP 10043474 A JP10043474 A JP 10043474A JP 4347498 A JP4347498 A JP 4347498A JP H11242575 A JPH11242575 A JP H11242575A
Authority
JP
Japan
Prior art keywords
printer
print data
printers
information processing
spooler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10043474A
Other languages
English (en)
Inventor
Naoki Shimada
直樹 島田
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 JP10043474A priority Critical patent/JPH11242575A/ja
Publication of JPH11242575A publication Critical patent/JPH11242575A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 複数のプリンタを用いて高速に印刷を完了さ
せることができる情報処理装置、情報処理方法、及び、
記憶媒体を提供すること。 【解決手段】 複数のプリンタの内、最も早く印刷の終
了すると判断されるプリンタを選択し、選択されたプリ
ンタに印刷データを転送することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプリンタを
利用して印刷を行わせる情報処理装置、情報処理方法、
及び、記憶媒体に関する。
【0002】
【従来の技術】近年インクジェット方式を採用したプリ
ンタが数種類見かけられるようになってきた。これらの
プリンタは比較的安価ながら、写真に近いレベルのカラ
ー印刷を行う事が可能であり、誰にでも簡単に訴求力の
高いドキュメントの作成が可能となった。
【0003】ただしこれらインクジェット方式のカラー
プリンタは、カラーレーザープビームプリンタと比べ
て、印刷速度に関して10分の1以下でしかない。
【0004】これはこれらインクジェット型プリンタが
所謂シリアル型と呼ばれるプリンタであるためである。
このシリアル型プリンタは、印刷ヘッドが左右方向に走
査を行いながら縦方向の一定幅に対してインクを吐出し
て印刷を行う。一度の左右方向の走査を行った後、印刷
用紙を一定量縦方向へフィードして、さらに左右方向の
走査を行う。これを印刷用紙一ページ分繰り返す事で、
印刷を終了させる。
【0005】一方レーザービームプリンタはページプリ
ンタと呼ばれ、一度に一ページ分に印刷を行う事が可能
である。したがってインクジェットプリンタと比べて、
圧倒的に短時間で印刷を完了できる。
【0006】しかしながら価格という点について考えた
場合、カラーレーザープリンタはカラーインクジェット
プリンタと比較して、30倍以上の高価な物であり、誰で
も気軽に使用することは不可能である。また消耗品を比
較した場合にも、10倍以上の価格差である。
【0007】
【発明が解決しようとする課題】このようにインクジェ
ットプリンタは安価でありながら、印刷速度が遅いとい
う問題がある点は否定できない。また、レーザービーム
プリンタにしても1台のプリンタでは印刷速度に限界が
ある。
【0008】上記課題を解決するために本発明の目的
は、複数のプリンタを用いて高速に印刷を完了させるこ
とができる情報処理装置、情報処理方法、及び、記憶媒
体を提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明の情報処理装置は、複数のプリンタの内、最
も早く印刷の終了すると判断されるプリンタを選択する
選択手段と、前記選択手段により選択されたプリンタに
印刷データを転送する転送手段とを有することを特徴と
する。
【0010】また、本発明の情報処理方法は、複数のプ
リンタの内、最も早く印刷の終了すると判断されるプリ
ンタを選択する選択ステップと、前記選択ステップによ
り選択されたプリンタに印刷データを転送する転送ステ
ップとを有することを特徴とする。
【0011】また、本発明の記憶媒体は、複数のプリン
タの内、最も早く印刷の終了すると判断されるプリンタ
を選択する選択ステップと、前記選択ステップにより選
択されたプリンタに印刷データを転送する転送ステップ
とを有するプログラムを記憶することを特徴とする。
【0012】
【発明の実施の形態】以下に図面を参照しながら本発明
の実施の形態について説明を行う。
【0013】図1は本発明を実施したインクジェットに
よる印刷機構を有するプリンタ100の正面外観図であ
る。1は電源スイッチ、2は紙無しエラー等の発生した
障害から復帰するためのリセットスイッチである。3は
電源投入時に緑色に点灯し、エラーが発生した時にはオ
レンジ色に点灯するLEDである。印刷データ受信時およ
び印刷時には点滅して、動作の違いをしらしめる。
【0014】図2はその背面図である。4はUSB(Univers
al Serial Bus)のAタイプコネクタの接続部であり5はB
タイプコネクタの接続部である。6はセントロニクスタ
イプのコネクタである。尚、USBの規格に関しては、本
発明の趣旨とは直接関係が無いので詳細な説明は省く。
USBの規格にはUniversal Serial Bus Specification ve
rsion 1.0 (January 19, 1996)に詳しく書かれている。
またセントロニクスタイプのインターフェース部はIEEE
1284に準拠している。同様にIEEE 1284規格自体は、本
発明とは直接的な関係が無いので、詳細な説明は省略す
る。
【0015】図3はUSBケーブルの外観図である。7はA
タイプのコネクタであり8はBタイプのコネクタであ
る。
【0016】図3のUSBケーブルを用いて図1のプリンタ
を図4のパーソナルコンピュータ200へ接続する。図
4はパーソナルコンピュータの背面図である。図4の9は
USBのAタイプのコネクタが上下二段に実装されている例
である。図3の7を図4の9の片方へ接続し、図3の8を
図2の5へ接続する。同様に図2の4へ別なUSBケーブ
ルのAタイプコネクタを接続し、同じケーブルのBタイプ
コネクタを、同じ形式の別のプリンタへ接続する事も可
能である。その様子を図5に示す。図5において10はU
SB接続を示す。図5に示すように、USBは一台のパーソ
ナルコンピュータに、複数のプリンタをカスケード接続
する事が可能である。カスケード接続されたそれぞれの
プリンタは、プリンタ同士影響すること無く、全く独立
して動作することが可能である。接続できるプリンタの
台数は、最大4台までである。
【0017】この図1のプリンタは印刷用カートリッジ
を交換することが可能である。そのために、印刷する内
容や目的に合わせた最適なカートリッジをプリンタに装
着して印刷を行う事が可能である。図6は図1のプリン
タに装着可能であるところの印刷カートリッジ各種であ
る。
【0018】図6の13はシアン、マゼンタ、イエロー、
と黒の4色から構成される印刷カートリッジである。一
般的なカラー印刷に用いると、最適な結果を得ることが
できる物である。本発明を実施した図1のプリンタは、
このカートリッジを脱着することが可能である。その方
法は図7に示されている。
【0019】図7の14はカートリッジ交換スイッチであ
る。このスイッチを押す事により、カートリッジがキャ
リッジ中央へ移動しカートリッジの交換を容易にする。
図7の15はカートリッジを取り外す場合を示している図
である。図7の16はカートリッジを装着している図であ
り、図7の17はカートリッジを装着する状態を拡大して
図示したものである。
【0020】図8は本発明を実施した図1のプリンタ10
0のブロック図である。図8の18は図1の1に相当する
電源スイッチである。図8の19は図7の14に相当するカー
トリッジ交換スイッチである。図8の20は図1の2に相当
するリセットスイッチである。図8の21は電源投入時に
緑色に点灯するLEDであり、図1の3に相当する。図8の22
はエラー発生時にオレンジ色に点灯するLEDで、同じく
図1の3に相当する。このLEDは単体で緑色とオレンジ色
の2色に点灯する事が可能である。図8の23は図8の18電
源スイッチの操作を図8の30であるMPUへ伝達する信号線
である。この信号は図8の26の割込み信号として図8の30
であるMPUへ伝達されるため、30のMPUにおいて、優先的
に処理される。図8の25は図8の27であるプリンタ制御ゲ
ートアレー、30のMPU、29のROMを接続するアドレスバス
とデータバスである。29のROMはMPUの動作、処理を記述
したプログラムが記録されている。図8の27はプリンタ
制御ゲートアレーであり、スイッチ、LED、インターフ
ェース、メモリなどの制御機能を有する。図8の28は図8
の30であるMPUが処理を行う場合にデータ等を一時的に
記憶する記憶領域を提供するRAMである。図8の31は図8
の32及び33であるステップモータの制御を行う信号を伝
達する信号線である。32はインクカートリッジの支持体
である図7の103であるキャリッジを、図1正面方向から
見て左右に移動させるキャリッジモータである。33は印
刷用紙をフィードするフィードモータである。印刷用紙
は図1の100である印刷用紙トレーに収容され、プリンタ
内部を通過して101の印刷用紙受けに排出される。この
印刷用紙の移動を行うのが33のフィードモータである。
図8の35は図6に示されているインクカートリッジであ
る。このインクカートリッジは、インク自体とそれを吐
出するヘッドが一体となった構造である。またインクカ
ートリッジ自体の種別を示すIDも記録している。図8の3
4は、35のインクカートリッジにあるヘッドの制御及びI
Dの読み出しを行う制御線である。
【0021】図8の36は一般の家庭に提供されている商
用電源である。図8の37はこの商用電源を図8の38である
直流5ボルトと39の直流24ボルトへ変換するACアダプタ
ーである。38は30のMPU等の電子部品が動作する為に使
用され、24ボルトは32などのモータ及び35のインクカー
トリッジにあるヘッドを駆動する為に使用される。
【0022】図8の40は44のインターフェースコント
ローラのと25のプリンタ制御ゲートアレーとを接続する
インターフェースコントロール信号である。これはイン
ターフェースの動作モードを27プリンタ制御ゲートアレ
ーが検出する為に用いられる。41はインターフェースゲ
ートアレーである44がPCから受信したデータを27へ送る
データバスである。この44インターフェースコントロー
ラは、46のセントロニクスコネクタからのデータと55の
USB MPUからのデータの切り替えを行う物である。この
切り替えは42のアナログスイッチで行う。44インターフ
ェースコントローラは常に55USB MPUからのデータを優
先する様に設計されている。即ちセントロニクスインタ
ーフェースである46と51のUSB Bタイプコネクタの両方
に印刷データが送られてきた場合には、常にUBS側を優
先し、セントロニクス側からのデータは受信しない。
【0023】この切り替えは、43のセントロニクスイン
ターフェースからの信号線と47の信号線のステータスを
用いて行われる。45はセントロニクスインターフェース
からのデータ信号である。48は55のUSBインターフェー
スを制御するUSB MPUのプログラムが記憶されているフ
ラッシュメモリーである。既に述べたようにUSBにはAタ
イプとBタイプのコネクタがあり、PCもしくは上流の機
器には52 Bタイプコネクタが接続される。また下流の機
器には51 Aタイプのコネクタから接続される。53と5
4はそれぞれ51のAタイプコネクタと52のBタイプコネク
タへの信号線である。
【0024】図9は、本発明の実施の形態のパーソナル
コンピュータ200のハードウエア構成を示すブロック
図である。
【0025】図9において、201はCPU、即ち中央
処理装置であり、このコンピュータ装置全体の制御及び
演算処理等を行なうものである。202はROM即ち読
み出し専用メモリであり、システム起動プログラムの情
報等の記憶領域である。203はRAM即ちランダムア
クセスメモリであり、使用制限のないデータ記憶領域で
あり、オペレーティングシステム,アプリケーション、
デバイスドライバおよび通信制御などのプログラムがロ
ードされ、実行される領域である。204はキーボード
部であり、データを入力するためのキーボード、マウス
等により構成される。205はCRT部であり、CRT
等のディスプレイとディスプレイへの表示の制御を表示
制御部から構成される。206はHD部であり、後述す
るフローチャートにかかわるプリンタドライバプログラ
ム等のプログラム及びフォント等の各種データを記憶、
格納するハードディスクとハードディスクを制御するデ
ィスク制御部から構成され、実行時に必要に応じて参照
又はRAMへロードする。207はインターフェース部
であり、本実施の形態ではUSBによりプリンタ等の外
部装置との通信制御を行なうものである。208はシス
テムバスであり、上述の構成要素間のデータの通路とな
るべきものである。
【0026】次にパーソナルコンピュータ200上のプ
リンタドライバを実行するオペレーティングシステム
(以下OSと表記する)マイクロソフト社のWindows 95の印
刷メカニズムに付いて簡単に説明を行う。図10の56は
アプリケーションであり、ユーザーはこの56アプリケー
ションでドキュメントの編集等の作業を行う。ユーザは
56のアプリケーションに対して、作成したドキュメント
の印刷指示を行う。印刷の指示は印刷を行うプリンタを
アプリケーションから指定して行う。指示をする画面の
様子を図11に示す。使用するプリンタ名称が図11の76に
示されている。
【0027】プリンタを指定する事で、OSの描画プロせ
ずであるGDI(図10の57)に対して、プリンタの特性に
関する情報を渡す。具体的にはカラー印刷が可能である
か、印刷に用いる用紙のサイズなどである。57のGDIは
これらの情報を元にして、ドキュメントの描画を行う。
57のGDIが描画を行なった結果は、OS固有のフォーマッ
トであり、このフォーマットは印刷用のみならずCRTモ
ニタ等への表示の為にも用いる事が可能である。
【0028】この57 GDIの出力結果を59のプリンタドラ
イバへ入力する。このプリンタドライバは、使用するプ
リンタの機種それぞれに固有であり、通常プリンタメー
カが提供するものであり、OSベンダは提供しない。この
59 プリンタドライバは57 GDIからの出力を、プリンタ
が使用するインクの特性に最適となるように変換を加
え、さらにそれらをプリンタへ送り出す印刷データを作
成する。
【0029】ここから印刷の方法によって処理が二つに
分かれる。一つは図10の60である第1のスプーラーを
経由する方法であり、もう一つは経由しない方法であ
る。
【0030】先ず経由しない方法について説明を行う。
59プリンタドライバが作成した印刷データは62のGDI 32
へ渡される。62のGDI32はスプーラプロセスと59のプリ
ンタドライバのインターフェース的なモジュールであ
る。これは59のプリンタドライバが16bitアプリケーシ
ョンであり、63のスプーラプロセスが32bitアプリケー
ションである為である。通常16bitアプリケーションは3
2bitアプリケーションと直接呼び出す事ができない。そ
のため16bitアプリケーション用から呼び出される部分
と、32bitアプリケーションから呼び出される部分の両
方を持つ62のGDI 32が必要となる。
【0031】62のGDI32を経由して63のスプーラプロセ
スを送られた印刷データは65の第2のスプーラへ一旦記
録される。印刷データのスプールが終了した後、63のス
プールプロセスは65の第2のスプーラから印刷データを
読み出して、それを69のLanguage モニタへ送る。この6
9 Languageモニタは、プリンタのステータス、例えば印
刷用紙が無くなった場合等の原因で印刷データが受信で
きない状態等、を検出して必要に応じてユーザーに対し
て通知したり、印刷データのプリンタへの送出を開始・
停止を制御するゲートの役割も持つ。
【0032】本発明を実施したプリンタはUSBをそのイ
ンターフェースとしているため、69のLanguageモニタは
PCのUSBポートへ印刷データを送り出す。ポート自体は
ハードウエアであるため、ポートを直接制御するモジュ
ールは、プリンタドライバが実行されるRing 3では無く
て、特権モードといわれるRing 0で実行される。Ring3
側のアプリやモジュールはRing 0側のモジュールに直接
アクセスする事はできないので、ハードウエアであると
ころの75 USBポートをRing 3にあるモジュールに対して
仮想化しているのが70のUSBポートモニタである。Ring
3側のモジュールは、この70のUSBポートモニタへアクセ
スる事で、直接ハードウエアをアクセスしているのと同
等の結果を得る事ができる。70のUSBポートモニタは71
のOSが提供するWIN32 APIへアクセスする。このモジュ
ールはRing 3とRing 0の橋渡しをするモジュールであ
る。
【0033】USBのハードウエアである75のデバイスド
ライバはOSベンダから提供される。74のUSB共通ドライ
バは、USBのハードウエアを直接制御するモジュールで
ある。74 USB共通ドライバの提供する機能を統合して、
プリンタ向けの機能を提供しているのが、72のUSB プリ
ンタドライバである。72のUSBプリンタドライバは、71
のWIN31 API経由で送られてきた印刷データを74のUSB共
通ドライバへ送り出す事とで、最終的にはプリンタへ印
刷データが到着して、プリンタにて印刷が行われる。
【0034】次に60の第1のスプーラを経由した方法の
印刷方法に付いて説明を行う。
【0035】この第1のスプーラを経由する印刷方法
は、図12の77であるバックグランド印刷を選択した場合
である。60の第1のスプーラを経由する事で、アプリケ
ーションにおける印刷作業は、前述の第1のスプーラを
経由しない場合よりも早く終了する。
【0036】尚図12の画面の表示方法であるが、図11
の761プロパティーボタンがマウスにより押され印刷制
御86が選択されると図12が表示される。
【0037】59のプリンタドライバは作成した印刷デー
タを60の第1のスプーラへ送る。次にマルチプリンタ印
刷モードが設定されていない場合、即ち図12の78にチェ
ックマークが無い場合には、61のバックグランダは、ス
プールされた印刷データは63のスプールプロセスに送
る。そして図11の76で指定されたプリンタに印刷デ
ータを送り印刷させる。以下は既に述べたプロセスと同
じである。
【0038】一方、78のマルチプリンタ印刷が設定され
ている場合には、61のバックグランダは60の第1のスプ
ーラから印刷データを読み出して、66のマルチプリンタ
コントローラへ送る。このマルチプリンタコントローラ
は印刷データを複数のプリンタへ振り分けて印刷を行う
為に、印刷データを使用可能なプリンタの台数に合せて
ページ単位で分割する作業を行う。分割された印刷デー
タは、それぞれ割り当てられたプリンタ毎に作成される
68のUSB出力タスクへ送られる。例えば使用可能なプリ
ンタが4台ある場合には、この68のUSB出力タスクは4
タスク作成される。
【0039】一方63のスプーラプロセスはプリンタが接
続されているポート単位に作成される。例えば4台のプ
リンタがそれぞれUSBPRN01、USBPRN02、USBPRN03, USBP
RN04へ接続されている場合には、スプーラプロセスもポ
ート毎に4つ作成される。これらUSBPRIN01等のポート名
称は、図5のようにカスケード接続されたプリンタを区
別するために、便宜的に付けた名称であり、実際のUSB
インターフェースは一つだけである。OSにおけるプリン
タの管理方法は、ポート毎にプリンタが一台接続される
方法であるため、印刷データの送り先としてOSレベルで
プリンタを識別する方法は、ポート名称を用いて行う。
【0040】68 USB出力タスクは、分割した印刷データ
をポート毎に作成された63スプーラプロセスへ送る。以
下の処理は前述の処理と同様である。
【0041】図10では4台のプリンタを接続して印刷
を行う場合を示している。
【0042】既に説明したように、図10は65に相当す
る第2のスプーラであるが、プリンタ毎に4つ作成され
る。また63のスプーラプロセスも3つ作成される。同様
にプリンタのステータスに応じた処理を行う69のLangua
geモニタも4つ作成される。
【0043】ただし既に述べたようにUSBとしてのイン
ターフェースの実体は一つだけなので、USBに関連した
ドライバなどのモジュールは接続するプリンタの台数に
かかわらず、一つだけである。
【0044】さて、次に66のマルチプリンタコントロー
ラが使用可能なプリンタを判定する方法に付いて説明を
行う。53はInformation Centerであり、その役割は接続
されたプリンタに関する情報を収集することである。収
集する情報は第2のスプーラに記憶されている印刷デー
タのサイズと、接続されたプリンタの動作状況(印刷用
紙切れ等の印刷の障害となる事態が発生していないかど
うか)である。
【0045】ドキュメントの印刷を行う場合に、ユーザ
は図14の84の部分からドキュメントの特徴に合った項目
を選択する。これらの項目を選択することで、59のプリ
ンタドライバは対応した情報を持つ印刷データを作成す
る。例えばカラー画像を写真と同じ画質で印刷を行う場
合には、84のスーパーフォトを選択し、通常の文書を印
刷する場合には84の左端である文書を選択することで、
それぞれの目的に合った印刷データが作成される。
【0046】複数のプリンタが接続されているPCで実行
されているアプリケーションから、編集した複数ページ
や複数部数のドキュメントや画像を、できるだけ短時間
で印刷完了するためには、全てのプリンタの印刷を行っ
ている時間を出来るだけ同じにしなければならない。さ
もなければ、一部のプリンタだけが印刷動作を行ってい
るにもかかわらず、ほかのプリンタが印刷を完了してし
まい、何も動作していない状態が発生してしまう。この
様な状態が発生する理由としては、プリンタは印刷用紙
単位が一回の印刷動作の区切りとなるからである。例え
ば印刷用紙がA4である場合、一回の印刷動作はA4の印刷
用紙を給紙し、印刷を行い、排紙する一連の動作が一回
の印刷動作単位となる。当然のことであるが、一枚のA4
用紙に印刷しなければならない印刷データを、複数のプ
リンタへ分割して印刷することは出来ない。そのため、
印刷データの内容によっては、夫々のプリンタが印刷し
た枚数は同じであっても、特定のプリンタに印刷時間が
より必要な印刷データが集中してしまう自体が発生す
る。この場合は、印刷する枚数が接続されたプリンタ間
で同じにならないように、印刷データの配分を変えるほ
うが、印刷が完了するまでの時間を短くする事ができ
る。この点について図11を用いて説明を行う。ここでは
説明を簡略化するために、まったく同じ条件のプリンタ
が3台PCに接続されている場合で説明を行う。
【0047】印刷するデータは図13の(1)に示す通り4
ページから構成されているとする。P1, P2, P3, P4はそ
れぞれページ番号を示す。またページ番号の右隣の数値
は夫々のページが59のプリンタドライバによって印刷デ
ータへ変換された場合の、その印刷データのサイズを示
している。今この4ページの文書をプリンタ1、プリン
タ2、プリンタ3へ配分する。(1)は印刷するページを
プリンタ1から順番に配分した例を示している。この配
分方は機械的にページを割り振る方法であるが、プリン
タ1、プリンタ2、プリンタ3がまったく同じプリンタ
である場合、全てのページの印刷を完了するまでの所要
時間を(3)のαとする。一方(4)では印刷の進捗状況を
考慮に入れた配分方を行った結果を示している。ここで
は1順目の配分では、先行して印刷を行っていないた
め、機械的にプリンタ1から順番に印刷すべきページの
配分を行った。2順目の配分であるP4の割り振りにの場
合、既に割り振られた印刷データのサイズを確認し、最
も少ないプリンタ3に割り振ったものである。この結果
の印刷完了までの時間は(5)のβに示す。この(3)と(5)
の比較から明らかな通り、印刷開始から完了までの時間
はαよりもβが短い。
【0048】以上説明した通り、印刷データの配分を行
う際に、配分を行う時点で夫々のプリンタに配分済みの
データのサイズを確認することで、より印刷時間の短縮
を実現できる。
【0049】そのために、66のマルチプリンタコントロ
ーラは、印刷データを複数のプリンタへ分配作業を行う
前に、先ず58のInformation Centerから、それぞれのプ
リンタに配分された印刷データのサイズを取得する。具
体的には、63のスプーラプロセスより65の第2のスプー
ラに記憶されている印刷データのサイズを取得する。66
のマルチプリンタコントローラは、取得したサイズを比
較し、最も小さい値を持つプリンタへ次の印刷データを
送り出す。このデータも同様に第2のスプーラへ記憶さ
れ、次の印刷データの配分先を決める際には、その判断
要因の一つとなる。
【0050】プリンタドライバが直接63スプーラから
前述の印刷データのサイズを取得しない理由は、既に述
べた通りプリンタドライバは16ビットのアプリケーシ
ョンであり、32ビットのアプリケーションである63
スプーラに対して、直接アクセスすることが困難である
ことによる。一方58Information Cen
terは16ビットのアプリケーションからも32ビッ
トのアプリケーションからも、直接アクセス可能な特殊
な構造をしている。そのためプリンタドライバから直接
アクセスして、必要な情報を取得することが可能である
ばかりでは無く、32ビットのアプリケーションに直接
アクセスを行なう事も可能である。
【0051】この様な構造を採用することで、プリンタ
ドライバの構造をより簡単にすることができ、ひいては
安定性の向上にも繋がる物である。
【0052】この66のマルチプリンタコントローラの部
分における処理を図14のフローチャートを用いて説明を
行う。
【0053】発明の実施の形態では接続可能なプリンタ
の最台数を4台までとする。以下に示すのは、それぞれ
のプリンタに関する情報を記憶するための、プリンタ情
報構造体である。
【0054】プリンタ情報構造体は以下のように表され
る。 構造体のメンバー名であるPortNumberは、USBPRN01, US
BPRN02などの便宜的につけたポート名の1または2などの
番号を示す数値が記憶される。Byteには夫々のプリンタ
に割り振られた印刷データの内、65の第2のスプーラに
記憶されているデータのバイト数を示す数値が記憶され
る。
【0055】この構造体を用いて、 PRINTER_INFO Prt
Info〔4〕と言うようにプリンタ4台分の領域を確保す
る。この確保された領域の開始アドレス(&PrtInfo)を入
力パラメータとしてInformation Centerを実行すると、
仕様可能なプリンタがある場合には、Information Cent
erはそれらの情報をこの構造体に記憶させる。またInfo
rmation Centerからの戻り値は、仕様可能なプリンタの
台数である。
【0056】すでに説明した通り、56アプリケーション
からの印刷データは一旦60第1のスプーラプロセスへ記
憶された後に、61バックグランダによって読み出され
て、66のマルチプリンタコントローラへ送られる。この
マルチプリンタコントローラは、バックグランダによっ
て、実際に印刷データの送出に先立って起動される。起
動された後に、バックグランダからの印刷データが送ら
れてくるのをS1で待機する。印刷データが送られてく
ると、S2で接続されたプリンタの情報を記憶する領域を
確保する。すでに説明した通り、プリンタの最大接続数
は4台までである。S3でInformation Centerへアクセス
を行い、プリンタに関する情報を取得する。Informatio
n Centerは返り値として使用可能なプリンタの台数を返
す(使用可能なプリンタの台数は変数Mに記憶する)。
ここで言うところの使用可能なプリンタとは、印刷を行
えるプリンタであるかどうかを示している。例えば電源
が投入されていないプリンタや、何らかの障害が発生し
ているプリンタは使用可能なプリンタには相当しない。
S3でInformation Centerからの情報に基づいて、プリン
タ情報構造体に必要なデータを記憶し初期化を行う。S
5の判断で使用可能なプリンタが存在しない場合は、図
15のエラーメッセージを表示する。ここでユーザーが
選択できるのはOKとキャンセルの何れかである。S7で
OKが押されたと判定された場合には、S3で再度プリン
タ情報の取得を行う。したがってOKを押す前に、ユーザ
ーは印刷を開始できない原因を除去することが必要であ
る。また、障害を除去できない場合には、キャンセルを
押すことも可能である。この場合はS8へ進み処理が終
了する。
【0057】S9では使用可能なプリンタの台数に相当
する分だけ、66のUSB出力タスクを生成する。S10では
制御用パラメータを初期化する。Pは印刷するページ数
を制御するパラメータであり、I及びJは後のプロセス
で、65の第2のスプーラに記憶されている印刷データの
内から、最も小さいバイト数を求めるための制御用パラ
メータである。S11使用可能なプリンタの台数を調べ
る。使用可能なプリンタが一台しかない場合は、そのプ
リンタだけを使用して印刷を行うので、印刷データの配
分を行う必要は無い。従って、S17へ進み印刷データを
該プリンタへ送信する。S12では再びInforation Center
へアクセスを行い、63のスプーラプロセスから、各プリ
ンタ毎に65の第2のスプーラに記憶されている印刷デー
タのバイト数を取得する。S13からS16似かけてPrtInfo
〔I〕.Byteのうちから、最も小さい値を選び出す。そし
てS17において、その値を持つプリンタへ、印刷データ
を送り出す。S17で送り出された印刷データは、65の第2
のスプーラへ記憶され、次回にS12でInformation Cente
rへアクセスして得られるバイト数へ反映される。S18で
最終ページかどうかを判定して、最終ページの場合には
S19で印刷処理を終了し、最終ページでは無い場合に
は、S20で次のページの印刷を行うために、S11へ戻る。
【0058】(第2の発明の実施の形態)第1の発明の実
施の形態においては、接続されるプリンタが同じ印刷速
度である場合に有効な方法を示した。しかしながら、接
続されるプリンタが夫々違う印刷速度の場合は、63のス
プーラに記憶されている印刷データのバイト数を用いた
方法では、必ずしも効率よく印刷を進めることは出来な
い。この様な場合は、一定時間に印刷される印刷データ
のバイト数を求め、その値を基にして63のスプーラに記
憶されている印刷データ全ての印刷を完了するまでの時
間を求める。そしてこの時間の最も短いプリンタに対し
て、新しい印刷データを送信する様にする。この方法に
ついては図16のフローチャートを用いて説明を行う。
【0059】S21からS31までの処理は発明の実施の形態
1と同じであるため、説明は省略する。
【0060】S32ではInformation Centerへアクセスし
て、その時点における65の第2のスプーラに記憶されて
いる印刷データのバイト数を求める。そしてその値をPr
tInfo2の構造体へS33で記憶する。続いてS34で再びInfo
rmation Centerへアクセスを行い、その時点における65
の第2のスプーラに記憶されている印刷データのバイト
数を求める。PCに接続されたプリンタは、この間にも
印刷を進めて、65に記憶された印刷データのバイト数は
減少している。S35でS34の結果をPrtInfo3構造体へ記
憶する。このS32からS34までの処理に要した時間を単位
時間として、夫々のプリンタの印刷所用時間係数を求め
る。この係数がもっとも小さいプリンタに対して優先的
に印刷データを割り当てる。S35で65の第2のスプーラか
ら減少した印刷データのバイト数を求めてDeltaへ記憶
する。このDeltaが0である場合は、印刷が進まなかっ
た事を示しているので、S37でそれを判定する。0であ
った場合には、印刷が進まなかった事を示す値である99
999をT1へ記憶する。この9999は印刷所用時間係数を比
較する上で、印刷の進捗が無かった事を示すには十分に
大きい値である。S36では現在のPrtInfo3のバイト数と
Deltaの関係から、T1に印刷所用時間係数を記憶する。
同じ方法で、S39からS43にかけて次のプリンタの印刷
所用時間係数を求めT2へ記憶する。S44でT1とT2を比
較し、より値の小さい方(印刷が完了するまでに要する
時間が短いほう)を選択して、その番号をJへ記憶す
る。こうして最も印刷完了までの時間が短いプリンタを
選択した後、S47で印刷データを該プリンタへ出力す
る。S48では印刷データの最終かどうかを判定し、最終
である場合にはS49へ進み印刷を終了し、最終ではない
場合にはS50で次のページへ進む。
【0061】なお、更なる発展形として、プリンタドラ
イバにより、接続されるプリンタの種類を判別し、すべ
て同じ種類のプリンタである場合、図14のフローチャー
トにかかわるプログラムを実行し、すべて同じ種類のプ
リンタでない場合、図16のフローチャートにかかわる
プログラムを実行するようにプログラムすることもでき
る。
【0062】本発明の実施の形態によれば、インクジェ
ットプリンタの印刷速度が遅い点に着目をしてそれの解
決を行うことができる。
【0063】具体的には一台のPCに複数のインクジェッ
トプリンタを接続して、これらを同時に用いる事で印刷
のスループットを上げる事を狙う物であるが、さらに印
刷速度進捗速度の速いプリンタを優先的に使用して、さ
らなるスループットの向上を行うことができる。
【0064】本発明に用いるプリンタはUSB(Universal
Serial Bus)をインターフェースとして採用したプリン
タである。USBは従来のセントロニクスインターフェー
スと比べて約10倍の転送速度を有する高速なシリアルバ
スである。またUSBの特徴としては、USB機器をカスケー
ド接続する事が可能である。
【0065】また現在では、USBはホストPCに標準で搭
載されており、特別なハードウエアを追加する必要は全
く無い。
【0066】尚、従来から複数のプリンタへアクセスす
るために、ネットワークを使用する方法が一般的であ
る。しかしながら、これらはPCがネットワークへアクセ
スするための機器、プリンタをネットワークへ接続する
為の機器等が必要である。
【0067】しかしながら、本発明の場合には、USBへ
アクセスするために機器を追加しなくて良い点が、ネッ
トワークを用いた場合と決定的な相違点である。
【0068】また、カスケード接続が可能な高速シリア
ルバスをインターフェースとして採用したインクジェッ
トプリンタを複数接続することで、従来の印刷速度がペ
ージプリンタと比較して遅いと言う問題点を解決するだ
けではなく、機種が違う複数のプリンタが接続されてい
る中から、最も印刷完了までの時間が短いプリンタを自
動的に選択し、そこへ印刷データを配分することで、よ
り高速な印刷機能を提供する事が可能となる。
【0069】さらに、本発明を実施したOSにおいては、
その構造上の制約から、プリンタ自体から印刷の進捗状
況に関する情報を入手し、それをプリンタドライバに伝
達し最適なプリンタを選び出すことが大変困難である。
そのため本発明で示したように、65の第2のスプーラに
おける情報を活用して、最も早く印刷を終了させるため
の、最適なプリンタを選び出す方法は、本発明を実施し
たOSの環境下においては、最も構造上簡単でありかつ実
現が容易な方法であると考えられる。
【0070】なお、本実施の形態では、インクジェット
プリンタを用いたが、レーザービームプリンタ、サーマ
ルプリンタ、LEDプリンタ等の他のプリント形式のプ
リンタドライバにも応用できる。
【0071】また、本実施の形態ではシリアルバスにU
SBを用いたがIEEE 1394シリアルバス等を用
いても実現できる。
【0072】
【発明の効果】複数のプリンタを用いて高速に印刷を完
了させることができる情報処理装置、情報処理方法、及
び、記憶媒体を提供できる。
【図面の簡単な説明】
【図1】本発明を実施したプリンタの正面図である。
【図2】プリンタの背面図である。
【図3】プリンタのインターフェースであるUSBのケ
ーブルの外観図である。
【図4】PCの背面にあるUSBコネクタの図である。
【図5】プリンタ4台をカスケードに接続したイメージ
をあらわす図である。
【図6】プリンタに装着可能なカートリッジの外観図で
ある。
【図7】カートリッジの脱着方法を示した図である。
【図8】プリンタの電気回路ブロック図である。
【図9】パーソナルコンピュータのハードウエア構成を
示すブロック図である。
【図10】本発明のプリンタの為に作成されたプリンタ
ドライバのブロック図である。
【図11】アプリケーションから前述のプリンタドライ
バを用いて印刷を行う際に表示されるダイアログの図で
ある。
【図12】前述の設定項目の内、印刷制御に関する項目
の図である。
【図13】印刷に必要な時間とページの割り振り方につ
いて説明した図である。
【図14】発明の実施の形態1を説明したフローチャー
トを示す図である。
【図15】使用可能なプリンタが一台も無い場合に表示
されるダイアログの図である。
【図16】発明の実施の形態2を説明したフローチャー
トを示す図である。

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】 複数のプリンタの内、最も早く印刷の終
    了すると判断されるプリンタを選択する選択手段と、前
    記選択手段により選択されたプリンタに印刷データを転
    送する転送手段とを有することを特徴とする情報処理装
    置。
  2. 【請求項2】 前記印刷データは、1ページ単位の印刷
    データであることを特徴とする請求項1記載の情報処理
    装置。
  3. 【請求項3】 複数のプリンタに対応するスプーラを作
    成する手段と、前記選択手段は、記憶されている印刷デ
    ータが一番少ないスプーラに対応するプリンタを選択す
    ることを特徴とする請求項1記載の情報処理装置。
  4. 【請求項4】 複数のプリンタに対応するスプーラを作
    成する手段を有し、前記選択手段は、各スプーラに記憶
    されている印刷データ量と各プリンタの印刷処理速度と
    に基づきプリンタを選択することを特徴とする請求項1
    記載の情報処理装置。
  5. 【請求項5】 複数のプリンタを有することを特徴とす
    る請求項1記載の情報処理装置。
  6. 【請求項6】 前記情報処理装置は、パーソナルコンピ
    ュータであることを特徴とする請求項1記載の情報処理
    装置。
  7. 【請求項7】 前記プリンタは、カスケード接続されて
    いることを特徴とする請求項1記載の情報処理装置。
  8. 【請求項8】 マルチプリンタ印刷を指示する指示手段
    と、前記指示手段によるマルチプリンタ印刷の指示があ
    った場合、前記選択手段によりプリンタを選択し、前記
    転送手段により選択されたプリンタに印刷データを転送
    することを特徴とする請求項1記載の情報処理装置。
  9. 【請求項9】 前記指示手段によるマルチプリンタ印刷
    の指示がない場合、操作者に指定されたプリンタに印刷
    データを転送することを特徴とする請求項8記載の情報
    処理装置。
  10. 【請求項10】 複数のプリンタに対応するスプーラを
    作成する手段と、複数のプリンタの種類を判別する判別
    手段と、前記判別手段によりすべて同じ種類のプリンタ
    であると判別された場合、前記選択手段は、記憶されて
    いる印刷データが一番少ないスプーラに対応するプリン
    タを選択し、前記判別手段によりすべて同じ種類のプリ
    ンタであると判別された場合、前記選択手段は、各スプ
    ーラに記憶されている印刷データ量と各プリンタの印刷
    処理速度とに基づきプリンタを選択することを特徴とす
    る請求項1記載の情報処理装置。
  11. 【請求項11】 複数のプリンタの内、最も早く印刷の
    終了すると判断されるプリンタを選択する選択ステップ
    と、前記選択ステップにより選択されたプリンタに印刷
    データを転送する転送ステップとを有することを特徴と
    する情報処理方法。
  12. 【請求項12】 前記印刷データは、1ページ単位の印
    刷データであることを特徴とする請求項11記載の情報
    処理方法。
  13. 【請求項13】 複数のプリンタに対応するスプーラを
    作成するステップと、前記選択ステップは、記憶されて
    いる印刷データが一番少ないスプーラに対応するプリン
    タを選択することを特徴とする請求項11記載の情報処
    理方法。
  14. 【請求項14】 複数のプリンタに対応するスプーラを
    作成するステップを有し、前記選択ステップは、各スプ
    ーラに記憶されている印刷データ量と各プリンタの印刷
    処理速度とに基づきプリンタを選択することを特徴とす
    る請求項11記載の情報処理方法。
  15. 【請求項15】 複数のプリンタを有することを特徴と
    する請求項11記載の情報処理方法。
  16. 【請求項16】 前記情報処理方法は、プリンタドライ
    バにより行われることを特徴とする請求項11記載の情
    報処理方法。
  17. 【請求項17】 前記プリンタは、カスケード接続され
    ていることを特徴とする請求項11記載の情報処理方
    法。
  18. 【請求項18】 マルチプリンタ印刷を指示する指示ス
    テップと、前記指示ステップによるマルチプリンタ印刷
    の指示があった場合、前記選択ステップによりプリンタ
    を選択し、前記転送ステップにより選択されたプリンタ
    に印刷データを転送することを特徴とする請求項11記
    載の情報処理方法。
  19. 【請求項19】 前記指示ステップによるマルチプリン
    タ印刷の指示がない場合、操作者に指定されたプリンタ
    に印刷データを転送することを特徴とする請求項18記
    載の情報処理方法。
  20. 【請求項20】 複数のプリンタに対応するスプーラを
    作成するステップと、複数のプリンタの種類を判別する
    判別ステップと、前記判別ステップによりすべて同じ種
    類のプリンタであると判別された場合、前記選択ステッ
    プは、記憶されている印刷データが一番少ないスプーラ
    に対応するプリンタを選択し、前記判別ステップにより
    すべて同じ種類のプリンタであると判別された場合、前
    記選択ステップは、各スプーラに記憶されている印刷デ
    ータ量と各プリンタの印刷処理速度とに基づきプリンタ
    を選択することを特徴とする請求項11記載の情報処理
    方法。
  21. 【請求項21】 複数のプリンタの内、最も早く印刷の
    終了すると判断されるプリンタを選択する選択ステップ
    と、前記選択ステップにより選択されたプリンタに印刷
    データを転送する転送ステップとを有するプログラムを
    記憶することを特徴とする記憶媒体。
  22. 【請求項22】 前記印刷データは、1ページ単位の印
    刷データであることを特徴とする請求項21記載の記憶
    媒体。
  23. 【請求項23】 複数のプリンタに対応するスプーラを
    作成するステップと、前記選択ステップは、記憶されて
    いる印刷データが一番少ないスプーラに対応するプリン
    タを選択することを特徴とする請求項21記載の記憶媒
    体。
  24. 【請求項24】 複数のプリンタに対応するスプーラを
    作成するステップを有し、前記選択ステップは、各スプ
    ーラに記憶されている印刷データ量と各プリンタの印刷
    処理速度とに基づきプリンタを選択することを特徴とす
    る請求項21記載の記憶媒体。
  25. 【請求項25】 複数のプリンタを有することを特徴と
    する請求項21記載の記憶媒体。
  26. 【請求項26】 前記プログラムは、プリンタドライバ
    プログラムであることを特徴とする請求項21記載の記
    憶媒体。
  27. 【請求項27】 前記プリンタは、カスケード接続され
    ていることを特徴とする請求項21記載の記憶媒体。
  28. 【請求項28】 マルチプリンタ印刷を指示する指示ス
    テップと、前記指示ステップによるマルチプリンタ印刷
    の指示があった場合、前記選択ステップによりプリンタ
    を選択し、前記転送ステップにより選択されたプリンタ
    に印刷データを転送することを特徴とする請求項21記
    載の記憶媒体。
  29. 【請求項29】 前記指示ステップによるマルチプリン
    タ印刷の指示がない場合、操作者に指定されたプリンタ
    に印刷データを転送することを特徴とする請求項28記
    載の記憶媒体。
  30. 【請求項30】 複数のプリンタに対応するスプーラを
    作成するステップと、複数のプリンタの種類を判別する
    判別ステップと、前記判別ステップによりすべて同じ種
    類のプリンタであると判別された場合、前記選択ステッ
    プは、記憶されている印刷データが一番少ないスプーラ
    に対応するプリンタを選択し、前記判別ステップにより
    すべて同じ種類のプリンタであると判別された場合、前
    記選択ステップは、各スプーラに記憶されている印刷デ
    ータ量と各プリンタの印刷処理速度とに基づきプリンタ
    を選択することを特徴とする請求項21記載の記憶媒
    体。
  31. 【請求項31】 複数のプリンタに対応するスプーラを
    作成する作成手段と、各プリンタの印刷データ量を認識
    する認識手段とを有し、前記選択手段は、前記認識手段
    による認識に基づき印刷データ量の一番少ないプリンタ
    を選択することを特徴とする請求項1記載の情報処理装
    置。
  32. 【請求項32】 前記認識手段は、スプーラから印刷デ
    ータ量を獲得するのではなく、インフォメーションセン
    タから獲得し、印刷データ量を認識することを特徴とす
    る請求項31記載の情報処理装置。
  33. 【請求項33】 複数のプリンタに対応するスプーラを
    作成する作成ステップと、各プリンタの印刷データ量を
    認識する認識ステップとを有し、前記選択ステップは、
    前記認識手段による認識に基づき印刷データ量の一番少
    ないプリンタを選択することを特徴とする請求項11記
    載の情報処理方法。
  34. 【請求項34】 前記認識ステップは、スプーラから印
    刷データ量を獲得するのではなく、インフォメーション
    センタから獲得し、印刷データ量を認識することを特徴
    とする請求項33記載の情報処理方法。
  35. 【請求項35】 複数のプリンタに対応するスプーラを
    作成する作成ステップと、各プリンタの印刷データ量を
    認識する認識ステップとを有し、前記選択ステップは、
    前記認識手段による認識に基づき印刷データ量の一番少
    ないプリンタを選択することを特徴とする請求項21記
    載の記憶媒体。
  36. 【請求項36】 前記認識ステップは、スプーラから印
    刷データ量を獲得するのではなく、インフォメーション
    センタから獲得し、印刷データ量を認識することを特徴
    とする請求項35記載の記憶媒体。
JP10043474A 1998-02-25 1998-02-25 情報処理装置、情報処理方法、及び、記憶媒体 Pending JPH11242575A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10043474A JPH11242575A (ja) 1998-02-25 1998-02-25 情報処理装置、情報処理方法、及び、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10043474A JPH11242575A (ja) 1998-02-25 1998-02-25 情報処理装置、情報処理方法、及び、記憶媒体

Publications (1)

Publication Number Publication Date
JPH11242575A true JPH11242575A (ja) 1999-09-07

Family

ID=12664729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10043474A Pending JPH11242575A (ja) 1998-02-25 1998-02-25 情報処理装置、情報処理方法、及び、記憶媒体

Country Status (1)

Country Link
JP (1) JPH11242575A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058384A (ja) * 2005-08-23 2007-03-08 Seiko Epson Corp 分散印刷を実行するための印刷制御
JP2012240394A (ja) * 2011-05-24 2012-12-10 Ricoh Co Ltd 画像形成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058384A (ja) * 2005-08-23 2007-03-08 Seiko Epson Corp 分散印刷を実行するための印刷制御
JP2012240394A (ja) * 2011-05-24 2012-12-10 Ricoh Co Ltd 画像形成装置

Similar Documents

Publication Publication Date Title
JP3278394B2 (ja) 情報処理装置、情報処理方法、及び、記憶媒体
US6229622B1 (en) Printer apparatus and method of controlling same
US7167260B2 (en) Control of distributed printers using virtual printer driver execute module
EP1553489B1 (en) Printer apparatus and control method therefor
US5978557A (en) Printing device control apparatus and method
JP4859214B2 (ja) データ処理装置及び印刷ジョブ制御方法と印刷データ処理装置
US20100231968A1 (en) Printing management apparatus, printing management method, and program for the same
JP2002200828A (ja) 情報処理装置、制御方法及び記憶媒体
US6760118B1 (en) Printing device control apparatus and method
JPH11242573A (ja) 情報処理装置、情報処理方法、及び、記憶媒体
JPH11242575A (ja) 情報処理装置、情報処理方法、及び、記憶媒体
JP3507470B2 (ja) 情報処理装置、情報処理方法、及び、記憶媒体
JP2000148436A (ja) 課金管理装置、インターフェース装置、システム、及び記憶媒体
JP2003341183A (ja) プリンタシステム
JP4296851B2 (ja) 画像形成システム
JP2003345549A (ja) 情報処理装置、情報処理方法、及び記憶媒体
JP2021103478A (ja) 画像形成装置、制御方法、及び、プログラム
JP2002259085A (ja) プリンタシステム
JP2004098380A (ja) プリンターシステム
US8531715B2 (en) Method and system for forming image, and external device
JP2003150367A (ja) 印刷制御装置および印刷制御方法および記憶媒体およびプログラム
JP2003076649A (ja) データ処理装置および印刷制御装置およびインタフェース選択方法および記憶媒体およびプログラム
JP3728202B2 (ja) 情報処理装置及びその制御方法
JP2024152433A (ja) 画像形成装置、方法及びプログラム
JP2004205600A (ja) シート処理装置、画像形成装置、及び情報処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030506