JP4095279B2 - Job execution apparatus, job management method, storage medium, and program - Google Patents
Job execution apparatus, job management method, storage medium, and program Download PDFInfo
- 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
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
In particular, the
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
[0020]
<Overall Configuration of
As shown in FIG. 1, the
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
The
In addition, information (device information) related to the MFPs 101 (1) and 101 (2) has already been registered in the
[0024]
The user information managed by the
[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
[0027]
The
The
[0028]
The scanner operation is performed according to the control from the
The
The
[0029]
The
[0030]
The MFP 101 (x) having the above-described configuration allows the print engine to be issued by selecting the
[0031]
Here, the configuration of the
As shown in FIG. 3, the
The system interface 220 is also connected to the
[0032]
A predetermined processing program (control program) is stored in advance in the
[0033]
The
[0034]
In addition, the
[0035]
In this embodiment, unless otherwise specified, in the MFP 101 (x) as described above, the
[0036]
<Configuration of PC102 (x)>
In the PC 102 (x), as shown in FIG. 4, the
[0037]
A predetermined processing program (control program) is stored in the
[0038]
The
[0039]
In this embodiment, unless otherwise specified, in the PC 102 (x) as described above, the
[0040]
Note that the user instruction to the MFP 101 (x) and the information presentation to the user may be performed via the
Also, the
[0041]
<Attribute Information Held by MFP 101 (x)>
FIG. 5 shows attribute
As shown in FIG. 5, the
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
[0043]
The attribute 510b is a “current user management mode” attribute, and “join the security domain” is set as the setting
The attribute 510 c is a “list of types of directory server that can be supported” attribute, and the setting
[0044]
The
The
[0045]
The
[0046]
The
The
[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
The attribute 510j is a “time limit length” attribute, and “48 hours” is set as the setting
An attribute 510k is a “maximum daily reduction ratio” attribute, and “30” is set as the setting
An attribute 510l is a “fixed maximum number of sheets” attribute, and “100” is set as the setting
The attribute 510m is a “maximum number of sheets for each login” attribute, and “20” is set as the setting
[0048]
The
[0049]
<Display and change of
Here, the operation of the PC 102 (x) when the
[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
Specifically, for example, the
[0052]
Step S602:
The
[0053]
Step S603:
The
Step S604:
The
[0054]
Step S605, Step S606:
The
Specifically, for example, the
Thereafter, this process ends.
[0055]
FIG. 7 shows a user interface screen (user management mode setting screen) 700 displayed on the
[0056]
As shown in FIG. 7, the
The user presses an
[0057]
Note that, for example, the processing shown in FIG. 6 may be executed by the
[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
Specifically, for example, the
[0060]
Step S802:
The
[0061]
Step S803:
The
Step S804:
The
[0062]
Step S805:
Similar to step S801, the
Step S806:
The
[0063]
Step S807, Step S808:
The
Specifically, for example, the
Thereafter, this process ends.
[0064]
FIG. 9 shows a user interface screen (user management mode setting screen) 900 displayed on the
[0065]
As shown in FIG. 9, the
The user presses an
[0066]
Note that, for example, the processing shown in FIG. 8 may be executed by the
[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
[0068]
Step S1001:
In the PC 102 (x) (see FIG. 4 above), the
Specifically, for example, the
[0069]
Step S1002:
The
[0070]
Step S1003:
Similar to step S1001, the
Step S1004:
The
[0071]
Step S1005:
Similar to step S1001, the
Step S1006:
The
[0072]
Step S1007, Step S1008:
The
Specifically, for example, the
Thereafter, this process ends.
[0073]
FIG. 11 shows a user interface screen (user management mode setting screen) 1100 displayed on the
[0074]
As shown in FIG. 11, the
The
[0075]
The user makes a desired setting on the
[0076]
For example, the processing shown in FIG. 10 may be executed by the
[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
[0079]
Step S1202:
The
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
Thereafter, this process ends.
[0081]
Step S1204:
If the result of determination in step S1202 is not “No user management”, the
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
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
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
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
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
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
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
Step S1213:
The
Thereafter, the process proceeds to step S1214.
[0089]
Step S1213:
If it is determined in step S1210 that the user has logged in, the
Thereafter, the process proceeds to step S1214.
[0090]
Step S1214:
Based on the TGT information acquired in step S1212 or S1213, the
[0091]
Step S1215:
The
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
[0093]
Step S1217:
As a result of the determination in step S1215, if printing is possible, the
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
[0094]
Step S1218:
The
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
[0097]
Step S1302:
The
Step S1303:
The
[0098]
Step S1305:
In response to the job data transmission command, the
Step S1306:
The
[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
[0101]
Step S1402:
The
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
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
Thereafter, this process ends.
[0104]
Step S1405:
If the attribute setting is not possible as a result of the determination in step S1403, the
[0105]
Step S1406:
If the received command is not an attribute setting command as a result of the determination in step S1402, the
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
[0107]
Step S1408:
If it is determined in step S1406 that the received command is not a job data transmission command, the
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
[0109]
Step S1410:
If it is determined in step S1408 that the command is not a job submission completion (end) command, the
[0110]
Here, FIG. 15 shows the data structure of the
[0111]
As shown in FIG. 15, the
Note that the
[0112]
The
Here, it is assumed that an
[0113]
An attribute 1513 (1) is a “job type” attribute, and the
The attribute 1513 (2) is a “job start mode” attribute, and the
The attribute 1513 (3) is a “user management mode” attribute, and the
[0114]
The attribute 1513 (4) is a “user ID” attribute, and a user ID is set for the
An attribute 1513 (5) is a “password” attribute, and a password is set for the
The attribute 1513 (6) is an “access ticket” attribute, and an access ticket is set for the
[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
[0117]
Step S1601:
In the MFP 101 (x) (see FIG. 2 above), the
[0118]
Step S1602:
The
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
[0120]
Step S1604:
If the result of determination in step S1602 is not “no user management”, the
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
[0122]
Step S1606:
If the result of determination in step S1604 is not “password”, the
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
[0124]
Step S1608:
If the result of determination in step S1606 is not “user ID”, the
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
[0126]
Step S1612:
If the result of determination in step S1608 is not “user ID and password”, the
[0127]
Step S1613:
As a result of the decryption in step S1612, the
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
[0129]
Step S1615:
If the access ticket is valid as a result of the determination in step S1613, the
[0130]
Step S1616:
The
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
[0132]
Step S1618 to Step S1620:
If printing is possible as a result of the determination in step S1616, the
[0133]
In the present embodiment, the MFP 101 (x) once builds the
[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
[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
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
[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 (
[0137]
Step S1701:
In the MFP 101 (x) (see FIG. 2 above), the
[0138]
Step S1702:
The
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
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
[0140]
Step S1704:
If the result of determination in step S1702 is not “no user management”, the
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
[0142]
Step S1706:
If the result of determination in step S1704 is not “password”, the
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
[0144]
Step S1708:
If the result of determination in step S1706 is not “user ID”, the
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
[0146]
Step S1710:
If the result of determination in step S1708 is not “user ID and password”, the
As a result, if the connection with the
[0147]
Step S1712:
If connection to the
[0148]
Step S1713:
The
At this time, when the
[0149]
Step S1714:
The
[0150]
Step S1715:
The
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
[0152]
Step S1717:
If the access ticket is valid as a result of the determination in step S1715, the
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
[0153]
Step S1718:
After the process of step S1717, the
[0154]
Step S1719:
As a result of the access to the
As a result of this determination, if it is available even when connection to the
[0155]
Step S1720:
As a result of the determination in step S1719, if it is not possible to connect to the
[0156]
Step S1721:
As a result of the determination in step S1719, when the
[0157]
Step S1722:
The
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
[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
Step S1718:
After the process of step S1724, the
[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
[0161]
In the present embodiment, even when the MFP 101 (x) can be connected to the
[0162]
FIG. 18 shows the data structure of the
The
[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
[0165]
Step S1902:
The
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
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
[0168]
FIG. 20 shows the
The
[0169]
Step S1905:
The
As a result, if the
[0170]
Step S1906:
If the
[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
[0173]
Step S2102:
As a result of the analysis in step S2101, the
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
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
Step S2105:
The
[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
[0177]
Step S2107:
If the received command is not an “attribute acquisition (acquisition) command” as a result of the determination in step S2102, the
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
[0179]
Step S2109:
If it is determined in step S2107 that the received command is an “attribute change command”, the
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
Step S2111:
The
[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
[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
[0184]
Step S2202:
The
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
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
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
[0187]
Step S2204:
If the result of determination in step S2202 is not “no user management”, the
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
Thereby, the user inputs a predetermined password on the screen.
The
[0189]
Step S2206:
If the result of determination in step S2204 is not “password”, the
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
Thereby, the user inputs a predetermined user ID on the screen.
The
[0191]
Step S2208:
If the result of determination in step S2206 is not “user ID”, the
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
Thereby, the user inputs a predetermined user ID and password from the screen.
The
[0193]
Step S2210:
If the result of determination in step S2208 is not “user ID and password”, the
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
Step S2213:
The
Thereafter, the process proceeds to step S2214.
[0195]
Step S2213:
If it is determined in step S2210 that the user has logged in, the
Thereafter, the process proceeds to step S2214.
[0196]
Step S2214:
The
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
[0197]
Step S2215:
The
Step S2216:
The
[0198]
FIG. 23 shows the data structure of a
[0199]
As shown in FIG. 23, the
The
[0200]
<Management command processing>
FIG. 24 illustrates the
[0201]
Step S2401:
In the MFP 101 (x) (see FIG. 2 above), the
[0202]
Step S2402:
The
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
[0204]
Step S2404:
If the result of determination in step S2402 is not “no user management”, the
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
[0206]
Step S2406:
If the result of determination in step S2404 is not “password”, the
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
[0208]
Step S2408:
If the result of determination in step S2406 is not “user ID”, the
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
[0210]
Step S2410:
If the result of determination in step S2408 is not “user ID and password”, the
[0211]
Step S2411:
The
If the
[0212]
Step S2412:
If it is determined in step S2411 that the
[0213]
Step S2413:
The processing from step S2413 is processing according to the
The
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
At this time, if the attribute value of the “current user management mode” attribute 510b of the
[0215]
Step S2415:
The
Step S2416:
The
[0216]
Step S2417:
If the result of determination in step S2413 is not a “ListJobs” command, the
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
In this device management command process, a plurality of device management command processes may be executed depending on the
[0218]
Step S2419:
If the result of determination in step S2417 is a “CancelJob” command, the
At this time, if the attribute value of the “current user management mode” attribute 510b of the
[0219]
Step S2420:
The
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
[0221]
Step S2423:
If the user ID does not match as a result of the determination in step S2420, the
[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
FIG. 25 shows the
[0224]
Step S2501:
In the PC 102 (x) (see FIG. 4 above), the
[0225]
Step S2502:
The
[0226]
Step S2503:
The
Thereby, the printable number of sheets and the cumulative number of printed sheets for each user of the
[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
[0228]
For example, in the MFP 101 (x), the printable number of sheets and the cumulative number of printed sheets of the
[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
[0230]
Step S2601:
In the MFP 101 (x) (see FIG. 2 above), the
[0231]
Step S2602:
The
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
[0233]
Step S2604:
If the restriction type is not “unlimited” as a result of the determination in step S2602, the
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
[0235]
Step S2606:
The
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
[0237]
Step S2608:
If the determination result in step S2604 is false or the determination result in step S2606 is true, the
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
[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
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
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
[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
[0243]
[Third embodiment]
In the first embodiment, as shown in FIG. 23 above, the
Therefore, in the present embodiment, the above problem is solved by the following configuration.
[0244]
FIG. 27 shows the data structure of the
As shown in FIG. 27, the
The
[0245]
In particular, the
The
[0246]
FIG. 28 shows the data structure of the
As shown in FIG. 28, the
[0247]
FIG. 29 is a flowchart showing the operation of the MFP 101 (x) when the MFP 101 (x) receives and processes the
[0248]
In the MFP 101 (x) (see FIG. 2 above), the
[0249]
Step S2901:
The
If the
[0250]
Step S2902:
If the
If it is determined that the
[0251]
Step S2903:
If the
[0252]
Step S2904:
The
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
[0254]
Step S2906:
If the access ticket is valid as a result of the determination in step S2904, the
Step S2907:
The
[0255]
Step S2908, Step S2909:
If it is determined in step S2901 that the
As a result of the determination, if the corresponding session key exists in the
[0256]
Step S2910:
If it is determined in step S2909 that the corresponding session key does not exist in the
[0257]
Step S2911:
As a result of the determination in step S2909, when the corresponding session key exists in the
[0258]
Step S2912:
The processing from step S2912 is processing according to the
The
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
At this time, if the attribute value of the “current user management mode” attribute 510b of the
[0260]
Step S2914:
The
Step S2915:
The
[0261]
Step S2916:
If the result of determination in step S2912 is not a “ListJobs” command, the
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
In this device management command process, a plurality of device management command processes may be executed depending on the
[0263]
Step S2918:
If the result of determination in step S2916 is a “CancelJob” command, the
At this time, if the attribute value of the “current user management mode” attribute 510b of the
[0264]
Step S2919:
The
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
[0266]
Step S2922:
If the user ID does not match as a result of the determination in step S2919, the
[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
[0270]
Step S3001:
The
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
[0271]
Step S3002:
The
[0272]
Step S3003:
In response to the transmission of the
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
[0274]
Step S3005:
In response to the transmission of the
[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乃至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. .
ユーザにより入力されたユーザを識別するためのユーザ情報を使って外部の情報処理装置によって外部のサーバから取得された、ユーザを識別するためのユーザ識別情報が暗号化されて含まれているアクセスチケット情報を、前記外部の情報処理装置から受信するアクセスチケット情報受信手段と、
前記アクセスチケット情報受信手段により受信されたアクセスチケット情報を解読して、前記ユーザ識別情報を取得する解読手段と、
前記解読手段により取得されたユーザ識別情報に対応する実行が保留されているジョブに関するジョブ情報を前記外部の情報処理装置に送信するジョブ情報送信手段とを備えることを特徴とするジョブ実行装置。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乃至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. .
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)
| 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 |
-
2001
- 2001-11-09 JP JP2001344696A patent/JP4095279B2/en not_active Expired - Fee Related
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 |