(58)【調査した分野】(Int.Cl.,DB名)
マスタノードとスレーブノードを含む複数のノードがネットワークに接続されて成り、通信サイクルを複数の帯域に分割して、各ノードに相互に異なる1以上の帯域を割当てる時分割多重アクセス方式のネットワークシステムにおいて、
各スレーブノードは、該ネットワークへの加入/再加入時に前記マスタノードに対して加入要求を出し、
前記マスタノードは、
既に任意の帯域が割当てられている各ノードについて、そのノードの局番と固体識別番号とに対応付けて、そのノードへの帯域割当情報と、そのノードの現在の状態とを登録した割当管理テーブルを記憶する割当管理テーブル記憶手段と、
前記割当管理テーブルに登録されているノードのなかで任意のノードが脱落したことを検出すると、該ノードに係わる前記現在の状態を脱落中とする状態監視手段と、
任意のスレーブノードからの前記加入要求を受信すると、該要求元の局番と固体識別番号とに基づいて前記割当管理テーブルを検索して、該検索結果に基づいて該加入要求元のスレーブノードへの前記帯域の割当てを行う帯域割当手段と、
を有することを特徴とするネットワーク通信システム。
前記帯域割当手段は、前記検索結果に基づいて、前記加入要求元のスレーブノードが、新規加入ノードであるか、前記脱落から復帰したノードであるかを判別して、該判別結果に応じて前記加入要求元のスレーブノードへの前記帯域の割当てを行うことを特徴とする請求項1記載のネットワーク通信システム。
前記帯域割当手段は、前記検索結果に基づいて、前記加入要求元のスレーブノードが前記脱落から復帰したノードであると認識した場合、更に、局番の変更の有無、ネットワークパラメータの変更有無を判別して、該判別結果に応じて前記加入要求元のスレーブノードへの前記帯域の割当てを行うことを特徴とする請求項2記載のネットワーク通信システム。
前記帯域割当手段は、前記加入要求元のスレーブノードの前記固体識別番号が前記割当管理テーブルに登録されており、且つ、ネットワークパラメータの変更があった場合、割当管理テーブルの該当レコードを削除することで該加入要求元のスレーブノードに割当てていた帯域を空き帯域としたうえで、空き帯域の分断状態がある場合には該分断状態を解消させることで連続した空き帯域群を生成し、該空き帯域群の一部または全部を前記加入要求元のスレーブノードに新たに割当てることを特徴とする請求項1または2記載のネットワーク通信システム。
前記帯域割当手段は、前記割当管理テーブルに前記加入要求元のスレーブノードの前記固体識別番号は登録されていないが前記局番は登録されており、且つ、前記現在の状態が前記脱落中であった場合には、機器の交換があったものと見做して、前記割当管理テーブルの該当レコードの固体識別番号を変更すると共にネットワークパラメータの変更が無い限りは同じ帯域を割当てることを特徴とする請求項1または2記載のネットワーク通信システム。
前記帯域割当手段は、前記割当管理テーブルに前記加入要求元のスレーブノードの前記固体識別番号は登録されていないが前記局番は登録されており、且つ、前記現在の状態が前記脱落中ではない場合には、誤って局番の重複設定があったものと見做して、加入を許可しないことを特徴とする請求項1または2記載のネットワーク通信システム。
前記帯域割当手段は、前記割当管理テーブルに前記加入要求元のスレーブノードの前記固体識別番号と前記局番が登録されている場合、ネットワークパラメータの変更が無い限りは同じ帯域を割当てることを特徴とする請求項1または2記載のネットワーク通信システム。
前記帯域割当手段は、前記割当管理テーブルに前記加入要求元のスレーブノードの前記固体識別番号が登録されているが前記局番が登録されていない場合、局番の設定変更があったものと見做して、ネットワークパラメータの変更が無い限りは前記割当管理テーブルの該当レコードの局番を変更したうえで同じ帯域を割当てることを特徴とする請求項1または2記載のネットワーク通信システム。
前記固体識別番号は、MACアドレス(Media Access Control address)であることを特徴とする請求項1〜7の何れかに記載のネットワーク通信システム。
マスタノードとスレーブノードの複数のノードがネットワークに接続されて成り、通信サイクルを複数の帯域に分割して、各ノードに相互に異なる1以上の帯域を割当てる時分割多重アクセス方式のネットワークシステムにおける前記マスタノードにおいて、
既に任意の帯域を割当てた各ノードについて、そのノードの局番と固体識別番号とに対応付けて、そのノードへの帯域割当情報と、そのノードの現在の状態とを登録した割当管理テーブルを記憶する割当管理テーブル記憶手段と、
前記割当管理テーブルに登録されているノードのなかで任意のノードが脱落したことを検出すると、該ノードに係わる前記現在の状態を脱落中とする状態監視手段と、
任意のスレーブノードからの加入要求を受信すると、該要求元の局番と固体識別番号とに基づいて前記割当管理テーブルを検索して、該検索結果に基づいて該加入要求元のスレーブノードへの前記帯域の割当てを行う帯域割当手段と、
を有することを特徴とするネットワーク通信システムのマスタノード。
【発明の概要】
【発明が解決しようとする課題】
【0008】
ここで、上記特許文献1では、ネットワーク上の各ノードのなかで1台がマスタノードとなり、残りがスレーブノードとなる。そして、各ノードに対する送信帯域(タイムスロット)の割付けは、マスタノードにより実行管理される。尚、この送信帯域が上記自ノードの更新タイミングに相当する。つまり、各ノードは、自己に割り当てられた送信帯域(タイムスロット)のタイミングで上記データ送信を行う。これは、例えば上記特許文献1のセンドタイマを用いる方法により行う。つまり、各ノードは、自己に割り当てられた送信帯域(タイムスロット)に対応する時間を、自己のセンドタイマにセットする。そして、センドタイマがタイマアップしたタイミングで上記データ送信を行う。
【0009】
ここで、上記各ノードへのタイムスロットの割当ては、従来では例えば予め固定的に決められている。しかしながら、この方法では、各ノードが必要とする送信データ量が確定しないと決定できないという問題や、この問題を避ける為に多めに送信データ量を決定した場合には無駄な帯域が多くなるという問題や、後に何等かの変化/変更があった場合に対応し難い等の理由で、例えば動的にタイムスロットの割当てを行うことが考えられる。例えば、マスタ局が、各スレーブ局に対してネットワークへの加入順にタイムスロットの割当てを行うことが考えられる。以下、この様な方法について、更にこの様な方法の問題点について説明する。
【0010】
すなわち、この方法では、例えばスレーブ局は、マスタ局に対してネットワークへの加入要求を行う際に、予め設定された送信データ量に応じた必要な送信帯域量(タイムスロット数)を、マスタ局に通知する。マスタ局は、例えば、要求されたタイムスロット数以上の連続した空き帯域がある場合に、加入を許可する。そして、要求元のスレーブ局に対して、当該スレーブ局に割り当てたタイムスロットの情報を含む加入許可通知を送信する。この様なスレーブ局の帯域設定は、加入時にのみ実行してスレーブ局に通知し、途中で帯域変更はしない。新規加入の場合、例えば、送信帯域は前詰めで割付けられる。
【0011】
ここで、各ノード間での送受信データには、送信元ノードや宛先ノードの識別IDとして、これらノードの局番が含まれている。また、各ノードには、作業者等が手作業で任意の局番を設定できる構成が含まれている。この為、設定ミスが生じる場合があり、複数のノードに同一の局番が設定される場合や、間違った局番が設定される場合がある。この様なノードがネットワークに加入した後に間違いに気付いた場合、間違いを直す為に、一旦、このノードをネットワークから切り離したうえで局番を再設定して、ネットワークに再加入させることになる。この様な場合、マスタノードでは、上記ノードが一時的に脱落したものと見做すことになる。
【0012】
また、上記の例に限らず、定期的なメンテナンスの為に、一時的に脱落させる場合もある。あるいは、ノードが故障した場合、故障ノードをネットワークから切り離して、代替ノードを新たにネットワークに接続することになる。この場合、代替ノードには、故障ノードと同じ局番が設定されることになる。
【0013】
そして、上記のことから、任意のスレーブ局が脱落しても、再加入する場合のために、一度加入したスレーブ局の送信帯域は確保され、基本的には、再加入の際には同じ送信帯域が割り当てられる。しかしながら、上記のように局番を変えた場合には、再加入であると認識されず新規加入であると誤認識される為、新たな帯域が割り当てられることになる。そして、この場合、以前確保した送信帯域がクリアされずに残ってしまう。
【0014】
あるいは、何等かの理由で通信設定が変わって、上記送信データ量(必要な送信帯域(タイムスロット数))が、変わっている場合がある。この様な場合には、同じ送信帯域を割り当てることは出来ないので、新たな帯域が割り当てられることになる(既に割当て済みの帯域群の後ろに割付けられることになる)。
【0015】
ここで、
図7(a)〜(d)に、上記送信帯域割当ての具体例を示す。
尚、この例では、送信帯域全体は16帯域とする(最大で16帯域まで加入できる)
また、各ノードの通信条件(送信データ量、局番)は、以下の通りとする。尚、ここでは例えば局番‘1’のノードを局1と記すものとする。各ノードには、1以上の帯域(タイムスロット)を割当てることになる。
【0016】
局1:送信データ量;1帯域(1タイムスロット)
局2:送信データ量;1帯域(1タイムスロット)
局3:送信データ量;2帯域(2タイムスロット)
局4:送信データ量;4帯域(4タイムスロット)
局5:送信データ量;2帯域(2タイムスロット)
局6:送信データ量;1帯域(1タイムスロット)
また、送信帯域割当て状況は、時系列的に、
図7(a)→
図7(b)→
図7(c)または
図7(a)→
図7(b)→
図7(d)と移行していくものとする。また、
図7(a)〜(d)の何れにおいても、図上左側には送信帯域割当て状況を視覚的に分かり易く示す図、図上右側には送信帯域割当て状況を格納する割当管理テーブル50の具体例を示す。マスタノードは、割当管理テーブル50を保持しており、必要に応じて更新等を行う。
【0017】
割当管理テーブル50は、局番51、データ量52、送信帯域位置53、状態54等から成る。
マスタノードは、任意のノードに対して上記送信帯域割当てを行う毎に、そのノードの局番を局番51に格納し、送信データ量に応じたタイムスロット数をデータ量52に格納し、割り当てた送信帯域の先頭のタイムスロットの番号等を送信帯域位置53に格納する。そして、状態54を「加入」とする。本例では、上記の通り最大で16帯域であるので、タイムスロットの番号は‘0’〜‘15’となる。
【0018】
また、本例では、マスタノードは、最初に自局を加入させると共に、その場合のみ状態54を「マスタ」とすることで、スレーブノードと区別させる。図示の例では、マスタノードにはタイムスロット‘0’が割当てられている。
そして、図示の例では、スレーブ局6→局2→局3→局4の順に加入したものとする。
【0019】
ここでは、上記の通り、新規加入の場合、送信帯域は加入順に前詰めで割付けられるので、
図7(a)に示すように、局6にはタイムスロット‘1’が割り当てられ、局2にはタイムスロット‘2’が割り当てられ、局3にはタイムスロット‘3’、‘4’が割り当てられ、局4にはタイムスロット‘5’、‘6’、‘7’、‘8’が割り当てられる。
【0020】
尚、以下の説明では、例えばタイムスロット‘5’を簡略化して“TS5”等と記す場合もあるものとする。また、図ではこの様な簡略化した記載となっている。
尚、送信帯域位置53から「−1+送信帯域位置53+データ量52」までが、その局に割り当てられた送信帯域と見做される。局4に関しては、送信帯域位置53=‘5’、データ量52=‘4’であるので、上記の通り、局4にはタイムスロット‘5’〜‘8’が割り当てられたものと見做される。また、任意の局についての「送信帯域位置53+データ量52」が、その次の局の送信帯域位置53となる。
【0021】
この様な状態において、あるとき、局3が脱落し、その後に局5が新規加入した場合、
図7(b)に示す状態となる。すなわち、まず、局3が脱落すると、マスタノード(局1)は、局3が脱落したものと判定すると、割当管理テーブル50において局番51=‘3’に対応する状態54を「脱落」に変更する。尚、局の脱落の判定方法は、例えば、任意の局からの上記コモンメモリデータを複数周期連続して受信しなかった場合に、その局は脱落と見做すが、この例に限らない。
【0022】
そして、この状態で局番=‘5’の局からデータ量=‘2’で加入要求があったものとする。このとき、上記のように局3は脱落中であるのでその割当帯域(TS3,TS4)は実質的には使用されていないが、上記の通り割当管理テーブル50には局3の割当て情報が残っているので、局5にはTS3,TS4は割り当てない。局5には、既に割当て済みの帯域群の直後を、割り当てるので、
図7(b)に示すように、TS9,TS10が割り当てられる。
【0023】
その後、局3が復帰して加入要求を出すと、マスタノードは、この加入要求に含まれる送信元ノードの局番‘3’により、この局番‘3’が既に割当管理テーブル50に登録されていることから、新規加入ではなく再加入であると見做して、脱落前と同じタイムスロットを割り当てる。これより、図示の例では、TS3,TS4が割り当てられて、要求元ノードに通知される。また、割当管理テーブル50において局番51=‘3’に対応する状態54を、上記「脱落」から「加入」に変更する。これによって、
図7(c)に示す状態となる。
【0024】
ここで、上記の例は特に問題が無い例であるが、例えば局3の脱落の理由が、上述した局番の設定ミスに対応した局番の再設定の為であった場合等に、問題が生じる場合がある。これについて、以下、具体例を説明する。
【0025】
ここで、以下に説明する具体例では、上記
図7(b)に示す状態が、実質的に局3が復帰している状態であり、従ってその後に
図7(c)の状態には成り得ない。
すなわち、この具体例では、上記のように局3のノードが脱落した後、作業員等が、このノードに対して手作業で正しい局番として‘5’を設定したものとする。そして、このノードを復帰させたものとする。
【0026】
この場合、このノードは、自局の局番は‘5’であるとして認識して動作するので、勿論、上記加入要求でも自局の局番=‘5’としている。これより、マスタノードは、上記
図7(b)で説明した通り、局番‘5’は割当管理テーブル50には未登録であることから、新規加入要求があったものとして、上記のように新たなタイムスロットTS9,TS10を割り当てることになる。
【0027】
つまり、この例の場合、上記局5は、実は元々は上記局3であったノードである。この為、この例の場合には、その後に局3からの加入要求が来る事は無く、従って
図7(c)の状態となることはない。つまり、TS3,TS4は、有効利用されることはなく、無駄な帯域として残されることになる。例えば、この様な問題が生じる場合があり得る。
【0028】
尚、上記ノードの脱落は、例えばノードの電源OFFや、ノードをネットワークから切り離すこと等によって実現させる。そして、その後にノードの電源をONしたり、ノードをネットワークに再接続することで、ノードを復帰させることになる。
【0029】
あるいは、
図7(b)に示す状態において局3が復帰したが、
図7(d)に示すように局3が再加入できない事態となることもあり得る。この例では、局3のノードに関して、脱落中に何等かの変更作業が行われた結果、送信データ量に応じて必要な送信帯域(タイムスロット数)が‘6’になったものとする。
【0030】
この場合、局3は復帰に伴って加入要求を出すが、要求するタイムスロット数が‘6’であるのに対して、空き帯域はTS3,TS4、TS11〜TS15の合計‘7’であるが、これらは連続しておらず‘2’と‘5’とに分散している為、
図7(d)に示すように大きい方の‘5’であっても、要求するタイムスロット数‘6’には足りないことになる。この為、マスタノードは、加入許可できないものと判定してしまう。
【0031】
例えば、この様に、全体としては必要な分の空き帯域があるにも係わらず、分散している為に、復帰したスレーブ局が再加入出来ない場合が起こり得るものであり、送信帯域が有効に活用できない。
【0032】
例えば、制御システム等の連続稼働を基本としつつ、任意の局について脱落中にそのシステム制御アプリケーションを変更等したことによって送信データ量が変更された場合には、ネットワーク運用中の状態のままで、その局に割当てられていた既存の帯域を空き帯域としたうえで、あらためて帯域の割り当てを行うことで再加入させたいという要望がある。
【0033】
しかし、割当てられていた既存の帯域を空き帯域にしても、別の空き帯域と連続しない状態になることがある。つまり、空き帯域が分断されることがある。この為、スレーブ局が必要とする送信帯域数が、マスタ局が管理する空き帯域数より少ない場合でも、スレーブ局が加入できないことがあった。例えば、上記のように、空き帯域が全体で‘7’に対して必要な帯域数が‘6’であっても、スレーブ局が加入できないことがあった。
【0034】
また、空き帯域分断状況を解消するためには、全システムを再起動する必要があった。つまり、一旦、割当管理テーブル50の登録データを全消去したうえで、最初から帯域割当し直す必要があった。勿論、この場合も、加入順に割当てることになる。
【0035】
上述した通信サイクルを複数のタイムスロットに分割して、各ノードに異なるタイムスロット(1以上のタイムスロット)を割当てる時分割多重アクセス方式のネットワークシステムにおいて、上記のような問題が存在する。
【0036】
本発明の課題は、上記時分割多重アクセス方式のネットワークシステムにおいて、局番だけでなく固体識別番号も用いることで、特に帯域割当済みの局が脱落後に適切な帯域割当てが行えるネットワーク通信システム等を提供することである。
【課題を解決するための手段】
【0037】
本発明のネットワーク通信システムは、マスタノードとスレーブノードを含む複数のノードがネットワークに接続されて成り、通信サイクルを複数の帯域に分割して、各ノードに相互に異なる1以上の帯域を割当てる時分割多重アクセス方式のネットワークシステムにおいて、各スレーブノードは、該ネットワークへの加入/再加入時に前記マスタノードに対して加入要求を出す。
【0038】
そして、前記マスタノードは、下記の各構成要素を有する。
・既に任意の帯域を割当てた各ノードについて、そのノードの局番と固体識別番号とに対応付けて、そのノードへの帯域割当情報と、そのノードの現在の状態とを登録した割当管理テーブルを記憶する割当管理テーブル記憶手段;
・前記割当管理テーブルに登録されているノードのなかで任意のノードが脱落したことを検出すると、該ノードに係わる前記現在の状態を脱落中とする状態監視手段;
・任意のスレーブノードからの前記加入要求を受信すると、該要求元の局番と固体識別番号とに基づいて前記割当管理テーブルを検索して、該検索結果に基づいて該加入要求元のスレーブノードへの前記帯域の割当てを行う帯域割当手段。
【発明の効果】
【0039】
本発明のネットワーク通信システム等によれば、時分割多重アクセス方式のネットワークシステムにおいて、局番だけでなく固体識別番号も用いることで、特に帯域割当済みの局が脱落後に適切な帯域割当てが行える。特に、無駄な帯域が残ってしまう自体を回避でき、以って例えば本来は帯域割当て可能であるはずにも係わらず帯域割当出来なくなる事態を回避できる。
【発明を実施するための形態】
【0041】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のネットワーク通信システムの概略構成図である。
図示のように、複数のノード1がネットワーク2に接続されて成るシステムであって、その中の1台がマスタノードとなり、残りが全てスレーブノードとなる。
【0042】
各ノード1は、例えばプログラマブルコントローラ(PLC)、PC(Personal Computer)、サーバ、入出力(IO)モジュール、ドライブ装置(例えば、インバータ、サーボ等)等であるが、これらの例に限らない。
【0043】
また、各ノード1は、例えば上記特許文献1の従来技術と同様、繰り返し動作により定周期Tを生成するサイクルタイマや、センドタイマ(不図示)を有するものであってよい。マスタノードは、各スレーブノードに送信帯域を割り当てる。本手法では、例えば後述する
図3の処理によって、例えば後述する
図4に示す具体例のように各スレーブノードに送信帯域を割り当てる。マスタノードは、各スレーブノードに対して、割り当てた送信帯域を通知する。各スレーブノードは、自局に割り当てられた送信帯域に相当する時間を、センドタイマにセットする。センドタイマの動作方法は、例えば特許文献1と略同様であってよく、各ノードは、自ノードのセンドタイマがタイマアップする毎に、データ送信を行う。
【0044】
あるいは、先願(WO 2013121568 A1)と同様に、各ノードがコモンメモリ(不図示)を備える構成で、各ノードが、自ノードのセンドタイマがタイマアップする毎に、コモンメモリデータをブロードキャスト送信するものであってもよい。
【0045】
何れにしても、各ノードのデータ送信タイミングが重ならないようにする必要がある。
尚、各ノードは、例えば不図示のCPU/MPU等の演算プロセッサや、メモリ等の記憶部を有している。そして、記憶部には予め所定のアプリケーションプログラム等が記憶されており、演算プロセッサがこのアプリケーションプログラムを実行することで、以下に説明する各種処理機能が実現される。特にマスタノードの場合、例えば以下に説明する
図3の処理が実行されることになる。
【0046】
ここで、上述した課題を解決する為に、本例では、マスタノードは、例えば
図2に示す割当管理テーブル10を保持・管理する。
図示の例の割当管理テーブル10は、固体識別番号11、局番12、データ量13、送信帯域位置14、状態15等から成る。これらのうち、局番12、データ量13、送信帯域位置14、状態15は、上記局番51、データ量52、送信帯域位置53、状態54と略同様と見做してよい。よって、これらについての説明は、簡略化または省略する。この様な従来構成に対して、本例では、上記固体識別番号11が追加されている。
【0047】
固体識別番号11は、各ノード(機器)を一意に識別し得る固有の番号/記号等であり、例えばMACアドレス(Media Access Control address)やノードの製造番号等であるが、この例に限らない。
【0048】
上述したように、局番は、作業員等が任意に設定できるので、設定ミスが生じる可能性があり、加入後にミス修正の為に局番を変更する事態が起こり得る。そして、例えば任意のノードが脱落中に局番を変更されても、マスタノードではこの変更を認識できない。これが、上記課題が生じる一因となっている。これより、本手法では、局番だけでなく固体識別番号も用いることで、課題を解決する。その一例を
図3に示す。
【0049】
図3は、マスタノードの処理フローチャート図である。
マスタノードは、この処理において必要に応じて、上記
図2の割当管理テーブル10を参照/更新する。
【0050】
図3の処理は、任意のスレーブノードからの加入要求がある毎に実行開始される。
尚、既に述べたように、各スレーブノードは、ネットワークに接続すると(再接続も含む)、マスタノードに対して加入要求を送信する。これに対して、マスタノードが加入許可すると判定してタイムスロットを割当てた場合、その後、スレーブノードは、自己に割当てられたタイムスロットのタイミングで、データ送信することになる。
【0051】
ここで、上記加入要求には、送信元のスレーブノードの局番だけでなく、上記固体識別番号も含まれている。
これより、マスタノードは、まず、加入要求の送信元ノードの固体識別番号が、割当管理テーブル10に登録済みか否かを判定する(ステップS11)。未登録である場合には(ステップS11,NO)、更に、加入要求の送信元ノードの局番が、割当管理テーブル10に登録済みか否かを判定する(ステップS12)。
【0052】
もし、局番も未登録であれば(ステップS12,NO)、新規のノードからの加入要求であると見做して、新規加入時の処理を実行する(ステップS15)。すなわち、例えばまず、要求された送信帯域量(要求タイムスロット数)が、空き帯域(空きタイムスロット数)以下であるか否かを判定する。要求された送信帯域量が、空き帯域を超える場合には、加入は許可しない。一方、要求された送信帯域量が、空き帯域以下である場合には、空き帯域の一部または全部を割当てて、この割当て情報を、送信元ノードの固体識別番号及び局番と共に、割当管理テーブル10に新規登録する。また、タイムスロット割当て結果を許可通知に含めて送信元ノードへ送信する。
【0053】
一方、局番は登録済みである場合には(ステップS12,YES)、割当管理テーブル10においてこの局番に対応する状態15を参照して、「脱落」であるか否かを確認する(ステップS13)。そして、もし「脱落」中ではない場合、例えば「加入」である場合には(ステップS13,NO)、加入は許可しない(ステップS16)。
【0054】
つまり、この場合、既に加入済みで運用中の任意の機器とは別の機器が、この任意の機器と同じ局番で加入要求を出してきたものと推測される。これは、例えば、作業員等が、当該別の機器の局番を設定する際に、間違って既存の機器と重複する局番を設定したことが原因であると推測される。よって、加入は許可しないものとし、更に例えば送信元ノードに対して局番の重複がある旨のエラー通知を行うようにしてもよい。
【0055】
一方、「脱落」である場合には(ステップS13,YES)、機器の交換があったものと推測される。つまり、運用中に任意の機器(ノード)が故障等して、機器の交換が必要となった場合、まず故障した機器をネットワークから切り離す。これによって、割当管理テーブル10において、故障した機器の局番に対応する状態15が「脱落」となることになる。続いて、作業員等は、新たな機器を用意してネットワークに接続するが、その際に、新たな機器に、故障した機器と同一の局番を設定することになる。これより、この新たな機器が、ネットワークに接続後に上記加入要求を送信すると、局番は上記故障した機器と同じであるが、固体識別番号(MACアドレス等)は上記故障した機器とは異なることになる。
【0056】
例えば、この様な場合に、上記ステップS11がNOで且つステップS12がYESとなり、更に上記ステップS13がYESとなることになる。そして、ステップS13がYESの場合には、割当管理テーブル10における該当レコード(その局番11が送信元ノードの局番と同じであるレコード)の固体識別番号11を、送信元ノードの固体識別番号に変更する(ステップS14)。但し、これは割当管理テーブル10の登録内容を、上記新たな機器に応じた内容へと変更するだけであり、これで処理が終了するわけではない。
【0057】
すなわち、上記新たな機器が、上記故障した機器と全く同じであればよいが、何等かの変更があり、それによって送信データ量(必要とするタイムスロット数)が変わった場合には、そのままでは問題となる。この為、ステップS14の処理を実行したら、ステップS17の処理へ移行する。
【0058】
また、上記ステップS11の判定がYESの場合、すなわち加入要求の送信元ノードの固体識別番号が、割当管理テーブル10に登録済みである場合にも、ステップS17の処理へ移行する。
【0059】
ここでは、まず、ステップS11の判定がYESの場合のステップS17以降の処理について説明する。尚、以下の説明における該当レコードは、その固体識別番号11が、上記加入要求の送信元ノード(加入要求元ノード)の固体識別番号と同一であるレコードのことである。
【0060】
この場合、まず、加入要求元ノードの局番及び送信データ量が、割当管理テーブル10の該当レコードの局番12及びデータ量13と一致するか否かを判定する(ステップS17)。尚、ここでは、上記送信データ量は、上述した“要求された送信帯域量”(要求タイムスロット数)に相当するものとする。また、ステップS17の処理は、加入要求元ノードに関して、脱落中に、局番や送信データ量に何等かの変更が無かったかをチェックする処理である。
【0061】
もし、両方とも一致する場合には(ステップS17,NO)、何等かの理由で脱落していた機器が、局番は変更されず且つ送信データ量が変わるような変更も行われずに、復帰したものと見做される(この点で、ステップS14からステップS17へ移行した場合とは、意味が異なることになる)。よって、加入要求元ノードに対して、脱落前と同じ送信帯域を再度割当てる(ステップS21)。すなわち、上記該当レコードの送信帯域位置14等を、許可フレームに含めて加入要求元ノードへ通知すると共に、該当レコードの状態15を「脱落」から「加入」に変更する。尚、この場合には、特にチェックしなくても、該当レコードの状態15は「脱落」となっているはずである。
【0062】
一方、加入要求元ノードの局番または/及び送信データ量が、割当管理テーブル10の該当レコードの局番12または/及びデータ量13と異なる場合には(ステップS17,YES)、局番のみが異なるものであるか否かを判定する(ステップS18)。そして、局番のみが異なる場合には(ステップS18,YES)、ステップS20の処理を実行する。一方、送信データ量のみが異なる場合、あるいは局番と送信データ量の両方が異なる場合には(ステップS18,NO)、ステップS19の処理を実行する。
【0063】
ステップS20の処理は、上記該当レコードにおける局番12を、加入要求元ノードの局番に変更したうえで、この該当レコードの送信帯域位置14等を、許可フレームに含めて加入要求元ノードへ通知する。更に、この場合、該当レコードの状態15は「脱落」となっているはずであるので、これを「加入」に変更する。
【0064】
つまり、この場合、単に局番の設定ミスを修正する作業が行われたものと推測される。つまり、例えば、既にネットワークに接続して運用中の任意の機器(ノード)について、局番の設定ミスがあったと気付いた作業員が、一旦、この機器をネットワークから切り離して、手作業等で局番を再設定したうえで、この機器をネットワークに再接続した場合等に、上記ステップS11、S17,S18の全てがYESとなる。よって、この場合、局番変更を反映させたうえで、この機器について既に割当て済みのタイムスロットを、再び割当てればよいことになる。これより、上記ステップS20の処理を実行する。
【0065】
一方、例えば、既にネットワークに接続して運用中の任意の機器(ノード)について、一旦、この機器(対象機器というものとする)をネットワークから切り離して、送信データ量が変わるような何等かの修正を施したうえで、上記対象機器をネットワークに再接続した場合等に、ステップS19の処理が実行されることになる。尚、この場合には、対象機器の局番の変更があっても無くても関係なく、ステップS19の処理が実行されることになる。
【0066】
ステップS19の処理では、まず、上記該当レコードを削除する。これによって、上記対象機器に割当てられていたタイムスロットを、空き帯域とする。そして、この空き帯域の後ろにある割当て済み帯域を、順次詰めていく。これによって、空き帯域が分断されている状況を解消し、連続した空き帯域となるようにする。この処理については、後に
図4の具体例を用いて更に説明する。そして、上記のように生成した連続した空き帯域が、加入要求の送信データ量以上である場合には、割当て可能であるので、空き帯域のタイムスロットの一部または全部を、上記対象機器に割当てる。そして、この割り当て結果を割当管理テーブル10へ新規登録する。
【0067】
尚、図示の処理は一例であり、この例に限らない。例えば、ステップS18、S20の処理を無くし、ステップS17の判定がYESとなった場合にはステップS19の処理を実行するようにしてもよい。つまり、システム構成に変更があった場合には(本例では、局番と送信データ量の何れかでも変更があった場合)、ステップS19の処理を実行するようにしてもよい。
【0068】
上述したように、本手法では局番だけでなく固体識別番号も用いることで、従来では正しく把握することができなかった状況を、判断できるようになり、以って適切な対応を行うことが出来るようになる。すなわち、例えば、任意の機器(ノード)の局番の設定ミスを直す為に一旦このノードを脱落させて局番を変更する作業が行われた場合、当該局番の変更があったものと判定できる。そして、脱落前と同じタイムスロットを割当てる。これによって、脱落前と同じタイムスロットが再度割当てられることなく無駄な帯域となってしまう、等という事態を回避できる。
【0069】
また、単なる局番の変更だけでなく、送信データ量が変わるような何等かの変更が行われた場合には、上記ステップS19の処理を行う。すなわち、脱落前のタイムスロットは割当てを解除して空き帯域とし、空き帯域を詰める形で既存の他局への割当て帯域を移動させたうえで、新たなタイムスロットを割当てる。これによって、空き帯域が分断されることで、“新たに割当てが必要とされる送信帯域量が、トータルの空き帯域量より少ない場合でも、タイムスロットを割当てることができない”、等という事態が生じることを回避できる。
【0070】
あるいは、任意の機器(ノード)が故障した為に新たな機器に交換する場合があるが、これを判別して、新たな機器に対して、故障機器に割当てていたタイムスロットを割当てることができる。新たな機器を新規加入機器と誤解して新たなタイムスロットを割当てた場合、故障機器に割当てていたタイムスロットが無駄な帯域となってしまうが、この様な事態を回避できる。
【0071】
上記のことから、システム稼働状態であるネットワーク運用中において、例えば送信データ量が変更された場合でも、空き帯域量がそれ以上あれば加入することができるため、システムの継続運転ができる。
【0072】
上述した本手法を適用した場合、上記従来の具体例は、例えば
図4、
図5に示すようになる。
尚、当然ながら条件は上記従来の具体例と同じであるが、ここで再度以下に記しておくものとする。
【0073】
すなわち、まず、送信帯域全体は16帯域とする(最大で16帯域まで加入できる)。そして、各局で必要とするタイムスロットは、下記の通りとする。
局1:送信データ量;1帯域(1タイムスロット)
局2:送信データ量;1帯域(1タイムスロット)
局3:送信データ量;2帯域(2タイムスロット)
局4:送信データ量;4帯域(4タイムスロット)
局5:送信データ量;2帯域(2タイムスロット)
局6:送信データ量;1帯域(1タイムスロット)
図4(a)〜(c)と
図5(a),(b)に、上記送信帯域割当てプロセスの具体例を示す。
【0074】
尚、送信帯域割当て状況は、時系列的に、
図4(a)→
図4(b)→
図4(c)あるいは
図4(a)→
図4(b)→
図5(a)→
図5(b)と移行していくものとする。また、
図4(a)〜(c)、
図5(a),(b)の何れにおいても、図上左側には送信帯域割当て状況を視覚的に分かり易く示す図、図上右側には上記割当管理テーブル10の具体例を示す。マスタノードは、割当管理テーブル10を保持しており、必要に応じて更新等を行う。
【0075】
尚、ここでは例えば局番12=‘2’のノードを、局2等と記すものとする。
まず、
図4(a)に示す最初の割当て状況は、従来例である上記
図7(a)と同じであるものとする。つまり、マスタ局1を最初の加入局とし、各スレーブ局が局6→局2→局3→局4の順に加入しているものとする。但し、割当管理テーブル10には、上記従来の割当管理テーブル50と同様のデータに加えて、上記固体識別番号11も格納されることになる。
【0076】
また、
図4(b)も、上記
図7(b)と略同様の状態であるものとする。すなわち、局番=‘3’(固体識別番号=‘0004’)のノードが脱落した為、割当管理テーブル10における該当レコードの状態15が、図示のように「脱落」となっている。つまり、局3が脱落しても、再加入の可能性がある限り、局3に関する情報は保持される。また、
図7(b)と同様、新規の局5が加入要求してきて、この局5に対して図示のようにTS9,TS10を割当てている。
【0077】
尚、
図7(b)に関して説明したように、もし局3が局番が‘5’に変更された状態で復帰してきた場合には、上記ステップS11、S17、S18が全てYESとなって上記ステップS20が実行されることになる。つまり、この場合、この局に割当てられていたTS3,TS4が再度割当てられることになり、TS3,TS4が使用されない無駄な帯域となってしまう事はない。
【0078】
一方、上記
図4(b)に示す状態になった後、局3が復帰し、且つ、局番も送信データ量も変わらなかった場合には、上記ステップS17の判定がNOとなりステップS21が実行されるので、
図4(c)に示すように、脱落前と同じタイムスロット(TS3,TS4)を再度割当てる。
【0079】
尚、
図4(c)の例では、局3は、元の機器がそのまま復帰しているが(固体識別番号が‘0004’のままであるので)、この例に限らず、局番12=‘3’のレコードに関して、固体識別番号が変わっていても、送信データ量が変わらなかった場合にも(タイムスロット数=‘2’)、
図4(c)と同様、脱落前と同じタイムスロットを再度割当てる。これは、上記「機器の故障により機器を交換したケース」に相当すると見做せるからである。つまり、この場合には、ステップS11がNOでステップS12がYESでステップS13がYESとなってステップS17がNOとなることで、ステップS21が実行されて、脱落前と同じ帯域が割当てられることになる。尚、この場合には、割当管理テーブル10における該当レコードの固体識別番号11は、‘0004’以外の値に変わることになる。
【0080】
一方、図示の例では、
図4(b)に示す状況から局3が復帰したが送信データ量が変わった場合についても示しており(タイムスロット数=‘6’)、この場合には、
図4(b)→
図5(a)→
図5(b)と移行していくことになる。
【0081】
すなわち、この場合には、まず、
図5(a)に示すように、割当管理テーブル10から局番12=‘3’のレコードを削除することで、脱落前に局3に割当てていた帯域を、空き帯域とする。
【0082】
続いて、
図5(b)に示すように、上記新たな空き帯域以降の既存の各割当帯域、すなわち局4の割当帯域と局5の割当帯域とを、上記空き帯域を埋めるようにして前詰めに再配置する。これは、例えば、割当管理テーブル10において上記削除したレコードの直後のレコードにおける送信帯域位置14を、直前のレコードにおける「送信帯域位置14+データ量13」に変更する。上記「削除したレコードの直後のレコード」以降のレコードに関しても、同様にして、そのレコードの直前のレコードの「送信帯域位置14+データ量13」によって、そのレコードの送信帯域位置14を変更する。
【0083】
図示の例では、上から4番目のレコードが削除されたので、上から3番目のレコードの送信帯域位置14=‘2’、データ量13=‘1’であることから、上から5番目のレコードの送信帯域位置14を‘3’(=2+1)に変更することになる。同様にして、上から6番目のレコードの送信帯域位置14を、その直前のレコードすなわち上記変更を行ったレコードの送信帯域位置14=‘3’、データ量13=‘4’を用いて、‘7’(=3+4)に変更することになる。
【0084】
この様にして、既存ノードの割当て帯域を変更することで、空き帯域が分断されていない状態にすることができる。すなわち図示の例では割当て帯域群の後ろにまとめて7帯域分の空き帯域を確保できる。これより、上記復帰した局3に対して、空き帯域から送信データ量(=‘6’)の分の帯域を、割当てることができる。勿論、「空き帯域<送信データ量」であったならば、タイムスロット割当ては行わず、加入を不許可とするが、図示の例では空き帯域=‘7’であるので、局3へ6個のタイムスロットを割当てることになる。これより、
図5(b)に示す状態となる。
【0085】
尚、本手法では、各局は、MACアドレス等の固有番号(個体識別番号)で管理されるため、たとえ局番が変わっても再配置できる。
スレーブ局のMACアドレス等により固有の個体を識別する手段を有し、その個体情報をあらかじめマスタへ登録しておくことにより、脱落⇒再加入で個体を識別可能となる。
【0086】
スレーブの送信データ量変更による送信帯域の再設定時に帯域調整が必要な場合は、ネットワーク参加局の送信帯域を再割付けし、空き帯域をまとめたうえで、再加入させる。以前割付けられていた送信帯域をクリアし、空き帯域を次の局から順に再割付けすることで前に詰める。
【0087】
送信帯域の再設定が可能になるため、制御システム等連続稼働したまま送信データ量の変更が可能になる。なお、再割付けは、全スレーブ局に対し一括で通知することもできる。
【0088】
図6は、本例のネットワーク通信システムのノードの機能ブロック図である。
尚、上記の通り、各ノードは、例えば不図示のCPU/MPU等の演算プロセッサや、メモリ等の記憶部を有している。そして、記憶部には予め所定のアプリケーションプログラム等が記憶されており、演算プロセッサがこのアプリケーションプログラムを実行することで、例えば
図6に示す各種処理機能が実現される。
【0089】
本例のネットワーク通信システムは、複数のノードがネットワークに接続されて成り、通信サイクルを複数の帯域に分割して、各ノードに相互に異なる1以上の帯域を割当てる時分割多重アクセス方式のネットワークシステム等である。
【0090】
また、上記複数のノードのうちの1台をマスタノード20と、残りをスレーブノード30とする。
各スレーブノード30は、該ネットワークへの加入/再加入時に前記マスタノードに対して加入要求を出す加入要求部31を有する。更に、この加入要求に対してマスタノード20から割当て帯域が通知されて加入許可された場合、通信サイクル毎にこの割当て帯域のタイミングで、データ送信を行うデータ送信部32を有する。これは、一例としては、TS帯域(コモンメモリデータ帯域)において、自己のコモンメモリのデータをブロードキャスト送信するが、この例に限らない。
【0091】
また、マスタノード20は、割当管理テーブル記憶部21、状態監視部22、帯域割当部23を有する。
割当管理テーブル記憶部21は、既に任意の帯域が割当てられている各ノードについて、そのノードの局番と固体識別番号とに対応付けて、そのノードへの帯域割当情報と、そのノードの現在の状態とを登録した割当管理テーブルを記憶する。
【0092】
状態監視部22は、上記割当管理テーブルに登録されているノードのなかで任意のノードが脱落したことを検出すると、該ノードに係わる上記現在の状態を「脱落中」とする。また、脱落中のノードが復帰した場合には、上記現在の状態を「脱落中」から元に戻す(例えば、「加入中」等)。
【0093】
また、帯域割当部23は、任意のスレーブノードからの上記加入要求を受信すると、該要求元の局番と固体識別番号とに基づいて上記割当管理テーブルを検索して、該検索結果に基づいて該加入要求元のスレーブノードへの上記帯域の割当てを行う。
【0094】
また、上記帯域割当部23は、例えば、上記検索結果に基づいて、上記加入要求元のスレーブノードが、新規加入ノードであるか、上記脱落から復帰したノードであるかを判別して、該判別結果に応じて上記加入要求元のスレーブノードへの上記帯域の割当てを行うものである。
【0095】
また、上記帯域割当部23は、例えば、上記検索結果に基づいて、上記加入要求元のスレーブノードが上記脱落から復帰したノードであると認識した場合、更に、局番の変更の有無、ネットワークパラメータの変更有無を判別して、該判別結果に応じて上記加入要求元のスレーブノードへの上記帯域の割当てを行うものである。
【0096】
また、上記帯域割当部23は、例えば、上記加入要求元のスレーブノードの上記固体識別番号が上記割当管理テーブルに登録されており、且つ、ネットワークパラメータの変更があった場合、割当管理テーブルの該当レコードを削除することで該加入要求元のスレーブノードに割当てていた帯域を空き帯域としたうえで、空き帯域の分断状態がある場合には該分断状態を解消させることで連続した空き帯域群を生成し、該空き帯域群の一部または全部を上記加入要求元のスレーブノードに新たに割当てるものである。
【0097】
また、上記帯域割当部23は、例えば、上記割当管理テーブルに上記加入要求元のスレーブノードの上記固体識別番号は登録されていないが上記局番は登録されており、且つ、上記現在の状態が上記脱落中であった場合には、機器の交換があったものと見做して、上記割当管理テーブルの該当レコードの固体識別番号を変更すると共にネットワークパラメータの変更が無い限りは同じ帯域を割当てるものである。
【0098】
また、上記帯域割当部23は、例えば、上記割当管理テーブルに上記加入要求元のスレーブノードの上記固体識別番号は登録されていないが上記局番は登録されており、且つ、上記現在の状態が上記脱落中ではない場合には、誤って局番の重複設定があったものと見做して、加入を許可しないものである。
【0099】
また、上記帯域割当部23は、例えば、上記割当管理テーブルに上記加入要求元のスレーブノードの上記固体識別番号と上記局番が登録されている場合、ネットワークパラメータの変更が無い限りは同じ帯域を割当てるものである。
【0100】
また、上記帯域割当部23は、例えば、上記割当管理テーブルに上記加入要求元のスレーブノードの上記固体識別番号が登録されているが上記局番が登録されていない場合、局番の設定変更があったものと見做して、ネットワークパラメータの変更が無い限りは上記割当管理テーブルの該当レコードの局番を変更したうえで同じ帯域を割当てるものである。
【0101】
また、上記固体識別番号は、例えば、MACアドレス(Media Access Control address)であるが、この例に限らない。
上記のように、本手法によれば、時分割多重アクセス方式のネットワークシステムにおいて、局番だけでなく固体識別番号も用いることで、特に帯域割当済みの局が脱落後に適切な帯域割当てが行える。特に、無駄な帯域が残ってしまう自体を回避でき、以って例えば本来は帯域割当て可能であるはずにも係わらず帯域割当出来なくなる事態を回避できる。また、動作中にシステム構成の変更が可能となる。システム構成の変更とは、例えば、局番の変更や、送信データ量の変更等であるが、この例に限らない。
【0102】
例えば従来では空き帯域が分断されている状態を解消する為に上記のようにシステム再起動する必要があったが、本手法では、ネットワーク運用中の状態のままで、空き帯域が分断されている状態を解消することができる。特に、脱落中のノードに対して割り当て済みの帯域について、この帯域を再度割当てる必要はなくなったものと判定した場合には、この帯域を空き領域にして、且つ、既存の割り当て領域を詰めていくことで、空き帯域が分断されている状態を解消することができる。これより、本来は割り当て可能であるにも係わらず割当ることが出来ず、加入出来なくなる事態を防止できる。