(57)【要約】【課題】トークンパッシングを用いた伝送制御方式として、伝送路上で複数の異なる周期の伝送サイクルを実現するような方式を提供することを目的とする。【解決手段】保持時間管理表３０２及び巡回路表３０４に記録された複数の通信パターンでは、トークンの巡回経路と、トークンの巡回周期と、巡回経路に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとが設定されている。主ノードである通信装置１０１の巡回路形成部３０１は、保持時間管理表３０２及び巡回路表３０４に記録された複数の通信パターンに基づき、各通信パターンについて、巡回経路に含まれる各従属ノードに、巡回周期ごとに、他の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を割当てる。【選択図】図３
2009201013.tif 000002
【特許請求の範囲】
【請求項１】
トークンを保持している時間内のみデータを送信することが許される複数の従属ノードのうち、少なくとも１つの従属ノードを対象にして、所定の周期ごとにトークンを巡回させる主ノードとなる通信装置であって、
トークンの巡回対象と、トークンの巡回周期と、巡回対象に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとを設定した複数の通信パターンに基づき、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てる巡回路形成部と、
トークンを生成するトークン生成部と、
各通信パターンについて前記巡回路形成部により各従属ノードに割当てられた保持時間に合わせて、前記トークン生成部により生成されたトークンを巡回させる送信処理部とを備え、
前記巡回路形成部は、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに、他の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を割当てることを特徴とする通信装置。
【請求項２】
前記複数の通信パターンは、巡回対象に含まれる各従属ノードに割当てる保持時間の開始のタイミングを巡回周期ごとに一定とする定周期通信の通信パターンと、巡回対象に含まれる各従属ノードに割当てる保持時間の開始のタイミングを巡回周期ごとに可変とする周期通信の通信パターンとを含み、
前記巡回路形成部は、定周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てた後、周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記複数の通信パターンは、さらに、巡回周期を設定せず、巡回対象に含まれる各従属ノードに割当てる保持時間の開始のタイミングを任意とする非周期通信の通信パターンを含み、
前記巡回路形成部は、周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てた後、非周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに保持時間を順次割当てることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記巡回路形成部は、さらに、主ノードと従属ノードとの間及び／又は従属ノードと他の従属ノードとの間に予め定められた重み付け指標に基づき、各通信パターンについて、トークンの巡回経路を設定することを特徴とする請求項１から３までのいずれかに記載の通信装置。
【請求項５】
トークンを保持している時間内のみデータを送信することが許される複数の従属ノードとなる複数の通信装置と、少なくとも１つの従属ノードを対象にして、所定の周期ごとにトークンを巡回させる主ノードとなる通信装置とを有する通信システムであって、
主ノードとなる通信装置は、
トークンの巡回対象と、トークンの巡回周期と、巡回対象に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとを設定した複数の通信パターンに基づき、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てる巡回路形成部と、
トークンを生成するトークン生成部と、
各通信パターンについて前記巡回路形成部により各従属ノードに割当てられた保持時間に合わせて、前記トークン生成部により生成されたトークンを巡回させる送信処理部とを備え、
前記巡回路形成部は、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに、他の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を割当てることを特徴とする通信システム。
【請求項６】
前記送信処理部は、各通信パターンについて、前記複数の従属ノードの全てを対象にして、前記トークン生成部により生成されたトークンを巡回させ、
従属ノードとなる通信装置は、
トークンを受信する受信処理部と、
前記受信処理部により受信されたトークンの種別を特定するトークン解析部と、
前記トークン解析部により特定された種別に応じて、前記受信処理部により受信されたトークンを保持している時間内にデータを送信することが許されているかどうかを判断する送信処理部とを備えることを特徴とする請求項５に記載の通信システム。
【請求項７】
前記トークン生成部は、各通信パターンについて、トークンの巡回経路を示す情報を含むトークンを生成し、
従属ノードとなる通信装置は、
トークンを受信する受信処理部と、
前記受信処理部により受信されたトークンに含まれる情報で示された巡回経路で次に含まれる従属ノードを特定するトークン解析部と、
前記トークン解析部により特定された従属ノードとなる通信装置へ、前記受信処理部により受信されたトークンを送信する送信処理部とを備えることを特徴とする請求項５又は６に記載の通信システム。
【請求項８】
主ノードとなる通信装置と複数の従属ノードとなる複数の通信装置とはバス型又はスター型又はリング型のネットワークを構成し、
前記送信処理部は、各通信パターンについて、前記ネットワーク内で、前記トークン生成部により生成されたトークンを巡回させ、
従属ノードとなる通信装置は、トークンを保持している時間内のみ前記ネットワークを用いてデータを送信することが許されることを特徴とする請求項５から７までのいずれかに記載の通信システム。
【請求項９】
トークンを保持している時間内のみデータを送信することが許される複数の従属ノードのうち、少なくとも１つの従属ノードを対象にして、所定の周期ごとにトークンを巡回させる主ノードとなる通信装置を用いた通信方法であって、
前記通信装置の巡回路形成部が、トークンの巡回対象と、トークンの巡回周期と、巡回対象に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとを設定した複数の通信パターンに基づき、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てる第１ステップと、
前記通信装置のトークン生成部が、トークンを生成する第２ステップと、
前記通信装置の送信処理部が、各通信パターンについて前記第１ステップにより各従属ノードに割当てられた保持時間に合わせて、前記第２ステップにより生成されたトークンを巡回させる第３ステップとを備え、
前記第１ステップは、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに、他の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を割当てることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信システム及び通信方法に関するものである。本発明は、特に、トークンパッシングを用いたデータ伝送方式に関するものである。
【背景技術】
【０００２】
トークンパッシングを用いた伝送制御方式の１つに、ＩＥＥＥ８０２．４がある。この方式では、ノード間でトークンの受け渡しが行われ、トークンを保持しているノードがデータの送信権を得る。各ノードは、トークンが一巡する時間を個別に計測し、予め設定された時間を超える場合にはデータを送信しないことで、時間管理を行っている。全ノードが対等で、時間計測を独立して行っていることに加え、送信データ量が可変であるため、この方式では、トークンが全ノードを一巡する時間が一定にならなかった。これに対し、特許文献１の伝送制御方式では、１台の同期マスタと複数台のスレーブが配置され、同期マスタが契機となり、優先度の高いデータをトークンパッシングによって伝送する。同期マスタは、伝送サイクルのうち優先度の高いデータの伝送で用いた時間の残り時間を優先度の低いデータに割当て、スレーブへのポーリングによってデータの送信権を与える。スレーブは、低優先度データの伝送を行う。
【特許文献１】特開平１１−１３６２６６号公報（第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術には、同期マスタが固定的な１つの伝送サイクルを基に高優先伝送フェーズと低優先伝送フェーズを構成しているため、従属ノードが異なる伝送サイクルで周期通信を行うことができない、という課題があった。
【０００４】
本発明は、例えば、トークンパッシングを用いた伝送制御方式として、伝送路上で複数の異なる周期の伝送サイクルを実現するような方式を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一の態様に係る通信装置は、
トークンを保持している時間内のみデータを送信することが許される複数の従属ノードのうち、少なくとも１つの従属ノードを対象にして、所定の周期ごとにトークンを巡回させる主ノードとなる通信装置であって、
トークンの巡回対象と、トークンの巡回周期と、巡回対象に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとを設定した複数の通信パターンに基づき、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てる巡回路形成部と、
トークンを生成するトークン生成部と、
各通信パターンについて前記巡回路形成部により各従属ノードに割当てられた保持時間に合わせて、前記トークン生成部により生成されたトークンを巡回させる送信処理部とを備え、
前記巡回路形成部は、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに、他の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を割当てることを特徴とする。
【発明の効果】
【０００６】
本発明の一の態様によれば、通信装置の巡回路形成部が、トークンの巡回対象と、トークンの巡回周期と、巡回対象に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとを設定した複数の通信パターンの各々について、巡回対象に含まれる各従属ノードに、巡回周期ごとに、他の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を割当てることにより、トークンパッシングを用いた伝送制御方式として、伝送路上で複数の異なる周期の伝送サイクルを実現するような方式を提供することが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について、図を用いて説明する。
【０００８】
実施の形態１．
図１は、本実施の形態に係る通信システム１００の構成を示すブロック図である。
【０００９】
図１において、通信システム１００は、１つの主ノードとなる通信装置１０１として１局を、それぞれ従属ノードとなる複数の通信装置１０２として２局、３局及び４局を備えている。１局から４局までの各局は、共通の伝送路１０３で接続されている。即ち、１局から４局までの各局は、バス型のネットワークを構成している。なお、１局から４局までの各局が接続される伝送路は、必ずしも共通のものでなくてもよい。即ち、１局から４局までの各局は、スター型、リング型など、バス型以外のネットワークを構成していてもよい。
【００１０】
主ノードは、トークンを生成し、複数の従属ノードのうち、少なくとも１つの従属ノードを対象にして、所定の周期ごとにトークンを巡回させる。各従属ノードは、トークンを保持している時間内のみ伝送路１０３を用いてデータを送信することが許される。なお、１局は主ノードであるが、トークンを生成してから送信するまでの間、即ち、トークンを保持している時間内は伝送路１０３を用いてデータを送信することが許されることから、従属ノードも兼ねるものとして考える。
【００１１】
図２は、図１で示した通信システム１００の構成における伝送サイクルと巡回路フェーズ構成の一例を示した図である。
【００１２】
図２において、主ノードである１局と従属ノードである３局は、伝送サイクルを周期とする定周期通信と、非周期通信を行う。従属ノードである２局と４局は、伝送サイクルの２倍を周期とする周期通信と、非周期通信を行う。
【００１３】
巡回路Ａフェーズは、伝送サイクルを周期とする定周期通信、巡回路Ｂフェーズは、伝送サイクルの２倍を周期とする周期通信、巡回路Ｃフェーズと巡回路Ｄフェーズは、非周期通信である。巡回路Ａフェーズでは、主ノードである１局を起点としてトークンパッシングを行い、１局と従属ノードである３局が、伝送サイクルの間隔でデータ送信を行う。巡回路Ｂフェーズでは、主ノードである１局を起点としてトークンパッシングを行い、従属ノードである２局と４局が、伝送サイクルの２倍の間隔でデータ送信を行う。巡回路Ｃフェーズと巡回路Ｄフェーズでは、伝送サイクルのうち、定周期通信と周期通信で使用した時間の残り時間を使っている。巡回路Ｃフェーズでは、主ノードである１局を起点としてトークンパッシングを行い、１局と従属ノードである２局が非周期通信を行う。巡回路Ｄフェーズでは、主ノードである１局を起点としてトークンパッシングを行い、従属ノードである３局と４局が非周期通信を行う。
【００１４】
図１及び図２の例では、複数の通信パターンの具体例として、巡回路Ａフェーズ、巡回路Ｂフェーズ、巡回路Ｃフェーズ、巡回路Ｄフェーズの４つの通信パターンを示している。
【００１５】
各通信パターンでは、トークンの巡回対象と、トークンの巡回周期と、巡回対象に含まれる各従属ノードに、巡回周期ごとに割当てるトークンの保持時間の長さとが設定される。巡回路Ａフェーズの通信パターンを例にとると、巡回対象は１局と３局、巡回周期は伝送サイクルの周期、１局の保持時間は１局のデータ送信時間とトークン送信時間、３局の保持時間は３局のデータ送信時間とトークン送信時間となる。一方、巡回路Ｂフェーズの通信パターンを例にとると、巡回対象は２局と４局、巡回周期は伝送サイクルの２倍の周期、２局の保持時間は２局のデータ送信時間とトークン送信時間、４局の保持時間は４局のデータ送信時間とトークン送信時間となる。巡回周期１回につき、１つの局に与えられる保持時間の長さは、巡回周期の各回に、その局がデータとトークンを送信するためにかかる時間の長さの最大値とする。
【００１６】
図１及び図２の例では、通信パターンの種別として、定周期通信、周期通信、非周期通信の３種類の通信パターンを示している。
【００１７】
定周期通信では、巡回対象に含まれる各従属ノードに割当てる保持時間の開始のタイミングを巡回周期ごとに一定とする。例えば、巡回路Ａフェーズの通信パターンでは、１局の保持時間が伝送サイクルの各周期と同時に開始するように設定され、３局の保持時間が、伝送サイクルの各周期において１局からのトークンＡが３局に到達した後（あるいは、到達が予想される時点の後）に開始するように設定される。なお、定周期通信の巡回周期は伝送サイクルの周期と同じでなくてもよい。仮に伝送サイクルの周期を５ｍｓ（ミリ秒）間隔とした場合、定周期通信の巡回周期は５ｍｓ間隔でも、７ｍｓ間隔でも、１０ｍｓ間隔でもよい。ただし、仮に１つの局に割当てる保持時間の開始のタイミングを、巡回周期それぞれの開始時点から０．１ｍｓ後とした場合、その局の保持時間はいずれの巡回周期においても当該開始時点から０．１ｍｓ後に開始するように設定しなければならない。よって、例えば巡回周期が７ｍｓであれば、その局の保持時間は１回目の巡回周期の開始時点から０．１ｍｓ後、７．１ｍｓ後、１４．１ｍｓ後、・・・に開始するように設定することになる。
【００１８】
周期通信では、巡回対象に含まれる各従属ノードに割当てる保持時間の開始のタイミングを巡回周期ごとに可変とする。例えば、巡回路Ｂフェーズの通信パターンでは、２局の保持時間が、伝送サイクルの２倍の周期ごとに１局からのトークンＢが２局に到達した後（あるいは、到達が予想される時点の後）に開始するように設定され、４局の保持時間が、伝送サイクルの２倍の周期ごとに２局からのトークンＢが４局に到達した後（あるいは、到達が予想される時点の後）に開始するように設定される。なお、周期通信の巡回周期は伝送サイクルの周期の整数倍でなくてもよい。仮に伝送サイクルの周期を５ｍｓ間隔とした場合、周期通信の巡回周期は５ｍｓ間隔でも、７ｍｓ間隔でも、１０ｍｓ間隔でもよい。また、仮に１つの局に割当てる保持時間の開始のタイミングを、１回目の巡回周期の開始時点から０．１ｍｓ後とした場合であっても、その局の保持時間は２回目以降の巡回周期においては当該開始時点から０．１ｍｓ後の時点以外で開始するように設定してもよい。よって、例えば巡回周期が７ｍｓであれば、その局の保持時間は１回目の巡回周期においては当該開始時点から０．１ｍｓ後に開始するように設定するが、２回目以降の巡回周期においては当該開始時点から０ｍｓ後の時点と当該開始時点から（７−保持時間の長さ）ｍｓ後の時点との間の任意のタイミングで開始するように設定することができる。
【００１９】
非周期通信では、巡回周期を設定せず、巡回対象に含まれる各従属ノードに割当てる保持時間の開始のタイミングを任意とする。例えば、巡回路Ｃフェーズの通信パターンでは、１局の保持時間が、伝送サイクルの１つの周期において４局からのトークンＢが１局に到達した後（あるいは、到達が予想される時点の後）、即ち、巡回路Ｂフェーズの終了時に開始するように設定され、２局の保持時間が、同じ周期において１局からのトークンＣが２局に到達した後（あるいは、到達が予想される時点の後）に開始するように設定される。
【００２０】
図３は、主ノードとなる通信装置１０１の構成を示すブロック図である。
【００２１】
図３において、通信装置１０１は、巡回路形成部３０１、トークン生成部３０３、タイマ３０６、受信処理部３０８、送信処理部３０９を備える。また、図示していないが、通信装置１０１は、記憶装置、処理装置、入力装置、出力装置などのハードウェアを備えるものとする。通信装置１０１は、巡回路形成部３０１が利用する保持時間管理表３０２、トークン生成部３０３が利用する巡回路表３０４と巡回路管理表３０５、タイマ３０６が利用するトリガータイミング管理表３０７を記憶装置に記憶している。
【００２２】
巡回路形成部３０１は、保持時間管理表３０２に記録された複数の通信パターンに基づき、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てることにより、トークンの巡回経路を設定する。巡回路形成部３０１は、当該設定を巡回路表３０４、巡回路管理表３０５、トリガータイミング管理表３０７に分けて記録する。なお、実際にトークンが巡回する経路の始点及び終点は必ず主ノードになるが、以下では、便宜上、その経路において最初にデータを送信するノード、即ち、最初の従属ノードを巡回経路の始点、最後にデータを送信するノード、即ち、最後の従属ノードを巡回経路の終点として考える。図２に示した巡回路Ａフェーズの通信パターンを例にとると、巡回経路の始点は１局、終点は３局となる。一方、巡回路Ｂフェーズの通信パターンを例にとると、巡回経路の始点は２局、終点は４局となる。
【００２３】
具体的には、まず、巡回路形成部３０１は、定周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに、他の定周期通信の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を順次割当てる。その後、巡回路形成部３０１は、周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに、定周期通信及び他の周期通信の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を順次割当てる。その後、巡回路形成部３０１は、非周期通信の各通信パターンについて、巡回対象に含まれる各従属ノードに、定周期通信及び周期通信及び他の非周期通信の通信パターンについていずれかの従属ノードに既に割当てた保持時間以外の時間から保持時間を順次割当てる。
【００２４】
保持時間管理表３０２の一例を図４に示す。この保持時間管理表３０２では、各従属ノードについて、定周期、周期、非周期での通信時の保持時間の長さが記録されている。前述したように、保持時間の長さは、主にデータ送信時間の長さに基づいて決定される。定周期及び周期通信については、周期ごとの保持時間の長さが記録されている。非周期通信については、保持時間の長さの上限が記録されている。保持時間管理表３０２は、予め静的に作成しても、トークン巡回前に動的に生成してもよく、生成方法は問わない。
【００２５】
巡回路表３０４の一例を図５に示す。この巡回路表３０４では、トークン種別（当該トークンがどの通信パターンにおいて送信されるものかを示すデータ）ごとに経路が記録されている。トークンは主ノードを起点・終点として巡回するものであるため、例えば図２に示した巡回路Ａフェーズの通信パターンでは、主ノード→１局→３局→主ノードの順にトークンが巡回し、データ送信が行われることになる（実際には主ノードと１局は同じものであるが、便宜上、１局を従属ノードとして主ノードと分けて記している）。しかしながら、前述したように、主ノードはデータ送信を行わないため、巡回路Ａフェーズの通信パターンを示すトークン種別Ａに対応する経路としては１局→３局が記録されている。
【００２６】
巡回路管理表３０５の一例を図６に示す。この巡回路管理表３０５では、トークン種別で示されるトークンの巡回の順序と、それぞれの巡回開始の契機が記録されている。ここでは、図１及び図２の例を用いており、第１に、トリガー１を契機としてトークン種別Ａの巡回を行う。第２に、トークン種別Ａの巡回が完了するとトークン種別Ｂの巡回を行う。第３に、トークン種別Ｂの巡回が完了するとトークン種別Ｃの巡回を行う。トークン種別Ｃの巡回が完了した後、トリガー１の発生まで、主ノードはトークンの送信を行わない。第４に、トリガー１を契機として再びトークン種別Ａの巡回を行う。第５に、トークン種別Ａの巡回が完了するとトークンＤの巡回を行う。トークンＤの巡回が完了した後、再び順序１から繰り返す。その際、第４の場合と同じように、トークンＤの巡回完了後、トリガー１の発生まで主ノードはトークンの送信を行わない。
【００２７】
トリガータイミング管理表３０７の一例を図７に示す。このトリガータイミング管理表３０７では、トリガーごとに、トークンの巡回（トークンパッシング）を開始する時点を０とした周期の基点と、周期が記録されている。この例では、トリガーは１つで、トークンパッシング開始時点を含め、周期５０でトリガーが発生する。
【００２８】
タイマ３０６は、時間を計測する。タイマ３０６は、トリガータイミング管理表３０７に記録された周期ごとに、当該開始時点をトークン生成部３０３に通知する。
【００２９】
受信処理部３０８は、各通信パターンについて巡回路形成部３０１により設定された巡回経路に終点として含まれる従属ノードから、伝送路１０３を介して、トークンを受信する。受信処理部３０８は、トークンを受信した場合、トークンを受信したことをトークン生成部３０３に通知する。また、受信処理部３０８は、各従属ノードから、伝送路１０３を介して、データを受信することができる。受信処理部３０８は、データを受信した場合、そのデータを通信アプリケーションに渡す。
【００３０】
トークン生成部３０３は、巡回路管理表３０５に記録されたタイミングで、巡回路表３０４に記録されたトークン種別のトークンを生成する。具体的には、トークン生成部３０３は、各通信パターンについて、巡回路形成部３０１により設定された巡回経路に始点として含まれる従属ノードに割当てられた保持時間の開始のタイミングに合わせて、トークンを生成する。トークン生成部３０３は、それぞれのタイミングを、タイマ３０６や受信処理部３０８からの通知に基づいて判断する。即ち、タイマ３０６や受信処理部３０８からの通知は、トークン生成部３０３がトークンを生成する契機となる。トークンには、例えば、トークン種別、該当する経路、該当する経路に含まれる各従属ノードの保持時間の長さなどを示す情報を、必要に応じて含めることができ、トークンを受取った各部は、このような情報に基づいて適切な処理を行うことが可能となる。ただし、本実施の形態では、このような情報は、トークン種別ごとに各従属ノードに予め通知されるものとする。
【００３１】
送信処理部３０９は、各通信パターンについて巡回路形成部３０１により各従属ノードに割当てられた保持時間に合わせて、トークン生成部３０３により生成されたトークンを巡回させる。具体的には、送信処理部３０９は、トークン生成部３０３がトークンを生成する度に、当該トークン種別に該当する経路に始点として含まれる従属ノードへ、伝送路１０３を介して、トークンを送信する。また、送信処理部３０９は、各従属ノードへ、伝送路１０３を介して、データを送信することができる。送信処理部３０９は、データを送信する場合、そのデータを通信アプリケーションから受取る。送信処理部３０９は、データを送信した直後に、該当するトークンを送信する。
【００３２】
図８は、従属ノードとなる通信装置１０２の構成を示すブロック図である。
【００３３】
図８において、通信装置１０２は、トークン解析部４０１、受信処理部４０３、送信処理部４０４を備える。また、図示していないが、通信装置１０２は、記憶装置、処理装置、入力装置、出力装置などのハードウェアを備えるものとする。通信装置１０２は、トークン解析部４０１が利用する巡回路情報管理表４０２を記憶装置に記憶している。
【００３４】
受信処理部４０３は、各通信パターンについて、巡回経路に１つ前のノードとして含まれるノードから、伝送路１０３を介して、トークンを受信する。また、受信処理部４０３は、他の従属ノードから、伝送路１０３を介して、データを受信することができる。受信処理部４０３は、データを受信した場合、そのデータを通信アプリケーションに渡す。
【００３５】
トークン解析部４０１は、巡回路情報管理表４０２に記録された情報に基づき、受信処理部４０３により受信されたトークンを解析する。具体的には、トークン解析部４０１は、トークンを解析して、当該トークン種別に該当する情報を巡回路情報管理表４０２から読み取り、送信処理部４０４に通知する。トークンに、トークン種別を示す情報が含まれていれば、トークン解析部４０１は、トークン種別をキーとして必要な情報を巡回路情報管理表４０２から取得し、このような情報を送信処理部４０４に通知することができる。また、トークンに、トークン種別、該当する経路、該当する経路に含まれる各従属ノードの保持時間の長さなどを示す情報が含まれていれば、トークン解析部４０１は、このような情報をそのまま送信処理部４０４に通知することができる。
【００３６】
巡回路情報管理表４０２の一例を図９に示す。ここでは、図１及び図２に示した２局の保持する巡回路情報管理表４０２を例示している。この巡回路情報管理表４０２では、２局がトークン種別Ｂのトークンを１局から渡され、データ送信後に４局へトークンを渡すこと、及び、トークン種別Ｃのトークンを１局から渡され、データ送信後に１局へトークンを渡すことが記録されている。また、２局がトークン種別ＡとＤでは、データの送信権を得ることができないことも示されている。
【００３７】
送信処理部４０４は、各通信パターンについて、巡回経路に１つ後のノードとして含まれるノードへ、伝送路１０３を介して、受信処理部４０３により受信されたトークンを送信する。送信処理部４０４は、それぞれのトークンをどのノードへ送信するかを、トークン解析部４０１からの通知に基づいて判断する。また、送信処理部４０４は、他の従属ノードへ、伝送路１０３を介して、データを送信することができる。送信処理部４０４は、そのデータをどれくらいの時間内に（必要に応じてデータを分割した上で）送信するかを、トークン解析部４０１からの通知に基づいて判断する。送信処理部４０４は、データを送信する場合、そのデータを通信アプリケーションから受取る。送信処理部４０４は、データを送信した直後に、該当するトークンを送信する。
【００３８】
図１０は、通信装置１０１，１０２のハードウェア構成の一例を示す図である。
【００３９】
図１０において、通信装置１０１，１０２は、コンピュータであり、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ装置９０６などのハードウェアを備え、これらはケーブルや信号線で接続されている。
【００４０】
通信装置１０１，１０２は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００４１】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５などは、入力装置の一例である。また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００４２】
通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）などに接続されている。通信ボード９１５は、ＬＡＮに限らず、インターネット、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。ＬＡＮ、インターネット、ＷＡＮは、ネットワークの一例である。
【００４３】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００４４】
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４などのメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００４５】
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００４６】
図１１は、主ノードとなる通信装置１０１が備える巡回路形成部３０１の動作を示すフローチャートである。
【００４７】
巡回路形成部３０１は、保持時間管理表３０２から、定周期通信１〜ｎの周期Ｔ１〜Ｔｎ（巡回周期）を抽出し、周期の最小公倍数ＴＬＣＭを求める（ステップＳ１００１）。図１、図２、図４から図７まで及び図９の例（以下、「第１例」という）では、定周期通信は巡回路Ａフェーズのみであり、ＴＬＣＭ＝５０（単位は、例えば０．１ｍｓ）となる。
【００４８】
巡回路形成部３０１は、カウンタｉ＝１、利用率Ｕ＝０、基点時刻ｔ＝０とする（ステップＳ１００２）。そして、巡回路形成部３０１は、定周期Ｔｉで定周期通信ｉを行う全ノードの保持時間の合計Ｃｉを求める（ステップＳ１００３）。第１例では、定周期通信１である巡回路Ａフェーズの通信を行う１局と３局の保持時間の合計Ｃ１＝５＋５＝１０となる。
【００４９】
巡回路形成部３０１は、利用率Ｕ＝Ｕ＋Ｃｉ／Ｔｉを求める（ステップＳ１００４）。第１例では、Ｕ＝Ｕ＋Ｃ１／Ｔ１＝０＋１０／５０＝０．２となる。
【００５０】
巡回路形成部３０１は、Ｕ≦１であるかを判定し（ステップＳ１００５）、真であれば基点時刻ｔからＴＬＣＭまで定周期Ｔｉで保持時間の合計Ｃｉを割当てる（ステップＳ１００６）。第１例では、Ｕ＝０．２≦１であるため、判定結果は真となり、図２に示したように、時刻０から時刻５０までの間に１局と３局の保持時間が１回ずつ（ＴＬＣＭ／Ｔ１＝５０／５０＝１であるため）割当てられる。具体的には、時刻０から時刻５までが１局の保持時間として、時刻５から時刻１０までが３局の保持時間として割当てられる。
【００５１】
ステップＳ１００６において、ＴＬＣＭまでで、それまでに割当てた保持時間と重複する部分がある場合、巡回路形成部３０１は、重複量ｄだけ基点時刻ｔをずらし、即ち、ｔ＝ｔ＋ｄとする（ステップＳ１００７）。第１例では、定周期通信は巡回路Ａフェーズのみであり、ステップＳ１００６の処理が１度しか行われないため、重複は発生しないが、仮に他の定周期通信が１つあり、時刻０から時刻５までが割当て済であったとすると（以下、この変形例を「第２例」という）、ｄ＝５であるため、ｔ＝０＋５＝５となる。
【００５２】
巡回路形成部３０１は、基点時刻ｔをずらすことで、送信が完了しない間に定周期Ｔｉを超えることがないかをｔ＋Ｃｉ＜Ｔｉで判定し（ステップＳ１００８）、真ならばステップＳ１００６から処理を繰り返す。第２例では、ｔ＋Ｃ２＝５＋１０＝１５＜Ｔ２＝５０であるため、判定結果は真となり、時刻５から時刻５０までの間に１局と３局の保持時間が１回ずつ割当てられる。具体的には、時刻５から時刻１０までが１局の保持時間として、時刻１０から時刻１５までが３局の保持時間として割当てられる。
【００５３】
ステップＳ１００５やステップＳ１００８で偽となった場合、スケジューリングできないため、巡回路形成部３０１は、通信不可と判断する（ステップＳ１００９）。この場合、巡回路形成部３０１は、ＧＵＩ（グラフィックユーザインタフェース）などのユーザインタフェースを介して、巡回経路決定ができなかったことを表示する（ステップＳ１０２５）。続いて、巡回路形成部３０１は、ユーザインタフェースを介して、巡回経路を決定するための代替案を表示する（ステップＳ１０２６）。この代替案は、例えば周期の変更、データ量の変更（即ち、保持時間の変更）、ノード数の変更、通信パターンの変更、ネットワークの分割やトポロジーの変更などである。ステップＳ１０２６の後、巡回路形成部３０１は、ユーザインタフェースを介して、代替案に対する変更条件（具体的な変更内容の入力）をユーザから受取る（ステップＳ１０２７）。巡回路形成部３０１は、変更条件を受取ると、巡回経路決定のための情報として、例えば保持時間管理表３０２などを更新し（ステップＳ１０２８）、再度ステップＳ１００１から巡回経路決定の処理を行う。なお、ステップＳ１００９において通信不可と判断した場合、巡回路形成部３０１は、ただちに処理を終了してもよい。
【００５４】
ステップＳ１００６で重複がない場合、巡回路形成部３０１は、カウンタｉをインクリメントし、即ち、ｉ＝ｉ＋１とし（ステップＳ１０１０）、カウンタｉが定周期通信数ｎを超えていないことを確認し（ステップＳ１０１１）、次の定周期通信についてステップＳ１００３から同じ処理を繰り返す。
【００５５】
ここまでで、定周期通信の割当ては完了である。続いて、周期通信の割当てを行う。
【００５６】
巡回路形成部３０１は、周期通信識別用のカウンタｍ＝１、ノード識別用のカウンタｊ＝１とする（ステップＳ１０１２）。そして、巡回路形成部３０１は、周期通信ｍを行うノードｊの保持時間を、周期Ｔｍ内で定周期通信に割当てた時間以外に割当てることができるかどうかを判定し（ステップＳ１０１３）、割当て可能であればノードｊの保持時間分を、周期Ｔｍ内の所定の時間に割当てる（ステップＳ１０１４）。第１例では、周期通信１である巡回路Ｂフェーズの通信を行う２局の保持時間の長さが５、巡回路Ｂフェーズの周期Ｔ１＝１００であり、定周期通信である巡回路Ａフェーズに割当てた時間以外の時間、即ち、時刻１０から時刻５０までの間、及び、時刻６０から時刻１００までの間に２局の保持時間を割当て可能である。そのため、例えば時刻１０から時刻１５までが２局の保持時間として割当てられる。
【００５７】
ステップＳ１０１３において、割当てできない場合には、巡回路形成部３０１は、ステップＳ１００９に進み、続けてステップＳ１０２５〜Ｓ１０２８で代替案の提示を行うか、あるいは、通信不可として終了する。
【００５８】
巡回路形成部３０１は、次のノードについて判定するために、カウンタｊ＝ｊ＋１とする（ステップＳ１０１５）。そして、巡回路形成部３０１は、周期通信ｍの全ノードの割当てが完了したかを判定し（ステップＳ１０１６）、完了していない場合には、ステップＳ１０１３から処理を繰り返す。第１例では、周期通信１である巡回路Ｂフェーズの通信を行う４局の保持時間の長さが５、巡回路Ｂフェーズの周期Ｔ１＝１００であり、定周期通信及び周期通信に割当て済の時間以外の時間、即ち、時刻１５から時刻５０までの間、及び、時刻６０から時刻１００までの間に２局の保持時間を割当て可能である。そのため、例えば時刻１５から時刻２０までが４局の保持時間として割当てられる。
【００５９】
ステップＳ１０１６において、周期通信ｍの全ノードの割当てが完了した場合には、巡回路形成部３０１は、次の周期通信に割当てを行うために、カウンタｍ＝ｍ＋１とする（ステップＳ１０１７）。そして、巡回路形成部３０１は、全ての周期通信の割当てが完了したかを判定し（ステップＳ１０１８）、完了していない場合には、ステップＳ１０１３から処理を繰り返す。
【００６０】
ここまでで、周期通信の割当ては完了である。続いて、非周期通信の割当てを行う。
【００６１】
巡回路形成部３０１は、非周期通信の保持時間を割当て可能であるかを判定し（ステップＳ１０１９）、可能である場合には、非周期通信の保持時間を割当てる（ステップＳ１０２０）。第１例では、非周期通信である巡回路Ｃフェーズの通信を行う１局及び２局の保持時間の長さが１０、非周期通信である巡回路Ｄフェーズの通信を行う３局及び４局の保持時間の長さが１０であり、定周期通信及び周期通信に割当てた時間以外の時間、即ち、時刻２０から時刻５０までの間、時刻６０から時刻１００までの間などにいずれも割当て可能である。そのため、例えば時刻２０から時刻３０までが巡回路Ｃフェーズにおける１局の保持時間として、時刻３０から時刻４０までが巡回路Ｃフェーズにおける２局の保持時間として、時刻６０から時刻７０までが巡回路Ｄフェーズにおける３局の保持時間として、時刻７０から時刻８０までが巡回路Ｄフェーズにおける４局の保持時間として割当てられる。
【００６２】
ステップＳ１０１９において、非周期通信の保持時間が割当て可能でない場合には、巡回路形成部３０１は、ステップＳ１００９に進み、続けてステップＳ１０２５〜Ｓ１０２８で代替案の提示を行うか、あるいは、通信不可として終了する。
【００６３】
ここまでで、非周期通信の割当ては完了である。定周期通信、周期通信、非周期通信の割当てが完了したので、ここまでの割当てを基に、巡回路形成部３０１は、トークンの巡回経路を決定し、巡回路表３０４へ登録する（ステップＳ１０２１）。定周期通信では、周期ごとにＣｉとして定周期通信を行うノードの保持時間を合計して扱っているため、巡回路形成部３０１は、一括して扱ったノード間でのトークン巡回順序を決める。局番順にトークンを巡回させるという方法は、決め方の一例である。周期通信と非周期通信についても、巡回路形成部３０１は、トークン巡回順序を決定し、巡回路表３０４へ登録した後（ステップＳ１０２１）、トリガータイミング管理表３０７に、トークン巡回開始の契機となるタイミングを登録する（ステップＳ１０２２）。最後に、巡回路形成部３０１は、巡回路管理表３０５に、トークン種別で示される巡回経路の順序と、それぞれの巡回開始の契機を登録し（ステップＳ１０２３）、通信可能となる（ステップＳ１０２４）。
【００６４】
図１２は、主ノードとなる通信装置１０１が備える受信処理部３０８の動作を示すフローチャートである。
【００６５】
受信処理部３０８は、データの受信を行うと（ステップＳ１１０１）、受信データの種類を判定する（ステップＳ１１０２）。受信データがトークンの場合には、受信処理部３０８は、トークン生成部３０３に受信データを渡し（ステップＳ１１０３）、それ以外の場合には通信アプリケーションに渡す（ステップＳ１１０４）。
【００６６】
図１３は、主ノードとなる通信装置１０１が備えるトークン生成部３０３の動作を示すフローチャートである。
【００６７】
トークン生成部３０３は、後述する巡回路情報設定完了通知を送信処理部３０９から受取ったかどうかを判定し（ステップＳ１２０１）、受取っていなければ、受取るまで待つ。受取っていれば、トークン生成部３０３は、巡回路管理表３０５の順序１のトークン種別と巡回路表３０４の該当するトークン種別の経路を基に、トークンを生成する（ステップＳ１２０２）。生成したトークンには、トークン種別が含まれているものとする。トークン生成部３０３は、生成したトークンと送信指示を送信処理部３０９に渡す（ステップＳ１２０３）。トークン生成部３０３は、トークンと送信指示を渡した後は、受信処理部３０８からトークンを受取るのを待ち、受信処理部３０８からトークンを受信すると（ステップＳ１２０４）、ステップＳ１２０２からの処理を繰り返す。
【００６８】
図１４は、主ノードとなる通信装置１０１が備えるタイマ３０６の動作を示すフローチャートである。
【００６９】
タイマ３０６は、通信開始かどうかを判定し（ステップＳ１３０１）、開始していなければ開始まで待つ。通信開始になったら、タイマ３０６は、計時を開始し（ステップＳ１３０２）、トリガータイミング管理表３０７に記録されている各トリガー条件が成立するかを判定する（ステップＳ１３０３）。図７の例では、基点時刻０、時刻５０、時刻１００、・・・になるとトリガー番号１のトリガー条件が成立する。ステップＳ１３０３において、成立していなければ、タイマ３０６は、成立するまで待つ。成立していれば、タイマ３０６は、送信処理部３０９にトリガー番号を通知する（ステップＳ１３０４）。その後、タイマ３０６は、通信停止となっているかを判定し（ステップＳ１３０５）、なっていなければ、ステップＳ１３０３から処理を繰り返す。通信停止となっている場合には、ステップＳ１３０１から処理を繰り返す。
【００７０】
図１５は、主ノードとなる通信装置１０１が備える送信処理部３０９の動作を示すフローチャートである。
【００７１】
送信処理部３０９は、データや情報や通知などを受取ると、その受け渡し元を判定し（ステップＳ１４０１）、通信アプリケーションからであれば、定周期通信、周期通信、非周期通信といった通信種別ごと、及び、定周期通信と周期通信の場合にはその周期ごとに用意した送信待ちバッファに、受取ったデータをキューイングする（ステップＳ１４０２）。ステップＳ１４０１で、巡回路形成部３０１からの場合には、送信処理部３０９は、従属ノードごとの巡回路情報を受取る（ステップＳ１４０３）。送信処理部３０９は、受取った巡回路情報を、各ノードに宛てて送信する（ステップＳ１４０４）。そして、送信処理部３０９は、トークン生成部３０３に巡回路情報設定完了通知を送信する（ステップＳ１４０５）。ステップＳ１４０１で、トークン生成部３０３からの場合には、送信処理部３０９は、トークンと送信指示を受取り（ステップＳ１４０６）、送信の契機がタイマ３０６からのトリガーかどうかを判定する（ステップＳ１４０７）。契機がタイマ３０６からのトリガーでない場合には、送信処理部３０９は、トークン生成部３０３から受取った送信指示に従ってデータを送信し（ステップＳ１４０８）、トークンを送信する（ステップＳ１４０９）。ステップＳ１４０７の判定で、契機がタイマ３０６からのトリガーの場合には、送信処理部３０９は、タイマ３０６からトリガー番号が通知されるのを待つ。通知されたら、送信処理部３０９は、タイマ３０６からトリガー番号を受取り（ステップＳ１４１０）、データを送信し（ステップＳ１４０８）、トークンを送信する（ステップＳ１４０９）。
【００７２】
図１６は、従属ノードとなる通信装置１０２が備える受信処理部４０３の動作を示すフローチャートである。
【００７３】
受信処理部４０３は、データの受信を行うと（ステップＳ１５０１）、受信データの種類を判定する（ステップＳ１５０２）。受信データがトークンの場合には、受信処理部４０３は、トークン解析部４０１に受信データを渡し（ステップＳ１５０３）、それ以外の場合には通信アプリケーションに渡す（ステップＳ１５０４）。
【００７４】
図１７は、従属ノードとなる通信装置１０２が備えるトークン解析部４０１の動作を示すフローチャートである。
【００７５】
トークン解析部４０１は、受信処理部４０３からトークンを受取ると（ステップＳ１６０１）、トークン種別を基に巡回路情報管理表４０２からトークンの宛先を割り出す（ステップＳ１６０２）。トークン解析部４０１は、トークンと、トークンの宛先を含む送信指示を送信処理部４０４に渡し（ステップＳ１６０３）、再度トークンを受取るまで待つ。
【００７６】
図１８は、従属ノードとなる通信装置１０２が備える送信処理部４０４の動作を示すフローチャートである。
【００７７】
送信処理部４０４は、データや情報や通知などを受取ると、その受け渡し元を判定し（ステップＳ１７０１）、通信アプリケーションからであれば、定周期通信、周期通信、非周期通信といった通信種別ごと、及び、定周期通信と周期通信の場合にはその周期ごとに用意した送信待ちバッファに、受取ったデータをキューイングする（ステップＳ１７０２）。ステップＳ１７０１で、トークン解析部４０１からの場合には、送信処理部４０４は、トークンと送信指示を受取り（ステップＳ１７０３）、受取った送信指示に従ってデータを送信し（ステップＳ１７０４）、トークンを送信する（ステップＳ１７０５）。
【００７８】
以上のように、本実施の形態によれば、トークンパッシングを用いた伝送制御方式として、伝送路１０３上で複数の異なる周期の伝送サイクルを実現するような方式を提供することが可能となる。
【００７９】
以上、本実施の形態では、次の特徴を備えたデータ伝送方式について説明した。
・１台の主ノードが、トークン巡回順序をスケジューリングし、それ以外のノードは、トークンの受信時に送信権を得る。
・トークン巡回スケジューリングに応じて、トークン種別を複数設け、種別ごとにデータ送信権を得るノード及び通信の種別を決める。
・トークン巡回順序のスケジューリングは、定周期通信、周期通信、非周期通信の順に行う。定周期通信について、定周期で各周期内に通信が行えることを確認した後、周期通信について、各周期内に通信が行えることを確認し、最後に非周期通信について割当てる。
【００８０】
実施の形態２．
図１９は、主ノードとなる通信装置１０１の構成を示すブロック図である。
【００８１】
以下、図３に示した実施の形態１での構成との差異を説明する。
【００８２】
図１９において、通信装置１０１は、巡回路形成部３０１が利用するノード間距離管理表３１０を記憶装置に記憶している。
【００８３】
巡回路形成部３０１は、主ノードと従属ノードとの間及び／又は従属ノードと他の従属ノードとの間に予め定められた重み付け指標の一例として、ノード間距離管理表３１０に記録された従属ノード間の距離に基づき、各通信パターンについて、トークンの巡回経路を設定する。なお、重み付け指標としては、距離以外にも、例えば、通信時間、処理負荷、優先度、あるいは、これらの任意の組み合わせなどを用いることができる。
【００８４】
ノード間距離管理表３１０の一例を図２０に示す。このノード間距離管理表３１０では、ノード間の距離が記録されている。この例では、１局と２局、２局と３局、３局と４局の間の距離はそれぞれ１であり、１局と３局、２局と４局の間の距離はそれぞれ２であり、１局と４局の間の距離は３であることを示している。
【００８５】
次に、主ノードとなる通信装置１０１が備える巡回路形成部３０１の動作について説明する。以下では、図１１に示した実施の形態１での動作との差異を説明する。
【００８６】
ステップＳ１０２１において、巡回路形成部３０１は、トークンの巡回経路を決定する際に、ノード間距離管理表３１０を基に、巡回経路が最短になるようにトークンの巡回順序を決める。
【００８７】
以上のように、本実施の形態によれば、トークンの巡回経路を短く設定することができるため、通信効率や通信速度が向上する。
【００８８】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を説明する。
【００８９】
図２１は、本実施の形態における伝送サイクルと巡回路フェーズ構成の一例を示した図である。
【００９０】
図２１において、主ノードである１局と従属ノードである３局は、伝送サイクルを周期とする定周期通信と、非周期通信を行う。従属ノードである２局と４局は、伝送サイクルの２倍を周期とする周期通信と、非周期通信を行う。
【００９１】
本実施の形態では、実施の形態１と異なり、全ての通信パターンにおいて、全ノードに対してトークンパッシングが行われる。そのため、トークンを受取ったノードでは、トークン種別が当該ノードに割当てられたものの場合にのみ、データ送信を行う。したがって、巡回路Ａフェーズでは、トークン種別Ａが割当てられた１局と３局のみがデータを送信する。また、巡回路Ｂフェーズでは、トークン種別Ｂが割当てられた２局と４局のみがデータを送信する。また、巡回路Ｃフェーズでは、トークン種別Ｃが割当てられた１局と２局のみがデータを送信する。また、巡回路Ｄフェーズでは、トークン種別Ｄが割当てられた３局と４局のみがデータを送信する。
【００９２】
主ノードとなる通信装置１０１の構成は、図３に示した実施の形態１での構成と同様であるが、本実施の形態では、巡回路形成部３０１は、各通信パターンについて、巡回対象に含まれる各従属ノードに、巡回周期ごとに保持時間を順次割当てるのとは別に、全ての従属ノードを含む経路をトークンの巡回経路として設定する。そして、巡回路形成部３０１は、当該設定を巡回路表３０４、巡回路管理表３０５、トリガータイミング管理表３０７に分けて記録する。なお、巡回路表３０４は、２種類用意される。
【００９３】
１つ目の巡回路表３０４の一例を図２１に示す。この巡回路表３０４では、トークンの巡回順序が記録されている。全てのノードが一度ずつトークンを受信するように、巡回経路が形成されている。
【００９４】
２つ目の巡回路表３０４の一例を図２２に示す。この巡回路表３０４では、トークン種別ごとに、対象としてトークンを利用するノードが記録されている。また、トークン種別ごとに通信種別も記録されている。
【００９５】
巡回路管理表３０５、トリガータイミング管理表３０７は、実施の形態１と同様のものを利用できる。
【００９６】
トークン生成部３０３は、巡回路管理表３０５に記録されたタイミングで、２つ目の巡回路表３０４に記録されたトークン種別のトークンを生成する。トークンには、例えば、トークン種別、１つ目の巡回路表３０４に記録された経路、２つ目の巡回路表３０４に記録された対象に含まれる各従属ノードの保持時間の長さなどを示す情報を、必要に応じて含めることができ、トークンを受取った各部は、このような情報に基づいて適切な処理を行うことが可能となる。ただし、本実施の形態では、このような情報は、トークン種別ごとに各従属ノードに予め通知されるものとする。
【００９７】
送信処理部３０９は、各通信パターンについて、全ての従属ノードを対象にして、トークン生成部３０３により生成されたトークンを巡回させる。
【００９８】
従属ノードとなる通信装置１０２の構成は、図８に示した実施の形態１での構成と同様であるが、本実施の形態では、送信処理部４０４は、トークン解析部４０１により特定された種別に応じて、受信処理部４０３により受信されたトークンを保持している時間内にデータを送信することが許されているかどうかを判断する。そして、送信処理部４０４は、データを送信することが許されていると判断した場合のみ、データを送信する。なお、この判断の基準となる情報は、トークン解析部４０１から通知される。トークン解析部４０１は、トークンを解析し、上記の情報として、当該トークン種別に該当する情報を巡回路情報管理表４０２から読み取り、送信処理部４０４に通知する。
【００９９】
巡回路情報管理表４０２の一例を図２４に示す。ここでは、図１及び図２に示した２局の保持する巡回路情報管理表４０２を例示している。この巡回路情報管理表４０２では、２局に割当てられたトークン種別に対応する通信種別が記録されている。
【０１００】
以上のように、本実施の形態によれば、各従属ノードがトークンの宛先をトークン種別に応じて判断する手間を省くことができる。
【０１０１】
実施の形態４．
本実施の形態について、主に実施の形態１との差異を説明する。
【０１０２】
本実施の形態では、図９に例示した実施の形態１における巡回路情報管理表４０２から経路に関する項目を除き、代わりに、経路に関する情報をトークン自身に持たせる。例えば、トークン種別Ｂのトークンには、トークンの巡回経路が２局→４局であること、あるいは、トークンを１局、２局、４局、１局の順に巡回させることを示す情報が記録される。
【０１０３】
以上のように、本実施の形態によれば、巡回路情報管理表４０２が簡素化できるか、あるいは、巡回路情報管理表４０２が不要になる。
【０１０４】
以上、本発明の実施の形態について説明したが、これらのうち、２つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、２つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
【図面の簡単な説明】
【０１０５】
【図１】実施の形態１に係る通信システムの構成を示すブロック図である。
【図２】実施の形態１に係る通信システムの構成における伝送サイクルと巡回路フェーズ構成の一例を示した図である。
【図３】実施の形態１に係る通信装置の構成を示すブロック図である。
【図４】実施の形態１に係る保持時間管理表の一例を示す図である。
【図５】実施の形態１に係る巡回路表の一例を示す図である。
【図６】実施の形態１に係る巡回路管理表の一例を示す図である。
【図７】実施の形態１に係るトリガータイミング管理表の一例を示す図である。
【図８】実施の形態１に係る通信装置の構成を示すブロック図である。
【図９】実施の形態１に係る巡回路情報管理表の一例を示す図である。
【図１０】実施の形態１に係る通信装置のハードウェア構成の一例を示す図である。
【図１１】実施の形態１に係る通信装置が備える巡回路形成部の動作を示すフローチャートである。
【図１２】実施の形態１に係る通信装置が備える受信処理部の動作を示すフローチャートである。
【図１３】実施の形態１に係る通信装置が備えるトークン生成部の動作を示すフローチャートである。
【図１４】実施の形態１に係る通信装置が備えるタイマの動作を示すフローチャートである。
【図１５】実施の形態１に係る通信装置が備える送信処理部の動作を示すフローチャートである。
【図１６】実施の形態１に係る通信装置が備える受信処理部の動作を示すフローチャートである。
【図１７】実施の形態１に係る通信装置が備えるトークン解析部の動作を示すフローチャートである。
【図１８】実施の形態１に係る通信装置が備える送信処理部の動作を示すフローチャートである。
【図１９】実施の形態２に係る通信装置の構成を示すブロック図である。
【図２０】実施の形態２に係るノード間距離管理表の一例を示す図である。
【図２１】実施の形態３に係る通信システムの構成における伝送サイクルと巡回路フェーズ構成の一例を示した図である。
【図２２】実施の形態３に係る巡回路表の一例を示す図である。
【図２３】実施の形態３に係る巡回路表の一例を示す図である。
【図２４】実施の形態３に係る巡回路情報管理表の一例を示す図である。
【符号の説明】
【０１０６】
１００  通信システム、１０１，１０２  通信装置、１０３  伝送路、３０１  巡回路形成部、３０２  保持時間管理表、３０３  トークン生成部、３０４  巡回路表、３０５  巡回路管理表、３０６  タイマ、３０７  トリガータイミング管理表、３０８  受信処理部、３０９  送信処理部、３１０  ノード間距離管理表、４０１  トークン解析部、４０２  巡回路情報管理表、４０３  受信処理部、４０４  送信処理部、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2009201013.tif 000003
【図２】
2009201013.tif 000004
【図３】
2009201013.tif 000005
【図４】
2009201013.tif 000006
【図５】
2009201013.tif 000007
【図６】
2009201013.tif 000008
【図７】
2009201013.tif 000009
【図８】
2009201013.tif 000010
【図９】
2009201013.tif 000011
【図１０】
2009201013.tif 000012
【図１１】
2009201013.tif 000013
【図１２】
2009201013.tif 000014
【図１３】
2009201013.tif 000015
【図１４】
2009201013.tif 000016
【図１５】
2009201013.tif 000017
【図１６】
2009201013.tif 000018
【図１７】
2009201013.tif 000019
【図１８】
2009201013.tif 000020
【図１９】
2009201013.tif 000021
【図２０】
2009201013.tif 000022
【図２１】
2009201013.tif 000023
【図２２】
2009201013.tif 000024
【図２３】
2009201013.tif 000025
【図２４】
2009201013.tif 000026