(57)【要約】【課題】  ネットワーク上を巡回するトークンの乱れを防ぐノード装置、及び、通信ネットワークシステムを提供する。【解決手段】  ノード１０は、前の送信順のノード装置より受信したトークンを、次の送信順のノード装置に送信する場合に、トークンに含まれるトークン通番情報を次の通番に書き換えるトークン通番変更手段１０１と、最新に送受信したトークンについてトークン通番情報を記憶するトークン通番情報記憶手段１０２と、受信したトークンの正当性を判定する判定手段１０３と、受信したトークンが正当でないと判定された場合には、受信したトークンを破棄する破棄手段１０４とを有する。【選択図】  図４
2005094251.tif 000002
【特許請求の範囲】
【請求項１】
トークンを予め定められた送信順に従って巡回させながら、データの授受を行う通信ネットワークが備えるノード装置において、
前の送信順のノード装置より受信したトークンを、次の送信順のノード装置に送信する場合に、該トークンに含まれるトークン通番情報を次の通番に書き換えるトークン通番変更手段と、
最新に送受信したトークンについて、そのトークン通番情報を記憶するトークン通番情報記憶手段と、
受信したトークンに含まれるトークン通番情報と、前記トークン通番情報記憶手段により記憶された記憶内容とに基づいて、前記受信したトークンの正当性を判定する判定手段と、
前記判定手段により前記受信したトークンが正当でないと判定された場合には、前記受信したトークンを破棄する破棄手段と
を有することを特徴とするノード装置。
【請求項２】
前記トークンは、該トークンが送信された理由を表すトークン送信理由情報を更に含み、
前記判定手段は、前記受信したトークンに含まれるトークン通番情報及び前記トークン通番情報記憶手段により記憶された記憶内容の他に、前記受信したトークンに含まれるトークン送信理由情報に基づいて、前記受信したトークンの正当性を判断することを特徴とする請求項１に記載のノード装置。
【請求項３】
前記破棄手段は、
前記判定手段により、前記受信したトークンに含まれるトークン通番情報が、前記トークン通番情報記憶手段により記憶されたトークン通番情報より前の通番を表していると判定された場合には、前記受信したトークンを破棄することを特徴とする請求項２に記載のノード装置。
【請求項４】
前記破棄手段は、
前記判定手段により、前記受信したトークンに含まれるトークン通番情報と前記トークン通番情報記憶手段により記憶されたトークン通番情報とが一致しており、かつ、前記受信したトークンに含まれるトークン送信理由情報がトークン監視時間経過後に送信されたことを表していると判定された場合には、前記受信したトークンを破棄することを特徴とする請求項２又は３に記載のノード装置。
【請求項５】
複数のノード装置間を、予め定められた送信順に従ってトークンを巡回させることにより、データ通信を行う通信ネットワークシステムにおいて、
前記ノード装置は、
前の送信順のノード装置より受信したトークンを、次の送信順のノード装置に送信する場合に、該トークンに含まれるトークン通番情報を次の通番に書き換えるトークン通番変更手段と、
前記複数のノード間を巡回するトークンについて、その最新のトークン通番情報を記憶するトークン通番情報記憶手段と、
受信したトークンに含まれるトークン通番情報と、前記トークン通番情報記憶手段により記憶された記憶内容とに基づいて、前記受信したトークンの正当性を判定する判定手段と、
前記判定手段により前記受信したトークンが正当でないと判定された場合には、前記受信したトークンを破棄する破棄手段と
を有することを特徴とする通信ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トークン ・パッシング（Token Passing） 方式により通信を行うノード装置、及び、通信ネットワークシステムに関する。
【背景技術】
【０００２】
従来より、通信方式のひとつとして、トークン・パッシング方式が利用されている（例えば、特許文献１、２参照）。トークン ・パッシング方式とは、通信ネットワークを構成するノード間において、トークンと呼ばれるアクセス制御用フレームを、予め定められた送信順で巡回させることにより、データの送信権をノード間で移譲していく通信方式である。具体的には、ノードは、自ノードが他のノードに送信すべきデータを保持している場合に、前の送信順のノードより巡回してきたフリートークン（データが付加されていないトークン）を自ノードに取り込んで保持することにより、データの送信権を獲得する。そして、ノードは、取り込んだフリートークンにデータを付加することによりビジートークンを生成し、生成したビジートークンを他のノード宛に送信する。ノードは、データを送信した後に、フリートークンを次の送信順のノード（以下、「次ノード」という）宛に送信して、データの送信権を次ノードに移譲する。
【０００３】
このようなトークン ・パッシング方式を実現するために、従来より様々な方式が考えられている。例えば、トークン ・パッシング方式には、通信ネットワーク全体を管理するマスターノードが存在する方式と、マスターとなるノードが存在しないマスタレス型の方式とが存在する。
従来におけるマスタレス型のトークン・パッシング方式において送受信されるトークンには、図９に示すように、送信元ノード番号と送信先ノード番号とを表す情報が含まれている。また、トークンがノード間を巡回する順序は，ノードに割り振られているノード番号によって決定される仕組みとなっている。図１０に示すように、トークンは、ノード番号の昇順でノード間を巡回する。また、トークンは、最大のノード番号が割り振られたノードから，最小のノード番号が割り振られたノードに送信される。
【０００４】
また、マスタレス型のトークン・パッシング方式においては、各ノードは、他ノードから送信されるトークンの動作を相互に監視する。監視する方法としては、例えば、トークンを保持しているノードが次ノードにトークンを渡すときに、次ノードに割り振られたノード番号を「送信先ノード番号」とするトークンを、一斉同報（ブロードキャスト）により送信する。これにより、各ノードは、一斉同報されたトークンに含まれる情報に基づいて、トークンの動作を監視する。
【０００５】
また、各ノードは、トークンの動作を以下の観点で監視するのが一般的である。
・送信元ノードの順序の妥当性（正規の順番以外のノードが送信していないか）
・カレントのノードでのトークン保持時間（いつまでたってもトークンを送信しないということはないか）
また、マスタレス型のトークン・パッシング方式においては、ネットワークの構成変化時等の過渡的な乱れた状態から、正常な安定状態に移行するためのルールが規定されている。例えば、同一時点で複数のトークンが存在した場合に、どのトークンを正当とし、どのトークンを破棄するかといったルールである。また、トークンを保持しているノードが、当該ノードのトークン監視時間が経過してもトークンを送信しない場合には、次ノードがトークンを再発行するというルールが規定されている。ここで、トークン監視時間とは、ノードがトークンを受信してから送信するまでの最大許容時間である。
【０００６】
各ノードは上記の各情報および各規定に従って動作することで、ネットワーク全体としての安定した動作を実現している。
【特許文献１】特開２００３−８７２５８号公報（図１）
【特許文献２】特開平３−７０３２９号公報（第７図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、先に述べたマスタレス型の相互監視によるネットワークにおいては、各ノードは、監視対象のノードがトークンを送信する際の挙動を、時間的要素や送信先ノード番号で監視することにより、不具合が発生しているノードを検知することになる。しかしながら、このような方法では、単純なノードの離脱のような動作を検知する場合には有効に機能するものの、あるノードが不安定に動作しているような状況においては、当該不安定なノードの状態を他のノードが検知する手段が存在しなかった。このため、通信ネットワーク全体のトークン周回の乱れを防ぐ方法がなく、通信状態を不安定にしてしまっていた。このトークン巡回の乱れは、各ノードが、動作が不安定となっているノードが送信したトークンを正規のものと認識してしまい、これを既存のルールに当てはめて自ノードの動作を決定してしまうために生じるものであった。つまり、これまでの方式では、ネットワーク上に送信されたトークンが複数存在する場合、どのトークンが正当であるのかを各ノードが判断できない点に問題があった。
本発明は、上記問題点に鑑みてなされたものであり、その目的は、ネットワークを巡回するトークンの乱れを防ぐノード装置、及び、通信ネットワークシステムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、トークンを予め定められた送信順に従って巡回させながら、データの授受を行う通信ネットワークが備えるノード装置において、前の送信順のノード装置より受信したトークンを、次の送信順のノード装置に送信する場合に、該トークンに含まれるトークン通番情報を次の通番に書き換えるトークン通番変更手段と、最新に送受信したトークンについて、そのトークン通番情報を記憶するトークン通番情報記憶手段と、受信したトークンに含まれるトークン通番情報と、前記トークン通番情報記憶手段により記憶された記憶内容とに基づいて、前記受信したトークンの正当性を判定する判定手段と、前記判定手段により前記受信したトークンが正当でないと判定された場合には、前記受信したトークンを破棄する破棄手段とを有することを特徴とするノード装置を提供する。
【０００９】
請求項１に記載の発明によれば、各ノード装置が送受信するトークンにトークン通番情報を含ませることにより、トークンを受信したノード装置は、トークンに含まれるトークン通番情報と、トークン通番情報記憶手段により記憶された記憶内容とに基づいて、受信したトークンの正当性を判断することができる。ノード装置は、受信したトークンが正当でないと判定した場合には、当該トークンを破棄するため、動作が不安定なノード装置が存在したとしても、そのノード装置から送信されるトークンの乱れが、通信ネットワーク全体に与える悪影響を極力少なくすることができ、通信ネットワーク全体のトークン巡回の安定化を実現することができる。
【００１０】
また、リアルタイム性が期待できないパーソナルコンピュータ等をノード装置とした場合に、当該装置が自装置内に停滞してしまった複数のトークンを遅れて処理することがあるが、このように、ノード装置が、他のノード装置の認識タイミングと異なるタイミングで動作してしまうような事があっても、他のノード装置は、異なるタイミングで受信したトークンを破棄することができるため、通信ネットワーク全体の健全性を保つことができる。
【００１１】
また、請求項２に記載の発明は、請求項１に記載のノード装置において、前記トークンは、該トークンが送信された理由を表すトークン送信理由情報を更に含み、前記判定手段は、前記受信したトークンに含まれるトークン通番情報及び前記トークン通番情報記憶手段により記憶された記憶内容の他に、前記受信したトークンに含まれるトークン送信理由情報に基づいて、前記受信したトークンの正当性を判断することを特徴とする。
【００１２】
請求項２に記載の発明によれば、トークンに、トークン通番情報に加えて、その発行理由（正常発行、前の送信順のノード装置のトークン監視時間超過による再発行）を表すトークン送信理由情報を含ませ、受信したトークンに含まれる前記トークン通番情報及びトークン通番情報記憶手段により記憶された記憶内容の他に、トークン送信理由情報に基づいて、受信したトークンの正当性を判断することにより、ノード装置がトークンを受信したときに行うトークン正当性チェックの精度を上げることができる。
【００１３】
また、通信ネットワーク上のトークンをモニターする場合、トークン送信理由情報により、該当トークンが送信された理由が明確に分かるため、通信ネットワーク上のトークンの挙動解析にとって、重要な情報を得ることが可能となる。ネットワーク構成機器の不具合が発生したときの解析時などにおいても、各ノードの挙動を的確に把握することができ、各ノードの挙動から故障個所を推測することも可能となる。
【００１４】
また、請求項３に記載の発明は、請求項２に記載のノード装置において、前記破棄手段は、前記判定手段により、前記受信したトークンに含まれるトークン通番情報が、前記トークン通番情報記憶手段により記憶されたトークン通番情報より前の通番を表していると判定された場合には、前記受信したトークンを破棄することを特徴とする。
請求項３に記載の発明によれば、ノード装置は、受信したトークンに含まれるトークン通番情報と、トークン通番情報記憶手段により記憶されたトークン通番情報とで表される順番を比較することで、受信したトークンの正当性を判断することができ、正当でないと判断された場合には当該トークンを破棄するため、トークン巡回の乱れを防ぐことができる。
【００１５】
また、請求項４に記載の発明は、請求項２又は３に記載のノード装置において、前記破棄手段は、前記判定手段により、前記受信したトークンに含まれるトークン通番情報と前記トークン通番情報記憶手段により記憶されたトークン通番情報とが一致しており、かつ、前記受信したトークンに含まれるトークン送信理由情報がトークン監視時間経過後に送信されたことを表していると判定された場合には、前記受信したトークンを破棄することを特徴とする。
請求項４に記載の発明によれば、請求項３に記載の効果に加えて、ノード装置は、受信したトークンに含まれるトークン通番情報及びトークン送信理由情報と、トークン通番情報記憶手段により記憶されたトークン通番情報とに基づいて、受信したトークンの正当性を判断するため、トークンが正当であるか否かの判定の精度を上げることができる。
【００１６】
請求項５に記載の発明は、複数のノード装置間を、予め定められた送信順に従ってトークンを巡回させることにより、データ通信を行う通信ネットワークシステムにおいて、前記ノード装置は、前の送信順のノード装置より受信したトークンを、次の送信順のノード装置に送信する場合に、該トークンに含まれるトークン通番情報を次の通番に書き換えるトークン通番変更手段と、前記複数のノード間を巡回するトークンについて、その最新のトークン通番情報を記憶するトークン通番情報記憶手段と、受信したトークンに含まれるトークン通番情報と、前記トークン通番情報記憶手段により記憶された記憶内容とに基づいて、前記受信したトークンの正当性を判定する判定手段と、前記判定手段により前記受信したトークンが正当でないと判定された場合には、前記受信したトークンを破棄する破棄手段とを有することを特徴とする通信ネットワークシステムを提供する。
【００１７】
請求項５に記載の発明は、トークンにトークン通番情報を含ませることにより、トークンを受信したノード装置は、トークンに含まれるトークン通番情報と、トークン通番情報記憶手段により記憶された記憶内容とに基づいて、受信したトークンが正当であるか否かを判断し、正当でないと判断された場合には破棄するため、動作が不安定なノード装置により発生するトークンの乱れが、通信ネットワークシステムに与える悪影響を極力少なくすることができ、通信ネットワークシステムにおけるトークン巡回の安定化を実現することができる。
【発明の効果】
【００１８】
以上説明したように、トークンにトークン通番情報を含ませることにより、トークンを受信したノード装置は、トークンに含まれるトークン通番情報と、トークン通番情報記憶手段により記憶された記憶内容とに基づいて、受信したトークンの正当性を判断することができ、受信したトークンが正当でないと判定した場合には、当該トークンを破棄することができる。このため、動作が不安定なノード装置が存在したとしても、そのノード装置から送信されるトークンの乱れが、通信ネットワーク全体に与える悪影響を極力少なくすることができ、通信ネットワーク全体のトークン巡回の安定化を実現することができる。
また、トークンに、トークン通番情報に加えて、その発行理由を表すトークン送信理由情報を含ませることにより、ノード装置は、受信したトークンに含まれるトークン通番情報及びトークン通番情報記憶手段により記憶された記憶内容の他に、トークン送信理由情報に基づいて、受信したトークンの正当性を判断できる。このため、ノード装置がトークンを受信したときに行うトークン正当性チェックの精度を上げることができ、また、ノード装置の動作解析を容易にすることができる。
【発明を実施するための最良の形態】
【００１９】
次に、図面を参照しながら、本発明の実施の形態について説明する。なお、以下の説明において参照する各図においては、他の図と同等部分に同一符号が付されている。
［１．構成］
まず、本実施形態の構成について説明する。
［１．１．全体構成］
図１は、本発明の一実施形態に係る通信ネットワーク１全体の構成を示すブロック図である。同図に示すように、この通信ネットワーク１は、パーソナルコンピュータや、ＦＡ（Factory Automation）用コントローラや、入出力機器等の装置を表すノード１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆと、これらの各ノードを接続する通信ケーブルとを備えている。なお、同図には、６つのノード１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆを図示しているが、以下の説明では、特に各ノードを区別する必要がある場合を除いて、「ノード１０」として説明する。
この通信ネットワーク１は、上述したマスタレス型のトークン・パッシング方式に従った通信を行う。
【００２０】
［１．２．トークン］
次に、トークンのデータ構成について説明する。トークンには、図２に示すように、従来からのデータ項目である、トークン送信元ノード１０のノード番号を表す「送信元ノード番号」と、トークン送信先ノード１０のノード番号を表す「送信先ノード番号」とに加えて、本発明に特徴的なデータ項目である「トークン送信理由」と「トークン通番」とが含まれている。
「トークン送信理由」は、ノード１０がトークンを送信した理由を示す情報である。当該「トークン送信理由」で表される情報が“正常トークン”を表している場合には、当該「トークン送信理由」を含むトークンは、あるノード１０から次ノード１０へあるノードのトークン監視時間内に正常に送信されたトークンであることを表している。
【００２１】
また、当該「トークン送信理由」で表される情報が“前ノード監視時間UP検出トークン”を表している場合には、当該「トークン送信理由」を含むトークンは、前の送信順のノード１０から、トークン監視時間が経過しても自ノード１０宛にトークンが送信されてこなかったために、自ノード１０において再発行したトークンであることを表している。
また、「トークン通番」は、トークンが各ノード１０間を移動する毎にインクリメントされる通番である。ここでは、トークン通番は３２ビットのデータであり、トークン通番“FFFFFFFF(H（Hexa Decimal；１６進数）)”の次のトークン通番は“０(H)”であるとする。以下の説明では、トークン通番“０(H)”がトークン通番“FFFFFFFF(H)”の次の通番であることを表すために、便宜上、大小関係が“FFFFFFFF(H)＜０(H)”であるとして説明する。
【００２２】
［１．３．ノード］
次に、ノード１０の構成について説明する。ノード１０は、一般的なコンピュータのハードウェア構成を備えている。すなわち、ノード１０は、ノード１０を制御するＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、及び、ハードディスク装置を含む記憶部と、通信ケーブルを介して他のノード１０とのトークンの授受を制御する通信制御部と、時刻を計時する内部時計とを備えている。
【００２３】
ノード１０の記憶部には、図３に示すように、通信ネットワーク１に参加しているノード１０を管理するためのノード管理テーブルが設けられている。ノード管理テーブルには、各ノード１０に割り振られた「ノード番号」と、ノード１０がトークンを受信してから送信するまでの最大許容時間である「トークン監視時間」とが記憶される。これらのデータは、ノード１０が他のノード１０から通信ネットワーク１に参加要求を行うための参加要求フレームを受信したときに、当該フレームに含まれる情報内容が記憶されたものである。
【００２４】
また、記憶部には、図３に示すように「送信先ノード番号」、「現（保持）トークン通番」、「トークン送信理由」を記憶する領域が設けられている。
「送信先ノード番号」には、ノード１０がトークンを受信し、かつ、後述する受信トークン判別処理によって当該トークンが正当であると判定された場合に、当該トークンに含まれる「送信先ノード番号」が記憶される。
【００２５】
「現（保持）トークン通番」には、最新に送受信したトークンについてのトークン通番が記憶される。具体的には、「現（保持）トークン通番」には、ノード１０がトークンを受信し、かつ、当該トークンが正当であると判定された場合に、当該トークンに含まれる「トークン通番」が記憶される。また、さらに、「現（保持）トークン通番」には、トークンを保持しているノード１０が、次ノード１０に送信権を移譲するために、保持しているトークンに含まれるトークン通番をインクリメントして、次ノード１０宛に送信したときに、当該インクリメントされたトークン通番が記憶される。
「トークン送信理由」には、後述する受信トークン判別処理により、受信したトークンが不正と判断されて破棄されるときに、破棄対象のトークンに含まれる「トークン送信理由」が記憶される。
【００２６】
また、記憶部には、上述した従来のマスタレス型のトークン・パッシング方式に従った通信を行うためのプログラムが記憶されている。ＣＰＵが、これらのプログラムを実行することにより、以下の機能がノード１０に実現される。
（１）ノード１０がトークンを次ノード１０に渡すときに、当該トークンを一斉同報によって送信する機能。これにより、各ノード１０は、トークンに含まれる「送信先ノード番号」や、最新の「トークン通番」を認識することができ、相互監視が可能となる。
（２）トークン監視時間を監視するためのトークン監視タイマの機能。ノード１０はトークンを受信したときに、当該トークンに含まれる「送信先ノード番号」で識別されるノード１０のトークン監視時間をトークン監視タイマにセットする。ノード１０は、前の送信順のノード１０よりトークンが送信されずにトークン監視時間がタイムアウトしたときに、トークンの再発行を行う。
【００２７】
また、ノード１０の記憶部には、本発明に特徴的なプログラムが記憶されている。具体的には、記憶部には、トークンに含まれる「トークン通番」や「トークン送信理由」を書き換えるためのプログラムや、受信したトークンに含まれる「トークン通番」や「トークン送信理由」に基づいて、受信したトークンが正当であるか否かを判定するためのプログラムや、受信したトークンが正当でない場合には当該トークンを破棄するためのプログラム等が記憶されている。
【００２８】
これらのプログラムをノード１０のＣＰＵが実行することにより、図４に示すように、本発明に特徴的な機能手段である、トークン通番変更手段１０１、トークン通番記憶手段１０２、判定手段１０３、及び、破棄手段１０４が、ノード１０に実現される。
以下、これらの機能手段について説明する。
トークン通番変更手段１０１は、前の送信順のノード１０より受信した自ノード１０宛のトークンを、次ノード１０に送信する場合に、当該トークンに含まれる「トークン通番」を、次の通番に書き換える。
トークン通番情報記憶手段１０２は、トークンを受信したり、自ノード１０からトークンを送信するときに、トークンに含まれる「トークン通番」で、記憶部の「現（保持）トークン通番」を更新する。
【００２９】
判定手段１０３は、受信したトークンに含まれる「トークン通番」や「トークン送信理由」と、記憶部に記憶されている「現（保持）トークン通番」とに基づいて、受信したトークンの正当性を判定する。具体的には、判定手段１０３は、受信したトークンに含まれる「トークン通番」が、記憶部に記憶されている「現（保持）トークン通番」より前の通番である場合には、受信したトークンが正当でないと判定する。また、判定手段１０３は、受信したトークンに含まれる「トークン通番」が、記憶部に記憶されている「現（保持）トークン通番」と一致しており、かつ、受信したトークンに含まれる「トークン送信理由」が“前ノード監視時間ＵＰ検出トークン”を表している場合には、受信したトークンが正当でないと判定する。これら以外の場合には、判定手段１０３は、受信したトークンが正当であると判定する。
破棄手段１０４は、判定手段１０３により受信したトークンが正当でないと判定された場合には、当該トークンを破棄する。
【００３０】
［１．４．受信トークン判別処理］
次に、ノード１０がトークンを受信したときに実行する受信トークン判別処理について、図５を参照しながら説明する。
まず、ノード１０は、トークンを受信したときに、受信したトークンに含まれている「トークン通番」と、記憶部の「現（保持）トークン通番」とを比較する（ステップＳ１０１）。
比較した結果、受信したトークンに含まれる「トークン通番」が「現（保持）トークン通番」の次以降の通番である場合には（ステップＳ１０１；RcvTno（受信したトークン通番）＞SaveTno（現（保持）トークン通番））、ノード１０は、受信したトークンを正当であると判定する（ステップＳ１０２）。この場合には、ノード１０は、最新のトークン通番を保存しておくために、トークン通番記憶手段１０２により、記憶部に記憶されている「現（保持）トークン通番」を、受信したトークンに含まれる「トークン通番」で更新する（ステップＳ１０３）。
【００３１】
一方、比較した結果、記憶部の「現（保持）トークン通番」が、受信したトークンの「トークン通番」の次以降の通番である場合には（ステップＳ１０１；RcvTno＜SaveTno）、現在、通信ネットワーク１を巡回しているトークン通番は、受信したトークンの「トークン通番」よりも進んでいることになるため、ノード１０は、不安的なノード１０からトークンが遅延して送信されたと判断する。これにより、ノード１０は、後の動作解析のために、トークンに含まれている「トークン送信理由」を記憶部に記憶する。そして、ノード１０は、破棄手段１０４により受信トークンを破棄する（ステップＳ１０４）。
【００３２】
一方、比較した結果、記憶部の「現（保持）トークン通番」と、受信したトークンに含まれる「トークン通番」とが一致している場合には（ステップＳ１０１；RcvTno＝SaveTno）、状況が定かでないため、ノード１０は、さらに、受信したトークンに含まれる「トークン送信理由」を読み出す（ステップＳ１０５）。
読み出した「トークン送信理由」が“正常トークン”である場合には、ノード１０は、受信したトークンを正当であると判定する（ステップＳ１０２）。そして、ＣＰＵ１０は、トークン通番記憶手段１０２により、記憶部に記憶されている「現（保持）トークン通番」を、受信したトークンに含まれる「トークン通番」で更新する（ステップＳ１０３）。
【００３３】
一方、受信したトークンに含まれる「トークン送信理由」が“前ノード監視時間ＵＰ検出トークン”を表している場合には、同一のトークン通番を含んだトークンを既に送受信しているにも関わらずトークンが再発行されていることになるため、ノード１０は受信したトークンを不正なトークンと判断する。そして、ノード１０は、後の動作解析に使用するために、トークンに含まれている「トークン送信理由」を記憶部に記憶するとともに、破棄手段１０４により、受信したトークンを破棄する（ステップＳ１０４）。
【００３４】
［２．動作］
次に、上記構成における動作について説明する。
［２．１．正常時］
図６には、図１に示した通信ネットワーク１において、不安定なノード１０が存在せず、正常に通信が行われている場合の、トークンに含まれるトークン通番の遷移を示す。
図１におけるノード１０ａ、ノード１０ｂ、・・・、ノード１０ｆの電源を投入すると、図６に示すように、ノード１０ａ、ノード１０ｂ、・・・、ノード１０ｆ、ノード１０ａ、・・・、の順に、各々のノード１０から、トークン監視時間内にトークンが送信される。
【００３５】
各ノード１０は、トークンを受信すると、図５に示す受信トークン判別処理を行う。まず、ノード１０は、受信したトークンに含まれる「トークン通番」と、自ノード１０の記憶部に記憶されている「現（保持）トークン通番」とを比較する（ステップＳ１０１）。ここでは、正常にトークンが送信されているために、常に、受信したトークンに含まれる「トークン通番」は「現（保持）トークン通番」の次以降の通番であるため（ステップＳ１０１；RcvTno＞SaveTno）、ノード１０は受信したトークンが正当であると判定する（ステップＳ１０２）。そして、ノード１０は、トークン通番記憶手段１０２により、記憶部の「現（保持）トークン通番」を、受信したトークンに含まれる「トークン通番」で更新する（ステップＳ１０３）。
【００３６】
また、自ノード１０宛のトークンを受信してトークンを保持したノード１０は、データを送信し終わると、次ノード１０宛のトークンを生成する。具体的には、ノード１０は、トークン通番変更手段１０１により、保持しているトークンに含まれる「トークン通番」を次の通番に書き換える。また、ノード１０は、トークンに含まれる「トークン送信理由」を“正常”のまま変更せず、また、「送信元ノード番号」を自ノード１０のノード番号に書き換え、「送信先ノード番号」を次ノード１０のノード番号に書き換える。
【００３７】
そして、ノード１０は、生成したトークンを送信すると共に、トークン通番記憶手段１０２により、記憶部の「現（保持）トークン通番」を、生成したトークンの「トークン通番」で更新する。
以上の処理を行うことにより、ノード１０ａより送信されるトークンに含まれる「トークン通番」が“1000”であった場合には、各ノード１０により送信されるトークンに含まれる各情報の遷移は、図７に示すようになる。
【００３８】
［２．２．異常時］
次に、あるノード１０が不安定となり、動作遅延が発生した場合の動作について説明する。図８には、ノード１０ｂが動作遅延を起こした場合の、トークンに含まれるトークン通番の遷移が示されている。
前提として、経過時間“０”においては、各ノード１０の記憶部には、「現（保持）トークン通番」“999”が記憶されているものとする。
まず、時刻ｔ１において、ノード１０ａは、トークン通番“1000”と「送信先ノード番号」“２”とを含んだ、ノード１０ｂ宛のトークンを送信するものとする。
ノード１０ｂは、ノード１０ａより自ノード１０ｂ宛のトークンを受信する。これにより、ノード１０ｂは、図５に示す受信トークン判別処理を行う。
【００３９】
まず、ノード１０ｂは、受信したトークンに含まれる「トークン通番」と、記憶部に記憶されている「現（保持）トークン通番」とを比較する（ステップＳ１０１）。ここでは、受信したトークンに含まれる「トークン通番」が“1000”であり、記憶部の「現（保持）トークン通番」が“999”であるため（ステップＳ１０１；RcvTno＞SaveTno）、ノード１０ｂは、受信したトークンが正当であると判定する（ステップＳ１０２）。次に、ノード１０ｂは、最新のトークン通番を保持しておくために、トークン通番記憶手段１０２により、記憶部の「現（保持）トークン通番」を、受信したトークンに含まれる「トークン通番」“1000”で更新する（ステップＳ１０３）。
【００４０】
一方、トークンの宛先ノード１０ｂ以外の他のノード１０は、時刻ｔ１に、ノード１０ａから一斉同報により送信されたトークンを受信する。他のノード１０は、受信トークン判別処理を行うことにより、受信したトークンが正当であることを判別した後、受信したトークンに含まれる「トークン通番」“1000”等の情報を記憶部に記憶する。また、他のノード１０は、監視タイマでノード１０ｂの監視を開始する。
【００４１】
次に、ノード１０ｂは、ノード１０ｃ宛のトークンを生成する。具体的には、ノード１０ｂは、トークン通番変更手段１０１により、受信したトークンに含まれる「トークン通番」“1000”を、次のトークン通番“1001”に書き換える。また、ノード１０ｂは、「
送信先ノード番号」を“３”に書き換え、「送信元ノード番号」を“２”に書き換えることにより、ノード１０ｃ宛のトークンを生成する。ところが、ノード１０ｂは、何らかの理由によりノード１０ｂのトークン監視時間よりも遅れて、時刻ｔ４にトークンを送信する。
【００４２】
ここで、ノード１０ｃは、ノード１０ｂのトークン監視時間が経過しても、ノード１０ｂがトークンを送信しないため、トークンの再発行を行う。具体的には、ノード１０ｃは、自ノード１０ｃが認識している現在のトークン通番“1000”に“１”を加算し、加算したトークン通番“1001”と送信先ノード番号“４”とを含んだトークンを生成して、時刻ｔ２に生成したトークンを送信する。次に、ノード１０ｄは、時刻ｔ３に、トークン通番“1002”と、送信先ノード番号“５”を含んだトークンを送信する。
【００４３】
このように、図８に示すように、時刻ｔ１から時刻ｔ４までの間の時刻ｔ２及びｔ３において、ノード１０ｃと１０ｄとがトークンを送信しているため、時刻ｔ３においては、各ノード１０の記憶部には、「現（保持）トークン通番」“1002”が記憶されている。
次に、時刻ｔ４の時点で、ノード１０ｃが、ノード１０ｂより自ノード１０ｃ宛のトークンを受信すると、図５に示すトークン判別処理を行う。
【００４４】
まず、ノード１０ｃは、ノード１０ｂより受信したトークンに含まれる「トークン通番」と、自ノード１０ｃの記憶部の「現（保持）トークン通番」とを比較する（ステップＳ１０１）。ここでは、受信したトークンに含まれる「トークン通番」が“1001”であり、「現（保持）トークン通番」が“1002”であるため（ステップＳ１０１；RcvTno＜SaveTno）、ノード１０ｃは、受信したトークンが、ノード１０ｂのトークン監視時間が経過してから送信されたトークンであると判断する。これにより、ノード１０ｃは、受信したトークンに含まれる「トークン送信理由」を記憶部に記憶する。そして、ノード１０ｃは、破棄手段１０４により、受信したトークンを破棄する（ステップＳ１０４）。
このように、１０ｂからのトークンを受信したノード１０ｃは、受信したトークンに含まれている「トークン通番」に基づいて、受信したトークンが正当でないことを判定することができる。ノード１０ｃは、正当でないと判定されたトークンを破棄するため、通信ネットワーク１におけるトークンの乱れを防ぐことができる。
【００４５】
［３．変形例］
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。変形例としては、例えば、以下のようなものが考えられる。
（１）上述した実施形態においては、各ノード１０が最新のトークン通番情報を認識する方法として、トークンを保持しているノード１０が、次ノード１０宛のトークンを一斉同報送信することにより、各ノード１０が最新のトークン通番情報を認識するとして説明したが、これに限定されず、例えば、トークンを一斉同報することなく、単純に、各ノード１０が送受信するトークン（フリートークンやビジートークン）に含まれるトークン通番情報を最新のトークン通番情報とみなして処理を行うようにしてもよい。また、自ノード１０宛のトークンを受信し保持したノード１０が、当該トークンに含まれるトークン通番を各ノード１０に通知するようにしてもよい。
【００４６】
（２）上述した実施形態における、「トークン通番」のデータ形式や、「トークン送信理由」の理由の種類は一例である。また、受信したトークンに含まれる「トークン通番」と「トークン送信理由」と、記憶部に記憶されている記憶内容とに基づいて、トークンの正当性を判定するためのアルゴリズムとして、上述した実施形態では、図５に示したアルゴリズムを用いたが、当該アルゴリズムは一例である。例えば、「トークン送信理由」の理由種類に別の理由を加えてもよいし、詳細に分類してもよい。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態に係る通信ネットワークの構成を示すブロック図である。
【図２】同実施の形態に係るトークンのデータ構成を説明するための図である。
【図３】同実施の形態に係る記憶部に記憶されるデータを説明するための図である。
【図４】同実施の形態に係るノードの機能構成を説明するための図である。
【図５】同実施の形態に係る受信トークン判別処理の流れを示すフローチャートである。
【図６】同実施の形態に係る正常時のトークンに含まれるトークン通番の遷移を説明するための図である。
【図７】同実施の形態に係る正常時のトークンに含まれる各種情報の遷移を説明するための図である。
【図８】同実施の形態に係る異常時のトークンに含まれるトークン通番の遷移を説明するための図である。
【図９】従来のトークンに含まれる情報を説明するための図である。
【図１０】従来のトークンがノード間を巡回する順序を説明するための図である。
【符号の説明】
【００４８】
１        通信ネットワーク
１０、１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆ    ノード
１０１    トークン通番変更手段
１０２    トークン通番記憶手段
１０３    判定手段
１０４    破棄手段
【図１】
2005094251.tif 000003
【図２】
2005094251.tif 000004
【図３】
2005094251.tif 000005
【図４】
2005094251.tif 000006
【図５】
2005094251.tif 000007
【図６】
2005094251.tif 000008
【図７】
2005094251.tif 000009
【図８】
2005094251.tif 000010
【図９】
2005094251.tif 000011
【図１０】
2005094251.tif 000012