以下に、本発明の実施の形態にかかるネットワーク管理システムおよびネットワーク管理方法を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかる通信装置の構成を示すブロック図である。図1では、後述するネットワーク管理システム101に配置される通信装置10Xの機能構成を示している。通信装置10Xは、他の通信装置10Xに接続されている。なお、以下では、通信装置10Xを局という場合がある。
ネットワーク管理システム101は、通信ネットワーク内で複数の通信装置10Xがループ状に接続されたリングネットワークを管理するシステムである。ネットワーク管理システム101の通信ネットワークでは、複数の通信装置10Xが通信線を介して接続されている。なお、以下の説明では通信ネットワークをネットワークという。
各通信装置10Xは、ループ内で直近の他の通信装置10Xとの間で、種々の情報を含んだ種々のデータを送受信することによって、ネットワーク管理システム101内の経路設定およびネットワークを管理するN/W(NetWork)管理局の調停処理を実行する。ループ内で直近の他の通信装置10Xは、ループ内で隣接する通信装置10Xまたはループ内で中継装置といった多種類の装置を介して隣接する通信装置10Xである。換言すると、ループ内で直近の他の通信装置10Xは、ループ内の通信装置10Xのうち、自装置から最も短い通信経路の通信装置10Xである。N/W管理局の調停処理は、N/W管理局を通信装置10Xの何れかに設定する処理である。
N/W管理局は、ネットワーク内の種々の設定を実行する装置である。N/W管理局は、ネットワーク管理システム101に接続されている通信装置10Xがどのように接続され、どのような通信を実行するかを管理する。N/W管理局は、各通信装置10Xが何れのデータを送受信するかの設定を行ってもよい。
ネットワーク管理システム101では、通信装置10Xの何れか1つがN/W管理局となる。したがって、各通信装置10Xは、何れもN/W管理局の候補である。換言すると、N/W管理局が設定されるまでは、ネットワーク管理システム101内の通信装置10Xは、全てN/W管理候補局である。
通信装置10Xは、ループ内で直近の通信装置10Xとの間で通信を行なう通信部51と、ネットワーク内の経路設定およびN/W管理局の調停を実行する制御部52と、種々のデータを記憶する記憶部53とを備えている。
制御部52は、通信部51および記憶部53を制御する。したがって、通信部51は、制御部52からの指示に従ってデータを送信し、記憶部53は、制御部52からの指示に従ってデータを記憶または変更する。
また、制御部52は、ネットワーク内の経路設定と、N/W管理局の調停処理と、を通信装置10Xとの間で実行する。具体的には、制御部52は、ループ内で直近の通信装置10Xから受信した後述の調停フレームと、通信装置10Xの記憶部53が保持しているデータとに基づいて、記憶部53が保持しているデータを変更する。また、制御部52は、記憶部53が保持しているデータの一部を用いて調停フレームを生成し、ループ内で直近の通信装置10Xに送信する。また、制御部52は、N/W管理局から自局までの通信経路が、N/W管理局から見てループ内で最も多くの通信装置10Xを中継する通信経路であるか否かの経路判定を実行する。そして、制御部52は、経路判定に基づいて、後述するポートの開閉を制御する。このように、制御部52は、記憶部53が保持しているデータおよび受信した調停フレームに基づいて、ポートの開閉および調停フレームの送信を制御し、これによりネットワーク内の経路設定と、N/W管理局の調停処理とを実行する。
記憶部53が記憶するデータの例は、通信装置10X毎に設定されるデータ、および通信装置10Xが備えるポート毎に設定されるデータである。通信装置10X毎に設定されるデータは、自局優先度と、最優先度と、N/W最優先局での送信時刻との3つである。優先度は、各局がN/W管理局になるための優先順位であり、優先度が高いほどN/W管理局になりやすい。また、ポート毎に設定されるデータは、中継段数と、ポート番号との2つである。なお、以下の説明では、N/W最優先局での送信時刻を、送信時刻という。
(自局優先度)
自局優先度は、自らの通信装置10Xである自局が有している、N/W管理局になるための優先度である。この自局優先度は、通信装置10X毎に設定される装置優先度であり、他の通信装置10Xである他局が有している自局優先度とは重複しない。換言すると、ネットワーク内の各通信装置10Xには、それぞれ異なる自局優先度が設定される。ネットワーク内では、自局優先度の高い通信装置10Xが、調停によってN/W管理局となる。ネットワーク内の各通信装置10Xは、通信経路の設定処理前に自局優先度が設定される。
(最優先度)
最優先度は、ネットワーク内で自局が認識している自局優先度のうち最も自局優先度が高いものである。すなわち、最優先度は、自局が認識している通信装置10Xの自局優先度のうち、ネットワーク内で最も高い自局優先度を有している通信装置10Xの自局優先度である。
通信装置10Xは、通信経路の設定処理前は、他局を認識できていない。このため、通信装置10Xは、通信経路の設定開始時は、自局の自局優先度しか把握していない。したがって、通信装置10Xは、通信経路の設定開始時は、自局の自局優先度を最優先度に設定する。換言すると、自局優先度の初期値は、自局の最優先度である。通信装置10Xは、通信経路の設定開始後に、他局を認識すると、認識した他局が有している自局優先度と、自局の自局優先度との中から最も高い自局優先度を探し出して、最優先度に設定する。
このように、通信装置10Xは、認識済みの自局優先度の中から最も優先順位の高いものを最優先度に設定する。以下の説明では、自局が認識しているネットワーク内で、最も高い自局優先度を有している通信装置10XをN/W最優先局という。N/W最優先局は、マスタ局であり、通信装置10Xのうち、N/W管理局となる自局優先度が最も高い通信装置10Xである。
ネットワーク内の通信装置10X毎に設定された自局優先度の中で自局が認識している最も高い自局優先度が第2の最優先度である。また、自局優先度の中で実際に最も高い優先度を示すものが第1の最優先度である。換言すると、N/W最優先局である優先装置の自局優先度が、第1の最優先度である。また、自局優先度の中で他の通信装置10Xが認識している最も高い優先度が第3の最優先度である。制御部52は、中継段数と、第2の最優先度と、第3の最優先度と、に基づいて、通信経路の判定を実行する。
(送信時刻)
送信時刻は、N/W最優先局が、ループ内で直近の通信装置10Xにデータを送信する時刻である。通信装置10Xは、通信経路の設定処理前は、自局がN/W最優先局である。したがって、通信装置10Xは、通信経路の設定開始時は、自局の現在時刻を送信時刻に設定する。
(中継段数)
中継段数は、最優先度が設定されている通信装置10Xからのデータの中継段数である。データの中継段数は、各通信装置10Xが備えるポートでカウントされる。したがって、ポートが、ループ内で直近の通信装置10Xからデータを受信すると、受信したデータの中継段数を1段だけ加算する。これにより、ネットワーク内で送受信するデータは、通信装置10Xを介して送受信されるたびに、1段ずつ段数が増えていく。中継段数は、通信経路の設定開始時は、設定値なしである。換言すると、中継段数の初期値は、設定値なしであり、通信経路の設定が開始される際に0段が設定される。
ポートは、通信装置10Xに配置されており、ループ内で直近の通信装置10Xから送られてくるデータを受信して自局内に取り込むとともに、ループ内で直近の通信装置10Xに自局のデータを送信する。各通信装置10Xは、リング状に接続されたネットワークに配置されているので少なくとも2つの他の通信装置10Xに接続されている。したがって、各通信装置10Xは、少なくとも2つのポートを備えている。
(ポート番号)
ポート番号は、通信装置10Xが備えるポートに割り当てられる番号である。ポート番号は、1つの通信装置10X内で重複しないようにポート毎に設定される。
通信装置10Xは、通信経路の設定開始前に自局優先度が設定される。また、通信装置10Xは、通信経路の設定開始前にポート番号を設定する。また、通信装置10Xは、通信経路の設定を開始すると、ループ内で直近の通信装置10Xから受信したデータの内容に基づいて、最優先度、送信時刻、中継段数を更新する。
このように、各通信装置10Xは、通信装置10X毎に設定される3つのデータと、ポート毎に設定される2つのデータとを保持している。そして、各通信装置10Xは、他の通信装置10Xに、自局優先度、最優先度、送信時刻および中継段数の全部または一部を格納した第1のフレームをブロードキャスト送信する。また、各通信装置10Xは、他の通信装置10Xから、自局優先度、最優先度、送信時刻および中継段数の全部または一部が格納された第2のフレームを受信する。通信部51は、ループ内で直近の他の通信装置10Xとの間でポートを介した、第1のフレームの送信と第2のフレームの受信とを行う。通信部51が送信する第1のフレームは、通信装置10Xが生成した後述の第1から第3の調停フレームの何れかであり、通信部51が受信する第2のフレームは、ループ内で直近の他の通信装置10Xが生成した後述の第1から第3の調停フレームの何れかである。
なお、各通信装置10Xは、ループ内で直近の他の通信装置10Xから調停フレームを受信しても、受信した調停フレームを他の通信装置10Xに転送しない。換言すると、通信装置10Xは、調停フレームの中継を実行しない。
つぎに、ネットワーク管理システム101の構成について説明する。図2は、実施の形態1にかかるネットワーク管理システムの構成例を示す図である。ネットワーク管理システム101の一例は、工場の生産工程の自動化を図るFA(Factory Automation)の分野で用いられるFAネットワークである。ここでは、ネットワーク管理システム101が、4つの通信装置10Xを備えている場合について説明する。図2では、通信装置10Xを、通信装置11〜14で示している。
ネットワーク管理システム101内では、通信装置11〜14がリング状に接続されており、ループを形成している。具体的には、通信装置11は、通信装置12に接続され、通信装置12は、通信装置14に接続されている。また、通信装置14は、通信装置13に接続され、通信装置13は、通信装置11に接続されている。
通信装置11は、ポートP11a,P11bを備え、通信装置12は、ポートP12a,P12bを備えている。また、通信装置13は、ポートP13a,P13bを備え、通信装置14は、ポートP14a,P14bを備えている。
そして、ポートP11bは、通信線を介してポートP12aに接続され、ポートP12bは、ポートP14bに接続されている。また、ポートP14aは、ポートP13bに接続され、ポートP13aは、ポートP11aに接続されている。
ネットワーク管理システム101のようなループを含むネットワークでは、ループ内でフレームが循環すると帯域を圧迫するので、各通信装置11〜14が、フレームの循環を防止できる通信経路を設定する。また、各通信装置11〜14は、ネットワーク管理システム101内の通信の管理を担当する唯一のN/W管理局を調停によって設定する。
ここで、調停フレームについて説明する。ネットワーク管理システム101は、ループ内で直近同士の通信装置10X間で、第1から第3の調停フレームの何れかの送受信を行う。第1から第3の調停フレームは、調停フレームの例である。第1の調停フレームは、通信装置10Xが、通信経路の設定を開始した際に、ループ内で直近の他の通信装置10Xにブロードキャスト送信する調停フレームである。また、第2および第3の調停フレームは、第1から第3の調停フレームの何れかを受信した通信装置10Xが、受信した第1から第3の調停フレームの内容に応じてブロードキャスト送信する調停フレームである。したがって、通信装置10Xは、通信経路の設定を開始すると、第1の調停フレームを送信し、第1から第3の調停フレームの何れかを受信する。そして、通信装置10Xは、第1から第3の調停フレームの何れかを受信すると、第2または第3の調停フレームを送信する。なお、以下の説明では、第1から第3の調停フレームの何れか1つを、第Nの調停フレームという。
第Nの調停フレームは、ループ内で直近同士の通信装置10X間で、送受信されるデータフレームである。第Nの調停フレームは、ネットワーク管理システム101内で送受信されることにより、ネットワーク管理システム101内の経路設定およびN/W管理局の設定に用いられる。
通信装置11〜14は、第Nの調停フレームを、特定時間Txより短い周期C1で全てのポートからブロードキャスト送信する。特定時間Txおよび周期C1は、ネットワーク管理システム101に配置される通信装置10Xの数およびネットワーク管理システム101が有する通信経路の総距離に基づいて設定されるものである。したがって、特定時間Txおよび周期C1は、ネットワーク管理システム101の構成によって変動する。
通信装置11は、ポートP11a,P11bから第Nの調停フレームをブロードキャスト送信し、通信装置12は、ポートP12a,P12bから第Nの調停フレームをブロードキャスト送信する。また、通信装置13は、ポートP13a,P13bから第Nの調停フレームをブロードキャスト送信し、通信装置14は、ポートP14a,P14bから第Nの調停フレームをブロードキャスト送信する。第Nの調停フレームがブロードキャスト送信されることによって、ループ内に中継装置であるHUBが配置された場合であっても、HUBが第Nの調停フレームの通信内容を解釈する必要がなくなる。HUBは、通信装置11〜14とは異なる通信仕様の通信ユニットである。実施の形態1でのHUBは、第Nの調停フレームをポートで受信すると、適切なポートから第Nの調停フレームを送信し、これにより第Nの調停フレームを変更することなく転送する。第Nの調停フレームを送信するのに適切なポートは、第Nの調停フレームを受信したポート以外のポートであってもよいし、第Nの調停フレームを受信したポートであってもよい。以下の説明では、第Nの調停フレームを送信するポートが、第Nの調停フレームを受信したポート以外のポートである場合について説明する。なお、以下の説明では、第Nの調停フレームを受信したポートを受信ポートという場合がある。
つぎに、図3および図4を用いて、ネットワーク管理システム101内に配置されている通信装置10Xの通信処理手順について説明する。なお、通信装置11〜14は同様の処理を実行するので、ここでは通信装置11の通信処理手順について説明する。
図3は、実施の形態1にかかる調停フレームの送受信手順を示すフローチャートである。図4は、実施の形態1にかかるポート設定の処理手順を示すフローチャートである。ネットワーク管理システム101内に配置されている通信装置11〜14は、それぞれ自局優先度と、最優先度と、送信時刻と、中継段数と、ポート番号とを保持している。そして、通信装置11〜14は、それぞれ、通信経路の設定を開始すると、ネットワーク管理システム101内で直近の他の通信装置11〜14に、自局優先度と、最優先度と、送信時刻と、中継段数とを格納した第1の調停フレームをブロードキャスト送信する。ここでの通信装置11〜14が、第1の調停フレームに格納する中継段数は0段である。
各通信装置11〜14は、ネットワーク管理システム101内で直近の他の通信装置10Xから、第1の調停フレームを受信する。また、通信装置11〜14は、第1の調停フレームを受信すると、第2または第3の調停フレームをループ内で直近の他の通信装置10Xに送信する。
通信装置11〜14は、同様の処理を実行するので、ここでは、通信装置11における通信処理手順について説明する。ステップS100において、通信装置11の通信部51がループ内で直近の他の通信装置12,13から第Nの調停フレームを受信すると、通信部51は、受信した第Nの調停フレームを制御部52に送る。通信部51が通信装置12から最初に受信するのは第1の調停フレームであり、その後、第2または第3の調停フレームを受信する。また、通信部51が通信装置13から最初に受信するのは第1の調停フレームであり、その後、第2または第3の調停フレームを受信する。
ここで第1から第3の調停フレームについて説明する。
(第1の調停フレーム)
第1の調停フレームは、以下の4つのデータを格納している。
・自局優先度
・最優先度
・送信時刻
・中継段数
第1の調停フレームに格納されるデータは、通信装置11に設定されている初期値である。
(第2の調停フレーム)
第2の調停フレームは、以下の4つのデータを格納している。
・最優先度
・送信時刻
・中継段数
・自局優先度
第2の調停フレームは、受信した第Nの調停フレームに含まれる最優先度の方が、自局が保持している最優先度よりも高い場合に送信されるものである。換言すると、通信装置11は、受信した最優先度の方が、保持している最優先度よりも高い場合に、第2の調停フレームを送信する。したがって、第2の調停フレームに格納される最優先度および送信時刻は、受信した第Nの調停フレームに含まれていたものと同じである。また、この場合に第2の調停フレームに格納される中継段数は、受信した第Nの調停フレームに含まれる中継段数に1段を追加した中継段数である。なお、第2の調停フレームは、受信した最優先度と、保持している最優先度とが同じであって、且つ特定の条件を満たす場合にも送信される。
(第3の調停フレーム)
第3の調停フレームは、以下の4つのデータを格納している。
・自局優先度
・最優先度
・送信時刻
・中継段数
第3の調停フレームは、受信した第Nの調停フレームに含まれる最優先度の方が、自局が保持している最優先度よりも低い場合に送信されるものである。換言すると、通信装置11は、受信した最優先度の方が、保持している最優先度よりも低い場合に、第3の調停フレームを送信する。第3の調停フレームに格納される中継段数は、最優先度が格納された第Nの調停フレームを受信したポートのうち、最も小さい中継段数を受信したポートの中継段数である。したがって、第3の調停フレームに格納される中継段数は、最優先度が格納された第Nの調停フレームに含まれる中継段数のうち最も小さい中継段数である。
通信装置11が、第Nの調停フレームを受信すると、制御部52が、受信した第Nの調停フレーム内からデータを抽出する。制御部52は、第1または第3の調停フレームを受信すると、自局優先度、最優先度、送信時刻、および中継段数を抽出する。また、制御部52は、第2の調停フレームを受信すると、最優先度、送信時刻、中継段数、および自局優先度を抽出する。
そして、制御部52は、抽出した送信時刻と、現在時刻との差が特定時間Tx内であるか否かを判定する。なお、現在時刻は、通信部51が第Nの調停フレームを受信した時刻であってもよいし、制御部52が判定を実行する時刻であってもよい。送信時刻と、現在時刻との差が特定時間Txよりも長い場合、制御部52は、記憶部53で保持している最優先度および中継段数を開始時の値にリセットする。これにより、通信装置11は、特定時間Txよりも長い間、N/W最優先局からデータを受信しない場合には、ネットワーク構成の古いデータを削除する。
一方、送信時刻と、現在時刻との差が特定時間Tx以下の場合、通信装置11は、以下のステップS110からS155の処理に従って、特定時間Txよりも短い周期C1で第2の調停フレームまたは第3の調停フレームをループ内で直近の通信装置12,13に送信する。
ステップS110において、制御部52は、複数の異なるポートから第Nの調停フレームを受信したか否かを判定する。ここでの制御部52は、ポートP11a,P11bから第Nの調停フレームを受信したか否かを判定する。
通信装置11が、1つのポートから第Nの調停フレームを受信した場合、すなわちステップS110においてNoの場合、制御部52は、受信した第Nの調停フレーム内の最優先度と、自局である通信装置11が記憶部53で保持している最優先度とを比較する。そして、ステップS130において、制御部52は、受信した最優先度が、保持している最優先度よりも高いか否かを判定する。
受信した第Nの調停フレーム内の最優先度が、保持している最優先度よりも低い場合、すなわちステップS130においてNoの場合、ステップS140において、制御部52は、記憶部53で保持しているデータは変更しない。そして、ステップS145において、通信部51は、第Nの調停フレームを受信したポートから第3の調停フレームを送信する。このように、通信装置11は、受信した最優先度が、保持している最優先度よりも低い場合、自局で保持しているデータは変更しない。その上で、通信装置11は、第Nの調停フレームを受信したポートから、第3の調停フレームをブロードキャスト送信する。
前述したように、第3の調停フレームは、自局優先度と、最優先度と、送信時刻と、中継段数との4つのデータを含んでいる。第3の調停フレームに含まれる中継段数は、最優先度を格納した調停フレームを受信したポートのうち、最も中継段数の少ない段数である。これにより、通信装置11は、中継段数の多い通信経路を用いることを防止する。ループ内に5つの通信装置が配置されている場合を考える。5つのうちの第1の通信装置がN/W最優先局でなければ、第1の通信装置は、ループの時計回りの方向から送られてくる調停フレームと、反時計回りの方向から送られてくる調停フレームとを受信する場合がある。ループの時計回りの方向が、通信装置11から見てループ内の遠回りの方向であり、ループの反時計回りの方向が、ループ内の近回りの方向であるとする。この場合、ループ内の反時計回りの方向から送られてくる調停フレームの中継段数は、ループ内の時計回りの方向から送られてくる調停フレームの中継段数よりも、中継段数が少ない。このため、通信装置11は、最も中継段数の少ないものを第3の調停フレームに含めて、第3の調停フレームをブロードキャスト送信する。
受信した第Nの調停フレーム内の最優先度が、保持している最優先度よりも高い場合、すなわちステップS130においてYesの場合、記憶部53で保持しているデータを変更し、第2の調停フレームを生成する。前述したように、第2の調停フレームは、最優先度と、送信時刻と、中継段数と、自局優先度との4つのデータを含んでいる。
制御部52は、ステップS150において、記憶部53で保持している最優先度、送信時刻および中継段数を変更する。このとき、制御部52は、記憶部53で保持している最優先度および送信時刻を、受信した第Nの調停フレーム内の最優先度および送信時刻に変更する。また、制御部52は、第Nの調停フレームを受信したポートの中継段数を、中継段数+1に変更する。このように、第Nの調停フレームは、通信装置10Xを通るたびに、中継段数が1段ずつ増えていく。ステップS155において、通信部51は、変更後のデータを格納した第2の調停フレームを、第Nの調停フレームを受信したポート以外のポートからブロードキャスト送信する。
ステップS110において、通信装置11が、複数の異なるポートから第Nの調停フレームを受信した場合、すなわちステップS110においてYesの場合、制御部52は、受信した第Nの調停フレーム内の最優先度と、自局である通信装置11が記憶部53で保持している最優先度とを比較する。そして、ステップS120において、制御部52は、受信した最優先度が、保持している最優先度と同じか否かを判定する。
受信した第Nの調停フレーム内の最優先度が、保持している最優先度と異なる場合、すなわちステップS120においてNoの場合、制御部52は、ステップS130からS155の処理を実行する。
一方、受信した第Nの調停フレーム内の最優先度が、保持している最優先度と同じ場合、すなわちステップS120においてYesの場合、制御部52は、自局がループ上に存在していると判断する。すなわち、複数の異なるポートから受信した最優先度と、保持している最優先度とが一致する場合、制御部52は、通信装置11がループ上に存在していると判断する。
ネットワーク管理システム101では、各通信装置10Xが、上述したステップS100からS155の処理を1回または複数回実行する。これにより、各通信装置10Xは、自局で保持している最優先度、送信時刻および中継段数を更新していく。
その後、通信装置11は、図4に示すステップS160からS250の処理によって、最優先度を持つ通信装置10Xからループ内で最も多くの局を中継する経路のポートを有していれば、このポートを閉じる。これにより、N/W最優先局から最も多くの局を中継する経路の通信装置10Xが、最も多くの局を中継する経路に接続されているポートを閉じる。この結果、ネットワーク管理システム101は、ループを解消し、1つの通信装置11で同一のフレームを複数回受信することを防ぐことができる通信経路を設定することが可能となる。以下、ステップS160からS250の処理について説明する。
ステップS160において、制御部52は、記憶部53が保持している中継段数が、設定値なしであるか否かを判定する。記憶部53が保持している中継段数は、受信ポートの中継段数である。したがって、記憶部53が保持している中継段数は、初期値は設定値なしであり、ステップS150の処理によって更新されていく。
保持している中継段数が設定値なしである場合、すなわち、ステップS160においてYesの場合、ステップS180において、制御部52は、保持している中継段数を、受信した中継段数に1段を足した値に変更する。換言すると、制御部52は、受信した中継段数+1段を、新たな中継段数に設定する。記憶部53は、変更された後の、中継段数を保持しておく。
保持している中継段数に何れかの設定値が設定されている場合、すなわち、ステップS160においてNoの場合、ステップS170において、制御部52は、保持している中継段数よりも、受信した第Nの調停フレーム内の中継段数の方が少ないか否かを判定する。保持している中継段数よりも、受信した第Nの調停フレーム内の中継段数の方が少ない場合の例は、受信した第Nの調停フレームによって、現状よりも短い通信経路が見つかった場合である。
保持している中継段数よりも、受信した第Nの調停フレーム内の中継段数の方が少ない場合、すなわち、ステップS170においてYesの場合、ステップS180において、制御部52は、保持している中継段数を、受信した中継段数に1段を足した値に変更する。制御部52は、ステップS180の処理の後、後述するステップS190の処理を実行する。
通信装置11は、ステップS160からS180の後、各ポートの中継段数を比較する。このとき、制御部52は、ポートP11a,P11bでの中継段数と、受信した中継段数とを比較する。
具体的には、保持している中継段数が、受信した第Nの調停フレーム内の中継段数以下の場合、すなわち、ステップS170においてNoの場合、ステップS190において、制御部52は、通信装置11が備えるポートの中に、中継段数の一致するポートがあるか否かを判定する。また、ステップS180の処理の後、ステップS190において、制御部52は、通信装置11が備えるポートの中に、中継段数が一致するポートがあるか否かを判定する。
通信装置11が備えるポートの中に、中継段数の一致するポートがある場合、すなわち、ステップS190においてYesの場合、ステップS220において、制御部52は、中継段数が一致したポートのうち、ポート番号が最も若いポート以外のポートを閉じる。換言すると、制御部52は、中継段数が一致したポートのうち、ポート番号が最も若いポートのみを開ける。これにより、閉じられたポートは、第Nの調停フレームおよびループで循環しないフレームしか送受信できなくなる。中継段数の一致するポートがある場合の例は、自局が、N/W最優先局から最も多くの局を中継する通信装置10Xの場合である。なお、制御部52は、中継段数が一致したポートのうち、何れのポートを閉じて、何れのポートを開けてもよいが、開けるポートは1つである。
通信装置11が備えるポートの中に、中継段数の一致するポートが無い場合、すなわち、ステップS190においてNoの場合、ステップS200において、制御部52は、中継段数が他のポートよりも1段だけ多いポートがあるか否かを判定する。
中継段数が他のポートよりも1段だけ多いポートがない場合、すなわち、ステップS200においてNoの場合、ステップS210において、通信部51は、中継段数が他のポートよりも2段以上多いポートであって受信ポート以外のポートから、変更後のデータを格納した第2の調停フレームをブロードキャスト送信する。中継段数が他のポートの中継段数より2段以上多いポートがある場合の例は、N/W最優先局から最も多くの局を中継する通信装置10Xが未定の場合である。
一方、中継段数が他のポートよりも1段だけ多いポートがある場合、すなわち、ステップS200においてYesの場合、制御部52は、受信した第Nの調停フレームに格納されている自局優先度と、記憶部53で保持している自局優先度とを比較する。これにより、制御部52は、送信元の通信装置10Xが保持している自局優先度と、自局である通信装置11が保持している自局優先度とを比較する。中継段数が他のポートよりも1段だけ多いポートがある場合の例は、自局またはループ内で直近の他局の何れか一方が、N/W最優先局から最も多くの局を中継する通信装置10Xの場合である。
ステップS230において、制御部52は、受信した自局優先度が、保持している自局優先度よりも低いか否かを判定する。受信した第Nの調停フレームに格納されている自局優先度が、保持している自局優先度よりも低い場合、すなわち、ステップS230においてYesの場合、ステップS240において、制御部52は、中継段数が他のポートよりも1段だけ多いポートを閉じる。このように、中継段数が他のポートよりも1段だけ多いポートがあり、自局の自局優先度がループ内で直近の他局の自局優先度よりも高い場合には、制御部52は、中継段数が他のポートよりも1段だけ多いポートを閉じる。
一方、受信した第Nの調停フレームに格納されている自局優先度が、保持している自局優先度以上の場合、すなわち、ステップS230においてNoの場合、ステップS250において、制御部52は、中継段数が他のポートよりも1段だけ多いポートが閉じている場合には、このポートを開ける。なお、中継段数が他のポートよりも1段だけ多いポートが開いている場合には、制御部52は、ポートの開閉を実行しない。
このように、ステップS160からS250の処理によって、N/W最優先局から最も多くの局を中継する経路の通信装置10Xが、最も多くの局を中継する経路に接続されているポートを閉じることとなる。リング状に接続された通信装置10Xの数が偶数である場合、ネットワーク管理システム101内の何れかの通信装置10Xにおいて、中継段数の一致するポートが発生する。一方、リング状に接続された通信装置10Xの数が奇数である場合、ネットワーク管理システム101内の何れかの通信装置10Xにおいて、中継段数が他のポートよりも1段だけ多いポートが発生する。中継段数の一致するポートが発生した通信装置10Xは、何れかのポートを閉じる。また、中継段数が他のポートよりも1段だけ多いポートが発生した場合、通信装置10Xまたはループ内で直近の通信装置10Xが、中継段数が他のポートよりも1段だけ多いポートを閉じる。
なお、ステップS220またはステップS240の処理で閉じられたポートは、通信経路の変更、または時間経過によるリセットによって、閉じる条件を満たさなくなった時に、制御部52によって自動的に開けられる。これにより、開けられたポートは、全てのフレームを送受信できるようになる。
また、通信装置10Xのうち、特定時間Tx以内に、自局優先度より高い最優先度を格納した第Nの調停フレームを受信しなかった局は、自局がネットワーク上で最も優先度の高い局であると判断し、ネットワークの管理を担当する唯一のN/W管理局となる。
図5は、実施の形態1にかかるネットワーク管理システムでループを閉じた状態を示す図である。ここでは、図2に示したネットワーク管理システム101が、ループを閉じた場合について説明する。
図5では、通信装置11〜14の自局優先度を[1]から[4]で示している。自局優先度を示す数値は、小さい数値ほど高優先であるとする。ここでは、通信装置11は、自局優先度に[1]が設定され、通信装置12は、自局優先度に[2]が設定され、通信装置13は、自局優先度に[3]が設定され、通信装置14は、自局優先度に[4]が設定されているとする。
この場合において、ネットワーク管理システム101内の通信装置11〜14が、上述したステップS100からS250の処理を実行すると、通信装置12〜14は、以下のように中継段数を認識する。
すなわち、通信装置12は、通信装置11から第Nの調停フレームを受信するポートP12aの中継段数が1段であることを認識する。また、通信装置13は、通信装置11から第Nの調停フレームを受信するポートP13aの中継段数が1段であることを認識する。また、通信装置14は、通信装置12から第Nの調停フレームを受信するポートP14bの中継段数が2段であることを認識し、通信装置13から第Nの調停フレームを受信するポートP14aの中継段数が2段であることを認識する。図5では、中継段数が1段である場合を<1>で示し、中継段数が2段である場合を<2>で示している。
また、通信装置11は、N/W最優先局なので、N/W管理局となり、通信装置14がN/W管理局から最も多くの局を中継する通信経路の局となる。この場合、通信装置14は、何れかのポートを閉じる。ここでのネットワーク管理システム101は、リング状に接続された通信装置10Xの数が偶数であるので、ステップS220で説明したように、中継段数が一致したポートのうち、ポート番号が最も若いポート以外のポートを閉じる。ポートP14bのポート番号が、ポートP14aのポート番号よりも若い場合、通信装置14は、ポートP14bを閉じる。
ネットワーク管理システム101において、通信装置14がポートP14bを閉じると、通信装置14は、第Nの調停フレームを受信しても送信せずに破棄する。具体的には、通信装置14は、通信装置12または通信装置13から送られてくる第Nの調停フレームを受信すると、受信した第Nの調停フレームを破棄する。
通信装置11は、N/W管理局となった後も、周期C1で全てのポートから第1の調停フレームをブロードキャスト送信する。これにより、通信装置12,13は、第2または第3の調停フレームを、通信装置14に送信する。そして、通信装置14が、第2または第3の調停フレームを受信して破棄する。
このような状態のネットワーク管理システム101において、通信経路が変更される場合、新たな通信装置10Xが接続される場合、または、N/W管理局である通信装置11よりも高い通信装置10Xが接続される場合がある。このような場合において、ポートP14bを閉じる条件または通信装置11がN/W管理局となる条件を満たさなくなると、ネットワーク管理システム101は、通信経路およびN/W管理局の設定をリセットし、ステップS100からS250の処理を1回または複数回実行する。これにより、何れかの通信装置10Xが新たなN/W管理局となり、何れかの通信装置10Xの何れかのポートが閉じられる。
なお、ネットワーク管理システムの構成は、図2に示したネットワーク管理システム101のような1つのループを有した構成に限らず、複数のループを有した構成であってもよい。
図6は、実施の形態1にかかるネットワーク管理システムの別構成の例を示す図である。ここでは、ネットワーク管理システム102が、6つの通信装置10Xと、2つのHUB31,32とを備えている場合について説明する。図6では、通信装置10Xを、通信装置21〜26で示している。各通信装置21〜26は、前述した通信装置10Xと同様の機能を有している。なお、ここでは、通信装置21〜26とは異なる通信仕様の装置がHUB31,32である場合について説明するが、通信装置21〜26とは異なる通信仕様の装置は、HUB31,32以外の装置であってもよい。
ネットワーク管理システム102内では、通信装置21〜26およびHUB31,32がリング状に接続されている。具体的には、通信装置21は、HUB31に接続され、HUB31は、通信装置22に接続されている。また、通信装置22は、通信装置24に接続され、通信装置24は、通信装置25に接続されている。また、通信装置25は、通信装置26に接続され、通信装置26は、HUB32に接続されている。また、HUB32は、通信装置23に接続され、通信装置23は、通信装置21に接続されている。そして、HUB32が、HUB31に接続されている。
このように、ネットワーク管理システム102は、第1のループと、第2のループと、第3のループとを有している。第1のループは、通信装置21、HUB31、通信装置22、通信装置24、通信装置25、通信装置26、HUB32および通信装置23がリング状に接続されたループである。第2のループは、通信装置21、HUB31、HUB32および通信装置23がリング状に接続されたループである。第3のループは、HUB31、通信装置22、通信装置24、通信装置25、通信装置26、HUB32がリング状に接続されたループである。
通信装置21は、ポートP21a,P21bを備え、通信装置22は、ポートP22a,P22bを備えている。また、通信装置23は、ポートP23a,P23bを備え、通信装置24は、ポートP24a,P24bを備えている。また、通信装置25は、ポートP25a,P25bを備え、通信装置26は、ポートP26a,P26bを備えている。
そして、ポートP21bは、HUB31に接続され、HUB31は、ポートP22aに接続されている。また、ポートP22bは、ポートP24bに接続され、ポートP24aは、ポートP25aに接続されている。また、ポートP25bは、ポートP26bに接続され、ポートP26aは、HUB32に接続されている。また、HUB32は、ポートP23aに接続され、ポートP23bは、ポートP21aに接続されている。
このような構成のネットワーク管理システム102において、各通信装置21〜26は、前述した通信装置11と同様の動作を実行する。これにより、ネットワーク管理システム102は、ループを閉じた通信経路の設定と、N/W管理局の調停とを実行する。
図7は、実施の形態1にかかる別構成のネットワーク管理システムでループを閉じた状態を示す図である。ここでは、図6に示したネットワーク管理システム102が、ループを閉じた場合について説明する。
図7では、各局の自局優先度を[1]から[6]で示している。ここでは、通信装置21〜26にそれぞれ、自局優先度の[1]から[6]が設定されているとする。この場合において、ネットワーク管理システム102内の通信装置21〜26が、上述したステップS100からS250の処理を実行すると、通信装置22〜26は、以下のように中継段数を認識する。
すなわち、通信装置22は、通信装置21から第Nの調停フレームを受信するポートP22aの中継段数が1段であることを認識する。また、通信装置24は、通信装置22から第Nの調停フレームを受信するポートP24bの中継段数が2段であることを認識し、通信装置25から第Nの調停フレームを受信するポートP24aの中継段数が3段であることを認識する。また、通信装置25は、通信装置24から第Nの調停フレームを受信するポートP25aの中継段数が3段であることを認識する。
また、通信装置23は、通信装置21から第Nの調停フレームを受信するポートP23bの中継段数が1段であることを認識する。HUB31は、通信装置21から第Nの調停フレームを受信すると、第Nの調停フレームを通信装置22およびHUB32に中継する。HUB32は、HUB31からの第Nの調停フレームを通信装置23,26の両方に中継する。
通信装置23のポートP23aは、HUB31,32を介して送られてくる、通信装置21からの第Nの調停フレームを受信する。そして、通信装置23は、HUB32から第Nの調停フレームを受信するポートP23aの中継段数が1段であることを認識する。
また、通信装置26のポートP26aは、HUB32から第Nの調停フレームを受信する。通信装置26のポートP26aと通信装置21のポートP21aとは、通信装置23およびHUB32を介して接続されている。したがって、この通信経路では、ポートP26aの中継段数が2である。ところが、通信装置26のポートP26aと通信装置21のポートP21bとは、HUB31,32を介した接続もされている。したがって、この通信経路では、ポートP26aの中継段数が1である。この場合、通信装置26は、HUB32から第Nの調停フレームを受信するポートP26aの中継段数が1段であることを認識する。
また、通信装置25は、通信装置26から第Nの調停フレームを受信するポートP25bの中継段数が2段であることを認識する。図7では、中継段数が1段である場合を<1>で示し、中継段数が2段である場合を<2>で示し、中継段数が3段である場合を<3>で示している。
また、通信装置21は、N/W管理局となる。そして、第1のループでは、通信装置25が、N/W最優先局である通信装置21から最も多くの局を中継する経路の局となる。また、第2のループでは、通信装置23が、N/W最優先局である通信装置21から最も多くの局を中継する経路の局となる。
これにより、通信装置25および通信装置23は、何れかのポートを閉じる。ここでの第1のループは、6つの通信装置21,22,24,25,26,23を含んでいる。このため、通信装置25は、ステップS220で説明したように、中継段数が一致したポートのうち、ポート番号が最も若いポート以外のポートを閉じる。ポートP25aのポート番号が、ポートP25bのポート番号よりも若い場合、通信装置25は、ポートP25aを閉じる。
また、第2のループは、2つの通信装置21,23を含んでいる。このため、通信装置23は、ステップS220で説明したように、中継段数が一致したポートのうち、ポート番号が最も若いポート以外のポートを閉じる。ポートP23bのポート番号が、ポートP23aのポート番号よりも若い場合、通信装置23は、ポートP23bを閉じる。なお、通信装置25がポートP25aを閉じたことによって、第3のループも、解消されている。
通信経路を設定するプロトコルを規定した規格の1つにIEEE(Institute of Electrical and Electronics Engineers)802.1ASがある。このIEEE802.1ASでは、ループ内で直近同士の通信装置間で、ネットワーク内の経路設定およびN/W管理局を調停するためのプロトコルが規定されている。このプロトコルでは、中継装置であるHUBが、IEEE802.1ASを解釈する必要があった。このため、通信ネットワーク内での通信処理が複雑化していた。一方、ネットワーク管理システム101,102は、ループ内で直近同士の通信装置10X間で第Nの調停フレームをブロードキャスト送信し、かつ受信した第Nの調停フレームは、他の通信装置10Xへ転送しない。このため、中継装置であるHUB31,32が通信を解釈しなくてもよいので、容易にネットワークの経路設定とN/W管理局の調停とを実現することができる。
このように実施の形態1によれば、ネットワーク管理システム101,102は、ループ内で直近同士の通信装置10X間で第Nの調停フレームをブロードキャスト送信するので、複数のループがHUB31,32を介して接続された場合であっても、各ループを、それぞれ閉じることができる。これにより、無駄なデータフレームが、ループ内を回り続けることを防止できるので、ループ内での通信帯域の圧迫を回避できる。
また、ネットワーク管理システム101,102は、N/W最優先局から最も多くの局を中継する経路のポートを閉じるので、N/W最優先局からの伝搬遅延を最小限に抑えることが可能となる。この結果、ループを含んだネットワーク内での通信時間を短縮することが可能となる。
また、ネットワーク管理システム101,102は、N/W最優先局から最も多くの局を中継する経路のポートを閉じるので、N/W管理局と、時刻同期を行う時刻配信局と、が同じ局である場合、伝搬遅延が誤差要因となる時刻同期の精度を向上させることが可能となる。
また、ネットワーク管理システム101,102は、第Nの調停フレームに、送信時刻のデータを格納しているので、各局が保持しておくポートのデータを抑制しつつループを解消することができる。
実施の形態2.
つぎに、図8から図10を用いてこの発明の実施の形態2について説明する。実施の形態2では、各局がポート毎にN/W最優先局および中継段数を記憶しておくことによって、通信経路を設定するための後述する第Mの調停フレームのデータ量を抑制する。
実施の形態2のネットワーク管理システム101,102は、実施の形態1のネットワーク管理システム101,102と同様の構成を有したシステムである。実施の形態2の通信装置10Xは、実施の形態1の通信装置10Xと同様に、通信部51と、制御部52と、記憶部53とを備えている。
記憶部53が記憶するデータの例は、通信装置10X毎に設定されるデータ、および通信装置10Xが備えるポート毎に設定されるデータである。実施の形態2では、通信装置10X毎に設定されるデータは、自局優先度である。また、ポート毎に設定されるデータは、最優先度と、中継段数と、ポート番号と、ポート種別の4つである。
ポート種別は、「優先」、「標準」、「閉」および「種別なし」の何れかである。「優先」のポートは、N/W最優先局側のポートである。N/W最優先局以外の各局は、「優先」のポートを1つずつ有している。「標準」のポートは、N/W最優先局では、「閉」および「種別なし」を除く全てのポートである。また、「標準」のポートは、N/W最優先局以外の局では、「優先」、「閉」および「種別なし」を除く全てのポートである。「閉」のポートは、ループ構成時に経路を閉じるポートである。「種別なし」のポートは、リンクアップしていないポートである。「種別なし」のポートは、リンクアップの直後は「標準」のポートとなる。以下の説明では、「優先」のポートを、優先ポートといい、「標準」のポートを標準ポートといい、「閉」のポートを、閉ポートという。
ポート毎に設定される、最優先度、中継段数、およびポート番号は、実施の形態1で説明した、最優先度、中継段数、およびポート番号と同様のデータである。実施の形態2では、通信装置10Xが、最優先度、中継段数、およびポート番号を、ポート毎に管理する。
ネットワーク管理システム101,102内では、ループ内で直近同士の通信装置10X間で、第4から第6の調停フレームの送受信が行われる。第4から第6の調停フレームは、調停フレームの例である。第4の調停フレームは、通信装置10Xが、通信経路の設定を開始した際に、ループ内で直近の他の通信装置10Xにブロードキャスト送信する調停フレームである。また、第5および第6の調停フレームは、第4から第6の調停フレームの何れかを受信した通信装置10Xが、受信した第4から第6の調停フレームの内容に応じてブロードキャスト送信する調停フレームである。したがって、通信装置10Xは、通信経路の設定を開始すると、第4の調停フレームを送信し、第4から第6の調停フレームの何れかを受信する。そして、通信装置10Xは、第4から第6の調停フレームの何れかを受信すると、第5または第6の調停フレームを送信する。なお、以下の説明では、第4から第6の調停フレームの何れか1つを、第Mの調停フレームという。
ここで第4から第6の調停フレームについて説明する。
(第4の調停フレーム)
第4の調停フレームは、以下の3つのデータを格納している。
・自局優先度
・最優先度
・中継段数
第4の調停フレームに格納されるデータは、通信装置10Xに設定されている初期値である。
(第5の調停フレーム)
第5の調停フレームは、以下の3つのデータを格納している。
・自局優先度
・最優先度
・中継段数
第5の調停フレームに格納される最優先度の例は、ポートに設定されている最優先度である。また、第5の調停フレームに格納される中継段数の例は、ポートに設定されている中継段数である。
(第6の調停フレーム)
第6の調停フレームは、以下の3つのデータを格納している。
・自局優先度
・最優先度
・中継段数
第6の調停フレームは、最優先度を受信したポートよりも、最優先度が高いポートが自局にある場合に送信されるものである。第6の調停フレームに格納される最優先度は、自局のポートに設定されている最優先度の中で最も高い最優先度である。また、第6の調停フレームに格納される中継段数は、最も高い最優先度が設定されているポートに設定されている中継段数である。
図8は、実施の形態2にかかる調停フレームの送受信手順を示すフローチャートである。図9は、実施の形態2にかかるポート設定の処理手順を示すフローチャートである。図8および図9では、ネットワーク管理システム101,102内に配置されている通信装置10Xの通信処理手順について説明する。通信装置11〜14,21〜26は、同様の処理を実行するので、ここではネットワーク管理システム101に配置された通信装置11の通信処理手順について説明する。なお、図8および図9の処理のうち図3および図4で説明した処理と同様の処理については、重複する説明は省略する。
通信経路の設定開始時は、全ての通信装置11〜14がN/W最優先局である。通信経路の設定開始時には、N/W最優先局である全ての通信装置11〜14が、ネットワーク管理システム101内の他の通信装置10Xに、自局優先度と、最優先度と、中継段数とを格納した第4の調停フレームをブロードキャスト送信する。通信装置11〜14は、第4の調停フレームを、全ての標準ポートから、特定時間Txより短い周期C1で定期的にブロードキャスト送信する。ここでの通信装置11〜14が、第4の調停フレームに格納する中継段数は0段である。
通信装置11〜14は、同様の処理を実行するので、ここでは、通信装置11における通信処理手順について説明する。ステップS300において、通信装置11が通信装置12,13から第Mの調停フレームを受信すると、制御部52は、受信した第Mの調停フレーム内から自局優先度、最優先度、および中継段数を抽出する。
そして、制御部52は、受信した第Mの調停フレームに格納されている最優先度と、受信ポートの最優先度とを比較する。ステップS310において、制御部52は、受信した第Mの調停フレーム内の最優先度が、記憶部53で保持している、受信ポートの最優先度と同じか否かを判定する。
受信した最優先度が、保持している最優先度と異なる場合、すなわちステップS310においてNoの場合、ステップS320において、制御部52は、受信した最優先度が、保持している最優先度よりも高いか否かを判定する。
受信した最優先度が、保持している受信ポートの最優先度よりも低い場合、すなわちステップS320においてNoの場合、ステップS330において、制御部52は、受信ポートのポート種別が優先ポートであるか否かを判定する。
保持しているポート種別が優先ポートでない場合、すなわちステップS330において、Noの場合、ステップS340において、制御部52は、記憶部53で保持しているデータは変更せず、通信部51は、第Mの調停フレームを受信したポートから第5の調停フレームをブロードキャスト送信する。この第5の調停フレームの送信により、通信装置11は、第Mの調停フレームを送信した局に、N/W最優先局になり得ないことを通知する。第5の調停フレームは、前述したように、自局優先度と、受信ポートの最優先度と、受信ポートの中継段数との3つのデータを含んでいる。
一方、保持しているポート種別が優先ポートである場合、すなわちステップS330において、Yesの場合、通信経路が変更された、またはN/W最優先局が不在になった可能性がある。したがって、ステップS350において、制御部52は、自局が保持する全ポートの最優先度、中継段数、ポート種別を開始時の値にリセットし、通信部51は、全ポートから第4の調停フレームを送信する。
受信した最優先度が、保持している受信ポートの最優先度よりも高い場合、すなわちステップS320においてYesの場合、ステップS390において、制御部52は、受信ポートに設定している、最優先度、中継段数、およびポート種別を変更する。
具体的には、制御部52は、受信ポートの最優先度を、受信した最優先度に変更し、受信ポートの中継段数を、受信した中継段数+1に変更し、ポート種別を優先ポートに変更する。そして、通信装置11は、後述するステップS400の処理を実行する。
受信した最優先度が、保持している受信ポートの最優先度と同じである場合、すなわちステップS310においてYesの場合、ステップS360において、制御部52は、受信した第Mの調停フレームに格納されている中継段数に1段を足した値が、受信ポートに設定されている中継段数よりも小さいか否かを判定する。
受信した中継段数に1段を足した値が、受信ポートの中継段数よりも小さい場合、すなわちステップS360において、Yesの場合、ステップS380において、制御部52は、受信ポートの中継段数を変更する。具体的には、制御部52は、受信ポートの中継段数を、受信した中継段数+1に変更する。換言すると、受信ポートの中継段数を、現在の設定よりも小さな値にすることができる場合には、制御部52は、受信ポートの中継段数を受信した中継段数に1段を足した値に変更する。この後、通信装置11は、後述するステップS400の処理を実行する。
一方、受信した中継段数に1段を足した中継段数が、受信ポートの中継段数以上である場合、すなわちステップS360において、Noの場合、ステップS370において、通信部51は、全ての標準ポートから第5の調停フレームをブロードキャスト送信する。第5の調停フレームに格納される最優先度は、受信ポートに設定されている最優先度であり、第5の調停フレームに格納される中継段数は、受信ポートに設定されている中継段数である。
通信装置11は、ステップS380またはステップS390の後、ステップS400の処理を実行する。
ネットワーク管理システム101では、各通信装置10Xが、上述したステップS300からS390の処理を1回または複数回実行する。これにより、各通信装置10Xは、自局で保持している最優先度、ポート種別および中継段数を更新していく。
制御部52は、受信ポートの最優先度と、自局内の受信ポート以外の別ポートの最優先度とを比較し、ステップS400において、受信ポートの最優先度が、別ポートの最優先度と同じであるか否かを判定する。受信ポートの最優先度と、別ポートの最優先度とが異なる場合、すなわちステップS400において、Noの場合、ステップS410において、制御部52は、受信ポートの最優先度が、別ポートの最優先度よりも高いか否かを判定する。
受信ポートの最優先度が、別ポートの最優先度よりも低い場合、すなわちステップS410においてNoの場合、ステップS420において、制御部52は、受信ポートの最優先度よりも低い最優先度が設定されているポートのポート種別を標準ポートに変更し、通信部51は、全標準ポートから第5の調停フレームを送信する。
このように、通信部51は、受信ポートよりも最優先度が低いポートがある場合、このポートを標準ポートに変更したうえで、全標準ポートから第5の調停フレームを送信する。ここでの第5の調停フレームは、自局優先度と、受信ポートの最優先度と、受信ポートの中継段数とを含んでいる。
受信ポートの最優先度が、別ポートの最優先度よりも高い場合、すなわちステップS410において、Yesの場合、ステップS430において、制御部52は、受信ポートのポート種別を標準ポートに変更し、通信部51は、受信ポートから第6の調停フレームを送信する。なお、制御部52は、受信ポートの最優先度および中継段数は変更しない。
このように、通信部51は、受信ポートよりも最優先度が高いポートがある場合、このポートを標準ポートに変更したうえで、受信ポートから第6の調停フレームを送信する。ここでの第6の調停フレームは、自局優先度と、各ポートが保持する最優先度の中で最も高い最優先度と、この最も高い最優先度が設定されているポートに設定されている中継段数と、を含んでいる。
受信ポートの最優先度と、別ポートの最優先度とが異なる場合、すなわちステップS400において、Noの場合、通信装置11は、ステップS410からS430の処理とステップS400の処理とを都度実行する。
受信ポートの最優先度と、別ポートの最優先度とが同じである場合、すなわちステップS400において、Yesの場合、制御部52は、自局がループ上に存在すると判定し、ループを解消するために閉じるポートがあるか否かを判定する。具体的には、制御部52は、最優先度が同じであるポート間で、中継段数を比較する。
ステップS440において、制御部52は、最優先度が同じであるポートの中で、中継段数の一致するものがあるか否かを判定する。通信装置11が備えるポートの中に、最優先度および中継段数の両方が一致するポートがある場合、すなわち、ステップS440においてYesの場合、ステップS470において、制御部52は、最優先度および中継段数が一致したポートのうち、ポート番号が最も若いポート以外のポートを閉じる。なお、制御部52は、最優先度および中継段数が一致したポートであれば、何れのポートを閉じて、何れのポートを開けてもよいが、開けるポートは1つである。
通信装置11が備えるポートの中に、最優先度および中継段数の両方ともが一致するポートがない場合、すなわち、ステップS440においてNoの場合、ステップS450において、最優先度が同じであるポートの中で、中継段数が他のポートよりも1段だけ多いポートがあるか否かを判定する。
最優先度が同じであるポートの中に中継段数が他のポートよりも1段だけ多いポートがない場合、すなわち、ステップS450においてNoの場合、ステップS460において、制御部52は、最優先度が同じで中継段数が他のポートよりも2段以上多いポートを標準ポートに変更する。さらに、ステップS460において、制御部52は、最優先度が一致したポートの中継段数のうち、最も小さい中継段数を第6の調停フレームに格納し、通信部51が、この第6の調停フレームをブロードキャスト送信する。この場合において、通信部51は、受信ポートを除くポートから、第6の調停フレームをブロードキャスト送信する。
一方、最優先度が同じであるポートの中に中継段数が他のポートよりも1段だけ多いポートがある場合、すなわち、ステップS450においてYesの場合、制御部52は、受信した第Mの調停フレームに格納されている自局優先度と、記憶部53で保持している自局優先度とを比較する。
そして、ステップS480において、制御部52は、受信した第Mの調停フレームに格納されている自局優先度が、保持している自局優先度よりも低いか否かを判定する。受信した第Mの調停フレームに格納されている自局優先度が、保持している自局優先度よりも低い場合、すなわち、ステップS480においてNoの場合、ステップS500において、制御部52は、最優先度が同じであるポートの中で中継段数が他のポートよりも1段だけ多いポートを閉じる。
一方、受信した第Mの調停フレームに格納されている自局優先度が、保持している自局優先度以上の場合、すなわち、ステップS480においてYesの場合、ステップS490において、制御部52は、最優先度が同じであるポートの中で中継段数が他のポートよりも1段だけ多いポートが閉ポートである場合には、このポートを標準ポートに変更する。
このように、制御部52は、自局がN/W最優先局からループ内で最も多くの局を中継する通信経路上の局である場合には、この通信経路に接続されているポートを閉じることによって、1つの局で同一フレームを複数回受信することを防ぐ通信経路を設定する。
なお、ステップS470またはステップS500の処理で閉じられたポートは、通信経路の変更、または時間経過によるリセットによって、閉じる条件を満たさなくなった時に、制御部52によって自動的に開けられる。これにより、開けられたポートは、全てのフレームを送受信できるようになる。開けられたポートは、最優先度が同一のポートとの間で中継段数が比較され、中継段数が最も小さい場合には優先ポートに設定され、その他の場合は標準ポートに設定される。
また、通信装置10Xのうち、特定時間Tx以内に、自局優先度より高い最優先度を格納した第Mの調停フレームを受信しなかった局は、自局がネットワーク上で最も優先度の高い局であると判断し、ネットワークの管理を担当する唯一のN/W管理局となる。
また、N/W管理局ではない局は、優先ポートにおいて、前回の第Mの調停フレームの受信から特定時間Txが経過しても新たな第Mの調停フレームを受信できなかった場合に、N/W管理局が不在であると判断する。そして、N/W管理局ではない局は、自局が保持する全ポートの最優先度、中継段数、ポート種別を開始時の値にリセットし、その後、第4の調停フレームをブロードキャスト送信する。
また、閉ポートを設定した局は、前回の第Mの調停フレームの受信から、特定時間Txが経過しても新たな第Mの調停フレームを受信できなかった場合、ループ構成が解除されたと判断し、閉ポートを標準ポートに変更する。
なお、実施の形態1で説明した特定時間Txと、実施の形態2で説明した特定時間Txとは、異なるものであってもよいし、同じであってもよい。
このように実施の形態2によれば、ネットワーク管理システム101,102は、ループ内で直近同士の通信装置10X間で第Mの調停フレームをブロードキャスト送信するので、実施の形態1と同様の効果を得ることができる。
また、ネットワーク管理システム101,102は、各局がポート毎にN/W最優先局および中継段数を記憶しているので、第Mの調停フレームのデータ量を抑制しつつループを解消することができる。
ここで、制御部52のハードウェア構成について説明する。図10は、実施の形態にかかる通信装置が備える制御部のハードウェア構成例を示す図である。通信装置10Xの制御部52は、図10に示した制御回路300、すなわちプロセッサ301およびメモリ302により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSPともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
制御部52は、プロセッサ301が、メモリ302で記憶されている、制御部52の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御部52の手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
このように、プロセッサ301が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトである。プロセッサ301が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
また、制御部52を専用のハードウェアで実現してもよい。また、制御部52の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。