(57)【要約】【課題】複数ページのデータを並列処理する際の処理時間を短縮することが可能な画像形成装置及びプログラムを提供する。【解決手段】同一の複数ページのジョブデータを複数の記憶装置１７に保存するデータ保存部２１と、複数の記憶装置１７内のジョブデータに対し割り当てられた異なるページを並列処理する複数のデータ処理部２３と、複数の記憶装置１７内のジョブデータ毎に並列処理の処理対象となるページを記憶装置１７の転送速度に応じてデータ処理部２３に割り当てる割当部２５とを備えたことを特徴とする。【選択図】図２
2014117829.tif 000002
【特許請求の範囲】
【請求項１】
複数ページの同一のデータを複数の記憶部に保存するデータ保存部と、
前記複数の記憶部内のデータに対し割り当てられた異なるページを並列処理する複数のデータ処理部と、
前記複数の記憶部内のデータ毎に前記並列処理の処理対象となるページを前記記憶部の転送速度に応じて前記データ処理部に割り当てる割当部と、
を備えたことを特徴とする画像形成装置。
【請求項２】
請求項１記載の画像形成装置であって、
前記割当部は、前記転送速度の速い記憶部内のデータを優先して前記ページの割当を順次行う、
ことを特徴とする画像形成装置。
【請求項３】
請求項２記載の画像形成装置であって、
利用可能な記憶部の転送速度情報を取得して前記転送速度の速い記憶部に優先度の高い割当順位を付与した割当順位テーブルを作成するテーブル作成部を備え、
前記割当部は、前記割当順位テーブルの割当順位に応じて前記割当を行う、
ことを特徴とする画像形成装置。
【請求項４】
請求項３記載の画像形成装置であって、
前記記憶部の転送速度情報を保持する速度情報保持部と、
前記転送速度情報が保持されていない記憶部の転送速度を計測する速度計測部とを備え、
前記テーブル作成部は、前記速度情報保持部の転送速度情報と前記速度計測部での計測による転送速度情報とから前記割当順位テーブルを作成する、
ことを特徴とする画像形成装置。
【請求項５】
請求項１〜４の何れかに記載の画像形成装置であって、
前記複数の記憶部は、ネットワークを介して接続されたサーバー内に設けられたサーバー記憶部を含み、
前記割当部は、前記サーバー記憶部内のデータに対し、その転送速度及び前記サーバーのプロトコルの組み合わせによる転送速度に応じて前記割当を行う、
ことを特徴とする画像形成装置。
【請求項６】
複数ページの同一のデータを複数の記憶部に保存するデータ保存機能と、
前記複数の記憶部内のデータに対し割り当てられた異なるページを並列処理する複数のデータ処理機能と、
前記複数の記憶部内のデータ毎に前記並列処理の処理対象となるページを前記記憶部の転送速度に応じて前記データ処理機能に割り当てる割当機能と、
をコンピューターに実現させることを特徴とする画像形成プログラム。
【請求項７】
請求項６記載の画像形成プログラムであって、
前記割当機能は、前記転送速度の速い記憶部内のデータを優先して前記ページの割当を順次行う、
ことを特徴とする画像形成プログラム。
【請求項８】
請求項７記載の画像形成プログラムであって、
利用可能な記憶部の転送速度情報を取得して前記転送速度の速い記憶部に優先度の高い割当順位を付与した割当順位テーブルを作成するテーブル作成機能をコンピューターに実現させ、
前記割当機能は、前記割当順位テーブルの割当順位に応じて前記割当を行う、
ことを特徴とする画像形成プログラム。
【請求項９】
請求項８記載の画像形成プログラムであって、
前記記憶部の転送速度情報を保持する速度情報保持機能と、
前記転送速度情報が保持されていない記憶部の転送速度を計測する速度計測機能とをコンピューターに実現させ、
前記テーブル作成機能は、前記速度情報保持機能の転送速度情報と前記速度計測機能での計測による転送速度情報とから前記割当順位テーブルを作成する、
ことを特徴とする画像形成プログラム。
【請求項１０】
請求項６〜９の何れかに記載の画像形成プログラムであって、
前記複数の記憶部は、ネットワークを介して接続されたサーバー内に設けられたサーバー記憶部を含み、
前記割当機能は、前記サーバー記憶部内のデータに対し、その転送速度及び前記サーバーのプロトコルの組み合わせによる転送速度に応じて前記割当を行う、
ことを特徴とする画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ページのデータに対して異なるページを並列処理する画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置等の制御部としては、複数の演算部（以下、コアと称す）が一つのパッケージ内に集積されたマルチコアプロセッサーとして構成されるものがある。マルチコアプロセッサーでは、各コアに処理を分散させた並列処理を行うことで、処理性能を向上させることができる。
【０００３】
近年では、そのようなマルチコアプロセッサーをプリンターやデジタル複合機等の画像形成装置に適用し、プリント処理の高速化を図ることが提案されている。
【０００４】
マルチコアプロセッサーを用いた画像形成装置としては、複数ページから構成されるページ記述言語（ＰＤＬ：Page Description Language）形式のデータに対し、各コアに異なるページを割り当てて並列解析処理を行うものがある。
【０００５】
例えば特許文献１では、複数ページのデータを複数の記憶装置に保存し、複数のコア毎に解析処理を行うページ及び解析処理に使用する記憶装置を割り当てている。
【０００６】
これにより、複数のコアを用いてデータ内の異なるページを並列して解析処理することができる。
【０００７】
しかし、特許文献１の技術では、単純に解析処理を行うページを各コアに対して割り当てるので、記憶装置の転送速度によっては、全体の処理時間が長くなるおそれがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
発明が解決しようとする課題は、複数ページのデータを並列処理する際に処理時間の短縮化に限界があった点である。
【課題を解決するための手段】
【００１０】
本発明は、複数ページのデータを並列処理する際の処理時間を短縮するために、複数ページの同一データを複数の記憶部に保存するデータ保存部と、前記複数の記憶部内のデータに対し割り当てられた異なるページを並列処理する複数のデータ処理部と、前記複数の記憶部内のデータ毎に前記並列処理の処理対象となるページを前記記憶部の転送速度に応じて前記データ処理部に割り当てる割当部とを備えたことを最も主要な特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数の記憶部内のデータ毎に処理対象となるページを記憶部の転送速度に応じてデータ処理部に適切に割り当てることができ、並列処理する際の処理時間を短縮できる。
【図面の簡単な説明】
【００１２】
【図１】画像形成装置の要部構成を示すブロック図である（実施例１）。
【図２】図１の制御部を示す機能ブロック図である（実施例１）。
【図３】割当順位テーブルの一例を示す図表である（実施例１）。
【図４】図１の画像形成装置による並列処理全体を示すフローチャートである（実施例１）。
【図５】図４の割当順位テーブルの作成処理の詳細を示すフローチャートである（実施例１）。
【図６】図４のジョブデータの保存処理の詳細を示すフローチャートである（実施例１）。
【図７】図４のフローチャートのページ割当処理を示すフローチャートである（実施例１）。
【図８】設定時の処理状況テーブルの一例を示す図表である（実施例１）。
【図９】図７の記憶装置の割当処理の詳細を示すフローチャートである（実施例１）。
【図１０】設定後の処理状況テーブルの一例を示す図表である（実施例１）。
【図１１】解析処理に要する処理時間を示す概念図である（実施例１）。
【図１２】解析処理に要する処理時間を示す概念図である（比較例）。
【図１３】画像形成装置の要部構成を示すブロック図である（実施例２）。
【図１４】割当順位テーブルの一例を示す図表である（実施例２）。
【図１５】割当順位テーブルの作成処理の詳細を示すフローチャートである（実施例２）。
【発明を実施するための形態】
【００１３】
複数ページのデータを並列処理する際の処理時間を短縮するという目的を、複数の記憶部に保存した複数ページの同一データに対し、記憶部の転送速度を考慮して処理対象となるページをデータ処理部に割り当てることで実現した。
【００１４】
転送速度に応じた割当としては、例えば、転送速度の速い記憶部内のデータを優先して処理対象となるページを順次割り当てていく。
【００１５】
好ましくは、利用可能な記憶部の転送速度情報を取得して転送速度の速い記憶部に優先度の高い割当順位を付与した割当順位テーブルを用いてページの割当を行う。
【００１６】
以下、本発明の実施例について図面を参照して説明する。
【実施例１】
【００１７】
［画像形成装置］
図１は、画像形成装置の要部構成を示すブロック図である。
【００１８】
図１の画像形成装置１は、例えばコピー機、プリンター、或いはデジタル複合機等からなり、コピー機能やプリンター機能を有するものである。コピー機能は、原稿から読み取った画像を印刷出力する機能であり、プリンター機能は、ネットワーク等を介して入力されたジョブデータに基づく画像の印刷出力を行う機能である。
【００１９】
画像形成装置１は、操作パネル部３、画像読取部５、通信部７、プリント部９、制御部１１、ＲＯＭ（Read Only Memory）１３、ＲＡＭ（Random Access Memory）１５、複数の記憶部としてのＲＡＭディスク１７ａ、ＳＳＤ（Solid State Drive）１７ｂ、及びＨＤＤ（Hard  Disk Drive）１７ｃ等を備え、各部はバス１９により接続されている。
【００２０】
操作パネル部３は、タッチパネル式の液晶表示画面等からなり、画像形成装置１に対する操作入力やその操作状況の表示を行わせる。
【００２１】
画像読取部５は、スキャナーで構成され、操作パネル部３での指示入力等に応じて原稿画像を読み取って対応する画像データを出力する。
【００２２】
通信部７は、ＬＡＮ等のネットワークを介して、ユーザー端末等の外部端末に対するデータの送受信を行う。
【００２３】
プリント部９は、画像読取部５で読み取られた画像データ或いは外部端末から送信されたジョブデータに基づいて用紙上に画像を形成する。
【００２４】
制御部１１は、上記各部の制御等を行って、コピー機能やプリンター機能を実現するものである。本実施例の制御部１１は、マルチコアプロセッサーとして構成され、一つのパッケージ内に複数の演算部であるコア１１ａが集積されている。なお、制御部１１は、複数のコアに替えて複数のＣＰＵを集合させたものでもよい。
【００２５】
ＲＯＭ１３は、プログラム等を記憶するメモリーである。ＲＡＭ１５は、プログラムを実行する際にそのプログラムや各種データを一時的に記憶して、作業領域等として用いるメモリーである。
【００２６】
ＲＡＭディスク１７ａは、ＲＡＭ１５の一部を利用して、ＨＤＤ等のように利用できるものである。ＳＳＤ１７ｂ及びＨＤＤ１７ｃは、読み書き可能な不揮発性の記憶媒体である。これらのＲＡＭディスク１７ａ、ＳＳＤ１７ｂ、及びＨＤＤ１７ｃは、本実施例において制御基板等に固定的に設けられている。
【００２７】
以下、ＲＡＭディスク１７ａ、ＳＳＤ１７ｂ、及びＨＤＤ１７ｃを、独立して利用可能な記憶装置１７と総称することがある。
【００２８】
図２は、図１の制御部を示す機能ブロック図である。
【００２９】
本実施例においては、制御部１１がＲＯＭ１３内の画像形成プログラムを実行することで、データ保存部２１、複数のデータ処理部２３、割当部２５、テーブル作成部２７、速度情報保持部２９、速度計側部３１として機能する。これら機能により、複数ページのジョブデータに対して異なるページの解析処理を並列して行う（並列処理）。
【００３０】
なお、本実施例では、制御部１１の複数のコア１１ａがデータ処理部２３として機能し、その内の一つのコア１１ａが更にデータ保存部２１、割当部２５、テーブル作成部２７、速度情報保持部２９、及び速度計側部３１として機能する。
【００３１】
データ保存部２１は、データ保存機能を実現し、入力された複数ページのジョブデータを複数の記憶装置１７に保存する。具体的には、利用可能なコア１１ａ（データ処理部２３）の数、利用可能な記憶装置１７の数、ジョブデータを構成するページ数が複数である場合、使用可能な複数の記憶装置１７にジョブデータを保存（スプール）する。
【００３２】
ジョブデータの保存は、ジョブデータを保存した記憶装置１７の数が、利用可能なコア１１ａ（データ処理部２３）の数以上、或いは利用可能なコアの数未満であってジョブデータを構成するページ数以上となるまで行われる。
【００３３】
データ処理部２３は、データ処理機能を実現し、複数の記憶装置１７内のジョブデータに対し異なるページを並列して解析処理する。この解析処理は、後述する割当部２５の割当に基づいて行う。
【００３４】
解析処理では、ＰＤＬデータであるジョブデータが解釈され、中間データが生成される。この中間データからは、ビットマップデータが生成され、ビットマップデータは、プリント部９に出力されて用紙上への印刷出力に用いられる。
【００３５】
なお、ビットマップデータの出力先は、本実施例においてプリント部９として説明するが、これに限られるものではない。例えば、出力先を操作パネル部３としてビットマップデータに基づく画像を表示させてもよい。
【００３６】
割当部２５は、割当機能を実現し、複数の記憶装置１７内のジョブデータ毎に処理対象となるページをデータ処理部２３に割り当てるものである。本実施例では、予め処理対象となるページをデータ処理部２３に割り当てておき、更にデータ処理部２３に記憶装置１７を割り当てる。
【００３７】
なお、記憶装置１７は、予めデータ処理部２３に割り当てておくことも可能である。この場合は、データ処理部２３に対する記憶装置１７の割当が不要となり、各データ処理部２３に対する処理対象のページの割当を行えばよい。
【００３８】
本実施例の記憶装置１７の割当は、転送速度に応じて行われる。具体的には、転送速度の速い記憶装置１７から優先して処理対象となるページが割り当てられているデータ処理部２３に順次割り当てていく。
【００３９】
例えば、ページ番号の小さいページから順に出力される場合は、転送速度の速い記憶装置１７から順にページ番号の小さいページを処理するデータ処理部２３に割り当てることができる。
【００４０】
この割当の際には、テーブル作成部２７によって作成された割当順位テーブルが用いられる。
【００４１】
テーブル作成部２７は、利用可能な記憶装置１７の転送速度情報を取得して、転送速度の速い記憶装置１７に優先順位の高い高位の割当順位を付与した割当順位テーブルを作成する。転送速度情報は、速度情報保持部２９及び速度計側部３１から取得する。
【００４２】
速度情報保持部２９は、速度情報保持機能を実現するものであり、複数の記憶装置１７の既知の転送速度をプログラムデータとして保持する。
【００４３】
例えば、記憶装置１７のＲＡＭディスク１７ａ、ＳＳＤ１７ｂ、及びＨＤＤ１７ｃは、画像形成装置１に固定的に設けられるので、転送速度が予め判明している。これらの既知の転送速度を、速度情報保持部２９がプログラムデータとして保持している。
【００４４】
速度計測部３１は、速度計測機能を実現するものであり、解析処理の際に転送速度情報が保持されていない記憶装置１７の転送速度を計測する。
【００４５】
例えば、ＵＳＢ等の着脱自在な外部記憶媒体が新たに接続されている場合等は転送速度が判明していない。速度計測部３１は、そのような不明な転送速度を計測することになる。
【００４６】
これら速度情報保持部２９及び速度計側部３１からの転送速度に基づいて、テーブル作成部２７が割当順位テーブルを作成する。図３に割当順位テーブルの一例を示す。
【００４７】
図３のように、割当順位テーブルは、記憶装置１７に対して転送速度に応じた優先順位（割当順位）が付与されている。図３においては、ＲＡＭディスク（ＲＡＭ Ｄｉｓｋ）１７ａ、ＳＳＤ１７ｂ、ＨＤＤ１７ｃの転送速度がそれぞれ「１６００ＭＢ/ｓ」、「３００ＭＢ/ｓ」、「１５０ＭＢ/ｓ」であるから、その転送速度に応じた優先順位「１」、「２」、「３」が付与されている。
【００４８】
この割当順位テーブルは、作成後にＳＳＤ１７ｂやＨＤＤ１７ｃ等の不揮発の記憶装置に保持され、その後の解析処理時に利用される。
【００４９】
利用の際は、割当順位テーブルをそのまま使用する場合の他、解析処理の開始時に利用可能な記憶装置１７に応じて割当順位テーブルを更新する場合がある。
【００５０】
割当順位テーブルの更新は、作成時に対して利用可能な記憶装置１７が増減している場合に行われ、増加した記憶装置１７の転送速度を追加し或いは利用不能な記憶装置１７の転送速度を削除する。
【００５１】
この更新は、割当順位テーブルの作成時と同様に、速度情報保持部２９及び速度計側部３１からの転送速度に基づいて割当部２５において行わせることができる。
［並列処理］
図４は、図１の画像形成装置による並列処理全体を示すフローチャートである。
【００５２】
本実施例の並列処理は、画像形成装置１に電源が供給されることで開始され、図４のフローチャートに応じて複数ページのジョブデータに対し異なるページの解析処理を並列して行う。ここでは、ジョブデータが複数ページであることを前提に説明する。
【００５３】
ステップＳ１では、まず「起動」が行われる。この処理では、制御部１１のデータ保存部２１、複数のデータ処理部２３、割当部２５、テーブル作成部２７、速度情報保持部２９、速度計側部３１の各部が起動する。これにより、ジョブデータに対する処理待機状態となって、ステップＳ２に移行する。
【００５４】
なお、データ処理部２３の起動は、制御部１１の利用可能なコア１１ａの数となるまで行われ、コア数に応じた数のデータ処理部２３を実行するタスクが立つことになる。
【００５５】
例えば、制御部１１が４つのコアを備えている場合には、データ処理部２３を実行するタスクが４つ立つ。なお、データ処理部２３以外については、制御部１１が備える複数のコア１１ａのうち、いずれか一つのコア１１ａで実行される。
【００５６】
ステップＳ２では、「割当順位テーブルの作成」が行われる。この処理では、制御部１１のテーブル作成部２７が割当順位テーブルを作成する。処理の詳細は、後述する。ステップＳ２が完了すると、ステップＳ３へ移行する。
【００５７】
ステップＳ３では、「複数ページのジョブデータの受信」が行われる。この処理では、複数ページのジョブデータがネットワーク等を介して制御部１１に入力される。これにより、ステップＳ３が完了して、ステップＳ４へ移行する。
【００５８】
ステップＳ４では、「複数ページのジョブデータの保存」が行われる。この処理では、制御部１１のデータ保存部２１が入力された複数ページのジョブデータを複数の記憶装置１７にコピーして保存する。処理の詳細は、後述する。
【００５９】
こうしてステップＳ４が完了するとステップＳ５へ移行する。
【００６０】
ステップＳ５では、「ページ割当」が行われる。この処理では、制御部１１の割当部２５が、割当順位テーブルに基づく転送速度に応じ、複数の記憶装置１７内のデータ毎に処理対象となるページをデータ処理部２３に割り当てる。処理の詳細は、後述する。
【００６１】
こうしてステップＳ５が完了するとステップＳ６へ移行する。
【００６２】
ステップＳ６では、「並列解析」が行われる。この処理では、制御部１１の複数のデータ処理部２３が、複数の記憶装置１７内のジョブデータに対して割り当てられた異なるページを並列して解析処理する。
【００６３】
こうして図４の並列処理が完了すると、ビットマップ形式の描画データが生成されてプリント部９に渡されて用紙上への出力が行われることになる。
［割当順位テーブルの作成処理］
図５は、図４の割当順位テーブルの作成処理の詳細を示すフローチャートである。なお、本実施例では、割当順位テーブルの作成処理を初期設定の処理として行う。ただし、割当順位テーブルの作成処理は、図４のページ割当処理の直前までに行われればよく、その限りで処理順序を変更することが可能である。
【００６４】
割当順位テーブルの作成処理では、まずステップＳ２０１において「割当順位テーブルあり？」の処理が行われる。この処理では、ＳＳＤ１７ｂやＨＤＤ１７ｃ等の不揮発の記憶装置に保持された既存の割当順位テーブルの有無を判断する。既存の割当順位テーブルは、従前の処理において作成されたものである。
【００６５】
既存の割当順位テーブルがある場合は（ＹＥＳ）、ステップＳ２０２移行し、ない場合は（ＮＯ）、ステップＳ２０３へ移行する。
【００６６】
ステップＳ２０２では、「割当順位テーブルの取得」が行われる。この処理では、ＳＤ１７ｂやＨＤＤ１７ｃ等の不揮発の記憶装置から保持されている既存の割当順位テーブルを取得して、ステップＳ２０４へ移行する。
【００６７】
一方、ステップＳ２０３では、「転送速度情報の取得」が行われる。この処理では、プログラムデータから各記憶装置１７の転送速度情報を取得し、ステップＳ２０５へ移行する。
【００６８】
ステップＳ２０５では、「割当順位テーブルの作成」が行われる。この処理では、プログラムデータから転送速度情報を取得し、その情報に基づいて割当順位テーブルを作成する。
【００６９】
従って、本ステップでは、既知の転送速度のみによる割当順位テーブルを作成する。こうしてステップＳ２０５が完了すると、ステップＳ２０４へ移行する。
【００７０】
ステップＳ２０４では、「割当順位テーブルに転送速度情報がない記憶装置なし？」の処理が行われる。この処理では、ステップＳ２０２で取得され或いはステップＳ２０５で作成された割当順位テーブルに対して、転送速度情報がない記憶装置の有無を判断する。
【００７１】
転送速度情報がない記憶装置としては、例えば新たに画像形成装置１に接続されたＵＳＢ等の外部記憶媒体等であり、転送速度情報がプログラムデータとして保持されておらず且つ利用可能なものである。
【００７２】
割当順位テーブルに転送速度情報がない記憶装置がある場合は（ＮＯ）、ステップ２０６へ移行し、ない場合は（ＹＥＳ）、ステップＳ２０７へ移行する。
【００７３】
ステップＳ２０６では、「転送速度の計測」が行われる。この処理では、制御部１１の転送速度計測部３１が、割当順位テーブルに転送速度情報がない記憶装置の転送速度を計測し、ステップＳ２０８へ移行する。
【００７４】
ステップＳ２０８では、「割当順位テーブルの更新（転送速度情報の追加）」が行われる。この処理では、計測された転送速度情報を元に割当順位テーブルを更新する。これにより、割当順位テーブルになかった記憶装置の転送速度情報が追加されることになる。
【００７５】
こうしてステップＳ２０８が完了すると、ステップＳ２０４へ戻る。これにより、割当順位テーブルに全ての利用可能な記憶装置の転送速度情報が追加されるまで処理が繰り返され、ステップＳ２０７へ移行する。
【００７６】
ステップＳ２０７は、「割当順位テーブルに利用不能な記憶装置の転送速度情報あり？」が行われる。この処理では、割当順位テーブルに転送速度情報がある記憶装置が利用不能であるか否かを判断する。
【００７７】
例えば、ＵＳＢ等の外部記憶媒体が取り外された場合は、その外部記憶媒体が利用不能となるが、ステップＳ２０２において取得した割当順位テーブルに利用可能な記憶装置の転送速度情報として保持されていることがある。
【００７８】
従って、本ステップでは、それらの利用不能となった記憶装置の転送速度情報が割当順位テーブルに残っているか否かを判断している。
【００７９】
割当順位テーブルに利用不能な記憶装置の転送速度情報がある場合は（ＹＥＳ）、ステップＳ２０９へ移行し、ない場合は（ＮＯ）、ステップＳ２１０へ移行する。
【００８０】
ステップＳ２０９では、「割当順位テーブルの更新（転送速度情報の削除）」が行われる。この処理では、割当順位テーブルを更新して利用不能な記憶装置の転送速度情報を削除する。
【００８１】
こうしてステップＳ２０９が完了すると、ステップＳ２１０へ移行する。
【００８２】
ステップＳ２１０では、「割当順位テーブルの保存」を行う。この処理では、上記ステップを通じて図３のような割当順位テーブルが作成されると、これを不揮発の記憶装置に保存する。
【００８３】
こうしてステップＳ２１０が完了すると、本テーブル作成処理が終了することになる。
［ジョブデータの保存処理］
図６は、図４のジョブデータの保存処理の詳細を示すフローチャートである。
【００８４】
ジョブデータの保存処理では、まずステップＳ４０１において「利用可能コア数の取得」が行われる。この処理では、制御部１１を構成する複数のコア１１ａに対してジョブデータの解析処理に利用可能なコア数を取得する。
【００８５】
コア数の取得は、例えばコア１１ａの稼動状況を管理するタスクや利用状況を示すテーブル等から行うことができる。利用状況を示すテーブルとしては、例えばＲＡＭ１５内の予め設定された領域に、制御部１１を構成する複数の各コアの利用状況を示すデータが保存及び更新されるテーブルを設けておけばよい。
【００８６】
こうしてステップＳ４０１が完了すると、ステップＳ４０２へ移行する。
【００８７】
ステップＳ４０２では、「利用可能なコア数≧２？」の処理が行われる。この処理では、利用可能なコア数が複数（２個以上）であるか否かを判断する。
【００８８】
利用可能なコア数が複数の場合は（ＹＥＳ）、ステップＳ４０３へ移行し、同コア数が「１」の場合は（ＮＯ）、本データ保存処理が終了する。
【００８９】
なお、データ保存処理が終了した場合は、ジョブデータを構成する言語に応じて通常の解析処理が実行されることになる。例えば、スプールする必要があるジョブデータ（例えば、ＰＤＦ、ＸＰＳ等）に対しては、当該ジョブデータがいずれかの記憶装置１７にスプールされた後に解析処理が実行され、スプールする必要がないジョブデータ（ＰｏｓｔＳｃｒｉｐｔ、ＰＣＬ等）に対しては、順次解析処理が実行される。
【００９０】
ステップＳ４０３では、「記憶装置数の取得」が行われる。この処理では、画像形成装置１が備える記憶装置１７の数が取得され、ステップＳ４０４へ移行する。
【００９１】
ステップＳ４０４では、「記憶装置数≧２？」の処理が行われる。この処理では、記憶装置１７の数が複数（２個以上）か否かが判断される。
【００９２】
記憶装置１７の数が複数の場合は（ＹＥＳ）、ステップＳ４０５へ移行し、記憶装置１７の数が「１」の場合は（ＮＯ）、本データ保存処理が終了する。なお、データ保存処理が終了した場合は、上記ステップＳ４０２の場合と同様に、通常の解析処理に移行する。
【００９３】
ステップＳ４０５では、「ジョブデータスプール」が行われる。この処理では、複数の記憶装置１７の何れか一つにジョブデータがスプールされ、ステップＳ４０６へ移行する。
【００９４】
ステップＳ４０６では、「ページ数≧２？」の処理が行われる。この処理では、スプールされたジョブデータを構成するページ数が複数（２個以上）であるか否かを判断する。このページ数の判断は、例えば、ジョブデータがＰＳで構成されている場合、showpageコマンドの検索によって行うことができる。
【００９５】
ページ数が複数である場合は（ＹＥＳ）は、ステップＳ４０７へ移行し、ページ数が「１」である場合は（ＮＯ）、データ保存処理が終了して通常の解析処理へ移行する。
【００９６】
ステップＳ４０７では、「複数の記憶装置へジョブデータコピー」が行われる。この処理では、一の記憶装置１７へスプール済みのジョブデータ（スプールファイル）を他の記憶装置１７にコピーして保存する。こうしてステップＳ４０７が完了して、ステップＳ４０８へ移行する。
【００９７】
ステップＳ４０８では、「スプールファイルが未保存の記憶装置あり？」の処理が行われる。この処理では、スプールファイルが保存されていない記憶装置１７があるか否かが判断される。
【００９８】
スプールファイルが保存されていない記憶装置１７がある場合は（ＹＥＳ）、ステップＳ４０９へ移行し、同記憶装置１７がない場合は（ＮＯ）、データ保存処理が終了して図４のステップＳ５へ移行する。
【００９９】
ステップＳ４０９では、「利用可能コア数＞使用中の記憶装置数？」の処理が行われる。この処理では、利用可能なコア数がスプールファイルを保存する記憶装置１７（使用中の記憶装置１７）の数よりも多いか否かが判断される。
【０１００】
利用可能なコア数が使用中の記憶装置１７の数よりも多い場合は（ＹＥＳ）、ステップＳ４１０へ移行し、利用可能なコア数が使用中の記憶装置１７の数以下の場合は（ＮＯ）、データ保存処理が終了して図４のステップＳ５へ移行する。
【０１０１】
ステップＳ４１０では、「ページ数＞使用中の記憶装置数？」の処理が行われる。この処理では、ジョブデータのページ数が使用中の記憶装置１７の数よりも多いか否かを判断する。
【０１０２】
ページ数が使用中の記憶装置１７の数よりも多い場合は（ＹＥＳ）、ステップＳ４０７へ戻り、ページ数が使用中の記憶装置１７の数以下の場合は（ＮＯ）、データ保存処理が終了して図４のステップＳ５へ移行する。
【０１０３】
こうして使用可能な記憶装置１７の全てにジョブデータが保存されることになる。
［ページ割当処理］
図７は、図４のフローチャートのページ割当処理を示すフローチャートである。
【０１０４】
本実施例のページ割当処理では、予め処理対象となるページを複数のデータ処理部２３に割り当てておき、各データ処理部２３に記憶装置１７を割り当てる。
【０１０５】
まず、ステップＳ５０１では、「待機中のデータ処理部あり？」が行われる。この処理では、解析処理を実行していないデータ処理部２３の有無を判断する。待機中のデータ処理部２３がある場合は（ＹＥＳ）、ステップＳ５０２へ移行し、ない場合は（ＮＯ）、ステップＳ５０１へ戻る。
【０１０６】
この判断は、データ処理部２３に対する処理状況テーブルを参照して行われる。図８に処理状況テーブルの設定時の一例を示す。なお、図８では、第１〜第３データ処理部を備えた場合を例に取る。
【０１０７】
処理状況テーブルは、データ処理部毎に、その処理状況、処理ページ、参照記憶装置を管理するものである。
【０１０８】
処理状況は、データ処理部による解析処理が実行中か待機中か否かを示す。図８においては、「１」の場合に実行中、「０」の場合待機中を示す。
【０１０９】
処理ページは、解析処理を行うページ番号とジョブデータを構成するページ数とを示す。図８では、ジョブデータのページ数が「１０」で解析処理を行うページ番号が「１」の場合、処理ページが「１−１０」として示される。
【０１１０】
参照記憶装置は、解析処理を実行する際に使用する記憶装置１７の識別番号及びスプールファイルが保存された記憶装置１７の総数を示す。例えば、ＲＡＭディスク１７ａ、ＳＳＤ１７ｂ、及びＨＤＤ１７ｃに記憶装置１７の識別番号として「１」，「２」，「３」が付与されている場合は、それぞれ「１−３」、「２−３」、「３−３」として参照記憶装置が示される。
【０１１１】
ページ割当処理の開始時においては、図８（ａ）のように処理状況、処理ページ、参照記憶装置の設定が行われてないものとなっている。
【０１１２】
ステップＳ５０２では、「待機中のデータ処理部にｎページを割当」の処理が行われる。この処理では、待機中のデータ処理部２３に割り当てが行われていない最も小さいページ番号ｎのページ（ｎページ）が割り当てられ、ステップＳ５０３へ移行する。
【０１１３】
ステップＳ５０３では、「処理状況テーブルの処理ページ更新」が行われる。この処理では、例えば図８（ｂ）のように、待機中のデータ処理部２３に対する処理ページがステップＳ５０２において割り当てられたページ番号に書き換えられる。図８（ｂ）の場合は、第１データ処理部に１０ページのジョブデータの１ページ目が割り当てられる。
【０１１４】
こうしてステップＳ５０３が完了すると、ステップＳ５０４へ移行する。
【０１１５】
ステップＳ５０４では、「記憶装置の割当」が行われる。この処理では、ページが割り当てられたデータ処理部２３に記憶装置１７を割り当てる。このとき、処理テーブルは、例えば図８（ｃ）のように参照記憶装置が更新される。図８（ｃ）の場合は、第１データ処理部の参照記憶装置が「１−３」に更新されている。本ステップの処理の詳細は、後述する。
【０１１６】
こうしてステップＳ５０４が完了すると、ステップＳ５０５へ移行する。
【０１１７】
ステップＳ５０５では、「データ処理部に対する解析処理の開始」が行われる。この処理では、ページ番号及び記憶装置１７が割り当てられたデータ処理部２３に対して、解析処理の開始指示が出力される。
【０１１８】
これに応じ、処理状況テーブルは、例えば図８（ｄ）のように、処理を開始するデータ処理部２３の処理状況が「０」から「１」に更新される。図８（ｄ）の場合は、第１データ処理部の処理状況が「０」から「１」に更新されている。
【０１１９】
こうしてステップＳ５０５が完了すると、ステップＳ５０６へ移行する。
【０１２０】
ステップＳ５０６では、「ｎ＞全ページ？」の処理が行われる。この処理では、ステップＳ５０２で割り当てられたページ番号ｎの値がジョブデータを構成するページ数（全ページ数）よりも大きいか否かが判断される。
【０１２１】
ｎの値が全ページ数以下の場合は（ＮＯ）、ステップＳ５０１に戻って、それ以降の処理が繰り返されることになる。これにより、解析処理待ちの全データ処理部２３に対して処理対象のページ及び記憶装置１７が順次割り当てられることになる。
【０１２２】
一方、ｎの値が全ページ数よりも大きい場合は（ＹＥＳ）、ページ割当処理が終了する。
【０１２３】
図９は、図７の記憶装置の割当処理の詳細を示すフローチャートである。
【０１２４】
記憶装置の割当処理では、まずステップＳ５００１において「未使用の記憶装置あり？」が行われる。この処理では、処理状況テーブルを参照して、解析処理の実行に使用するものとして設定されていない記憶装置１７（未使用の記憶装置１７）の有無を判断する。なお、この判断は、スプールファイルが保存されている記憶装置１７に対して行われる。
【０１２５】
未使用の記憶装置１７がある場合は（ＹＥＳ）、ステップＳ５００２へ移行し、未使用の記憶装置１７がない場合は（ＮＯ）、ステップＳ５００３へ移行する。
【０１２６】
ステップＳ５００２では、「割当順位が最も高位の記憶装置の割当」が行われる。この処理では、割当順位テーブルを参照して、未使用の記憶装置１７から最も高位の割当順位を有するものをデータ処理部２３に対して割り当てる。
【０１２７】
例えば、全ての記憶装置１７が未使用の場合は、図３の割当順位テーブル中の優先順位（割当順位）が「１」のＲＡＭディスク１７ａが１ページ目を処理するデータ処理部２３に割り当てられる。
【０１２８】
これによりステップＳ５００２が完了してステップＳ５００４へ移行する。
【０１２９】
一方、ステップＳ５００３では、「データ処理部の割当数が最も少ない記憶装置が複数？」の処理が行われる。この処理では、まず、スプールファイルが保存されている記憶装置１７から、割り当てられたデータ処理部２３の数が最小のものが特定される。そして、本ステップでは、特定された記憶装置１７の数が複数か否かを判断する。
【０１３０】
特定された記憶装置１７の数が複数の場合は（ＹＥＳ）、ステップＳ５００２へ移行し、その記憶装置１７の数が「１」の場合は（ＮＯ）、ステップＳ５００５へ移行する。
【０１３１】
ステップＳ５００３から移行したステップＳ５００２では、割当順位テーブルを参照し、割り当てられたデータ処理部２３の数が最小の記憶装置１７から最も高位の割当順位を有するものがデータ処理部２３に割り当てられる。
【０１３２】
例えば、図３の割当順位テーブルを用いる場合は、全ての記憶装置１７に１〜３ページを処理するデータ処理部２３が１つずつ割り当てられていると、優先順位（割当順位）が「１」のＲＡＭディスク１７ａが４ページ目を処理するデータ処理部２３に割り当てられる。
【０１３３】
ステップＳ５００５では、「割当数が最も少ない記憶装置の割当」が行われる。この処理では、割り当てられたデータ処理部２３の数が最小の記憶装置１７を、待機中のデータ処理部２３に対して解析処理を実行する際に使用するものとして割り当てられる。
【０１３４】
例えば、図３の割当順位テーブルを用いる場合は、ＲＡＭディスク１７ａ及びＳＳＤ１７ｂにそれぞれ１ページ及び２ページを処理するデータ処理部２３が１つずつ割り当てられていると、優先順位（割当順位）が「３」のＨＤＤ１７ｃが３ページ目を処理するデータ処理部２３に割り当てられる。
【０１３５】
こうしてステップＳ５００５が完了すると、ステップＳ５００４へ移行する。
【０１３６】
ステップＳ５００４では、「処理状況テーブルの更新（参照記憶装置の書き換え）」が行われる。この処理では、データ処理部２３に対する処理状況テーブルの参照記憶装置が、ステップＳ５００２又はＳ５００５において割り当てられた記憶装置を示す内容に書き換えられ、処理状況テーブルの更新が行なわれる。これにより記憶装置の割当処理が終了する。
【０１３７】
図１０は、第１〜第３データ処理部２３に対して処理ページ及び参照記憶装置が設定された処理状況テーブルの一例を示す。
【０１３８】
この処理状況テーブルでは、第１データ処理部に対して、処理ページとして１０ページ中の１ページ目が、参照記憶装置として識別番号が１の記憶装置１７（例えば、ＲＡＭディスク１７ａ）が割り当てられている。同様に、第２データ処理部に対しては、１０ページ中の２ページ目、識別番号が２の記憶装置１７（例えば、ＳＳＤ１７ｂ）が割り当てられ、第３データ処理部に対しては、１０ページ中の３ページ目、識別番号が３の記憶装置１７（例えば、ＨＤＤ１７ｃ）が割り当てられている。
【０１３９】
こうして割り当てられたページを各データ処理部２３が解析処理を行うことで、複数の記憶装置１７内のジョブデータに対し異なるページを並列して解析処理することができる。
［処理時間］
図１１及び図１２は、解析処理に要する処理時間を示す概念図であり、図１１は本実施例、図１２は比較例である。図１１及び図１２は、５ページのジョブデータを第１〜第３記憶装置に保存し、これを３つのデータ処理部２３により並列して解析処理を行う例である。なお、ここでの第１〜第３記憶装置は、図８及び図１０の第１〜第３記憶装置とは異なる。
【０１４０】
図１１及び図１２においては、上段に各記憶装置１７のジョブデータの保存状況及び転送速度を示し、下段に各ページが割り当てられた記憶装置を示している。
【０１４１】
上段の転送速度は、第１〜第３の記憶装置が「１」、「１．４」、「１．２」となっており、第１記憶装置に対して第２及び第３記憶装置が４０％、２０％の処理時間の低下が起こることを示している。
【０１４２】
また、下段の各ページの目盛は、解析処理だけに特化した処理時間の目安を示している。図１１及び図１２の例では、第１の記憶装置で処理した場合に、１ページ目が８、２ページ目が１０、３ページ目が１２、４ページ目が１４、５ページ目が１６目盛の処理時間がかかるものとしている。
【０１４３】
図１１の本実施例では、上述したように転送時間を考慮することで、最も転送速度の速い第１記憶装置のジョブデータに１ページ目及び４ページ目が割り当てられ、次に転送速度の速い第３記憶装置のジョブデータに２ページ目及び５ページ目が割り当てられ、最も転送速度の遅い第２記憶装置のジョブデータに３ページ目のみが割り当てられている。
【０１４４】
これらのページの解析処理は、並列して行われるので、全ページの処理時間は、最も長い第３記憶装置を通じた解析処理時間の３１．２目盛となる。
【０１４５】
一方、図１２の比較例では、転送時間を考慮することなく、単純に第１記憶装置のジョブデータに１ページ目及び４ページ目が、第２記憶装置のジョブデータに２ページ目及び５ページ目が、第３記憶装置のジョブデータに３ページ目のみが、それぞれ割り当てられている。
【０１４６】
この比較例では、全ページの処理時間が第２記憶装置を通じた解析処理時間の３６．４目盛となる。
【０１４７】
この結果から明らかなように、本実施例では、１４％弱の処理時間の短縮を図ることができた。
［実施例１の効果］
本実施例の画像形成装置１は、同一の複数ページのジョブデータを複数の記憶装置１７に保存するデータ保存部２１と、複数の記憶装置１７内のジョブデータに対し割り当てられた異なるページを並列処理する複数のデータ処理部２３と、複数の記憶装置１７内のジョブデータ毎に並列処理の処理対象となるページを記憶装置１７の転送速度に応じてデータ処理部２３に割り当てる割当部２５とを備えている。
【０１４８】
従って、本実施例では、複数の記憶装置１７内のジョブデータ毎に処理対象となるページを記憶装置１７の転送速度に応じてデータ処理部２３に適切に割り当てることができ、並列処理する際の処理時間を短縮することができる。
【０１４９】
また、本実施例では、割当部２５が転送速度の速い記憶装置１７内のジョブデータを優先して割り当てるので、より確実に並列処理する際の処理時間を短縮することができる。
【０１５０】
しかも、本実施例では、記憶装置１７の転送速度を考慮することで、相対的に早く処理が終了するページ割当の組み合わせを選択することができ、より確実に並列処理する際の処理時間を短縮することができる。
【０１５１】
例えば、図１１においては、２ページ目及び５ページ目を第１の記憶装置１７に割り当て、１ページ目及び４ページ目を第３の記憶装置１７に割り当てるように変更すれば、記憶装置１７の転送速度を考慮して、より早く処理が終了するページの割当とすることができる。
【０１５２】
また、本実施例では、利用可能な記憶装置１７の転送速度情報を取得して転送速度の速い記憶装置１７に優先度の高い割当順位を付与した割当順位テーブルを作成するテーブル作成部２７を備え、割当部２５が割当順位テーブルの割当順位に応じて割当を行う。
【０１５３】
従って、本実施例では、割当順位テーブルに基づく記憶装置１７の転送速度に応じ、記憶装置１７内のジョブデータ毎の処理対象となるページのデータ処理部２３への割当を確実に行うことができる。
【０１５４】
しかも、割当順位テーブルを作成する場合は、その時点で利用可能な記憶装置１７及びその転送速度情報を得ることができるので、より確実にページの割当を行うことができる。
【０１５５】
本実施例においては、記憶装置１７の転送速度情報を保持する速度情報保持部２９と、転送速度情報が保持されていない記憶装置１７の転送速度を計測する速度計測部３１とを備え、テーブル作成部２７が速度情報保持部２９の転送速度情報と速度計測部３１での計測による転送速度情報とから割当順位テーブルを作成する。
【０１５６】
従って、割当順位テーブルを利用可能な全ての記憶装置１７の転送速度情報に基づいて作成することができ、より確実に記憶装置１７の転送速度に応じたページの割当を確実に行うことができる。
【実施例２】
【０１５７】
図１３は、画像形成装置の要部構成を示すブロック図である。なお、本実施例では、上記実施例１と対応する構成部分に同符号又は同符号にＡを付加したものを用いて重複した説明を省略する。また、本実施例の制御部１１Ａは、機能ブロックが実施例１と同一であるため、図２を参照して説明する。
【０１５８】
本実施例の画像形成装置１Ａは、図１３のように、ネットワークを介してサーバー３３が接続され、このサーバー３３内に設けられたサーバーＨＤＤ１７ｄを含めた複数の記憶装置１７Ａを有する。サーバーＨＤＤ１７ｄは、サーバー３３内の読み書き可能な不揮発性の記憶媒体であり、サーバー３３の制御基板等に固定的に設けられている。
【０１５９】
本実施例では、このサーバーＨＤＤ１７ｄを含めた記憶装置１７Ａ内のジョブデータ毎に、割当部２５が処理対象となるページをページ処理部２３に割り当てる。割当は、実施例１と同様にテーブル作成部２７で作成された割当順位テーブルが用いられる。
【０１６０】
テーブル作成部２７は、速度情報保持部２９及び速度計側部３１から取得した転送速度情報に基づいて割当順位テーブルを作成する。
【０１６１】
速度情報保持部２９は、実施例１と同様、複数の記憶装置１７ＡであるＲＡＭディスク１７ａ、ＳＳＤ１７ｂ、及びＨＤＤ１７ｃ等の既知の転送速度をプログラムデータとして保持する。
【０１６２】
速度計測部３１は、解析処理の際に転送速度情報が保持されていない記憶装置１７Ａの転送速度を計測する。本実施例では、新たに接続されたＵＳＢ等の外部記憶媒体の他、新たにネットワーク接続されたサーバーＨＤＤ１７ｄの不明な転送速度を計測する。
【０１６３】
サーバーＨＤＤ１７ｄの転送速度の計測は、サーバーＨＤＤ１７ｄ自体の転送速度及びサーバー３３のプロトコルの組み合わせによる転送速度が計測される。計測された転送速度及びプロトコルは、サーバー名やＩＰアドレスと共にＳＳＤ１７ｂやＨＤＤ１７ｃ等の不揮発の記憶装置Ａに保持される。
【０１６４】
これら速度情報保持部２９及び速度計側部３１からの転送速度に基づいて、テーブル作成部２７が割当順位テーブルを作成する。図１４に割当順位テーブルの一例を示す。
【０１６５】
図１４のように、本実施例の割当順位テーブルは、記憶装置１７Ａに対して転送速度に応じた優先順位（割当順位）が付与されており、サーバーＨＤＤ１７ｄ（Server HDD）の転送速度情報としてネットワーク接続の有無、サーバー名、ＩＰアドレス、プロトコル等も含まれている。
【０１６６】
本実施例の画像形成装置１Ａでは、上記実施例１と同様の処理を行うが、割当順位テーブルの作成処理において上記実施例１と異なっている。
［割当順位テーブルの作成処理］
図１５は、割当順位テーブルの作成処理の詳細を示すフローチャートである。なお、図１５のフローチャートでは、ステップＳ２２０１，Ｓ２２０２，Ｓ２２０３，Ｓ２２０５が、それぞれ図５のフローチャートのステップＳ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０５に対応する。
【０１６７】
すなわち、割当順位テーブルの作成処理では、ステップＳ２２０１，Ｓ２２０２，Ｓ２２０３，Ｓ２２０５の処理を通じて割当順位テーブルを取得し、ステップＳ２２０４の処理が開始される。
【０１６８】
ステップＳ２２０４では、「ネットワークに接続している？」の処理が行われる。この処理では、ネットワークに接続しているか否かを検知する。この検知は、例えば通信部７からの情報を取得することで行わせることができる。
【０１６９】
ネットワークに接続している場合は（ＹＥＳ）、ステップＳ２２０６へ移行し、接続していない場合は（ＮＯ）は、ステップＳ２２０８へ移行する。
【０１７０】
ステップＳ２２０６では、「利用可能且つ転送速度未計測のサーバーあり？」の処理が行われる。この処理では、まず、ネットワーク上で利用可能なサーバー３３の有無を判断する。この判断も、例えば通信部７からの情報を取得することで行わせることができる。
【０１７１】
利用可能なサーバー３３があった場合は、更にサーバー３３に対する転送速度が未計測であるか否かを判断する。この判断は、ＳＳＤ１７ｂやＨＤＤ１７ｃ内の情報を元に行わせることができる。
【０１７２】
利用可能且つ転送速度未計測のサーバー３３があった場合は（ＹＥＳ）、ステップＳ２２０７へ移行し、ない場合は（ＮＯ）、ステップＳ２２０８へ移行する。
【０１７３】
ステップＳ２２０７では、「利用可能且つ転送速度未計測のサーバーの記憶装置あり？」の処理が行われる。この処理では、まず、利用可能且つ転送速度未計測のサーバー３３において、利用可能な記憶装置１７Ａ（サーバーＨＤＤ１７ｄ）の有無を判断する。利用可能な記憶装置１７Ａがあった場合は、その転送速度が未計測であるか否かを判断する。これらの判断は、ステップＳ２２０６と同様に行わせることができる。
【０１７４】
利用可能且つ転送速度未計測の記憶装置１７Ａがあった場合は（ＹＥＳ）、ステップＳ２２０９へ移行し、ない場合は（ＮＯ）、ステップＳ２２０６へ戻る。
【０１７５】
ステップＳ２００９では、「利用可能且つ転送速度未計測のサーバーのプロトコルあり？」の処理が行われる。この処理では、まず、利用可能且つ転送速度未計測のサーバー３３において、利用可能なプロトコルの有無を判断する。利用可能なプロトコルがあった場合は、その転送速度が未計測であるか否かを判断する。これらの判断も、ステップＳ２２０６と同様に行わせることができる。
【０１７６】
利用可能且つ転送速度未計測のプロトコルがあった場合は（ＹＥＳ）、ステップＳ２２１０へ移行し、ない場合は（ＮＯ）、ステップＳ２２０７へ戻る。
【０１７７】
ステップＳ２２１０では、「転送速度の計測」が行われる。この処理では、速度計測部３１が利用可能且つ転送速度未計測のサーバーＨＤＤ１７ｄ自体の転送速度及びプロトコルの組み合わせによる実際の転送速度が計測される。
【０１７８】
計測された転送速度及びプロトコルは、サーバー名やＩＰアドレスと共にＳＳＤ１７ｂやＨＤＤ１７ｃ等の不揮発の記憶装置Ａに保持される。
【０１７９】
これによりステップＳ２２１０が完了してステップＳ２２１１へ移行する。
【０１８０】
ステップＳ２２１１では、「割当順位テーブル更新」が行われる。この処理では、速度計側部３１で計測されたサーバー３３の転送速度に基づいて割当順位テーブルを更新し、ステップＳ２２０９へ戻る。その後は、処理を繰り返すことで最終的にステップＳ２２０７からステップＳ２２０８へ移行することになる。
【０１８１】
ステップＳ２２０８では、「割当順位テーブルの更新あり？」の処理が行われる。この処理では、割当順位テーブルが更新されたか否かを不揮発の記憶装置１７Ａ内の情報を元に判断する。
【０１８２】
更新があった場合は（ＹＥＳ）、ステップＳ２２１２へ移行し、更新がない場合は（ＮＯ）、割当順位テーブルの作成処理が終了する。
【０１８３】
ステップＳ２２１２では、「割当順位テーブルの保存」が行われる。この処理では、上記ステップを通じて更新された割当順位テーブルを不揮発の記憶装置Ａ内に保存する。
【０１８４】
これにより割当順位テーブルの作成処理が正常に終了する。
【０１８５】
なお、本実施例の割当順位テーブルの作成処理が終了した後は、実施例１の図５のステップＳ２０４へ移行すれば、画像形成装置１Ａで利用可能な全ての記憶装置１７Ａを網羅した割当順位テーブルを作成することができる。
［実施例２の効果］
本実施例では、上記実施例１と同様の作用効果を奏することができる。
【０１８６】
加えて、本実施例では、ネットワーク接続されたサーバー３３内のサーバーＨＤＤ１７ｄをも記憶装置１７Ａとして利用しながら、記憶装置１７Ａの転送速度に応じたページの割り当てを適切に行わせることができる。
【符号の説明】
【０１８７】
１  画像形成装置
１７  記憶装置（記憶部）
２１  データ保存部
２３  データ処理部
２５  割当部
２７  テーブル作成部
２９  速度情報保持部
３１  速度計測部
【図１】
2014117829.tif 000003
【図２】
2014117829.tif 000004
【図３】
2014117829.tif 000005
【図４】
2014117829.tif 000006
【図５】
2014117829.tif 000007
【図６】
2014117829.tif 000008
【図７】
2014117829.tif 000009
【図８】
2014117829.tif 000010
【図９】
2014117829.tif 000011
【図１０】
2014117829.tif 000012
【図１１】
2014117829.tif 000013
【図１２】
2014117829.tif 000014
【図１３】
2014117829.tif 000015
【図１４】
2014117829.tif 000016
【図１５】
2014117829.tif 000017