(57)【要約】【課題】  印刷ジョブをグループ化して印刷する場合、出力先である印刷装置の排紙面に応じて印刷ジョブの出力順序を制御することができなかった。【解決手段】  出力先の印刷装置の排紙面をプリントサーバが認識し、認識された排紙面に応じてグループ内に含まれる印刷ジョブの印刷装置への送信順序を制御する。【選択図】  図６
2005004798.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷ジョブを複数のクライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき印刷ジョブを管理するジョブ管理手段と、
前記グループ化して順次印刷すべき印刷ジョブの印刷処理時に、前記グループに含まれる各印刷ジョブのスプール先を判断する判断手段と、
前記判断手段により自身のスプーラにスプールされていると判断された印刷ジョブは、スプールされている前記印刷ジョブを印刷装置に送信し、前記判断手段により自身のスプーラにおいてスプールされていないと判断された場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可通知を送信する送信制御手段とを備え、
前記送信制御手段は、出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断し、フェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから送信制御を開始し、フェイスアッププリンタであると判断された場合は、印刷順序の後ろの印刷ジョブから送信制御を開始することを特徴とする情報処理装置。
【請求項２】
前記ジョブ管理手段は、前記グループに含まれる各々の印刷ジョブのスプール状況を管理し、
前記ジョブ管理手段により前記グループに含まれるすべての印刷ジョブがスプールされていると判断された場合に、印刷処理を開始することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
グループ化が指定されている印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列手段を更に有し、
前記ジョブ管理手段は、前記整列手段による前記グループ化が指定されている印刷ジョブの整列状況に基づいて、整列された前記グループ化が指定されている印刷ジョブとグループ化指定のされていない印刷ジョブの出力順序を制御することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
印刷装置における印刷ジョブの状態を認識する認識手段と、
前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブがグループ化指定のない単体の印刷ジョブであった場合、前記単体の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記グループ化指定のされている印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも１つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御手段を備えることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記認識手段は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記認識手段により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更手段を更に有し、
前記変更手段において前記グループ内の印刷ジョブの出力先を変更する場合、前記グループに含まれる全ての印刷ジョブの出力先を変更することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記変更手段は、前記認識手段によって前記印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記変更手段は、前記認識手段によって印刷要求時に指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記変更手段により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする請求項６乃至７のいずれかに記載の情報処理装置。
【請求項１０】
複数の印刷ジョブを複数のクライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき印刷ジョブを管理するジョブ管理工程と、
前記グループ化して順次印刷すべき印刷ジョブの印刷処理時に、前記グループに含まれる各印刷ジョブのスプール先を判断する判断工程と、
前記判断工程により自身のスプーラにスプールされていると判断された印刷ジョブは、スプールされている前記印刷ジョブを印刷装置に送信し、前記判断工程により自身のスプーラにおいてスプールされていないと判断された場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可通知を送信する送信制御工程とを備え、
前記送信制御工程は、出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断し、フェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから送信制御を開始し、フェイスアッププリンタであると判断された場合は、印刷順序の後ろの印刷ジョブから送信制御を開始することを特徴とする印刷制御方法。
【請求項１１】
前記ジョブ管理工程は、前記グループに含まれる各々の印刷ジョブのスプール状況を管理し、
前記ジョブ管理工程により前記グループに含まれるすべての印刷ジョブがスプールされていると判断された場合に、印刷処理を開始することを特徴とする請求項１０に記載の印刷制御方法。
【請求項１２】
グループ化が指定されている印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列工程を更に有し、
前記ジョブ管理工程は、前記整列工程による前記グループ化が指定されている印刷ジョブの整列状況に基づいて、整列された前記グループ化が指定されている印刷ジョブとグループ化指定のされていない印刷ジョブの出力順序を制御することを特徴とする請求項１０または１１に記載の印刷制御方法。
【請求項１３】
印刷装置における印刷ジョブの状態を認識する認識工程と、
前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブがグループ化指定のない単体の印刷ジョブであった場合、前記単体の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記グループ化指定のされている印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも１つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御工程を備えることを特徴とする請求項１０乃至１２のいずれかに記載の印刷制御方法。
【請求項１４】
前記認識工程は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする請求項１３に記載の印刷制御方法。
【請求項１５】
前記認識工程により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更工程を更に有し、
前記変更工程において前記グループ内の印刷ジョブの出力先を変更する場合、前記グループに含まれる全ての印刷ジョブの出力先を変更することを特徴とする請求項１４に記載の印刷制御方法。
【請求項１６】
前記変更工程は、前記認識工程によって前記印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする請求項１５に記載の印刷制御方法。
【請求項１７】
前記変更工程は、前記認識工程によって印刷要求時に指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする請求項１５または１６に記載の印刷制御方法。
【請求項１８】
前記変更工程により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする請求項１５乃至１７のいずれかに記載の印刷制御方法。
【請求項１９】
複数の印刷ジョブを複数のクライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき印刷ジョブを管理するジョブ管理工程と、
前記グループ化して順次印刷すべき印刷ジョブの印刷処理時に、前記グループに含まれる各印刷ジョブのスプール先を判断する判断工程と、
前記判断工程により自身のスプーラにスプールされていると判断された印刷ジョブは、スプールされている前記印刷ジョブを印刷装置に送信し、前記判断工程により自身のスプーラにおいてスプールされていないと判断された場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可通知を送信する送信制御工程とを備え、
前記送信制御工程は、出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断し、フェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから送信制御を開始し、フェイスアッププリンタであると判断された場合は、印刷順序の後ろの印刷ジョブから送信制御を開始することを特徴とするコンピュータ読み出し可能なプログラムが格納された記憶媒体。
【請求項２０】
前記ジョブ管理工程は、前記グループに含まれる各々の印刷ジョブのスプール状況を管理し、
前記ジョブ管理工程により前記グループに含まれるすべての印刷ジョブがスプールされていると判断された場合に、印刷処理を開始することを特徴とする請求項１９に記載の記憶媒体。
【請求項２１】
グループ化が指定されている印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列工程を更に有し、
前記ジョブ管理工程は、前記整列工程による前記グループ化が指定されている印刷ジョブの整列状況に基づいて、整列された前記グループ化が指定されている印刷ジョブとグループ化指定のされていない印刷ジョブの出力順序を制御することを特徴とする請求項１９または２０に記載の記憶媒体。
【請求項２２】
印刷装置における印刷ジョブの状態を認識する認識工程と、
前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブがグループ化指定のない単体の印刷ジョブであった場合、前記単体の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記グループ化指定のされている印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも１つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御工程を備えることを特徴とする請求項１９乃至２１のいずれかに記載の記憶媒体。
【請求項２３】
前記認識工程は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする請求項２２に記載の記憶媒体。
【請求項２４】
前記認識工程により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更工程を更に有し、
前記変更工程において前記グループ内の印刷ジョブの出力先を変更する場合、前記グループに含まれる全ての印刷ジョブの出力先を変更することを特徴とする請求項２３に記載の記憶媒体。
【請求項２５】
前記変更工程は、前記認識工程によって前記印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする請求項２４に記載の記憶媒体。
【請求項２６】
前記変更工程は、前記認識工程によって印刷要求時に指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする請求項２４または２５に記載の記憶媒体。
【請求項２７】
前記変更工程により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする請求項２４乃至２６のいずれかに記載の記憶媒体。
【請求項２８】
複数の印刷ジョブをグループ化して順次印刷すべき印刷順序を管理する管理サーバから、該管理サーバで管理されているグループ化指定の印刷ジョブの情報を取得する取得手段と、
前記取得手段で取得された前記グループ化指定の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第１ユーザインタフェースを提供する第１ユーザインタフェース提供手段と、
前記第１ユーザインタフェース提供手段により提供される第１ユーザインタフェースを介して指定されるグループにグループ化させる指示情報を含む印刷要求を行う印刷要求手段と、
クライアントから印刷要求された印刷ジョブがグループ化すべき印刷ジョブであった場合、前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第２ユーザインタフェースを提供する第２ユーザインタフェース提供手段と、
前記第２ユーザインタフェース提供手段で提供される第２ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第１ユーザインタフェース提供手段を開始して第１ユーザインタフェースが提供されるよう第１ユーザインタフェースの提供を制御する第１ユーザインタフェース制御手段を有することを特徴とする情報処理装置。
【請求項２９】
前記第１ユーザインタフェース提供手段は、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されている場合は、前記印刷ジョブの情報をリスト表示し、一方、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されていない場合は、前記グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースを確保する前記第１ユーザインターフェースを提供し、
前記第２インタフェース提供手段は、更にグループ内に含まれる各印刷ジョブの印刷順を指定するための領域を含む前記第２ユーザインタフェースを提供することを特徴とする請求項２８に記載の情報処理装置。
【請求項３０】
前記第１ユーザインタフェース提供手段で提供される前記第１ユーザインタフェースにおいて、グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースが指定された場合に、指定されたスペースに対応するグループ内における印刷順を、前記第２ユーザインタフェースにおける印刷順を指定するための領域に自動的に入力する自動入力手段を更に含むことを特徴とする請求項２８または２９に記載の情報処理装置。
【請求項３１】
複数の印刷ジョブをグループ化して順次印刷すべき印刷順序を管理する管理サーバから、該管理サーバで管理されているグループ化指定の印刷ジョブの情報を取得する取得工程と、
前記取得工程で取得された前記グループ化指定の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第１ユーザインタフェースを提供する第１ユーザインタフェース提供工程と、
前記第１ユーザインタフェース提供工程により提供される第１ユーザインタフェースを介して指定されるグループにグループ化させる指示情報を含む印刷要求を行う印刷要求工程と、
クライアントから印刷要求された印刷ジョブがグループ化すべき印刷ジョブであった場合、前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第２ユーザインタフェースを提供する第２ユーザインタフェース提供工程と、
前記第２ユーザインタフェース提供工程で提供される第２ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第１ユーザインタフェース提供工程を開始して第１ユーザインタフェースが提供されるよう第１ユーザインタフェースの提供を制御する第１ユーザインタフェース制御工程を有することを特徴とする印刷制御方法。
【請求項３２】
前記第１ユーザインタフェース提供工程は、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されている場合は、前記印刷ジョブの情報をリスト表示し、一方、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されていない場合は、前記グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースを確保する前記第１ユーザインターフェースを提供し、
前記第２インタフェース提供工程は、更にグループ内に含まれる各印刷ジョブの印刷順を指定するための領域を含む前記第２ユーザインタフェースを提供することを特徴とする請求項３１に記載の印刷制御方法。
【請求項３３】
前記第１ユーザインタフェース提供工程で提供される前記第１ユーザインタフェースにおいて、グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースが指定された場合に、指定されたスペースに対応するグループ内における印刷順を、前記第２ユーザインタフェースにおける印刷順を指定するための領域に自動的に入力する自動入力工程を更に含むことを特徴とする請求項３１または３２に記載の印刷制御方法。
【請求項３４】
複数の印刷ジョブをグループ化して順次印刷すべき印刷順序を管理する管理サーバから、該管理サーバで管理されているグループ化指定の印刷ジョブの情報を取得する取得工程と、
前記取得工程で取得された前記グループ化指定の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第１ユーザインタフェースを提供する第１ユーザインタフェース提供工程と、
前記第１ユーザインタフェース提供工程により提供される第１ユーザインタフェースを介して指定されるグループにグループ化させる指示情報を含む印刷要求を行う印刷要求工程と、
クライアントから印刷要求された印刷ジョブがグループ化すべき印刷ジョブであった場合、前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第２ユーザインタフェースを提供する第２ユーザインタフェース提供工程と、
前記第２ユーザインタフェース提供工程で提供される第２ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第１ユーザインタフェース提供工程を開始して第１ユーザインタフェースが提供されるよう第１ユーザインタフェースの提供を制御する第１ユーザインタフェース制御工程を有することを特徴とするコンピュータ読み出し可能なプログラムが格納された記憶媒体。
【請求項３５】
前記第１ユーザインタフェース提供工程は、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されている場合は、前記印刷ジョブの情報をリスト表示し、一方、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されていない場合は、前記グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースを確保する前記第１ユーザインターフェースを提供し、
前記第２インタフェース提供工程は、更にグループ内に含まれる各印刷ジョブの印刷順を指定するための領域を含む前記第２ユーザインタフェースを提供することを特徴とする請求項３４に記載の記憶媒体。
【請求項３６】
前記第１ユーザインタフェース提供工程で提供される前記第１ユーザインタフェースにおいて、グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースが指定された場合に、指定されたスペースに対応するグループ内における印刷順を、前記第２ユーザインタフェースにおける印刷順を指定するための領域に自動的に入力する自動入力工程を更に含むことを特徴とする請求項３４または３５に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置より受け取る印刷ジョブを印刷装置に転送制御可能な情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものであり、特に、複数の上位装置としてのクライアントコンピュータから受信する印刷ジョブをグループごとに管理し、グループジョブとして印刷装置に送信制御するプリントサーバとしての情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものである。
【背景技術】
【０００２】
従来、この種の情報処理装置を適用可能な印刷システムは、所定の通信媒体を介して印刷装置とクライアントコンピュータ（ＰＣ）、サーバコンピュータ等が通信可能に構成され、各クライアントコンピュータからのジョブ処理要求に応じて受信する印刷ジョブを受信順にジョブスプーラに蓄積して、順次印刷ジョブを解析処理して印刷装置で印刷するように構成されている。
【０００３】
また、近年の印刷システムでは、サーバにスプールされている印刷ジョブのジョブ名などをクライアントに表示できるようになっており、クライアントにインストールされているネットワークユーティリティーソフトウェアを用いることにより、印刷ジョブを指定し、クライアントの権限に応じて、指定された印刷ジョブの印刷中断や印刷中止、更には順序制御を行えるものが存在している。
【０００４】
また、近年のクライアント上で動作するソフトウェアとして、プリンタドライバで生成されたＰＤＬ形式の印刷ジョブをプリントサーバに印刷要求することなく保持しておき、複数の印刷ジョブをまとめてプリントサーバに印刷要求として送信することにより、まとめ印刷を実現できるものが存在している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術のユーティリティーソフトウェアでは、サーバ（プリントサーバ）にスプールされている印刷ジョブの順序制御は行えるものの、複数のジョブをグループ化して、他の印刷ジョブがグループジョブ内に割り込まれないようにグループジョブの印刷を制御することはできなかった。
【０００６】
また、ネットワークやプリントサーバの負荷軽減のために、クライアントから印刷要求とジョブ情報だけをプリントサーバに送信し、プリントサーバで順序制御を管理し、印刷ジョブ自体は印刷依頼元のクライアントでスプールすることが考えられるが、複数の異なるクライアントから同じプリンタに出力すべくプリントサーバ及びクライアントの両方に分けてスプールされた複数のジョブをまとめて印刷することや、あるいは同じグループ内クライアントスプールされているジョブの処理順序を異なるクライアント側から指定することはできなかった。
【０００７】
また、印刷ジョブをグルーピングする際には、グループ化すべきすべての印刷ジョブの準備ができているとは限らず、またクライアントコンピュータを使用しているユーザが常にクライアントコンピュータから即座に次の印刷順の印刷ジョブの印刷依頼を行えるとは限らず、ユーザが席を外しており、かなりの時間がたってから印刷要求されることも考えられる。その場合、グループ化されているすべての印刷ジョブが印刷できる状態、つまり、プリンタに対して印刷ジョブを送信できる状態にならない限り印刷処理を開始させることができないため、プリントサーバにおけるサーバスプーラと各クライアントにおけるクライアントスプーラにスプールされている印刷ジョブはそのまま待機していなければならないが、従来の印刷キューでは印刷要求がなされた印刷ジョブは印刷できる状態であることが前提となっているため、印刷キューにおいて印刷順になるとプリンタに対して印刷ジョブを送信しなければならなかった。
【０００８】
また、従来のまとめ印刷を実現するソフトウェアでは、１つのクライアントからの印刷ジョブはまとめて印刷することが可能であるが、複数のクライアントにより生成された印刷ジョブをまとめてグループ化することができなかった。
【０００９】
さらに、従来はグループ印刷という処理を考慮していないためにそれぞれの印刷ジョブの出力が終わるとその依頼元のクライアントに終了通知がされてしまうため、同一グループで印刷されたすべてのジョブの印刷処理状況を確認し、一連の印刷が正常に終了したことを確認した後に各クライアントに終了通知することもなされていなかった。
【００１０】
また、グループ内のすべてのジョブの印刷終了の確認がとれないうちに、プリンタのエラーなどで、印刷が失敗した場合、グループ内のジョブをすべてまとめて、クライアントに通知されないと、印刷要求元のユーザあるいはサーバは印刷先を変更することができず、かようなエラー発生に対して、迅速、かつ柔軟な対応がとれず、グループ印刷処理が中断したままの状態となり、意図する印刷処理結果を迅速に得ることができないという問題点があった。
【００１１】
また、単体の印刷ジョブでは、印刷先の変更をすることも近年の印刷システムでは考えられているが、前述したようなグルーピングジョブに関しては印刷先の変更が考慮されていない。そのため、単体の印刷ジョブでは印刷先が変更になった場合でも、ＰＤＬが同一であれば、排紙面を気にする必要がない。なぜなら、プリンタ自体の機能により、印刷ジョブを内部的にスプールし、ページ順を逆順にして印刷することが実現できるからである。しかしながらプリンタ自体の機能により実現できるのは単体のジョブまでであり、本発明で考慮するグルーピングジョブに関しては対応できないでいる。
【００１２】
本発明は、上記の問題点を解決するためになされたもので、本発明の第１の目的は、複数のクライアントから印刷要求された複数の印刷ジョブをグループ化して印刷させる場合に、通常の印刷ジョブが混在してプリントサーバにスプールされても、同じプリンタに対して、グループ印刷ジョブに通常の印刷ジョブが混在することない印刷制御を可能とすることである。
【００１３】
また、本発明の第２の目的は、プリンタからは印刷ジョブごとの印刷確認しか取得できなくとも、印刷終了された印刷ジョブが、まとめて印刷、排紙されたことを確認し、各印刷ジョブのホストコンピュータにまとめて印刷されたことを通知することである。
【００１４】
また、本発明の第３の目的は、印刷されたジョブが、まとめて印刷、排紙される前に、プリンタにエラーが発生した場合、別のプリンタにまとめて印刷先を変更することである。
【００１５】
また、本発明の第４の目的は、排紙面が異なるプリンタに印刷先が変更された場合にも、プリンタは受信された順序で印刷ジョブの処理を行うことにより、グルーピングジョブとして正しい印刷順序を保てる仕組みを提供することである。
【００１６】
また、本発明の第５の目的は、クライアントからの印刷要求時に、複数のクライアントからの印刷ジョブをグループ化して印刷させるグルーピングジョブの指定を行わせる仕組みを提供することである。
【課題を解決するための手段】
【００１７】
複数の印刷ジョブを複数のクライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき印刷ジョブを管理するジョブ管理手段と、前記グループ化して順次印刷すべき印刷ジョブの印刷処理時に、前記グループに含まれる各印刷ジョブのスプール先を判断する判断手段と、前記判断手段により自身のスプーラにスプールされていると判断された印刷ジョブは、スプールされている前記印刷ジョブを印刷装置に送信し、前記判断手段により自身のスプーラにおいてスプールされていないと判断された場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可通知を送信する送信制御手段とを備え、前記送信制御手段は、出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断し、フェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから送信制御を開始し、フェイスアッププリンタであると判断された場合は、印刷順序の後ろの印刷ジョブから送信制御を開始することを特徴とする。
【００１８】
また、前記ジョブ管理手段は、前記グループに含まれる各々の印刷ジョブのスプール状況を管理し、前記ジョブ管理手段により前記グループに含まれるすべての印刷ジョブがスプールされていると判断された場合に、印刷処理を開始することを特徴とする。
【００１９】
印刷装置における印刷ジョブの状態を認識する認識手段と、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブがグループ化指定のない単体の印刷ジョブであった場合、前記単体の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記グループ化指定のされている印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも１つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御手段を備えることを特徴とする。
【００２０】
また、前記認識手段は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする。
【００２１】
また、前記認識手段により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更手段を更に有し、前記変更手段において前記グループ内の印刷ジョブの出力先を変更する場合、前記グループに含まれる全ての印刷ジョブの出力先を変更することを特徴とする。
【００２２】
また、前記変更手段は、前記認識手段によって前記印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする。
【００２３】
また、前記変更手段は、前記認識手段によって印刷要求時に指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする。
【００２４】
また、前記変更手段により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする。
【００２５】
また、複数の印刷ジョブをグループ化して順次印刷すべき印刷順序を管理する管理サーバから、該管理サーバで管理されているグループ化指定の印刷ジョブの情報を取得する取得手段と、前記取得手段で取得された前記グループ化指定の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第１ユーザインタフェースを提供する第１ユーザインタフェース提供手段と、前記第１ユーザインタフェース提供手段により提供される第１ユーザインタフェースを介して指定されるグループにグループ化させる指示情報を含む印刷要求を行う印刷要求手段と、クライアントから印刷要求された印刷ジョブがグループ化すべき印刷ジョブであった場合、前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第２ユーザインタフェースを提供する第２ユーザインタフェース提供手段と、前記第２ユーザインタフェース提供手段で提供される第２ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第１ユーザインタフェース提供手段を開始して第１ユーザインタフェースが提供されるよう第１ユーザインタフェースの提供を制御する第１ユーザインタフェース制御手段を有することを特徴とする。
【００２６】
前記第１ユーザインタフェース提供手段は、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されている場合は、前記印刷ジョブの情報をリスト表示し、一方、グループ化すべき印刷ジョブの情報が前記管理サーバで管理されていない場合は、前記グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースを確保する前記第１ユーザインターフェースを提供し、前記第２インタフェース提供手段は、更にグループ内に含まれる各印刷ジョブの印刷順を指定するための領域を含む前記第２ユーザインタフェースを提供することを特徴とする。
【００２７】
また、前記第１ユーザインタフェース提供手段で提供される前記第１ユーザインタフェースにおいて、グループ内に含まれるべき印刷ジョブの情報を表示するためのスペースが指定された場合に、指定されたスペースに対応するグループ内における印刷順を、前記第２ユーザインタフェースにおける印刷順を指定するための領域に自動的に入力する自動入力手段を更に含むことを特徴とする。
【発明の効果】
【００２８】
以上説明したように、本発明によれば、複数のクライアントから印刷要求された複数の印刷ジョブを、グループ化すべきすべての印刷ジョブの準備ができてから印刷制御を行うため、同じプリンタに対して、グループ印刷ジョブ内に通常の印刷ジョブが混在することなく印刷制御することが可能となり、更に印刷先のプリンタにおける排紙面に応じて、印刷装置への印刷ジョブの送信順序を制御することで、グループ内の印刷ジョブにおいて指定の印刷順序を保った印刷制御を行うことが可能となる。
【００２９】
また、管理サーバで既に管理されているグループ印刷ジョブのグループ内に印刷要求される印刷ジョブを含ませる場合、グラフィカルユーザインタフェースを用いてユーザは容易にグループ名や印刷順を指定することが可能となる。
【発明を実施するための最良の形態】
【００３０】
〔第１実施形態〕
図１は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、ｎ台接続されていることを仮定している。
【００３１】
図において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。
【００３２】
１０１は本発明のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。
【００３３】
構成としては、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置であり、クライアントとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【００３４】
本実施形態におけるプリントサーバ１０１は、さらにクライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷したり、または、クライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を揃えている。
【００３５】
１０５は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等と接続している。
【００３６】
図２は、本発明の情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバ１０１も同様あるいは同等のハードウエア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【００３７】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００３８】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００３９】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等も含まれる。
【００４０】
２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。このＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。その記憶されている内容の構成を図４で後述する。
【００４１】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００４２】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００４３】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００４４】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。
【００４５】
２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００４６】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００４７】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００４８】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００４９】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて、グルーピングジョブ（グループ化の指定のある印刷ジョブのこと）の指定を行ったり、印刷先の変更を指示したりする制御を行わせるためのプログラムを含み、また、プリントサーバにおいて、グルーピングジョブの順序制御を行い、グルーピングジョブ内のすべての印刷ジョブのスプールを管理したり、グルーピングジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、１回のインストールにより印刷制御プログラムがインストールされ、実行される環境によりクライアント用として機能したり、またプリントサーバ用として機能するように実行部分を選択してもよい。本実施例でいう印刷制御プログラムとは、両方の意味を含むものとする。
【００５０】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００５１】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００５２】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００５３】
図４において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【００５４】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００５５】
図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【００５６】
図６は、本発明の情報処理装置のプリント制御モジュール構成を説明するブロック図であり、図１と同一のものには同一の符号を付してある。
【００５７】
図において、６００はクライアントマシンで、後述するフローチャートで示す手順を実行する印刷制御プログラムであるネットワークプリンタ制御プログラムに対応するクライアントモジュールが動作するマシンを指す。
【００５８】
本図において、６０１は、文書や表などを作成するためのアプリケーションソフトウェアであり、表示や印刷時にグラフィックエンジン６０２に対して描画データを出力する。グラフィックエンジン６０２はＯＳの提供する描画手段であり、Ｗｉｎｄｏｗｓ（登録商標）ＯＳにおけるＧＤＩのことである。グラフィックエンジン６０２は、アプリケーション６０１から出力される描画データであるＧＤＩ関数（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）を出力すべきデバイスドライバ６０３が解釈可能な描画データであるＤＤＩ関数（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）に変換し、ＤＤＩ関数を印刷時はプリンタドライバ６０３に出力する。プリンタドライバ６０３は、グラフィックエンジン６０２から受け取ったＤＤＩ関数に基づいてプリンタが解釈可能なＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を含む印刷データに変換し、ＪＬ（Ｊｏｂ  Ｌａｎｇｕａｇｅ）を付加した印刷ジョブとしてＯＳの提供するスプーラであるＷｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４に出力する。また、アプリケーション６０１は、印刷設定時にプリンタドライバ６０３に処理を移管し、プリンタドライバ６０３は、グラフィカルユーザインタフェース画面を表示部であるディスプレイ２０７に表示してユーザに各種印刷設定を行わせる。ＯＳのスプーラ６０４は、プリンタドライバから受け取った印刷ジョブを順次クライアントスプーラ６０６に受け渡す。クライアントマネージャ６０５は、クライアントスプーラ６０６を監視し、クライアントスプーラ６０６に印刷ジョブのスプールが開始されると、印刷ジョブの設定を判断して、クライアントスプールの場合は印刷ジョブからジョブ情報を抽出してプリントサーバ６１０に印刷要求を発行してクライアントスプーラ６０６に印刷ジョブをスプールさせておき、一方サーバスプールの場合はクライアントスプーラ６０６にスプールされる印刷ジョブをプリントサーバ６１０に印刷要求として発行してクライアントとしての印刷処理を終了する。また、クライアントマネージャ６０５は、プリントサーバ６１０から印刷ジョブの送信許可通知を受けると、クライアントスプーラ６０６にスプールしている印刷ジョブをネットワークプリンタに対して直接送信を開始する。このとき、クライアントスプールされている印刷ジョブは削除せずに保持しておき、プリントサーバ６１０からの印刷完了通知をクライアントマネージャ６０５が受けることにより削除することが可能となる。
【００５９】
次に、６１０はプリントサーバで、後述するフローチャートで示す手順を実行する印刷制御プログラムであるネットワークプリンタ制御プログラムに対応するプリントサーバモジュールが動作するマシンを指す。６１１はサーバマネージャであり、ネットワーク１０６を介して各クライアントからの印刷要求を受け付ける。印刷要求が印刷データを含む印刷ジョブである場合は、印刷ジョブをサーバスプーラ６１２にスプールし、印刷要求を受けたジョブ情報をジョブ管理テーブル６１３で管理する。一方、印刷要求が印刷データを含まないジョブ情報である場合は、ジョブ情報に基づいてジョブ管理テーブルを更新する。また、サーバマネージャ６１１は、各ネットワークプリンタにおけるジョブの処理状況を監視しており、印刷ジョブの出力が終了する度にジョブ管理テーブル６１３を更新し、後続する印刷ジョブの送信を開始する。このとき、送信すべき印刷ジョブをサーバスプーラ６１２でスプールしている場合は、そのままプリントサーバ６１０が送信を行うが、送信すべき印刷ジョブをクライアントスプーラ６０６がスプールしている場合は、依頼元のクライアントに対して印刷ジョブの送信許可通知を発行する。また、ジョブ管理テーブル６１３（ジョブ管理手段）は、クライアントから受けたジョブ情報に基づいて印刷順序の制御を行い、順次印刷ジョブの送信許可を発行する順番を管理するための印刷キュー６１５と、さらに、グループジョブの場合にグループジョブ内のすべての印刷ジョブのジョブ情報の準備ができたかを管理するためのグループジョブ管理テーブル６１６とを有している。
【００６０】
１０５及び６５０はネットワークプリンタである。
【００６１】
なお、上記分類は、機能別な分類であり、同一の情報処理装置（マシン）上に両方のソフトを有した場合、すなわち、クライアントが印刷を依頼するプリントサーバが同一マシン上であれば、ネットワークを介さずに同一マシン上のプロセス間通信で実行するし、他のマシンであれば、１クライアントとして動作する。
【００６２】
また、これらの機能は、ＯＳのスプーラが内部的に、同等の機能を包含してもよい。
【００６３】
図７は、図６で説明したようにクライアントで生成されプリントサーバで管理されるジョブ情報のデータ構造の一例を示す図である。このジョブ情報は、クライアントのプリンタドライバ６０３で生成された印刷ジョブに基づいてクライアントマネージャ６０５により生成される印刷ジョブの種別を示す情報であり、印刷要求としてプリントサーバ６１０に送信されるものである。
【００６４】
図７に示すように、本実施形態におけるジョブ情報は、印刷ジョブをプリントサーバからクライアントへ識別するためのジョブＩＤ、出力先のデバイスを指定するためのプリンタ名、クライアントのホスト名であるマシン名、印刷ジョブのステータス、印刷ジョブの元となる文書から抽出されるドキュメント名（一般にアプリケーションで付けられている文書名となる）、印刷ジョブのデータサイズ、印刷ジョブをクライアントスプーラを用いてスプールするかサーバスプーラを用いてスプールするかを指定するスプール方法（０または１のビット表現でよい）、印刷ジョブをグループ化してグルーピングジョブとして印刷制御するか否かを示すグループ印刷可否、グルーピングジョブとして印刷させる際のグループ名、グループ化して印刷する際のグループ内での印刷順序を示すグループ内印刷順、グループ化して印刷する際のグループ内の含まれる合計の印刷ジョブ数を示すグループ内ジョブ数等から構成されている。
【００６５】
図８は、図６に示したクライアント６００で管理されるグループ指定情報の一例を示す図である。このグループ指定情報は、本実施例では、後述するようにクライアントマネージャ６０５が印刷ジョブを受けたときに生成するが、アプリケーションからの印刷指定時にプリンタドライバが提供するユーザインタフェース画面によりユーザが指定した値に基づいて、プリンタドライバにより生成されてもよい。
【００６６】
図８に示すように、本実施形態におけるグループ指定情報は、自身のクライアントのホスト名であるクライアント名、印刷ジョブをグループ化して印刷する際のグループ名を示すグループ名（ＩＤ）、グループ化して印刷する際のグループ内における印刷順序を示す印刷順、及びグループのジョブ総数等から構成されている。
【００６７】
図９は、３台のクライアントから、印刷したジョブをグループ化して印刷する手順の例を示した本発明のシーケンス図である。
【００６８】
まず、図９を用いて、本発明のグループ印刷におけるクライアント、プリントサーバの手順を説明する。図９において、クライアント１、２、３は、それぞれの印刷ジョブ（印刷ジョブ１、印刷ジョブ２、印刷ジョブ３）をクライアントスプールし、また、各クライアントからプリントサーバに対してジョブ情報の通知を行い、プリントサーバではジョブ情報に基づいてグループ化し、各クライアントから指定された印刷順序、例えば、印刷ジョブ３、印刷ジョブ２、印刷ジョブ１の順で印刷する場合の手順を示している。
【００６９】
クライアント１から、グループ化して印刷したい印刷ジョブの生成とクライアントスプール処理が行われ、最初にグループジョブを生成する場合は印刷ジョブの生成と同時に図８に示すグループ指定情報と図７に示すジョブ情報とを生成し、プリントサーバに対して、グループ指定情報とジョブ情報とを用いてグループ印刷であることを指示する。このとき、プリントサーバでは受け取ったグループ指定情報とジョブ情報とに基づいてグループ情報を作成し、前述したグループジョブ管理テーブルに新規グループジョブを追加して管理する。このグループジョブ管理テーブルには、グループジョブ内の総ジョブ数分のセルを有しており、各クライアントから受け取るジョブ情報に含まれるグループ内印刷順の情報に基づいて該当するセルにジョブ情報を受けて「印刷待ち状態」であることを書き込み、更新する。サーバマネージャ６１１はジョブ管理テーブル６１３内のグループジョブ管理テーブル６１６を監視することにより、グループジョブ名イオン総ジョブ数分のセルのステータスがすべて「印刷待ち状態」になったかを判断し、同一グループ内のすべての印刷ジョブが「印刷待ち状態」、つまりクライアントもしくはサーバによりスプールされたと判断すると、グループジョブの印刷処理を開始するために、出力先のプリンタに対する印刷キューに印刷要求を発行し、他の印刷ジョブとの順序制御を開始する。
【００７０】
次に、クライアント３、及びクライアント２から図７に示すジョブ情報が入力され（グループ名の指定がされている）、それぞれグループジョブ管理テーブルが更新されることになり、前述したように印刷キューに印刷要求が発行される。なお、グループ内の印刷順序はクライアント３、２、１の順であるが、プリントサーバにジョブ情報が発行されるタイミングや、各スプーラにスプールされるタイミングは任意で構わない。なぜなら、各印刷ジョブのジョブ情報内にグループ内の印刷順が規定されているからである。
【００７１】
図９のクライアント１で、プリンタドライバがグループ化する印刷ジョブの印刷処理を開始すると、Ｗｉｎｄｏｗｓ（登録商標）のスプーラ６０４で一度スプールされた後、ＯＳとしては通常の印刷と同様にスプールされている印刷ジョブが出力される。この出力される印刷ジョブをクライアントマネージャ６０５がつかまえて、クライアントスプーラ６０６にスプールさせる。そして、印刷ジョブの設定を判断して、クライアントスプールの場合、クライアントマネージャ６０５は、印刷ジョブをクライアントスプーラ６０６にスプールさせたままジョブ情報を生成してプリントサーバ６１０に印刷要求として発行する。また、ジョブ情報の生成はプリンタドライバ６０３が行ってもよい。一方、サーバスプールの場合、クライアントマネージャ６０５は、クライアントスプーラ６０６にスプールされている印刷ジョブを印刷要求としてプリントサーバ６１０に発行し、プリントサーバのサーバスプーラ６１２に印刷ジョブをスプールすることになる。
【００７２】
図１０は、本発明に係る情報処理装置における第１のデータ処理手順の一例を示すフローチャートであり、図６に示したクライアント６０１によるスプール処理手順に対応する。なお、ｓ１００１〜ｓ１００６は各ステップを示す。
【００７３】
クライアント６００において、ステップｓ１００１において、アプリケーション６０１が印刷処理を始める際にプリンタドライバが提供する印刷設定のグラフィカルユーザインタフェース（図１９）を用いてユーザに印刷設定を行わせる。なお、プリンタドライバ６０３は、この図１９に示す印刷設定用のグラフィカルユーザインタフェース画面を提供し、ＯＳを介してディスプレイ２０７に表示させる。図１９において、１９０１は印刷ジョブの種別を設定できるメニューであり、「印刷」は通常の印刷処理として印刷ジョブが生成され、印刷要求とともに印刷ジョブはプリントサーバもしくはプリンタに送信されることになる。一方、「グループ印刷」はグループ印刷ジョブ（グルーピングジョブとも呼ぶ）として印刷ジョブが生成され、この印刷ジョブはプリントサーバもしくはクライアントでスプールされることにない、ジョブ情報はプリントサーバに出力されることになる。
【００７４】
ユーザにより印刷設定値が設定された後に、アプリケーション６０１がグラフィックエンジン６０２に対して描画データの出力、つまり印刷処理を開始する。これにより、前述したようにグラフィックエンジンは描画データであるＧＤＩ関数を受け取り、それをＤＤＩ関数に変換し、プリンタドラバ６０３に渡す。プリンタドライバ６０３は、受けたＤＤＩ関数に基づいてページ記述言語で記述された印刷データを生成して印刷ジョブをＷｉｎｄｏｗｓ（登録商標）スプーラ６０４に発行する。Ｗｉｎｄｏｗｓ（登録商標）スプーラ６０４は受けた印刷ジョブをクライアントマネージャ６０５に出力する。
【００７５】
クライアントマネージャ６０５は、Ｗｉｎｄｏｗｓ（登録商標）スプーラ６０４から受け取った印刷ジョブのクライアントスプーラ６０６へのスプール処理を開始すると、プリントサーバ６１０のサーバマネージャ６１１からジョブＩＤを取得し、クライアントマネージャ６０５は、例えば、Ｗｉｎｄｏｗｓ（登録商標）のＪＯＢ＿ＩＮＦＯ＿２のような、図７に示したようなジョブ情報を作成する。「ジョブＩＤ」以外は、クライアント内の情報により生成可能である。たとえば、「プリンタ名」は出力先に指定されているプリンタの名称やパスでよく、「ドキュメント名」はアプリケーション６０１からドキュメントの名称を取得すればよく、また、「グループ印刷可否」は、前述したように、図１９の１９０１の設定が「グループ印刷」となっているか「印刷」となっているかを判断することにより生成可能となる。また、「スプール方法」は、図１９のスプール方法の１９０２のサーバスプーラのチェックボックスがチェックされているかを判断し、チェックされている場合はサーバスプーラを用いることを示し、チェックされていない場合はクライアントスプーラを用いることを示す情報が生成される。
【００７６】
なお、クライアントとサーバ間の通信方法は、例えば、ＲＰＣのようなマルチプロトコルの関数でもよいし、ＷｉｎｓｏｃｋやＷｉｎ３２ＡＰＩの通信関数を用いた処理でもよく、特定の通信方法に依存しない。
【００７７】
ステップｓ１００２において、クライアントマネージャ６０５は、このジョブがグループ印刷のジョブなのか、通常の印刷ジョブなのかを判断する。これは、印刷ジョブの印刷設定を取得するか、生成したジョブ情報の「グループ印刷可否」を見ることにより判断する。
【００７８】
また、「グループ印刷可否」はプリンタドライバの印刷設定のグラフィカルユーザインタフェースを用いて印刷指示時にユーザにより指定させてから印刷指示させたが、このグラフィカルユーザインタフェース画面の表示は、Ｗｉｎｄｏｗｓ（登録商標）スプーラ６０４との接点であるポートにデータが流れるたびに、Ｗｉｄｏｗｓスプーラ６０４のポートモニタとして登録されるＤＬＬや、クライアントでダイアログを表示する方法や、ポートごとにグループ印刷専用ポートとして指定されていてもよいし、例えば、アプリケーションが用いる特定のドキュメント名やＷｉｎｄｏｗｓ（登録商標）スプーラ６０４が一意に割り振るジョブＩＤ等、本発明の印刷システムがグループ化すべき印刷ジョブを特定できる情報をもとに、自動的にグループ印刷を行ってもよい。
【００７９】
この指定は、各ジョブのジョブ情報にグループ印刷に関する指定情報を付加する点のみが、通常のジョブと異なる点であるので、クライアント上のポートごとの設定として登録可能であるが、他のクライアントとの共有資源であるプリンタやプリンタサーバの設定には特別な設定の必要はない。
【００８０】
ステップｓ１００２の判断で、グループ印刷の印刷ジョブであると判断されると、ステップｓ１００３において、クライアントマネージャ６０５は、ユーザからの指定を受け付けるためのダイアログボックス（図１７）をＯＳに提供してディスプレイ２０７に表示させる。この図１７のダイアログボックスは、図８に示すような、グループ印刷を指定するグループ名（ＩＤでもよい）とグループ内のジョブの総数とジョブの印刷順序を指定することが可能であり、キーボード２０６やマウス等を用いてグループ名と印刷順をユーザに指定させる。
【００８１】
グループ印刷の指定方法は、ジョブごとにグループ指定情報が指定されればよいので、ジョブを特定できる情報（ドキュメント名や、ジョブＩＤ等）に対してグループ指定情報音内容が一意に定まる方法であればなんでもよい。また、ダイアログボックスを表示して、手入力させなくても、レジストリやＩＮＩファイルなどのクライアントが保有する指定値を使用したり、複数の情報を保持していて、ユーザに選択させることも可能である。
【００８２】
次にステップｓ１００４では、ステップｓ１００３で表示された図１７のダイアログに対してユーザが入力したグループ名に基づいて、クライアントマネージャ６０５は、このグルーピングジョブが新規のグルーピングジョブなのかすでにプリントサーバ６１０に登録されているグルーピングジョブであるのかを判断する。すなわち、図１７のグループ名の指定において、新規名称がユーザにより入力された場合は新規グルーピングジョブであると判断し、また、「参照ボタン」１７０１が押され、プリントサーバ６１０に登録されているグルーピングジョブのグループ名を参照する場合は、登録済みのグループ印刷であると判断する。新規グループ印刷であると判断された場合は、ステップｓ１００５に処理を進める。
【００８３】
ステップｓ１００５において、クライアントマネージャ６０５は、ユーザに対して、手動で新規グループジョブ内の印刷順、及び、新規グループジョブ内の印刷ジョブの総数の情報の入力を促す。また、クライアントマネージャ６０５は、図７のジョブ情報に、グループ名、グループ内印刷順、グループ内ジョブ数であるグループ印刷指定情報を追加する。
【００８４】
次にステップｓ１００６において、クライアントマネージャ６０５は、ダイアログボックスの入力に基づいて、この印刷ジョブのジョブ情報に図８に示したグループ印刷を指定するグループ名（ＩＤでもよい）、印刷順序、ジョブの総数等の情報を追加する。本実施例は、ジョブ情報にグループ印刷用のメンバーがあることを前提に説明するが、例えば、コメント情報やドキュメント名に、グループ印刷であることを判別できる情報を埋め込んで、特別なメンバーを用意しなくても実現できる。（例：コメントやドキュメント名に、Ｇｒｏｕｐ０１＿１＿５）という文字列を付加する。
【００８５】
次にステップｓ１００７で、クライアントマネージャ６０５は、印刷ジョブのスプール処理を行う。スプール処理は、以下のように行われる。まず、クライアントマネージャ６０５は、ジョブ情報の「スプール方法」を見ることにより、クライアントスプールの印刷ジョブなのか、サーバスプールの印刷ジョブなのかを判断する。クライアントスプールと判断された場合は、クライアントマネージャ６０５はＷｉｎｄｏｗｓ（登録商標）スプーラ６０４から受けた印刷ジョブをクライアントスプーラ６０６にグループ指定情報と対応付けてスプールし、その印刷ジョブのジョブ情報（図７）とグループ指定情報（図８）をプリントサーバ６１０に送信する。一方、サーバスプールと判断された場合は、クライアントマネージャ６０５は、印刷ジョブとジョブ情報とグループ指定情報とをプリントサーバ６１０に送信して、クライアント６００における印刷処理を開放する。
【００８６】
次にクライアント２、３のスプール手順、つまり、グルーピングジョブの設定が行われた後に、残りの印刷ジョブを該当するグルーピングジョブに追加する手順について説明する。
【００８７】
ステップｓ１００１からステップｓ１００３までの手順は、上記処理と同じなので省略する。ステップｓ１００４において、クライアントマネージャ６０５は、ステップｓ１００３で表示された図１７のダイアログに対してユーザが入力したグループ名に基づいて、クライアントマネージャ６０５は、このグルーピングジョブが新規のグルーピングジョブなのかすでにプリントサーバ６１０に登録されているグルーピングジョブであるのかを判断する。図１７のダイアログにおいて、「参照ボタン」１７０１がユーザの指示により押され、プリントサーバ６１０に登録されているグルーピングジョブのグループ名を参照する場合は、登録済みのグループ印刷であると判断して、ステップｓ１００９に処理を進める。
【００８８】
ステップｓ１００９では、クライアントマネージャ６０５はプリントサーバ６１０のサーバマネージャ６１１に対して、プリントサーバ６１０でスプールしているグルーピングジョブのリストを問い合わせる。この問合せの手段は、例えば、Ｗｉｎ３２ＡＰＩのＥｎｕｍＪｏｂｓのようなＡＰＩをＲＰＣで処理するなどの一般的なプロセス間通信でよい。
【００８９】
この問合せに対して、プリントサーバ６１０では以下の処理が行われる。まずサーバマネージャ６１１は、クライアントマネージャ６０５からグルーピングジョブのリストの問合せを受け付けると、ジョブ管理テーブル６１３で管理しているグループジョブ管理テーブル６１６を参照し、クライアントマネージャ６０５に返答するためのグルーピングジョブのリストを生成する。そして、サーバマネージャ６１１は、生成したリストをクライアントマネージャ６０５に返信する。また、問合せ以外の場合は各種のスプール処理が行われる。まず、ジョブ情報を含む印刷依頼がクライアントから受け取った場合は、サーバマネージャ６１１は印刷依頼があったとして、ジョブ管理テーブル６１３に印刷順序の管理を行わせる。このときジョブ情報を解析することにより、この印刷依頼がグループ印刷ジョブであると判断された場合は、ジョブ管理テーブル６１３はグループジョブ管理テーブル６１６に新規ジョブもしくはすでに登録されているグルーピングジョブ内に該当する印刷順序のジョブがスプールされたこと示すように更新し、同時にサーバマネージャ６１１はサーバスプーラ６１２に印刷ジョブをスプールする。また、スプール方法がクライアントスプールの場合は、ジョブ情報の管理のみ行い、スプール処理はクライアントに任せることになる。
【００９０】
ステップｓ１００９において、前述した問合せに応じて、クライアントマネージャ６０５は、サーバマネージャ６１１からグルーピングジョブのリストを取得し、表示用のデータを生成し、ＯＳを介してディスプレイ２０７に図１８に示すように表示させる。
【００９１】
図１８は、グループジョブ管理テーブルによって管理されているグルーピングジョブのリストに基づいてクライアントマネージャにより生成される表示画面の一例である。
【００９２】
１８０１は、プリントサーバ６１０により管理されているグルーピングジョブの名称を示している。１８０２は、それぞれのグループ内における印刷順を示しており、総ジョブ数と印刷順序とが表示されている。また、１８０３は、その印刷ジョブのステータスであり、「印刷待ち」はすでにその印刷ジョブがスプールされていることを示しており、「未処理」はまだ該当する印刷順に対応する印刷ジョブのスプールが行われていないことを示している。１８０４は、スプール方法を示しており、「クライアント」とは印刷データを含む印刷ジョブがクライアントスプーラ６０６にスプールされていることを示し、「サーバ」とは印刷データを含む印刷ジョブがサーバスプーラ６１２にスプールされていることを示している。１８０５は、対応する印刷ジョブの印刷依頼を行ったクライアント名を示している。
【００９３】
このグラフィカルユーザインタフェースにおいて、キーボード２０６やマウスなどのポインティングデバイスを用いてユーザは、それぞれの印刷ジョブ毎に選択状態を決めることが可能となっている。図１８の例では、１８０６に示す範囲にあるＧｒｏｕｐ２の印刷順が２番目の印刷ジョブが選択状態となっている。この選択状態にある場合に、ＯＫボタン１８０７を指定することにより、図１７に示したグループ印刷指定のダイアログの各項目が自動選択される。例えば、１８０６の範囲を選択している状態でＯＫボタン１８０７が指定されると、図１７におけるグループ名は「Ｇｒｏｕｐ２」となり、印刷順は「２／５」と自動的に入力される。
【００９４】
このように、ステップｓ１０１０では、クライアントマネージャ６０５は、図１８に示したように、ユーザにより印刷ジョブが指定されると、指定された印刷ジョブのグループ名を判断して、判断されたグループ名を図１７のグループ名の項目に入力する。続いて、ステップｓ１０１１では、クライアントマネージャ６０５は、図１８に示したように、ユーザにより印刷ジョブが指定されると、指定された印刷ジョブの印刷順と総印刷ジョブ数を判断して、それぞれを図１７の各項目に入力する。
【００９５】
このように、本実施例では、グラフィカルユーザインタフェース画面を用いてユーザにグルーピングジョブ内の印刷ジョブを指定させて、各項目を自動入力したが、これに限るものではない。例えば、クライアントマネージャ６０５が、グルーピングジョブのグループ名だけ、プリントサーバ６１０から取得し、その中からグルーピングジョブを指定させ、その後、ユーザの手入力により、印刷順等を指定させることも考えられる。
【００９６】
グループ印刷ジョブにおける各種の指定が行われると、ステップｓ１００６に処理を進める。ステップｓ１００６以降は前述した処理と同様なので説明を省略する。
【００９７】
図１６は、図６に示したプリントサーバ６１０のサーバマネージャ６１１により作成されるグループ印刷情報のデータ構造の一例を示す図である。このグループ印刷情報は、クライアントから受け取るジョブ情報とグループ指定情報とに基づいて生成される。
【００９８】
図１６に示すように、本実施形態では、グループ名、ジョブ総数、印刷先プリンタ名、プリンタステータスおよびジョブＩＤ、印刷順、ステータス、クライアント名がジョブ分含むように構成されている。
【００９９】
次に、図１１に示すフローチャートを参照して、図６に示したプリントサーバ６１０上で動作するサーバマネージャ６１１によるスプール処理について説明する。
【０１００】
図１１は、本発明に係る情報処理装置における第２のデータ処理手順の一例を示すフローチャートであり、図６に示したプリントサーバ６１０上で動作するサーバマネージャ６１１によるスプール処理に対応する。なお、ｓ１１０１〜ｓ１１１２は各ステップを示す。
【０１０１】
ステップｓ１１０１において、クライアントマシン６００からのジョブのスプール処理が開始されると、サーバマネージャ６１１は、ジョブＩＤを作成して、ジョブＩＤをクライアントマネージャ６０６に渡し、ステップｓ１１０２において以下のスプール処理を行う。
【０１０２】
ステップｓ１１０２では、サーバマネージャ６１１は、クライアントマネージャ６０６からジョブ情報を受け取り、印刷要求を受ける。またサーバマネージャ６１１は、必要に応じてクライアントマネージャ６０６からグループ指定情報も受け取る。印刷要求を受け付けると、サーバマネージャ６１１は、ジョブ管理テーブル６１３内の印刷キューに新規ジョブを受けたことによる印刷順序の管理を始めるため、印刷キューを更新し、クライアントから受け取る印刷ジョブをサーバスプーラ６１２にスプールする。また、クライアントから印刷ジョブを受け取らない場合、つまりクライアントスプール処理を行う印刷ジョブの場合は、クライアントにスプールさせ、プリントサーバ６１０は印刷順序管理を行うことになる。
【０１０３】
続いて、ステップｓ１１０３において、サーバマネージャ６１１は、クライアントマネージャ６０６から渡されたジョブ情報内を検索する。そして、ｓ１１０４において、サーバマネージャ６１１は、グループ印刷を指定した印刷ジョブであるグルーピングジョブかどうかをジョブ情報内のグループ印刷指定の情報の有無で判断する。
【０１０４】
ここで、グループ印刷指定の印刷ジョブであると判断した場合、同一グループ内の最初のジョブのスプールか、２つめ以降のジョブのスプールかで処理が異なる。
【０１０５】
そこで、ステップｓ１１０５において、サーバマネージャ６１１は、ジョブ情報とグループ指定情報に基づいて、受け取った印刷ジョブがグループ内の最初の印刷ジョブであるか否かを判断する。新規グループ印刷であると判断された場合はステップｓ１１０６に、また図１０に示したグループ印刷情報（ＧＰ−ＩＮＦＯ）が記憶装置上すでに作成されているか場合は、ステップｓ１１０７に処理を進める。
【０１０６】
ステップｓ１１０６では、サーバマネージャ６１１は、グループ印刷情報（ＧＰ−ＩＮＦＯ）を作成して、ジョブ管理テーブル６１３のグループジョブ管理テーブル６１６に新規のグループ印刷情報を格納する。このグループ印刷情報ＧＰ−ＩＮＦＯは、印刷を指定するプリンタ毎にリストデータで管理される。
【０１０７】
次に、ステップｓ１１０７で、サーバマネージャ６１１は、作成されているグループ印刷情報（ＧＰ−ＩＮＦＯ）にジョブ情報から、印刷したクライアント名（または、アドレス）や、グループ内の印刷順序等、ジョブ固有の情報を記録する。
【０１０８】
次に、ステップｓ１１０８において、サーバマネージャ６１１は、同一グループ内で最初のジョブかどうか判断する。ここで、最初のジョブの場合は、そのジョブのスプール順がグループの印刷順になるので、ジョブの位置は変更せずに、ステップｓ１１１０に進んでスプール処理を終了する。
【０１０９】
次に、ステップｓ１１０８の判断において、印刷順が最初の印刷ジョブでないと判断された場合は、ステップｓ１１０９に進み、同一グループ内の指定された順番に揃うように印刷ジョブのジョブ情報を整列し、必要に応じてサーバスプーラ６１２における印刷ジョブのスプール順序を整列する。
【０１１０】
印刷ジョブのスプール順序について説明する。この処理はサーバスプールの印刷ジョブのスプール処理のときに実行される。具体的には、グループ印刷情報（ＧＰ−ＩＮＦＯ）の中で既にスプールされているジョブのうち、処理中の印刷ジョブの順番より前のものであれば、その直後に移動し、自分の順番よりも後ろのジョブばかりスプールされているのであれば、先頭にくるように移動して、ステップｓ１１１０に移り、スプール処理を終了する。このように印刷順序に従ってスプールしておくことにより、グルーピングジョブの印刷時に印刷ジョブの読み出しが容易になる。しかしながら、印刷ジョブのスプール順序は、印刷順にスプールされていなくても、実際は印刷処理可能である。
【０１１１】
一方、ステップｓ１１０４において、グループ印刷のジョブでない印刷ジョブのスプールであると判断された場合は、ステップｓ１１１１に移る。ステップｓ１１１１では、サーバマネージャ６１１は、現在のスプール位置がグループ印刷指定で印刷されたジョブに割り込んでないか確認し、もし、プライオリティ等、別の順序変更の指定のために同一グループのグループ印刷指定のジョブの間に割り込んでしまったと判断した場合（ＹＥＳの場合）は、前後のジョブがグループ印刷指定かどうかをジョブ情報から判断し、ステップｓ１１１２において、その後ろにスプールされるように位置を変更し、ステップｓ１１１１で、通常のスプール位置でグループ印刷のジョブの間に入っていなければ、そのままステップｓ１１１０に進んでスプール処理を終了する。
【０１１２】
次に、スプールされたジョブの印刷処理について、プリントサーバ６１０のサーバマネージャ６１１の処理を図１２に示すフローチャートを参照して説明する。
【０１１３】
図１２は、本発明に係る情報処理装置における第３のデータ処理手順の一例を示すフローチャートであり、図６に示したプリントサーバ６１０におけるサーバマネージャ６１１の処理手順に対応する。この処理は、サーバマネージャ６１１が、ネットワークに接続されている管理下のプリンタのステータスを監視する一方、スプールされたジョブを管理し、該当するプリンタに対して順番に印刷ジョブの送信を開始していくＷｉｎｄｏｗｓ（登録商標）のスレッドのような処理単位で行う。なお、ｓ１２０１〜ｓ１２０８は各ステップを示す。
【０１１４】
先ず、ステップｓ１２０１において、サーバマネージャ６１１は、管理下のプリンタのステータスを監視し、監視しているプリンタに対して印刷ジョブの送信が行えると判断されると、この処理が起動される。そして、ステップｓ１２０２において、サーバマネージャ６１１は、ジョブ管理テーブル６１３にスプールされているジョブ情報を検索する。そしてステップｓ１２０３では、ジョブ管理テーブル６１３に該当するプリンタに対して送信すべき印刷ジョブの中で、印刷待ちの印刷ジョブがあるかを判断する。この状態が定常状態であり、印刷待ちの印刷ジョブがひとつもない場合は、ステップｓ１２０３で、印刷待ちジョブありと判断されるまで、ステップｓ１２０１のままジョブがスプールされるまで待ち続ける。
【０１１５】
一方、ステップｓ１２０３において、印刷待ちジョブがあると判断された場合、ステップｓ１２０４において、サーバマネージャ６１１は、印刷待ちの印刷ジョブがグループ印刷かどうか判断する。もし、グループ印刷指定のジョブの印刷順であれば、ステップｓ１２０４で、サーバマネージャ６１１は、グループジョブ管理テーブル６１６を解析することにより、同一グループのすべての印刷ジョブがスプールされているかどうか判断する。ここで、グループ内のすべての印刷ジョブがスプールされていると判断した場合は、ステップｓ１２０６において、サーバマネージャ６１１は、そのグルーピングジョブの印刷処理を行う。具体的には、サーバマネージャ６１１は、グループジョブ管理テーブル６１６に基づいて、グループ内の印刷順に従って順次スプールしている印刷ジョブをプリンタに送信する。この送信処理において、サーバマネージャ６１１は、印刷順の印刷ジョブのスプール方法を認識し、サーバスプールの場合は、サーバスプーラ６１２に保存されている該当印刷ジョブを読み出して、ネットワークを介してプリンタに印刷ジョブを送信する。また、クライアントスプールの場合は、サーバマネージャ６１１は、図１８に示す依頼元のクライアント１８０５を認識し、該当するクライアントに対してジョブＩＤを指定する情報を含む印刷ジョブ送信許可情報を発行する。プリントサーバ６１０またはクライアント６００からプリンタ１０５への印刷データの送信処理が終了すると、ステップｓ１２０７において、サーバマネージャ６１１は、グループジョブ管理テーブル６１６で管理しているグループ印刷情報（ＧＰ−ＩＮＦＯ）のステータス情報と図１８に示すグループジョブ管理テーブル６１６を「送信終了」に変更して、次の印刷順に対応する印刷ジョブの処理に移る。この印刷手順を繰り返すことによって、同一グループのジョブをプリンタ１０５に連続して送信し、印刷を行う。
【０１１６】
一方、ステップｓ１２０５において、同一グループのジョブがすべてスプールされる前に同じグループの最初のジョブの印刷順になってしまい、同一グループのすべての印刷ジョブがスプールされていないと判断された場合は、ステップｓ１２０８に進んで、サーバマネージャ６１１は、該当するプリンタに対する印刷キューにおける次の印刷ジョブに制御を移し、ステップｓ１２０３に戻って、次のジョブも同様に処理を続ける。
【０１１７】
一方、ステップｓ１２０４において、印刷キュー６１５にける印刷順の印刷ジョブが通常の印刷ジョブであると判断された場合は、そのままステップｓ１２０６に移り、サーバマネージャ６１１は、前述したような印刷処理（印刷ジョブの配信制御）を行う。以上の手順でプリントサーバ６１０における印刷処理を行う。
【０１１８】
なお、印刷確認を行わない場合は、データ転送終了後、ジョブを削除するときにグループ印刷情報ＧＰ−ＩＮＦＯも削除する。
【０１１９】
これらの手順を実行することにより、複数のホストコンピュータから任意のタイミングで印刷された複数の一連の印刷ジョブを、通常の印刷ジョブが混在してプリントサーバにスプールされても、また、クライアントでスプールされても、同じプリンタに対して指定された順にまとめて連続印刷することができる。
【０１２０】
〔第２実施形態〕
以下、第１実施形態で示した手順に従って印刷した後から、プリントサーバ６１０のサーバマネージャ６１１は、プリンタ１０５から通常の印刷ジョブと同様に各印刷ジョブの印刷確認を行い、グループ印刷情報に記録し、グループ印刷情報内のすべての印刷ジョブの印刷終了を確認後、各ジョブをスプールしたクライアント６００のクライアントマネージャ６０５に印刷終了を通知するように構成してもよい。以下、その実施形態について説明する。
【０１２１】
図１３は、本発明の第２実施形態を示す情報処理装置における第４のデータ処理手順の一例を示すフローチャートであり、図６に示したサーバマネージャ６１１による印刷確認スレッド（印刷確認処理の詳細手順）に対応する。なお、ｓ１３０１〜ｓ１３１２は各ステップを示す。
【０１２２】
先ず、ステップｓ１３０１において、この印刷確認スレッドが開始されるが、このスレッドはサーバマネージャ６１１の起動時から開始されてサーバマシン６１０の電源が落とされるまで常駐しても、印刷処理の後から、印刷確認が取れるまでの間のみの起動でもよく、任意のタイミングで動作を終了する。
【０１２３】
そして、該スレッド開始後、ステップｓ１３０２において、サーバマネージャ６１１は、ネットワークを介して管理下のプリンタのステータスを監視することにより、プリンタ１０５から印刷の確認通知を待つ。
【０１２４】
この確認方法は、例えば、ＴＣＰ／ＩＰのネットワーク環境における、ネットワークプリンタの場合は、ＳＮＭＰのｇｅｔ等のコマンドを用いてプリントサーバ６１１がポーリングしてもよいし、ｔｒａｐなどで、プリンタ１０５からの通知をうけてもよい。
【０１２５】
また、プリンタがローカル接続される場合は、セントロケーブルを介した通信でもよく、プロトコルや情報の取得方法はなんでもよい。
【０１２６】
このようにしてプリンタ１０５から、印刷確認通知がくると、ステップｓ１３０３において、サーバマネージャ６１１は、プリンタ１０５から印刷ジョブのエラーが通知されたかどうかを判断する。エラーが通知されたと判断した場合は、ステップｓ１３１２に移り、サーバマネージャ６１１は、関連する印刷ジョブの依頼元のクライアントを図１８に示すグループジョブ管理テーブルを用いて認識し、該当するクライアント６００のクライアントマネージャ６０５に対してエラーを通知する。
【０１２７】
一方、ステップｓ１３０３で、エラーが通知されていないと判断した場合は、ステップｓ１３０４において、サーバマネージャ６１１は、印刷終了が確認された印刷ジョブのジョブ情報からグループ印刷のジョブであるかどうか判断し、グループ印刷のジョブであると判断した場合は、ステップｓ１３０５においてグループ印刷ジョブ情報（ＧＰ−ＩＮＦＯ）の該当する印刷ジョブのステータスを「印刷中」から「印刷終了」に更新する。
【０１２８】
次に、ステップｓ１３０６において、サーバマネージャ６１１は、グループ印刷ジョブ情報（ＧＰ−ＩＮＦＯ）内におけるすべての印刷ジョブの印刷終了が確認できたかどうかを判断し、まだ、印刷中のジョブが残っていると判断した場合は、ステップｓ１３０２に戻り、プリンタ１０５からの印刷確認通知を待つ。
【０１２９】
一方、ステップｓ１３０６で、もし、グループ内で最後のジョブの印刷確認通知であると判断した場合は、ステップｓ１３０７に進み、サーバマネージャ６１１は、該グループ内の印刷ジョブを印刷要求した依頼元のクライアント６００のクライアントマネージャ６０５に通知する。各クライアントに通知後、ステップｓ１３０８で、サーバマネージャ６１１は、同一グループのジョブ情報をすべて削除する。
【０１３０】
なお、印刷後もサーバスプーラ６１２に印刷データを含む印刷ジョブが残っている場合は、サーバマネージャ６１１は、ジョブ情報と同時に印刷データも削除する。
【０１３１】
このようにしてグループ内のジョブ情報を削除後、ステップｓ１３０９において、サーバマネージャ６１１は、印刷が終了したグループ印刷情報を削除し、ステップｓ１３０２に戻る。
【０１３２】
一方、ステップｓ１３０４において、通常のジョブの印刷確認通知がきた場合は、ステップｓ１３１０において、サーバマネージャ６１１は、各クライアントマシンのクライアント６０１に通知し、ステップｓ１３１１でジョブを削除して、ステップｓ１３０２に戻る。
【０１３３】
このような手順で、通常のジョブの印刷確認の手順に、余分な処理をほとんど追加せずに、グループ印刷の印刷確認も行うことができる。
【０１３４】
これにより、プリンタ１０５からはジョブごとの印刷確認しか取得できなくとも、印刷されたジョブがまとめて印刷して排紙されたことを確認し、各印刷ジョブの印刷要求を発行したホストコンピュータにまとめて印刷されたことを通知することができる。
【０１３５】
〔第３実施形態〕
上記第２実施形態では、印刷要求された印刷ジョブがまとめて印刷して排紙されたことを確認し、各印刷ジョブの印刷要求を発行したクライアント（ホストコンピュータ）にまとめて印刷されたことを通知する場合について説明したが、印刷処理中にプリンタ１０５に何らかのエラーが発生する場合があり、印刷要求された印刷ジョブが、まとめて印刷、排紙される前に、プリンタにエラーが発生した場合には、ネットワーク上の別のプリンタにまとめて印刷先を変更するように構成してもよい。以下、その実施形態について説明する。
【０１３６】
図１４は、本発明の第３実施形態を示す情報処理装置における第５のデータ処理手順の一例を示すフローチャートであり、プリントサーバ６１０におけるサーバマネージャ６１１による印刷先変更の手順に対応する。なお、ｓ１４０１〜ｓ１４１４は各ステップを示す。また、本実施形態では、第１実施形態の手順で印刷を行い、第２実施形態の手順のプリントサーバが印刷確認待ちの状態からの処理を説明する。
【０１３７】
先ず、ステップｓ１４０１において、印刷確認用の処理を開始すると、ステップｓ１４０２で、サーバマネージャ６１１は、プリンタ１０５からの通知を基に、プリンタ１０５や印刷ジョブのステータスを取得したり、クライアント６０１からの通知を受け付けるウエイト（ｗａｉｔ）状態である。
【０１３８】
次に、ステップｓ１４０２において、サーバマネージャ６１１は、プリンタ１０５から印刷ジョブのエラーが通知された場合、ｓ１４０３においてデータ転送後のジョブのエラーかどうかを判断する。この判断は、ジョブごとのステータスをプリンタ１０５から直に取得してもよいし、印刷確認がとれないうちにプリンタ１０５がエラーになった場合もジョブのエラーと判断するなど、ジョブの正常な印刷完了が確認できない場合もジョブのエラーとして判断してもよい。
【０１３９】
このステップｓ１４０３で、プリンタ１０５に転送後のジョブのエラーと判断した場合は、ステップｓ１４０４において、サーバマネージャ６１１は、通知されたジョブＩＤからジョブ情報を検索し、グループ印刷のジョブかどうかジョブ情報を基に判断する。ここで、グループ印刷の印刷ジョブでないと判断された場合は、ステップｓ１４０５において、サーバマネージャ６１１は、印刷ジョブのステータスを「エラー」に設定し、ステップｓ１４０６において、ジョブを印刷したクライアント６００のクライアントマネージャ６０５に対して通知して、ステップｓ１４０２の次の確認待ち処理に戻る。
【０１４０】
一方、ステップｓ１４０４において、グループ印刷のジョブであると判断された場合は、ステップｓ１４０７で、サーバマネージャ６１１は、グループ印刷情報（ＧＰ−ＩＮＦＯ）を更新し、ステップｓ１４０８に進み、グループ印刷情報（ＧＰ−ＩＮＦＯ）の印刷ジョブのステータスをエラーとする。
【０１４１】
次に、ステップｓ１４０８において、サーバマネージャ６１１は、エラー時のプリンタの変更先が指定されていないプリンタであるかどうかを判定する。この判定処理は、後述するようにエラー時にクライアントから指定されることにより判定するが、予め図８に示すグループ指定情報内に、代替プリンタ名の情報を付加しておき、図１６に示すグループ印刷情報（ＧＰ−ＩＮＦＯ）に代替プリンタ名を管理することにより、サーバマネージャ６１１が判定してもよい。
【０１４２】
ここで、プリンタの変更先が指定されていないプリンタであると判定した場合は、通常のジョブと同様に、ステップｓ１４０５、ｓ１４０６で、サーバマネージャ６１１は、印刷ジョブのステータスを変更するだけで、クライアント６００のクライアントマネージャ６０５に通知する。この場合は、印刷先の変更はクライアント６００のクライアントマネージャ６０５から指示がくるまでは、実行されない。
【０１４３】
一方、ステップｓ１４０８で、もし、エラー時の変更先が指定されているプリンタであると判断された場合は、ステップｓ１４０９に進み、サーバマネージャ６１１は、変更先のプリンタ、例えばプリンタ６５０のリストデータにグループ内のジョブ情報をすべて移動する。また、グループ印刷情報（ＧＰ−ＩＮＦＯ）の管理も新しいプリンタのグループ印刷情報リストに移す。この場合は、プリントサーバ６１１が自動的にスプールしているプリンタを変更した後に、ステップｓ１４１０において、サーバマネージャ６１１は、印刷先の変更を各クライアントマシンのクライアントに通知し、印刷先の変更後は、第１実施形態と同様にグループ印刷のジョブとして印刷される。
【０１４４】
一方、図１４に示したステップｓ１４０２、ｓ１４０３、ｓ１４１１と進み印刷先変更指示である場合、ステップｓ１４１２において、サーバマネージャ６１１は、クライアントから印刷先変更を指定された印刷ジョブがグループ印刷のジョブであるかどうか、ジョブ情報を元に判断し、グループ印刷のジョブでなければ、ステップｓ１４１３において、サーバマネージャ６１１は、指定された印刷ジョブのみを移動し、グループ印刷のジョブであれば、ステップｓ１４１４において、グループ印刷情報（ＧＰ−ＩＮＦＯ）を更新し、ステップｓ１４０９、ｓ１４１０と進み、サーバマネージャ６１１は、グループ内におけるすべての印刷ジョブの出力先を変更先の代替プリンタに変更し、該当するプリンタにおける印刷キューに印刷ジョブのジョブ情報をスプールする。
【０１４５】
なお、印刷変更先のプリンタの指定方法は、レジストリやＩＮＩファイル、プリントサーバがプリンタを管理する情報で指定しておいてもよいし、同じプリンタドライバのプリンタをランダムに指定する、など、印刷したドキュメントが正常に印刷されるプリンタの指定方法であればなんでもよい。以下、エラー発生時に、プリントサーバ６１０からの印刷確認通知後、クライアント６００上のユーザ指示により、ジョブの印刷先を意図する他のプリンタに変更する場合の処理について説明する。
【０１４６】
図１５は、本発明の第３実施形態を示す情報処理装置における第６のデータ処理手順の一例を示すフローチャートであり、クライアントマネージャ６０５の印刷確認手順、および、クライアントマネージャ６０５におけるグループ印刷の印刷先変更手順（ジョブのエラー通知後の印刷先変更手順）に対応する。なお、ｓ１５０１〜ｓ１５１１は各ステップを示す。
【０１４７】
先ず、ｓ１５０１で、クライアントマネージャ６０５の起動時または印刷処理後に当該処理が開始されると、ステップｓ１５０２で、クライアントマネージャ６０５は、指示待ちとなり、サーバマネージャ６１１から何らかの指示があると、ステップｓ１５０３で、クライアントマネージャ６０５は、印刷確認通知であるかどうか判断する。なお、印刷先変更後であろうとなかろうと、印刷確認通知は同様である。
【０１４８】
ステップｓ１５０３で、印刷確認通知がなされたと判断した場合は、ステップｓ１５０４において、クライアントマネージャ６０５は、例えばジョブの印刷確認をダイアログボックスや、プリントマネージャのようなステータスの変化等を示すグラフィカルユーザインタフェース画面を提供し、ＯＳを介してディスプレイ２０７に表示させることによりユーザに通知する。この通知後、ステップｓ１５０２へ戻る。
【０１４９】
ここで、グループ印刷の場合、クライアントへの通知処理が終了後に、ジョブ情報が削除されるので、この表示処理に、ジョブ情報やグループ印刷情報をプリントサーバ６１０のサーバマネージャ６１１から取得して、グループ印刷の印刷確認が終了したことを示す特別な表示を行ってもよい。
【０１５０】
一方、ステップｓ１５０３で、印刷確認通知でなかったと判断した場合は、ステップｓ１５０５で、クライアントマネージャ６０５は、通知がエラー通知であるかどうかを判定して、エラー通知であると判断した場合は、ステップｓ１５０６に進み、クライアントマネージャ６０５は、ジョブのエラーであることを示すダイアログなどを提供し、ＯＳを介してディスプレイ２０７に表示させることによりユーザに通知する。この表示は、特別な通知メッセージを表示せずに、Ｗｉｎｄｏｗｓ（登録商標）のプリントマネージャのように印刷ジョブのステータスの変化としてクライアントマネージャ６０５からユーザに通知してもよい。
【０１５１】
そして、エラー通知の表示後、ステップｓ１５０７において、クライアントマネージャ６０５は、Ｗｉｎｄｏｗｓ（登録商標）のダイアログボックスのような印刷先変更用のユーザインタフェース（ＵＩ）提供し、ＯＳを用いて図２に示したディスプレイ２０７上に表示する。
【０１５２】
次に、ステップｓ１５０８において、クライアントマネージャ６０５は、ユーザの指示によりジョブの印刷先変更指示がなされているかどうかを判定し、印刷先変更指示がなされていると判断した場合は、ステップｓ１５０９に進み、クライアントマネージャ６０５は、変更先をサーバ６１０のサーバマネージャ６１１に通知して、ステップｓ１５０２へ戻る。なお、グループ印刷のジョブであっても印刷先変更する印刷ジョブに対し、印刷先を指定するだけでよい。
【０１５３】
また、サーバマネージャ６１１によって印刷先が変更された場合は、サーバマネージャ６１１から印刷先変更の通知が届く、この場合は、ステップｓ１５０２の指示待ちからステップｓ１５０３、ｓ１５０５と進み、ステップｓ１５１０で、クライアントマネージャ６０５は、印刷先変更指示がなされているかどうかを判定し、印刷先変更指示がなされていない場合は、ステップｓ１５０２へ戻り、印刷先変更指示がなされていると判断した場合は、ステップｓ１５０１１に進み、変更された印刷先を図２に示したディスプレイ２０７上にダイアログボックス等でユーザに通知して、ステップｓ１５０２へ戻る。この場合は、ジョブの印刷先変更処理の終了後であるので、変更結果の通知のみである。
【０１５４】
このようにしてクライアント６００のクライアントマネージャ６０５から印刷先の変更を指示されたプリントサーバ６１０のサーバマネージャ６１１は、図１４に示したステップｓ１４０２、ｓ１４０３、ｓ１４１１と進み印刷先変更指示である場合、ステップｓ１４１２において、クライアントから印刷先変更を指定されたジョブがグループ印刷のジョブであるかどうか、ジョブ情報を元に判断し、グループ印刷のジョブでなければ、ステップｓ１４１３において、指定されたジョブのみを移動し、グループ印刷のジョブであれば、ステップｓ１４１４において、ＧＰ−ＩＮＦＯを更新し、ステップｓ１４０９、ｓ１４１０と進み、グループ内のすべてのジョブを変更先のプリンタにスプールする。
【０１５５】
また、グルーピングジョブの印刷先が変更された場合、サーバマネージャ６１１は、以下の判断を行う。
【０１５６】
まず、サーバマネージャ６１１は、変更された印刷先のプリンタがフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断する。印刷先のプリンタがフェイスダウンプリンタである場合は、印刷ジョブの先頭から印刷すればよいのでグループジョブ管理テーブル６１６に管理されているグループ指定情報（ＧＰ−ＩＮＦＯ）の印刷順に従って印刷ジョブの送信を制御すればよい。一方、印刷先のプリンタがフェイスアッププリンタである場合は、印刷ジョブの後ろから印刷しなければならない。
【０１５７】
ここで、１つの印刷ジョブ内のページ順序はプリンタの機能を用いて、印刷ジョブをプリンタ内にスプールして最終ページから印刷動作を行えばよいが、複数の印刷ジョブをグループ化してあたかも１つの印刷ジョブとして扱うべきグルーピングジョブの場合は、グループ指定情報の印刷順の後ろから順に送信制御を行う必要がある。よって、フェイスアッププリンタに印刷先が変更された場合は、グループ指定情報で指定される印刷順序の最後の印刷ジョブから順に、スプール方法を判断する。そして、サーバスプーラ６１２を用いていると判断された場合は、サーバスプーラにスプールされている印刷ジョブを送信し、クライアントスプーラ６０６を用いていると判断された場合は、印刷すべき印刷ジョブの印刷要求を発行したクライアントのクライアントマネージャ６０５に対して送信許可情報を通知する。
【０１５８】
また、フェイスアッププリンタからフェイスダウンプリンタに印刷先が変更された場合は、サーバマネージャ６１１は、印刷逆順から印刷順に送信制御を行えばよい。このように制御することにより、排紙方法が異なるプリンタに対して印刷先が変更された場合であっても、グルーピングジョブの排紙順序を保った印刷処理を行うことが可能となる。
【０１５９】
なお、印刷先変更の指定は、どのクライアントからも指示することができるが、他のクライアントから、先に指示が出された場合は、プリントサーバの印刷先自動変更処理と同様に、各クライアントには、変更結果の表示のみ行われる。
【０１６０】
以上のような手順により、プリントサーバ６１１は、グループ内のすべてのジョブの印刷の終了を確認する前に、プリンタ１０５のエラーなどで、印刷が続行できない場合は、デフォルトで指定されている印刷先に自動的に印刷先を変更したり、またはクライアント６００のクライアントマネージャ６０５からの指示で、まとめて印刷先変更することが可能となる。
【０１６１】
なお、上記実施形態では、ネットワークプリンタを例として説明したが、ネットワークプリンタに限らず、プリントサーバにローカル接続されたプリンタなどのように、プリントサーバからデータを送信、ステータス情報を取得できるプリンタであれば、どんなプリンタでもよい。
【０１６２】
また、仮想プリントサーバシステムのようにジョブ情報のスプールだけの場合でも、さらに、ネットワークプリンタ内部にプリントサーバ機能がある場合でも、本発明を適用することができる。
【０１６３】
上記各実施形態によれば、複数のクライアントから複数のジョブを任意のタイミング印刷しても、プリンタから、指定された順にまとめて、印刷することを可能にする。また、まとめて印刷したジョブがすべて印刷されたことを各ジョブを印刷したクライアントＰＣで確認することが可能になる。さらに、まとめて印刷されるべきジョブの印刷が確認できない場合に、印刷先のプリンタを変更して、複数のジョブをまとめて印刷することを可能にする。
【０１６４】
以下、図２０に示すメモリマップを参照して本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【０１６５】
図２０は、本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１６６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１６７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１６８】
本実施形態における図１０〜図１５に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１６９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１７０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１７２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１７４】
【図１】本発明を適用可能な情報処理システムの構成を説明するブロック図である。
【図２】本発明の第１実施形態を示す情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭのメモリマップの一例を示す図である。
【図４】図２に示したＦＤのメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブに対して挿入されるＦＤとの関係を示す図である。
【図６】本発明の第１実施形態を示す情報処理装置のプリント制御モジュール構成を説明するブロック図である。
【図７】図６に示したクライアントとサーバとで共通となるジョブ情報のデータ構造の一例を示す図である。
【図８】図６に示したクライアントマシンで管理されるグループ指定情報の一例を示す図である。
【図９】本発明の処理を簡単に示すシーケンス図である。
【図１０】本発明に係る情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明に係る情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１２】本発明に係る情報処理装置における第３のデータ処理手順の一例を示すフロー−チャートである。
【図１３】本発明に係る情報処理装置における第４のデータ処理手順の一例を示すフロー−チャートである。
【図１４】本発明に係る情報処理装置における第５のデータ処理手順の一例を示すフローートである。
【図１５】本発明に係る情報処理装置における第６のデータ処理手順の一例を示すフローートである。
【図１６】図６に示したサーバマシンにより作成されるグループ印刷情報のデータ構造の一例を示す図である。
【図１７】クライアント内のモジュールにより提供されるグループ印刷を指定するためのダイアログボックス画面の一例である。
【図１８】プリントサーバで管理されるグループジョブ管理テーブルに応じて、クライアントで表示されるグラフィカルユーザインタフェース画面の一例である。
【図１９】プリンタドライバにより提供される印刷設定を行うためのグラフィカルユーザインタフェース画面の一例である。
【図２０】本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１７５】
１０５  プリンタ
１０６  ネットワーク
６００  クライアント
６０１  アプリケーション
６０２  グラフィックエンジン
６０３  プリンタドライバ
６０４  システムスプーラ
６０５  クライアントマネージャ
６０６  クライアントスプーラ
６１０  プリントサーバ
６１１  サーバマネージャ
６１２  サーバスプーラ
６１３  ジョブ管理テーブル
６１５  印刷キュー
６１６  グループジョブ管理テーブル
６５０  プリンタ
【図１】
2005004798.tif 000003
【図２】
2005004798.tif 000004
【図３】
2005004798.tif 000005
【図４】
2005004798.tif 000006
【図５】
2005004798.tif 000007
【図６】
2005004798.tif 000008
【図７】
2005004798.tif 000009
【図８】
2005004798.tif 000010
【図９】
2005004798.tif 000011
【図１０】
2005004798.tif 000012
【図１１】
2005004798.tif 000013
【図１２】
2005004798.tif 000014
【図１３】
2005004798.tif 000015
【図１４】
2005004798.tif 000016
【図１５】
2005004798.tif 000017
【図１６】
2005004798.tif 000018
【図１７】
2005004798.tif 000019
【図１８】
2005004798.tif 000020
【図１９】
2005004798.tif 000021
【図２０】
2005004798.tif 000022