JP3911974B2 - Download method in dual ring system - Google Patents
Download method in dual ring system Download PDFInfo
- Publication number
- JP3911974B2 JP3911974B2 JP2000227276A JP2000227276A JP3911974B2 JP 3911974 B2 JP3911974 B2 JP 3911974B2 JP 2000227276 A JP2000227276 A JP 2000227276A JP 2000227276 A JP2000227276 A JP 2000227276A JP 3911974 B2 JP3911974 B2 JP 3911974B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- transfer
- data
- slave
- slave node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、二重化されたリング形式の通信路を有するシステム(以降、「二重リング・システム」と記載する。)における種々のデータのダウンロード方式に係り、特に、ダウンロードするデータの転送回数を縮減することができる二重リング・システムにおけるダウンロード方式に関する。
【0002】
通信システムや監視制御システム等の二重リング・システムが広く実用化されている。これら二重リング・システムにおいては、二重化されたリング形式の通信路を介して音声、データ、画像などの通信情報や、監視データ及び制御データの転送を行なうだけでなく、二重リング・システムに接続されているノードを制御するプログラム・データやノードに設定する数値データ等のダウンロードも行なっている。
【0003】
これらデータのダウンロードは、当該プログラム・データにバグが発見されて修正した時、当該プログラム・データのバージョン・アップを行なった時、及びノードに設定するデータの変更を行なった時等に実施される。
【0004】
そして、多くの場合には二重リング・システム本来の機能を停止して種々のデータのダウンロードを行なうので、当然のことながらダウンロードに要する時間の短縮が必要である。
【0005】
【従来の技術】
二重リング・システムによって通信システムや監視制御システムが構成される場合、該二重リング・システムには1つのマスター・ノードと複数のスレーブ・ノードが接続される。そして、ダウンロードは該マスター・ノードから該複数のスレーブ・ノードに対して行なわれる。
【0006】
従来のダウンロード方式は、スレーブ・ノードに例えば順次1ずつ歩進するアドレスを設定しておき、マスター・ノードが隣接するスレーブ・ノードのアドレスを指定してデータを送信し、データを受信したスレーブ・ノードは当該データを格納すると共に、アドレスを1歩進、設定して隣接するスレーブ・ノードに転送し、設定されるアドレスがリング・システムにおける最大アドレスを超えた時にダウンロードを停止するというものが主である。
【0007】
【発明が解決しようとする課題】
しかし、上記方式を採用する場合、二重リング・システムを構成するノードの総数をN(Nは正の整数)とすれば、全てのスレーブ・ノードにデータのダウンロードを行なうためには(N−1)回の転送を行なわなければならず、ダウンロードのために二重リング・システム本来の機能を停止する時間が長くなるという問題がある。
【0008】
本発明は、かかる問題に鑑み、ダウンロードするデータの転送回数を縮減し、以てダウンロードに要する時間を短縮することができる二重リング・システムにおけるダウンロード方式を提供することを目的とする。
【0009】
【課題を解決するための手段】
第一の発明は、
二重リング・システムを構成するノードの総数をN(Nは正の整数)とし、転送元ノードと受信ノードとの間に存在するノード数をM(MはN未満の正の整数)とし、p及びqを正の整数とし、切上げ記号を〔 〕で表わす時、
マスター・ノードは、〔N/p〕離れた上り及び下り方向のスレーブ・ノードにデータを転送して転送動作を終了し、
データの転送を受けたスレーブ・ノードは、転送元ノードとの間にスレーブ・ノードが存在する場合には〔M/q〕離れた上り及び下り方向のスレーブ・ノードにデータを転送し、転送元ノードとの間にスレーブ・ノードが存在しない場合には転送元ノードとは反対方向に1離れたスレーブ・ノードにデータを転送して転送動作を終了し、2回目の転送を受けたノードは転送動作を停止する
技術である。
【0010】
第一の発明によれば、マスター・ノードから〔N/p〕離れた上り方向のスレーブ・ノードは、マスター・ノードとの間にM1 のスレーブ・ノードが存在する場合には〔M1 /q〕離れた上り及び下り方向のスレーブ・ノードにデータを転送し、スレーブ・ノードからデータの転送を受けたスレーブ・ノードは転送元のスレーブ・ノードとの間にM2 のノードが存在する場合には〔M2 /q〕離れた上り及び下り方向のスレーブ・ノードにデータを転送するという処理を行なってゆく。この結果、データを隣のスレーブ・ノードに転送するというケースが必ず生ずる。この場合には転送を受けたスレーブ・ノードは転送元である隣接するスレーブ・ノードにはデータを転送する必要がないので、転送元とは反対側のスレーブ・ノードにデータを転送する。
【0011】
上記動作はマスター・ノードから下り方向に対しても全く同じように行なうので、最終的にはマスター・ノードから最も遠いスレーブ・ノードが両方向からのデータの転送を受ける(2回の転送を受ける)ことになる。この時点で全てのスレーブ・ノードにデータが転送され、ダウンロードが完了する。そして、両方向に同時に転送する分だけデータの転送回数が縮減される。
【0012】
第二の発明は、
二重リング・システムを構成するノードの総数をN(Nは正の整数)とし、rを固定の正の整数とし、nを歩進する正の整数とし、切上げ記号を〔 〕で表わす時、
マスター・ノードは、〔N/rn 〕が1になるまで〔N/rn 〕離れた上り及び下り方向のスレーブ・ノードに転送を繰り返し、
データの転送を受けたスレーブ・ノードは、転送を受けた時のnに1加算した値をnの初期値として、〔N/rn 〕が1になるまで〔N/rn 〕離れた上り及び下り方向のスレーブ・ノードに転送を繰り返し、転送元ノードとの間にスレーブ・ノードが存在しない場合には転送元ノードとは反対方向に1離れたスレーブ・ノードにデータを転送して転送動作を停止し、2回目の転送を受けたスレーブ・ノードは転送動作を停止する
技術である。
【0013】
第二の発明によれば、マスター・ノードが隣接ノードに転送するようになるまで〔N/rn 〕離れたスレーブ・ノードに転送を行ない、マスター・ノード又は他のスレーブ・ノードから転送を受けたスレーブ・ノードは、転送元との間にスレーブ・ノードが存在する場合には〔N/rn 〕離れたスレーブ・ノードにデータを転送してゆく。上記動作をデータの転送を受けた全てのスレーブ・ノードが行なうので、データを隣のスレーブ・ノードに転送するというケースが必ず生ずる。この場合には転送元である隣接するスレーブ・ノードにデータを転送する必要がないので、転送元とは反対側のスレーブ・ノードにデータを転送してゆく。
【0014】
最終的には、必ず、両方向からの転送を受ける(2回の転送を受ける)スレーブ・ノードが出て、この時点で全てのスレーブ・ノードにデータが転送され、ダウンロードが完了する。そして、両方向に同時に転送する分だけデータの転送回数が縮減される。
【0015】
尚、上記では整数p、q及びrを無作為に選定する場合を包含することを想定しているが、整数p、q及びrを最適に選定すれば、データの転送元であったスレーブ・ノードの反対側のスレーブ・ノードに順次データを転送してゆく必要性がなくなり、転送回数をさらに縮減することができる。これについては、発明の実施の形態の欄において実例を以て示すことにする。
【0016】
【発明の実施の形態】
図1は、第一の発明におけるマスター・ノードとスレーブ・ノードの動作を示すフローチャートで、図1(イ)がマスター・ノードの動作を示し、図1(ロ)がスレーブ・ノードの動作を示す。以降、図1の符号に沿って第一の発明におけるマスター・ノードとスレーブ・ノードの動作を論理的に説明し、その後に具体例を示すことにする。
【0017】
先ず、マスター・ノードの動作は下記の通りである。
【0018】
S1.転送先のアドレスを設定する。
【0019】
即ち、二重リング・システムを構成するノードの総数をN(Nは正の整数)とし、pを正の整数とし、切上げ記号を〔 〕で表わす時、〔N/p〕離れた上り及び下り方向(リング・システムでは「E(East) 側、W(West) 側という表現をすることがあるが、本明細書では一貫して「上り」、「下り」を使用する。)のスレーブ・ノードのアドレスを設定する。今、マスター・ノードのアドレスを1とし、スレーブ・ノードのアドレスは1ずつ歩進する正の整数で表すものとすれば、具体的には、設定するアドレスは1+〔N/p〕とN+1−〔N/p〕である。
【0020】
S2.ステップS1で設定した転送先スレーブ・ノードのアドレスと自分のアドレスを添付してデータを転送し、転送処理を終了する。
【0021】
データには転送先スレーブ・ノードのアドレスが添付されているので、指定のスレーブ・ノードにデータを受信させることができる。又、当該データを受信したスレーブ・ノードに転送元ノードのアドレスを知らせることができ、データを受信したスレーブ・ノードは転送元ノードとの間に存在するスレーブ・ノードの数を知ることができる。
【0022】
次に、スレーブ・ノードの動作は下記の通りである。
【0023】
S11.スレーブ・ノードは、転送先スレーブ・ノードのアドレスと自分のアドレスを比較して、一致していればデータを受信し、伝送フレーム上から一旦当該データを消去する。
【0024】
S12.ステップS1でのデータの受信は1回目か否かを判定する。
【0025】
当該受信が1回目ではない、即ち、2回目に達している場合(No)には、これ以上転送を繰り返す必要がないので転送処理を終了する。
【0026】
S13.ステップS12で、当該受信が1回目であると判定された場合(Yes)には、スパンが1であるか否か、即ち、隣のノードからの転送であるか否かを判定する。
【0027】
これは、マスター・ノードがデータを転送する時には自分のアドレスを添付するし、後述するように、スレーブ・ノードがデータを転送する時にも自分のアドレスを添付する上、当然、スレーブ・ノードは自分のアドレスを認識できるので、データを受信したスレーブ・ノードは転送元のノードとの間に存在するスレーブ・ノード数を計算することができるから可能である。
【0028】
S14.ステップS13で、スパンが1ではない、即ち、転送元ノードとの間にスレーブ・ノードが存在すると判定された場合(No)には、転送元ノードとの間に存在するスレーブ・ノード数をM(MはN未満の正の整数)とし、qを正の整数とするとき、自分のアドレスに〔M/q〕を加算したアドレスと自分のアドレスから〔M/q〕を減算したアドレスを設定する。
【0029】
S15.そして、ステップS14で設定した転送先スレーブ・ノードのアドレスと自分のアドレスを添付して、ステップS11で受信したデータを上り方向と下り方向に送出して転送処理を終了する。
【0030】
S16.ステップS3で、スパンが1である、即ち、転送元ノードとの間にスレーブ・ノードが存在しないと判定された場合(Yes)には、上り方向のノードから転送を受けたか否かを判定する。
【0031】
S17.ステップS16で、上り方向のノードからデータの転送を受けたと判定された場合(Yes)には、少なくとも上り方向のノードに当該データを転送する必要がないので、自分のアドレスから1を減算したアドレスのみを設定する。
【0032】
S18.ステップS16で、下り方向のノードからデータの転送を受けたと判定された場合(No)には、少なくとも下り方向のノードに当該データを転送する必要がないので、自分のアドレスから1を減算したアドレスのみを設定する。
【0033】
S19.ステップS17及びステップS18で設定したアドレスがマスター・ノードのアドレスか否かを判定する。
【0034】
マスター・ノードのアドレスであると判定された場合(Yes)には、処理を終了する。
【0035】
S20.ステップS19で、設定したアドレスがマスター・ノードのアドレスではないと判定された場合(No)には、転送先のアドレスと自分のアドレスを添付して、ステップS11で受信したデータを送出して転送処理を終了する。
【0036】
図2は、図1に示した動作を具体的に説明する例(その1)で、二重リング・システムを構成するノードの総数Nを14とし、整数pを5とし、整数qを2とした例である。
【0037】
図2において、数字1乃至14(これが各ノードのアドレスでもある。)を内部に記載した円がノードで、二重の円がマスター・ノード、一重の円がスレーブ・ノードである。そして、ノード1乃至14は二重化されたリング状の通信路に接続されているが、図の煩雑化を避けるために一本の線でこれを表現している。これは、以降の図でも同様に表現する。ここで、二重化されたリング状の通信路における伝送方向は互いに逆方向である。尚、ノードのアドレスが増える方向、即ち、ノード1からノード14の方向を上り方向とし、ノード1がマスター・ノードであるものとする。
【0038】
そして、ノード間をわたる曲線の矢印がデータの転送を表しており、該矢印の傍らに付した括弧付の数字が転送回数を示している。
【0039】
N=14、p=5であるので、マスター・ノードであるノード1は1+〔14/5〕=4と、14+1−〔14/5〕=12を転送先アドレスに設定して両方向にデータを送出する。尚、両方向にデータを送出する場合には、必ず二重化された通信路の上り方向と下り方向の両方を使用する。
【0040】
当該データを受信したスレーブ・ノード4は、転送元アドレス1と自分のアドレス4とから、転送元のマスター・ノード1との間に(4−1)−1=2のスレーブ・ノードが存在することを知る。
【0041】
ここで、q=2であるので、4+〔2/2〕=5と4−〔2/2〕=3を転送先アドレスとして、自分のアドレス4も添付してスレーブ・ノードであるノード3とノード5にデータを送出する。
【0042】
データを受信したスレーブ・ノード3は、上り方向の隣接スレーブ・ノード4からデータの転送を受けたことが判るので、下り方向に1離れたスレーブ・ノードであるノード2のみにデータを転送する。尚、一方向にデータを転送する場合には、二重化された通信路のいずれかを任意に選択すればよい。
【0043】
スレーブ・ノード3からデータの転送を受信したスレーブ・ノード2は、隣接スレーブ・ノード3から転送を受けたので下り方向のアドレス2−1=1を設定するが、アドレス1のノードはマスター・ノードで転送の必要性がないので転送動作を停止する。
【0044】
一方、データを受信したスレーブ・ノード5は、下り方向の隣接スレーブ・ノード4からデータの転送を受けたことが判るので、上り方向に1離れたスレーブ・ノードであるノード6のみにデータを転送する。
【0045】
以降、ノード6及び7も同様な転送動作を行なう。
【0046】
上記と同じ動作は、マスター・ノードであるノード1からデータの転送を受けたスレーブ・ノード12を起点にして行なわれる。
【0047】
そして、上り方向の隣接ノードから転送を受けたスレーブ・ノード2は、次の転送先がマスター・ノードになるので転送処理を停止し、下り方向の隣接ノードから転送を受けたスレーブ・ノード14は、次の転送先がマスター・ノードになるので転送処理う停止する。又、最終的に、スレーブ・ノード8へはスレーブ・ノード7とスレーブ・ノード9からデータの転送が行なわれ、スレーブ・ノード8は2回のデータの転送を受けたことを認識できる。これによってスレーブ・ノード8はデータの転送動作を停止する。
【0048】
そして、転送の度にスパンが短くなってゆくので、2つのノード間で上り方向の通信路と下り方向の通信路が同時に使用されることは絶対にないので、図2に示した例の場合には、5回のデータの転送で全てのスレーブ・ノードへのダウンロードが終了する。従来のダウンロード方式では14−1=13回の転送が必要であるので、転送回数を大幅に縮減することができる。
【0049】
図3は、図1に示した動作を具体的に説明する例(その2)で、二重リング・システムを構成するノードの総数Nを14とし、整数pを4とし、整数qを2とした例である。
【0050】
N=14、p=4であるので、マスター・ノードであるノード1は1+〔14/4〕=5と、14+1−〔14/4〕=11を転送先アドレスに設定してデータを送出する。
【0051】
当該データを受信したノード5は、転送元アドレス1と自分のアドレス5とから、転送元のマスター・ノードとの間に(5−1)−1=3のスレーブ・ノードが存在することを知る。
【0052】
ここで、q=2であるので、5+〔3/2〕=7と5−〔3/2〕=3を転送先アドレスとして、自分のアドレス5も添付してスレーブ・ノードであるノード3とノード7にデータを送出する。
【0053】
データを受信したノード3は、上り方向のノード5からデータの転送を受けたことが判るので、3+〔1/2〕=4と3−〔1/2〕=2を転送先アドレスに設定してデータを転送する。
【0054】
そして、ノード2は設定アドレスがマスター・ノードのアドレスであることから転送動作を停止する。一方、ノード4は下り方向の隣接ノード3からデータの転送を受けたので、上り方向に1離れたノード5にデータを転送する。
【0055】
ノード5は、既にノード1からの転送を受けているのにノード4からも転送を受けたので、これ以上の転送動作を停止する。
【0056】
上記と同様な動作は、ノード5からデータの転送を受けたノード7を起点にしても行なわれる。
【0057】
又、上記と同様な動作はノート1からデータの転送を受けたノード11を基点にしても行われる。
【0058】
そして、ノード8へはノード7とノード9からデータの転送が行なわれ、ノード8は2回のデータの転送を受けたことを認識できる。これによってノード8はデータの転送動作を停止する。
【0059】
即ち、図3に示した例の場合には、4回の転送で全てのノードへのデータのダウンロードが完了する。従来のダウンロード方式では14−1=13回の転送が必要であるので、転送回数を大幅に縮減することができる。
【0060】
尚、例えばスレーブ・ノード5にはスレーブ・ノード4とスレーブ・ノード6から転送を受けるが、データを転送するノードが自分のアドレスだけを添付する場合には上記転送が行なわれる。しかし、データを転送するノードがそれ以前の転送元のノードのアドレスを全て添付すれば、スレーブ・ノード4とスレーブ・ノード6はスレーブ・ノード5に転送する必要がないことを認識できるので、3回の転送で全てのスレーブ・ノードにデータがダウンロードされる。ただ、この場合には図1のフローチャートを若干修正する必要があるが、これは、図1(ロ)のステップS19において、転送先ノードがマスター・ノードであるか否かを判定すると共に、転送先ノードが既に転送元ノードになった履歴があるか否かを判定するように修正するだけでよい。
【0061】
さて、上記修正をしてp=4、q=2に設定する例が、第一の発明では最も効率がよい。というのは、リング・システムを4等分してマスター・ノードからのデータの転送を行ない、マスター・ノードからのデータの転送を受けたスレーブ・ノードを起点にして上り方向と下り方向に転送元のノードと受信ノードの間に存在するノード数の1/2だけ離れたノードに対してデータの転送を行なってゆくので、リング・システムの全ての部分における転送が対象に行なわれ、図2の例のような一方向に順次転送する必要性がなくなるからである。
【0062】
そして、p=4、q=2に設定する場合には、一般的に総転送回数は〔 〕を切上げ記号として、〔log2 (N+1)−1〕で与えられることが判る。
【0063】
図4は、第二の発明におけるマスター・ノードとスレーブ・ノードの動作を示すフローチャートで、図4(イ)がマスター・ノードの動作を示し、図4(ロ)がスレーブ・ノードの動作を示す。以降、図4の符号に沿って第二の発明におけるマスター・ノードとスレーブ・ノードの動作を論理的に説明し、その後に具体例を示すことにする。
【0064】
先ず、マスター・ノードの動作は下記の通りである。
【0065】
S31.歩進する正の整数nに1を設定する。
【0066】
S32.転送先のアドレスを設定する。
【0067】
即ち、二重リング・システムを構成するノードの総数をN(Nは正の整数)とし、rを正の整数とし、転送する度に歩進する正の整数をnとし、切上げ記号を〔 〕で表わす時、〔N/rn 〕離れた上り及び下り方向のスレーブ・ノードのアドレスを設定する。今、マスター・ノードのアドレスを1とし、スレーブ・ノードのアドレスは1ずつ歩進した値であるものとすれば、具体的には、設定するアドレスは1+〔N/rn 〕とN+1−〔N/rn 〕である。
【0068】
尚、ステップS31からステップS32に初めて移行した時には、当然n=1である。
【0069】
S33.ステップS32で設定した転送先スレーブ・ノードのアドレスが隣接ノードのアドレスであるか否か、即ち、スパンが1であるか否かを判定する。
【0070】
S34.ステップS33で、スパンが1でない、即ち2以上であると判定された場合(No)には、ステップS32で設定した転送先スレーブ・ノードのアドレスと整数rの値及び転送時のnの値を添付してデータを転送する。
【0071】
転送先スレーブ・ノードのアドレスが添付されているので、指定のスレーブ・ノードにデータを受信させることができる。又、当該データを受信したスレーブ・ノードがデータの転送時のnの値及びrの値が添付されているので、受信したノードに隣接ノードからの転送であるか否かを判定させることができる。
【0072】
S35.整数nを歩進して、ステップS32にジャンプする。
【0073】
S36.ステップS33で、スパンが1であると判定された場合(Yes)には、スパンが1であると判定された回数が1であるか否かを判定する。
【0074】
1回目であると判定された場合(Yes)には、ステップS32で設定した転送先スレーブ・ノードのアドレスと転送時のnの値を添付してデータを転送し、ステップS35、ステップS32、ステップS33を経由して再度ステップS36で1回目か否かの判定を行なう。
【0075】
前回スパンが1であったから、今回も必ずスパンが1となり、判定は1回目ではないのでNoとなる。これは、隣接ノードに2回目のデータ転送を行なうことを意味し、無駄な転送であるので、転送動作を停止して処理を終了する。
【0076】
次に、スレーブ・ノードの動作を説明する。
【0077】
S41.スレーブ・ノードは、転送先スレーブ・ノードのアドレスと自分のアドレスを比較して、一致していればデータを受信し、伝送フレーム上から一旦当該データを消去する。
【0078】
S42.ステップS41でのデータの受信は1回目か否かを判定する。
当該受信が1回目ではない、即ち、2回目に達している場合(No)には、処理を終了する。
【0079】
S43.ステップS42で、当該受信が1回目であると判定された場合(Yes)には、隣のノードからの転送であるか否かを判定する。
【0080】
これは、マスター・ノードがデータを転送する時には.歩進する整数nの値するし、当然、スレーブ・ノードにはリング・システムを構成する総ノード数Nを格納しておくことができるので、スレーブ・ノードは〔N/rn 〕を計算することによって転送元のノードとの間に存在するスレーブ・ノード数を知ることができるために可能なことである。
【0081】
S44.ステップS43で、隣のノードからの転送ではない、即ち、スパンが2以上であると判定された場合(No)には、整数nを歩進する。
【0082】
S45.転送先のアドレスを設定する。
【0083】
即ち、〔N/rn+1 〕離れた上り及び下り方向のスレーブ・ノードのアドレスを設定する。
【0084】
S46.ステップS45で設定した転送先スレーブ・ノードのアドレスが隣接ノードのアドレスであるか否か、即ち、スパンが1であるか否かを判定する。
【0085】
S47.ステップS46で、スパンが1でない、即ち2以上であると判定された場合(No)には、ステップS45で設定した転送先スレーブ・ノードのアドレスと転送時のnの値を添付してデータを転送する。
【0086】
転送先スレーブ・ノードのアドレスが添付されているので、指定のスレーブ・ノードにデータを受信させることができ、且つ、当該データを受信したスレーブ・ノードがデータの転送を行なう時に設定すべき歩進する整数の値を知らせると共に隣接ノードからの転送であるか否かを判定させることができる。
【0087】
そして、ステップS44にジャンプする。
【0088】
S48.ステップS46で、スパンが1であると判定された場合(Yes)には、スパンが1であると判定された回数が1であるか否かを判定する。
【0089】
1回目であると判定された場合(Yes)には、ステップS45で設定した転送先スレーブ・ノードのアドレスと転送時のnの値を添付してデータを転送し、ステップS44、ステップS45、ステップS46を経由して再度ステップS48で1回目か否かの判定を行なう。
【0090】
前回スパンが1であったから、今回も必ずスパンが1となり、判定は1回目ではないのでNoとなる。これは、隣接ノードに2回目のデータ転送を行なうことを意味し、無駄な転送であるので、転送動作を停止して処理を終了する。
【0091】
S49.ステップS43で、スパンが1である、即ち、転送元ノードとの間にスレーブ・ノードが存在しないと判定された場合(Yes)には、上り方向のノードから転送を受けたか否かを判定する。
【0092】
S50.ステップS49で、上り方向のノードからデータの転送を受けたと判定された場合(Yes)には、少なくとも上り方向のノードに当該データを転送する必要がないので、自分のアドレスから1を減算したアドレスのみを設定する。
【0093】
S51.ステップS49で、下り方向のノードからデータの転送を受けたと判定された場合(No)には、少なくとも下り方向のノードに当該データを転送する必要がないので、自分のアドレスから1を減算したアドレスのみを設定する。
【0094】
S52.ステップS50及びステップS51で設定したアドレスがマスター・ノードのアドレスか否かを判定する。
【0095】
マスター・ノードのアドレスであると判定された場合(Yes)には、処理を終了する。
【0096】
S53.ステップS52で、設定したアドレスがマスター・ノードのアドレスではないと判定された場合(No)には、転送先のアドレスと自分のアドレスを添付して、ステップS41で受信したデータを送出して処理を終了する。
【0097】
図5は、図4に示した動作を具体的に説明する例(その1)で、二重リング・システムを構成するノードの総数Nを14とし、整数rを4とした例である。
【0098】
N=14、r=4であるので、マスター・ノードであるノード1は1+〔14/41〕=5と、14+1−〔14/41〕=11を転送先アドレスに設定してデータを送出する。
【0099】
次いで、マスター・ノードはnを歩進して1+〔14/42〕=2と、14+1−〔14/42〕=14を転送先アドレスに設定する。この時、転送先ノードとの間のスパンが1であるが、スパン1で転送するのは初めてであるので、スレーブ・ノード2と14にデータを転送する。
【0100】
更に、マスター・ノードはnを歩進して1+〔14/43〕=2と、14+1−〔14/43〕=14を転送先アドレスに設定する。この時、転送先ノードとの間のスパンが1であり、スパン1で転送するのは2回目になるので、データの転送を終了する。
【0101】
一方、マスター・ノードからデータの転送を受けたスレーブ・ノード5は、リング・システムのノード総数14、整数r=4及び転送時のn=1とから、転送元ノードとの間に〔14/41〕−1=3のスレーブ・ノードが存在することを知る。
【0102】
従って、転送先アドレスとして5+〔14/42 〕=6及び5−〔14/42 〕=4を設定する。これは隣接ノードのアドレスであるが、隣接ノードへの転送は初めてであるので、r=4とn=2を添付してデータを転送する。
【0103】
次いで、スレーブ・ノード5はnを歩進して転送先アドレスとして5+〔14/43 〕及び5−〔14/43 〕を設定する。これは隣接ノードのアドレスであり、隣接ノードへの転送は2回目となるので、データの転送動作を終了する。
【0104】
さて、スレーブ・ノード5からデータの転送を受けたスレーブ・ノード4は、上り方向の隣接ノードからの転送であることが判るので下り方向にアドレスが1離れたスレーブ・ノード3のみにデータを転送して処理を終了し、マスター・ノード1から転送を受けたスレーブ・ノード2も又上り方向にアドレスが1離れたスレーブ・ノード3のみにデータを転送して処理を終了する。
【0105】
スレーブ・ノード3は、スレーブ・ノード2とスレーブ・ノード3から転送を受けたので直ちに転送動作を終了する。
【0106】
そして、スレーブ・ノード5からの転送を受けたスレーブ・ノード6以降のスレーブ・ノードでも同様に一方向に転送をしてゆく。
【0107】
一方、マスター・ノード1から転送を受けたスレーブ・ノード11を起点とする転送動作も上記と同様である。そして、スレーブ・ノード8は両側からデータの転送を受けた時点で転送動作を終了する。
【0108】
即ち、図5に示した例の場合には、4回のデータの転送で全てのスレーブ・ノードへのダウンロードが終了する。従来のダウンロード方式では14−1=13回の転送が必要であるので、転送回数を大幅に縮減することができる。
【0109】
図6は、図4に示した動作を具体的に説明する例(その2)で、二重リング・システムを構成するノードの総数Nを14とし、整数rを3とした例である。
【0110】
N=14、r=3であるので、マスター・ノードであるノード1は1+〔14/31〕=6と、14+1−〔14/31〕=10を転送先アドレスに設定してデータを送出する。
【0111】
次いで、マスター・ノードはnを歩進して1+〔14/32〕=3と、14+1−〔14/32〕=13を転送先アドレスに設定してデータを送出する。
【0112】
次いで、マスター・ノードはnを歩進して1+〔14/33〕=2と、14+1−〔14/33〕=14を転送先アドレスに設定する。この時、転送先ノードとの間のスパンが1であるが、スパン1で転送するのは初めてであるので、スレーブ・ノード2と14にデータを転送する。
【0113】
更に、マスター・ノードはnを歩進して1+〔14/44〕=2と、14+1−〔14/44〕=14を転送先アドレスに設定する。この時、転送先ノードとの間のスパンが1であり、スパン1で転送するのは2回目になるので、データの転送を終了する。
【0114】
一方、マスター・ノードからデータの転送を受けたスレーブ・ノード6は、リング・システムのノード総数14、整数r=4及び転送時のn=1とから、転送元ノードとの間に〔14/31〕−1=4のスレーブ・ノードが存在することを知る。
【0115】
従って、転送先アドレスとして6+〔14/32 〕=8及び6−〔14/32 〕=4を設定する。これは隣接ノードのアドレスではないので、両方向にr=4とn=2を添付してデータを転送する。
【0116】
次いで、転送先アドレスとして6+〔14/33 〕=7及び6−〔14/33 〕=5を設定する。これは隣接ノードのアドレスであるが、隣接ノードへの転送は初めてであるので、r=4とn=2を添付してデータを転送する。
【0117】
更に、スレーブ・ノード6はnを歩進して転送先アドレスとして6+〔14/34 〕及び6−〔14/34 〕を設定する。これは隣接ノードのアドレスであり、隣接ノードへの転送は2回目となるので、データの転送動作を終了する。
【0118】
さて、スレーブ・ノード6からデータの転送を受けたスレーブ・ノード4は、隣接ノードからの転送ではないことが判るので上り方向の隣接ノード5と下り方向の隣接ノード3にデータの転送をし、マスター・ノード1から転送を受けたスレーブ・ノード3も、隣接ノードからの転送ではないことが判るので上り方向の隣接ノード4と下り方向の隣接ノード2にデータの転送をする。
【0119】
この時、ノード2乃至ノード5は2回目の転送を受けることになるので、ノード2乃至ノード5は転送処理を終了する。
【0120】
他のスレーブ・ノードにおいても同様な転送動作が行なわれ、図6の例の場合には3回の転送で全てのスレーブ・ノードにデータの転送を行なうことができる。従来のダウンロード方式では14−1=13回の転送が必要であるので、転送回数を大幅に縮減することができる。
【0121】
さて、r=3に設定する図6の例が、第二の発明では最も効率がよい。というのは、リング・システムを3等分してマスター・ノードからのデータの転送をスパンを変えて行ない、マスター・ノードからのデータの転送を受けたスレーブ・ノードを起点にして上り方向と下り方向にデータの転送をスパンを変えて行なうので、リング・システムの全ての部分における転送が対象に行なわれ、図5の例のような一方向に順次転送する必要性がなくなるからである。
【0122】
そして、r=3に設定する場合には、一般的に総転送回数は〔 〕を切上げ記号として、〔log3 N〕で与えられることが判る。
【0123】
図7は、ノード総数に対する転送回数を示す表(その1)、図8は、ノード総数に対する転送回数を示す表(その2)で、第一の発明の場合にはp=4、q=2として転送元ノードのアドレスを全て添付して転送する場合、第二の発明の場合にはr=3とした場合の転送回数を示してある。
【0124】
図7において、ノード数が2、即ちマスター・ノードと1つのスレーブ・ノードでリング・システムが構成される場合には、当然、従来の技術と本発明の技術には差が生じないが、ノード総数が3以上では本発明の技術の方が転送回数が必ず少ないことが判る。
【0125】
又、図8に示すようにノード総数が多くなればなるほど転送回数の低減効果が大きいことが判る。
【0126】
さて、上記では転送先を決めるアルゴリズムのみを記載し、データの送信と受信及び再送信については記載していないが、データの送信と受信及び再送信の技術は二重リング・システムにおける通常の技術で、記載する必要がないからである。
【0127】
【発明の効果】
第一の発明によれば、マスター・ノードから〔N/p〕離れた上り方向のスレーブ・ノードは、マスター・ノードとの間にM1 のノードが存在する場合には〔M1 /q〕離れた上り及び下り方向のノードにデータを転送し、スレーブ・ノードからデータの転送を受けたノードは転送元のノードとの間にM2 のノードが存在する場合には〔M2 /q〕離れた上り及び下り方向のノードにデータを転送するという処理を行なってゆく。この結果、データを隣のノードに転送するというケースが必ず生ずる。この場合には転送を受けたノードは転送元の隣のノードに転送する必要がないので、転送元とは反対側のノードにデータを転送してゆく。
【0128】
上記動作はマスター・ノードから下り方向に対しても全く同じように行なうので、最終的にはマスター・ノードから最も遠いノードが両方向からの転送を受ける(2回の転送を受ける)ことになる。この時点で全てのスレーブ・ノードにデータが転送されている。そして、両方向に同時に転送する分だけデータの転送回数が縮減される。
【0129】
第二の発明によれば、マスター・ノード隣接ノードに転送するようになるまで〔N/rn 〕離れたスレーブ・ノードに転送を行ない、マスター・ノード又は他のスレーブ・ノードから転送を受けたスレーブ・ノードは、転送元との間にノードが存在する場合には〔N/rn 〕離れたノードにデータを転送してゆく。上記動作をデータの転送を受けた全てのスレーブ・ノードが行なうので、データを隣のノードに転送するというケースが必ず生ずる。この場合には転送元の隣のノードに転送する必要がないので、転送元とは反対側のノードにデータを転送してゆく。
【0130】
最終的には両方向からの転送を受ける(2回の転送を受ける)ノードが出て、この時点で全てのスレーブ・ノードにデータが転送されている。そして、両方向に同時に転送する分だけデータの転送回数が縮減される。
【図面の簡単な説明】
【図1】 第一の発明におけるマスター・ノードとスレーブ・ノードの動作を示すフローチャート。
【図2】 図1に示した動作を具体的に説明する例(その1)。
【図3】 図1に示した動作を具体的に説明する例(その2)。
【図4】 第二の発明におけるマスター・ノードとスレーブ・ノードの動作を示すフローチャート。
【図5】 図4に示した動作を具体的に説明する例(その1)。
【図6】 図4に示した動作を具体的に説明する例(その2)。
【図7】 ノード総数に対する転送回数(その1)。
【図8】 ノード総数に対する転送回数(その2)。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to various data download methods in a system having a duplex ring-type communication path (hereinafter referred to as “dual ring system”), and particularly reduces the number of times of transfer of downloaded data. The present invention relates to a download method in a dual ring system.
[0002]
Double ring systems such as communication systems and supervisory control systems are widely put into practical use. These dual ring systems not only transfer communication information such as voice, data, and images, monitoring data, and control data via a duplex ring-type communication path, but also transfer to the dual ring system. It also downloads program data for controlling connected nodes, numerical data set for the nodes, and the like.
[0003]
Downloading of these data is performed when a bug is found and corrected in the program data, when the version of the program data is upgraded, or when data set in the node is changed. .
[0004]
In many cases, since the original function of the dual ring system is stopped and various data are downloaded, it is a matter of course that the time required for downloading must be shortened.
[0005]
[Prior art]
When a communication system or a supervisory control system is configured by a dual ring system, one master node and a plurality of slave nodes are connected to the dual ring system. The download is performed from the master node to the plurality of slave nodes.
[0006]
In the conventional download method, for example, an address that advances one by one sequentially is set in the slave node, the master node designates the address of the adjacent slave node, transmits data, and the slave node that has received the data The node mainly stores the data, advances the address by one step, sets it, transfers it to the adjacent slave node, and stops the download when the set address exceeds the maximum address in the ring system. It is.
[0007]
[Problems to be solved by the invention]
However, in the case of adopting the above method, if the total number of nodes constituting the dual ring system is N (N is a positive integer), in order to download data to all slave nodes (N− 1) There is a problem that the number of times of transfer must be performed, and it takes a long time to stop the original function of the dual ring system for downloading.
[0008]
The present invention has been made in view of such a problem, and an object of the present invention is to provide a download method in a dual ring system that can reduce the number of times of transfer of data to be downloaded and thereby reduce the time required for downloading.
[0009]
[Means for Solving the Problems]
The first invention is
The total number of nodes constituting the dual ring system is N (N is a positive integer), the number of nodes existing between the transfer source node and the receiving node is M (M is a positive integer less than N), and When p and q are positive integers and the round-up symbol is represented by [],
The master node transfers the data to the upstream and downstream slave nodes separated by [N / p] and ends the transfer operation.
When there is a slave node with the transfer source node, the slave node that has received the data transfer transfers the data to the slave nodes in the upstream and downstream directions separated by [M / q]. If there is no slave node with the node, the data is transferred to the slave node that is one distance away from the transfer source node and the transfer operation is completed. The node that received the second transfer transfers Stop operation
Technology.
[0010]
According to the first aspect of the invention, the upstream slave node that is [N / p] away from the master node is connected to the master node by M 1 If there are slave nodes of [M 1 / Q] The data is transferred to the remote slave nodes in the upstream and downstream directions, and the slave node that receives the data transfer from the slave node is M between the slave node that is the transfer source. 2 [M 2 / Q] A process of transferring data to remote slave nodes in the upstream and downstream directions is performed. As a result, there will always be a case where data is transferred to an adjacent slave node. In this case, since the slave node that has received the transfer does not need to transfer data to the adjacent slave node that is the transfer source, the data is transferred to the slave node on the opposite side of the transfer source.
[0011]
Since the above operation is performed in the same way in the downstream direction from the master node, the slave node farthest from the master node finally receives data from both directions (receives two transfers). It will be. At this point, data is transferred to all the slave nodes, and the download is completed. The number of data transfers is reduced by the amount transferred simultaneously in both directions.
[0012]
The second invention is
When the total number of nodes constituting the double ring system is N (N is a positive integer), r is a fixed positive integer, n is a positive positive integer, and the round-up symbol is represented by [].
The master node is [N / r n ] Until [1] becomes [N / r n ] Repeat transfer to remote upstream and downstream slave nodes,
The slave node that has received the data transfer uses the value obtained by adding 1 to n at the time of receiving the transfer as the initial value of n, [N / r n ] Until [1] becomes [N / r n ] Repeats transfer to remote upstream and downstream slave nodes, and if there is no slave node with the source node, transfers data to the
Technology.
[0013]
According to the second invention, until the master node transfers to the adjacent node [N / r n When a slave node that transfers to a remote slave node and receives a transfer from the master node or another slave node has a slave node with the transfer source, [N / r n ] Transfer data to remote slave node. Since all the slave nodes that have received the data transfer perform the above operation, there is always a case where the data is transferred to the adjacent slave node. In this case, since there is no need to transfer data to an adjacent slave node as a transfer source, data is transferred to a slave node on the opposite side to the transfer source.
[0014]
Eventually, the slave node always receives the transfer from both directions (receives two transfers), and at this point, the data is transferred to all the slave nodes and the download is completed. The number of data transfers is reduced by the amount transferred simultaneously in both directions.
[0015]
In the above description, it is assumed that the integers p, q, and r are selected at random. However, if the integers p, q, and r are optimally selected, the slave that is the data transfer source There is no need to sequentially transfer data to the slave node on the opposite side of the node, and the number of transfers can be further reduced. This will be shown by way of example in the section of the embodiment of the invention.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a flowchart showing the operations of a master node and a slave node in the first invention. FIG. 1 (a) shows the operation of the master node, and FIG. 1 (b) shows the operation of the slave node. . Hereinafter, the operations of the master node and the slave node in the first invention will be logically described along the reference numerals in FIG. 1, and then a specific example will be shown.
[0017]
First, the operation of the master node is as follows.
[0018]
S1. Set the forwarding address.
[0019]
That is, when the total number of nodes constituting the double ring system is N (N is a positive integer), p is a positive integer, and the round-up symbol is represented by [], the upstream and downstream separated by [N / p] Slave node of direction (in the ring system, “E (East) side, W (West) side may be expressed, but in this specification,“ up ”and“ down ”are used consistently) Set the address. If the address of the master node is 1 and the address of the slave node is represented by a positive integer that increments by one, specifically, the addresses to be set are 1+ [N / p] and N + 1− [N / p].
[0020]
S2. The data is transferred by attaching the address of the transfer destination slave node set in step S1 and its own address, and the transfer process is terminated.
[0021]
Since the address of the transfer destination slave node is attached to the data, the designated slave node can receive the data. In addition, the address of the transfer source node can be notified to the slave node that has received the data, and the slave node that has received the data can know the number of slave nodes existing with the transfer source node.
[0022]
Next, the operation of the slave node is as follows.
[0023]
S11. The slave node compares the address of the transfer destination slave node with its own address, and if they match, receives the data and once erases the data from the transmission frame.
[0024]
S12. It is determined whether or not data reception at step S1 is the first time.
[0025]
When the reception is not the first time, that is, when it has reached the second time (No), it is not necessary to repeat the transfer any more and the transfer process is terminated.
[0026]
S13. If it is determined in step S12 that the reception is the first time (Yes), it is determined whether or not the span is 1, that is, whether or not the transfer is from an adjacent node.
[0027]
This is because the master node attaches its own address when transferring data and, as will be described later, the slave node attaches its own address when transferring data. This is possible because the slave node that has received the data can calculate the number of slave nodes existing with the transfer source node.
[0028]
S14. When it is determined in step S13 that the span is not 1, that is, there is a slave node with the transfer source node (No), the number of slave nodes existing with the transfer source node is set to M. (M is a positive integer less than N), and when q is a positive integer, set an address obtained by adding [M / q] to its own address and an address obtained by subtracting [M / q] from its own address To do.
[0029]
S15. Then, the address of the transfer destination slave node set in step S14 and its own address are attached, and the data received in step S11 is sent in the upward and downward directions, and the transfer process is terminated.
[0030]
S16. If it is determined in step S3 that the span is 1, that is, there is no slave node with the transfer source node (Yes), it is determined whether or not the transfer has been received from the upstream node. .
[0031]
S17. If it is determined in step S16 that data transfer has been received from the upstream node (Yes), it is not necessary to transfer the data to at least the upstream node, so that the address obtained by subtracting 1 from its own address Set only.
[0032]
S18. If it is determined in step S16 that data has been transferred from the downstream node (No), it is not necessary to transfer the data to at least the downstream node, so that the address obtained by subtracting 1 from its own address Set only.
[0033]
S19. It is determined whether the address set in steps S17 and S18 is the address of the master node.
[0034]
If it is determined that the address is the master node address (Yes), the process ends.
[0035]
S20. If it is determined in step S19 that the set address is not the address of the master node (No), the destination address and its own address are attached, and the data received in step S11 is transmitted and transferred. The process ends.
[0036]
FIG. 2 is an example (part 1) for specifically explaining the operation shown in FIG. 1. In FIG. 2, the total number N of nodes constituting the dual ring system is 14, the integer p is 5, and the integer q is 2. This is an example.
[0037]
In FIG. 2, a circle with
[0038]
A curved arrow between the nodes represents data transfer, and a number in parentheses attached to the side of the arrow indicates the number of transfers.
[0039]
Since N = 14 and p = 5,
[0040]
The
[0041]
Here, since q = 2, 4+ [2/2] = 5 and 4- [2/2] = 3 are set as transfer destination addresses, and
[0042]
The
[0043]
The
[0044]
On the other hand, since the
[0045]
Thereafter, the
[0046]
The same operation as described above is performed starting from the
[0047]
Then, the
[0048]
In addition, since the span becomes shorter for each transfer, the upstream communication path and the downstream communication path are never used simultaneously between the two nodes. In the case of the example shown in FIG. In this case, the download to all the slave nodes is completed by transferring the data five times. Since the conventional download method requires 14-1 = 13 transfers, the number of transfers can be greatly reduced.
[0049]
FIG. 3 is an example (part 2) for specifically explaining the operation shown in FIG. 1, in which the total number N of nodes constituting the dual ring system is 14, the integer p is 4, and the integer q is 2. This is an example.
[0050]
Since N = 14 and p = 4, the
[0051]
The
[0052]
Here, since q = 2, 5+ [3/2] = 7 and 5- [3/2] = 3 are set as transfer destination addresses, and
[0053]
The
[0054]
The
[0055]
Since the
[0056]
The same operation as described above is performed starting from the
[0057]
Further, the same operation as described above is performed with the node 11 receiving the data transferred from the
[0058]
Then, data is transferred to the
[0059]
That is, in the case of the example shown in FIG. 3, downloading of data to all nodes is completed in four transfers. Since the conventional download method requires 14-1 = 13 transfers, the number of transfers can be greatly reduced.
[0060]
For example, the
[0061]
An example in which the above correction is made and p = 4 and q = 2 is set is the most efficient in the first invention. This is because the ring system is divided into four equal parts to transfer data from the master node, and the source of the transfer in the upstream and downstream directions starting from the slave node that received the data transfer from the master node. Since data is transferred to a node separated by ½ of the number of nodes existing between the receiving node and the receiving node, the transfer in all parts of the ring system is performed, and FIG. This is because there is no need to sequentially transfer in one direction as in the example.
[0062]
When p = 4 and q = 2 are set, generally, the total number of transfers is [log] 2 (N + 1) -1].
[0063]
FIG. 4 is a flowchart showing the operation of the master node and the slave node in the second invention. FIG. 4 (a) shows the operation of the master node, and FIG. 4 (b) shows the operation of the slave node. . Hereinafter, the operation of the master node and the slave node in the second invention will be logically described along the reference numerals in FIG. 4, and then a specific example will be shown.
[0064]
First, the operation of the master node is as follows.
[0065]
S31. 1 is set to the positive integer n which advances.
[0066]
S32. Set the forwarding address.
[0067]
That is, the total number of nodes constituting the dual ring system is N (N is a positive integer), r is a positive integer, n is a positive integer that advances every time it is transferred, and the round-up symbol is []. [N / r] n ] Set the addresses of remote upstream and downstream slave nodes. Assuming that the address of the master node is 1 and the address of the slave node is a value incremented by one, specifically, the address to be set is 1+ [N / r n ] And N + 1- [N / r n ].
[0068]
It should be noted that n = 1 naturally when the first transition from step S31 to step S32.
[0069]
S33. It is determined whether or not the address of the transfer destination slave node set in step S32 is the address of the adjacent node, that is, whether or not the span is 1.
[0070]
S34. If it is determined in step S33 that the span is not 1, that is, 2 or more (No), the address of the transfer destination slave node set in step S32, the value of the integer r, and the value of n at the time of transfer are obtained. Attach and transfer data.
[0071]
Since the address of the transfer destination slave node is attached, the designated slave node can receive data. In addition, since the slave node that has received the data is attached with the value of n and the value of r at the time of data transfer, the received node can determine whether or not the transfer is from an adjacent node. .
[0072]
S35. Step up the integer n and jump to step S32.
[0073]
S36. If it is determined in step S33 that the span is 1 (Yes), it is determined whether the number of times that the span is determined to be 1 is 1.
[0074]
If it is determined that it is the first time (Yes), the data is transferred by attaching the address of the transfer destination slave node set in step S32 and the value of n at the time of transfer, and step S35, step S32, step Through S33, it is determined again in step S36 whether it is the first time.
[0075]
Since the previous span was 1, the span is always 1 this time, and the determination is No since it is not the first time. This means that the second data transfer is performed to the adjacent node. Since this is a useless transfer, the transfer operation is stopped and the process is terminated.
[0076]
Next, the operation of the slave node will be described.
[0077]
S41. The slave node compares the address of the transfer destination slave node with its own address, and if they match, receives the data and once erases the data from the transmission frame.
[0078]
S42. It is determined whether or not data reception at step S41 is the first time.
When the reception is not the first time, that is, when the second reception has been reached (No), the processing is terminated.
[0079]
S43. If it is determined in step S42 that the reception is the first time (Yes), it is determined whether or not the transfer is from an adjacent node.
[0080]
This is when the master node transfers data. The value of the stepping integer n is, and, of course, the slave node can store the total number N of nodes constituting the ring system, so that the slave node is [N / r n This is possible because the number of slave nodes existing with the transfer source node can be known.
[0081]
S44. When it is determined in step S43 that the transfer is not from an adjacent node, that is, the span is 2 or more (No), the integer n is incremented.
[0082]
S45. Set the forwarding address.
[0083]
That is, [N / r n + 1 ] Set the addresses of remote upstream and downstream slave nodes.
[0084]
S46. It is determined whether or not the address of the transfer destination slave node set in step S45 is an address of an adjacent node, that is, whether or not the span is 1.
[0085]
S47. If it is determined in step S46 that the span is not 1, that is, 2 or more (No), the data is attached by attaching the address of the transfer destination slave node set in step S45 and the value of n at the time of transfer. Forward.
[0086]
Since the address of the transfer destination slave node is attached, the specified slave node can receive data, and the step that should be set when the slave node receiving the data transfers the data It is possible to notify an integer value to be transmitted and to determine whether or not the transfer is from an adjacent node.
[0087]
Then, the process jumps to step S44.
[0088]
S48. If it is determined in step S46 that the span is 1 (Yes), it is determined whether or not the number of times that the span is determined to be 1 is 1.
[0089]
If it is determined that it is the first time (Yes), the data is transferred by attaching the address of the transfer destination slave node set in step S45 and the value of n at the time of transfer, and in step S44, step S45, step It is determined again in step S48 whether or not it is the first time via S46.
[0090]
Since the previous span was 1, the span is always 1 this time, and the determination is No since it is not the first time. This means that the second data transfer is performed to the adjacent node. Since this is a useless transfer, the transfer operation is stopped and the process is terminated.
[0091]
S49. If it is determined in step S43 that the span is 1, that is, there is no slave node with the transfer source node (Yes), it is determined whether transfer has been received from the upstream node. .
[0092]
S50. If it is determined in step S49 that the data has been transferred from the upstream node (Yes), it is not necessary to transfer the data to at least the upstream node, so that the address obtained by subtracting 1 from its own address Set only.
[0093]
S51. If it is determined in step S49 that the data transfer has been received from the downstream node (No), it is not necessary to transfer the data to at least the downstream node, so an address obtained by subtracting 1 from its own address Set only.
[0094]
S52. It is determined whether the address set in step S50 and step S51 is the address of the master node.
[0095]
If it is determined that the address is the master node address (Yes), the process ends.
[0096]
S53. If it is determined in step S52 that the set address is not the address of the master node (No), the transfer destination address and its own address are attached, and the data received in step S41 is transmitted and processed. Exit.
[0097]
FIG. 5 is an example (part 1) for specifically explaining the operation shown in FIG. 4, in which the total number N of nodes constituting the dual ring system is 14 and the integer r is 4.
[0098]
Since N = 14 and r = 4,
[0099]
The master node then advances n to 1+ [14/4 2 ] = 2 and 14 + 1− [14/4 2 ] = 14 is set as the transfer destination address. At this time, the span to the transfer destination node is 1, but since it is the first transfer in the
[0100]
In addition, the master node increments n to 1+ [14/4 Three ] = 2 and 14 + 1− [14/4 Three ] = 14 is set as the transfer destination address. At this time, since the span with the transfer destination node is 1, and the transfer is performed for the second time in the
[0101]
On the other hand, the
[0102]
Therefore, 5+ [14/4 as the transfer destination address. 2 ] = 6 and 5- [14/4] 2 ] = 4 is set. This is the address of the adjacent node, but since it is the first transfer to the adjacent node, data is transferred with r = 4 and n = 2 attached.
[0103]
Next, the
[0104]
The
[0105]
Since the
[0106]
Similarly, the slave nodes subsequent to the
[0107]
On the other hand, the transfer operation starting from the slave node 11 receiving the transfer from the
[0108]
That is, in the case of the example shown in FIG. 5, the download to all the slave nodes is completed by transferring the data four times. Since the conventional download method requires 14-1 = 13 transfers, the number of transfers can be greatly reduced.
[0109]
FIG. 6 is an example (part 2) for specifically explaining the operation shown in FIG. 4, in which the total number N of nodes constituting the dual ring system is 14 and the integer r is 3.
[0110]
Since N = 14 and r = 3,
[0111]
The master node then advances n to 1+ [14/3 2 ] = 3 and 14 + 1− [14/3 2 ] = 13 is set as a transfer destination address and data is transmitted.
[0112]
The master node then advances n to 1+ [14/3 Three ] = 2 and 14 + 1− [14/3 Three ] = 14 is set as the transfer destination address. At this time, the span to the transfer destination node is 1, but since it is the first transfer in the
[0113]
In addition, the master node increments n to 1+ [14/4 Four ] = 2 and 14 + 1− [14/4 Four ] = 14 is set as the transfer destination address. At this time, since the span with the transfer destination node is 1, and the transfer is performed for the second time in the
[0114]
On the other hand, the
[0115]
Therefore, 6+ [14/3 as the transfer destination address. 2 ] = 8 and 6- [14/3 2 ] = 4 is set. Since this is not an address of an adjacent node, data is transferred with r = 4 and n = 2 attached in both directions.
[0116]
Next, 6+ [14/3 as the transfer destination address Three ] = 7 and 6- [14/3 Three ] = 5 is set. This is the address of the adjacent node, but since it is the first transfer to the adjacent node, data is transferred with r = 4 and n = 2 attached.
[0117]
Further, the
[0118]
Now, the
[0119]
At this time, since the
[0120]
Similar transfer operations are performed in other slave nodes, and in the case of the example of FIG. 6, data can be transferred to all slave nodes in three transfers. Since the conventional download method requires 14-1 = 13 transfers, the number of transfers can be greatly reduced.
[0121]
The example of FIG. 6 in which r = 3 is set is most efficient in the second invention. This is because the ring system is divided into three equal parts, and the data is transferred from the master node by changing the span. The slave node that receives the data transfer from the master node is the starting point, and the upstream and downstream This is because data transfer in the direction is performed by changing the span, so that transfer in all parts of the ring system is performed, and there is no need for sequential transfer in one direction as in the example of FIG.
[0122]
When r = 3 is set, generally, the total number of transfers is [log] Three N].
[0123]
7 is a table showing the number of transfers with respect to the total number of nodes (part 1), and FIG. 8 is a table showing the number of transfers with respect to the total number of nodes (part 2). In the case of the first invention, p = 4 and q = 2. When the transfer is performed with all the addresses of the transfer source nodes attached, the number of transfers when r = 3 is shown in the second invention.
[0124]
In FIG. 7, when the number of nodes is 2, that is, when a ring system is configured by a master node and one slave node, there is no difference between the conventional technique and the technique of the present invention. It can be seen that when the total number is 3 or more, the technique of the present invention always has a smaller number of transfers.
[0125]
Also, as shown in FIG. 8, it can be seen that the effect of reducing the number of transfers is greater as the total number of nodes increases.
[0126]
In the above, only the algorithm for determining the transfer destination is described, and data transmission, reception, and retransmission are not described. However, the data transmission, reception, and retransmission are the usual techniques in a dual ring system. This is because it is not necessary to describe.
[0127]
【The invention's effect】
According to the first aspect of the invention, the upstream slave node that is [N / p] away from the master node is connected to the master node by M 1 [M 1 / Q] Transfers data to remote nodes in the upstream and downstream directions, and the node that received the data transfer from the slave node is M 2 [M 2 / Q] A process of transferring data to nodes in the upstream and downstream directions away from each other is performed. As a result, a case of transferring data to an adjacent node always occurs. In this case, the node that has received the transfer does not need to transfer it to the node next to the transfer source, and therefore transfers the data to the node on the opposite side of the transfer source.
[0128]
Since the above operation is performed in the same way in the downstream direction from the master node, the node farthest from the master node finally receives the transfer from both directions (receives two transfers). At this point, data is transferred to all the slave nodes. The number of data transfers is reduced by the amount transferred simultaneously in both directions.
[0129]
According to the second invention, [N / r] until the master node is transferred to the adjacent node. n When a slave node that transfers to a remote slave node and receives a transfer from the master node or another slave node has a node with the transfer source, [N / r n ] Transfer data to remote nodes. Since all the slave nodes that have received the data transfer perform the above operation, there will always be a case where the data is transferred to an adjacent node. In this case, since there is no need to transfer to the node next to the transfer source, the data is transferred to the node on the opposite side of the transfer source.
[0130]
Eventually, a node that receives transfers from both directions (receives two transfers) comes out, and data is transferred to all slave nodes at this point. The number of data transfers is reduced by the amount transferred simultaneously in both directions.
[Brief description of the drawings]
FIG. 1 is a flowchart showing operations of a master node and a slave node in the first invention.
FIG. 2 is an example (part 1) for specifically explaining the operation shown in FIG. 1;
FIG. 3 is an example (part 2) for specifically explaining the operation shown in FIG. 1;
FIG. 4 is a flowchart showing operations of a master node and a slave node in the second invention.
5 is an example (part 1) for specifically explaining the operation shown in FIG. 4; FIG.
6 is an example (part 2) for specifically explaining the operation shown in FIG. 4; FIG.
FIG. 7 shows the number of transfers with respect to the total number of nodes (part 1).
FIG. 8 shows the number of transfers with respect to the total number of nodes (part 2).
Claims (2)
マスター・ノードは、〔N/p〕離れた上り及び下り方向のスレーブ・ノードにデータを転送して転送動作を終了し、
データの転送を受けたスレーブ・ノードは、転送元ノードとの間にスレーブ・ノードが存在する場合には〔M/q〕離れた上り及び下り方向のスレーブ・ノードにデータを転送し、転送元ノードとの間にスレーブ・ノードが存在しない場合には転送元ノードとは反対方向に1離れたスレーブ・ノードにデータを転送して転送動作を終了し、
2回目の転送を受けたスレーブ・ノードは転送動作を停止する
ことを特徴とする二重リング・システムにおけるダウンロード方式。The total number of nodes constituting the dual ring system is N (N is a positive integer), the number of nodes existing between the transfer source node and the receiving node is M (M is a positive integer less than N), and When p and q are positive integers and the round-up symbol is represented by [],
The master node transfers the data to the upstream and downstream slave nodes separated by [N / p] and ends the transfer operation.
When there is a slave node with the transfer source node, the slave node that has received the data transfer transfers the data to the slave nodes in the upstream and downstream directions separated by [M / q]. When there is no slave node with the node, the data is transferred to the slave node that is one distance away from the transfer source node and the transfer operation is terminated.
The download method in the dual ring system, wherein the slave node that receives the second transfer stops the transfer operation.
マスター・ノードは、〔N/rn 〕が1になるまで〔N/rn 〕離れた上り及び下り方向のスレーブ・ノードに転送を繰り返し、
データの転送を受けたスレーブ・ノードは、転送を受けた時のnに1加算した値をnの初期値として、〔N/rn 〕が1になるまで〔N/rn 〕離れた上り及び下り方向のスレーブ・ノードに転送を繰り返し、転送元ノードとの間にスレーブ・ノードが存在しない場合には転送元ノードとは反対方向に1離れたスレーブ・ノードにデータを転送して転送動作を停止し、
2回目の転送を受けたスレーブ・ノードは転送動作を停止する
ことを特徴とする二重リング・システムにおけるダウンロード方式。When the total number of nodes constituting the double ring system is N (N is a positive integer), r is a fixed positive integer, n is a positive positive integer, and the round-up symbol is represented by [].
The master node repeats the transfer [N / r n] until the 1 [N / r n] apart upstream and downstream directions of the slave node,
The slave node that has received the data transfer uses the value obtained by adding 1 to n at the time of receiving the transfer as an initial value of n, and is separated by [N / r n ] until [N / r n ] becomes 1. If the slave node does not exist between the source node and the slave node in the downstream direction, the data is transferred to the slave node that is one distance away from the source node. Stop
The download method in the dual ring system, wherein the slave node that receives the second transfer stops the transfer operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000227276A JP3911974B2 (en) | 2000-07-27 | 2000-07-27 | Download method in dual ring system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000227276A JP3911974B2 (en) | 2000-07-27 | 2000-07-27 | Download method in dual ring system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002044110A JP2002044110A (en) | 2002-02-08 |
JP3911974B2 true JP3911974B2 (en) | 2007-05-09 |
Family
ID=18720752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000227276A Expired - Fee Related JP3911974B2 (en) | 2000-07-27 | 2000-07-27 | Download method in dual ring system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3911974B2 (en) |
-
2000
- 2000-07-27 JP JP2000227276A patent/JP3911974B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002044110A (en) | 2002-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5903566A (en) | Method for distributing program code to intelligent nodes in a wireless mesh data communication network | |
US5167035A (en) | Transferring messages between nodes in a network | |
US20070208875A1 (en) | Automatic digital document processing | |
EP0698975B1 (en) | A method of multicasting | |
EP0101609B1 (en) | Data communication method | |
US6768740B1 (en) | Coordinating loop-free forwarding table updates | |
US20060018303A1 (en) | Wireless mesh network timed commit provisioning | |
JP2004274778A (en) | High speed data communication modem | |
JP5462252B2 (en) | Apparatus and method for transmitting content data between peers in P2P mode using two-part peer overlay | |
CN105516122A (en) | Method and system for accelerating network transmission of acceleration strategy with hierarchical configuration | |
JP5069399B2 (en) | Method and apparatus for forwarding and recovering incoming data packets | |
US8902793B2 (en) | Method and system for a low-complexity spanning tree algorithm in communication networks | |
JP3911974B2 (en) | Download method in dual ring system | |
US6031817A (en) | System and method for providing notification of malfunctions in a digital data network | |
US7310661B2 (en) | Approach for transferring functions between participants in a communications arrangement | |
JP2009523328A (en) | Connection setting using hash value in wireless communication system | |
CN101287270A (en) | Method and apparatus for service transmission | |
US8040893B2 (en) | Method for fast source routed connection setup | |
KR100966925B1 (en) | Packet signal processing architecture | |
JP5445184B2 (en) | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD | |
KR920005878B1 (en) | Local area system transport | |
US20060209879A1 (en) | Switch system and loop transfer method | |
WO2022172331A1 (en) | Setting change device, setting change method, and program | |
KR100462184B1 (en) | Method and system of multi- downloading file by using plural handsets | |
JP6975974B2 (en) | Control device, control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070122 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140209 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |