説明

プリントエンジン装置の能力を決定する方法

【課題】モジュールから構成される印刷装置において、装置の利用性及び構成のしやすさを強化する。
【解決手段】プリントエンジン装置構成のモデルを提供し、モデルの少なくとも一つの出力ポートに、第1の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、イベントにもとづく後戻りシミュレーションの結果にもとづいて、第1の印刷シートの仕様により記述された第1の印刷シートをアセンブルするために、プリントエンジン装置の能力を決定する。前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は印刷装置技術に関し、特に複写装置のような写真式複製装置に関する。
【0002】
本発明は特に、コンポーネントをそれらの環境又は他のコンポーネントとの相互作用に依らず記述する一般的な記述フォーマットに適用可能である。本発明のシステムは、印刷装置を形成するモジュール方式コンポーネントに関連した能力に従うプリントジョブの自動化スケジューリングを可能とし、特にそのようなことに関して記述される。しかし、モジュール方式コンポーネントを考慮した装置能力の自動化アセスメントの提供や、同様のことを考慮したジョブの特定な効率的利用のような幅広いアプリケーションを本発明が有することが認められる。
【背景技術】
【0003】
写真式複写装置のような今日の装置は、予め製造されたコンポーネントから頻繁に製造される。そのような製造は、装置の各サブアセンブリの大量生産を可能にすると同時に、消費者のニーズに対してカスタム化を可能にする。さらに、消費者は、既存のベース装置の能力を変更することができるか又はアップグレードすることができる手段を与えられる。
【0004】
本発明と共通の譲り受け人によって所有される特許文献1及び特許文献2において、分散型印刷及び分散型ジョブスケジューリングのための初期のシステムが見いだされる。
【0005】
集積化装置のモジュール方式アセンブリの1つの関心事項は、完成されたシステムの利用の構成及び最適化である。このことは初期装置の製造者に対する関心事項である一方、おそらくエンドユーザーに対してもより大きい関心事項である。エンドユーザーは、技術的に充分な知識を有していないことがほとんどである。しかし、エンドユーザーは、初期投資値を維持することを所望する一方で装置能力の増加を所望する。消費者はまた、既存の装置をアップグレードするか又は構成するために専門家を雇うことに関連する出費を望まない。
【特許文献1】米国特許第5,287,194号明細書
【特許文献2】米国特許第5,363,175号明細書
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、自動的に装置能力を確認し装置を利用する新たな改良されたシステムに関し、このシステムは前述及びその他の問題を克服する。本発明は、装置の工場出荷前及び出荷後の両方において利用性及び構成のしやすさが強化されたシステムを供給する。
【課題を解決するための手段】
【0007】
本発明に従って、プリントエンジンスケジューリングのために一般的に及びユニークに多様な個々のモジュール方式装置コンポーネントの能力を記述するシステムが提供される。
【0008】
本発明の他の態様に従って、そのような一般的コンポーネント記述を統合し、自動的に1つ以上のサブアセンブリの存在を認識し、それらのいろいろな機能の記述をアセスメントと分析のための中央プロセッサユニットに伝達するシステムが提供される。
【0009】
本発明の他の態様に従って、本システムは、多様な又は変化する特性の複数のプリントジョブの効率的な、自動化されたスケジューリングのための環境を提供する。
【0010】
本発明の利点は、多様な又は変化するサブアセンブリに簡単に、そして、自動的に構成されることができる印刷装置モデルの提供である。
【0011】
本発明の他の利点は、エンドユーザによって最大ポテンシャルに簡単に構成されることができる印刷装置の提供である。
【0012】
本発明の他の利点は、ユーザーにより指定されたプリントジョブに従ってモジュール方式サブアセンブリを効率的にスケジューリング及び利用することによって印刷スループットを最大にする印刷装置の提供である。
【0013】
本発明の第1の態様は、プリントエンジン装置において、第1の印刷シートの仕様によって記述される第1の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、該方法は、プリントエンジン装置構成のモデルを提供し、前記モデルの少なくとも一つの出力ポートに前記第1の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第1の印刷シートの仕様により記述された前記第1の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、方法であって、前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、少なくとも一つの前記コンポーネントデバイスは、フィードトレイ、トランスポートベルト、転写コンポーネント、インバータ、ゲートの一つである。
【0014】
本発明の第2の態様は、プリントエンジン装置において、第1の印刷シートの仕様によって記述される第1の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、該方法は、プリントエンジン装置構成のモデルを提供し、前記モデルの少なくとも一つの出力ポートに前記第1の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第1の印刷シートの仕様により記述された前記第1の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、方法であって、前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、プリントエンジンコンポーネントの少なくとも一つは、前記プリントエンジン装置の物理的な構成要素であり、前記プリントエンジンコンポーネントの各々は、他のコンポーネントの記述および他のコンポーネントとの相互作用の記述の参照とは独立に記述され、前記後戻りシミュレーションは、属性制約、リソース割当およびタイミング制約、道のりリストに記憶された実行能力のネームおよびアーギュメントを累積することにより、前記プリントエンジンコンポーネントの各々の能力を構成するように動作し、前記プリントエンジン装置の能力は、前記プリントエンジンコンポーネントの第2のコンポーネントが前記プリントエンジン装置のモデルの出力ポートである場合に、該プリントエンジンコンポーネントの第1のコンポーネントから、該プリントエンジンコンポーネントの該第2のコンポーネントの出力ポートへ、伝達されたワークユニットの配送の存在にもとづいて、実現される。
【0015】
本発明の更なる利点は、本明細書により当業者に対して明らかとなる。
【発明の効果】
【0016】
本発明により、モジュールから構成される印刷装置において、装置の利用性及び構成のしやすさが強化される。
【発明を実施するための最良の形態】
【0017】
本発明は、特定の部分において及び特定の部分構成において物理的な形態をとることが可能である。それらの好ましい実施の形態は、本明細書において図面に例示され、詳細に記述される。
【0018】
以下、図面を参照して説明を行う。図は、本発明の好ましい実施の形態の例示のみを目的としており、本発明を制限するものでない。図1は、モジュール方式プリントエンジンAを有する本発明の実施の形態を示す。プリントエンジンAは、複数のモジュール又はサブアセンブリBを含み、構成及びスケジューリングのためのデータプロセッサユニットCを含む。本明細書において、"プリントエンジン"は、プリンタ、複写装置、ファクシミリ装置等のような任意の複製装置を含む。
【0019】
以下に記述されるように、モジュールBの各々に与えられる様々な能力は、データプロセッサユニットCにおいて確認され相互に関連付けられる。そのような相互に関連付けられ分析されたデータは、所望のプリンタ動作又は一連のプリンタ動作を定義するユーザー入力を考慮してさらに分析される。これらは次に、印刷装置の動作を最適化、スケジュール、及び制御するために使用され、一連の印刷タスクがほぼ効率的に達成される。本発明のシステムは、例示として複写装置によって記述される。任意のモジュール方式マテリアルハンドリングシステムに対して、一般的な記述、リソースアセスメント、及びスケジューリングが実行可能であることが理解される。
【0020】
図1の特別な例により、モジュールBは複数のペーパーストレージビン(bin)を含んで図示される。この図において、これらはビン10、12、及び14を含む。複数のビンは、異なるペーパーサイズの、又は2次的な、又は確保されたストレージ能力を有することが可能である。シートフィーダーメカニズムが概略的に16に示される。当業者にとって明らかなように、16に示されるようなシートフィーダーは、1つ以上のビンからシートストックを得るために機能する。
【0021】
フィーダー16は、コンベヤー18へシートストックをフィードする。次にコンベヤーは、プリントメカニズム20へシートストックをフィードする。該メカニズムの特定な構成は当業者にとって周知である。同じく、コンベヤー18に沿って進行するシートストックを選択的に反転するか又はフリップすることができるインバーターメカニズム30が図に示される。両面印刷のためにシートストックをプリンターメカニズム20へ戻すためのフィードバックユニット32が提供される。
【0022】
図において、コンベヤー18は、印刷されたドキュメントの選択的なステープリングを行うためのステープリングメカニズム34に対してパスを提供する。モジュールBグループの最後のコンポーネントは、ビン38と40によって表される複数の出力ビンである。
【0023】
いくつかのモジュールは完全にメカニカルであることが可能であり、いくつかはメカニカル及びコンピュータデバイスの混合で構成可能であり、そしていくつかはコンピュータデバイスのみで構成可能であることが理解される。後者の例として、モジュールは、プロセッサ、データストレージ及びインストラクションストレージ、及び1セットの機能から構成可能である。該機能は、ユーザーインプットからイメージデータを受入れて処理し、それを印刷するために他のモジュールに送り出すことが可能である。これらの機能の速度に基づいて、そのようなモジュールは、他の全てのモジュールBと同様にスケジュール及び制御される。いくつかのモジュールの例が、以下に図4と関連して記述される。
【0024】
データプロセッサユニットCは、データ入力/出力(I/O)ユニットを含み、該ユニットは、中央プロセッサユニット(CPU)/ストレージスケジューリングユニット42とデータ通信を行う。この詳細について以下に記述される。モジュールBの各々とデータI/Oユニット40との間にデータ経路が提供される。
【0025】
好ましい実施の形態において、各モジュールBは様々な機能と能力に関連した記述を含む。そのような一般的な記述の例が以下に詳述される。図に示されたモジュールの各々とデータI/Oユニットの間のデータ経路は、データプロセッサーユニットCへの全てのそのような記述の取得を可能にする。好ましい実施の形態において、任意のモジュールBは、モジュール方式プリントエンジンAとの接続に際して、その関連する記述をデータI/Oユニットに伝達する。この能力は、本発明のシステムの"プラグアンドプレイ(plug−and−play)"能力を可能にする。
【0026】
データプロセッサーCのデータI/Oユニット40と様々なモジュールBとの間のデータ相互接続は、コントローラの起動を可能にする。従って、データプロセッサーユニットCは、有効なモジュールからモジュール方式プリントエンジンAの能力の完全なセットを確認する。ユーザー入力44からI/Oユニット40へ結合されるこの情報は、有効なモジュール方式リソースを効率的にスケジューリングし有効なコンポーネントの使用によって一連の印刷ジョブを達成することを可能にする。
【0027】
図2を参照し、一般的なプリントエンジンの記述のための基本的フォーマットとスケジューリングについて記述する。先に述べたように、自動プリントエンジンスケジューリングソフトウェアのための過去の試みは、完全なエンジン構成の分析に基づくものであった。この分析の結果は、特別なユニット構成に対して仕様化された専用のソフトウェアの書込みのために必要とされる。逆に言えば、本発明のシステムは、スケジューリングソフトウェアを2つの部分に分離する。第1の部分において、スケジューラアーキテクチャは汎用アルゴリズムを備えている。第2の部分において、以下に詳述されるフォーマットで装置固有の情報が提供される。
【0028】
与えられたプリントエンジンに印刷されるドキュメントが与えられると、ドキュメントを生成するための装置動作を識別し、スケジュールし、初期化するためのスケジューラが提供される。図1において、そのような動作は、シートのフィード、シートの移動、画像の生成、シートへの画像の転写等を含む。印刷されるドキュメントは、通常は増分的に(例えば1枚ずつ)到着することが理解される。スケジューリングとスケジュールの実行(印刷)は通常並列に発生する。結果として、スケジューラによって使用される装置固有の情報は、所望のシートを生成する動作をスケジューラが識別可能なように構造化される。さらに、システムは、動作をスケジューリングする際に必ず発生する制約を認識していなければならない。さらに、システムは、適切なコマンドをモジュールに与えてモジュールの有効な動作を達成する手段を備えている。
【0029】
図2において、装置固有の情報を与える特別なシステムが示される。該システムは、ブロック100においてプリントエンジンモジュールの宣言記述(モデル)を使用することによって始まる。そのようなモデルは、モジュール構造の記述とそのコンポーネントの潜在的な動作を含む。図1の例において示されるように、可能なコンポーネントは、フィードトレイ、トランスポートベルト、転写コンポーネント、インバータ、ゲート、その他を含む。潜在的な動作は、例えば、インバータのバイパス、又はシートを逆転するためのインバータの使用を含むことができる。モデル化のステップは、モデル化を行う言語を使用してエンジニアによって通常は実行される。これに関する好ましい実施の形態の詳細が以下に記述される。
【0030】
ブロック102において、モジュールはそのコンポーネントによってすでにモデル化されている。次に、コンポーネントモデルから得られた情報からモジュール全体の潜在的な動作の自動的導出が実行される。例えば、この導出は、シミュレーション又は部分的な評価によって、及び推定(エンビジョンメント)によって実行可能である。シミュレーションは、現実のシステムの実行を反映するモデルの実行として一般的に理解される。部分的な評価は、プログラムの部分的な実行として一般的に理解され、プログラムの特定の部分は後に評価されるものとして未実行のまま残される。推定は、システムの全ての潜在的な動作の探査として一般的に理解され、これは例えば、システムのモデルのシミュレーション又は部分的評価を繰り返し多様な方法で実行することによって行われる。結果として生ずる全体的モジュール動作は、特定の動作によって生成される出力、その出力が生成される入力、その全体的動作を生成するために必要な個別動作(その"道のり")、及び、個別動作を実行する際に観測されるリソース及びタイミングに対する多様な制約から構成される。この情報の特定の部分又は全ては、有利にプリコンパイルされることができる。例えば、これは有限状態マシンにコンパイルされることができる。
【0031】
複数のプリントエンジンモジュールB(図1)がいっしょにプラグインされて新たな構成を形成する場合、異なるモジュール動作はデータプロセッサCを介して収集及び自動的に合成され、プリントエンジンA全体の潜在的動作が生成される。
【0032】
前述の合成は、ダイナミックに(即ち、1つの動作がスケジューラによって選択されるたびごとに)発生するよう適切にイネーブルにされ、前述の合成によってモジュール動作が装置動作中に合成される。従って、合成は、(モジュールがいっしょにプラグインされた後に)一度だけ、又はそれが必要とされるたびごとに実行されることが可能である。後者のオプションは、ダイナミックなモジュール変更を可能とする利点を有する。従って、装置動作が選択されるたびごとに、システムは図2のシーケンスを完了することができる。時間のかかるコンピュータ処理のために、そうすることが禁止されることができる。しかし、これは特定の状況においてはより効率的なアプローチであり得る。
【0033】
ブロック104において、前述の全体的動作は、前述の個々のモジュール動作と関連するフォーマットに類似のフォーマットで有利にモデル化される。異なる全体的動作ごとに、システムは、(動作識別のための)出力記述、(シーケンス化のための)リソース及びタイミング制約、及び(装置動作の次の制御のための)道のりを含むデータを提供する。
【0034】
次に、システムはブロック106へ進み、マッチングスケジューラアルゴリズムにおける効率的使用のために装置動作情報部分は有利にコンパイルされる。例えば、タイミング及びリソース制約の潜在的なインタラクションのコンパイルは、有限状態マシンに形成されることができる。ブロック108において、コンパイルされた動作のフルセットが得られる。
【0035】
最後に、ブロック110において、装置動作の出力記述が汎用スケジューラによって使用され、(オリジナルフォーム又はコンパイルされたフォームで)オリジナルな制約を与えられた出力ドキュメントを生成する動作が識別される。これらが使用されて、特定の全体的動作に必要とされる個別動作の各々に対する適正なタイミング、及び、モジュールBに必要な動作を実行させるために使用される道のりが見いだされる。
【0036】
前述の説明は好ましい実施例によって与えられたが、有用なシステムを提供するために前述のステップ全てが必ずしも必要とされないことが理解される。例えば、全てのコンポーネントの内の一部のみがモデル化されることが必要とされ、全ての制約のコンパイルは必ずしも必要とされない。
【0037】
前述のシステムにより、プリントエンジンモジュールのモジュール方式("プラグアンドプレイ")スケジューリングが容易にされる。該システムはまた、広範囲にわたる構成のためのスケジューリングソフトウェアの再利用を可能にする。該システムはまた、装置を形成している離散的なモジュールの初期記述を得るステップを除く全てのステップの自動化、及び、一般的なスケジューリングアルゴリズムの形成を提供する。
【0038】
図3を参照し、コンポーネント動作をモデル化するための特別なシステムが記載される。好ましい実施例としてのこの特別なシステムは、プリントエンジン分析、シミュレーション、及びスケジューリングのためのプリントエンジンコンポーネント動作の記述のためのものである。前述のように、基本的、一般的な記述方法は多様な他のモジュラーシステムに等しく適用できる。
【0039】
本発明の記述方法において、コンポーネントの構造及び動作は能力(潜在的動作)に関して記述され、この能力に対して、ワークユニット、タイミング、及びリソースについての制約が記述される。このモデル化システムは、プリントエンジンにおけるコンポーネントインタラクションの分析とシミュレーションのためのコンポーネントの構造及び動作の合成を可能にする。本システムは、モジュール方式プリントエンジンのスケジューリング動作に特に適用可能である。
【0040】
本発明の方法によって、形成されるプリントエンジンがコンポーネント記述の合成によって記述可能となるようプリントエンジンコンポーネントが記述される。さらに、結果として生ずるプリントエンジン記述の上で多様なアプリケーションが自動的に実行されることができる。これによって、そのような情報を分析、シミュレーション、スケジューリング、及び関連するプリントエンジンアプリケーションのために自動的に使用することが可能になる。図3の実施例において、(図1のインバータ30に類似の)インバータ150に関連する記述にモデル150'が与えられる。モデル化された構造のコンポーネント及び動作は、コンポーネント自体の物理的特性、及びモデルが使用されるアプリケーションの内容の両方によって決定される。
【0041】
本システムにおいて、コンポーネントの構造モデルは、その物理的なインターフェース、ソフトウェアインターフェース、及び内部リソースから構成されるものとして定義される。例えば、物理的なインターフェースは、ワークユニット(シート)が入力される入力ポート152、及び前記ワークユニットが出力されるる出力ポート154である。関連するソフトウェアインターフェースは、主に制御コマンドとパラメータに対して機能する。内部リソースは、特定の動作を実行するために必要とされるオブジェクトとして定義され、この場合、動作の反復実行によるオブジェクトの複数使用が限定される。図3の例において、関連するゲート156の位置としてリソースが定義される。リソースのもう一つの例は、インバータ150の対向する出力ローラー間のスペース158である。ここで、ペーパーパスのほとんどのポイントと同様に、任意の単一ポイントにおいて時間内に1つのシートに対してのみ充分なスペースが存在する。従って、スペース158はリソースとして定義される。
【0042】
コンポーネントの動作モデルは、当該コンポーネントを介して移動するワークユニットに対して当該コンポーネントがどのように作用するかに関して特定のコンポーネントの能力を記述するために使用される。さらに、動作モデルは、関連する動作を行う際にどのような制約が観測されなければならないかを示す。
【0043】
コンポーネント能力は、ワークユニットの記述、ワークユニットの処理の記述、ワークユニットの入力及び出力のようなタイミングのとられたイベントの記述、処理に対するリソースの割当の記述、及びイベントのタイミング及びリソース割当に対する制約の記述から構成されるものとして定義される。ワークユニットは、それらの属性に関して有利に記述される。ワークユニットの制限及び処理は、それらの属性に対する制約に関して有利に記述される。
【0044】
図3において、いくらかの付加的モデル記述が提供される。これらは、164で示されたシートのような特定のワークユニットに関連した記述を含む。インバータ150をバイパスするかしないか、もしくは反転のためにそれを使用するかしないかといったような制御状態が166に示される。パスの長さやローラー速度の仕様のようなタイミングパラメータが168で提供される。例えば、関連するタイミング制約は、パスの長さとローラー速度に基づく規則を使用して適切に得られ、例えば、出力時間は、パスの長さをローラー速度で除算した値に入力時間を加えたものとして定義されることができる。特定の値は同じく適切に当該モデルのパラメータである。例えば、与えられたインバータのパスの長さが固定される一方で、ローラー速度が変化することができて、従って使用されるモデルに対する環境によって設定されることができる。ローラー速度パラメータは170で示される。
【0045】
例えば、以下のリストは、図3に関連して示されたインバータの適切なモデルを提供する。
【0046】
【数1】

【0047】
このモデルは、2つのパラメータ(length及びspeed)、1つの入力ポート(in)、1つの出力ポート(out)、3つのリソース(inR、outR、及びgateR)、及び6つの変数を宣言する。また、このモデルは2つの能力(bypass(バイパス)及びinvert(反転))を定義する。バイパス能力に対して、シートsが時間t_inで入力されて時間t_outで出力されること、3つのリソースの全てにおいてt_in、t_out、及びt_gateのそれぞれで割当がなされること、及び、入力から出力までの移動時間を反映する多くのタイミング制約がインターバル間で維持されることが定義される。シートがその配勾を180°変えること(y軸の回りに回転されること)と移動時間がより長いこと(そのシートサイズに比例する)とを除いて反転能力も同様に定義される。このように、任意のコンポーネントの完全な機能の記述が提供されることが理解される。
【0048】
本発明のモデル化システムにより、他のコンポーネントの記述及び他のコンポーネントとの相互作用の記述の参照に依らずにコンポーネント構造が記述される。そのようなコンポーネント動作は、他のワークユニットに依らず1つのワークユニットに対して記述される。さらに、本発明のモデル化システムは、プリントエンジンの一般的な増分的分析、シミュレーション、及びスケジューリングに対するコンポーネント能力の自動的な動作的合成を可能にする。この記述フォーマットは、連結されたコンポーネント(例えば、プリントエンジンモジュール)を記述するモデルに対して、コンポーネントモデルの自動的な構造上の合成を可能とする。
【0049】
逆に言えば、従来のアプローチでは、能力及び制約は、コンポーネント間の特定な相互作用及びシート又はイメージシーケンス間の相互作用の両方に関して表現されていた。このことは、それらを定義するのをより困難にし、それらを再使用不可能にし、さらにそれらを合成不可能にする。システムをモデル化するフォーマットは、前述の自動的な構成、最適化、及びスケジューリングを可能にする。
【0050】
前述の説明から理解されるように、プリントエンジンのスケジューリングはその大部分が関連リソースのスケジューリングである。これを効果的に行うために、プリントエンジン動作の適正なシーケンスを増分的にスケジューリングために情報が使用可能となるよう、プリントエンジン動作によって使用されるリソースをモデル化しなければならない。広範囲のプリントエンジン動作に適用可能であることに加えて、リソースはまた、スケジューラと、装置内の変化の情報を伝えるプリントエンジン制御ソフトウェアの残りの部分との間の一般的なインターフェイスとして適切に作用することができる。
【0051】
プリントエンジンのような装置のコンポーネントは、それらの能力を実行するためのリソースを通常必要とする。例えば、特に印刷装置に関して、リソースは、ベルト上のスペース、特定の位置になければならないゲート、又は、複数又はオーバーラップ使用のために配置されるいくつかのエレメントであり得る。ペーパービンの容量はそのような複数又はオーバーラップ使用の1例である。
【0052】
リソースの割当は、コンポーネント動作記述の一部分として明示的に適切にモデル化される。本明細書において、リソース割当は、リソースについての要求の仕様として定義され、この要求はその期間中に特定のリソースが必要とされる時間インターバルを伴う。例えば、画像形成能力は、特定の時間について受光体ベルト上にスペースを必要とする。この他の例として、インバータ能力は、シートが反転されている期間中にインバータゲートが適正位置になければならないことを必要とする。
【0053】
本明細書において定義されるリソース要求は、特定のリソースタイプに依存して選択される。可能なリソースタイプは、ブーリアン(Boolean)リソース(使用されるかされないかいづれかのリソース)、計数された又は状態リソース(有効な状態の内の1つに置かれたリソース)、容量リソース(同時使用が追加される)、等のアイテムを含む。このようなリソースタイプはリソース制約によって一般的に有利に記述される。リソース制約は、同一リソースに対する複数割当に対してそれ自体で整合性を決定する。
【0054】
例えば、ベルト上のスペースのようなブーリアンリソース割当は、同時にオーバーラップしてはならない。逆に、状態リソース割当は、同一の状態が必要とされる場合はオーバーラップ可能である。容量リソース割当は、要求の合計が所与の容量を越えない限りオーバーラップ可能である。このようなリソースタイプは前述のリソース制約を変更又はそれに特定の制約を付加することによって容易に拡張可能である。
【0055】
リソース割当の時間インターバルは、インターバル制約によって適切に連結される。本明細書において、リソース制約システムとインターバル制約システムは相互に直交する。リソース割当とタイミング制約の記述は、スケジューリングに対する合成によるモデル化パラダイムに良好にフィットする。
【0056】
全てのコンポーネントが完全にモデル化されると、プリントエンジンは最終的にランタイム状態に移行される。図4を特に参照すると、プリントエンジンモジュール202とデータ通信状態にあるスケジューラ200が示される。プリントエンジンモジュール202はいくつかのコンポーネントから構成され、コンポーネントの各々はペーパー/画像パス204に沿って選択的に配置されたリソースを使用する。そのようなリソースは、コンポーネント210、212、214、216、218、及び220で示される(それぞれは各コンポーネントに対応するリソースである)。これらリソースの各々は同一の形態で適切に記述され、その内の1つが216'で詳細に示される。このシステムは、制御コード部分220、コンポーネント/モデル部分222、及び多くの通信パスを含む。制御パス224は、制御コマンドを制御コード部分220からコンポーネント/モデル部分222へ伝送することを可能にする。同様に、センサーパス226は、センサーデータをコンポーネント/モデル部分222から制御コード部分220へ伝送することを可能とする。パス228は、コンポーネントによるリソースのスケジューリングされた使用を表す。より詳細には、パス228は、コンポーネントを記述するモデル222から知識をスケジューラへ伝送し、この知識が使用されてリソースの適正な使用がスケジューリングされる。パス230は、制御及びセンサー情報を同様にスケジューラ200へ伝送することを可能とする。
【0057】
ランタイムにおいて、スケジュール動作が行われている場合、スケジューラ200は、同一のリソースに対する対応する割当が、要求されたリソース制約を満たすようインターバルを保証する。このことはまた、過去のリソース割当を記録することによって適切に増分的に実行される。
【0058】
通常動作期間中において、スケジューラ200は自身の割当のみを考慮する。これを行うために、スケジューラ200は、システムのモデルを使用して該スケジューラがすでにスケジューリングした動作に対するリソースの使用を記述する。
【0059】
このシステムはまた、リアルタイムでリアクティブな環境に容易に適用可能であり、そのような環境では、リソースが時々無効になるか又は通常容量のサブセットに限定される。現実のハードウェアにおけるそのような変化は、例えば制御コード部分220に設けられたモジュールの制御ソフトウェアによって通常はモニターされる。従来のシステムにおいては、スケジューラに特別なインターフェイスをもたせてモデルと現実のハードウェアとの間の変移を伝送するために、又は制御されたソフトウェアにスケジューラをアクセス可能とするために制御ソフトウェアが必要とされていた。
【0060】
スケジューラ200内のリソース管理は、適切に環境にアクセス可能にされる。より詳細には、これはコンポーネント制御コード220に対して有効とされる。スケジューラ200と同様に、制御コード220は、そのようなリソースの計算を補助してハードウェアの変化を反映することを可能にされる。このことは、スケジューラ200が自動的にシステムの変化を考慮することを可能とする。
【0061】
モデルが使用されてコンポーネント能力のデフォルト動作(リソース割当)が定義される。一方、制御コード自体は現行の状況を反映するようその動作を適応させる。このことは、環境によってリソース制約が変化する場合においても適切に拡張される。一般的に、このことは、スケジューラがリソースを使用しつつ(デフォルト定義から開始して)制御ソフトウェアがリソースを制御するように見える。
【0062】
現実のオンラインによる実施において、スケジューラはそのような未来の割当を自動的に作成し、それらを考慮する。スケジューラが先を見越してさらに割当を作成する場合、割当は、それがスケジューラ200(それぞれモデル222)からのものか又は制御コード220からのものかに依存して異なる優先度を適切にタグ付けされる。これによって、環境による割当と矛盾するスケジューラによる任意の割当は、適切に自動的に識別されて修正される。
【0063】
本発明のシステムは、スケジューリング及び制御ソフトウェアのためにプリントエンジン構成の能力を自動的に導出する新たな方法を提供する。例えば、プリントエンジンモジュールの能力は、プリントエンジンがモジュールから構成可能となるようにモジュールのコンポーネントの能力から導出され、結果となるプリントエンジンがスケジューリング及び制御されることが可能となる。
【0064】
先に詳述したモデル化システムは、ワークユニットに対して特定の動作を行うコンポーネントからプリントエンジンモジュールが一般的に構成されるというコンセプト、及び、モジュールのコンポーネントを記述してその記述から完全なモジュールの記述を導出することによってモジュールが最良に記述されるというコンセプトに基づく。特に、モジュールコンポーネントは、それらを通過するワークユニットに対してそれらが適用可能な特定の能力を有するものとしてモデル化される。モジュールにおいて、そのようなコンポーネントは機能的に接続される。従って、モジュールは、ワークユニットをその入力ポートから接続点に沿ってコンポーネントからコンポーネントへと最終的にその出力ポートまで選択的に移動させることによってワークユニットを生成し、ワークユニットに対して動作する。このプロセスの間、各コンポーネントはその能力の内の1つをワークユニットに適用する。完全なモジュールの能力は、そのようなコンポーネント能力の合成から生じる。
【0065】
例えば、モジュールは、画像と共にペーパーシートを移動させるコンポーネント、そのようなシート上に画像を転写するコンポーネント、そのようなシートをバイパス又は反転するコンポーネント等のコンポーネントを含むことが可能である。これらコンポーネント能力から生じるモジュール能力の内の1つは、1つのブランクペーパーシート、モジュールに入力される画像、及び画像を有してモジュールを離れる同じペーパーシートによって特徴付けられる。この能力は、(シート及び画像のような)ワークユニットに対する制約、リソースに対する制約、及びこれらリソースの割当のタイミングによってさらに特徴付けられ、これらの制約はコンポーネント能力における対応する制約から生じる。
【0066】
先に詳述したように、コンポーネントはその能力を記述することによってモデル化され、この場合、どのワークユニットがコンポーネントに入出力されるか、ワークユニットに対してどのような処理が行われるか、ワークユニットに対するどの属性制約が満たされなければならないか、どのようなリソース割当が作成されなければならないか、及び、これら割当のタイミングに対してどのような制約が満たされなければならないかを定義することによって各能力が記述される。そのようなコンポーネントの構成(例えばプリントエンジンモジュール)は、どのコンポーネントが使用されるか、及びどのようにそれらのポートが接続されるかを記述することによってモデル化される。コンポーネントポートは、相互接続されるか又はモジュールポートに接続される。
【0067】
次に、コンポーネント能力からモジュール能力を導出する方法について説明を行う。
【0068】
コンポーネントから構成されるモジュールの1つの能力を導出するために、全てのコンポーネントは、入力イベントを待機しているものとして開始及び記録される。次に、1つのワークユニットと可変時間インターバルから成る1つのイベントがモジュールの入力ポートの内の1つに与えられる。次に、そのポートに接続されるコンポーネントの能力の内の1つがワークユニットを使用して実行される。能力の実行中において、属性制約が実行され(この制約はワークユニットの属性に対する制約に付加される)、この一方でリソース割当及びタイミング制約が制約記憶において収集され、実行された能力のネーム及びアーギュメントが道のりリストに記憶される。
【0069】
次に、(処理される可能性のある)ワークユニットとその出力時間インターバルから成る1つのイベントがコンポーネントの出力ポートに与えられ、能力が実行されたコンポーネントは入力イベントを待機しているものとして再開始及び記録される。出力イベントが与えられた出力ポートがモジュールの出力ポートである場合、モジュールの能力が導出されたことになる。そうでない場合は、出力ポートは連結されたコンポーネントの入力ポートであり、そのコンポーネントの能力を実行するステップが前述のように繰り返される。一般的に、1つの能力は1つ以上の入力ポートでイベントを予期することが可能であり、1つの能力は1つ以上の出力ポートでイベントを与えることが可能である。コンポーネント能力は、それが予期する全てのイベントが入力ポートに現れる場合に実行されることが可能である。任意の入力ポートでイベント待機状態にない場合、モジュール能力が導出されたことになる。
【0070】
モジュール能力を導出する前述の方法はまた、最初にイベントを出力ポートで与えて全ての能力を後戻りして翻訳することによって後戻りして実行可能であることが理解される。
【0071】
そのコンポーネントの能力を前進か後戻りかのいづれかで実行することによってモジュールの動作をシミュレートする方法において、コンポーネント能力によって予期された全てのイベントが1つ以上の連結コンポーネントによって生成される場合にのみ、モジュール能力が導出されることが可能である。しかし、例えば、前進形態で能力を導出する場合、1つの能力が2つ以上の入力イベントを予期しているにもかかわらず1つのみが生成されて他の能力が実行不可能となり、従って他のコンポーネントが残りのイベントを生成不可能となることが起こり得る。そのような場合、導出システムは、生成されなかったイベントが生成されたものと"仮想"し、それらを連結された先行コンポーネントのポートで与える。次に、これら連結コンポーネント能力が実行され、同様に、生成されなかった入力イベントが生成されたものとして"仮想"される。このことは、もし必要ならば、"仮想"された入力イベントがモジュールの入力ポートに与えられるまで繰り返される。制約は潜在的な方向を有しておらず、従って属性及びタイミング制約はいづれの方向にも実行可能であり、入力及び出力イベントを適切に連結する。全体的導出が終了した場合、入力及び出力イベントはワークユニット記述を有することとなり、該記述は、導出された能力が実行される場合にモジュールによって受け取られる入力及びモジュールによって生成される出力を反映する。
【0072】
入力及び出力イベントに加えて、システムは制御コマンドも考慮することが理解される。即ち、モジュールポートに与えられた1つ以上のイベントと共にシステムが開始するだけでなく、ユーザーもまた実行されるコンポーネント能力セットを提供する場合、システムはこれらも同様に考慮することが可能である。全ての(正確にはいくつかの)能力が(最大限に)実行されなければならないか、さもなくば少なくとも与えられた能力が(最大限に)実行されなければならないようにこの能力セットが翻訳される。
【0073】
コンポーネント能力を前進及び後戻りの両方で実行可能な方法が与えられる場合、能力を導出する目的に対して主方向は無関係であることが理解される。一般的に、コンポーネントポートでイベントが待機状態にあるために導出が終了していないにもかかわらずコンポーネントで1つ以上の予期されたイベントが生成されないために導出が先に進めない時にはいつでも、そのポートの内の1つで少なくとも1つのイベントが与えられたコンポーネントが選択され、選択されたコンポーネント能力の生成されないイベントが現れたものと仮定されて能力の定義に基づいて対応するポートで該イベントが与えられる。導出の好ましい主方向は前進方向であることが頻繁であるが、初期イベントが与えられる好ましいポートはモジュールの出力ポートであることが頻繁である。
【0074】
前述の方法は、モジュールが1つのコンポーネントのみから成る場合にも動作することが理解される。
【0075】
前述のように、リソース割当とタイミング制約Rは制約記憶において収集され、実行されたコンポーネント能力のネーム及びアーギュメントが導出期間中に道のりリストCに記憶される。この情報は、モジュールの入力及び出力ポートでそれぞれ与えられた全てのイベントI及びOの累積された属性制約及び時間インターバルと共に、モジュール能力<I,O,R,C>として記録される。
【0076】
前述の方法は1つのモジュール能力を導出して記録する。この方法はさらに、推定及びバックトラッキングシステムが付加される。1つのモジュール能力が導出されて記録された後、導出がバックトラックされる、即ち、過去に実行された能力の内の1つが取り消されて同一コンポーネントの他の能力が選択されて実行されるようシステムは動作する。そのような能力が存在しないか又は現在の制約で実行不可能な場合、代替的な能力が実行可能になるまでシステムはさらにバックトラックを行う。この時点から導出が続行される。同様に、イベントの初期の付与まで導出がバックトラックされる場合、他のモジュールポートでイベントが与えられる。このような方法において、さらなるモジュール能力が導出されて記録されることが可能である。全てのモジュールの入力ポートかさもなくば全てのモジュールの出力ポートで全てのイベントに対して全てのコンポーネントのコンポーネント能力の全ての代替が導出された場合、全てのモジュール能力の導出が完了する。
【0077】
特に、モジュールが1つより多くのコンポーネントから構成される場合、結果として得られるモジュール能力情報は簡略化され得ることが頻繁である。例えば、2つのリソースが同一タイプであり、これらのリソースにおける全ての割当が全てのモジュール能力における等しい制約によって連結される場合、2つのリソースの内の1つにおける割当は冗長であり、情報を失うことなく除去されることが可能である。さらなる簡素化が制約処理において発生し得る。
【0078】
モジュールがループを有する場合、ループを介する複数の繰り返しをいつ終了するかをシステムがそれ自体で決定不可能な場合がある。このような場合において、前述のようにコンポーネント能力の最大セットが与えられていない場合、少なくとも1つのコンポーネントの実行をモニターする付加的機能がユーザーによって与えられることが可能である。例えば、そのような機能は、転写コンポーネントをモニターして導出期間中に多くとも2回だけプリント能力を実行可能とすることができる。そのようなモニター機能が失敗する場合、導出が停止されてバックトラックが行われる。
【0079】
前述のシステムを実施可能ないくつかの方法が存在することが理解される。例えば、コンポーネントは、先に詳述した、コンポーネント能力をシミュレートするモデルから生成される同時制約プログラムとして実施可能であり、また、モジュールは、合成及び連結されたそのようなプログラムのセットとして実施可能である。導出はプログラムを部分的に評価することによって実行され、特に、イベントアクション及び属性制約が評価される。この一方で、リソース割当及びタイミング制約は翻訳なしに累積される。必要な場合には、イベント又は制御コマンドの存在が仮想的に仮定される。モニター機能は同時プロセスとして実施可能である。本発明を実施するこれら及び他の方法は、制約プログラミングの技術分野の知識を有するものにとって明らかである。
【0080】
本発明は、好ましい実施例に関して記述された。明らかに、本明細書の理解によって変形と代替が生じる。そのような全ての変形と代替は、請求項及びその同等物の範囲内となる限り本発明に含まれることが意図される。
【図面の簡単な説明】
【0081】
【図1】本発明の自動化構成及びスケジューリングを組み込んだモジュール方式印刷装置の概略図である。
【図2】本発明の自動化構成及びスケジューリングを実行するための動作の階層的順序付けの詳細を表すフローチャートである。
【図3】本発明の自動化構成及びスケジューリングに関連して使用される印刷装置コンポーネントの一般的記述を表す図である。
【図4】本発明において与えられるリソースを使用するスケジューラと制御コードの相互作用を示すブロック図である。
【符号の説明】
【0082】
A プリントエンジン
B モジュール
C データプロセッサユニット

【特許請求の範囲】
【請求項1】
プリントエンジン装置において、第1の印刷シートの仕様によって記述される第1の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、
該方法は、
プリントエンジン装置構成のモデルを提供し、
前記モデルの少なくとも一つの出力ポートに前記第1の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、
前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第1の印刷シートの仕様により記述された前記第1の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、
方法であって、
前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、
関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、
少なくとも一つの前記コンポーネントデバイスは、フィードトレイ、トランスポートベルト、転写コンポーネント、インバータ、ゲートの一つである、
方法。
【請求項2】
プリントエンジン装置において、第1の印刷シートの仕様によって記述される第1の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、
該方法は、
プリントエンジン装置構成のモデルを提供し、
前記モデルの少なくとも一つの出力ポートに前記第1の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、
前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第1の印刷シートの仕様により記述された前記第1の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、
方法であって、
前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、
関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、
プリントエンジンコンポーネントの少なくとも一つは、前記プリントエンジン装置の物理的な構成要素であり、
前記プリントエンジンコンポーネントの各々は、他のコンポーネントの記述および他のコンポーネントとの相互作用の記述の参照とは独立に記述され、
前記後戻りシミュレーションは、属性制約、リソース割当およびタイミング制約、道のりリストに記憶された実行能力のネームおよびアーギュメントを累積することにより、前記プリントエンジンコンポーネントの各々の能力を構成するように動作し、
前記プリントエンジン装置の能力は、前記プリントエンジンコンポーネントの第2のコンポーネントが前記プリントエンジン装置のモデルの出力ポートである場合に、該プリントエンジンコンポーネントの第1のコンポーネントから、該プリントエンジンコンポーネントの該第2のコンポーネントの出力ポートへ、伝達されたワークユニットの配送の存在にもとづいて、実現される、
方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−260286(P2008−260286A)
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願番号】特願2008−94483(P2008−94483)
【出願日】平成20年4月1日(2008.4.1)
【分割の表示】特願平8−142996の分割
【原出願日】平成8年6月5日(1996.6.5)
【出願人】(596170170)ゼロックス コーポレイション (1,961)
【氏名又は名称原語表記】XEROX CORPORATION
【Fターム(参考)】