(57)【特許請求の範囲】
【請求項１】
複数のサブシステムと関連づけられた印刷機を有し、該印刷機がネットワーク接続を介して第１クライアントおよび第２クライアントに通信するサーバーに動作可能に接続されている印刷システムにおいて、前記第１及び第２クライアントのうち選択した一方へ情報セットを自動的に伝送する装置であって、
複数の前記サブシステムに関する情報を保持するように、前記サーバーと連動させられており、前記第１および第２クライアントの両方と通信するエージェントと、
前記第１クライアント、前記第２クライアント及び前記エージェントを含んでおり、前記第１クライアントに対応する第１識別子を含む第１情報セット及び前記第２クライアントに対応する第２識別子を含む第２情報セットを登録するための登録システムとを備え、
前記第１識別子及び前記第２識別子の各々が、第１識別子部分と第２識別子部分とを有しており、
前記第１クライアント及び前記第２クライアントの各々は、前記第２識別子部分を前記サーバーに提供しており、
前記エージェントは、前記サブシステムの１つ又は複数において第１イベントが発生すると前記第１クライアントの前記第１識別子部分を前記第２識別子部分と結合して第１合成識別子を形成し、前記サブシステムの１つまたは複数において第２イベントが発生すると前記第２クライアントの前記第１識別子部分を前記第２識別子部分と結合して第２合成識別子を形成し、
前記エージェントは、前記第１イベントが発生すると、前記第１情報セットを前記第１合成識別子とともに排他的に前記第１クライアントへ伝送し、前記第２イベントが発生すると、前記第２情報セットを前記第２合成識別子とともに排他的に前記第２クライアントへ伝送する、
ことを特徴とする装置。
【請求項２】
複数の印刷関連機能を実行し、ネットワーク接続を介してユーザーの制御下にあるクライアントに通信するサーバーを有する印刷システムにおいて、複数の前記印刷関連機能の１つと関連づけられたイベントが発生したことをサーバーによってクライアントへ知らせる装置であって、
前記サーバーと連動させられており、第１の識別子部分が格納されているエージェントと、
第２の識別子部分を提供する識別子部分のソースと、
前記ソースと通信でき、前記第２識別子部分を格納する記憶領域と、
前記印刷関連機能の１つと関連づけられていて、前記イベントが発生したとき前記第２識別子部分をエージェントへ送るように、前記印刷関連機能の１つと関連づけられているプロセスとから成り、
前記第２識別子部分を受け取るのに応答して、前記エージェントは、前記第２識別子部分を前記第１識別子部分に結合し、前記イベントが発生したことを指示する情報のパケットに対応する合成識別子を形成し、
前記エージェントは前記情報パケットを前記クライアントに送信し、該情報パケットの受取りに応答して、前記クライアントは、受け取ったパケットの情報を参照することによって、前記イベントの発生をユーザーに知らせる、
ことを特徴とする装置。
【請求項３】
ネットワーク接続を介してクライアントと通信するサーバーを有し、該サーバーが第１識別子を格納したエージェントを有し、印刷システムの１つの機能に関連づけられたイベントの発生が前記エージェントへ知らされるようになっている印刷装置において、前記イベントの発生を前記エージェントによって前記クライアントへ知らせる方法であって、
第２の識別子部分を前記サーバーへ提供し、
前記イベントが発生したとき、前記第２識別子部分を前記エージェントへ伝送し、
前記エージェントによって、前記第２識別子部分を前記第１識別子部分に結合し、
前記イベントが発生したことを示す情報のパケットに対応する合成識別子を形成し、
前記情報パケットを前記クライアントへ伝送し、
前記情報パケットの受取りに応答して、該情報パケットの参照により、前記イベントの発生をユーザーに知らせる、
ことから成ることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般には、印刷システムにおいて選択したイベントの発生を監視する技法、より詳細には、第１クライアント、第２クライアントおよびサーバーを有するネットワーク印刷システムにおいて、サーバーがイベントの発生に応じてイベントの発生を指示する情報のパケットをネットワークを介して第１クライアントと第２クライアントのうち選択した方へ自動的に伝送する装置に関するものである。
【０００２】
【従来の技術】
多くの標準規格機構がコンピュータネットワークキングを標準化しようと試みている。国際標準化機構（International Organization for Standardization；ＩＳＯ）は、開放型システム間相互接続モデル（Open System Interconnection ；ＯＳＩ) モデルと呼ばれる一般的な基準フレームワークを提供した。ネットワーク管理プロトコルのためのＯＳＩは、共通管理情報プロトコル（Common Management Information Protocol；ＣＭＩＰ）と呼ばれる。ＣＭＩＰは、ヨーロッパにおける共通ネットワーク管理プロトコルである。米国におけるより一般的なネットワーク管理プロトコルは、簡易ネットワーク管理プロトコル（Simple Network Management Protocol; ＳＮＭＰ）と呼ばれるＣＭＩＰの関連バリエーションである（ Marshall T. Rose, The Simple Book, Prentice-Hall, 1991 参照）。
【０００３】
ＳＮＭＰネットワーク管理用語では、ネットワーク管理システムは、少なくとも１個のネットワーク管理ステーション（Network Management System;  ＮＭＳ）と、それぞれがエージェントを有する幾つかの管理されたノードと、管理ステーションとエジェントによって管理情報を交換するのに用いられるネットワーク管理プロトコルを有している。ユーザーは、ＮＭＳ上でネットワーク管理ソフトウェアを使用してノード内のエージェントソフトウェアと通信することにより、ネットワークを介してデータを取得し、データを変更することができる。
【０００４】
ネットワーク印刷システムにおいて、いつ遠隔プリンタ内でイベント（例えば、プリントジョブの完了）が発生したかをクライアントのワークスーションにおいて決定することは、もちろんクライアントと遠隔プリンタの間に双方向通信が存在しない限り、容易でないと考えられる。しかし、クライアントと遠隔プリンタの間に１方向通信しか存在しないケースでは、遠隔プリンタはクライアントに直接話しかけることができない。一例として、Xerox Network Service 装置では、ユーザーはワークスーションからサーバーに問い合わせて、いつネットワークジョブが印刷を完了したかを決定することができる。しかし、上記装置内のサーバーは、ワークスーションにおいてユーザーに印刷の完了を自動的に知らせるように構成されていない。
【０００５】
Hewlett-Packard  社は、ＳＮＭＰトラップを用いて、各クライアントから遠隔のプリンタにおけるイベントの発生に関する情報をネットワーククライアントのグループに知らせる手法を使用していると考えられる。詳しく述べると、グループの各クライアントは、イベントセット内のイベントの１つが発生するたびにメッセージを受け取るように相互にアクセス可能なエージェントに登録する。従って、イベントセット内のイベントの１つが発生すると、エージェントはグループ内の各クライアントへトラップすなわちメッセージを送信する。
【０００６】
Novell 社が提供するネットワーク装置は、ジョブの印刷に先立つある時点にクライアントが個人識別子をネットワークサーバーに提供すると理解される。識別子を提供した後、クライアントはネットワークサーバーを通して遠隔プリンタへジョブを送る。一方、ネットワークサーバーはジョブを遠隔プリンタへ送り、ジョブの印刷が完了すると、遠隔プリンタはジョブの印刷が完了したことを指示する通知をネットワークサーバーへ送る。その指示に応じて、ネットワークサーバーは、印刷の完了をクライアントへ知らせるメッセージをクライアントへ送る。
【０００７】
【発明が解決しようとする課題】
たいていの場合、 Hewlett-Packard  社が使用した手法は、グループの場合は総じて有益であるが、一定の状況において困ったことが起きることがある。例えば、第１ユーザーと第２ユーザーを含むグループにおいて、第１ユーザーに属するプリントジョブを両ユーザーから遠隔のプリンタの所で仕上げることがある。上記手法の場合、第１ユーザーのジョブが完了したことを指示するトラップすなわちメッセージを両ユーザーが受け取るものと理解される。しかし、申し分のない状況の下では、第２ユーザーは第１ユーザーのみに結果をもたらすイベントの発生を聞きたくないであろう。それに加えて、 Novell 社が使用した手法は、印刷待ち行列を使用する遠隔プリンタに用いるのは適当でないように見える。すなわち、印刷待ち行列を使用する場合、いつ待ち行列内のジョブの印刷が完了したかを知る手段をネットワークサーバーが有しているとは考えられない。さらに、 Novell 社の手法は、プラットフォームに依存しているので、ある程度用途が制限されるように見える。ユーザーのグループによって使用される遠隔プリンタ（または、どれかの出力装置）内のイベントの発生に関するメッセージがその発生によって影響を受ける特定の受取人のみへ伝送される、プラットフォームに依存しないシステムを提供することが望ましい。
【０００８】
【課題を解決するための手段】
本発明は、第１の特徴に従って、複数のサブシステムと関連づけられた印刷機を有する印刷システムのための自動伝送装置を提供する。印刷機はプリントサーバーに有効に接続されており、プリントサーバーはネットワーク接続を介して第１クライアントと第２クライアントと通信する。自動伝送装置は、情報セットを第１および第２クライアントのうち選択した一方へ自動的に伝送するため使用することが意図されている。この自動伝送装置は、（ａ）プリントサーバーと有効に関連づけられていて、複数のサブシステムに関する情報を保持し、第１および第２クライアントの両方と通信するエージェントと、（ｂ）前記第１クライアント、第２クライアント、およびエージェントを含み、第１識別子と第２識別子を含む情報を登録するための登録システムを有する。第１および第２識別子はそれぞれ第１および第２情報セットに対応しており、エージェントによって格納される。実際には、エージェントは、複数のサブシステムの１つにおいて第１イベントが発生すると排他的に第１情報セットを第１クライアントへ伝送し、複数のサブシステムの１つまたはそれ以上において第２イベントが発生すると排他的に第２情報セットを第２クライアントへ伝送する。
【０００９】
本発明は、第２の特徴に従って、多数の印刷関連機能を実行し、ネットワーク接続を介してユーザーの制御の下にあるクライアントと通信するプリントサーバーを有する印刷システムのための情報提供装置を提供する。この情報提供装置はプリントサーバーを使用して、多数の印刷関連機能の１つと関連づけられたイベントが発生したことをクライアントへ知らせる。情報提供装置は、（ａ）プリントサーバーと有効に関連づけられたエージェント、（ｂ）前記エージェントに格納される第１識別子部分、（ｃ）第２識別子部分を提供する識別子部分のソース、（ｄ）前記ソースと通信し、第２識別子部分を格納する記憶領域、および（ｅ）印刷関連機能の１つと関連づけられていて、イベントが発生すると第２識別子をエージェントへ送るプロセスとを備えている。実際には、エージェントは第２識別子部分を第１識別子部分へ結合してイベントが発生したことを指示する情報のパケットに対応する合成識別子を作る。エージェントは情報のパケットをクライアントへ伝送し、クライアントは受け取った情報のパケットに応じて、クライアントの所で受け取ったパケットの情報を引用することによって、イベントの発生をユーザーに知らせる。
【００１０】
本発明の上記およびその他の特徴は、添付図面を参照して以下の発明の好ましい実施例の詳細な説明を読まれれば明らかになるであろう。
【００１１】
【実施例】
図１に、多機能ネットワーク適応印刷システム１０を示す。印刷システム１０は、ネットワークサービスモジュール１４に有効に接続された印刷機１２を有する。印刷機１２は、スキャナ１８およびプリンタ２０と通信しているビデオ制御モジュール（以下、ＶＣＭと略す）と呼ばれる電子サブシステム１６を有する。一例として、後に詳しく説明するＶＣＭ１６は、ディジタル複写装置内のスキャナとプリンタの動作を調整する。ディジタル複写装置では、スキャナ１８（イメージ入力端末（ＩＩＴ）とも呼ばれる）がＣＣＤ全幅アレイを用いて原稿上の画像を読み取り、取得したアナログビデオ信号をディジタル信号へ変換する。次に、スキャナ１８に接続された画像処理装置２２（図２）が信号修正、等を行い、修正した信号を多レベル信号（例えば、２進信号）へ変換し、その多レベル信号を圧縮し、圧縮した多レベル信号を電子的前丁合い（electroic precollation; ＥＰＣと略す) メモリ２４に格納する。
【００１２】
再び図１に戻って、プリンタ２０（イメージ出力端末（ＩＯＴ）とも呼ばれる）はゼログラフィー・プリントエンジンを備えていることが好ましい。一例として、プリントエンジンは、同期ソース（例えば、レーザーラスタ出力走査装置）または非同期ソース（例えば、ＬＥＤプリントバー）などの像形成ソースによって書き込まれるマルチピッチベルト（図示せず）を有している。印刷中、多レベルイメージデータがＥＰＣメモリ２４（図２）から読み出され、同時に像形成ソースがそのイメージデータに従ってオンオフされて、感光体の上に潜像が形成される。次に潜像は例えばハイブリッドジャンピング現像法で現像され、コピーシートへ転写される。得られたプリントは定着されたあと、両面複写のため反転させることもできるし、単に送り出すこともできる。本発明の実施例の基礎となる概念を変えずに、プリンタがゼログラフィー・プリントエンジン以外の形式をとることができることは理解されるであろう。例えば、サーマルインクジェットまたはイオノグラフィク・プリンタを用いて印刷システム１０を具体化することができるであろう。
【００１３】
次に図２を参照して、ビデオ制御モジュール（ＶＣＭ）１６を詳細に説明する。ＶＣＭ１６は種々のＩ／Ｏ（入出力）装置、データ転送構成要素、および記憶構成要素と通信しているビデオバス（Ｖバス）２８を有する。Ｖバス２８は６４ビットまで拡張可能な高速３２ビットデータバースト転送バスである。３２ビットデータバースト転送バスは約６０Ｍバイト／秒の持続可能な最大帯域幅を有する。一例として、Ｖバスの帯域幅は１００Ｍバイト／秒程度である。
【００１４】
ＶＣＭ１６の記憶構成要素はＥＰＣメモリ・セクション３０とマスメモリ・セクション３２に属している。ＥＰＣメモリ・セクション３０はＥＰＣメモリ２４を有する。ＥＰＣメモリ２４はＤＲＡＭコントローラ３３によってＶバスに接続されている。ＥＰＣメモリ（ＤＲＡＭが好ましい）は２つの高密度３２ビットＳＩＭＭモジュールを用いて６４Ｍバイトまで拡張できることが好ましい。マスメモリ・セクション３２は、転送モジュール３６ＡによってＶバスに接続されたＳＣＳＩハードドライブ装置３４を有する。明らかなように、その他のＩ／Ｏ装置および処理構成要素はそれぞれ転送モジュール３６によってＶバスへ接続されている。適当なインタフェースとＳＣＳＩ回線を使用し、転送モジュール３６Ａを介して、他の装置（例えば、ワークスーション）をＶバスへ接続できることは理解されるであろう。
【００１５】
次に図３を参照して、転送モジュール３６の１つの構造を詳細に説明する。図３に示した転送モジュールは、パケットバッファ３８、Ｖバスインタフェース４０、およびＤＭＡ転送装置４２を有する。“ＶＨＳＩＣ”ハードウェア記述言語（ＶＨＤＬ）で設計された転送モジュール３６は、イメージデータのパケットをＶバスに沿って比較的高い転送速度で伝送することができるプログラム可能な装置である。詳しく述べると、パケットバッファは、Ｖバスの利用可能帯域幅に従ってセグメントまたはパケットを変更できるようにプログラムすることができる。一例として、パケットバッファは、最大６４Ｍバイトのパケットを取り扱うようにプログラムすることができる。Ｖバスが比較的忙しい時は、パケットサイズを小さくし、Ｖバスが比較的暇な時は、パケットサイズを大きくすることが好ましい。
【００１６】
パケットサイズの調整は、Ｖバスインタフェース４０とシステムコントローラ４４（図５）によって行われる。Ｖバスインタフェース４０は、とりわけアドレスカウンタ、デコーダ、および状態マシンを含む、選択したレベルの知能を、転送モジュールに提供する論理構成要素の装置である。Ｖバスインタフェース４０はシステムコントローラ４４と通信していて、所望のパケットサイズを絶えず監視する。この知識はバスの状態に従ってパケットバッファ３８のパケットサイズを調整するのに使用される。すなわち、システムコントローラ４４は、Ｖバス２８上の状態に関する知識からパケットサイズを調整することができるように、インタフェース４０へ命令を送る。以下、転送モジュール３６の作用についてさらに詳細に説明する。
【００１７】
各ＤＭＡ転送装置４２は通常のＤＭＡ転送方式を用いてパケットを転送する。言い換えると、転送装置４２はパケットの始めアドレスと終りアドレスを使用して決められた転送を実行する。転送が終了すると、インタフェース４０は、それ以上の情報（例えば、所望のパケットサイズやアドレス宛先など）を得ることができるように、システムコントローラ４４へ信号を送り戻す。
【００１８】
図１および図２に示すように、３つのＩ／Ｏ構成要素、すなわちＦＡＸモジュール４８、スキャナすなわちイメージ入力端末（ＩＩＴ）１８、およびプリンタすなわちイメージ出力端末（ＩＯＴ）２０がＶバス２８に有効に接続されている。しかし、拡張スロット５０を用いて多種多様な構成要素をＶバスに接続できることは理解されるであろう。次に図４を参照して、転送モジュール３６Ｂを介してＶバス２８に接続されたＦＡＸモジュールを詳しく説明する。好ましい実施例では、ファクシミリ装置（ＦＡＸ）５１は、一連の構成要素、すなわちゼロックス適応圧縮／圧縮解除を実行するセクション５２、圧縮したイメージデータを拡大縮小するセクション５４、圧縮したイメージデータをＣＣＩＴＴフォーマットへ（から）変換するセクション５６、および通常の通信回線を用いてＣＣＩＴＴフォーマット化データを電話へ（から）伝送するモデム５８（Rockwell Corp.製が好ましい) を有している。
【００１９】
図４に示すように、各セクション５２，５４，５６，５８は制御回線６０によって転送モジュール３６Ｂに接続されている。これにより、プロセッサを使わずに、ＦＡＸモジュール４８へ（から）転送することができる。理解されるように、転送モジュール３６Ｂは、入ってきたファックスを送信または受信する目的でＦＡＸへイメージデータを提供することができるので、ＦＡＸモジュールに対しマスターまたはスレーブとして役目を果たすことができる。動作中、転送モジュール３６Ｂは、他のＩ／Ｏ構成要素に対し処置するのと同じやり方でＦＡＸモジュールに対し処置する。例えば、ＦＡＸジョブを伝送するため、転送モジュール３６ＢはＤＭＡ転送装置４２を使ってパケットをセクション５２へ送る。パケットを送ったあと、転送モジュール３６Ｂは割込み信号をシステムプロセッサ４４へ送って別のパケットを要求する。一実施例では、２つのパケットの間で「行き来させる」ことができるように、パケットバァッファ３８内に２つのパケットが保持されている。このように、コントローラが割込み信号を受け取ったとき直ちにそれを転送モジュール３６Ｂへ戻すことができない時でも、転送モジュール３６Ｂはイメージデータが途切れることがない。
【００２０】
再び図２へ戻って説明する。イメージ入力端末（ＩＩＴ）１８とイメージ出力端末（ＩＯＴ）２０はそれぞれ、転送モジュール３６Ｃ，３６ＤでＶバス２８に接続されている。さらに、ＩＩＴ１８とＩＯＴ２０はそれぞれ圧縮器６２と圧縮解除器６４に接続されている。圧縮器６２と圧縮解除器６４はゼロックス適応圧縮装置を使用する単一モジュールによって提供することが好ましい。ゼロックス適応圧縮装置はゼロックス社の DocuTech ( 登録商標) 印刷システムにおいて圧縮／圧縮解除操作に使用されてきた。実際には、転送モジュールの機能の少なくとも一部は、圧縮／圧縮解除モジュールのため局部的調停を行う３チャンネルＤＶＭＡ装置によって提供される。
【００２１】
図２に示すように、画像処理セクション２２を含むスキャナ１８は注釈／マージ・モジュール６６に接続されている。画像処理セクション２２は、種々の所望の機能、例えば画像強調、スレッショルディング／スクリーニング、回転、解像度変換、ＴＲＣ調整、を実行するようにプログラムされた１個またはそれ以上の専用プロセッサを備えていることが好ましい。これらの機能の選択的作動は、システムコントローラ４４によってプログラムされた一群の画像処理制御レジスタで調整することができる。機能は「パイプライン」に沿って配置されていることが好ましい。パイプの一端にイメージデータが入力され、パイプの他端から画像処理されたイメージデータが出力される。処理能力を向上させるために、画像処理セクション２２の一端に転送モジュール３６Ｅが配置され、他端に転送モジュール３６Ｃが配置されている。明らかなように、転送モジュール３６Ｃと３６Ｅをこのように配置することにより、ループバック処理の同時実行が非常に容易になる。
【００２２】
図２に示すように、ＶＣＭ１６の各種のバスマスターの調停は、Ｖバスアービタ／バスゲートウェイ７１内に配置されたＶバスアービタ７０によって実行される。Ｖバスアービタ７０は、どのバスマスター（例えば、ＦＡＸモジュール、スキャナ、プリンタ、ＳＣＳＩハードドライブ、ＥＰＣメモリ、またはネットワークサービス要素）がある決められた時間にＶバスにアクセスすることができるかを決定する。アービタ７０は２つの主セクションと第３の制御セクションで構成されている。第１セクションすなわち“High Pass ”セクションは、「入力バス要求」と「現優先順位選択」を受け取って、懸案の最高優先順位要求に対応する許可を出力する。「現優先順位選択」入力はアービタの第２セクションからの出力であり、“Priority Select ”と呼ばれる。この第２セクションは優先順位交替＆選択アルゴリズムを実行する。決められたどんな時でも、Priority Select に対する論理の出力は、懸案の要求にサービスする順序を決定する。“Priority Select ”への入力は、優先順位チェーン上のデバイスの初期配置を保持するレジスタである。要求にサービスしている時、この論理はデバイスを優先順位チェーン上で上下させることによってデバイスの次要求の位置を選択する。制御論理は、要求／許可活動に関する信号を監視することによって“High Pass ”のタスクと“Priority Select ”のタスクを同期化する。制御論理は、さらに、競合状態の可能性を防止する。
【００２３】
次に図５を参照して、ネットワークサービスモジュール１４を詳細に説明する。この分野の専門家が認められるように、ネットワークサービスモジュール１４のアーキテクチャは既知の“PC Clone”のそれに類似している。詳しく述べると、好ましい実施例では、コントローラ４４（Sun Microsystems, Inc.製のＳＰＡＲＣプロセッサ形式が好ましい）は標準Ｓバス７２に接続されている。また図５の実施例では、ホストメモリ７４（ＤＲＡＭ形式が好ましい）とＳＣＳＩディスクドライブ装置７６がＳバスに有効に接続されている。図５には示してないが、記憶装置またはＩ／Ｏ装置を適当なインタフェースチップでＳバス７２に接続することができる。また図５に示すように、Ｓバス７２は適当なネットワークインタフェース８０によってネットワーク７８に接続されている。一例として、ネットワークインタフェース８０は、コントローラ４４のハードウェア／ソフトウェア構成要素とネットワーク７８のハードウェア／ソフトウェア構成要素とを関連付ける必要なすべてのハードウェアとソフトウェアを含んでいる。例えば、ネットワークサービスモジュール１４とネットワーク７８間の種々のプロトコルをインタフェースするため、ネットワークインタフェース８０は、中でも Novell 社製のソフトウェア Netware (登録商標) を備えることができる。
【００２４】
一例として、ネットワーク７８は、例えばエミッタすなわちドライバ８４を有するワークスーション８２のようなクライアントを含んでいる。動作中、ユーザーは複数の電子ページと一組の処理命令を含むジョブを生成することができる。次に、ジョブはエミッタによってページ記述言語（例えば、 PostScript ）で書かれた表現へ変換される。その後、ジョブはコントローラ４４へ伝送され、そこでデコンポーザ（例えば、Adobe Corp. 製）によって翻訳される。
【００２５】
再び図２に戻って説明すると、ネットワークサービスモジュール１４は、Ｖバスアービタ／バスゲートウェイ７１のバスゲートウェイ８８を介してＶＣＭ１６に接続されている。一例として、バスゲートウェイ８８は現場プログラム可能ゲートアレイ（例えば、 XILINX Corp. 製) を含んでいる。バスゲートウェイ装置はホストＳバスとＶＣＭＶバス間にインタフェースを提供する。バスゲートウェイ８８は、Ｖバス実アドレス範囲内のアドレス空間へアクセスするためＶバスアドレス変換を行い、そしてホストアドレス範囲内の仮想アドレスについてホストＳバスへ仮想アドレスを手渡す。さらに、バスゲートウェイ内に、メモリ間転送用のＤＭＡチャンネルが具体化されている。とりわけ、バスゲートウェイは、ＶバスとＳバスの間にシームレスアクセスを提供し、バスマスター（例えば、転送モジュール３６の１つ）から仮想アドレスを復号するので、対応するスレーブ構成要素から識別子を得ることができる。印刷システム１０の多くの構成要素が単一のＡＳＩＣの形で具体化されることは理解されるであろう。
【００２６】
次に図２、図３、および図５を参照して、各転送モジュール３６のＤＭＡ転送を詳細に説明する。一例として、ジョブのイメージは一連のブロックとしてホストメモリ７４に格納される。各ブロックは複数のパケットから構成されていることが好ましい。動作中、コントローラ４４によって、転送モジュール３６の１つにブロックの始めアドレスとブロックのサイズが与えられる。転送モジュール３６は、そのブロックについてパケットの転送を実行し、そしてカウンタを増分／減分する。この手続きは、インタフェース４０がカウンタに照合し、ブロックの最後のパケットが転送されたと決定するまで、ブロックの各パケットについて繰り返される。一般に、格納された各イメージについて、数個のブロックが上述のように１パケットづつ転送される。
【００２７】
次に図６を参照して、ワークスーション８１の１つを詳細に説明する。各ワークスーション８１は、プリントマネージャ１００と通信し、ジョブを容易に生成するエミッタ８４を備えている。知られているように、エミッタ８４はユーザーから入力を得て、それをページ記述言語（例えば、PCL ５または PostScrpt）へ変換する。ある実施例の場合、エミッタは Phoenix  社で製造されたものである。プリントマネージャ１００はジョブを受け取り、それをマスメモリ・セクション（例えば、ディスクドライブ装置）１０２でスプールできるプロセスであることが好ましい。
【００２８】
以下に詳細に説明するように、スプールされたジョブはラインプリンタ（ＬＰＴ）ポート１０４によってローカルエリア・ネットワークへ伝えられる。ジョブは、移送プロバイダ１０６（ＵＤＰまたはＩＰＸプロトコルのどちらかを使用することが好ましい）によってネットワークの隅々に運ばれる。ＵＤＰプロトコルはＴＣＰ／ＩＰに基礎を置いている。ＩＰＸプロトコルは Novell 社によって提供される。
【００２９】
イベント・ハンドルシステム１０８は、いつ印刷システム１０内で選択したイベントが発生したかを決定するために設けられている。イベント・ハンドルシステム１０８は、１つまたはそれ以上のアプリケーション１１０、イベント・ハンドルサブシステム１１２、および簡易ネットワーク管理プロトコル（ＳＮＭＰ）サブシステム１１４を有する。ワークスーション８１は印刷システム１０内のイベントの発生を監視することに関連した種々のタスクを取り扱う多数のアプリケーション１１０を備えることができるが、以下、説明の便宜上、イベントの取扱いに関連する種々のタスクを実行する１つのアプリケーションのみを引用する。イベント・ハンドルアプリケーション１１０はイベント・ハンドルサブシステム１１２と通信する。そのイベント・ハンドルサブシステム１１２はプリントマネージャ１００を介してエミッタ８４と通信し、２つの主要な責任を有する。それぞれの責任はあとで詳細に説明する。イベント・ハンドルサブシステム１１２と通信するＳＮＭＰサブシステムは、ＳＮＭＰの項で提供された情報のパケットを符号化し、復号する作用をする。
【００３０】
次に図７に、ＳＮＭＰを使用してイベントの取扱いを管理するジョブを生成する手法を示す。最初に、ステップ１１８において、ユーザーによる適当な入力に応じて、エミッタ８４の所でジョブが生成される。幾つかのケースでは、ジョブは既にポータブル媒体に入っているので、ジョブを生成する必要はない。その場合には、ジョブはサーバーへ提供される。ジョブの生成が必要であると仮定して、ステップ１２０において、ワークスーションがイベントの取扱いを提供するかどうか決定する。イベントの取扱いが提供されない状況の場合は、ステップ１２２において、ジョブは識別子なしで提供される。図７の実施例では、識別子は対象識別子（object identifier ；ＯＩＤ）接尾辞、すなわちＳＮＭＰ通信において使用される形式のＯＩＤの一部から成っている。
【００３１】
イベントの取扱いはワークスーション８１においてデフォルトによって提供される。従って、固有のネットワークＯＩＤ接尾辞がイベント・ハンドルサブシステム１１２からプリントマネージャ１００へ伝えられることが好ましい（ステップ１２４）。一例として、ＯＩＤ接尾辞はクライアントのアドレスまたはイターネットカードの識別子に基づいている。印刷システム内の複数のイベントの発生に関する情報を得るため、プリントマネージャによって１つ以上のＯＩＤ接尾辞を得ることができることは理解されるであろう。説明の便宜上、あるＯＩＤ接尾辞が得られ、そのＯＩＤ接尾辞が、生成したジョブが出力装置において出力されるイベントに関係していると仮定する。それにもかかわらず、そのＯＩＤ接尾辞が関係しているイベントは印刷システムに関連した多くのイベントの１つであるかも知れない。エミッタ８４は、ステップ１２６において、手元のＯＩＤ接尾辞を用いて、ＰＤＬ記述の項でジョブを生成する。ＰＤＬ記述は米国特許第５，１３０，８０６号に開示された形式の注釈セクションを含んでいるであろう。次にステップ１２８において、エミッタ８４はＰＤＬ記述の注釈セクションにＯＩＤ接尾辞を埋め込み、ステップ１３０において、ジョブをプリントマネージャ１００へ送り、ステップ１３２において、ジョブをマスメモリ１０２にスプールする。
【００３２】
ステップ１２０へ戻って、イベント・ハンドルシステムはジョブの生成に関して幾つかの機能を実行する。詳しく述べると、アプリケーション１１０は、ステップ１３６において、“リスニングルーチン”を開始し、イベント・ハンドルサブシステム１１２は、ステップ１３８において、プリントサービス１４０（図８）にＯＩＤ接尾辞を登録する。次にステップ１４２において、クライアントワークスーション８１からサーバー１４０へジョブを転送する準備が完了していれば、ステップ１４４において、ジョブを以下のやり方でサーバー１４０へ転送する。
【００３３】
エミッタ８４（ウィンドウズ・プリントドライバであることが好ましい）を介してジョブを依頼するとき、エミッタ８４はジョブをワークスーション８１のオペレーティングシステムへ送り戻し、次にオペレーティングシステムはそのジョブをＬＰＴポート１０４を通して送る。ＬＰＴポート１０４は印刷システム１０（図１）に使用されている形式のネットワーク接続プリンタへ向け直されるので、ジョブは最終的にネットワーク接続プリンタへ依頼される。しかし、エミッタのソフトウェアは、この向け直しを知っておらず、しかもプリンタ２０と直接通信していない。以下の検討から明らかになるように、ＳＮＭＰトラップを使用して、クライアントのワークスーション８１は、ワークスーションとプリントサーバー間の通信が通常の意味で双方向と見られない場合でも、印刷システム内のイベントの発生に関する情報を得ることができる。
【００３４】
実際には、プリントサーバー１４０において解釈するため、ジョブはネットワークを通してネットワークモジュール１４へ送られる。プリントサービス１４０はメモリ・セクション７４または７６の一方に保持されていることが好ましい（図５）。動作の一例として、プリントサービス１４０はディスク７６からシステムメモリ７４へ転送される。図８に示すように、プリントサービス１４０は、ジョブの種々のイメージ構成要素をパーズするプリパーザー１４０を有している。プリパーザー１４８の構造と機能は、米国特許第５，４９３，６３４号に詳しく説明されている。上記特許に記載されているように、プリパーザー１４８はジョブのＰＤＬ記述からＯＩＤ接尾辞を取り出し、ドキュメント管理セクション１５０に格納する責任を有する。プリントサービス１４０が、たとえばフォントを結合するプロセスのような別の解釈構成要素（図８に示してない）を有していることは理解されるであろう。それにもかかわらず、ＰＤＬファイルの解釈を行うのに必要な構成要素は、この分野の専門家に知られており、中でも Phoenix  社、 Adobe  社、あるいは Hewlett-Packard  社によって提供される解釈体系などの通常の解釈体系を使用して得ることができる。
【００３５】
プリントサービス１４０は、ＩＳＯ／ＩＥＣ  １０１７５によって想像されるように、ＩＳＯドキュメント処理アーキテクチャー（ＤＰＡと略す）として知られるインプリメンテーションを使用することが好ましいと考えられる。ＤＰＡは、パラジウム（Palladium ）印刷システム（ＭＩＴ／Project Athena  に Digital Equipment  社、International Business Machines 社、 Hewlett-Packard社が参加して開発された分散型印刷システム）にその源がある。“Palladium Design Document ”（１９９１年６月出版のＭＩＴの出版物）には、ＩＳＯドキュメント処理アーキテクチャーが詳細に検討されている。パラジウム印刷システムは、２レベルクライアント・サーバー・モデルに基礎を置いている。プリントスプーラとプリンタ・スーパーバイザーは共にクライアントとして動作する。プリントスプーラは、さらにプリントスーパーバイザーに対するクライアントとして動作する。プリントクライアントは通常はプリントスプーラをサーバーとして使用するが、プリンタスーパーバイザーを直接使用することができる。クライアントとサーバー間の通信のため、遠隔処理手順呼出しが使用される。各プリンタはその形式のプリンタに適した何かの方法でデータと制御情報をプリンタへ伝える自己専用のプリンタスーパーバイザーを備えている。ユーザーのためプリンタサービスを探したり、システムマネージャのためサーバーを探したりするのに、ネームサービスが使用される。マシンにインストールすることができるサーバーの数に設計上の制限はない。
【００３６】
プリントクライアントは、命令を受け付け、プリントサービスへ要求を提出し、返答を受け取り、ユーザーごとにローカルジョブ番号を生成し、各ユーザーごとにどこへジョブを依頼したかを思い出させるユーザーエージェントとして動作するクライアントである。プリントスプーラは、ＤＣＥ  ＲＰＣを使用してプリントクライアントからのパラジウム操作を受け付け、そのプリンタスーパーバイザーにプリントジョブをスケジュールするサーバーである。プリンタスーパーバイザーと通信するとき、プリントスプーラは同様にＤＣＥ  ＲＰＣと一緒にパラジウム操作を使用する。この場合、プリントスプーラはクライアントであり、プリンタスーパーバイザーはサーバーである。
【００３７】
プリンタスーパーバイザーは、クライアント（プリントスプーラ）からジョブを物理的プリンタで印刷する要求を受け付ける。もしコードがマルチスレッドされていれば、各スレッドはプリンタスーパーバイザーと見なされ、それ自身の物理的プリンタを制御する。通例、プリンタスーパーバイザーは、スタートするときそれ自身をスプーラに登録し、スプーラの制御の下にある。しかし、プリンタスーパーバイザーは、それ自身をスプーラに登録せずに、プリントクライアントから直接プリントジョブを受け付ける「スタンドアロン型」に育てることができる。この場合は、プリンタスーパーバイザーは、待ち行列またはジョブスケジューリングなしで、スプーラとして動作するサーバーである。
【００３８】
「物理的プリンタ」は、プリンタを制御するそれ自身のプリンタスーパーバイザーを備えた実際のハードウェアである。待ち行列には、印刷されるのを待つジョブが入っている。物理的プリンタがジョブを完了する、またはほぼ完了すると、そのプリンタスーパーバイザーは別のプリントジョブを受け付ける準備ができたことをスプーラに指示する。スプーラは物理的プリンタへ供給する待ち行列を走査し、スケジューリング・アルゴリズムは次のジョブを選択し、ＩＳＯ  ＤＰＡ  プリント操作を使用するプリントスーパーバイザーへプリントジョブを依頼することによって、ジョブを物理的プリンタへ割り当てる。「論理的プリンタ」は、それらのジョブをどこで印刷するか、またはそれらのジョブがどんな特徴を有するか、またはその両方を指示するために、ユーザーが明示する抽象的な存在である。各論理的プリンタは、ユーザーもプリントクライアントも供給しなかった属性に対しサーバーが供給するデフォルト属性を有している。スプーラは、システム管理責任者によって確立されたスケジューリング・ポリシーに従って、明示された論理的プリンタに基づいて、１つまたはそれ以上の待ち行列へプリントジョブを割り当てることができる。言い換えると、論理的プリンタは１つまたはそれ以上の待ち行列にフィードする。各待ち行列はスプーラのシステム管理責任者によって確立されたように１つまたはそれ以上の物理的プリンタにフィードする。
【００３９】
図８の説明を続けると、生成したジョブの属性は、データ記憶装置１５２に保持され、そのデータ記憶装置の管理、言い換えるとデータ記憶装置内の情報へのアクセスは、ドキュメントマネージャ１５４によって行われる。図８に示すように、ドキュメント管理システム１５０は、とりわけ、像形成、マーキング、仕上げ、及び診断の諸処理を含むサブシステム処理セクション１５６と通信する。実際には、サブシステム処理は、印刷システムの一定の機能を実行することばかりでなく、その特定の機能に関連したイベントの発生に関する情報を提供する責任を有する。従って、サブシステム処理、例えばマーキングは、与えられたプリンタにおいて入手可能なトナーまたはインクのレベル、またはいつジョブが印刷を完了したかに関する情報を提供するであろう。その他のサブシステム処理、例えば診断は、利用可能な１つのプリンタの通路内の紙詰まりなどのイベントをユーザーに知らせることができるであろう。別のサブシステム処理、例えばＦＡＸサービスサブシステムは、ＦＡＸの完了または伝送に関する情報を提供することができるであろう。明らかなように、ここに開示した実施例は多種多様なドキュメント処理に関係するイベントに使用するのに適している。
【００４０】
サブシステム処理セクション１５６は、コンフィギュレーション・テーブル１６０を含むエージェント１５８と通信している。エージェント１５８は利用可能なＳＮＭＰ（バージョン２）ソフトウェアを有しており、コンフィギュレーション・テーブルはこのソフトウェアに従って提供されることが好ましい。理解されるように、コンフィギュレーション・テーブル（１個または複数）はＯＩＤすなわち「トラップ」をネットワーク上のそれぞれのマネージャ（クライアント）に対応付ける。コンフィギュレーション・テーブル１６０は、利用可能なＳＮＭＰ（バージョン２）パッケージに従って提供された複数のテーブルを含んでいることが好ましいが、他の例において、コンフィギュレーション・テーブルは単にトラップをそれぞれのマネージャに関連付けるルックアップテーブルで構成することもできるであろう。また、好ましい実施例では、エージェント１５８はＳＮＭＰ規則に従って、コンフィギュレーション・テーブルにアクセスし、選択した情報を取得する。
【００４１】
次に図９および図１０に、ジョブＯＩＤ部分をサーバー１４０に格納する手法を示す。ステップ１６４において、ジョブを接続性層を通してプリパーザー（前解析するもの）１４８（図８）へ運び、ステップ１６６において、ジョブの解釈を開始する。ジョブの解釈の間に、ジョブのＰＤＬ記述の注釈セクションからジョブＯＩＤ部分を取り出す。図１０に示した実施例では、ジョブＯＩＤが「接頭辞ＯＩＤ」と「接尾辞ＯＩＤ」を含むことを認められるであろう。動作の一例として、接頭辞ＯＩＤはエージェント１５８に保持され、接尾辞ＯＩＤはイベント・ハンドルサブシステム１１２によってプリントマネージャ１００へ提供される（図６および図７）。ステップ１６８において、上に述べたＤＰＡ標準規格に従って、入ってくるジョブについて一組のジョブ属性を生成し、接尾辞ＯＩＤをそのジョブ属性の１つに関連付ける。次に、ステップ１７０において、ステップ１６８で生成したジョブ属性をデータ記憶装置１５２（図８）に格納する。
【００４２】
次に、図６、図８、および図１１を参照して、ＳＮＭＰ（バージョン２）を使用して遠隔プリンタにおけるイベントの発生をただ１つのクライアントへ知らせる手法を説明する。ステップ１７４において、イベントが発生し、ステップ１７６において、イベントに関連するサブシステム処理（図８）がイベントの発生を検出し、ドキュメントマネージャ（ＤＭ）１５４から適当なＯＩＤ接尾辞を要求する。詳細には、ＯＩＤ接尾辞はイベントが発生したことを指示するトラップに関連付けられている。サブシステム処理からの要求に応答して、ステップ１７８において、ドキュメントマネージャはデータ記憶装置１５２から適切なＯＩＤ接尾辞を検索し、それを要求したセクション１５６のサブシステム処理へ転送する。ＯＩＤ接尾辞を受け取ると、サブシステム処理は、ステップ１８０において、ＯＩＤ接尾辞をエージェント１５８へ伝送する。その後エージェント１５８は、ステップ１８２において、ＯＩＤ接尾辞と対応する接頭辞を結合して合成ＯＩＤすなわちトラップを作る。理解されるように、接頭辞ＯＩＤは、組み合わせてネットワーク上の大きなユーザーグループのためのＯＩＤとして役に立つ種々の枝や葉を含んでいる。それは、接尾辞ＯＩＤを接頭辞ＯＩＤに加えて、ネットワーク上のただ１つのクライアントに固有の合成ＯＩＤを作ることである。
【００４３】
トラップは通常のＳＮＭＰ（バージョン２）ソフトウェアを使用して得ることが好ましいが、ＯＩＤがルックアップテーブルでトラップと対応付けられているときは、ＳＮＭＰ（バージョン２）が考えているより複雑な手法に従う必要はない。ステップ１８２で得たトラップを用いて、「パケット」のフォームがエージェントから伝送されると仮定して、メッセージはエージェントからネットワークを通してワークスーション８１のＳＮＭＰサブシステム１１４（図６）へ伝送される。次に、ＳＮＭＰサブシステムは、ステップ１８８において、パケットの内容を復号し、復号した情報をアプリケーション１１０へ送る。ワークスーション８１のユーザーへパケットの不可欠な情報をできるだけ早く提供するため、アプリケーション１１０はワークスーション８１のユーザーインタフェース（図示せず）と協力することが好ましい。ステップ１９０において、アプリケーション１１０（またはエミッタ８４）が終わると、イベント・ハンドルサブシステム１１２のイベント・ハンドルライブラリ内のクリーンアップ・ルーチンが呼び出される。一例として、クリーンアップルーチンは局所および遠隔コンフィギュレーション・データベース内のエントリをクリーンアップし、従って２つのエントリ間のトラップを不能にする。もしこのクリーンアップが起り得なければ（クラッシュの場合など）、それらのエントリは各サイドがリセットされた時にクリーンアップされるであろう。その時まで、サービス１４０（図８）によって生成された偽のトラップはクライアントによって無視される。
【００４４】
図１０を再び参照すると、ある実施例では、イベント・ハンドルサブシステム１１２は、エミッタ８４において生成された各ジョブについて、同じ接尾辞ＯＩＤをプリントマネージャ１００へ提供することを理解されたい。従って、もしユーザーが短時間に図６のワークスーション８１から多くのジョブを図８のプリントサービス１４０へ送れば、そのあとトラップを受け取ったとき、そのトラップがどのジョブに当てはまるかユーザーに明らかでないことがある。従って、ユーザーが多くのジョブを伝送するときは、個々のジョブに対応する固有のＯＩＤが得られるように、接尾辞ＯＩＤを追加部分１９４で作ることが賢明であることが判った。認められるように、特定のＯＩＤに対応付けられたトラップによって、ただ１つのジョブに結びつけられた個々のトラップを識別することができる。
【００４５】
【発明の効果】
第１に、本装置により、クライアントとエージェントはネットワークを通して排他的に対話することができる。従って、１つのクライアントたけに影響を及ぼすイベントはネットワーク上のクライアントのグループでなく、その１つのクライアントだけへ伝えられる。従って、ネットワーク上のトラフィックの量が少なくなる。
【００４６】
第２に、クライアントとエージェントは上に述べた排他性を容易にするため協力的に対話する。詳細には、クライアントはサーバーに接尾辞ＯＩＤを与え、選択したイベントが発生すると、エージェントが保持している接頭辞ＯＩＤがその接尾辞ＯＩＤに結合され、クライアントに固有の合成ＯＩＤが作られる。その後、その合成ＯＩＤはクライアントへ提供するトラップを得るため使用される。
【００４７】
第３に、接尾辞ＯＩＤは、通常のやり方で、サーバーに入手できるようになっている。一例として、接尾辞ＯＩＤはページ記述言語で表現されたジョブの注釈セクションに埋め込まれている。このように、サーバーにおいてパーズする時に、接尾辞ＯＩＤをジョブから容易に取り出すことができる。
【００４８】
最後に、与えられたトラップが関連しているジョブに関する特定の指示がクライアントに与えられるように、ＯＩＤを構成することができる。このように、クライアントは与えられたトラップがどのジョブに属するかを推論する必要がない。
【図面の簡単な説明】
【図１】多機能ネットワーク適応印刷システムを示すブロック図である。
【図２】図１の印刷機のビデオ制御モジュールのブロック図である。
【図３】図２の印刷機に接続して使用される転送モジュールのブロック図である。
【図４】図２の印刷機に接続して使用するファクシミリカードのブロック図である。
【図５】図１の印刷機のネットワークコントローラのブロック図である。
【図６】ワークスーションのブロック図である。
【図７】ＳＮＭＰを使用してイベント・ハンドルを管理するジョブを生成する手法を示すフローチャートである。
【図８】プリントサービスのブロック図である。
【図９】プリントサービスにおいてジョブＯＩＤ部分を格納する手法である。
【図１０】接尾辞ＯＩＤと接頭辞ＯＩＤを有するジョブＯＩＤの略図である。
【図１１】ＳＮＭＰ（バージョン２）を使用してイベントの発生を１つのクライアントだけに知らせる手法を示すフローチャートである。
【符号の説明】
１０  多機能ネットワーク適応印刷システム
１２  印刷機
１４  ネットワークサービスモジュール
１６  ビデオ制御モジュール
１８  スキャナ
２０  プリンタ
２２  画像処理セクション
２４  ＥＰＣメモリ
２８  ビデオバス
３０  ＥＰＣメモリ・セクション
３２  マスメモリ・セクション
３３  ＤＲＡＭコントローラ
３４  ＳＣＳＩハードドライブ装置
３６  転送モジュール
３８  パケットバッファ
４０  Ｖバスインタフェース
４２  直接メモリアクセス（ＤＭＡ）転送装置
４４  システムコントローラ
４８  ＦＡＸモジュール
５０  拡張スロット
５１  ファクシミリ装置（ＦＡＸ）
５２  ゼロックス適応圧縮／圧縮解除セクション
５４  拡大縮小セクション
５６  ＣＣＩＴＴフォーマット変換セクション
５８  モデム
６０  制御回線
６２  圧縮器
６４  圧縮解除器
６６  注釈／マージ・モジュール
７０  Ｖバスアービタ
７１  Ｖバスアービタ／バスゲートウェイ
７２  Ｓバス
７４  ホストメモリ
７６  ＳＣＳＩディスクドライブ装置
７８  ネットワーク
８０  ネットワークインタフェース
８１  ワークスーション
８４  エミッタ（ドライバ）
８８  バスゲートウェイ
１００  プリントマネージャ
１０２  マスメモリ
１０４  ラインプリンタポート
１０６  移送プロバイダ
１０８  イベント・ハンドルシステム
１１０  アプリケーション
１１２  イベント・ハンドルサブシステム
１１４  ＳＮＭＰサブシステム
１４０  プリントサービス
１４８  プリパーザー
１５０  ドキュメント管理セクション
１５２  データ記憶装置
１５４  ドキュメントマネージャ
１５６  サブシステム処理セクション
１５８  エージェント
１６０  コンフィギュレーション・テーブル
【図１】
0003774508.tif 000002
【図２】
0003774508.tif 000003
【図３】
0003774508.tif 000004
【図４】
0003774508.tif 000005
【図５】
0003774508.tif 000006
【図６】
0003774508.tif 000007
【図７】
0003774508.tif 000008
【図８】
0003774508.tif 000009
【図９】
0003774508.tif 000010
【図１０】
0003774508.tif 000011
【図１１】
0003774508.tif 000012