(57)【特許請求の範囲】
【請求項１】
印刷対象データに基づいて印刷を実行する印刷装置であって、
前記印刷対象データを受信する受信手段と、
前記受信手段による前記印刷対象データの受信に用いられた通信方式のセキュリティに関する条件に基づいて、前記印刷対象データの印刷を実行する印刷手段と、を備え、
前記印刷手段は、
前記印刷対象データの受信に用いられた通信方式が所定のセキュア通信方式であり且つ前記所定のセキュア通信方式における公開鍵の長さが所定の長さ以上である場合に、前記受信手段による前記印刷対象データの受信の後に前記印刷対象データを印刷する第１の印刷方法を実行し、前記通信方式が前記所定のセキュア通信方式でない場合に、前記受信手段による前記印刷対象データの一部の受信の後であり、前記印刷対象データの他の一部の受信の前に、当該受信された一部を印刷する第２の印刷方法を実行することを特徴とする印刷装置。
【請求項２】
印刷対象データに基づいて印刷を実行する印刷装置であって、
前記印刷対象データを受信する受信手段と、
前記受信手段による前記印刷対象データの受信に用いられた通信方式のセキュリティに関する条件に基づいて、前記印刷対象データの印刷を実行する印刷手段と、
ハードウェア暗号アクセラレータまたはソフトウェア暗号ライブラリを用いて、セキュア通信方式により暗号化された受信データの復号処理を行う復号処理手段と、を備え、
前記印刷手段は、
前記印刷対象データの受信に用いられた通信方式が所定のセキュア通信方式であり且つ前記復号処理が前記ソフトウェア暗号ライブラリを用いて行われる場合に、前記受信手段による前記印刷対象データの受信の後に前記印刷対象データを印刷する第１の印刷方法を実行し、
前記通信方式が前記所定セキュア通信方式でない場合、または前記通信方式が前記所定のセキュア通信方式であり且つ前記復号処理が前記ハードウェア暗号アクセラレータを用いて行われる場合に、前記受信手段による前記印刷対象データの一部の受信の後であり、前記印刷対象データの他の一部の受信の前に、当該受信された一部を印刷する第２の印刷方法を実行することを特徴とする印刷装置。
【請求項３】
前記印刷手段は、前記受信手段による受信に用いられた通信インターフェースに関する条件に基づいて、前記印刷対象データの受信に用いられた通信方式が前記所定のセキュア通信方式であるか否かにかかわらず、前記第１の印刷方法を実行することを特徴とする請求項１または２に記載の印刷装置。
【請求項４】
前記通信インターフェースに関する条件は、前記受信手段による前記印刷対象データの受信における受信速度に関する条件であることを特徴とする請求項３に記載の印刷装置。
【請求項５】
前記受信手段は、第１の通信インターフェースと第２の通信インターフェースを備え、
前記通信インターフェースに関する条件は、前記受信手段による受信に用いられた通信インターフェースが前記第１の通信インターフェースでないことを含むことを特徴とする請求項３または４に記載の印刷装置。
【請求項６】
前記第１の通信インターフェースは無線インターフェースであり、前記第２の通信インターフェースは有線インターフェースであることを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記第１の通信インターフェースは無線ＬＡＮインターフェースであり、前記第２の通信インターフェースは有線ＬＡＮインターフェースであることを特徴とする請求項６に記載の印刷装置。
【請求項８】
前記印刷手段は、前記印刷対象データの受信に用いられた通信方式が前記所定のセキュア通信方式であっても、当該所定のセキュア通信方式における暗号強度が所定の強度より低い場合には、前記第２の印刷方法を実行することを特徴とする請求項１乃至７のいずれか１項に記載の印刷装置。
【請求項９】
前記第１の印刷方法では、前記印刷手段が、前記印刷対象データを前記印刷装置が備える記憶装置にスプールし、当該スプールされた前記印刷対象データを印刷することを特徴とする請求項１乃至８のいずれか１項に記載の印刷装置。
【請求項１０】
コンピュータを請求項１乃至９のいずれか１項に記載の印刷装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷対象データに基づいて印刷を実行する印刷装置およびプログラムに関する。
【背景技術】
【０００２】
インクジェットプリンタなどの印刷装置が、外部から受信した印刷データを印刷する方法として、受信した印刷データを直接、印刷処理部に転送して印刷する直接印刷方式と、受信した印刷データを一旦ハードディスクドライブ（ＨＤＤ）などの記憶装置に保存してから印刷するスプール方式とが広く知られている。以下、直接印刷方式による印刷を直接印刷という。また、スプール方式による印刷をスプール印刷という。
【０００３】
データ受信速度が遅い場合に直接印刷方式を用いると、印刷途中でデータ受信が追い付かず、受信待ちによる印刷停止が発生することがある。予期せぬ印刷停止は、搬送制御や印刷制御に影響し、印刷物の画質の低下を招くことがある。例えば、インク吐出方式の印刷処理において走査と搬送との間に予期せぬ待ちが発生すると、インクの乾燥によりインクを適切に重ね合わせることができず発色不良が生じる場合がある。また、搬送停止による用紙の反りが発生したりする場合がある。スプール方式はこのような場合に有効な印刷方式である。スプール方式では、印刷装置は、まず、受信した印刷データをデータ転送速度が十分なＨＤＤなどの記憶装置に全て格納する。その後、印刷装置は、ＨＤＤに格納した印刷データを印刷処理部へ転送する。これにより、受信待ちによる印刷停止が回避される。しかし、スプール印刷方式は、印刷データを受信し終わってから印刷を開始するため、直接印刷方式に比べて印刷完了が遅くなる。したがって、データ受信速度が十分な速さである場合には直接印刷方式を選択することが望ましい。このように、外部から受信した印刷データを印刷する場合には、データ受信速度を判別して、当該判別結果に応じて印刷方式を選択することが望まれる。
【０００４】
特許文献１には、印刷データの送信側装置において、印刷データの送信に利用する通信インターフェースの通信速度に基づいて、送信する印刷データを切り替える技術が記載されている。また、特許文献１には、利用する通信インターフェースが高速通信インターフェースか否かに基づいて、当該通信インターフェースの通信速度を判別する手法が記載されている。
【０００５】
しかし、利用する通信インターフェースが高速通信インターフェースであっても、通信内容によってデータ受信速度が低下する場合がある。例えば、セキュア通信（例えば、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）による通信）のように、通信データに暗号化が施される通信では、暗号化された通信データを復号する必要があるため、実質的に印刷装置におけるデータ受信速度が低下する。したがって、高速通信インターフェースを利用する環境において直接印刷方式を選択した場合でも、通信内容によってデータ受信待ちが発生して印刷動作が中断し、低速通信インターフェースを利用した場合と同様に、画質の低下を招くおそれがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３９０７４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明は、印刷データの受信待ちに伴う画質の低下を防ぐことができる印刷装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による印刷装置は、印刷対象データに基づいて印刷を実行する印刷装置であって、 前記印刷対象データを受信する受信手段と、 前記受信手段による前記印刷対象データの受信に用いられた通信方式のセキュリティに関する条件に基づいて、前記印刷対象データの印刷を実行する印刷手段と、を備え、前記印刷手段は、前記印刷対象データの受信に用いられた通信方式が所定のセキュア通信方式であり且つ前記所定のセキュア通信方式における公開鍵の長さが所定の長さ以上である場合に、前記受信手段による前記印刷対象データの受信の後に前記印刷対象データを印刷する第１の印刷方法を実行し、前記通信方式が前記所定のセキュア通信方式でない場合に、前記受信手段による前記印刷対象データの一部の受信の後であり、前記印刷対象データの他の一部の受信の前に、当該受信された一部を印刷する第２の印刷方法を実行することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、印刷データの受信待ちに伴う画質の低下を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明による印刷装置を含む、印刷システムの構成の一例を示すブロック図である。
【図２】本発明による印刷装置のハードウェア構成を示すブロック図である。
【図３】本発明による印刷装置のソフトウェア構成を示すブロック図である。
【図４】受信処理が開始されてから印刷処理が完了するまでの経過を模式的に示す説明図である。
【図５】第１の実施例の印刷装置における、印刷ジョブ受信時の処理を示すフローチャートである。
【図６】第２の実施例の印刷装置における、印刷ジョブ受信時の処理を示すフローチャートである。
【図７】第３の実施例の印刷装置において受信データが処理される様子を示す説明図である。
【図８】第３の実施例の印刷装置における、印刷ジョブ受信時の処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
［実施例１］
図１は、本発明による印刷装置を含む、印刷システムの構成の一例を示すブロック図である。図１に示す印刷システムは、本発明による印刷装置１と、印刷ジョブ投入装置２，３とを備える。印刷装置１と、印刷ジョブ投入装置２，３とは、ローカルエリアネットワーク（LAN）４を介して接続される。なお、図１では、１台の印刷装置が例示されているが、印刷システムは、印刷装置をいくつ備えていてもよい。また、図１には、２台の印刷ジョブ投入装置が例示されているが、印刷システムは、印刷ジョブ投入装置をいくつ備えていてもよい。
【００１３】
印刷装置１は、複数種類のＬＡＮインターフェースを有する。印刷装置１は、複数種類のＬＡＮインターフェースを介して、LAN４上の印刷ジョブ投入装置２，３と通信する。
【００１４】
印刷ジョブ投入装置２，３は、ＬＡＮ４上の所望の印刷装置へ印刷を指示する。
【００１５】
図２は、本発明による印刷装置のハードウェア構成を示すブロック図である。
【００１６】
図２に示すように、本発明による印刷装置１は、ＲＡＭ１０と、ＲＯＭ１１と、ＣＰＵ１２と、ＬＡＮコントローラ１３と、ＨＤＤ１４と、暗号処理部１５と、印刷処理部１８と、有線ＬＡＮインターフェース（有線ＬＡＮ  Ｉ／Ｆ）１６と、無線ＬＡＮインターフェース（無線ＬＡＮ  Ｉ／Ｆ）１７とを含む。ＲＡＭ１０、ＲＯＭ１１、ＣＰＵ１２、ＬＡＮコントローラ１３、ＨＤＤ１４、暗号処理部１５および印刷処理部１８は、システムバス１９を介して互いに接続される。
【００１７】
ＣＰＵ１２は、ＲＯＭ１１上の制御プログラムに基づいて、システムバス１９に接続される各種のデバイスを総括的に制御する。
【００１８】
ＲＯＭ１１は、ＣＰＵ１２が実行可能な制御プログラム等を格納する。
【００１９】
ＲＡＭ１０は、主としてＣＰＵ１２の主メモリ，ワークエリア等として機能する。
【００２０】
ＬＡＮコントローラ１３は、印刷装置１の有線ＬＡＮインターフェース１６と無線ＬＡＮインターフェース１７を制御して、ＬＡＮ４への接続およびＬＡＮ４を介した外部装置との通信を行う。本実施例では、印刷装置１は、ＬＡＮコントローラ１３を介して、ＬＡＮ４上の外部装置と通信を行う。例えば、印刷装置１は、ＬＡＮコントローラ１３を介して、印刷ジョブ投入装置２，３から印刷ジョブを受信する。
【００２１】
暗号処理部１５は、ＬＡＮコントローラ１３が外部装置から受信したデータのうち、暗号化されたデータを復号する。なお、暗号処理部１５は、印刷装置１の基板上に実装される回路によって実現されてもよいし、ハードウェアではなく、ＲＯＭ１１またはＲＡＭ１０上に展開される暗号処理プログラムによって実現されてもよい。本実施例では、データの暗号化に、ＴＬＳ／ＳＳＬ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ／Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）プロトコルが用いられる。ＴＬＳ／ＳＳＬプロトコルは、印刷装置１のＬＡＮインターフェースまたは制御プログラム上において、ＲＦＣ５２４６に定義されたＴＬＳ１．２に基づいて実装されてもよいし、ＴＬＳ１．２以降のバージョンに基づいて実装されてもよい。なお、データの暗号化には、ＴＬＳ／ＳＳＬプロトコル以外のプロトコルが用いられてもよい。
【００２２】
通信内容がＴＬＳ／ＳＳＬプロトコルによって暗号化されているか否かの識別には、ＴＬＳ／ＳＳＬプロトコルに関する情報をＲＡＭ１０に記憶し、通信時に当該情報を参照する方法を用いてもよい。または、通信に利用されたＬＡＮポートの番号から、当該ＬＡＮポートが、ＴＬＳ／ＳＳＬプロトコルによる通信（以下、ＴＬＳ／ＳＳＬ通信という）に割り当てられたポートか否かを判断する方法を用いてもよい。
【００２３】
印刷処理部１８は、受信された印刷ジョブに基づいて、印刷処理を実行する。印刷処理部１８は、不図示のインク吐出部（記録ヘッド）を用紙の搬送方向に対して垂直に移動しながらインクを吐出することで画像形成を行う。インクの吐出パターンは、後述する画像処理タスク２９によって形成される。具体的には、画像処理タスク２９が、受信した印刷ジョブに含まれる印刷対象データ（本実施例では、画像データ）を解析し、解析結果に基づいてインクの吐出パターンを形成する。また本実施例では、吐出パターンは１度のヘッド移動（１走査）単位で形成される。ＲＡＭ１０は、画像データ処理時および吐出パターン形成時に、バッファとして利用される。
【００２４】
ＨＤＤ１４は、ＲＯＭ１１上に格納された、ＨＤＤ制御プログラムによりアクセスが制御される。ＨＤＤ１４は、受信された印刷ジョブを一時的にスプールするジョブ格納領域として使用される。スプールされた印刷ジョブは、印刷装置１の外部から制御可能である。なお、ＨＤＤ以外の記憶装置を、ジョブ格納領域として使用してもよい。
【００２５】
図３は、本発明による印刷装置のソフトウェア構成を示すブロック図である。本実施例では、ＲＯＭ１１またはＲＡＭ１０上に、図３に示す各ドメインを制御するためのプログラムが格納されていて、ＣＰＵ１２が当該プログラムをロードして実行することにより、図３に示す各ドメインが機能する。本実施例において、各ドメインに含まれるタスクは、μＩｔｒｏｎ規格に準拠したＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）２８により動作する。
【００２６】
システム制御ドメイン２０は、装置全体の状態遷移をつかさどる。
【００２７】
印刷制御ドメイン２１は、ジョブ制御タスク２２と、印刷エンジン制御タスク２３と、画像処理タスク２９とを含む。印刷制御ドメイン２１は、これらのタスクにより、ジョブ処理および印刷処理部１８のハードウェア制御を行う。
【００２８】
通信制御ドメイン２４は、ネットワーク制御タスク２５と、通信データ制御タスク２６とを含む。通信制御ドメイン２４は、これらの制御タスクにより、印刷装置１と外部装置との通信を制御する。また、通信制御ドメイン２４は、ソフトウェア暗号ライブラリ２７を含む。
【００２９】
ネットワーク制御タスク２５は、ＬＡＮ４への接続とＬＡＮ４を介した通信とを行う。ネットワーク制御タスク２５は、現在通信しているＬＡＮインターフェースを識別する機能を有する。ＬＡＮインターフェースを識別する方法としては、例えば、各ＬＡＮインターフェースを排他的に動作させる場合は、現在動作させている単一のＬＡＮインターフェースを示す情報をＲＡＭ１０に記憶し、当該情報を静的に参照する方法などがある。また例えば、各ＬＡＮインターフェースが同時に通信可能な場合は、ＬＡＮコントローラ１３がＬＡＮインターフェースごとに個別に識別子、たとえばＩＰアドレスを設定して、通信パケットの宛先から現在通信しているＬＡＮインターフェースを判別する方法がある。なお、ネットワーク制御タスク２５は、ＬＡＮコントローラ１３が備えるＣＰＵによって実現されてもよい。
【００３０】
通信データ制御タスク２６は、ネットワーク制御タスク２５と連携し、外部装置から印刷装置１へ送られたデータを受信する。受信データを復号する必要がある場合は、通信データ制御タスク２６は、ハードウェアまたはソフトウェアにより受信データを復号する。本実施例では、通信データ制御タスク２６は、暗号処理部１５またはソフトウェア暗号ライブラリ２７を用いて、受信データを複号する。また、本実施例では、通信データ制御タスク２６は、ＴＬＳ１．２に則り、外部装置からの要求に基づいて、当該外部装置との通信における通信方式にセキュア通信方式を利用するか否かを決定する。
【００３１】
ソフトウェア暗号ライブラリ２７は、主に通信データの暗号化および復号を行うソフトウェアライブラリである。ソフトウェア暗号ライブラリ２７は、暗号処理部１５が復号できない暗号を復号する。なお、本実施例では、印刷装置１は、ハードウェアによる暗号処理と、ソフトウェアによる暗号処理とを行っているが、いずれかの暗号処理を行うようにしてもよい。
【００３２】
図４は、受信処理が開始されてから印刷処理が完了するまでの経過を模式的に示す説明図である。図４には、受信された画像データが、ブロックごとに、順次（図４に示される番号順に）処理される様子が示されている。図４において、横方向（ｔ方向）が印刷ジョブが投入されてからの各処理（受信処理、復号処理、画像処理および印刷処理）の時間経過を表す。
【００３３】
通常、印刷処理部１８が、印刷エンジン制御タスク２３の制御に基づきヘッドを実際に移動してインク吐出するよりも、画像処理タスク２９が、画像データから吐出パターンを形成する方が早い。そのため、印刷処理部１８は、図４（ａ）に示すように、ヘッド移動とインク吐出を継続的に実行することができる。しかし、図４（ｂ）に示すように、画像データ処理の前段であるデータ受信が遅い場合、データ受信の遅延によって画像処理タスク２９における吐出パターン形成等の画像処理が待たされる。その結果、印刷処理部１８は、次の吐出パターンが形成されるまで、印刷処理を開始することができない。インク吐出方式の印刷処理において、走査と搬送との間に予期せぬ待ちが発生することは望ましくない。その理由は、上述したように、走査と搬送との間の待ち時間は、印刷画像の画質を劣化させる要因となるためである。
【００３４】
図４（ｃ）には、図４（ｂ）と同じく受信速度が遅い場合に印刷ジョブの画像データをＨＤＤ１４にスプールして印刷する場合の例が示されている。図４（ｃ）に示す例では、印刷装置１は、まず、ＬＡＮコントローラ１３から受信した印刷ジョブの画像データをＨＤＤ１４に格納し、印刷ジョブの画像データが全て格納された後に、印刷を開始する。印刷時は、印刷装置１は、ＨＤＤ１４から画像処理タスク２９が使用するＲＡＭ領域へ、印刷ジョブの画像データを転送する。ＨＤＤ１４からＲＡＭ１０へのデータ転送は、画像処理タスク２９および印刷処理部１８の処理速度よりも高速であり、画像処理タスク２９や印刷処理部１８を待たせることがない。そのため、印刷処理部１８における印刷処理は、全ての印刷を終了するまで途切れることがない。ただし、図４（ｃ）と図４（ｂ）とを比べると、スプール印刷方式は、直接印刷と比べてジョブ受信開始から印刷終了までに、より多くの時間がかかる。全ての印刷をスプール印刷方式で行おうとすると、全ての印刷に要する時間が長くかかるため、スプール印刷は、必要な場合にのみ実行されることが望まれる。
【００３５】
図５は、第１の実施例の印刷装置における、印刷ジョブ受信時の処理を示すフローチャートである。
【００３６】
まず、通信データ制御タスク２６が、印刷ジョブの受信を検知すると、デコードフラグの初期化を行う（ステップＳ１００）。デコードフラグは、暗号化された受信データを復号するか否かの判断に用いられる。デコードフラグは、通信制御ドメイン２４によって管理され、ＲＡＭ１０上に格納される。なお、デコードフラグの初期値はＯＦＦである。次いで、通信データ制御タスク２６は、ネットワーク制御タスク２５に対して、印刷ジョブを受信した通信インターフェースがどの通信インターフェースであるかを問い合わせる（ステップＳ１０１）。
【００３７】
印刷ジョブの受信経路が無線ＬＡＮであった場合、すなわち印刷ジョブを受信した通信インターフェースが無線ＬＡＮインターフェース１７であった場合には（ステップＳ１０１のＹＥＳ）、通信データ制御タスク２６は、当該通信インターフェースの通信速度が所定の速度以下であると判断する。そして、通信データ制御タスク２６は、データ受信処理能力が印刷処理能力よりも低いと判断し、スプール印刷を行うと判断する。データ受信処理能力が印刷処理能力よりも低い場合とは、例えば、データ受信時間（受信データが暗号化されている場合には、データ受信時間と、当該受信データの復号処理に要する時間との和）が、印刷処理時間を超える場合である。通信データ制御タスク２６は、スプール印刷を行うと判断すると、所定のスプール処理として、印刷ジョブの画像データをＨＤＤ１４に格納する。印刷ジョブの画像データが全てＨＤＤ１４に格納されると、通信データ制御タスク２６は、印刷制御ドメイン２１へ印刷ジョブの処理開始を要求する。そして、通信データ制御タスク２６が、画像データの転送待ちとなった印刷制御ドメイン２１に、ＨＤＤ１４から画像データを順次転送する。それにより、印刷制御ドメイン２１においてジョブ処理と印刷処理が実行される（ステップＳ１０４）。
【００３８】
印刷ジョブを受信した通信インターフェースが無線ＬＡＮインターフェース１７でなかった場合には（ステップＳ１０１のＮＯ）、通信データ制御タスク２６は、通信方式を確認する（ステップＳ１０２）。本実施例では、ステップＳ１０２の処理において、外部装置との通信にＴＬＳ認証が用いられている場合に、通信データ制御タスク２６は、ＴＬＳが有効であると判断し、当該通信における通信方式がセキュア通信方式であると判断する。
【００３９】
通信方式がセキュア通信方式である場合には（ステップＳ１０２のＹＥＳ）、通信データ制御タスク２６は、以降の処理で受信データを復号する必要があると判断し、デコードフラグをＯＮに設定する（ステップＳ１０３）。このとき、通信データ制御タスク２６は、データ受信処理能力が印刷処理能力よりも低いと判断し、スプール印刷を行うと判断する。そして、通信データ制御タスク２６は、暗号化された受信データをソフトウェア暗号ライブラリ２７または暗号処理部１５を用いて復号し、復号したデータをＨＤＤ１４に格納する。そして、ステップＳ１０４の処理において、スプール印刷が行われる。図４（ｄ）に示すように、受信データを復号する場合、復号処理に時間がかかる分、データ受信開始から画像処理開始までの時間が長くなり、印刷処理部１８が待たされる。このような待ちの発生を回避するため、上記のように、本実施例では、通信方式がセキュア通信方式である場合には、スプール印刷を行う。なお、図４（ｄ）に示すように、各処理がブロック単位で行われる場合には、通信データ制御タスク２６は、次のブロックの受信処理の開始時などにデコードフラグを確認し、デコードフラグがＯＮの場合に次のブロックについて復号処理を行う。
【００４０】
通信方式がセキュア通信方式でない場合には（ステップＳ１０２のＮＯ）、通信データ制御タスク２６は、直接印刷を行うと判断し、印刷制御ドメイン２１へ印刷ジョブの処理開始を要求する。印刷制御ドメイン２１は、処理開始の要求を受け付けると、ジョブ制御タスク２２および印刷エンジン制御タスク２３を制御し、印刷ジョブの画像データの転送を受け入れ可能な状態に遷移する。印刷制御ドメイン２１は、通信制御ドメイン２４からの、画像データの転送が開始されると、ジョブ処理と印刷処理を実行する（ステップＳ１０５）。
【００４１】
以上に説明したように、本実施例では、通信経路が低速である場合だけでなく、通信経路が高速であっても暗号化により実質的にデータ受信速度が遅くなる場合には、スプール印刷を適用する。これにより、予期せぬ印刷停止を防止することができる。したがって、本実施例によれば、外部から受信した印刷データを印刷する印刷装置において、印刷データの受信待ちに伴う画質の低下を防ぐことができる。また本実施例では、通信経路が高速であってかつ印刷データが暗号化されていない場合には直接印刷を適用するので、印刷速度を必要以上に低下させることがない。
【００４２】
［第２の実施例］
第２の実施形態における印刷装置の構成は、第１の実施形態における印刷装置の構成と同様であるため説明を省略する。以下、本実施例における印刷装置の動作を説明する。
【００４３】
図６は、第２の実施例の印刷装置における、印刷ジョブ受信時の処理を示すフローチャートである。なお、図６に示すステップＳ２００〜ステップＳ２０５の処理は、図５に示すステップＳ１００〜Ｓ１０５の処理と同様であるため、説明を省略する。本実施例では、通信データ制御タスク２６は、ステップＳ２０３の処理にてデコードフラグを設定した後、セキュア通信の暗号強度を判定する（ステップＳ２０６）。
【００４４】
セキュア通信の暗号強度が所定の強度より高い場合には（ステップＳ２０６のＹＥＳ）、通信データ制御タスク２６は、復号処理に要する時間が長くなり、データ受信処理能力が印刷処理能力よりも低くなると判断し、スプール印刷を行うと判断する。そして、ステップＳ２０４の処理においてスプール印刷処理が行われる。その理由は、セキュア通信の暗号強度が所定の強度より高い場合には、データ受信時間と、ソフトウェア暗号ライブラリ２７または暗号処理部１５による復号処理に要する時間との和が、印刷処理部１８の処理時間を超える可能性があるからである。本実施例では、通信データ制御タスク２６は、ＴＬＳ／ＳＳＬ通信における公開鍵の長さが２０４８ビット以上である場合に暗号強度が所定の強度以上であると判断する。なお、通信データ制御タスク２６は、通信の暗号アルゴリズムにＥＣＤＨＥ、ＡＥＳ、ＧＣＭ、ＳＨＡ３８６のいずれかが用いられる場合に暗号強度が所定の強度以上であると判断してもよいし、その他の判断方法を用いてもよい。
【００４５】
セキュア通信の暗号強度が所定の強度以下である場合には（ステップＳ２０６のＮＯ）、通信データ制御タスク２６は、直接印刷を行うと判断し、印刷制御ドメイン２１へ印刷ジョブの処理開始を要求する。そして、ステップＳ２０５の処理において直接印刷が行われる。
【００４６】
本実施例によれば、より詳細に印刷ジョブのスプール要否を判定することが可能になり、印刷データの受信待ちに伴う画質の低下をより確実に防ぐことができる。
【００４７】
［第３の実施例］
第３の実施形態における印刷装置の構成は、第１の実施形態における印刷装置の構成と同様であるため説明を省略する。ただし、本実施例では、暗号処理部１５が、ハードウェア暗号アクセラレータを有する。ハードウェア暗号アクセラレータは、高速に暗号処理を行うハードウェアである。
【００４８】
ここで、印刷装置における受信データの流れを説明する。図７は、第３の実施例の印刷装置において、受信データが処理される様子を示す説明図である。図７に示す矢印は、データが流れる方向を表す。受信バッファ７１、中間バッファ７２および印刷バッファ７６は、ＲＡＭ１０に相当する。また、ＨＤＤ７５は、ＨＤＤ１４に相当する。また、ソフトウェア暗号ライブラリ７４は、ソフトウェア暗号ライブラリ２７に相当する。また、ハードウェア暗号アクセラレータ７３は、暗号処理部１５が有するハードウェア暗号アクセラレータに相当する。
【００４９】
図７に示すように、受信バッファ７１に格納された受信データは、中間バッファ７２に転送される。中間バッファ７２に格納された受信データが暗号化されている場合、本実施例では、印刷装置１は、ハードウェア暗号アクセラレータ７３またはソフトウェア暗号ライブラリ７４によって当該受信データを復号する。ハードウェア暗号アクセラレータ７３を用いた暗号処理は、十分に高速なため、印刷装置１の印刷待ちの要因とはならない。その理由は、データ受信時間と、ハードウェア暗号アクセラレータ７３による復号処理に要する時間との和が、印刷処理部１８の処理時間を超えるおそれがないからである。したがって、ハードウェア暗号アクセラレータ７３によって復号された受信データは、直接、印刷バッファ７６に転送される。一方、ソフトウェア暗号ライブラリ７４によって復号された受信データは、ＨＤＤ７５にスプールされた後、印刷バッファ７６に転送される。なお、ハードウェア暗号アクセラレータ７３は、所定の暗号アルゴリズムで暗号化されたデータを復号可能である。したがって、所定の暗号アルゴリズムで暗号化された受信データが、ハードウェア暗号アクセラレータ７３によって復号され、それ以外の暗号アルゴリズムで暗号化された受信データが、ソフトウェア暗号ライブラリ２７によって復号される。
【００５０】
図８は、第３の実施例の印刷装置における、印刷ジョブ受信時の処理を示すフローチャートである。なお、図８に示すステップＳ３００〜ステップＳ３０５の処理は、図６に示すステップＳ２００〜Ｓ２０５の処理と同様であるため、説明を省略する。本実施例では、通信データ制御タスク２６は、ステップＳ３０３の処理にてデコードフラグを設定した後、暗号アルゴリズムの種類に基づいて、暗号処理部１５のハードウェア暗号アクセラレータを用いるか、ソフトウェア暗号ライブラリ２７を用いるかを決定する（ステップＳ３０６）。
【００５１】
暗号処理にソフトウェア暗号ライブラリ２７を用いると決定された場合は（ステップＳ３０６のＹＥＳ）、ステップＳ３０４の処理においてスプール印刷処理が行われる。暗号処理部１５のハードウェア暗号アクセラレータを用いると決定された場合は（ステップＳ３０６のＮＯ）、通信データ制御タスク２６は、直接印刷を行うと判断し、印刷制御ドメイン２１へ印刷ジョブの処理開始を要求する。そして、テップＳ３０５の処理において直接印刷が行われる。
【００５２】
本実施例によれば、受信した印刷ジョブの通信インターフェースと通信方式の判定に加え、動作させる暗号処理モジュールに基づいて印刷ジョブのスプール要否を判定する。これにより、より詳細に印刷ジョブのスプール要否を判定することが可能になり、実施例２と同様の効果を得ることができる。
【００５３】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
２１  印刷制御ドメイン
２４  通信制御ドメイン
【図１】
0006768279.tif 000002
【図２】
0006768279.tif 000003
【図３】
0006768279.tif 000004
【図４】
0006768279.tif 000005
【図５】
0006768279.tif 000006
【図６】
0006768279.tif 000007
【図７】
0006768279.tif 000008
【図８】
0006768279.tif 000009