(57)【特許請求の範囲】
【請求項１】
ネットワークを介してデータを転送して印刷するプリンタ制御システムにおいて、
アプリケーションプログラムからの印刷要求をもとに、通知を受けた印刷データにプリンタのインタフェース情報であるセントロニクス、ＳＣＳＩ、ＲＳ−２３２Ｃのいずれかおよび印刷データのリソース情報である特殊フォントを付加してネットワークを介して該当するプリンタの端末に転送する手段と、
ネットワークから前記受信したインタフェース情報であるセントロニクス、ＳＣＳＩ、ＲＳ−２３２Ｃのいずれかをもとにプリンタを制御して前記受信したリソース情報である特殊フォントを使って前記受信した印刷データを当該プリンタに印刷させる手段と、
前記印刷結果を前記印刷要求の管理部に転送する手段と、
前記管理部が前記印刷結果を待合せ可能な異常だと判断した場合、前記通知を受けた印刷データにプリンタのインタフェース情報であるセントロニクス、ＳＣＳＩ、ＲＳ−２３２Ｃのいずれかおよび印刷データのリソース情報である特殊フォントを付加してネットワークを介して該当するプリンタの端末に転送する手段と
を備えたことを特徴とするプリンタ制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介してデータを転送して印刷するプリンタ制御システムに関するものである。
【０００２】
【従来の技術】
従来のネットワーク系の印刷は、印刷しようとするデータをスプーリングファイルにして印刷対象のプリンタあるいはプリンタサーバへ転送し、対象プリンタあるいは転送したプリンタサーバ上のプリンティングシステムが行っていた。例えば図５に示すように、クライアントから印刷しようとするデータをスプーリングファイルにしてネットワークを介してサーバに転送し一旦外部記憶装置のファイルに蓄積し、蓄積完了によりプリント要求元のクライアントのプログラムを解放する。そして、サーバの装置制御が蓄積したスプーリングファイルを取り出してプリンタに印刷させると共にその監視を行うという、一方向の制御を行っていた。以下図５の構成を簡単に説明する。
【０００３】
図５は、従来技術の説明図を示す。
図５において、クライアントは、各種処理を行い、その結果をスプーリングファイルにしネットワークを介してサーバに転送して印刷要求するものであって、ここでは、アプリ、スプーリングファイル、印刷クライアントなどから構成されるものである。
【０００４】
アプリは、各種業務処理を行い、その結果の印刷を要求するものである。
スプーリングファイルは、アプリが印刷要求したデータをスプーリング（データを印刷し易いように編集する操作）したものである。
【０００５】
印刷クライアントは、スプーリングファイルをＬＡＮまたはＷＡＮを介してサーバに転送して印刷要求するものである。
サーバは、ネットワークを介してスプーリングファイルを受信してプリンタに印刷させるものであって、ここでは、プリントサーバ、ライタ、およびスプーリングファイル、装置制御などから構成されるものである。
【０００６】
プリントサーバは、ネットワークを介してクライアントから転送されてきたスプーリングファイルを受信し、外部記憶装置に一時的にスプーリングファイルとして蓄積するものである。
【０００７】
ライタは、プリントサーバから渡されたスプーリングファイルを装置制御を介してプリンタに印刷させるものである。
装置制御は、ライタから出力されたデータをプリンタに出力すると共に、プリンタがデータを受信したかどうかの確認やプリンタのエラーを確認してライタに通知したり、ライタからのエラーリトライ要求に応じてプリンタを初期化して再印刷をするものである。
【０００８】
プリンタは、アプリの要求するデータの内容に従い、用紙に印刷するものである。
【０００９】
【発明が解決しようとする課題】
従来は、上述したように、例えばクライアントが印刷データをスプーリングファイルに作成してネットワークを介してサーバに転送し、受信したサーバはスプーリングファイルを一時的に蓄積し、プリンタに印刷させるという一方的な流れによって印刷していたため、印刷要求元（ここではクライアント）と印刷先（ここではサーバ）におけるインタフェース情報やリソース情報を予め準備したものであれば正常に印刷できるがそうでない場合、特にオープン環境、（他社の機械と接続したり、異なるアーキテクチャの機械を混合接続した環境）では全てのインタフェース情報やリソース情報を保持することができず、印刷できなかったり、印刷できても部分的に文字化けしたり、また、印刷要求の印刷状態やプリンタの状態がクライアントからは判らないという問題があった。
【００１０】
本発明は、これらの問題を解決するため、印刷要求元から印刷データと共にインタフェース情報やリソース情報をネットワークを介して転送し、受信側でこれらをもとに正常な印刷を行うシステムを実現することを目的としている。
【００１１】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、サーバ１は、印刷データ、インタフェース情報およびリソース情報をネットワークを介してクライアント１２に転送して印刷させたりなどするものであって、アプリ２、リクエスタ５などから構成されるものである。
【００１２】
アプリ２は、印刷要求を行うものである。
リクエスタ５は、アプリ２からの印刷要求をもとに、印刷データにインタフェース情報およびリソース情報を付加などしてネットワークを介してクライアント１２に転送したりなどするものである。
【００１３】
クライアント１２は、受信した印刷データ、インタフェース情報およびリソース情報をもとにプリンタ１５に印刷させたりなどするものである。
次に、動作を説明する。
【００１４】
アプリ２からの印刷要求をもとに、リクエスタ５が印刷データにプリンタのインタフェース情報やリソース情報を付加してネットワークを介して該当するクライアント１２に転送し、当該クライアント１２のプロバイダ１３がネットワークから受信したインタフェース情報をもとに該当するプリンタ１５を制御して受信した印刷データをプリンタ１５に印刷させるようにしている。
【００１５】
また、アプリ２からの印刷要求をもとに、リクエスタ５が印刷データにプリンタのインタフェース情報および印刷データのリソース情報を付加してネットワークを介してクライアント１２に転送し、当該クライアント１２のプロバイダ１３がネットワークから受信したインタフェース情報をもとにプリンタ１５を制御し受信したリソース情報を使って受信した印刷データをプリンタ１５に印刷させるようにしている。
【００１６】
従って、印刷要求元から印刷データと共にインタフェース情報やリソース情報をネットワークを介して転送し、受信側でこれらをもとに印刷することにより、該当するシーケンスのプリンタに接続し、しかも該当するリソース情報（例えば特殊フォント文字など）を用いて正常に印刷させることが可能となる。
【００１７】
【発明の実施の形態】
次に、図１から図４を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００１８】
図１は、本発明の１実施例構成図を示す。
図１において、サーバ１は、ネットワークに接続されたものであって、ここでは、アプリ２、ＯＳ３、リクエスタ５、装置制御６、およびＩ／Ｆ７などから構成されるものである。
【００１９】
アプリ２は、アプリケーションプログラムであって、各種業務処理を行い、ここでは、その結果を印刷するための印刷要求を発行するものである。
ＯＳ３は、オペレーティングシステムであって、全体を統括制御するものであり、ここでは、プリンタ名切り替え手段４などから構成されるものである。
【００２０】
プリンタ名切り替え手段４は、アプリ２からのプリンタ名を指定した印刷要求をもとに、ローカルなプリンタ８、あるいはネットワークを介してリモートのプリンタ１５などのいずれに印刷させるかをプリンタ名によって切り替えるものである。
【００２１】
リクエスタ５は、アプリ２からの印刷要求をもとに、ネットワークを介して該当するクライアント１２に印刷データ、プリンタのインタフェース情報、およびリソース情報を転送するものである。ここで、インタフェース情報は、プリンタを制御するときのインタフェース情報であって、例えばセントロニスク、ＳＣＳＩ、ＲＳ−２３２Ｃなどのインタフェースに関する情報である。リソース情報は、外字フォントなどの印刷データを印刷するときに必要となる情報である。
【００２２】
装置制御６は、Ｉ／Ｆ７を介してプリンタ８を制御して印刷するものである。Ｉ／Ｆ７は、インタフェースであって、プリンタ８を制御するための情報の授受のためのインタフェース（例えばセントロニクス、ＳＣＳＩ、ＲＳ−２３２Ｃなど）である。
【００２３】
プリンタ８は、印刷データを用紙に印刷するものである。ここでは、プリンタ８は、セントロニクスというインタフェースによって制御して印刷データを印刷するものである。
【００２４】
ネットワークプリンタ１１は、ネットワークに直接接続されたプリンタであって、サーバ１などからの印刷データ、インタフェース情報、およびリソース情報をもとに用紙に印刷データを印刷するものである。
【００２５】
クライアント１２は、ネットワークに接続されたものであって、ここでは、プロバイダ１３、Ｉ／Ｆ１４、およびプリンタ１５などから構成されるものである。
【００２６】
プロバイダ１３は、ネットワークを介して受信した印刷データ、インタフェース情報、およびリソース情報をもとに該当するプリンタ１５を制御して印刷するものである。
【００２７】
Ｉ／Ｆ１４は、プリンタ１５との間のインタフェースである。
プリンタ１５は、印刷データを用紙に印刷するものである。この印刷する場合、受信したインタフェース情報で指定されたセントロニクス、ＳＣＳＩ、あるいはＲＳ−２３２Ｃなどのインタフェース形式のプリンタを選択して印刷データを用紙に印刷させる。
【００２８】
以上によって、図中の例えば▲１▼に示すように印刷データにインタフェース情報およびリソース情報を付加してネットワークを転送し、受信側のクライアント１２などでインタフェース情報に合致したプリンタを選択し、印刷データについてリソース情報（例えば特殊フォント）を使ってプリンタ１５によって用紙に印刷させることにより、オープン環境であっても、印刷データに適したインタフェースに従いリソース情報を使って印刷させることができ、インタフェースの違いにより印刷不可となったり、インタフェースが合致してもリソース情報の例えば特殊文字フォントが無くて印刷できなかったり、文字化けしたりする事態の発生を無くし、ローカルのプリンタと同様な扱いでネットワークを介してリモートでプリンタに印刷させることが可能となった。
【００２９】
又、図中の▲２▼は、▲１▼と同様に、ネットワークプリンタ１１に印刷させるルートを示す。
図中▲３▼は、ローカルなプリンタ８に、装置制御６およびＩ／Ｆ７を介して印刷させるルートと示す。
【００３０】
図中▲４▼は、ローカルなプリンタ８に、ＯＳ３が直接にＩ／Ｆ７を介して印刷させるルートと示す。
次に、図２のフローチャートに示す順序に従い、図１の構成の動作例を詳細に説明する。
【００３１】
図２は、本発明の動作説明フローチャートを示す。
図２において、Ｓ１は、アプリが印刷要求を、プリンタ名情報を設定して発行する。
【００３２】
Ｓ２は、サーバ１のリクエスタ５が回線を獲得する。
Ｓ３は、ＯＰＥＮプロコトルを送信する。
Ｓ４は、ＯＰＥＮプロトコルを受信する。
【００３３】
一方、ネットワークを介して印刷要求先のクライアント１２側でも同様に、Ｓ２１ないしＳ２３の処理を行う。
Ｓ２１は、クライアント１２のプロバイダ１３が回線を獲得する。
【００３４】
Ｓ２２は、Ｓ３に対応してＯＰＥＮプロトコルを受信する。
Ｓ２３は、ＯＰＥＮプロトコルを送信する。これに対応して、上述したＳ４でＯＰＥＮプロトコルを受信する。
【００３５】
以上のＳ１からＳ４を印刷要求側のサーバ１で行い、印刷要求先のクライアント１２でＳ２１からＳ２３を行うことにより、サーバ１からインフェース情報、およびリソース情報をクライアント１２に送信したこととなる。
【００３６】
Ｓ５は、データの読み込みを行う。これは、アプリ２から印刷要求のあった印刷データの読み込みを行う。
Ｓ６は、サーバ１のリクエスタ５がＷＲＩＴＥプロトコルを送信する。
【００３７】
Ｓ２４は、クライアント１のプロバイダ１３がＷＲＩＴＥプロトコルを受信する。
Ｓ２５は、プリンタポートへ１バイト書き込む。
【００３８】
Ｓ２６は、ポート状態が正常か異常のいずれかを判別する。正常の場合には、Ｓ２７でデータエンドか判別しＹＥＳのときにＳ２９に進み、Ｓ２７のＮＯのときにＳ２５に戻り繰り返す。一方、Ｓ２６の状態が異常の場合には、Ｓ２８でステータスマッピングを行い（プリンタポートの状態をもとに、ＷＲＩＴＥプロトコル内の状態設定場所にマッピングを行い）、Ｓ２９に進む。
【００３９】
Ｓ２９は、ＷＲＩＴＥプロトコルを送信する。
Ｓ７は、Ｓ２９の送信をサーバ１のリクエスタ５が受信する。
Ｓ８は、エラーか判別する。ＹＥＳの場合には、Ｓ９でメッセージを通知（表示）し、Ｓ１０に進む。一方、ＮＯの場合には、Ｓ１１に進む。
【００４０】
Ｓ１０は、Ｓ８のＹＥＳでエラーが発生していたと判明したので、その旨のメッセージを表示して利用者に知らせると共に、そのエラーが待ち合わせ可能なエラーか判別する。例えばプリンタの用紙切れの場合には、待ち合わせ可能なものとし、プリンタの電源断の場合には、待ち合わせ不可能なものとする。
【００４１】
Ｓ１１は、データエンドか判別する。ＹＥＳの場合には、全てのデータについて送信した印刷を完了したと判明するので、Ｓ１２に進む。一方、ＮＯの場合には、Ｓ５に戻り、次のデータについて繰り返す。
【００４２】
Ｓ１２は、ＣＬＯＳＥプロトコルを送信する。
Ｓ３０は、クライアント１２のプロバイダ１３がＣＬＯＳＥプロトコルを受信する。
【００４３】
Ｓ３１は、ＣＬＯＳＥプロトコルを送信する。
Ｓ１３は、サーバ１のリクエスタ５がＣＬＯＳＥプロトコルを受信する。
Ｓ１４は、回線を解放する。
【００４４】
Ｓ３２は、回線を解放する。
以上によって、サーバ１のリクエスタ５がアプリ２からの印刷要求があったときに、プロトコルに載せてインタフェース情報およびリソース情報をクライアント１２のプロバイダ１３に送信した後に印刷データを順次送信し、インタフェース情報およびリソース情報をもとに用紙に順次印刷する。プリンタの印刷時に異常が発生した場合には、その旨を送信してリクエスタ５が表示すると共に、待ち合わせ可能なエラーの場合には、待ち合わせを行ってデータを再送することを繰り返す。これらにより、印刷要求元から印刷データと共にインタフェース情報やリソース情報をネットワークを介して転送し、受信側でこれらをもとに印刷することが可能となる。
【００４５】
図３は、本発明のシーケンス例（その１）を示す。これは、印刷要求先のクライアント１２のプロバイダ１３で印刷不可と判断されたときのシーケンス例である。
【００４６】
図３において、Ｓ４１は、サーバ１のリクエスタ５がアプリ２から印刷データをＲＥＡＤする。
Ｓ４２は、データをＷＲＩＴＥする。この際、インタフェース情報およびリソース情報はプロトコルに載せて既に回線を獲得した後のプロトコル送受信時に送信してクライアント１２のプロバイダ１３に送信済みである。
【００４７】
Ｓ４３は、クライアント１２のプロバイダ１３がデータを受信する。
Ｓ４４は、印刷不可と判明する。例えば用紙切れで印刷不可と判明する。
Ｓ４５は、ＷＲＩＴ（異常）、例えばオフライン、用紙切れを送信する。
【００４８】
Ｓ４６は、Ｓ４５で送信された内容を受信する。
Ｓ４７は、Ｓ４６で異常を受信したので、サーバ１のリクエスタ５がその異常の旨を表示してオペレータに知らせる。
【００４９】
Ｓ４８は、リカバリの可否を判断する。例えば用紙切れなどで待ち合わせする意味のある事象の場合には、リカバリ可として所定時間経過後に待ち合わせ、再度、送信する。一方、待ち合わせする意味がない事象（例えばプリンタが電源断など）のときには、Ｓ４８はリカバリ不可と判断して終了する。
【００５０】
Ｓ５０は、プロバイダ１３がＳ４９で送信されたデータを受信する。
Ｓ５１は、待ち合わせし、ここでは、用紙切れが無くなりプリンタが復旧したと判明する。
【００５１】
Ｓ５２は、印刷する。
Ｓ５３は、ＷＲＩＴＥ（正常）を送信する。
Ｓ５４は、Ｓ５３で送信された内容をサーバ１のリクエスタ５が受信する。
【００５２】
以上によって、サーバ１のリクエスタ５がプロトコルに載せてインタフェース情報およびリソース情報をネットワークを介してクラアイント１２のプロバイダ１３に送信し、プリンタが印刷不可のときに異常の旨をサーバ１のリクエスタに送信およびメッセージを表示し、リカバリ可の場合には、所定時間待って再度データを送信して印刷を行うことにより、印刷要求先のプリンタ異常が発生しても、待ち合わせて正常となったときにデータを再送して印刷することが可能となる。
【００５３】
図４は、本発明のシーケンス例（その２）を示す。これは、印刷要求先のクライアント１２のプロバイダ１３でプリンタ１５にバーコードなどのデータ読み取りを行わせる場合のシーケンスの例である。
【００５４】
図４において、Ｓ６１は、サーバ１のアプリ２が読み取り入力する。
Ｓ６２は、アプリ２が読み取りデータ長を入力する。
Ｓ６３は、コマンド文字列を入力する。
【００５５】
Ｓ６４は、Ｓ６１からＳ６３で入力されたデータを送信（ＷＲＩＴＥ）する。Ｓ６５は、Ｓ６４で送信されたデータ（読み取り指示、読み取りデータ長、コマンド文字列）をクライアント１２のプロバイダ１３が受信する。
【００５６】
Ｓ６６は、プロバイダ１３がプリンタにＷＲＩＴＥ（送信）する。
Ｓ６７は、ＳＴチェックを行う。これは、プリンタ１５に付加されているデータリーダ部の読み取りチェックを行う。
【００５７】
Ｓ６８は、ＳＴ２リードする。これは、プリンタ１５に付加されているデータリーダ部がバーコードを読み取る。
Ｓ６９は、Ｓ６８で読み取ったデータを送信（ＷＲＴＥ（正常））する。
【００５８】
Ｓ７０は、サーバＳ１のリクエスタ５がＳ６９で送信された内容を受信する。Ｓ７１からＳ７３は、Ｓ７０で受信したデータ（ｒｅｔｕｒｎ  ｃｏｄｅ（正常、異常などの区別を表すコード））、データ長、データの通知をアプリ２に行う。
【００５９】
以上によって、アプリ２は、ネットワークを介してプリンタ１５に付加したバーコードなどのデータリーダによってバーコードなどを読み取り、そのデータを受けることが可能となる。
【００６０】
【発明の効果】
以上説明したように、本発明によれば、印刷要求元から印刷データと共にインタフェース情報やリソース情報をネットワークを介して転送し、受信側でこれらをもとに印刷する構成を採用しているため、該当するインタフェース情報を持つプリンタに接続し、しかも該当するリソース情報（例えば特殊フォント文字など）を用いて正常に印刷させることができる。これらにより、印刷プロトコル上にプリンタのインタフェース情報やリソース情報を載せて送ると共に印刷データを送信して受信側で、インタフェース情報に従ってプリンタを制御し、リソース情報を使って印刷データを用紙に文字化けなどのない正常の文字を印刷させることが可能となり、コンピュータを各シーケンス（インタフェース）のプリンタに接続し、印刷させることが可能となる。
【図面の簡単な説明】
【図１】本発明の１実施例構成図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明のシーケンス例（その１）である。
【図４】本発明のシーケンス例（その２）である。
【図５】従来技術の説明図である。
【符号の説明】
１：サーバ
２：アプリ（アプリケーションプログラム）
３：ＯＳ
４：プリンタ名切り替え手段
５：リクエスタ
６：装置制御
７：Ｉ／Ｆ
８：プリンタ
１１：ネットワークプリンタ
１２：ネットワーククライアント
１３：プロバイダ
１４：Ｉ／Ｆ
１５：プリンタ
【図１】
0003639653.tif 000002
【図２】
0003639653.tif 000003
【図３】
0003639653.tif 000004
【図４】
0003639653.tif 000005
【図５】
0003639653.tif 000006