周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体
【課題】対象となる周辺機器のユーザ管理モードの情報を、周辺機器制御ソフトウェアが有しなくても、制御可能な周辺機器制御システムを提供する。
【解決手段】周辺機器1の属性情報301を取得する(S1701)。この属性情報の取得は、PC(1)2などから属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(S1702)。「現在のユーザ管理モード」属性302を取得し(S1703)、CRT33に表示する(S1704)。ユーザの入力を待ち(S1705)、ユーザからの入力にしたがって、「現在のユーザ管理モード」属性302を設定する(S1706)。この属性情報の設定は、PC(1)2などから属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。
【解決手段】周辺機器1の属性情報301を取得する(S1701)。この属性情報の取得は、PC(1)2などから属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(S1702)。「現在のユーザ管理モード」属性302を取得し(S1703)、CRT33に表示する(S1704)。ユーザの入力を待ち(S1705)、ユーザからの入力にしたがって、「現在のユーザ管理モード」属性302を設定する(S1706)。この属性情報の設定は、PC(1)2などから属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタ、スキャナ、複写機、ファクシミリなどの周辺機器を制御する周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体に関する。
【背景技術】
【0002】
従来、プリンタなどの周辺機器は1つまたは複数のユーザ管理モードを有している。複数のユーザ管理モードを有する場合、プリンタのコンソールパネル、あるいはネットワークなどの通信線を介して接続されたコンピュータなどの外部装置で動作する周辺機器制御ソフトウェアにより、現在のユーザ管理モードの設定が行われていた。また、このような周辺機器制御ソフトウェアは、内部で保持するユーザ管理モードにしたがって、ユーザ認証情報を制御コマンドに含ませていた。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、上記従来の周辺機器制御システムでは、以下に掲げる問題があり、その改善が要望された。すなわち、上記周辺機器制御ソフトウェアは、対象とする周辺機器に対し、設定可能なユーザ管理モードに関する情報を保持しておく必要があり、ユーザは周辺機器の種類に応じて複数の周辺機器制御ソフトウェアを用意する必要があった。
【0004】
複数の周辺機器に関する情報を保持している周辺機器制御ソフトウェアの場合、特に問題は起きにくいが、それでも、周辺機器制御ソフトウェアが保持していないユーザ管理モードを装備した周辺機器が新たに接続された場合、それを制御することはできなかった。
【0005】
また、制御コマンドの中に含ませるユーザ認証情報は、周辺機器制御ソフトウェア内で保持するユーザ管理モードで判断されるので、特に周辺機器のユーザ管理モードが変更された場合、制御コマンド中に含まれるユーザ認証情報が適切でなくなり、正しく動作しない場合があった。
【0006】
そこで、本発明は、対象となる周辺機器に対応しているユーザ管理モードの情報を、周辺機器制御ソフトウェアが有していなくとも、この周辺機器を制御することが可能である周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体を提供することを目的とする。
【0007】
また、本発明は、対象となる周辺機器のユーザ管理モードにしたがって、適切なユーザ認証情報を制御コマンドに含ませることによって、常に周辺機器を正しく動作させることができる周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体を提供することを他の目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の請求項1に記載の周辺機器制御システムは、周辺機器および外部装置が通信線を介して接続され、該通信線を介して前記外部装置から制御コマンドを送信して前記周辺機器を制御する周辺機器制御システムにおいて、前記周辺機器の属性情報を保持する属性情報保持手段と、前記制御コマンドを送信して前記保持された属性情報を取得する取得手段と、該取得した属性情報に対して所定の属性情報を設定する設定手段とを備え、該設定される属性情報はユーザ管理モードの情報を含むことを特徴とする。
【0009】
また、前記取得手段は、前記ユーザ管理モードの一覧を取得し、ユーザに前記ユーザ管理モードの選択を促すことを特徴とする。
【0010】
さらに、前記取得手段は、現在設定されているユーザ管理モードを取得することを特徴とする。
【0011】
また、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにパスワードを含むことが必要なモードであることを特徴とする。
【0012】
さらに、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDを含むことが必要なモードであることを特徴とする。
【0013】
また、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDとパスワードを含むことが必要なモードであることを特徴とする。
【0014】
さらに、ユーザ情報および機器情報を一元管理し、資源に対するアクセスを行うために必要なアクセスチケットを発行するディレクトリサーバを備え、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドに前記ディレクトリサーバから発行されたアクセスチケットを含むことが必要なモードであることを特徴とする。
【0015】
請求項8に記載の周辺機器は、通信線を介して接続された外部装置から送信される制御コマンドにしたがって制御される周辺機器において、ユーザ管理モードを含む属性情報を保持する属性情報保持手段と、該保持された属性情報を前記外部装置に送信する送信手段と、前記外部装置から送信された前記制御コマンドにしたがって、所定の属性情報を設定する設定手段とを備えたことを特徴とする。
【0016】
請求項9に記載の外部装置は、通信線を介して制御コマンドを送信して周辺機器を制御する外部装置において、前記周辺機器に保持されたユーザ管理モードを含む属性情報を取得する取得手段と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を前記周辺機器に設定する設定手段とを備えたことを特徴とする。
【0017】
請求項10に記載の周辺機器制御方法は、通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御する周辺機器制御方法において、前記周辺機器のユーザ管理モードを含む属性情報を保持する工程と、該保持された属性情報を取得する工程と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する工程とを有することを特徴とする。
【0018】
請求項11に記載の周辺機器制御ソフトウェアは、通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムを含む周辺機器制御ソフトウェアにおいて、前記プログラムは、前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、該保持された属性情報を取得する手順と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する手順とを含むことを特徴とする。
【0019】
請求項12に記載の記憶媒体は、通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムが記憶された記憶媒体において、前記プログラムは、前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、該保持された属性情報を取得する手順と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する手順とを含むことを特徴とする。
【発明の効果】
【0020】
本発明によれば、ネットワークなどの通信線を介して周辺機器からユーザ管理モードを取得し、ユーザ管理モードの一覧を表示してユーザにその選択を促し、選択されたユーザ管理モードを設定することにより、対象となる周辺機器に対応しているユーザ管理モードの情報を、周辺機器制御ソフトウェアが有していなくとも、この周辺機器を制御することが可能である。
【0021】
また、外部装置から送信される制御コマンドに、ユーザ認証情報として、パスワード、ユーザID、ユーザIDおよびパスワード、あるいはディレクトリサーバから発行されたアクセスチケットのいずれかを含ませる必要があることを識別できるようにすることで、対象となる周辺機器のユーザ管理モードにしたがって、適切なユーザ認証情報を制御コマンドに含ませることができ、常に周辺機器を正しく動作させることができる。
【0022】
また、周辺機器制御ソフトウェアにより、ネットワークなどの通信線を介して外部装置からユーザ管理モードを設定することができ、適切なユーザ認証情報を制御コマンドに含ませることができる。その際、設定可能なユーザ管理モードの一覧を表示してユーザにその選択を促すことができる。さらに、周辺制御ソフトウェアにより、入力をユーザに促し、ユーザ入力に応じて、パスワード、ユーザID、ユーザIDおよびパスワード、あるいはディレクトリサーバからのアクセスチケットのいずれかをユーザ認証情報として制御コマンドに含ませることができる。
【図面の簡単な説明】
【0023】
【図1】第1の実施形態における周辺機器制御システムの構成を示すブロック図である。
【図2】周辺機器(MFP1、MFP1)の構成を示すブロック図である。
【図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から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0024】
本発明の周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体の実施の形態を図面を参照しながら説明する。
【0025】
[第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)の属性情報の問い合わせを行う。
【0026】
また、6はユーザ情報および機器情報の一元管理機能を有するディレクトリサーザであり、パーソナルコンピュータなどで構成される。このディレクトリサーバ6は、Kerberosプロトコル(RFC1510)におけるKDC(Key Distribution Server)の機能も有しており、Kerberosプロトコルの規定にしたがって、TGT(チケット生成チケット)の発行および指定された資源に対するアクセスを行うために必要なアクセスチケットの発行を行う。
【0027】
さらに、このディレクトリサーバ6には、MFP1(1)およびMFP2(5)が既に登録されているものとする。このデータの参照および更新は、LDAPプロトコル(RFC1777)を使用することにより、PC(1)2、PC(2)3から行うことが可能である。ディレクトリサーバ6で管理されている各ユーザ情報には、ユーザ名、パスワード、ユーザの印刷可能枚数、ユーザの累積印刷枚数が含まれる。また、ディレクトリサーバ6で管理されている各機器情報には、機器名、機器の秘密暗号キーが含まれる。
【0028】
図2は周辺機器(MFP1、MFP1)の構成を示すブロック図である。図において、11は周辺機器を制御するためのコントローラである。12はコントローラ11が周辺機器の外部と通信するための通信インターフェースであり、例えば、イーサネット(登録商標)インターフェース、IEEE1284インターフェースあるいはその他の通信インターフェースである。
【0029】
13はスキャナエンジンであり、コントローラ11によって制御されている。14はプリンタエンジンであり、コントローラ11によって制御されており、例えば、レーザービームプリンタ、インクジェットプリンタあるいはその他のプリンタである。
【0030】
15は画像の送受信などの通信制御を行うFAX機能を実現するFAXボードであり、コントローラ11によって制御されている。16はユーザインターフェースであり、LCDディスプレイおよびキーボードから構成されており、コントローラ11からの情報表示を行うとともに、ユーザからの指示をコントローラ11に伝える。
【0031】
このような構成を有する周辺機器は、プリンタエンジン14を選択し、プリントジョブの発行を可能にする。また、プリンタエンジン14およびスキャナエンジン13を選択し、コピージョブの発行を可能にする。また、プリンタエンジン14、スキャナエンジン13、FAXボード15を選択し、FAX受信ジョブおよびFAX送信ジョブの発行を可能にする。
【0032】
図3はコントローラ11のハードウェア構成を示すブロック図である。コントローラ11では、CPU21、RAM22、LCD23、キーボード24、ROM25、通信インターフェース26、スキャナエンジン27、プリンタエンジン28、FAXボード29およびDISK30がシステムバス20を介して相互に接続されている。
【0033】
コントローラ11を制御するプログラムは、ROM25あるいはDISK30に記憶されており、必要に応じてRAM22に読み出され、CPU21によって実行される。また、ROM25あるいはDISK30には、制御プログラム以外に周辺機器やこの周辺機器で処理されるジョブの機能および状態を示す属性情報、出力の対象となるジョブデータなどが記憶されている。さらに、CPU21はLCD23で表示を行い、キーボード24からユーザの指示を受ける。また、CPU21が通信インターフェース26を通じて外部と通信を行う。
【0034】
本実施形態では、特に断らない限り、周辺機器(図2)では、CPU21は、システムバス20を介してキーボード24からユーザの入力を受け取り、かつRAM22、LCD23、ROM25、通信インターフェース26、スキャナエンジン27、プリンタエンジン28、FAXボード29およびDISK30を制御する。
【0035】
図4はネットワークシステムを構成するPCのハードウェア構成を示すブロック図である。PCでは、CPU31、RAM32、CRT33、キーボード34、ポインティングデバイス35、ROM36、DISK37および通信インターフェース38はシステムバス40を介して相互に接続されている。PCを制御するプログラムは、ROM36もしくはDISK37に記憶されており、必要に応じてRAM32に読み出され、CPU31によって実行される。また、CPU31はCRT33を通して表示を行い、キーボード34およびポインティングデバイス35からユーザの指示を受ける。また、CPU31は通信インターフェース36を通じて外部と通信を行う。
【0036】
本実施形態では、特に断らない限り、PCでは、CPU31がシステムバス40を介してキーボード34やポインティングデバイス35からユーザの入力を受け取り、かつRAM32、CRT33、ROM36、DISK37、通信インターフェース38を制御する。また、周辺機器に対するユーザの指示およびユーザへの情報表示は、ローカルなユーザインターフェース16を通して行ってもよいし、PC(1)、PC(2)あるいはPC(3)のようなネットワーク10に接続されたクライアントとなる機器を通して行ってもよい。
【0037】
図5は周辺機器1で保持されている属性情報を示す図である。周辺機器2(5)は周辺機器1と同じデータ構造を有するが、保持されている値は異なっている。これらの情報は、ROM25、RAM22あるいはDISK30に保持されており、後述する処理によりPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定することができる。
【0038】
図において、301は、「サポートしているユーザ管理モードのリスト」属性であり、「”ユーザ管理なし”,”パスワード”,”ユーザID”,”ユーザIDとパスワード”,”セキュリティドメインに参加”」の複数の値をリストとして保持している。
【0039】
302は、「現在のユーザ管理モード」属性であり、「セキュリティドメインに参加」を値として保持している。303は、「対応可能なディレクトリサーバの種類のリスト」属性であり、値として「”標準LDAPサーバ”,”Active Directory(MS)”,”NDS(Novell)”,”Open LDAP”」の複数の値をリストとして保持している。
【0040】
304は、「現在対応しているディレクトリサーバの種類」属性であり、「”Active Directory(MS)”」を値として保持している。305は、「現在対応しているディレクトリサーバのIPアドレス」属性であり、「123.56.54.21」を値として保持している。306は、「機器の秘密暗号キー」属性であり、「0x34q4bffcdca001」を値として保持している。この値は、「現在のユーザ管理モード」属性が「セキュリティドメインに参加」の場合に有効となるものであり、ディレクトリサーバ6から発行されたアクセスチケットを解釈するために使用される。
【0041】
307は、「ディレクトリサーバ接続不可時に使用許可するかどうか」属性であり、「TRUE」を値として保持している。308は、「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性であり、「”無制限”、”時間制限”、”時間制限&固定最大枚数で制限”、”時間制限&最大枚数で制限”、”固定最大枚数で制限”、”最大枚数で制限”、”ログイン毎に制限”」の複数の値をリストとして保持している。
【0042】
309は、「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性であり、「時間制限」を値として保持している。310は、「時間制限の長さ」属性であり、「48時間」を値として保持している。311は、「最大枚数の日毎の削減割合」属性であり、「30」を値として保持している。312は、「最大枚数」属性であり、「100」を値として保持している。313は、「ログイン毎の最大枚数」属性であり、「20」を値として保持している。
【0043】
図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)。
【0044】
ユーザの入力を待ち(ステップS1705)、ユーザからの入力にしたがって、属性情報である「現在のユーザ管理モード」属性302を設定し(ステップS1706)、処理を終了する。この属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。
【0045】
図7はステップS1705におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、101はユーザが選択可能なユーザ管理モードの一覧(属性301)を表示している。現在設定されているユーザ管理モードの属性302は図中、102で反転表示されている。ユーザは、所望のユーザ管理モードを選択して反転表示させた上で、OKボタン103を押すことにより、ステップS1706の処理を実行してユーザ管理モードの設定を行う。
【0046】
尚、図6の処理手順の実行は、PCの代わりに、ユーザ管理モードを変更する対象である周辺機器1自身のコントローラ11で行われ、図7の表示も周辺機器に装備されているユーザインターフェース16上で行われるようにしてもよい。また、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0047】
図8は周辺機器1に対応するディレクトリサーバをPC(1)2、PC(2)3、PC(3)4から表示・変更する場合の動作処理手順を示すフローチャートである。この処理手順は、PC(1)2、PC(2)3、PC(3)4上で行われる。
【0048】
まず、属性情報303を取得する(ステップS1801)。この属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(ステップS1802)。
【0049】
さらに、属性情報304を取得し(ステップS1803)、得られた属性情報304をCRT33に表示する(ステップS1804)。属性情報305を取得し(ステップS1805)、得られた属性情報305をCRT33に表示する(ステップS1806)。
【0050】
ユーザの入力を待ち(ステップS1807)、ユーザからの入力にしたがって、属性情報304、305を設定する(ステップS1808)。この属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【0051】
図9はステップS1807におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、201は、ユーザが選択可能なディレクトリサーバの種類の一覧(属性303)を表示している。現在設定されているディレクトリサーバの種類(属性304)は、図中、202で反転表示されている。さらに、アドレス部203には、現在設定されているディレクトリサーバのIPアドレス305が表示されている。ユーザは、所望のディレクトリサーバの種類を選択して反転表示させ、所望のIPアドレスをアドレス部203に入力した上で、OKボタン204を押すことにより、ステップS1808の処理を実行し、対応するディレクトリサーバの設定を行う。
【0052】
尚、図8に示す処理の実行は、PCの代わりに、対応するディレクトリサーバを変更する対象である周辺機器1自身のコントローラ11で行われ、図9に示す表示も周辺機器に装備されているユーザインターフェース16で行われるようにしてもよい。また、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0053】
図10は周辺機器1がディレクトリサーバ6に接続できない場合にログインをどの様に許可するかを、PC(1)2、PC(2)3、PC(3)4から表示・変更する場合の処理手順を示すフローチャートである。この処理手順はPC(1)2、PC(2)3、PC(3)4上で行われる。
【0054】
まず、属性情報である「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性308を取得する(ステップS2201)。属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(ステップS2202)。
【0055】
属性情報である「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性309を取得し(ステップS2203)、得られた属性情報をCRT33に表示する(ステップS2204)。さらに、属性情報である「ディレクトリサーバ接続不可時に使用許可するかどうか」属性307を取得する(ステップS2205)。得られた属性情報をCRT33に表示する(ステップS2206)。
【0056】
そして、ユーザの入力を待ち(ステップS2207)、ユーザからの入力にしたがって属性情報309、307を設定し(ステップS2208)、処理を終了する。属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【0057】
図11はステップS2207のユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、2102は、「Directory Server接続不可時に使用する場合の制限の種類のリスト」属性308の内容を表示しており、「現在のDirectory Server接続不可時に使用する場合の制限の種類」属性309の値は、図中、2103で反転表示されている。さらに、「Directory Server接続不可時に使用許可するかどうか」属性307の値がチェックボックス2101に表示されている。ユーザは、所望の設定を行った上で、OKボタン2104を押すことにより、ステップS2208の処理を実行して属性情報の設定を行う。
【0058】
尚、図10に示す処理の実行は、PCの代わりに、設定を変更する対象である周辺機器1自身のコントローラ11で行われ、図11に示す表示も周辺機器に装備されているユーザインターフェース16で行われるようにしてもよい。さらに、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0059】
図12および図13は周辺機器1に対してPC(1)2、PC(2)3、PC(3)4からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で行われる。
【0060】
まず、周辺機器1が保持する属性情報である「現在のユーザ管理モード」属性302を取得する(ステップS401)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS402)。判別の結果、ユーザ管理なしである場合、ジョブに必要な他の情報をジョブに設定した上で周辺機器1に対してジョブを発行する(ステップS403)。この後、処理を終了する。
【0061】
一方、ステップS402で、ユーザ管理ありである場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS404)。判別の結果、パスワードである場合、CRT33上にパスワード入力を促すユーザインターフェースを表示する(ステップS405)。そして、ステップS403において、入力されたパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0062】
一方、ステップS404で判別の結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS406)。判別の結果、ユーザIDである場合、CRT33にユーザID入力を促すユーザインターフェースを表示する(ステップS407)。そして、ステップS403において、入力されたユーザIDおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0063】
一方、ステップS406で判別の結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS408)。判別の結果、ユーザIDとパスワードである場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェースを表示する(ステップS409)。そして、ステップS403において、入力されたユーザIDとパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0064】
一方、ステップS408で判別の結果、ユーザIDとパスワードでない場合、使用しているPCにおいて、ユーザはディレクトリサーバ6が管理するセキュリティドメインに既にログインしているか否かを判別する(ステップS410)。この判別は、使用しているPCのオペレーティングシステムに対して問い合わせることによって行われる。判別の結果、ログイン済みでない場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェースを表示し(ステップS411)、これらの情報をディレクトリサーバ6にKerberosプロトコルを使用して送ることにより、TGT(チケット生成チケット)情報を取得する(ステップS413)。
【0065】
一方、ステップS410の判別結果、ログイン済みである場合、既にログインしているので、オペレーティングシステムに対して現在のセッションで使用しているTGTを要求して取得する(ステップS412)。
【0066】
ステップS412あるいはS413において取得したTGTを使用し、オペレーティングシステムによって保持されているユーザ名、あるいはステップS411で入力されたユーザ名に該当するユーザの印刷可能枚数情報をKerberosプロトコルおよびLDAPプロトコルによりディレクトリサーバ6から取得する(ステップS414)。
【0067】
このあと、印刷可能枚数が1枚以上であるか否かを判別し(ステップS415)、判別の結果、1枚以上でなく印刷できない場合、ジョブ発行ができない旨を表すユーザインターフェース画面をCRT33に表示し(ステップS416)、処理を終了する。
【0068】
一方、ステップS415の判別結果、印刷可能枚数が1枚以上で印刷可能である場合、ステップS412あるいはS413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子のパラメータをディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS417)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キーの属性情報306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類(属性情報304)によって一意に予め決められている。
【0069】
そして、ステップS417で取得したアクセスチケットおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行し(ステップS418)、処理を終了する。
【0070】
図14はステップS403におけるジョブ発行処理手順を示すフローチャートである。まず、ジョブに必要な属性について属性設定コマンドのパラメータを設定する(ステップS502)。このパラメータは設定対象の属性名とそれに対する値とから構成されている。ステップS502で作成された属性設定コマンドを周辺機器1に対して送信する(ステップS503)。必要なジョブ属性の設定が完了したか否かを判別し(ステップS504)、完了していない場合、ステップS502の処理を繰り返す。
【0071】
一方、ステップS504で必要なジョブ属性の設定が完了した場合、ジョブデータ送信コマンドによりアプリケーションなどで作成された画像データなど、ジョブ処理の対象となるデータをこの周辺機器に送信する(ステップS505)。ジョブ投入コマンドの送信完了を示すジョブ投入完了通知コマンドを送信し(ステップ506)、処理を終了する。
【0072】
図15および図16は周辺機器1が図14の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。この処理はジョブを構成するコマンドを受信する度に周辺機器1によって実行される。
【0073】
受信したコマンドおよびそのパラメータを解析する(ステップ601)。この解析の結果、受信したコマンドが属性設定コマンドであるか否かを判別する(ステップ602)。受信したコマンドが属性設定コマンドである場合、属性が周辺機器1に解釈可能であるか否かを判別する(ステップS603)。
【0074】
解釈可能である場合、ステップ601で得られた解析結果にしたがって、指定された属性名と属性値の対を、RAM22またはDISK30にジョブデータとして保存し(ステップS604)、処理を終了する。一方、ステップS603で解釈不可能である場合、受信した属性設定コマンドで指定された属性は設定不可能であり、属性が設定できなかったことを返信し(ステップS616)、処理を終了する。
【0075】
一方、ステップS602で、受信したコマンドが属性設定コマンドでない場合、ステップS601で得られた解析結果から受信コマンドがジョブデータ送信コマンドであるか否か判別する(ステップS611)。ジョブデータ送信コマンドである場合、コマンドに続いて受信するジョブデータをRAM22あるいはDISK30に保存し(ステップ612)、処理を終了する。
【0076】
一方、ステップS611で、ジョブデータ送信コマンドでない場合、ステップ601で得られた解析結果から受信コマンドがジョブ投入終了通知コマンドであるか否かを判別する(ステップS613)。ジョブ投入終了通知コマンドである場合、RAM22あるいはDISK30に保持されたジョブデータの処理を開始する(ステップS614)。一方、ジョブ投入終了通知コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い(ステップ615)、処理を終了する。
【0077】
図17は図15および図16の処理により周辺機器1内で保持されたジョブのデータ構造を示す図である。このジョブは、ジョブの機能・属性を表す属性のリスト701とジョブの処理対象となるデータを表すジョブデータ702とから構成される。ジョブデータ702は、ジョブの種別によってはなくてもよい。属性のリスト701は、属性名711とこれに対応する属性値712との対のリストとなっている。
【0078】
図において、721はジョブが印刷ジョブであることを表す。722はジョブの開始モードが保留であることを表す。723はユーザ管理モードが「セキュリティドメインに参加」であることを表しており、ジョブのユーザ情報としてアクセスチケット726を使用することを示している。724はユーザ管理モードが「ユーザID」または「ユーザIDとパスワード」である場合、ユーザIDが設定される属性である。725はユーザ管理モードが「パスワード」または「ユーザIDとパスワード」である場合、パスワードが設定される属性である。726はユーザ管理モードが「セキュリティドメインに参加」である場合、アクセスチケットが設定される属性である。尚、属性724、725、726としては、属性723の内容にしたがって必要なものだけをジョブデータに設定してもよい。
【0079】
図18および図19は図17で示された周辺機器1に保持されたジョブデータの処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS801)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS802)。
【0080】
判別の結果、ユーザ管理なしの場合、属性723、724、725、726を除く属性の処理を行い(ステップS803)、これらの属性に基づき、ジョブデータ処理を行う(ステップS810)。ジョブの処理結果をログに記録し(ステップS811)、処理を終了する。このログはRAM22あるいはDISK30に保存される。
【0081】
一方、ステップS802の判別の結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS804)。判別の結果、パスワードである場合、予めRAM22あるいはDISK30に保持されているパスワード値と属性情報725との比較を行い(ステップS805)、合致していた場合、ステップS803でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【0082】
一方、ステップS804の判別結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS806)。判別の結果、ユーザIDである場合、予めRAM22あるいはDISK30に保持されているユーザID値と属性情報724との比較を行い(ステップS807)、合致していた場合、ステップS803でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【0083】
ステップS806の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS808)。判別の結果、「ユーザIDとパスワード」である場合、予めRAM22またはDISK30に保持されているユーザID値およびパスワード値と、属性情報724、725とそれぞれの比較を行い(ステップS809)、両者が合致していた場合、ステップS803でジョブの処理を継続する。合致しなかった場合、ジョブの処理を中止する。
【0084】
一方、ステップS808の判別結果、「ユーザIDとパスワード」でない場合、アクセスチケットの値726を、属性情報306である秘密暗号キーを使用して解読する(ステップS812)。そして、アクセスチケットが有効であるか否かを判別する(ステップS813)。アクセスチケットの値を解読できなかった場合、あるいはアクセスチケット内で保持される印刷可能枚数が値0である場合、ステップS813でアクセスチケットは無効であると判別し、ジョブデータを破棄し(ステップS814)、処理を終了する。
【0085】
一方、ステップS813において、アクセスチケットが有効であると判別された場合、アクセスチケット内のユーザIDに該当するユーザの印刷可能枚数情報をKerberosプロトコルおよびLDAPプロトコルによりディレクトリサーバ6から取得する(ステップS815)。
【0086】
印刷可能枚数が1枚以上で印刷可能であるか否かを判別し(ステップS816)、印刷不可能である場合、ジョブデータを破棄し(ステップS817)、処理を終了する。一方、ステップS816の判別結果、印刷可能である場合、属性値723、724、725、726を除く属性の処理を行い(ステップS818)、これらの属性に基づき、ジョブデータ処理を行う(ステップS819)。尚、この処理において、ステップS815の処理から得られる印刷可能枚数を越えないように監視し、最大印刷可能枚数を越えた場合、ジョブデータの処理を異常終了させる。ジョブが正常終了した場合および異常終了した場合のいずれの場合も、ジョブの処理結果をログに記録し(ステップS820)、処理を終了する。ログには、ユーザIDおよびジョブで印刷した枚数が記録され、RAM22またはDISK30に保存される。
【0087】
尚、本実施形態では、図15および図16の処理において、一旦、ジョブデータを周辺機器1の中に構築した後、改めて図18および図19の処理において、ジョブデータの処理を行っているが、他の実施形態として、図15および図16と図18および図19の処理を合体させ、ジョブの解析と同時にジョブの処理を行うようにしてもよい。
【0088】
また、本実施形態では、ステップS813でアクセスチケット内の印刷可能枚数を判別し、さらに、ステップS815、S816においてディレクトリサーバ6に保持されているユーザの印刷可能枚数を判別しているが、他の実施形態として、ステップS813におけるアクセスチケット内の印刷可能枚数の判別、あるいはステップS815、S816におけるディレクトリサーバ6に保持されているユーザの印刷可能枚数の判別のどちらか一方を省略してもよい。
【0089】
また、本実施形態では、ジョブの結果の記録をログとして、ステップS820において周辺機器内1内に保持しているが、ディレクトリサーバ6に保持されている、このユーザの印刷可能枚数および累積印刷枚数をジョブで印刷した枚数によって更新してもよい。印刷可能枚数の更新は、ディレクトリサーバ6に保持されているユーザIDによって示されるユーザの印刷可能枚数および累積印刷枚数をLDAPプロトコルにより取得し、この印刷可能枚数からジョブで印刷した枚数を減じ、更に累積印刷枚数にジョブで印刷した枚数を加え、得られたこれらの値をLDAPプロトコルによりディレクトリサーバ6に設定することにより、行われる。
【0090】
図20および図21は周辺機器1のLCD23に表示されるログイン画面の処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS901)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS902)。
【0091】
判別の結果、ユーザ管理なしである場合、ログイン情報をRAM22に保存する(ステップS903)。ログイン情報には、ログインした時点でのユーザ管理モード、ユーザID、印刷可能枚数が保持されている。印刷可能枚数はログイン期間内でコンソールから発行されたプリントジョブ、コピージョブなどの印刷を伴うジョブで使用した印刷枚数により順次更新され、印刷可能枚数が値0になった時点でジョブは終了する。
【0092】
ステップS903において、印刷可能枚数は無限大に設定される。ログイン情報内のユーザIDはジョブで使用した印刷枚数と共にログに記録される。ステップS903の処理後、印刷保留ジョブの処理を行い(ステップS924)、処理を終了する。
【0093】
一方、ステップS902の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS904)。判別の結果、パスワードありの場合、LCD23にパスワード入力を促すユーザインターフェース画面を表示し、入力されたパスワードと予めRAM22またはDISK30に保持されているパスワード値との比較を行い(ステップS905)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0094】
一方、ステップS904の判別結果、パスワードなしの場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS906)。ユーザIDである場合、LCD23にユーザID入力を促すユーザインターフェース画面を表示し、入力されたユーザIDを予めRAM22またはDISK30に保持されているユーザID値との比較を行い(ステップS907)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0095】
一方、ステップS906の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS908)。判別の結果、ユーザIDとパスワードである場合、LCD23にユーザIDとパスワード入力を促すユーザインターフェース画面を表示し、入力されたユーザIDとパスワードを予めRAM22またはDISK30に保持されているユーザID値とパスワード値との比較を行い(ステップS909)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0096】
ステップS908の判別結果、ユーザIDとパスワードでない場合、属性情報305で示されるディレクトリサーバへのアクセスを試み、接続可能であるか否かを判別する(ステップS910)。
【0097】
アクセス可能である場合、LCD23にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し(ステップS912)、入力されたユーザ名とパスワードを使用してKerberosプロトコルによりディレクトリサーバ6からアクセスチケットを取得する(ステップS914)。
【0098】
一方、ユーザ名とパスワードが誤っていた場合など、ディレクトリサーバ6からユーザ名またはパスワードが不正であるとのエラーが返信された場合、ステップS912において、再度、ユーザ名とパスワードの入力を促すユーザインターフェース画面を表示する。
【0099】
そして、ディレクトリサーバから取得したアクセスチケットを秘密暗号キー306を使用して解読する(ステップS915)。アクセスチケットの有効性を判別する(ステップS916)。この判別は、チケットが有効期限以内であるか否か、および印刷可能枚数が1枚以上であるか否かを調べることにより行われる。ステップS916の判別結果、アクセスチケットが有効でない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をLCD23に表示し(ステップS917)、処理を終了する。
【0100】
一方、ステップS916の判別の結果、アクセスチケットが有効である場合、ログイン情報の保存およびユーザ情報キャッシュの更新を行う(ステップS925)。ログイン情報のうち、印刷可能枚数については、アクセスチケットで保持されていた枚数を設定する。図22はユーザ情報キャッシュのデータ構造を示す図である。このユーザ情報キャッシュは、RAM22またはDISK30に保持されている。ユーザ情報キャッシュの更新は、アクセスチケット取得する際に使用したユーザ名とパスワード、アクセスチケット内のユーザIDと印刷可能枚数、およびログインの日時をデータとして追加することにより行われる。既に同じユーザ名がユーザ情報キャッシュ内に存在する場合、既存情報の更新を行う。そして、ステップS925の処理後、印刷保留ジョブの処理を行い(ステップS922)、処理を終了する。
【0101】
一方、ステップS910において、ディレクトリサーバ6にアクセス不能な場合、属性情報(ディレクトリサーバ接続不可時に使用許可するかどうか)307を取得し、サーバ接続不可でも利用可能であるか否かを判別する(ステップS911)。使用許可されない場合、現在ログインすることができないことを表すユーザインターフェース画面をLCD23上に表示し(ステップS920)、処理を終了する。
【0102】
一方、ステップS911で使用不許可である場合、LCD23にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し(ステップS918)、入力されたユーザ名とパスワードの組がRAM22またはDISK30に保持されているユーザ情報キャッシュ内に存在するか否かを判別する(ステップS919)。この判別の結果、ユーザ情報キャッシュ内に存在しない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をLCD23上に表示し(ステップS921)、処理を終了する。
【0103】
一方、ステップS919の判別の結果、ユーザ名とパスワードの組がユーザ情報キャッシュの中に存在する場合、後述する処理によって印刷可能枚数の算出を行い、この値およびユーザIDをログイン情報として保存する(ステップS923)。また、ログイン情報内のユーザ管理モードには「セキュリティドメインに参加(ディレクトリサーバに接続不能)」の値が設定される。ステップS923の処理後、印刷保留ジョブの処理を行い(ステップS922)、処理を終了する。
【0104】
このログイン処理で保存されたログイン情報は、ログインセッション内のジョブ発行において動作の制限および記録のために使用される。すなわち、ログイン情報内の印刷可能枚数を越えて印刷が行われた場合、ジョブを中止する。またジョブ内で印刷された印刷枚数はログイン情報の印刷可能枚数から引かれる。
【0105】
さらに、ログイン情報内のユーザ管理モードが「セキュリティドメインに参加(ディレクトリサーバに接続不能)」である場合、機器で保持されている属性情報「Directory Server接続不可時に使用する場合の制限の種類のリスト」308の内容にしたがって、最大印刷枚数312またはユーザ情報キャッシュの印刷可能枚数1013の値からジョブ内で印刷した枚数を減ずることにより、値を更新する。ログイン情報内のユーザIDは、ログインセッション内で発行されたジョブで印刷した枚数と共にログに記録される。そして、ユーザがログオフした時点で、ログイン情報は破棄される。
【0106】
尚、本実施形態では、ディレクトリサーバに接続可能な場合でも、ステップS925において、ログイン情報はログインした時点での印刷可能枚数を保持し、ログイン期間内でコンソールから発行されたジョブによってのみ印刷可能枚数が更新されるが、ディレクトリサーバに接続可能な場合、ジョブの発行直前にディレクトリサーバで保持されている、このユーザの印刷可能枚数を取得し、これにより印刷可能枚数を制限することも可能である。この場合、ステップS925で保持されるログイン情報にTGTを含ませ、これによってジョブの発行直前にディレクトリサーバ6に保持されているユーザの印刷可能枚数をKerberosプロトコルおよびLDAPプロトコルにより取得する。
【0107】
図20および図21の処理で更新されるユーザ情報キャッシュのデータは、前述したようにRAM22またはDISK30に保持されている。データは1行が1レコードの集合として表されており、1レコードはユーザ名1010、パスワード1011、ユーザID1012、印刷可能枚数1013およびログイン日時1014から構成されている。
【0108】
図23はステップS924およびS922における印刷保留ジョブの処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。周辺機器1内で印刷の実行が保留されているジョブの一覧を取得する(ステップS1101)。
【0109】
図20および図21で保持されたログイン情報内のユーザIDと、ステップS1101で取得した各ジョブが属性として含まれるユーザIDとを比較し、両者が合致するジョブのリストを作成する(ステップS1102)。ここで比較するジョブのユーザIDは、ジョブ内にアクセスチケット726が存在する場合、アクセスチケットを解読することにより取得して使用され、そうでない場合、ジョブ内に含まれるユーザID724が使用される。
【0110】
ステップS1102の処理の結果、リストが空であるか否かを判別し(ステップS1103)、判別の結果、空でない場合、処理を終了する。
【0111】
一方、ステップS1103で空である場合、ユーザIDが合致したジョブの一覧をユーザインターフェース画面としてLCD23に表示する(ステップS1104)。図24はステップS1104でLCD23に表示されるユーザインターフェース画面を示す図である。図中、1202はステップS1102で作成されたジョブのリストを表示している。1203はジョブを実行させるためのOKボタンであり、1204はジョブを実行させないでユーザインターフェース画面を閉じるキャンセルボタンである。
【0112】
そして、OKボタン1203、キャンセルボタン1204のどちらが押されたかを判別し(ステップS1105)、キャンセルボタンが押された場合、ユーザインターフェース画面を閉じて終了する。一方、OKボタンが押された場合、ステップS1102で生成したリスト中にあるジョブを実行し(ステップS1105)、処理を終了する。
【0113】
図25および図26は周辺機器1がPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。まず、受信したコマンドおよびそのパラメータを解析する(ステップS1301)。
【0114】
この解析の結果から受信コマンドが属性獲得コマンドであるか否かを判別する(ステップS1302)。属性獲得コマンドである場合、属性獲得コマンドによって指定された属性が獲得可能であるか否かを判別する(ステップS1303)。属性が獲得可能である場合、周辺機器内に保持する属性の値を取得し(ステップS1304)、取得した属性値を返信コマンドのパラメータにセットし、属性獲得コマンドに対する返信コマンドをドライバソフトウェアに送信し(ステップS1305)、処理を終了する。
【0115】
一方、ステップ1303で属性が獲得可能でない場合、属性の獲得に失敗したことをドライバソフトウェアに通知する処理を行い(ステップS1317)、処理を終了する。
【0116】
また一方、ステップS1302で属性獲得コマンドでない場合、ステップ1301での解析の結果から受信コマンドが属性値変更コマンドであるか否かを判別する(ステップS1311)。属性値変更コマンドである場合、属性値変更コマンドによって指定された属性が変更可能であるか否かを判別する(ステップS1312)。
【0117】
変更可能である場合、指定されたコマンドパラメータにしたがって、指定された属性を指定された属性値に変更し(ステップS1313)、属性値の変更が成功したことをドライバソフトウェアに通知する処理を行い(ステップS1314)、処理を終了する。一方、変更不可能である場合、属性値の変更に失敗したことをドライバソフトウェアに通知する処理を行い(ステップS1315)、処理を終了する。一方、ステップS1311で属性変更コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い(ステップS1316)、処理を終了する。
【0118】
図27および図28は周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で実行される。まず、周辺機器1が保持する属性情報(現在のユーザ管理モード)302を取得する(ステップS1401)。
【0119】
属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS1402)。判別の結果、ユーザ管理なしである場合、図29で示される管理コマンドを生成し、周辺機器1に対して送信する(ステップS1403)。図29は管理コマンドのデータ構造を示す図である。図において、1501はユーザ管理モードを表し、ユーザID1502、パスワード1503、アクセスチケット1504のうち、どの情報が有効であるかを示す。また、1505はコマンドの種別を表す。さらに、1506はコマンドに必要なパラメータ1507の長さを表す。
【0120】
周辺機器1は、受信した管理コマンドを図30および図31に示される処理手順によって処理し、その結果を送信する。周辺機器1から送られた返信を処理する(ステップS1417)。この処理は、ステップS1403によって送られた管理コマンドの処理によって異なり、特に管理コマンドが周辺機器内で保持されているジョブの一覧を取得するためのコマンドである「ListJobs」であった場合、返信に含まれているジョブの一覧をCRT33にユーザインターフェース画面として表示する。この後、本処理を終了する。
【0121】
一方、ステップS1402の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS1404)。判別の結果、パスワードある場合、CRT33にパスワード入力を促すユーザインターフェース画面を表示する(ステップS1405)。そして、ステップS1403において入力されたパスワードを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0122】
一方、ステップS1404の判別結果、パスワードなしの場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS1406)。判別の結果、ユーザIDであった場合、CRT33にユーザID入力を促すユーザインターフェース画面を表示する(ステップS1407)。そして、ステップS1403において入力されたユーザIDを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0123】
一方、ステップS1406の判別の結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS1408)。判別の結果、ユーザIDとパスワードである場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェースを表示する(ステップS1409)。そして、ステップS1403において、入力されたユーザIDとパスワードを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0124】
一方、ステップS1408の判別結果、ユーザIDとパスワードでない場合、使用しているPCにおいて、ユーザはディレクトリサーバ6が管理するセキュリティドメインに既にログインしているか否かを判別する(ステップS1410)。この判別は、使用しているPCのオペレーティングシステムに対して問い合わせることによって行われる。
【0125】
判別の結果、ログイン済みでない場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェース画面を表示し(ステップS1411)、これらの情報をディレクトリサーバ6にKerberosプロトコルを使用して送ることにより、TGT(チケット生成チケット)情報を取得する(ステップS1413)。
【0126】
一方、ステップS1410の判別結果、ログイン済みの場合、既にログインしているので、オペレーティングシステムに対して現在のセッションで使用しているTGTを要求して取得する(ステップS1412)。
【0127】
ステップS1412またはS1413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子(パラメータ)をディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS1414)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キー306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類304によって一意に予め決められている。
【0128】
ステップS1414で取得したアクセスチケットを設定した管理コマンドを生成し、周辺機器1に対して送信する(ステップS1415)。この後、ステップS1417と同じ返信の処理を行う(ステップS1416)。この後、処理を終了する。
【0129】
図30および図31は図27および図28の処理によって生成され、周辺機器1に送信された管理コマンドを周辺機器1が処理する手順を示すフローチャートである。この処理は周辺機器1上で実行される。
【0130】
まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS1601)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS1602)。判別の結果、ユーザ管理なしの場合、値0を管理コマンド内のユーザID1502に設定し(ステップS1603)、ステップS1613以降のコマンドの種別にしたがった処理を行う。
【0131】
一方、ステップS1602の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS1604)。判別の結果、パスワードである場合、予めRAM22またはDISK30に保持されているパスワード値とパスワード1503との比較を行い、合致していた場合、値0を管理コマンド内のユーザID1502に設定する(ステップS1605)。この後、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0132】
一方、ステップS1604の判別結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS1606)。判別の結果、ユーザIDである場合、予めRAM22またはDISK30に保持されているユーザID値とユーザID1502との比較を行う(ステップS1607)。合致していた場合、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0133】
一方、ステップS1606の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS1608)。判別の結果、ユーザIDとパスワードである場合、予めRAM22またはDISK30に保持されているユーザID値およびパスワード値と、ユーザID1502およびパスワード1503との比較をそれぞれ行い(ステップS1607)、両者が合致していた場合、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0134】
一方、ステップS1608で、ユーザIDとパスワードでない場合、アクセスチケット1504の値を秘密暗号キー306を使用して解読する(ステップS1610)。解読の結果、アクセスチケットの有効性および有効期限を判別し(ステップS1611)、判別の結果、アクセスチケットが有効である場合、アクセスチケット内のユーザIDを管理コマンド内のユーザID1502に設定し、ステップS1613以降のコマンドの種別にしたがった処理を行う。一方、ステップS1611の判別結果、アクセスチケットが有効でない場合、エラーを返信し(ステップS1612)、管理コマンドの処理を終了する。
【0135】
ステップS1613以降の処理では、まず、コマンドの種別1505が「ListJobs」(ジョブの一覧を取得する)であるか否かを判別する(ステップS1613)。判別の結果、コマンドの種別1505が「ListJobs」である場合、周辺機器1内に保持されているジョブの一覧を取得する(ステップS1614)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」の場合、各ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0136】
そして、ステップS1614に取得されたジョブのユーザID724と、管理コマンド内に含まれるユーザID1502との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する(ステップS1615)。ステップS1615で得られたジョブリストを返信し(ステップS1616)、処理を終了する。
【0137】
一方、ステップS1613の判別結果、コマンドの種別1505が「CancelJob」(指定されたジョブをキャンセルする)であるか否かを判別する(ステップS1617)。判別の結果、コマンドの種別1505が「CancelJob」でない場合、機器管理コマンドの処理を行い(ステップS1619)、処理を終了する。このステップS1619における機器管理コマンドの処理では、コマンド種別1505によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【0138】
ステップS1617の判別結果、指定されたジョブの情報を取得する(ステップS1618)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0139】
そして、ジョブのユーザID724と、管理コマンド内に含まれるユーザID1502との比較を行い(ステップS1620)、両者が合致しない場合、管理コマンドの実行失敗を返信し(ステップS1623)、処理を終了する。一方、ステップS1620で両者が合致した場合、指定されたジョブをキャンセルし(ステップS1621)、管理コマンドの実行成功を返信し(ステップS1622)、処理を終了する。
【0140】
尚、ステップS1621の処理を変更することにより、ジョブのアクセス制御機能が付加されたジョブキャセル以外のジョブ管理(例えば、ジョブの一時停止、再開、割り込み、優先度の向上、優先度の低下など)を行わせることも可能である。
【0141】
図32は周辺機器1および周辺機器5のログを集計し、ディレクトリサーバ6のユーザ毎の印刷可能枚数および累積印刷枚数を更新するための処理手順を示すフローチャートである。この処理はディレクトリサーバ6で実行される。まず、対象となる周辺機器からログを取得する(ステップS1901)。
【0142】
ログの情報からユーザID毎に印刷した枚数を合算する(ステップS1902)。ディレクトリサーバ6から各ユーザ毎の印刷可能枚数と累積印刷枚数をLDAPプロトコルにより取得し、得られた枚数を印刷可能枚数から減算し、更に累積印刷枚数に加え、得られたこれらの結果をLDAPプロトコルによってディレクトリサーバ6に設定する(ステップS1903)。これにより、ディレクトリサーバ6の各ユーザ毎の印刷可能枚数および累積印刷枚数は更新される。
【0143】
このように、図32の処理を、周辺機器1および周辺機器5を対象として行うことにより、2台の周辺機器に対する印刷可能枚数および累積印刷枚数がディレクトリサーバ6によって集中管理される。
【0144】
尚、他の実施形態として、ジョブで使用した印刷枚数をログに保存せず、ジョブの終了毎にディレクトリサーバ6に接続することにより、ディレクトリサーバ6のデータを更新する場合、図32の処理を実行する必要は無い。
【0145】
図33および図34は図20および図21のステップS923におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。この処理は周辺機器1上で実行される。まず、現在の印刷可能枚数の制限の種類309を取得する(ステップS2001)。
【0146】
制限の種類309が「無制限」であるか否かを判別する(ステップS2002)。判別の結果、無制限である場合、印刷可能枚数を無制限に設定し(ステップS2003)、処理を終了する。一方、ステップS2002の判別の結果、無制限でない場合、制限の種類309が「時間制限」、「時間制限&固定最大枚数で制限」または「時間制限&最大枚数で制限」のいずれであるか否かを判別する(ステップS2004)。判別の結果、いずれである場合、ユーザ情報キャッシュ内のユーザの最終ログイン日時1014を取得し(ステップS2005)、この日時と現在の日時との時間差が時間制限の長さ310で指定されている値以下であるか否かを判別する(ステップS2006)。
【0147】
指定されている値以下である場合、印刷可能枚数を値0に設定し(ステップS2007)、処理を終了する。一方、ステップS2004の判別の結果、「時間制限」、「時間制限&固定最大枚数で制限」または「時間制限&最大枚数で制限」のいずれでもない場合、あるいはステップS2006の制限時間内である場合、制限の種類309が「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれであるか否かを判別する(ステップS2008)。
【0148】
「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれである場合、最大枚数312の値を印刷可能枚数に設定し(ステップS2010)、処理を終了する。一方、ステップS2008の判別結果、「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれでもない場合、制限の種類309が「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれであるか否かを判別する(ステップS2009)。「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれである場合、次式(1)により枚数を算出し、印刷可能枚数として設定し(ステップS2011)、処理を終了する。
【0149】
印刷可能枚数=ユーザ情報キャッシュ内の印刷可能枚数1013 − 最大枚数の日毎の削減割合×最後にログインしてからの時間(日数) ……(1)
ここで、最後にログインしてからの時間(日数)は、ユーザ情報キャッシュのログイン日時1014から現在の日時を引いた時間を、値24で割って小数点以下を切り捨てたものである。
【0150】
一方、ステップS2009の判別結果、「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれでもない場合、ログイン毎の最大枚数313を印刷可能枚数に設定し(ステップS2012)、処理を終了する。
【0151】
尚、本実施形態では、図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から取得するようにしてもよい。
【0152】
[第2の実施形態]
前記第1の実施形態では、図29において、管理コマンド中にアクセスチケットを含ませていたが、アクセスチケットのデータサイズは一般的に管理コマンドの他のデータサイズに比較して大きいものとなってしまうので、パフォーマンスなどに問題が生じる場合がある。この問題を解決するための周辺機器制御システムを第2の実施形態として以下に説明する。
【0153】
図35は後述する管理コマンド生成処理によって生成され、周辺機器1に送信される管理コマンドのデータ構造を示す図である。図において、2301はユーザ管理モードを表し、ユーザID2302、パスワード2303、セッションキー2304のうち、どの情報が有効であるかを示すものである。
【0154】
セッションキー2304は周辺機器1によって発行され、周辺機器1内のアクセスチケットキャッシュによってアクセスチケットと1対1の対応付けがなされている。図において、2305はコマンドの種別を表す。2306はコマンドに必要なパラメータ2307の長さを表す。
【0155】
図36は後述するアクセスチケット設定コマンドの処理によって周辺機器1のRAM22内に保持され、アクセスチケットキャッシュのデータ構造を示す図である。アクセスチケットキャッシュは、セッションキー2401とアクセスチケット2402の対を1レコードとして、複数レコードによって構成されている。ここで保持されているアクセスチケットは、暗号キー306を利用した解読後のものとなっている。
【0156】
図37および図38は後述する管理コマンド生成処理によって生成され、周辺機器1に送信された管理コマンドを、周辺機器1が処理する手順を示すフローチャートである。この処理は周辺機器1上で実行される。この処理手順では、図30および図31のステップS1608までのステップ処理は同一であるので、そのステップ処理を省略し、ステップS1608の判別処理がNO(偽)であった場合、つまり、ユーザ管理モードが「セキュリティドメインに参加」であった場合から示すこととする。
【0157】
まず、セッションキー2304が値0であるか否かを判別する(ステップS2501)。ステップS2501の判別の結果、セッションキー2304が値0である場合、管理コマンド種別2305が「アクセスチケット設定コマンド」であるか否かを判別する(ステップS2502)。「アクセスチケット設定コマンド」でない場合、エラーを返信し(ステップS2507)、処理を終了する。
【0158】
一方、ステップS2502の判別の結果、「アクセスチケット設定コマンド」である場合、管理コマンドパラメータ2307に含まれているアクセスチケットの値を秘密暗号キー306を使用して解読する(ステップS2519)。解読の結果、アクセスチケットの有効性および有効期限を判別する(ステップS2520)。
【0159】
アクセスチケットが有効でない場合、エラーを返信し(ステップS2521)、管理コマンドの処理を終了する。一方、ステップS2520において判別の結果、アクセスチケットが有効である場合、解読されたアクセスチケットの内容を、アクセスチケットに1対1に対応するセッションキーを生成し、セッションキーと共にアクセスチケットキャッシュに保存する(ステップS2503)。生成されたセッションキーを返信し(ステップS2504)、処理を終了する。
【0160】
一方、ステップS2501でセッションキーが値0以外である場合、セッションキーをアクセスチケットキャッシュ内で検索し(ステップS2505)、セッションキーが存在するか否かを判別する(ステップS2506)。判別の結果、エラーを返信し(ステップS2507)、処理を終了する。
【0161】
一方、ステップS2506の判別の結果、セッションキーが存在する場合、アクセスチケットキャッシュからセッションキーに対応するアクセスチケットを取得し、アクセスチケット内のユーザIDを管理コマンド内のユーザID2302に設定し(ステップS2522)、ステップS2508以降のコマンドの種別にしたがった処理を行う。
【0162】
ステップS2508以降の処理では、まず、コマンドの種別2305が「ListJobs」(ジョブの一覧を取得する)であるか否かを判別する(ステップS2508)。判別の結果、コマンドの種別2305が「ListJobs」である場合、周辺機器1内に保持されているジョブの一覧を取得する(ステップS2509)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、各ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0163】
ステップS2509に取得されたジョブのユーザID724と、管理コマンド内に含まれるユーザID2302との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する(ステップS2510)。得られたジョブリストを返信し(ステップS2511)、処理を終了する。
【0164】
一方、ステップS2508の判別の結果、コマンドの種別1505が「CancelJob」(指定されたジョブをキャンセルする)であるか否かを判別する(ステップS2512)。コマンドの種別2305が「CancelJob」でない場合、機器管理コマンドの処理を行い(ステップS2517)、処理を終了する。このステップS2517における機器管理コマンドの処理では、コマンド種別2305によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【0165】
一方、ステップS2512の判別の結果、コマンドの種別1505が「CancelJob」である場合、指定されたジョブの情報を取得する(ステップS2513)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0166】
ジョブのユーザID724と、管理コマンド内に含まれるユーザID2302との比較を行い(ステップS2514)、両者が合致しない場合、管理コマンドの実行失敗を返信し(ステップS2518)、処理を終了する。
【0167】
一方、ステップS2514において、両者が合致した場合、指定されたジョブをキャンセルし(ステップS2515)、管理コマンドの実行成功を返信し(ステップS2516)、処理を終了する。
【0168】
尚、図37および図38で示した管理コマンドの処理手順をジョブ処理時にも適用することによって、図17と図18および図19に示すように、ジョブにアクセスチケットを含ませるのではなく、ジョブにセッションキーを含ませることも可能である。
【0169】
図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を取得終了後から示すこととする。
【0170】
すなわち、ステップS1412またはS1413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子(パラメータ)をディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS2601)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キー306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類304によって一意に予め決められている。
【0171】
ステップS2601で取得したアクセスチケットをコマンドパラメータ2307に設定したアクセスチケット設定コマンドを生成し、周辺機器1に対して送信する(ステップS2602)。ここで送信される管理コマンドは、セッションキー2304が値0、コマンド種別2305が「アクセスチケット設定コマンド」となっている。
【0172】
周辺機器1からの返信がエラーか否かを判別し(ステップS2603)、エラーであった場合、処理を終了する。一方、ステップS2603の判別の結果、エラーでない場合、ステップS2602で取得したセッションキーを管理コマンドのセッションキー2304に設定し、管理コマンドデータの管理コマンド種別2305、コマンドパラメータ長2306、コマンドパラメータ2307に適切な値を設定して周辺機器1に送信する(ステップS2604)。周辺機器1からの返信を処理し(ステップS2605)、処理を終了する。
【0173】
尚、同一周辺機器に対して同一ユーザがジョブ管理コマンドまたは機器管理コマンドを発行する際、既に必要なアクセスチケットが周辺機器に保持されており、それに対するセッションキーを取得済みであるので、ステップS2601からS2603までのステップを省略することができる。これにより、パフォーマンス良く、周辺機器のジョブ管理および機器管理を行うことができる。
【0174】
尚、以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【0175】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記録媒体を、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【0176】
上記実施形態では、各フローチャートに示すプログラムコードは記憶媒体に格納されている。プログラムコードを供給する記憶媒体としては、例えば、ROM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【符号の説明】
【0177】
2、3、4 パーソナルコンピュータ(PC)
3、5 周辺機器(MFP)
6 ディレクトリサーバ
11 コントローラ
21、31 CPU
25、36 ROM
301、302 属性情報
【技術分野】
【0001】
本発明は、プリンタ、スキャナ、複写機、ファクシミリなどの周辺機器を制御する周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体に関する。
【背景技術】
【0002】
従来、プリンタなどの周辺機器は1つまたは複数のユーザ管理モードを有している。複数のユーザ管理モードを有する場合、プリンタのコンソールパネル、あるいはネットワークなどの通信線を介して接続されたコンピュータなどの外部装置で動作する周辺機器制御ソフトウェアにより、現在のユーザ管理モードの設定が行われていた。また、このような周辺機器制御ソフトウェアは、内部で保持するユーザ管理モードにしたがって、ユーザ認証情報を制御コマンドに含ませていた。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、上記従来の周辺機器制御システムでは、以下に掲げる問題があり、その改善が要望された。すなわち、上記周辺機器制御ソフトウェアは、対象とする周辺機器に対し、設定可能なユーザ管理モードに関する情報を保持しておく必要があり、ユーザは周辺機器の種類に応じて複数の周辺機器制御ソフトウェアを用意する必要があった。
【0004】
複数の周辺機器に関する情報を保持している周辺機器制御ソフトウェアの場合、特に問題は起きにくいが、それでも、周辺機器制御ソフトウェアが保持していないユーザ管理モードを装備した周辺機器が新たに接続された場合、それを制御することはできなかった。
【0005】
また、制御コマンドの中に含ませるユーザ認証情報は、周辺機器制御ソフトウェア内で保持するユーザ管理モードで判断されるので、特に周辺機器のユーザ管理モードが変更された場合、制御コマンド中に含まれるユーザ認証情報が適切でなくなり、正しく動作しない場合があった。
【0006】
そこで、本発明は、対象となる周辺機器に対応しているユーザ管理モードの情報を、周辺機器制御ソフトウェアが有していなくとも、この周辺機器を制御することが可能である周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体を提供することを目的とする。
【0007】
また、本発明は、対象となる周辺機器のユーザ管理モードにしたがって、適切なユーザ認証情報を制御コマンドに含ませることによって、常に周辺機器を正しく動作させることができる周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体を提供することを他の目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の請求項1に記載の周辺機器制御システムは、周辺機器および外部装置が通信線を介して接続され、該通信線を介して前記外部装置から制御コマンドを送信して前記周辺機器を制御する周辺機器制御システムにおいて、前記周辺機器の属性情報を保持する属性情報保持手段と、前記制御コマンドを送信して前記保持された属性情報を取得する取得手段と、該取得した属性情報に対して所定の属性情報を設定する設定手段とを備え、該設定される属性情報はユーザ管理モードの情報を含むことを特徴とする。
【0009】
また、前記取得手段は、前記ユーザ管理モードの一覧を取得し、ユーザに前記ユーザ管理モードの選択を促すことを特徴とする。
【0010】
さらに、前記取得手段は、現在設定されているユーザ管理モードを取得することを特徴とする。
【0011】
また、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにパスワードを含むことが必要なモードであることを特徴とする。
【0012】
さらに、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDを含むことが必要なモードであることを特徴とする。
【0013】
また、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDとパスワードを含むことが必要なモードであることを特徴とする。
【0014】
さらに、ユーザ情報および機器情報を一元管理し、資源に対するアクセスを行うために必要なアクセスチケットを発行するディレクトリサーバを備え、前記取得した現在設定されているユーザ管理モードは、前記制御コマンドに前記ディレクトリサーバから発行されたアクセスチケットを含むことが必要なモードであることを特徴とする。
【0015】
請求項8に記載の周辺機器は、通信線を介して接続された外部装置から送信される制御コマンドにしたがって制御される周辺機器において、ユーザ管理モードを含む属性情報を保持する属性情報保持手段と、該保持された属性情報を前記外部装置に送信する送信手段と、前記外部装置から送信された前記制御コマンドにしたがって、所定の属性情報を設定する設定手段とを備えたことを特徴とする。
【0016】
請求項9に記載の外部装置は、通信線を介して制御コマンドを送信して周辺機器を制御する外部装置において、前記周辺機器に保持されたユーザ管理モードを含む属性情報を取得する取得手段と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を前記周辺機器に設定する設定手段とを備えたことを特徴とする。
【0017】
請求項10に記載の周辺機器制御方法は、通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御する周辺機器制御方法において、前記周辺機器のユーザ管理モードを含む属性情報を保持する工程と、該保持された属性情報を取得する工程と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する工程とを有することを特徴とする。
【0018】
請求項11に記載の周辺機器制御ソフトウェアは、通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムを含む周辺機器制御ソフトウェアにおいて、前記プログラムは、前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、該保持された属性情報を取得する手順と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する手順とを含むことを特徴とする。
【0019】
請求項12に記載の記憶媒体は、通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムが記憶された記憶媒体において、前記プログラムは、前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、該保持された属性情報を取得する手順と、該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する手順とを含むことを特徴とする。
【発明の効果】
【0020】
本発明によれば、ネットワークなどの通信線を介して周辺機器からユーザ管理モードを取得し、ユーザ管理モードの一覧を表示してユーザにその選択を促し、選択されたユーザ管理モードを設定することにより、対象となる周辺機器に対応しているユーザ管理モードの情報を、周辺機器制御ソフトウェアが有していなくとも、この周辺機器を制御することが可能である。
【0021】
また、外部装置から送信される制御コマンドに、ユーザ認証情報として、パスワード、ユーザID、ユーザIDおよびパスワード、あるいはディレクトリサーバから発行されたアクセスチケットのいずれかを含ませる必要があることを識別できるようにすることで、対象となる周辺機器のユーザ管理モードにしたがって、適切なユーザ認証情報を制御コマンドに含ませることができ、常に周辺機器を正しく動作させることができる。
【0022】
また、周辺機器制御ソフトウェアにより、ネットワークなどの通信線を介して外部装置からユーザ管理モードを設定することができ、適切なユーザ認証情報を制御コマンドに含ませることができる。その際、設定可能なユーザ管理モードの一覧を表示してユーザにその選択を促すことができる。さらに、周辺制御ソフトウェアにより、入力をユーザに促し、ユーザ入力に応じて、パスワード、ユーザID、ユーザIDおよびパスワード、あるいはディレクトリサーバからのアクセスチケットのいずれかをユーザ認証情報として制御コマンドに含ませることができる。
【図面の簡単な説明】
【0023】
【図1】第1の実施形態における周辺機器制御システムの構成を示すブロック図である。
【図2】周辺機器(MFP1、MFP1)の構成を示すブロック図である。
【図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から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0024】
本発明の周辺機器制御システム、周辺機器、外部装置、周辺機器制御方法、周辺機器制御ソフトウェアおよび記憶媒体の実施の形態を図面を参照しながら説明する。
【0025】
[第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)の属性情報の問い合わせを行う。
【0026】
また、6はユーザ情報および機器情報の一元管理機能を有するディレクトリサーザであり、パーソナルコンピュータなどで構成される。このディレクトリサーバ6は、Kerberosプロトコル(RFC1510)におけるKDC(Key Distribution Server)の機能も有しており、Kerberosプロトコルの規定にしたがって、TGT(チケット生成チケット)の発行および指定された資源に対するアクセスを行うために必要なアクセスチケットの発行を行う。
【0027】
さらに、このディレクトリサーバ6には、MFP1(1)およびMFP2(5)が既に登録されているものとする。このデータの参照および更新は、LDAPプロトコル(RFC1777)を使用することにより、PC(1)2、PC(2)3から行うことが可能である。ディレクトリサーバ6で管理されている各ユーザ情報には、ユーザ名、パスワード、ユーザの印刷可能枚数、ユーザの累積印刷枚数が含まれる。また、ディレクトリサーバ6で管理されている各機器情報には、機器名、機器の秘密暗号キーが含まれる。
【0028】
図2は周辺機器(MFP1、MFP1)の構成を示すブロック図である。図において、11は周辺機器を制御するためのコントローラである。12はコントローラ11が周辺機器の外部と通信するための通信インターフェースであり、例えば、イーサネット(登録商標)インターフェース、IEEE1284インターフェースあるいはその他の通信インターフェースである。
【0029】
13はスキャナエンジンであり、コントローラ11によって制御されている。14はプリンタエンジンであり、コントローラ11によって制御されており、例えば、レーザービームプリンタ、インクジェットプリンタあるいはその他のプリンタである。
【0030】
15は画像の送受信などの通信制御を行うFAX機能を実現するFAXボードであり、コントローラ11によって制御されている。16はユーザインターフェースであり、LCDディスプレイおよびキーボードから構成されており、コントローラ11からの情報表示を行うとともに、ユーザからの指示をコントローラ11に伝える。
【0031】
このような構成を有する周辺機器は、プリンタエンジン14を選択し、プリントジョブの発行を可能にする。また、プリンタエンジン14およびスキャナエンジン13を選択し、コピージョブの発行を可能にする。また、プリンタエンジン14、スキャナエンジン13、FAXボード15を選択し、FAX受信ジョブおよびFAX送信ジョブの発行を可能にする。
【0032】
図3はコントローラ11のハードウェア構成を示すブロック図である。コントローラ11では、CPU21、RAM22、LCD23、キーボード24、ROM25、通信インターフェース26、スキャナエンジン27、プリンタエンジン28、FAXボード29およびDISK30がシステムバス20を介して相互に接続されている。
【0033】
コントローラ11を制御するプログラムは、ROM25あるいはDISK30に記憶されており、必要に応じてRAM22に読み出され、CPU21によって実行される。また、ROM25あるいはDISK30には、制御プログラム以外に周辺機器やこの周辺機器で処理されるジョブの機能および状態を示す属性情報、出力の対象となるジョブデータなどが記憶されている。さらに、CPU21はLCD23で表示を行い、キーボード24からユーザの指示を受ける。また、CPU21が通信インターフェース26を通じて外部と通信を行う。
【0034】
本実施形態では、特に断らない限り、周辺機器(図2)では、CPU21は、システムバス20を介してキーボード24からユーザの入力を受け取り、かつRAM22、LCD23、ROM25、通信インターフェース26、スキャナエンジン27、プリンタエンジン28、FAXボード29およびDISK30を制御する。
【0035】
図4はネットワークシステムを構成するPCのハードウェア構成を示すブロック図である。PCでは、CPU31、RAM32、CRT33、キーボード34、ポインティングデバイス35、ROM36、DISK37および通信インターフェース38はシステムバス40を介して相互に接続されている。PCを制御するプログラムは、ROM36もしくはDISK37に記憶されており、必要に応じてRAM32に読み出され、CPU31によって実行される。また、CPU31はCRT33を通して表示を行い、キーボード34およびポインティングデバイス35からユーザの指示を受ける。また、CPU31は通信インターフェース36を通じて外部と通信を行う。
【0036】
本実施形態では、特に断らない限り、PCでは、CPU31がシステムバス40を介してキーボード34やポインティングデバイス35からユーザの入力を受け取り、かつRAM32、CRT33、ROM36、DISK37、通信インターフェース38を制御する。また、周辺機器に対するユーザの指示およびユーザへの情報表示は、ローカルなユーザインターフェース16を通して行ってもよいし、PC(1)、PC(2)あるいはPC(3)のようなネットワーク10に接続されたクライアントとなる機器を通して行ってもよい。
【0037】
図5は周辺機器1で保持されている属性情報を示す図である。周辺機器2(5)は周辺機器1と同じデータ構造を有するが、保持されている値は異なっている。これらの情報は、ROM25、RAM22あるいはDISK30に保持されており、後述する処理によりPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定することができる。
【0038】
図において、301は、「サポートしているユーザ管理モードのリスト」属性であり、「”ユーザ管理なし”,”パスワード”,”ユーザID”,”ユーザIDとパスワード”,”セキュリティドメインに参加”」の複数の値をリストとして保持している。
【0039】
302は、「現在のユーザ管理モード」属性であり、「セキュリティドメインに参加」を値として保持している。303は、「対応可能なディレクトリサーバの種類のリスト」属性であり、値として「”標準LDAPサーバ”,”Active Directory(MS)”,”NDS(Novell)”,”Open LDAP”」の複数の値をリストとして保持している。
【0040】
304は、「現在対応しているディレクトリサーバの種類」属性であり、「”Active Directory(MS)”」を値として保持している。305は、「現在対応しているディレクトリサーバのIPアドレス」属性であり、「123.56.54.21」を値として保持している。306は、「機器の秘密暗号キー」属性であり、「0x34q4bffcdca001」を値として保持している。この値は、「現在のユーザ管理モード」属性が「セキュリティドメインに参加」の場合に有効となるものであり、ディレクトリサーバ6から発行されたアクセスチケットを解釈するために使用される。
【0041】
307は、「ディレクトリサーバ接続不可時に使用許可するかどうか」属性であり、「TRUE」を値として保持している。308は、「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性であり、「”無制限”、”時間制限”、”時間制限&固定最大枚数で制限”、”時間制限&最大枚数で制限”、”固定最大枚数で制限”、”最大枚数で制限”、”ログイン毎に制限”」の複数の値をリストとして保持している。
【0042】
309は、「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性であり、「時間制限」を値として保持している。310は、「時間制限の長さ」属性であり、「48時間」を値として保持している。311は、「最大枚数の日毎の削減割合」属性であり、「30」を値として保持している。312は、「最大枚数」属性であり、「100」を値として保持している。313は、「ログイン毎の最大枚数」属性であり、「20」を値として保持している。
【0043】
図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)。
【0044】
ユーザの入力を待ち(ステップS1705)、ユーザからの入力にしたがって、属性情報である「現在のユーザ管理モード」属性302を設定し(ステップS1706)、処理を終了する。この属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、このコマンドを処理することにより行われる。
【0045】
図7はステップS1705におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、101はユーザが選択可能なユーザ管理モードの一覧(属性301)を表示している。現在設定されているユーザ管理モードの属性302は図中、102で反転表示されている。ユーザは、所望のユーザ管理モードを選択して反転表示させた上で、OKボタン103を押すことにより、ステップS1706の処理を実行してユーザ管理モードの設定を行う。
【0046】
尚、図6の処理手順の実行は、PCの代わりに、ユーザ管理モードを変更する対象である周辺機器1自身のコントローラ11で行われ、図7の表示も周辺機器に装備されているユーザインターフェース16上で行われるようにしてもよい。また、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0047】
図8は周辺機器1に対応するディレクトリサーバをPC(1)2、PC(2)3、PC(3)4から表示・変更する場合の動作処理手順を示すフローチャートである。この処理手順は、PC(1)2、PC(2)3、PC(3)4上で行われる。
【0048】
まず、属性情報303を取得する(ステップS1801)。この属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(ステップS1802)。
【0049】
さらに、属性情報304を取得し(ステップS1803)、得られた属性情報304をCRT33に表示する(ステップS1804)。属性情報305を取得し(ステップS1805)、得られた属性情報305をCRT33に表示する(ステップS1806)。
【0050】
ユーザの入力を待ち(ステップS1807)、ユーザからの入力にしたがって、属性情報304、305を設定する(ステップS1808)。この属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【0051】
図9はステップS1807におけるユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、201は、ユーザが選択可能なディレクトリサーバの種類の一覧(属性303)を表示している。現在設定されているディレクトリサーバの種類(属性304)は、図中、202で反転表示されている。さらに、アドレス部203には、現在設定されているディレクトリサーバのIPアドレス305が表示されている。ユーザは、所望のディレクトリサーバの種類を選択して反転表示させ、所望のIPアドレスをアドレス部203に入力した上で、OKボタン204を押すことにより、ステップS1808の処理を実行し、対応するディレクトリサーバの設定を行う。
【0052】
尚、図8に示す処理の実行は、PCの代わりに、対応するディレクトリサーバを変更する対象である周辺機器1自身のコントローラ11で行われ、図9に示す表示も周辺機器に装備されているユーザインターフェース16で行われるようにしてもよい。また、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0053】
図10は周辺機器1がディレクトリサーバ6に接続できない場合にログインをどの様に許可するかを、PC(1)2、PC(2)3、PC(3)4から表示・変更する場合の処理手順を示すフローチャートである。この処理手順はPC(1)2、PC(2)3、PC(3)4上で行われる。
【0054】
まず、属性情報である「ディレクトリサーバ接続不可時に使用する場合の制限の種類のリスト」属性308を取得する(ステップS2201)。属性情報の取得は、PC(1)2、PC(2)3、PC(3)4から属性取得用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。得られた属性情報をCRT33に表示する(ステップS2202)。
【0055】
属性情報である「現在のディレクトリサーバ接続不可時に使用する場合の制限の種類」属性309を取得し(ステップS2203)、得られた属性情報をCRT33に表示する(ステップS2204)。さらに、属性情報である「ディレクトリサーバ接続不可時に使用許可するかどうか」属性307を取得する(ステップS2205)。得られた属性情報をCRT33に表示する(ステップS2206)。
【0056】
そして、ユーザの入力を待ち(ステップS2207)、ユーザからの入力にしたがって属性情報309、307を設定し(ステップS2208)、処理を終了する。属性情報の設定は、PC(1)2、PC(2)3、PC(3)4から属性設定用コマンドを周辺機器1に対して送信し、周辺機器1において、後述する処理手順にしたがってこのコマンドを処理することにより行われる。
【0057】
図11はステップS2207のユーザ入力待ちの状態でCRT33に表示されたユーザインターフェース画面を示す図である。図中、2102は、「Directory Server接続不可時に使用する場合の制限の種類のリスト」属性308の内容を表示しており、「現在のDirectory Server接続不可時に使用する場合の制限の種類」属性309の値は、図中、2103で反転表示されている。さらに、「Directory Server接続不可時に使用許可するかどうか」属性307の値がチェックボックス2101に表示されている。ユーザは、所望の設定を行った上で、OKボタン2104を押すことにより、ステップS2208の処理を実行して属性情報の設定を行う。
【0058】
尚、図10に示す処理の実行は、PCの代わりに、設定を変更する対象である周辺機器1自身のコントローラ11で行われ、図11に示す表示も周辺機器に装備されているユーザインターフェース16で行われるようにしてもよい。さらに、他の周辺機器2(5)上で実行・表示されるようにしてもよい。
【0059】
図12および図13は周辺機器1に対してPC(1)2、PC(2)3、PC(3)4からプリントジョブ、スキャナジョブ、ファックス送信ジョブあるいはコピージョブを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で行われる。
【0060】
まず、周辺機器1が保持する属性情報である「現在のユーザ管理モード」属性302を取得する(ステップS401)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS402)。判別の結果、ユーザ管理なしである場合、ジョブに必要な他の情報をジョブに設定した上で周辺機器1に対してジョブを発行する(ステップS403)。この後、処理を終了する。
【0061】
一方、ステップS402で、ユーザ管理ありである場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS404)。判別の結果、パスワードである場合、CRT33上にパスワード入力を促すユーザインターフェースを表示する(ステップS405)。そして、ステップS403において、入力されたパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0062】
一方、ステップS404で判別の結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS406)。判別の結果、ユーザIDである場合、CRT33にユーザID入力を促すユーザインターフェースを表示する(ステップS407)。そして、ステップS403において、入力されたユーザIDおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0063】
一方、ステップS406で判別の結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS408)。判別の結果、ユーザIDとパスワードである場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェースを表示する(ステップS409)。そして、ステップS403において、入力されたユーザIDとパスワードおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行する。
【0064】
一方、ステップS408で判別の結果、ユーザIDとパスワードでない場合、使用しているPCにおいて、ユーザはディレクトリサーバ6が管理するセキュリティドメインに既にログインしているか否かを判別する(ステップS410)。この判別は、使用しているPCのオペレーティングシステムに対して問い合わせることによって行われる。判別の結果、ログイン済みでない場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェースを表示し(ステップS411)、これらの情報をディレクトリサーバ6にKerberosプロトコルを使用して送ることにより、TGT(チケット生成チケット)情報を取得する(ステップS413)。
【0065】
一方、ステップS410の判別結果、ログイン済みである場合、既にログインしているので、オペレーティングシステムに対して現在のセッションで使用しているTGTを要求して取得する(ステップS412)。
【0066】
ステップS412あるいはS413において取得したTGTを使用し、オペレーティングシステムによって保持されているユーザ名、あるいはステップS411で入力されたユーザ名に該当するユーザの印刷可能枚数情報をKerberosプロトコルおよびLDAPプロトコルによりディレクトリサーバ6から取得する(ステップS414)。
【0067】
このあと、印刷可能枚数が1枚以上であるか否かを判別し(ステップS415)、判別の結果、1枚以上でなく印刷できない場合、ジョブ発行ができない旨を表すユーザインターフェース画面をCRT33に表示し(ステップS416)、処理を終了する。
【0068】
一方、ステップS415の判別結果、印刷可能枚数が1枚以上で印刷可能である場合、ステップS412あるいはS413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子のパラメータをディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS417)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キーの属性情報306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類(属性情報304)によって一意に予め決められている。
【0069】
そして、ステップS417で取得したアクセスチケットおよびジョブに必要な他の情報をジョブに設定した上で、周辺機器1に対してジョブを発行し(ステップS418)、処理を終了する。
【0070】
図14はステップS403におけるジョブ発行処理手順を示すフローチャートである。まず、ジョブに必要な属性について属性設定コマンドのパラメータを設定する(ステップS502)。このパラメータは設定対象の属性名とそれに対する値とから構成されている。ステップS502で作成された属性設定コマンドを周辺機器1に対して送信する(ステップS503)。必要なジョブ属性の設定が完了したか否かを判別し(ステップS504)、完了していない場合、ステップS502の処理を繰り返す。
【0071】
一方、ステップS504で必要なジョブ属性の設定が完了した場合、ジョブデータ送信コマンドによりアプリケーションなどで作成された画像データなど、ジョブ処理の対象となるデータをこの周辺機器に送信する(ステップS505)。ジョブ投入コマンドの送信完了を示すジョブ投入完了通知コマンドを送信し(ステップ506)、処理を終了する。
【0072】
図15および図16は周辺機器1が図14の処理によって発行されたジョブを受信したときのジョブ投入コマンド受信処理手順を示すフローチャートである。この処理はジョブを構成するコマンドを受信する度に周辺機器1によって実行される。
【0073】
受信したコマンドおよびそのパラメータを解析する(ステップ601)。この解析の結果、受信したコマンドが属性設定コマンドであるか否かを判別する(ステップ602)。受信したコマンドが属性設定コマンドである場合、属性が周辺機器1に解釈可能であるか否かを判別する(ステップS603)。
【0074】
解釈可能である場合、ステップ601で得られた解析結果にしたがって、指定された属性名と属性値の対を、RAM22またはDISK30にジョブデータとして保存し(ステップS604)、処理を終了する。一方、ステップS603で解釈不可能である場合、受信した属性設定コマンドで指定された属性は設定不可能であり、属性が設定できなかったことを返信し(ステップS616)、処理を終了する。
【0075】
一方、ステップS602で、受信したコマンドが属性設定コマンドでない場合、ステップS601で得られた解析結果から受信コマンドがジョブデータ送信コマンドであるか否か判別する(ステップS611)。ジョブデータ送信コマンドである場合、コマンドに続いて受信するジョブデータをRAM22あるいはDISK30に保存し(ステップ612)、処理を終了する。
【0076】
一方、ステップS611で、ジョブデータ送信コマンドでない場合、ステップ601で得られた解析結果から受信コマンドがジョブ投入終了通知コマンドであるか否かを判別する(ステップS613)。ジョブ投入終了通知コマンドである場合、RAM22あるいはDISK30に保持されたジョブデータの処理を開始する(ステップS614)。一方、ジョブ投入終了通知コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い(ステップ615)、処理を終了する。
【0077】
図17は図15および図16の処理により周辺機器1内で保持されたジョブのデータ構造を示す図である。このジョブは、ジョブの機能・属性を表す属性のリスト701とジョブの処理対象となるデータを表すジョブデータ702とから構成される。ジョブデータ702は、ジョブの種別によってはなくてもよい。属性のリスト701は、属性名711とこれに対応する属性値712との対のリストとなっている。
【0078】
図において、721はジョブが印刷ジョブであることを表す。722はジョブの開始モードが保留であることを表す。723はユーザ管理モードが「セキュリティドメインに参加」であることを表しており、ジョブのユーザ情報としてアクセスチケット726を使用することを示している。724はユーザ管理モードが「ユーザID」または「ユーザIDとパスワード」である場合、ユーザIDが設定される属性である。725はユーザ管理モードが「パスワード」または「ユーザIDとパスワード」である場合、パスワードが設定される属性である。726はユーザ管理モードが「セキュリティドメインに参加」である場合、アクセスチケットが設定される属性である。尚、属性724、725、726としては、属性723の内容にしたがって必要なものだけをジョブデータに設定してもよい。
【0079】
図18および図19は図17で示された周辺機器1に保持されたジョブデータの処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS801)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS802)。
【0080】
判別の結果、ユーザ管理なしの場合、属性723、724、725、726を除く属性の処理を行い(ステップS803)、これらの属性に基づき、ジョブデータ処理を行う(ステップS810)。ジョブの処理結果をログに記録し(ステップS811)、処理を終了する。このログはRAM22あるいはDISK30に保存される。
【0081】
一方、ステップS802の判別の結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS804)。判別の結果、パスワードである場合、予めRAM22あるいはDISK30に保持されているパスワード値と属性情報725との比較を行い(ステップS805)、合致していた場合、ステップS803でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【0082】
一方、ステップS804の判別結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS806)。判別の結果、ユーザIDである場合、予めRAM22あるいはDISK30に保持されているユーザID値と属性情報724との比較を行い(ステップS807)、合致していた場合、ステップS803でジョブの処理を継続する。一方、合致しなかった場合、ジョブの処理を中止する。
【0083】
ステップS806の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS808)。判別の結果、「ユーザIDとパスワード」である場合、予めRAM22またはDISK30に保持されているユーザID値およびパスワード値と、属性情報724、725とそれぞれの比較を行い(ステップS809)、両者が合致していた場合、ステップS803でジョブの処理を継続する。合致しなかった場合、ジョブの処理を中止する。
【0084】
一方、ステップS808の判別結果、「ユーザIDとパスワード」でない場合、アクセスチケットの値726を、属性情報306である秘密暗号キーを使用して解読する(ステップS812)。そして、アクセスチケットが有効であるか否かを判別する(ステップS813)。アクセスチケットの値を解読できなかった場合、あるいはアクセスチケット内で保持される印刷可能枚数が値0である場合、ステップS813でアクセスチケットは無効であると判別し、ジョブデータを破棄し(ステップS814)、処理を終了する。
【0085】
一方、ステップS813において、アクセスチケットが有効であると判別された場合、アクセスチケット内のユーザIDに該当するユーザの印刷可能枚数情報をKerberosプロトコルおよびLDAPプロトコルによりディレクトリサーバ6から取得する(ステップS815)。
【0086】
印刷可能枚数が1枚以上で印刷可能であるか否かを判別し(ステップS816)、印刷不可能である場合、ジョブデータを破棄し(ステップS817)、処理を終了する。一方、ステップS816の判別結果、印刷可能である場合、属性値723、724、725、726を除く属性の処理を行い(ステップS818)、これらの属性に基づき、ジョブデータ処理を行う(ステップS819)。尚、この処理において、ステップS815の処理から得られる印刷可能枚数を越えないように監視し、最大印刷可能枚数を越えた場合、ジョブデータの処理を異常終了させる。ジョブが正常終了した場合および異常終了した場合のいずれの場合も、ジョブの処理結果をログに記録し(ステップS820)、処理を終了する。ログには、ユーザIDおよびジョブで印刷した枚数が記録され、RAM22またはDISK30に保存される。
【0087】
尚、本実施形態では、図15および図16の処理において、一旦、ジョブデータを周辺機器1の中に構築した後、改めて図18および図19の処理において、ジョブデータの処理を行っているが、他の実施形態として、図15および図16と図18および図19の処理を合体させ、ジョブの解析と同時にジョブの処理を行うようにしてもよい。
【0088】
また、本実施形態では、ステップS813でアクセスチケット内の印刷可能枚数を判別し、さらに、ステップS815、S816においてディレクトリサーバ6に保持されているユーザの印刷可能枚数を判別しているが、他の実施形態として、ステップS813におけるアクセスチケット内の印刷可能枚数の判別、あるいはステップS815、S816におけるディレクトリサーバ6に保持されているユーザの印刷可能枚数の判別のどちらか一方を省略してもよい。
【0089】
また、本実施形態では、ジョブの結果の記録をログとして、ステップS820において周辺機器内1内に保持しているが、ディレクトリサーバ6に保持されている、このユーザの印刷可能枚数および累積印刷枚数をジョブで印刷した枚数によって更新してもよい。印刷可能枚数の更新は、ディレクトリサーバ6に保持されているユーザIDによって示されるユーザの印刷可能枚数および累積印刷枚数をLDAPプロトコルにより取得し、この印刷可能枚数からジョブで印刷した枚数を減じ、更に累積印刷枚数にジョブで印刷した枚数を加え、得られたこれらの値をLDAPプロトコルによりディレクトリサーバ6に設定することにより、行われる。
【0090】
図20および図21は周辺機器1のLCD23に表示されるログイン画面の処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS901)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS902)。
【0091】
判別の結果、ユーザ管理なしである場合、ログイン情報をRAM22に保存する(ステップS903)。ログイン情報には、ログインした時点でのユーザ管理モード、ユーザID、印刷可能枚数が保持されている。印刷可能枚数はログイン期間内でコンソールから発行されたプリントジョブ、コピージョブなどの印刷を伴うジョブで使用した印刷枚数により順次更新され、印刷可能枚数が値0になった時点でジョブは終了する。
【0092】
ステップS903において、印刷可能枚数は無限大に設定される。ログイン情報内のユーザIDはジョブで使用した印刷枚数と共にログに記録される。ステップS903の処理後、印刷保留ジョブの処理を行い(ステップS924)、処理を終了する。
【0093】
一方、ステップS902の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS904)。判別の結果、パスワードありの場合、LCD23にパスワード入力を促すユーザインターフェース画面を表示し、入力されたパスワードと予めRAM22またはDISK30に保持されているパスワード値との比較を行い(ステップS905)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0094】
一方、ステップS904の判別結果、パスワードなしの場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS906)。ユーザIDである場合、LCD23にユーザID入力を促すユーザインターフェース画面を表示し、入力されたユーザIDを予めRAM22またはDISK30に保持されているユーザID値との比較を行い(ステップS907)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0095】
一方、ステップS906の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS908)。判別の結果、ユーザIDとパスワードである場合、LCD23にユーザIDとパスワード入力を促すユーザインターフェース画面を表示し、入力されたユーザIDとパスワードを予めRAM22またはDISK30に保持されているユーザID値とパスワード値との比較を行い(ステップS909)、合致していた場合、ステップS903でログインの処理を継続する。合致しなかった場合、ログイン不可として処理を中止する。
【0096】
ステップS908の判別結果、ユーザIDとパスワードでない場合、属性情報305で示されるディレクトリサーバへのアクセスを試み、接続可能であるか否かを判別する(ステップS910)。
【0097】
アクセス可能である場合、LCD23にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し(ステップS912)、入力されたユーザ名とパスワードを使用してKerberosプロトコルによりディレクトリサーバ6からアクセスチケットを取得する(ステップS914)。
【0098】
一方、ユーザ名とパスワードが誤っていた場合など、ディレクトリサーバ6からユーザ名またはパスワードが不正であるとのエラーが返信された場合、ステップS912において、再度、ユーザ名とパスワードの入力を促すユーザインターフェース画面を表示する。
【0099】
そして、ディレクトリサーバから取得したアクセスチケットを秘密暗号キー306を使用して解読する(ステップS915)。アクセスチケットの有効性を判別する(ステップS916)。この判別は、チケットが有効期限以内であるか否か、および印刷可能枚数が1枚以上であるか否かを調べることにより行われる。ステップS916の判別結果、アクセスチケットが有効でない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をLCD23に表示し(ステップS917)、処理を終了する。
【0100】
一方、ステップS916の判別の結果、アクセスチケットが有効である場合、ログイン情報の保存およびユーザ情報キャッシュの更新を行う(ステップS925)。ログイン情報のうち、印刷可能枚数については、アクセスチケットで保持されていた枚数を設定する。図22はユーザ情報キャッシュのデータ構造を示す図である。このユーザ情報キャッシュは、RAM22またはDISK30に保持されている。ユーザ情報キャッシュの更新は、アクセスチケット取得する際に使用したユーザ名とパスワード、アクセスチケット内のユーザIDと印刷可能枚数、およびログインの日時をデータとして追加することにより行われる。既に同じユーザ名がユーザ情報キャッシュ内に存在する場合、既存情報の更新を行う。そして、ステップS925の処理後、印刷保留ジョブの処理を行い(ステップS922)、処理を終了する。
【0101】
一方、ステップS910において、ディレクトリサーバ6にアクセス不能な場合、属性情報(ディレクトリサーバ接続不可時に使用許可するかどうか)307を取得し、サーバ接続不可でも利用可能であるか否かを判別する(ステップS911)。使用許可されない場合、現在ログインすることができないことを表すユーザインターフェース画面をLCD23上に表示し(ステップS920)、処理を終了する。
【0102】
一方、ステップS911で使用不許可である場合、LCD23にユーザ名とパスワード入力を促すユーザインターフェース画面を表示し(ステップS918)、入力されたユーザ名とパスワードの組がRAM22またはDISK30に保持されているユーザ情報キャッシュ内に存在するか否かを判別する(ステップS919)。この判別の結果、ユーザ情報キャッシュ内に存在しない場合、このユーザ名では機器を現在使用することができないことを表すユーザインターフェース画面をLCD23上に表示し(ステップS921)、処理を終了する。
【0103】
一方、ステップS919の判別の結果、ユーザ名とパスワードの組がユーザ情報キャッシュの中に存在する場合、後述する処理によって印刷可能枚数の算出を行い、この値およびユーザIDをログイン情報として保存する(ステップS923)。また、ログイン情報内のユーザ管理モードには「セキュリティドメインに参加(ディレクトリサーバに接続不能)」の値が設定される。ステップS923の処理後、印刷保留ジョブの処理を行い(ステップS922)、処理を終了する。
【0104】
このログイン処理で保存されたログイン情報は、ログインセッション内のジョブ発行において動作の制限および記録のために使用される。すなわち、ログイン情報内の印刷可能枚数を越えて印刷が行われた場合、ジョブを中止する。またジョブ内で印刷された印刷枚数はログイン情報の印刷可能枚数から引かれる。
【0105】
さらに、ログイン情報内のユーザ管理モードが「セキュリティドメインに参加(ディレクトリサーバに接続不能)」である場合、機器で保持されている属性情報「Directory Server接続不可時に使用する場合の制限の種類のリスト」308の内容にしたがって、最大印刷枚数312またはユーザ情報キャッシュの印刷可能枚数1013の値からジョブ内で印刷した枚数を減ずることにより、値を更新する。ログイン情報内のユーザIDは、ログインセッション内で発行されたジョブで印刷した枚数と共にログに記録される。そして、ユーザがログオフした時点で、ログイン情報は破棄される。
【0106】
尚、本実施形態では、ディレクトリサーバに接続可能な場合でも、ステップS925において、ログイン情報はログインした時点での印刷可能枚数を保持し、ログイン期間内でコンソールから発行されたジョブによってのみ印刷可能枚数が更新されるが、ディレクトリサーバに接続可能な場合、ジョブの発行直前にディレクトリサーバで保持されている、このユーザの印刷可能枚数を取得し、これにより印刷可能枚数を制限することも可能である。この場合、ステップS925で保持されるログイン情報にTGTを含ませ、これによってジョブの発行直前にディレクトリサーバ6に保持されているユーザの印刷可能枚数をKerberosプロトコルおよびLDAPプロトコルにより取得する。
【0107】
図20および図21の処理で更新されるユーザ情報キャッシュのデータは、前述したようにRAM22またはDISK30に保持されている。データは1行が1レコードの集合として表されており、1レコードはユーザ名1010、パスワード1011、ユーザID1012、印刷可能枚数1013およびログイン日時1014から構成されている。
【0108】
図23はステップS924およびS922における印刷保留ジョブの処理手順を示すフローチャートである。この処理は周辺機器1上で行われる。周辺機器1内で印刷の実行が保留されているジョブの一覧を取得する(ステップS1101)。
【0109】
図20および図21で保持されたログイン情報内のユーザIDと、ステップS1101で取得した各ジョブが属性として含まれるユーザIDとを比較し、両者が合致するジョブのリストを作成する(ステップS1102)。ここで比較するジョブのユーザIDは、ジョブ内にアクセスチケット726が存在する場合、アクセスチケットを解読することにより取得して使用され、そうでない場合、ジョブ内に含まれるユーザID724が使用される。
【0110】
ステップS1102の処理の結果、リストが空であるか否かを判別し(ステップS1103)、判別の結果、空でない場合、処理を終了する。
【0111】
一方、ステップS1103で空である場合、ユーザIDが合致したジョブの一覧をユーザインターフェース画面としてLCD23に表示する(ステップS1104)。図24はステップS1104でLCD23に表示されるユーザインターフェース画面を示す図である。図中、1202はステップS1102で作成されたジョブのリストを表示している。1203はジョブを実行させるためのOKボタンであり、1204はジョブを実行させないでユーザインターフェース画面を閉じるキャンセルボタンである。
【0112】
そして、OKボタン1203、キャンセルボタン1204のどちらが押されたかを判別し(ステップS1105)、キャンセルボタンが押された場合、ユーザインターフェース画面を閉じて終了する。一方、OKボタンが押された場合、ステップS1102で生成したリスト中にあるジョブを実行し(ステップS1105)、処理を終了する。
【0113】
図25および図26は周辺機器1がPC(1)2、PC(2)3、PC(3)4から個々の属性情報を取得あるいは設定するためのアクセスコマンドを受信したときの処理手順を示すフローチャートである。まず、受信したコマンドおよびそのパラメータを解析する(ステップS1301)。
【0114】
この解析の結果から受信コマンドが属性獲得コマンドであるか否かを判別する(ステップS1302)。属性獲得コマンドである場合、属性獲得コマンドによって指定された属性が獲得可能であるか否かを判別する(ステップS1303)。属性が獲得可能である場合、周辺機器内に保持する属性の値を取得し(ステップS1304)、取得した属性値を返信コマンドのパラメータにセットし、属性獲得コマンドに対する返信コマンドをドライバソフトウェアに送信し(ステップS1305)、処理を終了する。
【0115】
一方、ステップ1303で属性が獲得可能でない場合、属性の獲得に失敗したことをドライバソフトウェアに通知する処理を行い(ステップS1317)、処理を終了する。
【0116】
また一方、ステップS1302で属性獲得コマンドでない場合、ステップ1301での解析の結果から受信コマンドが属性値変更コマンドであるか否かを判別する(ステップS1311)。属性値変更コマンドである場合、属性値変更コマンドによって指定された属性が変更可能であるか否かを判別する(ステップS1312)。
【0117】
変更可能である場合、指定されたコマンドパラメータにしたがって、指定された属性を指定された属性値に変更し(ステップS1313)、属性値の変更が成功したことをドライバソフトウェアに通知する処理を行い(ステップS1314)、処理を終了する。一方、変更不可能である場合、属性値の変更に失敗したことをドライバソフトウェアに通知する処理を行い(ステップS1315)、処理を終了する。一方、ステップS1311で属性変更コマンドでない場合、受信コマンドはその他のコマンドであり、その他のコマンドに依存した処理を行い(ステップS1316)、処理を終了する。
【0118】
図27および図28は周辺機器1に対してPC(1)2、PC(2)3、PC(3)4から機器管理、ジョブ管理などの管理コマンドを発行する処理手順を示すフローチャートである。この処理はPC(1)2、PC(2)3、PC(3)4上で実行される。まず、周辺機器1が保持する属性情報(現在のユーザ管理モード)302を取得する(ステップS1401)。
【0119】
属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS1402)。判別の結果、ユーザ管理なしである場合、図29で示される管理コマンドを生成し、周辺機器1に対して送信する(ステップS1403)。図29は管理コマンドのデータ構造を示す図である。図において、1501はユーザ管理モードを表し、ユーザID1502、パスワード1503、アクセスチケット1504のうち、どの情報が有効であるかを示す。また、1505はコマンドの種別を表す。さらに、1506はコマンドに必要なパラメータ1507の長さを表す。
【0120】
周辺機器1は、受信した管理コマンドを図30および図31に示される処理手順によって処理し、その結果を送信する。周辺機器1から送られた返信を処理する(ステップS1417)。この処理は、ステップS1403によって送られた管理コマンドの処理によって異なり、特に管理コマンドが周辺機器内で保持されているジョブの一覧を取得するためのコマンドである「ListJobs」であった場合、返信に含まれているジョブの一覧をCRT33にユーザインターフェース画面として表示する。この後、本処理を終了する。
【0121】
一方、ステップS1402の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS1404)。判別の結果、パスワードある場合、CRT33にパスワード入力を促すユーザインターフェース画面を表示する(ステップS1405)。そして、ステップS1403において入力されたパスワードを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0122】
一方、ステップS1404の判別結果、パスワードなしの場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS1406)。判別の結果、ユーザIDであった場合、CRT33にユーザID入力を促すユーザインターフェース画面を表示する(ステップS1407)。そして、ステップS1403において入力されたユーザIDを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0123】
一方、ステップS1406の判別の結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS1408)。判別の結果、ユーザIDとパスワードである場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェースを表示する(ステップS1409)。そして、ステップS1403において、入力されたユーザIDとパスワードを設定した管理コマンドを生成し、周辺機器1に対して送信する。
【0124】
一方、ステップS1408の判別結果、ユーザIDとパスワードでない場合、使用しているPCにおいて、ユーザはディレクトリサーバ6が管理するセキュリティドメインに既にログインしているか否かを判別する(ステップS1410)。この判別は、使用しているPCのオペレーティングシステムに対して問い合わせることによって行われる。
【0125】
判別の結果、ログイン済みでない場合、CRT33にユーザIDとパスワード入力を促すユーザインターフェース画面を表示し(ステップS1411)、これらの情報をディレクトリサーバ6にKerberosプロトコルを使用して送ることにより、TGT(チケット生成チケット)情報を取得する(ステップS1413)。
【0126】
一方、ステップS1410の判別結果、ログイン済みの場合、既にログインしているので、オペレーティングシステムに対して現在のセッションで使用しているTGTを要求して取得する(ステップS1412)。
【0127】
ステップS1412またはS1413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子(パラメータ)をディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS1414)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キー306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類304によって一意に予め決められている。
【0128】
ステップS1414で取得したアクセスチケットを設定した管理コマンドを生成し、周辺機器1に対して送信する(ステップS1415)。この後、ステップS1417と同じ返信の処理を行う(ステップS1416)。この後、処理を終了する。
【0129】
図30および図31は図27および図28の処理によって生成され、周辺機器1に送信された管理コマンドを周辺機器1が処理する手順を示すフローチャートである。この処理は周辺機器1上で実行される。
【0130】
まず、属性情報(現在のユーザ管理モード)302を取得する(ステップS1601)。属性情報302の値が「ユーザ管理なし」であるか否かを判別する(ステップS1602)。判別の結果、ユーザ管理なしの場合、値0を管理コマンド内のユーザID1502に設定し(ステップS1603)、ステップS1613以降のコマンドの種別にしたがった処理を行う。
【0131】
一方、ステップS1602の判別結果、ユーザ管理ありの場合、属性情報302の値が「パスワード」であるか否かを判別する(ステップS1604)。判別の結果、パスワードである場合、予めRAM22またはDISK30に保持されているパスワード値とパスワード1503との比較を行い、合致していた場合、値0を管理コマンド内のユーザID1502に設定する(ステップS1605)。この後、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0132】
一方、ステップS1604の判別結果、パスワードでない場合、属性情報302の値が「ユーザID」であるか否かを判別する(ステップS1606)。判別の結果、ユーザIDである場合、予めRAM22またはDISK30に保持されているユーザID値とユーザID1502との比較を行う(ステップS1607)。合致していた場合、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0133】
一方、ステップS1606の判別結果、ユーザIDでない場合、属性情報302の値が「ユーザIDとパスワード」であるか否かを判別する(ステップS1608)。判別の結果、ユーザIDとパスワードである場合、予めRAM22またはDISK30に保持されているユーザID値およびパスワード値と、ユーザID1502およびパスワード1503との比較をそれぞれ行い(ステップS1607)、両者が合致していた場合、ステップS1613以降のコマンドの種別にしたがった処理を行う。合致しなかった場合、エラーを返信し、管理コマンドの処理を中止する。
【0134】
一方、ステップS1608で、ユーザIDとパスワードでない場合、アクセスチケット1504の値を秘密暗号キー306を使用して解読する(ステップS1610)。解読の結果、アクセスチケットの有効性および有効期限を判別し(ステップS1611)、判別の結果、アクセスチケットが有効である場合、アクセスチケット内のユーザIDを管理コマンド内のユーザID1502に設定し、ステップS1613以降のコマンドの種別にしたがった処理を行う。一方、ステップS1611の判別結果、アクセスチケットが有効でない場合、エラーを返信し(ステップS1612)、管理コマンドの処理を終了する。
【0135】
ステップS1613以降の処理では、まず、コマンドの種別1505が「ListJobs」(ジョブの一覧を取得する)であるか否かを判別する(ステップS1613)。判別の結果、コマンドの種別1505が「ListJobs」である場合、周辺機器1内に保持されているジョブの一覧を取得する(ステップS1614)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」の場合、各ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0136】
そして、ステップS1614に取得されたジョブのユーザID724と、管理コマンド内に含まれるユーザID1502との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する(ステップS1615)。ステップS1615で得られたジョブリストを返信し(ステップS1616)、処理を終了する。
【0137】
一方、ステップS1613の判別結果、コマンドの種別1505が「CancelJob」(指定されたジョブをキャンセルする)であるか否かを判別する(ステップS1617)。判別の結果、コマンドの種別1505が「CancelJob」でない場合、機器管理コマンドの処理を行い(ステップS1619)、処理を終了する。このステップS1619における機器管理コマンドの処理では、コマンド種別1505によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【0138】
ステップS1617の判別結果、指定されたジョブの情報を取得する(ステップS1618)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0139】
そして、ジョブのユーザID724と、管理コマンド内に含まれるユーザID1502との比較を行い(ステップS1620)、両者が合致しない場合、管理コマンドの実行失敗を返信し(ステップS1623)、処理を終了する。一方、ステップS1620で両者が合致した場合、指定されたジョブをキャンセルし(ステップS1621)、管理コマンドの実行成功を返信し(ステップS1622)、処理を終了する。
【0140】
尚、ステップS1621の処理を変更することにより、ジョブのアクセス制御機能が付加されたジョブキャセル以外のジョブ管理(例えば、ジョブの一時停止、再開、割り込み、優先度の向上、優先度の低下など)を行わせることも可能である。
【0141】
図32は周辺機器1および周辺機器5のログを集計し、ディレクトリサーバ6のユーザ毎の印刷可能枚数および累積印刷枚数を更新するための処理手順を示すフローチャートである。この処理はディレクトリサーバ6で実行される。まず、対象となる周辺機器からログを取得する(ステップS1901)。
【0142】
ログの情報からユーザID毎に印刷した枚数を合算する(ステップS1902)。ディレクトリサーバ6から各ユーザ毎の印刷可能枚数と累積印刷枚数をLDAPプロトコルにより取得し、得られた枚数を印刷可能枚数から減算し、更に累積印刷枚数に加え、得られたこれらの結果をLDAPプロトコルによってディレクトリサーバ6に設定する(ステップS1903)。これにより、ディレクトリサーバ6の各ユーザ毎の印刷可能枚数および累積印刷枚数は更新される。
【0143】
このように、図32の処理を、周辺機器1および周辺機器5を対象として行うことにより、2台の周辺機器に対する印刷可能枚数および累積印刷枚数がディレクトリサーバ6によって集中管理される。
【0144】
尚、他の実施形態として、ジョブで使用した印刷枚数をログに保存せず、ジョブの終了毎にディレクトリサーバ6に接続することにより、ディレクトリサーバ6のデータを更新する場合、図32の処理を実行する必要は無い。
【0145】
図33および図34は図20および図21のステップS923におけるディレクトリサーバに接続不能時の印刷可能枚数の算出を行う算出処理手順を示すフローチャートである。この処理は周辺機器1上で実行される。まず、現在の印刷可能枚数の制限の種類309を取得する(ステップS2001)。
【0146】
制限の種類309が「無制限」であるか否かを判別する(ステップS2002)。判別の結果、無制限である場合、印刷可能枚数を無制限に設定し(ステップS2003)、処理を終了する。一方、ステップS2002の判別の結果、無制限でない場合、制限の種類309が「時間制限」、「時間制限&固定最大枚数で制限」または「時間制限&最大枚数で制限」のいずれであるか否かを判別する(ステップS2004)。判別の結果、いずれである場合、ユーザ情報キャッシュ内のユーザの最終ログイン日時1014を取得し(ステップS2005)、この日時と現在の日時との時間差が時間制限の長さ310で指定されている値以下であるか否かを判別する(ステップS2006)。
【0147】
指定されている値以下である場合、印刷可能枚数を値0に設定し(ステップS2007)、処理を終了する。一方、ステップS2004の判別の結果、「時間制限」、「時間制限&固定最大枚数で制限」または「時間制限&最大枚数で制限」のいずれでもない場合、あるいはステップS2006の制限時間内である場合、制限の種類309が「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれであるか否かを判別する(ステップS2008)。
【0148】
「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれである場合、最大枚数312の値を印刷可能枚数に設定し(ステップS2010)、処理を終了する。一方、ステップS2008の判別結果、「固定最大枚数で制限」または「時間制限&固定最大枚数で制限」のいずれでもない場合、制限の種類309が「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれであるか否かを判別する(ステップS2009)。「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれである場合、次式(1)により枚数を算出し、印刷可能枚数として設定し(ステップS2011)、処理を終了する。
【0149】
印刷可能枚数=ユーザ情報キャッシュ内の印刷可能枚数1013 − 最大枚数の日毎の削減割合×最後にログインしてからの時間(日数) ……(1)
ここで、最後にログインしてからの時間(日数)は、ユーザ情報キャッシュのログイン日時1014から現在の日時を引いた時間を、値24で割って小数点以下を切り捨てたものである。
【0150】
一方、ステップS2009の判別結果、「最大枚数で制限」または「時間制限&最大枚数で制限」のいずれでもない場合、ログイン毎の最大枚数313を印刷可能枚数に設定し(ステップS2012)、処理を終了する。
【0151】
尚、本実施形態では、図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から取得するようにしてもよい。
【0152】
[第2の実施形態]
前記第1の実施形態では、図29において、管理コマンド中にアクセスチケットを含ませていたが、アクセスチケットのデータサイズは一般的に管理コマンドの他のデータサイズに比較して大きいものとなってしまうので、パフォーマンスなどに問題が生じる場合がある。この問題を解決するための周辺機器制御システムを第2の実施形態として以下に説明する。
【0153】
図35は後述する管理コマンド生成処理によって生成され、周辺機器1に送信される管理コマンドのデータ構造を示す図である。図において、2301はユーザ管理モードを表し、ユーザID2302、パスワード2303、セッションキー2304のうち、どの情報が有効であるかを示すものである。
【0154】
セッションキー2304は周辺機器1によって発行され、周辺機器1内のアクセスチケットキャッシュによってアクセスチケットと1対1の対応付けがなされている。図において、2305はコマンドの種別を表す。2306はコマンドに必要なパラメータ2307の長さを表す。
【0155】
図36は後述するアクセスチケット設定コマンドの処理によって周辺機器1のRAM22内に保持され、アクセスチケットキャッシュのデータ構造を示す図である。アクセスチケットキャッシュは、セッションキー2401とアクセスチケット2402の対を1レコードとして、複数レコードによって構成されている。ここで保持されているアクセスチケットは、暗号キー306を利用した解読後のものとなっている。
【0156】
図37および図38は後述する管理コマンド生成処理によって生成され、周辺機器1に送信された管理コマンドを、周辺機器1が処理する手順を示すフローチャートである。この処理は周辺機器1上で実行される。この処理手順では、図30および図31のステップS1608までのステップ処理は同一であるので、そのステップ処理を省略し、ステップS1608の判別処理がNO(偽)であった場合、つまり、ユーザ管理モードが「セキュリティドメインに参加」であった場合から示すこととする。
【0157】
まず、セッションキー2304が値0であるか否かを判別する(ステップS2501)。ステップS2501の判別の結果、セッションキー2304が値0である場合、管理コマンド種別2305が「アクセスチケット設定コマンド」であるか否かを判別する(ステップS2502)。「アクセスチケット設定コマンド」でない場合、エラーを返信し(ステップS2507)、処理を終了する。
【0158】
一方、ステップS2502の判別の結果、「アクセスチケット設定コマンド」である場合、管理コマンドパラメータ2307に含まれているアクセスチケットの値を秘密暗号キー306を使用して解読する(ステップS2519)。解読の結果、アクセスチケットの有効性および有効期限を判別する(ステップS2520)。
【0159】
アクセスチケットが有効でない場合、エラーを返信し(ステップS2521)、管理コマンドの処理を終了する。一方、ステップS2520において判別の結果、アクセスチケットが有効である場合、解読されたアクセスチケットの内容を、アクセスチケットに1対1に対応するセッションキーを生成し、セッションキーと共にアクセスチケットキャッシュに保存する(ステップS2503)。生成されたセッションキーを返信し(ステップS2504)、処理を終了する。
【0160】
一方、ステップS2501でセッションキーが値0以外である場合、セッションキーをアクセスチケットキャッシュ内で検索し(ステップS2505)、セッションキーが存在するか否かを判別する(ステップS2506)。判別の結果、エラーを返信し(ステップS2507)、処理を終了する。
【0161】
一方、ステップS2506の判別の結果、セッションキーが存在する場合、アクセスチケットキャッシュからセッションキーに対応するアクセスチケットを取得し、アクセスチケット内のユーザIDを管理コマンド内のユーザID2302に設定し(ステップS2522)、ステップS2508以降のコマンドの種別にしたがった処理を行う。
【0162】
ステップS2508以降の処理では、まず、コマンドの種別2305が「ListJobs」(ジョブの一覧を取得する)であるか否かを判別する(ステップS2508)。判別の結果、コマンドの種別2305が「ListJobs」である場合、周辺機器1内に保持されているジョブの一覧を取得する(ステップS2509)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、各ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0163】
ステップS2509に取得されたジョブのユーザID724と、管理コマンド内に含まれるユーザID2302との比較を行い、両者が合致しないジョブのジョブ名を空白に変換する(ステップS2510)。得られたジョブリストを返信し(ステップS2511)、処理を終了する。
【0164】
一方、ステップS2508の判別の結果、コマンドの種別1505が「CancelJob」(指定されたジョブをキャンセルする)であるか否かを判別する(ステップS2512)。コマンドの種別2305が「CancelJob」でない場合、機器管理コマンドの処理を行い(ステップS2517)、処理を終了する。このステップS2517における機器管理コマンドの処理では、コマンド種別2305によって場合分けすることにより、複数の機器管理コマンドの処理を行ってもよい。
【0165】
一方、ステップS2512の判別の結果、コマンドの種別1505が「CancelJob」である場合、指定されたジョブの情報を取得する(ステップS2513)。このとき、「現在のユーザ管理モード」302が「セキュリティドメインに参加」である場合、ジョブのアクセスチケット726を秘密暗号キー306によって解読し、得られたユーザIDをジョブのユーザID724にセットしておく。
【0166】
ジョブのユーザID724と、管理コマンド内に含まれるユーザID2302との比較を行い(ステップS2514)、両者が合致しない場合、管理コマンドの実行失敗を返信し(ステップS2518)、処理を終了する。
【0167】
一方、ステップS2514において、両者が合致した場合、指定されたジョブをキャンセルし(ステップS2515)、管理コマンドの実行成功を返信し(ステップS2516)、処理を終了する。
【0168】
尚、図37および図38で示した管理コマンドの処理手順をジョブ処理時にも適用することによって、図17と図18および図19に示すように、ジョブにアクセスチケットを含ませるのではなく、ジョブにセッションキーを含ませることも可能である。
【0169】
図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を取得終了後から示すこととする。
【0170】
すなわち、ステップS1412またはS1413において取得したTGTおよびジョブ発行先の周辺機器1を特定する識別子(パラメータ)をディレクトリサーバ6に対してKeberosプロトコルによって送信し、周辺機器1に対するアクセスチケットを取得する(ステップS2601)。ここで取得したアクセスチケットは、ユーザ名、ユーザID、ユーザの印刷可能枚数、アクセスチケットの有効期限に関する情報を、周辺機器1の秘密暗号キー306によって暗号化したものとなっている。アクセスチケット内部のデータフォーマットおよび使用される暗号方式(アルゴリズム)は、現在対応しているディレクトリサーバの種類304によって一意に予め決められている。
【0171】
ステップS2601で取得したアクセスチケットをコマンドパラメータ2307に設定したアクセスチケット設定コマンドを生成し、周辺機器1に対して送信する(ステップS2602)。ここで送信される管理コマンドは、セッションキー2304が値0、コマンド種別2305が「アクセスチケット設定コマンド」となっている。
【0172】
周辺機器1からの返信がエラーか否かを判別し(ステップS2603)、エラーであった場合、処理を終了する。一方、ステップS2603の判別の結果、エラーでない場合、ステップS2602で取得したセッションキーを管理コマンドのセッションキー2304に設定し、管理コマンドデータの管理コマンド種別2305、コマンドパラメータ長2306、コマンドパラメータ2307に適切な値を設定して周辺機器1に送信する(ステップS2604)。周辺機器1からの返信を処理し(ステップS2605)、処理を終了する。
【0173】
尚、同一周辺機器に対して同一ユーザがジョブ管理コマンドまたは機器管理コマンドを発行する際、既に必要なアクセスチケットが周辺機器に保持されており、それに対するセッションキーを取得済みであるので、ステップS2601からS2603までのステップを省略することができる。これにより、パフォーマンス良く、周辺機器のジョブ管理および機器管理を行うことができる。
【0174】
尚、以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【0175】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記録媒体を、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【0176】
上記実施形態では、各フローチャートに示すプログラムコードは記憶媒体に格納されている。プログラムコードを供給する記憶媒体としては、例えば、ROM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【符号の説明】
【0177】
2、3、4 パーソナルコンピュータ(PC)
3、5 周辺機器(MFP)
6 ディレクトリサーバ
11 コントローラ
21、31 CPU
25、36 ROM
301、302 属性情報
【特許請求の範囲】
【請求項1】
周辺機器および外部装置が通信線を介して接続され、該通信線を介して前記外部装置から制御コマンドを送信して前記周辺機器を制御する周辺機器制御システムにおいて、
前記周辺機器の属性情報を保持する属性情報保持手段と、
前記制御コマンドを送信して前記保持された属性情報を取得する取得手段と、
該取得した属性情報に対して所定の属性情報を設定する設定手段とを備え、
該設定される属性情報はユーザ管理モードの情報を含むことを特徴とする周辺機器制御システム。
【請求項2】
前記取得手段は、前記ユーザ管理モードの一覧を取得し、ユーザに前記ユーザ管理モードの選択を促すことを特徴とする請求項1記載の周辺機器制御システム。
【請求項3】
前記取得手段は、現在設定されているユーザ管理モードを取得することを特徴とする請求項1記載の周辺機器制御システム。
【請求項4】
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにパスワードを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項5】
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項6】
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDとパスワードを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項7】
ユーザ情報および機器情報を一元管理し、資源に対するアクセスを行うために必要なアクセスチケットを発行するディレクトリサーバを備え、
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドに前記ディレクトリサーバから発行されたアクセスチケットを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項8】
通信線を介して接続された外部装置から送信される制御コマンドにしたがって制御される周辺機器において、
ユーザ管理モードを含む属性情報を保持する属性情報保持手段と、
該保持された属性情報を前記外部装置に送信する送信手段と、
前記外部装置から送信された前記制御コマンドにしたがって、所定の属性情報を設定する設定手段とを備えたことを特徴とする周辺機器。
【請求項9】
通信線を介して制御コマンドを送信して周辺機器を制御する外部装置において、
前記周辺機器に保持されたユーザ管理モードを含む属性情報を取得する取得手段と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を前記周辺機器に設定する設定手段とを備えたことを特徴とする外部装置。
【請求項10】
通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御する周辺機器制御方法において、
前記周辺機器のユーザ管理モードを含む属性情報を保持する工程と、
該保持された属性情報を取得する工程と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する工程とを有することを特徴とする周辺機器制御方法。
【請求項11】
通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムを含む周辺機器制御ソフトウェアにおいて、
前記プログラムは、
前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、
該保持された属性情報を取得する手順と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する手順とを含むことを特徴とする周辺機器制御ソフトウェア。
【請求項12】
通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムが記憶された記憶媒体において、
前記プログラムは、
前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、
該保持された属性情報を取得する手順と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する。
【請求項1】
周辺機器および外部装置が通信線を介して接続され、該通信線を介して前記外部装置から制御コマンドを送信して前記周辺機器を制御する周辺機器制御システムにおいて、
前記周辺機器の属性情報を保持する属性情報保持手段と、
前記制御コマンドを送信して前記保持された属性情報を取得する取得手段と、
該取得した属性情報に対して所定の属性情報を設定する設定手段とを備え、
該設定される属性情報はユーザ管理モードの情報を含むことを特徴とする周辺機器制御システム。
【請求項2】
前記取得手段は、前記ユーザ管理モードの一覧を取得し、ユーザに前記ユーザ管理モードの選択を促すことを特徴とする請求項1記載の周辺機器制御システム。
【請求項3】
前記取得手段は、現在設定されているユーザ管理モードを取得することを特徴とする請求項1記載の周辺機器制御システム。
【請求項4】
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにパスワードを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項5】
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項6】
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドにユーザIDとパスワードを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項7】
ユーザ情報および機器情報を一元管理し、資源に対するアクセスを行うために必要なアクセスチケットを発行するディレクトリサーバを備え、
前記取得した現在設定されているユーザ管理モードは、前記制御コマンドに前記ディレクトリサーバから発行されたアクセスチケットを含むことが必要なモードであることを特徴とする請求項3記載の周辺機器制御システム。
【請求項8】
通信線を介して接続された外部装置から送信される制御コマンドにしたがって制御される周辺機器において、
ユーザ管理モードを含む属性情報を保持する属性情報保持手段と、
該保持された属性情報を前記外部装置に送信する送信手段と、
前記外部装置から送信された前記制御コマンドにしたがって、所定の属性情報を設定する設定手段とを備えたことを特徴とする周辺機器。
【請求項9】
通信線を介して制御コマンドを送信して周辺機器を制御する外部装置において、
前記周辺機器に保持されたユーザ管理モードを含む属性情報を取得する取得手段と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を前記周辺機器に設定する設定手段とを備えたことを特徴とする外部装置。
【請求項10】
通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御する周辺機器制御方法において、
前記周辺機器のユーザ管理モードを含む属性情報を保持する工程と、
該保持された属性情報を取得する工程と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する工程とを有することを特徴とする周辺機器制御方法。
【請求項11】
通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムを含む周辺機器制御ソフトウェアにおいて、
前記プログラムは、
前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、
該保持された属性情報を取得する手順と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する手順とを含むことを特徴とする周辺機器制御ソフトウェア。
【請求項12】
通信線を介して接続された外部装置から送信された制御コマンドにしたがって、周辺機器を制御するプログラムが記憶された記憶媒体において、
前記プログラムは、
前記周辺機器のユーザ管理モードを含む属性情報を保持しておく手順と、
該保持された属性情報を取得する手順と、
該取得した属性情報に対し、前記制御コマンドを送信して所定の属性情報を設定する。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【公開番号】特開2010−186492(P2010−186492A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2010−108662(P2010−108662)
【出願日】平成22年5月10日(2010.5.10)
【分割の表示】特願2000−224321(P2000−224321)の分割
【原出願日】平成12年7月25日(2000.7.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願日】平成22年5月10日(2010.5.10)
【分割の表示】特願2000−224321(P2000−224321)の分割
【原出願日】平成12年7月25日(2000.7.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]