説明

画像形成装置、パケット送受信装置及びパケット送受信方法

【課題】 画像形成装置等のネットワーク機器に搭載されて、パケット送受信を効率よく行なうパケット送受信装置において、メモリの利用効率を高める。
【解決手段】 従来パケットの最大サイズの大きさで複数枚分メモリ上に用意されていたパケットバッファを連続的なひとつの大きな領域(受信エリア)としてメモリ上に確保し、ネットワークデバイスが受信したパケットデータを連続的に前記受信エリアに配置する方法によって、メモリの利用効率を高めた。

【発明の詳細な説明】
【技術分野】
【0001】
画像形成装置等のネットワーク機器に搭載されて、パケット送受信を効率よく行なうパケット送受信装置に関する。
【背景技術】
【0002】
画像形成装置等のネットワーク機器においては、ネットワーク通信の際には、データがパケットと呼ばれる単位毎に送受信されるが、ネットワークデバイスを介して受信したパケットは、ネットワーク機器のメモリに展開されて、当該メモリ上に展開されたデータがアプリケーションによって利用される。
【0003】
この受信したパケットデータをメモリに展開する際には、送付されるパケットの最大サイズを許容できるメモリ空間を確保し、そこに対してDMA(Direct Memory Access)による受信が行なわれるようになっている。その場合に、送付されたパケットデータが小さいと、確保していたメモリが無駄になっていた。
【0004】
図4に従来技術による受信したパケットをメモリ上のパケットバッファに展開する際の概念図を示す。ここでは、DMAを制御するためのデータを記録保持するディスクリプタとそれをリスト化したもの、そしてそれぞれのディスクリプタに結び付けられたパケットを入れるバッファを予め準備する必要がある。この場合、パケットバッファのサイズは、パケットの最大値のサイズを固定長として、次々に受信されるパケットをバッファリング可能とするために複数枚(例えば32枚のパケットバッファ)用意される。しかしパケットのサイズは、常に最大値のものが受信される訳ではなく、図4に示すように、受信パケットのサイズがパケットバッファより小さい場合には、無駄なメモリを消費していた。
【0005】
この不都合を解消する従来技術として、予め長さの異なるパケット領域をもち、パケットの一部を取り込み、プロトコルを解釈し、それに応じてパケットを入れるバッファを切り替えて受信を行なう方法がある(特許文献1参照)。
【0006】
しかし、上記方法では、長さの異なるパケットに対応して処理を行うために当該処理が煩雑になり、また、JumboFlame(9000-16000byte)など巨大なパケットデータの受信を考慮すると、最小サイズ(64byte)との差がありすぎ、適切なサイズのバッファを準備することが難しい問題がある。
【0007】
また、他の従来技術として、メモリ効率を高め、かつ、処理ソフトウェア上のオーバーヘッドを減らすために、メインメモリ上に長さの異なる複数のパケット領域を設けて、受信データ長に応じて上記パケット領域から最適なものを選択する方法がある(特許文献2参照)。
【0008】
この特許文献2の方法でも、特許文献1の方法と同様な問題を有し、不定長のパケットが受信されるのに対して、それに対する複数種類の最適な長さのパケットサイズを予測することは難しく、特許文献1でも特許文献2の方法でも、同様にメモリが無駄になる問題は解消されない。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−185486号公報
【特許文献2】特開2002−185466号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
解決しようとする課題は、画像形成装置等のネットワーク機器に搭載されて、パケット送受信を効率よく行なうパケット送受信装置において、メモリ効率を高めてパケットを受信することができなかった点である。
【課題を解決するための手段】
【0011】
本発明の画像形成装置は、ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部とを有するパケット送受信装置を有することを特徴とする。
【0012】
本発明のパケット送受信装置は、ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部とを有することを特徴とする。
【0013】
本発明のパケット送受信方法は、ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保して、前記パケットデータの情報を前記ネットワークデバイスから取得して、前記パケットデータを前記受信エリアに連続的に配置し、前記受信エリアに展開されたパケットデータの展開位置情報を記録更新することにより、パケットデータをメモリ上に効率的に展開して利用することを特徴とする。
【発明の効果】
【0014】
このため、パケット受信時において、当該パケットデータを記憶するため当該パケットデータをメモリに展開する際に、メモリの利用効率が高まる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施例に係る画像形成装置の機能ブロック図である。
【図2】本発明の実施例に係る画像形成装置の受信パケットのメモリ展開の際の説明図である。
【図3】本発明の実施例に係る画像形成装置内のパケット送受信部の動作の流れを示すフローチャートである。
【図4】従来例の画像形成装置の受信パケットのメモリ展開の際の説明図である。
【発明を実施するための形態】
【0016】
本発明の実施例に係る画像形成装置について、以下に説明する。
【実施例1】
【0017】
[構成]
図1は、本発明の実施例に係る画像形成装置の機能ブロック図である。
【0018】
画像形成装置101は、ネットワークデバイス111、メモリ113、CPU(Central Processing Unit)115、DMAC(Direct Memory Access Controller)117、パケットデータコピー機能部119、パケット送受信装置120、画像処理部133、印刷部135の各機能部を有する。
【0019】
パケット送受信装置120は、内部にパケット情報取得部121、パケット情報更新部123、メモリ確保部125、メモリ転送制御部127の各機能部を有する。
【0020】
以下に各機能部について、説明する。
【0021】
ネットワークデバイス111は、ネットワークとの間での通信を行うための通信装置であり、ネットワーク上に流れる信号をデジタルデータに変換する。ネットワーク上を流れるデータは、パケットと呼ばれる最大値が定められたサイズのひとかたまりのデータとして送られ、ネットワークデバイス111は、ネットワーク上に流れる信号をパケットデータとしてパケット送受信装置120に渡し、パケット送受信装置120から送信の為のパケットデータを受け取り、ネットワークに送信する。
【0022】
メモリ113は、半導体記憶装置からなりデジタルデータを記憶する為の装置である。メモリ113中には、画像形成装置101の動作に必要なプログラムやデータが記憶される。又、パケット送受信装置120との間でネットワーク通信によってやり取りされるデジタルデータであるパケットをやり取りする。パケット送受信装置120が受信したパケットは、メモリ113上に展開されて記憶される。展開されたデータは、画像形成装置101の動作を行うためのアプリケーションによって用いられて、例えばネットワークを介して接続される外部端末装置からの印刷データを受信してメモリ上に展開し、後述の画像処理部133によってデータ変換して、後述の印刷部135によって用紙に印刷される。
【0023】
CPU(Central Processing Unit)115は、画像形成装置101の動作を制御する為のマイクロプロセッサであり、メモリ113と協調して動作し、画像形成装置のコンピュータとして動作する。
【0024】
DMAC(Direct Memory Access Controller)117は、画像形成装置101のハードウェアが取得したデジタルデータをCPU115を介さずに直接メモリ113上に転送する。また、メモリ113上のデータを直接画像形成装置101のハードウェアに転送する機能を有する。CPU115によらない転送の為、高速にデータの転送が可能であり、転送中もCPU115の動作を転送のために割く必要がない為、効率的にデータの展開が行われる。本発明の特徴であるパケットの送受信時には、送受信を行うパケットデータをメモリ113とパケット送受信装置120との間でやりとりする。
【0025】
パケットデータコピー機能部119は、一旦メモリ上の受信エリア(図2参照;展開の詳細は後述)に展開されたパケットデータをアプリケーションが利用する為に、メモリ上に再度コピーする。受信エリアのデータは、新規のパケットが書き込まれる為に消去されて更新される必要がある。そのため、その前に当該パケットデータを必要とするアプリケーションのために、受信エリアからメモリ上の異なる領域(後段利用の為のメモリ;図2参照)にコピーする。一旦コピーされたパケットデータ(受信エリア;図2参照)は、アプリケーションによって利用が終了すれば領域が解放される。パケットデータコピー機能部119は、画像形成装置101のコンピュータがソフトウェアを実行することによって、その機能が実現される。
【0026】
パケット送受信装置120は、本発明の最も本質的な機能部であり、画像形成装置101がネットワークデバイス111を介して送受信するパケットデータをメモリ113との間でやり取りする為の装置である。パケット送受信装置はハードウェアによって実現される。
【0027】
パケット情報取得部121は、ネットワークデバイス111が受信するパケットデータの情報であるパケット情報を取得する。パケット情報とは、パケットデータのID及びサイズや受信ステータスである。ネットワークデバイス111からパケットの受信情報やサイズを取得して、パケット情報に書き込む。
【0028】
パケット情報更新部123は、パケットがメモリに展開されると、メモリ上のパケット位置を示すポインタの情報を上記パケット情報で展開する。
【0029】
メモリ確保部125は、メモリ上にパケットデータを展開する領域を連続した一領域(受信エリア;図2参照)として確保する。
【0030】
メモリ転送制御部127は、ネットワークデバイスが取得したパケットをメモリ上に展開するための、制御を行う。従来技術では、パケットの最大サイズの大きさで複数枚確保されたメモリ上のパケットバッファに、各パケットを展開していたため、パケットサイズが最大サイズより小さい場合にメモリが無駄になっていた。本メモリ転送制御部127は、前記メモリ確保部125が確保した受信エリアに、受信したパケットをそのサイズ毎に連続的に配置して転送する。そのため、従来発生していたメモリが無駄になることが無く、メモリの利用効率が高まる。メモリ転送制御部127は、DMAC117と協調して動作し、ネットワークデバイス111の受信したパケットデータをメモリ113上の構成された受信エリア(図2参照)に転送する。
【0031】
画像処理部133は、外部端末装置から受信したページ記述言語等によって記載されている印刷データを、印刷部135によって印刷可能な任意のデータ形式に変換する。
【0032】
印刷部135は、印刷エンジンを有して、電子データを用紙に印刷する。
【0033】
[フローチャート]
次に図3のフローチャートを用いて、画像形成装置101がネットワークよりパケットデータを受信して、メモリ上に展開してアプリケーションにて利用する動作の流れについて説明する。
【0034】
S11:メモリ確保部125は、メモリ113上に充分な容量の受信パケット転送の為の受信エリアを用意する。また、同メモリ確保部125は、上記用意したパケット転送の受信エリアのStart/End情報も準備する。この時パケット情報エリアIndexのReadIndexとWriteIndexが初期化されパケット1情報エリアを指し示す。また、パケット1情報には受信エリアのStart位置が設定される。
【0035】
S13:ネットワークデバイス111は、ネットワークからパケットデータを受信する。
【0036】
S15:メモリ転送制御部127は、DMAC117を介して、S13で受信したパケットデータをWriteIndexの指し示す情報1情報エリアに従い、メモリ113上に構成された受信エリア(図2参照)にデータ展開する。
【0037】
S17:パケット情報取得部121は、パケットの受信情報及びサイズをパケット1情報エリア(図2参照)に書き込む。パケット情報更新部123は、パケット2情報エリアに受信エリア上に展開されたパケット1の後ろの任意のアドレスを設定し、パケット情報エリアIndexのWriteIndexを更新する。
【0038】
S19:パケットデータコピー機能部119は、パケット受信やDMA転送その他の割り込みやポーリングでパケット情報エリアRead/WriteIndexを参照する。上記からの流れで説明すれば、ReadIndexの指し示すパケット1情報エリアの情報を元に後段の使用するための必要最低限のメモリ領域を確保し、受信エリアからそのメモリ領域へパケットをコピーする。
【0039】
S21:パケットデータコピー機能部119は、パケット1情報エリアをクリアし、パケット情報エリアのReadIndexを更新する。尚、S19〜S21の処理はS13〜S17の受信エリアへのパケット展開処理と非同期でも構わない。
【0040】
S23:ネットワークデバイスは、パケットを受信する。
【0041】
S25:この時点で、Read/WriteIndexの関係からパケット情報エリアへの登録の可否を判断し、受信エリアにDMA転送できる領域が存在するかを判断する。存在した場合は、動作をS17に戻して繰り返し、無い場合は、動作をS17移行する。
【0042】
S27:ネットワークデバイス111からDMAC117によるメモリへのパケットデータの展開は中止する。ネットワークデバイス上のパケットを破棄するか、ポーリング若しくはS21〜S23の動作をトリガーとしてパケットの受信エリアへの展開の可否を検知し、動作をS17に戻して繰り返す。
【0043】
以上の一連の流れにより、画像形成装置101は、受信したパケットデータを効率よくメモリに展開する。
【0044】
[実施例の効果]
本発明実施例の画像形成装置により、以下の効果が得られる。
【0045】
受信したパケットデータは、メモリ上に確保された受信エリア中に連続して、展開される為に、従来のパケット最大サイズ毎のパケットバッファに展開される方法に比較して、メモリが無駄にならず、メモリの利用効率が高まる。
【0046】
従来、オペレーションシステムによっては、受信したパケットデータを後段の処理でもパケットバッファに入ったまま使うため、当該パケットバッファ領域が長時間開放されず、従来のデバイスドライバ(パケット受信処理部)で必要なメモリが確保できなくなる状況が発生していた。しかし、本実施例の方法では、必要なパケットデータは、パケットデータコピー機能部119によって、再度メモリの別領域に展開される為に受信エリアのメモリはすぐに解放されて、ネットワークの受信を待機してしまうようなことは発生しない。
【0047】
DMAによる受信制御をハードウェアで実現されるパケット送受信装置120が行うために、従来ソフトウェアによって実現されていた受信制御がなくなり、当該ソフトウェアの開発(図4に示すディスクリプタ制御のためのソフトウェア)が必要なくなり、開発コスト及び期間が大きく短縮される。
【0048】
[その他]
本実施例においては、パケットデータコピー機能部119は、画像形成装置のコンピュータがソフトウェアによってその機能を実行し、パケット送受信装置120は、ハードウェアによって実行されるとしたが、それ以外に、パケットデータコピー機能部119がハードウェアによって実行されてもよいし、また、パケット送受信装置120が画像形成装置のコンピュータがソフトウェアによってその機能を実行する方法であってもよいし、また、パケット送受信装置120は、ハードウェアとソフトウェアの両方によって実行されるものであってもよい。
【符号の説明】
【0049】
101 画像形成装置
111 ネットワークデバイス
113 メモリ
115 CPU
117 DMAC(Direct Memory Access Controller)
119 パケットデータコピー機能部
120 パケット送受信装置
121 パケット情報取得部
123 パケット情報更新部
125 メモリ確保部
127 メモリ転送制御部

【特許請求の範囲】
【請求項1】
ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、
前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、
前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、
前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部と、を有するパケット送受信装置を有する
ことを特徴とする画像形成装置。
【請求項2】
請求項1の画像形成装置であって、
前記メモリ転送制御部は、DMA(Direct Memory Access)コントローラを制御して、前記受信エリアに直接パケットデータを展開する
ことを特徴とする画像形成装置。
【請求項3】
請求項1又は2の画像形成装置であって、
前記受信エリアに展開されたパケットデータをアプリケーションが利用するためにメモリ上にコピーするパケットデータコピー機能部を有する
ことを特徴とする画像形成装置。
【請求項4】
ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保するメモリ確保部と、
前記パケットデータの情報を前記ネットワークデバイスから取得するパケット情報取得部と、
前記パケットデータを前記受信エリアに連続的に配置するメモリ転送制御部と、
前記受信エリアに展開されたパケットデータの展開位置情報を記録更新するパケット情報更新部と、を有する
ことを特徴とするパケット送受信装置。
【請求項5】
ネットワークデバイスを介して受信するパケットデータをメモリ上に展開するための連続的なメモリ領域である受信エリアを確保して、
前記パケットデータの情報を前記ネットワークデバイスから取得して、
前記パケットデータを前記受信エリアに連続的に配置し、
前記受信エリアに展開されたパケットデータの展開位置情報を記録更新することにより、パケットデータをメモリ上に効率的に展開して利用する
ことを特徴とするパケット送受信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−77903(P2011−77903A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−228252(P2009−228252)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】