(57)【特許請求の範囲】
【請求項１】
分配ジョブがイメージデータセットのほかに第１及び第２ジョブチケットを含んでおり、前記第１及び第２ジョブチケットがそれぞれドキュメント処理システムによってイメージデータセットの第１及び第２コピーを格納または処理するやり方を記述する第１及び第２属性セットを有しており、前記分配ジョブの格納または処理を管理するドキュメント処理システムであって、
前記第１属性セットに従ってイメージデータセットの第１コピーを格納または処理する第１仮想サービス、及び、前記第２属性セットに従ってイメージデータセットの第２コピーを格納または処理する第２仮想サービスと、
前記第１及び第２仮想サービスと通信し、前記第１及び第２仮想サービスにおけるイメージデータセットの前記第１及び第２コピーの格納または処理を調整するドキュメント・マネージャと、
前記ドキュメント・マネージャと通信し、前記第１及び第２ジョブチケットを受け取る分配エージェントとを含んでおり、
前記分配エージェントは、最初に、前記ドキュメント・マネージャがイメージデータセットの第１コピーと第１ジョブチケットのコピーを第１仮想サービスへ決まったルートで送るように、第１ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、更に、該分配エージェントは、２回目に、前記ドキュメント・マネージャがイメージデータセットの第２コピーと第２ジョブチケットのコピーを第２仮想サービスへ決まったルートで送るように、第２ジョブチケットのコピーを前記ドキュメント・マネージャへ送信する
ことを特徴とするドキュメント処理システム。
【請求項２】
分配ジョブがイメージデータセットのほかに第１及び第２ジョブチケットを含んでおり、第１及び第２ジョブチケットがそれぞれ第１及び第２属性セットを含んでおり、前記第１及び第２属性セットがそれぞれドキュメント処理システムによってイメージデータセットの第１及び第２コピーを格納または処理するやり方を記述しており、前記ドキュメント処理システムが第１属性セットに従ってイメージデータの第１コピーを格納または処理する第１仮想サービスと、第２属性セットに従ってイメージデータの第２コピーを格納または処理する第２仮想サービスを含んでおり、ドキュメント処理システムにおいて前記分配ジョブを処理する、クライアントを含むドキュメント・サーバであって、
前記第１及び第２仮想サービスと通信し、前記第１及び第２仮想サービスにおけるイメージデータセットの第１及び第２コピーの格納または処理を調整するドキュメント・マネージャと、
前記ドキュメント・マネージャと通信し、分配ジョブの第１及び第２ジョブチケットを単一パッケージとして受け取る分配エージェントとを含んでおり、
前記分配エージェントは、前記ドキュメント・マネージャがイメージデータセットの第１コピーと第１ジョブチケットのコピーの両方を第１仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第１ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、そして、前記分配エージェントは、前記ドキュメント・マネージャがイメージデータセットの第２コピーと第２ジョブチケットのコピーの両方を第２仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第２ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、
前記分配エージェントは、第１及び第２ジョブチケットのコピーが前記ドキュメント・マネージャへ送信された後に分配ジョブ変更要求を受け取り、前記分配ジョブ変更要求は第１及び第２属性セットの１つまたはそれ以上の属性に対し行うべき変更を指示する情報を含んでおり、前記分配エージェントは、分配ジョブ変更要求を受け取るとそれに応じて、タスク中止要求を前記ドキュメント・マネージャへ送信し、前記ドキュメント・マネージャは、タスク中止信号を受け取るとそれに応じて、イメージデータセットの第１及び第２コピーに対するすべての進行中の活動を中止させる
ことを特徴とするドキュメント・サーバ。
【請求項３】
分配ジョブがイメージデータセットのほかに第１及び第２ジョブチケットを含んでおり、第１及び第２ジョブチケットがそれぞれ第１及び第２属性セットを含んでおり、前記第１及び第２属性セットのそれぞれがドキュメント処理システムによってイメージデータセットの第１及び第２コピーを格納または処理するやり方を記述しており、前記ドキュメント処理システムが第１属性セットに従ってイメージデータの第１コピーを格納または処理する第１仮想サービスと、第２属性セットに従ってイメージデータの第２コピーを格納または処理する第２仮想サービスを含んでおり、ドキュメント処理システムにおいて前記分配ジョブを処理する、クライアントを含むドキュメント・サーバであって、
前記第１及び第２仮想サービスと通信し、前記第１及び第２仮想サービスにおけるイメージデータセットの第１及び第２コピーの格納または処理を調整するドキュメント・マネージャと、
前記ドキュメント・マネージャと通信し、分配ジョブの第１及び第２ジョブチケットを単一パッケージとして受け取る分配エージェントとを含んでおり、
前記分配エージェントは、前記ドキュメント・マネージャがイメージデータセットの第１コピーと第１ジョブチケットのコピーの両方を第１仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第１ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、そして前記分配エージェントは、前記ドキュメント・マネージャがイメージデータセットの第２コピーと第２ジョブチケットのコピーの両方を第２仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第２ジョブチケットのコピーを前記ドキュメント・マネージャへ送信しており、
前記分配エージェントは、第１及び第２ジョブチケットのコピーが前記ドキュメント・マネージャへ送信された後に第１分配ジョブ状態要求を受け取り、前記分配エージェントは、ドキュメント・サーバによってイメージデータセットの第１コピー及びイメージデータセットの第２コピーのそれぞれが処理された程度を決定するように前記ドキュメント・マネージャをダイレクトする第２分配ジョブ状態要求を前記ドキュメント・マネージャに送信し、前記ドキュメント・マネージャは、第２分配ジョブ状態要求を受け取るとそれに応じて、ドキュメント・サーバによってイメージデータセットの第１コピー及びイメージデータセットの第２コピーのそれぞれが処理された程度を決定させている
ことを特徴とするドキュメント・サーバ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般には画像処理装置におけるジョブコピーの分配を管理するシステム、より詳細には分配エージェントとドキュメント・マネージャが複数の仮想サービスの間でジョブコピーを最適に分配するように共同して機能するようになっているプリント・サーバに関するものである。プリント・サーバは、さらに、最小限度の資源で分配ジョブに対しさまざまな操作を施すことを可能にする。
【０００２】
【従来の技術】
一般に、複合ジョブチケットは、そのコピーは多数の宛て先へ配達することが予定されている単一イメージデータセットに関するものである。そのようなジョブは、ある意味では、その付随イメージデータと共に複数の受取人へ分配されるものであるので、「分配ジョブ」と考えることができる。非分配ジョブ（１つの宛て先へ配達することが予定されたイメージデータセットを有するジョブ）の格納及び（または）処理を調整するのに適したサーバとして、次に挙げるものがある。
【０００３】
米国特許第５，１１３，４９４号は、ローカルエリア・ネットワーク通信回線によって複数のノードが互いに通信する方式を開示している。一例として、ジョブのハードコピーは走査ノードで処理することができるであろうし、同じジョブの電子コピーは印刷ノードで処理することができるであろう。
【０００４】
米国特許第５，１７９，６３７号は、プリントイメージデータ・ソースから受け取ったプリント・ジョブを一組のプリントエンジンと関連プロセッサの間で分配するためのシステムを開示している。イメージの１またはそれ以上のコピーを印刷するのに必要な情報が入っている１またはそれ以上のデータファイルはスケジューラへ実行依頼される。スケジューラはイメージに関するデータファイル内のジョブ制御情報を解釈し、そのデータファイルを画像処理装置へ送る。
【０００５】
米国特許第５，２２０，６７４号は、クライアントとプリンタ間の通信を容易にするため複数のクライアント及び複数のプリンタと共同して機能を果たすローカルエリア・プリントサーバを開示している。サーバは、例えばクライアントからサーバへ送信された多数のジョブ要求を管理するサーバジョブ・コントローラなど、種々のサブシステムを含んでいる。
【０００６】
米国特許第５，１７９，６３７号は、ジョブの並列処理を最大限にするため、スケジューラによってジョブのコピーを複数のプロセッサの間で分配するドキュメント処理システムを考えている。前記米国特許第５，１１３，４９４号のスケジューラによる分配ジョブのスケジューリングは、並列処理を最大限にするために複数のプロセッサの間でイメージデータセットのコピーを分配することになると思われる。この手法は、単位マシンコスト（ＵＭＣ）が重要である状況の場合、特にできる限り少ないプロセッサを使用しようと努めるストリームライン形ドキュメント処理システムの場合は、受け入れられない。
【０００７】
【発明が解決しようとする課題】
ストリームライン形ドキュメント処理をするＤＰＡ  ＩＳＯ  １０１７５のプロトコルに基づいて単一ドキュメント・マネージャを使用し、単位マシンコストを最小にすることを考慮に入れたサーバが存在する。そのようなサーバの例は、ゼロックス社から“ Document Centre”の製品名で市販されている製品に見ることができる。しかし、 Document Centre  製品は、現在、分配ジョブ（ジョブの多数のコピーを多数の宛て先へ配達する、及び（または）出力することを要求するジョブ）を実行及び管理するために必要な機能を備えていないと思われる。そのような機能を提供するドキュメント・マネージャに容易に接続することが可能なシステムを提供することが要望されている。
【０００８】
【課題を解決するための手段】
本発明は、第１の態様として、ドキュメント処理システムにおいて分配ジョブを処理するためのサーバを提供する。分配ジョブはイメージデータセットのほかに第１及び第２ジョブチケットを含んでいる。第１及び第２ジョブチケットはそれぞれドキュメント処理システムによってイメージデータセットの第１及び第２コピーを格納または処理するやり方を記述する第１及び第２属性セットを含んでいる。前記ドキュメント処理システムは第１属性セットに従ってイメージデータセットの第１コピーを格納または処理する第１仮想サービスと、第２属性セットに従ってイメージデータセットの第２コピーを格納または処理する第２仮想サービスを含んでいる。前記サーバは第１及び第２仮想サービスと通信し、第１及び第２仮想サービスにおけるイメージデータセットの第１及び第２コピーの格納または処理を調整するドキュメント・マネージャと、前記ドキュメント・マネージャと通信し、第１及び第２ジョブチケットを受け取る分配エージェントを有する。前記分配エージェントは最初に、前記ドキュメント・マネージャがイメージデータセットの第１コピーと第１ジョブチケットのコピーを第１仮想サービスへ決まったルートで送るように、第１ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、そして前記分配エージェントは２回目に、前記ドキュメント・マネージャがイメージデータセットの第２コピーと第２ジョブチケットのコピーを第２仮想サービスへ決まったルートで送るように、第２ジョブチケットのコピーを前記ドキュメント・マネージャへ送信する。
【０００９】
本発明は、第２の態様として、ドキュメント処理システムにおいて分配ジョブを処理する、クライアントを含むドキュメント・サーバを提供する。分配ジョブはイメージデータセットのほかに第１及び第２ジョブチケットを含んでいる。第１及び第２ジョブチケットはそれぞれ第１及び第２属性セットを含んでいる。第１及び第２属性セットはそれぞれドキュメント処理システムによってイメージデータセットの第１及び第２コピーを格納または処理するやり方を記述している。前記ドキュメント処理システムは第１属性セットに従ってイメージデータの第１コピーを格納または処理する第１仮想サービスと、第２属性セットに従ってイメージデータの第２コピーを格納または処理する第２仮想サービスを含んでいる。前記ドキュメント・サーバは第１及び第２仮想サービスと通信し、第１及び第２仮想サービスにおけるイメージデータセットの第１及び第２コピーの格納または処理を調整するドキュメント・マネージャと、ドキュメント・マネージャと通信し、分配ジョブの第１及び第２ジョブチケットを単一パッケージとして受け取る分配エージェントを含んでいる。前記分配エージェントは前記ドキュメント・マネージャがイメージデータセットの第１コピーと第１ジョブチケットのコピーの両方を第１仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第１ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、そして前記分配エージェントは前記ドキュメント・マネージャがイメージデータセットの第２コピーと第２ジョブチケットのコピーの両方を第２仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第２ジョブチケットのコピーを前記ドキュメント・マネージャへ送信する。前記分配エージェントは第１及び第２ジョブチケットのコピーが前記ドキュメント・マネージャへ送信された後に分配ジョブ変更要求を受け取る。前記分配ジョブ変更要求は第１及び第２属性セットの１つまたはそれ以上の属性に対し行うべき変更を指示する情報を含んでいる。前記分配エージェントは分配ジョブ変更要求を受け取るとそれに応じて、タスク中止要求を前記ドキュメント・マネージャへ送信する。前記ドキュメント・マネージャはタスク中止信号を受け取るとそれに応じて、イメージデータセットの第１及び第２コピーに対するすべての進行中の活動を中止させる。
【００１０】
本発明は、第３の態様として、ドキュメント処理システムにおいて分配ジョブを処理する、クライアントを含むドキュメント・サーバを提供する。分配ジョブはイメージデータセットのほかに第１及び第２ジョブチケットを含んでいる。第１及び第２ジョブチケットはそれぞれ第１及び第２属性セットを含んでいる。前記第１及び第２属性セットはそれぞれドキュメント処理システムによってイメージデータセットの第１及び第２コピーを格納または処理するやり方を記述している。前記ドキュメント処理システムは第１属性セットに従ってイメージデータの第１コピーを格納または処理する第１仮想サービスと、第２属性セットに従ってイメージデータの第２コピーを格納または処理する第２仮想サービスを含んでいる。ドキュメント処理システムは、第１及び第２仮想サービスと通信し、第１及び第２仮想サービスにおけるイメージデータセットの第１及び第２コピーの格納または処理を調整するドキュメント・マネージャと、前記ドキュメント・マネージャと通信し、分配ジョブの第１及び第２ジョブチケットを単一パッケージとして受け取る分配エージェントを含んでいる。前記分配エージェントは前記ドキュメント・マネージャがイメージデータセットの第１コピーと第１ジョブチケットのコピーの両方を第１仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第１ジョブチケットのコピーを前記ドキュメント・マネージャへ送信し、そして前記分配エージェントは前記ドキュメント・マネージャがイメージデータセットの第２コピーと第２ジョブチケットのコピーの両方を第２仮想サービスへ決まったルートで容易に送ることができるように、単一パッケージの第２ジョブチケットのコピーを前記ドキュメント・マネージャへ送信する。前記分配エージェントは第１及び第２ジョブチケットのコピーが前記ドキュメント・マネージャへ送信された後に第１分配ジョブ状態要求を受け取る。前記分配エージェントはドキュメント・サーバによってイメージデータセットの第１コピー及びイメージデータセットの第２コピーのそれぞれが処理された程度を決定するように前記ドキュメント・マネージャをダイレクト（指示）する第２分配ジョブ状態要求を前記ドキュメント・マネージャに送信する。前記ドキュメント・マネージャは第２分配ジョブ状態要求を受け取るとそれに応じて、ドキュメント・サーバによってイメージデータセットの第１コピー及びイメージデータセットの第２コピーのそれぞれが処理された程度を決定させる。
【００１１】
本発明の以上及びその他の特徴は、添付図面を参照して以下の詳細な説明を読まれれば、明らかになるであろう。
【００１２】
【発明の実施の形態】
図１は、ＤＰＡ  ＩＳＯ  １０１７５／ＰＯＳＩＸ．７  ＩＥＥＥ  １００３．７ａに基づいて、モデルにマップされたマイクロカーネル ( Microkernel) の抽象モデルを示す。マイクロカーネルの外部インタフェースは、ＰＯＳＩＸ．７ＩＥＥＥ  １００３．７ａの規格に完全に従っている。ＤＰＡモデルは、スーパーバイザ（またはサーバ）とプロダクション・システムの間のインタフェースを製品依存性であるとみなしている。
【００１３】
このモデルは、マッピングを表示しているので抽象的であるとみなされ、またアーキテクチャ的細部を指定していない。このモデルは２つの目的に役に立つ。第１に、規格とマイクロカーネルの関係を明確にするのを助ける。第２に、マイクロカーネルのアプリケーション・プログラミング・インタフェース（ＡＰＩ）の規格化を促進する。抽象モデルは、マイクロカーネルを３つの主要なサブシステム（接続性サービス、ドキュメント管理サービス、及びドキュメント処理サービス）に分けている。
【００１４】
ＤＰＡ  ＩＳＯ  １０１７５／ＰＯＳＩＸ．７  ＩＥＥＥ  １００３．７ａプリント・システム・モデルでは、機能は次のように分けられる。
１）  プリント・クライアント
２）  プリント・サーバ
３）  プリント・スーパーバイザ
４）  プリント・プロダクション・システム
【００１５】
ＤＰＡ／ＰＯＳＩＸプリント・サーバはクライアント（例えば、ワークスーションからユーザー）からの要求を取り扱い、処理する。サーバは要求を確認し、その要求をデータベース（または待ち行列）へ加える責任がある。サーバはジョブ要求条件に適したプリンタの場所を探し出し、そのプリンタに対しジョブをスケジュールし、追跡する。サーバはプリンタ・スーパーバイザ（プリンタを駆動する責任がある）からイベントを受け取る。サーバは状態と有意イベントをユーザーに報告し、会計情報をログに記入する。
【００１６】
図１の説明を続けると、マイクロカーネルは、ＤＰＡ／ＰＯＳＩＸサーバの機能の大部分を実行するドキュメント管理（ＤＭと略す）サブシステムを含んでいる。ＤＭサブシステムはユーザー要求を確認し、要求を待ち行列に入れ、ドキュメントデータをスプールし、デバイスに対するジョブをスケジュールし、状態情報を収集し、維持する。ＤＭサブシステムは、走査ジョブ（ファイリングまたはファクシングのため）と複写ジョブを取り扱うようにＤＰＡ／ＰＯＳＩＸプリント・サーバを構成することができるので、或る面でＤＰＡ／ＰＯＳＩＸプリント・サーバを拡張する。マイクロカーネルでは、他のサブシステム（ＤＰＡ／ＰＯＳＩＸモデルのスーパーバイザ及びプロダクション・システム構成要素と機能的に同等である）によって報告されたエラーなどの有意イベントは、システム制御サブシステムによって取り扱われる。
【００１７】
ＤＰＡ／ＰＯＳＩＸプリント・スーパーバイザは、特定のプリントを駆動する責任があり、ある動作モードでは、一度に１つのジョブをプリントする。ＤＰＡ／ＰＯＳＩＸプリント・スーパーバイザは、要求内のドキュメントの内容を解釈することを含めて、ジョブ要求を解釈する責任がある。ＤＰＡ／ＰＯＳＩＸプリント・スーパーバイザは、そのほかに、要求に関連する属性と、ドキュメントの解釈中に見つけた属性を調和させる。スーパーバイザはジョブの印刷を完全に制御することが好ましい。スーパーバイザはフォントをダウンロードすることや、データをプリンタへ転送することなどの活動に責任がある。ＤＰＡ／ＰＯＳＩＸプリント・スーパーバイザの役割は、マイクロカーネル内のドキュメント・マネージャとドキュメント処理サブシステムによって実行される。
【００１８】
ＤＰＡ／ＰＯＳＩＸプリント・プロダクション・システムは、製品仕様であると定義される。一般に、プロダクション・システムは、ドキュメントすなわちイメージデータを処理し、そしてマーキング、丁合せ、仕上げなどの典型的な機能を取り扱う責任がある。マイクロカーネルは伝統的な印刷装置よりも多くのことが可能であるプロダクション・システムに対する支援を含んでいる。ドキュメントすなわちイメージデータの処理はドキュメント処理サブシステムによって行われる。マーキング、丁合せ、及び仕上げはマイクロカーネルの一部ではない。これらの機能は、一般にＰＤＴ仕様サービスとアプリケーションによって提供される。
【００１９】
図２は、マイクロカーネルの機能的アーキテクチャを示す。遠隔クライアントは、マイクロカーネルに統合されたネイティブ・プロトコル・サービスまたはダイナミックロード可能モジュール（ＤＬＭと略す）のどちらかによって、マイクロカーネルベースの製品と対話する。プロトコル・サービスは遠隔クライアントからの要求をマイクロカーネル内の接続性サブシステムへ決まったルートで送る。接続性サブシステムは、次に詳しく説明するように、プロトコル・サービスからの要求をマイクロカーネル・サーバ（すなわち、ＤＭ）に対するＰＯＳＩＸ命令に翻訳する。
【００２０】
一般に、ネットワークすなわち２点間プリント実行依頼は、接続性サービス（ＣＳと略す）サブシステムのプロトコル・サービスのレベルにおいて生じる。各プロトコル・サービスは周知のソケットで接続指示を聞き耳を立てている。プロトコル・サービスは接続指示を受け取ると、ジョブ要求を接続性コアへ実行依頼する。接続性コアはこの要求をＤＰＡコンパチブル・フォーマットに翻訳し、それをＤＭサブシステムへ送る。ジョブ実行依頼が承認されると、プロトコル・サービスは１つまたはそれ以上のドキュメントを実行依頼することができる。ドキュメントの実行依頼はドキュメント要求とＩ／Ｏ記述子を接続性コアへ送ることによって達成される。これは、さらに翻訳されて、ＤＭサブシステムへ送られる。
【００２１】
ドキュメントを受け取ったあと、プロトコル・サービスは基礎をなすプロトコル・スタックからデータの受取りを開始し、それをＩ／Ｏ記述子に書き込む。このデータはＩ／Ｏ記述子の他の側で消費者によって読み取られるか、またはシステムのどこかにスプールされるであろう。遠隔クライアントがそれ以上のデータが存在しないことを指示すると、Ｉ／Ｏ記述子が閉じられ、この特定ドキュメントの終りを合図する。すべてのドキュメントが受け取られた後、ジョブ終結要求がプロトコル・サービスから接続性コアへ送られ、接続性コアはそれをＤＭサブシステムへ送る。最後に、この要求はシステムによって仕上げられ、プロトコル・サービスはジョブに関連する全資源を解放するであろう。
【００２２】
マイクロカーネルのコアはＤＰＡサーバの機能を実行するＤＭサブシステムである。ＤＭサブシステムのすべてのクライアント（すなわち、接続性サービス・サブシステム、ＤＬＭ、及びＰＤＴアプリケーション）は、ＰＯＳＩＸ  １００３．７ａ規格に準拠するクライアント要求ＡＰＩを介してＤＰＡサービスにアクセスする。クライアント要求ＡＰＩは、ＰＯＳＩＸ及びその他のユーザーオブジェクトを格納するオブジェクトデータ記憶装置の実行詳細を隠している。ＤＭサブシステムはドキュメント探知サービス、スプーリング・サービス、及びスケジューリングの各サービスを準備する。サービス提供者（すなわち、ドキュメント処理アプリケーション及びＰＤＴマーキング・アプリケーション）はそれらのサービスをＤＭサブシステムに登録することができる。ＤＭサブシステムは、ジョブに関連する処理パイプラインとＰＤＬの形式に従って、サービス提供者インタフェース（ＳＰＩと略す）によって、種々のサービス提供者に対しドキュメントの処理をスケジュールする。この融通性により、多数のドキュメントを多数の消費者のパイプラインへ並行して実行依頼することができる。
【００２３】
図２の説明を続けると、イメージフレーム記憶（ＩＦＳと略す）と少なくとも一人のプロデューサの例示を含むドキュメント処理（ＤＰと略す）は、マイクロカーネルによって提供される。ＤＰはドキュメントをイメージ（マイクロカーネルの構成に従って、フルフレームバッアァまたはラスタ走査バンド）に処理する。イメージフレーム記憶装置はプロデューサを消費者に割り当てる。消費者は、ＰＤＴサービスまたはＤＬＭ、例えばＤＰまたはどれか他のプロダクション向きＤＬＭ（例えばスキャナ・サービス）によって提供されるイメージの処理を制御するマーキング・サービスであってもよい。
【００２４】
システム制御装置（ＳＣと略す）はシステムの始動、停止、及び同期化に責任がある。ＳＣサブシステム内のＭＥＮエージェントは、イベント及びメッセージの配達を登録し、イベントの発生を処理し、前の登録を取り消す能力をクライアントに提供する。ＳＮＭＰエージェントは、マイクロカーネル内のＭＩＢデータベースを維持し、興味あるイベントをＳＮＭＰマネージャに代わりにＭＥＮエージェントに登録することによって、マイクロカーネルの遠隔構成に責任がある。ＳＮＭＰエージェントは、マイクロカーネルに関するネットワーク構成情報を変更するメカニズムを提供する。
【００２５】
マイクロカーネルは、オフィスにおけるさまざまの多機能デバイスを具体化するために必要である重要な一組のコア能力と共に、大幅に拡張可能な枠組みを提供する。
【００２６】
クライアント及び（または）サービス提供者の一部はマイクロカーネル内にある。かれらはネーティブ・プロトコル・サービスとして知られる。その他、例えばオプションのＤＬＭやＰＤＴアプリケーションは外部にある。
【００２７】
プロトコル・サービスは、プロトコル・モジュール（ＰＭと略す）とプロトコル・スタックから成っている。プロトコル・サービスは、遠隔ホストからの異なる形式の要求を共通のフォーマットに翻訳し、マイクロカーネルへ中継する責任がある。
【００２８】
ここに開示した実施例は、その他のマイクロカーネル・サブシステム、ＰＤＴアプリケーション、及びＤＬＭによって、ファックス／モデム施設、ネットワーク・アプリケーション、及びＣＳサブシステムによって支援された種々のトポロジーや環境へのローカルアクセスを支援することを考えている。そのほかに、ＩＰＳ  ＳＮＭＰ操作に簡単な軽量インタフェースを提供することによって、ＩＰＳ  ＳＮＭＰ／ＭＩＢデータベースへのアクセスを限定支援することを考えている。
【００２９】
マイクロカーネル内では、すべてのものが要求と返答で構成されている。ジョブはシステムに対する要求から成っている。プロトコル・サービス・インタフェースは内部ＰＭジョブ実行依頼命令をＰＯＳＩＸ命令に翻訳する。ジョブ実行依頼はデータ記憶装置ハンドル（オプション）とジョブコードから成っている。ジョブが実行依頼された後、応答機能が呼び出される。これはプロトコル・サービスが提供するコールバック機能である。もしジョブが拒否されれば、接続性コアは上記ハンドルを解放する。
【００３０】
ジョブが引き受けられた後、ドキュメント実行依頼要求が次に続くことがある。各ドキュメント実行依頼要求は、ジョブハンドル（以前に作られたハンドルで、ジョブを識別する）、ドキュメントハンドル、及びブロッキング・ファイル記述子（パイプの読取り端）を含んでいる。
【００３１】
ジョブ用のデータはパイプの書込み端に入れられる。ドキュメントの最後に、プロトコル・サービスはこのパイプに対するそれらの接続を閉じる。これはこのパイプの読取り端と消費者に対しドキュメントの終わりを合図する。
【００３２】
次に図３は、マイクロカーネル・ソフトウェア・アーキテクチャと一緒に使用するように構成された接続性サービス・サブシステムを示す。接続性サービス・サブシステムは次のサービスを提供する。
１）Core Services
２）Native Protocol Services
３）SNMP Agent V.2 over UDP/IP and IPX
４）Native Protocol Stacks
５）MIB - II
６）Dynamic Loadable Protocol Services
【００３３】
コア接続性サービスは、同期化とジョブ・コントロール（すなわち、ジョブを実行依頼すること、及びジョブを引き受けること）を取り扱う低レベルのサービスを提供する。これらの低レベル・サービスは接続性サービス・サブシステムのプロトコル・サービスによって使用される。コア接続性サービスは、そのほかに、初期化、構成、始動、停止、診断、メッセージ施設、及びエラーロッギングを提供する。
【００３４】
コア接続性サービスは、ＰＭサービスとプロトコル・スタック・サービスに登録機構を提供する。これにより、コア接続性サービス・サブシステムは適合性をもつことができ、かつ適切なプロトコル階層化を支援することができる。コア接続性サービスは、そのほかに、その構成及び能力をシステム制御装置に登録する責任がある。
【００３５】
コア接続性サービスは、ＳＭａｒｔマイクロカーネルへの共通インタフェースを基礎をなすプロトコル・モジュールに提供する。コア接続性サービスは、さらに、低レベルのサービスと、メッセージング施設、登録機構、及び基本フロー制御機構などの施設を提供する。
【００３６】
プロトコル・モジュール（ＰＭ）サービスは、プリンタアクセス・プロトコル、たとえば Banyan AppleTalk PAP , Novell PSERVER, DPA ISO 1075/POSEX.7 IEEE 1003.7a ゲートウェイ，及び UNIX LPR/LPD を具体化する。ＰＭ層を具体化するほかに、ＰＭサービスは、高レベルのフロー制御、プロトコル・スタックへのインタフェーシング、多数のＰＭセッションの管理、構成、登録、及び診断などの諸機能について責任がある。
【００３７】
ＰＭサービスは、コア接続性サービスとプロトコル・スタック・サービスと対話するため、明確に定義されたＡＰＩを提供する。ＰＭサービスのＡＰＩにより、コア接続性サービスは、特定のＰＭの具体化を知らなくても、ＰＭと対話することができる。このエンキャプスレーション（encapsulation)とモジュール方式（modularity) により、ＰＭサービスの構成要素を容易に拡張することができる。最も簡単な構成の場合、接続性サービス・サブシステムの中に、ＰＭサービス・モジュールが１個あるだけのことがある。
【００３８】
ＰＭは、適用可能な場合、構成またはファイリングの支援など、追加機能を提供する。以下のＰＭ及び対応するプロトコル・スタックはＳＭａｒｔマイクロカーネルに固有のものである。
１）Serial XON/XOFF
２）Parallel IEEE P1284
３）LPD (rfc1179) over TCP/IP
４）Novell IPX/SPX PServer version 3.1x
【００３９】
その他のＰＭ及びＤＬＭとして具体化される対応するプロトコル・スタックは次の通りである。
１）AppleTalk
２）LAN Server
３）Banyan VINES
４）DPA 10175-compliant gateway
５）Novell IPX/SPX PServer 4.x
【００４０】
プロトコル・スタック・サービスは、ＩＳＯネットワーキング・モデルに定義されたトランスポート、セッション、またはプレゼンテーションの各層によってデータのリンクアップを具体化する。それらのプロトコル・スタックは次の通りである。
１）Novell IPX/SPX
２）IPS TCP/IP
３）IPS UDP/IP
４）CCITT Fax G3
５）AppleTalk (EtherTalk/LocalTalk/TokenTalk) (provided as a DLM)
【００４１】
これらのプロトコル・スタック・サービスは、低レベルのフロー制御、 AT&T SVID Data Link Procotol Interface (DLPI)  などの標準ＡＰＩによってデバイス・ドライバとインタフェースすること、各層内の多数のセッションを管理すること、構成、始動／停止、及び診断について責任がある。
【００４２】
プロトコル・スタック・サービスは、ＳＴＲＥＡＭＳ，ＤＬＰＩ，及びＸＴＩ（ＴＬＩ）などの標準ＡＰＩを支援する。プロトコル・スタック・サービスは、さらに、認証サービスと許可サービスを、明確なプロトコル定義で定義されるレベルまで支援する責任がある。プロトコル・スタック・サービスは適合性があり、その最も簡単な形の場合は、１個のスタックだけから成ることがある。プロトコル・サービスとプロトコル・モジュール・サービスは、ＤＬＭ規定を使用してシステムへ動的に追加することができる。
【００４３】
図４は、複合ジョブすなわち分配ジョブを処理するシステムを示す。理解されるように、図４に示した実施例は、図２のアーキテクチャの中に設置された種々の構成要素を含んでいる。説明の便宜上、図２に示した相当な数の構成要素を図４の分配システムから省略してあるが、実際の実施では、分配システムは、たとえ全部でなくとも、省略した構成要素の大部分を含んでいることが好ましい。さらに、図４のシステムがドキュメント・マネージャと並列に機能する分配エージェント（ＤＡと略す）を含んでいることは認められるであろう。図４に示すように、分配エージェントは、インタフェースの“ＤＭ  ＡＰＩ”と“ＤＭ  ＳＰＩ”を用いてＤＭと通信する。分配エージェントがＤＭに対しモジューラの形をとっても、または実際にＤＭのコードに統合されても、分配エージェントのすべての利点を得ることができることは明らかであろう。
【００４４】
さらに図４に示すように、ＰＤＴサービスは、仮想サービス１（“ＶＳ１”）〜仮想サービスＮ（“ＶＳＮ”）の形で表される。次に検討する例において、ＶＳ１は印刷サービスであり、ＶＳ２はファックス・サービスである。仮想サービスは独立したエンティティとして示してあるが、実際には、２つまたはそれ以上の仮想サービスを１つのプラットフォーム上で実行することができるであろう。例えば、通常の多機能複写機の場合、複写、印刷、及びファックスの諸機能は１つのプラットフォームによって提供される。さらに、理解されるように、各仮想サービスはハードウェア、ソフトウェア、またはそれらの組合せを用いて実施することができるであろう。
【００４５】
図４の説明を続けると、ある動作モードでは、プリント・ジョブとファックス・ジョブを含む典型的な分配ジョブ（“ｄｊ”と略す）は、クライアントにおいてページ記述言語（“ｐｄｌ”と略す）ファイルの形で開発される。ｄｊは、そのほかに、関連ジョブを処理する制御命令をもつ複合チケットを含んでいる。理解されるように、クライアントは、ここに説明した手法の好ましい実施例に影響を及ぼすことなく、種々の形をとることができるであろう。一例として、クライアントはネットワーク複写機を有することがあるであろうし、ｄｊのプログラミングはその複写機において適当なユーザーインタフェースを用いて行われるであろう。処理操作と各ジョブの最終宛て先は、図４に示したテーブルの形で格納するため、ＤＭに事前登録することが好ましい。ファイルを開発する場合は、ファイルの基礎をなすイメージデータのほかに格納／処理すべき各ジョブのジョブチケットが、ｐｄｌファイルの中に埋め込まれる。そのほかに、ファイルすなわち分配ジョブは、例えばファイルのヘッダー部分にある適当なｄｊ識別子によって識別される。
【００４６】
図４のドキュメント処理システムにおいてジョブを分配する順序は、ジョブがプログラムされた順序によって決まることが好ましい。ステップＳ１の実行に従って、ｄｊは適当なプロトコルと上記形式のインタフェースを用いてＤＭへ送信される。ＤＭては、ジョブが調べられる。ＤＭはｄｊ識別子を読み取ると、テーブルを参照して、それ以上の処理を行わずに、ｄｊを決まったルートでＤＡへ送る。理解されるように、この自動ルーティングは、ＤＭがｄｊの情報を解析し、ｄｊをＤＰ及びＶＳで処理する順序にするために必要な行動をとらなくてもよいので、ＤＭの処理負担を軽減する。
【００４７】
ＤＡは、ＤＭからｄｊを受け取るとそれに応じて、プリント・ジョブ及びファックス・ジョブのそれぞれのジョブチケットを格納する。そのほかに、ジョブを実行するために必要なイメージデータが格納される。理解されるように、一例として、ＤＡはイメージデータとジョブチケット情報をメモリ（例えば、ディスク）に格納し、そしてイメージデータが格納された記憶場所に関する参照を維持することができる。分配ジョブを実行するために、ＤＡはＳ３ａ，Ｓ３ｂによってジョブをＤＭへ順次送信する。
【００４８】
理解されるように、ジョブはクライアントにおいてプログラムされた順序で送信される。またステップＳ３ａ，Ｓ３ｂはある時間に（実質上同時に）実行することもできるし、ステップＳ３ａよりかなり後の時間にステップＳ３ｂを実行するすることもできる。これは、第１ジョブの適当な処理を条件として、第２ジョブの処理を行うことを許す。例えば、第１ジョブが校正セットの印刷を要求している校正ジョブであれば、第２ジョブは校正セットの承認後に複数のセットを印刷することを要求するができるであろう。
【００４９】
図４のテーブルを参照して、ＤＭは、解釈するためにドキュメント処理へ（Ｓ４ａ）、そして印刷するためＶＳ１へ（Ｓ５）プリント・ジョブを決まったルートで送る。同様に、ファックス・ジョブは解釈された後（Ｓ４ｂ）、ＶＳ２によって適当な受取人へ送信される。ジョブの実行依頼がＶＳの１つによって始められるように、ＤＡによってＤＭへ送信されるジョブの１つは分配ジョブであってもよいことを理解されたい。例えば、ＶＳ２へ提供されるファックス・ジョブは、遠隔ＶＳ（そこでは、ジョブは選択した受取人の間でさらに分配されることがある）へ伝送することが予定されていてもよい。
【００５０】
図５に示すように、１つの分配ジョブが幾つかの分配ジョブを処理する基準として役目を果たすことができるであろう。ここでは、コアジョブ３００が米国中または世界中に配置されているかも知れない多数のＶＳにおいて実行される分配ジョブについて基準として役目を果たす。また図６に示すように、単に“ＤＭＳＰＩ”の関連サービスの１つを関連するサービスから遠い１つまたはそれ以上のサービスと一緒にマップすることによって、ｄｊについてプログラムされたジョブの１つを、“ＤＭ  ＳＰＩ”に関連するサービス以外の１つまたはそれ以上のサービスへ伝送することができるであろう。最後に図７に示すように、ＤＡの好ましいモジュール方式は、第２プロトコルと第２“ＤＭ  ＡＰＩ”を用いて直接に、または仮想サービスの１つを用いて間接に、ＤＡと他の遠隔ＤＭの間でｄｊを通信することを許す。
【００５１】
再び図４を参照すると、上記の実施例の拡張版においては、ＤＡにデータベース（ｄｂと略す）が設けられており、図２のドキュメント処理システムの種々のネットワークユーザーに関するプロフィールが提供される。各プロフィールは、ネットワークユーザーが入手できる仮想サービスのリストと各ネットワークユーザーの好ましいフォーマットを含んでいることが好ましい。
【００５２】
一例として、クライアントはｄｊジョブチケットにおいて名前で受取人を指定し、ＤＡは受取人が好むドキュメント・フォーマット及び（または）トランスポート機構を決定するためにｄｊに相談する。そのあとＤＡは共通のドキュメント・フォーマット（元のフォーマットから翻訳可能である）及び（または）関連ドキュメントを配達するトランスポート機構（例えば、費用と時間を最適にする）を選択する。
【００５３】
いったん分配ジョブに関する情報がＤＡに常駐すれば、分配ジョブ内の１つまたはそれ以上のジョブに対し種々の操作を一定の条件に従って行うことができる。数ある操作の中で、１つまたはそれ以上のジョブが処理された程度に従って、１つまたはそれ以上のジョブの１つまたはそれ以上の属性を取り消す、または修正することができる。明らかなように、ｄｊの１つまたはそれ以上のジョブに対し取消し／修正操作を実行するために、１つまたはそれ以上のジョブの処理を中止することが必要なことがある。さらに、ｄｊの１つまたはそれ以上のジョブの状態を決定して、１つまたはそれ以上のＶＳによって今にも処理しようとしている１つまたはそれ以上の他のジョブの前に、１つまたはそれ以上のｄｊジョブを進級させることができる。明らかなように、修正手順、取消し手順、及び進級手順は非常に似ている。従って、プリント・ジョブとファックス・ジョブの属性を修正する手順についてのみ説明する。
【００５４】
図７を参照して、プリント・ジョブとファックス・ジョブの属性を修正する典型的な手順を説明する。最初に、クライアントは分配修正命令（“ｄｊ  ｍｏｄ”）をドキュメント・マネージャへ伝送する（Ｓ１）。ドキュメント・マネージャはその命令“ｄｊ  ｍｏｄ”を決められたルートでＤＡへ送り（Ｓ２）、ＤＡはそれによって処理する。理解されるように、命令“ｄｊ  ｍｏｄ”は、１つまたはそれ以上の属性を取り消すこと、またはＶＳによって処理するため現在待ち行列に並んでいる他のジョブの前に、そのｄｊジョブの１つを進級させることに関する１つまたはそれ以上の命令から成っていてもよい。また図７の典型的な手順は、与えられたｄｊ内の１つのジョブまたは多くのジョブに対し操作を実行する場合に適用可能であり、また与えられたｄｊ内のすべてのジョブに対し実行する必要はない。
【００５５】
ＤＡは、命令“ｄｊ  ｍｏｄ”を受け取るとそれに応じて、プリント・ジョブ及びファックス・ジョブに対する中止命令（Ｓ３ａ，Ｓ３ｂ）をＤＭへ送る。プリント・ジョブの場合、ＤＭは１つまたはそれ以上の命令をＤＰ（Ｓ４ａ）とＶＳ１（Ｓ５）へ送って、そのプリント・ジョブに対する処理を中止すべきことを指示する。考えられる一例として、ＤＡは、ジョブチケット内の、ＶＳ１において修正すべきプリント・ジョブの１つまたはそれ以上の属性をＤＭへ指示する。同様なやり方で、Ｓ４ｂ，Ｓ６によって伝送された信号を用いてファックス・ジョブの処理が中止される。明らかなように、処理の途中でジョブを中止することにより、そのジョブの対応するジョブチケットをＤＡまたは関連するＶＳ（プリント・ジョブの場合はＶＳ１、ファックス・ジョブの場合はＶＳ２）のどちらかで変更することができる。
【００５６】
ＤＰにおいて処理を中止するとそれに応じて、確認信号がＤＭへ送り戻される（Ｓ７）。そのほかに、ジョブの処理が中止されたことを確認するために、ＶＳ１とＶＳ２からＤＭへ確認信号が送られる（Ｓ８，Ｓ９）。理解されるように、この例はプリント・ジョブ及びファックス・ジョブの属性は修正することができると仮定しているが、別の例では、ＤＰ及びＶＳから送られた信号はジョブが処理された程度のため、そのジョブを修正することができないことを指示するであろう。
【００５７】
ＤＰ及びＶＳから確認信号を受け取ると、ＤＭはプリント・ジョブ（Ｓ１０ａ）及びファックス・ジョブ（Ｓ１０ｂ）のそれぞれに対し、ジョブ処理が実行されたことをＤＡへ知らせる。その情報に応じて、ＤＡは、プリント・ジョブ及びファックス・ジョブのジョブチケットに要求された修正を施す。ｄｊに修正が施されたことを指示するために、ＤＡはｄｊ識別子を有するパケットをＤＭ（Ｓ１１）へ送る。ＤＭは、ｄｊ識別子を検出すると、プリント・ジョブ及びファックス・ジョブのそれぞれのジョブチケットに必要な修正が施されたことをクライアントが容易に確認できるように、そのパケットを決められたルートでクライアント（Ｓ１２）へ送る。
【００５８】
【発明の効果】
上記の実施例の多くの特徴はこの分野の専門家に理解されるであろう。第１に、ジョブ（各ジョブがイメージデータとジョブチケットを有する）の格納及び処理を調整するドキュメント・マネージャは、イメージデータと多数のジョブチケットを有する分配ジョブに関連するさまざまな機能を管理する負担が軽減されたシステムが得られる。
【００５９】
第２は、好ましい実施例では、分配エージェントがモジュールであるので、ドキュメント・サーバのソフトウェアを最小限度改訂するだけで、ドキュメント処理システムを容易に拡張することができる。
【００６０】
第３に、ドキュメント・マネージャでなく、分配エージェントにおいて分配ジョブを取り扱うことにより、ドキュメント・マネージャにおいて分配ジョブを管理したのでは達成できなかったであろう融通性と効率の両方がもたらされると信じられる。
【００６１】
第４に、クライアントの要求に応じて分配ジョブの処理を中止し、分配ジョブの１つまたはそれ以上の属性を修正または取り消すことができるように、分配エージェントによって分配ジョブの処理を都合よく管理する手法がドキュメント・サーバへ提供される。
【００６２】
次に、分配エージェントを使用することにより、分配ジョブ内のジョブのそれぞれの状態を決定するために払うドキュメント・マネージャの努力は最小限度ですむ。変更手法と同様に、ドキュメント・マネージャ（システムは全体としてその支援／管理を高度に要求する）は、分配ジョブ内のどのジョブが状態情報を必要としているかを決定することに悩まなくてすむ。
【００６３】
最後に、分配エジェントにおいてデータベースを使用することにより、分配ジョブの属性に関する値を自動的に設定することができる。
【図面の簡単な説明】
【図１】本発明のプリントサーバ・プラットフォームを具体化するのに適したマイクロカーネルの抽象モデルの略図である。
【図２】マイクロカーネルの機能的アーキテクチャの略図である。
【図３】マイクロカーネルの文脈における接続性サブシステムの略図である。
【図４】図２のマイクロカーネルの機能的アーキテクチャの一部分と分配エージェントを含むジョブ分配サブシステムの略図である。線は分配ジョブの処理の流れを表す。
【図５】図４のジョブ分配サブシステムの一部分の略図である。仮想サービスはジョブ分配サブシステムを含んでいる。
【図６】分配ジョブの広範囲の分配を容易にするモデルの略図である。
【図７】図４のジョブ分配サブシステムの略図である。線は分配ジョブ修正命令の処理の流れを表す。
【図１】
0003810158.tif 000002
【図２】
0003810158.tif 000003
【図３】
0003810158.tif 000004
【図４】
0003810158.tif 000005
【図５】
0003810158.tif 000006
【図６】
0003810158.tif 000007
【図７】
0003810158.tif 000008