(57)【要約】【課題】  ジョブ実行チケットの発行処理によって指定された装置からの印刷出力のみを印刷できるようにした印刷プログラムおよび印刷装置を提供する。【解決手段】  印刷出力を行いたい旨の印刷実行確認通知をインターフェースを介して印刷データ制御部１０２で受信すると、ジョブ実行チケット作成部１０３でその印刷実行確認通知に含まれる送信元のＭＡＣアドレスと自機のプリンタのＭＡＣアドレスおよび現在時刻を用いてジョブ実行チケットを作成し、暗号処理部１０４で暗号化する。印刷要求された印刷ジョブに埋め込まれたジョブ実行チケットの内容が確認できた場合にその印刷ジョブの印刷出力を行う。【選択図】図３
2008001089.tif 000002
【特許請求の範囲】
【請求項１】
印刷出力部を有する印刷装置に内蔵されたコンピュータに、
外部装置からの印刷要求により前記印刷装置の装置情報を含むジョブ実行チケットを作成する第１のステップと、
前記第１のステップによって作成したジョブ実行チケットを前記外部装置へ送信する第２のステップと、
ジョブ実行チケットが埋め込まれた印刷データを外部装置から受信する第３のステップと、
前記第３のステップで受信した印刷データに埋め込まれたジョブ実行チケットに含まれる印刷装置の装置情報が前記第２のステップでジョブ実行チケットを送信した送信元の印刷装置の装置情報と同一であるかを判断する第４のステップと、
前記第４のステップで同一であると判断された場合に、前記ジョブ実行チケットが埋め込まれた印刷データを前記印刷出力部に送る第５のステップと
を実行させる印刷プログラム。
【請求項２】
前記第１のステップは、
前記外部装置の装置情報を更に含むジョブ実行チケットを作成し、
前記第４のステップは、
前記第３のステップで受信した印刷データに埋め込まれたジョブ実行チケットに含まれる外部装置の装置情報が当該印刷データの送信元である外部装置の装置情報と同一であるかを更に判断する請求項１記載の印刷プログラム。
【請求項３】
前記第４のステップで同一ではないと判断された場合に、前記第３のステップで受信した前記印刷データを印刷出力しないように制御する第６のステップ
を更に含む請求項１又は２に記載の印刷プログラム。
【請求項４】
前記第４のステップで同一ではないと判断された場合に、同一ではないと判断された装置情報を報知する第６のステップ
を更に含む請求項１から３のいずれかに記載の印刷プログラム。
【請求項５】
前記第４のステップで同一ではないと判断された場合に、前記ジョブ実行チケットが埋め込まれた印刷データを蓄積する第７のステップと、
前記外部装置から認証情報を受け付けることにより認証を行う第８のステップと、
前記第８のステップによる認証により、前記第７のステップで蓄積した印刷データを予め指定した他の印刷装置に転送する第９のステップと
を更に含む請求項２記載の印刷プログラム。
【請求項６】
前記第１のステップは、
前記ジョブ実行チケットに有効期限を設定し、
前記第３のステップは、
前記外部装置から受信した印刷データに埋め込まれたジョブ実行チケットが有効期限内であるかの判断を行う請求項１から５のいずれかに記載の印刷プログラム。
【請求項７】
自機を識別する装置情報を記憶する記憶手段と、
外部装置からの印刷要求に際し、前記記憶手段で記憶した自機の装置情報を含むジョブ実行チケットを作成するチケット作成手段と、
前記チケット作成手段によって作成したジョブ実行チケットを前記外部装置へ送信する送信手段と、
ジョブ実行チケットが埋め込まれた印刷データを外部装置から受信する受信手段と、
前記受信手段で受信した印刷データに埋め込まれたジョブ実行チケットに含まれる印刷装置の装置情報が前記送信手段でジョブ実行チケットを送信した送信元の装置情報と同一であるかを判断する判断手段と、
前記第１の判断手段によって前記印刷装置の装置情報が同一であると判断された場合に、前記受信手段で受信した前記印刷データを印刷出力する印刷手段と
を具備する印刷装置。
【請求項８】
前記印刷手段で同一ではないと判断された場合に、前記受信手段で受信した前記印刷データを印刷出力しないように制御する請求項７記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷プログラムおよび印刷装置に関する。
【背景技術】
【０００２】
近年、情報漏洩や不正使用などを防止する情報セキュリティの高まりから通信データの監視活動や処理内容の検査などを定期的または常駐的に行われるようになってきている。機密情報などが漏洩したり不正利用されたりすることによって企業又は個人に対する信頼性が失墜してしまうことになり意図しない結果を招く可能性がある。
【０００３】
その中で、クライアントコンピュータやプリントサーバ、プリンタなどによって構成される印刷システムでは、電子文書を印刷出力するプリンタで、印刷出力におけるログ採取（ロギング）や印刷内容の検査、必要なときにユーザからの指示に基づいて印刷出力を行うオンデマンドプリント機能などの付加価値機能を設けることによって機密情報の保護や内部統制を行っている。
【０００４】
特に、不正利用を防止する観点から、特定のユーザまたは特定の装置に印刷許可若しくは印刷拒否を設定しておき、印刷要求時の要求元を識別して設定内容と照合することで印刷出力を実行するか否かを判断するような機能を提供している。
【０００５】
また、印刷要求された印刷ジョブに印刷出力が可能な有効期間を設定し、該有効期間を経過後にはその印刷ジョブを印刷出力することができないようにした従来技術として特許文献１に開示されたものがある。この従来技術では、印刷ジョブがデータ転送中に盗聴され、その印刷ジョブが盗まれた場合に、後日、印刷出力が行われることを防止している。（特許文献１の（００７３）に記載）
さらに、情報漏洩を防止する従来技術として、特許文献２に公開されたものもある。この従来技術では、特定の利用者を識別する情報を受信した場合、計時を開始し、計時した時間に基づいて所定時間が経過したと判断される場合には、出力手段からのデータの出力を禁止するように構成している。
【特許文献１】特開２００２−２９２９８０
【特許文献２】特開２００５−１４４７６５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、ジョブ実行チケットの発行処理によって指定された装置からのみ印刷できるようにした印刷プログラムおよび印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１の発明は、印刷出力部を有する印刷装置に内蔵されたコンピュータに、外部装置からの印刷要求により前記印刷装置の装置情報を含むジョブ実行チケットを作成する第１のステップと、前記第１のステップによって作成したジョブ実行チケットを前記外部装置へ送信する第２のステップと、ジョブ実行チケットが埋め込まれた印刷データを外部装置から受信する第３のステップと、前記第３のステップで受信した印刷データに埋め込まれたジョブ実行チケットに含まれる印刷装置の装置情報が前記第２のステップでジョブ実行チケットを送信した送信元の印刷装置の装置情報と同一であるかを判断する第４のステップと、前記第４のステップで同一であると判断された場合に、前記ジョブ実行チケットが埋め込まれた印刷データを前記印刷出力部に送る第５のステップとを実行させることを特徴とする。
【０００８】
また、請求項２の発明は、請求項１の発明において、前記第１のステップは、前記外部装置の装置情報を更に含むジョブ実行チケットを作成し、前記第４のステップは、前記第３のステップで受信した印刷データに埋め込まれたジョブ実行チケットに含まれる外部装置の装置情報が当該印刷データの送信元である外部装置の装置情報と同一であるかを更に判断することを特徴とする。
【０００９】
また、請求項３の発明は、請求項１または２の発明において、前記第４のステップで同一ではないと判断された場合に、前記第３のステップで受信した前記印刷データを印刷出力しないように制御する第６のステップを更に含むことを特徴とする。
【００１０】
また、請求項４の発明は、請求項１から３のいずれかの発明において、前記第４のステップで同一ではないと判断された場合に、同一ではないと判断された装置情報を報知する第６のステップを更に含むことを特徴とする。
【００１１】
また、請求項５の発明は、請求項２の発明において、前記第４のステップで同一ではないと判断された場合に、前記ジョブ実行チケットが埋め込まれた印刷データを蓄積する第７のステップと、前記外部装置から認証情報を受け付けることにより認証を行う第８のステップと、前記第８のステップによる認証により、前記第７のステップで蓄積した印刷データを予め指定した他の印刷装置に転送する第９のステップとを更に含むことを特徴とする。
【００１２】
また、請求項６の発明は、請求項１から５のいずれかの発明のおいて、前記第１のステップは、前記ジョブ実行チケットに有効期限を設定し、前記第３のステップは、前記外部装置から受信した印刷データに埋め込まれたジョブ実行チケットが有効期限内であるかの判断を行うことを特徴とする。
【００１３】
また、請求項７の発明は、自機を識別する装置情報を記憶する記憶手段と、外部装置からの印刷要求に際し、前記記憶手段で記憶した自機の装置情報を含むジョブ実行チケットを作成するチケット作成手段と、前記チケット作成手段によって作成したジョブ実行チケットを前記外部装置へ送信する送信手段と、ジョブ実行チケットが埋め込まれた印刷データを外部装置から受信する受信手段と、前記受信手段で受信した印刷データに埋め込まれたジョブ実行チケットに含まれる印刷装置の装置情報が前記送信手段でジョブ実行チケットを送信した送信元の装置情報と同一であるかを判断する判断手段と、前記第１の判断手段によって前記印刷装置の装置情報が同一であると判断された場合に、前記受信手段で受信した前記印刷データを印刷出力する印刷手段とを具備することを特徴とする。
【００１４】
また、請求項８の発明は、請求項８の発明において、前記印刷手段で同一ではないと判断された場合に、前記受信手段で受信した前記印刷データを印刷出力しないように制御することを特徴とする。
【発明の効果】
【００１５】
本発明の請求項１によれば、ジョブ実行チケットを発行した外部装置のみを印刷要求元に限定できるため、信頼性の高い印刷出力を行うことが可能になるという効果を奏する。また、印刷許可するプリンタを予め指定しておく必要がなく、動的に切り替えることができ、低コストで高い信頼性を実現した印刷出力を行うことが可能になるという効果を奏する。
【００１６】
また、本発明の請求項２によれば、ジョブ実行チケットの発行元と発行先が同一である外部装置のみを印刷要求元に限定できるため、より高い信頼性を確保した印刷出力が可能になるという効果を奏する。
【００１７】
また、本発明の請求項３によれば、ジョブ実行チケットの発行元と発行先が同一でない場合には印刷出力を行えないようにするため不正に印刷出力されることを防止することが可能になるという効果を奏する。
【００１８】
また、本発明の請求項４によれば、印刷要求元を特定することができ、より高い安全性を確保することが可能になるという効果を奏する。
【００１９】
また、本発明の請求項５によれば、ジョブ実行チケットの発行元と発行先とが同一でない場合であっても認証情報により他の印刷装置による印刷処理が可能となることで印刷出力における利便性が向上するという効果を奏する。
【００２０】
また、本発明の請求項６によれば、発行したジョブ実行チケットの有効期限を確認することによりより高い信頼性を確保した印刷出力が可能となるという効果を奏する。
【００２１】
また、本発明の請求項７によれば、ジョブ実行チケットを発行した外部装置のみを印刷要求元に限定できるため、信頼性の高い印刷出力を行うことが可能になるという効果を奏する。
【００２２】
また、本発明の請求項８によれば、ジョブ実行チケットの発行元と発行先が同一でない場合には印刷出力を行えないようにするため不正に印刷出力されることを防止することが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態に係わる印刷プログラムおよび印刷装置の一実施例を添付図面を参照して詳細に説明する。
【実施例１】
【００２４】
図１は、本発明の実施の形態に係わる印刷プログラムおよび印刷装置を適用して構成した印刷システムのシステム構成図の一例である。
【００２５】
図１において、印刷システムは、印刷装置であるプリンタ１００、プリントサーバ２００、クライアントＰＣ（３００−Ａ、３００−Ｂ、３００−Ｃ）（以下、総称して「クライアントＰＣ３００」という）によって構成され、プリンタ１００は、印刷を許可したプリントサーバ２００およびクライアントＰＣ３００からの印刷要求に基づいて印刷処理を行う。この印刷システムでは複数のプリンタ１００を接続するような構成であってもよい。
【００２６】
クライアントＰＣ３００には、文書作成や演算処理を行うさまざまなアプリケーションがインストールされ、これらのアプリケーションを用いて作成した電子文書や画像データに対して印刷操作を行うことによって印刷出力する印刷データが作成され、プリントサーバ２００を宛て先にして印刷データを送信する。このとき、プリントサーバ２００を宛て先に指定するのではなく、プリンタ１００を宛て先として直接印刷要求を行った場合には、プリンタ１００から「印刷拒否応答」が返信され、プリンタ１００による印刷出力が拒否される。
【００２７】
プリンタ１００から返信される印刷拒否応答には、印刷要求時に送信先として指定するプリントサーバ２００のアドレス情報が含まれており、この印刷拒否応答を受信したクライアントＰＣ３００では、指定されたプリントサーバ２００のアドレス情報を宛て先に変更して再度、印刷要求処理を行う。
【００２８】
プリントサーバ２００は、クライアントＰＣ３００から受信した印刷要求の印刷データを一時的に蓄積し、ログ採取やデータ検査などの印刷制御を行い、プリンタ１００に対して印刷出力を行いたい旨の通知（以下、「印刷実行確認通知」）を行う。このとき、この印刷実行確認通知の送信先であるプリンタ１００は、予めプリントサーバ２００に登録されている。
【００２９】
なお、ネットワーク上に複数のプリンタ１００が存在する場合には、印刷条件に該当する最適なプリンタを検索後、そのプリンタへ印刷実行確認通知を転送するように構成するようにしてもよい。
【００３０】
このプリントサーバ２００は、送信した印刷実行確認通知に対するプリンタ１００からの応答として、印刷許可が与えられたことを示すジョブ実行チケットを受け付ける。ジョブ実行チケットの発行を受けたプリントサーバ２００では、一時的に蓄積した印刷データにジョブ実行チケットを埋め込み、印刷ジョブとしてジョブ実行チケットの発行元であるプリンタ１００へ印刷要求する。
【００３１】
このジョブ実行チケットは、プリンタが印刷を許可する外部装置（たとえばプリントサーバ２００）へ発行するチケットであって、印刷を許可するプリントサーバ２００のアドレス情報および自機のプリンタ１００のアドレス情報、チケットを発行した発行時刻（チケットの作成時刻）などの情報が含まれる。
【００３２】
アドレス情報の一例として、各装置の物理アドレスであるＭＡＣ（Media Access Control）アドレスのほか、ＩＰアドレス、装置名称などを用いることができるが、以下の説明では、ＭＡＣアドレスをアドレス情報に用いた場合の例を説明する。
【００３３】
ジョブ実行チケットが暗号化された状態でプリンタ１００から発行された場合には、暗号化された状態のままで印刷データに埋め込み印刷ジョブを作成する処理を行う。
【００３４】
プリンタ１００は、印刷要求された印刷ジョブの印刷データを印刷出力する。また、プリントサーバ２００から印刷実行確認通知を受信した場合には、その印刷実行確認通知に含まれる印刷要求元のＭＡＣアドレスを解析して自機のプリンタ１００に設定されたＭＡＣアドレスおよび作成時の現在時刻を含むジョブ実行チケットを作成する。
【００３５】
作成したジョブ実行チケットは、予め指定された暗号化アルゴリズムによって暗号化する。このとき、暗号化されたジョブ実行チケットにＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）符号などの検査符号を付与してプリントサーバ２００へと転送するようにしてもよい。この場合、プリントサーバ２００で印刷データに埋め込まれたジョブ実行チケットには検査符号も埋め込まれた状態になる。
【００３６】
そして、プリンタ１００は、作成したジョブ実行チケットを印刷実行確認通知を受信したプリントサーバ２００へ送信する。
【００３７】
このプリンタ１００では、プリントサーバ２００から印刷要求された印刷ジョブの印刷出力を行うが、その印刷ジョブにジョブ実行チケットが埋め込まれているか読み取り処理を行うことによって確認する。
【００３８】
ジョブ実行チケットを読み取ることができない若しくは印刷ジョブの印刷データにジョブ実行チケットが埋め込まれていないなどの理由によってジョブ実行チケットが確認できない場合には、印刷出力を行えない旨を印刷要求元のプリントサーバ２００に返信する。
【００３９】
それに対して、ジョブ実行チケットが印刷ジョブに埋め込まれていることが確認できた場合には、続いて、そのジョブ実行チケットを復号する。復号した平文のジョブ実行チケットに含まれる情報のチケット発行元ＭＡＣアドレスが自機のプリンタ１００であることと、チケットの発行先ＭＡＣアドレスと印刷要求元のＭＡＣアドレスが同一であることを確認する。
【００４０】
また、これに加え、ジョブ実行チケットの有効期間が設けられている場合には、ジョブ実行チケットの発行時刻から現在時刻までの経過時間が、設定された有効期間内であるかを確認し、有効期間を過ぎている場合には印刷出力を行わずに処理を終了する。
【００４１】
このときの印刷ジョブは、破棄し、印刷要求元であるプリントサーバ２００に対して印刷拒否通知を送信ように構成してもよいし、印刷ジョブを記憶（蓄積）して他のプリンタに転送するような構成であってもよい。
【００４２】
また、プリンタ１００では、ジョブ実行チケットの発行先を管理しておき、印刷ジョブに埋め込まれたジョブ実行チケットが管理した発行先から送信されてきたチケットであるかを確認することもできる。ちなみに、検査符号がジョブ実行チケットに付与されている場合には改ざんなどの不正が行われていないか確認後、検査符号を取り外して上記、確認処理を行う。
【００４３】
図２は、図１の印刷システムを構成するプリントサーバの詳細な構成を示すブロック図の一例である。
【００４４】
図２に示すプリントサーバ２００は、インターフェース２０１、制御部２０２、印刷ジョブ作成部２０３、記憶部２０４を具備して構成され、ＨＴＴＰ（Hyper Text Transfer Protocol）クライアントおよびＨＴＴＰサーバとして動作する。
【００４５】
クライアントＰＣ３００から印刷要求された印刷データをインターフェース２０１を介して制御部２０２で受信すると、印刷データを記憶部２０４へと一時的に記憶する。続いて、クライアントＰＣ３００から印刷要求された印刷データの印刷出力を行いたい旨の印刷実行確認通知を作成してその印刷実行確認通知に印刷要求を行うプリントサーバ２００を識別するＭＡＣアドレスを埋め込む。そして、インターフェース２０１を介してその印刷実行確認通知をプリンタ１００に送信する。
【００４６】
また、送信した印刷実行確認通知に対して、プリンタ１００から応答されたジョブ実行チケットを受信すると、印刷要求する印刷データを記憶部２０４から取り出してジョブ実行チケットとともに印刷ジョブの作成依頼を印刷ジョブ作成部２０３に行う。
【００４７】
依頼を受けた印刷ジョブ作成部２０３では、ＰＤＬ（Page Description Language：ページ記述言語）によって記述された印刷ジョブの作成を行い、ジョブ実行チケットの埋め込みを行う。このジョブ実行チケットは暗号化されており、暗号化された状態で埋め込みを行う。このときの埋め込み処理の一例として、印刷ジョブにジョブ実行チケットを指定する「ジョブ実行チケット＝」の制御コマンドを設定する方法がある。制御コマンドを用いて印刷ジョブにジョブ実行チケットを埋め込んだ例を図４に示す。
【００４８】
そして、制御部２０２では、印刷ジョブ作成部２０３によって作成された印刷ジョブを受け付けると、プリンタ１００へとその印刷ジョブを転送することにより印刷要求を行う。
【００４９】
図４は、図２に示すプリントサーバの印刷ジョブ作成部によって作成される印刷ジョブの一例を示す図である。
【００５０】
図４では、プリントサーバ２００からの印刷実行確認通知を受けたプリンタ１００が作成したジョブ実行チケットの一例を図４（ａ）に示し、暗号化したジョブ実行チケットの一例を図４（ｂ）に示す。また、クライアントＰＣ３００から印刷要求された印刷データをＰＤＬで記述した一例を図４（ｃ）に示す。
【００５１】
そして、プリントサーバ２００によって図４（ｃ）に示した印刷データに図４（ｂ）で示す暗号化されたジョブ実行チケットを埋め込んだ状態の印刷ジョブの一例を図４（ｄ）に示す。
【００５２】
図４（ｄ）に示す例では、暗号化されたジョブ実行チケットを印刷条件および印刷設定を示すヘッダー部分に埋め込んだ例を示しており、ジョブ実行チケット指定コマンドによってジョブ実行チケットが指定された状態である。図４（ｄ）に示す例では、「ジョブ実行チケット＝」のジョブ実行チケット指定コマンドで指定された例を示している。
【００５３】
図３は、図１の印刷システムを構成するプリンタの詳細な構成を示すブロック図の一例である。
【００５４】
図３に示すプリンタ１００は、インターフェース１０１、印刷データ制御部１０２、ジョブ実行チケット作成部１０３、暗号処理部１０４、有効性判断部１０５、復号処理部１０６、プリントエンジン１０７、記憶部１０８によって構成され、ＨＴＴＰクライアントおよびＨＴＴＰサーバとして動作する。
【００５５】
まず、通信回線によって接続されたノード（プリントサーバ２００やクライアントＰＣ３００）からインターフェース１０１を介して印刷要求を受信した場合において、印刷データ制御部１０２では、受信した印刷要求に対する印刷データを一時的に記憶部１０８に記憶し、印刷データにジョブ実行チケットが埋め込まれているか判断する。
【００５６】
この印刷データ制御部１０２におけるジョブ実行チケットが埋め込まれているかの判断処理は、図２に示すプリントサーバ２００の印刷ジョブ作成部２０３で指定したジョブ実行チケット指定コマンドが設定され、そのジョブ実行チケット指定コマンドにジョブ実行チケットが指定されているかを判断する処理である。
【００５７】
ジョブ実行チケット指定コマンドが設定されていない場合やジョブ実行チケット指定コマンドにジョブ実行チケットが指定されていない場合であって、ジョブ実行チケットが埋め込まれていないと判断する場合には、印刷要求元の特定が行えないため、印刷できない旨を示す印刷拒否応答を印刷要求元のノードに対して転送する。この印刷拒否応答を受信した印刷要求元のノードは、印刷出力することが可能であるかを確認するために、印刷実行確認通知を作成してプリンタ１００へ送信する。
【００５８】
それに対して、ジョブ実行チケット指定コマンドにジョブ実行チケットが指定されている場合であって、ジョブ実行チケットが埋め込まれていると判断する場合には、有効性判断部１０５にそのジョブ実行チケットが有効であるかの判断要求を行う。
【００５９】
要求を受けた有効性判断部１０５では、復号処理部１０６に、暗号化されたジョブ実行チケットの複合化処理を依頼し、復号処理部１０６によって平文に復号されたジョブ実行チケットの有効性を判断する。この有効性判断部１０５では、ジョブ実行チケットに含まれるチケット発行元ＭＡＣアドレスが自機のプリンタ１００に設定されたＭＡＣアドレスと同一であるかを記憶部１０８に記憶された自機のＭＡＣアドレスと比較し、さらに、同じくジョブ実行チケットに含まれるチケット発行先ＭＡＣアドレスが印刷データの印刷要求元ＭＡＣアドレスと同一であるかを比較する。
【００６０】
それぞれが同一である場合に、ジョブ実行チケットが有効であると判断する。
【００６１】
さらに、この有効性判断部１０５では、記憶部１０８に記憶したジョブ実行チケットの発行先の情報に、有効性を確認したジョブ実行チケットを含む印刷データの要求元のＭＡＣアドレスが登録されているか確認してもよい。
【００６２】
有効性判断部１０５によるジョブ実行チケットの有効性を確認できた場合に、プリントエンジン１０７で当該ジョブ実行チケットが埋め込まれていた印刷ジョブの印刷出力処理を行う。
【００６３】
なお、有効性判断部１０５によりジョブ実行チケットの有効性が確認できない場合に、その印刷データを記憶部１０８に一時的に記憶（蓄積）し、クライアントＰＣ３００若しくはプリントサーバ２００から印刷要求を行った操作者を認証した認証情報を受信することによりネットワーク上にある他のプリンタ（図示せず）に転送するような構成であってもよい。
【００６４】
この場合、認証情報は認証装置（図示せず）やプリントサーバなどによって作成され、印刷要求を行った操作者を認証したことを示す。もちろん、プリンタが認証装置と通信することにより認証装置から認証情報を受信するように構成してもよい。
【００６５】
次に、通信回線によって接続されたノードからインターフェース１０１を介して印刷実行確認通知が送られてきた場合において、印刷データ制御部１０２では、その印刷実行確認通知に含まれる送信元ＭＡＣアドレスを読み取って、記憶部１０８に記憶された自機のプリンタ１００のＭＡＣアドレスとともにジョブ実行チケット作成部１０３にジョブ実行チケットの作成依頼を行う。
【００６６】
このときの記憶部１０８に、印刷要求の受付が可能なプリントサーバの一覧情報または印刷要求の受付を拒否するプリントサーバの一覧情報などを記憶している場合には、ジョブ実行チケット作成部１０３にジョブ実行チケットの作成依頼を行う前に印刷実行確認通知の送信元をその一覧と比較することによってジョブ実行チケットが発行可能な要求元であるかを確認する。
【００６７】
印刷データ制御部１０２からジョブ実行チケットの作成依頼が行われたジョブ実行チケット作成部１０３では、受信したチケット発行先のプリントサーバ２００のＭＡＣアドレスとチケット発行元のプリンタ１００のＭＡＣアドレスおよび現在時刻（現在日時）を含むジョブ実行チケットを作成する。
【００６８】
続いて、ジョブ実行チケット作成部１０３によって作成されたジョブ実行チケットに対して、印刷データ制御部１０２が暗号処理部１０４へと暗号化依頼を行う。依頼を受けた暗号処理部１０４では、暗号化アルゴリズムによってジョブ実行チケットを暗号化する。
【００６９】
暗号処理部１０４によって暗号化されたジョブ実行チケットを印刷データ制御部１０２によって発行要求元であるプリントサーバ２００にインターフェース１０１を介して転送する。
【００７０】
図５は、本発明の実施の形態に係わる印刷システムの状態遷移を示すシーケンス図である。
【００７１】
図５において、クライアントＰＣがプリントサーバに対して印刷要求を行う（５０１）と、プリントサーバでは、印刷要求された印刷ジョブを一時的に蓄積する（５０２）。これは、印刷出力を行うプリンタから印刷許可が与えられるのを待っている状態である。印刷許可を得るために、続いて、プリントサーバでは、プリンタに対して印刷実行確認通知を送信する（５０３）。
【００７２】
プリントサーバから印刷実行確認通知を受けたプリンタでは、印刷実行確認通知の送信元であるプリントサーバのＭＡＣアドレスと、自機のプリンタのＭＡＣアドレスと、現在時刻とを用いてジョブ実行チケットの作成処理を行う（５０４）。作成したジョブ実行チケットを印刷実行確認通知の送信元のプリントサーバに返信し（５０５）、プリントサーバでは、発行されたジョブ実行チケットを印刷データに埋め込んで印刷要求する印刷ジョブを作成する（５０６）。このときのプリンタで行われるジョブ実行チケットの詳細な作成処理のフローチャートを図８に示す。
【００７３】
プリントサーバからプリンタに対して、作成した印刷ジョブを送信し（５０７）、受信したプリンタでは、印刷ジョブに埋め込まれたジョブ実行チケットを読み出して検査する（５０８）。このときのジョブ実行チケットの詳細な検査処理のフローチャートを図９に示す。
【００７４】
ジョブ実行チケットを読み出して検査した結果、受信した印刷ジョブの印刷出力が可能であると判断した場合に印刷出力を行う（５０９）。すなわち、図６に示すような論理構成で印刷出力が行われる。
【００７５】
クライアントＰＣ３００からプリンタ１００に直接、印刷ジョブが送信されることはなく、必ずプリントサーバ２００を介して印刷要求される。
【００７６】
図７は、本発明の実施の形態に係わる印刷プログラムを適用して構成する印刷システムにおける状態遷移を示すシーケンス図の一例である。
【００７７】
図７は、クライアントＰＣから直接プリンタへ印刷要求した場合のシーケンスであって、クライアントＰＣからプリンタへ印刷要求すると（７０１）、印刷要求された印刷ジョブからジョブ実行チケットの検査処理を行う（５０８）。この検査処理の詳細を図８で示しており、この場合、ジョブ実行チケットが印刷ジョブに埋め込まれていないため、プリンタは、印刷拒否応答をクライアントＰＣへ送信する（７０２）。
【００７８】
そして、クライアントＰＣでは印刷要求の送信先をプリントサーバへと変更する処理を行い（７０３）、プリントサーバへと印刷要求を行う（５０１）。
【００７９】
その後、プリントサーバでは、印刷要求された印刷ジョブを一時的に蓄積しておき（５０２）、印刷許可を得るためにプリントサーバがプリンタに印刷実行確認通知を送信する（５０３）。
【００８０】
プリントサーバから印刷実行確認通知を受けたプリンタでは、印刷実行確認通知の送信元であるプリントサーバのＭＡＣアドレスと、自機のプリンタのＭＡＣアドレスと、現在時刻を用いてジョブ実行チケットの作成処理を行う（５０４）。作成したジョブ実行チケットを印刷実行確認通知の送信元であるプリントサーバに返信し（５０５）、プリントサーバでは、発行されたジョブ実行チケットを印刷データに埋め込んで印刷要求する印刷ジョブを作成する（５０６）。
【００８１】
プリントサーバからプリンタに作成した印刷ジョブを送信し（５０７）、受信したプリンタでは、印刷ジョブに埋め込まれたジョブ実行チケットを読み出して検査する（５０８）。
【００８２】
この検査処理によって、印刷出力できないと判断した場合にはプリントサーバを介してクライアントＰＣへと印刷拒否通知を送信する（７０７、７０８）。
【００８３】
また、この図７に示すシーケンスでは、ユーザがプリンタのオペレーションパネルを操作することによって印刷出力を実行するオンデマンド機能を搭載したプリンタのシーケンスであって、この場合、ジョブ実行チケットの検査処理（５０８）によって印刷可能であると判断された印刷ジョブを一時的に蓄積して（７０４）ユーザからの印刷指示が行われるまで待機する。
【００８４】
ユーザがプリンタに設けられたオペレーションパネルを操作することによって印刷指示が行われることによって（７０５）、蓄積した印刷ジョブの印刷出力を行う（７０６）。
【００８５】
なお、上記シーケンスでは、ジョブ実行チケットが埋め込まれていない印刷ジョブを受信した場合に印刷拒否応答を送信するように構成し、また、ジョブ実行チケットの検査処理によって有効でないチケットであると判断した場合に印刷拒否通知を送信するように構成しているが、これらの場合には予め指定された管理者へメールを送信してもよい。
【００８６】
さらに、ユーザがオペレーションパネルを用いて印刷出力を指示する場合に、そのユーザを認証するためにユーザＩＤおよびパスワードの認証画面を表示し、認証が行えた場合にのみ印刷出力可能とするように構成してもよい。
【００８７】
図８は、ジョブ実行チケットを作成する作成処理の詳細な流れを示したフローチャートである。
【００８８】
図８において、印刷実行確認通知を受けたプリンタでは、印刷実行確認通知の送信元を識別し（８０１）、ジョブ実行チケットを作成するための情報である現在時刻および自機であるプリンタのＭＡＣアドレスを取得する（８０２）。
【００８９】
識別した印刷実行確認通知の送信元のＭＡＣアドレスと、取得した現在時刻とプリンタのＭＡＣアドレスを含むジョブ実行チケットを作成する（８０３）。作成したジョブ実行チケットを暗号化アルゴリズムによって暗号化する（８０４）。
【００９０】
図９は、ジョブ実行チケットを検査する検査処理の詳細な流れを示したフローチャートの一例である。
【００９１】
図９において、印刷ジョブを受信したプリンタでは、印刷ジョブからジョブ実行チケットの読み取り処理を行う（９０１）。読み取り処理によってジョブ実行チケットが読み取ることができたか判断し（９０２）、読み取ることができない場合（９０２でＮＯ）には、その印刷ジョブの要求元に印刷拒否応答を送信する（９１２）。
【００９２】
また、印刷ジョブからジョブ実行チケットが読み取ることができた場合（９０２でＹＥＳ）には、そのジョブ実行チケットを復号化し（９０３）、平文になったジョブ実行チケットからチケットの発行元の情報を検査する（９０４）。すなわち、発行元が自機のプリンタであるかを検査する。
【００９３】
検査した結果、チケットの発行元が自機のプリンタであったか判断し（９０５）、自機のプリンタであった場合（９０５でＹＥＳ）には、印刷実行確認通知の送信元と、印刷ジョブの送信元が同一であるか検査する（９０６）。
【００９４】
検査結果から同一であるか判断し（９０７）、同一であると判断した場合（９０７でＹＥＳ）には、続いて、ジョブ実行チケットの発行時刻と現在時刻とから経過時間を算出する（９０８）。算出した経過時間が有効期間内であるか確認する（９０９）。確認した結果、有効期間内であるか判断し（９１０）、有効期限内である場合（９１０でＹＥＳ）には、印刷要求された印刷ジョブの印刷出力を許可する（９１１）。
【００９５】
それに対して、ジョブ実行チケットの発行元が自機のプリンタではない場合（９０５でＮＯ）、または、印刷実行確認通知の送信元と印刷ジョブの送信元が同一でない場合（９０７でＮＯ）、または、経過時間が有効期間内でない場合（９１０でＮＯ）のいずれかの場合には、印刷出力を拒否する（９１３）。
【実施例２】
【００９６】
上記の実施例１では、ジョブ実行チケットの指定方法として印刷ジョブにジョブ実行チケット指定コマンドを用いて指定する方法を示しているが、本実施例２では、印刷出力を行う印刷ジョブにジョブ実行チケットを結合して指定する方法を示す。
【００９７】
本実施例２におけるシステム構成は、実施例１の説明で用いた図１、図２、図３と同様であって以下の説明では実施例１との異なる点を中心に説明する。
【００９８】
図１０は、本実施例２におけるジョブ実行チケットが指定された印刷ジョブを示す図である。
【００９９】
図１０（ａ）はクライアントＰＣが作成する印刷データを１６進数表記した状態を示し、図１０（ｂ）は平文のジョブ実行チケットを示し、図１０（ｃ）は図１０（ｂ）のジョブ実行チケットを所定の暗号化アルゴリズムによって暗号化して１６進数表記した状態のジョブ実行チケットを示している。
【０１００】
また、図１０（ｄ）は、図１０（ａ）に示す印刷データと図１０(ｃ)に示すジョブ実行チケットとを結合した状態の印刷ジョブを示している。
【０１０１】
図１０（ｄ）に示す印刷ジョブは、「ジョブ実行チケットの長さを示す情報」、「ジョブ実行チケット」、「印刷データ」によって構成されている。この印刷ジョブは、先頭２ビット分がジョブ実行チケットの長さを示す情報であり、３ビット目から先頭２ビットで示されるジョブ実行チケットの長さ分がジョブ実行チケットであり、ジョブ実行チケットの次に印刷データを結合した構成である。
【０１０２】
図１０（ｄ）の印刷ジョブの「ジョブ実行チケットの長さを示す情報」として、１ビット目および２ビット目に「１０」が示されており、これは、ジョブ実行チケットが１０バイト（＝８０ビット）であることを示している。
【０１０３】
すなわち、印刷ジョブの３ビット目から８０ビット分の８２ビット目までがジョブ実行チケットを示しており、８３ビット目以降が印刷データを示している。
【０１０４】
図１０（ｄ）では、先頭２ビット分でジョブ実行チケットの長さを示す情報を示しているが、予め指定したビット数分をジョブ実行チケットの長さを示す情報として設定するような構成であってもよい。
【０１０５】
このようにしてジョブ実行チケットが示される印刷ジョブをプリントサーバからプリンタに送信することにより、プリンタが指定ジョブ実行チケットを取り出して図５および図７のシーケンス図を用いて説明した処理を行う。
【０１０６】
図１１は、プリントサーバにおける印刷ジョブを作成する処理の流れを示すフローチャートの一例である。
【０１０７】
この図１１に示す処理の流れは、図５および図７のシーケンス図に示す印刷ジョブの作成処理（ジョブ実行チケットの埋め込み）（５０６）の変形例であって、プリンタにジョブ実行チケットの発行要求を行い、プリンタからジョブ実行チケットが発行されると処理が開始される。
【０１０８】
まず、発行されたジョブ実行チケットの長さを計測する（１１０１）。次に、印刷要求する印刷データの先頭に、発行されたジョブ実行チケットを結合する（１１０２）。この処理により、「ジョブ実行チケット＋印刷データ」の状態となる。
【０１０９】
続いて、計測したジョブ実行チケットの長さの情報を「ジョブ実行チケット＋印刷データ」の先頭に結合する（１１０３）。この処理により、「ジョブ実行チケットの長さ＋ジョブ実行チケット＋印刷データ」の状態の印刷ジョブが作成される。
【０１１０】
図１２は、プリンタにおけるジョブ実行チケットの検査処理の流れを示すフローチャートの一例である。
【０１１１】
この図１２に示すフローチャートは、図９に示すフローチャートと類似し、印刷ジョブを受信すると処理が開始される。
【０１１２】
まず、予め指定された先頭からのビット数分をジョブ実行チケットの長さを示す情報として読み取る（１２０１）。続いて、読み取ったジョブ実行チケットの長さを示す情報の次のビットからその長さを示す情報分のビット列をジョブ実行チケットとして読み取る（１２０２）。
【０１１３】
そして、これらの読み取り処理によってジョブ実行チケットが正常に読み取ることができたかを判断する（９０２）。以降は図９に示す処理の流れと同一である。
【実施例３】
【０１１４】
本実施例３では、印刷データとジョブ実行チケットとを別々に送信する例を示す。実施例３においても実施例２と同様、システム構成図は図１、図２、図３に示す構成である。
【０１１５】
図１３は、本実施例３における概要を示す概念図である。
【０１１６】
図１３（ａ）は、クライアントＰＣにより作成された印刷データを示し、図１３（ｂ）は、プリンタにより作成されるジョブ実行チケットを示し、図１３（ｃ）は、図１３（ｂ）に示すジョブ実行チケットを所定の暗号化アルゴリズムによって暗号化したジョブ実行チケットである。
【０１１７】
図１３（ｄ）は、プリンタに印刷要求するデータを示しており、プロトコル制御データと印刷データとから構成される。
【０１１８】
プロトコル制御データは、プリントサーバとプリンタとの通信における通信プロトコルに基づいてプリントサーバからプリンタに送信する属性データであって、ジョブ実行チケット属性を設け、その属性値としてジョブ実行チケットを指定した構成である。
【０１１９】
また、印刷データは、クライアントＰＣで作成された印刷データそのものである。
【０１２０】
これらプロトコル制御データおよび印刷データをプリントサーバで作成し、プリンタへ送信する。
【０１２１】
図１４は、プリントサーバにおける印刷ジョブを作成する処理の流れを示すフローチャートの一例である。
【０１２２】
図１４において、クライアントＰＣで作成された印刷データの印刷要求を受信し、またプリンタからジョブ実行チケットを受信すると処理が開始される。
【０１２３】
プリントサーバと印刷出力を行うプリンタとの通信に用いられる通信プロトコルで規定された属性データにジョブ実行チケット属性を追加する（１４０１）。続いて、追加したジョブ実行チケットの属性値にジョブ実行チケットを設定する（１４０２）。
【０１２４】
そして、ジョブ実行チケットを設定した属性データおよび印刷要求する印刷データをプリンタに送信する（１４０３）。
【０１２５】
図１５は、プリンタにおけるジョブ実行チケットの検査処理の流れを示すフローチャートの一例である。
【０１２６】
図１５は、図９および図１２に示すフローチャートと類似するため異なる点を中心に説明する。
【０１２７】
図１５において、プリントサーバから属性データおよび印刷データを含む印刷ジョブを受信すると処理が開始され、受信した属性データにジョブ実行チケット属性が設定されているかを検索する（１５０１）。検索した結果、検索できたかを判断し（１５０２）、検索できない場合（１５０２でＮＯ）には、要求元のプリントサーバに印刷拒否応答を送信する（９１２）。
【０１２８】
それに対して、検索できた場合（１５０２でＹＥＳ）には、そのジョブ実行チケット属性に設定された属性値のジョブ実行チケットを読み取る（１５０３）。
【０１２９】
以降、読み取りができたか否かの判断処理が行われ図９に示す処理と同一である。
【０１３０】
なお、本発明は、通信機能を備えた印刷システムで上述の動作を実行させ、あるいは上述の手段を構成させるためのプログラムを格納した記録媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）から該プログラムをコンピュータにインストールし、これを実行させることにより、上述の処理を実行する印刷システムを構成することも可能である。印刷システムを構成するコンピュータは、システムバスを介してＣＰＵ（Central Processor Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスクが接続されている。ＣＰＵは、ＲＯＭまたはハードディスクに記憶されているプログラムに従い、ＲＡＭを作業領域にして処理を行う。
【０１３１】
また、プログラムを供給するための媒体は、通信媒体（通信回線、通信システムのように一時的または流動的にプログラムを保持する媒体）でもよい。例えば、通信ネットワークの電子掲示板（ＢＢＳ：Bulletin Board Service）に該プログラムを掲示し、これを通信回線を介して配信するようにしてもよい。
【０１３２】
本発明は、上記し、且つ図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施の形態に係わる印刷プログラムおよび印刷装置を適用して構成した印刷システムのシステム構成図の一例。
【図２】図１の印刷システムを構成するプリントサーバの詳細な構成を示すブロック図の一例。
【図３】図１の印刷システムを構成するプリンタの詳細な構成を示すブロック図の一例。
【図４】図２に示すプリントサーバの印刷ジョブ作成部によって作成される印刷ジョブの一例を示す図。
【図５】本発明の実施の形態に係わる印刷プログラムを適用して構成する印刷システムにおける状態遷移を示すシーケンス図の一例。
【図６】本発明の実施の形態に係わる印刷プログラムを適用して構成する印刷システムの論理構成を示す図。
【図７】本発明の実施の形態に係わる印刷プログラムを適用して構成する印刷システムにおける状態遷移を示すシーケンス図の一例。
【図８】ジョブ実行チケットを作成する作成処理の詳細な流れを示したフローチャートの一例。
【図９】ジョブ実行チケットを検査する検査処理の詳細な流れを示したフローチャートの一例。
【図１０】本実施例２におけるジョブ実行チケットが指定された印刷ジョブを示す図。
【図１１】プリントサーバにおける印刷ジョブを作成する処理の流れを示すフローチャートの一例。
【図１２】プリンタにおけるジョブ実行チケットの検査処理の流れを示すフローチャートの一例。
【図１３】本実施例３における概要を示す概念図。
【図１４】プリントサーバにおける印刷ジョブを作成する処理の流れを示すフローチャートの一例。
【図１５】プリンタにおけるジョブ実行チケットの検査処理の流れを示すフローチャートの一例。
【符号の説明】
【０１３４】
１００      プリンタ
１０１      インターフェース
１０２      印刷データ制御部
１０３      ジョブ実行チケット作成部
１０４      暗号処理部
１０５      有効性判断部
１０６      復号処理部
１０７      プリントエンジン
１０８      記憶部
２００      プリントサーバ
２０１      インターフェース
２０２      制御部
２０３      印刷ジョブ作成部
２０４      記憶部
３００      クライアントＰＣ
【図１】
2008001089.tif 000003
【図２】
2008001089.tif 000004
【図３】
2008001089.tif 000005
【図４】
2008001089.tif 000006
【図５】
2008001089.tif 000007
【図６】
2008001089.tif 000008
【図７】
2008001089.tif 000009
【図８】
2008001089.tif 000010
【図９】
2008001089.tif 000011
【図１０】
2008001089.tif 000012
【図１１】
2008001089.tif 000013
【図１２】
2008001089.tif 000014
【図１３】
2008001089.tif 000015
【図１４】
2008001089.tif 000016
【図１５】
2008001089.tif 000017