(57)【要約】【課題】  マルチキャスト通信は全てのノードにデータが配信されるので、ネットワークスイッチを用いたシステムでは、ルート近くのネットワークスイッチに大量のパケットが集中し、大きな負荷が発生してパケットロスが発生してしまうという課題を解決する。【解決手段】  特定の送信元からのパケットを受信すると送信を開始する自律ノードを用い、スケジュール設定装置を用いて、全ての自律ノードに、重複した送信が発生しないように前記送信元を設定する。ネットワークスイッチが処理するパケットは常に１つになるので、ネットワークスイッチの負荷が軽減され、かつパケットロスを避けることができる。【選択図】                    図１
2009105604.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャスト通信を用いて定周期通信を行うネットワークシステムにおいて、
設定された条件を満たすパケットを受信すると送信を開始する複数の自律ノードと、
前記自律ノードに送信開始条件を設定するスケジュール設定装置と、
を具備したことを特徴とするネットワークシステム。
【請求項２】
前記設定された条件は、特定の発信元から送信されたパケットであることを特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記自律ノードは、
送信すべきデータを一時的に保存する送信キューと、
受信したパケットが設定された条件に合致するかどうかを判別するフィルタと、
このフィルタによって起動され、タイムアップしたときに前記送信キューに送信を指令するタイマと、
を具備したことを特徴とする請求項１若しくは請求項２記載のネットワークシステム。
【請求項４】
伝送経路を設定するネットワークスイッチを具備したことを特徴とする請求項１乃至請求項３いずれかに記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネット（登録商標）とＴＣＰ／ＩＰ(Transmission Control Protocol / Internet Protocol)を利用し、マルチキャスト通信による定周期通信を効率的に行うことができるネットワークシステムに関するものである。
【背景技術】
【０００２】
多数のフィールド機器を有する制御システムは、ＦＦ機能ブロックで構成される。ＦＦ(Foundation Fieldbus)機能ブロックとは、ＰＩＤ制御機器やアナログ入出力センサを含むフィールド機器と制御装置で構成されるブロックのことを言う。このＦＦ機能ブロックを連携動作させるためには、スケジュール化された通信が必要である。図５にこのようなスケジュール化された通信を行うことができるシステムの構成を示す。
【０００３】
図５において、１０はＬＡＳ(Link Active Scheduler)、１１はフィールド機器に代表されるデバイスであり、これらはバス１２で接続されている。ＬＡＳ１０はスケジュール化された通信を行う機能を有している。また、デバイス１１はデータを送信するパブリッシャ、データを受信するサブスクライバの両方の機能を有している。
【０００４】
制御システムでは、一定周期で通信を繰り返す定周期通信が行われる。スケジュール化された通信を行う時間になると、ＬＡＳ１０はパブリッシャにＣＤ(データ要求)を送信する。パブリッシャはＣＤを受信すると、直ちにデータバッファに保存されているデータを送信する。
【０００５】
ＣＤおよびデータはマルチキャストで送信される。サブスクライバはパブリッシャが送信したデータを受信し、自身のバッファに保存する。また、サブスクライバはＣＤを受信すると、パブリッシャがデータを送信することを予測することができる。
【０００６】
一般に、フィールドバスを用いたフィールドバスシステムでは、制御の中心になる少数のコンピュータと、大きいシステムでは数千、数万の小規模なフィールド機器で構成される。イーサネット（登録商標）等を用いたネットワークでは、多数のノードの接続にはネットワークスイッチを用いる。
【０００７】
図６に、ネットワークスイッチを用いたシステムの構成を示す。ネットワークスイッチは１つの入力ポートと複数の出力ポートを有し、入力ポートから入力されたデータを選択して出力ポートの１つに出力するスイッチである。
【０００８】
図６において、１３はネットワークスイッチであり、階層的に配置されている。この階層構造の最下位ネットワークスイッチの出力ポートにノード１４が接続されている。ネットワークスイッチ１３を制御することにより、特定のノード１４にデータを出力することができる。このようにして、多数のデバイスを含むネットワークのトポロジを階層化し、ネットワーク全体の負荷を下げるようにしている。なお、ノード１４は図５のデバイス１１と同じものと考えてよい。
【０００９】
【特許文献１】特開平０７−１８２２９３号公報
【特許文献２】特開２０００−０３６８２５号公報
【特許文献３】特開２００５−１２４２０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、このようなフィールドバスシステムには次のような課題があった。ネットワークスイッチを用いた構成は、各ノードの通信が１対１のユニキャスト通信の場合にはネットワークの負荷を下げる効果的な手段である。しかし、図５で説明したシステムでは、ＴＣＰ／ＩＰを用いたマルチキャスト通信を行わなければならない。
【００１１】
マルチキャスト通信は、途中にネットワークスイッチが入っているか否かに関わらず、全てのノードにデータが配信される。そのため、一定周期で通信を行う定周期通信では、ネットワークのルートに近いネットワークスイッチに大量のパケットが集中するために大きな負荷が発生し、最悪の場合はパケットロスが発生するという課題があった。
【００１２】
従って本発明の目的は、ＴＣＰ／ＩＰを用い、マルチキャスト通信を使用した定周期通信を効率的に行うことができるネットワークシステムを提供することにある。
【課題を解決するための手段】
【００１３】
このような課題を解決するために、本発明のうち請求項１記載の発明は、
マルチキャスト通信を用いて定周期通信を行うネットワークシステムにおいて、
設定された条件を満たすパケットを受信すると送信を開始する複数の自律ノードと、
前記自律ノードに送信開始条件を設定するスケジュール設定装置と、
を具備したものである。通信効率が高くなり、かつパケットロスが発生しない。
【００１４】
請求項２記載の発明は、請求項１記載の発明において、
前記設定された条件を、特定の発信元から送信されたパケットであるとしたものである。送信タイミングを厳密に規定できる。
【００１５】
請求項３記載の発明は、請求項１若しくは請求項２記載の発明において、
前記自律ノードは、送信すべきデータを一時的に保存する送信キューと、
受信したパケットが設定された条件に合致するかどうかを判別するフィルタと、
このフィルタによって起動され、タイムアップしたときに前記送信キューに送信を指令するタイマと、
を具備したものである。送信タイミングを厳密に規定できる。
【００１６】
請求項４記載の発明は、請求項１乃至請求項３いずれかに記載の発明において、
伝送経路を設定するネットワークスイッチを具備したものである。マルチキャスト通信が不得意なネットワークスイッチを用いたシステムにおいて特に効果が大きい。
【発明の効果】
【００１７】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２、３および４の発明によれば、送信すべきデータを一時的に保存し、特定の条件を満たすパケットを受信すると送信を開始する自律ノードを用い、この特定の条件をスケジュール設定装置を用いて予め設定するようにした。
【００１８】
全ての自律ノードの送信タイミングを厳密に管理することができ、かつ送信パケットの重複がないことが保証される。すなわち、マルチキャスト通信でありながら、一度に処理すべきパケットは常に１パケットになる。そのため、通信負荷が軽減され、かつ原理的にパケットロスが発生しないという効果がある。
【００１９】
さらに、マルチキャスト通信を行っても一度に送信されるパケットは１つになるので、マルチキャスト通信が不得意なネットワークスイッチを用いたネットワークシステムにおいて特に効果が大きい。
【発明を実施するための最良の形態】
【００２０】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るネットワークシステムの一実施例を示す構成図である。なお、図６と同じ要素には同一符号を付し、説明を省略する。この実施例でもネットワークスイッチ１３を用いて階層化を行っている。図１において、２０はスケジュール設定装置、２１は自律ノードである。自律ノード２１は自身で通信制御を行うことができる装置であり、図５のデバイス１１に相当する機能を有する。
【００２１】
スケジュール設定装置２０は、ネットワークスイッチ１３の１つに接続される。スケジュール設定装置２０は定周期通信における自律ノード２１の送信タイミングを規定する条件を設定する。このタイミングには、例えば特定の送信元から送信されたパケットを受信したときに送信を開始する等がある。自律ノード２１は、送信すべきデータを一時的に保存しておき、設定された送信タイミングが満たされると、送信を開始する。
【００２２】
図２に自律ノードの構成を示す。図２において、自律ノード３０は図１の自律ノード２１と同じものであり、データリンク部３１、ＩＰ部３２、送信キュー３３、ＴＣＰ部３４、アプリケーション３５、監視用ＩＰ部３６、フィルタ３７、パケット時間計算部３８、ワンショットタイマ機能を有するタイマ３９で構成されている。この自律ノードはＯＳＩ(Open Systems lnterconnection)参照モデルを簡略化したインターネットモデルに基づいて構成されている。すなわち、データリンク部３１、ＩＰ部３２、ＴＣＰ部３４、アプリケーション３５は相互にデータの授受を行い、伝送路（図示せず）に接続されている他の自律ノード３０等と通信を行う。
【００２３】
データリンク部３１は電気あるいは光信号を送受信する送受信部とこの送受信部をコントロールするコントローラで構成され、インターネットモデルの物理層とデータリンク層に相当する動作を行う。すなわち、ＭＡＣ(Media Access Control)アドレスを用いて送受信相手を認識し、エラー訂正、再送等を行って信頼性の高いデータ伝送を実行する。また、データの衝突を監視し、衝突が発生すると遅延タイマを用いてランダム時間待機した後、再送信する。データリンク部３１は図示しない伝送路に接続される。
【００２４】
ＩＰ部３２はインターネットモデルのインターネット層（ＩＰ層）に相当する動作を行う。すなわち、ＩＰ(Internet Protocol)を用い、始点と終点の端末の間でデータの授受を行う。３４はＴＣＰ部であり、インターネットモデルのトランスポート層(ＴＣＰ層)に相当する動作を行うものであり、ＴＣＰ(Transmission Control Protocol)あるいはＵＤＰ(User Datagram Protocol)を用いてデータの送受信を行う。３５はアプリケーションであり、自律ノード３０の動作を規定する。このアプリケーション３５はインターネットモデルのアプリケーション層に相当する。
【００２５】
データリンク部３１が受信したデータは監視用ＩＰ部３６に入力される。監視用ＩＰ部３６はデータリンク部３１から渡されたデータからパケットを検出し、このパケットのヘッダ部に格納されている送信元、宛先、パケット長を監視して、このパケットをフィルタ３７に出力する。なお、パケットとは送信先等の制御情報を格納したヘッダ部が付加されたデータの小さなまとまりのことを言う。データはパケット単位で送受信される。
【００２６】
フィルタ３７には予め検索条件が設定される。検索条件は、例えば特定の送信元から送信されたパケットとされる。フィルタ３７は入力されたパケットのヘッダ部から送信元、宛先等を取り出し、設定された検索条件に合致したパケットのパケット長をパケット時間計算部３８に出力する。
【００２７】
パケット時間計算部３８は入力されたパケット長と接続されている伝送路の物理的な条件から、そのパケットが伝送路を占有する時間を計算する。例えば、伝送路の通信速度をｖ、パケット長をＬとすると、占有時間はＬ／ｖで計算することができる。そして、この占有時間に関連する数値をタイマ３９にセットし、このタイマ３９を起動する。タイマにセットする数値はパケットの占有時間そのもの、あるいはこの占有時間からタイマセットまでに要した時間を補正した数値とする。
【００２８】
ＴＣＰ部３４が出力する送信データはすぐには送信されず、一旦送信キュー３３に保存される。タイマ３９がタイムアップする、すなわちタイマ３９内部の時計がセットされた数値に達すると、タイマ３９は送信キュー３３に送信許可を出力する。送信キュー３３はこの送信許可が入力されると、保存されていたデータをＩＰ部３２に渡す。ＩＰ部３２はこのデータをデータリンク部３１に渡す。データリンク部３１は渡されたデータを送信する。
【００２９】
次に、図３フローチャートに基づいて自律ノード３０の動作を更に詳しく説明する。図３において、行程（Ｐ３−１）で監視用ＩＰ部３６は伝送路を流れるパケットを検出して、このパケットをフィルタ３７に渡す。パケットを渡されたフィルタ３７は、このパケットのヘッダ部から監視対象のパケットであるかどうかを判断する。監視対象のパケットでないと行程（Ｐ３−１）に戻って次のパケットが来るのを待ち、監視対象パケットであると、行程（Ｐ３−４）に進む（行程（Ｐ３−３））。ヘッダ部はパケットの先頭にあるので、パケットの受信中にこの判断を行うことができる。
【００３０】
監視対象パケットであると、行程（Ｐ３−４）でフィルタ３７はパケット長をパケット時間計算部３８に渡す。パケット時間計算部３８は、渡されたパケット長からこのパケットが伝送路を占有する時間を計算し、この時間に関連する数値をタイマ３９にセットして、このタイマ３９を起動する（行程（Ｐ３−６））。
【００３１】
行程（Ｐ３−７）で、タイマがタイムアップするまで待つ。タイマ３９がタイムアップすると、行程（Ｐ３−８）で、タイマ３９は送信キュー３３に送信許可を出力する。これによって、行程（Ｐ３−９）で送信キュー３３は保存されている送信データをＩＰ部３２に出力し、行程（Ｐ３−１）に戻る。ＩＰ部３２はデータリンク部３１にこのデータを渡し、データリンク部３１は渡されたデータを送信する。
【００３２】
図１で説明したように、この実施例ではスケジュール設定装置２０を用いて自律ノード２１内のフィルタ３７に、特定の送信元からのパケットを受信したという条件をセットする。図２および図３で説明したように、自律ノード２１は設定された送信元からのパケットを受信すると、そのパケットの送信が完了した直後に送信を開始する、この際、他のノードの送信をチェックしない。
【００３３】
スケジュール設定装置２０は、重複した送信が発生しないように、自律ノード２１のフィルタ３７に送信を開始するパケットの送信元を設定する。また、定周期通信が始まったときに最初に送信する自律ノードも設定する。ＣＳＭＡ／ＣＤ(Carrier Sense Multiple Access/Collision Detection)通信方式では、送信する前に伝送路が使用されていないかをチェックし、使用されているとランダム時間待った後に再送信する。従って、送信パケットの間に伝送路を使用しない時間が発生し、伝送路の使用効率が低下する。特に、大量パケットが発生したときは、使用効率が大幅に低下する。この実施例では送信パケットの隙間が発生せず、かつ重複した送信が発生しないので、伝送路の使用効率が低下することがなく、かつデータの衝突も発生しない。
【００３４】
このことを、図４を用いて説明する。図４では、ネットワークシステムはノードＡ〜Ｄの４つの自律ノードが含まれており、ノードＢ〜Ｄ内のフィルタにはそれぞれノードＡ〜Ｃが送信元としてセットされている。またノードＡには定周期通信に入ると、他の自律ノードが送信しているかをチェックしないで直ちに送信を開始するように設定される。４０〜４３はそれぞれノードＡ〜Ｄが送信している区間を表す。
【００３５】
ノードＡが送信を開始するとノードＢがその送信を検知し、ノードＡの送信が終了するまで待機する。ノードＡの送信が終了すると、直ちにノードＢは送信を開始する。同様にして、ノードＣ、ＤはそれぞれノードＢ、Ｃの送信を検知し、その送信終了後直ちに送信を開始する。このようにすると、ノードＡ〜Ｄは連続して送信することができ、かつ送信の衝突が発生しないので、ほぼ１００％の効率で送信を行うことができる。
【００３６】
すなわち、重複して送信することがないように、送信するタイミングが厳密に規定される。従って、ネットワークスイッチが一度に処理するパケットは常に１パケットになるので、ネットワークスイッチの負荷が軽減され、かつパケットロスが発生することがなくなる。
【００３７】
なお、図２において送信キュー３３をＴＣＰ部の出力側に配置したが、ＩＰ部３２、またはデータリンク部３１の出力側に配置するようにしてもよい。
【００３８】
また、本実施例ではネットワークスイッチを用いたシステムについて説明したが、ネットワークスイッチを用いないネットワークシステムに適用することもできる。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明で使用する自律ノードの構成図である。
【図３】自律ノードの動作を説明するフローチャートである。
【図４】自律ノードの送信タイミングを説明する特性図である。
【図５】ＦＦ機能ブロックの構成図である。
【図６】従来のネットワークシステムの構成図である。
【符号の説明】
【００４０】
１３  ネットワークスイッチ
２０  スケジュール設定装置
２１、３０  自律ノード
３１  データリンク部
３２  ＩＰ部
３３  送信キュー
３４  ＴＣＰ部
３５  アプリケーション
３６  監視用ＩＰ部
３７  フィルタ
３８  パケット時間計算部
３９  タイマ
４０〜４３  送信区間
【図１】
2009105604.tif 000003
【図２】
2009105604.tif 000004
【図３】
2009105604.tif 000005
【図４】
2009105604.tif 000006
【図５】
2009105604.tif 000007
【図６】
2009105604.tif 000008