(57)【要約】【課題】  トークンフレームが消失し、どの通信ノードもデータを送信できない時間を短縮する通信管理装置を得ること。【解決手段】  通信管理装置または通信ノードである通信装置が通信回線によって接続し、送信権を示すトークンが複数の通信装置を巡回し、トークンを受信した通信装置がデータを送信するトークンパッシングシステムにおいて、通信管理装置の送受信データ処理部は、ブロードキャストされるトークンを含むトークンフレームを受信部から受信すると、トークンの宛先となる通信ノードがトークンを保有するトークン保有時間に基づいた値でトークン監視タイマを起動し、トークン監視タイマがタイムアウトすると次にトークンが巡回する次通信ノードをトークンの宛先とするトークンフレームを生成し、送信部を介して送信する。【選択図】          図１
2014222799.tif 000002
【特許請求の範囲】
【請求項１】
通信管理装置または通信ノードである通信装置が通信回線によって接続し、送信権を示すトークンが複数の前記通信装置を巡回し、前記トークンを受信した前記通信装置がデータを送信するトークンパッシングシステムの通信管理装置であって、
ブロードキャストされる前記トークンを含むトークンフレームを受信すると、前記トークンの宛先となる前記通信ノードが前記トークンを保有するトークン保有時間に基づいた値でトークン監視タイマを起動し、前記トークン監視タイマがタイムアウトすると次に前記トークンが巡回する次通信ノードを前記トークンの宛先とする前記トークンフレームを生成して送信する送受信データ処理部と、
前記送受信データ処理部から送信されたフレームを前記次通信ノードに送信する送信部と、
前記通信ノードから送信されたフレームを受信し、前記送受信データ処理部に通知する受信部と、
を備えることを特徴とする通信管理装置。
【請求項２】
前記送受信データ処理部は、複数の前記通信ノードの前記トークン保有時間に基づいて前記通信ノードのタイマ値をそれぞれ決定し、前記通信ノードのアドレス情報と前記タイマ値とを対応付けてトークン巡回順序表に保存し、前記トークンフレームを受信した場合、前記トークンフレームの前記トークンの宛先のアドレス情報に対応する前記タイマ値でトークン監視タイマを起動することを特徴とする請求項１に記載の通信管理装置。
【請求項３】
前記送受信データ処理部は、前記トークンを識別するトークン番号を保持し、前記トークンの宛先を前記通信管理装置とする、前記トークン番号が付与されたトークン番号付のトークンフレームを受信して送信権を得た場合、前記トークンを保有する時間が経過すると前記次通信ノードを前記トークンの宛先とする前記トークン番号付のトークンフレームを生成し、保持している前記トークン番号をインクリメントした値を新たな前記トークン番号として保持するとともに前記トークン番号付のトークンフレームに付与して送信することを特徴とする請求項１又は２に記載の通信管理装置。
【請求項４】
前記送受信データ処理部は、前記トークン監視タイマがタイムアウトして前記次通信ノードを前記トークンの宛先とする前記トークン番号付のトークンフレームを生成する場合、保持している前記トークン番号を付与することを特徴とする請求項３に記載の通信管理装置。
【請求項５】
前記送受信データ処理部は、受信した前記トークン番号付のトークンフレームの前記トークン番号が、保持している前記トークン番号に一致しない又は受信済みの前記トークン番号の場合、前記トークン番号付のトークンフレームを破棄することを特徴とする請求項３又は４に記載の通信管理装置。
【請求項６】
前記送受信データ処理部は、保持している前記トークン番号に一致する前記トークン番号付のトークンフレームを受信したか否かを示すトークン受信済みフラグを保持し、前記トークン受信済みフラグの値に応じて前記トークン番号が受信済みか否かを判断することを特徴とする請求項５に記載の通信管理装置。
【請求項７】
通信管理装置または通信ノードである通信装置が通信回線によって接続し、送信権を示すトークンが複数の前記通信装置を巡回し、前記トークンを受信した前記通信装置がデータを送信するトークンパッシングシステムの通信ノードであって、
次に前記トークンが巡回する次通信装置のアドレス情報と前記次通信装置が前記トークンを保有するトークン保有時間に基づいて決定されたタイマ値とを記憶し、自通信ノードの前記トークン保有時間が経過すると前記次通信装置を宛先として前記トークンを含むトークンフレームを生成して送信するとともに、前記タイマ値でトークン監視タイマを起動する送受信データ処理部と、
前記送受信データ処理部から送信されたフレームを前記通信装置に送信する送信部と、
前記通信装置から送信されたフレームを受信し、前記送受信データ処理部に通知する受信部と、
を備えることを特徴とする通信ノード。
【請求項８】
前記送受信データ処理部は、前記次通信装置の次にトークンが巡回する次々通信装置のアドレス情報を記憶し、前記トークン監視タイマがタイムアウトした場合、前記次々通信装置を宛先とする前記トークンフレームを生成して送信するとともに前記トークン監視タイマを起動することを特徴とする請求項７に記載の通信ノード。
【請求項９】
前記送受信データ処理部は、前記トークンを識別するトークン番号が付与されたトークン番号付のトークンフレームを受信すると前記トークン番号を保存し、受信した前記トークン番号付のトークンフレームの前記トークン番号が保持している前記トークン番号より大きくない又は既に受信済みのトークン番号の場合、前記トークン番号付のトークンフレームを破棄することを特徴とする請求項７又は８に記載の通信ノード。
【請求項１０】
前記送受信データ処理部は、保持している前記トークン番号に一致する前記トークン番号付のトークンフレームを受信したか否かを示すトークン受信済みフラグを保持し、前記トークン受信済みフラグの値に応じて前記トークン番号が受信済みか否かを判断することを特徴とする請求項９に記載の通信管理装置。
【請求項１１】
通信管理装置または通信ノードである通信装置が通信回線によって接続し、送信権を示すトークンが複数の前記通信装置を巡回し、前記トークンを受信した前記通信装置がデータを送信する通信システムであって、
ブロードキャストされる前記トークンを含むトークンフレームを受信すると、前記トークンの宛先となる前記通信ノードが前記トークンを保有するトークン保有時間に基づいた値でトークン監視タイマを起動し、前記トークン監視タイマがタイムアウトすると次に前記トークンが巡回する次通信ノードを前記トークンの宛先とする前記トークンフレームを生成して前記次通信ノードに送信する通信管理装置と、
次に前記トークンが巡回する次通信装置のアドレス情報を記憶し、自通信ノードのトークン保有時間が終了すると前記次通信装置を宛先として前記トークンを含むトークンフレームを生成して前記次通信装置に送信する通信ノードと、
を備えることを特徴とする通信システム。
【請求項１２】
前記通信管理装置は、前記トークンを識別するトークン番号を保持し、前記トークンの宛先を前記通信管理装置とする、前記トークン番号が付与されたトークン番号付のトークンフレームを受信して送信権を得た場合、前記トークンを保有する時間が経過すると前記次通信ノードを前記トークンの宛先とする前記トークン番号付のトークンフレームを生成し、保持している前記トークン番号をインクリメントした値を新たな前記トークン番号として保持するとともに前記トークン番号付のトークンフレームに付与して前記次通信ノードに送信し、
前記通信ノードは、前記次通信装置のアドレス情報と前記次通信装置が前記トークンを保有するトークン保有時間に基づいて決定されたタイマ値とを記憶し、自通信ノードの前記トークン保有時間が経過すると前記次通信装置を宛先として前記トークンを含むトークンフレームを生成して送信するとともに、前記タイマ値でトークン監視タイマを起動することを特徴とする請求項１１に記載の通信システム。
【請求項１３】
通信管理装置または通信ノードである通信装置が通信回線によって接続し、送信権を示すトークンが複数の前記通信装置を巡回し、前記トークンを受信した前記通信装置がデータを送信するトークンパッシングシステムの通信管理方法であって、
前記トークンを保有する前記通信装置のトークン保有時間に基づいた値でトークン監視タイマを起動するステップと、
前記トークン監視タイマがタイムアウトすると次に前記トークンが巡回する次通信装置を前記トークンの宛先とする前記トークンフレームを生成して前記次通信装置に送信するステップと、
を有する通信管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
トークンパッシングを用いてデータの送信を制御する通信管理装置に関する。
【背景技術】
【０００２】
多数の端末がネットワークに接続されている場合、同時に複数の端末がデータフレームを送信すると衝突が発生してしまう。衝突を回避する方法の１つとして、トークンパッシングがある。トークンパッシングでは、トークンと呼ばれる送信権が端末を巡回し、トークンを含むトークンフレームを受信した端末がデータを送信することができる。なお、トークンは特定のビット列で表現される。
【０００３】
従来のトークンパッシングシステムは、複数のノードから構成され、複数のノードのうちの１台がマスターノードとなっている。マスターノード以外のノードは、自ノード宛のトークンフレームを受信すると、データを送信し、次の順番のノードへトークンフレームを送信する。マスターノードは、他のノードから送信されるトークンフレームを監視し、一定時間トークンフレームを受信しない場合、トークンフレームが消失したものと判断し、トークンを再発行する。（下記特許文献１参照）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６１−２８３２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、トークンフレームが消失したと判断するまでの時間は、トークンフレームがネットワークを一巡するに足る十分な時間、又は１ノード当たりのトークン最大保有時間としている。トークンフレームがネットワークを一巡するに足る十分な時間は長く、その間どのノードもデータを送信できなくなり、通信効率が悪い。
【０００６】
また、各ノードがトークンを保有するトークン保有時間は必ずしも同じではなく、トークン保有時間の長いノードと短いノードが混在する場合がある。トークンフレームが消失したと判断するまでの時間をトークン保有時間が最も長いノードの時間とすると、トークン保有時間の短いノードがトークンを保有しているときにトークンフレームが消失した場合、当該ノードのトークン保有時間が終了してからトークンフレームが消失したと判断するまでの時間が長くなる。どのノードもデータを送信できない時間が長く、通信効率が悪いという問題点があった。
【０００７】
本発明は上記のような問題点を解決するためになされたもので、トークンフレームが消失し、どのノードもデータを送信できない時間を短縮する通信管理装置を得ることを目的としている。
【課題を解決するための手段】
【０００８】
通信管理装置または通信ノードである通信装置が通信回線によって接続し、送信権を示すトークンが複数の通信装置を巡回し、トークンを受信した通信装置がデータを送信するトークンパッシングシステムにおいて、通信管理装置の送受信データ処理部は、ブロードキャストされるトークンを含むトークンフレームを受信部から受信すると、トークンの宛先となる通信ノードがトークンを保有するトークン保有時間に基づいた値でトークン監視タイマを起動し、トークン監視タイマがタイムアウトすると次にトークンが巡回する次通信ノードをトークンの宛先とするトークンフレームを生成し、送信部を介して送信する。
【発明の効果】
【０００９】
本発明によれば、トークンフレームが消失し、どのノードもデータを送信できない時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るトークン管理ノードの構成を示すブロック図。
【図２】実施の形態１に係る通信ノードの構成を示すブロック図。
【図３】実施の形態１に係るトークンパッシングシステムの構成を示す図。
【図４】実施の形態１に係るトークンフレームの構成の例を示す図。
【図５】実施の形態１に係るトークン巡回順序表を示す図。
【図６】実施の形態１に係るトークンが巡回する順序を通知する情報通知フレームの構成の一例を示す図。
【図７】実施の形態１に係るトークン管理ノードの送信部、受信部、及び送受信データ処理部の処理の流れを示すフローチャート。
【図８】実施の形態１に係るトークン管理ノードの送信部、及び送受信データ処理部の処理の流れを示すフローチャート。
【図９】実施の形態１に係る通信ノードの送信部、受信部、及び送受信データ処理部の処理の流れを示すフローチャート。
【図１０】実施の形態２に係るトークンフレームの構成の例を示す図。
【図１１】実施の形態２に係るトークンが巡回する順序とトークン監視タイマのタイマ値を通知する情報通知フレームの構成の一例を示す図。
【図１２】実施の形態２に係るトークン巡回順序表を示す図。
【図１３】実施の形態２に係る通信ノードの送信部、受信部、及び送受信データ処理部の処理の流れを示すフローチャート。
【図１４】実施の形態２に係るトークン管理ノードの送信部、及び送受信データ処理部の処理の流れを示すフローチャート。
【図１５】実施の形態２に係る通信ノードが保持するトークン巡回順序表を示す図。
【図１６】実施の形態２に係る通信ノードの送信部、受信部、及び送受信データ処理部２４の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、実施の形態１に係るトークン管理ノード１１の構成を示すブロック図である。トークン管理ノード１１は、通信管理装置として、トークンを管理するトークン管理ノードである。トークン管理ノード１１は、送信部１２、受信部１３、及び送受信データ処理部１４から構成される。送信部１２は、送受信データ処理部１４から通知されたフレームを送信する。受信部１３は、フレームを受信し、送受信データ処理部１４に通知する。送受信データ処理部１４は、受信部１３からフレームを受信し、受信したデータの処理を行う。また、送受信データ処理部１４は、データを生成し、送信部１２に通知する。
【００１２】
図２は、実施の形態１に係る通信ノード２１の構成を示すブロック図である。通信ノード２１は、トークンを含むトークンフレームを受信して送信権を得るとデータを送信する。通信ノード２１は、送信部２２、受信部２３、及び送受信データ処理部２４から構成される。送信部２２は、送受信データ処理部２４から通知されたフレームを送信する。受信部２３は、フレームを受信し、送受信データ処理部２４に通知する。送受信データ処理部２４は、受信部２３からフレームを受信し、受信したデータの処理を行う。また、送受信データ処理部２４は、データを生成し、送信部２２に通知する。
【００１３】
図３は、実施の形態１に係るトークンパッシングシステム３１の構成を示す図である。トークンパッシングシステム３１には、トークン管理ノード１１、通信ノード２１ａ〜ｃが通信回線３２を介して接続されている。本実施の形態において、通信ノード２１ａ〜ｃの数を３としたが、３以上としてもよい。通信ノードの数は特に限定しない。
【００１４】
トークン管理ノード１１の送受信データ処理部１４は、トークンフレームを通信ノード２１ａ〜ｃから受信するとトークン監視タイマを起動する。送受信データ処理部１４は、トークン監視タイマがタイムアウトするとトークンフレームが消失したと判断する。送受信データ処理部１４は、トークンフレームを生成し、次にトークンが巡回する通信ノードに送信部１２を介してトークンフレームを送信する。
【００１５】
図４は、実施の形態１に係るトークンフレーム４１の構成の例を示す図である。トークンフレーム４１は、宛先アドレス、送信元アドレス、長さ／タイプ、データ、エラー検出符号から構成される。宛先アドレスには、ブロードキャストアドレスが設定される。送信元アドレスには、トークンフレーム４１の送信元の装置を示すアドレスが設定される。長さ／タイプには、データの長さとデータの種類を識別する値が設定される。データには、データ種別、トークン宛先アドレス、及びトークンが設定される。データ種別はデータの種類を示す識別子である。この場合、トークンフレームであることを示す識別子が設定される。トークン宛先アドレスには、次にトークンが巡回する装置のアドレスが設定される。トークンは特定のビット列である。エラー検出符号は、通信中に誤りが発生していないか検出するための符号である。
【００１６】
トークンフレーム４１は、ブロードキャストで送信されるが、トークンの宛先として、次にトークンが巡回する通信ノードがトークン宛先アドレスに設定される。トークンフレーム４１を受信した通信ノード２１ａ〜ｃがトークン宛先アドレスの値で自装置宛かどうかを判別する。
【００１７】
図５は、実施の形態１に係るトークン巡回順序表５１を示す図である。トークン巡回順序表５１は、通信ノード２１ａ〜ｃのアドレスとトークン監視タイマのタイマ値を対応付けた表である。トークン巡回順序表５１には、トークンが巡回する順序で値が保存されている。トークンは、通信ノード２１ａ、通信ノード２１ｂ、通信ノード２１ｃ、通信ノード２１ａ、・・・の順序で巡回する。通信ノード２１ａはアドレスａで、トークン監視タイマの値はＴａである。通信ノード２１ｂはアドレスｂで、トークン監視タイマの値はＴｂである。通信ノード２１ｃはアドレスｃで、トークン監視タイマの値はＴｃである。
【００１８】
トークン管理ノード１１の送受信データ処理部１４がトークン巡回順序表５１を保持する。トークン監視タイマのタイマ値は、各通信ノード２１ａ〜ｃがそれぞれトークンを保有するトークン保有時間に基づいて送受信データ処理部１４が決定する。トークン保有時間とは、通信ノード２１ａ〜ｃがトークンを受信してから次の通信ノード２１ａ〜ｃへトークンを送信するまでの時間である。
【００１９】
図６は、実施の形態１に係るトークンが巡回する順序を通知する情報通知フレーム６１の構成の一例を示す図である。情報通知フレーム６１は、トークン管理ノード１１の送受信データ処理部１４が生成し、通信ノード２１ａ〜ｃにトークンが巡回する順序を通知するフレームである。情報通知フレーム６１は、宛先アドレス、送信元アドレス、長さ／タイプ、データ、エラー検出符号から構成される。
【００２０】
宛先アドレスには、ブロードキャストアドレスが設定される。送信元アドレスには、トークン管理ノード１１のアドレスが設定される。長さ／タイプには、データの長さとデータの種類を示す値が設定される。データのデータ種別には、トークンが巡回する順序を通知する情報通知フレームであることを示す値が設定される。また、トークンが巡回する順序として、通信ノード２１ａのアドレスａ、通信ノード２１ｂのアドレスｂ、通信ノード２１ｃのアドレスｃが順番に設定される。
【００２１】
次に、動作について説明する。
図７は、実施の形態１に係るトークン管理ノード１１の送信部１２、受信部１３、及び送受信データ処理部１４の処理の流れを示すフローチャートである。トークン管理ノード１１は、起動時や通信ノードが新たに追加された場合に図７の処理を実行する。送受信データ処理部１４は、ステップＳ７１より処理を開始する。
【００２２】
ステップＳ７１において、送受信データ処理部１４は、通信ノード２１ａ〜ｃからトークン保有時間、及びアドレス情報を収集するため、情報送信要求フレームを生成し、送信部１２に通知する。アドレス情報はＭＡＣアドレスや接続ポート番号等、通信ノード２１ａ〜ｃを一意に特定するための情報である。処理はステップＳ７２へ進む。
【００２３】
ステップＳ７２において、送信部１２は、情報送信要求フレームを通信ノード２１ａ〜ｃにブロードキャストで送信する。通信ノード２１ａ〜ｃは、情報送信要求フレームを受信するとトークン保有時間、及びアドレス情報を保存した情報送信応答をトークン管理ノード１１へ送信する。なお、送信部１２は、情報送信要求フレームを通信ノード２１ａ〜ｃそれぞれにユニキャストで送信するようにしてもよい。また、送信部１２は、通信ノード２１ａ〜ｃのうち複数の通信ノードを宛先とするマルチキャストで情報送信要求フレームを送信するようにしてもよい。送信部１２は、宛先アドレスとしてマルチキャストアドレスを指定する。マルチキャストアドレスは、複数の通信ノードのグループを示すアドレスとしてあらかじめ割り当てられたアドレスである。処理はステップＳ７３へ進む。
【００２４】
ステップＳ７３において、受信部１３は、通信ノード２１ａ〜ｃから情報送信応答を受信すると送受信データ処理部１４へ通知する。処理はステップＳ７４へ進む。
【００２５】
ステップＳ７４において、送受信データ処理部１４は、トークンが巡回する順序を決定し、情報通知フレーム６１を生成し、送信部１２に通知する。トークンが巡回する順序は、例えば、通信ノード２１ａ〜ｃの種類やトークン管理ノード１１からの距離に基づいて決定する。本実施の形態において、トークンが巡回する順序は、通信ノード２１ａ、通信ノード２１ｂ、通信ノード２１ｃとする。通信ノード２１ｃの次は、通信ノード２１ａに戻る。また、送受信データ処理部１４は、通信ノード２１ａ〜ｃから通知されたトークン保有時間に基づいてトークン監視タイマのタイマ値Ｔａ〜Ｔｃを決定し、トークン巡回順序表５１にアドレス情報と対応付けて保存する。処理はステップＳ７５及びＳ７６へ進む。
【００２６】
ステップＳ７５において、送信部１２は、情報通知フレーム６１を通信ノード２１ａ〜ｃにブロードキャストで送信する。
【００２７】
ステップＳ７６において、送受信データ処理部１４は、トークンフレーム４１を生成する。宛先アドレスには、最初にトークンが巡回する通信ノード２１ａのアドレスが設定される。送信元アドレスには、トークン管理ノード１１のアドレスが設定される。長さ／タイプにはデータの長さとデータの種類を示す値が設定される。データのデータ種別には、トークンフレームを示す値、トークンにはビット列が設定される。処理はステップＳ７７及びＳ７８へ進む。
【００２８】
ステップＳ７７において、送受信データ処理部１４は、トークン巡回順序表５１を参照し、通信ノード２１ａのアドレスａに対応付けられたタイマ値Ｔａでトークン監視タイマを起動する。送受信データ処理部１４は、ステップＳ７７の処理を行うとともに送信部１２にステップＳ７８の処理を行うように通知する。
【００２９】
ステップＳ７８において、送信部１２は、トークンフレーム４１を通信ノード２１ａに送信する。処理はステップＳ７９へ進む。
【００３０】
ステップＳ７９において、送受信データ処理部１４は、トークンフレーム監視処理を行う。トークンフレーム監視処理の詳細は図８で説明する。
【００３１】
図８は、実施の形態１に係るトークン管理ノード１１の送信部１２、及び送受信データ処理部１４の処理の流れを示すフローチャートである。図８は、図７のステップＳ７９のトークンフレーム監視処理の詳細を示すフローチャートである。送受信データ処理部１４は、ステップＳ８１より処理を開始する。
【００３２】
ステップＳ８１において、送受信データ処理部１４は、トークン監視タイマがタイムアウトしていない場合、処理はステップＳ８２へ進む。トークン監視タイマがタイムアウトした場合、処理はステップＳ８３へ進む。トークン監視タイマがタイムアウトした場合、送受信データ処理部１４は、トークンフレーム１０１が消失したと判断する。
【００３３】
ステップＳ８２において、送受信データ処理部１４は、受信部１３からトークンフレーム４１の受信が通知された場合、処理はステップＳ８４へ進む。受信したトークンフレーム４１は、通信ノード２１ｂから送信され、トークン宛先アドレスが通信ノード２１ｃのアドレスｃとする。通信ノード２１ｃは、通信ノード２１ｂの次にトークンが巡回する通信ノードである。受信部１３からトークンフレーム４１の受信が通知されていない場合、処理はステップＳ８１へ戻る。
【００３４】
ステップＳ８４において、送受信データ処理部１４は、トークン巡回順序表５１を参照し、通知されたトークンフレーム４１のトークン宛先アドレスに設定されたアドレスｃに対応するタイマ値Ｔｃでトークン監視タイマを起動する。処理はステップＳ８１へ戻る。
【００３５】
ステップＳ８３において、送受信データ処理部１４は、トークン監視タイマがタイムアウトしたため、トークンフレーム４１が消失したと判断し、トークンフレーム４１を再発行する。送受信データ処理部１４は、トークン巡回順序表５１を参照し、次にトークンが巡回する通信ノード２１ｃのアドレスｃをトークン宛先アドレスとするトークンフレーム４１を生成し、送信部１２へ通知する。処理はステップＳ８４及びＳ８５へ進む。
【００３６】
ステップＳ８４において、送受信データ処理部１４は、トークン巡回順序表５１を参照し、通信ノード２１ｃに対応付けられたタイマ値Ｔｃでトークン監視タイマを起動する。送受信データ処理部１４は、ステップＳ８４の処理を行うとともに送信部１２にステップＳ８５の処理を行うように通知する。
【００３７】
ステップＳ８５において、送信部１２はトークンフレーム４１をブロードキャストで送信する。
送受信データ処理部１４は、ステップＳ８４の処理を行うとステップＳ８１へ戻る。
【００３８】
次に、通信ノード２１ａ〜ｃの動作について説明する。通信ノード２１ａを例とする。
図９は、実施の形態１に係る通信ノード２１ａの送信部２２、受信部２３、及び送受信データ処理部２４の処理の流れを示すフローチャートである。受信部２３は、通信ノード２１ａ宛のトークンフレーム４１を受信するとステップＳ９１より処理を開始する。
【００３９】
ステップＳ９１において、受信部２３は、トークンフレーム４１のトークン宛先アドレスが自アドレスと一致する場合、送受信データ処理部２４へ通知し、ステップＳ９２へ進む。トークン宛先アドレスが自アドレスと一致しない場合、処理は終了する。
【００４０】
ステップＳ９２において、送受信データ処理部２４は、トークン保有時間をタイマ値とするトークン保有タイマを起動する。処理はステップＳ９３及びＳ９４へ進む。
【００４１】
ステップＳ９３において、送信部２２は、送信するデータがあれば送信する。
【００４２】
ステップＳ９４において、送受信データ処理部２４は、トークン保有タイマがタイムアウトした場合、ステップＳ９５へ進む。トークン保有タイマがタイムアウトしていない場合、ステップＳ９３に戻る。トークン保有タイマがタイムアウトするまで、送信部２２は、データがあればデータの送信を繰り返す。トークン保有タイマのタイムアウトは、トークン保有時間が経過したことを示す。
【００４３】
ステップＳ９５において、送受信データ処理部２４は、トークンフレーム４１を生成し、送信部２２へ通知する。送受信データ処理部２４は、トークンが巡回する順序の情報をあらかじめトークン管理ノード１１から情報通知フレーム６１で通知され、保持している。次にトークンが巡回する通信ノード２１ｂは、アドレスｂである。トークンフレーム４１の宛先アドレスには、ブロードキャストアドレスが設定される。送信元アドレスには、通信ノード２１ａのアドレスａが設定される。長さ／タイプには、データの長さとデータの種類を示す値が設定される。データ種別には、トークンフレームを示す値が設定される。トークン宛先アドレスには、通信ノード２１ｂのアドレスｂが設定される。処理はステップＳ９６へ進む。
【００４４】
ステップＳ９６において、送信部２２は、トークンフレーム４１をブロードキャストで送信し、処理を終了する。
【００４５】
なお、本実施の形態において、トークンが巡回する順序は、トークン管理ノード１１の送信部１２から通信ノード２１ａ〜ｃに情報通知フレーム６１をブロードキャストで送信することにより通知されている。しかし、送信部１２は、情報送信要求フレーム６１を通信ノード２１ａ〜ｃそれぞれにユニキャストで送信するようにしてもよい。その場合、情報通知フレーム６１の宛先アドレスには、宛先の通信ノードのアドレスが設定される。また、データには、トークンが巡回する順序として、宛先の通信ノードの次にトークンが巡回する通信ノードのアドレスが設定される。例えば、通信ノード２１ａを宛先として情報通知フレーム６１を送信する場合、通信ノード２１ｂのアドレスｂが設定される。
【００４６】
さらに、トークン管理ノード１１の送信部１２は、通信ノード２１ａ〜ｃのうち複数の通信ノードを宛先とするマルチキャストで情報通知フレーム６１を送信するようにしてもよい。この場合、情報通知フレーム６１の宛先アドレスには、マルチキャストアドレスが設定される。また、データには、トークンが巡回する順序として、宛先の通信ノードの次にトークンが巡回する通信ノードのアドレスが設定される。例えば、通信ノード２１ａ及び通信ノード２１ｃを示すマルチキャストアドレスに情報通知フレーム６１を送信する場合、通信ノード２１ｂのアドレスｂとトークン管理ノード１１のアドレスが設定される。
【００４７】
また、本実施の形態において、トークン管理ノード１１にもトークンが巡回するようにしてもよい。トークンが巡回する順序は、例えば、トークン管理ノード１１、通信ノード２１ａ、通信ノード２１ｂ、通信ノードｃ、トークン管理ノード１１、通信ノード２１ａ、・・・の順序となる。よって、トークンは、トークン管理ノード１１または通信ノード２１ａ〜ｃである通信装置を巡回することとなる。
【００４８】
また、本実施の形態において、トークン管理ノード１１からの要求に応じて通信ノード２１ａ〜ｃがトークン保有時間を通知することにより、トークン管理ノード１１が各通信ノード２１ａ〜ｃのトークン保有時間を収集するようにしたが、トークン管理ノード１１が通信ノード２１ａ〜ｃのトークン保有時間を入力されて保持し、各通信ノード２１ａ〜ｃに通知するようにしてもよい。
【００４９】
また、本実施の形態において、トークン管理ノード１１と通信ノード２１ａ〜ｃを異なる装置としたが、どちらも送信部、受信部、及び送受信データ処理部から構成される通信ノードである。設定により、トークン管理ノードとして動作するか、あるいは通信ノードとして動作するかを決定するようにしてもよい。トークン管理ノード１１が故障した場合、通信ノード２１ａ〜ｃの中から新たなトークン管理ノードを設定することができる。よって、トークンパッシングシステム全体としてトークン管理ノードがないことによりどのノードも通信できない時間を短縮することができる。
【００５０】
また、通信ノード２１ａ〜ｃのうちの１台がトークン管理ノードとしても動作するようにしてもよい。トークン管理ノードが故障した場合、通信ノード２１ａ〜ｃの中から新たなトークン管理ノードを設定することができる。よって、トークンパッシングシステム全体としてトークン管理ノードがないことによりどのノードも通信できない時間を短縮することができる。さらに、トークンパッシングシステム全体として装置の台数を削減することができる。
【００５１】
したがって、本実施の形態では、送受信データ処理部１４は、ブロードキャストされるトークンを含むトークンフレーム４１を受信部１３から受信すると、トークンの宛先となる通信ノードのトークン保有時間に基づいた値でトークン監視タイマを起動し、トークン監視タイマがタイムアウトすると次にトークンが巡回する次通信ノードをトークンの宛先とするトークンフレーム４１を生成し、送信部１２を介して送信するようにしているので、トークンフレーム４１が消失し、どの通信ノードもデータを送信できない時間を短縮することができる。
【００５２】
トークンフレーム４１が消失した場合でもトークンの巡回に大きな遅延が発生せず、トークンフレーム４１が消失しない場合とほぼ同様の時間でトークンが通信ノードを巡回することができる。よって、例えばＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）のシステムのようにリアルタイム性や可用性が求められるシステムにも適用することができる。
【００５３】
また、送受信データ処理部１４は、トークン保有時間に基づいて通信ノードのタイマ値をそれぞれ決定し、通信ノードのアドレス情報とタイマ値とを対応付けてトークン巡回順序表５１に保存し、トークンフレーム４１を受信した場合、トークンフレーム４１のトークンの宛先のアドレス情報に対応するタイマ値でトークン監視タイマを起動するようにしているので、トークンを保持している通信ノードのトークン保有時間に応じたタイマ値でトークン監視タイマを起動することができる。よって、トークンフレーム４１が消失し、どの通信ノードもデータを送信できない時間を短縮することができる。
【００５４】
実施の形態２．
以上の実施の形態１では、トークン管理ノード１１がトークン監視タイマを起動し、トークンフレームが消失した場合には次にトークンが巡回する通信ノードにトークンフレームを送信するようにしたものであるが、本実施の形態においては、通信ノードがトークン監視タイマを起動し、トークンフレームが消失した場合には次にトークンが巡回する通信ノードにトークンフレームを送信する実施の形態を示す。
【００５５】
本実施の形態において、トークン管理ノード１１及び通信ノード２１ａ〜ｃの構成は実施の形態１と同様である。本実施の形態においては、トークン管理ノード１１にもトークンが巡回されるものとする。トークンは、トークン管理ノード１１または通信ノード２１ａ〜ｃである通信装置を巡回することとなる。次にトークンが巡回する次通信装置と、次の次にトークンが巡回する次々通信装置は、通信ノードの場合を例として説明するが、通信管理装置としてのトークン管理ノード１１であってもよい。
【００５６】
図１０は、実施の形態２に係るトークンフレーム１０１の構成の例を示す図である。トークンフレーム４１との違いは、データの中にトークン番号が設定されることである。トークン管理ノード１１の送受信データ処理部１４は、トークンフレーム１０１を受信するとトークン番号を記憶し、トークンフレームを生成するときには記憶していたトークン番号を１インクリメントした値を付与する。通信ノード２１ａ〜ｃの送受信データ処理部２４は、トークンフレーム１０１を受信するとトークン番号を記憶する。
【００５７】
図１１は、実施の形態２に係るトークンが巡回する順序とトークン監視タイマのタイマ値を通知する情報通知フレーム１１１の構成の一例を示す図である。情報通知フレーム１１１は、トークン管理ノード１１の送受信データ処理部１４が生成し、通信ノード２１ａ〜ｃにトークンが巡回する順序とトークン監視タイマのタイマ値を通知するフレームである。トークン監視タイマのタイマ値は、通信ノード２１ａ〜ｃから通知されるトークン保有時間に基づいて決定される値である。情報通知フレーム１１１は、宛先アドレス、送信元アドレス、長さ／タイプ、データ、エラー検出符号から構成される。
【００５８】
宛先アドレスには、ブロードキャストアドレスが設定される。送信元アドレスには、トークン管理ノード１１のアドレスが設定される。長さ／タイプには、データの長さとデータの種類を示す値が設定される。データのデータ種別には、トークンが巡回する順序とトークン監視タイマのタイマ値を通知する情報通知フレームであることを示す値が設定される。トークンが巡回する順序とトークン監視タイマのタイマ値として、通信ノード２１ａのアドレスａとタイマ値Ｔａ、通信ノード２１ｂのアドレスｂとタイマ値Ｔｂ、通信ノード２１ｃのアドレスｃとタイマ値Ｔｃが順番に設定される。
【００５９】
図１２は、実施の形態２に係るトークン管理ノード１１が保持するトークン巡回順序表１２１を示す図である。トークン巡回順序表１２１には、トークンが巡回する順序で通信ノード２１ａ〜ｃのアドレスａ〜ｃが保存される。トークンが巡回する順序は、トークン管理ノード１１、通信ノード２１ａ、通信ノード２１ｂ、通信ノード２１ｃとなる。通信ノード２１ｃの次は、トークン管理ノード１１に戻る。
【００６０】
次に、動作について説明する。
図１３は、実施の形態２に係るトークン管理ノード１１の送信部１２、受信部１３、及び送受信データ処理部１４の処理の流れを示すフローチャートである。トークン管理ノード１１は、起動時や通信ノードが新たに追加された場合に図１３の処理を実行する。
【００６１】
送受信データ処理部１４は、トークン監視タイマの値として、１つの値ＴＭを保持する。タイマ値ＴＭは、例えば、通信ノード２１ａ〜ｃのタイマ値Ｔａ〜Ｔｃのうち、最も大きい値に基づいて決定する。送受信データ処理部１４は、通信ノード数分のトークン監視タイマの値を保持しないため、制御が容易になる。送受信データ処理部１４は、ステップＳ１３１より処理を開始する。
【００６２】
ステップＳ１３１において、送受信データ処理部１４は、通信ノード２１ａ〜ｃからトークン保有時間、及びアドレス情報を収集するため、情報送信要求フレームを生成し、送信部１２に通知する。処理はステップＳ１３２へ進む。
【００６３】
ステップＳ１３２において、送信部１２は、情報送信要求フレームを通信ノード２１ａ〜ｃにブロードキャストで送信する。通信ノード２１ａ〜ｃは、情報送信要求フレームを受信するとトークン保有時間、及びアドレス情報を保存した情報送信応答をトークン管理ノード１１へ送信する。なお、送信部１２は、情報送信要求フレームを通信ノード２１ａ〜ｃそれぞれにユニキャストで送信するようにしてもよい。また、送信部１２は、通信ノード２１ａ〜ｃのうち複数の通信ノードを宛先とするマルチキャストで情報送信要求フレームを送信するようにしてもよい。処理はステップＳ１３３へ進む。
【００６４】
ステップＳ１３３において、受信部１３は、通信ノード２１ａ〜ｃから情報送信応答を受信すると送受信データ処理部１４へ通知する。処理はステップＳ１３４へ進む。
【００６５】
ステップＳ１３４において、送受信データ処理部１４は、トークンが巡回する順序を決定し、情報通知フレーム１１１を生成し、送信部１２に通知する。また、送受信データ処理部１４は、通信ノード２１ａ〜ｃから受信した情報送信応答より、通信ノード２１ａ〜ｃのアドレスａ〜ｃをトークン巡回順序表１２１に保存する。処理はステップＳ１３５及びＳ１３６へ進む。
【００６６】
ステップＳ１３５において、送信部１２は、情報通知フレーム１１１を通信ノード２１ａ〜ｃにブロードキャストで送信する。
【００６７】
ステップＳ１３６において、送受信データ処理部１４は、トークンフレーム１０１を生成する。宛先アドレスには、ブロードキャストアドレスが設定される。送信元アドレスには、トークン管理ノード１１のアドレスが設定される。長さ／タイプにはデータの長さとデータの種類を示す値が設定される。データのトークン宛先アドレスには、最初にトークンが巡回する通信ノード２１ａのアドレスが設定される。データ種別には、トークンフレームを示す値が設定される。トークン番号には、番号の初期値が設定される。トークンにはビット列が設定される。処理はステップＳ１３７及びＳ１３８へ進む。
【００６８】
ステップＳ１３７において、送受信データ処理部１４は、タイマ値ＴＭでトークン監視タイマを起動する。送受信データ処理部１４は、ステップＳ１３７の処理を行うとともに送信部１２にステップＳ１３８の処理を行うように通知する。
【００６９】
ステップＳ１３８において、送信部１２は、トークンフレーム１０１を通信ノード２１ａに送信する。処理はステップＳ１３９へ進む。
【００７０】
ステップＳ１３９において、送受信データ処理部１４は、トークンフレーム監視処理を行う。トークンフレーム監視処理の詳細は図１４で説明する。
【００７１】
図１４は、実施の形態２に係るトークン管理ノード１１の送信部１２、及び送受信データ処理部１４の処理の流れを示すフローチャートである。図１４は、図１３のステップＳ１３９のトークンフレーム監視処理の詳細を示すフローチャートである。送受信データ処理部１４は、保持しているトークン番号と一致するトークンフレーム１０１の受信が１回目か否かを識別するため、トークン受信済みフラグを保持する。送受信データ処理部１４は、あらかじめトークン受信済みフラグを０に設定する。送受信データ処理部１４は、ステップＳ１４０１より処理を開始する。
【００７２】
ステップＳ１４０１において、送受信データ処理部１４は、トークン監視タイマがタイムアウトしていない場合、ステップＳ１４０２へ進む。トークン監視タイマがタイムアウトした場合、ステップＳ１４１１へ進む。
【００７３】
ステップＳ１４０２において、送受信データ処理部１４は、受信部１３からトークンフレーム１０１の受信が通知された場合、ステップＳ１４０３へ進む。トークンフレーム１０１を受信していない場合、処理はステップＳ１４０１へ戻る。
【００７４】
ステップＳ１４０３において、送受信データ処理部１４は、トークンフレーム１０１のトークン番号が保持している値と一致し、さらにトークン受信済みフラグが０の場合、
１回目の受信と判断し、ステップＳ１４０４へ進む。トークンフレーム１０１のトークン番号が保持しているトークン番号と一致しない、またはトークン受信済みフラグが１の場合、送受信データ処理部１４は２回目以降の受信と判断し、トークンフレーム１０１を破棄し、処理はステップＳ１４０１へ戻る。
【００７５】
ステップＳ１４０４において、送受信データ処理部１４は、トークンフレーム１０１のトークン宛先アドレスが自アドレスと一致する場合、ステップＳ１４０５へ進む。一致しない場合、処理はステップＳ１４１２へ進む。
【００７６】
ステップＳ１４０５において、送受信データ処理部１４は、トークン保有時間をタイマ値とするトークン保有タイマを起動する。処理はステップＳ１４０６及びＳ１４０７へ進む。
【００７７】
ステップＳ１４０６において、送信部１２は、送信するデータがあれば送信する。
【００７８】
ステップＳ１４０７において、送受信データ処理部１４は、トークン保有タイマがタイムアウトした場合、ステップＳ１４０８へ進む。トークン保有タイマがタイムアウトしていない場合、ステップＳ１４０６に戻る。トークン保有タイマがタイムアウトするまで、送信部１２は、データがあればデータの送信を繰り返す。トークン保有タイマのタイムアウトは、トークン保有時間が経過したことを示す。
【００７９】
ステップＳ１４０８において、送受信データ処理部１４は、トークン巡回順序表１２１を参照し、次にトークンが巡回する通信ノードのアドレスをトークン宛先アドレスとするトークンフレーム１０１を生成し、送信部１２へ通知する。送受信データ処理部１４は、保持しているトークン番号を１インクリメントした値をトークンフレーム１０１のトークン番号に設定する。送受信データ処理部１４は、トークンフレーム１０１のトークン番号に設定した値を新たなトークン番号として保持する。また、送受信データ処理部１４は、トークン受信済みフラグを０に設定する。処理はステップＳ１４０９及びＳ１４１０へ進む。
【００８０】
ステップＳ１４０９において、送受信データ処理部１４は、タイマ値ＴＭでトークン監視タイマを起動する。送受信データ処理部１４は、ステップＳ１４０９の処理を行うとともに送信部１２にステップＳ１４１０の処理を行うように通知する。
【００８１】
ステップＳ１４１０において、送信部１２はトークンフレーム１０１をブロードキャストで送信し、ステップＳ１４０１に戻る。
【００８２】
ステップＳ１４１１において、送受信データ処理部１４は、トークン巡回順序表１２１を参照し、次にトークンが巡回する通信ノードのアドレスをトークン宛先アドレスとするトークンフレーム１０１を生成し、送信部１２へ通知する。送受信データ処理部１４は、保持しているトークン番号をトークンフレーム１０１のトークン番号に設定する。トークン監視タイマがタイムアウトした場合、送受信データ処理部１４は、トークンフレーム１０１が消失したと判断する。この場合、トークンフレーム１０１は再発行となるため、トークン番号はインクリメントしない。処理はステップＳ１４１２及びＳ１４１３へ進む。
【００８３】
ステップＳ１４１２において、送受信データ処理部１４は、タイマ値ＴＭでトークン監視タイマを起動する。送受信データ処理部１４は、ステップＳ１４１２の処理を行うとともに送信部１２にステップＳ１４１３の処理を行うように通知する。
【００８４】
ステップＳ１４１３において、送信部１２はトークンフレーム１０１をブロードキャストで送信し、ステップＳ１４０１に戻る。
【００８５】
なお、ステップＳ１４０３において、トークン番号が保持しているトークン番号と一致しないのは、例えば、次のケースである。トークン番号ｍのトークンフレーム１０１ａが遅延し、通信ノード２１ｃはトークンフレーム１０１ａが消失したと判断し、新たにトークン番号ｍのトークンフレーム１０１ｂを生成し、送信したとする。トークン管理ノード１１がトークンフレーム１０１ｂを受信し、トークン番号をインクリメントし、次にトークンが巡回する通信ノード２１ａへトークン番号ｍ＋１のトークンフレーム１０１ｂを送信した後に、トークン番号ｍのトークンフレーム１０１ａを受信するケースである。
【００８６】
また、ステップＳ１４０３において、トークン番号が同じトークンフレーム１０１を２回以上受信するのは、例えば、次のケースである。トークン番号ｍのトークンフレーム１０１ａが遅延し、通信ノード２１ｃはトークンフレーム１０１ａが消失したと判断し、新たにトークン番号ｍのトークンフレーム１０１ｂを生成し、送信したとする。トークン管理ノード１１がトークンフレーム１０１ｂを受信し、トークン番号をインクリメントする前に、トークンフレーム１０１ａを受信するケースである。
【００８７】
次に、通信ノード２１ａ〜ｃの動作について説明する。通信ノード２１ａを例とする。
図１５は、実施の形態２に係る通信ノード２１ａが保持するトークン巡回順序表１５１を示す図である。通信ノード２１ａの送受信データ処理部２４は、受信部２３を介して情報通知フレーム１１１を受信する。送受信データ処理部２４は、情報通知フレーム１１１より、トークンが次に巡回する次通信ノード２１ｂのアドレスとトークン監視タイマのタイマ値、及び、次の次に巡回する次々通信ノード２１ｃのアドレスをトークン巡回順序表１５１に保存する。次通信ノード２１ｂはアドレスｂで、トークン監視タイマの値はＴｂである。次々通信ノード２１ｃはアドレスｃである。
【００８８】
図１６は、実施の形態２に係る通信ノード２１ａの送信部２２、受信部２３、及び送受信データ処理部２４の処理の流れを示すフローチャートである。
【００８９】
送受信データ処理部２４は、あらかじめ受信部２３から情報通知フレーム１１１を通知され、次通信ノードのアドレスとタイマ値及び次々通信ノードのアドレスをトークン巡回順序表１５１に保存する。また、送受信データ処理部２４は、トークン番号が保持しているトークン番号より大きいトークンフレーム１０１の受信が１回目か否かを識別するため、トークン受信済みフラグを保持する。送受信データ処理部２４は、あらかじめトークン受信済みフラグを０に設定する。
【００９０】
ステップＳ１６０１において、受信部２３は通信ノード２１ａ宛のトークンフレーム１０１を受信すると、トークン番号を保存し、送受信データ処理部２４へ通知する。処理はステップＳ１６０２へ進む。
【００９１】
ステップＳ１６０２において、送受信データ処理部１４は、受信したトークンフレーム１０１のトークン番号が保持しているトークン番号より大きく、さらにトークン受信済みフラグが０の場合、１回目の受信と判断し、ステップＳ１６０３へ進む。トークン番号が保持しているトークン番号より大きくない、またはトークン受信済みフラグが１の場合は２回目以降の受信と判断し、トークンフレーム１０１を破棄し、処理を終了する。
【００９２】
ステップＳ１６０３において、送受信データ処理部２４は、トークン保有時間をタイマ値とするトークン保有タイマを起動する。処理はステップＳ１６０４及びＳ１６０５へ進む。
【００９３】
ステップＳ１６０４において、送信部２２は、送信するデータがあれば送信する。トークン保有タイマがタイムアウトするまで、送信部２２は、データがあればデータの送信を繰り返す。
【００９４】
ステップＳ１６０５において、送受信データ処理部２４は、トークン保有タイマがタイムアウトした場合、ステップＳ１６０６へ進む。トークン保有タイマがタイムアウトしていない場合、ステップＳ１６０４に戻る。トークン保有タイマがタイムアウトするまで、送信部２２は、データがあればデータの送信を繰り返す。
【００９５】
ステップＳ１６０６において、送受信データ処理部２４は、トークン巡回順序表１５１を参照し、トークンフレーム１０１を生成し、送信部２２へ通知する。宛先アドレスには、次通信ノード２１ｂのアドレスｂが設定される。送信元アドレスには、通信ノード２１ｂのアドレスｂが設定される。送受信データ処理部２４は、長さ／タイプには、データの長さとデータの種類を示す値が設定される。データ種別には、トークンフレームを示す値が設定される。トークン番号には、ステップＳ１６０１において保存したトークン番号が設定される。また、送受信データ処理部２４は、トークン受信済みフラグを０に設定する。処理はステップＳ１６０７及びＳ１６０８へ進む。
【００９６】
ステップＳ１６０７において、送受信データ処理部２４は、トークン巡回順序表１５１を参照し、トークンフレーム１０１の宛先となる通信ノード２１ｂに対応付けられたタイマ値Ｔｂでトークン監視タイマを起動する。送受信データ処理部２４は、ステップＳ１６０７の処理を行うとともに送信部２２にステップＳ１６０８の処理を行うように通知する。
【００９７】
ステップＳ１６０８において、送信部２２はトークンフレーム１０１を通信ノード２１ｃ宛に送信する。
送受信データ処理部２４は、ステップＳ１６０７の処理を行うとステップＳ１６０９へ進む。
【００９８】
ステップＳ１６０９において、送受信データ処理部２４は、受信部２３から次通信ノード２１ｂを送信元とするトークンフレーム１０１の受信が通知された場合、処理を終了する。トークンフレーム１０１の受信が通知されていない場合、処理はステップＳ１６１０へ進む。
【００９９】
ステップＳ１６１０において、送受信データ処理部２４は、トークン監視タイマがタイムアウトした場合、ステップＳ１６１１へ進む。トークン監視タイマがタイムアウトしていない場合、処理はステップＳ１６０９へ戻る。
【０１００】
ステップＳ１６１１において、送受信データ処理部２４は、次々通信ノード２１ｃのトークン監視タイマがタイムアウトしていない場合、処理はステップＳ１６０６へ戻る。
【０１０１】
ステップＳ１６０６において、送受信データ処理部２４は、トークン巡回順序表１５１を参照し、トークンフレーム１０１を生成し、送信部２２へ通知する。宛先アドレスには、次々通信ノード２１ｃのアドレスｃが設定される。送信元アドレスには、通信ノード２１ａのアドレスａが設定される。長さ／タイプには、データの長さとデータの種類を示す値が設定される。データ種別には、トークンフレームを示す値が設定される。トークン番号には、ステップＳ１６０６において保存したトークン番号を１インクリメントした値が設定される。処理はステップＳ１６０７及びＳ１６０８へ進む。
【０１０２】
ステップＳ１６０７において、送受信データ処理部２４は、トークン巡回順序表１５１を参照し、通信ノード２１ｂに対応付けられたタイマ値Ｔｂでトークン監視タイマを起動する。なお、送受信データ処理部２４は、タイマ値Ｔｃでトークン監視タイマを起動するようにしてもよい。その場合には、トークン巡回順序表１５１に通信ノード２１ｃに対応するタイマ値としてＴｃを保存しておく。送受信データ処理部２４は、ステップＳ１６０７の処理を行うとともに送信部２２にステップＳ１６０８の処理を行うように通知する。
【０１０３】
ステップＳ１６０８において、送信部２２はトークンフレーム１０１を通信ノード２１ｃ宛に送信する。
送受信データ処理部２４は、ステップＳ１６０７の処理を行うとステップＳ１６０９へ進む。
【０１０４】
ステップＳ１６０９において、送受信データ処理部２４は、受信部２３から次々通信ノード２１ｃを送信元とするトークンフレーム１０１の受信が通知された場合、処理を終了する。トークンフレーム１０１の受信が通知されていない場合、処理はステップＳ１６１０へ進む。
【０１０５】
ステップＳ１６１０において、送受信データ処理部２４は、トークン監視タイマがタイムアウトした場合、ステップＳ１６１１へ進む。トークン監視タイマがタイムアウトしていない場合、処理はステップＳ１６０９へ戻る。
【０１０６】
ステップＳ１６１１において、送受信データ処理部２４は、次々通信ノード２１ｃのトークン監視タイマがタイムアウトした場合、処理を終了する。この場合、トークン管理ノード１１がトークンフレーム１０１を受信するまでトークンフレーム１０１を生成し、再発行する処理を繰り返すため、システムとしてどの通信ノード２１ａ〜ｃもデータを送信できなくなることはない。
【０１０７】
なお、ステップＳ１６０２において、トークン番号が同じトークンフレーム１０１を２回以上受信するのは、例えば、次のケースである。トークン番号ｍのトークンフレーム１０１ａが遅延し、通信ノード２１ａはトークンフレーム１０１ａが消失したと判断し、新たにトークン番号ｍのトークンフレーム１０１ｂを生成し、送信したとする。通信ノード２１ｂがトークンフレーム１０１ｂを受信し、次にトークンが巡回する通信ノード２１ｃへトークン番号ｍのトークンフレーム１０１ｂを送信した後に、トークンフレーム１０１ａを受信するケースである。
【０１０８】
フレームの送信に遅延が発生する等、トークン管理ノード１１と通信ノード２１ａ〜ｃの両方からトークンフレーム１０１が送信される場合が考えられる。この場合、トークン番号でトークンフレーム１０１が受信済みかどうかを判断するため、重複したトークンフレーム１０１は破棄される。したがって、トークンフレーム１０１が重複し、複数の通信ノードが同時にデータ送信することを防ぐことができる。
【０１０９】
なお、本実施の形態において、トークンが巡回する順序は、トークン管理ノード１１の送信部１２から通信ノード２１ａ〜ｃに情報通知フレーム１１１をブロードキャストで送信することにより通知されている。しかし、送信部１２は、情報送信要求フレーム１１１を通信ノード２１ａ〜ｃそれぞれにユニキャストで送信するようにしてもよい。その場合、情報通知フレーム１１１の宛先アドレスには、宛先の通信ノード２１ａ〜ｃのアドレスが設定される。また、データには、トークンが巡回する順序として、宛先の通信ノードの次にトークンが巡回する通信ノードのアドレスが設定される。例えば、通信ノード２１ａを宛先として情報通知フレーム１１１を送信する場合、通信ノード２１ｂのアドレスｂが設定される。
【０１１０】
さらに、トークン管理ノード１１の送信部１２は、通信ノード２１ａ〜ｃのうち複数の通信ノードを宛先とするマルチキャストで情報通知フレーム１１１を送信するようにしてもよい。この場合、情報通知フレーム１１１の宛先アドレスには、マルチキャストアドレスが設定される。また、データには、トークンが巡回する順序とタイマ値として、宛先の通信ノードの次通信ノードのアドレスとタイマ値及び次々通信ノードのアドレスが設定される。例えば、通信ノード２１ａ及び通信ノード２１ｃを示すマルチキャストアドレスに情報通知フレーム６１を送信する場合、通信ノード２１ｂのアドレスｂとタイマ値Ｔｂ、及びトークン管理ノード１１のアドレスが設定される。
【０１１１】
また、本実施の形態において、トークン管理ノード１１が次通信ノードのアドレス情報及びトークン保有時間と次々通信ノードのアドレス情報を通信ノードａ〜ｃに通知するようにしたが、通信ノード２１ａ〜ｃは、通信装置以外の装置からこれらの情報を取得するようにしてもよいし、ユーザが入力するようにしてもよい。
【０１１２】
したがって、送受信データ処理部１４は、トークンを識別するトークン番号を保持し、トークンの宛先をトークン管理ノード１１とする、トークン番号が付与されたトークンフレーム１０１を受信して送信権を得た場合、トークンを保有する時間が経過すると次通信ノードをトークンの宛先とするトークンフレーム１０１を生成し、保持しているトークン番号をインクリメントした値を新たなトークン番号として保持するとともにトークンフレーム１０１に付与して送信するようにしているので、フレームの送信に遅延が発生する等でトークンフレーム１０１が重複した場合に識別することができる。
【０１１３】
また、送受信データ処理部１４は、トークン監視タイマがタイムアウトして次通信ノードをトークンの宛先とするトークンフレーム１０１を生成する場合、保持しているトークン番号を付与するようにしているので、再発行されたトークンフレーム１０１には同じトークン番号が付与され、フレームの送信に遅延が発生する等でトークンフレーム１０１が重複した場合に識別することができる。
【０１１４】
また、送受信データ処理部１４は、受信したトークンフレーム１０１のトークン番号が、保持しているトークン番号に一致しない又は受信済みのトークン番号の場合、トークンフレーム１０１を破棄するようにしているので、トークンフレーム１０１が重複しても複数の装置から同時にデータが送信されることを防ぐことができる。
【０１１５】
送受信データ処理部１４は、保持しているトークン番号に一致するトークンフレーム１０１を受信したか否かを示すトークン受信済みフラグを保持し、トークン受信済みフラグの値に応じてトークン番号が受信済みか否かを判断するようにしているので、同じトークン番号のトークンフレーム１０１を２回以上受信したかどうか識別することができる。
【０１１６】
また、送受信データ処理部２４は、次通信装置のアドレス情報と次通信装置のトークン保有時間に基づいて決定されたタイマ値とをトークン管理ノード１１から通知されて記憶し、自通信ノードのトークン保有時間が経過すると次通信装置を宛先としてトークンを含むトークンフレーム１０１を生成して送信するとともに、トークン監視タイマを起動するようにしているので、トークンを保持している通信装置のトークン保有時間に応じたタイマ値でトークン監視タイマを起動することができる。よって、トークンフレーム１０１が消失し、どの通信装置もデータを送信できない時間を短縮することができる。さらに、トークン管理ノード１１は、通信ノード数分のトークン監視タイマの値を保持する必要がなく、制御が容易になる。
【０１１７】
また、送受信データ処理部２４は、次通信装置の次にトークンが巡回する次々通信装置のアドレス情報をトークン管理ノード１１から通知されて記憶し、トークン監視タイマがタイムアウトした場合、次々通信装置を宛先とするトークンフレームを生成して送信するとともにトークン監視タイマを起動するようにしているので、トークンフレーム１０１が消失し、どの通信装置もデータを送信できない時間を短縮することができる。さらに、トークン管理ノード１１は、通信ノード数分のトークン監視タイマの値を保持する必要がなく、制御が容易になる。
【０１１８】
また、送受信データ処理部２４は、トークンフレーム１０１を受信するとトークン番号を保存し、受信したトークンフレーム１０１のトークン番号が保持しているトークン番号より大きくない又は既に受信済みのトークン番号の場合、トークン番号付のトークンフレームを破棄するようにしているので、トークンフレーム１０１が重複しても複数の装置から同時にデータが送信されることを防ぐことができる。
【０１１９】
また、送受信データ処理部２４は、保持しているトークン番号に一致するトークンフレーム１０１を受信したか否かを示すトークン受信済みフラグを保持し、トークン受信済みフラグの値に応じてトークン番号が受信済みか否かを判断するようにしているので、同じトークン番号のトークンフレーム１０１を２回以上受信したかどうか識別することができる。
【符号の説明】
【０１２０】
１１  トークン管理ノード
１２、２２  送信部
１３、２３  受信部
１４、２４  送受信データ処理部
２１  通信ノード
３１  トークンパッシングシステム
３２  通信回線
４１、１０１  トークンフレーム
５１、１２１、１５１  トークン巡回順序表
６１、１１１  情報通知フレーム
【図１】
2014222799.tif 000003
【図２】
2014222799.tif 000004
【図３】
2014222799.tif 000005
【図４】
2014222799.tif 000006
【図５】
2014222799.tif 000007
【図６】
2014222799.tif 000008
【図７】
2014222799.tif 000009
【図８】
2014222799.tif 000010
【図９】
2014222799.tif 000011
【図１０】
2014222799.tif 000012
【図１１】
2014222799.tif 000013
【図１２】
2014222799.tif 000014
【図１３】
2014222799.tif 000015
【図１４】
2014222799.tif 000016
【図１５】
2014222799.tif 000017
【図１６】
2014222799.tif 000018