Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4095279B2 - Job execution apparatus, job management method, storage medium, and program - Google Patents
[go: Go Back, main page]

JP4095279B2 - Job execution apparatus, job management method, storage medium, and program - Google Patents

Job execution apparatus, job management method, storage medium, and program Download PDF

Info

Publication number
JP4095279B2
JP4095279B2 JP2001344696A JP2001344696A JP4095279B2 JP 4095279 B2 JP4095279 B2 JP 4095279B2 JP 2001344696 A JP2001344696 A JP 2001344696A JP 2001344696 A JP2001344696 A JP 2001344696A JP 4095279 B2 JP4095279 B2 JP 4095279B2
Authority
JP
Japan
Prior art keywords
job
user
information
attribute
access ticket
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001344696A
Other languages
Japanese (ja)
Other versions
JP2003150336A (en
Inventor
友章 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001344696A priority Critical patent/JP4095279B2/en
Publication of JP2003150336A publication Critical patent/JP2003150336A/en
Application granted granted Critical
Publication of JP4095279B2 publication Critical patent/JP4095279B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、プリンタや、複写機、或いはファクシミリ装置(FAX)等のジョブを実行するためのジョブ実行装置、デバイスで実行されるジョブの管理を行うためのジョブ管理方法、ジョブ実行装置の機能をコンピュータに実現させるためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムに関するものである。
【0002】
【従来の技術】
従来より例えば、プリンタや複写機等の周辺機器(デバイス)としては、ジョブ開始モードとして「ジョブ実行保留」が指定(設定)されると、受信ジョブを一旦自機器内部に保持し、実行コマンドを受信してから当該保持ジョブを実行する機能を有するものがある。
【0003】
【発明が解決しようとする課題】
しかしながら、上述したような従来のデバイスでは、当該デバイス内部で一旦保持されたジョブを実行するために、そのユーザは、当該デバイスのコンソール、或いはネットワーク等で接続された計算機(情報処理装置)上で動作するジョブ管理ソフトウエアにより、保持ジョブを指定してジョブ実行コマンドを発行する必要があった。この操作は煩雑なものであったので、効率的にジョブ管理及びジョブ実行を行なうことができなかった。
【0004】
そこで、本発明は、上記の課題を解決するために成されたもので、効率的にジョブ管理及びジョブ実行を行なえる構成とすることで、ユーザの利便性の向上を実現できる、ジョブ実行装置、ジョブ管理方法、ジョブ実行装置の機能をコンピュータに実現させるためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムを提供することを目的とする。
【0005】
【課題を解決するための手段】
第1の発明に係るジョブ実行装置は、ジョブを実行するためのジョブ実行装置であって、ユーザによって入力されるユーザを識別するためのユーザ情報を取得するユーザ情報取得手段と、前記ユーザ情報取得手段によって取得されたユーザ情報を使用して、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を外部のサーバから取得するアクセスチケット情報取得手段と、前記アクセスチケット情報取得手段により取得されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読手段と、前記解読手段によりにより取得されたユーザ識別情報に基づいて、前記ユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を表示する表示手段と、前記表示手段により表示されるジョブ情報に対応するジョブを実行するジョブ実行手段とを備えることを特徴とする。
【0006】
第2の発明に係るジョブ実行装置は、ジョブを実行するためのジョブ実行装置であって、ユーザにより入力されたユーザを識別するためのユーザ情報を使って外部の情報処理装置によって外部のサーバから取得された、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を、前記外部の情報処理装置から受信するアクセスチケット情報受信手段と、前記アクセスチケット情報受信手段により受信されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読手段と、前記解読手段により取得されたユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を前記外部の情報処理装置に送信するジョブ情報送信手段とを備えることを特徴とする。
【0007】
第3の発明に係るジョブ実行装置は、ジョブを実行するためのジョブ実行装置であって、ユーザによって入力されるユーザを識別するためのユーザ情報を取得するユーザ情報取得手段と、前記ユーザ情報取得手段によって取得されたユーザ情報を使用して、暗号化されたユーザを識別するためのユーザ識別情報を外部のサーバから取得するユーザ識別情報取得手段と、前記ユーザ識別情報取得手段により取得された、暗号化された前記ユーザ識別情報を解読する解読手段と、前記解読手段による解読後の前記ユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を表示する表示手段と、前記表示手段により表示されるジョブ情報に対応するジョブを実行するジョブ実行手段とを備えることを特徴とする。
【0008】
第4の発明に係るジョブ実行装置は、ジョブを実行するためのジョブ実行装置であって、ユーザによって入力されるユーザを識別するためのユーザ情報を使って外部の情報処理装置によって外部のサーバから取得された、暗号化されたユーザを識別するためのユーザ識別情報を、前記外部の情報処理装置から受信するユーザ識別情報受信手段と、前記ユーザ識別情報受信手段により受信された、暗号化された前記ユーザ識別情報を解読する解読手段と、前記解読手段による解読後の前記ユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を前記外部の情報処理装置に送信するジョブ情報送信手段とを備えることを特徴とする。
【0009】
第5の発明に係るジョブ管理方法は、デバイスで実行されるジョブの管理を行うためのジョブ管理方法であって、ユーザによって入力されるユーザを識別するためのユーザ情報を取得するユーザ情報取得ステップと、前記ユーザ情報取得ステップで取得されたユーザ情報を使用して、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を外部のサーバから取得するアクセスチケット情報取得ステップと、前記アクセスチケット情報取得ステップで取得されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読ステップと、前記解読ステップで取得されたユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を表示する表示ステップと、前記表示ステップで表示されるジョブ情報に対応するジョブを実行するジョブ実行ステップとを含むことを特徴とする。
【0010】
第6の発明に係るコンピュータ読出可能な記憶媒体は、第1〜第4の発明のいずれかに係るジョブ実行装置の機能をコンピュータに実現させるためのプログラムを記録したことを特徴とする。
【0011】
第7の発明に係るプログラムは、第1〜第4の発明のいずれかに係るジョブ実行装置の機能をコンピュータに実現させることを特徴とする。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0019】
[第1の実施の形態]
本発明は、例えば、図1に示すようなネットワークシステム100に適用される。
本実施の形態のネットワークシステム100は、特に、ネットワーク110を介して外部からジョブを投入可能であり、且つコンソールを有する周辺機器(デバイス)101(1),101(2)において、実行保留しているジョブに対応するユーザ情報を取得し、当該ユーザ情報と、ログインしたユーザのユーザ情報とを比較し、当該比較結果に基づいて、ログインしたユーザが発行したジョブの一覧を表示するように構成されている。
このような構成により、周辺機器(デバイス)101(1),101(2)のコンソールからユーザがログインした直後に、当該ユーザが発行したジョブ(実行保留されているジョブ)の一覧が表示されることになるため、当該ユーザは、従来のようにジョブ指定及び実行指示等の操作を行う必要なく、容易に所望するジョブの実行を行える。
以下、本実施の形態のネットワークシステム100の構成及び動作について具体的に説明する。
【0020】
<ネットワークシステム100の全体構成>
ネットワークシステム100は、上記図1に示すように、ディレクトリサーバ(Directory Server)106、パーソナルコンピュータ(PC)102(1),102(2)、及び周辺機器としてのMFP101(1),101(2)が、ネットワーク110を介して互いに通信可能なように接続された構成としている。
また、MFP101(1)には、パーソナルコンピュータ(PC)102(3)が接続されている。
【0021】
MFP101(1),101(2)はそれぞれ、スキャナ機能、プリント機能、及びファクシミリ(FAX)機能を有し、詳細は後述する図2に示すようなハードウェア構成を備えている。
PC102(1)〜102(3)はそれぞれ、クライアント側の端末装置(又は計算機)として設けられ、詳細は後述する図4に示すようなハードウェア構成を備えている。
【0022】
PC102(1)〜102(3)はそれぞれ、ネットワーク110(又はローカルインターフェース)を介して、MFP101(1),101(2)と通信可能であり、例えば、本実施の形態を実現する所定のソフトウェアの起動により、ネットワーク110を介して、MFP101(1)或いは101(2)に対して、プリントや、スキャン、コピー、或いはファクシミリ(FAX)送受信等のジョブ処理を依頼し、また、デバイスの属性情報の問い合わせを行なう。
【0023】
ディレクトリサーバ106は、PC102(1)〜102(3)が有するコンピュータ機能と同様の機能、すなわち詳細は後述する上記図4に示す構成を備えており、ユーザ情報及びデバイス情報等の一元管理機能を有する。
また、ディレクトリサーバ106は、Kerberosプロトコル(RFC1510)におけるKDC(Key Distribution Server)の機能も有しており、Kerberosプロトコルの規定に従って、TGT(チケット生成チケット)の発行、及び指定された資源に対するアクセスを行うために必要なアクセスチケットの発行を行う。
また、ディレクトリサーバ106に対しては、MFP101(1),101(2)に関する情報(デバイス情報)が既に登録されている。この登録デバイス情報の参照及び更新は、LDAPプロトコル(RFC1777)を使用することで、PC102(1),102(2)から可能となっている。
【0024】
ディレクトリサーバ106で管理されるユーザ情報は、例えば、ユーザ名、パスワード、ユーザの印刷可能枚数、及びユーザの累積印刷枚数等の情報を含む。また、ディレクトリサーバ106で管理されるデバイス情報は、デバイス名、及びデバイスの秘密暗号キー等の情報を含む。
【0025】
尚、上記図1では、周辺機器として2台のMFP101(1)及び101(2)を、クライアントとして3台のPC102(1)〜102(3)を含む構成としたが、この台数に限られることはない。
また、MFP101(1)及び101(2)はそれぞれ同様の構成であり、PC102(1)〜102(3)もそれぞれ同様の構成であることにより、以下の説明では、任意のMFP101(x)及びPC102(x)に着目する。
【0026】
<MFP101(x)の構成>
MFP101(x)は、上記図2に示すように、コントローラ201、通信インターフェース202、スキャナエンジン203、プリンタエンジン204、FAXボード205、及びユーザインターフェース206を備えている。
【0027】
コントローラ201は、詳細は後述する図3に示すハードウェア構成を有し、MFP101(x)全体の動作制御を司る。
通信インターフェース202は、MFP101(x)(具体的にはコントローラ201)が、ネットワーク110上の装置或いはシステムと通信するためのインターフェースである。通信インターフェース202としては、イーサネット(登録商標)インターフェース、或いはIEEE1284インターフェース、或いはその他の任意の通信インターフェースを適用可能である。
【0028】
スキャナエンジン203、コントローラ201からの制御に従って、スキャナ動作を実施する。
プリンタエンジン204は、コントローラ201からの制御に従って、例えば、レーザービームプリンタ、或いはインクジェットプリンタ、或いはその他の任意のプリンタによるプリント動作を実施する。
FAXボード205は、画像の送受信時の通信制御等のFAX機能を実現するためのボードであり、コントローラ201からの制御に従って動作する。
【0029】
ユーザインターフェース206は、例えば、詳細は後述する図3に示されるようなLCDディスプレイ206a及びキーボード206b等から構成されており、コントローラ201から供給される情報表示を行なうと共に、ユーザから入力された動作指示等をコントローラ201に対して伝える。
【0030】
以上のような構成を有するMFP101(x)は、プリンタエンジン204を選択させてプリントジョブの発行を可能にし、また、プリンタエンジン204及びスキャナエンジン203を選択させてコピージョブの発行を可能にし、さらに、プリンタエンジン204、スキャナエンジン203、及びFAXボード205を選択させてFAX受信ジョブ及びFAX送信ジョブの発行を可能にする。
【0031】
ここで、上記図3に示されるコントローラ201の構成について具体的に説明する。
コントローラ201は、上記図3に示すように、CPU201a、RAM201b、ROM201c、及びDISK201dが、システムバス220を介して互いに通信可能に接続された構成としている。
システムバス220には、上記図2に示した、通信インターフェース202、スキャナエンジン203、プリンタエンジン204、FAXボード205、及びユーザインターフェース206をも接続されている。
【0032】
ROM201c或いはDISK201dには、予め所定の処理プログラム(制御プログラム)が格納されており、CPU201aは、当該処理プログラムを必要に応じてROM201c或いはDISK201dからRAM201b上へ読み出して実行することで、本実施の形態におけるMFP101(x)の機能を実施する。
【0033】
ROM201c或いはDISK201dには、上記の制御プログラムと共に、MFP101(x)で処理されるジョブに関する情報(機能及び状態を示す属性情報や、出力の対象となるジョブデータ等)が記憶されている。
【0034】
また、CPU201aは、ユーザインターフェース206のLCD201aを介して各種情報の表示を行なうと共に、ユーザインターフェース206のキーボード201bからユーザ指示等を受け取り、さらに、通信インターフェース202を介して外部(ネットワーク110上の装置或いはシステム)との通信を行なう。
【0035】
本実施の形態では、特に断らない限り、上述したようなMFP101(x)において、CPU201aが、システムバス220を介してキーボード206bからユーザからの入力を受け取り、且つ、RAM201b、LCD206a、ROM201c、通信インターフェース202、スキャナエンジン203、プリンタエンジン204、FAXボード205、及びDISK201dを制御することで、本実施の形態におけるMFP101(x)の機能を実施する。
【0036】
<PC102(x)の構成>
PC102(x)は、上記図4に示すように、CPU401、RAM402、表示部としてのCRT403、キーボード404、ポインティングデバイス405、ROM406、DISK407、及び通信インターフェース408が、システムバス420を介して互いに通信可能に接続された構成としている。
【0037】
ROM406或いはDISK407には、予め所定の処理プログラム(制御プログラム)が格納されており、CPU401は、当該処理プログラムを必要に応じてROM406或いはDISK407からRAM402上へ読み出して実行することで、本実施の形態におけるPC102(x)の機能を実施する。
【0038】
また、CPU401は、CRT403を介して各種情報の表示を行なうと共に、キーボード404やポインティングデバイス405からユーザ指示等を受け取り、さらに、通信インターフェース408を介して外部(ネットワーク110上の装置或いはシステム)との通信を行なう。
【0039】
本実施の形態では、特に断らない限り、上述したようなPC102(x)において、CPU401が、システムバス420を介してキーボード404やポインティングデバイス405からユーザからの入力を受け取り、且つ、RAM402、CRT403、ROM406、通信インターフェース408、及びDISK407を制御することで、本実施の形態におけるPC102(x)の機能を実施する。
【0040】
尚、MFP101(x)に対するユーザ指示や、ユーザへの情報提示は、例えば、上記図2に示したようなローカルなユーザーインターフェース206を介して行なうようにしてもよいし、上述したようなPC102(x)、すなわちネットワーク110を介して接続されたクライアント機器を介して行なうようにしてもよい。
また、ディレクトリサーバ106についても、PC102(x)と同様に、上記図4に示したような構成を備えるものとする。
【0041】
<MFP101(x)で保持される属性情報>
図5は、MFP101(x)で保持される属性情報500を示したものである。
属性情報500は、上記図5に示すように、属性名510、属性に対して設定されている値(設定値)520、及び属性のRead/Write情報530からなる。
ここでは、属性として、“510a”〜“510m”で示される属性があるものとする。
【0042】
属性510aは、「サポートしてるユーザ管理モードのリスト」属性であり、この設定値520としては、“ユーザ管理なし”、“パスワード”、“ユーザID”、“ユーザIDとパスワード”、及び“セキュリティドメインに参加”の複数の値がリストとして設定される。
【0043】
属性510bは、「現在のユーザ管理モード」属性であり、その設定値520としては、“セキュリティドメインに参加”が設定される。
属性510cは、「対応可能なディレクトリサーバの種類のリスト」属性であり、その設定値520としては、“標準LDAPサーバ”、“Active Directory(MS)”、“NDS(Novell)”、及び“OpenLDAP” の複数の値がリストとして設定される。
【0044】
属性510dは、「現在対応しているディレクトリサーバの種類」属性であり、その設定値520としては、“Active Directory(MS)”が設定される。
属性510eは、「現在対応しているディレクトリサーバのIPアドレス」属性であり、その設定値520としては、“123.456.654.321” が設定される。
【0045】
属性510fは、「機器の秘密暗号キー」属性であり、その設定値520としては、“0x34q4bffcdca001” が設定される。この設定値は、「現在のユーザ管理モード」属性510bが“セキュリティドメインに参加”に設定されている場合に有効となるものであり、ディレクトリサーバ106から発行されたアクセスチケットを解釈するために使用される。
【0046】
属性510gは、「ディレクトリサーバ接続不可時に使用許可するかどうか」属性であり、その設定値520としては、“TRUE”が設定される。
属性510hは、「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」であり、その設定値520としては、“無制限”、“時間制限”、“時間制限/固定最大枚数で制限”、“時間制限/最大枚数で制限”、“固定最大枚数で制限”、“最大枚数で制限”、及び“ログイン毎に制限” の複数の値がリストとして設定される。
【0047】
属性510iは、「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」であり、その設定値520としては、“時間制限”が設定される。
属性510jは、「時間制限の長さ」属性であり、その設定値520としては、“48時間”が設定される。
属性510kは、「最大枚数の日毎の削減割合」属性であり、その設定値520としては、“30”が設定される。
属性510lは、「固定最大枚数」属性であり、その設定値520としては、“100” が設定される。
属性510mは、「ログイン毎の最大枚数」属性であり、その設定値520としては、“20” が設定される。
【0048】
上述のような属性情報500は、データ構造は同じであるがMFP101(x)によって保持値が異なり、また、上記図3に示したROM201c、又はRAM201b、又はDISK201dに保持される。さらに、属性情報500は、詳細は後述する図21に示す処理(属性アクセス処理)により、PC102(x)から取得及び値設定が可能である。
【0049】
<属性情報500の表示及び変更>
ここでは、MFP101(x)が有する属性情報500を、PC102(x)から表示及び変更する場合の、PC102(x)の動作について説明する。
【0050】
(1)ユーザ管理モードの設定
図6は、MFP101(x)のユーザ管理モードに関する属性情報を、PC102(x)から表示及び変更する場合の、PC102(x)の動作をフローチャートにより示したものである。
【0051】
ステップS601:
PC102(x)において(上記図4参照)、CPU401は、上記図5に示した属性情報500の「サポートしてるユーザ管理モードのリスト」属性510aを、MFP101(x)から取得する。
具体的には例えば、CPU401は、通信インターフェース408を介して、属性取得用コマンドをMFP101(x)に対して送信する。これを受けた、MFP101(x)は、詳細は後述する図21に示す処理を実行する。これにより、PC101(x)に対しては、MFP101(x)からの属性510aが送信される。
【0052】
ステップS602:
CPU401は、ステップS601で取得した属性510aの情報を、CRT403上に表示する。
【0053】
ステップS603:
CPU401は、ステップS601と同様にして、上記図5に示した属性情報500の「現在のユーザ管理モード」属性510bを、MFP101(x)から取得する。
ステップS604:
CPU401は、ステップS603で取得した属性510bの情報を、CRT403上に表示する。
【0054】
ステップS605、ステップS606:
CPU401は、キーボード404或いはポインティングデバイス405によるユーザからの入力(選択入力)を待ち(ステップS605)、当該入力を受けると、当該入力に基づいて、ステップS603で取得した属性510bの情報を変更し、当該変更後の値をMFP101(x)に対して設定する(ステップS606)。
具体的には例えば、CPU401は、通信インターフェース408を介して、属性設定用コマンドをMFP101(x)に対して送信する。これを受けた、MFP101(x)は、詳細は後述する図21に示す処理を実行する。これにより、MFP101(x)が有する属性情報500の属性510bが変更される。
その後、本処理終了となる。
【0055】
図7は、上記図6に示したステップ605において、CRT403上に表示されるユーザインターフェース画面(ユーザ管理モードの設定画面)700を示したものである。
【0056】
設定画面700は、上記図7に示すように、ユーザが選択可能なユーザ管理モードの一覧表示部701、及びOKボタン703を含んでいる。ユーザは、一覧表示部701から所望するユーザ管理モードを選択可能である。上記図7では、ユーザが選択したユーザ管理モードが「パスワード」である状態を示しており、この「パスワード」が反転表示される。
ユーザは、所望のユーザ管理モードを選択して反転表示させた状態で、OKボタン703を押下する。これにより、上記図6に示した処理において、ステップS605からステップS606へと処理が進む。
【0057】
尚、例えば、上記図6に示した処理を、ユーザ管理モードを変更する対象であるMFP101(x)、或いは他のMFP101(y)のコントローラ201で実行するように構成してもよい。この場合、上記図7に示した設定画面700は、MFP101(x)或いは101(y)のユーザインターフェース206のLCD206aに表示されることになる。
【0058】
(2)ディレクトリサーバの設定
図8は、MFP101(x)の対応するディレクトリサーバに関する属性情報を、PC102(x)から表示及び変更する場合の、PC102(x)の動作をフローチャートにより示したものである。
【0059】
ステップS801:
PC102(x)において(上記図4参照)、CPU401は、上記図5に示した属性情報500の「対応可能な(サポートしている)ディレクトリサーバの種類のリスト」属性510cを、MFP101(x)から取得する。
具体的には例えば、CPU401は、通信インターフェース408を介して、属性取得用コマンドをMFP101(x)に対して送信する。これを受けた、MFP101(x)は、詳細は後述する図21に示す処理を実行する。これにより、PC101(x)に対しては、MFP101(x)からの属性510aが送信される。
【0060】
ステップS802:
CPU401は、ステップS801で取得した属性510cの情報を、CRT403上に表示する。
【0061】
ステップS803:
CPU401は、ステップS801と同様にして、上記図5に示した属性情報500の「現在対応しているディレクトリサーバの種類」属性510dを、MFP101(x)から取得する。
ステップS804:
CPU401は、ステップS803で取得した属性510dの情報を、CRT403上に表示する。
【0062】
ステップS805:
CPU401は、ステップS801と同様にして、上記図5に示した属性情報500の「現在対応しているディレクトリサーバのIPアドレス」属性510eを、MFP101(x)から取得する。
ステップS806:
CPU401は、ステップS805で取得した属性510eの情報を、CRT403上に表示する。
【0063】
ステップS807、ステップS808:
CPU401は、キーボード404或いはポインティングデバイス405によるユーザからの入力(選択入力)を待ち(ステップS807)、当該入力を受けると、当該入力に基づいて、ステップS803及びステップS805で取得した属性510d及び属性510eの情報を変更し、当該変更後の値をMFP101(x)に対して設定する(ステップS808)。
具体的には例えば、CPU401は、通信インターフェース408を介して、属性設定用コマンドをMFP101(x)に対して送信する。これを受けた、MFP101(x)は、詳細は後述する図21に示す処理を実行する。これにより、MFP101(x)が有する属性情報500の属性510d及び属性510eが変更される。
その後、本処理終了となる。
【0064】
図9は、上記図8に示したステップ807において、CRT403上に表示されるユーザインターフェース画面(ユーザ管理モードの設定画面)900を示したものである。
【0065】
設定画面900は、上記図9に示すように、ユーザが選択可能なディレクトリサーバの種類の一覧表示部901、選択ディレクトリサーバのIPアドレスの入力部903、及びOKボタン904を含んでいる。ユーザは、一覧表示部901から所望するディレクトリサーバを選択可能である。上記図7では、ユーザが選択したディレクトリサーバが「Active Directory(MS)」である状態を示しており、この「Active Directory(MS)」が反転表示される。また、ユーザは、一覧表示部901で選択したディレクトリサーバのアドレスを、入力部903へ入力する。
ユーザは、所望のディレクトリサーバを選択して反転表示させた状態で、且つ当該ディレクトリサーバのアドレスを入力した状態で、OKボタン904を押下する。これにより、上記図8に示した処理において、ステップS807からステップS808へと処理が進む。
【0066】
尚、例えば、上記図8に示した処理を、対応するディレクトリサーバを変更する対象であるMFP101(x)、或いは他のMFP101(y)のコントローラ201で実行するように構成してもよい。この場合、上記図9に示した設定画面900は、MFP101(x)或いは101(y)のユーザインターフェース206のLCD206aに表示されることになる。
【0067】
(3)ログイン条件の設定
図10は、MFP101(x)がディレクトリサーバ106に接続できない場合にログインをどのように許可するかに関する属性情報を、PC102(x)から表示及び変更する場合の、PC102(x)の動作をフローチャートにより示したものである。
【0068】
ステップS1001:
PC102(x)において(上記図4参照)、CPU401は、上記図5に示した属性情報500の「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性510hを、MFP101(x)から取得する。
具体的には例えば、CPU401は、通信インターフェース408を介して、属性取得用コマンドをMFP101(x)に対して送信する。これを受けた、MFP101(x)は、詳細は後述する図21に示す処理を実行する。これにより、PC101(x)に対しては、MFP101(x)からの属性510hが送信される。
【0069】
ステップS1002:
CPU401は、ステップS1001で取得した属性510hの情報を、CRT403上に表示する。
【0070】
ステップS1003:
CPU401は、ステップS1001と同様にして、上記図5に示した属性情報500の「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性510iを、MFP101(x)から取得する。
ステップS1004:
CPU401は、ステップS1003で取得した属性510iの情報を、CRT403上に表示する。
【0071】
ステップS1005:
CPU401は、ステップS1001と同様にして、上記図5に示した属性情報500の「ディレクトリサーバ接続不可時に使用許可するかどうか」属性510gを、MFP101(x)から取得する。
ステップS1006:
CPU401は、ステップS1005で取得した属性510gの情報を、CRT403上に表示する。
【0072】
ステップS1007、ステップS1008:
CPU401は、キーボード404或いはポインティングデバイス405によるユーザからの入力(選択入力)を待ち(ステップS1007)、当該入力を受けると、当該入力に基づいて、ステップS1003及びステップS1005で取得した属性510i及び属性510gの情報を変更し、当該変更後の値をMFP101(x)に対して設定する(ステップS1008)。
具体的には例えば、CPU401は、通信インターフェース408を介して、属性設定用コマンドをMFP101(x)に対して送信する。これを受けた、MFP101(x)は、詳細は後述する図21に示す処理を実行する。これにより、MFP101(x)が有する属性情報500の属性510i及び属性510gが変更される。
その後、本処理終了となる。
【0073】
図11は、上記図10に示したステップ1007において、CRT403上に表示されるユーザインターフェース画面(ユーザ管理モードの設定画面)1100を示したものである。
【0074】
設定画面1100は、上記図11に示すように、ディレクトリサーバ接続不能時にログインを可能とすることを指示するための入力部(チェックボックス)1101、使用制限の種類の表示部1102、及びOKボタン1004を含んでいる。
表示部1102には、「Directory Server接続不可時に使用する場合の制限の種類のリスト」属性510hの内容が表示され、「現在のDirectory Server接続不可時に使用する場合の制限の種類」属性510iの設定値に対応する部分が反転表示される。
【0075】
ユーザは、表示部1102で所望する設定を行ない、入力部1101を必要に応じてチェックした状態で、OKボタン1004を押下する。これにより、上記図10に示した処理において、ステップS1007からステップS1008へと処理が進む。
【0076】
尚、例えば、上記図10に示した処理を、設定を変更する対象であるMFP101(x)、或いは他のMFP101(y)のコントローラ201で実行するように構成してもよい。この場合、上記図11に示した設定画面1100は、MFP101(x)或いは101(y)のユーザインターフェース206のLCD206aに表示されることになる。
【0077】
<ジョブの生成及び発行>
図12は、PC102(x)が、MFP101(x)に対してジョブ(プリントジョブ、スキャナジョブ、ファックス送信ジョブ、及びコピージョブ等)を発行する際の、PC102(x)の動作をフローチャートにより示したものである。
【0078】
ステップS1201:
PC102(x)において(上記図4参照)、CPU401は、MFP101(x)が保持する属性情報500(上記図5参照)の属性510b(現在のユーザ管理モード)の情報を取得する。
【0079】
ステップS1202:
CPU401は、ステップS1201で取得した属性510bの設定値が“ユーザ管理なし”であるか否かを判別する。
この判別の結果、“ユーザ管理なし”の場合にはステップS1203へ進み、そうでない場合にはステップS1204へ進む。
【0080】
ステップS1203:
ステップS1202の判別の結果、“ユーザ管理なし”の場合、CPU401は、詳細は後述するが、ジョブに必要な各種情報をジョブに設定した上で、当該ジョブをMFP101(x)に対して発行する。
その後、本処理終了となる。
【0081】
ステップS1204:
ステップS1202の判別の結果、“ユーザ管理なし”でない場合、CPU401は、ステップS1201で取得した属性510bの設定値が“パスワード”であるか否かを判別する。
この判別の結果、“パスワード”の場合にはステップS1205へ進み、そうでない場合にはステップS1206へ進む。
【0082】
ステップS1205:
ステップS1204の判別の結果、“パスワード”の場合、CPU401は、CRT403に対して、パスワード入力を促すユーザインターフェース画面を表示する。
これにより、ユーザは、上記画面上から所定のパスワードを入力する。
その後、上述したステップS1203へ進む。
【0083】
ステップS1206:
ステップS1204の判別の結果、“パスワード”でない場合、CPU401は、ステップS1201で取得した属性510bの設定値が“ユーザID”であるか否かを判別する。
この判別の結果、“ユーザID”の場合にはステップS1207へ進み、そうでない場合にはステップS1208へ進む。
【0084】
ステップS1207:
ステップS1206の判別の結果、“ユーザID”の場合、CPU401は、CRT403に対して、ユーザID入力を促すユーザインターフェース画面を表示する。
これにより、ユーザは、上記画面上から所定のユーザIDを入力する。
その後、上述したステップS1203へ進む。
【0085】
ステップS1208:
ステップS1206の判別の結果、“ユーザID”でない場合、CPU401は、ステップS1201で取得した属性510bの設定値が“ユーザIDとパスワード”であるか否かを判別する。
この判別の結果、“ユーザIDとパスワード”の場合にはステップS1209へ進み、そうでない場合にはステップS1210へ進む。
【0086】
ステップS1209:
ステップS1208の判別の結果、“ユーザIDとパスワード”の場合、CPU401は、CRT403に対して、ユーザID及びパスワードの入力を促すユーザインターフェース画面を表示する。
これにより、ユーザは、上記画面上から所定のユーザID及びパスワードを入力する。
その後、上述したステップS1203へ進む。
【0087】
ステップS1210:
ステップS1208の判別の結果、“ユーザIDとパスワード”でない場合、CPU401は、PC102(x)のユーザがディレクトリサーバ106の管理するセキュリティドメインに既にログインしているかどうか否かを判別する。具体的には例えば、CPU401は、PC102(x)のオペレーティングシステムに対して問い合わせることで、当該判別を行う。
この判別の結果、既にログイン済みでない場合にはステップS1211へ進み、既にログイン済みの場合にはステップS1212へ進む。
【0088】
ステップS1211:
ステップS1210の判別の結果、ログイン済みでない場合、CPU401は、CRT403に対して、ユーザID及びパスワードの入力を促すユーザインターフェース画面を表示する。これにより、ユーザは、上記画面上から所定のユーザID及びパスワードを入力する。
ステップS1213:
CPU401は、ステップS1211でユーザから入力されたユーザID及びパスワードの情報を、ディレクトリサーバ106に対して、Kerberosプロトコルにより送信することで、TGT(チケット生成チケット)情報を取得する。
その後、ステップS1214へ進む。
【0089】
ステップS1213:
ステップS1210の判別の結果、ログイン済みの場合、CPU401は、PC102(x)のオペレーティングシステムに対して、現在のセッションで使用しているTGT(チケット生成チケット)情報を要求して取得する。
その後、ステップS1214へ進む。
【0090】
ステップS1214:
CPU401は、ステップS1212又はS1213で取得したTGT情報に基づいて、PC102(x)のオペレーティングシステムにより保持されているユーザ名、又はステップS1211においてユーザから入力されたユーザ名に該当するユーザの印刷可能枚数情報を、Kerberosプロトコル及びLDAPプロトコルにより、ディレクトリサーバ106から取得する。
【0091】
ステップS1215:
CPU401は、ステップS1214で取得した印刷可能枚数情報により、ユーザの印刷可能枚数が1枚以上であるか否か、すなわち印刷可能であるか否かを判別する。
この判別の結果、印刷可能でない場合にはステップS1216へ進み、印刷可能である場合にはステップS1217へ進む。
【0092】
ステップS1216:
ステップS1215の判別の結果、印刷可能でない場合、CPU401は、CRT403に対して、ジョブ発行が出来ない旨を表すユーザインターフェース画面表示し、本処理終了とする。
【0093】
ステップS1217:
ステップS1215の判別の結果、印刷可能である場合、CPU401は、ステップS1212又はS1213で取得したTGT情報、及びジョブ発行先のMFP101(x)を特定する識別子をパラメータを、ディレクトリサーバ106に対してKeberosプロトコルにより送信することで、MFP101(x)に対するアクセスチケットを取得する。
ここでのアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、及びアクセスチケットの有効期限に関する情報が、MFP101(x)の秘密暗号キーにより暗号化された情報を含む。また、アクセスチケット内部のデータフォーマット、及び使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバ106の種類により、一意に予め決定されている。
【0094】
ステップS1218:
CPU401は、ステップS1217で取得したアクセスチケット、及びジョブに必要な各種情報をジョブに設定した上で、当該ジョブを、MFP101(x)に対して発行する。
その後、本処理終了となる。
【0095】
図13は、上記図12に示したステップS1203のジョブ発行の処理を具体的に示したものである。
【0096】
ステップS1301〜ステップS1304:
CPU401は、ステップS1302及びステップS1303の処理を、必要な属性の設定が完了するまで繰り返し実行する。
【0097】
ステップS1302:
CPU401は、対象属性について、属性設定コマンドのパラメータを設定する。ここでのパラメータは、対象属性の属性名及びその設定値を含む。
ステップS1303:
CPU401は、ステップS1302で生成した属性設定コマンドを、MFP101(x)に対して送信する。
【0098】
ステップS1305:
CPU401は、ジョブデータ送信コマンドにより、PC102(x)のアプリケーション等で生成された画像データ等のジョブ処理の対象となるデータを、MFP101(x)に対して送信する。
ステップS1306:
CPU401は、MFP101(x)に対して、ジョブ投入コマンドの送信完了を示すジョブ投入完了通知コマンドを送信し、その後、本処理終了とする。
【0099】
<ジョブの受信>
図14は、MFP101(x)が、PC102(x)で上記図13の処理が実行されることで発行されたジョブを受信した際の、MFP101(x)の動作をフローチャートにより示したものである。
【0100】
ステップS1401:
MFP101(x)において(上記図2参照)、コントローラ201は、PC102(x)から受信したコマンド及びそのパラメータを解析する。
【0101】
ステップS1402:
コントローラ201は、ステップS1401の解析結果から、受信コマンドが属性設定コマンドであるか否かを判別する。
この判別の結果、属性設定コマンドである場合にはステップS1403へ進み、そうでない場合にはステップS1406へ進む。
【0102】
ステップS1403:
ステップS1402の判別の結果、受信コマンドが属性設定コマンドである場合、コントローラ201は、属性設定コマンドにより示される属性がMFP101(x)に解釈可能であるか否か、すなわち当該属性がMFP101(x)に設定可能であるか否かを判別する。
この判別の結果、属性設定可能である場合にはステップS1404へ進み、そうでない場合にはステップS1405へ進む。
【0103】
ステップS1404:
ステップS1403の判別の結果、属性設定可能である場合、コントローラ201は、ステップS1401で得られた解析結果に基づいて、受信属性設定コマンドにより示される属性の属性名及びその属性値を、RAM201b或いはDISK201d(上記図3参照)に対してジョブデータとして保存する。
その後、本処理終了となる。
【0104】
ステップS1405:
ステップS1403の判別の結果、属性設定可能でない場合、コントローラ201は、受信属性設定コマンドで指定された属性は設定不可能であり、属性の設定ができなかった旨を、PC102(x)に対して通知し、その後、本処理を終了する。
【0105】
ステップS1406:
ステップS1402の判別の結果、受信コマンドが属性設定コマンドでない場合、コントローラ201は、ステップS1401の解析結果から、受信コマンドがジョブデータ送信コマンドであるか否かを判別する。
この判別の結果、ジョブデータ送信コマンドである場合にはステップS1407へ進み、そうでない場合にはステップS1408へ進む。
【0106】
ステップS1407:
ステップS1406の判別の結果、受信コマンドがジョブデータ送信コマンドである場合、コントローラ201は、当該ジョブデータ送信コマンドに続いてPC102(x)から受信するジョブデータを、RAM201b或いはDISK201d(上記図3参照)に保存し、その後、本処理を終了する。
【0107】
ステップS1408:
ステップS1406の判別の結果、受信コマンドがジョブデータ送信コマンドでない場合、コントローラ201は、ステップS1401の解析結果から、受信コマンドがジョブ投入完了(終了)コマンドであるか否かを判別する。
この判別の結果、ジョブ投入完了(終了)コマンドである場合にはステップS1409へ進み、そうでない場合にはステップS1410へ進む。
【0108】
ステップS1409:
ステップS1408の判別の結果、ジョブ投入完了(終了)コマンドである場合、コントローラ201は、RAM201b或いはDISK201d(上記図3参照)に保存したジョブデータの処理を開始する。
【0109】
ステップS1410:
ステップS1408の判別の結果、ジョブ投入完了(終了)コマンドでない場合、コントローラ201は、受信コマンドはその他のコマンドであると認識し、当該コマンドに応じた処理を実行し、その後、本処理終了とする。
【0110】
ここで、図15は、上記図14に示した処理の実行により、MFP101(x)内で保持されたジョブ1500のデータ構造を示したものである。
【0111】
ジョブ1500は、上記図15に示すように、ジョブの機能及び属性を表す属性のリスト1510、及びジョブの処理対象となるデータを表すジョブデータ1520を含んでいる。
尚、ジョブデータ1520については、ジョブの種別によってはなくてもよい。
【0112】
属性のリスト1510は、属性名1511及びこれに対応する属性値1512の対のリストである。
ここでは、“1513(1)”〜“1514(n)”で示される属性に関して、属性名1511及び属性値1512が設定されているものとする。
【0113】
属性1513(1)は、「ジョブ種類」属性であり、その属性値1512により、対象ジョブが“印刷ジョブ”(Print)であることが示されている。
属性1513(2)は、「ジョブの開始モード」属性であり、その属性値1512により、対象ジョブの開始モードが“保留”であることが示されている。
属性1513(3)は、「ユーザ管理モード」属性であり、その属性値1512により、ユーザ管理モードが“セキュリティドメインに参加” であることが示されている。これにより、対象ジョブのユーザ情報として、後述する「アクセスチケット」属性1513(6)の設定値を使用することになる。
【0114】
属性1513(4)は、「ユーザID」属性であり、その属性値1512に対しては、ユーザ管理モードが“ユーザID”又は“ユーザIDとパスワード”である場合に、ユーザIDが設定される。
属性1513(5)は、「パスワード」属性であり、その属性値1512に対しては、ユーザ管理モードが“ユーザID”又は“ユーザIDとパスワード”である場合に、パスワードが設定される。
属性1513(6)は、「アクセスチケット」属性であり、その属性値1512に対しては、ユーザ管理モードが“セキュリティドメインに参加”である場合に、アクセスチケットが設定される。
【0115】
属性1513(6)以降にも、必要に応じて、様々な属性が設定される。
尚、属性1513(4)〜1513(6)については、例えば、属性1513(4)の属性値に基づいて、属性1513(4)〜1513(6)の中の必要な属性に対して、属性値を設定するようにしてもよい。
【0116】
<ジョブの処理>
図16は、MFP101(x)が、上記図15に示したようなジョブ1500を処理する際の、MFP101(x)の動作をフローチャートにより示したものである。
【0117】
ステップS1601:
MFP101(x)において、(上記図2参照)、コントローラ201は、上記図3に示した属性情報500から「現在のユーザ管理モード」属性510bを取得する。
【0118】
ステップS1602:
コントローラ201は、ステップS1601で取得した属性510bの属性値が“ユーザ管理なし”であるか否かを判別する。
この判別の結果、“ユーザ管理なし”である場合にはステップS1603へ進み、そうでない場合にはステップS1604へ進む。
【0119】
ステップS1603、ステップS1610、ステップS1611:
ステップS1602の判別の結果、“ユーザ管理なし”である場合、コントローラ201は、上記図15に示したジョブ1500において、属性1513(3)〜1513(6)を除いた属性に対する処理を実行し(ステップS1603)、当該属性に基づき、ジョブデータ1520に対する処理を実行する(ステップS1610)。そして、コントローラ201は、当該ジョブの処理結果をログに記録し(ステップS1611)、その後、本処理終了する。このときのログは、RAM201b又はDISK201d(上記図3参照)に保存される。
【0120】
ステップS1604:
ステップS1602の判別の結果、“ユーザ管理なし”でない場合、コントローラ201は、ステップS1601で取得した属性510bの属性値が“パスワード”であるか否かを判別する。
この判別の結果、“パスワード”である場合にはステップS1605へ進み、そうでない場合にはステップS1606へ進む。
【0121】
ステップS1605:
ステップS1604の判別の結果、“パスワード”である場合、コントローラ201は、予めRAM201b又はDISK201d(上記図3参照)に保持されているパスワードの値と、上記図15に示したジョブ1500に含まれる「パスワード」属性1513(5)の属性値との比較を行い、これらのパスワードが合致していた場合にのみ、上述したようなステップS1603からの処理を実行し、合致していない場合にはジョブ処理を中止する。
【0122】
ステップS1606:
ステップS1604の判別の結果、“パスワード”でない場合、コントローラ201は、ステップS1601で取得した属性510bの属性値が“ユーザID”であるか否かを判別する。
この判別の結果、“ユーザID”である場合にはステップS1607へ進み、そうでない場合にはステップS1608へ進む。
【0123】
ステップS1607:
ステップS1606の判別の結果、“ユーザID”である場合、コントローラ201は、予めRAM201b又はDISK201d(上記図3参照)に保持されているユーザIDの値と、上記図15に示したジョブ1500に含まれる「ユーザID」属性1513(4)の属性値との比較を行い、これらのユーザIDが合致していた場合にのみ、上述したようなステップS1603からの処理を実行し、合致していない場合にはジョブ処理を中止する。
【0124】
ステップS1608:
ステップS1606の判別の結果、“ユーザID”でない場合、コントローラ201は、ステップS1601で取得した属性510bの属性値が“ユーザIDとパスワード”であるか否かを判別する。
この判別の結果、“ユーザIDとパスワード”である場合にはステップS1609へ進み、そうでない場合にはステップS1612へ進む。
【0125】
ステップS1609:
ステップS1608の判別の結果、“ユーザIDとパスワード”である場合、コントローラ201は、予めRAM201b又はDISK201d(上記図3参照)に保持されているユーザID及びパスワードの各値と、上記図15に示したジョブ1500に含まれる「ユーザID」属性1513(4)及び「パスワード」属性1513(5)の各属性値との比較を行い、これらのユーザID及びパスワードの両者が合致していた場合にのみ、上述したようなステップS1603からの処理を実行し、合致していない場合にはジョブ処理を中止する。
【0126】
ステップS1612:
ステップS1608の判別の結果、“ユーザIDとパスワード”でない場合、コントローラ201は、上記図15に示したジョブ1500に含まれる「アクセスチケット」属性1513(9)の属性値を、上記図3に示した属性情報500の属性510fにより示される秘密暗号キーを使用して解読する。
【0127】
ステップS1613:
コントローラ201は、ステップS1612の解読の結果、アクセスチケットを解読できなかった、或いは解読できたが、アクセスチケット内で保持される印刷可能枚数情報が“0”であるか否かを判別することで、アクセスチケットの有効性を判別する。すなわち、コントローラ201は、ステップS1612の解読の結果、アクセスチケットを解読できなかった、或いは解読できたが、アクセスチケット内で保持される印刷可能枚数情報が“0”である場合、アクセスチケットは無効であると判別する。
この判別の結果、アクセスチケットが無効である場合にはステップS1614へ進み、アクセスチケットが有効である場合にはステップS1615へ進む。
【0128】
ステップS1614:
ステップS1613の判別の結果、アクセスチケットが無効である場合、コントローラ201は、ジョブデータを破棄し、本処理終了する。
【0129】
ステップS1615:
ステップS1613の判別の結果、アクセスチケットが有効である場合、コントローラ201は、アクセスチケットに含まれるユーザIDに該当するユーザの印刷可能枚数情報を、Kerberosプロトコル及びLDAPプロトコルによりディレクトリサーバ106から取得する。
【0130】
ステップS1616:
コントローラ201は、ステップS1615で取得した印刷可能枚数が1枚以上であるか否か、すなわち印刷可能であるか否かを判別する。
この判別の結果、印刷可能でない場合にはステップS1617へ進み、印刷可能である場合にはステップS1618へ進む。
【0131】
ステップS1617:
ステップS1616の判別の結果、印刷可能でない場合、コントローラ201は、ジョブデータを破棄し、本処理終了する。
【0132】
ステップS1618〜ステップS1620:
ステップS1616の判別の結果、印刷可能である場合、コントローラ201は、上記図15に示したジョブ1500において、属性1513(3)〜1513(6)を除いた属性に対する処理を実行し(ステップS1618)、当該属性に基づき、ジョブデータ1520に対する処理を実行する(ステップS1619)。このとき、コントローラ201は、ステップS1615で取得した印刷可能枚数を超えないようにジョブ実行を監視し、最大印刷可能枚数を超えた場合にはジョブデータの処理を異常終了させる。そして、コントローラ201は、当該ジョブの処理結果(正常終了の処理結果、又は異常終了の処理結果)をログに記録し(ステップS1620)、その後、本処理終了する。このときのログは、対象ジョブを発行したユーザのユーザID、及び印刷枚数の情報が含まれた状態で、RAM201b又はDISK201d(上記図3参照)に保存される。
【0133】
尚、本実施の形態では、MFP101(x)が、上記図14に示したジョブ受信の処理の実行により、一旦ジョブ1500をMFP101(x)内に構築した後、改めて上記図16に示したようにしてジョブ処理を実行するように構成しているが、例えば、上記14のジョブ受信処理と、上記図16のジョブ処理とを合わせてることで、ジョブの受信及び実行を同時に行なうようにしてもよい。
【0134】
また、本実施の形態では、上記図16に示したジョブ処理において、ステップS1613でアクセスチケットの有効性を判別(印刷可能枚数の検査)し、さらに、ステップS1615及びS1616でディレクトリサーバ106が保持するユーザの印刷可能枚数の判別を行なうように構成しているが、例えば、ステップS1613での判別、又はステップS1615及びS1616での判別の何れか一方を省略するようにしてもよい。
【0135】
また、本実施の形態では、上記図16に示したジョブ処理において、ステップS1611又はS1620でログへの記録を行なう、すなわちジョブの処理結果をMFP101(x)内で保持するように構成しているが、例えば、ディレクトリサーバ106で保持されている対象ユーザの印刷可能枚数及び累積印刷枚数を、MFP101(x)で保持したジョブの処理結果に基づき更新するようにしてもよい。
具体的には例えば、MFP101(x)は、印刷可能枚数の更新について、ディレクトリサーバ106で保持されているユーザIDにより示されるユーザの印刷可能枚数及び累積印刷枚数をLDAPプロトコルにより取得し、当該印刷可能枚数から、ジョブ実行で印刷した枚数を減じ、さらに当該累積印刷枚数に対して、ジョブ実行で印刷した枚数を加え、これらの結果を、LDAPプロトコルによりディレクトリサーバ106に対して設定する。
【0136】
<ログイン処理>
図17は、MFP101(x)のユーザインターフェース206(LCD206a)によりユーザに対して提供されるログイン画面により、ユーザがログインする際の、MFP101(x)の動作をフローチャートにより示したものである。
【0137】
ステップS1701:
MFP101(x)において、(上記図2参照)、コントローラ201は、上記図3に示した属性情報500から「現在のユーザ管理モード」属性510bを取得する。
【0138】
ステップS1702:
コントローラ201は、ステップS1701で取得した属性510bの属性値が“ユーザ管理なし”であるか否かを判別する。
この判別の結果、“ユーザ管理なし”である場合にはステップS1703へ進み、そうでない場合にはステップS1704へ進む。
【0139】
ステップS1703:
ステップS1702の判別の結果、“ユーザ管理なし”である場合、コントローラ201は、ログイン画面上でユーザから入力されたログイン情報を、RAM201b又はDISK201d(上記図3参照)に保存する。
ここでのログイン情報には、ユーザがログインした時点でのユーザ管理モード、ユーザID、及び印刷可能枚数等の情報を含む。印刷可能枚数は、ログイン期間内でコンソールから発行されたプリントジョブやコピージョブ等の印刷を伴うジョブで使用した印刷枚数により順次更新され、印刷可能枚数が“0”になった時点で、ジョブが終了される。ステップS1703では、印刷可能枚数は無限大に設定される。
ステップS1725:
コントローラ201は、ステップS1703の処理後、現在保持している(保留)ジョブの処理を実行し、その後、本処理終了する。
【0140】
ステップS1704:
ステップS1702の判別の結果、“ユーザ管理なし”でない場合、コントローラ201は、ステップS1701で取得した属性510bの属性値が“パスワード”であるか否かを判別する。
この判別の結果、“パスワード”である場合にはステップS1705へ進み、そうでない場合にはステップS1706へ進む。
【0141】
ステップS1705:
ステップS1704の判別の結果、“パスワード”である場合、コントローラ201は、ログイン画面上にパスワードの入力を促すユーザインターフェースを表示し、当該ユーザインターフェースによりユーザから入力されたパスワードの値と、予めRAM201b又はDISK201d(上記図3参照)に保持されているパスワードの値との比較を行い、これらのパスワードが合致していた場合にのみ、上述したようなステップS1703からの処理を実行し、合致していない場合にはログイン不可として処理を中止する。
【0142】
ステップS1706:
ステップS1704の判別の結果、“パスワード”でない場合、コントローラ201は、ステップS1701で取得した属性510bの属性値が“ユーザID”であるか否かを判別する。
この判別の結果、“ユーザID”である場合にはステップS1707へ進み、そうでない場合にはステップS1708へ進む。
【0143】
ステップS1707:
ステップS1706の判別の結果、“ユーザID”である場合、コントローラ201は、ログイン画面上にユーザIDの入力を促すユーザインターフェースを表示し、当該ユーザインターフェースによりユーザから入力されたユーザIDの値と、予めRAM201b又はDISK201d(上記図3参照)に保持されているユーザIDの値との比較を行い、これらのユーザIDが合致していた場合にのみ、上述したようなステップS1703からの処理を実行し、合致していない場合にはログイン不可として処理を中止する。
【0144】
ステップS1708:
ステップS1706の判別の結果、“ユーザID”でない場合、コントローラ201は、ステップS1701で取得した属性510bの属性値が“ユーザIDとパスワード”であるか否かを判別する。
この判別の結果、“ユーザIDとパスワード”である場合にはステップS1709へ進み、そうでない場合にはステップS1710へ進む。
【0145】
ステップS1709:
ステップS1708の判別の結果、“ユーザIDとパスワード”である場合、コントローラ201は、ログイン画面上にユーザID及びパスワードの入力を促すユーザインターフェースを表示し、当該ユーザインターフェースによりユーザから入力されたユーザID及びパスワードの各値と、予めRAM201b又はDISK201d(上記図3参照)に保持されているユーザID及びパスワードの値との比較を行い、これらのユーザID及びパスワードの両者が合致していた場合にのみ、上述したようなステップS1703からの処理を実行し、合致していない場合にはログイン不可として処理を中止する。
【0146】
ステップS1710:
ステップS1708の判別の結果、“ユーザIDとパスワード”でない場合、コントローラ201は、上記図5に示した属性情報500の属性510eで示されるディレクトリサービス106へのアクセスを試みる。
この結果、ディレクトリサービス106との接続が可能である場合にはステップS1712へ進み、ディレクトリサービス106との接続が不可能である場合にはステップS1719へ進む。
【0147】
ステップS1712:
ステップS1710におけるディレクトリサービス106へのアクセスの結果、ディレクトリサービス106との接続が可能である場合、コントローラ201は、ログイン画面上にユーザ名及びパスワードの入力を促すユーザインターフェースを表示し、当該ユーザインターフェースによりユーザから入力されたユーザ名及びパスワードを取得する。
【0148】
ステップS1713:
コントローラ201は、ステップS1712で取得したユーザからのユーザ名及びパスワードを使用して、Kerberosプロトコルにより、ディレクトリサーバ106からアクセスチケットを取得する。
このとき、ディレクトリサーバ106において、入力ユーザ名又は入力パスワードが誤っていると判断された場合等に、ディレクトリサーバ106からエラーが返信された場合、コントローラ201は、再びステップS1712において、ユーザ名とパスワードの入力を促すユーザインターフェースを表示する。
【0149】
ステップS1714:
コントローラ201は、ステップS1713で取得したアクセスチケットを、上記図5の属性情報500の属性510fにより示される秘密暗号キーを使用して解読する。
【0150】
ステップS1715:
コントローラ201は、ステップS1714でのアクセスチケットの解読により、アクセスチケットの有効性を判別する。具体的には例えば、コントローラ201は、アクセスチケットが有効期限以内であるか否かを判別すると共に、及び印刷可能枚数が1枚以上であるか否かを判別する。
この判別の結果、アクセスチケットが有効期限以内であり、且つ印刷可能枚数が1枚以上である場合には、アクセスチケットが有効であるものとして、ステップS1717へ進む。一方、アクセスチケットが有効期限以内でない、或いは印刷可能枚数が1枚以上でない場合には、アクセスチケットが無効であるものとして、ステップS1716へ進む。
【0151】
ステップS1716:
ステップS1715の判別の結果、アクセスチケットが無効である場合、コントローラ201は、入力ユーザ名及びパスワードではMFP101(x)を現在使用することができない旨を示すユーザインターフェースをLCD206a(上記図3参照)上に表示し、その後、本処理終了する。
【0152】
ステップS1717:
ステップS1715の判別の結果、アクセスチケットが有効である場合、コントローラ201は、ログイン情報の保存、及びユーザ情報キャッシュの更新を行う。
ここで、ログイン情報に含まれる印刷可能枚数情報については、アクセスチケットに含まれる枚数情報を設定する。一方のユーザ情報キャッシュは、例えば、詳細は後述する図18に示されるようなデータ構造を有するデータであり、RAM201b又はDISK201dに保持されている。ユーザ情報キャッシュの更新については、アクセスチケットを取得する際に使用したユーザ名及びパスワードと、アクセスチケットに含まれるユーザID、印刷可能枚数、及びログインの日時の情報とを追加設定することにより実施する。既に同じユーザ名がユーザ情報キャッシュ内に存在する場合は、既存情報の更新を行なう。
【0153】
ステップS1718:
コントローラ201は、ステップS1717の処理後、現在保持しているジョブ(保留ジョブ)の処理を行い、その後、本処理終了する。
【0154】
ステップS1719:
ステップS1710におけるディレクトリサービス106へのアクセスの結果、ディレクトリサービス106との接続が不可能である場合、コントローラ201は、上記図5に示した属性情報の属性510g(「ディレクトリサーバ接続不可時に使用許可するかどうか」)を取得し、当該属性510gにより、ディレクトリサーバ106と接続不可時であっても利用可能であるか否かを判別する。
この判別の結果、ディレクトリサーバ106と接続不可時であっても利用可能である場合にはステップS1721へ進み、そうでない場合にはステップS1720へ進む。
【0155】
ステップS1720:
ステップS1719の判別の結果、ディレクトリサーバ106と接続不可時であれば利用不可能である場合、コントローラ201は、現在ログインすることができない旨を表すユーザインターフェースをLCD206a(上記図3参照)上に表示し、その後、本処理終了する。
【0156】
ステップS1721:
ステップS1719の判別の結果、ディレクトリサーバ106と接続不可時であっても利用可能である場合、コントローラ201は、LCD206a(上記図3参照)上にユーザ名及びパスワードの入力を促すユーザインターフェースを表示する。
【0157】
ステップS1722:
コントローラ201は、ステップS1721のユーザインターフェースによりユーザから入力されたユーザ名及びパスワードの両者が、RAM201b又はDISK201dに保持されているユーザ情報キャッシュ内に存在するか否かを判別する。
この判別の結果、ユーザ情報キャッシュ内に入力ユーザ名及びパスワードが存在しない場合にはステップS1223へ進み、ユーザ情報キャッシュ内に入力ユーザ名及びパスワードが存在する場合にはステップS1223へ進む。
【0158】
ステップS1723:
ステップS1722の判別の結果、ユーザ情報キャッシュ内に入力ユーザ名及びパスワードが存在しない場合、コントローラ201は、入力ユーザ名ではMFP101(x)を現在使用することができない旨を表すユーザインターフェースをLCD206a(上記図3参照)上に表示し、その後、本処理終了する。
【0159】
ステップS1724:
ステップS1722の判別の結果、ユーザ情報キャッシュ内に入力ユーザ名及びパスワードが存在する場合、コントローラ201は、詳細は後述する図26に示す処理を実行することで印刷可能枚数を求め、当該印刷可能枚数及びユーザIDをログイン情報として保存する。また、コントローラ201は、ログイン情報に含まれるユーザ管理モードに対して、「セキュリティドメインに参加(ディレクトリサーバに接続不能)」の値を設定する。
ステップS1718:
コントローラ201は、ステップS1724の処理後、現在保持しているジョブ(保留ジョブ)の処理を行い、その後、本処理終了する。
【0160】
上述のような処理実行により保存されたログイン情報は、ログインセッション内のジョブ発行において、動作の制限及記録のために使用される。すなわち、ログイン情報に含まれる印刷印刷可能枚数を超えて印刷が行われた場合はジョブが中止される。また、ジョブ内で印刷された印刷枚数は、ログイン情報の印刷可能枚数から減算される。さらに、ログイン情報に含まれるユーザ管理モードが「セキュリティドメインに参加(ディレクトリサーバに接続不能)」に設定されている場合、MFP101(x)で保持している属性情報500の「Directory Server接続不可時に使用する場合の制限の種類のリスト」属性510h(上記図5参照)の内容に基づいて、「最大印刷枚数」属性510l、又はユーザ情報キャッシュに含まれる印刷可能枚数の値から、ジョブ内で印刷した枚数を減ずることで、印刷可能枚数の値を更新する。ログイン情報に含まれるユーザIDは、ログインセッション内で発行されたジョブで印刷した枚数と共に、ログに記録される。また、ユーザがログオフした時点で、ログイン情報は破棄される。
【0161】
尚、本実施の形態では、上記図17に示した処理において、MFP101(x)がディレクトリサーバ106に対して接続可能な場合であっても、ステップS1717で、ログイン情報にログインした時点での印刷可能枚数を保持し、ログイン期間内でコンソールから発行されたジョブによってのみ当該印刷可能枚数を更新するように構成したが、例えば、MFP101(x)がディレクトリサーバ106に対して接続可能な場合、MFP101(x)が、ジョブの発行直前にディレクトリサーバ106で保持されている対象ユーザの印刷可能枚数を取得し、これにより印刷可能枚数を制限するようにしてもよい。この場合、ステップS1717で保持するログイン情報に対してTGTを含ませるようにすることで、ジョブの発行直前に、ディレクトリサーバ106で保持されているユーザの印刷可能枚数を、KerberosプロトコルおよびLDAPプロトコルにより取得する。
【0162】
図18は、上記図17の処理で更新されるユーザ情報キャッシュ1800のデータ構造を示したものである。
ユーザ情報キャッシュ1800は、MFP101(x)のRAM201b又はDISK201dに保持されるデータであり、上記図18に示すように、“1811”〜“1813”で示されるユーザのそれぞれに対して、ユーザ名1810、パスワード1820、ユーザID1830、印刷可能枚数1840、及びログイン日時1850が設定されたデータである。
【0163】
<保留ジョブの処理>
図19は、MFP101(x)で保留しているジョブを処理する際の、MFP101(x)の動作をフローチャートにより示したものである。
【0164】
ステップS1901:
MFP101(x)において、(上記図2参照)、コントローラ201は、MFP101(x)内で印刷の実行が保留されているジョブの一覧を取得する。
【0165】
ステップS1902:
コントローラ201は、上記図17に示した処理の実行により保持したログイン情報に含まれるユーザIDと、ステップS1901で取得したジョブ一覧情報を構成するジョブが属性として有するユーザIDとを比較し、両者が合致するジョブのリストを生成する。
ここで比較対象となるジョブのユーザIDは、当該ジョブ内にアクセスチケットが存在する場合、このアクセスチケットを解読することで取得して使用し、そうでない場合、当該ジョブ内に含まれるユーザIDを取得して使用する。
【0166】
ステップS1903:
コントローラ201は、ステップS1902の処理の結果、ジョブリストを生成できたか否か、すなわちステップS1901で取得したジョブ一覧の中に、上記図17に示した処理の実行により保持したログイン情報に含まれるユーザIDが存在したことで、ジョブリストの生成が行えたか否かを判別する。
この判別の結果、ジョブリストが得られた場合にはステップS1904へ進み、そうでない場合には本処理終了となる。
【0167】
ステップS1904:
ステップS1903の判別の結果、ジョブリストが得られた場合、コントローラ201は、当該ジョブリストをユーザインターフェースとしてLCD206a(上記図3参照)上に表示する。
【0168】
図20は、ステップS1904でLCD206aに表示されるユーザインターフェース画面2000を示したものである。
ユーザインターフェース画面2000は、上記図20に示すように、ジョブリストの表示部2002、OKボタン2003、及びキャンセルボタン2004を含む。
【0169】
ステップS1905:
コントローラ201は、上記図20に示した画面2000上でユーザからOKボタン2003又はキャンセルボタン2004が押下が押されたか否かを監視する。
この結果、OKボタン2003が押下された場合、ジョブ実行指示がなされたと見なしてステップS1906へ進む。一方、キャンセルボタン2004が押下された場合、画面2000を閉じて本処理終了する。
【0170】
ステップS1906:
ステップS1905の監視の結果、OKボタン2003が押下された場合、コントローラ201は、ステップS1902で生成したジョブリスト中のジョブを実行し、その後、本処理終了する。
【0171】
<属性アクセス処理>
図21は、PC102(x)がMFP101(x)に対して、MFP101(x)が保持する属性情報500(上記図5参照)を取得又は設定するためにアクセスコマンドを発行した際の、MFP101(x)の動作をフローチャートにより示したものである。
【0172】
ステップS2101:
MFP101(x)において、(上記図2参照)、コントローラ201は、PC102(x)から受信したコマンド及びそのパラメータを解析する。
【0173】
ステップS2102:
コントローラ201は、ステップS2101での解析の結果、受信コマンドが“属性獲得(取得)コマンド”であるか否かを判別する。
この判別の結果、“属性獲得(取得)コマンド”である場合にはステップS2103へ進み、そうでない場合にはステップS2107へ進む。
【0174】
ステップS2103:
ステップS2102の判別の結果、受信コマンドが“属性獲得(取得)コマンド”である場合、コントローラ201は、当該属性獲得コマンドにより指定された属性が、獲得可能であるか否かを判別する。
この判別の結果、獲得可能である場合にはステップS2104へ進み、そうでない場合にはステップS2106へ進む。
【0175】
ステップS2104:
ステップS2103の判別の結果、属性獲得コマンドにより指定された属性が獲得可能である場合、コントローラ201は、MFP101(x)で保持している属性情報500(上記図5参照)から該当する属性の値を取得する。
ステップS2105:
コントローラ201は、ステップS2104で取得した属性値を返信コマンドのパラメータにセットし、当該返信コマンドパラメータを、属性獲得コマンドの発行先であるPC101(x)のドライバソフトウェアに対して送信し、その後、本処理終了する。
【0176】
ステップS2106:
ステップS2103の判別の結果、属性獲得コマンドにより指定された属性が獲得不可能である場合、コントローラ201は、属性の獲得に失敗したことを示す情報を返信コマンドのパラメータにセットし、当該返信コマンドパラメータを、属性獲得コマンドの発行先であるPC101(x)のドライバソフトウェアに対して送信し、その後、本処理終了する。
【0177】
ステップS2107:
ステップS2102の判別の結果、受信コマンドが“属性獲得(取得)コマンド”でない場合、コントローラ201は、ステップS2101での解析の結果、受信コマンドが“属性変更コマンド”であるか否かを判別する。
この判別の結果、“属性変更コマンド”である場合にはステップS2109へ進み、そうでない場合にはステップS2108へ進む。
【0178】
ステップS2108:
ステップS2107の判別の結果、受信コマンドが“属性変更コマンド”でない場合、コントローラ201は、受信コマンドがその他のコマンドであると認識し、当該コマンドに該当する処理を実行し、その後、本処理終了する。
【0179】
ステップS2109:
ステップS2107の判別の結果、受信コマンドが“属性変更コマンド”である場合、コントローラ201は、当該属性変更コマンドにより指定された属性が、変更可能であるか否かを判別する。
この判別の結果、変更可能である場合にはステップS2110へ進み、そうでない場合にはステップS2112へ進む。
【0180】
ステップS2110:
ステップS2109の判別の結果、属性変更コマンドにより指定された属性が変更可能である場合、コントローラ201は、MFP101(x)で保持している属性情報500(上記図5参照)から該当する属性の値を、当該属性変更コマンドにより指定された値に変更する。
ステップS2111:
コントローラ201は、ステップS2110での変更が成功したことを示す情報を返信コマンドのパラメータにセットし、当該返信コマンドパラメータを、属性獲得コマンドの発行先であるPC101(x)のドライバソフトウェアに対して送信し、その後、本処理終了する。
【0181】
ステップS2112:
ステップS2109の判別の結果、属性変更コマンドにより指定された属性が変更不可能である場合、コントローラ201は、属性変更が失敗したことを示す情報を返信コマンドのパラメータにセットし、当該返信コマンドパラメータを、属性獲得コマンドの発行先であるPC101(x)のドライバソフトウェアに対して送信し、その後、本処理終了する。
【0182】
<管理コマンドの生成及び発行>
図22は、PC102(x)がMFP101(x)に対して、デバイス管理及びジョブ管理等の管理コマンドを生成して発行する際の、PC102(x)の動作をフローチャートにより示したものである。
【0183】
ステップS2201:
PC102(x)において(上記図4参照)、CPU401は、MFP101(x)が保持する属性情報500(上記図5参照)の属性510b(現在のユーザ管理モード)の情報を取得する。
【0184】
ステップS2202:
CPU401は、ステップS2201で取得した属性510bの設定値が“ユーザ管理なし”であるか否かを判別する。
この判別の結果、“ユーザ管理なし”の場合にはステップS2203へ進み、そうでない場合にはステップS2204へ進む。
【0185】
ステップS2203:
ステップS2202の判別の結果、“ユーザ管理なし”の場合、CPU401は、詳細は後述する図23に示すような管理コマンドを生成し、これをMFP101(x)に対して送信する。
これにより、MFP101(x)は、PC102(x)からの管理コマンドに対して、詳細は後述する図24に示す処理を実行し、その結果をPC102(x)に対して送信する。
【0186】
ステップS2217:
CPU401は、ステップS2203の処理後、MFP101(x)から送信されてきた処理結果の情報を処理する。
ここでの処理は、ステップS2203においてMFP101(x)で実行される管理コマンドに対応した処理の結果によって異なり、特に、管理コマンドがMFP101(x)内で保持されているジョブの一覧を取得するためのコマンド「ListJobs」である場合は、CPU401は、MFP101(x)からの処理結果情報に含まれるジョブの一覧を、CRT403上にユーザインターフェース画面として表示する。
【0187】
ステップS2204:
ステップS2202の判別の結果、“ユーザ管理なし”でない場合、CPU401は、ステップS2201で取得した属性510bの設定値が“パスワード”であるか否かを判別する。
この判別の結果、“パスワード”の場合にはステップS2205へ進み、そうでない場合にはステップS2206へ進む。
【0188】
ステップS2205、ステップS2203、ステップS2217:
ステップS2204の判別の結果、“パスワード”の場合、CPU401は、CRT403に対して、パスワード入力を促すユーザインターフェース画面を表示する(ステップS2205)。
これにより、ユーザは、上記画面上から所定のパスワードを入力する。
そして、CPU401は、上述したステップS2203及びステップS2217の処理を実行するが、ここでは、ステップS2205によりユーザから入力されたパスワードを設定した管理コマンドを生成し、これをMFP101(x)に対して送信し(ステップS2203)、その後、ステップS2217からの処理を実行する。
【0189】
ステップS2206:
ステップS2204の判別の結果、“パスワード”でない場合、CPU401は、ステップS2201で取得した属性510bの設定値が“ユーザID”であるか否かを判別する。
この判別の結果、“ユーザID”の場合にはステップS2207へ進み、そうでない場合にはステップS2208へ進む。
【0190】
ステップS2207、ステップS2203、ステップS2217:
ステップS2206の判別の結果、“ユーザID”の場合、CPU401は、CRT403に対して、ユーザID入力を促すユーザインターフェース画面を表示する(ステップS2207)。
これにより、ユーザは、上記画面上から所定のユーザIDを入力する。
そして、CPU401は、上述したステップS2203及びステップS2217の処理を実行するが、ここでは、ステップS2207によりユーザから入力されたユーザIDを設定した管理コマンドを生成し、これをMFP101(x)に対して送信し(ステップS2203)、その後、ステップS2217からの処理を実行する。
【0191】
ステップS2208:
ステップS2206の判別の結果、“ユーザID”でない場合、CPU401は、ステップS2201で取得した属性510bの設定値が“ユーザIDとパスワード”であるか否かを判別する。
この判別の結果、“ユーザIDとパスワード”の場合にはステップS2209へ進み、そうでない場合にはステップS2210へ進む。
【0192】
ステップS2209、ステップS2203、ステップS2217:
ステップS2208の判別の結果、“ユーザIDとパスワード”の場合、CPU401は、CRT403に対して、ユーザID及びパスワード入力を促すユーザインターフェース画面を表示する(ステップS2209)。
これにより、ユーザは、上記画面上から所定のユーザID及びパスワードを入力する。
そして、CPU401は、上述したステップS2203及びステップS2217の処理を実行するが、ここでは、ステップS2209によりユーザから入力されたユーザID及びパスワードを設定した管理コマンドを生成し、これをMFP101(x)に対して送信し(ステップS2203)、その後、ステップS2217からの処理を実行する。
【0193】
ステップS2210:
ステップS2208の判別の結果、“ユーザIDとパスワード”でない場合、CPU401は、PC102(x)のユーザがディレクトリサーバ106の管理するセキュリティドメインに既にログインしているかどうか否かを判別する。具体的には例えば、CPU401は、PC102(x)のオペレーティングシステムに対して問い合わせることで、当該判別を行う。
この判別の結果、既にログイン済みでない場合にはステップS2211へ進み、既にログイン済みの場合にはステップS2212へ進む。
【0194】
ステップS2211:
ステップS2210の判別の結果、ログイン済みでない場合、CPU401は、CRT403に対して、ユーザID及びパスワードの入力を促すユーザインターフェース画面を表示する。これにより、ユーザは、上記画面上から所定のユーザID及びパスワードを入力する。
ステップS2213:
CPU401は、ステップS2211でユーザから入力されたユーザID及びパスワードの情報を、ディレクトリサーバ106に対して、Kerberosプロトコルにより送信することで、TGT(チケット生成チケット)情報を取得する。
その後、ステップS2214へ進む。
【0195】
ステップS2213:
ステップS2210の判別の結果、ログイン済みの場合、CPU401は、PC102(x)のオペレーティングシステムに対して、現在のセッションで使用しているTGT(チケット生成チケット)情報を要求して取得する。
その後、ステップS2214へ進む。
【0196】
ステップS2214:
CPU401は、ステップS2212又はS2213で取得したTGT情報、及びジョブ発行先のMFP101(x)を特定する識別子をパラメータとして、Kerberosプロトコルによりディレクトリサーバ106に対して送信することで、MFP101(x)に対するアクセスチケットを取得する。
ここでのアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報等が、MFP101(x)が保持する属性情報500(上記図5参照)の属性510fにより示される秘密暗号キーにより暗号化された情報を含む。アクセスチケット内部のデータフォーマット、及び使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバ106の種類により一意に予め決定されている。
【0197】
ステップS2215:
CPU401は、ステップS2214で取得したアクセスチケットを設定した管理コマンドを生成し、これをMFP101(x)に対して送信する。
ステップS2216:
CPU401は、上述したステップS2217と同様にして、MFP101(x)からの返信に対応する処理を実行し、本処理終了する。
【0198】
図23は、PC102(x)において、上記図22の処理実行により生成され、MFP101(x)に対して送信される管理コマンド2300のデータ構造を示したものである。
【0199】
管理コマンド2300は、上記図23に示すように、ユーザ管理モード2301、ユーザID2302、パスワード2303、アクセスチケット2304、コマンド種別2305、コマンドパラメータ長2306、及びコマンドパラメータ2307を含んでいる。
ユーザ管理モード2301は、ユーザID2302、パスワード2303、及びアクセスチケット2304の、どの情報が有効であるかを示す情報である。
【0200】
<管理コマンド処理>
図24は、PC102(x)により上記図22に示した処理が実行されることで生成された管理コマンド2300(上記図23参照)が、MFP101(x)に対して送信された際の、MFP101(x)の動作をフローチャートにより示したものである。
【0201】
ステップS2401:
MFP101(x)において、(上記図2参照)、コントローラ201は、上記図3に示した属性情報500から「現在のユーザ管理モード」属性510bを取得する。
【0202】
ステップS2402:
コントローラ201は、ステップS2401で取得した属性510bの属性値が“ユーザ管理なし”であるか否かを判別する。
この判別の結果、“ユーザ管理なし”である場合にはステップS2403へ進み、そうでない場合にはステップS2404へ進む。
【0203】
ステップS2403:
ステップS2402の判別の結果、“ユーザ管理なし”である場合、コントローラ201は、PC102(x)からの管理コマンド2300のユーザID2302に対して“0”を設定し、詳細は後述するが、ステップS2413からの処理による、コマンドの種別2305に従った処理を実行する。
【0204】
ステップS2404:
ステップS2402の判別の結果、“ユーザ管理なし”でない場合、コントローラ201は、ステップS2401で取得した属性510bの属性値が“パスワード”であるか否かを判別する。
この判別の結果、“パスワード”である場合にはステップS2405へ進み、そうでない場合にはステップS2406へ進む。
【0205】
ステップS2405:
ステップS2404の判別の結果、“パスワード”である場合、コントローラ201は、予めRAM201b又はDISK201dに保持されているパスワードの値と、PC102(x)からの管理コマンド2300のパスワード2303との比較を行い、これらのパスワードが合致していた場合に、管理コマンド2300のパスワード2303に対して“0”を設定し、詳細は後述するが、ステップS2413からの処理による、コマンドの種別2305に従った処理を実行する。一方、パスワードが合致しなかった場合、コントローラ201は、PC102(x)に対してエラーを返信し、管理コマンド2300に対する処理を中止する。
【0206】
ステップS2406:
ステップS2404の判別の結果、“パスワード”でない場合、コントローラ201は、ステップS2401で取得した属性510bの属性値が“ユーザID”であるか否かを判別する。
この判別の結果、“ユーザID”である場合にはステップS2407へ進み、そうでない場合にはステップS2408へ進む。
【0207】
ステップS2407:
ステップS2406の判別の結果、“ユーザID”である場合、コントローラ201は、予めRAM201b又はDISK201dに保持されているユーザIDの値と、PC102(x)からの管理コマンド2300のユーザID2302との比較を行い、これらのユーザIDが合致していた場合に、詳細は後述するが、ステップS2413からの処理による、コマンドの種別2305に従った処理を実行する。一方、ユーザIDが合致しなかった場合、コントローラ201は、PC102(x)に対してエラーを返信し、管理コマンド2300に対する処理を中止する。
【0208】
ステップS2408:
ステップS2406の判別の結果、“ユーザID”でない場合、コントローラ201は、ステップS2401で取得した属性510bの属性値が“ユーザIDとパスワード”であるか否かを判別する。
この判別の結果、“ユーザIDとパスワード”である場合にはステップS2409へ進み、そうでない場合にはステップS2410へ進む。
【0209】
ステップS2409:
ステップS2408の判別の結果、“ユーザIDとパスワード”である場合、コントローラ201は、予めRAM201b又はDISK201dに保持されているユーザID及びパスワードの各値と、PC102(x)からの管理コマンド2300のユーザID2302及びパスワード2303との比較を行い、これらのユーザID及びパスワードが両者とも合致していた場合に、詳細は後述するが、ステップS2413からの処理による、コマンドの種別2305に従った処理を実行する。一方、ユーザID及びパスワードが合致しなかった場合、コントローラ201は、PC102(x)に対してエラーを返信し、管理コマンド2300に対する処理を中止する。
【0210】
ステップS2410:
ステップS2408の判別の結果、“ユーザIDとパスワード”でない場合、コントローラ201は、PC102(x)からの管理コマンド2300のアクセスチケット2304を、上記図5に示した属性情報500の属性510fにより示される秘密暗号キーを使用して解読する。
【0211】
ステップS2411:
コントローラ201は、ステップS2410の解読の結果により、アクセスチケット2304の有効性及び有効期限を判別する。
この判別の結果、アクセスチケット2304が有効である場合には、コントローラ201は、アクセスチケット2304のユーザIDを、管理コマンド2300のユーザID2303に設定し、詳細は後述するが、ステップS2413からの処理による、コマンドの種別2305に従った処理を実行する。一方、アクセスチケット2304が有効である場合、ステップS2412へ進む。
【0212】
ステップS2412:
ステップS2411の判別の結果、アクセスチケット2304が無効である場合、コントローラ201は、エラーをPC102(x)に対して送信し、本処理終了する。
【0213】
ステップS2413:
ステップS2413からの処理は、管理コマンド2300のコマンド種別2305に従った処理である。
コントローラ201は、コマンド種別2305が「ListJobs」(ジョブの一覧を取得する)コマンドであるか否かを判別する。
この判別の結果、「ListJobs」コマンドである場合にはステップS2414へ進み、そうでない場合にはステップS2417へ進む。
【0214】
ステップS2414:
ステップS2413の判別の結果、「ListJobs」コマンドである場合、コントローラ201は、MFP101(x)内で保持しているジョブの一覧を取得する。
このとき、上記図5に示した属性情報500の「現在のユーザ管理モード」属性510bの属性値が“セキュリティドメインに参加”である場合、コントローラ201は、それぞれのジョブについて、対象ジョブに含まれるアクセスチケットを、上記図5に示した属性情報500の属性510fにより示される秘密暗号キーを使用して解読することで、対象ジョブに対応するユーザIDを取得し、このユーザIDを対象ジョブのユーザIDに対して設定する。
【0215】
ステップS2415:
コントローラ201は、ステップS2414で取得したジョブリストに含まれるジョブのそれぞれについて、対象ジョブのユーザIDと、管理コマンド2300内に含まれるユーザID2302とを比較し、これらのユーザIDが合致しないジョブについては、そのジョブ名を空白に変換する。
ステップS2416:
コントローラ201は、ステップS2415の処理を施したジョブリストを、PC102(x)に対して送信し、本処理終了する。
【0216】
ステップS2417:
ステップS2413の判別の結果、「ListJobs」コマンドでない場合、コントローラ201は、コマンド種別2305が「CancelJob」(指定されたジョブをキャンセルする)コマンドであるか否かを判別する。
この判別の結果、「CancelJob」コマンドである場合にはステップS2419へ進み、そうでない場合にはステップS2418へ進む。
【0217】
ステップS2418:
ステップS2417の判別の結果、「CancelJob」コマンドでない場合、コントローラ201は、機器管理コマンドの処理を実行し、本処理終了する。
ここでの機器管理コマンドの処理では、コマンド種別2305に応じて場合わけすることで、複数の機器管理コマンドの処理を実行するようにしてもよい。
【0218】
ステップS2419:
ステップS2417の判別の結果、「CancelJob」コマンドである場合、コントローラ201は、当該コマンドにより指定されたジョブの情報を取得する。
このとき、上記図5に示した属性情報500の「現在のユーザ管理モード」属性510bの属性値が“セキュリティドメインに参加”である場合、コントローラ201は、対象ジョブに含まれるアクセスチケットを、上記図5に示した属性情報500の属性510fにより示される秘密暗号キーを使用して解読することで、対象ジョブに対応するユーザIDを取得し、このユーザIDを対象ジョブのユーザIDに対して設定する。
【0219】
ステップS2420:
コントローラ201は、ジョブのユーザIDと、管理コマンド2300内に含まれるユーザIDとの比較を行い、これらのユーザIDが合致するか否かを判別する。
この判別の結果、ユーザIDが合致した場合にはステップS2421へ進み、そうでない場合にはステップS2423へ進む。
【0220】
ステップS2421、ステップS2422:
ステップS2420の判別の結果、ユーザIDが合致した場合、コントローラ201は、コマンドにより指定されたジョブをキャンセルし(ステップS2421)、管理コマンド2300を実行成功としてPC102(x)に対して送信し、本処理終了する。
【0221】
ステップS2423:
ステップS2420の判別の結果、ユーザIDが合致しなかった場合、コントローラ201は、管理コマンド2300を実行失敗としてPC102(x)に対して送信し、本処理終了する。
【0222】
尚、上記図24に示した処理において、例えば、ステップS2421の処理を変更するこで、ジョブのアクセス制御機能を有する、ジョブキャセル以外のジョブ管理(具体的には例えば、ジョブの一時停止、再開、割り込み、優先度の向上優先度の低下等)を実行することが可能となる。
【0223】
<ディレクトリサーバ106のデータ更新>
図25は、PC102(x)が、MFP101(x)のログを集計し、当該集計結果に基づきディレクトリサーバ106で保持しているユーザ毎の印刷可能枚数及び累積印刷枚数を更新する際の、MFP101(x)及びPC102(x)の動作をフローチャートにより示したものである。
【0224】
ステップS2501:
PC102(x)において(上記図4参照)、CPU401は、MFP101(x)からログ情報を取得する。
【0225】
ステップS2502:
CPU401は、ステップS2501で取得したログ情報から、ユーザIDごとに印刷枚数を集計する。
【0226】
ステップS2503:
CPU401は、ディレクトリサーバ106から、各ユーザ毎の印刷可能枚数及び累積印刷枚数の情報を、LDAPプロトコルにより取得し、ステップS2502で取得した集計を上記印刷可能枚数から減算すると共に、上記累積印刷枚数に対して加算し、これらの結果を、LDAPプロトコルによりディレクトリサーバ106に対して設定する。
これにより、ディレクトリサーバ106の各ユーザ毎の印刷可能枚数及び累積印刷枚数が更新される。
【0227】
上述のような処理を、例えば、2台のMFP101(1),101(2)について実行することで、2台のMFP101(1),101(2)に対する印刷可能枚数及び累積印刷枚数が、ディレクトリサーバ106により集中管理されることになる。
【0228】
尚、例えば、MFP101(x)において、ジョブで使用した印刷枚数をログに保存せずに、ジョブの終了毎に、ディレクトリサーバ106の印刷可能枚数及び累積印刷枚数を更新するようにしてもよい。この場合、上記図25の処理実行は必要ない。
【0229】
<印刷可能枚数の算出処理>
図26は、上記図17に示したステップS1724における、ディレクトリサーバ106に接続不能時の印刷可能枚数の算出処理を具体的に示したものである。
【0230】
ステップS2601:
MFP101(x)において、(上記図2参照)、コントローラ201は、上記図5に示した属性情報500の属性510iにより示される“現在の印刷可能枚数の制限の種類”を取得する。
【0231】
ステップS2602:
コントローラ201は、ステップS2601で取得した制限種類が“無制限”であるか否かを判別する。
この判別の結果、“無制限”である場合にはステップS2603へ進み、そうでない場合にはステップS2604へ進む。
【0232】
ステップS2603:
ステップS2602の判別の結果、制限種類が“無制限”である場合、コントローラ201は、印刷可能枚数を無制限に設定し、本処理終了する。
【0233】
ステップS2604:
ステップS2602の判別の結果、制限種類が“無制限”でない場合、コントローラ201は、ステップS2601で取得した制限種類が“時間制限”、又は“時間制限且つ固定最大枚数で制限”、又は“時間制限且つ最大枚数で制限”であるか否かを判別する。
この判別の結果、上記の条件の何れかに該当する場合(以下、単に「“時間制限”の場合」と言う)にはステップS2605へ進み、そうでない場合にはステップS2608へ進む。
【0234】
ステップS2605:
ステップS2604の判別の結果、制限種類が“時間制限”である場合、コントローラ201は、ユーザ情報キャッシュに含まれるユーザの最終ログイン日時(上記図18参照)を取得する。
【0235】
ステップS2606:
コントローラ201は、ステップS2605で取得したログイン日時と現在の日時を比較し、これらの時間差が、上記図5に示した属性情報500の属性510jで示される値(制限時間)以下であるか否かを判別する。
この判別の結果、時間差が制限時間内である場合にはステップS2608へ進み、そうでない場合にはステップS2607へ進む。
【0236】
ステップS2607:
ステップS2606の判別の結果、時間差が制限時間内でない場合、コントローラ201は、印刷可能枚数を“0”に設定し、本処理終了する。
【0237】
ステップS2608:
ステップS2604での判別結果が偽の場合、又はステップS2606での判別結果が真の場合、コントローラ201は、上記図5に示した属性情報500の属性510iで示される制限の種類が“固定最大枚数で制限”又は“時間制限且つ固定最大枚数で制限”であるか否かを判別する。
この判別の結果、制限の種類が“固定最大枚数で制限”又は“時間制限且つ固定最大枚数で制限”である場合にはステップS2609へ進み、そうでない場合にはステップS2610へ進む。
【0238】
ステップS2609:
ステップS2608の判別の結果、制限の種類が“固定最大枚数で制限”又は“時間制限且つ固定最大枚数で制限”である場合、コントローラ201は、印刷可能枚数を、上記図5に示した属性情報500の属性510lで示される最大枚数に設定し、本処理終了する。
【0239】
ステップS2610:
ステップS2608の判別の結果、制限の種類が“固定最大枚数で制限”又は“時間制限且つ固定最大枚数で制限”でない場合、コントローラ201は、上記図5に示した属性情報500の属性510iで示される制限の種類が“最大枚数で制限”又は“時間制限且つ最大枚数で制限”であるか否かを判別する。
この判別の結果、制限の種類が“最大枚数で制限”又は“時間制限且つ最大枚数で制限”である場合にはステップS2611へ進み、そうでない場合にはステップS2612へ進む。
【0240】
ステップS2611:
ステップS2610の判別の結果、制限の種類が“最大枚数で制限”又は“時間制限且つ最大枚数で制限”である場合、コントローラ201は、印刷可能枚数を、
印刷可能枚数=ユーザ情報キャッシュ内の印刷可能枚数(上記図18参照)
−最大枚数の日毎の削減割合
×最後にログインしてからの時間(日数)
なる式により求めて設定し、本処理終了する。
上記の式において、“最後にログインしてからの時間(日数)”は、ユーザ情報キャッシュのログイン日時から現在の日時を差し引いた時間を、“24”で割って小数点以下を切り捨てた値である。
【0241】
ステップS2612:
ステップS2610の判別の結果、制限の種類が“最大枚数で制限”又は“時間制限且つ最大枚数で制限”でない場合、コントローラ201は、上記図5に示した属性情報500の属性510mで示されるログイン毎の最大枚数を印刷可能枚数に設定し、本処理終了する。
【0242】
[第2の実施の形態]
第1の実施の形態では、PC102(x)が、上記図6の処理(ユーザ管理モード設定処理)、上記図8の処理(ディレクトリサーバの設定処理)、及び上記図10の処理(ディレクトリサーバ接続不能時のログイン条件設定処理)の実行により、それぞれ「サポートしているユーザ管理モードのリスト」、「対応可能なDirectory Serverの種類リスト」、及び「Directory Server接続不可時に使用する場合の制限の種類のリスト」をMFP101(x)から直接取得するように構成したが、これに限られることはなく、例えば、ディレクトリサーバ106が、「サポートしているユーザ管理モードのリスト」、「対応可能なDirectory Serverの種類リスト」、及び「Directory Server接続不可時に使用する場合の制限の種類のリスト」をMFP101(x)から取得して一旦デバイス情報として保持し、PC102(x)に対して、必要に応じて供給するようにしてもよい。
【0243】
[第3の実施の形態]
第1の実施の形態では、上記図23に示したように、管理コマンド2300内にアクセスチケット2304を含めるように構成したが、例えば、アクセスチケット2304のデータサイズが、管理コマンド2300の他のデータサイズと比較して大きいサイズであることにより、パフォーマンス等に問題が生じてくることが考えられる。
そこで、本実施の形態では、以下のような構成により、上記の問題を解決する。
【0244】
図27は、PC102(x)において、詳細は後述する図30に示す処理実行により生成される、本実施の形態における管理コマンド2700のデータ構造を示したものである。
管理コマンド2700は、上記図27に示すように、ユーザ管理モード2701、ユーザID2702、パスワード2703、セッションキー2704、コマンド種別2705、コマンドパラメータ長2706、及びコマンドパラメータ2707を含んでいる。
ユーザ管理モード2701は、ユーザID2702、パスワード2703、及びセッションキー2704の、どの情報が有効であるかを示す情報である。
【0245】
特に、本実施の形態の管理コマンド2700は、上記図23の管理コマンド2300のデータ構成に対して、アクセスチケットの代わりにセッションキー2704を有するデータ構成としている。
セッションキー2704は、MFP101(x)から発行され、且つMFP101(x)において、詳細は後述する図28に示すアクセスチケットキャッシュによりアクセスチケットと一対一の対応付けがなされているものである。
【0246】
図28は、MFP101(x)において、詳細は後述する図29に示す処理実行により生成され保持される、アクセスチケットキャッシュ2800のデータ構造を示したものである。
アクセスチケットキャッシュ2800は、上記図28に示すように、セッションキー2801とアクセスチケット2802の対を1レコードとして、複数レコードによって構成されている。ここで保持されているアクセスチケット2802は、上記図5の属性情報500の属性510fにより示される暗号キーを使用した解読後のデータである。
【0247】
図29は、MFP101(x)が、PC102(x)から送信されてきた管理コマンド2700を受信して処理する際の、MFP101(x)の動作をフローチャートにより示したものである。
【0248】
MFP101(x)において、(上記図2参照)、コントローラ201は、上記図24に示したステップS2408までの処理を実行し、当該ステップS2408の判別結果が偽であった場合、すなわちユーザ管理モードが“セキュリティドメインに参加”であった場合に、次のステップS2901からの処理を実行する。
【0249】
ステップS2901:
コントローラ201は、PC102(x)から送信されてきた管理コマンド2700のセッションキー2704が“0”であるか否かを判別する。
この判別の結果、セッションキー2704が“0”である場合にはステップS2902へ進み、そうでない場合にはステップS2908へ進む。
【0250】
ステップS2902:
ステップS2901の判別の結果、セッションキー2704が“0”である場合、コントローラ201は、管理コマンド2700のコマンド種別2705が“アクセスチケット設定コマンド”であるか否かを判別する。
この判別の結果、コマンド種別2705が“アクセスチケット設定コマンド”である場合にはステップS2903へ進み、そうでない場合にはステップS2910へ進む。
【0251】
ステップS2903:
ステップS2902の判別の結果、コマンド種別2705が“アクセスチケット設定コマンド”である場合、コントローラ201は、管理コマンド2700のコマンドパラメータ2707に含まれているアクセスチケットの値を、上記図5の属性情報500の属性510fにより示される秘密暗号キーを使用して解読する。
【0252】
ステップS2904:
コントローラ201は、ステップS2903での解読の結果により、アクセスチケットの有効性及び有効期限を判別する。
この判別の結果、アクセスチケットが有効である場合にはステップS2906へ進み、そうでない場合にはステップS2906へ進む。
【0253】
ステップS2905:
ステップS2904の判別の結果、アクセスチケットが無効である場合、コントローラ201は、エラーをPC102(x)に対して返信し、本処理を終了する。
【0254】
ステップS2906:
ステップS2904の判別の結果、アクセスチケットが有効である場合、コントローラ201は、ステップS2903で解読したアクセスチケットの内容に基づいて、当該アクセスチケットに一対一で対応するセッションキーを生成し、このセッションキーと共に当該アクセスチケットをアクセスチケットキャッシュ2800に保存する。
ステップS2907:
コントローラ201は、ステップS2906で生成したセッションキーを、PC102(x)に対して返信し、本処理を終了する。
【0255】
ステップS2908、ステップS2909:
ステップS2901の判別の結果、セッションキー2704が“0”でない場合、コントローラ201は、該当するセッションキーをアクセスチケットキャッシュ2800から検索し(ステップS2908)、この検索の結果、該当するセッションキーがアクセスチケットキャッシュ2800内に存在するか否かを判別する(ステップS2909)。
この判別の結果、該当するセッションキーがアクセスチケットキャッシュ2800内に存在する場合にはステップS2911へ進み、そうでない場合にはステップS2910へ進む。
【0256】
ステップS2910:
ステップS2909の判別の結果、該当するセッションキーがアクセスチケットキャッシュ2800内に存在しない場合、或いはステップS2902の判別の結果、コマンド種別2705が“アクセスチケット設定コマンド”でない場合、コントローラ201は、エラーをPC102(x)に対して返信し、本処理を終了する。
【0257】
ステップS2911:
ステップS2909の判別の結果、該当するセッションキーがアクセスチケットキャッシュ2800内に存在する場合、コントローラ201は、アクセスチケットキャッシュ2800から当該セッションキーに対応するアクセスチケットを取得し、当該アクセスチケット内のユーザIDを、管理コマンド2700のユーザID2702に設定する。
【0258】
ステップS2912:
ステップS2912からの処理は、管理コマンド2700のコマンド種別2705に従った処理である。
コントローラ201は、コマンド種別2705が「ListJobs」(ジョブの一覧を取得する)コマンドであるか否かを判別する。
この判別の結果、「ListJobs」コマンドである場合にはステップS2713へ進み、そうでない場合にはステップS2916へ進む。
【0259】
ステップS2913:
ステップS2912の判別の結果、「ListJobs」コマンドである場合、コントローラ201は、MFP101(x)内で保持しているジョブの一覧を取得する。
このとき、上記図5に示した属性情報500の「現在のユーザ管理モード」属性510bの属性値が“セキュリティドメインに参加”である場合、コントローラ201は、それぞれのジョブについて、対象ジョブに含まれるアクセスチケットを、上記図5に示した属性情報500の属性510fにより示される秘密暗号キーを使用して解読することで、対象ジョブに対応するユーザIDを取得し、このユーザIDを対象ジョブのユーザIDに対して設定する。
【0260】
ステップS2914:
コントローラ201は、ステップS2913で取得したジョブリストに含まれるジョブのそれぞれについて、対象ジョブのユーザIDと、管理コマンド2700内に含まれるユーザID2702とを比較し、これらのユーザIDが合致しないジョブについては、そのジョブ名を空白に変換する。
ステップS2915:
コントローラ201は、ステップS2914の処理を施したジョブリストを、PC102(x)に対して送信し、本処理終了する。
【0261】
ステップS2916:
ステップS2912の判別の結果、「ListJobs」コマンドでない場合、コントローラ201は、コマンド種別2705が「CancelJob」(指定されたジョブをキャンセルする)コマンドであるか否かを判別する。
この判別の結果、「CancelJob」コマンドである場合にはステップS2918へ進み、そうでない場合にはステップS2917へ進む。
【0262】
ステップS2917:
ステップS2916の判別の結果、「CancelJob」コマンドでない場合、コントローラ201は、機器管理コマンドの処理を実行し、本処理終了する。
ここでの機器管理コマンドの処理では、コマンド種別2705に応じて場合わけすることで、複数の機器管理コマンドの処理を実行するようにしてもよい。
【0263】
ステップS2918:
ステップS2916の判別の結果、「CancelJob」コマンドである場合、コントローラ201は、当該コマンドにより指定されたジョブの情報を取得する。
このとき、上記図5に示した属性情報500の「現在のユーザ管理モード」属性510bの属性値が“セキュリティドメインに参加”である場合、コントローラ201は、対象ジョブに含まれるアクセスチケットを、上記図5に示した属性情報500の属性510fにより示される秘密暗号キーを使用して解読することで、対象ジョブに対応するユーザIDを取得し、このユーザIDを対象ジョブのユーザIDに対して設定する。
【0264】
ステップS2919:
コントローラ201は、ジョブのユーザIDと、管理コマンド2300内に含まれるユーザIDとの比較を行い、これらのユーザIDが合致するか否かを判別する。
この判別の結果、ユーザIDが合致した場合にはステップS2920へ進み、そうでない場合にはステップS2922へ進む。
【0265】
ステップS2920、ステップS2921:
ステップS2919の判別の結果、ユーザIDが合致した場合、コントローラ201は、コマンドにより指定されたジョブをキャンセルし(ステップS2421)、管理コマンド2700を実行成功としてPC102(x)に対して送信し、本処理終了する。
【0266】
ステップS2922:
ステップS2919の判別の結果、ユーザIDが合致しなかった場合、コントローラ201は、管理コマンド2700を実行失敗としてPC102(x)に対して送信し、本処理終了する。
【0267】
尚、上記図29に示した管理コマンドの処理を、例えば、ジョブ処理時にも適用することで、上記図15及び図16で示されるように、ジョブに対してアクセスチケットを含ませるのではなく、ジョブに対してセッションキーを含ませることも可能である。
【0268】
図30は、PC102(x)が、上記図29に示した処理を実行するMFP101(x)に対して、機器管理やジョブ管理等の管理コマンドを発行する際の、PC102(x)の動作をフローチャートにより示したものである。
【0269】
PC102(x)において(上記図4参照)、CPU401は、上記図22に示したステップS2212又はS2213までの処理を実行し、TGTを取得終了後、次のステップS3001からの処理を実行する。
【0270】
ステップS3001:
CPU401は、ステップS2212又はS2213で取得したTGT及びジョブ発行先のMFP101(x)を特定する識別子をパラメータをディレクトリサーバ106に対してKeberosプロトコルにより送信することで、MFP101(x)に対するアクセスチケットを取得する。
ここで取得されたアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報が、MFP101(x)で保持されている属性情報500(上記図5参照)の属性510fにより示される秘密暗号キーにより暗号化されたものである。また、アクセスチケット内部のデータフォーマット及び使用される暗号方式(アルゴリズム)は、属性情報500の510dにより示される、現在対応しているディレクトリサーバ106の種類により一意に予め決定されている。
【0271】
ステップS3002:
CPU401は、ステップS3001で取得したアクセスチケットをコマンドパラメータ2707(上記図27参照)として設定した管理コマンド2700を生成し、これをMFP101(x)に対して送信する。ここで送信される管理コマンド2700は、セッションキー2704が“0”に設定され、コマンド種別2705が“アクセスチケット設定コマンド”に設定されたものである。
【0272】
ステップS3003:
CPU401は、ステップS3002での管理コマンド2700の送信に対して、MFP101(x)から返送されてきた結果が“エラー”であるか否かを判別する。
この判別の結果、“エラー”である場合には本処理終了し、そうでない場合にはステップS3004へ進む。
【0273】
ステップS3004:
ステップS3003の判別の結果、MFP101(x)からの返送が“エラー”でない場合、CPU401は、MFP101(x)から返信されてきたセッションキーを、管理コマンド2700のセッションキー2704に設定すると共に、その他のコマンド種別2705、コマンドパラメータ長2706、及びコマンドパラメータ2707に対して該当する適切な値を設定し、これをMFP101(x)に対して送信する。
【0274】
ステップS3005:
CPU401は、ステップS3004での管理コマンド2700の送信に対して、MFP101(x)からの返信を待ち、本処理を終了する。
【0275】
尚、例えば、同一のMFP101(x)に対して、同一ユーザ側のPC102(x)がジョブ管理コマンド又は機器管理コマンドを発行する場合、既に必要なアクセスチケットがMFP101(x)に保持されており、これに対するセッションキーを取得済みであるため、上記図30の処理の中のステップS3001〜ステップS3003の処理ステップを省略することが可能である。これにより、パフォーマンス良く周辺機器のジョブ管理及び機器管理を行うことができる。
【0276】
尚、本発明の目的は、第1〜第3の実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が第1〜第3の実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体及び当該プログラムコードは本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、ROM、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、第1〜第3の実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって第1〜第3の実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって第1〜第3の実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0277】
【発明の効果】
以上説明したように本発明では、実行が保留されているジョブの中で、ユーザから入力されたユーザ情報(例えば、コンソールからユーザ情報を与えてジョブを実行するデバイスにログインする際の当該ユーザ情報)に対応したジョブに関するジョブ情報を表示し、例えば、ユーザからのジョブ実行指示に基づいて、表示されているジョブ情報に対応するジョブを実行するように構成した。ジョブ情報は、例えば、実際にジョブを実行するデバイス側で表示されるようにしてもよいし、当該デバイスと任意の通信媒体を介して通信可能な外部の情報処理装置に送信されて表示されるようにしてもよい。
このように構成することで、ユーザ自身が以前に発行し、実行が保留されているジョブの実行を、ユーザがユーザ情報を入力した時点(ログイン直後等)にユーザに対して促すことができる。
【0278】
また、ユーザ情報を使って取得されるユーザ識別情報に対応するジョブを、ジョブ情報の表示の対象とするジョブとするように構成した場合において、さらに、上記ユーザ識別情報を、所定の情報を解読することで得られる情報(ディレクトリサーバから与えられたアクセスチケット情報を解読することで得られる情報等)とした場合、ネットワーク環境等で統一したユーザ情報を使用した上で、ユーザ自身が以前に発行し、実行が保留されているジョブの実行を、ユーザがユーザ情報を入力した時点(ログイン直後等)にユーザに対して促すことができる。
【0279】
よって、本発明によれば、効率的にジョブ管理及びジョブ実行を行うことができ、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【図1】第1の実施の形態において、本発明を適用したネットワークシステムの構成を示すブロック図である。
【図2】上記ネットワークシステムのMFP(周辺機器)の構成を示すブロック図である。
【図3】上記MFPのコントローラの構成を示すブロック図である。
【図4】上記ネットワークシステムのPC(クライアント)の構成を示すブロック図である。
【図5】上記MFPが保持している属性情報を説明するための図である。
【図6】上記ネットワークシステムにおいて、ユーザ管理モード設定の動作を説明するためのフローチャートである。
【図7】上記ユーザ管理モード設定時のユーザインターフェースを説明するための図である。
【図8】上記ネットワークシステムにおいて、対応ディレクトリサーバの設定の動作を説明するためのフローチャートである。
【図9】上記対応ディレクトリサーバの設定時のユーザインターフェースを説明するための図である。
【図10】上記ネットワークシステムにおいて、ディレクトリサーバ接続不能時のログイン条件設定の動作を説明するためのフローチャートである。
【図11】上記ログイン条件設定時のユーザインターフェースを説明するための図である。
【図12】上記ネットワークシステムにおいて、ジョブ生成の動作を説明するためのフローチャートである。
【図13】上記ジョブ生成動作において、ジョブ発行の動作を説明するためのフローチャートである。
【図14】上記ネットワークシステムにおいて、ジョブ投入コマンド受信の動作を説明するためのフローチャートである。
【図15】上記ジョブのデータ構造を説明するための図である。
【図16】上記ネットワークシステムにおいて、ジョブ処理の動作を説明するためのフローチャートである。
【図17】上記ネットワークシステムにおいて、コンソールのログイン処理の動作を説明するためのフローチャートである。
【図18】上記ログイン処理におけるユーザ情報のキャッシュのデータ構造を説明するための図である。
【図19】上記ネットワークシステムにおいて、保留ジョブ処理の動作を説明するためのフローチャートである。
【図20】上記保留ジョブ処理時のユーザインターフェースを説明するための図である。
【図21】上記ネットワークシステムにおいて、属性アクセス動作を説明するためのフローチャートである。
【図22】上記ネットワークシステムにおいて、管理コマンドの生成及び発行の動作を説明するためのフローチャートである。
【図23】上記管理コマンドのデータ構造を説明するための図である。
【図24】上記ネットワークシステムにおいて、管理コマンド処理の動作を説明するためのフローチャートである。
【図25】上記ネットワークシステムにおいて、ディレクトリサーバのデータ更新処理の動作を説明するためのフローチャートである。
【図26】上記ネットワークシステムにおいて、印刷可能枚数の算出処理の動作を説明するためのフローチャートである。
【図27】第3の実施の形態における上記管理コマンドのデータ構造を説明するための図である。
【図28】第3の実施の形態で用いるアクセスチケットキャッシュのデータ構造を説明するための図である。
【図29】第3の実施の形態における上記管理コマンド処理の動作を説明するためのフローチャートである。
【図30】第3の実施の形態における上記管理コマンドの生成処理の動作を説明するためのフローチャートである。
【符号の説明】
100 ネットワークシステム
101(1),101(2) MFP(周辺機器)
102(1)〜101(3) PC(クライアント)
106 ディレクトリサーバ
110 ネットワーク
[0001]
BACKGROUND OF THE INVENTION
The present invention provides, for example, a job execution apparatus for executing a job such as a printer, a copier, or a facsimile machine (FAX), a job management method for managing a job executed on the device, and a job execution apparatus. The present invention relates to a computer-readable storage medium storing a program for causing a computer to realize a function, and the program.
[0002]
[Prior art]
Conventionally, for example, for peripheral devices (devices) such as printers and copiers, when “job execution pending” is designated (set) as the job start mode, the received job is temporarily held in the own device and an execution command is issued. Some of them have a function of executing the held job after reception.
[0003]
[Problems to be solved by the invention]
However, in the conventional device as described above, in order to execute a job once held in the device, the user can use a console (information processing apparatus) connected to the console of the device or a network. It was necessary to issue a job execution command by specifying a job to be held by operating job management software. Since this operation is complicated, job management and job execution cannot be performed efficiently.
[0004]
Therefore, the present invention has been made to solve the above-described problems, and a job execution apparatus that can improve user convenience by adopting a configuration capable of efficiently performing job management and job execution. An object of the present invention is to provide a job management method, a computer-readable storage medium storing a program for causing a computer to realize the function of the job execution apparatus, and the program.
[0005]
[Means for Solving the Problems]
A job execution device according to a first invention is a job execution device for executing a job, wherein user information acquisition means for acquiring user information for identifying a user input by a user, and the user information acquisition Access ticket information obtaining means for obtaining, from the external server, access ticket information containing encrypted user identification information for identifying the user, using the user information obtained by the means, and the access ticket Decrypting the access ticket information acquired by the information acquiring means to acquire the user identification information, and executing corresponding to the user identification information based on the user identification information acquired by the decoding means Display means for displaying job information relating to a held job, and display by the display means Characterized in that it comprises a job execution means for executing a job corresponding to the job information.
[0006]
A job execution device according to a second aspect of the present invention is a job execution device for executing a job, wherein user information input by a user is used to identify a user from an external server by an external information processing device. Access ticket information receiving means for receiving the acquired access ticket information containing the user identification information for identifying the user from the external information processing apparatus, and the access ticket information receiving means Decoding means for decoding the received access ticket information to obtain the user identification information, and job information relating to a job whose execution corresponding to the user identification information acquired by the decoding means is suspended as the external information Job information transmitting means for transmitting to the processing device is provided.
[0007]
A job execution device according to a third invention is a job execution device for executing a job, the user information acquisition means for acquiring user information for identifying a user input by a user, and the user information acquisition User identification information acquisition means for acquiring user identification information for identifying an encrypted user from an external server using the user information acquired by the means, and acquired by the user identification information acquisition means, Decryption means for decrypting the encrypted user identification information; display means for displaying job information relating to a job whose execution corresponding to the user identification information after decryption by the decryption means is suspended; and Job execution means for executing a job corresponding to the displayed job information is provided.
[0008]
A job execution apparatus according to a fourth aspect of the present invention is a job execution apparatus for executing a job, wherein user information input by a user is used to identify a user from an external server by an external information processing apparatus. The acquired user identification information for identifying the encrypted user is received from the external information processing apparatus, and received by the user identification information receiving means and the encrypted user identification information received by the user identification information receiving means. Decryption means for decrypting the user identification information; job information transmission means for transmitting job information relating to a job whose execution corresponding to the user identification information after decryption by the decryption means is suspended to the external information processing apparatus; It is characterized by providing.
[0009]
A job management method according to a fifth aspect of the present invention is a job management method for managing a job executed on a device, wherein a user information acquisition step of acquiring user information for identifying a user input by a user And using the user information acquired in the user information acquisition step to acquire access ticket information that contains encrypted user identification information for identifying the user from an external server. A step of decoding the access ticket information acquired in the access ticket information acquisition step to acquire the user identification information, and execution corresponding to the user identification information acquired in the decoding step is suspended. Display step for displaying job information related to the current job, and display in the display step Characterized in that it comprises a job execution step of executing a job corresponding to the job information.
[0010]
A computer-readable storage medium according to a sixth aspect stores a program for causing a computer to realize the function of the job execution apparatus according to any one of the first to fourth aspects.
[0011]
A program according to a seventh aspect causes a computer to realize the function of the job execution device according to any one of the first to fourth aspects.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0019]
[First embodiment]
The present invention is applied to, for example, a network system 100 as shown in FIG.
In particular, the network system 100 according to the present embodiment is capable of submitting a job from the outside via the network 110 and is suspended in the peripheral devices (devices) 101 (1) and 101 (2) having a console. User information corresponding to the current job, the user information is compared with the user information of the logged-in user, and a list of jobs issued by the logged-in user is displayed based on the comparison result. ing.
With such a configuration, immediately after a user logs in from the console of the peripheral device (device) 101 (1), 101 (2), a list of jobs issued by the user (jobs pending execution) is displayed. Therefore, the user can easily execute a desired job without performing operations such as job designation and execution instruction as in the prior art.
Hereinafter, the configuration and operation of the network system 100 of the present embodiment will be specifically described.
[0020]
<Overall Configuration of Network System 100>
As shown in FIG. 1, the network system 100 includes a directory server 106, personal computers (PCs) 102 (1) and 102 (2), and MFPs 101 (1) and 101 (2) as peripheral devices. However, they are connected so as to be able to communicate with each other via the network 110.
Further, a personal computer (PC) 102 (3) is connected to the MFP 101 (1).
[0021]
Each of the MFPs 101 (1) and 101 (2) has a scanner function, a print function, and a facsimile (FAX) function, and has a hardware configuration as shown in FIG.
Each of the PCs 102 (1) to 102 (3) is provided as a terminal device (or computer) on the client side, and has a hardware configuration as shown in FIG.
[0022]
Each of the PCs 102 (1) to 102 (3) can communicate with the MFPs 101 (1) and 101 (2) via the network 110 (or local interface). For example, predetermined software that implements the present embodiment , Requests the MFP 101 (1) or 101 (2) to perform job processing such as printing, scanning, copying, or facsimile (FAX) transmission / reception via the network 110, and device attribute information Make an inquiry.
[0023]
The directory server 106 has the same functions as the computer functions of the PCs 102 (1) to 102 (3), that is, the configuration shown in FIG. 4 described later in detail, and has a central management function such as user information and device information. Have.
The directory server 106 also has a KDC (Key Distribution Server) function in the Kerberos protocol (RFC 1510), and issues a TGT (ticket generation ticket) and accesses a specified resource in accordance with the Kerberos specification. Issuing access tickets necessary to do so.
In addition, information (device information) related to the MFPs 101 (1) and 101 (2) has already been registered in the directory server 106. The registration device information can be referred to and updated from the PCs 102 (1) and 102 (2) by using the LDAP protocol (RFC 1777).
[0024]
The user information managed by the directory server 106 includes, for example, information such as a user name, a password, a user printable number of sheets, and a user's cumulative number of prints. The device information managed by the directory server 106 includes information such as a device name and a device secret encryption key.
[0025]
In FIG. 1, two MFPs 101 (1) and 101 (2) are included as peripheral devices and three PCs 102 (1) to 102 (3) are used as clients. However, the number is limited to this number. There is nothing.
Further, since the MFPs 101 (1) and 101 (2) have the same configuration, and the PCs 102 (1) to 102 (3) have the same configuration, in the following description, an arbitrary MFP 101 (x) and 101 (x) Focus on PC102 (x).
[0026]
<Configuration of MFP 101 (x)>
The MFP 101 (x) includes a controller 201, a communication interface 202, a scanner engine 203, a printer engine 204, a FAX board 205, and a user interface 206, as shown in FIG.
[0027]
The controller 201 has a hardware configuration shown in FIG. 3, which will be described in detail later, and controls operation of the entire MFP 101 (x).
The communication interface 202 is an interface for the MFP 101 (x) (specifically, the controller 201) to communicate with an apparatus or system on the network 110. As the communication interface 202, an Ethernet (registered trademark) interface, an IEEE1284 interface, or any other communication interface can be applied.
[0028]
The scanner operation is performed according to the control from the scanner engine 203 and the controller 201.
The printer engine 204 performs a printing operation by, for example, a laser beam printer, an ink jet printer, or any other printer according to the control from the controller 201.
The FAX board 205 is a board for realizing a FAX function such as communication control at the time of image transmission / reception, and operates according to control from the controller 201.
[0029]
The user interface 206 is composed of, for example, an LCD display 206a and a keyboard 206b as shown in FIG. 3, which will be described in detail later. The user interface 206 displays information supplied from the controller 201 and operates instructions input from the user. To the controller 201.
[0030]
The MFP 101 (x) having the above-described configuration allows the print engine to be issued by selecting the printer engine 204, and allows the copy job to be issued by selecting the printer engine 204 and the scanner engine 203. Then, the printer engine 204, the scanner engine 203, and the FAX board 205 are selected so that a FAX reception job and a FAX transmission job can be issued.
[0031]
Here, the configuration of the controller 201 shown in FIG. 3 will be specifically described.
As shown in FIG. 3, the controller 201 has a configuration in which a CPU 201 a, a RAM 201 b, a ROM 201 c, and a DISK 201 d are connected to be communicable with each other via a system bus 220.
The system interface 220 is also connected to the communication interface 202, the scanner engine 203, the printer engine 204, the FAX board 205, and the user interface 206 shown in FIG.
[0032]
A predetermined processing program (control program) is stored in advance in the ROM 201c or DISK 201d, and the CPU 201a reads the processing program from the ROM 201c or DISK 201d onto the RAM 201b and executes it as necessary. The function of the MFP 101 (x) is implemented.
[0033]
The ROM 201c or DISK 201d stores information related to the job processed by the MFP 101 (x) (attribute information indicating the function and state, job data to be output, and the like) along with the control program.
[0034]
In addition, the CPU 201a displays various information via the LCD 201a of the user interface 206, receives user instructions from the keyboard 201b of the user interface 206, and further externally (devices or devices on the network 110 via the communication interface 202). System).
[0035]
In this embodiment, unless otherwise specified, in the MFP 101 (x) as described above, the CPU 201a receives an input from the user from the keyboard 206b via the system bus 220, and the RAM 201b, the LCD 206a, the ROM 201c, and the communication interface. The functions of the MFP 101 (x) in the present embodiment are implemented by controlling the 202, the scanner engine 203, the printer engine 204, the FAX board 205, and the DISK 201d.
[0036]
<Configuration of PC102 (x)>
In the PC 102 (x), as shown in FIG. 4, the CPU 401, RAM 402, CRT 403 as a display unit, keyboard 404, pointing device 405, ROM 406, DISK 407, and communication interface 408 can communicate with each other via the system bus 420. It is set as the structure connected to.
[0037]
A predetermined processing program (control program) is stored in the ROM 406 or DISK 407 in advance, and the CPU 401 reads the processing program from the ROM 406 or DISK 407 onto the RAM 402 and executes it as necessary. The function of the PC 102 (x) is implemented.
[0038]
The CPU 401 displays various types of information via the CRT 403, receives user instructions from the keyboard 404 and the pointing device 405, and further communicates with the outside (apparatus or system on the network 110) via the communication interface 408. Communicate.
[0039]
In this embodiment, unless otherwise specified, in the PC 102 (x) as described above, the CPU 401 receives input from the user from the keyboard 404 or the pointing device 405 via the system bus 420, and the RAM 402, CRT 403, By controlling the ROM 406, the communication interface 408, and the DISK 407, the function of the PC 102 (x) in the present embodiment is implemented.
[0040]
Note that the user instruction to the MFP 101 (x) and the information presentation to the user may be performed via the local user interface 206 as shown in FIG. 2 or the PC 102 ( x), that is, it may be performed via a client device connected via the network 110.
Also, the directory server 106 is assumed to have the configuration shown in FIG. 4 as in the case of the PC 102 (x).
[0041]
<Attribute Information Held by MFP 101 (x)>
FIG. 5 shows attribute information 500 held in the MFP 101 (x).
As shown in FIG. 5, the attribute information 500 includes an attribute name 510, a value (setting value) 520 set for the attribute, and read / write information 530 of the attribute.
Here, it is assumed that there are attributes indicated by “510a” to “510m” as attributes.
[0042]
The attribute 510a is a “list of supported user management modes” attribute. The setting value 520 includes “no user management”, “password”, “user ID”, “user ID and password”, and “security”. Multiple values of “join domain” are set as a list.
[0043]
The attribute 510b is a “current user management mode” attribute, and “join the security domain” is set as the setting value 520 thereof.
The attribute 510 c is a “list of types of directory server that can be supported” attribute, and the setting value 520 includes “standard LDAP server”, “Active Directory (MS)”, “NDS (Novel)”, and “OpenLDAP”. Multiple values of ”are set as a list.
[0044]
The attribute 510d is a “currently supported directory server type” attribute, and “Active Directory (MS)” is set as the setting value 520 thereof.
The attribute 510e is a “currently corresponding directory server IP address” attribute, and “123.456.654.321” is set as the setting value 520 thereof.
[0045]
The attribute 510f is a “device secret encryption key” attribute, and “0x34q4bffcdca001” is set as the setting value 520 thereof. This setting value is effective when the “current user management mode” attribute 510b is set to “join security domain” and is used to interpret an access ticket issued from the directory server 106. Is done.
[0046]
The attribute 510g is an attribute “whether use is permitted when the directory server cannot be connected”, and “TRUE” is set as the setting value 520 thereof.
The attribute 510h is “a list of restriction types used when the directory server cannot be connected”, and the setting value 520 includes “unlimited”, “time limit”, “time limit / limited by fixed maximum number of sheets”, Multiple values of “time limit / limit by maximum number of sheets”, “limit by fixed maximum number of sheets”, “limit by maximum number of sheets”, and “limit by each login” are set as a list.
[0047]
The attribute 510 i is “the type of restriction when used when the current directory server cannot be connected”, and “time restriction” is set as the setting value 520.
The attribute 510j is a “time limit length” attribute, and “48 hours” is set as the setting value 520 thereof.
An attribute 510k is a “maximum daily reduction ratio” attribute, and “30” is set as the setting value 520 thereof.
An attribute 510l is a “fixed maximum number of sheets” attribute, and “100” is set as the setting value 520 thereof.
The attribute 510m is a “maximum number of sheets for each login” attribute, and “20” is set as the setting value 520 thereof.
[0048]
The attribute information 500 as described above has the same data structure but a different holding value depending on the MFP 101 (x), and is held in the ROM 201c, the RAM 201b, or the DISK 201d shown in FIG. Furthermore, the attribute information 500 can be obtained and set from the PC 102 (x) by the process (attribute access process) shown in FIG.
[0049]
<Display and change of attribute information 500>
Here, the operation of the PC 102 (x) when the attribute information 500 of the MFP 101 (x) is displayed and changed from the PC 102 (x) will be described.
[0050]
(1) User management mode setting
FIG. 6 is a flowchart showing the operation of the PC 102 (x) when the attribute information related to the user management mode of the MFP 101 (x) is displayed and changed from the PC 102 (x).
[0051]
Step S601:
In the PC 102 (x) (see FIG. 4 above), the CPU 401 acquires from the MFP 101 (x) the “list of supported user management modes” attribute 510 a of the attribute information 500 shown in FIG.
Specifically, for example, the CPU 401 transmits an attribute acquisition command to the MFP 101 (x) via the communication interface 408. Receiving this, the MFP 101 (x) executes the process shown in FIG. Thereby, the attribute 510a from the MFP 101 (x) is transmitted to the PC 101 (x).
[0052]
Step S602:
The CPU 401 displays the information of the attribute 510a acquired in step S601 on the CRT 403.
[0053]
Step S603:
The CPU 401 acquires the “current user management mode” attribute 510b of the attribute information 500 shown in FIG. 5 from the MFP 101 (x) in the same manner as in step S601.
Step S604:
The CPU 401 displays the information of the attribute 510b acquired in step S603 on the CRT 403.
[0054]
Step S605, Step S606:
The CPU 401 waits for an input (selection input) from the user by the keyboard 404 or the pointing device 405 (step S605). Upon receiving the input, the CPU 401 changes the information of the attribute 510b acquired in step S603 based on the input, The changed value is set for the MFP 101 (x) (step S606).
Specifically, for example, the CPU 401 transmits an attribute setting command to the MFP 101 (x) via the communication interface 408. Receiving this, the MFP 101 (x) executes the process shown in FIG. Thereby, the attribute 510b of the attribute information 500 included in the MFP 101 (x) is changed.
Thereafter, this process ends.
[0055]
FIG. 7 shows a user interface screen (user management mode setting screen) 700 displayed on the CRT 403 in step 605 shown in FIG.
[0056]
As shown in FIG. 7, the setting screen 700 includes a user management mode list display portion 701 that can be selected by the user, and an OK button 703. The user can select a desired user management mode from the list display unit 701. FIG. 7 shows a state where the user management mode selected by the user is “password”, and this “password” is highlighted.
The user presses an OK button 703 in a state where a desired user management mode is selected and highlighted. Thereby, in the process shown in FIG. 6, the process proceeds from step S605 to step S606.
[0057]
Note that, for example, the processing shown in FIG. 6 may be executed by the controller 101 of the MFP 101 (x) that is the target of changing the user management mode or another MFP 101 (y). In this case, the setting screen 700 shown in FIG. 7 is displayed on the LCD 206a of the user interface 206 of the MFP 101 (x) or 101 (y).
[0058]
(2) Directory server settings
FIG. 8 is a flowchart showing the operation of the PC 102 (x) when the attribute information related to the corresponding directory server of the MFP 101 (x) is displayed and changed from the PC 102 (x).
[0059]
Step S801:
In the PC 102 (x) (see FIG. 4 above), the CPU 401 sets the “list of supported (supported) directory server types” attribute 510 c of the attribute information 500 shown in FIG. 5 above to the MFP 101 (x). Get from.
Specifically, for example, the CPU 401 transmits an attribute acquisition command to the MFP 101 (x) via the communication interface 408. Receiving this, the MFP 101 (x) executes the process shown in FIG. Thereby, the attribute 510a from the MFP 101 (x) is transmitted to the PC 101 (x).
[0060]
Step S802:
The CPU 401 displays the information on the attribute 510c acquired in step S801 on the CRT 403.
[0061]
Step S803:
The CPU 401 acquires the “currently supported directory server type” attribute 510d of the attribute information 500 shown in FIG. 5 from the MFP 101 (x) in the same manner as in step S801.
Step S804:
The CPU 401 displays the attribute 510d information acquired in step S803 on the CRT 403.
[0062]
Step S805:
Similar to step S801, the CPU 401 acquires from the MFP 101 (x) the “IP address of the directory server currently supported” attribute 510e of the attribute information 500 shown in FIG.
Step S806:
The CPU 401 displays information on the attribute 510e acquired in step S805 on the CRT 403.
[0063]
Step S807, Step S808:
The CPU 401 waits for an input (selection input) from the user via the keyboard 404 or the pointing device 405 (step S807). Upon receiving the input, the attribute 510d and the attribute 510e acquired in steps S803 and S805 based on the input. And the changed value is set for the MFP 101 (x) (step S808).
Specifically, for example, the CPU 401 transmits an attribute setting command to the MFP 101 (x) via the communication interface 408. Receiving this, the MFP 101 (x) executes the process shown in FIG. As a result, the attributes 510d and 510e of the attribute information 500 included in the MFP 101 (x) are changed.
Thereafter, this process ends.
[0064]
FIG. 9 shows a user interface screen (user management mode setting screen) 900 displayed on the CRT 403 in step 807 shown in FIG.
[0065]
As shown in FIG. 9, the setting screen 900 includes a directory server type list display unit 901 that can be selected by the user, an IP address input unit 903 of the selected directory server, and an OK button 904. The user can select a desired directory server from the list display unit 901. FIG. 7 shows a state where the directory server selected by the user is “Active Directory (MS)”, and this “Active Directory (MS)” is highlighted. In addition, the user inputs the address of the directory server selected in the list display unit 901 to the input unit 903.
The user presses an OK button 904 in a state where a desired directory server is selected and highlighted, and an address of the directory server is input. Thereby, in the process shown in FIG. 8, the process proceeds from step S807 to step S808.
[0066]
Note that, for example, the processing shown in FIG. 8 may be executed by the controller 101 of the MFP 101 (x) that is the target of changing the corresponding directory server, or another MFP 101 (y). In this case, the setting screen 900 shown in FIG. 9 is displayed on the LCD 206a of the user interface 206 of the MFP 101 (x) or 101 (y).
[0067]
(3) Setting login conditions
FIG. 10 is a flowchart of the operation of the PC 102 (x) when the attribute information regarding how to log in when the MFP 101 (x) cannot connect to the directory server 106 is displayed and changed from the PC 102 (x). It is shown by.
[0068]
Step S1001:
In the PC 102 (x) (see FIG. 4 above), the CPU 401 sends the “list of restriction types used when the directory server cannot be connected” attribute 510 h of the attribute information 500 shown in FIG. 5 from the MFP 101 (x). get.
Specifically, for example, the CPU 401 transmits an attribute acquisition command to the MFP 101 (x) via the communication interface 408. Receiving this, the MFP 101 (x) executes the process shown in FIG. As a result, the attribute 510h from the MFP 101 (x) is transmitted to the PC 101 (x).
[0069]
Step S1002:
The CPU 401 displays information on the attribute 510h acquired in step S1001 on the CRT 403.
[0070]
Step S1003:
Similar to step S1001, the CPU 401 acquires from the MFP 101 (x) the “type of restriction when used when the current directory server cannot be connected” attribute 510i of the attribute information 500 shown in FIG.
Step S1004:
The CPU 401 displays the information of the attribute 510i acquired in step S1003 on the CRT 403.
[0071]
Step S1005:
Similar to step S1001, the CPU 401 acquires from the MFP 101 (x) the attribute 510g “whether use is permitted when the directory server cannot be connected” of the attribute information 500 shown in FIG.
Step S1006:
The CPU 401 displays the attribute 510g information acquired in step S1005 on the CRT 403.
[0072]
Step S1007, Step S1008:
The CPU 401 waits for an input (selection input) from the user through the keyboard 404 or the pointing device 405 (step S1007). Upon receiving the input, the attribute 510i and the attribute 510g acquired in steps S1003 and S1005 are received based on the input. And the changed value is set for the MFP 101 (x) (step S1008).
Specifically, for example, the CPU 401 transmits an attribute setting command to the MFP 101 (x) via the communication interface 408. Receiving this, the MFP 101 (x) executes the process shown in FIG. As a result, the attributes 510i and 510g of the attribute information 500 included in the MFP 101 (x) are changed.
Thereafter, this process ends.
[0073]
FIG. 11 shows a user interface screen (user management mode setting screen) 1100 displayed on the CRT 403 in step 1007 shown in FIG.
[0074]
As shown in FIG. 11, the setting screen 1100 includes an input unit (check box) 1101 for instructing that login is possible when the directory server cannot be connected, a display unit 1102 for restricting use, and an OK button 1004. Is included.
The display unit 1102 displays the content of the “restriction type list when using when Directory Server connection is impossible” attribute 510h, and setting the “restriction type when using when current Directory Server connection is not possible” attribute 510i. The part corresponding to the value is highlighted.
[0075]
The user makes a desired setting on the display unit 1102 and presses an OK button 1004 while checking the input unit 1101 as necessary. Thereby, in the process shown in FIG. 10, the process proceeds from step S1007 to step S1008.
[0076]
For example, the processing shown in FIG. 10 may be executed by the controller 101 of the MFP 101 (x) whose setting is to be changed or another MFP 101 (y). In this case, the setting screen 1100 shown in FIG. 11 is displayed on the LCD 206a of the user interface 206 of the MFP 101 (x) or 101 (y).
[0077]
<Generating and issuing jobs>
FIG. 12 is a flowchart showing the operation of the PC 102 (x) when the PC 102 (x) issues a job (print job, scanner job, fax transmission job, copy job, etc.) to the MFP 101 (x). It is a thing.
[0078]
Step S1201:
In the PC 102 (x) (see FIG. 4 above), the CPU 401 acquires information on the attribute 510b (current user management mode) of the attribute information 500 (see FIG. 5 above) held by the MFP 101 (x).
[0079]
Step S1202:
The CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S1201 is “no user management”.
As a result of the determination, if “no user management”, the process proceeds to step S1203, and if not, the process proceeds to step S1204.
[0080]
Step S1203:
If the result of determination in step S1202 is “no user management”, the CPU 401 sets various information necessary for the job in the job and issues the job to the MFP 101 (x), as will be described in detail later. .
Thereafter, this process ends.
[0081]
Step S1204:
If the result of determination in step S1202 is not “No user management”, the CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S1201 is “password”.
If the result of this determination is “password”, the process proceeds to step S1205; otherwise, the process proceeds to step S1206.
[0082]
Step S1205:
If the result of determination in step S1204 is “password”, the CPU 401 displays a user interface screen prompting the CRT 403 to input a password.
Thereby, the user inputs a predetermined password on the screen.
Then, it progresses to step S1203 mentioned above.
[0083]
Step S1206:
If the result of determination in step S1204 is not “password”, the CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S1201 is “user ID”.
As a result of the determination, if “user ID”, the process proceeds to step S1207, and if not, the process proceeds to step S1208.
[0084]
Step S1207:
If the result of determination in step S1206 is “user ID”, the CPU 401 displays a user interface screen that prompts the CRT 403 to input a user ID.
Thereby, the user inputs a predetermined user ID on the screen.
Then, it progresses to step S1203 mentioned above.
[0085]
Step S1208:
If the result of determination in step S1206 is not “user ID”, the CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S1201 is “user ID and password”.
As a result of the determination, if “user ID and password”, the process proceeds to step S1209, and if not, the process proceeds to step S1210.
[0086]
Step S1209:
If the result of determination in step S1208 is “user ID and password”, the CPU 401 displays a user interface screen that prompts the CRT 403 to input the user ID and password.
Thereby, the user inputs a predetermined user ID and password from the screen.
Then, it progresses to step S1203 mentioned above.
[0087]
Step S1210:
If the result of determination in step S1208 is not “user ID and password”, the CPU 401 determines whether or not the user of the PC 102 (x) has already logged in to the security domain managed by the directory server 106. Specifically, for example, the CPU 401 makes the determination by making an inquiry to the operating system of the PC 102 (x).
If it is determined that the user has not logged in, the process proceeds to step S1211. If the user has already logged in, the process proceeds to step S1212.
[0088]
Step S1211:
If it is determined in step S1210 that the user has not logged in, the CPU 401 displays a user interface screen that prompts the CRT 403 to input a user ID and password. Thereby, the user inputs a predetermined user ID and password from the screen.
Step S1213:
The CPU 401 obtains TGT (ticket generation ticket) information by transmitting the user ID and password information input by the user in step S1211 to the directory server 106 using the Kerberos protocol.
Thereafter, the process proceeds to step S1214.
[0089]
Step S1213:
If it is determined in step S1210 that the user has logged in, the CPU 401 requests and obtains TGT (ticket generation ticket) information used in the current session from the operating system of the PC 102 (x).
Thereafter, the process proceeds to step S1214.
[0090]
Step S1214:
Based on the TGT information acquired in step S1212 or S1213, the CPU 401 prints the number of printable pages of the user corresponding to the user name held by the operating system of the PC 102 (x) or the user name input by the user in step S1211. Information is obtained from the directory server 106 by the Kerberos protocol and the LDAP protocol.
[0091]
Step S1215:
The CPU 401 determines whether or not the number of printable sheets of the user is one or more, that is, whether or not printing is possible, based on the printable sheet number information acquired in step S1214.
If the result of this determination is that printing is not possible, processing proceeds to step S1216. If printing is possible, processing proceeds to step S1217.
[0092]
Step S1216:
If the result of determination in step S1215 is that printing is not possible, the CPU 401 displays a user interface screen indicating that the job cannot be issued on the CRT 403, and ends this processing.
[0093]
Step S1217:
As a result of the determination in step S1215, if printing is possible, the CPU 401 uses the TGT information acquired in step S1212 or S1213, and an identifier for specifying the MFP 101 (x) as the job issue destination as parameters, and the directory server 106 is Keberos. An access ticket for the MFP 101 (x) is acquired by transmitting the protocol.
The access ticket here includes information obtained by encrypting the user name, the user ID, the number of printable sheets of the user, and the expiration date of the access ticket with the secret encryption key of the MFP 101 (x). Further, the data format in the access ticket and the encryption method (algorithm) used are uniquely determined in advance depending on the type of the directory server 106 currently supported.
[0094]
Step S1218:
The CPU 401 sets the access ticket acquired in step S1217 and various information necessary for the job, and issues the job to the MFP 101 (x).
Thereafter, this process ends.
[0095]
FIG. 13 specifically shows the job issue processing in step S1203 shown in FIG.
[0096]
Steps S1301 to S1304:
The CPU 401 repeatedly executes the processing of step S1302 and step S1303 until setting of necessary attributes is completed.
[0097]
Step S1302:
The CPU 401 sets an attribute setting command parameter for the target attribute. The parameter here includes the attribute name of the target attribute and its set value.
Step S1303:
The CPU 401 transmits the attribute setting command generated in step S1302 to the MFP 101 (x).
[0098]
Step S1305:
In response to the job data transmission command, the CPU 401 transmits data to be processed by the job such as image data generated by the application of the PC 102 (x) to the MFP 101 (x).
Step S1306:
The CPU 401 transmits a job submission completion notification command indicating the completion of transmission of the job submission command to the MFP 101 (x), and then ends this processing.
[0099]
<Receive job>
FIG. 14 is a flowchart showing the operation of the MFP 101 (x) when the MFP 101 (x) receives a job issued by executing the processing of FIG. 13 on the PC 102 (x). .
[0100]
Step S1401:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 analyzes the command received from the PC 102 (x) and its parameters.
[0101]
Step S1402:
The controller 201 determines whether or not the received command is an attribute setting command from the analysis result of step S1401.
If it is determined that the command is an attribute setting command, the process proceeds to step S1403. Otherwise, the process proceeds to step S1406.
[0102]
Step S1403:
If the received command is an attribute setting command as a result of the determination in step S1402, the controller 201 determines whether the attribute indicated by the attribute setting command can be interpreted by the MFP 101 (x), that is, the attribute is MFP 101 (x). It is determined whether or not it can be set.
If it is determined that the attribute can be set, the process proceeds to step S1404. Otherwise, the process proceeds to step S1405.
[0103]
Step S1404:
If the attribute can be set as a result of the determination in step S1403, the controller 201 sets the attribute name and attribute value of the attribute indicated by the reception attribute setting command based on the analysis result obtained in step S1401 to the RAM 201b or DISK 201d. (See FIG. 3 above) is saved as job data.
Thereafter, this process ends.
[0104]
Step S1405:
If the attribute setting is not possible as a result of the determination in step S1403, the controller 201 notifies the PC 102 (x) that the attribute specified by the reception attribute setting command cannot be set and that the attribute cannot be set. This is notified, and then this processing is terminated.
[0105]
Step S1406:
If the received command is not an attribute setting command as a result of the determination in step S1402, the controller 201 determines whether the received command is a job data transmission command from the analysis result in step S1401.
As a result of the determination, if it is a job data transmission command, the process proceeds to step S1407, and if not, the process proceeds to step S1408.
[0106]
Step S1407:
If it is determined in step S1406 that the received command is a job data transmission command, the controller 201 stores the job data received from the PC 102 (x) following the job data transmission command in the RAM 201b or DISK 201d (see FIG. 3 above). After that, this processing is terminated.
[0107]
Step S1408:
If it is determined in step S1406 that the received command is not a job data transmission command, the controller 201 determines from the analysis result in step S1401 whether the received command is a job submission completion (end) command.
As a result of the determination, if it is a job submission completion (end) command, the process proceeds to step S1409, and if not, the process proceeds to step S1410.
[0108]
Step S1409:
If the result of determination in step S1408 is a job submission completion (end) command, the controller 201 starts processing the job data stored in the RAM 201b or DISK 201d (see FIG. 3 above).
[0109]
Step S1410:
If it is determined in step S1408 that the command is not a job submission completion (end) command, the controller 201 recognizes that the received command is another command, executes a process according to the command, and then ends the process. .
[0110]
Here, FIG. 15 shows the data structure of the job 1500 held in the MFP 101 (x) by executing the processing shown in FIG.
[0111]
As shown in FIG. 15, the job 1500 includes an attribute list 1510 representing job functions and attributes, and job data 1520 representing data to be processed by the job.
Note that the job data 1520 may not be required depending on the job type.
[0112]
The attribute list 1510 is a list of pairs of attribute names 1511 and attribute values 1512 corresponding thereto.
Here, it is assumed that an attribute name 1511 and an attribute value 1512 are set for the attributes indicated by “1513 (1)” to “1514 (n)”.
[0113]
An attribute 1513 (1) is a “job type” attribute, and the attribute value 1512 indicates that the target job is a “print job” (Print).
The attribute 1513 (2) is a “job start mode” attribute, and the attribute value 1512 indicates that the start mode of the target job is “pending”.
The attribute 1513 (3) is a “user management mode” attribute, and the attribute value 1512 indicates that the user management mode is “join security domain”. As a result, a setting value of an “access ticket” attribute 1513 (6) described later is used as the user information of the target job.
[0114]
The attribute 1513 (4) is a “user ID” attribute, and a user ID is set for the attribute value 1512 when the user management mode is “user ID” or “user ID and password”. .
An attribute 1513 (5) is a “password” attribute, and a password is set for the attribute value 1512 when the user management mode is “user ID” or “user ID and password”.
The attribute 1513 (6) is an “access ticket” attribute, and an access ticket is set for the attribute value 1512 when the user management mode is “join security domain”.
[0115]
Various attributes are also set after attribute 1513 (6) as necessary.
For the attributes 1513 (4) to 1513 (6), for example, based on the attribute value of the attribute 1513 (4), the attribute 1513 (4) to 1513 (6) A value may be set.
[0116]
<Job processing>
FIG. 16 is a flowchart showing the operation of the MFP 101 (x) when the MFP 101 (x) processes the job 1500 as shown in FIG.
[0117]
Step S1601:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 acquires the “current user management mode” attribute 510b from the attribute information 500 shown in FIG.
[0118]
Step S1602:
The controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1601 is “no user management”.
If the result of this determination is “no user management”, the process proceeds to step S1603, and if not, the process proceeds to step S1604.
[0119]
Step S1603, Step S1610, Step S1611:
If the result of determination in step S1602 is “no user management”, the controller 201 executes processing for the attributes excluding the attributes 1513 (3) to 1513 (6) in the job 1500 shown in FIG. In step S1603), processing for job data 1520 is executed based on the attribute (step S1610). Then, the controller 201 records the processing result of the job in a log (step S1611), and then ends this processing. The log at this time is stored in the RAM 201b or DISK 201d (see FIG. 3 above).
[0120]
Step S1604:
If the result of determination in step S1602 is not “no user management”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1601 is “password”.
If it is determined that the password is “password”, the process proceeds to step S1605; otherwise, the process proceeds to step S1606.
[0121]
Step S1605:
If the result of determination in step S1604 is “password”, the controller 201 determines that the password value stored in advance in the RAM 201b or DISK 201d (see FIG. 3 above) and the job 1500 shown in FIG. The attribute value of the “password” attribute 1513 (5) is compared, and only when these passwords match, the processing from step S1603 as described above is executed. When they do not match, job processing is performed. Cancel.
[0122]
Step S1606:
If the result of determination in step S1604 is not “password”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1601 is “user ID”.
As a result of the determination, if it is “user ID”, the process proceeds to step S1607, and if not, the process proceeds to step S1608.
[0123]
Step S1607:
If the result of determination in step S1606 is “user ID”, the controller 201 includes the user ID value stored in advance in the RAM 201b or DISK 201d (see FIG. 3 above) and the job 1500 shown in FIG. When the comparison is made with the attribute value of the “user ID” attribute 1513 (4) and the user IDs match, the process from step S1603 as described above is executed and does not match Cancels job processing.
[0124]
Step S1608:
If the result of determination in step S1606 is not “user ID”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1601 is “user ID and password”.
If the result of this determination is “user ID and password”, the process proceeds to step S1609; otherwise, the process proceeds to step S1612.
[0125]
Step S1609:
If the result of determination in step S1608 is “user ID and password”, the controller 201 shows the values of the user ID and password stored in advance in the RAM 201b or DISK 201d (see FIG. 3 above) and the above-described FIG. Comparison is made with each attribute value of the “user ID” attribute 1513 (4) and “password” attribute 1513 (5) included in the job 1500, and only when both the user ID and password match. The processing from step S1603 as described above is executed, and if not matched, the job processing is stopped.
[0126]
Step S1612:
If the result of determination in step S1608 is not “user ID and password”, the controller 201 shows the attribute value of the “access ticket” attribute 1513 (9) included in the job 1500 shown in FIG. The private encryption key indicated by the attribute 510f of the attribute information 500 is decrypted.
[0127]
Step S1613:
As a result of the decryption in step S1612, the controller 201 cannot or has decrypted the access ticket, but determines whether or not the printable sheet number information held in the access ticket is “0”. Determine the validity of the access ticket. That is, as a result of the decryption in step S1612, the controller 201 could not decrypt the access ticket or could decrypt the access ticket, but the access ticket is invalid when the printable number information held in the access ticket is “0”. It is determined that
If it is determined that the access ticket is invalid, the process proceeds to step S1614. If the access ticket is valid, the process proceeds to step S1615.
[0128]
Step S1614:
As a result of the determination in step S1613, if the access ticket is invalid, the controller 201 discards the job data and ends this process.
[0129]
Step S1615:
If the access ticket is valid as a result of the determination in step S1613, the controller 201 acquires the printable number information of the user corresponding to the user ID included in the access ticket from the directory server 106 using the Kerberos protocol and the LDAP protocol.
[0130]
Step S1616:
The controller 201 determines whether or not the number of printable sheets acquired in step S1615 is one or more, that is, whether or not printing is possible.
If the result of this determination is that printing is not possible, processing proceeds to step S1617. If printing is possible, processing proceeds to step S1618.
[0131]
Step S1617:
If the result of determination in step S1616 is that printing is not possible, the controller 201 discards the job data and ends this processing.
[0132]
Step S1618 to Step S1620:
If printing is possible as a result of the determination in step S1616, the controller 201 executes processing for the attributes excluding the attributes 1513 (3) to 1513 (6) in the job 1500 shown in FIG. 15 (step S1618). Based on the attribute, the process for the job data 1520 is executed (step S1619). At this time, the controller 201 monitors job execution so as not to exceed the printable number acquired in step S1615. If the maximum printable number is exceeded, the job data processing ends abnormally. Then, the controller 201 records the processing result of the job (the processing result of the normal end or the processing result of the abnormal end) in the log (step S1620), and then this processing ends. The log at this time is stored in the RAM 201b or the DISK 201d (see FIG. 3 above) in a state in which the user ID of the user who issued the target job and information on the number of printed sheets are included.
[0133]
In the present embodiment, the MFP 101 (x) once builds the job 1500 in the MFP 101 (x) by executing the job reception process shown in FIG. 14, and then again as shown in FIG. However, for example, by combining the job receiving process of 14 and the job process of FIG. 16, the reception and execution of the job can be performed simultaneously. Good.
[0134]
In the present embodiment, in the job processing shown in FIG. 16, the validity of the access ticket is determined (inspection of the printable number) in step S1613, and the directory server 106 holds it in steps S1615 and S1616. Although it is configured to determine the number of printable sheets of the user, for example, either the determination in step S1613 or the determination in steps S1615 and S1616 may be omitted.
[0135]
In the present embodiment, in the job processing shown in FIG. 16, the log is recorded in step S1611 or S1620, that is, the job processing result is held in the MFP 101 (x). However, for example, the printable number of sheets and the cumulative number of prints of the target user held in the directory server 106 may be updated based on the job processing result held in the MFP 101 (x).
Specifically, for example, for the update of the printable number of sheets, the MFP 101 (x) acquires the printable number of sheets and the cumulative number of prints indicated by the user ID held in the directory server 106 using the LDAP protocol, and prints the prints. The number of sheets printed by job execution is subtracted from the possible number of sheets, and the number of sheets printed by job execution is added to the cumulative number of printed sheets. These results are set in the directory server 106 using the LDAP protocol.
[0136]
<Login process>
FIG. 17 is a flowchart showing the operation of the MFP 101 (x) when the user logs in using the login screen provided to the user by the user interface 206 (LCD 206a) of the MFP 101 (x).
[0137]
Step S1701:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 acquires the “current user management mode” attribute 510b from the attribute information 500 shown in FIG.
[0138]
Step S1702:
The controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1701 is “no user management”.
If the result of this determination is “no user management”, the process proceeds to step S1703; otherwise, the process proceeds to step S1704.
[0139]
Step S1703:
If the result of determination in step S1702 is “No user management”, the controller 201 stores the login information input from the user on the login screen in the RAM 201b or the DISK 201d (see FIG. 3 above).
The login information here includes information such as a user management mode, a user ID, and a printable number of sheets when the user logs in. The number of printable sheets is sequentially updated according to the number of prints used in a job involving printing, such as a print job or a copy job issued from the console within the login period, and when the number of printable sheets becomes “0”, the job is Is terminated. In step S1703, the number of printable sheets is set to infinity.
Step S1725:
After the processing in step S1703, the controller 201 executes processing of the currently held (holding) job, and then ends this processing.
[0140]
Step S1704:
If the result of determination in step S1702 is not “no user management”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1701 is “password”.
If it is determined that the password is “password”, the process proceeds to step S1705; otherwise, the process proceeds to step S1706.
[0141]
Step S1705:
If the result of determination in step S1704 is “password”, the controller 201 displays a user interface that prompts the user to input a password on the login screen, and the password value input by the user through the user interface and the RAM 201b or The password value stored in the DISK 201d (see FIG. 3 above) is compared, and only when these passwords match, the processing from step S1703 as described above is executed and does not match. In this case, the process is canceled because login is impossible.
[0142]
Step S1706:
If the result of determination in step S1704 is not “password”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1701 is “user ID”.
As a result of the determination, if it is “user ID”, the process proceeds to step S1707; otherwise, the process proceeds to step S1708.
[0143]
Step S1707:
If the result of determination in step S1706 is “user ID”, the controller 201 displays a user interface that prompts the user ID to be input on the login screen, and the value of the user ID input by the user through the user interface; The user ID value stored in the RAM 201b or DISK 201d (see FIG. 3 above) is compared in advance, and only when these user IDs match, the processing from step S1703 as described above is executed. If they do not match, the process is canceled as login is impossible.
[0144]
Step S1708:
If the result of determination in step S1706 is not “user ID”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S1701 is “user ID and password”.
If the result of this determination is “user ID and password”, the process proceeds to step S1709; otherwise, the process proceeds to step S1710.
[0145]
Step S1709:
If the result of determination in step S1708 is “user ID and password”, the controller 201 displays a user interface that prompts the user ID and password to be input on the login screen, and the user ID input by the user through the user interface. And each value of the password is compared with the values of the user ID and password previously stored in the RAM 201b or DISK 201d (see FIG. 3 above), and only when both the user ID and password match. The processing from step S1703 as described above is executed, and if they do not match, the processing is stopped because login is impossible.
[0146]
Step S1710:
If the result of determination in step S1708 is not “user ID and password”, the controller 201 attempts to access the directory service 106 indicated by the attribute 510e of the attribute information 500 shown in FIG.
As a result, if the connection with the directory service 106 is possible, the process proceeds to step S1712. If the connection with the directory service 106 is impossible, the process proceeds to step S1719.
[0147]
Step S1712:
If connection to the directory service 106 is possible as a result of accessing the directory service 106 in step S1710, the controller 201 displays a user interface that prompts the user name and password to be input on the login screen. Get the user name and password entered by the user.
[0148]
Step S1713:
The controller 201 acquires an access ticket from the directory server 106 by the Kerberos protocol using the user name and password from the user acquired in step S1712.
At this time, when the directory server 106 determines that the input user name or the input password is incorrect or the like, if an error is returned from the directory server 106, the controller 201 again returns the user name and password in step S 1712. Displays a user interface that prompts for input.
[0149]
Step S1714:
The controller 201 decrypts the access ticket acquired in step S1713 using the secret encryption key indicated by the attribute 510f of the attribute information 500 in FIG.
[0150]
Step S1715:
The controller 201 determines the validity of the access ticket by decoding the access ticket in step S1714. Specifically, for example, the controller 201 determines whether or not the access ticket is within the expiration date and determines whether or not the printable number is one or more.
As a result of this determination, if the access ticket is within the expiration date and the printable number is one or more, it is determined that the access ticket is valid, and the process advances to step S1717. On the other hand, if the access ticket is not within the expiration date, or if the printable number is not 1 or more, it is determined that the access ticket is invalid, and the process advances to step S1716.
[0151]
Step S1716:
If the access ticket is invalid as a result of the determination in step S1715, the controller 201 displays a user interface on the LCD 206a (see FIG. 3 above) indicating that the MFP 101 (x) cannot be currently used with the input user name and password. After that, the present process ends.
[0152]
Step S1717:
If the access ticket is valid as a result of the determination in step S1715, the controller 201 saves the login information and updates the user information cache.
Here, as the printable sheet number information included in the login information, the sheet number information included in the access ticket is set. One user information cache is, for example, data having a data structure as shown in FIG. 18, which will be described in detail later, and is held in the RAM 201b or the DISK 201d. The user information cache is updated by additionally setting the user name and password used when acquiring the access ticket, and the user ID, the number of printable sheets, and the login date / time information included in the access ticket. . If the same user name already exists in the user information cache, the existing information is updated.
[0153]
Step S1718:
After the process of step S1717, the controller 201 processes the currently held job (pending job), and then ends this process.
[0154]
Step S1719:
As a result of the access to the directory service 106 in step S1710, if the connection with the directory service 106 is impossible, the controller 201 permits the use of the attribute 510g of attribute information shown in FIG. Whether or not it can be used even when it is not possible to connect to the directory server 106, based on the attribute 510g.
As a result of this determination, if it is available even when connection to the directory server 106 is not possible, the process proceeds to step S1721, and if not, the process proceeds to step S1720.
[0155]
Step S1720:
As a result of the determination in step S1719, if it is not possible to connect to the directory server 106, the controller 201 displays on the LCD 206a (see FIG. 3 above) a user interface indicating that it is currently impossible to log in. Then, this process ends.
[0156]
Step S1721:
As a result of the determination in step S1719, when the controller 201 can be used even when connection to the directory server 106 is not possible, the controller 201 displays a user interface that prompts the user name and password to be input on the LCD 206a (see FIG. 3). .
[0157]
Step S1722:
The controller 201 determines whether or not both the user name and password input by the user through the user interface in step S1721 exist in the user information cache held in the RAM 201b or the DISK 201d.
As a result of the determination, if the input user name and password do not exist in the user information cache, the process proceeds to step S1223, and if the input user name and password exist in the user information cache, the process proceeds to step S1223.
[0158]
Step S1723:
If the input user name and password do not exist in the user information cache as a result of the determination in step S 1722, the controller 201 displays a user interface indicating that the MFP 101 (x) cannot be currently used with the input user name on the LCD 206 a (above (Refer to FIG. 3).
[0159]
Step S1724:
If the input user name and password exist in the user information cache as a result of the determination in step S 1722, the controller 201 obtains the printable number of sheets by executing the processing shown in FIG. And the user ID are stored as login information. Further, the controller 201 sets a value “join security domain (cannot connect to directory server)” for the user management mode included in the login information.
Step S1718:
After the process of step S1724, the controller 201 processes the currently held job (pending job), and then ends this process.
[0160]
The login information saved by executing the process as described above is used for restricting and recording operations when issuing a job in the login session. In other words, the job is canceled when printing exceeds the number of printable prints included in the login information. Further, the number of prints printed in the job is subtracted from the printable number of login information. Further, when the user management mode included in the login information is set to “join security domain (cannot connect to directory server)”, the attribute information 500 stored in the MFP 101 (x) indicates “when Directory Server cannot be connected”. Based on the content of the “restriction type list for use” attribute 510h (see FIG. 5 above), printing is performed within the job from the “maximum print number” attribute 510l or the value of the printable number included in the user information cache. The value of the number of printable sheets is updated by reducing the number of printed sheets. The user ID included in the login information is recorded in a log together with the number of printed pages in the job issued in the login session. Also, when the user logs off, the login information is discarded.
[0161]
In the present embodiment, even when the MFP 101 (x) can be connected to the directory server 106 in the processing shown in FIG. 17, printing at the time of logging in to the login information in step S1717. The number of printable sheets is held, and the printable number of sheets is updated only by a job issued from the console within the login period. For example, when the MFP 101 (x) can be connected to the directory server 106, the MFP 101 (X) may acquire the number of printable sheets of the target user held in the directory server 106 immediately before the job is issued, thereby limiting the number of printable sheets. In this case, by including TGT in the login information held in step S1717, the printable number of users held in the directory server 106 immediately before the job is issued is determined by the Kerberos protocol and the LDAP protocol. get.
[0162]
FIG. 18 shows the data structure of the user information cache 1800 updated by the processing of FIG.
The user information cache 1800 is data held in the RAM 201b or DISK 201d of the MFP 101 (x). As shown in FIG. 18, the user name 1810 is assigned to each of the users indicated by “1811” to “1813”. , Password 1820, user ID 1830, printable sheet number 1840, and login date and time 1850 are set.
[0163]
<Hold job processing>
FIG. 19 is a flowchart showing the operation of the MFP 101 (x) when processing a job held by the MFP 101 (x).
[0164]
Step S1901:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 acquires a list of jobs whose printing execution is suspended in the MFP 101 (x).
[0165]
Step S1902:
The controller 201 compares the user ID included in the login information held by the execution of the process shown in FIG. 17 with the user ID included in the job list information acquired in step S1901 as an attribute. Generate a list of matching jobs.
Here, the user ID of the job to be compared is obtained by decrypting the access ticket if there is an access ticket in the job, otherwise the user ID included in the job is used. Obtain and use.
[0166]
Step S1903:
The controller 201 determines whether or not the job list has been generated as a result of the processing in step S1902, that is, the user included in the login information held by executing the processing shown in FIG. 17 in the job list acquired in step S1901. It is determined whether or not the job list has been generated because the ID exists.
If it is determined that a job list is obtained, the process advances to step S1904; otherwise, the process ends.
[0167]
Step S1904:
If a job list is obtained as a result of the determination in step S1903, the controller 201 displays the job list on the LCD 206a (see FIG. 3 above) as a user interface.
[0168]
FIG. 20 shows the user interface screen 2000 displayed on the LCD 206a in step S1904.
The user interface screen 2000 includes a job list display unit 2002, an OK button 2003, and a cancel button 2004, as shown in FIG.
[0169]
Step S1905:
The controller 201 monitors whether or not the user has pressed the OK button 2003 or the cancel button 2004 on the screen 2000 shown in FIG.
As a result, if the OK button 2003 is pressed, it is considered that a job execution instruction has been issued, and the process advances to step S1906. On the other hand, when the cancel button 2004 is pressed, the screen 2000 is closed and the process is terminated.
[0170]
Step S1906:
If the OK button 2003 is pressed as a result of the monitoring in step S1905, the controller 201 executes the job in the job list generated in step S1902, and then ends this process.
[0171]
<Attribute access processing>
FIG. 21 shows the MFP 101 (x) when the PC 102 (x) issues an access command to the MFP 101 (x) to acquire or set the attribute information 500 (see FIG. 5) held by the MFP 101 (x). The operation of x) is shown by a flowchart.
[0172]
Step S2101:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 analyzes the command received from the PC 102 (x) and its parameters.
[0173]
Step S2102:
As a result of the analysis in step S2101, the controller 201 determines whether or not the received command is an “attribute acquisition (acquisition) command”.
If the result of this determination is an “attribute acquisition (acquisition) command”, the process proceeds to step S2103; otherwise, the process proceeds to step S2107.
[0174]
Step S2103:
If the received command is an “attribute acquisition (acquisition) command” as a result of the determination in step S2102, the controller 201 determines whether or not the attribute specified by the attribute acquisition command can be acquired.
As a result of the determination, if acquisition is possible, the process proceeds to step S2104. Otherwise, the process proceeds to step S2106.
[0175]
Step S2104:
If the attribute specified by the attribute acquisition command can be acquired as a result of the determination in step S2103, the controller 201 determines the value of the corresponding attribute from the attribute information 500 (see FIG. 5 above) held in the MFP 101 (x). To get.
Step S2105:
The controller 201 sets the attribute value acquired in step S2104 as a parameter of the reply command, and transmits the reply command parameter to the driver software of the PC 101 (x) that is the issue destination of the attribute acquisition command. The process ends.
[0176]
Step S2106:
If the attribute specified by the attribute acquisition command cannot be acquired as a result of the determination in step S2103, the controller 201 sets information indicating that the attribute acquisition has failed in the parameter of the reply command, and the reply command parameter Is transmitted to the driver software of the PC 101 (x) that is the issue destination of the attribute acquisition command, and then this process ends.
[0177]
Step S2107:
If the received command is not an “attribute acquisition (acquisition) command” as a result of the determination in step S2102, the controller 201 determines whether the received command is an “attribute change command” as a result of the analysis in step S2101.
As a result of the determination, if it is an “attribute change command”, the process proceeds to step S2109, and if not, the process proceeds to step S2108.
[0178]
Step S2108:
If it is determined in step S2107 that the received command is not an “attribute change command”, the controller 201 recognizes that the received command is another command, executes a process corresponding to the command, and then ends this process. .
[0179]
Step S2109:
If it is determined in step S2107 that the received command is an “attribute change command”, the controller 201 determines whether or not the attribute designated by the attribute change command can be changed.
As a result of the determination, if the change is possible, the process proceeds to step S2110. Otherwise, the process proceeds to step S2112.
[0180]
Step S2110:
As a result of the determination in step S2109, if the attribute specified by the attribute change command can be changed, the controller 201 determines the value of the corresponding attribute from the attribute information 500 (see FIG. 5 above) held in the MFP 101 (x). Is changed to the value specified by the attribute change command.
Step S2111:
The controller 201 sets information indicating that the change in step S2110 was successful in the parameter of the reply command, and transmits the reply command parameter to the driver software of the PC 101 (x) that is the issue destination of the attribute acquisition command. Then, this process ends.
[0181]
Step S2112:
If the attribute specified by the attribute change command cannot be changed as a result of the determination in step S2109, the controller 201 sets information indicating that the attribute change has failed in the parameter of the reply command, and sets the reply command parameter to The attribute acquisition command is issued to the driver software of the PC 101 (x), and then the process ends.
[0182]
<Generation and issue of management commands>
FIG. 22 is a flowchart showing the operation of the PC 102 (x) when the PC 102 (x) generates and issues management commands such as device management and job management to the MFP 101 (x).
[0183]
Step S2201:
In the PC 102 (x) (see FIG. 4 above), the CPU 401 acquires information on the attribute 510b (current user management mode) of the attribute information 500 (see FIG. 5 above) held by the MFP 101 (x).
[0184]
Step S2202:
The CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S2201 is “no user management”.
As a result of the determination, if “no user management”, the process proceeds to step S2203; otherwise, the process proceeds to step S2204.
[0185]
Step S2203:
If the result of determination in step S2202 is “no user management”, the CPU 401 generates a management command as shown in FIG. 23, which will be described in detail later, and transmits it to the MFP 101 (x).
As a result, the MFP 101 (x) executes processing shown in FIG. 24 to be described later in detail with respect to the management command from the PC 102 (x), and transmits the result to the PC 102 (x).
[0186]
Step S2217:
After the process of step S2203, the CPU 401 processes the process result information transmitted from the MFP 101 (x).
The processing here depends on the result of the processing corresponding to the management command executed by the MFP 101 (x) in step S2203, and in particular, the management command is for acquiring a list of jobs held in the MFP 101 (x). In the case of the command “ListJobs”, the CPU 401 displays a list of jobs included in the processing result information from the MFP 101 (x) on the CRT 403 as a user interface screen.
[0187]
Step S2204:
If the result of determination in step S2202 is not “no user management”, the CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S2201 is “password”.
If it is determined that the password is “password”, the process proceeds to step S2205; otherwise, the process proceeds to step S2206.
[0188]
Step S2205, Step S2203, Step S2217:
If the result of determination in step S2204 is “password”, the CPU 401 displays a user interface screen that prompts the CRT 403 to input a password (step S2205).
Thereby, the user inputs a predetermined password on the screen.
The CPU 401 executes the above-described processing of step S2203 and step S2217. Here, the CPU 401 generates a management command in which the password input from the user is set in step S2205, and transmits this to the MFP 101 (x). (Step S2203), and then the processing from Step S2217 is executed.
[0189]
Step S2206:
If the result of determination in step S2204 is not “password”, the CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S2201 is “user ID”.
If the result of this determination is “user ID”, the process proceeds to step S2207; otherwise, the process proceeds to step S2208.
[0190]
Step S2207, Step S2203, Step S2217:
If the result of determination in step S2206 is “user ID”, the CPU 401 displays a user interface screen that prompts the CRT 403 to input a user ID (step S2207).
Thereby, the user inputs a predetermined user ID on the screen.
The CPU 401 executes the above-described processing of step S2203 and step S2217. Here, the CPU 401 generates a management command in which the user ID input by the user is set in step S2207, and sends this to the MFP 101 (x). (Step S2203), and then the processing from step S2217 is executed.
[0191]
Step S2208:
If the result of determination in step S2206 is not “user ID”, the CPU 401 determines whether or not the setting value of the attribute 510b acquired in step S2201 is “user ID and password”.
As a result of the determination, if “user ID and password”, the process proceeds to step S2209, and if not, the process proceeds to step S2210.
[0192]
Step S2209, Step S2203, Step S2217:
If the result of determination in step S2208 is “user ID and password”, the CPU 401 displays a user interface screen that prompts the CRT 403 to input a user ID and password (step S2209).
Thereby, the user inputs a predetermined user ID and password from the screen.
The CPU 401 executes the above-described processing of step S2203 and step S2217. Here, the CPU 401 generates a management command in which the user ID and password input by the user in step S2209 are set, and sends this to the MFP 101 (x). In step S2203, the process from step S2217 is executed.
[0193]
Step S2210:
If the result of determination in step S2208 is not “user ID and password”, the CPU 401 determines whether or not the user of the PC 102 (x) has already logged in to the security domain managed by the directory server 106. Specifically, for example, the CPU 401 makes the determination by making an inquiry to the operating system of the PC 102 (x).
As a result of the determination, if the user has not already logged in, the process proceeds to step S2211, and if the user has already logged in, the process proceeds to step S2212.
[0194]
Step S2211:
If the result of determination in step S2210 is that the user has not logged in, the CPU 401 displays a user interface screen that prompts the CRT 403 to input a user ID and password. Thereby, the user inputs a predetermined user ID and password from the screen.
Step S2213:
The CPU 401 obtains TGT (ticket generation ticket) information by transmitting the user ID and password information input by the user in step S2211 to the directory server 106 using the Kerberos protocol.
Thereafter, the process proceeds to step S2214.
[0195]
Step S2213:
If it is determined in step S2210 that the user has logged in, the CPU 401 requests and obtains TGT (ticket generation ticket) information used in the current session from the operating system of the PC 102 (x).
Thereafter, the process proceeds to step S2214.
[0196]
Step S2214:
The CPU 401 accesses the MFP 101 (x) by transmitting to the directory server 106 using the Kerberos protocol with the TGT information acquired in step S2212 or S2213 and the identifier specifying the MFP 101 (x) as the job issue destination as parameters. Get a ticket.
In this access ticket, the user name, the user ID, the number of printable sheets of the user, the information regarding the expiration date of the access ticket, and the like are indicated by the attribute 510f of the attribute information 500 (see FIG. 5 above) held by the MFP 101 (x). Information encrypted with a private encryption key. The data format inside the access ticket and the encryption method (algorithm) to be used are uniquely determined in advance by the type of the directory server 106 currently supported.
[0197]
Step S2215:
The CPU 401 generates a management command in which the access ticket acquired in step S2214 is set, and transmits this to the MFP 101 (x).
Step S2216:
The CPU 401 executes processing corresponding to the reply from the MFP 101 (x) in the same manner as in step S2217 described above, and ends this processing.
[0198]
FIG. 23 shows the data structure of a management command 2300 that is generated by the execution of the processing in FIG. 22 and transmitted to the MFP 101 (x) in the PC 102 (x).
[0199]
As shown in FIG. 23, the management command 2300 includes a user management mode 2301, a user ID 2302, a password 2303, an access ticket 2304, a command type 2305, a command parameter length 2306, and a command parameter 2307.
The user management mode 2301 is information indicating which information of the user ID 2302, the password 2303, and the access ticket 2304 is valid.
[0200]
<Management command processing>
FIG. 24 illustrates the MFP 101 when the management command 2300 (see FIG. 23) generated by the PC 102 (x) executing the processing illustrated in FIG. 22 is transmitted to the MFP 101 (x). The operation of (x) is shown by a flowchart.
[0201]
Step S2401:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 acquires the “current user management mode” attribute 510b from the attribute information 500 shown in FIG.
[0202]
Step S2402:
The controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S2401 is “no user management”.
If the result of this determination is “no user management”, the process proceeds to step S2403; otherwise, the process proceeds to step S2404.
[0203]
Step S2403:
If the result of determination in step S2402 is “no user management”, the controller 201 sets “0” for the user ID 2302 of the management command 2300 from the PC 102 (x), details of which will be described later, but in step S2413. The process according to the command type 2305 is executed.
[0204]
Step S2404:
If the result of determination in step S2402 is not “no user management”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S2401 is “password”.
If it is determined that the password is “password”, the process proceeds to step S2405; otherwise, the process proceeds to step S2406.
[0205]
Step S2405:
If the result of determination in step S2404 is “password”, the controller 201 compares the password value previously stored in the RAM 201b or DISK 201d with the password 2303 of the management command 2300 from the PC 102 (x), If these passwords match, “0” is set for the password 2303 of the management command 2300, and the process according to the command type 2305 is executed by the process from step S2413, as will be described in detail later. To do. On the other hand, if the passwords do not match, the controller 201 returns an error to the PC 102 (x) and stops the processing for the management command 2300.
[0206]
Step S2406:
If the result of determination in step S2404 is not “password”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S2401 is “user ID”.
As a result of the determination, if it is “user ID”, the process proceeds to step S2407, and if not, the process proceeds to step S2408.
[0207]
Step S2407:
If the result of determination in step S2406 is “User ID”, the controller 201 compares the user ID value previously stored in the RAM 201b or DISK 201d with the user ID 2302 of the management command 2300 from the PC 102 (x). If these user IDs match, the process according to the command type 2305 by the process from step S2413 is executed, as will be described in detail later. On the other hand, if the user IDs do not match, the controller 201 returns an error to the PC 102 (x) and stops the processing for the management command 2300.
[0208]
Step S2408:
If the result of determination in step S2406 is not “user ID”, the controller 201 determines whether or not the attribute value of the attribute 510b acquired in step S2401 is “user ID and password”.
If the result of this determination is “user ID and password”, the process proceeds to step S2409; otherwise, the process proceeds to step S2410.
[0209]
Step S2409:
If the result of determination in step S2408 is “user ID and password”, the controller 201 determines that the user ID and password values previously stored in the RAM 201b or DISK 201d and the user of the management command 2300 from the PC 102 (x) When the ID 2302 and the password 2303 are compared, and both of these user IDs and passwords match, the process according to the command type 2305 is executed by the process from step S2413. . On the other hand, when the user ID and the password do not match, the controller 201 returns an error to the PC 102 (x) and stops the processing for the management command 2300.
[0210]
Step S2410:
If the result of determination in step S2408 is not “user ID and password”, the controller 201 indicates the access ticket 2304 of the management command 2300 from the PC 102 (x) by the attribute 510f of the attribute information 500 shown in FIG. Decrypt using the private encryption key.
[0211]
Step S2411:
The controller 201 determines the validity and expiration date of the access ticket 2304 based on the result of decoding in step S2410.
If the access ticket 2304 is valid as a result of this determination, the controller 201 sets the user ID of the access ticket 2304 to the user ID 2303 of the management command 2300, and details will be described later, but the processing from step S2413 is performed. , Processing according to the command type 2305 is executed. On the other hand, if the access ticket 2304 is valid, the process advances to step S2412.
[0212]
Step S2412:
If it is determined in step S2411 that the access ticket 2304 is invalid, the controller 201 transmits an error to the PC 102 (x), and the process ends.
[0213]
Step S2413:
The processing from step S2413 is processing according to the command type 2305 of the management command 2300.
The controller 201 determines whether or not the command type 2305 is a “ListJobs” (acquisition of job list) command.
If it is determined that the command is a “ListJobs” command, the process advances to step S2414; otherwise, the process advances to step S2417.
[0214]
Step S2414:
If the result of determination in step S2413 is a “ListJobs” command, the controller 201 obtains a list of jobs held in the MFP 101 (x).
At this time, if the attribute value of the “current user management mode” attribute 510b of the attribute information 500 shown in FIG. 5 is “join security domain”, the controller 201 includes each job in the target job. By decrypting the access ticket using the secret encryption key indicated by the attribute 510f of the attribute information 500 shown in FIG. 5, the user ID corresponding to the target job is obtained, and this user ID is obtained as the user of the target job. Set for ID.
[0215]
Step S2415:
The controller 201 compares the user ID of the target job with the user ID 2302 included in the management command 2300 for each of the jobs included in the job list acquired in step S2414, and for those jobs that do not match these user IDs. , Convert the job name to blank.
Step S2416:
The controller 201 transmits the job list that has undergone the process of step S2415 to the PC 102 (x), and the process ends.
[0216]
Step S2417:
If the result of determination in step S2413 is not a “ListJobs” command, the controller 201 determines whether or not the command type 2305 is a “CancelJob” (cancel specified job) command.
As a result of the determination, if it is a “CancelJob” command, the process proceeds to step S2419, and if not, the process proceeds to step S2418.
[0217]
Step S2418:
If the result of determination in step S2417 is that the command is not a “CancelJob” command, the controller 201 executes device management command processing and ends this processing.
In this device management command process, a plurality of device management command processes may be executed depending on the command type 2305.
[0218]
Step S2419:
If the result of determination in step S2417 is a “CancelJob” command, the controller 201 acquires information on the job specified by the command.
At this time, if the attribute value of the “current user management mode” attribute 510b of the attribute information 500 shown in FIG. 5 is “join security domain”, the controller 201 sends the access ticket included in the target job to the above-described access ticket. The user ID corresponding to the target job is obtained by decrypting using the secret encryption key indicated by the attribute 510f of the attribute information 500 shown in FIG. 5, and this user ID is set for the user ID of the target job. To do.
[0219]
Step S2420:
The controller 201 compares the user ID of the job with the user ID included in the management command 2300, and determines whether these user IDs match.
As a result of the determination, if the user IDs match, the process proceeds to step S2421, and if not, the process proceeds to step S2423.
[0220]
Step S2421, step S2422:
If the user ID matches as a result of the determination in step S2420, the controller 201 cancels the job specified by the command (step S2421), transmits the management command 2300 to the PC 102 (x) as successful execution, The process ends.
[0221]
Step S2423:
If the user ID does not match as a result of the determination in step S2420, the controller 201 transmits the management command 2300 to the PC 102 (x) as an execution failure, and the process ends.
[0222]
In the processing shown in FIG. 24, for example, by changing the processing in step S2421, job management other than the job case having a job access control function (specifically, for example, job suspension / resumption) , Interruption, improvement of priority, reduction of priority, etc.) can be executed.
[0223]
<Data update of directory server 106>
FIG. 25 shows the MFP 101 when the PC 102 (x) totals the logs of the MFP 101 (x) and updates the printable number of sheets and the cumulative number of prints for each user held in the directory server 106 based on the total result. (X) and operation | movement of PC102 (x) are shown with the flowchart.
[0224]
Step S2501:
In the PC 102 (x) (see FIG. 4 above), the CPU 401 acquires log information from the MFP 101 (x).
[0225]
Step S2502:
The CPU 401 totals the number of printed sheets for each user ID from the log information acquired in step S2501.
[0226]
Step S2503:
The CPU 401 acquires from the directory server 106 information on the number of printable sheets and the cumulative number of prints for each user using the LDAP protocol, subtracts the total obtained in step S2502 from the number of printable sheets, and adds the total number of prints to the cumulative number of prints. These results are added, and these results are set for the directory server 106 by the LDAP protocol.
Thereby, the printable number of sheets and the cumulative number of printed sheets for each user of the directory server 106 are updated.
[0227]
By executing the above-described processing for, for example, two MFPs 101 (1) and 101 (2), the number of printable sheets and the cumulative number of printed sheets for the two MFPs 101 (1) and 101 (2) Centralized management is performed by the server 106.
[0228]
For example, in the MFP 101 (x), the printable number of sheets and the cumulative number of printed sheets of the directory server 106 may be updated every time the job is completed without saving the number of printed sheets used in the job in the log. In this case, it is not necessary to execute the processing shown in FIG.
[0229]
<Calculation process for the number of printable sheets>
FIG. 26 specifically shows the process for calculating the number of printable sheets when connection to the directory server 106 is impossible in step S1724 shown in FIG.
[0230]
Step S2601:
In the MFP 101 (x) (see FIG. 2 above), the controller 201 obtains “current printable sheet type restriction” indicated by the attribute 510i of the attribute information 500 shown in FIG.
[0231]
Step S2602:
The controller 201 determines whether or not the restriction type acquired in step S2601 is “unlimited”.
If the result of this determination is “unlimited”, the process proceeds to step S2603; otherwise, the process proceeds to step S2604.
[0232]
Step S2603:
If the restriction type is “unlimited” as a result of the determination in step S2602, the controller 201 sets the number of printable sheets to unlimited, and the process ends.
[0233]
Step S2604:
If the restriction type is not “unlimited” as a result of the determination in step S2602, the controller 201 determines that the restriction type acquired in step S2601 is “time limit”, “time limit and limit by fixed maximum number”, or “time limit and It is determined whether or not it is “restricted by maximum number of sheets”.
As a result of the determination, if any of the above conditions is met (hereinafter simply referred to as “time limit”), the process proceeds to step S2605; otherwise, the process proceeds to step S2608.
[0234]
Step S2605:
If the restriction type is “time restriction” as a result of the determination in step S2604, the controller 201 obtains the user's last login date and time (see FIG. 18 above) included in the user information cache.
[0235]
Step S2606:
The controller 201 compares the login date and time acquired in step S2605 with the current date and time, and whether or not the time difference is equal to or smaller than the value (time limit) indicated by the attribute 510j of the attribute information 500 shown in FIG. Is determined.
If it is determined that the time difference is within the time limit, the process proceeds to step S2608; otherwise, the process proceeds to step S2607.
[0236]
Step S2607:
If it is determined in step S2606 that the time difference is not within the time limit, the controller 201 sets the printable sheet number to “0”, and the process ends.
[0237]
Step S2608:
If the determination result in step S2604 is false or the determination result in step S2606 is true, the controller 201 indicates that the restriction type indicated by the attribute 510i of the attribute information 500 shown in FIG. It is determined whether or not “restricted” or “restricted by time limit and fixed maximum number of sheets”.
As a result of the determination, if the restriction type is “restrict with fixed maximum number of sheets” or “limit with time limit and fixed maximum number of sheets”, the process proceeds to step S2609; otherwise, the process proceeds to step S2610.
[0238]
Step S2609:
As a result of the determination in step S2608, when the restriction type is “restricted with fixed maximum number of sheets” or “time limit and restricted with fixed maximum number of sheets”, the controller 201 determines the printable number of sheets as attribute information shown in FIG. The maximum number indicated by the attribute 510l of 500 is set, and this processing ends.
[0239]
Step S2610:
As a result of the determination in step S2608, when the restriction type is not “restricted by fixed maximum number of sheets” or “time restriction and restricted by fixed maximum number of sheets”, the controller 201 indicates the attribute 510i of the attribute information 500 shown in FIG. It is determined whether or not the type of restriction to be performed is “restricted by maximum number of sheets” or “time restriction and restriction by maximum number of sheets”.
As a result of the determination, if the restriction type is “limit by maximum number” or “time limit and limit by maximum number”, the process proceeds to step S2611, and if not, the process proceeds to step S2612.
[0240]
Step S2611:
As a result of the determination in step S2610, if the restriction type is “limit by maximum number of sheets” or “time limit and limit by maximum number of sheets”, the controller 201 determines the printable sheet number,
Number of printable sheets = Number of printable sheets in the user information cache (see FIG. 18 above)
-Daily reduction rate of the maximum number of sheets
× Time since last login (days)
Then, the processing ends.
In the above formula, “time since last login (number of days)” is a value obtained by dividing the time obtained by subtracting the current date and time from the login date and time of the user information cache by dividing by “24” and truncating the decimal part. .
[0241]
Step S2612:
As a result of the determination in step S2610, if the type of restriction is not “limit by maximum number” or “time limit and limit by maximum number”, the controller 201 logs in by the attribute 510m of the attribute information 500 shown in FIG. The maximum number of prints for each print is set as the number of printable sheets, and the process ends.
[0242]
[Second Embodiment]
In the first embodiment, the PC 102 (x) performs the processing in FIG. 6 (user management mode setting processing), the processing in FIG. 8 (directory server setting processing), and the processing in FIG. 10 (directory server connection). (Login condition setting process when unable to do so), "Supported user management mode list", "Compatible Directory Server type list", and "Types of restrictions when using when Directory Server cannot connect" However, the present invention is not limited to this. For example, the directory server 106 may be configured to support “list of supported user management modes”, “compatible directory”. Server Type List ”and“ List of Restriction Types for Use When Directory Server Cannot Be Connected ”are retrieved from MFP 101 (x). It may be obtained and temporarily stored as device information and supplied to the PC 102 (x) as necessary.
[0243]
[Third embodiment]
In the first embodiment, as shown in FIG. 23 above, the access ticket 2304 is included in the management command 2300. For example, the data size of the access ticket 2304 is other data of the management command 2300. It can be considered that a problem arises in performance and the like due to the large size compared to the size.
Therefore, in the present embodiment, the above problem is solved by the following configuration.
[0244]
FIG. 27 shows the data structure of the management command 2700 in the present embodiment, which is generated in the PC 102 (x) by executing the processing shown in FIG.
As shown in FIG. 27, the management command 2700 includes a user management mode 2701, a user ID 2702, a password 2703, a session key 2704, a command type 2705, a command parameter length 2706, and a command parameter 2707.
The user management mode 2701 is information indicating which information of the user ID 2702, the password 2703, and the session key 2704 is valid.
[0245]
In particular, the management command 2700 of the present embodiment has a data configuration having a session key 2704 instead of an access ticket, compared to the data configuration of the management command 2300 of FIG.
The session key 2704 is issued from the MFP 101 (x), and the MFP 101 (x) is associated with the access ticket on a one-to-one basis by the access ticket cache shown in FIG.
[0246]
FIG. 28 shows the data structure of the access ticket cache 2800 that is generated and held in the MFP 101 (x) by the processing execution shown in FIG.
As shown in FIG. 28, the access ticket cache 2800 is composed of a plurality of records with a pair of a session key 2801 and an access ticket 2802 as one record. The access ticket 2802 held here is data after decryption using the encryption key indicated by the attribute 510f of the attribute information 500 of FIG.
[0247]
FIG. 29 is a flowchart showing the operation of the MFP 101 (x) when the MFP 101 (x) receives and processes the management command 2700 transmitted from the PC 102 (x).
[0248]
In the MFP 101 (x) (see FIG. 2 above), the controller 201 executes the processing up to step S2408 shown in FIG. 24, and the determination result in step S2408 is false, that is, the user management mode is set. If “join security domain”, the processing from the next step S2901 is executed.
[0249]
Step S2901:
The controller 201 determines whether or not the session key 2704 of the management command 2700 transmitted from the PC 102 (x) is “0”.
If the session key 2704 is “0” as a result of the determination, the process proceeds to step S2902, and if not, the process proceeds to step S2908.
[0250]
Step S2902:
If the session key 2704 is “0” as a result of the determination in step S2901, the controller 201 determines whether or not the command type 2705 of the management command 2700 is “access ticket setting command”.
If it is determined that the command type 2705 is “access ticket setting command”, the process proceeds to step S2903; otherwise, the process proceeds to step S2910.
[0251]
Step S2903:
If the command type 2705 is “access ticket setting command” as a result of the determination in step S2902, the controller 201 sets the access ticket value included in the command parameter 2707 of the management command 2700 as the attribute information 500 in FIG. The private encryption key indicated by the attribute 510f is decrypted.
[0252]
Step S2904:
The controller 201 determines the validity and expiration date of the access ticket based on the result of decryption in step S2903.
If it is determined that the access ticket is valid, the process proceeds to step S2906; otherwise, the process proceeds to step S2906.
[0253]
Step S2905:
If the access ticket is invalid as a result of the determination in step S2904, the controller 201 returns an error to the PC 102 (x) and ends this process.
[0254]
Step S2906:
If the access ticket is valid as a result of the determination in step S2904, the controller 201 generates a session key corresponding to the access ticket on a one-to-one basis based on the content of the access ticket decrypted in step S2903. At the same time, the access ticket is stored in the access ticket cache 2800.
Step S2907:
The controller 201 returns the session key generated in step S2906 to the PC 102 (x), and ends this process.
[0255]
Step S2908, Step S2909:
If it is determined in step S2901 that the session key 2704 is not “0”, the controller 201 searches the access ticket cache 2800 for the corresponding session key (step S2908), and as a result of this search, the corresponding session key is the access ticket. It is determined whether or not it exists in the cache 2800 (step S2909).
As a result of the determination, if the corresponding session key exists in the access ticket cache 2800, the process proceeds to step S2911, and if not, the process proceeds to step S2910.
[0256]
Step S2910:
If it is determined in step S2909 that the corresponding session key does not exist in the access ticket cache 2800, or if the command type 2705 is not “access ticket setting command” as a result of determination in step S2902, the controller 201 indicates an error in the PC 102. A reply is made to (x), and this process ends.
[0257]
Step S2911:
As a result of the determination in step S2909, when the corresponding session key exists in the access ticket cache 2800, the controller 201 acquires the access ticket corresponding to the session key from the access ticket cache 2800, and the user ID in the access ticket Is set in the user ID 2702 of the management command 2700.
[0258]
Step S2912:
The processing from step S2912 is processing according to the command type 2705 of the management command 2700.
The controller 201 determines whether or not the command type 2705 is a “ListJobs” (acquisition of job list) command.
As a result of the determination, if it is a “ListJobs” command, the process proceeds to step S2713, and if not, the process proceeds to step S2916.
[0259]
Step S2913:
If the result of determination in step S2912 is a “ListJobs” command, the controller 201 acquires a list of jobs held in the MFP 101 (x).
At this time, if the attribute value of the “current user management mode” attribute 510b of the attribute information 500 shown in FIG. 5 is “join security domain”, the controller 201 includes each job in the target job. By decrypting the access ticket using the secret encryption key indicated by the attribute 510f of the attribute information 500 shown in FIG. 5, the user ID corresponding to the target job is obtained, and this user ID is obtained as the user of the target job. Set for ID.
[0260]
Step S2914:
The controller 201 compares the user ID of the target job with the user ID 2702 included in the management command 2700 for each of the jobs included in the job list acquired in step S2913, and for those jobs that do not match these user IDs. , Convert the job name to blank.
Step S2915:
The controller 201 transmits the job list that has undergone the process of step S2914 to the PC 102 (x), and the process ends.
[0261]
Step S2916:
If the result of determination in step S2912 is not a “ListJobs” command, the controller 201 determines whether the command type 2705 is a “CancelJob” (cancel specified job) command.
If it is determined that the command is “CancelJob”, the process proceeds to step S2918; otherwise, the process proceeds to step S2917.
[0262]
Step S2917:
If the result of determination in step S2916 is not a “CancelJob” command, the controller 201 executes device management command processing and ends this processing.
In this device management command process, a plurality of device management command processes may be executed depending on the command type 2705.
[0263]
Step S2918:
If the result of determination in step S2916 is a “CancelJob” command, the controller 201 acquires information on the job specified by the command.
At this time, if the attribute value of the “current user management mode” attribute 510b of the attribute information 500 shown in FIG. 5 is “join security domain”, the controller 201 sends the access ticket included in the target job to the above-described access ticket. The user ID corresponding to the target job is obtained by decrypting using the secret encryption key indicated by the attribute 510f of the attribute information 500 shown in FIG. 5, and this user ID is set for the user ID of the target job. To do.
[0264]
Step S2919:
The controller 201 compares the user ID of the job with the user ID included in the management command 2300, and determines whether these user IDs match.
As a result of the determination, if the user IDs match, the process proceeds to step S2920; otherwise, the process proceeds to step S2922.
[0265]
Step S2920, Step S2921:
If the user ID matches as a result of the determination in step S2919, the controller 201 cancels the job specified by the command (step S2421), transmits the management command 2700 to the PC 102 (x) as successful execution, The process ends.
[0266]
Step S2922:
If the user ID does not match as a result of the determination in step S2919, the controller 201 transmits the management command 2700 to the PC 102 (x) as an execution failure, and the process ends.
[0267]
Note that, by applying the management command processing shown in FIG. 29 to the job processing, for example, as shown in FIGS. 15 and 16, the job is not included in the access ticket. It is also possible to include a session key for a job.
[0268]
FIG. 30 shows the operation of the PC 102 (x) when the PC 102 (x) issues a management command such as device management or job management to the MFP 101 (x) that executes the processing shown in FIG. This is shown by a flowchart.
[0269]
In the PC 102 (x) (see FIG. 4 above), the CPU 401 executes the processing up to step S2212 or S2213 shown in FIG. 22 and after completing the acquisition of TGT, executes the processing from the next step S3001.
[0270]
Step S3001:
The CPU 401 acquires an access ticket for the MFP 101 (x) by transmitting the parameter for identifying the TGT acquired in step S2212 or S2213 and the identifier for specifying the MFP 101 (x) to which the job is issued to the directory server 106 using the Keberos protocol. To do.
The access ticket acquired here is an attribute of attribute information 500 (see FIG. 5 above) in which information related to the user name, user ID, number of printable users, and access ticket expiration date is held in the MFP 101 (x). This is encrypted with the secret encryption key indicated by 510f. The data format inside the access ticket and the encryption method (algorithm) used are uniquely determined in advance by the type of the directory server 106 currently supported, indicated by 510d of the attribute information 500.
[0271]
Step S3002:
The CPU 401 generates a management command 2700 in which the access ticket acquired in step S3001 is set as a command parameter 2707 (see FIG. 27), and transmits this to the MFP 101 (x). The management command 2700 transmitted here has a session key 2704 set to “0” and a command type 2705 set to “access ticket setting command”.
[0272]
Step S3003:
In response to the transmission of the management command 2700 in step S3002, the CPU 401 determines whether or not the result returned from the MFP 101 (x) is “error”.
If it is determined that the result is “error”, the process ends. If not, the process proceeds to step S3004.
[0273]
Step S3004:
If the return from the MFP 101 (x) is not “error” as a result of the determination in step S3003, the CPU 401 sets the session key returned from the MFP 101 (x) as the session key 2704 of the management command 2700, and the others. Appropriate appropriate values are set for the command type 2705, command parameter length 2706, and command parameter 2707, and transmitted to the MFP 101 (x).
[0274]
Step S3005:
In response to the transmission of the management command 2700 in step S3004, the CPU 401 waits for a reply from the MFP 101 (x), and ends this processing.
[0275]
For example, when the same user PC 102 (x) issues a job management command or device management command to the same MFP 101 (x), the necessary access ticket is already held in the MFP 101 (x). Since the session key for this has already been acquired, the processing steps of steps S3001 to S3003 in the processing of FIG. 30 can be omitted. Thereby, job management and device management of peripheral devices can be performed with good performance.
[0276]
An object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the host and terminal according to the first to third embodiments to a system or apparatus, and the computer of the system or apparatus Needless to say, this can also be achieved by (or CPU or MPU) reading and executing the program code stored in the storage medium.
In this case, the program code itself read from the storage medium realizes the functions of the first to third embodiments, and the storage medium storing the program code and the program code constitute the present invention. It becomes.
As a storage medium for supplying the program code, ROM, flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, and the like can be used.
Further, by executing the program code read by the computer, not only the functions of the first to third embodiments are realized, but also an OS running on the computer based on the instruction of the program code. Needless to say, the present invention includes a case where the functions of the first to third embodiments are realized by performing part or all of the actual processing.
Further, after the program code read from the storage medium is written to the memory provided in the extension function board inserted in the computer or the function extension unit connected to the computer, the function extension is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or function expansion unit performs part or all of the actual processing, and the functions of the first to third embodiments are realized by the processing.
[0277]
【The invention's effect】
As described above, according to the present invention, user information input by a user among jobs whose execution is suspended (for example, user information when logging in to a device that executes the job by giving user information from the console) For example, based on a job execution instruction from the user, a job corresponding to the displayed job information is executed. For example, the job information may be displayed on the device side that actually executes the job, or is transmitted to and displayed on an external information processing apparatus that can communicate with the device via an arbitrary communication medium. You may do it.
With this configuration, it is possible to prompt the user to execute a job that has been issued by the user before and whose execution has been suspended at the time when the user inputs user information (such as immediately after login).
[0278]
Further, when the job corresponding to the user identification information acquired using the user information is configured to be a job to be displayed as job information, the user identification information is further decoded from the predetermined information. If the information obtained by doing this (information obtained by decrypting the access ticket information given from the directory server, etc.), the user himself / herself previously issued after using the user information standardized in the network environment etc. Then, it is possible to prompt the user to execute a job whose execution is suspended at the time when the user inputs user information (such as immediately after login).
[0279]
Therefore, according to the present invention, job management and job execution can be performed efficiently, and user convenience can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a network system to which the present invention is applied in a first embodiment.
FIG. 2 is a block diagram showing a configuration of an MFP (peripheral device) in the network system.
FIG. 3 is a block diagram illustrating a configuration of a controller of the MFP.
FIG. 4 is a block diagram showing a configuration of a PC (client) of the network system.
FIG. 5 is a diagram for explaining attribute information held by the MFP.
FIG. 6 is a flowchart for explaining an operation of setting a user management mode in the network system.
FIG. 7 is a diagram for explaining a user interface when the user management mode is set.
FIG. 8 is a flowchart for explaining an operation of setting a corresponding directory server in the network system.
FIG. 9 is a diagram for explaining a user interface when setting the corresponding directory server;
FIG. 10 is a flowchart for explaining an operation of setting a login condition when a directory server cannot be connected in the network system.
FIG. 11 is a diagram for explaining a user interface when the login condition is set.
FIG. 12 is a flowchart for explaining a job generation operation in the network system;
FIG. 13 is a flowchart for explaining a job issuing operation in the job generation operation;
FIG. 14 is a flowchart for explaining an operation of receiving a job input command in the network system.
FIG. 15 is a diagram for explaining a data structure of the job.
FIG. 16 is a flowchart for explaining an operation of job processing in the network system.
FIG. 17 is a flowchart for explaining an operation of console login processing in the network system;
FIG. 18 is a diagram for explaining a data structure of a cache of user information in the login process.
FIG. 19 is a flowchart for explaining an operation of a pending job process in the network system.
FIG. 20 is a diagram for explaining a user interface at the time of the hold job processing;
FIG. 21 is a flowchart for explaining an attribute access operation in the network system.
FIG. 22 is a flowchart for explaining management command generation and issue operations in the network system;
FIG. 23 is a diagram for explaining the data structure of the management command;
FIG. 24 is a flowchart for explaining the operation of management command processing in the network system.
FIG. 25 is a flowchart for explaining an operation of a directory server data update process in the network system;
FIG. 26 is a flowchart for explaining an operation of calculating a printable sheet number in the network system.
FIG. 27 is a diagram for explaining a data structure of the management command in the third embodiment;
FIG. 28 is a diagram for explaining the data structure of an access ticket cache used in the third embodiment.
FIG. 29 is a flowchart for explaining the operation of the management command process in the third embodiment;
FIG. 30 is a flowchart for explaining the operation of the management command generation process in the third embodiment;
[Explanation of symbols]
100 network system
101 (1), 101 (2) MFP (peripheral device)
102 (1) to 101 (3) PC (client)
106 Directory server
110 network

Claims (17)

ジョブを実行するためのジョブ実行装置であって、
ユーザによって入力されるユーザを識別するためのユーザ情報を取得するユーザ情報取得手段と、
前記ユーザ情報取得手段によって取得されたユーザ情報を使用して、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を外部のサーバから取得するアクセスチケット情報取得手段と、
前記アクセスチケット情報取得手段により取得されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読手段と、
前記解読手段によりにより取得されたユーザ識別情報に基づいて、前記ユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を表示する表示手段と、
前記表示手段により表示されるジョブ情報に対応するジョブを実行するジョブ実行手段とを備えることを特徴とするジョブ実行装置。
A job execution device for executing a job,
User information acquisition means for acquiring user information for identifying a user input by the user;
Access ticket information acquisition means for acquiring, from the external server, access ticket information that includes encrypted user identification information for identifying the user, using the user information acquired by the user information acquisition means; ,
Decrypting the access ticket information obtained by the access ticket information obtaining means to obtain the user identification information; and
Display means for displaying job information relating to a job whose execution corresponding to the user identification information is suspended based on the user identification information acquired by the decoding means;
A job execution device comprising: job execution means for executing a job corresponding to the job information displayed by the display means.
外部の情報処理装置から、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報と対応付けられたジョブを受信するジョブ受信手段と、
前記ジョブ受信手段により受信されたジョブと対応付けられた前記アクセスチケット情報を解読することにより取得されるユーザ識別情報と、前記解読手段によって取得されるユーザ識別情報とを比較する比較手段と、
前記比較手段による比較結果に基づいて、前記解読手段によって取得されたユーザ識別情報に対応する実行が保留されているジョブのリストを生成するリスト生成手段とを備え、
前記表示手段は、前記リスト生成手段により生成されたリストに基づいて、前記ジョブ情報を表示することを特徴とする請求項1に記載のジョブ実行装置。
Job receiving means for receiving a job associated with access ticket information including encrypted user identification information for identifying a user from an external information processing apparatus;
Comparison means for comparing user identification information acquired by decoding the access ticket information associated with the job received by the job receiving means, and user identification information acquired by the decoding means;
A list generation means for generating a list of jobs pending execution corresponding to the user identification information acquired by the decryption means based on the comparison result by the comparison means;
The job execution apparatus according to claim 1, wherein the display unit displays the job information based on the list generated by the list generation unit.
前記解読手段は、暗号キーを用いて前記アクセスチケット情報を解読することで前記ユーザ識別情報を取得することを特徴とする請求項1又は2に記載のジョブ実行装置。  3. The job execution apparatus according to claim 1, wherein the decrypting unit obtains the user identification information by decrypting the access ticket information using an encryption key. 前記ジョブは印刷ジョブであり、前記ジョブ実行装置はプリンタであることを特徴とする請求項1乃至3のいずれか1項に記載のジョブ実行装置。  The job execution apparatus according to claim 1, wherein the job is a print job, and the job execution apparatus is a printer. 前記アクセスチケット情報は、前記ユーザ識別情報及び有効期限に関する有効期限情報が暗号化されて含まれており、
前記解読手段は、前記アクセスチケット情報を解読して、前記ユーザ識別情報と前記有効期限情報とを取得し、
前記ジョブ実行装置は、前記解読手段により取得された前記有効期限情報に基づいて、前記アクセスチケット情報が有効であるか否かを判別する判別手段を備え、
前記アクセスチケット情報が有効であると前記判別手段により判別された場合に、前記表示手段は前記ジョブ情報を表示することを特徴とする請求項1乃至4のいずれか1項に記載のジョブ実行装置。
The access ticket information includes the user identification information and expiration date information related to the expiration date encrypted.
The decrypting means decrypts the access ticket information to obtain the user identification information and the expiration date information,
The job execution apparatus includes a determination unit that determines whether the access ticket information is valid based on the expiration date information acquired by the decryption unit,
5. The job execution apparatus according to claim 1, wherein, when the determination unit determines that the access ticket information is valid, the display unit displays the job information. 6. .
前記アクセスチケット情報が有効でないと前記判別手段により判別された場合、前記ジョブ実行装置を使用することができない旨を表示する第2の表示手段を備えることを特徴とする請求項5に記載のジョブ実行装置。  6. The job according to claim 5, further comprising: a second display unit that displays that the job execution device cannot be used when the determination unit determines that the access ticket information is not valid. Execution device. ジョブを実行するためのジョブ実行装置であって、
ユーザにより入力されたユーザを識別するためのユーザ情報を使って外部の情報処理装置によって外部のサーバから取得された、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を、前記外部の情報処理装置から受信するアクセスチケット情報受信手段と、
前記アクセスチケット情報受信手段により受信されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読手段と、
前記解読手段により取得されたユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を前記外部の情報処理装置に送信するジョブ情報送信手段とを備えることを特徴とするジョブ実行装置。
A job execution device for executing a job,
An access ticket that contains user identification information for identifying a user, which is acquired from an external server by an external information processing apparatus using user information for identifying the user input by the user. Access ticket information receiving means for receiving information from the external information processing apparatus;
Decrypting the access ticket information received by the access ticket information receiving means to obtain the user identification information;
A job execution apparatus comprising: job information transmission means for transmitting job information relating to a job whose execution corresponding to user identification information acquired by the decoding means is suspended to the external information processing apparatus.
ジョブを実行するためのジョブ実行装置であって、
ユーザによって入力されるユーザを識別するためのユーザ情報を取得するユーザ情報取得手段と、
前記ユーザ情報取得手段によって取得されたユーザ情報を使用して、暗号化されたユーザを識別するためのユーザ識別情報を外部のサーバから取得するユーザ識別情報取得手段と、
前記ユーザ識別情報取得手段により取得された、暗号化された前記ユーザ識別情報を解読する解読手段と、
前記解読手段による解読後の前記ユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を表示する表示手段と、
前記表示手段により表示されるジョブ情報に対応するジョブを実行するジョブ実行手段とを備えることを特徴とするジョブ実行装置。
A job execution device for executing a job,
User information acquisition means for acquiring user information for identifying a user input by the user;
User identification information acquisition means for acquiring user identification information for identifying an encrypted user from an external server using the user information acquired by the user information acquisition means;
Decryption means for decrypting the encrypted user identification information acquired by the user identification information acquisition means;
Display means for displaying job information relating to a job whose execution corresponding to the user identification information after decryption by the decryption means is suspended;
A job execution device comprising: job execution means for executing a job corresponding to the job information displayed by the display means.
ジョブを実行するためのジョブ実行装置であって、
ユーザによって入力されるユーザを識別するためのユーザ情報を使って外部の情報処理装置によって外部のサーバから取得された、暗号化されたユーザを識別するためのユーザ識別情報を、前記外部の情報処理装置から受信するユーザ識別情報受信手段と、
前記ユーザ識別情報受信手段により受信された、暗号化された前記ユーザ識別情報を解読する解読手段と、
前記解読手段による解読後の前記ユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を前記外部の情報処理装置に送信するジョブ情報送信手段とを備えることを特徴とするジョブ実行装置。
A job execution device for executing a job,
User identification information for identifying an encrypted user acquired from an external server by an external information processing apparatus using user information for identifying the user input by the user is used as the external information processing. User identification information receiving means for receiving from the device;
Decryption means for decrypting the encrypted user identification information received by the user identification information receiving means;
A job execution apparatus comprising: job information transmission means for transmitting job information relating to a job whose execution corresponding to the user identification information after being decoded by the decoding means is suspended to the external information processing apparatus.
デバイスで実行されるジョブの管理を行うためのジョブ管理方法であって、
ユーザによって入力されるユーザを識別するためのユーザ情報を取得するユーザ情報取得ステップと、
前記ユーザ情報取得ステップで取得されたユーザ情報を使用して、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を外部のサーバから取得するアクセスチケット情報取得ステップと、
前記アクセスチケット情報取得ステップで取得されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読ステップと、
前記解読ステップで取得されたユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を表示する表示ステップと、
前記表示ステップで表示されるジョブ情報に対応するジョブを実行するジョブ実行ステップとを含むことを特徴とするジョブ管理方法。
A job management method for managing jobs executed on a device,
A user information acquisition step of acquiring user information for identifying a user input by the user;
Using the user information acquired in the user information acquisition step, an access ticket information acquisition step of acquiring access ticket information including encrypted user identification information for identifying a user from an external server; ,
Decrypting the access ticket information obtained in the access ticket information obtaining step to obtain the user identification information; and
A display step for displaying job information related to a job whose execution corresponding to the user identification information acquired in the decoding step is suspended;
And a job execution step of executing a job corresponding to the job information displayed in the display step.
ジョブと対応付けられたアクセスチケット情報を解読することにより取得されるユーザ識別情報と、前記解読ステップで取得されるユーザ識別情報とを比較する比較ステップと、
前記比較ステップでの比較結果に基づいて、前記解読ステップで取得されるユーザ識別情報に対応する実行が保留されているジョブのリストを生成するリスト生成ステップとを含み、
前記表示ステップでは、前記リスト生成ステップで生成されたリストに基づいて、前記ジョブ情報を表示することを特徴とする請求項10に記載のジョブ管理方法。
A comparison step for comparing the user identification information acquired by decoding the access ticket information associated with the job with the user identification information acquired in the decoding step;
A list generation step for generating a list of jobs pending execution corresponding to the user identification information acquired in the decoding step based on the comparison result in the comparison step;
The job management method according to claim 10, wherein in the display step, the job information is displayed based on the list generated in the list generation step.
前記解読ステップでは、暗号キーを用いて前記アクセスチケット情報を解読することで前記ユーザ識別情報を取得することを特徴とする請求項10又は11に記載のジョブ管理方法。  12. The job management method according to claim 10, wherein in the decrypting step, the user identification information is acquired by decrypting the access ticket information using an encryption key. 前記ジョブは印刷ジョブであることを特徴とする請求項10乃至12のいずれか1項に記載のジョブ管理方法。  The job management method according to claim 10, wherein the job is a print job. 前記アクセスチケット情報は、前記ユーザ識別情報及び有効期限に関する有効期限情報が暗号化されて含まれており、
前記解読手段は、前記アクセスチケット情報を解読して、前記ユーザ識別情報と前記有効期限情報とを取得し、
前記ジョブ管理方法は、前記解読手段により取得された前記有効期限情報に基づいて、前記アクセスチケット情報が有効であるか否かを判別する判別ステップを含み、
前記アクセスチケット情報が有効であると前記判別ステップで判別された場合に、前記表示ステップは前記ジョブ情報を表示することを特徴とする請求項10乃至13のいずれか1項に記載のジョブ管理方法。
The access ticket information includes the user identification information and expiration date information related to the expiration date encrypted.
The decrypting means decrypts the access ticket information to obtain the user identification information and the expiration date information,
The job management method includes a determination step of determining whether or not the access ticket information is valid based on the expiration date information acquired by the decryption means,
The job management method according to claim 10, wherein the display step displays the job information when it is determined in the determination step that the access ticket information is valid. .
前記アクセスチケット情報が有効でないと前記判別ステップで判別された場合、前記ジョブ実行装置を使用することができない旨を表示する第2の表示ステップを含むことを特徴とする請求項14に記載のジョブ管理方法。  The job according to claim 14, further comprising a second display step for displaying that the job execution device cannot be used when it is determined in the determination step that the access ticket information is not valid. Management method. 請求項1〜7の何れか1項に記載のジョブ実行装置の機能をコンピュータに実現させるためのプログラムを記録したコンピュータ読出可能な記憶媒体。  A computer-readable storage medium storing a program for causing a computer to realize the function of the job execution device according to claim 1. 請求項1〜7の何れか1項に記載のジョブ実行装置の機能をコンピュータに実現させるためのプログラム。  A program for causing a computer to realize the function of the job execution device according to any one of claims 1 to 7.
JP2001344696A 2001-11-09 2001-11-09 Job execution apparatus, job management method, storage medium, and program Expired - Fee Related JP4095279B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001344696A JP4095279B2 (en) 2001-11-09 2001-11-09 Job execution apparatus, job management method, storage medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001344696A JP4095279B2 (en) 2001-11-09 2001-11-09 Job execution apparatus, job management method, storage medium, and program

Publications (2)

Publication Number Publication Date
JP2003150336A JP2003150336A (en) 2003-05-23
JP4095279B2 true JP4095279B2 (en) 2008-06-04

Family

ID=19158179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001344696A Expired - Fee Related JP4095279B2 (en) 2001-11-09 2001-11-09 Job execution apparatus, job management method, storage medium, and program

Country Status (1)

Country Link
JP (1) JP4095279B2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4658617B2 (en) * 2005-01-07 2011-03-23 株式会社リコー COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND RECORDING MEDIUM
JP4804164B2 (en) 2005-02-23 2011-11-02 キヤノン株式会社 Image forming apparatus and method, and program
JP4795076B2 (en) 2006-03-31 2011-10-19 キヤノン株式会社 Printing function limiting method and printing control apparatus
JP4817930B2 (en) 2006-03-31 2011-11-16 キヤノン株式会社 Print control apparatus, control method, and program
JP2007293703A (en) 2006-04-26 2007-11-08 Canon Inc Printing system and method, program, and storage medium
US7812984B2 (en) * 2006-05-23 2010-10-12 Ricoh Company, Ltd. Remote stored print job retrieval
JP2007323186A (en) 2006-05-30 2007-12-13 Canon Inc Print control data generation device, print management device, and printing device
US7864354B2 (en) * 2006-06-09 2011-01-04 Kabushiki Kaisha Toshiba System and method for controlled monitoring of pending document processing operations
JP4314267B2 (en) 2006-11-30 2009-08-12 キヤノン株式会社 Access control apparatus, access control method, and printing system
JP5046750B2 (en) 2007-06-08 2012-10-10 キヤノン株式会社 Image processing apparatus, image processing method, program, and storage medium for performing access control of document including two-dimensional code
JP2009199253A (en) 2008-02-20 2009-09-03 Canon Inc Printing system, print method, and printer
JP5164818B2 (en) 2008-12-11 2013-03-21 キヤノン株式会社 Job processing system, job processing apparatus and control method thereof
JP4814970B2 (en) * 2009-03-30 2011-11-16 株式会社沖データ Image forming apparatus
KR101622577B1 (en) 2010-01-06 2016-05-31 삼성전자주식회사 Image forming apparatus, printing charging system and method of charging for printing
JP2011141771A (en) * 2010-01-07 2011-07-21 Canon Inc Printing system, control method of print job in printing system, and printer
CN110928153A (en) * 2019-12-13 2020-03-27 上海旷沃科技有限公司 Laser printer authority management system based on powdered ink metering

Also Published As

Publication number Publication date
JP2003150336A (en) 2003-05-23

Similar Documents

Publication Publication Date Title
JP4095279B2 (en) Job execution apparatus, job management method, storage medium, and program
EP1928149B1 (en) Access control apparatus, access control method and printing system
US7884954B2 (en) Peripheral equipment and management method thereof
JP2010157208A (en) Data processing apparatus, printer network system, data processing method, program, and recording medium
EP1892617A2 (en) Host printing system, apparatus and method
US9019525B2 (en) Printing system, control method for printing system, and storage medium
JP5862240B2 (en) Information processing apparatus, control system, control method, control program, and recording medium recording the program
US20170339195A1 (en) Management apparatus and method for controlling management apparatus
US7865933B2 (en) Authentication agent apparatus, authentication method, and program product therefor
JP2008226033A (en) Printing system
JP5374603B2 (en) Network interface device, control method, program, and image forming apparatus
JP6422528B2 (en) Management device, control method and program
US20030018900A1 (en) Peripheral equipment and management method thereof
US9762755B1 (en) IPP scan directory service
US11593050B2 (en) Printing system and method of easier printing when information processing apparatus acquires workflow from cloud server to identify whether the information processing apparatus connected to internal network at first location or second location
JP4869033B2 (en) Network device, network device management apparatus, network device control method, network device management method, program, and storage medium
JP6973067B2 (en) Data processing programs, data processing methods, and data processing equipment
JP2002041443A (en) Peripheral device control system, peripheral device, external device, peripheral device control method, peripheral device control software, and storage medium
JP4926154B2 (en) Network interface device, print control method, print control program, and image forming apparatus
US8701171B2 (en) Apparatus, method, and program for acquiring information during an unavailable communication state in accordance with user identification information
JP2024074536A (en) Monitoring device, control method and program thereof
JP4623323B2 (en) Network interface device, print control method, print control program, and image forming apparatus
JP2019171829A (en) Image formation apparatus, job acquisition method and printing system
JP5884884B2 (en) Data processing apparatus, printing system, data processing method, program, and recording medium
JP4998961B2 (en) Network interface device and image forming apparatus, and control method and program thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080307

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140314

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees