JP4098457B2 - 分散印刷制御装置および分散印刷制御方法並びに記録媒体 - Google Patents

分散印刷制御装置および分散印刷制御方法並びに記録媒体 Download PDF

Info

Publication number
JP4098457B2
JP4098457B2 JP2000107055A JP2000107055A JP4098457B2 JP 4098457 B2 JP4098457 B2 JP 4098457B2 JP 2000107055 A JP2000107055 A JP 2000107055A JP 2000107055 A JP2000107055 A JP 2000107055A JP 4098457 B2 JP4098457 B2 JP 4098457B2
Authority
JP
Japan
Prior art keywords
printer
information
printers
print data
distributed
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.)
Expired - Fee Related
Application number
JP2000107055A
Other languages
English (en)
Other versions
JP2001290624A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000107055A priority Critical patent/JP4098457B2/ja
Priority to US09/980,210 priority patent/US7167260B2/en
Priority to PCT/JP2001/002968 priority patent/WO2001077809A1/ja
Priority to EP01917838A priority patent/EP1191434A4/en
Publication of JP2001290624A publication Critical patent/JP2001290624A/ja
Application granted granted Critical
Publication of JP4098457B2 publication Critical patent/JP4098457B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタに分散して出力する技術に関する。
【0002】
【従来の技術】
近年、コンピュータネットワークを用いることで、パーソナルコンピュータ等の一の情報処理装置に対して複数のプリンタを容易に接続することが可能となった。こうした一の情報処理装置に複数のプリンタを接続した構成では、情報処理装置で作成した印刷データを各プリンタに分散して出力することができ、全体としての印刷時間の短縮を図ることができる。例えば、情報処理装置からアプリケーションプログラムによって作成した文書を3部印刷しようとする場合、3台のプリンタに1部ずつ分散して印刷を行なうことで、理論的には1部の印刷に要する時間で3部の印刷を済ますことができる。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、分散印刷を行なおうとするとき、アプリケーションプログラムから各プリンタのプリンタドライバに対して印刷データをプリンタ毎に個別に出力する必要があった。このために、作業者は、アプリケーションプログラムにおいて印刷の作業を分散先のプリンタの数の回数だけ行なう必要があり、作業性が悪いという問題があった。
【0004】
この発明は、汎用のアプリケーションプログラムからでも作業性よく分散印刷を行なうことができるようにすることを目的としている。
【0005】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【0006】
この発明の分散印刷制御装置は、
複数のプリンタに接続され、アプリケーションプログラムにより生成された印刷すべき印刷データを前記複数のプリンタ用に分配して各プリンタに分散印刷させる分散印刷制御装置であって、
前記プリンタの機種毎に設けられた複数のプリンタドライバを記憶するプリンタドライバ記憶手段と、
前記各プリンタドライバから分散先となり得る全てのプリンタの性能についての情報を取り込み、該取り込んだ全てのプリンタの性能についての情報から最も高度な描画命令を使用して描画を行なうプリンタについての性能情報を選択して、該選択した性能情報を仮想的なプリンタの性能情報と定めて、前記アプリケーションプログラムに対して前記仮想的なプリンタの性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る仮想プリンタドライバ実行手段と、
該得られた中間印刷データを前記複数のプリンタ用に分配する分配手段と、
前記分配手段により分配された各中間印刷データを、前記各プリンタドライバから取り込んだ各プリンタの性能情報に基づいてそれぞれデータ変換することにより、各プリンタに適合する最終印刷データに変換して、各最終印刷データを各プリンタドライバを介して各プリンタに出力する出力制御手段と
を備えることを特徴としている。
【0007】
上記構成の分散印刷制御装置によれば、アプリケーションプログラムからは仮想的なプリンタドライバに対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから各プリンタへの分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で印刷の作業を一度行なえばよく、作業性に優れているという効果を奏する。
【0009】
また、この構成によれば、仮想的なプリンタドライバを実行することで得られる中間印刷データは、最も性能の高いプリンタに適合したものとなる。一般に、性能の高いプリンタに適合した印刷データは、性能の低いプリンタにも適合することから、中間印刷データは、後段のいずれのプリンタドライバにも適合したものとなる。したがって、分散先の全てのプリンタの性能を充分に発揮させることができる。
【0011】
さらに、この構成によれば、各プリンタ毎に設けられたプリンタドライバからプリンタの性能の情報を取り込むことが可能となり、それら性能の情報から最も高性能のプリンタの性能情報を得ることができる。
【0012】
上記構成の分散印刷制御装置において、表示装置に入力用ウィンドウを表示するとともに、マウス、キーボード等の入力装置からの入力データに基づいて前記仮想的なプリンタにおける印刷のための各種情報を設定する仮想プリンタ用印刷情報設定手段を備える構成とすることができる。
【0013】
この構成によれば、印刷品質や、用紙のサイズ、印刷方向等の印刷のための各種情報を仮想プリンタ用印刷情報設定手段から設定することができる。
【0014】
上記構成の分散印刷制御装置において、前記仮想プリンタ用印刷情報設定手段により設定された各種情報のうちの少なくとも一部を、前記各プリンタドライバによる処理に供する情報配送手段を備える構成とすることができる。
【0015】
この構成によれば、仮想プリンタ用印刷情報設定手段で設定した情報を各プリンタドライバで利用することができることから、各プリンタドライバにおいては印刷のための情報の設定を簡易にしたり完全になくしたりすることができる。
【0016】
上記構成の分散印刷制御装置において、前記接続された複数のプリンタ毎に個別に設けられ、各プリンタにおける印刷のための各種情報を設定する実プリンタ用印刷情報設定手段と、前記実プリンタ用印刷情報設定手段をそれぞれ動作させる複数のアイコンと、前記仮想プリンタ用印刷情報設定手段を動作させるアイコンとを共に含む表示ウィンドウを表示装置に表示する表示制御手段とを備える構成とすることができる。
【0017】
この構成によれば、実プリンタドライバを起動するアイコンと同様の操作で、仮想プリンタドライバを起動することが可能となる。
【0018】
上記構成の分散印刷制御装置において、前記印刷データの分配についての入力用ウィンドウを表示するとともに、前記入力装置からの入力データに基づいて、前記印刷データを前記複数のプリンタ用に分配するための各種情報を設定する分配情報設定手段を備え、前記分配手段は、前記分配情報設定手段により設定された各種情報に基づいて、前記印刷データを前記複数のプリンタ用に分配する処理を行なう印刷データ分配手段とを備えた構成とすることができる。
【0019】
この構成によれば、分配情報設定手段によってプリンタの分散先を定めるために必要な各種情報を指定することができる。
【0020】
上記構成の分散印刷制御装置において、前記印刷データを前記複数のプリンタ用に分配するための各種情報のうちの一つが、前記印刷データの分配先を前記接続される複数のプリンタから選択される所定のグループ内のプリンタに制限するための情報とすることができる。
【0021】
この構成によれば、接続された全てのプリンタの内から予め定めたグループ内のプリンタに印刷の分散先を限ることができる。
【0022】
上記構成の分散印刷制御装置において、前記仮想プリンタドライバ実行手段により生成された中間印刷データを、外部記憶装置に中間印刷ファイルとして一旦格納するよう構成することができる。この構成によれば、印刷結果に不備があったりして再度同じ印刷を行なおうとする場合に、中間印刷ファイルを利用することで、アプリケーションプログラムを起動せずに印刷を行なうことができる。
【0023】
上記構成の分散印刷制御装置において、前記複数のプリンタの接続が、コンピュータネットワークにより接続した構成とすることができる。この構成によれば、コンピュータネットワークを用いることで、多数のプリンタに容易に接続することが可能となる。
【0024】
この発明の分散印刷制御方法は、
アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して各プリンタに分散印刷させる分散印刷制御方法であって、
(a)前記プリンタの機種毎に設けられた複数のプリンタドライバを記憶装置に予め用意する工程と、
(b)前記各プリンタドライバから分散先となり得る全てのプリンタの性能についての情報を取り込み、該取り込んだ全てのプリンタの性能についての情報から最も高度な描画命令を使用して描画を行なうプリンタについての性能情報を選択して、該選択した性能情報を仮想的なプリンタの性能情報と定めて、前記アプリケーションプログラムに対して前記仮想的なプリンタの性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る工程と、
(c)該得られた中間印刷データを前記複数のプリンタ用に分配する工程と、
(d)前記工程(c)により分配された各中間印刷データを、前記各プリンタドライバから取り込んだ各プリンタの性能情報に基づいてそれぞれデータ変換することにより、各プリンタに適合する最終印刷データに変換して、各最終印刷データを各プリンタドライバを介して各プリンタに出力する工程と
を備えることを特徴としている。
【0025】
上記構成の分散印刷制御方法は、上記発明の分散印刷制御装置と同様な作用・効果を有しており、アプリケーションプログラムから作業性よく分散印刷を行なうことができる。
【0026】
この発明のコンピュータ読み取り可能な記録媒体は、
複数のプリンタに接続され、アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して各プリンタに分散印刷させる分散印刷制御装置において用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
(a)前記プリンタの機種毎に設けられた複数のプリンタドライバを記憶装置に予め用意する機能と、
(b)前記各プリンタドライバから分散先となり得る全てのプリンタの性能についての情報を取り込み、該取り込んだ全てのプリンタの性能についての情報から最も高度な描画命令を使用して描画を行なうプリンタについての性能情報を選択して、該選択した性能情報を仮想的なプリンタの性能情報と定めて、前記アプリケーションプログラムに対して前記仮想的なプリンタの性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る機能と
)該得られた中間印刷データを前記複数のプリンタ用に分配する機能と、
)前記機能()により分配された各中間印刷データを、前記各プリンタドライバから取り込んだ各プリンタの性能情報に基づいてそれぞれデータ変換することにより、各プリンタに適合する最終印刷データに変換して、各最終印刷データを各プリンタドライバを介して各プリンタに出力する機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録したことを要旨としている。
【0027】
上記構成のコンピュータ読み取り可能な記録媒体も、上記発明の分散印刷制御装置と同様な作用・効果を有しており、アプリケーションプログラムから作業性よく分散印刷を行なうことができる。
【0028】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第1の態様は、この発明の記録媒体による機能と同様の機能を持つコンピュータプログラムとしての態様である。その第2の態様は、そのコンピュータプログラムを含むことで搬送波内に具現化されたデータ信号としての態様である。第3の態様は、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第3の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の装置や方法を実現することができる。
【0029】
【発明の実施の形態】
以上説明したこの発明の構成・作用を一層明らかにするために、以下この発明の実施の形態を実施例に基づき説明する。
【0030】
1.ハードウェアの全体構成
図1はこの発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。図示するように、この一実施例のコンピュータシステムは、コンピュータ10を備え、このコンピュータ10には、実質的にコンピュータ機能を有する複数のプリンタ70,80,…が、ローカルエリアネットワーク(LAN)により構築されたコンピュータネットワーク90を介して接続されている。なお、コンピュータネットワーク90は、LANに替えて、インターネットや、イントラネットや、ワイドエリアネットワーク(WAN)など、各種ネットワークに替えることができる。
【0031】
コンピュータ10には、周辺機器としてのCRTディスプレイ12が接続され、さらにはローカルにてもう一台のプリンタ60が接続されている。また、コンピュータ10は、コンピュータ本体16とキーボード18とマウス20を備える。このコンピュータ本体16には、フロッピィディスク22の内容を読み取るフロッピィディスクドライブ24が搭載されている。
【0032】
コンピュータ本体16は、中央演算処理装置としてのCPU30を中心にバスにより相互に接続されたROM31、RAM32、表示画像メモリ33、マウスインタフェース34、キーボードインタフェース35、FDC36、HDC37、CRTC38、プリンタインタフェース39およびネットワーク制御回路40を備える。
【0033】
ROM31は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。RAM32は、各種データ等を記憶する読み出し・書込み可能なメモリである。表示画像メモリ33はCRTディスプレイ12に表示する画像の画像データを記憶するメモリである。マウスインタフェース34は、マウス20とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース35は、キーボード18からのキー入力を司るインタフェースである。FDC36は、フロッピィディスクドライブ(FDD)24を制御するフロッピィディスクコントローラである。HDC37は、ハードディスクドライブ(HDD)41を制御するハードディスクコントローラである。CRTC38は、表示画像メモリ33に記憶される表示画像データに基づいてCRTディスプレイ12における画像の表示を制御するCRTコントローラである。プリンタインタフェース39は、ローカルにて接続されるプリンタ14へのデータの出力を制御するインタフェースである。ネットワーク制御回路40は、ネットワークカードなどから成り、コンピュータネットワーク90に接続されている。
【0034】
このコンピュータシステムでは、オペレーティングシステムはHDD41に記憶されており、コンピュータ本体16に電源を投入すると、HDD41のブートブロックに書き込まれたローダに従ってRAM32の所定の領域にロードされる。また、プリンタ60,70,80の機種毎に用意される実プリンタドライバは、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされたプリンタドライバは、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。
【0035】
また、このコンピュータシステムでは、仮想的なプリンタについての情報を定める仮想的なプリンタドライバ(仮想プリンタドライバ)110を備えている。この仮想プリンタドライバ110は、実際のプリンタドライバと同様に、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた仮想プリンタドライバ110は、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。なお、仮想プリンタドライバ110のコンピュータプログラムは、フロッピィディスク22に格納されたものに替えて、CD−ROM、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、このコンピュータプログラムは、外部のコンピュータネットワーク(例えばインターネット)に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD41に転送することにより得るようにすることもできる。
【0036】
プリンタ60,70,80は、ドラムにレーザ光を当てて像を作り、トナーで現像して用紙に転写する所謂レーザプリンタである。なお、プリンタ60,70,80としては、インクジェットプリンタ、熱転写プリンタなど、各種プリンタを適用することができる。なお、ここでは、プリンタ60,70,80は、それぞれ異なる機種であるものとする。
【0037】
2.分散印刷処理の様子
かかる構成のコンピュータシステムによれば、大まかには、コンピュータ本体16により、印刷すべき印刷データを作成し、この印刷データをコンピュータ本体16に接続されているプリンタ60,70,80に分散して印刷させる分散印刷処理を行なう。こうした分散印刷処理の様子について以下詳しく説明する。
【0038】
図2は、分散印刷処理の全体の様子を概略的に示すブロック図である。図3は、分散印刷処理に用いられる仮想プリンタドライバ110の処理の様子を示すブロック図である。図4は、分散印刷処理の一部を実現する分散印刷ユーティリティプログラム(以下、単に「分散印刷ユーティリティ」と呼ぶ)120の処理の様子を示すブロック図である。
【0039】
図2に示すように、コンピュータ本体16の内部で動作しているアプリケーションプログラム100は、画像の処理を行って画像データを生成し、この画像データを印刷すべく印刷命令を発行する。アプリケーションプログラム100から印刷命令が発行されると、仮想プリンタドライバ110が、印刷命令を受けて、この仮想プリンタドライバ110が想定する仮想的なプリンタの性能についての性能情報をアプリケーションプログラム100に返す。詳細には、図3に示すように、仮想プリンタドライバ110は、印刷命令受信部111により、アプリケーションプログラム100から発行される印刷命令を受信して、その印刷命令を受信した旨を印刷命令受信部111から受けた性能情報返信部112により、仮想的なプリンタの性能についての性能情報をアプリケーションプログラム100に返す。
【0040】
ここで仮想的なプリンタの性能というのは、分散先となり得る全てのプリンタのうちの最も性能の高いプリンタについての性能である。一般に、性能の高いプリンタは、高級なプログラム言語により描画を行なっている。例えば、数式等を用いた高度な描画命令により図形を表わすものは高級なプログラム言語であり、ビットマップを用いた程度の低い描画命令により図形を表わすものは低級なプログラム言語である。したがって、この実施例では、仮想的なプリンタの性能を上述したように分配先となり得る全てのプリンタのうちの最も高いプリンタについての性能と定めることで、この仮想プリンタドライバ110において高級なプログラム言語に従うデータ変換処理(レンダリング処理)を可能としている。すなわち、高級なプログラム言語は前述したように、高度な描画命令を使用するものであるから、この仮想プリンタドライバ110では、もっとも高性能なプリンタに合わせて効率的なレンダリング処理を実現し得るようにしている。
【0041】
なお、分散先となり得るプリンタというのは、コンピュータ本体16にローカルもしくはネットワークで接続される全てのプリンタのうちのプロパティ設定部113により設定されるプリンタグループに属するプリンタであり、ここでは、プリンタ60,70,80が該当するものとする。
【0042】
詳細には、上記プリンタ60,70,80の機種毎に用意されるプリンタドライバ(以下、実プリンタドライバと呼ぶ)から分散印刷ユーティリティ120が取り込んだ各プリンタ60,70,80の性能情報を、性能情報入力部114により取り込んで、仮想プリンタ性能決定部115により、これら各プリンタ60,70,80の性能情報から最も高いものを選択して、これを仮想的なプリンタの性能情報とする。性能情報返信部112はこの仮想的なプリンタの性能情報をアプリケーションプログラム100に返している。
【0044】
また、仮想プリンタドライバ110は、プロパティ設定部113により、ユーザインタフェース116を動作させて印刷のための各種情報を設定・記憶するが、この印刷のための各種情報のうちのいくつかの情報を上記性能情報とともに性能情報返信部112を介してアプリケーションプログラム100に返す。印刷のための各種情報としては、印刷品質、色補正、ハーフトーンの種類等の印刷の基本設定に関するもの、用紙のサイズ、印刷方向等の用紙設定に関するもの、分散先となり得るプリンタを指定するプリンタグループに関するもの、分散印刷する場合の分散形態に関するもの等があるが、ここでは、これら情報の内のプリンタグループおよび分散形態に関するものを除いた情報をアプリケーションプログラム100に送る。
【0045】
アプリケーションプログラム100は、性能情報やこれら情報を受け取り、上記生成した画像データを性能情報やこれら情報に基づいて、プリンタ(ここでは仮想的なプリンタ)に適合した印刷データに変換して、この変換後の印刷データを仮想プリンタドライバ110に送る。この印刷データの変換の処理は、前述したように効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理についてはここでは実施されない。
【0046】
図2に示すように、仮想プリンタドライバ110は、アプリケーションプログラム100から送られてきた印刷データを中間印刷データとして、その中間印刷データをまとめたデータセットを中間印刷ファイルMFとしてHDD41に一旦格納する。詳細には、図3に示すように、アプリケーションプログラム100から送られてきた印刷データを印刷データ受信部117により受信して、その後、その印刷データを中間印刷データとしてその中間印刷データをまとめたデータセットを、中間印刷データ出力部118によりHDD41に出力する。この中間印刷ファイルMFの中間印刷データは、その後、分散印刷ユーティリティ120により読み込まれる。なお、中間印刷ファイルMFは、HDD41に替えてRAM32に格納する構成としたり、フロッピィディスク22に格納する構成としたりすることもでき、さらには、他の外部記憶装置とすることもできる。また、仮想プリンタドライバ110は、プロパティ設定部113で設定された各種情報をプリンタプロパティデータとしてプロパティデータ出力部119を介して分散印刷ユーティリティ120に送る処理も行なう。
【0047】
図2に示すように、分散印刷ユーティリティ120は、中間印刷ファイルMFを構成する中間印刷データとプリンタプロパティデータとを受け取り、その中間印刷データを、プリンタプロパティデータに含まれるプリンタグループと分散形態に関する情報に従って各プリンタ60,70,80用に分配して、各プリンタ60,70,80に対応して設けられた実プリンタドライバ130,140,150に送る。分散印刷ユーティリティ120によるこうした処理について、次に詳しく説明する。
【0048】
図4に示すように、分散印刷ユーティリティ120は、まず、中間印刷データ入力部121により、中間印刷ファイルMFを構成する中間印刷データを取り込むとともに、プロパティデータ入力部122により、仮想プリンタドライバ110から送られてくるプリンタプロパティデータを受け取る。次いで、そのプリンタプロパティデータに含まれるプリンタグループと分散形態に関する情報に基づいて、割り振り決定部123により中間印刷データの割り振りを決定する。ここでいう割り振りというのは、中間印刷データをページ単位に分け、プリンタグループに属する各プリンタ60,70,80がそれぞれ引き受けるページを定めることである。
【0049】
こうして決定された割り振りの情報は出力データ制御部124に送られる。出力データ制御部124は、中間印刷データ入力部121で取り込んだ中間印刷データを、上記割り振りの情報に基づいて、上記プリンタ60,70,80の実プリンタドライバ130,140,150に対して振り分けながらそれぞれ出力する。なお、この実プリンタドライバ130,140,150へのデータ出力の際には、具体的には次のような作業を経て行なう。
【0050】
まず、割り振り先のプリンタに対してプリンタドライバを介して設定変更を指示する処理をプリンタ設定部125により行なう。次いで、出力命令出力部126により出力命令を発行して、その出力命令の発行を受けた実プリンタドライバ130,140,150から返送されてくるプリンタ60,70,80の性能についての性能情報を、性能情報入力部127により受け取る。出力データ制御部124は、性能情報入力部127から受け取った性能情報と、プロパティデータ入力部122から受け取ったプリンタプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)に基づいて、中間印刷データの割り振るべきページを割り振り先のプリンタ60,70,80に適合したデータに変換する。
【0051】
出力データ制御部124は、これら変換後の印刷データを最終印刷データとして、最終印刷データ出力部128を介して実プリンタドライバ130,140,150に送る。実プリンタドライバ130,140,150は、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ60,70,80に送信する。
【0052】
さらに、分散印刷ユーティリティ120は、実プリンタドライバ130,140,150からの信号に基づいて各プリンタ60,70,80の状態を監視するプリンタ監視部129を備えている。プリンタ監視部129は、各プリンタの混み具合やプリンタのエラー状態(故障は勿論のこと、用紙詰まり、用紙切れの状態等も含む)を監視するものである。出力データ制御部124は、このプリンタ監視部129からの信号を受け取り、上記分配された印刷データの出力に際して、混み合っていたりエラー状態にあるプリンタについては出力先を変更したり、出力先を中止したりする処理を行なう。
【0053】
なお、実プリンタドライバ130,140,150から送られてくる各プリンタ60,70,80の性能情報は、前述したように分散印刷ユーティリティ120で利用されるとともに、性能情報出力部12aを介して仮想プリンタドライバ110にも送られる。
【0054】
3.仮想プリンタドライバ
仮想プリンタドライバ110がコンピュータ10にインストールされたときに、オペレーティングシステムがどのような状態に変わるかを、次に説明する。なお、この説明に当たり、この仮想プリンタドライバ110が動作するオペレーティングシステムとして、Windows95(マイクロソフト社の商標)を例にとって説明する。
【0055】
ユーザ(作業者)は、コンピュータ10を次のように操作して、印刷のための各種情報を設定するダイアログボックスをCRTディスプレイ12の画面上に開く。すなわち、[スタート]→[設定]→[プリンタ]の操作を行なうことで、「プリンタ」ウィンドウを開く。図5は、この「プリンタ」ウィンドウを示す説明図である。仮想プリンタドライバ110がコンピュータ10にインストールされた場合、図示するように、「プリンタ」ウィンドウWN1には、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150のアイコンIC1,IC2,IC3に加えて、仮想プリンタドライバ110に対応する例えば「分散印刷」と表記されたアイコンIC4が表示されることになる。即ち、仮想プリンタドライバ110も実プリンタドライバと同様に、インストールされると、その仮想プリンタドライバ110に対応したアイコンIC4が「プリンタ」ウィンドウWN1に表示されることになる。
【0056】
なお、その「プリンタ」ウィンドウ上の仮想プリンタドライバ110に対応した「分散印刷」のアイコンIC4をダブル・クリックして、その仮想プリンタドライバ110についてのウィンドウを開き、その後、そのウィンドウから[プリンタ]→[プロパティ]の操作を行なうと、その仮想のプリンタについての各種情報を設定する「分散印刷プロパティ」のダイアログボックスが表示される。作業者は、この「分散印刷プロパティ」のダイアログボックスに従ってマウス20およびキーボード18を操作することにより、各種の設定情報を入力することが可能となる。なお、この「分散印刷プロパティ」のダイアログボックスが、前述したユーザインタフェース116に相当する。
【0057】
4.ユーザインタフェース
図6は、「分散印刷プロパティ」のダイアログボックスWN2を例示する説明図である。図示するように、「分散印刷プロパティ」のダイアログボックスWN2には、「分散設定」、「プリンタ」の2種類のカードCD1,CD2が用意されている。「分散設定」のカードCD1は、分散印刷する場合の分散形態に関わる情報等を設定するためのものである。「プリンタ」のカードCD2は、分散先となり得るプリンタグループに関わる情報、印刷の基本設定に関する情報および用紙設定に関する情報等を設定するためのものである。両カードCD1,CD2のいずれかが、作業者によって、マウス20を操作することにより選択されて、ダイアログボックスWN2に表示される。図6には、「分散設定」のカードCD1が表示された状態が例示されている。なお、カードCD1,CD2の内容の組み分けは、上記例に限る訳ではなく、1枚のカードで全ての内容を含む構成としてもよく、あるいは、より細かく分けて3枚以上のカードに分ける構成としてもよい。
【0058】
図示するように、「分散設定」のカードCD1には、「ドキュメント」、「リカバリ」、「指定日時」の3つのフィールドfd1,fd2,fd3が設けられている。「ドキュメント」のフィールドfd1は、文書の印刷形態を設定するためのもので、「部数」についてのデータ入力欄id1、「部単位で印刷する」のチェックボックスid2、「部、ページ単位でまとめる」のチェックボックスid3、「ジョブのまとめ方」についてのデータ入力欄id4、「区切りページ」についてのデータ入力欄id5が設けられている。各データ入力欄(チェックボックスを含む、以下同じ)id1〜id5は次のような仕様にて設計されている。
【0059】
1)「部数」のデータ入力欄id1:
印刷する部数を入力する。アプリケーションプログラム100で設定された内容がデフォルトとして入力される。
2)「部単位で印刷する」のチェックボックスid2:
このチェックボックスid2がオン状態のとき、丁合い印刷となり、オフ状態のとき、スタック印刷となる。ここで、丁合い印刷とは、部単位で、各部はページ順にて出力を行なうものであり、スタック印刷とは、ページ単位で、同一ページを部数分まとめて出力を行なうものである。
3)「部、ページ単位でまとめる」のチェックボックスid3:
このチェックボックスid3がオン状態のときには、上記部単位もしくはページ単位の一集合が複数のプリンタに渡ることを禁止し、オフ状態のときには、その一集合が複数のプリンタに渡ることを許可する。
【0060】
4)「ジョブのまとめ方」のデータ入力欄id4:
このデータ入力欄id4における「プリンタ単位」のラジオボタンが選択されると、一のプリンタから出力する全ページを一つのまとまりとして扱う。このラジオボタンが選択されると、ネットワークに接続された共有プリンタ70,80において他の使用者の印刷結果との混在がなくなる。一方、「部、ページ番号単位」のラジオボタンが選択されると、上記部単位やページ単位の一集合ごとを一つのまとまりとして扱う。ローカルのプリンタ60に分散する場合や他の使用者の印刷結果と混在しても問題ないような場合に利用する。
【0061】
5)「区切りページ」のデータ入力欄id5:
区切りページとは、他の使用者の印刷結果と上記まとまりの単位で混在した場合に判別できるように、上記まとまりの先頭や末尾に設けるページである。「先頭」のチェックボックスがクリックされた場合には、まとまりの先頭位置に区切りページを印刷する。「末尾」のチェックボックスがクリックされた場合には、まとまりの末尾位置に区切りページを印刷する。なお、区切りページには、印刷する文書名や部数、ページ数、使用者名などが印刷される。
【0062】
なお、この「ドキュメント」のフィールドfd1には、上記データ入力欄id1〜id5の他に、上記データ入力欄id1〜id5の設定内容によって決定される分散形態を表わす分散形態表示欄ddが設けられている。この分散形態表示欄ddは、データ入力欄id1〜id5の設定内容によって決定される分散形態がどのようなものであるかをイラスト画像にて示すものである。
【0063】
次に、データ入力欄id1〜id5の設定の内容によって分散形態表示欄ddのイラスト画像がどのように決まるかを、図7および図8を用いて説明する。まず最初に、「部数」のデータ入力欄id1、「部単位で印刷する」のチェックボックスid2、「部、ページ単位でまとめる」のチェックボックスid3によってイラスト画像がどのように決まるかを説明する。
【0064】
図7は、データ入力欄id1と2つのチェックボックスid2,id3の設定の内容によって分散形態表示欄ddのイラスト画像がどのように変わるかを示す説明図である。図示の表において、列は、部単位で印刷するか否か、すなわち、「部単位で印刷する」のチェックボックスid2がオン状態であるかオフ状態であるかによって定まり、行は、部、ページ単位でまとめないか否か、すなわち、「部、ページ単位でまとめる」のチェックボックスid3がオフ状態であるかオン状態であるかによって定まる。この表は、「部数」データ入力欄id1から設定される部数が4部である場合の一例である。
【0065】
「部単位で印刷する」で、かつ「部、ページ単位でまとめない」の場合には、表中第1行、第1列のセルC11に示すように、1台目のプリンタ60には、丁合で第1部の第1ページと第2ページが次いで第2部の第1ページが印刷され、2台目のプリンタ70には、第2部の第2ページ、第3部の第1ページと第2ページが印刷され、3台目のプリンタ80には、第4部の第1ページと第2ページが印刷されることを示すイラスト画像が表示される。
【0066】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめない」の場合には、表中第1行、第2列のセルC12に示すように、スタック印刷となることから、1台目のプリンタ60には、第1ページが3部印刷され、2台目のプリンタ70には、第1ページの必要部数の残り分と第2ページが2部印刷され、3台目のプリンタ80には、第2部の必要部数の残り分とが印刷されることを示すイラスト画像が表示される。
【0067】
「部単位で印刷する」で、かつ「部、ページ単位でまとめる」の場合には、表中第2行、第1列のセルC21に示すように、1台目のプリンタ60は、1単位が複数のプリンタに渡ることを禁止することから、第1部の第1ページから第2部の第2ページまで印刷され、2台目のプリンタ70には、第3部の第1ページと第2ページが印刷され、3台目のプリンタ80には、第4部の第1ページと第2ページが印刷されることを示すイラスト画像が表示される。
【0068】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめる」の場合には、表中第2行、第2列のセルC22に示すように、1台目のプリンタ60には、第1ページが必要部数分印刷され、2台目のプリンタ70には、第2ページが必要部数分印刷されることを示すイラスト画像が表示される。
【0069】
次に、データ入力欄id1〜id3の設定内容から決まるイラスト画像が、「ジョブのまとめ方」のデータ入力欄id4と「区切りページ」のデータ入力欄id5によってどのように変わるかを説明する。図8は、データ入力欄id4,id5によって分散形態表示欄ddのイラスト画像がどのように決まるかを示す説明図である。図8に示したイラスト画像の一例は、データ入力欄id1〜id3の内容によって図7中のセルC11に示すようにイラスト画像が決定した場合に、データ入力欄id4,id5の設定内容に応じてさらにどのように変わるかを示すものである。
【0070】
図8の表において、列は、「ジョブのまとめ方」のデータ入力欄id4において「プリンタ単位」、「部、ページ番号単位」のいずれのラジオボタンが選択されたかによって定まり、行は、「区切りページ」のデータ入力欄id5において「先頭」、「末尾」の両チェックボックスがどのように指示されているかによって定まる。
【0071】
「ジョブのまとめ方」のデータ入力欄id4において、「プリンタ単位」のラジオボタンがクリックされている場合、表中の第1行、第1列のセルCE11に示すように、図7のセルC11とそのイラスト画像は変わらず、一のプリンタから印刷される全ページはまとめられた形となる。一方、「部、ページ番号単位」のラジオボタンがクリックされている場合には、第1行、第2列のセルCE12に示すように、部、もしくはページ単位の集合がまとめられ、それらは次の集合との間で一旦分けられる。なお、実際は、「プリンタ単位」のラジオボタンがクリックされている場合も「部、ページ番号単位」のラジオボタンがクリックされている場合にも、区切りページがないことから同じ印刷結果となる。
【0072】
「区切りページ」のデータ入力欄id5から区切りページがあると判別された場合には、表中の第2行目、第3行目、第4行目に示すように、第1行目にてまとめられた区分に対して、先頭、末尾、または両者に区切りページ(図中黒塗りの部分)が差し込まれた形にイラスト画像は定められる。この表によって決定されるイラスト画像が、分散形態表示欄ddに表示される。
【0073】
図6に戻り、「リカバリ」のフィールドfd2は、分散印刷されるプリンタでエラーが発生した場合に他のプリンタでリカバリさせる際のリカバリ先を指定するためのものである。この「リカバリ」のフィールドfd2には、「リカバリしない」、「出力先を指定する」、「リカバリ先を自動で選択する」の3つのラジオボタンが設けられている。「リカバリしない」のラジオボタンが選択された場合には、分散印刷されるプリンタでエラーが発生した場合にもリカバリをしないものとする。「出力先を指定する」のラジオボタンが選択された場合には、「プリンタ」のデータ入力欄から入力された出力先をリカバリ先とする。「リカバリ先を自動で選択する」のラジオボタンが選択された場合には、エラーが発生したプリンタと同機種のプリンタをリカバリ先とする。同機種のプリンタがなければ空いているプリンタをリカバリ先とする。
【0074】
「指定日時」のフィールドfd3は、印刷時間を指定するもので、「印刷日時を指定する」のチェックボックスが指定された場合には、「指定日時」の欄から入力された時間に印刷が開始される。
【0075】
「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2について、図9を用いて次に説明する。図示するように、「プリンタ」のカードCD2には、「プリンタグループ」のフィールドfd4と、「用紙設定」のフィールドfd5と、内容表示欄fd6が設けられている。
【0076】
「プリンタグループ」のフィールドfd4は、文書を分散して印刷するプリンタのグループを指定するためのもので、「グループ名」のデータ入力欄id11と「プリンタ」の表示欄id12と「グループ設定」のボタンid13とが設けられている。「グループ名」のデータ入力欄id11は、そのグループの名前を設定するためのものであり、予め設定されたグループ名が選択肢として用意される。「プリンタ」の表示欄id12は、「グループ名」のデータ入力欄id1から設定されたグループに属するプリンタ名を表示する。「グループ設定」のボタンid13は、図示しない新たなウィンドウを開き作業者からのデータ入力を受け付けることで、「グループ名」のデータ入力欄id11に用意される選択肢の追加、削除を行なう。「プリンタグループ」のフィールドfd4によって指定されるグループに属する全てのプリンタ、すなわち、「プリンタ」の表示欄id12に表示される各プリンタに対して、コンピュータ10は分散印刷を行なうことになる。すなわち、コンピュータ本体16にローカルまたはコンピュータネットワーク90にて接続される全てのプリンタの中でも、この「プリンタグループ」のフィールドfd4によって指定されるグループのプリンタ群だけが印刷の分散先となることになる。
【0077】
「用紙設定」のフィールドfd5は、用紙や印刷品質を設定するためのもので、「用紙サイズ」、「用紙方向」、「用紙種類」、「色」、「解像度」をそれぞれ設定するデータ入力欄id14,id15,id16,id17が設けられている。
【0078】
「用紙サイズ」のデータ入力欄id14は、使用する用紙サイズを用紙の種類と共に設定するもので、例えば、「A4 210×297mm」、「A4横 210×297mm」、「洋封筒 120×235」、「ハガキ 100×147mm」等が選択肢として用意されている。「用紙方向」のデータ入力欄id15は、プリンタにおいて用紙のセットされる方向を示すものであり、「縦」と「横」とが選択可能である。「用紙種類」のデータ入力欄id16は、用紙の種類を設定するもので、「普通紙」、「スーパーファイン専用紙」、「専用光沢紙」が選択肢として用意されている。「色」のデータ入力欄id17は、プリンタ14に使用するインクの種類を設定するもので、「カラー」と「モノクロ」とが選択肢として用意されている。「解像度定」のデータ入力欄id18は、印刷する解像度を設定するもので、「はやい」、「きれい」の2種類が選択肢として用意されている。ここで、「はやい」、「きれい」は、例えば、順に360×360(dot)、720×720(dot)の解像度を示すものである。
【0079】
内容表示欄fd6は、「プリンタグループ」のフィールドfd1と「用紙設定」のフィールドfd5から設定された内容のうちの所望のデータを表示する。
【0080】
以上のように構成された「分散印刷プロパティ」のダイアログボックスWN2に従って、作業者はマウス20およびキーボード18を操作することにより、各種の設定情報がコンピュータ本体16に入力されることになる。なお、このデータ入力の際に、各プリンタ60,70,80の性能情報によっては上記入力データの取り込みは制限されるように構成されている。例えば、各プリンタ60,70,80の性能情報から、これらプリンタ60,70,80は共にA4までの用紙サイズしか印刷不可能な場合には、「分散印刷プロパティ」のダイアログボックスWN2の「用紙サイズ」のデータ入力欄id14は、A4より大きい用紙サイズは選択肢から除外する構成として、A4より大きい用紙サイズについての入力データは取り込み不可能としている。
【0081】
5.コンピュータプログラム
図3に示した仮想プリンタドライバ110にて実現される各部111〜119は、実際は、コンピュータプログラムである仮想プリンタドライバ110とその仮想プリンタドライバ110に従ってCPU30により実行される各種処理とにより実現されている。また、図4に示した分散印刷ユーティリティ120にて実現される各部121〜129は、実際は、コンピュータプログラムである分散印刷ユーティリティ120とその分散印刷ユーティリティ120に従ってCPU30により実行される各種処理とにより実現されている。
【0082】
上記分散印刷ユーティリティ120は、仮想プリンタドライバ110と同様に、フロッピィディスク22に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ24からコンピュータ10にインストールされる。このインストールされた分散印刷ユーティリティ120は、HDD41に記憶されており、コンピュータ10に電源を投入したときに、オペレーティングシステムに組み込まれ、RAM32の所定の領域にロードされる。なお、分散印刷ユーティリティ120は、仮想プリンタドライバ110と同様に、フロッピィディスク22に格納されたものに替えて、CD−ROM、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、この分散印刷ユーティリティ120は、外部のコンピュータネットワーク(例えばインターネット)に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD41に転送することにより得るようにすることもできる。
【0083】
図10は、仮想プリンタドライバ110で記述される処理ルーチンを、アプリケーションプログラム100で記述される処理ルーチンとともに示すフローチャートである。図示するように、このコンピュータ本体16のCPU30は、まず、アプリケーションプログラム100に処理を移して、画像の処理を行って画像データを作成する処理を行なう(ステップS210)。このアプリケーションプログラム100は、文書や絵図等を作成する汎用のアプリケーションプログラムであり、それぞれのアプリケーションプログラム特有の機能を使って画像データが作成される。
【0084】
次いで、CPU30は、この作成されたアプリケーションプログラムに備えられる[印刷]のコマンドを実行することで、分散印刷を行なう旨の印刷命令を発行する処理を行なう(ステップS220)。詳細には、印刷のコマンドが操作されたときに、CRTディスプレイ12に「印刷」のダイアログボックス(図示せず)が表示されるが、ここで「OK」のボタンがクリックされるのを受けて、アプリケーションプログラムは仮想プリンタドライバ110に対して印刷命令を発行する処理を行なう。なお、この「印刷」のダイアログボックスにおいて「プロパティ」のボタンがクリックされた場合には、仮想プリンタドライバ110に従う処理ルーチンにより、「分散印刷プロパティ」のダイアログボックスを表示させ、キーボード18とマウス20からの入力データを読み取ることで、分散印刷に係わる各種情報を設定する処理を行なっており、その後、印刷命令が発行される。上記印刷命令の発行は、アプリケーションプログラムからオペレーティングシステムを介して行なう構成とすることもできる。
【0085】
アプリケーションプログラム100に従う処理により印刷命令が発行されると、CPU30は、仮想プリンタドライバ110に処理を移して、アプリケーションプログラム100による処理から印刷命令を取り込んだか否かを判別する(ステップS310)。ここで、印刷命令を取り込んでいないと判別されると、ステップS310の判別処理を繰り返し実行して、アプリケーションプログラム100からの印刷命令が取り込まれるのを待つ。一方、ステップS310で印刷命令が取り込まれたと判別されたときには、以下の処理を実行する。
【0086】
CPU30は、まず、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150から分散印刷ユーティリティ120が取り込んだ各プリンタ60,70,80の性能情報を、分散印刷ユーティリティ120から取り込む(ステップS320)。その後、CPU30は、これら各プリンタ60,70,80の性能情報から最も高いものを抽出して、これを仮想プリンタの性能情報と決定する(ステップS330)。その後、CPU30は、この仮想プリンタの性能情報をアプリケーションプログラム100に送る(ステップS340)。
【0087】
仮想プリンタドライバ110から仮想プリンタの性能情報が送られてくると、CPU30は、アプリケーションプログラム100に処理を移して、その仮想プリンタの性能情報を取り込む(ステップS240)。次いで、CPU30は、その性能情報と、仮想プリンタドライバ110で設定した分散印刷に係わる各種情報のうちの印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)とに基づいて、ステップS210で作成した画像データを仮想プリンタに適合した印刷データに変換する(ステップS250)。なお、前述したように、この印刷データの変換の処理は、効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理は含まない。その後、この変換後の印刷データを仮想プリンタドライバ110に送る(ステップS260)。CPU30は、ステップS260の処理を終えると、アプリケーションプログラム100の処理ルーチンを終了する。
【0088】
アプリケーションプログラム100から仮想プリンタに適合した印刷データが送られてくると、CPU30は、仮想プリンタドライバ110に処理を移して、その印刷データを取り込む(ステップS350)。続いて、CPU30は、その取り込んだ印刷データを中間印刷データとして、その中間印刷データをHDD41に出力する(ステップS360)。この結果、この中間印刷データをまとめたデータセットが中間印刷ファイルMFとしてHDD41に格納される。CPU30は、ステップS360の処理を終えると、仮想プリンタドライバ110の処理ルーチンを終了する。
【0089】
図11および図12は、分散印刷ユーティリティ120で記述される処理ルーチンを示すフローチャートである。この処理ルーチンは、仮想プリンタドライバ110の処理ルーチンを終了後、起動されるものである。処理が開始されると、図11に示すように、CPU30は、まず、HDD41から中間印刷ファイルMFの中間印刷データを取り込む(ステップS410)。次いで、CPU30は、仮想プリンタドライバ110で設定された各種情報であるプリンタプロパティデータを取り込む(ステップS420)。
【0090】
続いて、CPU30は、ステップS420で取り込んだプリンタプロパティデータに含まれるプリンタグループに関する情報と分散形態に関する情報に基づいて、ステップS410で取り込んだ中間印刷データの割り振りを決定する処理を行なう(ステップS430)。この割り振りは、中間印刷データを構成する各ページをプリンタグループに属する各プリンタ60,70,80に対してどのように割り振るかを定めるものである。即ち、「分散印刷プロパティ」のダイアログボックスWN2で設定した分散形態が実現されるように(即ち、「分散設定」のカードCD1の分散形態表示欄ddに表示された図8に例示した分散形態が実現されるように)、中間印刷データを構成する各ページをどのように各プリンタ60,70,80用に割り振るかを定めている。こうして定めた各ページについてのプリンタの出力先を示すデータは出力先リストデータとしてRAM32に記憶する。
【0091】
図13は、その出力先リストデータの一例を示す説明図である。図示の例は、3ページから構成される文書を3台のプリンタ60,70,80に1部ずつ印刷する場合を示している。図示するように、3台のプリンタ60,70,80に対して1ページから3ページまでの各ページがそれぞれ、印刷するページ番号として定められる。
【0092】
ステップS430で各ページの出力先の割り振りが決まると、次いで、この割り振りに従って実際に印刷がなされるように、以下の処理を実行する。まず、図12に示すように、CPU30は、印刷の対象となるプリンタを示すプリンタカウンタC1を値1にセットする(ステップS440)。ここで、プリンタカウンタC1は、値1のとき1台目のプリンタ60を、値2のとき2台目のプリンタ70を、値3のとき3台目のプリンタ70というように分散先の各プリンタを示すものとする。
【0093】
次いで、CPU30は、プリンタカウンタC1の値に対応するプリンタに対して設定変更を指示する処理を行なう(ステップS450)。この処理は、印刷しようとするプリンタに対してプリンタドライバを介して印刷の用意を促すもので、上記ステップS420で取り込んだプリンタプロパティデータに含まれる印刷の基本設定に関する情報と用紙設定に関する情報のうちから必要な設定情報をプリンタドライバに対して指示を行なう。例えば、用紙の種類は「専用光沢紙」であるということをプリンタドライバに知らせることで、プリンタに対してその用紙に適した印刷が可能な状態となるように定める。
【0094】
続いて、CPU30は、印刷の対象となるページ数を示すページカウンタC2を値1にセットする(ステップS460)。その後、CPU30は、ステップS430で求めた出力先リストデータに、プリンタカウンタC1およびページカウンタC2で特定されるページが含まれるか否かを判別する(ステップS470)。ここで、出力先リストデータに含まれると判別されると、以下の処理を行なう。まず、プリンタカウンタC1の値に対応するプリンタに対して印刷を実行させるべく、そのプリンタの実プリンタドライバ130(140,150)に対して出力命令を発行する(ステップS480)。その出力命令の発行を受けた実プリンタドライバ130(140,150)からは、プリンタ60(70,80)の性能についての性能情報が返送されてくることから、次いで、CPU30は、その性能情報を取り込む(ステップS490)。続いて、その性能情報と、ステップS420で取り込んだプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等(プリンタグループと分散形態に関する情報を除く)とに基づいて、プリンタカウンタC1およびページカウンタC2で特定されるページについての最終印刷データを作成する処理を行なう(ステップS500)。詳しくは、ステップS410で取り込んだ中間印刷データの中からページカウンタC2の値に対応したページのページデータを抽出し、この抽出したページデータを、上記性能情報、印刷の基本設定に関する情報および用紙設定に関する情報等に基づいて、プリンタカウンタC1の値に対応したプリンタ60(70,80)に適合したデータに変換することにより、最終印刷データを作成する。
【0095】
その後、CPU30は、その最終印刷データをプリンタカウンタC1の値に対応したプリンタ60(70,80)の実プリンタドライバ130(140,150)に出力する(ステップS510)。実プリンタドライバ130,140,150では、前述したように、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ60,70,80に送信する。
【0096】
なお、ステップS480ないしS510で印刷を実行させる前に、実プリンタドライバ130,140,150からの信号に基づいて各プリンタ60,70,80の状態を監視する処理を行ない、この監視結果が、出力先のプリンタが混み合っていたりエラー状態にあるといったエラー状態にあるというものであるときには、その出力先へのプリンタについては出力先を変更したり、出力先を中止したりする処理を行なうよう構成することもできる。
【0097】
その後、CPU30は、ページカウンタC2の値を1だけインクリメントする(ステップS520)。なお、ステップS470で否定判別されたときには、ステップS480ないしS510を読み飛ばして直ちにステップS520に進む。その後、CPU30は、ページカウンタC2の値が最終ページを示す値LC2を超えたか否かを判別する(ステップS530)。ここで、最終ページを示す値LC2を超えていないと判別されると、処理をステップS470に戻して、上記値1を増加したページについての最終印刷データの作成および出力の処理を行なう。一方、ステップS530でページカウンタC2の値が最終ページを示す値LC2を超えたと判別されたときには、CPU30は、プリンタカウンタC1の値を1だけインクリメントして(ステップS540)、そのプリンタカウンタC1の値が最後のプリンタを示す値LC1を超えたか否かを判別する(ステップS550)。ここで、最後のプリンタを示す値LC1を超えていないと判別されると、処理をステップS450に戻して、上記値1を増加したプリンタカウンタC1で示される次のプリンタ70(80,60)についての各ページの最終印刷データの作成および出力の処理を行なう。一方、ステップS550でプリンタカウンタC1の値が最終ページを示す値LC1を超えたと判別されたときには、全てのプリンタについての印刷を要する全てのページの最終印刷データの作成・出力が終了したとして、「エンド」に抜けて、分散印刷ユーティリティの処理ルーチンを終了する。
【0098】
なお、この分散印刷ユーティリティの処理ルーチンは、前述したように、1ページから最終ページまでの最終印刷データの作成および出力の処理を第1のプリンタから最終のプリンタまで各プリンタ単位で順に行なうよう記述されているが、これはフローチャートの記載上の便宜のためにこのように記述されたものであり、実際は、1ページから最終ページまでの最終印刷データの作成および出力の処理を各プリンタ毎に時分割によりマクロ的に並行処理されるよう構成されている。
【0099】
図14は、以上のように構成されたコンピュータシステムによって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。図示の例は、3ページから構成される文書を3台のプリンタ60,70,80に1部ずつ印刷する場合についてが示されている。図示するように、この実施例では、最初、中間印刷データの作成がなされ(▲1▼)、次いで、その中間印刷データの1ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタに適合するようにデータ変換される(▲2▼、▲3▼、▲4▼)。なお、プリンタ60用に変換されたデータ(最終印刷データ)のプリンタ60への送信の処理は、次のプリンタ70用へのデータ変換と並列に行なわれており、同様に、プリンタ70への送信の処理もプリンタ80への送信も次の処理と並列に行なわれる。次いで、中間印刷データの2ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタに適合するようにデータ変換され(▲5▼、▲6▼、▲7▼)、続いて、中間印刷データの3ページ目のページデータが、並行処理により、プリンタ60用、プリンタ70用、プリンタ80用と順に各プリンタに適合するようにデータ変換される(▲8▼、▲9▼、○10)。こうして全ての印刷が終了する。
【0100】
これに対して、従来例では、まず、1ページ目のページデータを1台目のプリンタAに適合するようにデータ変換する処理が行なわれ、その後、その変換されたデータをプリンタAに送信する処理が行なわれる。次いで、2ページ目のページデータを1台目のプリンタAに適合するようにデータ変換する処理が行なわれ、その後、その変換されたデータをプリンタAに送信する処理が行なわれる。続いて、3ページ目のページデータを1台目のプリンタAに適合するようにデータ変換する処理が行なわれ、その後、その変換されたデータをプリンタAに適合するように送信する処理が行なわれる。さらにその後、2台目のプリンタBについても、1台目のプリンタAと同様に、1ページ目、2ページ目、3ページ目と順に、データ変換およびプリンタへの送信が行なわれる。その後、3台目のプリンタCについても、1台目のプリンタAと同様に、1ページ目、2ページ目、3ページ目と順に、データ変換およびプリンタへの送信が行なわれる。
【0101】
したがって、この実施例では、データ変換の処理とプリンタへの送信の処理とが並列に行なわれていることから、従来例と比較して、印刷に要する全体の時間を短縮することができるという効果を奏する。
【0102】
また、この実施例によれば、アプリケーションプログラム100からは仮想プリンタドライバ110に対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから各プリンタ60,70,80への分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で[印刷]のコマンドを一度行なえばよく、作業性に優れているという効果を奏する。
【0103】
この実施例では、「プリンタ」ウィンドウWN1に、プリンタ60,70,80の機種毎に用意される実プリンタドライバ130,140,150のアイコンIC1,IC2,IC3と同様に、仮想プリンタドライバ110に対応するアイコンIC4も表示されることから、実プリンタドライバ130,140,150を起動するアイコンIC1,IC2,IC3と同様の操作で、仮想プリンタドライバ110を起動すること可能となる。したがって、仮想プリンタドライバ110の各種情報の設定を操作性よく行なうことができる。
【0104】
また、この実施例では、仮想プリンタドライバ110で設定した各種情報のうちの印刷の基本設定や用紙設定に関する情報を、各実プリンタドライバで利用することができることから、各実プリンタドライバ毎に別々に情報の設定を行なう必要がない。したがって、より操作性に優れている。
【0105】
この実施例では、「分散印刷プロパティ」のダイアログボックスWN2から分散形態に関わる情報や分散先となり得るプリンタグループに関わる情報を設定することができる。このために、作業者はプリンタの分散先を定めるために必要な各種情報を容易に設定することができる。特にこの実施例では、プリンタグループに関わる情報を設定することにより、コンピュータネットワーク90に接続された全てのプリンタの内から予め定めたグループ内のプリンタに印刷の分散先を制限することができることから、作業者は印刷物の出力先を予め限られた範囲内とすることができ、この結果、作業性に優れている。
【0106】
この実施例では、仮想プリンタドライバ110により生成された中間印刷データを、HDD41に中間印刷ファイルMFとして格納するよう構成されていることから、印刷結果に不備があったりして再度同じ印刷を行なおうとする場合に、中間印刷ファイルMFを利用することでアプリケーションプログラム100を起動せずに印刷を行なうことができる。
【0107】
本発明の他の実施形態について、次に説明する。上記実施例では、この発明の分散印刷制御装置として、印刷を行なう1台のコンピュータ10から複数のプリンタ60,70,80に対して直接印刷データを出力する構成としていたが、これに替えて、コンピュータネットワーク90上に、サーバを用意し、サーバ上でプリンタを管理して分散印刷を行なうクライアント/サーバ方式の構成とすることもできる。この構成では、各クライアントに仮想プリンタドライバを内蔵し、サーバに分散印刷ユーティリティを内蔵するようにすればよい。
【0108】
以上、本発明の一実施例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【図1】この発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図2】分散印刷処理の全体の様子を概略的に示すブロック図である。
【図3】分散印刷処理に用いられる仮想プリンタドライバ110の処理の様子を示すブロック図である。
【図4】分散印刷処理の一部を実現する分散印刷ユーティリティ120の処理の様子を示すブロック図である。
【図5】「プリンタ」ウィンドウWN1を示す説明図である。
【図6】「分散印刷プロパティ」のダイアログボックスWN2に表示される「分散設定」のカードCD1を示す説明図である。
【図7】データ入力欄id1〜id3の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図8】データ入力欄id4、id5の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図9】「分散印刷プロパティ」のダイアログボックスWN2に表示される「プリンタ」のカードCD2を示す説明図である。
【図10】アプリケーションプログラム100で記述される処理ルーチンと仮想プリンタドライバ110で記述される処理ルーチンを示すフローチャートである。
【図11】分散印刷ユーティリティ120で記述される処理ルーチンの前半部分を示すフローチャートである。
【図12】分散印刷ユーティリティ120で記述される処理ルーチンの後半部分を示すフローチャートである。
【図13】出力先リストデータの一例を示す説明図である。
【図14】この実施例によって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。
【符号の説明】
10…コンピュータ
12…CRTディスプレイ
14…プリンタ
16…コンピュータ本体
18…キーボード
20…マウス
22…フロッピィディスク
24…フロッピィディスクドライブ
30…CPU
31…ROM
32…RAM
33…表示画像メモリ
34…マウスインタフェース
35…キーボードインタフェース
36…FDC
37…HDC
38…CRTC
39…プリンタインタフェース
40…ネットワーク制御回路
41…HDD
60,70,80…プリンタ
90…コンピュータネットワーク
100…アプリケーションプログラム
110…仮想プリンタドライバ
111…印刷命令受信部
112…性能情報返信部
113…プロパティ設定部
114…性能情報入力部
115…仮想プリンタ性能決定部
116…ユーザインタフェース
117…印刷データ受信部
118…中間印刷データ出力部
119…プロパティデータ出力部
120…分散印刷ユーティリティ
121…中間印刷データ入力部
122…プロパティデータ入力部
123…割り振り決定部
124…出力データ制御部
125…出力命令出力部
126…性能情報入力部
127…最終印刷データ出力部
128…プリンタ監視部
129…性能情報出力部
130,140,150…実プリンタドライバ
IC1〜IC4…アイコン
MF…中間印刷ファイル
PG…ページカウンタ
WN1…ウィンドウ
WN2…「分散印刷プロパティ」のダイアログボックス

Claims (13)

  1. 複数のプリンタに接続され、アプリケーションプログラムにより生成された印刷すべき印刷データを前記複数のプリンタ用に分配して各プリンタに分散印刷させる分散印刷制御装置であって、
    前記プリンタの機種毎に設けられた複数のプリンタドライバを記憶するプリンタドライバ記憶手段と、
    前記各プリンタドライバから分散先となり得る全てのプリンタの性能についての情報を取り込み、該取り込んだ全てのプリンタの性能についての情報から最も高度な描画命令を使用して描画を行なうプリンタについての性能情報を選択して、該選択した性能情報を仮想的なプリンタの性能情報と定めて、前記アプリケーションプログラムに対して前記仮想的なプリンタの性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る仮想プリンタドライバ実行手段と、
    該得られた中間印刷データを前記複数のプリンタ用に分配する分配手段と、
    前記分配手段により分配された各中間印刷データを、前記各プリンタドライバから取り込んだ各プリンタの性能情報に基づいてそれぞれデータ変換することにより、各プリンタに適合する最終印刷データに変換して、各最終印刷データを各プリンタドライバを介して各プリンタに出力する出力制御手段と
    を備えることを特徴とする分散印刷制御装置。
  2. 請求項1に記載の分散印刷制御装置であって、
    表示装置に入力用ウィンドウを表示するとともに、マウス、キーボード等の入力装置からの入力データに基づいて前記仮想的なプリンタにおける印刷のための各種情報を設定する仮想プリンタ用印刷情報設定手段
    を備える分散印刷制御装置。
  3. 前記仮想プリンタ用印刷情報設定手段により設定された各種情報のうちの少なくとも一部を、前記各プリンタドライバによる処理に供する情報配送手段を備える請求項2に記載の分散印刷制御装置。
  4. 請求項2または3に記載の分散印刷制御装置であって、
    前記接続された複数のプリンタ毎に個別に設けられ、各プリンタにおける印刷のための各種情報を設定する実プリンタ用印刷情報設定手段と、
    前記実プリンタ用印刷情報設定手段をそれぞれ動作させる複数のアイコンと、前記仮想プリンタ用印刷情報設定手段を動作させるアイコンとを共に含む表示ウィンドウを表示装置に表示する表示制御手段と
    を備える分散印刷制御装置。
  5. 請求項1ないし4のいずれかに記載の分散印刷制御装置であって、
    前記印刷データの分配についての入力用ウィンドウを表示するとともに、前記入力装置からの入力データに基づいて、前記印刷データを前記複数のプリンタ用に分配するための各種情報を設定する分配情報設定手段
    を備え、
    前記分配手段は、
    前記分配情報設定手段により設定された各種情報に基づいて、前記印刷データを前記複数のプリンタ用に分配する処理を行なう構成である
    分散印刷制御装置。
  6. 前記印刷データを前記複数のプリンタ用に分配するための各種情報のうちの一つが、前記印刷データの分配先を前記接続される複数のプリンタから選択される所定のグループ内のプリンタに制限するための情報である請求項5に記載の分散印刷制御装置。
  7. 前記仮想プリンタドライバ実行手段により生成された中間印刷データを、外部記憶装置に中間印刷ファイルとして一旦格納するよう構成した請求項1ないし6のいずれかに記載の分散印刷制御装置。
  8. 前記複数のプリンタの接続が、コンピュータネットワークにより接続した構成である請求項1ないし7のいずれかに記載の分散印刷制御装置。
  9. アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して各プリンタに分散印刷させる分散印刷制御方法であって、
    (a)前記プリンタの機種毎に設けられた複数のプリンタドライバを記憶装置に予め用意する工程と、
    (b)前記各プリンタドライバから分散先となり得る全てのプリンタの性能についての情報を取り込み、該取り込んだ全てのプリンタの性能についての情報から最も高度な描画命令を使用して描画を行なうプリンタについての性能情報を選択して、該選択した性能情報を仮想的なプリンタの性能情報と定めて、前記アプリケーションプログラムに対して前記仮想的なプリンタの性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る工程と、
    (c)該得られた中間印刷データを前記複数のプリンタ用に分配する工程と、
    (d)前記工程(c)により分配された各中間印刷データを、前記各プリンタドライバから取り込んだ各プリンタの性能情報に基づいてそれぞれデータ変換することにより、各プリンタに適合する最終印刷データに変換して、各最終印刷データを各プリンタドライバを介して各プリンタに出力する工程と
    を備えることを特徴とする分散印刷制御方法
  10. 複数のプリンタに接続され、アプリケーションプログラムにより生成された印刷すべき印刷データを複数のプリンタ用に分配して各プリンタに分散印刷させる分散印刷制御装置において用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    (a)前記プリンタの機種毎に設けられた複数のプリンタドライバを記憶装置に予め用意する機能と、
    (b)前記各プリンタドライバから分散先となり得る全てのプリンタの性能についての情報を取り込み、該取り込んだ全てのプリンタの性能についての情報から最も高度な描画命令を使用して描画を行なうプリンタについての性能情報を選択して、該選択した性能情報を仮想的なプリンタの性能情報と定めて、前記アプリケーションプログラムに対して前記仮想的なプリンタの性能情報に基づくデータ変換処理を実行させて、前記アプリケーションプログラムから前記仮想的なプリンタに適合する中間印刷データを得る機能と
    )該得られた中間印刷データを前記複数のプリンタ用に分配する機能と、
    )前記機能()により分配された各中間印刷データを、前記各プリンタドライバから取り込んだ各プリンタの性能情報に基づいてそれぞれデータ変換することにより、各プリンタに適合する最終印刷データに変換して、各最終印刷データを各プリンタドライバを介して各プリンタに出力する機能と
    を、コンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
  11. 請求項1に記載のコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータプログラムは、さらに、
    (e)表示装置に入力用ウィンドウを表示するとともに、マウス、キーボード等の入力装置からの入力データに基づいて前記仮想的なプリンタにおける印刷のための各種情報を設定する機能を、コンピュータに実現させるためのコンピュータプログラムであるコンピュータ読み取り可能な記録媒体。
  12. 前記機能(e)により設定された各種情報のうちの少なくとも一部を、前記各プリンタドライバによる処理に供する機能を備える請求項1に記載のコンピュータ読み取り可能な記録媒体。
  13. 請求項1または1に記載のコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータプログラムは、さらに、
    (f)前記接続された複数のプリンタ毎に個別に設けられ、各プリンタにおける印刷のための各種情報を設定する機能と、
    (g)前記機能(f)をそれぞれ動作させる複数のアイコンと、前記(e)を動作させるアイコンとを共に含む表示ウィンドウを表示装置に表示する機能と
    を、コンピュータに実現させるためのコンピュータプログラムであるコンピュータ読み取り可能な記録媒体
JP2000107055A 2000-04-07 2000-04-07 分散印刷制御装置および分散印刷制御方法並びに記録媒体 Expired - Fee Related JP4098457B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000107055A JP4098457B2 (ja) 2000-04-07 2000-04-07 分散印刷制御装置および分散印刷制御方法並びに記録媒体
US09/980,210 US7167260B2 (en) 2000-04-07 2001-04-05 Control of distributed printers using virtual printer driver execute module
PCT/JP2001/002968 WO2001077809A1 (fr) 2000-04-07 2001-04-05 Controle d'imprimantes distribuees
EP01917838A EP1191434A4 (en) 2000-04-07 2001-04-05 CONTROL OF DISTRIBUTED PRINTERS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000107055A JP4098457B2 (ja) 2000-04-07 2000-04-07 分散印刷制御装置および分散印刷制御方法並びに記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003068380A Division JP2003263295A (ja) 2003-03-13 2003-03-13 分散印刷制御装置および分散印刷制御方法並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2001290624A JP2001290624A (ja) 2001-10-19
JP4098457B2 true JP4098457B2 (ja) 2008-06-11

Family

ID=18620108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000107055A Expired - Fee Related JP4098457B2 (ja) 2000-04-07 2000-04-07 分散印刷制御装置および分散印刷制御方法並びに記録媒体

Country Status (1)

Country Link
JP (1) JP4098457B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172087A (ja) * 2005-12-19 2007-07-05 Brother Ind Ltd 仮想オブジェクトを登録するためのプログラム、該プログラムを記憶する記憶媒体、仮想オブジェクト登録方法、及び情報処理装置

Also Published As

Publication number Publication date
JP2001290624A (ja) 2001-10-19

Similar Documents

Publication Publication Date Title
EP1191434A1 (en) Control of distributed printers
EP2270645B1 (en) Control of distributed printing with multiple printers
JP3997504B2 (ja) 文書印刷方法、文書処理方法及びプリンタ
JPH10340165A (ja) 情報処理装置及びその方法並びにメモリ媒体
CN103309629B (zh) 打印系统、打印控制装置以及打印控制方法
JP2009208315A (ja) 印刷ジョブ制御装置、印刷ジョブ制御方法、印刷ジョブ制御プログラム
JP2001290630A (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP4543945B2 (ja) 印刷システムおよびその制御方法および印刷管理プログラム
JP3757749B2 (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP3804395B2 (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP3788184B2 (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JPH11203077A (ja) 印刷システム及びプリンタの選択方法
JP3726634B2 (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP4771528B2 (ja) 分散処理システムおよび分散処理方法
JP4863475B2 (ja) 情報処理装置およびその方法
JP3788206B2 (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
US20070288667A1 (en) Removable Media Device and Data Control Method
JP4098457B2 (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP2003296086A (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP2003296077A (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP3526255B2 (ja) 情報処理装置および印刷制御方法および印刷制御システム及び記憶媒体
US20060285154A1 (en) Host device, image-forming device, and print system having automatic classification function, and print control method therefor
JP2003296076A (ja) 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP2008257628A (ja) 情報処理装置、文書集約プログラム及び記録媒体
JP3472064B2 (ja) 印刷装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051110

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080313

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140321

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees