(57)【要約】【課題】  多機能機が機能実行要求に応じて機能制限を適切に実行し得る技術を提供すること。【解決手段】  多機能機１０は、端末装置６０から多機能機１０のためのドライバプログラムが利用されずに送信されるＶａｌｉｄａｔｅ−Ｊｏｂコマンドを受信する（Ｔ３０４）。この場合、多機能機１０は、４０１コマンドを端末装置６０に送信し（Ｔ３０６）、端末装置６０からユーザ識別情報「Ｕ１」及び「Ｐ１」を含むＶａｌｉｄａｔｅ−Ｊｏｂコマンドを受信する（Ｔ３１４）。多機能機１０は、機能制限テーブル内の「Ｕ１」及び「Ｐ１」に対応する印刷許可情報が「ＯＫ」を示すことを条件として、印刷機能を実行する（Ｔ３２６）。【選択図】  図６
2019004513.tif 000002
【特許請求の範囲】
【請求項１】
複数個の機能を実行可能な多機能機であって、
前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、
１個以上の個別ユーザ情報と１個の一般ユーザ情報とを含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報であり、前記一般ユーザ情報は、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザ以外の各ユーザである一般ユーザに許可するのか否かを示す一般許可情報を含む、前記メモリと、
前記多機能機のためのドライバプログラムを備える第１の端末装置が、前記ドライバプログラムを利用して、前記特定機能の実行を前記多機能機に要求するための第１の機能実行要求を前記多機能機に送信する場合に、前記第１の端末装置から前記第１の機能実行要求を受信する第１の要求受信部と、
前記第１の端末装置から、第１の個別識別情報に関係する第１の個別関係情報を含む前記第１の機能実行要求が受信される場合に、前記テーブル内の前記第１の個別識別情報に対応付けられている第１の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させ、前記第１の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第１の機能実行要求が受信される場合に、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第１の機能制御部と、
前記第１の端末装置と同じ又は異なる端末装置である第２の端末装置が、前記ドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための第２の機能実行要求を前記多機能機に送信する場合に、前記第２の端末装置から前記第２の機能実行要求を受信する第２の要求受信部と、
前記第２の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第２の機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記第２の端末装置に送信する要求送信部と、
前記関係情報要求を前記第２の端末装置に送信することに応じて、前記第２の端末装置から、第２の個別識別情報に関係する第２の個別関係情報を含む前記第２の機能実行要求が受信される場合に、前記テーブル内の前記第２の個別識別情報に対応付けられている第２の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第２の機能制御部と、
を備える多機能機。
【請求項２】
前記第１の機能制御部は、
前記第１の端末装置から、前記第１の個別関係情報を含む前記第１の機能実行要求が受信され、かつ、前記多機能機の設定が前記テーブルを利用することを示す第１の設定である場合に、前記第１の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させ、
前記第１の端末装置から、前記個別関係情報を含まない前記第１の機能実行要求が受信され、かつ、前記多機能機の設定が前記第１の設定である場合に、前記一般許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させ、
前記第１の端末装置から前記第１の機能実行要求が受信され、かつ、前記多機能機の設定が前記テーブルを利用しないことを示す第２の設定である場合に、前記テーブルの内容に関わらず、前記特定機能を前記特定機能エンジンに実行させる、請求項１に記載の多機能機。
【請求項３】
前記要求送信部は、
前記第２の端末装置から、前記個別関係情報を含まない前記第２の機能実行要求が受信され、かつ、前記多機能機の設定が前記テーブルを利用することを示す第１の設定である場合に、前記関係情報要求を前記第２の端末装置に送信し、
前記第２の端末装置から、前記個別関係情報を含まない前記第２の機能実行要求が受信され、かつ、前記多機能機の設定が前記テーブルを利用しないことを示す第２の設定である第１の場合に、前記関係情報要求を前記第２の端末装置に送信せず、
前記第２の機能制御部は、さらに、前記第１の場合に、前記特定機能を前記特定機能エンジンに実行させる、請求項１又は２に記載の多機能機。
【請求項４】
前記要求送信部は、
前記第２の端末装置から、前記個別関係情報を含まない前記第２の機能実行要求が受信され、かつ、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可しないことを示す場合に、前記関係情報要求を前記第２の端末装置に送信し、
前記第２の端末装置から、前記個別関係情報を含まない前記第２の機能実行要求が受信され、かつ、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可することを示す第２の場合に、前記関係情報要求を前記第２の端末装置に送信せず、
前記第２の機能制御部は、さらに、前記第２の場合に、前記特定機能を前記特定機能エンジンに実行させる、請求項１から３のいずれか一項に記載の多機能機。
【請求項５】
前記要求送信部は、
前記第２の端末装置から、前記個別関係情報を含まない前記第２の機能実行要求が受信され、かつ、前記テーブル内の少なくとも１個の前記個別許可情報が前記特定機能の利用を許可することを示す場合に、前記関係情報要求を前記第２の端末装置に送信し、
前記第２の端末装置から、前記個別関係情報を含まない前記第２の機能実行要求が受信され、かつ、前記テーブル内のいずれの前記個別許可情報も前記特定機能の利用を許可しないことを示す第３の場合に、前記関係情報要求を前記第２の端末装置に送信せず、
前記多機能機は、さらに、
前記第３の場合に、前記特定機能を実行不可能であることを示すエラー情報を前記第２の端末装置に送信するエラー情報送信部を備える、請求項１から４のいずれか一項に記載の多機能機。
【請求項６】
前記要求送信部は、さらに、前記第２の端末装置から、前記第２の個別関係情報を含む前記第２の機能実行要求が受信され、かつ、前記第２の個別許可情報が前記テーブルに含まれていない場合に、前記関係情報要求を前記第２の端末装置に再び送信する、請求項１から５のいずれか一項に記載の多機能機。
【請求項７】
前記多機能機は、さらに、
前記第２の端末装置から、前記第２の個別関係情報を含む前記第２の機能実行要求が受信され、かつ、前記第２の個別許可情報が前記特定機能の利用を許可しないことを示す場合に、前記特定機能を実行不可能であることを示すエラー情報を前記第２の端末装置に送信するエラー情報送信部を備える、請求項１から６のいずれか一項に記載の多機能機。
【請求項８】
前記第２の機能実行要求は、ＩＰＰ（Internet Printing Protocolの略）に従ったコマンドであり、
前記要求送信部は、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従ったコマンドである前記関係情報要求を前記第２の端末装置に送信し、
前記エラー情報送信部は、前記ＩＰＰに従ったコマンドである前記エラー情報を前記第２の端末装置に送信する、請求項７に記載の多機能機。
【請求項９】
前記特定機能は、印刷機能である、請求項１から８のいずれか一項に記載の多機能機。
【請求項１０】
複数個の機能を実行可能な多機能機のためのコンピュータプログラムであって、
前記多機能機は、
前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、
１個以上の個別ユーザ情報と１個の一般ユーザ情報とを含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報であり、前記一般ユーザ情報は、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザ以外の各ユーザである一般ユーザに許可するのか否かを示す一般許可情報を含む、前記メモリと、
プロセッサと、を備え、
前記コンピュータプログラムは、前記プロセッサに、以下の各処理、即ち、
前記多機能機のためのドライバプログラムを備える第１の端末装置が、前記ドライバプログラムを利用して、前記特定機能の実行を前記多機能機に要求するための第１の機能実行要求を前記多機能機に送信する場合に、前記第１の端末装置から前記第１の機能実行要求を受信する第１の要求受信処理と、
前記第１の端末装置から、第１の個別識別情報に関係する第１の個別関係情報を含む前記第１の機能実行要求が受信される場合に、前記テーブル内の前記第１の個別識別情報に対応付けられている第１の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させ、前記第１の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第１の機能実行要求が受信される場合に、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第１の機能制御処理と、
前記第１の端末装置と同じ又は異なる端末装置である第２の端末装置が、前記ドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための第２の機能実行要求を前記多機能機に送信する場合に、前記第２の端末装置から前記第２の機能実行要求を受信する第２の要求受信処理と、
前記第２の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第２の機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記第２の端末装置に送信する要求送信処理と、
前記関係情報要求を前記第２の端末装置に送信することに応じて、前記第２の端末装置から、第２の個別識別情報に関係する第２の個別関係情報を含む前記第２の機能実行要求が受信される場合に、前記テーブル内の前記第２の個別識別情報に対応付けられている第２の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第２の機能制御処理と、
を実行させるプログラムクレーム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、複数個の機能を実行可能な多機能機を開示する。
【背景技術】
【０００２】
印刷機能、スキャン機能、ファクシミリ機能等を含む複数個の機能を実行可能な多機能機において、各ユーザが利用可能な機能を制限するための技術が知られている。例えば、特許文献１のネットワークファクシミリ装置は、当該装置を操作する操作ユーザが登録ユーザである場合と、操作ユーザが登録ユーザ以外の一般ユーザである場合と、で操作ユーザが利用可能な機能を変える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１６７９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、多機能機が機能実行要求に応じて機能制限を適切に実行し得る技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書では、複数個の機能を実行可能な多機能機を開示する。多機能機は、前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、１個以上の個別ユーザ情報と１個の一般ユーザ情報とを含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報であり、前記一般ユーザ情報は、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザ以外の各ユーザである一般ユーザに許可するのか否かを示す一般許可情報を含む、前記メモリと、前記多機能機のためのドライバプログラムを備える第１の端末装置が、前記ドライバプログラムを利用して、前記特定機能の実行を前記多機能機に要求するための第１の機能実行要求を前記多機能機に送信する場合に、前記第１の端末装置から前記第１の機能実行要求を受信する第１の要求受信部と、前記第１の端末装置から、第１の個別識別情報に関係する第１の個別関係情報を含む前記第１の機能実行要求が受信される場合に、前記テーブル内の前記第１の個別識別情報に対応付けられている第１の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させ、前記第１の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第１の機能実行要求が受信される場合に、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第１の機能制御部と、前記第１の端末装置と同じ又は異なる端末装置である第２の端末装置が、前記ドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための第２の機能実行要求を前記多機能機に送信する場合に、前記第２の端末装置から前記第２の機能実行要求を受信する第２の要求受信部と、前記第２の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第２の機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記第２の端末装置に送信する要求送信部と、前記関係情報要求を前記第２の端末装置に送信することに応じて、前記第２の端末装置から、第２の個別識別情報に関係する第２の個別関係情報を含む前記第２の機能実行要求が受信される場合に、前記テーブル内の前記第２の個別識別情報に対応付けられている第２の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第２の機能制御部と、を備える。
【０００６】
上記の構成によると、多機能機のメモリは、個別ユーザ情報と一般ユーザ情報とを含むテーブルを記憶する。そして、多機能機は、第１の端末装置がドライバプログラムを利用して送信する第１の機能実行要求を受信する。この場合、多機能機は、（１）第１の機能実行要求が第１の個別関係情報を含む場合に、テーブル内の第１の個別許可情報に応じて、特定機能の利用を許可又は制限し、（２）第１の機能実行要求が個別関係情報を含まない場合に、テーブル内の一般ユーザ情報に応じて、特定機能の利用を許可又は制限する。また、多機能機は、第２の端末装置がドライバプログラムを利用せずに送信する第２の機能実行要求を受信する。第２の端末装置から多機能機に送信される１回目の第２の機能実行要求は、個別関係情報を含まない。従って、多機能機は、関係情報要求を第２の端末装置に送信して、第２の個別関係情報を含む２回目の第２の機能実行要求を受信する。そして、多機能機は、テーブル内の第２の個別許可情報に応じて、特定機能の利用を許可又は制限する。これにより、仮に、一般許可情報が特定機能の利用を許可しないことを示していても、第２の個別許可情報が特定機能の利用を許可することを示している場合に、多機能機は、第２の機能実行要求に応じて、特定機能を実行することができる。このように、多機能機は、ドライバプログラムに従った第１の機能実行要求と、ドライバプログラムに従わない第２の機能実行要求と、のそれぞれに応じて、機能制限を適切に実行し得る。
【０００７】
多機能機を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、多機能機と１個以上の端末装置とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】ＰＪＬコマンド監視処理のフローチャートを示す。
【図３】ＩＰＰコマンド監視処理のフローチャートを示す。
【図４】ＰＪＬコマンドを受信するケースＸ１〜Ｘ５のシーケンス図を示す。
【図５】ＩＰＰコマンドを受信するケースＹ１及びＹ２のシーケンス図を示す。
【図６】ＩＰＰコマンドを受信するケースＹ３のシーケンス図を示す。
【図７】ＩＰＰコマンドを受信するケースＹ４及びＴ５のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、多機能機１０と、複数個の端末装置５０，６０と、を備える。各デバイス１０，５０，６０は、ＬＡＮ（Local Area Networkの略）４を介して、相互に通信可能である。
【００１０】
（多機能機１０の構成）
多機能機１０は、印刷機能、スキャン機能、コピー機能等を含む複数個の機能を実行可能な周辺装置（即ち端末装置５０等の周辺装置）である。多機能機１０は、操作部１２と、表示部１４と、印刷エンジン１６と、スキャンエンジン１８と、ネットワークインターフェース２０と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。なお、以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１１】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示を多機能機１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、いわゆるタッチパネルとして機能する。即ち、表示部１４は、ユーザによって操作される操作部としても機能する。印刷エンジン１６は、インクジェット方式、レーザー方式等の印刷機構を備える。スキャンエンジン１８は、ＣＣＤ（Charge Coupled Deviceの略）、ＣＩＳ（Contact Image Sensorの略）等のスキャン機構を備える。ネットワークＩ／Ｆ２０は、有線通信又は無線通信を実行するためのインターフェースであり、ＬＡＮ４に接続されている。
【００１２】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６に従って、様々な処理を実行する。メモリ３４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ３４は、上記のプログラム３６の他に、機能制限フラグ３８と機能制限テーブル４０とを記憶する。機能制限フラグ３８は、各ユーザに応じた機能制限を実行すること（即ち機能制限テーブル４０を利用すること）を意味する「ＯＮ」と、機能制限を実行しないこと（即ち機能制限テーブル４０を利用しないこと）を意味する「ＯＦＦ」と、のどちらかの値を示す。機能制限フラグ３８は、多機能機１０の管理者によって「ＯＮ」又は「ＯＦＦ」に設定される。
【００１３】
機能制限テーブル４０は、１個以上のユーザ情報が登録されるテーブルである。各ユーザ情報は、ユーザＩＤと、パスワードと、印刷許可情報と、スキャン許可情報と、コピー許可情報と、の組合せである。各ユーザ情報は、例えば、多機能機１０の管理者が端末装置（例えば５０）から多機能機１０にアクセスすることによって、機能制限テーブル４０に登録される。ユーザＩＤ及びパスワードは、ユーザを識別するためのユーザ識別情報である。本実施例では、第１の個別ユーザに対してユーザＩＤ「Ｕ１」及びパスワード「Ｐ１」が割り当てられており、第１の個別ユーザとは異なる第２の個別ユーザに対してユーザＩＤ「Ｕ２」及びパスワード「Ｐ２」が割り当てられている。以下では、個別ユーザに割り当てられているユーザＩＤ及びパスワードを含むユーザ情報のことを「個別ユーザ情報」と呼ぶ。なお、個別ユーザは、１人のユーザでなくてもよく、複数人のユーザのグループであってもよい。また、個別ユーザ以外の各ユーザである一般ユーザが多機能機１０を利用する状況も想定される。このために、機能制限テーブル４０には、個別ユーザ情報のみならず、一般ユーザを示すユーザＩＤ「Ｐｕｂｌｉｃ」を含む一般ユーザ情報が記述されている。一般ユーザ情報では、パスワードが設定されない。
【００１４】
印刷許可情報は、印刷機能の利用をユーザに許可するのか否かを示す情報である。同様に、スキャン許可情報、コピー許可情報は、それぞれ、スキャン機能、コピー機能の利用をユーザに許可するのか否かを示す情報である。「ＯＫ」は、機能の利用を許可することを示し、「ＮＧ」は、機能の利用を許可しないことを示す。図１の例では、ユーザＩＤ「Ｕ１」に対応する第１の個別ユーザには、印刷機能、スキャン機能、及び、コピー機能の全ての利用が許可されている。ユーザＩＤ「Ｕ２」に対応する第２の個別ユーザには、スキャン機能及びコピー機能の利用が許可されているが、印刷機能の利用が許可されていない。また、一般ユーザには、スキャン機能の利用が許可されているが、印刷機能及びコピー機能の利用が許可されていない。
【００１５】
なお、管理者が一般ユーザ情報内のある機能の許可情報を「ＯＫ」に設定すると、全ての個別ユーザ情報内の当該機能の許可情報が自動的に「ＯＫ」に設定されてもよい。例えば、図１の例では、一般ユーザ情報内のスキャン許可情報が「ＯＫ」に設定されており、この結果、全ての個別ユーザ情報内のスキャン許可情報が自動的に「ＯＫ」に設定されてもよい。
【００１６】
ユーザは、多機能機１０の管理者からユーザ識別情報（即ちユーザＩＤ及びパスワード）が通知されている場合に、多機能機１０を利用する際に、当該ユーザ識別情報を入力する。ユーザは、例えば、多機能機１０の操作部１２を操作して所望の機能（例えばコピー機能）を選択する場合に、操作部１２を操作してユーザ識別情報を入力する。この場合、多機能機１０は、入力済みのユーザ識別情報を含む個別ユーザ情報内の許可情報に応じて、機能の利用を許可又は禁止する。また、ユーザは、例えば、端末装置（例えば５０）を利用して、所望の機能を多機能機１０に実行させることを望む場合に、ユーザ識別情報を端末装置に入力する。この場合、多機能機１０は、端末装置から、入力済みのユーザ識別情報を含む機能実行要求（後述のＰＪＬコマンド、ＩＰＰコマンド等）を受信して、当該ユーザ識別情報を含む個別ユーザ情報内の許可情報に応じて、機能の利用を許可又は禁止する。
【００１７】
（端末装置５０，６０の構成）
各端末装置５０，６０は、デスクトップＰＣ（Personal Computerの略）、ノートＰＣ、タブレットＰＣ、携帯電話、スマートフォン等のユーザ端末である。端末装置５０は、多機能機１０のためのドライバプログラムである多機能機ドライバ５２を備える。多機能機ドライバ５２は、例えば、多機能機１０と共に出荷されるメディアから端末装置５０にインストールされてもよいし、多機能機１０のベンダによって提供されるインターネット上のサーバから端末装置５０にインストールされてもよい。
【００１８】
多機能機ドライバ５２は、印刷機能を多機能機１０に実行させるためのＰＪＬ（Print Job Languageの略）プログラムを含む。端末装置５０は、ＰＪＬプログラムを利用して、ＰＪＬコマンドを多機能機１０に送信して、多機能機１０に印刷機能を実行させることができる。なお、ＰＪＬは印刷機能を実現するための１つの手法に過ぎず、変形例では、多機能機ドライバ５２は、他のプロトコル（例えばＬＰＲ（Line PRinter daemon protocolの略）等）に従ったコマンドを多機能機１０に送信して、多機能機１０に印刷機能を実行させてもよい。
【００１９】
端末装置６０は、多機能機ドライバ５２を備えていない。このために、端末装置６０は、ＰＪＬコマンドを多機能機１０に送信して、多機能機１０に印刷機能を実行させることができない。ただし、端末装置６０は、例えば、多機能機１０のベンダとは異なる事業者によって提供されるインターネット上のサーバからインストールされたＩＰＰ（Internet Printing Protocolの略）プログラムを備える。ＩＰＰプログラムは、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従ったＩＰＰコマンドを生成して、当該ＩＰＰコマンドを多機能機１０に送信するためのプログラムである。端末装置６０は、公知のウェブブラウザプログラムを備えていれば、ＨＴＴＰを利用することができ、この結果、ＩＰＰプログラムを利用して、ＩＰＰコマンドを多機能機１０に送信して、多機能機１０に印刷機能を実行させることができる。即ち、端末装置６０は、多機能機１０のベンダによって提供される多機能機ドライバ５２を備えていなくても、多機能機１０に印刷機能を実行させることができる。
【００２０】
（ＰＪＬコマンド監視処理；図２）
続いて、図２を参照して、多機能機１０のＣＰＵ３２によって実行されるＰＪＬコマンド監視処理の内容を説明する。ＰＪＬコマンド監視処理では、ＣＰＵ３２は、多機能機ドライバ５２に従ったＰＪＬコマンドを受信することを監視して、受信済みのＰＪＬコマンドに応じた処理を実行する。
【００２１】
Ｓ１０では、ＣＰＵ３２は、端末装置５０から、ネットワークＩ／Ｆ２０を介して、ＰＪＬコマンドを受信することを監視する。ＣＰＵ３２は、ＰＪＬコマンドを受信する場合に、Ｓ１０でＹＥＳと判断して、Ｓ２０に進む。
【００２２】
ＰＪＬコマンドは、印刷機能の実行を多機能機１０に要求するためのコマンドであり、印刷指示操作が端末装置５０に実行される場合に、端末装置５０から多機能機１０に送信される。印刷指示操作は、端末装置５０内の印刷対象の画像を表わすファイルを選択するためのファイル選択操作と、多機能機ドライバ５２に従って表示される画面において実行される各種の操作と、を含む。上記の各種の操作は、所望の印刷条件（例えば、印刷解像度、用紙サイズ等）を指定するための印刷条件指定操作と、ユーザ識別情報（即ちユーザＩＤ及びパスワード）を入力するための入力操作と、印刷の実行を示すボタンを選択するためのボタン選択操作と、を含む。端末装置５０のユーザは、多機能機１０の管理者からユーザ識別情報が通知されている場合、即ち、当該ユーザに対応する個別ユーザ情報が多機能機１０の機能制限テーブル４０に登録されている場合には、入力操作を実行する。ただし、ユーザは、多機能機１０の管理者からユーザ識別情報が通知されていない場合、即ち、当該ユーザに対応する個別ユーザ情報が機能制限テーブル４０に登録されていない場合には、入力操作を実行しない。
【００２３】
入力操作を含む印刷指示操作が端末装置５０に実行される場合には、ＰＪＬコマンドは、ファイル選択操作によって選択されたファイルから端末装置５０によって生成される印刷データと、印刷条件指定操作によって指定された印刷条件と、入力操作によって入力されたユーザ識別情報と、を含む。ここで、印刷データは、多機能機１０の印刷エンジン１６が解釈可能なデータ形式を有するデータであり、端末装置５０が選択済みのファイルを変換することによって生成される。また、入力操作を含まない印刷指示操作が端末装置５０に実行される場合には、ＰＪＬコマンドは、印刷データと印刷条件とを含み、ユーザ識別情報を含まない。
【００２４】
Ｓ２０では、ＣＰＵ３２は、メモリ３４内の機能制限フラグ３８が「ＯＮ」を示すのか否かを判断する。ＣＰＵ３２は、機能制限フラグ３８が「ＯＮ」を示すと判断する場合（Ｓ２０でＹＥＳ）には、Ｓ３０に進む。一方、ＣＰＵ３２は、機能制限フラグ３８が「ＯＦＦ」を示すと判断する場合（Ｓ２０でＮＯ）には、機能制限を実行する必要がないのでＳ３０〜Ｓ６０をスキップして、Ｓ７０において、後述の印刷処理を実行する。
【００２５】
Ｓ３０では、ＣＰＵ３２は、メモリ３４内の機能制限テーブル４０から一般ユーザ情報を取得し、一般ユーザ情報内の印刷許可情報が「ＯＫ」を示すのか否かを判断する。ＣＰＵ３２は、印刷許可情報が「ＯＫ」を示すと判断する場合（Ｓ３０でＹＥＳ）には、印刷機能の利用が全てのユーザに許可されるのでＳ４０〜Ｓ６０をスキップして、Ｓ７０において、後述の印刷処理を実行する。一方、ＣＰＵ３２は、印刷許可情報が「ＮＧ」を示すと判断する場合（Ｓ３０でＮＯ）には、Ｓ４０に進む。
【００２６】
Ｓ４０では、ＣＰＵ３２は、ＰＪＬコマンドがユーザ識別情報を含むのか否かを判断する。ＣＰＵ３２は、ＰＪＬコマンドがユーザ識別情報を含むと判断する場合（Ｓ４０でＹＥＳ）には、Ｓ５０に進む。一方、ＣＰＵ３２は、ＰＪＬコマンドがユーザ識別情報を含まないと判断する場合（Ｓ４０でＮＯ）には、印刷機能の利用が一般ユーザに許可されないので、印刷処理を実行することなく、Ｓ８０において、ネットワークＩ／Ｆ２０を介して、ＮＧ応答を端末装置５０に送信する。ＮＧ応答は、印刷機能を実行不可能であることを示すコマンドであり、例えば、印刷機能の利用がユーザに許可されていないことを示すメッセージ（例えば文字列「ユーザ認証に失敗しました」）を含む。Ｓ８０が終了すると、Ｓ１０に戻る。
【００２７】
Ｓ５０では、ＣＰＵ３２は、ＰＪＬコマンド内のユーザ識別情報がメモリ３４内の機能制限テーブル４０に登録されているのか否かを判断する。ＣＰＵ３２は、ユーザ識別情報が登録されていると判断する場合（Ｓ５０でＹＥＳ）には、Ｓ６０に進む。一方、ＣＰＵ３２は、ユーザ識別情報が登録されていないと判断する場合（Ｓ５０でＮＯ）には、印刷機能の利用が端末装置５０のユーザに許可されないので、印刷処理を実行することなく、Ｓ８０において、ＮＧ応答を端末装置５０に送信する。
【００２８】
Ｓ６０では、ＣＰＵ３２は、メモリ３４内の機能制限テーブル４０から、ＰＪＬコマンド内のユーザ識別情報を含む個別ユーザ情報を取得し、取得済みの個別ユーザ情報内の印刷許可情報が「ＯＫ」を示すのか否かを判断する。ＣＰＵ３２は、印刷許可情報が「ＯＫ」を示すと判断する場合（Ｓ６０でＹＥＳ）には、Ｓ７０に進む。一方、ＣＰＵ３２は、印刷許可情報が「ＮＧ」を示すと判断する場合（Ｓ６０でＮＯ）には、印刷機能の利用が端末装置５０のユーザに許可されないので、印刷処理を実行することなく、Ｓ８０において、ＮＧ応答を端末装置５０に送信する。
【００２９】
Ｓ７０では、ＣＰＵ３２は、ＰＪＬコマンドに従って、印刷処理を実行する。具体的には、ＣＰＵ３２は、ＰＪＬコマンド内の印刷条件を印刷エンジン１６に指示し、さらに、ＰＪＬコマンド内の印刷データを印刷エンジン１６に供給する。これにより、印刷エンジン１６は、印刷データによって表わされる画像の印刷を実行する。そして、Ｓ７２では、ＣＰＵ３２は、印刷が完了したことを示すＯＫ応答を端末装置５０に送信する。Ｓ７２が終了すると、Ｓ１０に戻る。
【００３０】
（ＩＰＰコマンド監視処理；図３）
続いて、図３を参照して、多機能機１０のＣＰＵ３２によって実行されるＩＰＰコマンド監視処理の内容を説明する。ＩＰＰコマンド監視処理では、ＣＰＵ３２は、多機能機ドライバ５２に従わないＩＰＰコマンドを受信することを監視して、受信済みのＩＰＰコマンドに応じた処理を実行する。
【００３１】
本実施例では、多機能機１０で受信され得るＩＰＰコマンドは、Ｇｅｔ−Ｐｒｉｎｔｅｒ−Ａｔｔｒｉｂｕｔｅｓコマンド（以下では「ＧＰＡコマンド」と呼ぶ）と、Ｖａｌｉｄａｔｅ−Ｊｏｂコマンド（以下では「ＶＪコマンド」と呼ぶ）と、Ｃｒｅａｔｅ−Ｊｏｂコマンド（以下では「ＣＪコマンド」と呼ぶ）と、Ｓｅｎｄ−Ｄｏｃｕｍｅｎｔコマンド（以下では「ＳＤコマンド」と呼ぶ）と、を含む。
【００３２】
ＧＰＡコマンドは、多機能機１０が利用可能な全ての印刷条件を示すＣａｐａｂｉｌｉｔｙ情報の送信を多機能機１０に要求するためのコマンドである。ＶＪコマンドは、印刷機能の実行を多機能機１０に要求するためのコマンドであり、特に、ユーザによって指定される印刷条件が多機能機１０に適合しているのか否かを問い合わせるためのコマンドである。ＣＪコマンドは、印刷機能の実行を多機能機１０に要求するためのコマンドであり、特に、印刷ジョブを識別するためのジョブＩＤの生成を多機能機１０に要求するためのコマンドである。ＳＤコマンドは、印刷機能の実行を多機能機１０に要求するためのコマンドであり、特に、印刷データを多機能機１０に送信するためのコマンドである。
【００３３】
ＣＰＵ３２は、Ｓ１００及びＳ１１０の各監視処理を順次実行する。Ｓ１００では、ＣＰＵ３２は、端末装置６０から、ネットワークＩ／Ｆ２０を介して、ＧＰＡコマンドを受信することを監視する。ＣＰＵ３２は、ＧＰＡコマンドを受信する場合に、Ｓ１００でＹＥＳと判断して、Ｓ１０２に進む。ＧＰＡコマンドは、トリガ操作が端末装置６０に実行される場合に、端末装置６０から多機能機１０に送信される。トリガ操作は、端末装置６０内の印刷対象の画像を表わすファイルを選択するためのファイル選択操作と、ＩＰＰプログラムに従って表示される画面において、印刷の実行を示すボタンを選択するためのボタン選択操作と、を含む。
【００３４】
Ｓ１０２では、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、Ｃａｐａｂｉｌｉｔｙ情報を端末装置６０に送信する。本実施例では、Ｃａｐａｂｉｌｉｔｙ情報は、多機能機１０の印刷エンジン１６が解釈可能な１個以上のデータ形式を示す情報（例えば、ＪＰＥＧ、ＰＤＦ等）と、印刷解像度の範囲を示す情報（例えば１００ｄｐｉ〜１２００ｄｐｉ）と、１個以上の用紙サイズを示す情報（例えばＡ４、Ａ３、Ｂ４）と、を含む。Ｓ１０２が終了すると、Ｓ１００に戻る。
【００３５】
Ｓ１１０では、ＣＰＵ３２は、端末装置６０から、ネットワークＩ／Ｆ２０を介して、ＧＰＡコマンド以外のＩＰＰコマンド（即ち、ＶＪコマンド、ＣＪコマンド、又は、ＳＤコマンド）を受信することを監視する。ＣＰＵ３２は、ＧＰＡコマンド以外のＩＰＰコマンドを受信する場合に、Ｓ１１０でＹＥＳと判断して、Ｓ１２０に進む。
【００３６】
ＶＪコマンドは、Ｃａｐａｂｉｌｉｔｙ情報が端末装置６０によって受信された後に、印刷条件指定操作が端末装置６０に実行される場合に、端末装置６０から多機能機１０に送信される。印刷条件指定操作は、ＩＰＰプログラムに従って表示される設定画面において、所望の印刷条件を指定するための操作である。印刷条件は、Ｃａｐａｂｉｌｉｔｙ情報が示す印刷解像度の範囲の中から指定される１個の印刷解像度と、Ｃａｐａｂｉｌｉｔｙ情報が示す１個以上の用紙サイズの中から指定される１個の用紙サイズと、を含む。ＣＪコマンドは、ＶＪコマンドに対する応答である２００ＯＫ（後述のＳ１８２参照）が端末装置６０によって受信される場合に、端末装置６０から多機能機１０に送信される。ＳＤコマンドは、ＣＪコマンドに対する応答である２００ＯＫが端末装置６０によって受信される場合に、端末装置６０から多機能機１０に送信される。
【００３７】
Ｓ１２０及びＳ１３０は、図２のＳ２０及びＳ３０と同様である。ＣＰＵ３２は、Ｓ１２０でＹＥＳと判断する場合には、Ｓ１３０に進む。一方、ＣＰＵ３２は、Ｓ１２０でＮＯと判断する場合には、機能制限を実行する必要がないのでＳ１３０〜Ｓ１７０をスキップして、Ｓ１８０において、ＩＰＰコマンドに応じた後述の処理を実行する。また、ＣＰＵ３２は、Ｓ１３０でＹＥＳと判断する場合には、印刷機能の利用が全てのユーザに許可されるのでＳ１４０〜Ｓ１７０をスキップして、Ｓ１８０において、ＩＰＰコマンドに応じた後述の処理を実行する。一方、ＣＰＵ３２は、Ｓ１３０でＮＯと判断する場合には、Ｓ１４０に進む。
【００３８】
Ｓ１４０では、ＣＰＵ３２は、メモリ３４内の機能制限テーブル４０から全ての個別ユーザ情報を取得し、取得済みの全ての個別ユーザ情報の中に１個以上のＯＫ個別ユーザ情報が存在するのか否かを判断する。ここで、ＯＫ個別ユーザ情報は、「ＯＫ」を示す印刷許可情報を含む個別ユーザ情報である。ＣＰＵ３２は、１個以上のＯＫ個別ユーザ情報が存在すると判断する場合（Ｓ１４０でＹＥＳ）には、Ｓ１５０に進む。一方、ＣＰＵ３２は、１個のＯＫ個別情報も存在しない場合（Ｓ１４０でＮＯ）には、印刷機能の利用が全てのユーザに許可されないので、ユーザ識別情報の送信を端末装置６０に要求することなく（即ちＳ１９０を実行することなく）、Ｓ１９２において、ネットワークＩ／Ｆ２０を介して、ＩＰＰに従ったコマンドであるエラー情報を端末装置６０に送信する。ここで、エラー情報は、ＩＰＰで定義されているコマンドであり、具体的には、Ｃｌｉｅｎｔ−ｅｒｒｏｒ−ｎｏｔ−ａｕｔｈｏｒｉｚｅｄコマンドである。当該コマンドのコードは、「０ｘ０４０３」である。従って、以下では、当該コマンドのことを「４０３コマンド」と呼ぶ。Ｓ１９２が終了すると、Ｓ１００に戻る。
【００３９】
Ｓ１５０では、ＣＰＵ３２は、ＩＰＰコマンドがユーザ識別情報を含むのか否かを判断する。ＣＰＵ３２は、ＩＰＰコマンドがユーザ識別情報を含むと判断する場合（Ｓ１５０でＹＥＳ）には、Ｓ１６０に進む。一方、ＣＰＵ３２は、ＩＰＰコマンドがユーザ識別情報を含まないと判断する場合（Ｓ１５０でＮＯ）には、ユーザ識別情報の送信を端末装置６０に要求するために、Ｓ１９０において、ネットワークＩ／Ｆ２０を介して、ＨＴＴＰに従ったコマンドである認証要求を端末装置６０に送信する。ここで、認証要求は、ＩＰＰで定義されているコマンドではなく、ＨＴＴＰで定義されているコマンドであり、具体的には、４０１ＡｕｔｈｏｒｉｚａｔｉｏｎＲｅｑｕｉｒｅｄである。以下では、当該コマンドのことを「４０１コマンド」と呼ぶ。Ｓ１９０が終了すると、Ｓ１００に戻る。
【００４０】
Ｓ１６０では、ＣＰＵ３２は、ＩＰＰコマンド内のユーザ識別情報がメモリ３４内の機能制限テーブル４０に登録されているのか否かを判断する。ＣＰＵ３２は、ユーザ識別情報が登録されていると判断する場合（Ｓ１６０でＹＥＳ）には、Ｓ１７０に進む。一方、ＣＰＵ３２は、ユーザ識別情報が登録されていないと判断する場合（Ｓ１６０でＮＯ）には、ユーザ識別情報の送信を端末装置６０に要求するために、Ｓ１９０において、４０１コマンドを端末装置６０に送信する。
【００４１】
Ｓ１７０では、ＣＰＵ３２は、メモリ３４内の機能制限テーブル４０から、ＩＰＰコマンド内のユーザ識別情報を含む個別ユーザ情報を取得し、取得済みの個別ユーザ情報内の印刷許可情報が「ＯＫ」を示すのか否かを判断する。ＣＰＵ３２は、印刷許可情報が「ＯＫ」を示すと判断する場合（Ｓ１７０でＹＥＳ）には、Ｓ１８０に進む。一方、ＣＰＵ３２は、印刷許可情報が「ＮＧ」を示すと判断する場合（Ｓ１７０でＮＯ）には、印刷機能の利用が端末装置６０のユーザに許可されないので、ユーザ識別情報の送信を端末装置６０に要求することなく（即ちＳ１９０を実行することなく）、Ｓ１９２において、４０３コマンドを端末装置６０に送信する。
【００４２】
Ｓ１８０では、ＣＰＵ３２は、ＩＰＰコマンドに応じた処理を実行する。具体的には、ＣＰＵ３２は、ＶＪコマンドが受信される場合には、ＶＪコマンド内の印刷条件が多機能機１０に適合しているのか否か、即ち、多機能機１０がＶＪコマンド内の印刷条件を利用可能であるのか否かを判断する。上述したように、端末装置６０で実行される印刷条件指定操作では、Ｃａｐａｂｉｌｉｔｙ情報の範囲内の印刷条件が指定される。このために、ＣＰＵ３２は、Ｓ１８０において、通常、ＶＪコマンド内の印刷条件が多機能機１０に適合していると判断し、Ｓ１８２において、ネットワークＩ／Ｆ２０を介して、２００ＯＫを端末装置６０に送信する。２００ＯＫは、ＩＰＰで定義されているコマンドではなく、ＨＴＴＰで定義されているコマンドであり、具体的には、処理が正常に完了したことを示すコマンドである。
【００４３】
また、ＣＰＵ３２は、ＣＪコマンドが受信される場合には、Ｓ１８０において、ユニークなジョブＩＤを生成し、Ｓ１８２において、ジョブＩＤを含む２００ＯＫを端末装置６０に送信する。なお、ＣＪコマンドは、印刷条件指定操作によって指定された印刷条件を含む。
【００４４】
また、ＣＰＵ３２は、ＳＤコマンドが受信される場合には、Ｓ１８０において、印刷処理を実行する。ＳＤコマンドは、ファイル選択操作によって選択された選択済みのファイルから端末装置６０によって生成される印刷データと、印刷条件指定操作によって指定された印刷条件と、を含む。ここで、印刷データは、多機能機１０の印刷エンジン１６が解釈可能なデータ形式（即ちＣａｐａｂｉｌｉｔｙ情報が示すいずれかのデータ形式）を有するデータであり、端末装置６０が選択済みのファイルを変換することによって生成される。ＣＰＵ３２は、ＳＤコマンド内の印刷条件を印刷エンジン１６に指示し、さらに、印刷データを印刷エンジン１６に供給する。これにより、印刷エンジン１６は、印刷データによって表わされる画像の印刷を実行する。そして、Ｓ１８２では、ＣＰＵ３２は、２００ＯＫを端末装置６０に送信する。Ｓ１８２が終了すると、Ｓ１００に戻る。
【００４５】
（多機能機１０がＰＪＬコマンドを受信するケースＸ；図４）
続いて、図４を参照して、図２のＰＪＬコマンド監視処理によって実現される具体的なケースを説明する。以下では、ケースＸ１〜Ｘ５を順次説明する。
【００４６】
ケースＸ１では、多機能機１０の機能制限フラグ３８が「ＯＦＦ」を示す。端末装置５０は、Ａ１の印刷指示操作が実行される場合に、Ｔ１０において、印刷データと印刷条件とを含むＰＪＬコマンドを多機能機１０に送信する。ここで、ＰＪＬコマンド内の印刷データは、Ａ１の印刷指示操作に含まれるファイル選択操作で選択されたファイルから生成されるデータである。また、ＰＪＬコマンド内の印刷条件は、Ａ１の印刷指示操作に含まれる印刷条件指定操作で指定された印刷条件である。Ａ１の印刷指示操作では、ユーザ識別情報を入力するための入力操作が実行されないので、ＰＪＬコマンドは、ユーザ識別情報を含まない。
【００４７】
多機能機１０は、端末装置５０からＰＪＬコマンドを受信する場合（図２のＳ１０でＹＥＳ）に、機能制限フラグ３８が「ＯＦＦ」を示すと判断し（Ｓ２０でＮＯ）、Ｔ１２において、印刷処理を実行し（Ｓ７０）、Ｔ１４において、ＯＫ応答を端末装置５０に送信する（Ｓ７２）。このように、多機能機１０は、機能制限フラグ３８が「ＯＦＦ」である場合に、ＰＪＬコマンドがユーザ識別情報を含むのか否かに関わらず、さらには、機能制限テーブル４０内の各個別ユーザ情報及び一般ユーザ情報の内容に関わらず、ＰＪＬコマンドに応じて、印刷機能を実行する。
【００４８】
ケースＸ２では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、機能制限テーブル４０内の一般ユーザ情報に含まれる印刷許可情報が「ＯＫ」を示す（以下では「一般ユーザ＝印刷ＯＫ」と記載する）。Ａ２及びＴ２０は、ケースＸ１のＡ１及びＴ１０と同様である。
【００４９】
多機能機１０は、一般ユーザ＝印刷ＯＫと判断する（図２のＳ２０でＹＥＳ、Ｓ３０でＹＥＳ）。この場合、多機能機１０は、Ｔ２２において、印刷処理を実行し（Ｓ７０）、Ｔ２４において、ＯＫ応答を端末装置５０に送信する（Ｓ７２）。このように、多機能機１０は、一般ユーザ＝印刷ＯＫである場合に、ＰＪＬコマンドがユーザ識別情報を含むのか否かに関わらず、ＰＪＬコマンドに応じて、印刷機能を実行する。
【００５０】
ケースＸ３では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、機能制限テーブル４０内の一般ユーザ情報に含まれる印刷許可情報が「ＮＧ」を示し（以下では「一般ユーザ＝印刷ＮＧ」と記載する）、かつ、ユーザＩＤ「Ｕ１」に対応する印刷許可情報が「ＯＫ」を示す（以下では「ユーザＩＤ「Ｕ１」＝印刷ＯＫ」と記載する）。Ａ３及びＴ３０は、ケースＸ１のＡ１及びＴ１０と同様である。
【００５１】
多機能機１０は、一般ユーザ＝印刷ＮＧと判断し（図２のＳ２０でＹＥＳ、Ｓ３０でＮＯ）、ＰＪＬコマンドがユーザ識別情報を含まないと判断する（Ｓ４０でＮＯ）。この場合、多機能機１０は、印刷処理を実行せずに、Ｔ３４において、ＮＧ応答を端末装置５０に送信する（Ｓ８０）。このように、多機能機１０は、一般ユーザ＝印刷ＮＧである状態で、ユーザ識別情報を含まないＰＪＬコマンドを受信する場合に、印刷機能の利用を制限する。
【００５２】
ケースＸ４の多機能機１０の状態は、ケースＸ３と同様である。Ａ４の印刷指示操作は、ユーザＩＤ「Ｕ１」及びパスワード「Ｐ１」を含むユーザ識別情報を入力するための入力操作を含む。このために、Ｔ４０のＰＪＬコマンドは、ユーザ識別情報「Ｕ１」及び「Ｐ１」を含む。
【００５３】
多機能機１０は、ＰＪＬコマンドがユーザ識別情報「Ｕ１」及び「Ｐ１」を含むと判断し（図２のＳ２０でＹＥＳ、Ｓ３０でＮＯ、Ｓ４０でＹＥＳ）、「Ｕ１」及び「Ｐ１」の組合せが機能制限テーブル４０に登録済みであると判断し（Ｓ５０でＹＥＳ）、ユーザＩＤ「Ｕ１」＝印刷ＯＫと判断する（Ｓ６０でＹＥＳ）。この場合、多機能機１０は、Ｔ４２において、印刷処理を実行し（Ｓ７０）、Ｔ４４において、ＯＫ応答を端末装置５０に送信する（Ｓ７２）。このように、多機能機１０は、ユーザＩＤ「Ｕ１」＝印刷ＯＫである場合に、ユーザ識別情報「Ｕ１」及び「Ｐ１」を含むＰＪＬコマンドに応じて、印刷機能を実行する。
【００５４】
ケースＸ５では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、一般ユーザ＝印刷ＮＧであり、かつ、ユーザＩＤ「Ｕ１」に対応する印刷許可情報が「ＮＧ」を示す（以下では「ユーザＩＤ「Ｕ１」＝印刷ＮＧ」と記載する）。Ａ５及びＴ５０は、ケースＸ４のＡ４及びＴ４０と同様である。このために、Ｔ５０のＰＪＬコマンドは、ユーザ識別情報「Ｕ１」及び「Ｐ１」を含む。
【００５５】
多機能機１０は、ユーザＩＤ「Ｕ１」＝印刷ＮＧと判断する（Ｓ２０でＹＥＳ、Ｓ３０でＮＯ、Ｓ４０でＹＥＳ、Ｓ５０でＹＥＳ、Ｓ６０でＮＯ）。この場合、多機能機１０は、印刷処理を実行せずに、Ｔ５４において、ＮＧ応答を端末装置５０に送信する（Ｓ８０）。このように、多機能機１０は、ユーザＩＤ「Ｕ１」＝印刷ＮＧである状態で、ユーザ識別情報「Ｕ１」及び「Ｐ１」を含むＰＪＬコマンドを受信する場合に、印刷機能の利用を制限する。
【００５６】
（多機能機１０がＩＰＰコマンドを受信するケースＹ；図５〜図７）
続いて、図５〜図７を参照して、図３のＩＰＰコマンド監視処理によって実現される具体的なケースを説明する。図５に示されるように、端末装置６０は、Ｂ０のトリガ操作が実行される場合に、Ｔ１００において、ＧＰＡコマンドを多機能機１０に送信する。
【００５７】
多機能機１０は、端末装置６０からＧＰＡコマンドを受信する場合（図３のＳ１００でＹＥＳ）に、Ｔ１０２において、Ｃａｐａｂｉｌｉｔｙ情報を端末装置６０に送信する（Ｓ１０２）。即ち、多機能機１０は、機能制限フラグ３８が「ＯＮ」を示すのか「ＯＦＦ」を示すのかに関わらず、さらには、機能制限テーブル４０内の各個別ユーザ情報及び一般ユーザ情報の内容に関わらず、ＧＰＡコマンドに応じて、Ｃａｐａｂｉｌｉｔｙ情報を端末装置６０に送信する。
【００５８】
端末装置６０は、多機能機１０からＣａｐａｂｉｌｉｔｙ情報を受信する場合に、Ｔ１０３において、設定画面を表示する。設定画面は、Ｃａｐａｂｉｌｉｔｙ情報の範囲内から、印刷解像度と用紙サイズとを含む印刷条件を指定するための印刷条件指定操作を実行するための画面である。以下では、Ｔ１０３の設定画面が表示された後に実現されるケースＹ１〜Ｙ５を順次説明する。
【００５９】
ケースＹ１では、多機能機１０の機能制限フラグ３８が「ＯＦＦ」を示す。端末装置５０は、Ｂ１の印刷条件指定操作が実行される場合に、Ｔ１０４において、印刷条件を含むＶＪコマンドを多機能機１０に送信する。ここで、ＩＰＰプログラムに従った設定画面（Ｔ１０３参照）では、ユーザ識別情報を入力するための入力操作を実行することができない。このために、印刷条件指定操作が実行された後に最初に送信されるＶＪコマンドは、ユーザ識別情報を含まない。
【００６０】
多機能機１０は、端末装置６０からＶＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、機能制限フラグ３８が「ＯＦＦ」を示すと判断し（Ｓ１２０でＮＯ）、ＶＪコマンド内の印刷条件が多機能機１０に適合すると判断し（Ｓ１８０）、Ｔ１０６において、２００ＯＫを端末装置６０に送信する（Ｓ１８２）。
【００６１】
端末装置６０は、多機能機１０からＶＪコマンドに対する２００ＯＫを受信する場合に、ユーザから操作を受け付けることなく、Ｔ１０８において、印刷条件を含むＣＪコマンドを多機能機１０に送信する。ここで、ＣＪコマンド内の印刷条件は、Ｔ１０４のＶＪコマンド内の印刷条件と同じものである。ＣＪコマンドは、ユーザ識別情報を含まない。
【００６２】
多機能機１０は、端末装置６０からＣＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、機能制限フラグ３８が「ＯＦＦ」を示すと判断し（Ｓ１２０でＮＯ）、Ｔ１１０において、ジョブＩＤを生成し（Ｓ１８０）、Ｔ１１２において、生成済みのジョブＩＤを含む２００ＯＫを端末装置６０に送信する（Ｓ１８２）。
【００６３】
端末装置６０は、多機能機１０からＣＪコマンドに対する２００ＯＫを受信する場合に、ユーザから操作を受け付けることなく、Ｔ１１４において、印刷データと印刷条件とジョブＩＤとを含むＳＤコマンドを多機能機１０に送信する。ここで、ＳＤコマンド内の印刷データは、Ｂ０のトリガ操作に含まれるファイル選択操作で選択されたファイルから生成されるデータである。ＳＤコマンド内の印刷条件は、Ｔ１０４のＶＪコマンド内の印刷条件（即ちＴ１０８のＣＪコマンド内の印刷条件）と同じものである。また、ＳＤコマンド内のジョブＩＤは、Ｔ１１２の２００ＯＫに含まれるジョブＩＤと同じものである。
【００６４】
多機能機１０は、端末装置６０からＳＤコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、機能制限フラグ３８が「ＯＦＦ」を示すと判断し（Ｓ１２０でＮＯ）、Ｔ１１６において、印刷処理を実行し（Ｓ１８０）、Ｔ１１８において、ＯＫ応答を端末装置５０に送信する（Ｓ１８２）。このように、多機能機１０は、機能制限フラグ３８が「ＯＦＦ」である場合に、ＩＰＰコマンド（即ちＶＪコマンド、ＣＪコマンド、及び、ＳＤコマンド）がユーザ識別情報を含むのか否かに関わらず、さらには、機能制限テーブル４０内の各個別ユーザ情報及び一般ユーザ情報の内容に関わらず、ＩＰＰコマンドに応じて、印刷機能を実行する。
【００６５】
ケースＹ２では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、一般ユーザ＝印刷ＯＫである。Ｂ２及びＴ２０４は、ケースＹ１のＢ１及びＴ１０４と同様である。多機能機１０は、端末装置６０からＶＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、機能制限フラグ３８が「ＯＮ」を示すと判断し（Ｓ１２０でＹＥＳ）、一般ユーザ＝印刷ＯＫであると判断する（Ｓ１３０でＹＥＳ）。
【００６６】
続いて実行されるＴ２０６〜Ｔ２１８は、ケースＹ１のＴ１０６〜Ｔ１１８と同様である。ただし、多機能機１０は、端末装置６０からＴ２０８のＣＪコマンド又はＴ２１４のＳＤコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、機能制限フラグ３８が「ＯＮ」を示すと判断し（Ｓ１２０でＹＥＳ）、一般ユーザ＝印刷ＯＫであると判断し（Ｓ１３０でＹＥＳ）、ＩＰＰコマンドに応じた処理を実行する（Ｓ１８０）。このように、多機能機１０は、一般ユーザ＝印刷ＯＫである場合に、ＩＰＰコマンドがユーザ識別情報を含むのか否かに関わらず、ＩＰＰコマンドに応じて、印刷機能を実行する。
【００６７】
（ケースＹ３；図６）
図６のケースＹ３では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、一般ユーザ＝印刷ＮＧであり、かつ、ユーザＩＤ「Ｕ１」＝印刷ＯＫである。Ｂ３−１及びＴ３０４は、図５のケースＹ１のＢ１及びＴ１０４と同様である。多機能機１０は、端末装置６０からＴ３０４のＶＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、一般ユーザ＝印刷ＮＧであると判断し（Ｓ１２０でＹＥＳ、Ｓ１３０でＮＯ）、ユーザＩＤ「Ｕ１」＝印刷ＯＫであるので。少なくとも１個のＯＫ個別ユーザ情報が存在すると判断し（Ｓ１４０でＹＥＳ）、ＶＪコマンドがユーザ識別情報を含まないと判断する（Ｓ１５０でＮＯ）。このために、多機能機１０は、Ｔ３０６において、４０１コマンドを端末装置６０に送信する。
【００６８】
端末装置６０は、多機能機１０から４０１コマンドを受信する場合に、ユーザ識別情報を入力するための認証画面を表示する。そして、端末装置６０は、ユーザ識別情報「Ｕ１」及び「Ｐ１」を入力するための入力操作Ｂ３−２が実行される場合に、Ｔ３１４において、印刷条件と、Ｂ３−２の入力操作で入力されたユーザ識別情報「Ｕ１」及び「Ｐ１」と、を含むＶＪコマンドを多機能機１０に送信する。ここで、Ｔ３１４のＶＪコマンド内の印刷条件は、Ｔ３０４のＶＪコマンド内の印刷条件と同じものである。
【００６９】
多機能機１０は、端末装置６０からＴ３１４のＶＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、ＶＪコマンドがユーザ識別情報「Ｕ１」及び「Ｐ１」を含むと判断し（Ｓ１２０でＹＥＳ、Ｓ１３０でＮＯ、Ｓ１４０でＹＥＳ、Ｓ１５０でＹＥＳ）、「Ｕ１」及び「Ｐ１」の組合せが機能制限テーブル４０に登録済みであると判断し（Ｓ１６０でＹＥＳ）、ユーザＩＤ「Ｕ１」＝印刷ＯＫと判断する（Ｓ１７０でＹＥＳ）。このために、多機能機１０は、Ｔ３１４のＶＪコマンド内の印刷条件が多機能機１０に適合すると判断し（Ｓ１８０）、Ｔ３１６において、２００ＯＫを端末装置６０に送信する（Ｓ１８２）。
【００７０】
続いて実行されるＴ３１８〜Ｔ３２８は、図５のケースＹ１のＴ１０８〜Ｔ１１８と同様である。ただし、Ｔ３１８のＣＪコマンド及びＴ３２４のＳＤコマンドのそれぞれは、さらに、Ｔ３１４のＶＪコマンド内のユーザ識別情報と同じユーザ識別情報「Ｕ１」及び「Ｐ１」を含む。そして、多機能機１０は、端末装置６０からＴ３１８のＣＪコマンド又はＴ３２４のＳＤコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、ユーザＩＤ「Ｕ１」＝印刷ＯＫと判断し（Ｓ１２０でＹＥＳ、Ｓ１３０でＮＯ、Ｓ１４０でＹＥＳ、Ｓ１５０でＹＥＳ、Ｓ１６０でＹＥＳ、Ｓ１７０でＹＥＳ）、ＩＰＰコマンドに応じた処理を実行する（Ｓ１８０）。このように、多機能機１０は、一般ユーザ＝印刷ＯＫである場合に、ＩＰＰコマンドに応じて、印刷機能を適切に実行することができる。
【００７１】
（ケースＹ４，Ｙ５；図７）
図７のケースＹ４では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、一般ユーザ＝印刷ＮＧであり、かつ、ユーザＩＤ「Ｕ１」＝印刷ＮＧであり、かつ、ユーザＩＤ「Ｕ２」＝印刷ＯＫである。Ｂ４−１、Ｂ４−２、及び、Ｔ４０４〜Ｔ４１４は、図６のケースＹ３のＢ３−１、Ｂ３−２、Ｔ３０４〜Ｔ３１４と同様である。
【００７２】
多機能機１０は、端末装置６０からＴ４１４のＶＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、ユーザＩＤ「Ｕ１」＝印刷ＮＧと判断する（Ｓ１２０でＹＥＳ、Ｓ１３０でＮＯ、Ｓ１４０でＹＥＳ、Ｓ１５０でＹＥＳ、Ｓ１６０でＹＥＳ、Ｓ１７０でＮＯ）。このために、多機能機１０は、Ｔ４１６において、４０３コマンドを端末装置６０に送信する（Ｓ１９２）。
【００７３】
端末装置６０は、多機能機１０から４０３コマンドを受信する場合に、Ｔ４１０において、印刷機能の利用をユーザに許可しないことを示す印刷不可画面を表示する。これにより、ユーザは、印刷機能の利用が許可されていないことを知ることができる。
【００７４】
多機能機１０が、ユーザＩＤ「Ｕ１」＝印刷ＮＧと判断する場合に、Ｔ４１６において、４０３コマンドに代えて４０１コマンドを端末装置６０に送信する構成を採用することを想定する。この場合、端末装置６０において、認証画面が再び表示され（Ｔ４０８）、入力操作が再び実行される（Ｂ４−２）。しかしながら、多機能機１０は、ユーザ識別情報「Ｕ１」及び「Ｐ１」を含むＶＪコマンドを再び受信しても、ユーザＩＤ「Ｕ１」＝印刷ＮＧと再び判断し、印刷機能を実行しない。印刷機能の利用が端末装置６０のユーザに許可されないにも関わらず、ユーザに入力操作を再び実行させることになる。これに対し、本実施例では、多機能機１０は、ユーザＩＤ「Ｕ１」＝印刷ＮＧと判断する場合に、４０１コマンドではなく４０３コマンドを端末装置６０に送信する（Ｔ４１６）。このために、端末装置６０において、認証画面が再び表示されることなく、印刷不可画面が表示される（Ｔ４１０）。この結果、印刷機能の利用が許可されていないユーザに入力操作を再び実行させずに済む。
【００７５】
なお、仮に、Ｔ４１４のＶＪコマンドが、機能制限テーブル４０に登録されているユーザ識別情報「Ｕ１」及び「Ｐ１」ではなく、機能制限テーブル４０に登録されていないユーザ識別情報を含む場合には、多機能機１０は、４０１コマンドを端末装置６０に再び送信する（Ｓ１２０でＹＥＳ、Ｓ１３０でＮＯ、Ｓ１４０でＹＥＳ、Ｓ１５０でＹＥＳ、Ｓ１６０でＮＯ、Ｓ１９０）。従って、ユーザは、例えば、Ｂ４−２の入力操作で誤ったユーザ識別情報を入力しても、正しいユーザ識別情報を入力して、印刷機能を多機能機１０に実行させることができる。
【００７６】
図７のケースＹ５では、多機能機１０の機能制限フラグ３８が「ＯＮ」を示し、かつ、一般ユーザ＝印刷ＮＧであり、かつ、ユーザＩＤ「Ｕ１」＝印刷ＮＧであり、かつ、ユーザＩＤ「Ｕ２」＝印刷ＮＧである。即ち、機能制限テーブル４０内の全ての個別ユーザ情報において、印刷許可情報が「ＮＧ」を示す。Ｂ５−１及びＴ５０４は、図６のケースＹ３のＢ３−１及びＴ３０４と同様である。
【００７７】
多機能機１０は、端末装置６０からＴ５０４のＶＪコマンドを受信する場合（図３のＳ１１０でＹＥＳ）に、機能制限テーブル４０内に１個のＯＫ個別ユーザ情報も存在しないと判断する（Ｓ１２０でＹＥＳ、Ｓ１３０でＮＯ、Ｓ１４０でＮＯ）。このために、多機能機１０は、Ｔ４１６において、４０３コマンドを端末装置６０に送信する（Ｓ１９２）。Ｔ５１０は、ケースＹ４のＴ４１０と同様である。
【００７８】
上述したように、多機能機１０は、１個のＯＫ個別ユーザ情報も存在しないと判断する場合に、４０１コマンドではなく４０３コマンドを端末装置６０に送信する（Ｔ５０６）。このために、端末装置６０において、認証画面が再び表示されることなく、印刷不可画面が表示される（Ｔ５１０）。この結果、印刷機能の利用がいずれのユーザにも許可されていない状況で、ユーザに入力操作を再び実行させずに済む。
【００７９】
（本実施例の効果）
本実施例では、機能制限テーブル４０には、ＰＪＬコマンドに応じた機能制限を実行するための個別ユーザ情報と、ＩＰＰコマンドに応じた機能制限を実行するための個別ユーザ情報と、の双方が登録される。即ち、多機能機１０は、ＰＪＬコマンドに応じた機能制限を実行するための機能制限テーブル４０とは別に、ＩＰＰコマンドに応じた機能制限を実行するためのテーブルを記憶せずに済む。このために、多機能機１０のメモリ３４に記憶されるべき情報量を低減させることができる。また、多機能機１０は、共通の機能制限テーブル４０を利用するので、各機能に対する各ユーザの機能制限を適切に管理することができる。
【００８０】
多機能機１０は、ＰＪＬコマンドに応じた機能制限を実行するための機能制限テーブル４０と同じテーブルを利用して、ＩＰＰコマンドに応じた機能制限を実行する。従って、多機能機１０が、ＩＰＰコマンドを受信する場合に、ＰＪＬコマンドを受信する場合と同様の処理（即ち図２のＰＪＬコマンド監視処理と同様の処理）を実行する構成（以下では「比較例の構成」と呼ぶ）が考えられる。比較例の構成では、例えば、多機能機１０は、機能制限フラグ３８が「ＯＮ」を示すと判断し（図２のＳ２０でＹＥＳに相当）、一般ユーザ＝印刷ＮＧと判断し（Ｓ３０でＮＯに相当）、ＩＰＰコマンドがユーザ識別情報を含まないと判断する場合（Ｓ４０でＮＯに相当）に、４０３コマンドを送信することになる（Ｓ８０に相当）。しかしながら、例えば、図６のＹ３に示されるように、端末装置６０がＩＰＰを利用して多機能機１０に印刷機能を実行させる場合には、１回目のＶＪコマンド（Ｔ３０４）は、ユーザ識別情報を含まない。従って、比較例の構成を採用すると、多機能機１０は、１回目のＶＪコマンドに応じて、４０３コマンドを送信することになり、この結果、ユーザＩＤ「Ｕ１」＝印刷ＯＫであるにも関わらず、ユーザは、印刷機能を多機能機１０に実行させることができない。
【００８１】
これに対し、本実施例では、多機能機１０は、機能制限フラグ３８が「ＯＮ」を示すと判断し（図３のＳ１２０でＹＥＳ）、一般ユーザ＝印刷ＮＧと判断し（Ｓ１３０でＮＯ）、ＩＰＰコマンドがユーザ識別情報を含まないと判断する場合（Ｓ１４０でＹＥＳ、Ｓ１５０でＮＯ）に、４０３コマンドではなく、ユーザ識別情報の送信を端末装置６０に要求するための４０１コマンドを送信する（Ｓ１９０、図６のＴ３０６）。このために、多機能機１０は、端末装置６０から、ユーザ識別情報「Ｕ１」及び「Ｐ１」を含む２回目のＶＪコマンドを受信することができ（Ｔ３１４）、この結果、印刷機能を適切に実行することができる（Ｔ３１６〜Ｔ３２８）。このように、多機能機１０は、ＰＪＬコマンドに応じた機能制限を実行するための機能制限テーブル４０と同じテーブルを利用して、ＩＰＰコマンドに応じた機能制限を適切に実行することができる。
【００８２】
（対応関係）
端末装置５０、端末装置６０が、それぞれ、「第１の端末装置」、「第２の端末装置」の一例である。印刷機能、印刷エンジン１６が、それぞれ、「特定機能」、「特定機能エンジン」の一例である。機能制限テーブル４０が、「テーブル」の一例である。機能制限フラグ３８が「ＯＮ」である状態、「ＯＦＦ」である状態が、それぞれ、「第１の設定」、「第２の設定」の一例である。図２のＳ１０で受信されるＰＪＬコマンド、図３のＳ１１０で受信されるＶＪコマンド、Ｓ１９０で送信される４０１コマンド、Ｓ１９２で送信される４０３コマンドが、それぞれ、「第１の機能実行要求」、「第２の機能実行要求」、「関係情報要求」、「エラー情報」の一例である。図３のＳ１２０でＮＯの場合、Ｓ１３０でＹＥＳの場合、Ｓ１４０でＮＯの場合が、それぞれ、「第１の場合」、「第２の場合」、「第３の場合」の一例である。図４のケースＸ４のＴ４０のＰＪＬコマンドに含まれるユーザ識別情報「Ｕ１」及び「Ｐ１」が、「第１の個別識別情報」（さらには「第１の個別関係情報」）の一例である。図６のケースＹ３のＴ３１４のＶＪコマンドに含まれるユーザ識別情報「Ｕ１」及び「Ｐ１」が、「第２の個別識別情報」（さらには「第２の個別関係情報」）の一例である。
【００８３】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
【００８４】
（変形例１）上記の実施例では、多機能機ドライバ５２を備えない端末装置６０が、ＩＰＰコマンドを多機能機１０に送信することを想定している。ただし、多機能機ドライバ５２を備える端末装置５０が、ＩＰＰコマンドを多機能機１０に送信してもよい。即ち、「第２の端末装置」は、上記の実施例のように、「第１の端末装置」と異なる端末装置であってもよいし、本変形例のように、「第１の端末装置」と同じ端末装置であってもよい。
【００８５】
（変形例２）上記の実施例では、ＰＪＬコマンド又はＩＰＰコマンドは、入力操作によって入力されたユーザ識別情報をそのまま含む。これに代えて、ＰＪＬコマンド又はＩＰＰコマンドは、入力操作によって入力されたユーザ識別情報をダイジェスト化（例えばハッシュ化）することによって得られるダイジェスト値を含んでいてもよい。そして、多機能機１０は、機能制限テーブル４０内の各個別ユーザ情報に含まれる各ユーザ識別情報をダイジェスト化することによって各ダイジェスト値を算出し、算出済みの各ダイジェスト値と、ＰＪＬコマンド又はＩＰＰコマンド内のダイジェスト値と、を比較することによって、図２のＳ５０，Ｓ６０、及び、図３のＳ１６０，Ｓ１７０を実行してもよい。本変形例では、ＰＪＬコマンド又はＩＰＰコマンド内のダイジェスト値が、「第１の個別関係情報」及び「第２の個別関係情報」の一例である。
【００８６】
（変形例３）機能制限テーブル４０は、多機能機１０のメモリ３４内に記憶されていなくてもよく、例えば、多機能機１０が所属するＬＡＮ４に接続されているサーバ内のメモリ、又は、インターネット上のサーバ内のメモリに記憶されていてもよい。そして、多機能機１０は、図２のＳ５０の処理を実行する際に、ＰＪＬコマンド内のユーザ識別情報をサーバに送信して、ユーザ識別情報が機能制限テーブル４０に登録されているのか否かをサーバに問い合わせてもよい。また、多機能機１０は、図２のＳ６０の処理を実行する際に、ＰＪＬコマンド内のユーザ識別情報をサーバに送信して、ユーザ識別情報に対応する印刷許可情報が「ＯＫ」を示すのか否かをサーバに問い合わせてもよい。図３のＳ１６０及びＳ１７０でも同様である。本変形例では、多機能機１０とサーバ内のメモリとを備えるシステムが、「多機能機」の一例である。
【００８７】
（変形例４）図３のＳ１９２において、多機能機１０は、４０３コマンドに代えて４０１コマンドを送信してもよい。本変形例では、「エラー情報送信部」を省略可能である。
【００８８】
（変形例５）多機能機１０は、同じ端末装置から複数個のＩＰＰコマンドを順次受信することに応じて、予め決められている所定回数に亘って図３のＳ１９０の処理を繰り返し実行し、その後、当該端末装置からＩＰＰコマンドを再び受信することに応じて、Ｓ１５０でＮＯ又はＳ１６０でＮＯと判断する場合に、Ｓ１９０の処理を実行せずにＳ１９２の処理を実行してもよい。この構成によると、多機能機１０は、例えば、ユーザ識別情報の認証が連続して失敗する場合（Ｓ１６０でＮＯ）に、端末装置が認証画面を表示してＩＰＰコマンドを多機能機１０に再送信する処理を停止させることができる。
【００８９】
（変形例６）多機能機１０は、機能制限フラグ３８を備えておらず、図２のＳ２０及び図３のＳ１２０を実行しなくてもよい。即ち、「多機能機」は、「第１の設定」及び「第２の設定」を利用しなくてもよい。
【００９０】
（変形例７）多機能機１０は、多機能機ドライバ５２に従ったスキャン実行コマンドを受信する場合に、図２のＳ２０〜Ｓ８０に従って、スキャン機能の機能制限を実行してもよい。この場合、Ｓ３０及びＳ６０では、機能制限テーブル４０内のスキャン許可情報が利用され、Ｓ７０では、スキャン処理が実行される。また、多機能機１０は、多機能機ドライバ５２に従わないスキャン実行コマンドを受信する場合に、図３のＳ１００〜Ｓ１９２に従って、スキャン機能の機能制限を実行してもよい。この場合、Ｓ１００では、スキャン機能のＣａｐａｂｉｌｉｔｙ情報に関するコマンドが受信され、Ｓ１０２では、スキャン機能のＣａｐａｂｉｌｉｔｙ情報が送信される。また、Ｓ１３０、Ｓ１４０、及び、Ｓ１７０では、機能制限テーブル４０内のスキャン許可情報が利用され、Ｓ８０では、スキャン処理が実行される。本変形例では、スキャン機能、スキャンエンジン１８が、それぞれ、「特定機能」、「特定機能エンジン」の一例である。
【００９１】
（変形例８）上記の実施例では、多機能機１０のＣＰＵ３２がプログラム３６に従って処理を実行することによって、図２〜図７の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００９２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００９３】
２：通信システム、１０：多機能機、１２：操作部、１４：表示部、１６：印刷エンジン、１８：スキャンエンジン、２０：ネットワークインターフェース、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、３８：機能制限フラグ、４０：機能制限テーブル、５０，６０：端末装置、５２：多機能機ドライバ
【図１】
2019004513.tif 000003
【図２】
2019004513.tif 000004
【図３】
2019004513.tif 000005
【図４】
2019004513.tif 000006
【図５】
2019004513.tif 000007
【図６】
2019004513.tif 000008
【図７】
2019004513.tif 000009
【手続補正書】
【提出日】平成30年10月5日(2018.10.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数個の機能を実行可能な多機能機であって、
前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、
１個以上の個別ユーザ情報を含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報である、前記メモリと、
端末装置が、前記多機能機のためのドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための機能実行要求を前記多機能機に送信する場合に、前記端末装置から前記機能実行要求を受信する要求受信部であって、前記機能実行要求は、ＩＰＰ（Internet Printing Protocolの略）に従ったコマンドである、前記要求受信部と、
前記端末装置から、個別識別情報に関係する個別関係情報を含まない前記機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記端末装置に送信する要求送信部であって、前記関係情報要求は、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従ったコマンドである、前記要求送信部と、
前記関係情報要求を前記端末装置に送信することに応じて、前記端末装置から、対象の個別識別情報に関係する対象の個別関係情報を含む前記機能実行要求が受信される場合に、前記テーブル内の前記対象の個別識別情報に対応付けられている対象の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる機能制御部と、
を備える多機能機。
【請求項２】
前記要求送信部は、
前記端末装置から、前記個別関係情報を含まない前記機能実行要求が受信され、かつ、前記多機能機の設定が前記テーブルを利用することを示す第１の設定である場合に、前記関係情報要求を前記端末装置に送信し、
前記端末装置から、前記個別関係情報を含まない前記機能実行要求が受信され、かつ、前記多機能機の設定が前記テーブルを利用しないことを示す第２の設定である第１の場合に、前記関係情報要求を前記端末装置に送信せず、
前記機能制御部は、さらに、前記第１の場合に、前記特定機能を前記特定機能エンジンに実行させる、請求項１に記載の多機能機。
【請求項３】
前記テーブル内の前記複数個のユーザ情報は、さらに、１個の一般ユーザ情報を含み、
前記一般ユーザ情報は、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザ以外の各ユーザである一般ユーザに許可するのか否かを示す一般許可情報を含み、
前記要求送信部は、
前記端末装置から、前記個別関係情報を含まない前記機能実行要求が受信され、かつ、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可しないことを示す場合に、前記関係情報要求を前記端末装置に送信し、
前記端末装置から、前記個別関係情報を含まない前記機能実行要求が受信され、かつ、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可することを示す第２の場合に、前記関係情報要求を前記端末装置に送信せず、
前記機能制御部は、さらに、前記第２の場合に、前記特定機能を前記特定機能エンジンに実行させる、請求項１又は２に記載の多機能機。
【請求項４】
前記要求送信部は、
前記端末装置から、前記個別関係情報を含まない前記機能実行要求が受信され、かつ、前記テーブル内の少なくとも１個の前記個別許可情報が前記特定機能の利用を許可することを示す場合に、前記関係情報要求を前記端末装置に送信し、
前記端末装置から、前記個別関係情報を含まない前記機能実行要求が受信され、かつ、前記テーブル内のいずれの前記個別許可情報も前記特定機能の利用を許可しないことを示す第３の場合に、前記関係情報要求を前記端末装置に送信せず、
前記多機能機は、さらに、
前記第３の場合に、前記特定機能を実行不可能であることを示すエラー情報を前記端末装置に送信するエラー情報送信部を備える、請求項１から３のいずれか一項に記載の多機能機。
【請求項５】
前記要求送信部は、さらに、前記端末装置から、前記対象の個別関係情報を含む前記機能実行要求が受信され、かつ、前記対象の個別許可情報が前記テーブルに含まれていない場合に、前記関係情報要求を前記端末装置に再び送信する、請求項１から４のいずれか一項に記載の多機能機。
【請求項６】
前記多機能機は、さらに、
前記端末装置から、前記対象の個別関係情報を含む前記機能実行要求が受信され、かつ、前記対象の個別許可情報が前記特定機能の利用を許可しないことを示す場合に、前記特定機能を実行不可能であることを示すエラー情報を前記端末装置に送信するエラー情報送信部を備える、請求項１から５のいずれか一項に記載の多機能機。
【請求項７】
前記エラー情報送信部は、前記ＩＰＰに従ったコマンドである前記エラー情報を前記端末装置に送信する、請求項６に記載の多機能機。
【請求項８】
前記特定機能は、印刷機能である、請求項１から７のいずれか一項に記載の多機能機。
【請求項９】
複数個の機能を実行可能な多機能機のためのコンピュータプログラムであって、
前記多機能機は、
前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、
１個以上の個別ユーザ情報を含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報である、前記メモリと、
プロセッサと、を備え、
前記コンピュータプログラムは、前記プロセッサに、以下の各処理、即ち、
端末装置が、前記多機能機のためのドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための機能実行要求を前記多機能機に送信する場合に、前記端末装置から前記機能実行要求を受信する要求受信処理であって、前記機能実行要求は、ＩＰＰ（Internet Printing Protocolの略）に従ったコマンドである、前記要求受信処理と、
前記端末装置から、個別識別情報に関係する個別関係情報を含まない前記機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記端末装置に送信する要求送信処理であって、前記関係情報要求は、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従ったコマンドである、前記要求送信処理と、
前記関係情報要求を前記端末装置に送信することに応じて、前記端末装置から、対象の個別識別情報に関係する対象の個別関係情報を含む前記機能実行要求が受信される場合に、前記テーブル内の前記対象の個別識別情報に対応付けられている対象の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる機能制御処理と、
を実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本明細書では、複数個の機能を実行可能な多機能機を開示する。多機能機は、前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、１個以上の個別ユーザ情報を含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報である、前記メモリと、端末装置が、前記多機能機のためのドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための機能実行要求を前記多機能機に送信する場合に、前記端末装置から前記機能実行要求を受信する要求受信部であって、前記機能実行要求は、ＩＰＰ（Internet Printing Protocolの略）に従ったコマンドである、前記要求受信部と、前記端末装置から、個別識別情報に関係する個別関係情報を含まない前記機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記端末装置に送信する要求送信部であって、前記関係情報要求は、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従ったコマンドである、前記要求送信部と、前記関係情報要求を前記端末装置に送信することに応じて、前記端末装置から、対象の個別識別情報に関係する対象の個別関係情報を含む前記機能実行要求が受信される場合に、前記テーブル内の前記対象の個別識別情報に対応付けられている対象の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる機能制御部と、を備えてもよい。
また、本明細書では、複数個の機能を実行可能な他の多機能機を開示する。多機能機は、前記複数個の機能のうちの特定機能を実行するための特定機能エンジンと、１個以上の個別ユーザ情報と１個の一般ユーザ情報とを含む複数個のユーザ情報を含むテーブルを記憶するためのメモリであって、前記個別ユーザ情報は、個別ユーザを識別するための個別識別情報と、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザに許可するのか否かを示す個別許可情報と、が対応付けられた情報であり、前記一般ユーザ情報は、前記複数個の機能のそれぞれについて、当該機能の利用を前記個別ユーザ以外の各ユーザである一般ユーザに許可するのか否かを示す一般許可情報を含む、前記メモリと、前記多機能機のためのドライバプログラムを備える第１の端末装置が、前記ドライバプログラムを利用して、前記特定機能の実行を前記多機能機に要求するための第１の機能実行要求を前記多機能機に送信する場合に、前記第１の端末装置から前記第１の機能実行要求を受信する第１の要求受信部と、前記第１の端末装置から、第１の個別識別情報に関係する第１の個別関係情報を含む前記第１の機能実行要求が受信される場合に、前記テーブル内の前記第１の個別識別情報に対応付けられている第１の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させ、前記第１の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第１の機能実行要求が受信される場合に、前記テーブル内の前記一般許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第１の機能制御部と、前記第１の端末装置と同じ又は異なる端末装置である第２の端末装置が、前記ドライバプログラムを利用せずに、前記特定機能の実行を前記多機能機に要求するための第２の機能実行要求を前記多機能機に送信する場合に、前記第２の端末装置から前記第２の機能実行要求を受信する第２の要求受信部と、前記第２の端末装置から、個別識別情報に関係する個別関係情報を含まない前記第２の機能実行要求が受信される場合に、ユーザ関係情報の送信を要求するための関係情報要求を前記第２の端末装置に送信する要求送信部と、前記関係情報要求を前記第２の端末装置に送信することに応じて、前記第２の端末装置から、第２の個別識別情報に関係する第２の個別関係情報を含む前記第２の機能実行要求が受信される場合に、前記テーブル内の前記第２の個別識別情報に対応付けられている第２の個別許可情報が前記特定機能の利用を許可することを示すことを条件として、前記特定機能を前記特定機能エンジンに実行させる第２の機能制御部と、を備える。