(57)【要約】【課題】受信データの廃棄時に制御手段にかかる負荷を軽減することができる通信制御装置、画像形成装置、及びプログラムを提供する。【解決手段】通信制御装置としての通信制御部（７）が、受信パケットの個数をカウントするパケットカウント部（２４）と、受信パケットの転送経路上においてＣＰＵ２の上流側に設けられ、パケットカウント部によるカウント値に応じて、受信パケットを廃棄するフィルタ部（１２）とを備えている。よって、通信制御装置の後段に設けられたＣＰＵが受信パケットの個数をカウントしたり受信パケットを廃棄するか否かを判断することがないので、受信パケットの廃棄時にＣＰＵにかかる負荷が軽減される。【選択図】図３
2011199638.tif 000002
【特許請求の範囲】
【請求項１】
受信データの個数をカウントするカウント手段と、
前記受信データの転送経路上において制御手段の上流側に設けられ、前記カウント手段によるカウント値に応じて、受信データを廃棄する廃棄手段と
を備えることを特徴とする通信制御装置。
【請求項２】
前記廃棄手段は、前記カウント手段によるカウント値に応じて、受信データの廃棄期間を調整することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記受信データの廃棄期間は、前記カウント手段が前記受信データの個数をカウントする単位である、少なくとも１つの単位時間で構成されており、
前記受信データの廃棄期間内の単位時間に、前記カウント手段によるカウント値が予め決められた閾値以上である場合に、前記廃棄手段は受信データの廃棄期間を延長することを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記受信データの転送経路上において前記制御手段の上流側に設けられると共に、前記カウント手段によるカウント値と予め決められた閾値とを比較し、前記カウント値が前記閾値以上である場合に、前記廃棄手段の動作を有効にする判断手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載の通信制御装置。
【請求項５】
前記請求項１乃至４のいずれか１項に記載の通信制御装置を備えることを特徴とする画像形成装置。
【請求項６】
通信制御装置を、
受信データの個数をカウントするカウント手段、及び
前記受信データの転送経路上において制御手段の上流側に設けられ、前記カウント手段によるカウント値に応じて、受信データを廃棄する廃棄手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置、画像形成装置、及びプログラムに関する。
【背景技術】
【０００２】
従来より、ＣＰＵがパケットの受信によるＣＰＵへの割込回数が閾値を超えると判断した場合に、ＣＰＵが受信パケットを廃棄するようにＮＩＣ（Network Interface Card）を制御するコンピュータシステムが知られている（例えば、特許文献１参照）。尚、ＣＰＵへの割込回数は一定周期でリセットされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４７８９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、受信データの廃棄時に制御手段にかかる負荷を軽減することができる通信制御装置、画像形成装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１の通信制御装置は、受信データの個数をカウントするカウント手段と、前記受信データの転送経路上において制御手段の上流側に設けられ、前記カウント手段によるカウント値に応じて、受信データを廃棄する廃棄手段とを備えることを特徴とする。
【０００６】
請求項２の通信制御装置は、請求項１に記載の通信制御装置において、前記廃棄手段は、前記カウント手段によるカウント値に応じて、受信データの廃棄期間を調整することを特徴とする。
【０００７】
請求項３の通信制御装置は、請求項２に記載の通信制御装置において、前記受信データの廃棄期間は、前記カウント手段が前記受信データの個数をカウントする単位である、少なくとも１つの単位時間で構成されており、前記受信データの廃棄期間内の単位時間に、前記カウント手段によるカウント値が予め決められた閾値以上である場合に、前記廃棄手段は受信データの廃棄期間を延長することを特徴とする。
【０００８】
請求項４の通信制御装置は、請求項１乃至３のいずれか１項に記載の通信制御装置において、前記受信データの転送経路上において前記制御手段の上流側に設けられると共に、前記カウント手段によるカウント値と予め決められた閾値とを比較し、前記カウント値が前記閾値以上である場合に、前記廃棄手段の動作を有効にする判断手段を備えることを特徴とする。
【０００９】
請求項５の画像形成装置は、前記請求項１乃至４のいずれか１項に記載の通信制御装置を備えることを特徴とする。
【００１０】
請求項６のプログラムは、通信制御装置を、受信データの個数をカウントするカウント手段、及び前記受信データの転送経路上において制御手段の上流側に設けられ、前記カウント手段によるカウント値に応じて、受信データを廃棄する廃棄手段として機能させることを特徴とする。
【発明の効果】
【００１１】
請求項１の発明によれば、受信データの廃棄時に制御手段にかかる負荷を軽減することができる。
【００１２】
請求項２の発明によれば、受信データの個数に応じて、受信データの廃棄期間を延長又は短縮することができる。
【００１３】
請求項３の発明によれば、データ受信の再開直後の障害発生を防止することができる。
【００１４】
請求項４の発明によれば、受信データの個数が予め決められた閾値以上である場合に、受信データを廃棄することができる。
【００１５】
請求項５の発明によれば、受信データの廃棄時に制御手段にかかる負荷を軽減することができる。
【００１６】
請求項６の発明によれば、受信データの廃棄時に制御手段にかかる負荷を軽減することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係る画像形成装置の構成を示すブロック図である。
【図２】図１の通信制御部７の構成を示すブロック図である。
【図３】図２の受信負荷管理部１５の構成を示すブロック図である。
【図４】受信負荷管理部１５で実行される処理を示すフローチャートである。
【図５】（Ａ）はフィルタ期間が延長されない場合の受信部１１及びＤＭＡ部１４の受信パケット数の関係を示素図である。（Ｂ）はフィルタ期間が延長される場合の受信部１１及びＤＭＡ部１４の受信パケット数の関係を示す図である。
【図６】（Ａ）及び（Ｂ）は、パルス発生２３から出力されるパルスと、パケットカウント部２４のカウント値と、フィルタ期間との関係を示すタイミングチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１９】
図１は、本実施の形態に係る画像形成装置の構成を示すブロック図である。
【００２０】
図１の画像形成装置１は、例えば、複合機（ＭＦＰ(Multi Function Peripheral)である。画像形成装置１は、装置全体の動作を制御するＣＰＵ２（制御手段）、各種のプログラムやデータを記憶するメインメモリ３、バス５及びバス６をブリッジするバスブリッジ４、ネットワーク１０を介して他の装置（不図示）と通信する通信制御部７、画像を記録媒体上に形成する画像形成部８、及びユーザインタフェース（ＵＩ）９を備えている。
【００２１】
バス５及びバス６は、PCI（Peripheral Component Interconnect）バス又はPCI Expressバスで構成されている。ＣＰＵ２は、バスブリッジ４及びバス５を介してメインメモリ３及びＵＩ９と通信し、バスブリッジ４及びバス６を介して通信制御部７及び画像形成部８と通信する。通信制御部７は、通信制御装置としてのネットワークインタフェースカードである。画像形成部８は、ドラム、転写ベルト、現像器及び定着器等（不図示）を備えている。ＵＩ９は、例えば、タッチパネル式の表示装置であり、出力部数や出力方法等の設定や表示に使用される。
【００２２】
図２は、図１の通信制御部７の構成を示すブロック図である。図２では、通信制御部７のパケットを受信する構成を示す。
【００２３】
通信制御部７は、受信部１１、フィルタ部１２（廃棄手段）、セレクタ１３及びＤＭＡ（Direct Memory Access）部１４を備えている。受信部１１は、ネットワーク１０からパケットを受信する。尚、受信部１１が受信するデータは、パケット形式のデータに限定されるものではない。受信部１１は、受信データとしての受信パケットの負荷を管理する受信負荷管理部１５（カウント手段、判断手段）を備えている。フィルタ部１２は、受信部１１から出力された特定の受信パケットを廃棄する。廃棄される特定の受信パケットは、例えば、ブロードキャストパケット（自分宛のARP(Address Resolution Protocol)パケットを除く）である。尚、特定の受信パケットは、フィルタ部１２で受信した全パケットでもよい。また、以下の説明では、受信パケットは、ブロードキャストパケット（自分宛のARP(Address Resolution Protocol)パケットを除く）を指すものとする。セレクタ１３は、受信負荷管理部１５からの選択信号に応じて、セレクタ１３と受信部１１との間の第１経路、又はセレクタ１３とフィルタ部１２との間の第２経路のいずれか一方を選択する。ＤＭＡ部１４は、受信パケットをメインメモリ３に出力すると共に、受信パケットのメインメモリ３への出力が終了したときに割込信号をＣＰＵ２へ出力する。また、通信制御部７は、受信パケットの転送経路（即ち、受信パケットがネットワーク１０からメインメモリ３へ転送される経路）上においてＣＰＵ２の上流側に設けられている。受信負荷管理部１５は、受信パケットの転送経路上においてフィルタ部１３の上流側に設けられている。
【００２４】
受信部１１がネットワーク１０からパケットを受信すると、受信負荷管理部１５が、パケットの受信数が予め決められた閾値以上であるか否かを判別する。パケットの受信数が予め決められた閾値以上である場合には、受信負荷管理部１５は、第１経路を選択する選択信号をセレクタ１３に出力する。これにより、受信パケットはフィルタ部１２で廃棄され、ＤＭＡ部１４に出力されない。一方、パケットの受信数が予め決められた閾値を超えない場合には、受信負荷管理部１５は、第２経路を選択する選択信号をセレクタ１３に出力する。これにより、受信パケットは、セレクタ１３を介してＤＭＡ部１４に出力される。
【００２５】
また、受信負荷管理部１５は、予め決められた期間（以下、フィルタ期間という）に受信パケット数が閾値以上であるか否かを判別する。フィルタ期間は、フィルタ部１２が受信パケットを廃棄する期間である。フィルタ期間に受信パケット数が閾値以上である場合には、受信負荷管理部１５は、第２経路を選択する選択信号をセレクタ１３に出力した状態、又はフィルタ部１２が受信パケットを廃棄する状態を維持する、即ちフィルタ期間を延長する。フィルタ期間に受信パケット数が閾値を超えない場合には、受信負荷管理部１５は、第１経路を選択する選択信号をセレクタ１３に出力する。これにより、受信パケットは、セレクタ１３を介してＤＭＡ部１４に出力される。尚、上記閾値及び上記フィルタ期間は、画像形成装置１の初期化時に、ＣＰＵ２が受信負荷管理部１５に設定する。
【００２６】
ＤＭＡ部１４によって受信された受信パケットはメインメモリ３に出力される。ＤＭＡ部１４は、受信パケットのメインメモリ３への出力が終了したときに割込信号をＣＰＵ２へ出力する。
【００２７】
図３は、図２の受信負荷管理部１５の構成を示すブロック図である。
【００２８】
受信負荷管理部１５は、水晶発振器２１、レジスタ２２、パルス発生部２３、パケットカウント部２４（カウント手段）、及び比較部２５（廃棄手段、判断手段）を備えている。水晶発振器２１は、クロックをパルス発生部２３に出力する。レジスタ２２は、単位時間の設定情報をパルス発生部２３に出力する。単位時間は、あるパルスの出力から次のパルスの出力までの期間である。単位時間の設定情報は、単位時間あたりのクロック数を示す。また、単位時間の設定情報は、画像形成装置１の初期化時に、ＣＰＵ２によりレジスタ２２に設定される。
【００２９】
パルス発生部２３は、水晶発振器２１から出力されるクロックとレジスタ２２から出力される単位時間の設定情報とに基づいて、パルスを生成し、パケットカウント部２４、及び比較部２５に出力する。パケットカウント部２４は、パルス発生部２３から出力されるパルス及びネットワーク１０からパケットを受信し、単位時間あたりのパケット数をカウントする。パケットカウント部２４は、単位時間あたりのパケット数の情報を比較部２５に出力する。
【００３０】
比較部２５は、ＣＰＵ２から、パケット数の閾値及びフィルタ期間の情報を取得する。尚、フィルタ期間は、例えば、単位時間の整数倍である。また、比較部２５は、パルス発生部２３からパルスを、パケットカウント部２４から単位時間あたりのパケット数の情報を受信する。比較部２５は、パルスの受信タイミングで、単位時間あたりのパケット数を閾値と比較する。単位時間あたりのパケット数が閾値以上である場合には、比較部２５は、フィルタ部１２を有効にするトリガ（例えば信号）をフィルタ部１２に出力し、さらに、第２経路を選択する選択信号をセレクタ１３に出力する。これにより、ネットワーク１０からの受信パケットはフィルタ部１２により廃棄される。
【００３１】
また、比較部２５は、フィルタ期間内の各単位時間で受信パケット数が閾値以上であるか否かを判別する。各単位時間で受信パケット数が閾値以上である場合には、比較部２５は、フィルタ期間を延長する。また、各単位時間で受信パケット数が閾値を超えない場合には、比較部２５は、フィルタ期間を延長しない。つまり、比較部２５は、フィルタ期間中であっても各単位時間毎に、フィルタ期間を延長するか否かを判断する。受信パケットの個数が閾値以上である状態が続くと、各単位時間が経過する毎にフィルタがかけ直されるので、結果的にフィルタ期間が延長される。
【００３２】
また、比較部２５は、フィルタ期間内の最後の単位時間（即ち、フィルタ期間の経過直前の単位時間）で受信パケット数が閾値以上であるか否かを判別してもよい。この場合、フィルタ期間内の最後の単位時間で受信パケット数が閾値以上である場合には、比較部２５は、フィルタ期間を延長する。また、フィルタ期間内の最後の単位時間で受信パケット数が閾値を超えない場合には、比較部２５は、フィルタ期間を延長しない。
【００３３】
図４は、受信負荷管理部１５で実行される処理を示すフローチャートである。
【００３４】
まず、パルス発生部２３がパルスをパケットカウント部２４及び比較部２５に出力する（ステップＳ１）。パケットカウント部２４は、単位時間あたりのパケット数をカウントし、カウント値を比較部２５に出力する（ステップＳ２）。比較部２５は、カウント値が閾値以上であるか否かを判別する（ステップＳ３）。ステップＳ３でＮＯの場合には、ステップＳ２の工程に戻る。ステップＳ３でＹＥＳの場合には、比較部２５は、フィルタ部１２を有効にするトリガ（例えば信号）をフィルタ部１２に出力し、さらに、第２経路を選択する選択信号をセレクタ１３に出力する（ステップＳ４）。これにより、受信パケットはフィルタ部１２により廃棄される。また、ステップＳ３、４によれば、比較部２５は、パケットカウント部２４によるカウント値に応じて、受信パケットを廃棄するか否かを判断している。
【００３５】
次に、比較部２５は、パルス発生部２３から受信されるパルスに基づいて、受信パケットのフィルタリングの開始時点からの経過時間を計測する（ステップＳ５）。比較部２５は、フィルタ期間内の各単位時間で受信パケット数（即ちカウント値）が閾値以上であるか否かを判別する（ステップＳ６）。
【００３６】
ステップＳ６でＮＯの場合には、比較部２５は、フィルタ部１２を有効にするトリガをフィルタ部１２に出力せず、第１経路を選択する選択信号をセレクタ１３に出力する（ステップＳ７）。これにより、フィルタ期間は延長されず、受信パケットは、セレクタ１３を介してＤＭＡ部１４に出力される。その後、ステップＳ２の工程に戻る。ステップＳ６でＹＥＳの場合には、比較部２５は、フィルタ期間を延長する（ステップＳ８）。この場合、比較部２５は、何も実行しない、即ち、フィルタ部１２が受信パケットを廃棄する状態を維持することにより、フィルタ期間を延長してもよい。また、比較部２５は、フィルタ部１２を有効にするトリガをフィルタ部１２に再度出力し、さらに、第２経路を選択する選択信号をセレクタ１３に再度出力することによって、フィルタ期間を延長してもよい。さらに、フィルタ期間は、１つの単位時間ずつ延長されてもよいし、複数の単位時間ずつ延長されてもよい。
【００３７】
ここで、図５（Ａ）にフィルタ期間が延長されない場合の受信部１１及びＤＭＡ部１４の受信パケット数の関係を示し、図５（Ｂ）にフィルタ期間が延長される場合の受信部１１及びＤＭＡ部１４の受信パケット数の関係を示す。
【００３８】
図４のステップＳ８の工程によれば、図５（Ｂ）に示すようにフィルタ期間が延長されるので、比較部２５は、フィルタ期間経過後に、パケットの受信負荷が増大することを防止する。従って、比較部２５は、パケットの受信負荷の増大により生じる障害（例えば、ＵＩ９の表示の乱れや記録媒体上に形成される画像の途切れ）を防止する。
【００３９】
パケットカウント部２４は、単位時間あたりのパケット数をカウントし、カウント値を比較部２５に出力する（ステップＳ９）。比較部２５は、カウント値が閾値以上であるか否かを判別する（ステップＳ１０）。ステップＳ１０でＹＥＳの場合には、ステップＳ８の工程に戻り、比較部２５は、フィルタ期間を再度延長する。ステップＳ１０でＮＯの場合には、ステップＳ７の工程に進み、比較部２５は、フィルタ期間の延長を停止する。従って、フィルタ期間が複数の単位時間延長される場合には、ステップＳ１０でＮＯ及びステップＳ７のルートにより、延長されるべきフィルタ期間が短縮される。例えば、フィルタ期間が５つの単位時間延長される場合には、ステップＳ１０でＮＯ及びステップＳ７のルートにより、延長されるべきフィルタ期間が１つの単位時間になる場合がある。
【００４０】
図６（Ａ），（Ｂ）は、パルス発生２３から出力されるパルスと、パケットカウント部２４のカウント値と、フィルタ期間との関係を示すタイミングチャートである。図６（Ａ）は、フィルタ期間が延長されない例を示し、図６（Ｂ）は、フィルタ期間が延長される例を示す。
【００４１】
図６（Ａ）では、ＣＰＵ２により予め決められていたフィルタ期間が単位時間（２），（３）であるものとする。図６（Ａ），（Ｂ）では、閾値は「ｋ」であり、パケット数「ｎ」は閾値「ｋ」よりも小さいものとする。図６（Ａ），（Ｂ）では、パルス発生２３がパルスを出力するたびに、パケットカウント部２４はカウント値を「０」にリセットする。図６（Ａ），（Ｂ）の単位時間（１）では、パケットカウント部２４のカウント値が閾値「ｋ」以上であるので、単位時間（２）からフィルタ期間が開始されている。図６（Ａ）の単位時間（３）では、パケットカウント部２４のカウント値（「ｎ」）が閾値「ｋ」を超えていないので、フィルタ期間が終了されている。      
【００４２】
図６（Ｂ）では、ＣＰＵ２により予め決められていたフィルタ期間が単位時間（２）であるものとする。図６（Ｂ）の単位時間（２）では、パケットカウント部２４のカウント値が閾値「ｋ」以上であるので、フィルタ期間は延長されている。図６（Ｂ）の単位時間（３）では、パケットカウント部２４のカウント値が閾値「ｋ」以上であるので、フィルタ期間はさらに延長されている。図６（Ｂ）の単位時間（４）では、パケットカウント部２４のカウント値（「ｎ」）が閾値「ｋ」を超えていないので、フィルタ期間が終了されている。
【００４３】
以上説明したように、本実施の形態によれば、通信制御部７が、受信パケットの個数をカウントするパケットカウント部２４と、受信パケットの転送経路上においてＣＰＵ２の上流側に設けられ、パケットカウント部２４によるカウント値に応じて、受信パケットを廃棄するフィルタ部１２とを備えている。よって、受信パケットの廃棄の無効期間だけでなく、受信パケットの廃棄期間中も、受信データの個数をカウントし、カウント値に応じて受信データを廃棄するので、受信データの廃棄時にＣＰＵ２にかかる負荷を軽減することができる。また、受信パケットの転送経路上において通信制御部７の下流に設けられたＣＰＵ２が、受信パケットの個数をカウントしたり受信パケットを廃棄するか否かを判断することがないので、受信パケットの廃棄時にＣＰＵ２にかかる負荷が軽減される。また、従来、受信パケットの個数に相当する割込信号のカウント処理や受信パケットの廃棄判断処理に使用されていたＣＰＵのリソースは、他の処理に割り当てることが可能である。
【００４４】
また、パケットカウント部２４及び比較部２５は、受信パケットの転送経路（即ち、受信パケットがネットワーク１０からメインメモリ３へ転送される経路）上においてフィルタ部１２の上流側に設けられている。よって、パケットカウント部２４及び比較部２５は、フィルタ部１２の無効期間だけなく、フィルタ部１２の有効期間（即ち、フィルタ期間中）も、それぞれ受信パケットの個数をカウントし、受信パケットを廃棄するか否かを判断する。尚、ＣＰＵ２が受信パケットの個数に相当する割込信号をカウントし、受信パケットの廃棄判断を行う場合、フィルタ期間中、ＣＰＵ２はこれらの処理を実行できない。これは、フィルタ期間中は、受信パケットがセレクタ１３でブロックされるので、ＣＰＵ２は、受信パケットの個数に相当する割込信号をカウントできず、カウント値に応じた受信パケットの廃棄判断もできないからである。
【００４５】
さらに、パケットカウント部２４及び比較部２５は、フィルタ部１２の無効期間だけなく、フィルタ部１２の有効期間（フィルタ期間中）も、それぞれ受信パケットの個数をカウントし、受信パケットを廃棄するか否かを判断するので、比較部２５は、フィルタ期間中に、フィルタ期間の調整（延長又は短縮）が可能である。
【００４６】
通信制御装置（即ち通信制御部７）の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、通信制御装置に供給し、受信負荷管理部１５が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、又はＳＤカードなどがある。
【００４７】
また、通信制御装置が、通信制御装置の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【符号の説明】
【００４８】
１  複合機
２  ＣＰＵ
３  メインメモリ
７  通信制御部
１１  受信部
１２  フィルタ部
１３  セレクタ
１４  ＤＭＡ（Direct Memory Access）部
２１  水晶発振器
２２  レジスタ
２３  パルス発生部
２４  パケットカウント部
２５  比較部
【図１】
2011199638.tif 000003
【図２】
2011199638.tif 000004
【図３】
2011199638.tif 000005
【図４】
2011199638.tif 000006
【図５】
2011199638.tif 000007
【図６】
2011199638.tif 000008