(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器において、
ジョブを受信する第１受信手段と、
受信した前記ジョブに含まれるアクセスチケットを解読する第１解読手段と、
前記第１解読手段により解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持手段と、
ジョブ管理コマンドを受信する第２受信手段と、
受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第２解読手段と、
前記第２解読手段により解読された前記アクセスチケットが有効であり、且つ前記第１受信手段が受信した前記ジョブが終了していない場合に、前記第１解読手段の解読結果と、前記第２解読手段の解読結果とを比較する比較手段と、
前記比較手段による比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理手段とを備えたことを特徴とする周辺機器。
【請求項２】
前記第１解読手段および前記第２解読手段は、前記アクセスチケットに含まれるユーザ情報を取得することを特徴とする請求項１に記載の周辺機器。
【請求項３】
前記ジョブ管理コマンドが、前記保持手段により保持されるジョブの一覧を要求するものである場合、
前記比較手段は、前記ジョブ管理コマンドに対応するユーザ情報を、前記保持手段により保持されるジョブの各々に対応するユーザ情報と比較し、
前記管理手段は、前記ジョブ管理コマンドとユーザ情報が合致しないジョブのジョブ名を空白に変換した様態で、前記ジョブの一覧を生成することを特徴とする請求項２に記載の周辺機器。
【請求項４】
前記ジョブ管理コマンドが、前記保持手段により保持されるジョブのキャンセルを要求するものである場合、
前記比較手段は、前記ジョブ管理コマンドに対応するユーザ情報を、前記キャンセルの対象であるジョブに対応するユーザ情報と比較し、
前記管理手段は、前記ジョブ管理コマンドに対応するユーザ情報と前記キャンセルの対象であるジョブに対応するユーザ情報とが合致しない場合に、前記ジョブ管理コマンドを実行しないことを特徴とする請求項２に記載の周辺機器。
【請求項５】
前記ジョブはプリントジョブを含むことを特徴とする請求項１乃至４のいずれか１項に記載の周辺機器。
【請求項６】
ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器の制御方法において、
ジョブを受信する第１受信ステップと、
受信した前記ジョブに含まれるアクセスチケットを解読する第１解読ステップと、
前記第１解読ステップで解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持ステップと、
ジョブ管理コマンドを受信する第２受信ステップと、
受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第２解読ステップと、
前記第２解読ステップで解読された前記アクセスチケットが有効であり、且つ前記第１受信ステップで受信した前記ジョブが終了していない場合に、前記第１解読ステップでの解読結果と、前記第２解読ステップでの解読結果とを比較する比較ステップと、
前記比較ステップでの比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理ステップとを有することを特徴とする周辺機器の制御方法。
【請求項７】
ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器の制御方法をコンピュータに実行させるプログラムであって、
前記制御方法は、
ジョブを受信する第１受信ステップと、
受信した前記ジョブに含まれるアクセスチケットを解読する第１解読ステップと、
前記第１解読ステップで解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持ステップと、
ジョブ管理コマンドを受信する第２受信ステップと、
受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第２解読ステップと、
前記第２解読ステップで解読された前記アクセスチケットが有効であり、且つ前記第１受信ステップで受信した前記ジョブが終了していない場合に、前記第１解読ステップでの解読結果と、前記第２解読ステップでの解読結果とを比較する比較ステップと、
前記比較ステップでの比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理ステップとを有することを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、プリンタ、スキャナ、複写機、ファクシミリなどの周辺機器の制御、対応するサーバの設定、周辺機器のユーザ情報管理、印刷枚数管理などを行う周辺機器、その制御方法、プログラムおよび記憶媒体に関する。
【０００２】
【従来の技術】
従来、プリンタ、複写機、ファクシミリ（ＦＡＸ）などの周辺機器では、周辺機器内で動作または実行が保留されているジョブの管理（ジョブ一覧の表示、指定ジョブのキャンセルなど）を、周辺機器のコンソールあるいはネットワークなどを介して周辺機器に接続されている計算機から行うことが可能であった。
【０００３】
また、従来、ジョブや制御コマンドにディレクトリサーバから発行されたアクセスチケットを含ませることができる周辺機器では、アクセスチケットを秘密暗号キーを使用して解読する必要があるが、解読に使用される暗号化方式やアクセスチケットのフォーマットは対応するディレクトリサーバの種類によって異なるので、予め周辺機器がどのディレクトリサーバに対応するのかを設定しておく必要があった。
【０００４】
さらに、従来、複写機、ファクシミリなどの周辺機器では、ユーザ情報管理を行うために、コンソール上にユーザ認証を行わせるためのダイアログを表示し、これにユーザ情報を入力させることによりユーザの認証を行っていた。ここで得られたユーザ情報は、機器内部で管理されているユーザ情報のデータベースと照合され、合致した場合にユーザの使用許可を出している。また、ユーザ操作の結果、何らかの印刷が行われた場合、ログイン時に得られたユーザ情報と共に印刷枚数をログに記録したり、ユーザ毎のカウンタに累積したりしてユーザ毎の印刷枚数の管理を行っていた。
【０００５】
また、従来、プリンタ、複写機などの周辺機器では、ユーザ毎の累積印刷枚数管理および最大印刷枚数制限などの印刷枚数管理を機器単体で行ってきた。この場合、機器内に累積印刷を表すカウンタを設け、この値が予め設定された値になると、印刷を終了させたり、ジョブの受付を拒否することにより行われてきた。
【０００６】
【発明が解決しようとする課題】
しかしながら、ジョブを発行した機器とジョブを管理している機器とが異なる場合、例えば計算機から印刷ジョブを複写機に対して発行し、このキャンセルを複写機上のコンソールから行おうとすると、計算機にログインするために使用された情報と、複写機にログインするために使用する情報とが異なるので、ジョブ発行者によってジョブが管理されているか否かが分からず、ジョブ管理のアクセス制御の観点から問題であった。また、本発明では、統一したアクセス制御を行うために、ユーザ情報を管理コマンドに含ませる手段を使用するが、一般的にユーザ情報のデータサイズが大きくなってしまい、これを含んだ管理コマンドもデータサイズが大きいために、ネットワークトラフィック上やパフォーマンス上で問題となることがあった。
【０００７】
また、しかしながら、対応ディレクトリサーバの種類を、ネットワークなどを介して接続されている計算機上で動作する周辺機器制御ソフトウェアから設定しようとする場合、予め対象となる周辺機器がどのディレクトリサーバに対応可能であるかの情報を周辺機器制御ソフトウェアに保持しておく必要があるので、どのような周辺機器にも対応可能な汎用的な周辺機器制御ソフトウェアを用意することは困難であった。
【０００８】
さらに、しかしながら、ユーザ情報管理を機器単体で行ってきたので、複数の機器を使用する環境において、各機器が管理するユーザ情報の統一が困難であり、例えば、同じユーザＩＤを使用しても、そのユーザＩＤが必ずしも同じユーザを特定しているとは限らないという問題があった。また、１つの機器にユーザ毎の最大印刷可能枚数を設定しても、別の機器には何ら影響が及ばないので、このような環境で最大印刷枚数を管理することは困難であった。
【０００９】
また、印刷枚数管理を機器単体で行ってきたので、複数の機器を使用する環境において、各機器が管理するユーザ情報の統一が困難であり、例えば、同じユーザＩＤを使用してもそのユーザＩＤが必ずしも同じユーザを指定しているとは限らないという問題があった。また、１つの機器に最大印刷可能枚数を設定しても、別の機器には何ら影響が及ばないので、このような環境で最大印刷枚数を管理することは困難であった。
【００１０】
そこで、本発明は、ネットワーク環境内でのジョブ管理に関し、統一したアクセス制御を可能とする周辺機器、その制御方法、プログラムおよび記憶媒体を提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に記載の周辺機器は、ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器において、ジョブを受信する第１受信手段と、受信した前記ジョブに含まれるアクセスチケットを解読する第１解読手段と、前記第１解読手段により解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持手段と、ジョブ管理コマンドを受信する第２受信手段と、受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第２解読手段と、前記第２解読手段により解読された前記アクセスチケットが有効であり、且つ前記第1受信手段が受信した前記ジョブが終了していない場合に、前記第１解読手段の解読結果と、前記第２解読手段の解読結果とを比較する比較手段と、前記比較手段による比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理手段とを備えたことを特徴とする。
【０１０３】
【発明の実施の形態】
本発明の周辺機器、その制御方法、プログラムおよび記憶媒体の実施の形態を図面を参照しながら説明する。
【０１０４】
［第１の実施形態］
図１は第１の実施形態における周辺機器制御システムの構成を示すブロック図である。図において、１、５はそれぞれ周辺機器ＭＦＰ１、ＭＦＰ２である。また、２、３、４はそれぞれパーソナルコンピュータＰＣ（１）、ＰＣ（２）、ＰＣ（３）である。ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４は、ネットワーク１０、もしくはローカルインターフェース経由でＭＦＰ１（１）およびＭＦＰ２（５）に接続されている。ＰＣ（１）、ＰＣ（２）またはＰＣ（３）上では、本発明に関係する周辺機器制御ソフトウェアが動作し、ネットワーク１０経由でＭＦＰ１に対し、プリント、スキャン、コピーあるいはＦＡＸ送受信といったジョブ処理を依頼したり、ＭＦＰ１（１）およびＭＦＰ２（５）の属性情報の問い合わせを行う。
【０１０５】
また、６はユーザ情報および機器情報の一元管理機能を有するディレクトリサーザであり、パーソナルコンピュータなどで構成される。このディレクトリサーバ６は、Ｋｅｒｂｅｒｏｓプロトコル（ＲＦＣ１５１０）におけるＫＤＣ（Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｒｖｅｒ）の機能も有しており、Ｋｅｒｂｅｒｏｓプロトコルの規定にしたがって、ＴＧＴ（チケット生成チケット）の発行および指定された資源に対するアクセスを行うために必要なアクセスチケットの発行を行う。
【０１０６】
さらに、このディレクトリサーバ６には、ＭＦＰ１（１）およびＭＦＰ２（５）が既に登録されているものとする。このデータの参照および更新は、ＬＤＡＰプロトコル（ＲＦＣ１７７７）を使用することにより、ＰＣ（１）２、ＰＣ（２）３から行うことが可能である。ディレクトリサーバ６で管理されている各ユーザ情報には、ユーザ名、パスワード、ユーザの印刷可能枚数、ユーザの累積印刷枚数が含まれる。また、ディレクトリサーバ６で管理されている各機器情報には、機器名、機器の秘密暗号キーが含まれる。
【０１０７】
図２は周辺機器（ＭＦＰ１、ＭＦＰ２）の構成を示すブロック図である。図において、１１は周辺機器を制御するためのコントローラである。１２はコントローラ１１が周辺機器の外部と通信するための通信インターフェースであり、例えば、イーサネット（登録商標）インターフェース、ＩＥＥＥ１２８４インターフェースあるいはその他の通信インターフェースである。
【０１０８】
１３はスキャナエンジンであり、コントローラ１１によって制御されている。１４はプリンタエンジンであり、コントローラ１１によって制御されており、例えば、レーザビームプリンタ、インクジェットプリンタあるいはその他のプリンタである。
【０１０９】
１５は画像の送受信などの通信制御を行うＦＡＸ機能を実現するＦＡＸボードであり、コントローラ１１によって制御されている。１６はユーザインターフェースであり、ＬＣＤディスプレイおよびキーボードから構成されており、コントローラ１１からの情報表示を行うとともに、ユーザからの指示をコントローラ１１に伝える。
【０１１０】
このような構成を有する周辺機器は、プリンタエンジン１４を選択し、プリントジョブの発行を可能にする。また、プリンタエンジン１４およびスキャナエンジン１３を選択し、コピージョブの発行を可能にする。また、プリンタエンジン１４、スキャナエンジン１３、ＦＡＸボード１５を選択し、ＦＡＸ受信ジョブおよびＦＡＸ送信ジョブの発行を可能にする。
【０１１１】
図３はコントローラ１１のハードウェア構成を示すブロック図である。コントローラ１１では、ＣＰＵ２１、ＲＡＭ２２、ＬＣＤ２３、キーボード２４、ＲＯＭ２５、通信インターフェース２６、スキャナエンジン２７、プリンタエンジン２８、ＦＡＸボード２９およびＤＩＳＫ３０がシステムバス２０を介して相互に接続されている。
【０１１２】
コントローラ１１を制御するプログラムは、ＲＯＭ２５あるいはＤＩＳＫ３０に記憶されており、必要に応じてＲＡＭ２２に読み出され、ＣＰＵ２１によって実行される。また、ＲＯＭ２５あるいはＤＩＳＫ３０には、制御プログラム以外に周辺機器やこの周辺機器で処理されるジョブの機能および状態を示す属性情報、出力の対象となるジョブデータなどが記憶されている。さらに、ＣＰＵ２１はＬＣＤ２３で表示を行い、キーボード２４からユーザの指示を受ける。また、ＣＰＵ２１が通信インターフェース２６を通じて外部と通信を行う。
【０１１３】
本実施形態では、特に断らない限り、周辺機器（図２）では、ＣＰＵ２１は、システムバス２０を介してキーボード２４からユーザの入力を受け取り、かつＲＡＭ２２、ＬＣＤ２３、ＲＯＭ２５、通信インターフェース２６、スキャナエンジン２７、プリンタエンジン２８、ＦＡＸボード２９およびＤＩＳＫ３０を制御する。
【０１１４】
図４はネットワークシステムを構成するＰＣのハードウェア構成を示すブロック図である。ＰＣでは、ＣＰＵ３１、ＲＡＭ３２、ＣＲＴ３３、キーボード３４、ポインティングデバイス３５、ＲＯＭ３６、ＤＩＳＫ３７および通信インターフェース３８はシステムバス４０を介して相互に接続されている。ＰＣを制御するプログラムは、ＲＯＭ３６もしくはＤＩＳＫ３７に記憶されており、必要に応じてＲＡＭ３２に読み出され、ＣＰＵ３１によって実行される。また、ＣＰＵ３１はＣＲＴ３３を通して表示を行い、キーボード３４およびポインティングデバイス３５からユーザの指示を受ける。また、ＣＰＵ３１は通信インターフェース３８を通じて外部と通信を行う。
【０１１５】
本実施形態では、特に断らない限り、ＰＣでは、ＣＰＵ３１がシステムバス４０を介してキーボード３４やポインティングデバイス３５からユーザの入力を受け取り、かつＲＡＭ３２、ＣＲＴ３３、ＲＯＭ３６、ＤＩＳＫ３７、通信インターフェース３８を制御する。また、周辺機器に対するユーザの指示およびユーザへの情報表示は、ローカルなユーザインターフェース１６を通して行ってもよいし、ＰＣ（１）、ＰＣ（２）あるいはＰＣ（３）のようなネットワーク１０に接続されたクライアントとなる機器を通して行ってもよい。
【０１１６】
図５は周辺機器１で保持されている属性情報を示す図である。周辺機器２（５）は周辺機器１と同じデータ構造を有するが、保持されている値は異なっている。これらの情報は、ＲＯＭ２５、ＲＡＭ２２あるいはＤＩＳＫ３０に保持されており、後述する処理によりＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から個々の属性情報を取得あるいは設定することができる。
【０１１７】
図において、３０１は、「サポートしているユーザ管理モードのリスト」属性であり、「"ユーザ管理なし"，"パスワード"，"ユーザＩＤ"，"ユーザＩＤとパスワード"，"セキュリティドメインに参加"」の複数の値をリストとして保持している。
【０１１８】
３０２は、「現在のユーザ管理モード」属性であり、「セキュリティドメインに参加」を値として保持している。３０３は、「対応可能なディレクトリサーバの種類のリスト」属性であり、値として「"標準ＬＤＡＰサーバ"，"Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（ＭＳ）"，"ＮＤＳ（Ｎｏｖｅｌｌ）"，"Ｏｐｅｎ  ＬＤＡＰ"」の複数の値をリストとして保持している。
【０１１９】
３０４は、「現在対応しているディレクトリサーバの種類」属性であり、「"Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（ＭＳ）"」を値として保持している。３０５は、「現在対応しているディレクトリサーバのＩＰアドレス」属性であり、「１２３．５６．５４．２１」を値として保持している。３０６は、「機器の秘密暗号キー」属性であり、「０ｘ３４ｑ４ｂｆｆｃｄｃａ００１」を値として保持している。この値は、「現在のユーザ管理モード」属性が「セキュリティドメインに参加」の場合に有効となるものであり、ディレクトリサーバ６から発行されたアクセスチケットを解釈するために使用される。
【０１２０】
３０７は、「ディレクトリサーバ接続不可時に使用許可するかどうか」属性であり、「ＴＲＵＥ」を値として保持している。３０８は、「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性であり、「"無制限"、"時間制限"、"時間制限＆固定最大枚数で制限"、"時間制限＆最大枚数で制限"、"固定最大枚数で制限"、"最大枚数で制限"、"ログイン毎に制限"」の複数の値をリストとして保持している。
【０１２１】
３０９は、「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性であり、「時間制限」を値として保持している。３１０は、「時間制限の長さ」属性であり、「４８時間」を値として保持している。３１１は、「最大枚数の日毎の削減割合」属性であり、「３０」を値として保持している。３１２は、「最大枚数」属性であり、「１００」を値として保持している。３１３は、「ログイン毎の最大枚数」属性であり、「２０」を値として保持している。
【０１２２】
図６は周辺機器１のユーザ管理モードをＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から表示・変更する場合の処理手順を示すフローチャートである。この処理プログラムはＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４上で動作する。まず、周辺機器１の属性情報３０１を取得する（ステップＳ１７０１）。この属性情報の取得は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から属性取得用コマンドを周辺機器１に対して送信し、周辺機器１において、このコマンドを処理することにより行われる。そして、得られた属性情報をＣＲＴ３３に表示する（ステップＳ１７０２）。さらに、属性情報である「現在のユーザ管理モード」属性３０２を取得し（ステップＳ１７０３）、ＣＲＴ３３に表示する（ステップＳ１７０４）。
【０１２３】
ユーザの入力を待ち（ステップＳ１７０５）、ユーザからの入力にしたがって、属性情報である「現在のユーザ管理モード」属性３０２を設定し（ステップＳ１７０６）、処理を終了する。この属性情報の設定は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から属性設定用コマンドを周辺機器１に対して送信し、周辺機器１において、このコマンドを処理することにより行われる。
【０１２４】
図７はステップＳ１７０５におけるユーザ入力待ちの状態でＣＲＴ３３に表示されたユーザインターフェース画面を示す図である。図中、１０１はユーザが選択可能なユーザ管理モードの一覧（属性３０１）を表示している。現在設定されているユーザ管理モードの属性３０２は図中、１０２で反転表示されている。ユーザは、所望のユーザ管理モードを選択して反転表示させた上で、ＯＫボタン１０３を押すことにより、ステップＳ１７０６の処理を実行してユーザ管理モードの設定を行う。
【０１２５】
尚、図６の処理手順の実行は、ＰＣの代わりに、ユーザ管理モードを変更する対象である周辺機器１自身のコントローラ１１で行われ、図７の表示も周辺機器に装備されているユーザインターフェース１６上で行われるようにしてもよい。また、他の周辺機器２（５）上で実行・表示されるようにしてもよい。
【０１２６】
図８は周辺機器１に対応するディレクトリサーバをＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から表示・変更する場合の動作処理手順を示すフローチャートである。この処理手順は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４上で行われる。
【０１２７】
まず、属性情報３０３を取得する（ステップＳ１８０１）。この属性情報の取得は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から属性取得用コマンドを周辺機器１に対して送信し、周辺機器１において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をＣＲＴ３３に表示する（ステップＳ１８０２）。
【０１２８】
さらに、属性情報３０４を取得し（ステップＳ１８０３）、得られた属性情報３０４をＣＲＴ３３に表示する（ステップＳ１８０４）。属性情報３０５を取得し（ステップＳ１８０５）、得られた属性情報３０５をＣＲＴ３３に表示する（ステップＳ１８０６）。
【０１２９】
ユーザの入力を待ち（ステップＳ１８０７）、ユーザからの入力にしたがって、属性情報３０４、３０５を設定する（ステップＳ１８０８）。この属性情報の設定は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から属性設定用コマンドを周辺機器１に対して送信し、周辺機器１において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【０１３０】
図９はステップＳ１８０７におけるユーザ入力待ちの状態でＣＲＴ３３に表示されたユーザインターフェース画面を示す図である。図中、２０１は、ユーザが選択可能なディレクトリサーバの種類の一覧（属性３０３）を表示している。現在設定されているディレクトリサーバの種類（属性３０４）は、図中、２０２で反転表示されている。さらに、アドレス部２０３には、現在設定されているディレクトリサーバのＩＰアドレス３０５が表示されている。ユーザは、所望のディレクトリサーバの種類を選択して反転表示させ、所望のＩＰアドレスをアドレス部２０３に入力した上で、ＯＫボタン２０４を押すことにより、ステップＳ１８０８の処理を実行し、対応するディレクトリサーバの設定を行う。
【０１３１】
尚、図８に示す処理は、ＰＣの代わりに、対応するディレクトリサーバを変更する対象である周辺機器１自身のコントローラ１１で行われ、図９に示す表示も周辺機器に装備されているユーザインターフェース１６で行われるようにしてもよい。また、他の周辺機器２（５）上で実行・表示されるようにしてもよい。
【０１３２】
図１０は周辺機器１がディレクトリサーバ６に接続できない場合にログインをどの様に許可するかを、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から表示・変更する場合の処理手順を示すフローチャートである。この処理手順はＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４上で行われる。
【０１３３】
まず、属性情報である「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性３０８を取得する（ステップＳ２２０１）。属性情報の取得は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から属性取得用コマンドを周辺機器１に対して送信し、周辺機器１において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をＣＲＴ３３に表示する（ステップＳ２２０２）。
【０１３４】
属性情報である「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性３０９を取得し（ステップＳ２２０３）、得られた属性情報をＣＲＴ３３に表示する（ステップＳ２２０４）。さらに、属性情報である「ディレクトリサーバ接続不可時に使用許可するかどうか」属性３０７を取得する（ステップＳ２２０５）。得られた属性情報をＣＲＴ３３に表示する（ステップＳ２２０６）。
【０１３５】
そして、ユーザの入力を待ち（ステップＳ２２０７）、ユーザからの入力にしたがって属性情報３０９、３０７を設定し（ステップＳ２２０８）、処理を終了する。属性情報の設定は、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から属性設定用コマンドを周辺機器１に対して送信し、周辺機器１において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【０１３６】
図１１はステップＳ２２０７のユーザ入力待ちの状態でＣＲＴ３３に表示されたユーザインターフェース画面を示す図である。図中、２１０２は、「Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ接続不可時に使用する場合の制限の種類のリスト」属性３０８の内容を表示しており、「現在のＤｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ接続不可時に使用する場合の制限の種類」属性３０９の値は、図中、２１０３で反転表示されている。さらに、「Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ接続不可時に使用許可するかどうか」属性３０７の値がチェックボックス２１０１に表示されている。ユーザは、所望の設定を行った上で、ＯＫボタン２１０４を押すことにより、ステップＳ２２０８の処理を実行して属性情報の設定を行う。
【０１３７】
尚、図１０に示す処理は、ＰＣの代わりに、設定を変更する対象である周辺機器１自身のコントローラ１１で行われ、図１１に示す表示も周辺機器に装備されているユーザインターフェース１６で行われるようにしてもよい。さらに、他の周辺機器２（５）上で実行・表示されるようにしてもよい。
【０１３８】
図１２および図１３は周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。この処理はＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４上で行われる。
【０１３９】
まず、周辺機器１が保持する属性情報である「現在のユーザ管理モード」属性３０２を取得する（ステップＳ４０１）。属性情報３０２の値が「ユーザ管理なし」であるか否かを判別する（ステップＳ４０２）。判別の結果、「ユーザ管理なし」である場合、ジョブに必要な他の情報をジョブに設定した上で周辺機器１に対してジョブを発行する（ステップＳ４０３）。この後、処理を終了する。
【０１４０】
一方、ステップＳ４０２で、「ユーザ管理あり」である場合、属性情報３０２の値が「パスワード」であるか否かを判別する（ステップＳ４０４）。判別の結果、パスワードである場合、ＣＲＴ３３上にパスワード入力を促すユーザインターフェース画面を表示する（ステップＳ４０５）。そして、ステップＳ４０３において、入力されたパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器１に対してジョブを発行する。
【０１４１】
一方、ステップＳ４０４で判別の結果、パスワードでない場合、属性情報３０２の値が「ユーザＩＤ」であるか否かを判別する（ステップＳ４０６）。判別の結果、ユーザＩＤである場合、ＣＲＴ３３にユーザＩＤの入力を促すユーザインターフェース画面を表示する（ステップＳ４０７）。そして、ステップＳ４０３において、入力されたユーザＩＤおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器１に対してジョブを発行する。
【０１４２】
一方、ステップＳ４０６で判別の結果、ユーザＩＤでない場合、属性情報３０２の値が「ユーザＩＤとパスワード」であるか否かを判別する（ステップＳ４０８）。判別の結果、ユーザＩＤとパスワードである場合、ＣＲＴ３３にユーザＩＤとパスワード入力を促すユーザインターフェース画面を表示する（ステップＳ４０９）。そして、ステップＳ４０３において、入力されたユーザＩＤとパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器１に対してジョブを発行する。
【０１４３】
一方、ステップＳ４０８で判別の結果、ユーザＩＤとパスワードでない場合、使用しているＰＣにおいて、ユーザはディレクトリサーバ６が管理するセキュリティドメインに既にログインしているか否かを判別する（ステップＳ４１０）。この判別は、使用しているＰＣのオペレーティングシステムに対して問い合わせることによって行われる。判別の結果、ログイン済みでない場合、ＣＲＴ３３にユーザＩＤとパスワードの入力を促すユーザインターフェース画面を表示し（ステップＳ４１１）、これらの情報をディレクトリサーバ６にＫｅｒｂｅｒｏｓプロトコルを使用して送ることにより、ＴＧＴ（チケット生成チケット）情報を取得する（ステップＳ４１３）。
【０１４４】
一方、ステップＳ４１０の判別結果、ログイン済みである場合、既にログインしているので、オペレーティングシステムに対し、現在のセッションで使用しているＴＧＴを要求して取得する（ステップＳ４１２）。
【０１４５】
ステップＳ４１２あるいはＳ４１３において取得したＴＧＴを使用し、オペレーティングシステムによって保持されているユーザ名、あるいはステップＳ４１１で入力されたユーザ名に該当するユーザの印刷可能枚数情報をＫｅｒｂｅｒｏｓプロトコルおよびＬＤＡＰプロトコルによりディレクトリサーバ６から取得する（ステップＳ４１４）。
【０１４６】
このあと、印刷可能枚数が１枚以上であるか否かを判別し（ステップＳ４１５）、判別の結果、１枚以上なく印刷できない場合、ジョブ発行ができない旨を表すユーザインターフェース画面をＣＲＴ３３に表示し（ステップＳ４１６）、処理を終了する。
【０１４７】
一方、ステップＳ４１５の判別結果、印刷可能枚数が１枚以上で印刷可能である場合、ステップＳ４１２あるいはＳ４１３において取得したＴＧＴおよびジョブ発行先の周辺機器１を特定する識別子のパラメータをディレクトリサーバ６に対してＫｅｂｅｒｏｓプロトコルによって送信し、周辺機器１に対するアクセスチケットを取得する（ステップＳ４１７）。ここで取得したアクセスチケットは、ユーザ名、ユーザＩＤ、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器１の秘密暗号キーの属性情報３０６によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式（アルゴリズム）は、現在対応しているディレクトリサーバの種類（属性情報３０４）によって一意に予め決められている。
【０１４８】
そして、ステップＳ４１７で取得したアクセスチケットおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器１に対してジョブを発行し（ステップＳ４１８）、処理を終了する。
【０１４９】
図１４はステップＳ４０３におけるジョブ発行処理手順を示すフローチャートである。まず、ジョブに必要な属性について属性設定コマンドのパラメータを設定する（ステップＳ５０２）。このパラメータは設定対象の属性名とそれに対する値とから構成されている。ステップＳ５０２で作成された属性設定コマンドを周辺機器１に対して送信する（ステップＳ５０３）。必要なジョブ属性の設定が完了したか否かを判別し（ステップＳ５０４）、完了していない場合、ステップＳ５０２の処理を繰り返す。
【０１５０】
一方、ステップＳ５０４で必要なジョブ属性の設定が完了した場合、ジョブデータ送信コマンドによりアプリケーションなどで作成された画像データなど、ジョブ処理の対象となるデータをこの周辺機器に送信する（ステップＳ５０５）。ジョブ投入コマンドの送信完了を示すジョブ投入完了通知コマンドを送信し（ステップ５０６）、処理を終了する。
【０１５１】
図１５および図１６は周辺機器１が図１４の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。この処理はジョブを構成するコマンドを受信する度に周辺機器１によって実行される。
【０１５２】
受信したコマンドおよびそのパラメータを解析する（ステップ６０１）。この解析の結果、受信したコマンドが属性設定コマンドであるか否かを判別する（ステップ６０２）。受信したコマンドが属性設定コマンドである場合、属性が周辺機器１に解釈可能であるか否かを判別する（ステップＳ６０３）。
【０１５３】
解釈可能である場合、ステップＳ６０１で得られた解析結果にしたがって、指定された属性名と属性値の対を、ＲＡＭ２２またはＤＩＳＫ３０にジョブデータとして保存し（ステップＳ６０４）、処理を終了する。一方、ステップＳ６０３で解釈不可能である場合、受信した属性設定コマンドで指定された属性は設定不可能であり、属性が設定できなかったことを返信し（ステップＳ６１６）、処理を終了する。
【０１５４】
一方、ステップＳ６０２で、受信したコマンドが属性設定コマンドでない場合、ステップＳ６０１で得られた解析結果から受信コマンドがジョブデータ送信コマンドであるか否かを判別する（ステップＳ６１１）。ジョブデータ送信コマンドである場合、コマンドに続いて受信するジョブデータをＲＡＭ２２あるいはＤＩＳＫ３０に保存し（ステップ６１２）、処理を終了する。
【０１５５】
一方、ステップＳ６１１で、ジョブデータ送信コマンドでない場合、ステップＳ６０１で得られた解析結果から受信コマンドがジョブ投入終了通知コマンドであるか否かを判別する（ステップＳ６１３）。ジョブ投入終了通知コマンドである場合、ＲＡＭ２２あるいはＤＩＳＫ３０に保持されたジョブデータの処理を開始する（ステップＳ６１４）。一方、ジョブ投入終了通知コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い（ステップ６１５）、処理を終了する。
【０１５６】
図１７は図１５および図１６の処理により周辺機器１内で保持されたジョブのデータ構造を示す図である。このジョブは、ジョブの機能・属性を表す属性のリスト７０１とジョブの処理対象となるデータを表すジョブデータ７０２とから構成される。ジョブデータ７０２は、ジョブの種別によってはなくてもよい。属性のリスト７０１は、属性名７１１とこれに対応する属性値７１２との対のリストとなっている。
【０１５７】
図において、７２１はジョブが印刷ジョブであることを表す。７２２はジョブの開始モードが保留であることを表す。７２３はユーザ管理モードが「セキュリティドメインに参加」であることを表しており、ジョブのユーザ情報としてアクセスチケット７２６を使用することを示している。７２４はユーザ管理モードが「ユーザＩＤ」または「ユーザＩＤとパスワード」である場合、ユーザＩＤが設定される属性である。７２５はユーザ管理モードが「パスワード」または「ユーザＩＤとパスワード」である場合、パスワードが設定される属性である。７２６はユーザ管理モードが「セキュリティドメインに参加」である場合、アクセスチケットが設定される属性である。尚、属性７２４、７２５、７２６としては、属性７２３の内容にしたがって必要なものだけをジョブデータに設定してもよい。
【０１５８】
図１８および図１９は図１７で示された周辺機器１に保持されたジョブデータの処理手順を示すフローチャートである。この処理は周辺機器１上で行われる。まず、属性情報（現在のユーザ管理モード）３０２を取得する（ステップＳ８０１）。属性情報３０２の値が「ユーザ管理なし」であるか否かを判別する（ステップＳ８０２）。
【０１５９】
判別の結果、「ユーザ管理なし」の場合、属性７２３、７２４、７２５、７２６を除く属性の処理を行い（ステップＳ８０３）、これらの属性に基づき、ジョブデータ処理を行う（ステップＳ８１０）。ジョブの処理結果をログに記録し（ステップＳ８１１）、処理を終了する。このログはＲＡＭ２２あるいはＤＩＳＫ３０に保存される。
【０１６０】
一方、ステップＳ８０２の判別の結果、ユーザ管理ありの場合、属性情報３０２の値が「パスワード」であるか否かを判別する（ステップＳ８０４）。判別の結果、パスワードである場合、予めＲＡＭ２２あるいはＤＩＳＫ３０に保持されているパスワード値と属性情報７２５との比較を行い（ステップＳ８０５）、合致していた場合、ステップＳ８０３でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【０１６１】
一方、ステップＳ８０４の判別結果、パスワードでない場合、属性情報３０２の値が「ユーザＩＤ」であるか否かを判別する（ステップＳ８０６）。判別の結果、ユーザＩＤである場合、予めＲＡＭ２２あるいはＤＩＳＫ３０に保持されているユーザＩＤ値と属性情報７２４との比較を行い（ステップＳ８０７）、合致していた場合、ステップＳ８０３でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【０１６２】
ステップＳ８０６の判別結果、ユーザＩＤでない場合、属性情報３０２の値が「ユーザＩＤとパスワード」であるか否かを判別する（ステップＳ８０８）。判別の結果、「ユーザＩＤとパスワード」である場合、予めＲＡＭ２２またはＤＩＳＫ３０に保持されているユーザＩＤ値およびパスワード値と、属性情報７２４、７２５とそれぞれの比較を行い（ステップＳ８０９）、両者が合致していた場合、ステップＳ８０３でジョブの処理を継続する。合致しなかった場合、ジョブの処理を中止する。
【０１６３】
一方、ステップＳ８０８の判別結果、「ユーザＩＤとパスワード」でない場合、アクセスチケットの値７２６を、属性情報３０６である秘密暗号キーを使用して解読する（ステップＳ８１２）。そして、アクセスチケットが有効であるか否かを判別する（ステップＳ８１３）。アクセスチケットの値を解読できなかった場合、あるいはアクセスチケット内で保持される印刷可能枚数が値０である場合、ステップＳ８１３でアクセスチケットは無効であると判別し、ジョブデータを破棄し（ステップＳ８１４）、処理を終了する。
【０１６４】
一方、ステップＳ８１３において、アクセスチケットが有効であると判別された場合、アクセスチケット内のユーザＩＤに該当するユーザの印刷可能枚数情報をＫｅｒｂｅｒｏｓプロトコルおよびＬＤＡＰプロトコルによりディレクトリサーバ６から取得する（ステップＳ８１５）。
【０１６５】
印刷可能枚数が１枚以上で印刷可能であるか否かを判別し（ステップＳ８１６）、印刷不可能である場合、ジョブデータを破棄し（ステップＳ８１７）、処理を終了する。一方、ステップＳ８１６の判別結果、印刷可能である場合、属性値７２３、７２４、７２５、７２６を除く属性の処理を行い（ステップＳ８１８）、これらの属性に基づき、ジョブデータの処理を行う（ステップＳ８１９）。尚、この処理において、ステップＳ８１５の処理から得られる印刷可能枚数を越えないように監視し、最大印刷可能枚数を越えた場合、ジョブデータの処理を異常終了させる。ジョブが正常終了した場合および異常終了した場合のいずれの場合も、ジョブの処理結果をログに記録し（ステップＳ８２０）、処理を終了する。ログには、ユーザＩＤおよびジョブで印刷した枚数が記録され、ＲＡＭ２２またはＤＩＳＫ３０に保存される。
【０１６６】
尚、本実施形態では、図１５および図１６の処理において、一旦、ジョブデータを周辺機器１の中に構築した後、改めて図１８および図１９の処理において、ジョブデータの処理を行っているが、他の実施形態として、図１５および図１６と図１８および図１９の処理を合体させ、ジョブの解析と同時にジョブの処理を行うようにしてもよい。
【０１６７】
また、本実施形態では、ステップＳ８１３でアクセスチケット内の印刷可能枚数を判別し、さらに、ステップＳ８１５、Ｓ８１６においてディレクトリサーバ６に保持されているユーザの印刷可能枚数を判別しているが、他の実施形態として、ステップＳ８１３におけるアクセスチケット内の印刷可能枚数の判別、あるいはステップＳ８１５、Ｓ８１６におけるディレクトリサーバ６に保持されているユーザの印刷可能枚数の判別のどちらか一方を省略してもよい。
【０１６８】
また、本実施形態では、ジョブの結果の記録をログとして、ステップＳ８２０において周辺機器１内に保持しているが、ディレクトリサーバ６に保持されている、このユーザの印刷可能枚数および累積印刷枚数をジョブで印刷した枚数によって更新してもよい。印刷可能枚数の更新は、ディレクトリサーバ６に保持されているユーザＩＤによって示されるユーザの印刷可能枚数および累積印刷枚数をＬＤＡＰプロトコルにより取得し、この印刷可能枚数からジョブで印刷した枚数を減じ、更に累積印刷枚数にジョブで印刷した枚数を加え、得られたこれらの値をＬＤＡＰプロトコルによりディレクトリサーバ６に設定することにより、行われる。
【０１６９】
図２０および図２１は周辺機器１のＬＣＤ２３に表示されるログイン画面の処理手順を示すフローチャートである。この処理は周辺機器１上で行われる。まず、属性情報（現在のユーザ管理モード）３０２を取得する（ステップＳ９０１）。属性情報３０２の値が「ユーザ管理なし」であるか否かを判別する（ステップＳ９０２）。
【０１７０】
判別の結果、ユーザ管理なしである場合、ログイン情報をＲＡＭ２２に保存する（ステップＳ９０３）。ログイン情報には、ログインした時点でのユーザ管理モード、ユーザＩＤ、印刷可能枚数が保持されている。印刷可能枚数はログイン期間内でコンソールから発行されたプリントジョブ、コピージョブなどの印刷を伴うジョブで使用した印刷枚数により順次更新され、印刷可能枚数が値０になった時点でジョブは終了する。ステップＳ９０３において、印刷可能枚数は無限大に設定される。ログイン情報内のユーザＩＤはジョブで使用した印刷枚数と共にログに記録される。ステップＳ９０３の処理後、印刷保留ジョブの処理を行い（ステップＳ９２４）、処理を終了する。
【０１７１】
一方、ステップＳ９０２の判別結果、ユーザ管理ありの場合、属性情報３０２の値が「パスワード」であるか否かを判別する（ステップＳ９０４）。判別の結果、パスワードありの場合、ＬＣＤ２３にパスワード入力を促すユーザインターフェース画面を表示し、入力されたパスワードと予めＲＡＭ２２またはＤＩＳＫ３０に保持されているパスワード値との比較を行い（ステップＳ９０５）、合致していた場合、ステップＳ９０３でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【０１７２】
一方、ステップＳ９０４の判別結果、パスワードなしの場合、属性情報３０２の値が「ユーザＩＤ」であるか否かを判別する（ステップＳ９０６）。ユーザＩＤである場合、ＬＣＤ２３にユーザＩＤ入力を促すユーザインターフェース画面を表示し、入力されたユーザＩＤを予めＲＡＭ２２またはＤＩＳＫ３０に保持されているユーザＩＤ値との比較を行い（ステップＳ９０７）、合致していた場合、ステップＳ９０３でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【０１７３】
一方、ステップＳ９０６の判別結果、ユーザＩＤでない場合、属性情報３０２の値が「ユーザＩＤとパスワード」であるか否かを判別する（ステップＳ９０８）。判別の結果、ユーザＩＤとパスワードである場合、ＬＣＤ２３にユーザＩＤとパスワード入力を促すユーザインターフェース画面を表示し、入力されたユーザＩＤとパスワードを予めＲＡＭ２２またはＤＩＳＫ３０に保持されているユーザＩＤ値とパスワード値との比較を行い（ステップＳ９０９）、合致していた場合、ステップＳ９０３でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【０１７４】
ステップＳ９０８の判別結果、ユーザＩＤとパスワードでない場合、属性情報３０５で示されるディレクトリサーバへのアクセスを試み、接続可能であるか否かを判別する（ステップＳ９１０）。
【０１７５】
アクセス可能である場合、ＬＣＤ２３にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し（ステップＳ９１２）、入力されたユーザ名とパスワードを使用してＫｅｒｂｅｒｏｓプロトコルによりディレクトリサーバ６からアクセスチケットを取得する（ステップＳ９１４）。
【０１７６】
一方、ユーザ名とパスワードが誤っていた場合など、ディレクトリサーバ６からユーザ名またはパスワードが不正であるとのエラーが返信された場合、ステップＳ９１２において、再度、ユーザ名とパスワードの入力を促すユーザインターフェース画面を表示する。
【０１７７】
そして、ディレクトリサーバから取得したアクセスチケットを秘密暗号キー３０６を使用して解読する（ステップＳ９１５）。アクセスチケットの有効性を判別する（ステップＳ９１６）。この判別は、チケットが有効期限以内であるか否か、および印刷可能枚数が１枚以上であるか否かを調べることにより行われる。ステップＳ９１６の判別結果、アクセスチケットが有効でない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をＬＣＤ２３に表示し（ステップＳ９１７）、処理を終了する。
【０１７８】
一方、ステップＳ９１６の判別の結果、アクセスチケットが有効である場合、ログイン情報の保存およびユーザ情報キャッシュの更新を行う（ステップＳ９２５）。ログイン情報のうち、印刷可能枚数については、アクセスチケットで保持されていた枚数を設定する。
【０１７９】
図２２はユーザ情報キャッシュのデータ構造を示す図である。このユーザ情報キャッシュは、ＲＡＭ２２またはＤＩＳＫ３０に保持されている。ユーザ情報キャッシュの更新は、アクセスチケット取得する際に使用したユーザ名とパスワード、アクセスチケット内のユーザＩＤと印刷可能枚数、およびログインの日時をデータとして追加することにより行われる。既に同じユーザ名がユーザ情報キャッシュ内に存在する場合、既存情報の更新を行う。そして、ステップＳ９２５の処理後、印刷保留ジョブの処理を行い（ステップＳ９２２）、処理を終了する。
【０１８０】
一方、ステップＳ９１０において、ディレクトリサーバ６にアクセス不能な場合、属性情報（ディレクトリサーバ接続不可時に使用許可するかどうか）３０７を取得し、サーバ接続不可でも利用可能であるか否かを判別する（ステップＳ９１１）。使用許可されない場合、現在ログインすることができないことを表すユーザインターフェース画面をＬＣＤ２３上に表示し（ステップＳ９２０）、処理を終了する。
【０１８１】
一方、ステップＳ９１１で使用不許可である場合、ＬＣＤ２３にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し（ステップＳ９１８）、入力されたユーザ名とパスワードの組がＲＡＭ２２またはＤＩＳＫ３０に保持されているユーザ情報キャッシュ内に存在するか否かを判別する（ステップＳ９１９）。この判別の結果、ユーザ情報キャッシュ内に存在しない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をＬＣＤ２３上に表示し（ステップＳ９２１）、処理を終了する。
【０１８２】
一方、ステップＳ９１９の判別の結果、ユーザ名とパスワードの組がユーザ情報キャッシュの中に存在する場合、後述する処理によって印刷可能枚数の算出を行い、この値およびユーザＩＤをログイン情報として保存する（ステップＳ９２３）。また、ログイン情報内のユーザ管理モードには「セキュリティドメインに参加（ディレクトリサーバに接続不能）」の値が設定される。ステップＳ９２３の処理後、印刷保留ジョブの処理を行い（ステップＳ９２２）、処理を終了する。
【０１８３】
このログイン処理で保存されたログイン情報は、ログインセッション内のジョブ発行において動作の制限および記録のために使用される。すなわち、ログイン情報内の印刷印刷可能枚数を越えて印刷が行われた場合、ジョブを中止する。またジョブ内で印刷された印刷枚数はログイン情報の印刷可能枚数から引かれる。
【０１８４】
さらに、ログイン情報内のユーザ管理モードが「セキュリティドメインに参加（ディレクトリサーバに接続不能）」である場合、機器で保持されている属性情報「Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ接続不可時に使用する場合の制限の種類のリスト」３０８の内容にしたがって、最大印刷枚数３１２またはユーザ情報キャッシュの印刷可能枚数１０１３の値からジョブ内で印刷した枚数を減ずることにより、値を更新する。ログイン情報内のユーザＩＤは、ログインセッション内で発行されたジョブで印刷した枚数と共にログに記録される。そして、ユーザがログオフした時点で、ログイン情報は破棄される。
【０１８５】
尚、本実施形態では、ディレクトリサーバに接続可能な場合でも、ステップＳ９２５において、ログイン情報はログインした時点での印刷可能枚数を保持し、ログイン期間内でコンソールから発行されたジョブによってのみ印刷可能枚数が更新されるが、ディレクトリサーバに接続可能な場合、ジョブの発行直前にディレクトリサーバで保持されている、このユーザの印刷可能枚数を取得し、これにより印刷可能枚数を制限することも可能である。この場合、ステップＳ９２５で保持されるログイン情報にＴＧＴを含ませ、これによってジョブの発行直前にディレクトリサーバ６に保持されているユーザの印刷可能枚数をＫｅｒｂｅｒｏｓプロトコルおよびＬＤＡＰプロトコルにより取得する。
【０１８６】
図２０および図２１の処理で更新されるユーザ情報キャッシュのデータは、前述したようにＲＡＭ２２またはＤＩＳＫ３０に保持されている。データは１行が１レコードの集合として表されており、１レコードはユーザ名１０１０、パスワード１０１１、ユーザＩＤ１０１２、印刷可能枚数１０１３およびログイン日時１０１４から構成されている。
【０１８７】
図２３はステップＳ９２４およびＳ９２２における印刷保留ジョブの処理手順を示すフローチャートである。この処理は周辺機器１上で行われる。まず、周辺機器１内で印刷の実行が保留されているジョブの一覧を取得する（ステップＳ１１０１）。
【０１８８】
図２０および図２１で保持されたログイン情報内のユーザＩＤと、ステップＳ１１０１で取得した各ジョブが属性として含まれるユーザＩＤとを比較し、両者が合致するジョブのリストを作成する（ステップＳ１１０２）。ここで比較するジョブのユーザＩＤは、ジョブ内にアクセスチケット７２６が存在する場合、アクセスチケットを解読することにより取得して使用され、そうでない場合、ジョブ内に含まれるユーザＩＤ７２４が使用される。
【０１８９】
ステップＳ１１０２の処理の結果、リストが空であるか否かを判別し（ステップＳ１１０３）、判別の結果、空でない場合、処理を終了する。
【０１９０】
一方、ステップＳ１１０３で空である場合、ユーザＩＤが合致したジョブの一覧をユーザインターフェース画面としてＬＣＤ２３に表示する（ステップＳ１１０４）。図２４はステップＳ１１０４でＬＣＤ２３に表示されるユーザインターフェース画面を示す図である。図中、１２０２はステップＳ１１０２で作成されたジョブのリストを表示している。１２０３はジョブを実行させるためのＯＫボタンであり、１２０４はジョブを実行させないでユーザインターフェース画面を閉じるキャンセルボタンである。
【０１９１】
そして、ＯＫボタン１２０３、キャンセルボタン１２０４のどちらが押されたかを判別し（ステップＳ１１０５）、キャンセルボタンが押された場合、ユーザインターフェース画面を閉じて終了する。一方、ＯＫボタンが押された場合、ステップＳ１１０２で生成したリスト中にあるジョブを実行し（ステップＳ１１０６）、処理を終了する。
【０１９２】
図２５および図２６は周辺機器１がＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。まず、受信したコマンドおよびそのパラメータを解析する（ステップＳ１３０１）。
【０１９３】
この解析の結果から受信コマンドが属性獲得コマンドであるか否かを判別する（ステップＳ１３０２）。属性獲得コマンドである場合、属性獲得コマンドによって指定された属性が獲得可能であるか否かを判別する（ステップＳ１３０３）。属性が獲得可能である場合、周辺機器内に保持する属性の値を取得し（ステップＳ１３０４）、取得した属性値を返信コマンドのパラメータにセットし、属性獲得コマンドに対する返信コマンドをドライバソフトウェアに送信し（ステップＳ１３０５）、処理を終了する。
【０１９４】
一方、ステップ１３０３で属性が獲得可能でない場合、属性の獲得に失敗したことをドライバソフトウェアに通知する処理を行い（ステップＳ１３１７）、処理を終了する。
【０１９５】
また一方、ステップＳ１３０２で属性獲得コマンドでない場合、ステップ１３０１での解析の結果から受信コマンドが属性値変更コマンドであるか否かを判別する（ステップＳ１３１１）。属性値変更コマンドである場合、属性値変更コマンドによって指定された属性が変更可能であるか否かを判別する（ステップＳ１３１２）。
【０１９６】
変更可能である場合、指定されたコマンドパラメータにしたがって、指定された属性を指定された属性値に変更し（ステップＳ１３１３）、属性値の変更が成功したことをドライバソフトウェアに通知する処理を行い（ステップＳ１３１４）、処理を終了する。一方、変更不可能である場合、属性値の変更に失敗したことをドライバソフトウェアに通知する処理を行い（ステップＳ１３１５）、処理を終了する。一方、ステップＳ１３１１で属性変更コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い（ステップＳ１３１６）、処理を終了する。
【０１９７】
図２７および図２８は周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。この処理はＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４上で実行される。まず、周辺機器１が保持する属性情報（現在のユーザ管理モード）３０２を取得する（ステップＳ１４０１）。
【０１９８】
属性情報３０２の値が「ユーザ管理なし」であるか否かを判別する（ステップＳ１４０２）。判別の結果、ユーザ管理なしである場合、図２９で示される管理コマンドを生成し、周辺機器１に対して送信する（ステップＳ１４０３）。図２９は管理コマンドのデータ構造を示す図である。図において、１５０１はユーザ管理モードを表し、ユーザＩＤ１５０２、パスワード１５０３、アクセスチケット１５０４のうち、どの情報が有効であるかを示す。また、１５０５はコマンドの種別を表す。さらに、１５０６はコマンドに必要なパラメータ１５０７の長さを表す。
【０１９９】
周辺機器１は、受信した管理コマンドを図３０および図３１に示される処理手順によって処理し、その結果を送信する。周辺機器１から送られた返信を処理する（ステップＳ１４１７）。この処理は、ステップＳ１４０３によって送られた管理コマンドの処理によって異なり、特に管理コマンドが周辺機器内で保持されているジョブの一覧を取得するためのコマンドである「ＬｉｓｔＪｏｂｓ」であった場合、返信に含まれているジョブの一覧をＣＲＴ３３にユーザインターフェース画面として表示する。この後、本処理を終了する。
【０２００】
一方、ステップＳ１４０２の判別結果、ユーザ管理ありの場合、属性情報３０２の値が「パスワード」であるか否かを判別する（ステップＳ１４０４）。判別の結果、パスワードある場合、ＣＲＴ３３にパスワード入力を促すユーザインターフェース画面を表示する（ステップＳ１４０５）。そして、ステップＳ１４０３において入力されたパスワードを設定した管理コマンドを生成し、周辺機器１に対して送信する。
【０２０１】
一方、ステップＳ１４０４の判別結果、パスワードなしの場合、属性情報３０２の値が「ユーザＩＤ」であるか否かを判別する（ステップＳ１４０６）。判別の結果、ユーザＩＤであった場合、ＣＲＴ３３にユーザＩＤ入力を促すユーザインターフェース画面を表示する（ステップＳ１４０７）。そして、ステップＳ１４０３において入力されたユーザＩＤを設定した管理コマンドを生成し、周辺機器１に対して送信する。。
【０２０２】
一方、ステップＳ１４０６の判別の結果、ユーザＩＤでない場合、属性情報３０２の値が「ユーザＩＤとパスワード」であるか否かを判別する（ステップＳ１４０８）。判別の結果、ユーザＩＤとパスワードである場合、ＣＲＴ３３にユーザＩＤとパスワード入力を促すユーザインターフェース画面を表示する（ステップＳ１４０９）。そして、ステップＳ１４０３において、入力されたユーザＩＤとパスワードを設定した管理コマンドを生成し、周辺機器１に対して送信する。
【０２０３】
一方、ステップＳ１４０８の判別結果、ユーザＩＤとパスワードでない場合、使用しているＰＣにおいて、ユーザはディレクトリサーバ６が管理するセキュリティドメインに既にログインしているか否かを判別する（ステップＳ１４１０）。この判別は、使用しているＰＣのオペレーティングシステムに対して問い合わせることによって行われる。
【０２０４】
判別の結果、ログイン済みでない場合、ＣＲＴ３３にユーザＩＤとパスワード入力を促すユーザインターフェース画面を表示し（ステップＳ１４１１）、これらの情報をディレクトリサーバ６にＫｅｒｂｅｒｏｓプロトコルを使用して送ることにより、ＴＧＴ（チケット生成チケット）情報を取得する（ステップＳ１４１３）。
【０２０５】
一方、ステップＳ１４１０の判別結果、ログイン済みの場合、既にログインしているので、オペレーティングシステムに対して現在のセッションで使用しているＴＧＴを要求して取得する（ステップＳ１４１２）。
【０２０６】
ステップＳ１４１２またはＳ１４１３において取得したＴＧＴおよびジョブ発行先の周辺機器１を特定する識別子（パラメータ）をディレクトリサーバ６に対してＫｅｂｅｒｏｓプロトコルによって送信し、周辺機器１に対するアクセスチケットを取得する（ステップＳ１４１４）。ここで取得したアクセスチケットは、ユーザ名、ユーザＩＤ、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器１の秘密暗号キー３０６によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式（アルゴリズム）は、現在対応しているディレクトリサーバの種類３０４によって一意に予め決められている。
【０２０７】
ステップＳ１４１４で取得したアクセスチケットを設定した管理コマンドを生成し、周辺機器１に対して送信する（ステップＳ１４１５）。この後、ステップＳ１４１７と同じ返信の処理を行う（ステップＳ１４１６）。この後、処理を終了する。
【０２０８】
図３０および図３１は図２７および図２８の処理によって生成され、周辺機器１に送信された管理コマンドを周辺機器１が処理する手順を示すフローチャートである。この処理は周辺機器１上で実行される。
【０２０９】
まず、属性情報（現在のユーザ管理モード）３０２を取得する（ステップＳ１６０１）。属性情報３０２の値が「ユーザ管理なし」であるか否かを判別する（ステップＳ１６０２）。判別の結果、ユーザ管理なしの場合、値０を管理コマンド内のユーザＩＤ１５０２に設定し（ステップＳ１６０３）、ステップＳ１６１３以降のコマンドの種別にしたがった処理を行う。
【０２１０】
一方、ステップＳ１６０２の判別結果、ユーザ管理ありの場合、属性情報３０２の値が「パスワード」であるか否かを判別する（ステップＳ１６０４）。判別の結果、パスワードである場合、予めＲＡＭ２２またはＤＩＳＫ３０に保持されているパスワード値とパスワード１５０３との比較を行い、合致していた場合、値０を管理コマンド内のユーザＩＤ１５０２に設定する（ステップＳ１６０５）。この後、ステップＳ１６１３以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【０２１１】
一方、ステップＳ１６０４の判別結果、パスワードでない場合、属性情報３０２の値が「ユーザＩＤ」であるか否かを判別する（ステップＳ１６０６）。判別の結果、ユーザＩＤである場合、予めＲＡＭ２２またはＤＩＳＫ３０に保持されているユーザＩＤ値とユーザＩＤ１５０２との比較を行う（ステップＳ１６０７）。合致していた場合、ステップＳ１６１３以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【０２１２】
一方、ステップＳ１６０６の判別結果、ユーザＩＤでない場合、属性情報３０２の値が「ユーザＩＤとパスワード」であるか否かを判別する（ステップＳ１６０８）。判別の結果、ユーザＩＤとパスワードである場合、予めＲＡＭ２２またはＤＩＳＫ３０に保持されているユーザＩＤ値およびパスワード値と、ユーザＩＤ１５０２およびパスワード１５０３との比較をそれぞれ行い（ステップＳ１６０７）、両者が合致していた場合、ステップＳ１６１３以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【０２１３】
一方、ステップＳ１６０８で、ユーザＩＤとパスワードでない場合、アクセスチケット１５０４の値を秘密暗号キー３０６を使用して解読する（ステップＳ１６１０）。解読の結果、アクセスチケットの有効性および有効期限を判別し（ステップＳ１６１１）、判別の結果、アクセスチケットが有効である場合、アクセスチケット内のユーザＩＤを管理コマンド内のユーザＩＤ１５０２に設定し、ステップＳ１６１３以降のコマンドの種別にしたがった処理を行う。一方、ステップＳ１６１１の判別結果、アクセスチケットが有効でない場合、エラーを返信し（ステップＳ１６１２）、管理コマンドの処理を終了する。
【０２１４】
ステップＳ１６１３以降の処理では、まず、コマンドの種別１５０５が「ＬｉｓｔＪｏｂｓ」（ジョブの一覧を取得する）であるか否かを判別する（ステップＳ１６１３）。判別の結果、コマンドの種別１５０５が「ＬｉｓｔＪｏｂｓ」である場合、周辺機器１内に保持されているジョブの一覧を取得する（ステップＳ１６１４）。このとき、「現在のユーザ管理モード」３０２が「セキュリティドメインに参加」の場合、各ジョブのアクセスチケット７２６を秘密暗号キー３０６によって解読し、得られたユーザＩＤをジョブのユーザＩＤ７２４にセットしておく。
【０２１５】
そして、ステップＳ１６１４に取得されたジョブのユーザＩＤ７２４と、管理コマンド内に含まれるユーザＩＤ１５０２との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する（ステップＳ１６１５）。一方、両者が合致するジョブのジョブ名は空白に変換しない。ステップＳ１６１５で得られたジョブリストを返信し（ステップＳ１６１６）、処理を終了する。
【０２１６】
一方、ステップＳ１６１３の判別結果、コマンドの種別１５０５が「ＣａｎｃｅｌＪｏｂ」（指定されたジョブをキャンセルする）であるか否かを判別する（ステップＳ１６１７）。判別の結果、コマンドの種別１５０５が「ＣａｎｃｅｌＪｏｂ」でない場合、機器管理コマンドの処理を行い（ステップＳ１６１９）、処理を終了する。このステップＳ１６１９における機器管理コマンドの処理では、コマンド種別１５０５によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【０２１７】
ステップＳ１６１７の判別結果、指定されたジョブの情報を取得する（ステップＳ１６１８）。このとき、「現在のユーザ管理モード」３０２が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット７２６を秘密暗号キー３０６によって解読し、得られたユーザＩＤをジョブのユーザＩＤ７２４にセットしておく。
【０２１８】
そして、ジョブのユーザＩＤ７２４と、管理コマンド内に含まれるユーザＩＤ１５０２との比較を行い（ステップＳ１６２０）、両者が合致しない場合、管理コマンドの実行失敗を返信し（ステップＳ１６２３）、処理を終了する。一方、ステップＳ１６２０で両者が合致した場合、指定されたジョブをキャンセルし（ステップＳ１６２１）、管理コマンドの実行成功を返信し（ステップＳ１６２２）、処理を終了する。
【０２１９】
尚、ステップＳ１６２１の処理を変更することにより、ジョブのアクセス制御機能が付加されたジョブキャセル以外のジョブ管理（例えば、ジョブの一時停止、再開、割り込み、優先度の向上、優先度の低下など）を行わせることも可能である。
【０２２０】
図３２は周辺機器１および周辺機器５のログを集計し、ディレクトリサーバ６のユーザ毎の印刷可能枚数および累積印刷枚数を更新するための処理手順を示すフローチャートである。この処理はディレクトリサーバ６で実行される。まず、対象となる周辺機器からログを取得する（ステップＳ１９０１）。
【０２２１】
ログの情報からユーザＩＤ毎に印刷した枚数を合算する（ステップＳ１９０２）。ディレクトリサーバ６から各ユーザ毎の印刷可能枚数と累積印刷枚数をＬＤＡＰプロトコルにより取得し、得られた枚数を印刷可能枚数から減算し、更に累積印刷枚数に加え、得られたこれらの結果をＬＤＡＰプロトコルによってディレクトリサーバ６に設定する（ステップＳ１９０３）。これにより、ディレクトリサーバ６の各ユーザ毎の印刷可能枚数および累積印刷枚数は更新される。
【０２２２】
このように、図３２の処理を、周辺機器１および周辺機器５を対象として行うことにより、２台の周辺機器に対する印刷可能枚数および累積印刷枚数がディレクトリサーバ６によって集中管理される。
【０２２３】
尚、他の実施形態として、ジョブで使用した印刷枚数をログに保存せず、ジョブの終了毎にディレクトリサーバ６に接続することにより、ディレクトリサーバ６のデータを更新する場合、図３２の処理を実行する必要は無い。
【０２２４】
図３３および図３４は図２０および図２１のステップＳ９２３におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。この処理は周辺機器１上で実行される。まず、現在の印刷可能枚数の制限の種類３０９を取得する（ステップＳ２００１）。
【０２２５】
制限の種類３０９が「無制限」であるか否かを判別する（ステップＳ２００２）。判別の結果、無制限である場合、印刷可能枚数を無制限に設定し（ステップＳ２００３）、処理を終了する。一方、ステップＳ２００２の判別の結果、無制限でない場合、制限の種類３０９が「時間制限」、「時間制限＆固定最大枚数で制限」または「時間制限＆最大枚数で制限」のいずれであるか否かを判別する（ステップＳ２００４）。判別の結果、いずれである場合、ユーザ情報キャッシュ内のユーザの最終ログイン日時１０１４を取得し（ステップＳ２００５）、この日時と現在の日時との時間差が時間制限の長さ３１０で指定されている値以下であるか否かを判別する（ステップＳ２００６）。
【０２２６】
指定されている値以下である場合、印刷可能枚数を値０に設定し（ステップＳ２００７）、処理を終了する。一方、ステップＳ２００４の判別の結果、「時間制限」、「時間制限＆固定最大枚数で制限」または「時間制限＆最大枚数で制限」のいずれでもない場合、あるいはステップＳ２００６の制限時間内である場合、制限の種類３０９が「固定最大枚数で制限」または「時間制限＆固定最大枚数で制限」のいずれであるか否かを判別する（ステップＳ２００８）。
【０２２７】
「固定最大枚数で制限」または「時間制限＆固定最大枚数で制限」のいずれである場合、最大枚数３１２の値を印刷可能枚数に設定し（ステップＳ２０１０）、処理を終了する。一方、ステップＳ２００８の判別結果、「固定最大枚数で制限」または「時間制限＆固定最大枚数で制限」のいずれでもない場合、制限の種類３０９が「最大枚数で制限」または「時間制限＆最大枚数で制限」のいずれであるか否かを判別する（ステップＳ２００９）。「最大枚数で制限」または「時間制限＆最大枚数で制限」のいずれである場合、次式（１）により枚数を算出し、印刷可能枚数として設定し（ステップＳ２０１１）、処理を終了する。
【０２２８】
印刷可能枚数＝ユーザ情報キャッシュ内の印刷可能枚数１０１３  −  最大枚数の日毎の削減割合×最後にログインしてからの時間（日数）  ……（１）
ここで、最後にログインしてからの時間（日数）は、ユーザ情報キャッシュのログイン日時１０１４から現在の日時を引いた時間を、値２４で割って小数点以下を切り捨てたものである。
【０２２９】
一方、ステップＳ２００９の判別結果、「最大枚数で制限」または「時間制限＆最大枚数で制限」のいずれでもない場合、ログイン毎の最大枚数３１３を印刷可能枚数に設定し（ステップＳ２０１２）、処理を終了する。
【０２３０】
尚、本実施形態では、図６、図８、図１０のフローチャートに示す処理手順によって、それぞれ「サポートしているユーザ管理モードのリスト」、「対応可能なＤｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒの種類リスト」、「Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ接続不可時に使用する場合の制限の種類のリスト」を、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４が周辺機器１から直接取得しているが、他の実施形態として、「サポートしているユーザ管理モードのリスト」、「対応可能なＤｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒの種類リスト」、「Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ接続不可時に使用する場合の制限の種類のリスト」を周辺機器１から取得し、一旦、ディレクトリサーバ６に機器情報として保持し、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４はディレクトリサーバ６から取得するようにしてもよい。
【０２３１】
［第２の実施形態］
前記第１の実施形態では、図２９において、管理コマンド中にアクセスチケットを含ませていたが、アクセスチケットのデータサイズは一般的に管理コマンドの他のデータサイズに比較して大きいものとなってしまうので、パフォーマンスなどに問題が生じる場合がある。この問題を解決するための周辺機器制御システムを第２の実施形態として以下に説明する。
【０２３２】
図３５は後述する管理コマンド生成処理によって生成され、周辺機器１に送信される管理コマンドのデータ構造を示す図である。図において、２３０１はユーザ管理モードを表し、ユーザＩＤ２３０２、パスワード２３０３、セッションキー２３０４のうち、どの情報が有効であるかを示すものである。
【０２３３】
セッションキー２３０４は周辺機器１によって発行され、周辺機器１内のアクセスチケットキャッシュによってアクセスチケットと１対１の対応付けがなされている。図において、２３０５はコマンドの種別を表す。２３０６はコマンドに必要なパラメータ２３０７の長さを表す。
【０２３４】
図３６は後述するアクセスチケット設定コマンドの処理によって周辺機器１のＲＡＭ２２内に保持されるアクセスチケットキャッシュのデータ構造を示す図である。アクセスチケットキャッシュは、セッションキー２４０１とアクセスチケット２４０２の対を１レコードとして、複数レコードによって構成されている。ここで保持されているアクセスチケットは、秘密暗号キー３０６を利用した解読後のものとなっている。
【０２３５】
図３７および図３８は後述する管理コマンド生成処理によって生成され、周辺機器１に送信された管理コマンドを、周辺機器１が処理する手順を示すフローチャートである。この処理は周辺機器１上で実行される。この処理手順では、図３０および図３１のステップＳ１６０８までのステップ処理は同一であるので、そのステップ処理を省略し、ステップＳ１６０８の判別処理がＮＯ（偽）であった場合、つまり、ユーザ管理モードが「セキュリティドメインに参加」であった場合から示すこととする。
【０２３６】
まず、セッションキー２３０４が値０であるか否かを判別する（ステップＳ２５０１）。ステップＳ２５０１の判別の結果、セッションキー２３０４が値０である場合、管理コマンド種別２３０５が「アクセスチケット設定コマンド」であるか否かを判別する（ステップＳ２５０２）。「アクセスチケット設定コマンド」でない場合、エラーを返信し（ステップＳ２５０７）、処理を終了する。
【０２３７】
一方、ステップＳ２５０２の判別の結果、「アクセスチケット設定コマンド」である場合、管理コマンドパラメータ２３０７に含まれているアクセスチケットの値を秘密暗号キー３０６を使用して解読する（ステップＳ２５１９）。解読の結果、アクセスチケットの有効性および有効期限を判別する（ステップＳ２５２０）。
【０２３８】
アクセスチケットが有効でない場合、エラーを返信し（ステップＳ２５２１）、管理コマンドの処理を終了する。一方、ステップＳ２５２０において判別の結果、アクセスチケットが有効である場合、解読されたアクセスチケットの内容を、アクセスチケットに１対１に対応するセッションキーを生成し、セッションキーと共にアクセスチケットキャッシュに保存する（ステップＳ２５０３）。生成されたセッションキーを返信し（ステップＳ２５０４）、処理を終了する。
【０２３９】
一方、ステップＳ２５０１でセッションキーが値０以外である場合、セッションキーをアクセスチケットキャッシュ内で検索し（ステップＳ２５０５）、セッションキーが存在するか否かを判別する（ステップＳ２５０６）。判別の結果、エラーを返信し（ステップＳ２５０７）、処理を終了する。
【０２４０】
一方、ステップＳ２５０６の判別の結果、セッションキーが存在する場合、アクセスチケットキャッシュからセッションキーに対応するアクセスチケットを取得し、アクセスチケット内のユーザＩＤを管理コマンド内のユーザＩＤ２３０２に設定し（ステップＳ２５２２）、ステップＳ２５０８以降のコマンドの種別にしたがった処理を行う。
【０２４１】
ステップＳ２５０８以降の処理では、まず、コマンドの種別２３０５が「ＬｉｓｔＪｏｂｓ」（ジョブの一覧を取得する）であるか否かを判別する（ステップＳ２５０８）。判別の結果、コマンドの種別２３０５が「ＬｉｓｔＪｏｂｓ」である場合、周辺機器１内に保持されているジョブの一覧を取得する（ステップＳ２５０９）。このとき、「現在のユーザ管理モード」３０２が「セキュリティドメインに参加」である場合、各ジョブのアクセスチケット７２６を秘密暗号キー３０６によって解読し、得られたユーザＩＤをジョブのユーザＩＤ７２４にセットしておく。
【０２４２】
ステップＳ２５０９に取得されたジョブのユーザＩＤ７２４と、管理コマンド内に含まれるユーザＩＤ２３０２との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する（ステップＳ２５１０）。得られたジョブリストを返信し（ステップＳ２５１１）、処理を終了する。
【０２４３】
一方、ステップＳ２５０８の判別の結果、コマンドの種別１５０５が「ＣａｎｃｅｌＪｏｂ」（指定されたジョブをキャンセルする）であるか否かを判別する（ステップＳ２５１２）。コマンドの種別２３０５が「ＣａｎｃｅｌＪｏｂ」でない場合、機器管理コマンドの処理を行い（ステップＳ２５１７）、処理を終了する。このステップＳ２５１７における機器管理コマンドの処理では、コマンド種別２３０５によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【０２４４】
一方、ステップＳ２５１２の判別の結果、コマンドの種別１５０５が「ＣａｎｃｅｌＪｏｂ」である場合、指定されたジョブの情報を取得する（ステップＳ２５１３）。このとき、「現在のユーザ管理モード」３０２が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット７２６を秘密暗号キー３０６によって解読し、得られたユーザＩＤをジョブのユーザＩＤ７２４にセットしておく。
【０２４５】
ジョブのユーザＩＤ７２４と、管理コマンド内に含まれるユーザＩＤ２３０２との比較を行い（ステップＳ２５１４）、両者が合致しない場合、管理コマンドの実行失敗を返信し（ステップＳ２５１８）、処理を終了する。
【０２４６】
一方、ステップＳ２５１４において、両者が合致した場合、指定されたジョブをキャンセルし（ステップＳ２５１５）、管理コマンドの実行成功を返信し（ステップＳ２５１６）、処理を終了する。
【０２４７】
尚、図３７および図３８で示した管理コマンドの処理手順をジョブ処理時にも適用することによって、図１７と図１８および図１９に示すように、ジョブにアクセスチケットを含ませるのではなく、ジョブにセッションキーを含ませることも可能である。
【０２４８】
図３９は図３７および図３８の処理を実行している周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。この処理はＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４上で実行される。また、この処理手順は、図２７および図２８のステップＳ１４１２およびＳ１４１３までは同一であるので、ここではステップＳ１４１２またはＳ１４１３によってＴＧＴを取得終了後から示すこととする。
【０２４９】
すなわち、ステップＳ１４１２またはＳ１４１３において取得したＴＧＴおよびジョブ発行先の周辺機器１を特定する識別子（パラメータ）をディレクトリサーバ６に対してＫｅｂｅｒｏｓプロトコルによって送信し、周辺機器１に対するアクセスチケットを取得する（ステップＳ２６０１）。ここで取得したアクセスチケットは、ユーザ名、ユーザＩＤ、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器１の秘密暗号キー３０６によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式（アルゴリズム）は、現在対応しているディレクトリサーバの種類３０４によって一意に予め決められている。
【０２５０】
ステップＳ２６０１で取得したアクセスチケットをコマンドパラメータ２３０７に設定したアクセスチケット設定コマンドを生成し、周辺機器１に対して送信する（ステップＳ２６０２）。ここで送信される管理コマンドは、セッションキー２３０４が値０、コマンド種別２３０５が「アクセスチケット設定コマンド」となっている。
【０２５１】
周辺機器１からの返信がエラーか否かを判別し（ステップＳ２６０３）、エラーであった場合、処理を終了する。一方、ステップＳ２６０３の判別の結果、エラーでない場合、ステップＳ２６０２で取得したセッションキーを管理コマンドのセッションキー２３０４に設定し、管理コマンドデータの管理コマンド種別２３０５、コマンドパラメータ長２３０６、コマンドパラメータ２３０７に適切な値を設定して周辺機器１に送信する（ステップＳ２６０４）。周辺機器１からの返信を処理し（ステップＳ２６０５）、処理を終了する。
【０２５２】
尚、同一周辺機器に対して同一ユーザがジョブ管理コマンドまたは機器管理コマンドを発行する際、既に必要なアクセスチケットが周辺機器に保持されており、それに対するセッションキーを取得済みであるので、ステップＳ２６０１からＳ２６０３までのステップを省略することができる。これにより、パフォーマンス良く、周辺機器のジョブ管理および機器管理を行うことができる。
【０２５３】
以上示したように、上記実施形態によれば、ネットワーク環境下で、アクセス権に関して統一したジョブ管理を行うことができる。また、ネットワーク環境下で、アクセス権に関して統一したジョブ管理を行うことができる。さらに、ジョブを発行したユーザだけがジョブをキャンセルすることができる。
【０２５４】
また、ジョブを発行したユーザだけがジョブの全情報を知ることができ、他のユーザはジョブの一部の情報だけを知ることができる。さらに、ネットワーク環境下で、アクセス権に関して統一したジョブ情報をパフォーマンス良く行うことができる。また、ジョブを発行したユーザだけがジョブのキャンセルをパフォーマンス良く行うことができる。さらに、ジョブを発行したユーザだけがジョブの全情報をパフォーマンス良く知ることができ、他のユーザはジョブの一部の情報だけを知ることができる。
【０２５５】
また、ネットワーク環境下で、アクセス権に関して統一した機器管理を行うことができる。さらに、ネットワーク環境下で、アクセス権に関して統一した機器管理をパフォーマンス良く行うことができる。また、周辺機器にジョブ管理コマンドを発行することができる。さらに、周辺機器にジョブキャンセルコマンドを発行することができる。また、周辺機器にジョブを表示することができる。さらに、周辺機器に機器管理コマンドを発行することができる。
【０２５６】
本実施形態によれば、ネットワークなどを介して、外部から周辺機器が対応可能なディレクトリサーバの種類のリストを取得することができる。また、ネットワークなどを介して、外部から周辺機器が現在対応しているディレクトリサーバの種類を取得・設定することができる。さらに、対応可能なディレクトリサーバの種類のリストを取得してユーザインターフェース上に表示することができる。また、現在対応しているディレクトリサーバを取得してユーザインターフェース上に表示することができると共に、設定を変更することができる。
【０２５７】
本実施形態によれば、統一したユーザ情報を複数の周辺機器で使用することができる。また、複数の周辺機器を使用する環境において、累積印刷枚数および最大印刷可能枚数を集中管理することができる。また、複数の周辺機器を使用する環境において、最大印刷可能枚数によるユーザ毎の印刷制限を行うことができる。
【０２５８】
また、ディレクトリサーバに接続できなかった場合に取る動作モードの設定を、ネットワークなどを介して外部から行うことができる。さらに、ディレクトリサーバに接続できなかった場合、周辺機器を使用することができる。また、ディレクトリサーバに接続できなかった場合、最後に正常にログインしてから一定時間内に周辺機器を使用することができる。さらに、ディレクトリサーバに接続できなかった場合、最後に正常にログインしてから一定時間内、機器で保存されている最大印刷枚数を越えない範囲で周辺機器を使用できる。また、ディレクトリサーバに接続できなかった場合、最後に正常にログインしてから一定時間内、最後に正常にログインした時点での最大印刷可能枚数まで周辺機器を使用することができる。さらに、ディレクトリサーバに接続できなかった場合、機器で保存されている最大印刷枚数を越えない範囲で周辺機器を使用することができる。
【０２５９】
また、ディレクトリサーバに接続できなかった場合、最後に正常にログインした時点での最大印刷可能枚数まで周辺機器を使用することができる。さらに、ディレクトリサーバに接続できなかった場合、ログイン毎の最大印刷可能枚数を越えない範囲で周辺機器を使用することができる。また、ディレクトリサーバに接続できなかった場合、正確なユーザ管理を行うためにユーザに対して周辺機器の使用を禁止することができる。さらに、正常にディレクトリサーバに接続してからの予想印刷枚数を加味した最大印刷可能枚数まで周辺機器を使用することができる。また、周辺機器にジョブを発行することができる。
【０２６０】
つぎに、上記実施形態における周辺機器の複写処理動作を示す。図４０は周辺機器１における複写処理手順を示すフローチャートである。この処理プログラムは、コントローラ１１内のＲＯＭ２５に格納されており、周辺機器１のキーボード２４に設けられたコピースタートボタンが押されることによりＣＰＵ２１によって実行される。周辺機器１は、コピースタートボタンが押されると、スキャナエンジン２７に置かれた紙原稿のイメージをプリンタ２８で印刷する機能を有する。コピースタートボタンが押されたというイベントは、キーボード２４からＣＰＵ２１に送られ、コピージョブの発行指示として解釈される。
【０２６１】
但し、予め図２１のステップＳ９２０、Ｓ９２１、Ｓ９１７において、現在ログインしているユーザの使用不可の表示が行われている場合や、ユーザがログインしていない場合には、コピースタートボタンが押されたイベントは、ＣＰＵ２１に送られない設定となっており、図４０のフローチャートに示す処理は実行されない。
【０２６２】
コピースタートボタンからのイベントをＣＰＵ２１が受けると、この処理を開始し、まず、図２０のステップＳ９０３、Ｓ９２３およびＳ９２５のいずれかのステップ処理で保存されたログイン情報を取得する（ステップＳ４００１）。現在のユーザ管理モードがセキュリティドメインに参加であるか否かを判別する（ステップＳ４００２）。判別の結果、セキュリティドメインに参加しない場合、スキャナエンジン２７に置かれた紙原稿のイメージをプリンタエンジン２８で印刷し、印刷された枚数を、ログイン情報に含まれているユーザ名またはユーザＩＤと共にログに記録し（ステップＳ４００３）、この処理を終了する。
【０２６３】
一方、ステップＳ４００２の判別の結果、セキュリティドメインに参加である場合、ログイン情報に保持されている印刷可能枚数を取得する（ステップＳ４００４）。さらに、スキャナエンジン２７に置かれた紙原稿のイメージをプリンタエンジン２８で印刷し、印刷された枚数を、ログイン情報に含まれているユーザ名またはユーザＩＤと共にログに記録し（ステップＳ４００５）、この処理を終了する。このとき、ステップＳ４００４で取得した印刷可能枚数を越えた場合、印刷を強制終了させ、その旨をＬＣＤ２３上に表示する。そして、コピージョブの結果に基づき、そのコピージョブを実行したユーザのディレクトリサーバ６上のログ情報を更新する。
【０２６４】
すなわち、ディレクトリサーバ６からコピージョブを実行したユーザに対応した印刷可能枚数および累積印刷枚数をＬＤＡＰプロトコルにより取得し、コピージョブで使用したコピー枚数を印刷可能枚数から減算し、更に累積印刷枚数に加え、得られたこれらの結果をＬＤＡＰプロトコルによってディレクトリサーバ６に設定する。これにより、ディレクトリサーバ６で管理されている各ユーザ毎の印刷可能枚数および累積印刷枚数は更新される。
【０２６５】
尚、以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【０２６６】
例えば、周辺機器１（または２）におけるログイン（ユーザ認証）では、周辺機器１のシステムバス２０に接続されたＩＣカードリーダを介して、ユーザが挿入したＩＣカードに保持された情報、あるいはシステムバス２０に接続された指紋リーダ、虹彩（アイリス）リーダ、声紋リーダなどの生体情報リーダを介して、ユーザが提示した指紋、虹彩（アイリス）、声紋などの生体情報を、ユーザ情報として使用することも可能である。
【０２６７】
この場合、図２１のステップＳ９１２では、ユーザに対して適当なユーザ情報の提示を促し、各リーダから得られたユーザ情報は、図２１のステップＳ９１４でディレクトリサーバ６に送られる。そして、ディレクトリサーバ６におけるユーザ情報の検証の結果、ユーザ認証が得られた場合、周辺機器１は、該当ユーザに対するアクセスチケットまたはセッション情報であるＴＧＴを取得する。
また、周辺機器制御ソフトウェアが、対象となる周辺機器が対応ディレクトリサーバの種類の情報を持つ必要がなく、汎用的な周辺機器制御システムを提供できる。
さらに、ネットワークなどに接続された複数の機器を使用する環境下で、ユーザ情報の統一管理を行い、同じユーザ情報を複数の機器で使用することができる。また、ネットワークなどで接続された複数の機器を使用する環境下で、ユーザ毎の累積印刷枚数および最大印刷可能枚数の集中管理を行うことができる。さらに、ネットワークの障害があった場合、一時的に周辺機器を使用できる。
【０２６８】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記録媒体を、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【０２６９】
上記実施形態では、各フローチャートに示すプログラムコードは記憶媒体に格納されている。プログラムコードを供給する記憶媒体としては、例えば、ＲＯＭ、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【０２７０】
【発明の効果】
本発明によれば、ネットワーク環境内でのジョブ管理に関し、統一したアクセス制御を行うことができる。また、ネットワーク環境内でのジョブ管理に関し、統一したアクセス制御を、パフォーマンスが悪化しないように行うことができる。
【図面の簡単な説明】
【図１】第１の実施形態における周辺機器制御システムの構成を示すブロック図である。
【図２】周辺機器（ＭＦＰ１、ＭＦＰ２）の構成を示すブロック図である。
【図３】コントローラ１１のハードウェア構成を示すブロック図である。
【図４】ネットワークシステムを構成するＰＣのハードウェア構成を示すブロック図である。
【図５】周辺機器１で保持されている属性情報を示す図である。
【図６】周辺機器１のユーザ管理モードをＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から表示・変更する場合の処理手順を示すフローチャートである。
【図７】ステップＳ１７０５におけるユーザ入力待ちの状態でＣＲＴ３３に表示されたユーザインターフェース画面を示す図である。
【図８】周辺機器１に対応するディレクトリサーバをＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から表示・変更する場合の動作処理手順を示すフローチャートである。
【図９】ステップＳ１８０７におけるユーザ入力待ちの状態でＣＲＴ３３に表示されたユーザインターフェース画面を示す図である。
【図１０】周辺機器１がディレクトリサーバ６に接続できない場合にログインをどの様に許可するかを、ＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から表示・変更する場合の処理手順を示すフローチャートである。
【図１１】ステップＳ２２０７のユーザ入力待ちの状態でＣＲＴ３３に表示されたユーザインターフェース画面を示す図である。
【図１２】周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。
【図１３】図１２に続き、周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。
【図１４】ステップＳ４０３におけるジョブ発行処理手順を示すフローチャートである。
【図１５】周辺機器１が図１４の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。
【図１６】図１５に続き、周辺機器１が図１４の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。
【図１７】図１４の処理により周辺機器１内で保持されたジョブのデータ構造を示す図である。
【図１８】図１７で示された周辺機器１に保持されたジョブデータの処理手順を示すフローチャートである。
【図１９】図１８に続き、図１７で示された周辺機器１に保持されたジョブデータの処理手順を示すフローチャートである。
【図２０】周辺機器１のＬＣＤ２３に表示されるログイン画面の処理手順を示すフローチャートである。
【図２１】図２０に続き、周辺機器１のＬＣＤ２３に表示されるログイン画面の処理手順を示すフローチャートである。
【図２２】ユーザ情報キャッシュのデータ構造を示す図である。
【図２３】ステップＳ９２４およびＳ９２２における印刷保留ジョブの処理手順を示すフローチャートである。
【図２４】ステップＳ１１０４でＬＣＤ２３に表示されるユーザインターフェース画面を示す図である。
【図２５】周辺機器１がＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。
【図２６】図２５に続き、周辺機器１がＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。
【図２７】周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【図２８】図２７に続き、周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【図２９】管理コマンドのデータ構造を示す図である。
【図３０】図２２の処理によって生成され、周辺機器１に送信された管理コマンドを周辺機器１が処理する手順を示すフローチャートである。
【図３１】図３０に続き、図２２の処理によって生成され、周辺機器１に送信された管理コマンドを周辺機器１が処理する手順を示すフローチャートである。
【図３２】周辺機器１および周辺機器５のログを集計し、ディレクトリサーバ６のユーザ毎の印刷可能枚数および累積印刷枚数を更新するための処理手順を示すフローチャートである。
【図３３】図１７のステップＳ９２３におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。
【図３４】図３３に続き、図１７のステップＳ９２３におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。
【図３５】後述する管理コマンド生成処理によって生成され、周辺機器１に送信される管理コマンドのデータ構造を示す図である。
【図３６】後述するアクセスチケット設定コマンドの処理によって周辺機器１のＲＡＭ２２内に保持されるアクセスチケットキャッシュのデータ構造を示す図である。
【図３７】後述する管理コマンド生成処理によって生成され、周辺機器１に送信された管理コマンドを、周辺機器１が処理する手順を示すフローチャートである。
【図３８】図３７に続き、後述する管理コマンド生成処理によって生成され、周辺機器１に送信された管理コマンドを、周辺機器１が処理する手順を示すフローチャートである。
【図３９】図２９の処理を実行している周辺機器１に対してＰＣ（１）２、ＰＣ（２）３、ＰＣ（３）４から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【図４０】周辺機器１における複写処理手順を示すフローチャートである。
【符号の説明】
２、３、４  パーソナルコンピュータ（ＰＣ）
３、５  周辺機器（ＭＦＰ）
６  ディレクトリサーバ
１１  コントローラ
２１、３１  ＣＰＵ
２５、３６  ＲＯＭ
３０１、３０２  属性情報
７２４、１５０２、２３０２  ユーザＩＤ
７２６、１５０４、２４０２  アクセスチケット
２３０４、２４０１  セッションキー
【図１】
0004649081.tif 000002
【図２】
0004649081.tif 000003
【図３】
0004649081.tif 000004
【図４】
0004649081.tif 000005
【図５】
0004649081.tif 000006
【図６】
0004649081.tif 000007
【図７】
0004649081.tif 000008
【図８】
0004649081.tif 000009
【図９】
0004649081.tif 000010
【図１０】
0004649081.tif 000011
【図１１】
0004649081.tif 000012
【図１２】
0004649081.tif 000013
【図１３】
0004649081.tif 000014
【図１４】
0004649081.tif 000015
【図１５】
0004649081.tif 000016
【図１６】
0004649081.tif 000017
【図１７】
0004649081.tif 000018
【図１８】
0004649081.tif 000019
【図１９】
0004649081.tif 000020
【図２０】
0004649081.tif 000021
【図２１】
0004649081.tif 000022
【図２２】
0004649081.tif 000023
【図２３】
0004649081.tif 000024
【図２４】
0004649081.tif 000025
【図２５】
0004649081.tif 000026
【図２６】
0004649081.tif 000027
【図２７】
0004649081.tif 000028
【図２８】
0004649081.tif 000029
【図２９】
0004649081.tif 000030
【図３０】
0004649081.tif 000031
【図３１】
0004649081.tif 000032
【図３２】
0004649081.tif 000033
【図３３】
0004649081.tif 000034
【図３４】
0004649081.tif 000035
【図３５】
0004649081.tif 000036
【図３６】
0004649081.tif 000037
【図３７】
0004649081.tif 000038
【図３８】
0004649081.tif 000039
【図３９】
0004649081.tif 000040
【図４０】
0004649081.tif 000041