(57)【要約】【課題】容易な管理で、安全に印刷できるようにする。【解決手段】  パーソナルコンピュータ１２は、原データからシグネチャを演算し、これをＩＣカード２１に書き込むとともに、原データを印刷サーバ１３−１に送信する。印刷サーバ１３−１は、原データを受信するとともに、ＩＣカード２１に書き込まれているシグネチャを読み出す。また、印刷サーバ１３−１は、受信した原データからシグネチャを演算し、演算したシグネチャと、ＩＣカード２１から読み出したシグネチャが一致するか否かを判定し、一致する場合には、原データを印刷するようプリンタ１４−１を制御する。本発明は、印刷を行うパーソナルコンピュータとプリンタに適用することができる。【選択図】図１
2006139490.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置、前記情報処理装置とネットワークを介して通信を行う印刷サーバ装置からなる印刷処理システムにおいて、
前記情報処理装置は、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから第１の署名を生成する第１の署名生成手段と、
前記第１の署名生成手段により生成された前記第１の署名をＩＣカードに書き込む書き込み手段と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信手段と
を備え、
前記印刷サーバ装置は、
前記送信手段により送信された前記原データを受信する受信手段と、
前記ＩＣカードに書き込まれた前記第１の署名を読み出す読み出し手段と、
前記受信手段により受信された前記原データから第２の署名を生成する第２の署名生成手段と、
前記読み出し手段により読み出された前記第１の署名と、前記第２の署名生成手段により生成された前記第２の署名が一致するか否かを判定する第１の判定手段と、
前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信手段により受信された前記原データを印刷するようプリンタを制御する印刷制御手段と
を備えることを特徴とする印刷処理システム。
【請求項２】
前記情報処理装置の前記書き込み手段は、前記送信手段により前記原データを送信する前記印刷サーバ装置を特定する印刷サーバＩＤを含む付属情報を、前記ＩＣカードにさらに書き込み、
前記印刷サーバ装置は、
前記読み出し手段により前記ＩＣカードからさらに読み出された前記付属情報に含まれる前記印刷サーバＩＤと、自分自身の印刷サーバＩＤとが一致するか否かを判定する第２の判定手段と、
前記第２の判定手段により前記印刷サーバＩＤが一致しないと判定された場合に、前記読み出し手段により前記ＩＣカードから読み出された前記付属情報に含まれる前記印刷サーバＩＤで特定される他の印刷サーバ装置から、前記ネットワークを介して前記原データを取得する取得手段とをさらに備え、
前記第２の署名生成手段は、前記取得手段により取得された前記原データから第２の署名を生成し、
前記第１の判定手段は、前記第１の署名と、前記前記第２の署名が一致するか否かを判定し、
前記印刷制御手段は、前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記取得手段により受信された前記原データを印刷するようプリンタを制御する
ことを特徴とする請求項１に記載の印刷処理システム。
【請求項３】
前記第１の署名生成手段は、前記原データにハッシュ関数を適用することにより、前記第１の署名を生成し、
前記第２の署名生成手段は、前記原データにハッシュ関数を適用することにより、前記第２の署名を生成する
ことを特徴とする請求項１に記載の印刷処理システム。
【請求項４】
前記情報処理装置は、
前記原データを、第１の鍵を用いて暗号化する暗号化手段をさらに備えるとともに、
前記印刷サーバ装置は、
前記暗号化手段により暗号化された前記原データを前記第１の鍵を用いて復号する復号手段をさらに備え、
前記書き込み手段は、前記ＩＣカードに前記第１の鍵をさらに書き込み、
前記送信手段は、前記暗号化手段により暗号化された前記原データを送信し、
前記印刷サーバ装置の前記受信手段は、暗号化された前記原データを受信し、
前記読み出し手段は、前記ＩＣカードに書き込まれた前記第１の鍵を読み出し、
前記復号手段は、暗号化された前記原データを、前記読み出し手段により読み出された前記第１の鍵で復号する
ことを特徴とする請求項１に記載の印刷処理システム。
【請求項５】
前記印刷サーバ装置は、前記プリンタをさらに備える
ことを特徴とする請求項１に記載の印刷処理システム。
【請求項６】
情報処理装置、前記情報処理装置とネットワークを介して通信を行う印刷サーバ装置からなる印刷処理システムの印刷処理方法において、
前記情報処理装置は、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから第１の署名を生成する第１の署名生成ステップと、
前記第１の署名生成ステップの処理により生成された前記第１の署名をＩＣカードに書き込む書き込みステップと、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信ステップと
を含み、
前記印刷サーバ装置は、
前記送信ステップの処理により送信された前記原データを受信する受信ステップと、
前記ＩＣカードに書き込まれた前記第１の署名を読み出す読み出しステップと、
前記受信ステップの処理により受信された前記原データから第２の署名を生成する第２の署名生成ステップと、
前記読み出しステップの処理により読み出された前記第１の署名と、前記第２の署名生成ステップの処理により生成された前記第２の署名が一致するか否かを判定する判定ステップと、
前記判定ステップの処理により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信ステップの処理により受信された前記原データを印刷するようプリンタを制御する印刷制御ステップと
を含むことを特徴とする印刷処理方法。
【請求項７】
印刷サーバ装置との間でネットワークを介して通信を行う情報処理装置において、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成手段と、
前記署名生成手段により生成された前記署名をＩＣカードに書き込む書き込み手段と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項８】
前記署名生成手段は、前記原データにハッシュ関数を適用することにより、前記署名を生成する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記原データを、所定の暗号鍵を用いて暗号化する暗号化手段をさらに備え、
前記書き込み手段は、前記暗号鍵を、ＩＣカードにさらに書き込み、
前記送信手段は、前記暗号化手段により暗号化された前記原データを、前記印刷サーバ装置に送信する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
印刷サーバ装置との間でネットワークを介して通信を行う情報処理装置の情報処理方法において、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成ステップと、
前記署名生成ステップの処理により生成された前記署名をＩＣカードに書き込む書き込みステップと、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１１】
印刷サーバ装置との間でネットワークを介して通信を行い、各種の処理を実行するプログラムであって、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成ステップと、
前記署名生成ステップの処理により生成された前記署名をＩＣカードに書き込む書き込みステップと、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
情報処理装置との間でネットワークを介して通信を行う印刷サーバ装置において、
前記ネットワークを介して前記情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信手段と、
前記原データに対応する第１の署名を、ＩＣカードから読み出す読み出し手段と、
前記受信手段により受信された前記原データから第２の署名を生成する署名生成手段と、
前記読み出し手段により読み出された前記第１の署名と、前記署名生成手段により生成された前記第２の署名が一致するか否かを判定する第１の判定手段と、
前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信手段により受信された前記原データを印刷するようプリンタを制御する印刷制御手段と
を備えることを特徴とする印刷サーバ装置。
【請求項１３】
前記読み出し手段は、前記原データを送信する前記印刷サーバ装置を特定する印刷サーバＩＤを含む付属情報を、前記ＩＣカードからさらに読み出し、
前記読み出し手段により前記ＩＣカードからさらに読み出された前記付属情報に含まれる前記印刷サーバＩＤと、自分自身の印刷サーバＩＤとが一致するか否かを判定する第２の判定手段と、
前記第２の判定手段により前記印刷サーバＩＤが一致しないと判定された場合に、前記読み出し手段により前記ＩＣカードから読み出された前記付属情報に含まれる前記印刷サーバＩＤで特定される他の印刷サーバ装置から、前記ネットワークを介して前記原データを取得する取得手段とをさらに備え、
前記署名生成手段は、前記取得手段により取得された前記原データから第２の署名を生成し、
前記第１の判定手段は、前記第１の署名と、前記前記第２の署名が一致するか否かを判定し、
前記印刷制御手段は、前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記取得手段により受信された前記原データを印刷するようプリンタを制御する
ことを特徴とする請求項１２に記載の印刷サーバ装置。
【請求項１４】
前記署名生成手段は、前記原データにハッシュ関数を適用することにより、前記第２の署名を生成する
ことを特徴とする請求項１２に記載の印刷サーバ装置。
【請求項１５】
暗号鍵を用いて暗号化された前記原データを前記暗号鍵を用いて復号する復号手段をさらに備え、
前記受信手段は、前記暗号鍵を用いて暗号化された前記原データを受信し、
前記読み出し手段は、前記ＩＣカードに書き込まれている前記暗号鍵を読み出し、
前記復号手段は、暗号化された前記原データを、前記読み出し手段により読み出された前記暗号で復号する
ことを特徴とする請求項１２に記載の印刷サーバ装置。
【請求項１６】
前記印刷サーバ装置は、前記プリンタをさらに備える
ことを特徴とする請求項１１に記載の印刷サーバ装置。
【請求項１７】
情報処理装置との間でネットワークを介して通信を行う印刷サーバ装置の情報処理方法において、
前記ネットワークを介して前記情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信ステップと、
前記原データに対応する第１の署名を、ＩＣカードから読み出す読み出しステップと、
前記受信ステップの処理により受信された前記原データから第２の署名を生成する署名生成ステップと、
前記読み出しステップの処理により読み出された前記第１の署名と、前記署名生成ステップの処理により生成された前記第２の署名が一致するか否かを判定する判定ステップと、
前記判定ステップの処理により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信ステップの処理により受信された前記原データを印刷するようプリンタを制御する印刷制御ステップと
を含むことを特徴とする情報処理方法。
【請求項１８】
情報処理装置との間でネットワークを介して通信を行い、各種の処理を実行するプログラムであって、
前記ネットワークを介して前記情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信ステップと、
前記原データに対応する第１の署名を、ＩＣカードから読み出す読み出しステップと、
前記受信ステップの処理により受信された前記原データから第２の署名を生成する署名生成ステップと、
前記読み出しステップの処理により読み出された前記第１の署名と、前記署名生成ステップの処理により生成された前記第２の署名が一致するか否かを判定する判定ステップと、
前記判定ステップの処理により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信ステップの処理により受信された前記原データを印刷するようプリンタを制御する印刷制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理システムおよび印刷処理方法、情報処理装置および情報処理方法、印刷サーバ装置および情報処理方法、並びにプログラムに関し、特に、容易な管理で、安全に印刷することができるようにした印刷処理システムおよび印刷処理方法、情報処理装置および情報処理方法、印刷サーバ装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、印刷を行う場合、パーソナルコンピュータは、ユーザからの印刷の指令に基づいて、印刷の指示と印刷物を印刷するための電子データである原データとを印刷サーバに送信する。印刷サーバは、この原データを受信して順番にスプールし、印刷の順番になると、プリンタ（印刷機）を制御して印刷を開始させていた。
【０００３】
しかしながら、印刷の完了時間は一定ではないため、印刷の指令を行ったユーザが、印刷が完了したであろう頃にプリンタの設置場所に行って印刷物を入手する前に、他のユーザにより印刷物が盗まれてしまう可能性があるという課題があった。
【０００４】
そこで、特許文献１には、ユーザＩＤを原データに付加して、印刷制限を行う技術が開示されている。
【０００５】
【特許文献１】特開２００２−２４３９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１で開示されている方法では、ユーザＩＤを秘密裏に管理し続けなければならず、ユーザＩＤが漏れてしまうと、原データも漏洩してしまうという課題があった。また、印刷情報と印刷指示には関連が無く、ユーザＩＤと一致した全てのスプールデータを一度に印刷してしまうため、印刷データをその場で特定することができなかった。さらに、一度印刷の指示がなされ、印刷サーバに送信された原データは、その印刷サーバに接続されたプリンタからのみ印刷可能となり、印刷の指示がなされた後に、印刷するプリンタを変更することはできなかった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、容易な管理で、安全に印刷できるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の印刷処理システムは、情報処理装置、情報処理装置とネットワークを介して通信を行う印刷サーバ装置からなる印刷処理システムであって、情報処理装置は、ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから第１の署名を生成する第１の署名生成手段と、第１の署名生成手段により生成された第１の署名をＩＣカードに書き込む書き込み手段と、印刷サーバ装置に、原データを、ネットワークを介して送信する送信手段とを備え、印刷サーバ装置は、送信手段により送信された原データを受信する受信手段と、ＩＣカードに書き込まれた第１の署名を読み出す読み出し手段と、受信手段により受信された原データから第２の署名を生成する第２の署名生成手段と、読み出し手段により読み出された第１の署名と、第２の署名生成手段により生成された第２の署名が一致するか否かを判定する第１の判定手段と、第１の判定手段により第１の署名と第２の署名が一致すると判定された場合、受信手段により受信された原データを印刷するようプリンタを制御する印刷制御手段とを備えることを特徴とする。
【０００９】
情報処理装置の書き込み手段は、送信手段により原データを送信する印刷サーバ装置を特定する印刷サーバＩＤを含む付属情報を、ＩＣカードにさらに書き込み、印刷サーバ装置は、読み出し手段によりＩＣカードからさらに読み出された付属情報に含まれる印刷サーバＩＤと、自分自身の印刷サーバＩＤとが一致するか否かを判定する第２の判定手段と、第２の判定手段により印刷サーバＩＤが一致しないと判定された場合に、読み出し手段によりＩＣカードから読み出された付属情報に含まれる印刷サーバＩＤで特定される他の印刷サーバ装置から、ネットワークを介して原データを取得する取得手段とをさらに備え、第２の署名生成手段は、取得手段により取得された原データから第２の署名を生成し、第１の判定手段は、第１の署名と、第２の署名が一致するか否かを判定し、印刷制御手段は、第１の判定手段により第１の署名と第２の署名が一致すると判定された場合、取得手段により受信された原データを印刷するようプリンタを制御するものとすることができる。
【００１０】
第１の署名生成手段は、原データにハッシュ関数を適用することにより、第１の署名を生成し、第２の署名生成手段は、原データにハッシュ関数を適用することにより、第２の署名を生成するものとすることができる。
【００１１】
情報処理装置は、原データを、第１の鍵を用いて暗号化する暗号化手段をさらに備えるとともに、印刷サーバ装置は、暗号化手段により暗号化された原データを第１の鍵を用いて復号する復号手段をさらに備え、書き込み手段は、ＩＣカードに第１の鍵をさらに書き込み、送信手段は、暗号化手段により暗号化された原データを送信し、印刷サーバ装置の受信手段は、暗号化された原データを受信し、読み出し手段は、ＩＣカードに書き込まれた第１の鍵を読み出し、復号手段は、暗号化された原データを、読み出し手段により読み出された第１の鍵で復号するものとすることができる。
【００１２】
印刷サーバ装置は、プリンタをさらに備えるものとすることができる。
【００１３】
本発明の印刷処理方法は、情報処理装置、情報処理装置とネットワークを介して通信を行う印刷サーバ装置からなる印刷処理システムの印刷処理方法であって、情報処理装置は、ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから第１の署名を生成する第１の署名生成ステップと、第１の署名生成ステップの処理により生成された第１の署名をＩＣカードに書き込む書き込みステップと、印刷サーバ装置に、原データを、ネットワークを介して送信する送信ステップとを含み、印刷サーバ装置は、送信ステップの処理により送信された原データを受信する受信ステップと、ＩＣカードに書き込まれた第１の署名を読み出す読み出しステップと、受信ステップの処理により受信された原データから第２の署名を生成する第２の署名生成ステップと、読み出しステップの処理により読み出された第１の署名と、第２の署名生成ステップの処理により生成された第２の署名が一致するか否かを判定する判定ステップと、判定ステップの処理により第１の署名と第２の署名が一致すると判定された場合、受信ステップの処理により受信された原データを印刷するようプリンタを制御する印刷制御ステップとを含むことを特徴とする。
【００１４】
第１の本発明によれば、情報処理装置で、印刷物を印刷するための電子データである原データから第１の署名が生成され、ＩＣカードに書き込まれ、印刷サーバ装置に、原データが送信される。また、印刷サーバ装置で、原データが受信され、ＩＣカードから第１の署名が読み出され、受信された原データから第２の署名が生成され、第１の署名と第２の署名が一致する場合に、原データを印刷するようプリンタが制御される。
【００１５】
本発明の情報処理装置は、ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成手段と、署名生成手段により生成された署名をＩＣカードに書き込む書き込み手段と、印刷サーバ装置に、原データを、ネットワークを介して送信する送信手段とを備えることを特徴とする。
【００１６】
署名生成手段は、原データにハッシュ関数を適用することにより、署名を生成するものとすることができる。
【００１７】
原データを、所定の暗号鍵を用いて暗号化する暗号化手段をさらに備え、書き込み手段は、暗号鍵を、ＩＣカードにさらに書き込み、送信手段は、暗号化手段により暗号化された原データを、印刷サーバ装置に送信するものとすることができる。
【００１８】
本発明の第１の情報処理方法は、ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成ステップと、署名生成ステップの処理により生成された署名をＩＣカードに書き込む書き込みステップと、印刷サーバ装置に、原データを、ネットワークを介して送信する送信ステップとを含むことを特徴とする。
【００１９】
本発明の第１のプログラムは、ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成ステップと、署名生成ステップの処理により生成された署名をＩＣカードに書き込む書き込みステップと、印刷サーバ装置に、原データを、ネットワークを介して送信する送信ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００２０】
第２の本発明によれば、印刷物を印刷するための電子データである原データから署名が生成され、ＩＣカードに書き込まれ、印刷サーバ装置に、原データが送信される。
【００２１】
本発明の印刷サーバ装置は、ネットワークを介して情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信手段と、原データに対応する第１の署名を、ＩＣカードから読み出す読み出し手段と、受信手段により受信された原データから第２の署名を生成する署名生成手段と、読み出し手段により読み出された第１の署名と、署名生成手段により生成された第２の署名が一致するか否かを判定する第１の判定手段と、第１の判定手段により第１の署名と第２の署名が一致すると判定された場合、受信手段により受信された原データを印刷するようプリンタを制御する印刷制御手段とを備えることを特徴とする。
【００２２】
読み出し手段は、原データを送信する印刷サーバ装置を特定する印刷サーバＩＤを含む付属情報を、ＩＣカードからさらに読み出し、読み出し手段によりＩＣカードからさらに読み出された付属情報に含まれる印刷サーバＩＤと、自分自身の印刷サーバＩＤとが一致するか否かを判定する第２の判定手段と、第２の判定手段により印刷サーバＩＤが一致しないと判定された場合に、読み出し手段によりＩＣカードから読み出された付属情報に含まれる印刷サーバＩＤで特定される他の印刷サーバ装置から、ネットワークを介して原データを取得する取得手段とをさらに備え、署名生成手段は、取得手段により取得された原データから第２の署名を生成し、第１の判定手段は、第１の署名と、第２の署名が一致するか否かを判定し、印刷制御手段は、第１の判定手段により第１の署名と第２の署名が一致すると判定された場合、取得手段により受信された原データを印刷するようプリンタを制御するものとすることができる。
【００２３】
署名生成手段は、原データにハッシュ関数を適用することにより、第２の署名を生成するものとすることができる。
【００２４】
暗号鍵を用いて暗号化された原データを暗号鍵を用いて復号する復号手段をさらに備え、受信手段は、暗号鍵を用いて暗号化された原データを受信し、読み出し手段は、ＩＣカードに書き込まれている暗号鍵を読み出し、復号手段は、暗号化された原データを、読み出し手段により読み出された暗号で復号するものとすることができる。
【００２５】
印刷サーバ装置は、プリンタをさらに備えるものとすることができる。
【００２６】
本発明の第２の情報処理方法は、ネットワークを介して情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信ステップと、原データに対応する第１の署名を、ＩＣカードから読み出す読み出しステップと、受信ステップの処理により受信された原データから第２の署名を生成する署名生成ステップと、読み出しステップの処理により読み出された第１の署名と、署名生成ステップの処理により生成された第２の署名が一致するか否かを判定する判定ステップと、判定ステップの処理により第１の署名と第２の署名が一致すると判定された場合、受信ステップの処理により受信された原データを印刷するようプリンタを制御する印刷制御ステップとを含むことを特徴とする。
【００２７】
本発明の第２のプログラムは、ネットワークを介して情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信ステップと、原データに対応する第１の署名を、ＩＣカードから読み出す読み出しステップと、受信ステップの処理により受信された原データから第２の署名を生成する署名生成ステップと、読み出しステップの処理により読み出された第１の署名と、署名生成ステップの処理により生成された第２の署名が一致するか否かを判定する判定ステップと、判定ステップの処理により第１の署名と第２の署名が一致すると判定された場合、受信ステップの処理により受信された原データを印刷するようプリンタを制御する印刷制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００２８】
第３の本発明においては、ネットワークを介して情報処理装置から送信されてきた印刷物を印刷するための電子データである原データが受信され、原データに対応する第１の署名がＩＣカードから読み出され、受信された原データから第２の署名が生成され、第１の署名と第２の署名が一致する場合に、原データを印刷するようプリンタが制御される。
【発明の効果】
【００２９】
本発明によれば、安全に印刷することができる。特に、本発明によれば、安全、かつ、容易に印刷することができる。また、簡単な管理でデータを保護しつつ、印刷を行うことができる。さらに、印刷指示したプリンタ以外の場所からも印刷要求を行うことができる。
【発明を実施するための最良の形態】
【００３０】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００３１】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００３２】
請求項１に記載の印刷処理システム（図１の印刷処理システム１）は、
情報処理装置（例えば、図１のパーソナルコンピュータ１２）、前記情報処理装置とネットワーク（例えば、図１のネットワーク１１）を介して通信を行う印刷サーバ装置（例えば、図１の印刷サーバ１３−１）からなる印刷処理システムにおいて、
前記情報処理装置は、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから第１の署名を生成する第１の署名生成手段（例えば、図４のステップＳ１１の処理を実行する図２のCPU５１）と、
前記第１の署名生成手段により生成された前記第１の署名をＩＣカードに書き込む書き込み手段（例えば、図４のステップＳ３１の処理を実行する図２のＩＣカードリーダライタ６０）と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信手段（例えば、図４のステップＳ１４の処理を実行する図２の通信部５９）と
を備え、
前記印刷サーバ装置は、
前記送信手段により送信された前記原データを受信する受信手段（例えば、図４のステップＳ５１の処理を実行する図３の通信部１０９）と、
前記ＩＣカードに書き込まれた前記第１の署名を読み出す読み出し手段（例えば、図４のステップＳ５２とステップＳ５３の処理を実行する図３のＩＣカードリーダライタ１１０）と、
前記受信手段により受信された前記原データから第２の署名を生成する第２の署名生成手段（例えば、図４のステップＳ５４の処理を実行する図３のCPU１０１）と、
前記読み出し手段により読み出された前記第１の署名と、前記第２の署名生成手段により生成された前記第２の署名が一致するか否かを判定する第１の判定手段（例えば、図４のステップＳ５５の処理を実行する図３のCPU１０１）と、
前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信手段により受信された前記原データを印刷するようプリンタを制御する印刷制御手段（例えば、図４のステップＳ５６の処理を実行する図３のCPU１０１）と
を備えることを特徴とする。
【００３３】
請求項２に記載の印刷処理システムの前記情報処理装置の前記書き込み手段は、前記送信手段により前記原データを送信する前記印刷サーバ装置を特定する印刷サーバＩＤを含む付属情報を、前記ＩＣカードにさらに書き込み、
前記印刷サーバ装置（例えば、図５の印刷サーバ１３−２）は、
前記読み出し手段により前記ＩＣカードからさらに読み出された前記付属情報に含まれる前記印刷サーバＩＤと、自分自身の印刷サーバＩＤとが一致するか否かを判定する第２の判定手段（例えば、図５のステップＳ１９３の処理を実行する図３のCPU１０１）と、
前記第２の判定手段により前記印刷サーバＩＤが一致しないと判定された場合に、前記読み出し手段により前記ＩＣカードから読み出された前記付属情報に含まれる前記印刷サーバＩＤで特定される他の印刷サーバ装置から、前記ネットワークを介して前記原データを取得する取得手段（例えば、図５のステップＳ１９４とステップＳ１９５の処理を実行する図３のCPU１０１）とをさらに備え、
前記第２の署名生成手段は、前記取得手段により取得された前記原データから第２の署名を生成し、
前記第１の判定手段は、前記第１の署名と、前記前記第２の署名が一致するか否かを判定し、
前記印刷制御手段は、前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記取得手段により受信された前記原データを印刷するようプリンタを制御する
ことを特徴とする。
【００３４】
請求項６に記載の印刷処理システム（図１の印刷処理システム１）の印刷処理方法は、
情報処理装置（例えば、図１のパーソナルコンピュータ１２）、前記情報処理装置とネットワーク（例えば、図１のネットワーク１１）を介して通信を行う印刷サーバ装置（例えば、図１の印刷サーバ１３−１）からなる印刷処理システムの印刷処理方法であって、
前記情報処理装置は、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから第１の署名を生成する第１の署名生成ステップ（例えば、図４のステップＳ１１）と、
前記第１の署名生成ステップの処理により生成された前記第１の署名をＩＣカードに書き込む書き込みステップ（例えば、図４のステップＳ３１）と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信ステップ（例えば、図４のステップＳ１４）と
を含み、
前記印刷サーバ装置は、
前記送信ステップの処理により送信された前記原データを受信する受信ステップ（例えば、図４のステップＳ５１）と、
前記ＩＣカードに書き込まれた前記第１の署名を読み出す読み出しステップ（例えば、図４のステップＳ５２とステップＳ５３）と、
前記受信ステップの処理により受信された前記原データから第２の署名を生成する第２の署名生成ステップ（例えば、図４のステップＳ５４）と、
前記読み出しステップの処理により読み出された前記第１の署名と、前記第２の署名生成ステップの処理により生成された前記第２の署名が一致するか否かを判定する判定ステップ（例えば、図４のステップＳ５５）と、
前記判定ステップの処理により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信ステップの処理により受信された前記原データを印刷するようプリンタを制御する印刷制御ステップ（例えば、図４のステップＳ５６）と
を含むことを特徴とする。
【００３５】
請求項７に記載の情報処理装置（例えば、図１のパーソナルコンピュータ１２）は、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成手段（例えば、図４のステップＳ１１の処理を実行する図２のCPU５１）と、
前記署名生成手段により生成された前記署名をＩＣカードに書き込む書き込み手段（例えば、図４のステップＳ３１の処理を実行する図２のＩＣカードリーダライタ６０）と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信手段（例えば、図４のステップＳ１４の処理を実行する図２の通信部５９）と
を備えることを特徴とする。
【００３６】
請求項１０に記載の情報処理装置（例えば、図１のパーソナルコンピュータ１２）の情報処理方法は、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成ステップ（例えば、図４のステップＳ１１）と、
前記署名生成ステップの処理により生成された前記署名をＩＣカードに書き込む書き込みステップ（例えば、図４のステップＳ３１）と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信ステップ（例えば、図４のステップＳ１４）と
を含むことを特徴とする。
【００３７】
請求項１１に記載のプログラムは、
ユーザからの印刷の指令に基づいて、印刷物を印刷するための電子データである原データから署名を生成する署名生成ステップ（例えば、図４のステップＳ１１）と、
前記署名生成ステップの処理により生成された前記署名をＩＣカードに書き込む書き込みステップ（例えば、図４のステップＳ３１）と、
前記印刷サーバ装置に、前記原データを、前記ネットワークを介して送信する送信ステップ（例えば、図４のステップＳ１４）と
を含む処理をコンピュータに実行させることを特徴とする。
【００３８】
請求項１２に記載の印刷サーバ装置（例えば、図１の印刷サーバ１３）は、
前記ネットワーク（例えば、図１のネットワーク１１）を介して前記情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信手段（例えば、図４のステップＳ５１の処理を実行する図３の通信部１０９）と、
前記原データに対応する第１の署名を、ＩＣカードから読み出す読み出し手段（例えば、図４のステップＳ５２とステップＳ５３の処理を実行する図３のＩＣカードリーダライタ１１０）と、
前記受信手段により受信された前記原データから第２の署名を生成する署名生成手段（例えば、図４のステップＳ５４の処理を実行する図３のCPU１０１）と、
前記読み出し手段により読み出された前記第１の署名と、前記署名生成手段により生成された前記第２の署名が一致するか否かを判定する第１の判定手段（例えば、図４のステップＳ５５の処理を実行する図３のCPU１０１）と、
前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信手段により受信された前記原データを印刷するようプリンタを制御する印刷制御手段（例えば、図４のステップＳ５６の処理を実行する図３のCPU１０１）と
を備えることを特徴とする。
【００３９】
請求項１３に記載の印刷サーバ装置の
前記読み出し手段は、前記原データを送信する前記印刷サーバ装置を特定する印刷サーバＩＤを含む付属情報を、前記ＩＣカードからさらに読み出し、
前記読み出し手段により前記ＩＣカードからさらに読み出された前記付属情報に含まれる前記印刷サーバＩＤと、自分自身の印刷サーバＩＤとが一致するか否かを判定する第２の判定手段（例えば、図５のステップＳ１９３の処理を実行する図３のCPU１０１）と、
前記第２の判定手段により前記印刷サーバＩＤが一致しないと判定された場合に、前記読み出し手段により前記ＩＣカードから読み出された前記付属情報に含まれる前記印刷サーバＩＤで特定される他の印刷サーバ装置から、前記ネットワークを介して前記原データを取得する取得手段（例えば、図５のステップＳ１９４とステップＳ１９５の処理を実行する図３のCPU１０１）とをさらに備え、
前記署名生成手段は、前記取得手段により取得された前記原データから第２の署名を生成し、
前記第１の判定手段は、前記第１の署名と、前記前記第２の署名が一致するか否かを判定し、
前記印刷制御手段は、前記第１の判定手段により前記第１の署名と前記第２の署名が一致すると判定された場合、前記取得手段により受信された前記原データを印刷するようプリンタを制御する
ことを特徴とする。
【００４０】
請求項１７に記載の印刷サーバ装置の情報処理方法は、
前記ネットワーク（例えば、図１のネットワーク１１）を介して前記情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信ステップ（例えば、図４のステップＳ５１）と、
前記原データに対応する第１の署名を、ＩＣカードから読み出す読み出しステップ（例えば、図４のステップＳ５２とステップＳ５３）と、
前記受信ステップの処理により受信された前記原データから第２の署名を生成する署名生成ステップ（例えば、図４のステップＳ５４）と、
前記読み出しステップの処理により読み出された前記第１の署名と、前記署名生成ステップの処理により生成された前記第２の署名が一致するか否かを判定する判定ステップ（例えば、図４のステップＳ５５）と、
前記判定ステップの処理により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信ステップの処理により受信された前記原データを印刷するようプリンタを制御する印刷制御ステップ（例えば、図４のステップＳ５６）と
を含むことを特徴とする。
【００４１】
請求項１８に記載のプログラムは、
前記ネットワーク（例えば、図１のネットワーク１１）を介して前記情報処理装置から送信されてきた印刷物を印刷するための電子データである原データを受信する受信ステップ（例えば、図４のステップＳ５１）と、
前記原データに対応する第１の署名を、ＩＣカードから読み出す読み出しステップ（例えば、図４のステップＳ５２とステップＳ５３）と、
前記受信ステップの処理により受信された前記原データから第２の署名を生成する署名生成ステップ（例えば、図４のステップＳ５４）と、
前記読み出しステップの処理により読み出された前記第１の署名と、前記署名生成ステップの処理により生成された前記第２の署名が一致するか否かを判定する判定ステップ（例えば、図４のステップＳ５５）と、
前記判定ステップの処理により前記第１の署名と前記第２の署名が一致すると判定された場合、前記受信ステップの処理により受信された前記原データを印刷するようプリンタを制御する印刷制御ステップ（例えば、図４のステップＳ５６）と
を含む処理をコンピュータに実行させることを特徴とする。
【００４２】
以下、図を参照して、本発明の実施の形態について説明する。
【００４３】
図１は、本発明を適用した印刷処理システム１の全体の構成例を示す図である。
【００４４】
ネットワーク１１には、パーソナルコンピュータ１２、印刷サーバ１３−１、および印刷サーバ１３−２が接続されている。また、印刷サーバ１３−１にはプリンタ（印刷機）１４−１が接続され、印刷サーバ１３−２にはプリンタ１４−２が接続されている。
【００４５】
ネットワーク１１は、例えば、LAN（Local Area Network）、電話回線、CATVを含む各種の通信網とされる。パーソナルコンピュータ１２、印刷サーバ１３−１および印刷サーバ１３−２のそれぞれには、ＩＣカードリーダライタ（図１中では図示せず）が設けられており、ＩＣカード２１との間で通信を行う。なお、本実施の形態においては、ＩＣカード２１が、内蔵するアンテナを介して、微弱な電波を利用して端末と近距離無線通信を行うカード、すなわち、非接触式カードであるものとするが、接触式カードであってもよい。ＩＣカード２１が接触式である場合には、カード側に設置された接点(端子)を介して端末がデータを取得することになる。なお、以下において、印刷サーバ１３−１と印刷サーバ１３−２とを個々に区別する必要がない場合、印刷サーバ１３と称し、プリンタ１４−１とプリンタ１４−２とを個々に区別する必要がない場合、プリンタ１４と称する。
【００４６】
パーソナルコンピュータ１２は、ユーザから、印刷物を印刷するための電子データである原データの指定と、印刷の指令を受け付け、原データを印刷サーバ１３に送信する。ここで、原データとは、印刷物を印刷するためのファイルデータ（例えば、テキストデータとイメージを含むようなデータ）であってもよいし、ファイルデータをイメージに変換した後などのデータであってもよい。すなわち、印刷物を印刷するための電子データであれば、どのような形式であってもよい。なお、以下においては、印刷する電子データ（印刷データ）を、原データと称する。また、パーソナルコンピュータ１２は、原データからシグネチャ（署名）を生成し、これをＩＣカード２１に書き込む。印刷サーバ１３は、パーソナルコンピュータ１２から送信されてきた原データに基づいてシグネチャを生成し、これと、ＩＣカード２１から読み出したシグネチャが一致する場合に、原データを印刷するようプリンタ１４を制御する。
【００４７】
次に、図２を参照して、図１のパーソナルコンピュータ１２のハードウェアの構成例を説明する。
【００４８】
CPU（Central Processing Unit）５１、ROM（Read Only Memory）５２、およびRAM(Random Access Memory)５３は、内部バス５４を介して相互に接続されている。この内部バス５４にはまた、入出力インターフェース５５も接続されている。
【００４９】
CPU５１は、ROM５２に記憶されているプログラム、または、記憶部５８からRAM５３にロードされたプログラムに従って各種の処理を実行する。RAM５３にはまた、CPU５１が各種の処理を実行する上で必要なデータなどが適宜記憶される。
【００５０】
入出力インターフェース５５には、キーボード、マウスなどよりなる入力部５６、LCD（Liquid Crystal Display）、CRT（Cathode Ray Tube）、スピーカなどよりなる出力部５７、ハードディスクなどより構成される記憶部５８、モデム、ターミナルアダプタなどより構成される通信部５９、ＩＣカードリーダライタ６０が接続されている。通信部５９は、電話回線またはCATVを含む各種のネットワークを介しての通信処理を行う。ＩＣカードリーダライタ６０は、ＩＣカード２１（図１）との間で近距離通信を行う。
【００５１】
入出力インターフェース５５にはまた、必要に応じてドライブ７１が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア８１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部５８にインストールされる。
【００５２】
なお、RAM５３には、パーソナルコンピュータ１２と、ネットワーク１１を介して接続されている印刷サーバ１３を特定するための印刷サーバＩＤがテーブルとして保持されている。
【００５３】
次に、図３を参照して、図１の印刷サーバ１３のハードウェアの構成例を説明する。
【００５４】
図３の印刷サーバ１３の構成は、図２のパーソナルコンピュータ１２の構成と同様である。すなわち、印刷サーバ１３には、CPU１０１、ROM１０２、RAM１０３、内部バス１０４、入出力インターフェース１０５、入力部１０６、出力部１０７、記憶部１０８、通信部１０９、ＩＣカードリーダライタ１１０、およびドライブ１２１が設けられており、図２の同じ名称を有する各部と同じ機能を有する。
【００５５】
なお、ROM１０２または記憶部１０８には、ネットワーク１１を介して接続されている他の印刷サーバ１３を特定するための印刷サーバＩＤ（パーソナルコンピュータ１２が保持している印刷サーバ１３のＩＤと同一の印刷サーバＩＤ）と、自分自身の印刷サーバＩＤとがテーブルとして保持されている。
【００５６】
なお、以下において、図３は、図１のサーバ装置１３−１とサーバ装置１３−２の構成として適宜引用する。
【００５７】
次に、図４のフローチャートを参照して、印刷処理システム１における印刷処理の概略の一例を説明する。なお、この処理は、パーソナルコンピュータ１２に、ユーザにより印刷の指令が入力されたとき開始される。
【００５８】
パーソナルコンピュータ１２の入力部５６（図２）に、ユーザにより印刷物を印刷するための原データの指定と印刷の指令とが入力されると、ステップＳ１１において、CPU５１は、原データのシグネチャ（署名）を演算（生成）する。具体的には、CPU５１は、ユーザにより指定された印刷物を印刷するための原データ（印刷する対象のデータ）に対して、所定の関数を適用することで、原データに対するシグネチャを生成（演算）する。シグネチャの演算には、CRC（Cyclic Redundancy Check）や一方向ハッシュ関数などの、対象となるデータ（本実施の形態では、原データ）の内容が変更された場合にシグネチャも変更されるような関数が用いられる。なお、ユーザからの印刷の指令には、印刷処理を実行する印刷サーバ１３−１の指定（または、プリンタ１４−１の指定）が含まれている。また、CPU５１は、印刷指定時刻や印刷サーバＩＤなどを、印刷のための付属データとして設定（準備）する。印刷サーバＩＤは、印刷サーバ１３を識別するための識別情報（ＩＤ）であり、印刷サーバＩＤによって、印刷サーバ１３を特定することができる。すなわち、ユーザにより指定された印刷サーバ１３を特定するための、印刷サーバＩＤが設定される。図４の例の場合、ユーザにより印刷サーバ１３−１が指定されるので、設定される印刷サーバＩＤは、印刷サーバ１３−１を特定するためのＩＤとされる。
【００５９】
ユーザは、この原データの指定と印刷の指令の後、ＩＣカード２１をパーソナルコンピュータ１２のＩＣカードリーダライタ６０にかざす（近接させる）。そこで、ステップＳ１２において、パーソナルコンピュータ１２のＩＣカードリーダライタ６０は、CPU５１からの制御に基づいて、ステップＳ１１の処理で生成されたシグネチャと、付属データ（印刷指定時刻と印刷サーバＩＤを少なくとも含む付属データ）とを、ＩＣカード２１に書き込むよう制御する。
【００６０】
これに対して、ＩＣカード２１は、ステップＳ３１において、パーソナルコンピュータ１２からの書き込み制御に基づいて、シグネチャと付属データを内蔵するメモリ（図示せず）に書き込む（記憶させる）。そして、ステップＳ３２において、ＩＣカード２１は、シグネチャと付属データの書き込みが正常に終了したことを示す書き込み完了通知（正常レスポンス）をパーソナルコンピュータ１２のＩＣカードリーダライタ６０に対して送信する。
【００６１】
パーソナルコンピュータ１２のＩＣカードリーダライタ６０は、ステップＳ１３において、ＩＣカード２１から送信されてきた書き込み完了通知を受け取り、これをCPU５１に通知する。パーソナルコンピュータ１２のCPU５１は、ステップＳ１４において、通信部５９を制御して、原データと印刷指定時刻とを、ユーザにより指定された印刷サーバ１３−１に送信する。このとき原データと印刷指定時刻が送信される印刷サーバ１３は、ステップＳ１１の処理で設定された印刷サーバＩＤで特定される印刷サーバ１３と一致する。すなわち、図４の例の場合、通信部５９は、ネットワーク１１を介して、印刷サーバ１３−１に原データを送信する。
【００６２】
このパーソナルコンピュータ１２の原データの送信に対して、印刷サーバ１３−１の通信部１０９（図３）は、ステップＳ５１においてこれを受信する。そして、印刷サーバ１３−１のCPU１０１は、RAM１０３に、原データをスプールする（データを直接プリンタ１４−１に送るのではなく、あとでプリンタ１４−１に送信できるように、一時的に印刷サーバ１３−１で貯めておく、いわゆるキュー）。また、印刷サーバ１３−１のCPU１０１は、受信した印刷指定時刻を、原データに関連付けて保持する。そして、印刷サーバ１３−１のＩＣカードリーダライタ１１０は、CPU１０１からの制御に基づいて、ＩＣカード２１が近接されるまで（ＩＣカード２１と通信可能となるまで）待機する。ユーザは、このとき、印刷を指定した印刷サーバ１３−１のもとに行き、その印刷サーバ１３−１のＩＣカードリーダライタ１１０にＩＣカード２１をかざす（近接させる）。印刷サーバ１３−１のＩＣカードリーダライタ１１０にユーザによりＩＣカード２１が近接された場合、ステップＳ５２において、印刷サーバ１３−１のＩＣカードリーダライタ１１０は、ＩＣカード２１に対して、ＩＣカード２１の内蔵する図示せぬメモリに書き込まれているカード情報の読み出しを指示する。このＩＣカード２１には、上述したステップＳ３１の処理により、原データに対応するシグネチャと付属データとが書き込まれている。
【００６３】
ＩＣカード２１は、この印刷サーバ１３−１からの要求を、ステップＳ３３において受け付け、ステップＳ３４において、図示せぬメモリに書き込まれているカード情報、すなわち、シグネチャと付属データ（印刷指定時刻と印刷サーバＩＤとを含む付属データ）を読み出し、これを印刷サーバ１３−１のＩＣカードリーダライタ１１０に送信する。
【００６４】
印刷サーバ１３−１のＩＣカードリーダライタ１１０は、ステップＳ５３において、ステップＳ５２の処理の要求に対するＩＣカード２１からの応答（カード情報）として、シグネチャと付属データを取得し（受け付け）、これを、CPU１０１に通知する。
【００６５】
印刷サーバ１３−１のCPU１０１は、ステップＳ５４において、ステップＳ５１の処理で受信された原データに基づいて、シグネチャを演算（生成）する。この原データに対するシグネチャの演算方法は、パーソナルコンピュータ１２のCPU５１が適用する演算方法と同一である。すなわち、対象となる原データが一致する場合には、シグネチャも同一の値となる。なお、印刷サーバ１３−１でスプールしている原データが複数ある場合には、ＩＣカード２１から読み出した付属データに含まれる印刷指定時刻と、スプールしている原データに関連付けられた印刷指定時刻が一致する原データに対して、シグネチャを演算するようにする。
【００６６】
ステップＳ５５において、印刷サーバ１３−１のCPU１０１は、ステップＳ５３の処理で取得したシグネチャ（ＩＣカード２１から読み出したシグネチャ（第１のシグネチャ））と、ステップＳ５４の処理で演算した結果のシグネチャ（パーソナルコンピュータ１２から送信されてきた原データに基づいて印刷サーバ１３−１が演算したシグネチャ（第２のシグネチャ））とを比較する。ＩＣカード２１から読み出したシグネチャ（第１のシグネチャ）と印刷サーバ１３−１のCPU１０１が原データに基づいて演算したシグネチャ（第２のシグネチャ）とが一致する場合、印刷サーバ１３−１のCPU１０１は、正当な印刷の指令であると判断し、ステップＳ５６において、通信部１０９を制御して、プリンタ１４−１にこの原データ（ステップＳ５１の処理で受信し、スプールしていた原データ）を送信する。
【００６７】
プリンタ１４−１は、印刷サーバ１３−１から送信されてきた原データをステップＳ７１において受け付け、ステップＳ７２において、原データに基づく画像（または文字）を印刷する。その後、処理は終了される。
【００６８】
図４の処理によれば、ＩＣカード２１に、印刷が指定された原データに対応するシグネチャを記憶させるとともに、印刷サーバ１３に原データを送信し、印刷サーバ１３が演算したシグネチャとＩＣカード２１のシグネチャが一致する場合に印刷を行うようにしたので、簡単、かつ、安全に印刷を行うことができる。
【００６９】
なお、図４の例では、ユーザが印刷を指定した印刷サーバ１３−１（ステップＳ１１）に印刷させる場合について、すなわち、パーソナルコンピュータ１２が原データを送信した印刷サーバ１３−１にＩＣカード２１が近接された場合における処理について説明したが、パーソナルコンピュータ１２が原データを送信した印刷サーバ１３−１以外の印刷サーバ１３−２にＩＣカード２１が近接された場合における印刷処理の例について、図５のフローチャートを参照して説明する。すなわち、図５のフローチャートは、ユーザが、ステップＳ１１の処理で印刷を指定した印刷サーバ１３−１とは異なる印刷サーバ１３−２にＩＣカード２１を近接させた場合の印刷処理の例である。これは、例えばユーザが、印刷サーバ１３−２での印刷を望む場合における処理の例とされる。なお、この処理は、パーソナルコンピュータ１２に、ユーザにより印刷の指令が入力されたとき開始される。
【００７０】
パーソナルコンピュータ１２におけるステップＳ１１１乃至ステップＳ１１４の処理は、上述した図４のステップＳ１１乃至ステップＳ１４の処理と同様であるので、その説明は省略する。また、ＩＣカード２１におけるステップＳ１３１およびステップＳ１３２の処理も、上述した図４のステップＳ３１およびステップＳ３２の処理と同様であるので、その説明は省略する。さらに、印刷サーバ１３−１におけるステップＳ１５１の処理は、上述した図４のステップＳ５１の処理と同様であるので、その説明は省略する。
【００７１】
ユーザは、ステップＳ１３１とステップＳ１３２の処理で、ＩＣカード２１をパーソナルコンピュータ１２にかざして、シグネチャと付属データをＩＣカード２１に書き込まれたのを確認すると、印刷を実行させたいプリンタ１４に対応する印刷サーバ１４にＩＣカード２１を近接させる。図５の例では、ユーザは、ステップＳ１１１（図５）で指定した印刷サーバ１３−１とは異なる印刷サーバ１３−２にＩＣカード２１を近接させている。すなわち、ユーザは、最初にステップＳ１１１で指定した印刷サーバ１４−１とは異なる印刷サーバ１３−２に対応するプリンタ１４−２での印刷を望んでいる。
【００７２】
これに対して、印刷サーバ１３−２のＩＣカードリーダライタ１１０（図３）は、ＩＣカード２１の近接を確認すると、ステップＳ１９１において、近接されたＩＣカード２１に対して、ＩＣカード２１の内蔵する図示せぬメモリに書き込まれているカード情報の読み出しを指示する。このＩＣカード２１には、ステップＳ１３１の処理により、原データに対応するシグネチャと付属データとが書き込まれている。
【００７３】
ＩＣカード２１は、この印刷サーバ１３−２からの要求を、ステップＳ１３３において受け付け、ステップＳ１３４において、図示せぬメモリに書き込まれているカード情報、すなわち、シグネチャと付属データ（印刷指定時刻と印刷サーバＩＤとを含む付属データ）を読み出し、これを印刷サーバ１３−２のＩＣカードリーダライタ１１０（図３）に送信する。
【００７４】
印刷サーバ１３−２のＩＣカードリーダライタ１１０は、ステップＳ１９２において、ステップＳ１９１の処理の要求に対するＩＣカード２１からの応答（カード情報）として、シグネチャと付属データを取得する（受け付ける）。
【００７５】
ステップＳ１９３において、印刷サーバ１３−２のCPU１０１は、ＩＣカード２１から読み出した付属データに含まれる印刷サーバＩＤと、自分自身にあらかじめ設定されている印刷サーバＩＤとが一致するか否かを確認する。すなわち、印刷サーバ１３−２のCPU１０１は、付属データに含まれる印刷サーバＩＤと、あらかじめRAM１０３に記憶されている自分自身に設定されているサーバＩＤとが一致するか否かが判定される。換言すれば、ここでは、原データをスプールしている印刷サーバが、自分自身であるか否かを判定する。図５の例の場合、原データをスプールしている印刷サーバは印刷サーバ１３−１であるので、付属データに含まれる印刷サーバＩＤは印刷サーバ１３−１を特定するＩＤである。すなわち、ここでは、付属データに含まれる印刷サーバＩＤ（印刷サーバ１３−１）と、自分自身の印刷サーバＩＤ（印刷サーバ１３−２）とが一致しない。
【００７６】
そこで、ステップＳ１９４において、印刷サーバ１３−２のCPU１０１は、ＩＣカード２１から読み出した付属データに含まれる印刷サーバＩＤで特定される印刷サーバ１３−１に対して、原データの転送を要求する。具体的には、印刷サーバ１３−２の通信部１０９は、CPU１０１からの制御に基づいて、ネットワーク１１を介して、印刷サーバＩＤで特定される印刷サーバ１３−１に、原データの転送を要求する。このとき、印刷サーバ１３−２の通信部１０９は、要求先の印刷サーバ１３−１が、スプールしている原データの中から所望の原データを特定できるように、付属データに含まれる印刷指定時刻などを送信するようにする。なお、印刷指定時刻に限らず、原データを特定できるようなデータであればどのようなデータであってもよい。
【００７７】
これに対して、印刷サーバ１３−１のCPU１０１（図３）は、ステップＳ１５２において、印刷サーバ１３−２からの原データの要求を、通信部１０９を介して受け付け、ステップＳ１５３において、ステップＳ１５１の処理でスプールしておいた原データを、通信部１０９を制御して、ネットワーク１１を介して印刷サーバ１３−２に送信する。なお、印刷サーバ１３−１に、複数の原データがスプールされている場合には、印刷サーバ１３−１のCPU１０１は、印刷サーバ１３−２から通知された印刷指定時刻が一致する原データを送信する原データとして選択し、通信部１０９を制御し、ネットワーク１１を介して印刷サーバ１３−２に送信する。
【００７８】
そして、印刷サーバ１３−２の通信部１０９は、印刷サーバ１３−１から送信されてきた原データを、ステップＳ１９５において受信し、CPU１０１に供給する。印刷サーバ１３−２のCPU１０１は、これをスプールする。ステップＳ１９６において、印刷サーバ１３−２のCPU１０１は、ステップＳ１９５の処理で取得した原データに基づいて、シグネチャを演算する。この原データに対するシグネチャの演算方法は、上述した演算方法と同一である。すなわち、対象となる原データが一致する場合には、シグネチャも同一の値となる。
【００７９】
ステップＳ１９７において、印刷サーバ１３−２のCPU１０１は、ステップＳ１９２の処理でＩＣカード２１から読み出したシグネチャ（第１のシグネチャ）と、ステップＳ１９６の処理で演算したシグネチャ（印刷サーバ１３−１から送信されてきた原データに基づいて印刷サーバ１３−２が演算したシグネチャ（第２のシグネチャ））とを比較する。ＩＣカード２１から読み出したシグネチャ（第１のシグネチャ）と印刷サーバ１３−２のCPU１０１が原データに基づいて演算したシグネチャ（第２のシグネチャ）が一致する場合、印刷サーバ１３−２のCPU１０１は、正当な印刷の指令であると判断し、ステップＳ１９８において、通信部１０９を制御して、プリンタ１４−２にこの原データ（ステップＳ１９２の処理で受信し、スプールしていた原データ）を送信する。
【００８０】
プリンタ１４−２は、印刷サーバ１３−２から送信されてきた原データをステップＳ２０１において受け付け、ステップＳ２０２において、原データに基づく画像（または文字）を印刷する。その後、処理は終了される。
【００８１】
図５の処理によれば、印刷サーバ１３は、ＩＣカード２１から読み出した印刷サーバＩＤと、自分自身の印刷サーバＩＤが異なる場合に、原データをスプールしている印刷サーバ１３に対して原データから原データを取得し、印刷するようにしたので、最初に指定したプリンタ１４とは異なるプリンタでの印刷を指定することができる。
【００８２】
また、ＩＣカード２１に、印刷サーバＩＤを書き込むようにしたので、原データをスプールしている印刷サーバ１３を容易に特定することができる。
【００８３】
さらに、ユーザが印刷を指令した後に、印刷する場所を変えた場合であっても、印刷サーバ１３が、ネットワーク１１内を検索して目的の原データを取得するようにしたので、ユーザは、印刷させたい場所で印刷させることができる。また、ユーザは、印刷場所を出力時に指定することができる。
【００８４】
次に、図６のフローチャートを参照して、図２のパーソナルコンピュータ１２における処理について説明する。図６は、図４と図５のパーソナルコンピュータ１２の処理の詳細を説明するフローチャートである。
【００８５】
ステップＳ２３１において、入力部５６は、ユーザからの原データの指定と印刷の指令を受け付ける。例えば、パーソナルコンピュータ１２のディスプレイとしての出力部５７に表示されているファイルに対して、ユーザにより印刷の指令が入力されると、入力部５６は、これを受け付ける。なお、このとき、入力部５６は、印刷サーバ１３の指定（プリンタ１４の指定であってもよい）や、印刷指定時刻を受け付ける。ユーザにより印刷サーバ１３の指定や、印刷指定時刻の指定がなされなかった場合には、デフォルトで設定されている印刷サーバ１３が設定される。
【００８６】
ステップＳ２３２において、CPU５１は、ステップＳ２３１の処理で指定された（またはデフォルトに設定されている）印刷サーバ１３に対応する印刷サーバＩＤを取得する。パーソナルコンピュータ１２のRAM５３には、ネットワーク１１を介して接続されている各印刷サーバ１３を識別する（特定する）ために、各印刷サーバ１３と印刷サーバＩＤとを対応付けたテーブルが記憶されているので、CPU５１は、指定された印刷サーバ１３の印刷サーバＩＤを、RAM５３から取得する。
【００８７】
ステップＳ２３３において、CPU５１は、原データのシグネチャ（署名）を演算（生成）する。具体的には、CPU５１は、ユーザにより指定された印刷する対象のデータ（原データ）に対して、所定の関数を適用することで、原データに対するシグネチャを生成（演算）する。シグネチャの演算には、CRCや一方向ハッシュ関数などの、対象となるデータの内容が変更された場合にシグネチャも変更されるような関数が用いられる。
【００８８】
ステップＳ２３４において、CPU５１は、印刷指定時刻と印刷サーバＩＤを、印刷のための付属データとして準備（設定）する。
【００８９】
ステップＳ２３５において、（ディスプレイとしての）出力部５７は、CPU５１からの制御に基づいて、ＩＣカード２１の近接を要求する要求画面を表示する。ユーザは、この出力部５７に表示された、ＩＣカード２１の近接を要求する要求画面を見て、ＩＣカード２１をパーソナルコンピュータ１２のＩＣカードリーダライタ６０にかざす（近接させる）。
【００９０】
ステップＳ２３６において、ＩＣカードリーダライタ６０は、ユーザによりＩＣカード２１が近接されたか否かを判定し、近接されるまで処理を待機する。
【００９１】
ステップＳ２３６において、ＩＣカード２１が近接された場合、ステップＳ２３７において、ＩＣカードリーダライタ６０は、CPU５１からの制御に基づいて、ステップＳ２３３の処理で演算（生成）されたシグネチャと、ステップＳ２３４の処理で準備しておいた付属データ（印刷指定時刻と印刷サーバＩＤを少なくとも含む付属データ）とを、ＩＣカード２１に書き込むよう制御する。
【００９２】
これに対して、ＩＣカード２１は、シグネチャと付属データを内蔵するメモリ（図示せず）に書き込み（記憶させ）、シグネチャと付属データの書き込みが正常に終了したことを示す書き込み完了通知をパーソナルコンピュータ１２のＩＣカードリーダライタ６０に対して送信してくる。
【００９３】
そこで、ＩＣカードリーダライタ６０は、ステップＳ２３８において、ＩＣカード２１から送信されてきた書き込み完了通知を受け取る。
【００９４】
そして、ステップＳ２３９において、通信部５９は、CPU５１からの制御に基づいて、ステップＳ２３１の処理で指定された原データと印刷指定時刻とを、ステップＳ２３１の処理で指定された印刷サーバ１３に（ネットワーク１１を介して）送信する。すなわち、ここで原データが送信される印刷サーバ１３は、ステップＳ２３２の処理で取得された印刷サーバＩＤに対応付けられており、その印刷サーバＩＤの情報は、ＩＣカード２１に記憶されたことになる。その後、処理は終了される。
【００９５】
図６の処理により、ＩＣカード２１に、原データに対応するシグネチャと付属データを記憶させるとともに、対応する印刷サーバ１３に、原データを送ることができる。
【００９６】
次に、図７のフローチャートを参照して、図３の印刷サーバ１３における原データ受信処理について説明する。図７は、図４と図５の印刷サーバ１３−１の処理の詳細を説明するフローチャートである。例えば、図６のステップＳ２３９の処理に対して実行される印刷サーバ１３における処理である。
【００９７】
ステップＳ２５１において、印刷サーバ１３の通信部１０９は、ネットワーク１１を介してパーソナルコンピュータ１２から送信されてきた原データと印刷指定時刻（図６のステップＳ２３９）とを受信する。
【００９８】
ステップＳ２５２において、CPU１０１は、RAM１０３に、受信した原データをスプールさせる（データを直接プリンタ１４−１に送るのではなく、あとでプリンタ１４−１に送信できるように、一時的に印刷サーバ１３−１で貯めておく、いわゆるキュー）。このとき、CPU１０１は、原データとともに受信した印刷指定時刻を、原データに関連付けて保持する。その後、処理は終了される。
【００９９】
図７の処理により、パーソナルコンピュータ１２から送信されてきた原データを、印刷指定時刻に関連付けてスプールすることができる。
【０１００】
次に、図８と図９のフローチャートを参照して、図３の印刷サーバ１３における印刷処理について説明する。図８と図９は、図４と図５の印刷サーバ１３−１と印刷サーバ１３−２の処理を詳細に説明するフローチャートであって、印刷サーバ１３が実行する処理をまとめて説明するものである。
【０１０１】
ステップＳ２８１において、ＩＣカードリーダライタ１１０は、ＩＣカード２１が近接されたか否かを判定し、近接されるまで処理を待機する。すなわち、図８と図９の処理はＩＣカード２１が近接されたときに開始される。
【０１０２】
ステップＳ２８１において、ＩＣカード２１が近接されたと判定された場合、ステップＳ２８２において、ＩＣカードリーダライタ１１０は、CPU１０１からの制御に基づいて、ＩＣカード２１に対して、ＩＣカード２１の内蔵するメモリに書き込まれているシグネチャと付属データ（カード情報）の読み出しを要求する。ＩＣカード２１には、上述した図６のステップＳ２３７の処理により、原データに対応するシグネチャと付属データとが書き込まれている。
【０１０３】
ステップＳ２８２の印刷サーバ１３からの要求に対して、ＩＣカード２１は、図示せぬメモリに書き込まれているシグネチャと付属データを読み出し、印刷サーバ１３のＩＣカードリーダライタ１１０に送信する。
【０１０４】
そこで、ステップＳ２８３において、ＩＣカードリーダライタ１１０は、ＩＣカード２１から送信されてきたシグネチャと付属データ（カード情報）を取得し、CPU１０１に供給する。
【０１０５】
ステップＳ２８４において、CPU１０１は、ＩＣカード２１から取得した付属データに含まれる印刷サーバＩＤと、自分自身に設定されている印刷サーバＩＤとが一致するか否かを判定する。ＩＣカード２１から取得した付属データに含まれる印刷サーバＩＤと自分自身の印刷サーバＩＤが一致する場合には、この印刷サーバ１３が、対応する原データをスプールしていることを示し（すなわち、図４の印刷サーバ１３−１の状態を示し）、ＩＣカード２１から取得した付属データに含まれる印刷サーバＩＤと自分自身の印刷サーバＩＤが一致しない場合には、この印刷サーバ１３が、対応する原データをスプールしていないことを示す（すなわち、図５の印刷サーバ１３−２の状態を示す）。
【０１０６】
ステップＳ２８４において、ＩＣカード２１から取得した付属データに含まれる印刷サーバＩＤと、自分自身に設定されている印刷サーバＩＤとが一致すると判定された場合、処理はステップＳ２８５に進み、CPU１０１は、印刷する原データを特定する。具体的には、この印刷サーバ１３には、近接されたＩＣカード２１によって要求される原データが既にスプールされている（すなわち、図７の処理を実行した後である）ので、CPU１０１は、印刷する原データ（印刷物を印刷するための原データ）を特定する。なお、スプールしている原データが複数あった場合、CPU１０１は、スプールしている原データに関連付けられている印刷指定時刻と、ＩＣカード２１から取得した付属データに含まれる印刷指定時刻と一致するものに対応する原データを、印刷する原データとして特定する。
【０１０７】
一方、ステップＳ２８４において、ＩＣカード２１から取得した付属データに含まれる印刷サーバＩＤと、自分自身に設定されている印刷サーバＩＤとが一致しないと判定された場合、処理はステップＳ２８６に進み、CPU１０１は、ＩＣカード２１から取得した付属データに含まれる印刷サーバＩＤで特定される印刷サーバ１３（図５の例の場合、印刷サーバ１３−１）に対して、原データの転送を要求する。具体的には、通信部１０９は、CPU１０１からの制御に基づいて、ネットワーク１１を介して、印刷サーバＩＤで特定される印刷サーバ１３に、原データの転送を要求する。このとき、CPU１０１は、要求先の印刷サーバ１３が、スプールしている（複数の）原データの中から所望の原データを特定できるように、付属データに含まれる印刷指定時刻などを、通信部１０９に送信させるようにする。
【０１０８】
これに対して、転送が要求された要求された印刷サーバ１３は、通信部１０９を介してこの要求を受け付け、スプールしておいた原データを、通信部１０９を制御し、ネットワーク１１を介して要求元の印刷サーバ１３に応答（送信）する。なお、印刷サーバ１３に、複数の原データがスプールされている場合には、CPU１０１は、転送要求とともに通知された印刷指定時刻が一致する原データを、原データとして選択し、通信部１０９を制御して、ネットワーク１１を介して印刷サーバ１３に応答する（後述する図１０の処理）。
【０１０９】
そこで、通信部１０９は、ステップＳ２８７において原データを取得し、これをCPU１０１に供給する。CPU１０１は、取得した原データをRAM１０３にスプールさせる。
【０１１０】
ここまでのステップＳ２８５、およびステップＳ２８７までの処理により、ＩＣカード２１から読み出し、特定された原データが、印刷サーバ１３にスプールされた状態となる。
【０１１１】
ステップＳ２８５の処理の後、またはステップＳ２８７の処理の後、処理はステップＳ２８８に進む。ステップＳ２８８において、CPU１０１は、ステップＳ２８５の処理で特定した原データ、またはステップＳ２８７の処理で取得した原データに基づいて、シグネチャを演算する。この原データに対するシグネチャの演算方法は、上述した演算方法と同一である。すなわち、対象となる原データが一致する場合には、シグネチャも同一の値となる。
【０１１２】
ステップＳ２８９において、CPU１０１は、ステップＳ２８３の処理でＩＣカード２１から読み出し、取得したシグネチャ（第１のシグネチャ）と、ステップＳ２８８の処理で演算したシグネチャ（他の印刷サーバ１３から送信されてきた原データに基づいて演算した第２のシグネチャ）とが一致するか否かを判定する。すなわち、CPU１０１は、シグネチャを確認することで、正当な印刷の指令であるか否かを確認する。
【０１１３】
ステップＳ２８９において、ＩＣカード２１から読み出したシグネチャ（第１のシグネチャ）とステップＳ２８８の処理で演算したシグネチャ（第２のシグネチャ）とが一致すると判定された場合、CPU１０１は、ステップＳ２９０において、通信部１０９を制御して、プリンタ１４にこの原データ（ステップＳ２８５の処理で特定された原データ、またはステップＳ２８７の処理で取得した原データ）を送信する。すなわち、ステップＳ２８８の処理で演算の対象となった原データが、プリンタ１４に送信される。
【０１１４】
これに対して、プリンタ１４は、印刷サーバ１３から送信されてきた原データを受け付け、原データに基づく画像（または文字）を印刷する。
【０１１５】
ステップＳ２８９において、ＩＣカード２１から読み出したシグネチャと演算したシグネチャが一致しないと判定された場合、またはステップＳ２９０の後、処理は終了される。
【０１１６】
図８と図９の処理により、ＩＣカード２１に書き込まれたシグネチャと、原データに基づいて演算したシグネチャとを比較するようにしたので、より安全に、印刷を行うことができる。
【０１１７】
次に、図１０のフローチャートを参照して、図３の印刷サーバ１３における原データ転送処理について説明する。図１０は、図５の印刷サーバ１３−１の処理を詳細に説明するフローチャートである。また、この処理は、他の印刷サーバ１３が実行する図８のステップＳ２８６の処理に対して実行される処理である。また、この処理は、図７の処理の後に実行される。すなわち、少なくとも１つの原データが印刷サーバ１３にスプールされている状態で開始される。
【０１１８】
ステップＳ３１１において、印刷サーバ１３のCPU１０１は、通信部１０９（およびネットワーク１１）を介して他の印刷サーバ１３から原データの転送が要求されたか否かを判定し、要求されるまで処理を待機する。例えば、他の印刷サーバ１３（例えば、印刷サーバ１３−２）が、図８のステップＳ２８６の処理で印刷サーバ１３（例えば、印刷サーバ１３−１）に対して原データの転送を要求してきたときにYESと判定される。この原データの要求には、印刷指定時刻などの付属データが含まれている。
【０１１９】
ステップＳ３１１において、他の印刷サーバ１３から原データの転送が要求されたと判定された場合、ステップＳ３１２において、CPU１０１は、スプールしている原データが複数あるか否かを判定する。具体的には、原データの転送が他の印刷サーバ１３により要求されたということは、上述した図７の処理を、当該印刷サーバ１３が実行した後であることを示しており、少なくとも１つ以上の原データを印刷サーバ１３がスプールしている。そのため、ここではスプールしている原データが複数個あるか否かが判定される。
【０１２０】
ステップＳ３１２において、スプールしている原データが複数あると判定された場合、処理はステップＳ３１３に進み、CPU１０１は、複数ある原データの中から、他の印刷サーバ１３から供給された印刷指定時刻と、一致する印刷指定時刻の原データを特定する。具体的には、CPU１０１は、他の印刷サーバ１３からの原データの要求とともに送信（供給）されてきた印刷指定時刻と、自分自身がスプールしている原データに関連付けられた付属データに含まれる印刷指定時刻が一致するものに対応する原データが、他の印刷サーバ１３の要求する原データであると特定する。なお、この処理では、印刷指定時刻の一致により原データを特定するようにしたが、原データを特定できるようなデータであれば、これに限定されず、どのようなデータであってもよい。
【０１２１】
ステップＳ３１２において、スプールしている原データが複数ない、すなわちスプールしている原データが１つであると判定された場合、処理はステップＳ３１４に進み、CPU１０１は、スプールしている原データを特定する。すなわち、CPU１０１は、いまスプールしているただ１つの原データが、他の印刷サーバ１３の要求する原データであると特定する。
【０１２２】
ステップＳ３１３までの処理、またはステップＳ３１４までの処理により、他の印刷サーバ１３により要求された原データが特定されたことになる。なお、図１０の処理では、原データが複数スプールされている場合にのみ印刷指定時刻の一致を判定するようにしたが、原データが１つのみしかスプールされていない場合であっても（すなわち、ステップＳ３１２でＮＯと判定された場合であっても）、印刷指定時刻の一致を判定し、一致したときに、原データを特定するようにしてもよい。
【０１２３】
ステップＳ３１３の処理の後、またはステップＳ３１４の処理の後、処理はステップＳ３１５に進み、CPU１０１（例えば、印刷サーバ１３−２のCPU１０１）は、ここまでの処理により特定した原データを、転送を要求してきた他の印刷サーバ１３（例えば、印刷サーバ１３−２）に送信する。その後、処理は終了される。
【０１２４】
図１０の処理により、他の印刷サーバ１３からの要求に基づいて、要求された原データを送信することができる。
【０１２５】
以上によれば、印刷を行う場合に、パーソナルコンピュータ１２がＩＣカード２１に対して、印刷しようとする原データのシグネチャを書き込ませ、同時に、原データ（電子データ）を印刷サーバ１３に送信するようにし、また、印刷サーバ１３は、受信した原データに基づいて演算したシグネチャと、ＩＣカード２１から読み出したシグネチャが一致する場合に、その原データに基づいて印刷を行うようにしたので、原データの漏洩を防ぐとともに、原データの改ざんを防ぐことができる。
【０１２６】
また、ＩＣカード２１に、印刷サーバＩＤを書き込むようにしたので、原データをスプールしている印刷サーバ１３を容易に特定することができる。
【０１２７】
さらに、ユーザが印刷を指令した後に、印刷する場所を変えた場合であっても、印刷サーバ１３が、ネットワーク１１内を検索して目的の原データを取得するようにしたので、ユーザは、印刷させたい場所で印刷させることができる。また、ユーザは、印刷場所を出力時に指定することができる。
【０１２８】
なお、パーソナルコンピュータ１２内で、暗号鍵を用いて原データを暗号化するとともに、暗号に用いた暗号鍵をＩＣカード２１に書き込んでおき、印刷サーバ１３がそのＩＣカード２１に書き込まれた暗号鍵を読み出して原データを復号することで、印刷サーバ１３にスプールされた原データや、ネットワーク１１を介して転送されている間（通信中）の原データの漏洩や改ざんを防ぐことができる。
【０１２９】
具体的な例としては、図４のステップＳ１１のシグネチャの演算の後、パーソナルコンピュータ１２は、原データを暗号鍵Ｋで暗号化する。そして、ステップＳ１２の処理で、パーソナルコンピュータ１２は、シグネチャと印刷サーバＩＤを書き込むときに、暗号鍵ＫをさらにＩＣカード２１に書き込む。また、パーソナルコンピュータ１２は、ステップＳ１４で暗号化した原データを送信する。ネットワーク１１上で授受される原データは暗号化されているので、これにより、安全に原データを守ることができる。そして、印刷サーバ１３は、暗号化されている原データをステップＳ５１で受信し、ステップＳ５３で、ＩＣカード２１からシグネチャ、印刷サーバＩＤ、および暗号鍵Ｋを読み取る。そして、印刷サーバ１３は、原データを暗号鍵Ｋで復号することで原データを得る。このようにすることで、スプールされている原データや通信中の原データの漏洩や改ざんを防ぐことができる。
【０１３０】
また、ユーザは、ＩＣカード２１に書き込まれたシグネチャを単に印刷が完了するまで管理するだけでよく、長期に渡って同じシグネチャを管理するといった必要はないので、簡単に管理することができる。例えば、原データが複数あった場合でも、それぞれ異なるシグネチャとされるので、ＩＣカード２１に書き込まれたシグネチャが万が一盗まれた場合であっても、盗まれたシグネチャ以外の原データの漏洩を防ぐことができる。
【０１３１】
また、例えば、ＩＣカードにあらかじめ認証情報を書き込んでおき、その認証情報を原データとともに印刷サーバに送信し、印刷サーバが、受信した認証情報とＩＣカードから読み出した認証情報とが一致する場合に印刷を行なう場合、認証情報の改ざんを防ぐために鍵が設定されることになり、その鍵を管理する必要が生じたり、ＩＣカードが紛失した場合に再発行が必要となることでその間にシステムが利用できないなどの不便な状態が発生するが、本発明によれば、より、簡単な管理で、安全に印刷を行なうことができる。
【０１３２】
さらに、他の印刷サーバ１３に送信していた原データであっても、ネットワーク１１を介して印刷サーバ１３が取得して印刷することができるので、例えば、会社の外まで印刷範囲を広げることができる。
【０１３３】
また、原データの送信中やスプール中のデータ漏洩や改竄を防ぐために、あらかじめ決められた共通鍵またはSSL(Secure Sockets Layer)などを用いて、通信ラインをセキュアにして安全を確保した場合、これは通信ラインのみの安全を確保しているだけで、印刷サーバにスプールされている状態ではその原データは安全が確保されていなかったが、本発明によれば、原データを、シグネチャが一致した場合にのみ印刷するようにしたので、印刷サーバ１３にスプールされている状態であっても原データを安全に確保することができる。
【０１３４】
なお、以上の例におけるパーソナルコンピュータ１２は、ＩＣカードリーダライタ６０を備え、各種の処理を実行する情報処理装置であれば、他の構成であってもよい。また、印刷サーバ１３は、ＩＣカードリーダライタ１１０を備え、スプール機能を有する情報処理装置であれば、他の構成であってもよい。
【０１３５】
また、以上の例では、シグネチャを用いて認証を行うようにしたが、シグネチャの代わりに乱数などを用いるようにしてもよい。さらに、シグネチャの代わりに、簡単に想定しても一致しないようなデータを用いるようにしてもよい。その場合、パーソナルコンピュータ１２は、乱数、または簡単に想定しても一致しないよう構成したＩＤ発生器による値を、印刷元データ（原データ）と共に印刷サーバ１３とＩＣカード２１に送り、上述したシグネチャ一致と同様に、原データに付属したその値の一致で認証する構成とすることで実現することができる。
【０１３６】
また、付属データに、印刷指定時刻と印刷サーバＩＤとを含めるようにしたが、コンピュータ識別情報、電子データ（原データ）のタイトル、印刷サーバ１３のＩＰアドレス、およびプリンタ識別データを含めるようにしてもよい。
【０１３７】
さらに、印刷サーバＩＤは、印刷サーバ１３を特定できる情報であればＩＤ以外のものでもよく、例えば、印刷サーバ１３のＩＰアドレスなどであってもよい。
【０１３８】
また、印刷を指令したパーソナルコンピュータ１２と印刷サーバ１３との間でパスワードなどにより認証を行う場合と比較して、本発明では、原データの特徴を抽出して一致することを条件とするので、ユーザは、ＩＣカード２１を印刷サーバ１３とパーソナルコンピュータ１２に近接させるだけでよく、さらに、印刷サーバ１３へのアクセス登録なども必要ないので、安全かつ容易に印刷することができる。
【０１３９】
なお、以上の例では、印刷サーバ１３とプリンタ１４を別々の装置として説明したが、一体であってもよい。
【０１４０】
また、ＩＣカード２１に対して、鍵の管理を要求することがないので、ＩＣカード２１は、単なるメモリ（例えば、メモリカード）であってもよい。これにより、印刷処理システム１の運用コストを削減することができる。
【０１４１】
さらに、スプールされている原データに付属した付属データ（例えば、印刷指定時刻）とＩＣカード内情報だけで印刷時に必要な認証を行うことができるので、ＩＣカード２１と印刷サーバ１３への認証情報の登録やＩＣカード２１が紛失された場合に、再発行のための複雑な手続きが必要なく、より、簡単な管理とすることができる。
【０１４２】
また、印刷の指示の後に、印刷する場所を変えた場合であっても、ネットワーク１１内を検索して目的の原データを、印刷させたい場所で印刷することができる。すなわち、印刷場所は出力時に指定することができる。
【０１４３】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した一連の処理は、図２に示されるようなパーソナルコンピュータ１２や図３に示されるような印刷サーバ１３により実行される。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１４４】
この記録媒体は、図２に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア８１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM５２や記憶部５８が含まれるハードディスクなどで構成される。なお、図４の印刷サーバ１３も同様である。
【０１４５】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１４７】
【図１】本発明を適用した印刷処理システムの全体の構成例を示す図である。
【図２】図１のパーソナルコンピュータのハードウェアの構成例を示す図である。
【図３】図１の印刷サーバのハードウェアの構成例を示す図である。
【図４】図１の印刷処理システムにおける印刷処理の概略の一例を説明するフローチャートである。
【図５】図１の印刷処理システムにおける印刷処理の概略の他の一例を説明するフローチャートである。
【図６】図２のパーソナルコンピュータにおける処理を説明するフローチャートである。
【図７】図３の印刷サーバにおいける原データ受信処理を説明するフローチャートである。
【図８】図３の印刷サーバにおける印刷処理を説明するフローチャートである。
【図９】図３の印刷サーバにおける印刷処理を説明するフローチャートである。
【図１０】図３の印刷サーバにおける原データ転送処理を説明するフローチャートである。
【符号の説明】
【０１４８】
１  印刷処理システム，  １２  パーソナルコンピュータ，  １３  印刷サーバ，  １４  プリンタ，  ５１  CPU，  ５２  ROM，  ５８  記憶部，  ５９  通信部，  ６０  ＩＣカードリーダライタ，  １０１  CPU，  １０２  ROM，  １０８  記憶部，  １０９  通信部，  １１０  ＩＣカードリーダライタ
【図１】
2006139490.tif 000003
【図２】
2006139490.tif 000004
【図３】
2006139490.tif 000005
【図４】
2006139490.tif 000006
【図５】
2006139490.tif 000007
【図６】
2006139490.tif 000008
【図７】
2006139490.tif 000009
【図８】
2006139490.tif 000010
【図９】
2006139490.tif 000011
【図１０】
2006139490.tif 000012