(57)【要約】【課題】  ネットワーク印刷をする場合、各プロトコル階層においてパケットのヘッダ処理を行うと、ハードウェアリソースが十分でない印刷装置にとってプロトコルスタックがボトルネックとなりスループットを上げる妨げとなっていた。【解決手段】  ネットワークを介して外部ホスト装置と通信することによりデータの印刷出力を行う印刷装置であって、外部ホスト装置から受信したパケットが印刷要求パケットか否かを判定する印刷要求判定手段と、印刷要求であれば、外部ホスト装置から受信した印刷データを印刷手段に出力する印刷データ書き込み手段と、印刷データ書き込み手段が出力した印刷データを印刷する印刷手段とを有することを特徴とする印刷装置。【選択図】  図１
2006085561.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部ホスト装置と通信することによりデータの印刷出力を行う印刷装置であって、
外部ホスト装置と通信を行うネットワークインターフェイス手段と、
外部ホスト装置から受信したパケットが印刷要求パケットか否かを判定する印刷要求判定手段と、
送受信パケットの処理を行うプロトコル処理手段と、
外部ホスト装置が発行したコマンドを解析・実行するコマンド処理手段と、
外部ホスト装置から受信した印刷データを印刷手段に出力する印刷データ書き込み手段と、
印刷データ書き込み手段が出力した印刷データを印刷する印刷手段とを有することを特徴とする印刷装置。
【請求項２】
ネットワークを介して外部ホスト装置と通信することによりデータの印刷出力を行う印刷装置におけるパケット処理方法であって、
外部ホスト装置と通信を行うネットワークインターフェイス処理行程と、
外部ホスト装置から受信したパケットが印刷要求パケットか否かを判定する印刷要求判定行程と、
送受信パケットの処理を行うプロトコル処理行程と、
外部ホスト装置が発行したコマンドを解析・実行するコマンド処理行程と、
外部ホスト装置から受信した印刷データを印刷手段に出力する印刷データ書き込み行程と、
印刷データ書き込み行程が出力した印刷データを印刷する印刷行程とを有することを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置およびパケット処理方法に関し、さらに詳しくは、ネットワークを介してホスト装置との間でデータを送受信可能な印刷装置、およびホスト装置から受信したパケットの処理方法に関する。
【背景技術】
【０００２】
従来、ネットワーク印刷に対応した印刷装置としては大型のレーザービームプリンタが多かった。しかしながら、近年では、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ等のネットワークが普及しつつあり、小型の印刷装置でもネットワークに対応したものが増えて来ている。
【０００３】
ネットワーク印刷に対応した印刷装置は、ネットワークインターフェイス、プロトコルスタックおよびプロトコルスタックの上位層で動作するアプリケーションモジュールとを備えており、アプリケーションモジュールは、プロトコルスタックを介してホスト装置にインストールされたドライバソフトウェアと通信することによって、データの印刷、コンフィギュレーション情報の設定／取得、ステータスの取得等の処理を行う。
【０００４】
また、ネットワークに接続された装置では、パケットを受信すると、受信パケットのヘッダに含まれるアドレスの検査や、チェックサムの計算等を各プロトコル階層において行う。
【０００５】
また、従来、次のようなものがあった（例えば特許文献１）。
【０００６】
通信インタフェース部が通信データを受信し、通信制御部が通信データのプロトコルを識別してホストコンピュータとの通信を行う。そして、通信データとプロトコルの種類をデータ識別部に送り、データ識別部は送られてきたデータが印字データか制御データかをプロトコルにより識別する。もし、通信データが印字データであると識別した場合には、該印字データを印字データ受信バッファへ転送する。次いで、フォーマッタ解析部が印字データ受信バッファに蓄えられた印字データを解析して、プリンタエンジン部が印字可能なビットマップデータに展開して、該ビットマップデータをプリンタエンジン部へ転送する。次いで、該転送されるビットマップデータに基づいてプリンタエンジン部が印刷して、処理を終了する。一方、通信データが制御データであると識別した場合には、該制御データを受信して制御データ受信バッファへ蓄積する。次いで、制御データ受信バッファに蓄えられた制御データを制御命令解析部が解析して、該解析された各制御命令に従い各部へ制御情報を転送し、該制御情報に基づいて各部が制御処理をそれぞれ実行して、処理を終了する。
【特許文献１】特開平10-109462号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来の印刷装置においてネットワーク印刷をする場合、下記のような課題があった。
【０００８】
印刷装置においては、印刷中はホスト装置から大量のパケットを受信する。このとき、受信した印刷データパケット一つひとつに対して各プロトコル階層においてヘッダ処理を行うと、ハードウェアリソースが十分でない印刷装置にとってプロトコルスタックがボトルネックとなりスループットを上げる妨げとなっていた。
【０００９】
また、各階層におけるチェックは、信頼性や汎用性は確保できるものの、使用するプロトコルがあらかじめ決められている印刷装置にとっては冗長な部分もあった。
【００１０】
本発明は、上記課題を解決するために為されたものであり、十分でないハードウェアリソースでも高いスループットを実現する印刷装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明における画像処理装置は、外部ホスト装置と通信を行うネットワークインターフェイス手段と、外部ホスト装置から受信したパケットが印刷要求パケットか否かを判定する印刷要求判定手段と、送受信パケットの処理を行うプロトコル処理手段と、外部ホスト装置が発行したコマンドを解析・実行するコマンド処理手段と、外部ホスト装置から受信した印刷データを印刷手段に出力する印刷データ書き込み手段と、印刷データ書き込み手段が出力した印刷データを印刷する印刷手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、受信した印刷データについて必要最小限のチェックのみ行うので、ネットワーク印刷のスループットを上げることが可能となる。
【発明を実施するための最良の形態】
【００１３】
本発明を実施するための最良の形態について、以下に図面を参照して説明する。
【００１４】
図１は、本発明における印刷装置の構成図である。
【００１５】
本発明における印刷装置１０１は、従来のネットワーク非対応の印刷装置と同等である印刷部１１０に、ネットワーク対応モジュールであるＩ／Ｆ部１０２が付加された構成になっている。
【００１６】
Ｉ／Ｆ部１０２は、図示していないホスト装置と印刷部１１０とをブリッジするインターフェイスであり、下記のブロックにより構成される。
【００１７】
ホストＩ／Ｆ部１０３は、イーサネット（登録商標）等のネットワークインターフェイスであり、ＯＳＩ参照モデルでいうところの物理層およびデータリンク層の伝送処理を行う。
【００１８】
印刷要求判定部１０４は、ホスト装置が発行したコマンドが印刷要求か否かを判定する機能を有し、受信パケットが印刷要求であれば印刷データ書き込み部１０７へ、印刷要求でなければプロトコル処理部１０５へ受信パケットを出力する。
【００１９】
プロトコル処理部１０５は、ＴＣＰ／ＩＰ等のプロトコル処理を行うモジュールであり、ネットワーク層およびトランスポート層の処理を行う。
【００２０】
コマンド処理部１０６は、トランスポート層より上の層においてホスト装置と通信を行うモジュールであり、ホスト装置が発行したコマンドを解析し、コマンドに応じた処理を行った後、ホスト装置に対して応答を返す。
【００２１】
印刷データ書き込み部１０７は、印刷要求判定部１０４から出力された印刷データを、プリンタＩ／Ｆ部１０８を介して印刷部１１０に出力し、書き込みが終了したらコマンド処理部１０６にその旨を通知する。
【００２２】
プリンタＩ／Ｆ部１０８は、Ｉ／Ｆ部１０２と印刷部１１０とをブリッジするインターフェイスである。
【００２３】
制御部１０９は、Ｉ／Ｆ部１０２の各モジュールの制御を行う。
【００２４】
印刷部１１０は、従来のネットワーク非対応の印刷装置と同等である。
【００２５】
図２に、ホスト装置と印刷装置との間で交換されるパケットの構成を示す。
【００２６】
識別子２０１には、ホスト装置にインストールされたプリンタドライバと印刷装置との間で交換されるパケットであることを示す、あらかじめ決められたパラメータが格納される。
【００２７】
コマンド２０２には、データ印刷、コンフィギュレーション情報の設定／取得、ステータスの取得等のコマンドと、それぞれのコマンドに対して要求か応答かを示すパラメータが格納される。
【００２８】
データ２０３には、コマンド２０２に応じたデータが格納される。例えば、コマンドがデータ印刷要求であれば印刷データが、データ印刷応答であれば印刷したバイト数が格納される。コマンドがステータス取得要求であれば何も格納されず、ステータス取得応答であればステータス情報が格納される。
【００２９】
図３は、本発明における印刷装置内でのパケットと制御情報の流れを示す図であり、実線はパケットの流れ、点線は制御情報の流れを示している。以下、使用するプロトコルがイーサネット（登録商標）およびＴＣＰ／ＩＰである場合を例に取って、印刷装置がパケットを受信した場合の処理について説明する。
【００３０】
ホストＩ／Ｆ部１０３は、パケットを受信すると（Ｓ３０１）、受信パケットの宛先ＭＡＣアドレスと誤り検査符合をチェックし、自分宛で伝送路上でエラーが発生していなければ、場合は印刷要求判定部１０４に出力する（Ｓ３０２）。
【００３１】
印刷要求判定部１０４の動作については、図４のフローチャートも用いて説明する。
【００３２】
印刷要求判定部１０４は、ステップＳ４０１においてホストＩ／Ｆ部１０３が出力したパケットを受信すると（Ｓ３０１）、ステップＳ４０２において受信パケットの宛先ＭＡＣアドレスをチェックする。
【００３３】
ステップＳ４０２において宛先ＭＡＣアドレスが自身のアドレスと一致しない場合は、印刷要求パケットではないと判断できるので、ステップＳ４０９においてプロトコル処理部１０５へ出力する（Ｓ３０６）。
【００３４】
ステップＳ４０２において宛先ＭＡＣアドレスが自身のＭＡＣアドレスと一致した場合は、ステップＳ４０３においてネットワーク層のプロトコルＩＤをチェックする。
【００３５】
ステップＳ４０３においてネットワーク層のプロトコルＩＤがＩＰでない場合は、印刷要求パケットではないと判断できるので、ステップＳ４０９においてプロトコル処理部１０５へ出力する（Ｓ３０６）。
【００３６】
ステップＳ４０３においてネットワーク層のプロトコルＩＤがＩＰである場合は、ＩＰヘッダのプロトコルＩＤをチェックし、ステップＳ４０４においてトランスポート層のプロトコルＩＤをチェックする。
【００３７】
ステップＳ４０４においてトランスポート層のプロトコルＩＤがＴＣＰでない場合は、印刷要求パケットではないと判断できるので、ステップＳ４０９においてプロトコル処理部１０５へ出力する（Ｓ３０６）。
【００３８】
ステップＳ４０４においてトランスポート層のプロトコルＩＤがＴＣＰである場合は、ステップＳ４０５において識別子２０１をチェックする。
【００３９】
ステップＳ４０５においてチェックを通らなかった場合は、プリンタドライバから送信されたパケットではないので、ステップＳ４０９においてプロトコル処理部１０５へ出力する（Ｓ３０６）。
【００４０】
ステップＳ４０９においてチェックを通った場合は、ステップＳ４０６においてコマンドがデータ印刷要求であるか否かを調べる。
【００４１】
ステップＳ４０６においてデータ印刷要求でない場合は、ステップＳ４０９においてプロトコル処理部１０５へ出力する（Ｓ３０６）。
【００４２】
ステップＳ４０６においてデータ印刷要求である場合は、ステップＳ４０７においてＴＣＰレベルのＡＣＫパケットを作成してホスト装置に送信し（Ｓ３１５）、ステップＳ４０８において印刷データを印刷データ書き込み部１０７へ出力する（Ｓ３０３）。
【００４３】
これ以降の処理について、まず、受信パケットが印刷要求パケットであった場合の処理について説明する。
【００４４】
印刷データ書き込み部１０７は、印刷要求判定部１０４が出力した印刷データを受信すると、プリンタＩ／Ｆ部１０８を介して印刷部１１０に印刷データを出力し（Ｓ３０４、Ｓ３０９）、書き込み処理が終了すると、その旨と書き込んだバイト数をコマンド処理部１０６に通知する（Ｓ３０５）。
【００４５】
コマンド処理部１０６は、印刷データ書き込み部１０７から通知を受けると（Ｓ３０５）、ホスト装置に対してデータ印刷応答パケットを作成し、プロトコル処理部１０５を介して送信する（Ｓ３１３、Ｓ３１４、Ｓ３１６）。
【００４６】
次に、受信パケットが印刷要求パケットでなかった場合の処理について、例としてステータス取得要求パケットを受信した場合について説明する。
【００４７】
プロトコル処理部１０５は、まず、受信パケットのヘッダに含まれるアドレス、チェックサム、上位プロトコルをチェックし、コマンド処理部に出力する（Ｓ３０７）。
【００４８】
コマンド処理部１０６は、ホスト装置が発行したコマンドを解析し、ステータス取得要求であることを確認すると、プリンタＩ／Ｆ部１０８を介して印刷部１１０にステータスを問い合わせる（Ｓ３０８、Ｓ３１０）。印刷部１１０からの応答を受け取ると（Ｓ３１１、Ｓ３１２）、ステータス取得応答パケットを作成し、プロトコル処理部１０５を介して送信する（Ｓ３１３、Ｓ３１４、Ｓ３１６）。
【００４９】
本実施例においては、全ての受信パケットがいったん印刷要求判定部１０４に出力される構成になっているが、ＡＲＰパケットやブロードキャストパケット等、明らかに印刷データでないと判断できる場合は、プロトコル処理部１０５に出力する構成にしても良い。
【００５０】
本実施例においては、印刷要求判定部１０４においてＩＰアドレスやチェックサム等の検証をしていないが、これは、データリンク層において既に宛先ＭＡＣアドレスとＣＲＣのチェックをしており、また、ＴＣＰはコネクション指向のプロトコルであるからである。
【００５１】
本実施例においては、プロトコルとしてイーサネット（登録商標）、およびＴＣＰ／ＩＰを用いたが、上記以外のプロトコルに対しても容易に適用可能であることは言うまでもない。
【図面の簡単な説明】
【００５２】
【図１】本発明における印刷装置のブロック図である。
【図２】印刷装置とホスト装置との間で交換されるパケットを示す図である。
【図３】本発明におけるデータのフローを示す図である。
【図４】本発明における印刷要求判定部の動作を示すのフローチャートである。
【符号の説明】
【００５３】
１０１  印刷装置
１０２  Ｉ／Ｆ部
１０３  ホストＩ／Ｆ部
１０４  印刷要求判定部
１０５  プロトコル処理部
１０６  コマンド処理部
１０７  印刷データ書き込み部
１０８  プリンタＩ／Ｆ部
１０９  制御部
１１０  印刷部
２００  パケット
２０１  ヘッダ
２０２  コマンド
２０３  データ
【図１】
2006085561.tif 000003
【図２】
2006085561.tif 000004
【図３】
2006085561.tif 000005
【図４】
2006085561.tif 000006