(57)【特許請求の範囲】
【請求項１】
複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信元ネットワークから受信する受信フレームの識別子とその受信フレーム内のデータを記憶するメモリ上のエリアとの対応関係、及び、前記送信先ネットワークへ送信する送信フレームの識別子とその送信フレームを構成するために必要な少なくとも１つの受信フレームの識別子との対応関係、を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、前記送受信定義情報に基づいて、受信フレームの識別子に対応する前記メモリ上のエリアに記憶する受信データ記憶手段と、
前記送信元ネットワークから受信フレームを受信するたびに、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、
を備えることを特徴とするゲートウェイシステム。
【請求項２】
複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信元ネットワークから受信する受信フレームの識別子とその受信フレーム内のデータを記憶するメモリ上のエリアとの対応関係、及び、前記送信先ネットワークへ送信する送信フレームの識別子とその送信フレームを構成するために必要な少なくとも１つの受信フレームの識別子との対応関係、を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、前記送受信定義情報に基づいて、受信フレームの識別子に対応する前記メモリ上のエリアに記憶する受信データ記憶手段と、
前記送信期間よりも短い周期で周期的に、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、
を備えることを特徴とするゲートウェイシステム。
【請求項３】
複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信先ネットワークへ送信する送信フレームの識別子と、その送信フレームを構成するために必要な前記送信元ネットワークから受信する少なくとも１つの受信フレームに含まれるメモリのアドレス情報との対応関係を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、受信フレームに含まれるメモリのアドレス情報に従って、前記メモリ上に記憶する受信データ記憶手段と、
前記送信元ネットワークから受信フレームを受信するたびに、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、
を備えることを特徴とするゲートウェイシステム。
【請求項４】
複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信先ネットワークへ送信する送信フレームの識別子と、その送信フレームを構成するために必要な前記送信元ネットワークから受信する少なくとも１つの受信フレームに含まれるメモリのアドレス情報との対応関係を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、受信フレームに含まれるメモリのアドレス情報に従って、前記メモリ上に記憶する受信データ記憶手段と、
前記送信期間よりも短い周期で周期的に、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、
を備えることを特徴とするゲートウェイシステム。
【請求項５】
前記送信条件判定手段における前記送信フレームの構成に必要な受信フレームは、前記送信先ネットワークで用いられる制御情報を有する受信フレームであること、
を特徴とする請求項１乃至４のいずれか１項記載のゲートウェイシステム。
【請求項６】
前記送信元ネットワーク上のノードの状態が、受信フレームを出力できないデータ送信不能状態であるか否かを判定するノード状態判定手段と、
前記ノードの状態が前記データ送信不能状態であると判定された場合に、前記ノードからの受信フレームを、前記送信条件判定手段における前記送信フレームの構成に必要な受信フレームから除外する受信フレーム除外手段と、
を更に備えることを特徴とする請求項１乃至５のいずれか１項記載のゲートウェイシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲートウェイシステムに関する。
【背景技術】
【０００２】
従来、媒体やプロトコルが異なるネットワーク間で、データを相互に変換して通信を可能とするゲートウェイシステムが知られている。例えば、特許文献１（特開２００９−１９４４４９号公報）には、データを一時的にバッファに記憶し、通信速度およびプロトコルの異なるネットワーク間でのデータの送受信を抑制することで、データ損失を防止するゲートウェイが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９４４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、送信元ネットワーク上の複数のノードがそれぞれのタイミングで出力した各データをメモリ上に記憶して、非同期に送信先ネットワーク上のノードに送信するゲートウェイシステムが知られている。従来のゲートウェイシステムでは、規定の送信期間毎に送信するため、送信元ネットワークから各データを受信した後、送信先ネットワークに送信するまでに無駄な待ち時間が生じるケースがある。
【０００５】
このような課題に対して、規定の送信期間を短く設定することが考えられる。この場合、確かに無駄な待ち時間は低減される。しかしながら、各データをすべて受信する前に規定の送信期間が経過し、更新前の古いデータを送信先ネットワークに送信する頻度が増大してしまう。その結果、送信先ネットワークや送信先ネットワーク上のノードの負荷が不必要に上昇することとなる。
【０００６】
この発明は、上述のような課題を解決するためになされたもので、送信先ネットワーク自体や送信先ネットワーク上のノードの不必要な負荷上昇を抑制しつつ、伝送遅延時間を小さくすることのできるゲートウェイシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、上記の目的を達成するため、複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信元ネットワークから受信する受信フレームの識別子とその受信フレーム内のデータを記憶するメモリ上のエリアとの対応関係、及び、前記送信先ネットワークへ送信する送信フレームの識別子とその送信フレームを構成するために必要な少なくとも１つの受信フレームの識別子との対応関係、を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、前記送受信定義情報に基づいて、受信フレームの識別子に対応する前記メモリ上のエリアに記憶する受信データ記憶手段と、
前記送信元ネットワークから受信フレームを受信するたびに、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、を備えることを特徴とする。
【０００８】
また、この発明は、上記の目的を達成するため、複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信元ネットワークから受信する受信フレームの識別子とその受信フレーム内のデータを記憶するメモリ上のエリアとの対応関係、及び、前記送信先ネットワークへ送信する送信フレームの識別子とその送信フレームを構成するために必要な少なくとも１つの受信フレームの識別子との対応関係、を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、前記送受信定義情報に基づいて、受信フレームの識別子に対応する前記メモリ上のエリアに記憶する受信データ記憶手段と、
前記送信期間よりも短い周期で周期的に、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、を備えることを特徴とする。
【０００９】
また、この発明は、上記の目的を達成するため、複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信先ネットワークへ送信する送信フレームの識別子と、その送信フレームを構成するために必要な前記送信元ネットワークから受信する少なくとも１つの受信フレームに含まれるメモリのアドレス情報との対応関係を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、受信フレームに含まれるメモリのアドレス情報に従って、前記メモリ上に記憶する受信データ記憶手段と、
前記送信元ネットワークから受信フレームを受信するたびに、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、を備えることを特徴とする。
【００１０】
また、この発明は、上記の目的を達成するため、複数のネットワーク間で、送信元ネットワークから受信したデータを、規定の送信期間内に送信先ネットワークへ、非同期に送信するゲートウェイシステムにおいて、
前記送信先ネットワークへ送信する送信フレームの識別子と、その送信フレームを構成するために必要な前記送信元ネットワークから受信する少なくとも１つの受信フレームに含まれるメモリのアドレス情報との対応関係を定めた送受信定義情報を記憶する送受信定義情報記憶手段と、
前記送信元ネットワークから受信した受信フレーム内のデータを、受信フレームに含まれるメモリのアドレス情報に従って、前記メモリ上に記憶する受信データ記憶手段と、
前記送信期間よりも短い周期で周期的に、前記送受信定義情報に基づいて、送信フレームを構成するために必要なすべての受信フレームが受信されたか否かを判定する送信条件判定手段と、
前記送信フレームを構成するために必要なすべての受信フレームが受信された場合、又は前記送信期間が経過した場合に、前記送受信定義情報に基づいて、前記メモリ上に記憶されたデータから前記送信フレームを構成する送信フレーム構成手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
これらの発明によれば、送信フレームを構成するために必要なすべての受信フレームが受信され、メモリ上のデータが更新された場合に送信条件が成立し、更新されたメモリ上のデータで送信フレームを構成し送信することが可能となる。そのため、送信先ネットワークおよび送信先ネットワーク上のノードの負荷を不必要に上げることなく、伝送遅延時間を小さくすることが可能となる。また、伝送路上の障害などによりデータの一部が受信できなかった場合であっても、送信期間の経過により正常に受信した部分までのメモリ上のデータに基づいて、送信フレームを構成し送信することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るネットワーク通信システムの構成を説明するためのブロック図である。
【図２】共有メモリ用通信の概念図である。
【図３】ネットワークＡ２から受信したデータを、ゲートウェイ１内の共有メモリ１０を経由してネットワークＢ３に送信する場合の「受信データの内容」「共有メモリの内容」および「送信データの内容」の関係を示す図である。
【図４】無駄な待ち時間が生じる場合の具体例を説明するためのタイミングチャートである。
【図５】送信先ネットワークや送信先ネットワーク上のノードの負荷が不必要に上昇する場合の具体例を説明するためのタイミングチャートである。
【図６】本発明の実施の形態１のゲートウェイシステムにおけるデータ送信のタイミングチャート（条件待ちタイムアウトが発生しない場合）である。
【図７】本発明の実施の形態１のゲートウェイシステムにおけるデータ送信のタイミングチャート（条件待ちタイムアウトが発生する場合）である。
【図８】「受信時フラグパターン」の例を示す図である。
【図９】「送信条件マスクパターン」の例を示す図である。
【図１０】本発明の実施の形態１における送信条件監視機能１１が実行する「送信条件フラグの初期化」の処理フローである。
【図１１】本発明の実施の形態１におけるゲートウェイ１の処理部が実行する「フレーム受信時処理」の処理フローである。
【図１２】本発明の実施の形態１におけるゲートウェイ１の処理部が実行する「送信タイムアウト処理」の処理フローである。
【図１３】「データ受信時カウンタ」の例を示す図である。
【図１４】「使用エリアテーブル」と「データ送信時カウンタテーブル」の例を示す図である。
【図１５】「使用エリアテーブル」と「データ送信時カウンタテーブル」の例を示す図である。
【図１６】本発明の実施の形態２におけるゲートウェイ１の処理部が実行する「フレーム受信処理」の処理フローである。
【図１７】本発明の実施の形態２における送信条件監視機能１１が実行する「送信条件確認処理」の処理フローである。
【図１８】本発明の実施の形態２におけるゲートウェイ１の処理部が実行する「送信待ちタイムアウト処理」の処理フローである。
【図１９】「エリア対応テーブル」の例を示す図である。
【図２０】本発明の実施の形態６に係るネットワーク通信システムの構成を説明するためのブロック図である。
【図２１】本発明の実施の形態６のゲートウェイシステムにおけるデータ送信のタイミングチャート（条件待ちタイムアウトが発生しない場合）である。
【図２２】本発明の実施の形態６のゲートウェイシステムにおけるデータ送信のタイミングチャート（条件待ちタイムアウトが発生する場合）である。
【図２３】「送信元フラグパターン」の例を示す図である。
【図２４】「ヘルシーノードマスクパターン」の例を示す図である。
【図２５】本発明の実施の形態６におけるヘルシーノード管理機能１２が実行する「ヘルシーノードマスクパターン」を生成する処理フローを示している。
【図２６】本発明の実施の形態６におけるゲートウェイ１の処理部が、「ヘルシーノードマスクパターン」を使用して送信条件の成否を確認するための処理フローである。
【図２７】「送信元エリアテーブル」の例を示す図である。
【図２８】「ヘルシーエリアテーブル」の例を示す図である。
【図２９】本発明の実施の形態７におけるゲートウェイ１の処理部が、「ヘルシーノードマスクテーブル」を使用して送信条件の成否を確認するための処理フローである。
【発明を実施するための形態】
【００１３】
本発明を実施するための形態について添付の図面に従って説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化ないし省略する。
【００１４】
実施の形態１．
［実施の形態１のシステム構成］
図１は、本発明の実施の形態１に係るネットワーク通信システムの構成を説明するためのブロック図である。図１に示すネットワーク通信システムは、ゲートウェイシステムたるゲートウェイ１を備えている。ゲートウェイ１は、異なる複数のネットワーク間で、データを相互に変換して通信を可能とする装置である。図１には、ネットワークＡ２、ネットワークＢ３のそれぞれに存在する「共有メモリ」の内容を他のネットワークに転送するゲートウェイ１が示されている。
【００１５】
ゲートウェイ１には、ネットワークＡ２とネットワークＢ３とが接続されている。ネットワークＡ２には、ゲートウェイ１以外に１つ以上のノード４がネットワークＡ用インタフェース５により接続されている。また、ネットワークＡ２上には、共有メモリＡ６が設けられている。共有メモリＡ６には、ノード４毎に自ノードが更新するエリア（メモリ領域）が割り当てられている。各ノード４は、共有メモリＡ６上の自ノードが更新すべきエリアに対して、ネットワークＡ用インタフェース５内のネットワークＡ送信機能５ｂを用いてデータを書き込む。加えて、各ノード４は、他ノードが更新するエリアのデータをネットワーク用Ａインタフェース５内のネットワークＡ受信機能５ａを用いて読み込む。
【００１６】
同様に、ネットワークＢ３には、ゲートウェイ１以外に１つ以上のノード７がネットワークＢ用インタフェース８により接続されている。また、ネットワークＢ３上には、共有メモリＢ９が設けられている。共有メモリＢ９には、ノード７毎に自ノードが更新するエリアが割り当てられている。各ノード７は、共有メモリＢ９上の自ノードが更新すべきエリアに対して、ネットワークＢ用インタフェース８内のネットワークＢ送信機能８ｂを用いてデータを書き込む。加えて、各ノード７は、他ノードが更新するエリアのデータをネットワークＢ用インタフェース８内のネットワークＢ受信機能８ａを用いて読み込む。
【００１７】
次に、ネットワークＡ、Ｂが、各ネットワークで共有メモリを更新するための共有メモリ用通信の概要について説明する。図２は、例えばＪＩＳ Ｂ３５２１によるＦＬ‐ｎｅｔなどにおける共有メモリ用通信の概念図である。図２は、各ノード上に存在する伝送コモンメモリ上の状態が、共有メモリ用通信により同一化される様子を示している。伝送コモンメモリ上には、各ノード用の領域（出力エリア）が設定されており、各ノードが順番に自ノード用の領域のデータを他ノードに送信する。他ノードからの共有メモリ用通信を受信した各ノードは、自ノード内にある伝送コモンメモリ上の、各ノード用にアサインされている領域に受信したデータを保存する。このようにして、各ノード上の伝送コモンメモリの内容が同一化される。
【００１８】
ゲートウェイ１は、ネットワークＡ２に対してはネットワークＡ用インタフェース５で接続され、ネットワークＢ３に対してはネットワークＢ用インタフェース８で接続されている。ネットワークＡ用インタフェース５とネットワークＢ用インタフェース８は共有メモリ１０で接続されている。ゲートウェイ１は、ネットワークＡ受信機能５ａでネットワークＡ２から受信したデータを共有メモリ１０に書き込み、共有メモリ１０内の他ネットワークから受信したデータを、ネットワークＡ送信機能５ｂでネットワークＡ２に送信している。また同様に、ネットワークＢ受信機能８ａでネットワークＢ３から受信したデータを共有メモリ１０に書き込み、共有メモリ１０内の他ネットワークから受信したデータをネットワークＢ送信機能８ｂでネットワークＢ３に送信している。なお、通常は、ネットワークＡ２からの受信とネットワークＢ３への送信、および、ネットワークＢ３からの受信とネットワークＡ２への送信は非同期に実行される。なお、ゲートウェイ１は、上述のゲートウェイとしての処理を実行するための中央演算装置やメモリを有する処理部（図示省略）を当然に備えている。
【００１９】
上述のゲートウェイ１では、あるネットワークからのデータ受信と、他のネットワークへのデータ送信とは非同期に実行される。ここで、ネットワークＡ２から受信したデータを、ゲートウェイ１内の共有メモリ１０を経由してネットワークＢ３に送信する場合の「受信データの内容」「共有メモリの内容」および「送信データの内容」の関係の例を図３に示す。以下、説明容易のために、ネットワークＡ２を送信元ネットワーク、ネットワークＢ３を送信先ネットワークとして説明する。
【００２０】
図３の例における受信側の処理として、ゲートウェイ１の処理部は、ネットワークＡ２から受信したフレームが受信ｉｄ＝１の受信フレームであった場合、その受信フレーム内のデータを、共有メモリ１０のエリアｉｄ＝１とエリアｉｄ＝２の領域に一旦保存する。同様に、受信ｉｄ＝２の受信フレームであった場合はエリアｉｄ＝３の領域に、受信ｉｄ＝３の受信フレームであった場合はエリアｉｄ＝４の領域に、受信ｉｄ＝４の受信フレームであった場合はエリアｉｄ＝５の領域に、受信ｉｄ＝５の受信フレームであった場合にはエリアｉｄ＝６に、受信ｉｄ＝ｍの受信フレームであった場合にはエリアｉｄ＝ｎ−１とｉｄ＝ｎの領域に、それぞれ一旦保存する。なお、受信ｉｄは、ノード毎に設定してもよいし、ノード上に複数のコントローラがある場合にはコントローラ毎に設定してもよい。
【００２１】
また、図３の例における送信側の処理として、ゲートウェイ１の処理部は、ネットワークＢ３への送信ｉｄ＝１の送信フレームを、エリアｉｄ＝２と同ｉｄ＝３および同ｉｄ＝４から抽出して構成する。同様に、送信ｉｄ＝２の送信フレームをエリアｉｄ＝３と同ｉｄ＝４および同ｉｄ＝５から、送信ｉｄ＝３の送信フレームをエリアｉｄ＝２と同ｉｄ＝５および同ｉｄ＝６から、送信ｉｄ＝ｐの送信フレームをエリアｉｄ＝４と同ｉｄ＝６および同ｉｄ＝ｎから抽出して構成する。
【００２２】
ゲートウェイ１には、送受信定義情報として、図３に示すような受信フレームの識別子と、共有メモリ１０上のエリアと、送信フレームの識別子とが紐付けされた関係が予め記憶されており。ゲートウェイ１の処理部は、この送受信定義情報に従って、上述した送受信処理を実行することができる。
【００２３】
しかしながら、上述のように、送信元ネットワーク（ネットワークＡ２）上の複数のノードが出力した各受信フレーム内のデータを受信し、共有メモリ１０の各エリアに記憶して、受信とは非同期に各エリアに記憶されたデータから送信フレームを構成して送信先ネットワーク（ネットワークＢ３）に送信する場合、次のような問題が生じうる。ゲートウェイ１において、非同期通信のために規定の送信期間（送信周期）を設定する場合には、送信フレームを構成するために必要な受信フレームのデータが揃っている場合であっても、送信期間の経過を待つため、無駄な待ち時間が生じてしまう。一方で、送信期間を短く設定すれば、無駄な待ち時間は低減されるものの、必要な受信フレームをすべて受信する前に送信期間が経過し、更新前の古いデータが送信先ネットワークに送信される頻度が増大してしまう。その結果、送信先ネットワークや送信先ネットワーク上のノードの負荷が不必要に上昇することとなる。前者の具体例を図４に、後者の具体例を図５に示す。
【００２４】
図４は、上述した無駄な待ち時間が生じる場合の具体例を説明するためのタイミングチャートである。図４には、エリアａ、ｂ、ｃのデータを抽出して、送信フレームが構成される場合の例が示されている。図４の例では、送信期間（送信周期）が経過する毎に送信フレームが送信されるところ、送信期間経過前に、エリアａ、ｂ、ｃのデータが全て受信されている。このとき、送信すべきデータは揃っているにも関わらず送信されない時間（無駄時間）が生じてしまう。
【００２５】
図５は、送信先ネットワークや送信先ネットワーク上のノードの負荷が不必要に上昇する場合の具体例を説明するためのタイミングチャートである。図５の例では、送信期間（送信周期）が短く設定されている。送信周期を短く設定することで上述の無駄な待ち時間は小さくなる。しかしながら、この場合には、エリアａ、ｂ、ｃのデータが更新される前に、送信期間が経過してタイムアウトが発生しやすくなる。更新前の古いデータが送信される頻度が増加してしまうため、送信先ネットワークや送信先ネットワーク上のノードの負荷が不必要に上昇することとなる。
【００２６】
［実施の形態１における特徴的構成］
【００２７】
次に、ネットワーク自体やネットワーク上の他ノードの負荷を不必要に上げることなく、ゲートウェイ１における伝送遅延時間を小さくすることができる本実施形態のゲートウェイシステムの特徴的構成について、図６〜図１２を用いて説明する。
【００２８】
本実施形態のゲートウェイシステムは、その特徴的構成として、ゲートウェイ１の処理部の一部として送信条件監視機能１１を備えている（図１）。送信条件監視機能１１は、送信フレーム毎に、送信フレームを構成する為に使用する共有メモリ１０のエリアが更新されたか否かを管理する。
【００２９】
図６は、本発明の実施の形態１のゲートウェイシステムにおけるデータ送信のタイミングチャートであり、条件待ちタイムアウトが発生しない場合の例である。図６には、エリアａ，ｂ，ｃそれぞれのデータ受信についての「受信待」フラグと、「データ送信待」フラグとが設けられ、受信待フラグは、それぞれのエリア受信前にセットされ、エリア受信後にリセットされ、データ送信後に再セットされる例が示されている。データ送信待フラグは、前回送信後にセットされ、受信が必要なエリアの受信待フラグが全てリセットされた時にリセットされ送信が実行された後に再度セットされる。
【００３０】
詳細には、前回の送信が完了する時刻ｔ０において、各受信待フラグ及びデータ送信待フラグをセットする。時刻ｔ１において、エリアａに関するデータが受信されエリアａに保存されると共に、エリアａ受信待フラグがリセットされる。時刻ｔ２において、エリアｃに関するデータが受信されエリアｃに保存されると共に、エリアｃ受信待フラグがリセットされる。時刻ｔ３において、エリアｂに関するデータが受信されエリアｂに保存されると共に、エリアｂ受信待フラグがリセットされる。送信条件監視機能１１は、各受信待フラグがリセットされる際に、全受信待フラグがリセットされているか否かを判定する。全受信待フラグがリセットされている場合には、送信待フラグがリセットされる（時刻ｔ４）。ゲートウェイ１の処理部は、更新されたエリアａ，ｂ，ｃの最新のデータに基づいて送信フレームを構成し送信する。送信後、各受信待フラグ及びデータ送信待フラグがセットされる（時刻ｔ５）。このため、本実施形態のゲートウェイシステムによれば、タイムアウト時間（送信期間）の経過を待たずに、最新のデータに基づいて送信フレームを送信することができる。
【００３１】
図７は、本発明の実施の形態１のゲートウェイシステムにおけるデータ送信のタイミングチャートであり、条件待ちタイムアウトが発生する場合の例である。図７には、タイムアウト時間（送信期間）の経過までにエリアｂのデータを受信しなかった為、タイムアウト処理でデータ送信待フラグがリセットされて送信が実行される例が示されている。
【００３２】
詳細には、前回の送信が完了する時刻ｔ０において、各受信待フラグ及びデータ送信待フラグをセットする。時刻ｔ１において、エリアａに関するデータが受信されエリアａに保存されると共に、エリアａ受信待フラグがリセットされる。時刻ｔ２において、エリアｃに関するデータが受信されエリアｃに保存されると共に、エリアｃ受信待フラグがリセットされる。送信条件監視機能１１は、各受信待フラグがリセットされる際に、全受信待フラグがリセットされているか否かを判定する。全受信待フラグがリセットされていない場合には、次のデータ受信をタイムアウト時間が経過するまで待つ。時刻ｔ３において、タイムアウト時間（送信期間）が経過すると、ゲートウェイ１の処理部は、タイムアウトまでに更新されたエリアａ，ｂ，ｃのデータに基づいて送信フレームを構成し送信する。送信後、各受信待フラグ及びデータ送信待フラグがセットされる（時刻ｔ４）。次回の送信における時刻ｔ５において、エリアｂに関するデータが受信されエリアｂに保存されると共に、エリアｂ受信待フラグがリセットされる。このため、本実施形態のゲートウェイシステムによれば、タイムアウト時間が経過した場合には、タイムアウト時までに受信されたデータに基づいて送信フレームを送信することができる。
【００３３】
次に、上述の動作を実現するために、ゲートウェイ１の処理部が実行する制御ルーチンについて図８〜図１２を用いて説明する。
【００３４】
図８は、図１１に示す処理フローにおいて用いられる「受信時フラグパターン」の例を示す図である。図８に示す受信時フラグパターンは、図３の例に対応しており、各受信フレームを受信した際に更新するエリアに該当するビットは０に、更新しないエリアに該当するビットは１に設定されている。
【００３５】
図９は、図１０〜図１２に示す処理フローにおいて用いられる「送信条件マスクパターン」の例を示す図である。図９に示す送信条件マスクパターンは、図３の例に対応しており、各送信フレームを送信する際に読み出す（使用する）エリアに該当するビットは１に、読み出さない（使用しない）エリアに該当するビットは０に設定されている。
【００３６】
ゲートウェイ１の処理部には、送信元ネットワークから受信する受信フレームの受信ｉｄと共有メモリ１０上の対応エリアとの対応関係、及び、送信先ネットワークへ送信する送信フレームの送信ｉｄと少なくとも１つの受信フレームの受信ｉｄとの対応関係を定めた送受信定義情報が記憶されている。上述した「受信時フラグパターン」及び「送信条件マスクパターン」も送受信定義情報の一部としてゲートウェイ１の処理部に記憶されている。
【００３７】
図１０〜図１２は、上述の図８、図９の各フラグを使用し、送信フレーム毎に「送信条件フラグ」を設け、その「送信条件フラグ」を構成する全ビットが０になった場合に送信可能となる場合における「送信条件フラグの初期化」、「フレーム受信時処理」及び「送信タイムアウト処理」それぞれの処理フローを示している。
【００３８】
図１０は、本発明の実施の形態１における送信条件監視機能１１が実行する「送信条件フラグの初期化」の処理フローを示している。まず、ステップＳ１００において、送信ｉｄのインデックスｉに１が代入される。ステップＳ１０２において、図９に示す送信条件マスクパターンのうち送信ｉｄ＝ｉに対応するパターン（以下、送信条件マスクパターン（ｉ）という。）で、送信条件フラグ（ｉ）を設定する。ステップＳ１０４において、送信ｉｄ＝１についての送信待タイマ（以下、送信待タイマ（ｉ）という。）が規定の送信期間に初期化される。ステップＳ１０６において、インデックスｉにｉ＋１が代入される。その後、ステップＳ１０８において、インデックスｉの値が送信ｉｄ数よりも大きいか否かが判定される。送信ｉｄ数以下である場合には、ステップＳ１０６において、インクリメントされた新たなインデックスｉを用いて、上述したステップＳ１０２以降の処理が実行される。一方、送信ｉｄ数よりも大きい場合には、本フローの処理が終了される。
【００３９】
このように、図１０に示す処理フローによれば、「送信条件フラグ」は、初期化時に「送信条件マスクパターン」と同値に初期化される。
【００４０】
図１１は、本発明の実施の形態１におけるゲートウェイ１の処理部が実行する「フレーム受信時処理」の処理フローを示している。本処理フローは、受信フレームが受信されるごとに実行される。受信ｉｄ＝ｊのフレームが受信された場合、まず、ステップＳ１１０において、上述の送受信定義情報に従って、受信ｉｄに応じた共有メモリ１０上の対応エリアに、受信されたデータが書き込まれる。その後、送信条件監視機能１１により以下の処理が実行される。ステップＳ１１２において、送信ｉｄのインデックスｉに１が代入される。ステップＳ１１４において、図８に示す受信ｉｄ＝ｊの受信フレームの受信時フラグパターン（ｊ）と送信条件フラグ（ｉ）との論理積が算出され、この算出されたビット列で送信条件フラグ（ｉ）が更新される。ステップＳ１１６において、送信条件フラグ（ｉ）の全ビットが０であるか否かが判定される。送信条件フラグ（ｉ）の全ビットが０である場合には、ステップＳ１１８において、送信ｉｄ＝ｉの送信フレームを送信する。ステップＳ１２０において、送信条件マスクパターン（ｉ）が送信条件フラグ（ｉ）に設定される。この処理により、送信条件フラグ（ｉ）が初期化され、次回の送信に備えることができる。ステップＳ１２２において、送信待タイマ（ｉ）が規定の送信時間に初期化される。ステップＳ１２４において、インデックスｉにｉ＋１が代入される。その後、ステップＳ１２６において、インデックスｉの値が送信ｉｄ数よりも大きいか否かが判定される。送信ｉｄ数以下である場合には、ステップＳ１２４でインクリメントされた新たなインデックスｉを用いて、上述したステップＳ１１４以降の処理が実行される。一方、送信ｉｄ数よりも大きい場合には、本フローの処理が終了される。なお、上述したステップＳ１１６において、送信条件フラグ（ｉ）のいずれかのビットが０でない場合には、未だ送信条件が成立していないと判断し、ステップＳ１２４以降の処理が実行される。
【００４１】
このように、図１１に示す処理フローによれば、何らかの受信フレームを受信するごとに、「送信条件フラグ」は、それ自身と受信フレームの「受信時フラグパターン」との、論理積をとった値に更新される。このようにすることで、送信フレームが使用する全てのエリアを更新する受信フレームが受信された時点で「送信条件フラグ」の全ビットが０（送信条件が成立）となる。そのため、規定の送信期間の経過を待つことなく、送信フレームを構成し、送信することができる。
【００４２】
図１２は、本発明の実施の形態１におけるゲートウェイ１の処理部が実行する「送信タイムアウト処理」の処理フローを示している。本処理フローは、送信ｉｄ＝ｉごとに設定された送信待ちタイマ（ｉ）の送信期間が経過して、タイムアウトが発生した場合に実行される。送信ｉｄ＝ｉの送信待ちタイムアウトが発生した場合、ステップＳ１２８において、送信ｉｄ＝ｉの送信フレームが送信される。ステップＳ１３０において、送信条件マスクパターン（ｉ）が送信条件フラグ（ｉ）に設定される。この処理により、送信条件フラグ（ｉ）が初期化され、次回の送信に備えることができる。ステップＳ１３２において、送信待タイマ（ｉ）が規定の送信時間に初期化される。その後、本フローの処理が終了される。
【００４３】
このように、図１２に示す処理フローによれば、伝送路の障害などで一部のデータ受信が抜けた場合であっても、前回送信時からの時間経過により送信フレームを送信することができる。
【００４４】
以上説明したように、本実施形態のゲートウェイシステムによれば、受信フレームが受信されるごとに、受信時フラグパターンと送信条件フラグとの論理積をとって、送信フレームの構成に必要なすべての受信フレームが受信されたか否か（送信条件）を判定し、送信条件が成立した場合には、送信期間の経過を待たずに送信フレームを構成し送信することができる。そのため、送信先ネットワークおよび送信先ネットワーク上のノードの負荷を不必要に上げることなく、ゲートウェイシステムとしての伝送遅延時間を小さくすることが可能となる。また、伝送路上の障害などによりデータの一部が受信できなかった場合であっても、送信期間の経過により正常に受信した部分のデータを送信することができる。
【００４５】
ところで、上述した実施の形態１のシステムにおいて、図１では、ネットワークを２系統としているが、３系統以上存在しても良い。また、図３では、受信ｉｄ数＜エリアｉｄ数となるように記載しているが、受信ｉｄ＝エリアｉｄとなるように受信データを共有メモリ１０に書き込むこととしても良い。また、図３では、送信時に共有メモリ１０から複数のエリアを抽出するように記載しているが、送信時には連続領域となるように受信データを分割して書き込むようにしても良い。なお、これらの点は以下の実施の形態でも同様である。
【００４６】
実施の形態２．
［実施の形態２のシステム構成］
次に、図１３〜図１８を参照して本発明の実施の形態２について説明する。本実施形態のゲートウェイシステムは、上述した図１〜図３に示す構成において、ゲートウェイ１に後述する図１６〜図１８のルーチンを実施させることで実現することができる。
【００４７】
［実施の形態２における特徴的制御］
まず、図１６〜図１８に示す処理フローで用いられる「データ受信時カウンタ」、「使用エリアテーブル」及び「データ送信時カウンタテーブル」について図１３〜図１５を用いて説明する。
【００４８】
図１３は、図１６〜図１８に示す処理フローにおいて用いられる「データ受信時カウンタ」の例を示す図である。「データ受信時カウンタ」は、共有メモリ１０のエリアのデータ更新を管理するために用いられる。各エリアｉｄに対応するカウンタ値は、ゲートウェイ１の初期化時に一定の初期値に初期化され、受信フレームを受信するたびに、各受信フレームが更新するエリアのエリアｉｄに対応するカウンタ値がインクリメントされる。
【００４９】
図１４と図１５は、共に、図１６〜図１８に示す処理フローにおいて用いられる「使用エリアテーブル」と「データ送信時カウンタテーブル」が示す図である。これらのテーブルは、送信エリアの状態を管理するために用いられる。なお、「データ送信時カウンタテーブル」はゲートウェイ１の初期化時に一定の初期値に初期化される。
【００５０】
図１４では、「使用エリアテーブル」として送信フレーム毎に実際に使用するエリアのエリアｉｄそのものを抽出してテーブル化している。また、「データ送信時カウンタテーブル」として送信フレーム毎に「使用エリアテーブル」に対応した並びで各エリアのカウンタ値を保存する例を示している。
【００５１】
図１５では、図１４と異なる方式であり、図１６〜図１８に示す処理フローでは、いずれかの方式を選択することができる。「使用エリアテーブル」として送信フレーム毎に各エリアを各送信フレームが実際に使用するか否かをテーブル化している。また、「データ送信時カウンタテーブル」として送信レーム毎に「使用エリアテーブル」に対応した並びで各エリアのカウンタ値を保存する例を示している。
【００５２】
ゲートウェイ１の処理部には、送信元ネットワークから受信する受信フレームの受信ｉｄと共有メモリ１０上の対応エリアとの対応関係、及び、送信先ネットワークへ送信する送信フレームの送信ｉｄと少なくとも１つの受信フレームの受信ｉｄとの対応関係を定めた送受信定義情報が記憶されている。上述した「データ受信時カウンタ」、「使用エリアテーブル」及び「データ送信時カウンタテーブル」も送受信定義情報の一部としてゲートウェイ１の処理部に記憶されている。
【００５３】
図１６〜図１８は、受信時に「データ受信時カウンタ」を更新し、周期的に「使用エリアテーブル」及び「データ送信時カウンタテーブル」により送信条件が成立したか否かを確認する場合における「フレーム受信処理」「送信条件確認処理」「送信待ちタイムアウト処理」それぞれの処理フローを示している。
【００５４】
図１６は、本発明の実施の形態２におけるゲートウェイ１の処理部が実行する「フレーム受信処理」の処理フローを示している。本処理フローは、受信フレームが受信されるごとに実行される。受信ｉｄ＝ｊのフレームが受信された場合、まず、ステップＳ２００において、上述の送受信定義情報に従って、受信ｉｄに応じた共有メモリ１０上の対応エリアに、受信されたデータが書き込まれる。その後、送信条件監視機能１１により以下の処理が実行される。ステップＳ２０２において、エリアｉｄのインデックスｋに１が代入される。ステップＳ２０４において、上述の送受信定義情報に基づいて、受信ｉｄ＝ｊがエリアｉｄ＝ｋを更新するか否かが判定される。ステップＳ２０４の判定条件が成立する場合には、ステップＳ２０６において、「データ受信時カウンタ」中のエリアｉｄ＝ｋのカウンタ値がインクリメントされる。ステップＳ２０８において、インデックスｋにｋ＋１が代入される。その後、ステップＳ２１０において、インデックスｋの値がエリアｉｄ数よりも大きいか否かが判定される。エリアｉｄ数以下である場合には、ステップＳ２０８でインクリメントされた新たなインデックスｋを用いて、上述したステップＳ２０４以降の処理が実行される。一方、エリアｉｄ数よりも大きい場合には、本フローの処理が終了される。なお、上述したステップＳ２０４において、判定条件が成立しない場合には、エリアｉｄ＝ｋのエリアのデータは更新されないと判断し、ステップＳ２０８以降の処理が実行される。
【００５５】
このように、図１６に示す処理フローによれば、何らかの受信フレームを受信するごとに、「データ受信時カウンタ」を更新することができる。
【００５６】
図１７は、本発明の実施の形態２における送信条件監視機能１１が実行する「送信条件確認処理」の処理フローを示している。本処理フローは、送信待ちタイマに設定される送信期間よりも短い周期で周期的に実行される。まず、ステップＳ２１２において、送信ｉｄのインデックスｉに１が代入される。ステップＳ２１４において、送信ｉｄ＝ｉが使用する全エリアの「データ受信時カウンタ」が、更新済であるか否かが判定される。具体的には、まず、送信ｉｄ＝ｉ用の「使用エリアテーブル」から全使用エリアｉｄが取得される。次に、送信ｉｄ＝ｉ用の「データ送信時カウンタテーブル」上の各使用エリアｉｄのカウンタ値が、「データ受信時カウンタ」上の対応するエリアｉｄのカウンタ値よりも小さいか否かが判定される。小さい場合には「データ受信時カウンタ」は更新済であると判定される。ステップＳ２１４において判定条件が成立する場合には、ステップＳ２１６において、送信ｉｄ＝ｉの送信フレームが送信される。その後、ステップＳ２１８において、送信ｉｄ＝ｉが使用する全使用エリアの「データ送信時カウンタテーブル」に、対応する「データ受信時カウンタ」の各エリアのカウンタ値を再セットする。送信ｉｄ＝ｉが使用する全使用エリアについて「データ送信時カウンタテーブル」のカウンタ値に、対応する「データ受信時カウンタ」の各エリアのカウンタ値を再セットする。ステップＳ２２０において、送信待タイマ（ｉ）が規定の送信時間に初期化される。ステップＳ２２２において、インデックスｉにｉ＋１が代入される。その後、ステップＳ２２４において、インデックスｉの値が送信ｉｄ数よりも大きいか否かが判定される。送信ｉｄ数以下である場合には、ステップＳ２２２でインクリメントされた新たなインデックスｉを用いて、上述したステップＳ２１４以降の処理が実行される。一方、送信ｉｄ数よりも大きい場合には、本フローの処理が終了される。なお、上述したステップＳ２１４において、判定条件が成立しない場合には、未だ送信に必要なすべての受信フレームが受信されていないと判断し、ステップＳ２２０以降の処理が実行される。
【００５７】
このように、図１７に示す処理フローによれば、送信待ちタイマに設定される送信期間よりも短い周期で周期的に、送信フレーム毎に「使用エリアテーブル」により使用するエリアに対して「受信時カウンタ」と「データ送信時カウンタテーブル」の差を確認し、チェック対象エリア全てで差があった場合に、送信フレームを送信することができる。
【００５８】
図１８は、本発明の実施の形態２におけるゲートウェイ１の処理部が実行する「送信待ちタイムアウト処理」の処理フローを示している。本処理フローは、送信ｉｄ＝ｉごとに設定された送信待ちタイマ（ｉ）の送信期間が経過して、タイムアウトが発生した場合に実行される。送信ｉｄ＝ｉの送信待ちタイムアウトが発生した場合、ステップＳ２２６において、送信ｉｄ＝ｉの送信フレームが送信される。ステップＳ２２８において、送信ｉｄ＝ｉが使用する全使用エリアについて「データ送信時カウンタテーブル」のカウンタ値に、対応する「データ受信時カウンタ」の各エリアのカウンタ値を再セットする。この処理により、「データ送信時カウンタテーブル」が再初期化され、次回の送信に備えることができる。ステップＳ２３０において、送信待タイマ（ｉ）が規定の送信時間に初期化される。その後、本フローの処理が終了される。
【００５９】
このように、図１８に示す処理フローによれば、伝送路の障害などで一部のデータ受信が抜けた場合であっても、前回送信時から時間経過により送信フレームを送信することができる。
【００６０】
以上説明したように、本実施形態のゲートウェイシステムによれば、受信フレームを受信して共有メモリに記憶する処理（図１６）と独立して、送信フレームを送信する送信条件が成立した否かを、送信待ちタイマに設定される送信期間よりも短い周期で周期的に判定することができる（図１７）。送信条件を判定する処理は、送信条件監視機能１１の内部で高速に処理される。そのため、送信先ネットワークおよび送信先ネットワーク上のノードの負荷を不必要に上げることなく、ゲートウェイシステムとしての伝送遅延時間を小さくすることが可能となる。また、伝送路上の障害などによりデータの一部が受信できなかった場合であっても、送信期間の経過により正常に受信した部分のデータを送信することができる。
【００６１】
実施の形態３．
次に、本発明の実施の形態３について説明する。本発明の実施の形態３の構成は、図１９に示す「エリア対応テーブル」を有する点を除いて本発明の実施の形態１で述べた構成と略同様である。
【００６２】
図１９は、送信条件監視機能１１における「エリア対応テーブル」の例を示す図である。「エリア対応テーブル」には、各エリアｉｄに対応する情報として、先頭アドレスとサイズ、先頭アドレスと最終アドレス、先頭アドレスブロックとブロック数、先頭アドレスブロックと最終アドレスブロックなど、各エリアのアドレス範囲を判別できるアドレス情報がテーブル化されている。「エリア対応テーブル」によれば、各エリアｉｄからそれぞれのアドレス情報を取得することができる。また、アドレス情報から対応するエリアｉｄを取得することもできる。
【００６３】
また、ゲートウェイ１の処理部には、「エリア対応テーブル」に加え、送信先ネットワークへ送信する送信フレームの送信ｉｄと送信元ネットワークから受信する少なくとも１つの受信フレームに含まれる共有メモリ１０のアドレス情報との対応関係を定めた送受信定義情報が記憶されている。
【００６４】
本実施形態のゲートウェイシステムでは、受信フレーム中に、共有メモリ１０のアドレス情報が格納されており、受信フレーム内のデータを、当該アドレス情報に従って共有メモリ１０に記憶させることができる。また、「エリア対応テーブル」から受信フレーム中のアドレス情報に対応するエリアｉｄを取得することができる。さらに、上述の送受信定義情報から、送信フレームを構成するために必要とされる共有メモリ１０のアドレス情報を取得できるため、当該アドレス情報から「エリア対応テーブル」を用いてエリアｉｄを取得することができる。このようにエリアｉｄの情報を適切に得ることできるため、その後は、実施の形態１と同様の各種フラグや処理フローを用いて、受信フレームを受信する度に送信条件の判定を行うことができる。そのため、本実施形態のゲートウェイシステムによれば、本発明の実施の形態１のゲートウェイシステムと同様の効果を得ることができる。
【００６５】
実施の形態４．
次に、本発明の実施の形態４について説明する。本発明の実施の形態４の構成は、上述した図１９に示す「エリア対応テーブル」を有する点を除いて本発明の実施の形態２で述べた構成と略同様である。
【００６６】
上述した図１９に示す「エリア対応テーブル」に加え、ゲートウェイ１の処理部には、送信先ネットワークへ送信する送信フレームの送信ｉｄと少なくとも１つの送信元ネットワークから受信する受信フレームに含まれる共有メモリ１０のアドレス情報との対応関係を定めた送受信定義情報が記憶されている。
【００６７】
本実施形態のゲートウェイシステムでは、受信フレーム中に、共有メモリ１０のアドレス情報が格納されており、受信フレーム内のデータを、当該アドレス情報に従って共有メモリ１０に記憶させることができる。また、「エリア対応テーブル」から受信フレーム中のアドレス情報に対応するエリアｉｄを取得することができる。さらに、上述の送受信定義情報から、送信フレームを構成するために必要とされる共有メモリ１０のアドレス情報を取得できるため、当該アドレス情報から「エリア対応テーブル」を用いてエリアｉｄを取得することができる。このようにエリアｉｄの情報を適切に得ることできるため、その後は、実施の形態２と同様の各種テーブルや処理フローを用いて、周期的に送信条件の判定を行うことができる。そのため、本実施形態のゲートウェイシステムによれば、本発明の実施の形態１のゲートウェイシステムと同様の効果を得ることができる。
【００６８】
実施の形態５．
次に、本発明の実施の形態５について説明する。本実施形態のゲートウェイシステムでは、図９に示す「送信条件マスクパターン」に設定されるエリアｉｄや、図１４に示す「使用エリアテーブル」に設定されるエリアｉｄを、送信先ネットワークのノードが制御情報として必要とするエリアｉｄに限定して設定する点に特徴を有する。例えば、「送信条件マスクパターン」や「使用エリアテーブル」の設定を静的に変更する機能を有することにより実現することができる。
【００６９】
送信先ネットワークのノードにおいて制御上必要とするエリアｉｄに限定して設定することにより、重要度が低いステータス情報などの受信フレームを待つことなく、重要度が高い制御情報のみに基づく送信フレームを早期に送信することが可能となる。
【００７０】
実施の形態６．
［実施の形態６のシステム構成］
次に、図２０〜図２６を参照して本発明の実施の形態６について説明する。本実施形態のゲートウェイシステムは図２０に示す構成において、ゲートウェイ１に後述する図２５〜図２６のルーチンを実施させることで実現することができる。他の構成は本発明の実施の形態１で述べた構成と略同様である。
【００７１】
図２０は、本発明の実施の形態６に係るネットワーク通信システムの構成を説明するためのブロック図である。図２０に示すネットワーク通信システムは、その特徴的構成として、ゲートウェイ１の処理部の一部として、ヘルシーノード管理機能１２を備えている点を除き、図１に示す構成と同様である。ヘルシーノード管理機能１２は、送信元ネットワークのノード状態に応じて動的に送信フレームの送信条件を変更（送信フレームの構成に必要な受信フレームを変更）することができる機能である。なお、ゲートウェイ１の処理部には、実施の形態１で述べた送受信定義情報が記憶されている。
【００７２】
［実施の形態６における特徴的制御］
図２１は、本発明の実施の形態６のゲートウェイシステムにおけるデータ送信のタイミングチャートである。図６と共通する説明については省略する。図２１には、ヘルシーノード管理機能１２がエリアｂのデータの送信元ノードのダウンを検出している場合が示されている。この場合、全送信元ノードが正常な場合ならエリアａ、ｂ、ｃ全てのデータ受信を送信条件とするが、エリアｂのデータの送信元ノードのダウン検出時には動的に「エリアｂ」を送信条件から外していることを示している。
【００７３】
図２２は、本発明の実施の形態６のゲートウェイシステムにおけるデータ送信のタイミングチャートである。図７と共通する説明については省略する。図２２には、ヘルシーノード管理機能１２が、エリアａ、ｂ、ｃ全ての送信元ノードのダウンを検出している場合が示されている。この場合、送信に必要なエリアに対するデータ受信が全く発生しない。そのため、受信によるエリア更新が全く発生せず、タイムアウトによるデータ送信のみが行われることとなる。
【００７４】
次に、上述の動作を実現するために、ゲートウェイ１の処理部が実行する制御ルーチンについて図２３〜図２６を用いて説明する。
【００７５】
図２３は、図２５に示す処理フローにおいて用いられる「送信元フラグパターン」の例を示す図である。「送信元フラグパターン」は、送信元ノードの状態を管理するために用いられる。図２３に示す「送信元フラグパターン」では、送信元ノード毎に更新するエリアに該当するビットは１に、更新しないエリアに該当するビットは０に設定されている。
【００７６】
図２４は、図２５〜図２６に示す処理フローにおいて用いられる「ヘルシーノードマスクパターン」の例を示す図である。「ヘルシーノードマスクパターン」は、送信条件の確認を行う時点毎にヘルシーノード群（ノード状態がヘルシーである送信元ノード全体）が更新するエリアを区別するために用いられる。送信元ノードがヘルシー（エリア更新が期待できる）であるエリアに該当するビットは１に、送信元ノードがダウン（エリア更新が期待できない）であるエリアに該当するビットは０に設定されている。
【００７７】
図２５は、本発明の実施の形態６におけるヘルシーノード管理機能１２が実行する「ヘルシーノードマスクパターン」を生成する処理フローを示している。この処理は、規定のヘルシーノード確認タイミング毎に実行される。まず、ステップＳ６００において、図２４に示す「ヘルシーノードマスクパターン」の全ビットに０が設定される。ステップＳ６０２において、送信元ノードの送信元ｉｄを示すインデックスｉに１が代入される。ステップＳ６０４において、ノードｉがヘルシーであるか否かが判定される。ノードｉがヘルシーであるか否かは、ノードｉから出力される受信フレームが一定期間受信されていないことを検出して判定することができる。ステップＳ６０４において、ノードｉがヘルシーであると判定される場合には、ステップＳ６０６において、「ヘルシーノードマスクパターン」と図２３に示す送信元ｉｄ＝１の「送信元フラグパターン」との論理和が算出され、この算出されたビット列で「ヘルシーノードマスクパターン」が更新される。ステップＳ６０８において、インデックスｉにｉ＋１が代入される。その後、ステップＳ６１０において、インデックスｉの値が送信元ノード数よりも大きいか否かが判定される。送信元ノード数以下である場合には、ステップＳ６０８でインクリメントされた新たなインデックスｉを用いて、上述したステップＳ６０４以降の処理が実行される。一方、送信元ノード数よりも大きい場合には、本フローの処理が終了される。なお、上述したステップＳ６０４において、ノードｉがヘルシーでない場合には、そのノードｉはダウンしていると判断して、ステップＳ６００で当該ビットが０（ダウン）に設定されたまま、ステップＳ６０８以降の処理が実行される。
【００７８】
このように、図２５に示す処理フローによれば、「ヘルシーノードマスクパターン」を、状態がヘルシーである送信元ノードの「送信元フラグパターン」との論理和に基づいて生成することができる。
【００７９】
図２６は、本発明の実施の形態６におけるゲートウェイ１の処理部が、「ヘルシーノードマスクパターン」を使用して送信条件の成否を確認するための処理フローを示している。本処理フローは、受信フレームが受信されるごとに実行される。本処理フローは、ステップＳ１１４の処理がステップＳ６１２に置き換えられている点を除き、図１１に示す処理フローと同様である。以下、図２６において、図１１に示すステップと同一のステップについては、同一の符号を付してその説明を省略または簡略する。
【００８０】
本処理フローでは、ステップＳ１１２の処理後、ステップＳ６１２において、図８に示す受信ｉｄ＝ｊの受信フレームの受信時フラグパターン（ｊ）と送信条件フラグ（ｉ）と「ヘルシーノードマスクパターン」との論理積が算出され、この算出されたビット列で送信条件フラグ（ｉ）が更新される。その後、ステップＳ１１６以降の処理が実行される。
【００８１】
図２６に示す処理フローによれば、状態がダウン（ビット値が０）である送信元ノードが更新するエリアを、送信条件フラグから除外することができる。送信条件フラグから除外されることで、当該エリアの更新を待たずに送信フレームを送信することができる。本実施形態のゲートウェイシステムによれば、積極的に送信元ノードの状態を管理して、データ出力を期待できないノードを除外し、タイムアウトを待たずに送信フレームを送信することができるため、伝送遅延時間を小さくすることできる。
【００８２】
実施の形態７．
［実施の形態７のシステム構成］
次に、図２７〜図２９を参照して本発明の実施の形態７について説明する。本実施形態のシステムは、上述した図２０に示す構成において、ゲートウェイ１に後述する図２９のルーチンを実施させることで実現することができる。他の構成は本発明の実施の形態２で述べた構成と略同様である。
【００８３】
図２０に示すネットワーク通信システムは、その特徴的構成として、ゲートウェイ１の処理部の一部として、ヘルシーノード管理機能１２を備えている点を除き、図１に示す構成と同様である。ヘルシーノード管理機能１２は、送信元ネットワークのノード状態に応じて動的に送信フレームの送信条件を変更（送信フレームの構成に必要な受信フレームを変更）することができる機能である。なお、ゲートウェイ１の処理部には、実施の形態２で述べた送受信定義情報が記憶されている。
【００８４】
［実施の形態７における特徴的制御］
図２７は、図２９に示す処理フローにおいて用いられる「送信元エリアテーブル」の例を示す図である。「送信元エリアテーブル」は、共有メモリ１０の各エリアを更新する送信元ノードを管理するために用いられる。「送信元エリアパターン」には、エリアｉｄ毎に、そのエリアを更新するデータの送信元ｉｄがセットされている。
【００８５】
図２８は、図２９に示す処理フローにおいて用いられる「ヘルシーエリアテーブル」の例を示す図である。「ヘルシーエリアテーブル」は、共有メモリ１０の各エリアを更新する送信元ノードがヘルシーか否かを管理するために用いられる。「ヘルシーエリアテーブル」には、エリアｉｄ毎に、そのエリアを更新するデータの送信元がヘルシーであるか否かがセットされている。「ヘルシーエリアテーブル」には、ヘルシーノード確認タイミング毎にその時点における各送信元ノード状態が反映される。
【００８６】
図２９は、本発明の実施の形態７におけるゲートウェイ１の処理部が、「送信元エリアテーブル」と「ヘルシーエリアテーブル」を使用して送信条件の成否を確認するための処理フローを示している。本処理フローは、受信フレームが受信されるごとに実行される。この処理フローは、本処理フローは、送信待ちタイマに設定される送信期間よりも短い周期で周期的に実行される。本処理フローは、ステップＳ７００〜ステップＳ７１２の処理が、ステップＳ２１４の処理に置き換えられている点を除き、図１７に示す「送信条件確認処理」の処理フローと同様である。以下、図２９において、図１７に示すステップと同一のステップについては、同一の符号を付してその説明を省略または簡略する。
【００８７】
図２９に示す処理フローでは、ステップＳ２１２の処理後、ステップＳ７００において、エリアｉｄのインデックスｊに１が代入される。ステップＳ７０２において、エリアｉｄ＝ｊは送信ｉｄ＝ｉが使用するエリアであるか否か判定される。ステップＳ７０２の判定条件が成立する場合には、ステップＳ７０４において、エリアｉｄ＝ｊがヘルシーであるか否かが判定される。エリアｉｄ＝ｊがヘルシーである場合には、ステップＳ７０６において、エリアｉｄ＝ｊのデータが更新済みであるか否かが判定される。エリアｉｄ＝ｊのデータが更新済みである場合には、ステップＳ７０８において、インデックスｊにｊ＋１が代入される。その後、ステップＳ７１０において、インデックスｊの値がエリアｉｄ数よりも大きいか否かが判定される。エリアｉｄ数よりも大きい場合には、ステップＳ７１２において、ヘルシーノードがあったか否かが判定される。ヘルシーノードがあったと判定される場合には、上述したステップＳ２１６以降の処理が実行される。なお、上述したステップＳ７０２又はＳ７０４における判定条件が成立しない場合には、ステップＳ７０８以降の処理が実行される。また、ステップＳ７１０でインデックスｊの値がエリアｉｄ数以下であると判定される場合には、ステップＳ７０８でインクリメントされた新たなインデックスｊを用いて、上述したステップＳ７０２以降の処理が実行される。
【００８８】
本実施形態のゲートウェイシステムによれば、実施の形態２の効果に加えて、データ出力を期待できないノードについては送信条件から除外して、タイムアウトを待たずに送信フレームを送信することができるため、伝送遅延時間を小さくすることできる。
【符号の説明】
【００８９】
１  ゲートウェイ
２  ネットワークＡ
３  ネットワークＢ
４、７  ノード
５  ネットワークＡ用インタフェース
５ａ  ネットワークＡ受信機能
５ｂ  ネットワークＡ送信機能
８  ネットワークＢ用インタフェース
８ａ  ネットワークＢ受信機能
８ｂ  ネットワークＢ送信機能
６、９、１０  共有メモリ
１１  送信条件監視機能
１２  ヘルシーノード管理機能
【図１】
0005482671.tif 000002
【図２】
0005482671.tif 000003
【図３】
0005482671.tif 000004
【図４】
0005482671.tif 000005
【図５】
0005482671.tif 000006
【図６】
0005482671.tif 000007
【図７】
0005482671.tif 000008
【図８】
0005482671.tif 000009
【図９】
0005482671.tif 000010
【図１０】
0005482671.tif 000011
【図１１】
0005482671.tif 000012
【図１２】
0005482671.tif 000013
【図１３】
0005482671.tif 000014
【図１４】
0005482671.tif 000015
【図１５】
0005482671.tif 000016
【図１６】
0005482671.tif 000017
【図１７】
0005482671.tif 000018
【図１８】
0005482671.tif 000019
【図１９】
0005482671.tif 000020
【図２０】
0005482671.tif 000021
【図２１】
0005482671.tif 000022
【図２２】
0005482671.tif 000023
【図２３】
0005482671.tif 000024
【図２４】
0005482671.tif 000025
【図２５】
0005482671.tif 000026
【図２６】
0005482671.tif 000027
【図２７】
0005482671.tif 000028
【図２８】
0005482671.tif 000029
【図２９】
0005482671.tif 000030