(57)【特許請求の範囲】
【請求項１】
メモリを作業領域として使用する複数の処理を並行して行なう情報機器であって、
第１処理を行なうために前記メモリ内のメモリ領域を保有する第１処理手段と、
複数の第２処理のうちのいずれかを、前記第１処理手段から提供されたメモリ領域を使用して行なう第２処理手段と、
前記第２処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する予測手段と、を備え、
前記第２処理手段は、前記複数の第２処理のうちのいずれかを行なう際に、前記予測手段によって予測されたサイズと前記現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第１処理手段に対して要求し、
前記第１処理手段は、前記第２処理手段からの要求に応じて、保有している前記メモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第２処理手段に提供する
ことを特徴とする情報機器。
【請求項２】
前記第２処理手段は、１つの第２処理を行ない終えたとき、次に行なうべき実行待ちの第２処理が無ければ、提供されているメモリ領域を前記第１処理手段に返却する
請求項１記載の情報機器。
【請求項３】
前記複数の第２処理は、必要なメモリ領域のサイズが異なる２つの処理であり、
前記予測手段は、前記第２処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズが第１サイズであるか前記第１サイズよりも大きい第２サイズであるかを予測する
請求項１または２記載の情報機器。
【請求項４】
操作パネルと、
当該情報機器をネットワークに接続する通信インタフェースとを備えており、
前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方によって、前記第２サイズのメモリ領域を必要とする前記第２処理が選択され、かつ当該第２処理の実行の開始が指示されていない状態である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測する
請求項３記載の情報機器。
【請求項５】
操作パネルと、
当該情報機器をネットワークに接続する通信インタフェースと、
ユーザーごとに算出されて記録されている前記第２処理手段の使用頻度および前記第２サイズのメモリ領域を必要とする処理の選択頻度を取得する取得手段とを備えており、
前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方において、前記第２処理手段を使用するジョブの設定のための操作画面が表示されており、かつ前記使用頻度および前記選択頻度が共にそれぞれに対応した閾値以上である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測する
請求項３記載の情報機器。
【請求項６】
前記予測手段は、前記第２処理手段が前記外部装置から受信した処理対象データに対して自動的に前記第２サイズのメモリ領域を必要とする前記第２処理を行なう動作モードにおいて、前記処理対象データを受信している途中である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測する
請求項４または５記載の情報機器。
【請求項７】
前記第２処理手段によって行なわれようとしている前記第２処理が前記第１サイズのメモリ領域を必要とする処理である場合において、前記第２処理手段が前記第１処理手段に対して前記要求を行なうときに、行なわれようとしている当該第２処理の所要時間を推定する推定手段を備え、
前記予測手段は、推定された前記所要時間が設定時間以上である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測し、推定された前記所要時間が設定時間未満である場合に、前記次に必要とするメモリ領域のサイズが前記第１サイズであると予測する
請求項３ないし６のいずれかに記載の情報機器。
【請求項８】
前記第１処理が行なわれており、かつ前記第２処理手段によって行なわれようとしている前記第２処理が前記第１サイズのメモリ領域を必要とする処理である場合において、前記第２処理手段が前記第１処理手段に対して前記要求を行なうときに、行なわれている当該第１処理の終了時刻および行なわれようとしている当該第２処理の終了時刻を推定する推定手段を備え、
前記予測手段は、推定された前記第２処理の終了時刻の方が推定された前記第１処理の終了時刻よりも早い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測し、推定された前記第２処理の終了時刻の方が推定された前記第１処理の終了時刻よりも遅い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第１サイズであると予測する
請求項３ないし６のいずれかに記載の情報機器。
【請求項９】
前記第１処理は、印刷用のラスター画像データを生成する処理であり、
前記複数の第２処理はいずれも、指定された形式のデータを生成する処理である
請求項１ないし８のいずれかに記載の情報機器。
【請求項１０】
メモリを作業領域として使用する複数の処理を並行して行なう情報機器において実行されるコンピュータープログラムであって、
前記情報機器が有するコンピューターを、第１処理手段、第２処理手段および予測手段として動作させ、
前記予測手段は、前記第２処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する手段であり、
前記第２処理手段は、複数の第２処理のうちのいずれかを、前記第１処理手段から提供されたメモリ領域を使用して行ない、その際に前記予測手段によって予測されたサイズと現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第１処理手段に対して要求する手段であり、
前記第１処理手段は、前記第２処理手段からの要求に応じて、前記メモリ内の第１処理を行なうために割り当てられているメモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第２処理手段に提供する手段である
ことを特徴とするコンピュータープログラム。
【請求項１１】
前記第２処理手段は、１つの第２処理を行ない終えたとき、次に行なうべき実行待ちの第２処理が無ければ、提供されているメモリ領域を前記第１処理手段に返却する
請求項１０記載のコンピュータープログラム。
【請求項１２】
前記複数の第２処理は、必要なメモリ領域のサイズが異なる２つの処理であり、
前記予測手段は、前記第２処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズが第１サイズであるか前記第１サイズよりも大きい第２サイズであるかを予測する
請求項１０または１１記載のコンピュータープログラム。
【請求項１３】
前記情報機器は、操作パネルと、当該情報機器をネットワークに接続する通信インタフェースとを備えており、
前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方によって、前記第２サイズのメモリ領域を必要とする前記第２処理が選択され、かつ当該第２処理の実行の開始が指示されていない状態である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測する
請求項１２記載のコンピュータープログラム。
【請求項１４】
前記情報機器は、操作パネルと、当該情報機器をネットワークに接続する通信インタフェースと、ユーザーごとに算出されて記録されている前記第２処理手段の使用頻度および前記第２サイズのメモリ領域を必要とする処理の選択頻度を取得する取得手段とを備えており、
前記予測手段は、前記操作パネルおよび前記ネットワークを介して接続される外部装置の少なくとも一方において、前記第２処理手段を使用するジョブの設定のための操作画面が表示されており、かつ前記使用頻度および前記選択頻度が共にそれぞれに対応した閾値以上である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測する
請求項１２記載のコンピュータープログラム。
【請求項１５】
前記予測手段は、前記第２処理手段が前記外部装置から受信した処理対象データに対して自動的に前記第２サイズのメモリ領域を必要とする前記第２処理を行なう動作モードにおいて、前記処理対象データを受信している途中である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測する
請求項１３または１４記載のコンピュータープログラム。
【請求項１６】
前記情報機器は、前記第２処理手段によって行なわれようとしている前記第２処理が前記第１サイズのメモリ領域を必要とする処理である場合において、前記第２処理手段が前記第１処理手段に対して前記要求を行なうときに、行なわれようとしている当該第２処理の所要時間を推定する推定手段を備えており、
前記予測手段は、推定された前記所要時間が設定時間以上である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測し、推定された前記所要時間が設定時間未満である場合に、前記次に必要とするメモリ領域のサイズが前記第１サイズであると予測する
請求項１２ないし１５のいずれかに記載のコンピュータープログラム。
【請求項１７】
前記情報機器は、前記第１処理が行なわれており、かつ前記第２処理手段によって行なわれようとしている前記第２処理が前記第１サイズのメモリ領域を必要とする処理である場合において、前記第２処理手段が前記第１処理手段に対して前記要求を行なうときに、行なわれている当該第１処理の終了時刻および行なわれようとしている当該第２処理の終了時刻を推定する推定手段を備えており、
前記予測手段は、推定された前記第２処理の終了時刻の方が推定された前記第１処理の終了時刻よりも早い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第２サイズであると予測し、推定された前記第２処理の終了時刻の方が推定された前記第１処理の終了時刻よりも遅い時刻である場合に、前記次に必要とするメモリ領域のサイズが前記第１サイズであると予測する
請求項１２ないし１５のいずれかに記載のコンピュータープログラム。
【請求項１８】
印刷およびデータ送信が可能な複合型の情報機器において実行されるコンピュータープログラムであって、
前記情報機器が有するコンピューターを、第１処理手段、第２処理手段および予測手段として動作させ、
前記予測手段は、前記第２処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する手段であり、
前記第２処理手段は、複数の送信データ生成処理のうちのいずれかを、前記第１処理手段から提供されたメモリ領域を使用して行ない、その際に前記予測手段によって予測されたサイズと現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第１処理手段に対して要求する手段であり、
前記第１処理手段は、前記第２処理手段からの要求に応じて、印刷用のラスター画像データを生成する処理を行なうために割り当てられているメモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第２処理手段に提供する手段である
ことを特徴とするコンピュータープログラム。
【請求項１９】
複数の処理を並行して行なうためのメモリ共有方法であって、
第１処理を行なう第１処理手段がメモリ内の所定サイズのメモリ領域を保有し、
複数の第２処理のうちのいずれかを第１処理手段から提供されたメモリ領域を使用して行なう第２処理手段が、前記複数の第２処理のうちのいずれかを行なう際に、現時点で必要としているメモリ領域のサイズと次に必要になると予測されるメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第１処理手段に対して要求し、
前記第１処理手段が、前記第２処理手段からの要求に応じて、保有している前記メモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第２処理手段に提供する
ことを特徴とするメモリ共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを使用して複数の処理を並行して行なう技術に関する。
【背景技術】
【０００２】
複合型の情報機器であるＭＦＰ（Multi-functional Peripheral）がオフィスワークに利用されている。ＭＦＰは、ユーザーによって指定されるジョブに応じて、コピー機、プリンター、ネットワークスキャナー、ファクシミリ機、ドキュメントサーバーなどとして動作する。ＭＦＰには各種の動作を実現するファームウェアが組み込まれている。
【０００３】
ＭＦＰに内蔵されたプロセッサーは、ファームウェアのうちのジョブに応じたモジュールを実行する際にＲＡＭ（Random Access Memory）をワークエリア（作業領域）として使用する。プロセッサーが行なう様々な処理の中で特に大きなサイズのワークエリアを必要とするのは、ＲＩＰ（Raster Image Processor）処理およびファイル変換処理である。
【０００４】
ＲＩＰ処理は、ＭＦＰをプリンターとして動作させるプリントジョブにおいて、ページ記述言語で記述されたページ画像を印刷に適したラスター画像に変換する処理である。ファイル変換処理は、ＭＦＰを例えばドキュメントサーバーとして動作させるファイル送信ジョブにおいて、送信するファイルの形式をＰＤＦ（Portable Document Format）、コンパクトＰＤＦ、ＴＩＦＦ、ＪＰＥＧといった複数の選択肢のいずれかに変換する処理である。
【０００５】
ファイル変換処理が必要とするワークエリアのサイズは、変換後のファイル形式によって異なる。例えばＰＤＦ形式に変換する場合と比べて、コンパクトＰＤＦ形式に変換する場合に必要なワークエリアのサイズは大きい。コンパクトＰＤＦでは、ファイルサイズをより小さくする領域別の圧縮のために全ページのデータをいったん読み込むことから、ＰＤＦよりも大きなワークエリアを必要とする。
【０００６】
ＭＦＰでは印刷動作とファイル送信動作とが並行して行なわれることがある。例えば、プリントジョブの実行中にファイル送信ジョブが投入されると、印刷動作の終了を待たずにファイル送信動作が開始される。この場合、印刷のためのＲＩＰ処理とファイル送信のためのファイル変換処理とが、ＲＡＭ内のそれぞれが確保したメモリ領域をワークエリアとして使用する。
【０００７】
従来において、ＭＦＰにおけるメモリの使用に関して、複数のアプリケーションプログラムがメモリ空間を共有する場合の手法として、メモリ使用量が閾値を超えたときにいずれかのアプリケーションプログラムを停止させる手法が提案されている（特許文献１）。この手法によれば、メモリ不足のためにアプリケーションプログラムの動作が不正になるのを防ぐことができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−１８５７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の情報機器では、並行して行なわれる複数の処理のそれぞれにメモリ内の別個のメモリ領域を割り当てるために、並行して行なわれる複数の処理がそれぞれ必要とするワークエリアの合計サイズ以上のメモリ領域を有するＲＡＭを搭載する必要があった。合計サイズが大きいほど、よりメモリサイズの大きいより高価なＲＡＭが必要である。
【００１０】
上記の従来の手法を適用すると、アプリケーションプログラムを停止させることによって、そのアプリケーションプログラムに対応する処理が中断し、この処理のパフォーマンス（処理速度）が零（０）になってしまう。そして、他の処理が終わるまで再開することができないので、中断する処理を伴うジョブの所要時間が大幅に長くなる。
【００１１】
本発明は、このような事情に鑑み、メモリを使用して行なわれる複数の処理について所定のパフォーマンスを確保することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成する装置は、メモリを作業領域として使用する複数の処理を並行して行なう情報機器であって、第１処理を行なうために前記メモリ内のメモリ領域を保有する第１処理手段と、複数の第２処理のうちのいずれかを、前記第１処理手段から提供されたメモリ領域を使用して行なう第２処理手段と、前記第２処理手段が現時点で必要としているメモリ領域の次に必要とするメモリ領域のサイズを予測する予測手段と、を備える。前記第２処理手段は、前記複数の第２処理のうちのいずれかを行なう際に、前記予測手段によって予測されたサイズと前記現時点で必要としているメモリ領域のサイズとのうちで最も大きいサイズを少なくとももつメモリ領域の提供を前記第１処理手段に対して要求する。前記第１処理手段は、前記第２処理手段からの要求に応じて、保有している前記メモリ領域のうちの一部である要求されたサイズのメモリ領域を前記第２処理手段に提供する。
【発明の効果】
【００１３】
本発明によれば、メモリを使用して行なわれる複数の処理について所定のパフォーマンスを確保することができる。
【００１４】
詳しくは、第１処理と第２処理とを並行して行なう必要があるときに、第２処理手段はメモリ領域の一部を使用するので、第１処理手段が残りの部分を使用して第１処理を行なうことができる。第１処理と第２処理とを並行して行なうことができるので、これら処理のいずれについてもパフォーマンスが０になることはない。
【００１５】
また、第１処理手段が保有するメモリ領域のうち、次の第２処理のために必要になると予測されたサイズと現時点で必要なサイズとの大きい方のサイズの部分が第２処理手段に提供されるので、小さいサイズの部分に代えて大きいサイズの部分を提供し直すために第１処理を中断しなければならない状況が起こりにくい。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るＭＦＰを有するネットワークの例を示す図である。
【図２】ＭＦＰのハードウェア構成の概略を示す図である。
【図３】ＭＦＰに組み込まれた処理プログラムの構成を示す図である。
【図４】ＭＦＰとユーザー端末とのリモートアクセスにおける通信シーケンスを示す図である。
【図５】ＭＦＰにおけるメモリの共用に関わる要部の機能構成を示す図である。
【図６】ファイル送信ジョブに関係する複数の操作画面の例を示す図である。
【図７】自動転送設定画面の例を示す図である。
【図８】転送設定リスト画面の例を示す図である。
【図９】ジョブリスト画面の例を示す図である。
【図１０】ファイル送信ジョブにおいて行われるファイル変換処理のフローチャートである。
【図１１】ファイル変換処理における次の必要サイズの予測ルーチンのフローチャートである。
【図１２】次の必要サイズの予測ルーチンにおける第１の予測サブルーチンのフローチャートである。
【図１３】第２の予測サブルーチンのフローチャートである。
【図１４】第３の予測サブルーチンのフローチャートである。
【図１５】第４の予測サブルーチンのフローチャートである。
【図１６】印字データ作成部が行なうワークエリア設定処理のフローチャートである。
【発明を実施するための最良の形態】
【００１７】
本発明の実施形態に係る情報機器としてＭＦＰを挙げる。ＭＦＰは、オフィスワークに有用な複数の機能を集約した複合型の情報機器である。
【００１８】
図１に例示されるＭＦＰ１は、企業のオフィスに構築されたＬＡＮ（Local Area Network）５に接続され、複数のユーザーによって共用される。ＬＡＮ５には、１以上のユーザー端末２および他の情報機器が接続される。図１では、ユーザー端末２としてデスクトップ型パーソナルコンピューター３およびタブレット４が描かれ、他の情報機器としてサーバー機６が描かれている。ＭＦＰ１は、ＬＡＮ５上の情報機器およびクラウドサーバー８を含むインターネット上の情報機器との通信が可能である。また、ＭＦＰ１は図示しない公衆電話回線を用いるファクシミリ通信を行なうことができる。
【００１９】
ＭＦＰ１は、印刷機能およびデータ送信機能を有している。すなわち、ＭＦＰ１は、与えられたジョブに応じて、原稿シート９０から読み取ったスキャン画像、外部装置から送られてきた文書、ＭＦＰ１内のボックス２０に保存されている文書、またはファクシミリ受信した画像を用紙に印刷する。また、ＭＦＰ１は、スキャン画像をボックス２０に保存したり、スキャン画像やボックス２０内の文書を所定形式に変換して外部装置へ転送したりする。外部装置へのデータ送信には、電子メールに添付するメール送信およびファクシミリ送信が含まれる。
【００２０】
ＭＦＰ１には、ＭＦＰ１に備え付けられている操作パネル１７を用いる操作（直接の操作）、およびユーザー端末を用いるリモートアクセスによってジョブが与えられる。ＭＦＰ１は、所定の操作をしてログインしたユーザーである一人または複数のログインユーザーによるジョブの投入を受け付ける。例えば、あるユーザーが原稿シート９０のスキャン画像をパーソナルコンピューター３へ送信させているときに、他のユーザーがタブレット４からアクセスしてボックス２０内の文書をタブレット４へ送信させるジョブをＭＦＰ１に投入することができる。複数のログインユーザーがリモートアクセスすることもよくある。
【００２１】
複数のログインユーザーが次々にジョブを投入した場合、ＭＦＰ１は、それらのジョブを次々に実行する。ジョブの実行中に別のジョブが投入された場合、並行の実行が可能であれば、実行中のジョブの動作が終わる以前に次のジョブの実行が開始される。例えば、スキャン画像を印刷するコピージョブとボックス２０内の文書を外部装置へ転送するファイル送信ジョブとの並行実行が可能である。
【００２２】
図２はＭＦＰのハードウェア構成の概略を示している。
【００２３】
ＡＤＦ(Auto Document Feeder)１４は、ユーザーによってセッティングされた原稿シートをイメージスキャナー１５の読取り位置へ搬送する。イメージスキャナー１５は、搬送された原稿シートに記録されている画像を光学的に読み取る。プリンターエンジン１６は、コピー、プリントおよびファクシミリ受信において、例えば電子写真法によって画像を用紙に印刷する。印刷方法はインクジェット法または他の方法であってもよい。
【００２４】
操作パネル１７は、ディスプレイおよびタッチパネルを有している。ディスプレイは例えば液晶パネルである。タッチパネルはディスプレイの表示面上のタッチ操作を検出し、タッチ点の位置を示す信号を出力する。操作パネル１７のタッチパネルはフリック操作およびマルチタッチ操作を検出することができる。
【００２５】
通信インタフェース１８は、ＭＦＰ１と外部装置との通信を可能にする。通信インタフェース１８は、ＭＦＰ１をＬＡＮ５に通信可能に接続するネットワーク・インタフェース・カード（ＮＩＣ）、および公衆電話回線によるファクシミリ通信のためのモデムを含んでいる。通信インタフェース１８によるデータ通信は、メインコントローラー１０内のネットワークコントローラーによって制御される。
【００２６】
ストレージ１９は例えばハードディスクドライブであり、アプリケーションプログラムや設定データの保存およびデータ処理における一時的なデータ記憶に用いられる。ボックス（ＢＯＸ）２０は、ストレージ１９の中に文書保存用に設けられる不揮発メモリ領域である。ボックス２０は、各ユーザーが専用する個人ボックス（ユーザーボックスともいう）および複数のユーザーが共有する共通ボックスといった複数の領域に区分して利用される。
【００２７】
ＭＦＰ１の制御を統括するメインコントローラー１０は、各種のプログラムを実行するコンピューターとしてのＣＰＵ１１、プログラム実行のワークエリアとして使用されるＲＡＭ（Random Access Memory）１２、およびプログラムや制御データを記憶するＲＯＭ（Read Only Memory）１３を有する。ＲＯＭ１３には、ＭＦＰ１の多様な機能を実現するための組み込みプログラムを含むソフトウェア１００が格納されている。
【００２８】
図３のように、ソフトウェア１００は、メイン処理モジュール１０１、印字データ作成モジュール１１０、ファイル変換モジュール１２０、およびその他のモジュール群１５０を有している。メイン処理モジュール１０１は、ＭＦＰ１の動作状態に応じて、印字データ作成モジュール１１０、ファイル変換モジュール１２０またはその他のモジュール群に含まれるモジュールを適宜実行させる。
【００２９】
印字データ作成モジュール１１０は、ＭＦＰ１をプリンターとして動作させるプリントジョブにおいて、ＣＰＵ１１に印字データ作成処理を行なわせる。印字データ作成処理は、印刷対象として入力される文書データをプリンターエンジン１６に与える印字データに変換する処理である。印字データ作成処理にＲＩＰ処理が含まれる。
【００３０】
ファイル変換モジュール１２０は、ファイル送信ジョブにおいて、指定されたファイル形式の送信データを作成するファイル変換処理をＣＰＵ１１に行なわせる。ファイル送信ジョブは、ファイル化された送信データ（送信ファイル）を、例えばＳＭＢ（Server Message Block）やＦＴＰ(File Transfer Protocol)といったプロトコルを用いて転送する送信ジョブである。
【００３１】
図４はユーザー端末によるリモートアクセスの通信シーケンスを示している。
【００３２】
ユーザー端末２がユーザーの指示に従ってＬＡＮ５を介してＭＦＰ１にリモートアクセスを要求する。ＭＦＰ１はユーザー端末２からの要求を受けてリモートアクセス状態になる。リモートアクセス状態において、ＭＦＰ１はユーザー端末２へ操作画面の表示のための画面データを送信する。ユーザー端末２はＭＦＰ１からの画面データを受信し、自機に付属するディスプレイによって操作画面を表示する。これにより、ＭＦＰ１の操作パネル１７と同等またはユーザー端末２の表示仕様に応じて最適化された操作環境が、ユーザー端末２のユーザーに提供される。
【００３３】
リモートアクセス開始時にＭＦＰ１は、ユーザーＩＤとパスワードとの入力を求めるログイン画面の表示のための画面データをユーザー端末２へ送信する。ユーザー端末２においてログイン画面が表示されたとき、ユーザーがユーザーＩＤとパスワードとを入力し、ＭＦＰ１において認証が完了すると、ＭＦＰ１は初期画面データをユーザー端末に送信する。
【００３４】
その後、ユーザーは初期画面から必要に応じて画面を遷移させて、所望の機能を選択したり動作の詳細を指定したりしてジョブの実行をＭＦＰ１に指示する。ユーザーがログアウト操作を行なうと、ＭＦＰ１においてリモートアクセスが終了する。
【００３５】
図５（Ａ）〜（Ｃ）はＭＦＰにおけるワークメモリの共用に関わる要部の機能構成を示している。図５（Ａ）のように、ＭＦＰ１は印字データ作成処理部１１１およびファイル変換処理部１２１を備えている。印字データ作成処理部１１１は、ＣＰＵ１１が印字データ作成モジュール１１０を実行することによって実現される機能要素である。ファイル変換処理部１２１は、ＣＰＵ１１がファイル変換モジュール１２０を実行することによって実現される機能要素である。
【００３６】
ＭＦＰ１では、搭載されたＲＡＭ１２の限りあるメモリ資源をプログラム実行のワークエリアとして節約して使用するために、印字データ作成処理部１１１とファイル変換処理部１２１とがＲＡＭ１２内のメモリ領域２５を共用するように、印字データ作成モジュール１１０およびファイル変換モジュール１２０が構成されている。
【００３７】
メモリ領域２５の共用の態様は、第１処理手段としての印字データ作成処理部１１１が割り当てられたメモリ領域２５を保有し、第２処理手段としてのファイル変換処理部１２１が一時的に印字データ作成処理部１１１からメモリ領域２５の一部であるメモリ領域２６を借りて使用する態様である。印字データ作成処理部１１１は、メモリ領域２６をファイル変換処理部１２１に提供していないときには保有しているメモリ領域２５の全体を使用することができ、メモリ領域２６を提供したときにはメモリ領域２５の残りの部分を使用することができる。
【００３８】
図５（Ｂ）のようにファイル変換処理部１２１は、要求ブロック１２１Ａ、メインブロック１２１Ｂ、および返却ブロック１２１Ｃを有する。
【００３９】
要求ブロック１２１Ａは、ファイル送信ジョブが投入されてファイル変換処理のためのワークエリアが必要になったときに、メモリサイズ（以下、サイズという）を指定してメモリ領域２６の提供を印字データ作成処理部１１１に要求する。要求に応えてメモリ領域２６が提供されると、要求ブロック１２１Ａはメモリ領域２６の提供されたことをメインブロック１２１Ｂに通知する。
【００４０】
なお、提供されるメモリ領域２６のアドレス範囲が印字データ作成処理部１１１において動的に設定される構成では、設定されたアドレス範囲が要求ブロック１２１Ａを介してメインブロック１２１Ｂに通知される。これに対して、提供されるメモリ領域２６のアドレス範囲を固定化する構成では、要求ブロック１２１Ａがサイズを指定することによって、提供されるメモリ領域２６のアドレス範囲が決まる。
【００４１】
要求ブロック１２１Ｂがサイズを指定するのは、作成する送信データのファイル形式によってファイル変換に必要なワークエリアのサイズが異なるからである。基本的には、より小さいサイズを指定するのが印字データ作成処理への影響を小さくする上で好ましい。
【００４２】
以下において、ファイル変換に必要なワークエリアのサイズを“必要サイズ”といい、選択肢とされた複数のファイル形式の必要サイズのうちで最も大きい必要サイズを“最大必要サイズ”という。
【００４３】
本実施形態において、ファイル変換処理部１２１の要求ブロック１２１Ａは、第１サイズおよび第２サイズの２つのサイズのいずれかを指定する。ただし、これに限らず、３つ以上のサイズのいずれかを指定するようにしてもよい。本実施形態では第１サイズよりも第２サイズの方が大きいとし、以下において便宜的に第１サイズを“小サイズ”といい、第２サイズを“大サイズ”という。
【００４４】
例えばＰＤＦ形式の送信データの作成に際して、メインブロック１１１Ｂは４０ＭＢのワークエリアを使用する。この４０ＭＢが小サイズとされている。また、コンパクトＰＤＦ形式の送信データの作成には８０ＭＢのワークエリアが必要である。この８０ＭＢが大サイズとされている。
【００４５】
ファイル変換処理部１２１のメインブロック１２１Ｂは、印字データ作成処理部１１１から提供されたメモリ領域２６をワークエリアとして上述のファイル変換処理を行なう。ここで、メモリ領域２６とは、小サイズのメモリ領域２６１と大サイズのメモリ領域２６２との総称である。したがって、提供されたメモリ領域２６が小サイズのメモリ領域２６１である場合と大サイズのメモリ領域２６２である場合とがある。メインブロック１２１Ｂには、メモリ領域２６の提供されたことが要求ブロック１２１Ｂから通知される。この通知を受けた後にメインブロック１２１Ｂはファイル変換処理を開始する。
【００４６】
ファイル変換処理部１２１の返却ブロック１２１Ｃは、ファイル変換処理が終わってワークエリアが不要になったとき、提供されているメモリ領域２６を印字データ作成処理部１１１に返却する。すなわち、返却通知を印字データ作成処理部１１１に送る。ファイル変換処理が終わっても、引く続いて次のジョブのファイル変換処理を行なう場合、返却ブロック１２１Ｃはメモリ領域を返却しない。
【００４７】
図５（Ｃ）のように印字データ作成処理部１１１は、メインブロック１１１Ａ、監視ブロック１１１Ｂ、および領域管理ブロック１１１Ｃを有する。
【００４８】
メインブロック１１１Ａは、領域管理ブロック１１１Ｃによって設定されたワークエリアを使用して印字データ生成処理を行なう。メインブロック１１１Ａのワークエリアのサイズは、ファイル変換処理部１２１へのメモリ領域２６の提供の有無に依存する。
【００４９】
監視ブロック１１１Ｂは、ファイル変換処理部１２１からの提供要求の有無および返却通知の有無を監視する。提供要求または返却通知があると、その旨を領域管理ブロック１１１Ｃに伝える。
【００５０】
領域管理ブロック１１１Ｃは、メインブロック１１１Ａが使用するワークエリアを設定する。領域管理ブロック１１１Ｃは、ファイル変換処理部１２１からの提供要求に応えて、管理対象として割り当てられた例えば１５０ＭＢのメモリ領域２５のうちの提供要求によって指定されたサイズのメモリ領域２６を、ファイル変換処理部１２１に提供する。詳しくは、小サイズが指定された場合は指定と同じ小サイズのメモリ領域２６１の提供をファイル変換処理部１２１に通知し、大サイズが指定された場合は指定と同じ大サイズのメモリ領域２６２の提供をファイル変換処理部１２１に通知する。そして、領域管理ブロック１１１Ｃは、メモリ領域２５のうちのメモリ領域２６を提供して残った部分を印字データ作成処理のためのワークエリアに設定する。
【００５１】
ファイル変換処理部１２１から提供が要求されたとき、領域管理ブロック１１１Ｃは、メモリ領域２５を使用していなければ、直ちにメモリ領域２６をファイル変換処理部１２１に提供することができる。この場合、ファイル変換処理部１２１のメインブロック１２１Ｂは、遅滞なくファイル変換処理を開始することができる。印字データ作成処理が行われていないので、メモリ領域の提供は印字データ作成処理のパフォーマンスに影響しない。
【００５２】
これに対して、印字データ作成処理部１１１のメインブロック１１１Ａがメモリ領域２５を使用している状態においてファイル変換処理部１２１が提供を要求した場合、メインブロック１１１Ａはいったん印字データ作成処理を中断しなければならない。通常、中断は即時には行われず、ページやページを分割したバンドといった所定の処理単位ごとの区切りまで処理が進んだ時点で行なわれる。中断後に領域管理ブロック１１１Ｃはメインブロック１１１Ａが使用するワークエリアのアドレス範囲を、提供するメモリ領域２６のアドレス範囲を除くように狭める。
【００５３】
印字データ作成処理のワークエリアが狭まるので、メモリ領域２５の一部を提供するために、メモリ領域２５内のデータをストレージ１９に退避させなければならないことがある。データの退避を行なうことによって、中断時間が長くなって印字データ作成処理の平均パフォーマンスが大きく低下する。
【００５４】
印字データ作成処理のパフォーマンスが低下する問題は、印字データ作成処理部１１１がファイル変換処理部１２１に対してメモリ領域２６を提供し直す場合にも生じる。ファイル変換処理部１２１は、１つのジョブに係るファイル変換処理が終了したときに、実行待ちのジョブが無い場合には、提供されているメモリ領域２６を印字データ作成処理部１１１に返却し、実行待ちのジョブが有ればメモリ領域２６を返却せずに引き続きワークエリアとして使用する。
【００５５】
しかし、小サイズのメモリ領域２６１が提供されている状態において、次のジョブのファイル変換処理に大サイズのワークエリアが必要である場合には、小サイズから大サイズへの変更をファイル変換処理部１２１が印字データ作成処理部１１１に要求することになる。サイズの変更であっても、新規の提供と同様に、印字データ作成処理部１１１がメモリ領域２５を使用している状態であれば、印字データ作成処理部１１１は印字データ作成処理を中断しなければならない。そして、必要に応じてデータの退避を行なわなければならない。
【００５６】
印字データ作成処理部１１１がメモリ領域２６を提供し直す状況を無くする方法として、提供するメモリ領域２６のサイズを大サイズに固定する方法が考えられる。つまり、ファイル変換処理のファイル形式の選択肢のうち最も大きいワークエリアを必要とするファイル形式のための処理を想定して、提供するメモリ領域２６のサイズを１つに決めることができる。
【００５７】
しかし、提供するメモリ領域２６のサイズを固定すると、印字データ作成処理と小サイズのメモリ領域２６１を使用するファイル変換処理とを並行して行なうときに、印字データ作成処理部１１１の使用可能なワークエリアが必要以上に狭まることになる。メモリ領域２５の中に無駄な空き領域が生じてしまう。このことは印字データ作成処理のパフォーマンスを低下させる要因となる。
【００５８】
そこで、ＭＦＰ１には、ファイル変換処理部１２１がメモリ領域２６の提供を要求する際に指定するサイズを最適化するための要素が付加されている。付加された要素は、予測部２１１、状態検知部２１２、頻度取得部２１３、および処理時間推定部２１４である。これら要素は、ＣＰＵ１１がファイル変換モジュール１２０を実行することによって実現される機能要素である。
【００５９】
予測部２１１は、ファイル変換処理部１２１がメモリ領域２６の提供を要求する時点で必要としているメモリ領域２６の次に必要とするメモリ領域２６のサイズを予測する。詳しくは、予測部２１１は、実行中のファイル送信ジョブの次に投入されるであろうファイル送信ジョブが指定するファイル形式を予測する。そして、複数のファイル形式のそれぞれと必要サイズとの対応を示すあらかじめＲＯＭ１３に格納されたデータを参照することによって、予測したファイル形式に対応するサイズを取得し、取得したサイズを予測結果（予測サイズ）とする。
【００６０】
ファイル変換処理部１２１が提供を要求する契機は、ファイル送信ジョブの実行開始である。既に投入されたファイル送信ジョブの実行が開始される時点で、ファイル変換処理部１２１が必要とするメモリ領域２６のサイズは確定している。ジョブの指定するファイル形式に対応する必要サイズが、現時点で必要とするメモリ領域２６のサイズである。ファイル送信ジョブの実行が開始された時点で、実行待ちのファイル送信ジョブが無ければ、ファイル変換処理部１２１が次に必要とするメモリ領域２６のサイズは未定である。予測部２１１は、この未定のサイズが小サイズであるか大サイズであるかを予測する。
【００６１】
予測部２１１によって予測されたサイズ（予測サイズ）は、ファイル変換処理部１２１に通知される。ファイル変換処理部１２１は、既に確定している現時点での必要サイズが小サイズである場合において、現時点での必要サイズと予測サイズとを比較し、これらサイズのうちで最も大きいサイズを少なくとももつメモリ領域２６（メモリ領域２６１またはメモリ領域２６２）の提供を印字データ作成処理部１１１に対して要求する。最も大きいサイズとは、比較する両者の値が異なる場合は値の大きい方のサイズを意味し、両者の値が同一である場合はその値のサイズを意味する。最も大きいサイズを少なくとももつとは、最も大きいサイズ以上のサイズを有することを意味する。
【００６２】
つまり、ファイル変換処理部１２１は、予測サイズおよび現時点での必要サイズの少なくとも一方が大サイズであれば、大サイズまたは大サイズよりも所定量だけ大きいサイズのメモリ領域２６２の提供を要求し、予測サイズおよび現時点での必要サイズの両方が小サイズであれば、小サイズまたは小サイズよりも所定量だけ大きいサイズのメモリ領域２６１の提供を要求する。なお、現時点での必要サイズが大サイズであれば、予測サイズの如何にかかわらず、大サイズまたはそれよりも大きいサイズのメモリ領域２６２の提供を要求する。
【００６３】
状態検知部２１２、頻度取得部２１３、および処理時間推定部２１４は、予測部２１１に対して予測サイズの判定のための情報を提供する。
【００６４】
状態検知部２１２は、操作パネル１７を用いる直接の操作およびＬＡＮ５を介して接続されるユーザー端末２を用いる操作の進行状態および操作に従うＭＦＰ１の動作状態を検知する。状態検知部２１２には、操作を受け付けて操作画面を表示させる操作処理部およびジョブの実行を管理するジョブ実行制御部から検知に必要な操作ログが与えられる。
【００６５】
頻度取得部２１３は、ユーザーごとに記録されているＭＦＰ１の使用実績データに含まれる、ファイル変換処理部１２１の使用頻度Ｆおよび大サイズのワークエリアを必要とするファイル形式の選択頻度Ｇを取得する。使用頻度Ｆは現在以前の所定期間Ｔの使用回数であり、選択頻度Ｇは同じく所定期間Ｔの選択回数である。使用頻度Ｆおよび選択頻度Ｇは、使用実績データを管理する実績管理部によって算出されている。実績管理部はＭＦＰ１内または外部の管理サーバーに設けられている。頻度取得部２１３は実績管理部から使用頻度Ｆおよび選択頻度Ｇを取得する。ただし、頻度取得部２１３が操作ログに基づいて自ら使用頻度Ｆおよび選択頻度Ｇを算出するようにしてもよい。
【００６６】
処理時間推定部２１４は、ファイル変換処理部１２１によって行われようとしているファイル変換処理の所要時間Ｔ２、および行なわれている途中の印字データ作成処理の終了時刻ｔ１を推定する。ファイル変換処理の所要時間Ｔ２は、処理対象の文書のページ数、カラーモード、解像度、画像サイズといった処理条件に依存する。現在時刻に所要時間Ｔ２を加算することで終了時刻が求まるので、所要時間Ｔ２の推定はファイル変換処理の終了時刻ｔ２の推定でもある。印字データ作成処理の終了時刻ｔ１は、印字データ作成処理の開始時刻ｔ０と所要時間Ｔ１とから求めることができる。印字データ作成処理の所要時間Ｔ１は、処理対象の文書のページ数、処理モード、画像サイズといった処理条件に依存する。
【００６７】
以下、ＭＦＰ１の動作をより具体的に説明する。
【００６８】
図６はファイル送信ジョブに関係する複数の操作画面の例を示している。図６（Ａ）では文書選択画面３０が示され、図６（Ｂ）では送信設定画面４０が示され、図６（Ｃ）ではファイル形式選択画面５０が示されている。これら操作画面による操作はタッチ操作またはマウス操作である。
【００６９】
図６（Ａ）の文書選択画面３０は、ログインしたユーザーが自己に割り当てられたユーザーボックス内の文書に対する処理を指定するため画面であり、例えば初期画面においてボックス機能を選択する操作が行なわれたときに表示される。文書は、スキャン画像であってもよいし、ユーザー端末２において文書作成ソフトウェアや他のソフトウェアを用いて作成され、その後にＭＦＰ１に転送されたファイルであってもよい。
【００７０】
文書選択画面３０では、ユーザーボックスに保存されている文書のサムネイルが表示される。図示ではサムネイル３１，３２を含む８個のサムネイルが２行４列に並んでいる。ユーザーは、サムネイルに対する所定の操作によって処理対象の文書を選択し、画面の右端側に配置されているキーを操作して所望の処理を指定する。
【００７１】
文書に対する処理の選択肢は、「送信」、「移動」、「削除」、および「詳細表示」である。「送信」は、サーバー機６やユーザー端末２への送信、インターネットファクシミリ（Ｉ−ＦＡＸ）送信、電話回線によるファクシミリ送信などを行なう処理である。「移動」は、文書を他のボックスに移し替える処理である。「削除」は、選択された文書を消去する処理である。「詳細表示」は、文書の作成日時やサイズなどの属性情報とプレビュー画像とを表示する処理である。
【００７２】
ユーザーが文書選択画面３０において「送信」に対応するキー３３を操作すると、文書選択画面３０に代えて図６（Ｂ）の送信設定画面４０が、ユーザーが見ているディスプレイによって表示される。
【００７３】
図６（Ｂ）の送信設定画面４０の上端部に宛先表示欄４１が配置されている。ユーザーは、番号キー４３，４４および他の複数の番号キーを選択的に操作することにより、あらかじめ番号に対応づけて登録されている宛先候補の１つを宛先に指定することができる。指定された宛先が宛先表示欄４１に表示される。画面の右端部のスクロールバーを操作すると、登録番号リストの表示対象ページが切り替わり、番号キーに対応する宛先候補が切り替わる。また、ユーザーは、左端部のキー４２を操作して直接入力モードを指定した後、図示しないハードウェアキーボードまたはソフトウェアキーボードを用いて所望の宛先を宛先表示欄４１に入力することができる。
【００７４】
送信設定画面４０の下端部に項目選択キーが配列されている。項目の選択肢は、「カラー」、「解像度」、「ファイル形式」、および「応用設定」である。ユーザーが項目選択キーを操作して項目を選択すると、選択された項目について設定画面が表示される。「カラー」には、自動、フルカラーおよびモノクロの選択肢がある。「解像度」および「ファイル形式」にも、それぞれ複数の選択肢がある。「応用設定」に対応する図示しない設定画面では、ファイル送信における文書名や電子メール送信における件名を含む所定の情報を設定することができる。
【００７５】
ユーザーが送信設定画面４０において項目選択キー４７を操作すると、送信設定画面４０に代えて図６（Ｃ）のファイル形式選択画面５０が表示される。
【００７６】
図６（Ｃ）のファイル形式選択画面５０では、選択キー５１，５２を含む複数の選択キーが表示される。各選択キーは、送信データのファイル形式の選択肢のいずれかに対応する。ファイル形式の選択肢は、図示のとおり、「ＰＤＦ」、「コンパクトＰＤＦ」、「ＴＩＦＦ」、「ＤＯＣＸ」、「ＪＰＥＧ」などである。ファイル形式選択画面５０が表示された時点の状態では、デフォルトのファイル形式または以前に最後に指定されたファイル形式が選択されている。図示の例では、「ＰＤＦ」が選択されており、「ＰＤＦ」に対応する選択キー５１が強調表示によって他の選択キーと区別されている。
【００７７】
ファイル形式選択画面５０の右端部にオプションキー５９が配置されている。オプションキー５９が操作されたときに表示される図示しないオプション設定画面において、ユーザーは暗号化を含むオプション項目の設定をすることができる。
【００７８】
ユーザーが操作パネル１７を用いてボックス２０内の文書を送信させる場合の操作の手順は次のとおりである。ＭＦＰ１にログインしたユーザーは、文書選択画面３０において文書を選択し、キー３３にタッチして送信を選択する。次に送信設定画面４０において宛先を指定し、必要に応じてカラーや解像度の設定をする。ファイル送信の場合、ファイル形式選択画面５０において所望のファイル形式を指定する。行なうべき全ての指定を終えた後、操作パネル１７のハードキー配列部にあるスタートキーを押下する。これにより、送信ジョブを投入しかつその実行の開始をＭＦＰ１に指示したことになる。
【００７９】
図７は自動転送設定画面の例を示している。ＭＦＰ１は、外部装置から受信したデータを他の外部装置へ転送する自動転送機能を備えている。転送動作の設定に図７の自動転送設定画面６０が用いられる。
【００８０】
自動転送設定画面６０の上端部の欄６１に、自動転送機能が有効か無効かが示される。図示では有効である。転送の対象に関わる受信種別の選択肢として、ファクシミリ、インターネットファクシミリ、ファイル転送、電子メールなどがある。図示ではファクシミリ（ＦＡＸ）が選択されている。
【００８１】
ＭＦＰ１が受信する転送対象データの送信者（転送元）として指定すべき情報は、受信種別によって異なる。例えば、ファクシミリではファクシミリ番号であり、ファイル転送ではＩＰアドレスである。
【００８２】
転送先の指定によって転送種別が決まる。転送種別の選択肢は受信種別と同様である。例えば転送先としてメールアドレスが設定されると、電子メールに添付して送信する自動転送が行われる。転送先としてＭＦＰ１内のボックス２０を指定することができる。ボックス２０を指定する場合、ユーザーはボックスＩＤ（名称や番号）を入力する。
【００８３】
転送種別がファイル転送または電子メールである場合のように受信データをファイル化して転送する場合は、ファイル形式を指定することができる。ファクシミリまたはボックス保存の場合、ファイル形式の指定操作を行なう必要はない。ファイル形式の選択肢にＰＤＦおよびコンパクトＰＤＦが含まれる。図示における指定されたファイル形式はＰＤＦである。
【００８４】
ユーザーは、登録キー６６を操作することで、指定した送信者から受信したデータを指定した転送先へ指定した形式に変換して送信する自動転送を登録することができる。リストキー６７を操作することで、登録済みの自動転送の一覧を表示させることができる。また、完了キー６８を操作することで、自動転送設定画面６０の表示を終了させることができる。
【００８５】
図８は転送設定リスト画面の例を示している。転送設定リスト画面７０は、自動転送設定画面６０においてリストキー６７が操作されたときに表示される。
【００８６】
転送設定リスト画面７０では、登録済みの自動転送が５個ずつ表示される。表示される設定項目は「送信者」、「転送種別」および「転送先」である。図示のように番号１から５までの自動転送が表示された状態で次ページキー７３が操作されると、番号６から１０までの自動転送が表示される。表示された設定内容を編集したり、任意の番号の自動転送を削除（登録抹消）したりすることができる。
【００８７】
自動転送機能は、転送設定リスト画面７０でユーザーが確認することのできる登録済みの自動転送のいずれかに該当するデータ受信が発生したときに、受信したデータを自動的に転送する。例えば、図示の転送設定リスト画面７０における番号１の自動転送の指定が図７の例に対応するものとすると、ＭＦＰ１は送信先のファクシミリ番号「123456789」の送信先からファクシミリ受信した画像データをＰＤＦ形式のファイルに変換して転送先「xxx.xxx.xxx.xxx」へ送信する。
【００８８】
図９はジョブリスト画面の例を示している。ＭＦＰ１に投入されたジョブは、ＣＰＵ１１がソフトウェア１００を実行することで実現されるジョブ実行制御部によって管理される。ＭＦＰ１のユーザーは、所定の操作によってジョブリスト画面を表示させることができる。
【００８９】
図９（Ａ）のように、ジョブリスト画面８０では、投入されかつ終了していない未完のジョブが一覧表示される。一度に表示されるジョブの数は５であるが、６以上の未完のジョブがある場合には、次ページキーおよび前ページキーを操作して所望のジョブを表示させることができる。また、ジョブを停止させたり、削除したり、ジョブ設定の詳細を表示させたりするためのキーがジョブリスト画面８０に設けられている。
【００９０】
ジョブリスト画面８０における各ジョブの表示項目は、「識別番号」、「種別」、「文書名／宛先」、「時間」、「枚数」、および「状態」である。これらのうち、「時間」の表示情報はジョブの投入時刻であり、「枚数」の表示情報は処理対象ページの総数および現在の処理ページである。また、「状態」の欄には、ジョブの種別に応じて、印刷中・印刷待ち・送信中・受信中・送信待ち・受信待ち・保存中といった進行状況を表わす文字列が表示される。
【００９１】
図９（Ａ）が示す状態では、識別番号２のインターネットファクシミリ（Ｉ−ＦＡＸ）送信が送信中であり、識別番号３，４のＮＥＴ送信（ファイル送信）が送信待ちである。つまり、Ｉ−ＦＡＸ送信という種別のファクシミリ送信ジョブの実行が進行中であって、ＮＥＴ送信という種別の２つのファイル送信ジョブが実行待ちである。また、識別番号１のプリントジョブが印刷中（実行中）であるので、プリンターエンジン１６を使用する識別番号５のコピージョブは印刷待ち（実行待ち）である。
【００９２】
ジョブの実行が終了すると、終了したジョブがジョブリスト画面８０から消える。図９（Ｂ）では、図９（Ａ）における識別番号１，２のジョブが終了した後のジョブリスト画面８０ｂが描かれている。図１３（Ｂ）のジョブリスト画面８０ｂでは、識別番号３のファイル送信ジョブの実行が進行中であって、識別番号４のファイル送信ジョブが実行待ちである。また、識別番号５のコピージョブは印刷中（実行中）である。
【００９３】
ジョブリスト画面８０，８０ｂに示されるとおり、プリントジョブとコピージョブとの組合せのように並行して実行することができない処理を共に含むジョブどうしは、先行ジョブの当該処理の実行が終了するまで、後続ジョブは実行待ちとなる。先行ジョブの当該処理の実行が終われば、後続ジョブの当該処理の実行が開始される。
【００９４】
ファイル送信ジョブはプリントジョブと並行して実行可能なジョブである。コピージョブとの並行実行も可能である。ファイル送信ジョブはプリンターエンジン１６を使用しないので、プリンターエンジン１６が他のジョブによって使用されているときに実行することができる。ただし、プリントジョブおよびコピージョブは印字データを作成するためにワークエリアとしてＲＡＭ１２を使用し、ファイル送信ジョブはファイル変換処理を行なうために同じくＲＡＭ１２をワークエリアを使用する。
【００９５】
図１０は、ファイル送信ジョブの実行過程において行われるファイル変換処理のフローチャートである。
【００９６】
ファイル変換処理部１２１は、実行が開始されたファイル送信ジョブで指定されているファイル形式を取得する（Ｓ１０）。続いて、ファイル変換処理部１２１は、取得したファイル形式がファイル変換処理におけるファイル形式の選択肢の中で最も大きいワークエリアを必要とするファイル形式であるかどうかを判定する（Ｓ１１）。すなわち、行なおうとしているファイル変換処理に必要なワークエリアのサイズ（現時点での必要サイズ）が最大必要サイズであるかどうかを判定する。本実施形態では必要サイズが小サイズまたは大サイズであって最大必要サイズが大サイズであるので、このステップＳ１１では、実行中のファイル送信ジョブにおける必要サイズが大サイズであるかどうかを判定することになる。
【００９７】
必要サイズが大サイズであれば（Ｓ１１でＹＥＳ）、フローはステップＳ２１へ進む。ステップＳ２１において、ファイル変換処理部１２１はステップＳ１０で取得したファイル形式に対応した必要サイズのメモリ領域２６の提供を印字データ作成処理部１１１に対して要求する。つまり、現時点で確定している必要サイズである大サイズのメモリ領域２６２をワークエリアとして確保する。そして、フローはステップＳ２１からステップＳ１７へ進む。
【００９８】
一方、ステップＳ１１の判定結果がＮＯであった場合、すなわち現時点の必要サイズが小サイズであった場合、予測部２１１によって次の必要サイズの予測ルーチンが実行される（Ｓ１２）。このルーチンで得られる予測結果に応じて、次のようにワークエリアのサイズが決定される。
【００９９】
ファイル変換処理部１２１は、予測部２１１が次の必要サイズを予測することができたかどうかをチェックする（Ｓ１３）。予測結果が予測サイズを大サイズまたは小サイズとするものであれば予測することができたことになり、予測結果が「予測サイズ無し」であれば予測することができなかったことになる。次の必要サイズを予測することができなかった場合（Ｓ１３でＮＯ）、フローは上述のステップＳ２１へ進む。
【０１００】
次の必要サイズを予測することができた場合（Ｓ１３でＹＥＳ）、ファイル変換処理部１２１は、現時点の必要サイズと予測サイズとを比較する（Ｓ１４）。そして、現時点の必要サイズよりも予測サイズの方が大きい場合（Ｓ１５でＹＥＳ）、ファイル変換処理部１２１は、予測サイズのメモリ領域２６２の提供を印字データ作成処理部１１１に対して要求する。つまり、現時点で確定している必要サイズよりも大きい、次に必要になるであろうと見込んだサイズのメモリ領域２６２をワークエリアとして確保する（Ｓ１６）。その後、フローは上述のステップＳ１７へ進み、さらにステップＳ１８へ進む。
【０１０１】
ステップＳ１５のチェックにおいて現時点の必要サイズよりも予測サイズの方が大きくなかった場合（ＮＯ）、フローは上述のステップＳ２１へ進む。本実施形態では必要サイズが小サイズおよび大サイズの二通りであるので、ステップＳ１５からステップＳ２１へフローが進むのは、現時点の必要サイズおよび予測サイズの両方が小サイズである場合のみである。この場合、ステップＳ２１で小サイズのメモリ領域２６１がワークエリアとして確保される。
【０１０２】
ステップＳ１７において、ファイル変換処理部１２１は、印字データ作成処理部１１１からの提供によって確保した大サイズのメモリ領域２６２または小サイズのメモリ領域２６１を使用して、実行中のファイル送信ジョブのためのファイル変換処理を行なう。ファイル変換処理を終えたファイル変換処理部１２１は、作成した送信ファイルをその送信を行なう通信処理部に引き渡すファイル送信処理を行なう（Ｓ１８）。そして、後処理として、ファイル変換処理部１２１は、実行待ちのファイル送信ジョブが無いかどうかをチェックし（Ｓ１９）、実行待ちのファイル送信ジョブが無ければ（Ｓ１９でＹＥＳ）、借りているメモリ領域を返却することを意味する返却通知出力を印字データ作成処理部１１１に対して行なう（Ｓ２０）。
【０１０３】
図１１は図１０のファイル変換処理における次の必要サイズの予測ルーチンのフローチャートである。
【０１０４】
予測部２１１は第１の予測サブルーチン（Ｓ１２１）を実行する。第１のサブルーチンでサイズを予測することができた場合（Ｓ１２２でＹＥＳ）、フローは直ちに図１０のルーチンに戻る。第１の予測サブルーチンでサイズを予測することができなかった場合（Ｓ１２２でＮＯ）、予測部２１１は第２の予測サブルーチン（Ｓ１２３）を実行する。第１のサブルーチンでサイズを予測することができた場合（Ｓ１２４でＹＥＳ）、フローは直ちに図１０のルーチンに戻る。
【０１０５】
第１の予測サブルーチンでサイズを予測することができなかった場合（Ｓ１２４でＮＯ）、予測部２１１は、実行が開始されたファイル送信ジョブを投入したユーザーではない他のログインユーザーがいるかどうかをチェックする（Ｓ１２５）。
【０１０６】
他のログインユーザーがいる場合（Ｓ１２５でＹＥＳ）、予測部２１１は、第３の予測サブルーチン（Ｓ１２６）を実行する。他のログインユーザーがいない場合（Ｓ１２５でＮＯ）、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ１２９）。
【０１０７】
第３のサブルーチンでサイズを予測することができた場合（Ｓ１２７でＹＥＳ）、フローは直ちに図１０のルーチンに戻る。第３の予測サブルーチンでサイズを予測することができなかった場合（Ｓ１２７でＮＯ）、予測部２１１は第４の予測サブルーチン（Ｓ１２８）を実行する。
【０１０８】
図１２は図１１の第１の予測サブルーチンのフローチャートである。予測部２１１は、実行待ちのファイル送信ジョブの有無をチェックする（Ｓ２１０）。実行待ちのファイル送信ジョブが無ければ（Ｓ２１０でＮＯ）、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ２１２）。実行待ちのファイル送信ジョブが有れば（Ｓ２１０でＹＥＳ）、予測部２１１は、実行待ちのファイル送信ジョブが指定するファイル形式の必要サイズを予測サイズとする（Ｓ２１１）。
【０１０９】
なお、ステップＳ２１１では、複数のファイル送信ジョブが実行待ちである場合、それらジョブに係る必要サイズのうちの最も大きいサイズを予測サイズとする。すなわち、必要サイズが大サイズであるジョブが実行待ちのジョブに含まれている場合には、大サイズを予測サイズとする。必要サイズが大サイズである実行待ちのジョブが次に実行が予定されているジョブであるかどうかを問わない。
【０１１０】
図１３は図１１の第２の予測サブルーチンのフローチャートである。予測部２１１は、上述した自動転送設定がなされているかどうかをチェックする（Ｓ２２１）。自動転送設定がなされていなければ（Ｓ２２１でＮＯ）、予測部２１１は予測結果を第１の予測の結果のままの「予測サイズ無し」とする（Ｓ２２４）。
【０１１１】
自動転送設定がなされている場合（Ｓ２２１でＹＥＳ）、予測部２１１はＭＦＰ１が外部装置から転送対象ファイルを受信している最中であるかどうかをチェックする（Ｓ２２２）。
【０１１２】
転送対象ファイルを受信している最中であれば（Ｓ２２２でＹＥＳ）、予測部２１１は当該転送対象ファイルに対して設定されているファイル形式の必要サイズを予測サイズとする（Ｓ２２３）。転送対象ファイルを受信している最中でなければ（Ｓ２２２でＮＯ）、すなわち、自動的にファイル送信ジョブが投入されるかどうかが不明であれば、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ２２４）。
【０１１３】
図１４は図１１の第３の予測サブルーチンのフローチャートである。予測部２１１は、状態検知部２１２によって検知された状態が上述した他のログインユーザーに対して図６（Ａ）の文書選択画面３０の表示されている状態であるかどうかをチェックする（Ｓ２４１）。言い換えると、他のログインユーザーが文書選択画面３０を表示させた状態であるかどうかをチェックする。ＭＦＰ１およびユーザー端末２の少なくともいずれかにおいて他のログインユーザーに対して文書選択画面３０が表示されている場合（Ｓ２４１でＹＥＳ）、フローはステップＳ２４５へ進む。
【０１１４】
他のログインユーザーに対して文書選択画面３０が表示されていなければ（Ｓ２４１でＮＯ）、続いて、予測部２１１は、検知された状態が他のログインユーザーに対して送信用の画面の表示されている状態であるかどうかをチェックする（Ｓ２４２）。送信用の画面とは、図６（Ｂ）の送信設定画面４０および図６（Ｃ）のファイル形式選択画面５０である。送信用の画面が表示されていなければ（Ｓ２４２でＮＯ）、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ２４９）。
【０１１５】
ＭＦＰ１およびユーザー端末２の少なくともいずれかにおいて送信用の画面が表示されている場合（Ｓ２４２でＹＥＳ）、予測部２１１は、現時点で選択されているファイル形式の必要サイズが最大必要サイズであるかどうかをチェックする（Ｓ２４３）。選択されているファイル形式の必要サイズが最大必要サイズであれば（Ｓ２４３でＹＥＳ）、予測部２１１は最大必要サイズを予測サイズとする（Ｓ２４３）。上述のとおり、本実施形態における最大必要サイズは大サイズである。選択されているファイル形式の必要サイズが最大必要サイズでなければ（Ｓ２４３でＮＯ）、フローはステップＳ２４５へ進む。
【０１１６】
ステップ２４５において、予測部２１１は、現時点で表示されている文書選択画面３０または送信用の画面を表示させる操作をした他のログインユーザーの使用実績データを、頻度取得部２１３を介して取得する。取得した使用実績データのうちのファイル送信ジョブの指定頻度に相当する上述の使用頻度Ｆがこれに対応する所定の閾値Ｆｔｈ以上でなければ（Ｓ２４６でＮＯ）、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ２４９）。
【０１１７】
使用頻度Ｆが閾値Ｆｔｈ以上であれば（Ｓ２４６でＹＥＳ）、続いて予測部２１１は、当該他のログインユーザーが過去に投入したファイル送信ジョブで指定されたファイル形式のうちの、選択頻度Ｇがこれに対応する所定の閾値Ｇｔｈ以上であるファイル形式の有無をチェックする（Ｓ２４７）。つまり、他のログインユーザーがいずれかのファイル形式を頻繁に指定したかどうかをチェックする。
【０１１８】
選択頻度Ｇが閾値Ｇｔｈ以上であるファイル形式が無ければ（Ｓ２４７でＮＯ）、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ２４９）。選択頻度Ｇが閾値Ｇｔｈ以上であるファイル形式が有る場合（Ｓ２４７でＹＥＳ）、予測部２１１は過去に最も多く指定されたファイル形式の必要サイズを予測サイズとする（Ｓ２４８）。
【０１１９】
図１５は図１１の第４の予測サブルーチンのフローチャートである。予測部２１１は、印字データ作成処理部１１１が印字データ作成処理を行なっているかどうかをチェックする（Ｓ２５１）。
【０１２０】
印字データ作成処理が行われている場合（Ｓ２５１でＹＥＳ）、予測部２１１は、行なわれている当該印字データ作成処理の推定終了時刻ｔ１を処理時間推定部２１４から取得する（Ｓ２５２）。また、予測部２１１は、現時点でファイル変換処理部１２１が行なおうとしているファイル変換処理の推定終了時刻ｔ２を、処理時間推定部２１４から取得する（Ｓ２５３）。そして、予測部２１１は、推定終了時刻ｔ１と推定終了時刻ｔ２との前後関係を判定する（Ｓ２５４）。
【０１２１】
推定終了時刻ｔ１よりも推定終了時刻ｔ２の方が早い場合（Ｓ２５４でＹＥＳ）、予測部２１１は、最大必要サイズを予測サイズとする（Ｓ２５５）。これには次の理由がある。
【０１２２】
今回行なうファイル変換処理が終了したときにまだ印字データ作成処理が行われている場合、印字データ作成処理が終わる前に、新たにファイル送信ジョブが投入されて新たにファイル変換処理を行なう可能性がある。もしも、今回行なうファイル変換処理のために提供するメモリ領域のサイズよりも次に行なうファイル変換処理に必要なサイズの方が大きい場合には、印字データ作成処理部１１１はファイル変換処理部１２１に対してメモリ領域の提供し直しをしなければならない。今回行なうファイル変換処理のために最大必要サイズのメモリ領域２６２を提供しておけば、提供し直しが不要になる。印字データ作成処理のパフォーマンスを低下させないために、予測サイズが最大必要サイズをとされる。
【０１２３】
ステップＳ２５４のチェック結果がＮＯである場合、すなわち推定終了時刻ｔ１よりも推定終了時刻ｔ２の方が遅い場合、予測部２１１は予測結果を「予測サイズ無し」とする（Ｓ２５８）。
【０１２４】
一方、ステップＳ２５１のチェック結果がＮＯである場合、すなわち印字データ作成処理が行われていない場合、予測部２１１は、現時点でファイル変換処理部１２１が行なおうとしているファイル変換処理の推定所要時間Ｔ２を、処理時間推定部２１４から取得する（Ｓ２５６）。そして、予測部２１１は、推定所要時間Ｔ２が所定の時間Ｔｔｈ（例えば３０秒）よりも長ければ（Ｓ２５７でＹＥＳ）、最大必要サイズを予測サイズとする（Ｓ２５５）。これには次の理由がある。
【０１２５】
印刷ジョブが短い時間間隔で断続的に次々に投入されるというＭＦＰ１の利用状況を想定することができる。ファイル変換処理の処理時間が長いほど、ファイル変換処理が終わる以前に新たにファイル送信ジョブが投入されて実行待ち状態になる確率が大きい。つまり、１つのファイル送信ジョブの実行終了を契機として実行待ち状態のファイル送信ジョブの実行を開始するときに印字データ作成処理の行われている状況が起こり易い。このことから、上述したように印字データ作成処理のパフォーマンスを低下させないために、予測サイズが最大必要サイズをとされる。
【０１２６】
ステップＳ２５７のチェックにおいて推定所要時間が所定の時間より短ければ、予測部２１１は、予測結果を「予測サイズ無し」とする（Ｓ２５８）。
【０１２７】
図１６は、印字データ作成部１１１が行なうワークエリア設定処理のフローチャートである。
【０１２８】
印字データ作成部１１１の領域管理ブロック１１１Ｃは、ファイル変換処理部１２１にメモリ領域２６を提供していない場合（Ｓ３０でＹＥＳ）、ファイル変換処理部１２１からメモリ領域２６の提供が要求されているかどうかをチェックする（Ｓ３１）。提供が要求されていなければ（Ｓ３１でＮＯ）、フローはステップＳ３０へ戻る。
【０１２９】
提供が要求されている場合（Ｓ３１でＹＥＳ）、領域管理ブロック１１１Ｃは、印字データ作成処理中であるかどうかをチェックする（Ｓ３２）。メインブロック１１１Ａによって印字データ作成処理が行なわれているのであれば（Ｓ３２でＹＥＳ）、領域管理ブロック１１１Ｃは、処理の中断をメインブロック１１１Ａに要求し（Ｓ３３）、メインブロック１１１Ａから提供を許可する旨が通知されるのを待つ（Ｓ３４）。この通知は、中断の要求を受けて印字データ作成処理を中断したメインブロック１１１Ａが、必要に応じてメモリ領域２５内のデータをストレージ１９に退避させ、ワークエリアが狭まっても支障がないと判定したときに発せられる。
【０１３０】
提供を許可する旨の通知を受けた領域管理ブロック１１１Ｃは、印字データ作成部１１１の各ブロックが使用するワークエリアをメモリ領域２５全体からファイル変換処理部１２１に提供するメモリ領域２６を除く部分に狭める（Ｓ３５）。このワークエリアの設定はメインブロック１１１Ａに通知される。通知を受けた領域管理ブロック１１１Ｃは、狭まったワークエリアを使用して印字データ作成処理を再開する。ただし、元々印字データ作成処理を行なっておらず、フローがステップＳ３２からステップＳ３５へ進んだ場合には、メインブロック１１１Ａは再開のための処理を行なわない。
【０１３１】
印字データ作成部１１１のためのワークアリアの設定を変更した領域管理ブロック１１１Ｃは、提供の要求において指定されたとおりのサイズのメモリ領域６０をファイル変換処理部１２１に提供する（Ｓ３６）。そして、フローはステップＳ３０へ戻る。
【０１３２】
一方、ステップＳ３０のチェック結果がＮＯであった場合、すなわち現時点で既にファイル変換処理部１２１にメモリ領域２６を提供している場合、領域管理ブロック１１１Ｃは、ファイル変換処理部１２１からの返却通知があったかどうかをチェックする（Ｓ３７）。
【０１３３】
返却通知があった場合（Ｓ３７でＹＥＳ）、印字データ作成処理中でなければ直ちに、印字データ作成処理中であれば処理が終わるのを待って（Ｓ３８）、領域管理ブロック１１１Ｃは、印字データ作成部１１１のためのワークアリアをメモリ領域２５全体に拡げる（Ｓ３９）。
【０１３４】
以下にメモリ領域２５を共用するＭＦＰ１の動作の例を挙げる。
【０１３５】
〔動作例１〕  操作パネル１７を用いてＭＦＰ１を操作しているユーザーＡと、ＭＦＰ１にリモートアクセスしているユーザーＢとがいる。ユーザーＡおよびユーザーＢは共に認証を受けてＭＦＰ１にログインしている。リモートアクセスに使用するユーザー端末２は、アクセス用のアプリケーションプログラムを備えた情報機器であればよく、据え置き型または携帯型のパーソナルコンピューターであってもよいし、スマートフォンやＰＤＡ（Personal Digital Assistant）でもよい。
【０１３６】
ユーザーＡは、原稿シート９０をＡＤＦ１４にセッティングした後、ファイル送信ジョブ（ジョブ１）の実行をＭＦＰ１に指示する。ジョブ１が指定するファイル形式はＰＤＦであり、ＰＤＦの必要サイズは小サイズである。ユーザーＡがジョブ１の実行を指示したとき、ユーザーＢがボックス２０内の文書を送信するために送信設定画面４０を表示させている。このときには既に、必要サイズが大サイズであるコンパクトＰＤＦが指定されているものとする。
【０１３７】
このような状況において、ＭＦＰ１は、ジョブ１に続いて直ぐにユーザーＢによってファイル送信ジョブ（ジョブ２）の実行が指示される可能性があると判断し、ジョブ１のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域２６１ではなく、大サイズのメモリ領域２６２を確保する。そして、確保したメモリ領域２６２を使用してジョブ１を実行する。
【０１３８】
この動作例１において、ジョブ１の実行中にジョブ２が投入されたとしても、先行するジョブ１の実行時に大サイズのメモリ領域２６２を確保しているので、ジョブ２を実行するためにワークエリアを提供し直す必要がない。既に確保されている大サイズのメモリ領域２６２を使用してコンパクトＰＤＦの送信ファイルを作成することができる。
【０１３９】
〔動作例２〕  ＭＦＰ１にリモートアクセスしているユーザーＣと、操作パネル１７を用いてＭＦＰ１を操作しているユーザーＤとがいる。ユーザーＣおよびユーザーＤは共にＭＦＰ１に認証されたログインユーザーである。
【０１４０】
ユーザーＣは、ボックス２０内の文書を送信するファイル送信ジョブ（ジョブ３）の実行を指示する。ジョブ１が指定するファイル形式はＰＤＦである。ユーザーＡがジョブ３の実行を指示したとき、ユーザーＤが送信用の画面以外の操作画面を表示させているものとする。
【０１４１】
ＭＦＰ１は、ユーザーＤによるＭＦＰ１の使用実績を示す使用実績データから、ファイル送信ジョブの使用頻度Ｆと、必要サイズが大サイズであるファイル形式の選択頻度Ｇとを抽出する。そして、ユーザーＤについて、使用頻度Ｆが例えば８０％であって、選択頻度Ｇが例えば９０％であることを取得する。
【０１４２】
ＭＦＰ１では、あらかじめ指定頻度の閾値として７０％が設定され、選択頻度の閾値として７０％が設定されている。ＭＦＰ１は、ジョブ３に続いて直ぐにユーザーＤによって大サイズのワークエリアを必要とするファイル送信ジョブ（ジョブ４）の実行が指示される可能性があると判断する。この判断に基づいて、ＭＦＰ１は、ジョブ３のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域２６１ではなく、大サイズのメモリ領域２６２を確保する。そして、確保した大サイズのメモリ領域２６２を使用してジョブ３を実行する。
【０１４３】
動作例２においても動作例１と同様に、ジョブ３の実行中にジョブ４が投入されたとしても、先行するジョブ３の実行時に大サイズのメモリ領域２６２を確保しているので、ジョブ４を実行するためにワークエリアを確保し直す必要がない。
【０１４４】
〔動作例３〕  ＭＦＰ１にリモートアクセスしているユーザーＥがいる。ユーザーＥはボックス２０内の文書を送信するファイル送信ジョブ（ジョブ５）の実行を指示する。ジョブ５が指定するファイル形式はＰＤＦである。
【０１４５】
ＭＦＰ１は、ジョブ５の実行が指示されたとき、自動転送機能が有効でかつ自動転送が登録されているかどうかを判定する。ここでは、某送信者からのファクシミリ受信データをサーバー機６へ転送する自動転送が登録されており、ファイル形式としてコンパクトＰＤＦが設定されているものとする。
【０１４６】
ＭＦＰ１は、ファクシミリ受信が進行中であるかどうかを判定し、進行中であればそのファクシミリ受信が登録済の自動転送に該当するかどうかを判定する。登録済の自動転送に該当するファクシミリ受信が進行中である場合、ＭＦＰ１は、ジョブ５のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域２６１ではなく、大サイズのメモリ領域２６２を確保する。ファクシミリ受信が近々終了してコンパクトＰＤＦのデータを作成することになると予想されるからである。ＭＦＰ１は確保した大サイズのメモリ領域２６２を使用してジョブ５を実行する。
【０１４７】
ジョブ５の実行中にファクシミリ受信が終了し、自動転送機能によって大サイズのワークエリアを必要とするファイル送信ジョブ（ジョブ６）の実行が指示されたとしても、先行するジョブ５の実行時に大サイズのメモリ領域２６２を確保しているので、ジョブ６を実行するためにワークエリアを確保し直す必要がない。
【０１４８】
なお、登録されている自動転送の受信種別が電話回線によるファクシミリ以外であっても同様の動作が行われる。自動転送の登録状況に応じて、ＬＡＮ５を介するデータ受信、ボックス保存の場合のボックスへのデータ入力、または電子メールの受信が進行中かどうかが判定される。
【０１４９】
〔動作例４〕  ＭＦＰ１にリモートアクセスしているユーザーＦがいる。ユーザーＦはボックス２０内の文書を送信するインターネットファクシミリ送信ジョブ（ジョブ６）の実行を指示する。続いて、ユーザーＦはボックス２０内の文書を送信するファイル送信ジョブ（ジョブ７）の実行を指示する。ジョブ７が指定するファイル形式はＰＤＦである。ジョブ７が投入されたときに既に実行されているジョブ６がファイル変換処理部１２１を使用しているので、同じくファイル変換処理部１２１を使用するジョブ７は実行待ちとなる。
【０１５０】
さらに、ユーザーＦはボックス２０内の文書を送信する送信するファイル送信ジョブ（ジョブ８）の実行を指示する。ジョブ８が指定するファイル形式はコンパクトＰＤＦである。投入されたジョブ８は、ジョブ６が実行中であるためにジョブ７と同様に実行待ちとなる。
【０１５１】
ジョブ６の実行が終了するとジョブ７の実行が開始される。このとき、ＭＦＰ１は、ジョブ７のファイル変換処理に使用するワークエリアを確保する。その際、ＭＦＰ１は実行待ちのファイル送信ジョブの有無を調べる。ジョブ７の次に実行が予定されている実行待ちのジョブ８の有ることが判ると、ＭＦＰ１はジョブ８のファイル変換処理の必要サイズを調べる。ジョブ８の必要サイズが大サイズであると判定したＭＦＰ１は、ジョブ７のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域２６１ではなく、大サイズのメモリ領域２６２を確保する。そして、確保した大サイズのメモリ領域２６２を使用してジョブ７を実行する。
【０１５２】
動作例４において、ジョブ７の実行終了を契機としてジョブ８の実行を開始するとき、既に先行するジョブ７の実行時に大サイズのメモリ領域２６２を確保しているので、ジョブ８を実行するためにワークエリアを確保し直す必要がない。
【０１５３】
〔動作例５〕  操作パネル１７を用いてＭＦＰ１を操作しているユーザーＧと、ＭＦＰ１にリモートアクセスしているユーザーＨとがいる。ユーザーＧおよびユーザーＨは共にＭＦＰ１に認証されたログインユーザーである。
【０１５４】
ユーザーＧは、原稿シート９０をＡＤＦ１４にセッティングした後、ファイル送信ジョブ（ジョブ９）の実行をＭＦＰ１に指示する。ジョブ９が指定するファイル形式はＰＤＦである。ユーザーＧによってジョブ９が投入されたとき、既にユーザーＨによってプリントジョブ（ジョブ１０）が投入されている。
【０１５５】
ユーザーＧによってジョブ９が投入されたとき、ジョブ１０のための印字データ作成処理が行われている。ＭＦＰ１は、ジョブ９のファイル変換処理のために確保するワークエリアのサイズを決める。そのためにＭＦＰ１は、ジョブ１０のページ数、ファイルサイズといった処理条件に基づいて、印字データ作成処理の所要時間を推定する。ここで、ページ数が３ページであり、ファイルサイズが１００ＫＢであって、所要時間が１０秒であったとする。この推定された所要時間は、あらかじめ定められた閾値（例えば３０秒）よりも短い。ジョブ１０の実行開始時刻が既知であるので、所要時間を推定することによって印字データ作成処理の推定終了時刻が求まる。
【０１５６】
また、ＭＦＰ１は、ジョブ９のページ数、カラーモ一ド、解像度、画像サイズといった処理条件に基づいて、ジョブ９のファイル変換処理の所要時間を推定する。ここで、ページ数が２０ページであり、フルカラーモードであり、高解像度であり、Ａ３サイズであることから、所要時間が１２０秒であると推定したとする。この推定された所要時間は、あらかじめ閾値として定められた時間（例えば３０秒）よりも長い。現在時刻をシステム時計から取得することができるので、所要時間を推定することによってファイル変換処理の推定終了時刻が求まる。
【０１５７】
ＭＦＰ１は、ジョブ９のファイル変換処理の推定終了時刻の方がジョブ１０の印字データ作成処理の推定終了時刻よりも遅いので、ジョブ９のファイル変換処理のワークエリアとして、実際の必要サイズである小サイズのメモリ領域２６１を確保する。そして、確保したメモリ領域２６１を使用してジョブ９を実行する。
【０１５８】
動作例５において小サイズのメモリ領域２６１を確保するのは、ジョブ９の実行が終了したときには印字データ作成処理が行われていないのであれば、ジョブ９に続けて次のファイル送信ジョブを実行することになったとしても、その時点で直ちに必要分のワークエリアを確保することができるからである。
【０１５９】
以上の実施形態では、ファイル変換処理部１２１（第２処理手段）が要求したときのみメモリ領域２５の一部を提供するので、ファイル変換処理部１２１がメモリ領域２５を使用しないときには、印字データ作成処理部１１１（第１処理手段）がメモリ領域２５の全体を使用して印字データ作成処理を進めることができる。加えて、メモリ領域２５のうちの要求されたサイズの部分を提供するので、要求されたサイズが小サイズであるときには、メモリ領域２５内の残りの大きな部分を使用して効率的に印字データ作成処理進めることができる。
【０１６０】
上述の実施形態において、ファイル変換処理に関わるワークエリアの必要サイズを例えば小・中・大の３つに区分することができる。現時点での必要サイズが小サイズであっても、次に必要になると予測される予測サイズが中サイズであれば、中サイズのワークエリアを確保し、予測サイズが大サイズであれば、大サイズのワークエリアを確保する。現時点での必要サイズが中サイズであっても、予測サイズが大サイズであれば、大サイズのワークエリアを確保する。現時点での必要サイズと予測サイズとが同じであるか、または現時点での必要サイズの方が予測サイズよりも大きい場合には、現時点での必要サイズのワークエリアを確保すればよい。
【０１６１】
なお、ファイル変換処理部１２１が印字データ作成処理部１１１に対して提供を要求するメモリ領域のサイズは、現時点での必要サイズと予測サイズとのうちの最も大きいサイズと必ずしも同じサイズでなくてもよく、少なくとも当該最も大きいサイズを有するサイズ、すなわち当該最も大きいサイズと同じかまたは当該最も大きいサイズよりも大きいサイズであればよい。
【０１６２】
上述の実施形態において、実行待ちのファイル送信ジョブがあることから大サイズのメモリ領域２６２が確保され続けている場合に、状況に応じていったんメモリ領域２６２を返却し、これによって印刷時に使用可能なメモリ領域を拡げるようにすることができる。例えば、必要サイズが小サイズであるファイル送信ジョブばかりが投入された所定数値以上の実行待ちが生じている場合に、いったんメモリ領域２６２を返却する。実行待ちのジョブの推定所要時間の合計や印刷を伴うジョブの有無を考慮して返却の要否を決めてもよい。
【０１６３】
次の必要サイズの予測ルーチンにおける第１の予測、第２の予測、第３の予測および第４の予測の４つの予測の実行順序は、図１１の例示の順序に限らず、適宜変更することができる。いずれの順序であっても、２番目以降の予測において最初に先の予測の成否をチェックし、予測結果が得られている場合にはその後の予測を省略すればよい。必ずしも４つの予測を全てフローに組み入れる必要はなく、４つの処理のうちの１つ、２つ、または３つをフローに組み入れてもよい。複数の処理を組み入れる場合の処理の組み合わせは任意である。
【０１６４】
ストレージ１９内の複数のボックスの１つから他の１つへ文書を転送するときにファイル形式を変換する場合、およびボックス内の文書をファイル形式を変換して同じボックスに保存する場合にも本発明のメモリ共有方法を適用することができる。
【０１６５】
上述の実施形態においては、ファイル変換モジュール１２０をファイル変換処理部１２１を実現させるプログラムとして説明したが、ファイル変換モジュール１２０は、ファイル変換処理部１２１に加えて、予測部２１１、状態検知部２１２、頻度取得部２１３および処理時間推定部２１４を実現するように構成されてもよい。
【０１６６】
ファイル変換処理部１２１が行なう第２処理であるファイル変換処理は、変換後のファイル形式で区別される複数のファイル変換処理のうちのいずれかであればよく、ユーザーが指定したファイル変換処理に限らない。例えば管理者が指定した自動転送設定に従って処理対象の受信種別や転送先に応じて自動的に決まるファイル変換処理であってもよい。
【符号の説明】
【０１６７】
１    ＭＦＰ（情報機器）
２    ユーザー端末（外部装置）
１２    ＲＡＭ（メモリ）
２５    メモリ領域
２６１    メモリ領域（第１サイズのメモリ領域）
２６２    メモリ領域（第２サイズのメモリ領域）
１１１    印字データ作成処理部（第１処理手段）
１２１    ファイル変換処理部（第２処理手段）
２１１    予測部（予測手段）
５    ＬＡＮ（ネットワーク）
１７    操作パネル
１８    通信インタフェース
２１２    状態検知部（状態検知手段）
２１３    頻度取得部（取得手段）
２１４    処理時間推定部（推定手段）
１００    ソフトウェア（コンピュータープログラム）
【図１】
0005928498.tif 000002
【図２】
0005928498.tif 000003
【図３】
0005928498.tif 000004
【図４】
0005928498.tif 000005
【図５】
0005928498.tif 000006
【図６】
0005928498.tif 000007
【図７】
0005928498.tif 000008
【図８】
0005928498.tif 000009
【図９】
0005928498.tif 000010
【図１０】
0005928498.tif 000011
【図１１】
0005928498.tif 000012
【図１２】
0005928498.tif 000013
【図１３】
0005928498.tif 000014
【図１４】
0005928498.tif 000015
【図１５】
0005928498.tif 000016
【図１６】
0005928498.tif 000017