(57)【特許請求の範囲】
【請求項１】
データをデータの誤り検査情報を含むデータグラムとして伝送し、検査情報でデータの誤りが検出された場合はデータグラムを破棄する上位プロトコルと、該データグラムを長さに制限のあるフレームに収まる様に分割して伝送する下位プロトコルを採用するネットワークにおいて、
送信側は、
複数のアプリケーションから出力されるデータを予め定められた順序で送信データパケットにまとめ、前記送信データパケットを各々が一つのフレームに収まる長さ以下で、かつ予め定められた個数のサブパケットに分割し、各サブパケットに該データパケットの識別子およびサブパケット番号を挿入するパケット分解手段と、
分解された各サブパケット毎に、先頭から最後までの各データに対して訂正データを求め、該訂正データからなる訂正パケットを生成する訂正データ生成手段と、
前記サブパケットと前記訂正パケットを前記上位プロトコルおよび前記下位プロトコルを通じて送信する送信手段を有し、
受信側は、
前記下位プロトコルおよび前記上位プロトコルを通じて前記サブパケットおよび前記訂正パケットの最初の一つを受信してから、予め定められた時間内に残りの前記サブパケットおよび前記訂正パケットを受信する受信手段と、
前記サブパケットが全て受信できた場合は、その受信サブパケットから送信データパケットを再生し、前記サブパケットの一つを喪失し前記訂正パケットが受信できた場合は、受信した前記サブパケットおよび前記訂正パケットから喪失したサブパケットを再現することでデータパケットを再生するパケット再生手段を有することを特徴とするデータ伝送方式。
【請求項２】
前記送信側は、データパケットを一定周期で送信し、
前記受信側は、一つ前の周期のデータパケットを受信した時から、定められた時間内に次の周期のデータパケットを受信することを特徴とする請求項１に記載のデータ伝送方式。
【請求項３】
前記送信側と前記受信側は時刻を合わせる手段を持ち、前記送信側は合わせた時刻に同期した周期でデータパケットを送信し、前記受信側は合わせた時刻に同期してデータパケットを受信することを特徴とする請求項２に記載のデータ伝送方式。
【請求項４】
前記送信側と前記受信側を結ぶネットワークを多重化し、
前記送信側は各ネットワークに、前記サブパケットおよび前記訂正パケットを送信し、
前記受信側は該多重化されたネットワークから受信された該サブパケットおよび該訂正パケットから送信データを構成することを特徴とする請求項１に記載のデータ伝送方式。
【請求項５】
前記受信側は、
前記パケット再生手段の内部に、前記多重化されたネットワークから送信されたデータパケットを再構成するのに必要な前記サブパケットおよび前記訂正パケットを受信したか否かを判定するパケット構成可能性判定部を有し、
該パケット構成可能性判定部によって該データパケットが再構成可能と判定された時、直ちに該データパケットを構成することを特徴とする請求項４に記載のデータ伝送方式。
【請求項６】
前記送信側は、
前記サブパケットおよび訂正パケットの送信の際、時間間隔を置いてサブパケットを送信することを特徴とする請求項１に記載のデータ伝送方式。
【請求項７】
前記送信データパケットの長さに応じて、サブパケットの分割数を調整することを特徴とする請求項１に記載のデータ伝送方式。
【請求項８】
前記パケット再生手段から受信したパケット数とサブパケット喪失数を入力し、該パケット数に対するサブパケット喪失数の喪失割合を計算し、該喪失割合よりネットワークの健全性を監視するネットワーク健全性監視手段を用いることを特徴とする請求項１に記載のデータ伝送方式。
【請求項９】
第１の伝送路によって前記送信側の前記送信手段と接続されるとともに第２の伝送路によって前記受信側の前記受信手段と接続されデータを伝送するゲートウェイ手段を有し、
該ゲートウェイ手段は、
前記送信側から前記下位プロトコルおよび前記上位プロトコルを通じて前記サブパケットおよび前記訂正パケットの最初の一つを受信してから、予め定められた時間内に残りの前記サブパケットおよび前記訂正パケットを受信する第２の受信手段と、
前記サブパケットが全て受信できた場合は、その受信サブパケットから送信データパケットを再生し、前記サブパケットの一つを喪失し前記訂正パケットが受信できた場合は、受信した前記サブパケットおよび前記訂正パケットから喪失したサブパケットを再現することでデータパケットを再生する第２のパケット再生手段を有することを特徴とする請求項１に記載のデータ伝送方式。
【請求項１０】
前記サブパケットの内、重要度の高いデータを含むサブパケットに対しては、第２の訂正パケットを生成することを特徴とする請求項１に記載のデータ伝送方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、発電プラント、産業プラント等で使われるネットワークを対象とした、一定時間内でのデータ伝送を高い確率で保証するデータ伝送方式に関する。
【０００２】
【従来の技術】
図１１は、従来のプラントにおけるスター型ネットワークの構成概念を示す図である。発電プラント、産業プラントなどにおける監視制御では、現場にて圧力、温度等のセンサーで測定したデータ、機器の状態信号等は、各現場ステーション２００１に集められ、ハブ２００２等からなるネットワークを経由して各監視制御ステーション２００３に送信される。一方、監視制御ステーション２００３からの指令信号もネットワークを経由して現場の機器に伝送される。
【０００３】
プラントの監視制御において、各種の伝送データは、予め定められた一定時間以内に伝送されることが要求される。この様な分野では、一定時間内でのデータ伝送を保証するため、ネットワークの伝送方式としてトークンパッシング方式が使用されていた。トークンパッシング方式では、トークンと呼ばれる特別なデータを、データを発信するステーション間で制限時間内に次々と受け渡し、トークンを受け取ったステーションのみがデータの送信権を持つ。各ステーションはトークンを制限時間内しか保持できないため、トークンは一定時間内で全ステーションを周回する。また、トークンを保持したステーションのみがデータを送信し,他のステーションは受信するため、トークンの周回する一定時間内のデータの伝送が保証される。
【０００４】
一方、オフィス用途を中心に普及したEthernetは、高性能でありながらトークンパッシング方式のネットワークに比べ安価である。現在普及しているEthernetは、10Mbpsから100Mbpsの伝送能力を持ち、プロセス制御用としても十分な伝送能力を持っている。
【０００５】
【発明が解決しようとする課題】
Ethernetは元来、単一の伝送路に接続された複数のステーションにて、伝送路が空いていることを検出すれば、任意の時刻に送信を開始できる仕組みとなっている。しかしながら、伝送路で伝達される信号速度は有限であるため、極めて短い時間に複数のステーションが送信を開始する可能性がある。この問題を解決するため、Ethernetでは信号の衝突を検出する仕組みがあり、送信を開始したステーションが他のステーションの送信との衝突を検出した時、一旦送信を止め、ランダムな遅延時間を置いて再び送信を開始する方式を取っている。このようなEthernetの通信の仕組みは、Carrier Sense Multiple Access with Collision Detection(CSMA/CD)と呼ばれる。
【０００６】
CSMA/CDの採用により、Ethernetは高い伝送効率を達成しているが、一方短い時間に複数の送信が集中した場合、衝突が重なることが予想される。Ethernetでは、衝突による再送信回数を最大１６回と定め、１６回以内に送信できない場合は当該データを破棄してしまう。これはコリジョンアウトと呼ばれる。
【０００７】
システムの伝送容量に十分余裕を持って設計しても、衝突やコリジョンアウトはランダムに発生するため、完全に回避することはできない。衝突によるデータの遅延およびコリジョンアウトの存在は、Ethernetをプロセス制御に適用する場合、明かな障害となっている。
【０００８】
これらの問題に対する一つの解決法は、全二重Ethernetを使用することである。全二重Ethernetでは、スター型の伝送路を用い、中心にスイッチングハブと呼ばれる装置をおく。各ステーションとスイッチングハブは送信・受信が独立した全二重回線で結ばれ、スイッチングハブには伝送データを一旦保存するためのバッファメモリーが置かれる。このような全二重Ethernetでは、適切なデータ伝送量が設定されればコリジョンを回避することができる。何故なら、各ステーションはスイッチングハブと専用線で結ばれるため衝突はなく、また、同時に複数のステーションが単一のステーションにデータを送信した場合でも、スイッチングハブ内のバッファメモリーに一方のデータを蓄えておくことができるからである。しかしながら、スイッチングハブは広く使われるリピーターハブに比べて高価である。
【０００９】
衝突とコリジョンアウトに対する他の解決策として、データを多重化してデータの信頼性を高めることも考えられる。例えば、制限時間内にデータが伝送できない確率が10-4程度のネットワーク構成で、常に同じデータを２回送信する仕組みを設ければ、データを伝送できない確率は10-4×10-4=10-8と極めて低い確率になるかもしれない。しかしながら、この方式では、Ethernetを流れるデータの量を２倍にするため、一つの送信に対する衝突およびコリジョンアウトの確率も増加し、制限時間内にデータが伝送できない確率が10-4より増加することも考えられる。
【００１０】
米国特許5,870,412、”Forward Error Correction System for Packet Based Real Time Media”は、ストリームとして伝送されるデータパケットの中に、本来のデータと共に過去のデータの排他的論理和を計算することで得られる訂正データ付加するものである。この方式では、連続して複数のパケットの喪失があった場合でも、訂正データから、再送信なしに喪失したデータを復元できる。しかしながら、この方式は映像や音声のようなストリームデータを対象としたもので、喪失したパケットの復元には、引き続き実時間で送信されるパケットの到着を待たなければならず、時間がかかる。また、この方式は信頼性の低いネットワークでのデータストリームの伝送を想定したもので、データの喪失に対する耐性は高いが、データ伝送量も２倍以上に増えてしまう。
【００１１】
本発明の目的は、制限時間内での高い確率のデータ伝送を保証するデータ伝送方式を提供することにある。
【００１２】
【課題を解決するための手段】
上記課題を解決し目的を達成するために、本発明のデータ伝送方式は以下の如く構成されている。
【００１３】
（１）本発明のデータ伝送方式は、データをデータの誤り検査情報を含むデータグラムとして伝送し、検査情報でデータの誤りが検出された場合はデータグラムを破棄する上位プロトコルと、該データグラムを長さに制限のあるフレームに収まる様に分割して伝送する下位プロトコルを採用するネットワークにおいて、送信側は、複数のアプリケーションから出力されるデータを予め定められた順序で送信データパケットにまとめ、前記送信データパケットを各々が一つのフレームに収まる長さ以下で、かつ予め定められた個数のサブパケットに分割し、各サブパケットに該データパケットの識別子およびサブパケット番号を挿入するパケット分解手段と、分解された各サブパケット毎に、先頭から最後までの各データに対して訂正データを求め、該訂正データからなる訂正パケットを生成する訂正データ生成手段と、前記サブパケットと前記訂正パケットを前記上位プロトコルおよび前記下位プロトコルを通じて送信する送信手段を有し、受信側は、前記下位プロトコルおよび前記上位プロトコルを通じて前記サブパケットおよび前記訂正パケットの最初の一つを受信してから、予め定められた時間内に残りの前記サブパケットおよび前記訂正パケットを受信する受信手段と、前記サブパケットが全て受信できた場合は、その受信サブパケットから送信データパケットを再生し、前記サブパケットの一つを喪失し前記訂正パケットが受信できた場合は、受信した前記サブパケットおよび前記訂正パケットから喪失したサブパケットを再現することでデータパケットを再生するパケット再生手段を有する。
【００１４】
本発明のデータ伝送方式によれば、標準的なプロトコルを採用したネットワークにおいて、予め定められた時間内でのデータ伝送の信頼性を特別なハードウェアの追加なしに大幅に向上させることができる。
【００１５】
（２）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ前記送信側は、データパケットを一定周期で送信し、前記受信側は、一つ前の周期のデータパケットを受信した時から、定められた時間内に次の周期のデータパケットを受信する。
【００１６】
本発明のデータ伝送方式によれば、一定周期でデータを伝送する場合においても、予め定められた時間内に、特別なハードウェアの追加なしに高い確率でデータを伝送できる。
【００１７】
（３）本発明のデータ伝送方式は上記（２）に記載の方式であり、かつ前記送信側と前記受信側は時刻を合わせる手段を持ち、前記送信側は合わせた時刻に同期した周期でデータパケットを送信し、前記受信側は合わせた時刻に同期してデータパケットを受信する。
【００１８】
本発明のデータ伝送方式によれば、一定周期でデータの伝送する場合において、より正確な受信タイミングを設定できる。
【００１９】
（４）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ前記送信側と前記受信側を結ぶネットワークを多重化し、前記送信側は各ネットワークに、前記サブパケットおよび前記訂正パケットを送信し、前記受信側は該多重化されたネットワークから受信された該サブパケットおよび該訂正パケットから送信データを構成する。
【００２０】
本発明のデータ伝送方式によれば、データ伝送の信頼性を極めて高くすることができる。
【００２１】
（５）本発明のデータ伝送方式は上記（４）に記載の方式であり、かつ前記受信側は、前記パケット再生手段の内部に、前記多重化されたネットワークから送信されたデータパケットを再構成するのに必要な前記サブパケットおよび前記訂正パケットを受信したか否かを判定するパケット構成可能性判定部を有し、該パケット構成可能性判定部によって該データパケットが再構成可能と判定された時、直ちに該データパケットを構成する。
【００２２】
本発明のデータ伝送方式によれば、受信側は、パケットが再生可能になった段階で冗長なパケットの到着を待たず即座に再生するため、システム全体の応答速度を高めることができる。
【００２３】
（６）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ前記送信側は、前記サブパケットおよび訂正パケットの送信の際、時間間隔を置いてサブパケットを送信する。
【００２４】
本発明のデータ伝送方式によれば、ネットワークのコリジョンアウトが発生する確率を下げ、システム全体の信頼性を高めることができる。
【００２５】
（７）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ前記送信データパケットの長さに応じて、サブパケットの分割数を調整する。
【００２６】
本発明のデータ伝送方式によれば、短いパケットの分割による伝送路の伝送効率の低下を防ぐことができる。
【００２７】
（８）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ前記パケット再生手段から受信したパケット数とサブパケット喪失数を入力し、該パケット数に対するサブパケット喪失数の喪失割合を計算し、該喪失割合よりネットワークの健全性を監視するネットワーク健全性監視手段を用いる。
【００２８】
本発明のデータ伝送方式によれば、ネットワークの健全性を常時監視し、例えば伝送路の劣化によってネットワークの信頼性が徐々に低下するような現象を検出することで、劣化が進行する前に補修することが可能となる。
【００２９】
（９）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ第１の伝送路によって前記送信側の前記送信手段と接続されるとともに第２の伝送路によって前記受信側の前記受信手段と接続されデータを伝送するゲートウェイ手段を有し、該ゲートウェイ手段は、前記送信側から前記下位プロトコルおよび前記上位プロトコルを通じて前記サブパケットおよび前記訂正パケットの最初の一つを受信してから、予め定められた時間内に残りの前記サブパケットおよび前記訂正パケットを受信する第２の受信手段と、前記サブパケットが全て受信できた場合は、その受信サブパケットから送信データパケットを再生し、前記サブパケットの一つを喪失し前記訂正パケットが受信できた場合は、受信した前記サブパケットおよび前記訂正パケットから喪失したサブパケットを再現することでデータパケットを再生する第２のパケット再生手段を有する。
【００３０】
本発明のデータ伝送方式によれば、ゲートウェイで結ばれた二つの伝送路を介して流れるデータの信頼性を高めることができる。
【００３１】
（１０）本発明のデータ伝送方式は上記（１）に記載の方式であり、かつ前記サブパケットの内、重要度の高いデータを含むサブパケットに対しては，第２の訂正パケットを生成する。
【００３２】
本発明のデータ伝送方式によれば、重要度の高いデータに対し、さらに高い信頼性を保証することができる。
【００３３】
【発明の実施の形態】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係るデータ伝送方式を示すブロック図である。図１では、伝送路１０７に接続されたステーションＡ１０１のアプリケーション群Ａ１０２からステーションＢ１０８のアプリケーション群Ｂ１１３へのデータ伝送を示している。
【００３４】
アプリケーション群Ａ１０２は、ステーションＡ１０１上で作動する複数のアプリケーションを表し、これらのアプリケーションから出力されるデータは予め定められた順序でパケットにまとめられ、パケット分解手段１０３に送られる。パケットは一度に送信すべきデータの集まりで，数百オクテットから数十キロオクテットの長さがある。パケットには、ネットワークを伝送される複数のパケットを区別するため、３オクテットのパケット識別子を付加する。パケット分解手段１０３では、送られてきたパケットを，それぞれ大きさが等しく、Ethernetフレームに収まる８個を組としたサブパケットに分解する。
【００３５】
図２は、パケット分解手段１０３におけるサブパケットへの分解処理を示すフローチャートである。まずステップ２０１で処理が開始されると、ステップ２０２で、パケットのデータを入れる一時的なバッファpbufの長さをplenとする。
【００３６】
plenは、オクテットを単位としたpbufの長さを表す。各サブパケットには、３オクテットのパケット識別子と１オクテットのサブパケット番号を付ける。よって、サブパケットが１５００オクテットのEthernetフレームに収まるためには、データの長さは、Ethernetフレームの運ぶデータの長さ１５００オクテットから、UDP/IPプロトコルスタックで付加されるUDPヘッダの８オクテット、およびIPヘッダの２０オクテットと、パケット識別子の３オクテット、サブパケット番号のための１オクテットの合計３２オクテットを引いた１４６８オクテットである。そのため、一度に８個のサブパケットに分解できる最大の長さは、１４６８×８＝１１７４４オクテットである。
【００３７】
ステップ２０３で、plenが０オクテットの場合、ステップ２０４で処理を終了する。ステップ２０３で、plenが０オクテットでなく、ステップ２０５で、plen＞１１７４４でない場合、ステップ２０６で、pbufのデータを取り出してサブパケットに分解する。ステップ２０５で、plen＞１１７４４である場合、ステップ２０７で、pbufの先頭の１１７４４オクテットのデータを取り出してサブパケットに分解する。
【００３８】
ステップ２０６，２０７でのサブパケットへの分解は、８個のサブパケットの長さが等しくなるようになされる。plenの長さが８で割り切れない場合は、０データを加えることでサブパケットの長さを等しくする。そして、ステップ２０８で、バッファpbufの長さをplenとし、再びステップ２０３以降の処理を行なう。
【００３９】
以上の様に構成された８個のサブパケットのセットは訂正データ計算手段１０４に送られる。訂正データ計算手段１０４では、個々のサブパケット先頭のビットからパリティビットを計算しこれを訂正データとする。訂正データの長さはサブパケットと同じであるから、訂正データからなる訂正パケットを構成し、サブパケット番号を９とする。
【００４０】
【数１】
0004024988.tif 000002
【００４１】
サブパケットおよび訂正パケットは一つのパケットセットを構成し、サブパケットの1番目から８番目、訂正パケットの順に、UDP/IPプロトコルスタック１０５に送られる。UDP/IPプロトコルスタック１０５は、サブパケットおよび訂正パケットにUDPヘッダおよびIPヘッダを付加したユーザーデータグラムとして、ネットワークインタフェース１０６に送る。UDPヘッダには、データグラム全体の検査データであるチェクサムが含まれる。ネットワークインタフェース１０６は、送られてきたユーザーデータグラムをEthernetフレームにカプセル化して送信するが、ユーザーデータグラムの長さは予め単一のEthernetフレームに収まる様に構成されている。
【００４２】
送信されたEthernetフレームは、伝送路１０７を通じてステーションＢ１０８のネットワークインタフェース１０９に伝送される。しかしながら伝送路１０７では、ノイズによるエラーのほか、図１には図示していない、ステーションＡ,ステーションＢ以外のステーションから送信されるEthernetフレームとの衝突による遅延、コリジョンアウトよるフレームの破棄もある。すなわち、ネットワークインタフェース１０６から送信されたEthernetフレームは、ネットワークインタフェース１０９で受信される時、次の４つの場合がある。
【００４３】
(1) 期待された時間内に完全な形で到達したフレーム
(2) データにエラーが発生したフレーム
(3) 衝突によって期待された時間を過ぎて到達したフレーム
(4) コリジョンアウトによって到達しなかったフレーム
(4)の場合を除き、ネットワークインタフェース１０９で受信されたフレームは、ユーザーデータグラムが抜き出されUDP/IPプロトコルスタック１１０に送られる。UDP/IPプロトコルスタック１１０では、ユーザーデータグラムのUDPヘッダからチェックサムを抜き出し、別途計算したチェックサムと比較し、一致しない場合はユーザーデータグラムを破棄する。この結果、上記(2)のデータにエラーが発生したフレームに含まれるユーザーデータグラムは破棄されることになる。
【００４４】
パケット再生手段１１１は、UDP/IPプロトコルスタック１１０にユーザーデータグラムが到着した時、運ばれてきたサブパケットおよび訂正データを取り出す。タイマー１１２は、パケットセットの最初のパケットがパケット再生手段１１１に到着した時にスタートし、予め定められた時間（数msecから数十msec）が経過するとパケット再生手段１１１に時間切れの信号を送る。
【００４５】
パケット再生手段１１１は、制限時間内に１番から８番までのサブパケット全てを受信していれば、これらのサブパケットから元のパケットを再生し、アプリケーション群Ｂ１１３が受け取れるようにする。もし、パケット再生手段１１１が制限時間内に１番から８番のサブパケットの内、一つのサブパケット、例えば３番のサブパケットを受信できず、訂正パケットが受信された場合、喪失した３番目のサブパケットの先頭からｋ番目のワードB3[k]は次式（２）のように計算される。
【００４６】
【数２】
0004024988.tif 000003
【００４７】
以上のように計算された３番目のサブパケットのデータを用いて、元のパケットを再生し、アプリケーション群Ｂ１１３が受け取れるようにする。
【００４８】
もし、パケット再生手段１１１が制限時間内に１番から８番のサブパケットと９番の訂正パケットの内二つ以上を受信できなかった場合は、元のパケットは再生できない。しかしながら、プラント監視制御用のネットワークは元々信頼性が高いため、９個のサブパケットの内、同時に２個が喪失する可能性は非常に低い。
【００４９】
なお、本第１の実施の形態では訂正データを計算するために排他的論理和を用いたが、他の計算方法として、各サブパケットのｋ番目のワード合計をワードの表せる最大数で割った剰余を用いることもできる。
【００５０】
第１の実施の形態によれば、標準的なEthernetと同じく標準的なUDP/IPプロトコルスタックを使用したネットワークにおいて、予め定められた時間内でのデータ伝送の信頼性を特別なハードウェアの追加なしに大幅に向上させることが以下の評価から期待される。
【００５１】
パケット分解手段１０３からパケット再生手段１１１までサブパケットあるいは訂正パケットが到達しない確率（これは、Ethernetフレームの喪失率にほぼ等しい）をPとする。パケット再生手段１１１で元のパケットが再生できない確率は、次の式（３）で計算される。
【００５２】
【数３】
0004024988.tif 000004
【００５３】
例えば、Pが１万分の１とすれば上記の式（３）の値は一千万分の3.6、Pが10万分の１とすれば上記の式（３）の値は十億分の3.6となり、予め定められた時間内に非常に高い確率でデータを伝送することができる。
【００５４】
（第２の実施の形態）
図４は、本発明の第２の実施の形態に係るデータ伝送方式を示すブロック図である。図４において図１と同一な部分には同符号を付してある。
【００５５】
図４において、タイマー１１２ａは、予め定められた一定周期、例えば１秒周期でアプリケーション群Ａ１０２に信号を送る。アプリケーション群Ａ１０２は、タイマー１１２ａからデータ送信タイミング信号を受け取ると、受け取った時点でのデータをパケットにまとめてパケット分解手段１０３に送る。プロセスの監視制御では、アプリケーション群Ａ１０２は、ステーションＡ１０１に接続された図４には図示していないプロセス入出力装置から入力されるプロセスデータ、あるいは図４には図示していない他のステーションからのプロセスデータに基づいて送信データを生成するため、一般に時間の経過と共に送信データの中身は変化する。
【００５６】
パケット分解手段１０３、訂正データ計算手段１０４、UDP/IPプロトコルスタック１０５、ネットワークインタフェース１０６、伝送路１０７、ネットワークインタフェース１０９、UDP/IPプロトコルスタック１１０は、第１の実施の形態と同様に機能する。タイマー１１２は、一つ前の周期のパケットセットの受信が完了した時にスタートし、データを送信する周期である１秒に、ネットワークの特性として想定される揺らぎ時間０．１秒を加えた時間、すなわち１．１秒が経過すると，パケット再生手段１１１に時間切れ信号を送る。すなわち、一つ前の周期のパケットセットの受信が完了した時から、１．１秒内に次の周期のパケットセットが受信される。
【００５７】
パケット再生手段１１１は，第1の実施の形態と同様に機能し、送信されたパケットを再生する。
【００５８】
第２の実施の形態によれば、一定周期でデータを伝送する場合においても、予め定められた時間内に、第１の実施の形態同様、特別なハードウェアの追加なしに高い確率でデータを伝送できる。
【００５９】
（第３の実施の形態）
図５は、本発明の第３の実施の形態に係るデータ伝送方式を示すブロック図である。図５において図１，図４と同一な部分には同符号を付してある。
【００６０】
図５において、クロック１１４はタイマー１１２とタイマー１１２ａの時刻を合わせるための手段であり、クロック１１４からタイマー１１２とタイマー１１２ａへは、信号の遅延時間の定まった専用のケーブルで結ばれる。これによって、タイマー１１２およびタイマー１１２ａの時刻を合わせることができる。送信側のステーションＡ１０１は合わせた時刻に同期した周期でデータパケットを送信し、受信側のステーションＢ１０８は合わせた時刻に同期してデータパケットを受信する。タイマー１１２とタイマー１１２ａの時刻を合わせる他の手段の例としては、ＧＰＳ衛星からの信号を用いる方法がある。
【００６１】
本第３の実施の形態では、タイマー１１２は、タイマー１１２ａが上記データ送信タイミング信号を送信してから、ネットワークの伝送遅延時間として予め設定した時間、例えば０．１秒後にパケット再生手段１１１に時間切れ信号を送る。
【００６２】
第３の実施の形態によれば、一定周期でデータの伝送する場合において、より正確な受信タイミングを設定できる。
【００６３】
（第４の実施の形態）
図６は、本発明の第４の実施の形態に係るデータ伝送方式を示すブロック図である。図６において図１，図４，図５と同一な部分には同符号を付してある。
【００６４】
図６は、図１の構成に、ステーションＡ１０１の第２のネットワークインタフェース１０６ａ、ステーションＢ１０８の第２のネットワークインタフェース１０９ａ、および第２の伝送路１０７ａを追加し、ネットワークを二重化したものである。
【００６５】
ステーションＡ１０１およびステーションＢ１０８のUDP/IPプロトコルスタック１０５および１１０は、二重化したネットワークを扱い、それぞれのネットワークに対応した２つのIPアドレスを持っている。
【００６６】
訂正データ計算手段１０４は、UDP/IPプロトコルスタック１１０の持つ２つのIPアドレスの宛先と、それぞれがサブパケットと訂正パケットからなるパケットセットをUDP/IPプロトコルスタック１０５に送る。これに基づきUDP/IPプロトコルスタック１０５は、二つのネットワークインタフェース１０６および１０６ａを通じて各パケットセットを送信する。ネットワークインタフェース１０６および１０６ａは、送られてきたパケットセットを伝送路１０７および１０７ａを通じてネットワークインタフェース１０９および１０９ａに伝送する。
【００６７】
ネットワークインタフェース１０９および１０９ａは、受信したパケットセットをUDP/IPプロトコルスタック１１０に送り、UDP/IPプロトコルスタック１１０はこれらをパケット再生手段１１１に送る。
【００６８】
パケット再生手段１１１には、喪失や遅延がなければ制限時間内にサブパケットおよび訂正パケットが二セット届くことになる。パケット再生手段１１１は、これらのパケットセットの中から必要なサブパケットあるいは訂正パケットを選んでパケット再生する。
【００６９】
なお、本第４の実施の形態においてパケットが再生できないケースは、二つのパケットセットで共通のサブパケットあるいは訂正パケットが二つ以上喪失するケースである。これは極めて少ない確率でしか起こらない。
【００７０】
第４の実施の形態によれば、データ伝送の信頼性を極めて高くすることができる。二重化ネットワークは、ネットワークインタフェース１０６、伝送路１０７、ネットワークインタフェース１０９等の障害に備えて、高い信頼性を要求される場合に採用されるが、本第４の実施の形態により、二重化ネットワークの両方が機能している場合のデータ伝送の信頼性は次のように評価される。
【００７１】
一重化ネットワークにおいて、パケット分解手段１０３からパケット再生手段１１１までサブパケットあるいは訂正パケットが到達しない確率（これは、Ethernetフレームの喪失率にほぼ等しい）をPとすると、独立した二重化ネットワークにおいて、パケット分解手段１０３からパケット再生手段１１１までサブパケットあるいは訂正パケットが到達しない確率PdはP2となる。すなわち、Pが一万分の１ならばPdはその二乗で一億分の一である。
【００７２】
この時、パケット再生手段１１１で元のパケットが再生できない確率は、第１の実施の形態と同様次の式（４）で計算される。
【００７３】
【数４】
0004024988.tif 000005
【００７４】
Pが一万分の１の時（Pdが一億分の１の時）、上式（４）の値は3.89×10-15であり、データパケットを１秒当たり１０回伝送したとしても、データパケットの喪失は８１万年に一度の確率となる。
【００７５】
（第５の実施の形態）
図７は、本発明の第５の実施の形態に係るパケット再生手段１１１の内部処理を示すブロック図である。
【００７６】
図７において、サブパケット選別部７０１は、UDP/IPプロトコルスタック１１０からサブパケットを受信すると、サブパケット番号に従ってサブパケットバッファ７０２に振り分けて書き込む。サブパケットバッファ７０２は、サブパケット番号に対応して９個のバッファを持っている。サブパケット選別部７０１は、受信済みのサブパケットを受信した場合は、サブパケットバッファ７０２へ書きこまない。
【００７７】
パケット再生可能性判定部７０３は、サブパケット選別部７０１が新たなサブパケットをサブパケットバッファ７０２に書き込む度にサブパケットバッファ７０２をスキャンし、パケット再生の可能性を判定する。すなわち、９個のバッファの内、８個にデータが入っていればパケットは再生可能である。パケット再生可能性判定部７０３がパケットを再生可能と判断すると、パケット再生部７０４は直ちにサブパケットバッファ７０２からサブパケットを取り出して、パケットを再生し、パケットバッファ７０５に書きこむ。パケットバッファ７０５の内容はアプリケーションから随時読み出される。
【００７８】
第５の実施の形態によれば、受信側のステーションは、パケットが再生可能になった段階で冗長なパケットの到着を待たず即座に再生するため、システム全体の応答速度を高めることができる。
【００７９】
(第６の実施の形態)
本第６の実施の形態では、第１の実施の形態の図１におけるパケット分解手段１０３と訂正データ計算手段１０４を一体化してパケットセット生成手段とし、図２におけるステップ２０７のサブパケットへの分解処理において、サブパケットへの分解と訂正データの計算を同時に行ない、UDP/IPプロトコルスタック１０５へサブパケットを送る時、短い時間遅延を入れる。
【００８０】
図８は、パケット分解処理と訂正データ計算処理を示すフローチャートである。sbufは、アプリケーションから送られてきたパケットデータの入るバッファを表す。まずステップ８０１で処理が開始されると、ステップ８０２で、sbufを先頭から切り出して８個のサブパケットに分解するため、パケットの長さlength(sbuf)を８で割り、個々のサブパケットの長さslenを計算する。ここでceil(x)は、xより小さくない最小の整数をとる関数である。次にステップ８０３で、訂正データcbufの初期値として、sbufの先頭からslenオクテットをcbufに入れる。そしてステップ８０４で、sbufの先頭からslenオクテットをUDP/IPプロトコルスタック１０５に送る。
【００８１】
この後ステップ８０５で、0.0001秒（100マイクロ秒）処理をスリープし、サブパケット番号を表すカウンタiを２として、次のサブパケットの切り出しを行なう以下のループに入る。このループは、ステップ８０６で、終了条件i＞８を満たすまで繰り返される。
【００８２】
ステップ８０７で、i番目のサブパケットに当たるsbufの(i-1)*slen+1番目からi*slen番目のデータとcbufとの排他的論理和を計算し、ステップ８０８で、このデータをUDP/IPプロトコルスタック１０５に送る。そしてステップ８０９で、0.0001秒処理をスリープし、iをカウントアップしてループの先頭であるステップ８０６に戻る。
【００８３】
ステップ８０６でiが8を超えたら、ステップ８１０で、訂正データcbufをUDP/IPプロトコルスタック１０５に送り、ステップ８１１で処理を終了する。なお、ステップ８０４,８０８,８１０でデータをUDP/IPプロトコルスタック１０５に送る時は、パケット識別子、サブパケット番号を添付することは言うまでもない。
【００８４】
以上の様に、サブパケットおよび訂正パケットをUDP/IPプロトコルスタック１０５に送る時に時間遅延を設けることで、ネットワークインタフェース１０６が伝送路１０７にEthernetフレームを送信する際、時間間隔ができる。このため、ネットワークに数十個の送信ステーションが接続されている場合でも、各ステーションからの送信が時間的に集中する可能性が減ることから、Ethernetフレームが衝突する可能性が減少し、結果的にサブパケットがコリジョンアウトで喪失する可能性を減少させることができる。
【００８５】
なお、上記の実施の形態ではパケットセット生成手段はサブパケットをUDP/IPプロトコルスタックに送ったあと、定められた時間スリープしたが、スリープ時間をランダムにし、フレームの送出時間をずらす方法も考えられる。また、図８の処理では明示的にスリープしているが、サブパケットの切り出しと訂正データの計算に必要な時間を遅延時間とする方法も考えられる。
【００８６】
第６の実施の形態によれば、Ethernetのコリジョンアウトが発生する確率を下げ、システム全体の信頼性を高めることができる。
【００８７】
（第７の実施の形態）
第１の実施の形態においては、アプリケーションから送られてくるデータパケットを８個のサブパケットと訂正パケットに分解したが、データパケットの長さが短い場合に８個に分割すると伝送路に短いEthernetフレームが多数送出されることになる。Ethernetの伝送効率は多数の短いフレームが伝送されると悪化することが、D. Boggs et.al. “Measured Capacity of an Ethernet: Myths and Reality”, Proceedings of SIGCOMM’88(ACM SIGCOMM, 1988):222-234等に示されている。
【００８８】
そこで本第７の実施の形態では、パケット分解手段１０３は、サブパケットを収めるEthernetフレームの最短長が２５６オクテットになるようにサブパケットの分割数を調整する。例えば、サブパケットの長さが４００オクテットの場合は、０データを入れて２５６オクテットの長さの二つのサブパケットに分解し、訂正パケットを付加する。
【００８９】
さらに、データパケットの長さが２４８オクテットに満たないとき、サブパケットの分割数が１となるが、この場合、訂正データ計算手段１０４は訂正データを計算して訂正パケットを生成するのではなく、元のデータパケットの複製を作ることでデータを二重化する。
【００９０】
第７の実施の形態によれば、短いパケットの分割による伝送路の伝送効率の低下を防ぐことができる。
【００９１】
（第８の実施の形態）
図９は、本発明の第８の実施の形態に係るデータ伝送方式を示すブロック図である。図９において図１，図４〜図６と同一な部分には同符号を付してある。
【００９２】
図９において、ネットワーク健全性監視手段９０１は、パケット再生手段111から、受信したパケット数とサブパケット喪失数を入力する。そして、１時間毎にサブパケット喪失数を受信パケット数で割った喪失割合を計算し、喪失割合がそれまでの平均から増加した場合は、ネットワークの健全性に問題があると判定し、警報を発する。
【００９３】
第８の実施の形態によれば、ネットワークの健全性を常時監視し、例えば伝送路の劣化によってネットワークの信頼性が徐々に低下するような現象を検出することで、劣化が進行する前に補修することが可能となる。
【００９４】
（第９の実施の形態）
図１０は、本発明の第９の実施の形態に係るデータ伝送方式を示すブロック図である。図１０において図１，図４〜図６，図９と同一な部分には同符号を付してある。
【００９５】
図１０では、ステーションＡ１０１とステーションＢ１０８は、それぞれ異なる伝送路１０７と１００２に接続され、伝送路１０７と１００２はゲートウェイ１００１によって接続されている。また、伝送路１０７と伝送路１００２には、図１０には図示していない数十個のステーションが接続されている。したがって、ステーションＡ１０１から送信されたデータは、伝送路１０７あるいは伝送路１００２で喪失する可能性がある。
【００９６】
ゲートウェイ１００１は、ステーションＡ１０１からステーションＢ１０８に送られたデータを中継するが、内部にデータ受信用のネットワークインタフェース１００３、UDP/IPプロトコルスタック１００４、パケット再生手段１００５、タイマー１００６を持ち、これらはステーションＢ１０８のネットワークインタフェース１０９、UDP/IPプロトコルスタック１１０、パケット再生手段１１１、タイマー１１２と同様に働きパケットを再生する。
【００９７】
また、ゲートウェイ１００１は、送信用にパケット分解手段１００７、訂正データ計算手段１００８、UDP/IPプロトコルスタック１００９、ネットワークインタフェース１０１０を持っており、それぞれステーションＡ１０１のパケット分解手段１０３、訂正データ計算手段１０４、UDP/IPプロトコルスタック１０５、ネットワークインタフェース１０６と同様に働く。
【００９８】
ゲートウェイ１００１では、伝送路１０７から受信したサブパケットを一旦パケットに再生し、再びサブパケットに分解して伝送路１００２に送出するため、伝送路１０７でサブパケットまたは訂正パケットの喪失があっても、伝送路１００２には喪失したサブパケットまたは訂正パケットが復元されて送出される。
【００９９】
第９の実施の形態によれば、ゲートウェイで結ばれた二つの伝送路を介して流れるデータの信頼性を高めることができる。
【０１００】
（第１０の実施の形態）
第１の実施の形態では、アプリケーション群Ａ１０２から送られてくるパケットを均等に８個に分解し、訂正パケットを付加したが、パケットの中のデータには重要性の高いものとそうでないものがある。
【０１０１】
そこで、予め重要性の高いデータをパケットの最初の方に配置し，これらがサブパケット番号１から４のサブパケットに入るようにする。訂正データ計算手段１０４では、１番目から８番目までのサブパケットに対して訂正パケットを計算する以外に、重要性の高い１番目から４番目のサブパケットに対して第２の訂正パケットを生成する。
【０１０２】
第１０の実施の形態によれば、重要度の高いデータに対し、さらに高い信頼性を保証することができる。
【０１０３】
なお、本発明は上記各実施の形態のみに限定されず、要旨を変更しない範囲で適宜変形して実施できる。
【０１０４】
【発明の効果】
本発明のデータ伝送方式によれば、ネットワークとしてスター型のEthernet、あるいはバス型Ethernetを想定し、衝突による伝送データの遅延、あるいはコリジョンアウトによるデータの喪失の可能性がある場合でも、制限時間内での高い確率のデータ伝送を保証することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るデータ伝送方式を示すブロック図。
【図２】本発明の第１の実施の形態に係るパケット分解手段におけるサブパケットへの分解処理を示すフローチャート。
【図３】本発明の第１の実施の形態に係る訂正データの具体的な計算方法を示す図。
【図４】本発明の第２の実施の形態に係るデータ伝送方式を示すブロック図。
【図５】本発明の第３の実施の形態に係るデータ伝送方式を示すブロック図。
【図６】本発明の第４の実施の形態に係るデータ伝送方式を示すブロック図。
【図７】本発明の第５の実施の形態に係るパケット再生手段１１１の内部処理を示すブロック図。
【図８】本発明の第６の実施の形態に係るパケット分解処理と訂正データ計算処理を示すフローチャート。
【図９】本発明の第８の実施の形態に係るデータ伝送方式を示すブロック図。
【図１０】本発明の第９の実施の形態に係るデータ伝送方式を示すブロック図。
【図１１】従来のプラントにおけるスター型ネットワークの構成概念を示す図。
【符号の説明】
１０１…ステーションＡ
１０２…アプリケーション群Ａ
１０３…パケット分解手段
１０４…訂正データ計算手段
１０５…UDP/IPプロトコルスタック
１０６…ネットワークインタフェース
１０６ａ…ネットワークインタフェース
１０７…伝送路
１０７ａ…伝送路
１０８…ステーションＢ
１０９…ネットワークインタフェース
１０９ａ…ネットワークインタフェース
１１０…UDP/IPプロトコルスタック
１１１…パケット再生手段
１１２…タイマー
１１２ａ…タイマー
１１３…アプリケーション群Ｂ
１１４…クロック
７０１…サブパケット選別部
７０２…サブパケットバッファ
７０３…パケット再生可能性判定部
７０４…パケット再生部
７０５…パケットバッファ
９０１…ネットワーク健全性監視手段
１００１…ゲートウェイ
１００２…伝送路
１００３…ネットワークインタフェース
１００４…UDP/IPプロトコルスタック
１００５…パケット再生手段
１００６…タイマー
１００７…パケット分解手段
１００８…訂正データ計算手段
１００９…UDP/IPプロトコルスタック
１０１０…ネットワークインタフェース
【図１】
0004024988.tif 000006
【図２】
0004024988.tif 000007
【図３】
0004024988.tif 000008
【図４】
0004024988.tif 000009
【図５】
0004024988.tif 000010
【図６】
0004024988.tif 000011
【図７】
0004024988.tif 000012
【図８】
0004024988.tif 000013
【図９】
0004024988.tif 000014
【図１０】
0004024988.tif 000015
【図１１】
0004024988.tif 000016