JP4649081B2 - PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM - Google Patents

PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM Download PDF

Info

Publication number
JP4649081B2
JP4649081B2 JP2001299101A JP2001299101A JP4649081B2 JP 4649081 B2 JP4649081 B2 JP 4649081B2 JP 2001299101 A JP2001299101 A JP 2001299101A JP 2001299101 A JP2001299101 A JP 2001299101A JP 4649081 B2 JP4649081 B2 JP 4649081B2
Authority
JP
Japan
Prior art keywords
job
user
peripheral device
decryption
access ticket
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001299101A
Other languages
Japanese (ja)
Other versions
JP2002202945A5 (en
JP2002202945A (en
Inventor
友章 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001299101A priority Critical patent/JP4649081B2/en
Publication of JP2002202945A publication Critical patent/JP2002202945A/en
Priority to US10/254,505 priority patent/US20030018900A1/en
Publication of JP2002202945A5 publication Critical patent/JP2002202945A5/ja
Application granted granted Critical
Publication of JP4649081B2 publication Critical patent/JP4649081B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、プリンタ、スキャナ、複写機、ファクシミリなどの周辺機器の制御、対応するサーバの設定、周辺機器のユーザ情報管理、印刷枚数管理などを行う周辺機器、その制御方法、プログラムおよび記憶媒体に関する。
【0002】
【従来の技術】
従来、プリンタ、複写機、ファクシミリ(FAX)などの周辺機器では、周辺機器内で動作または実行が保留されているジョブの管理(ジョブ一覧の表示、指定ジョブのキャンセルなど)を、周辺機器のコンソールあるいはネットワークなどを介して周辺機器に接続されている計算機から行うことが可能であった。
【0003】
また、従来、ジョブや制御コマンドにディレクトリサーバから発行されたアクセスチケットを含ませることができる周辺機器では、アクセスチケットを秘密暗号キーを使用して解読する必要があるが、解読に使用される暗号化方式やアクセスチケットのフォーマットは対応するディレクトリサーバの種類によって異なるので、予め周辺機器がどのディレクトリサーバに対応するのかを設定しておく必要があった。
【0004】
さらに、従来、複写機、ファクシミリなどの周辺機器では、ユーザ情報管理を行うために、コンソール上にユーザ認証を行わせるためのダイアログを表示し、これにユーザ情報を入力させることによりユーザの認証を行っていた。ここで得られたユーザ情報は、機器内部で管理されているユーザ情報のデータベースと照合され、合致した場合にユーザの使用許可を出している。また、ユーザ操作の結果、何らかの印刷が行われた場合、ログイン時に得られたユーザ情報と共に印刷枚数をログに記録したり、ユーザ毎のカウンタに累積したりしてユーザ毎の印刷枚数の管理を行っていた。
【0005】
また、従来、プリンタ、複写機などの周辺機器では、ユーザ毎の累積印刷枚数管理および最大印刷枚数制限などの印刷枚数管理を機器単体で行ってきた。この場合、機器内に累積印刷を表すカウンタを設け、この値が予め設定された値になると、印刷を終了させたり、ジョブの受付を拒否することにより行われてきた。
【0006】
【発明が解決しようとする課題】
しかしながら、ジョブを発行した機器とジョブを管理している機器とが異なる場合、例えば計算機から印刷ジョブを複写機に対して発行し、このキャンセルを複写機上のコンソールから行おうとすると、計算機にログインするために使用された情報と、複写機にログインするために使用する情報とが異なるので、ジョブ発行者によってジョブが管理されているか否かが分からず、ジョブ管理のアクセス制御の観点から問題であった。また、本発明では、統一したアクセス制御を行うために、ユーザ情報を管理コマンドに含ませる手段を使用するが、一般的にユーザ情報のデータサイズが大きくなってしまい、これを含んだ管理コマンドもデータサイズが大きいために、ネットワークトラフィック上やパフォーマンス上で問題となることがあった。
【0007】
また、しかしながら、対応ディレクトリサーバの種類を、ネットワークなどを介して接続されている計算機上で動作する周辺機器制御ソフトウェアから設定しようとする場合、予め対象となる周辺機器がどのディレクトリサーバに対応可能であるかの情報を周辺機器制御ソフトウェアに保持しておく必要があるので、どのような周辺機器にも対応可能な汎用的な周辺機器制御ソフトウェアを用意することは困難であった。
【0008】
さらに、しかしながら、ユーザ情報管理を機器単体で行ってきたので、複数の機器を使用する環境において、各機器が管理するユーザ情報の統一が困難であり、例えば、同じユーザIDを使用しても、そのユーザIDが必ずしも同じユーザを特定しているとは限らないという問題があった。また、1つの機器にユーザ毎の最大印刷可能枚数を設定しても、別の機器には何ら影響が及ばないので、このような環境で最大印刷枚数を管理することは困難であった。
【0009】
また、印刷枚数管理を機器単体で行ってきたので、複数の機器を使用する環境において、各機器が管理するユーザ情報の統一が困難であり、例えば、同じユーザIDを使用してもそのユーザIDが必ずしも同じユーザを指定しているとは限らないという問題があった。また、1つの機器に最大印刷可能枚数を設定しても、別の機器には何ら影響が及ばないので、このような環境で最大印刷枚数を管理することは困難であった。
【0010】
そこで、本発明は、ネットワーク環境内でのジョブ管理に関し、統一したアクセス制御を可能とする周辺機器、その制御方法、プログラムおよび記憶媒体を提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項1に記載の周辺機器は、ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器において、ジョブを受信する第1受信手段と、受信した前記ジョブに含まれるアクセスチケットを解読する第1解読手段と、前記第1解読手段により解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持手段と、ジョブ管理コマンドを受信する第2受信手段と、受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第2解読手段と、前記第2解読手段により解読された前記アクセスチケットが有効であり、且つ前記第1受信手段が受信した前記ジョブが終了していない場合に、前記第1解読手段の解読結果と、前記第2解読手段の解読結果とを比較する比較手段と、前記比較手段による比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理手段とを備えたことを特徴とする。
【0103】
【発明の実施の形態】
本発明の周辺機器、その制御方法、プログラムおよび記憶媒体の実施の形態を図面を参照しながら説明する。
【0104】
[第1の実施形態]
図1は第1の実施形態における周辺機器制御システムの構成を示すブロック図である。図において、1、5はそれぞれ周辺機器MFP1、MFP2である。また、2、3、4はそれぞれパーソナルコンピュータPC(1)、PC(2)、PC(3)である。PC(1)2、PC(2)3、PC(3)4は、ネットワーク10、もしくはローカルインターフェース経由でMFP1(1)およびMFP2(5)に接続されている。PC(1)、PC(2)またはPC(3)上では、本発明に関係する周辺機器制御ソフトウェアが動作し、ネットワーク10経由でMFP1に対し、プリント、スキャン、コピーあるいはFAX送受信といったジョブ処理を依頼したり、MFP1(1)およびMFP2(5)の属性情報の問い合わせを行う。
【0105】
また、6はユーザ情報および機器情報の一元管理機能を有するディレクトリサーザであり、パーソナルコンピュータなどで構成される。このディレクトリサーバ6は、Kerberosプロトコル(RFC1510)におけるKDC(Key Distribution Server)の機能も有しており、Kerberosプロトコルの規定にしたがって、TGT(チケット生成チケット)の発行および指定された資源に対するアクセスを行うために必要なアクセスチケットの発行を行う。
【0106】
さらに、このディレクトリサーバ6には、MFP1(1)およびMFP2(5)が既に登録されているものとする。このデータの参照および更新は、LDAPプロトコル(RFC1777)を使用することにより、PC(1)2、PC(2)3から行うことが可能である。ディレクトリサーバ6で管理されている各ユーザ情報には、ユーザ名、パスワード、ユーザの印刷可能枚数、ユーザの累積印刷枚数が含まれる。また、ディレクトリサーバ6で管理されている各機器情報には、機器名、機器の秘密暗号キーが含まれる。
【0107】
図2は周辺機器(MFP1、MFP2)の構成を示すブロック図である。図において、11は周辺機器を制御するためのコントローラである。12はコントローラ11が周辺機器の外部と通信するための通信インターフェースであり、例えば、イーサネット(登録商標)インターフェース、IEEE1284インターフェースあるいはその他の通信インターフェースである。
【0108】
13はスキャナエンジンであり、コントローラ11によって制御されている。14はプリンタエンジンであり、コントローラ11によって制御されており、例えば、レーザビームプリンタ、インクジェットプリンタあるいはその他のプリンタである。
【0109】
15は画像の送受信などの通信制御を行うFAX機能を実現するFAXボードであり、コントローラ11によって制御されている。16はユーザインターフェースであり、LCDディスプレイおよびキーボードから構成されており、コントローラ11からの情報表示を行うとともに、ユーザからの指示をコントローラ11に伝える。
【0110】
このような構成を有する周辺機器は、プリンタエンジン14を選択し、プリントジョブの発行を可能にする。また、プリンタエンジン14およびスキャナエンジン13を選択し、コピージョブの発行を可能にする。また、プリンタエンジン14、スキャナエンジン13、FAXボード15を選択し、FAX受信ジョブおよびFAX送信ジョブの発行を可能にする。
【0111】
図3はコントローラ11のハードウェア構成を示すブロック図である。コントローラ11では、CPU21、RAM22、LCD23、キーボード24、ROM25、通信インターフェース26、スキャナエンジン27、プリンタエンジン28、FAXボード29およびDISK30がシステムバス20を介して相互に接続されている。
【0112】
コントローラ11を制御するプログラムは、ROM25あるいはDISK30に記憶されており、必要に応じてRAM22に読み出され、CPU21によって実行される。また、ROM25あるいはDISK30には、制御プログラム以外に周辺機器やこの周辺機器で処理されるジョブの機能および状態を示す属性情報、出力の対象となるジョブデータなどが記憶されている。さらに、CPU21はLCD23で表示を行い、キーボード24からユーザの指示を受ける。また、CPU21が通信インターフェース26を通じて外部と通信を行う。
【0113】
本実施形態では、特に断らない限り、周辺機器(図2)では、CPU21は、システムバス20を介してキーボード24からユーザの入力を受け取り、かつRAM22、LCD23、ROM25、通信インターフェース26、スキャナエンジン27、プリンタエンジン28、FAXボード29およびDISK30を制御する。
【0114】
図4はネットワークシステムを構成するPCのハードウェア構成を示すブロック図である。PCでは、CPU31、RAM32、CRT33、キーボード34、ポインティングデバイス35、ROM36、DISK37および通信インターフェース38はシステムバス40を介して相互に接続されている。PCを制御するプログラムは、ROM36もしくはDISK37に記憶されており、必要に応じてRAM32に読み出され、CPU31によって実行される。また、CPU31はCRT33を通して表示を行い、キーボード34およびポインティングデバイス35からユーザの指示を受ける。また、CPU31は通信インターフェース38を通じて外部と通信を行う。
【0115】
本実施形態では、特に断らない限り、PCでは、CPU31がシステムバス40を介してキーボード34やポインティングデバイス35からユーザの入力を受け取り、かつRAM32、CRT33、ROM36、DISK37、通信インターフェース38を制御する。また、周辺機器に対するユーザの指示およびユーザへの情報表示は、ローカルなユーザインターフェース16を通して行ってもよいし、PC(1)、PC(2)あるいはPC(3)のようなネットワーク10に接続されたクライアントとなる機器を通して行ってもよい。
【0116】
図5は周辺機器1で保持されている属性情報を示す図である。周辺機器2(5)は周辺機器1と同じデータ構造を有するが、保持されている値は異なっている。これらの情報は、ROM25、RAM22あるいはDISK30に保持されており、後述する処理によりPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定することができる。
【0117】
図において、301は、「サポートしているユーザ管理モードのリスト」属性であり、「"ユーザ管理なし","パスワード","ユーザID","ユーザIDとパスワード","セキュリティドメインに参加"」の複数の値をリストとして保持している。
【0118】
302は、「現在のユーザ管理モード」属性であり、「セキュリティドメインに参加」を値として保持している。303は、「対応可能なディレクトリサーバの種類のリスト」属性であり、値として「"標準LDAPサーバ","Active Directory(MS)","NDS(Novell)","Open LDAP"」の複数の値をリストとして保持している。
【0119】
304は、「現在対応しているディレクトリサーバの種類」属性であり、「"Active Directory(MS)"」を値として保持している。305は、「現在対応しているディレクトリサーバのIPアドレス」属性であり、「123.56.54.21」を値として保持している。306は、「機器の秘密暗号キー」属性であり、「0x34q4bffcdca001」を値として保持している。この値は、「現在のユーザ管理モード」属性が「セキュリティドメインに参加」の場合に有効となるものであり、ディレクトリサーバ6から発行されたアクセスチケットを解釈するために使用される。
【0120】
307は、「ディレクトリサーバ接続不可時に使用許可するかどうか」属性であり、「TRUE」を値として保持している。308は、「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性であり、「"無制限"、"時間制限"、"時間制限&固定最大枚数で制限"、"時間制限&最大枚数で制限"、"固定最大枚数で制限"、"最大枚数で制限"、"ログイン毎に制限"」の複数の値をリストとして保持している。
【0121】
309は、「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性であり、「時間制限」を値として保持している。310は、「時間制限の長さ」属性であり、「48時間」を値として保持している。311は、「最大枚数の日毎の削減割合」属性であり、「30」を値として保持している。312は、「最大枚数」属性であり、「100」を値として保持している。313は、「ログイン毎の最大枚数」属性であり、「20」を値として保持している。
【0122】
図6は周辺機器1のユーザ管理モードをPC(1)2、PC(2)3、PC(3)4から表示・変更する場合の処理手順を示すフローチャートである。この処理プログラムはPC(1)2、PC(2)3、PC(3)4上で動作する。まず、周辺機器1の属性情報301を取得する(ステップS1701)。この属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。そして、得られた属性情報をCRT33に表示する(ステップS1702)。さらに、属性情報である「現在のユーザ管理モード」属性302を取得し(ステップS1703)、CRT33に表示する(ステップS1704)。
【0123】
ユーザの入力を待ち(ステップS1705)、ユーザからの入力にしたがって、属性情報である「現在のユーザ管理モード」属性302を設定し(ステップS1706)、処理を終了する。この属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。
【0124】
図7はステップS1705におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、101はユーザが選択可能なユーザ管理モードの一覧(属性301)を表示している。現在設定されているユーザ管理モードの属性302は図中、102で反転表示されている。ユーザは、所望のユーザ管理モードを選択して反転表示させた上で、OKボタン103を押すことにより、ステップS1706の処理を実行してユーザ管理モードの設定を行う。
【0125】
尚、図6の処理手順の実行は、PCの代わりに、ユーザ管理モードを変更する対象である周辺機器1自身のコントローラ11で行われ、図7の表示も周辺機器に装備されているユーザインターフェース16上で行われるようにしてもよい。また、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0126】
図8は周辺機器1に対応するディレクトリサーバをPC(1)2、PC(2)3、PC(3)4から表示・変更する場合の動作処理手順を示すフローチャートである。この処理手順は、PC(1)2、PC(2)3、PC(3)4上で行われる。
【0127】
まず、属性情報303を取得する(ステップS1801)。この属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(ステップS1802)。
【0128】
さらに、属性情報304を取得し(ステップS1803)、得られた属性情報304をCRT33に表示する(ステップS1804)。属性情報305を取得し(ステップS1805)、得られた属性情報305をCRT33に表示する(ステップS1806)。
【0129】
ユーザの入力を待ち(ステップS1807)、ユーザからの入力にしたがって、属性情報304、305を設定する(ステップS1808)。この属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【0130】
図9はステップS1807におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、201は、ユーザが選択可能なディレクトリサーバの種類の一覧(属性303)を表示している。現在設定されているディレクトリサーバの種類(属性304)は、図中、202で反転表示されている。さらに、アドレス部203には、現在設定されているディレクトリサーバのIPアドレス305が表示されている。ユーザは、所望のディレクトリサーバの種類を選択して反転表示させ、所望のIPアドレスをアドレス部203に入力した上で、OKボタン204を押すことにより、ステップS1808の処理を実行し、対応するディレクトリサーバの設定を行う。
【0131】
尚、図8に示す処理は、PCの代わりに、対応するディレクトリサーバを変更する対象である周辺機器1自身のコントローラ11で行われ、図9に示す表示も周辺機器に装備されているユーザインターフェース16で行われるようにしてもよい。また、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0132】
図10は周辺機器1がディレクトリサーバ6に接続できない場合にログインをどの様に許可するかを、PC(1)2、PC(2)3、PC(3)4から表示・変更する場合の処理手順を示すフローチャートである。この処理手順はPC(1)2、PC(2)3、PC(3)4上で行われる。
【0133】
まず、属性情報である「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性308を取得する(ステップS2201)。属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(ステップS2202)。
【0134】
属性情報である「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性309を取得し(ステップS2203)、得られた属性情報をCRT33に表示する(ステップS2204)。さらに、属性情報である「ディレクトリサーバ接続不可時に使用許可するかどうか」属性307を取得する(ステップS2205)。得られた属性情報をCRT33に表示する(ステップS2206)。
【0135】
そして、ユーザの入力を待ち(ステップS2207)、ユーザからの入力にしたがって属性情報309、307を設定し(ステップS2208)、処理を終了する。属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【0136】
図11はステップS2207のユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、2102は、「Directory Server接続不可時に使用する場合の制限の種類のリスト」属性308の内容を表示しており、「現在のDirectory Server接続不可時に使用する場合の制限の種類」属性309の値は、図中、2103で反転表示されている。さらに、「Directory Server接続不可時に使用許可するかどうか」属性307の値がチェックボックス2101に表示されている。ユーザは、所望の設定を行った上で、OKボタン2104を押すことにより、ステップS2208の処理を実行して属性情報の設定を行う。
【0137】
尚、図10に示す処理は、PCの代わりに、設定を変更する対象である周辺機器1自身のコントローラ11で行われ、図11に示す表示も周辺機器に装備されているユーザインターフェース16で行われるようにしてもよい。さらに、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0138】
図12および図13は周辺機器1に対してPC(1)2、PC(2)3、PC(3)4からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で行われる。
【0139】
まず、周辺機器1が保持する属性情報である「現在のユーザ管理モード」属性302を取得する(ステップS401)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS402)。判別の結果、「ユーザ管理なし」である場合、ジョブに必要な他の情報をジョブに設定した上で周辺機器1に対してジョブを発行する(ステップS403)。この後、処理を終了する。
【0140】
一方、ステップS402で、「ユーザ管理あり」である場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS404)。判別の結果、パスワードである場合、CRT33上にパスワード入力を促すユーザインターフェース画面を表示する(ステップS405)。そして、ステップS403において、入力されたパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0141】
一方、ステップS404で判別の結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS406)。判別の結果、ユーザIDである場合、CRT33にユーザIDの入力を促すユーザインターフェース画面を表示する(ステップS407)。そして、ステップS403において、入力されたユーザIDおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0142】
一方、ステップS406で判別の結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS408)。判別の結果、ユーザIDとパスワードである場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェース画面を表示する(ステップS409)。そして、ステップS403において、入力されたユーザIDとパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0143】
一方、ステップS408で判別の結果、ユーザIDとパスワードでない場合、使用しているPCにおいて、ユーザはディレクトリサーバ6が管理するセキュリティドメインに既にログインしているか否かを判別する(ステップS410)。この判別は、使用しているPCのオペレーティングシステムに対して問い合わせることによって行われる。判別の結果、ログイン済みでない場合、CRT33にユーザIDとパスワードの入力を促すユーザインターフェース画面を表示し(ステップS411)、これらの情報をディレクトリサーバ6にKerberosプロトコルを使用して送ることにより、TGT(チケット生成チケット)情報を取得する(ステップS413)。
【0144】
一方、ステップS410の判別結果、ログイン済みである場合、既にログインしているので、オペレーティングシステムに対し、現在のセッションで使用しているTGTを要求して取得する(ステップS412)。
【0145】
ステップS412あるいはS413において取得したTGTを使用し、オペレーティングシステムによって保持されているユーザ名、あるいはステップS411で入力されたユーザ名に該当するユーザの印刷可能枚数情報をKerberosプロトコルおよびLDAPプロトコルによりディレクトリサーバ6から取得する(ステップS414)。
【0146】
このあと、印刷可能枚数が1枚以上であるか否かを判別し(ステップS415)、判別の結果、1枚以上なく印刷できない場合、ジョブ発行ができない旨を表すユーザインターフェース画面をCRT33に表示し(ステップS416)、処理を終了する。
【0147】
一方、ステップS415の判別結果、印刷可能枚数が1枚以上で印刷可能である場合、ステップS412あるいはS413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子のパラメータをディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS417)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キーの属性情報306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類(属性情報304)によって一意に予め決められている。
【0148】
そして、ステップS417で取得したアクセスチケットおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行し(ステップS418)、処理を終了する。
【0149】
図14はステップS403におけるジョブ発行処理手順を示すフローチャートである。まず、ジョブに必要な属性について属性設定コマンドのパラメータを設定する(ステップS502)。このパラメータは設定対象の属性名とそれに対する値とから構成されている。ステップS502で作成された属性設定コマンドを周辺機器1に対して送信する(ステップS503)。必要なジョブ属性の設定が完了したか否かを判別し(ステップS504)、完了していない場合、ステップS502の処理を繰り返す。
【0150】
一方、ステップS504で必要なジョブ属性の設定が完了した場合、ジョブデータ送信コマンドによりアプリケーションなどで作成された画像データなど、ジョブ処理の対象となるデータをこの周辺機器に送信する(ステップS505)。ジョブ投入コマンドの送信完了を示すジョブ投入完了通知コマンドを送信し(ステップ506)、処理を終了する。
【0151】
図15および図16は周辺機器1が図14の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。この処理はジョブを構成するコマンドを受信する度に周辺機器1によって実行される。
【0152】
受信したコマンドおよびそのパラメータを解析する(ステップ601)。この解析の結果、受信したコマンドが属性設定コマンドであるか否かを判別する(ステップ602)。受信したコマンドが属性設定コマンドである場合、属性が周辺機器1に解釈可能であるか否かを判別する(ステップS603)。
【0153】
解釈可能である場合、ステップS601で得られた解析結果にしたがって、指定された属性名と属性値の対を、RAM22またはDISK30にジョブデータとして保存し(ステップS604)、処理を終了する。一方、ステップS603で解釈不可能である場合、受信した属性設定コマンドで指定された属性は設定不可能であり、属性が設定できなかったことを返信し(ステップS616)、処理を終了する。
【0154】
一方、ステップS602で、受信したコマンドが属性設定コマンドでない場合、ステップS601で得られた解析結果から受信コマンドがジョブデータ送信コマンドであるか否かを判別する(ステップS611)。ジョブデータ送信コマンドである場合、コマンドに続いて受信するジョブデータをRAM22あるいはDISK30に保存し(ステップ612)、処理を終了する。
【0155】
一方、ステップS611で、ジョブデータ送信コマンドでない場合、ステップS601で得られた解析結果から受信コマンドがジョブ投入終了通知コマンドであるか否かを判別する(ステップS613)。ジョブ投入終了通知コマンドである場合、RAM22あるいはDISK30に保持されたジョブデータの処理を開始する(ステップS614)。一方、ジョブ投入終了通知コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い(ステップ615)、処理を終了する。
【0156】
図17は図15および図16の処理により周辺機器1内で保持されたジョブのデータ構造を示す図である。このジョブは、ジョブの機能・属性を表す属性のリスト701とジョブの処理対象となるデータを表すジョブデータ702とから構成される。ジョブデータ702は、ジョブの種別によってはなくてもよい。属性のリスト701は、属性名711とこれに対応する属性値712との対のリストとなっている。
【0157】
図において、721はジョブが印刷ジョブであることを表す。722はジョブの開始モードが保留であることを表す。723はユーザ管理モードが「セキュリティドメインに参加」であることを表しており、ジョブのユーザ情報としてアクセスチケット726を使用することを示している。724はユーザ管理モードが「ユーザID」または「ユーザIDとパスワード」である場合、ユーザIDが設定される属性である。725はユーザ管理モードが「パスワード」または「ユーザIDとパスワード」である場合、パスワードが設定される属性である。726はユーザ管理モードが「セキュリティドメインに参加」である場合、アクセスチケットが設定される属性である。尚、属性724、725、726としては、属性723の内容にしたがって必要なものだけをジョブデータに設定してもよい。
【0158】
図18および図19は図17で示された周辺機器1に保持されたジョブデータの処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS801)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS802)。
【0159】
判別の結果、「ユーザ管理なし」の場合、属性723、724、725、726を除く属性の処理を行い(ステップS803)、これらの属性に基づき、ジョブデータ処理を行う(ステップS810)。ジョブの処理結果をログに記録し(ステップS811)、処理を終了する。このログはRAM22あるいはDISK30に保存される。
【0160】
一方、ステップS802の判別の結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS804)。判別の結果、パスワードである場合、予めRAM22あるいはDISK30に保持されているパスワード値と属性情報725との比較を行い(ステップS805)、合致していた場合、ステップS803でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【0161】
一方、ステップS804の判別結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS806)。判別の結果、ユーザIDである場合、予めRAM22あるいはDISK30に保持されているユーザID値と属性情報724との比較を行い(ステップS807)、合致していた場合、ステップS803でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【0162】
ステップS806の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS808)。判別の結果、「ユーザIDとパスワード」である場合、予めRAM22またはDISK30に保持されているユーザID値およびパスワード値と、属性情報724、725とそれぞれの比較を行い(ステップS809)、両者が合致していた場合、ステップS803でジョブの処理を継続する。合致しなかった場合、ジョブの処理を中止する。
【0163】
一方、ステップS808の判別結果、「ユーザIDとパスワード」でない場合、アクセスチケットの値726を、属性情報306である秘密暗号キーを使用して解読する(ステップS812)。そして、アクセスチケットが有効であるか否かを判別する(ステップS813)。アクセスチケットの値を解読できなかった場合、あるいはアクセスチケット内で保持される印刷可能枚数が値0である場合、ステップS813でアクセスチケットは無効であると判別し、ジョブデータを破棄し(ステップS814)、処理を終了する。
【0164】
一方、ステップS813において、アクセスチケットが有効であると判別された場合、アクセスチケット内のユーザIDに該当するユーザの印刷可能枚数情報をKerberosプロトコルおよびLDAPプロトコルによりディレクトリサーバ6から取得する(ステップS815)。
【0165】
印刷可能枚数が1枚以上で印刷可能であるか否かを判別し(ステップS816)、印刷不可能である場合、ジョブデータを破棄し(ステップS817)、処理を終了する。一方、ステップS816の判別結果、印刷可能である場合、属性値723、724、725、726を除く属性の処理を行い(ステップS818)、これらの属性に基づき、ジョブデータの処理を行う(ステップS819)。尚、この処理において、ステップS815の処理から得られる印刷可能枚数を越えないように監視し、最大印刷可能枚数を越えた場合、ジョブデータの処理を異常終了させる。ジョブが正常終了した場合および異常終了した場合のいずれの場合も、ジョブの処理結果をログに記録し(ステップS820)、処理を終了する。ログには、ユーザIDおよびジョブで印刷した枚数が記録され、RAM22またはDISK30に保存される。
【0166】
尚、本実施形態では、図15および図16の処理において、一旦、ジョブデータを周辺機器1の中に構築した後、改めて図18および図19の処理において、ジョブデータの処理を行っているが、他の実施形態として、図15および図16と図18および図19の処理を合体させ、ジョブの解析と同時にジョブの処理を行うようにしてもよい。
【0167】
また、本実施形態では、ステップS813でアクセスチケット内の印刷可能枚数を判別し、さらに、ステップS815、S816においてディレクトリサーバ6に保持されているユーザの印刷可能枚数を判別しているが、他の実施形態として、ステップS813におけるアクセスチケット内の印刷可能枚数の判別、あるいはステップS815、S816におけるディレクトリサーバ6に保持されているユーザの印刷可能枚数の判別のどちらか一方を省略してもよい。
【0168】
また、本実施形態では、ジョブの結果の記録をログとして、ステップS820において周辺機器1内に保持しているが、ディレクトリサーバ6に保持されている、このユーザの印刷可能枚数および累積印刷枚数をジョブで印刷した枚数によって更新してもよい。印刷可能枚数の更新は、ディレクトリサーバ6に保持されているユーザIDによって示されるユーザの印刷可能枚数および累積印刷枚数をLDAPプロトコルにより取得し、この印刷可能枚数からジョブで印刷した枚数を減じ、更に累積印刷枚数にジョブで印刷した枚数を加え、得られたこれらの値をLDAPプロトコルによりディレクトリサーバ6に設定することにより、行われる。
【0169】
図20および図21は周辺機器1のLCD23に表示されるログイン画面の処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS901)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS902)。
【0170】
判別の結果、ユーザ管理なしである場合、ログイン情報をRAM22に保存する(ステップS903)。ログイン情報には、ログインした時点でのユーザ管理モード、ユーザID、印刷可能枚数が保持されている。印刷可能枚数はログイン期間内でコンソールから発行されたプリントジョブ、コピージョブなどの印刷を伴うジョブで使用した印刷枚数により順次更新され、印刷可能枚数が値0になった時点でジョブは終了する。ステップS903において、印刷可能枚数は無限大に設定される。ログイン情報内のユーザIDはジョブで使用した印刷枚数と共にログに記録される。ステップS903の処理後、印刷保留ジョブの処理を行い(ステップS924)、処理を終了する。
【0171】
一方、ステップS902の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS904)。判別の結果、パスワードありの場合、LCD23にパスワード入力を促すユーザインターフェース画面を表示し、入力されたパスワードと予めRAM22またはDISK30に保持されているパスワード値との比較を行い(ステップS905)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0172】
一方、ステップS904の判別結果、パスワードなしの場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS906)。ユーザIDである場合、LCD23にユーザID入力を促すユーザインターフェース画面を表示し、入力されたユーザIDを予めRAM22またはDISK30に保持されているユーザID値との比較を行い(ステップS907)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0173】
一方、ステップS906の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS908)。判別の結果、ユーザIDとパスワードである場合、LCD23にユーザIDとパスワード入力を促すユーザインターフェース画面を表示し、入力されたユーザIDとパスワードを予めRAM22またはDISK30に保持されているユーザID値とパスワード値との比較を行い(ステップS909)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0174】
ステップS908の判別結果、ユーザIDとパスワードでない場合、属性情報305で示されるディレクトリサーバへのアクセスを試み、接続可能であるか否かを判別する(ステップS910)。
【0175】
アクセス可能である場合、LCD23にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し(ステップS912)、入力されたユーザ名とパスワードを使用してKerberosプロトコルによりディレクトリサーバ6からアクセスチケットを取得する(ステップS914)。
【0176】
一方、ユーザ名とパスワードが誤っていた場合など、ディレクトリサーバ6からユーザ名またはパスワードが不正であるとのエラーが返信された場合、ステップS912において、再度、ユーザ名とパスワードの入力を促すユーザインターフェース画面を表示する。
【0177】
そして、ディレクトリサーバから取得したアクセスチケットを秘密暗号キー306を使用して解読する(ステップS915)。アクセスチケットの有効性を判別する(ステップS916)。この判別は、チケットが有効期限以内であるか否か、および印刷可能枚数が1枚以上であるか否かを調べることにより行われる。ステップS916の判別結果、アクセスチケットが有効でない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をLCD23に表示し(ステップS917)、処理を終了する。
【0178】
一方、ステップS916の判別の結果、アクセスチケットが有効である場合、ログイン情報の保存およびユーザ情報キャッシュの更新を行う(ステップS925)。ログイン情報のうち、印刷可能枚数については、アクセスチケットで保持されていた枚数を設定する。
【0179】
図22はユーザ情報キャッシュのデータ構造を示す図である。このユーザ情報キャッシュは、RAM22またはDISK30に保持されている。ユーザ情報キャッシュの更新は、アクセスチケット取得する際に使用したユーザ名とパスワード、アクセスチケット内のユーザIDと印刷可能枚数、およびログインの日時をデータとして追加することにより行われる。既に同じユーザ名がユーザ情報キャッシュ内に存在する場合、既存情報の更新を行う。そして、ステップS925の処理後、印刷保留ジョブの処理を行い(ステップS922)、処理を終了する。
【0180】
一方、ステップS910において、ディレクトリサーバ6にアクセス不能な場合、属性情報(ディレクトリサーバ接続不可時に使用許可するかどうか)307を取得し、サーバ接続不可でも利用可能であるか否かを判別する(ステップS911)。使用許可されない場合、現在ログインすることができないことを表すユーザインターフェース画面をLCD23上に表示し(ステップS920)、処理を終了する。
【0181】
一方、ステップS911で使用不許可である場合、LCD23にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し(ステップS918)、入力されたユーザ名とパスワードの組がRAM22またはDISK30に保持されているユーザ情報キャッシュ内に存在するか否かを判別する(ステップS919)。この判別の結果、ユーザ情報キャッシュ内に存在しない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をLCD23上に表示し(ステップS921)、処理を終了する。
【0182】
一方、ステップS919の判別の結果、ユーザ名とパスワードの組がユーザ情報キャッシュの中に存在する場合、後述する処理によって印刷可能枚数の算出を行い、この値およびユーザIDをログイン情報として保存する(ステップS923)。また、ログイン情報内のユーザ管理モードには「セキュリティドメインに参加(ディレクトリサーバに接続不能)」の値が設定される。ステップS923の処理後、印刷保留ジョブの処理を行い(ステップS922)、処理を終了する。
【0183】
このログイン処理で保存されたログイン情報は、ログインセッション内のジョブ発行において動作の制限および記録のために使用される。すなわち、ログイン情報内の印刷印刷可能枚数を越えて印刷が行われた場合、ジョブを中止する。またジョブ内で印刷された印刷枚数はログイン情報の印刷可能枚数から引かれる。
【0184】
さらに、ログイン情報内のユーザ管理モードが「セキュリティドメインに参加(ディレクトリサーバに接続不能)」である場合、機器で保持されている属性情報「Directory Server接続不可時に使用する場合の制限の種類のリスト」308の内容にしたがって、最大印刷枚数312またはユーザ情報キャッシュの印刷可能枚数1013の値からジョブ内で印刷した枚数を減ずることにより、値を更新する。ログイン情報内のユーザIDは、ログインセッション内で発行されたジョブで印刷した枚数と共にログに記録される。そして、ユーザがログオフした時点で、ログイン情報は破棄される。
【0185】
尚、本実施形態では、ディレクトリサーバに接続可能な場合でも、ステップS925において、ログイン情報はログインした時点での印刷可能枚数を保持し、ログイン期間内でコンソールから発行されたジョブによってのみ印刷可能枚数が更新されるが、ディレクトリサーバに接続可能な場合、ジョブの発行直前にディレクトリサーバで保持されている、このユーザの印刷可能枚数を取得し、これにより印刷可能枚数を制限することも可能である。この場合、ステップS925で保持されるログイン情報にTGTを含ませ、これによってジョブの発行直前にディレクトリサーバ6に保持されているユーザの印刷可能枚数をKerberosプロトコルおよびLDAPプロトコルにより取得する。
【0186】
図20および図21の処理で更新されるユーザ情報キャッシュのデータは、前述したようにRAM22またはDISK30に保持されている。データは1行が1レコードの集合として表されており、1レコードはユーザ名1010、パスワード1011、ユーザID1012、印刷可能枚数1013およびログイン日時1014から構成されている。
【0187】
図23はステップS924およびS922における印刷保留ジョブの処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、周辺機器1内で印刷の実行が保留されているジョブの一覧を取得する(ステップS1101)。
【0188】
図20および図21で保持されたログイン情報内のユーザIDと、ステップS1101で取得した各ジョブが属性として含まれるユーザIDとを比較し、両者が合致するジョブのリストを作成する(ステップS1102)。ここで比較するジョブのユーザIDは、ジョブ内にアクセスチケット726が存在する場合、アクセスチケットを解読することにより取得して使用され、そうでない場合、ジョブ内に含まれるユーザID724が使用される。
【0189】
ステップS1102の処理の結果、リストが空であるか否かを判別し(ステップS1103)、判別の結果、空でない場合、処理を終了する。
【0190】
一方、ステップS1103で空である場合、ユーザIDが合致したジョブの一覧をユーザインターフェース画面としてLCD23に表示する(ステップS1104)。図24はステップS1104でLCD23に表示されるユーザインターフェース画面を示す図である。図中、1202はステップS1102で作成されたジョブのリストを表示している。1203はジョブを実行させるためのOKボタンであり、1204はジョブを実行させないでユーザインターフェース画面を閉じるキャンセルボタンである。
【0191】
そして、OKボタン1203、キャンセルボタン1204のどちらが押されたかを判別し(ステップS1105)、キャンセルボタンが押された場合、ユーザインターフェース画面を閉じて終了する。一方、OKボタンが押された場合、ステップS1102で生成したリスト中にあるジョブを実行し(ステップS1106)、処理を終了する。
【0192】
図25および図26は周辺機器1がPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。まず、受信したコマンドおよびそのパラメータを解析する(ステップS1301)。
【0193】
この解析の結果から受信コマンドが属性獲得コマンドであるか否かを判別する(ステップS1302)。属性獲得コマンドである場合、属性獲得コマンドによって指定された属性が獲得可能であるか否かを判別する(ステップS1303)。属性が獲得可能である場合、周辺機器内に保持する属性の値を取得し(ステップS1304)、取得した属性値を返信コマンドのパラメータにセットし、属性獲得コマンドに対する返信コマンドをドライバソフトウェアに送信し(ステップS1305)、処理を終了する。
【0194】
一方、ステップ1303で属性が獲得可能でない場合、属性の獲得に失敗したことをドライバソフトウェアに通知する処理を行い(ステップS1317)、処理を終了する。
【0195】
また一方、ステップS1302で属性獲得コマンドでない場合、ステップ1301での解析の結果から受信コマンドが属性値変更コマンドであるか否かを判別する(ステップS1311)。属性値変更コマンドである場合、属性値変更コマンドによって指定された属性が変更可能であるか否かを判別する(ステップS1312)。
【0196】
変更可能である場合、指定されたコマンドパラメータにしたがって、指定された属性を指定された属性値に変更し(ステップS1313)、属性値の変更が成功したことをドライバソフトウェアに通知する処理を行い(ステップS1314)、処理を終了する。一方、変更不可能である場合、属性値の変更に失敗したことをドライバソフトウェアに通知する処理を行い(ステップS1315)、処理を終了する。一方、ステップS1311で属性変更コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い(ステップS1316)、処理を終了する。
【0197】
図27および図28は周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で実行される。まず、周辺機器1が保持する属性情報(現在のユーザ管理モード)302を取得する(ステップS1401)。
【0198】
属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS1402)。判別の結果、ユーザ管理なしである場合、図29で示される管理コマンドを生成し、周辺機器1に対して送信する(ステップS1403)。図29は管理コマンドのデータ構造を示す図である。図において、1501はユーザ管理モードを表し、ユーザID1502、パスワード1503、アクセスチケット1504のうち、どの情報が有効であるかを示す。また、1505はコマンドの種別を表す。さらに、1506はコマンドに必要なパラメータ1507の長さを表す。
【0199】
周辺機器1は、受信した管理コマンドを図30および図31に示される処理手順によって処理し、その結果を送信する。周辺機器1から送られた返信を処理する(ステップS1417)。この処理は、ステップS1403によって送られた管理コマンドの処理によって異なり、特に管理コマンドが周辺機器内で保持されているジョブの一覧を取得するためのコマンドである「ListJobs」であった場合、返信に含まれているジョブの一覧をCRT33にユーザインターフェース画面として表示する。この後、本処理を終了する。
【0200】
一方、ステップS1402の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS1404)。判別の結果、パスワードある場合、CRT33にパスワード入力を促すユーザインターフェース画面を表示する(ステップS1405)。そして、ステップS1403において入力されたパスワードを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0201】
一方、ステップS1404の判別結果、パスワードなしの場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS1406)。判別の結果、ユーザIDであった場合、CRT33にユーザID入力を促すユーザインターフェース画面を表示する(ステップS1407)。そして、ステップS1403において入力されたユーザIDを設定した管理コマンドを生成し、周辺機器1に対して送信する。。
【0202】
一方、ステップS1406の判別の結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS1408)。判別の結果、ユーザIDとパスワードである場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェース画面を表示する(ステップS1409)。そして、ステップS1403において、入力されたユーザIDとパスワードを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0203】
一方、ステップS1408の判別結果、ユーザIDとパスワードでない場合、使用しているPCにおいて、ユーザはディレクトリサーバ6が管理するセキュリティドメインに既にログインしているか否かを判別する(ステップS1410)。この判別は、使用しているPCのオペレーティングシステムに対して問い合わせることによって行われる。
【0204】
判別の結果、ログイン済みでない場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェース画面を表示し(ステップS1411)、これらの情報をディレクトリサーバ6にKerberosプロトコルを使用して送ることにより、TGT(チケット生成チケット)情報を取得する(ステップS1413)。
【0205】
一方、ステップS1410の判別結果、ログイン済みの場合、既にログインしているので、オペレーティングシステムに対して現在のセッションで使用しているTGTを要求して取得する(ステップS1412)。
【0206】
ステップS1412またはS1413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子(パラメータ)をディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS1414)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キー306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類304によって一意に予め決められている。
【0207】
ステップS1414で取得したアクセスチケットを設定した管理コマンドを生成し、周辺機器1に対して送信する(ステップS1415)。この後、ステップS1417と同じ返信の処理を行う(ステップS1416)。この後、処理を終了する。
【0208】
図30および図31は図27および図28の処理によって生成され、周辺機器1に送信された管理コマンドを周辺機器1が処理する手順を示すフローチャートである。この処理は周辺機器1上で実行される。
【0209】
まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS1601)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS1602)。判別の結果、ユーザ管理なしの場合、値0を管理コマンド内のユーザID1502に設定し(ステップS1603)、ステップS1613以降のコマンドの種別にしたがった処理を行う。
【0210】
一方、ステップS1602の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS1604)。判別の結果、パスワードである場合、予めRAM22またはDISK30に保持されているパスワード値とパスワード1503との比較を行い、合致していた場合、値0を管理コマンド内のユーザID1502に設定する(ステップS1605)。この後、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0211】
一方、ステップS1604の判別結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS1606)。判別の結果、ユーザIDである場合、予めRAM22またはDISK30に保持されているユーザID値とユーザID1502との比較を行う(ステップS1607)。合致していた場合、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0212】
一方、ステップS1606の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS1608)。判別の結果、ユーザIDとパスワードである場合、予めRAM22またはDISK30に保持されているユーザID値およびパスワード値と、ユーザID1502およびパスワード1503との比較をそれぞれ行い(ステップS1607)、両者が合致していた場合、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0213】
一方、ステップS1608で、ユーザIDとパスワードでない場合、アクセスチケット1504の値を秘密暗号キー306を使用して解読する(ステップS1610)。解読の結果、アクセスチケットの有効性および有効期限を判別し(ステップS1611)、判別の結果、アクセスチケットが有効である場合、アクセスチケット内のユーザIDを管理コマンド内のユーザID1502に設定し、ステップS1613以降のコマンドの種別にしたがった処理を行う。一方、ステップS1611の判別結果、アクセスチケットが有効でない場合、エラーを返信し(ステップS1612)、管理コマンドの処理を終了する。
【0214】
ステップS1613以降の処理では、まず、コマンドの種別1505が「ListJobs」(ジョブの一覧を取得する)であるか否かを判別する(ステップS1613)。判別の結果、コマンドの種別1505が「ListJobs」である場合、周辺機器1内に保持されているジョブの一覧を取得する(ステップS1614)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」の場合、各ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0215】
そして、ステップS1614に取得されたジョブのユーザID724と、管理コマンド内に含まれるユーザID1502との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する(ステップS1615)。一方、両者が合致するジョブのジョブ名は空白に変換しない。ステップS1615で得られたジョブリストを返信し(ステップS1616)、処理を終了する。
【0216】
一方、ステップS1613の判別結果、コマンドの種別1505が「CancelJob」(指定されたジョブをキャンセルする)であるか否かを判別する(ステップS1617)。判別の結果、コマンドの種別1505が「CancelJob」でない場合、機器管理コマンドの処理を行い(ステップS1619)、処理を終了する。このステップS1619における機器管理コマンドの処理では、コマンド種別1505によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【0217】
ステップS1617の判別結果、指定されたジョブの情報を取得する(ステップS1618)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0218】
そして、ジョブのユーザID724と、管理コマンド内に含まれるユーザID1502との比較を行い(ステップS1620)、両者が合致しない場合、管理コマンドの実行失敗を返信し(ステップS1623)、処理を終了する。一方、ステップS1620で両者が合致した場合、指定されたジョブをキャンセルし(ステップS1621)、管理コマンドの実行成功を返信し(ステップS1622)、処理を終了する。
【0219】
尚、ステップS1621の処理を変更することにより、ジョブのアクセス制御機能が付加されたジョブキャセル以外のジョブ管理(例えば、ジョブの一時停止、再開、割り込み、優先度の向上、優先度の低下など)を行わせることも可能である。
【0220】
図32は周辺機器1および周辺機器5のログを集計し、ディレクトリサーバ6のユーザ毎の印刷可能枚数および累積印刷枚数を更新するための処理手順を示すフローチャートである。この処理はディレクトリサーバ6で実行される。まず、対象となる周辺機器からログを取得する(ステップS1901)。
【0221】
ログの情報からユーザID毎に印刷した枚数を合算する(ステップS1902)。ディレクトリサーバ6から各ユーザ毎の印刷可能枚数と累積印刷枚数をLDAPプロトコルにより取得し、得られた枚数を印刷可能枚数から減算し、更に累積印刷枚数に加え、得られたこれらの結果をLDAPプロトコルによってディレクトリサーバ6に設定する(ステップS1903)。これにより、ディレクトリサーバ6の各ユーザ毎の印刷可能枚数および累積印刷枚数は更新される。
【0222】
このように、図32の処理を、周辺機器1および周辺機器5を対象として行うことにより、2台の周辺機器に対する印刷可能枚数および累積印刷枚数がディレクトリサーバ6によって集中管理される。
【0223】
尚、他の実施形態として、ジョブで使用した印刷枚数をログに保存せず、ジョブの終了毎にディレクトリサーバ6に接続することにより、ディレクトリサーバ6のデータを更新する場合、図32の処理を実行する必要は無い。
【0224】
図33および図34は図20および図21のステップS923におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。この処理は周辺機器1上で実行される。まず、現在の印刷可能枚数の制限の種類309を取得する(ステップS2001)。
【0225】
制限の種類309が「無制限」であるか否かを判別する(ステップS2002)。判別の結果、無制限である場合、印刷可能枚数を無制限に設定し(ステップS2003)、処理を終了する。一方、ステップS2002の判別の結果、無制限でない場合、制限の種類309が「時間制限」、「時間制限&固定最大枚数で制限」または「時間制限&最大枚数で制限」のいずれであるか否かを判別する(ステップS2004)。判別の結果、いずれである場合、ユーザ情報キャッシュ内のユーザの最終ログイン日時1014を取得し(ステップS2005)、この日時と現在の日時との時間差が時間制限の長さ310で指定されている値以下であるか否かを判別する(ステップS2006)。
【0226】
指定されている値以下である場合、印刷可能枚数を値0に設定し(ステップS2007)、処理を終了する。一方、ステップS2004の判別の結果、「時間制限」、「時間制限&固定最大枚数で制限」または「時間制限&最大枚数で制限」のいずれでもない場合、あるいはステップS2006の制限時間内である場合、制限の種類309が「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれであるか否かを判別する(ステップS2008)。
【0227】
「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれである場合、最大枚数312の値を印刷可能枚数に設定し(ステップS2010)、処理を終了する。一方、ステップS2008の判別結果、「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれでもない場合、制限の種類309が「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれであるか否かを判別する(ステップS2009)。「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれである場合、次式(1)により枚数を算出し、印刷可能枚数として設定し(ステップS2011)、処理を終了する。
【0228】
印刷可能枚数=ユーザ情報キャッシュ内の印刷可能枚数1013 − 最大枚数の日毎の削減割合×最後にログインしてからの時間(日数) ……(1)
ここで、最後にログインしてからの時間(日数)は、ユーザ情報キャッシュのログイン日時1014から現在の日時を引いた時間を、値24で割って小数点以下を切り捨てたものである。
【0229】
一方、ステップS2009の判別結果、「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれでもない場合、ログイン毎の最大枚数313を印刷可能枚数に設定し(ステップS2012)、処理を終了する。
【0230】
尚、本実施形態では、図6、図8、図10のフローチャートに示す処理手順によって、それぞれ「サポートしているユーザ管理モードのリスト」、「対応可能なDirectory Serverの種類リスト」、「Directory Server接続不可時に使用する場合の制限の種類のリスト」を、PC(1)2、PC(2)3、PC(3)4が周辺機器1から直接取得しているが、他の実施形態として、「サポートしているユーザ管理モードのリスト」、「対応可能なDirectory Serverの種類リスト」、「Directory Server接続不可時に使用する場合の制限の種類のリスト」を周辺機器1から取得し、一旦、ディレクトリサーバ6に機器情報として保持し、PC(1)2、PC(2)3、PC(3)4はディレクトリサーバ6から取得するようにしてもよい。
【0231】
[第2の実施形態]
前記第1の実施形態では、図29において、管理コマンド中にアクセスチケットを含ませていたが、アクセスチケットのデータサイズは一般的に管理コマンドの他のデータサイズに比較して大きいものとなってしまうので、パフォーマンスなどに問題が生じる場合がある。この問題を解決するための周辺機器制御システムを第2の実施形態として以下に説明する。
【0232】
図35は後述する管理コマンド生成処理によって生成され、周辺機器1に送信される管理コマンドのデータ構造を示す図である。図において、2301はユーザ管理モードを表し、ユーザID2302、パスワード2303、セッションキー2304のうち、どの情報が有効であるかを示すものである。
【0233】
セッションキー2304は周辺機器1によって発行され、周辺機器1内のアクセスチケットキャッシュによってアクセスチケットと1対1の対応付けがなされている。図において、2305はコマンドの種別を表す。2306はコマンドに必要なパラメータ2307の長さを表す。
【0234】
図36は後述するアクセスチケット設定コマンドの処理によって周辺機器1のRAM22内に保持されるアクセスチケットキャッシュのデータ構造を示す図である。アクセスチケットキャッシュは、セッションキー2401とアクセスチケット2402の対を1レコードとして、複数レコードによって構成されている。ここで保持されているアクセスチケットは、秘密暗号キー306を利用した解読後のものとなっている。
【0235】
図37および図38は後述する管理コマンド生成処理によって生成され、周辺機器1に送信された管理コマンドを、周辺機器1が処理する手順を示すフローチャートである。この処理は周辺機器1上で実行される。この処理手順では、図30および図31のステップS1608までのステップ処理は同一であるので、そのステップ処理を省略し、ステップS1608の判別処理がNO(偽)であった場合、つまり、ユーザ管理モードが「セキュリティドメインに参加」であった場合から示すこととする。
【0236】
まず、セッションキー2304が値0であるか否かを判別する(ステップS2501)。ステップS2501の判別の結果、セッションキー2304が値0である場合、管理コマンド種別2305が「アクセスチケット設定コマンド」であるか否かを判別する(ステップS2502)。「アクセスチケット設定コマンド」でない場合、エラーを返信し(ステップS2507)、処理を終了する。
【0237】
一方、ステップS2502の判別の結果、「アクセスチケット設定コマンド」である場合、管理コマンドパラメータ2307に含まれているアクセスチケットの値を秘密暗号キー306を使用して解読する(ステップS2519)。解読の結果、アクセスチケットの有効性および有効期限を判別する(ステップS2520)。
【0238】
アクセスチケットが有効でない場合、エラーを返信し(ステップS2521)、管理コマンドの処理を終了する。一方、ステップS2520において判別の結果、アクセスチケットが有効である場合、解読されたアクセスチケットの内容を、アクセスチケットに1対1に対応するセッションキーを生成し、セッションキーと共にアクセスチケットキャッシュに保存する(ステップS2503)。生成されたセッションキーを返信し(ステップS2504)、処理を終了する。
【0239】
一方、ステップS2501でセッションキーが値0以外である場合、セッションキーをアクセスチケットキャッシュ内で検索し(ステップS2505)、セッションキーが存在するか否かを判別する(ステップS2506)。判別の結果、エラーを返信し(ステップS2507)、処理を終了する。
【0240】
一方、ステップS2506の判別の結果、セッションキーが存在する場合、アクセスチケットキャッシュからセッションキーに対応するアクセスチケットを取得し、アクセスチケット内のユーザIDを管理コマンド内のユーザID2302に設定し(ステップS2522)、ステップS2508以降のコマンドの種別にしたがった処理を行う。
【0241】
ステップS2508以降の処理では、まず、コマンドの種別2305が「ListJobs」(ジョブの一覧を取得する)であるか否かを判別する(ステップS2508)。判別の結果、コマンドの種別2305が「ListJobs」である場合、周辺機器1内に保持されているジョブの一覧を取得する(ステップS2509)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、各ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0242】
ステップS2509に取得されたジョブのユーザID724と、管理コマンド内に含まれるユーザID2302との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する(ステップS2510)。得られたジョブリストを返信し(ステップS2511)、処理を終了する。
【0243】
一方、ステップS2508の判別の結果、コマンドの種別1505が「CancelJob」(指定されたジョブをキャンセルする)であるか否かを判別する(ステップS2512)。コマンドの種別2305が「CancelJob」でない場合、機器管理コマンドの処理を行い(ステップS2517)、処理を終了する。このステップS2517における機器管理コマンドの処理では、コマンド種別2305によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【0244】
一方、ステップS2512の判別の結果、コマンドの種別1505が「CancelJob」である場合、指定されたジョブの情報を取得する(ステップS2513)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0245】
ジョブのユーザID724と、管理コマンド内に含まれるユーザID2302との比較を行い(ステップS2514)、両者が合致しない場合、管理コマンドの実行失敗を返信し(ステップS2518)、処理を終了する。
【0246】
一方、ステップS2514において、両者が合致した場合、指定されたジョブをキャンセルし(ステップS2515)、管理コマンドの実行成功を返信し(ステップS2516)、処理を終了する。
【0247】
尚、図37および図38で示した管理コマンドの処理手順をジョブ処理時にも適用することによって、図17と図18および図19に示すように、ジョブにアクセスチケットを含ませるのではなく、ジョブにセッションキーを含ませることも可能である。
【0248】
図39は図37および図38の処理を実行している周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で実行される。また、この処理手順は、図27および図28のステップS1412およびS1413までは同一であるので、ここではステップS1412またはS1413によってTGTを取得終了後から示すこととする。
【0249】
すなわち、ステップS1412またはS1413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子(パラメータ)をディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS2601)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キー306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類304によって一意に予め決められている。
【0250】
ステップS2601で取得したアクセスチケットをコマンドパラメータ2307に設定したアクセスチケット設定コマンドを生成し、周辺機器1に対して送信する(ステップS2602)。ここで送信される管理コマンドは、セッションキー2304が値0、コマンド種別2305が「アクセスチケット設定コマンド」となっている。
【0251】
周辺機器1からの返信がエラーか否かを判別し(ステップS2603)、エラーであった場合、処理を終了する。一方、ステップS2603の判別の結果、エラーでない場合、ステップS2602で取得したセッションキーを管理コマンドのセッションキー2304に設定し、管理コマンドデータの管理コマンド種別2305、コマンドパラメータ長2306、コマンドパラメータ2307に適切な値を設定して周辺機器1に送信する(ステップS2604)。周辺機器1からの返信を処理し(ステップS2605)、処理を終了する。
【0252】
尚、同一周辺機器に対して同一ユーザがジョブ管理コマンドまたは機器管理コマンドを発行する際、既に必要なアクセスチケットが周辺機器に保持されており、それに対するセッションキーを取得済みであるので、ステップS2601からS2603までのステップを省略することができる。これにより、パフォーマンス良く、周辺機器のジョブ管理および機器管理を行うことができる。
【0253】
以上示したように、上記実施形態によれば、ネットワーク環境下で、アクセス権に関して統一したジョブ管理を行うことができる。また、ネットワーク環境下で、アクセス権に関して統一したジョブ管理を行うことができる。さらに、ジョブを発行したユーザだけがジョブをキャンセルすることができる。
【0254】
また、ジョブを発行したユーザだけがジョブの全情報を知ることができ、他のユーザはジョブの一部の情報だけを知ることができる。さらに、ネットワーク環境下で、アクセス権に関して統一したジョブ情報をパフォーマンス良く行うことができる。また、ジョブを発行したユーザだけがジョブのキャンセルをパフォーマンス良く行うことができる。さらに、ジョブを発行したユーザだけがジョブの全情報をパフォーマンス良く知ることができ、他のユーザはジョブの一部の情報だけを知ることができる。
【0255】
また、ネットワーク環境下で、アクセス権に関して統一した機器管理を行うことができる。さらに、ネットワーク環境下で、アクセス権に関して統一した機器管理をパフォーマンス良く行うことができる。また、周辺機器にジョブ管理コマンドを発行することができる。さらに、周辺機器にジョブキャンセルコマンドを発行することができる。また、周辺機器にジョブを表示することができる。さらに、周辺機器に機器管理コマンドを発行することができる。
【0256】
本実施形態によれば、ネットワークなどを介して、外部から周辺機器が対応可能なディレクトリサーバの種類のリストを取得することができる。また、ネットワークなどを介して、外部から周辺機器が現在対応しているディレクトリサーバの種類を取得・設定することができる。さらに、対応可能なディレクトリサーバの種類のリストを取得してユーザインターフェース上に表示することができる。また、現在対応しているディレクトリサーバを取得してユーザインターフェース上に表示することができると共に、設定を変更することができる。
【0257】
本実施形態によれば、統一したユーザ情報を複数の周辺機器で使用することができる。また、複数の周辺機器を使用する環境において、累積印刷枚数および最大印刷可能枚数を集中管理することができる。また、複数の周辺機器を使用する環境において、最大印刷可能枚数によるユーザ毎の印刷制限を行うことができる。
【0258】
また、ディレクトリサーバに接続できなかった場合に取る動作モードの設定を、ネットワークなどを介して外部から行うことができる。さらに、ディレクトリサーバに接続できなかった場合、周辺機器を使用することができる。また、ディレクトリサーバに接続できなかった場合、最後に正常にログインしてから一定時間内に周辺機器を使用することができる。さらに、ディレクトリサーバに接続できなかった場合、最後に正常にログインしてから一定時間内、機器で保存されている最大印刷枚数を越えない範囲で周辺機器を使用できる。また、ディレクトリサーバに接続できなかった場合、最後に正常にログインしてから一定時間内、最後に正常にログインした時点での最大印刷可能枚数まで周辺機器を使用することができる。さらに、ディレクトリサーバに接続できなかった場合、機器で保存されている最大印刷枚数を越えない範囲で周辺機器を使用することができる。
【0259】
また、ディレクトリサーバに接続できなかった場合、最後に正常にログインした時点での最大印刷可能枚数まで周辺機器を使用することができる。さらに、ディレクトリサーバに接続できなかった場合、ログイン毎の最大印刷可能枚数を越えない範囲で周辺機器を使用することができる。また、ディレクトリサーバに接続できなかった場合、正確なユーザ管理を行うためにユーザに対して周辺機器の使用を禁止することができる。さらに、正常にディレクトリサーバに接続してからの予想印刷枚数を加味した最大印刷可能枚数まで周辺機器を使用することができる。また、周辺機器にジョブを発行することができる。
【0260】
つぎに、上記実施形態における周辺機器の複写処理動作を示す。図40は周辺機器1における複写処理手順を示すフローチャートである。この処理プログラムは、コントローラ11内のROM25に格納されており、周辺機器1のキーボード24に設けられたコピースタートボタンが押されることによりCPU21によって実行される。周辺機器1は、コピースタートボタンが押されると、スキャナエンジン27に置かれた紙原稿のイメージをプリンタ28で印刷する機能を有する。コピースタートボタンが押されたというイベントは、キーボード24からCPU21に送られ、コピージョブの発行指示として解釈される。
【0261】
但し、予め図21のステップS920、S921、S917において、現在ログインしているユーザの使用不可の表示が行われている場合や、ユーザがログインしていない場合には、コピースタートボタンが押されたイベントは、CPU21に送られない設定となっており、図40のフローチャートに示す処理は実行されない。
【0262】
コピースタートボタンからのイベントをCPU21が受けると、この処理を開始し、まず、図20のステップS903、S923およびS925のいずれかのステップ処理で保存されたログイン情報を取得する(ステップS4001)。現在のユーザ管理モードがセキュリティドメインに参加であるか否かを判別する(ステップS4002)。判別の結果、セキュリティドメインに参加しない場合、スキャナエンジン27に置かれた紙原稿のイメージをプリンタエンジン28で印刷し、印刷された枚数を、ログイン情報に含まれているユーザ名またはユーザIDと共にログに記録し(ステップS4003)、この処理を終了する。
【0263】
一方、ステップS4002の判別の結果、セキュリティドメインに参加である場合、ログイン情報に保持されている印刷可能枚数を取得する(ステップS4004)。さらに、スキャナエンジン27に置かれた紙原稿のイメージをプリンタエンジン28で印刷し、印刷された枚数を、ログイン情報に含まれているユーザ名またはユーザIDと共にログに記録し(ステップS4005)、この処理を終了する。このとき、ステップS4004で取得した印刷可能枚数を越えた場合、印刷を強制終了させ、その旨をLCD23上に表示する。そして、コピージョブの結果に基づき、そのコピージョブを実行したユーザのディレクトリサーバ6上のログ情報を更新する。
【0264】
すなわち、ディレクトリサーバ6からコピージョブを実行したユーザに対応した印刷可能枚数および累積印刷枚数をLDAPプロトコルにより取得し、コピージョブで使用したコピー枚数を印刷可能枚数から減算し、更に累積印刷枚数に加え、得られたこれらの結果をLDAPプロトコルによってディレクトリサーバ6に設定する。これにより、ディレクトリサーバ6で管理されている各ユーザ毎の印刷可能枚数および累積印刷枚数は更新される。
【0265】
尚、以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【0266】
例えば、周辺機器1(または2)におけるログイン(ユーザ認証)では、周辺機器1のシステムバス20に接続されたICカードリーダを介して、ユーザが挿入したICカードに保持された情報、あるいはシステムバス20に接続された指紋リーダ、虹彩(アイリス)リーダ、声紋リーダなどの生体情報リーダを介して、ユーザが提示した指紋、虹彩(アイリス)、声紋などの生体情報を、ユーザ情報として使用することも可能である。
【0267】
この場合、図21のステップS912では、ユーザに対して適当なユーザ情報の提示を促し、各リーダから得られたユーザ情報は、図21のステップS914でディレクトリサーバ6に送られる。そして、ディレクトリサーバ6におけるユーザ情報の検証の結果、ユーザ認証が得られた場合、周辺機器1は、該当ユーザに対するアクセスチケットまたはセッション情報であるTGTを取得する。
また、周辺機器制御ソフトウェアが、対象となる周辺機器が対応ディレクトリサーバの種類の情報を持つ必要がなく、汎用的な周辺機器制御システムを提供できる。
さらに、ネットワークなどに接続された複数の機器を使用する環境下で、ユーザ情報の統一管理を行い、同じユーザ情報を複数の機器で使用することができる。また、ネットワークなどで接続された複数の機器を使用する環境下で、ユーザ毎の累積印刷枚数および最大印刷可能枚数の集中管理を行うことができる。さらに、ネットワークの障害があった場合、一時的に周辺機器を使用できる。
【0268】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記録媒体を、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【0269】
上記実施形態では、各フローチャートに示すプログラムコードは記憶媒体に格納されている。プログラムコードを供給する記憶媒体としては、例えば、ROM、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【0270】
【発明の効果】
本発明によれば、ネットワーク環境内でのジョブ管理に関し、統一したアクセス制御を行うことができる。また、ネットワーク環境内でのジョブ管理に関し、統一したアクセス制御を、パフォーマンスが悪化しないように行うことができる。
【図面の簡単な説明】
【図1】第1の実施形態における周辺機器制御システムの構成を示すブロック図である。
【図2】周辺機器(MFP1、MFP2)の構成を示すブロック図である。
【図3】コントローラ11のハードウェア構成を示すブロック図である。
【図4】ネットワークシステムを構成するPCのハードウェア構成を示すブロック図である。
【図5】周辺機器1で保持されている属性情報を示す図である。
【図6】周辺機器1のユーザ管理モードをPC(1)2、PC(2)3、PC(3)4から表示・変更する場合の処理手順を示すフローチャートである。
【図7】ステップS1705におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。
【図8】周辺機器1に対応するディレクトリサーバをPC(1)2、PC(2)3、PC(3)4から表示・変更する場合の動作処理手順を示すフローチャートである。
【図9】ステップS1807におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。
【図10】周辺機器1がディレクトリサーバ6に接続できない場合にログインをどの様に許可するかを、PC(1)2、PC(2)3、PC(3)4から表示・変更する場合の処理手順を示すフローチャートである。
【図11】ステップS2207のユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。
【図12】周辺機器1に対してPC(1)2、PC(2)3、PC(3)4からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。
【図13】図12に続き、周辺機器1に対してPC(1)2、PC(2)3、PC(3)4からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。
【図14】ステップS403におけるジョブ発行処理手順を示すフローチャートである。
【図15】周辺機器1が図14の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。
【図16】図15に続き、周辺機器1が図14の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。
【図17】図14の処理により周辺機器1内で保持されたジョブのデータ構造を示す図である。
【図18】図17で示された周辺機器1に保持されたジョブデータの処理手順を示すフローチャートである。
【図19】図18に続き、図17で示された周辺機器1に保持されたジョブデータの処理手順を示すフローチャートである。
【図20】周辺機器1のLCD23に表示されるログイン画面の処理手順を示すフローチャートである。
【図21】図20に続き、周辺機器1のLCD23に表示されるログイン画面の処理手順を示すフローチャートである。
【図22】ユーザ情報キャッシュのデータ構造を示す図である。
【図23】ステップS924およびS922における印刷保留ジョブの処理手順を示すフローチャートである。
【図24】ステップS1104でLCD23に表示されるユーザインターフェース画面を示す図である。
【図25】周辺機器1がPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。
【図26】図25に続き、周辺機器1がPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。
【図27】周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【図28】図27に続き、周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【図29】管理コマンドのデータ構造を示す図である。
【図30】図22の処理によって生成され、周辺機器1に送信された管理コマンドを周辺機器1が処理する手順を示すフローチャートである。
【図31】図30に続き、図22の処理によって生成され、周辺機器1に送信された管理コマンドを周辺機器1が処理する手順を示すフローチャートである。
【図32】周辺機器1および周辺機器5のログを集計し、ディレクトリサーバ6のユーザ毎の印刷可能枚数および累積印刷枚数を更新するための処理手順を示すフローチャートである。
【図33】図17のステップS923におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。
【図34】図33に続き、図17のステップS923におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。
【図35】後述する管理コマンド生成処理によって生成され、周辺機器1に送信される管理コマンドのデータ構造を示す図である。
【図36】後述するアクセスチケット設定コマンドの処理によって周辺機器1のRAM22内に保持されるアクセスチケットキャッシュのデータ構造を示す図である。
【図37】後述する管理コマンド生成処理によって生成され、周辺機器1に送信された管理コマンドを、周辺機器1が処理する手順を示すフローチャートである。
【図38】図37に続き、後述する管理コマンド生成処理によって生成され、周辺機器1に送信された管理コマンドを、周辺機器1が処理する手順を示すフローチャートである。
【図39】図29の処理を実行している周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【図40】周辺機器1における複写処理手順を示すフローチャートである。
【符号の説明】
2、3、4 パーソナルコンピュータ(PC)
3、5 周辺機器(MFP)
6 ディレクトリサーバ
11 コントローラ
21、31 CPU
25、36 ROM
301、302 属性情報
724、1502、2302 ユーザID
726、1504、2402 アクセスチケット
2304、2401 セッションキー
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to peripheral devices that control peripheral devices such as printers, scanners, copiers, and facsimiles, set corresponding servers, manage user information of peripheral devices, and manage the number of prints., Its control method,The present invention relates to a program and a storage medium.
[0002]
[Prior art]
Conventionally, peripheral devices such as printers, copiers, facsimiles (FAX), etc., manage jobs that are suspended or run in the peripheral devices (display a job list, cancel specified jobs, etc.) Alternatively, it can be performed from a computer connected to a peripheral device via a network or the like.
[0003]
Conventionally, peripheral devices that can include an access ticket issued from a directory server in a job or control command must decrypt the access ticket using a secret encryption key. Since the conversion method and the format of the access ticket differ depending on the type of the corresponding directory server, it is necessary to set in advance which directory server the peripheral device supports.
[0004]
Furthermore, conventionally, peripheral devices such as copiers and facsimiles display a dialog for user authentication on the console to manage user information, and authenticate users by inputting user information in this dialog. I was going. The user information obtained here is checked against a database of user information managed inside the device, and if it matches, the user's use permission is issued. In addition, when some printing is performed as a result of user operation, the number of printed sheets is recorded in a log together with user information obtained at the time of login, or accumulated in a counter for each user to manage the number of printed sheets for each user. I was going.
[0005]
Conventionally, in peripheral devices such as printers and copiers, management of the number of printed sheets for each user and management of the number of printed sheets such as the maximum number of printed sheets has been performed by the single device. In this case, a counter representing cumulative printing is provided in the device, and when this value reaches a preset value, printing is terminated or job acceptance is rejected.
[0006]
[Problems to be solved by the invention]
However, if the device that issued the job is different from the device that manages the job, for example, if you issue a print job from the computer to the copier and try to cancel this job from the console on the copier, you will be logged into the computer. The information used to log in is different from the information used to log in to the copier, so it is not clear whether the job is being managed by the job issuer. there were. In the present invention, in order to perform unified access control, a means for including user information in a management command is used. However, the data size of user information generally increases, and a management command including this also includes a management command. Due to the large data size, there was a problem in terms of network traffic and performance.
[0007]
However, if the type of supported directory server is to be set from the peripheral device control software that runs on a computer connected via a network or the like, the directory server to which the target peripheral device can correspond beforehand is supported. Since it is necessary to retain some information in the peripheral device control software, it is difficult to prepare general-purpose peripheral device control software that can handle any peripheral device.
[0008]
Furthermore, since user information management has been performed on a single device basis, it is difficult to unify user information managed by each device in an environment where a plurality of devices are used. For example, even if the same user ID is used, There was a problem that the user ID does not necessarily specify the same user. In addition, even if the maximum printable number for each user is set for one device, it does not affect any other device, so it is difficult to manage the maximum number of prints in such an environment.
[0009]
In addition, since the number of printed sheets has been managed by a single device, it is difficult to unify user information managed by each device in an environment where a plurality of devices are used. For example, even if the same user ID is used, the user ID There is a problem that does not necessarily designate the same user. In addition, even if the maximum printable number of sheets is set for one device, there is no influence on another device, so it is difficult to manage the maximum number of printed sheets in such an environment.
[0010]
  Accordingly, the present invention relates to job management in a network environment and peripheral equipment that enables unified access control., Its control method,An object is to provide a program and a storage medium.
[0016]
[Means for Solving the Problems]
  In order to achieve the above object, the peripheral device according to claim 1 of the present invention is managed by a server connected via a network, and manages a job input from the outside in accordance with an input job management command. A first receiving means for receiving a job, a first decoding means for decoding an access ticket included in the received job,When the access ticket decrypted by the first decryption means is valid and the received job can be executed,With the received jobThe access ticket included in the jobHolding means for associating and holding, a second receiving means for receiving a job management command, a second decoding means for decoding an access ticket included in the received job management command,When the access ticket decrypted by the second decryption means is valid and the job received by the first reception means is not completed,Comparing means for comparing the decoding result of the first decoding means and the decoding result of the second decoding means, and management means for executing the job management command for the job based on the comparison result by the comparing means It is characterized by that.
[0103]
DETAILED DESCRIPTION OF THE INVENTION
  Peripheral device of the present invention, Its control method,Embodiments of a program and a storage medium will be described with reference to the drawings.
[0104]
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration of a peripheral device control system according to the first embodiment. In the figure, reference numerals 1 and 5 denote peripheral devices MFP1 and MFP2, respectively. Reference numerals 2, 3, and 4 denote personal computers PC (1), PC (2), and PC (3), respectively. PC (1) 2, PC (2) 3, and PC (3) 4 are connected to MFP 1 (1) and MFP 2 (5) via network 10 or a local interface. On the PC (1), PC (2), or PC (3), peripheral device control software related to the present invention operates, and performs job processing such as printing, scanning, copying, or FAX transmission / reception to the MFP 1 via the network 10. Request or inquire about attribute information of MFP1 (1) and MFP2 (5).
[0105]
Reference numeral 6 denotes a directory server having a central management function for user information and device information, and is constituted by a personal computer or the like. The directory server 6 also has a KDC (Key Distribution Server) function in the Kerberos protocol (RFC1510), and issues a TGT (ticket generation ticket) and accesses a specified resource according to the Kerberos specification. Issuing access tickets necessary for this purpose.
[0106]
Further, it is assumed that MFP 1 (1) and MFP 2 (5) are already registered in this directory server 6. This data reference and update can be performed from PC (1) 2 and PC (2) 3 by using the LDAP protocol (RFC1777). Each piece of user information managed by the directory server 6 includes a user name, a password, a user printable number of copies, and a user's cumulative print number. Each piece of device information managed by the directory server 6 includes a device name and a device private encryption key.
[0107]
FIG. 2 is a block diagram showing the configuration of peripheral devices (MFP1, MFP2). In the figure, reference numeral 11 denotes a controller for controlling peripheral devices. Reference numeral 12 denotes a communication interface for the controller 11 to communicate with the outside of the peripheral device, for example, an Ethernet (registered trademark) interface, an IEEE1284 interface, or other communication interfaces.
[0108]
A scanner engine 13 is controlled by the controller 11. Reference numeral 14 denotes a printer engine, which is controlled by the controller 11 and is, for example, a laser beam printer, an ink jet printer, or another printer.
[0109]
Reference numeral 15 denotes a FAX board that realizes a FAX function for performing communication control such as image transmission / reception, and is controlled by the controller 11. A user interface 16 includes an LCD display and a keyboard, and displays information from the controller 11 and transmits instructions from the user to the controller 11.
[0110]
The peripheral device having such a configuration selects the printer engine 14 and makes it possible to issue a print job. In addition, the printer engine 14 and the scanner engine 13 are selected, and a copy job can be issued. Further, the printer engine 14, the scanner engine 13, and the FAX board 15 are selected, and a FAX reception job and a FAX transmission job can be issued.
[0111]
FIG. 3 is a block diagram showing a hardware configuration of the controller 11. In the controller 11, a CPU 21, a RAM 22, an LCD 23, a keyboard 24, a ROM 25, a communication interface 26, a scanner engine 27, a printer engine 28, a FAX board 29, and a DISK 30 are connected to each other via a system bus 20.
[0112]
A program for controlling the controller 11 is stored in the ROM 25 or the DISK 30, read to the RAM 22 as necessary, and executed by the CPU 21. In addition to the control program, the ROM 25 or DISK 30 stores peripheral equipment, attribute information indicating the function and status of the job processed by the peripheral equipment, job data to be output, and the like. Further, the CPU 21 displays on the LCD 23 and receives a user instruction from the keyboard 24. The CPU 21 communicates with the outside through the communication interface 26.
[0113]
In the present embodiment, unless otherwise specified, in the peripheral device (FIG. 2), the CPU 21 receives user input from the keyboard 24 via the system bus 20, and RAM 22, LCD 23, ROM 25, communication interface 26, scanner engine 27. The printer engine 28, the FAX board 29, and the DISK 30 are controlled.
[0114]
FIG. 4 is a block diagram showing a hardware configuration of a PC constituting the network system. In the PC, a CPU 31, a RAM 32, a CRT 33, a keyboard 34, a pointing device 35, a ROM 36, a DISK 37, and a communication interface 38 are connected to each other via a system bus 40. A program for controlling the PC is stored in the ROM 36 or DISK 37, read to the RAM 32 as necessary, and executed by the CPU 31. In addition, the CPU 31 performs display through the CRT 33 and receives user instructions from the keyboard 34 and the pointing device 35. The CPU 31 communicates with the outside through the communication interface 38.
[0115]
In this embodiment, unless otherwise specified, in the PC, the CPU 31 receives user input from the keyboard 34 and the pointing device 35 via the system bus 40, and controls the RAM 32, CRT 33, ROM 36, DISK 37, and communication interface 38. In addition, the user's instruction to the peripheral device and the information display to the user may be performed through the local user interface 16 or connected to the network 10 such as the PC (1), PC (2), or PC (3). You may go through the device that becomes the client.
[0116]
FIG. 5 is a diagram showing the attribute information held in the peripheral device 1. Peripheral device 2 (5) has the same data structure as peripheral device 1, but the stored values are different. These pieces of information are held in the ROM 25, the RAM 22 or the DISK 30, and individual attribute information can be acquired or set from the PC (1) 2, PC (2) 3, and PC (3) 4 by processing to be described later. .
[0117]
In the figure, reference numeral 301 denotes an attribute “list of supported user management modes”, which includes ““ no user management ”,“ password ”,“ user ID ”,“ user ID and password ”,“ join security domain ”. Are stored as a list.
[0118]
Reference numeral 302 denotes a “current user management mode” attribute, which holds “join security domain” as a value. Reference numeral 303 denotes a “list of compatible directory server types” attribute, which includes a plurality of values of “standard LDAP server”, “Active Directory (MS)”, “NDS (Novel)”, and “Open LDAP”. Holds the value as a list.
[0119]
Reference numeral 304 denotes a “currently supported directory server type” attribute, which holds ““ Active Directory (MS) ”” as a value. Reference numeral 305 denotes a “directory server IP address currently supported” attribute, which holds “123.56.54.21” as a value. Reference numeral 306 denotes a “device secret encryption key” attribute, which holds “0x34q4bffcdca001” as a value. This value is effective when the “current user management mode” attribute is “join security domain”, and is used to interpret an access ticket issued from the directory server 6.
[0120]
Reference numeral 307 denotes an attribute “whether use is permitted when the directory server cannot be connected”, and holds “TRUE” as a value. Reference numeral 308 denotes a “list of restriction types to be used when the directory server cannot be connected” attribute, and ““ unlimited ”,“ time limit ”,“ time limit & limit by fixed maximum number of sheets ”,“ time limit & maximum number of sheets ”. A list of multiple values of “restricted by”, “restricted by fixed maximum number of sheets”, “restricted by maximum number of sheets”, and “restricted every login” are held as a list.
[0121]
Reference numeral 309 denotes a “type of restriction when used when current directory server cannot be connected” attribute, which holds “time limit” as a value. Reference numeral 310 denotes a “time limit length” attribute, which holds “48 hours” as a value. Reference numeral 311 denotes a “maximum daily reduction ratio” attribute, which holds “30” as a value. Reference numeral 312 denotes a “maximum number of sheets” attribute, which holds “100” as a value. Reference numeral 313 denotes a “maximum number of sheets for each login” attribute, which holds “20” as a value.
[0122]
FIG. 6 is a flowchart showing a processing procedure when the user management mode of the peripheral device 1 is displayed / changed from the PC (1) 2, the PC (2) 3, and the PC (3) 4. This processing program runs on the PC (1) 2, PC (2) 3, and PC (3) 4. First, the attribute information 301 of the peripheral device 1 is acquired (step S1701). The attribute information is acquired by transmitting an attribute acquisition command from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1, and processing the command in the peripheral device 1. Is done. The obtained attribute information is displayed on the CRT 33 (step S1702). Furthermore, the attribute information “current user management mode” attribute 302 is acquired (step S1703) and displayed on the CRT 33 (step S1704).
[0123]
Waiting for user input (step S1705), the "current user management mode" attribute 302, which is attribute information, is set according to the input from the user (step S1706), and the process ends. The attribute information is set by transmitting an attribute setting command from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1, and processing the command in the peripheral device 1. Is done.
[0124]
FIG. 7 is a view showing a user interface screen displayed on the CRT 33 while waiting for user input in step S1705. In the figure, reference numeral 101 denotes a list of user management modes (attributes 301) that can be selected by the user. The currently set user management mode attribute 302 is highlighted in the figure. The user selects and highlights a desired user management mode, and presses an OK button 103 to execute the processing in step S1706 and set the user management mode.
[0125]
6 is performed by the controller 11 of the peripheral device 1 itself whose target is to change the user management mode instead of the PC, and the display shown in FIG. 7 is also a user interface provided in the peripheral device. 16 may be performed. Further, it may be executed and displayed on another peripheral device 2 (5).
[0126]
FIG. 8 is a flowchart showing an operation processing procedure when the directory server corresponding to the peripheral device 1 is displayed / changed from the PC (1) 2, the PC (2) 3, and the PC (3) 4. This processing procedure is performed on PC (1) 2, PC (2) 3, and PC (3) 4.
[0127]
First, attribute information 303 is acquired (step S1801). The attribute information is acquired by transmitting an attribute acquisition command from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1, and in the peripheral device 1 according to a processing procedure described later. This is done by processing this command. The obtained attribute information is displayed on the CRT 33 (step S1802).
[0128]
Further, the attribute information 304 is acquired (step S1803), and the obtained attribute information 304 is displayed on the CRT 33 (step S1804). The attribute information 305 is acquired (step S1805), and the obtained attribute information 305 is displayed on the CRT 33 (step S1806).
[0129]
Waiting for user input (step S1807), the attribute information 304, 305 is set according to the input from the user (step S1808). This attribute information is set by transmitting an attribute setting command from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1, and in the peripheral device 1 according to the processing procedure described later. This is done by processing this command.
[0130]
FIG. 9 is a diagram showing a user interface screen displayed on the CRT 33 while waiting for user input in step S1807. In the figure, reference numeral 201 denotes a list of directory server types (attributes 303) that can be selected by the user. The currently set directory server type (attribute 304) is highlighted in 202 in the figure. Further, the address section 203 displays the IP address 305 of the currently set directory server. The user selects and highlights the type of the desired directory server, inputs the desired IP address to the address section 203, and presses the OK button 204, thereby executing the process of step S1808, and the corresponding directory. Set up the server.
[0131]
Note that the processing shown in FIG. 8 is performed by the controller 11 of the peripheral device 1 that is the target for changing the corresponding directory server instead of the PC, and the display shown in FIG. 9 is also a user interface provided in the peripheral device. 16 may be performed. Further, it may be executed and displayed on another peripheral device 2 (5).
[0132]
FIG. 10 shows processing when displaying / changing from PC (1) 2, PC (2) 3, and PC (3) 4 how to permit login when the peripheral device 1 cannot connect to the directory server 6. It is a flowchart which shows a procedure. This processing procedure is performed on PC (1) 2, PC (2) 3, and PC (3) 4.
[0133]
First, the attribute information “list of restriction types to be used when the directory server cannot be connected” attribute 308 is acquired (step S2201). The acquisition of attribute information is performed by transmitting an attribute acquisition command from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1, and in the peripheral device 1 according to the processing procedure described later. This is done by processing the command. The obtained attribute information is displayed on the CRT 33 (step S2202).
[0134]
The attribute information “type of restriction when used when current directory server cannot be connected” attribute 309 is acquired (step S2203), and the obtained attribute information is displayed on the CRT 33 (step S2204). Further, an attribute information “whether use is permitted when the directory server cannot be connected” attribute 307 is acquired (step S2205). The obtained attribute information is displayed on the CRT 33 (step S2206).
[0135]
Then, it waits for the user's input (step S2207), sets the attribute information 309 and 307 according to the input from the user (step S2208), and ends the process. The attribute information is set by transmitting an attribute setting command from the PC (1) 2, PC (2) 3, PC (3) 4 to the peripheral device 1, and in the peripheral device 1 according to the processing procedure described later. This is done by processing the command.
[0136]
FIG. 11 is a diagram showing a user interface screen displayed on the CRT 33 while waiting for user input in step S2207. In the figure, reference numeral 2102 denotes the contents of the “restriction type list used when the directory server cannot be connected” attribute 308, and the “restriction type when used when the current directory server cannot be connected” attribute 309. The value of is highlighted in the figure by 2103. Further, the value of the “whether use is permitted when Directory Server connection is disabled” attribute 307 is displayed in the check box 2101. The user performs desired settings and then presses an OK button 2104 to execute the processing in step S2208 and set attribute information.
[0137]
Note that the processing shown in FIG. 10 is performed by the controller 11 of the peripheral device 1 itself whose setting is to be changed instead of the PC, and the display shown in FIG. 11 is also performed by the user interface 16 provided in the peripheral device. You may be made to be. Further, it may be executed and displayed on another peripheral device 2 (5).
[0138]
12 and 13 are flowcharts showing a processing procedure for issuing a print job, a scanner job, a fax transmission job, or a copy job from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1. It is. This process is performed on PC (1) 2, PC (2) 3, and PC (3) 4.
[0139]
First, the “current user management mode” attribute 302, which is attribute information held by the peripheral device 1, is acquired (step S401). It is determined whether or not the value of the attribute information 302 is “no user management” (step S402). If the result of determination is “no user management”, other information necessary for the job is set in the job, and the job is issued to the peripheral device 1 (step S403). Thereafter, the process is terminated.
[0140]
On the other hand, if “user management is present” in step S402, it is determined whether or not the value of the attribute information 302 is “password” (step S404). As a result of the determination, if it is a password, a user interface screen prompting the password input is displayed on the CRT 33 (step S405). In step S403, the input password and other information necessary for the job are set in the job, and the job is issued to the peripheral device 1.
[0141]
On the other hand, if the result of determination in step S404 is not a password, it is determined whether or not the value of the attribute information 302 is “user ID” (step S406). If the user ID is determined as a result of the determination, a user interface screen prompting the CRT 33 to input the user ID is displayed (step S407). In step S403, the user ID and other information necessary for the job are set in the job, and the job is issued to the peripheral device 1.
[0142]
On the other hand, if the result of determination in step S406 is not a user ID, it is determined whether or not the value of the attribute information 302 is “user ID and password” (step S408). If the user ID and password are determined, the user interface screen prompting the user ID and password to be input is displayed on the CRT 33 (step S409). In step S403, the user ID, password, and other information necessary for the job are set in the job, and the job is issued to the peripheral device 1.
[0143]
On the other hand, if the result of determination in step S408 is not a user ID and password, it is determined whether or not the user has already logged in to the security domain managed by the directory server 6 in the PC being used (step S410). This determination is made by making an inquiry to the operating system of the PC being used. If the result of determination is that the user has not logged in, a user interface screen prompting the user ID and password to be entered is displayed on the CRT 33 (step S411), and this information is sent to the directory server 6 using the Kerberos protocol. Ticket generation ticket) information is acquired (step S413).
[0144]
On the other hand, if the result of determination in step S410 is that the user has already logged in, the user is already logged in, so the operating system is requested and acquired the TGT used in the current session (step S412).
[0145]
Using the TGT acquired in step S412 or S413, the directory name of the user name held by the operating system or the printable number information of the user corresponding to the user name input in step S411 is obtained by the Kerberos protocol and the LDAP protocol. (Step S414).
[0146]
Thereafter, it is determined whether or not the number of printable sheets is one or more (step S415). If the result of determination is that one or more sheets cannot be printed, a user interface screen indicating that the job cannot be issued is displayed on the CRT 33. (Step S416), the process ends.
[0147]
On the other hand, if the result of determination in step S415 is that the number of printable sheets is one or more and printing is possible, the parameter of the identifier for identifying the TGT and the peripheral device 1 to which the job is issued obtained in step S412 or S413 is sent Then, an access ticket for the peripheral device 1 is obtained by the Keberos protocol (step S417). The access ticket acquired here is obtained by encrypting information on the user name, the user ID, the number of printable sheets of the user, and the expiration date of the access ticket by the attribute information 306 of the secret encryption key of the peripheral device 1. The data format inside the access ticket and the encryption method (algorithm) used are uniquely determined in advance by the type of directory server (attribute information 304) currently supported.
[0148]
Then, the access ticket acquired in step S417 and other information necessary for the job are set in the job, the job is issued to the peripheral device 1 (step S418), and the process is terminated.
[0149]
FIG. 14 is a flowchart showing the job issuance processing procedure in step S403. First, parameters of an attribute setting command are set for attributes required for the job (step S502). This parameter consists of an attribute name to be set and a value corresponding thereto. The attribute setting command created in step S502 is transmitted to the peripheral device 1 (step S503). It is determined whether or not necessary job attribute settings have been completed (step S504), and if not completed, the processing in step S502 is repeated.
[0150]
On the other hand, when the necessary job attribute setting is completed in step S504, data to be subjected to job processing, such as image data created by an application or the like by a job data transmission command, is transmitted to this peripheral device (step S505). A job submission completion notification command indicating completion of transmission of the job submission command is transmitted (step 506), and the process is terminated.
[0151]
15 and 16 are flowcharts showing a job input command reception process procedure when the peripheral device 1 receives a job issued by the process of FIG. This processing is executed by the peripheral device 1 every time a command constituting the job is received.
[0152]
The received command and its parameters are analyzed (step 601). As a result of this analysis, it is determined whether or not the received command is an attribute setting command (step 602). If the received command is an attribute setting command, it is determined whether or not the attribute can be interpreted by the peripheral device 1 (step S603).
[0153]
If it can be interpreted, the specified attribute name / attribute value pair is stored as job data in the RAM 22 or DISK 30 according to the analysis result obtained in step S601 (step S604), and the process is terminated. On the other hand, if it cannot be interpreted in step S603, the attribute specified by the received attribute setting command cannot be set, and it is returned that the attribute could not be set (step S616), and the process ends.
[0154]
On the other hand, if it is determined in step S602 that the received command is not an attribute setting command, it is determined from the analysis result obtained in step S601 whether the received command is a job data transmission command (step S611). If it is a job data transmission command, the job data received following the command is stored in the RAM 22 or DISK 30 (step 612), and the process is terminated.
[0155]
On the other hand, if it is not a job data transmission command in step S611, it is determined from the analysis result obtained in step S601 whether or not the received command is a job submission end notification command (step S613). If it is a job submission end notification command, processing of the job data held in the RAM 22 or DISK 30 is started (step S614). On the other hand, if it is not a job submission end notification command, the received command is another command, processing dependent on the other command is performed (step 615), and the processing is terminated.
[0156]
FIG. 17 is a diagram illustrating a data structure of a job held in the peripheral device 1 by the processing of FIGS. 15 and 16. This job includes an attribute list 701 representing job functions and attributes and job data 702 representing data to be processed by the job. The job data 702 may not be required depending on the job type. The attribute list 701 is a list of pairs of attribute names 711 and attribute values 712 corresponding thereto.
[0157]
In the figure, 721 indicates that the job is a print job. Reference numeral 722 denotes that the job start mode is on-hold. Reference numeral 723 denotes that the user management mode is “join security domain”, and indicates that the access ticket 726 is used as user information of the job. Reference numeral 724 denotes an attribute in which the user ID is set when the user management mode is “user ID” or “user ID and password”. Reference numeral 725 denotes an attribute in which a password is set when the user management mode is “password” or “user ID and password”. Reference numeral 726 denotes an attribute for setting an access ticket when the user management mode is “join security domain”. Note that only the necessary attributes 724, 725, and 726 may be set in the job data in accordance with the contents of the attribute 723.
[0158]
18 and 19 are flowcharts showing the processing procedure of the job data held in the peripheral device 1 shown in FIG. This process is performed on the peripheral device 1. First, attribute information (current user management mode) 302 is acquired (step S801). It is determined whether or not the value of the attribute information 302 is “no user management” (step S802).
[0159]
If the result of determination is “no user management”, attributes other than the attributes 723, 724, 725, and 726 are processed (step S803), and job data processing is performed based on these attributes (step S810). The processing result of the job is recorded in the log (step S811), and the processing is terminated. This log is stored in the RAM 22 or the DISK 30.
[0160]
On the other hand, if the result of determination in step S802 is that there is user management, it is determined whether or not the value of the attribute information 302 is “password” (step S804). If it is determined that the password is a password, the password value stored in the RAM 22 or the DISK 30 in advance is compared with the attribute information 725 (step S805). If they match, the job processing is continued in step S803. On the other hand, if they do not match, the job processing is stopped.
[0161]
On the other hand, if the result of determination in step S804 is not a password, it is determined whether or not the value of the attribute information 302 is “user ID” (step S806). If the user ID is determined as a result of the determination, the user ID value stored in the RAM 22 or DISK 30 in advance is compared with the attribute information 724 (step S807). If they match, the job processing is continued in step S803. To do. On the other hand, if they do not match, the job processing is stopped.
[0162]
If the result of determination in step S806 is not a user ID, it is determined whether or not the value of the attribute information 302 is “user ID and password” (step S808). If the result of determination is “user ID and password”, the user ID value and password value stored in advance in the RAM 22 or DISK 30 are compared with the attribute information 724 and 725 (step S809). If so, the job processing is continued in step S803. If it does not match, the job processing is stopped.
[0163]
On the other hand, if the determination result in step S808 is not “user ID and password”, the access ticket value 726 is decrypted using the secret encryption key that is the attribute information 306 (step S812). Then, it is determined whether or not the access ticket is valid (step S813). If the value of the access ticket cannot be decoded, or if the printable number of sheets held in the access ticket is 0, it is determined in step S813 that the access ticket is invalid, and the job data is discarded (step S814). ), The process is terminated.
[0164]
On the other hand, if it is determined in step S813 that the access ticket is valid, the printable number information of the user corresponding to the user ID in the access ticket is acquired from the directory server 6 by the Kerberos protocol and the LDAP protocol (step S815). .
[0165]
It is determined whether the number of printable sheets is 1 or more (step S816). If printing is impossible, the job data is discarded (step S817), and the process ends. On the other hand, if the result of determination in step S816 is that printing is possible, attributes other than the attribute values 723, 724, 725, and 726 are processed (step S818), and job data is processed based on these attributes (step S819). ). In this process, monitoring is performed so as not to exceed the printable number of sheets obtained from step S815. If the maximum number of printable sheets is exceeded, the job data processing is abnormally terminated. In both cases where the job ends normally and abnormally, the processing result of the job is recorded in a log (step S820), and the processing is ended. In the log, the user ID and the number of sheets printed by the job are recorded and stored in the RAM 22 or the DISK 30.
[0166]
In the present embodiment, after the job data is once built in the peripheral device 1 in the processes of FIGS. 15 and 16, the job data is processed again in the processes of FIGS. As another embodiment, the processes shown in FIGS. 15, 16, 18, and 19 may be combined to perform job processing simultaneously with job analysis.
[0167]
In this embodiment, the number of printable sheets in the access ticket is determined in step S813, and the number of printable sheets for the user held in the directory server 6 is determined in steps S815 and S816. As an embodiment, either the determination of the number of printable sheets in the access ticket in step S813 or the determination of the number of printable sheets of the user held in the directory server 6 in steps S815 and S816 may be omitted.
[0168]
In this embodiment, the job result record is stored as a log in the peripheral device 1 in step S820. The user's printable number and accumulated number of prints are stored in the directory server 6. It may be updated according to the number of printed pages. The update of the printable sheet number is obtained by acquiring the user printable sheet number and the accumulated print sheet number indicated by the user ID held in the directory server 6 by the LDAP protocol, and subtracting the number of sheets printed by the job from the printable sheet number, and This is done by adding the number of sheets printed in the job to the cumulative number of prints and setting these obtained values in the directory server 6 using the LDAP protocol.
[0169]
20 and 21 are flowcharts showing the processing procedure of the login screen displayed on the LCD 23 of the peripheral device 1. This process is performed on the peripheral device 1. First, attribute information (current user management mode) 302 is acquired (step S901). It is determined whether or not the value of the attribute information 302 is “no user management” (step S902).
[0170]
If the result of determination is that there is no user management, the login information is stored in the RAM 22 (step S903). The login information includes a user management mode, a user ID, and a printable number at the time of login. The printable number of sheets is sequentially updated according to the number of prints used in a job involving printing such as a print job and a copy job issued from the console within the login period, and the job ends when the number of printable sheets reaches a value of zero. In step S903, the number of printable sheets is set to infinity. The user ID in the login information is recorded in a log together with the number of printed pages used in the job. After the process of step S903, the print pending job is processed (step S924), and the process is terminated.
[0171]
On the other hand, if the result of determination in step S902 is that there is user management, it is determined whether or not the value of the attribute information 302 is “password” (step S904). If it is determined that there is a password, a user interface screen for prompting the password input is displayed on the LCD 23, and the input password is compared with the password value previously stored in the RAM 22 or DISK 30 (step S905). If so, the login process is continued in step S903. If they do not match, the process is canceled as login is impossible.
[0172]
On the other hand, if the result of determination in step S904 is that there is no password, it is determined whether or not the value of the attribute information 302 is “user ID” (step S906). If it is a user ID, a user interface screen prompting the user ID to be input is displayed on the LCD 23, and the input user ID is compared with the user ID value stored in the RAM 22 or DISK 30 in advance (step S907). If so, the login process is continued in step S903. If they do not match, the process is canceled as login is impossible.
[0173]
On the other hand, if the determination result in step S906 is not a user ID, it is determined whether or not the value of the attribute information 302 is “user ID and password” (step S908). If the user ID and password are determined as a result of the determination, a user interface screen that prompts the user ID and password to be input is displayed on the LCD 23, and the user ID value and password stored in advance in the RAM 22 or DISK 30 are displayed. The value is compared (step S909). If the values match, the login process is continued in step S903. If they do not match, the process is canceled as login is impossible.
[0174]
If the result of determination in step S908 is not a user ID and password, an attempt is made to access the directory server indicated by the attribute information 305 to determine whether connection is possible (step S910).
[0175]
If access is possible, a user interface screen that prompts the user name and password to be input is displayed on the LCD 23 (step S912), and an access ticket is acquired from the directory server 6 by the Kerberos protocol using the input user name and password (step S912). Step S914).
[0176]
On the other hand, when an error that the user name or password is invalid is returned from the directory server 6 such as when the user name and password are incorrect, in step S912, the user interface prompting the user name and password to be input again. Display the screen.
[0177]
Then, the access ticket acquired from the directory server is decrypted using the secret encryption key 306 (step S915). The validity of the access ticket is determined (step S916). This determination is made by checking whether or not the ticket is within the expiration date and whether or not the number of printable sheets is one or more. If the access ticket is not valid as a result of the determination in step S916, a user interface screen indicating that the device cannot be used with this user name is displayed on the LCD 23 (step S917), and the process ends.
[0178]
On the other hand, if it is determined in step S916 that the access ticket is valid, the login information is stored and the user information cache is updated (step S925). Of the login information, the number of printable sheets is set to the number held in the access ticket.
[0179]
FIG. 22 shows the data structure of the user information cache. This user information cache is held in the RAM 22 or the DISK 30. The user information cache is updated by adding the user name and password used when acquiring the access ticket, the user ID and printable number in the access ticket, and the login date and time as data. If the same user name already exists in the user information cache, the existing information is updated. Then, after the process of step S925, the print pending job is processed (step S922), and the process ends.
[0180]
On the other hand, if the directory server 6 is inaccessible in step S910, attribute information (whether use is permitted when the directory server cannot be connected) 307 is acquired to determine whether the server can be used even if the server cannot be connected (step S910). S911). If the use is not permitted, a user interface screen indicating that the user cannot log in now is displayed on the LCD 23 (step S920), and the process ends.
[0181]
On the other hand, if the use is not permitted in step S911, a user interface screen for prompting the user name and password input is displayed on the LCD 23 (step S918), and the input user name and password pair is stored in the RAM 22 or DISK 30. It is determined whether or not it exists in the user information cache (step S919). If the result of this determination is that the device does not exist in the user information cache, a user interface screen indicating that the device cannot be used with this user name is displayed on the LCD 23 (step S921), and the process ends.
[0182]
On the other hand, if it is determined in step S919 that the combination of the user name and the password exists in the user information cache, the number of printable sheets is calculated by a process described later, and this value and the user ID are stored as login information ( Step S923). In addition, a value of “join security domain (cannot connect to directory server)” is set in the user management mode in the login information. After the process of step S923, the print pending job is processed (step S922), and the process ends.
[0183]
The login information stored in the login process is used for restricting and recording operations when issuing a job in the login session. In other words, when printing exceeds the number of printable sheets in the login information, the job is canceled. The number of prints printed in the job is subtracted from the printable number of login information.
[0184]
Furthermore, when the user management mode in the login information is “join security domain (cannot connect to directory server)”, the attribute information stored in the device “list of restriction types used when the directory server cannot be connected” ”308, the value is updated by subtracting the number of sheets printed in the job from the value of the maximum number of printed sheets 312 or the printable sheet number 1013 of the user information cache. The user ID in the login information is recorded in the log together with the number of printed pages in the job issued in the login session. Then, when the user logs off, the login information is discarded.
[0185]
Note that in this embodiment, even when connection to the directory server is possible, in step S925, the login information holds the number of printable sheets at the time of login, and the number of printable sheets only by a job issued from the console within the login period. If the directory server is connectable, it is possible to acquire the number of printable sheets held by the directory server immediately before the job is issued and to limit the number of printable sheets. . In this case, TGT is included in the login information held in step S925, whereby the printable number of users held in the directory server 6 immediately before the job is issued is acquired by the Kerberos protocol and the LDAP protocol.
[0186]
The data in the user information cache updated by the processing of FIGS. 20 and 21 is held in the RAM 22 or the DISK 30 as described above. The data is represented as a set of one record per line, and one record is composed of a user name 1010, a password 1011, a user ID 1012, a printable sheet number 1013, and a login date 1014.
[0187]
FIG. 23 is a flowchart showing the processing procedure of the print pending job in steps S924 and S922. This process is performed on the peripheral device 1. First, a list of jobs whose print execution is suspended in the peripheral device 1 is acquired (step S1101).
[0188]
The user ID in the login information held in FIG. 20 and FIG. 21 is compared with the user ID in which each job acquired in step S1101 is included as an attribute, and a list of jobs that match both is created (step S1102). . The user ID of the job to be compared here is acquired and used by decrypting the access ticket when the access ticket 726 exists in the job, and the user ID 724 included in the job is used otherwise.
[0189]
As a result of the process in step S1102, it is determined whether or not the list is empty (step S1103). If the result of determination is not empty, the process ends.
[0190]
On the other hand, if it is empty in step S1103, a list of jobs that match the user ID is displayed on the LCD 23 as a user interface screen (step S1104). FIG. 24 is a diagram showing a user interface screen displayed on the LCD 23 in step S1104. In the figure, reference numeral 1202 denotes a list of jobs created in step S1102. Reference numeral 1203 denotes an OK button for executing the job, and 1204 denotes a cancel button for closing the user interface screen without executing the job.
[0191]
Then, it is determined which of the OK button 1203 and the cancel button 1204 has been pressed (step S1105). If the cancel button has been pressed, the user interface screen is closed and the process ends. On the other hand, if the OK button is pressed, the job in the list generated in step S1102 is executed (step S1106), and the process ends.
[0192]
25 and 26 show a processing procedure when the peripheral device 1 receives an access command for acquiring or setting individual attribute information from the PC (1) 2, PC (2) 3, and PC (3) 4. It is a flowchart. First, the received command and its parameters are analyzed (step S1301).
[0193]
It is determined from the result of this analysis whether or not the received command is an attribute acquisition command (step S1302). If it is an attribute acquisition command, it is determined whether or not the attribute specified by the attribute acquisition command can be acquired (step S1303). If the attribute can be acquired, the value of the attribute held in the peripheral device is acquired (step S1304), the acquired attribute value is set in the parameter of the return command, and the return command for the attribute acquisition command is transmitted to the driver software. (Step S1305), the process ends.
[0194]
On the other hand, if the attribute cannot be acquired in step 1303, a process for notifying the driver software that the acquisition of the attribute has failed is performed (step S1317), and the process ends.
[0195]
On the other hand, if it is not an attribute acquisition command in step S1302, it is determined from the analysis result in step 1301 whether or not the received command is an attribute value change command (step S1311). If it is an attribute value change command, it is determined whether or not the attribute designated by the attribute value change command can be changed (step S1312).
[0196]
If the attribute value can be changed, the specified attribute is changed to the specified attribute value in accordance with the specified command parameter (step S1313), and processing for notifying the driver software of the successful change of the attribute value is performed ( Step S1314), the process is terminated. On the other hand, if it cannot be changed, a process for notifying the driver software that the change of the attribute value has failed is performed (step S1315), and the process ends. On the other hand, if the received command is not an attribute change command in step S1311, the received command is another command, processing dependent on the other command is performed (step S1316), and the processing is terminated.
[0197]
27 and 28 are flowcharts showing a processing procedure for issuing management commands such as device management and job management from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1. FIG. This process is executed on PC (1) 2, PC (2) 3, and PC (3) 4. First, the attribute information (current user management mode) 302 held by the peripheral device 1 is acquired (step S1401).
[0198]
It is determined whether or not the value of the attribute information 302 is “no user management” (step S1402). If it is determined that there is no user management, the management command shown in FIG. 29 is generated and transmitted to the peripheral device 1 (step S1403). FIG. 29 shows the data structure of the management command. In the figure, reference numeral 1501 denotes a user management mode, which indicates which information is valid among the user ID 1502, the password 1503, and the access ticket 1504. Reference numeral 1505 represents a command type. Furthermore, 1506 represents the length of the parameter 1507 required for the command.
[0199]
The peripheral device 1 processes the received management command according to the processing procedure shown in FIGS. 30 and 31, and transmits the result. The reply sent from the peripheral device 1 is processed (step S1417). This process differs depending on the process of the management command sent in step S1403. In particular, when the management command is “ListJobs” which is a command for acquiring a list of jobs held in the peripheral device, a reply is given. A list of included jobs is displayed on the CRT 33 as a user interface screen. Then, this process is complete | finished.
[0200]
On the other hand, if the result of determination in step S1402 is that there is user management, it is determined whether or not the value of the attribute information 302 is “password” (step S1404). If it is determined that there is a password, a user interface screen that prompts the CRT 33 to input the password is displayed (step S1405). Then, a management command in which the password input in step S1403 is set is generated and transmitted to the peripheral device 1.
[0201]
On the other hand, if the result of determination in step S1404 is that there is no password, it is determined whether or not the value of the attribute information 302 is “user ID” (step S1406). If the user ID is determined as a result of the determination, a user interface screen that prompts the CRT 33 to input the user ID is displayed (step S1407). Then, a management command in which the user ID input in step S1403 is set is generated and transmitted to the peripheral device 1. .
[0202]
On the other hand, if the result of the determination in step S1406 is not a user ID, it is determined whether or not the value of the attribute information 302 is “user ID and password” (step S1408). If the user ID and password are determined, the user interface screen prompting the user ID and password to be input is displayed on the CRT 33 (step S1409). In step S1403, a management command in which the input user ID and password are set is generated and transmitted to the peripheral device 1.
[0203]
On the other hand, if it is determined in step S1408 that the user ID is not the password, it is determined whether the user has already logged in to the security domain managed by the directory server 6 in the PC being used (step S1410). This determination is made by making an inquiry to the operating system of the PC being used.
[0204]
If the result of determination is that the user has not logged in, a user interface screen prompting the user ID and password to be input is displayed on the CRT 33 (step S1411), and this information is sent to the directory server 6 using the Kerberos protocol. Generated ticket) information is acquired (step S1413).
[0205]
On the other hand, if the result of determination in step S1410 is that the user has logged in, the user has already logged in, and requests and acquires the TGT used in the current session from the operating system (step S1412).
[0206]
The TGT acquired in step S1412 or S1413 and the identifier (parameter) specifying the job issuing destination peripheral device 1 are transmitted to the directory server 6 by the Keberos protocol, and an access ticket for the peripheral device 1 is acquired (step S1414). The acquired access ticket is obtained by encrypting the user name, the user ID, the number of printable sheets of the user, and the access ticket expiration date by the secret encryption key 306 of the peripheral device 1. The data format inside the access ticket and the encryption method (algorithm) used are uniquely determined in advance by the type of directory server 304 currently supported.
[0207]
A management command in which the access ticket acquired in step S1414 is set is generated and transmitted to the peripheral device 1 (step S1415). Thereafter, the same reply process as in step S1417 is performed (step S1416). Thereafter, the process is terminated.
[0208]
FIGS. 30 and 31 are flowcharts showing a procedure for the peripheral device 1 to process the management command generated by the processing of FIGS. 27 and 28 and transmitted to the peripheral device 1. This process is executed on the peripheral device 1.
[0209]
First, attribute information (current user management mode) 302 is acquired (step S1601). It is determined whether or not the value of the attribute information 302 is “no user management” (step S1602). If the result of determination is that there is no user management, the value 0 is set to the user ID 1502 in the management command (step S1603), and processing according to the command type after step S1613 is performed.
[0210]
On the other hand, if the result of determination in step S1602 is that there is user management, it is determined whether or not the value of the attribute information 302 is “password” (step S1604). If it is determined that the password is a password, the password value previously stored in the RAM 22 or DISK 30 is compared with the password 1503. If they match, the value 0 is set in the user ID 1502 in the management command (step S1605). ). Thereafter, processing according to the type of command after step S1613 is performed. If they do not match, an error is returned and the management command processing is stopped.
[0211]
On the other hand, if the result of determination in step S1604 is not a password, it is determined whether or not the value of the attribute information 302 is “user ID” (step S1606). If the user ID is determined as a result of the determination, the user ID value previously stored in the RAM 22 or DISK 30 is compared with the user ID 1502 (step S1607). If they match, the process according to the command type after step S1613 is performed. If they do not match, an error is returned and the management command processing is stopped.
[0212]
On the other hand, if the result of determination in step S1606 is not a user ID, it is determined whether or not the value of the attribute information 302 is “user ID and password” (step S1608). If the user ID and password are determined as a result of the determination, the user ID value and password value previously stored in the RAM 22 or DISK 30 are compared with the user ID 1502 and password 1503 (step S1607), and both match. If YES in step S1613, processing in accordance with the command type in step S1613 and subsequent steps is performed. If they do not match, an error is returned and the management command processing is stopped.
[0213]
On the other hand, if it is not the user ID and password in step S1608, the value of the access ticket 1504 is decrypted using the secret encryption key 306 (step S1610). As a result of the decryption, the validity and expiration date of the access ticket are determined (step S1611). If the access ticket is valid as a result of the determination, the user ID in the access ticket is set to the user ID 1502 in the management command. Processing according to the command type after S1613 is performed. On the other hand, if the access ticket is not valid as a result of the determination in step S1611, an error is returned (step S1612), and the management command processing is terminated.
[0214]
In the processing after step S1613, it is first determined whether or not the command type 1505 is “ListJobs” (acquisition of a job list) (step S1613). If it is determined that the command type 1505 is “ListJobs”, a list of jobs held in the peripheral device 1 is acquired (step S1614). At this time, if the “current user management mode” 302 is “join security domain”, the access ticket 726 of each job is decrypted with the secret encryption key 306, and the obtained user ID is set in the user ID 724 of the job. deep.
[0215]
Then, the user ID 724 of the job acquired in step S1614 is compared with the user ID 1502 included in the management command, and the job name of the job that does not match is converted to blank (step S1615). On the other hand, the job name of a job that matches both is not converted to blank. The job list obtained in step S1615 is returned (step S1616), and the process ends.
[0216]
On the other hand, as a result of the determination in step S1613, it is determined whether or not the command type 1505 is “CancelJob” (cancel the specified job) (step S1617). If it is determined that the command type 1505 is not “CancelJob”, the device management command is processed (step S1619), and the process is terminated. In the device management command processing in step S1619, processing of a plurality of device management commands may be performed depending on the command type 1505.
[0217]
As a result of the determination in step S1617, information on the designated job is acquired (step S1618). At this time, when the “current user management mode” 302 is “join security domain”, the access ticket 726 of the job is decrypted with the secret encryption key 306, and the obtained user ID is set in the user ID 724 of the job. deep.
[0218]
Then, the job user ID 724 is compared with the user ID 1502 included in the management command (step S1620). If they do not match, a management command execution failure is returned (step S1623), and the process is terminated. On the other hand, if the two match in step S1620, the designated job is canceled (step S1621), the management command execution success is returned (step S1622), and the process ends.
[0219]
It should be noted that by changing the processing in step S1621, job management other than the job case to which the job access control function is added (for example, job suspension, resumption, interruption, priority improvement, priority reduction, etc.) Can also be performed.
[0220]
FIG. 32 is a flowchart showing a processing procedure for collecting the logs of the peripheral device 1 and the peripheral device 5 and updating the printable number of sheets and the cumulative number of printed sheets for each user of the directory server 6. This process is executed by the directory server 6. First, a log is acquired from the target peripheral device (step S1901).
[0221]
The number of printed pages is added for each user ID from the log information (step S1902). The number of printable sheets and the cumulative number of prints for each user are obtained from the directory server 6 by the LDAP protocol, the obtained number of sheets is subtracted from the number of printable sheets, and further added to the cumulative number of prints. Is set in the directory server 6 (step S1903). Thereby, the printable number of sheets and the cumulative number of printed sheets for each user of the directory server 6 are updated.
[0222]
Thus, by performing the processing of FIG. 32 for the peripheral device 1 and the peripheral device 5, the directory server 6 centrally manages the printable number of sheets and the cumulative number of prints for the two peripheral devices.
[0223]
Note that as another embodiment, when updating the data in the directory server 6 by connecting to the directory server 6 at the end of each job without saving the number of prints used in the job in the log, the processing of FIG. 32 is performed. There is no need to execute.
[0224]
FIG. 33 and FIG. 34 are flowcharts showing a calculation processing procedure for calculating the number of printable sheets when connection to the directory server is impossible in step S923 of FIG. 20 and FIG. This process is executed on the peripheral device 1. First, a restriction type 309 for the current printable number is acquired (step S2001).
[0225]
It is determined whether or not the restriction type 309 is “unlimited” (step S2002). If the result of determination is that there is no limit, the number of printable sheets is set to unlimited (step S2003), and the process ends. On the other hand, if the result of the determination in step S2002 is not unlimited, whether or not the restriction type 309 is “time limit”, “time limit & limit at fixed maximum number of sheets” or “time limit & limit at maximum number of sheets”. Is discriminated (step S2004). As a result of the determination, in either case, the user's last login date / time 1014 in the user information cache is acquired (step S2005), and the time difference between this date / time and the current date / time is specified by the time limit length 310. It is determined whether or not the following is true (step S2006).
[0226]
If the value is equal to or less than the specified value, the printable sheet number is set to 0 (step S2007), and the process ends. On the other hand, as a result of the determination in step S2004, when it is not any of “time limit”, “time limit & limit by fixed maximum number of sheets” or “time limit & limit by maximum number of sheets” or within the time limit of step S2006 Then, it is determined whether the restriction type 309 is “restrict with fixed maximum number of sheets” or “limit with time limit & fixed maximum number of sheets” (step S2008).
[0227]
In the case of “restrict with fixed maximum number of sheets” or “limit with time limit & fixed maximum number of sheets”, the value of the maximum number of sheets 312 is set as the printable number (step S2010), and the process ends. On the other hand, if the determination result in step S2008 is neither “restricted by fixed maximum number of sheets” or “restricted by time limit & fixed maximum number of sheets”, the restriction type 309 is “restricted by maximum number of sheets” or “restricted by maximum number of sheets” It is determined whether or not it is “restricted by” (step S2009). In the case of either “limit by maximum number of sheets” or “limit by time limit & maximum number of sheets”, the number of sheets is calculated by the following equation (1), set as the printable number (step S2011), and the process ends.
[0228]
Number of printable sheets = Number of printable sheets in the user information cache 1013-Reduction ratio of the maximum number of sheets per day x time since last login (days) (1)
Here, the time (number of days) since the last login is the time obtained by subtracting the current date and time from the login date and time 1014 of the user information cache and dividing the value by 24 to round off the decimal part.
[0229]
On the other hand, if the result of determination in step S2009 is neither “limit by maximum number of sheets” nor “time limit & limit by maximum number of sheets”, the maximum number of sheets 313 for each login is set as the printable sheet number (step S2012), and the process is performed. finish.
[0230]
In this embodiment, according to the processing procedures shown in the flowcharts of FIGS. 6, 8, and 10, “supported user management mode list”, “corresponding directory server type list”, and “Directory Server”, respectively. PC (1) 2, PC (2) 3, PC (3) 4 directly obtains the list of restriction types for use when connection is not possible from peripheral device 1, but as another embodiment, Acquire “list of supported user management modes”, “list of compatible directory server types”, and “list of restriction types to use when directory server connection is not possible” from the peripheral device 1, and then once the directory It is stored as device information in the server 6, and PC (1) 2, PC (2) 3, PC (3 4 may be acquired from the directory server 6.
[0231]
[Second Embodiment]
In the first embodiment, the access ticket is included in the management command in FIG. 29, but the data size of the access ticket is generally larger than other data sizes of the management command. As a result, there may be a problem in performance. A peripheral device control system for solving this problem will be described below as a second embodiment.
[0232]
FIG. 35 is a diagram illustrating a data structure of a management command generated by a management command generation process described later and transmitted to the peripheral device 1. In the figure, reference numeral 2301 denotes a user management mode, which indicates which information is valid among the user ID 2302, password 2303, and session key 2304.
[0233]
The session key 2304 is issued by the peripheral device 1 and is associated with the access ticket one-to-one by the access ticket cache in the peripheral device 1. In the figure, reference numeral 2305 denotes a command type. Reference numeral 2306 denotes the length of the parameter 2307 necessary for the command.
[0234]
FIG. 36 is a diagram showing a data structure of an access ticket cache held in the RAM 22 of the peripheral device 1 by processing of an access ticket setting command to be described later. The access ticket cache is composed of a plurality of records with a pair of a session key 2401 and an access ticket 2402 as one record. The access ticket held here is the one after decryption using the secret encryption key 306.
[0235]
FIG. 37 and FIG. 38 are flowcharts showing a procedure in which the peripheral device 1 processes a management command generated by a management command generation process described later and transmitted to the peripheral device 1. This process is executed on the peripheral device 1. In this processing procedure, the step processing up to step S1608 in FIG. 30 and FIG. 31 is the same, so the step processing is omitted, and if the determination processing in step S1608 is NO (false), that is, the user management mode Will be shown from when it is “join security domain”.
[0236]
First, it is determined whether or not the session key 2304 is 0 (step S2501). If it is determined in step S2501 that the session key 2304 has a value 0, it is determined whether or not the management command type 2305 is an “access ticket setting command” (step S2502). If it is not an “access ticket setting command”, an error is returned (step S2507), and the process is terminated.
[0237]
On the other hand, if the result of determination in step S2502 is “access ticket setting command”, the access ticket value included in the management command parameter 2307 is decrypted using the secret encryption key 306 (step S2519). As a result of the decryption, the validity and expiration date of the access ticket are determined (step S2520).
[0238]
If the access ticket is not valid, an error is returned (step S2521), and the management command processing is terminated. On the other hand, if the result of determination in step S2520 is that the access ticket is valid, the content of the decrypted access ticket is generated in a one-to-one correspondence with the access ticket, and stored in the access ticket cache together with the session key. (Step S2503). The generated session key is returned (step S2504), and the process ends.
[0239]
On the other hand, if the session key is other than 0 in step S2501, the session key is searched in the access ticket cache (step S2505), and it is determined whether or not the session key exists (step S2506). As a result of the determination, an error is returned (step S2507), and the process is terminated.
[0240]
On the other hand, if it is determined in step S2506 that a session key exists, the access ticket corresponding to the session key is acquired from the access ticket cache, and the user ID in the access ticket is set to the user ID 2302 in the management command (step S2522). ), Processing according to the type of command after step S2508 is performed.
[0241]
In the processing after step S2508, it is first determined whether or not the command type 2305 is “ListJobs” (acquisition of a job list) (step S2508). If it is determined that the command type 2305 is “ListJobs”, a list of jobs held in the peripheral device 1 is acquired (step S2509). At this time, if the “current user management mode” 302 is “join security domain”, the access ticket 726 of each job is decrypted with the secret encryption key 306, and the obtained user ID is set in the user ID 724 of the job. Keep it.
[0242]
The user ID 724 of the job acquired in step S2509 is compared with the user ID 2302 included in the management command, and the job name of the job that does not match is converted to blank (step S2510). The obtained job list is returned (step S2511), and the process ends.
[0243]
On the other hand, as a result of the determination in step S2508, it is determined whether or not the command type 1505 is “CancelJob” (cancel the specified job) (step S2512). If the command type 2305 is not “CancelJob”, the device management command is processed (step S2517), and the processing is terminated. In the device management command processing in step S2517, processing of a plurality of device management commands may be performed according to the command type 2305.
[0244]
On the other hand, if it is determined in step S2512 that the command type 1505 is “CancelJob”, information on the designated job is acquired (step S2513). At this time, when the “current user management mode” 302 is “join security domain”, the access ticket 726 of the job is decrypted with the secret encryption key 306, and the obtained user ID is set in the user ID 724 of the job. deep.
[0245]
The job user ID 724 is compared with the user ID 2302 included in the management command (step S2514). If they do not match, a management command execution failure is returned (step S2518), and the process ends.
[0246]
On the other hand, if the two match in step S2514, the designated job is canceled (step S2515), the management command execution success is returned (step S2516), and the process ends.
[0247]
It should be noted that by applying the management command processing procedure shown in FIGS. 37 and 38 to the job processing, the job is not included in the access ticket as shown in FIGS. 17, 18, and 19. It is also possible to include a session key.
[0248]
39 issues management commands such as device management and job management from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1 executing the processing of FIG. 37 and FIG. It is a flowchart which shows the process sequence to perform. This process is executed on PC (1) 2, PC (2) 3, and PC (3) 4. Further, since this processing procedure is the same up to steps S1412 and S1413 in FIG. 27 and FIG. 28, here, the TGT is shown after completion of acquisition of the TGT in step S1412 or S1413.
[0249]
That is, the TGT acquired in step S1412 or S1413 and the identifier (parameter) specifying the job issuing destination peripheral device 1 are transmitted to the directory server 6 by the Keberos protocol, and an access ticket for the peripheral device 1 is acquired (step S2601). ). The acquired access ticket is obtained by encrypting the user name, the user ID, the number of printable sheets of the user, and the access ticket expiration date by the secret encryption key 306 of the peripheral device 1. The data format inside the access ticket and the encryption method (algorithm) used are uniquely determined in advance by the type of directory server 304 currently supported.
[0250]
An access ticket setting command in which the access ticket acquired in step S2601 is set in the command parameter 2307 is generated and transmitted to the peripheral device 1 (step S2602). The management command transmitted here has a value 0 for the session key 2304 and an “access ticket setting command” for the command type 2305.
[0251]
It is determined whether or not the reply from the peripheral device 1 is an error (step S2603), and if it is an error, the process ends. On the other hand, if the result of determination in step S2603 is that there is no error, the session key acquired in step S2602 is set in the management command session key 2304, and is appropriate for the management command type 2305, command parameter length 2306, and command parameter 2307 of management command data. A proper value is set and transmitted to the peripheral device 1 (step S2604). The reply from the peripheral device 1 is processed (step S2605), and the process is terminated.
[0252]
Note that when the same user issues a job management command or device management command to the same peripheral device, the necessary access ticket is already held in the peripheral device, and the session key for that is already acquired, so step S2601 To S2603 can be omitted. Thereby, it is possible to perform job management and device management of peripheral devices with good performance.
[0253]
As described above, according to the above-described embodiment, it is possible to perform unified job management regarding access rights in a network environment. In addition, it is possible to perform unified job management regarding access rights in a network environment. Furthermore, only the user who issued the job can cancel the job.
[0254]
Also, only the user who issued the job can know all the information about the job, and other users can know only some information of the job. Furthermore, job information that is unified with respect to access rights can be performed with good performance in a network environment. Also, only the user who issued the job can cancel the job with good performance. Furthermore, only the user who issued the job can know all the job information with good performance, and other users can know only a part of the job information.
[0255]
In addition, it is possible to perform device management unified with respect to access rights in a network environment. Furthermore, in the network environment, it is possible to perform device management that is unified with respect to access rights with good performance. In addition, a job management command can be issued to the peripheral device. Furthermore, a job cancel command can be issued to the peripheral device. In addition, jobs can be displayed on peripheral devices. Furthermore, device management commands can be issued to peripheral devices.
[0256]
According to this embodiment, it is possible to acquire a list of directory server types that can be supported by peripheral devices from the outside via a network or the like. In addition, the type of directory server currently supported by the peripheral device can be acquired and set from the outside via a network or the like. Further, a list of types of directory servers that can be supported can be acquired and displayed on the user interface. In addition, a currently supported directory server can be acquired and displayed on the user interface, and settings can be changed.
[0257]
According to this embodiment, unified user information can be used by a plurality of peripheral devices. Further, in an environment where a plurality of peripheral devices are used, the cumulative number of prints and the maximum printable number can be centrally managed. Further, in an environment where a plurality of peripheral devices are used, it is possible to perform printing restriction for each user by the maximum number of printable sheets.
[0258]
In addition, the operation mode to be set when the connection to the directory server cannot be made can be made from the outside via a network or the like. Further, if the connection to the directory server is not possible, peripheral devices can be used. Also, if the directory server cannot be connected, the peripheral device can be used within a certain period of time since the last successful login. Further, if the connection to the directory server is not possible, the peripheral device can be used within a certain time after the last successful login within the range not exceeding the maximum number of prints stored in the device. In addition, if the directory server cannot be connected, the peripheral device can be used up to the maximum number of printable sheets at the time of the last successful login within a fixed time after the last successful login. Further, if the connection to the directory server is not possible, the peripheral device can be used as long as the maximum number of prints stored in the device is not exceeded.
[0259]
Further, if the connection to the directory server is not possible, the peripheral device can be used up to the maximum printable number at the time of the last successful login. Further, if the connection to the directory server is not possible, the peripheral device can be used within a range not exceeding the maximum printable number for each login. In addition, if the connection to the directory server is not possible, the use of peripheral devices can be prohibited for the user in order to perform accurate user management. Further, it is possible to use the peripheral device up to the maximum printable number of sheets taking into account the expected number of prints after connection to the directory server. In addition, jobs can be issued to peripheral devices.
[0260]
Next, the copying process operation of the peripheral device in the embodiment will be described. FIG. 40 is a flowchart showing a copy processing procedure in the peripheral device 1. This processing program is stored in the ROM 25 in the controller 11 and is executed by the CPU 21 when a copy start button provided on the keyboard 24 of the peripheral device 1 is pressed. The peripheral device 1 has a function of printing an image of a paper document placed on the scanner engine 27 by the printer 28 when the copy start button is pressed. The event that the copy start button is pressed is sent from the keyboard 24 to the CPU 21 and is interpreted as a copy job issue instruction.
[0261]
However, in the steps S920, S921, and S917 in FIG. 21, the copy start button is pressed when the currently logged-in user cannot be used or when the user is not logged in. The event is set not to be sent to the CPU 21, and the processing shown in the flowchart of FIG. 40 is not executed.
[0262]
When the CPU 21 receives an event from the copy start button, this process is started, and first, the login information stored in any one of steps S903, S923, and S925 in FIG. 20 is acquired (step S4001). It is determined whether or not the current user management mode is participation in a security domain (step S4002). As a result of the determination, if the user does not participate in the security domain, the image of the paper document placed on the scanner engine 27 is printed by the printer engine 28, and the printed number is logged together with the user name or user ID included in the login information. (Step S4003), and this process is terminated.
[0263]
On the other hand, if it is determined in step S4002 that the user is participating in the security domain, the number of printable pages stored in the login information is acquired (step S4004). Further, an image of a paper document placed on the scanner engine 27 is printed by the printer engine 28, and the number of printed sheets is recorded in a log together with the user name or user ID included in the login information (step S4005). The process ends. At this time, if the number of printable sheets acquired in step S4004 is exceeded, printing is forcibly terminated and a message to that effect is displayed on the LCD 23. Based on the result of the copy job, the log information on the directory server 6 of the user who executed the copy job is updated.
[0264]
That is, the number of printable sheets and the cumulative number of prints corresponding to the user who executed the copy job are acquired from the directory server 6 using the LDAP protocol, and the number of copies used in the copy job is subtracted from the number of printable sheets and added to the cumulative number of prints. These obtained results are set in the directory server 6 by the LDAP protocol. As a result, the printable number of sheets and the cumulative number of printed sheets for each user managed by the directory server 6 are updated.
[0265]
The above is the description of the embodiments of the present invention, but the present invention is not limited to the configurations of these embodiments, and has the functions shown in the claims or the configurations of the embodiments. Any configuration that can achieve the function is applicable.
[0266]
For example, in the login (user authentication) in the peripheral device 1 (or 2), information held in the IC card inserted by the user via the IC card reader connected to the system bus 20 of the peripheral device 1, or the system bus Biometric information such as a fingerprint, iris (iris), and voiceprint presented by the user may be used as user information via a biometric information reader such as a fingerprint reader, iris reader, and voiceprint reader connected to the user 20. Is possible.
[0267]
  In this case, in step S912 in FIG. 21, the user is prompted to present appropriate user information, and the user information obtained from each reader is sent to the directory server 6 in step S914 in FIG. If the user authentication is obtained as a result of the verification of the user information in the directory server 6, the peripheral device 1 acquires an access ticket for the corresponding user or a TGT that is session information.
Further, the peripheral device control software does not require the target peripheral device to have information on the type of the corresponding directory server, and can provide a general-purpose peripheral device control system.
Furthermore, unified management of user information can be performed in an environment where a plurality of devices connected to a network or the like are used, and the same user information can be used by a plurality of devices. Further, in an environment where a plurality of devices connected via a network or the like are used, centralized management of the cumulative number of prints and the maximum printable number for each user can be performed. Furthermore, if there is a network failure, peripheral devices can be temporarily used.
[0268]
It goes without saying that the present invention is also applicable to a case where a recording medium storing software program codes for realizing the functions of the above-described embodiments is achieved by supplying a program to a system or apparatus. In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program constitutes the present invention.
[0269]
In the above embodiment, the program code shown in each flowchart is stored in the storage medium. As a storage medium for supplying the program code, for example, a ROM, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a DVD, a magnetic tape, a nonvolatile memory card, and the like can be used.
[0270]
【The invention's effect】
According to the present invention, unified access control can be performed for job management in a network environment. In addition, it is possible to perform unified access control for job management in a network environment so that performance is not deteriorated.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a peripheral device control system according to a first embodiment.
FIG. 2 is a block diagram showing a configuration of peripheral devices (MFP1, MFP2).
3 is a block diagram showing a hardware configuration of a controller 11. FIG.
FIG. 4 is a block diagram showing a hardware configuration of a PC constituting the network system.
FIG. 5 is a diagram showing attribute information held in the peripheral device 1;
FIG. 6 is a flowchart showing a processing procedure when the user management mode of the peripheral device 1 is displayed / changed from PC (1) 2, PC (2) 3, and PC (3) 4.
FIG. 7 is a diagram showing a user interface screen displayed on the CRT 33 while waiting for user input in step S1705.
FIG. 8 is a flowchart showing an operation processing procedure when a directory server corresponding to the peripheral device 1 is displayed / changed from the PC (1) 2, the PC (2) 3, and the PC (3) 4.
FIG. 9 is a diagram showing a user interface screen displayed on the CRT 33 while waiting for user input in step S1807.
FIG. 10 shows how to display / change how to allow login when the peripheral device 1 cannot connect to the directory server 6 from the PC (1) 2, PC (2) 3, and PC (3) 4. It is a flowchart which shows a process sequence.
FIG. 11 is a diagram showing a user interface screen displayed on the CRT 33 while waiting for user input in step S2207.
12 is a flowchart showing a processing procedure for issuing a print job, a scanner job, a fax transmission job, or a copy job from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1. FIG. .
13 is a processing procedure for issuing a print job, a scanner job, a fax transmission job, or a copy job from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1 following FIG. It is a flowchart which shows.
FIG. 14 is a flowchart illustrating a job issuance processing procedure in step S403.
15 is a flowchart showing a job submission command reception process procedure when the peripheral device 1 receives a job issued by the process of FIG.
16 is a flowchart illustrating a job input command reception processing procedure when the peripheral device 1 receives the job issued by the processing of FIG. 14 following FIG. 15;
17 is a diagram illustrating a data structure of a job held in the peripheral device 1 by the processing of FIG.
18 is a flowchart showing a processing procedure of job data held in the peripheral device 1 shown in FIG.
FIG. 19 is a flowchart illustrating a processing procedure for job data held in the peripheral device 1 illustrated in FIG. 17 following FIG. 18;
FIG. 20 is a flowchart showing a processing procedure for a login screen displayed on the LCD 23 of the peripheral device 1;
FIG. 21 is a flowchart illustrating a processing procedure of a login screen displayed on the LCD 23 of the peripheral device 1 following FIG. 20;
FIG. 22 is a diagram showing a data structure of a user information cache.
FIG. 23 is a flowchart illustrating a processing procedure for a print pending job in steps S924 and S922.
FIG. 24 is a diagram showing a user interface screen displayed on the LCD in step S1104.
FIG. 25 is a flowchart showing a processing procedure when the peripheral device 1 receives an access command for acquiring or setting individual attribute information from the PC (1) 2, PC (2) 3, and PC (3) 4. is there.
FIG. 26 is a flowchart illustrating processing performed when the peripheral device 1 receives an access command for acquiring or setting individual attribute information from the PC (1) 2, PC (2) 3, and PC (3) 4 following FIG. It is a flowchart which shows a procedure.
27 is a flowchart showing a processing procedure for issuing management commands such as device management and job management from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1. FIG.
FIG. 28 is a flowchart illustrating a processing procedure for issuing management commands such as device management and job management from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1 following FIG. It is.
FIG. 29 is a diagram illustrating a data structure of a management command.
30 is a flowchart illustrating a procedure in which the peripheral device 1 processes a management command generated by the process of FIG. 22 and transmitted to the peripheral device 1. FIG.
FIG. 31 is a flowchart illustrating a procedure in which the peripheral device 1 processes the management command generated by the process of FIG. 22 and transmitted to the peripheral device 1 following FIG. 30;
FIG. 32 is a flowchart showing a processing procedure for counting the logs of the peripheral device 1 and the peripheral device 5 and updating the printable number of sheets and the cumulative number of printed sheets for each user of the directory server 6;
FIG. 33 is a flowchart showing a calculation processing procedure for calculating the number of printable sheets when connection to the directory server is impossible in step S923 in FIG.
34 is a flowchart illustrating a calculation processing procedure for calculating the number of printable sheets when connection to the directory server is impossible in step S923 in FIG. 17 following FIG.
FIG. 35 is a diagram illustrating a data structure of a management command generated by a management command generation process described later and transmitted to the peripheral device 1;
FIG. 36 is a diagram showing a data structure of an access ticket cache held in the RAM 22 of the peripheral device 1 by processing of an access ticket setting command described later.
FIG. 37 is a flowchart illustrating a procedure in which the peripheral device 1 processes a management command generated by a management command generation process to be described later and transmitted to the peripheral device 1;
FIG. 38 is a flowchart illustrating a procedure in which the peripheral device 1 processes a management command generated by a management command generation process described later and transmitted to the peripheral device 1 following FIG.
39 is a process for issuing management commands such as device management and job management from the PC (1) 2, PC (2) 3, and PC (3) 4 to the peripheral device 1 executing the processing of FIG. It is a flowchart which shows a procedure.
40 is a flowchart showing a copy processing procedure in the peripheral device 1. FIG.
[Explanation of symbols]
2, 3, 4 Personal computer (PC)
3, 5 Peripheral devices (MFP)
6 Directory server
11 Controller
21, 31 CPU
25, 36 ROM
301, 302 Attribute information
724, 1502, 2302 User ID
726, 1504, 2402 Access ticket
2304, 2401 Session key

Claims (8)

ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器において、
ジョブを受信する第1受信手段と、
受信した前記ジョブに含まれるアクセスチケットを解読する第1解読手段と、
前記第1解読手段により解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持手段と、
ジョブ管理コマンドを受信する第2受信手段と、
受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第2解読手段と、
前記第2解読手段により解読された前記アクセスチケットが有効であり、且つ前記第受信手段が受信した前記ジョブが終了していない場合に、前記第1解読手段の解読結果と、前記第2解読手段の解読結果とを比較する比較手段と、
前記比較手段による比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理手段とを備えたことを特徴とする周辺機器。
In a peripheral device that is managed by a server connected via a network and manages an externally input job according to the input job management command,
First receiving means for receiving a job;
First decryption means for decrypting an access ticket included in the received job;
When the access ticket decrypted by the first decryption means is valid and the received job can be executed, the received job and the access ticket included in the job are stored in association with each other Holding means;
Second receiving means for receiving a job management command;
Second decryption means for decrypting the access ticket included in the received job management command;
When the access ticket decrypted by the second decryption means is valid and the job received by the first reception means is not completed, the decryption result of the first decryption means and the second decryption A comparison means for comparing the decryption result of the means;
A peripheral device comprising: management means for executing the job management command for the job based on a comparison result by the comparison means.
前記第1解読手段および前記第2解読手段は、前記アクセスチケットに含まれるユーザ情報を取得することを特徴とする請求項1に記載の周辺機器。  The peripheral device according to claim 1, wherein the first decryption unit and the second decryption unit acquire user information included in the access ticket. 前記ジョブ管理コマンドが、前記保持手段により保持されるジョブの一覧を要求するものである場合、
前記比較手段は、前記ジョブ管理コマンドに対応するユーザ情報を、前記保持手段により保持されるジョブの各々に対応するユーザ情報と比較し、
前記管理手段は、前記ジョブ管理コマンドとユーザ情報が合致しないジョブのジョブ名を空白に変換した様態で、前記ジョブの一覧を生成することを特徴とする請求項2に記載の周辺機器。
When the job management command requests a list of jobs held by the holding unit,
The comparing means compares user information corresponding to the job management command with user information corresponding to each of the jobs held by the holding means;
The peripheral device according to claim 2, wherein the management unit generates the job list in a state where a job name of a job whose user information does not match the job management command is converted to a blank.
前記ジョブ管理コマンドが、前記保持手段により保持されるジョブのキャンセルを要求するものである場合、
前記比較手段は、前記ジョブ管理コマンドに対応するユーザ情報を、前記キャンセルの対象であるジョブに対応するユーザ情報と比較し、
前記管理手段は、前記ジョブ管理コマンドに対応するユーザ情報と前記キャンセルの対象であるジョブに対応するユーザ情報とが合致しない場合に、前記ジョブ管理コマンドを実行しないことを特徴とする請求項2に記載の周辺機器。
When the job management command is for requesting cancellation of a job held by the holding unit,
The comparing means compares user information corresponding to the job management command with user information corresponding to the job to be canceled;
3. The management unit does not execute the job management command when user information corresponding to the job management command and user information corresponding to the job to be canceled do not match. The listed peripherals.
前記ジョブはプリントジョブを含むことを特徴とする請求項1乃至4のいずれか1項に記載の周辺機器。  The peripheral device according to claim 1, wherein the job includes a print job. ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器の制御方法において、
ジョブを受信する第1受信ステップと、
受信した前記ジョブに含まれるアクセスチケットを解読する第1解読ステップと、
前記第1解読ステップで解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持ステップと、
ジョブ管理コマンドを受信する第2受信ステップと、
受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第2解読ステップと、
前記第2解読ステップで解読された前記アクセスチケットが有効であり、且つ前記第受信ステップで受信した前記ジョブが終了していない場合に、前記第1解読ステップでの解読結果と、前記第2解読ステップでの解読結果とを比較する比較ステップと、
前記比較ステップでの比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理ステップとを有することを特徴とする周辺機器の制御方法。
In a peripheral device control method that is managed by a server connected via a network and manages an externally input job according to a submitted job management command.
A first receiving step for receiving a job;
A first decryption step of decrypting an access ticket included in the received job;
When the access ticket decrypted in the first decryption step is valid and the received job can be executed, the received job and the access ticket included in the job are stored in association with each other Holding step;
A second receiving step for receiving a job management command;
A second decryption step of decrypting the access ticket included in the received job management command;
When the access ticket decrypted in the second decryption step is valid and the job received in the first reception step is not completed , the decryption result in the first decryption step and the second A comparison step for comparing the decryption result in the decryption step;
And a management step of executing the job management command for the job based on the comparison result in the comparison step.
ネットワークを介して接続されたサーバによって管理され、投入されたジョブ管理コマンドにしたがって、外部から入力されたジョブの管理を行う周辺機器の制御方法をコンピュータに実行させるプログラムであって、
前記制御方法は、
ジョブを受信する第1受信ステップと、
受信した前記ジョブに含まれるアクセスチケットを解読する第1解読ステップと、
前記第1解読ステップで解読された前記アクセスチケットが有効であり、且つ受信した前記ジョブを実行可能である場合に、受信した前記ジョブと該ジョブに含まれる前記アクセスチケットとを対応付けて保持する保持ステップと、
ジョブ管理コマンドを受信する第2受信ステップと、
受信した前記ジョブ管理コマンドに含まれるアクセスチケットを解読する第2解読ステップと、
前記第2解読ステップで解読された前記アクセスチケットが有効であり、且つ前記第受信ステップで受信した前記ジョブが終了していない場合に、前記第1解読ステップでの解読結果と、前記第2解読ステップでの解読結果とを比較する比較ステップと、
前記比較ステップでの比較結果に基づき、前記ジョブに対する前記ジョブ管理コマンドを実行する管理ステップとを有することを特徴とするプログラム。
A program that allows a computer to execute a peripheral device control method that is managed by a server connected via a network and manages a job input from the outside in accordance with an input job management command,
The control method is:
A first receiving step for receiving a job;
A first decryption step of decrypting an access ticket included in the received job;
When the access ticket decrypted in the first decryption step is valid and the received job can be executed, the received job and the access ticket included in the job are stored in association with each other Holding step;
A second receiving step for receiving a job management command;
A second decryption step of decrypting the access ticket included in the received job management command;
When the access ticket decrypted in the second decryption step is valid and the job received in the first reception step is not completed , the decryption result in the first decryption step and the second A comparison step for comparing the decryption result in the decryption step;
And a management step of executing the job management command for the job based on a comparison result in the comparison step.
請求項7に記載のプログラムを格納したコンピュータ可読の記憶媒体。  A computer-readable storage medium storing the program according to claim 7.
JP2001299101A 2000-10-02 2001-09-28 PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM Expired - Fee Related JP4649081B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001299101A JP4649081B2 (en) 2000-10-02 2001-09-28 PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM
US10/254,505 US20030018900A1 (en) 2000-10-02 2002-09-26 Peripheral equipment and management method thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-302029 2000-10-02
JP2000302029 2000-10-02
JP2001299101A JP4649081B2 (en) 2000-10-02 2001-09-28 PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM

Publications (3)

Publication Number Publication Date
JP2002202945A JP2002202945A (en) 2002-07-19
JP2002202945A5 JP2002202945A5 (en) 2007-02-08
JP4649081B2 true JP4649081B2 (en) 2011-03-09

Family

ID=26601346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001299101A Expired - Fee Related JP4649081B2 (en) 2000-10-02 2001-09-28 PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM

Country Status (1)

Country Link
JP (1) JP4649081B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167919B2 (en) 2001-12-05 2007-01-23 Canon Kabushiki Kaisha Two-pass device access management
US7487233B2 (en) 2001-12-05 2009-02-03 Canon Kabushiki Kaisha Device access based on centralized authentication
US7768662B2 (en) * 2002-02-12 2010-08-03 Xerox Corporation System and method for controlling access
JP4555038B2 (en) 2004-09-17 2010-09-29 株式会社リコー Network system, usage authority determination method, network device, program, and recording medium
JP4632446B2 (en) 2006-01-24 2011-02-16 キヤノン株式会社 Image processing system, management method thereof, and control apparatus
JP2007226429A (en) * 2006-02-22 2007-09-06 Oki Data Corp Information processor and printing device
JP4143654B2 (en) 2006-05-31 2008-09-03 キヤノン株式会社 Device management system, device management apparatus, device management method, program, and storage medium
JP5011959B2 (en) 2006-11-01 2012-08-29 富士ゼロックス株式会社 Authentication agent device, authentication agent program, and authentication agent system
JP5121340B2 (en) 2007-07-30 2013-01-16 キヤノン株式会社 Printing apparatus, printing control method, and computer program

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223040A (en) * 1993-01-26 1994-08-12 Omron Corp Software license management system
JPH07121326A (en) * 1993-10-26 1995-05-12 Fuji Xerox Co Ltd Image processing system
JPH08154170A (en) * 1994-11-28 1996-06-11 Fuji Xerox Co Ltd Image processing system
JPH1124916A (en) * 1997-07-07 1999-01-29 Fuji Xerox Co Ltd Device and method for managing software licence
JP2000010930A (en) * 1998-06-24 2000-01-14 Hitachi Ltd Access control method for network system
JP2000021165A (en) * 1998-06-30 2000-01-21 Fujitsu Ltd Integrated circuit device
JP2000163356A (en) * 1998-11-25 2000-06-16 Canon Inc Peripheral device device and its control method, and storage medium
JP2000201169A (en) * 1998-03-26 2000-07-18 Nippon Telegr & Teleph Corp <Ntt> Mail access control method, communication system and storage medium stored with mail access control program
JP2000222338A (en) * 1998-11-25 2000-08-11 Canon Inc Peripheral device, method and system for peripheral device control, storage medium stored with peripheral device control program, sending-out device sending out peripheral device control program, and peripheral device control program product, and information processor, information processing method, storage medium stored with information processing program, sending-out device sending out information processing program, and information processing program product

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223040A (en) * 1993-01-26 1994-08-12 Omron Corp Software license management system
JPH07121326A (en) * 1993-10-26 1995-05-12 Fuji Xerox Co Ltd Image processing system
JPH08154170A (en) * 1994-11-28 1996-06-11 Fuji Xerox Co Ltd Image processing system
JPH1124916A (en) * 1997-07-07 1999-01-29 Fuji Xerox Co Ltd Device and method for managing software licence
JP2000201169A (en) * 1998-03-26 2000-07-18 Nippon Telegr & Teleph Corp <Ntt> Mail access control method, communication system and storage medium stored with mail access control program
JP2000010930A (en) * 1998-06-24 2000-01-14 Hitachi Ltd Access control method for network system
JP2000021165A (en) * 1998-06-30 2000-01-21 Fujitsu Ltd Integrated circuit device
JP2000163356A (en) * 1998-11-25 2000-06-16 Canon Inc Peripheral device device and its control method, and storage medium
JP2000222338A (en) * 1998-11-25 2000-08-11 Canon Inc Peripheral device, method and system for peripheral device control, storage medium stored with peripheral device control program, sending-out device sending out peripheral device control program, and peripheral device control program product, and information processor, information processing method, storage medium stored with information processing program, sending-out device sending out information processing program, and information processing program product

Also Published As

Publication number Publication date
JP2002202945A (en) 2002-07-19

Similar Documents

Publication Publication Date Title
EP1193593A2 (en) Peripheral equipment and management method thereof
US7382487B2 (en) Printing system and method restricting functions of printers, usable by each user
JP3617500B2 (en) Printing over the network
JP4530793B2 (en) Image forming apparatus, information processing apparatus, information processing system, authentication method, authentication program, and recording medium
JP4267011B2 (en) Image forming apparatus, authority control server, and image forming system
US7586635B2 (en) Method and apparatus for secure printing using facial recognition of a print job sent by the user over a distributed printing network that employs a server containing registration, facial data, and user identification information
KR100899521B1 (en) Information processing apparatus, printing system, job processing method, and storage medium used therewith
EP2026197A2 (en) Controlling image processing system
JP4261818B2 (en) Peripheral device management system, client device, server device, control method thereof, and storage medium
JP2010277557A (en) Image forming apparatus, authentication system, authentication method and program
JP2006145785A (en) Image forming apparatus and image forming system
JP4649081B2 (en) PERIPHERAL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM
JP4095279B2 (en) Job execution apparatus, job management method, storage medium, and program
CN101494707B (en) Image forming apparatus, method of controlling the same,
JP2004192273A (en) Job management system
JP7154920B2 (en) PRINTING DEVICE, CONTROL METHOD, AND THEREOF PROGRAM
JP2002041443A (en) Peripheral equipment control system, peripheral equipment, external device, method for controlling the peripheral equipment, peripheral equipment controlling software, and storage medium
US20030018900A1 (en) Peripheral equipment and management method thereof
US9858016B2 (en) Providing device functionality utilizing authorization tokens
JP2007088945A (en) Image associated processing system and method of managing image forming apparatus
JP5177249B2 (en) Image-related processing system, image-related processing apparatus, image-related processing execution method, and computer program
JP2010186492A (en) Peripheral equipment control system, peripheral equipment, external device, peripheral equipment control method, peripheral equipment control software, and storage medium
JP7490405B2 (en) Image forming apparatus, printing system, control method, and program
JP2008294551A (en) Document management system, document operation device and document operation program
JP2015001772A (en) Printing system and program

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061214

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100615

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: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101213

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

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees