(57)【特許請求の範囲】
【請求項１】
他のデータ伝送装置と順方向の伝送路と逆方向の伝送路で構成される二重の伝送路を介して接続されたデータ伝送装置において、
各データ伝送装置のデータを共有するためにデータ伝送装置毎に設けられたデータブロックの記憶領域を有するコモンメモリと、
前記コモンメモリのデータブロック毎に、データを送信する伝送帯域の閾値が登録された伝送帯域管理テーブルと、
自ノードのデータブロックを含むフレームを前記二重の伝送路に送信する際に、送信するフレームの伝送帯域を前記伝送帯域管理テーブルの閾値の範囲内に制限した上で、前記フレームを順方向および逆方向の伝送路へ同時に送信する送信部と、
前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他のノードへのものの場合、他ノードのデータブロックを前記コモンメモリの当該データブロックの記憶領域にオーバーライトするオーバーライト部と、
前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他ノードのデータブロックを含むフレームの場合、前記フレームの伝送帯域を前記伝送帯域管理テーブルの閾値の範囲内に制限した上で、前記フレームを送信した隣のノードとは反対のノードへリピートするリピート部と
を具備することを特徴とするデータ伝送装置。
【請求項２】
前記伝送帯域管理テーブルには、閾値として、伝送帯域の上限値が設定されていることを特徴とする請求項１記載のデータ伝送装置。
【請求項３】
前記伝送帯域管理テーブルには、閾値として、伝送帯域の上限値と下限値が設定されていることを特徴とする請求項１記載のデータ伝送装置。
【請求項４】
前記リピート部は、
受信フレームの伝送帯域が前記伝送帯域管理テーブルの閾値の範囲を超えているか否かによって隣のノードの正常・異常を判定し、
判定の結果の隣のノードの正常・異常の情報を、自ノードのデータブロック含めて送信することを特徴とする請求項１記載のデータ伝送装置。
【請求項５】
前記送信部は、前記データブロックを送信した回数を示すシーケンス番号または時刻を前記データブロックに含めて前記フレームを送信し、
前記オーバーライト部は、受信されたフレームのデータブロックに含まれるシーケンス番号または時刻を基に前記コモンメモリへの既存のデータブロックとの新旧を判定し、受信されたデータブロックが既存のデータブロックよりも新しい場合に、前記受信されたデータブロックをオーバーライトすることを特徴とする請求項１記載のデータ伝送装置。
【請求項６】
前記送信部は、
前記データブロックの反転ビットを前記データブロックに付加した冗長データを前記二重の伝送路へ送信し、
前記オーバーライト部は、受信されたフレームに含まれる前記データブロックおよび前記反転ビットから、受信されたデータブロックの誤りの有無を判定して、誤りがない場合にオーバーライトすることを特徴とする請求項１記載のデータ伝送装置。
【請求項７】
前記データブロックの正当性を確認するためのキーデータを生成し、前記データブロックに付加するキーデータ生成部を備え、
前記送信部は、前記キーデータを付加した前記データブロックのフレームを前記二重の伝送路へ送信し、
前記オーバーライト部は、受信されたフレームから抽出した前記キーデータから、受信されたフレームの正当性を判定して、正当な場合に受信されたフレームのデータブロックをオーバーライトすることを特徴とする請求項１記載のデータ伝送装置。
【請求項８】
前記送信部は、
自ノードのデータブロックおよびそのリピートの制限回数を含むフレームを送信し、
前記リピート部は、
受信されたフレームに含まれる前記リピートの制限回数の値が１以上のときに、リピート回数値を１減じてリピートすることを特徴とする請求項１記載のデータ伝送装置。
【請求項９】
他のデータ伝送装置と順方向の伝送路と逆方向の伝送路で構成される二重の伝送路を介して接続されたデータ伝送装置におけるデータ伝送方法において、
前記データ伝送装置は、各データ伝送装置のデータを共有するためにデータ伝送装置毎に設けられたデータブロックの記憶領域を有するコモンメモリと、このコモンメモリのデータブロック毎に、データを送信する伝送帯域の閾値が登録された伝送帯域管理テーブルとを備え、
自ノードのデータブロックを含むフレームを前記二重の伝送路に送信する際に、送信するフレームの伝送帯域を前記伝送帯域管理テーブルの閾値の範囲内に制限した上で、前記フレームを順方向および逆方向の伝送路へ同時に送信するステップと、
前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他のノードへのものの場合、他ノードのデータブロックを前記コモンメモリの当該データブロックの記憶領域にオーバーライトするステップと、
前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他ノードのデータブロックを含むフレームの場合、前記フレームの伝送帯域を前記伝送帯域管理テーブルの閾値の範囲内に制限した上で、前記フレームを送信した隣のノードとは反対のノードへリピートするステップと
を有することを特徴とするデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
データ伝送装置およびデータ伝送方法に関する。
【背景技術】
【０００２】
複数の送受信局（ノード）を多重伝送路で接続し、複数の送受信局（ノード）のうち一つがマスターノードとなり、多重伝送路にトークンフレームを送る通信方式がある。
【０００３】
トークンフレームは送信元アドレス（ＳＡ）のノードから送信先アドレス（ＤＡ）のノードへ渡され、トークンフレームを受けとった送信先アドレス（ＤＡ）のノードは自ノードの送信データを送信することができる。このようにして、全てのノードのデータが一定の周期内に更新されプロセス制御が行われる。
【０００４】
異常時、例えばトークンフレームが消失した場合には、マスターノードがトークンフレームを監視し、再度トークンフレームをマスターノードが送信する。また、マスターノードが故障した場合には、他のノードの中から次のマスターノードを決め、再度トークンフレームを送信する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２８８５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記通信方式の場合、マスターノードの故障を他のノードが検出し、新たなマスターノードを決める必要があるため、マスターノードの故障検出、マスターノードの決定、マスターノードからトークンフレームを送信という手順が再開されるまでに時間がかかり、リアルタイム伝送ができないという問題があった。
【０００７】
本発明はこのような課題を解決するためになされたもので、伝送路で異常が発生したときにリアルタイム伝送を継続できる信頼性の高いデータ伝送装置およびデータ伝送方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のデータ伝送装置は、他のデータ伝送装置と順方向の伝送路と逆方向の伝送路で構成される二重の伝送路を介して接続されたデータ伝送装置において、各データ伝送装置のデータを共有するためにデータ伝送装置毎に設けられたデータブロックの記憶領域を有するコモンメモリと、前記コモンメモリのデータブロック毎に、データを送信する伝送帯域の閾値が登録された伝送帯域管理テーブルと、自ノードのデータブロックを含むフレームを前記二重の伝送路に送信する際に、送信するフレームの伝送帯域を前記伝送帯域管理テーブルの伝送帯域の閾値の範囲内に制限した上で、前記フレームを順方向および逆方向の伝送路へ同時に送信する送信部と、前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他のノードへのものの場合、他ノードのデータブロックを前記コモンメモリの当該データブロックの記憶領域にオーバーライトするオーバーライト部と、前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他ノードのデータブロックを含むフレームの場合、前記フレームの伝送帯域を前記伝送帯域管理テーブルの伝送帯域の閾値の範囲内に制限した上で、前記フレームを送信した隣のノードとは反対のノードへリピートするリピート部とを具備することを特徴とする。
【０００９】
本発明のデータ伝送方法は、他のデータ伝送装置と順方向の伝送路と逆方向の伝送路で構成される二重の伝送路を介して接続されたデータ伝送装置におけるデータ伝送方法において、前記データ伝送装置は、各データ伝送装置のデータを共有するためにデータ伝送装置毎に設けられたデータブロックの記憶領域を有するコモンメモリと、このコモンメモリのデータブロック毎に、データを送信する伝送帯域の閾値が登録された伝送帯域管理テーブルとを備え、自ノードのデータブロックを含むフレームを前記二重の伝送路に送信する際に、送信するフレームの伝送帯域を前記伝送帯域管理テーブルの伝送帯域の閾値の範囲内に制限した上で、前記フレームを順方向および逆方向の伝送路へ同時に送信するステップと、前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他のノードへのものの場合、他ノードのデータブロックを前記コモンメモリの当該データブロックの記憶領域にオーバーライトするステップと、前記順方向の伝送路および逆方向の伝送路それぞれから受信したフレームが他ノードのデータブロックを含むフレームの場合、前記フレームの伝送帯域を前記伝送帯域管理テーブルの伝送帯域の閾値の範囲内に制限した上で、前記フレームを送信した隣のノードとは反対のノードへリピートするステップとを有することを特徴とすることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、伝送路で異常が発生したときにリアルタイム伝送を継続できる信頼性の高いデータ伝送装置およびデータ伝送方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】ネットワークシステムの構成を示す図である。
【図２】各ノード＃１〜＃４のハードウェア構成を示す図である。
【図３】伝送帯域管理テーブルの一例を示す図である。
【図４】各ノード＃１〜＃４の機能構成とデータの流れを示す図である。
【図５】各ノード＃１〜＃４から送信されるフレームを示す図である。
【図６】送信制御動作を示すフローチャートである。
【図７】オーバーライト制御動作を示すフローチャートである。
【図８】リピート制御動作を示すフローチャートである。
【図９】ノード＃１とノード＃２の間で伝送路１ａ、１ｂが断線したときのフレームの流れ（点線）を示す図である。
【図１０】伝送帯域管理テーブルの他の例を示す図である。
【図１１】送信制御動作を示すフローチャートである。
【図１２】リピート制御動作を示すフローチャートである。
【図１３】データブロックの内容を示す図である。
【図１４】シーケンス番号を含むデータブロックの内容を示す図である。
【図１５】オーバーライト制御動作を示すフローチャートである。
【図１６】時刻情報を含むデータブロックの内容を示す図である。
【図１７】ビット反転データを含むデータブロックの内容を示す図である。
【図１８】キーデータを含むデータブロックの内容を示す図である。
【図１９】リピート回数を含むフレームを示す図である。
【図２０】リピート制御動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して実施形態のネットワーク通信システムを詳細に説明する。図１は実施形態のネットワークシステムの構成を示す図、図２はノード＃１の構成を示す図である。
【００１３】
（第１実施形態）
図１に示すように、この実施形態のネットワークシステムは、複数のデータ伝送装置であるノード＃１〜＃４を、二重ループを構成するように接続する伝送路１ａ，１ｂを有している。伝送路１ａは順ループ（図の右回り）、伝送路１ｂは逆ループ（図の左回り）でパケット（トークンフレーム：以下「フレーム」と称す）を伝送する。すなわち順ループはフレームを順方向に送る伝送路、逆ループはフレームを逆方向へ伝送する伝送路をいう。
【００１４】
各ノード＃１〜＃４には、例えば発電プラントなどのプロセス制御データなどを取得し、伝送路１ａ，１ｂに流すコントローラ１１，２１，３１，４１がそれぞれに接続されている。
【００１５】
各ノード＃１〜＃４には、コモンメモリ１３，２３，３３，４３が設けられており、伝送路１ａ，１ｂを通じて受信されるパケットのデータブロックがノード毎に割り当てられた記憶領域に記憶される。ノード＃１のコモンメモリ１３のブロック番号１には、ノード＃１のパケットのデータブロックが記憶され、ブロック番号２には、ノード＃２のパケットのデータブロックが記憶される。またノード＃１のコモンメモリ１３のブロック番号３には、ノード＃３のパケットのデータブロックが記憶され、ブロック番号４には、ノード＃４のパケットのデータブロックが記憶される。
【００１６】
すなわちノード＃１のコモンメモリ１３には、ノード＃１〜＃４のデータを共有するための複数のデータブロックが記憶されている。
【００１７】
図２に示すように、例えばノード＃１は、コモンメモリ１３、ＣＰＵ１４、メモリ１５、バスインターフェース１６（以下「バスＩ／Ｆ１６」と称す）、第１ネット制御部１７ａ、第２ネット制御部１７ｂ、二重ループの伝送路１ａ，１ｂと接続するネットワークインターフェース１８ａ，１８ｂ（以下「ネットワークＩ／Ｆ１８ａ，１８ｂ」と称す）、などを有している。なお他のノード＃２〜＃４も同じ構成である。
【００１８】
バスＩ／Ｆ１６は、コントローラ１１側のバスＩ／Ｆ１１ａとバス１２を通じて通信するためのインターフェースである。第１ネット制御部１７ａは、ネットワークＩ／Ｆ１８ａを通じたデータ伝送を制御する。第２ネット制御部１７ｂは、ネットワークＩ／Ｆ１８ｂを通じたデータ伝送を制御する。
【００１９】
メモリ１５には、図３に示すように、データブロックのブロック番号に対応して送信元の情報と伝送帯域上限値とが予め登録された伝送帯域管理テーブル１５ａが記憶されている。すなわち、この伝送帯域管理テーブル１５ａには、コモンメモリ１３のデータブロック毎に、データを送信する伝送帯域の閾値が登録されている。
【００２０】
例えばブロック番号１には、送信元＃１のアドレスとその伝送帯域上限値１０Ｍｂｐｓが登録されている。またブロック番号２には、送信元＃２のアドレスとその伝送帯域上限値１０Ｍｂｐｓが登録されている。ブロック番号３には、送信元＃３のアドレスとその伝送帯域上限値２０Ｍｂｐｓが登録されている。ブロック番号４には、送信元＃４のアドレスとその伝送帯域上限値２０Ｍｂｐｓが登録されている。伝送帯域管理テーブル１５ａには、なお他のノード＃２〜＃４もノード＃１と同様の構成を有している。
【００２１】
図４に示すように、ノード＃１は、オーバーライト部１４ａ、リピート部１４ｂ、送信部１４ｃ、キーデータ生成部１４ｄ、時刻取得部１４ｅなどの機能ブロックを有している。
【００２２】
オーバーライト部１４ａは、伝送路１ａ，１ｂの両方向からフレームが受信されたとき、他ノードのデータブロックを、コモンメモリ１３の当該ブロック番号（ブロック番号１〜４のいずれか）のレコードにオーバーライトする。
【００２３】
リピート部１４ｂは、伝送路１ａ，１ｂの両方向から受信された他ノードのデータブロックを含むフレームを、そのフレームを送信した隣ノードとは反対のノードへ転送（リピート）する。この際、リピートするフレームの伝送帯域を伝送帯域管理テーブル１５ａの伝送帯域の閾値の範囲内に制限する。閾値の範囲として上限値が設定されていた場合はリピートするフレームの伝送帯域を伝送帯域上限値以下に制限する。
【００２４】
送信部１４ｃは、自ノードのデータブロックを含むフレーム６１（図５参照）を二重の伝送路１ａ，１ｂそれぞれに対して反対方向に同時に送信する。この際、送信するフレームの伝送帯域を伝送帯域管理テーブル１５ａの伝送帯域の閾値の範囲内に制限する。閾値の範囲として上限値が設定されていた場合は送信するフレームの伝送帯域を伝送帯域上限値以下に制限する。
【００２５】
図５に示すように、フレーム６１は、フレーム制御部（ＦＣ）、送信先アドレス（ＤＡ）、送信元アドレス（ＳＡ）、データブロック、フレームチェックシーケンス（ＦＣＳ）などを含むものである。データブロックにはブロック番号およびデータが含まれる。
【００２６】
キーデータ生成部１４ｄは、データの正当性を確認するためのキーデータを生成し送信フレームに付加する。時刻取得部１４ｅは、伝送路１ａ，１ｂから現在の時刻を取得し、必要に応じて時刻をデータブロックに設定する。
【００２７】
続いて、この第１実施形態のネットワークシステムの動作を説明する。  
この第１実施形態のネットワークシステムの場合、例えばノード＃１からデータブロックを送信する際に、送信部１４ｃは、図６に示すように、コモンメモリ１３のデータブロックの更新があったか否かを確認し（ステップＳ１０１）、データブロックの更新があった場合（ステップＳ１０１のＹｅｓ）、図３の伝送帯域管理テーブル１５ａを参照して、伝送帯域を、該当ブロック番号の伝送帯域上限値以下に制限した上で（ステップＳ１０２）、自ノードのデータブロックを含むフレームを二重の伝送路１ａ，１ｂそれぞれに対して反対方向に同時に送信する（ステップＳ１０３）。
【００２８】
オーバーライト部１４ａは、伝送路１ａ，１ｂ両方向からフレームが受信されると、図７に示すように、そのフレームのヘッダから、そのフレームが他のノードのデータブロックを含むフレームか否かをチェックし（ステップＳ２０１）、フレームが他のノードのデータブロックを含むフレームであった場合（ステップＳ２０１のＹｅｓ）、受信したデータブロックをコモンメモリ１３の当該ブロック番号のレコードにオーバーライトする（ステップＳ２０２）。
【００２９】
リピート部１４ｂは、図８に示すように、伝送路１ａ，１ｂ両方向からフレームが受信されると、受信されたフレームのヘッダから、受信フレームが他のノードのデータブロックを含むフレームか否かを判定し（ステップＳ３０１）、他のノードのデータブロックを含むフレームの場合（ステップＳ３０１のＹｅｓ）、リピートするフレームの伝送帯域を伝送帯域管理テーブル１５ａの伝送帯域上限値以下に制限した上で（ステップＳ３０２）、他ノードのデータブロックを含むフレームを、そのフレームを送信した隣ノードとは反対のノードへ送信（リピート）する（ステップＳ３０３）。
【００３０】
例えばノード＃１では、ブロック番号１のブロックデータをノード＃２およびノード＃４に送信する。ノード＃２およびノード＃４は、他のノード＃１からフレームが受信されると、コモンメモリ１３のブロック番号１のレコードにデータをオーバーライトし、同じデータをノード♯３へリピートする。これによってブロック番号１の内容がすべてのノードにコピーされる。
【００３１】
この第１実施形態によれば、例えば、図９に示すように、ノード＃１とノード＃２の間で伝送路１ａ、１ｂが断線した場合も（×マークの箇所）、ノード＃１のコモンメモリ１３のブロック番号１のデータブロックは、伝送路１ａ，１ｂにて両方向へ向けて送られる。
【００３２】
この際、ノード＃１，＃２間の順ループの伝送路１ａが断線しているため、ノード＃２へはフレームを直接送れないものの、断線していないノード＃１，＃４間の伝送路１ｂを通じて逆ループでノード＃４，＃３，＃２の順に伝送されて、すべてのノードに行き渡るようになる。この場合、断線に対する追加の動作は不要であり、リアルタイムデータ伝送を継続できる。
【００３３】
（第２実施形態）
この例の場合、図１０に示すように、伝送帯域管理テーブル１５ａには、伝送帯域上限値の他に、伝送帯域下限値が予め登録されている。この場合、リピート部１４ｂは、受信フレームの伝送帯域が伝送帯域管理テーブル１５ａの伝送帯域の上限値と下限値の閾値の範囲を超えているか否かによって隣ノードの正常・異常を判定し、判定の結果の隣のノードの正常・異常の情報を、自ノードのデータブロックを含めて送信する。
【００３４】
この場合、各ノード＃１〜＃４の送信部１４ｃは、図１１に示すように、コモンメモリ１３のデータブロックの更新があったか否かを確認し（ステップＳ４０１）、データブロックの更新がない場合（ステップＳ４０１のＮｏ）、実際の伝送帯域が、伝送帯域管理テーブル１５ａの伝送帯域下限値を超えているものの伝送帯域下限値に近いかどうかを判定し（ステップＳ４０２）、伝送帯域下限値に近い場合は、次に、送信するフレームの伝送帯域を、伝送帯域管理テーブル１５ａの伝送帯域上限値以下に制限した上で（ステップＳ４０３）、自ノードのデータブロックを含むフレームを二重の伝送路１ａ，１ｂそれぞれに対して反対方向に同時に送信する（ステップＳ４０４）。
【００３５】
なおデータブロックの更新があった場合（ステップＳ４０１のＹｅｓ）についても、送信するフレームの伝送帯域を、伝送帯域管理テーブル１５ａの伝送帯域上限値以下に制限した上で（ステップＳ４０３）、自ノードのデータブロックを含むフレームを二重の伝送路１ａ，１ｂそれぞれに対して反対方向に同時に送信する（ステップＳ４０４）。
【００３６】
また、各ノード＃１〜＃４では、他のノードからフレームが受信されると、図１２に示すように、リピート部１４ｂは、受信されたフレームに含まれるデータブロックの送信元とそのフレームを送信した隣のノードが一致するか否かを判定し（ステップＳ５０１）、データブロックの送信元とフレームを送信した隣のノードが一致した場合（ステップＳ５０１のＹｅｓ）、受信フレームの伝送帯域を監視して、受信フレームの伝送帯域が伝送帯域管理テーブル１５ａの伝送帯域上限値と伝送帯域下限値の範囲内のときに（ステップＳ５０２）、そのフレームを送信した隣のノードが正常と判定し（ステップＳ５０３）、またそれ以外、つまり伝送帯域上限値よりも大きいとき、または伝送帯域下限値よりも小さいときにそのフレームを送信した隣ノードが異常と判定し（ステップＳ５０４）、隣接するノードの正常または異常を示す情報を自ノードのデータブロックに含めてリピート（送信）することで相互に故障診断を行う。
【００３７】
そして、リピート部１４ｂは、受信されたフレームが他のノードのデータブロックを含むフレームか否かを判定し（ステップＳ５０５）、受信フレームが他のノードのデータブロックを含むフレームの場合（ステップＳ５０５のＹｅｓ）、リピートするフレームの伝送帯域を伝送帯域管理テーブル１５ａの伝送帯域上限値以下に制限した上で（ステップＳ５０６）、他ノードのデータブロックを含むフレームを、そのフレームを送信した隣ノードとは反対のノードへ送信（リピート）する（ステップＳ５０７）。
【００３８】
この第２実施形態によれば、図１３に示すように、自ノードのデータブロック５１に、通常の伝送対象のデータの他に、隣のノードの正常・異常を示すデータ５２を含めることで、伝送路１ａ，１ｂに接続されている各ノード＃１〜＃４の正常・異常の情報を共有することができる。
【００３９】
（第３実施形態）
この実施形態は、受信されたデータが前のもノード同じか新しいかを判定する例である。この例の場合、図１４に示すように、データブロック５１には、送信回数を示すシーケンス番号フィールド５３を設ける。またノード初期化時に、送信部１４ｃは、自ノードおよび他ノードのデータブロックのシーケンス番号フィールドの値を初期値とし、２回目以降の送信では、自ノードのデータブロックのシーケンス番号フィールドの値をカウントアップ（増加）する。また、オーバーライト部１４ａは、受信されたフレームのデータブロックに含まれるシーケンス番号を基にコモンメモリ１３への既存のデータブロックとの新旧を判定し、受信されたデータブロックが既存のデータブロックよりも新しい場合に、受信されたデータブロックをオーバーライトする。
【００４０】
この第３実施形態では、図１５に示すように、オーバーライト部１４ａは、伝送路１ａ，１ｂ両方向からフレームが受信されると、受信されたフレームのヘッダから、受信フレームが他のノードのデータブロックを含むフレームか否かを判定し（ステップＳ６０１）、受信フレームが他のノードのデータブロックを含むフレームの場合（ステップＳ６０１のＹｅｓ）、自ノードのコモンメモリ１３の当該データブロックのシーケンス番号フィールドの値が初期値（ステップＳ６０２）、受信したデータブロックのシーケンス番号フィールドの値が初期値（ステップＳ６０３）、あるいは、受信したデータブロックのシーケンス番号フィールドの値が自ノードのコモンメモリ１３の当該データブロックのシーケンス番号より大きい（ステップＳ６０４）といった、いずれかの場合に、受信されたデータブロックをコモンメモリ１３の該当するブロックにオーバーライトする（ステップＳ６０５）。
【００４１】
なおシーケンス番号は、初期化したときに例えば「０」にセットし、その後は次のノードに受信されるたびにカウントアップし、稼動時間中にオーバーフローしないだけの桁数とする。
【００４２】
このようにデータブロックにシーケンス番号を付加して送信することにより、各ノード＃１〜＃４が任意に初期化を行ったとしてもデータブロックに付加されているシーケンス番号を基に以前送ったデータと同じデータか否かを判定することで、最新のデータがコモンメモリ１３にオーバーライトされ、最新のデータをすべてのノード＃１〜＃４で共有できる。
【００４３】
また、シーケンス番号以外の例として、例えば図１６に示すように、データブロック５１に、送信時刻を示す時刻フィールド５５を付加する。この場合、各ノード＃１〜＃４それぞれに時刻取得部１４ｅを設ける。時刻取得部１４ｅは、伝送路１ａ，１ｂまたは他のネットワーク（インターネットなど）から時刻を取得し、取得した時刻を、送信データブロックの時刻フィールド５５に設定する。
【００４４】
例えばノード初期化時に、時刻取得部１４ｅは、自ノードおよび他ノードのデータブロック５１の時刻フィールド５５に、初期化時の時刻を設定する。また時刻取得部１４ｅは、フレームを送信するときに自ノードのデータブロック５１の時刻フィールド５１に送信時刻を設定する。
【００４５】
オーバーライト部１４ａは、他ノードのデータブロックを受信したときに、受信したデータブロックの時刻フィールド５５の値が自ノードコモンメモリ１３の当該データブロックの時刻フィールドの値より後の場合にオーバーライトする。
【００４６】
これにより、各ノード＃１〜＃４が任意のタイミングで初期化を行ったとしても、最新のデータがコモンメモリ１３にオーバーライトされる。
【００４７】
この第３実施形態によれば、初期化時のデータブロックを特別扱いしないので、伝送エラーなどの発生によって初期化時のデータブロックが消失した場合でも、各ノードが任意に初期化を行った場合であっても、データブロックに付加されているシーケンス番号または時刻を基に以前送ったものと同じデータか否かを判定することで、最新のデータがコモンメモリ１３にオーバーライトされ、最新のデータをすべてのノード＃１〜＃４で共有できる。
【００４８】
（第４実施形態）
この実施形態は、伝送中に起こり得るビット誤りを判定する例である。通常、送信フレームにはフレームチェックシーケンス（ＦＣＳ）などが付加されているが、それで検出できないような多ビットのエラーに対応する。
【００４９】
この場合、図１７に示すように、データブロック５１に、元のデータブロックのデータのフィールドの他に、ビット反転データ（反転ビット）用のフィールド５７を設ける。
送信部１４ｃは、データブロックの反転ビットをデータブロックに付加した冗長データをフレームとして二重の伝送路へ送信する。オーバーライト部１４ａは、受信されたフレームに含まれるデータブロックのデータを抽出し、受信データのビットと反転ビットとの対応状況（一致・不一致）をチェックすることにより、伝送途中でのビット誤りの有無を判定し、ビット誤りがない場合にコモンメモリ１３の該当レコードにデータをオーバーライトする。すなわちオーバーライト部１４ａは、受信されたフレームに含まれるデータブロックおよび反転ビットから、受信されたデータブロックの誤りの有無を判定して、誤りがない場合に、受信されたデータブロックをオーバーライトする。
【００５０】
この第４実施形態によれば、送信データにビット反転させたデータを付加するという単純な仕組みにより、送信データは冗長化するものの、エラー検出を高速に行うことができる。
【００５１】
（第５実施形態）
この実施形態は、データブロックの正当性を確認する例である。各ノード＃１〜＃４はデータの正当性を確認するためのキーデータを生成するキーデータ生成部１４ｄを備える。キーデータ生成部１４ｄは、特定の値や文字列、あるいは、時刻やデータブロックの値を入力とする特定の関数によりキーデータを生成し、生成したキーデータを、図１８に示すように、データブロック５１のキーデータフィールド５９に付加して送信する。またオーバーライト部１４ａは、受信されたフレームから抽出したキーデータから、受信されたフレームの正当性を判定して、正当な場合に受信されたフレームのデータブロックをオーバーライトする。
【００５２】
例えばノード＃nのキーデータYnは、システムで共有するそのノード固有の値Znと、シーケンス番号または時刻Xnを用いたハッシュ値とする。
Yn = ハッシュ関数(Zn ＋ Xn)
各ノード＃１〜＃４では、フレームが受信されると、オーバーライト部１４ａは、受信フレームから抽出したキーデータを用いて、キーデータの検算を行い、データブロックの誤りの有無を判定し、誤りがない場合にオーバーライトする。
【００５３】
この第５実施形態によれば、システムで共有する値Znを秘密にしておけば、悪意のあるデータを排除できる。
【００５４】
（第６実施形態）
この実施形態はフレームのループ回数を制限する例である。送信部１４ｃは、図１９に示すように、自ノードのデータブロックとそのリピート回数６３とを含むフレーム６１を、二重の伝送路１ａ，１ｂそれぞれに対して反対方向に同時に送出する。送信時に設定するリピート回数は、フレームを何回リピートさせるかを示す上限値（制限回数）である。またリピート部１４ｂは、受信されたフレームに含まれるリピート回数値が１以上のときに、リピート回数値を１減じてリピートする。
【００５５】
上記フレームが受信されるノードでは、リピート部１４ｂは、図２０に示すように、受信されたフレームが他のノードのデータブロックを含むフレームか否かを判定し（ステップＳ７０１）、受信フレームが他のノードのデータブロックを含むフレームの場合（ステップＳ７０１のＹｅｓ）、リピートするフレームの伝送帯域を伝送帯域管理テーブル１５ａの伝送帯域上限値以下に制限する（ステップＳ７０２）。
【００５６】
そして、リピート部１４ｂは、受信フレームに含まれるリピート回数の値を１減じ（ステップＳ７０３）、その減じた値が１以上のときに（ステップＳ７０４のＹｅｓ）、減じたリピート回数を他のノードのデータブロックに設定し、その他のノードのデータブロックを含むフレームを、そのフレームを送信した隣ノードとは反対のノードへ送信（リピート）する（ステップＳ７０５）。
【００５７】
この第６実施形態によれば、フレームの送信元のノードでは、送信フレームにリピート回数を設定して送信し、次のノードでは受信されたフレームをリピートする際にリピート回数を減数するといった簡単な演算によってフレームが無限にループすることを防止できる。
【００５８】
すなわち、上記第１〜第６実施形態によれば、伝送路１ａ，１ｂや各ノード＃１〜＃４で異常が発生したときにリアルタイム伝送を継続できる信頼性の高いデータ伝送装置およびデータ伝送方法を提供することができる。
【００５９】
なお、本願発明は、上記実施形態のみに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形してもよい。上記実施形態で説明した各構成要素を、コンピュータのハードディスク装置などのストレージにインストールしたプログラムで実現してもよく、また上記プログラムを、コンピュータ読取可能な電子媒体：electronic mediaに記憶しておき、プログラムを電子媒体からコンピュータに読み取らせることで本発明の機能をコンピュータが実現するようにしてもよい。電子媒体としては、例えばＣＤ−ＲＯＭ等の記録媒体やフラッシュメモリ、リムーバブルメディア（Removable media）等が含まれる。さらに、ネットワークを介して接続した異なるコンピュータに構成要素を分散して記憶し、各構成要素を機能させたコンピュータ間で通信することで実現してもよい。
【符号の説明】
【００６０】
１１，２１，３１，４１…コントローラ、１２…バス、１３，２３，３３，４３…コモンメモリ、１４ａ…オーバーライト部、１４ｂ…リピート部、１４ｃ…送信部、１４ｄ…キーデータ生成部、１４ｅ…時刻取得部、１５…メモリ、１５ａ…伝送帯域管理テーブル、１６…バスインターフェース（バスＩ／Ｆ）、１７ａ…ネット制御部、１７ｂ…ネット制御部、１８ａ，１８ｂ…ネットワークインターフェース（ネットワークＩ／Ｆ）。
【図１】
0005468494.tif 000002
【図２】
0005468494.tif 000003
【図３】
0005468494.tif 000004
【図４】
0005468494.tif 000005
【図５】
0005468494.tif 000006
【図６】
0005468494.tif 000007
【図７】
0005468494.tif 000008
【図８】
0005468494.tif 000009
【図９】
0005468494.tif 000010
【図１０】
0005468494.tif 000011
【図１１】
0005468494.tif 000012
【図１２】
0005468494.tif 000013
【図１３】
0005468494.tif 000014
【図１４】
0005468494.tif 000015
【図１５】
0005468494.tif 000016
【図１６】
0005468494.tif 000017
【図１７】
0005468494.tif 000018
【図１８】
0005468494.tif 000019
【図１９】
0005468494.tif 000020
【図２０】
0005468494.tif 000021