(57)【要約】【課題】同報通信における確達性を確保しつつ受信ノード数の増加による性能劣化を抑制するデータ伝送システムを提供する。【解決手段】確達性を必要とするイベントデータ４を送信するときはＩＤ番号６を付与しシーケンス番号７ａを付与して送信イベントデータメモリ１２に保留し、確達性の必要ない周期データ３の送信タイミングにあわせて規定回数まで送信することで確達性を確保する。受信ノード２０では受信制御部２１が受信データを振り分け、周期データ３はそのまま受信プログラム１０に渡し、イベントデータ４は受信イベントデータメモリ２２を検索してＩＤ番号６に該当するシーケンス番号７ｃを参照し受信したシーケンス番号７ａと比較し新しいイベントデータ４であると確認した場合に、シーケンス番号７ｃをシーケンス番号７ａで上書きし受信プログラム１０にイベントデータ４を渡し、古いイベントデータ４の場合はそのイベントデータを破棄する。【選択図】図１
2010171557.tif 000002
【特許請求の範囲】
【請求項１】
同報送信の対象であると共に所定の複数の受信ノードに到達することが要求される所定のデータであって、データ種別を示す種別情報と、同報送信される順位を示す順位情報とが付与された確達要求データを格納する確達要求データ格納部と、
一定周期で前記複数の受信ノードに同報送信される周期データの送信タイミングで、前記確達要求データを予め定められた規定回数だけ前記順位情報の示す前記順位に従って前記周期データとともに前記複数の受信ノードに同報送信する同報送信部と
を備えたことを特徴とする同報送信装置。
【請求項２】
前記同報送信部は、
送信周期の異なる複数の周期データを前記複数の受信ノードに送信すると共に、前記確達要求データを同報送信する場合には前記確達要求データごとに前記複数の周期データのうちのいずれかの前記周期データの送信タイミングで前記確達要求データを予め定められた規定回数だけ前記順位情報の示す前記順位に従って前記送信タイミングの前記周期データとともに前記複数の受信ノードに同報送信することを特徴とする請求項１記載の同報送信装置。
【請求項３】
前記同報送信装置は、さらに、
前記周期データの送信周期に代替する代替周期を生成する代替周期生成部を備え、
前記同報送信部は、
前記代替周期生成部によって生成された前記代替周期における送信タイミングで前記確達要求データを予め定められた規定回数だけ前記順位情報の示す前記順位に従って前記複数の受信ノードに同報送信することを特徴とする請求項１または２のいずれかに記載の同報送信装置。
【請求項４】
前記同報送信装置は、さらに、
前記同報送信部により同報送信される前の確達要求データにアクノリッジの返信を要求するアクノリッジ返信要求情報を付加すると共に、アクノリッジ返信要求情報に応答した受信ノードによって送信されたアクノリッジを受信し、確達要求データに対して前記複数の受信ノードのすべてからアクノリッジが返信された場合には前記同報通信部に前記複数の受信ノードのすべてからアクノリッジが返信されたことを示す全受信情報を前記同報送信部に通知するアクノリッジ制御部を備え、
前記同報送信部は、
前記アクノリッジ制御部から全受信情報を受信すると、前記規定回数の途中であっても、次の順位の確達要求データの同報送信処理に移行することを特徴とする請求項１〜３のいずれかに記載の同報送信装置。
【請求項５】
同報送信されたデータを受信する受信ノードにおいて、
同報送信の対象であると共に所定の複数の送信先に到達することが要求される所定のデータであって、データ種別を示す種別情報と、同報送信される順位を示す順位情報とが付与された確達要求データと、一定周期で前記複数の送信先に同報送信される周期データとを略同じタイミングで受信し、受信した前記確達要求データの種別情報を確認し、確認した前記種別情報と同一の種別情報の確達要求データを既に受信しているかどうかを判定し、受信していないと判定した場合には受信した前記確達要求データの前記種別情報と前記順位情報とを対応付けて記憶し、受信していると判定した場合には受信した前記確達要求データと既に受信している前記種別情報の同じ確達要求データとの前記順位情報を比較し、前記順位情報の比較結果に基づいて受信した前記確達要求データを採用するかどうかを決定し、採用すると決定した場合には受信した前記確達要求データの順位情報を既に受信している前記種別情報の同じ前記確達要求データの前記順位情報に上書きし、採用しないと決定した場合には受信した前記確達要求データを破棄する受信制御部
を備えたことを特徴とする受信ノード。
【請求項６】
前記受信制御部によって受信される前記確達要求データは、
送信元を示す送信元情報を含み、
前記受信制御部は、
受信した前記確達要求データを採用すると決定した場合において、受信した前記確達要求データの前記順位情報と上書きされる前記順位情報とに所定の関係がある場合には受信エラーを示すエラー情報の送信を指示する送信指示情報を出力し、
前記受信ノードは、さらに、
前記受信制御部の出力した前記送信指示情報を入力し、入力した前記送信指示情報
の示す指示に従って、前記エラー情報を前記確達要求データに含まれる前記送信元情報の示す送信元宛に送信するエラー通知部
を備えたことを特徴とする請求項５記載の受信ノード。
【請求項７】
コンピュータを、
同報送信の対象であると共に所定の複数の受信ノードに到達することが要求される所定のデータであって、データ種別を示す種別情報と、同報送信される順位を示す順位情報とが付与された確達要求データを格納する確達要求データ格納部、
一定周期で前記複数の受信ノードに同報送信される周期データの送信タイミングで、前記確達要求データを予め定められた規定回数だけ前記順位情報の示す前記順位に従って前記周期データとともに前記複数の受信ノードに同報送信する同報送信部、
として機能させるための同報送信プログラム。
【請求項８】
請求項７記載の同報送信プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、同報通信の確達性を実現すると同時に、通信ノードの増加に伴う通信オーバヘッドを低減する同報送信装置、同報送信プログラムに関する。
【背景技術】
【０００２】
現在、複数の通信ノードに対して同一情報を配信する方法として同報通信を行う技術が実用化されている。例えば、ネットワークを介したライブビデオ配信などが、同報通信により実現されている（例えば、非特許文献１）。非確達の同報通信であれば、情報を受信する通信ノードが増加しても、送信ノードのネットワーク負荷が増加しない利点を有している。先例のライブビデオのようなデータであれば、時々刻々変化する映像のうち１枚が消失してもビデオ配信の価値が低下することはないので非確達の同報通信技術で十分である。
【０００３】
しかしながら、例えば、スイッチを押下したなどのイベント情報を同報通信しなければならない場合は確達性が要求される。同報通信に確達性を付加するために、通信ノードが情報を受信したことを確認するためのアクノリッジ情報を送信ノードが確認する方法が知られているが（例えば、特許文献１）、受信ノード数の増加に伴う通信オーバヘッドが発生してしまい、同報通信の性能メリットが薄らいでしまうという課題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２００５０５号公報（２１頁、図２６）
【非特許文献】
【０００５】
【非特許文献１】「ＭｅｄｉａＯｒｃｈｅｓｔｒａ／Ｌｉｖｅのご紹介」（６ページ）ｈｔｔｐ：／／ｗｗｗ．ｍｅｄｉａｏｒｃｈｅｓｔｒａ．ｃｏｍ／ｃａｔａｌｏｇ／ｐｄｆ／ｍｏｌｉｖｅ．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の同報通信は、確達性をもたないため、１度しか送信されないイベント情報を同報通信で送信すると、情報を受信していない通信ノードが存在する可能性がある。そのため、同報通信に従来技術のアクノリッジによる確達性を付加すると、受信ノード数の増加により性能劣化を引き起こし、同報通信の性能メリットが失われてしまう課題がある。
【０００７】
この発明は、同報送信装置において、性能を劣化させずに確達性を保持した同報通信を実現する同報送信装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
この発明の同報送信装置は、
同報送信の対象であると共に所定の複数の受信ノードに到達することが要求される所定のデータであって、データ種別を示す種別情報と、同報送信される順位を示す順位情報とが付与された確達要求データを格納する確達要求データ格納部と、
一定周期で前記複数の受信ノードに同報送信される周期データの送信タイミングで、前記確達要求データを予め定められた規定回数だけ前記順位情報の示す前記順位に従って前記周期データとともに前記複数の受信ノードに同報送信する同報送信部と
を備えたことを特徴とする。
【発明の効果】
【０００９】
同報送信装置において、性能を劣化させずに確達性を保持した同報通信を実現する同報送信装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１のデータ伝送システム１１０の構成図。
【図２】実施の形態１のデータ伝送システム１１０の動作フロー。
【図３】実施の形態１のイベントデータ４を説明する図。
【図４】実施の形態１の受信ノード２０の持つ対応情報を説明する図。
【図５】実施の形態２のデータ伝送システム１２０を説明するための図である。
【図６】実施の形態３のデータ伝送システム１３０を説明するための図である。
【図７】実施の形態４のデータ伝送システム１４０を説明するための図である。
【図８】実施の形態５のデータ伝送システム１５０を説明するための図である。
【図９】実施の形態６の送信ノードのハードウェア資源を示す図。
【発明を実施するための形態】
【００１１】
実施の形態１．
以下、図１〜図４を用いて実施の形態１を説明する。図１は、実施の形態１によるデータ伝送システム１１０の概要を示している。このデータ伝送システム１１０では、所定の複数の受信ノードに到達するべき確達性が要求されない周期的に同報通信される周期データ（周期同報通信データともいう）がシステムに存在するという条件とする。後述の送信プログラム実行部１１は周期データを一定の周期ごと同報送信する。もし、周期同報通信データがシステムに存在しない場合は、データ量０の周期同報通信を擬似的に設ける（後述の実施の形態４）ことで、データ伝送システム１１０を実施することができる。
【００１２】
データ伝送システム１１０は、図１に示すように送信ノード１０と複数の受信ノード２０とを備えている。送信ノード１０は、送信プログラムを実行する送信プログラム実行部１１（同報送信部）と送信イベントデータメモリ１２（確達要求データ格納部）を備えている。受信ノード２０は、受信制御部２１、受信イベントデータメモリ２２、受信プログラムを実行する受信プログラム実行部２３を備えている。
【００１３】
（送信ノード）
送信プログラム実行部１１は、送信プログラムを実行することにより周期データ３とイベントデータ４（確達要求データ）とを同報送信する。
【００１４】
（周期データ３）
周期データ３とは、送信ノード１０によって周期的に同報送信されるデータであり、かつ、確達性が要求されないデータである。周期データ３は、周期である規定時間の経過後、そのまま受信ノード２０に対して同報送信される。
【００１５】
（イベントデータ４）
図２のフローチャートを参照してデータ伝送システム１１０の動作を説明する。また、図３を参照してイベントデータ４を説明する。イベントデータ４は所定の複数の受信ノードに到達するべき「確達性」が要求されるデータであり、図３に示すように、送信プログラム実行部１１によって、ＩＤ番号６（種別情報）が付与されると共にアプリケーションからの送信要求のたびに、１だけインクリメントされたシーケンス番号７ａが付与される（Ｓ１０１）。イベントデータ４は、ＩＤ番号６とシーケンス番号７ａで一意に特定される。ＩＤ番号はイベントデータのデータ種別を示す種別情報である。また、シーケンス番号７ａは、後述のように受信ノード２０に向けて同報送信される際の順位を示す順位情報である。図３の「ＩＤ＝Ａ」のイベントデータでは、シーケンス番号が「１、２・・・」のデータの順番で送信要求があるものとして同報送信される。
【００１６】
すなわち図３を例にとれば、後述のように、送信プログラム実行部１１は、データ１からデータｎのイベントデータ４を周期データ３の同報送信のタイミングで周期データ３とともに規定回数同報送信する。
【００１７】
（イベントデータ４の同報送信）
イベントデータ４は、即時に同報送信されるのではなく、図３に示すように、送信イベントデータメモリ１２に保留される（Ｓ１０２）。このとき、既に同じＩＤ番号６のイベントデータ４が存在したとしても、別の領域に格納することで、アプリケーションからのイベントデータ送信要求は送信順（シーケンス番号の小さい順）に受信側（受信ノード）に受信させることができる。
【００１８】
送信イベントデータメモリ１２にイベントデータ４が存在する場合は、送信プログラム実行部１１によって、周期データ３が送信されるタイミングで、周期データ３と合わせて全てのイベントデータ４が同報送信される（Ｓ１０３）。例えば図３では、データ１のイベントデータ４がまだ送信されていない場合、データ１のイベントデータ４が周期データ３とともに同報送信される。同報送信されるイベントデータ４（例えばデータ１のイベントデータ４）は、受信ノード０２０で受信されたときに、送信イベントデータメモリ１２に格納された順番をシーケンス番号によって復元できる。
【００１９】
（イベントデータ４の同報送信の回数）
各イベントデータ４は、既定の複数回、同報送信されることで確達性が担保される。すなわち、送信イベントデータメモリ１２に格納されている全てのイベントデータ４が受信ノード２０に周期データ３とともに同報送信されるたびに送信プログラム実行部１１によって送信回数が記録され、規定回数だけ同報送信されると該当するそのイベントデータ４は送信プログラム実行部１１により送信イベントデータメモリ１２から削除される（Ｓ１０４）。
【００２０】
規定回数は、確率的に十分確達性を保証できる回数を設定する。本方式における、メッセージの最大遅延時間はメッセージ当りの遅延時間×規定回数で表される。
【００２１】
（受信ノード２０）
受信ノード２０では、受信制御部２１が周期データ３と、周期データの送信タイミングで同報送信されたイベントデータ４とを略同じタイミングで受信する（Ｓ２０１）。周期データ３が受信された場合は、受信制御部２１は受信プログラムを実行する受信プログラム実行部２３に周期データ３を渡すことでデータの授受が行われる（Ｓ２０２）。一方、受信制御部２１は、受信したイベントデータのＩＤ番号を確認し、受信イベントデータメモリ２２のＩＤ番号６（受信したイベントデータのＩＤ番号と同一のもの）に対応した領域にあるシーケンス番号７ｃとの受信したイベントデータのシーケンス番号との比較を行う（Ｓ２０３）。図４は、受信イベントデータメモリ２２に記憶されているＩＤ番号とシーケンス番号との対応を示す対応情報である。図４に示すように、受信イベントデータメモリ２２には既に受信されたイベントデータ４に関して、受信制御部２１によりＩＤ番号とシーケンス番号とが対応づけて記憶されている。受信制御部２１はイベントデータ４を新たに受信すると、受信したイベントデータ４の有するシーケンス番号７ａと対応情報に記載されているＩＤ番号を同じくするシーケンス番号７ａとを比較判定する（Ｓ２０４）。受信制御部２１は、この判定において対応情報のシーケンス番号が受信したシーケンス番号と同じかあるいは小さい場合には、既に受信しているイベントデータ４と同じイベントデータであるので、新たに受信したイベントデータ４を破棄する（Ｓ２０５）。
【００２２】
（受信したイベントデータの採用）
ＩＤ番号６に対応したシーケンス番号７ｃが存在しない場合（図４のＩＤ＝Ｂ）や、新たに受信したイベントデータ４のシーケンス番号７ａが対応情報に記載のものよりも１だけ大きい場合（図４のＩＤ＝Ａにおいて、シーケンス番号６のイベントデータ４を新たに受信したような場合）は、新たに受信したイベントデータ４は新しいデータなので、受信イベントデータメモリ２２の該当するＩＤ番号６のシーケンス番号７ｃをシーケンス番号７ａで上書きする。例えばＩＤ＝Ａにおいて、シーケンス番号６のイベントデータ４を新たに受信した場合、図４のシーケンス番号を「５」から「６」へ上書きする。また同時に、受信制御部２１は受信プログラム実行部２３にイベントデータ４を渡すことでデータの授受が行われる（Ｓ２０６）。受信制御部２１でのイベントデータ４の処理順序は、送信イベントデータメモリ１２に格納された順番（シーケンス番号の順番）でなければならない。
【００２３】
実施の形態１のデータ伝送システム１１０では、送信ノード１０が周期データの同報送信のタイミングで確率的に保証される規定の複数回だけ同報送信を繰り返すので、アクノリッジ方式を採用することなく確達性を確保できる。
【００２４】
以上の実施の形態１では、以下の内容のデータ伝送システム１１０を説明した。確達性の必要なイベントデータは、送信要求と同時に送信を行わず、送信イベントデータメモリに一時保存される。送信イベントデータメモリには、イベントデータに対応したＩＤ番号と書き込みのたびに１づつ加算されるシーケンス番号とデータの内容がセットで書き込まれる。送信イベントデータメモリには、同じＩＤ番号のものは上書きされないで、別領域に書き込まれる。イベントデータの実際の送信処理は、確達性の必要ない周期データの送信に合わせて行われる。周期データと送信イベントデータメモリに格納されているデータ（ＩＤ番号、シーケンス番号も合わせて）をセットで送信する。イベントデータの実際の送信処理は、送信された回数がイベントデータごとに管理されており、規定回数送信したら送信イベントデータメモリからイベントデータを削除する。受信ノードで受信されたデータのうち、周期データはそのまま受信プログラムに渡す。イベントデータは、受信イベントデータメモリをＩＤ番号で検索し、該当するシーケンス番号よりも古い場合は、受信したイベントデータを破棄する。該当するシーケンス番号がないか、もしくは、新しい場合は、シーケンス番号を受信したシーケンス番号で上書きし、イベントデータを受信プログラムに渡す。
【００２５】
実施の形態２．
以下、図５を用いて実施の形態２のデータ伝送システム１２０を説明する。図５はデータ伝送システム１２０の概要を示している。データ伝送システム１２０の送信ノード１０は、実施の形態１の内容に加えて、周期データに送信周期が複数ある場合に、イベントデータ４の送信をどの送信周期に合わせるかを選択可能である。送信プログラム実行部１１は、周期データについては、周期の異なる複数の周期データを同報送信する。例えば図５に示すように、送信プログラム実行部１１は、同報送信の周期が周期ａである周期データ３ａと同報送信の周期が周期ｂである周期データ３ｂ（周期ｂ＞周期ａ）とを同報送信する。このような場合、送信プログラム実行部１１は、ＩＤ番号６ａの「イベントデータ４ａ」はデータサイズが小さく、伝達遅延時間をできるだけ小さくしたいので、高速周期の「周期データ３ａ」の同報送信時のタイミングでイベントデータ４ａを送信し、一方、ＩＤ番号６ｂの「イベントデータ４ｂ」はデータサイズが大きく、遅延時間の規定がないので、低速周期の「周期データ３ｂ」の同報送信時に送信する。
【００２６】
なお、規定回数だけ同報送信することは実施の形態１と同様である。すなわち送信プログラム実行部１１は、複数の送信周期が存在するときには、イベントデータ４ごとに、送信する送信周期を周期データに合わせるものとする。ここで「イベントデータ４ごとに」とは、一つ一つのイベントデータごとでもよいし、ＩＤ番号を同じくするイベントデータは同じ周期データで同報送信するようにしてもよい。このように、送信プログラム実行部１１は、送信周期の異なる複数の周期データを複数の受信ノードに送信すると共に、イベントデータ４を同報送信する場合にはイベントデータ４ごとに複数の周期データのうちのいずれかの周期データの送信タイミングでイベントデータ４を規定回数だけシーケンス番号の示す順位に従って周期データとともに複数の受信ノードに同報送信する。
【００２７】
実施の形態２の送信ノード１０は、イベントデータ４を送信周期のことなる周期データのうち、いずれかの送信周期の周期データに送信タイミングを合わせるので、イベントデータ４の特性に合致した送信タイミングで同報送信できる。
【００２８】
以上の実施の形態２では、以下の内容のデータ伝送システム１２０を説明した。すなわち、複数の送信周期が存在するときに、イベントデータごとに、送信する送信周期を指示できるようにしたデータ伝送システムを説明した。
【００２９】
実施の形態３．
以下、図６を用いてこの実施の形態３のデータ伝送システム１３０を説明する。実施の形態３は、受信ノードに関する。実施の形態３の受信ノードは、イベントデータ４を新たに受信した場合、対応情報（図４）における同じＩＤ番号のシーケンス番号が連続しない場合には、間のイベントデータ４がいまだ受信されていないと判断し、送信ノードにエラーを通知する。
【００３０】
図６は実施の形態３の受信ノード２０の概要を示している。新たにイベントデータ４を受信した場合に受信制御部２１が受信イベントデータメモリ２２を検索した結果、新たに受信したシーケンス番号７ａが新しく（すなわち対応情報記載の値よりも大きい）、かつ対応情報記載のシーケンス番号７ｃとの差分が１よりも十分大きい場合（対応情報記載のシーケンス番号よりも２より十分大きい場合）は、間に到達しているはずのイベントデータを失ったことを意味する。このため受信制御部２１は、イベントデータを失ったことを送信ノード１０のアプリケーションに通知するエラー通知部３０１を追加した。
なお、十分としている理由は、もし、次に受信するべきシーケンス番号に対応するデータが規定回数送信されても一度も受信できなかった場合、１増加したシーケンス番号を受信側は待ちつづけるが、送信側は、規定回数の送信を続けながらも、新たな送信要求を受け付け、１よりも十分大きなシーケンス番号のデータを送信してくることになる。例えば、シーケンス番号が２大きいデータを受信しても、次の周期の送信でシーケンス番号が１大きいデータを受信できる可能性がないわけではない（規定回数送信しているため）。適切な数値は、再送規定回数と、新たな送信データの頻度により、一度に、送信イベントデータメモリにどれほどのデータが溜まるかによって、決めることができる。具体的には、同じＩＤのイベントで、規定回数が３回で、この期間に最大５つの新しい送信要求があるとすると、５よりもシーケンス番号が離れた段階で、データの消失が発生したことを確定することができる。
【００３１】
動作の概要を説明する。受信制御部２１によって受信されるイベントデータ４は、送信元である送信ノード１０を示すアドレス（送信元情報）を含んでいる。受信制御部２１は、新たに受信したイベントデータ４を採用すると決定した場合には、新たに受信したイベントデータ４のシーケンス番号と上書きされるシーケンス番号とに所定の関係がある場合、すなわち、新たに受信したイベントデータ４のシーケンス番号が対応情報記載のシーケンス番号よりも２以上大きい場合には、受信エラーを示すエラー情報の送信を指示する送信指示情報をエラー通知部３０１に出力する。エラー通知部３０１は、受信制御部２１から送信指示情報を入力し、送信指示情報の示す指示に従って、エラー情報をイベントデータ４に含まれるアドレスの示す送信ノード１０宛に送信する。
【００３２】
イベントデータを失ったことを検出した後の処理（エラー情報受信後の送信ノード１０の処理）はシステム依存であり、本実施の形態３では取り扱わない。あるシステムではシステムの再起動を行うかもしれないし、別のあるシステムでは送信周期を調整するなどしてデータ転送量の調整を行って、イベントデータの消失が起こらないようにシステム的なチューニングを行うかもしれない。
【００３３】
実施の形態３のデータ伝送システム１３０の受信ノードでは、エラー通知部３０１がエラー情報を送信ノード１０宛てに送信するので、通常時の通信オーバヘッドを発生させることなく確達性の要求されるイベントデータ４の到達状況を簡易に知ることができる。
【００３４】
以上の実施の形態３では、以下の内容のデータ伝送システム１３０を説明した。すなわち、受信ノードにおいて、シーケンス番号の差分が１より十分大きい場合に、アプリケーションにイベントデータの消失が発生したことを通知する手段を付加したデータ伝送システムを説明した。
【００３５】
実施の形態４．
以下、図７を用いて実施の形態４のデータ伝送システム１４０を説明する。図７は実施の形態４のデータ伝送システム１４０の送信ノード１０の概要を示している。実施の形態４の送信ノード１０は、送信周期調整部４０１（代替周期生成部）がダミーの周期データを生成する。
【００３６】
実施の形態４では、ダミーの「周期データ３ｄ」（代替周期）を用意して、実施の形態１から３のいずれかを実施する実施形態である。「周期データ３ｄ」のデータは空で良く、送信周期を発生させることが目的となる。具体的には「ダミーの周期データ」は受信ノード２０に同報送信する必要はなく、周期的に送信タイミングを生成すればよい。
【００３７】
動作を簡単に説明する。送信周期調整部４０１は、周期データ３ｄの送信周期を、例えば、送信イベントデータメモリ１２に保留されているイベントデータ４の総量に応じて動的に可変とする。具体的には、送信周期調整部４０１は送信イベントデータメモリ１２に格納されているイベントデータ４の総量が少ないときは短時間周期の送信タイミングを生成し、送信プログラム実行部１１による頻繁なイベントデータ４の同報送信を可能とし、送信イベントデータメモリ１２でのイベントデータ４の格納総量が増えてくるとより長時間の周期の送信タイミングを生成し、その周期の各送信タイミングでの送信プログラム実行部１１による同報送信を可能とする。
【００３８】
このため、実施の形態４の送信ノード１０では送信周期調整部４０１を備えたので、送信イベントデータメモリ１２に格納されたイベントデータ４が少ないときは最大送信遅延時間をできるだけ短くすることができ、送信イベントデータメモリ１２にイベントデータ４が増えてきたとしても最大送信遅延時間を調整することでネットワーク負荷が一定以上高くなることを防ぐことができる。
【００３９】
以上の実施の形態４では、以下の内容のデータ伝送システム１４０を説明した。すなわち、送信イベントデータメモリに保留されているイベントデータの総量に応じて、送信周期を動的に変更できる手段を備えたデータ伝送システムを説明した。
【００４０】
実施の形態５．
図８を用いて実施の形態５のデータ伝送システム１５０を説明する。図８は実施の形態５によるデータ伝送システム１５０の概要を示している。データ伝送システム１５０は、送信ノード１０が特定のイベントデータ４、例えば特定のイベントデータ４にアクノリッジの返信を求める情報を付加し、これを受信した受信ノード２０がアクノリッジを返信する実施形態である。その特定のイベントデータ４についてすべての受信ノードからアクノリッジを受信すると、送信ノード１０はアクノリッジが返信されたイベントデータ４については規定回数まで同報送信する以前に同報送信を打ち切り、次のイベントデータ４の同報送信に移行できる。よって受信ノード２０への伝達遅延時間を短縮できる効果がある。また、イベントデータ４の種別により、すなわちＩＤ番号に応じてアクノリッジを要求することで、イベントデータ４の種別に応じて確実に確達性を確保できる。
【００４１】
実施の形態１から実施の形態４では、送信周期が周期データ３の周期よりも早い伝達遅延時間でのイベントデータ送信ができない。そこで前述のように、実施の形態５では存在する送信周期よりも短時間の伝達遅延時間要求がある場合に対応する形態となる。イベントデータ４の同報送信でアクノリッジを使った従来技術の確達性を付加するために、送信ノード１０に送信側アクノリッジ制御部５０１、受信ノード２０に受信側アクノリッジ制御部５０２を追加する。受信制御部２１で受信したイベントのうちアクノリッジを要求するものは、送信側アクノリッジ制御部５０１がアクノリッジを返信する。同報送信の送信先である全ての受信ノード２０からアクノリッジを受信すると、受信側アクノリッジ制御部５０２は、受信を確認したことを送信プログラム実行部１１に通知する。つまり、早い伝達遅延時間でのイベントデータ４のみ、従来技術の確達性を利用し、それ以外のイベントデータは、実施の形態１から実施の形態４の方式でイベントデータ４を同報送信する形態である。
【００４２】
（動作の説明）
簡単に動作を説明する。
【００４３】
（送信ノード１０）
送信側アクノリッジ制御部５０１は、送信プログラム実行部１１により同報送信される前のイベントデータ４にアクノリッジの返信を要求するアクノリッジ返信要求情報を付加する。送信プログラム実行部１１は、このアクノリッジ返信要求情報の付加されたイベントデータ４を実施の形態１と同様に周期データ３の送信タイミングで同報送信する。
【００４４】
（受信ノード２０）
受信制御部２１は、アクノリッジ返信要求情報の付加されたイベントデータ４を受信すると実施の形態１と同様の処理を実行し、このイベントデータ４を採用すると判定すると、受信側アクノリッジ制御部５０２にアクノリッジの返信を指令する。指令を受けた受信側アクノリッジ制御部５０２はアクノリッジを送信ノード１０宛てに送信する。
【００４５】
（送信ノード１０）
送信側アクノリッジ制御部５０１は、アクノリッジ返信要求情報に応答した受信ノードによって送信（返信）されたアクノリッジを受信し、アクノリッジ返信要求情報が付加されて同報送信されたイベントデータ４に対して複数の受信ノードのすべてからアクノリッジが返信された場合には送信プログラム実行部１１に複数の受信ノードのすべてからアクノリッジが返信されたことを示す全受信情報を通知する。送信プログラム実行部１１は送信側アクノリッジ制御部５０１から全受信情報を受信すると、規定回数の途中であっても、次の順位のイベントデータ４の同報送信処理に移行する。
【００４６】
なお送信ノード１０は同報送信の対象となる複数の受信ノードのアドレスを予め認識しており、また返信されるアクノリッジには送信元である受信ノードのアドレス及びイベントデータを特定する情報（ＩＤ番号及びシーケンス番号）が含められているので、送信ノードは特定のイベントデータについて、すべての受信ノードからアクノリッジが返信されたかどうか認識することができる。
【００４７】
以上の実施の形態５では、以下の内容のデータ伝送システム１５０を説明した。すなわち、アクノリッジにより確達性を付与した方式でイベントデータを同報通信することを選択できるようにしたデータ伝送システムを説明した。
【００４８】
実施の形態６．
次に図９を参照して、実施の形態６を説明する。実施の形態６は、送信ノードあるいは受信ノードの一連の動作を、方法、プログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握した場合の実施形態である。
【００４９】
以上の実施の形態１〜５では、送信ノード、受信ノードについて説明したが、実施の形態１〜実施の形態５の送信ノードあるいは受信ノードの構成要素の一連の動作は互いに関連しており、この一連の動作を、送信ノード（あるいは受信ノード）が行う方法として把握できる。またこれらの一連の動作をコンピュータに実行させる処理として把握することでコンピュータに実行させるプログラムとして把握できる。また、プログラムを格納したコンピュータ読み取り可能な記録媒体として把握できる。
【００５０】
図９は、コンピュータである送信ノード（あるいは受信ノード）のハードウェア資源の一例を示す図である。送信ノード、受信ノードは同様のハードウェア資源を持つコンピュータであるので、以下では送信ノードを想定して説明するが送信ノードの説明は受信ノードについても同様にあてはまる。
【００５１】
図９において、送信ノードは、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ８１１（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ８１２（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード８１６、キーボード８１４、マウス８１５、通信ボード８１６、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【００５２】
ＲＡＭ８１２は、揮発性メモリの一例であり、ＲＯＭ８１１、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、メモリの一例である。
【００５３】
通信ボード８１６は、他のノードとの間で通信を行う。
【００５４】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００５５】
上記プログラム群８２３には、以上の実施の形態１〜実施の形態５の説明において「〜部」として述べた機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００５６】
ファイル群８２４には、上記の実施の形態で述べたイベントデータ、周期データ、及び対応情報や、「〜の判定結果」、「〜の決定結果」、「〜の抽出結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００５７】
また、以上で述べた実施の形態の説明において「〜部」として説明したものは、「〜回路」、「〜装置」、「〜機器」、「手段」、「〜部」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上の説明で述べた「〜部」としてコンピュータを機能させるものである。
【符号の説明】
【００５８】
３，３ａ，３ｂ  周期データ、４，４ａ，４ｂ  イベントデータ、６，６ａ，６ｂ  ＩＤ番号、７，７ａ，７ｂ，７ｃ  シーケンス番号、１０  送信ノード、１１  送信プログラム実行部、１２  送信イベントデータメモリ、２０  受信ノード、２１  受信制御部、２２  受信イベントデータメモリ、２３  受信プログラム実行部、１１０，１２０，１３０，１４０，１５０  データ伝送システム、３０１  エラー通知部、４０１  送信周期調整部、５０１  送信側アクノリッジ制御部、５０２  受信側アクノリッジ制御部。
【図１】
2010171557.tif 000003
【図２】
2010171557.tif 000004
【図３】
2010171557.tif 000005
【図４】
2010171557.tif 000006
【図５】
2010171557.tif 000007
【図６】
2010171557.tif 000008
【図７】
2010171557.tif 000009
【図８】
2010171557.tif 000010
【図９】
2010171557.tif 000011