(57)【要約】【課題】  プリンタドライバとプリンタとの間で双方向通信を実現することができる印刷システムを提供する。【解決手段】  ネットワーク１接続されたクライアントＰＣ３とプリンタで構成され、クライアントＰＣ３に備えられたプリンタドライバ２３によってプリント動作を行う印刷システムであって、プリンタドライバ２３からプリンタに印刷データを送る通信経路で構成問合せ命令を送り、プリンタが構成問合せ命令を受け取った通信経路及び別の通信経路に応答を送り返すことにより、プリンタドライバ２３とプリンタとの間で双方向通信を行うようにした。これにより、プリンタドライバ２３からプリンタへの一方向の通信路しか設定されていない状況でも、プリンタドライバ２３とプリンタとの間で双方向通信を行えるようにした。【選択図】  図２
2006146727.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続されたクライアントＰＣとプリンタで構成され、前記クライアントＰＣに備えられたプリンタドライバによってプリント動作を行う印刷システムであって、前記プリンタドライバから前記プリンタに印刷データを送る通信経路で構成問合せ命令を送り、前記プリンタが前記構成問合せ命令を受け取った通信経路及び別の通信経路に応答を送り返すことにより、前記プリンタドライバと前記プリンタとの間で双方向通信を行うことを特徴とする印刷システム。
【請求項２】
前記構成問合せ命令には、前記クライアントＰＣへの応答経路が指定されていることを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路が複数であることを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路がＨＴＴＰプロトコルを用いた応答経路であることを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路がｅ−ｍａｉｌプロトコルを用いた応答経路であることを特徴とする請求項３に記載の印刷システム。
【請求項６】
ネットワーク接続されたクライアントＰＣとプリンタで構成され、前記クライアントＰＣに備えられたプリンタドライバによってプリント動作を行う印刷システムの前記プリンタドライバと前記プリンタとの双方向通信の不可を調査する双方向通信の不可調査方法であって、前記プリンタドライバから前記プリンタに印刷データを送る通信経路で前記クライアントＰＣへの応答経路が指定されている構成問合せ命令を送るステップと、前記プリンタが前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路に応答を送り返すステップとを実行することを特徴とする双方向通信の不可調査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パソコン等に備えられたプリンタドライバによってプリント動作を行う印刷システムに関し、特に、プリンタドライバからプリンタへの一方向の通信路しか設定されていない状況でも、プリンタドライバとプリンタとの間で双方向通信を実現することができる印刷システムに関するものである。
【背景技術】
【０００２】
最近、プリンタドライバとしては、双方向通信、つまりプリンタドライバからコマンドをプリンタに送り、それに対するレスポンスを受け取ることで付加価値機能を持つタイプが提案されている。
なお、先行技術としては、特許文献１には、プリンタに搭載されているプロセッサ能力、印刷能力などのプリンタデータをプリンタドライバに付加し、ホストコンピュータにプリンタドライバをインストールするときには、ホストコンピュータのプロセッサ能力、通信能力などのホストデータと、プリンタデータとで送信データ形態識別データテーブルを検索して、プリンタへ転送するデータの最も効率のよい形態を選択し、保存することにより、印刷の際にはホストコンピュータ、プリンタの両者にとって最も効率の良いデータ送信及び印刷が可能にする技術が開示され、特許文献２には、プリントマネージャは、「パトロールドライバから受け取った出力先として設定されているプリンタのステータス、情報」と「プリンタドライバから受け取ったユーザ要求」を比較し、ユーザ要求を満たしていれば、そのままデータを出力先として設定されているプリンタに出力し、また、ユーザ要求を満たしていなければ、プリントマネージャは、ユーザ要求を満たしていない機能を、ユーザに対してメッセージなどによって通知する、あるいはユーザ要求を満たすプリンタを検索し、ユーザ要求を満たすプリンタが存在すれば、出力先を変更する技術が開示される。
【特許文献１】特開平１０−１９８５３０号公報
【特許文献２】特開平１１−８５４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、プリンタドライバからプリンタへのデータは歴史的に一方向の通信だったため、双方向の通信をサポートしていない通信経路が存在する。このような経路が、プリンタドライバとプリンタの間にひとつでも存在する場合は、これらの付加価値機能を提供できないという問題があった。
本発明は、上記問題点を解決するためになされたもので、その目的は、プリンタドライバとプリンタとの間で双方向通信を行う印刷システムを提供することである。
【課題を解決するための手段】
【０００４】
上述の目的を達成するために、請求項１記載の発明は、ネットワーク接続されたクライアントＰＣとプリンタで構成され、前記クライアントＰＣに備えられたプリンタドライバによってプリント動作を行う印刷システムであって、前記プリンタドライバから前記プリンタに印刷データを送る通信経路で構成問合せ命令を送り、前記プリンタが前記構成問合せ命令を受け取った通信経路及び別の通信経路に応答を送り返すことにより、前記プリンタドライバと前記プリンタとの間で双方向通信を行うことを特徴とする。
また、請求項２記載の発明は、請求項１に記載の印刷システムにおいて、前記構成問合せ命令には、前記クライアントＰＣへの応答経路が指定されていることを特徴とする。
また、請求項３記載の発明は、請求項２に記載の印刷システムにおいて、前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路が複数であることを特徴とする。
また、請求項４記載の発明は、請求項３に記載の印刷システムにおいて、前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路がＨＴＴＰプロトコルを用いた応答経路であることを特徴とする。
また、請求項５記載の発明は、請求項３に記載の印刷システムにおいて、前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路がｅ−ｍａｉｌプロトコルを用いた応答経路であることを特徴とする。
また請求項６記載の発明は、ネットワーク接続されたクライアントＰＣとプリンタで構成され、前記クライアントＰＣに備えられたプリンタドライバによってプリント動作を行う印刷システムの前記プリンタドライバと前記プリンタとの双方向通信の不可を調査する双方向通信の不可調査方法であって、前記プリンタドライバから前記プリンタに印刷データを送る通信経路で前記クライアントＰＣへの応答経路が指定されている構成問合せ命令を送るステップと、前記プリンタが前記構成問合せ命令に指定されている前記クライアントＰＣへの応答経路に応答を送り返すステップとを実行することを特徴とする。
【発明の効果】
【０００５】
本発明によれば、プリンタドライバからプリンタに印刷データを送る通信経路でクライアントＰＣへの応答経路が指定されている構成問合せ命令を送り、プリンタが構成問合せ命令に指定されているクライアントＰＣへの応答経路に応答を送り返すようにしたので、プリンタドライバからプリンタへの一方向の通信路しか設定されていない状況でも、プリンタドライバとプリンタとの間で双方向通信を確実に行うことができるようになる。
また、本発明によれば、プリンタドライバとプリンタが双方向通信するために前記問合せ命令に指定されている前記クライアントＰＣへの応答経路が複数であるので、複数の通信経路の可能性を１回のコマンドで調査できる。
【発明を実施するための最良の形態】
【０００６】
以下に添付の図を参照してこの発明の実施形態を詳細に説明する。
図１は、本発明による印刷システムの一実施形態の全体概要図である。
図１に示す印刷システムは、ネットワーク１に対して、クライアントＰＣ３、第１のプリントサーバ７、第２のプリントサーバ９、第２のプリンタ１１、第３のプリンタ１３が接続されている。またクライアントＰＣ３には第１のプリンタ５が直接接続されている。またファイアウォール１５、１９及びインターネット１７を介して他のネットワーク２１に接続された第４のプリンタ２４が接続された構成となっている。
このような印刷システムのクライアントＰＣ３には、プリンタドライバ２３がインストールされており、ユーザがクライアントＰＣ３を操作することにより、クライアントＰＣ３上で動作するアプリケーションソフトウエア２５によって生成された印刷用文書がプリンタドライバ２３によってプリンタに適したプリンタ制御言語に変換され、目的とするプリンタに適した通信経路で送られる。
また、クライアントＰＣ３には、ＨＴＴＰプロトコルによる通信経路、及びｅ−ｍａｉｌによる通信経路等を介して受信する通信レシーバ２７が備えられている。この場合、第１のプリンタ５は、クライアントＰＣ３にパラレルＩ／Ｆを解して直接接続されていて、クライアントＰＣ３のアプリケーションソフトウエア２５上の例えば「プリンタアイコン１」に関連付けられている。
第２のプリンタ１１は、第１のプリントサーバ７のプリントキューＡにポート９１００で接続され、プリントキューＡはクライアントＰＣ３のアプリケーションソフトウエア２５上の例えば「プリンタアイコン２」に関連付けられている。即ち、第１のプリントサーバ７のプリンタが「共有」に設定されていて、クライアントＰＣ３のプリンタアイコン２の出力先（ポート）がプリントキューＡになっている。そして、クライアントＰＣ３で動作するアプリが、プリンタアイコン２で印刷をすると、印刷データはクライアントＰＣ３のプリンタアイコン２から、第１のプリントサーバ７のプリントキューＡに送られ、そこから第２のプリンタ１１に送られる。
【０００７】
第３のプリンタ１３は、第２のプリントサーバ９のプリントキューＣにＬＰＲで接続されていて、プリントキューＣはプリントキューＢにＳＭＢで接続され、プリントキューＢはクライアントＰＣ３のアプリケーションソフトウエア２５上の例えば「プリンタアイコン３」に関連付けられている。
第４のプリンタ２３は、インターネット１７及び他のネットワーク２１経由で接続されていて、クライアントＰＣ３のアプリケーションソフトウエア２５上の「プリンタアイコン４」にＩＰＰプロトコルで関連付けられている。
この様な構成において、クライアントＰＣ３にインストールされたプリンタドライバ２３は、インストール直後、あるいはドライバ起動時など、プリンタとの双方通信をするべきタイミングにおいて、プリンタとの双方向通信が可能であることが判明していない場合に、プリンタと双方向通信可能かどうかを以下の順序で調査する。
【０００８】
図２は、プリンタドライバ２３とプリンタと双方向通信可能かどうかの調査動作のフローチャートである。
まず、図２のステップＳ１０１において、双方向通信の可否が判断済か否かが判定され、双方向通信の可否が判断済である場合、双方向通信調査が不要となる（ステップＳ１０２）。一方、双方向通信の可否が判断済でない場合、ローカルＰＣに１対１で接続されているかどうかを調べる（ステップＳ１０３）。
ここで、図１に示すクライアントＰＣ３に装着されているパラレルＩ／ＦやＵＳＢ Ｉ／Ｆに直接属されている第１のプリンタ５はクライアントＰＣ３に１対１により接続されている。このような接続の場合、Ｉ／Ｆの仕様がパラレルＩ／Ｆとなっていることにより、その接続形態で双方向通信が可能であることがわかる。
次に、プリンタがローカルＰＣに１対１で接続されていない場合（図１では、第２、第３、第４のプリンタ１１、１３、２４となるが、以下では第２のプリンタ１１を例にとって説明する）、第２のプリンタ１１に構成問合せ命令（SEND_CONFIG命令）を所定の通信経路（この場合、通常の印刷データと同じ経路、即ちネットワークＩ／Ｆ及びネットワーク１を介した通信経路）で送付し（ステップＳ１０４）、返答待ちとなる（ステップＳ１０５）。この構成問合せ命令は、以下のようになる。
＠PJL COMMENT SEND_CONFIG
＠PJL COMMENT SEND_ADDRESS01="Channel 0"
＠PJL COMMENT SEND_ADDRESS02="ＨＴＴＰ://192.168.120.2:12345"
＠PJL COMMENT SEND_ADDRESS03=mailto:bidi-admin@192.168.120.2
＠PJL COMMENT END
これは３種類の通信経路を指定しているので、３回、構成問合せ命令を送る。構成情報自体の作成は、物理プリンタごとに構成情報のフォーマットが決まっており、各項目ごとに、データ送出直前に、オプションの装着状態や、設定値の値を読み出し、構成情報に値としてテキストを挿入する、という動作になる。
なお、プリンタアイコン２の経路としては、例えばクライアントＰＣ３のプリンタアイコン２用ドライバから、(クライアントＰＣ３のプリンタアイコン１に関連付けられている)プリントキューＡにＳＭＢプロトコルで送られ、プリントキューＡから第２のプリンタ１１にＰｏｒｔ９１００プロトコルが送られる。
また、プリンタアイコン３の経路としては、例えばクライアントＰＣ３のプリンタアイコン３用ドライバからプリントキューＢにＳＭＢプロトコルで送られ、プリントキューＢからプリントキューＣにＳＭＢプロトコルで送られた後、プリントキューＣから第３のプリンタ１３にＬＰＲプロトコルが送られる。
【０００９】
ここで、SEND_ADDRESS01で示される経路は、Channel 0、つまり印刷データを受信した経路であり、SEND_ADDRESS02で示されるＵＲＮは、クライアントＰＣ３で動作する通信レシーバ２７への通信ポートである。SEND_ADDRESS03で示されるmailtoは、クライアントＰＣ３で動作する通信レシーバ２７にｅ−ｍａｉｌを送るためのメールアドレスである。即ち、この構成問合せ命令は、通信レシーバ２７へのＨＴＴＰプロトコルによる応答経路、及び通信レシーバ２７へのｅ−ｍａｉｌによる応答経路が指定されている。従って、この応答経路は、上記所定の通信経路（この場合、ネットワークＩ／Ｆ、及びネットワーク１を介した通信経路）とは別の通信経路となる場合がある。
このようにプリンタドライバ２３と第２のプリンタ１１が双方向通信するために前記問合せ命令に指定されているクライアントＰＣ３への応答経路が複数であるので、複数の応答経路の可能性を１回のコマンドで調査できる。
この構成問合せ命令を受け取った第２のプリンタ１１は、予め用意されている構成情報を、指定された全ての応答経路で返答を試みる。
この場合、命令を受け取った通信経路("Channel 0")、SEND_ADDRESS02で指定されたＨＴＴＰプロトコルによる通信レシーバ２７への通信経路、そして、SEND_ADDRESS03で指定されたｅ−ｍａｉｌアドレスによる通信レシーバ２７への通信経路に返答を送付する。この構成情報は、以下のようなものである。
＠PJL COMMENT REPLY_CONFIG
＠PJL COMMENT ACCESSORY01=FINISHER_TYPE_20
＠PJL COMMENT ACCESSORY02=INPUTTRAY_TYPE_15
＠PJL COMMENT IP_ADDRESS01=192.168.140.90
＠PJL COMMENT END
【００１０】
次に、制限時間以内に第２のプリンタ１１より返答があったか否かが判定され（ステップＳ１０６）、制限時間以内にプリンタより返答（構成情報）があった場合、最初に回答があった経路を双方向通信経路として設定し（ステップＳ１０７）、双方向通信可能フラグを設定する（ステップＳ１０８）。
即ち、上記構成情報の返答を受け取ったプリンタドライバ２３は、第２のプリンタ１１への印刷データの通信経路にかかわらず、第２のプリンタ１１よりの構成情報から第２のプリンタ１１の実際のアドレスが192.168.140.90であることがわかるので、その後の双方向通信が必要な通信は、このアドレスに対して直接送付することが可能になる。第２のプリンタ１１から構成情報が取得できた場合、プリンタアイコン２のドライバは、192.168.140.90に双方向通信可能なプロトコル(例：ポート9100)で直接接続して、双方向通信が可能となる（この通信にはプリントサーバやプリントキューはまったく関係しない）。
なお、ＩＰネットワークの場合、相手のＩＰアドレスがわかれば、途中にファイアウォールが入っていない場合は接続が可能となる。構成情報から、ドライバが予め持っているプリンタとの双方向通信プロトコルを使って、そのＩＰアドレスと接続できれば、双方向通信が可能となる。
但し、第４のプリンタ２３から構成情報が取得できても、ファイアウォール１７、１９により直接接続ができないため、双方向通信は不可能となる。
なお、制限時間以内にプリンタより返答（構成情報）がない場合、双方向通信不可能フラグを設定する（ステップＳ１０９）。
【００１１】
以下に、図１に示した第２、第３、第４のプリンタ１１、１３、２４のそれぞれの場合おける構成問合せ命令の送信及びそれに対する応答について説明する。
第２のプリンタ１１の場合における第１の方法："Channel 0"：
Port 9100プロトコルで、プリントキューＡに送る。プリントキューＡからプリンタアイコン２へデータを送る機能がＳＭＢにないため、ここでデータ送信は終わる。
第２のプリンタ１１の場合における第２の方法：HTTP://192.168.120.2:12345：
192.168.120.2のポート12345にｈｔｔｐプロトコルで接続を試みる。
接続に成功したら“＠PJL COMMENT REPLY_CONFIG”で始まる構成情報を送る。プリンタドライバは、印刷データ送出直前に自分のクライアントＰＣ３ (そのアドレスは、192.168.120.2)のポート12345にソケットを開いておき、データ受信の準備をする。このソケットは、データ受信が完了するか、印刷完了後、30秒でタイムアウトしてクローズする。
第２のプリンタ１１の場合における第３の方法：mailto:bidi-admin@192.168.120.2：
rfc2821 simple mail transfer protocol（ＳＭＴＰ）で定義されるプロトコルに従い、rfc2822 Internet Message Formatに従って、送付先としてbidi-admin@192.168.120.2 を設定し、本文に、“＠PJL COMMENT REPLY_CONFIG”で始まる構成情報を含んだｅ−ｍａｉｌを送信する。
このためには、第２のプリンタ１１に、予め利用可能なＳＭＴＰサーバが設定されている必要がある。また、プリンタドライバには、事前にこの目的に使用できるメールアドレスが事前に設定されている必要がある。また、プリンタドライバが「構成情報問い合わせ」を送付した３０秒後に、メールが届いているかチェックする。
メールが届いている場合は、そのメールの到着時刻が１週間以上である場合、そのメールを削除する。またメールが１週間以内に到着している場合は、本文を参照し、それを解釈できなければ、そのメールを削除する。そのメールが１週間以内に到着していて、本文の構文が構成情報として解釈可能であれば、その構成情報を採用する。(同時に、メールは削除する。)
【００１２】
第３のプリンタ１３の場合における第１の方法："Channel 0"：
印刷データはＬＰＲで受信しているが、ＬＰＲは逆方向のデータ通信をサポートしていないため、構成情報は送信しない。
第３のプリンタ１３の場合における第２の方法：HTTP://192.168.120.2:12345：
第２のプリンタ１１の第２の方法の場合と同じ対応をする。
第３のプリンタ１３の場合における第３の方法：mailto:bidi-admin@192.168.120.2：
第２のプリンタ１１の第３の方法の場合と同じ対応をする。
第４のプリンタ２３の場合における第１の方法："Channel 0"：
印刷データはＩＰＰで受信しているがＩＰＰは逆方向のデータ通信をサポートしていないため、構成情報は送信しない。
第４のプリンタ２３の場合における第２の方法：HTTP://192.168.120.2:12345：
192.168.120.2のポート12345にｈｔｔｐプロトコルで接続を試みる。
しかしながら、クライアントＰＣ３は、クライアントＰＣ３側のファイアウォールの内側にあるため、第４のプリンタ２３から接続はできない。
第４のプリンタ２３の場合における第３の方法：mailto:bidi-admin@192.168.120.2：
第２のプリンタ１１の第３の方法の場合と同じ対応をする。
【図面の簡単な説明】
【００１３】
【図１】本発明による印刷システムの一実施形態の全体概要図である。
【図２】プリンタドライバ２３とプリンタと双方向通信可能かどうかの調査動作のフローチャートである。
【符号の説明】
【００１４】
１…ネットワーク、３…ＰＣ、５…第１のプリンタ、７…第１のプリントサーバ、９…第２のプリントサーバ、１１…第２のプリンタ、１３…第３のプリンタ、１５、１９…ファイアウォール、１７…インターネット、２１…他のネットワーク、２３…プリンタドライバ、２４…第４のプリンタ、２５…アプリケーションソフトウエア、２７…通信レシーバ
【図１】
2006146727.tif 000003
【図２】
2006146727.tif 000004