(57)【要約】【課題】  煩雑なオペレーションを行わずとも、デバイスの能力やジョブの印刷属性に応じてＪＤＦの差し替えが行え、確実なプルプリントを行うことが可能となる印刷ジョブの制御方法及びその印刷システムと情報処理装置と印刷装置を提供する。【解決手段】  印刷データに対応づけられた印刷設定が保持されている場合の印刷ジョブの制御方法であって、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込み、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換えて、印刷設定が置き換えられた印刷ジョブを発行する。【選択図】  図１７Ａ
2009037488.tif 000002
【特許請求の範囲】
【請求項１】
印刷データに対応づけられた印刷設定が保持されている場合の印刷ジョブの制御方法であって、
ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む工程と、
前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える工程と、
印刷設定が置き換えられた印刷ジョブを発行する工程とを有することを特徴とする印刷ジョブの制御方法。
【請求項２】
前記置き換える工程は、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含むか否かを判断する工程を含み、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含む場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換えることを特徴とする請求項１に記載の印刷ジョブの制御方法。
【請求項３】
前記置き換える工程は、前記印刷データに対応づけられた印刷設定と前記読み出したユーザ独自の印刷設定との優先を、予め設定された条件に基づいて決定する工程を含み、前記読み出したユーザ独自の印刷設定が優先すると決定した場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換えることを特徴とする請求項１又は２に記載の印刷ジョブの制御方法。
【請求項４】
前記予め設定された条件は、前記記憶媒体に記憶されていることを特徴とする請求項３に記載の印刷ジョブの制御方法。
【請求項５】
印刷データに対応づけられた印刷設定が保持されている場合の印刷ジョブの制御方法であって、
印刷装置が、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む工程と、
前記印刷装置が、前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する工程と、
前記印刷装置が、決定した印刷ジョブの印刷設定を情報処理装置に通知する工程と、
前記情報処理装置が、前記読み出したユーザ独自の印刷設定を優先すると通知された場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える工程と、
前記情報処理装置が、印刷設定が置き換えられた印刷ジョブを発行する工程とを有することを特徴とする印刷ジョブの制御方法。
【請求項６】
印刷データに対応づけられた印刷設定を保持する保持手段を有する印刷システムであって、
ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む手段と、
前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える手段と、
印刷設定が置き換えられた印刷ジョブを発行する手段とを有することを特徴とする印刷システム。
【請求項７】
前記置き換える手段は、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含むか否かを判断する手段を含み、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含む場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換えることを特徴とする請求項６に記載の印刷システム。
【請求項８】
前記置き換える手段は、前記印刷データに対応づけられた印刷設定と前記読み出したユーザ独自の印刷設定との優先を、予め設定された条件に基づいて決定する手段を含み、前記読み出したユーザ独自の印刷設定が優先すると決定した場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換えることを特徴とする請求項６又は７に記載の印刷システム。
【請求項９】
前記予め設定された条件は、前記記憶媒体に記憶されていることを特徴とする請求項８に記載の印刷システム。
【請求項１０】
印刷データに対応づけられた印刷設定を保持する保持手段を有し、該印刷設定を含む印刷ジョブを発行する情報処理装置と、該印刷ジョブを受信して印刷データの印刷を行なう印刷装置とが接続された印刷システムであって、
前記印刷装置が、
ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む手段と、
前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する手段と、
決定した印刷ジョブの印刷設定を情報処理装置に通知する手段とを有し、
前記情報処理装置が、
前記読み出したユーザ独自の印刷設定を優先すると通知された場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える手段と、
印刷設定が置き換えられた印刷ジョブを発行する手段とを有することを特徴とする印刷システム。
【請求項１１】
印刷データに対応づけられた印刷設定を保持する保持手段を有し、該印刷設定を含む印刷ジョブを該印刷ジョブを受信して印刷データの印刷を行なう印刷装置に対して発行する情報処理装置であって、
前記印刷装置により前記読み出したユーザ独自の印刷設定を優先すると通知された場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える手段と、
印刷設定が置き換えられた印刷ジョブを発行する手段とを有することを特徴とする情報処理装置。
【請求項１２】
情報処理装置から発行された印刷ジョブを受信して印刷データの印刷を行なう印刷装置であって、
ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む手段と、
前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する手段と、
決定した印刷ジョブの印刷設定を情報処理装置に通知する手段とを有することを特徴とする印刷装置。
【請求項１３】
情報処理装置から発行された印刷ジョブを受信して印刷データの印刷を行なう印刷装置の制御方法であって、
ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む工程と、
前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する工程と、
決定した印刷ジョブの印刷設定を情報処理装置に通知する工程とを有することを特徴とする印刷装置の制御方法。
【請求項１４】
前記決定する工程は、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含むか否かを判断する工程を含み、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含む場合に、前記読み出したユーザ独自の印刷設定を発行する印刷ジョブの印刷設定と決定することを特徴とする請求項１３に記載の印刷装置の制御方法。
【請求項１５】
前記決定する工程は、前記印刷データに対応づけられた印刷設定と前記読み出したユーザ独自の印刷設定との優先を、予め設定された条件に基づいて決定する工程を含み、前記読み出したユーザ独自の印刷設定が優先すると決定した場合に、前記読み出したユーザ独自の印刷設定を発行する印刷ジョブの印刷設定と決定することを特徴とする請求項１３又は１４に記載の印刷装置の制御方法。
【請求項１６】
請求項１３乃至１５のいずれか１項に記載の印刷装置の制御方法の工程をコンピュータに実行させるためのプログラム。
【請求項１７】
請求項１６に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷ジョブの制御方法及びその印刷システムと情報処理装置と印刷装置に関し、特に、認証情報読み取り装置を用いてジョブを制御するプルプリントシステムに関するものである。
【背景技術】
【０００２】
近年インターネットやERPなどの業務システムの普及によって、ドキュメントサーバには大量の定型ドキュメントが保存されている。しかし、ドキュメントに関連付けられたＪＤＦ(Job Definition Format)やＪＴ(Job Ticket)などの印刷属性（面付けや、ページ順、出力サイズ、フィニッシングなど）は、個別のドキュメント毎に決定されている。
【０００３】
現在、このようなシステムでは、印刷属性の融通性を高めるために、以下のような仕組みが提案されている。例えば、アプリケーションによりサーバのドキュメントを開いてＪＤＦやジョブチケットを編集することで印刷属性を変更して印刷するシステム（特許文献１）や、ユーザが多数のＪＴから好みのものを選択し印刷するシステム（特許文献２）である。特許文献２においては、サーバに常駐するジョブチケットのリストが載ったディレクトリからジョブチケットを選択することによって、画像処理装置から遠隔のサーバへアクセスする。ユーザは、選択したジョブチケットの１つをネットワークを介してサーバから画像処理装置へ送り、その選択したジョブチケットで画像処理装置においてジョブをプログラムする。
【特許文献１】特開平１１−１３４１３４号
【特許文献２】特開平９−３４８２４号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、印刷属性を容易に変更して印刷することができない。
【０００５】
また、プルプリントシステムにおいても、プリンタのパネル画面などでジョブの出力設定の編集を行うことが提案されているが、狭い画面で煩雑なオペレーションのため実際には利用されていない。オペレータは、顧客に提出するユーザ専用カタログなどを出力する際、保存ドキュメントで予め決められたフォーマットで出力後、ステープルの位置やくるみ製本などを変更して独自のFinishingに変更するという作業を行っている。
【０００６】
限られた台数のプリンタで大人数のユーザが大量の提案書などの出力を行う環境において、プルプリントシステムでは次のような課題がある。１つは、プリンタの前で短時間で印刷処理を終了しなければならないという課題である。もう１つは、多数のドキュメントサーバに個別ユーザの出力設定などを登録するシステム構成の煩雑さも許されていないという課題である。また、プルプリントシステムでは、様々なデバイスが存在しているため、ドキュメントサーバに保存する定型ドキュメントに色々な印刷設定を行うことができない状況にある。このため、特殊な印刷属性を設定した場合には、出力時にトラブルが発生するという課題があった。
【０００７】
本発明は、上記従来技術の問題点に鑑み、煩雑なオペレーションを行わずとも、デバイスの能力やジョブの印刷属性に応じてＪＤＦの差し替えが行え、確実なプルプリントを行うことが可能となる印刷ジョブの制御方法を提供する。また、その印刷システムと情報処理装置と印刷装置を提供する。
【課題を解決するための手段】
【０００８】
この課題を解決するために、本発明の印刷ジョブの制御方法は、印刷データに対応づけられた印刷設定が保持されている場合の印刷ジョブの制御方法であって、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む工程と、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える工程と、印刷設定が置き換えられた印刷ジョブを発行する工程とを有することを特徴とする。
【０００９】
ここで、前記置き換える工程は、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含むか否かを判断する工程を含み、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含む場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える。また、前記置き換える工程は、前記印刷データに対応づけられた印刷設定と前記読み出したユーザ独自の印刷設定との優先を、予め設定された条件に基づいて決定する工程を含み、前記読み出したユーザ独自の印刷設定が優先すると決定した場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える。また、前記予め設定された条件は、前記記憶媒体に記憶されている。
【００１０】
また、本発明の印刷ジョブの制御方法は、印刷データに対応づけられた印刷設定が保持されている場合の印刷ジョブの制御方法であって、印刷装置が、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む工程と、前記印刷装置が、前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する工程と、前記印刷装置が、決定した印刷ジョブの印刷設定を情報処理装置に通知する工程と、前記情報処理装置が、前記読み出したユーザ独自の印刷設定を優先すると通知された場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える工程と、前記情報処理装置が、印刷設定が置き換えられた印刷ジョブを発行する工程とを有することを特徴とする。
【００１１】
また、本発明の印刷システムは、印刷データに対応づけられた印刷設定を保持する保持手段を有する印刷システムであって、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む手段と、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える手段と、印刷設定が置き換えられた印刷ジョブを発行する手段とを有することを特徴とする。
【００１２】
ここで、前記置き換える手段は、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含むか否かを判断する手段を含み、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含む場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える。また、前記置き換える手段は、前記印刷データに対応づけられた印刷設定と前記読み出したユーザ独自の印刷設定との優先を、予め設定された条件に基づいて決定する手段を含み、前記読み出したユーザ独自の印刷設定が優先すると決定した場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える。また、前記予め設定された条件は、前記記憶媒体に記憶されている。
【００１３】
また、本発明の印刷システムは、印刷データに対応づけられた印刷設定を保持する保持手段を有し、該印刷設定を含む印刷ジョブを発行する情報処理装置と、該印刷ジョブを受信して印刷データの印刷を行なう印刷装置とが接続された印刷システムであって、前記印刷装置が、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む手段と、前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する手段と、決定した印刷ジョブの印刷設定を情報処理装置に通知する手段とを有し、前記情報処理装置が、前記読み出したユーザ独自の印刷設定を優先すると通知された場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える手段と、印刷設定が置き換えられた印刷ジョブを発行する手段とを有することを特徴とする。
【００１４】
また、本発明の情報処理装置は、印刷データに対応づけられた印刷設定を保持する保持手段を有し、該印刷設定を含む印刷ジョブを該印刷ジョブを受信して印刷データの印刷を行なう印刷装置に対して発行する情報処理装置であって、前記印刷装置により前記読み出したユーザ独自の印刷設定を優先すると通知された場合に、前記印刷データに対応づけられた印刷設定を前記読み出したユーザ独自の印刷設定に置き換える手段と、印刷設定が置き換えられた印刷ジョブを発行する手段とを有することを特徴とする。
【００１５】
また、本発明の印刷装置は、情報処理装置から発行された印刷ジョブを受信して印刷データの印刷を行なう印刷装置であって、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む手段と、前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する手段と、決定した印刷ジョブの印刷設定を情報処理装置に通知する手段とを有することを特徴とする。
【００１６】
また、本発明の印刷装置の制御方法は、情報処理装置から発行された印刷ジョブを受信して印刷データの印刷を行なう印刷装置の制御方法であって、ユーザ独自の印刷設定を格納する記憶媒体から、該ユーザ独自の印刷設定を読み込む工程と、前記印刷データに対応づけられた印刷設定と、前記読み出したユーザ独自の印刷設定と、前記印刷装置の能力とから、発行する印刷ジョブの印刷設定を決定する工程と、決定した印刷ジョブの印刷設定を情報処理装置に通知する工程とを有することを特徴とする。
【００１７】
ここで、前記決定する工程は、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含むか否かを判断する工程を含み、印刷装置の能力が前記読み出したユーザ独自の印刷設定を含む場合に、前記読み出したユーザ独自の印刷設定を発行する印刷ジョブの印刷設定と決定する。また、前記決定する工程は、前記印刷データに対応づけられた印刷設定と前記読み出したユーザ独自の印刷設定との優先を、予め設定された条件に基づいて決定する工程を含み、前記読み出したユーザ独自の印刷設定が優先すると決定した場合に、前記読み出したユーザ独自の印刷設定を発行する印刷ジョブの印刷設定と決定する。
【００１８】
更に、上記印刷装置の制御方法の工程をコンピュータに実行させるためのプログラム、及び該プログラムを記憶したコンピュータで読み取り可能な記憶媒体を提供する。
【発明の効果】
【００１９】
本発明により、ドキュメントサーバに保存されたジョブのオリジナルを変更/編集せずともユーザ独自のカスタマイズ出力を実現でき、オリジナルジョブの再利用性を高めることができる。
【００２０】
また、プルプリントサーバが複数ある場合でも、認証カードにユーザ個別のＪＤＦやＪＴを登録することで、個々のサーバにユーザ個別の登録を行う必要がなく、独立性の高いシステムを提供することが可能となる。
【００２１】
さらに、ジョブ毎にＪＤＦを編集しなくても、オリジナルの印刷属性の出力を行うことが可能である。
【００２２】
その結果、煩雑なオペレーションを行わずとも、デバイスの能力やジョブの印刷属性に応じてＪＤＦの差し替えが行え、確実なプルプリントを行うことが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。
【００２４】
＜本実施形態の印刷システムの構成例＞
図１は、本発明の実施形態に係る印刷システムの全体構成を示すブロック図である。
【００２５】
本印刷システムは、情報処理装置としてのプリントサーバ（コンピュータ）１０１〜１０２と、印刷装置（プリントデバイス）としてのネットワークプリンタ１０３〜１０５とを含む。これらが互いにＬＡＮなどのネットワーク１０６で接続されていることにより、全体としてネットワークシステムを構成している。
【００２６】
プリントサーバ１０１〜１０２には、印刷制御プログラムが実行可能に格納されている。プリントサーバ１０１〜１０２は、本印刷システムに含まれるネットワークプリンタ１０３〜１０５を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、プリントサーバ１０１〜１０２は、自身により印刷ジョブを作成する。また、ネットワークプリンタ１０３〜１０５のエージェントからのプルプリント要求をもとに、ネットワークプリンタ１０３〜１０５のスケジューラにスケジュール要求を発行する機能を有する。また、ネットワークプリンタ１０３〜１０５のスケジューラからの指示により、印刷データの転送を開始する機能を有する。
【００２７】
ネットワークプリンタ１０３〜１０５は、プリントサーバ１０１〜１０２から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ１０３〜１０５としては、電子写真方式を採用したレーザビームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。また、ネットワークプリンタ１０３〜１０５は、複数のプリントサーバ１０１〜１０２からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能を有する。また、ネットワークプリンタ１０３〜１０５に転送された印刷ジョブ、ネットワークプリンタ１０３〜１０５の状態を監視し、印刷の終了やプリンタ状態をプリントサーバ１０１〜１０２に通知する機能を有する。
【００２８】
なお、本印刷システムに含まれる装置間の通信は、イーサネット（登録商標）ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００２９】
＜本実施形態のサーバのハードウエア構成例＞
図２は、図１に示したプリントサーバ１０１〜１０２のハードウェア構成を説明するブロック図である。
【００３０】
図２において、ＣＰＵ２００は演算制御用の制御手段である。ＣＰＵ２００は、ＨＤ（ハードディスク）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや印刷制御プログラム等を読出して実行する。その際、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納制御を行う。
【００３１】
ＲＯＭ２０１は、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。ＲＡＭ２０２は、ＣＰＵ２００の主メモリやワークエリア等として機能する一時記憶手段である。
【００３２】
ＦＤ（フロッピー（登録商標）ディスク）ドライブ２０３は、後述する図５に示すように記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体の読込手段である。なお、プリントサーバ１０１〜１０２は、ＦＤドライブ２０３に代えて、或いはＦＤドライブ２０３と共に、他の記憶媒体の読込手段を備えてもよい。他の記憶媒体としては、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。
【００３３】
ＨＤ２０５は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、印刷制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラは、ここに確保される。なお、プリントサーバ１０１〜１０２では、スプール手段としてスプーラが確保される。
【００３４】
キーボード２０６は、ユーザがプリントサーバ１０１〜１０２に対して、デバイスの制御コマンドの命令等を入力指示するための指示入力手段である。ディスプレイ２０７は、キーボード２０６から入力したコマンドや、プリンタ１０３〜１０５の状態等を表示する表示手段である。尚、実際には、プリントサーバ１０１〜１０２上で稼動するオペレーティングシステムを介して表示手段に表示指示がなされ、このオペレーティングシステムに本印刷処理プログラムによりリソースファイルの表示指示が行われ、後述する各表示が実現される。
【００３５】
２０８はシステムバスであり、プリントサーバ１０１〜１０２としてのコンピュータ内のデータの流れを司るものである。またインタフェース２０９は、入出力手段であり、プリントサーバ１０１〜１０２は、インタフェース２０９を介してネットワーク１０６に接続される他の装置とのデータのやり取りを行う。
【００３６】
（ＲＡＭ２０２のメモリマップ例）
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、印刷制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００３７】
印刷制御プログラム及び関係データは、予めＦＤ２０４からＨＤ２０５にインストールされて、ＨＤ２０５からＲＡＭ２０２にロードするようにしてもよいしＦＤ２０４から直接ＲＡＭ２０２にロードして実行させてもよい。さらに、印刷制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３８】
印刷制御プログラムは、プリントサーバ１０１〜１０２においては、印刷データを転送したり、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。
【００３９】
３０１は、基本Ｉ／Ｏプログラムを記憶するための領域である。基本Ｉ／Ｏプログラムは、プリントサーバ１０１〜１０２の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムである。
【００４０】
３０２は、ＯＳ（オペレーティングシステム）を記憶する領域である。３０３は、印刷制御プログラムを記憶する領域である。３０４は、関係データを記憶する領域である。３０５は、ワークエリアで、ＣＰＵ２００が各種のプログラムを実行するための領域である。
【００４１】
（ＦＤ２０４のメモリマップ例）
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、ＦＤ２０４のデータは、データの情報を示すボリューム情報４０１と、ディレクトリ情報４０２と、印刷制御プログラム４０３と、その関係データ４０４を含んでいる。
【００４２】
＜本実施形態のネットワークプリンタのハードウエア構成例＞
図５は、本発明の実施形態に関わるネットワークプリンタのハードウェア構成を説明するブロック図である。
【００４３】
ネットワークプリンタ１０３〜１０５は、内部で大きくネットワークプリンタ・サーバ５２０とプリンタコントローラ５４０からなる異なる制御系を司る機器で構成されている。
【００４４】
ネットワークプリンタ・サーバ５２０において、５０１はネットワークプリンタ・サーバ用のCPUである。CPU５０１は、書き換え可能なFlashROM５０３に記憶された制御プログラムに基づいて動作する。CPU５０１は、システムバス５０４に接続されるネットワークコントローラ(LANC５０５)を介してローカルエリアネットワーク(LAN１０６)に接続される。そして、ホストコンピュータ等の複数の外部装置(不図示)と所定のネットワーク通信プロトコルを用いて通信し、前記外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御する。また、拡張インタフェースコントローラ(EXPC５０７)を介して接続されるプリンタコントローラ５４０に対して適切なデータ転送制御を行なう。５１９は、外部装置５３０と情報のやり取りを行う外部I/Oインタフェースである。
【００４５】
RAM５０２は、CPU５０１の主メモリ、ワークエリア等の一時記憶領域をして用いられる。LED５０６は、ネットワークプリンタ・サーバ５２０の動作状態を示す表示部として用いられている。例えば、ネットワークコントローラ(LANC５０５)とローカルエリアネットワーク(LAN５１２)の電気的な接続状態(LINK)をLEDの点滅パターンや色で示すこと可能となっている。また、ネットワーク通信モード(10Baseや100Base、全二重、半二重)等の各種動作状態もLEDの点滅パターンや色で示すこと可能となっている。
【００４６】
さらに、ネットワークプリンタ・サーバ５２０とプリンタコントローラ５４０を繋ぐ拡張インタフェース５１７は、図示しないコネクタで構成されている。そして、ネットワークプリンタ・サーバ５２０のみが着脱し、同じ構成を持つ別のネットワークプリンタ・サーバ５２０にネットワークプリンタ・サーバ５２０を装着することも可能な構成となっている。
【００４７】
プリンタコントローラ５４０において、５０８はプリンタコントローラ用のCPUである。CPU５０８は、ROM５０９に記憶された制御プログラム等あるいはディスクコントローラ(DKC５１５)を介して接続された外部メモリ５１０に記憶された制御プログラムやリソースデータ(資源情報)等に基づいて動作する。そして、システムバス５１１に接続される各種デバイスとのアクセスを統括的に制御する。また、拡張インタフェースコントローラ(EXPC５１３)を介して接続されるネットワークプリンタ・サーバ５２０から受信される印刷データを基に、ラスタコントローラ５１２によって出力画像情報を生成する。そして、プリントエンジン５１６に対して画像信号を出力する。
【００４８】
５１４は、CPU５０８の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。５１８は、操作パネル（操作部）で、ネットワークプリンタ・サーバ５２０の動作モード等の設定や印刷データの取り消し等の操作を行なうためのボタンおよびネットワークプリンタ・サーバ５２０の動作状態を示す液晶パネルやLED等の表示部が配されている。
【００４９】
なお、本図で示したプリンタエンジン５１６は、既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザビーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。
【００５０】
＜本実施形態のサーバのソフトウエア構成例＞
次に、本印刷システムのサーバのソフトウェア構成について説明する。
【００５１】
図６Ａ及び図６Ｂは、プリントサーバ１０１〜１０２におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図２のＣＰＵ２００によって実行され、所望の機能を実現する。なお、ソフトウェア構成の一部が図５のＣＰＵ５０１によって分散されて実行される構成も可能である。
【００５２】
（ソフトウエア間のやりとりの例）
通常、印刷アプリケーションプログラム６０１は、印刷の指示を受け付けると、一連の描画コマンドをＯＳを介して生成する。ＯＳを介して生成された描画コマンドはプリンタドライバ（ＰＤＬドライバ）６０２に渡される（図６Ａの矢印ａ）。描画コマンドを受け取ったプリンタドライバ６０２は、一連の描画コマンドに基づいてネットワークプリンタ１０３〜１０５で解釈可能なＰＤＬファイルやＰＤＦファイルとジョブチケットやＪＤＦなどを含む印刷ジョブを生成する。なお、以下の説明ではプリンタドライバを例に説明を行うが、これに限定されるものではない。例えば、ＢＤＬ(Band Description Language)や、圧縮ビットマップを作成するプリンタドライバなどにも適用可能である。或いは、アプリケーション及びＯＳによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能であることはいうまでもない。
【００５３】
また、本実施形態の印刷アプリケーションは、プルプリントユーザの印刷ジョブを作成するアプリケーションである。従って。プルプリントサーバにプルプリント用印刷ジョブを作成し、その印刷ジョブに該当するプルプリントユーザの識別情報を設定する機能を保持している例で示す。
【００５４】
プリンタドライバ６０２は、プリントデバイスへ印刷ジョブを送信するためにスプーラ６０３に渡す（図６Ｂの矢印ｂ）。ここでは、ＯＳをウィンドウズ（Ｗｉｎｄｏｗｓ；登録商標）と仮定しているのでスプーラ６０３はウィンドウズ（登録商標）スプーラである。ただし、本発明を適用するコンピュータのＯＳはウィンドウズ（登録商標）に限定されるものではなく、描画命令を備えるものであれば他のＯＳも適用可能であることは言うまでもない。
【００５５】
スプーラ６０３は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ６０４に印刷ジョブを渡して（図６Ａの矢印ｃ）、ネットワークプリンタ１０３〜１０５等のプリントデバイスに送信させる手順をとる。ここでは、ユーザはあらかじめプルプリントサーバ６０５に印刷データを転送する、ポートモニタ６０４（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示したものとして説明を進める。また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６０４に送信される。ジョブ制御ポートモニタ６０４はプリントサーバ６０５に送信する（図６Ａの矢印ｄ）。
【００５６】
また、プリントサーバ１０１〜１０２において、印刷アプリケーション６０１は、ＡＰＩ６１０を介してプルプリントサーバ６０５に、前記印刷指示した印刷ジョブに対して、印刷ジョブの所有者を示すユーザ識別情報の情報を設定する（図６Ａの矢印ｅ）。
【００５７】
プルプリントサーバ６０５は、印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プリントデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、プリンタデバイスに対して所定の命令をする機能も備える。これは、複数のネットワークプリンタ１０３〜１０５のデバイス情報やジョブ情報を管理する機能に相当する。
【００５８】
そして、ネットワークプリンタ・サーバ５２０において、プルプリントユーザがユーザ識別情報を伴うジョブ一覧要求を送信する（図６Ｂの矢印ｆ）。これに応答して、プルプリントサーバ６０５は、ユーザ識別情報に該当する一連のジョブ情報の一覧を返送する（図６Ｂの矢印ｇ）。プルプリントユーザは、ジョブの一覧から必要なジョブを選択すると、プルプリント要求を発行する（図６Ｂの矢印ｈ）。このとき、以降詳細に説明する手段により、ネットワークプリンタ・サーバ５２０では、ユーザが選択したジョブのジョブチケットとユーザが指定するユーザ個別のジョブチケット、プリンタデバイスの能力を表すデバイス能力ジョブチケット比較する。そして、比較結果に基づいてユーザ個別の新たなジョブチケットを作成し、プルプリント要求と共に送信する。
【００５９】
プルプリントサーバ６０５はスケジュールが空くと、ネットワークプリンタ・サーバ５２０に対して印刷ジョブを送信する要求を発行する（図６Ｂの矢印ｉ）。すると、ネットワークプリンタ・サーバ５２０が印刷の準備が完了するとスケジュール許可（スケジュールＵＰ）を送信する（図６Ｂの矢印ｊ）。プルプリントサーバ６０５は、送信するジョブのジョブチケットをプルプリント要求の時に指定されたジョブチケットに変換し、印刷ジョブを送信する（図６Ｂの矢印ｋ）。
【００６０】
印刷ジョブの印刷終了後には、ネットワークプリンタ・サーバ５２０は、印刷データの完了を確認すると印刷完了の通知をプルプリントサーバ６０５に通知したり、また、ネットワークプリンタの状態を通知する（図６Ｂの矢印ｍ）。
【００６１】
（印刷ジョブの流れの例）
次に、図７を用いてアプリケーション６０１からネットワークプリンタまでの印刷ジョブの流れについて説明する。ここで、図６と同じソフトウェア構成について同じ参照番号を付与しており、その機能については詳説しない。
【００６２】
図７に示すように、概念的には、プリンタドライバ６０２、スプーラ６０３、ジョブ制御ポートモニタ６０４は、ネットワークプリンタ１０３，１０４ごとに用意されている。ＯＳがウィンドウズ（登録商標）の場合には、これらをまとめてウィンドウズ（登録商標）印刷システム７００と称する場合もある。
【００６３】
プルプリントサーバ６０５には、プリンタドライバ６０２に対応する数のプリントキュー７０１Ａ、７０１Ｂが含まれている。また、ネットワークプリンタ１０３，１０４からのプルプリント要求により決定した宛先のネットワークプリンタ１０３，１０４に印刷データを送信する、ユニバーサル出力ポート７０２が含まれている。
【００６４】
印刷を行なう場合、アプリケーション６０１は、印刷ジョブにユーザ識別情報を指定して印刷指示を発行する。この印刷指示に基づいてプリンタドライバ６０２によって生成された印刷ジョブが、ジョブ制御ポートモニタ６０４からプルプリントサーバ６０５に渡されると、その印刷ジョブ情報はプリントキュー７０１Ａ又は７０１Ｂに保持される。
【００６５】
ネットワークプリンタ１０３，１０４からプルプリント要求が発行されると、プルプリント要求を発行したプリンタの宛先を指定して、ユニバーサル出力ポート７０２に印刷ジョブの出力指示を出す。ユニバーサル出力ポート７０２は、出力指示を受け付けると、指定された宛先に該当するネットワークプリンタ１０３，１０４の後述するスケジューラに対してスケジュールの要求を発行する。ネットワークプリンタの後述するスケジューラは、自身が持つスケジューリング機能に基づいて複数のプリントプリントサーバ１０１〜１０２から受け付けたジョブのスケジューリング処理を行い、ユニバーサル出力ポート７０２に対して印刷指示を発行する。印刷指示を受け付けた出力ポート７０２はネットワークプリンタ１０３，１０４に印刷データを送信する。その際、プルプリント要求に指定されたジョブ毎のジョブチケットが指定されれば、指定されたジョブチケットに変更して印刷データを送信する。
【００６６】
上記説明したように、本例では、ジョブのジョブチケット、ユーザ個別のジョブチケット、デバイス能力のジョブチケットから新たなジョブチケットを作成する処理は、ネットワークプリンタ・サーバ５２０で行っている。しかし、かかる処理をプルプリントサーバ６０５で行うことも可能であるのはいうまでもない。
【００６７】
（ジョブ管理キューの例）
図８は、プルプリントサーバ６０５が管理する、印刷データとジョブ情報と、複数のジョブ情報を管理するジョブ管理キューを表している。
【００６８】
１２０２は、印刷アプリケーション６０１が印刷したジョブの情報とデバイススケジューラにジョブイベントを登録すると通知される他のサーバの印刷ジョブのジョブ情報である。ジョブ情報１２０２には、印刷ジョブのドキュメント名１２０２ａ、ジョブＩＤ１２０２ｂ、ユーザ名１２０２ｃが含まれる。また、ファイルパス１２０２ｄ、印刷ジョブの状況を表すジョブ状態１２０２ｅ、印刷アプリケーションがジョブに設定するユーザ識別情報１２０２ｆ、印刷データに含まれるジョブデータＩＤ１２０２ｇが含まれる。
【００６９】
ジョブ状態１２０２ｅは、プリントサーバ１０１〜１０２が印刷を開始してからジョブがプリンタから無くなるまでの状態を表している。例えば、スプール中、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。ファイルパス１２０２ｄは、印刷データ１２０３が保存された場所が設定される。ジョブデータＩＤ１２０２ｇは、印刷データに含まれるジョブのＩＤで、デバイススケジューラからのジョブイベントに設定される通知される情報である。
【００７０】
１２０３は、プリントドライバが作成した印刷データの例を示す。印刷データ１２０５は、プリンタデバイスが解釈して描画を行うためのデータである。ジョブチケット１２０４は、印刷する際に印刷データを制御するパラメータ郡であり、その一例が示されている。
【００７１】
１２０１は、複数のジョブ情報１２０２を管理する管理キューであり、自サーバの印刷アプリケーション６０１から印刷したジョブのジョブ情報が登録される。
【００７２】
（プリンタキューの例）
図９は、プルプリントサーバ６０５が管理するプリンタキューの情報を表している。
【００７３】
１３０１は、ジョブ制御プリンタサービスが管理するそれぞれのプリンタキューの情報を表していて、プリンタドライバ６０２に該当するプリンタ名１３０１ａ、プリンタドライバ名１３０１ｂ、プリンタタイプ１３０１ｃなどの情報が含まれている。
【００７４】
＜本実施形態のネットワークプリンタのソフトウエア構成例＞
図１０は、本実施形態のネットワークプリンタ内の制御機器であるネットワークプリンタ・サーバ５２０およびプリンタコントローラ５４０の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。なお、上記各制御プログラムは各制御機器のCPUによってプログラムが解析され処理される。
【００７５】
８０１は、ネットワークプリンタ・サーバ５２０の基本的なデータの入出力制御を統括するオペレーティングシステムである。さらに、前記オペレーティングシステム８０１内には、プログラム/データ記憶部５０９との入出力制御を行なうファイルシステム８０５を内包している。また、プリンタコントローラ５１９と拡張インタフェース５１７を介して通信制御を行なう拡張インタフェースドライバ８０７を内包している。更に、ローカルエリアネットワーク(LAN５１２)の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行なうネットワークインタフェースドライバ８０６を内包している。
【００７６】
８０２は、アプリケーション・プログラム・インタフェース(API)である。ネットワークプリンタ・サーバ５０２で動作するユーザアプリケーション８０３のアプリケーションプログラムに対して、前記オペレーティングシステムが備える各種機能を提供する。また、ネットワークプリンタ・サーバ５２０やユーザアプリケーションの登録・管理を行う管理アプリケーション等のアプリケーションプログラムに対して、前記オペレーティングシステムが備える各種機能を提供する。また、前記アプリケーションプログラムインタフェース８０２で提供される機能は、印刷データの送受信機能を提供するデータ転送API、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行なうリソース制御APIを備える。また、ネットワークプリンタ・サーバ５２０の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御API、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御APIを備える。更に、ネットワークプリンタ・サーバ５２０の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行なうプリントサーバ制御APIを備える。
【００７７】
８１２は、プリンタコントローラ５１９の各種処理制御を統括するオペレーティングシステムである。オペレーティングシステム８１２は、内部にプリントエンジンとの通信制御を行なうプリントエンジン制御部８１４を内包している。また、機種依存リソース/プログラム記憶部８１６との入出力制御を行なうファイルシステム８１５を内包している。機種依存リソース/プログラム記憶部８１６には、ネットワークプリンタ・サーバ５２０から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースが記憶される。また、ネットワークプリンタ・サーバ上で動作する機種依存アプリケーションプログラム等が記憶される。
【００７８】
８１３は、拡張インタフェース制御部であり、拡張インタフェース５１７を介してネットワークプリンタ・サーバ５２０との通信制御を行なう。さらに、前記拡張インタフェース制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インタフェース、機種依存リソース/プログラム記憶部５０９に記憶された各種データの入出力を制御するリソース制御論理インタフェースを備えている。また、ネットワークプリンタ・サーバ５２０の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御論理インタフェース、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インタフェースを備えている。そして、各論理インタフェースを介してプルプリントサーバ５２０から要求された命令をオペレーティングシステム８１２に対して転送し、その処理結果をネットワークプリンタ・サーバ５２０に対して返信する。
【００７９】
ＵＳＢ制御部５１９は、図５のＩ／Ｏ５１９に相当し、ＵＳＢケーブル８１９で接続された外部機器である認証情報読み取り装置５３０を介し、認証情報記憶媒体５３０ａからユーザ識別情報を取得する。
【００８０】
８１１は、ネットワークインターフェースドライバ８０６がＬＡＮ１０６を介してプリントサーバ１０１〜１０２からの受信の通知を受け付けるネットワーク制御部である。ネットワーク制御部８１１は、どのサーバからの通信であるかを判断することや、通信の制御を行うことができるモジュールである。
【００８１】
８１０は、プリントサーバ１０１〜１０２が送信する印刷データを受け付けるプロトコルを制御するモジュールであり、受け付けた印刷データをプリンタコントローラに渡すことができる。
【００８２】
また、アプリケーション８０３は、プリントコントローラ５１９のプログラム記憶部８１６またはネットワークプリンタ・サーバ５２０のプログラム記憶部８０８に格納される。ネットワークプリンタ・サーバ５２０が起動すると、プログラム記憶部８０８に格納されたアプリケーションが持つライセンスと、ライセンス記憶部８０９やプログラム記憶部８１６やライセンス記憶部８１７が持つライセンスと比較する。そして、一致しているかどうかを判断する。一致していた場合は、適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリンタ・サーバ５２０のRAM５１４にロードされる。
【００８３】
（ユーザアプリケーション８０３の構成例）
次に、本印刷システムのスケジューリング機能やプリントサーバ１０１〜１０２から受け付けた印刷ジョブの管理機能を持つデバイススケジューラ９００とプルプリントエージェント９０６のソフトウェア構成について説明する。
【００８４】
（デバイススケジューラ９００の構成例）
９０１は、印刷するプリントサーバ１０１〜１０２の接続状況や、プリントサーバ１０１〜１０２に通知すべき情報を管理する通信接続管理部９０１であり、接続しているサーバのサーバ情報１００２をサーバ管理キュー１００１で管理する。通信接続管理部９０１は、プログラムアプリケーションインターフェース８０２のデータ転送ＡＰＩ、ネットワークインターフェースドライバ８０６を経由してサーバと通信を行う。
【００８５】
９０２は、プリントサーバ１０１〜１０２から受け付けた印刷ジョブのスケジューリングを行うスケジュール管理部であり、ジョブ管理部９０３、デバイス管理部９０４を持つ。ジョブ管理部９０３は、プリントサーバ１０１〜１０２が発行したジョブ一覧要求や、スケジュール要求や、プリントサーバ１０１〜１０２が印刷したジョブを管理する。ジョブ管理部９０３は、サーバが印刷するジョブの情報１２０２をジョブ管理キュー１２０１で管理している。デバイス管理部９０４は、プリンタコントローラ５１９が持つプリンタの状態や受け付けた印刷ジョブの状態をイベントハンドラ９０５経由で受け付ける。デバイス管理部９０４は、プリンタコントローラ５１９から受け付けたイベントを通信接続管理部９０１やジョブ管理部９０３に通知する。
【００８６】
（プルプリントエージェント９０６の構成例）
９０７はＵＳＢ管理部であり、ＵＳＢ制御部５１９を介して認証情報記憶媒体５３０ａからユーザ識別情報やプルプリントサーバのアドレスを取得し、サーバ通信部９０８に渡す。デバイス管理部９０９は、デバイスのアドレス情報等を取得しサーバ通信部９０８に渡す。サーバ通信部９０８はｍ取得した情報をプルプリントサーバ６０５に送信する。
【００８７】
９０９はデバイス管理部であり、プリンタデバイスのパネルにプルプリントサーバから取得したジョブ一覧を表示したり、ユーザがジョブを選択したときに選択したジョブを認識する。図１１Ｂは、表示するジョブ一覧の例９１１を示す図である。
【００８８】
９１０はジョブ管理部であり、認証情報記憶媒体５３０ａから取得したユーザジョブチケット、デバイス管理部から取得したデバイスの能力をあらわすジョブチケット、プルプリントサーバに保存されたジョブのジョブチケットを比較する。そして、比較結果から新たなジョブチケットを作成する。
【００８９】
（サーバ管理キューの構成例）
図１２は、通信接続管理部９０１が管理する情報を示すもので、プリントサーバ１０１〜１０２のサーバ情報１００２と、複数の接続するプリントサーバ１０１〜１０２のサーバ情報１００２を管理するサーバ管理キュー１００１である。
【００９０】
１００２は、接続するサーバ毎に接続管理部が割り振ったサーバＩＤ１００２ａ、接続するプリントサーバ１０１〜１０２のＩＰアドレス１００２ｂ、接続するサーバが登録したイベントの種類１００２ｃなどの情報を持つサーバ情報である。イベントの種類１００２ｃとは、プリンタコントローラが発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。
【００９１】
１００１は、接続したプリントサーバ１０１〜１０２のサーバ情報をキューの形式で保持する管理キューである。サーバとのセッションが開始されると、該当するサーバの情報が本管理キューに登録され、切断すると該当するサーバ情報が削除されるようになっている。
【００９２】
（ジョブ管理キューの構成例）
図１３は、ジョブ管理部９０３が管理する情報で、プリントサーバ１０１〜１０２が印刷すべく発行したスケジュール要求に対応するジョブ情報１１０２と、複数発生するジョブ情報を管理するジョブ管理キュー１１０１を示す図である。
【００９３】
１１０２は、プリントサーバ１０１〜１０２が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。ジョブ情報１１０２は、印刷ジョブのドキュメント名１１０２ａ、ジョブ管理部９０３が発行したジョブＩＤ１１０２ｂ、サーバで印刷を開始したユーザ名１１０２ｃ、ジョブのページ数１１０２ｄが登録される。また、印刷ジョブの状況を表すジョブ状態１１０２ｅ、プリントサーバ１０１〜１０２が転送する印刷データに含まれるジョブデータＩＤ１１０２ｆ、印刷したサーバのＩＰアドレス１１０２ｇが登録される。
【００９４】
ジョブ状態１１０２ｅは、プリントサーバ１０１〜１０２が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。ジョブデータＩＤ１１０ｆは、印刷データに含まれるジョブのＩＤで、プリンタコントローラ５１９内でのジョブ状態を通知するときなど、付加させるＩＤである。
【００９５】
１１０１は、複数のジョブ情報１１０２を管理する管理キューである。プリントサーバ１０１〜１０２からのスケジュール要求を受け付けるとジョブ情報１１０２が管理キューに登録され、印刷ジョブが印刷終了すると、該当するプリンタ情報が削除されるようになっている。
【００９６】
（サーバへの送信情報の構成例）
図１４は、認証情報読み取り装置５３０で認証情報記憶媒体５３０ａを検知した後に、プルプリントエージェント９０６がプルプリントサーバ６０５に送信する情報である。
【００９７】
デバイスアドレス１４０２ａは、プルプリントエージェントが登録されているプリンタデバイスのＩＰアドレス情報などである。ユーザ識別情報１４０２ｂは、認証情報記憶媒体５３０ａから読み取った情報である。
【００９８】
＜本実施形態の認証情報記憶媒体の記憶情報例＞
図１５は、認証情報記憶媒体５３０ａに含まれる情報の例を示す図である。
【００９９】
ユーザ識別情報１５００は、認証情報記憶媒体５３０ａの所有者を識別する情報が含まれる。プルプリントサーバ情報１５０１は、プルプリントする印刷データを管理するサーバのＩＰアドレスなどの情報が含まれる。
【０１００】
ジョブチケット１５０２は、プルプリントの際、ユーザが希望する印刷設定を指示するためのものである。ジョブチケットはジョブの種類毎にユーザが希望する出力形態に関するユーザ固有の印刷属性が設定されている。このジョブチケット１５０２は、プルプリントする際、プルプリントサーバ６０５に登録されているジョブの印刷設定を置き換えるためのものである。
【０１０１】
各ジョブチケット１５０３の、面付け、ステープル位置、用紙サイズ、両面、部数などのジョブの属性は、印刷プリンタデバイスで印刷する際に使用される出力の設定である。また、入れ替え条件１５０３ａは、ユーザがプルプリントを指定するジョブを選択した際に必要な条件を表すものである。すなわち、プリントサーバに登録されたジョブチケットとプリンタデバイスの能力と、認証情報記憶媒体８２１に登録されたジョブチケットを比較する際に使用される。
【０１０２】
＜本実施形態の印刷システムの動作例＞
以下、本実施形態の印刷システムにおける、サーバ及びネットワークプリンタの動作手順を、通信シーケンスに従って順に説明する（図６Ａ、図６Ｂ参照）。  （印刷ジョブ登録：プリントサーバ）
図１６では、印刷アプリケーション６０１がプルプリント用の印刷ジョブをプルプリントサーバ６０５に登録するするまでの処理の流れを示す図である。
【０１０３】
ステップＳ１６０１では、プルプリント用印刷ジョブを発行する必要が発生すると、図６Ａで示したように印刷処理を開始する。
【０１０４】
ステップＳ１６０２において、プリンタドライバ６０２は、プリンタで出力する際に必要なジョブチケットと印刷データを作成し、ステップＳ１６０３でジョブ制御ポートモニタ６０４にデータを送信する。
【０１０５】
ステップＳ１６０３において、印刷された印刷データをジョブ制御ポートモニタ６０４が受け付けると、図７で説明したようにプリントキュー７０１Ａ又はＢにジョブを登録する。プリントキュー７０１Ａ又はＢは、ジョブ情報１２０２を作成し、関連する情報を設定する。また、そのジョブ情報１２０２をジョブ管理キュー１２０１で管理する。
【０１０６】
ステップＳ１６０４において、印刷アプリケーション６０１は、印刷したジョブに対して該当するユーザ識別情報を通知すると、ステップＳ１６０５においてプルプリントサーバ６０５は、該当するジョブ情報１２０２のユーザ識別情報を設定する。
【０１０７】
ステップＳ１６０６では、プリントキュー７０１Ａ又はＢは印刷ジョブの受け付けを終了すると、印刷ジョブを停止状態とし印刷ジョブを保持する。
【０１０８】
以上のように、プルプリントサーバ６０５は、印刷アプリケーション６０１からユーザ識別情報と関連した印刷ジョブを保持し、プルプリントエージェント９０６からのプルプリント要求を待機することになる。
【０１０９】
（プルプリント要求：ネットワークプリンタ・サーバ）
図１７Ａは、プルプリントユーザが認証記憶媒体５３０ａを認証読み取り装置５３０にセットしてから、プルプリントエージェント９０６がプルプリントサーバ６０５にプルプリント要求を発行する処理の流れを示すフローチャートである。
【０１１０】
ステップＳ１７０１では、プルプリントユーザが認証記憶媒体５３０ａを認証読み取り装置５３０にセットすると、認証読み取り装置５３０がそれを検知する。ステップＳ１７０２において、図１５で示す認証記憶媒体５３０ａの情報を読み取る。
【０１１１】
ステップＳ１７０３では、プルプリントサーバ６０５から、図１５及び図２５に示すようなユーザ識別子に対応したジョブリスト、ジョブチケットの一覧を取得する。ステップＳ１７０４において、図１１Ｂのジョブの一覧９１１をパネルに表示する。
【０１１２】
プルプリントユーザは、ステップＳ１７０５において、ジョブの一覧から印刷したジョブを選択する。さらに、ステップ１７０６において、選択されたジョブのジョブ種に対応するジョブチケットが、認証記憶媒体５３０ａから取得したジョブチケットに存在するかを確認する。該当するジョブチケットがあればステップＳ１７０７に移行する。該当するジョブがなければ、ステップＳ１７０９に処理を移行し、ジョブチケットをプルプリントサーバ６０５に送信せずにプルプリント要求を発行する。
【０１１３】
ステップＳ１７０７では、ユーザに選択されたジョブのジョブチケットと認証情報記憶媒体５３０ａに登録された入れ替え条件１５０３ａを元に、認証情報記憶媒体５３０ａに登録されたユーザのジョブチケットとデバイスの能力を比較する。そして、比較結果に基づいて、ステップＳ１７０８でジョブチケットを作成する。さらに、ステップＳ１７０９において作成したジョブチケットをプルプリントサーバ６０５に送信する。
【０１１４】
（ジョブチケット比較及び作成の手順例）
かかるステップＳ１７０７及びＳ１７０８のジョブチケット比較及び作成について、図１７Ｂのフローチャートで更に詳細を示す。
【０１１５】
まず、ステップＳ１７５１で、ジョブリストから選択された印刷ジョブのジョブチケットを取得する。本例では、ジョブリストのジョブチケットを元にそれを変更する例を示すが、これに限定されない。認証情報記憶媒体５３０ａから読み出されたユーザ作成のジョブチケットを元にしてもよい。
【０１１６】
ステップＳ１７５２で、ジョブチケットのジョブリストとユーザ作成との共通項目を取得する。更に、ステップＳ１７５３で、かかる項目に関連するデバイスの能力を取得する。次に、ステップＳ１７５４で、入れ替え条件１５０３ａを参照しながら、ジョブチケット／ユーザ作成／デバイス能力のいずれを優先してジョブチケットを作成するかを判断する。
【０１１７】
ステップＳ１７５５は、ステップＳ１７５４における判断結果による分岐である。ジョブリストを優先する場合は変更をせずにステップＳ１７５８に進む、認証情報記憶媒体５３０ａから読み出されたユーザ作成を優先する場合は、ステップＳ１７５６に進んでジョブチケットの対象項目をユーザ作成に変更する。デバイスの能力を優先する場合は、ステップＳ１７５７に進んでジョブチケットの対象項目をデバイスの能力に変更する。
【０１１８】
ステップＳ１７５８では、残りの共通項目があるか否かを判定し、残りがあればステップＳ１７５２に戻って処理を繰り返す。残りが無ければリターンする。
【０１１９】
（ジョブチケット作成の具体例）
以下、ジョブチケット作成の具体例の数例を示す。
【０１２０】
例えば、入れ替え条件１５０３ａが"画像データ拡大縮小不可"という条件の場合の例について説明する。
【０１２１】
ユーザが選択したジョブの出力サイズがB5、認証情報記憶媒体に登録されたユーザのジョブチケットでの出力サイズがA3、デバイスの能力がA4出力のみだと仮定する。
【０１２２】
入れ替え条件が"画像データ拡大縮小不可能"の場合には、A4出力のジョブチケットを作成する。
【０１２３】
また、入れ替え条件が、"ユーザ指定＜デバイス能力（デバイス能力がユーザ指定を含む）"というように、認証情報記憶媒体に登録されたジョブチケットの設定がデバイスで出力可能であるとする。その場合は、認証情報記憶媒体に登録されたユーザのジョブチケットと同じ物を作成する。
【０１２４】
また、入れ替え条件が、"ユーザ指定＞デバイス能力（ユーザ指定がデバイス能力を超える）"というように、認証情報記憶媒体に登録されたジョブチケットの設定がデバイスで出力可能で無いとする。その場合は、認証情報記憶媒体に登録されたジョブチケットの設定のうち、デバイスで出力できない設定のみをデバイスの能力に変更し、ジョブチケットを作成する。例えば、認証情報記憶媒体に登録されたユーザのジョブチケットでの出力サイズがA3、デバイスの能力がA4出力のみだと仮定すると、A4出力の設定のジョブチケットを作成する。
【０１２５】
ステップＳ１７５５におけるプルプリントサーバ５０６に保存されたジョブのジョブチケットと、認証情報記憶媒体に登録されたジョブチケットと、デバイスの能力との比較においては、次のような判断をする。デバイスの消耗品に関するような設定のものは、ジョブのジョブチケットの設定、または、認証情報記憶媒体に登録されたジョブチケットを優先させる。また、デバイスの機能に関するものは、デバイスの能力を優先させる。例えば、用紙サイズのようにデバイスの使用状況によって代わる属性は、ジョブリストまたは認証情報記憶媒体の設定を用いる。一方、2イン1面付け設定のようなデバイスの能力に関する属性のものはデバイスの設定に差し替える。
【０１２６】
このように、本実施形態の仕組みでは、様々なジョブチケットの入れ替え条件１５０３ａを登録する。このため、ユーザに選択されたジョブのジョブチケットと、認証情報記憶媒体に登録されたユーザのジョブチケットと、デバイスの能力とを比較して、ユーザ個別のジョブチケットを作成することが可能となる。
【０１２７】
（印刷ジョブの制御：プルプリントサーバ）
図１８では、プルプリントサーバ６０５が、プルプリントエージェント９０６からジョブリスト要求を受け付けてから印刷データの転送までの流れを示している。
【０１２８】
ステップＳ１８０１では、プルプリントエージェント９０６からのジョブリスト要求か、プルプリント要求か、または、デバイススケジューラ９００からのスケジュールアップの受け付けを待機している。
【０１２９】
プルプリントエージェント９０６からのジョブリスト要求が来れば、ステップＳ１８０２に処理を移行する。プルプリントエージェント９０６からのプルプリント要求が来れば、ステップＳ１８０５に処理を移行する。スケジュールＵＰのコマンドを受け付けると、ステップＳ１８０９に処理を移行する。
【０１３０】
ステップＳ１８０２では、ジョブリスト要求に付加されている情報、デバイスアドレス、ユーザ識別情報を取得する。ステップＳ１８０３では、図１６で登録された印刷ジョブの中で、ステップＳ１８０２で取得したユーザ識別情報に該当するジョブが存在するかを検索し、該当するジョブのリストを作成する。ステップＳ１８０４において、デバイスアドレスに対してリストを送信し処理をステップＳ１８０１に移行する。
【０１３１】
ステップＳ１８０５では、プルプリント要求に付加されている情報、デバイスアドレス、ユーザ識別情報、ジョブＩＤ、ジョブチケットを取得する。ステップＳ１８０６では、図１６で登録された印刷ジョブの中で、ステップＳ１８０５で取得したジョブＩＤを検索する。該当するジョブが存在する場合には、Ｓ１８０７に移行する。該当するジョブが存在しない場合は、ステップＳ１８０８でプルプリントエージェント９０６にエラーを通知し、ステップＳ１８０１に処理を移行する。
【０１３２】
ステップＳ１８０７では、デバイススケジューラに接続し、接続要求コマンドを発行する。サーバが接続要求を発行すると、サーバの情報がデバイススケジューラのサーバ管理キューに登録され、以降、サーバとデバイススケジューラ間で情報のやり取りを行うことができる。ステップＳ１８０９では、デバイススケジューラに対して、ジョブイベント、デバイスイベントを登録する。ジョブイベントを登録すると、自サーバが印刷するジョブや、他のサーバが印刷するジョブの状態の変化の通知がデバイススケジューラ６０５より通知されることになる。また、デバイスイベントを登録すると、プリンタデバイス６０６の状態の変化を通知されるようになる。
【０１３３】
ステップＳ１８１０では、デバイススケジューラで管理しているジョブ管理キューに登録されているジョブのリストを取得する。このジョブリストとジョブイベントにより、デバイススケジューラが管理するジョブの印刷状況を把握することが可能となる。
【０１３４】
以上の処理により、印刷する準備が整い、ステップＳ１８１１において印刷するジョブのスケジュール要求をデバイススケジューラに行い、ステップＳ１８０１で次の指示を待機する。この際、ステップＳ１８０６で見つけた該当ジョブが複数存在すれば、複数のジョブのスケジュール要求を発行する場合もある。
【０１３５】
ステップＳ１８０１において、デバイススケジューラから印刷データの転送指示であるスケジュールＵＰのコマンドを受け付けると、ステップＳ１８１２に処理を移行する。
【０１３６】
ステップＳ１８１２では、印刷指示を受けたジョブの転送を開始する。印刷データの送信が開始前に、ステップＳ１８１３において、デバイススケジューラに転送が開始することを通知するために、転送開始状態を通知する。ステップ１８１４において、ステップＳ１８０５において取得したジョブチケットを該当するジョブのジョブチケットと差し替える。さらに、ステップＳ１８１５で印刷データの転送を行い、転送が終了すると、ステップＳ１８１６においてデバイススケジューラに転送が終了したことを通知し、処理をステップＳ１８０１に移行する。
【０１３７】
（スケジュール制御：スケジュール管理部）
図１９では、プルプリントサーバ６０５のスケジュール要求の受け付けから、スケジュールＵＰを発行するまでのデバイススケジュラのスケジュール管理部の処理の流れについて説明する。
【０１３８】
ステップＳ１９０１において、プルプリントサービス６０５からの接続を受け付けると、スケジュール要求の通知なのか、転送済み状態の通知なのかを判断する。スケジュール要求の通知であれば、ステップＳ１９０２に処理を移行し、転送済み状態の通知であればステップＳ１９０３に処理を移行する。ステップＳ１９０２では、ジョブ管理部９０３で発行したジョブＩＤを設定したジョブ情報を作成し、スケジュール要求に付加された情報をジョブ情報に設定して、スケジュール要求を受け付けた順でジョブ管理キューに登録する。
【０１３９】
次に、ステップＳ１９０３で、ジョブ管理キューに登録されたジョブ情報のジョブ状態を確認する。ジョブ状態がスケジュールＵＰ、転送中のものがあれば、既にあるサーバに印刷データを転送するように指示しているため、ステップＳ１９０１に処理を移行する。ジョブ状態がスケジュールＵＰ、または転送中のものがなければ、ステップＳ１９０４に処理を移行し、スケジュールＵＰの発行の準備を行う。
【０１４０】
ステップＳ１９０４では、ジョブ管理キューで先にスケジュール要求を受け付けた順からジョブを確認し、スケジュール待機中のジョブが見つかるとステップＳ１９０５に処理を移行する。スケジュール待機中のジョブが無ければ、ステップＳ１９０１に処理を移行する。
【０１４１】
更に、ステップＳ１９０５で、該当するサーバに対して印刷データの転送を開始させるスケジュールＵＰを通知し、ステップＳ１９０６で、該当するジョブ情報のジョブ状態をスケジュールＵＰ状態に更新し、ステップＳ１９０１に処理を移行する。
【０１４２】
（イベント処理：プルプリントサーバ）
図２０は、デバイススケジューラからの通知やコマンドを受け付けた場合のプルプリントサーバ６０５の処理の流れについて説明している。
【０１４３】
ステップＳ２００１では、デバイススケジューラからジョブイベントの通知、または、ジョブリストが返送されてくるかを判断している。ジョブイベントが来るとステップＳ２００２に処理を移行し、ジョブリストが来るとステップＳ２００８に処理を移行する。
【０１４４】
ステップＳ２００８では、ジョブリストが返送されてくると、プルプリントサービス６０５が管理するジョブ管理キュー１７０１にジョブリストから得られたジョブ情報を設定する。
【０１４５】
ステップＳ２００２では、デバイススケジューラから通知されたジョブイベント通知の内、ジョブ完了通知であるか、ジョブ状態変更通知であるかを判断する。ジョブ状態変更通知であれば、ステップＳ２００９において、該当するジョブ情報のジョブ状態を更新する。ステップＳ２００２において、受け付けたイベント通知がジョブ完了通知であれば、ステップＳ２００３において、該当するジョブ情報を、ジョブ管理キュー１７０１から削除する。
【０１４６】
ステップＳ２００４では、ジョブ管理キュー１７０１に、印刷が終了していない自サーバのジョブが残されているかを確認する。残されていれば、まだデバイススケジューラとのやり取りが必要であるため、デバイススケジューラとの接続を継続するために、ステップＳ２００１に処理を移行する。ステップＳ２００４で、自サーバのジョブがなければ、ステップＳ２００５に処理を移行し、デバイススケジューラとの接続を終了するための処理を開始する。
【０１４７】
ステップＳ２００５では、接続を開始したときにデバイススケジューラに登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラは、この依頼によりサーバ情報のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジュラーが管理するジョブの状態が変化されてもイベントが通知されてくることはない。
【０１４８】
次に、ステップＳ２００６において、デバイススケジューラに対して切断の要求を発行する。デバイススケジューラが切断要求を受け付けると、サーバ管理キューから該当するサーバ情報を削除する。ステップＳ２００７では、デバイススケジューラとのセッションを切断する処理を行い、処理をステップＳ２００１で待機する。
【０１４９】
（イベント処理：ジョブ管理部）
図２１では、後述するデバイス管理からのジョブ状態通知イベントの受け付けからプルプリントサーバ６０５からのジョブリスト要求の受け付けに対するジョブ管理部９０３の処理を示している。
【０１５０】
ステップＳ２１０１では、通信接続管理部９０１やデバイス管理部９０４からの通知を受け付けると、デバイス管理部９０４からのジョブ状態通知であるか、ジョブリスト要求であるかを判断する。
【０１５１】
デバイス管理部９０４からのジョブ状態通知であれば、ステップＳ２１０２に処理を移行し、該当するジョブ情報のジョブ状態を更新する。更に、ステップＳ２１０３に処理を移行し、印刷完了の通知であるかを判断する。印刷完了でなければ処理をステップＳ２１０４に移行し、接続管理部にジョブの状態のイベントをサーバに発行するように通知する。
【０１５２】
ステップＳ２１０３で、印刷完了の通知であれば、ステップＳ２１０５に処理を移行し、ジョブ管理キューから該当するジョブを削除する。次いで、ステップＳ２１０６で、接続管理部にジョブの完了イベントをサーバに発行するように通知し、処理をステップＳ２１０１に移行する。
【０１５３】
ステップＳ２１０１で、プルプリントサービス６０５からのジョブリスト要求の受け付けると、ステップＳ２１０７に進む。ステップＳ２１０７において、ジョブ管理キューに登録されたジョブ情報のリストを要求元のサーバに送信するように接続管理部にジョブ情報リストを通知する。
【０１５４】
（イベント処理：デバイス管理部）
図２２は、プリンタコントローラからのデバイス状態、ジョブ状態通知をイベントハンドラを経由して受け付け、ジョブ管理部９０３や通信接続管理部９０１に通知するデバイス管理部９０４の処理について記載する。
【０１５５】
ステップＳ２２０１では、デバイススケジューラが起動するとイベント登録の処理を行う。すなわち、デバイス管理部９０４がイベントハンドラを経由してプリンタコントローラに対して、デバイスの状態が変更した場合や、プリンタコントローラが処理する印刷ジョブの状態が変更した場合に、それらの状態を通知するようにする。
【０１５６】
ステップＳ２２０２では、プリンタコントローラで発生したイベントをイベントハンドラ経由で受け付けると、ジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、ステップＳ２２０３でジョブ管理部９０３にジョブイベントを通知し、ステップＳ２２０２に処理を移行する。デバイスのイベントであれば、処理をステップＳ２２０４に移行し、デバイスの状態をデバイス管理部９０４で保持した後、ステップＳ２２０５で通信接続管理部９０１にデバイスイベントを通知し、処理をステップＳ２２０２に移行する。
【０１５７】
（イベント処理：通信接続管理部）
図２３は、プリントサーバ１０１〜１０２からの要求や通知、デバイス管理部９０４からの通知、ジョブ管理部９０３への要求や通知を処理する通信接続管理部９０１の処理の流れについて記載する。
【０１５８】
ステップＳ２３０１では、プリントサーバ１０１〜１０２やデバイス管理部９０４、ジョブ管理部９０３からの通知や要求を受け付け、どの通知や要求であるかを判断する。
【０１５９】
ステップＳ２３０１において受け付けた要求やイベントが、プリントサーバ１０１〜１０２からの接続要求であれば、ステップＳ２３０２に移行する。ステップＳ２３０２で、サーバ管理キューに通信接続管理部９０１で発行したサーバＩＤと、要求を発したサーバのＩＰアドレスを設定し、サーバ管理キューにサーバ情報を登録する。
【０１６０】
ステップＳ２３０１において受け付けた要求やイベントが、プリントサーバ１０１〜１０２からのイベント登録であれば、ステップＳ２３０３に処理を移行する。ステップＳ２３０３で、該当するサーバ情報の登録イベントに通知するイベントの種類を設定する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。
【０１６１】
ステップＳ２３０１において受け付けた要求やイベントが、デバイス管理部９０４からのデバイスイベントやジョブ管理部９０３からのジョブイベントであれば、ステップＳ２３０４に以降する。ステップＳ２３０４において、これらのイベントを通知すべきサーバを認識するために、サーバ管理キューに登録された全てのサーバ情報から、サーバ情報の登録イベントの設定を参照し通知すべきかどうかを判断する。通知すべきであると判断した場合には、サーバのＩＰアドレスを保持し、ステップＳ１７０５において通知すべき全てのサーバに対してイベントを送信する。
【０１６２】
ステップＳ２３０１において受け付けた要求やイベントが、サーバからの切断要求であれば、ステップＳ２３０６に処理を移行し、サーバ管理キューから該当するサーバのサーバ情報を削除する。
【０１６３】
（本印刷システムでの動作シーケンス例）
図２４は、これまで説明してきた各コンポーネントのフローの全体の流れの概略を示したシーケンス図である。プリントサーバ１０１〜１０２のプルプリントサービス６０５が、ジョブを受け付け後、プリンタデバイス６０６にスケジュール要求を発行するところから、プリンタで印刷が終了するところまでのやり取りについて記載する。なお、図６Ｂを参照されたい。
【０１６４】
プルプリントサービス６０５は、印刷データを受け付けると、デバイススケジューラ９００とセッション接続を開始する（Ｓ１）。
【０１６５】
サーバの情報を通知する接続要求コマンド（Ｓ２）、ジョブ/デバイス状態を通知してもらうためのイベント登録（Ｓ３）、デバイススケジューラがスケジュール管理するジョブの情報を取得するジョブリスト取得コマンド（Ｓ４）を発行する。
【０１６６】
デバイススケジューラは、接続要求を受け付けると、サーバ情報をサーバ管理キューに登録し、イベントの登録を受け付けると該当するサーバ情報の登録イベントに設定する。ジョブリスト要求を受け付けると、ジョブ管理キューに登録されているジョブ情報のリストを送信する。図２５は、ジョブリスト、ジョブチケットの一覧の例２５０１である。
【０１６７】
次に、プリントサーバ１０１〜１０２が印刷を予約するためのスケジュール要求のコマンドを発行する（Ｓ５）。デバイススケジューラはスケジュール要求を受け付けると、ジョブ管理キューにジョブ情報を登録する。ジョブ情報には、ドキュメント名等の情報を設定する。
【０１６８】
デバイススケジューラは、後述する判断でプリンタデバイス６０６が印刷データを受け付けられるようになるとスケジュールＵＰを発行し（Ｓ６）、プルプリントサービス６０５に対して印刷データの送信を開始するように促す。また、スケジュールＵＰを発行すると、ジョブ情報のジョブ状態をスケジュールＵＰ状態に更新する。
【０１６９】
プルプリントサーバ６０５は、スケジュールＵＰを受け付けると、ＬＰＤ/ＲＡＷに印刷データの転送を開始し（Ｓ７）、転送が始まるとデバイススケジューラに対して転送開始の通知を行う（Ｓ８）。
【０１７０】
デバイススケジューラは、転送開始通知を受けると、ジョブ情報のジョブ状態に転送中の状態に更新する。
【０１７１】
ＬＰＤ/ＲＡＷがジョブチケットを含む印刷データを受け付けると、プリンタコントローラにデータを転送する（Ｓ７'）。プリンタコントローラは、ジョブチケットに設定された情報を元にイメージデータを作成して印刷を開始する。プリンタコントローラは、印刷が開始されるとジョブの状態をデバイススケジューラに通知する（Ｓ９）。デバイススケジューラは、サーバ情報の登録イベントの情報を基に、サーバにジョブの印刷状態を通知する（Ｓ９'）。
【０１７２】
また、プルプリントサービス６０５は、印刷データの転送が終了する（Ｓ１０，Ｓ１０'）と、デバイススケジューラに対して、転送終了通知を送信する（Ｓ１１）。デバイススケジューラは、転送終了通知を受けると、ジョブ情報のジョブ状態に転送済の状態に更新する。
【０１７３】
プリンタコントローラで印刷処理が終了すると、ジョブの状態として印刷完了の通知をデバイススケジューラに通知する（Ｓ１２）。デバイススケジューラは、サーバ情報の登録イベントの情報を基に、サーバにジョブの印刷完了の状態を通知する（Ｓ１２'）。
【０１７４】
プルプリントサービス６０５は、上記通知により印刷が完了したことを確認すと、デバイスからの通知が必要なくなるので、デバイススケジューラからのイベント通知の登録を解除要求を発行する（Ｓ１３）。イベント解除要求を受け付けた、デバイススケジューラは、サーバ情報の登録イベントにイベントを通知しない旨の情報を設定する。
【０１７５】
その後、プルプリントサービス６０５は、デバイススケジューラとの接続を終了するための切断要求を発行し（Ｓ１４）、セッションを終了する（Ｓ１５）。デバイススケジューラは、切断要求を受け付けると、サーバ管理キューから該当するサーバ情報を削除し、該サーバとの処理を終了する。
【０１７６】
プルプリントシステムでは、ユーザがプリンタまで出向いて印刷指示を行うをため、その場で印刷設定の変更を行うことは困難である。そのため、以上説明したように、本実施例によれば、認証情報記憶媒体にユーザが好みの、ジョブの種類に応じた印刷設定を予め登録しておく。こうすることで、プルプリントサーバにある印刷設定によらない、好みの出力設定で容易に出力することが可能となり、プルプリントシステムの利便性を向上させることになる。
【０１７７】
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、プリンタなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【０１７８】
又、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１７９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８０】
又、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（OS）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。このような処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１８３】
【図１】本実施形態の印刷システムの全体構成例を示すブロック図である。
【図２】プリントサーバのハードウェア構成例を示すブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】ネットワークプリンタのハードウェア構成例を示すブロック図である。
【図６Ａ】プリントサーバのソフトウェア構成例を示す図である。
【図６Ｂ】プルプリントサーバとネットワークプリンタ・サーバとの通信例を示す図である。
【図７】プリントサーバの印刷時の印刷ジョブの流れの例を示す図である。
【図８】プルプリントサーバが管理するジョブ情報とジョブ管理キューの例を示す図である。
【図９】プルプリントサーバが管理するプリンタキューの情報例を示す図である。
【図１０】ネットワークプリンタのソフトウェア構成例を示す図である。
【図１１Ａ】ユーザアプリケーションのソフトウェア構成例を示す図である。
【図１１Ｂ】印刷ジョブ一覧の表示例を示す図である。
【図１２】デバイススケジューラで管理するサーバ情報とサーバ管理キューの例を示す図である。
【図１３】デバイススケジューラで管理するジョブ情報とジョブ管理キューの例を示す図である。
【図１４】プルプリントエージェントがプルプリントサーバに送信する情報例を示す図である。
【図１５】認証情報記憶媒体が記憶している情報例を示す図である。
【図１６】プルプリントサーバがプルプリントジョブを印刷アプリケーションから受け付ける手順例を示すフローチャートである。
【図１７Ａ】プルプリントエージェントの処理の流れを示すフローチャートである。
【図１７Ｂ】図１７ＡのＳ１７０７及びＳ１７０８の流れを詳細に示すフローチャートである。
【図１８】プルプリントサーバがプルプリント要求を受け付けてから印刷データを送信するまでの処理の流れを示すフローチャートである。
【図１９】デバイススケジューラがジョブを受け付け、スケジュールアップする処理の流れを示すフローチャートである。
【図２０】プルプリントサーバのジョブ転送後の処理を示すフローチャートである。
【図２１】ジョブ管理部のジョブ状態通知イベントの受け付けからジョブリスト要求の受け付けに対する処理を示すフローチャートである。
【図２２】デバイススケジューラのイベント登録処理に関する処理の流れを示すフローチャートである。
【図２３】サーバからの要求や通知、デバイス管理部からの通知、ジョブ管理部９０３への要求や通知を処理する通信接続管理部の処理を示すフローチャートある。
【図２４】プルプリントサーバとデバイススケジューラ、ＬＰＤ／ＲＡＷ、プリンタコントローラ間の印刷シーケンスを示すシーケンス図である。
【図２５】プルプリントサーバから取得するジョブリスト、ジョブチケットの一覧を示す図である。
【図１】
2009037488.tif 000003
【図２】
2009037488.tif 000004
【図３】
2009037488.tif 000005
【図４】
2009037488.tif 000006
【図５】
2009037488.tif 000007
【図６Ａ】
2009037488.tif 000008
【図６Ｂ】
2009037488.tif 000009
【図７】
2009037488.tif 000010
【図８】
2009037488.tif 000011
【図９】
2009037488.tif 000012
【図１０】
2009037488.tif 000013
【図１１Ａ】
2009037488.tif 000014
【図１１Ｂ】
2009037488.tif 000015
【図１２】
2009037488.tif 000016
【図１３】
2009037488.tif 000017
【図１４】
2009037488.tif 000018
【図１５】
2009037488.tif 000019
【図１６】
2009037488.tif 000020
【図１７Ａ】
2009037488.tif 000021
【図１７Ｂ】
2009037488.tif 000022
【図１８】
2009037488.tif 000023
【図１９】
2009037488.tif 000024
【図２０】
2009037488.tif 000025
【図２１】
2009037488.tif 000026
【図２２】
2009037488.tif 000027
【図２３】
2009037488.tif 000028
【図２４】
2009037488.tif 000029
【図２５】
2009037488.tif 000030