(57)【要約】【課題】  いわゆる「印刷用標準ポート」をホストベース印刷の双方向通信システムへ適用すること。【解決手段】  オペレーションシステムが標準で持っている標準TCPポートへの設定(レジストリ登録)がオペレーションシステムの機能で行われるが、この設定情報を用いて、プリンタドライバから標準TCPポートへ印刷データの送信処理を行うにあたり、その間でポートハンドラ機能を挿入する。このポートハンドラ機能はオペレーションシステム種別に沿って使用するポートの切り替え処理を行う手段を持ち、標準ポートを用いる場合と専用ポートを用いる場合に応じて、印刷データ送信機能とステータス系コマンドデータ送受信機能を分け、それに応じて使用プロトコルとポートを切り替え、さらにポートハンドラ機能は、標準ポートと専用ポートを介して受信したステータス情報のマージ機能手段を持つ、ことを特徴とする。【選択図】  図２
2007317004.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置とネットワークで通信可能な情報処理装置であって、
オペレーションシステムが標準で持っている印刷用の標準TCPポートへの設定をオペレーションシステムの持つ機能で行う手段と、
前記手段で行われたポート設定情報を用いて、プリンタドライバから標準ポートへ印刷データの送信処理をオペレーションシステムが行うにあたり、その間に入り、ポートハンドル機能を行う手段と、
前記ポートハンドル機能手段は、オペレーションシステムの種別(印刷用標準ポートを持っているか否か)によって、使用するポートの切り替え処理を行う手段と、
印刷用標準ポートを用いる場合と専用ポートを用いる場合に応じて、印刷データ送信機能とステータス系取得コマンドデータ送受信機能を分け、それぞれに応じて使用するプロトコルとポートを切り替える手段と、
さらに、ポートハンドル機能は、標準ポートと専用ポートを介して受信したステータス情報のマージ機能手段と、
を持つことを特徴とする情報処理装置。
【請求項２】
印刷装置とネットワークで通信可能な情報処理装置の制御方法であって、
オペレーションシステムが標準で持っている印刷用の標準TCPポートへの設定をオペレーションシステムの持つ機能で行う工程と、
前記工程で行われたポート設定情報を用いて、プリンタドライバから標準ポートへ印刷データの送信処理をオペレーションシステムが行うにあたり、その間に入り、ポートハンドル機能を行う工程と、
前記ポートハンドル機能工程は、オペレーションシステムの種別(印刷用標準ポートを持っているか否か)によって、使用するポートの切り替え処理を行う工程と、
印刷用標準ポートを用いる場合と専用ポートを用いる場合に応じて、印刷データ送信機能とステータス系取得コマンドデータ送受信機能を分け、それぞれに応じて使用するプロトコルとポートを切り替える工程と、
さらに、ポートハンドル機能は、標準ポートと専用ポートを介して受信したステータス情報のマージ機能工程と、
を持つことを特徴とする情報処理装置の制御方法。
【請求項３】
請求項２に記載の制御方法をコンピュータに実行させるためのプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【請求項４】
請求項２に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷時に双方向通信を必要とするネットワークホストベース印刷環境において、印刷用標準ポートと専用ポートを利用して印刷データおよび状態情報の通信を行う仕組みに関する。
【背景技術】
【０００２】
オフィス環境などにおいて、一台のプリンタが複数のクライアントコンピュータによって共有して利用される形態が普及している。つまり各々のクライアントコンピュータはプリンタにPeerToPeer(P2P)接続されている。
【０００３】
またプリンタは、USB等のローカルインタフェースから入力した印刷データの処理も行う。
【０００４】
上記のようなP2P接続とUSB接続の使用環境のどちらかを、ユーザは選択してそのクライアントコンピュータを設置する。そしてクライアントにインストールされるプリンタ用のソフトウェアはどちらの形態にも対応できるようにその処理を切り分けているのが通常である。
【０００５】
つまり、形態によらない印刷データの作成部分と印刷データを接続形態に合わせて通信を行う部分を切り分け、制御を行っている。
【０００６】
USB接続形態の場合には、USB通信を行うUSBドライバを用いるが、ネットワークPtoP接続の場合には、ネットワークポートモニタと呼ばれる機能が処理を行う。さらにネットワークオペレーティングシステムはネットワーク通信を下位レベルの機能でサポートしており、ネットワークポートモニタはこの下位レベル機能(ネットワークポートドライバ)を呼び出して、実際にネットワーク機器と通信を行う。
【０００７】
従来、ホストベース印刷環境においては、その双方向通信の必要性から、そのホストベース印刷環境に特化したネットワークポートモニタプログラムが必要であった。つまりこのホストベース印刷環境に特化するという点は、専用のソフトウェアを必要とする。
【０００８】
また、ホストベース印刷方式ではない方式の印刷装置(ネットワークではLPRポートを用いて印刷データを送信するものが代表的である)では、標準ポートへのアクセスを行うことで印刷が可能である。
【０００９】
上記のような標準ポートが市場では一般的であるため、ホストベース印刷装置のネットワークポート設定を行う際に、誤って標準ポートへの設定を行ってしまい、印刷が不可となるケースがある。
【００１０】
つまり専用のポートモニタインストールの必要性や、ネットワークポートの設定が、印刷設定の複雑さを増加させる要因となり、サポート部門へのユーザクレームコール数の増加へつながっているケースが目立っている。
【００１１】
又、別の従来例としては、特許文献１をあげることが出来る。
【特許文献１】特開2001-092604号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述のような問題を鑑み、いわゆる「印刷用標準ポート」をホストベース印刷の双方向通信システムへ適用することを本発明では行う。
【００１３】
単純に双方向通信を標準TCPポートに切り替えるだけでは、対応ができない次の問題を克服する。
【００１４】
（１）双方向通信にはIPプロトコルのTCPとUDPプロトコルを用いる双方向通信が必要であり、標準TCPポートはTCPの送信しか行えない。
【００１５】
（２）標準TCPポートを持たない過去のホストベース印刷システムとの互換性を保つこと。
【課題を解決するための手段】
【００１６】
本願発明は上記問題点に鑑みてなされたものであり、
オペレーションシステムが標準で持っている標準TCPポートへの設定(レジストリ登録)がオペレーションシステムの機能で行われるが、この設定情報を用いて、プリンタドライバから標準TCPポートへ印刷データの送信処理を行うにあたり、その間でポートハンドラ機能を挿入する。
【００１７】
このポートハンドラ機能はオペレーションシステム種別に沿って使用するポートの切り替え処理を行う手段を持ち、
標準ポートを用いる場合と専用ポートを用いる場合に応じて、印刷データ送信機能とステータス系コマンドデータ送受信機能を分け、それに応じて使用プロトコルとポートを切り替え、
さらにポートハンドラ機能は、標準ポートと専用ポートを介して受信したステータス情報のマージ機能手段を持つ、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、従来システムとの互換性を維持しつつ、専用のネットワークポートモニタプログラムを意識することなしに、双方向の通信を行いながらネットワークPeerToPeer印刷を複数の印刷クライアントから行うことを可能とする。
【００１９】
従来に比べて簡易な仕組みにより、ユーザにとって確実なプリンタ設定を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００２１】
［第１実施形態］
図１は従来におけるホストベース印刷システムの概略を示すブロック図である。図中、１１０、１２０および１３０はホストコンピュータであり、ＣＰＵ、メモリ、ハードディスクドライブ、フレキシブルディスクドライブ、キーボード、マウス、モニタ、ネットワークインタフェース、メモリカードスロット等の所謂一般的な情報処理装置におけるハードウェア（不図示）を備える。このコンピュータのことを本実施形態では、以下、クライアントと呼ぶことする。
【００２２】
１１２、１２２および１３２はオペレーティングシステムであり、クライアント１１０、１２０または１３０が備えるハードウェア、およびアプリケーション１１１、１２１または１３１、プリントスプーラ１１４、１２４または１３４、プリンタドライバ１１５、１２５または１３５、ランゲージモニタ１１６、１２６または１３６、ネットワークポートモニタ１１７、１２７または１３７、ネットワークポートドライバ１１８、１２８または１３８などのソフトウェアを管理する。図中点線の枠で囲われたものはオペレーティングシステム側の機能を示している。
【００２３】
アプリケーションは、例えばワードプロセッサのような文書や図形の作成・編集、写真画像を編集する機能を備える。また、作成・編集したアプリケーションデータに基づく印刷指示を行うこともできる。
【００２４】
プリンタドライバは、アプリケーションが発行した印刷指令を読み込み（又はオペレーティングシステムを経て受け取り）、該印刷指令をランゲージモニタ又はプリンタが解釈可能なプリンタコマンドに変換する。
【００２５】
ランゲージモニタは、プリンタドライバが出力したプリンタコマンドをプリントスプーラから受け取り、ネットワーク接続形態においては、ネットワークポートモニタおよびネットワークポートドライバを経由してプリンタに送信する。ＵＳＢ接続形態においては、ＵＳＢポートドライバを経由してプリンタに送信する。
【００２６】
クライアントコンピュータベース（ホストベース）の印刷システムではこの送信はプリンタの詳細な状態を受信しながらプリンタの印刷状況に合わせて行う必要があり、その処理はランゲージモニタで行われる。つまりランゲージモニタとプリンタの間では双方向通信の必要性がある。なおＰＤＬタイプの印刷システムにおいては、その処理が多少軽減されているものと考えられる。
【００２７】
ネットワークポートモニタは、ランゲージモニタが出力したプリンタコマンドをネットワークへ送信するためのポート設定機能や、データ中継処理を行う。具体的には、オペレーティングシステム内のポート作成や、ポート監視、さらにオペレーティングシステム内のネットワークポートドライバを呼び出して実際にネットワーク上のプリンタとのデータの送受信を行う。そしてプリンタからステータスを受信した場合にはランゲージモニタに出力する。
【００２８】
１４０はプリンタであり、ネットワークポートドライバから受信したプリンタコマンドに従って印刷に関連する各種処理を行う。
【００２９】
図２は、本発明におけるホストベース印刷システムの概略を示すブロック図である。図１と同様に説明を行う。図中、２１０および２３０はホストコンピュータ（クライアント）である。
【００３０】
２１２および２３２はオペレーティングシステムであり、クライアント２１０または２３０が備えるハードウェア、およびアプリケーション２１１または２３１、プリントスプーラ２１４または２３４、プリンタドライバ２１５、２３５、ランゲージモニタ２１６または２３６、ポートハンドラ２１８または２３８、標準ポートモニタ２１７、ネットワークポートドライバ２１８、または２３８などのソフトウェアを管理する。図中点線の枠で囲われたものはオペレーティングシステム側の機能を示している。
【００３１】
図１との違いで説明を行う。２１０は標準ポートをオペレーティングシステム側の機能として備えている場合であり、２３０は標準ポートを備えていないオペレーティングシステムの場合のホストベース印刷システムを示すブロック図である。
【００３２】
２１０において、ポートハンドラは、ランゲージモニタが出力したプリンタコマンドをネットワークへ送信するためのポート設定機能や、データ中継処理、そしてポートハンドリング処理を行う。具体的にはオペレーティングシステム内のポート作成や、ポート監視、さらにオペレーティングシステムに応じたポートハンドリング機能処理を行い、そして、オペレーティングシステム内のネットワークポートドライバを呼び出して実際にネットワーク上のプリンタとのデータの送受信を行う。そしてプリンタからステータスを受信した場合にはランゲージモニタに出力する。ここでのオペレーティングシステムに応じたハンドリング処理であるが、標準ポートを持つオペレーティングシステムの場合には、オペレーティングシステム側の標準ポートを利用するようにポートの切り替えを行うことである。さらにこの場合には、プリンタからのステータス受信はポートハンドラが行う。２３０の標準ポートを持たないオペレーティングシステムの場合には、ポートハンドラ機能が図１のネットワークポートモニタと同様の機能を行う。
【００３３】
図３は、同一のホストコンピュータクライアントにプリンタＡ、ＢおよびＣのプリンタが設定されている場合のブロック図を示している。３１０のオペレーティングシステムは標準ポートを備えている場合である。従来の処理を行う(専用ポートを用いる)プリンタドライバ（標準ポートに対応していない）がインストールされる場合が存在するが、ポートハンドラ機能により、標準ポート機能を持つオペレーティングシステムでも標準ポートを経由しない従来の系でも印刷を可能とする。
【００３４】
図４は、図１のプリンタ１４０の構成を更に詳細に示したブロック図である。図中、４１１および４１２はホストコンピュータでありネットワークのクライアントである。４１３はプリンタにＵＳＢ接続されたクライアントである。４２３はプリンタ全体を示している。４２１はネットワークインタフェースであり、ネットワーククライアントからプリンタコマンドなどの各種コマンドを受信する。４２２はＵＳＢインタフェースであり、クライアントからプリンタコマンドなどの各種コマンドを受信する。４２３は所謂プリンタコントローラと呼ばれる部分であり各種機能を備える。
【００３５】
４２４はＦＩＦＯ（ファーストインファーストアウト）メモリであり、ネットワークインタフェースおよびＵＳＢインタフェースから受信した画像データを格納する。どちらのインタフェースから受信するかについては４２５の制御回路によって制御される。復号回路４２６はＦＩＦＯメモリ２２に記憶された画像データを復号し、プリンタエンジン４２７に出力する。プリンタエンジンは、レーザビームプリンタエンジンであり、制御回路の指示により、復号回路が出力した画像データに従って印刷を行う。制御回路は、例えば１チップＣＰＵで構成され、ネットワークインタフェースやＵＳＢインタフェースとの内部的な通信、ＦＩＦＯメモリ、復号回路およびプリンタエンジンの制御等、プリンタの全体的な制御を行う。なお図示していないが、プリンタにパネルやＬＥＤ等の表示機器がある場合には、その制御も行う。
【００３６】
以下、図１乃至図３で説明した印刷システムにおける印刷動作の一例について説明する。
【００３７】
まず、操作者がクライアントコンピュータ側でアプリケーションを操作して印刷を指示すると、アプリケーションからオペレーティングシステムを経由してプリンタドライバに印刷指令が渡される。プリンタドライバはアプリケーションから発行された印刷指令に基づき、画像データに変換して圧縮し、圧縮した画像データを、用紙サイズ、ビットマップデータのラインの長さとライン数などを指定するページ開始コマンド、画像データの終了を示す画像データ終了コマンドとともに出力する。
【００３８】
プリンタコマンドが出力されると、オペレーティングシステムはランゲージモニタにジョブ開始を通知した後に、出力されたプリンタコマンドをプリントスプーラを通して順次ランゲージモニタに引き渡す。ランゲージモニタはジョブが開始されると、ネットワークポートモニタを介し、そしてネットワークポートモニタはオペレーションシステムのネットワークポートドライバを介して占有要求コマンドをプリンタに送信する。
【００３９】
ランゲージモニタはプリンタの占有に成功すると、受け取ったプリンタコマンドを順次プリンタに送信する。なおランゲージモニタは画像データコマンドをプリンタに送信する前に、ステータス要求コマンドを送信し、プリンタのステータスを取得して、画像データコマンドが送信可能であることを確認する。ランゲージモニタは、１ページのプリンタコマンドを送信し終えると、印刷要求コマンド(印刷開始指示コマンド)を送信する。制御回路は、印刷要求コマンドを受信すると、プリンタエンジンに対して印刷開始を指示する。また、ランゲージモニタは、取得したプリンタステータスがページの印刷が正常終了したことを示した場合には、該当するページメモリを解放する。一方、ランゲージモニタは、取得したプリンタステータスがエラーを示した場合には、印刷が正常終了していないページから再送信を試みる。
【００４０】
そしてジョブの全ページのプリンタコマンドを転送し終えると、ランゲージモニタは排紙完了を待たずに占有解除コマンドを送信する。また、ランゲージモニタは、占有解除コマンドを送信した後もプリンタのステータス取得を続け、取得したプリンタステータスがページの印刷が正常終了したことを示した場合には、該当するページメモリを解放するとともに、エラーを検出した場合には、再度占有要求コマンドを送信し、エラーページの回復を試みる。
【００４１】
尚、上述の印刷動作の一例の説明ではプリンタドライバが印刷データとしてビットマップ画像データを生成する例について説明した。また、尚、適用可能なプリンタとしてはレーザビームプリンタに限らず、インクジェットプリンタやその他のプリント方式のホストベース方式プリンタのものを挙げることが出来る。
【００４２】
次にポートハンドラのインストール方法について説明を行う。本発明のポートハンドラはインストールプログラムによってオペレーティングシステム内に配置され、動作可能となる。具体的にはプリンタドライバインストーラである。このインストールタイミングにて、システム内にプログラムがインストールされる。実際に動作させる場合には、インストールされたプリンタドライバを用いてオペレーティングシステム上に動作可能なプリンタオブジェクトを作成し、そのオブジェクトに対応するポートの設定を行う必要がある。そのポートの種類としては、通常は「ＵＳＢポート」や、「印刷用標準ポート」があり、従来のホストベースシステムでは「専用ポート」をここで選択して使用する必要があった。本発明においては、インストールされたオペレーティングシステムが印刷用標準ポートを持っているかどうかをインストール時に判断を行い、持っている場合には、実際にユーザが印刷用標準ポートを経由して印刷を行う設定を行うことにより、印刷用標準ポートを用いて動作する。印刷用標準ポートを持つオペレーティングシステムでは専用ポートについては意識をすることはない。印刷用標準ポートを持っていないオペレーションシステムでは、専用ポートを選択して設定を行わなければならない。
【００４３】
次にポートの設定方法について説明を行う。基本的にはオペレーティングシステムに搭載されている印刷用標準ポートを利用することになる。
【００４４】
図5はオペレーティングシステムが持っているポートの一覧を示すダイアログであり、「Standard TCP/IP Port」がいわゆる印刷用標準ポートを表す。ポートの設定にて印刷用標準ポートを選択すると、図6のダイアログが表示される。ネットワークで通信を行うポートであるので、その設定には「ＩＰアドレスもしくはＩＰアドレスに解釈されるプリンタ名称」の設定項目と、オペレーティングシステム上でのポートを識別する「ポート名」を入力する。この設定を行うことにより、このポートをオペレーティングシステムが利用することが可能となり、さらにプリンタオブジェクトにこのポートを割り付けることによって、プリンタドライバはそのプリンタと通信をすることができる。
【００４５】
図7は専用ポートがオペレーティングシステムに存在している場合の例である。Standard TCP/IP Port以外の専用ポートがシステムで利用可能である。
【００４６】
次に、ポートハンドラの持つ機能について説明を行う。ポートハンドラは実際にランゲージモニタがデータの送受信（図８）を行う時に呼び出される。初めて呼び出される場合には、ランゲージモニタ(プリンタドライバ)は、自身のプリンタオブジェクトに割り付けられたポートの情報（ＩＰアドレス等のあて先情報等）をポートハンドラに与える（８０２）。そしてランゲージモニタはオペレーティングシステム経由にてそのポートへデータを送信または受信するのが通常であるが、標準ポートを用いるランゲージモニタはここで一旦ポートハンドラ側にそのデータを渡す（８０３）。図９は、本印刷システムにおけるポートハンドラの送信処理手順の一例を示す図である。ポートハンドラは、先に与えられたポート情報（標準ポートのあて先情報）を参照（９０１）、データの種別を判断（９０２）、印刷データコマンドであればその標準ポートを利用してデータの送信を行う（９０３）。ステータス系取得コマンドであれば、別の専用ポートにて送信を行う(９０４、使用プロトコルの選択も行われる)。
【００４７】
また、ポートハンドラは使用するポートからの受信を行うためにポートリッスン処理（図１０）も行う。印刷用標準ポートからステータス系の情報を受信する場合と、専用ポートからのステータス系情報の並行受信が考えられる（１００３、１００４））。印刷データのやり取りにて返されるステータスについては、印刷用標準ポートを介してポートハンドラに返信される。印刷外におけるステータス受信は専用ポートで返信が行われる。ポートハンドラでは、その並行して受信するステータス情報をマージ（１００５）してランゲージモニタへ送信応答（１００６）する。
【００４８】
［第２実施形態］
上記第１実施形態では、印刷用標準ポートを持つオペレーティングシステムの構成の場合のポートハンドラ機能について説明を行ったが、印刷用標準ポートを持たないオペレーティングシステムの構成の場合のポートハンドラ機能について説明を行う。
【００４９】
ポートハンドラは実際にランゲージモニタがデータの送受信を行う時に呼び出される。これは実施例１と変わりはない。初めて呼び出される場合には、ランゲージモニタ(プリンタドライバ)は、自身のプリンタオブジェクトに割り付けられたポートの情報（ＩＰアドレス等のあて先情報等）をポートハンドラに与える。これは実施例１と変わりない。そしてランゲージモニタはオペレーティングシステム経由にてそのポートへデータを送信または受信するのが通常であるが、ランゲージモニタは実施例１と同様に一旦ポートハンドラ側にそのデータを渡す。ポートハンドラは、先に与えられたポート情報（専用ポートを利用すること。専用ポート情報については、ポートハンドラ自身が管理している。）を元に、データの送信を行う(使用するプロトコルの選択はデータ種別を元に制御が行われる)。
【００５０】
また、ポートハンドラは使用するポートからの受信を行うためにポートリッスン処理も行う。この系では、印刷用標準ポートからステータス系の情報を受信する場合は存在しない。専用ポートからのステータス系情報の受信のみが考えられ、専用ポートを介してポートハンドラに返信される。印刷外におけるステータス受信も専用ポートで返信が行われる。ポートハンドラは、そのステータス情報をランゲージモニタへ送信応答する。
【００５１】
以上により、上述の各実施形態におけるクライアントコンピュータのポートハンドラ機能により、従来システムとの互換を保ちながら、設定の複雑さを軽減することができた。
【図面の簡単な説明】
【００５２】
【図１】従来方式の印刷システム全体構成の概略の一例を示す図。
【図２】本発明の実施形態におけるネットワークホストベース印刷システムの概略の一例を示す図。
【図３】本発明の実施形態におけるネットワークホストベース印刷システムの概略の一例を示す図。（1台のクライアントに従来のシステムと本発明のシステムが同時に動く場合）
【図４】本発明の実施形態におけるプリンタのブロック図の一例を示す図。
【図５】印刷用標準ポートの設定において、ポートの選択を行う場合のダイアログの一例を示す図。
【図６】印刷用標準ポートの設定において、ポートのあて先情報の設定を行う場合のダイアログの一例を示す図。
【図７】印刷用ポートの設定において、ポートの選択を行う場合のダイアログの一例を示す図。
【図８】本印刷システムにおけるランゲージモニタデータ送信処理手順の一例を示す図。
【図９】本印刷システムにおけるポートハンドラの送信処理手順の一例を示す図。
【図１０】本印刷システムにおけるポートハンドラのリッスン処理手順の一例を示す図。
【図１】
2007317004.tif 000003
【図２】
2007317004.tif 000004
【図３】
2007317004.tif 000005
【図４】
2007317004.tif 000006
【図５】
2007317004.tif 000007
【図６】
2007317004.tif 000008
【図７】
2007317004.tif 000009
【図８】
2007317004.tif 000010
【図９】
2007317004.tif 000011
【図１０】
2007317004.tif 000012