(57)【特許請求の範囲】
【請求項１】
ユーザが周辺機器の状態に関与することができるように設けられたフロントパネルを含む周辺機器とネットワークとのインタフェースとなるインタラクティブネットワーク装置であって、
前記ネットワークとのインタフェースとなり、前記ネットワークを介して周辺機器データを通信するためのネットワークインタフェースと、
前記周辺機器とのインタフェースとなり、前記周辺機器と前記周辺機器データを通信し、前記周辺機器から前記周辺機器の状態を受信するための周辺機器インタフェースと、
前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記フロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出し、前記所定の順序での複数の状態変化の検出に応答して、（ａ）ネットワーク情報と前記インタラクティブネットワーク装置の情報との内の少なくとも１つを含むテストページ情報を生成し、（ｂ）該生成されたテストページ情報を出力するよう制御するプロセッサとを有することを特徴とするインタラクティブネットワーク装置。
【請求項２】
前記所定の順序での複数の状態変化は、前記周辺機器のフロントパネルを介して所定時間内に所定回数発生することを特徴とする請求項１に記載のインタラクティブネットワーク装置。
【請求項３】
前記テストページ情報は前記周辺機器インタフェースを介して出力され、前記テストページ情報は前記周辺機器によって印刷されることを特徴とする請求項１又は２に記載のインタラクティブネットワーク装置。
【請求項４】
前記所定の順序での状態変化は、所定時間内に発生する所定回数のオンライン／オフラインの状態変化を含むことを特徴とする請求項１乃至３のいずれかに記載のインタラクティブネットワーク装置。
【請求項５】
前記周辺機器インタフェースは、状態についての専用線を含むセントロニクスインタフェースを含み、前記プロセッサは前記周辺機器の状態についての専用線を監視することにより、前記所定の順序での状態変化を検出することを特徴とする請求項１乃至４のいずれかに記載のインタラクティブネットワーク装置。
【請求項６】
前記プロセッサによって実行されるソフトウェアモジュールを格納するメモリをさらに有し、
前記プロセッサは、前記メモリに格納されたソフトウェアモジュールを実行し、前記テストページ情報を生成し、フォーマットすることを特徴とする請求項１乃至５のいずれかに記載のインタラクティブネットワーク装置。
【請求項７】
ネットワークとプリンタとのインタフェースとなり、テストページを生成し、前記プリンタによって前記テストページがプリント出力されるようにプリンタインタフェースを介して前記テストページを出力するインタラクティブネットワーク機器であって、
前記ネットワークとのインタフェースとなり、プリントジョブが受信されるネットワークインタフェースと、
前記プリンタとのインタフェースとなり、前記プリントジョブが送信され、プリンタの状態データが受信されるプリンタインタフェースと、
前記ネットワークインタフェースを介して受信される前記プリントジョブを格納するプリントバッファと、
少なくとも１つがプリントサーバモジュールである複数のソフトウェアモジュールを格納するメモリと、
（ａ）前記プリントサーバモジュールを実行し、前記プリントバッファに格納されている少なくとも１つのプリントジョブを前記プリンタインタフェースを介して前記プリンタに送信し、（ｂ）前記プリンタインタフェースを介して受信した前記状態データを解析し、前記状態データが示すプリンタの状態が前記プリンタのフロントパネルでの操作に従って所定の時間内に所定回数変化したかどうかを判断し、（ｃ）前記状態データが示すプリンタの状態が、前記プリンタのフロントパネルでの操作に従って所定の時間内に前記所定回数変化した場合、前記インタラクティブネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページを生成し、（ｄ）前記プリンタインタフェースを介して前記プリンタに前記テストページを出力するよう制御するプロセッサとを有することを特徴とするインタラクティブネットワーク機器。
【請求項８】
前記プリンタは、前記プリンタの状態を変更できる少なくとも１つのボタンを有するフロントパネルを備え、
前記状態データが示す状態は、前記フロントパネルの少なくとも１つのボタンを操作することにより、発生することを特徴とする請求項７に記載のインタラクティブネットワーク機器。
【請求項９】
ネットワークインタフェースによってネットワークに接続され、周辺機器インタフェースによって前記周辺機器に接続されたネットワーク機器から、前記ネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページ情報を出力する情報出力方法であって、
前記周辺機器のフロントパネルのボタンが所定時間内に所定回数操作されることにより、所定の順序で周辺機器を状態変化させる工程と、
前記周辺機器インタフェースを介して前記ネットワーク機器と前記周辺機器との間で前記所定の順序での状態変化を通信する工程と、
前記ネットワーク機器において、前記所定の順序での状態変化に応答して、前記ネットワーク機器の情報と前記ネットワーク情報との内の少なくとも１つを含むテストページ情報を生成する工程と、
前記テストページ情報を、前記周辺機器インタフェースを介して前記周辺機器と前記ネットワーク機器との間で通信する工程と、
前記周辺機器において、前記テストページ情報を出力する工程とを有することを特徴とする情報出力方法。
【請求項１０】
ネットワークインタフェースによってネットワークに接続され、周辺機器インタフェースによって前記周辺機器に接続されたネットワーク機器から、前記ネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページ情報を出力する情報出力方法であって、
前記ネットワーク機器において、前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記周辺機器のフロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出する工程と、
前記ネットワーク機器において、前記ネットワーク機器の情報と前記ネットワーク情報との内の少なくとも１つを含むテストページ情報を生成する工程と、
前記ネットワーク機器において、前記所定の順序での複数の状態変化の検出に応答して、前記テストページ情報を、前記周辺機器インタフェースを介して前記周辺機器に出力する工程とを有することを特徴とする情報出力方法。
【請求項１１】
ネットワークインタフェースによってネットワークに接続され、周辺機器インタフェースによって前記周辺機器に接続されたネットワーク機器から、前記ネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページ情報を出力する情報出力方法であって、
前記ネットワーク機器において、前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記周辺機器の状態が前記周辺機器のフロントパネルでの操作に従って所定の時間内に所定回数変化したことを検出する工程と、
前記ネットワーク機器において、前記ネットワーク機器の情報と前記ネットワーク情報との内の少なくとも１つを含むテストページ情報を生成する工程と、
前記ネットワーク機器において、前記周辺機器の状態が前記フロントパネルでの操作に従って前記所定の時間内に前記所定回数変化したことの検出に応答して、前記テストページ情報を、前記周辺機器インタフェースを介して前記周辺機器に出力する工程とを有することを特徴とする情報出力方法。
【請求項１２】
フロントパネルを含むプリンタとネットワークとのインタフェースとなり、テストページ情報を生成するネットワークボードであって、
前記ネットワークからのプリンタジョブと制御信号が受信され、前記ネットワークにプリンタの状態情報が送信されるネットワークインタフェースと、
前記プリンタに対してプリントジョブと制御信号とが送信され、プリンタの状態情報が前記プリンタから受信されるプリンタインタフェースと、
（ａ）前記プリンタの状態情報を受信し、前記プリンタの状態情報を解析し、所定の順序での複数の状態変化が前記プリンタのフロントパネルでの操作に従って発生したかどうかを判断し、（ｂ）前記所定の順序での複数の状態変化が発生したことが判断された場合には、前記プリンタインタフェースを介して前記プリンタにプリンタの状態情報について問い合わせ、（ｃ）前記プリンタインタフェースを介して前記プリンタの状態情報を受信し、（ｄ）前記プリンタ状態の情報とネットワーク情報とネットワークボードの情報との内の少なくとも１つを含むテストページ情報を生成し、（ｅ）該生成されたテストページ情報を出力するよう制御するプロセッサとを有することを特徴とするネットワークボード。
【請求項１３】
ネットワークとユーザが状態変化に関与できるように設けられたフロントパネルを含む周辺機器との間のインタフェースとなるネットワークボードであって、
前記ネットワークとのインタフェースとなり、周辺機器データと周辺機器情報が通信されるネットワークインタフェースと、
前記周辺機器とのインタフェースとなり、前記周辺機器データが受信され、前記周辺機器情報の要求が通信され、前記周辺機器の状態情報が受信される周辺機器インタフェースと、
前記周辺機器インタフェースを介して受信された状態情報を解析して、前記フロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出する検出手段と、
ネットワーク情報とネットワークボード情報との内の少なくとも１つを含むテストページ情報を生成する生成手段と、
前記所定の順序での複数の状態変化の検出に応じて、前記生成手段により生成されたテストページ情報を出力する出力手段とを有することを特徴とするネットワークボード。
【請求項１４】
ユーザが周辺機器の状態に関与することが可能であるように設けられたフロントパネルを含む周辺機器とネットワークとの間のインタフェースとなるネットワーク装置であって、
前記ネットワークとのインタフェースとなり、前記ネットワークを介して周辺機器データを通信するためのネットワークインタフェースと、
前記周辺機器とのインタフェースとなり、前記周辺機器と前記周辺機器データを通信し、前記周辺機器から前記周辺機器の状態を受信するための周辺機器インタフェースと、
前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記フロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出する検出手段と、
ネットワーク情報と前記ネットワーク装置の情報との内の少なくとも１つを含むテストページ情報を生成する生成手段と、
前記所定の順序での複数の状態変化の検出に応じて、前記生成手段により生成されたテストページ情報を出力する出力手段とを有することを特徴とするネットワーク装置。
【発明の詳細な説明】
発明の背景
発明の属する分野
本発明は周辺機器とネットワークとのインタフェースとなり、その周辺機器からの周辺機器状態データを受信し、その状態データに応答して、ネットワーク情報及び／或はネットワーク機器情報を含む（プリンタ情報を含んでも良い）テストページを生成し出力するネットワーク装置に関するものである。
参考文献による組込み
米国特許第５，３２３，３９３号「ネットワーク周辺機器の状態を取得・制御する方法及び装置」、米国特許出願第０８／３３６，０６２号「ネットワークプロトコルセンサ」、及び、米国特許出願第０８／３３６，０４３号「スマートフラッシュ」はここで参照によって本願に組み込まれる。
関連技術の説明
現在利用可能なプリンタにはしばしば、ユーザ操作が可能なボタンを持つフロントパネルが備えられている。これらのボタンの中には、プリンタについての状態や解析情報を含むページを生成しプリントさせるボタンがある。
そのようなプリンタはコンピュータ化されたローカルエリアネットワーク（ＬＡＮ）にネットワーク拡張ボードを用いて接続可能であり、このことは米国特許第５，３２３，３９３号に説明されている。しかしながら、そのボード（プリンタに対向するものとして）やフロントパネルを介してネットワークについてのテストページ情報を生成しプリントすることはできない。むしろ、そのような情報はネットワーク上のＰＣ（パーソナルコンピュータ）からのみアクセスされ、プリントされる。しかしながら、ネットワークやネットワークインタフェース情報をプリントするこの方法は不便なものである。特に、ネットワーク周辺機器が物理的にネットワークＰＣから遠く離れている場合にはそう言える。
DEClasar５１００▲Ｒ▼のような特殊なプリンタは、プリンタのフロントパネルのボタンを操作することにより、ネットワーク情報を含むテストページをプリント出力できる。しかしながら、これらのプリンタは、従来のプリンタにはないのはもちろんのこと、ファクシミリ装置やコピー機のような周辺機器にはなおさらない特別な“ネットワークテストページ”機能ボタンを持っている。さらにその上、DEClasar５１００▲Ｒ▼のようなプリンタは、他のプリンタとの互換性がないのはもちろんのこと、他の周辺機器とはなおさら互換性のない特別なネットワークインタフェースを有している。それゆえに、従来のネットワーク周辺機器のフロントパネルを介してネットワーク情報やネットワークインタフェース情報をプリントすることに関連した一般的な問題は、これらの特別なプリンタに係るものではない。
従って、ＬＡＮと従来のネットワーク周辺機器との間でインタフェースとなるインタフェースボードであって、ネットワーク周辺機器のフロントパネルを介して、ネットワーク情報やそのインタフェースボードに関連した情報が、プリント可能となるネットワークインタフェースボードの必要性が存在する。
発明の要約
前述の必要性は、従来のネットワーク周辺機器とＬＡＮとのインタフェースとなり、その周辺機器における所定順序の状態変化に応答して、ネットワーク情報とネットワークインタフェース情報とを含むテストページ情報を生成・出力するネットワーク機器である本発明によって扱われている。その周辺機器における所定順序の状態変化に応答して、そのネットワーク機器はテストページ情報を生成出力するので、そのテストページ情報は、ネットワーク周辺機器の状態を変化させるためにその周辺機器のフロントパネルの機能ボタンを操作することによって、従来のネットワーク周辺機器において、生成出力できる。
本発明における１つの特徴は、ユーザが周辺機器の状態に関与することができるように設けられたフロントパネルを含む周辺機器とネットワークとのインタフェースとなるインタラクティブネットワーク装置である。そのインタラクティブネットワーク装置は、前記ネットワークとのインタフェースとなり、前記ネットワークを介して周辺機器データを通信するためのネットワークインタフェースと、前記周辺機器とのインタフェースとなり、前記周辺機器と前記周辺機器データを通信し、前記周辺機器から前記周辺機器の状態を受信するための周辺機器インタフェースと、前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記フロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出し、前記所定の順序での複数の状態変化の検出に応答して、（ａ）ネットワーク情報と前記インタラクティブネットワーク装置の情報との内の少なくとも１つを含むテストページ情報を生成し、（ｂ）該生成されたテストページ情報を出力するよう制御するプロセッサとを有することを特徴とする。
前述のインタラクティブネットワーク装置が、周辺機器について所定の順序での状態変化に応答してテストページ情報を生成出力するので、その周辺機器のフロントパネルを介してインタラクティブネットワーク装置からネットワーク情報及び／或はネットワークインタフェース情報をプリントすることが可能である。
本発明のもう１つの特徴は、ネットワークとプリンタとのインタフェースとなり、テストページを生成し、前記プリンタによって前記テストページがプリント出力されるようにプリンタインタフェースを介して前記テストページを出力するインタラクティブネットワーク機器である。この機器は、前記ネットワークとのインタフェースとなり、プリントジョブが受信されるネットワークインタフェースと、前記プリンタとのインタフェースとなり、前記プリントジョブが送信され、プリンタの状態データが受信されるプリンタインタフェースと、前記ネットワークインタフェースを介して受信される前記プリントジョブを格納するプリントバッファと、少なくとも１つがプリントサーバモジュールである複数のソフトウェアモジュールを格納するメモリと、（ａ）前記プリントサーバモジュールを実行し、前記プリントバッファに格納されている少なくとも１つのプリントジョブを前記プリンタインタフェースを介して前記プリンタに送信し、（ｂ）前記プリンタインタフェースを介して受信した前記状態データを解析し、前記状態データが示すプリンタの状態が前記プリンタのフロントパネルでの操作に従って所定の時間内に所定回数変化したかどうかを判断し、（ｃ）前記状態データが示すプリンタの状態が、前記フロントパネルでの操作に従って所定の時間内に前記所定回数変化した場合、前記インタラクティブネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページを生成し、（ｄ）前記プリンタインタフェースを介して前記プリンタに前記テストページを出力するよう制御するプロセッサとを有することを特徴とする。
上記のような特徴によって、ネットワーク拡張機器がインストールされているプリンタのフロントパネルの機能ボタンを操作することにより、そのプリンタにテストページをプリント出力することが可能となる。
また、もう１つの特徴によれば、本発明はネットワークインタフェースによってネットワークに接続され、周辺機器インタフェースによって前記周辺機器に接続されたネットワーク機器から、前記ネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページ情報を出力する情報出力方法である。その方法は、前記周辺機器のフロントパネルのボタンが所定時間内に所定回数操作されることにより、所定の順序で周辺機器を状態変化させる工程と、前記周辺機器インタフェースを介して前記ネットワーク機器と前記周辺機器との間で前記所定の順序での状態変化を通信する工程と、前記ネットワーク機器において、前記所定の順序での状態変化に応答して、前記ネットワーク機器の情報と前記ネットワーク情報との内の少なくとも１つを含むテストページ情報を生成する工程と、前記テストページ情報を、前記周辺機器インタフェースを介して前記周辺機器と前記ネットワーク機器との間で通信する工程と、前記周辺機器において、前記テストページ情報を出力する工程とを有することを特徴とする。
さらに別の特徴によれば、本発明はネットワークインタフェースによってネットワークに接続され、周辺機器インタフェースによって前記周辺機器に接続されたネットワーク機器から、前記ネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページ情報を出力する情報出力方法である。その方法は、前記ネットワーク機器において、前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記周辺機器のフロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出する工程と、前記ネットワーク機器において、前記ネットワーク機器の情報と前記ネットワーク情報との内の少なくとも１つを含むテストページ情報を生成する工程と、前記ネットワーク機器において、前記所定の順序での複数の状態変化の検出に応答して、前記テストページ情報を、前記周辺機器インタフェースを介して前記周辺機器に出力する工程とを有することを特徴とする。
さらに別の特徴によれば、本発明はネットワークインタフェースによってネットワークに接続され、周辺機器インタフェースによって前記周辺機器に接続されたネットワーク機器から、前記ネットワーク機器の情報とネットワーク情報との内の少なくとも１つを含むテストページ情報を出力する情報出力方法である。その方法は、前記ネットワーク機器において、前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記周辺機器の状態が前記周辺機器のフロントパネルでの操作に従って所定の時間内に所定回数変化したことを検出する工程と、前記ネットワーク機器において、前記ネットワーク機器の情報と前記ネットワーク情報との内の少なくとも１つを含むテストページ情報を生成する工程と、前記ネットワーク機器において、前記周辺機器の状態が前記フロントパネルでの操作に従って前記所定の時間内に前記所定回数変化したことの検出に応答して、前記テストページ情報を、前記周辺機器インタフェースを介して前記周辺機器に出力する工程とを有することを特徴とする。
さらにまた別の特徴によれば、本発明はフロントパネルを含むプリンタとネットワークとのインタフェースとなり、テストページ情報を生成するネットワークボードである。そのネットワークボードは、前記ネットワークからのプリンタジョブと制御信号が受信され、前記ネットワークにプリンタの状態情報が送信されるネットワークインタフェースと、前記プリンタに対してプリントジョブと制御信号とが送信され、プリンタの状態情報が前記プリンタから受信されるプリンタインタフェースと、（ａ）前記プリンタの状態情報を受信し、前記プリンタの状態情報を解析し、所定の順序での複数の状態変化が前記プリンタのフロントパネルでの操作に従って発生したかどうかを判断し、（ｂ）前記所定の順序での複数の状態変化が発生したことが判断された場合には、前記プリンタインタフェースを介して前記プリンタにプリンタの状態情報について問い合わせ、（ｃ）前記プリンタインタフェースを介して前記プリンタの状態情報を受信し、（ｄ）前記プリンタ状態の情報とネットワーク情報とネットワークボードの情報との内の少なくとも１つを含むテストページ情報を生成し、（ｅ）該生成されたテストページ情報を出力するよう制御するプロセッサとを有することを特徴とする。
前述のプリンタインタフェースは双方向通信が可能であるので、前述のネットワークボードにより大容量のプリンタ状態情報をプリンタからそのネットワークボードに送信することが可能になる。従って、プロセッサはプリンタからのプリンタ状態情報を要求し、テストページ情報を生成する出力する際にはそのプリンタ状態情報を含めることができる。
さらにまた別の特徴によれば、本発明はネットワークとユーザが状態変化に関与できるように設けられたフロントパネルを含む周辺機器との間のインタフェースとなるネットワークボードである。そのネットワークボードは、前記ネットワークとのインタフェースとなり、周辺機器データと周辺機器情報が通信されるネットワークインタフェースと、前記周辺機器とのインタフェースとなり、前記周辺機器データが受信され、前記周辺機器情報の要求が通信され、前記周辺機器の状態情報が受信される周辺機器インタフェースと、前記周辺機器インタフェースを介して受信された状態情報を解析して、前記フロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出する検出手段と、ネットワーク情報とネットワークボード情報との内の少なくとも１つを含むテストページ情報を生成する生成手段と、前記所定の順序での複数の状態変化の検出に応じて、前記生成手段により生成されたテストページ情報を出力する出力手段とを有することを特徴とする。
さらにまた別の特徴によれば、本発明はユーザが周辺機器の状態に関与することが可能であるように設けられたフロントパネルを含む周辺機器とネットワークとの間のインタフェースとなるネットワーク装置である。その装置は、前記ネットワークとのインタフェースとなり、前記ネットワークを介して周辺機器データを通信するためのネットワークインタフェースと、前記周辺機器とのインタフェースとなり、前記周辺機器と前記周辺機器データを通信し、前記周辺機器から前記周辺機器の状態を受信するための周辺機器インタフェースと、前記周辺機器インタフェースによって受信した前記周辺機器の状態を解析して、前記フロントパネルを介して発生する前記周辺機器における所定の順序での複数の状態変化を検出する検出手段と、ネットワーク情報と前記ネットワーク装置の情報との内の少なくとも１つを含むテストページ情報を生成する生成手段と、前記所定の順序での複数の状態変化の検出に応じて、前記生成手段により生成されたテストページ情報を出力する出力手段とを有することを特徴とする。
さて、この簡単な要約は発明の性質を即座に理解できるように備えられている。しかし、本発明についてのより完全な理解は、添付図面を参照しながら次の詳細な実施形態の説明から得られる。
【図面の簡単な説明】
図１は、ネットワーク機器が接続されたローカルエリアネットワークとワイドエリアネットワークを示す図である。
図２Ａは、キャノン製ＬＢＰ１２６０レーザプリンタのようなレーザプリンタの正面図である。
図２Ｂは、そのパラレルポートにネットワーク機器がインストールされたプリンタの背面図である。
図３は、プリンタとローカルエリアネットワークとの間に接続されたネットワーク機器を示すブロック図である。
図４Ａ及び図４Ｂは夫々、ＲＪ−４５コネクタをもつネットワーク機器上の各要素の物理的レイアウトを示す回路ボードの上面図と底面図である。
図５Ａ及び図５Ｂは夫々、ＢＮＣコネクタをもつネットワーク機器上の各要素の物理的レイアウトを示す回路ボードの上面図と底面図である。
図６は、ＲＪ−４５コネクタをもつネットワーク機器の機能構成を示すブロック図である。
図７は、ＢＮＣコネクタをもつネットワーク機器の機能構成を示すブロック図である。
図８は、フラッシュＥＰＲＯＭに格納可能な幾つかのソフトウェアモジュールの例を示す図である。
図９は、ＣＰＳＯＣＫＥＴにおいて実行される自動ロギングを示すフローチャートである。
図１０Ａ及び図１０Ｂは、異なる選択可能レベルのデータについて自動ロギングを示すフローチャートである。
図１１は、ログファイルを出力するための処理を示すフローチャートである。
図１２は、種々の条件に応答して契機となる条件を検出する処理を示すフローチャートである。
図１３は、ログファイルの例を示す図である。
図１４は、テストページ生成出力処理を示すフローチャートである。
図１５は、ＸＰＬモジュール内でテストページモジュールの動作を示すフローチャートである。
図１６は、テストページの例を示す図である。
図１７は、デバッグ情報出力処理を示すフローチャートである。
図１８は、種々の可能な条件について契機となる条件を検出する処理を示すフローチャートである。
図１９は、受信画像形成データについてデバッグ情報出力処理を示すフローチャートである。
図２０は、デバッグ情報出力のサンプルを示す図である。
図２１は、ネットワークボードが接続されたローカルエリアネットワークとワイドエリアネットワークを示す図である。
図２２は、キャノン製ＬＢＰ１２６０レーザプリンタに組み込まれたネットワークボードを示す破断斜視図である。
図２３は、プリンタとローカルエリアネットワークとの間に接続されたネットワークボードを示すブロック図である。
図２４は、ネットワークボード上の種々の要素の物理的レイアウトを示すブロック図である。
図２５は、ネットワークボードの前面プレートを示す図である。
図２６は、ネットワークボードの機能を示すブロック図である。
図２７は、ＣＰＳＯＣＫＥＴにおいて実行される自動ロギング処理を示すフローチャートである。
図２８Ａ及び図２８Ｂは、異なる選択可能レベルのデータについての自動ロギングを示すフローチャートである。
図２９は、ログファイルの例を示す図である。
図３０は、プリンタ情報をプリンタに問い合わせし、テストページにプリンタ情報を含むようにしたＸＰＬモジュール内のテストページモジュールの動作を示すフローチャートである。
好適な実施形態の詳細な説明
１つの実施形態として、本発明は、ハードウェア、ソフトウェア、及び、ファームウェアのソルーションを提供し、プリンタのようなネットワーク周辺機器を、ネットワークからデータを受信処理し、ＮＥＤ状態とＮＥＤ機能情報と共にネットワークに限定した量の周辺機器状態情報とを送信することが可能なインテリジェント対話型ネットワーク構成要素にするネットワーク拡張機器（ＮＥＤ）に適用される。ファクシミリ装置、コピー機、他のネットワーク接続可能な周辺機器、特に、情報の出力可能な画像処理周辺機器のような他のネットワーク周辺機器において、ＮＥＤを用いることも可能である。周辺機器とともに、ＮＥＤハードウェア、ソフトウェア、ファームウェアとをインテグレーションすることによって、ネットワークパーソナルコンピュータを周辺機器サーバとして専従して動作させる必要性がなくなる。
［ネットワークアーキテクチュア］
図１は周辺機器インタフェースを介して片側がプリンタ１０２に結合されたＮＥＤ１００１に組み込まれた本発明を示すブロック図である。ＮＥＤ１００１のもう１つの側はローカルエリアネットワーク（ＬＡＮ）１００にＬＡＮインタフェース、例えば、同軸（Coax）コネクタによる１０Ｂａｓｅ−２イーサネットやＲＪ−４５コネクタによる１０Ｂａｓｅ−Ｔイーサネットを介して接続されている。
複数のパーソナルコンピュータ（ＰＣｓ）、例えば、ＰＣ１０３、ＰＣ１０４もまた、ネットワークオペレーティングシステムの制御の下、ＬＡＮ１００に接続されており、これらのＰＣはＮＥＤ１００１と交信可能である。ＰＣの１つ、例えば、ＰＣ１０３はネットワーク管理ワークステーションとして割り当てられる。ＰＣはプリンタ１０５がＰＣ１０４に接続されているように、接続されたプリンタをもつこともある。
また、ＬＡＮ１００に接続されたファイルサーバ１０６は、大容量（例えば、１０ギガバイト）のネットワークディスク１０７に格納されたファイルへのアクセスを管理する。プリントサーバ１０８は、プリンタ１０５のようなリモートプリンタも含め、接続されたプリンタ１０９、１１０へのプリントサービス機能を備える。ＬＡＮ１００には他の不図示の周辺機器も接続可能である。
さらに詳細に言えば、図１で図示されているネットワークは、異種結合ネットワークである。異種結合ネットワークとは、種々のネットワーク機器の間での通信を可能とするために、Ｎｏｖｅｌｌ、ＵＮＩＸ、或は、ＡｐｐｌｅＴａｌｋのようなどんなネットワークソフトウェアでも利用できるネットワークのことを言う。この実施形態では、もちろん他のネットワークソフトウェアも利用可能であるが、ＮｏｖｅｌｌのＮｅｔｗａｒｅ▲Ｒ▼を利用するＬＡＮについて説明する。このソフトウェアパッケージの詳細な説明は、ここで参照として本発明に組み込まれているＭ＆Ｔ社（著作権保有）出版の１９９０年版“Ｎｅｔｗａｒｅ▲Ｒ▼ユーザーズガイド”と“Ｎｅｔｗａｒｅ▲Ｒ▼管理者（スーパバイザ）ガイド”にある。さらに、Ｎｏｖｅｌｌ社発行の１９９１年３月版、“Ｎｅｔｗａｒｅ▲Ｒ▼プリントサーバ”、Ｎｏｖｅｌｌパートナンバ100-000892-001も参照されたい。
簡単に言えば、ファイルサーバ１０６はネットワークに接続されたワークステーションについて、集中型ファイル記憶装置としての働きをする。ＰＣ１０３、１０４は、そのディスクがまるでこれらのＰＣに直接接続されているかのようにファイルサーバ１０６にデータファイルを格納できる。さらに、ファイルサーバ１０６は、受信、格納、照会、及び、プリンタファイルのネットワークプリンタへの送信を行うことによって、共有プリンタサービスを提供する。例えば、ＰＣ１０３、１０４によって夫々創成されたプリントファイルは、そのファイルを格納するファイルサーバ１０６を経由して、それから、プリントサーバ１０８からの命令によってプリンタ１０９にそのプリントファイルを転送する。
ＰＣ１０３と１０４は夫々、データファイルを生成し、それをＬＡＮ１００に送信し、ＬＡＮ１００からファイルを受信し、そのようなファイルを表示及び／或は処理することが可能な標準的なパーソナルコンピュータ（ＰＣ）を含んでいる。しかしながら、パーソナルコンピュータの装置は図１に図示したようなものであるが、実行されるネットワークソフトウェアに適するように、他の構成のコンピュータ装置もまた含まれる。例えば、ＵＮＩＸソフトウェア使用時には、ネットワークにＵＮＩＸワークステーションが含まれるし、それらのワークステーションが、適切な環境の下では、図示のＰＣと関連して用いられても良い。同様に、ＡｐｐｌｅＴａｌｋソフトウェア（例えば、イーサトーク（ＥｔｈｅｒＴａｌｋ））使用時には、マッキントッシュワークステーションがネットワークに含まれていても良い。
ＬＡＮ１００のようなＬＡＮは通常、ビルディングの１つのフロア或は連続するフロアにいる一群のユーザのように、まさしく群れとなって存在するグループのユーザに種々の機能を提供する。ユーザが、例えば、異なったビルディングにいるとか或は異なった国にいるとか、互いにもっと遠く離れているようになると、広域ネットワーク（ＷＡＮ）を創成しても良い。ＷＡＮは本質的には高速統合化サービスデジタルネットワーク（ＩＳＤＮ）電話回線のような高速デジタル回線によって全てが接続された複数ＬＡＮの集合体である。従って、図１に示されているように、ＬＡＮ１００、１１０、１２０が接続され、変調器／復調器（モデム）／トランスポンダ１３０と複数バス間の単なる電気接続であるバックボーン１４０とを介して、ＷＡＮを形成する。必ずしも、必要なことではないが、各ＬＡＮは夫々に自分のＰＣを有し、夫々に普通は自身のファイルサーバとプリントサーバとを有している。
従って、図１に示されているように、ＬＡＮ１１０は、ＰＣ１１１と１１２、ファイルサーバ１１３、ネットワークディスク１１４、プリントサーバ１１５、プリンタ１１６、１１７とを含んでいる。一方、ＬＡＮ１２０は、ただＰＣ１２１と１２２とを含むのみである。ＷＡＮ接続を介して、ＬＡＮ１００、１１０、１２０のいづれの装置も、他のＬＡＮの装置に対してアクセスすることができる。
ＰＣ１０４は、ＲＰＲＩＮＴＥＲソフトウェアを実行することができる。ＲＰＲＩＮＴＥＲプログラムは、ＭＳ−ＤＯＳのターミネイト−アンド−ステイ−レジデント（“ＴＳＲ”）プログラムであり、これによって、ユーザがＰＣ１０４に接続されたプリンタの共有が可能になり、一方、同時にＰＣ１０４が他の非プリント系アプリケーションの実行が可能になる。ＲＰＲＩＮＴＥＲは相対的にはインテリジェント能力のないプログラムであり、作業のためにプリンタキューを探す能力はもっていない。ＲＰＲＩＮＴＥＲは、ネットワークのどこかで動作しているプリントサーバ１０８からその作業を得る。そのソフトウェアは、プリンタパラレルポートを介して接続されたプリンタと通信するので、ＲＰＲＩＮＴＥＲを実行しているＰＣ１０４は、プリンタ１０５から限定的な状態情報を得て、ＬＡＮ１００を介してプリントサーバ１０８にその状態情報を返すことができる。制御という観点からすれば、ＲＰＲＩＮＴＥＲによって、例えば、プリンタが用紙切れであったり、オフラインにあったりするとき、プリントジョブを停止することが可能になる。あるプリンタでは、パーソナルコンピュータで実行するＲＰＲＩＮＴＥＲのＴＳＲプログラムと同じ限定的な特徴を備える内部或は外部回路基板を設けることによってＲＰＲＩＮＴＥＲの特徴を含んでいる。
プリントサーバ１０８は、ＬＡＮ周辺機器を介してより重要な制御を実行することが可能であるが、他のどんなタスクに対しても使用できない専用のＰＣを必要とする。それ自身がＰＣでも有り得るプリントサーバ１０８は、多数のユーザ定義のプリントキューをサービスする能力をもち、動的サーチキュー変更を実行し、例外（失敗）条件と状態についての定義された通知手順と制御能力とを備え、ローカルプリンタ１０９、１１０（即ち、プリントサーバ１０８に物理的に接続されたプリンタ）と、リモートプリンタとの両方を制御できる。ローカルプリンタ１０９、１１０は、シリアルポートかパラレルポートに接続可能であり、プリンタ１０５のようなリモートプリンタは、ＲＰＲＩＮＴＥＲソフトウェアを通じてプリントサーバ１０８がサービスするシステムのどこかで動作しているプリンタである。
プリントサーバ１０８は、多くのローカル或はリモートプリンタを制御可能であり、多くのファイルサーバキューからのプリント情報を要求することが可能である。しかしながら、ネットワークプリントサービスを制御するのにプリントサーバ１０８に依存することにはいくつかの問題がある。最初の問題とは、多くのプリンタストリームが全て、１つのネットワークノードを通って送り込まなければならないことである。これによって、ボトルネックが発生し得る。２番目の問題とは、最適効率の運用を考えると、プリンタは、プリンタ１０９、１１０のように、そのプリントサーバにローカルに接続されるべきである。これはユーザにとって不便なことである。なぜなら、このことにはプリンタがプリントサーバ１０８の周辺に群をなして存在することが求められ、また、ユーザがその群をなしているプリンタの所にまで足を運ぶことが求められるからである。３番目の問題とは、もし、ＲＰＲＩＮＴＥＲによってサービスされているプリンタ１０５の場合がそうであるように、制御されているプリンタがリモートであるなら、プリントデータは、いくつかの場所を経て移動しなければならない。具体的には、まず、ファイルサーバ１０６からプリントサーバ１０８へ、次に、プリントサーバ１０８からＲＰＲＩＮＴＥＲを動作させているプリンタへという具合である。これは非効率である。
［ネットワーク機器］
ＮＥＤ１００１をプリンタ１０２にインストールすることによって、プリンタ１０２がインテリジェント機能を備えた、インタラクティブなネットワーク構成機器になるので、上述したように、ネットワーク周辺機器の制御エンティティにわたって、多くの利点が備えられる。
図２Ａはプリンタ１０２の正面図である。プリンタ１０２には用紙トレイ１０２２とフロントパネル１０２１とが備えられている。図示されてるように、フロントパネル１０２１は、複数の機能ボタンを備え、その内の少なくとも１つが従来からのオンライン／オフラインボタンであり、他のいくつかのボタンはプリンタ１０２の状態を変更できるボタンである。
図２Ｂに示されているように、ＮＥＤ１００１は周辺機器インタフェース、ここではプリンタ１０２のパラレルポートを介してプリンタ１０２に接続されている。そのパラレルポートは、キャノン社製ＬＢＰ１２６０レーザプリンタのような市販のプリンタでは一般的な機能である。ＮＥＤ１００１がインストール可能なパラレルポートは、制限されている訳ではないが、古典的なセントロニクスパラレルポートやＩＢＭ  ＰＣパラレルポートを含んでいる。なお、セントロニクスパラレルポートは、例えば、セントロニクス技術標準（Centronics Engineering Standard）No. 9, Revision B, Genicom Corp.１９８０年４月９日版（例えば、プリンタ１０２におけるAmphenol 57-40360或は、その相当品、及び、ＮＥＤ１００１におけるAmphenol 57-40360或は、その相当品）に説明されている。また、ＩＢＭ  ＰＣパラレルポートは、例えば、ＩＢＭパーソナルコンピュータ技術リファレンスオプション及びアダプタマニュアル（IBM Personal Computer Technical Reference Options and Adapters Manual）No. 6322509, IBM Corp.,１９９４年４月版に説明されている。これによって、ＮＥＤ１００１が後述する処理とデータ格納機能を備えたネットワークノードになる。
ＮＥＤ１００１のアーキテクチュアは、大規模なマルチエリアＷＡＮネットワークの管理運営についてのユニークな支援機能をもっているので、利点がある。これらの支援機能には、例えば、（ネットワーク管理者のオフィスからのような）プリンタ制御、ネットワークをまたがってアクセス可能であるＮＥＤ１００１によって生成されたプリンタの作業負荷を特徴づけまたトナーカートリッジ交換を計画するためのプリンタログ或は利用状況の統計が含まれている。さらに、ＮＥＤ１００１はＬＡＮに限定された量のプリンタ状態情報を転送して戻すことができる。具体的には、“ビジー”、“用紙切れ”、“Ｉ／Ｏエラー”、“オンライン／オフライン”信号が、専用情報ラインを介して、前述のセントロニクスインタフェースで、プリンタ１０２からＮＥＤ１００１に送信可能である。これらはＮＥＤ１００１によって可能され、要求に応じてＬＡＮ１００に転送される。
図３は、ＮＥＤ１００１のプリンタ１０２への電気的接続を示すブロック図である。ＮＥＤ１００１は、ＬＡＮインタフェースを介してＬＡＮ１００に、また、パラレルインタフェース１０５０を介してプリンタ１０２に直接接続される。本発明の好適な実施形態では、パラレルインタフェース１０５０は、上述したように、単方向の３６ピンの古典的なセントロニクスインタフェースコネクタである。しかし、他の周辺機器インタフェースの使用も可能である。
［ＮＥＤの物理的レイアウト］
図４Ａ及び図４Ｂは、ＮＥＤ１００１の好適な実施形態の上面図と底面図を示し、その主要な構成要素の物理的なレイアウトを示している。ＮＥＤ１００１は、長さが３．２５インチ、幅が２．２５インチ、厚さが１インチ、重さが約３オンスである。パラレルインタフェース１０５０のために、ＮＥＤ１００１は、プリンタ１０２のパラレルポートにフィットする３６ピンのパラレルポートコネクタを用いている。コネクタ３０１はＬＡＮ１００を絶縁変圧器（Isolation Transformer）１７９０を介してＮＥＤ１００１に接続するが、好適には、１０Ｂａｓｅ−Ｔを接続可能なＲＪ−４５コネクタが良い。ＮＥＤ１００１には、３つの状態発光ダイオード（ＬＥＤ）３０４〜３０６が含まれている。また、ＮＥＤ１００１には、マイクロプロセッサ１７３、トランシーバ１７１、発振器１７２、フラッシュ消去可能プログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）１７４、インタフェース変換ロジック９００、動的ランダムアクセスメモリ（ＤＲＡＭ）１７５、静的ランダムアクセスメモリ（ＳＲＡＭ）１７６、ネットワーク及びネットワークインタフェース制御ロジック５００、及び、シリアルポートコネクタ６００が備えられている。これらの構成要素各々については後で詳述する。
ＬＥＤ３０４〜３０６に関して、ＮＥＤ１００１において、状態ＬＥＤ３０４はＮＥＤ１００１がＬＡＮ１００からのデータ受信時に点灯し、状態ＬＥＤ３０５はＮＥＤ１００１がＬＡＮ１００に接続時に点灯し、状態ＬＥＤ３０６はＮＥＤ１００１の自己診断テストの間点灯する。
図５Ａ及び図５Ｂは、ＮＥＤ１００１の別の実施形態の上面図と底面図を示し、ここではＮＥＤ１００１はＬＡＮ１００にコネクタ３０２を介して接続するが、コネクタ３０１と絶縁変圧器１７９０とは含んでいない。コネクタ３０２は、１０Ｂａｓｅ−２接続が可能な単純な同軸（coax）コネクタである。この実施形態における他の構成要素は、構造的にも機能的にも、図４Ａ及び図４Ｂに示したものと同一である。さらに別の実施形態では、両方のタイプのＬＡＮコネクタ、即ち、ＲＪ−４５とＢＮＣコネクタとが１つのＮＥＤに備えることができるようにしても良い。
［ＮＥＤアーキテクチュア］
ＮＥＤ１００１のアーキテクチュアが図６に示されている。全ての回路に対する電力は、＋５Ｖ電源１７７から５Ｖ電源レギュレータ１７８０を介してＮＥＤ１００１に供給される。
ネットワークとネットワークインタフェース制御ロジック５００は好適には単一の１４４ピンのアプリケーション専用集積回路（ＡＳＩＣ）であり、ネットワークコントローラ５１０、インタフェース制御ロジック５２０、及び、ＳＣＳＩコントローラ５３０とを含んでいる。ネットワークコントローラ５１０はナショナルＤＰ８３９０２Ａ“ＳＴ−ＮＩＣ”イーサネットコントローラと互換性のあるＮＣＲマクロセルである。なお、ナショナルＤＰ８３９０２Ａ“ＳＴ−ＮＩＣ”イーサネットコントローラの詳細は、ナショナル半導体ローカルエリアネットワークデータブック、ナショナルセミコンダクタｐ／ｎ４０００５５、ナショナルセミコンダクタ、１９９３年版に述べられている。ネットワークコントローラ５１０は、ＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）タイプのローカルエリアネットワークとインタフェースをもつために設計されている。ＳＣＳＩコントローラ５３０は、ＮＣＲ５３Ｃ８０ＳＣＳＩコントローラチップマクロセルであり、その詳細は“ＮＣＲ５３８０ファミリ”ＳＣＳＩチップリファレンスマニュアル、ＮＣＲマイクロエレクトロニクスに述べられている。
この実施形態では、ネットワークコントローラ５１０は絶縁変圧器１７９０を介してＲＪ−４５コネクタと接続されている。ネットワークコントローラ５１０はまた、イーサネットデータのために入出力パケットバッファとして用いられる８ＫＢのＳＲＡＭ１７６と結合されている。このメモリのアクセス時間は、約７０nsec以下であることが好ましい。
図４Ａ及び図４Ｂで示したＲＪ−４５による接続ではなく同軸ネットワーク接続を用いる図５Ａ及び図５Ｂに関連して上述した実施形態に関して、図７はトランシーバ１７１を介して同軸コネクタ３０２に接続するネットワークコントローラ５１０を示している。トランシーバ１７１は、好適にはナショナルセミコンダクタＤＰ８３９２同軸トランシーバインタフェースであり、その詳細もまたナショナルローカルエリアネットワークデータブックに述べられている。
インタフェース制御ロジック５２０は、ネットワークコントローラ５１０とマイクロプロセッサ１７３とメモリデバイスＥＰＲＯＭ１７４と、ＤＲＡＭ１７５との間のインタフェースを備える。ＥＰＲＯＭ１７４は、ＮＥＤ１００１がインストールされるプリンタ１０２に電力が投入されている間、初期データ格納のために不揮発性記憶として用いられる２５６バイトを含んでいる。ＮＥＤ１００１はＥＰＲＯＭ１７４の個々の場所への書き換えができ、これによって、従来はＮＶＲＡＭに格納されていた情報の格納をＥＰＲＯＭ１７４で可能になるので、ディスクリートＮＶＲＡＭチップはＮＥＤ１００１には必要がない。ネットワーク及びプリンタ構成のパラメータは、プリンタが最初にネットワークにインストールされ、ＮＥＤソフトウェアがプリンタ電源のオフ／オン後にそのインストールパラメータを回復できるようになったとき、ＥＰＲＯＭ１７４に書き込まれる。
インタフェース制御ロジック５２０はまた、いくつかのシリアルポートコネクタ６００に接続している。そのコネクタは、夫々にデバックのためにシリアルデータストリームを受信、送信できる受信データピン６０１、送信データピン６０２を有している。インタフェース制御ロジック５２０は受信データラインに存在するデータを検知し、決まった間隔でそのシリアルビットをサンプルする。
インタフェース制御ロジック５２０はさらにＳＣＳＩコントローラ５３０とも結合される。そのコントローラは、ネットワークとネットワークインタフェース制御ロジック５００からインタフェース変換ロジック９００へのデータ転送を制御する。なお、ＳＣＳＩコントローラ５３０とインタフェース変換ロジック９００は本発明の動作には不可欠な要素ではない。むしろ、出願人は、発明の名称が“スマートフラッシュ”という米国特許出願第０８／３３６，０４３号で説明されている回路を再利用するように、ＮＥＤ１００１がＳＣＳＩコントローラ５３０を含むように構成している。
この点について、インタフェース変換ロジック９００は、その詳細がアドバンストマイクロデバイスパブリケーション（Advanced Micro Devices Publication）、Ｎｏ．１６７５１、１９９４年４月版に説明されているＭＡＣＨ２１５ＰＡＬが好適であり、ＳＣＳＩインタフェースコントローラ５３０から受信した制御信号をＳＣＳＩプロトコルからセントロニクスインタフェースのようなパラレルインタフェースを駆動するための制御信号に変換するために用いられる。従って、ＳＣＳＩコントローラがパラレルインタフェース１０５０を制御するために用いられないＮＥＤでは、インタフェース変換ロジック９００もまた、用いられることはない。
ＮＥＤ１００１の中央コントローラはマイクロプロセッサ１７３であり、好適にはインテル社製の８ビットプロセッサ８０Ｃ１８８ＥＡ−２０である。その詳細は、８０Ｃ１８６ＥＡ／８０１８８ＥＡユーザーズマニュアル、インテル（Intel）p/n  270950-001、インテル社（Intel Corp.）に見ることができる。発振器１７２はマイクロプロセッサ１７３に４０ＭＨｚのクロック信号を供給する。このプロセッサは、８ビットプロセッサであり、ダイレクトメモリアクセス（ＤＭＡ）、インタラプト、タイマ、ＤＲＡＭリフレッシュ制御の機能をもつ。ＡＭＤ社製８ビットプロセッサ８０Ｃ１８８−２０のような他のマイクロプロセッサを代わりに使用することもできる。２５６ＫＢのフラッシュＥＰＲＯＭ１７４と５１２ＫＢのＤＲＡＭ１７５は、インタフェース制御ロジック５２０を介してマイクロプロセッサ１７３に結合される。
マイクロプロセッサ１７３は、制御ファームウェアとプリントアプリケーションソフトウェアを格納したフラッシュＥＰＲＯＭ１７４にある命令を実行する。電源投入時の自己診断（ＰＯＳＴ）の後、コードは選択的により高性能の５１２ＫＢＤＲＡＭ１７５に移動させられる。実際の実行のためには、ＤＲＡＭ１７５のアクセス時間は約８０nsecであることが好ましい。フラッシュＥＰＲＯＭ１７４は、上述の米国特許出願第０８／３３６，０４３号に説明されているように、ＬＡＮ１００から再プログラム可能、或は、“フラッシュ化”可能である。
図８は、フラッシュＥＰＲＯＭ１７４に格納されたコードブロック或はソフトウェアモジュールのいくつかの例を示す。ＸＰＬモジュールはプリンタ１０２とＮＥＤ１００１との間の標準的なインタフェースを提供し、また、ＮＥＤ１００１が後で詳述するがプリンタ１０２における所定順序での状態変化を検出するときテストページを生成するために用いられる。ＭＬＩＤ（Multi Link Interface Driver）は、ネットワーク接続の最下位レベルである１群のカスタマイズされたコード（ハードウェア支援モジュール（Hardware Support Module）或はＨＳＭ）とともにリンクされる１群のNovellコード（メディア支援モジュール（Media Support Module）或はＭＳＭ）である。一方、ＬＳＬ（Link Support Layer（リンク支援層））は、１群のNovellコードであり、下位レベルのＭＬＩＤとその上位にスタックするいくつかのプロトコルとの間のマルチプレクサとしてふるまう。ＣＮＴＥＸはカスタマイズされたコードであり、ローカルなＤＯＳに似た機能呼び出しを、ＯＰＥＮ、ＲＥＡＤ、ＷＲＩＴＥ、ＣＬＯＳＥのようなファイル機能を備えるネットワーク機能呼び出しに換える。
ＰＲＥＴＡＳＫモジュールは、後に述べるが、どんなフレームタイプが種々の可能性のあるプロトコルスタックと関連しているのか識別する役目がある。ＮＥＤ１００１は多数のプロトコルスタックをサポートするので、このモジュールはＮＥＤ１００１が動作している限り、ＮＥＤ１００１に常駐する。
NovellのＩＰＸ／ＳＰＸプロトコルスタックはフラッシュＥＰＲＯＭ１７４に含まれ、ＳＡＰ或はサービス・アドバタイジング・プロトコル（Service Advertising Protocol）によってサポートされる。ＳＡＰは、デバイスがそれ自身を、アクティブなネットワークエンティティとインアクティブなネットワークエンティティとをリストしているファイルサーバのバインダリへ登録を可能にする概念である。キャノン社▲Ｒ▼のデバイスは特殊な種類のバインダリ項目となるので、ＳＡＰはＣＰＳＯＣＫＥＴを介してＮＥＤ１００１に登録する。そして、ＮＥＤ１００１がプリントサーバとして、即ち、標準的なバインダリ項目として構成されているなら、ＳＡＰはまた、そのプリントサーバをＮｅｔｗａｒｅのバインダリに登録する。
ＣＰＳＥＲＶＥＲはNovellのプリントサーバアプリケーションのカスタムインプリメンテーションである。このモジュールは、自己生成のプリントバーナ、完了及び例外状態のユーザ通知、プリンタへのプリントデータと状態コマンドの送信機能を備える。ＣＰＳＥＲＶＥＲは、ローカルプリンタ（即ち、ＮＥＤ１００１がインストールされたプリンタ１０２）を駆動する専用のものであり、他のリモートＲＰＲＩＮＴＥＲを駆動できないので、Novellのプリントサーバとは異なる。このプログラムは、プリントジョブの実行中、プリントデータ経路を所有する。ＣＲＰＲＩＮＴＥＲは、NovellのＲＰＲＩＮＴＥＲプリントアプリケーションのカスタムインプリメンテーションである。このモジュールは、Novellのプリントサーバアプリケーション、即ち、ＬＡＮ１００のどこかにあるＰＳＥＲＶＥＲによってデータを送られるアプリケーションである。
ＴＣＰ／ＩＰプロトコルスタックは、その中に、ユーザデータグラムプロトコル（ＵＤＰ（User Datagram Protocol））、リザーブアドレスレゾルーションプロトコル（ＲＡＲＰ（Reserve Address Resolution Protocol））、ブートＰ（BootP）サポートを有する。ＩＮＴＥＲＲＵＰＴは、ＴＣＰ／ＩＰタスクについてのインタラプト・ハンドラであり、一方、ＴＩＭＥＲＴＩＣＫは、ＵＮＩＸのＴＣＰ／ＩＰネットワークタスクについてのタイマのしるしである。ＬＰＲＩＮＴＳＥＲＶＥＲは、ＴＣＰ／ＩＰプリントサーバアプリケーションであり、また、プリントジョブ実行中のプリントデータ経路を所有する。
ＣＰＳＯＣＫＥＴプログラムは、全てのプロトコルスタックについて実行する。そのプログラムは、接続要求、データのダウンロード要求、或は、リモートユーティリティからのサービス要求に応答し、内部プロセス通信を介して他のタスクへの状態制御を備える。ＣＰＳＯＣＫＥＴは、通常、ＮＥＤ１００１とプリンタ１０２との間の状態制御経路を有しているので、ステータスラインを介してプリンタの状態を取得する能力を有する唯一のタスクである。ＣＰＳＯＣＫＥＴは、Novellに適応した状態と制御ユーティリティ（ＣＰＮＥＴ）との間、或は、ＵＮＩＸに適応した状態と制御ユーティリティ（ｃｐｕｔｉｌ）との間のネットワーク接続とパケット内容に責任をもつ。
ＭＯＮＩＴＯＲは、タスク創成、タスク消去、マイクロプロセッサのディスパッチを実行するカスタマイズされたマルチタスクのモニタである。ＭＯＮＩＴＯＲはまた、メモリ管理のサブモジュールＭＥＭＧＥＴとＭＥＭＦＲＥＥとを有している。ＲＥＳＩＤＥＮＴは、プリンタ１０２に電源が投入されている間、初期化データ格納のための不揮発性記憶として用いられる２５６バイトのフラッシュＥＰＲＯＭ１７４への書き込みと読み出し、ＦＬＡＳＨコード、ＲＯＭに基づくデバッガ、ハードウェアタイマによる印づけ、及び、他の基本的な機能のような一般的なサービスを提供する１群のルーチンである。ＰＯＳＴは電源投入時、ＮＥＤハードウェア及びソフトウェアの完全性をチェックする電源投入時の自己診断モジュールである。
フラッシュＥＰＲＯＭ１７４はまた、すべてのネットワークボード、ハードウェア構成、ボード改訂番号等についてユニークな、つまり、回路ボードに不変の情報と、ソフトウェアのバージョン番号のように変化し得る情報とを格納するネットワーク認識ファイル（“ＮＩＦ”）データブロックを格納する。ＮＩＦデータブロックにおける情報は、フラッシュＥＰＲＯＭ１７４が互換性のないイメージで再プログラムされないことを保証するために用いられる。
具体的には、フラッシュＥＰＲＯＭ１７４は、モデル番号、ファームウェアレベル、ボード改訂番号のような“ボード”情報と、どのネットワークボード、ボード名、ネットワークフレームタイプ、プライマリファイルサーバ識別、キューサービス、ネットワークプロトコル、サンプリング周波数、ＰＳＥＲＶＥＲ名、ゾーン名等に関して唯一なメディアアクセス制御（“ＭＡＣ”）アドレスのような“ネットワーク”情報を格納する。
［ＮＥＤの機能性］
広義に言えば、ＮＥＤ１００１はプリンタ１０２をＬＡＮ１００に結合し、プリンタ１０２を応答性に優れたインタラクティブなネットワークの構成要素とするインタラクティブネットワークデバイスである。ＮＥＤ１００１はＬＡＮ１００からプリントデータ及び状態要求を受信し、プリント１０２にそのプリントを送信してプリントを実行させる。ＮＥＤ１００１とプリンタ１０２のインタフェースが古典的なセントロニクスインタフェースのような単方向パラレルインタフェースである場合には、プリンタ１０２からの限定された量の状態情報がＮＥＤ１００１によって受信される。具体的には、そのようなインタフェースは、４つの専用プリンタスタータスライン、つまり、“ビジー”ステータスライン、“用紙切れ”ステータスライン、“Ｉ／Ｏエラー”ステータスライン、“オンライン／オフライン”ステータスラインのみを含み、これらからマイクロプロセッサ１７３はプリンタ１０２からの状態情報を受信し、ＬＡＮ１００にその状態情報を送信できる。
従って、ＮＥＤ１００１はＲＰＲＩＮＴＥＲリモートプリンタサービスとＰＳＥＲＶＥＲプリントサーバ機能とを実行できるのみならず、ネットワーク構成要素に対して、周辺機器インタフェースから利用可能などんな状態制御機能も提供することができる。ＮＥＤ１００１を介して、ネットワーク構成要素はＮＥＤ１００１によって生成され格納された、例えば、プリントジョブ数、ジョブ当りの時間などの状態情報とともに、オンライン／オフライン時間、用紙エラーのような限定的なプリンタ状態情報にアクセスできる。
全てのネットワークトラフィックは、絶縁変圧器１７９０を介してネットワークコントローラ５１０とインタフェースをもつＲＪ−４５コネクタ（或は、トランシーバ１７１を介してネットワークコントローラ５１０とインタフェースをもつＢＮＣコネクタ３０２）を通ってＮＥＤ１００１に入ったり、ＮＥＤ１００１を離れたりする。ネットワーク通信は、コネクタ３０１と他のデバイスとの間で、ネットワークコントローラ５１０とコネクタ３０１のネットワークトラフィックとマイクロプロセッサ１７３のデータバスとの間のデータの流れを制御するインタフェース制御ロジック５２０とを用いて、転送される。
マイクロプロセッサ１７３によって実行される全てのソフトウェアモジュールは、フラッシュＥＰＲＯＭ１７４に格納される。タイマによる印付けのようないつも必要となる下位レベルのモジュールは、ＥＰＲＯＭ１７４から直接外に呼び出して実行される。しかしながら、大部分については、マイクロプロセッサ１７３はフラッシュＥＰＲＯＭ１７４から直接にソフトウェアモジュールを実行することはせず、むしろ、選択的に必要となるモジュールをＤＲＡＭ１７５にロードして、ＤＲＡＭ１７５から実行する。このような構成によって、フラッシュＥＰＲＯＭ１７４から取り出される特定のモジュールを選択し、ＤＲＡＭ１７５で実行し、ＮＥＤ１００１を柔軟に構成することが可能になる。
例えば、多くの通信プロトコルタイプはＬＡＮ１００に広まるので、ＮＥＤ１００１はフラッシュＥＰＲＯＭ１７４内に複数のプロトコルを支援するソフトウェアモジュールを含む。ＮＥＤ１００１は、異種ネットワークの全てのネットワークトラフィックを監視して、使用中のプロトコルタイプ（１種或は複数種）を判断する。そして、検出したプロトコルに対応するプロトコルスタック（１種或は複数種）をＤＲＡＭ１７５にロードする。
新しいプロトコルスタックを含んでいるかもしれない新しいイメージでフラッシュＥＰＲＯＭ１７４を再プログラムすることは、また、ＤＲＡＭ１７５を介して実行される。ネットワークやシリアルポートコネクタ６００を介して受信されるコマンドのような再プログラムするための新しいイメージと命令とが受信されると、ソフトウェア再プログラミングモジュールがＥＰＲＯＭ１７４からＤＲＡＭ１７５にロードされる。マイクロプロセッサ１７３はＤＲＡＭ１７３からこのモジュールを実行し、その新しいファームウェアイメージがＮＥＤ１００１の構成と互換性があることを確認し、発明の名称を“スマートフラッシュ”という米国特許出願第０８／３３６，０４３号に説明されているように、もし互換性が確認されるならＥＰＲＯＭ１７４を再プログラムする。
マイクロプロセッサ１７３は、ＤＲＡＭ１７５からロードされたプロトコルスタックを実行して、そのプロトコルを用いて他のＬＡＮ構成要素に対して或はその構成要素からネットワーク通信の送受信を行うことができる。プリントジョブデータはネットワークコントローラ５１０によって受信され、インタフェース制御ロジック５２０を介してマイクロプロセッサ１７３に送られる。マイクロプロセッサ１７３は、そのプリントジョブデータをフォーマットし、パラレルインタフェース１０５０を介してプリンタ１０２にそのプリントジョブデータを送信する。
シリアルポートコネクタ６００が設けられることによって、ＮＥＤ１００１を外部コンピュータからデバックすることが可能になる。シリアルポートコネクタ６００はインタフェース制御ロジック５２０に結合され、そのロジックはシリアルポートコネクタ６００の受信データピン６０１からシリアルデータを受け、マイクロプロセッサ１７３とそのシリアルデータをビット毎に通信する。マイクロプロセッサ１７３はそのシリアルデータのスタートビットがマイクロプロセッサの非マスクインタラプトを起動するようにインタフェース制御ロジック５２０を適合させる。それから、マイクロプロセッサ１７３はシリアルデータのデータビットを８ビットワードに組み立てる。さらに、インタフェース制御ロジック５２０は、マイクロプロセッサ１７３のデータバスを監視し、そこに存在するデータのシリアルストリームを通過させ、シリアルポートコネクタ６００のデータピン６０２に送信する。
［ＮＥＤアクセスと構成］
ＮＥＤ１００１で利用可能な情報にアクセスするため、ＣＰＮＥＴと呼ばれるプログラムはネットワーク（ＵＮＩＸ環境では、ＣＰＮＥＴの代わりにｃｐｕｔｉｌが動作する）に常駐し、通常は、パブリックディレクトリに存在する。そのディレクトリはネットワーク管理者によってアクセス可能であり、ネットワーク管理者はＮＥＤ１００１に含まれている情報を見ることができる。ＣＰＮＥＴプログラムは、ＮＥＤ１００１（及び他のネットワーク構成要素）とインタフェースをもつことが可能であり、そして、選択されたネットワーク機器についての現在の情報（インタフェース情報、制御情報、構成情報、統計情報）を表示するといった機能を実行することができる。ＣＰＮＥＴはまたＮＥＤ１００１のアプリケーションを起動したり停止させたりすることができる。さらに、ＣＰＮＥＴによって、ＰＣ１０３がログファイルを表示したり、そのログファイルを消去したり、そのログファイルをローカル或はファイルシステムディスクのようなメモリに書き込むことができるようになる。ＣＰＮＥＴはまた、ＰＣ１０３上に、ジョブ数、ジョブ当りの時間、一日当りの総ジョブ数、前回の統計情報がリセットされてからの経過日数のようなプリンタ関連統計情報を表示できる。ＣＰＮＥＴプログラムはまた、メディア関連及び非メディア関連情報のようなネットワーク関連情報をＰＣ１０３に表示したり、そのようなネットワーク統計を消去することができる。
ＣＰＮＥＴは付加的な制御へのアクセスとプリンタ１０２の機能監視を可能にしている。これらの特徴は、ネットワーク管理者であるＰＣ１０３が離れた場所からプリンタ１０２を制御し、維持できるようにすることで、ＬＡＮ１００にまたがるプリントサービス管理を強化する。要約すると、ＣＰＮＥＴはプリンタ制御機能をネットワーク管理者に提供するユーティリティであり、ネットワーク管理者がネットワーク及びプリンタ状態や、ジョブ統計や、以前に処理されたジョブやエラー状態のログを見ることができるようにしている。ＣＰＮＥＴはＮＥＤに組み込まれたソフトウェアプログラムモジュールＣＰＳＯＣＫＥＴを交信することによって、要求された情報を収集する。
ＣＰＮＥＴプログラムはまた、ＮＥＤ１００１に装着されたプリンタ１０２を構成し、再構成し、初期化するために機能する。具体的には、ＣＰＮＥＴプログラムは、ＣＰＳＥＲＶＥＲやＣＲＰＲＩＮＴＥＲ（これらは一般的には上述したＰＳＥＲＶＥＲとＲＰＲＩＮＴＥＲソフトウェアパッケージに類似している）のようなアプリケーション情報プリントサービスをセットアップし、これらのアプリケーションを適合させることができる。ＣＰＮＥＴはまた、時間／日付／時間帯、バッファサイズ、ディスクサイズ、ロギングフラグ、ログ制限のような機器情報をセットしたり、或は／及び、表示することができる。ＣＰＮＥＴはさらにまた、デフォルトサービス設定を回復したり、ＮＥＤ１００１をリセットしたり、ＮＥＤ１００１をリブートしたり、ＮＥＤの電源投入時自己診断（“ＰＯＳＴ”）エラーを表示したり、ＮＥＤ１００１のファームウェアレベルを表示したり、現在のログファイルサイズなどを表示したりできる。
ＣＰＮＥＴプログラムは、ＮＥＤ１００１を構成し、接続プリンタとともにプリントサーバとしてふるまい、ＮＥＤ１００１がどのキューにサービスを与えるかを決定するプライマリファイルサーバを特定する。ＣＰＮＥＴは、ＬＡＮ１００上の全ての同様なカスタマイズされた機器（例えば、他のプリンタにインストールされたＮＥＤなど）を監視するプログラムである。ＣＰＮＥＴは、ＬＡＮ１００を介して他のネットワーク機器と交信することによって、このタスクを成し遂げている。ＣＰＮＥＴは、ＣＰＳＥＲＶＥＲ或はＣＲＰＲＩＮＴＥＲとしてＮＥＤ１０００を構成するように、適切な基本構成情報でＮＥＤ１００１を構成するために用いられる。ＣＰＮＥＴはまた、ＮＥＤ１００１についての（ＮＥＤ１００１にロードされるファームウェアレベルのような）状態情報を表示し、そして、潜在するＰＯＳＴエラーを報告する。
ＣＰＮＥＴプログラムはネットワーク全体をスキャンして、ＬＡＮ１００上で他のどんなカスタマイズされた機器が利用可能であるのかを調べる。ＮＥＤは、そのような識別番号、機器種別、構成状態をもった他のカスタマイズされた機器ＳＡＰと接続している。ＣＰＮＥＴはまた、ネットワーク管理者に呈示されるＮＥＤと機器の一覧を作り上げ、それらの構成や再構成を可能にしている。
ＮＥＤ１００１のファームウェアは初めに構成されるが、ＰＣ１０３のようなネットワーク管理者ＰＣでＣＰＮＥＴを実行することによって、後で、再構成することもできる。しかしながら、未構成状態であってさえも、ＮＥＤ１００１それ自身は常に、ＬＡＮ１００との基本的な通信を実行するために必要なソフトウェアモジュールを起動する。ＣＰＮＥＴを用いて、ネットワーク管理者は遠隔的にＮＥＤ１００１の現在の構成を決定でき、或は、管理者が望むようにその構成を変更できる。構成情報はＮＥＤ１００１のＥＰＲＯＭ１７４に格納されているのであるから、その構成情報は、電源断となっても保持される。
初期化時には、ＣＰＮＥＴはファイルサーバ１０６のバインダリをスキャンして、ＮＥＤ１００１のカスタマイズされたソフトウェアを有する全てのネットワーク機器を探索する。それから、ＣＰＮＥＴはカスタマイズされたクライアントソケットを用いてＣＰＳＯＣＫＥＴとの特別な結合を確立する。ＣＰＳＯＣＫＥＴとの複数接続がサポートされている。ＣＰＳＯＣＫＥＴは、ＮＥＤ制御、機器情報、基本構成情報、アプリケーション情報、統計情報、ロギングなどのクライアント・サービス・トランザクションを備えている。例えば、ＣＰＮＥＴは、アプリケーションが構成されることを要求できるし、構成済のアプリケーションの起動や停止を要求できる。ＣＰＳＯＣＫＥＴは、適切なオプション（プロトコルスタック）が利用可能であり、アプリケーション自身が構成可能となる前にアプリケーションのために構成されることを保証している。ＮＥＤ１００１の中では、ＣＰＳＯＣＫＥＴの実行モジュールは常に起動されている。
上述のように、ＣＰＳＯＣＫＥＴは周辺機器の状態及び制御情報がＬＡＮ１００と交信できるようにカスタマイズされ、ＮＥＤに組み込まれたソフトウェアである。ＣＰＳＯＣＫＥＴはＮＥＤ１００１上で実行され、ＮＥＤ１００１とプリンタ１０２との両方に当てられた通信のためにＬＡＮ１００を監視する。具体的には、ＣＰＳＯＣＫＥＴはＣＰＮＥＴが実行中にはＣＰＮＥＴと交信する。また、ＣＰＳＯＣＫＥＴはＮＥＤ１００１の構成を請け負う。さらに、ＣＰＳＯＣＫＥＴはＣＰＮＥＴの要求で、ＮＥＤ１００１のアプリケーションを構成し、起動する。ＣＰＳＯＣＫＥＴはまた、正しいプロトコルスタックが構成されたアプリケーション各々について利用可能であることを保証する。ＣＰＳＯＣＫＥＴは、ＣＰＮＥＴの要求で、ＮＥＤ１００１の設定とプリンタの変数を取り扱う。最後に、ダウンロード機能（例えば、ネットワーク管理者のＰＣ）はＣＰＳＯＣＫＥＴと連絡し、必要とされるＥＰＲＯＭ１７４をフラッシングするようなファームウェアダウンロードを実行する。
［自動ロギング機能］
バックグランドとして、いくつかのＬＡＮ周辺機器は、自分自身の統計情報を維持するが、ＮＥＤ１００１は毎日零時にその時点の現在の状態と、プリンタ１０２の毎日の統計情報とをロギングする能力をもつ。これによって、ネットワーク管理者は、毎日のこのロギングを行うことを思い出す必要はなくなる。状態及び統計情報データは、例えば、ＮＥＤのＤＲＡＭ１７５に格納される。格納されるログファイルのサイズとデータとは、各メモリの残存メモリ容量とネットワーク管理者によって選択されるロギングレベルによって必要とされる統計情報とに依存して、ネットワーク管理者によって選択される。もし、そのログファイルがいっぱいになれば、そのメモリ領域の周辺に新しいログデータは単純に蓄積され、これによって、旧いログデータを新しいログデータで置換する。
図９は、ＣＰＳＯＣＫＥＴによってＮＥＤ１００１で実行される処理の一部の概略を示すフローチャートである。ステップＳ９０１では、ＮＥＤ１００１は、ＬＡＮ１００から現在時刻を受信する。例えば、ＮＥＤ１００１は近くのファイルサーバに照会し、その時刻を要求できる。現在時刻受信後、処理はステップＳ９０２に進み、いまが午前零時であるかどうか、即ち、戻ってくる時刻が新しい日付を示しているかどうかを判断する。
ステップＳ９０２〜Ｓ９０４は、プリンタ１０２に関して、自動的にかつ体系的に状態情報を格納するために実行される所謂“自動ロギング”機能を含んでいる。ステップＳ９０２では、もし時刻が午前零時に達していないなら、その手順は他のタスクを続行する。しかしながら、時刻が午前零時に達すると、処理はステップＳ９０３に進み、マイクロプロセッサ１７３は一日当りのジョブ数のようなプリンタ統計を計算する。ＮＥＤ１００１はプリンタ１０２に送られるジョブ数とその日付を追跡し続ける。その情報は、ログファイルに格納される。さらに、ＮＥＤ１００１はプリンタ１０２のオンライン状態とともに、Ｉ／Ｏ状態、用紙切れ状態、プリンタビジー状態を監視する。ＮＥＤ１００１はそのような情報を用いて、一日当りのジョブ数、プリンタ１０２がオフラインとなっている分などのような統計情報を計算する。さらに、各ジョブのジョブヘッダがそのジョブの頁数のようなデータを含むなら、その情報もまたログされる。しかしながら、ＮＥＤ１００１とプリンタ１０２との間のインタフェースが単方向性であるので、ＮＥＤ１００１はプリントされた実際の頁数、プリント時間、或は、プリンタ１０２についての詳細な状態とエラー情報のような情報をログすることができない。
ステップＳ９０４では、そのプリンタ統計情報がメモリに転送される。或は、ステップＳ９０３とＳ９０４をステップＳ９０２の前に実行して、統計情報が毎分格納されるようにしても良い。
ステップＳ９０２〜Ｓ９０４について要約すると、単方向性のインタフェースを介してＬＡＮ通信のためにＮＥＤ１００１に接続されるプリンタのシステム統計情報をロギングする方法には、ＮＥＤ１００１で、プリントされるジョブ数をカウントすることを含む。それから、ＮＥＤ１００１はそのジョブ数と他の状態情報とを用いて、毎日の統計情報を計算する。その毎日の統計情報は格納され、ＣＰＮＥＴを用いて、ＰＣ１０３のようなネットワーク管理者のＰＣからアクセスされ、リモートに表示される。上述のように、“自動ロギング”の機能の付加的な特徴は、異なるレベルの統計情報が格納されるということである。例えば、基本レベルでは、ジョブ数のような統計情報がログされる。さらに高いレベルでは、統計情報とエラー情報とがログされる。これらには、ジョブ数、失敗条件（その失敗条件は用紙切れやオフライン状態に限定されるが）、ジョブ開始終了時刻が含まれる。そのロギングレベルはＣＰＮＥＴによって設定される。
ＣＰＮＥＴの使用時、ネットワーク管理者に利用可能な１つのオプションは、表示履歴情報オプションを選択するオプションである。そのオプションによって、ネットワーク管理者はＮＥＤ１００１がコンパイルする一連のジョブ関連統計情報を表示することが可能になる。その表示される統計情報には、ジョブ平均、頁平均、性能データを含む。統計情報に加えて、ＮＥＤ１００１は各プリントジョブについてのログエントリを創成できる。ネットワーク管理者はまた、ＣＰＮＥＴによって構成されるように、その統計情報を初期化するオプションを選択したり、そのログエントリをワークステーションディスクに書き込んだり、そのログファイルを消去したりできる。
もし、ネットワーク管理者が表示オプションを選択するなら、ＣＰＮＥＴは、ＬＡＮインタフェースを介して、対象とするＮＥＤへのログファイルＬＡＮ要求を指示する。その対象となるＮＥＤにおいて、ＣＰＳＯＣＫＥＴはその要求を受信し、どこに格納されていてもログファイルを探し出し、ＬＡＮインタフェースを介してネットワークにログファイルを提供し、ＣＰＮＥＴで受信されるようにする。
そのログファイルには、３つのカテゴリ、即ち、日毎、累積、平均、に分割された統計情報についての値が含まれる。“日毎”は現在の日の値を示す。“累積”は最後にリセットされてからの全ての日、或は、ディスクドライブのないプリントの電源投入されてからの全ての日についてのトータルを示す。“平均”は、累積トータルを最後にリセットされてからの全ての日で割ったものである。これら３つのカテゴリ各々について（ＣＰＮＥＴがロギングレベルを“ＮＯＮＥ”に設定していないなら）、ＮＥＤは次の値についてのトータル値を保持する。即ち、日数（リセットされて以来の日数、或は、電源投入されて以来の日数）、処理されたプリントジョブ数、ジョブ情報、エラー情報、及び、オフライン情報である。
ＣＰＮＥＴはまた、格納されたログファイルを見たり、プリントしたりするためにそのログファイルを画面上に取り出す。そのログファイルは、逆日付順となっており、次のレコードタイプを含んでいる。そのログファイルの正確な内容は、図１に要約されているように、ＣＰＮＥＴによって設定されたロギングレベルに従って、変化する。なお、そのログファイルの各項目は、日付と時間のエントリとともに格納される。
0003825801.tif 000002
図９に関して上述したように、ステップＳ９０２〜Ｓ９０４には自動ロギング機能が含まれており、その機能によって、周辺機器統計情報（例えば、一日当りのプリント頁数）とエラーイベントが後での取り出しのために自動的にログされる。ここで、ロギングレベル（統計分析度）は、ネットワーク管理者によって変更可能である。一般に、ネットワーク管理者はロギングレベルを選択し、どんなときでもログファイルからプリンタ統計情報とエラーイベントを抽出できる。そのような機能のネットワーク管理者の部分については既に説明したが、その検討内容とそこで説明された表、特に、表１を参照する必要があるかもしれない。表１は、ＣＰＮＥＴによって設定されたロギングレベルに依存したログファイルの内容を示している。
ネットワーク管理者は、４つのロギングレベル、つまり、ＮＯＮＥ、ＡＵＴＯ、ＥＲＲＯＲ、ＪＯＢを選択可能である。ＮＯＮＥレベルでは、ロギング統計情報は保持されない（しかし、その情報は毎分計算され、一時的にＮＥＤのＤＲＡＭ１７５に保存されることもある）。ＡＵＴＯレベルでは、プリント日付、ジョブ、オフライン時間のようなプリンタの主要な情報については、日毎の統計情報が保持される。その統計情報はＮＥＤ１００１によって決定される。
ＥＲＲＯＲ（エラー）ロギングレベルは、上述したような日毎の統計情報と、また、プリンタ１０２のエラー状態と、アプリケーション（即ち、ＣＰＳＥＲＶＥＲ）で発生するエラーとを保持する。ＮＥＤ１００１はプリンタ１０２を監視し、“オフライン”や“用紙切れ”のようなプリンタエラー状態を検出する。アプリケーションエラーには、ファイルサーバダウン、プライマリサーバ利用不可、ＣＰＳＥＲＶＥＲが他の場所で実行されていること、プリントキューが見つからない等が含まれる。
ＪＯＢ（ジョブ）ロギングレベルには日毎の統計情報と、上述のエラー状態とを保持し、またさらに、ＮＥＤ１００１で判断されるジョブ開始と終了の情報とを保持する。もちろん、ロギングレベルの数と種類や、各ロギングレベルで保持されるデータはＮＥＤ１００１がインストールされる固有の周辺機器や固有のＬＡＮに応じて変化する。
図１０Ａ及び図１０Ｂは、ＮＥＤ１００１内の自動ロギング機能の動作概要を示すフローチャートを含んでいる。ここでは、図９や上述した表１を参照する。ステップＳ１００１では、ＮＥＤ１００１に電源が投入され、ステップＳ１００２ではタイマモジュールが最も近接したサーバを見つけ、時刻を要求する。ステップＳ１００３では、ＮＯＮＥロギングレベルが選択されているかどうかを判断する。もし、ＮＯＮＥロギングレベルが選択されているなら、処理はそのフローチャートの終了にスキップし、ロギングとは関係のない他の処理が続行される。
もし、ＮＯＮＥロギングレベルがステップＳ１００３で選択されていないなら、ステップＳ１００４ではＡＵＴＯロギングレベルが選択されているかどうかを判断する。ＡＵＴＯロギングレベルが選択されているなら、処理はステップＳ１０１０に進み、午前零時まで待機する。しかしながら、ＡＵＴＯロギングレベルが選択されていないなら、ステップＳ１００５ではＥＲＲＯＲロギングレベルが選択されているかどうかを判断する。そこで、ＥＲＲＯＲロギングレベルが選択されているなら、処理はステップＳ１００８にスキップし、１分のタイムアウトまで待機する。しかしながら、ＥＲＲＯＲロギングレベルが選択されていないなら、ステップＳ１００６で、ＪＯＢロギングレベルが選択されていると判断する。この場合、ステップＳ１００７はジョブの開始及び終了時刻をログファイルに格納する。ステップＳ１００８では、処理は１分間が経過するのを待ち合わせ、それから、ステップＳ１００９で、プリンタにエラー状態を問い合わせる。単方向性インタフェースの場合には、実際の問い合わせからは何の応答を受信するすることができないので、オンラインや用紙切れラインのような状態ラインのみがただチェックされる。従って、ＥＲＲＯＲ或はＪＯＢレベルについては、その処理では検出可能な限定的なエラーイベントについてプリンタをチェックし、その発生時にログファイルにそのようなエラーを記録することになる。
ステップＳ１０１０では午前零時を待ち合わせ、プリンタの日毎の統計情報を計算し、格納する。ステップＳ１０１０において、午前零時に達していないなら、その手順はステップＳ１００４に戻り、どのロギングレベルが選択されているかを判断する。
ステップＳ１０１１では、日毎のプリンタ統計情報が計算される。その後、ステップＳ１０１２では、日毎の統計情報とそのエラーイベントとが格納される。なお、ネットワーク管理者は、いくつかのメモリを組み合わせて、ロギング統計情報とエラーイベントとを格納するように選択し、ＬＡＮ１００にいっそうの柔軟性を備えるようにできる。
上述した、ロギング機能はプリンタをＬＡＮ１００のインタラクティブな応答性のある構成機器とするためにかなり重要である。
［ログファイル出力］
図１１は、自動ロギング機能によって生成されたログファイルをＮＥＤ１００１から出力する処理を示すフローチャートである。そのログファイルには、選択されたロギングレベルに依存して、ＮＥＤ１００１とプリンタ１０２との動きに関連した情報が含まれる。なお、その情報量は変化する。上述のように、ログされる情報量は、ＮＥＤ１００１に利用可能なプリンタ１０２についての情報量に依存する。
図１１の処理ステップでは、ローカルエリアネットワーク（ＬＡＮ）と画像形成装置との間でインタフェースとなるネットワーク機器からのログファイルを出力する方法を図示している。保持されるログファイルは、ＬＡＮから受信する少なくとも１つの画像形成ジョブと、画像形成装置と機器統計情報とエラー情報とへの出力とを記録する。ログファイルの出力を開始する契機となる条件を検出すると、そのログファイルは画像形成ジョブへとフォーマットされ、そのフォーマットされたログファイルが画像形成装置に出力される。
図１１に示される処理はＮＥＤ１００１で実行しているＸＰＬモジュールにインプリメントされている。ステップＳ１１０１では、契機となる条件が検出されたかどうかを判断する。ログファイルの出力の契機となるために用いられる条件の例については、後で検討する。
契機となる条件が検出されたなら、処理はステップＳ１１０２に進む。そうでなければ、処理は終了までスキップし、他の処理を続行する。ステップＳ１１０２では、ログファイルが取り出され、画像形成ジョブにフォーマットされる。このフォーマッティングは好適には、ページヘッダの追加、ロギングファイルデータをフォーマットしてプリントページを形式的に整えること、フォームフィードのような制御キャラクタのデータストリームへの追加のような動作を含むと良い。そのディフォルトモードでは、フォーマットされたログファイルデータが、大抵の画像形成装置を駆動している普通のＡＣＳＩＩキャラクタフォーマットとなる。もし、特定の画像形成装置がPostScriptフォーマットのような異なるフォーマットでのデータを要求することが知られているなら、ＮＥＤ１００１はそのログファイルを適切なフォーマットへとフォーマット化するように構成できる。この構成は、例えば、ＣＰＮＥＴを用いて実現される。その後、そのログファイルはプリンタへと送られる。
しかしながら、もし、ＬＡＮ１００から受信した画像形成ジョブがプリント中であるなら、そのログファイルはプリンタ１０２へはすぐには送られない。なぜなら、そのデータが動作中の画像形成ジョブと混合してしまうからである。それゆえに、ログファイルをフォーマットした後、処理はステップＳ１１０３に進み、プリンタ１０２がビジーであるかどうか、即ち、プリントジョブをプリント中であるかどうかを判断する。プリンタ１０２がビジーでなければ、その処理はステップＳ１１０５に進み、そのログファイルが画像形成装置へと出力される。これに対して、ステップＳ１１０３において、プリンタ１０２がビジーであると判断されたなら、処理はステップＳ１１０４に進む。
ステップＳ１１０４では、処理はメモリ内にフラグをセットし、ログファイルはプリント待機中であることを示す。そして、プリンタ１０２が利用可能になったとき、処理はステップＳ１１０５に進む。このようにして、ログファイルは、プリンタ１０２の使用についての次の順位を占める。或は、ラウンドロビンの手法を用いて、ログファイルを分離したプリントアプリケーションとして扱っても良い。この手法は、各プリントアプリケーションに、画像形成ジョブを送信する機会を備えるために用いられる。ログファイルがジョブを送信する次の機会が発生したとき、フラグはそのログファイルがプリント待ちであり、ログファイルが出力されることを示す。
ステップＳ１１０５では、そのログファイルはプリントチャネルをオープンすることによって、即ち、そのプリントチャネルを制御し、プリンタ１０２にログファイルの画像形成ジョブのブロックを送信することによって、出力される。そのログファイル出力後、他の処理が続行される。
上述の処理によって、ログファイルについての画像形成ジョブがＮＥＤ１００１で生成され、その結果、ただ契機となるイベントを発生させるようにするだけで、そのログファイルが所望のようにプリントされる。この機能は、画像を形成することが可能な機器、例えば、プリンタ、複写機、或は、ファクシミリのような機器に接続されるいづれのＮＥＤについても選択される。
ログファイル出力機能は、種々の条件が出力を開始する契機となる状態として選択されるように、柔軟性をもたせている。選択された契機となる条件は、ＣＰＮＥＴを用いて構成され、ＮＥＤ１００１に格納される。１つのそのような契機となる条件は、ネットワーク管理者のＰＣからのリモートコマンドである。このコマンドは、ＣＰＮＥＴのメニューオプションを選択することによって発行される。例えば、プリンタ１０２に接続されたＮＥＤ１００１についてのログファイルのコピーを望むが、ＰＣを介してＮＥＤ１００１へのアクセスがないユーザは、ネットワーク管理者に電話をかけ、ユーザのプリンタ１０２についてログファイルのプリントコマンドを発行してくれるように依頼できる。それから、その命令に応答して、そのログファイルがそのユーザのいる場所にプリント出力され、そのログファイルがユーザにすぐに利用可能になる。
選択される他の契機となる条件は時刻条件である。即ち、ログファイルは所定の時刻にＮＥＤ１００１によって出力される。時刻を契機とする条件が選択されたとき、ＣＰＮＥＴを用いて、所定の時刻が設定される。この時刻を契機とする条件は、特に、ロギングデータのＡＵＴＯレベルで有用である。そのロギングファイルは、午前零時に自動的に更新され、時刻を契機とする条件は、例えば、午前零時１５分にそのログファイルを出力するように設定できる。
選択可能なさらに他の契機となる条件は、ログメモリがいっぱいになった（ログメモリフル）という条件である。ログファイルは通常、ＤＲＡＭ１７５のある部分のようなメモリ領域に格納されているので、ロギングに利用可能な空間は有限の量しかない。ネットワーク管理者によってログファイルのために割当てられたメモリ空間がフルになったとき、そのロギングファイルは片付け始められ、以前に記録されたデータは上書きされる。メモリ領域がフルであることが検出されたときにログファイルの出力を行うようにすることで、データが上書きされ失われてしまう前にログファイルのハードコピーの記録がとられる。
選択可能なさらに他の契機となる条件は、ＬＡＮへのネットワークボードの接続に関連した例外の検出或は認識である。例えば、ファイルサーバとの接続が失われたり、或は、ネットワーク機器へのケーブル接続が切断されたとき、例外状態が検出されるかもしれない。もし、ＬＡＮ接続が失われたなら、リモートＰＣはログファイルへのアクセスに使用できない。従って、例外状態が検出されたなら、接続されている周辺機器にログファイルを出力することが望ましい。
選択可能なさらに他の契機となる条件は、プリンタ１０２についての所定のパターンでの状態変化によって示される出力コマンドの認識である。例えば、４秒以内にオフライン状態からオンライン状態への３つの遷移状態が、契機となる条件として認識される。この種の契機となる条件はまた、後述するテストページの生成、或は、フォーマットされたデバッグデータの出力のために用いられるなら、ログファイルの出力シーケンスと、テストページの出力とフォーマットされたデバッグデータの出力シーケンスとを区別するために、備えが設けられねばならない。例えば、３つのオンライン状態の変化は、ログファイル出力が望まれていることを意味し、４つのオンライン状態の変化は、フォーマットされたデバッグデータ出力が望まれていることを意味し、５つのオンライン状態の変化は、フォーマットされたテストページ出力が望まれていることを意味するようにできる。
ＮＥＤ１００１とＣＰＳＯＣＫＥＴプログラムは、ＬＡＮ１００を介して受信する信号と、現在時間と、例外状態の発生とを監視するので、この情報は、契機となる条件に関する構成データを結合して用いられ、ログファイル出力を開始させる。図１２は、異なる契機となる条件の処理を示すフローチャートである。ステップＳ１２０１では、ログファイル出力のコマンドが受信されたかどうかを判断する。もし、受信があれば、処理はステップＳ１２０６に進み、もし、そのコマンドの受信がなければ、処理はステップＳ１２０２に進み、ログファイルメモリ領域がフルであるかどうかを判断する。もし、そのメモリ領域がフルであれば、処理はステップＳ１２０６に進む。もし、そのメモリ領域がフルでなければ、処理はステップＳ１２０３に進む。
ステップＳ１２０３では、例外状態が検出されたかどうかを判断する。もし、例外状態が検出されたなら、処理はステップＳ１２０６に進む。そうでなければ、処理はステップＳ１２０４に進み、時刻条件モードが設定されているかどうかを判断するためのチェックがなされる。もし、そのモードが設定されているなら、処理はステップＳ１２０５に進む。もし、そのモードが設定されていないなら、処理は終了し、ＣＰＳＯＣＫＥＴは他の処理を続行する。
ステップＳ１２０５では、現在の時刻が、時刻条件モードでのログファイル出力のために設定さえた時刻と比較される。もし、これら２つの時刻が一致するなら、処理はステップＳ１２０６に進む。そうでなければ、処理は終了し、ＣＰＳＯＣＫＥＴは他の処理を続行する。ステップＳ１２０６では、ログファイル出力ルーチンが実行される。即ち、図１１のステップＳ１１０２〜Ｓ１１０５が実行され、それから、ＣＰＳＯＣＫＥＴは他の処理を続行する。
図１２に示す処理に従えば、ログファイル出力のコマンドが受信されたときはいつでも、ログファイルメモリ領域がフルであるときはいつでも、例外条件が検出されたときはいつでも、ログファイルが出力される。これに対して、例えば、ＣＰＮＥＴを用いて、時刻条件が設定されたときだけは、特定の時刻にログファイルが出力される。しかしながら、この処理はコマンド、メモリフル、そして、例外状態を契機とする条件が利用できないように容易に変更可能である。ステップＳ１２０４に類似した処理が、ステップＳ１２０１、Ｓ１２０２、Ｓ１２０３各々の後に挿入され、上記いづれかの契機となる条件に応答してログファイルを出力する前に時刻条件モードが設定されているかどうかを判断する。
さらにその上、契機となる条件各々を順次処理することは必ずしも必要ではない。むしろ、前述の契機となる条件のいづれか１つが検出されたなら、それがステップＳ１２０１を挿入し、もし適切なら、ログファイル出力のルーチンへと分岐する適切な地点である。そのようなルーチンはステップＳ１１０２〜Ｓ１１０５に示されている。さらに、前述の自動ロギング機能は、時刻が午前零時であるかどうかを判断する時刻、即ち、統計情報を記録する時刻を得る。これは、ステップＳ１２０４とＳ１２０５を挿入し、もし適切なら、ログファイル出力のルーチンへと分岐する適切な地点である。
従って、ネットワークボードがログファイルのための画像形成ジョブを生成し、出力するようにさせる契機となる条件を設定したり処理することには大きな柔軟性がある。
図１３は、ロギングのＡＵＴＯレベルが設定されたときＮＥＤ１００１のログファイルに格納されるプリント出力データが含まれ、プリンタ１０２へと出力される１枚の用紙１３１００の例である。ヘッダ１３０１０はそのプリント出力がログファイルであることを識別し、プリンタ１０２の名前を識別する。欄１３００１は日付を示し、欄１３００２は時刻を示す。欄１３００３はレコードタイプを示し、それは表１に示したレコードタイプに対応する。欄１３００４〜１３００６は各々、日数、ジョブ数、プリンタ１０２がオフラインである時分数を示す。
その記録は逆時間順である。従って、そのファイルの最近の記録は生成されたものの第１レコードであり、それは電源投入の記録１３００７（タイプ  ＰＯＷ、表１参照）である。ＰＯＷレコードのデータは次の通りである。
Ｅ＝Ｅｔｈｅｒｎｅｔ（イーサネット）
１．３９＝ファームウェアのバージョン
００６８０Ｂ＝ＭＡＣ（Media Access Controlメディアアクセスコントロール）アドレスの最後の数字
ＣＭＱＡ＿ＬＡＢ−Ａ＝プリンタ名
上述のように、ログファイルの内容は、選択されたロギングレベルに依存する。更にその上、異なるフォーマッティング或は／及びラベルが必要に応じて用いられることもある。
［テストページ生成］
図１４はＮＥＤ１００１がどのようにしてＮＥＤ１００１がインストールされたプリンタ１０２の状態変化、特に、フロントパネル１０２１を通してなされる状態変化に基づいてテストページ情報を生成出力することができるのかを図示したフローチャートである。テストページ情報はボード情報とネットワーク情報との少なくとも１つを含み、周辺機器のフロントパネルを操作してその周辺機器の状態を変化させることによって生成される。その処理において、ＮＥＤ１００１はＬＡＮにＬＡＮインタフェースによって接続され、周辺機器に周辺機器インタフェースによって接続される。その処理はネットワーク情報のためにＬＡＮインタフェースを監視することと、所定時間にわたり所定の回数だけ周辺機器のフロントパネルを操作してその周辺機器で所定の順番で状態の変化を起こすことを含んでいる。また、その処理には周辺機器インタフェースを介してネットワーク機器とその所定の順番での状態変化を交信する工程が含まれる。その所定の順番での状態変化に応答して、ネットワーク機器は、ボード情報とネットワーク情報との少なくとも１つを含むテストページ情報を生成する。そのテストページ情報は、周辺機器インタフェースを介して周辺機器と交信され、その周辺機器に出力される。
より具体的には、ステップＳ１４０１で開始するが、マイクロプロセッサ１７３はプリンタ１０２の状態変化についてパラレルインタフェース１０５０を監視する。この場合、既に示唆されているように、パラレルインタフェース１０５０は古典的なセントロニクスインタフェースのような単方向のパラレルインタフェースであり、これによって、“ビジー”、“用紙切れ”、“Ｉ／Ｏエラー”、“オンライン／オフライン”の信号のみをプリンタ１０２からＮＥＤ１００１に送信する。これらの状態変化は、ＮＥＤ１００１と専用の状態ラインを介して交信される。ステップＳ１４０１では、これらの状態ラインの１つ或は全てがマイクロプロセッサ１７３によって監視され、プリンタ１０２の初期の状態変化を検出する。
初期の状態変化は、例えば、プリンタ１０２が初期的には“オンライン／オフライン”状態ラインがハイにあるオンライン状態にあり、それから、その状態ラインがローになってオフラインに設定された場合に検出される。同様にして、初期の状態変化が“Ｉ／Ｏエラー”ラインにおいても検出される。例えば、図２Ａに示されている用紙トレイ１０２２を取り外すといった用紙エラーが発生した場合に、状態変化が検出される。この場合、マイクロプロセッサ１７３は“Ｉ／Ｏエラー”ラインがハイからローになったことを検出する。
マイクロプロセッサ１７３が、初期の状態変化として、“オンライン／オフライン”の状態ラインの状態変化、“Ｉ／Ｏエラー”状態ラインの状態変化、或は、他の２つの状態ラインのいづれか１つの状態変化のみを解析するように設定されていても良い。
本発明の好適な実施形態では、初期の状態変化は図２Ａに示すフロントパネル１０２１の操作によって引き起こされる。具体的には、ユーザはフロントパネル１０２１の“オンライン／オフライン”機能ボタンを押下することによりプロセッサ１０２での初期の状態変化を生じさせる。この場合、その初期の状態変化はパラレルインタフェース１０５０の“オンライン／オフライン”の状態ラインを介してＮＥＤ１００１に送信される。しかしながら、既に示唆しているように、その初期の状態変化は、例えば、プリンタ１０２０から用紙トレイ１０２２を取り除くことによっても生じさせることができる。
一旦、マイクロプロセッサ１７３がプリンタ１０２の初期の状態変化を検出すると、マイクロプロセッサ１７３はステップＳ１４０２に示されているように、カウントダウンを開始する。もし、そのカウントダウンが終了する前に、マイクロプロセッサ１７３がプリンタ１０２について所定回数の状態変化を検出すると、マイクロプロセッサ１７３はその所定回数の状態変化を、テストページ情報の生成及び出力の要求として解釈する。
本発明の好適な実施形態では、所定回数の状態変化は３回に設定され、カウントダウン時間が１２秒に設定される。これらの設定は、処理の実行を難しくすることなく、テストページ情報が偶然にプリント出力されることを防止するためには十分であると思われている。しかしながら、これらの設定は組み込まれたファームウェアに望むように設定できる。
さらに、初期の状態変化に関して上記の場合がそうであったように、所定回数の状態変化はフロントパネル１０２１の“オンライン／オフライン”機能ボタンを介して、或は、用紙トレイ１０２２を取り除くといった用紙エラーを生じさせることで、入力可能である。
図１４に示すように、もし、ステップＳ１４０３での所定回数の状態変化（しばしば、“遷移”と言われる）がマイクロプロセッサ１７３によってカウントダウンの終了前に検出されないなら、テストページ情報は生成も出力もされない。その代わり、処理はステップＳ１４０１に進み、その後、どんな状態変化も初期の状態変化として解釈され、これによってカウントダウンを再スタートする。
しかしながら、もし、所定回数の状態変化が所定時間内に発生したなら、マイクロプロセッサ１７３はこれをテストページ情報の生成出力の要求と解釈する。従って、処理はステップＳ１４０４に進む。
本発明の好適な実施形態では、テストページモジュールはフラッシュＥＰＲＯＭ１７４に格納されているＸＰＬソフトウェアモジュールのサブタスクであり、テストページ情報を生成するために用いられる。
従って、ステップ１４０４では、所定の順番で状態変化（即ち、所定時間内での所定回数の状態変化）がプロセッサ１０２に発生したことが判断されると、マイクロプロセッサ１７３はＸＰＬモジュールにあるテストページモジュールを実行し、テストページ情報を生成する。
図１５はＸＰＬモジュール内のテストページモジュールがどのようにテストページ情報を生成するのかを示すフローチャートである。即ち、ステップＳ１５０１では、テストページモジュールは、ＥＰＲＯＭ１７４からテストページについてのデータを読み出す。そのテストページについての情報は、モデル番号、ファームウェアレベル、ボード改訂数のような“ボード”情報とともに、ＭＡＣアドレス、ボード名、ネットワークフレームタイプ、プライマリファイルサーバ識別、サービスされるキュー、ネットワークプロトコル、サンプリング周波数、ＰＳＥＲＶＥＲ名、ゾーン名等のような“ネットワーク”情報を含んでいる。なお、これら全ては既に示唆されているように、ＥＰＲＯＭ１７４に格納されている。同様に、ネットワーク情報には“ネットワーク接続なし”含めても良い。この情報はマイクロプロセッサ１７３によって取得され、マイクロプロセッサ１７３ではＬＡＮインタフェースを監視し、ＮＥＤ１００１がネットワークと接続されているかどうかを判断する。マイクロプロセッサ１７３はまた、ネットワークインタフェースを監視することにより、更新されたネットワーク情報を取得できる。前述の情報のどれがテストページを生成するために用いられるかは、まさしく、ＸＰＬモジュールのテストページモジュールに設定され、これは所望なら再設定できる。
ステップＳ１５０２では、テストページモジュールはステップＳ１５０１で読み出されたテストページ情報をフォーマットする。本発明の好適な実施形態では、そのテストページ情報は図１６に示すように、フォーマットされる。図１６は、ＮＥＤ１００１によって生成され、シート１６０４に、例えば、キャノン製ＬＢＰ１２６０レーザプリンタによってプリント出力されるテストページを図示している。図１６に示されているように、そのテストページには、テストページを識別するヘッダ１６０１、ボード情報１６０２、ネットワーク情報１６０３が含まれる。図１６に示されるフォーマットはＸＰＬモジュール内のテストページモジュールで所望なように設定できる。さらに、既に示唆しているように、図１６で示される情報に、例えば、“ネットワーク接続なし”などの付加情報をテストページに含むようにもできる。
テストページ情報が生成された後、処理は図１４のステップＳ１４０５に戻り、テストページ情報はパラレルインタフェース１０５０を介してプリンタ１０２に送信される。ステップＳ１４０６では、プリンタ１０２はテストページとして、ＮＥＤ１００１から受信したテストページ情報をプリント出力する。テストページの例は、既に示したように、図１６に示されている。
また、図示はされていないが、テストページ情報はＬＡＮ１００に出力できる。この場合、テストページ情報はファイルサーバ１０６に格納され、ネットワーク上の他のＰＣがプリンタ１０２に関連したテストページ情報にアクセスできる。
［フォーマットされたデバックデータ出力］
図１７はフォーマットされたデバック情報をＮＥＤ１００１から出力する処理を示すフローチャートである。このデバック情報は画像形成機器が正しく動作していないときに問題の原因を判断するために有用である。特に、デバック情報は問題がネットワークボードの構成や動作にあるのか或は画像形成機器にあるのかを判断するために助けになる。一般的に言って、この実施形態では、デバック情報はＮＥＤ１００１のメモリ内容のダンプである。出力されるデバック情報は、例えば、ネットワークボードの構成に関連したＥＰＲＯＭ１７４の内容と、ＬＡＮからの画像形成ジョブの受信と接続された画像形成機器への画像形成ジョブの出力におけるネットワークボードの動作に関連したＤＲＡＭ１７５の内容とを含んでいる。この情報はまた、衝突の回数と送受信のパケットの数のようなネットワーク統計情報とを含んでいる。
図１７の処理ステップは、ロカールエリアネットワーク（ＬＡＮ）とプリンタ１０２のような画像形成装置との間でインタフェースとなるネットワーク機器からのフォーマットされたデバック情報を出力する方法を図示している。デバック情報は、ＬＡＮからの画像形成ジョブ受信時と、画像形成装置への画像形成ジョブの出力時に、ネットワーク機器の動作に関連したネットワーク機器に格納される。デバック情報の出力を開始させる契機となる条件を検出すると、そのデバック情報は画像形成ジョブにフォーマットされ、そのフォーマットされたデバック情報は画像形成装置に出力される。
図１７の処理は、ＮＥＤ１００１で実行されるＣＰＳＯＣＫＥＴプログラムのセクション或はサブタスクにインプリメントされる。ステップＳ１７０１では、契機となる状態が検出されたかどうかが判断される。デバック情報をプリント出力する契機として用いられる条件の例が、この後、検討される。
その契機となる条件が検出されると、処理はステップＳ１７０２に進む。そうでなければ、処理は終了までスキップし、他の処理を続行する。ステップＳ１７０２では、デバック情報が取り出され、画像形成ジョブにフォーマットされる。このフォーマッティングは好適には、ページヘッダの追加、デバック情報が取り出されるメモリアドレスを示すデータの付加、デバック情報をフォーマットしてプリントページを特定の形成に整えること、フォームフィードのような制御キャラクタのデータストリームへの追加のような動作を含むと良い。
好適な実施形態では、ＬＡＮ１００から受信されるバイナリ形式でのデバック情報もまた、バイナリ形式から１６進のＡＣＳＩＩキャラクタに変換される。この種のフォーマッティングによって、格納されたデータが画像形成装置の動作を制御したり、或は、影響を与えることのできることがないように、メモリの実際の内容を調べる方法が備えられる。例えば、格納されたバイトはプリンタの制御キャラクタに対応しているかもしれない。もし、これがプリンタに直接に送信されるなら、そのバイトがプリンタ制御動作、例えば、フォームフィード動作の原因となってしまう。従って、０ＣＨのようなバイトは、夫々が３３と４３である１６進ＡＣＳＩＩキャラクタ“０”と“Ｃ”とに対応したデータに変換される。このようにして、そのデータはプリンタの制御に影響を与えることなく、ＡＣＳＩＩキャラクタとしてプリント出力され、そして、実際の１６進形式のメモリ内容を見ることができる。
デバック情報がフォーマットされた後、プリント準備完了となる。しかしながら、もし、ＬＡＮ１００から受信した画像形成ジョブがプリント中であるなら、そのデバック情報はプリンタ１０２へはすぐには送られない。なぜなら、そのデータが動作中の画像形成ジョブと混合してしまうからである。それゆえに、デバック情報をフォーマットした後、処理はステップＳ１７０３に進み、プリンタ１０２がビジーであるかどうか（例えば、プリンタ１０２はプリントジョブをプリント中であるかどうか）を判断する。もし、プリンタ１０２がビジーでなければ、その処理はステップＳ１７０５に進み、そのデバック情報が画像形成装置へと出力される。これに対して、ステップＳ１７０３において、プリンタ１０２がビジーであると判断されたなら、処理はステップＳ１７０４に進む。
ステップＳ１７０４では、処理はメモリ内にフラグをセットし、デバック情報はプリント待機中であることを示す。そして、プリンタ１０２のプリントチャネルが利用可能になったとき、処理はステップＳ１７０５に進む。このようにして、デバック情報は、プリンタ１０２の使用についての次の順位を占める。
ステップＳ１７０５では、そのデバック情報はプリントチャネルをオープンすることによって、即ち、そのプリントチャネルを制御し、プリンタ１０２にデバック情報の画像形成ジョブのブロックを送信することによって、出力される。そのデバック情報出力後、処理を続行する。
上述の処理によって、デバック情報についての画像形成ジョブがＮＥＤ１００１で生成され、その結果、コンピュータがＮＥＤ１００１にアクセスする必要なしに、ＮＥＤ１００１に接続された機器を通して、そのデバック情報がアクセスされる。この機能は、画像を形成することが可能な機器、例えば、プリンタ、複写機、或は、ファクシミリのような機器に接続されるいづれのＮＥＤについても選択される。
デバック情報出力機能は、種々の条件が出力を開始する契機となる状態として選択されるように、柔軟性をもたせている。選択された契機となる条件は、ＣＰＮＥＴを用いて設定され、ＮＥＤ１００１に格納される。１つのそのような契機となる条件は、ネットワーク管理者のＰＣからのリモートコマンドである。このコマンドは、ＣＰＮＥＴのメニューオプションを選択することによって発行される。例えば、プリンタ１０２に接続されたＮＥＤ１００１についてのデバック情報のコピーを望むが、ＰＣを介してＮＥＤ１００１へのアクセスがないユーザは、ネットワーク管理者に電話をかけ、ユーザのプリンタ１０２についてデバック情報をプリントするコマンドを発行してくれるように依頼できる。それから、その命令に応答して、そのデバック情報がそのユーザのいる場所にプリント出力され、そのデバック情報がユーザにすぐに利用可能になる。
選択可能な他の契機となる条件は、ＬＡＮ１００へのネットワーク機器の接続に関連した例外状態の検出である。例えば、ファイルサーバとの接続が失われたり、或は、ネットワーク機器へのケーブル接続が切断されたとき、例外状態が検出されるかもしれない。もし、ＬＡＮ接続が失われたなら、リモートＰＣはデバック情報へのアクセスに使用できない。その情報は、その接続が失われた理由を示唆しているかもしれない。従って、例外状態が検出されたなら、接続されている周辺機器にデバック情報を出力することが望ましい。
選択可能なさらに他の契機となる条件は、プリンタ１０２についての所定のパターンでの状態変化によって示される出力コマンドの認識である。例えば、４秒以内にオフライン状態からオンライン状態への３つの遷移状態が、契機となる条件として認識される。この種の契機となる条件がまた、前述したログファイルの出力やテストページの出力のために用いられるなら、デバック情報の出力シーケンスと、ログファイル出力とテストページ出力シーケンスとを区別するために、備えが設けられねばならない。そのような備えの例は既に上述した通りであり、説明を簡潔にするために、ここでは繰り返さない。
図１８は、異なる契機となる条件の処理を示すフローチャートである。ステップＳ１８０１では、デバック情報出力のコマンドが受信されたかどうかを判断する。もし、受信があれば、処理はステップＳ１８０２に進む。もし、そのコマンドの受信がなければ、処理はステップＳ１８０３に進み、例外状態が検出されたかどうかを判断する。もし、例外状態が検出されたなら、処理はステップＳ１８０２に進む。そうでなければ、処理は終了し、他の処理が続行される。ステップＳ１８０２では、デバック情報出力ルーチンが実行される。即ち、ステップＳ１７０２〜Ｓ１７０５が実行され、それから、他の処理を続行する。
図１８に示す処理に従えば、デバック情報を出力させる契機となる状態が受信されたときはいつでも、例外条件が検出されたときはいつでも、デバック情報が出力される。しかしながら、この処理はコマンド、或は／及び、例外状態を契機とする条件が利用できないように容易に変更可能である。ステップＳ１２０４に類似した処理が、ステップＳ１８０１とＳ１８０３各々の後に挿入され、上記いづれかの契機となる条件に応答してデバック情報を出力する前に時刻条件モードが設定されているかどうかを判断する。
さらにその上、契機となる条件各々を順次処理することは必ずしも必要ではない。その代わり、これらの条件がその処理を実行中の異なる場所で実行されるようにしても良く、図１７のステップＳ１７０２〜Ｓ１７０５に示されているように、各々が独立に処理の契機となっても良い。例えば、１つのテストがＣＰＳＯＣＫＥＴでなされ、デバック情報出力要求のようなコマンドがリモートワークステーションから受信されたかどうかを判断する。もし、これが発生したなら、フラグがセットされる。このフラグは、ＸＰＬが実行される中でステップＳ１８０１で検知される。これに対して、切断状態のような例外状態はＭＬＩＤのような別のソフトウェアモジュールによって監視される。もう一度、フラグがセットされる。このイベントはステップＳ１８０３で検知され、もし適切なら、またデバック情報が出力される。
従って、ＮＥＤがデバック情報のための画像形成ジョブを生成出力するようにさせる契機となる条件を設定したり処理することには大きな柔軟性がある。
図１９は、図１７に関して説明した処理についての変形例を示すフローチャートである。この変形例において、デバック情報源は、メモリに格納されたデータではなく、ＬＡＮ１００から受信される画像形成ジョブに関するデータである。
図１９の処理ステップは、ＬＡＮから受信したデバック情報をリフォーマッティングし、そのリフォーマットされたデバック情報をプリントする方法を図示している。図１９に示す方法によれば、デバック情報はＬＡＮからバイナリコードとして受信されるが、ＮＥＤ１００１でのリフォーマットモードを設定するコマンドがこれに先行する。リフォーマットモードでは、ＮＥＤ１００１はデバック情報をリフォーマットし、バイナリコードをこれに相当する１６進のＡＣＳＩＩキャラクタに変換する。リフォーマットされたデバック情報はその後、プリンタ１０２でのプリントのために出力される。
ステップＳ１９０１では、データをＬＡＮ１００から受信する。ステップＳ１９０２では、デバックモード、即ち、データ変換モードがセットされているかどうかを判断する。このモードは、ＣＰＮＥＴを用いてセットされる。例えば、ＣＰＮＥＴはＥＰＲＯＭ１７４に構成データを設定して、その後の全てのジョブに関してＮＥＤ１００１がデータ変換デバックモードになるようにする。また或は、ＮＥＤ１００１が、その後の最初の画像形成ジョブだけについてデータ変換を実行するように構成することもできる。ステップＳ１９０２において、もし、データ変換モードが選択されるなら、処理はステップＳ１９０３に進む。そうでなければ、処理はその終了までスキップし、未変換データを画像形成装置に出力するといった他の処理を続行する。
ステップＳ１９０３では、上述のように、データはバイナリコードから対応する１６進のＡＳＣＩＩコードに変換される。それから、処理はステップＳ１９０４に進み、デバック情報を構成する１６進のＡＳＣＩＩキャラクタが出力される。このようにして、ＮＥＤ１００１によってＬＡＮ１００から受信した実際のデータが出力され、正しいデータが受信されているかどうか、プリンタが受信データに正しく応答しているかどうかが判断される。従って、ＮＥＤ１００１によって受信データをフォーマットし出力することによって、ＮＥＤ１００１に格納されたデータをフォーマットして出力することによってデバック情報が備えられるのと同様に、問題を分析診断する助けとなるデバック情報が備えられる。
図２０は、ＮＥＤ１００１からの代表的なデバック情報がプリントされた１枚の用紙２０１００の例である。ヘッダ２００１０は１６進表示（ＨＥＸ）のダンプとしてのプリント出力であることを識別し、プリンタ１０２を識別するページヘッダである。欄２０００１は各行の最左端のバイトのメモリオフセットアドレスを示す。参照番号２０００２と２０００３とは夫々、１６進データで、０ＤH、０ＡHを示し、これらは、キャリッジリターン命令と、ラインフィード命令とに対応ししている。そのデータはプリンタ１０２に送信されても、プリントされることはなく、その代わり、キャリッジリターン動作やラインフィード動作を引き起こす。しかしながら、プリンタ１０２への送信前に、バイナリデータが１６進ＡＳＣＩＩキャラクタの“０”“Ｄ”と“０”“Ａ”に変換されるので、格納された１６進の値が０Ｄと０Ａとして表示される。
もし、異なるフォーマットが望まれるなら、デバック情報に別のラベルを付したり、その配置の仕方を別のものに変えても良い。
［第２実施形態］
前述の実施形態に従えば、本発明は、ＮＥＤ１００１が単方向インタフェースを介してＮＥＤ１００１と通信するので、プリンタ１０２に関して保持され出力される情報は限定されたものであった。ネットワーク機器によってロギングのために利用可能なプリンタ１０２に関する情報は、双方向周辺機器インタフェースを介してプリンタ１０２と通信を行うネットワーク機器を用いることよって、多くすることができる。そのようなネットワーク機器の例が、米国特許第５、３２３、３９３に説明されており、そこでは、双方向ＳＣＳＩインタフェースをもつネットワーク機器と、双方向の共用メモリインタフェースを有したネットワーク機器を説明する“ネットワークプロトコルセンサ（Network Protocol Sensor）”という名称の米国特許出願第０８／３３６，０６２号とについて説明している。
これに加えて、ＮＥＤのような外部的に装着されたネットワーク機器について、ＩＥＥＥ−１２８４パラレルインタフェースのような双方向パラレルインタフェースもまた、古典的なセントロニクスインタフェースの代わりに、周辺機器インタフェースとして利用できる。ＩＥＥＥ−１２８４インタフェースは、“パーソナルコンピュータ用双方向パラレル周辺機器インタフェースについての標準的信号処理方法（Standard Signalling Method For Bi-Directional Parallel Peripheral Interface For Personal Computers）”、ＩＥＥＥ−１２８４／Ｄ２、１９９３年９月版に説明されている。同様に、“赤外線データ協会：ＩｒＤＡトランスポートプロトコルとしてＩＳＯ８０７３の使用についての提案（Infrared Data Association: Proposal For The Use Of ISO 8073 As An IrDA Transport Protocol）”、ヒューレットパッカード、１９９４年４月２２日版に説明されているようなＩｒＤＡ（Infrared Data Accsociation）インタフェースが、周辺機器インタフェースとして利用できる。
双方向周辺機器インタフェースをもち、プリンタ１０２と共用メモリインタフェースをもつネットワーク機器という環境下で、第２実施形態を説明する。次の説明において、上述した構成要素と同等の要素については、同じ参照番号で参照することとする。
［ネットワークボード］
この実施形態において、本発明は、ハードウェア、ソフトウェア、及び、ファームウェアのソルーションを提供し、プリンタのようなネットワーク周辺機器を、ネットワークからデータを受信して処理するのみならず、詳細な状態情報と動作パラメータ等のような周辺機器についてのかなりの量のデータをネットワークに送信することが可能なインテリジェント対話型ネットワーク構成要素にするネットワークボード（ＮＥＢ）に組み込まれる。また、ファクシミリ装置、コピー機、画像処理等のネットワーク周辺機器、特に、画像処理周辺機器のような他のネットワーク周辺機器において、本発明を用いることも可能である。周辺機器とともに、そのようなハードウェア、ソフトウェア、ファームウェアとをインテグレーションすることによって、パーソナルコンピュータを周辺機器サーバとして専従して動作させる必要性がなくなる。
図２１は図１に示すＮＥＤ１００１の代わりにプリンタ１０２に結合されるネットワークボード（ＮＥＢ）１０１に組み込まれた本発明を示すブロック図である。図２１に示す他の構成要素は、図１に示す構成要素と構造及び機能の点で同一である。従って、この説明をここでは繰り返さない。
図２２はＮＥＢ１０１をプリンタ１０２にインストールされた様子を示す破断斜視図である。図２２に示されているように、ＮＥＢ１０１は好適には、プリンタ１０２の内部拡張Ｉ／Ｏスロットに実装される。なお、プリンタ１０２は、本発明の好適な実施形態では、キャノン社製ＬＢＰ１２６０レーザプリンタである。これによって、ＮＥＢ１０１は以下に説明する処理とデータ格納についての特徴をもつ内蔵ネットワークノードになる。
ＮＥＢ１０１のアーキテクチュアは、大規模なマルチエリアＷＡＮネットワークの管理運営についてのユニークな支援機能をもっているので、利点がある。これらの支援機能には、例えば、（ネットワーク管理者のオフィスからのような）ネットワーク上の離れた場所からのプリンタ制御と状態監視、ネットワークをまたがってアクセス可能である、プリンタの作業負荷を特徴づけまたトナーカートリッジ交換を計画するためのプリンタログ或は利用状況の統計が含まれている。
ＮＥＤ１０１の設計の重要な特徴は、双方向インタフェース、ここでは、共用メモリを介して、プリンタ１０２からプリンタ情報を受信する能力である。共用メモリインタフェースが用いられているが、ＳＣＳＩインタフェース（例えば、米国特許第５，３２３，３９３号に開示されているように）のような他の双方向インタフェースもまた、ＮＥＢ１０１とプリンタ１０２とのインタフェースとなるように用いることもできる。
上述のように、ＩＥＥＥ−１２８４のような双方向パラレルインタフェース、ＩｒＤＡインタフェースをＮＥＤに組み込むことも可能であり、その場合には、特に、プリンタ１０２からのデータ転送に関しては、ＮＥＤの機能性はＮＥＢ１０１と同等である。
上述した双方向インタフェースによって広範なプリンタ状態と制御情報とがＮＥＢ１０１に外部ネットワークノードに移出することが可能になり、従って、多くの有用な支援機能のプログラムが可能になる。例えば、ＮＥＢ１０１の場合、プリント画像データと制御情報とのブロックとがＮＥＢ１０１上のマイクロプロセッサによって組み立てられ、共用メモリに書き込まれ、その後、プリンタ１０２によって読み出される。同様に、プリンタ状態情報はプリンタ１０２から共用メモリに転送され、そこからＮＥＢのマイクロプロセッサによって読み出される。
プリンタ１０２からＮＥＢ１０１に送信されるプリンタ状態情報には、遷移状態、オンラインでプリント中、オフラインでプリント中ではない、エンジンテスト検出、保守プログラム実行中、スリープモードにある、用紙切れ、プリンタオープン、用紙詰まり、ＥＰカートリッジなし、トナーが少ない、Ｕ−Ｌフィード、用紙積載、用紙供給、ＣａＰＳＬオペレータコール、上部フィーダリジェクト、中間部フィーダリジェクト、下部フィーダリジェクト、上部にセット、中間部にセット、用紙流出、トレイがフル、ページフル、２２ラインエラー、４４ラインエラー、ダウンロードメモリがフル、作業メモリがフル、デッドロックメモリがフル、ジョブリジェクト、プリントチェック、フォントがフル、エンジンウォーミングアップ、外部オペレータコール、前面のカードが除去、ＮＶＲＡＭフル、ハードディスクがフル、メモリフル、低解像度なので低くできない、ハードティスクがクラッシュ、“電源切断せよ”、フルペイントリジェクト、スケールエラー、デュープレックスリジェクト、拡張Ｉ／Ｏエラー、トレイのトラブル、常駐ＲＯＭに悪いフォーマットあり、サポートされていないオプション、オプションフォントなし、メモリフルが回避不可能、サービスコールが起動中、立ち上がり状態、オフラインへ移行中、オンラインへ移行中、メニューでのオフラインでプリント中ではない、遷移状態にありメニューを終了してＯＦＦＬＩＮＥに戻る、パネルリセット要求、ＳＷＯＦＦ検出（電源切断要求）、システムをリブート、パネルフォームフィード要求、パネルフォームフィードキャンセル、外部プログラムテストプリント、テストプリントキャンセル、保守プログラムが実行された等が含まれる。
図２２に示されるように、ネットワークとの接続を可能にする前面プレート１０１ｂに装着されたプリント回路基板１０１ａから構成されるＮＥＢ１０１はコネクタ１７０を介してプリンタインタフェースカード１５０に接続される。後述するように、プリンタインタフェースカード１５０は直接プリンタ１０２のプリンタエンジンを制御する。プリントデータとプリンタ状態コマンドとは、ＮＥＢ１０１からコネクタ１７０を介してプリンタインタフェースカード１５０に供給され、プリンタ状態情報はコネクタ１７０を介してカード１５０から得られる。ＮＥＢ１０１はこの情報を前面プレート１０１ｂのネットワークコネクタを介してＬＡＮ１００に通信する。同時に、プリンタ１０２はまた、従来のシリアルポート１０２ａとパラレルポート１０２ｂとからもプリントデータを受信できる。
図２３は、ＮＥＢ１０１のプリンタ１０２への電気的接続を示すブロック図である。ＮＥＢ１０１は、ＬＡＮインタフェースを介してＬＡＮ１００に、また、プリンタインタフェースカード１５０を介してプリンタ１０２に直接接続される。本発明の好適な実施形態では、プリンタインタフェースカード１５０は、Peerless Systems Corp.から入手可能なPeerlessＬＢＰ−８６０／１２６０−外部標準Ｉ／Ｏボードインタフェースであり、その詳細は、Peerless標準Ｉ／Ｏインタフェース設計仕様、revision 2.07a、Peerless Systems Corp.１９９４年５月１０日版にある。プリンタインタフェースカード１５０は、インテル社製８０９６０ＫＢ−２０マイクロプロセッサ１５１を含んでいる。それは、３２ビットのマシンであるが、マイクロプロセッサ１５１はＮＥＢ１０１にまたＮＥＢ１０１からデータを２バイト幅（１６ビット）でアクセスし、ＮＥＢ１０１に配置された共用メモリ２００を介して転送する。マイクロプロセッサ１５１はまた、実際にはプリント機構を駆動するプリントエンジン１６０と通信する。
［ＮＥＢの物理的レイアウト］
図２４は、ＮＥＢ１０１の好適な実施形態の大きさを示し、その主要な構成要素の物理的なレイアウトを示している。ＮＥＢ１０１カードは、３．９３インチ×５．６０インチである。ＮＥＢ１０１は、プリンタインタフェースカード１５０とＬＡＮ１００への接続を可能にするコネクタ２３０１と２３０２とを有した前面プレート３００とに接続されるプリントインタフェースカードコネクタ１７０（Peerlessプリンタインタフェースカードの場合、それは８０ピンのコネクタである）を含んでいる。前面プレート３００にはまた、４つの状態発行ダイオード（ＬＥＤ）３０３、２３０４〜２３０６が含まれている。また、ＮＥＢカードには、トランシーバ２１７１、水晶発振器２１７２、マイクロプロセッサ２１７３、動的ランダムアクセスメモリ（ＤＲＡＭ）２１７５、アービタ制御ロジック４００、フラッシュ消去可能プログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）２１７４、第１の静的ランダムアクセスメモリ（ＳＲＡＭ）２１７６、ネットワーク及びネットワークインタフェース制御ロジック２５００、及び、シリアルポートコネクタ２６００が備えられている。これらの構成要素各々については後で詳述する。
図２５は、サイズが４．５６インチ×１．２８インチの前面プレート３００の詳細を図示している。上述したように、ＮＥＢ１０１はＬＡＮ１００にコネクタ２３０１と２３０２を介して接続する。好適には、コネクタ２３０１は１０Ｂａｓｅ−Ｔ接続が可能なＲＪ−４５コネクタであり、一方、コネクタ２３０２は１０Ｂａｓｅ−２接続が可能な単純な同軸（coax）コネクタでも良い。ＮＥＢ１０１がデータをＬＡＮ１００を介して送信中には状態ＬＥＤ３０３が点灯し、ＮＥＢ１０１がＬＡＮ１００からデータを受信中には状態ＬＥＤ２３０４が点灯する。状態ＬＥＤ２３０５はＲＪ−４５コネクタがＬＡＮ１００と接続されているときに点灯し、一方、状態ＬＥＤ２３０６はＮＥＢ１０１の自己診断テスト中に点灯する。マウント孔３０７はＮＥＢ１０１をプリンタ１０２に取り付けるためにスクリューを受容する。
［ＮＥＢアーキテクチュア］
ＮＥＢ１０１のアーキテクチュアが図２６に示されている。全ての回路に対する電力は、＋５Ｖ電源２１７７からＮＥＢ１０１に供給される。＋５Ｖ電源はまた、電力変換器１７８と１７９に供給される。電力変換器１７８は−９Ｖ電源をトランシーバ２１７１に与え、一方、電力変換器１７９は＋１２Ｖ電源を“フラッシング（即ち、ＥＰＲＯＭの再プログラム化）”のためにフラッシュＥＰＲＯＭ２１７４に供給する。
ネットワークとネットワークインタフェース制御ロジック２５００は好適には単一の１４４ピンのアプリケーション専用集積回路（ＡＳＩＣ）であり、ネットワークコントローラ２５１０とインタフェース制御ロジック２５２０とを含んでいる。ネットワークコントローラ２５１０はナショナルＤＰ８３９０２Ａ“ＳＴ−ＮＩＣ”イーサネットコントローラと互換性のあるＮＣＲマクロセルである。なお、ナショナルＤＰ８３９０２Ａ“ＳＴ−ＮＩＣ”イーサネットコントローラの詳細は、ナショナル半導体ローカルエリアネットデータハンドブック、ナショナルセミコンダクタｐ／ｎ４０００５５、ナショナルセミコンダクタ、１９９３年版に述べられている。ネットワークコントローラ２５１０は、ＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）タイプのローカルエリアネットワークとインタフェースをもつために設計されている。
ネットワークコントローラ２５１０はＲＪ−４５コネクタとは直接に、同軸コネクタ２３０２とは好適にはナショナル半導体製のＤＰ８３９２同軸トランシーバインタフェースであるトランシーバ２１７１を介して接続されている。なお、そのトランシーバの詳細もまた、ナショナルのローカルエリアネットデータハンドブックに述べられている。ネットワークコントローラ２５１０はまた、イーサネットデータのために入出力パケットバッファとして用いられる８ＫＢのＳＲＡＭ１７６と結合されている。このメモリのアクセス時間は、約７０nsec以下であることが好ましい。
インタフェース制御ロジック２５２０は、ネットワークコントローラ２５１０とマイクロプロセッサ２１７３とメモリデバイスＥＰＲＯＭ２１７４と、ＤＲＡＭ２１７５との間のインタフェースを備える。また、インタフェース制御ロジック２５２０は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）１８０とのインタフェースをもち、そのＮＶＲＡＭはＮＥＢ１０１を内蔵するプリンタ１０２に電力が供給されている間、初期化データ格納のために用いられる２５６バイトの順次電気的消去／プログラム可能メモリである。ネットワーク及びプリンタ構成のパラメータは、プリンタが最初にネットワークにインストールされ、ＮＥＢソフトウェアがプリンタ電源のオフ／オン後にそのインストールパラメータを回復できるようになったとき、ＮＶＲＡＭ１８０に書き込まれる。
インタフェース制御ロジック２５２０はまた、シリアルポートコネクタ２６００に接続している。そのコネクタは、夫々にデバックのためにシリアルデータストリームを受信、送信できる受信データピン２６０１、送信データピン２６０２を有している。インタフェース制御ロジック２５２０は受信データラインに存在するデータを検知し、決まった間隔でそのシリアルビットをサンプルする。これについては後で詳細に述べる。
ＮＥＢ１０１の中央コントローラはマイクロプロセッサ２１７３であり、好適にはインテル社製の８ビットプロセッサ８０Ｃ１８８ＥＡ−２０である。その詳細は、８０Ｃ１８６ＥＡ／８０１８８ＥＡユーザーズマニュアル、インテル（Intel）p/n  270950-001、インテル社（Intel Corp.）に見ることができる。このプロセッサは、８ビットプロセッサであり、ダイレクトメモリアクセス（ＤＭＡ）、インタラプト、タイマ、ＤＲＡＭリフレッシュ制御の機能をもつ。ＡＭＤ社製８ビットプロセッサ８０Ｃ１８８−２０のような他のマイクロプロセッサを代わりに使用することもできる。２５６ＫＢのフラッシュＥＰＲＯＭ２１７４と５１２ＫＢのＤＲＡＭ２１７５は、インタフェース制御ロジック２５２０を介してマイクロプロセッサ２１７３に結合され、一方、３２ＫＢのＳＲＡＭ２００（これはプリンタインタフェースカード１５０と共用される）はアービタ制御ロジック４００を介してマイクロプロセッサ２１７３と結合される。４０ＭＨｚ、５０ｐｐｍの水晶発振器２１７２はマイクロプロセッサ２１７３にクロック信号を供給する。このクロック信号は、プリンタインタフェースカード１５０のマイクロプロセッサ１５１に提供されるクロック信号とは完全に分離されており、非同期である。
マイクロプロセッサ２１７３は、制御ファームウェアとプリントアプリケーションソフトウェアを格納したフラッシュＥＰＲＯＭ１７４にある命令を実行する。電源投入時の自己診断（ＰＯＳＴ）の後、コードは選択的により高性能の５１２ＫＢＤＲＡＭ２１７５に移動させられる。実際の実行のためには、ＤＲＡＭ１７５のアクセス時間は約８０nsecであることが好ましい。フラッシュＥＰＲＯＭ２１７４は、上述の発明の名称を“スマートフラッシュ”という米国特許出願第０８／３３６，０４３号に説明されているように、ＬＡＮ１００から再プログラム可能、或は、“フラッシュ化”可能である。
ＮＥＢ１０１のソフトウェアモジュールは、上述したＮＥＤ１００１のソフトウェアモジュールと同一であり、それはフラッシュＥＰＲＯＭ２１７４に格納される。また、ＥＰＲＯＭ２１７４に格納されるものとして、ＮＥＤ１００１のＥＰＲＯＭ１７４に格納されたＮＩＦデータブロックと同一のＮＩＦデータブロックがある。従って、ＮＥＤ１００１のＥＰＲＯＭ１７４の内容を示す図８は、正確に、ＮＥＢ１０２のＥＰＲＯＭ２１７４の内容を図示している。この点について、ＮＥＢ１０１とＮＥＤ１００１に格納されたソフトウェアモジュールとＮＩＦデータブロックは同じであるので、上述したソフトウェアモジュールとＮＩＦデータブロックの概略説明はここでは繰り返さない。
ＮＥＢ１０１とプリンタインタフェースカード１５０との全ての通信は３２ＫＢの共用ＳＲＡＭ２００を介して実行される。好適には、単一の１００ピンのＡＳＩＣであるアービタ制御ロジック４００は、プリンタインタフェースマイクロプロセッサ１５１の２バイト幅メモリアクセスとＮＥＢマイクロプロセッサ２１７３の１バイト幅メモリアクセスとの間を調停する。ここで、マイクロプロセッサ１５１とマイクロプロセッサ２１７３とは各々互いに対して完全に独立である。
一般的に言って、ＮＥＢ１０１にオンボードしたマイクロプロセッサ２１７３の８ビットデータバスはバス制御ロジック４１０と通信を行い、一方、プリンタインタフェースカード１５０にオンボードしたマイクロプロセッサ１５１の３２ビットデータバスは、バス制御ロジック４２０と通信を行う。各々のバスからのメモリアクセスは共用メモリアービタ４３０を通るようにされ、そのアービタでは（後で説明するアービトレーション技術に従って）とのバスが優先権をもっているかを判断し、優先権をもっているバスがＳＲＡＭインタフェース４４０を介してＳＲＡＭ２００にアクセスできるようにする。インタラプト制御レジスタ４５０はまた、共用メモリアービタ４３０を介してアクセスされ、１つのマイクロプロセッサが他のマイクロプロセッサをインタラプトできるようにする。
［ＮＥＢの機能性］
広義に言えば、ＮＥＢ１０１はプリンタ１０２をＬＡＮ１００に結合し、プリンタ１０２を応答性に優れたインタラクティブなネットワークの構成要素とするインタラクティブネットワーク回路ボードである。ＮＥＢ１０１はＬＡＮ１００からプリントデータ、状態要求、及び、制御コマンドを受信し、プリント１０２にそのプリントデータ、状態要求、及び、制御コマンドを送信して実行させ、ＬＡＮ１００に状態情報を返信する。
従って、ＮＥＢ１０１はＲＰＲＩＮＴＥＲリモートプリンタサービスとＰＳＥＲＶＥＲプリントサーバ機能とを実行できるのみならず、ネットワーク構成要素に対して、周辺機器インタフェースから利用可能などんな状態制御機能も提供することができる。ＮＥＢ１０１を介して、ネットワーク構成要素はＮＥＢに格納された、例えば、プリントジョブ数、ジョブ当りのページ数、毎分のページ数、ジョブ当りの時間、一日当りの総ページ数、一日当りのジョブ数などの非常に多い状態情報にアクセスできる。これに加えて、例えば、ネットワークＰＣからプリンタのフロントパネルの機能を動作させて、非常に多くの制御情報もまた、ネットワークからプリンタ１０２に対して提供される。
全てのネットワークトラフィックは、トランシーバ２１７１を介してネットワークコントローラ２５１０とインタフェースをもつＲＪ−４５コネクタ、或は、ネットワークコントローラ２５１０と直接インタフェースをもつＢＮＣコネクタ２３０１を通ってＮＥＢ１０１に入ったり、ＮＥＢ１０１を離れたりする。ユーザが物理的にスイッチの所にいるという必要をなくすために、ＮＥＢ１０１は自動的に、２つのコネクタの内どちらがネットワークと接続されているのかを検出するハードウェアとソフトウェアとを含んでいる。このハードウェアとソフトウェアとは、“ネットワークプロトコルセンサ（Network Protocol Sensor）”という名称の米国特許出願第０８／３３６，０６２号に開示されている。ネットワーク通信は、選択されたコネクタとボードの他の部分との間で、ネットワークコントローラ２５１０と選択されたコネクタのネットワークトラフィックとマイクロプロセッサ２１７３のデータバスとの間のデータの流れを制御するインタフェース制御ロジック２５２０とを用いて、転送される。
マイクロプロセッサ２１７３によって実行される全てのソフトウェアモジュールは、フラッシュＥＰＲＯＭ２１７４に格納される。タイマによる印付けやＮＶＲＡＭ読み出しのようないつも必要となる下位レベルのモジュールは、ＥＰＲＯＭ２１７４から直接外に呼び出して実行される。しかしながら、大部分については、マイクロプロセッサ２１７３はフラッシュＥＰＲＯＭ２１７４から直接にソフトウェアモジュールを実行することはせず、むしろ、選択的に必要となるモジュールをＤＲＡＭ２１７５にロードして、ＤＲＡＭから実行する。このような構成によって、フラッシュＥＰＲＯＭ２１７４から取り出される特定のモジュールを選択し、ＤＲＡＭ２１７５で実行し、ＮＥＢ１０１を柔軟に構成することが可能になる。
例えば、多くの通信プロトコルタイプはＬＡＮ１００に広まるので、ＮＥＢ１０１はフラッシュＥＰＲＯＭ２１７４内に複数のプロトコルを支援するソフトウェアモジュールを含む。ＮＥＢ１０１は、異種ネットワークの全てのネットワークトラフィックを監視して、使用中のプロトコルタイプ（１種或は複数種）を判断する。そして、検出したプロトコルに対応するプロトコルスタック（１種或は複数種）をＤＲＡＭ２１７５にロードする。
新しいプロトコルスタックを含んでいるかもしれない新しいイメージでフラッシュＥＰＲＯＭ２１７４を再プログラムすることはまた、ＤＲＡＭ２１７５を介して実行される。ネットワークやシリアルポートコネクタ２６００を介して受信されるコマンドのような再プログラムするための新しいイメージと命令とが受信されると、ソフトウェア再プログラミングモジュールがＥＰＲＯＭ２１７４からＤＲＡＭ２１７５にロードされる。マイクロプロセッサ２１７３はＤＲＡＭ２１７５からこのモジュールを実行し、その新しいファームウェアイメージがＮＥＢ１０１の構成と互換性があることを確認し、発明の名称を“スマートフラッシュ”という米国特許出願第０８／３３６，０４３号に詳細に説明されているように、もし互換性が確認されるならＥＰＲＯＭ２１７４を再プログラムする。
マイクロプロセッサ２１７３は、ＤＲＡＭ２１７５からロードされたプロトコルスタックを実行して、そのプロトコルを用いている他のＬＡＮ構成要素に対して或はその構成要素からネットワーク通信の送受信を行うことができる。プリントジョブデータはネットワークコントローラ２５１０によって受信され、インタフェース制御ロジック２５２０を介してマイクロプロセッサ２１７３に送られる。マイクロプロセッサ２１７３は、そのプリントジョブデータを共用メモリＳＲＡＭ２００に書込み、そのメモリからプリンタのマイクロプロセッサ１５１はデータを読み出し、そのデータに従ってプリンタエンジン１６０を動作させる。
上述したように、共用ＳＲＡＭ２００へのアクセスは、アービトレーション優先権技術に従ってアービタ制御ロジック４００によって調停される。アービタ制御ロジック４００は、マイクロプロセッサの共用ＳＲＡＭ２００へのアクセスをＦＣＦＳ（first-come,first-served）方式に基づいて行なわせ、低い優先度のプロセッサに対しては待ち状態を呈示することによって、２つのマイクロプロセッサの同時的なアクセスを互いにインタリーブさせ、一方、高い優先度をもつプロセッサがアクセス順位を得るようにする。完全に同等な場合には、ＮＥＢ１０１のマイクロプロセッサ２１７３に優先度が与えられるように調停される。
大部分の共用ＳＲＡＭ２００はリングバッファとして構成され、ＮＥＢのマイクロプロセッサ２１７３はそのリングバッファにプリントデータを書込み、プリンタインタフェースのマイクロプロセッサ１５１をそのリングバッファからデータを読み出す。各プロセッサがブロックのデータを書き込んだり或は読み出したりするとき、そのプロセッサは夫々、ＳＲＡＭ２００のどこかに格納されている“ｐｕｔ”ポインタ或は“ｇｅｔ”ポインタを更新し、プロセッサが次にアクセスすべき場所を示すようにする。
このような構成によって、“ｐｕｔ”ポインタと“ｇｅｔ”ポインタとを互いに比較することによって、書込みを行うプロセッサはメモリ内の書込みができる利用可能な空間があるかどうかを判断し、読み出しを行うプロセッサは読み出されるべきデータが残っているかどうかを判断する。２つのプロセッサ間の共用メモリの競合量を削減するために、ＮＥＢプロセッサ２１７３はメモリへの書込みを所定の間隔で停止し（従って、ポインタの読み出しと更新とを停止する）、プリンタインタフェースマイクロプロセッサ１５１だけが目的とするものを捉えるまでメモリにアクセスできるようにする。この点については後でもっと詳しく述べる。
シリアルポートコネクタ２６００が設けられることによって、ＮＥＢ１０１を外部コンピュータからデバックすることが可能になる。シリアルポートコネクタ２６００はインタフェース制御ロジック２５２０に結合され、そのロジックはシリアルポートコネクタ２６００の受信データピン２６０１からシリアルデータを受け、マイクロプロセッサ２１７３とそのシリアルデータをビット毎に通信する。マイクロプロセッサ２１７３はそのシリアルデータのスタートビットがマイクロプロセッサの非マスクインタラプトを起動するようにインタフェース制御ロジック２５２０を適合させる。それから、マイクロプロセッサ２１７３はシリアルデータのデータビットを８ビットワードに組み立てる。さらに、インタフェース制御ロジック２５２０は、マイクロプロセッサ２１７３のデータバスを監視し、そこに存在するデータのシリアルストリームを通過させ、そのデータをシリアルポートコネクタ２６００のデータピン２６０２に送信する。
ＮＶＲＡＭ１８０とフラッシュＥＰＲＯＭ２１７４とはまたモデル番号、ファームウェアレベル、ボード改訂数のような“ボード”情報とともに、各ネットワークボートに対してユニークであるメディアアクセスコントロール（Media Access Control）（“ＭＡＣ”）アドレス、ボード名、ネットワークフレームタイプ、プライマリファイルサーバ識別、サービスキュー、ネットワークプロトコル、サンプリング周波数、ＰＳＥＲＶＥＲ名、ゾーン名等のような“ネットワーク”情報を格納する。
［ＮＥＢのアクセスと構成］
ＮＥＤ１００１についての情報と同一であるＮＥＢ１０１についてのアクセス及び構成情報は、次のことのために保存する。ＮＥＢ１０１はＮＥＤ１００１とは異なり、双方向周辺機器インタフェースを含んでいる。それゆえに、ＮＥＢ１０１はネットワークに対して広範囲にわたる情報及び制御機能を備える能力を有している。上述したように、より具体的に言えば、大量の状態情報がプリンタ１０２からＬＡＮ１００へと提供され、大量の制御情報がＬＡＮ１００からプリンタ１０２へと提供される（例えば、プリンタに保持されたページカウントを取得したり、或は、ＰＣ１０３からオンライン／オフラインのようなプリンタのフロントパネルの機能を動作させて）。
従って、ＣＰＮＥＴは、上述したように、ＮＥＤ１００１の周辺機器インタフェースが単方向性であるという性質のために、ＮＥＤ１００１では利用可能ではなかったプリンタからの情報にアクセスしたり、その情報を表示したりできる。そのような情報には、例えば、プリントジョブ当りのページ数が含まれる。
上述のように、ＮＥＢ１０１のアクセス及び構成情報の残りは、ＮＥＤ１００１での情報と同一である。従って、その説明についてここでは繰り返さない。
［自動ロギング機能］
ＮＥＢ１０１は毎日午前零時にその時点の現在の状態と、プリンタ１０２の毎日の統計情報とをロギングする能力を含んでいる。これによって、ネットワーク管理者は、毎日のこのロギングを行うことを思い出す必要はなくなる。状態及び統計情報データは、例えば、ＮＥＢのＤＲＡＭ２１７５、或は、ＮＥＢのＮＶＲＡＭ１８０に格納される。格納されるログファイルの場所と格納領域とは、各メモリの残存メモリ容量とネットワーク管理者によって選択されるロギングレベルによって必要とされる統計情報とに依存して、ネットワーク管理者によって選択される。もし、大容量のメモリ空間が利用可能であれば、ネットワーク管理者は、まさに詳細な“ＪＯＢ”ロギングレベルを選択し、膨大な統計情報が維持される。これに対して、そのメモリ空間が制限されていれば、ネットワーク管理者は、それほど詳細ではない“ＥＲＲＯＲ”ロギングレベルを選択し、必要とされる記憶領域をより少なくできる。そのログファイルがいっぱいになれば、そのメモリの格納領域の周辺に新しいログデータは単純にくるんでおき、旧いログデータを新しいログデータで置換する。
ロギング機能は、第１実施形態において上述したＮＥＤ１００１について実行されたものと類似している。基本的な違いは、ＮＥＢ１０１がプリンタとは双方向インタフェースをもっているが、ＮＥＤ１００１はもっていないという事実からきている。従って、ＮＥＢ１０１はＮＥＤ１００１と比較してより詳細な情報をプリンタから取得してログをとることができる。例えば、ＮＥＢ１０１はプリンタの状態に関して、プリンタからまさしく詳細な情報を得ることができる。これに対して、ＮＥＤ１００１は、オンライン状態とか用紙切れ状態といったプリンタ情報に関しては限定された情報しか得ることができない。そのログファイルで利用可能な異なる量の情報の他のものに関しては、ロギング機能の動作やログファイルやデバック情報の出力はＮＥＤ１００１についてもＮＥＢ１０１についても類似している。
図２７は、ＣＰＳＯＣＫＥＴによってＮＥＢで実行される処理の一部の概略を示すフローチャートである。ステップＳ２７０１では、ＬＡＮ１００から現在時刻が受信される。現在時刻受信後、処理はステップＳ２７０２に進み、いまが午前零時であるかどうか、即ち、戻ってくる時刻が新しい日付を示しているかどうかを判断する。
ステップＳ２７０２〜Ｓ２７０５は、プリンタ１０２からＬＡＮ１００に、自動的にかつ体系的に状態情報を提供するために実行される所謂“自動ロギング”機能を含んでいる（自動ロギングについては後で詳細に説明する）。ステップＳ２７０２では、もし時刻が午前零時に達していないなら、その手順は他のタスクを続行する。しかしながら、時刻が午前零時に達すると、ステップＳ２７０３で、ＮＥＢのマイクロプロセッサ２１７３はプリンタ１０２に対してプリンタ１０２がＮＥＢ１０２に対して現在の状態を返答するように要求を送信する。例えば、プリンタ１０２は、累積されたプリントページ数をＮＥＢ１０１に返答するかもしれない。ステップＳ２７０４において、ＮＥＢのマイクロプロセッサ２１７３は、一日当りのジョブ数や一日当りのページ数のようなプリンタ統計を計算し、ＮＥＢ１０１はプリンタに送られるジョブ数とその日付を追跡し続ける。ステップＳ２７０５において、そのプリンタ統計情報は、ＮＥＢのＮＶＲＡＭ１８０のような不揮発性メモリに転送される。あるいは、ステップＳ２７０３、Ｓ２７０４、Ｓ２７０５をステップＳ２７０２の前に実行し、統計情報が毎分格納されるようにしても良い。
ステップＳ２７０２〜Ｓ２７０５について要約すると、双方向インタフェースを介してＬＡＮ通信のためにインタラクティブネットワークボードに接続されるプリンタのシステム統計情報をロギングする方法には、プリンタ１０２でプリントされるページ数をカウントし、ボードでプリントジョブ数をカウントすることを含む。プリンタは毎日双方向インタフェースを介して、プリントページ数について調べられ、ボードはその後、そのページ数、ジョブ数、他の情報を用いて、毎日の統計情報を計算する。その毎日の統計情報は格納され、ＣＰＮＥＴを用いて、ＰＣ１０３のようなネットワーク管理者のＰＣからアクセスされ、リモートに表示される。上述のように、“自動ロギング”の機能の付加的な特徴は、異なるレベルの統計情報がログされるということである。例えば、基本レベルでは、ジョブ当りのページ数のような統計情報がログされる。さらに高いレベルでは、統計情報とエラー情報とがログされる。そのような高いレベルでは、ジョブ当りのページ数に加えて、失敗条件のログをログしても良いし、或は、失敗条件やジョブ当りのページ数に加えて、ジョブ開始終了時刻をログしても良い。そのロギングレベルはＣＰＮＥＴによって設定される。
ＣＰＮＥＴの使用時、ネットワーク管理者に利用可能な１つのオプションは、表示履歴情報オプションを選択するオプションである。そのオプションによって、ネットワーク管理者はＮＥＢ１０１がコンパイルする一群のジョブ関連統計情報を表示することが可能になる。その表示される統計情報には、ジョブ平均、頁平均、性能データを含む。統計情報に加えて、ＣＰＮＥＴによって構成されるように、ＮＥＢ１０１は各プリントジョブについてのログを創成し、そのログをワークステーションディスクに書き込んだり、そのログを消去したりできる。ネットワーク管理者はまた、その統計情報を初期化するオプションを選択できる。
もし、ネットワーク管理者が表示オプションを選択するなら、ＣＰＮＥＴは、ＬＡＮインタフェースを介して、対象とするＮＥＢにログファイルＬＡＮ要求を指示する。ＮＥＢ１０１において、ＣＰＳＯＣＫＥＴはその要求を受信し、どこに格納されていてもログファイルを取り出し、ＬＡＮインタフェースを介してネットワークにそのファイルを提供し、ＣＰＮＥＴで受信されるようにする。
そのログファイルには、３つのカテゴリ、即ち、日毎、累積、平均、に分割された統計情報についての値が含まれる。“日毎”は現在の日の値を示す。“累積”は最後にリセットされてからの全ての日、或は、ディスクドライブのないプリンタの電源投入されてからの全ての日についてのトータルを示す。“平均”は、累積トータルを最後にリセットされてからの全ての日で割ったものである。これら３つのカテゴリ各々について（ＣＰＮＥＴがロギングレベルを“ＮＯＮＥ”に設定していないなら）、ＮＥＢ１０１は次の値についてのトータル値を保持する。即ち、日数（リセットされて以来の日数、或は、電源投入されて以来の日数）、プリントされたページ数、処理されたプリントジョブ数、オフライン時間、ジョブ情報、エラー情報、及び、プリント時間である。
ＣＰＮＥＴはまた、格納されたログファイルを取り出し、画面上に表示して見れるようにしたり、或は、プリントしたりする。そのログファイルは、逆日付順となっており、次のレコードタイプを含んでいる。そのログファイルの正確な内容は表２に要約されているように、ＣＰＮＥＴによって設定されたロギングレベルに従って変化する。なお、そのログファイルへの各エントリには、エントリの日付と時間が付される。
0003825801.tif 000003
図２７に関して上述したように、ステップＳ２７０２〜Ｓ２７０５には自動ロギング機能が含まれており、その機能によって、周辺機器統計情報（例えば、一日当りのプリント頁数）とエラーイベントが後での取り出しのために自動的にログ（格納）される。ここで、ロギングレベル（統計分析度）は、ネットワーク管理者によって変更可能である。一般に、ネットワーク管理者はロギングレベルを選択し、どんなときでもログファイルからプリンタ統計情報とエラーイベントを抽出できる。そのような機能のネットワーク管理者の部分については既に説明したが、その検討内容とそこで説明された表、特に、表２を参照する必要があるかもしれない。表２は、ＣＰＮＥＴによって設定されたロギングレベルに依存したログファイルの内容を示している。
上述のように、ネットワーク管理者は、４つのロギングレベル、つまり、ＮＯＮＥ、ＡＵＴＯ、ＥＲＲＯＲ、ＪＯＢを選択可能である。ＮＯＮＥレベルでは、ロギング統計情報は保持されない（しかし、その情報は毎分計算され、一時的にＮＥＢのＤＲＡＭ２１７５に保存されることもある）。ＡＵＴＯレベルでは、プリント日付、ページ、ジョブ、オフライン時間、プリント時間のようなプリンタの主要な情報についての日毎の統計情報が保持される。プリント累積ページ数はプリンタによって決定されるが、他の統計情報はＮＥＢによって決定される。
ＥＲＲＯＲ（エラー）ロギングレベルは、上述したような日毎の統計情報と、また、プリンタ１０２のエラー状態と、アプリケーション（即ち、ＣＰＳＥＲＶＥＲ）で発生するエラーとを保持する。ＮＥＢ１０１はプリンタ１０２にそのようなエラー状態について問い合わせ、それらが発生したときそのエラー状態をログする。そのようなプリンタエラー状態には、オフライン、用紙切れ、プリンタがオープン、用紙詰まり、トナーカートリッジがない、トナーが少ない、プリンタフィード及びロードエラー、トレイが満載、ラインエラー、プリントジョブリジェクト、フォントフル、サービスコール等が含まれる。アプリケーションエラーには、ファイルサーバダウン、プライマリサーバ利用不可、ＣＰＳＥＲＶＥＲが他の場所で実行中、プリントキューが見つからない等が含まれる。
ＪＯＢ（ジョブ）ロギングレベルには上述の日毎の統計情報とエラー状態とを保持し、またさらに、ＮＥＢ１０１で判断されるジョブ開始と終了の情報とを保持する。もちろん、ロギングレベルの数と種類や、各ロギングレベルで保持されるデータはＮＥＢ１０１がインストールされる固有の周辺機器や固有のＬＡＮに応じて変化する。
図２８Ａ及び図２８Ｂは、ＮＥＢ１０１内の自動ロギング機能の動作概要を示すフローチャートを含んでいる。ここでは、図２７や上述した表２を参照する。ステップＳ２８０１では、ＮＥＢ１０１に電源が投入され、ステップＳ２８０２ではタイマモジュールが最も近接したサーバを見つけ、時刻を要求する。ステップＳ２８０３では、ＮＯＮＥロギングレベルが選択されているかどうかを判断する。もし、ＮＯＮＥロギングレベルが選択されているなら、処理はそのフローチャートの終了にスキップし、メイン処理に戻る。
もし、ＮＯＮＥロギングレベルがステップＳ２８０３で選択されていないなら、ステップＳ２８０４ではＡＵＴＯロギングレベルが選択されているかどうかを判断する。ＡＵＴＯロギングレベルが選択されているなら、処理はステップＳ２８１０に進み、午前零時まで待機する。しかしながら、ＡＵＴＯロギングレベルが選択されていないなら、ステップＳ２８０５ではＥＲＲＯＲロギングレベルが選択されているかどうかを判断する。そこで、ＥＲＲＯＲロギングレベルが選択されているなら、処理はステップＳ２８０８にスキップし、１分のタイムアウトまで待機する。しかしながら、ＥＲＲＯＲロギングレベルが選択されていないなら、ステップＳ２８０６で、ＪＯＢロギングレベルが選択されていると判断する。この場合、ステップＳ２８０７はジョブの開始及び終了時刻をログファイルに格納する。ステップＳ２８０８では、１分間が経過するのを待ち合わせ、それから、ステップＳ２８０９で、プリンタにエラー状態を問い合わせ、そのようなイベントをログファイルに格納する。従って、ＥＲＲＯＲ或はＪＯＢロギングレベルが選択されたなら、そのボードはプリンタにエラー状態について問い合わせ、それが発生したときに、ログファイルにそのようなエラー状態を記録することになる。
ステップＳ２８１０では午前零時を待ち合わせ、ステップＳ２８１０（図２８Ｂ）では、その時刻にＮＥＢ１０１はプリンタに日毎の統計情報を問い合わせる。ステップＳ２８１０において、午前零時に達していないなら、その手順はステップＳ２８０４に戻り、どのロギングレベルが選択されているかを判断する。
ステップＳ２８１２では、ステップＳ２８１１で受信したプリンタ統計情報を用いて、日毎のプリンタ統計情報が計算される。その後、ステップＳ２８１３では、日毎の統計情報とそのエラーイベントとがＮＥＢのＮＶＲＡＭ１８０に格納される。なお、ネットワーク管理者は、いくつかのメモリを組み合わせて、ロギング統計情報とエラーイベントとを格納するように選択し、ＬＡＮ１００にいっそうの柔軟性を備えるようにできる。
上述した、ロギング機能はプリンタ１０２をＬＡＮ１００のインタラクティブな応答性のある構成機器とするためにかなり重要である。なぜなら、ＮＥＢ１０１とプリンタ１０２との間の共用メモリ接続によって、プリンタ１０２から大量の特定データを抽出できるからである。
上述のように、ＮＥＢ１０１は、プリンタ１０２と、ＳＣＳＩインタフェースのような異なる種類の双方向インタフェースを用いるようにしても良い。例えば、上述した“ネットワーク周辺機器の状態を取得し制御する方法及び装置（Method And Apparatus For Obtaining And For Controlling The Status Of A Networked Peripheral）”という名称の米国特許第５，３２３，３９３号に説明されているＮＥＢには、ＳＣＳＩインタフェースが用いられている。そこで説明されているＮＥＢは、プリンタとＮＥＢとの通信により、大きな柔軟性を備えている。例えば、オプションとして、ログファイルが、ＮＥＢのメモリへと同様にプリンタのハードディスクにも格納される。もし、プリンタがハードディスクをもっているなら、ネットワーク管理者はまさしく詳細な“ＪＯＢ”ロギングレベルを選択し、大量の統計情報を保持できる。これに対して、プリンタにハードディスクがないなら、ネットワーク管理者は、それほど詳細ではない“ＥＲＲＯＲ”ロギングレベルを選択して、必要とされる記憶空間をより少なくできる。
［ログファイル出力］
図１１は、自動ロギング機能によって生成されたログファイルをＮＥＢ１０１から出力する処理を示すフローチャートである。そのログファイルには、選択されたロギングレベルに依存して、ＮＥＢ１０１とプリンタ１０２との動きに関連した情報が含まれる。なお、その情報量は変化する。上述のように、ログされる情報量は、ＮＥＢ１０１に利用可能なプリンタ１０２についての情報量に依存する。
図１１の処理ステップでは、ローカルエリアネットワーク（ＬＡＮ）と画像形成装置との間でインタフェースとなるネットワーク機器からのログファイルを出力する方法を図示している。保持されるログファイルは、ＬＡＮから受信する画像形成ジョブとその画像形成装置への出力とを記録する。ログファイルの出力を開始する契機となる条件を検出すると、そのログファイルは画像形成ジョブへとフォーマットされ、そのフォーマットされたログファイルが画像形成装置に出力される。
上述のように、図１１に示される処理はマイクロプロセッサ２１７３で実行しているＣＰＳＯＣＫＥＴプログラムのセクション或はサブタスクにインプリメントされている。ステップＳ１１０１では、契機となる条件が検出されたかどうかを判断する。ログファイルの出力の契機となるために用いられる条件の例は、ＮＥＤ１００１について上述されている。これらの契機となる条件がＮＥＢ１０１にも適用される。従って、その点についてはここで繰り返して説明しない。
契機となる条件が検出されたなら、処理はステップＳ１１０２に進む。そうでなければ、処理は終了までスキップし、他の処理を続行する。ステップＳ１１０２では、ログファイルが取り出され、画像形成ジョブにフォーマットされる。このフォーマッティングは好適には、ページヘッダの追加、ロギングファイルデータをフォーマットしてプリントページを形式的に整えること、フォームフィードのような制御キャラクタをデータストリームに追加することのような動作を含むと良い。そのディフォルトモードでは、フォーマットされたログファイルデータが、大抵の画像形成装置を駆動している普通のＡＣＳＩＩキャラクタフォーマットとなる。もし、特定の画像形成装置がPostScriptフォーマットのような異なるフォーマットでのデータを要求することが知られているなら、ＮＥＢ１０１はそのログファイルを適切なフォーマットへとフォーマット化するように構成できる。この構成は、例えば、ＣＰＮＥＴを用いて実現される。その上、ＮＥＢ１０１は装着された周辺機器と双方向インタフェースをもつので、その周辺機器によって必要とされるデータフォーマットを判断するために周辺機器に問い合わせをすることができる。
ＮＥＤ１００１に関連して上述した図１１の残りの処理ステップは、ＮＥＢ１０１からログファイルを出力するステップと同一である。従って、その説明についてはここでは繰り返さない。
ＮＥＤ１００１に関して、図１２に従って異なる契機となる条件の処理が上述されているが、この処理はＮＥＢ１０１でも全く同じように実行される。従って、その詳細な説明はここでは繰り返さない。
図２９は、ロギングのＡＵＴＯレベルが設定されプリンタ１０２に出力されるときＮＥＢ１０１のログファイルに格納されるプリント出力データの出力例である１枚の用紙２９１００である。図２９は図１３（ＮＥＤ１００１に格納されたプリント出力データの出力例を示す）とは、図２９がＮＥＤ１００１の単方向周辺機器インタフェースを介してＮＥＤ１００１に送信できないプリンタ情報を含んでいるという点で異なる。
図２９において、ヘッダ２９０１０はそのプリント出力がログファイルであることを識別し、プリンタ１０２の名前を識別する。欄２９０１は日付を示し、欄２９０２は時刻を示す。欄２９０３はレコードタイプを示し、それは表２に示したレコードタイプに対応する。欄２９０４〜２９０８は各々、日数、ページ数（プリンタ１０２から受信する）、ジョブ数、プリンタ１０２がオフラインである時分数、プリンタ１０２がプリントしている時分数を示す。
その記録は逆時間順である。従って、そのファイルの最近の記録は生成されたものの第１レコードであり、それは電源投入の記録２９０７（タイプ  ＰＯＷ、表２参照）である。ＰＯＷレコードのデータは次の通りである。
Ｅ＝Ｅｔｈｅｒｎｅｔ（イーサネット）
１．３９＝ファームウェアのバージョン
００６８０Ｂ＝ＭＡＣ（Media Access Controlメディアアクセスコントロール）アドレスの最後の数字
ＣＭＱＡ＿ＬＡＢ−Ａ＝プリンタ名
上述のように、ログファイルの内容は、選択されたロギングレベルに依存する。更にその上、異なるフォーマッティング或は／及びラベルが必要に応じて用いられることもある。
［テストページ生成］
図１４はＮＥＢ１０１がどのようにしてＮＥＢ１０１がインストールされたプリンタ１０２の状態変化、特に、フロントパネル１０２１を通してなされる状態変化に基づいてテストページ情報を生成出力することができるのかを図示したフローチャートである。テストページ情報はボード情報とネットワーク情報との少なくとも１つを含み、周辺機器のフロントパネルを操作してその周辺機器の状態を変化させることによって生成される。ＮＥＢ１０１はＬＡＮにＬＡＮインタフェースによって接続され、周辺機器に周辺機器インタフェースによって接続される。ＬＡＮインタフェースはネットワーク情報のために監視され、周辺機器のフロントパネルは所定時間にわたり所定の回数だけ操作されてその周辺機器で所定の順番で状態の変化を発生させる。その所定の順番での状態変化は周辺機器インタフェースを介してネットワーク機器と通信され、その所定の順番での状態変化に応答して、ネットワーク機器は、ボード情報とネットワーク情報との少なくとも１つを含むテストページ情報を生成する。そのテストページ情報は、周辺機器インタフェースを介して周辺機器と交信され、その周辺機器に出力される。
より具体的には、ステップＳ１４０１で開始するが、マイクロプロセッサ２１７３は、図２３に示す共用ＲＡＭやＳＣＳＩインタフェース等の双方向周辺機器インタフェースを介して、周辺機器状態データを受信する。この場合、双方向周辺機器インタフェースは共用ＲＡＭである。周辺機器状態データは、通常、状態変化を検出したときにはいつでも、その状態データを更新するプリンタインタフェースカード１５０から受信される。或は、その代わりに、ＮＥＢ１０１がカード１５０からの状態データの伝送を要求することもできる。その受信した周辺機器状態データに基づいて、マイクロプロセッサ２１７３は周辺機器の状態の変化が発生したかどうかを判断する。
マイクロプロセッサ２１７３は、共用ＲＡＭ２００（或は、どんな双方向インタフェースでもよいが）を介して送信されるどんな状態変化でも、初期の状態変化として、解釈するように設定されていても良い。しかしながら、本発明の好適な実施形態では、初期の状態変化は図２Ｂに示すフロントパネル１０２１の操作によって引き起こされる。具体的には、ユーザはプリンタ１０２のフロントパネルの“オンライン／オフライン”機能ボタンを押下することによりプリンタ１０２での初期の状態変化を生じさせる。しかしながら、既に示唆しているように、その初期の状態変化は、双方向周辺機器を介して送信されるどんな状態変化によっても生じさせることができる。
一旦、マイクロプロセッサ２１７３がステップＳ１４０１においてプリンタ１０２の初期の状態変化を検出すると、処理はステップＳ１４０２へ、それからステップＳ１４０３へと進む。これら２つのステップの説明は、ＮＥＤ１００１についての２つのステップの説明と同一である。従って、その説明はここでは省略する。
ステップＳ１４０４では、マイクロプロセッサ２１７３はＸＰＬモジュールにあるテストページモジュールを実行する。図１５は、ＸＰＬモジュールのテストページモジュールが構成され、“ネットワーク”情報と“ボード”情報のみを含むテストページ情報を生成する処理を示すフローチャートである。ステップＳ１５０１では、テストページモジュールは、テストページについてのデータをメモリから読み出す。ＮＥＢ１０１の場合、ＮＥＤ１００１とは異なり、情報はＥＰＲＯＭ２１４７とＮＶＲＡＭ１８０とから読み出される。そのテストページについての情報は、モデル番号、ファームウェアレベル、ボード改訂数のような“ボード”情報とともに、ＭＡＣアドレス、ボード名、ネットワークフレームタイプ、プライマリファイルサーバ識別、サービスされるキュー、ネットワークプロトコル、サンプリング周波数、ＰＳＥＲＶＥＲ名、ゾーン名等のような“ネットワーク”情報を含んでいる。なお、これら全ては既に示唆されているように、ＥＰＲＯＭ２１７４とＮＶＲＡＭ１８０に格納されている。同様に、テストページモジュールは、“ネットワーク情報”という範疇の下に、“ネットワーク接続なし”という情報を含めることができる。上述したように、マイクロプロセッサ２１７３はＬＡＮインタフェースを監視し、この情報を得る。前述の情報のどれがテストページを生成するために用いられるかは、まさしく、ＸＰＬモジュールのテストページモジュールに設定される。
上述のように、ステップＳ１５０２では、テストページモジュールはステップＳ１５０１で読み出されたテストページ情報をフォーマットする。本発明の好適な実施形態では、そのテストページ情報は図１６に示すように、フォーマットされる。その詳細な説明は、ＮＥＤ１００１に関して、既になされている。
同様に、ＮＥＤ１００１に関して上述されているように、テストページフォーマットはＸＰＬモジュール内のテストページモジュールに設定でき、付加的な情報をテストページに含むようにできる。
テストページ情報が生成された後、処理は図１４のステップＳ１４０５に戻り、テストページ情報は共用ＲＡＭ２００を介してプリンタ１０２に送信される。ステップＳ１４０６では、プリンタ１０２はテストページとして、ＮＥＢ１０１から受信したテストページ情報をプリント出力する。
上述の場合のように、図示はされていないが、テストページ情報はＬＡＮ１００に出力できる。この場合、テストページ情報はファイルサーバ１０６に格納され、ネットワーク上の他のＰＣがプリンタ１０２についてのテストページ情報にアクセスできる。
上述したように、上記の説明は、テストページ情報が“ボード”情報と“ネットワーク”情報とだけを含むＮＥＢ１０１の実施形態に適用される。しかしながら、共用ＲＡＭ２００（或はＳＣＳＩインタフェース）は双方向のインタフェースであるので、プリンタ情報は、ＮＥＢ１０１によって生成出力されるテストページ情報にも含まれる。
プリンタ情報をテストページ情報に含ませるために、ＮＥＢ１０１のＸＰＬモジュールのテストページモジュールがプリンタ１０２に対して必要とするプリント情報を問い合わせ、これをプリンタ１０２から受信するために実行される。図３０は、この場合のテストページモジュールの動作を示すフローチャートを示している。一旦、プリンタ情報が取得されたなら、図１４はまさしく、ＮＥＢ１０１によって生成出力されるテストページ情報（プリンタ情報を含む）の処理を説明することになる。
ステップＳ３００１では、テストページモジュールは共用ＲＡＭ２００（或はＳＣＳＩインタフェース）を介してプリンタ１０２からの所定のプリンタ情報を要求する。この所定のプリンタ情報とは、テストページ出力の中に含まれることになる情報である。そのテストページモジュールは、望むなら、プリントページ数やフォント登録等のような共用ＲＡＭ２００（或はＳＣＳＩインタフェース）を介して送信されるどんな利用可能なプリンタ情報についても要求するように設定できる。
テストページに含むことができるプリンタ状態情報のより完全なリストには以下のものが含まれる。即ち、遷移状態、オンラインでプリント中、オフラインでプリント中ではない、エンジンテスト検出、保守プログラム実行中、スリープモードにある、用紙切れ、プリンタオープン、用紙詰まり、ＥＰカートリッジなし、トナーが少ない、Ｕ−Ｌフィード、用紙積載、用紙供給、ＣａＰＳＬオペレータコール、上部フィーダリジェクト、中間部フィーダリジェクト、下部フィーダリジェクト、上部にセット、中間部にセット、用紙流出、トレイがフル、ページフル、２２ラインエラー、４４ラインエラー、ダウンロードメモリがフル、作業メモリがフル、デッドロックメモリがフル、ジョブリジェクト、プリントチェック、フォントがフル、エンジンウォーミングアップ、外部オペレータコール、前面のカードが除去、ＮＶＲＡＭフル、ハードディスクがフル、メモリフル、低解像度なので低くできない、ハードディスクがクラッシュ、“電源切断せよ”、フルペイントリジェクト、スケールエラー、デュープレックスリジェクト、拡張Ｉ／Ｏエラー、トレイのトラブル、常駐ＲＯＭに悪いフォーマットあり、サポートされていないオプション、オプションフォントなし、メモリフルが回避不可能、サービスコールが起動中、立ち上がり状態、オフラインへ移行中、オンラインへ移行中、メニューでのオフラインでプリント中ではない、遷移状態にありメニューを終了してＯＦＦＬＩＮＥに戻る、パネルリセット要求、ＳＷＯＦＦ検出（電源切断要求）、システムをリブート、パネルフォームフィード要求、パネルフォームフィードキャンセル、外部プログラムテストプリント、テストプリントキャンセル、及び、保守プログラムが実行完了である。
テストモジュールは、ステップＳ３００２で、プリンタ１０２から要求したプリンタ状態情報を受信し、ステップＳ３００３ではＥＰＲＯＭ２１７４とＮＶＲＡＭ１８０から“ボード”及び“ネットワーク”情報を読み出す。ステップＳ３００４では、テストページモジュールはそのプリンタ情報と“ボード”情報と“ネットワーク”情報とをテストページ情報とに結合し、上述のようにそのテストページ情報をフォーマット化する。一旦、そのテストページ情報がフォーマットされたなら、処理は図１４に示されているように進行する。
［フォーマットされたデバックデータ出力］
図１７はフォーマットされたデバック情報をＮＥＢ１０１から出力する処理を示すフローチャートである。このデバック情報は画像形成機器が正しく動作していないときに問題の原因を判断するために有用である。特に、デバック情報は問題がネットワークボードの構成や動作にあるのか或は画像形成機器にあるのかを判断するために助けになる。一般的に言って、デバック情報はＮＥＢ１０１のメモリ内容のダンプである。出力されるデバック情報は、例えば、ネットワークボードの構成に関連したＥＰＲＯＭ２１７４とＮＶＲＡＭ１８０の内容と、ＬＡＮ１００からの画像形成ジョブの受信と接続された画像形成機器への画像形成ジョブの出力におけるネットワークボードの動作に関連したＤＲＡＭ２１７５の内容とを含んでいる。この情報はまた、衝突の回数と送受信のパケットの数のようなネットワーク統計情報とを含んでいる。
図１７の処理ステップは、ローカルエリアネットワーク（ＬＡＮ）とプリンタ１０２のような画像形成装置との間でインタフェースとなるネットワーク機器からのフォーマットされたデバック情報を出力する方法を図示している。デバック情報は、ＬＡＮからの画像形成ジョブ受信時と、画像形成装置への画像形成ジョブの出力時に、ネットワーク機器の動作に関連したネットワーク機器に格納される。デバック情報の出力を開始させる契機となる条件を検出すると、そのデバック情報は画像形成ジョブにフォーマットされ、そのフォーマットされたデバック情報は画像形成装置に出力される。
上述のように、図１７の処理は、マイクロプロセッサ１７３で実行されるＣＰＳＯＣＫＥＴプログラムのセクション或はサブタスクによって実行される。ＮＥＤ１００１に関して上述した図１７に従う処理は、ＮＥＢ１０１に関する処理と同一である。従って、その詳細な説明はここでは行なわない。
図１７において上述した処理によって、デバック情報についての画像形成ジョブがＮＥＢ１０１で生成されるので、その結果、そのデバック情報は、コンピュータがＮＥＢ１０１にアクセスする必要なしに、ＮＥＢ１０１に装着された機器を通してアクセスされる。この機能は、例えば、プリンタ、複写機、或は、ファクシミリのような画像を形成することが可能な機器に接続されるどのＮＥＤについても選択される。
デバック情報出力機能は、種々の条件が出力を開始する契機となる状態として選択されるようにすることで、柔軟性をもたせている。選択された契機となる条件は、ＣＰＮＥＴを用いて構成され、ＮＥＢ１０１に格納される。ＮＥＢ１０１で用いられる可能性のある契機となる条件は、ＮＥＤ１００１に関して上述したものと同一である。従って、その詳細な説明はここでは繰り返さない。
ＮＥＤ１００１に関して上述したように、図１８もまた上述したように、異なる契機となる条件の処理を示すフローチャートを示している。ＮＥＤ１００１についての図１８の説明は同様にＮＥＢ１０１にも適用するので、その詳細な説明はここでは繰り返さない。
図１９は、図１７に関して説明した処理についての変形例を示すフローチャートである。この変形例において、デバック情報源は、ＮＥＢ１０１のメモリに格納されたデータではなく、ＬＡＮ１００から受信される画像形成ジョブに関するデータである。
図１９の処理ステップは、ＬＡＮから受信したデバック情報をリフォーマッティングし、そのリフォーマットされたデバック情報をプリントする方法を図示している。図１９に示す方法によれば、デバック情報はＬＡＮから受信されるが、ＮＥＢ１０１でのリフォーマットモードを設定するコマンドがこれに先行する。リフォーマットモードでは、ＮＥＢ１０１はデバック情報をリフォーマットし、バイナリコードをこれに相当する１６進のＡＣＳＩＩキャラクタに変換する。リフォーマットされたデバック情報はその後、プリンタ１０２でのプリントのために出力される。
ステップＳ１９０１では、データをＬＡＮ１００から受信する。ステップＳ１９０２では、デバックモード、即ち、データ変換モードがセットされているかどうかを判断する。このモードは、ＣＰＮＥＴを用いてセットされる。例えば、ＣＰＮＥＴはＮＶＲＡＭ１８０に構成データを設定して、その後の全てのジョブに関してＮＥＢ１０１がデータ変換デバックモードになるようにする。このことはＣＰＮＥＴがフラッシュＥＰＲＯＭ２１７４に構成データをセットするという点でＮＥＤ１００１とは異なる。また或は、ＮＥＢ１０１が、その後の最初の画像形成ジョブだけについてデータ変換を実行するように構成することもできる。ステップＳ１９０２において、もし、データ変換モードが選択されるなら、処理はステップＳ１９０３に進む。そうでなければ、処理はその終了までスキップし、プリントアプリケーションは他の処理を続行する。
ステップＳ１９０３からは、処理はＮＥＤ１００１に関連して上述したものと同一である。従って、その詳細な説明はここでは繰り返さない。
図２０は、ＮＥＤ１００１に関して既に上述したが、この図はＮＥＢ１０１からのデバック情報のプリント出力がどのようなものかを例示している。これは、ＮＥＤ１００１に関するものと同一である。図２０は上述したので、その詳細な説明はここでは繰り返さない。
もし、異なるフォーマットが望まれるなら、デバック情報に別のラベルを付したり、その配置の仕方を別のものに変えても良い。
本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の概念や範囲を逸脱することなく、種々の変更や変形が当業者にとっては可能である。
【図１】
0003825801.tif 000004
【図２Ａ】
0003825801.tif 000005
【図２Ｂ】
0003825801.tif 000006
【図３】
0003825801.tif 000007
【図４Ａ】
0003825801.tif 000008
【図４Ｂ】
0003825801.tif 000009
【図５Ａ】
0003825801.tif 000010
【図５Ｂ】
0003825801.tif 000011
【図６】
0003825801.tif 000012
【図７】
0003825801.tif 000013
【図８】
0003825801.tif 000014
【図９】
0003825801.tif 000015
【図１０Ａ】
0003825801.tif 000016
【図１０Ｂ】
0003825801.tif 000017
【図１１】
0003825801.tif 000018
【図１２】
0003825801.tif 000019
【図１３】
0003825801.tif 000020
【図１４】
0003825801.tif 000021
【図１５】
0003825801.tif 000022
【図１６】
0003825801.tif 000023
【図１７】
0003825801.tif 000024
【図１８】
0003825801.tif 000025
【図１９】
0003825801.tif 000026
【図２０】
0003825801.tif 000027
【図２１】
0003825801.tif 000028
【図２２】
0003825801.tif 000029
【図２３】
0003825801.tif 000030
【図２４】
0003825801.tif 000031
【図２５】
0003825801.tif 000032
【図２６】
0003825801.tif 000033
【図２７】
0003825801.tif 000034
【図２８Ａ】
0003825801.tif 000035
【図２８Ｂ】
0003825801.tif 000036
【図２９】
0003825801.tif 000037
【図３０】
0003825801.tif 000038