(57)【特許請求の範囲】
【請求項１】
伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有するネットワークにおいて、前記マスタノードが発行する、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケットを用いて、複数のノード間で前記伝送路を介してデータを伝送する非同期データ通信方法であって、
前記マスタノードは、各ノードの通信要求を吸い上げるための問い合わせトークンパケットまたは前記通信用トークンパケットを一定時間毎に前記伝送路に発行し、
前記問い合わせトークンパケットに対して、各ノードは、送信すべきデータが存在する場合に、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、
前記マスタノードは、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、通信要求を行ったノードがデータ通信を行うことができることを特徴とする非同期データ通信方法。
【請求項２】
伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有するネットワークにおいて、前記マスタノードが発行する、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケットを用いて、複数のノード間で前記伝送路を介してデータを伝送する非同期データ通信方法であって、
前記マスタノードは、各ノードの通信要求を吸い上げるための問い合わせトークンパケットまたは前記通信用トークンパケットを一定時間毎に前記伝送路に発行し、
前記問い合わせトークンパケットに対して、各ノードは、送信すべきデータが存在する場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、送信すべきデータが存在しない場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに非通信要求パケットを出力し、
前記マスタノードは、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、通信要求を行ったノードがデータ通信を行うことができることを特徴とする非同期データ通信方法。
【請求項３】
請求項１または請求項２に記載の非同期データ通信方法において、
上記マスタノードは、ネットワーク上の全ノードに対して共通の１つの上記問い合わせトークンパケットを発生することを特徴とする非同期データ通信方法。
【請求項４】
請求項３記載の非同期データ通信方法において、
上記マスタノードは、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを全て発行した後、再び問い合わせトークンパケットを発行することを特徴とする非同期データ通信方法。
【請求項５】
請求項１または請求項２に記載の非同期データ通信方法において、
マスタノードとスレーブノードを複数のグループに分け、問い合わせトークンパケットに問い合わせ対象となるノードのグループを示すグループＩＤが含まれ、上記グループＩＤと一致するグループに属するノードのみが割り当てられた通信要求パケット用のスロットに通信要求パケットを出力することを特徴とする非同期データ通信方法。
【請求項６】
請求項５記載の非同期データ通信方法において、
上記マスタノードは、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを全て発行した後、グループＩＤを変更して問い合わせトークンパケットを発行することを特徴とする非同期データ通信方法。
【請求項７】
請求項１ないし請求項６のいずれかに記載の非同期データ通信方法において、
上記通信要求パケットに、非同期データを受信すべきノードの固有のノードＩＤが含まれたことを特徴とする非同期データ通信方法。
【請求項８】
請求項１ないし請求項７のいずれかに記載の非同期データ通信方法において、
上記通信要求パケットに、前記通信要求パケットを送出するノードの固有のノードＩＤが含まれたことを特徴とする非同期データ通信方法。
【請求項９】
請求項１ないし請求項８のいずれかに記載の非同期データ通信方法において、
上記通信要求パケットに、送出するデータの量を示す情報が含まれたことを特徴とする非同期データ通信方法。
【請求項１０】
請求項９記載の非同期データ通信方法において、
上記マスタノードが、上記通信要求パケットに含められた上記送出するデータの量を示す情報に基づいて、通信要求のあったノードを送信ノードに指定した上記通信用トークンパケットを発行する個数を制御することを特徴とする非同期データ通信方法。
【請求項１１】
請求項１ないし請求項８のいずれかに記載の非同期データ通信方法において、
上記通信要求パケットに、送出するデータの優先度を示す情報が含まれたことを特徴とする非同期データ通信方法。
【請求項１２】
請求項１１記載の非同期データ通信方法において、
上記マスタノードが、上記通信要求パケットに含められた上記送出するデータの優先度を示す情報に基づいて、通信要求のあったノードを送信ノードに指定した上記通信用トークンパケットを発行する順序を制御することを特徴とする非同期データ通信方法。
【請求項１３】
請求項３または請求項５記載の非同期データ通信方法において、
上記マスタノードは、上記問い合わせトークンパケットに続き、各ノードに割り当てた通信要求パケット用のスロットを識別するための識別信号を出力し、各ノードで上記識別信号を検出することにより、通信要求パケット用のスロットを識別することを特徴とする非同期データ通信方法。
【請求項１４】
請求項１または請求項２に記載の非同期データ通信方法において上記各ノードを構成する非同期データ通信装置であって、
伝送路の接続／切断を行う伝送路スイッチと、受信したパケットと通信要求パケット用のスロットを検出するパケット検出部と、送信すべき非同期データを格納しデータパケットとして出力を行う送信バッファと、通信要求パケットと非通信要求パケットの出力を行う通信要求パケット出力部と、上記送信すべき非同期データの宛先となるノードの固有のノードＩＤを格納する送信先レジスタと、上記伝送路スイッチの接続／切断を指示し、上記パケット検出部と上記送信バッファと上記通信要求パケット出力部を制御してパケットの送受信を行う送受信制御部とを具備し、
上記送信バッファに上記送信すべき非同期データが格納され、上記送信先レジスタに上記送信すべき非同期データの宛先となるノードの固有のノードＩＤを格納された後、マスタノードの出力した問い合わせトークンパケットに対して、上記通信要求パケットを上記通信要求パケット出力部より出力することを特徴とする非同期データ通信装置。
【請求項１５】
請求項１または請求項２に記載の非同期データ通信方法において上記各ノードを構成する非同期データ通信装置であって、
伝送路の接続／切断を行う伝送路スイッチと、受信したパケットを検出するパケット検出部と、受信した非同期データを格納する受信バッファと、上記受信した非同期データの送信を行ったノードの固有のノードＩＤを格納する送信元レジスタと、上記伝送路スイッチの接続／切断を指示し、上記パケット検出部と上記受信バッファを制御してパケットの受信を行う送受信制御部とを具備し、
１パケット分の上記受信した非同期データが全て揃った後、上記受信した非同期データと、上記送信元レジスタに格納された上記非同期データの送信を行ったノードの固有のノードＩＤを読み出し可能としたことを特徴とする非同期データ通信装置。
【請求項１６】
伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有する非同期データ通信システムにおいて、
前記マスタノードは、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケット、もしくは各ノードの通信要求を吸い上げるための問い合わせトークンパケットのいずれかを一定時間毎に前記伝送路に発行するものであり、
前記マスタノードとスレーブノードは、前記マスタノードの発行した前記問い合わせトークンパケットに対して、送信すべきデータが存在する場合に、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力するものであり、
前記マスタノードは、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行するものであることを特徴とする非同期データ通信システム。
【請求項１７】
伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有する非同期データ通信システムにおいて、
前記マスタノードは、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケット、もしくは各ノードの通信要求を吸い上げるための問い合わせトークンパケットのいずれかを一定時間毎に前記伝送路に発行するものであり、
前記マスタノードとスレーブノードは、前記マスタノードの発行した前記問い合わせトークンパケットに対して、送信すべきデータが存在する場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、送信すべきデータが存在しない場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに非通信要求パケットを出力するものであり、
前記マスタノードは、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行するものであることを特徴とする非同期データ通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は１台のマスタノードと１台以上のスレーブノードから構成されるネットワークにおける非同期データ通信方法に関するものである。
【０００２】
【従来の技術】
従来の非同期データ通信方法について図面を参照しながら以下に説明する。
図９は従来の非同期データ通信方法を用いたネットワーク構成図である。図９において、９００は伝送路、９０１はマスタノード、９０２はスレーブＡノード、９０３はスレーブＢノード、９０４はスレーブＣノード、９０５は通信用トークンパケット、９０６はデータパケットであり、１台のマスタノード９０１と１台以上のスレーブノード９０２〜９０４はリング状に接続されており、各ノード９０１〜９０４は固有のノードＩＤと送信バッファ９１１〜９１４、受信バッファ９２１〜９２４を持つ。
【０００３】
各ノード９０１〜９０４はまず、到来する通信用トークンパケット９０５を受信し、トークンパケット９０５に含まれる送信ノードのＩＤが自ノードのＩＤと一致するかどうかの判定と、受信ノードのＩＤが自ノードのＩＤと一致するかどうかの判定を行う。送信ノードのＩＤが自ノードのＩＤと一致し、かつ送信すべきデータが自ノードの送信バッファ９１１〜９１４に存在する場合に、トークンパケット９０５に引き続き通信データ９０６を伝送路９００に発する。受信ノードのＩＤと自ノードのＩＤが一致した場合には、トークン９０５の後に存在する通信データ９０６を自ノードの受信バッファ９２１〜９２４に取り込む。すなわち、トークン９０５で指定されたノードのみが、データの送信、受信を行う。
【０００４】
例えばスレーブＢノード９０３からスレーブＣノード９０４に非同期データの通信を行う際には、マスタノード９０１は、送信ノードのＩＤにターゲットとなるノードのＩＤ（この場合３）を、受信ノードのＩＤに自ノードのＩＤ（この場合１）を指定した通信用トークンパケット９０５を発行し、スレーブＢノード９０３によって発せられたデータを一旦マスタノードの受信バッファ９２１に保持し、送信バッファ９１１にデータの移動を行う。次に送信ノードのＩＤに自ノードのＩＤ（この場合１）を、受信ノードのＩＤにデータを受信すべきノードのＩＤ（この場合４）を指定した通信用トークンパケット９０５を発行し、送信バッファ９１１に保持されたデータを出力することにより、スレーブＣノード９０４にデータが到着する。
【０００５】
図１０に伝送路上のパケットの流れを示す。図１０において１００１、１００２は通信用トークンパケットであり、マスタノード１００１により一定時間毎に出力される。１００３、１００４は通信データである。上記の例では、通信用トークンパケット１００１は送信ノードＩＤ“３” 、受信ノードＩＤ“１” であることを示し、通信用トークンパケット１００２は送信ノードＩＤ“１”、受信ノードＩＤ“４” であることを示す。通信用トークンパケット１００１により、スレーブＢノード９０３からマスタノード９０１へデータパケット１００３を送り、一旦マスタノード９０１でデータを保持し、通信用トークンパケット１００２により、マスタノード９０１からスレーブＣノード９０４へデータパケット１００４を送る。データパケット１００３とデータパケット１００４の内容は同一である。このようにしてノード間の非同期データ通信を行う。
【０００６】
【発明が解決しようとする課題】
しかしながら上記のような構成では、マスタノード経由でしかノード間の非同期データ通信を行うことができず、通信帯域を無駄に使用するという問題が発生する。
本発明は上記の問題点を解決し、各ノードに公平で、かつ効率的なノード間の非同期データ通信を可能とする非同期データ通信方法，非同期データ通信装置，及び非同期データ通信システムを提供することを目的としている。
【０００７】
【課題を解決するための手段】
この課題を解決するために本発明（請求項１）は、伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有するネットワークにおいて、前記マスタノードが発行する、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケットを用いて、複数のノード間で前記伝送路を介してデータを伝送する非同期データ通信方法であって、前記マスタノードが、各ノードの通信要求を吸い上げるための問い合わせトークンパケットまたは前記通信用トークンパケットを一定時間毎に前記伝送路に発行し、前記問い合わせトークンパケットに対して、各ノードが、送信すべきデータが存在する場合に、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、前記マスタノードが、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、通信要求を行ったノードがデータ通信を行うことができるようにしたものである。
【０００８】
また、本発明（請求項２）は、伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有するネットワークにおいて、前記マスタノードが発行する、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケットを用いて、複数のノード間で前記伝送路を介してデータを伝送する非同期データ通信方法であって、前記マスタノードが、各ノードの通信要求を吸い上げるための問い合わせトークンパケットまたは前記通信用トークンパケットを一定時間毎に前記伝送路に発行し、前記問い合わせトークンパケットに対して、各ノードが、送信すべきデータが存在する場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、送信すべきデータが存在しない場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに非通信要求パケットを出力し、前記マスタノードが、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、通信要求を行ったノードがデータ通信を行うことができるようにしたものである。
【０００９】
また、本発明（請求項３）は、請求項１または請求項２に記載の非同期データ通信方法において、上記マスタノードが、ネットワーク上の全ノードに対して共通の１つの上記問い合わせトークンパケットを発生するものである。
【００１０】
また、本発明（請求項４）は、請求項３記載の非同期データ通信方法において、  上記マスタノードが、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを全て発行した後、再び問い合わせトークンパケットを発行するものである。
【００１１】
また、本発明（請求項５）は、請求項１または請求項２に記載の非同期データ通信方法において、マスタノードとスレーブノードを複数のグループに分け、問い合わせトークンパケットに問い合わせ対象となるノードのグループを示すグループＩＤが含まれ、上記グループＩＤと一致するグループに属するノードのみが割り当てられた通信要求パケット用のスロットに通信要求パケットを出力するようにしたものである。
【００１２】
また、本発明（請求項６）は、請求項５記載の非同期データ通信方法において、  上記マスタノードが、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを全て発行した後、グループＩＤを変更して問い合わせトークンパケットを発行するものである。
【００１３】
また、本発明（請求項７）は、請求項１ないし請求項６のいずれかに記載の非同期データ通信方法において、上記通信要求パケットに、非同期データを受信すべきノードの固有のノードＩＤが含まれるようにしたものである。
【００１４】
また、本発明（請求項８）は、請求項１ないし請求項７のいずれかに記載の非同期データ通信方法において、上記通信要求パケットに、前記通信要求パケットを送出するノードの固有のノードＩＤが含まれるようにしたものである。
【００１５】
また、本発明（請求項９）は、請求項１ないし請求項８のいずれかに記載の非同期データ通信方法において、上記通信要求パケットに、送出するデータの量を示す情報が含まれるようにしたものである。
【００１６】
また、本発明（請求項１０）は、請求項９記載の非同期データ通信方法において、上記マスタノードが、上記通信要求パケットに含められた上記送出するデータの量を示す情報に基づいて、通信要求のあったノードを送信ノードに指定した上記通信用トークンパケットを発行する個数を制御するものである。
【００１７】
また、本発明（請求項１１）は、請求項１ないし請求項８のいずれかに記載の非同期データ通信方法において、上記通信要求パケットに、送出するデータの優先度を示す情報が含まれるようにしたものである。
【００１８】
また、本発明（請求項１２）は、請求項１１記載の非同期データ通信方法において、上記マスタノードが、上記通信要求パケットに含められた上記送出するデータの優先度を示す情報に基づいて、通信要求のあったノードを送信ノードに指定した上記通信用トークンパケットを発行する順序を制御するものである。
【００１９】
また、本発明（請求項１３）は、請求項３または請求項５記載の非同期データ通信方法において、上記マスタノードが、上記問い合わせトークンパケットに続き、各ノードに割り当てた通信要求パケット用のスロットを識別するための識別信号を出力し、各ノードで上記識別信号を検出することにより、通信要求パケット用のスロットを識別するようにしたものである。
【００２０】
また、本発明（請求項１４）は、請求項１または請求項２に記載の非同期データ通信方法において上記各ノードを構成する非同期データ通信装置であって、伝送路の接続／切断を行う伝送路スイッチと、受信したパケットと通信要求パケット用のスロットを検出するパケット検出部と、送信すべき非同期データを格納しデータパケットとして出力を行う送信バッファと、通信要求パケットと非通信要求パケットの出力を行う通信要求パケット出力部と、上記送信すべき非同期データの宛先となるノードの固有のノードＩＤを格納する送信先レジスタと、上記伝送路スイッチの接続／切断を指示し、上記パケット検出部と上記送信バッファと上記通信要求パケット出力部を制御してパケットの送受信を行う送受信制御部とを具備し、上記送信バッファに上記送信すべき非同期データが格納され、上記送信先レジスタに上記送信すべき非同期データの宛先となるノードの固有のノードＩＤを格納された後、マスタノードの出力した問い合わせトークンパケットに対して、上記通信要求パケットを上記通信要求パケット出力部より出力するものである。
【００２１】
また、本発明（請求項１５）は、請求項１または請求項２に記載の非同期データ通信方法において上記各ノードを構成する非同期データ通信装置であって、伝送路の接続／切断を行う伝送路スイッチと、受信したパケットを検出するパケット検出部と、受信した非同期データを格納する受信バッファと、上記受信した非同期データの送信を行ったノードの固有のノードＩＤを格納する送信元レジスタと、上記伝送路スイッチの接続／切断を指示し、上記パケット検出部と上記受信バッファを制御してパケットの受信を行う送受信制御部とを具備し、１パケット分の上記受信した非同期データが全て揃った後、上記受信した非同期データと、上記送信元レジスタに格納された上記非同期データの送信を行ったノードの固有のノードＩＤを読み出し可能としたものである。
【００２２】
また、本発明（請求項１６）は、伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有する非同期データ通信システムにおいて、前記マスタノードが、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケット、もしくは各ノードの通信要求を吸い上げるための問い合わせトークンパケットのいずれかを一定時間毎に前記伝送路に発行するものであり、前記マスタノードとスレーブノードが、前記マスタノードの発行した前記問い合わせトークンパケットに対して、送信すべきデータが存在する場合に、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力するものであり、前記マスタノードが、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行するものとしたものである。
【００２３】
また、本発明（請求項１７）は、伝送路と、前記伝送路に接続された、それぞれ固有のノードＩＤを持つマスタノード、及び前記マスタノードとループ状に接続された１台以上のスレーブノードとを有する非同期データ通信システムにおいて、前記マスタノードが、送信ノードと受信ノードを指定してデータ通信を行なわせるための通信用トークンパケット、もしくは各ノードの通信要求を吸い上げるための問い合わせトークンパケットのいずれかを一定時間毎に前記伝送路に発行するものであり、前記マスタノードとスレーブノードが、前記マスタノードの発行した前記問い合わせトークンパケットに対して、送信すべきデータが存在する場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、送信すべきデータが存在しない場合には、前記問い合わせトークンパケットに続いて発行される、予め自らのノードに割り当てられた通信要求パケット用のスロットに非通信要求パケットを出力するものであり、前記マスタノードが、以降の通信用トークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行するものとしたものである。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について、図１から図８を用いて説明する。
（実施の形態１）
図１は非同期データ通信方法を用いたネットワーク構成図であり、図１において１００は伝送路、１０１はマスタノード、１０２はスレーブＡノード、１０３はスレーブＢノード、１０４はスレーブＣノードであり、各ノードは固有のノードＩＤを持つ。ここでは、マスタノード１０１のノードＩＤは“１” 、スレーブノード１０２〜１０４のノードＩＤはそれぞれ“２” 、“３” 、“４” であるとする。１１１〜１１４は各ノードのデータ送受信の制御等を行うコントローラ、１０５はマスタノード１０１の出力するトークンパケットであり、１台のマスタノード１０１と１台以上のスレーブノード１０２〜１０４がループ状に接続されている。図２（ａ）はマスタノードのコントローラ構成図であり、図２（ｂ）はスレーブノードのコントローラ構成図である。図２において、２００は伝送路、２０１はコントローラ、２０２は送受信制御部、２０３は伝送路の接続／切断を行う伝送路スイッチ、２０４は送信バッファ、２０５は受信バッファ、２０６はパケット検出部、２０７は通信要求パケット出力部、２０８はトークンパケット出力部、２０９はマルチプレクサである。マスタノードとスレーブノードの相違点はトークンパケット出力部２０８の有無である。図３は伝送路上のパケットの流れを示す図である。３０１は問い合わせトークンパケット、３０２は通信用トークンパケット、３２１はデータパケット、３１０は通信要求パケット用のスロットであり、複数のスロットが存在する。各ノードは割り当てられた通信要求パケット用のスロット３１０に通信要求パケットを挿入する。
【００２５】
以上のように構成されたネットワークにおける非同期データ通信方法について、以下その動作を述べる。
各ノードの伝送路スイッチ２０３は通常、伝送路２０２からの入力と伝送路への出力を短絡（伝送路を接続）した状態にあり、各種パケットを出力する時のみ伝送路スイッチ２０３を開放（伝送路の切断）を行い、ある一定時間後に再び伝送路スイッチ２０３を短絡した状態に戻す。
【００２６】
トークンパケット出力部２０８を保持するマスタノード１０１は、データ通信を行うための通信用トークンパケット３０２、もしくは各ノードの通信要求を吸い上げる問い合わせトークンパケット３０１のいずれかをマルチプレクサ２０９経由で一定時間毎に発行する。マスタノード１０１は、コントローラ１１１内の伝送路スイッチ２０３の開放を行い、まず問い合わせトークンパケット３０１を伝送路１００に送出する。各ノード１０１〜１０４は問い合わせトークンパケットをパケット検出部２０６で検出し、自ノードの送信バッファ２０４に送信データが存在する場合には、通信要求パケット用のスロット３１０の１つに非同期データの通信要求を示す通信要求パケットを、通信要求パケット出力部２０７よりマルチプレクサ２０９経由で出力する。通信要求パケット用のスロット３１０は複数存在するが、ノード毎に予め割り当てが行われている。自ノードの送信バッファ２０４に送信データが存在しなかった場合には、通信要求パケットの送出を行わない、または通信要求を示さない非通信要求パケットの出力を行う。
【００２７】
マスタノード１０１は通信要求パケット用のスロット３１０に存在する全ノードの通信要求パケットを受信し、通信要求を行ったノードが存在した場合には、そのノードを送信ノードに指定した通信用トークンパケット３０２を送出する。
この通信用トークンパケット３０２により、通信要求を行ったノードは送信バッファ２０４に存在するデータの送出を行うことが可能となる。マスタノード１０１は通信要求を行った全てのノードに対応した通信用トークンパケット３０２を出力し終えた後、再び問い合わせトークンパケット３０１を送出する。この動作を繰り返すことにより、ノード間の非同期データ通信を行う。
【００２８】
図４にマスタノードの動作フローを示す。
４０１でマスタノード１０１は、まず各ノードの通信要求を吸い上げる問い合わせトークンパケット３０１を送出し、４０２で通信要求パケット用のスロット３１０に存在する全ノードの通信要求パケットを受信する。４０３で通信要求を行ったノードの有無を検出し、通信要求を行ったノードが存在しなかった場合には４０１に戻り、再び問い合わせトークンパケット３０１を発行する。通信要求を行ったノードが存在した場合には、４０４で通信要求を行ったノードを送信ノードとして指定した通信用トークンパケット３０２を発行する。４０４、４０５でマスタノード１０１は通信要求を行った全てのノードに対応した通信用トークンパケット３０２を出力し終えた後、４０１に戻り、再び問い合わせトークンパケット３０１を発行する。この動作を繰り返す。なおマスタノード１０１は、問い合わせトークンパケット３０１と通信用トークンパケット３０２のいずれかを、一定時間毎に発行を行う。
【００２９】
このように、マスタノードの発行した問い合わせトークンパケットに対して、各ノードが送信するデータが存在する場合に限り、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、マスタノードは以降のトークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、各ノードに公平で、かつ効率的なノード間の非同期データ通信を可能とする。
【００３０】
例えば、１６のノードが接続されたネットワークにおいて、１度の問い合わせトークンにより同時に１６台のノードの通信要求をマスタノードが受信可能であり、１台のノードのみが送信データを保持するとした場合、従来のマスタノードを経由して通信を行う方式では、１６回の各ノードからマスタノードへ通信を行う通信用トークンパケットと、１回のマスタノードから通信を行う通信用トークンパケット( １６回の通信用トークンパケットの中で実際にデータが存在したもの) の合計１７回のトークンパケットにより、全ノード（１６ノード）に対応した非同期データ通信の１サイクルが完了するが、本方式では１回の問い合わせトークンパケットと１回の通信用トークンパケットの合計２回のトークンパケットの出力で、全ノード（１６ノード）に対応した非同期データ通信の１サイクルが完了することになる。
【００３１】
また各ノード１０１〜１０４が、出力する通信要求パケットにて非同期データを受信すべきノードの固有のノードＩＤを指定することにより、マスタノード１０１における通信用トークンパケット３０２の出力が容易なものとなる。同時に、通信要求パケットを送出するノードの固有のノードＩＤを出力することによっても、同様の結果が得られる。
【００３２】
また各ノード１０１〜１０４が出力する通信要求パケットに、送出するデータの量を示す情報および送出するデータの優先度を示す情報を付加することにより、各ノードの保持するデータの量、質に応じた通信用トークンパケット３０２の出力が、マスタノード１０１において可能となる。
【００３３】
具体的には、通信要求パケットに示されたデータ量に応じて、マスタノードが通信要求のあったノードを送信ノードに指定した通信用トークンパケットの発行回数の制御を行うことにより、一度の通信要求で静止画像等の大容量のデータ通信が可能となる。また通信要求パケットに示された優先度に応じて、マスタノードが通信要求のあったノードを送信ノードに指定した通信用トークンパケットの出力順序の制御を行うことにより、緊急放送等の通信に使用することが可能である。
【００３４】
また、上記の説明では、各ノードが送信するデータが存在する場合に限り、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力するとしたが、各ノードが送信するデータが存在する場合には、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、送信するデータが存在しない場合には、割り当てられた通信要求パケット用のスロットに非通信要求パケットを出力することによっても非同期データの送受信が可能であり、さらに通信要求パケットと非通信要求パケットを受信するマスタノードにおいて、非通信要求パケット（ノードは存在するが送信データが無い）と、通信要求パケット用のスロットにパケットが存在しなかった（ ノードが存在しない、またはノードの一部の機能が省電力モード等により動作していない） ことを区別することが可能である。
【００３５】
また、上記の説明では、ループ状のネットワークに関してのみ説明を行なったが、ノードが共通バスに接続されたツリー状のネットワークや、スター状のネットワークや、各ノードが光カプラによって接続された光ネットワークにおいても本願発明を適用できることは言うまでもない。
【００３６】
（実施の形態２）
図５は非同期データ通信方法を用いたネットワーク構成図であり、図５において５０１はマスタノード、５０２、５０３はスレーブノードである。マスタノード５０１とスレーブノード５０２、５０３を複数のグループに分け、ここではマスタノード５０１とスレーブノード５０２のグループＩＤを“１” 、スレーブノード５０３のグループＩＤを“２” とする。５００は伝送路であり、１台のマスタノード５０１と１台以上のスレーブノード５０２、５０３がループ状に接続されている。各ノード５０１〜５０３は唯一のグループに属する。
【００３７】
以上のように構成されたネットワークにおける非同期データ通信方法について、以下その動作を述べる。
マスタノード５０１は、まずグループＩＤ“１” を指定した問い合わせトークンパケットを伝送路５００に送出する。各ノード５０１〜５０３は問い合わせトークンパケットを検出し、トークンパケットで指示されたグループＩＤ（この場合１）が自ノードのグループＩＤと一致し、自ノードの送信バッファに送信データが存在する場合に限り、通信要求パケットを出力する。この場合マスタノード５０１とスレーブノード５０２が、送信データが存在する場合に限り、通信要求パケットを出力する。
【００３８】
マスタノード５０１はグループＩＤ“１” に属するノードの通信要求パケットを受信し、通信要求を行ったノードが存在した場合には、そのノードを送信ノードに指定した通信用トークンパケットを送出する。この通信用トークンパケットにより、通信要求を行ったノードは送信バッファに存在するデータの送出を行うことが可能となる。
【００３９】
次にマスタノード５０１は、グループＩＤ“２” を指定した問い合わせトークンパケットを伝送路５００に送出し、その結果により通信用トークンパケットの送出を行う。マスタノード５０１は、全てのノードグループに対する問い合わせと通信用トークンパケットの送出を終え、再びグループＩＤ“１” に対する問い合わせを行う。マスタノード５０１がこの動作を繰り返すことにより、ノード間の非同期データ通信を行う。
【００４０】
図６にマスタノードの動作フローを示す。
６０１でマスタノード５０１は、まずグループＩＤ“１” に属するノード５０１、５０２の通信要求を吸い上げる問い合わせトークンパケットを送出し、６０２でグループＩＤ“１” に属するノードの通信要求パケットを受信する。６０３で通信要求を行ったノードの有無を検出し、通信要求を行ったノードが存在しなかった場合には６０６へ飛び、グループＩＤを“２” に変更し、再び問い合わせトークンパケットを発行する。通信要求を行ったノードが存在した場合には、６０４で通信要求を行ったノードを送信ノードとして指定した通信用トークンパケットを発行する。６０４、６０５でマスタノード５０１は通信要求を行った全てのノードに対応した通信用トークンパケットを出力し終えた後、６０６へ飛び、グループＩＤを“２” に変更し、再び問い合わせトークンパケットを発行する。
この動作を繰り返し、全グループに対する問い合わせトークンパケットと、通信用トークンパケットを発行する。
【００４１】
このように、グループＩＤを指示した問い合わせトークンパケットをマスタノードが出力し、グループＩＤの一致するノードが送信するデータが存在する場合に限り、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、マスタノードは以降のトークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、接続ノード数が増えた場合においても、各ノードに公平で、かつ効率的なノード間の非同期データ通信を可能とする。
【００４２】
また各ノード５０１〜５０３が、出力する通信要求パケットにて非同期データを受信すべきノードの固有のノードＩＤを指定することにより、マスタノード５０１における通信用トークンパケットの出力が容易なものとなる。同時に、通信要求パケットを送出するノードの固有のノードＩＤを出力することによっても、同様の結果が得られる。
【００４３】
また各ノード５０１〜５０３が出力する通信要求パケットに、送出するデータの量を示す情報および送出するデータの優先度を示す情報を付加することにより、各ノードの保持するデータの量、質に応じた通信用トークンパケットの出力が、マスタノード５０１において可能となる。
【００４４】
具体的には、通信要求パケットに示されたデータ量に応じて、マスタノードが通信要求のあったノードを送信ノードに指定した通信用トークンパケットの発行回数の制御を行うことにより、一度の通信要求で静止画像等の大容量のデータ通信が可能となる。また通信要求パケットに示された優先度に応じて、マスタノードが通信要求のあったノードを送信ノードに指定した通信用トークンパケットの出力順序の制御を行うことにより、緊急放送等の通信に使用することが可能である。
【００４５】
なお、以上の説明では、１つのループによって構成されるネットワークについてのみ説明したが、複数のループによって構成されたネットワークに関しても、また問い合わせトークンパケットによりループＩＤを指定しループ毎の問い合わせを行った場合にでも同様に実施可能である。
【００４６】
また、上記の説明では、各ノードが送信するデータが存在する場合に限り、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力するとしたが、各ノードが送信するデータが存在する場合には、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、送信するデータが存在しない場合には、割り当てられた通信要求パケット用のスロットに非通信要求パケットを出力することによっても非同期データの送受信が可能であり、さらに通信要求パケットと非通信要求パケットを受信するマスタノードにおいて、非通信要求パケット（ノードは存在するが送信データが無い）と、通信要求パケット用のスロットにパケットが存在しなかった（ノードが存在しない、またはノードの一部の機能が省電力モード等により動作していない）ことを区別することが可能である。
【００４７】
また、上記の説明では、ループ状のネットワークに関してのみ説明を行なったが、ノードが共通バスに接続されたツリー状のネットワークや、スター状のネットワークや、各ノードが光カプラによって接続された光ネットワークにおいても本願発明を適用できることは言うまでもない。
【００４８】
（実施の形態３）
図７は伝送路上の信号の流れを示す図であり、７０１は問い合わせトークンパケットであり、７０３は通信要求パケット用のスロットであり、７０２は通信要求パケット用のスロット７０３の先頭を示す識別信号である。
【００４９】
また図７で、一定時間毎に出力されるトークンパケットの周期、スロット識別信号７０３の出力タイミング、通信要求パケット用のスロット７０３のサイズの一例を示す。ここでは、トークンパケットの周期を６４０クロック分、各通信要求パケット用のスロット７０３のサイズを２４クロック分、スロット識別信号７０３のサイズを１クロック分とし、一度の問い合わせトークンパケット７０１で１６台のノードの通信要求が可能である。
【００５０】
マスタノードは問い合わせトークンパケット７０１に続き、各ノードに割り当てた通信要求パケット用のスロット７０３の先頭を示すスロット識別信号７０２を出力する。問い合わせトークンパケット７０１で指示されたノードは、スロット識別信号７０２を検出し、自ノードのスロットに通信要求パケットの挿入を行う。マスタノードは受信したスロット識別信号７０２を検出することにより、通信要求パケットの認識を行う。
【００５１】
このように、マスタノードが問い合わせトークンパケットに続き、各ノードに割り当てた通信要求パケット用のスロット７０３の先頭を示すスロット識別信号７０２を出力することにより、各ノードにおいて通信要求パケット用のスロットの検出を容易なものとすることができる。
【００５２】
また、通信要求パケットを出力するスレーブノードがスロット識別信号７０２を取り去り、通信要求パケットの先頭を示す信号と通信要求パケットを続けて出力した場合でも、マスタノードにおいて通信要求パケットの検出が容易なものになる。
【００５３】
上記の説明ではスロット識別信号７０２は通信要求パケット用のスロット７０３の先頭を示すとしたが、通信要求パケット用のスロット７０３の区切りを示すものとしても、同様の結果が得られる。
【００５４】
なお、以上に示した実施の形態は、１つのループによって構成されるネットワークにおいても、複数のループによって構成されたネットワークにおいても実施可能である。
【００５５】
また、以上に示した実施の形態は、ノードが共通バスに接続されたツリー状のネットワークや、スター状のネットワークや、各ノードが光カプラによって接続された光ネットワークにおいても実施可能である。
【００５６】
（実施の形態４）
図８はノードのコントローラ構成図であり、８００は伝送路、８０１はコントローラ、８０２は送受信制御部、８０３は伝送路の接続／切断を行う伝送路スイッチ、８０４は送信バッファ、８０５は受信バッファ、８０６はパケット検出部、８０７は通信要求パケット出力部、８１１は送信先レジスタ、８１２は送信元レジスタ、８０９はマルチプレクサ、８２０はノードに接続される機器である。
８０８はトークンパケット出力部でありマスタノードにのみ存在する。
【００５７】
パケット検出部８０６は受信したパケットと通信要求パケット用のスロットを検出するものであり、送信バッファ８０４は送信すべき非同期データを格納しデータパケットとして出力するものであり、受信バッファ８０５は受信した非同期データを格納するものであり、送信先レジスタ８１１は送信すべき非同期データの宛先となるノードの固有のノードＩＤを格納するレジスタであり、送信元レジスタ８１２は受信した非同期データの送信を行ったノードの固有のノードＩＤを格納するレジスタである。また、送受信制御部８０２は、伝送路スイッチ８０３の接続／切断とパケット検出部８０６と受信バッファ８０５の制御によりパケットの受信を行い、また伝送路スイッチ８０３の接続／切断と送信バッファ８０４と通信要求パケット出力部８０７とトークンパケット出力部８０８とマルチプレクサ８０９の制御によりパケットの送信を行う。
【００５８】
非同期データの送信を行う際には、ノードに接続される機器８２０は、送信バッファ８０４に送信すべき非同期データの書き込みと、送信先レジスタ８１１に非同期データの宛先となるノードの固有のノードＩＤの書き込みを行う。送信すべき非同期データと宛先となるノードの固有のノードＩＤがセットされて始めて、送受信制御部８０２はマスタノードの出力する問い合わせトークンパケットに対して、通信要求パケット出力部８０７よりマルチプレクサ８０９経由で通信要求パケットの出力を行う。その後にマスタノードによって出力される、自ノードが送信ノードに指定された通信用トークンパケットにより、データの送信を行う。
【００５９】
またマスタノードの出力する自ノードが受信ノードに指定された通信用トークンパケットにより、非同期データの受信が行われる。受信した非同期データは受信バッファ８０５に一旦保持される。１パケット分の非同期データが全て揃い、送信元レジスタ８１２に非同期データを送信を行ったノードの固有のノードＩＤがセットされる。ノードに接続される機器８２０は、１パケット分の非同期データ全てと送信ノードの固有のノードＩＤがセットされてた後、受信した非同期データと送信ノードの固有のノードＩＤの読み出しが可能となる。
【００６０】
このように、非同期データ送信の際には、送信バッファに非同期データがセットされ、送信先レジスタにデータを受信すべきノードの固有のノードＩＤがセットされた後に、マスタノードの出力した問い合わせトークンパケットに反応することにより、また非同期データ受信の際には、１パケット分の受信データが揃い、送信元レジスタにデータの送信元であるノードの固有のノードＩＤがセットされた後、読み出しを可能にすることにより、ノード間通信におけるデータの連続性を保証することができる。
【００６１】
【発明の効果】
以上のように本発明によれば、マスタノードの発行した問い合わせトークンパケットに対して、各ノードが送信するデータが存在する場合に限り、割り当てられた通信要求パケット用のスロットに通信要求パケットを出力し、マスタノードは以降のトークンパケット発行において、通信要求のあったノードを送信ノードに指定した通信用トークンパケットを発行することにより、各ノードに公平で、かつ効率的なノード間の非同期データ通信を可能とできる効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１のネットワーク構成図
【図２】実施の形態１のマスタノードおよびスレーブノードのコントローラ構成図
【図３】実施の形態１の伝送路上のパケットの流れを示す図
【図４】実施の形態１のマスタノードの動作フローを示す図
【図５】本発明の実施の形態２のネットワーク構成図
【図６】実施の形態２のマスタノードの動作フローを示す図
【図７】本発明の実施の形態３の伝送路上の信号の流れを示す図
【図８】本発明の実施の形態４のノードのコントローラ構成図
【図９】従来の非同期データ通信方法を用いたネットワーク構成図
【図１０】従来の方法を用いた形態の伝送路上のパケットの流れを示す図
【符号の説明】
１００  伝送路
１０１  マスタノード
１０２  スレーブＡノード
１０３  スレーブＢノード
１０４  スレーブＣノード
１０５  トークンパケット
１１１〜１１４  コントローラ
２０１  コントローラ
２０２  送受信制御部
２０３  伝送路スイッチ
２０４  送信バッファ
２０５  受信バッファ
２０６  パケット検出部
２０７  通信要求パケット出力部
２０８  トークンパケット出力部
２０９  マルチプレクサ
【図１】
0003996304.tif 000002
【図２】
0003996304.tif 000003
【図３】
0003996304.tif 000004
【図４】
0003996304.tif 000005
【図５】
0003996304.tif 000006
【図６】
0003996304.tif 000007
【図７】
0003996304.tif 000008
【図８】
0003996304.tif 000009
【図９】
0003996304.tif 000010
【図１０】
0003996304.tif 000011