(57)【要約】  【課題】  高速通信ノードと低速通信ノードを含む定周期通信を行うシステムにおいて、各ノードの通信処理能力を考慮しながら全ノードを協調動作させることにより、ネットワークの伝送能力を有効活用しつつ、低速通信ノードの通信処理負荷を軽減する。  【解決手段】  ノード１〜８を通信処理能力の高いグループ２０と低いグループ２２に分け、高速ノードグループ２０にはマルチキャストアドレスを付与する。先頭ノード１は定周期Ｔでデータ送信を行うが、その際、１回目のデータ送信の宛先はブロードキャストアドレス、２回目の宛先はマルチキャストアドレスとする。他のノード２〜８は、自己の直前のノードからデータを受信した場合に、そのデータと同じ宛先にデータ送信を行う。以上の制御により、高速通信ノード１〜４は周期Ｔ、低速通信ノード５〜８は周期２Ｔでデータ送信を行うようになる。【選択図】  図１
2006135457.tif 000002
【特許請求の範囲】
【請求項１】
データ通信ネットワークに接続され、それぞれ固有のアドレスが付与された複数のノードを含む定周期通信システムの通信制御方法において、
前記複数のノードを通信処理能力の高いノードから成る高速ノードグループと通信処理能力の低いノードから成る低速ノードグループとに分ける手順、
高速ノードグループに含まれる各ノードに一律にデータを送信するための高速ノード指定アドレスを、高速ノードグループに含まれる各ノードに設定する手順、
ネットワーク内の全てのノードにデータを送信するための全ノード指定アドレスを、全ノードに設定する手順、及び、
高速ノードグループ内で最初にデータ送信を行う先頭ノードを指定し、該ノードに一定周期でデータ送信を行わせる手順、
を備え、
前記先頭ノードは、２回以上の所定回数のデータ送信を１サイクルとし、各サイクルにおける各データの宛先を所定のスケジュールに従って前記高速ノード指定アドレス及び前記全ノード指定アドレスのいずれかに設定し、
前記先頭ノード以外の各ノードは、自己の属するノードグループに対応するグループ指定アドレス宛のデータ及び前記全ノード指定アドレス宛のデータを受信し、そのデータに含まれる所定の送信権情報に基づいて次回のデータ送信に対する自己のデータ送信権の有無を判定し、自己にデータ送信権がある場合には、自己のデータを、前記受信したデータに設定されていた宛先と同一の宛先に送信すること
を特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードが接続されたネットワーク上で高速に定周期通信を行うシステムにおける通信制御方法に関する。このような通信制御方法は、例えば、プラント監視・制御システム用の通信ユニットの制御に応用される。
【背景技術】
【０００２】
定周期通信システムにおいては、ネットワークに接続された各装置（ノード）が一定周期でデータの送受信を行う。このような定周期通信システムにおける通信制御方法として、以下のような手順を備えるものがある。
（１）各ノードにネットワークアドレスと呼ばれる固有の番号を付与する。
（２）先頭ノードは自ノードの周期でデータ送信を行う。
（３）先頭以外のノードは、自己の直前のアドレスを持つノードの送信したデータを受信すれば、送信権（トークン）が与えられたと判断して、データ送信を行う。
このような通信制御方法の一例は、例えば特開2000-216786号公報（特許文献１）に開示されている。なお、特許文献１には記載されていないが、上記通信制御方法では、インターネットの通信プロトコルであるＵＤＰ／ＩＰを利用することができる。この場合、各ノードに付与されるネットワークアドレスはいわゆるＩＰアドレスである。
【０００３】
上記のような定周期通信システムにおいて、通信処理能力が高いノード（例えば、専用のリアルタイムＯＳを搭載した監視・制御ユニット。以下、高速通信ノードと呼ぶ）と通信処理能力が低いノード（例えば、市販のマルチタスクＯＳを搭載したパーソナルコンピュータ。以下、低速通信ノードと呼ぶ）が混在している場合を考える。このような場合、従来は以下のような方法で通信を行っていた。
（方法１）すべてのノードの通信周期を低速通信ノードに合わせて長くする。
（方法２）高速通信ノードでは定周期通信を行い、低速通信ノードでは周期を無視して通信を行う。
（方法３）低速通信ノードにおいて、受信データの内容をアプリケーションレベルで適宜破棄することでデータの間引きを行う。
【０００４】
方法３について、ＵＤＰ／ＩＰを例として更に詳しく説明する。ＵＤＰ／ＩＰでは、ＩＰパケットが、ドライバ、オペレーティングシステム又はそれに準ずる高レベルの処理系により、ＵＤＰレベルのデータに再構成される。この再構成処理は、他のノードから定周期で送られてくるすべてのデータに対して行われる。ところが、低速通信ノードの場合、アプリケーションにより前記データをすべて取り込んで処理するだけの能力がない。そこで、アプリケーションは、前記定周期よりも長めの周期でデータを取り込み、それ以外のデータを破棄することにより、データの間引きを行い、処理負荷の軽減を図るのである。
【０００５】
【特許文献１】特開2000-216786号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
方法１では、通信処理能力の低い一部のノードのためにすべてのノードの通信周期を長くするため、システム全体が必要なパフォーマンスを発揮できなくなる。
【０００７】
方法２では、トークンによる送信権管理が不完全になるため、高速通信ノードが定周期で送信するパケットと、低速通信ノードがランダムに送信するパケットが、ネットワーク上で衝突（コリジョン）を起こす可能性がある。これを避けるには、例えばＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）のようなネットワークアクセス制御が必要になり、特にノードの数が多い場合に、ネットワークの伝送能力の利用効率が著しく低下することがある。
【０００８】
方法３では、データの間引きにより通信処理の負荷がある程度軽減されるものの、最終的にアプリケーションで利用されないパケットまでＵＤＰレベルの処理に渡されてしまう。このような無駄な処理が発生するため、大幅な負荷軽減効果を望むことはできない。
【０００９】
本発明は以上のような課題を解決するために成されたものであり、その目的は、高速通信ノードと低速通信ノードを含む定周期通信を行うシステムにおいて、各ノードの通信処理能力を考慮しながら全ノードを協調動作させることにより、ネットワークの伝送能力を有効活用しつつ、低速通信ノードの通信処理負荷を軽減することができる通信制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために成された本発明に係る通信制御方法は、
データ通信ネットワークに接続され、それぞれ固有のアドレスが付与された複数のノードを含む定周期通信システムの通信制御方法において、
前記複数のノードを通信処理能力の高いノードから成る高速ノードグループと通信処理能力の低いノードから成る低速ノードグループとに分ける手順、
高速ノードグループに含まれる各ノードに一律にデータを送信するための高速ノード指定アドレスを、高速ノードグループに含まれる各ノードに設定する手順、
ネットワーク内の全てのノードにデータを送信するための全ノード指定アドレスを、全ノードに設定する手順、及び、
高速ノードグループ内で最初にデータ送信を行う先頭ノードを指定し、該ノードに一定周期でデータ送信を行わせる手順、
を備え、
前記先頭ノードは、２回以上の所定回数のデータ送信を１サイクルとし、各サイクルにおける各データの宛先を所定のスケジュールに従って前記高速ノード指定アドレス及び前記全ノード指定アドレスのいずれかに設定し、
前記先頭ノード以外の各ノードは、自己の属するノードグループに対応するグループ指定アドレス宛のデータ及び前記全ノード指定アドレス宛のデータを受信し、そのデータに含まれる所定の送信権情報に基づいて次回のデータ送信に対する自己のデータ送信権の有無を判定し、自己にデータ送信権がある場合には、自己のデータを、前記受信したデータに設定されていた宛先と同一の宛先に送信すること
を特徴とする。
【００１１】
本発明に係る通信制御方法において、前記ネットワーク内の通信をＵＤＰ／ＩＰプロトコルで行い、前記高速ノードグループには前記グループ指定アドレスとしてマルチキャストアドレスを付与するとともに、前記全ノード指定アドレスとしては前記ネットワークのブロードキャストアドレスを使用することができる。
【００１２】
また、本発明に係る通信制御方法において、前記送信権情報は、受信したデータの発信元アドレスであり、各ノードは、前記データの発信元アドレスが、自己の直前にデータ送信を行うべく定められたノードのアドレスと一致した場合に、自己に送信権があるものと判定するようにすることができる。
【００１３】
以下、本発明に係る通信制御方法について、通信プロトコルがＵＤＰ／ＩＰの場合を例にとって具体的に説明する。
（１）ネットワーク内の全ノードを高速通信ノードのグループと低速通信ノードのグループに分け、各グループ内でのデータ送信順序を決める。全体としては、高速ノードグループの各ノードが先にデータ送信を行い、その後で低速ノードグループの各ノードがデータ送信を行うようにデータ送信順序を決める。
（２）各ノードに一意のＩＰアドレスを付与する。ここでは、データ送信順序に従ってアドレス値が１ずつ増加していくようにＩＰアドレスを付与するものとする。ＩＰアドレスが最も小さいノードが先頭ノードとなる。
（３）高速通信ノードのグループに対応するマルチキャストアドレスを設定する。このマルチキャストアドレスが本発明の高速ノード指定アドレスに相当する。
（４）全てのノードにデータを送信するためのブロードキャストアドレスを設定する。これが本発明の全ノード指定アドレスに相当する。
（５）タイマを用いて、先頭ノードに周期Ｔでデータ送信を実行させる。このとき、２回以上の所定回数のデータ送信動作をまとめて１サイクルと定める。例えば、３回のデータ送信を１サイクルと定めた場合、１サイクルの周期は３Ｔとなる。
（６）先頭ノードは、各データ送信時のデータの宛先をマルチキャストアドレス及びブロードキャストアドレスのいずれかに設定する。１サイクルにおいて何回目のデータ送信時にどちらのアドレスを宛先として選択するかについては、予めスケジュールを決めておき、先頭ノードに記憶させておく。
（７）先頭ノード以外の各ノードは、他のノードが送信したデータのパケットを受信したときに、その発信元アドレスを調べ、そのアドレスが自己の直前のアドレス（すなわち、ここでは自己のアドレスより１だけ小さいアドレス）と同じであれば、自己にデータ送信権が移ったものと判断し、データ送信を行う。このときの送信データの宛先は、先に受信したデータの宛先と同一とする。すなわち、受信データの宛先がマルチキャストアドレスであれば、送信データの宛先も同じマルチキャストアドレスとし、受信データの宛先がブロードキャストアドレスであれば、送信データの宛先もブロードキャストアドレスとする。
【００１４】
上記方法により制御される定周期通信システムの動作例を以下に示す。
【００１５】
（第一の動作例）
この動作例では、先頭ノードが１サイクル中に周期Ｔで２回のデータ送信動作を行う。
１回目のデータ送信時には、先頭ノードが、ブロードキャストアドレスを宛先として設定する。従って、送信データのパケットは、ネットワーク内の全ノードにより受信される。次に、先頭ノードより１だけ大きいＩＰアドレスを持つ２番目のノードが自己のデータをブロードキャストアドレス宛に送信する。送信データのパケットは、再び全ノードにより受信される。次に、２番目のノードより１だけ大きいＩＰアドレスを持つ３番目のノードが同様にブロードキャストアドレス宛にデータ送信を行う。このようにして、各ノードが順次自己のデータをブロードキャストアドレス宛に送信する。最後のノードのデータ送信が終わると、１回目のデータ送信が完了する。その後は、先頭ノードによる２回目のデータ送信まで待機する。
２回目のデータ送信は、１回目のデータ送信の開始から時間Ｔが経過した時点で行われる。２回目のデータ送信時には、先頭ノードがマルチキャストアドレスを宛先として設定する。従って、送信データのパケットを受信するのは、高速ノードグループに含まれるノードだけである。その後は、高速ノードグループに含まれる各ノードが、１回目のデータ送信と同様の手順で、順次自己のデータをマルチキャストアドレス宛に送信する。高速ノードグループの最後のノードのデータ送信が終わると、１サイクルが完了する。
【００１６】
以上のような制御を行うと、高速通信ノードは周期Ｔでデータを送信する一方、低速通信ノードは周期２Ｔでデータを送信することになる。こうして、全ノードの協調動作によるネットワーク伝送能力の有効活用と、低速通信ノードの通信処理負荷の軽減という目的が達成される。
【００１７】
（第二の動作例）
この動作例では、先頭ノードが１サイクル中に周期Ｔで３回のデータ送信動作を行う。先頭ノードは、１回目のデータ送信時にはブロードキャストアドレスを宛先として設定し、２回目及び３回目のデータ送信時にはマルチキャストアドレスを宛先として設定する。この場合、１回目に送信されるデータのパケットはネットワーク内の全ノードにより受信され、２回目及び３回目に送信されるデータのパケットは高速通信ノードのみにより受信される。各回のデータ送信において、パケットを受信したノードが順次自己のデータを送信するプロセスは、第一の動作例で説明した通りである。以上のような制御を行うと、高速通信ノードは周期Ｔでデータを送信する一方、低速通信ノードは周期３Ｔでデータを送信することになる。
【発明の効果】
【００１８】
以上のような本発明に係る通信制御方法によれば、高速通信ノードと低速通信ノードを含む定周期通信を行うシステムにおいて、各ノードの通信処理能力を考慮しながら全ノードを協調動作させることにより、ネットワークの伝送能力を有効活用しつつ、低速通信ノードの通信処理負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１９】
本発明に係る通信制御方法の一実施形態について図面を参照しながら説明する。
【００２０】
図１に、本実施形態の通信制御方法が適用されるシステムの概略構成を示す。図１のシステムは、ＬＡＮ等のデータ通信ネットワーク１０に接続された８個のノード１〜８を含む。ノード１からノード４までの４個のノードは定周期Ｔで通信可能な高速通信ノードであり、ノード５からノード８までの４個のノードは定周期２Ｔで通信可能な低速通信ノードである。ノード間の通信プロトコルはＵＤＰ／ＩＰである。ノード１からノード８にはそれぞれＩＰアドレス192.168.0.11〜192.168.0.18が付与されており、ノード１が先頭ノードとして機能する。高速通信ノード１〜４から成る高速ノードグループ２０にはマルチキャストアドレス224.0.0.100が付与されているが、低速通信ノード５〜８から成る低速ノードグループ２２にはマルチキャストアドレスは設定されていない。また、ブロードキャストアドレスは192.168.0.255である。
【００２１】
次に、図１のシステムの動作について説明する。
【００２２】
１回目のデータ送信動作について図２を参照しながら説明する。１回目のデータ送信時時には、先頭ノード１が、ブロードキャストアドレス（192.168.0.255）を宛先として設定する。従って、送信データのパケットは、ネットワーク１０内の全ノード１〜８により受信される（ステップＳ１１）。次に、先頭ノード１より１だけ大きいＩＰアドレスを持つ２番目のノード２が自己のデータを、先に受信したパケットと同じ宛先、すなわちブロードキャストアドレス（192.168.0.255）宛に送信する。従って、２番目のノード２の送信データのパケットは、再び全ノード１〜８により受信される（ステップＳ１２）。次に、２番目のノードより１だけ大きいＩＰアドレスを持つ３番目のノード３が同様にブロードキャストアドレス（192.168.0.255）宛にデータ送信を行う（ステップＳ１３）。このようにして、ノード１〜８が順次自己のデータをブロードキャストアドレス（192.168.0.255）宛に送信する（なお、図２では、ノード４〜７のデータ送信ステップを省略している）。最後のノード８のデータ送信が終わると（ステップＳ１８）、１回目のデータ送信が完了する。その後は、先頭ノード１による２回目のデータ送信まで待機する。
【００２３】
次に、２回目のデータ送信について図３を参照しながら説明する。２回目のデータ送信は、１回目のデータ送信の開始から時間Ｔが経過した時点で行われる。２回目のデータ送信時には、先頭ノード１がマルチキャストアドレス（224.0.0.100）を宛先アドレスとして設定する。従って、送信データのパケットを受信するのは、高速ノードグループ２０に含まれるノード１〜４だけである（ステップＳ２１）。その後は、１回目のデータ送信と同様の手順で、高速ノードグループ２０に含まれるノード１〜４が順次自己のデータをマルチキャストアドレス（224.0.0.100）宛に送信する（ステップＳ２２〜Ｓ２４）。高速ノードグループ２０の最後のノード４のデータ送信が終わると（ステップＳ２４）、１サイクルが完了する。その後は、２回目以降のサイクルが上述の手順に従って、周期２Ｔで繰り返される。
【００２４】
以上のような制御の結果、高速ノードグループ２０に属する高速通信ノード１〜４は周期Ｔでデータを送信する一方、低速通信ノード５〜８は周期２Ｔでデータを送信することになる。このように、各ノードは協調して動作するため、パケットの衝突が発生する恐れはない。
【００２５】
なお、図１のネットワーク構成では、高速通信ノード１〜４のグループと低速通信ノード５〜８のグループの間にルータ等の経路制御機器が存在しないため、マルチキャストアドレス（224.0.0.100）宛のパケットは高速通信ノード１〜４だけでなく低速通信ノード５〜８にも届く。しかし、低速通信ノード５〜８は、マルチキャストアドレス（224.0.0.100）宛のパケットをＩＰ層で破棄し、パケットをＵＤＰのレベルで再構成する処理は行わない。従って、その分だけ処理負荷が軽減される。
【００２６】
以上、本発明に係る通信処理方法の一実施形態について説明したが、実施形態は上記のものに限られないことはいうまでもない。
【００２７】
例えば、低速通信ノードにおける処理負荷の軽減はあまり重要ではなく、ネットワーク内におけるパケットの衝突回避が最重要課題である場合、ＵＤＰ層で使用されるポート番号を利用して本発明を実施することが可能である。この形態の具体例を以下に挙げる。
【００２８】
（１）全ノード宛のデータ送信に対してポート番号Ｐ１（例えば8192）を付与し、高速ノードグループのみに対するデータ送信に対してポート番号Ｐ２（例えば8193）を付与する。
（２）先頭ノードは、全ノード宛にデータを送信する際にはブロードキャストアドレスとポート番号Ｐ１との組み合わせを宛先として設定する一方、高速通信ノードのみにデータを送信する際にはブロードキャストアドレスとポート番号Ｐ２との組み合わせを宛先として設定する。送信データのパケットは全てのノードに届く。
（３）先頭ノード以外のノードのうち、低速通信ノードは、受信したパケットをＵＤＰレベルのデータに再構成してからそのポート番号を調べ、それがＰ１である場合にのみ、そのデータを上位層に渡す。一方、高速通信ノードは全てのパケットをＵＤＰレベルのデータに再構成して上位層に渡す。
【００２９】
上記方法によれば、低速通信ノードの処理負荷を少なくとも従来技術で説明した方法３と同程度に留めつつ、本発明を実施することが可能である。
【００３０】
また、上記実施形態では通信プロトコルとしてＵＤＰ／ＩＰを例に挙げたが、アドレスグループの概念があるプロトコルであれば、他の通信プロトコルを用いても本発明を実施することができる。
【００３１】
以上の他にも、本発明の精神及び範囲内で様々な実施形態が考えられる。
【図面の簡単な説明】
【００３２】
【図１】本発明に係る通信制御方法の一実施形態が適用されるシステムの概略構成図。
【図２】図１のシステムによる１回目のデータ送信動作の手順を示す図。
【図３】図１のシステムによる２回目のデータ送信動作の手順を示す図。
【符号の説明】
【００３３】
１〜４…高速通信ノード
５〜８…低速通信ノード
１０…ネットワーク
２０…高速ノードグループ
２２…低速ノードグループ
【図１】
2006135457.tif 000003
【図２】
2006135457.tif 000004
【図３】
2006135457.tif 000005