(57)【要約】【課題】デバッグや異常解析の時間短縮を行うことができるファームウェアデバッグ方法を提供する。【解決手段】複数のノード１ａ、１ｂ、１ｃが接続されたネットワーク２上において、各ノード１ａ、１ｂ、１ｃのそれぞれ格納されているファームウェア１１のファームウェアデバッグ方法において、自ノード１ａのファームウェア１１におけるブレークポイントを設定し、他のノード１ｂからネットワーク２を介して配信されるパケットを受信してブレークポイントを検出し、ブレークポイントを検出すると他のノード１ｂに対して他のノード１ｂのファームウェア１１の実行の制限を送信しかつ他のノード１ｂの状態を参照するものである。【選択図】図１
2008129910.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードが接続されたネットワーク上において、上記各ノードにそれぞれ格納されているファームウェアのファームウェアデバッグ方法において、上記ノードの内少なくとも１つの自ノードは上記自ノードのファームウェアにおけるブレークポイントを設定し、上記他のノードから上記ネットワークを介して配信されるデータを受信して上記ブレークポイントを検出し、上記ブレークポイントを検出すると上記他のノードに対して上記他のノードのファームウェアの実行の制限を送信しかつ上記他のノードの状態を参照することを特徴とするファームウェアデバッグ方法。
【請求項２】
上記自ノードは、上記ブレークポイントを複数設定し、上記各ブレークポイントに応じて、上記他のノードのファームウェアの実行の制限として、ファームウェアの停止、または、中断、または、一定時間後停止の内いずれかを設定することを特徴とする請求項１に記載のファームウェアデバッグ方法。
【請求項３】
上記自ノードは、上記他のノードのファームウェアの実行の制限を、ブロードキャストにて上記ネットワーク上に繋がる上記他のノード全てに対して行うことを特徴とする請求項１または請求項２に記載のファームウェアデバッグ方法。
【請求項４】
上記自ノードは、上記他のノードに対してマルチキャスト・グループを設定し、上記他のノードのファームウェアの実行の制限を、上記マルチキャスト・グループ毎に行うことを特徴とする請求項１ないし請求項３のいずれかに記載のファームウェアデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に複数のノードが接続された構成において、デバッグや異常解析の時間短縮を行うことができるファームウェアデバッグ方法に関するものである。
【背景技術】
【０００２】
ブレーク機能とは、プログラムのデバッグ方法の１つであり、ユーザーが任意のプログラム中にブレークポイントを設定して、該ブレークポイントに対応する命令箇所でプログラムの実行を中断させることができる機能である。従来、このブレーク機能を使ったデバッグ方法ついては、さまざまな方法が考えられてきた。例えば、コンピュータ上で複数のプロセスが実行されるプログラムのデバッグ方法などである（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００６−１８５３６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のデバッグ方法は、ターゲットとなるプログラムに対して、ブレークポイントを設定して、該ブレークポイントに対応する命令箇所でターゲットとなるプログラムの実行を中断させることしかできず、他のノードと通信を行っているようなネットワークの場合、他のノードが異常を受信しても他のノードに対してはプログラムを中断させることなどができず異常の解析に時間を要するという問題点があった。
【０００５】
また、異常などが発生した場合に、異常パケットを送信したノードは、ネットワークに接続されているさらに別の他のノードから受信したパケットの影響により異常パケットを送信した可能性も考えられる。こういった場合は、異常パケットを送信したノードだけでなく、ネットワークに繋がる全てのノードに対してもプログラムの処理を中断させることができず異常の解析に時間を要するという問題点があった。
【０００６】
この発明は上記のような課題を解決するためになされたものであり、ネットワーク上に複数のノードが接続された構成において、デバッグや異常解析の時間短縮を行うことができるファームウェアデバッグ方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、複数のノードが接続されたネットワーク上において、各ノードにそれぞれ格納されているファームウェアのファームウェアデバッグ方法において、ノードの内少なくとも１つの自ノードは自ノードのファームウェアにおけるブレークポイントを設定し、他のノードからネットワークを介して配信されるデータを受信してブレークポイントを検出し、ブレークポイントを検出すると他のノードに対して他のノードのファームウェアの実行の制限を送信しかつ他のノードの状態を参照するものである。
【発明の効果】
【０００８】
この発明のファームウェアデバッグ方法は、複数のノードが接続されたネットワーク上において、各ノードにそれぞれ格納されているファームウェアのファームウェアデバッグ方法において、ノードの内少なくとも１つの自ノードは自ノードのファームウェアにおけるブレークポイントを設定し、他のノードからネットワークを介して配信されるデータを受信してブレークポイントを検出し、ブレークポイントを検出すると他のノードに対して他のノードのファームウェアの実行の制限を送信しかつ他のノードの状態を参照するので、デバッグや異常解析の時間短縮を行うことができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
以下、本願発明の実施の形態について説明する。図１はこの発明の実施の形態１におけるネットワークシステムの構成を示す図、図２は図１における各ノード内のファームウェアの構成を示す図、図３は図１に示したネットワークシステムにおけるパケットの構成を示す図、図４は図１に示したネットワークシステムにおける各ノード間のパケットの送受信の例を示す図である。図において、ネットワーク２には複数のノード１ａ、１ｂ、１ｃが接続されている。そして、各ノード１ａ、１ｂ、１ｃにはそれぞれファームウェア１１が格納されている。各ファームウェア１１は、デバッグプログラム３と、他のノードと通信するための通信プログラム７と、他のノードと情報としてのパケットを送受信を行い、通信用パケットを受信すれば通信用プログラム７に通知し、ブレーク用パケットを受信すればデバッグプログラム３の後述するブレーク機能部６に通知するためのパケット送受信部８とを備えている。
【００１０】
そして、デバッグプログラム３にはブレークポイント設定部３と、ブレークポイント検出部５と、ブレーク機能部６とを有する。そして、ブレークポイント設定部４は、通信プログラム７の任意の命令箇所にブレークポイントを設定するものである。ブレークポイント検出部５は、ブレークポイント設定部４により設定されたブレークポイントの到来を検出するものである。ブレーク機能部６は、ブレークポイント検出部５にてブレークポイントが検出されると、他のノードのファームウェア１１の実行を制限する、すなわちここでは通信プログラム７の実行を制限するためのブレークパケットを送信し、また、他のノードからブレークパケットを受信すると自ノードのファームウェア１１の実行を制限する、すなわちここでは通信プログラム７の実行を制限するものである。
【００１１】
次に上記のように構成された実施の形態１のネットワークシステムのファームウェアデバッグ方法について説明する。まず、このネットワーク２を介して各ノード１ａ、１ｂ、１ｃ間を送受信されるパケットの構造は、図３に示すようにパケットの先頭にある“種別”には通常の通信用パケットであるか、ブレーク用パケットであるかが区別できるように設定されている。よって、ブレークパケットとは、“種別”にブレーク用パケットであることが示されており、この“種別”がブレーク用パケットであるということにより、ファームウェア１１の実行の制限である例えばファームウェア１１の停止の指示がされるものとする。そして、例えば図１において、ノード１ａとノード１ｂとが通信しており、ノード１ａがノード１ｂからある異常パケットを受信した場合に、ノード１ｂの通信プログラム７を停止させる場合を図４に基づいて説明する。よってここでは、ノード１ａを自ノードで、ノード１ｂを他のノードの関係にて説明する。通常、自ノード１ａと他のノード１ｂとの間では通常の通信用パケットによる通信が行われている（図４（１））。次に、自ノード１ａはブレークポイント設定部４により通信プログラム７のブレークポイントを設定する（図４（２））。尚、この設定は他のノード１ｂとの通信を行う前に設定してもよいことは言うまでもない。
【００１２】
以降、自ノード１ａのブレークポイント検出部５がパケット送受信部８より通知される他のノード１ｂから送信されたパケットについてブレークポイントの監視を始める（図４（３））。次に、他のノード１ｂにおいて何らかの異常が発生し（図４（４））、他のノード１ｂが異常パケットを送信する（図４（５））。尚、異常パケットとは通常のパケットと同様に、その“種別”としては通信用パケットにて送信されてくるものである。次に、自ノード１ａは他のノード１ｂから異常パケットをパケット送受信部８にて受信し、自ノード１ａのブレークポイント検出部５は、その異常パケットをブレークポイントの到来として検出して（図４（６））、ブレーク機能部６に通知する。次に、自ノード１ａのブレーク機能部６は、通信相手の他のノード１ｂに対してファームウェア１１の実行を制限するため、ここでは他のノード１ｂの通信プログラム７を停止させるためのブレークパケットを生成して、パケット送受信部８より他のノード１ｂにブレークパケットを送信する（図４（７））。次に、他のノード１ｂは、ブレークパケットを受信すると、パケット送受信部８で受信しパケット内にある“種別”により、通信用のパケットであるか、ブレーク用のパケットであるかを判断する。そして、ブレークパケットであると判断した場合、ブレーク機能部６に通知する。そして、ブレーク機能部６ではブレークパケットを受信すると、実行中の通信プログラム７の処理を停止する（図４（８））。
【００１３】
上記のように行われた実施の形態１におけるファームウェアデバッグ方法によれば、ある異常パケットなどが送信された場合に、瞬時にネットワークを介して他のノードを停止させることができる。よって、異常が発生した時の他のノードの状態、ここではブレークパケットにより停止されているため、停止していることが参照できる。これにより、異常解析やデバッグの時間短縮を図ることができる。
【００１４】
尚、上記実施の形態１においては、ブレークパケットとしてファームウェアの実行の制限を、ファームウェアの実行を停止するもののみにて行う例を示したが、これに限られることはなく、ファームウェアの実行の制限としては、停止、中断、一定時間後停止などさまざまな制限が考えられる。また、例えば、複数のブレークポイントが存在する場合には、例えば、図５に示すように、パケットの構成に、種別がブレーク用パケットである場合、“処理内容”として、ブレークパケット受信後の処理内容を規定する規定領域を設定しておく。そして、例えば図６の管理テーブルに示すように、ブレークポイントの設定箇所、ａ、ｂ、ｃに応じて、他のノードの処理内容を、ブレークポイントの設定箇所ａの場合には停止、ブレークポイントの設定箇所ｂの場合には中断、ブレークポイントの設定箇所ｃの場合には１０秒後に停止などと適宜設定しておく例が考えられる。そしてブレーク機能部にてその処理内容に応じて通信プログラムの実行の制限を行う。このように設定すれば、ブレークポイントに応じてファームウェアの実行の制限を制御することが可能となる。よって、より一層きめ細やかな制御を行うことが可能となる。
【００１５】
実施の形態２．
上記実施の形態１においては、異常パケットを受信した場合、異常パケットを送信した他のノードのみにブレークパケットを送信する例を示したが、これに限られることはなく、異常パケットを受信してブレークポイントが検出されると、ネットワーク上に繋がる他のノード全てに対してブレークパケットの送信を行うようにしてもよい。またこの際、自ノードに対しても同様にブレークパケットを送信して、自ノードのファームウェアの実行の制限も同時に行うようにしてもよい。
【００１６】
このことを具体的に図７に基づいて図１および図２を交えて説明する。尚、ここではノード１ａを自ノードで、ノード１ｂ、ノード１ｃを他のノードの関係にて説明する。まず、上記実施の形態１と同様に、自ノード１ａと他のノード１ｂと他のノード１ｃとの間でそれぞれ通信が行われている（図７（１））。次に、自ノード１ａはブレークポイント設定部４により通信プログラム７のブレークポイントを設定する（図７（２））。尚、この設定は他のノード１ｂ、１ｃとの通信を行う前に設定してもよいことは言うまでもない。以降、自ノード１ａのブレークポイント検出部５がパケット送受信部８より通知される他のノード１ｂ、ノード１ｃから送信されたパケットについてブレークポイントの監視を始める（図７（３））。次に、他のノード１ｃにおいて何らかの異常が発生し（図７（４））、他のノード１ｃが異常パケットを送信する（図７（５））。
【００１７】
次に、自ノード１ａは他のノード１ｃから異常パケットをパケット送受信部８にて受信し、自ノード１ａのブレークポイント検出部５は、その異常パケットをブレークポイントの到来として検出して（図７（６））、ブレーク機能部６に通知する。次に、自ノード１ａのブレーク機能部６は、ブロードキャストにてネットワーク２上に繋がる他のノード１ｂ、１ｃおよび自ノード１ａ全てに対してファームウェア１１の実行を制限するため、ここでは通信プログラム７を停止させるためのブレークパケットを生成して、パケット送受信部８より他のノード１ｂ、ノード１ｃおよび自ノード１ａにブレークパケットを送信する（図７（７））。次に、他のノード１ｂ、ノード１ｃおよび自ノード１ａは、ブレークパケットを受信すると、パケット送受信部８で受信しパケット内にある種別により、通信用のパケットであるか、ブレーク用のパケットであるかを判断する。そして、ブレークパケットであると判断した場合、ブレーク機能部６に通知する。そして、ブレーク機能部６ではブレークパケットを受信すると、実行中の通信プログラム７の処理を停止する（図７（８）、（９）、（１０））。
【００１８】
上記のように行われた実施の形態２におけるファームウェアデバッグ方法によれば、上記実施の形態１と同様の効果を奏するのはもちろんのこと、異常が発生した場合に、ネットワーク上に繋がる全てノードに対して、ネットワークを介して全ノードのファームウェアの実行を制限でき、かつ、全ノードに対して一斉にファームウェアの実行を制限しているため、全ノードの状態を瞬時に参照することができる。これにより、異常解析やデバッグの時間短縮をより一層図ることができる。
【００１９】
実施の形態３．
図８はこの発明の実施の形態３におけるネットワークシステムの構成を示す図、図９は図８における各ノード内のファームウェアの構成を示す図、図１０は図９におけるノードの管理テーブルを示す図である。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ネットワーク２にはマルチキャスト・グループ９に属するノード１ａ、１ｂ、１ｃと、マルチキャスト・グループ１０に属するノード１ａ、１ｄ、１ｅとが存在する。そして、ファームウェア１１のデバッグプログラム３にはマルチキャスト・グループを設定するマルチキャスト・グループ設定部１２を備えている。
【００２０】
次に上記のように構成された実施の形態３のネットワークシステムのファームウェアデバッグ方法について説明する。まず、このネットワーク２を介して、ノード１ａ、ノード１ｂ、ノード１ｃが１つのマルチキャスト・グループ９、ノード１とノード１ｄとノード１ｅが１つのマルチキャスト・グループ１０として、それぞれのマルチキャスト・グループ９、１０内にて通信が行われている。そして各ノード１ａ、１ｂ、１ｃ、１ｄ、１ｅの、マルチキャスト設定部１２では、例えば図１０に示す管理テーブルのように、ブレークパケットを送信するためのマルチキャストアドレスをマルチキャスト・グループ毎に設定する。すなわち、ノード１ａ、ノード１ｂ、ノード１ｃはマルチキャスト・グループ９で、マルチキャスト・アドレス＝２２４．０．０．１と、また、ノード１ａ、ノード１ｄ、ノード１ｃはマルチキャスト・グループ１０で、マルチキャスト・アドレス＝２２４．０．０．２に属すると設定する。尚、ノード１ａのように複数のマルチキャスト・グループに属するものが存在してもよいことは言うまでもない。
【００２１】
そして、上記各実施の形態と同様に行いブレークポイントを検出するとブレーク機能部６は、図１０に示す管理テーブルを参照して、異常パケットを送信したノードがどのマルチキャスト・グループに属するかを検索する。そして、この管理テーブルの内容に応じてマルチキャスト・グループ毎にブレークパケットを生成する。そして、ネットワーク２上の特定のマルチキャスト・グループに属した複数のノードに対してのみマルチキャストの機能を利用してブレークパケットを送信する。よって、異なるマルチキャスト・グループのノードにおいてはファームウェア１１の実行の制限を受けることがない。
【００２２】
上記のように行われた実施の形態３におけるファームウェアデバッグ方法によれば、上記実施の形態１と同様の効果を奏するのはもちろんのこと、ネットワーク上に繋がれている各ノードにおいて、マルチキャスト・グループを設定し、異常パケットを送信したノードを存在するマルチキャスト・グループに属したノードに対してのみ、マルチキャストにてブレークパケットを送信している。このように設定すれば、不必要なブレークパケットの送信が無くなりファームウェアの実行の制限を最小限にとどめることが可能となる。よって、より一層きめ細やかな制御を行うことが可能となる。
【図面の簡単な説明】
【００２３】
【図１】この発明の実施の形態１におけるネットワークシステムの構成を示す図である。
【図２】図１における各ノード内のファームウェアの構成を示す図である。
【図３】図１に示したネットワークシステムにおけるパケットの構成を示す図である。
【図４】図１に示したネットワークシステムにおける各ノード間のパケットの送受信の例を示す図である。
【図５】図１に示したネットワークシステムにおける他のパケットの構成を示す図である。
【図６】図１に示したネットワークシステムにおける管理テーブルの構成を示す図である。
【図７】実施の形態２におけるネットワークシステムにおける各ノード間のパケットの送受信の例を示す図である。
【図８】この発明の実施の形態３におけるネットワークシステムの構成を示す図である。
【図９】図８における各ノード内のファームウェアの構成を示す図である。
【図１０】図８に示したネットワークシステムにおける管理テーブルの構成を示す図である。
【符号の説明】
【００２４】
１ａ，１ｂ，１ｃ，１ｄ，１ｅ  ノード、２  ネットワーク、
４  ブレークポイント設定部、５  ブレークポイント検出部、６  ブレーク機能部、
７  通信プログラム、８  パケット送受信部、９，１０  マルチキャスト・グループ、
１１  ファームウェア、１２  マルチキャスト・グループ設定部。
【図１】
2008129910.tif 000003
【図２】
2008129910.tif 000004
【図３】
2008129910.tif 000005
【図４】
2008129910.tif 000006
【図５】
2008129910.tif 000007
【図６】
2008129910.tif 000008
【図７】
2008129910.tif 000009
【図８】
2008129910.tif 000010
【図９】
2008129910.tif 000011
【図１０】
2008129910.tif 000012