JPH0527931A - 印刷データ転送制御方式 - Google Patents
印刷データ転送制御方式Info
- Publication number
- JPH0527931A JPH0527931A JP3182652A JP18265291A JPH0527931A JP H0527931 A JPH0527931 A JP H0527931A JP 3182652 A JP3182652 A JP 3182652A JP 18265291 A JP18265291 A JP 18265291A JP H0527931 A JPH0527931 A JP H0527931A
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- server
- client
- 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.)
- Withdrawn
Links
Landscapes
- Computer And Data Communications (AREA)
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【目的】電子計算機に接続されるプリンタ装置における
印刷データ転送制御方式に関し、各クライアントがあた
かも各別にプリンタ装置を動作させているかの如くに使
用できるようにすることを目的とする。 【構成】クライアント13にはデータを送出させて印刷
させる印刷制御部13aと、該印刷制御部13aとのデ
ータ入出力および入出力制御をする仮想プリンタインタ
フェース部13bと、該仮想プリンタインタフェース部
13bとのデータの受渡しおよびサーバ12側への送出
を管理するインタフェース管理部13cと、データを解
析分類して出力するコード解析部13dと、分類した動
作設定用データを蓄積する動作設定データバッファ13
eと、データまたは動作設定用データのバッファ13g
側への格納を管理するバッファ管理部13fと、データ
を格納するバッファ13gと、前記バッファ13gの内
容を前記サーバ12側へ送出するデータ転送部13hと
を備えるように構成する。
印刷データ転送制御方式に関し、各クライアントがあた
かも各別にプリンタ装置を動作させているかの如くに使
用できるようにすることを目的とする。 【構成】クライアント13にはデータを送出させて印刷
させる印刷制御部13aと、該印刷制御部13aとのデ
ータ入出力および入出力制御をする仮想プリンタインタ
フェース部13bと、該仮想プリンタインタフェース部
13bとのデータの受渡しおよびサーバ12側への送出
を管理するインタフェース管理部13cと、データを解
析分類して出力するコード解析部13dと、分類した動
作設定用データを蓄積する動作設定データバッファ13
eと、データまたは動作設定用データのバッファ13g
側への格納を管理するバッファ管理部13fと、データ
を格納するバッファ13gと、前記バッファ13gの内
容を前記サーバ12側へ送出するデータ転送部13hと
を備えるように構成する。
Description
【0001】
【産業上の利用分野】本発明は電子計算機に接続される
プリンタ装置における印刷データ転送制御方式に関す
る。
プリンタ装置における印刷データ転送制御方式に関す
る。
【0002】
【従来の技術】近年の電子計算機の小型化/低価格化に
伴い、単体で自立した計算機としての機能をもつワーク
ステーションをLAN(ローカルエリアネットワーク)
で相互に接続するといった使用形態が普及しつつある。
LANで接続された使用形態においては、プリンタ装置
も特定のワークステーションにのみ接続され、他のワー
クステーションからもLANの存在を意識させることな
く、あたかもワークステーションのそれぞれにプリンタ
装置が接続されているように見えることが望ましい。ワ
ークステーション間でプリンタを共用する場合、プリン
タを使用するワークステーション(以下クライアントと
略す)でプリンタに対する出力の要求がある度にプリン
タが接続されているワークステーション(以下サーバと
略す)に印刷データを送っていると、LANを他の用途
の通信と共用するためのオーバーヘッドのためにプリン
タとの通信速度は極めて遅くなってしまう上にLAN上
での通信の負荷が高くなってしまう。特にパーソナルコ
ンピュータ等で使用されるプリンタ装置の標準的なイン
タフェースでは1文字毎にプリンタに印刷データを送り
出すようになっているのが普通であるため、このような
プリンタを使用する場合に、上記のようにプリンタに対
する出力の要求がある度に通信を行っていては実用に堪
えない。このため、クライアント側において印刷データ
が或る程度のまとまった量になるまで蓄積(バッファリ
ング)して、データの塊にしてからサーバに送り出すよ
うにすることによって、LAN通信の負荷を低下させて
いるものがある。一方、パーソナルコンピュータ等で動
作するアプリケーションにおいては、接続形態の前提か
らプリンタ装置を占有して使用しているとみており、プ
リンタ装置へ動作設定を行うタイミングは最初の印刷時
にのみであり、それ以降の印刷では動作設定を行うこと
なく印刷データのみを送出し、動作設定を行う制御デー
タの送出を割愛することで、印字性能の向上を図ってい
るものがある。
伴い、単体で自立した計算機としての機能をもつワーク
ステーションをLAN(ローカルエリアネットワーク)
で相互に接続するといった使用形態が普及しつつある。
LANで接続された使用形態においては、プリンタ装置
も特定のワークステーションにのみ接続され、他のワー
クステーションからもLANの存在を意識させることな
く、あたかもワークステーションのそれぞれにプリンタ
装置が接続されているように見えることが望ましい。ワ
ークステーション間でプリンタを共用する場合、プリン
タを使用するワークステーション(以下クライアントと
略す)でプリンタに対する出力の要求がある度にプリン
タが接続されているワークステーション(以下サーバと
略す)に印刷データを送っていると、LANを他の用途
の通信と共用するためのオーバーヘッドのためにプリン
タとの通信速度は極めて遅くなってしまう上にLAN上
での通信の負荷が高くなってしまう。特にパーソナルコ
ンピュータ等で使用されるプリンタ装置の標準的なイン
タフェースでは1文字毎にプリンタに印刷データを送り
出すようになっているのが普通であるため、このような
プリンタを使用する場合に、上記のようにプリンタに対
する出力の要求がある度に通信を行っていては実用に堪
えない。このため、クライアント側において印刷データ
が或る程度のまとまった量になるまで蓄積(バッファリ
ング)して、データの塊にしてからサーバに送り出すよ
うにすることによって、LAN通信の負荷を低下させて
いるものがある。一方、パーソナルコンピュータ等で動
作するアプリケーションにおいては、接続形態の前提か
らプリンタ装置を占有して使用しているとみており、プ
リンタ装置へ動作設定を行うタイミングは最初の印刷時
にのみであり、それ以降の印刷では動作設定を行うこと
なく印刷データのみを送出し、動作設定を行う制御デー
タの送出を割愛することで、印字性能の向上を図ってい
るものがある。
【0003】
【発明が解決しようとする課題】上記従来の技術におい
ては、クライアント側において直接かつ単純にバッファ
リングを行うため、プリンタ装置への動作設定のデータ
も単純にバッファリングした後にサーバに送り出される
が、データ送出終了後にはバッファリングしたデータは
消去されている。また、LAN上でプリンタ装置を使用
するのは1台とは限らず、動作設定を行った後に、他の
クライアントからの印刷を優先的に実行するために動作
設定を変更する場合があり、このような時に、新たにプ
リンタの動作設定を行うことなく印刷を実行した場合に
は、設定したものと異なる印刷結果になってしまう。・
・・等々の問題点があった。
ては、クライアント側において直接かつ単純にバッファ
リングを行うため、プリンタ装置への動作設定のデータ
も単純にバッファリングした後にサーバに送り出される
が、データ送出終了後にはバッファリングしたデータは
消去されている。また、LAN上でプリンタ装置を使用
するのは1台とは限らず、動作設定を行った後に、他の
クライアントからの印刷を優先的に実行するために動作
設定を変更する場合があり、このような時に、新たにプ
リンタの動作設定を行うことなく印刷を実行した場合に
は、設定したものと異なる印刷結果になってしまう。・
・・等々の問題点があった。
【0004】本発明は上記従来の技術における問題点を
解消するためのものであり、各クライアントがあたかも
格別にプリンタ装置を動作させているかの如くに使用で
きるようにして、データの消去や動作設定の変更が不必
要に行われることをなくした印刷データ転送制御方式に
ついて提供することを課題とする。
解消するためのものであり、各クライアントがあたかも
格別にプリンタ装置を動作させているかの如くに使用で
きるようにして、データの消去や動作設定の変更が不必
要に行われることをなくした印刷データ転送制御方式に
ついて提供することを課題とする。
【0005】
【課題を解決するための手段】本発明はデータの消去や
動作設定の変更が不必要に行われることをなくすことが
できるようにするため、図1に示すように、LAN通信
路に接続する装置を構成する。この装置における印刷デ
ータ転送制御方式においては、プリンタ装置11を接続
する1台以上のサーバ12と、該サーバ12にデータ送
出してプリンタ装置11に印刷させる1台以上のクライ
アント13とを有し、前記サーバ12と前記クライアン
ト13とがLAN14を介して接続されている計算機組
織において、前記クライアント13には印刷データをサ
ーバ12側に送出させて印刷させる印刷制御部13a
と、該印刷制御部13aがプリンタ装置11に出力しよ
うとした印刷データの受渡しをするとともに前記印刷制
御部13aとのデータ入出力を制御する仮想プリンタイ
ンタフェース部13bと、該仮想プリンタインタフェー
ス部13bと印刷データの受渡しをするとともにサーバ
12側へのデータ送出を管理するインタフェース管理部
13cと、該インタフェース管理部13cから受けたデ
ータを解析し分類して出力するコード解析部13dと、
該コード解析部13dが分類した動作設定用データを蓄
積する動作設定データバッファ13eと、前記コード解
析部13dから受けたデータまたは動作設定データバッ
ファ13eの格納内容のバッファ13g側への格納を管
理するバッファ管理部13fと、該バッファ管理部13
fから受けたデータを格納するバッファ13gと、前記
インタフェース管理部13cの指示に基づき前記バッフ
ァ13gの内容を前記サーバ12側へ送出するデータ転
送部13hとを備えてなることを特徴とする。
動作設定の変更が不必要に行われることをなくすことが
できるようにするため、図1に示すように、LAN通信
路に接続する装置を構成する。この装置における印刷デ
ータ転送制御方式においては、プリンタ装置11を接続
する1台以上のサーバ12と、該サーバ12にデータ送
出してプリンタ装置11に印刷させる1台以上のクライ
アント13とを有し、前記サーバ12と前記クライアン
ト13とがLAN14を介して接続されている計算機組
織において、前記クライアント13には印刷データをサ
ーバ12側に送出させて印刷させる印刷制御部13a
と、該印刷制御部13aがプリンタ装置11に出力しよ
うとした印刷データの受渡しをするとともに前記印刷制
御部13aとのデータ入出力を制御する仮想プリンタイ
ンタフェース部13bと、該仮想プリンタインタフェー
ス部13bと印刷データの受渡しをするとともにサーバ
12側へのデータ送出を管理するインタフェース管理部
13cと、該インタフェース管理部13cから受けたデ
ータを解析し分類して出力するコード解析部13dと、
該コード解析部13dが分類した動作設定用データを蓄
積する動作設定データバッファ13eと、前記コード解
析部13dから受けたデータまたは動作設定データバッ
ファ13eの格納内容のバッファ13g側への格納を管
理するバッファ管理部13fと、該バッファ管理部13
fから受けたデータを格納するバッファ13gと、前記
インタフェース管理部13cの指示に基づき前記バッフ
ァ13gの内容を前記サーバ12側へ送出するデータ転
送部13hとを備えてなることを特徴とする。
【0006】これに加えて、前記バッファ13gの内容
を前記サーバ12側へ送出する際、予め前記動作設定デ
ータバッファ13eの格納内容をバッファ13gに格納
しておき、前記サーバ12側への転送時に印刷データに
先立ち動作設定用データを送出することを特徴とする。
を前記サーバ12側へ送出する際、予め前記動作設定デ
ータバッファ13eの格納内容をバッファ13gに格納
しておき、前記サーバ12側への転送時に印刷データに
先立ち動作設定用データを送出することを特徴とする。
【0007】さらに加えて、前記サーバ12には前記プ
リンタ装置11との間でデータを入出力するプリンタイ
ンタフェース12aと、受信したデータを格納するバッ
ファ12bと、前記クライアント13側から印刷データ
を受信するデータ転送部12cを備え、前記バッファ1
2bの空き容量が前記クライアント13の前記バッファ
13gの格納容量よりも大きい場合にのみ、前記クライ
アント13からのデータ送出を許可することを特徴とす
る。
リンタ装置11との間でデータを入出力するプリンタイ
ンタフェース12aと、受信したデータを格納するバッ
ファ12bと、前記クライアント13側から印刷データ
を受信するデータ転送部12cを備え、前記バッファ1
2bの空き容量が前記クライアント13の前記バッファ
13gの格納容量よりも大きい場合にのみ、前記クライ
アント13からのデータ送出を許可することを特徴とす
る。
【0008】
【作用】このように構成したことにより、印刷データ転
送制御方式を適用すると、クライアント13の印刷制御
部13aが印刷のためにデータを仮想プリンタインタフ
ェース部13bに出力すると、仮想プリンタインタフェ
ース部13bでは印刷制御部13aに新たなデータ転送
を禁止してからインタフェース管理部13cへデータ転
送する。インタフェース管理部13cではコード解析部
13dに印刷データを転送し、コード解析させ、解析し
たデータを動作設定用データ、転送指示データ、その他
の通常の印刷データに分類し、その結果よりデータの格
納かサーバ12側への送出か判断する。コード解析の結
果がバッファ13gへの格納であれば、バッファ管理部
13fを介してバッファ13gへ印刷データを格納さ
せ、また、動作設定データバッファ13eへの格納であ
れば、動作設定データバッファ13eへ動作設定用デー
タを格納する。コード解析の結果がサーバ12側への送
出であれば、データ転送部13hに指示を出し、バッフ
ァ13eの内容をデータ転送部13hを介してサーバ1
2側へ送出する。サーバ12側へデータが送り出された
場合、データ転送部13hから送出終了の返信が出され
ると、インタフェース管理部13cからの指示により、
動作設定データバッファ13eからバッファ管理部13
fを介してバッファ13gに動作設定用データを格納し
て次回のデータ送出時には、動作設定用データも一緒に
送出させる。
送制御方式を適用すると、クライアント13の印刷制御
部13aが印刷のためにデータを仮想プリンタインタフ
ェース部13bに出力すると、仮想プリンタインタフェ
ース部13bでは印刷制御部13aに新たなデータ転送
を禁止してからインタフェース管理部13cへデータ転
送する。インタフェース管理部13cではコード解析部
13dに印刷データを転送し、コード解析させ、解析し
たデータを動作設定用データ、転送指示データ、その他
の通常の印刷データに分類し、その結果よりデータの格
納かサーバ12側への送出か判断する。コード解析の結
果がバッファ13gへの格納であれば、バッファ管理部
13fを介してバッファ13gへ印刷データを格納さ
せ、また、動作設定データバッファ13eへの格納であ
れば、動作設定データバッファ13eへ動作設定用デー
タを格納する。コード解析の結果がサーバ12側への送
出であれば、データ転送部13hに指示を出し、バッフ
ァ13eの内容をデータ転送部13hを介してサーバ1
2側へ送出する。サーバ12側へデータが送り出された
場合、データ転送部13hから送出終了の返信が出され
ると、インタフェース管理部13cからの指示により、
動作設定データバッファ13eからバッファ管理部13
fを介してバッファ13gに動作設定用データを格納し
て次回のデータ送出時には、動作設定用データも一緒に
送出させる。
【0009】そして、バッファ13gの内容をサーバ1
2側へ送出する際には、予め、動作設定データバッファ
13eの格納内容をバッファ13gに格納しておき、サ
ーバ12側への送出時に印刷データに先立ち動作設定コ
マンドデータを送出し、常に印刷時の出力パターンが印
刷データを送出させたクライアント13の指定通りにな
るようにする。
2側へ送出する際には、予め、動作設定データバッファ
13eの格納内容をバッファ13gに格納しておき、サ
ーバ12側への送出時に印刷データに先立ち動作設定コ
マンドデータを送出し、常に印刷時の出力パターンが印
刷データを送出させたクライアント13の指定通りにな
るようにする。
【0010】さらに、サーバ12がデータ転送部12c
によってクライアント13側から印刷データの塊を受信
し、バッファ12bへ受信したデータを格納し、プリン
タインタフェース12aを介してプリンタ装置11との
間でデータを入出力することにより印刷させ、この際、
バッファ12bの空き容量がクライアント13のバッフ
ァ13gの格納容量よりも大きい場合にのみ、クライア
ント13からのデータ送出を許可して、クライアント1
3側から送出される最大データ長のデータを受信できる
ようにさせて、通信途中における送信中断またはデータ
格納漏れを防止させる。
によってクライアント13側から印刷データの塊を受信
し、バッファ12bへ受信したデータを格納し、プリン
タインタフェース12aを介してプリンタ装置11との
間でデータを入出力することにより印刷させ、この際、
バッファ12bの空き容量がクライアント13のバッフ
ァ13gの格納容量よりも大きい場合にのみ、クライア
ント13からのデータ送出を許可して、クライアント1
3側から送出される最大データ長のデータを受信できる
ようにさせて、通信途中における送信中断またはデータ
格納漏れを防止させる。
【0011】
【実施例】本発明における以下の実施例ではクライアン
トが2つある場合について説明する。
トが2つある場合について説明する。
【0012】図2は一実施例における装置の構成を示す
図である。ここに、21はプリンタ装置であり、ワーク
ステーションあるいはパーソナルコンピュータ等の一つ
に接続して印刷するものである。22はワークステーシ
ョンあるいはパーソナルコンピュータ等で構成するサー
バであり、プリンタ装置21を接続するものである。2
3,24はワークステーションあるいはパーソナルコン
ピュータ等で構成するクライアントであり、サーバ22
を介してプリンタ装置21を動作させるものである。2
5はLAN(ローカルエリアネットワーク)であって、
サーバ22およびクライアント23,24を通信可能に
接続する。
図である。ここに、21はプリンタ装置であり、ワーク
ステーションあるいはパーソナルコンピュータ等の一つ
に接続して印刷するものである。22はワークステーシ
ョンあるいはパーソナルコンピュータ等で構成するサー
バであり、プリンタ装置21を接続するものである。2
3,24はワークステーションあるいはパーソナルコン
ピュータ等で構成するクライアントであり、サーバ22
を介してプリンタ装置21を動作させるものである。2
5はLAN(ローカルエリアネットワーク)であって、
サーバ22およびクライアント23,24を通信可能に
接続する。
【0013】図3はサーバ22の内部構成およびクライ
アント23または24の内部構成を示す図である。ここ
に、22aはLANI/F(ローカルエリアネットワー
クインタフェース)であり、LAN25を介してクライ
アント23,24からの印刷データを受信する。22b
はNo3 MPU(マイクロプロセッサユニット)であり、
書き込みレジスタ22cおよび読み出しレジスタ22d
を介してプリンタ装置(PRT)21への印刷データの
出力を制御する。22eはNo3 MEM(メモリ)であ
り、MPU22bが実行する印刷制御の制御プログラム
および印刷データを格納する。23aはクライアント2
3(24)のNo1 MPUであり、No1 MEM23bに格
納されているアプリケーションソフトに従って直接プリ
ンタ装置21が接続されていると想定した印刷制御をす
る。23eはクライアント23(24)のNo2MPUで
あって、No2 MEM23fに格納されているプリンタイ
ンタフェースソフトに従い、No1 MPU23aと書き込
みレジスタ23cまたは読み出しレジスタ23dを介し
てデータを入出力し、プリンタインタフェースとしてサ
ーバ22へ印刷データを転送する。23gはクライアン
ト23(24)のLANI/Fであり、LAN25を介
してサーバ22のLANI/F22aと通信する。図4
はサーバ22側の印刷データ転送制御方式を示す図であ
る。ここに、31はモニタプログラム実行部であって、
No3 MPU22b上で動作するシステムマクロの形で提
供される印刷制御用モニタプログラムを実行する。32
はデータ転送部であって、LANI/F22aと、その
転送処理の制御を実行するタスクのデータ転送部32a
とからなる。33はバッファであって、No3 MEM22
eの一部を利用して形成し、データ転送部32からのデ
ータを一時格納する。34はプリンタI/F(インタフ
ェース)であって、バッファ33からのデータを解析す
るタスクのコード解析部34aと、コード解析部34a
の結果を印刷させる制御をするタスクのプリンタI/F
制御部34bと、プリンタI/F制御部34bからの印
刷データを書き込む書き込みレジスタ34c(=22
c)と、プリンタI/F制御部34bが読み出すプリン
タ装置21の状態を示す制御データを格納する読み出し
レジスタ34d(=22d)とからなる。図5はクライ
アント23(24)側における印刷データ転送制御方式
を示す図である。ここに、35はアプリケーションソフ
ト実行部であって、No1 MPU23a上で動作する、サ
ーバ22側への印刷データ送信制御用アプリケーション
ソフトを実行する。36はモニタプログラム実行部であ
って、No2 MPU23e上で動作するシステムマクロの
形で提供されて、No2 MPU23e内のデータ転送を制
御する印刷制御用モニタプログラムを実行する。37は
仮想プリンタI/Fであって、アプリケーションソフト
実行部35からの印刷データを書き込む書き込みレジス
タ37a(=23c)と、アプリケーションソフト実行
部35が読み出すNo2 MPU23eの状態を示す制御信
号を格納する読み出しレジスタ37b(=23d)と、
読み出しレジスタ37bの内容を書き換えてアプリケー
ションソフト実行部35に対して次のデータを送出する
ことを禁止させるとともに、書き込みレジスタ37aに
書き込まれた印刷データを読み出してI/F管理部38
(後述)を介してコード解析部39(後述)に転送させ
る割り込みハンドラ37cとからなる。38はI/F管
理部であって、仮想プリンタI/F37とデータ転送部
40との間のデータ転送を管理するタスクを構成する。
39はコード解析部であって、印刷データを解析して分
類し、分類結果によっては動作設定データバッファ41
(後述)にデータをコピーする。印刷データの分類とし
ては、プリンタ装置21の初期設定を行うデータとし
ての動作設定コマンドと、クライアント側からサーバ
側へのデータ転送を行うきっかけとなる転送キックコマ
ンドと、上記以外の通常のデータとが設定され
る。動作設定コマンドとしては、文字コード系の設定を
行うデータや用紙サイズの設定を行うデータ、改頁/改
行量を設定するデータ等とする。転送キックコマンドと
しては、1文書または1頁の切れ目を示すデータ等で、
それまでに出力したデータが、ただちにプリンタ装置に
送られて印刷されるべきデータとする。40はデータ転
送部であって、LANI/F23gと、サーバ22側へ
LANI/F23gを介して印刷データを転送する転送
処理の制御を実行するタスクの転送制御部40aとから
なる。41は動作設定データバッファであって、No2 M
EM23fの一部を利用して形成し、コード解析部39
からの動作設定コマンドを格納する。42はバッファ管
理部であって、コード解析部39からデータを受け取り
バッファ43に格納するとともに、必要に応じデータ転
送部40に指示してサーバ22側にデータ転送させ、ま
た、データ転送部40からの指示により動作設定データ
バッファの内容をバッファ43(後述)にコピーする制
御を実行するタスクからなる。43はバッファであっ
て、No2 MEM23fの一部を利用して形成し、印刷デ
ータを格納する。
アント23または24の内部構成を示す図である。ここ
に、22aはLANI/F(ローカルエリアネットワー
クインタフェース)であり、LAN25を介してクライ
アント23,24からの印刷データを受信する。22b
はNo3 MPU(マイクロプロセッサユニット)であり、
書き込みレジスタ22cおよび読み出しレジスタ22d
を介してプリンタ装置(PRT)21への印刷データの
出力を制御する。22eはNo3 MEM(メモリ)であ
り、MPU22bが実行する印刷制御の制御プログラム
および印刷データを格納する。23aはクライアント2
3(24)のNo1 MPUであり、No1 MEM23bに格
納されているアプリケーションソフトに従って直接プリ
ンタ装置21が接続されていると想定した印刷制御をす
る。23eはクライアント23(24)のNo2MPUで
あって、No2 MEM23fに格納されているプリンタイ
ンタフェースソフトに従い、No1 MPU23aと書き込
みレジスタ23cまたは読み出しレジスタ23dを介し
てデータを入出力し、プリンタインタフェースとしてサ
ーバ22へ印刷データを転送する。23gはクライアン
ト23(24)のLANI/Fであり、LAN25を介
してサーバ22のLANI/F22aと通信する。図4
はサーバ22側の印刷データ転送制御方式を示す図であ
る。ここに、31はモニタプログラム実行部であって、
No3 MPU22b上で動作するシステムマクロの形で提
供される印刷制御用モニタプログラムを実行する。32
はデータ転送部であって、LANI/F22aと、その
転送処理の制御を実行するタスクのデータ転送部32a
とからなる。33はバッファであって、No3 MEM22
eの一部を利用して形成し、データ転送部32からのデ
ータを一時格納する。34はプリンタI/F(インタフ
ェース)であって、バッファ33からのデータを解析す
るタスクのコード解析部34aと、コード解析部34a
の結果を印刷させる制御をするタスクのプリンタI/F
制御部34bと、プリンタI/F制御部34bからの印
刷データを書き込む書き込みレジスタ34c(=22
c)と、プリンタI/F制御部34bが読み出すプリン
タ装置21の状態を示す制御データを格納する読み出し
レジスタ34d(=22d)とからなる。図5はクライ
アント23(24)側における印刷データ転送制御方式
を示す図である。ここに、35はアプリケーションソフ
ト実行部であって、No1 MPU23a上で動作する、サ
ーバ22側への印刷データ送信制御用アプリケーション
ソフトを実行する。36はモニタプログラム実行部であ
って、No2 MPU23e上で動作するシステムマクロの
形で提供されて、No2 MPU23e内のデータ転送を制
御する印刷制御用モニタプログラムを実行する。37は
仮想プリンタI/Fであって、アプリケーションソフト
実行部35からの印刷データを書き込む書き込みレジス
タ37a(=23c)と、アプリケーションソフト実行
部35が読み出すNo2 MPU23eの状態を示す制御信
号を格納する読み出しレジスタ37b(=23d)と、
読み出しレジスタ37bの内容を書き換えてアプリケー
ションソフト実行部35に対して次のデータを送出する
ことを禁止させるとともに、書き込みレジスタ37aに
書き込まれた印刷データを読み出してI/F管理部38
(後述)を介してコード解析部39(後述)に転送させ
る割り込みハンドラ37cとからなる。38はI/F管
理部であって、仮想プリンタI/F37とデータ転送部
40との間のデータ転送を管理するタスクを構成する。
39はコード解析部であって、印刷データを解析して分
類し、分類結果によっては動作設定データバッファ41
(後述)にデータをコピーする。印刷データの分類とし
ては、プリンタ装置21の初期設定を行うデータとし
ての動作設定コマンドと、クライアント側からサーバ
側へのデータ転送を行うきっかけとなる転送キックコマ
ンドと、上記以外の通常のデータとが設定され
る。動作設定コマンドとしては、文字コード系の設定を
行うデータや用紙サイズの設定を行うデータ、改頁/改
行量を設定するデータ等とする。転送キックコマンドと
しては、1文書または1頁の切れ目を示すデータ等で、
それまでに出力したデータが、ただちにプリンタ装置に
送られて印刷されるべきデータとする。40はデータ転
送部であって、LANI/F23gと、サーバ22側へ
LANI/F23gを介して印刷データを転送する転送
処理の制御を実行するタスクの転送制御部40aとから
なる。41は動作設定データバッファであって、No2 M
EM23fの一部を利用して形成し、コード解析部39
からの動作設定コマンドを格納する。42はバッファ管
理部であって、コード解析部39からデータを受け取り
バッファ43に格納するとともに、必要に応じデータ転
送部40に指示してサーバ22側にデータ転送させ、ま
た、データ転送部40からの指示により動作設定データ
バッファの内容をバッファ43(後述)にコピーする制
御を実行するタスクからなる。43はバッファであっ
て、No2 MEM23fの一部を利用して形成し、印刷デ
ータを格納する。
【0014】書き込みレジスタ37a(=23c)は、
図6に示すように、入力信号の各ビットに対応した信号
(D1〜Dn)をD入力端に入力させ、書き込み信号
(WR)をクロック入力端に入力させるようにして、入
力信号のビット数に合わせた個数を配設したD型フリッ
プフロップ51a〜51nと、その各出力信号を読み出
し信号(RD)が制御信号として入力された時のみ出力
するスリーステートバッファ52a〜52nと、書き込
み信号(WR)を一時格納してNo1 MPU23aからNo
2 MPU23eに対する割り込み要求信号(INT)と
して出力するバッファ53とからなり、書き込み信号
(WR)の入力によりそれぞれ信号(D1〜Dn)を一
時格納する。読み出しレジスタ37b(=23d)は、
書き込みレジスタ37aの構成から割り込み要求信号
(INT)を省略し、入出力の接続をMPU1とMPU
2のそれぞれの接続に対して逆に接続して構成する。
図6に示すように、入力信号の各ビットに対応した信号
(D1〜Dn)をD入力端に入力させ、書き込み信号
(WR)をクロック入力端に入力させるようにして、入
力信号のビット数に合わせた個数を配設したD型フリッ
プフロップ51a〜51nと、その各出力信号を読み出
し信号(RD)が制御信号として入力された時のみ出力
するスリーステートバッファ52a〜52nと、書き込
み信号(WR)を一時格納してNo1 MPU23aからNo
2 MPU23eに対する割り込み要求信号(INT)と
して出力するバッファ53とからなり、書き込み信号
(WR)の入力によりそれぞれ信号(D1〜Dn)を一
時格納する。読み出しレジスタ37b(=23d)は、
書き込みレジスタ37aの構成から割り込み要求信号
(INT)を省略し、入出力の接続をMPU1とMPU
2のそれぞれの接続に対して逆に接続して構成する。
【0015】転送されるデータの形式は図7に示すよう
に設定する。クライアント23のLANI/F23gか
らサーバ22のLANI/F22aへ転送されるデータ
の形式は、図7ののように印刷データ54のデータ長
をクライアント23内の最大バッファ容量と同様に設定
する。サーバ22のLANI/F22aからクライアン
ト23のLANI/F23gへ転送されるデータの形式
は、図7ののようにバッファの状態を通知するデータ
55を固定長の情報として設定する。
に設定する。クライアント23のLANI/F23gか
らサーバ22のLANI/F22aへ転送されるデータ
の形式は、図7ののように印刷データ54のデータ長
をクライアント23内の最大バッファ容量と同様に設定
する。サーバ22のLANI/F22aからクライアン
ト23のLANI/F23gへ転送されるデータの形式
は、図7ののようにバッファの状態を通知するデータ
55を固定長の情報として設定する。
【0016】この構成におけるクライアント23側の処
理は、図8に示すように、No1 MPU23aからレジス
タ23c,23d(仮想プリンタI/F37)を介して
No2MPU23eにデータ転送することで、あたかもク
ライアント23がプリンタ装置21を直接に起動してい
るかのように動作させる。転送するデータが通常のデー
タかを調べ(ステップ61)、通常のデータであればバ
ッファ43にデータを格納させる(ステップ62)。デ
ータを格納した結果バッファ43が一杯になったか調べ
(ステップ63)、一杯であればサーバ22側へデータ
送出して処理を終了する(ステップ64)。もしバッフ
ァ43に空きがあればステップ64を飛び越して処理を
終了する。ステップ61において通常のデータでなけれ
ば、動作設定データか調べ(ステップ65)、動作設定
データであれば動作設定データバッファ41にすでに同
種の指定があるか調べる(ステップ66)。同種の指定
があれば、その同種の指定を削除して(ステップ6
7)、新しい動作設定データを動作設定データバッファ
41にコピーして(ステップ68)、ステップ62へ移
行する。ステップ65において動作設定データでなけれ
ば、転送キックデータであってバッファ43にそのデー
タを格納し(ステップ69)、サーバ22側へデータ送
出させる(ステップ70)。そして、動作設定データバ
ッファ41にデータがあるか調べ(ステップ71)、あ
れば動作設定データバッファ41のデータをバッファ4
3にコピーして処理を終了する(ステップ72)。もし
データがなければステップ72を飛び越して処理を終了
する。
理は、図8に示すように、No1 MPU23aからレジス
タ23c,23d(仮想プリンタI/F37)を介して
No2MPU23eにデータ転送することで、あたかもク
ライアント23がプリンタ装置21を直接に起動してい
るかのように動作させる。転送するデータが通常のデー
タかを調べ(ステップ61)、通常のデータであればバ
ッファ43にデータを格納させる(ステップ62)。デ
ータを格納した結果バッファ43が一杯になったか調べ
(ステップ63)、一杯であればサーバ22側へデータ
送出して処理を終了する(ステップ64)。もしバッフ
ァ43に空きがあればステップ64を飛び越して処理を
終了する。ステップ61において通常のデータでなけれ
ば、動作設定データか調べ(ステップ65)、動作設定
データであれば動作設定データバッファ41にすでに同
種の指定があるか調べる(ステップ66)。同種の指定
があれば、その同種の指定を削除して(ステップ6
7)、新しい動作設定データを動作設定データバッファ
41にコピーして(ステップ68)、ステップ62へ移
行する。ステップ65において動作設定データでなけれ
ば、転送キックデータであってバッファ43にそのデー
タを格納し(ステップ69)、サーバ22側へデータ送
出させる(ステップ70)。そして、動作設定データバ
ッファ41にデータがあるか調べ(ステップ71)、あ
れば動作設定データバッファ41のデータをバッファ4
3にコピーして処理を終了する(ステップ72)。もし
データがなければステップ72を飛び越して処理を終了
する。
【0017】このように構成した実施例においては、ク
ライアント23のアプリケーションソフト実行部35が
仮想プリンタI/F37の書き込みレジスタ37aに対
して書き込みを行うと、割り込みハンドラ37cが起動
される。割り込みハンドラ37cは読み出しレジスタ3
7bの状態を書き換えてアプリケーションソフト実行部
35に対して次のデータの送出を禁止させる。続いて、
割り込みハンドラ37cは書き込みレジスタ37aに書
き込まれた印刷データを読み出して、I/F管理部38
に転送する。それからI/F管理部38からコード解析
部39に印刷データが転送され、コード解析部39で
は、印刷データをコード解析して、通常の印刷データな
のか、制御文字データすなわち印刷する用紙サイズの設
定を行い用紙の大きさに応じて1ページの行数や文字数
を決定するPA(Paper )データか、1ページのデータ
が終了し、それ以降は次の用紙に印刷することを指示す
るFF(Form Feed )データか、またはプリンタ装置2
1に送出した印刷データをすべて印刷した後プリンタ装
置21を初期化後に次の印刷データ送出を許可するCP
(Clear Print )データかのいずれかなのかを識別す
る。識別後、データが通常の印刷データであった場合に
は、コード解析部39はバッファ管理部42にデータを
転送し、バッファ43が一杯でなければI/F管理部3
8に次のデータが受信可能であることを通知する。も
し、バッファ43が一杯の場合には、I/F管理部38
に通知せず次のデータは受信不可の状態のままとする。
データがPAデータの場合には、コード解析部39はデ
ータが動作設定コマンドであるからバッファ管理部42
にPAデータを転送し、バッファ43が一杯でなければ
I/F管理部38に次のデータが受信可能であることを
通知する。もし、バッファ43が一杯であれば、I/F
管理部38に通知せず、次のデータは受信不可の状態の
ままとする。また、バッファ管理部42へのデータ転送
と同時に動作設定データバッファ41へのバッファリン
グを行う。そして 動作設定データバッファ41に同一
データがあった場合にはその同一データを削除する。デ
ータがFFデータの場合には、コード解析部39はデー
タが転送キックコマンドであるからバッファ管理部42
にFFデータを転送し、I/F管理部38には通知せ
ず、次のデータは受信不可の状態のままとする。データ
がCPデータの場合には、コード解析部39はデータが
転送キックコマンドであるとともに動作設定コマンドで
あるから、バッファ管理部42にCPデータを転送し、
I/F管理部38には通知せず、次のデータは受信不可
の状態のままとする。また、バッファ管理部42へのデ
ータ転送と同時に動作設定データバッファ41への初期
化を行い、動作設定データバッファ41をすべてクリア
した後にバッファリングを行う。コード解析部39から
データを受けたバッファ管理部42では、コード解析部
39が分類した印刷データの種別に従って、次のような
処理を実行する。通常のデータおよび動作設定コマンド
の場合、バッファ43にデータを格納する。格納した結
果、バッファ43の容量を超える場合は、データ転送部
40の転送制御部40aに対してそれまでバッファ43
に蓄えられたデータをサーバ22側に転送するように指
示する。そしてサーバ22へのデータ転送が終了する
か、またはサーバ22側から次のデータ転送の許可が返
送されるまでは、次のデータを転送せずに待機する。転
送キックコマンドの場合には、それまでバッファ43に
蓄えられたデータをバッファ43の状態にかかわらず転
送するようにデータ転送部40の転送制御部40aに指
示する。転送の制御は通常データの場合と同様である。
転送が終了したことを転送制御部40a側から返信があ
った時には動作設定データバッファ41からデータをバ
ッファ43にコピーする。データ転送部40では、バッ
ファ管理部42からサーバ22側への転送を指示される
と、転送制御部40aがバッファ43の印刷データをL
ANI/F23gの図7で示すデータ形式の印刷デー
タに変換し、サーバ22側へ送出する。そしてサーバ2
2側から図7のデータ形式によるバッファ33の空状
態を示すデータ55が返送されてくるのを待つ。サーバ
22側の空状態が受信されると、I/F管理部38に次
のデータが受信可能であることを通知する。もし、サー
バ22側の空なしが返送された場合には、改めてバッフ
ァ空きありが通知されるまで待機し、バッファ空きあり
通知を受けてからI/F管理部38に次のデータが受信
可能であることを通知する。但し、この時、転送キック
の条件がバッファ43の条件がバッファフル状態によっ
て生じたものでない場合、すなわち「FF」または「C
P」によって転送キックが発生すると、バッファ管理部
42に動作設定データバッファ41からのデータ取り出
しを指示する。転送制御部40aおよびコード解析部3
9からI/F管理部38にプリンタ状態が受け渡される
と、I/F管理部38から読み出しレジスタ37bに次
データ受信可能かどうかの情報と用紙種別の情報とがあ
るデータの形で転送される。転送されたデータが次デー
タ受信可能を指定していれば、読み出しレジスタ37b
の状態が変化し、アプリケーションソフト実行部35に
対して次のデータ送出を可能にする。
ライアント23のアプリケーションソフト実行部35が
仮想プリンタI/F37の書き込みレジスタ37aに対
して書き込みを行うと、割り込みハンドラ37cが起動
される。割り込みハンドラ37cは読み出しレジスタ3
7bの状態を書き換えてアプリケーションソフト実行部
35に対して次のデータの送出を禁止させる。続いて、
割り込みハンドラ37cは書き込みレジスタ37aに書
き込まれた印刷データを読み出して、I/F管理部38
に転送する。それからI/F管理部38からコード解析
部39に印刷データが転送され、コード解析部39で
は、印刷データをコード解析して、通常の印刷データな
のか、制御文字データすなわち印刷する用紙サイズの設
定を行い用紙の大きさに応じて1ページの行数や文字数
を決定するPA(Paper )データか、1ページのデータ
が終了し、それ以降は次の用紙に印刷することを指示す
るFF(Form Feed )データか、またはプリンタ装置2
1に送出した印刷データをすべて印刷した後プリンタ装
置21を初期化後に次の印刷データ送出を許可するCP
(Clear Print )データかのいずれかなのかを識別す
る。識別後、データが通常の印刷データであった場合に
は、コード解析部39はバッファ管理部42にデータを
転送し、バッファ43が一杯でなければI/F管理部3
8に次のデータが受信可能であることを通知する。も
し、バッファ43が一杯の場合には、I/F管理部38
に通知せず次のデータは受信不可の状態のままとする。
データがPAデータの場合には、コード解析部39はデ
ータが動作設定コマンドであるからバッファ管理部42
にPAデータを転送し、バッファ43が一杯でなければ
I/F管理部38に次のデータが受信可能であることを
通知する。もし、バッファ43が一杯であれば、I/F
管理部38に通知せず、次のデータは受信不可の状態の
ままとする。また、バッファ管理部42へのデータ転送
と同時に動作設定データバッファ41へのバッファリン
グを行う。そして 動作設定データバッファ41に同一
データがあった場合にはその同一データを削除する。デ
ータがFFデータの場合には、コード解析部39はデー
タが転送キックコマンドであるからバッファ管理部42
にFFデータを転送し、I/F管理部38には通知せ
ず、次のデータは受信不可の状態のままとする。データ
がCPデータの場合には、コード解析部39はデータが
転送キックコマンドであるとともに動作設定コマンドで
あるから、バッファ管理部42にCPデータを転送し、
I/F管理部38には通知せず、次のデータは受信不可
の状態のままとする。また、バッファ管理部42へのデ
ータ転送と同時に動作設定データバッファ41への初期
化を行い、動作設定データバッファ41をすべてクリア
した後にバッファリングを行う。コード解析部39から
データを受けたバッファ管理部42では、コード解析部
39が分類した印刷データの種別に従って、次のような
処理を実行する。通常のデータおよび動作設定コマンド
の場合、バッファ43にデータを格納する。格納した結
果、バッファ43の容量を超える場合は、データ転送部
40の転送制御部40aに対してそれまでバッファ43
に蓄えられたデータをサーバ22側に転送するように指
示する。そしてサーバ22へのデータ転送が終了する
か、またはサーバ22側から次のデータ転送の許可が返
送されるまでは、次のデータを転送せずに待機する。転
送キックコマンドの場合には、それまでバッファ43に
蓄えられたデータをバッファ43の状態にかかわらず転
送するようにデータ転送部40の転送制御部40aに指
示する。転送の制御は通常データの場合と同様である。
転送が終了したことを転送制御部40a側から返信があ
った時には動作設定データバッファ41からデータをバ
ッファ43にコピーする。データ転送部40では、バッ
ファ管理部42からサーバ22側への転送を指示される
と、転送制御部40aがバッファ43の印刷データをL
ANI/F23gの図7で示すデータ形式の印刷デー
タに変換し、サーバ22側へ送出する。そしてサーバ2
2側から図7のデータ形式によるバッファ33の空状
態を示すデータ55が返送されてくるのを待つ。サーバ
22側の空状態が受信されると、I/F管理部38に次
のデータが受信可能であることを通知する。もし、サー
バ22側の空なしが返送された場合には、改めてバッフ
ァ空きありが通知されるまで待機し、バッファ空きあり
通知を受けてからI/F管理部38に次のデータが受信
可能であることを通知する。但し、この時、転送キック
の条件がバッファ43の条件がバッファフル状態によっ
て生じたものでない場合、すなわち「FF」または「C
P」によって転送キックが発生すると、バッファ管理部
42に動作設定データバッファ41からのデータ取り出
しを指示する。転送制御部40aおよびコード解析部3
9からI/F管理部38にプリンタ状態が受け渡される
と、I/F管理部38から読み出しレジスタ37bに次
データ受信可能かどうかの情報と用紙種別の情報とがあ
るデータの形で転送される。転送されたデータが次デー
タ受信可能を指定していれば、読み出しレジスタ37b
の状態が変化し、アプリケーションソフト実行部35に
対して次のデータ送出を可能にする。
【0018】データ転送部40がサーバ22側への転送
を開始すると、サーバ22側では、データ転送部32が
LANI/F22aを介してデータ転送部32aに受信
し、バッファ33ヘ格納する。その後、LAN上の通信
においては、通信途中でバッファ33に空きがなくなっ
ても、通信を中断することができないので、常にクライ
アント23(または24)側から送出される最大長のデ
ータを受信できるようにするため、バッファ33中にク
ライアント23(または24)側のバッファ容量以上の
空きがあれば、データ転送部32aからLANI/F2
2aを介してクライアント23(または24)側へバッ
ファ空きありを通知し、なければバッファ空きなしを通
知する。バッファ33に格納されたデータは、コード解
析部34aによりデータ転送部32aの処理と並行し
て、プリンタI/F制御部34bに転送され、書き込み
レジスタ34cを介してプリンタ装置21側へ送出され
る。もし、モニタプログラムとクライアント側のアプリ
ケーションソフトとが想定しているプリンタ装置が同一
ならば、コード解析は極めて簡略化されたものとなり、
(印刷データや制御文字の中には2文字以上の長さを持
つものがあるため)データの切れ目を検出するのみとな
る。
を開始すると、サーバ22側では、データ転送部32が
LANI/F22aを介してデータ転送部32aに受信
し、バッファ33ヘ格納する。その後、LAN上の通信
においては、通信途中でバッファ33に空きがなくなっ
ても、通信を中断することができないので、常にクライ
アント23(または24)側から送出される最大長のデ
ータを受信できるようにするため、バッファ33中にク
ライアント23(または24)側のバッファ容量以上の
空きがあれば、データ転送部32aからLANI/F2
2aを介してクライアント23(または24)側へバッ
ファ空きありを通知し、なければバッファ空きなしを通
知する。バッファ33に格納されたデータは、コード解
析部34aによりデータ転送部32aの処理と並行し
て、プリンタI/F制御部34bに転送され、書き込み
レジスタ34cを介してプリンタ装置21側へ送出され
る。もし、モニタプログラムとクライアント側のアプリ
ケーションソフトとが想定しているプリンタ装置が同一
ならば、コード解析は極めて簡略化されたものとなり、
(印刷データや制御文字の中には2文字以上の長さを持
つものがあるため)データの切れ目を検出するのみとな
る。
【0019】No1クライアント23と No2クライアント
24とがサーバ22に対してアクセスしたとする、ま
ず、 No1クライアント23から以下のシーケンスで印刷
データが送信されるとする。 プリンタ動作設定コマンド( No1クライアント23) 印刷データ 転送キックコマンド そしてがサーバ22へ送出されて印刷データがプリン
タ装置21で印刷される。次に、 No2クライアント24
から以下のシーケンスで印刷データが送信されるとする
と、この場合もプリンタ装置21で印刷される。 プリンタ動作設定コマンド( No2クライアント24) 印刷データ 転送キックコマンド さらに次の No1クライアント23からの送信には、既に
プリンタ装置21の動作設定済みとみているため、従来
方式では、 印刷データ 転送キックコマンド の送信で済ませていたが、本実施例では、動作設定デー
タバッファ41が前回の転送キックコマンド処理時にお
いてバッファ43へデータを溜めているので、実際にサ
ーバ22側へ送出されるデータは、 ’プリンタ動作設定コマンド( No1クライアント2
3) 印刷データ 転送キックコマンド となり、 No1クライアント23の意図した結果が得られ
るようになる。また、,のデータの前に新たにプリ
ンタ動作設定コマンドが送出された場合には、’のデ
ータの後に送出されるため、’の設定後に新たにプリ
ンタ動作設定コマンドを設定し直す形となり、何ら問題
は生じない。このように、 No2クライアント24の動作
設定後に No1クライアント23からサーバ21にデータ
転送した場合にも、 No2クライアント24によって設定
された動作を No1クライアント23により設定し直すた
め、常にプリンタの動作が意図した結果となる。
24とがサーバ22に対してアクセスしたとする、ま
ず、 No1クライアント23から以下のシーケンスで印刷
データが送信されるとする。 プリンタ動作設定コマンド( No1クライアント23) 印刷データ 転送キックコマンド そしてがサーバ22へ送出されて印刷データがプリン
タ装置21で印刷される。次に、 No2クライアント24
から以下のシーケンスで印刷データが送信されるとする
と、この場合もプリンタ装置21で印刷される。 プリンタ動作設定コマンド( No2クライアント24) 印刷データ 転送キックコマンド さらに次の No1クライアント23からの送信には、既に
プリンタ装置21の動作設定済みとみているため、従来
方式では、 印刷データ 転送キックコマンド の送信で済ませていたが、本実施例では、動作設定デー
タバッファ41が前回の転送キックコマンド処理時にお
いてバッファ43へデータを溜めているので、実際にサ
ーバ22側へ送出されるデータは、 ’プリンタ動作設定コマンド( No1クライアント2
3) 印刷データ 転送キックコマンド となり、 No1クライアント23の意図した結果が得られ
るようになる。また、,のデータの前に新たにプリ
ンタ動作設定コマンドが送出された場合には、’のデ
ータの後に送出されるため、’の設定後に新たにプリ
ンタ動作設定コマンドを設定し直す形となり、何ら問題
は生じない。このように、 No2クライアント24の動作
設定後に No1クライアント23からサーバ21にデータ
転送した場合にも、 No2クライアント24によって設定
された動作を No1クライアント23により設定し直すた
め、常にプリンタの動作が意図した結果となる。
【0020】このように実施例では、 No2クライアント
24の動作設定後に No1クライアント23からサーバ2
1にデータ転送した場合にも、 No2クライアント24に
よって設定された動作を No1クライアント23により設
定し直すため、常にプリンタの動作が意図した結果とな
るようにすることができて、クライアント23,24で
代表させたLAN接続されている多くのワークステーシ
ョンでプリンタ装置21を共用することができ、かつク
ライアント上で動作するアプリケーションソフトに手を
加える必要がなく、LAN接続された環境において利用
者に対して容易に高度な印刷機能を提供できる。上記実
施例では、本発明をより良く理解させるために具体的に
説明したものであって、特に指定しない限り別態様を制
限するものではない。例えば、クライアント23(2
4)側から送出される最大データ長を受信出来るように
して通信を簡略な方式にしたが、現実のLAN上のデー
タ転送と同様に他の複雑な転送手順を用いてデータ転送
の効率を上げても良い。また、サーバ22が1台の場合
について説明したがサーバを複数台接続させても良い。
さらにまた、クライアント23(24)におけるMPU
が同種のものの場合には、アプリケーションソフトをNo
2MPU23e上の1つのタスクとして構成することに
より No1MPU23aを省略し、1つのMPUで実現さ
せても良い。 No1MPU23aおよび No2MPU23e
はそれぞれ独立した半導体メモリNo1MEM23b, No
2MEM23fを持っているが、単一のメモリを共用し
ても良い。さらに、サーバ22およびクライアント2
3,24の構成要素の多くソフトウェアで構成された部
分を専用のハードウェアまたは他のMPUで構成しても
良い。仮想プリンタI/F37はレジスタ1およびレジ
スタ2というハードウェアを用いて構成されたがシステ
ムマクロやサブルーチンコール等のソフトウェアにより
構成しても良い。レジスタ1およびレジスタ2に相当す
る機能を実現するために、MMU(Memory Management
Unit)を用いた仮想記憶の機構などの他の用途に用いら
れるハードウェアまたはソフトウェアを流用または共用
しても良い。さらにまた、サーバ22はワークステーシ
ョンの1台として構成されているが、サーバ専用の構成
であっても良い。サーバ22の機能の全部または一部を
プリンタ装置21側に移して構成されていると良い。ア
プリケーションソフトが想定しているプリンタ装置とサ
ーバ22に接続されているプリンタ装置21は別種のも
のとして、クライアント23,24またはサーバ22側
のコード解析部39または34aが必要な変換を行うよ
うにしても良い。
24の動作設定後に No1クライアント23からサーバ2
1にデータ転送した場合にも、 No2クライアント24に
よって設定された動作を No1クライアント23により設
定し直すため、常にプリンタの動作が意図した結果とな
るようにすることができて、クライアント23,24で
代表させたLAN接続されている多くのワークステーシ
ョンでプリンタ装置21を共用することができ、かつク
ライアント上で動作するアプリケーションソフトに手を
加える必要がなく、LAN接続された環境において利用
者に対して容易に高度な印刷機能を提供できる。上記実
施例では、本発明をより良く理解させるために具体的に
説明したものであって、特に指定しない限り別態様を制
限するものではない。例えば、クライアント23(2
4)側から送出される最大データ長を受信出来るように
して通信を簡略な方式にしたが、現実のLAN上のデー
タ転送と同様に他の複雑な転送手順を用いてデータ転送
の効率を上げても良い。また、サーバ22が1台の場合
について説明したがサーバを複数台接続させても良い。
さらにまた、クライアント23(24)におけるMPU
が同種のものの場合には、アプリケーションソフトをNo
2MPU23e上の1つのタスクとして構成することに
より No1MPU23aを省略し、1つのMPUで実現さ
せても良い。 No1MPU23aおよび No2MPU23e
はそれぞれ独立した半導体メモリNo1MEM23b, No
2MEM23fを持っているが、単一のメモリを共用し
ても良い。さらに、サーバ22およびクライアント2
3,24の構成要素の多くソフトウェアで構成された部
分を専用のハードウェアまたは他のMPUで構成しても
良い。仮想プリンタI/F37はレジスタ1およびレジ
スタ2というハードウェアを用いて構成されたがシステ
ムマクロやサブルーチンコール等のソフトウェアにより
構成しても良い。レジスタ1およびレジスタ2に相当す
る機能を実現するために、MMU(Memory Management
Unit)を用いた仮想記憶の機構などの他の用途に用いら
れるハードウェアまたはソフトウェアを流用または共用
しても良い。さらにまた、サーバ22はワークステーシ
ョンの1台として構成されているが、サーバ専用の構成
であっても良い。サーバ22の機能の全部または一部を
プリンタ装置21側に移して構成されていると良い。ア
プリケーションソフトが想定しているプリンタ装置とサ
ーバ22に接続されているプリンタ装置21は別種のも
のとして、クライアント23,24またはサーバ22側
のコード解析部39または34aが必要な変換を行うよ
うにしても良い。
【0021】
【発明の効果】以上のように本発明では、印刷データ転
送制御方式においては、クライアント13の印刷制御部
13aが印刷のためにデータを仮想プリンタインタフェ
ース部13bに出力すると、仮想プリンタインタフェー
ス部13bでは印刷制御部13aに新たなデータ転送を
禁止してからインタフェース管理部13cへデータ転送
することができ、インタフェース管理部13cではコー
ド解析部13dに印刷データを転送し、コード解析さ
せ、その解析したデータを動作設定用データ、転送指示
データ、その他の通常の印刷データに分類させて、その
結果よりデータの格納かサーバ12側への送出かを判断
させることができる。そして、コード解析の結果がバッ
ファ13gへの格納であれば、バッファ管理部13fを
介してバッファ13gへ印刷データを格納させ、また、
動作設定データバッファ13eへの格納であれば、動作
設定データバッファ13eへ動作設定用データを格納さ
せ、コード解析の結果がサーバ12側への送出であれ
ば、データ転送部13hに指示を出し、バッファ13e
の内容をデータ転送部13hを介してサーバ12側へ送
出させることができる。それから、サーバ12側へデー
タが送り出された場合、データ転送部13hから送出終
了の返信を出し、インタフェース管理部13cから指示
させて、動作設定データバッファ13eよりバッファ管
理部13fを介してバッファ13gに動作設定用データ
を格納させ、次回のデータ送出時には、動作設定用デー
タも一緒に送出させることができる。これにより、動作
設定データバッファ13eに動作設定用データを格納し
ているため、クライアント13からサーバ12へデータ
送出する際には、動作設定用データを一緒に送出できる
ようにすることができ、プリンタ装置11側の動作設定
を自クライアントからの動作設定に直すことができて、
意図通りの印刷出力を得ることができる。
送制御方式においては、クライアント13の印刷制御部
13aが印刷のためにデータを仮想プリンタインタフェ
ース部13bに出力すると、仮想プリンタインタフェー
ス部13bでは印刷制御部13aに新たなデータ転送を
禁止してからインタフェース管理部13cへデータ転送
することができ、インタフェース管理部13cではコー
ド解析部13dに印刷データを転送し、コード解析さ
せ、その解析したデータを動作設定用データ、転送指示
データ、その他の通常の印刷データに分類させて、その
結果よりデータの格納かサーバ12側への送出かを判断
させることができる。そして、コード解析の結果がバッ
ファ13gへの格納であれば、バッファ管理部13fを
介してバッファ13gへ印刷データを格納させ、また、
動作設定データバッファ13eへの格納であれば、動作
設定データバッファ13eへ動作設定用データを格納さ
せ、コード解析の結果がサーバ12側への送出であれ
ば、データ転送部13hに指示を出し、バッファ13e
の内容をデータ転送部13hを介してサーバ12側へ送
出させることができる。それから、サーバ12側へデー
タが送り出された場合、データ転送部13hから送出終
了の返信を出し、インタフェース管理部13cから指示
させて、動作設定データバッファ13eよりバッファ管
理部13fを介してバッファ13gに動作設定用データ
を格納させ、次回のデータ送出時には、動作設定用デー
タも一緒に送出させることができる。これにより、動作
設定データバッファ13eに動作設定用データを格納し
ているため、クライアント13からサーバ12へデータ
送出する際には、動作設定用データを一緒に送出できる
ようにすることができ、プリンタ装置11側の動作設定
を自クライアントからの動作設定に直すことができて、
意図通りの印刷出力を得ることができる。
【0022】そしてまた、バッファ13gの内容をサー
バ12側へ送出する際には、予め、動作設定データバッ
ファ13eの格納内容をバッファ13gに格納してお
き、サーバ12側への送出時に印刷データに先立ち動作
設定コマンドデータを転送したことによって、複数のす
るクライアント13が印刷を実行しても、印刷結果が他
のクライアント13の印刷パターンに影響されることが
なくなり、常に、印刷データを送出させたクライアント
13の指定通りの出力パターンによって印刷させること
ができる。
バ12側へ送出する際には、予め、動作設定データバッ
ファ13eの格納内容をバッファ13gに格納してお
き、サーバ12側への送出時に印刷データに先立ち動作
設定コマンドデータを転送したことによって、複数のす
るクライアント13が印刷を実行しても、印刷結果が他
のクライアント13の印刷パターンに影響されることが
なくなり、常に、印刷データを送出させたクライアント
13の指定通りの出力パターンによって印刷させること
ができる。
【0023】さらにまた、サーバ12がデータ転送部1
2cによってクライアント13側から印刷データの塊を
受信し、バッファ12bへ受信したデータを格納し、プ
リンタインタフェース12aを介してプリンタ装置11
との間でデータを入出力することにより印刷させ、この
際に、バッファ12bの空き容量がクライアント13の
バッファ13gの格納容量よりも大きい場合にのみ、ク
ライアント13からのデータ転送を許可したことによっ
て、クライアント13側から送出される最大データ長の
データを受信できるようになり、通信途中における送信
中断またはデータ格納漏れを防止させることができる。
2cによってクライアント13側から印刷データの塊を
受信し、バッファ12bへ受信したデータを格納し、プ
リンタインタフェース12aを介してプリンタ装置11
との間でデータを入出力することにより印刷させ、この
際に、バッファ12bの空き容量がクライアント13の
バッファ13gの格納容量よりも大きい場合にのみ、ク
ライアント13からのデータ転送を許可したことによっ
て、クライアント13側から送出される最大データ長の
データを受信できるようになり、通信途中における送信
中断またはデータ格納漏れを防止させることができる。
【図1】本発明の原理説明図である。
【図2】実施例装置の構成図である。
【図3】実施例のサーバおよびクライアントの内部構成
を示す説明図である。
を示す説明図である。
【図4】実施例における印刷データ転送制御方式のサー
バ側構成図である。
バ側構成図である。
【図5】実施例における印刷データ転送制御方式のクラ
イアント側構成図である。
イアント側構成図である。
【図6】実施例におけるレジスタの回路図である。
【図7】実施例におけるサーバ/クライアント間の通信
データの形式を示す説明図である。
データの形式を示す説明図である。
【図8】実施例におけるクライアント側の動作を示す流
れ図である。
れ図である。
11 プリンタ装置
12 サーバ
12a プリンタインタフェース
12b バッファ
12c データ転送部
13 クライアント
13a 印刷制御部
13b 仮想プリンタインタフェース部
13c インタフェース管理部
13d コード解析部
13e 動作設定データバッファ
13f バッファ管理部
13g バッファ
13h データ転送部
14 LAN
Claims (3)
- 【請求項1】 プリンタ装置(11)を接続する1台以
上のサーバ(12)と、該サーバ(12)にデータ送出
してプリンタ装置(11)に印刷させる1台以上のクラ
イアント(13)とを有し、前記サーバ(12)と前記
クライアント(13)とがローカルエリアネットワーク
(14)を介して接続されている計算機組織において、 前記クライアント(13)には印刷データを前記サーバ
(12)側に送出させて印刷させる印刷制御部(13
a)と、 該印刷制御部(13a)が前記プリンタ装置(11)に
出力しようとした印刷データの受渡しをするとともに前
記印刷制御部(13a)とのデータ入出力を制御する仮
想プリンタインタフェース部(13b)と、 該仮想プリンタインタフェース部(13b)と印刷デー
タの受渡しをするとともにサーバ(12)側へのデータ
送出を管理するインタフェース管理部(13c)と、 該インタフェース管理部(13c)から受けたデータを
解析し分類して出力するコード解析部(13d)と、 該コード解析部(13d)が分類した動作設定用データ
を蓄積する動作設定データバッファ(13e)と、 前記コード解析部(13d)から受けたデータまたは前
記動作設定データバッファ(13e)の格納内容のバッ
ファ(13g)側への格納を管理するバッファ管理部
(13f)と、 該バッファ管理部(13f)から受けたデータを格納す
る前記バッファ(13g)と、 前記インタフェース管理部(13c)の指示に基づき前
記バッファ(13g)の内容を前記サーバ(12)側へ
送出するデータ転送部(13h)とを備えてなることを
特徴とする印刷データ転送制御方式。 - 【請求項2】 前記バッファ(13g)の内容を前記サ
ーバ(12)側へ送出する際、予め前記動作設定データ
バッファ(13e)の格納内容をバッファ(13g)に
格納しておき、前記サーバ(12)側への送出時に印刷
データに先立ち動作設定用データを送出することを特徴
とする請求項1記載の印刷データ転送制御方式。 - 【請求項3】 前記サーバ(12)には前記プリンタ装
置(11)との間でデータを入出力するプリンタインタ
フェース(12a)と、受信したデータを格納するバッ
ファ(12b)と、前記クライアント(13)側から印
刷データを受信するデータ転送部(12c)を備え、 前記バッファ(12b)の空き容量が前記クライアント
(13)の前記バッファ(13g)の格納容量よりも大
きい場合にのみ、前記クライアント(13)からのデー
タ送出を許可することを特徴とする請求項1または2記
載の印刷データ転送制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3182652A JPH0527931A (ja) | 1991-07-23 | 1991-07-23 | 印刷データ転送制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3182652A JPH0527931A (ja) | 1991-07-23 | 1991-07-23 | 印刷データ転送制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0527931A true JPH0527931A (ja) | 1993-02-05 |
Family
ID=16122061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3182652A Withdrawn JPH0527931A (ja) | 1991-07-23 | 1991-07-23 | 印刷データ転送制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0527931A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799206A (en) * | 1994-04-11 | 1998-08-25 | Hitachi, Ltd. | Remote print system having a plurality of computers which are capable of monitoring and controlling operations of a remote printer |
-
1991
- 1991-07-23 JP JP3182652A patent/JPH0527931A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799206A (en) * | 1994-04-11 | 1998-08-25 | Hitachi, Ltd. | Remote print system having a plurality of computers which are capable of monitoring and controlling operations of a remote printer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6115761A (en) | First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment | |
JP3226095B2 (ja) | ネットワークプリンタ | |
US6907480B2 (en) | Data processing apparatus and data input/output apparatus and data input/output method | |
EP0427023B1 (en) | Data transmission control apparatus for parallel processing system | |
JP2000158724A (ja) | 画像処理装置、画像処理方法および記録媒体 | |
US6615296B2 (en) | Efficient implementation of first-in-first-out memories for multi-processor systems | |
US7409486B2 (en) | Storage system, and storage control method | |
US5343557A (en) | Workstation controller with full screen write mode and partial screen write mode | |
JP5340058B2 (ja) | 画像処理装置、その制御方法及びプログラム | |
US6889262B1 (en) | Direct transaction mode for peripheral devices | |
JPH0527931A (ja) | 印刷データ転送制御方式 | |
US7336657B2 (en) | Inter-nodal data transfer system and data transfer apparatus | |
US7472212B2 (en) | Multi CPU system | |
US7042582B1 (en) | Printer and printer data processing method | |
JP3447820B2 (ja) | バスコントローラ | |
JP2906958B2 (ja) | ユーザプログラムロード方式 | |
JP2000155738A (ja) | データ処理装置 | |
JPH04250522A (ja) | プリンタ装置制御方式 | |
JP2000181644A (ja) | 画像処理装置、その制御方法、印刷装置および記録媒体 | |
JPH11110342A (ja) | バス接続方法及び装置 | |
Waugh | The Linux 2.4 parallel port subsystem | |
KR0170595B1 (ko) | 고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 애뮬레이션 방법 | |
JP3024363B2 (ja) | プリンタ | |
JP3299147B2 (ja) | キャッシュ制御回路 | |
JP2000122818A (ja) | ネットワークプリンタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19981008 |