(57)【要約】【課題】  画像形成装置等のネットワーク機器に搭載されて、パケット送受信を効率よく行なうパケット送受信装置において、メモリの利用効率を高める。【解決手段】  従来パケットの最大サイズの大きさで複数枚分メモリ上に用意されていたパケットバッファを連続的なひとつの大きな領域（受信エリア）としてメモリ上に確保し、ネットワークデバイスが受信したパケットデータを連続的に前記受信エリアに配置する方法によって、メモリの利用効率を高めた。【選択図】図１
2011077903.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、
前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、
前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、
前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部と、を有するパケット送受信装置を有する
ことを特徴とする画像形成装置。
【請求項２】
請求項１の画像形成装置であって、
前記メモリ転送制御部は、ＤＭＡ（Direct Memory Access）コントローラを制御して、前記受信エリアに直接パケットデータを展開する
ことを特徴とする画像形成装置。
【請求項３】
請求項１又は２の画像形成装置であって、
前記受信エリアに展開されたパケットデータをアプリケーションが利用するためにメモリ上にコピーするパケットデータコピー機能部を有する
ことを特徴とする画像形成装置。
【請求項４】
ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、
前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、
前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、
前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部と、を有する
ことを特徴とするパケット送受信装置。
【請求項５】
ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保して、
前記パケットデータの情報を前記ネットワークデバイスから取得して、
前記パケットデータを前記受信エリアに連続的に配置し、
前記受信エリアに展開されたパケットデータの展開位置情報を記録更新することにより、パケットデータをメモリ上に効率的に展開して利用する
ことを特徴とするパケット送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
画像形成装置等のネットワーク機器に搭載されて、パケット送受信を効率よく行なうパケット送受信装置に関する。
【背景技術】
【０００２】
画像形成装置等のネットワーク機器においては、ネットワーク通信の際には、データがパケットと呼ばれる単位毎に送受信されるが、ネットワークデバイスを介して受信したパケットは、ネットワーク機器のメモリに展開されて、当該メモリ上に展開されたデータがアプリケーションによって利用される。
【０００３】
この受信したパケットデータをメモリに展開する際には、送付されるパケットの最大サイズを許容できるメモリ空間を確保し、そこに対してＤＭＡ（Direct Memory Access）による受信が行なわれるようになっている。その場合に、送付されたパケットデータが小さいと、確保していたメモリが無駄になっていた。
【０００４】
図４に従来技術による受信したパケットをメモリ上のパケットバッファに展開する際の概念図を示す。ここでは、ＤＭＡを制御するためのデータを記録保持するディスクリプタとそれをリスト化したもの、そしてそれぞれのディスクリプタに結び付けられたパケットを入れるバッファを予め準備する必要がある。この場合、パケットバッファのサイズは、パケットの最大値のサイズを固定長として、次々に受信されるパケットをバッファリング可能とするために複数枚（例えば３２枚のパケットバッファ）用意される。しかしパケットのサイズは、常に最大値のものが受信される訳ではなく、図４に示すように、受信パケットのサイズがパケットバッファより小さい場合には、無駄なメモリを消費していた。
【０００５】
この不都合を解消する従来技術として、予め長さの異なるパケット領域をもち、パケットの一部を取り込み、プロトコルを解釈し、それに応じてパケットを入れるバッファを切り替えて受信を行なう方法がある（特許文献１参照）。
【０００６】
しかし、上記方法では、長さの異なるパケットに対応して処理を行うために当該処理が煩雑になり、また、JumboFlame(9000-16000byte)など巨大なパケットデータの受信を考慮すると、最小サイズ(64byte)との差がありすぎ、適切なサイズのバッファを準備することが難しい問題がある。
【０００７】
また、他の従来技術として、メモリ効率を高め、かつ、処理ソフトウェア上のオーバーヘッドを減らすために、メインメモリ上に長さの異なる複数のパケット領域を設けて、受信データ長に応じて上記パケット領域から最適なものを選択する方法がある（特許文献２参照）。
【０００８】
この特許文献２の方法でも、特許文献１の方法と同様な問題を有し、不定長のパケットが受信されるのに対して、それに対する複数種類の最適な長さのパケットサイズを予測することは難しく、特許文献１でも特許文献２の方法でも、同様にメモリが無駄になる問題は解消されない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−１８５４８６号公報
【特許文献２】特開２００２−１８５４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
解決しようとする課題は、画像形成装置等のネットワーク機器に搭載されて、パケット送受信を効率よく行なうパケット送受信装置において、メモリ効率を高めてパケットを受信することができなかった点である。
【課題を解決するための手段】
【００１１】
本発明の画像形成装置は、ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部とを有するパケット送受信装置を有することを特徴とする。
【００１２】
本発明のパケット送受信装置は、ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部とを有することを特徴とする。
【００１３】
本発明のパケット送受信方法は、ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保して、前記パケットデータの情報を前記ネットワークデバイスから取得して、前記パケットデータを前記受信エリアに連続的に配置し、前記受信エリアに展開されたパケットデータの展開位置情報を記録更新することにより、パケットデータをメモリ上に効率的に展開して利用することを特徴とする。
【発明の効果】
【００１４】
このため、パケット受信時において、当該パケットデータを記憶するため当該パケットデータをメモリに展開する際に、メモリの利用効率が高まる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例に係る画像形成装置の機能ブロック図である。
【図２】本発明の実施例に係る画像形成装置の受信パケットのメモリ展開の際の説明図である。
【図３】本発明の実施例に係る画像形成装置内のパケット送受信部の動作の流れを示すフローチャートである。
【図４】従来例の画像形成装置の受信パケットのメモリ展開の際の説明図である。
【発明を実施するための形態】
【００１６】
本発明の実施例に係る画像形成装置について、以下に説明する。
【実施例１】
【００１７】
［構成］
図１は、本発明の実施例に係る画像形成装置の機能ブロック図である。
【００１８】
画像形成装置１０１は、ネットワークデバイス１１１、メモリ１１３、ＣＰＵ（Central Processing Unit）１１５、ＤＭＡＣ（Direct Memory Access Controller）１１７、パケットデータコピー機能部１１９、パケット送受信装置１２０、画像処理部１３３、印刷部１３５の各機能部を有する。
【００１９】
パケット送受信装置１２０は、内部にパケット情報取得部１２１、パケット情報更新部１２３、メモリ確保部１２５、メモリ転送制御部１２７の各機能部を有する。
【００２０】
以下に各機能部について、説明する。
【００２１】
ネットワークデバイス１１１は、ネットワークとの間での通信を行うための通信装置であり、ネットワーク上に流れる信号をデジタルデータに変換する。ネットワーク上を流れるデータは、パケットと呼ばれる最大値が定められたサイズのひとかたまりのデータとして送られ、ネットワークデバイス１１１は、ネットワーク上に流れる信号をパケットデータとしてパケット送受信装置１２０に渡し、パケット送受信装置１２０から送信の為のパケットデータを受け取り、ネットワークに送信する。
【００２２】
メモリ１１３は、半導体記憶装置からなりデジタルデータを記憶する為の装置である。メモリ１１３中には、画像形成装置１０１の動作に必要なプログラムやデータが記憶される。又、パケット送受信装置１２０との間でネットワーク通信によってやり取りされるデジタルデータであるパケットをやり取りする。パケット送受信装置１２０が受信したパケットは、メモリ１１３上に展開されて記憶される。展開されたデータは、画像形成装置１０１の動作を行うためのアプリケーションによって用いられて、例えばネットワークを介して接続される外部端末装置からの印刷データを受信してメモリ上に展開し、後述の画像処理部１３３によってデータ変換して、後述の印刷部１３５によって用紙に印刷される。
【００２３】
ＣＰＵ（Central Processing Unit）１１５は、画像形成装置１０１の動作を制御する為のマイクロプロセッサであり、メモリ１１３と協調して動作し、画像形成装置のコンピュータとして動作する。
【００２４】
ＤＭＡＣ（Direct Memory Access Controller）１１７は、画像形成装置１０１のハードウェアが取得したデジタルデータをＣＰＵ１１５を介さずに直接メモリ１１３上に転送する。また、メモリ１１３上のデータを直接画像形成装置１０１のハードウェアに転送する機能を有する。ＣＰＵ１１５によらない転送の為、高速にデータの転送が可能であり、転送中もＣＰＵ１１５の動作を転送のために割く必要がない為、効率的にデータの展開が行われる。本発明の特徴であるパケットの送受信時には、送受信を行うパケットデータをメモリ１１３とパケット送受信装置１２０との間でやりとりする。
【００２５】
パケットデータコピー機能部１１９は、一旦メモリ上の受信エリア（図２参照；展開の詳細は後述）に展開されたパケットデータをアプリケーションが利用する為に、メモリ上に再度コピーする。受信エリアのデータは、新規のパケットが書き込まれる為に消去されて更新される必要がある。そのため、その前に当該パケットデータを必要とするアプリケーションのために、受信エリアからメモリ上の異なる領域（後段利用の為のメモリ；図２参照）にコピーする。一旦コピーされたパケットデータ（受信エリア；図２参照）は、アプリケーションによって利用が終了すれば領域が解放される。パケットデータコピー機能部１１９は、画像形成装置１０１のコンピュータがソフトウェアを実行することによって、その機能が実現される。
【００２６】
パケット送受信装置１２０は、本発明の最も本質的な機能部であり、画像形成装置１０１がネットワークデバイス１１１を介して送受信するパケットデータをメモリ１１３との間でやり取りする為の装置である。パケット送受信装置はハードウェアによって実現される。
【００２７】
パケット情報取得部１２１は、ネットワークデバイス１１１が受信するパケットデータの情報であるパケット情報を取得する。パケット情報とは、パケットデータのID及びサイズや受信ステータスである。ネットワークデバイス１１１からパケットの受信情報やサイズを取得して、パケット情報に書き込む。
【００２８】
パケット情報更新部１２３は、パケットがメモリに展開されると、メモリ上のパケット位置を示すポインタの情報を上記パケット情報で展開する。
【００２９】
メモリ確保部１２５は、メモリ上にパケットデータを展開する領域を連続した一領域（受信エリア；図２参照）として確保する。
【００３０】
メモリ転送制御部１２７は、ネットワークデバイスが取得したパケットをメモリ上に展開するための、制御を行う。従来技術では、パケットの最大サイズの大きさで複数枚確保されたメモリ上のパケットバッファに、各パケットを展開していたため、パケットサイズが最大サイズより小さい場合にメモリが無駄になっていた。本メモリ転送制御部１２７は、前記メモリ確保部１２５が確保した受信エリアに、受信したパケットをそのサイズ毎に連続的に配置して転送する。そのため、従来発生していたメモリが無駄になることが無く、メモリの利用効率が高まる。メモリ転送制御部１２７は、ＤＭＡＣ１１７と協調して動作し、ネットワークデバイス１１１の受信したパケットデータをメモリ１１３上の構成された受信エリア（図２参照）に転送する。
【００３１】
画像処理部１３３は、外部端末装置から受信したページ記述言語等によって記載されている印刷データを、印刷部１３５によって印刷可能な任意のデータ形式に変換する。
【００３２】
印刷部１３５は、印刷エンジンを有して、電子データを用紙に印刷する。
【００３３】
［フローチャート］
次に図３のフローチャートを用いて、画像形成装置１０１がネットワークよりパケットデータを受信して、メモリ上に展開してアプリケーションにて利用する動作の流れについて説明する。
【００３４】
Ｓ１１：メモリ確保部１２５は、メモリ１１３上に充分な容量の受信パケット転送の為の受信エリアを用意する。また、同メモリ確保部１２５は、上記用意したパケット転送の受信エリアのStart/End情報も準備する。この時パケット情報エリアIndexのReadIndexとWriteIndexが初期化されパケット１情報エリアを指し示す。また、パケット１情報には受信エリアのStart位置が設定される。
【００３５】
Ｓ１３：ネットワークデバイス１１１は、ネットワークからパケットデータを受信する。
【００３６】
Ｓ１５：メモリ転送制御部１２７は、ＤＭＡＣ１１７を介して、Ｓ１３で受信したパケットデータをWriteIndexの指し示す情報１情報エリアに従い、メモリ１１３上に構成された受信エリア（図２参照）にデータ展開する。
【００３７】
Ｓ１７：パケット情報取得部１２１は、パケットの受信情報及びサイズをパケット１情報エリア（図２参照）に書き込む。パケット情報更新部１２３は、パケット２情報エリアに受信エリア上に展開されたパケット１の後ろの任意のアドレスを設定し、パケット情報エリアIndexのWriteIndexを更新する。
【００３８】
Ｓ１９：パケットデータコピー機能部１１９は、パケット受信やDMA転送その他の割り込みやポーリングでパケット情報エリアRead/WriteIndexを参照する。上記からの流れで説明すれば、ReadIndexの指し示すパケット１情報エリアの情報を元に後段の使用するための必要最低限のメモリ領域を確保し、受信エリアからそのメモリ領域へパケットをコピーする。
【００３９】
Ｓ２１：パケットデータコピー機能部１１９は、パケット１情報エリアをクリアし、パケット情報エリアのReadIndexを更新する。尚、Ｓ１９〜Ｓ２１の処理はＳ１３〜Ｓ１７の受信エリアへのパケット展開処理と非同期でも構わない。
【００４０】
Ｓ２３：ネットワークデバイスは、パケットを受信する。
【００４１】
Ｓ２５：この時点で、Read/WriteIndexの関係からパケット情報エリアへの登録の可否を判断し、受信エリアにDMA転送できる領域が存在するかを判断する。存在した場合は、動作をＳ１７に戻して繰り返し、無い場合は、動作をＳ１７移行する。
【００４２】
Ｓ２７：ネットワークデバイス１１１からＤＭＡＣ１１７によるメモリへのパケットデータの展開は中止する。ネットワークデバイス上のパケットを破棄するか、ポーリング若しくはＳ２１〜Ｓ２３の動作をトリガーとしてパケットの受信エリアへの展開の可否を検知し、動作をＳ１７に戻して繰り返す。
【００４３】
以上の一連の流れにより、画像形成装置１０１は、受信したパケットデータを効率よくメモリに展開する。
【００４４】
［実施例の効果］
本発明実施例の画像形成装置により、以下の効果が得られる。
【００４５】
受信したパケットデータは、メモリ上に確保された受信エリア中に連続して、展開される為に、従来のパケット最大サイズ毎のパケットバッファに展開される方法に比較して、メモリが無駄にならず、メモリの利用効率が高まる。
【００４６】
従来、オペレーションシステムによっては、受信したパケットデータを後段の処理でもパケットバッファに入ったまま使うため、当該パケットバッファ領域が長時間開放されず、従来のデバイスドライバ(パケット受信処理部)で必要なメモリが確保できなくなる状況が発生していた。しかし、本実施例の方法では、必要なパケットデータは、パケットデータコピー機能部１１９によって、再度メモリの別領域に展開される為に受信エリアのメモリはすぐに解放されて、ネットワークの受信を待機してしまうようなことは発生しない。
【００４７】
ＤＭＡによる受信制御をハードウェアで実現されるパケット送受信装置１２０が行うために、従来ソフトウェアによって実現されていた受信制御がなくなり、当該ソフトウェアの開発（図４に示すディスクリプタ制御のためのソフトウェア）が必要なくなり、開発コスト及び期間が大きく短縮される。
【００４８】
［その他］
本実施例においては、パケットデータコピー機能部１１９は、画像形成装置のコンピュータがソフトウェアによってその機能を実行し、パケット送受信装置１２０は、ハードウェアによって実行されるとしたが、それ以外に、パケットデータコピー機能部１１９がハードウェアによって実行されてもよいし、また、パケット送受信装置１２０が画像形成装置のコンピュータがソフトウェアによってその機能を実行する方法であってもよいし、また、パケット送受信装置１２０は、ハードウェアとソフトウェアの両方によって実行されるものであってもよい。
【符号の説明】
【００４９】
１０１  画像形成装置
１１１  ネットワークデバイス
１１３  メモリ
１１５  ＣＰＵ
１１７  ＤＭＡＣ（Direct Memory Access Controller）
１１９  パケットデータコピー機能部
１２０  パケット送受信装置
１２１  パケット情報取得部
１２３  パケット情報更新部
１２５  メモリ確保部
１２７  メモリ転送制御部
【図１】
2011077903.tif 000003
【図２】
2011077903.tif 000004
【図３】
2011077903.tif 000005
【図４】
2011077903.tif 000006