(57)【要約】【課題】  割り込み機能を持つ印刷装置において、印刷装置の前にいるユーザは、印刷装置の操作パネルを操作し、割り込み指示を行う必要があり、操作が煩雑であるという課題がある。【解決手段】  印刷装置を操作するユーザを特定するユーザ特定手段と、印刷ジョブ実行中に印刷中のジョブに他の印刷ジョブを割り込み実行する割り込み手段を持ち、前記ユーザ特定手段がユーザ特定をした時点で、他ユーザの印刷ジョブを実行中であり、かつ、前記ユーザ特定手段が特定したユーザの印刷ジョブが待機中である場合、前記割り込み手段が、前記ユーザ特定手段が特定したユーザの印刷ジョブを、他ユーザの印刷ジョブに割り込み印刷を行う手段を備える。【選択図】  図９
2011095893.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置において、印刷装置を操作するユーザを特定するユーザ特定手段（３０６）と、印刷ジョブ実行中に印刷中のジョブに他の印刷ジョブを割り込み実行する割り込み手段を持ち、前記ユーザ特定手段がユーザ特定をした時点で、他ユーザの印刷ジョブを実行中であり、かつ、前記ユーザ特定手段が特定したユーザの印刷ジョブが待機中である場合、前記割り込み手段が、前記ユーザ特定手段が特定したユーザの印刷ジョブを、他ユーザの印刷ジョブに割り込み印刷を行う手段（S902,S903）を持つことを特徴とする印刷装置。
【請求項２】
印刷装置において、印刷装置を操作するユーザを特定するユーザ特定手段（３０６）と、印刷ジョブ実行中に印刷中のジョブに他の印刷ジョブを割り込み実行する割り込み手段と、ユーザが印刷装置を直接操作して印刷ジョブを発生させる印刷ジョブ生成手段（３０５）と、前記印刷ジョブ生成手段が印刷ジョブ生成時に、他のユーザのジョブを実行中である場合、前記割り込み手段が、前記ユーザ特定手段が特定したユーザの印刷ジョブを、他ユーザの印刷ジョブに割り込み印刷を行う手段を持つことを特徴とする印刷装置。
【請求項３】
請求項１、請求項２の印刷装置において、実行中のジョブを割り込みのために中断する場合に要する復帰時間を算出する、復帰時間算出手段（S1101）と、他ユーザの印刷ジョブに割り込み印刷を行う手段が、割り込み印刷をする場合、復帰時間が、あらかじめ設定された一定時間を超える場合、ユーザに対して、割り込み印刷印刷を行うか否か問い合わせる問い合わせ手段（S1103）と、前記問い合わせ手段が問い合わせた結果に応じて割り込み印刷を行う手段(S1105)を持つ印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上にて複数ユーザに共有され、且、ユーザ認証にてログイン機能を持つ印刷装置に関する。
【背景技術】
【０００２】
近年、デジタル複合機やプリンタ等の印刷装置はネットワークに接続され、複数ユーザから共有して使用される形態が一般的となっている。
【０００３】
このように、複数ユーザより共有される印刷装置は、複数のユーザから同時に印刷ジョブを投入される場合がある。そのような場合、あるユーザが印刷装置に印刷ジョブを投入した後、印刷装置まで出力した印刷物を取りに行っても、他のユーザの印刷ジョブを実行中であり、ユーザが印刷装置の前で、他ユーザの印刷ジョブが終了するのを待た無ければならない場合がある。
【０００４】
また、印刷装置にはプルプリントやBOXプリント等、ユーザが印刷装置のパネルを直接操作して印刷ジョブを開始する場合がある。このように、ユーザが機器の前にいる状態であっても、操作前または操作中にネットワークから他のユーザが印刷ジョブを投入すると該印刷ジョブの印刷が開始され、操作パネルを操作して印刷しようとした印刷ジョブの印刷を待たされる場合がある。
【０００５】
このような課題を解決するため、印刷装置には、他ユーザの印刷ジョブの印刷を中断し、指定した印刷ジョブを先に印刷する割り込み印刷機能を持つものがある（例えば、特許文献１参照）。
【０００６】
一方で、ICカードやユーザIDとパスワード入力等、によるユーザ認証機能を備える印刷装置も普及している。ユーザ認証が行われた印刷装置は、認証されたユーザのログイン状態となり、ログインユーザの特定が可能となり、に対しログインユーザに対してのみ、特定の機能を提供したり、ユーザ画面や機能のパーソナライズ（カスタマイズ）機能を提供する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第3134539号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、割り込み機能を持つ場合であっても、印刷装置の前にいるユーザは、印刷装置の操作パネルを操作し、割り込み指示を行う必要があり、操作が煩雑であるという課題がある。
【０００９】
また、割り込み印刷機能は、実行中の印刷ジョブを一度、キャンセルし、割り込んだ印刷ジョブの実行後、再度印刷するという構成をしている場合があり、このよう場合がある。
【００１０】
このような構成では、割り込まれた印刷ジョブの復帰に非常に時間がかかる場合があるという課題がある。
【課題を解決するための手段】
【００１１】
上記課題を解決する本発明の印刷装置は、印刷装置を操作するユーザを特定するユーザ特定手段（３０６）と、印刷ジョブ実行中に印刷中のジョブに他の印刷ジョブを割り込み実行する割り込み手段(図１１)を持ち、前記ユーザ特定手段がユーザ特定をした時点で、他ユーザの印刷ジョブを実行中であり、かつ、前記ユーザ特定手段が特定したユーザの印刷ジョブが待機中である場合、前記割り込み手段が、前記ユーザ特定手段が特定したユーザの印刷ジョブを、他ユーザの印刷ジョブに割り込み印刷を行う手段（S902,S903）を備える。
【００１２】
さらに、上記課題を解決する本発明の印刷装置は、印刷装置を操作するユーザを特定するユーザ特定手段（３０６）と、印刷ジョブ実行中に印刷中のジョブに他の印刷ジョブを割り込み実行する割り込み手段（図１１）と、ユーザが印刷装置を直接操作して印刷ジョブを発生させる印刷ジョブ生成手段（３０５）と、前記印刷ジョブ生成手段が印刷ジョブ生成時に、他のユーザのジョブを実行中である場合、前記割り込み手段が、前記ユーザ特定手段が特定したユーザの印刷ジョブを、他ユーザの印刷ジョブに割り込み印刷を行う手段を持つことを備える。
【００１３】
また本発明の印刷装置は、さらに、実行中のジョブを割り込みのために中断する場合に要する復帰時間を算出する復帰時間算出手段（S1101）と、他ユーザの印刷ジョブに割り込み印刷を行う手段が、割り込み印刷をする場合、復帰時間が、あらかじめ設定された一定時間を超える場合、ユーザに対して、割り込み印刷印刷を行うか否か問い合わせる問い合わせ手段（S1103）と、前記問い合わせ手段が問い合わせた結果に応じて割り込み印刷を行う手段(S1105)を備える。
【発明の効果】
【００１４】
本発明によれば、印刷装置にユーザがログイン時、他ユーザのジョブが実行中である場合、自動的に割り込み印刷を行うことで、ログインユーザの印刷ジョブを最優先で印刷を行う。ログインユーザが煩雑な操作をすること無しに、自分の印刷ジョブが最優先で実行される、ユーザビリティの高い印刷装置を提供する。
【００１５】
また、割り込み対象の印刷ジョブの復帰に時間がかかる場合には、ログインユーザに割り込みの可否の判断を仰ぐことで、自動割込みによる、生産性低下を防止する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例のカラー複合機の構造を示す側断面図である。
【図２】本発明の実施例における各機器のコントロールユニットの構成例を示すブロック図である。
【図３】本発明の実施例にコントローラソフトウェアの構成の一例を示すブロック図である。
【図４】本発明の実施例におけるジョブ管理項目の一例である。
【図５】本発明の実施例におけるＰＤＬジョブ制御処理を示すフローチャートである。
【図６】本発明の実施例における非ページ独立PDL処理を示すフローチャートである。
【図７】本発明の実施例におけるページ独立PDL処理を示すフローチャートである。
【図８】本発明の実施例におけるPDLインタプリター処理を示すフローチャートである。
【図９】本発明の実施例におけるログイン時の処理を示すフローチャートである。
【図１０】本発明の実施例におけるプルプリントの処理を示すフローチャートである。
【図１１】本発明の実施例における割り込み処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００１８】
（画像処理装置の構成）
本実施例を適用するに好適な１Ｄカラー複合機１の構成について、図１を用いて説明する。
【００１９】
なお、本実施例を適用する画像形成装置は、カラー複合機に限られるものではなく、他のモノクロ複合機やプリンタ単体機等、他の画像形成装置でも良いことは言うまでもない
１Ｄカラー複合機は、スキャナ部、レーザ露光部、感光ドラム、作像部、定着部、給紙／搬送部及び、これらを制御する不図示のプリンタ制御部から構成される。
【００２０】
スキャナ部は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する工程である。
【００２１】
レーザ露光部は、前記画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射させ、反射走査光として感光ドラムに照射する。
【００２２】
作像部は、感光ドラムを回転駆動し、帯電器によって帯電させ、前記レーザ露光部によって感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。その際、シートが転写ベルトの所定位置に巻きつき、４回転する間に、マゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つそれぞれの現像ユニット（現像ステーション）が入れ替わりで順次前述の電子写真プロセスを繰り返し実行する。４回転の後、４色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部へ搬送される。
【００２３】
定着部は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
【００２４】
給紙／搬送部は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上持っており、前記プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部・定着部へ搬送する。シートは作像部の転写ドラムに巻きつけられ、４回転した後に定着部へ搬送される。４回転する間に前述のＹＭＣＫ各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部を通過したシートを再度作像部へ搬送する搬送経路を通るように制御する。
【００２５】
プリンタ制御部は、複合機全体を制御するコントローラユニットと通信して、その指示に応じて制御を実行すると共に、前述のスキャナ、レーザ露光、作像、定着、給紙／搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
【００２６】
(コントローラユニットの構成)
図２は、本実施形態に係る画像処理システムにおけるカラー複合機１のコントロールユニット（コントローラ）の一構成例を示すブロック図である。図２において、コントロールユニット２００は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタエンジン１０３と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット２００は、ＬＡＮ１０や公衆回線２０４と接続することで、画像情報やデバイス情報をネットワーク経由で入出力するためのコントロールでもある。
【００２７】
図２に示すコントロールユニットにおいて、ＣＰＵ２０５はシステム全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０７はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０８はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データや後述するドキュメントデータ等格納する。
【００２８】
さらに、図２において、操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示画面を有する操作部２１０に対するインタフェース部であり、当該操作部２１０に対して画像データを出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０から操作者（すなわち、本カラー複合機１の使用者）が入力した情報をＣＰＵ２０５に伝える役割をする。さらに、ネットワークインタフェース２１１は、例えばＬＡＮカードで実現され、ＬＡＮ１に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム２１２は公衆回線２０４に接続し、外部装置との間で情報の入出力を行う。
【００２９】
本実施形態に係るコントロールユニット２００では、以上のデバイスがシステムバス２１３上に配置されている。
【００３０】
次に、イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１５は、ＰＣＩバス又はＩＥＥＥ１３９４で構成される。そして、画像バス２１５上には、以下で説明するＲＩＰ２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像編集用画像処理部２２０、カラーマネージメントモジュール（CMM）２３０といったデバイスが接続される。
【００３１】
デバイスＩ／Ｆ部２１７は、スキャナ２０１やプリンタエンジン２０２とコントロール２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００３２】
また、スキャナ画像処理部２１８は、入力画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、プリント出力画像データに対して、プリンタの補正、解像度変換等の処理を行う。画像編集用画像処理２２０は、画像データの回転や、画像データの圧縮伸長処理および、ＲＩＰ２１６の生成した属性ビットに基づいた各種画像処理を行う。
【００３３】
CMM２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理を施す専用ハードウェアモジュールである。
【００３４】
ICカードリーダ２３５は、ICカード読み取り装置であり、非接触でICカードからICカードに登録されている情報を読み取る。
【００３５】
(コントローラソフトウェア構成)
図３は、本実施形態に係る画像処理システムにおけるカラー複合機１のコントロールユニット２００上で動作する、コントローラソフトウェアのモジュール構成の一例を示すブロック図である。
【００３６】
本ソフトウェアは主にＣＰＵ２０５上で動作する。
【００３７】
図３に示すジョブコントロール処理３０１は図示/不図示の各ソフトウェアモジュールを統括・制御し、カラー複合機１内で発生するあらゆるジョブの制御を行う。
【００３８】
ネットワーク処理３０２は、主にネットワークＩ／Ｆ２１１を介して行われる、外界との通信を制御するモジュールであり、ＬＡＮ１０の各機器との通信制御を行う。ネットワーク処理部３０２はＬＡＮ１０の各機器からの制御コマンドやデータを受信すると、その内容を、ジョブコントロール処理３０１へ通知する。また、ジョブコントロール処理３０１からの指示に基づき、ＬＡＮ１０の各機器へ制御コマンドやデータの送信を行う。
【００３９】
ＵＩ処理３０３は、主に操作部２１０に係る制御をおこなう。操作者が操作部２１０を操作した内容を、ジョブコントロール処理３０１へ通知すると共に、ジョブコントロール処理３０１からの指示に基づいて、操作部２１０上の表示画面の表示内容を制御する。
【００４０】
ＦＡＸ処理３０４は、ＦＡＸ機能の制御をおこなう。ＦＡＸ処理３０４は、モデム２１２を介してＦＡＸ受信を行い、ＦＡＸ画像特有の画像処理を施した後、受信画像をジョブコントロール処理３０１へ通知する。また、ジョブコントロール処理３０１からの指定される画像を、指定通知先へＦＡＸ送信を行う。
【００４１】
プルプリント処理３０５は、操作部２１０より操作者が指示したネットワーク上のデータのパス情報を、ジョブコントロール処理３０１を介して受け取る。プルプリント処理３０５は、ネットワーク処理３０２を介して、該データを受信し、ジョブコントロール処理に渡すことで、ネットワーク上のデータのプルプリント処理を行う。
【００４２】
ユーザ認証処理３０６は、ICカードリーダ２３５を介して、操作者が提示するICカードの情報を読み取り。読み取った情報をネットワーク処理３０２を介して図示しない外部の認証サーバに通知することで、ICカードに含まれるユーザの認証依頼を行う。認証サーバから、ICカードに対応するユーザの認証許可通知を受け取ると、ジョブコントロール処理３０１へユーザIDを通知し、該ユーザにログインユーザとして本カラー複合機１への操作を与える。また、認証が不許可である場合には、該操作者に対し、本カラー複合機１への操作権限を与えない。なお、本実施例ではICカードと外部認証サーバによる認証としているが、予め登録済みのユーザIDとパスワードによるユーザ認証等、他のユーザに認証形態をとってもよいことは言うまでもない。
【００４３】
プリント処理３０７は、ジョブコントロール処理３０１の指示に基づいて、画像編集用画像処理部２２０、プリンタ画像処理２１９およびプリンタエンジン２０２を制御し、指定画像の印刷処理を行う。プリント処理３０７は、ジョブコントロール処理３０１より、画像データ、画像情報（画像データのサイズ、カラーモード、解像度）、レイアウト情報（オフセット、拡大縮小、面つけ）および出力用紙情報（サイズ、印字方向）の情報を受けつける。続いて、画像処理部２２０およびプリンタ画像処理２１９を制御して、画像データに対して適切な画像処理を施し、プリンタエンジン２０２を制御して指定用紙への印刷を行う。
【００４４】
スキャン処理３１０は、ジョブコントロール処理３０１の指示に基づいて、スキャナ２０１およびスキャナ画像処理２１８を制御して、スキャナ２０１上にある原稿の読み込みを行う。ジョブコントロール処理３０１の指示には、カラーモードが含まれており、スキャン処理３１０ではカラーモードに応じた処理が行われる。すなわち、カラーモードがカラーであれば、原稿をカラー画像として入力し、カラーモードがモノクロであれば、原稿をモノクロ画像として入力する。また、カラーモードがＡｕｔｏである場合には、プレスキャンにより原稿のカラー/モノクロ判定を行った後、判定結果に基づいた画像として入力する。スキャン処理３１０は、スキャナ２０１の原稿台にある原稿のスキャンを実行し、デジタルデータとして画像の入力を行う。入力した画像のカラー情報は、ジョブコントロール処理３０１へ通知される。さらに、スキャン処理３１０は入力画像に対し、スキャナ画像処理２１８を制御して画像の圧縮等、適切な画像処理を施した後、ジョブコントロール処理３０１へ画像処理済みの入力画像を通知する。
【００４５】
PDLジョブ制御処理３０９は、ジョブコントロール処理３０１の指示に基づいて、PDL処理特有のジョブ制御処理を行う。PDLには、PDLデータを先頭から解析し、1ページ目から順次画像生成を行わなければならない、非ページ独立なPDLと、任意のページのデータのみ解析し画像生成可能なページ独立なPDLの2つのタイプがある。PDLジョブ制御処理は、PDLのタイプに応じて適切な制御処理を行う。
【００４６】
PDL処理３１１はPDLジョブ制御処理３０９の指示に基づいて、ＰＤＬデータを解析し、解析した内容に基づいて描画処理を行い、生成した画像をジョブコントロール処理３０１生成へ通知する。PDL処理３１１は、複数のタイプのPDLの解析・描画を行うことが可能であるが、同時に1つのデータのみの解析・描画ができる。
【００４７】
ドキュメント管理処理３０８は、ジョブコントロール処理３０１の指示に基づいて、「ドキュメントデータ」を生成しＨＤＤ２０８へ格納する。また、ドキュメント管理処理３０９は、ジョブコントロール処理３０１が指定するドキュメントデータを、ＨＤＤ２０８から検索しジョブコントロール処理３０１へ通知する。
【００４８】
（PDLジョブ制御処理）
ここで本実施例に係る、PDLジョブ制御処理の動作を図4及び図5のフローチャートを参照して説明する。
【００４９】
PDLジョブ制御処理は、ジョブコントロール処理３０１から通知されるPDLジョブをジョブ管理項目として保持し、各ジョブ管理項目をリスト構造で管理する。ジョブコントロール処理３０１は、ネットワーク処理３０２を介して複数のPDLデータを受信し、PDLジョブを複数生成・処理可能であるが、PDLジョブ制御処理は生成されたPDLジョブを一つずつ逐次処理を行う。なお、ジョブ管理項目のリスト構造は、ジョブコントロール処理３０１からも参照可能に構成されている。
【００５０】
図４にPDLジョブ制御処理の生成するジョブ管理項目の一例を示す。ジョブ管理項目には、ジョブID、入力データ情報、ユーザID、ジョブ名、再開ページ、開始時間、前ジョブID、次ジョブIDが含まれる。ジョブ管理項目の、ユーザID、PDLタイプ、ジョブ名、入力データ情報は、PDLジョブに付随するものであり、ジョブコントロール処理から、ジョブ生成イベントと共にPDLジョブ制御処理に通知される。ジョブ管理項目の、ジョブIDは、一意にジョブ管理項目を特定可能なIDである。ジョブ管理項目のユーザIDは、PDLジョブを生成したユーザのID情報である。ジョブ管理項目の、PDLタイプには、PostScript（登録商標）やPDF等のPDL種別が含まれる。ジョブ管理項目のジョブ名は、PDLデータに付随するジョブ名である。ジョブ管理項目の入力データ情報は、PDLジョブの入力データを特定するための情報であり、入力データの含まれるファイルへのパス情報や、入力バッファのアドレス情報である。ジョブ管理項目の、再開ページは、割り込みを受けたジョブの再開時のページ情報であり、ジョブ管理項目生成時には１に初期化される。ジョブ管理項目の開始時間は、割り込みを受けたジョブが再開時に割り込みを受けた処理位置と同じ処理位置まで復帰するのに要する時間を計算するための情報である。ジョブ管理項目の前ジョブID及び次ジョブIDは、PDLジョブ制御処理がジョブ管理項目をリスト管理するための情報である。PDLジョブ制御処理は、ジョブ管理項目をリストで管理し、基本的にはリストの先頭にジョブ管理項目のジョブから実行していく。前記、前ジョブIDには、リストの前に位置するジョブ管理項目に含まれるジョブIDが保持され、前記、次ジョブIDには、リストの次にくるジョブ管理項目のジョブIDが保持される。また、PDLジョブ制御処理は、リストの先頭に位置するジョブ管理項目を先頭ジョブとして、リストの最後のジョブ管理項目を最終ジョブと保持する。なお、ジョブ管理項目には図４に例示されるものだけでなく、ジョブに紐づけられるものであれば、他の項目を含んでいてもよいことは言うまでもない。
【００５１】
PDLジョブ制御処理は動作を開始すると、S501でイベント待ち状態となる。PDLジョブ制御処理は、イベント待ち状態では、“ジョブ生成”、“割り込み”、“ジョブ終了”のイベントを受けうると、イベントに応じた各種処理を行う。
【００５２】
PDLジョブ制御処理は、ジョブコントロール処理３０１から、“ジョブ生成イベント”を受信すると、S502でジョブ管理項目の生成し、S503へ進む。
【００５３】
S503ではPDLジョブ制御処理は、先頭ジョブを確認することでジョブ管理項目リストにジョブ管理項目があるか判断し、先頭ジョブにジョブ管理項目があればS504へ進み、先頭ジョブにジョブ管理項目が無ければ、S505へ進む。
【００５４】
S504では、S502で生成したジョブ管理項目をリストの最後に追加し、S501へ戻る。具体的には、最終ジョブのジョブ管理項目の次ジョブIDに、S502で生成したジョブ管理項目のジョブIDを設定し、最終ジョブにジョブ管理項目に該ジョブ管理項目を登録し、該ジョブ管理項目の次ジョブIDをNULLとする。
【００５５】
S505では、PDLジョブ制御処理は、S50２で生成したジョブ管理項目の、前ジョブID及び次ジョブIDをNULLに設定し、先頭ジョブ及び最終ジョブに該ジョブ管理項目を登録することで、リストの先頭に追加し、S506へ進む。
【００５６】
S506では、PDL処理３１１に先頭ジョブのジョブ管理項目の情報を通知し、ジョブ管理項目に該当するPDLジョブの実行を開始する。
【００５７】
PDLジョブ制御処理は、割り込みイベントを受信すると、S507へ進む。
【００５８】
S507では、ジョブコントロール処理３０１から割り込みイベントと共に通知される、割り込むジョブのジョブIDを含むジョブ管理項目（指定ジョブ管理項目）をリストの先頭に移動し、S508へ進む。具体的には、指定ジョブ管理項目の次ジョブIDに先頭ジョブのジョブ管理項目に含まれるジョブIDを登録する。また、先頭ジョブのジョブ管理項目の前ジョブIDに指定ジョブ管理項目のジョブIDを登録し、さらに、先頭ジョブに指定ジョブ管理項目を登録する。
【００５９】
S508では、PDL処理に割り込み通知を行うことで、実行中ジョブの停止を行い、S506へ進む。S50７、S508、S506の処理により、実行中のPDLが停止され、指定ジョブ管理項目に該当するPDLジョブの実行が開始されることで割り込み処理が実行される。
【００６０】
PDLジョブ制御処理は、PDL処理３１１からジョブ終了イベントを受信すると、S509で先頭ジョブに保持されているジョブ管理項目をリストから削除し、S510へ進む。具体的には、先頭ジョブのジョブ管理項目の次ジョブのジョブIDを含むジョブ管理項目を先頭ジョブ設定し、先頭ジョブに設定されていたジョブ管理項目はメモリ上から削除される。
【００６１】
S510ではPDLジョブ制御処理は、先頭ジョブを確認することで、ジョブ管理項目リストにジョブ管理項目があるか判断し、先頭ジョブにジョブ管理項目があればS511へ進み、先頭ジョブにジョブ管理項目が無ければ、S501へ戻る。
【００６２】
S511では、PDLジョブ制御処理は、現在パネルからのログインユーザがあるか否か、ログインユーザがいる場合には、該ログインユーザIDを含むジョブ管理項目がリスト上にあるか否かを判断する。ログインユーザのユーザIDを含むジョブ管理項目がリスト上にある場合には、S512で該ジョブ管理項目をリストの先頭に移動し、S506で該ジョブ管理項目に一致するPDLジョブの実行を行う。具体的には、リストに含まれるジョブ管理項目をリストの先頭から順次探索し、ログインユーザのユーザIDに一致したジョブ管理項目があった場合、リスト操作を行うことで、該ジョブ管理項目をリストの先頭に移動し、先頭ジョブに登録する。S511で、ログインユーザがない場合、またはログインユーザのユーザIDを含むジョブ管理項目がない場合には、S506へ進み、先頭ジョブに登録されている、ジョブ管理項目に一致するPDLジョブの実行をおこなう。
【００６３】
S511及びS512の処理により、ログインユーザがある場合、ログインユーザの生成したPDLジョブが他ユーザのPDLジョブに優先して実行される。
【００６４】
本PDLジョブ制御処理によれば、ジョブコントロール処理３０１より“ジョブ生成”イベントして通知されるPDLジョブはジョブ管理項目としてリスト追加され、リストの先頭のPDLジョブから順次実行される。一方で、ジョブコントロール処理３０１より、“割り込みイベント”を通知されたとき、実行中のPDL処理をキャンセルし、“割り込みイベント”共に通知されたPDLジョブをリストの先頭にすることで、該PDLジョブを優先して処理可能としている。
【００６５】
（PDL処理）
ここで本実施例に係る、PDL処理の動作を図６及び図７のフローチャートを参照して説明する。
【００６６】
PDL処理は、PDLジョブ制御処理から通知されるPDLタイプにより、非ページ独立PDL処理とページ独立PDL処理に切り替えられる。
【００６７】
図６のフローチャートを参照して非ページ独立PDL処理の動作を説明する。
【００６８】
PDL処理は非ページ独立PDL処理の動作を開始すると、S601で、ジョブ管理項目中の開始時間を現在時間で初期化する。
【００６９】
S602では、PDLタスクを起動する。PDLタスクでは、後述するPDLインタプリタ―処理が動作する。また、PDLインタプリター処理開始時には、開始ページとして1ページ目を指定する。
【００７０】
PDLタスクを開始すると、PDL処理は、S603で、S602で起動したPDLタスクからのイベント通知および、ジョブ管理モジュールからの割り込みイベント待ちを行い、受信したイベントに応じた各処理を行う。
【００７１】
PDL処理は、PDLタスクからページ開始イベントを受信すると、S604で、PDLインタプリター処理の生成する描画処理の結果を格納するページバッファを準備し、開始イベントと共に通知されるページ番号を処理ページとして保持して、S603に戻る。
【００７２】
PDL処理は、PDLタスクからのページ終了イベントを受信すると、S605へ進み、再開ページと開始イベント通知されたページ番号を比較することで、PDLタスクの処理中のページが再開ページに達しているか判断する。PDLタスクの処理中のページが再開ページに達していない場合、S606でページバッファを廃棄しS603へ戻る。PDLタスクの処理中のページが再開ページ以上である場合には、S607でページバッファをスプール画像としてHDDに格納し、S603へ戻る。
【００７３】
PDL処理は、ジョブ管理モジュールからの割り込みイベントを受信すると、S608でPDLタスクへジョブキャンセルの指示を行うことで、PDLタスクを終了し、S609へ進む。S609では、PDLジョブに紐付けられている再開ページと処理ページを比較し、処理ページが再開ページ以上であれば、S610へ進み、再開ページを処理ページで更新・保持し、非ページ独立PDL処理を終了する。また、S609で処理ページが再開ページ未満である場合、非ページ独立PDL処理を終了する。
【００７４】
PDL処理は、PDLタスからジョブ終了イベントを通知されると、非ページ独立PDL処理を終了する。
【００７５】
図７のフローチャートを参照してページ独立PDL処理の動作を説明する。
【００７６】
PDL処理はページ独立PDL処理の動作を開始すると、S701でジョブ管理項目中の開始時間およびジョブ初期化時間を現在時間に初期化する。
【００７７】
S702では、PDLタスクを起動する。PDLタスクでは、後述するPDLインタプリタ―処理が動作する。また、PDLインタプリター処理開始時には、開始ページの指定を行う。開始ページは、新規のPDLジョブであれば1ページであり、割り込み後の、再開ジョブでは、割り込み時にPDLジョブに紐付けられて保持されている再開ページである。
【００７８】
PDLタスクを開始すると、PDL処理は、S703で、S702で起動したPDLタスクからのイベント通知および、ジョブ管理モジュールからの割り込みイベント待ちを行い、受信したイベントに応じた各処理を行う。
【００７９】
PDL処理は、PDLタスクからページ開始イベントを受信すると、S704で開始イベントともに通知されるページ番号とS702で指定した開始ページを比較し、通知されたページ番号と開始ページが等しければS705へ進み、異なればS706へ進む。
【００８０】
S705では、ジョブ初期化時間に経過時間をインクリメントしS706へ進む。
【００８１】
S706では、経過時間を０に初期化しS707へ進む。
【００８２】
S707で、PDLインタプリター処理の生成する描画処理の結果を格納するページバッファを準備すると共に、開始イベンと共に通知される、ページ番号を保持し、S703に戻る。
【００８３】
PDL処理は、PDLタスクからのページ終了イベントを受信すると、S708でページバッファをスプール画像としてHDDに格納し、S703へ戻る。
【００８４】
PDL処理は、ジョブ管理モジュールからの割り込みイベントを受信すると、S709でPDLタスクへジョブキャンセルの指示を行うことで、PDLタスクを終了し、S710へ進む。
【００８５】
S710では、PDLジョブに紐付けられている再開ページと処理ページを比較し、異なっていればS711へ進み、等しければS713へ進む。S711では、再開ページを処理ページとすることで更新し、S712へ進む。S712では、再開時間を、ジョブ初期化時間＋経過時間として保持・更新し、ページ独立PDLの処理を終了する。S713では、再開時間と、ジョブ初期化時間＋経過時間を比較し、再開時間が小さければS712へ進み、再開時間が大きければページ独立PDLの処理を終了する。
【００８６】
PDL処理は、PDLタスからジョブ終了イベントを通知されると、ページ独立PDL処理を終了する。
【００８７】
（PDLインタープリター処理）
ここで、PDL処理３１１から起動される、PDLインタプリター処理を図８のフローチャートを参照して説明する。なお、ページ独立PDL処理から起動されるPDLインタプリター処理と、非ページ独立PDL処理から起動されるPDLインタプリター処理は、開始可能ページが異なるのみで、他の動作は同一である、
PDLインタプリター処理では、指定されたPDLデータのインタプリター処理（解析処理）を行い、PDLデータに含まれる様々なコマンドに応じて処理を行う(S801)。PDLデータ内には各ページの描画を指示する描画命令だけではなく、ジョブの初期化やフォント等リソースなどの登録命令が含まれている。ページ非独立なPDLではPDLデータの先頭から順次解析処理をおこない、先頭ページから1ページずつ処理していくが、ページ独立なPDLの場合、途中ページからの処理も可能であり、PDL処理３１１の指定するページからの描画処理を行う。
【００８８】
PDLインタプリター処理の過程で、開始すべきページのページ開始命令があると、S802へ進み、これから処理を行うページのページ番号と共にページ開始イベントをPDL処理３１１に通知後S803へ進む。
【００８９】
S803では、PDLデータ中の該当ページの描画命令を解析し、ページバッファ上に描画処理を行う。描画命令解析の過程でページ終了命令があると、S804進み、ページ終了イベントをPDL処理３１１へ通知する。
【００９０】
S805では、指定された全PDLデータの処理を終了したか否か判断し、終了していれば、S806で、ジョブ終了イベントをPDL処理３１１へ通知して終了する。まだ、処理すべきPDLデータが残っていれば、S801へ戻りインタプリター処理を継続する。
【００９１】
なお、PDLインタプリター処理中はPDL処理３１１からのジョブキャンセルの指示があればいつでも処理を停止し終了する。
【００９２】
（ログイン時の処理）
ここで図９のフローチャートを参照して、本カラー複合機１に対して操作者がICカードでのログイン処理を行った時の動作を説明する。
【００９３】
操作者が、ICカードをICカードリーダ２３５にかざすと、ジョブコントロール処理３０１はログイン処理（S901）を開始する。S901で、ジョブコントロール処理３０１は、ユーザ認証処理３０６を起動し、ユーザ認証を行う。ユーザ認証処理３０６は、ICカードリーダ２３５を介してICカードに含まれる認証情報を読み取り、ネットワーク処理３０２を介してネットワーク上の認証サーバに、該認証情報を通知し、認証依頼を行う。ユーザ認証処理３０６は認証サーバから、認証許可の通知を受けると、認証情報に含まれるユーザIDを、ジョブコントロール処理３０１へ通知する。ジョブコントロール処理は３０１はユーザIDの通知を受けると、該ユーザIDでのログイン状態へ移行する。ジョブコントロール処理３０１は、ログイン状態において、該ユーザIDに付随する権限での、様々な処理（例えば、操作部２１０の操作によるプルプリント処理や、コピー処理）を可能とする。ジョブコントロール処理３０１はログイン状態に移行すると、S902へ進む。
【００９４】
S902で、ジョブコントロール処理３０１は、PDLジョブ制御処理３０９の管理する、ジョブ管理項目のリストを参照し、ログイン状態となったユーザIDのジョブ管理項目の有無を判断する。ジョブ管理項目が見つかった場合、S903へ進み、見つからなかった場合は、ログイン状態を保持したまま、ログイン時の処理を終了する。
【００９５】
S903で、ジョブコントロール処理３０１は、PDLジョブ制御処理３０９の管理する先頭ジョブを参照し、、現在実行中のPDLジョブがあるか否か、及び、実行中のPDLジョブがある場合、該PDLジョブがログイン中のユーザIDのものか否か判断する。実行中のPDLジョブがあり、該PDLジョブがログイン中のユーザIDのものでなければ、S904で後述する割り込み処理を行い、ログイン中のユーザIDに一致する、PDLジョブを割り込みで優先的に実行する。S903で、実行中のPDLジョブがないまたはログイン中のユーザIDのPDLジョブを実行中であれば、ログイン状態を保持したまま、ログイン時の処理を終了する。
【００９６】
（プルプリント処理）
ここで図１０のフローチャートを参照して、操作者が本カラー複合機１にログイン後、操作部２１０を操作して行う、プルプリントの動作を説明する。
【００９７】
操作者が、操作部２１０を操作して、プルプリント対象のデータを選択肢し、プルプリント処理を指示する。該指示は、UI処理３０３を介して、ジョブコントロール処理３０１へ通知され、ジョブコントロール処理３０１は、プルプリント処理を開始する（S1001）。
【００９８】
S1001で、ジョブコントロール処理３０１は、UI処理３０３を介して通知された、プルプリント対象データのデータパスを、プルプリント処理３０５へ通知する。プルプリント処理３０５は、ジョブコントロール処理３０１から通知を受けたデータを、ネットワーク処理３０２を介して受信し、ジョブコントロール処理３０１へ通知する。ジョブコントロール処理３０１は、プルプリント処理３０５から通知されたデータをRAM２０６またはHDD２０８へスプールする。ジョブコントロール処理３０１はさらに、スプールしたデータの情報及びログイン中のユーザIDと共に、PDLジョブ制御処理306へ“ジョブ生成”イベントを通知し、PDLジョブ制御処理306で、PDLジョブ管理項目の生成を行い、S1002へ進む。
【００９９】
S1002で、ジョブコントロール処理３０１は、PDLジョブ制御処理３０９の管理する先頭ジョブを参照し、現在実行中のPDLジョブがあるか否か、及び、実行中のPDLジョブがある場合、該PDLジョブがログイン中のユーザIDのものか否か判断する。実行中のPDLジョブがあり、該PDLジョブがログイン中のユーザIDのものでなければ、S1003で後述する割り込み処理を行い、ログイン中のユーザIDに一致する、PDLジョブを割り込みで優先的に実行する。S1002で、実行中のPDLジョブがないまたはログイン中のユーザIDのPDLジョブを実行中であれば、本プルプリントの動作を終了する。
【０１００】
（割り込み処理）
続いて、S904及びS1002の割り込み処理を、図１１のフローチャートを参照して説明する。
【０１０１】
ジョブコントロール処理３０１は、割り込み処理を開始すると、S1101で現在実行中のPDLジョブを中断し場合に再開までに要する復帰時間の算出を行い、S1102へ進む。
【０１０２】
S1101で、ジョブコントロール処理は、PDLジョブ制御処理３０９の管理する、先頭ジョブのジョブ管理項目に含まれる、開始時間を参照し、現在時間と開始時間の差分を復帰時間とする。なお、復帰時間は、非ページ独立PDLでは、復帰時間はジョブの開始から経過時間である。また、ページ独立PDLでの、復帰時間はジョブの初期化時間＋現在処理中のページに要した時間である。
【０１０３】
S1102では、S1101で算出した復帰時間と予め設定済みの復帰時間設定の値とを比較し、復帰時間が復帰時間設定より長ければ、S1103へ進み、短ければS1105へ進む。
【０１０４】
S1103では、ジョブコントロール処理３０１は、UI処理３０３を介して操作部２１０上のパネルに、復帰時間及び現在実行中のPDLジョブ情報を表示することで、該PDLジョブをキャンセルして、割り込み印刷を行うか否か問い合わせる。その後、操作者が操作部２１０を操作して問い合わせ結果を入力すると、S1104へ進む。
【０１０５】
S1104では操作者が、割り込み印刷を許可した場合には、S1105へ進み、割り込み印刷を許可しない場合は、本割り込み処理を終了する。
【０１０６】
S1105では、PDLジョブ制御処理の管理するジョブ管理項目のリストの中で、ログインしているユーザIDを持つ最も先頭のジョブ管理項目のジョブIDと共に、“割り込み”イベントを、PDLジョブ制御処理３０６へ通知し、本割り込み処理を終了する。 “割り込み”イベントを受けたPDLジョブ制御処理３０９は、前述のように、現在実行中のPDLジョブのキャンセル処理を行い、指定したPDLジョブを実行することで割り込み処理を行う。
【０１０７】
以上、本実施例によれば、操作者がログインを行った時点で、操作者のPDLジョブがあり、他ユーザのPDLジョブを処理中の場合には、自動的に割り込み処理が行われ、最優先で実行される。また、リモートプリントにおいても、他ユーザのPDLジョブを処理中の場合には、自動的に割り込み処理が行われ、最優先で実行される。
【０１０８】
さらに、自動的に割り込み処理が行われる場合、割り込み対象のPDLジョブの復帰にかかる時間が一定時間以上である場合には、操作者に割り込みの可否に関する問い合わせを行うことで、自動割り込みによる生産性低下を防止する。
【符号の説明】
【０１０９】
１  カラー複合機
200  コントローラユニット
201  スキャナ
202  プリンタエンジン
210  操作部
301  ジョブコントロール処理
【図１】
2011095893.tif 000003
【図２】
2011095893.tif 000004
【図３】
2011095893.tif 000005
【図４】
2011095893.tif 000006
【図５】
2011095893.tif 000007
【図６】
2011095893.tif 000008
【図７】
2011095893.tif 000009
【図８】
2011095893.tif 000010
【図９】
2011095893.tif 000011
【図１０】
2011095893.tif 000012
【図１１】
2011095893.tif 000013