(57)【要約】【課題】  ユーザーにとって使い勝手の良い、情報処理装置を提供することである。【解決手段】  周辺機器から取得した機能に応じて、周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する。【選択図】  図６６
2005192224.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器を制御する情報処理装置であって、
前記周辺機器の機能を取得する取得手段と、
前記取得手段で取得した機能に応じて、前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記取得手段で取得した機能に応じて前記周辺機器のためのユーザーインタフェースの表示を制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記周辺機器の機能の設定範囲に関する情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記設定範囲に関する情報は、ジョブ設定が禁止されている属性の組み合わせで表現されていることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記取得手段は、前記周辺機器の機能選択肢に関する情報を得することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記取得手段は、前記周辺機器から当該周辺機器の機能を示す属性リストを取得し、当該属性リストの属性IDを指定して属性値を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記取得手段は、前記周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストを当該周辺機器から取得することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記物理デバイス制御プログラムは、前記周辺機器のスキャナエンジンを制御するスキャナ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記物理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記物理デバイス制御プログラムは、前記周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１１】
前記論理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１２】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１３】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１４】
前記リソース制御プログラムは、前記周辺機器のフォントを管理するフォント制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１５】
前記リソース制御プログラムは、前記周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１６】
前記リソース制御プログラムは、前記周辺機器のログを管理するログ制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１７】
前記リソース制御プログラムは、前記周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムであることを特徴とする請求項７に記載の情報処理装置。
【請求項１８】
周辺機器を制御する情報処理装置における情報処理方法であって、前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成することを特徴とする情報処理方法。
【請求項１９】
前記取得した機能に応じて前記周辺機器のためのユーザーインタフェースの表示が制御されることを特徴とする請求項１８に記載の情報処理方法。
【請求項２０】
前記周辺機器の機能の設定範囲に関する情報が取得されることを特徴とする請求項１８に記載の情報処理方法。
【請求項２１】
前記設定範囲に関する情報は、ジョブ設定が禁止されている属性の組み合わせで表現されていることを特徴とする請求項２０に記載の情報処理方法。
【請求項２２】
前記周辺機器の機能選択肢に関する情報が取得されることを特徴とする請求項１８に記載の情報処理方法。
【請求項２３】
前記周辺機器から当該周辺機器の機能を示す属性リストが取得され、当該属性リストの属性IDを指定することによって属性値が取得されることを特徴とする請求項１８に記載の情報処理方法。
【請求項２４】
前記周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストが当該周辺機器から取得されることを特徴とする請求項１８に記載の情報処理方法。
【請求項２５】
前記物理デバイス制御プログラムは、前記周辺機器のスキャナエンジンを制御するスキャナ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項２６】
前記物理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項２７】
前記物理デバイス制御プログラムは、前記周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項２８】
前記論理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項２９】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項３０】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項３１】
前記リソース制御プログラムは、前記周辺機器のフォントを管理するフォント制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項３２】
前記リソース制御プログラムは、前記周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項３３】
前記リソース制御プログラムは、前記周辺機器のログを管理するログ制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項３４】
前記リソース制御プログラムは、前記周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムであることを特徴とする請求項１８に記載の情報処理方法。
【請求項３５】
周辺機器を制御する情報処理装置で実行される情報処理プログラムを記憶する記憶媒体であって、
前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する情報処理プログラムを記憶することを特徴とする記憶媒体。
【請求項３６】
前記取得した機能に応じて前記周辺機器のためのユーザーインタフェースの表示が制御されることを特徴とする請求項３５に記載の記憶媒体。
【請求項３７】
前記周辺機器の機能の設定範囲に関する情報が取得されるこ特徴とする請求項３５に記載の記憶媒体。
【請求項３８】
前記設定範囲に関する情報は、ジョブ設定が禁止されている属性の組み合わせで表現されていることを特徴とする請求項３７に記載の記憶媒体。
【請求項３９】
前記周辺機器の機能選択肢に関する情報が取得されることを特徴とする請求項３５に記載の記憶媒体。
【請求項４０】
前記周辺機器から当該周辺機器の機能を示す属性リストが取得され、当該属性リストの属性IDを指定することによって属性値が取得されることを特徴とする請求項３５に記載の記憶媒体。
【請求項４１】
前記周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストが当該周辺機器から取得されることを特徴とする請求項３５に記載の記憶媒体。
【請求項４２】
前記物理デバイス制御プログラムは、前記周辺機器のスキャナエンジンを制御するスキャナ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４３】
前記物理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４４】
前記物理デバイス制御プログラムは、前記周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４５】
前記論理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４６】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４７】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４８】
前記リソース制御プログラムは、前記周辺機器のフォントを管理するフォント制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項４９】
前記リソース制御プログラムは、前記周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項５０】
前記リソース制御プログラムは、前記周辺機器のログを管理するログ制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項５１】
前記リソース制御プログラムは、前記周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムであることを特徴とする請求項３５に記載の記憶媒体。
【請求項５２】
周辺機器と情報処理装置から構成される情報処理システムであって、
複数の機能を有する周辺機器と、
前記周辺機器の機能を取得する取得手段と、
前記取得手段で取得した機能に応じて、前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する制御手段とを有することを特徴とする情報処理システム。
【請求項５３】
前記制御手段は、前記取得手段で取得した機能に応じて前記周辺機器のためのユーザーインタフェースの表示を制御することを特徴とする請求項５２に記載の情報処理システム。
【請求項５４】
前記取得手段は、前記周辺機器の機能の設定範囲に関する情報を取得することを特徴とする請求項５２に記載の情報処理システム。
【請求項５５】
前記設定範囲に関する情報は、ジョブ設定が禁止されている属性の組み合わせで表現されていることを特徴とする請求項５４に記載の情報処理システム。
【請求項５６】
前記取得手段は、前記周辺機器の機能選択肢に関する情報を取得することを特徴とする請求項５２に記載の情報処理システム。
【請求項５７】
前記取得手段は、前記周辺機器から当該周辺機器の機能を示す属性リストを取得し、当該属性リストの属性IDを指定して属性値を取得することを特徴とする請求項５２に記載の情報処理システム。
【請求項５８】
前記取得手段は、前記周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストを当該周辺機器から取得することを特徴とする請求項５２に記載の情報処理システム。
【請求項５９】
前記物理デバイス制御プログラムは、前記周辺機器のスキャナエンジンを制御するスキャナ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６０】
前記物理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６１】
前記物理デバイス制御プログラムは、前記周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６２】
前記論理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６３】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６４】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６５】
前記リソース制御プログラムは、前記周辺機器のフォントを管理するフォント制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６６】
前記リソース制御プログラムは、前記周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６７】
前記リソース制御プログラムは、前記周辺機器のログを管理するログ制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６８】
前記リソース制御プログラムは、前記周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムであることを特徴とする請求項５２に記載の情報処理システム。
【請求項６９】
周辺機器を制御する情報処理装置で実行される情報処理プログラムを送出する送出装置であって、
前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する情報処理プログラムを送出することを特徴とする送出装置。
【請求項７０】
前記情報処理プログラムによって、前記取得した機能に応じて前記周辺機器のためのユーザーインタフェースの表示が制御されることを特徴とする請求項６９に記載の送出装置。
【請求項７１】
前記情報処理プログラムによって、前記周辺機器の機能の設定範囲に関する情報が取得されるこ特徴とする請求項６９に記載の送出装置。
【請求項７２】
前記設定範囲に関する情報は、ジョブ設定が禁止されている属性の組み合わせで表現されていることを特徴とする請求項７１に記載の送出装置。
【請求項７３】
前記情報処理プログラムによって、前記周辺機器の機能選択肢に関する情報が取得されることを特徴とする請求項６９に記載の送出装置。
【請求項７４】
前記情報処理プログラムによって、前記周辺機器から当該周辺機器の機能を示す属性リストが取得され、当該属性リストの属性IDを指定することによって属性値が取得されることを特徴とする請求項６９に記載の送出装置。
【請求項７５】
前記情報処理プログラムによって、前記周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストが当該周辺機器から取得されることを特徴とする請求項６９に記載の送出装置。
【請求項７６】
前記物理デバイス制御プログラムは、前記周辺機器のスキャナエンジンを制御するスキャナ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項７７】
前記物理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項７８】
前記物理デバイス制御プログラムは、前記周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項７９】
前記論理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８０】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８１】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８２】
前記リソース制御プログラムは、前記周辺機器のフォントを管理するフォント制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８３】
前記リソース制御プログラムは、前記周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８４】
前記リソース制御プログラムは、前記周辺機器のログを管理するログ制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８５】
前記リソース制御プログラムは、前記周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムであることを特徴とする請求項６９に記載の送出装置。
【請求項８６】
周辺機器を制御する情報処理装置で実行される情報処理プログラム製品であって、
前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成することを特徴とする情報処理プログラム製品。
【請求項８７】
前記取得した機能に応じて前記周辺機器のためのユーザーインタフェースの表示が制御されることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項８８】
前記周辺機器の機能の設定範囲に関する情報が取得されるこ特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項８９】
前記設定範囲に関する情報は、ジョブ設定が禁止されている属性の組み合わせで表現されていることを特徴とする請求項８８に記載の情報処理プログラム製品。
【請求項９０】
前記周辺機器の機能選択肢に関する情報が取得されることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９１】
前記周辺機器から当該周辺機器の機能を示す属性リストが取得され、当該属性リストの属性IDを指定することによって属性値が取得されることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９２】
前記情報処理プログラムによって、前記周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストが当該周辺機器から取得されることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９３】
前記物理デバイス制御プログラムは、前記周辺機器のスキャナエンジンを制御するスキャナ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９４】
前記物理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９５】
前記物理デバイス制御プログラムは、前記周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９６】
前記論理デバイス制御プログラムは、前記周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９７】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９８】
前記論理デバイス制御プログラムは、前記周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項９９】
前記リソース制御プログラムは、前記周辺機器のフォントを管理するフォント制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項１００】
前記リソース制御プログラムは、前記周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項１０１】
前記リソース制御プログラムは、前記周辺機器のログを管理するログ制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【請求項１０２】
前記リソース制御プログラムは、前記周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムであることを特徴とする請求項８６に記載の情報処理プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、スキャナ、ファックス、コピー機等の周辺機器とをネットワーク、IEEE 1394等の接続形態を介して制御したり、これに対してジョブを発行する情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品に関する。
【背景技術】
【０００２】
ネットワーク等に接続されたプリンタ、スキャナ、ファックス、コピー機に対して、ホストコンピューターからジョブを発行したり、これらの周辺機器を管理したりする場合には、予め周辺機器の種類や機種を把握した上で、機種に対応した適当なドライバ等の周辺機器制御ソフトウエア（制御プログラム）をホストコンピューターに用意する必要がある。
【０００３】
また、ネットワーク等にプリンタエンジン、スキャナエンジンの機能を備えた多機能周辺機器（MFP :Multi-Function Peripheral）が接続されている場合には、それに対応した適当なドライバ等の周辺機器制御ソフトウエア（制御プログラム）をホストコンピューターに用意する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、機種に対応した適当なドライバやユーティリティ等の周辺機器制御ソフトウエア（制御プログラム）を予め用意する従来の方法では、以下の課題があった。
（１）使用対象とする周辺機器の種類や機種を予め調べておく必要があり、特にネットワークに複数の周辺機器が接続され、接続されている機種が刻々と変化する環境下では、これらの周辺機器ソフトウエア（制御プログラム）を常に用意しておくことが困難である。
（２）接続された複数の周辺機器を統一的に制御することが困難である。
（３）ネットワーク管理ユーティリティを使用することでネットワークに周辺機器が接続されていることを検知可能であるが、接続されているものがプリンタであるのかスキャナであるのか等の種類を特定することが困難であり、特に、一つの機器で複数の機能を提供している多機能周辺機器がネットワーク等に接続されている場合にはどのような種類の機能が提供されているのかを特定することはできなかった。
【０００５】
本発明の目的は、使い勝手の良い情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体を提供することにある。
【０００６】
また、本発明の目的は、上記のような情報処理装置及び情報処理方法を実現するための情報処理プログラムを送出する送出装置、上記のような情報処理装置及び情報処理方法を実現するための情報処理プログラム製品を提供することにある。
【０００７】
それ以外にも、従来の多機能周辺機器はプリンタエンジンとスキャナエンジンが有する機能（物理デバイス制御プログラムの機能）をそのままユーザーが使用できる機能としていたため、以下の課題があった。
（１）ユーザーが使用できる機能を制限して、機能制限が加わる場合には課金を割り引く等の細かな管理が困難である。
（２）プリントエンジンを複数有するコピー機では、プリントエンジン毎にプリンタ或いはコピー機としてその機能を提供するため、複数のプリントエンジンを使用して論理プリンタ或いは論理コピー機を構成しこれを一つのプリンタ或いはコピー機としてユーザーに提示したり、自動的にプリンタエンジンを選択する機能を有する論理プリンタ或いは論理コピー機を提示できなかった。
（３）一つのプリントエンジンを使用して、別々の機能を有する複数の論理プリンタ或いは論理コピー機としてユーザーに提供することができなかった。
（４）多機能周辺機器の機能毎にコマンド体系が異なるため、統一した機器管理が困難であった。
（５）ネットワーク、セントロニクスインタフェース、ＳＣＳＩ、ＩＥＥＥ１３９４などの複数の接続形態によって利用できる機能は、予め固定的に決まっており、接続形態毎に利用可能な機能を変更することができなかった。
【０００８】
従って、本発明の目的は、ユーザーにとって使い勝手の良い、多機能な周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体を提供することにある。
【０００９】
また、本発明の目的は、上記のような周辺機器及び周辺機器制御方法を実現するための周辺機器制御プログラムを送出する送出装置及び上記のような周辺機器及び周辺機器制御方法を実現するための周辺機器制御プログラム製品を提供することにある。
【００１０】
更に、それ以外にも、例えば、プリンタにおいて部数指定が９９以下の時にのみフィニッシャーが指定可能といった周辺機器の機能は、「Ａという属性値はｎ以下の値が設定可能」といったスカラー量で表わされるものだけでなく、複数の機能属性の属性値の組み合わせである複合条件で決定される。従来の技術では、このような複合条件をホストコンピュータ側で把握することはできなかった。また、特に、ネットワーク等に多種の機能を有する周辺装置が多数接続された環境下では、予めこれらの周辺機器の機能、データの存在位置、データの保存位置等をホストコンピュータ側に貯えておくのは困難であり、システムコンフィギュレーションの変更にも柔軟に対応できなかった。
【００１１】
従って、本発明の目的は、ユーザーにとって使い勝手の良い情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体を提供することにある。
【００１２】
また、本発明の目的は、上記のような情報処理装置及び情報処理方法を実現するための情報処理プログラムを送出する送出装置、上記のような情報処理装置及び情報処理方法を実現するための情報処理プログラム製品を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するための本発明の情報処理装置は、周辺機器を制御する情報処理装置であって、前記周辺機器の機能を取得する取得手段と、前記取得手段で取得した機能に応じて、前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する制御手段とを有する。
【００１４】
上記目的を達成するための本発明の情報処理方法は、周辺機器を制御する情報処理装置における情報処理方法であって、前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する。
【００１５】
上記目的を達成するための本発明の記憶媒体は、周辺機器を制御る情報処理装置で実行される情報処理プログラムを記憶する記憶媒体であって、前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する情報処理プログラムを記憶する。
【００１６】
上記目的を達成するための本発明の送出装置は、周辺機器を制御る情報処理装置で実行される情報処理プログラムを送出する送出装置であって、前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する情報処理プログラムを送出する。
【００１７】
上記目的を達成するための本発明の情報処理プログラム製品は、周辺機器を制御る情報処理装置で実行される情報処理プログラム製品であって、前記周辺機器から機能を取得し、当該取得した機能に応じて前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する情報処理プログラム製品である。
【００１８】
上記目的を達成するための本発明の情報処理システムは、周辺機器と情報処理装置から構成される情報処理システムであって、複数の機能を有する周辺機器と、前記周辺機器の機能を取得する取得手段と、前記取得手段で取得した機能に応じて、前記周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成する制御手段とを有する。
【００１９】
上記目的を達成するための本発明の周辺機器は、情報処理装置と接続された周辺機器であって、前記情報処理装置からパケットデータから構成されるジョブを入力する入力手段と、前記情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラムで前記入力手段で入力したジョブを解析させた後、前記周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラムで前記ジョブを解析させる制御手段とを有する。
【００２０】
上記目的を達成するための本発明の周辺機器制御方法は、情報処理装置と接続された周辺機器における周辺機器制御方法であって、前記情報処理装置からパケットデータから構成されるジョブを入力し、前記情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラムで前記入力したジョブを解析させた後、前記周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラムで前記ジョブを解析させる。
【００２１】
上記目的を達成するための本発明の記憶媒体は、情報処理装置と接続された周辺機器で実行される周辺機器制御プログラムを記憶した記憶媒体であって、前記情報処理装置からパケットデータから構成されるジョブを入力し、前記情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラムで前記入力したジョブを解析させた後、前記周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラムで前記ジョブを解析させる周辺機器制御プログラムを記憶する。
【００２２】
上記目的を達成するための本発明の送出装置は、情報処理装置と接続された周辺機器で実行される周辺機器制御プログラムを送出する送出装置であって、前記情報処理装置からパケットデータから構成されるジョブを入力し、前記情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラムで前記入力したジョブを解析させた後、前記周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラムで前記ジョブを解析させる周辺機器制御プログラムを送出する。
【００２３】
上記目的を達成するための本発明の周辺機器制御プログラム製品は、情報処理装置と接続された周辺機器で実行される周辺機器制御プログラム製品であって、前記情報処理装置からパケットデータから構成されるジョブを入力し、前記情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラムで前記入力したジョブを解析させた後、前記周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラムで前記ジョブを解析させる周辺機器制御プログラム製品である。
【００２４】
上記目的を達成するための本発明の周辺機器制御システムは、情報処理装置と周辺機器から構成される周辺機器制御システムであって、前記周辺機器へパケットデータから構成されるジョブを出力する出力手段と、前記出力手段から出力された前記ジョブを入力する入力手段と、前記情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラムで前記入力したジョブを解析させた後、前記周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラムで前記ジョブを解析させる制御手段とを有する。
【００２５】
上記目的を達成するために本発明の情報処理装置は、周辺機器を制御する情報処理装置であって、前記周辺機器の機能を取得する取得手段と、前記取得手段で取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断する判断手段と、前記判断手段で判断結果に応じてジョブ発行処理を制御する制御手段とを有する。
【００２６】
上記目的を達成するために本発明の情報処理方法は、周辺機器を制御する情報処理装置における情報処理方法であって、前記周辺機器から取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断し、その判断結果に応じてジョブ発行処理を制御する。
【００２７】
上記目的を達成するために本発明の記憶媒体は、周辺機器を制御する情報処理装置で実行される情報処理プログラムを記憶した記憶媒体であって、前記周辺機器から取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断し、その判断結果に応じてジョブ発行処理を制御する情報処理プログラムを記憶する。
【００２８】
上記目的を達成するために本発明の情報処理システムは、周辺機器と情報処理装置から構成される情報処理システムであって、複数の機能を有する周辺機器と、前記周辺機器から前記機能を取得する取得手段と、前記取得手段で取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断する判断手段と、前記判断手段で判断結果に応じてジョブ発行処理を制御する制御手段とを有する。
【００２９】
上記目的を達成するために本発明の送出装置は、周辺機器を制御する情報処理装置で実行される情報処理プログラムを送出する送出装置であって、前記周辺機器から取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断し、その判断結果に応じてジョブ発行処理を制御する情報処理プログラムを送出する。
【００３０】
上記目的を達成するために本発明の情報処理プログラム製品は、周辺機器を制御する情報処理装置で実行される情報処理プログラム製品であって、前記周辺機器から取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断し、その判断結果に応じてジョブ発行処理を制御する情報処理プログラム製品である。
【発明の効果】
【００３１】
以上述べたように本発明によれば、周辺機器は、論理デバイス制御プログラムでジョブを解析させた後物理デバイス制御プログラムでジョブを解析させる構成を有することにより、デバイスエンジンの有する機能とは独立した機能をユーザーに提供できる。また、ユーザーに提供する機能を外部から変更できる。また、実際にジョブを実行するデバイスエンジンを把握することができる。
【００３２】
また、周辺機器が複数のデバイスエンジンを有する場合に、デバイスエンジンの最適利用を可能にする。また、論理デバイスに投入されたジョブを管理できる。また、ジョブを実行する最適な論理デバイス制御プログラムを選択できる。また、デバイスが複数の論理デバイス制御プログラムとこれら複数の論理デバイス制御プログラムを統括する統括プログラムを有することで、当該統括プログラムはそれぞれの前記論理デバイス制御プログラムにジョブを投入する際に使用するサブアドレスと接続インタフェースの種類をそれぞれの論理デバイス制御プログラムに対応して付けて保持することができる。
【００３３】
また、周辺機器が統括プログラムがサブアドレスが有効或いは無効かを示す情報の一覧を保持することで、有効でないサブアドレスにジョブが投入された場合に当該ジョブを破棄することができる。また、統括プログラムが使用可能なユーザーの認証情報の一覧を保持することで、入力したジョブに含まれるユーザー情報が当該認証情報の一覧に含まれない場合に当該ジョブのエラー報知をすることができる。
【００３４】
また、統括プログラムは使用可能なユーザーの認証判断処理の種類を示すセキュリティレベルの一覧を保持することができる。また、論理デバイス制御プログラムはジョブを解析中にイベントが発生した場合にイベントデータを情報処理装置へ送信するための接続インタフェースと送信先アドレスの一覧を保持することができる。また、論理デバイス制御プログラムでジョブを解析中にイベントが発生した場合に、情報処理装置へ送信するための接続インタフェースと送信先アドレスの一覧を参照してイベントデータを送信することができる。
【００３５】
従って、本発明によれば、周辺機器から取得した機能に応じて、周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成することができる。また、取得した機能に応じて周辺機器のためのユーザーインタフェースの表示を制御することができる。また、周辺機器の機能の設定範囲に関する情報（属性値）を取得することができる。また、設定範囲に関する情報はジョブ設定が禁止されている属性の組み合わせで表現されている。また、周辺機器の機能選択肢に関する情報を取得することができる。周辺機器から当該周辺機器の機能を示す属性リスト（属性表）を取得して、当該属性リストの属性IDを指定することによって属性値を取得することができる。また、周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リストを当該周辺機器から取得することができる。
【００３６】
更に、本発明によれば、周辺機器から取得した機能に基づいて周辺機器へジョブスクリプトを発行できるか否か判断し、その判断結果に応じてジョブ発行処理を制御できる。周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括プログラムのそれぞれの機能を示す属性リストを周辺機器から取得できる。また、ジョブ設定が禁止されている属性の組み合わせを取得できる。また、その禁止に応じて、ダウンロードジョブ或いはプリントジョブが周辺機器へ発行できる。また、アップロードジョブ或いはスキャンジョブが周辺機器へ発行できる。
【００３７】
また、本発明によれば、取得した機能のダウンロード方法のサポートを示す属性とジョブ発行対象のデータの存在位置に応じて、ジョブ発行方法を選択できる。また、取得した機能のアップロード方法のサポートを示す属性とジョブ発行対象のデータの保存位置に応じて、ジョブ発行方法を選択できる。また、ジョブ発行対象のデータは、プリントドキュメントデータである。また、ジョブ発行対象のデータは、スキャンドキュメントデータである。また、ジョブ発行対象のデータは、フォントデータである。また、ジョブ発行対象のデータは、フォームオーバーレイデータである。また、ジョブ発行対象のデータは、カラープロファイルデータである。また、ジョブ発行対象のデータは、ログデータである。また、ジョブ発行対象のデータは、フォントデータである。
【００３８】
また、本発明によれば、周辺機器から受信したイベントに応じたイベントフォーマットデータを取得し、当該イベントフォーマットデータに基づいて受信したイベントを解析できる。また、周辺機器のログデータと当該ログデータのログフォーマットデータを取得し、当該ログフォーマットデータに基づいて前記ログデータを解析できる。また、周辺機器の課金データ（カウントデータ）と当該課金データのフォーマットデータを取得し、当該課金フォーマットデータに基づいて前記課金データを解析できる。
【発明を実施するための最良の形態】
【００３９】
（多機能周辺機器の構成）
図1は、本発明の一実施形態を示す多機能周辺機器（MFP :Multi-Function Peripheral）の構成を示す図である。
【００４０】
図1において、101は多機能周辺機器を制御するためのコントローラであり、図3に示すハードウエア構成を有し、図76の記憶媒体としてのDISK315に示すようなソフトウエア（制御プログラム）構成を有している。102はスキャナエンジンであり、コントローラ101によって制御されている。103、104はレーザービームプリンタエンジン（LBP）1、2であり、コントローラ101によって制御されている。103のレーザービームプリンタエンジン1はフィニッシャー106に接続されており、同プリンタエンジンから出力された複数の記録媒体（例えば、紙）をまとめてステープル（ホッチキス）処理することが可能となっている。フィニッシャー106もコントローラ101によって制御されている。105はインクジェットプリントエンジン（IJP）でカラー印字も可能であり、コントローラ101によって制御されている。107はネットワーク（イーサーネット）インターフェースであり、コントローラ101に対して同インターフェースを通した双方向通信を提供している。108はIEEE1394インターフェースであり、コントローラ101に対して同インターフェースを通した双方向通信を提供している。109はIEEE1284インターフェースであり、コントローラ101に対して同インターフェースを通した双方向通信を提供している。110はユーザーインタフェースであり、LCDディスプレイとキーボードから構成されており、コントローラ101からの情報表示を行うとともにユーザからの指示をコントローラ101に伝える。
【００４１】
以上のような構成を有する多機能周辺機器は、3つの物理プリンタ、LBP103(B/W, Finisher付), LBP104(B/W), IJP105(Color)を選択させてプリントジョブの発行を可能にする。また、4つの論理プリンタ（クラスタ）プリンタ、LBP103+LBP104, LBP104+IJP105, LBP103+IJP105, LBP103+LBP104+IJP105を選択させてプリントジョブの発行を可能にする。また、上記7つのプリンタ、LBP103, LBP104, IJP105, LBP103+LBP104, LBP104+IJP105, LBP103+IJP105, LBP103+LBP104+IJP105から自動選択させてプリントジョブの発行を可能にする。更に、IJPを使用し、白黒のみ印刷可能なプリンターとする論理プリンターを構成しプリントジョブの発行を可能にする。
【００４２】
また、外部からスキャンジョブの発行が可能になり、カラー原稿の読込みが可能になる。また、スキャナーと上記8つのプリンタ、LBP103, LBP104, IJP105, LBP103+LBP104, LBP104+IJP105, LBP103+IJP105, LBP103+LBP104+IJP105白黒のみ印刷可能なIJPを選択（自動選択も可能）させてコピージョブの発行を可能にする。更に、プリンタがIJPのみの場合にはカラーコピージョブの発行を可能にする。
【００４３】
また、フォント、フォームオーバーレイをプリントジョブで使用でき、アップロード・ダウンロードが可能でリソース管理ができる。また、カラープロファイルをプリントジョブ・スキャンジョブ・コピージョブで使用でき、アップロード・ダウンロードが可能でリソース管理ができる。更にログを機器内部で自動生成できアップロードが可能になる。
【００４４】
また、Network(Ethernet（登録商標）, TCP/IP), IEEE1284, IEEE1394のどのインターフェースからでも、全ての機能を使用可能である。また、各インターフェースごとにサブアドレスと物理・論理デバイス（プリンター、スキャナ、コピー）および各リソースの対応が取られており、サブアドレスを選択することによりこれらの物理・論理デバイスおよび各リソースを選択することが可能になる。これらの各インターフェースの各サブアドレスに対して、同時にジョブを発行およびダウンロード・アップロードを指示することが可能になる。また、サブアドレスと物理・論理デバイスおよび各リソースとの対応は、機器自身に問い合わせることにより得られる。更に、内部で持つユーザーインターフェースからも、機能を使用可能になる。
【００４５】
また、外部から上記インターフェースを通して後述するSupervisorに問い合わせることにより、提供している機能概要（どんなジョブが発行できるか、どんなリソースが利用できるかなど）、ジョブ発行、リソースのダウンロード・アップロードに使用するサブアドレス、各機能の詳細情報（最大コピー部数、フィニシャーの種類サポートしているPDL、指定できる出力BINの数等）を取得可能になる。上記情報を使用して、Client側ではソフトウエア（制御プログラム）を自動構成することも可能になる。ただし、この問合わせに使用するサブアドレスだけは各インターフェースにおいて、Clientはあらかじめ知っておく必要がある。管理者は、上記の各種機能を接続形態および使用ユーザにより制限可能になる。
【００４６】
（全体システム構成）
図2は本実施形態のシステム構成を示す図である。図2において、201は図1に示す多機能周辺機器（MFP）で、多機能周辺機器201はネットワークインタフェースケーブル208（10BASE-T）、IEEE1394インタフェースケーブル206、IEEE1284インタフェースケーブル207によってClientPC202、203、204、205（情報処理装置）にそれぞれ接続されている。図78に示すような各Client PCでは、図77に示す記憶媒体としての後述するDISK6009に記憶されている各種ソフトウエア（制御プログラム）が動作している。Ethernet（登録商標）208に接続されているClientPC202、203はIPアドレス、ポート番号を指定して多機能周辺機器201に接続しIPパケットデータを出力する。IEEE1394インタフェース206に接続されているClientPC204はノードIDとLUN（ロジカルユニットナンバー）を指定して多機能周辺機器201と接続しSBPー2パケットデータを出力する。IEEE1284インタフェース207に接続されているClientPC205はソケット番号を指定して多機能周辺機器201と接続しIEEE1284．4パケットデータを出力する。
【００４７】
（コントローラのハードウエア構成）
図3は、図1に示す本実施形態のコントローラ101のハードウエア構成を示す図である。コントローラ101の内部では、CPU301がバス313を介して、Memory(RAM)302,ユーザーインターフェース（操作部）110を構成するLCDディスプレイ303及びキーボード304,ROM314, DISK315が接続されている。図76に示す各種プログラム及びデータは、ハードディスクやフロッピー（登録商標）ディスク等のDISK315（記憶媒体）に記憶されており、必要に応じて順次Memory(RAM)302に読み出されてCPU301で実行される。このDISK315は、MFP201に着脱可能でもMFP201に内蔵されたものでも良い。更に、図76に示すプログラムは、ネットワークインタフェースケーブル208（10BASE-T）、IEEE1394インタフェースケーブル206、IEEE1284インタフェースケーブル207を介してClientPC202、203、204、205或いは他のMFPからダウンロードされてDISK315に記憶される構成でも良い。
【００４８】
LCDディスプレイ303、キーボード304は図1に示すユーザインターフェース（操作部）110を構成するものであり、CPU301がLCDディスプレイ303にデータを書き込むことにより表示を行い、CPU301がキーボード304からデータを読み出すことにより、ユーザからの指示を入力する。
【００４９】
また、バス313には、ネットワークインターフェースコネクタ305・IEEE1394インターフェースコネクタ306・IEEE1284インターフェースコネクタ307が接続されており、それぞれ図1に示すネットワークインターフェース107、IEEE1394インターフェース108、IEEE1284インターフェース109に対応し、図2に示すEthernet（登録商標）(10BASE-T)ケーブル208、IEEE1394ケーブル206、IEEE1284ケーブル207が接続される。CPU301がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行う。
【００５０】
更に、バス313には、Laser Beam Printer Engine308, Finisher309,Scanner Engine310, Laser Beam Printer Engine311, Ink Jet Printer Engine312が接続されており、これらは、図1に示すLaser Beam Printer Engine103, Finisher106,Scanner Engine102, Laser Beam Printer Engine104, Ink Jet Printer Engine105に対応するものであり、CPU301がこれらのエンジンに対してデータの読み書きを行うことによりプリント・スキャンなどのエンジン動作および各種ステータス取得を行う。なお、Laser Beam Printer Engine308, Finisher309,Scanner Engine310, Laser Beam Printer Engine311, Ink Jet Printer Engine312は、MFP201の内部ではなく、ネットワーク上にそれぞれ単体の周辺機器として存在し、それをMFP201のコントローラー101が制御しても良い。
【００５１】
（コントローラ101のソフトウエア構成）
図4は、コントローラ101内のDISK315のソフトウエア（制御プログラム）構成を示す図であり、これらのソフトウエア（制御プログラム）はCPU301が実行する。図の中で、実線がデータ及び制御を示し、点線が設定及び能力の取得を示す。401はユーザーインターフェースドライバであり、LCDディスプレイ303およびキーボード304の制御を行う。405はユーザインターフェースマネージャ（制御プログラム）であり、UIドライバ401から入力されたユーザからの入力情報を解釈して、図46で示すコマンドパケットを生成しインタープリター（制御プログラム）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はSupervisor（統括管理マネージャ）410が有するサブアドレス：サービスID対応表（図9）に従って、有効となっているサブアドレスから入力されたコマンドパケットのみを処理し、それ以外のサブアドレスから入力されたコマンドパケットは破棄する。
【００５５】
410は、図7（属性表）、図9（サブアドレス：サービスID対応表）、図11（サービスID：タスクタイプ対応表）、図13（ユーザー認証表）、図14（アクセス制御表）、図16（イベント設定表）、図17（イベントフォーマット表）で示す各種データをDISK315に保持し、コントローラ101の動作を統括管理するSupervisor（統括管理マネージャ）である。Supervisor410は、自分自身が保持する各種データ、各マネージャ（フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608）が保持する各種データ、および各コントローラ（プリンタコントローラ510−512、スキャナコントローラ420）が保持する各種データを、入力されたコマンドの指示に従って参照・変更する。
【００５６】
411はセキュリティゲートであり、インタープリター409で解釈されたコマンドパケットをSupervisor410（制御プログラム）が有するユーザ認証表（図13）およびアクセス制御表（図14）に従って、正しい使用権を持つユーザのみが、多機能周辺機器201を使用可能とするべくコマンドの入力を制限するものである。412はディスパッチャー（制御プログラム）であり、インタープリター409から入力されたコマンドを、これらを処理するための制御プログラムである各リソースマネージャ（フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416）と各ジョブマネージャー（プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608）に配布する。413はフォントマネージャであり、フォントの管理を行う。フォントマネージャ413は図26（属性表）、図28（FONT表）で示すようなデータをDISK315に保持している。フォントマネージャ413で管理されるフォント（DISK315或いはROM314に記憶されている）は、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【００５７】
414はフォームオーバーレイマネージャであり、フォームオーバーレイの管理を行う。フォームオーバーレイマネージャ414は図29（属性表）、図31（FORM表）で示すようなデータをDISK315に保持している。フォームオーバーレイマネージャ414で管理されるフォームオーバーレイ（DISK315或いはROM314に記憶されている）は、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。415はログマネージャであり、ログの管理を行う。ログマネージャ415は図32（属性表）、図34（LOG表）で示すようなデータをDISK315に保持している。ログは各マネージャから出力され、ログマネージャの管理下におかれる。実施のログファイルは、RAM302或いはDISK315に記憶され随時更新されている。
【００５８】
416カラープロファイルマネージャであり、カラースキャナやカラープリンタがカラーマッチングを行うためのカラープロファイルデータの管理を行う。カラープロファイルマネージャ416は図37（属性表）、図39（カラープロファイル表）で示すようなデータをDISK315に保持している。カラープロファイルマネージャ416で管理されるカラープロファイルは、各プリンタコントローラ（制御プログラム）510、511、512およびスキャナコントローラ（制御プログラム）420に渡され、プリントジョブ・コピージョブおよびスキャンジョブの処理の際に使用される。417はPDL（ページ記述言語）の一種であるPS（登録商標）でかかれたドキュメントデータを処理し、画像データを出力するPDLラスタライザである。418はPDL（ページ記述言語）の一種であるPCL（登録商標）でかかれたドキュメントデータを処理し、画像データを出力するPDLラスタライザである。419はスキャンジョブマネージャであり、スキャンジョブの管理を行う。スキャンジョブマネージャ419は図22（属性表）で示されるようなデータをDISK315に保持している。スキャンジョブマネージャ419はスキャナコントローラ420にスキャンの実行を指示する。420はスキャナエンジン310を制御するためのスキャナコントローラである。スキャナコントローラ420はスキャナエンジン310の機能・状態および性能を表す、図44（属性表）で示される様なデータをDISK315に保持している。スキャンジョブマネージャ419およびスキャナコントローラ420はそれぞれ機能・性能を示すデータ（図22と図44）を有しているが、これらのデータで示される機能は必ずしも同一である必要はない。スキャンジョブマネージャ419が保持するデータ（図22）をSupervisor410を通して書き換えることにより、機能を制限することが可能である。
【００５９】
上述したフォントマネージャー413、フォームオーバーレイマネージャー414、ログマネージャー415、カラープロファイルマネージャー416は、リソース管理プログラムであり、スキャンジョブマネージャー419、プリントジョブマネージャー501から509、コピージョブマネージャー601から608が論理デバイス（スキャナ、プリンタ）制御プログラムであり、レーザービームプリンタコントローラー510、511、インクジェットプリンタコントローラー512、スキャナコントローラー420が物理デバイス（プリンタ、スキャナ）制御プログラムである。
【００６０】
（プリントジョブマネージャの構成）
図5は、図4で示したソフトウエア（制御プログラム）構成図を補足する図である。ディスパッチャー412は図４で示すディスパッチャー412と同じものを表わし、プリントジョブマネージャ（制御プログラム）501から509へコマンドパケットの配布を行う。501から509までは、プリントジョブマネージャでありプリントジョブの管理を行う。各プリントジョブマネージャは図18（属性表）で示す様なデータをDISK315にそれぞれ有している。各プリントジョブマネージャは、プリントジョブを処理するために使用するプリンタコントローラ（LBP Controller510或いはLBP Controller511或いはInk Jet Controller512或いはController510、511、512の任意な組み合わせ）およびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラ（制御プログラム）を使用するかは図18の属性ID2001で示されるデータに記述されている。ただしプリントジョブマネージャ508だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがプリントジョブマネージャ508の有するデータ（属性表）に記述されている。各プリントマネージャは入力されたプリントジョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図20（ジョブ表）、図21（ジョブ依頼表）に示すようなデータをDISK 315に保持している。510から512までは、各プリントエンジン308、311および312を制御するプリンタコントローラである。プリンタコントローラ510はフィニッシャー309も制御する。各プリンタコントローラは対応するプリンタエンジンの機能・状態および性能を表す、図40（属性表）で示す様なデータをDISK315に有している。各コントローラは入力されたプリントジョブの状態を表わす図42（ジョブキュー表）に示すようなデータをDISK315に保持している。
【００６１】
プリントジョブマネージャ501から509およびプリンタコントローラ510から512はそれぞれ機能・性能を示す図18（属性表）や図40（属性表）のようなデータをDISK315に有している。一般的にプリントジョブマネージャは使用する各コントローラが有する性能の総和にあたる性能を有し、各コントローラが有する機能の共通項にあたる機能を有している。しかし、これらの一部の機能はプリントジョブマネージャが保持するデータ（図18）をSupervisor410を通して書き換えることにより、変更することが可能である。たとえば、プリントジョブマネージャ503とプリントジョブマネージャ509は、同じプリンタコントローラ512を使用しているために、同じ性能・機能を提供することができるが、プリントジョブマネージャの保持するデータの後述する設定処理により、プリントジョブマネージャ503はカラー印刷可能でありプリントジョブマネージャ509はカラー印刷不可能とすることも出来る。
【００６２】
（コピージョブマネージャーの構成）
図６は、図4および図５で示したソフトウエア（制御プログラム）構成図を補足する図である。ディスパッチャー412は図４で示されているディスパッチャー412と同じものを表わし、コピージョブマネージャ（制御プログラム）601から608へコマンドパケットの配布を行う。601から608までは、コピージョブマネージャでありコピージョブの管理を行う。各コピージョブマネージャは図24（属性表）で示される様なデータをそれぞれDISK315に有している。各コピージョブマネージャは、コピージョブを処理するために使用するプリンタコントローラ、スキャナコントローラおよびそれに接続されたプリントエンジン、スキャナエンジンが決められており、どのプリンタコントローラとスキャナコントローラを使用するかは図24で示されるデータ（属性ID2001）に記述されている。ただしプリントジョブマネージャ608だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがコピージョブマネージャ608の有するデータ（属性ID2002）に記述されている。各コピーマネージャは入力されたコピージョブ、およびこれらがどのプリンタコントローラ、スキャナコントローラでどのようなジョブとして実行されているかを表わす、図20（ジョブ表）や図21（ジョブ依頼表）に示すようなデータをDISK315に保持している。510から512までは、各プリントエンジンを制御するプリンタコントローラであり、図５に示されているものと同一のものを表わしている。
【００６３】
（Supervisorの属性表）
図7は、Supervisor（制御プログラム）410がDISK315に保持し管理するデータ（属性表）を表わす。この表は多機能周辺機器201の機能概要や接続情報およびセキュリティ情報などを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードは属性ID701、型ID702および属性値703から構成されており、Supervisorの持つ属性を表わす。属性ID701は情報の種類を表わすものであり、これによって値703が示しているものがどのような意味を持つのかが示されている。属性ID701は機器内部でユニークであり、同じ属性IDを持つものは、同じ情報の種類を表わしている。型ID702は値703がどのようなデータ型を持っているのかを示すものであり、値703の解釈を行う際に使用されるものである。型IDは属性IDによって一意に決められるものであり機器内部でユニークに定義されている。この実施例においては属性表の中に属性ID701と型ID702の両方が入れられているが、属性IDと型IDとの対応表を属性表とは別のデータとして保持し、属性表の中には属性IDと値のみを入れる様に実施してもよい。値703は、属性ID701に従った属性値を示す。
【００６４】
図8は、図7の属性表の属性ID701と型ID702の詳細を示す図である。この中で、属性ID102の「サポートしているセキュリティレベルのリスト」はSupervisorに対する操作を発行するときに必要とされるセキュリティレベルについて、設定可能なセキュリティレベルのリストを保持している。セキュリティレベルについては図14のアクセス制御表の説明の中でなされる。属性ID103 の「現在のセキュリティレベル」は、現在Supervisorに設定されているセキュリティレベルを表わす。属性ID401の「現在のカウントデータ」はSupervisorの中でカウント対象となっている情報のリストを表わしており、この意味するところは属性ID402の「カウントデータフォーマット」で表わされている。例えば、カウントデータ45、78、34、13はカウントデータフォーマットで表わされた紙サイズのプリント枚数を示す。属性ID402の「カウントデータフォーマット」は、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されているため、属性IDを指定することによりカウントデータの意味を指定することが可能となっている。例えば、属性ID402の属性値565が用紙サイズA2のプリント枚数、属性値537が用紙サイズA3のプリント枚数、属性値545が用紙サイズA4のプリント枚数、属性値523が用紙サイズA5のプリント枚数を意味する。属性ID403のカウント制限データは、属性ID401の「現在のカウントデータ」が持つことが出来る最大値を表わしており、「現在のカウントデータ」の値のうち１つでもこの最大値を超えた場合、CPU301が図9で示されるサブアドレス：サービスID対応表の有効フラグを無効にすることにより全ての（マネージャによる）サービスを無効とする。属性ID404のカウント単価データは、属性ID402の「カウントデータフォーマット」に保持されている属性IDの1カウント毎の単価を通貨単位で表わすものである。属性ID405の現在の課金データは、属性ID401の「現在のカウントデータ」と属性ID404の「カウント単価データ」の対応する値を掛け合わせて総和を取った値を示すものである。属性ID406の課金制限データは、属性ID405の「現在の課金データ」の持つことが出来る最大値を表わしており、属性ID405の「現在の課金データ」が属性ID406の「課金制限データ」を超えた場合、CPU301が図9で示されるサブアドレス：サービスID対応表の有効フラグを無効フラグにすることにより全ての（マネージャによる）サービスを無効とする。属性ID501のサポートしているイベントリストは、Supervisorに対して通知することを設定可能なイベントを、イベントの種類毎に一意に定義されているイベントIDのリストによって表わしている。実際のイベント送信の設定は、図16で示されるイベント設定表にイベント通知の接続形式および宛先をイベントIDと共に設定することによって行う。図7の属性表の値について、「Table Data」と記述してあるものは、値が型IDで示されている表形式（52から104）を持つデータであることを示す。
【００６５】
（サブアドレス：サービスID対応表）
図9はサブアドレス：サービスID対応表を表すものである。この表は図7で示される属性表の属性ID1001（サブアドレス：SID対応表）の属性値としてDISK315に保持されている。サブアドレス：SID対応表はどのサブアドレスにコマンドパケットを投入すればどのサービス（例えばプリント、フォントのダウンロードなど）が得られるを示すものである。また、この表の有効フラグ等に従ってインタープリター409は各接続形態ごとにジョブサービスの提供をおこなうかどうかを制御する。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードは接続形式ID801、サブアドレス802、サービスＩＤ803、有効フラグ804、有効ユーザのリスト805および無効ユーザのリスト806から構成されている。接続形式ID801は接続形態を表す識別子を示している。図10は接続形式IDの意味を示す図であり、0はInternal（ユーザインターフェース）、1はTCP/IP（ネットワーク）、2はIEEE1284.4（IEEE1284）、3はSBPー2(IEEE1394)を表している。
【００６６】
サブアドレス802は各接続形態ごとのサブアドレスを表している。ユーザインターフェースはサブアドレスを有しないが、便宜上サブアドレスを割り当てており、このサブアドレス情報とともにユーザインターフェースからコマンドパケットを投入する。
【００６７】
サービスID803はサービスを表す識別子である。サービスID803は図4、図5および図6で示された各マネージャに一対一で割り当てられている。
【００６８】
有効フラグ804は、そのサブアドレスが有効かどうかを表している。この値が真（YHS）の場合にはサブアドレスが有効であり、ユーザーがコマンドパケットをサブアドレスに対して発行することが出来る。値が偽（NO）の場合にはサブアドレスは無効であり、コマンドパケットをサブアドレスに対して発行してもパケットは破棄されることを意味する。図8の場合は、接続形式ID2（IEEE1284）の接続形態を利用した場合サービスID8（プリントジョブマネージャー）のサービスを提供できない事を表している。
【００６９】
有効ユーザのリスト805は、サブアドレスが有効の場合に、そのサービスが受けられるユーザIDのリストを表している。無効ユーザのリスト806は、サブアドレスが有効の場合でも、そのサービスが受けられないユーザIDのリストを表している。有効ユーザのリスト805と無効ユーザのリスト806は、どちらかにしか値を設定することは出来ない。
【００７０】
（サービスID：タスクタイプ対応表）
図11はサービスID：タスクタイプ対応表を表すものである。この表は図7で示される属性表の属性ID1002（SID : Task Type表）の属性値としてDISK315に保持されている。サービスID：タスクタイプ表はサービスIDがどのような種類のサービスを提供するのかを表すものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはサービスID901およびタスクタイプ902から構成されている。タスクタイプ902はどのような種類のサービスであるかを示している。図12はタスクタイプ902の値の意味を示す図である。0はSupervisorが行うサービス、1はプリント、２はスキャン、3はコピー、101はフォント、102はフォームオーバーレイ、103はログ、104はカラープロファイルを表している。サービスIDはサービスを提供するマネージャと一対一で対応している。このため、サービスIDは各マネージャが有する機能表のアクセスにも使用される。機能表は各プリンタコントローラおよびスキャナコントローラも有しているために、これらにアクセスするためにプリンタコントローラおよびスキャナコントローラにもサービスIDに相当するコントローラIDを割り当てており、コントローラIDがどのような種類のコントローラであるかをサービスID：タスクタイプ対応表で管理している。タスクタイプ201はプリンタコントローラ、202はスキャナコントローラを表している。コントローラIDは図４および図５で示された各コントローラと一対一で対応している。
【００７１】
サービスIDの意味は以下の通りである。
0 : Supervisor410
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
21 : プリンターコントローラ510
22 : プリンターコントローラ511
23 : プリンターコントローラ512
24 : スキャナーコントローラ420
【００７２】
（ユーザー認証表）
図13はSupervisorが保持するユーザー認証表を表すものであり、機器を使用出来るユーザーの認証情報を表わす。この表は図7で示される属性表の属性ID1003（ユーザー認証表）の属性値としてDISK315に保持されている。ユーザー認証表は有効なユーザIDとパスワードの組を、そのユーザが管理者特権を有するかどうかの情報と共に表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはユーザID1001、パスワード1002および管理者特権フラグ1003から構成されている。管理者特権フラグ1003は、ユーザが管理者としての権利を有するかどうかを表している。
【００７３】
（アクセス制御表）
図14はSupervisorが保持するアクセス制御表を表すものであり、サービス毎のセキュリティレベルを表わす。この表は図7で示される属性表の属性ID1004（アクセス制御表）の属性値としてDISK315に保持されている。アクセス制御表は、サービスIDごとに必要なセキュリティレベル、およびサービス提供を許されているユーザのリストを保持している。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはサービスID1101、セキュリティレベル1102およびユーザIDのリスト1103から構成されている。セキュリティレベル1102はサービスID1101で指定されたサービスを受ける時、つまりサービスID1101で示されるマネージャにコマンドパケットを発行する際に必要な認証情報を表わしている。図15はセキュリティレベルの意味を示す図である。セキュリティレベル0はユーザ認証を必要としないということ、1は管理者のみ区別をするということ、2は認証されたユーザのみ使用可能であるが、認証にユーザーIDを使用しパスワードは使用しないということ、3は認証されたユーザのみ使用可能であり、認証にユーザーIDとパスワードを使用することを表す。ユーザIDのリスト1103は、セキュリティレベル1102が2と3の場合に、使用（アクセス）を許可されたユーザIDのリストを表す。
【００７４】
（イベント設定表）
図16はSupervisorが保持するイベント設定表を表わすものである。この表は図7で示される属性表の属性ID502（イベント設定表）の属性値としてDISK315に保持されている。イベント設定表は指定されたイベントが機器内で起きた時にイベント通知を送信する方法と宛先を、イベントの種類毎に保持している。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはイベントID1201、接続形式1202および通知先アドレス1203から構成されている。宛先は、接続形式と接続形式に依存した通知先アドレスとから構成される。イベントID1201は、イベントの種類を表わすものであり、機器内でユニークに定義されている。例えば、Event ID200は紙なし、ID399はトナーなし、ID432はインクなし、ID234は多機能周辺機器のカバーオープンをす。接続形式ID1202は、イベント通知を送信する接続形式を表わしており、この値は図9のサブアドレス：サービスID対応表で使用されているものと同一のものが使用される。通知先アドレス1203は、接続形式1202に適合したイベントの通知先宛先を表わすものである。
【００７５】
（イベントフォーマット表）
図17はSupervisorが保持するイベントフォーマット表を表わすものでありイベントの内容を示す。この表は図7で示される属性表の属性ID503（イベントフォーマット表）の属性値としてDISK315に保持されている。イベントフォーマット表は機器内でユニークに定義されている各イベントIDについて、イベント通知として送信される付加データの形式を保持している。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはイベントID1301およびイベントフォーマット1302から構成されている。イベントフォーマット1302はイベント通知として送信される付加データの形式であり、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されており、その型も属性IDによって一意に決定されているため、属性IDを指定することにより、付加データのフォーマットを表わすことができる。例えば、イベントフォーマット1302の属性ID676は紙サイズ、ID756は紙の種類、ID666はトナーの種類、ID698はインクの種類、ID600はカバーの位置を示す。以下に示す様に、イベントの送信方法・宛先は各マネージャおよびコントローラが保持するデータ（属性表）に設定されており、これらの各マネージャおよびコントローラ内で起きたイベントを通知することが可能となっているが、これらのイベントの付加データのフォーマットも図13で示されるイベントフォーマット表において保持されている。指定されたイベントが起きた時、イベントフォーマットで定義されている内容が、イベントID毎に予め決められたデータと共に通知される。
【００７６】
（プリントジョブマネージャーの属性表）
図18は各プリントジョブマネージャ（制御プログラム）501から509がDISK315に保持するデータ（属性表）を表わす。この表は、プリントジョブマネージャが扱うことが可能なプリントジョブの性能・機能を表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID1401、型ID1402および値1403から構成されている。図19は図18の属性表の属性ID1401と型ID1402の値を示す図である。図19の属性表の型ID203（ジョブ表形式）、型ID204（ジョブ依頼表形式）、型ID81（禁止属性組み合わせリスト1形式）、型ID82（禁止属性組み合わせリスト2形式）、型ID83（禁止属性組み合わせリスト3形式）、型ID84（禁止属性組み合わせリスト4形式）、型ID85（禁止属性組み合わせリスト5形式）以外の他の型IDについては図7のSupervisorの属性表で使用されているものと同一である。
【００７７】
属性ID601の「サポートしているデータのダウンロード方法」は、プリントするドキュメントデータの機器への送信方法を表わすものであり、本実施形態では1：ジョブの中にドキュメントデータを含める方法、および2：ジョブの中はドキュメントデータの参照ポインタ（URL: Unified Resource Locator）を含めておき、機器から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【００７８】
属性ID801、802、803、804、805はプリントジョブマネージャに対して投入されるプリントジョブの中に設定する属性に関する制限を表す禁止設定属性である。これらは、例えばコピー部数が100を超える場合は、フィニッシャの設定が不能になるなどといった制限事項を表すために使用される。禁止設定属性には、その制限の表現方法として５つの型がある。属性ID801は、｛属性ID1：｛属性ID2｝｝で示す様に、ある属性ID1に対して別の属性ID2のリストの対を複数保持している。これは属性ID1の設定がなされている場合は各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。
【００７９】
属性ID802は、｛属性ID1：演算子識別子：値：｛属性ID2｝｝で示す様に、ある属性ID1、演算子識別子および値に対して、別の属性ID2のリストの対を複数保持している。これは属性ID1に対して演算子識別子で示される演算子を値に対して適用した結果が真の場合は、各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。演算子識別子は整数値が2項演算に対して一対一で対応している。例えば、0は「＝（等しい）」を表す。
【００８０】
属性ID803は、｛属性ID1：演算子識別子1：値1：｛属性ID2：演算子識別子2：値2｝｝で示す様に、ある属性ID1、演算子識別子1および値1に対して，別の属性ID2，演算識別子2および値2の組のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果が真の場合は、各属性ID2に対して演算子識別子2示される演算子を値2に対して適用した結果が真になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【００８１】
属性ID804は、｛(属性ID1：演算子識別子1：値1)：演算識別子3：（属性ID2：演算子識別子2：値2）：｛属性ID3｝｝で示す様に、ある属性ID1、演算子識別子1および値1と演算識別子3と別の属性ID2、演算識別子2および値2とに対して，さらに別の属性ID3のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果と属性ID2に対して演算子識別子2で示される演算子を値2に対して適用した結果とを演算子識別子3で示される演算をした結果が真の場合は、各属性ID3に対する設定はプリントジョブスクリプトの中で行えないことを表す。
【００８２】
属性ID805は、｛(属性ID1：演算子識別子1：値1)：演算識別子3：（属性ID2：演算子識別子2：値2）：｛属性ID4：演算識別子4：値4｝｝で示すに、ある属性ID1、演算子識別子1および値1と演算識別子3と別の属性ID2、演算識別子2および値2とに対して，さらに別の属性ID4、演算識別子4および値4の組のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果と属性ID2に対して演算子識別子2で示される演算子を値2に対して適用した結果とを演算子識別子3で示される演算をした結果が真の場合は、各属性ID4に対して演算し4で示される演算を値4に対して適用した結果が新になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【００８３】
属性ID2001の「Jobを実行する（可能性のある）コントローラ IDリスト」は、プリントジョブを実行するコントローラのコントローラIDのリストであり、プリントジョブマネージャ508以外のプリントジョブマネージャは必ずジョブを実行するコントローラのリストとなっている。プリントジョブマネージャ508はコントローラをジョブの要求している機能によって動的にコントローラを選択するため、この属性はコントローラを選択する範囲を表わすものとなっている。属性ID2002の「コントローラ自動選択かどうか」は、プリントジョブマネージャがコントローラを自動選択するかどうかが表わされている。本実施形態では、プリントジョブマネージャ508のみがこの値を真としている。他の属性IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリントジョブマネージャの管理下にあるものに限定されている。例えば、属性値101の「サポートしているオペレーション」は、このプリントジョブマネージャに対して発行できるオペレーションのリストであり、属性値406の「課金制限データ」はこのプリントジョブマネージャで実行したプリントジョブに関して課金の制限を加えるものである。課金の制限を超えた場合の取り扱いも、このプリントジョブマネージャのサービスを無効とするのみで、他のマネージャのサービスには影響を与えない。なお、図18に示すプリントジョブマネージャーの属性表はサービスIDが4の属性表（プリントジョブマネージャー504）であり、サービスID1、2、3、5、6、7、8、9のそれぞれに対応したプリントジョブマネージャー501、502、503、505、506、507、508、509の属性表がDISK315に記憶されておりそれぞれ異なる。
【００８４】
（ジョブ表）
図20はプリントジョブマネージャが保持するデータ（ジョブ表）を示す図であり、プリントマネージャーが管理するジョブの実体を保持するファイル名とジョブIDとの対応表を示す。表は図18で示される属性表の属性ID（ジョブ表）の属性値としてRAM302に保持されている。プリントジョブマネージャーがRAM302上のジョブ表を動的に変更し必要に応じてDISK315に保存する。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID1501およびジョブの実体が保持されているファイル名1502から構成されている。ジョブID1501はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子である。ジョブのファイル名1502は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は図52に示す様に、属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【００８５】
（ジョブ依頼表）
図21はプリントジョブマネージャが保持するジョブ依頼表を表わす図であり、プリントマネージャーが管理するジョブとコントローラーによって実行されるジョブとの関係を示す。この表は図18で示される属性表の属性ID2004（ジョブ依頼表）の属性値としてDISK315に保持されている。ジョブ依頼表は、プリントジョブマネージャが管理するジョブがどのコントローラでどのジョブとして実行されているかを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID1503、コントローラID1504およびコントローラの中で割り当てられているジョブID1505から構成されている。ジョブID1503はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子であり、ジョブ表（図20）にあるジョブID1501と対応している。コントローラID1504はジョブが実行されているコントローラのIDを表わす。ジョブID1505は、ジョブを実行するコントローラが割り当てたジョブの識別子である。
【００８６】
（スキャンジョブマネージャーの属性表）
図22はスキャンジョブマネージャ419が保持するデータである属性表を表わす。この表は、スキャンジョブマネージャが扱うことが可能なスキャンジョブの性能・機能を表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID1601、型ID1602および値1603から構成されている。図23は図22の属性表の属性ID 1601と型ID1602の値を示す図である。属性ID=602 の「サポートしているデータのアップロード方法」は、スキャンしたドキュメントデータの機器への送信方法を表わすものであり、当実施例では1：ジョブの返信中にドキュメントデータを含める方法、および2：ドキュメントデータを機器内に保持しておきジョブの返信中にはドキュ・BR> ントデータへの参照ポインタ（URL: Unified Resource Locator）を含めておき、ホスト（Client）から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。属性ID=1201の「出力可能な画像フォーマットのリスト」は、出力可能な画像のデータフォーマットを表わしており、スキャンジョブを発行する際にこの中にあるものの1つをデータフォーマットとして指定することが出来る。属性ID＝2003のジョブ表に関しては、図20で示されたプリントジョブマネージャが保持するものと同一である。他の属性IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているスキャンジョブマネージャの管理下にあるものに限定されている。図23の属性表の型ID203（ジョブ表形式）以外の他の型IDについては図7のSupervisorの属性表で使用されているものと同一である。
【００８７】
（コピージョブマネージャーの属性表）
図24は各コピージョブマネージャ601から608が保持するデータ（属性表）を表わす。この表は、コピージョブマネージャが扱うことが可能なコピージョブの性能・機能を表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID1701、型ID1702および値1703から構成されている。図25は図24の属性表の属性ID1701と型ID1702の値を示す。属性ID1302（カラー印刷可能か）、属性ID1303（サポートしているフィニッシングの種類）、属性ID1304（設定可能最高解像度）、属性ID1305（設定可能最低解像度）、属性ID2001（Jobを実行する可能性のあるコントローラ IDリスト）、属性ID2002（コントローラ自動選択かどうか）、属性ID2003（ジョブ表）は、プリントジョブマネージャー及びスキャンジョブマネージャーの説明の中で示されたものと同一である。また、属性ID1302（カラー印刷可能か）、属性ID1303（サポートしているフィニッシングの種類）、属性ID1304（設定可能最高解像度）、属性ID1305（設定可能最低解像度）、属性ID2001（Jobを実行する可能性のあるコントローラ IDリスト）、属性ID2002（コントローラ自動選択かどうか）、属性ID2003（ジョブ表）、型ID203（ジョブ表形式）以外の属性IDと型IDについては図7のSupervisorの属性表で使用されているものと同一である。なお、図24に示すコピージョブマネージャーの属性表はサービスID が18の属性表（コピージョブマネージャー608）であり、サービスID11、12、13、14、15、16、17のそれぞれに対応したコピージョブマネージャー601、602、603、604、605、606、607の属性
表がそれぞれDISK315に記憶されておりそれぞれ異なる。
【００８８】
（フォントマネージャーの属性表）
図26はフォントマネージャ413がDISK315に保持するデータ（属性表）を表わす。この表は、フォントマネージャが扱うことが可能なフォントのタイプや、現在フォントマネージャが管理しているフォントのリストなどを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID1801、型ID1802および値1803から構成されている。図27は図26の属性表の属性ID1801と型ID1802の値を示す。属性ID601（サポートしているデータのダウンロード方法）、属性ID602（サポートしているデータのアップロード方法）、属性ID1501（サポートしているフォントタイプのリスト）、属性ID1502（最大保持可能フォント数）、属性ID1503（現在保持しているフォント数）、属性ID1504（保持しているフォントのリスト）、型ID150（フォント表）以外の属性IDと型IDは図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているフォントマネージャの管理下にあるものに限定されている。属性ID601の「サポートしているデータのダウンロード方法」、および属性ID602の「サポートしているデータのアップロード方法」はそれぞれプリントジョブマネージャの説明中およびスキャンジョブマネージャの説明中で説明されているものと同一であり、サポートしているフォントデータのダウンロード方法およびアップロード方法を示すものである。
【００８９】
（フォント表）
図28はフォントマネージャが保持するフォント表を表わすものである。この表は図26で示される属性表の型ID1504（フォント表）の属性値としてDISK315に保持されている。フォント表は、フォントマネージャがどの様なフォントを現在管理しているかを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはフォントID1901、フォントタイプ1902、フォント名1903およびフォントデータを含むファイル名1904から構成されている。フォントデータはDISK315に記憶されており、フォントID1901はフォントデータがRAM302にダウンロードされたときに、フォントマネージャが割り当てたフォントに対する識別子である。
【００９０】
（フォームオーバーレイマネージャーの属性表）
図29はフォームオーバーレイマネージャ414がDISK315に保持するデータ（属性表）を表わす。この表は、フォームオーバーレイマネージャが扱うことが可能なフォームオーバーレイのフォーマットや、現在フォームオーバーレイマネージャが管理しているフォームオーバーレイのリストなどを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID2001、型ID2002および値2003から構成されている。図30は図29の属性表の属性IDと型IDの値を示す。属性ID601（サポートしているデータのダウンロード方法）、属性ID602（サポートしているデータのアップロード方法）、属性ID1601（サポートしているフォームオーバーレイのフォーマットのリスト）、属性ID1602（最大保持可能フォームオーバーレイ数）、属性ID1603（現在保持しているフォームオーバーレイ数）、属性ID1604（保持しているフォームオーバーレイのリスト）、型ID160（フォーム表）以外の属性IDと型IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているフォームオーバーレイマネージャの管理下にあるものに限定されている。属性ID601の「サポートしているデータのダウンロード方法」、および属性ID602の「サポートしているデータのアップロード方法」はそれぞれプリントジョブマネージャの説明中およびスキャンジョブマネージャの説明中で説明されているものと同一であり、サポートしているフォームオーバーレイデータのダウンロード方法およびアップロード方法を示すものである。
【００９１】
（フォームオーバーレイ表）
図31はフォームオーバーレイマネージャ414が保持するフォームオーバーレイ表を表わすものである。この表は図29で示される属性表の属性ID1604（フォームオーバーレイ表）の属性値としてDISK315に保持されている。フォームオーバーレイ表は、フォームオーバーレイマネージャがどの様なフォームオーバーレイを現在管理しているかを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはフォームオーバーレイID2101、フォームオーバーレイのデータフォーマット2102、フォームオーバーレイ名2103およびフォームオーバーレイデータを含むファイル名2104から構成されている。フォームオーバーレイデータはDISK315に記憶されており、フォームオーバーレイID2101はフォームオーバーレイデータがRAM302にダウンロードされたときに、フォームオーバーレイマネージャが割り当てたフォントに対する識別子である。
【００９２】
（ログマネージャーの属性表）
図32はログマネージャ415がDISK315に保持するデータ（属性表）を表わす。この表は、現在ログマネージャが管理しているログのリストなどを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID2201、型ID2202および値2203から構成されている。図33は図32の属性表の属性IDと型IDの値を示す。属性ID602（サポートしているデータのアップロード方法）、属性ID1703（保持されているLog数）、属性ID1704（ログ表）、属性ID1705（Logのフォーマット表）、型ID170（ログ表）、型ID171（ログフォーマット表形式）以外の属性IDと型IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているログマネージャの管理下にあるものに限定されている。
【００９３】
（ログ表）
図34はログマネージャ415が保持するログ表を表わすものである。この表は図32で示される属性表の属性ID1704（ログ表）の属性値としてDISK315に保持されている。ログ表は、ログマネージャがどの様なログを現在管理しているかを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはログID2301、およびログデータを含むファイル名2302から構成されている。ログID2301はあらかじめ種類に対して規定されているログの識別子である。
【００９４】
（ログデータの内容）
図35はログマネージャがDISK315で管理するログデータの内容を表わすものである。ログデータはログレコードの集合として構成される。各ログレコードはログフォーマットID2401、記録日時2402およびログデータ2403とから構成されている。ログフォーマットID2401は、図36で示されるログフォーマット表に記録されているログのフォーマット情報を参照しており、ログデータ2403のフォーマットを表わしている。例えば、LogFormatID1のログデータ「12345、4、1．23、“OK”」は、サービスID1のプリントジョブマネージャーにジョブを発行したユーザーIDが12345で、出力した紙数が4で、使用したトナー量が1．23、ジョブの終了状態がOKを示す。
【００９５】
（ログフォーマット表）
図36はログマネージャ415が保持するログフォーマット表を表わすものである。この表は図32で示される属性表の属性ID（ログフォーマット表）の属性値としてDISK315に保持されている。ログフォーマット表は、ログマネージャ415が管理する各ログデータ内で記録されているログのフォーマットを表わしている。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはログフォーマットID2501、およびログフォーマット2502とから構成されている。ログフォーマットはサービスID：属性ID対のリストとして表わされる。属性IDは機器内でユニークに定義されており、その型も属性IDによって一意に決定されているため、属性IDを指定することにより、ログデータのフォーマットを表わすことができる。ログフォーマット2502のサービスID：属性ID対のリストと、ログデータ2403の中の値のリストは、順番によって対応している。例えば、ログフォーマット2502リストの3番目のサービスID：属性ID対はログデータの3番目の値のフォーマットを意味する。例えば、LogFormatID1のフォーマット「1：701、1：565、1：765、1：777」は、サービスID1のプリントジョブマネージャーにジョブを発行したユーザーID、出力した紙数、使用したトナー量、ジョブの終了状態を示す。また、LogFormatID2のフォーマット「11：701、11：565、11：765、11：777」は、サービスID11のプリントジョブマネージャーにジョブを発行したユーザーID、出力した紙数、使用したトナー量、ジョブの終了状態を示す。
【００９６】
（カラープロファイルマネージャーの属性表）
図37はカラープロファイルマネージャ416がDISK315に保持するデータ（属性表）を表わす。この表は、カラープロファイルマネージャが扱うことが可能なカラープロファイルのフォーマットや、現在カラープロファイルマネージャが管理しているカラープロファイルのリストなどを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID2601、型ID2602および値2603から構成されている。図38は図37の属性表の属性IDと型IDの値を示す。属性ID601（サポートしているデータのダウンロード方法）、属性ID602（サポートしているデータのアップロード方法）、属性ID1801（サポートしているカラープロファイルデータのフォーマットのリスト）、属性ID1802（最大保持可能カラープロファイル数）、属性ID1803（現在保持しているカラープロファイル数）、属性ID1804（カラープロファイル表）、型ID180（カラープロファイル表形式）以外の他の属性IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているカラープロファイルマネージャの管理下にあるものに限定されている。属性ID601の「サポートしているデータのダウンロード方法」、および属性ID602の「サポートしているデータのアップロード方法」はそれぞれプリントジョブマネージャの説明中およびスキャンジョブマネージャの説明中で説明されているものと同一であり、サポートしているフォントデータのダウンロード方法およびアップロード方法を示すものである。
【００９７】
（カラープロファイル表）
図39はカラープロファイルマネージャが保持するカラープロファイルを表わすものである。この表は図37で示される属性表の属性ID1804（カラープロファイル表）の属性値としてDISK315に保持されている。カラープロファイル表は、カラープロファイルマネージャがどの様なカラープロファイルを現在管理しているかを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはカラープロファイルID2701、カラープロファイルフォーマット2702およびカラープロファイルデータを含むファイル名2703から構成されている。カラープロファイルID2701はカラープロファイルデータがダウンロードされたときに、カラープロファイルマネージャが割り当てたカラープロファイルに対する識別子である。カラープロファイルデータとは、Scanner Engine102から送られるデータや Ink Jet Printer Engine105へ送られるデータを補正してカラーマッチングを行うための補正データである。
【００９８】
（プリンタコントローラの属性表）
図40は各プリンタコントローラ510、511、512がDISK315に保持するデータ（属性表）を表わす。この表は、プリンタコントローラが制御しているプリントエンジンおよびフィニッシャーの性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID2801、型ID2802および値2803から構成されている。図41は図40の属性表の属性IDと型IDの値を示す。属性ID12（コントローラタイプ）、属性ID13（コントローラID）、属性ID5001（カラー印刷可能かどうか）、属性ID5002（サポートしているフィニッシングの種類）、属性ID5003（設定可能最高解像度）、属性ID5004（設定可能最低解像度）、属性ID5005（ジョブキュー表）、型ID500（ジョブキュー表形式）以外の属性IDと型IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。なお、図40に示すプリンタコントローラの属性表はサービスIDが21の属性表（プリンタコントローラ510）であり、サービスID22、23のそれぞれに対応したプリンタコントローラ511、512の属性表がDISK315に記憶されておりそれぞれ異なる。
【００９９】
（ジョブキュー表）
図42はプリンタコントローラが保持するジョブキュー表を表わすものである。この表は図40で示される属性表の属性ID5005（ジョブキュー表）の属性値としてDISK315に保持されている。ジョブキュー表は、プリンタコントローラが管理・実行するジョブがどの様な状態にあるのかを表わすものである。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID2901、ジョブステータス2902およびジョブの実体が保持されているファイル名2903から構成されている。ジョブID2901はプリンタコントローラにジョブが投入されたときに、プリンタコントローラが割り当てたジョブに対する識別子である。図43は図42のジョブステータス2902（ジョブの状態）を表わす図である。1はジョブの終了処理中、2はジョブがエンジンで実行中、3は実行待ち状態であることを示す。ジョブのファイル名2903は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は図52に示す様に、属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【０１００】
（スキャンコントローラーの属性表）
図44はスキャナコントローラ420がDISK 315に保持するデータ（属性表）を表わす。この表は、スキャナコントローラが制御しているスキャナエンジン性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。表は各行が1つの情報単位（レコード）を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるSupervisorのものと同一であり、属性ID3001、型ID3002および値3003から構成されている。図45は図44の属性表の属性IDと型IDの値を示す。属性ID12（コントローラタイプ）、属性ID13（コントローラID）、属性ID6001（カラースキャン可能かどうか）、属性ID6002（最大原稿サイズ）、属性ID6003（設定可能最高解像度）、属性ID6004（設定可能最低解像度）以外の他の属性IDについては図7のSupervisorの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【０１０１】
（コマンドパケットの構造）
図46は、ユーザインターフェースマネージャ405、TCP／IP・UDP／IP処理モジュール406、IEEE1284.4処理モジュール407およびSBPー2処理モジュール408からインタープリンター409に対して出力されるコマンドパケットの構造を表わすものである。またこのコマンドパケットはインタープリタ409からユーザインターフェースマネージャ405、TCP／IP・UDP／IP処理モジュール406、IEEE1284.4処理モジュール407およびSBPー2処理モジュール408に出力される返信パケットおよびイベントパケットの構造も表わしている。パケットは、パケットの先頭を表わすパケットヘッダ3101、パケットの構造バージョンを表わすパケットバージョン3102、パケットの性格を表わすフラグ3103、どんな種類の操作を行うのかを表わすオペレーションコード3104、Client（PC）が返信パケットを認識するために使用するブロック番号3105、パラメータ3110の長さ表わすパラメータ長3106、ユーザの認証に使用されるユーザID3107とパスワード3108、返信パケットにのみ使用され返信の一般的な状態を表わすステータスコード3109およびオペレーションコード3105毎に決められたフォーマットを持つパラメータ3110から構成されている。パラメータ3110には、アクセス対象サービスID、アクセス対象属性ID等を含む。フラグ3104には、パケットがコマンドパケット・イベントパケットであるかまたは返信パケットであるかを表わすもの3111、およびパラメータ3110に送信すべきデータが入りきらず、次に送信されるパケットにも続きのデータが入っていることを示す連続フラグ3112とがある。パラメータ3110の長さは、パラメータ長3106が表わされる数（64kバイト）に制限されている。具体的には、Ethernet（登録商標）208に接続されているClientPC202、203はIPアドレス、ポート番号を指定して多機能周辺機器201に接続しIPパケットデータをNetwork Interface305(107)へ出力する。IEEE1394インタフェース206に接続されているClientPC204はノードIDとLUN（ロジカルユニットナンバー）を指定して多機能周辺機器201と接続しSBPー2パケットデータをIEEE1394 Interface306(108)へ出力する。IEEE1284インタフェース207に接続されているClientPC205はソケット番号を指定して多機能周辺機器201と接続しIEEE1284．4パケットデータをIEEE1284 Interface307(109)へ出力する。Network Interface Driver402, IEEE 1284 Interface Driver403, IEEE1394 Interface Driver404で図46に示すコマンドパケットの先頭にそれぞれIP Header, 1284 Header, 1394 Headerが付加されたトランスポートパケットをTCP/IP・UDP/IP処理モジュール406, IEEE1284.4処理モジュール407、SBPー2処理モジュール408に出力する。TCP/IP・UDP/IP処理モジュール406,IEEE1284.4処理モジュール407、SBPー2処理モジュール408は入力した各トランスポートパケットの処理を行い図46に示すコマンドパケットを抽出しInterpreter／Generater409に出力する。
【０１０２】
（コマンドパケットの処理）
図47は多機能周辺機器201におけるコマンドパケットの処理フローを表わすものである。ステップ3201において、各インターフェース401、402、403、404から入力されたデータを各トランスポート処理モジュール405、406、407、408が処理し図46に示すコマンドパケットを抽出する。抽出されたコマンドパケットは、データが入力された接続形式の情報（接続形式ID）およびサブアドレスと共にTCP/IP・UDP/IP処理モジュール406, IEEE1284.4処理モジュール407、SBPー2処理モジュール408からインタープリタ409に入力される。ステップ3202において、インタープリタ409はSupervisor410が保持するサブアドレス：サービスID対応表（図9）を参照し、入力された接続形式IDとサブアドレスとを比較することにより、サービスIDを得ると共にデータ入力が有効かどうかをチェックする。チェックの結果、データ入力が有効でない場合は、ステップ3204においてコマンドパケットを破棄して終了する。データ入力が有効の場合は、ステップ3203においてコマンドパケットの解析を図46のパケット構造に基づいて行う。パケットの解析の結果、図46で示される各項目は、それぞれ独立した別々の情報として出力される。ステップ3205において、サービスIDを基にアクセス制御表（図14）を参照することによりサービスIDに対応するセキュリティレベルを取得する。
【０１０３】
ステップ3206において、ステップ3205において取得したセキュリティレベルが0または1であるかを調べる。セキュリティレベルが0または1の場合は、セキュリティレベルのチェック（セキュリティゲート411）を行わずにディスパッチャ412に入力する。ステップ3206においてセキュリティレベルが0または1以外の時は、ステップ3207においてセキュリティレベルが2であるかどうかを調べる。セキュリティレベルが2の場合はステップ3209においてコマンドパケットに含まれていたユーザIDがユーザ認証表（図13）内に存在するかどうかをチェックする。ユーザIDが含まれていない場合、権限がないものとしてステップ3210においてエラー返信情報を生成し、インタープリンター409によってパケット（ステータスコード3109にエラー情報を埋め込む）を生成しコマンドパケット送信元に送信する。ユーザIDが含まれている場合、ディスパッチャ412に入力する。送信元アドレスはトランスポートパケット（Header）から抽出される。ステップ3207において、セキュリティレベルが2以外の場合は、ステップ3208においてコマンドパケットに含まれていたユーザID：パスワードの対がユーザ認証表（図13）内に存在するかどうかをチェックする。ユーザID：パスワードの対が含まれていない場合、権限がないものとして3211においてエラー返信情報を生成し、インタープリンター409によってパケットを生成しコマンドパケット送信元に送信する。ユーザIDが含まれている場合、ディスパッチャ412に入力する。ステップ3212においてディスパッチャ412は、サービスIDを元に配布先のマネージャを決定し、決定されたマネージャーに対してデータが入力された接続形式IDとサブアドレス、送信元のアドレス、オペレーションコード、ブロック番号、フラグ情報、ユーザＩＤ、パスワード、パラメータ長およびパラメータを配布する。そして、ステップ3213において各マネージャは、これらの情報を処理する。
【０１０４】
（属性表のアクセス処理）
図48は、多機能周辺機器201が保持する各マネージャ・各コントローラの属性表に対する読み出し・書き込みを、Clientが指示した場合の処理を表す。各マネージャ・各コントローラが保持する属性表からの読み込みおよび書き込みは、Supervisorの有するサブアドレスに対して適当なコマンドパケットを送信することにより行う。属性表読み出し用コマンドパケットにはパラメータとして、アクセス対象サービスIDおよびアクセス対象属性IDが含まれている。また、属性表書き込み用コマンドパケットにはパラメータとして、アクセス対象サービスID、アクセス対象属性IDおよび属性IDに対応した属性値が含まれている。Clientから多機能周辺機器201に送られたパケットデータは、図47に示すフローによって処理され、Supervisorに配布される。ステップ3301においてオペレーションコード3104が、属性値読み出し用コード（“Get”）であるかどうかチェックする。オペレーションコードが“Get”である場合は、ステップ3301においてサービスIDを元にアクセス対象の属性表全体を取得する。サービスIDが0の場合は図7に示すSupervisor410の属性表、サービスIDが1、2、3、4、5、6、7、8、9の場合は図18に示すようなプリントジョブマネージャーの属性表、サービスIDが10の場合は図22示すようなスキャンジョブマネージャー419の属性表、サービスIDが11、12、13、14、15、16、17、18の場合は図24に示すようなコピージョブマネージャーの属性表、サービスIDが101の場合は図26に示すようなフォントマネージャー413の属性表、サービスIDが102の場合は図29に示すようなフォームオーバーレイマネージャー414の属性表、サービスIDが103の場合は図32に示すようなログマネージャー415の属性表、サービスIDが104の場合は図37に示すようなカラープロファイルマネージャー416の属性表、サービスIDが21、22、23の場合は図40に示すようなプリンタコントローラの属性表、サービスIDが24の場合は図44に示すようなスキャナコントローラ420の属性表を取得する。なお、図18に示すプリントジョブマネージャーの属性表はサービスIDが4の属性表（プリントジョブマネージャー504）であり、サービスID1、2、3、5、6、7、8、9のそれぞれに対応したプリントジョブマネージャー501、502、503、505、506、507、508、509の属性表がDISK315に記憶されている。同様に、図24に示すコピージョブマネージャーの属性表はサービスID が18の属性表（コピージョブマネージャー608）であり、サービスID11、12、13、14、15、16、17のそれぞれに対応したコピージョブマネージャー601、602、603、604、605、606、607の属性表がそれぞれDISK315に記憶されている。また、同様に、図40に示すプリンタコントローラの属性表はサービスIDが21の属性表（プリンタコントローラ510）であり、サービスID22、23のそれぞれに対応したプリンタコントローラ511、512の属性表がDISK315に記憶されている。
【０１０５】
その後、ステップ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を行い終了する。
【０１０６】
（サービスID一覧問い合わせ処理）
図49は、多機能周辺機器201が提供するサービスの一覧（サービスIDの一覧）をClientが問い合わせた場合の処理を表す。サービスの一覧の問い合わせは、Supervisorの有するサブアドレスに対して適当なコマンドパケットを送信して、図9で示されるサブアドレス：サービスID対応表を読み出し処理することにより行う。図49で示すフローは、図48で示したフローのステップ3315（その他のOperation Codeの処理）のステップを詳細化したものである。ステップ3401において、オペレーションコードがサービス一覧取得用コード（“List Service”）であるかどうかチェックする。オペレーションコードが“List Service” でない場合は、オペレーションコードに従った後述するその他の処理ステップ3402を行い終了する。ステップ3401において、オペレーションコードが“List Service”の場合は、ステップ3403において、サブアドレス：サービスID対応表の中から問い合わせに使用された接続形式IDに相当するものだけを抜き出したリストを作成する。ステップ3404において、ステップ3403で作成したリストの各レコードを検査し、有効フラグ804が有効、有効ユーザリスト805に値がある場合は問合わせに使用したユーザIDがその値に該当しないレコードを、無効ユーザリスト806に値がある場合は問い合わせに使用したユーザIDがその値に該当するレコードをリストから削除する。ステップ3405において、ステップ3404で更新したサービスIDのリストを含む返信パケットを作成し、作成された返信パケットは、ステップ3406において送信する。
【０１０７】
（サブアドレス問い合わせ処理）
図50は、多機能周辺機器201が提供するサービスを利用するときに必要となるサブアドレスの情報を、ClientがサービスIDを指定して問い合わせた場合の処理を表す。サブアドレスの問い合わせは、Supervisor410の有するサブアドレスに対して適当なコマンドパケットを送信して、図9で示されるサブアドレス：サービスID対応表を読み出し処理することにより行う。サブアドレスの問い合わせコマンドパケットにはパラメータとして、サービスIDが含まれている。図50で示すフローは、図49で示したフローのステップ3402（その他のOperation Codeの処理）のステップを詳細化したものである。ステップ3501において、オペレーションコードがサブアドレス取得用コード（“Reserve”）であるかどうかチェックする。オペレーションコードが“Reserve” でない場合は、オペレーションコードに従った後述するその他の処理ステップ3503を行い終了する。ステップ3501においてオペレーションコードが“Reserve”の場合は、ステップ3502において問合わせに使用された接続形式IDとパラメータ内に指定されたサービスIDとからサブアドレス：サービスID対応表を走査し該当するレコードを検索する。ステップ3504において検索されたレコードについて、有効フラグが有効となっているか、有効ユーザリストに値がある場合はリスト中に問合わせに使用したユーザIDがあるかどうか、無効ユーザリストに値がある場合はリスト中に問い合わせに使用したユーザIDが無いかどうかをチェックする。チェックの結果どれかでもOKでない場合は、指定されたサービスに対するアクセス権（利用権）が無いものとして、ステップ3506においてエラー返信パケットを作成し、ステップ3507においてこのパケットを送信して終了する。ステップ3504におけるチェックの結果、どのチェックもOKの場合は、ステップ3505においてサブアドレスを含む返信パケットを作成し、ステップ3507においてこのパケットを送信して終了する。
【０１０８】
（タスクタイプ指定のサービスIDの問い合わせ処理）
図51は、多機能周辺機器201が提供するサービスのうち、サービスの種類を指定して指定された種類のサービスを処理するために最適なサービスIDを問い合わせた場合の処理フローを表す。サービスの種類を指定したサービスIDの問合わせは、Supervisorの有するサブアドレスに対して適当なコマンドパケットを送信して、図9で示されるサブアドレス：サービスID対応表と図11で示されるサービスID：タスクタイプ対応表とを読み出し処理することにより行う。サブアドレスID問い合わせコマンドパケットにはパラメータとして、サービスの種類を指定するためのタスクタイプ、およびサービスを限定するための組み合わせ（条件情報）が含まれている。条件情報は属性IDと値の対のリストとして表されている。図51で示すフローは、図50で示したフローのステップ3503（その他のOperation Codeの処理）のステップを詳細化したものである。ステップ3601において、オペレーションコードがサブアドレス取得用コード（“Get Service”）であるかどうかチェックする。オペレーションコードが“Get Service” でない場合は、オペレーションコードに従った後述するその他の処理ステップ3603を行い終了する。ステップ3601においてオペレーションコードが“Get Service”の場合は、ステップ3602において問合わせに使用された接続形式IDとサブアドレス：サービスID対応表とから、問合わせに使用された接続形式IDを持つサービスIDのリストを作成する。ステップ3604において、サービスID：タスクタイプ対応表を参照し、上記リストの中から指定されたタスクタイプを有するもののリストを作成する。ステップ3605において、ステップ3604で作成したリストの各レコードを検査し、有効フラグ804が有効、有効ユーザリスト805に値がある場合は問合わせに使用したユーザIDがその値に該当しないレコードを、無効ユーザリスト806に値がある場合はい合わせに使用したユーザIDがその値に該当するレコードをリストから削除する。ステップ3609において、パラメータに含まれている条件情報とリスト中のサービスIDに対応する各マネージャの属性表と比較して、条件に合致する値以外をリストから削除する。ステップ3606において、ステップ3605において変更されたリストのレコードの数をチェックし、レコード数が0の場合は、要求されたサービスは存在しないものとしてステップ3611においてエラー返信パケットを作成し、ステップ3613において返信パケットを送信して終了する。ステップ3606においてレコード数が0以外の場合は、ステップ3607においてレコード数が1であるかどうかをチェックする。レコード数が1の場合は、ステップ3612において得られたサービスIDを含む返信パケットを作成し、ステップ3613において返信パケットを送信して終了する。ステップ3607においてレコード数が1以外の場合は、ステップ3608において、リスト中のサービスIDに対応する各マネージャに現在の負荷状態を問い合わせる。各マネージャは処理中のジョブの数を負荷状態として返し、この中から最低の負荷を持つマネージャを選択する。ステップ3610において、選択されたマネージャーに対応するサービスIDを含む返信パケットを作成し、ステップ3613において返信パケットを送信して終了する。
【０１０９】
（ジョブの構造）
図52は、各マネージャが管理するジョブの実体を保持するファイル（ジョブファイル）の内部構造を示すものである。ジョブファイルのファイル名はジョブ表（図20）のファイル名1502で保持されている。またこのファイルの構造は、各コントローラが管理するジョブの実体を保持するファイルの内部構造も示している。このファイル名はジョブキュー表（図42）のファイル名2903で保持されている。ジョブの実体は、属性ID3701、属性値サイズ3702および属性値3703の組を複数連続して持つことによって表されている。ジョブがデータを含む場合は、3707、3708、3709で示されるように属性IDとしてデータを表す値、属性値としてファイル名のサイズ、属性値としてドキュメントデータを保持しているファイルのファイル名を保持している。属性の中には、データの送信方法、データのフォーマット（使用されているPDLなど）、イベントの種類とそのイベントが発生した時にイベント通知を送信する宛先などの情報、およびジョブの種類に依存した情報：プリントジョブの場合にはコピー部数、フィニッシング処理指定、使用するフォントの指定、使用するフォームオーバーレイの指定などが含まれる。
【０１１０】
（各マネージャーでのジョブスクリプト処理）
図53と図54は、各マネージャにおけるジョブスクリプトの処理フローを表すものである。ジョブスクリプトは、図46で示されるコマンドパケットの一続きによって構成されており、“Job Start”オペレーションコードで始まり、“Job End”オペレーションコードで終わるものとして規定されている。ジョブスクリプトを構成する各パケットは、図9で示されるサブアドレス：サービスID対応表によって示されるサブアドレスに投入され、図47で示されるコマンドパケット処理フローによって各マネージャに配布される。図53で示される処理フローは、各マネージャに配布されたコマンドパケットを処理して図52で示されるジョブファイルおよびデータファイルを作成する場合の処理フローである。各マネージャに配布されたオペレーションは、ステップ3801においてオペレーションコードがサポートされているオペレーションコードであるかどうかをチェックする。チェックは、各マネージャが属性表内に保持している「サポートしているオペレーション」属性（属性ID101）の値と比較することにより行う。チェックの結果、サポート外のオペレーションであった場合は、ステップ3816においてエラー返信パケットを作成し、これを送信して終了する。ステップ3801のオペレーションコードがサポートされているものであったならば、ステップ3802において現在ジョブ投入中であるかどうかをチェックする。チェックは、ジョブ投入中フラグ（ステップ3806で設定されるフラグ）が真であるかどうかを検査することにより行う。検査の結果、ジョブ投入中フラグが偽であり、ジョブ投入中でなければ、ステップ3804においてオペレーションコードが“Job Start”であるかどうかをチェックする。チェックの結果、オペレーションコードが“Job Start”で無い場合は、ステップ3816においてエラー返信パケットを作成し、これを送信して終了する。
【０１１１】
ステップ3804のチェックの結果OKならば、ジョブIDを割り当ててジョブ表（図20）に項目を追加し、ジョブファイルを新規作成する。その後ステップ3805において、ジョブ投入中フラグを真に設定してコマンドパケットの処理を終了する。ステップ3802のチェックにおいて、ジョブ投入中フラグが真の場合は、ステップ3803においてオペレーションコードが“Send”であるかどうかをチェックする。オペレーションコード“Send”は、パラメータにジョブを構成するデータが含まれていることをマネージャに指示するものである。ステップ3803においてオペレーションコードが“Send”の場合は、ステップ3807においてコマンドと共に入力された継続フラグをチェックし、継続フラグが真の場合はステップ3808において既に存在しているデータファイル3713に新たに領域を追加して、3809においてその領域にパラメータを書き込み終了する。ステップ3807において継続フラグが偽の場合は、ステップ3810においてデータファイル3713を新規作成し、ステップ3811においてパラメータをデータファイルに書き込む。その後、ステップ3812においてジョブファイルに領域を追加し、ステップ3813においてデータを表す属性ID3707、ファイル名のサイズ3708および新規作成したファイルのファイル名3709をこの領域に書き込み、終了する。ステップ3803においてオペレーションコードが“Send”でない場合、ステップ3814においてオペレーションコードが“Job End”であるかどうかをチェックする。オペレーションコードが“Job End”である場合は、ステップ3815においてジョブの生成終了処理を行い終了する。ジョブの生成終了処理には、ジョブファイルのクローズなどの処理を含み、マネージャの種類（プリントジョブ、スキャンジョブ、コピージョブ、フォント、フォームオーバーレイ、ログ、カラープロファイル）によって異なる。
【０１１２】
ステップ3814において、オペレーションコードが“Job End“でない場合は、ステップ3817においてオペレーションコードが“Set Job“であるかどうかをチェックする。オペレーションコード“Set Job“は、パラメータにジョブを構成する属性（属性IDと属性値）が含まれていることをマネージャに指示するものである。ジョブのオペレーションコードが“Set Job“である場合は、ステップ3818においてジョブファイルに領域を追加し、ステップ3819において属性ID、属性値サイズおよび属性値を追加した領域に書き込み終了する。
【０１１３】
ステップ3817において、オペレーションコードが“Set Job“でない場合は、ステップ3820においてオペレーションコードが“Send Request“であるかどうかをチェックする。オペレーションコードが“Send Request“ は、データの送信をマネージャに指示するものであり、パラメータとしてデータの送信方法が含まれている。オペレーションコードが“Send Request“である場合は、ステップ3821において各マネージャに依存した処理を行い終了する。ステップ3821における処理は、スキャンジョブマネージャの場合は、ジョブファイルに保持されている属性値に従った原稿のスキャンをスキャナコントローラに指示し、得られたデータを指定された方法で送信すること、フォントマネージャの場合はジョブファイル内に属性値として指定されたフォントデータを即座に指定された送信方法で送信することなどが含まれる。ステップ3820においてオペレーションコードが“Send Request“でない場合は、ステップ3822においてその他のオペレーションコードの処理を行い終了する。
【０１１４】
（プリントジョブマネージャーでのジョブ処理）
図55は、図５で示したプリントジョブマネージャ501から509におけるジョブの処理フローを表したものである。プリントジョブマネージャはジョブ表を常に監視するタスクを動作させている。プリントジョブマネージャが図54に示すジョブスクリプトの処理フローを行い、“Job Start“オペレーションコードが入力されることによりジョブ表に新たな項目が追加されたことをが検知すると、この監視タスクは図55で示す処理フローを持つタスクを動作させて、入力されたジョブの処理を行わせる。ステップ3901においてデータ（ドキュメントデータ）の表現に使用されているPDL（Page Description Language）の種類を示す属性がジョブファイルの中に追加されるのを待ち、PDLの種類が確定すると使用するPDL Rasterizer（PDL Rasterizer417或いはPDL Rasterizer418）が使用可能となるまで待つ。ステップ3901でPDL Rasterizerが使用可能となると、ステップ3902においてデータ受信方法を示す属性がジョブファイルの中に追加されるのを待つ。データ受信方法を示す属性がジョブファイルの中に追加されると、ステップ3903においてデータの受信方法をチェックする。データの受信方法が多機能周辺機器MFP201の外部（例えば、ネットワーク上のClient PC等）にアクセスする方法である場合は、ステップ3904において指定されたデータの読込みを行うタスクを生成して外部にアクセスする。その後ステップ3905においてデータの読込みが開始されるのを待つ。ステップ3903において、データがジョブ内に含まれる場合（図54において“Send“オペレーションコードによるデータ受信の場合）、ステップ3906においてデータの受信が開始されるのを待つ。
【０１１５】
ステップ3905または3906のステップにおいてデータの読込みまたは受信が開始された時、ステップ3907においてデータをPDL Rasterizerに投入を開始する。その後、ステップ3908においてPDL Rasterizerからイメージデータを受け取る。ステップ3909において使用するプリンタコントローラを決定する。この決定はプリントジョブマネージャー501から507と509の属性表の属性ID2001（Jobを実行するController IDリスト）で予め決められている場合と、プリントジョブマネージャー508の属性ID2002（Controller自動選択可能か否か）で可が指定されてプリントジョブファイルの内容（図52に示すジョブファイルの属性Iと属性値）を読むことによりプリントに必要となるプリンタコントローラを動的に決定する場合がある。この場合には、例えば、ジョブファイル内の属性IDと属性値でカラー印刷を指定されていればInk Jet Contorller512（CID23）を決定するし、属性IDと属性値でFinisherの使用が指定されていればLBP Controller510（CID21）を決定する。プリンタコントローラが決定すると、ステップ3910において、各プリンタコントローラにイメージデータを投入しプリンタコントローラからジョブIDを受け取る。ステップ3911においてジョブ依頼表（図21）に、ジョブIDとプリンタコントローラIDおよびプリンタコントローラから受け取ったジョブIDをプリンタコントローラ毎に別々のレコードとして記録する。その後、プリントジョブマネージャはステップ3912で各プリンタコントローラでジョブ終了を待ち、ジョブ終了がプリンタコントローラから通知されると、ステップ3913においてジョブ依頼表から対応するレコードを削除する。3914において各プリンタコントローラに依頼した全てのジョブが終了したかどうかをチェックし、まだプリンタコントローラ内でジョブが残っている場合は、ステップ3912に戻りプリンタコントローラでのジョブ終了を待つ。ステップ3914において、依頼した全てのプリンタコントローラでのジョブが終了した場合、ステップ3915においてジョブ表（図20）から、ジョブのレコードを削除する。この時、図61で示されるイベント送信処理を行う。ステップ3916において、ジョブファイルの中を検査し、ステップ3917においてジョブ終了に関するイベント送信を指示する属性値があるかどうかをチェックする。もしなければ処理は終了するが、ある場合はステップ3918において属性値を読み出すことにより送信方法と送信宛先を取得する。ステップ3919においてイベントの送信パケットを作成し、指定された送信方法と送信宛先に対してイベントを送信する。ステップ3920において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０１１６】
（スキャンジョブマネージャでのジョブ処理）
図56は、スキャンジョブマネージャ419におけるジョブの処理フローを表したものである。スキャンジョブマネージャはジョブの投入が終了してからジョブの処理を開始する。このため、スキャンジョブマネージャは図54におけるステップ3815のジョブの終了処理として図56のジョブ処理を開始する。ステップ4001において、スキャナコントローラ420にジョブを投入しジョブIDを受け取る。ステップ4002においてジョブ依頼表（図21）に、ジョブIDとスキャナコントローラIDおよびスキャナコントローラ420から受け取ったジョブIDを記録する。ステップ4003において、スキャナコントローラ420からのジョブ終了を待ち、ジョブ終了がスキャナコントローラ420から通知されると、スキャンしたイメージデータをスキャナコントローラ420から受け取り、ステップ4004においてジョブ表（図20）からジョブのレコードを削除する。この時、図61で示されるイベント送信処理を行う。ステップ4005において、ジョブ中の属性の中からデータの送信方法を指示しているものを検索する。ステップ4006においてデータ送信方法がデータをスクリプトとして送信する指示であった場合は、ステップ4008においてデータを他の属性情報と共にスクリプトとして送信する。機器からのデータ送信処理は詳細が図62に示されている。ステップ4006においてデータを参照として送信する指示であった場合は、ステップ4007においてデータを機器内部に保存し、これに対する参照情報を他の属性情報と共にスクリプトとして送信する。ステップ4010においてジョブファイルの中を検査し、ステップ4011においてジョブ終了に関するイベント送信を指示する属性値があるかどうかをチェックする。もしなければ処理は終了するが、ある場合はステップ4012において属性値を読み出すことにより送信方法と送信宛先を取得する。ステップ4013においてイベントの送信パケットを作成し、指定された送信方法と送信宛先に対してイベントを送信する。ステップ4014において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０１１７】
（コピージョブマネージャーでのジョブ処理）
図57は、コピージョブマネージャ601から608におけるジョブの処理フローを表したものである。コピージョブマネージャはジョブの投入が終了してからジョブの処理を開始する。このため、ジョブマネージャは図53におけるステップ3815のジョブの終了処理として図57のジョブ処理を開始する。ステップ4101において、スキャナコントローラ420にジョブを投入しジョブIDを受け取る。ステップ4102においてジョブ依頼表（図21）に、ジョブIDとスキャナコントローラIDおよびスキャナコントローラ420から受け取ったジョブIDを記録する。ステップ4103において、スキャナコントローラ420からのジョブ終了を待ち、ジョブ終了がスキャナコントローラ420から通知されると、スキャンしたイメージデータをスキャナコントローラ420から受け取り、ステップ4104においてジョブ表から（図20）から、ジョブのレコードを削除する。次に、ステップ4105において使用するプリンタコントローラを決定する。この決定はコピージョブマネージャー601から607と609の属性表の属性ID2001（Jobを実行するController IDリスト）で予め決められている場合と、コピージョブマネージャー608の属性ID2002（Controller自動選択可能か否か）で可が指定されてジョブファイルの内容（図52に示すジョブファイルの属性Iと属性値）を読むことによりプリントに必要となるプリンタコントローラを動的に決定する場合がある。この場合には、例えば、ジョブファイル内の属性IDと属性値でカラー印刷を指定されていればInk Jet Contorller512（CID23）を決定するし、属性IDと属性値でFinisherの使用が指定されていればLBP Controller510（CID21）を決定する。プリンタコントローラが決定すると、ステップ4106において、各プリンタコントローラにスキャナコントローラ420から受け取ったイメージデータを投入しプリンタコントローラからジョブIDを受け取る。ステップ4107においてジョブ依頼表（図21）に、ジョブIDとプリンタコントローラIDおよびプリンタコントローラから受け取ったジョブIDをプリンタコントローラ毎に別々のレコードとして記録する。
【０１１８】
その後、プリントジョブマネージャはステップ4108で各プリンタコントローラでジョブ終了を待ち、ジョブ終了がプリンタコントローラから通知されると、ステップ4109においてジョブ依頼表から終了したジョブに対応するレコードを削除する。ステップ4110において各プリンタコントローラに依頼した全てのジョブが終了したかどうかをチェックし、まだプリンタコントローラ内でジョブが残っている場合は、ステップ4108に戻りプリンタコントローラでのジョブ終了を待つ。ステップ4110において、依頼した全てのプリンタコントローラでのジョブが終了した場合、ステップ4111においてジョブ表（図20）から、ジョブのレコードを削除する。この時、図61で示されるイベント送信処理を行う。ステップ4112において、ジョブファイルの中を検査し、ステップ4113においてジョブ終了に関するイベント送信を指示する属性値があるかどうかをチェックする。もしなければ処理は終了するが、ある場合はステップ4114において属性値を読み出すことにより送信方法と送信宛先を取得する。ステップ4115においてイベントの送信パケットを作成し、指定された送信方法と送信宛先に対してイベントを送信する。ステップ4116において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０１１９】
（ジョブ処理ダウンロード）
図58は、フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415およびカラープロファイルマネージャ416におけるジョブの処理フローのうちデータのダウンロード機能に関するものを表すものである。これらのマネージャに対するジョブは、各マネージャが管理するデータのダウンロードおよびアップロードを行うためのものである。各マネージャが管理するデータの参照・削除などの管理は、Supervisor410が管理するサブアドレスに対してコマンドパケットを投入し図48で示されるように各マネージャの持つ属性表にアクセスすることによって行う。各マネージャはジョブの投入が終了してからデータダウンロードに関するジョブの処理を開始する。このため、各マネージャは図53におけるステップ3815のジョブの終了処理として図58のデータダウンロードに関するジョブ処理を開始する。ステップ4201において、ジョブファイル（図52）を走査し、データの受信方法に関する属性が存在するかどうかをチェックする。チェックの結果データの受信方法に関する属性が存在しない場合は、このジョブファイルはアップロードに関するもので図59に示す処理フローが既に行われているものとしてステップ4208において終了処理を行う。ステップ4208における終了処理ではジョブファイルの削除を行う。ステップ4201においてデータの受信方法に関する属性が存在する場合は、ステップ4202においてデータの受信方法をチェックする。データの受信方法がジョブ内に含まれる場合（図53において“Send“オペレーションコードによるデータ受信の場合）すでにデータが受信済みでありステップ4205において受信したデータをファイルとして保存する。データの受信方法が機器外部にあるデータである場合はステップ4203において指定された外部ソースにアクセスし、データの取得を行い、取得したデータをステップ4205においてファイルとして保存する。ステップ4205において保存したファイル情報を、ステップ4206において各マネージャが管理する管理表（フォントマネージャ413の場合フォント表（図28）、フォームオーバーレイマネージャ414の場合フォームオーバーレイ表（図31）、ログマネージャ415の場合ログ表（図34）、カラープロファイルマネージャ416の場合カラープロファイル表（図39）に新規レコードを書き込むことにより登録する。ステップ4207において、ジョブファイル・データファイルの削除などの終了処理を行い、ジョブの処理は終了する。
【０１２０】
（ジョブ処理アップロード）
図59は、フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415およびカラープロファイルマネージャ416におけるジョブの処理フローのうちデータのアップロード機能に関するものを表すものである。各マネージャはジョブスクリプトを構成する“Send Request“オペレーションコードが投入された時点で、データアップロードに関するジョブの処理を開始する。このため、各マネージャは図54におけるステップ3821の各マネージャに依存した処理として図59のデータアップロードに関するジョブ処理を開始する。ステップ4301において、ジョブファイル中（図52）の属性の中からデータの送信方法を指示しているものをチェックする。ステップ4301においてデータ送信方法がデータをスクリプトとして送信する指示であった場合（NO）は、ステップ4303において、ジョブ内で指定データされたデータを他の属性情報と共にスクリプトとして送信する。機器からのデータ送信処理は詳細が図62に示されている。ステップ4301においてデータを参照として送信する指示であった場合は、ジョブ内で指定されたデータに対する参照情報を他の属性情報と共にスクリプトとして送信する。
【０１２１】
（各マネージャーでのジョブ管理）
図60は、多機能周辺機器201内のプリントジョブマネージャ501から509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608が管理するジョブに対する操作指示（ジョブの削除）をClientが行ったときに行われる処理フローを表したものである。各マネージャが管理するジョブに対する操作は、Supervisorの有するサブアドレスに対して適当なコマンドパケットを送信することにより行う。ジョブ管理用コマンドパケットにはパラメータとして、対象ジョブマネージャを特定するためのサービスIDおよび対象ジョブIDが含まれている。Clientから多機能周辺機器201に送られたコマンドパケットは、図47に示すフローによって処理され、Supervisor410に配布される。図60に示す処理フローは、図51で示したフロー中の3603（その他のOperation Codeの処理）のステップを詳細化したものである。ステップ4401において、Supervisor410はオペレーションコードがジョブ削除用のもの（“Cancel Job“）であるかどうかチェックする。オペレーションコードが“ Cancel Job“ でない場合は、オペレーションコードに従った後述するその他の処理ステップ4409を行い終了する。ステップ4401においてオペレーションコードが“Cancel Job“の場合は、ステップ4402においてパラメ[タ内に指定されたサービスIDに従って、パラメータをサービスIDに対応する各マネージャに送る。各マネージャはステップ4403において、指定されたジョブIDを各マネージャが管理するジョブ依頼表の中を検索する。ステップ4404においてジョブ依頼表の中に指定されたジョブIDが無い場合は、既にコントローラでのジョブが終了しているものとして、ステップ4410においてジョブ表の中から該当するレコードを削除し、ステップ4411において返信パケットを作成および送信して終了する。ステップ4404においてジョブ依頼表の中に指定されたジョブIDが有る場合は、ステップ4405において指定されたジョブIDに対応するコントローラのジョブIDとジョブを実行しているコントローラのコントローラIDを取得する。ステップ4406において、コントローラIDに対応するコントローラに対してコントローラのジョブIDを指定してジョブの削除を指示する。ステップ4407において、コントローラからの実行結果を待ち、実行結果が不成功であった場合は、ステップ4408においてエラー返信パケットを作成および送信して終了する。ステップ4407において、コントローラからの実行結果が成功であった場合、ステップ4408においてジョブ依頼表の中から該当するレコードを削除し、ステップ4403におけるジョブ依頼表の検索を行って他のコントローラに対する依頼が行われているかどうかを再度チェックする。
【０１２２】
（イベント送信）
図61は、各マネージャにおけるイベント送信の処理フローを表したものである。各マネージャは図16に示す様なイベント設定表を、各自が保持する属性表の値として持っている。図16の説明で示したように、この表にはイベントが発生したときにイベントを送信する接続形式と宛先とが書かれている。あるイベントが発生すると、各マネージャはイベントに対するイベントIDを認識する。その後、ステップ4501において、イベント設定表を参照しイベントIDが登録されているかどうかを検索する。ステップ4502において、イベントIDが１つも登録されていなければ処理を終了する。ステップ4502においてイベントIDが１つでも登録されていれば、ステップ4503でイベントを送信する際に使用する接続形式とイベントを送信する宛先を最初のレコードから取得し、ステップ4504においてイベント送信パケットを作成する。このパケットの中にはイベントID毎に規定されているパラメ[タと、Supervisor410が保持するイベントフォーマット表（図17）に登録されているイベントID毎のフォーマットに従ったパラメータとを付加する。ステップ4505において、このイベント送信パケットを4503で取得した接続形式の送信宛先に送信する。そして、ステップ4506でイベントIDが有るレコード全てについてステップ4503からステップ4505までを繰り返し処理したか否かを判断し、処理していなければステップ4503に戻り、全てのレコードが処理されていれば終了する。
【０１２３】
（多機能周辺機器からのデータスクリプト送信）
図62は、多機能周辺機器201からデータをコマンドパケットの連続であるスクリプトとして送信する際の処理フローを表す。この処理フローは、スキャンジョブの結果得られるイメージデータの送信ステップ4008やフォントデータの送信ステップ4303などにおいて使用されるものである。ステップ4601において、データの属性を含むパケットを生成して送信する。必要ならステップ4501を繰り返し、複数の属性を送信する。ステップ4602において、送信を指定されたデータを取得する。コマンドパケットは図46に示す構造を有し、パラメータとして送信できるサイズがかぎられているため、4603において、データの長さを検査する。検査の結果、データの長さが制限値の長さ（64Kバイト）を超えている場合、ステップ4606においてデータを制限値の長さで切断し、得られたデータをステップ4607においてパラメータとして付加したコマンドパケットを生成し送信する。このコマンドパケットには、オペレーションコードとして“Send“を設定し、継続フラグを真として設定する。ステップ4608において、切断した残りのデータを取得しステップ4603のデータ長の検査を再び行う。ステップ4603の検査の結果、データ長がコマンドパケットの制限値の長さに入っている場合は、ステップ4604においてデータをパラメータとして付加したコマンドパケットを生成し送信する。このコマンドパケットには、オペレーションコードとして“Send“を設定し、継続フラグを偽として設定する。ステップ4605において、残りの属性を含むコマンドパケットを生成して送信する。必要ならステップ4501を繰り返し、複数の属性を送信して終了する。
【０１２４】
（Client PCのハード構成）
図63は図2に示す本実施形態のClientPC202、203、204、205の共通したハードウエア構成（コントローラ）を示す図である。コントローラの内部では、CPU6001がバス6010を介して、Memory(RAM)6002, CRT等のディスプレイ6003、キーボードやマウス等のポインティングデバイス6004, ROM6008, DISK6009が接続されている。図77に示す各種プログラム及びデータは、ハードディスクやフロッピー（登録商標）ディスク等のDISK6009（記憶媒体）に記憶されており、必要に応じて順次Memory(RAM)6002に読み出されてCPU6001で実行される。このDISK6002は、Client PCに着脱可能でもClient PCに内蔵されたものでも良い。更に、図77に示すプログラムは、ネットワークインタフェースケーブル208（10BASE-T）、IEEE1394インタフェースケーブル206、IEEE1284インタフェースケーブル207を介して他のClient PC、MFP201からダウンロードされてDISK6009に記憶される構成でも良い。図63に示すハードウエアは図78に示す一般的なClient PCを構成する。CPU6001がディスプレイ6003にデータを書き込むことにより表示を行い、CPU6001がポインティングデバイス6004からデータを読み出すことにより、ユーザからの指示を入力する。
【０１２５】
また、バス6010には、ネットワークインターフェースコネクタ6005、IEEE1394インターフェースコネクタ6006、IEEE1284インターフェースコネクタ6007が接続されており、図2に示すEthernet（登録商標）(10BASE-T)ケーブル208、IEEE1394ケーブル206、IEEE1284ケーブル207が接続される。CPU6001がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行う。
【０１２６】
（Client PCのソフトウエア構成）
図64は多機能周辺機器201を利用するClient202、203、204、205のソフトウエア（制御プログラム）ブロック図の一部を表す。Client PCが使用するソフトウエア（制御プログラム）とデータは図77に示すようにDISK6009に記憶されている。501は、ユーザインターフェースであり、これによって505から514で示される各ドライバおよびユーティリティーが多機能周辺機器201の持つ情報をディスプレイ6003に表示する。502は現在使用中の多機能周辺機器201の情報（データ）を保持するデーターベース（DISK6009）であり、Clientが多機能周辺機器201に接続した段階で、503の機器情報取得部が機器の持つ全ての情報を取得して502のデータベースの中に保持する。504は、多機能周辺機器201が保持する各属性表の中で使用される、各属性の意味、各属性ID毎のデータ型、イベントID毎に規定されているパラメータのフォーマット、タスクタイプの意味、Supervisorのサブアドレスなどの規定情報を保持している規定データベース（DISK6009）である。505から514で示される各ドライバおよびユーティリティーは、規定データベース504および機器情報データベース502に基づき動作する。5050は、プリンタドライバでありClient PC上で動作するアプリケーションプログラムからの指示によりプリントジョブスクリプトを生成する。506は、スキャナドライバでありClient PC上で動作するアプリケーションプログラムからの指示によりスキャンジョブスクリプトを生成する。507は、コピードライバでありClient PC上で動作するアプリケーションプログラムからの指示によりコピージョブスクリプトを生成する。508は、フォント管理ユーティリティであり、フォントデータのダウンロードおよびアップロードを行うジョブを生成し、フォントデータを管理するコマンドを生成する。509は、フォームオーバーレイ管理ユーティリティであり、フォームオーバーレイデータのダウンロードおよびアップロードを行うジョブを生成し、フォームオーバーレイを管理するコマンドを生成する。510は、ログ管理ユーティリティであり、ログデータのダウンロードおよびアップロードを行うジョブを生成し、ログを管理するコマンドを生成する。511は、カラープロファイル管理ユーティリティであり、カラープロファイルデータのダウンロードおよびアップロードを行うジョブを生成し、カラープロファイルを管理するコマンドを生成する。512は、ジョブ管理ユーティリティであり、プリントジョブ・スキャンジョブ・コピージョブの削除・一時停止・実行再開などの管理をおこなうコマンドを生成する。513は、機器管理ユーティリティであり、プリンタコントローラ・スキャナコントローラの状態を取得するコマンドを生成する。514は、課金管理ユーティリティであり、課金データの取得するコマンドを生成する。
【０１２７】
515は、505から514で示される各ドライバおよびユーティリティーから生成されたコマンドを基にコマンドパケットを生成するジェネレータである。生成されたコマンドパケットは、517、519、521の各トランスポート処理モジュールを利用して多機能周辺機器201に送信する。ジェネレータ515は、517、519、521の各トランスポート処理モジュールから入力された返信パケットおよびイベントパケットを解釈し、適当なドライバまたはユーティリティに配布する。517は、IEEE1394のトランスポート層であるSBPー2の処理モジュールである。519は、TCP/IPおよびUDP/IPの処理モジュールである。521は、IEEE1284のトランスポート層であるIEEE1284.4の処理モジュールである。518は、IEEE1394の物理層を処理するインターフェースである。520は、ネットワークインターフェースである。522は、IEEE1284の物理層を処理するインターフェースである。図64はまた、多機能周辺機器201のソフトウエア（制御プログラム）ブロック図（図4）におけるユーザーインターフェースマネージャ405の内部構成を表すものでもある。ユーザインターフェースマネージャ405の場合は、図64におけるSBPー2処理モジュール517、TCP/IPおよびUDP/IP処理モジュー519、IEEE1284.4処理モジュール521、ネットワークインターフェース518、ネットワークインターフェース520、IEEE1284インターフェース522は存在せず、ジェネレータ515が図4におけるインタープリター409に直接接続されており、これによってコマンドパケット・返信パケット・イベントパケットのやり取りが行われている。この直接接続は他のClient202、203、204、205のソフトウエア（制御プログラム）構成には存在していない。
【０１２８】
（パケット生成・送信処理）
図65は、ジェネレータ515が505から514で示される各ドライバおよびユーティリティーからコマンドまたはジョブスクリプトを受けて、図46で示されるコマンドパケットを生成し多機能周辺機器201に送信する処理フローを表す。この処理フローの前に、送信先の多機能周辺機器の適当なサブアドレスには前もって接続されているものとする。どのサブアドレスに接続するべきかという情報は、図66で示される機器情報の取得フローによって取得される。ジョブスクリプトはコマンドの連続で定義されており、処理対象がジョブスクリプトの場合は、全てのコマンドが処理されるまでステップ4701からステップ4706までを繰り返す。以下の記述において、ジョブスクリプトの発行とはステップ4701からステップ4707まで、各コマンド毎に処理することを意味する。ステップ4701において、コマンドと共に送信するデータの長さを検査する。検査の結果、パラメータの制限値の長さ（64Kバイト）を超える場合は、ステップ4702においてデータを制限値の長さで切断する。切断されたデータはステップ4703において、継続フラグを真としてコマンドに対応したオペレーションコードを含むパケットを生成し、ステップ4704においてパケットを送信する。ステップ4701において、データの長さがパラメータの制限値の長さに入る場合は、ステップ4705において継続フラグを偽としてコマンドに対応したオペレーションコードを含むパケットを生成し、ステップ4706においてパケットを送信する。
【０１２９】
（Clientでの情報取得とソフトウエア自動構成）
図66は、図64の機器情報取得部503の処理フローチャートを表す。機器情報取得部503はClientが多機能周辺機器201と接続直後に図66で表す処理を行い、機器情報を取得して機器情報データベース502（DISK6009）に保持する。この処理はまた、機器からコンフィギュレーション変更のイベントが送られたときにも再度動作する。ステップ4801において、Client PCは多機能周辺機器201と接続する。具体的には、Ethernet（登録商標）208に接続されているClientPC202、203はIPアドレス、ポート番号を指定して多機能周辺機器201に接続しIPパケットデータを出力する。IEEE1394インタフェース206に接続されているClientPC204はノードIDとLUN（ロジカルユニットナンバー）を指定して多機能周辺機器201と接続しSBPー2パケットデータを出力する。IEEE1284インタフェース207に接続されているClientPC205はソケット番号を指定して多機能周辺機器201と接続しIEEE1284．4パケットデータを出力する。接続先のサブアドレスは、接続に使用した接続形式ごとにあらかじめ規定されているSupervisor用のサブアドレスを使用する。この規定値は、規定情報データベース504（DISK6009）から取得する。ステップ4802において、図7に示すSupervisorの属性表の属性ID100（属性IDのリスト）の値を取得する。属性値の取得は、SupervisorのサービスID0と属性IDをパラメータとして属性値取得用コマンド（Get）を生成し、ジェネレータ515にコマンドを投入することにより行う。ジェネレータ515は図65の処理フローを行い、属性値取得用のコマンドパケットを、多機能周辺機器201に送信する。多機能周辺機器201では、上記コマンドパケットを受信し、図47および図48の処理フローを行って指定された属性IDの属性値をClientに返信する。Clientでは返信パケットをジェネレータによって解析し、機器情報取得部に送る。尚、属性ID100の属性は、Supervisorの属性表にある全属性IDのリストとなっている。ステップ4803において属性IDを指定して属性値を取得し、ステップ4804で全ての属性IDの属性値を取得するまで繰り返し処理をし、その属性値を属性IDと共に機器情報データベース502に保存する。以上のステップにおいてSupervisorの持つ属性表（図7）が全て機器情報データベース502に保存される。
【０１３０】
そして、ステップ4805において機器情報データベース502（DISK6009）に保存された属性表からサービスIDのリスト（図11に示すSID：TASK TYPE表）を取得する。なお、サービスIDの取得は、サービスIDのリスト問合わせ用コマンド（LIST SERVICE）を生成し、ジェネレータ515にコマンドを投入することにより行うこともできる。この時、多機能周辺機器201では、図47、図48、図49で示される処理フローが実行される。ステップ4806からステップ4811において、ステップ4805において取得した各サービスID毎に各マネージャの情報を取得する。ステップ4806で図11に示すリストからSupervisor（サービスID0）を除くサービスIDの中で最初のサービスIDであるサービスID1（プリントジョブマネージャ501）を取得する。ステップ4807でサービスIDに対応するサブアドレスの取得を行う。サブアドレスの取得は、サービスIDをパラメータとしてサブアドレス取得用のコマンド（Reserve）を生成し、ジェネレータ515にコマンドを投入することにより行う。この時、多機能周辺機器201では、図47、図48、図49、図50で示される処理フローが実行される。取得したサブアドレスは、機器情報データベース502に保存する。ステップ4808において、各マネージャの属性表の属性ID100の値（属性IDのリスト）を取得する。属性値の取得は、各マネージャに対応するサービスIDと属性IDをパラメータを指定して属性値取得用コマンド（Get）を生成し、ジェネレータ515にコマンドを投入することにより行う。ステップ4809において属性IDを指定して属性値を取得し、ステップ4810で全ての属性IDの属性値を取得するまで繰り返し処理をし、その属性値を属性IDと共に機器情報データベース502に保存する。ステップ4811においてサービスIDのリストの最後のサービスIDか否かを判断し、最後でなければステップ4812においてリストの次のサービスIDをリストから取得してステップ4807からの処理を繰り返す。ステップ4811においてサービスIDのリストの全てのサービスID（プリントジョブマネージャー501、502、503、504、505、506、507、508、509、スキャンジョブマネージャー419、コピーマネージャー601、602、603、604605、606、607、608、フォントマネージャー413、フォームオーバーレイマネージャー414、ログマネージャー415、カラープロファイルマネージャー416、プリンタコントローラ510、511、512、スキャナコントローラー420）の属性値を属性IDと共に機器情報データベース502に保存する。
【０１３１】
そして、ステップ4813で機器情報データベース502（DISK6009）に保存された機器情報（データ）に基づいて各ドライバー・ユーティリティー（制御プログラム）505から514のそれぞれに対応したマネージャーのためのユーザーインタフェースを自動構成する。自動構成ステップ4813の処理には、ユーザーインターフェースの更新が含まれており、ドライバー・ユーティリティに応じて設定画面（ユーザーインタフェース）の表示を変える。例えば、プリンタドライバーのユーザーインタフェースは、ディスプレイ6003に表示される表示画面を示す図81や図82のように、各プリントジョブマネージャー（501から509）の属性ID1101の属性値に基づいてサポートしているPDLのリスト、属性ID1102に基づいてカラー印刷可能か、属性ID1103の属性値に基づいてサポートしているFinishingの種類、属性ID1104の属性値に基づいて設定可能最高解像度、属性ID1105に基づいて設定可能最低解像度の表示を変える。
【０１３２】
同様に他のドライバ506、507、ユーティリティ508から514のためのユーザーインタフェースの表示も属性に応じて変える。更に、各ドライバ・ユーティリティの（プリントマネージャ、コピージョブマネージャー等）のアイコンを識別可能に表示する。
【０１３３】
また、ユーザインターフェースは、図83のようなものであってもよい。図83の画面では、サービスIDのリスト（ステップ4806で取得したサービスIDのリスト）に含まれている各プリントジョブマネージャ、スキャンジョブマネージャ、コピーマネージャの一覧が表示されている。なお、ここでは、各プリントジョブマネージャ、スキャンジョブマネージャ、コピージョブマネージャについてマネージャ名称がつけられており、そのマネージャ名称が一覧表示されている。
【０１３４】
ユーザは、印刷、コピー、印刷物のスキャンを行いたいときには、デバイス制御アプリケーションやデバイス制御ドライバから図83の画面を開く。そして、ユーザは、そのデバイスに存在する複数のマネージャの中から、印刷を行いたいときにはプリントマネージャを選択し、スキャンを行いたいときにはスキャンマネージャを選択する。
【０１３５】
そして、画面上では例えば、プリントマネージャの印刷方式、用紙サイズ、カラー印刷の可否、両面印刷の可否、可能な拡大／縮小の範囲などが、ステップ4809で取得された属性値をもとに表示されている。ここで、印刷方式は、プリントジョブマネージャの属性ID2001（jobを実行するConroller IDのリスト）の属性値からどのプリントコントローラを使用しているかで求められる。また、カラー印刷の可否は、プリントジョブマネージャの属性ID1102の属性値から求められる。その他のものも、図19には不図示の属性IDの属性値から求められる。よって、更に詳細な情報が属性値をもとに表示されることも可能である。スキャンジョブマネージャ、コピーマネージャについても同様である。
【０１３６】
ユーザは、ジョブを発行する際に、ポインティングデバイス6004を用いてマネージャ一覧の中から所望のマネージャを選択する。或いは、図83の画面の「マネージャの自動選択」のチェックボックスにチェックが入れられているときには、各マネージャの機能・状況から自動的に最適なマネージャが選択される。
【０１３７】
また、図84のように、アプリケーションプログラムの印刷画面の中で、各プリントジョブマネージャに対応するプリンタ名が表示されるようにしてもよい。この印刷画面は、ユーザがアプリケーションプログラムで印刷指示を出したときに、表示される画面である。Clientは、機器情報データベース502の機器情報をもとに、各プリントジョブマネージャに対応する仮想的なプリンタを生成して、それらをユーザが選択できるように表示する。例えば、画面中の「プリンタA」はプリントジョブマネージャ501を示し、「プリンタB」はプリントジョブマネージャ502を示している。
【０１３８】
さらに、ユーザが図83や図84の画面の中からあるマネージャ名あるいはあるプリンタ名を選択して、「プロパティ」画面を開くと、図85のような画面が表示される。ユーザは、この画面で更に詳細に印刷指示を出す。このとき、ユーザがこのプリンタについて選ぶことができる用紙サイズ、拡縮率、給紙方法などは、図66のステップ4809で取得された属性値をもとに決められる。
【０１３９】
最後に、ステップ4814においてSupervisor410との接続を終了して、処理は終了する。
【０１４０】
（タスクタイプを指定したジョブの発行）図67は、各アプリケーション・ユーティリティがタスクタイプを指定したジョブスクリプトを発行した場合の処理を表すものである。サービスIDを指定したジョブの発行は、サービスIDをキーとして機器情報データベース502を検索し、得られたサブアドレスに対して適切なジョブスクリプトを送信することにより行うが、ユーザからの指示によりタスクタイプのみが指定された場合は、多機能周辺機器201に対して使用するサービスIDの紹介依頼を指示する必要がある。図67は、この場合の処理を示すものである。ステップ4901おいて、タスクタイプを指定してサービスIDを取得する属性値取得用コマンドを生成し、ジェネレータ515にコマンドを投入することにより行う。多機能周辺機器201では、図47、図48、図49、図50、図51で示される処理フローが実行される。ステップ4902において、ステップ4901で得られたサービスIDを基に機器情報データベース502を検索し、得られたサブアドレスに対してジョブスクリプトを送信する。
【０１４１】
（イベントの構造）
図68は、多機能周辺機器201からClientに送られるイベントの構造を表す。イベントパケットは図46に示されるコマンドパケットと同一の構造を持ち、図68で示すものは、パケットのパラメータ3110の部分の構造である。5001はイベントの種類を表すイベントIDである。5002はイベントIDごとに規定されているパラメータデータである。このデータのフォーマットは規定情報データベース504に予め保持されている。5003はイベントIDごとに機器でそのフォーマットが決められているパラメータデータである。このデータのフォーマットはイベントフォーマット表（図17）として、図66の処理フローを実行することにより機器情報データベース502に保持されている。
【０１４２】
（イベントの処理）
図69は、Clientが多機能周辺機器201から各ドライバー・ユーティリティーがイベントを受けたときの処理を表すフローである。各ドライバー・ユーティリティーは、自分が欲しいイベントをイベントIDをキーとしてジェネレータ515に予め登録しておく。イベントが多機能周辺機器201からClientに送られると、ジェネレータ515は登録してある各ドライバー・ユーティリティーにイベントを配布する。図69は、各ドライバー・ユーティリティーがイベントの配布を受けた後の処理を表すものである。ステップ5101において、規定情報データベース504から得たフォーマット情報を元に規定パラメータデータ5002の解析を行う。ステップ5102において、イベントID（5001）をキーとして機器情報データベース502に保持されているイベントフォーマット表（図17）からイベントIDに対応するイベントフォーマット1302を取得する。ステップ5103において、取得したイベントフォーマットに基づき、機器依存のイベントフォーマット（イベントフォーマットの属性ID676：紙サイズ、ID756：紙の種類、ID666：トナーの種類、ID698：インクの種類、ID600：カバーの位置）を解析する。そして、ステップ5104において解析されたパラメータとイベントID （イベント ID200：紙なし、ID399：トナーなし、ID432：インクなし、ID234：多機能周辺機器のカバーオープン）を処理してイベントに応じた表示（例えば、紙なし、カバーオープン、トナーなし等のユーザーインタフェースをディスプレイ6003に表示する）を行う。
【０１４３】
（ログの処理）
図70は、ログ管理ユーティリティ510が多機能周辺機器201が保持するログを取得して処理するフローを表すものである。ステップ5201において、ログデータの取得を行う。ログデータの取得は、ログデータ取得用ジョブスクリプトを生成し、多機能周辺機器201に送ることにより行う。多機能周辺機器201では、図47、図53、図59で示される処理フローが実行され、ログデータがClientに送られる。例えば、図35に示すLogFormatID1、98/1/3 1:23のログデータ「12345、4、1．23、“OK“」は、サービスID1のプリントジョブマネージャーにジョブを発行したユーザーIDが12345で、出力した紙数が4で、使用したトナー量が1．23、ジョブの終了状態がOKを示す。ステップ5202において、機器情報データベース502からログフォーマット表（図36）を取得する。ステップ5203において、ログデータの各レコードの先頭にあるログフォーマットID2401を取得し、この値からログフォーマット表（図36）の中からログフォーマット2502を取得する。例えば、LogFormatID1のフォーマット「1：701、1：565、1：765、1：777」は、サービスID1のプリントジョブマネージャーにジョブを発行したユーザーID、出力した紙数、使用したトナー量、ジョブの終了状態を示す。また、LogFormatID2のフォーマット「11：701、11：565、11：765、11：777」は、サービスID11のプリントジョブマネージャーにジョブを発行したユーザーID、出力した紙数、使用したトナー量、ジョブの終了状態を示す。ステップ5204において、ログデータ2403の解析をログフォーマットフォーマット2502に従って行い、解析したデータをログ発生時刻2402と共に処理（ログをソートする等）する。そして、ステップ5205において各レコードのログデータを解析したか否かを判断し、解析していなければステップ5203からの処理を繰り返し実行し、全て解析していれば処理を終了する。
【０１４４】
（課金情報の取得・処理）
図71は、課金管理ユーティリティ514が多機能周辺機器201が保持する課金データを取得して処理するフローをあらわす。課金データは、各マネージャが保持するカウントデータとして表される。カウントデータは属性ID401の値として属性表（図7、図18、図22、図24、図26、図29、図32、図37、図40、図44）に保持されており、その値は整数値のリストとなっている。各整数値の意味するところは、各マネージャの属性表の中にカウントデータフォーマットの属性（属性ID402）の値として表現されており、値は属性IDのリストとなっている。カウントデータのリストとカウントデータフォーマットのリストは、リスト中の順番によって対応している。例えば、カウントデータの3番目の値は、カウントデータフォーマットの3番目の属性IDの情報を意味している。図71は、各マネージャが保持するカウントデータを取得して処理するフローを表すものである。ステップ5301において、対象となるマネージャのサービスIDを指定して、属性ID401の値（カウントデータの値）を取得する。例えば、属性ID401の値（45、78、34、13）は、属性ID402のカウントデータフォーマットで表わされる用紙サイズのプリント枚数を示す。この属性ID401の値の取得は、サービスIDと属性IDをパラメータをパラ・BR> ータとして属性値取得用コマンドを生成し、ジェネレータ515にコマンドを投入することにより行う。ステップ5302において、同じサービスIDを指定して、属性ID402の値（カウントデータフォーマットの値）を取得する。例えば、属性ID402の属性値565が用紙サイズA2のプリント枚数、属性値537が用紙サイズA3のプリント枚数、属性値545が用紙サイズA4のプリント枚数、属性値523が用紙サイズA5のプリント枚数を意味する。これは機器情報データベース502から取得してもよい。ステップ5303において、取得したカウントデータフォーマットを使用して、カウントデータの解析を行う。ステップ5304において、解析したカウントデータを使用して、例えば、サービスID毎、ユーザーID毎、部門毎に課金データの処理・生成を行って終了する。
【０１４５】
（プリントジョブ、データダウンロードジョブの発行）
図72は、プリンタドライバ505によるプリントジョブの発行、フォント管理ユーティリティ508によるフォントデータダウンロードジョブスクリプト発行、フォームオーバーレイユーティリティ509によるフォームオーバーレイデータダウンロードジョブスクリプト発行、ログ管理ユーティリティー510によるログデータダウンロードジョブスクリプト発行およびカラープロファイル管理ユーティリティ511によるカラープロファイルデータダウンロードジョブスクリプト発行の各処理を表す。以上の各ソフトウエア（制御プログラム）による処理フローは共通であり、プリント対象ドキュメントデータおよび上記各種類のダウロード対象データ（フォントデータ、フォームデータ、カラープロファイルデータ、ログデータ）は、図72および以下の説明において、「データ」と記述されている。ジョブ発行の際には、プリントまたはダウンロードするデータがジョブスクリプトの中に設定する複数の属性値と共に指定される。ステップ5401において、機器情報データベース502にアクセスして機器情報を取得する。
【０１４６】
そして、取得した機器情報をもとに、図83或いは図84のようなユーザインターフェースが表示される。ユーザは、データの投入対象となるマネージャを、図83に一覧表示されているマネージャ名称、或いは、図84に表示されているプリンタ名の中からポインティングデバイス6004を用いて選択する。
【０１４７】
ステップ5402において、データが投入対象とする各マネージャ（例えば、プリント対象ドキュメントデータなら印刷を指定するプリントマネージャ）の有する属性表を参照し、指定された属性値が属性表で設定されている各属性値の範囲内にあるかどうかをチェックする。チェックの結果、１つでも範囲内に無い場合は、ステップ5405においてユーザインターフェース上にエラーダイアログを表示するなど、ジョブ発行拒否の処理を行い、終了する。
【０１４８】
ステップ5402のチェックの結果、全ての属性がマネージャの持つ属性表内の各属性値の範囲内にある場合は、ステップ5403においてマネージャの属性表中に禁止設定属性（属性ID801から805）が存在するかどうかチェックする。マネージャの属性表が禁止設定属性を持つ場合は、ステップ5404においてマネージャが属性表内に持つ各禁止設定属性毎に指定されたジョブの属性が禁止されている設定値の組み合わせとなっていないかどうかチェックする。チェックの結果、禁止されている属性の設定値の組み合わせがある場合は、ステップ5405においてジョブ発行拒否の処理を行い終了する。ステップ5403のチェックの結果、マネージャが禁止設定属性を持たない場合およびステップ5404のチェックの結果ジョブの属性が禁止されている設定値の組み合わせとなっていない場合、ステップ5406においてデータの存在場所をチェックする。データの存在場所の指定はは、ユーザーがアドレスを指定するかアプリケーションがアドレスを生成する事で行われる。データの存在場所がジョブを発行するClient内部の場合は、ステップ5407において機器情報データベース502内の各担当マネージャの属性表の属性値601（サポートしているデータのダウンロード方法）をチェックする。ステップ5407のチェックにおいて、ジョブ内にデータを含ませる方法がサポートされている場合、ステップ5408においてジョブ内にデータを含ませたジョブスクリプトを生成し、図65に示すパケット生成処理を経て、多機能周辺機器201に送信する。ステップ5407のチェックにおいて、ジョブ内にデータを含ませる方法がサポートされていない場合、ステップ5409において、機器内に存在するデータの参照ポインタ（URL：Unified Resource Locator）をジョブ内に含ませたジョブスクリプトを生成し送信する。ステップ5406のチェックにおいて、データがジョブを発行するClient外部に存在する場合は、ステップ5410において機器情報データ内の各担当マネージャの属性表の属性値601（サポートしているデータのダウンロード方法）をチェックする。ステップ5410のチェックにおいて、ジョブ内に参照ポインタを含ませて機器自身がデータを読み込む方法がサポートされている場合は、データに対する参照ポインタをジョブ内に含ませたジョブスクリプトを生成し送信する。ステップ5410のチェックにおいて、ジョブ内に参照ポインタを含ませて機器自身がデータを読み込む方法がサポートされていない場合は、ステップ5412においてデータを機器外部から機器内部へ一旦読み込む。そして、ステップ5413において、読み込んだデータをジョブ内に含むジョブスクリプトを生成して送信する。ジョブスクリプトを受信した多機能周辺機器201の各マネージャは、図53、図54、図55（プリントジョブマネージャ）または図53、図54、図58（フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャ）に示される処理を行い、指示されたジョブの処理を行う。
【０１４９】
（スキャンジョブ、データアップロードジョブの発行）
図73は、スキャナドライバ506によるスキャンジョブの発行、フォント管理ユーティリティ508によるフォントデータアップロードジョブスクリプト発行、フォームオーバーレイユーティリティ509によるフォームオーバーレイデータアップロードジョブスクリプト発行、ログ管理ユーティリティー510によるログデータアップロードジョブスクリプト発行およびカラープロファイル管理ユーティリティ511によるカラープロファイルデータアップロードジョブスクリプト発行の各処理を表す。以上の各ソフトウエア（制御プログラム）による処理フローは共通であり、スキャン結果得られたドキュメントデータおよび上記各種類のアップロード対象データ（フォントデータ、フォームデータ、カラープロファイルデータ、ロゴデータ）は、図73および以下の説明において、「データ」と記述されている。ジョブ発行の際には、データを指し示す指示子が、ジョブスクリプトの中に設定する複数の属性値と共に指定される。ステップ5501において、機器情報データベース502にアクセスして機器情報を取得する。ステップ5502において、データをアップロード対象とする各マネージャ（例えば、フォントデータならフォントデータを管理するフォントマネージャ）の有する属性表を参照し、指定された属性値が属性表で設定されている各属性値の範囲内にあるかどうかをチェックする。データをアップロード対象とするマネージャは、例えば、スキャンジョブマネージャの場合は、図83のようなユーザインターフェースでユーザにより選択される。
【０１５０】
チェックの結果、１つでも範囲内に無い場合は、ステップ5505においてユーザインターフェース上にエラーダイアログを表示するなど、ジョブ発行拒否の処理を行い、終了する。ステップ5502のチェックの結果、全ての属性がマネージャの持つ属性表内の各属性値の範囲内にある場合は、ステップ5503においてマネージャの属性中に禁止設定属性（属性ID801から805）が存在するかどうかチェックする。マネージャの属性表が禁止設定属性を持つ場合は、ステップ5504においてマネージャが属性表内に持つ各禁止設定属性毎に指定されたジョブの属性が禁止されている設定値の組み合わせとなっていないかどうかチェックする。チェックの結果、禁止されている属性の設定値の組み合わせがある場合は、ステップ5505においてジョブ発行拒否の処理を行い終了する。
【０１５１】
ステップ5503のチェックの結果、マネージャが禁止設定属性を持たない場合およびステップ5504のチェックの結果ジョブの属性が禁止された設定値の組み合わせとなっていない場合、ステップ5506において、データの送信宛先（保存位置）をチェックする。データの送信宛先が機器外部の場合は、ステップ5507において、再度データの送信宛先をチェックする。データの送信宛先がジョブを発行するClientの場合は、ステップ5508において機器情報データ内の各担当マネージャの属性表の属性値602（サポートしているデータのアップロード方法）をチェックする。ステップ5508のチェックの結果データ送信をサポートしている場合は、ステップ5509において、データ送信を指示するジョブスクリプトを発行し、ステップ5510においてデータ受信を行う。ステップ5508のチェックの結果データ送信をサポートしていない場合（NO）は、ステップ5511において機器内にデータを留め置きデータへの参照ポインタを返信として送信することを意味する参照送信を指示するジョブスクリプトを発行し、返信された参照ポインタの情報を用いて、ステップ5512においてデータを取得する。ステップ5507において、データの送信宛先がジョブを発行するClient以外の場合は、ステップ5513において機器情報データ内の各担当マネージャの属性表の属性値602（サポートしているデータのアップロード方法）をチェックする。ステップ5513のチェックの結果、参照送信をサポートしている場合は、ステップ5514において送信宛先をパラメータとする参照送信を指示するジョブスクリプトを発行し、ステップ5515においてデータの送信宛先に対して多機能周辺機器201からデータが送信されることを伝えることにより、データの取得指示を送る。ステップ5513のチェックの結果、参照送信をサポートしていない場合は、ステップ5516においてデータ送信を指示するジョブスクリプトを発行し、ステップ5517においてデータを受信し、このデータを送信宛先に再度送信する。ステップ5506のチェックの結果、送信宛先が機器内部である場合は、ステップ5518において、機器情報データ内の各担当マネージャの属性表の属性値602（サポートしているデータのアップロード方法）をチェックする。ステップ5518のチェックの結果、参照送信をサポートしている場合は、ステップ5519において機器内の宛先をパラメータとする参照送信を指示するジョブスクリプトを発光する。ステップ5518のチェックの結果、参照送信をサポートしていない場合は、ステップ5520においてデータ送信を指示するジョブを発行し、ステップ5521においてデータをClientが受信した後に再度データを機器に送り返す。ジョブスクリプトを受信した多機能周辺機器201の各マネージャは、図53、図54、図56（スキャンジョブマネージャ）または図53、図54、図59（フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャ）に示される処理を行い、指示されたジョブの処理を行う。
【０１５２】
（コピージョブの発行）
図74はコピージョブの発行を行う処理を表す。コピージョブ発行の指示として、ジョブスクリプトの中に設定する複数の属性値が指定される。ステップ5601において、機器情報データベース502にアクセスして機器情報を取得する。ステップ5602において、コピーマネージャの有する属性表を参照し、指定された属性値が属性表で設定されている各属性値の範囲内にあるかどうかをチェックする。コピーマネージャは、図83のようなユーザインターフェースでユーザにより選択される。
【０１５３】
チェックの結果、１つでも範囲内に無い場合は、ステップ5605においてユーザインターフェース上にエラーダイアログを表示するなど、ジョブ発行拒否の処理を行い、終了する。ステップ5602のチェックの結果、全ての属性がコピーマネージャの持つ属性表内の各属性値の範囲内にある場合は、ステップ5603においてコピーマネージャの属性表中に禁止設定属性（属性ID801から805）が存在するかどうかチェックする。コピーマネージャの属性表が禁止設定属性を持つ場合は、ステップ5604においてマネージャが属性表内に持つ各禁止設定属性毎に指定されたジョブの属性が禁止されている設定値の組み合わせとなっていないかどうかチェックする。チェックの結果、禁止されている属性の設定値の組み合わせがある場合は、ステップ5605においてジョブ発行拒否の処理を行い終了する。ステップ5603のチェックの結果、マネージャが禁止設定属性を持たない場合およびステップ5604のチェックの結果ジョブの属性が禁止されている設定値の組み合わせとなっていない場合、ステップ5606においてジョブスクリプトを生成し、発行して終了する。ジョブスクリプトを受信した多機能周辺機器201のコピージョブマネージャは、図53、図54、図57に示される処理を行い、指示されたジョブの管理を行う。
【０１５４】
（ジョブ管理コマンドの発行）
図75は、ジョブ管理ユーティリティ512が、ジョブ管理コマンドを発行する場合の処理フローを表す。ステップ5701において、対象とするマネージャのサービスIDをパラメータとしてマネージャが保持するジョブ表（図20）をMFP201から取得する。ステップ5702において、取得したジョブ表に含まれるジョブリストの中から適当な方法で管理対象とするジョブの持つジョブIDを選択する。選択手段としては、ユーザインターフェース501を介してディスプレイ6003にジョブのリストを表示し、ユーザに選択させる方法などが含まれる。ステップ5703において、指定されたジョブIDをパラメータとするジョブ管理用コマンドを生成し、発行し終了する。ジョブ管理コマンドを受信した多機能周辺機器201のSupervisorは、図47、図48、図49、図50、図51、図60に示される処理を行い、指示されたジョブの管理を行う。
【０１５５】
なお、本発明は、単体で存在するコピー機、プリンタ、スキャナ等から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体（図76、図77）を、図2に示すようにシステムに供給し、そのシステムの装置（CPU301やCPU6001）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。Client PCに図77に示すプログラムやデータを供給する方法として図78に示すようにフロッピー（登録商標）ディスクFD7000に記憶させてPC本体7001に供給する方法も一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスクやハードディスク以外にも，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコード（図76、図77のプログラムコード）を、プログラム送出装置が図2に示すようなシステムの記憶手段（Memory302、Disk315、Memory6002、Disk6009）に、LANや公衆回線を介して供給し、そのシステムの装置（CPU301やCPU6001）が記憶手段に格納されたプログラムコードを読出し実行することによっても達成される。プログラム送出装置は、主にクライアントサーバ方式のシステムにおけるサーバであり、例えば、webサーバやftpサーバなどが挙げられる。この場合、プログラム送出装置が送出したプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを送出した送出装置は本発明を構成することになる。
【０１５８】
図79は図1のレーザービームプリンタエンジン103、104に適用可能なレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図で、このＬＢＰは、文字パターンデータ等を入力して記録紙に印刷することができる。図79において、8012はＬＢＰ本体であり、供給される文字パターン等を基に、記録媒体である記録紙上に像を形成する。8000は操作のためのスイツチ及びＬＥＤ表示器などが配されている操作パネル、8001はLBP8012全体の制御及び文字パターン情報等を解析するプリンタ制御ユニツトである。このプリンタ制御ユニツト8001は主に文字パターン情報をビデオ信号に変換してレーザドライバ8002に出力する。レーザドライバ8002は半導体レーザ8003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ8003から発射されるレーザ光8004をオン・オフ切替えする。レーザ光8004は回転多面鏡8005で左右方向に振られて静電ドラム8006上を走査する。これにより、静電ドラム8006上には文字パターンの静電潜像が形成される。この潜像は静電ドラム8006周囲の現像ユニツト8007により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP8012に装着した複数種の用紙に対応した複数の用紙カセツト8008に収納され、給紙ローラ8009及び搬送ローラ8010と8011とにより装置内に取込まれて、静電ドラム8006に供給される。
【０１５９】
図80は図1のインクジェットプリンタエンジン105に適用可能なインクジェット記録装置ＩＪＲＡの概観図である。同図において、駆動モータ9011の正逆回転に連動して駆動力伝達ギア9010，9008を介して回転するリードスクリュー9004の螺旋溝9003に対して係合するキャリッジＨＣはピン（不図示）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。9001は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン9000に対して押圧する。9006，9007はフォトカプラで、キャリッジのレバー9005のこの域での存在を確認して、モータ9011の回転方向切り換え等を行うためのホームポジション検知手段である。9013は記録ヘッドの前面をキャップするキャップ部材9019を支持する部材で、9012はこのキャップ内を吸引する吸引手段で、キャップ内開口9020を介して記録ヘッドの吸引回復を行う。9014はクリーニングブレードで、9016はこのブレードを前後方向に移動可能にする部材であり、本体支持板9015にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、9018は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム9017の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー9004の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【０１６０】
以上説明したように本実施形態によれば、情報処理装置からジョブが投入される論理デバイスの機能を保持し当該論理デバイスに投入されたジョブを管理する論理デバイス制御プログラム（スキャンジョブマネージャー419、プリントジョブマネージャー501から509、コピージョブマネージャー601から608）と周辺機器のデバイスエンジンの機能を保持し当該デバイスエンジンでのジョブを管理する物理デバイス制御プログラム（スキャナコントローラー420、LBPコントローラー510、511、Ink Jetコントローラー512）を用いてジョブを解析することができる。
【０１６１】
ここで、物理デバイス制御プログラムは、周辺機器のスキャナエンジンを制御するスキャナ制御プログラム（スキャナコントローラ420）である。物理デバイス制御プログラムは、周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラム（LBPコントローラー510、511）である。物理デバイス制御プログラムは、周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラム（Ink Jetプリンタコントローラー512）である。また、論理デバイス制御プログラムは、周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラム（プリントジョブマネージャー501から509）である。また、論理デバイス制御プログラムは、周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラム（スキャンジョブマネージャー419）である。また、論理デバイス制御プログラムは、周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラム（コピージョブマネージャー601から608）である。
【０１６２】
このような構成により、論理デバイス制御プログラムは論理デバイスがジョブの実行のために使用する少なくとも一つのデバイスエンジンとの関係を保持することができる。また、論理デバイスに投入されたジョブに基づいて実際にジョブ実行のために使用するデバイスエンジンを決定することができる。また、論理デバイス制御プログラムが保持する機能を変更できる。論理デバイスに投入されたジョブを実際に実行する物理デバイスで管理するジョブと関係付けて管理することができる。また、論理デバイス制御プログラムは複数存在し、複数の論理デバイス制御プログラムの負荷状態を比較して最適な論理デバイス制御プログラムを選択することができる。また、複数の論理デバイス制御プログラムとこれら複数の論理デバイス制御プログラムを統括する統括プログラム（Supervisor410）を
有し、当該統括プログラムはそれぞれの前記論理デバイス制御プログラムにジョブを投入する際に使用するサブアドレスと接続インタフェースの種類をそれぞれの論理デバイス制御プログラムに対応して付けて保持することができる。また、統括プログラムはサブアドレスが有効或いは無効かを示す情報の一覧を保持し、有効でないサブアドレスにジョブが投入された場合に当該ジョブを破棄することができる。また、統括プログラムは使用可能なユーザーの認証情報の一覧を保持し、入力したジョブに含まれるユーザー情報が当該認証情報の一覧に含まれない場合に当該ジョブのエラー報知をすることができる。また、統括プログラムは使用可能なユーザーの認証判断処理の種類を示すセキュリティレベルの一覧を保持することができる。また、論理デバイス制御プログラムはジョブを解析中にイベントが発生した場合にイベントデータを情報処理装置へ送信するための接続インタフェースと送信先アドレスの一覧を保持することができる。また、論理デバイス制御プログラムでジョブを解析中にイベントが発生した場合に、情報処理装置へ送信するための接続インタフェースと送信先アドレスの一覧を参照してイベントデータを送信することができる。
【０１６３】
また、以上説明したように本実施形態によれば、周辺機器（MFP201）から取得した機能に基づいて前記周辺機器へジョブスクリプトを発行できるか否か判断（ステップ5402から5404、ステップ5502から5504、ステップ5602から5604）することにより、その判断結果に応じてジョブ発行処理を制御できる。
【０１６４】
ここで、周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラム（フォントマネージャー413、フォームオーバーレイマネージャー414、ログマネージャー415、カラープロファイルマネージャー416）とそれらを統括する統括プログラムのそれぞれの機能を示す属性リスト（属性表）が当該周辺機器から取得される。また、ジョブ設定が禁止されている属性の組み合わせ（属性ID801からID805）が取得される。また、ダウンロードジョブ或いはプリントジョブが周辺機器へ発行される。また、アップロードジョブ或いはスキャンジョブが周辺機器へ発行される。また、取得した機能のダウンロード方法のサポートを示す属性（属性ID601）とジョブ発行対象のデータの存在位置に応じて、ジョブ発行方法が選択される。また、取得した機能のアップロード方法のサポートを示す属性（属性ID602）とジョブ発行対象のデータの保存位置に応じて、ジョブ発行方法が選択される。また、ジョブ発行対象のデータは、プリントドキュメントデータである。また、ジョブ発行対象のデータは、スキャンドキュメントデータである。また、ジョブ発行対象のデータは、フォントデータである。また、ジョブ発行対象のデータは、フォームオーバーレイデータである。また、ジョブ発行対象のデータは、カラープロファイルデータである。また、ジョブ発行対象のデータは、ログデータである。また、ジョブ発行対象のデータは、フォントデータである。また、周辺機器から受信したイベントに応じたイベントフォーマットデータを取得し、当該イベントフォーマットデータに基づいて受信したイベントが解析される。また、周辺機器のログデータと当該ログデータのログフォーマットデータを取得し、当該ログフォーマットデータに基づいて前記ログデータが解析される。また、周辺機器の課金データ（カウントデータ）と当該課金データのフォーマットデータを取得し、当該課金フォーマットデータに基づいて前記課金データが解析される。
【０１６５】
また、以上説明したように本実施形態によれば、周辺機器から取得した機能（属性値）に応じて、周辺機器を制御するための制御プログラムのユーザーインタフェースを自動構成（ステップ4813）することができる。また、取得した機能に応じて周辺機器のためのユーザーインタフェースの表示（図81、図82）を制御することができる。また、前記周辺機器の機能の設定範囲に関する情報（属性値）を取得することができる。また、設定範囲に関する情報はジョブ設定が禁止されている属性の組み合わせ（属性ID801からID805）で表現されている。また、周辺機器の機能選択肢に関する情報（属性値）を取得することができる。周辺機器から当該周辺機器の機能を示す属性リスト（属性表）を取得して、当該属性リストの属性IDを指定することによって属性値を取得することができる。また、周辺機器の物理デバイス制御プログラム、論理デバイス制御プログラム、リソース制御プログラムとそれらを統括する統括制御プログラムのそれぞれの機能を示す属性リスト（属性表）を当該周辺機器から取得することができる。また、物理デバイス制御プログラムは周辺機器のスキャナエンジンを制御するスキャナ制御プログラムである。また、物理デバイス制御プログラムは周辺機器のレーザービームプリンタエンジンを制御するレーザービームプリンタ制御プログラムである。また、物理デバイス制御プログラムは周辺機器のインクジェットプリンタエンジンを制御するインクジェットプリンタ制御プログラムである。また、論理デバイス制御プログラムは周辺機器のレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するプリントジョブ制御プログラムである。また、論理デバイス制御プログラムは周辺機器のスキャナ制御プログラムを制御するスキャナジョブ制御プログラムである。また、論理デバイス制御プログラムは周辺機器のスキャナ制御プログラムとレーザービームプリンタ制御プログラム或いはインクジェットプリンタ制御プログラム或いはレーザービームプリンタ制御プログラム及びインクジェットプリンタ制御プログラムを制御するコピージョブ制御プログラムである。また、リソース制御プログラムは周辺機器のフォントを管理するフォント制御プログラムである。また、リソース制御プログラムは周辺機器のフォームオーバーレイを管理するフォームオーバーレイ制御プログラムである。また、リソース制御プログラムは周辺機器のログを管理するログ制御プログラムである。また、リソース制御プログラムは周辺機器のカラープロファイルを管理するカラープロファイル制御プログラムである。
【図面の簡単な説明】
【０１６６】
【図１】本発明の一実施形態を示す多機能周辺機器（ＭＦＰ）の構成を示す図である。
【図２】本発明の一実施形態を示すシステム構成を示す図である。
【図３】図１に示したＭＦＰのコントローラのハード構成を示す図である。
【図４】図１に示したＭＦＰのコントローラのソフト構成を示す図である。
【図５】図１に示したＭＦＰのコントローラのソフト構成を示す図である。
【図６】図１に示したＭＦＰのコントローラのソフト構成を示す図である。
【図７】図４に示したＳｕｐｅｒｖｉｓｏｒ４１０の属性表を示す図である。
【図８】図７の属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図９】サブアドレス：サービスＩＤ対応表を示す図である。
【図１０】図９の接続形式ＩＤの意味を示す図である。
【図１１】サブアドレス：タスクタイプ対応表を示す図である。
【図１２】図１１のタスクタイプＩＤの意味を示す図である。
【図１３】ユーザ認証表を示す図である。
【図１４】アクセス制御表を示す図である。
【図１５】セキュリティレベルを示す図である。
【図１６】イベント設定表を示す図である。
【図１７】イベントフォーマット表を示す図である。
【図１８】プリントマネージャの属性表を示す図である。
【図１９】図１８に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図２０】ジョブ表を示す図である。
【図２１】ジョブ依頼表を示す図である。
【図２２】スキャンジョブマネージャの属性表を示す図である。
【図２３】図２２に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図２４】コピージョブマネージャの属性表を示す図である。
【図２５】図２４に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図２６】フォントマネージャの属性表を示す図である。
【図２７】図２６に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図２８】フォント表を示す図である。
【図２９】フォームオーバーレイマネージャの属性表を示す図である。
【図３０】図２９に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図３１】フォームオーバーレイ表を示す図である。
【図３２】ログマネージャの属性表を示す図である。
【図３３】図３２に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図３４】ログ表を示す図である。
【図３５】ログデータの内容を示す図である。
【図３６】ログフォーマット表を示す図である。
【図３７】カラープロファイルマネージャの属性表を示す図である。
【図３８】図３７に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図３９】カラープロファイル表を示す図である。
【図４０】プリンターコントローラの属性表を示す図である。
【図４１】図４０に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図４２】ジョブキュー表を示す図である。
【図４３】図４２のステータスを示す図である。
【図４４】スキャナコントローラの属性表を示す図である。
【図４５】図４４に示す属性表の属性ＩＤと型ＩＤの意味を示す図である。
【図４６】コマンドパケットの構造を示す図である。
【図４７】コマンドパケットの処理を示すフローチャートである。
【図４８】属性表のアクセス処理を示すフローチャートである。
【図４９】サービスＩＤ一覧問合わせ処理のフローチャートである。
【図５０】サブアドレス問合わせ処理のフローチャートである。
【図５１】タスクタイプを指定したサービスＩＤの問合わせ処理のフローチャートである。
【図５２】ジョブの構造を示す図である。
【図５３】各マネージャでのジョブスクリプト処理のフローチャートである。
【図５４】各マネージャでのジョブスクリプト処理のフローチャートである。
【図５５】プリントジョブマネージャでのジョブ処理のフローチャートである。
【図５６】スキャンジョブマネージャでのジョブ処理のフローチャートである。
【図５７】コピージョブマネージャでのジョブ処理のフローチャートである。
【図５８】フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャでのジョブ処理（ダウンロード）のフローチャートである。
【図５９】フォントマネージャ、フォームオーバーレイマネージャ、ログマネージャ、カラープロファイルマネージャでのジョブ処理（アップロード）のフローチャートである。
【図６０】各マネージャでのジョブ管理のフローチャートである。
【図６１】イベント送信のフローチャートである。
【図６２】機器からのデータ（スクリプト）送信のフローチャートである。
【図６３】ＣｌｉｅｎｔＰＣのハード構成を示す図である。
【図６４】ＣｌｉｅｎｔＰＣのソフトウエア（制御プログラム）構成を示す図である。
【図６５】パケット生成・送信処理のフローチャートである。
【図６６】Ｃｌｉｅｎｔ側での情報取得およびソフトウエア（制御プログラム）自動構成のフローチャートである。
【図６７】タスクタイプを指定したジョブ発行のフローチャートである。
【図６８】イベントの構造を示す図である。
【図６９】イベント送信のフローチャートである。
【図７０】ログ処理のフローチャートである。
【図７１】課金情報の取得・処理のフローチャートである。
【図７２】ジョブ発行（プリントジョブ、データダウンロード）のフローチャートである。
【図７３】ジョブ発行（スキャンジョブ、データアップロード）のフローチャートである。
【図７４】コピージョブ発行のフローチャートである。
【図７５】ジョブ管理コマンド発行のフローチャートである。
【図７６】ＭＦＰのＤＩＳＫ３１５のメモリマップである。
【図７７】ＣｌｉｅｎｔＰＣのＤＩＳＫ６００９のメモリマップである。
【図７８】ＣｌｉｅｎｔＰＣの構成を示す図である。
【図７９】ＭＦＰのレーザービームプリンタエンジンに適用可能なＬＢＰを示す図である。
【図８０】ＭＦＰのインクジェットプリンタエンジンに適用可能なＩＪＲＡを示す図である。
【図８１】ディスプレイに表示される表示画面のサンプルを示す図である。
【図８２】ディスプレイに表示される表示画面のサンプルを示す図である。
【図８３】マネージャの一覧表示を示す図である。
【図８４】プリンタ名の一覧表示を示す図である。
【図８５】プリンタのプロパティ画面を示す図である。
【図１】
2005192224.tif 000003
【図２】
2005192224.tif 000004
【図３】
2005192224.tif 000005
【図４】
2005192224.tif 000006
【図５】
2005192224.tif 000007
【図６】
2005192224.tif 000008
【図７】
2005192224.tif 000009
【図８】
2005192224.tif 000010
【図９】
2005192224.tif 000011
【図１０】
2005192224.tif 000012
【図１１】
2005192224.tif 000013
【図１２】
2005192224.tif 000014
【図１３】
2005192224.tif 000015
【図１４】
2005192224.tif 000016
【図１５】
2005192224.tif 000017
【図１６】
2005192224.tif 000018
【図１７】
2005192224.tif 000019
【図１８】
2005192224.tif 000020
【図１９】
2005192224.tif 000021
【図２０】
2005192224.tif 000022
【図２１】
2005192224.tif 000023
【図２２】
2005192224.tif 000024
【図２３】
2005192224.tif 000025
【図２４】
2005192224.tif 000026
【図２５】
2005192224.tif 000027
【図２６】
2005192224.tif 000028
【図２７】
2005192224.tif 000029
【図２８】
2005192224.tif 000030
【図２９】
2005192224.tif 000031
【図３０】
2005192224.tif 000032
【図３１】
2005192224.tif 000033
【図３２】
2005192224.tif 000034
【図３３】
2005192224.tif 000035
【図３４】
2005192224.tif 000036
【図３５】
2005192224.tif 000037
【図３６】
2005192224.tif 000038
【図３７】
2005192224.tif 000039
【図３８】
2005192224.tif 000040
【図３９】
2005192224.tif 000041
【図４０】
2005192224.tif 000042
【図４１】
2005192224.tif 000043
【図４２】
2005192224.tif 000044
【図４３】
2005192224.tif 000045
【図４４】
2005192224.tif 000046
【図４５】
2005192224.tif 000047
【図４６】
2005192224.tif 000048
【図４７】
2005192224.tif 000049
【図４８】
2005192224.tif 000050
【図４９】
2005192224.tif 000051
【図５０】
2005192224.tif 000052
【図５１】
2005192224.tif 000053
【図５２】
2005192224.tif 000054
【図５３】
2005192224.tif 000055
【図５４】
2005192224.tif 000056
【図５５】
2005192224.tif 000057
【図５６】
2005192224.tif 000058
【図５７】
2005192224.tif 000059
【図５８】
2005192224.tif 000060
【図５９】
2005192224.tif 000061
【図６０】
2005192224.tif 000062
【図６１】
2005192224.tif 000063
【図６２】
2005192224.tif 000064
【図６３】
2005192224.tif 000065
【図６４】
2005192224.tif 000066
【図６５】
2005192224.tif 000067
【図６６】
2005192224.tif 000068
【図６７】
2005192224.tif 000069
【図６８】
2005192224.tif 000070
【図６９】
2005192224.tif 000071
【図７０】
2005192224.tif 000072
【図７１】
2005192224.tif 000073
【図７２】
2005192224.tif 000074
【図７３】
2005192224.tif 000075
【図７４】
2005192224.tif 000076
【図７５】
2005192224.tif 000077
【図７６】
2005192224.tif 000078
【図７７】
2005192224.tif 000079
【図７８】
2005192224.tif 000080
【図７９】
2005192224.tif 000081
【図８０】
2005192224.tif 000082
【図８１】
2005192224.tif 000083
【図８２】
2005192224.tif 000084
【図８３】
2005192224.tif 000085
【図８４】
2005192224.tif 000086
【図８５】
2005192224.tif 000087