(57)【要約】【課題】ＳｏｆｔＲＩＰにおいて、従来の逐次的なＲＩＰ処理だと、一度重いジョブが入ってくると、その処理にＲＩＰが占領されてしまい、たとえ次のジョブがとても軽くても、処理は前の重いジョブが終わらないと開始されない、という問題が生じていた。そこで、この問題を解決するために、入ってきたジョブのファイルのサイズや、処理予想時間や、ホストの残りメモリサイズなどの上記の条件を考慮し、最適な処理順序や最適なスレッドを動作させることにより、高速で省メモリの処理が可能になるようにする。【解決手段】入力：ＰＤＬ、レンダリングが行えるディスプレイリスト形式ファイルと、さまざまな条件処理部：入力の条件を処理し、スレッドを立てるかどうか、また処理順序の判断出力：プリンタ、ディスプレイなどのデバイスにＲＩＰ済みデータｏｒディスプレイリストを出力。【選択図】        図１
2004334513.tif 000002
【特許請求の範囲】
【請求項１】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力するステップと、ＳｏｆｔＲＩＰを起動するステップと、ＲＩＰに関するデータを入力するステップと、ホストコンピュータに関する情報を入力するステップと、重み付けをする基準を入力するステップと、これらのデータを解析し、重み付けが出来るようなデータに変換するステップと、入力ジョブを受け付ける時間を決定しセットするステップと、その時間分ジョブの入力を受け付けるステップと、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換するステップと、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつけるステップと、処理の種類毎に、重み順にジョブをソートし処理順位を付けるステップと、ソートした順に各処理のスレッドを作成し、処理を開始するステップと、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法。
【請求項２】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力するステップと、ＳｏｆｔＲＩＰを起動するステップと、ＲＩＰに関するデータを入力するステップと、ホストコンピュータに関する情報を入力するステップと、重み付けをする基準を入力するステップと、これらのデータを解析し、重み付けが出来るようなデータに変換するステップと、入力ジョブを受け付ける時間を決定しセットするステップと、その時間分ジョブの入力を受け付けるステップと、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換するステップと、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得するステップと、このプリンタのデータを重み付けが出来るような基準に変換するステップと、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつけるステップと、処理の種類毎に、重み順にジョブをソートし処理順位を付けるステップと、ソートした順に各処理のスレッドを作成し、処理を開始するステップと、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法。
【請求項３】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力するステップと、ＳｏｆｔＲＩＰを起動するステップと、ＲＩＰに関するデータを入力するステップと、ホストコンピュータに関する情報を入力するステップと、重み付けをする基準を入力するステップと、これらのデータを解析し、重み付けが出来るようなデータに変換するステップと、入力ジョブを受け付ける時間を決定しセットするステップと、その時間分ジョブの入力を受け付けるステップと、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換するステップと、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得するステップと、このプリンタのデータを重み付けが出来るような基準に変換するステップと、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつけるステップと、ホストコンピュータのスペックより、スプールされたすべてのジョブの処理に対して十分なメモリがあるか判断するステップと、あった場合それらのジョブのＲＩＰを行うステップと、ＲＩＰ終了後、ＳｏｆｔＲＩＰの修了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法。
【請求項４】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力する手段と、ＳｏｆｔＲＩＰを起動する手段と、ＲＩＰに関するデータを入力する手段と、ホストコンピュータに関する情報を入力する手段と、重み付けをする基準を入力する手段と、これらのデータを解析し、重み付けが出来るようなデータに変換する手段と、入力ジョブを受け付ける時間を決定しセットする手段と、その時間分ジョブの入力を受け付ける手段と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する手段と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける手段と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける手段と、ソートした順に各処理のスレッドを作成し、処理を開始する手段と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理装置。
【請求項５】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力する手段と、ＳｏｆｔＲＩＰを起動する手段と、ＲＩＰに関するデータを入力する手段と、ホストコンピュータに関する情報を入力する手段と、重み付けをする基準を入力する手段と、これらのデータを解析し、重み付けが出来るようなデータに変換する手段と、入力ジョブを受け付ける時間を決定しセットする手段と、その時間分ジョブの入力を受け付ける手段と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する手段と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する手段と、このプリンタのデータを重み付けが出来るような基準に変換する手段と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける手段と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける手段と、ソートした順に各処理のスレッドを作成し、処理を開始する手段と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理装置。
【請求項６】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力する手段と、ＳｏｆｔＲＩＰを起動する手段と、ＲＩＰに関するデータを入力する手段と、ホストコンピュータに関する情報を入力する手段と、重み付けをする基準を入力する手段と、これらのデータを解析し、重み付けが出来るようなデータに変換する手段と、入力ジョブを受け付ける時間を決定しセットする手段と、その時間分ジョブの入力を受け付ける手段と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する手段と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する手段と、このプリンタのデータを重み付けが出来るような基準に変換する手段と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける手段と、ホストコンピュータのスペックより、スプールされたすべてのジョブの処理に対して十分なメモリがあるか判断する手段と、あった場合それらのジョブのＲＩＰを行う手段と、ＲＩＰ終了後、ＳｏｆｔＲＩＰの修了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理装置。
【請求項７】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力する工程と、ＳｏｆｔＲＩＰを起動する工程と、ＲＩＰに関するデータを入力する工程と、ホストコンピュータに関する情報を入力する工程と、重み付けをする基準を入力する工程と、これらのデータを解析し、重み付けが出来るようなデータに変換する工程と、入力ジョブを受け付ける時間を決定しセットする工程と、その時間分ジョブの入力を受け付ける工程と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する工程と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける工程と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける工程と、ソートした順に各処理のスレッドを作成し、処理を開始する工程と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行い、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理制御プログラムを記憶したことを特徴とする記憶媒体。
【請求項８】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力する工程と、ＳｏｆｔＲＩＰを起動する工程と、ＲＩＰに関するデータを入力する工程と、ホストコンピュータに関する情報を入力する工程と、重み付けをする基準を入力する工程と、これらのデータを解析し、重み付けが出来るようなデータに変換する工程と、入力ジョブを受け付ける時間を決定しセットする工程と、その時間分ジョブの入力を受け付ける工程と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する工程と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する工程と、このプリンタのデータを重み付けが出来るような基準に変換する工程と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける工程と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける工程と、ソートした順に各処理のスレッドを作成し、処理を開始する工程と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行い、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理制御プログラムを記憶したことを特徴とする記憶媒体。
【請求項９】
実装者が提供する各処理を行うスレッドセーフなモジュールを入力する工程と、ＳｏｆｔＲＩＰを起動する工程と、ＲＩＰに関するデータを入力する工程と、ホストコンピュータに関する情報を入力する工程と、重み付けをする基準を入力する工程と、これらのデータを解析し、重み付けが出来るようなデータに変換する工程と、入力ジョブを受け付ける時間を決定しセットする工程と、その時間分ジョブの入力を受け付ける工程と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する工程と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する工程と、このプリンタのデータを重み付けが出来るような基準に変換する工程と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける工程と、ホストコンピュータのスペックより、スプールされたすべてのジョブの処理に対して十分んメモリがあるか判断する工程と、あった場合それらのジョブのＲＩＰを行う工程と、ＲＩＰ終了後、ＳｏｆｔＲＩＰの修了処理を行い、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理制御プログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び管理装置及びそれらの制御方法ならびにそれらを記憶する記憶媒体であるところの、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法及び装置ならびにそれらを記憶する記憶媒体に関する。
【０００２】
【従来の技術】
従来の逐次的なＲＩＰ処理だと、一度非常に大きなジョブは入力されると、その処理にＲＩＰが占領されてしまい、たとえ次のジョブがとても軽くても、処理は前の重いジョブが終わらないと開始されないという問題があった。また、プリンティング技術において、高速化の為にスレッドを作成し処理を行うという発明は、例えば、下記特許文献１があげられるが、この発明は、スレッドを作成する条件が、２ＣＰＵか、カラー画像化どうか、解像度はどうか、ネットワーク環境はどうかの４つであり、また、スレッドの分け方が、テーブルを元にし、ラスタライズ、色補正、ハーフトーニングの３種類にしか分けられておらず、処理の高速化の目的達成には不十分、また使用メモリについての言及がなされていなかった。
【０００３】
【特許文献１】
特開２０００−２９３６７４号公報
【０００４】
【発明が解決しようとする課題】
本発明は、上記の問題点を解決するために、インタプリタ、レンダリング処理などＳｏｆｔＲＩＰ処理を行う一手法として、ホストコンピュータの空きメモリ容量や、ＲＩＰに関するデータ、入力ジョブのステータスなどの条件から、最適な処理順序、処理場所の決定をあらかじめ行い、その順番にしたがいスレッドを作成し処理を行うことにより、ＲＩＰ処理の高速化と、ホストコンピュータの省メモリを可能にするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法及び装置ならびにそれらを記憶する記憶媒体の提供を目的とする。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明は以下（１）〜（９）の構成を備える。
【０００６】
（１）実装者が提供する各処理を行うスレッドセーフなモジュールを入力するステップと、ＳｏｆｔＲＩＰを起動するステップと、ＲＩＰに関するデータを入力するステップと、ホストコンピュータに関する情報を入力するステップと、重み付けをする基準を入力するステップと、これらのデータを解析し、重み付けが出来るようなデータに変換するステップと、入力ジョブを受け付ける時間を決定しセットするステップと、その時間分ジョブの入力を受け付けるステップと、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換するステップと、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつけるステップと、処理の種類毎に、重み順にジョブをソートし処理順位を付けるステップと、ソートした順に各処理のスレッドを作成し、処理を開始するステップと、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法。
【０００７】
（２）実装者が提供する各処理を行うスレッドセーフなモジュールを入力するステップと、ＳｏｆｔＲＩＰを起動するステップと、ＲＩＰに関するデータを入力するステップと、ホストコンピュータに関する情報を入力するステップと、重み付けをする基準を入力するステップと、これらのデータを解析し、重み付けが出来るようなデータに変換するステップと、入力ジョブを受け付ける時間を決定しセットするステップと、その時間分ジョブの入力を受け付けるステップと、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換するステップと、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得するステップと、このプリンタのデータを重み付けが出来るような基準に変換するステップと、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつけるステップと、処理の種類毎に、重み順にジョブをソートし処理順位を付けるステップと、ソートした順に各処理のスレッドを作成し、処理を開始するステップと、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法。
【０００８】
（３）実装者が提供する各処理を行うスレッドセーフなモジュールを入力するステップと、ＳｏｆｔＲＩＰを起動するステップと、ＲＩＰに関するデータを入力するステップと、ホストコンピュータに関する情報を入力するステップと、重み付けをする基準を入力するステップと、これらのデータを解析し、重み付けが出来るようなデータに変換するステップと、入力ジョブを受け付ける時間を決定しセットするステップと、その時間分ジョブの入力を受け付けるステップと、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換するステップと、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得するステップと、このプリンタのデータを重み付けが出来るような基準に変換するステップと、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつけるステップと、ホストコンピュータのスペックより、スプールされたすべてのジョブの処理に対して十分なメモリがあるか判断するステップと、あった場合それらのジョブのＲＩＰを行うステップと、ＲＩＰ終了後、ＳｏｆｔＲＩＰの修了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理方法。
【０００９】
（４）実装者が提供する各処理を行うスレッドセーフなモジュールを入力する手段と、ＳｏｆｔＲＩＰを起動する手段と、ＲＩＰに関するデータを入力する手段と、ホストコンピュータに関する情報を入力する手段と、重み付けをする基準を入力する手段と、これらのデータを解析し、重み付けが出来るようなデータに変換する手段と、入力ジョブを受け付ける時間を決定しセットする手段と、その時間分ジョブの入力を受け付ける手段と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する手段と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける手段と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける手段と、ソートした順に各処理のスレッドを作成し、処理を開始する手段と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理装置。
【００１０】
（５）実装者が提供する各処理を行うスレッドセーフなモジュールを入力する手段と、ＳｏｆｔＲＩＰを起動する手段と、ＲＩＰに関するデータを入力する手段と、ホストコンピュータに関する情報を入力する手段と、重み付けをする基準を入力する手段と、これらのデータを解析し、重み付けが出来るようなデータに変換する手段と、入力ジョブを受け付ける時間を決定しセットする手段と、その時間分ジョブの入力を受け付ける手段と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する手段と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する手段と、このプリンタのデータを重み付けが出来るような基準に変換する手段と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける手段と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける手段と、ソートした順に各処理のスレッドを作成し、処理を開始する手段と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理装置。
【００１１】
（６）実装者が提供する各処理を行うスレッドセーフなモジュールを入力する手段と、ＳｏｆｔＲＩＰを起動する手段と、ＲＩＰに関するデータを入力する手段と、ホストコンピュータに関する情報を入力する手段と、重み付けをする基準を入力する手段と、これらのデータを解析し、重み付けが出来るようなデータに変換する手段と、入力ジョブを受け付ける時間を決定しセットする手段と、その時間分ジョブの入力を受け付ける手段と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する手段と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する手段と、このプリンタのデータを重み付けが出来るような基準に変換する手段と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける手段と、ホストコンピュータのスペックより、スプールされたすべてのジョブの処理に対して十分なメモリがあるか判断する手段と、あった場合それらのジョブのＲＩＰを行う手段と、ＲＩＰ終了後、ＳｏｆｔＲＩＰの修了処理を行うことを特徴とするＳｏｆｔＲＩＰにおけるマルチスレッド決定処理装置。
【００１２】
（７）実装者が提供する各処理を行うスレッドセーフなモジュールを入力する工程と、ＳｏｆｔＲＩＰを起動する工程と、ＲＩＰに関するデータを入力する工程と、ホストコンピュータに関する情報を入力する工程と、重み付けをする基準を入力する工程と、これらのデータを解析し、重み付けが出来るようなデータに変換する工程と、入力ジョブを受け付ける時間を決定しセットする工程と、その時間分ジョブの入力を受け付ける工程と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する工程と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける工程と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける工程と、ソートした順に各処理のスレッドを作成し、処理を開始する工程と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行い、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理制御プログラムを記憶したことを特徴とする記憶媒体。
【００１３】
（８）実装者が提供する各処理を行うスレッドセーフなモジュールを入力する工程と、ＳｏｆｔＲＩＰを起動する工程と、ＲＩＰに関するデータを入力する工程と、ホストコンピュータに関する情報を入力する工程と、重み付けをする基準を入力する工程と、これらのデータを解析し、重み付けが出来るようなデータに変換する工程と、入力ジョブを受け付ける時間を決定しセットする工程と、その時間分ジョブの入力を受け付ける工程と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する工程と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する工程と、このプリンタのデータを重み付けが出来るような基準に変換する工程と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける工程と、処理の種類毎に、重み順にジョブをソートし処理順位を付ける工程と、ソートした順に各処理のスレッドを作成し、処理を開始する工程と、処理の終了後ＳｏｆｔＲＩＰの終了処理を行い、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理制御プログラムを記憶したことを特徴とする記憶媒体。
【００１４】
（９）実装者が提供する各処理を行うスレッドセーフなモジュールを入力する工程と、ＳｏｆｔＲＩＰを起動する工程と、ＲＩＰに関するデータを入力する工程と、ホストコンピュータに関する情報を入力する工程と、重み付けをする基準を入力する工程と、これらのデータを解析し、重み付けが出来るようなデータに変換する工程と、入力ジョブを受け付ける時間を決定しセットする工程と、その時間分ジョブの入力を受け付ける工程と、入力ジョブのステータスをチェックし、重み付けが出来るようようなデータに変換する工程と、ユーザーの指示で複数のプリンタにジョブが送られる場合、出力プリンタのステータスを取得する工程と、このプリンタのデータを重み付けが出来るような基準に変換する工程と、これらの情報すべてを元に、処理時間が短いと考えられるものや、省スペースで処理が出来ると考えられる物に大きな重みをつける工程と、ホストコンピュータのスペックより、スプールされたすべてのジョブの処理に対して十分なメモリがあるか判断する工程と、あった場合それらのジョブのＲＩＰを行う工程と、ＲＩＰ終了後、ＳｏｆｔＲＩＰの修了処理を行、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理制御プログラムを記憶したことを特徴とする記憶媒体。
【００１５】
【発明の実施の形態】
以下に本発明の実施の形態を、実施例に基づいて図面を参照しながら説明する。
【００１６】
（実施例１）
次に実施例１について説明する。
【００１７】
図１は、本実施例にかかわる基本的な構成を示すブロック図である。
【００１８】
図１において１はＣＰＵ、即ち中央演算処理装置であり、本装置全体の制御及び演算処理を行う。２はＲＡＭ、即ちランダムアクセスメモリであり、処理毎にそれぞれのプログラム及びデータがロードされ、実施される領域である。３はＲＯＭ、即ち読み出し専用メモリであり、システム制御プログラムや、入力ＰＤＬ、中間ＰＤＬ、イメージデータ、ＩＤテーブルなどの記憶領域である。４はＫＢＣ、即ちキーボード制御部であり、キーボード５（ＫＢ）からのキー入力によりデータを受け取りＣＰＵ１へ伝達する。６はＰＲＴＣ、即ちプリンタ制御部であり、プリンタ装置７（ＰＲＴ）を制御するためのものである。プリンタ装置７は、レーザービームプリンタ、インクジェットプリンタなどである。８はＣＲＴＣ、即ちディスプレイ制御部であり、ディスプレイ装置９（ＣＲＴ）への表示制御を行う。１０はＤＫＣ、即ちディスク制御部であり、データ伝送などの制御を行うものである。１１はＦＤ（フロッピー（Ｒ）ディスク装置）１１ａあるいはＨＤ（ハードディスク装置）１１ｂあるいはＣＤ（ＣＤ−ＲＯＭ）１１ｃなどの外部記憶装置であり、プログラム及びデータを記憶させておき、実行時必要に応じて参照またはＲＡＭ２へロードする。１２はシステムバスであり、上述の構成要素間におけるデータ転送の通路となるべき物である。
【００１９】
本装置は、基本Ｉ／Ｏ（入出力）プログラム、ＯＳ（オペレーティングシステム）、及び以下に説明するＳｏｆｔＲＩＰにおけるマルチスレッド決定処理はＣＰＵ１が実行することにより動作する。
【００２０】
基本Ｉ／ＯプログラムはＲＯＭ３に記憶されており、ＯＳはＨＤ１１ｂに書き込まれている。そして本装置の電源がＯＮにされた時、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャルプログラムローディング）機能によりＨＤ１１ｂからＯＳがＲＡＭ２に読み込まれ、ＯＳの動作が開始される。
【００２１】
本実施例では、ＳｏｆｔＲＩＰにおけるマルチスレッド決定処理及び関連データは図２のようにＦＤ１１ａ、またはＣＤ−ＲＯＭ１１ｃ中に記録されており、このＦＤ１１ａまたはＣＤ−ＲＯＭ１１ｃをＦＤドライブまたはＣＤ−ＲＯＭドライブに記録されたＳｏｆｔＲＩＰにおけるマルチスレッド決定処理プログラム及び関連データは図３に示すように、ＦＤドライブまたはＣＤ−ＲＯＭドライブを通じて、本装置のＨＤ１１ｂにインストールする事が出来る。この場合ＦＤ１１ａまたはＣＤ−ＲＯＭ１１ｃをＦＤドライブまたはＣＤ−ＲＯＭドライブにセットすると、ＯＳ及び基本Ｉ／Ｏプログラムの制御のもとにＳｏｆｔＲＩＰにおけるマルチスレッド決定処理及び関連データがＦＤ１１ａまたはＣＤ−ＲＯＭ１１ｃから読み出され、ＨＤ１１ｂにインストールされて動作可能となる。
【００２２】
図４はＳｏｆｔＲＩＰにおけるマルチスレッド決定処理プログラムがＨＤ１１ｂにインストールされ実行可能になった状態のメモリマップを示す。
【００２３】
図５は本実施例におけるＳｏｆｔＲＩＰにおけるマルチスレッド決定処理における処理の流れを示すフローチャートである。
【００２４】
まず、ステップＳ１では実装者が提供する各処理を行うスレッドセーフなモジュールが入力として入る。例として、インタプリタ部やレンダリング部や中間ＰＤＬの編集部などが上げられる。ステップＳ２ではＳｏｆｔＲＩＰの起動、初期化を行う。ステップＳ３では、ＲＩＰに関連するデータの入力を行う。例えば、ＰＤＬ毎のファイルサイズによるインタプリタ時間や、用紙サイズによるレンダリングに必要なメモリサイズなどのデータである。ステップＳ４では、ホストコンピュータに関するデータの入力が行われる。これは、例えば、使用可能メモリサイズなどである。ステップＳ５では、重み付けをする為の基準を示したデータを入力する。ステップＳ６では、ステップＳ３やステップＳ４のデータを解析し重み付けの為の値に変換する。ステップＳ７では、入力ジョブを受け付ける時間を決定しセットする。これは、ユーザーまたは実装者が行う。ステップＳ８はジョブスプールのループ端である。ステップＳ９では、入力ジョブがあるか判断し、Ｙｅｓの場合ステップＳ１０において、入力ジョブを入力する。入力ジョブには、ＰＤＬや中間ＰＤＬ（ディスプレイリスト）、印刷指示などが含まれる。ステップＳ１１ではジョブのスプールを行う。ステップＳ１２では、セットした時間をデステップクリメントする。ステップＳ１３では、ジョブスプールのループ端で時間が０になるまでループが回る。ステップＳ１４は入力されたジョブがあるかチェックし、ステップＳ１５では、入力ジョブがあった場合、ステータスをチェックし、重み付けの為の値に変換する。ステップＳ１６では、ステップＳ１０内で複数へのプリンタへの出力指示があるかの判断をし、Ｙｅｓだった場合、ステップＳ１８で出力プリンタのステータスをチェックし、重み付けの為の値に変換する。ステップＳ１９でスプールされたジョブの数が２つ以上かどうか判断し、Ｙｅｓだった場合、ステップＳ２０において、ステップＳ１，Ｓ５，Ｓ６，Ｓ１０，Ｓ１８を元に、入力ジョブに重み付けをする。この際、大きな重みをつける条件として、処理時間が少ないと予想されるもの、使用メモリが少ないと考えるものの重みを大きくするが、ユーザーの支持を受けることも出来る。ステップＳ２１において、ホストコンピュータのスペックが、スプールされたすべてのジョブの処理に対して十分ではないかどうか判断し、ステップＳ２３において、ステップＳ２１がＹｅｓだった場合、各スレッド毎に重み付けに従い、ソートし処理順位を付ける。ステップＳ２２では、ステップＳ１８またはステップＳ２１がＮｏだった場合に、その処理に必要なスレッドを作成しＲＩＰを行う。ステップＳ２４では入力ジョブのＲＩＰ処理のループ端で、すべての入力ジョブの処理が終了するまでループが回る。ステップＳ２５はスレッドを作成するループ端で、スレッドを作成する空き容量がある時ループが回る。ステップＳ２６では、ステップＳ２３でソートした順にスレッドを作成しＲＩＰ処理を行う。ステップＳ２７は、スレッド作成のループ端である。ステップＳ２８では、終了したジョブがあるか判断し、Ｙｅｓだった場合、ステップＳ２９で次の順序待ちのジョブのＲＩＰ処理を行う。ステップＳ３０はＲＩＰ処理のループ端である。ステップＳ３１において、ＳｏｆｔＲＩＰの終了処理を行う。
【００２５】
【発明の効果】
以上説明したように本発明によれば、スレッド作成の最適化を行うことにより、ＲＩＰ処理の高速化や、ホストコンピュータの省メモリでの動作が可能になる。なお、図６にオブジェクトの概念図を示す。
【図面の簡単な説明】
【図１】実施例１の情報処理装置の構成図
【図２】ＦＤまたはＣＤ−ＲＯＭの記録内容を示す図
【図３】ＦＤまたはＣＤ−ＲＯＭと情報処理装置の関係図
【図４】情報処理装置のハードディスクにＳｏｆｔＲＩＰにおけるマルチスレッド決定処理がインストールされた際の情報処理装置のメモリマップを示す図
【図５】実施例１のＳｏｆｔＲＩＰにおけるマルチスレッド決定処理を示すフローチャート
【図６】実施例１のＳｏｆｔＲＩＰにおけるマルチスレッド決定処理を表す概念図
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  キーボード制御部（ＫＢＣ）
５  キーボード（ＫＢ）
６  プリンタ制御部（ＰＲＴＣ）
７  プリンタ装置（ＰＲＴ）
８  ディスプレイ制御部（ＣＲＴＣ）
９  ディスプレイ装置（ＣＲＴ）
１０  ディスク制御部（ＤＫＣ）
１１  外部記憶装置
１１ａ  ＦＤ
１１ｂ  ＨＤ
１１ｃ  ＣＤ−ＲＯＭ
１２  システムバス
【図１】
2004334513.tif 000003
【図２】
2004334513.tif 000004
【図３】
2004334513.tif 000005
【図４】
2004334513.tif 000006
【図５】
2004334513.tif 000007
【図６】
2004334513.tif 000008