(57)【要約】【課題】  機器の状態遷移および実行中のジョブの状態遷移などに従って周辺機器外部に接続されたホスト等にイベント通知データを送信することが可能な周辺機器装置において、限りあるメモリを効率良く使用して、イベント通知先（複数のＰＣ）の管理を行なう。【解決手段】  イベント登録データを受信する手段と、イベント通知登録情報を保持する手段と、イベントが発生した場合に、保持されているイベント通知登録情報を、発生したイベントの種類をキーとして検索する手段と、イベント通知登録情報のイベント通知宛先に対して、接続形式を使用して、発生したイベントをイベント通知データとして送信する手段と、イベント通知データを送信した累計通知数を保持する手段と、累計通知数が前記通知数に達した場合に、イベント通知登録情報を削除する手段とで構成する。【選択図】  図１
2006350796.tif 000002
【特許請求の範囲】
【請求項１】
機器の状態遷移および実行中のジョブの状態遷移などに従って周辺機器外部に接続されたホスト等にイベント通知データを送信することが可能な周辺機器装置において、
前記ホスト等が送信するイベント通知宛先と接続形式とイベントの種類と通知数とを含むイベント登録データを受信する手段と、
受信した前記イベント登録データにもとづいてイベントの通知宛先と接続形式とイベントの種類と通知数とを含むイベント通知登録情報を保持する手段と、
イベントが発生した場合に、保持されているイベント通知登録情報を、発生したイベントの種類をキーとして検索する手段と、
検索して得られたイベント通知登録情報のイベント通知宛先に対して、接続形式を使用して、発生したイベントをイベント通知データとして送信する手段と、
イベント通知データを送信した累計通知数を保持する手段と、
イベント通知データを送信した累計通知数が前記通知数に達した場合に、該当するイベント通知登録情報を削除する手段と、
を有することを特徴とする周辺機器装置。
【請求項２】
請求項１に記載の周辺機器装置において、
送信するイベント通知データには、前記イベント通知登録情報の通知数と前記送信した累計通知数との差である残りの通知数も含んでいること、
を特徴とする周辺機器装置。
【請求項３】
請求項１又は、２のいずれかに記載の周辺機器装置において、
累計通知数および通知数は、イベント通知データのパケット数をもとに計算を行なうこと、
を特徴とする周辺機器装置。
【請求項４】
請求項１又は、２のいずれかに記載の周辺機器装置において、
累計数および通知数は、イベント数をもとに計算を行なうこと、
を特徴とする周辺機器装置。
【請求項５】
請求項１又は、２のいずれかに記載の周辺機器装置において、
累計通知数および通知数は、各イベント通知登録情報ごとにイベント通知データのパケット数あるいはイベント数のいずれかをもとに計算を行なうこと、
を特徴とする周辺機器装置。
【請求項６】
請求項２に記載の周辺機器装置をネットワークなどを介して外部から制御する周辺機器制御方法において、この制御方法は、
イベント通知宛先と接続形式とイベントの種類と通知数とを含むイベント登録データを周辺機器に対して送信する工程と、
周辺機器から送信されたイベント通知データに含まれる前記残りの通知数によって、再度、前記イベント登録データを送信する工程と、
を有することを特徴とする周辺機器制御方法。
【請求項７】
請求項６に記載の周辺機器制御方法において、
周辺機器から送信されたイベント通知データに含まれる前記残りの通知数が所定の数以下であった場合に、再度、前記イベント登録データを送信する工程を有すること、
を特徴とする周辺機器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の状態遷移および実行中のジョブの状態遷移などに従って機器外部に接続されたホスト等にイベントを送信することが可能なプリンタ・スキャナ・複写機・ファックスなどの周辺機器装置、周辺機器の制御方法、及び制御ソフトウエアに関する。
【背景技術】
【０００２】
イベントデータを周辺機器装置外部に送信可能な周辺機器装置において、これら周辺機器にネットワークなどを介して接続された周辺機器制御ソフトウエアは興味のあるイベントのみの送信を周辺機器に対して登録することが可能なものがある。
【０００３】
この様な周辺機器装置には、複数の周辺機器制御ソフトウエアからの登録に対応するため、複数の送信先を保持できるようなイベント登録テーブルを持っているものがある。そして、各周辺機器制御ソフトウエアは、イベントが不要になると明示的に登録の削除を行ない、周辺機器装置のイベント登録テーブルを無駄に占有することがないように制御している。イベント登録テーブルは、通常、想定される送信先の数以上を保持できるようになっているが、ホストのハングアップなど何らかの理由により、イベントの通知が不要になっても明示的な登録の削除が行なわれずにイベント登録されたままになると、イベント登録テーブルが満杯になってしまい、新たにイベント登録が不可能で、イベント機能が停止してしまう。こういう事態を回避するため、イベント登録時点から所定の時間が経過したイベント登録に関して、周辺機器装置が自動的に登録テーブルから削除を行なう仕組みにしているものがある。周辺機器制御ソフトウエアは、一定時間経過毎にイベントを再登録するようにしておけば、常に、イベントを必要とする送信先のみがイベント登録テーブルに登録されていることになる。
【０００４】
又、別の従来例としては、特許文献１及び特許文献２をあげることが出来る。
【特許文献１】特開平08-023417号公報
【特許文献２】特開2004-104679号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前記のような、時間の経過によってイベント登録テーブルから削除する方法では、周辺機器装置の内部にある時計機能に頼ることになるため、内部時計がリセットされたり、時刻合わせにより修正されたり、あるいは、時計の時刻を設定していなかったりすると、登録の削除の仕組みがうまく動作しなくなるという問題があった。
【０００６】
また、時計の時刻を設定していない場合のように時計が動作していない場合には、やはりこの仕組みは正しく動作しない。
【０００７】
また、周辺機器制御ソフトウエアは、前回いつイベントを登録したかを覚えるなどして、次にいつイベントを再登録すべきかを自ら判断して動作する必要があるという処理上の煩雑さがあった。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、
機器の状態遷移および実行中のジョブの状態遷移などに従って周辺機器外部に接続されたホスト等にイベント通知データを送信することが可能な周辺機器装置において、
前記ホスト等が送信するイベント通知宛先と接続形式とイベントの種類と通知数とを含むイベント登録データを受信する手段と、
受信した前記イベント登録データにもとづいてイベントの通知宛先と接続形式とイベントの種類と通知数とを含むイベント通知登録情報を保持する手段と、
イベントが発生した場合に、保持されているイベント通知登録情報を、発生したイベントの種類をキーとして検索する手段と、
検索して得られたイベント通知登録情報のイベント通知宛先に対して、接続形式を使用して、発生したイベントをイベント通知データとして送信する手段と、
イベント通知データを送信した累計通知数を保持する手段と、
イベント通知データを送信した累計通知数が前記通知数に達した場合に、該当するイベント通知登録情報を削除する手段と、
を有することを特徴とする。
【発明の効果】
【０００９】
本発明に係る周辺機器装置では、機器の状態遷移および実行中のジョブの状態遷移などに従って周辺機器外部に接続されたホスト等にイベント通知データを送信することが可能な周辺機器装置において、前記ホスト等が送信するイベント通知宛先と接続形式とイベントの種類と通知数とを含むイベント登録データを受信する手段と、受信した前記イベント登録データにもとづいてイベントの通知宛先と接続形式とイベントの種類と通知数とを含むイベント通知登録情報を保持する手段と、イベントが発生した場合に、保持されているイベント通知登録情報を発生したイベントの種類をキーとして検索する手段と、検索して得られたイベント通知登録情報のイベント通知宛先に対して、接続形式を使用して、発生したイベントをイベント通知データとして送信する手段と、イベント通知データを送信した累計通知数を保持する手段と、イベント通知データを送信した累計通知数が前記通知数に達した場合に、該当するイベント通知登録情報を削除する手段と、を有することにより、イベントの通知先の管理を、必要最小限のメモリで効率良く行なうことが可能となる。また、内部時計の有無や設定変更に無関係に、イベント登録のテーブルの効率的な管理が可能となる。
【００１０】
さらに、周辺機器制御ソフトウエアにおいても、前回いつイベントを登録したかを記憶しておく必要が無いため、RAMなどのメモリ資源の節約が行なえる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００１２】
以下に実施例として記述している多機能周辺機器は以下の仕様を有している。
【００１３】
１、ジョブ発行
・プリント
・３つの物理プリンタを選択して使用可能
LBP1(B/W,Finisher付),LBP2(B/W),Ink Jet Printer(Color)
（インクジェットプリンターはカラー印刷が可能）
・４つの論理プリンタ（クラスタ）プリンタを選択して使用可能
LBP1+LBP2, LBP2+IJ, LBP1+IJ, LBP1+LBP2+IJ
・上記７つのプリンタから自動選択されたプリンタを使用可能
・インクジェットプリンターエンジンを使用し、白黒のみの印刷可能なプリンターとする論理プリンターを使用可能
・スキャン
・外部からスキャンジョブの発行が可能
・カラー原稿の読込みが可能
・コピー
・スキャナーと上記8つのプリンタを使用して構成されるコピーを選択して使用可能（自動選択も可能）
・一部はカラーコピー可能（プリンターがIJのみのとき）
２、リソース管理
・フォント
・プリントジョブで使用する。
【００１４】
・アップロード・ダウンロードが可能
・フォームオーバーレイ
・プリントジョブで使用する。
【００１５】
・アップロード・ダウンロードが可能
・カラープロファイル
・プリントジョブ・スキャンジョブ・コピージョブで使用する。
【００１６】
・アップロード・ダウンロードが可能
・ログ
・機器内部で自動生成される
・アップロードが可能
３、インターフェース
・Network(TCP/IP), IEEE1284, IEEE1394
・どのインターフェースからでも、全ての機能を使用可能
・各インターフェースごとにサブアドレスと物理・論理デバイス（プリンター、スキャナ、コピー）および各リソースの対応が取られており、サブアドレスを選択することによりこれらの物理・論理デバイスおよび各リソースを選択する。
【００１７】
・これらの各インターフェースの各サブアドレスに対して、同時にジョブを発行およびダウンロード・アップロードを指示することができる。
【００１８】
・サブアドレスと物理・論理デバイスおよび各リソースとの対応は、機器自身に問い合わせることにより得られる。
【００１９】
・内部で持つユーザーインターフェースからも、機能を使用可能
４、管理機能
・外部から上記インターフェースを通してSupervisorに問い合せることにより、以下の情報を取得可能
・提供している機能概要（どんなジョブが発行できるか、どんなリソースが利用できるかなど）
・ジョブ発行、リソースのダウンロード・アップロードに使用するサブアドレス
・各機能の詳細情報（最大コピー部数、フィニシャーの種類、サポートしているＰＤＬ、指定できる出力BINの数等）
・（上記情報を使用して、Client側ではソフトウエアを自動構成可能）
・ただし、この問合わせに使用するサブアドレスだけは各インターフェースにおいて、クライアントはあらかじめ知っておく必要がある。
【００２０】
・管理者は、上記の各種機能を接続形式および使用ユーザにより制限可能
［概要］
図１は本発明が実施された多機能周辺機器の構成をあらわす概念図である。
【００２１】
図１において、101はコントローラであり機器を制御するためのコントローラであり、図３において示されるハードウエア構成を有し、図４・図５および図６において示されるソフトウエア構成を有している。
【００２２】
102はスキャナエンジンであり、コントローラ101によって制御されている。
【００２３】
103はレーザービームプリンタエンジンであり、コントローラ101によって制御されている。
【００２４】
103のレーザービームプリンタエンジンは106で示されるフィニッシャーに接続されており、同プリンタエンジンから出力された複数の紙をまとめてステープル（ホッチキス）処理することが可能となっている。同フィニッシャーもコントローラ101によって制御されている。
【００２５】
104はレーザービームプリンタエンジンであり、コントローラ101によって制御されている。
【００２６】
105はインクジェットプリントエンジンであり、コントローラ101によって制御されている。このエンジンはカラー出力を行なうことが可能となっている。
【００２７】
107はネットワークインターフェースであり、コントローラ101に対して同インターフェースを通した双方向通信を提供している。
【００２８】
108はIEEE1394インターフェースであり、コントローラ101に対して同インターフェースを通した双方向通信を提供している。
【００２９】
109はIEEE1284インターフェースであり、コントローラ101に対して同インターフェースを通した双方向通信を提供している。
【００３０】
110はユーザーインタフェースであり、LCDディスプレイとキーボードから構成されており、コントローラ101からの情報表示を行なうとともにユーザからの指示をコントローラ101に伝える。
【００３１】
図２は本実施例のシステム構成をあらわすものである。
【００３２】
図２において、201は図１であらわされる多機能周辺機器である。
【００３３】
多機能周辺機器201はネットワーク208、IEEE1394（206）、IEEE1284（207）によってクライアントＰＣ(202)、（203）、（204）、（205）にそれぞれ接続されている。各クライアントＰＣでは、図４８−図５５において示されるソフトウエアが動作している。
【００３４】
図３は、コントローラ101のハードウエア構成をあらわすものである。
【００３５】
コントローラ101の内部では、CPU301がバス313を介して、RAM302・LCDディスプレイ303・キーボード304・ROM314接続されている。
【００３６】
図４−図４２で示されるソフトウエアブロックを有するプログラムおよび各種データはRAM302またはROM314に書き込まれており、これらをCPU301が順次読みだしながら実行することにより、コントローラは動作する。
【００３７】
LCDディスプレイ303・キーボード304は図１におけるユーザインターフェース110を構成するものであり、CPU301がLCDディスプレイ303にデータを書き込むことにより表示を行い、CP301がキーボード304からデータを読み出すことにより、ユーザからの指示を入力する。
【００３８】
バス313には、ネットワークインターフェース305・IEEE1394インターフェース306・IEEE1284インターフェース307が接続されている。これらは、それぞれ図1のネットワークインターフェース107・IEEE1394インターフェース108・IEEE1284インターフェース109に対応するものであり、CPU301がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行なう。
【００３９】
バス313には、レーザービームプリンタエンジン１（308）・フィニッシャー309・スキャナエンジン310・レーザービームプリンタエンジン２（311）・インクジェットプリンタエンジン312が接続されている。これらは、図１のレーザービームプリンタエンジン１（103）・フィニッシャー106・スキャナエンジン102・レーザービームプリンタエンジン２（104）・インクジェットプリンタエンジン105に対応するものであり、CPU301がこれらのエンジンに対してデータの読み書きを行なうことによりプリント・スキャンなどのエンジン動作および各種ステータス取得を行なう。
【００４０】
図４はコントローラ101のソフトウエア構成をあらわすものである。
【００４１】
401はユーザーインターフェースドライバであり、LCDディスプレイ303およびキーボード304の制御を行なう。
【００４２】
405はユーザインターフェースマネージャであり、UIドライバ401から入力されたユーザからの入力を解釈して、図３１で示されるコマンドパケットを生成しインタープリター409に出力する。ユーザーインターフェースマネージャ405はまたインタープリター409から入力されたコマンドパケットをを解釈し、UIドライバ401を介してLCDディスプレイ303に表示を行なう。
【００４３】
402はネットワークインターフェースドライバであり、ネットワークインターフェース305の制御を行い、ネットワークパケットの物理層（物理パケット）の処理、つまり物理パケットからトランスポートパケットの抽出、およびトランスポートパケットから物理パケットの生成を行なう。
【００４４】
406はTCP／IP・UDP／IP処理モジュールであり、ネットワークインターフェース402から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、ネットワークインターフェース402に出力する。
【００４５】
403はIEEE1284ドライバであり、IEEE1284インターフェース307の制御を行なう。
【００４６】
407はIEEE1284.4の処理モジュールである。IEEE1284.4は主にIEEE1284インターフェースで使用されることを目的としたトランスポート層の標準である。IEEE1284.4の処理モジュール（407）はIEEE1284ドライバ（403）から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1284ドライバ（403）に出力する。
【００４７】
404はIEEE1394ドライバであり、IEEE1394インターフェース306の制御を行なう。
【００４８】
408はIEEE1394におけるトランスポート層であるSBP−2を処理するモジュールである。SBP−2の処理モジュール（408）はIEEE1394ドライバ（404）から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1394ドライバ（404）に出力する。
【００４９】
409は406・407・408の各トランスポート処理部およびユーザインターフェースマネージャ405から入力されたコマンドパケットを解釈しコマンドを生成するパケットインタープリターである。パケットインタープリター409は他のモジュールからの依頼によりコマンドパケットの生成も行なう。インタープリター409はスーパーバイザー（統括管理マネージャ）410が有するサブアドレス：SID対応表（図８）に従って、有効となっているサブアドレスから入力されたコマンドパケットのみを処理し、それ以外のサブアドレスから入力されたコマンドパケットは破棄する。
【００５０】
410は図７から図１３で示される各種データを保持し、コントローラ101の動作を統括管理するスーパーバイザー（統括管理マネージャ）である。スーパバイザー410は、自分自身が保持する各種データ、各マネージャ（フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608）が保持する各種データ、および各コントローラ（プリンタコントローラ510−512、スキャナコントローラ420）が保持する各種データを、入力されたコマンドの指示に従って参照・変更する。
【００５１】
411はセキュリティゲートであり、インタープリター409で解釈されたコマンドパケットをスーパーバイザー410が有するユーザ認証表（図１０）およびアクセス制御表（図１１）に従って、正しい使用権を持つユーザのみが、多機能周辺機器201を使用可能とするべくコマンドの入力を制限するものである。
【００５２】
412はディスパッチャーであり、インタープリター（409）から入力されたコマンドを、これらを処理するための各マネージャ（フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608）に配布する。
【００５３】
413はフォントマネージャであり、フォントの管理を行なう。フォントマネージャ413は図１８、図１９で示されるようはデータを保持している。フォントマネージャ413で管理されるフォントは、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【００５４】
414はフォームオーバーレイマネージャであり、フォームオーバーレイの管理を行なう。フォームオーバーレイマネージャ414は図２０、図２１で示されるようなデータを保持している。フォームオーバーレイマネージャ414で管理されるフォームオーバーレイは、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【００５５】
415はログマネージャであり、ログの管理を行なう。ログマネージャ415は図２２、図２３で示されるようなデータを保持している。ログは各マネージャから出力される、ログマネージャの管理下におかれる。
【００５６】
416カラープロファイルマネージャであり、カラープロファイルの管理を行なう。カラープロファイルマネージャ416は図26、図27で示されるようなデータを保持している。カラープロファイルマネージャ416で管理されるカラープロファイルは、各プリンタコントローラ510、511、512およびスキャナコントローラ420に渡され、プリントジョブ・コピージョブおよびスキャンジョブの処理の際に使用される。
【００５７】
417はPDL（ページ記述言語）の一種であるＰＳでかかれたドキュメントデータを処理し、画像データを出力するＰＤＬラスタライザである。
【００５８】
418はPDL（ページ記述言語）の一種であるＰＣＬでかかれたドキュメントデータを処理し、画像データを出力するＰＤＬラスタライザである。
【００５９】
419はスキャンジョブマネージャであり、スキャンジョブの管理を行なう。スキャンジョブマネージャ41９は図1６で示されるようなデータを保持している。スキャンジョブマネージャ419はスキャナコントローラ420にスキャンの実行を指示する。
【００６０】
420はスキャナエンジン310を制御するためのスキャナコントローラである。スキャナコントローラ420はスキャナエンジン310の機能・状態および性能を表す、図３０で示される様なデータを保持している。
【００６１】
スキャンジョブマネージャ419およびスキャナコントローラ420はそれぞれ機能・性能を示すデータ（図１６と図３０）を有しているが、これらのデータで示される機能は必ずしも同一である必要はない。スキャンジョブマネージャ419が保持するデータ（図１６）をSupervisor410を通して書き換えることにより、機能を制限することが可能である。
【００６２】
図５は、図４で示したソフトウエアブロックの補足をあらわすものである。
【００６３】
ディスパッチャー412は図４で示されているディスパッチャー412と同じものを表わし、プリントジョブマネージャ501−509へコマンドの配布を行なう。
【００６４】
501から509までは、プリントジョブマネージャでありプリントジョブの管理を行なう。各プリントジョブマネージャは図1４で示される様なデータをそれぞれ有している。
【００６５】
各プリントジョブマネージャは、プリントジョブを処理するために使用するプリンタコントローラおよびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラを使用するかは図１４で示されるデータに記述されている。ただしプリントジョブマネージャ508だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがプリントジョブマネージャ508の有するデータに記述されている。各プリントマネージャは入力されたプリントジョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図１５に示すようなデータを保持している。
【００６６】
510から512までは、各プリントエンジン308、311および312を制御するプリンタコントローラである。プリンタコントローラ510はフィニッシャー309も制御する。各プリンタコントローラは対応するプリンタエンジンの機能・状態および性能を表す、図２８で示される様な機能表を有している。各コントローラは入力されたプリントジョブの状態を表わす図２９に示すようなデータを保持している。
【００６７】
プリントジョブマネージャ501−509およびプリンタコントローラ510−512はそれぞれ機能・性能を示すデータ（図１４と図２８）を有している。一般的にプリントジョブマネージャは使用する各コントローラが有する性能の総和にあたる性能を有し、各コントローラが有する機能の共通項にあたる機能を有している。しかし、これらの一部はプリントジョブマネージャが保持するデータ（図１４）をSupervisor410を通して書き換えることにより、変更することが可能である。
【００６８】
たとえば、プリントジョブマネージャ503とプリントジョブマネージャ509は、同じプリンタコントローラ512を使用しているために、同じ性能・機能を提供することができるが、プリントジョブマネージャの保持するデータの設定により、プリントジョブマネージャ503はカラー印刷可能でありプリントジョブマネージャ509はカラー印刷不可能とすることも出来る。
【００６９】
図６は、図４および図５で示したソフトウエアブロックの補足をあらわすものである。
【００７０】
ディスパッチャー412は図４で示されているディスパッチャー412と同じものを表わし、コピージョブマネージャ601−608へコマンドの配布を行なう。
【００７１】
601から608までは、コピージョブマネージャでありコピージョブの管理を行なう。各コピージョブマネージャは図１７で示される様なデータをそれぞれ有している。
【００７２】
各コピージョブマネージャは、コピージョブを処理するために使用するプリンタコントローラおよびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラを使用するかは図１７で示されるデータに記述されている。ただしプリントジョブマネージャ608だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがコピージョブマネージャ608の有するデータに記述されている。各コピーマネージャは入力されたコピージョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図１５に示すようなデータを保持している。
【００７３】
510から512までは、各プリントエンジンを制御するプリンタコントローラであり、図５に示されているものと同一のものを表わしている。
【００７４】
［データ構造］
図７は、スーパーバイザー410が保持し管理するデータである属性表を表わす。この表は多機能周辺機器201の機能概要や接続情報およびセキュリティ情報などを表わすものである。
【００７５】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【００７６】
各レコードは属性ID701、型ID702および値703から構成されている。
【００７７】
属性ID701は情報の種類を表わすものであり、これによって値703が示しているものがどのような意味を持つのかが示されている。属性ID701は機器内部でユニークであり、同じ属性IDを持つものは、同じ情報の種類を表わしている。
【００７８】
型ID702は値703がどのようなデータ型を持っているのかを示すものであり、値703の解釈を行なう際に使用されるものである。型IDは属性IDによって一意に決められるものであり機器内部でユニークに定義されている。この実施例においては属性表の中に属性ID701と型ＩＤ702の両方が入れられているが、属性IDと型IDとの対応表を属性表とは別のデータとして保持し、属性表の中には属性IDと値のみを入れる様に実施してもよい。
【００７９】
値703は、属性ID701に従った属性の値を示すものである。
【００８０】
図７の属性表の型ＩＤ702について、
0  Boolean
1  整数
2  実数
3  文字列
11  整数のリスト
12  実数のリスト
13  文字列のリスト
52  イベント設定表形式
53  イベントフォーマット表形式
101  サブアドレス：サービスID対応表形式
102  サービスID：タスクタイプ対応表形式
103  ユーザ認証表形式
104  アクセス制御表形式
をあらわす。
【００８１】
図７の属性表の属性ID701について、
10  タスクタイプ
11  サービスID
100  当該属性表の中にある属性ＩＤのリスト
101  スーパーバイザーでサポートしているオペレーション
102  サポートしているセキュリティレベルのリスト
103  現在のセキュリティレベル
104  当該属性表中で管理者のみが変更できる属性IDのリスト
105  当該属性表中で管理者のみが取得できる属性IDのリスト
301  機種名
302  サポートしている言語
303  現在の言語
401  現在のカウントデータ
402  カウントデータフォーマット
403  カウント制限データ
404  カウント単価データ
405  現在の課金データ
406  課金制限データ
501  サポートしているイベントリスト
502  イベント設定表
503  イベントフォーマット表
1001  サブアドレス：サービスID対応表
1002  サービスID：タスクタイプ対応表
1003  ユーザ認証表
1004  アクセス制御表
2001  機器内にあるコントローラのIDのリスト
を表わす。この中で、属性ID＝102の「サポートしているセキュリティレベルのリスト」はスーパーバイザーに対する操作を発行するときに必要とされるセキュリティレベルについて、設定可能なセキュリティレベルのリストを保持している。セキュリティレベルについては図１１のアクセス制御表の説明の中でなされる。
【００８２】
属性ID=103 の「現在のセキュリティレベル」は、現在スーパーバイザーに設定されているセキュリティレベルを表わす。
【００８３】
属性ID＝401の「現在のカウントデータ」はスーパーバイザーの中でカウント対象となっている情報のリストを表わしており、この意味するところは属性ID＝402の「カウントデータフォーマット」で表わされている。
【００８４】
属性ID＝402の「カウントデータフォーマット」は、、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されているため、属性IDを指定することによりカウントデータの意味を指定することが可能となっている。
【００８５】
属性ID＝403のカウント制限データは、属性ID＝401の「現在のカウントデータ」が持つことが出来る最大値を表わしており、「現在のカウントデータ」の値のうち１つでもこの最大値を超えた場合、図８で示されるサブアドレス：サービスID対応表を操作することにより全ての（マネージャによる）サービスを無効とする。
【００８６】
属性ID=404のカウント単価データは、属性ID＝402の「カウントデータフォーマット」に保持されている属性IDの1カウント毎の単価を通貨単位で表わすものである。
【００８７】
属性ID=405の現在の課金データは、属性ID＝401の「現在のカウントデータ」と属性ID=404の「カウント単価データ」の対応する値を掛け合わせて総和を取った値を示すものである。
【００８８】
属性ID=406の課金制限データは、属性ID＝405の「現在の課金データ」の持つことが出来る最大値を表わしており、属性ID＝405の「現在の課金データ」が属性ID=406の「課金制限データ」を超えた場合、図８で示されるサブアドレス：サービスID対応表を操作することにより全ての（マネージャによる）サービスを無効とする。
【００８９】
属性ID＝501のサポートしているイベントリストは、スーパーバイザーに対して通知することを設定可能なイベントを、イベントの種類毎に一意に定義されているイベントIDのリストによって表わしている。実際のイベント送信の設定は、図１２で示されるイベント設定表にイベント通知の接続形式（接続形式ID）、宛先（通知先アドレス）、および、通知を希望するパケット数（通知希望パケット数）をイベントIDと共に設定することによって行なう。
【００９０】
図７の属性表の値について、「Table Data」と記述してあるものは、値が型IDで示されている表の形式を持つデータであることを示している。
【００９１】
図８はサブアドレス：サービスID対応表を表すものである。この表は図７で示される属性表の「サブアドレス：SID対応表」属性の値として保持されている。サブアドレス：SID対応表はどのサブアドレスにコマンドを投入すればどのサービス（例えばプリント、フォントのダウンロードなど）が得られるを示すものである。
【００９２】
また、この表に従ってインタープリター409は各接続形式ごとにジョブサービスの提供をおこなうかどうかを制御する。
【００９３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【００９４】
各レコードは接続形式ID801、サブアドレス802、サービスＩＤ803、有効フラグ804、有効ユーザのリスト805および無効ユーザのリスト806から構成されている。
【００９５】
接続形式ID801は接続形式を表す識別子を示している。０はユーザインターフェース、１はネットワーク、２はIEEE1284、３はIEEE1394を表している。
【００９６】
サブアドレス802は各接続形式ごとのサブアドレスを表している。ユーザインターフェースはサブアドレスを有しないが、便宜上サブアドレスを割り当てており、このサブアドレス情報とともにユーザインターフェースからコマンドを投入する。
【００９７】
サービスＩＤ803はサービスを表す識別子である。サービスＩＤ803は図４、図５および図６で示された各マネージャに一対一で割り当てられており、
0 : スーパーバイザー410
1 : プリントジョブマネージャ501
2 : プリントジョブマネージャ502
3 : プリントジョブマネージャ503
4 : プリントジョブマネージャ504
5 : プリントジョブマネージャ505
6 : プリントジョブマネージャ506
7 : プリントジョブマネージャ507
8 : プリントジョブマネージャ508
9 : プリントジョブマネージャ509
10 : スキャンジョブマネージャ419
11 : コピージョブマネージャ601
12 : コピージョブマネージャ602
13 : コピージョブマネージャ603
14 : コピージョブマネージャ604
15 : コピージョブマネージャ605
16 : コピージョブマネージャ606
17 : コピージョブマネージャ607
18 : コピージョブマネージャ608
101 : フォントマネージャ413
102 : フォームオーバーレイマネージャ414
103 : ログマネージャ415
104 : カラープロファイルマネージャ416
を表わす。
【００９８】
有効フラグ804は、そのサブアドレスが有効かどうかを表している。この値が真の場合にはサブアドレスが有効であり、コマンドパケットをサブアドレスに対して発行することが出来る。値が偽の場合にはサブアドレスは無効であり、コマンドパケットをサブアドレスに対して発行してもパケットは破棄されることを意味する。
【００９９】
図８の場合は、IEEE1284の接続形式を利用した場合8番のサービスを提供できない事を表している。
【０１００】
有効ユーザのリスト805は、サブアドレスが有効の場合に、そのサービスが受けられるユーザIDのリストを表している。
【０１０１】
無効ユーザのリスト806は、サブアドレスが有効の場合でも、そのサービスが受けられるユーザIDのリストを表している。
【０１０２】
有効ユーザのリスト805と無効ユーザのリスト806は、どちらかにしか値を設定することは出来ない。
【０１０３】
図9はサービスID：タスクタイプ対応表を表すものである。この表は図７で示される属性表の「SID:TaskTyp表」属性の値として保持されている。サービスID：タスクタイプ表はサービスＩＤがどのような種類のサービスを提供するのかを表すものである。
【０１０４】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１０５】
各レコードはサービスID901およびタスクタイプ902から構成されている。
【０１０６】
タスクタイプ902はどのような種類のサービスであるかを示している。0はスーパーバイザーが行なうサービス、1はプリント、２はスキャン、3はコピー、101はフォント、102はフォームオーバーレイ、103はログ、104はカラープロファイルを表している。
【０１０７】
サービスＩＤはサービスを提供するマネージャと一対一で対応している。このため、サービスＩＤは各マネージャが有する機能表のアクセスにも使用される。機能表は各プリンタコントローラおよびスキャナコントローラも有しているために、これらにアクセスするためにプリンタコントローラおよびスキャナコントローラにもサービスＩＤに相当するコントローラIDを割り当てており、コントローラIDがどのような種類のコントローラであるかをサービスID：タスクタイプ対応表で管理している。タスクタイプ201はプリンタコントローラ、202はスキャナコントローラを表している。
【０１０８】
コントローラIDは図４および図５で示された各コントローラと一対一で対応しており、
21 : プリンターコントローラ510
22 : プリンターコントローラ511
23 : プリンターコントローラ512
24 : スキャナーコントローラ420
を表わす。
【０１０９】
図１０はユーザー認証表を表すものである。この表は図７で示される属性表の「ユーザー認証表」属性の値として保持されている。ユーザー認証表は有効なユーザＩＤとパスワードの組を、そのユーザが管理者特権を有するかどうかの情報と共に表わすものである。
【０１１０】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１１１】
各レコードはユーザID1001、パスワード1002および管理者特権フラグ1003から構成されている。
【０１１２】
管理者特権フラグ1003は、ユーザが管理者としての権利を有するかどうかを表している。
【０１１３】
図1１はスーパーバイザーが保持するアクセス制御表を表すものである。この表は図７で示される属性表の「アクセス制御表」属性の値として保持されている。アクセス制御表は、サービスＩＤごとに必要なセキュリティレベル、およびサービス提供を許されているユーザのリストを保持している。
【０１１４】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１１５】
各レコードはサービスID1101、セキュリティレベル1102およびユーザIDのリスト1103から構成されている。
【０１１６】
セキュリティレベル1102はサービスID1101で指定されたサービスを受ける時、つまりサービスID1101で示されるマネージャにコマンドを発行する際に必要な認証情報を表わしている。セキュリティレベル０はユーザ認証を必要としないということ、１は管理者のみ区別をするということ、２は認証されたユーザのみ使用可能であるが、認証にパスワードは使用しないということ、３は認証されたユーザのみ使用可能であり、認証にパスワードも使用することを表す。
【０１１７】
ユーザIDのリスト1103、セキュリティレベルが２と３の場合に、使用（アクセス）を許可されたユーザＩＤのリストを表す。
【０１１８】
図12はスーパーバイザーが保持するイベント設定表を表わすものである。この表は図７で示される属性表の「イベント設定表」属性の値として保持されている。イベント設定表は指定されたイベントが機器内で起きたときにイベント通知を送信する方法と宛先を、イベントの種類毎に保持している。イベント設定表は、さらに、そのイベントがその宛先に合計何パケット分通知するか、および、今まで何パケット通知したか、も保持している。
【０１１９】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１２０】
各レコードはイベントID1201、接続形式1202、通知先アドレス1203、通知予定パケット数1204、および、累計パケット数1205、から構成されている。
【０１２１】
イベントID1201は、イベントの種類を表わすものであり、機器内でユニークに定義されている。
【０１２２】
接続形式1202は、イベント通知を送信する接続形式を表わしており、この値は図８のサブアドレス：サービスID対応表で使用されているものと同一のものが使用される。
【０１２３】
通知先アドレス1203は、接続形式1202に適合したイベントの通知先宛先を表わすものである。
【０１２４】
通知予定パケット数1204は、このレコードの通知先宛先にこのイベントＩＤのイベントを合計何パケット分通知するかを表わすものである。イベントの登録時に設定される。
【０１２５】
累計パケット数1205は、イベント登録してから通知を行なったパケット数の累計を表わす。すなわち、イベントの登録時には0が設定され、実際にイベントの通知が行なわれた時に、通知したパケット数分加算されていく。
【０１２６】
よって、通知予定パケット数1204と累計パケット数1205の差が、あと何パケット通知されるかを表わしていることになる。
【０１２７】
図１３はスーパーバイザーが保持するイベントフォーマット表を表わすものである。この表は図７で示される属性表の「イベントフォーマット表」属性の値として保持されている。イベントフォーマット表は機器内でユニークに定義されている各イベントIDについて、イベント通知として送信される付加データの形式を保持している。
【０１２８】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１２９】
各レコードはイベントID1301およびイベントフォーマット1302から構成されている。
【０１３０】
イベントフォーマット1302はイベント通知として送信される付加データの形式であり、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されており、その型も属性IDによって一意に決定されているため、属性IDを指定することにより、付加データのフォーマットを表わすことができる。
【０１３１】
以下に示す様に、イベントの送信方法・宛先は各マネージャおよびコントローラが保持するデータ（属性表）に設定されており、これらの各マネージャおよびコントローラ内で起きたイベントを通知することが可能となっているが、これらのイベントの付加データのフォーマットも図13で示されるイベントフォーマット表において保持されている。
【０１３２】
図１４は各プリントジョブマネージャ501−509が保持するデータである属性表を表わす。
【０１３３】
この表は、プリントジョブマネージャが扱うことが可能なプリントジョブの性能・機能を表わすものである。
【０１３４】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１３５】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1401、型ID1402および値1403から構成されている。
【０１３６】
図１４の属性表の属性ID1401の値について、
601  サポートしているデータのダウンロード方法
801  設定が禁止されている属性の組み合わせリスト（1型）
802  設定が禁止されている属性の組み合わせリスト（２型）
803  設定が禁止されている属性の組み合わせリスト（３型）
804  設定が禁止されている属性の組み合わせリスト（４型）
805  設定が禁止されている属性の組み合わせリスト（５型）
1101  サポートしているPDLのリスト
1102  カラー印刷可能かどうか
1103  サポートしているフィニッシングの種類
1104  設定可能最高解像度
1105  設定可能最低解像度
2001  Jobを実行する（可能性のある）コントローラIDリスト
2002  コントローラ自動選択かどうか
2003  ジョブ表
2004  ジョブ依頼表
を表わす。
【０１３７】
属性ID=601の「サポートしているデータのダウンロード方法」は、プリントするドキュメントデータの機器への送信方法を表わすものであり、当実施例では１：ジョブの中にドキュメントデータを含める方法、および２：ジョブの中にはドキュメントデータの参照ポインタ（URL: Unified Resource Locator)を含めておき、機器から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【０１３８】
属性ID＝801、802、803、804，805はプリントジョブマネージャに対して投入されるプリントジョブの中に設定する属性に関する制限を表す禁止設定属性である。これらは、例えばコピー部数が１００を超える場合は、フィニッシャの設定が不能になるなどといった制限事項を表すために使用される。禁止設定属性には、その制限の表現方法として５つの型がある。
【０１３９】
属性ID＝801は、｛属性ID１：｛属性ID２｝｝で示す様に、ある属性ID１に対して別の属性ID２のリストの対を複数保持している。これは属性ID１の設定がなされている場合は各属性ID２の設定をプリントジョブスクリプトの中で行えないことを意味している。
【０１４０】
属性ID＝802は、｛属性ID１：演算子識別子：値：｛属性ID２｝｝で示す様に、ある属性ID1、演算子識別子および値に対して、別の属性ID２のリストの対を複数保持している。これは属性ID１に対して演算子識別子で示される演算子を値に対して適用した結果が真の場合は、各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。演算子識別子は整数値が2項演算に対して一対一で対応している。例えば、０は「＝（等しい）」を表す。
【０１４１】
属性ID＝803は、｛属性ID１：演算子識別子１：値１：｛属性ID２：演算子識別子２：値２｝｝で示す様に、ある属性ID1、演算子識別子１および値１に対して、別の属性ID２，演算識別子２および値２の組のリストの対を複数保持している。これは属性ID１に対して演算子識別子１で示される演算子を値１に対して適用した結果が真の場合は、各属性ID２に対して演算子識別子２示される演算子を値２に対して適用した結果が真になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【０１４２】
属性ID＝804は、｛(属性ID１：演算子識別子１：値１)：演算識別子３：（属性ID２：演算子識別子２：値２）：｛属性ID３｝｝で示す様に、ある属性ID1、演算子識別子１および値１と演算識別子３と別の属性ID２、演算識別子２および値２とに対して、さらに別の属性ID３のリストの対を複数保持している。これは属性ID１に対して演算子識別子１で示される演算子を値１に対して適用した結果と属性ID２に対して演算子識別子２で示される演算子を値２に対して適用した結果とを演算子識別子３で示される演算をした結果が真の場合は、各属性ID３に対する設定はプリントジョブスクリプトの中で行えないことを表す。
【０１４３】
属性ID＝805は、｛(属性ID１：演算子識別子１：値１)：演算識別子３：（属性ID２：演算子識別子２：値２）：｛属性ID４：演算識別子４：値４｝｝で示す様に、ある属性ID1、演算子識別子１および値１と演算識別子３と別の属性ID２、演算識別子２および値２とに対して、さらに別の属性ID４、演算識別子４および値４の組のリストの対を複数保持している。これは属性ID１に対して演算子識別子１で示される演算子を値１に対して適用した結果と属性ID２に対して演算子識別子２で示される演算子を値２に対して適用した結果とを演算子識別子３で示される演算をした結果が真の場合は、各属性ID４に対して演算し４で示される演算を値４に対して適用した結果が新になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【０１４４】
属性ID=2001の「Jobを実行する（可能性のある）コントローラ IDリスト」は、プリントジョブを実行するコントローラのコントローラIDのリストであり、プリントジョブマネージャ508以外のプリントジョブマネージャは必ずジョブを実行するコントローラのリストとなっている。プリントジョブマネージャ508はコントローラをジョブの要求している機能によって動的にコントローラを選択するため、この属性はコントローラを選択する範囲を表わすものとなっている。
【０１４５】
属性ID＝2002の「コントローラ自動選択かどうか」は、プリントジョブマネージャがコントローラを自動選択するかどうかが表わされている。当実施例では、プリントジョブマネージャ508のみがこの値を真としている。
【０１４６】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリントジョブマネージャの管理下にあるものに限定されている。例えば、属性値＝101の「サポートしているオペレーション」は、このプリントジョブマネージャに対して発行できるオペレーションのリストであり、属性値＝406の「課金制限データ」はこのプリントジョブマネージャで実行したプリントジョブに関して課金の制限を加えるものである。課金の制限を超えた場合の取り扱いも、このプリントジョブマネージャのサービスを無効とするのみで、他のマネージャのサービスには影響を与えない。
【０１４７】
図１４の属性表の型ＩＤの値1402ついて、
203  ジョブ表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０１４８】
図１５（Ａ）はプリントジョブマネージャが保持するジョブを表すものである。
【０１４９】
表は図１４で示される属性表の「ジョブ表」属性値の値として保持されている。
【０１５０】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１５１】
各レコードはジョブID15A01およびジョブの実体が保持されているファイル名15A02から構成されている。
【０１５２】
ジョブID15A01はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子である。
【０１５３】
ジョブのファイル名15A02は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は図３７に示す様に、属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【０１５４】
図１５（Ｂ）はプリントジョブマネージャが保持するジョブ依頼表を表わすものである。この表は図１４で示される属性表の「ジョブ依頼表」属性値の値として保持されている。
【０１５５】
ジョブ依頼表は、プリントジョブマネージャが管理するジョブがどのコントローラでどのジョブとして実行されているかを表わすものである。
【０１５６】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１５７】
各レコードはジョブID15B01、コントローラID15B02およびコントローラの中で割り当てられているジョブID15B03から構成されている。
【０１５８】
ジョブID15B01はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子であり、ジョブ表（図１５（Ａ））にあるジョブID15A01と対応している。
【０１５９】
コントローラID15B02はジョブが実行されているコントローラのIDを表わす。
【０１６０】
ジョブID15B03は、ジョブを実行するコントローラが割り当てたジョブの識別子である。
【０１６１】
図１６はスキャンジョブマネージャ419が保持するデータである属性表を表わす。
【０１６２】
この表は、スキャンジョブマネージャが扱うことが可能なスキャンジョブの性能・機能を表わすものである。
【０１６３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１６４】
各レコードの内容は図７で示されるスーパーバイザーのものと同一であり、属性ID1601、型ID1602および値1603から構成されている。
【０１６５】
図１６の属性表の属性ID1601の値について、
602  サポートしているデータのアップロード方法
1201  出力可能な画像フォーマットのリスト
1202  カラースキャン可能か
1203  設定可能な解像度のリスト
2001  Jobを実行するController IDリスト
2002  コントローラ自動選択可能かどうか
2003  ジョブ表
を表わす。
【０１６６】
属性ID=602 の「サポートしているデータのアップロード方法」は、スキャンしたドキュメントデータの機器への送信方法を表わすものであり、当実施例では１：ジョブの返信中にドキュメントデータを含める方法、および２：ドキュメントデータを機器内に保持しておきジョブの返信中にはドキュメントデータへの参照ポインタ（URL: Unified Resource Locator)を含めておき、ホスト（クライアント）から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【０１６７】
属性ID=1201の「出力可能な画像フォーマットのリスト」は、出力可能な画像のデータフォーマットを表わしており、スキャンジョブを発行する際にこの中にあるものの1つをデータフォーマットとして指定することが出来る。
【０１６８】
属性ID＝2003のジョブ表に関しては、図15で示されたプリントジョブマネージャが保持するものと同一である。
【０１６９】
他の属性IDについては図７のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているスキャンジョブマネージャの管理下にあるものに限定されている。
【０１７０】
図1６の属性表の型ＩＤの値1602ついて、
203  ジョブ表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０１７１】
図１７は各コピージョブマネージャ601−608が保持するデータである属性表を表わす。
【０１７２】
この表は、コピージョブマネージャが扱うことが可能なコピージョブの性能・機能を表わすものである。
【０１７３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１７４】
各レコードの内容は図７で示されるスーパーバイザーのものと同一であり、属性ID1701、型ID1702および値1703から構成されている。
【０１７５】
図１７の属性表の属性ID1701の値について、
1302  カラー印刷可能か
1303  サポートしているフィニッシングの種類
1304  設定可能最高解像度
1305  設定可能最低解像度
2001  Jobを実行する（可能性のある）コントローラ IDリスト
2002  コントローラ自動選択かどうか
2003  ジョブ表
を表わす。
【０１７６】
これらの属性IDに関しては、プリントジョブマネージャおよびスキャンジョブマネージャの説明の中で示されたものと同一である。
【０１７７】
図１７の属性表の型ＩＤの値1702ついて、
203  ジョブ表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０１７８】
図１８はフォントマネージャ413が保持するデータである属性表を表わす。
【０１７９】
この表は、フォントマネージャが扱うことが可能なフォントのタイプや、現在フォントマネージャが管理しているフォントのリストなどを表わすものである。
【０１８０】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１８１】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1801、型ID1802および値1803から構成されている。
【０１８２】
図１８の属性表の属性ID1801の値について、
601  サポートしているデータのダウンロード方法
602  サポートしているデータのアップロード方法
1501  サポートしているフォントタイプのリスト
1502  最大保持可能フォント数
1503  現在保持しているフォント数
1504  保持しているフォントのリスト
を表わす。
【０１８３】
属性ID＝601の「サポートしているデータのダウンロード方法」、および属性ID＝602の「サポートしているデータのアップロード方法」はそれぞれプリントジョブマネージャの説明中およびスキャンジョブマネージャの説明中で説明されているものと同一であり、サポートしているフォントデータのダウンロード方法およびアップロード方法を示すものである。
【０１８４】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているフォントマネージャの管理下にあるものに限定されている。
【０１８５】
図１８の属性表の型ＩＤ1802ついて、
150  フォント表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０１８６】
図１９はフォントマネージャが保持するフォント表を表わすものである。この表は図１８で示される属性表の「フォント表」属性値の値として保持されている。
【０１８７】
フォント表は、フォントマネージャがどの様なフォントを現在管理しているかを表わすものである。
【０１８８】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１８９】
各レコードはフォントID1901、フォントタイプ1902、フォント名1903およびフォントデータを含むファイル名1904から構成されている。
【０１９０】
フォントID1901はフォントデータがダウンロードされたときに、フォントマネージャが割り当てたフォントに対する識別子である。
【０１９１】
図２０はフォームオーバーレイマネージャ414が保持するデータである属性表を表わす。
【０１９２】
この表は、フォームオーバーレイマネージャが扱うことが可能なフォームオーバーレイのフォーマットや、現在フォームオーバーレイマネージャが管理しているフォームオーバーレイのリストなどを表わすものである。
【０１９３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０１９４】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID2001、型ID2002および値2003から構成されている。
【０１９５】
図２０の属性表の属性ID2001の値について、
601  サポートしているデータのダウンロード方法
602  サポートしているデータのアップロード方法
1601  サポートしているフォームオーバーレイのフォーマットのリスト
1602  最大保持可能フォームオーバーレイ数
1603  現在保持しているフォームオーバーレイ数
1604  保持しているフォームオーバーレイのリスト
を表わす。
【０１９６】
属性ID＝601の「サポートしているデータのダウンロード方法」、および属性ID＝602の「サポートしているデータのアップロード方法」はそれぞれプリントジョブマネージャの説明中およびスキャンジョブマネージャの説明中で説明されているものと同一であり、サポートしているフォームオーバーレイデータのダウンロード方法およびアップロード方法を示すものである。
【０１９７】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているフォームオーバーレイマネージャの管理下にあるものに限定されている。
【０１９８】
図２０の属性表の型ＩＤ2002ついて、
160  フォームオーバーレイ表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０１９９】
図２１はフォームオーバーレイマネージャ414が保持するフォームオーバーレイ表を表わすものである。この表は図２０で示される属性表の「フォームオーバーレイ表」属性値の値として保持されている。
【０２００】
フォームオーバーレイ表は、フォームオーバーレイマネージャがどの様なフォームオーバーレイを現在管理しているかを表わすものである。
【０２０１】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２０２】
各レコードはフォームオーバーレイID2101、フォームオーバーレイのデータフォーマット2102、フォームオーバーレイ名2103およびフォームオーバーレイデータを含むファイル名2104から構成されている。
【０２０３】
フォームオーバーレイID2101はフォームオーバーレイデータがダウンロードされたときに、フォームオーバーレイマネージャが割り当てたフォントに対する識別子である。
【０２０４】
図２２はログマネージャ415が保持するデータである属性表を表わす。
【０２０５】
この表は、現在ログマネージャが管理しているログのリストなどを表わすものである。
【０２０６】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２０７】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID2201、型ID2202および値2203から構成されている。
【０２０８】
図２２の属性表の属性ID2201の値について、
602  サポートしているデータのアップロード方法
1703  保持されているLog数
1704  ログ表
1705  Logのフォーマット表
を表わす。
【０２０９】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているログマネージャの管理下にあるものに限定されている。
【０２１０】
図２２の属性表の型ＩＤ2202ついて、
170  Log表
171  Logフォーマット表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０２１１】
図２３はログマネージャ415が保持するログ表を表わすものである。この表は図２２で示される属性表の「ログ表」属性値の値として保持されている。
【０２１２】
ログ表は、ログマネージャがどの様なログを現在管理しているかを表わすものである。
【０２１３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２１４】
各レコードはログID2301、およびログデータを含むファイル名2302から構成されている。
【０２１５】
ログID2301はあらかじめ種類に対して規定されているログの識別子である。
【０２１６】
図２４はログマネージャが管理するログデータの内容を表わすものである。ログデータはログレコードの集合として構成される。各ログレコードはログフォーマットID2401、記録日時2402およびログ情報2403とから構成されている。
【０２１７】
ログフォーマットID2401は、図25で示されるログフォーマット表に記録されているログのフォーマット情報を参照しており、ログ情報401のフォーマットを表わしている。
【０２１８】
図２５はログマネージャ415が保持するログフォーマット表を表わすものである。この表は図２２で示される属性表の「ログフォーマット表」属性値の値として保持されている。
【０２１９】
ログフォーマット表は、ログマネージャ415が管理する各ログデータ内で記録されているログ情報のフォーマットを表わしている。
【０２２０】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２２１】
各レコードはログフォーマットID2501、およびログフォーマット2502とから構成されている。ログフォーマットはサービスID：属性ID対のリストとして表わされる。属性IDは機器内でユニークに定義されており、その型も属性IDによって一意に決定されているため、属性IDを指定することにより、ログ情報のフォーマットを表わすことができる。
【０２２２】
ログフォーマット2502のサービスID：属性ID対のリストと、ログ情報2403の中の値のリストは、順番によって対応している。例えば、ログフォーマット2502リストの3番目のサービスID：属性ID対はログ情報の3番目の値のフォーマットを意味する。
【０２２３】
図２６はカラープロファイルマネージャ416が保持するデータである属性表を表わす。
【０２２４】
この表は、カラープロファイルマネージャが扱うことが可能なカラープロファイルのフォーマットや、現在カラープロファイルマネージャが管理しているカラープロファイルのリストなどを表わすものである。
【０２２５】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２２６】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID2601、型ID2602および値2603から構成されている。
【０２２７】
図２６の属性表の属性ID2601の値について、
601  サポートしているデータのダウンロード方法
602  サポートしているデータのアップロード方法
1801  サポートしているカラープロファイルデータのフォーマットのリスト
1802  最大保持可能カラープロファイル数
1803  現在保持しているカラープロファイル数
1804  カラープロファイル表
を表わす。
【０２２８】
属性ID＝601の「サポートしているデータのダウンロード方法」、および属性ID＝602の「サポートしているデータのアップロード方法」はそれぞれプリントジョブマネージャの説明中およびスキャンジョブマネージャの説明中で説明されているものと同一であり、サポートしているフォントデータのダウンロード方法およびアップロード方法を示すものである。
【０２２９】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているカラープロファイルマネージャの管理下にあるものに限定されている。
【０２３０】
図２６の属性表の型ＩＤ2602ついて、
180  カラープロファイル表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０２３１】
図２７はカラープロファイルマネージャが保持するカラープロファイル表を表わすものである。この表は図２６で示される属性表の「カラープロファイル表」属性値の値として保持されている。
【０２３２】
カラープロファイル表は、カラープロファイルマネージャがどの様なカラープロファイルを現在管理しているかを表わすものである。
【０２３３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２３４】
各レコードはカラープロファイルID2701、カラープロファイルフォーマット2702およびカラープロファイルデータを含むファイル名2703から構成されている。
【０２３５】
カラープロファイルID2701はカラープロファイルデータがダウンロードされたときに、カラープロファイルマネージャが割り当てたカラープロファイルに対する識別子である。
【０２３６】
図２８は各プリンタコントローラ510、511、512が保持するデータである属性表を表わす。
【０２３７】
この表は、プリンタコントローラが制御しているプリントエンジンおよびフィニッシャーの性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。
【０２３８】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２３９】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID2801、型ID2802および値2803から構成されている。
【０２４０】
図２８の属性表の属性ID2801の値について、
12  コントローラタイプ
13  コントローラID
5001  カラー印刷可能かどうか
5002  サポートしているフィニッシングの種類
5003  設定可能最高解像度
5004  設定可能最低解像度
5005  ジョブキュー表
を表わす。
【０２４１】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【０２４２】
図２８の属性表の型ＩＤの値2802ついて、
500  ジョブキュー表形式
を表わす。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【０２４３】
図２９はプリンタコントローラが保持するジョブキュー表を表わすものである。この表は図２８で示される属性表の「ジョブキュー表」属性値の値として保持されている。
【０２４４】
ジョブキュー表は、プリンタコントローラが管理・実行するジョブがどの様な状態にあるのかを表わすものである。
【０２４５】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２４６】
各レコードはジョブID2901、ジョブステータス2902およびジョブの実体が保持されているファイル名2903から構成されている。
【０２４７】
ジョブID2901はプリンタコントローラにジョブが投入されたときに、プリンタコントローラが割り当てたジョブに対する識別子である。
【０２４８】
ジョブステータス2902ばジョブの状態を表わすものであり、１はジョブの終了処理中、２はジョブがエンジンで実行中、３は実行待ち状態であることを示す。
【０２４９】
ジョブのファイル名2903は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は図３７に示す様に、属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【０２５０】
図３０はスキャナコントローラ420が保持するデータである属性表を表わす。
【０２５１】
この表は、スキャナコントローラが制御しているスキャナエンジン性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。
【０２５２】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０２５３】
各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID3001、型ID3002および値3003から構成されている。
【０２５４】
図３０の属性表の属性ID3001の値について、
12  コントローラタイプ
13  コントローラID
6001  カラースキャン可能かどうか
6002  最大原稿サイズ
6003  設定可能最高解像度
6004  設定可能最低解像度
を表わす。
【０２５５】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【０２５６】
図３１は、ユーザインターフェースマネージャ405、TCP／IP・UDP／IP処理モジュール406、IEEE1284.4処理モジュール407およびSBP−2処理モジュール408からインタープリンターに対して出力されるコマンドパケットの構造を表わすものである。またこのコマンドパケットはインタープリタからユーザインターフェースマネージャ405、TCP／IP・UDP／IP処理モジュール406、IEEE1284.4処理モジュール407およびSBP−2処理モジュール408に出力される返信パケットおよびイベントパケットの構造も表わしている。
【０２５７】
パケットは、パケットの先頭を表わすパケットヘッダ3101、パケットの構造バージョンを表わすパケットバージョン3102、パケットの性格を表わすフラグ3103、どんな種類の操作を行なうのかを表わすオペレーションコード3104、クライアント（PC）が返信パケットを認識するために使用するブロック番号3105、パラメータ3110の長さ表わすパラメータ長3106、ユーザの認証に使用されるユーザID3107とパスワード3108、返信パケットにのみ使用され返信の一般的な状態を表わすステータスコード3109およびオペレーションコード3105毎に決められたフォーマットを持つパラメータ3110から構成されている。フラグ3104には、パケットがコマンドパケット・イベントパケットであるかまたは返信パケットであるかを表わすもの3111、およびパラメータ3110に送信すべきデータが入りきらず、次に送信されるパケットにも続きのデータが入っていることを示す連続フラグ3112とがある。
【０２５８】
パラメータ3110の長さは、パラメータ長3106が表わされる数（64kバイト）に制限されている。
【０２５９】
［問合わせ処理フロー］
図32は多機能周辺機器201におけるコマンドパケットの処理フローを表わすものである。
【０２６０】
3201において、各インターフェース401、402、403、404から入力されたデータを各トランスポート処理モジュール405、406、407、408が処理しコマンドパケットを抽出する。抽出されたコマンドパケットは、データが入力された接続形式の情報（接続形式ID）およびサブアドレスと共にインタープリタに入力される。
【０２６１】
3202において、インタープリタはスーパバイザ410が保持するサブアドレス：サービスID対応表（図８）を参照し、入力された接続形式IDとサブアドレスとを比較することにより、サービスIDを得ると共にデータ入力が有効かどうかをチェックする。チェックの結果、データ入力が有効でない場合は、3204においてコマンドパケットを破棄して終了する。
【０２６２】
データ入力が有効の場合は、3203においてコマンドパケットの解析を図３１のパケット構造に基づいて行なう。パケットの解析の結果、図３１で示される各項目は、それぞれ独立した別々の情報として出力される。
【０２６３】
3205において、サービスIDを基にサクセス制御表（図１１）を参照することによりサービスIDに対応するセキュリティレベルを取得する。
【０２６４】
3206において、3205において取得したセキュリティレベルが０または１であるかを調べる。セキュリティレベルが０または１の場合は、セキュリティレベルのチェックを行なわずにディスパッチャ412に入力する。
【０２６５】
3206においてセキュリティレベルが０または1以外の時は、3207においてセキュリティレベルが２であるかどうかを調べる。セキュリティレベルが２の場合は3209においてコマンドパケットに含まれていたユーザIDがユーザ認証表（図１０）内に存在するかどうかをチェックする。ユーザIDが含まれていない場合、権限がないものとして3210においてエラー返信情報を生成し、インタープリンター409によってパケットを生成しコマンドパケット送信元に送信する。ユーザIDが含まれている場合、ディスパッチャ412に入力する。
【０２６６】
3207において、セキュリティレベルが２以外の場合は、3208においてコマンドパケットに含まれていたユーザID：パスワード対がユーザ認証表（図１０）内に存在するかどうかをチェックする。ユーザID：パスワード対が含まれていない場合、権限がないものとして3211においてエラー返信情報を生成し、インタープリンター409によってパケットを生成しコマンドパケット送信元に送信する。ユーザIDが含まれている場合、ディスパッチャ412に入力する。
【０２６７】
3212においてディスパッチャ412は、サービスIDを元に配布先のマネージャを決定し、これに対してデータが入力された接続形式IDとサブアドレス、送信元のアドレス、オペレーションコード、ブロック番号、フラグ情報、ユーザＩＤ、パスワード、パラメータ長およびパラメータを配布する。
【０２６８】
3213において各マネージャは、これらの情報を処理する。
【０２６９】
図33は、多機能周辺機器201が保持する各マネージャ・各コントローラの属性表に対する読み出し・書き込みを、クライアントが指示した場合の処理を表す。
【０２７０】
各マネージャ・各コントローラが保持する属性表からの読み込みおよび書き込みは、スーパーバイザーの有するサブアドレスに対して適当なコマンドパケットを送信することにより行なう。属性表読み出し用コマンドパケットにはパラメータとして、アクセス対象サービスIDおよびアクセス対象属性IDが含まれている。また、属性表書き込み用コマンドパケットにはパラメータとして、アクセス対象サービスID、アクセス対象属性IDおよび属性IDに対応した属性値が含まれている。
【０２７１】
クライアントから送られた多機能周辺機器201に送られたコマンドパケットは、図32に示すフローによって処理され、スーパーバイザーに配布される。
【０２７２】
3301においてオペレーションコードが、属性値読み出し用のもの（“Get”）であるかどうかチェックする。オペレーションコードが“Get”である場合は、3301においてサービスIDを元にアクセス対象の属性表全体を取得する。その後、3303において、指定された属性値が取得可能かどうかを検査する。検査は、対象となる属性表の「管理者のみが取得出来る属性ID リスト」（属性ID＝105）の値を取得し、この中に取得指示された属性IDが含まれているかどうかを調べることにより行なう。属性IDが含まれていれば、値を取得することは出来ないので、3305においてエラー返信パケットを作成し、これを送信して終了する。属性IDが含まれていなければ、3304において指定された属性IDを元に属性表を検索し、該当する属性IDを持つ型IDと属性値を取得する。
【０２７３】
3306において、型IDに従った処理を行なって返信パケットを生成し、3307においてこの返信パケットを送信して終了する。
【０２７４】
3301においてオペレーションコードが“Get”でない場合は、3308において、オペレーションコードが、属性値書き込み用のもの（“Set”）であるかどうかチェックする。オペレーションコードが“Set”である場合は、3309においてサービスIDを基にアクセス対象の属性表全体を取得する。その後、3310において、指定された属性値が設定可能かどうかを検査する。検査は、対象となる属性表の「管理者のみが設定出来る属性ID リスト」（属性ID＝104）の値を取得し、この中に設定指示された属性IDが含まれているかどうかを調べることにより行なう。属性IDが含まれていれば、値を取得することは出来ないので、3314においてエラー返信パケットを作成し、これを送信して終了する。属性IDが含まれていなければ、3311において指定された属性IDを元に属性表を検索し、該当する属性IDを持つ型IDと属性値を取得する。
【０２７５】
3312において、型IDに従った処理を行い指定された属性値を設定し、設定が成功した旨を知らせる返信パケットを生成する。3313においてこの返信パケットを送信して終了する。
【０２７６】
3308においてオペレーションコードが”Set”でない場合は、オペレーションコードに従ったその他の処理3315を行い終了する。
【０２７７】
図３４は、多機能周辺機器201が提供するサービスの一覧（サービスIDの一覧）をクライアントが問い合わせた場合の処理を表す。
【０２７８】
サービスの一覧の問い合わせは、スーパーバイザーの有するサブアドレスに対して適当なコマンドパケットを送信して、図８で示されるサブアドレス：サービスID対応表を読み出し処理することにより行なう。図３４で示すフローは、図３３で示したフロー中の3315（その他のOperation Codeの処理）のステップを詳細化したものである。
【０２７９】
3401において、オペレーションコードがサービス一覧取得用のもの（“ListService”）であるかどうかチェックする。オペレーションコードが“ListService”でない場合は、オペレーションコードに従ったその他の処理3402を行い終了する。
【０２８０】
3401において、オペレーションコードが“ListService”の場合は、3403において、サブアドレス：サービスID対応表の中から問い合わせに使用された接続形式IDに相当するものだけを抜き出したリストを作成する。
【０２８１】
3404において、3403で作成したリストの各レコードを検査し、有功フラグ804が有効となっているもの、有功ユーザリスト805に値がある場合はリスト中に問合わせに使用したユーザIDがないもの、無効ユーザリスト806に値がある場合はリスト中に問い合わせに使用したユーザIDがあるものを削除する。
【０２８２】
3405において、3404で更新したサービスIDのリストを含む返信パケットを作成する。
【０２８３】
作成された返信パケットは、3406において送信する。
【０２８４】
図３５は、多機能周辺機器201が提供するサービスを利用するときに必要となるサブアドレスの情報を、クライアントがサービスIDを指定して問い合わせた場合の処理を表す。
【０２８５】
サブアドレスの問い合わせは、スーパーバイザーの有するサブアドレスに対して適当なコマンドパケットを送信して、図８で示されるサブアドレス：サービスID対応表を読み出し処理することにより行なう。サブアドレスの問い合わせコマンドパケットにはパラメータとして、サービスIDが含まれている。図３５で示すフローは、図３４で示したフロー中の3402（その他のOperation Codeの処理）のステップを詳細化したものである。
【０２８６】
3501において、オペレーションコードがサブアドレス取得用のもの（“Reserve”）であるかどうかチェックする。オペレーションコードが“Reserve”でない場合は、オペレーションコードに従ったその他の処理3503を行い終了する。
【０２８７】
3501においてオペレーションコードが“Reserve”の場合は、3502において問合わせに使用された接続形式IDとパラメータ内に指定されたサービスIDとからサブアドレス：サービスID対応表を走査し、該当するレコードを検索する。
【０２８８】
3504において検索されたレコードについて、有功フラグが有効となっているか、有功ユーザリストに値がある場合はリスト中に問合わせに使用したユーザIDがあるかどうか、無効ユーザリストに値がある場合はリスト中に問い合わせに使用したユーザIDが無いかどうかをチェックする。チェックの結果どれかでもOKでない場合は、指定されたサービスに対するアクセス権（利用権）が無いものとして、3506においてエラー返信パケットを作成し、3507においてこのパケットを送信して終了する。
【０２８９】
3504におけるチェックの結果、どのチェックもOKの場合は、3505においてサブアドレスを含む返信パケットを作成し、3507においてこのパケットを送信して終了する。
【０２９０】
図３６は、多機能周辺機器201が提供するサービスのうち、サービスの種類を指定して指定された種類のサービスを処理するために最適なサービスIDを問い合わせた場合の処理フローを表す。
【０２９１】
サービスの種類を指定したサービスIDの問合わせは、スーパーバイザーの有するサブアドレスに対して適当なコマンドパケットを送信して、図８で示されるサブアドレス：サービスID対応表と図９で示されるサービスID：タスクタイプ対応表とを読み出し処理することにより行なう。サブアドレスID問い合わせコマンドパケットにはパラメータとして、サービスの種類を指定するためのタスクタイプ、およびサービスを限定するための条件情報が含まれている。条件情報は属性IDと値の対のリストとして表されている。
【０２９２】
図３６で示すフローは、図３５で示したフロー中の3503（その他のOperation Codeの処理）のステップを詳細化したものである。
【０２９３】
3601において、オペレーションコードがサブアドレス取得用のもの（“GetService”）であるかどうかチェックする。オペレーションコードが“GetService”でない場合は、オペレーションコードに従ったその他の処理3603を行い終了する。
【０２９４】
3601においてオペレーションコードが“GetService"の場合は、3602において問合わせに使用された接続形式IDとサブアドレス：サービスID対応表とから、問合わせに使用された接続形式IDを持つサービスIDのリストを作成する。
【０２９５】
3604において、サービスID：タスクタイプ対応表を参照し、上記リストの中から指定されたタスクタイプを有するもののリストを作成する。
【０２９６】
3605において、3604で作成したリストの各レコードを検査し、有功フラグ804が有効となっているもの、有功ユーザリスト805に値がある場合はリスト中に問合わせに使用したユーザIDがないもの、無効ユーザリスト806に値がある場合はリスト中に問い合わせに使用したユーザIDがあるものを削除する。
【０２９７】
3609において、パラメータに含まれている条件情報とリスト中のサービスIDに対応する各マネージャの属性表と比較して、条件に合致するもの以外をリストから削除する。
【０２９８】
3606において、3605において変更されたリストのレコードの数をチェックし、レコード数が0の場合は、要求されたサービスは存在しないものとして3611においてエラー返信パケットを作成し、3613において返信パケットを送信して終了する。
【０２９９】
3606においてレコード数が０以外の場合は、3607においてレコード数が１であるかどうかをチェックする。レコード数が１の場合は、3612において得られたサービスIDを含む返信パケットを作成し、3613において返信パケットを送信して終了する。
【０３００】
3607においてレコード数が１以外の場合は、3608において、リスト中のサービスIDに対応する各マネージャに現在の負荷状態を問い合わせる。各マネージャは処理中のジョブの数を負荷状態として返し、この中から最低の負荷を持つマネージャを選択する。3610において、選択されたサービスIDを含む返信パケットを作成し、3613において返信パケットを送信して終了する。
【０３０１】
［ジョブ処理フロー］
図３７は、各マネージャが管理するジョブの実体を保持するファイル（ジョブファイル）の内部構造を示すものである。ジョブファイルのファイル名はジョブ表（図１５（Ａ））のファイル名15A02で保持されている。またこのファイルの構造は、各コントローラが管理するジョブの実体を保持するファイルの内部構造も示している。このファイル名はジョブキュー表（図１５（Ａ））のファイル名2903で保持されている。
【０３０２】
ジョブの実体は、属性ID3701、属性値サイズ3702および属性値3703の組を複数連続して持つことによって表されている。ジョブがデータを含む場合は、3707、3708、3709で示されるように属性IDとしてデータを表す値、属性値としてファイル名のサイズ、属性値としてドキュメントデータを保持しているファイルのファイル名を保持している。
【０３０３】
属性の中には、データの送信方法、データのフォーマット（使用されているPDLなど）、イベントの種類とそのイベントが発生した時にイベント通知を送信する宛先などの情報、およびジョブの種類に依存した情報：プリントジョブの場合にはコピー部数、フィニッシング処理指定、使用するフォントの指定、使用するフォームオーバーレイの指定などが含まれる。
【０３０４】
図３８、図６１は、各マネージャにおけるジョブスクリプトの処理フローを表すものである。ジョブスクリプトは、図３１で示されるコマンドパケットの一続きによって構成されており、“Job Start”オペレーションコードで始まり、“Job End”オペレーションコードで終わるものとして規定されている。ジョブスクリプトを構成する各パケットは、図８で示されるサブアドレス：サービスID対応表によって示されるサブアドレスに投入され、図３２で示されるコマンドパケット処理フローによって各マネージャに配布される。図３８、図６１で示される処理フローは、各マネージャに配布されたコマンドパケットを処理して図３７で示されるジョブファイルおよびデータファイルを作成する場合の処理フローである。
【０３０５】
各マネージャに配布されたオペレーションは、3801においてオペレーションコードがサポートされているオペレーションコードであるかどうかをチェックする。チェックは、各マネージャが属性表内に保持している「サポートしているオペレーション」属性（属性ID＝101）の値と比較することにより行なう。チェックの結果、サポート外のオペレーションであった場合は、3816においてエラー返信パケットを作成し、これを送信して終了する。
【０３０６】
3801のオペレーションコードがサポートされているものであったならば、3802において現在ジョブ投入中であるかどうかをチェックする。チェックは、ジョブ投入中フラグが真であるかどうかを検査することにより行なう。検査の結果、ジョブ投入中フラグが偽であり、ジョブ投入中でなければ、3804においてオペレーションコードが"Job Start"であるかどうかをチェックする。チェックの結果、オペレーションコードが"Job Start"で無い場合は、3816においてエラー返信パケットを作成し、これを送信して終了する。
【０３０７】
3804のチェックの結果OKならば、ジョブIDを割り当ててジョブ表（図１５（Ａ））に項目を追加し、ジョブファイルを新規作成する。
【０３０８】
その後3805において、ジョブ投入中フラグを真に設定してコマンドパケットの処理を終了する。
【０３０９】
3802のチェックにおいて、ジョブ投入中フラグが真の場合は、3803においてオペレーションコードが"Send"であるかどうかをチェックする。オペレーションコード“Send”は、パラメータにジョブを構成するデータが含まれていることをマネージャに指示するものである。3803においてオペレーションコードが“Send”の場合は、3807においてコマンドと共に入力された継続フラグをチェックし、継続フラグが真の場合は3808において既に存在しているデータファイル3713に新たに領域を追加して、3809においてその領域にパラメータを書き込み終了する。
【０３１０】
3807において継続フラグが偽の場合は、3810においてデータファイル3713を新規作成し、3811においてパラメータをデータファイルに書き込む。その後、3812においてジョブファイルに領域を追加し、データを表す属性ID3707、ファイル名のサイズ3708および新規作成したファイルのファイル名3709をこの領域に書き込み、終了する。
【０３１１】
3803においてオペレーションコードが"Send"でない場合、3814においてオペレーションコードが"Job End"であるかどうかをチェックする。オペレーションコードが"Job End"である場合は、3815においてジョブの生成終了処理を行い終了する。ジョブの生成終了処理には、ジョブファイルのクローズなどの処理を含み、マネージャの種類（プリントジョブ、スキャンジョブ、コピージョブ、フォント、フォームオーバーレイ、ログ、カラープロファイル）によって異なる。
【０３１２】
3814において、オペレーションコードが"Job End"でない場合は、3817においてオペレーションコードが"SetJob"であるかどうかをチェックする。オペレーションコード"SetJob"は、パラメータにジョブを構成する属性（属性IDと属性値）が含まれていることをマネージャに指示するものである。ジョブにオペレーションコードが"SetJob"である場合は、3818においてジョブファイルに領域を追加し、3819において属性ID、属性値サイズおよび属性値を追加した領域に書き込み終了する。
【０３１３】
3817において、オペレーションコードが“SetJob”でない場合は、3820においてオペレーションコードが“SendRequest”であるかどうかをチェックする。オペレーションコードが“SendRequest”は、データの送信をマネージャに指示するものであり、パラメータとしてデータの送信方法が含まれている。オペレーションコードが“SendRequest”である場合は、3821において各マネージャに依存した処理を行い終了する。3821における処理は、スキャンジョブマネージャの場合は、ジョブファイルに保持されている属性値に従った原稿のスキャンをスキャナコントローラに指示し、得られたデータを指定された方法で送信すること、フォントマネージャの場合はジョブファイル内に属性値として指定されたフォントデータを即座に指定された送信方法で送信することなどが含まれる。
【０３１４】
3820においてオペレーションコードが“SendRequest”でない場合は、3822においてその他のオペレーションコードの処理を行い終了する。
【０３１５】
図３９は、プリントジョブマネージャ501−509におけるジョブの処理フローを表したものである。プリントジョブマネージャはジョブ表を常に監視するタスクを動作させている。プリントジョブマネージャが図３８、図６１に示すジョブスクリプトの処理フローを行い、“JobStart”オペレーションコードが入力されることによりジョブ表に新たな項目が追加されたことをが検知すると、この監視タスクは図３９で示す処理フローを持つタスクを動作させて、入力されたジョブの処理を行なわせる。
【０３１６】
3901においてデータ（ドキュメントデータ）の表現に使用されているPDLの種類を示す属性がジョブファイルの中に追加されるのを待ち、PDLの種類が確定すると使用するPDL Rasterizerが使用可能となるのを待つ。
【０３１７】
PDL Rasterizerが使用可能となると、3902においてデータ受信方法を示す属性がジョブファイルの中に追加されるのを待つ。データ受信方法を示す属性がジョブファイルの中に追加されると、3903においてデータの受信方法をチェックする。データの受信方法が機器外部にあるデータである場合は、3904において指定されたデータの読込みを行なうタスクを生成する。その後3905においてデータの読込みが開始されるのを待つ。
【０３１８】
3903において、データがジョブ内に含まれる場合（図３８、図６１において“Send”オペレーションコードによるデータ受信の場合）、3906においてデータの受信が開始されるのを待つ。
【０３１９】
3905または3906のステップにおいてデータの読込みまたは受信が開始された時、3907においてデータをPDL Raseterizerに投入を開始する。その後、3908においてPDL Rasterizerからイメージデータを受け取る。3909において使用するプリンタコントローラを決定する。この決定は予め決められている場合と、ジョブファイルの内容を読むことによりプリントに必要となるプリンタコントローラを動的に決定する場合（プリントジョブマネージャ508の場合）とがある。プリンタコントローラが決定すると、3910において、各プリンタコントローラにイメージデータを投入しプリンタコントローラからジョブIDを受け取る。3911においてジョブ依頼表（図１５（Ｂ））に、ジョブIDとプリンタコントローラIDおよびプリンタコントローラから受け取ったジョブIDをプリンタコントローラ毎に別々のレコードとして記録する。
【０３２０】
その後、プリントジョブマネージャは3912で各プリンタコントローラでジョブ終了を待ち、ジョブ終了がプリンタコントローラから通知されると、3913においてジョブ依頼表から対応するレコードを削除する。3914において各プリンタコントローラに依頼した全てのジョブが終了したかどうかをチェックし、まだプリンタコントローラ内でジョブが残っている場合は、3912に戻りプリンタコントローラでのジョブ終了を待つ。
【０３２１】
3914において、依頼した全てのプリンタコントローラでのジョブが終了した場合、3915においてジョブ表（図１５（Ａ））から、ジョブのレコードを削除する。この時、図４５で示されるイベント送信処理を行なう。
【０３２２】
3916において、ジョブファイルの中を検査し、3917においてジョブ終了に関するイベント送信を指示する属性値があるかどうかをチェックする。もしなければ処理は終了するが、ある場合は3918において属性値を読み出すことにより送信方法と送信宛先を取得する。3919においてイベントの送信パケットを作成し、指定された送信方法と送信宛先に対してイベントを送信する。3920において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０３２３】
図４０は、スキャンジョブマネージャ419におけるジョブの処理フローを表したものである。スキャンジョブマネージャはジョブの投入が終了してからジョブの処理を開始する。
【０３２４】
このため、スキャンジョブマネージャは図３８におけるステップ3815のジョブの終了処理として図４０のジョブ処理を開始する。
【０３２５】
4001において、スキャナコントローラ420にジョブを投入しジョブIDを受け取る。4002においてジョブ依頼表（図１５（Ｂ））に、ジョブIDとスキャナコントローラIDおよびスキャナコントローラ420から受け取ったジョブIDを記録する。
【０３２６】
4003において、スキャナコントローラ420からのジョブ終了を待ち、ジョブ終了がスキャナコントローラ420から通知されると、スキャンしたイメージデータをスキャナコントローラ420から受け取り、4004においてジョブ表（図１５（Ａ））からジョブのレコードを削除する。この時、図４５で示されるイベント送信処理を行なう。
【０３２７】
4005において、ジョブ中の属性の中からデータの送信方法を指示しているものを検索する。4006においてデータ送信方法がデータをスクリプトとして送信する指示であった場合は、4008においてデータを他の属性情報と共にスクリプトとして送信する。機器からのデータ送信処理は詳細が図４６に示されている。4008においてデータを参照として送信する指示であった場合は、4007においてデータを機器内部に保存し、これに対する参照情報を他の属性情報と共にスクリプトとして送信する。
【０３２８】
4010においてジョブファイルの中を検査し、4011においてジョブ終了に関するイベント送信を指示する属性値があるかどうかをチェックする。もしなければ処理は終了するが、ある場合は4012において属性値を読み出すことにより送信方法と送信宛先を取得する。
【０３２９】
4013においてイベントの送信パケットを作成し、指定された送信方法と送信宛先に対してイベントを送信する。4014において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０３３０】
図４１は、コピージョブマネージャ601−608におけるジョブの処理フローを表したものである。コピージョブマネージャはジョブの投入が終了してからジョブの処理を開始する。
【０３３１】
このため、ジョブマネージャは図３８におけるステップ3815のジョブの終了処理として図４１のジョブ処理を開始する。
【０３３２】
4101において、スキャナコントローラ420にジョブを投入しジョブIDを受け取る。4102においてジョブ依頼表（図１５（Ｂ））に、ジョブIDとスキャナコントローラIDおよびスキャナコントローラ420から受け取ったジョブIDを記録する。
【０３３３】
4103において、スキャナコントローラ420からのジョブ終了を待ち、ジョブ終了がスキャナコントローラ420から通知されると、スキャンしたイメージデータをスキャナコントローラ420から受け取り、4104においてジョブ表から（図１５（Ａ））から、ジョブのレコードを削除する。
【０３３４】
次に、4105において使用するプリンタコントローラを決定する。この決定は予め決められている場合と、ジョブファイルの内容を読むことによりプリントに必要となるプリンタコントローラを動的に決定する場合（コピージョブマネージャ608の場合）とがある。プリンタコントローラが決定すると、4106において、各プリンタコントローラにスキャナコントr−ら420から受け取ったイメージデータを投入しプリンタコントローラからジョブIDを受け取る。44107においてジョブ依頼表（図１５（Ｂ））に、ジョブIDとプリンタコントローラIDおよびプリンタコントローラから受け取ったジョブIDをプリンタコントローラ毎に別々のレコードとして記録する。
【０３３５】
その後、プリントジョブマネージャは4108で各プリンタコントローラでジョブ終了を待ち、ジョブ終了がプリンタコントローラから通知されると、4109においてジョブ依頼表から対応するレコードを削除する。4110において各プリンタコントローラに依頼した全てのジョブが終了したかどうかをチェックし、まだプリンタコントローラ内でジョブが残っている場合は、4108に戻りプリンタコントローラでのジョブ終了を待つ。
【０３３６】
4110において、依頼した全てのプリンタコントローラでのジョブが終了した場合、4111においてジョブ表（図１５（Ａ））から、ジョブのレコードを削除する。この時、図４５で示されるイベント送信処理を行なう。
【０３３７】
4112において、ジョブファイルの中を検査し、4113においてジョブ終了に関するイベント送信を指示する属性値があるかどうかをチェックする。もしなければ処理は終了するが、ある場合は4114において属性値を読み出すことにより送信方法と送信宛先を取得する。4115においてイベントの送信パケットを作成し、指定された送信方法と送信宛先に対してイベントを送信する。4116において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０３３８】
図４２は、フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415およびカラープロファイルマネージャ416におけるジョブの処理フローのうちデータのダウンロード機能に関するものを表すものである。これらのマネージャに対するジョブは、各マネージャが管理するデータのダウンロードおよびアップロードを行なうためのものである。各マネージャが管理するデータの参照・削除などの管理は、スーパーバイザー410が管理するサブアドレスに対してコマンドパケットを投入し図３３で示される各マネージャの持つ属性表にアクセスすることによって行なう。
【０３３９】
各マネージャはジョブの投入が終了してからデータダウンロードに関するジョブの処理を開始する。
【０３４０】
このため、各マネージャは図３８におけるステップ3815のジョブの終了処理として図４２のデータダウンロードに関するジョブ処理を開始する。
【０３４１】
4201において、ジョブファイル（図37）を走査し、データの受信方法に関する属性が存在するかどうかをチェックする。チェックの結果データの受信方法に関する属性が存在しない場合は、このジョブファイルはアップロードに関するもので図４３に示す処理フローが既に行なわれているものとして4208において終了処理を行なう。4208における終了処理ではジョブファイルの削除を行なう。
【０３４２】
4201においてデータの受信方法に関する属性が存在する場合は、4202においてデータの受信方法をチェックする。データの受信方法がジョブ内に含まれる場合（図３８、図６１において“Send”オペレーションコードによるデータ受信の場合）すでにデータが受信ずみであり4205において受信したデータをファイルとして保存する。データの受信方法が機器外部にあるデータである場合は4203において指定された外部ソースにアクセスし、データの取得を行い、取得したデータを4205においてファイルとして保存する。
【０３４３】
4205において保存したファイル情報を、4206において各マネージャが管理する管理表（フォントマネージャ413の場合フォント表（図１９）、フォームオーバーレイマネージャ414の場合フォームオーバーレイ表（図２１）、ログマネージャ415の場合ログ表（図２３）、カラープロファイルマネージャ416の場合カラープロファイル表（図２７）に新規レコードを書き込むことにより登録する。
【０３４４】
4207において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０３４５】
図４３は、フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415およびカラープロファイルマネージャ416におけるジョブの処理フローのうちデータのアップロード機能に関するものを表すものである。
【０３４６】
各マネージャはジョブスクリプトを構成する“SendRequest”オペレーションコードが投入された時点で、データアップロードに関するジョブの処理を開始する。このため、各マネージャは図６１におけるステップ3821の各マネージャに依存した処理として図４３のデータアップロードに関するジョブ処理を開始する。
【０３４７】
4301において、ジョブファイル中（図３７）の属性の中からデータの送信方法を指示しているものをチェックする。4301においてデータ送信方法がデータをスクリプトとして送信する指示であった場合は、4303において、ジョブ内で指定データされたデータを他の属性情報と共にスクリプトとして送信する。機器からのデータ送信処理は詳細が図４６に示されている。4301においてデータを参照として送信する指示であった場合は、ジョブ内で指定されたデータに対する参照情報を他の属性情報と共にスクリプトとして送信する。
【０３４８】
［ジョブ管理処理フローなど］
図４４は、多機能周辺機器201内のプリントジョブマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608が管理するジョブに対する操作指示（ジョブの削除）をクライアントが行なったときに行なわれる処理フローを表したものである。
【０３４９】
各マネージャが管理するジョブに対する操作は、スーパーバイザーの有するサブアドレスに対して適当なコマンドパケットを送信することにより行なう。ジョブ管理用コマンドパケットにはパラメータとして、対象ジョブマネージャを特定するためのサービスIDおよび対象ジョブIDが含まれている。
【０３５０】
クライアントから送られた多機能周辺機器201に送られたコマンドパケットは、図３２に示すフローによって処理され、スーパーバイザー410に配布される。
【０３５１】
図４４に示す処理フローは、図３６で示したフロー中の3603（その他のOperation Codeの処理）のステップを詳細化したものである。
【０３５２】
4401において、スーパーバイザー410はオペレーションコードがジョブ削除用のもの（”CancelJob”）であるかどうかチェックする。オペレーションコードが“CancelJob”でない場合は、オペレーションコードに従ったその他の処理4409を行い終了する。
【０３５３】
4401においてオペレーションコードが“CancelJob”の場合は、4402においてパラメータ内に指定されたサービスIDに従って、パラメータをサービスIDに対応する各マネージャに送る。
【０３５４】
各マネージャは4403において、指定されたジョブIDを各マネージャが管理するジョブ依頼表の中を検索する。4404においてジョブ依頼表の中に指定されたジョブIDが無い場合は、既にコントローラでのジョブが終了しているものとして、4410においてジョブ表の中から該当するレコードを削除し、4411において返信パケットを作成および送信して終了する。
【０３５５】
4404においてジョブ依頼表の中に指定されたジョブIDが有る場合は、4405において指定されたジョブIDに対応するコントローラのジョブIDとジョブを実行しているコントローラのコントローラIDを取得する。
【０３５６】
4406において、コントローラIDに対応するコントローラに対してコントローラのジョブIDを指定してジョブの削除を指示する。
【０３５７】
4407において、コントローラからの実行結果を待ち、実行結果が不成功であった場合は、4408においてエラー返信パケットを作成および送信して終了する。
【０３５８】
4407において、コントローラからの実行結果が成功であった場合、4408においてジョブ依頼表の中から該当するレコードを削除し、4403におけるジョブ依頼表の検索を行なって他のコントローラに対する依頼が行なわれているかどうかを再度チェックする。
【０３５９】
図４５は、各マネージャにおけるイベント送信の処理フローを表したものである。各マネージャは図１２に示す様なイベント設定表を、各自が保持する属性表の値として持っている。図１２の説明で示したように、この表にはイベントが発生したときにイベントを送信する接続形式と宛先とが書かれている。
【０３６０】
あるイベントが発生すると、各マネージャはイベントに対するイベントIDを認識する。
【０３６１】
その後、4501において、イベント設定表を参照しイベントIDが登録されているかどうかを検索する。
【０３６２】
4502において、イベントIDが１つも登録されていなければ処理を終了する。
【０３６３】
4502においてイベントIDが１つでも登録されていれば、4503においてイベント設定表の該当するイベントIDが有るレコード全てについて、ステップ4504から、ステップ4509までを繰り返す。
【０３６４】
4504においては、イベントを送信する際に使用する接続形式とイベントを送信する宛先を取得する。
【０３６５】
4505においてイベント送信パケットを作成する。このパケットの中にはイベントID毎に規定されているパラメータと、スーパーバイザー410が保持するイベントフォーマット表（図１３）に登録されているイベントID毎のフォーマットに従ったパラメータとを付加する。そして、通知予定パケット数1204の値から累計パケット数1205の値を減じて、さらに今回送信するパケット数に相当する「1」も減じた値、すなわち、残りの通知パケット数E04（後述）も、このイベント送信パケットに付加する。
【０３６６】
4506において、このイベント送信パケットを、4504で取得した接続形式の送信宛先に送信する。
【０３６７】
4507において、累計パケット数1205の値を更新する。すなわち、今回送信したパケット数に相当する「1」を、累計パケット数1205の値に加算する。
【０３６８】
4508において、更新された累計パケット数1205の値が、通知予定パケット数1204の値以上になっているかどうかを調べる。ここで、累計パケット数1205が通知予定パケット数1204以上になっている場合には、通知を要望されたパケット数分以上のイベント通知を完了したことを示す。そこで4509に進み、このレコードをイベント設定表から削除する。
【０３６９】
4510でイベントIDが有るレコード全てについてステップ4504からステップ4509までを繰り返した後に、終了する。
【０３７０】
図４６は、多機能周辺機器201からデータをコマンドパケットの連続であるスクリプトとして送信する際の処理フローを表す。この処理フローは、スキャンジョブの結果得られるイメージデータの送信ステップ4008やフォントデータの送信ステップ4303などにおいて使用されるものである。
【０３７１】
4601において、データの属性を含むパケットを生成して送信する。必要なら4601のステップを繰り返し、複数の属性を送信する。
【０３７２】
4602において、送信を指定されたデータを取得する。
【０３７３】
コマンドパケットは図３１に示す構造を有し、パラメータとして送信できるサイズがかぎられているため、4604において、データの長さを検査する。
【０３７４】
検査の結果、データの長さが制限長（64Kバイト）を超えている場合、4606において、データを制限長で切断し、得られたデータを4607においてパラメータとして付加したコマンドパケットを生成し送信する。このコマンドパケットには、オペレーションコードとして“Send"を設定し、継続フラグを真として設定する。
【０３７５】
4608において、切断した残りのデータを取得しステップ4603のデータ長の検査を再び行なう。
【０３７６】
4603の検査の結果、データ長がコマンドパケットの制限長に入っている場合は、4604においてデータをパラメータとして付加したコマンドパケットを生成し送信する。このコマンドパケットには、オペレーションコードとして“Send”を設定し、継続フラグを偽として設定する。
【０３７７】
4605において、残りの属性を含むコマンドパケットを生成して送信する。必要なら4605のステップを繰り返し、複数の属性を送信して終了する。
【０３７８】
［クライアント側の処理フロー］
図４８は、多機能周辺機器201を利用するクライアント202、203、204、205のソフトウエアブロック図を表す。
【０３７９】
A01は、ユーザインターフェースであり、これによってA05からA14で示される各ドライバおよびユーティリティーは多機能周辺機器201の持つ情報を表示する。
【０３８０】
A02は現在使用中の多機能周辺機器201の情報を保持するデーターベースであり、クライアントが多機能周辺機器201に接続した段階で、A03の機器情報取得部が機器の持つ全ての情報を取得してA02のデータベースの中に保持する。
【０３８１】
A04は、多機能周辺機器201が保持する各属性表の中で使用される、各属性の意味、各属性ID毎のデータ型、イベントID毎に規定されているパラメータのフォーマット、タスクタイプの意味などの規定情報を保持している規定データベースである。A05からA14で示される各ドライバおよびユーティリティーは、規定データベースA04および機器情報A02に基づき動作する。
【０３８２】
A05は、プリンタドライバでありクライアントPC上で動作するアプリケーションプログラムからの指示によりプリントジョブスクリプトを生成する。
【０３８３】
A06は、スキャナドライバでありクライアントPC上で動作するアプリケーションプログラムからの指示によりスキャンジョブスクリプトを生成する。
【０３８４】
A07は、コピードライバでありクライアントPC上で動作するアプリケーションプログラムからの指示によりコピージョブスクリプトを生成する。
【０３８５】
A08は、フォント管理ユーティリティであり、フォントデータのダウンロードおよびアップロードを行なうジョブを生成し、フォントデータを管理するコマンドを生成する。
【０３８６】
A09は、フォームオーバーレイ管理ユーティリティであり、フォームオーバーレイデータのダウンロードおよびアップロードを行なうジョブを生成し、フォームオーバーレイを管理するコマンドを生成する。
【０３８７】
A10は、ログ管理ユーティリティであり、ログデータのダウンロードおよびアップロードを行なうジョブを生成し、ログを管理するコマンドを生成する。
【０３８８】
A11は、カラープロファイル管理ユーティリティであり、カラープロファイルデータのダウンロードおよびアップロードを行なうジョブを生成し、カラープロファイルを管理するコマンドを生成する。
【０３８９】
A12は、ジョブ管理ユーティリティであり、プリントジョブ・スキャンジョブ・コピージョブの削除・一時停止・実行再開などの管理をおこなうコマンドを生成する。
【０３９０】
A13は、機器管理ユーティリティであり、プリンタコントローラ・スキャナコントローラの状態を取得するコマンドを生成する。
【０３９１】
A14は、課金管理ユーティリティであり、課金データの取得するコマンドを生成する。
【０３９２】
A15は、A05からA14で示される各ドライバおよびユーティリティーから生成されたコマンドを基にコマンドパケットを生成するジェネレータである。生成されたコマンドパケットは、A16、A18、A20の各トランスポート処理モジュールを利用して多機能周辺機器201に送信する。ジェネレータA15は、A16、A18、A20の各トランスポート処理モジュールから入力された返信パケットおよびイベントパケットを解釈し、適当なドライバまたはユーティリティに配布する。
【０３９３】
A16は、IEEE1394のトランスポート層であるSBP-2の処理モジュールである。
【０３９４】
A18は、TCP/IPおよびUDP/IPの処理モジュールである。
【０３９５】
A20は、IEEE1284のトランスポート層であるIEEE1284.4の処理モジュールである。
【０３９６】
A17は、IEEE1394の物理層を処理するインターフェースである。
【０３９７】
A19は、ネットワークインターフェースである。
【０３９８】
A21は、IEEE1284の物理層を処理するインターフェースである。
【０３９９】
図４８はまた、多機能周辺機器201のソフトウエアブロック図（図４）におけるユーザーインターフェースマネージャ405の内部構成を表すものでもある。ユーザインターフェースマネージャ405の場合は、図４８におけるSBP-2処理モジュールA16、TCP/IPおよびUDP/IP処理モジューA18、IEEE1284.4処理モジュールA20、ネットワークインターフェースA17、ネットワークインターフェースA19、IEEE1284インターフェースA21は存在せず、ジェネレータA15が図４におけるインタープリター409に直接接続されており、これによってコマンドパケット・返信パケット・イベントパケットのやり取りが行なわれている。この直接接続は他のクライアント202、203、204、205のソフトウエア構成には存在していない。
【０４００】
図４９は、ジェネレータA15がA05からA14で示される各ドライバおよびユーティリティーからコマンドまたはジョブスクリプトを受けて、図３１で示されるコマンドパケットを生成し多機能周辺機器201に送信する処理フローを表す。この処理フローの前に、送信先の多機能周辺機器の適当なサブアドレスには前もって接続されているものとする。どのサブアドレスに接続するべきかという情報は、図５０で示される機器情報の取得フローによって取得される。
【０４０１】
ジョブスクリプトはコマンドの連続で定義されており、処理対象がジョブスクリプトの場合は、ステップB01からB08まで、各コマンド毎に処理することにより行なう。
【０４０２】
以下の記述において、ジョブスクリプトの発行とはステップB01からB08まで、各コマンド毎に処理することを意味する。
【０４０３】
B02において、コマンドと共に送信するデータ長を検査する。検査の結果、パラメータの制限長（６４Kバイト）を超える場合は、B03においてデータを制限長で切断する。切断されたデータはB04において、継続フラグを真としてコマンドに対応したオペレーションコードを含むパケットを生成し、B05においてパケットを送信する。
【０４０４】
B02において、データ長がパラメータの制限長に入る場合は、B06において継続フラグを偽としてコマンドに対応したオペレーションコードを含むパケットを生成し、B07においてパケットを送信する。
【０４０５】
図５０は、図４８の機器情報取得部A03の処理フローを表す。機器情報取得部A03はクライアントが多機能周辺機器201と接続直後に図５０で表す処理フローを行い、機器情報を取得して機器情報データベースA02に保持する。この処理フローはまた、機器からコンフィギュレーション変更のイベントが送られたときにも再度動作する。
【０４０６】
C01において、多機能周辺機器201と接続する。接続先のサブアドレスは、接続に使用した接続形式ごとにあらかじめ規定されているスーパーバイザー用のサブアドレスを使用する。この規定値は、規定情報データベースA22から取得する。
【０４０７】
C02において、スーパーバイザーの属性表の属性ID＝１００の値を取得する。属性値の取得は、スーパーバイザーのサービスID＝０と属性IDをパラメータとして属性値取得用コマンドを生成し、ジェネレータA15にコマンドを投入することにより行なう。ジェネレータA15は図４９の処理フローを行い、属性値取得用のコマンドパケットを、多機能周辺機器201に送信する。多機能周辺機器201では、上記コマンドパケットを受信し、図３２および図３３の処理フローを行なって指定された属性IDの属性値をクライアントに返信する。クライアントでは返信パケットをジェネレータによって解析し、機器情報取得部に送る。尚、属性ID＝100の属性は、スーパーバイザーの属性表にある全属性IDのリストとなっている。
【０４０８】
C03からC05において、取得した全属性IDに対してC04を繰り返す。C04では、属性IDを指定して属性値を取得し、属性IDと共に機器情報データベースA02に保存する。
【０４０９】
以上のステップにおいてスーパーバイザーの持つ属性表（図７）が全て聞き情報データベースA02に保存される。
【０４１０】
C06において、サービスIDのリストを取得する。サービスIDの取得は、サービスIDのリスト問合わせ用コマンドを生成し、ジェネレータA15にコマンドを投入することにより行なう。この時、多機能周辺機器201では、図３２、図３３、図３４で示される処理フローが実行される。
【０４１１】
C07からC13において、C06において取得した各サービスID毎に各マネージャの情報を取得する。
【０４１２】
C08で、サービスIDに対応するサブアドレスの取得を行なう。サブアドレスの取得は、サービスIDをパラメータとしてサブアドレス取得用のコマンドを生成し、ジェネレータA15にコマンドを投入することにより行なう。この時、多機能周辺機器201では、図３２、図３３、図３４、図３５で示される処理フローが実行される。取得したサブアドレスは、機器情報データベースA02に保存する。
【０４１３】
C09において、各マネージャの属性表の属性ID＝１００の値（属性IDのリスト）を取得する。属性値の取得は、各マネージャに対応するサービスIDと属性IDをパラメータを指定して属性値取得用コマンドを生成し、ジェネレータA15にコマンドを投入することにより行なう。
【０４１４】
C10からC12において、取得した全属性IDに対してC11を繰り返す。C11では、属性IDを指定して属性値を取得し、属性IDと共に機器情報データベースA02に保存する。
【０４１５】
C14において、機器情報データデータベースA02に保存された機器情報を基に各ドライバー・ユーティリティーA05−A14の自動構成をおなう。自動構成C14の処理には、ユーザーインターフェースの更新が含まれる。
【０４１６】
C15において、スーパーバイザー410との接続を終了して、処理は終了する。
【０４１７】
図５１は、各アプリケーション・ユーティリティがタスクタイプを指定したジョブスクリプトの発行した場合の処理を表すものである。
【０４１８】
サービスIDを指定したジョブの発行は、サービスIDをキーとして機器情報データベースA02を検索し、得られたサブアドレスに対して適切なジョブスクリプトを送信することにより行なうが、ユーザからの指示によりタスクタイプのみが指定された場合は、多機能周辺機器201に対して使用するサービスIDの紹介を依頼を指示する必要がある。図５１は、この場合の処理を示すものである。
【０４１９】
D01おいて、タスクタイプを指定してサービスIDを取得するコマンドを属性値取得用コマンドを生成し、ジェネレータA15にコマンドを投入することにより行なう。多機能周辺機器201では、図３２、図３３、図３４、図３５、図３６で示される処理フローが実行される。
【０４２０】
D02において、D01で得られたサービスIDを基に機器情報データベースA02を検索し、得られたサブアドレスに対してジョブスクリプトを送信する。
【０４２１】
図５２は、多機能周辺機器201からクライアントに送られるイベントの構造を表す。イベントパケットは図３１に示されるコマンドパケットと同一の構造を持ち、図５２で示すものは、パケットのパラメータ3110の部分の構造である。
【０４２２】
E01はイベントの種類を表すイベントIDである。
【０４２３】
E02はイベントIDごとに規定されているパラメータデータである。このデータのフォーマットは規定情報データベースA22に予め保持されている。
【０４２４】
E03はイベントIDごとに機器でそのフォーマットが決められているパラメータデータである。このデータのフォーマットはイベントフォーマット表（図１３）として、図５０の処理フローを実行することにより機器情報データベースA02に保持されている。
【０４２５】
E04は残りのパケット数で、今後、何パケット分のイベントが通知されるかを表わす。
【０４２６】
図５３は、クライアントが多機能周辺機器201から各ドライバー・ユーティリティーがイベントを受けたときの処理を表すフローである。
【０４２７】
各ドライバー・ユーティリティーは、自分が欲しいイベントをイベントIDをキーとしてジェネレータA15に予め登録しておく。それに応じて、ジェネレータA15は、多機能周辺機器201に、予めイベントの登録を行なっておく。そして、イベントが多機能周辺機器201からクライアントに送られると、ジェネレータA15は登録してある各ドライバー・ユーティリティーにイベントを配布する。さらに、この配布の際に、イベントパケットに付加されている残りのパケット数E04をチェックし、その値が所定数より少なくなると、再度、イベントの登録を行なう。例えば、イベントの登録時には通知予定パケット数として100を指定するようにしておき、入力されたイベントパケットが示す残りのパケット数E04の値が5以下になった時に、通知予定パケット数を100指定で再度、イベントの登録を行なう、などという動作を繰り返すことが可能である。
【０４２８】
図５３は、各ドライバー・ユーティリティーがイベントの配布を受けた後の処理を表すものである。
【０４２９】
F01において、規定情報データベースA22から得たフォーマット情報を元に規定パラメータデータE02の解析を行なう。
【０４３０】
F02において、イベントID（E01）をキーとして機器情報データベースA02に保持されているイベントフォーマット表（図１３）からイベントIDに対応するイベントフォーマット1302を取得する。
【０４３１】
F03において、取得したイベントフォーマットに基づき、機器依存のイベントフォーマットを解析する。
【０４３２】
F04において、解析されたパラメータとイベントIDを処理して終了する。
【０４３３】
図５４は、ログ管理ユーティリティA10が多機能周辺機器201が保持するログを取得して処理するフローを表すものである。
【０４３４】
G01において、ログデータの取得を行なう。ログデータの取得は、ログデータ取得用ジョブスクリプトを生成し、多機能周辺機器201に送ることにより行なう。多機能周辺機器201では、図３２、図３８、図６１、図４３で示される処理フローが実行され、ログデータがクライアントに送られる。
【０４３５】
G0２において、機器情報データベースA02からログフォーマット表（図２５）を取得する。
【０４３６】
G03からG-06まで、G01で取得したログデータの各レコードに対しG04、G05のステップを繰り返し終了する。
【０４３７】
G04において、ログデータの各レコードの先頭にあるログフォーマットID2401を取得し、この値からログフォーマット表（図２５）の中からログフォーマット2502を取得する。
【０４３８】
G05において、ログ情報2403の解析をログフォーマットフォーマット2502に従って行い、解析したデータをログ発生時刻2402と共に処理する。
【０４３９】
図５５は、課金管理ユーティリティA14が多機能周辺機器201が保持する課金データを取得して処理するフローをあらわす。
【０４４０】
課金データは、各マネージャが保持するカウントデータとして表される。カウントデータは属性ID＝401の値として属性表（図７、図１４、図２６、図１７）に保持されており、その値は整数値のリストとなっている。各整数値の意味するところは、各マネージャの属性表の中にカウントデータフォーマットの属性（属性ID＝402）の値として表現されており、値は属性IDのリストとなっている。カウントデータのリストとカウントデータフォーマットのリストは、リスト中の順番によって対応している。例えば、カウントデータの3番目の値は、カウントデータフォーマットの3番目の属性IDの情報を意味している。
【０４４１】
図５５は、各マネージャが保持するカウントデータを取得して処理するフローを表すものである。
【０４４２】
H01において、対象となるマネージャのサービスIDを指定して、属性ID＝401の値（カウントデータの値）を取得する。取得は、サービスと属性IDをパラメータをパラメータとして属性値取得用コマンドを生成し、ジェネレータA15にコマンドを投入することにより行なう。
【０４４３】
H02において、同じサービスIDを指定して、属性ID＝402の値（カウントデータフォーマットの値）を取得する。これは機器情報データベースA02から取得してもよい。
【０４４４】
H03において、取得したカウントデータフォーマットを使用して、カウントデータの解析を行なう。
【０４４５】
H04において、解析したカウントデータを使用して、課金データの処理・生成を行なって終了する。
【０４４６】
図５６は、プリンタドライバA05によるプリントジョブの発行、フォント管理ユーティリティA08によるフォントデータダウンロードジョブスクリプト発行、フォームオーバーレイユーティリティA09によるフォームオーバーレイデータダウンロードジョブスクリプト発行、ログ管理ユーティリティーA10によるログデータダウンロードジョブスクリプト発行およびカラープロファイル管理ユーティリティA11によるカラープロファイルデータダウンロードジョブスクリプト発行の各処理を表す。
【０４４７】
以上の各ソフトウエアによる処理フローは共通であり、プリント対象ドキュメントデータおよび上記各種類のダウロード対象データは、図５６および以下の説明において、「データ」と記述されている。
【０４４８】
ジョブ発行の際には、プリントまたはダウンロードするデータがジョブスクリプトの中に設定する複数の属性値と共に指定される。
【０４４９】
J01において、機器情報データベースA02にアクセスして機器情報を取得する。
【０４５０】
J10において、データが投入対象とする各マネージャ（例えば、プリント対象ドキュメントデータなら印刷を指定するプリントマネージャ）の有する属性表を参照し、指定された属性値が属性表で設定されている各属性値の範囲内にあるかどうかをチェックする。チェックの結果、１つでも範囲内に無い場合は、J13においてユーザインターフェース上にエラーダイアログを表示するなど、ジョブ発行拒否の処理を行い、終了する。
【０４５１】
J10のチェックの結果、全ての属性がマネージャの持つ属性表内の各属性値の範囲内にある場合は、J11においてマネージャの属性表中に禁止設定属性（属性ID＝801から805）が存在するかどうかチェックする。マネージャの属性表が禁止設定属性を持つ場合は、J12においてマネージャが属性表内に持つ各禁止設定属性毎に指定されたジョブの属性が禁止されている設定値の組み合わせとなっていないかどうかチェックする。チェックの結果、禁止されている属性の設定値の組み合わせがある場合は、J13においてジョブ発行拒否の処理を行い終了する。
【０４５２】
J11のチェックの結果、マネージャが禁止設定属性を持たない場合およびJ12のチェックの結果ジョブの属性が禁止されている設定値の組み合わせとなっていない場合、J02においてデータの存在場所をチェックする。データの存在場所がジョブを発行するクライアント内部の場合は、J03において機器情報データ内の各担当マネージャの属性表の属性値＝601（サポートしているデータのダウンロード方法）をチェックする。
【０４５３】
J03のチェックにおいて、ジョブ内にデータを含ませる方法がサポートされている場合、J04においてジョブ内にデータを含ませたジョブスクリプトを生成し、図４９に示すパケット生成処理を経て、多機能周辺機器201に送信する。
【０４５４】
J03のチェックにおいて、ジョブ内にデータを含ませる方法がサポートされていない場合、J05において、機器内に存在するデータの参照ポインタ（URL：Unified Resource Locator）をジョブ内に含ませたジョブスクリプトを生成し送信する。
【０４５５】
J02のチェックにおいて、データがジョブを発行するクライアント外部に存在する場合は、J06において機器情報データ内の各担当マネージャの属性表の属性値＝601（サポートしているデータのダウンロード方法）をチェックする。
【０４５６】
J06のチェックにおいて、ジョブ内に参照ポインタを含ませて機器自身がデータを読み込む方法がサポートされている場合は、データに対する参照ポインタをジョブ内に含ませたジョブスクリプトを生成し送信する。
【０４５７】
J06のチェックにおいて、ジョブ内に参照ポインタを含ませて機器自身がデータを読み込む方法がサポートされていない場合は、J08においてデータを機器外部から機器内部へ一旦読み込む。
【０４５８】
J09において、読み込んだデータをジョブ内に含むジョブスクリプトを生成して送信する。
【０４５９】
ジョブスクリプトを受信した多機能周辺機器201の各マネージャは、図３８、図６１、図３９（プリントジョブマネージャ）または図３８、図６１、図４２（フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャ）に示される処理を行い、指示されたジョブの処理を行なう。
【０４６０】
図５７は、スキャナドライバA06によるスキャンジョブの発行、フォント管理ユーティリティA08によるフォントデータアップロードジョブスクリプト発行、フォームオーバーレイユーティリティA09によるフォームオーバーレイデータアップロードジョブスクリプト発行、ログ管理ユーティリティーA10によるログデータアップロードジョブスクリプト発行およびカラープロファイル管理ユーティリティA11によるカラープロファイルデータアップロードジョブスクリプト発行の各処理を表す。
【０４６１】
以上の各ソフトウエアによる処理フローは共通であり、スキャン結果得られたドキュメントデータおよび上記各種類のアップロード対象データは、図５７および以下の説明において、「データ」と記述されている。
【０４６２】
ジョブ発行の際には、データを指し示す指示子が、ジョブスクリプトの中に設定する複数の属性値と共に指定される。
【０４６３】
K01において、機器情報データベースA02にアクセスして機器情報を取得する。
【０４６４】
K19において、データをアップロード対象とする各マネージャ（例えば、フォントデータならフォントデータを管理するフォントマネージャ）の有する属性表を参照し、指定された属性値が属性表で設定されている各属性値の範囲内にあるかどうかをチェックする。チェックの結果、１つでも範囲内に無い場合は、K22においてユーザインターフェース上にエラーダイアログを表示するなど、ジョブ発行拒否の処理を行い、終了する。
【０４６５】
K19のチェックの結果、全ての属性がマネージャの持つ属性表内の各属性値の範囲内にある場合は、K20においてマネージャの属性中に禁止設定属性（属性ID＝801から805）が存在するかどうかチェックする。マネージャの属性表が禁止設定属性を持つ場合は、K21においてマネージャが属性表内に持つ各禁止設定属性毎に指定されたジョブの属性が禁止されている設定値の組み合わせとなっていないかどうかチェックする。チェックの結果、禁止されている属性の設定値の組み合わせがある場合は、K22においてジョブ発行拒否の処理を行い終了する。
【０４６６】
K20のチェックの結果、マネージャが禁止設定属性を持たない場合およびK21のチェックの結果ジョブの属性が禁止されている設定値の組み合わせとなっていない場合、K02において、データの送信宛先をチェックする。データの送信宛先が機器外部の場合は、K03において、再度データの送信宛先をチェックする。データの送信宛先がジョブを発行するクライアントの場合は、K14において機器情報データ内の各担当マネージャの属性表の属性値＝602（サポートしているデータのアップロード方法）をチェックする。
【０４６７】
K14のチェックの結果データ送信をサポートしている場合は、K15において、データ送信を指示するジョブスクリプトを発行し、K16においてデータ受信を行なう。
【０４６８】
K14のチェックの結果データ送信をサポートしていない場合は、機器内にデータを留め置きデータへの参照ポインタを返信として送信することを意味する参照送信を指示するジョブスクリプトを発行し、返信された参照ポインタの情報を用いて、K18においてデータを取得する。
【０４６９】
K03において、データの送信宛先がジョブを発行するクライアント以外の場合は、K05において機器情報データ内の各担当マネージャの属性表の属性値＝602（サポートしているデータのアップロード方法）をチェックする。
【０４７０】
K05のチェックの結果、参照送信をサポートしている場合は、K06において送信宛先をパラメータとする参照送信を指示するジョブスクリプトを発行し、K07においてデータの送信宛先に対して多機能周辺機器201からデータが送信されることを伝えることにより、データの取得指示を送る。
【０４７１】
K05のチェックの結果、参照送信をサポートしていない場合は、K08においてデータ送信を指示するジョブスクリプトを発行し、K09においてデータを受信し、このデータを送信宛先に再度送信する。
【０４７２】
K02のチェックの結果、送信宛先が機器内部である場合は、K10において、機器情報データ内の各担当マネージャの属性表の属性値＝602（サポートしているデータのアップロード方法）をチェックする。
【０４７３】
K10のチェックの結果、参照送信をサポートしている場合は、K11において機器内の宛先をパラメータとする参照送信を指示するジョブスクリプトを発光する。
【０４７４】
K10のチェックの結果、参照送信をサポートしていない場合は、K12においてデータ送信を指示するジョブを発行し、K13においてデータをクライアントが受信した後に再度データを機器に送り返す。
【０４７５】
ジョブスクリプトを受信した多機能周辺機器201の各マネージャは、図３８、図６１、図４０（スキャンジョブマネージャ）または図３８、図６１、図４３（フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャ）に示される処理を行い、指示されたジョブの処理を行なう。
【０４７６】
図５８はコピージョブの発行を行なう処理を表す。
【０４７７】
コピージョブ発行の指示として、ジョブスクリプトの中に設定する複数の属性値が指定される。
【０４７８】
L01において、機器情報データベースA02にアクセスして機器情報を取得する。
【０４７９】
L02において、コピーマネージャの有する属性表を参照し、指定された属性値が属性表で設定されている各属性値の範囲内にあるかどうかをチェックする。チェックの結果、１つでも範囲内に無い場合は、L05においてユーザインターフェース上にエラーダイアログを表示するなど、ジョブ発行拒否の処理を行い、終了する。
【０４８０】
L02のチェックの結果、全ての属性がコピーマネージャの持つ属性表内の各属性値の範囲内にある場合は、L03においてコピーマネージャの属性表中に禁止設定属性（属性ID＝801から805）が存在するかどうかチェックする。コピーマネージャの属性表が禁止設定属性を持つ場合は、L04においてマネージャが属性表内に持つ各禁止設定属性毎に指定されたジョブの属性が禁止されている設定値の組み合わせとなっていないかどうかチェックする。チェックの結果、禁止されている属性の設定値の組み合わせがある場合は、L05においてジョブ発行拒否の処理を行い終了する。
【０４８１】
L03のチェックの結果、マネージャが禁止設定属性を持たない場合およびL04のチェックの結果ジョブの属性が禁止されている設定値の組み合わせとなっていない場合、L06においてジョブスクリプトを生成し、発行して終了する。
【０４８２】
ジョブスクリプトを受信した多機能周辺機器201のコピージョブマネージャは、図３８、図６１、図４１に示される処理を行い、指示されたジョブの管理を行なう。
【０４８３】
図５９は、ジョブ管理ユーティリティA12が、ジョブ管理コマンドを発行する場合の処理フローを表す。
【０４８４】
M01において、対象とするマネージャのサービスIDをパラメータとしてマネージャが保持するジョブ表（図１５（Ａ））を取得する。
【０４８５】
M02において、取得したジョブ表に含まれるジョブリストの中から適当な方法で管理対象とするジョブの持つジョブIDを選択する。選択手段としては、ユーザインターフェースA01にジョブのリストを表示し、ユーザに選択させる方法などが含まれる。
【０４８６】
M03において、指定されたジョブIDをパラメータとするジョブ管理用コマンドを生成し、発行し終了する。
【０４８７】
ジョブ管理コマンドを受信した多機能周辺機器201のスーパーバイザーは、図３２、図３３、図３４、図３５、図３６、図４４44に示される処理を行い、指示されたジョブの管理を行なう。
【実施例２】
【０４８８】
実施例1では、1つのイベントパケットに1つのイベントが格納される形態を示したが、同時、あるいは、ほぼ同時に発生した複数のイベントを、1つのイベントパケットに格納する形態であっても構わない。
【０４８９】
通常、個々のイベントは独立して発生するが、あるイベントの発生により別のイベントが引き起こされることもある。例えば、ジャムなどのエラーが発生した場合、そのエラーの影響を受けて複数のコンポーネントが同時に状態遷移を起こし、複数のイベントが発生する。この場合に、発生した複数のイベントを1つのイベントパケットに格納できるしくみにしておいても良い。
【０４９０】
1つのイベントパケットに1つ以上のイベントを格納する形態の実施例を説明する。
【０４９１】
図４７は、スーパーバイザーが保持するイベント設定表を表わすものであり、実施例1の図１２に相当する。
【０４９２】
この表は図７で示される属性表の「イベント設定表」属性の値として保持されている。イベント設定表は指定されたイベントが機器内で起きたときの宛先を、宛先毎に保持している。イベント設定表は、さらに、そのイベントがその宛先への通知予定数、および、今までの累計通知数をも保持している。
【０４９３】
表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。
【０４９４】
各レコードは接続形式4701、通知先アドレス4702、イベントIDのリスト4703、通知予定数4704、および、累計数4705、から構成されている。
【０４９５】
接続形式4701は、イベント通知を送信する接続形式を表わしており、この値は図８のサブアドレス：サービスID対応表で使用されているものと同一のものが使用される。
【０４９６】
通知先アドレス4702は、接続形式4701に適合したイベントの通知先宛先を表わすものである。
【０４９７】
イベントIDのリスト4703は、イベントの種類を表わすイベントIDを列挙するものである。イベントIDは、機器内でユニークに定義されている。
【０４９８】
通知予定数4704は、このレコードの通知先宛先にこのイベントＩＤのイベントを合計何パケット分通知するかを表わすものである。イベントの登録時に設定される。
【０４９９】
累計数4705は、イベント登録してから通知を行なった数の累計を表わす。すなわち、イベントの登録時には0が設定され、実際にイベントの通知が行なわれた時に、通知したパケット数分加算されていく。
【０５００】
よって、通知予定数4704と累計数4705の差が、あと何パケット通知されるかを表わしていることになる。
【０５０１】
図４７により、１つの宛先（接続形式ＩＤ＋通知先アドレス）に対して、複数のＥｖｅｎｔＩＤを設定することができる。
【０５０２】
図６０は、多機能周辺機器201からクライアントに送られるイベントの構造を表し、実施例1における図５２に相当する。イベントパケットは図３１に示されるコマンドパケットと同一の構造を持ち、図６０で示すものは、パケットのパラメータ3110の部分の構造である。
【０５０３】
P01は、本パケット内に列挙するイベント数を示す。
【０５０４】
P02は残りのパケット数で、今後、何パケット分のイベントが通知されるかを表わす。
【０５０５】
P11からP13は、１番めのイベントを示す。
【０５０６】
同様に、P21からP23は２番目のイベントを、Pn1からPn3はn番目のイベントを示す。
【０５０７】
P11、P21、・・・、Pn1は、イベントの種類を表すイベントIDである。
【０５０８】
P12、P22、・・・、Pn2は、イベントIDごとに規定されているパラメータデータである。このデータのフォーマットは規定情報データベースA22に予め保持されている。
【０５０９】
P13、P23、・・・、Pn3はイベントIDごとに機器でそのフォーマットが決められているパラメータデータである。このデータのフォーマットはイベントフォーマット表（図１３）として、図５０の処理フローを実行することにより機器情報データベースA02に保持されている。
【０５１０】
そして、イベントが発生した場合に、パケット数によってレコードの削除の制御を行なう。すなわち、実施例1の図45と同様の処理により、イベント送信パケットを生成して、予定通知数パケット分の送信を完了した場合には、そのレコードをイベント設定表から削除する。さらに、もし、同時に発生している複数のイベントがあり、かつ、それらの複数のイベントIDを登録している宛先に対しては、それらの複数のイベントをまとめて1つのパケットに格納して送信を行なう。
【実施例３】
【０５１１】
実施例2では、1パケットに複数イベントが格納できる形態において、パケット数によってレコードの削除の制御を行なったが、イベント数によって制御を行なっても構わない。この場合、図47の通知予定数および累計数は、パケット数ではなく、イベント数を使用する。
【０５１２】
実施例2の場合には、1つのパケットに何イベント格納されていても、1パケット送信毎に累計パケット数は1づつ加算されていったが、本実施例では、格納されているイベント数分が累計イベント数として加算されていくことになる。例えば、1パケットに3イベントが格納されて送信された時には、累計数が3加算されることになる。
【実施例４】
【０５１３】
上記実施例は他の機能を有する周辺機器装置、例えばファクシミリ装置に適用することが可能である。
【０５１４】
ドライバ、ユーティリティによって、パケット数かイベント数かのいずれで制御するかを選択できるようになっていても構わない。
【０５１５】
各レコード毎に選択できるようになっていても構わないし、周辺機器装置全体で1つ、どちらで制御するかを選択できるようになっていても構わない。
【図面の簡単な説明】
【０５１６】
【図１】多機能周辺機器の構成
【図２】システム構成
【図３】コントローラのハード構成
【図４】コントローラのソフト構成
【図５】コントローラのソフト構成・補足
【図６】コントローラのソフト構成・補足
【図７】スーパーバイザーの属性表
【図８】サブアドレス：サービスID対応表
【図９】サブアドレス：タスクタイプ対応表
【図１０】ユーザ認証表
【図１１】アクセス制御表
【図１２】イベント設定表
【図１３】イベントフォーマット表
【図１４】プリントマネージャの属性表
【図１５】ジョブ表及びジョブ依頼表
【図１６】スキャンジョブマネージャの属性表
【図１７】コピージョブマネージャの属性表
【図１８】フォントマネージャの属性表
【図１９】フォント表
【図２０】フォームオーバーレイマネージャの属性表
【図２１】フォームオーバーレイ表
【図２２】ログマネージャの属性表
【図２３】ログ表
【図２４】ログデータの内容
【図２５】ログフォーマット表
【図２６】カラープロファイルマネージャの属性表
【図２７】カラープロファイル表
【図２８】プリンターコントローラの属性表
【図２９】ジョブキュー表
【図３０】スキャナコントローラの属性表
【図３１】コマンドパケットの構造
【図３２】コマンドパケットの処理フロー
【図３３】属性表のアクセス処理フロー
【図３４】サービスID一覧問合わせ処理
【図３５】サブアドレスと問合わせ処理
【図３６】タスクタイプを指定したサービスIDの問合わせ処理
【図３７】ジョブの構造
【図３８】各マネージャでのジョブスクリプト処理
【図３９】プリントジョブマネージャでのジョブ処理
【図４０】スキャンジョブマネージャでのジョブ処理
【図４１】コピージョブマネージャでのジョブ処理
【図４２】フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャでのジョブ処理（ダウンロード）
【図４３】フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャでのジョブ処理（アップロード）
【図４４】各マネージャでのジョブ管理
【図４５】イベント送信
【図４６】機器からのデータ（スクリプト）送信
【図４７】イベント設定表
【図４８】クライアント側のソフトウエア構成
【図４９】パケット生成・送信処理
【図５０】クライアント側での情報取得およびソフトウエアの自動構成
【図５１】タスクタイプを指定したジョブの発行
【図５２】イベントの構造
【図５３】イベントの送信
【図５４】ログの処理
【図５５】課金情報の取得・処理
【図５６】ジョブの発行（プリントジョブ、データダウンロード）
【図５７】ジョブの発行（スキャンジョブ、データアップロード）
【図５８】コピージョブの発行
【図５９】ジョブ管理コマンドの発行
【図６０】イベントの構造
【図６１】各マネージャでのジョブスクリプト処理（続き）
【図１】
2006350796.tif 000003
【図２】
2006350796.tif 000004
【図３】
2006350796.tif 000005
【図４】
2006350796.tif 000006
【図５】
2006350796.tif 000007
【図６】
2006350796.tif 000008
【図７】
2006350796.tif 000009
【図８】
2006350796.tif 000010
【図９】
2006350796.tif 000011
【図１０】
2006350796.tif 000012
【図１１】
2006350796.tif 000013
【図１２】
2006350796.tif 000014
【図１３】
2006350796.tif 000015
【図１４】
2006350796.tif 000016
【図１５】
2006350796.tif 000017
【図１６】
2006350796.tif 000018
【図１７】
2006350796.tif 000019
【図１８】
2006350796.tif 000020
【図１９】
2006350796.tif 000021
【図２０】
2006350796.tif 000022
【図２１】
2006350796.tif 000023
【図２２】
2006350796.tif 000024
【図２３】
2006350796.tif 000025
【図２４】
2006350796.tif 000026
【図２５】
2006350796.tif 000027
【図２６】
2006350796.tif 000028
【図２７】
2006350796.tif 000029
【図２８】
2006350796.tif 000030
【図２９】
2006350796.tif 000031
【図３０】
2006350796.tif 000032
【図３１】
2006350796.tif 000033
【図３２】
2006350796.tif 000034
【図３３】
2006350796.tif 000035
【図３４】
2006350796.tif 000036
【図３５】
2006350796.tif 000037
【図３６】
2006350796.tif 000038
【図３７】
2006350796.tif 000039
【図３８】
2006350796.tif 000040
【図３９】
2006350796.tif 000041
【図４０】
2006350796.tif 000042
【図４１】
2006350796.tif 000043
【図４２】
2006350796.tif 000044
【図４３】
2006350796.tif 000045
【図４４】
2006350796.tif 000046
【図４５】
2006350796.tif 000047
【図４６】
2006350796.tif 000048
【図４７】
2006350796.tif 000049
【図４８】
2006350796.tif 000050
【図４９】
2006350796.tif 000051
【図５０】
2006350796.tif 000052
【図５１】
2006350796.tif 000053
【図５２】
2006350796.tif 000054
【図５３】
2006350796.tif 000055
【図５４】
2006350796.tif 000056
【図５５】
2006350796.tif 000057
【図５６】
2006350796.tif 000058
【図５７】
2006350796.tif 000059
【図５８】
2006350796.tif 000060
【図５９】
2006350796.tif 000061
【図６０】
2006350796.tif 000062
【図６１】
2006350796.tif 000063