(57)【要約】      （修正有）【課題】データ転送の遅延の発生を抑制することができるデータ通信制御装置、データ通信制御方法及びプログラムを提供する。【解決手段】パケットのメモリへの格納が完了したと判断した場合、パケットの色情報及びパケットサイズ情報とコンピュータからの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブルを更新する（ステップＳ５０５）と共に、パケットの印刷装置への送信が完了した場合には、メモリ管理テーブルにおいて、送信したパケットが格納されていた領域を管理しているテーブルを、空き領域で最も格納順番の遅い管理テーブルとして必要な更新を行うとともに、パケットを格納している領域を管理しているテーブルの内、送信したパケットの１つ前に受信したパケットが格納されている領域を管理しているテーブルの受信順番情報を更新する（ステップＳ５０９）。【選択図】図１０
2006301797.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と画像形成装置との間でデータの通信を制御するデータ通信制御装置において、
前記情報処理装置からデータを受信する受信手段と、
前記受信手段により受信されたデータを複数の領域のいずれかに格納する格納手段と、
前記画像形成装置に前記格納されたデータを送信する送信手段と、
前記格納手段におけるデータの格納状況を記憶する管理テーブル手段と、
前記画像形成装置から、前記画像形成装置の状況を示す装置情報を取得する装置情報取得手段と、
前記管理テーブル手段を参照することで、前記格納手段におけるデータの格納状況に応じて、前記受信手段が受信したデータを格納する領域を決定し、領域の決定に従って前記管理テーブル手段を更新すると共に、前記管理テーブル手段と前記装置情報取得手段が取得した装置情報とを参照することで、前記格納手段におけるデータの格納状況及び前記画像形成装置の状況に応じて、前記送信手段によって送信されるデータを格納する領域を決定し、領域の決定に従って前記管理テーブル手段を更新する制御手段と
を備えることを特徴とするデータ通信制御装置。
【請求項２】
前記データは印刷画像データであることを特徴とする請求項１記載のデータ通信制御装置。
【請求項３】
前記格納手段は前記データを含むパケットを複数の領域のいずれかに格納し、
前記パケットは、色情報、パケットサイズ情報及び印刷画像データを備えるパケットであり、最大のパケットサイズは予め前記情報処理装置で定められていることを特徴とする請求項１又は２記載のデータ通信制御装置。
【請求項４】
前記画像形成装置は、シアン、マジェンダ、イエロー、ブラック及びその他のデータのように色ごとに格納する領域が分けられて構成されたバッファを備え、前記装置情報取得手段が取得する装置情報は、それぞれのバッファ領域の空き情報を含むことを特徴とする請求項１乃至３のいずれか１項記載のデータ通信制御装置。
【請求項５】
前記管理テーブル手段は、データが格納された領域の情報、及びデータが格納されていない領域の情報を管理しており、前記データが格納された領域の情報として、該データの格納先の先頭アドレス情報、該データの情報処理装置からの受信順番情報、色情報及びデータサイズ情報を含み、さらに、前記データが格納されていない領域の情報として、空き領域の先頭アドレス情報、該空き領域の受信順番情報を含むことを特徴とする請求項１乃至４のいずれか１項記載のデータ通信制御装置。
【請求項６】
前記制御手段は、前記受信手段が前記データを受信した際、前記管理テーブル手段を参照して、前記データが格納されていない領域の情報が存在する場合、空き領域の受信順番情報を元に、最もパケットを受信する順番の早い空き領域の先頭アドレス情報を前記受信手段に渡すことで、該データを格納する領域を決定することを特徴とする請求項５記載のデータ通信制御装置。
【請求項７】
前記制御手段は、前記受信手段が前記データを受信した際、該データの色情報及びデータサイズ情報を保持し、前記格納手段に該データが格納されたことを確認した後、前記管理テーブル手段における該データが格納された領域の情報を、データが格納されていない領域の情報からデータが格納された領域の情報として更新し、その際、前記情報処理装置からの受信順番情報は最も遅い順番であるとし、色情報及びデータサイズ情報は保持していた情報を書き込むことを特徴とする請求項５記載のデータ通信制御装置。
【請求項８】
前記制御手段は、前記管理テーブル手段を参照して、前記データが格納された領域の情報が存在する場合、前記情報処理装置からの受信順番情報と前記装置情報取得手段が取得する装置情報とを元に、最も受信順番が早く且つ前記画像形成装置に送信可能な色情報をもつデータを決定し、該データの格納先の先頭アドレス情報を前記送信手段に渡すことで、前記画像形成装置に送信するデータを格納する領域を決定する請求項５記載のデータ通信制御装置。
【請求項９】
前記制御手段は、前記送信手段が前記データを送信した際、前記管理テーブル手段における該データが格納されていた領域の情報を、当該データが格納された領域の情報から当該データが格納されていない領域の情報として更新し、その際、空き領域の受信順番情報は最も遅い順番であるとし、色情報及びデータサイズ情報は消去することを特徴とする請求項５記載のデータ通信制御装置。
【請求項１０】
情報処理装置と画像形成装置との間でデータの通信を制御するデータ通信制御装置で実行されるデータ通信制御方法において、
前記情報処理装置から前記データを受信したか否かを判断する受信判断ステップと、
前記受信判断ステップにおいて受信したと判断された場合、当該受信したデータの情報を保持し、且つ受信した該データを格納するメモリのメモリアドレスを発生させる受信手続きステップと、
前記受信手続きステップにおいてメモリアドレスを発生させたデータの前記メモリへの格納が終了したか否かを判断する受信終了判断ステップと、
前記受信終了判断ステップにおいて、前記受信したデータの前記メモリへの格納が終了したと判断した場合、前記受信手続きステップにおいて保持していたデータの情報と前記情報処理装置からの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブルを更新する第１メモリ管理テーブル更新ステップと、
前記メモリ管理テーブルと前記画像形成装置から取得された装置情報に応じて、前記画像形成装置に送信可能なデータがあるか否かを判断する送信判断ステップと、
前記送信判断ステップにおいて送信可能なデータがあると判断した場合、前記メモリ管理テーブルを元に、送信するデータを決定し、該データを格納している格納領域のメモリアドレスを発生させる送信手続きステップと、
前記送信手続きステップにおいて、メモリアドレスを発生させたデータの前記画像形成装置への送信が終了したか否かを判断する送信終了判断ステップと、
前記送信終了判断ステップにおいて前記データの前記画像形成装置への送信が終了したと判断した場合、前記メモリ管理テーブルにおける該データが格納されていた格納領域の情報に関して、データの受信順番が最も遅いとした空き領域のデータの受信順番情報と、色情報及びデータサイズ情報をクリアすることで更新する第２メモリ管理テーブル更新ステップとを備え、
前記データの複数から成る１つの印刷ジョブデータを全て前記画像形成装置に送信するまで前記複数のステップを繰り返すことを特徴とするデータ通信制御方法。
【請求項１１】
情報処理装置と画像形成装置との間でデータの通信を制御するコンピュータで実行されるプログラムにおいて、
前記情報処理装置から前記データを受信したか否かを判断する受信判断モジュールと、
前記受信判断モジュールにおいて受信したと判断された場合、当該受信したデータの情報を保持し、且つ受信した該データを格納するメモリのメモリアドレスを発生させる受信手続きモジュールと、
前記受信手続きモジュールにおいてメモリアドレスを発生させたデータの前記メモリへの格納が終了したか否かを判断する受信終了判断モジュールと、
前記受信終了判断モジュールにおいて、前記受信したデータの前記メモリへの格納が終了したと判断した場合、前記受信手続きモジュールにおいて保持していたデータの情報と前記情報処理装置からの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブルを更新する第１メモリ管理テーブル更新モジュールと、
前記メモリ管理テーブルと前記画像形成装置から取得された装置情報に応じて、前記画像形成装置に送信可能なデータがあるか否かを判断する送信判断モジュールと、
前記送信判断モジュールにおいて送信可能なデータがあると判断した場合、前記メモリ管理テーブルを元に、送信するデータを決定し、該データを格納している格納領域のメモリアドレスを発生させる送信手続きモジュールと、
前記送信手続きモジュールにおいて、メモリアドレスを発生させたデータの前記画像形成装置への送信が終了したか否かを判断する送信終了判断モジュールと、
前記送信終了判断モジュールにおいて前記データの前記画像形成装置への送信が終了したと判断した場合、前記メモリ管理テーブルにおける該データが格納されていた格納領域の情報に関して、データの受信順番が最も遅いとした空き領域のデータの受信順番情報と、色情報及びデータサイズ情報をクリアすることで更新する第２管理テーブル更新モジュールとを備え、
前記データの複数から成る１つの印刷ジョブデータを全て前記画像形成装置に送信するまで前記複数のモジュールの処理を前記コンピュータで繰り返し実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータから受信した印刷画像データをバッファして、印刷装置に送信する際の制御を実行するデータ通信制御装置、データ通信制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来のプリンタは、プリンタに接続されたコンピュータから印刷指示のあった場合、コンピュータ内で印刷画像の情報をページ記述言語で記述された印刷データに変換して、当該印刷データをプリンタに転送する。プリンタでは、プリンタに組み込まれた専用のハードウェア回路などによって印刷データにレンダリング処理を施し、形成されたドットイメージデータをプリントエンジンの紙搬送に同期して半導体レーザユニットに転送し、レーザ照射によって感光ドラムに帯電させて、違う極に帯電したトナーを付着させ、搬送されてきた紙に転写し、ヒーターによる熱で定着させて画像を印刷出力する。
【０００３】
電子写真方式を用いたレーザプリンタにおいて、ホストベースと呼ばれる技術がある。ホストベースプリンタではレンダリング処理をホストコンピュータのソフトウェアで実行する。ホストコンピュータでは、レンダリング処理、画像処理及び高圧縮処理を施した後、プリントエンジンの半導体レーザユニットが感光ドラムに照射するデータ順に、印刷画像データをホストベースプリンタに転送する。ホストベースプリンタは、適度な容量のバッファ及び伸張回路を備えており、ホストコンピュータから転送されてきた印刷画像データを伸張しながら、プリントエンジンに同期してFIFOでドットイメージデータをレーザユニットに転送する。
【０００４】
ホストベースプリンタの場合、ホストコンピュータ側のソフトウェアでレンダリング処理及び必要な画像処理がなされるため、ホストベースプリンタ側のハードウェアリソースの削減が可能となる。また、ホストベースプリンタは、ホストコンピュータからの印刷画像データの受信と同時に、印刷画像データの伸張、そしてプリントエンジンへのドットイメージデータの転送を行う仕組みとなっているため、内蔵されるバッファは１ページ全て分のデータを保持する必要はなく、小容量のバッファで済む。しかし、一度印刷をスタートしたらデータ転送の遅延は許されず、特に印刷速度の速いプリントエンジンの場合、印刷画像データの高速転送が必要となる。そのため、最近ではUSB2.0のHSモードを採用したホストベースプリンタが増えている。
【０００５】
近年、ホストベースプリンタでも４Dカラーエンジンが採用され始めている。この４Dカラーエンジンは、C（シアン）、M（マゼンタ）、Y（イエロー）、K（ブラック）それぞれの色に対してレーザ及び感光ドラムが用意され、搬送されてくる紙にそれぞれトナーを付着した感光ドラムからトナーを転写し、最後に一度に定着を施す仕組みとなっている。また、ホストベースにおける４Dカラープリンタの印刷データパスは、それぞれの色ごとにバッファ、伸張回路が用意された構成となっており、ホストコンピュータから転送されてきた印刷画像データを色ごとに各バッファに振り分け、印刷画像データの伸張及びレーザユニットへのドットイメージデータの転送は色ごとに独立して実行される。
【０００６】
また一方で、ホストベースプリンタの低コスト性に加え、益々の印刷速度の高速化に伴い、オフィスなどのビジネスシーンでの需要が高まってきている。オフィスでのプリンタ使用状況は、LANケーブルによる接続が一般的であり、そのためプリンタのネットワーク対応化が望まれる。プリンタのネットワーク印刷は、ネットワークプロトコルの処理と、印刷データをホストコンピュータから受け取ってプリンタに転送する処理、を兼ね備えたプリントサーバが必要となる。（例えば、特許文献１参照。）
【特許文献１】特開２００１−０９２６０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ホストベースプリンタの場合、前述のように一度印刷スタートをかけたら、プリントエンジンの紙搬送速度に対して印刷画像データの転送に遅延が発生すると、正しい印刷が実行されない。従って、ホストベースプリンタにおけるネットワーク印刷の実行は、プリントサーバが極力ボトルネックとならないような構成であることが望まれる。
【０００８】
しかしながら、４Dカラーエンジンのホストベースプリンタでのネットワーク印刷に関しては、プリントサーバの印刷画像データの処理が単純なFIFOによる転送であっては、システムのデータ転送に遅延が生じる問題がある。それは例えば、ホストベースプリンタのバッファが、シアン用のバッファは飽和状態で且つイエロー用のバッファはわずかなデータ量しか保持していない状況で、ＦＩＦＯの先頭にあるのがシアンの印刷画像データである場合、シアンの印刷画像データがＦＩＦＯの先頭で詰まってしまい、イエローの印刷画像データのデータ転送が間に合わない可能性が生じる。特に印刷速度の速いプリントエンジンの場合は、データ転送のさらなる高速化が望まれるため、上記のような状況であるとオーバーランを引き起こしてしまう可能性が高くなる。また、色によってバッファの詰まり方に違いが生じるのは、ホストコンピュータで施される圧縮の圧縮率が色ごとに異なる場合があるためである。
【０００９】
上記のような場合、シアン以外の色の印刷画像データを先に送る仕組みがプリントサーバにあれば、プリンタがオーバーランを引き起こす可能性は低くなる。プリンタ側は印刷出力までの印刷データパスが色ごとにわけられて独立で処理している構成であるため、ホストコンピュータから転送されてくる印刷データの順番が色ごとに守られていれば問題はない。
【００１０】
従って、本発明の目的は、例えば４Dカラーエンジンを採用したホストベースプリンタにおけるネットワーク印刷において、印刷画像データの圧縮率の差が色ごとに大きい場合でも、ホストコンピュータから転送されてくる印刷データの順番を色ごとに守ったデータ転送をプリンタに対して行えるようにするために、データ転送の遅延の発生を抑制することができるデータ通信制御装置、データ通信制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、請求項１のデータ通信制御装置は、情報処理装置と画像形成装置との間でデータの通信を制御するデータ通信制御装置において、前記情報処理装置からデータを受信する受信手段と、前記受信手段により受信されたデータを複数の領域のいずれかに格納する格納手段と、前記画像形成装置に前記格納されたデータを送信する送信手段と、前記格納手段におけるデータの格納状況を記憶する管理テーブル手段と、前記画像形成装置から、前記画像形成装置の状況を示す装置情報を取得する装置情報取得手段と、前記管理テーブル手段を参照することで、前記格納手段におけるデータの格納状況に応じて、前記受信手段が受信したデータを格納する領域を決定し、領域の決定に従って前記管理テーブル手段を更新すると共に、前記管理テーブル手段と前記装置情報取得手段が取得した装置情報とを参照することで、前記格納手段におけるデータの格納状況及び前記画像形成装置の状況に応じて、前記送信手段によって送信されるデータを格納する領域を決定し、領域の決定に従って前記管理テーブル手段を更新する制御手段とを備えることを特徴とする。
【００１２】
請求項１０のデータ通信制御方法は、情報処理装置と画像形成装置との間でデータの通信を制御するデータ通信制御装置で実行されるデータ通信制御方法において、前記情報処理装置から前記データを受信したか否かを判断する受信判断ステップと、前記受信判断ステップにおいて受信したと判断された場合、当該受信したデータの情報を保持し、且つ受信した該データを格納するメモリのメモリアドレスを発生させる受信手続きステップと、前記受信手続きステップにおいてメモリアドレスを発生させたデータの前記メモリへの格納が終了したか否かを判断する受信終了判断ステップと、前記受信終了判断ステップにおいて、前記受信したデータの前記メモリへの格納が終了したと判断した場合、前記受信手続きステップにおいて保持していたデータの情報と前記情報処理装置からの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブルを更新する第１メモリ管理テーブル更新ステップと、前記メモリ管理テーブルと前記画像形成装置から取得された装置情報に応じて、前記画像形成装置に送信可能なデータがあるか否かを判断する送信判断ステップと、前記送信判断ステップにおいて送信可能なデータがあると判断した場合、前記メモリ管理テーブルを元に、送信するデータを決定し、該データを格納している格納領域のメモリアドレスを発生させる送信手続きステップと、前記送信手続きステップにおいて、メモリアドレスを発生させたデータの前記画像形成装置への送信が終了したか否かを判断する送信終了判断ステップと、前記送信終了判断ステップにおいて前記データの前記画像形成装置への送信が終了したと判断した場合、前記メモリ管理テーブルにおける該データが格納されていた格納領域の情報に関して、データの受信順番が最も遅いとした空き領域のデータの受信順番情報と、色情報及びデータサイズ情報をクリアすることで更新する第２メモリ管理テーブル更新ステップとを備え、前記データの複数から成る１つの印刷ジョブデータを全て前記画像形成装置に送信するまで前記複数のステップを繰り返すことを特徴とする。
【００１３】
請求項１１のプログラムは、情報処理装置と画像形成装置との間でデータの通信を制御するコンピュータで実行されるプログラムにおいて、前記情報処理装置から前記データを受信したか否かを判断する受信判断モジュールと、前記受信判断モジュールにおいて受信したと判断された場合、当該受信したデータの情報を保持し、且つ受信した該データを格納するメモリのメモリアドレスを発生させる受信手続きモジュールと、前記受信手続きモジュールにおいてメモリアドレスを発生させたデータの前記メモリへの格納が終了したか否かを判断する受信終了判断モジュールと、前記受信終了判断モジュールにおいて、前記受信したデータの前記メモリへの格納が終了したと判断した場合、前記受信手続きモジュールにおいて保持していたデータの情報と前記情報処理装置からの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブルを更新する第１メモリ管理テーブル更新モジュールと、前記メモリ管理テーブルと前記画像形成装置から取得された装置情報に応じて、前記画像形成装置に送信可能なデータがあるか否かを判断する送信判断モジュールと、前記送信判断モジュールにおいて送信可能なデータがあると判断した場合、前記メモリ管理テーブルを元に、送信するデータを決定し、該データを格納している格納領域のメモリアドレスを発生させる送信手続きモジュールと、前記送信手続きモジュールにおいて、メモリアドレスを発生させたデータの前記画像形成装置への送信が終了したか否かを判断する送信終了判断モジュールと、前記送信終了判断モジュールにおいて前記データの前記画像形成装置への送信が終了したと判断した場合、前記メモリ管理テーブルにおける該データが格納されていた格納領域の情報に関して、データの受信順番が最も遅いとした空き領域のデータの受信順番情報と、色情報及びデータサイズ情報をクリアすることで更新する第２管理テーブル更新モジュールとを備え、前記データの複数から成る１つの印刷ジョブデータを全て前記画像形成装置に送信するまで前記複数のモジュールの処理を前記コンピュータで繰り返し実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、格納手段に格納されたデータのパケットの格納状況又は画像形成装置の状況に応じて、データを格納する領域の決定及び送信するデータを格納している領域の決定が行われるので、データ転送の遅延の発生を抑制することができる。
【００１５】
また、データのパケットの送受信のたびに、データの格納状況を記憶する管理テーブルが更新されるので、データ転送の遅延の発生を抑制することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を図面を参照して具体的に説明する。
【００１７】
図１は、本発明の実施の形態に係るデータ通信制御装置が適用されたネットワーク印刷システムの構成を示すブロック図である。
【００１８】
ネットワーク印刷システムは、ホストコンピュータ１００〜１０２、ＬＡＮ２００及びネットワークカード３００を有する印刷装置４００を備えている。
【００１９】
ホストコンピュータ１００〜１０２は、ＬＡＮ２００などのネットワークを介してデータ通信制御装置としてのネットワークカード３００を有する印刷装置４００に接続される。ホストコンピュータ１００は印刷を行う際にまず印刷装置４００を占有する。それから、印刷画像データにレンダリング処理や圧縮処理を施し、色情報及びパケットサイズ情報を付加した印刷画像データのパケットを生成して、ネットワークカード３００にパケットを次々と送信する。ネットワークカード３００はパケットをバッファしながら適宜印刷装置４００に転送する。１ジョブの印刷が終了するまで印刷装置４００は占有される。
【００２０】
図２は、ネットワークカード３００の概略構成を示すブロック図である。
【００２１】
ネットワークカード３００は、プロトコル制御部３０１、ＣＰＵ３０２、印刷画像データ制御部３０３、メモリ管理テーブル３０４、メモリコントローラ３０５、メモリ３０６及びプリンタＩ／Ｆ制御部３０７を備えている。
【００２２】
ネットワークカード３００は、ホストコンピュータ１００からＬＡＮ２００を介して転送された印刷画像データのパケットをプロトコル制御部３０１で受信し、プロトコル処理を実行する。
【００２３】
この際、ＣＰＵ３０２は、プロトコル処理には関与せず、印刷制御コマンドやネットワーク管理アプリケーション等の処理を行う。印刷画像データ制御部３０３は、プロトコル制御部３０１から受信通知を受けたら、メモリ３０６のパケット格納状況を管理しているメモリ管理テーブル３０４を参照し、メモリ３０６に空き領域が存在していれば受信を許可して格納先のアドレスを生成する。受信を許可された印刷画像データのパケットは、メモリコントローラ３０５を介してメモリ３０６に格納される。プリンタＩ／Ｆ制御部３０７は、印刷装置４００の印刷画像データバッファ領域の空き情報を定期的に取得しており、必要に応じて印刷画像データ制御部３０３に通知する。印刷画像データ制御部３０３はこの印刷装置の印刷画像データバッファ領域の空き情報と、メモリ管理テーブル３０４を参照し、送信可能なパケットがあれば、そのパケットが格納されているメモリ３０６の格納先アドレスをプリンタＩ／Ｆ制御部３０７に対して発生させる。プリンタＩ／Ｆ制御部３０７は、メモリコントローラ３０５を介して受け取ったアドレスに格納されているパケットを読み出し、印刷装置４００に転送する。また、印刷画像データ制御部３０３は、印刷画像データのパケットのメモリ３０６への格納が完了した場合又はメモリ３０６からの読み出しが完了した場合に、メモリ管理テーブル３０４の情報を更新することで、常にメモリ３０６におけるパケットの格納状況を保持させている。
【００２４】
図３は、印刷装置４００の概略構成を示すブロック図である。
【００２５】
印刷装置４００は、ＮＩＣＩ／Ｆ４０１、ＣＰＵ４０２、操作パネル４０３、メモリコントローラ４０４、メモリ４０５、データ伸張部４０６、エンジンＩ／Ｆ制御部４０７及びプリントエンジン４０８を備えている。
【００２６】
ＮＩＣＩ／Ｆ４０１はネットワークカード３００から転送されたパケットを受信する。ＣＰＵ４０２は受信したパケットを解析し、ヘッダーを剥いで圧縮画像データのみをメモリコントローラ４０４に渡す。また、操作パネル部４０３の制御も行う。メモリコントローラ４０４は圧縮画像データをメモリ４０５にバッファし、順次データ伸張部４０６に渡していく。データ伸張部４０６はホストコンピュータ１００から受信した圧縮画像データの伸張を行う。エンジンＩ／Ｆ制御部４０７は、プリントエンジン４０８との制御信号のやりとりや印刷画像データの転送を行う。
【００２７】
図４は、印刷画像データのパケットの構成を示す図である。
【００２８】
印刷画像データのパケットは、ホストコンピュータ１００で印刷画像データにレンダリング処理や圧縮処理を施した後、これらの処理が施された印刷画像データに色情報およびパケットサイズ情報を含むヘッダーをつけて生成される。パケットの最大サイズはあらかじめ設定されており、その値を超えることはない。各パケットは、色ごとに印字出力される順番を守ってホストコンピュータ１００からネットワークカード３００に向けて送信されるため、ネットワークカード３００は色ごとにホストコンピュータ１００からの受信順番通りに印刷装置４００に転送する必要がある。
【００２９】
図５（Ａ）は、メモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、特に印刷装置４００がホストコンピュータ１００によって占有された時のメモリ管理テーブル３０４及びメモリ３０６の最初の状態を指す（以下、この最初の状態を「初期状態」という）。すなわち、印刷画像データのパケットの転送がホストコンピュータ１００から始まる前である。図５（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、図５（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【００３０】
ここでは印刷画像データのパケットの最大値が仮に６４Ｋバイトであるとし、メモリ３０６はそのパケットが最大９６個格納できるサイズをもつとする。すなわちパケットのバッファ領域は６Ｍバイトである。
【００３１】
メモリ管理テーブル３０４はメモリ３０６の格納情報を管理するテーブルデータである。同図に示すように、メモリ３０６のパケット格納領域９６個の各々の先頭アドレス0x0000_0000〜0x005F_0000は、メモリ管理テーブル３０４のアドレス情報１〜９６に対応しており、メモリ管理テーブル３０４の各テーブル（行データ）を参照することでそのテーブルのアドレス情報が示すメモリ３０６の格納領域の情報がわかる。このアドレス情報は、ネットワークカード３００の起動時に印刷画像データ制御部３０３によって書き込まれ、変更されることはない。
【００３２】
それぞれのテーブルは、アドレス情報、色情報、パケットサイズ情報及び受信順番情報を備えている。これらの項目は、１個のパケットが送受信されるたびに、必要な更新がなされる。そうすることで、常にメモリ３０６の最新情報の管理を行うことが可能となる。
【００３３】
色情報及びパケットサイズ情報は、そのテーブルに対応するメモリ３０６の格納領域に格納されているパケットの色及びパケット長を示す。図５のように、パケットが格納されていない場合は色情報及びパケットサイズ情報を「０」とする。
【００３４】
受信順番情報には、そのテーブルのアドレス情報が示すメモリ３０６の格納領域にパケットが格納されている場合に、そのパケットの次にホストコンピュータ１００から受信したパケットが格納されている領域を管理しているテーブルのアドレス情報が書き込まれている一方、パケットが格納されていない空き領域の場合に、その空き領域の次にホストコンピュータ１００から受信したパケットを格納する予定の空き領域を管理しているテーブルのアドレス情報が書き込まれる。
【００３５】
また、受信順番情報が「０」の場合は、そのテーブルに対応したメモリ３０６の格納領域がパケットを格納していれば、パケットを格納している領域の内で現時点で最もパケットを受信したのが遅い領域であることを示し、パケットを格納していない空き領域であれば、空き領域の内で現時点で最もパケットを受信するのが遅い領域であることを示す。
【００３６】
さらに、パケット受信済みの領域を管理しているテーブルの内、パケット受信順番が最も早い領域と最も遅い領域を管理しているテーブルをパケット受信領域管理レジスタ３０３１で、また、空き領域を管理しているテーブルの内、パケット受信順番が最も早い領域と最も遅い領域を管理しているテーブルを空き領域管理レジスタ３０３２で、常に保持する。これらのパケット受信領域管理レジスタ３０３１及び空き領域管理レジスタ３０３２は印刷画像データ制御部３０３に含まれている。
【００３７】
図５（Ｂ）におけるパケット受信領域管理レジスタ３０３１の上段は受信順番が最も早いパケット格納領域を管理しているテーブルであり、下段は最も遅いパケット格納領域を管理しているテーブルである。また、空き領域管理レジスタ３０３２の上段は受信順番が最も早い空き領域を管理しているテーブルであり、下段は最も遅い空き領域を管理しているテーブルである。
【００３８】
これらのレジスタでパケット格納領域と空き領域のそれぞれの順番の最初と最後を管理しているため、メモリ管理テーブル３０４のアドレス情報及び受信順番情報と合わせて、メモリ３０６のパケット格納領域と空き領域の順番管理を行うことが可能となる。
【００３９】
図５は初期状態を示すため、メモリ３０６の格納領域は当然全て空き領域である。
【００４０】
受信順番情報は、印刷画像データ制御部３０３によって図５のように「アドレス情報」に１を加えた値が書き込まれる。ただし、アドレス情報が「９６」のテーブルの受信順番情報には「０」を書き込み、初期状態ではパケットを受信する順番が最も遅い領域を管理しているテーブルとする。パケット受信領域管理レジスタ３０３１には、パケットを受信している領域がメモリ３０６内に存在しないため、起動時には全ての項目に「０」を書き込む。また、空き領域管理レジスタ３０３２の上段には、受信順番が最も早い空き領域を管理しているテーブル、すなわちアドレス情報が「１」のテーブルを、空き領域管理レジスタ３０３２の下段には、受信順番が最も遅い空き領域を管理しているテーブル、すなわちアドレス情報が「９６」のテーブルを、それぞれ起動時に書き込む。
【００４１】
以上より、起動時においては、メモリ管理テーブル３０４、パケット受信領域管理レジスタ３０３１、空き領域管理レジスタ３０３２、各々を図５のように設定することで、ホストコンピュータ１００から受信した印刷画像データパケットを、アドレス情報が「１」→「２」→…… →「９６」の順にメモリ３０６に格納させるようにする。
【００４２】
また、以上の説明では、メモリ管理テーブル３０４を、パケット受信領域管理レジスタ３０３１及び空き領域管理レジスタ３０３２と共に活用することで、メモリ３０６のパケット格納領域及び空き領域の順番管理を行うことを述べた。以下、パケットの送受信に伴うメモリ管理テーブル３０４の具体的な更新方法を述べるが、その前にここで順番管理を行う理由を説明する。
【００４３】
図１のネットワーク印刷システムにおいて、印刷装置４００は４Ｄカラーエンジンを備え、各色ごとに処理するチャネルを設け、印刷画像データのパケットの並列処理を行う。元々ホストコンピュータ１００で圧縮されているパケットを印刷装置４００で伸張するため、圧縮率の差から色ごとにデータ処理量が異なってくるので、仮にネットワークカード３００がＦＩＦＯ構造であるとしたら、次に印刷装置４００に転送するパケットに対応する色が印刷装置４００ではチャネルのバッファが飽和状態の色である場合、そこでデータ転送は一時停止してしまい、システムのボトルネックとなる。
【００４４】
従って、システムの転送パフォーマンスを向上させるために、ネットワークカード３００から印刷装置４００へのパケット送信を、送信可能な色から順次行えるようにする。印刷装置４００は、色ごとにホストコンピュータ１００からの転送順番が守られていれば問題はないため、ネットワークカード３００は色ごとのＦＩＦＯ構造であることがシステムの状況を考慮した時、パフォーマンスを維持するためには最も好ましい。
【００４５】
順番管理はそのためのものである。例えば、ある時点でネットワークカード３００に格納されているパケットの内、印刷装置４００にシアン以外の色が送信できない状況においても、パケットの受信順番が管理されていることで、即座に最も受信順番が早いシアンのパケットが格納されている領域を検索することが可能となる。
【００４６】
順番管理の概要であるが、パケットの受信に関しては、管理している空き領域の順番通りにパケットを格納していく。しかし、前述のようにパケットの送信に関しては、管理しているパケット格納領域のパケット受信順番通りに行われるわけではない。基本的には順番通りに行われる様に制御されるが、印刷装置４００の状況に応じては、ランダムな順番で送信される可能性も有り得る。そのような場合にも、色ごとのＦＩＦＯ構造を実現するためにしっかりとした順番管理を行うことが可能なようにメモリ管理テーブル３０４を更新していく。
【００４７】
更新の規則としては、パケットの受信の場合は、空き領域の内で順番が最も早い領域にパケットを格納し、その後、パケット格納領域の内で最も遅い順番として順番管理し、パケットの送信の場合は、送信されたパケットを格納していた領域を、送信前までパケット格納領域の順番管理下であったのに対して、空き領域の内で最も遅い順番として順番管理する。
【００４８】
図６（Ａ）は、パケットの送受信がある程度行われた後のメモリ管理テーブル３０４及びメモリ３０６の概念図を示す。図６（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、図６（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【００４９】
メモリ３０６におけるパケットの格納領域内で、現時点でパケットを受信した順番は、メモリ管理テーブル３０４のアドレス情報が示す「１」→「２」→「３」→「４」→「６」→「７」→「８」→…→「９５」の順番であり、メモリ３０６における空き領域内で、現時点でパケットを受信する順番は、アドレス情報が示す「９６」→「５」の順番で、９６個の領域の内、２個の領域のみであることがわかる。
【００５０】
以下に、図２、図３、図５〜９を参照しながら、パケットを送受信する際の印刷画像データ制御部３０３の制御及びメモリ管理テーブル３０４の更新方法を記述する。
【００５１】
〔パケットを受信する場合〕
図２において、ホストコンピュータ１００からネットワークカード３００のプロトコル制御部３０１が印刷画像データのパケットを受信し、印刷画像データ制御部３０３に対して受信通知を出す。
【００５２】
印刷画像データ制御部３０３は、メモリ３０６に空き領域が存在することを確認したら、パケットのヘッダー、すなわち、パケットの色情報及びパケットサイズ情報を要求し、これを受け取った後は不図示のレジスタに保持して、空き領域管理レジスタ３０３２の上段のテーブルに対応するメモリ３０６の領域（すなわち、メモリ３０６の空き領域の内で最もパケット受信順番が早い領域。図５においてはメモリ管理テーブル３０４のテーブル「１」に対応する領域。）のアドレスをプロトコル制御部３０１に発生させる。受信したパケットはプロトコル制御部３０１からメモリコントローラ３０５を介して、メモリ３０６内の指定したアドレスに格納される。
【００５３】
メモリ３０６に該受信パケットが格納されたら、プロトコル制御部３０１から印刷画像データ制御部３０３へ、受信完了の通知が届く。印刷画像データ制御部３０３はこの通知を認識したら、メモリ管理テーブル３０４の更新を行う。
【００５４】
この更新は、該受信パケットを格納した領域に関して、格納直前までは空き領域の内で最もパケット受信順番が早い領域として管理していたものを、パケット受信済みの領域の内で最もパケット受信順番が遅い領域として管理することである。
【００５５】
具体的には、図７において、網掛けの部分が図６の状態からパケット受信により更新された箇所である。受信したパケットのもつ印刷画像データの色はブラック（Ｋ）、パケット長は最大値の６４Ｋバイトの場合の例である。
【００５６】
印刷画像データ制御部３０３はパケットの受信完了通知を受けたら、まず、メモリ３０６の空き領域の内でパケットの受信順番が最も早い領域を管理するテーブルを見る。すなわち、図６の空き領域管理レジスタ３０３２の上段のテーブルに対応するメモリ管理テーブル３０４のアドレス情報が「９６」のテーブルの受信順番情報、色情報及びパケットサイズ情報を更新する。
【００５７】
図７のアドレス情報「９６」のテーブルがメモリ３０６のパケット受信済み領域の内、最も受信が遅い領域となるため、そのテーブルの受信順番情報には「０」が書き込まれる。色情報及びパケットサイズ情報には、保持していた「Ｋ」と「６４Ｋ」の情報がそれぞれ書き込まれる。
【００５８】
次に、パケットを受信する前に、メモリ３０６のパケット受信済み領域の内で最もパケット受信順番が遅かった領域を管理しているテーブル、すなわち、パケット受信領域管理レジスタ３０３１の下段が保持するテーブルに対応するメモリ管理テーブル３０４のアドレス情報「９５」の「受信順番情報」を更新する必要がある。ここは、パケット受信前は「０」であったのに対し、テーブル「９６」がパケットを受信したため、パケット受信順番をつなぐために、「９６」が書き込まれる。
【００５９】
最後に、パケット受信領域管理レジスタ３０３１及び空き領域管理レジスタ３０３２を最新の情報に更新する。
【００６０】
以上の手順を踏むことで、パケットを受信した際のメモリ管理テーブル３０４の更新が完了する。
【００６１】
〔パケットを送信する場合〕
図３の印刷装置４００におけるデータ伸張部４０６及びエンジンＩ／Ｆ制御部４０７はＣ、Ｍ、Ｙ、Ｋの各色ごとに構成されているため、それぞれのデータの圧縮率が異なればデータ伸張部４０６の処理データ量も各色ごとに変わってくる。このことから、データ伸張部４０６の前段に備え付けられたバッファ（すなわちメモリ４０５）のデータの減り具合は色ごとに異なる。そのため、図２のネットワークカード３００におけるプリンタＩ／Ｆ制御部３０７は、印刷装置４００から定期的に各色のバッファの空き状況の情報（印刷装置情報）を取得し、印刷画像データ制御部３０３は取得した印刷装置情報とメモリ管理テーブル３０４を元に、送信するパケットを決定する。
【００６２】
送信が決定されるパケットの条件は、印刷装置４００のバッファに空きのある色であり、且つ、ホストコンピュータ１００からの受信がその時点で最も早いことである。従って、ネットワークカード３００から印刷装置４００への印刷画像データの転送は、色ごとにＦＩＦＯ構造が守られる形となり、印刷装置４００の各色のバッファの空き状況に応じて、送信可能な色から次々と行われることになる。
【００６３】
図８は、メモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、図６に示すメモリ管理テーブル３０４の状態において、各色のパケットを格納するバッファの格納領域の空き数を示す印刷装置情報が、Ｃ（シアン）に対し８領域、Ｍ（マジェンダ）に対し６領域、Ｙ（イエロー）に対し２領域、Ｋ（ブラック）に対し３領域あることを示す場合に、パケットを送信した後のメモリ管理テーブル３０４の更新状況を示している。図８（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、図８（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【００６４】
図８の印刷装置情報は全ての色が送信可能であることを示している。従って、最もホストコンピュータ１００からの受信順番が早いパケットを格納している領域は、図６においてパケット受信領域管理レジスタ３０３１の上段が保持しているテーブル「１」であり、この領域が格納しているパケットを送信するパケットに決定する。
【００６５】
送信パケットを決定した後、印刷画像データ制御部３０３はプリンタＩ／Ｆ制御部３０７に対して該パケットが格納されているメモリ３０６のアドレスを発生させる。プリンタＩ／Ｆ制御部３０７はそのアドレスに基づき、メモリコントローラ３０５を介して印刷装置４００にパケットを送信する。
【００６６】
印刷装置４００へのパケット転送が完了したら、プリンタＩ／Ｆ制御部３０７から印刷画像データ制御部３０３に対して送信完了の通知が届く。この通知を受けて、印刷画像データ制御部３０３はメモリ管理テーブル３０４の更新を行う。
【００６７】
この更新は、送信したパケットを格納していたメモリ３０６内の領域を、送信前まではパケット格納領域として管理していたのに対し、空き領域の内で最もパケットを受信する順番が遅い領域として管理することである。
【００６８】
具体的には、図８において、網掛けの部分が図６の状態からパケット送信により更新された箇所である。前述のように送信したパケットを管理していたテーブルはアドレス情報が「１」のテーブルである。該テーブルの色情報及びパケットサイズ情報には「０」を書き込み、「受信順番情報」には、該テーブルが管理している領域を、空き領域の内で最もパケットの受信順番の遅い領域とするため、「０」を書き込む。さらに、図６より、パケット送信前に最も受信順番が遅いとされていた空き領域を管理しているテーブル「５」の次の順番に、今回のパケット送信により空き領域となった領域を管理しているテーブル「１」をつなげるため、テーブル「５」の受信順番情報に「１」を書き込む。最後に、パケット受信領域管理レジスタ３０３１及び空き領域管理レジスタ３０３２を最新の情報に更新する。
【００６９】
図８では、印刷装置４００側に全ての色パケットを送信することが可能である場合のメモリ管理テーブル３０４の更新ケースであったが、図９では送信可能な色パケットが限定されている場合のメモリ管理テーブル３０４の更新ケースを説明する。
【００７０】
図９（Ａ）は、メモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、図６において印刷装置情報がＣ（シアン）に対し０領域、Ｍ（マジェンダ）に対し０領域、Ｙ（イエロー）に対し３領域、Ｋ（ブラック）に対し０領域であることを示す場合のメモリ管理テーブル３０４の更新状況を示している。図９（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、図９（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【００７１】
まず、送信パケットの決定であるが、印刷装置情報より送信可能な色パケットがＹに限定されているため、ホストコンピュータ１００からの受信順番が最も早いＹのパケットを格納している領域を管理しているテーブルを検索する。その方法として、まずパケット受信領域管理レジスタ３０３１の上段で保持しているテーブルから順番にＹを格納している領域を管理しているテーブルを探していく。メモリ管理テーブル３０４の受信順番情報をたどっていくことで、テーブル「４」ではじめてＹを格納していることがわかるので、このテーブルが管理している領域が格納しているパケットを、送信パケットとして決定し、プリンタＩ／Ｆ制御部３０７へアドレスを発生させる。
【００７２】
印刷装置４００へのパケット転送が終了したら、メモリ管理テーブル３０４を図９の網掛けの部分のように更新する。この更新は、テーブル「４」が管理する領域を、パケット格納領域としての順番管理から、空き領域の内で最もパケットの受信順番が遅い領域としての順番管理に変更すると同時に、テーブル「４」が管理する領域がパケット格納領域の順番の途中から抜けるため、図６のパケット送信前に、メモリ３０６におけるパケット格納領域の内、パケットの受信順番がテーブル「４」が管理している領域より１つ前のものと１つ後のもの、すなわち、テーブル「３」とテーブル「６」の順番をつなげる管理をすることである。
【００７３】
具体的にはまず、パケットを送信する前に、パケットの受信順番が、テーブル「４」の管理する領域よりも１つ前であった領域を管理しているテーブル「３」の受信順番情報に「６」を書き込む。続いて、テーブル「４」の色情報とパケットサイズ情報に「０」を書き込み、受信順番情報には、該テーブルが管理している領域を空き領域の内で最もパケットの受信順番の遅い領域とするため、「０」を書き込む。さらに、パケット送信前に最も受信順番が遅いとされていた空き領域を管理しているテーブル「５」の次の順番に、今回のパケット送信により空き領域となった領域を管理しているテーブル「４」をつなげるため、テーブル「５」の受信順番情報に「４」を書き込む。最後に、パケット受信領域管理レジスタ３０３１及び空き領域管理レジスタ３０３２を最新の情報に更新する。
【００７４】
以上の手順を踏むことで、パケットを送信した際のメモリ管理テーブル３０４の更新が完了する。
【００７５】
図１０は、印刷画像データ制御部３０３で実行されるフローチャートである。
【００７６】
印刷ジョブが印刷装置４００に投げられたら、メモリ管理テーブル３０４の初期化を行う（ステップＳ５０１）。
【００７７】
プロトコル制御手段３０１がパケットを受信したか否か、又は印刷画像データのパケットの格納領域にパケットが格納可能であるか否かの判断を行う（ステップＳ５０２）。
【００７８】
ステップＳ５０２でパケットを受信可能と判断した場合、印刷画像データのパケットの色情報及びパケットサイズ情報を保持すると共に、メモリ管理テーブル３０４を参照し、メモリの空き領域の内で最もパケット格納順番の早い領域を管理しているテーブルのアドレス情報を元にパケット格納先のメモリアドレスをプロトコル制御部３０１に対して発生する（ステップＳ５０３）。プロトコル制御部３０１は、メモリコントローラ３０５を介してメモリ３０６の指定されたメモリアドレスへパケットを格納する。
【００７９】
ステップＳ５０３で格納先のメモリアドレスを発生させた印刷画像データのパケットが、メモリへ格納されたか否かの判断を行う（ステップＳ５０４）。
【００８０】
ステップＳ５０４においてパケットのメモリへの格納が完了したと判断した場合、ステップＳ５０３で保持していたパケットの色情報及びパケットサイズ情報とコンピュータ１００からの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブル３０４を更新する（ステップＳ５０５）。
【００８１】
印刷装置４００のデータバッファの空き領域情報を参照して印刷装置４００に送信可能な領域があるか否か、又はメモリ管理テーブル３０４を参照してメモリ３０６に格納されている印刷画像データのパケットが存在するか否かの判断を行う（ステップＳ５０６）。
【００８２】
ステップＳ５０６において印刷装置４００に送信可能な空きデータバッファ領域が存在し、且つ、メモリ３０６にパケットが存在したと判断した場合、メモリ管理テーブル３０４を参照して、送信可能な色の内で最も受信順番が早いパケットを送信するパケットとし、そのパケットが格納されている領域を管理しているテーブルのアドレス情報を元に、メモリアドレスをプリンタＩ／Ｆ制御部３０７に発生させる（ステップ５０７）。
【００８３】
次に、ステップＳ５０６において印刷装置に送信可能な空きデータバッファ領域が存在し、且つメモリ３０６にパケットが存在したと判断し、さらにステップＳ５０７において送信するパケットが格納されているメモリアドレスを発生させた場合、そのパケットの印刷装置４００への送信が完了したか否かを判断する（ステップＳ５０８）。
【００８４】
パケットの印刷装置４００への送信が完了した場合には、メモリ管理テーブル３０４において、送信したパケットが格納されていた領域を管理しているテーブルを、空き領域で最も格納順番の遅い管理テーブルとして必要な更新を行う（例えば、色情報及びパケットサイズ情報のクリア）とともに、パケットを格納している領域を管理しているテーブルの内、送信したパケットの１つ前に受信したパケットが格納されている領域を管理しているテーブルの受信順番情報を更新する（ステップＳ５０９）。
【００８５】
最後に、受信した１ジョブ分の印刷画像データのパケットを全て印刷装置４００に送信したか否かを判断する（ステップＳ５１０）。印刷装置４００に全パケットを送信した場合には、本処理を終了する一方、まだメモリ３０６内にパケットが残っているか、又は、メモリ３０６内にパケットはないが、印刷ジョブはまだ終了ではない場合は、ステップＳ５０２に戻る。
【００８６】
以上詳細に説明したように、本実施の形態によれば、印刷画像データ制御部３０３は、前記メモリ管理テーブル３０４を参照することで、前記メモリ３０６に格納された印刷画像データのパケットの格納状況に応じてプロトコル制御部３０１が受信した印刷画像データのパケットのメモリ３０６への格納を決定し、プロトコル制御部３０１がメモリコントローラ３０５を介してメモリ３０６に受信した印刷画像データのパケットを格納し終えたことを確認し、メモリ管理テーブル３０４を更新すると共に、メモリ管理テーブル３０４及びプリンタＩ／Ｆ制御部３０７が取得した各色のバッファの空き状況の情報を参照することで、メモリ３０６に格納された印刷画像データのパケットの格納状況及び印刷装置４００の状況に応じてプリンタＩ／Ｆ制御部３０７によって送信される印刷画像データのパケットを決定し、プリンタＩ／Ｆ制御部３０７がメモリコントローラ３０５を介してメモリ３０６から読み出された印刷画像データのパケットを印刷装置４００に送信し終えたことを確認し、メモリ管理テーブル３０４を更新するので、メモリ３０６のパケットの格納状況及び印刷装置４００の状況に応じて逐一メモリ管理テーブル３０４が更新されることになる。このため、データ転送の遅延の発生を抑制し、圧縮率の悪い印刷画像データに対してもオーバーランを引き起こさないようにすることができる。
【００８７】
また、印刷画像データ制御部３０３は、印刷画像データのパケットを受信し、当該パケットのメモリ３０６への格納が完了したと判断した場合、パケットの色情報及びパケットサイズ情報とコンピュータ１００からの受信順番が最も遅いとした受信順番情報とによってメモリ管理テーブル３０４を更新する（ステップＳ５０５）と共に、パケットの印刷装置４００への送信が完了した場合には、メモリ管理テーブル３０４において、送信したパケットが格納されていた領域を管理しているテーブルを、空き領域で最も格納順番の遅い管理テーブルとして必要な更新を行う（例えば、色情報及びパケットサイズ情報のクリア）とともに、パケットを格納している領域を管理しているテーブルの内、送信したパケットの１つ前に受信したパケットが格納されている領域を管理しているテーブルの受信順番情報を更新する（ステップＳ５０９）ので、印刷画像データのパケットの送受信のたびに、逐一メモリ管理テーブル３０４が更新されることになる。このため、データ転送の遅延の発生を抑制し、圧縮率の悪い印刷画像データに対してもオーバーランを引き起こさないようにすることができる。
【００８８】
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００８９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９０】
又、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００９１】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９２】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態に係るデータ通信制御装置が適用されたネットワーク印刷システムの構成を示すブロック図である。
【図２】ネットワークカード３００の概略構成を示すブロック図である。
【図３】印刷装置４００の概略構成を示すブロック図である。
【図４】印刷画像データのパケットの構成を示す図である。
【図５】（Ａ）はメモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、特に印刷装置４００がホストコンピュータ１００によって占有された時のメモリ管理テーブル３０４及びメモリ３０６の最初の状態を指す。（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【図６】（Ａ）はパケットの送受信がある程度行われた後のメモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図である。（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【図７】（Ａ）はメモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、図６の状態からパケット受信により更新された状態を示す。（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【図８】（Ａ）は、メモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、図６に示すメモリ管理テーブル３０４の状態において、各色のパケットを格納するバッファの格納領域の空き数を示す印刷装置情報が、Ｃ（シアン）に対し８領域、Ｍ（マジェンダ）に対し６領域、Ｙ（イエロー）に対し２領域、Ｋ（ブラック）に対し３領域あることを示す場合に、パケットを送信した後のメモリ管理テーブル３０４の更新状況を示している。（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【図９】（Ａ）はメモリ管理テーブル３０４及びメモリ３０６のデータ構成を示す概念図であり、図６において印刷装置情報がＣ（シアン）に対し０領域、Ｍ（マジェンダ）に対し０領域、Ｙ（イエロー）に対し３領域、Ｋ（ブラック）に対し０領域であることを示す場合のメモリ管理テーブル３０４の更新状況を示している。（Ｂ）はパケット受信領域管理レジスタ３０３１の構成を示す図であり、（Ｃ）は空き領域管理レジスタ３０３２の構成を示す図である。
【図１０】印刷画像データ制御部３０３で実行されるフローチャートである。
【符号の説明】
【００９４】
１００〜１０２  ホストコンピュータ
２００  ＬＡＮ
３００  ネットワークカード
３０１  プロトコル制御部
３０２  ＣＰＵ
３０３  印刷画像データ制御部
３０４  メモリ管理テーブル
３０５  メモリコントローラ
３０６  メモリ
３０７  プリンタＩ／Ｆ制御部
４００  印刷装置
【図１】
2006301797.tif 000003
【図２】
2006301797.tif 000004
【図３】
2006301797.tif 000005
【図４】
2006301797.tif 000006
【図５】
2006301797.tif 000007
【図６】
2006301797.tif 000008
【図７】
2006301797.tif 000009
【図８】
2006301797.tif 000010
【図９】
2006301797.tif 000011
【図１０】
2006301797.tif 000012