(57)【特許請求の範囲】
【請求項１】
外部装置との間でネットワーク通信を行うことが可能な画像形成装置であって、
前記画像形成装置の内部と外部との間でのデータ通信を中継するバッファ処理部と、
前記画像形成装置内のソフトウエアモジュールから前記バッファ処理部を介して前記外部装置へデータを送信する動作を制御する制御手段と、
を備え、
前記制御手段は、前記バッファ処理部のバッファメモリに関する使用状況を示すメモリ情報と前記ソフトウエアモジュールによるジョブである第１の種類のジョブ以外のジョブである第２の種類のジョブの予約状況を示す情報であるジョブ状況情報とを取得するとともに、前記メモリ情報と前記ジョブ状況情報とに基づいて、前記第１の種類のジョブの実行に関して前記ソフトウエアモジュールから前記バッファ処理部へのデータ送信における送信単位データのデータ量である単位量を決定することを特徴とする画像形成装置。
【請求項２】
請求項１に記載の画像形成装置において、
前記制御手段は、
前記第２の種類のジョブの数が少ない程、前記単位量を大きな値に決定する、
ことを特徴とする画像形成装置。
【請求項３】
請求項２に記載の画像形成装置において、
前記制御手段は、
前記バッファメモリにおける未使用メモリ容量が大きい程、前記単位量を大きな値に決定する、
ことを特徴とする画像形成装置。
【請求項４】
請求項１に記載の画像形成装置において、
前記制御手段は、
前記第２の種類のジョブを第１優先順位のジョブと第２優先順位のジョブとに分類し、
前記第１優先順位のジョブの数と前記第２優先順位のジョブの数とを各ジョブの優先順位に応じた重み付け係数で重み付けして加算したジョブ指数を算出し、
前記ジョブ指数と前記メモリ情報とに基づいて前記単位量を決定する、
ことを特徴とする画像形成装置。
【請求項５】
請求項４に記載の画像形成装置において、
前記第１優先順位のジョブに関する重み付け係数である第１の重み付け係数は、前記第２優先順位のジョブに関する重み付け係数である第２の重み付け係数よりも大きく、
前記制御手段は、
前記ジョブ指数が小さい程、前記単位量を大きな値に決定する、
ことを特徴とする画像形成装置。
【請求項６】
請求項５に記載の画像形成装置において、
前記制御手段は、
前記ジョブ指数が第１の値よりも小さい場合には、前記ジョブ指数が前記第１の値よりも大きい場合に比べて、前記単位量を比較的大きな値に決定する、
ことを特徴とする画像形成装置。
【請求項７】
請求項６に記載の画像形成装置において、
前記制御手段は、
前記ジョブ指数が前記第１の値よりも大きな第２の値よりも更に大きい場合には、前記ジョブ指数が前記第２の値よりも小さい場合に比べて、前記単位量を比較的小さな値に決定する、
ことを特徴とする画像形成装置。
【請求項８】
請求項４に記載の画像形成装置において、
前記制御手段は、前記バッファメモリにおける未使用メモリ容量と前記ジョブ指数とに基づいて前記単位量を決定することを特徴とする画像形成装置。
【請求項９】
請求項４に記載の画像形成装置において、
前記制御手段は、前記バッファメモリにおける未使用メモリ容量と前記ジョブ指数と前記単位量との関係を規定したデータテーブルに基づいて、前記単位量を決定することを特徴とする画像形成装置。
【請求項１０】
請求項４に記載の画像形成装置において、
前記制御手段は、前記バッファメモリにおける未使用メモリ容量と前記ジョブ指数と前記単位量との関係を規定した計算式に基づいて、前記単位量を決定することを特徴とする画像形成装置。
【請求項１１】
請求項４に記載の画像形成装置において、
前記メモリ情報は、前記バッファメモリにおける未使用メモリ容量の変化傾向を示す情報を含み、
前記ジョブ状況情報は、前記第２の種類のジョブに関する前記ジョブ指数の変化傾向を示す情報を含み、
前記制御手段は、前記未使用メモリ容量の変化傾向と前記ジョブ指数の変化傾向とに基づいて、前記単位量を決定することを特徴とする画像形成装置。
【請求項１２】
請求項１に記載の画像形成装置において、
前記制御手段は、前記第２の種類のジョブの予約状況に基づいて、前記第２の種類のジョブに割り当てるメモリ容量を決定するとともに、前記第１の種類のジョブに割り当てるメモリ容量を決定し、
前記第１の種類のジョブに割り当てるメモリ容量のうちの未使用のメモリ容量の割合に基づいて、前記単位量を決定することを特徴とする画像形成装置。
【請求項１３】
請求項１２に記載の画像形成装置において、
前記制御手段は、前記第２の種類のジョブのうち同時実行不可能な少なくとも１つのジョブを除外して、前記第２の種類のジョブに割り当てるメモリ容量と前記第１の種類のジョブに割り当てるメモリ容量とを決定することを特徴とする画像形成装置。
【請求項１４】
請求項１２に記載の画像形成装置において、
前記制御手段は、前記第２の種類のジョブのうち所定サイズ以上のジョブを除外して、前記第２の種類のジョブに割り当てるメモリ容量と前記第１の種類のジョブに割り当てるメモリ容量とを決定することを特徴とする画像形成装置。
【請求項１５】
請求項１ないし請求項１４のいずれかに記載の画像形成装置において、
前記制御手段は、
前記第１の種類のジョブとして複数のジョブが受け付けられるときには、前記メモリ情報と前記ジョブ状況情報とに基づいて前記単位量の基本値を決定し、前記基本値に基づき前記複数の第１の種類のジョブのそれぞれの前記単位量を決定することを特徴とする画像形成装置。
【請求項１６】
請求項１５に記載の画像形成装置において、
前記制御手段は、
前記第１の種類のジョブを第１順位のランクと第２順位のランクとを含む複数のランクに分類し、
前記複数のジョブとして同じランクのジョブのみが受け付けられるときには、前記複数の第１の種類のジョブのそれぞれの前記単位量をいずれも同じ値に決定することを特徴とする画像形成装置。
【請求項１７】
請求項１６に記載の画像形成装置において、
前記制御手段は、前記複数のジョブとして互いに異なるランクのジョブが受け付けられるときには、前記第１順位のランクの前記第１の種類のジョブを前記第２順位のランクの前記第１の種類のジョブに比べて優先的に処理することを特徴とする画像形成装置。
【請求項１８】
請求項１７に記載の画像形成装置において、
前記制御手段は、前記第１順位のランクの前記第１の種類のジョブの数に応じた所定の閾値よりも前記基本値が大きい場合には、前記第１順位のランクの前記第１の種類のジョブと前記第２順位のランクの前記第１の種類のジョブとを並列的に処理し、
前記所定の閾値は、前記第１順位のランクの前記第１の種類のジョブごとの個別の閾値に前記第１順位のランクの前記第１の種類のジョブの数を乗じた値であり、
前記第１順位のランクの前記第１の種類のジョブに関する個別の前記単位量は前記個別の閾値以上の値に設定され、
前記第２順位のランクの前記第１の種類のジョブに関する個別の前記単位量は、前記第１順位のランクの前記第１の種類のジョブに関する個別の前記単位量よりも小さな値に設定されることを特徴とする画像形成装置。
【請求項１９】
請求項１７に記載の画像形成装置において、
前記制御手段は、前記第１順位のランクの前記第１の種類のジョブの数に応じた所定の閾値よりも前記基本値が小さい場合には、前記第１順位のランクの前記第１の種類のジョブと前記第２順位のランクの前記第１の種類のジョブとをこの順序で逐次的に処理することを特徴とする画像形成装置。
【請求項２０】
請求項１９に記載の画像形成装置において、
前記制御手段は、同一順位のランクの複数の前記第１の種類のジョブを並列的に処理し、
同一順位のランクの前記複数の前記第１の種類のジョブに関する個別の前記単位量は、互いに同じ値に設定されることを特徴とする画像形成装置。
【請求項２１】
請求項１ないし請求項２０のいずれかに記載の画像形成装置において、
前記ソフトウエアモジュールは、前記外部装置にインストールされた外部装置用アプリケーションとの間でデータを授受するアプリケーションであることを特徴とする画像形成装置。
【請求項２２】
外部装置との間でネットワーク通信を行うことが可能な画像形成装置に内蔵されたコンピュータに、
ａ）前記画像形成装置の内部と外部との間でのデータ通信を中継するバッファ処理部のバッファメモリに関する使用状況を示すメモリ情報を取得するステップと、
ｂ）前記画像形成装置内のソフトウエアモジュールによるジョブである第１の種類のジョブ以外のジョブである第２の種類のジョブの予約状況を示す情報であるジョブ状況情報を取得するステップと、
ｃ）前記ソフトウエアモジュールから前記バッファ処理部を介して前記外部装置へデータを送信する動作を制御するステップと、
を実行させるためのプログラムであって、
前記ステップｃ）は、
前記メモリ情報と前記ジョブ状況情報とに基づいて、前記第１の種類のジョブの実行に関して前記ソフトウエアモジュールから前記バッファ処理部へのデータ送信における送信単位データのデータ量である単位量を決定するステップ、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチ・ファンクション・ペリフェラル（ＭＦＰ：Multi-Functional Peripheral））などの画像形成装置およびそれに関連する技術に関する。
【背景技術】
【０００２】
ＭＦＰなどの画像形成装置は、ネットワークインターフェイスカード（ＮＩＣ：Network Interface Card）などのネットワーク通信制御部を備えて構成されており、外部装置との間でネットワーク通信を行うことが可能である。
【０００３】
ＮＩＣは、外部装置とのネットワーク通信において一時的にデータを格納するバッファメモリを有している。当該バッファメモリにデータを格納することによって、外部装置の処理速度と当該画像形成装置の処理速度との相違が調整される。
【０００４】
また、ＭＦＰと外部装置とネットワーク通信においては、ＯｐｅｎＡＰＩなどのソフトウエアモジュールを用いて、外部装置との通信を行う技術が存在する。ＭＦＰのコントローラ上で動作するプログラム（当該ソフトウエアモジュールを含む）は、ＮＩＣを介して外部装置と通信を行う。
【０００５】
なお、ＭＦＰに関する通信技術ではないが、ネットワーク越しに接続される２つの装置の相互間における通信を行う技術として、特許文献１に係る技術が存在する。特許文献１においては、送信先の記憶装置の速度に応じて転送速度を調整する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１２―５２００１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上記のようなソフトウエアモジュールを用いてデータを送信する際には、従来、画像形成装置のコントローラは、送信対象データを固定長（たとえば２ＫＢ（キロバイト））の単位データ（分割データ）に分割する。送信対象データを分割した各分割データがＮＩＣに対して随時送信されて上記のバッファメモリに蓄積されていき、一定程度のデータ量が当該バッファメモリに貯まった段階で、当該一定程度のデータ量のデータがＮＩＣから外部装置へと送信される。
【０００８】
このような技術においては、単位データのサイズ（単位量）が固定されているとともに、当該単位データのサイズ（固定長）は比較的小さな値（たとえば、２ＫＢ（キロバイト））に設定される。
【０００９】
ここにおいて、当該単位データのサイズ（長さ）が大きいほど、データ通信における通信効率が高くなり通信速度が大きくなる。ただし、当該単位データのデータ長が大き過ぎると、バッファメモリに蓄積されるデータが当該バッファメモリからオーバーフローする可能性もある。このような事情に基づき、当該固定長は比較的小さな値に設定される。
【００１０】
しかしながら、単位データのサイズ（固定長）が比較的小さな値（たとえば、２ＫＢ（キロバイト））に固定されると、必ずしも十分な通信速度が得られない。
【００１１】
そこで、この発明は、画像形成装置内のバッファメモリを介した通信をより効率的に行うことが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決すべく、請求項１の発明は、外部装置との間でネットワーク通信を行うことが可能な画像形成装置であって、前記画像形成装置の内部と外部との間でのデータ通信を中継するバッファ処理部と、前記画像形成装置内のソフトウエアモジュールから前記バッファ処理部を介して前記外部装置へデータを送信する動作を制御する制御手段と、を備え、前記制御手段は、前記バッファ処理部のバッファメモリに関する使用状況を示すメモリ情報と前記ソフトウエアモジュールによるジョブである第１の種類のジョブ以外のジョブである第２の種類のジョブの予約状況を示す情報であるジョブ状況情報とを取得するとともに、前記メモリ情報と前記ジョブ状況情報とに基づいて、前記第１の種類のジョブの実行に関して前記ソフトウエアモジュールから前記バッファ処理部へのデータ送信における送信単位データのデータ量である単位量を決定することを特徴とする。
【００１３】
請求項２の発明は、請求項１の発明に係る画像形成装置において、前記制御手段は、前記第２の種類のジョブの数が少ない程、前記単位量を大きな値に決定する、ことを特徴とする。
【００１４】
請求項３の発明は、請求項２の発明に係る画像形成装置において、前記制御手段は、前記バッファメモリにおける未使用メモリ容量が大きい程、前記単位量を大きな値に決定する、ことを特徴とする。
【００１５】
請求項４の発明は、請求項１の発明に係る画像形成装置において、前記制御手段は、前記第２の種類のジョブを第１優先順位のジョブと第２優先順位のジョブとに分類し、前記第１優先順位のジョブの数と前記第２優先順位のジョブの数とを各ジョブの優先順位に応じた重み付け係数で重み付けして加算したジョブ指数を算出し、前記ジョブ指数と前記メモリ情報とに基づいて前記単位量を決定する、ことを特徴とする。
【００１６】
請求項５の発明は、請求項４の発明に係る画像形成装置において、前記第１優先順位のジョブに関する重み付け係数である第１の重み付け係数は、前記第２優先順位のジョブに関する重み付け係数である第２の重み付け係数よりも大きく、前記制御手段は、前記ジョブ指数が小さい程、前記単位量を大きな値に決定する、ことを特徴とする。
【００１７】
請求項６の発明は、請求項５の発明に係る画像形成装置において、前記制御手段は、前記ジョブ指数が第１の値よりも小さい場合には、前記ジョブ指数が前記第１の値よりも大きい場合に比べて、前記単位量を比較的大きな値に決定する、ことを特徴とする。
【００１８】
請求項７の発明は、請求項６の発明に係る画像形成装置において、前記制御手段は、前記ジョブ指数が前記第１の値よりも大きな第２の値よりも更に大きい場合には、前記ジョブ指数が前記第２の値よりも小さい場合に比べて、前記単位量を比較的小さな値に決定する、ことを特徴とする。
【００１９】
請求項８の発明は、請求項４の発明に係る画像形成装置において、前記制御手段は、前記バッファメモリにおける未使用メモリ容量と前記ジョブ指数とに基づいて前記単位量を決定することを特徴とする。
【００２０】
請求項９の発明は、請求項４の発明に係る画像形成装置において、前記制御手段は、前記バッファメモリにおける未使用メモリ容量と前記ジョブ指数と前記単位量との関係を規定したデータテーブルに基づいて、前記単位量を決定することを特徴とする。
【００２１】
請求項１０の発明は、請求項４の発明に係る画像形成装置において、前記制御手段は、前記バッファメモリにおける未使用メモリ容量と前記ジョブ指数と前記単位量との関係を規定した計算式に基づいて、前記単位量を決定することを特徴とする。
【００２２】
請求項１１の発明は、請求項４の発明に係る画像形成装置において、前記メモリ情報は、前記バッファメモリにおける未使用メモリ容量の変化傾向を示す情報を含み、前記ジョブ状況情報は、前記第２の種類のジョブに関する前記ジョブ指数の変化傾向を示す情報を含み、前記制御手段は、前記未使用メモリ容量の変化傾向と前記ジョブ指数の変化傾向とに基づいて、前記単位量を決定することを特徴とする。
【００２３】
請求項１２の発明は、請求項１の発明に係る画像形成装置において、前記制御手段は、前記第２の種類のジョブの予約状況に基づいて、前記第２の種類のジョブに割り当てるメモリ容量を決定するとともに、前記第１の種類のジョブに割り当てるメモリ容量を決定し、前記第１の種類のジョブに割り当てるメモリ容量のうちの未使用のメモリ容量の割合に基づいて、前記単位量を決定することを特徴とする。
【００２４】
請求項１３の発明は、請求項１２の発明に係る画像形成装置において、前記制御手段は、前記第２の種類のジョブのうち同時実行不可能な少なくとも１つのジョブを除外して、前記第２の種類のジョブに割り当てるメモリ容量と前記第１の種類のジョブに割り当てるメモリ容量とを決定することを特徴とする。
【００２５】
請求項１４の発明は、請求項１２の発明に係る画像形成装置において、前記制御手段は、前記第２の種類のジョブのうち所定サイズ以上のジョブを除外して、前記第２の種類のジョブに割り当てるメモリ容量と前記第１の種類のジョブに割り当てるメモリ容量とを決定することを特徴とする。
【００２６】
請求項１５の発明は、請求項１ないし請求項１４のいずれかの発明に係る画像形成装置において、前記制御手段は、前記第１の種類のジョブとして複数のジョブが受け付けられるときには、前記メモリ情報と前記ジョブ状況情報とに基づいて前記単位量の基本値を決定し、前記基本値に基づき前記複数の第１の種類のジョブのそれぞれの前記単位量を決定することを特徴とする。
【００２７】
請求項１６の発明は、請求項１５の発明に係る画像形成装置において、前記制御手段は、前記第１の種類のジョブを第１順位のランクと第２順位のランクとを含む複数のランクに分類し、前記複数のジョブとして同じランクのジョブのみが受け付けられるときには、前記複数の第１の種類のジョブのそれぞれの前記単位量をいずれも同じ値に決定することを特徴とする。
【００２８】
請求項１７の発明は、請求項１６の発明に係る画像形成装置において、前記制御手段は、前記複数のジョブとして互いに異なるランクのジョブが受け付けられるときには、前記第１順位のランクの前記第１の種類のジョブを前記第２順位のランクの前記第１の種類のジョブに比べて優先的に処理することを特徴とする。
【００２９】
請求項１８の発明は、請求項１７の発明に係る画像形成装置において、前記制御手段は、前記第１順位のランクの前記第１の種類のジョブの数に応じた所定の閾値よりも前記基本値が大きい場合には、前記第１順位のランクの前記第１の種類のジョブと前記第２順位のランクの前記第１の種類のジョブとを並列的に処理し、前記所定の閾値は、前記第１順位のランクの前記第１の種類のジョブごとの個別の閾値に前記第１順位のランクの前記第１の種類のジョブの数を乗じた値であり、前記第１順位のランクの前記第１の種類のジョブに関する個別の前記単位量は前記個別の閾値以上の値に設定され、前記第２順位のランクの前記第１の種類のジョブに関する個別の前記単位量は、前記第１順位のランクの前記第１の種類のジョブに関する個別の前記単位量よりも小さな値に設定されることを特徴とする。
【００３０】
請求項１９の発明は、請求項１７の発明に係る画像形成装置において、前記制御手段は、前記第１順位のランクの前記第１の種類のジョブの数に応じた所定の閾値よりも前記基本値が小さい場合には、前記第１順位のランクの前記第１の種類のジョブと前記第２順位のランクの前記第１の種類のジョブとをこの順序で逐次的に処理することを特徴とする。
【００３１】
請求項２０の発明は、請求項１９の発明に係る画像形成装置において、前記制御手段は、同一順位のランクの複数の前記第１の種類のジョブを並列的に処理し、同一順位のランクの前記複数の前記第１の種類のジョブに関する個別の前記単位量は、互いに同じ値に設定されることを特徴とする。
【００３２】
請求項２１の発明は、請求項１ないし請求項２０のいずれかの発明に係る画像形成装置において、前記ソフトウエアモジュールは、前記外部装置にインストールされた外部装置用アプリケーションとの間でデータを授受するアプリケーションであることを特徴とする。
【００３３】
請求項２２の発明は、外部装置との間でネットワーク通信を行うことが可能な画像形成装置に内蔵されたコンピュータに、ａ）前記画像形成装置の内部と外部との間でのデータ通信を中継するバッファ処理部のバッファメモリに関する使用状況を示すメモリ情報を取得するステップと、ｂ）前記画像形成装置内のソフトウエアモジュールによるジョブである第１の種類のジョブ以外のジョブである第２の種類のジョブの予約状況を示す情報であるジョブ状況情報を取得するステップと、ｃ）前記ソフトウエアモジュールから前記バッファ処理部を介して前記外部装置へデータを送信する動作を制御するステップと、を実行させるためのプログラムであって、前記ステップｃ）は、前記メモリ情報と前記ジョブ状況情報とに基づいて、前記第１の種類のジョブの実行に関して前記ソフトウエアモジュールから前記バッファ処理部へのデータ送信における送信単位データのデータ量である単位量を決定するステップ、を有することを特徴とする。
【発明の効果】
【００３４】
請求項１ないし請求項２２に記載の発明によれば、画像形成装置内のバッファメモリを介した通信をより効率的に行うことが可能である。
【図面の簡単な説明】
【００３５】
【図１】第１実施形態に係る画像形成システム１を示す図である。
【図２】ＭＦＰの概略構成を示す機能ブロック図である。
【図３】バッファメモリを介したデータの流れの概略を示す図である。
【図４】ＭＦＰにおける動作を示すフローチャートである。
【図５】バッファメモリにおける使用中メモリおよび空きメモリを示す図である。
【図６】パターンテーブルを示す図である。
【図７】パターンテーブルを示す図である。
【図８】関数ζを示す図である。
【図９】関数ζを示す図である。
【図１０】パターンテーブルを示す図である。
【図１１】第２実施形態に係るパターンテーブルを示す図である。
【図１２】第３実施形態における各ジョブに対するメモリ割当量等を示す図である。
【図１３】第３実施形態における各ジョブに対するメモリ割当量等を示す図である。
【図１４】第１の種類のジョブＪＡに関する未使用メモリを示す図である。
【図１５】第１の種類のジョブＪＡに関する未使用メモリを示す図である。
【図１６】第３実施形態に係るパターンテーブルを示す図である。
【図１７】第４実施形態における各ジョブに対するメモリ割当量等を示す図である。
【図１８】第５実施形態における各ジョブに対するメモリ割当量等を示す図である。
【図１９】第６実施形態に係る動作（一部）を示すフローチャートである。
【図２０】個別の単位量の決定例を示す図である。
【図２１】個別の単位量の決定例を示す図である。
【図２２】個別の単位量の決定例を示す図である。
【図２３】個別の単位量の決定例を示す図である。
【図２４】個別の単位量の決定例を示す図である。
【発明を実施するための形態】
【００３６】
以下、本発明の実施形態を図面に基づいて説明する。
【００３７】
＜１．第１実施形態＞
＜１−１．構成概要＞
図１は、第１実施形態に係る画像形成システム１を示す図である。図１に示すように、この画像形成システム１は、画像形成装置１０とコンピュータ（外部装置）７０，９０とを備える。コンピュータ９０（９０ａ〜９０ｄ等）としては、所謂パーソナルコンピュータ等が例示される。また、コンピュータ７０は、サーバコンピュータ（単にサーバとも称する）（アプリケーションサーバコンピュータ等）である。
【００３８】
本システム１における各要素１０，７０，９０は、それぞれ、ネットワーク１０８を介して互いに通信可能に接続される。ネットワーク１０８は、ＬＡＮ（Local Area Network）およびインターネットなどによって構成される。なお、ネットワーク１０８に対する接続態様は、有線接続であってもよく、或いは無線接続であってもよい。
【００３９】
＜１−２．画像形成装置１０の構成＞
この実施形態では、画像形成装置１０として、ＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））を例示する。
【００４０】
図２は、ＭＦＰ１０の概略構成を示す機能ブロック図である。
【００４１】
ＭＦＰ１０は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置（複合機とも称する）である。具体的には、ＭＦＰ１０は、図２の機能ブロック図に示すように、画像読取部２、印刷出力部３、通信部４、格納部５、操作部６およびコントローラ９等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【００４２】
画像読取部２は、ＭＦＰ１０の所定の位置に載置された原稿を光学的に読み取って（すなわちスキャンして）、当該原稿の画像データ（原稿画像なしいスキャン画像とも称する）を生成する処理部である。この画像読取部２は、スキャン部であるとも称される。
【００４３】
印刷出力部３は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部（プリントエンジン（ハードウエア））である。
【００４４】
通信部４は、ファクシミリ装置との間で公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部４は、各種の外部装置（ネットワーク通信装置）との間でネットワーク１０８を介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、ＭＦＰ１０は、所望の相手先との間で各種のデータを授受することが可能である。
【００４５】
通信部４は、ネットワークインターフェイスカード（ＮＩＣ：Network Interface Card）４３などを備えて構成される処理部である。この通信部４は、ネットワーク制御部などとも称される。また、ＮＩＣ４３は、外部装置とのネットワーク通信において一時的にデータを格納するバッファメモリ４５を有している。当該バッファメモリ４５にデータを格納することによって、ＭＦＰ１０の処理速度と外部装置の処理速度との相違が吸収される。なお、ＮＩＣ４３は、バッファメモリ４５を用いてネットワーク通信におけるバッファ処理を実行する処理部であることから、バッファ処理部などとも称される。
【００４６】
格納部５は、ハードディスクドライブ（ＨＤＤ）等の記憶装置で構成される。格納部５には、各種の電子文書（文書データ）等が格納（記憶）されている。
【００４７】
操作部（入出力部）６は、ＭＦＰ１０に対する入力を受け付ける操作入力部６ａと、各種情報の表示出力を行う表示部６ｂとを備えている。このＭＦＰ１０においては、液晶表示パネルに圧電センサ等が埋め込まれて構成されたタッチパネル（タッチスクリーンとも称する）２５（図１参照）を有する操作パネル部６ｃが設けられている。この操作パネル部６ｃは、操作入力部６ａの一部としても機能するとともに、表示部６ｂの一部としても機能する。
【００４８】
コントローラ９は、ＭＦＰ１０に内蔵され、ＭＦＰ１０を統括的に制御する制御装置（制御部）である。コントローラ９は、ＣＰＵおよび各種の半導体メモリ（ＲＡＭおよびＲＯＭ）等を備えるコンピュータシステムとして構成される。コントローラ９は、ＣＰＵにおいて、ＲＯＭ（例えば、ＥＥＰＲＯＭ）内に格納されている所定のソフトウエアプログラム（以下、単にプログラムとも称する）（３０等）を実行することによって、各種の処理部を実現する。なお、当該プログラムは、ＵＳＢメモリなどの可搬性の記録媒体に記録され、当該記録媒体を介してＭＦＰ１０にインストールされるようにしてもよい。あるいは当該プログラムは、ネットワーク１０８等を介してダウンロードされてＭＦＰ１０にインストールされるようにしてもよい。
【００４９】
図２に示すように、コントローラ９は、プログラム（３０等）を実行することによって、通信制御部１１と入力制御部１２と表示制御部１３と印刷制御部１４と取得部１５と決定部１６とを含む各種の処理部を実現する。
【００５０】
通信制御部１１は、他の装置（コンピュータ７０，９０等）との間の通信動作を通信部４等と協働して制御する処理部である。たとえば、通信制御部１１は、ソフトウエアモジュール３２（後述）からＮＩＣ４３（後述）（図３参照）を介して外部装置へデータを送信する動作等を制御する。
【００５１】
入力制御部１２は、操作入力部６ａ（タッチパネル２５等）に対する操作入力動作を制御する制御部である。たとえば、入力制御部１２は、タッチパネル２５に表示された操作画面に対する操作入力を受け付ける動作を制御する。
【００５２】
表示制御部１３は、表示部６ｂ（タッチパネル２５等）における表示動作を制御する処理部である。表示制御部１３は、たとえば、ＭＦＰ１０を操作するための操作画面をタッチパネル２５に表示させる。
【００５３】
印刷制御部１４は、印刷出力部３を用いた印刷出力動作を制御する処理部である。
【００５４】
取得部１５は、ＮＩＣ４３のバッファメモリ４５に関する使用状況を示すメモリ情報３１０を取得する処理部である。また、取得部１５は、所定のソフトウエアモジュール（ＯｐｅｎＡＰＩ等）（後述）によるジョブＪＡ（第１の種類のジョブとも称する）以外のジョブＪＢ（第２の種類のジョブとも称する）の予約状況（受付状況）を示す情報であるジョブ状況情報３２０をも取得する。
【００５５】
決定部１６は、メモリ情報３１０とジョブ状況情報３２０とに基づいて、単位量ＤＺを決定する処理部である。後述するように、単位量（単位サイズとも称する）ＤＺは、ソフトウエアモジュール３２からＮＩＣ４３（バッファ処理部）へのデータ送信における送信単位データのデータ量である。単位量ＤＺは、バッファサイズなどとも称される。
【００５６】
＜１−３．ＮＩＣ４３を通過する通信処理＞
この画像形成システムにおいては、様々なデータがＭＦＰ１０を介して入出力される。
【００５７】
特に、ＭＦＰ１０は、所謂ネットワーク通信を行うことが可能であり、種々のデータを外部装置（コンピュータ７０，９０等）との間で送受信することが可能である。また、これらの各種のデータは、図３に示すように、バッファメモリ４５を介してＭＦＰ１０の内部と外部との間で授受される。換言すれば、バッファメモリ４５は、ＭＦＰ１０と外部装置との間でのデータの授受を中継する。なお、図３はバッファメモリ４５を介したデータの流れの概略を示す図である。
【００５８】
たとえば、ＭＦＰ１０は、コンピュータ９０ｄからのインターネットファクシミリ（インターネット通信網を用いたファクシミリ）を受信することが可能である。コンピュータ９０ｄには、アプリケーションソフトウエアプログラム（以下、アプリケーションプログラム、あるいは単にアプリケーションとも称する）として、インターネットファクシミリ通信用ソフトウエアプログラム等がインストールされている。当該アプリケーションを用いてコンピュータ９０ｄから送信されたデータ（インターネットファクシミリデータ）は、バッファメモリ４５を介してＭＦＰ１０の内部に取り込まれる。詳細には、コンピュータ９０ｄからのデータ（インターネットファクシミリデータ）は、バッファメモリ４５に一時的に格納された後に、ＭＦＰ１０（コントローラ９等）によってバッファメモリ４５から読み出されて格納部５（ハードディスクドライブ等）に格納される。その後、格納部５からインターネットファクシミリデータが読み出され、当該データに基づいて印刷出力が行われる。このように、ＭＦＰ１０は、「インターネットファクシミリ受信ジョブ」を実行することが可能である。
【００５９】
同様に、ＭＦＰ１０は、コンピュータ９０ｃからの印刷出力用データを受信することが可能である。コンピュータ９０ｃには、アプリケーションとして、ＭＦＰ１０用のプリンタドライバ等がインストールされている。当該アプリケーションを用いてコンピュータ９０ｃから送信されたデータ（印刷出力用データ）は、バッファメモリ４５を介してＭＦＰ１０の内部に取り込まれる。その後、格納部５から印刷出力用データが読み出され、当該データに基づいて印刷出力が行われる。このように、ＭＦＰ１０は、「印刷出力用データ受信ジョブ」を実行することが可能である。
【００６０】
また、ＭＦＰ１０は、格納部５内のボックス（フォルダ）に格納された文書データをコンピュータ９０ｂに送信すること（いわゆるボックスデータの送信動作を行うこと）が可能である。すなわち、ＭＦＰ１０は、「ボックスデータ送信ジョブ」を実行することが可能である。
【００６１】
また、図３に示すように、ＭＦＰ１０には、プログラム３０（アプリケーションプログラム３１およびインターフェイス用のソフトウエアモジュールプログラム３２（ＯｐｅｎＡＰＩ等））がインストールされている。また、アプリケーションサーバ７０には、サーバ用アプリケーションがインストールされている。
【００６２】
ここで、ＯｐｅｎＡＰＩは、出願人等によって提供されるアプリケーション・プログラミング・インタフェース(Application Programming Interface)である。当該ＯｐｅｎＡＰＩを利用することによって、外部装置は、ネットワークを通じて、ＭＦＰ１０を制御すること及びＭＦＰ１０内のリソースにアクセスすることなどが可能である。また、ＭＦＰ１０は、外部装置（サーバ７０）等に対して各種のデータ（制御指令等を含む）を送信することが可能である。ソフトウエアモジュール３２（ＯｐｅｎＡＰＩ）は、サーバ用アプリケーションとの間でデータの授受を行うインターフェイスとして機能する。
【００６３】
ＭＦＰ１０は、当該ソフトウエアモジュール３２（ＯｐｅｎＡＰＩ等）を利用して、アプリケーションサーバ７０と通信し、各種のデータ（たとえばジョブ履歴データ）をアプリケーションサーバ７０に送信することが可能である。
【００６４】
ＭＦＰ１０内のアプリケーション３０は、アプリケーションサーバ７０内のサーバ用アプリケーションに向けて各種のデータ（たとえばジョブ履歴データ）を送信する。アプリケーションサーバ７０は、当該ジョブ履歴データをＭＦＰ１０から受信すると、ジョブ履歴の格納先コンピュータ９０ａに当該ジョブ履歴データを転送する。これにより、アプリケーションサーバ７０を経由してコンピュータ９０ａへとジョブ履歴データを送信することが可能である。このように、ＭＦＰ１０は、「ＯｐｅｎＡＰＩ利用ジョブ」（ＪＡ）を実行することが可能である。
【００６５】
ここにおいて、ＭＦＰ１０内のアプリケーション３０（ＯｐｅｎＡＰＩなどのソフトウエアモジュール３２を含むアプリケーション）は、バッファメモリ４５を介してアプリケーションサーバ７０内のサーバ用アプリケーションに向けてデータを送信する。より具体的には、当該データ（ジョブ履歴データ等）は、送信用の複数の単位データ（比較的小さなサイズを有する）に分割され、分割された各単位データは、当該ソフトウエアモジュール３２（ＯｐｅｎＡＰＩ）からバッファメモリ４５へと送信され、バッファメモリ４５に一旦格納される。なお、本願では、ソフトウエアモジュール３２の管理下において、ＭＦＰ１０の内部（格納部５等）に格納されていたデータがバッファメモリ４５に送信されることを、「データがソフトウエアモジュール３２からバッファメモリ４５へと送信される」とも表現する。
【００６６】
その後、ＮＩＣ４３は、バッファメモリ４５に蓄積され比較的大きなまとまり（たとえば、約１５００ＫＢ（キロバイト））になったデータ等を随時、アプリケーションサーバ７０へと送信する。
【００６７】
従来においては、上述のように、当該ソフトウエアモジュール３２からバッファメモリ４５に送信される際の単位データのデータ量（単位量）ＤＺは、固定値（たとえば２ＫＢ（キロバイト））であった。
【００６８】
しかしながら、当該単位量ＤＺが比較的小さな値（たとえば、２ＫＢ（キロバイト））に固定される場合には、必ずしも十分な通信速度が得られないなどの弊害が生じる。
【００６９】
そこで、この実施形態では、ソフトウエアモジュール３２によるジョブ（第１の種類のジョブとも称する）ＪＡ以外のジョブ（第２の種類のジョブ）ＪＢの予約状況等を考慮して、当該単位量ＤＺを決定する。換言すれば、第１の種類のジョブＪＡの送信に関する単位量ＤＺを、第２の種類のジョブＪＢの予約状況等を考慮して変更する。具体的には、当該単位量ＤＺは、数キロバイト〜数十キロバイト（２ＫＢ〜６４ＫＢ）の範囲で変更される。
【００７０】
以下では、そのような動作について更に詳細に説明する。
【００７１】
＜１−４．動作＞
図４は、ＭＦＰ１０における動作を示すフローチャートである。図４を参照しつつＭＦＰ１０の動作について説明する。
【００７２】
まず、ステップＳ１１において、コントローラ９（取得部１５）は、バッファメモリ４５に関する使用状況を示す情報（メモリ情報）３１０を取得する。この第１実施形態では、バッファメモリ４５の全容量（たとえば１００ＭＢ（メガバイト））のうち現在使用中のメモリ容量の割合（％）が、メモリ情報３１０として取得される。換言すれば、バッファメモリ４５の全容量（たとえば１００ＭＢ（メガバイト））のうち空き容量の割合（％）が、メモリ情報３１０として取得される。たとえば、図５に示すように、全容量のうち６０％のメモリが現時点で使用中である場合には、空きメモリ容量が「４０％」である旨が取得される。
【００７３】
また、ステップＳ１２において、コントローラ９（取得部１５）は、所定のソフトウエアモジュールによるジョブ（第１の種類のジョブ）ＪＡ以外のジョブ（第２の種類のジョブあるいは「他ジョブ」とも称する）ＪＢの予約状況を示す情報（ジョブ状況情報）３２０を取得する。
【００７４】
この第１実施形態では、コントローラ９（取得部１５）は、第２の種類のジョブＪＢ（第１の種類のジョブＪＡ以外のジョブ）の多さを反映した指標値であるジョブ指数Ｅを算出して取得する。
【００７５】
ジョブ指数Ｅは、たとえば、次の式（１）に従って算出される。
【００７６】
【数１】
0006405890.tif 000002
【００７７】
このジョブ指数Ｅは、第１優先順位のジョブＪＢ２１（後述）の数Ｎ（受付（予約）完了且つ処理未完了のジョブＪＢ２１の数Ｎ）と第２優先順位のジョブＪＢ２２の数Ｍ（受付完了且つ処理未完了のジョブＪＢ２１の数Ｍ）とを各ジョブの優先順位に応じた各重み付け係数α，βで重み付けして加算した指標値である。第１優先順位のジョブの重み付け係数α（第１の重み付け係数とも称する）は、第２優先順位のジョブの重み付け係数β（第２の重み付け係数とも称する）よりも大きな値に設定される（α＞β）。たとえば、値αは「１５」、値βは「６」に設定される。
【００７８】
式（１）に示すように、ここでは、第２の種類のジョブがその優先順位に基づいて大きく２つに分類される。詳細には、第２の種類のジョブのうち、コントローラ９および／またはＮＩＣ４３による制御可能性が比較的低い（所定程度よりも低い）ジョブを第１優先順位ジョブＪＢ１に分類するとともに、コントローラ９からの制御可能性が比較的高い（所定程度よりも高い）ジョブを第２優先順位ジョブＪＢ２に分類する。
【００７９】
たとえば、上述の４つのジョブのうち、インターネットファクシミリ受信ジョブＪ４は、（コントローラ９および／またはＮＩＣ４３による）その処理の中断も不可能であり（許可されておらず）且つその転送速度の変更も不可能な（許可されていない）ジョブ（制御不可能ジョブとも称される）であり、第１優先ジョブに分類される。
【００８０】
また、上述の４つのジョブのうち、印刷出力用データ受信ジョブＪ３およびボックスデータ送信ジョブＪ２は、（コントローラ９および／またはＮＩＣ４３による）その処理の中断は不可能である一方でその転送速度の変更等は可能なジョブ（一部処理の制御が可能な部分制御可能ジョブとも称される）であり、第２優先ジョブに分類される。部分制御可能ジョブは、処理タイミングをずらす、および／またはデータ転送速度を変更する、などの一部の制御を行うことが可能なジョブである。より詳細には、ＭＦＰ１０から外部装置（外部ストレージ）へとボックスデータを送信して当該ボックスデータを当該外部ストレージに格納するジョブＪ２においては、データ送信を中断することはできないが、データ転送速度を変更することは可能である。また、外部装置（コンピュータ９０）からプリントデータを受信するジョブＪ３においては、データ送信を中断することはできないが、バッファメモリ４５に貯まったデータをハードディスク（内部ストレージ）に転送する際のデータ転送速度を若干変更することは可能である。
【００８１】
なお、上述の４つのジョブのうち、第１の種類のジョブＪＡ（「ＯｐｅｎＡＰＩ利用ジョブ」Ｊ１）は、コントローラ９および／またはＮＩＣ４３による制御可能性が第２の種類のジョブＪＢよりも更に高いジョブ（その処理の中断も可能なジョブ）であり、「制御可能ジョブ」であるとも表現される。
【００８２】
この第１実施形態では、第２の種類のジョブＪＢの予約状況を示す情報（ジョブ状況情報）３２０として、上述のジョブ指数Ｅが算出されて取得される。
【００８３】
このジョブ指数Ｅは、基本的には（各優先順位のジョブの比率が同じであれば）第２の種類のジョブＪＢのジョブ数（合計ジョブ数）が大きくなるにつれて大きな値になる指標値である。また、値αは値βよりも大きな値であり（α＞β）、第２の種類のジョブＪＢのうち第１優先順位のジョブＪＢ２１が多くなる場合には、第２の種類のジョブＪＢのうち第２優先順位のジョブＪＢ２２が多くなる場合よりも、ジョブ指数Ｅは相対的に大きく増大する。
【００８４】
たとえば、（α，β）＝（１５，６）、とすると、
・（Ｎ，Ｍ）＝（１，１）のときには、Ｅ＝１５＊１＋６＊１＝１５＋６＝２１、
・（Ｎ，Ｍ）＝（１，２）のときには、Ｅ＝１５＊１＋６＊２＝１５＋１２＝２７、
・（Ｎ，Ｍ）＝（２，１）のときには、Ｅ＝１５＊２＋６＊１＝３０＋６＝３６、
・（Ｎ，Ｍ）＝（２，２）のときには、Ｅ＝１５＊２＋６＊２＝３０＋１２＝４２、
である。
【００８５】
ステップＳ１３において、コントローラ９（決定部１６）は、メモリ情報３１０とジョブ状況情報３２０とに基づいて、ソフトウエアモジュール３２からＮＩＣ４３へのデータ送信における送信単位データのデータ量（単位量）ＤＺを決定する。たとえば、図６のパターンテーブル（データテーブル）３３０に基づいて当該単位量ＤＺが決定される。
【００８６】
具体的には、まず、メモリ情報３１０に基づきバッファメモリ４５の現在の空き容量（未使用メモリ容量）が３段階のレベル（「大」、「中」、「小」）のいずれに該当するかが判定される。たとえば、バッファメモリ４５の空き容量がバッファメモリ４５の全容量の５０％より大きいときには、空き容量「大」であると判定される。また、バッファメモリ４５の空き容量がバッファメモリ４５の全容量の２０％以上且つ５０％以下の範囲内の値であるときには、空き容量「中」であると判定される。また、バッファメモリ４５の空き容量がバッファメモリ４５の全容量の２０％以下であるときには、空き容量「小」であると判定される。
【００８７】
また、ジョブ指数Ｅが３段階のレベル（「低域」、「中域」、「高域」）のいずれに該当するかが判定される。より具体的には、ジョブ指数Ｅが閾値ＴＨ１（たとえば「２０」）よりも小さいときには、ジョブ指数Ｅは「低域」内の値であると判定される。ジョブ指数Ｅが閾値ＴＨ１以上且つ閾値ＴＨ２（たとえば「５０」）以下の範囲内の値であるときには、ジョブ指数Ｅは「中域」内の値であると判定される。ジョブ指数Ｅが閾値ＴＨ２よりも大きいときには、ジョブ指数Ｅは「高域」内の値であると判定される。
【００８８】
そして、バッファメモリ４５における未使用メモリ容量とジョブ指数Ｅと単位量ＤＺとの関係を規定したデータテーブル３３０に基づいて、単位量ＤＺが決定される。
【００８９】
バッファメモリ４５の空き容量が「大」であり且つジョブ指数Ｅが「低域」内の値であるとき（「パターンＮｏ．１」のパターンに該当するとき）には、単位量ＤＺは最も大きな値（６４ＫＢ（キロバイト））に設定される。また、バッファメモリ４５の空き容量が「大」であり且つジョブ指数Ｅが「中域」内の値であるとき（「パターンＮｏ．２」のパターンに該当するとき）には、単位量ＤＺは若干小さな値（５２ＫＢ（キロバイト））に設定される。さらに、バッファメモリ４５の空き容量が「大」であり且つジョブ指数Ｅが「高域」内の値であるとき（「パターンＮｏ．３」のパターンに該当するとき）には、単位量ＤＺはさらに小さな値（４０ＫＢ（キロバイト））に設定される。
【００９０】
また、バッファメモリ４５の空き容量が「中」であり且つジョブ指数Ｅが「低域」内の値であるとき（「パターンＮｏ．４」のパターンに該当するとき）には、単位量ＤＺは、３２ＫＢ（キロバイト）に設定される。バッファメモリ４５の空き容量が「中」であり且つジョブ指数Ｅが「中域」内の値であるとき（「パターンＮｏ．５」のパターンに該当するとき）には、単位量ＤＺは、２０ＫＢ（キロバイト））に設定される。バッファメモリ４５の空き容量が「中」であり且つジョブ指数Ｅが「高域」内の値であるとき（「パターンＮｏ．６」のパターンに該当するとき）には、単位量ＤＺは、８ＫＢ（キロバイト）に設定される。
【００９１】
また、バッファメモリ４５の空き容量が「小」であるとき（「パターンＮｏ．７」のパターンに該当するとき）には、ジョブ指数Ｅの大小にかかわらず、単位量ＤＺは最も小さな値（２ＫＢ（キロバイト））に設定される。
【００９２】
このように、バッファメモリ４５の空き容量が「大」であると判定されるときには、バッファメモリ４５の空き容量が「中」であると判定されるときよりも、比較的大きな値が単位量ＤＺとして決定される。また、バッファメモリ４５の空き容量が「中」であると判定されるときには、バッファメモリ４５の空き容量が「小」であると判定されるときよりも、比較的大きな値が単位量ＤＺとして決定される。換言すれば、バッファメモリ４５における未使用メモリ容量が大きい程、単位量ＤＺが大きな値に決定される。
【００９３】
また、（バッファメモリ４５の空き容量が同程度である場合、）ジョブ指数Ｅが「低域」内の値であると判定されるときには、ジョブ指数Ｅが「中域」内の値であると判定されるときよりも、比較的大きな値が単位量ＤＺとして決定される。また、ジョブ指数Ｅが「中域」内の値であると判定されるときには、ジョブ指数Ｅが「低域」内の値であると判定されるときよりも、比較的大きな値が単位量ＤＺとして決定される。換言すれば、第２の種類のジョブＪＢの数が少ない程、単位量ＤＺが大きな値に決定される。
【００９４】
その後、ステップＳ１４において、コントローラ９（通信制御部１１）は、ＭＦＰ１０内のソフトウエアモジュール３２からＮＩＣ４３を介して外部装置（サーバ７０等）へデータを送信する。このとき、コントローラ９（通信制御部１１）は、送信対象のデータを上述の単位量ＤＺごとに分割し、当該単位量ＤＺごとの送信単位データをそれぞれ、バッファメモリ４５に対して送信する。そして、ＮＩＣ４３は、一定程度のデータ量（たとえば、１５００ＫＢ（キロバイト））が当該バッファメモリ４５に蓄積されると、当該一定程度のデータ量のデータを外部装置へと送信する。あるいは、ＮＩＣ４３は、バッファメモリ４５に蓄積されているデータを所定期間の経過ごとに纏めて外部装置へと送信するようにしてもよい。
【００９５】
なお、ここでは、第１の種類のジョブＪＡとして単一のジョブＪＡが存在するものとし、ステップＳ１３で決定された単位量ＤＺがそのまま当該単一のジョブＪＡに関する単位量ＤＺとして決定されるものとしている。第１の種類のジョブＪＡとして複数のジョブが存在する場合については、第６実施形態で説明する。
【００９６】
以上のような態様によれば、単位量ＤＺがバッファメモリ４５の空き容量に応じて適宜に変更される。より詳細には、バッファメモリ４５の空き容量が小さい程、単位量ＤＺが比較的小さな値に設定されるので、バッファメモリ４５におけるオーバーフローを防止することが可能である。逆に、バッファメモリ４５の空き容量が大きい程、単位量ＤＺが比較的大きな値に設定されるので、通信速度が向上する。したがって、より効率的な通信を行うことが可能である。
【００９７】
また、単位量ＤＺがジョブ指数Ｅに応じて（第２の種類のジョブＪＢの予約状況に応じて）適宜に変更される。より詳細には、ジョブ指数Ｅが大きい程、単位量ＤＺが比較的小さな値に設定されるので、バッファメモリ４５におけるオーバーフローを防止することが可能である。逆に、ジョブ指数Ｅが小さい程、単位量ＤＺが比較的大きな値に設定されるので、通信速度が向上する。したがって、より効率的な通信を行うことが可能である。
【００９８】
なお、図６のパターンテーブルは、ジョブ指数Ｅの関数である値ζ（＝func（Ｅ））（図８参照）を用いて、図７のようにも表現される。ジョブ指数Ｅが「低域」内の値であるとき（Ｅ＜ＴＨ１）には、値ζは最大値Ｖ１（たとえば、Ｖ１＝１）であり、ジョブ指数Ｅが「高域」内の値であるとき（Ｅ＞ＴＨ２）には、値ζは最小値Ｖ３（たとえば、Ｖ３＝０．２５）である。また、ジョブ指数Ｅが「中域」内の値であるとき（ＴＨ１≦Ｅ≦ＴＨ２）には、値ζは値Ｖ１と値Ｖ３との間の値Ｖ２（たとえば、Ｖ２＝０．６２５）である（Ｖ３＜Ｖ２＜Ｖ１）。
【００９９】
また、上記実施形態においては、図６（および図７）に示すように、各単位量ＤＺが各パターンに応じた一定値（７段階の値のいずれか）にそれぞれ設定される態様が示されている。換言すれば、図７の値ζはジョブ指数Ｅに応じて３段階の値（離散値）のいずれかである。しかしながら、本発明はこれに限定されない。たとえば、図９の曲線Ｃ１（あるいはＣ２）に示すように、値ζはジョブ指数Ｅに応じて連続的に変化する値であってもよい。そして、図７のテーブルに従って単位量ＤＺが決定されるようにしてもよい。
【０１００】
また、上記実施形態等においては、バッファメモリ４５の空き容量の大小関係がジョブ指数Ｅの大小関係よりも優先的に考慮されて、単位量ＤＺが決定されているが、これに限定されない。たとえば、図１０に示すように、バッファメモリ４５の空き容量の大小関係とジョブ指数Ｅの大小関係とが同等に考慮されて、単位量ＤＺが決定されるようにしてもよい。
【０１０１】
図１０（詳細には、そのパターンＮｏ．１〜Ｎｏ．６）においては、バッファメモリ４５の空き容量が「大」および「中」の２段階に区分されている。バッファメモリ４５の空き容量が「大」であるときには値「６４」が基準値として決定され、バッファメモリ４５の空き容量が「中」であるときには値「３２」が基準値として決定される。そして、バッファメモリ４５の空き容量に応じた各基準値に対して値ζ（図９）が同等に乗じられて単位量ＤＺが算出される（ＤＺ＝「基準値」×ζ）。なお、図１０においては、図９のような曲線Ｃ１（あるいはＣ２）で表現される値ζが用いられればよい。
【０１０２】
また、上記実施形態等においては、バッファメモリ４５の空き容量（の変化）が単位量ＤＺに対して離散的に反映される態様が例示されているが、これに限定されない。たとえば、次の式（２）に示すように、バッファメモリ４５の空き容量（の変化）が単位量ＤＺに対して連続的に反映されるようにしてもよい。
【０１０３】
【数２】
0006405890.tif 000003
【０１０４】
ここで、値Ｂは、バッファメモリ４５の全容量に対する空き容量の割合（空き比率）を示す値である。たとえば、全容量が１００ＭＢ（メガバイト）であり空き容量が４０ＭＢであるときには、空き比率Ｂは４０％として算出される。また、値Ｇは、予め定められた値であり、たとえば、１００ＫＢ（キロバイト）である。
【０１０５】
ただし、式（２）により算出された値が上限値（たとえば６４ＫＢ（キロバイト））を超える場合には、値ＤＺは当該上限値に変更されるものとする。また、式（２）により算出された値が下限値（たとえば２ＫＢ（キロバイト））を下回る場合には、値ＤＺは当該下限値に変更されるものとする。
【０１０６】
このように、式（２）のような計算式（バッファメモリ４５における未使用メモリ容量と値ζ（ひいてはジョブ指数Ｅ）と単位量ＤＺとの関係を規定した計算式）に基づいて、単位量ＤＺが決定されるようにしてもよい。
【０１０７】
また、上記実施形態等においては、第１の種類のジョブＪＡの開始前に単位量ＤＺが決定されているが、これに限定されない。たとえば、一定時間間隔で（或いは不定期に）ステップＳ１１〜ステップＳ１４の処理が繰り返し実行されるようにしてもよい。たとえば、１秒ごとに、ステップＳ１１〜ステップＳ１３の処理が繰り返し実行されて単位量ＤＺが決定されるとともに当該単位量ＤＺに基づくステップＳ１４の送信処理が行われるようにしてもよい。
【０１０８】
また、上記実施形態等におけるステップＳ１１とステップＳ１２とは、上記とは逆の順序（ステップＳ１２，Ｓ１１の順）で実行されるようにしてもよく、あるいは、ステップＳ１１とステップＳ１２とは同時並列的に実行されてもよい。
【０１０９】
また、上記実施形態等においては、バッファメモリ４５の空き容量とジョブ指数との組合せがパターンＮｏ．７に該当すると判定されると、単位量ＤＺが「２」ＫＢ（キロバイト）に決定されているが、これに限定されない。たとえば、単位量ＤＺが「１６×ζ」として算出されるようにしてもよい。あるいは、第１の種類のジョブＪＡの実行が禁止される（換言すれば、単位量ＤＺ＝０）ようにしてもよい。
【０１１０】
＜２．第２実施形態＞
第２実施形態は、第１実施形態の変形例である。以下、第１実施形態との相違点を中心に説明する。
【０１１１】
上記第１実施形態においては、或る時点でのバッファメモリ４５の空き容量と当該時点での第２の種類のジョブＪＢの予約状況とに基づいて、単位量ＤＺが決定されている。
【０１１２】
一方、この第２実施形態においては、バッファメモリ４５の空き容量（未使用メモリ容量）の変化傾向（変化率）と第２の種類のジョブＪＢの予約状況の変化傾向とに基づいて、単位量ＤＺが決定される。具体的には、メモリ情報３１０として、バッファメモリ４５の空き容量の変化傾向を示す情報が取得され、ジョブ状況情報３２０として、第２の種類のジョブＪＢに関するジョブ指数Ｅの変化傾向を示す情報が取得される。
【０１１３】
また、この実施形態では、所定時間間隔Δｔ（たとえば１秒間隔）にて、図４のステップＳ１１〜ステップＳ１４の処理と同様の処理が繰り返し実行される。ただし、後述するように、ステップＳ１３においては、若干異なる決定処理が実行される。
【０１１４】
バッファメモリ４５の空き容量の変化傾向を示す情報は、バッファメモリ４５の空き容量に関する前回（第（ｉ−１）回）の取得値（測定値）と時間Δｔ経過後の今回（第ｉ回）の取得値（測定値）との両者を比較した情報として取得される。具体的には、当該両者の比率Ｐ（あるいは差分値）を算出することによって、バッファメモリ４５の空き容量に関する変化傾向が取得される。たとえば、前回の空き容量が４０％であり、今回の空き容量が６０％であるときには、当該両者の比率Ｐは、Ｐ＝６０／４０＝１．５、（「１５０％」）として算出される。すなわち、バッファメモリ４５の空き容量が（前回比で）５０％増大した旨が判定される。逆に、前回の空き容量が４０％であり、今回の空き容量が２０％であるときには、当該両者の比率Ｐは、Ｐ＝２０／４０＝０．５、（「５０％」）として算出される。すなわち、バッファメモリ４５の空き容量が（前回比で）５０％減少した旨が判定される。
【０１１５】
第２の種類のジョブＪＢの予約状況の変化傾向を示す情報は、ジョブ指数Ｅに関する前回（第（ｉ−１）回）の取得値（測定値）と、時間Δｔ経過後の今回（第ｉ回）の取得値（測定値）との両者を比較した情報として取得される。具体的には、当該両者の比率Ｑ（あるいは差分値）を算出することによって、第２の種類のジョブＪＢの予約状況に関する変化傾向が取得される。たとえば、前回のジョブ指数Ｅが２１であり、今回のジョブ指数Ｅが２６であるときには、当該両者の比率Ｑは、２６／２１＝１．２４、（「１２４％」）として算出される。すなわち、ジョブ指数Ｅが（前回比で）２４％増大した旨が判定される。逆に、前回のジョブ指数Ｅが２１であり、今回のジョブ指数Ｅが１５であるときには、当該両者の比率は、１５／２１＝０．７１、（「７１％」）として算出される。すなわち、ジョブ指数Ｅが（前回比で）２９％減少した旨が判定される。
【０１１６】
そして、バッファメモリ４５の空き容量（未使用メモリ容量）の変化傾向（変化率）と第２の種類のジョブＪＢの予約状況の変化傾向とに基づいて、単位量ＤＺが決定される。
【０１１７】
図１１は、ステップＳ１３における単位量ＤＺ（詳細には、今回（第ｉ回）の単位量ＤＺ（ｉ））の決定動作を示すパターンテーブルである。
【０１１８】
図１１に示すように、まず、バッファメモリ４５の空き容量の変化傾向が、３つの段階（「減少」、「増大」、「維持」）のいずれであるかが判定される。具体的には、バッファメモリ４５の空き容量が所定程度以上（たとえば（前回比で）２０％以上）減少しているときには、バッファメモリ４５の空き容量の変化傾向は「減少」であると判定される。また、バッファメモリ４５の空き容量が所定程度以上（たとえば（前回比で）２０％以上）増大しているときには、バッファメモリ４５の空き容量の変化傾向は「増大」であると判定される。また、バッファメモリ４５の空き容量の変化が所定程度未満（たとえば（前回比で）２０％未満）であるときには、バッファメモリ４５の空き容量の変化傾向は「維持」であると判定される。
【０１１９】
また、同様にして、ジョブ指数Ｅの変化傾向が、３つの段階（「増大」、「減少」、「維持」）のいずれであるかも判定される。
【０１２０】
これらの判定結果に応じて、現在の状況がパターンＮｏ．１１〜Ｎｏ．１９までの９つに分類される。
【０１２１】
そして、バッファメモリ４５の空き容量の変化傾向が「減少」である（パターンＮｏ．１１〜Ｎｏ．１３）と判定されるときには、前回（第（ｉ−１）回）の単位量ＤＺ（ｉ−１）に対して、値ΔＤ１が減算される。逆に、バッファメモリ４５の空き容量の変化傾向が「増大」である（パターンＮｏ．１４〜Ｎｏ．１６）と判定されるときには、前回（第（ｉ−１）回）の単位量ＤＺ（ｉ−１）に対して、値ΔＤ１が加算される。バッファメモリ４５の空き容量の変化傾向が「維持」である（パターンＮｏ．１７〜Ｎｏ．１９）と判定されるときには、値ΔＤ１は加算されず減算もされない。なお、値ΔＤ１は、固定値（たとえば８ＫＢ）でもよく、あるいは、比率Ｐに応じて変動する値（たとえば、比率Ｐの増大に応じて段階的に（階段状に）あるいは連続的に増大する値）であってもよい。
【０１２２】
さらに、ジョブ指数Ｅの変化傾向が「増大」である（パターンＮｏ．１１，１４，１７）と判定されるときには、値ΔＤ２が減算されて、今回（第ｉ回）の単位量ＤＺ（ｉ）が算出される。逆に、ジョブ指数Ｅの変化傾向が「増大」である（パターンＮｏ．１２，１５，１８）と判定されるときには、値ΔＤ２が加算されて、今回（第ｉ回）の単位量ＤＺ（ｉ）が算出される。ジョブ指数Ｅの変化傾向が「維持」である（パターンＮｏ．１３，１６，１９）と判定されるときには、値ΔＤ２は加算されず減算もされない。なお、値ΔＤ２は、固定値（たとえば８ＫＢ）でもよく、あるいは、比率Ｑに応じて変動する値（たとえば、比率Ｑの増大に応じて段階的あるいは連続的に増大する値）であってもよい。
【０１２３】
このように、今回（第ｉ回）の単位量ＤＺ（ｉ）は、前回（第（ｉ−１）回）の単位量ＤＺ（ｉ−１）に対して、バッファメモリ４５の空き容量の変化傾向とジョブ指数Ｅの変化傾向とに基づいて、値ΔＤ１および／または値ΔＤ２が加算あるいは減算等されて算出される。
【０１２４】
また、このようにして算出された新たな値（今回（第ｉ回）の単位量ＤＺ（ｉ））が上限値（たとえば６４ＫＢ（キロバイト））を超える場合には、値ＤＺ（ｉ）は当該上限値に変更（設定）されるものとする。また、上記のようにして算出された新たな値が下限値（たとえば２ＫＢ（キロバイト））を下回る場合には、値ＤＺは当該下限値に変更（設定）されるものとする。なお、単位量ＤＺ（ｉ）の初期値ＤＺ（０）は、適宜の値（たとえば、４ＫＢ（キロバイト））に定められればよい。
【０１２５】
このようにして、第２実施形態に係るステップＳ１３の決定処理が実行される。
【０１２６】
以上のような態様によっても、単位量ＤＺがバッファメモリ４５の使用状況と第２の種類のジョブＪＢの予約状況とに応じて適宜に変更されるので、より効率的な通信を行うことが可能である。
【０１２７】
なお、上記第２実施形態においては、バッファメモリ４５の空き容量の変化傾向とジョブ指数Ｅの変化傾向とに基づいて、値ΔＤ１および／または値ΔＤ２が加算あるいは減算等されることによって、今回（第ｉ回）の単位量ＤＺ（ｉ）が算出されているが、これに限定されない。たとえば、バッファメモリ４５の空き容量の変化傾向とジョブ指数Ｅの変化傾向とに基づいて、値ｐおよび値ｑ（次述）が積算あるいは除算等されることによって、今回（第ｉ回）の単位量ＤＺ（ｉ）が算出されるようにしてもよい。より詳細には、（図１１のパターンの区別に依らずに）次の式（３）に基づいて、今回（第ｉ回）の単位量ＤＺ（ｉ）が（一律に）算出されるようにしてもよい。
【０１２８】
【数３】
0006405890.tif 000004
【０１２９】
ここにおいて、値ｐは、上記比率Ｐ自体（ｐ＝Ｐ）でもよく、あるいは、比率Ｐに応じて変動する値（たとえば、比率Ｐの増大に応じて段階的あるいは連続的に増大する値）であってもよい。また、値ｑは、上記比率Ｑ自体（ｑ＝Ｑ）でもよく、あるいは、比率Ｑに応じて変動する値（たとえば、比率Ｑの増大に応じて段階的あるいは連続的に増大する値）であってもよい。
【０１３０】
また、上記第２実施形態等において、バッファメモリ４５の空き容量が全容量の２０％未満にまで低下したときには、第１の種類のジョブＪＡの実行が禁止される（換言すれば、単位量ＤＺ＝０）ようにしてもよい。
【０１３１】
また、上記第２実施形態等において、ジョブ指数Ｅが所定値ＴＨ３（たとえば、上述の値ＴＨ２よりも大きな値）よりも更に大きい場合には、他ジョブＪＢの実行を優先するため、第１の種類のジョブＪＡの実行が禁止されるようにしてもよい。
【０１３２】
＜３．第３実施形態＞
第３実施形態は、第１実施形態等の変形例である。以下、第１実施形態との相違点を中心に説明する。
【０１３３】
上記第１実施形態等においては、バッファメモリ４５の全容量のうちの未使用のメモリの容量の割合等に基づいて、単位量ＤＺが決定されている。
【０１３４】
この第３実施形態においては、バッファメモリ４５の全容量（全バッファ容量）のうち第１の種類のジョブＪＡに割り当てるメモリ容量Ｕ１が、第２の種類のジョブＪＢの予約状況に基づいて決定される。そして、「第１の種類のジョブＪＡに割り当てるメモリ容量Ｕ１のうちの未使用のメモリ容量の割合Ｒ」に基づいて、単位量ＤＺが決定される。「第１の種類のジョブＪＡに割り当てるメモリ容量Ｕ１のうちの未使用のメモリ容量の割合Ｒ」は、次の式（４）で表現される。
【０１３５】
【数４】
0006405890.tif 000005
【０１３６】
ここで、値Ｕ２は、第１の種類のジョブＪＡ向けに現在使用されているメモリ容量であり、値Ｕ２は値Ｕ１よりも小さい（Ｕ２＜Ｕ１）。
【０１３７】
式（４）に示すように値Ｒは、全バッファ容量のうち第１の種類のジョブＪＡに割り当てられるメモリ容量Ｕ１から、第１の種類のジョブＪＡ向けに現在使用されているメモリ容量Ｕ２を差し引いた残余のメモリ容量（未使用のメモリ容量）（Ｕ１−Ｕ２）、の第１の種類のジョブＪＡに割り当てられるメモリ容量Ｕ１に対する割合（Ｒ＝（Ｕ１−Ｕ２）／Ｕ１）である。なお、値（Ｕ１−Ｕ２）は、第１の種類のジョブＪＡ向けの未使用メモリ容量である、とも表現される。
【０１３８】
この第３実施形態においても、第１実施形態と同様の動作が実行される。ただし、ステップＳ１３において第１実施形態とは異なる処理が実行される。
【０１３９】
ステップＳ１３においては、３つの段階の処理が行われる。
【０１４０】
まず、第１段階の処理として、バッファメモリ４５の全容量（全バッファ容量）のうち第１の種類のジョブＪＡに割り当てるメモリ容量Ｕ１が第２の種類のジョブＪＢの予約状況に基づいて決定される。端的に言えば、第１の種類のジョブＪＡへのメモリ容量の割り当て処理が実行される。
【０１４１】
具体的には、バッファメモリ４５の全容量（全バッファ容量）のうち、複数の種類のジョブＪＡ，ＪＢ１，ＪＢ２のそれぞれに対して割り当てるメモリ量が、各ジョブＪＡ，ＪＢ１，ＪＢ２のジョブに関する指標値（各ジョブ数と各重み付け係数との積で算出される指標値）の比率に応じて決定される。
【０１４２】
たとえば、第２の種類のジョブＪＢのうちの第１優先順位のジョブＪＢ１の個数（Ｎ）が５個であり（Ｎ＝５）、第２の種類のジョブＪＢのうちの第２優先順位のジョブＪＢ２の個数（Ｍ）が３個であり（Ｍ＝３）、第１の種類のジョブＪＡの個数（Ｌ）が１個である（Ｌ＝２）状況、を想定する。また、重み付け係数α、β、γは、それぞれ、「１５」，「６」，「２」に設定されるものとする（α＝１５，β＝６，γ＝２）。なお、係数γは、第１の種類のジョブＪＡに対する重み付け係数である。また、上述のように、係数αは、第２の種類のジョブＪＢのうち第１優先順位のジョブＪＢ１に関する重み付け係数であり、係数βは、第２の種類のジョブＪＢのうち第２優先順位のジョブＪＢ２に関する重み付け係数である。
【０１４３】
このとき、各ジョブＪＢ１，ＪＢ２，ＪＡに対する各指標値α＊Ｎ，β＊Ｍ，γ＊Ｌは、それぞれ、「７５」（＝１５＊５），「１８」（＝６＊３），「２」（＝２＊１）として算出される。ここでは、全容量のうちの５％を余裕メモリに割り当て、その他のメモリ（９５％のメモリ）に対して各ジョブＪＢ１，ＪＢ２，ＪＡをそれぞれの指標値の比率で割り当てる。図１２は、各ジョブＪＢ１，ＪＢ２，ＪＡに対するメモリ容量が、当該比率（７５：１８：２）で（仮想的に）割り当てられた状態を示している。
【０１４４】
また、図１２のような状態の後において、仮に、第１優先順位の全て（５つ）のジョブＪＢ１が終了し且つ第２優先順位の２つのジョブＪＢ２が終了し、各ジョブの個数（Ｎ，Ｍ，Ｌ）が（５，３，１）から（０，１，１）に変更されると、各ジョブＪＢ１，ＪＢ２，ＪＡに対する指標値（α＊Ｎ，β＊Ｍ，γ＊Ｌ）は、（７５，１８，２）から、（０，６，２）に変更される。そして、割当対象の全メモリ（９５％のメモリ）に対して各ジョブＪＢ１，ＪＢ２，ＪＡがそれぞれの指標値の比率で割り当てられる。図１３は、各ジョブＪＢ１，ＪＢ２，ＪＡに対するメモリ容量が、当該比率（０：６：２）で（仮想的に）割り当てられた状態を示している。ジョブＪＢ２には、７１（＝９５＊６／（６＋２））％のメモリ容量が割り当てられ、ジョブＪＡには、２４（＝９５＊２／（６＋２））％のメモリ容量（Ｕ１）が割り当てられる。
【０１４５】
このように、第１の種類のジョブＪＡ以外のジョブ（第２の種類のジョブＪＢ）が比較的多いときには、比較的少ないメモリ容量（２％）が第１の種類のジョブＪＡに割り当てられる（図１２）。逆に、第１の種類のジョブＪＡ以外のジョブ（第２の種類のジョブＪＢ）が比較的少ないときには、比較的多いメモリ容量（２４％）が第１の種類のジョブＪＡに割り当てられる（図１３）。
【０１４６】
つぎに、第２段階の処理が実行される。第２段階の処理は、第１の種類のジョブＪＡに割り当てられたメモリ容量Ｕ１のうちの未使用メモリ容量の割合Ｒ（式（４）参照）を算出する処理である。
【０１４７】
具体的には、第１の種類のジョブＪＡに割り当てられたメモリ容量Ｕ１から、第１の種類のジョブＪＡ向けに実際に使用されているメモリ容量（使用中メモリ容量）Ｕ２を差し引いた値（Ｕ１−Ｕ２）が、第１の種類のジョブＪＡ向けの空き容量（未使用メモリ容量）として求められる。そして、当該未使用メモリ容量（Ｕ１−Ｕ２）を値Ｕ１で除した値として割合Ｒが取得される（Ｒ＝（Ｕ１−Ｕ２）／Ｕ１）。割合Ｒは、第１の種類のジョブＪＡ向けのメモリに関する空き比率、などとも称される。
【０１４８】
たとえば、図１２の状態において、使用中メモリ容量が全バッファ容量の１．５％のメモリ容量に相当するときには、割合Ｒは、２５％（＝（２−１．５）／２）、として算出される（図１４も参照）。
【０１４９】
一方、図１３の状態において、使用中メモリ容量が全バッファ容量の１．５％のメモリ容量に相当するときには、割合Ｒは、９４％（＝（２４−１．５）／２４）、として算出される（図１５も参照）。
【０１５０】
このように、第１の種類のジョブＪＡ以外のジョブ（第２の種類のジョブＪＢ）が比較的多いとき（図１２および図１４参照）には、値Ｕ１が比較的小さく割合Ｒは比較的小さい。逆に、第１の種類のジョブＪＡ以外のジョブ（第２の種類のジョブＪＢ）が比較的少ないとき（図１３および図１５参照）には、値Ｕ１が比較的大きく割合Ｒは比較的大きい。換言すれば、（値Ｕ２が同じであるとすると、）第２の種類のジョブＪＢが多くなるにつれて（ジョブ指数Ｅが大きくなるにつれて）、値Ｕ１が小さくなり（第１の種類のジョブＪＡ向けの割り当てメモリが少なくなり）、割合（空き比率）Ｒも小さくなる。逆に、第２の種類のジョブＪＢが少なくなるにつれて（ジョブ指数Ｅが小さくなるにつれて）、値Ｕ１が大きくなり（第１の種類のジョブＪＡ向けの割り当てメモリが多くなり）、割合（空き比率）Ｒも大きくなる。
【０１５１】
そして、第３段階の処理が実行される。第３段階の処理は、当該割合Ｒに基づいて単位量ＤＺを決定する処理である。具体的には、割合Ｒが「大」、「中」、「小」のいずれに該当するかが判定されるとともに、当該判定結果に応じた単位量ＤＺが決定される。
【０１５２】
詳細には、割合Ｒが閾値ＴＨ１１（たとえば５０％）より大きいときには、当該割合Ｒが「大」であると判定される。また、割合Ｒが閾値ＴＨ１２（たとえば２０％）未満であるときには、当該割合Ｒが「小」であると判定される。また、割合Ｒが閾値ＴＨ１１以上且つ閾値ＴＨ１２以下の範囲内の値であるときには、当該割合Ｒが「中」であると判定される。
【０１５３】
そして、図１６に示すように、割合Ｒが「大」である（パターンＮｏ．２１）と判定されるときには、単位量ＤＺが「６４ＫＢ（キロバイト）」に決定される。また、割合Ｒが「中」である（パターンＮｏ．２２）と判定されるときには、単位量ＤＺが「３２ＫＢ（キロバイト）」に決定され、割合Ｒが「小」である（パターンＮｏ．２３）と判定されるときには、単位量ＤＺが「２ＫＢ（キロバイト）」に決定される。
【０１５４】
たとえば、図１２の状態においては、Ｒ＝２５％であるので、割合Ｒは「中」であると判定され、単位量ＤＺは「３２ＫＢ」に決定される。一方、図１３の状態においては、Ｒ＝９４％であるので、割合Ｒは「大」であると判定され、単位量ＤＺは「６４ＫＢ」に決定される。図１２の状態から図１３の状態に遷移する場合には、第２の種類のジョブＪＢが少なくなって値Ｕ１および割合（空き比率）Ｒが大きくなり、単位量ＤＺも大きくなる。
【０１５５】
以上のような３つの段階の処理がステップＳ１３において行われる。
【０１５６】
第３実施形態においては、単位量ＤＺが、上述の割合Ｒに応じて適宜に変更される。割合Ｒは、第２の種類のジョブＪＢの予約状況を反映した、第１の種類のジョブＪＡ向けの未使用メモリ容量（Ｕ１−Ｕ２）に基づいて算出される。換言すれば、割合Ｒは、第１の種類のジョブＪＡ向けの使用中メモリ容量Ｕ２を反映した値であるとともに、第２の種類のジョブＪＢの予約状況をも反映した値でもある。したがって、たとえば、使用中メモリ容量Ｕ２が同じであっても、他ジョブＪＢの予約状況に依拠して第１の種類のジョブＪＡ向けのメモリ容量Ｕ１および第１の種類のジョブＪＡ向けの未使用メモリ容量（Ｕ１−Ｕ２）は変化し、割合Ｒも変化する。そして、この割合Ｒに応じて単位量ＤＺを決定することによれば、第１の種類のジョブＪＡ向けのメモリに関する余裕度合い（空き比率Ｒ）を反映させて、状況に応じた適切な単位量ＤＺが決定される。したがって、より効率的な通信を行うことが可能である。このように、単位量ＤＺは、第２の種類のジョブＪＢの予約状況と未使用のメモリ容量とに基づいて適切に設定され、より効率的な通信が行われ得る。
【０１５７】
なお、上記実施形態においては、図１６に基づき単位量ＤＺが離散的な値として算出されているが、これに限定されない。
【０１５８】
たとえば、単位量ＤＺは値Ｒに応じて連続的に変化する値であってもよい。より詳細には、値ＤＺは、式（５）に基づいて算出されるようにしてもよい。
【０１５９】
【数５】
0006405890.tif 000006
【０１６０】
ただし、式（５）により算出された値が上限値（たとえば６４ＫＢ（キロバイト））を超える場合には、値ＤＺは当該上限値に変更され、式（５）により算出された値が下限値（たとえば２ＫＢ（キロバイト））を下回る場合には、値ＤＺは当該下限値に変更されればよい。
【０１６１】
また、上記第３実施形態等においては、バッファメモリ４５の空き容量の絶対量は考慮されていないが、これに限定されない。たとえば、バッファメモリ４５の空き容量が全容量の２０％未満にまで低下したときには、他ジョブＪＢの実行を優先するため、第１の種類のジョブＪＡの実行が禁止される（換言すれば、単位量ＤＺ＝０）ようにしてもよい。
【０１６２】
また、上記第３実施形態等において、ジョブ指数Ｅが所定値ＴＨ３（たとえば、上述の値ＴＨ２よりも大きな値）よりも更に大きい場合には、他ジョブＪＢの実行を優先するため、第１の種類のジョブＪＡの実行が禁止されるようにしてもよい。
【０１６３】
＜４．第４実施形態＞
第４実施形態は、第３実施形態の変形例である。以下、第３実施形態との相違点を中心に説明する。
【０１６４】
上記第３実施形態におけるステップＳ１３の第１段階の処理では、受け付けられたジョブＪＡ、ＪＢ１，ＪＢ２の全てでバッファメモリ４５のメモリ空間を（仮想的に）分配する態様が例示されている。
【０１６５】
一方、この第４実施形態（詳細には、そのステップＳ１３の第１段階の処理）においては、受け付けられたジョブＪＡ、ＪＢ１，ＪＢ２のうち同時実行が不可能なジョブを除外して、バッファメモリ４５のメモリ空間が分配される。
【０１６６】
図１７はこのようなメモリ空間の分配を示す図である。図１７の左側のグラフは、第３実施形態の手法によって全てのジョブＪＡ，ＪＢ１，ＪＢ２に対してメモリ容量が分配された状況を示している。ここでは、第１優先順位のジョブＪＢ１として「インターネットファクシミリ受信ジョブ（単に、ファクシミリ受信ジョブとも称する）」Ｊ４が受け付けられており、且つ第２優先順位のジョブＪＢ２として「印刷出力用データ受信ジョブ（ＰＣプリントジョブとも称する）」Ｊ３も受け付けられているものとする。ファクシミリ受信ジョブＪ４は、ファクシミリデータを受信する処理と受信したファクシミリデータを用いて印刷出力を行う処理とを実行するジョブである。また、ＰＣプリントジョブＪ３は、印刷出力用データを受信する処理と受信した印刷出力用データを用いて印刷出力を行う処理とを実行するジョブである。
【０１６７】
ただし、ＭＦＰ１０の印刷出力部３（プリントエンジン）は、或る時点において１つのいジョブしか実行できない。このようなハードウエアの制約が存在するため、ＭＦＰ１０はファクシミリ受信ジョブＪＢ１と印刷出力用データ受信ジョブ（ＰＣプリントジョブ）ＪＢ２とを同時に実行することができない。そのため、第１優先順位のジョブＪＢ１であるファクシミリ受信ジョブが終了するまでは、第２優先順位のジョブＪＢ２である印刷出力用データ受信ジョブを実行することができない。特に、現時点において、ファクシミリ受信ジョブにおける印刷出力処理（受信したファクシミリデータを用いて印刷出力を行う処理）が行われているときには、ＰＣプリントジョブ（特に、受信した印刷出力用データを用いて印刷出力を行う処理）を実行することができない。
【０１６８】
この第４実施形態では、このようなハードウエアの制約が考慮される。具体的には、ＭＦＰ１０は、ＰＣプリントジョブ（第２優先順位のジョブＪＢ２）をメモリ割当対象ジョブから除外した上で、上記第１段階の処理を実行する。より具体的には、残りのジョブ、すなわちファクシミリ受信ジョブ（第１優先順位のジョブＪＢ１）および第１の種類のジョブＪＡのそれぞれに対する各メモリ容量が図１７の右側のグラフに示すように割り当てられる。
【０１６９】
図１７の左側のグラフと右側のグラフとを比較すると判るように、ＰＣプリントジョブ（第２優先順位のジョブＪＢ２）をメモリ割当対象ジョブから除外することによって、第１の種類のジョブＪＡに割り当てられるメモリ容量Ｕ１が拡大する。
【０１７０】
次に、ステップＳ１３の第２段階の処理（割合Ｒの算出処理）が行われる。
【０１７１】
上述のようなメモリ容量Ｕ１の増大が発生すると、（第１の種類のジョブＪＡに関する使用中メモリ容量Ｕ２（全体の１０％）が同一である場合には、）割合Ｒは増大する。たとえば、第１の種類のジョブＪＡに対する割当メモリ容量Ｕ１が全体の１５％から２１％へと増大すると、割合（空き比率）Ｒは、３３％（＝（１５−１０）／１５）から５２％（＝（２１−１０）／２１）へと増大する。
【０１７２】
そして、このような変更後の割合Ｒに基づいて単位量ＤＺが決定される（ステップＳ１３の第３段階の処理）。たとえば、第１の種類のジョブＪＡに対する割当メモリ容量が全体の１５％から２１％へと増大することに応じて、割合Ｒが３３％から５２％へと増大し、単位量ＤＺは（３２ＫＢではなく）「６４ＫＢ」に設定される。
【０１７３】
さらに、ステップＳ１４の処理等が行われる。ステップＳ１４では、単位量ＤＺに従って、データ転送処理が実行される。
【０１７４】
このように、第４実施形態においては、第２の種類のジョブＪＢのうち同時実行不可能な少なくとも１つのジョブを除外して、第２の種類のジョブＪＢに割り当てるメモリ容量と第１の種類のジョブＪＡに割り当てるメモリ容量Ｕ１とが決定される。第２優先順位のジョブＪＢ２のうちの少なくとも１つのジョブ（ここでは全ジョブＪＢ２）をメモリ割当対象ジョブから除外することによって、第１の種類のジョブＪＡに割り当てられるメモリ容量Ｕ１が拡大し、その結果、単位量ＤＺが増大する。
【０１７５】
以上のような処理によれば、第３実施形態と同様の効果を得ることができる。また、この第４実施形態においては、第２の種類のジョブＪＢのうち同時実行不可能な少なくとも１つのジョブを除外して、バッファメモリ４５において第１の種類のジョブＪＡに割り当てるメモリ容量Ｕ１が決定される。これによれば、第２の種類のジョブＪＢの少なくとも１つのジョブが除外されない場合に比べて、第１の種類のジョブＪＡに割り当てられるメモリ容量Ｕ１が拡大して単位量ＤＺが増大するので、通信速度を向上させることが可能である。
【０１７６】
なお、この第４実施形態においては、受け付けられたジョブＪＡ、ＪＢ１，ＪＢ２のうち「現時点での同時実行」が不可能なジョブＪＢ２を除外してメモリ空間が分配されている。しかしながら、本発明は、これに限定されない。たとえば、受け付けられたジョブＪＡ、ＪＢ１，ＪＢ２のうち「現時点以降の或る時点での同時実行」が不可能なジョブを除外してメモリ空間が分配されるようにしてもよい。より具体的には、現在実行中のジョブＪＢ１に含まれる複数の処理（第１および第２の処理）のうち現在実行中の第１の処理の次に実行される第２の処理（現在実行中のジョブを構成する一部の処理）、とは同時に実行され得ない処理、を含む別の（次の）ジョブＪＢ２が除外されて、メモリ空間が分配されるようにしてもよい。
【０１７７】
より詳細には、現時点において、ファクシミリ受信ジョブＪＢ１におけるファクシミリデータの受信処理（第１の処理）が行われており、未だ印刷出力処理（受信したファクシミリデータを用いて印刷出力を行う処理）（第２の処理）が行われていないものとする。当該現時点以降の或る時点（たとえば数秒後〜数分後）においてファクシミリデータの受信処理が完了すると、当該ファクシミリデータに関する印刷出力処理が実行される。ただし、ハードウエアの制約に起因して、当該ファクシミリデータに関する印刷出力処理（ジョブＪＢ１を構成する一部の処理である第２の処理）と、その次のＰＣプリントジョブＪＢ２の印刷出力処理（コンピュータ９０ｃから受信した印刷出力用データを用いて印刷出力を行う処理）とは同時実行され得ない。換言すれば、現時点以降の或る時点（具体的には、ジョブＪＢ１に関する第２の処理時点（印刷出力時点））において、ＰＣプリントジョブＪＢ２はジョブＪＢ１と同時に実行され得ない。このような状況において、既に受け付けられたジョブＪＡ、ＪＢ１，ＪＢ２のうち「現時点以降の或る時点での同時実行」が不可能なＰＣプリントジョブＪＢ２を除外してメモリ空間が分配されるようにしてもよい。
【０１７８】
このようにして、受け付けられたジョブＪＡ、ＪＢ１，ＪＢ２のうち同時実行が不可能な１つのジョブ（より詳細には低優先度のジョブＪＢ２）を除外してメモリ空間が分配されるようにしてもよい。
【０１７９】
また、上記実施形態等においては、同時実行不可能なジョブＪＢが２つ存在する場合において、一方のジョブＪＢ（より詳細には低優先度のジョブＪＢ２）を除外して、ジョブＪＢに割り当てるメモリ容量およびジョブＪＡに割り当てられるメモリ容量が決定されているが、これに限定されない。たとえば、同時実行不可能なジョブＪＢが３つ以上存在する場合において、１つ又は２つ以上のジョブＪＢを除外して、ジョブＪＢに割り当てるメモリ容量およびジョブＪＡに割り当てられるメモリ容量が決定されるようにしてもよい。
【０１８０】
＜５．第５実施形態＞
第５実施形態は、第３実施形態の変形例である。以下では、第３実施形態との相違点を中心に説明する。
【０１８１】
この第５実施形態においては、ジョブの数のみならず、ジョブの大きさもが考慮されて、各ジョブＪＡ、ＪＢ１，ＪＢ２に対するメモリ容量の分配処理が行われる。
【０１８２】
図１８の左側のグラフは、第５実施形態に係るジョブの受付状況（予約状況）を概念的に示す図である。ここでは、第１の種類のジョブＪＡの他に第２の種類の複数のジョブＪＢも受け付けられているものとする。
【０１８３】
具体的には、第２の種類のジョブＪＢのうち第１優先順位のジョブＪＢ１として、２つのジョブＪＢ１１，ＪＢ１２が受け付けられており、第２の種類のジョブＪＢのうち第２優先順位のジョブＪＢ２として、４つのジョブＪＢ２１〜ＪＢ２４が受け付けられている。これらのジョブＪＢ１１，ＪＢ１２，ＪＢ２１〜ＪＢ２４は、いずれも、所定サイズ（たとえば５ＭＢ（メガバイト））以下であるものとする。
【０１８４】
また、これらのジョブに加えて、さらに第２の種類のジョブＪＢ２５が受け付けられる場合（図１８の左側のグラフ参照）において、ＭＦＰ１０は、当該ジョブＪＢ２５のサイズが所定値（たとえば５ＭＢ（メガバイト））以上であるときには、当該ジョブＪＢ２５を他のジョブＪＢ２１〜ＪＢ２４とは同時実行しない（並列処理しない）ことを決定する。詳細には、ＭＦＰ１０は、当該ジョブＪＢ２５を他のジョブＪＢ２１〜ＪＢ２４の終了後に実行する旨を決定する。そして、ＭＦＰ１０は、ジョブＪＢ２５を除外した上で、（第３実施形態と同様にして）第２の種類のジョブＪＢに割り当てるメモリ容量を決定するとともに第１の種類のジョブＪＡに割り当てるメモリ容量を決定する。図１８の右側のグラフは、ジョブＪＢ２５を除外した上で決定された、各ジョブに対するメモリ容量の分配状況を示す概念図である。
【０１８５】
このような処理が、ステップＳ１３の第１段階の処理として実行された後、さらにステップＳ１３における第２段階の処理および第３段階の処理、ならびにステップＳ１４の処理等が行われる。
【０１８６】
以上のような処理によれば、所定サイズ以上のジョブＪＢ２（ＪＢ２５）を除外して第２の種類のジョブＪＢと第１の種類のジョブＪＡとに対してメモリ容量が割り当てられる。そのため、所定サイズ以上のジョブを除外せずに第１の種類のジョブＪＡに対するメモリ容量が割り当てられる場合に比べて、比較的大きなメモリ容量が（結果的に）第１の種類のジョブＪＡに割り当てられる。その結果、割合Ｒは、比較的大きな値になり、単位量ＤＺも比較的大きな値になるので、より効率的な通信が行われ得る。
【０１８７】
＜６．第６実施形態＞
上記各実施形態においては、単一の第１の種類のジョブＪＡが実行される場合について主に例示されている。
【０１８８】
この第６実施形態では、複数の第１の種類のジョブＪＡが実行される態様について主に例示する。
【０１８９】
複数の第１の種類のジョブＪＡが実行される場合には、上記各実施形態で求められた単位量ＤＺに対応する通信能力が複数の第１の種類のジョブＪＡによって分配される。
【０１９０】
また、この第６実施形態では、複数の第１の種類のジョブＪＡを複数のランク（異なる優先順位）のジョブに分類し、各ジョブＪＡの優先順位にも基づいて、当該各ジョブの単位量ＤＺが決定される。具体的には、各第１の種類のジョブＪＡは、その優先順位に基づいて、第１順位のランクＲＡと第２順位のランクＲＢとを含む複数のランク（ここでは２つのランクＲＡ，ＲＢ）に分類される。所定程度以上に高い優先度を有する第１の種類のジョブＪＡ（ハードウエア制御を伴うジョブ等）は、第１順位のランクＲＡに分類され、所定程度よりも低い優先度を有する第１の種類のジョブＪＡ（添付データを送信するジョブ等）は、第２順位のランクＲＢに分類される。そして、第１の種類のジョブＪＡとして、いずれのランクのジョブが受け付けられているか等に応じて、個別の各ジョブＪＡに関する個別の単位量ＤＺ（ＺＲ）がそれぞれ決定される。
【０１９１】
図１９は、第６実施形態に係るステップＳ１４の処理を示すフローチャートである。
【０１９２】
ここでは、各実施形態におけるステップＳ１３までの処理において、第１の種類のジョブＪＡに関する単位量ＤＺ（ＺＳとも表記する）（たとえば「６４ＫＢ（キロバイト）」）が決定されているものとする。なお、当該単位量ＺＳは、より正確には、全ての第１の種類のジョブＪＡ向けに割り当てられたメモリ容量を反映した値であり、最終的な個別のジョブに関する単位量ＤＺ（ＺＲとも表記する）とは本来的には異なる値である。単位量ＺＳは、個別のジョブに関する個別の単位量ＺＲを算出するための基本値である、とも表現される。この第６実施形態では、単位量（の基本値）ＺＳに基づいて（値ＺＳが分配されて）単位量ＺＲが決定される。なお、上記第１〜第５実施形態においては、第１の種類のジョブＪＡが１個のみ存在しており、値ＺＲは値ＺＳと同じ値であるとして算出されている。
【０１９３】
その後、図１９のステップＳ３３において、第１の種類のジョブＪＡとして、２種類のランクＲＡ，ＲＢのジョブＪＡが混在しているか否かが判定される。第１の種類のジョブＪＡとしてランクＲＡのジョブＪＡのみが受け付けられているときには、２種類のランクＲＡ，ＲＢのジョブＪＡが混在していないと判定され、ステップＳ３４に進む。同様に、第１の種類のジョブＪＡとしてランクＲＢのジョブＪＡのみが受け付けられているときにも、２種類のランクＲＡ，ＲＢのジョブＪＡが混在していないと判定され、ステップＳ３４に進む。
【０１９４】
ステップＳ３４においては、同一順位ジョブＪＡ相互間で、第１の種類のジョブＪＡの全体に割り当てられた単位量ＤＺ（ＺＳ）を同等に分配して各ジョブＪＡの単位量ＤＺが決定され、少なくとも１つのジョブＪＡが実行される。
【０１９５】
たとえば、第１の種類のジョブＪＡとして、ランクＲＡの単一のジョブＪＡ１１のみが受け付けられているときには、図２０に示すように、当該単一のジョブＪＡ１１に関する単位量ＤＺ（ＺＲ）はそのまま「６４ＫＢ」として決定される。
【０１９６】
また、第１の種類のジョブＪＡとして、複数（たとえば２つ）のランクＲＡのジョブＪＡ１１，ＪＡ１２のみが受け付けられているときには、図２１に示すように、第１の種類のジョブＪＡに関する単位量ＤＺ（ＺＳ）は、当該２つのジョブＪＡ１１，ＪＡ１２で同等に分配される。たとえば、第１の種類のジョブＪＡに関する単位量ＤＺ（ＺＳ）が「６４ＫＢ」である旨がステップＳ１３で決定されているときには、当該２つのジョブＪＡ１１，ＪＡ１２で同等に分配され、各ジョブＪＡ１１，ＪＡ１２に関する各単位量ＤＺ（ＺＲ）としてそれぞれ同じ値（「３２ＫＢ」）が最終的に決定される。
【０１９７】
同様に、第１の種類のジョブＪＡとして、複数（たとえば２つ）のランクＲＢのジョブＪＡ２１，ＪＡ２２のみが受け付けられているときには、図２２に示すように、第１の種類のジョブＪＡに関する単位量ＤＺ（ＺＳ）は、当該２つのジョブＪＡ２１，ＪＡ２２で同等に分配される。たとえば、第１の種類のジョブＪＡに関する単位量ＤＺ（ＺＳ）が「６４ＫＢ」である旨がステップＳ１３で決定されているときには、当該２つのジョブＪＡ２１，ＪＡ２２で同等に分配され、各ジョブＪＡ２１，ＪＡ２２に関する各単位量ＤＺ（ＺＲ）としてそれぞれ同じ値（「３２ＫＢ」）が最終的に決定される。
【０１９８】
また、第１の種類のジョブＪＡとして、ランクＲＢの単一のジョブＪＡ２１のみが受け付けられているときには、当該単一のジョブＪＡ２１に関する単位量ＤＺ（ＺＲ）はそのまま「６４ＫＢ」として決定されればよい。
【０１９９】
このようにして決定された各単位量ＤＺに基づいて、コントローラ９（通信制御部１１）は、画像形成装置内の所定のソフトウエアモジュールからＮＩＣ４３（バッファメモリ４５）へとデータを送信する。このとき、コントローラ９（通信制御部１１）は、送信対象のデータを上述のステップＳ３４で新たに決定された単位量ＤＺ（ＺＲ）ごとに分割し、当該新たな単位量ＤＺ（ＺＲ）ごとの送信単位データをそれぞれ、バッファメモリ４５に対して送信する。その後、第１実施形態と同様の処理が行われる。たとえば、ＮＩＣ４３は、一定程度のデータ量（たとえば、１５００ＫＢ（キロバイト））が当該バッファメモリ４５に蓄積されると、当該一定程度のデータ量のデータを外部装置へと送信する。
【０２００】
このようにして、少なくとも１つの同一ランクの第１の種類のジョブＪＡが実行される。特に、複数の同一ランクの第１の種類のジョブＪＡが受け付けられている場合には、当該複数の同一ランクの第１の種類のジョブＪＡが並列的に処理される。
【０２０１】
一方、図１９のステップＳ３３において、２種類のランクＲＡ，ＲＢのジョブＪＡが混在していると判定される場合には、ステップＳ３５に進む。
【０２０２】
ステップＳ３５では、ステップＳ１３で決定された単位量ＤＺが、所定値ＴＢよりも大きい（ＤＺ＞ＴＢ）か否かが判定される。所定値ＴＢは、第１順位のランクＲＡの少なくとも１つのジョブを実行する際の単位量ＤＺ（ＺＳ）として望ましい値であるとして予め定められた値（たとえば、（ジョブ１個あたり）「４０ＫＢ（キロバイト）」）である。所定値ＴＢは、第１の種類のジョブＪＡの通信に関して好適な通信速度を実現するための望ましい単位量ＤＺである、とも表現される。所定値ＴＢは、第１順位のランクＲＡの第１の種類のジョブＪＡの数に応じて増大する値である。所定値ＴＢは、第１順位のランクＲＡの第１の種類のジョブＪＡごとの個別の閾値ＴＣ（たとえば「４０ＫＢ」）に第１順位のランクＲＡの第１の種類のジョブＪＡの数（たとえば、「２個」）を乗じた値（たとえば「８０ＫＢ」）である。たとえば、第１順位のランクＲＡの単一のジョブＪＡが存在する場合には、所定値ＴＢは「４０ＫＢ」であり、第１順位のランクＲＡの２つのジョブＪＡが存在する場合には、所定値ＴＢは「８０ＫＢ」（＝４０ＫＢ×２）である。
【０２０３】
ステップＳ３５において、単位量ＤＺ（ＺＳ）が所定値ＴＢよりも大きいと判定される場合にはステップＳ３６に進む。
【０２０４】
ステップＳ３６では、十分な単位量ＤＺ（ＺＳ）が第１の種類のジョブＪＡに対して割り当てられていると判定され、２種類のランクＲＡ，ＲＢのジョブＪＡが並列的に処理される。このとき、ランクＲＢのジョブＪＡよりもランクＲＡのジョブＪＡに対して優先的にバッファメモリ４５のリソースが割り当てられて、各単位量ＤＺが決定される。
【０２０５】
たとえば、ランクＲＡの単一のジョブＪＡ１１とランクＲＢの２つのジョブＪＡ２１，ＪＡ２２とが受け付けられている場合において、ステップＳ１３で決定された単位量ＤＺ（「６４ＫＢ」）が、所定値ＴＢ（「４０ＫＢ」）よりも大きいと判定される（ステップＳ３５）ときには、図２３に示すような各単位量ＤＺが決定される。
【０２０６】
具体的には、第１順位のランクＲＡの第１の種類のジョブＪＡに関する個別の単位量ＤＺ（ＺＲ）は個別の閾値ＴＣ（「４０ＫＢ」）以上の値に設定される。また、第２順位のランクＲＢの第１の種類のジョブＪＡに関する個別の単位量ＤＺ（ＺＲ）は、第１順位のランクＲＢの第１の種類のジョブＪＡに関する個別の単位量ＤＺ（ＺＲ）よりも小さな値に設定される。
【０２０７】
詳細には、まず、第１順位のランクＲＡの単一のジョブＪＡ１１を優先的に処理するため、当該単一のジョブＪＡ１１向けの新たな単位量ＤＺ（ＺＲ）として個別の閾値ＴＣ（「４０ＫＢ」）が決定される。そして、ステップＳ１３で決定された単位量ＤＺ（ＺＳ）（「６４ＫＢ」）からランクＲＡのジョブＪＡ１向けの割当量（ここでは（「４０ＫＢ」）を差し引いた残余の値（「２４ＫＢ」）が、ランクＲＢのジョブＪＡ２向けの単位量ＤＺ（総合値）として決定される。さらに、当該単位量ＤＺ（総合値）がランクＲＢの２つのジョブＪＡ２１，ＪＡ２２で分配される。たとえば、各ジョブＪＡ２１，ＪＡ２２の新たな単位量ＤＺ（ＺＲ）は、それぞれ、「１２ＫＢ」に決定される。なお、ここでは、当該単一のジョブＪＡ１１向けの新たな単位量ＤＺ（ＺＲ）は、個別の閾値ＴＣ（「４０ＫＢ」）に設定されているが、これに限定されず、個別の閾値ＴＣより大きな値に設定されてもよい。
【０２０８】
このようにして決定された各単位量ＤＺ（ＺＲ）に基づいて、コントローラ９（通信制御部１１）は、画像形成装置内の所定のソフトウエアモジュールからＮＩＣ４３（バッファメモリ４５）へとデータを送信する。このとき、コントローラ９（通信制御部１１）は、送信対象のデータを上述のステップＳ３６で新たに決定された単位量ＤＺ（ＺＲ）ごとに分割し、当該新たな単位量ＤＺごとの送信単位データをそれぞれ、バッファメモリ４５に対して送信する。その後、第１実施形態と同様の処理が行われる。
【０２０９】
このようにして、異なるランクの複数の第１の種類のジョブＪＡが実行される。特に、ランクＲＡに関する単位量ＤＺ（ＺＳ）が所定値ＴＢより大きい場合には、当該複数の異なるランクの第１の種類のジョブＪＡが並列的に処理される。
【０２１０】
また、ステップＳ３５において、単位量ＤＺ（ＺＳ）が所定値ＴＢ以下であると判定される場合にはステップＳ３７に進む。
【０２１１】
ステップＳ３７では、ランクＲＡのジョブＪＡとランクＲＢのジョブＪＡとをこの順序で逐次的に（順次に）処理する旨が決定される。複数のジョブを優先度合いに応じて逐次的に処理することによれば、或る時点で同時並列的に実行されるジョブの数が低減されるので、優先度合いに応じた、より効率的な通信が行われ得る。なお、或る時点において、低減された数のジョブ（具体的には、同一ランクの複数のジョブＪＡ）が並列的に実行される際には、ステップＳ１３で決定された単位量ＤＺ（ＺＳ）は当該複数のジョブＪＡに対して同等に分配され、各ジョブＪＡに関する個別の単位量ＤＺ（ＺＲ）が決定される。
【０２１２】
たとえば、ランクＲＡの２つのジョブＪＡ１１，ＪＡ１２とランクＲＢの２つのジョブＪＡ２１，ＪＡ２２との合計４つのジョブＪＡが受け付けられている場合を想定する（図２４参照）。この場合、所定値ＴＢは、ランクＲＡの２個分のジョブＪＡに対する値であり、たとえば「８０ＫＢ」（＝４０ＫＢ＊２））である。そして、ステップＳ３５において、ステップＳ１３で決定された単位量ＤＺ（ＺＳ）（「６４ＫＢ」）が、所定値ＴＢ（ここでは「８０ＫＢ」）よりも小さいと判定され、ステップＳ３７に進む。
【０２１３】
ステップＳ３７では、２種類のランクＲＡ，ＲＢのジョブＪＡを逐次的に処理する旨が決定される。具体的には、ステップＳ３７では、４つのジョブＪＡ１１，ＪＡ１２，ＪＡ２１，ＪＡ２２のうち、まず、ランクＲＡの２つのジョブＪＡ１１，ＪＡ１２を（並列的に）実行する旨が決定される。また、４つから２つに低減された数のジョブ（具体的には、同一ランクＲＡの２つのジョブＪＡ１１，ＪＡ１２）を並列的に処理する旨が決定されるとともに、これら２つのジョブＪＡ１１，ＪＡ１２に対して同等の単位量ＤＺ（ＺＲ）が決定される。詳細には、ステップＳ１３で決定された単位量ＤＺ（ＺＳ）（「６４ＫＢ」）が２つのジョブＪＡ１１，ＪＡ１２で同等に分配され、各ジョブＪＡ１１，ＪＡ１２の各単位量ＤＺ（ＺＲ）は、それぞれ、同じ値（「３２ＫＢ」）に決定される。
【０２１４】
このようにして決定された各単位量ＤＺ（ＺＲ）に基づいて、コントローラ９（通信制御部１１）は、画像形成装置内のソフトウエアモジュール３２からＮＩＣ４３（バッファメモリ４５）へとデータを送信する。このとき、コントローラ９（通信制御部１１）は、送信対象のデータを上述のステップＳ３７で新たに決定された単位量ＤＺ（ＺＲ）ごとに分割し、当該新たな単位量ＤＺ（ＺＲ）ごとの送信単位データをそれぞれ、バッファメモリ４５に対して送信する。その後、第１実施形態と同様の処理が行われる。
【０２１５】
次に、ランクＲＡの２つのジョブＪＡ１１，ＪＡ１２が終了すると、ランクＲＢの２つのジョブＪＡ２１，ＪＡ２２を（並列的に）実行する旨が決定される。また、当該残りの２つのジョブ（同一ランクＲＢの２つのジョブＪＡ２１，ＪＡ２２）を並列的に処理する旨が決定されるとともに、これら２つのジョブＪＡ２１，ＪＡ２２に対して同等の単位量ＤＺ（ＺＲ）が決定される。詳細には、ステップＳ１３で決定された単位量ＤＺ（ＺＳ）（「６４ＫＢ」）が２つのジョブＪＡ２１，ＪＡ２２で同等に分配され、各ジョブＪＡ２１，ＪＡ２２の各単位量ＤＺ（ＺＲ）は、それぞれ、同じ値（「３２ＫＢ」）に決定される。
【０２１６】
このようにして決定された各単位量ＤＺ（ＺＲ）に基づいて、コントローラ９（通信制御部１１）は、画像形成装置内のソフトウエアモジュール３２からＮＩＣ４３（バッファメモリ４５）へとデータを送信する。このとき、コントローラ９（通信制御部１１）は、送信対象のデータを上述のステップＳ３７で新たに決定された単位量ＤＺ（ＺＲ）ごとに分割し、当該新たな単位量ＤＺ（ＺＲ）ごとの送信単位データをそれぞれ、バッファメモリ４５に対して送信する。その後、第１実施形態と同様の処理が行われる。
【０２１７】
以上のようにして、異なるランクの複数の第１の種類のジョブＪＡが実行される。特に、ランクＲＡに関する単位量ＤＺが所定値ＴＢより小さい場合には、当該複数の異なるランクＲＡ，ＲＢの第１の種類のジョブＪＡがランク別に処理されるとともに、当該複数の異なるランクＲＡ，ＲＢの第１の種類のジョブＪＡが逐次的に処理される。
【０２１８】
以上のような態様によれば、第１の種類のジョブＪＡに関する各単位量ＤＺ（ＺＲ）が適切に決定される。
【０２１９】
なお、上記第６実施形態においては、第１の種類のジョブＪＡに関する単位量ＤＺ（ＺＳ）を複数のジョブＪＡで同等に分配するに際して、単純に分割して個別のジョブの単位量ＤＺ（ＺＲ）が算出されているが、これに限定されない。ｎ個のジョブＪＡで同等に分配するに際して、単位量ＤＺ（ＺＳ）を単純にｎ分割した値（３２ＫＢ）以外の値（３０ＫＢ（あるいは４０ＫＢ）等）が個別のジョブＪＡの各単位量ＤＺ（ＺＲ）としてそれぞれ決定されるようにしてもよい。たとえば、図２１等において、「６４ＫＢ」を２分割した値（３２ＫＢ）以外の値（３０ＫＢ（あるいは４０ＫＢ）等）が各ジョブＪＡ（ＪＡ１１，ＪＡ１２等）の各単位量ＤＺ（ＺＲ）としてそれぞれ決定されるようにしてもよい。同様に、図２３において、「２４ＫＢ」を２分割した値（１２ＫＢ）以外の値（１０ＫＢ（あるいは１５ＫＢ）等）が各ジョブＪＡ２１，ＪＡ２２の各単位量ＤＺ（ＺＲ）としてそれぞれ決定されるようにしてもよい。
【０２２０】
＜７．変形例等＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０２２１】
たとえば、上記各実施形態においては、第２の種類のジョブＪＢに関して、制御不可能ジョブ等を第１優先順位ジョブＪＢ１とし、部分制御可能ジョブ等を第２優先順位ジョブＪＢ２とする態様が例示されているが、これに限定されない。たとえば、ＭＦＰ１０の操作部６（タッチパネル２５等）に対するユーザ操作を伴うジョブを第１優先順位ジョブＪＢ１とし、ＭＦＰ１０の操作部６（タッチパネル２５等）に対するユーザ操作を伴わないジョブ（ＰＣプリントジョブ）を第２優先順位ジョブＪＢ２とするようにしてもよい。
【０２２２】
また、条件に応じた各種の分岐処理における等号成立時は、分岐後の他方の処理が実行されるようにしてもよい。たとえば、図６において、ジョブ指数Ｅに関して、Ｅ＝ＴＨ１のときには、（ＤＺ＝５２ではなく）ＤＺ＝６４として決定されるようにしてもよい。メモリの空き容量等に関しても同様である。あるいは、図１９のフローチャートのステップＳ３５において、ＤＺ＝ＴＢのときには、（ステップＳ３７の処理ではなく）ステップＳ３６の処理が実行されるようにしてもよい。
【符号の説明】
【０２２３】
１  画像形成システム
１０  ＭＦＰ（画像形成装置）
３２  ソフトウエアモジュール
４３  ＮＩＣ
４５  バッファメモリ
７０，９０  コンピュータ
３１０  メモリ情報
３２０  ジョブ状況情報
ＤＺ，ＺＲ，ＺＳ  単位量
Ｅ  ジョブ指数
ＪＡ  第１の種類のジョブ
ＪＢ  第２の種類のジョブ
【図１】
0006405890.tif 000007
【図２】
0006405890.tif 000008
【図３】
0006405890.tif 000009
【図４】
0006405890.tif 000010
【図５】
0006405890.tif 000011
【図６】
0006405890.tif 000012
【図７】
0006405890.tif 000013
【図８】
0006405890.tif 000014
【図９】
0006405890.tif 000015
【図１０】
0006405890.tif 000016
【図１１】
0006405890.tif 000017
【図１２】
0006405890.tif 000018
【図１３】
0006405890.tif 000019
【図１４】
0006405890.tif 000020
【図１５】
0006405890.tif 000021
【図１６】
0006405890.tif 000022
【図１７】
0006405890.tif 000023
【図１８】
0006405890.tif 000024
【図１９】
0006405890.tif 000025
【図２０】
0006405890.tif 000026
【図２１】
0006405890.tif 000027
【図２２】
0006405890.tif 000028
【図２３】
0006405890.tif 000029
【図２４】
0006405890.tif 000030