(57)【要約】【課題】印刷システムを開示する。【解決手段】印刷システムは、印刷ジョブ・データを受け取る手段と、１つ又は複数の無効印刷要件を検出するよう上記印刷ジョブ・データの制約検査を行う手段と、上記印刷ジョブ・データの印刷を容易にするために、１つ又は複数の無効印刷要件を検出すると、修正措置を適用する手段とを備える。【選択図】図３
2015089681.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブ・データを受け取る手段と、
１つ又は複数の無効印刷要件を検出するよう前記印刷ジョブ・データの制約検査を行う手段と、
前記印刷ジョブ・データの印刷を容易にするために、１つ又は複数の無効印刷要件を検出すると、
修正措置を適用する手段と
を備える印刷システム。
【請求項２】
請求項１記載の印刷システムであって、印刷ジョブ要件がジョブ・チケットによって規定される印刷システム。
【請求項３】
請求項１記載の印刷システムであって、前記印刷ジョブ・データの前記制約検査を行う手段は、
前記印刷システムにおいて属性を満たすことが可能であるかを判定するよう、前記印刷ジョブ・データに含まれるルールを解析する手段と、
前記属性について誤りが検出されたかを判定する手段と
を備える印刷システム。
【請求項４】
請求項３記載の印刷システムであって、前記ルールは１つ又は複数の属性の組を含む印刷システム。
【請求項５】
請求項４記載の印刷システムであって、前記印刷ジョブ・データの前記制約検査を行う手段は、更に、前記印刷システムがプリント・エニーウェイ・モードにおいて動作しているかを判定する手段を備える印刷システム。
【請求項６】
請求項５記載の印刷システムであって、更に、
前記印刷システムが前記プリント・エニーウェイ・モードにおいて動作している場合に前記ルールに対して修正措置を適用する手段と、
前記印刷システムが前記プリント・エニーウェイ・モードにおいて動作していない場合に前記印刷ジョブ・データの印刷を中断する手段と
を備える印刷システム。
【請求項７】
請求項１記載の印刷システムであって、前記修正措置が自動的に生成される印刷システム。
【請求項８】
請求項７記載の印刷システムであって、規定された措置がテキスト・ファイルに含まれるルールとして受け取られる印刷システム。
【請求項９】
請求項８記載の印刷システムであって、前記テキスト・ファイルに含まれる前記ルールは、ルールの矛盾を防止するために一貫性について検証される印刷システム。
【請求項１０】
請求項７記載の印刷システムであって、前記修正措置は、前記制約検査を行うよう実現されたプログラミング・コードとして自動的に生成される印刷システム。
【請求項１１】
印刷システムであって、
記憶装置と、
受け取られた印刷ジョブを前記記憶装置に記憶するための印刷ジョブ・マネージャと、
１つ又は複数の無効印刷要件を検出するよう、印刷ジョブ・データの制約検査を行い、前記印刷ジョブ・データの印刷を容易にするために１つ又は複数の無効印刷要件を検出すると修正措置を適用するための誤り修正（ＥＣ）モジュールと
を備える印刷システム。
【請求項１２】
請求項１１記載の印刷システムであって、印刷ジョブ要件がジョブ・チケットによって規定される印刷システム。
【請求項１３】
請求項１１記載の印刷システムであって、前記ＥＣモジュールは、属性を前記印刷システムにおいて満たすことが可能であるかを判定するよう前記印刷ジョブ・データに含まれるルールを解析し、誤りが前記属性について検出されたかを判定することにより、前記印刷ジョブ・データの前記制約検査を行う印刷システム。
【請求項１４】
請求項１３記載の印刷システムであって、前記ルールは１つ又は複数の属性の組を含む印刷システム。
【請求項１５】
請求項１４記載の印刷システムであって、前記印刷ジョブ・データの前記制約検査を行う処理は、更に、前記印刷システムがプリント・エニーウェイ・モードにおいて動作しているかを判定する処理を含む印刷システム。
【請求項１６】
請求項１５記載の印刷システムであって、前記ＥＣモジュールは、前記印刷システムが前記プリント・エニーウェイ・モードにおいて動作している場合、前記ルールに対して修正措置を適用し、前記印刷システムが前記プリント・エニーウェイ・モードにおいて動作していない場合、前記印刷ジョブ・データの印刷を中断する印刷システム。
【請求項１７】
請求項１２記載の印刷システムであって、前記修正措置が自動的に生成される印刷システム。
【請求項１８】
請求項１７記載の印刷システムであって、規定された措置がテキスト・ファイルに含まれるルールとして受け取られる印刷システム。
【請求項１９】
請求項１８記載の印刷システムであって、前記ＥＣモジュールは、ルールの矛盾を防止するために、前記テキスト・ファイルに含まれる前記ルールを一貫性について検証する印刷システム。
【請求項２０】
請求項１７記載の印刷システムであって、前記ＥＣモジュールは、前記制約検査を行うよう実現されたプログラミング・コードとして前記修正措置を自動的に生成する印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムの分野に関し、特に、印刷システムにおいて生成された印刷ジョブに対して修正措置を提供することに関する。
【背景技術】
【０００２】
印刷の分野では、ユーザは、印刷ジョブの柔軟な処理を可能にするシステムを好む。印刷ジョブは通常、印刷データ（例えば、印刷された出力を生成するために使用されるデータ）及びジョブ・チケットを含む。印刷チケットは、印刷ジョブについて行い得る処理工程の規定を支援する属性を含む。しかし、ジョブ・チケットに含まれる一部の属性はプリンタ機能と互換でないことがあり得る。前述の場合、プリンタはジョブを強制的に中断し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
よって、ジョブを印刷するための修正措置をプリンタが提供することを可能にするための回復方法及びシステムが望まれる。
【課題を解決するための手段】
【０００４】
一実施例では、印刷システムを開示する。印刷システムは、印刷ジョブ・データを受け取る手段と、１つ又は複数の無効印刷要件を検出するよう上記印刷ジョブ・データの制約検査を行う手段と、上記印刷ジョブ・データの印刷を容易にするために、１つ又は複数の無効印刷要件を検出すると、修正措置を適用する手段とを備える。
【図面の簡単な説明】
【０００５】
【図１】印刷システムの一実施例を示す図である。
【図２】プログラミング・コードの実施例を示す図である。
【図３】印刷ジョブの修正措置を行う一実施例を示すフロー図である。
【図４】コンピュータ・システムの一実施例を示す図である。
【発明を実施するための形態】
【０００６】
印刷ジョブの修正措置を行う機構について説明する。以下の説明では、説明の目的で、本発明の詳細な理解をもたらすために、具体的な数多くの詳細を記載している。しかし、前述の具体的な詳細なしで本発明を実施し得るということが当業者に明らかになるであろう。場合によっては、本発明の下にある原理を不必要にわかりにくくすることを避けるために、周知の構造及び装置をブロック図形式で示す。
【０００７】
「一実施例」又は「実施例」に対する本明細書における言及は、上記実施例に関して説明した特定の構成、構造、又は特性が本発明の少なくとも１つの実施例に含まれているということを意味している。本明細書中の種々の箇所において「一実施例において」との句が存在しているということは、必ずしも全て同じ実施例を表している訳でない。
【実施例】
【０００８】
図１は、印刷システム１００の一実施例を示すブロック図である。印刷システム１００は、連続用紙プリンタ又はカット・シート・ページ・プリンタなどの、媒体上にマークを供給するために使用されるシステムである。印刷システム１００は、プリンタ、コピー機、複合機（ＭＦＰ）、及びファクシミリなどの何れかのディジタル・ハードコピー出力装置を含み得る。
【０００９】
一実施例では、印刷システム１００は複数のユーザによって共有される。前述の実施例では、印刷システム１００は、印刷コントローラ１０２、及び１つ又は複数の印刷エンジン１０４を含む。印刷コントローラ１０２は、１つ又は複数のホスト・システム１０７及び１０８、並びにプリンタ１０９をネットワーク１１０を介して１つ又は複数の印刷エンジン１０４と接続し、印刷エンジン１０４上での、ホスト・システム１０７及び１０８、並びにプリンタ１０９それぞれから受け取られた印刷ジョブ１３６乃至１３８の印刷を制御するよう動作可能な何れかのシステム、サーバ、又は構成部分を含む。印刷エンジン１０４は、紙などの印刷可能な媒体にマーキングするための撮像処理を提供する。
【００１０】
一実施例によれば、印刷コントローラ１０２はメモリ１０３及び印刷ジョブ・マネージャ１１２を含む。メモリ１０３は、データを記憶するよう動作可能な何れかの記憶システムを含む。一実施例では、印刷ジョブ・マネージャ１１２は、印刷システム１００における文書の印刷を管理する。特に、印刷ジョブ・マネージャ１１２は、印刷を待ち、印刷ジョブの優先度を構成し、セパレータ・ページを生成し、ジョブをデスティネーション印刷エンジン１０４に配布するにつれ、印刷ジョブを制御する。一実施例では、印刷ジョブ・マネージャ１１２は、インフォプリント・マネージャ（ＩＰＭ）、又はインフォプリント・プロセス・ディレクタ（ＩＰＰＤ）の何れかを使用して実現し得るが、代わりに、他のタイプの印刷ジョブ・マネージャを使用し得る。
【００１１】
一実施例では、印刷ジョブ・マネージャ１１２は、印刷ジョブを処理する前にメモリ１０３に、受け取られた印刷ジョブ１０３を保持する。前述の実施例では、メモリ１０３は、印刷ジョブをデータ・ファイル、又はラスタ化されたファイルとして記憶する。例えば、ラスタ化されたファイルとして記憶された印刷ジョブは、データ・ファイルとして記憶されたものに対して、保持されたジョブの印刷時間を削減する。一旦記憶されると、印刷ジョブを生成したユーザは各印刷ジョブを、対応する文書を印刷システム１００から取り出すまで保持し得る。上記取り出した時点で印刷ジョブが処理され、印刷される。
【００１２】
更なる実施例では、ユーザは、ユーザ入力１０６を介して印刷システム１００における印刷のために選択されたジョブを解放し得る。印刷システム１００はそれにより、印刷エンジン１０４を介した印刷により、印刷ジョブを処理する。更に別の実施例では、特定のユーザのために保持されている選択された複数の印刷ジョブは、印刷エンジン１０４において同時に処理し、印刷し得る。したがって、同じユーザのための印刷ジョブは全て、複数の印刷ジョブが、印刷するよう解放された場合に併せて印刷される。
【００１３】
一実施例によれば、印刷ジョブ・マネージャ１１２は、印刷ジョブ要件を修正するよう実現される誤り修正（ＥＣ）モジュール１２０を含む。一実施例では、印刷ジョブ要件はジョブ・チケットによって規定される。しかし、他の実施例では、要件は他のソース（例えば、グラフィカル・ユーザ・インタフェース（ＧＵＩ））を介して提供される。
【００１４】
別の実施例では、ＥＣモジュール１２０は、無効印刷要件を検出するよう印刷ジョブの制約検査を行い、ジョブが首尾良く印刷されることを可能にするよう修正措置を印刷ジョブに適用するよう実現されたプログラミング・コードを自動的に生成する。前述の実施例では、システム・オペレータ（又はユーザ）は、印刷コントローラ１０２によってサポートされない属性を検出すると、修正措置を適用するか否かを規定するためにユーザ入力１０６を実現する。
【００１５】
一実施例によれば、ＥＣモジュール１２０は、ジョブに関連付けられた値の組（例えば、Ｃ＋＋オブジェクトの階層として構造化されている）に対して評価される条件の組に基づいて印刷ジョブの資格を判定する。条件はルールとして表し、各ルールは、ジョブが首尾良く印刷されることを阻止する状況を表す。第１のフェーズでは、ＥＣモジュール１２０は、ユーザによって提供されたテキスト・ルールから前述のルールを読み出し、ルールが互いに矛盾しないようにその一貫性を検証し、システム実行時（例えば、第２のフェーズ）における条件を評価するＣ＋＋コードを生成する。
【００１６】
第１のフェーズ中、ＥＣモジュール１２０によって判定された特定の制約の組について動作が提供される。例えば、ブックレット・ジョブを首尾良く印刷するためには、ブックレット及び２アップの対が必要であり得る。次いで、前述の属性の１つが満たされていなかった場合、ユーザは修正措置を提供することが可能である。上記例に基づいて、ブックレット及び４アップの対を示す印刷ジョブ属性が受け取られるインスタンスについて、ノーマル及び４アップのオプションと、ブックレット及び２アップのオプションとの間で選択が行われる。
【００１７】
一実施例では、ルール・ファイルはＣ／Ｃ＋＋表現構文と同様な構文を使用し、スキャナ及びパーサ・クラスが、ルール・ファイルを読み出すために使用される。よって、ルール・ファイル内のルールは宣言的（又は記述的）態様で規定される。更なる実施例では、ルール・ファイルにおいて使用されるキーワードは、（例えば、印刷ジョブの属性である）Ｃ＋＋オブジェクトの階層においてみられる各種値にマッピングされる。更に、整数及び文字列などの単純なキーワード・タイプがサポートされる一方、（ベクタ、レコード、タイプ・ネストなどの）集約されたキーワード・タイプもサポートされる。更に、ルール・ファイルにおいて、多形性エイリアス（例えば、キーワード表現の略称）に対するサポートが存在している。エイリアスは複数のコンテキストにおいて使用し得、キ―ワードは別々の意味を有し得る。
【００１８】
一実施例によれば、静的シンボル・テーブルに基づいてＥＣモジュール１２０が認識しないものは全て、ビルド・ヘッダ（例えば、ルール・ファイルにおいて自由に使用することが可能な種々の記号定数又は定義）において定義されるとみなされる。更なる実施例では、一時Ｃ＋＋ソースが生成され、ビルド・ツリーにおいてコンパイルされ、実行され、その出力がＥＣモジュール１２０に読み戻される。前述のシンボルの実際のタイプ及び値が、ルールの一貫性を検証するために必要であるからである。このことは、記号定数解決として表す。
【００１９】
一実施例では、ルールの一貫性は、外部プログラム（例えば、ＥＣモジュール１２０がＣＶＣ３構文を使用して中間ファイルを生成し、ＣＶ３プログラムを別個のプロセスとして開始し、標準Ｉ／Ｏパイプを使用してそれと通信するＳＭＴ定理プルーバ（ＣＶ３））を使用して検証される。別の実施例では、ＥＣモジュール１２０によって生成されたＣ＋＋コードは、人間によって読み取り可能であり、簡潔であり、かつ効率的であるＣ＋＋テンプレートに大きく依存する。更に別の実施例では、ＥＣモジュール１２０は、無資格のジョブの印刷を強制し得るようにジョブ属性の固定を自動的にサポートする。図２は、ルール・ファイル構文、ＣＶＣ３ファイル構文、及びＣ＋＋出力の例示的なプログラミング・コードの実施例を示す。Ｃ＋＋は、例示的なものに過ぎず、他のオブジェクト指向プログラミング言語（例えば、ジャバ）又は非オブジェクト指向プログラミング言語（例えば、Ｃ）を使用することが可能である。
【００２０】
一実施例では、第１のフェーズが一度、システム・ビルド中に行われる一方、第２のフェーズは、通常の印刷ジョブ処理中に別々の印刷ジョブについて複数回、呼び出される。第２のフェーズ中、印刷コントローラ１０２は、誤りを備えた印刷ジョブを扱う旨のコードを自動的に構成するための修正措置を利用する。
【００２１】
図３は、第２のフェーズ中に行う動作の一実施例を示すフロー図である。処理ブロック３１０では、印刷処理のために印刷コントローラ１０２において印刷ジョブが受け取られる。処理ブロック３２０では、付随するジョブ・チケット、又は印刷ジョブに含まれる無資格状況（ルール）がＥＣモジュール１２０において解析される。一実施例では、ルールは、１つ又は複数の属性の組が関係する表現によって表される。判定ブロック３３０では、誤りが検出されている（例えば、属性が満たされている）か否かが判定される。
【００２２】
誤りが検出された場合、印刷コントローラ１０２がプリント・エニーウェイ・モードにおいて動作しているか否かを判定する（判定ブロック３４０）。一実施例では、プリント・エニーウェイ・モードは、１つ又は複数の属性誤りが検出された場合にもジョブの継続された印刷処理を可能にする。よって、ジョブを首尾良く印刷することを容易にするために修正措置が、１つ又は複数の属性の組に対して行われる。プリント・エニーウェイ・モードにおいて動作していない場合、プリント・コントローラ１０２はジョブを中断する（処理ブロック３５０）。
【００２３】
誤りが判定ブロック３３０において検出されなかったか、又は修正措置が処理ブロック３５０において行われている場合、解析する対象の更なるルールをジョブが含んでいるか否かが判定される（判定ブロック３６０）。解析する対象の更なる属性が存在している場合、制御は処理ブロック３２０に戻され、処理ブロック３２０では、印刷ジョブに含まれる次の属性が解析される。さもなければ、ジョブが更に処理され、印刷される（処理ブロック３７０）。
【００２４】
図４は、印刷システム１００を実現し得るコンピュータ・システム４００を示す。コンピュータ・システム４００は、情報を通信するためのシステム・バス４２０、及び情報を処理するためにバス４２０と結合されたプロセッサ４１０を含む。
【００２５】
コンピュータ・システム４００は更に、プロセッサ４１０によって実行される対象の命令及び情報を記憶するためにバス４２０に結合されたランダム・アクセス・メモリ（ＲＡＭ）又は（本明細書及び特許請求の範囲では主メモリとして表す）他の動的記憶装置４２５を備える。主メモリ４２５は更に、プロセッサ４１０による命令の実行中に一時変数又は他の中間情報を記憶するために使用し得る。コンピュータ・システム４００は更に、プロセッサ４１０によって使用される命令及び静的情報を記憶するためにバス４２０に結合されたリード・オンリ・メモリ（ＲＯＭ）及び／又は他の静的記憶装置４２６を含み得る。
【００２６】
磁気ディスク又は光ディスク及びその対応するドライブなどのデータ記憶装置４２５は更に、情報及び命令を記憶するためにコンピュータ・システム４００に結合し得る。コンピュータ・システム４００は更に、Ｉ／Ｏインタフェース４３０を介して第２のＩ／Ｏバス４５０に結合することが可能である。ディスプレイ装置４２４、入力装置（例えば、英数字入力装置４２３及び／又はカーソル制御装置４２２）を含む複数のＩ／Ｏ装置をＩ／Ｏバス４５０に結合し得る。通信装置４２１は、他のコンピュータ（サーバ又はクライアント）にアクセスするためのものである。通信装置４２１は、イーサネット（登録商標）、トークン・リング又は他のタイプのネットワークに結合するために使用されるものなどの他の周知のインタフェース装置、ネットワーク・インタフェース・カード、又はモデムを備え得る。
【００２７】
本発明の実施例は、上記種々の工程を含み得る。工程は、マシン実行可能な命令において実施し得る。命令は、汎用プロセッサ又は専用プロセッサに特定の工程を行わせるために使用することが可能である。あるいは、前述の工程は、工程を行うための配線ロジックを含む特定のハードウェア構成部分によって、又は、プログラムされたコンピュータ構成部分、及びカスタムのハードウェア構成部分の何れかの組み合わせによって行い得る。
【００２８】
本発明の構成要素は更に、マシン実行可能な命令を記憶するためのマシン読み取り可能な媒体として提供し得る。マシン読み取り可能な媒体は、限定列挙でないが、フロッピー（登録商標）・ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、電子命令の記憶に適した伝搬媒体及び他のタイプの媒体／マシン読み取り可能な媒体を含み得る。例えば、本発明は、通信リンク（例えば、モデム又はネットワーク接続）を解して搬送波又は他の伝搬媒体において実施されたデータ信号により、遠隔コンピュータ（例えば、サーバ）から要求側コンピュータ（例えば、クライアント）に転送し得るコンピュータ・プログラムとしてダウンロードし得る。
【００２９】
本特許出願書類の一部分は著作権保護を受ける内容を含む。著作権の保有者は、特許当局内の記録に存在している限り、如何なる者による本特許出願書類の複製にも異議を唱えるものでないが、さもなければ、如何なる理由があろうとも著作権全てを留保するものとする。
【００３０】
無論、本発明の多くの改変及び修正は、上記説明を読んだ後、当業者に明らかとなる一方、例証によって示し、説明した具体的な実施例は何れも、限定されるものとして解されることを決して意図しているものでない。したがって、種々の実施例の詳細への言及は、それ自体が本発明に不可欠とみなされる構成のみを記載する請求項の範囲を限定することを意図するものでない。
【図１】
2015089681.tif 000003
【図２】
2015089681.tif 000004
【図３】
2015089681.tif 000005
【図４】
2015089681.tif 000006