(57)【要約】【課題】アクセス速度が異なる第１または第２の記憶手段に記憶される処理対象データにアクセスしながら処理対象データを処理する装置であって、処理対象データの内容に応じて処理対象データの記憶先を振り分ける情報処理装置を提供する。【解決手段】情報処理装置９が、メモリ２またはＨＤＤ３に記憶される処理対象データにアクセスしながら処理対象データを処理する。情報処理装置９が、処理内容を特定し、特定された処理内容と、処理対象データの内容とに基づいて、ＨＤＤ３へのアクセス回数を算出する。そして、情報処理装置９が、アクセス回数が閾値以上である場合に、処理対象データをメモリ２に記憶することを決定する。情報処理装置９が、アクセス回数が閾値未満である場合に、処理対象データをＨＤＤ３に記憶することを決定する。【選択図】図１
2012174184.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶手段またはアクセス速度が前記第１の記憶手段へのアクセス速度より遅い第２の記憶手段に記憶される処理対象データにアクセスしながら処理対象データを処理する装置であって、
処理内容を特定する処理内容特定手段と、
前記特定された処理内容と、前記処理対象データの内容とに基づいて、前記第２の記憶手段へのアクセス回数を算出するアクセス回数算出手段と、
前記算出されたアクセス回数が予め決められた第１の閾値以上である場合に、前記処理対象データを前記第１の記憶手段に記憶することを決定し、前記算出されたアクセス回数が前記第１の閾値未満である場合に、前記処理対象データを前記第２の記憶手段に記憶することを決定する決定手段とを備える
ことを特徴とする情報処理装置。
【請求項２】
前記処理内容特定手段は、前記処理内容が、座標の移動が発生するレイアウト処理、座標の移動が発生しないレイアウト処理、または印刷データの生成処理のいずれであるかを特定し、
前記アクセス回数算出手段は、
前記特定された処理内容が前記座標の移動が発生しないレイアウト処理である場合に、該レイアウト処理に対応する予め定められた固定値を前記アクセス回数として算出し、
前記特定された処理内容が前記座標の移動が発生するレイアウト処理または前記印刷データの生成処理である場合に、前記処理対象データの属性に対応するコマンドの数に基づいて前記アクセス回数を算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、予め決められた処理実行手段順に前記処理対象データを処理する複数の処理実行手段を備えており、
前記処理内容特定手段、前記アクセス回数算出手段、前記決定手段は、各々の処理実行手段による前記処理対象データの処理毎に、それぞれ、前記処理内容を特定する処理、前記アクセス回数を算出する処理、前記処理対象データを第１または第２の記憶手段のいずれに記憶するかを決定する処理を実行し、
前記複数の処理実行手段のうち、処理を完了した処理実行手段は、次に処理する処理実行手段に対して処理結果を出力し、該処理結果の出力時に、前記処理対象データの属性に対応するコマンドの数をカウントし、
前記アクセス回数算出手段は、各々の処理実行手段による前記処理対象データの処理毎に、前記コマンドの数がカウント済みであるかを判断し、前記コマンドの数がカウント済みである場合に、該カウント済みであるコマンドの数に基づいて前記アクセス回数を算出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、さらに、
前記第１の閾値未満であるアクセス回数が、予め定められた前記第１の閾値より小さい第２の閾値以下である場合に、前記処理対象データを前記第２の記憶手段に記憶することを決定し、
前記第１の閾値未満であるアクセス回数が、前記第２の閾値を超える場合に、前記処理対象データを前記第１の記憶手段に記憶することを決定する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段は、さらに、
現在の処理に対応する前記第２の記憶手段へのアクセス回数と、前記現在の処理と異なる他の処理に対応する前記第２の記憶手段へのアクセス回数とが予め定められた第３の閾値を超える場合に、前記現在の処理に対応する処理対象データを前記第２の記憶手段に記憶しないことを決定する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
第１の記憶手段またはアクセス速度が前記第１の記憶手段へのアクセス速度より遅い第２の記憶手段に記憶される処理対象データにアクセスしながら処理対象データを処理する情報処理装置の制御方法であって、
処理内容を特定する工程と、
前記特定された処理内容と、前記処理対象データの内容とに基づいて、前記第２の記憶手段へのアクセス回数を算出する工程と
前記算出されたアクセス回数が予め決められた第１の閾値以上である場合に、前記処理対象データを前記第１の記憶手段に記憶することを決定し、前記算出されたアクセス回数が前記第１の閾値未満である場合に、前記処理対象データを前記第２の記憶手段に記憶することを決定する工程とを有する
ことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
記憶手段に記憶された処理対象データに対してアクセスを行いながら処理をする情報処理装置が提案されている。この情報処理装置は、例えば、フォーマット変換処理等を実行する。ここで、処理対象データを記憶している記憶手段へのアクセス速度が遅く、かつ、アクセス回数が多い場合、処理対象データへの総アクセス時間が増大する。その結果、全体の処理時間が長くなる。
【０００３】
特許文献１は、印刷情報に利用する登録データをアクセス速度の遅いＨＤＤ等の記憶手段に記憶し、受信した印刷情報が登録データを利用する指定がされている場合に、登録データを予めアクセス速度の速いメモリ等の記憶手段に移す印刷制御装置を開示する。ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２７０１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クラウドやサーバ環境においては、情報処理装置が、処理対象データに対してアクセスをしながら、例えばフォーマット変換を含む処理を複数同時に実行する状況が頻繁に発生する。このような環境において特許文献１の技術を適用した場合、情報処理装置が、例えばＨＤＤ上の処理対象データをメモリへ格納しきれず、メモリへ格納できなかったデータをＨＤＤへ格納することになる。これにより、ＨＤＤへのアクセスが発生する。そして、メモリへ格納できず、ＨＤＤに格納したデータに対する処理が、ＨＤＤアクセス回数が膨大である処理である場合には、処理対象データへの総アクセス時間が増大し、処理時間が長くなる。
【０００６】
すなわち、処理内容と処理対象データの内容とに応じて処理対象データの記憶先を振り分けることを通じて、処理対象データへの総アクセス時間を短縮する情報処理装置は提案されていない。
【０００７】
本発明は、アクセス速度が異なる第１または第２の記憶手段に記憶される処理対象データにアクセスしながら処理対象データを処理する装置であって、処理対象データの内容に応じて処理対象データの記憶先を振り分ける情報処理装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の情報処理装置は、第１の記憶手段またはアクセス速度が前記第１の記憶手段へのアクセス速度より遅い第２の記憶手段に記憶される処理対象データにアクセスしながら処理対象データを処理する装置であって、処理内容を特定する処理内容特定手段と、前記特定された処理内容と、前記処理対象データの内容とに基づいて、前記第２の記憶手段へのアクセス回数を算出するアクセス回数算出手段と、前記算出されたアクセス回数が予め決められた第１の閾値以上である場合に、前記処理対象データを前記第１の記憶手段に記憶することを決定し、前記算出されたアクセス回数が前記第１の閾値未満である場合に、前記処理対象データを前記第２の記憶手段に記憶することを決定する決定手段とを備える。
【発明の効果】
【０００９】
本発明の情報処理装置は、予測されるＨＤＤへのアクセス回数が大きい場合に、処理対象データをＨＤＤに比べてアクセス速度が速いメモリに格納し、予測されるＨＤＤへのアクセス回数が小さい場合に、処理対象データをＨＤＤへ格納する。従って、処理対象データの処理時におけるＨＤＤへのアクセス回数を減らすことができる。その結果、ＨＤＤへの総アクセス時間が減り、装置全体の処理速度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のシステム構成例を示す図である。
【図２】情報処理装置の構成例を説明する図である。
【図３】フォーマット変換装置の全体動作処理を説明するフローチャートである。
【図４】フォーマット変換装置の動作処理例の詳細を示すフローチャートである。
【図５】処理内容とＨＤＤアクセス回数との関係を説明する図である。
【図６】ＨＤＤアクセス回数の算出処理の例を説明するフローチャートである。
【図７】処理対象データの格納先の判断処理例を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本実施形態のシステム構成例を示す図である。図１に示すシステムは、印刷装置７と情報処理装置９とを備える。印刷装置７は、情報処理装置９の指示に従って、情報処理装置９が生成した印刷データを印刷出力する。情報処理装置９は、本実施形態の情報処理装置である。情報処理装置９は、ＨＤＤ３またはメモリ２に記憶される処理対象データにアクセスしながら処理対象データを処理する装置である。例えば、情報処理装置９は、所定のアプリケーションが生成したオリジナルデータを処理対象データとし、この処理対象データに基づいて、フォーマット変換処理をしながら印刷データを生成する。第２の記憶手段であるＨＤＤ３へのアクセス速度は、第１の記憶手段であるメモリ２へのアクセス速度より遅い。
【００１２】
情報処理装置９が実行する処理を印刷装置が実行するようにしてもよい。また、情報処理装置９が実行する処理を、Ｗｅｂサービスを提供するサーバやクラウドコンピューティング上で動作するサーバが実行するようにしてもよい。
【００１３】
情報処理装置９は、Ｆｉｌｔｅｒ  Ｐｉｐｅｌｉｎｅシステムとして機能する。Ｆｉｌｔｅｒ  Ｐｉｐｅｌｉｎｅシステムは、着脱可能かつ複数のモジュールすなわち処理実行手段が連結された構成を有する。各々のモジュールが、Ｆｉｌｔｅｒとして機能し、Ｐｉｐｅｌｉｎｅで連結されている。このＦｉｌｔｅｒ  Ｐｉｐｅｌｉｎｅシステムにおいては、あるＦｉｌｔｅｒの出力が次のＦｉｌｔｅｒの入力となる。
【００１４】
図１に示すように、情報処理装置９は、ＣＰＵ（Central Processing Unit ）１、メモリ２、ＨＤＤ、入力装置４、出力装置５、媒体読取装置６を備える。ＣＰＵ１は、情報処理装置９全体を制御する。例えば、ＣＰＵ１は、媒体読取装置６から、処理に必要なプログラムと当該プログラムに関連するデータとを取得する。このために、媒体読取装置６は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＩＣメモリカード等の記憶媒体から、上記プログラムおよびデータを読み込む。
【００１５】
入力装置４が処理の実行命令（例えば印刷命令）を入力すると、ＣＰＵ１が、上記取得したプログラムおよびデータに基づいて処理を実行し、実行結果を出力装置５や印刷装置７に出力する。ＣＰＵ１は、図２（Ａ）に示すフォーマット変換装置１１を制御することを通じて処理を実行する。フォーマット変換装置１１は、情報処理装置９のＯＳ上で動作するプリンタドライバやアプリケーションである。ＣＰＵ１は、処理結果を出力装置５や印刷装置７に出力する。入力装置４は、ユーザ操作に従って入力情報（例えば、処理の実行命令）を入力する。入力装置４は、プログラムキーボード、ポインティングデバイス等を含む。
【００１６】
図２は、情報処理装置の構成例を説明する図である。図２（Ａ）は、情報処理装置の全体構成を示す。情報処理装置９が備えるメモリがＯＳ１０を記憶しており、ＯＳ１０上で、フォーマット変換装置１１が動作する。ＣＰＵ１が、フォーマット変換装置１１を制御して、入力装置４が入力した印刷命令に対応する印刷処理を実行して印刷データを生成し、印刷装置７に出力する。本実施形態の情報処理装置の制御方法は、図２（Ａ）に示す情報処理装置９が備える各構成部によって実現される。
【００１７】
図２（Ｂ）は、フォーマット変換装置の機能ブロック図の例である。フォーマット変換装置１１は、プリンタドライバやその他アプリケーションとして動作する。フォーマット変換装置１１は、ユーザインタフェース部１２とフォーマット変換処理部１３とを備える。
【００１８】
ユーザインタフェース部１２は、ユーザの操作に応じて各種情報を入力する。ユーザインタフェース部１２は、例えば、ユーザの操作に応じて、印刷装置７に対して設定する印刷設定情報を入力したり、印刷開始指示をしたりする。フォーマット変換装置１１が備える所定の処理部（図示を省略）が、入力された印刷設定情報に基づいて印刷設定ファイルを作成し、記憶手段（図示を省略）に記憶する。また、所定の処理部が、ユーザインタフェース部１２が入力した情報に基づいて、Ｆｉｌｔｅｒ設定ファイルを生成して、記憶手段に記憶する。Ｆｉｌｔｅｒ設定ファイルには、処理するＦｉｌｔｅｒと、処理の順番とが定義されている。
【００１９】
フォーマット変換処理部１３は、処理対象データに対して、フォーマット変換処理を実行する。フォーマット変換処理部１３は、複数のＦｉｌｔｅｒを処理実行手段として有している。各々のＦｉｌｔｅｒは、予め決められたＦｉｌｔｅｒ順（処理実行手段順）に処理対象データを処理する。
【００２０】
図２（Ｂ）に示す例では、フォーマット変換処理部１３は、レイアウト処理Ｆｉｌｔｅｒ１８と印刷データ生成Ｆｉｌｔｅｒ１９とを備える。レイアウト処理Ｆｉｌｔｅｒ１８は、レイアウト処理を行う。印刷データ生成Ｆｉｌｔｅｒ１９は、印刷データ生成処理を行う。もちろん、レイアウト処理Ｆｉｌｔｅｒ１８と印刷データ生成Ｆｉｌｔｅｒ１９とは、フォーマット変換処理部１３が備える複数のＦｉｌｔｅｒの一例であり、フォーマット変換処理部１３が他のＦｉｌｔｅｒを備えるようにしてもよい。
【００２１】
また、フォーマット変換処理部１３は、Ｆｉｌｔｅｒ制御部１４、処理内容特定部１５、ＨＤＤアクセス回数予測部１６、処理対象データ格納先判断部１７を備える。Ｆｉｌｔｅｒ制御部１４は、各々のＦｉｌｔｅｒの処理の順番や入出力等を制御する。具体的には、Ｆｉｌｔｅｒ制御部１４は、予め記憶手段からＦｉｌｔｅｒ設定ファイルを読み込み、Ｆｉｌｔｅｒ設定ファイルの定義内容に基づいて、処理するＦｉｌｔｅｒと、処理の順番とを決定する。
【００２２】
処理内容特定部１５は、印刷設定ファイル、Ｆｉｌｔｅｒ設定ファイルに基づいて、処理内容を特定する処理内容特定手段として機能する。ＨＤＤアクセス回数予測部１６は、処理内容特定部１５によって特定された処理内容と、処理対象データの内容とに基づいて、ＨＤＤアクセス回数を予測（算出）するアクセス回数算出手段として機能する。ＨＤＤアクセス回数は、当該処理を実行するために必要なＨＤＤ３へのアクセスの回数である。予測されたＨＤＤアクセス回数を、以下ではＨＤＤアクセス回数予測値と記述する。
【００２３】
処理対象データ格納先判断部１７は、ＨＤＤアクセス回数予測値に基づいて、処理対象データを決定する決定手段として機能する。具体的には、処理対象データ格納先判断部１７は、ＨＤＤアクセス回数予測部１６によって算出されたＨＤＤアクセス回数予測値が予め決められた第１の閾値以上である場合に、処理対象データをメモリ２に記憶することを決定する。また、処理対象データ格納先判断部１７は、ＨＤＤアクセス回数予測部１６によって算出されたＨＤＤアクセス回数予測値が第１の閾値未満である場合に、処理対象データをＨＤＤ３に記憶することを決定する。
【００２４】
処理内容特定部１５とＨＤＤアクセス回数予測部１６と処理対象データ格納先判断部１７は、Ｆｉｌｔｅｒ制御部１４に設けられるようにしてもよいし、各Ｆｉｌｔｅｒに設けられるようにしてもよい。
【００２５】
図３は、フォーマット変換装置の全体動作処理を説明するフローチャートである。まず、処理内容特定部１５が、Ｆｉｌｔｅｒ設定ファイルと印刷設定ファイルとに基づいて、処理内容を特定する（ステップＳ１）。Ｆｉｌｔｅｒ設定ファイルには、例えば、レイアウトＦｉｌｔｅｒ１８の次に印刷データ生成Ｆｉｌｔｅｒ１９を呼び出すこと等が定義されている。印刷設定ファイルには、例えば、レイアウトＦｉｌｔｅｒ１８で２ｕｐを行うなど、Ｆｉｌｔｅｒが行う処理の詳細が定義されている。
【００２６】
次に、ＨＤＤアクセス回数予測部１６は、処理内容特定部１５が特定した処理内容と処理対象データの内容とに基づいて、処理対象データに関するＨＤＤアクセス回数を予測（算出）する（ステップＳ２）。処理対象データの内容は、例えば、処理対象データの属性である。処理対象データの属性は、例えば、Ｉｍａｇｅ、Ｇｒａｐｈｉｃｓ、または文字といった属性である。
【００２７】
次に、処理対象データ格納先判断部１７が、予測されたＨＤＤアクセス回数の値（ＨＤＤアクセス回数予測値）に基づいて、処理対象データの格納先をＨＤＤにするか、またはメモリにするかを判断する。
【００２８】
図４は、フォーマット変換装置の動作処理例の詳細を説明するフローチャートである。この例では、フォーマット変換装置１１が、Ｆｉｌｔｅｒ毎に、処理対象データの格納先をＨＤＤにするか、またはメモリにするかを判断する。これにより、１つのＪｏｂの中で、各Ｆｉｌｔｅｒの処理に応じた適切な格納先を判断することができ、全体の処理速度が向上する。
【００２９】
まず、Ｆｉｌｔｅｒ制御部１４が、ユーザインタフェース部が指定した入力データを取得する（ステップＳ１１）。次に、Ｆｉｌｔｅｒ制御部１４が、Ｆｉｌｔｅｒ設定ファイルを読み込み、処理するＦｉｌｔｅｒと、Ｆｉｌｅｔｅｒによる処理の順番（以下、Ｆｉｌｔｅｒ順と記述）とを決定する（ステップＳ１２）。
【００３０】
次に、全てのＦｉｌｔｅｒについて、上記ステップＳ１２において決定されたＦｉｌｔｅｒ順に従って、Ｆｉｌｔｅｒによる処理毎に、ステップＳ１４乃至Ｓ２０の処理が行われる（ステップＳ１３）。すなわち、処理内容特定部１５、ＨＤＤアクセス回数予測部１６、処理対象データ格納先判断部１７は、各々のＦｉｌｔｅｒによる処理対象データの処理毎に、以下の処理を実行する。処理内容特定部１５は、処理内容を特定する処理を実行する。ＨＤＤアクセス回数予測部１６は、ＨＤＤアクセス回数予測値の算出処理を実行する。処理対象データ格納先判断部１７は、処理対象データをメモリ２またはＨＤＤ３のいずれに記憶するかを決定する処理を実行する。
【００３１】
具体的には、処理内容特定部１５が、Ｆｉｌｔｅｒ設定ファイルと印刷設定ファイルとに基づいて、処理を実行するＦｉｌｔｅｒの処理内容を特定する（ステップＳ１４）。続いて、ＨＤＤアクセス回数予測部１６が、ＨＤＤアクセス回数を予測する（ステップＳ１５）。次に、処理対象データ格納先判断部１７が、処理対象データの格納先を判断する（ステップＳ１６）。最初のＦｉｌｔｅｒの処理は、ステップＳ１１において取得された入力データを処理対象データとする。次のＦｉｌｔｅｒの処理からは、前のＦｉｌｔｅｒの出力を処理対象データとする。
【００３２】
次に、ＨＤＤアクセス回数予測部１６が、処理する順番となったＦｉｌｔｅｒが最後のＦｉｌｔｅｒであるかを判断する（ステップＳ１７）。処理する順番となったＦｉｌｔｅｒが最後のＦｉｌｔｅｒである場合、そのＦｉｌｔｅｒが処理を行う（ステップＳ２２）。
【００３３】
処理する順番となったＦｉｌｔｅｒが最後のＦｉｌｔｅｒでない場合、ＨＤＤアクセス回数予測部１６が、出力時にコマンドのカウントが可能であるかを判断する（ステップＳ１８）。出力時にコマンドのカウントが不可能である場合は、ステップＳ２２に進む。出力時にコマンドのカウントが可能である場合、Ｆｉｌｔｅｒが処理を行う（ステップＳ１９）。そして、Ｆｉｌｔｅｒまたはフォーマット変換処理部１３が備える所定の処理部が、Ｆｉｌｔｅｒによる処理結果の出力時に、処理対象データの属性毎のコマンドをカウントする（ステップＳ２０）。ＨＤＤアクセス回数予測部１６は、処理対象データのファイル形式や、フォーマット変換装置の特性に基づいて、コマンドのカウント対象となる属性を設定する。
【００３４】
すなわち、処理を完了したＦｉｌｔｅｒは、次に処理するＦｉｌｔｅｒに対して処理結果を出力し、該処理結果の出力時に、処理対象データの属性に対応するコマンドの数をカウントする。出力時にコマンドがカウントされると、次のＦｉｌｔｅｒにおけるＨＤＤアクセス回数予測時にコマンドをカウントする必要がなくなる。従って、高速な処理が可能となる。全てのＦｉｌｔｅｒについて上記ステップＳ１４乃至Ｓ２０の処理が終了すると、Ｆｉｌｔｅｒ制御部１４が処理完了データを印刷装置７に出力する（ステップＳ２１）。
【００３５】
図５は、情報処理装置の処理内容とＨＤＤアクセス回数との関係を説明する図である。図５（Ａ）は、ページ内における描画オブジェクトの座標の移動が発生するレイアウト処理の例を示す。具体的には、図５（Ａ）に示す処理内容は、ＰＤＦのレイアウト処理の一つである２ｕｐ処理である。
【００３６】
処理内容が２ｕｐ処理である場合、フォーマット変換処理部１３は、全ての描画オブジェクトを縮小し、座標をずらす必要がある。図５（Ａ）に示す例では、フォーマット変換処理部１３は、処理前のページが含む描画オブジェクトを縮小し、矢印に示すように、処理後のページにおいて、対応する座標に移動させている。全ての描画データを縮小し、座標をずらすためには、全ての個々のコマンドにアクセスする必要がある。従って、ＨＤＤアクセス回数は、処理対象データの内容に応じた値となる。すなわち、処理内容が、２ｕｐ処理のように座標の移動がある処理である場合、ＨＤＤアクセス回数は、処理対象データの内容に応じた値となる。座標の移動がある処理の例としては、Ｎｕｐ処理、拡大処理、縮小処理、余白を詰める処理などがある。
【００３７】
また、処理内容が印刷データ生成処理である場合にも、フォーマット変換処理部１３は、全てのコマンドについて印刷データフォーマットへの変換処理を実行することが必要となる。従って、この場合にも、ＨＤＤアクセス回数は処理対象データの内容に応じた値となる。
【００３８】
図５（Ｂ）は、ページ内における描画オブジェクトの座標の移動が発生しないレイアウト処理の例を示す。具体的には、図５（Ｂ）に示す処理内容は、ＰＤＦのレイアウト処理の一つであるページ順変更処理である。ＰＤＦでは、ページ順はページタグによって管理されている。フォーマット変換処理部１３は、ページタグを変更することによって、ページ順変更処理を実行する。図５（Ｂ）に示す例では、処理前のページタグが示すページ順がページ１、２、３の順である。フォーマット変換処理部１３は、このページタグを、ページ順がページ３、２、１の順になるように変更する。フォーマット変換処理部１３が、変更後のページタグに従ってページ順変更処理を実行することにより、ページ順がページ３、２、１の順になる。
【００３９】
フォーマット変換処理部１３がページ順変更処理を実行する場合、ＨＤＤアクセス回数は、処理対象データの内容によらず、ほぼ一定の値となる。すなわち、ページ順変更処理のように、コマンドについて座標の移動がない処理は、ＨＤＤアクセス回数は処理対象データの内容によらず、ほぼ一定の値となることが多い。座標の移動がない処理の例としては、ページ順変更処理、暗号解除処理などがある。
【００４０】
処理内容特定部１５は、処理内容がレイアウト処理であるか、または印刷データの生成処理であるかを判断する。処理内容がレイアウト処理である場合、処理内容特定部１５は、処理内容が座標の移動が発生する処理であるか、または座標の移動が発生しない処理であるかを判断する。これにより、ＨＤＤアクセス回数が処理対象データの内容に応じた値になる処理であるか否かを判断することが可能となる。
【００４１】
図６は、ＨＤＤアクセス回数の算出処理の例を説明するフローチャートである。まず、ＨＤＤアクセス回数予測部１６が、処理内容特定部１５が特定した処理内容が、ＨＤＤアクセス回数が処理対象データの内容に応じて変化しない処理であるかを判断する（ステップＳ１５１）。具体的には、ＨＤＤアクセス回数予測部１６は、処理内容特定部１５が特定した処理内容が、座標の移動が発生するレイアウト処理か、座標の移動が発生しないレイアウト処理か、または印刷データ生成処理のいずれであるかを判断する。
【００４２】
処理内容が、座標の移動が発生するレイアウト処理、または印刷データ生成処理である場合、ＨＤＤアクセス回数予測部１６は、処理内容がＨＤＤアクセス回数が処理対象データの内容に応じて変化する処理であると判断する。処理内容が、座標の移動が発生しないレイアウト処理である場合、ＨＤＤアクセス回数予測部１６は、処理内容が、ＨＤＤアクセス回数が処理対象データ内容に応じて変化しない処理であると判断する。
【００４３】
処理内容が、ＨＤＤアクセス回数が処理対象データの内容に応じて変化しない処理である場合、ＨＤＤアクセス回数予測部１６は、当該処理に対応する予め定められた固定値をＨＤＤアクセス回数予測値として算出する（ステップＳ１５７）。これにより、処理対象データのコマンド数をカウントすることなく適切なＨＤＤアクセス回数予測値を設定できる。
【００４４】
処理内容が、ＨＤＤアクセス回数が処理対象データの内容に応じて変化する処理である場合、ＨＤＤアクセス回数予測部１６は、前Ｆｉｌｔｅｒの出力時に、処理対象データの属性に対応するコマンドをカウント済みであるかを判断する（ステップＳ１５２）。前Ｆｉｌｔｅｒは、現在処理の順番となっているＦｉｌｔｅｒの前に処理を実行したＦｉｌｔｅｒである。前Ｆｉｌｔｅｒの出力時にコマンドをカウント済みの場合、ＨＤＤアクセス回数予測部１６は、処理対象データのコマンドのカウントを省略する。従って、この場合は、処理がステップＳ１５６に進む。
【００４５】
前Ｆｉｌｔｅｒの出力時にコマンドをカウント済みでない場合、ＨＤＤアクセス回数予測部１６が、処理対象データを読み込む（ステップＳ１５３）。そして、ＨＤＤアクセス回数予測部１６が、全てのコマンドを対象として、以下の処理を実行する。すなわち、ＨＤＤアクセス回数予測部１６が、コマンド数を処理対象データの属性毎にカウントする（ステップＳ１５５）。
【００４６】
次に、ＨＤＤアクセス回数予測部１６が、属性毎のコマンド数に基づいて、ＨＤＤアクセス回数予測値を算出する（ステップＳ１５６）。具体的には、ＨＤＤアクセス回数予測部１６は、各属性のコマンド１つでＨＤＤにアクセスする回数の平均値を予め算出しておく。算出された平均値を各属性の平均ＨＤＤアクセス数と記述する。ＨＤＤアクセス回数予測部１６は、各属性の平均ＨＤＤアクセス数に当該属性のコマンド数を掛け合わせて得られる値の合計を、ＨＤＤアクセス回数予測値として算出する。
【００４７】
すなわち、ＨＤＤアクセス回数予測部１６は、処理内容が座標の移動が発生するレイアウト処理または印刷データの生成処理である場合に（Ｓ１５１でＮｏ）、処理対象データの属性に対応するコマンドの数に基づいてＨＤＤアクセス回数を算出する。
【００４８】
コマンド数をＨＤＤアクセス回数予測に使用することにより、例えば２ｕｐなど各コマンドにアクセスする必要がある処理の場合でも、コマンド数が少なければＨＤＤアクセス回数予測値が小さい値になる。従って、本実施形態のＨＤＤアクセス回数予測値の算出処理によれば、正確にＨＤＤアクセス回数を予測することができる。
【００４９】
また、ＨＤＤアクセス回数予測部１６は、各々のＦｉｌｔｅｒによる処理対象データの処理毎に、コマンドの数がカウント済みであるかを判断し、コマンドの数がカウント済みである場合に（Ｓ１５２でＹｅｓ）、以下の処理を実行する。ＨＤＤアクセス回数予測部１６は、該カウント済みであるコマンドの数に基づいてＨＤＤアクセス回数予測値を算出する。従って、この場合には、処理対象データのコマンドのカウントを省略することができる。
【００５０】
図７は、処理対象データの格納先の判断処理の例を説明するフローチャートである。まず、処理対象データ格納先判断部１７が、処理対象データのファイルサイズを取得する（ステップＳ１６１）。処理対象データ格納先判断部１７が、現処理が使用するＷｏｒｋメモリを取得する（ステップＳ１６２）。
【００５１】
次に、処理対象データ格納先判断部１７が、処理に使用するメモリの空きメモリ量を取得する（ステップＳ１６３）。続いて、処理対象データ格納先判断部１７が、空きメモリ量に基づいて、メモリによる処理が可能であるかを判断する（ステップＳ１６４）。具体的には、処理対象データ格納先判断部１７が、ステップＳ１６１において取得した処理対象データのファイルサイズとステップＳ１６２において取得したＷｏｒｋメモリの合計値が、空きメモリ量より小さいかを判断する。
【００５２】
処理対象データのファイルサイズとＷｏｒｋメモリの合計値が、空きメモリ量より小さい場合、処理対象データ格納先判断部１７は、メモリによる処理が可能であると判断する。そして、処理がステップＳ１６５に進む。
【００５３】
処理対象データのファイルサイズとＷｏｒｋメモリの合計値が、空きメモリ量より大きい場合、処理対象データ格納先判断部１７は、メモリによる処理が可能でないと判断する。そして、処理がステップＳ１７０に進む。
【００５４】
ステップＳ１６５において、処理対象データ格納先判断部１７が、ＨＤＤアクセス回数予測値が基準値未満であるかを判断する（ステップＳ１６５）。基準値は、ＨＤＤの性能や該当環境での実測値に基づいて予め設定された値（第１の閾値）である。
【００５５】
ＨＤＤアクセス回数予測値が基準値未満でない場合、処理対象データ格納先判断部１７は、処理対象データをメモリに格納する（ステップＳ１６６）。ＨＤＤアクセス回数予測値が基準値未満である場合、処理対象データ格納先判断部１７は、ＨＤＤアクセス回数予測値が、総ＨＤＤアクセス回数の上限値を超えるかを判断する（ステップＳ１６７）。総ＨＤＤアクセス回数の上限値は、ＨＤＤの性能や該当環境での実測値に基づいて予め設定された値である。総ＨＤＤアクセス回数の上限値は、上述した基準値より小さい第２の閾値である。
【００５６】
ＨＤＤアクセス回数予測値が、総ＨＤＤアクセス回数の上限値を超える場合は、ステップＳ１６６に進む。ＨＤＤアクセス回数予測値が、総ＨＤＤアクセス回数の上限値を超えない場合（第２の閾値以下である場合）、処理対象データ格納先判断部１７は、処理対象データをＨＤＤに格納する（ステップＳ１６８）。そして、処理対象データ格納先判断部１７が、総ＨＤＤアクセス回数に現ＨＤＤアクセス回数予測値を加えて（ステップＳ１６９）、処理を終了する。
【００５７】
ステップＳ１７０において、処理対象データ格納先判断部１７が、現在の処理に対応するＨＤＤアクセス回数予測値と、現在の処理に対応するＪｏｂが使用するＨＤＤと同一のＨＤＤを使用する他のＪｏｂのＨＤＤアクセス回数予測値の合計値を取得する。そして、処理対象データ格納先判断部１７が、当該合計値が、総ＨＤＤアクセス回数の上限値を超えるかを判断する（ステップＳ１７０）。当該総ＨＤＤアクセス回数の上限値は、予め定められた第３の閾値である。なお、前述した第２の閾値と第３の閾値とが同じ値であってもよい。
【００５８】
当該合計値が、総ＨＤＤアクセス回数の上限値を超えない場合は、ステップＳ１６８に進む。当該合計値が、総ＨＤＤアクセス回数の上限値を超える場合は、処理対象データ格納先判断部１７は、他Ｊｏｂの処理の終了まで待機する（ステップＳ１７１）。すなわち、処理対象データ格納先判断部１７は、現在の処理に対応する処理対象データをＨＤＤ３に記憶しないことを決定する。これにより、ＨＤＤ３の性能以上のアクセスが要求されたことによる遅延を防ぐことができる。他のＪｏｂが終了した時点で、処理がステップＳ１６３に戻る。
【００５９】
図７を参照して説明したように、処理対象データ格納先判断部１７は、ＨＤＤアクセス回数予測値が基準値以上の場合は、メモリに処理対象データを格納する（ステップＳ１６６を参照）。また、処理対象データ格納先判断部１７は、ＨＤＤアクセス回数予測値が基準値未満の場合は、ＨＤＤに処理対象データを格納する（ステップＳ１６８）。これにより、ＨＤＤアクセス回数予測値が大きい処理対象データがメモリに格納される。その結果、ＨＤＤアクセスによる処理の遅延を減らすことができ、装置全体の処理速度が向上する。
【００６０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００６１】
１  ＣＰＵ
２  メモリ
４  入力装置
７  印刷装置
９  情報処理装置
１０  ＯＳ
１１  フォーマット変換装置
【図１】
2012174184.tif 000003
【図２】
2012174184.tif 000004
【図３】
2012174184.tif 000005
【図４】
2012174184.tif 000006
【図５】
2012174184.tif 000007
【図６】
2012174184.tif 000008
【図７】
2012174184.tif 000009