(57)【要約】【課題】処理負荷の低減を図ると共に外部機器との通信を優先的に行うことができる通信コントローラを提供する。【解決手段】パケット生成機能１０が、ＣＰＵ２からの送信データをフォーマットして、送信パケットを生成する。送信バッファ１１は、送信パケットを一時的に記憶する。受信バッファ１２は、外部機器３から受信した受信パケットを一時的に記憶する。自己診断機能１３は、パケット生成機能１０に自己診断用パケットの生成を依頼する。パケット生成機能１０は、自己診断用パケットを生成して送信バッファ１１に記憶させる。回路内ループバック１６は、送信バッファ１１に記憶されたパケットが自己診断用パケットであった場合、当該自己診断用パケットを受信バッファ１２に記憶させる。自己診断機能１３は、受信バッファ１２に記憶された自己診断用パケットに基づいて自己診断を行う。自己診断機能１３は、外部機器３との通信量に応じて自己診断用パケットの生成間隔を変動する。【選択図】図１
2019193007.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置からの送信データをフォーマットして、送信パケットを生成する第１パケット生成部と、
前記送信パケットを一時的に記憶する送信バッファと、
外部機器から受信した受信パケットを一時的に記憶する受信バッファと、
自己診断用パケットを生成して前記送信バッファに記憶させる第２パケット生成部と、
前記送信バッファに記憶されたパケットが自己診断用パケットであった場合、当該自己診断用パケットを前記受信バッファに記憶させるループバック回路と、
前記ループバック回路により前記受信バッファに記憶された自己診断用パケットと、前記第２パケット生成部により生成された自己診断用パケットと、の比較に基づいて自己診断を行う自己診断部と、
前記外部機器との通信量を推定する推定部と、を備え、
前記第２パケット生成部は、前記推定された通信量に応じて前記自己診断用パケットの生成間隔を変動することを特徴とする通信コントローラ。
【請求項２】
中央処理装置からの送信データをフォーマットして、送信パケットを生成する第１パケット生成部と、
前記送信パケットを一時的に記憶する送信バッファと、
外部機器から受信した受信パケットを一時的に記憶する受信バッファと、
自己診断用パケットを生成して前記送信バッファに記憶させる第２パケット生成部と、
外部からループバックされて前記受信バッファに記憶された自己診断用パケットと、前記第２パケット生成部により生成された自己診断用パケットと、の比較に基づいて自己診断を行う自己診断部と、
前記外部機器との通信量を推定する推定部と、を備え、
前記第２パケット生成部は、前記推定された通信量に応じて前記自己診断用パケットの生成間隔を変動することを特徴とする通信コントローラ。
【請求項３】
前記推定部は、前記自己診断用パケットが生成されてから前記受信バッファに記憶されるまでの時間に基づいて、前記通信量を推定することを特徴とする請求項１又は２に記載の通信コントローラ。
【請求項４】
前記推定部は、前記受信バッファに記憶されるデータ量に基づいて前記通信量を推定することを特徴とする請求項１〜３何れか１項に記載の通信コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信コントローラに関する。
【背景技術】
【０００２】
従来より、外部機器からのデータを受信可能な状態（オンライン状態）で自己診断を実行する通信コントローラとして、特許文献１に示すＭＡＣ回路が知られている。特許文献１のＭＡＣ回路は、送信バッファに記憶された送信パケットを受信バッファに転送することにより、送信パケットが自身に戻ってくるようにしたループバック回路を内蔵している。そして、ＭＡＣ回路は、ループバックされたパケットを解析することにより自己診断を行っている。
【０００３】
ところで、オンライン状態では特定時間に通信が増大するということが考えられる。しかしながら、上記ＭＡＣ回路では、定期的に自己診断を行っているため、通信量が増大しているときに自己診断を実行することがあった。このため、ＭＡＣ回路の処理負荷が許容量を超えてしまう恐れがあった。また、本来、優先的に行わなければならない外部機器との通信が自己診断の後回しになってしまう恐れがあった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１０１１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、以上の背景に鑑みてなされたものであり、処理負荷の低減を図ると共に外部機器との通信を優先的に行うことができる通信コントローラを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様である通信コントローラは、中央処理装置からの送信データをフォーマットして、送信パケットを生成する第１パケット生成部と、前記送信パケットを一時的に記憶する送信バッファと、外部機器から受信した受信パケットを一時的に記憶する受信バッファと、自己診断用パケットを生成して前記送信バッファに記憶させる第２パケット生成部と、前記送信バッファに記憶されたパケットが自己診断用パケットであった場合、当該自己診断用パケットを前記受信バッファに記憶させるループバック回路と、前記ループバック回路により前記受信バッファに記憶された自己診断用パケットと、前記第２パケット生成部により生成された自己診断用パケットと、の比較に基づいて自己診断を行う自己診断部と、前記外部機器との通信量を推定する推定部と、を備え、前記第２パケット生成部は、前記推定された通信量に応じて前記自己診断用パケットの生成間隔を変動することを特徴とする。
【０００７】
本発明の第２の態様である通信コントローラは、中央処理装置からの送信データをフォーマットして、送信パケットを生成する第１パケット生成部と、前記送信パケットを一時的に記憶する送信バッファと、外部機器から受信した受信パケットを一時的に記憶する受信バッファと、自己診断用パケットを生成して前記送信バッファに記憶させる第２パケット生成部と、外部からループバックされて前記受信バッファに記憶された自己診断用パケットと、前記第２パケット生成部により生成された自己診断用パケットと、の比較に基づいて自己診断を行う自己診断部と、前記外部機器との通信量を推定する推定部と、を備え、前記第２パケット生成部は、前記推定された通信量に応じて前記自己診断用パケットの生成間隔を変動することを特徴とする。
【０００８】
また、前記推定部は、前記自己診断用パケットが生成されてから前記受信バッファに記憶されるまでの時間に基づいて、前記通信量を推定してもよい。
【０００９】
また、前記推定部は、前記受信バッファに記憶されるデータ量に基づいて前記通信量を推定してもよい。
【発明の効果】
【００１０】
以上説明したように態様によれば、通信量に応じて自己診断用パケットの生成間隔を変動させるので、通信量が多いときに自己診断が実行を抑制できるため、処理負荷の低減を図ると共に外部機器との通信を優先的に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態における通信コントローラとしてのＭＡＣ回路の一実施形態を示す機能ブロック図である。
【図２】図１に示すＭＡＣ回路において、回路内ループバックによりループバックされる様子を示す機能ブロック図である。
【図３】図１に示すＭＡＣ回路において、回路外ループバックによりループバックされる様子を示す機能ブロック図である。
【発明を実施するための形態】
【００１２】
（第１実施形態）
以下、本発明の第１実施形態を、図１〜図３に基づいて説明する。図１に示すＭＡＣ回路１は、中央処理装置２（以下ＣＰＵ２）の通信を制御する回路である。
【００１３】
ＭＡＣ回路１は、パケット生成機能１０と、送信バッファ１１と、受信バッファ１２と、カウンタ１４と、自己診断機能１３と、ループバック判定機能１５と、ループバック回路としての回路内ループバック１６と、パケット解析機能１７と、ネットワーク状態解析機能１８と、を備えている。
【００１４】
パケット生成機能１０は、ＭＡＣ回路１内の図示しないＣＰＵ等の演算処理装置が機能する。パケット生成機能１０は、ＣＰＵ２からの送信データを外部機器３との通信に使用するプロトコルに従ってフォーマットして、送信パケットを生成する。これにより、パケット生成機能１０は、第１パケット生成部として機能する。また、例えば、上記プロトコルとして、ＯＳＩ参照モデルのような複数層に分けて定義されているものを用いる場合、パケット生成機能１０は、複数層全てのプロトコル（例えばＥthernetやTCP/IP、UDP/IP）に従ってデータフォーマットできる機能を有している。
【００１５】
送信バッファ１１は、周知のバッファメモリから構成されている。送信バッファ１１は、パケット生成機能１０が生成した送信パケットを一時的に記憶する。
【００１６】
受信バッファ１２は、周知のバッファメモリから構成されている。受信バッファ１２は、外部機器３から受信した受信パケットを一時的に記憶する。
【００１７】
カウンタ１４は、定期的にカウントを増やしていくものである。
【００１８】
自己診断機能１３は、ＭＡＣ回路１内のＣＰＵ等の演算処理装置が機能する。自己診断機能１３は、パケット生成機能１０に自己診断を行うための自己診断用パケットの生成を依頼する。このとき、自己診断機能１３は、パケット生成機能１０に対してループバック方向を指定する。ループバック方向は、後述する回路内ループバック１６か、外部機器３に内蔵された回路外ループバック３１か、を指定するための情報である。
【００１９】
ループバック方向は、例えば、ユーザの設定により回路内ループバック１６に固定、または、回路外ループバック３１に固定してもよい。また、自己診断機能１３が、例えば、予め指定された確率や条件に応じて回路内ループバック１６、回路外ループバック３１の一方を選択して指定するようにしてもよい。
【００２０】
パケット生成機能１０は、自己診断機能１３から自己診断用パケットの生成が依頼されると、カウンタ１４のカウント値及び自己診断機能１３により指定されたループバック方向の２つの情報を付加した自分宛のパケットを生成して、送信バッファ１１に記憶させる。これにより、自己診断機能１３とパケット生成機能１０とが、第２パケット生成部として機能する。
【００２１】
ループバック判定機能１５は、ＭＡＣ回路１内のＣＰＵ等の演算処理装置が機能する。ループバック判定機能１５は、送信バッファ１１に格納されたパケットが自己診断用パケットであれば、そのループバック方向を判定する。ループバック判定機能１５は、送信バッファ１１に記憶された自己診断用パケットのループ方向が回路内ループバック１６であれば、図２に示すようにその自己診断用パケットを回路内ループバック１６に送信する。ループバック判定機能１５は、送信バッファ１１に記憶された自己診断用パケットのループ方向が回路外ループバック３１であれば、図３に示すようにその自己診断用パケットを出力端末から出力してＭＡＣ回路１外に送信する。
【００２２】
回路内ループバック１６は、ループバック判定機能１５より送られた自己診断用パケットを受信バッファ１２に記憶させる。
【００２３】
一方、外部機器３は、外部からパケットを受信すると、その宛先を判定し、自身宛でない場合、回路外ループバック３１によりそのパケットを外部に送信する。上記自己診断用パケットは、宛先が自分宛（ＭＡＣ回路１宛）になっているため、外部機器３が、自己診断用パケットを受信すると回路外ループバック３１によりその自己診断用パケットがＭＡＣ回路１に送り返される。受信バッファ１２には、外部機器３から送り返された自己診断用パケットも一時的に記憶する。
【００２４】
パケット解析機能１７は、ＭＡＣ回路１内のＣＰＵ等の演算処理装置が機能する。パケット解析機能１７は、受信バッファ１２に格納されたパケットが自己診断用パケットか、それ以外のパケットかを判定する。パケット解析機能１７は、自己診断用パケット以外であると判定すると、そのパケットをＣＰＵ２に送信する。
【００２５】
パケット解析機能１７は、自己診断用パケットと判定するとネットワーク状態解析機能１８に自己診断用パケットに基づいて外部機器との通信量を計算させる。ここで外部機器との通信量は、自己診断用パケットをルーバックした外部機器３だけでなく、ＭＡＣ回路１と通信を行う外部機器全部との通信量を言う。また、パケット解析機能１７は、自己診断用パケットと判定すると、自己診断機能１３に自己診断用パケットに基づいて自己診断を実行させる。
【００２６】
ネットワーク状態解析機能１８は、ＭＡＣ回路１内のＣＰＵ２等の演算処理装置が機能する。ネットワーク状態解析機能１８は、自己診断用パケットに付加されたカウント値と、カウンタ１４のカウント値と、を比べてループバックに要した遅延時間を算出する。一般的に、遅延時間は、通信量が多く、混雑するほど長くなり、通信量が少ないほど短くなり、通信量に応じる。また、ネットワーク状態解析機能１８は、受信バッファ１２に記憶されてパケット解析機能１７により解析されたパケットの単位時間当たりのパケット数とパケットサイズ（データ量）と、上記遅延時間と、に基づいて外部機器との通信量を計算する。これにより、ネットワーク状態解析機能１８が、推定部として機能する。
【００２７】
自己診断機能１３は、パケット解析機能１７により自己診断用パケットであると判定された受信バッファ１２に記憶されたパケットに基づいて自己診断を行う。具体的には、自己診断機能１３は、パケット生成機能１０により生成された自己診断用パケットとループバックされて受信バッファ１２に格納された自己診断用パケットとを比較することにより、自己診断を行う。
【００２８】
また、自己診断機能１３は、ネットワーク状態解析機能１８により計算された通信量に応じて自己診断用パケットの生成間隔を変動させる。具体的には、自己診断機能１３は、通信量が多くなるに従って生成間隔を長くし、通信量が少なくなるに従って生成間隔を短くする。
【００２９】
通信量が多いときは、自己診断用パケット以外の他のパケットを処理する必要がある。上述した第１実施形態によれば、通信量に応じて自己診断用パケットの生成間隔を変動させる。これにより、通信量が多いときに自己診断が実行を抑制できるため、処理負荷の低減を図ると共に外部機器３との通信を優先的に行うことができる。
【００３０】
また、上述した第１実施形態によれば、自己診断機能１３は、回路内ループバック１６によりループバックされて受信バッファ１２に記憶された自己診断用パケットに基づいて自己診断を行っている。これにより、ＭＡＣ回路１内の異常が確認できる。また、自己診断機能１３は、外部からループバックされて受信バッファ１２に記憶された自己診断用パケットに基づいて自己診断を行っている。これにより、ＭＡＣ回路１や外部機器３などの端子に対しても自己診断が実施可能となる。
【００３１】
また、上述した実施形態によれば、ネットワーク状態解析機能１８は、自己診断用パケットが生成されてから受信バッファ１２に記憶されるまでの遅延時間、及び、受信バッファ１２に記憶されるデータ量に基づいて通信量を計算（検出）している。これにより、容易に、かつ、精度良く通信量を検出することができる。
【００３２】
上述した第１実施形態によれば、ネットワーク状態解析機能１８は、遅延時間及び受信バッファ１２に記憶されるデータ量に基づいて通信量を計算していたが、これに限ったものではない。遅延時間のみを通信量として検出するようにしてもよい。この場合、自己診断機能１３は、遅延時間が長いほど自己診断用パケットの生成間隔を長くし、遅延時間が短いほど自己診断用パケットの生成間隔を短くする。
【００３３】
また、受信バッファ１２に蓄積されるデータ量のみを通信量として検出するようにしてもよい。この場合、自己診断機能１３は、データ量が多いほど自己診断用パケットの生成間隔を長くし、データ量が少ないほど自己診断用パケットの生成間隔を短くする。また、データ量が影響する遅延特性を加味した計算式により自己診断機能１３が、自己診断用パケットの生成間隔を決定してもよい。
【００３４】
また、上述した第１実施形態によれば、ＭＡＣ回路１にカウンタ１４を内蔵させて、パケット生成機能１０は、自己診断用パケットにカウンタ１４のカウント値を付加させていたが、これに限ったものではない。例えば、ＧＰＳなどの外部に時刻情報を出力できる機器があれば、パケット生成機能１０は、その機器からの時刻情報を付加させてもよい。ネットワーク状態解析機能１８は、自己診断用パケットに付加された時刻情報と、ＧＰＳなどの外部機器からの時刻情報と、を比べてループバックに要した遅延時間を算出する。
【００３５】
また、上述した第１実施形態によれば、ＭＡＣ回路１は、回路内ループバック１６でループバックできる機能と、回路外ループバック３１でループバックできる機能と、の双方の機能を有していた。そして、ＭＡＣ回路１は、自己診断部１３により指定されたループバック方向に基づいて回路内ループバック１６及び回路外ループバック３１の何れか一方を選択して、自己診断用パケットをループバックできるようにしていたが、これに限ったものではない。
【００３６】
図２に示すように、ＭＡＣ回路１は、回路内ループバック１６でループバックできる機能のみを有し、回路外ループバック３１でループバックできる機能を有さないようにしてもよい。この場合、自己診断機能１３は、ループバック方向を指定しなくてもよい。そして、ループバック判定機能１５は、送信バッファ１１に格納されたパケットが自己診断用パケットであれば全て回路内ルーブバック１６によってルーブバックさせる。
【００３７】
また、図３に示すように、ＭＡＣ回路１は、回路外ループバック３１でループバックできる機能のみを有し、回路内ループバック１６でループバックできる機能を有さないようにしてもよい。この場合、自己診断機能１３は、ループバック方向を指定しなくてもよい。そして、ループバック判定機能１５は、送信バッファ１１に格納されたパケットが自己診断用パケットであれば全て外部に送信する。
【００３８】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００３９】
１  ＭＡＣ回路（通信コントローラ）
２  ＣＰＵ（中央処理装置）
３  外部機器
１０  パケット生成機能（第１パケット生成部）
１１  送信バッファ
１２  受信バッファ
１３  自己診断機能（第２パケット生成部、自己診断部）
１６  回路内ループバック（ループバック回路）
１８  ネットワーク状態解析機能（推定部）
【図１】
2019193007.tif 000003
【図２】
2019193007.tif 000004
【図３】
2019193007.tif 000005