JP3821847B2 - ノードのネットワークにおいてメッセージを経路指定するための方法および装置 - Google Patents
ノードのネットワークにおいてメッセージを経路指定するための方法および装置 Download PDFInfo
- Publication number
- JP3821847B2 JP3821847B2 JP50494397A JP50494397A JP3821847B2 JP 3821847 B2 JP3821847 B2 JP 3821847B2 JP 50494397 A JP50494397 A JP 50494397A JP 50494397 A JP50494397 A JP 50494397A JP 3821847 B2 JP3821847 B2 JP 3821847B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- network
- nodes
- packet
- identifier
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Description
発明の分野
本発明は、ネットワークのどのノードが相互に通信できるかを決定すること、および識別子をノードに割当てることを含めて、ネットワークを構成する方法に関する。
本発明は、独特のコード識別子により識別されるノードのネットワーク内でメッセージを経路指定する方法にも関するものである。
本発明は、独特のノード識別子により識別される複数のノードを備える通信ネットワーク、およびそのようなネットワークに使用するノードに関するものでもある。
更に、本発明はノードの論理識別子を保存するメモリと、ノードが宛先ノードへのメッセージ経路中にあるかどうかを判定するプロセッサとを備える、通信ネットワーク・ノードに関するものである。
また、本発明は、ネットワーク構成を保存するメモリと、プロセッサとを備える、通信ネットワークのためのネットワーク制御ノードに関するものである。
関連技術についての説明
今日の適当なネットワーク、とくに、近代の建物の実時間制御のために用いるネットワークは、建物を建築する際に設置されるワイヤで接続されたノードを含む。それらの装置では、照明、暖房/冷房、エレベーターなどを制御するためにネットワークを用いる。ネットワークのノードは典型的には、十分な量のメモリと、その他の資源とを有するマイクロコンピュータである。それらの装置は結線され、かつ比較的強力なノードを有するから、それらの装置は高価で、一般に最も大規模な建物において採用されるだけである。また、それらは一般に、とくに電力使用制御装置のための最も適当な対象にできる古い建物に後から取り付けるためには一般に適当ではない。
必要なものは、非常に低コストのノード、すなわち、最少の資源を有するノードすなわち資源に乏しいノードであって、無線で一緒に接続され、したがって、小規模建物および中期簿建物に適当で、古い建物に後から取付けるために適当なノードのネットワークである。
ネットワークを基にした典型的な制御装置では、データ通信ネットワークのノードが情報ユニットをそれ自体の間で交換する。それらのユニットは一般にパケット、フレームまたはセルと呼ばれている。多重ホップネットワークでは、ノードはネットワークの1つおきのノードとの直接通信リンクを持たず、パケットは、発信元ノードから宛先ノードまでの通信経路内にある中間ノードによりパケットを送る必要があるかもしれない。ネットワークの種類およびそれの特徴に応じて、パケットの経路指定のこの機能は中間ノードに次のもののうちの1つを含む。1)中間ノードを出る多くのリンクの1つの選択(たとえば、インターネットに似ている点−点多重ホップネットワークにおける)、または2)受けたパケットを送る(再送信)か否かについての判定(たとえば、全てのノードが共通チャネルを強要する無線多重ホップ放送ネットワークにおいて)。データ通信ネットワークで使用する一般的な経路指定技術のほとんどは、経路指定の判定または選択を行うために経路指定表または判定表をアクセスするためにメッセージのアドレスを用いる動作において、経路指定判定を行うためにそれらの表を利用する。中間ノードにおける経路指定表は、パケットが宛てられる宛先ノードまでの最良の発信リンクすなわち最短経路を典型的に指示する。判定表は、受けたパケットを更に送るか否かを判定することを受ける。初期化したその表はノードのメモリのスペースを占める。たとえば、256ノードのネットワークでは、典型的な中間規模の建物について、各ノードが簡単な経路指定表を保存するものとすると、どのノードへパケットを送るかを指示するために最低512バイトを必要とする。そのような256ノードネットワークにおける判定表は288バイトをとる。そのうちの256バイトはノードのアドレスのためのものであり、32バイトは表における各ノードに宛てられたパケットを送るか否かをビットを用いて指示する。小容量メモリ型の資源の乏しいノードのネットワークでは、それらの表を保存するために十分なメモリがない。そのようなノードでは、メモリはデータ通信機能とシステムまたはアプリケーションに特定の機能の間で共用される。したがって、種々の経路指定技術を工夫する必要がある。それらの経路指定方法は非常に小さいRAMを使用しなければならないだけでなく、発信元から宛先までパケットを許容できる遅れで送るために効率的でもなければならない。
必要とされるものは、最少の資源、とくにメモリと、そのようなノードで動作する経路指定プロトコルとを有するノードのネットワークである。
発明の概要
本発明の目的は、低コスト、最少資源のネットワークを無線で接続する装置を得ることである。
本発明の目的はまた、放送通信技術を用いてノードを接続する装置を得ることである。
本発明の追加の目的は、経路指定表をノードに保存することを要しないネットワークを得ることである。
本発明の別の目的は、資源に乏しいノードのネットワークのために適当な経路指定プロトコルを得ることである。
本発明の別の目的は、ノードのネットワークを構成する装置を得ることである。
本発明の別の目的は、低コストネットワークを小規模ないし中規模の建物に設備でき、かつ古い建物に後から設備できるようにする装置を得ることである。
ネットワークを構成する方法は、相互に通信できるノードのスパンニングツリー(spanning tree)を構成する過程を備え、ノードに識別子を割当てることがスパンニングツリーを基にしていることを特徴とするものである。
メッセージの経路指定方法は、相互に通信できるノードのスパンニングツリーをノードが構成し、子ノードの識別子の独特の部分が子ノードの親ノードの識別子の独特の部分を含み、メッセージアドレスが現在のノード識別子の独特の部分を含んでいる時に他のノードへメッセージを送る過程を備えることを特徴とする。
通信ネットワークは、相互に通信できるノードのスパンニングツリーをノードが構成し、子ノードの識別子の独特の部分が子ノードの親ノードの識別子の独特の部分を含むことを特徴とする。
通信ネットワークノードは、メッセージのメッセージアドレスをノードの論理識別子のみと比較することにより、前記決定を実行することをプロセッサが開始させられることを特徴とする。
ネットワーク制御ノードは、ネットワークのノードの区分されたスパンニングツリー識別子を決定すること、識別子をネットワーク構成に保存すること、およびネットワーク構成を用いてメッセージをノードへ送ることをプロセッサが開始させられることを特徴とする。
その装置は、メモリおよび処理能力などのハードウェア資源を最小限有することができるノードの多重ホップ無線放送ネットワークを含むことが好ましい。このネットワークは区分したスパンニングツリーを用いて構成され、中間ノードのアドレスをパケットの宛先アドレスと比較して完全なパケット経路指定の決定を行えるように、ノードアドレスが割当てられる。
後で明らかになるそれらの目的およびその他の目的並びに諸利点は、それの部分を構成する添付図面を参照して後で詳しく説明し、特許請求する構造および動作の詳細に存する。図面全体を通じて同じ参照番号は同じ部分を指す。
第1図は本発明のネットワークのノードを示す。
第2図は無線多重ホップノードのネットワークを示す。
第3図はネットワーク制御ノードにより実行されるプロセスの流れ図である。
第4図、第5図、第6図、第10図、第11図、第13図、第19図、第20図、第22図ないし第25図はメッセージパケットを示す。
第7図はホップカウントノードによるフラッディングの流れ図である。
第8図は親経路指定プロセスの流れ図である。
第9図はネットワーク制御ノードの初期化プロセスを示す。
第12図はネットワークノードの初期化プロセスを示す。
第14図はネットワーク制御ノードにより実行されるグラフ作成プロセスの流れ図である。
第15図(a)はノードのネットワークを示す。
第15図(b)は第15図(a)のネットワークを表すデータ構造を示す。
第16図は第2図のネットワークのスパンニングツリーを示す。
第17図は本発明のフィギュア17のネットワークのノードに割当てられたアドレスを示す。
第18図はネットワーク制御ノードのモニタおよび制御プロセスを示す。
第21図はネットワーク初期化後にネットワークノードにより実行されるプロセスの流れ図である。
好適な実施例についての説明
本発明は、1つの部屋内の光レベルの調節などの簡単な機能を実行するために適当で、光スイッチなどの制御される装置におのおの組込むことができる低コストノードのネットワークに適用される。そのようなネットワークのノードは「資源に乏しい」。経路指定表のような経路指定情報を保存するために不十分なメモリを持つノードを資源に乏しいノードと呼び、発信パケットすなわちメッセージの「最良の経路」を、最短経路、ネットワーク混雑、リンク制御等などの情報を基にして計算するための処理性能が不十分である。好適な実施例は第1図に示すようなネットワークノード10を含む。各ノードは、モトローラ68HC11マイクロ制御器などの低コストの、4又は8ビットのマイクロ制御器処理ユニット(MPU)12を含む。MCU12はワンチップRAM14(32バイトのオーダー)と、ノードアドレス(すなわち、4バイト)などのプログラム可能で不揮発性の情報を保持するための好ましくはEEPROM型のPROM16と、制御およびネットワーク経路指定プログラムすなわちソフトウエアを保持するROM18(約1または2Kバイト)とを非常に限られた量だけ含む。各ノード10は装置の他のノードと通信できるようにする通常の無線送信器/受信器20も含む。送信器/受信器20は低電力装置であって、建物の1ないし3などの数の部屋の寸法の距離などの数十フィートだけを典型的に送信する。ノードは、RAMなどの資源を最小限有するだけであるから、ノードは経路指定表または判定表に依存する高度な経路指定プログラムを保持できない。ネットワークを管理し、かつネットワーク構成を決定するために、ネットワーク制御ノード(NCN)30と呼ばれる知能的で比較的強力なノードが設けられる。NCN30はMPU32、RAM34、PROM36、ROM38および送信器/受信器40の同じバージョンをノード10として含むことができ、かつ、建物照明調節器などのネットワークおよびシステム制御を行うために適当な従来のディスク記憶装置およびI/O装置を含む、PCまたはワークステーションなどの従来のコンピュータに接続される従来の直列ポート42も含む。
NCN30は区分したスパンニングツリー(PAST)経路指定プロトコルを実行する責任を負う。本発明の区分したスパンニングツリー経路指定プロトコルはほとんどあらゆる種類の多重ホップネットワークに応用でき、かつ経路指定表または決定表を使用しない。しかし、それは、資源に乏しい(処理能力およびメモリが乏しい)ノードのネットワークに最も適しており、アドレスを他のノードに割当て、スタート時にネットワークを初期化するのに十分な処理能力とメモリを有するネットワークと制御ノードの使用可能性に依存する。
このプロトコルをより良く理解するために、第2図に示すネットワークについて考えることにする。このネットワークでは、端から端への通信がNCN60と資源に乏しいノード62〜76の間、および帰りに起きるが、パケットを宛先ノードへ向かって中継するためにパケットを交換すること以外は、70と72などの、資源に乏しいノードの間では起きない。プロトコルの動作を説明するために、各ノードがネットワークのいくつかの他のノードの直接無線通信範囲内にある、たとえば、ノード68がノード62,64,66,70および72の範囲内にあるが他のノードの範囲内にはない、放送チャネル・ネットワークの場合について考えることにする。したがって、おのおのの送信器を中心として、送信器のいくつかの付近のノードを設けることができる、重なり合う付近ノード(ノード66の付近ノードがノード68の付近ノードに重なり合う)が存在する。
ネットワーク中の全てのノードは共通の放送チャネルを使用する。各送信器がチャネルをモニタすることを求め、通信が無い時のみ送信するようにしている従来のCSMA(搬送波検出多重アクセス)を用いて衝突が避けられる。相互に聴取範囲の外にある2つのノードの区域の交差部にあるノードが、2つの近接するノードがチャネルが空いていると考えて同時に送信するものとすると、無効なデータを受信することがある。そのような衝突から回避するために、暗黙のホップ−バイ−ホップ(implicit hop−by−hop)(IHBH)肯定応答技術が用いられる。このIHBH肯定応答技術については後で説明する。
74などの資源に乏しいノードからNCN60へ進むパケットは上流へ進むものと言われ、NCN60から資源に乏しいノードまで進むパケットは下流へ進むものと言われる。資源に乏しい各ノードはそれの物理的IDと呼ばれる独特の識別子を持つようにして構成され、または設置中にIDをノードに手作業で割当てることができる。
ノード62〜76が初めてオンにされると、それらのノードは初期化段階で始動する。その初期化段階ではそれらのノードはNCN60からの通信を待つ。大きい制御能力と大きいメモリ容量を持つネットワーク制御ノード(NCN)60は、初期化段階90(第3図参照)において、最初に、ネットワーク中のノードの数についてユーザーにより入力された情報を基にして、資源に乏しいノードから情報を集めてネットワークの完全かつ正確な表現を、第2図に示すようなグラフの形で形成する。必要とする情報はどのノードが相互に聴取できるかの指示、すなわち、どのノードが他のノードの放送範囲内にあるかのリストである。ホップカウント・プロトコル(後で説明する)でのフラッディング(flooding)を用いて初期化メッセージをネットワークの全てのノードへ放送することにより、情報は得られる。ネットワークの中間レベル中のノードがそれより下のレベルのノードへ放送するように、その放送はレベルごとに進む。こうすることにより各ノードはそれの親ノードであるノード、すなわち、各ノードに最初の初期化放送を送るノード、を記録できるようにされる。ノードは、親経路指定プロトコル(後で説明する)を用いて、戻された応答メッセージを介して、必要とされる情報に応答する。応答メッセージは、親ノードのほかの他のどのノードが聴取できるかを応答メッセージは指示もする。その後でグラフはスパンニングツリーに区分される。その後で、NCN60から、それぞれ、上流または下流に進むパケットに対して、パケットがたどる経路が宛先ノードまたは送りノードのアドレスにより一意に識別されるようにして、ノードに論理(スパンニングツリー−PAST)が割当てられる。このアドレス指定法では、パケットを受ける、ノード64などの中間ノードが宛先ノードのアドレス(下流に進むパケットに対して)、またはパケットを送るノードのアドレス(上流に進むパケットに対して)を、その中間ノードのアドレスと比較することにより、前記宛先ノードのアドレスまたは送るノードのアドレスを単に調べる。アドレス比較のみから、中間ノードは、パケットがたどる経路に中間ノードがあるかどうかを告げることができる。中間ノードが経路にあるとすると、それはパケットを進めるが、中間ノードが経路に無ければパケットは捨てられる。アドレスがひとたび割当てられると、NCN60はモニタおよび制御段階92に入る。その段階では事象およびコマンドに関するメッセージがPAST経路指定プロトコルを用いてネットワークを通される。NCN60の動作の段階の詳細については後で詳しく説明する。しかし、初期化段階の詳細について説明する前に、初期化段階中に利用される2つの経路指定プロトコル、すなわち、1)ホップカウントでのフラディング(FHC)および2)親経路指定(PA)、を理解すると助けになる。それら2つのプロトコルについては第7図と第8図を参照して以下に説明する。しかし、最初にプロトコルを用いて、ネットワーク内を伝送させられる各パケットの構造について説明する。
以下の説明で用いるパケットの構造を第4図に示す。各パケット100は固定場所に「フラッグ」バイト102を含む。このバイト102は次のビットフィールド(最下位のビットが右にある)を有する。ビット0と1−後の使用のために留保する、ビット2−パケット優先度:1は「急ぐ」パケットを示し、0は「急がない」パケットを示す。ビット3と4−アドレス指定:11はパケットが「放送」パケットである、すなわち、パケットをネットワーク内のあらゆるノードで処理すべきことを示し、10はパケットが「多重キャスト」パケットである、すなわち、群アドレスにより識別される、ネットワーク中の多重ノードがパケットを受けて処理することを示し、01はパケットが「ユニキャスト」パケットであって、ただ1つのノードに宛てられることを示す。ビット5と6−経路指定型:11は親経路指定法を用いてパケットを送るべきであることを示し、10はFHC経路指定プロトコルを用いてパケットを送るべきであることを示し、01はPASTプロトコルを使用すべきであることを示す。ビット7−進む向き:0はパケットがNCNまで上流へ進むことを示し、1はパケットがNCNから離れて動くことを示す。第2のバイト104に独特のIDが設けられる。パケット100の次のフィールド106は可変長フィールドであって、宛先(または発信元)ノードの論理アドレスを含む。第4のフィールド108は1バイトコマンドを含む。次のフィールド110は可変長データフィールドである。パケット100の最後のフィールド112は誤り検査のために用いる検査合計フィールドである。
初期化段階は第4図のパケット100の、第5図と第6図に示す2つの変更例を用いる。第5図の初期化すなわちINITパケット120はFHC下流経路指定初期化プロセス(第7図参照)中に用いられるのみである。ネットワーク制御ノード(NCN)60は第5図のパケット120を、NCN60の直接通信範囲内にある全てのノードへ放送する。ホップカウントでのフラディング(FHC)親経路指定法はパケット120を放送するために用いる(フラッグバイト内のアドレス指定ビットが11にセットされる)。各パケット120は送りノードの物理的ID104を含む。データフィールド110ではFHCのためのホップカウンタ122が1にセットされて、送りノードの中間の近接ノードのみがパケットを処理するが、パケットを更に前へ送ることはない(第7図を参照して更に詳しく説明するように)。パケットを送るノードのアドレス124はデータフィールド110に含まれる。パケット120は、INITパケットの送り元がNCNから離れるホップ126の数も含む。第5図と第6図の例では、INITパケット120はIDがec3f(hex)であるノードから送られ、IDが6bf1(hex)であるノードにより受けられる。ホップカウント・フィールド122が、INITパケット120が1ホップだけ超えて伝わらないようにするから、パケット内のアドレスフィールド106はffff(hex)に常にセットされる。第6図の応答すなわちRESPONSE_INITパケット130は上流親経路指定プロセス(第8図参照)で用いられるだけである。パケット130のアドレス・フィールド106はNCN60のアドレス(0000hex)にセットされる。データフィールド110の中に、経路指定フィールドのための親アドレスと呼ばれるフィールド132が含まれ、それの内容が、そのパケット130を受けるあらゆる中間ノードの親ノードのIDにより置き換えられ、それを送る(放送する)。第2のフィールド134は、NCN60により作成されるネットワークグラフのための親ノードアドレスを含む。RESPONSE_INITパケット130を送る最初のノードのアドレスが次のフィールド136に保存され、NCNから最初のノードのホップカウント内の距離が次のフィールド140に保存される。
第7図に示すように、ホップカウント(FHC)でのフラッディング経路指定法は各INITパケット120内の最大ホップカウンタ(フィールド122)を用いて、パケットが発信元ノードから放送ネットワーク内のそれの宛先まで伝わる時にそのパケットが取ることができるホップの最大数を指示する。発信元ノードはパケットがそれの宛先に到達するまでに要するホップの正確な(または最小)数を知らなければならない。独特のパケットIDがパケットにまた挿入される。パケットを受ける(150)あらゆる中間パケット、たとえばパケット64が、パケットがFHCパケットであるかどうかを判定し(152)、もしそうでなければそのパケットを捨てる(154)。もしそうであればノードはホップカウンタを調べて(156)、それを1だけ減少する(158)。カウンタが零に達すると、パケットは再送信されない。さもなければ中間ノードは付近のものが聴取するためのパケットを放送する(160)。パケットが付近のノードから再び受けられたとすると、そのパケットが捨てられるように、パケットの識別子は妥当な長さの時間だけ記録もされる。ノードが障害を起こさなければ、ホップカウントが零になる前にパケットは宛先ノードに確実に到達する。このパケット経路指定法はNCNから上流へ進むパケットはもちろん、下流へ進むパケットにも使用できる。パケットにおいて指定される宛先ノードの物理的IDはそのパケットを処理すべきであって(164)、更に送るべきではないことを知るために宛先ノードにより使用される(162)。ネットワークの切り離されている部分にパケットの多重コピーが存在することがあるかもしれないから、この経路指定法は効率が非常に悪いことを知ることは容易である。パケットのいくつかのコピーが宛先ノードから離れて進むことがあり、そのためにネットワークの資源をむだにする。この経路指定法の詳細を、RAND Corporation,Memorandum RM−3130−PR,August,1964Boehm,S.P.およびP.Baran「広帯域分布通信ネットワークにおけるホット−ポテト経路指定のデジタル・シミュレーション(Digital Simulation of Hot−Potato Routing in a Broadband Distribution Communication Network)」から更に得ることができる。第7図は、ホップカウントでのフラッディングによる経路指定中に実行される動作の一般化した記述を与えるものであって、制御器における本発明のプロセス内の経路指定プロトコルの性能(60)と、資源に乏しいノードにおける本発明のプロセス内の経路指定プロトコルの性能(62〜76)について、第9図および第12図を参照して詳しく説明する。
第8図に示す親経路指定法はNCN60へ向かって上流に進むパケットの経路指定のためにのみ有用である。ネットワーク内の各ノードは直接通信範囲内にあって、NCNに最低1ホップだけ近いノードの物理的IDを保存する。IDが保存されているノードを親ノードと呼ぶ。発信元ノードはそれの親ノードのIDを出るRESPONSE_INITパケット130に挿入し、そのパケットを放送する。パケット130を受ける中間ノードは(170)、経路指定フラッグを調べて(172)それのタイプが親経路指定であることを確認し、それが正しいタイプでなければそのパケットを捨てる(174)。それが正しいタイプであればノードはそれに含まれている宛先アドレスを調べる(176)。アドレスが中間ノードのアドレスでなければ、親アドレスを調べる(178)。親アドレスが中間ノードのアドレスであれば、そのアドレスを中間ノードの親ノードのアドレスで置き換え(180)、パケットを送る(182)。これは、宛先ノード(NCN60)がパケット130を受けてRESPONSE_INITパケット130を処理する(184)まで続けられる。したがって、パケット130は1つのノードから、NCNに1ホップだけ近いそれの親ノードまでホッピングすることによりNCNまで進む。この経路指定法は、パケット中に現れるIDを有するノードのみがパケットを先へ中継するから、ホップカウントでのフラッディング(FHC)よりも効率的である。第8図は、親経路指定中に実行される動作の一般化した記述を与えるものであって、制御器における本発明のプロセス内の経路指定プロトコルの性能(60)と、資源に乏しいノードにおける本発明のプロセス内の経路指定プロトコルの性能(62〜76)とについて、第9図および第12図を参照して詳しく説明する。
第9図に示すように、開始段階90中はネットワーク制御ノード(NCN)60は、ユーザーがネットワーク中のノードの数を指定した後で、第5図に示すように、ID(フィールド104)が零で、FHCホップカウント(フィールド122)が1である初期化パケット120を作成する(200)ことによりスタートする。その後でこのパケットを送る(202)。そうするとNCN60はパケットを受けるまで待つ(204)。その後で、NCN60は、経路指定タイプがFHCであるかどうかを判定する(206)。その判定の結果が否定であれば、そのパケットの経路指定法が親経路指定タイプであるかどうかについての判定を行う(208)。その判定の結果が否定であれば、そのパケットを捨てる(210)。パケットがFHC経路指定により経路指定されたとすると、それが開始パケット120であるかどうかについて判定する(212)。それが開始パケット120でなければそのパケットを捨てる。それが開始パケット120であれば、ホップカウントが1であるかどうかの判定を行う(216)。もしそうであれば、第2図のネットワークのように、ノードをネットワークのノードのグラフに挿入する(218)。この挿入動作(218)は、NCNノードIDを含む親経路指定された応答パケット130をNCNが受けて、認識した場合(219)にも行われる。そのグラフのための全てのノードがグラフに入れられていない(220)、すなわち、ユーザーが指定したネットワークのノードの数がグラフ中のノードの数に等しくないとすると、装置は戻って他のパケットを待つ(204)。グラフが完全であれば、NCN60は論理区分されたスパンニングツリー(PAST)アドレスをノードに割当てる。それについては後で詳しく説明する。論理アドレスが割当てられると(222)、NCN60はそれのアドレスの各ノードに知らせる。これは、SET_ADDRSパケット240(第10図参照)を作成し(224)、それらをノード62〜72へ送る(226)ことにより行われる。
各SET_ADDRSパケット240は、第10図に示すように、宛先ノードの物理的ID104と、その宛先に割当てられた論理PASTアドレス242とを含み、したがって、宛先ノードはそのパケットを受けて、それをそれの論理PASTアドレスに保存できる。パケット240は前記ホップカウントでのフラッディングを用いて経路指定される。NCNから各ノードへの正確なホップカウント244は、この情報が宛先ノードから受けたRESPONSE_INITパケットの部分であったことから、知られる。パケット240は論理アドレス中のビットの数の指示246も含む。SET_ADDRSパケット240を受けるノードは、RESPONSE_SET_ADDRSパケット250(第11図参照)をNCN60へ送ることにより、それのPASTアドレスの受取りを確認する。それらのパケット250は親経路指定法を用いて経路指定される。
経路指定のタイプの判定における初期化段階中の資源に乏しいノード62〜76の動作は、第12図の同じ動作の参照番号により示されているNCN60におけるそれと同じである。ホップカウント検査を行った(216)後で、INITパケット120を初めて受ける各ノード(240)はパケット120の送り元の物理的IDを保存し、その送り元をそれの親ノードとしてマークする(242)。また、受けるノードはパケット内の値に1を加える。それはNCN60からのホップの数をINITパケット120の送り元に与え、その結果を受けるノードがネットワーク制御ノード(NCN)60から離れるホップの数として保存する。その後で受けるノードはRESPONSE_INITパケット130を作成して(244)、それをNCN60へ送り(246)、INITパケット120を送ったノード(すなわち、親ノード)の直接通信範囲内に受けるノードがあることをNCN60に知らせる。RESPONSE_INITパケット130は前記親経路指定法を用いて経路指定される。したがって、まず初めに、各RESPONSE_INITパケット130は、そのパケットを作成したモードの親ノードの物理的IDと、応答パケット130を送るノードの物理的IDと、NCN60から離れるホップの数とを含む。その後でノードはこのパケットを放送するが、パケット中に現れるIDを有する親ノードのみが、それのIDをそれ自体の親ノードのIDと置き換えた後でパケットを再送信する。したがって、RESPONSE_INITパケット130が、パケット130を発生させた初期化パケット120の送り元により最初に送られる。RESPONSE_INITパケット130を受けると、NCN60はグラフにエントリを作成してRESPONSE_INITパケット130を送った発信元ノードを表す。パケット130の送り元を表すエントリと、パケット130を送らせたパケット120を有するノードとを接続するために、グラフに弧が形成される。その弧は実際にはリンクされたデータ構造におけるポインタである。NCN60からパケット130の送り元(発信元)のホップの数も保存される。
パケット120を初めて受けるノードは、パケット130をNCNへ送る(246)ことに加えて、ホップカウント1を有するINITパケット120と、ffff(hex)のIDを作成し(248)(第12図参照)、聴取する全ての中間ノードへそれを放送する(250)。
最初のパケットに続いてINITパケット120を受けるノードは、パケット120の送り元の物理的IDを親としては保存しない。それは初期化パケット120を作成および放送することも止める。しかし、ノードはHEAR_INITパケット260を作成する(252)。このパケット260の構造と目的はRESPONSE_INITパケット130に類似し、第13図に示されている。しかし、HEAR_INITパケット260は、HEAR_INITパケット260を送り出すノードからNCN60の到達するためにRESPONSE_INITパケット130がたどった経路と同じ経路をたどる。パケット260はNCN60に弧をグラフに挿入もさせて、パケット260の送り元と、パケット260を発生させたパケット120の送り元とを接続する。
受けられるパケットがこのノードのために設定すべきアドレスであると判定されると(254)(第12図)、論理アドレスを保存し(256)、ネットワーク通信と、第12図を参照して説明する制御段階とに入る。グラフを作成するプロセス218(第9図参照)を第14図に一層詳しく示す。NCN60がパケットを受けると(270)、そのパケットを検査してパケットのタイプを判定し(272)、それが誤ったタイプであればそれを捨てる(274)。正しいタイプのパケットを受けたら、送り元と親とのアドレスを取り出し(276)、第15図(a)と第15図(b)を参照して後で説明するリンクされたデータ構造リストエントリを作成する(278)。そのエントリにデータを挿入する(280)。その後でNCN60は、親に対するリンクされたリストにエントリが存在するかどうかを判定する(282)。その判定が否定であればその親に対するエントリを作成する(284)。次に、エントリの間のポインタをエントリに挿入する(286)。その後で、第9図を参照して既に説明したステップ220と222を行う。
ネットワーク中の資源に乏しい各ノード62〜76からNCN60が応答パケット(130/260)を受けるまで、グラフ作成プロセスは継続する。したがって、それはネットワーク中のあらゆるノードおよびリンクを表すことができる。結果としてのグラフは第2図のそれに類似し、第15a図と第15b図に示すリンクされたリストなどのリストとしてメモリ内で表される。第15a図は、物理的識別子(ID)3abcと769を有するノードと通信できるNCN300を示す。ノード3abcはID209、152、622を有するノードと、ノード769およびNCN300と通信できる。ノード769はID152、622を有するノードと、ノード3abcおよびNCN300と通信できるが、ID209を有するノードとは通信しない。ID209、152、622を有するノードは聴取でき、グラフ接続で示されているようにノードへ送る。この構成は、第15b図のポインタを向けられたリンクされたリストデータ構造内に反映される。図から分かるように、リスト310内の各項目すなわちエントリ312は、対応するノードの物理的IDを含んでいるブロックIDフィールド314と、親ノードを識別する親IDフィールド316と、根ノードすなわちNCNへのホップの数のカウントを含むホップカウント・フィールド318と、現在のノードが聴取でき、かつ通信でき、更にパケット260を送るネットワーク中の更に下流のノードを識別する1つまたは複数の子ポインターフィールド320と、現在のノードに初期化パケット120を送った最初のノードを識別する親ポインター322とを含む。各エントリ312はPASTアドレスを保存するフィールド324も含む。そのPASTアドレスは対応するノードに割当てられる。この種のグラフは初期化の次の段階でネットワーク制御ノード(NCN)により使用されてスパンニングツリーを構成し、アドレスをスパンニングツリーのノードに割当てる。
ネットワークの初期化における次の段階は、別々のスパンニングツリーデータ構造(グラフ)をNCNのメモリに組み込まれている元のグラフから得ることより成る。スパンニングツリーグラフは別々のグラフ(リンクされたリストデータ構造)として構成され、将来のネットワーク変更および追加のために元のグラフが維持される。このプロセスは図のグラフの修正した深さの最初のサーチを含む。深さの最初のサーチでは、子の1つ(最も右)が選択されるような子をあるノードが有するならばそのノード(最も右)が選択され、そのノードが子を有するならばそれが選択される、等、葉に遭遇するまでその操作を繰り返す。その点で葉ノードの親のきょうだい深さを最初にサーチされる。このタイプのサーチでは、プロセスは、他の経路が処理される前に、1つの経路に沿ってできるだけ深く進む。ある幅の最初のサーチでは、ネットワーク中の各レベルにおける全てのノード(きょうだい)を、より深いレベルにあるノードを処理する前に、処理する。本発明の修正した深さの最初のサーチでは、レベルを2つのレベルに分割できる操作により各レベルの幅が最小にされて、結果としてのアドレスの長さを最適にすることを支援する。この説明では第2図を元のグラフすなわちソースグラフとして使用する。この段階では資源に乏しいノードは含まれず、この段階全体はNCNのメモリ内で起きる。これは、その中でいくつかの物事が起きる(スパンニングツリーの作成およびアドレス割当て)のような回帰動作であって、かつ流れ図では容易には表されない。NCN60は、スパンニングツリーの根をそれ自体で考察することによりスタートし、グラフ中の付近のノードの実際の数に1を加えることにより付近のノードの数を計算する。たとえば、NCN60は2つの付近ノードを有するから、計算した付近ノードの数が存在する。付近ノードの計算した数が2の累乗であるとすると、各付近ノードは子ノードとしてスパンニングツリーに入れられる。現在の例ではそれは入れられない。付近ノードの計算した数が2の累乗でないとすると、付近ノードのいくつかをスパンニングツリー内の子ノードから除外でき、または除外できない。これを判定するために、NCN60は、付近のノードの数より小さい、↓2で示す、2の最大累乗を計算し、かつ、付近のノードの数より大きい、↑2で示す、2の最小累乗を計算する。付近ノードの数が↓2より↑2に近いとすると、全ての付近ノードは子ノードとしてスパンニングツリーに入れられる。しかし、付近ノードの数が↓2に近いとすると、グラフ中のどの付近ノードをスパンニングツリー内の子モードであることから排除できるかを判定しようとする。↑2と↓2への近さが同じ場合には、NCN60はいくつかの付近ノードを除外することを判定する。この判定のために、NCNはグラフの弧をたどって、他の付近のどの1つからいずれかの付近ノードに到達できるかを調べる。この例では、ノード62にノード64から到達できる。他の任意の付近ノードから到達できる任意の付近ノードは子ノードとしてスパンニングツリーに入れられず、付近ノードの数が1だけ減少させられる。付近ノードの数が↑2に到達すると、現在のノードの付近ノードに対して除外プロセスが直ちに停止する。それらの除外された付近ノードは将来スパンニングツリーに入れられる。スパンニングツリー内の子ノードとして考えることから付近ノードを除外できない、とNCN60が判定したとすると、全ての付近ノードはツリーに入れられる。スパンニングツリーに入れられる各付近ノードは訪ねさせられたものとマークされ、入れられた各付近ノードにおいて上記手順をスタートして再び実行され、したがって、付近ノードに根を生やしたスパンニングサブツリー(spnning sub-tree)を構成する。付近ノードが訪ねさせられたものとマークされたことが判明したとすると、それは、訪ねさせられたノードに根を生やしたスパンニングサブツリーが既に存在することを指示する。このプロセスは、まだ訪ねさせられていない次の付近ノードで更に進む。
付近ノードの数が↑2に近くないとすると、いくつかの付近ノードをスパンニングツリー内の子ノードであることから除外使用とする特別な努力の背後の理由は、スパンニングツリーの幅を最小に保つことである。これは、論理PASTアドレスを割当てるプロセスを以下に説明するとにより良く理解される。
この段階が終ると、元のグラフとは別の、(第2図参照)、すなわち、NCN60に根を生やし、かつその中に、第15図に示すように、NCN60からネットワーク中のあらゆるノードまで、およびその逆、の単一の経路が存在するようなスパンニングツリー330がNCNのメモリに存在する。このグラフは第15b図に示すデータ構造に類似するデータ構造により表されることに注目されたい。NCN60を除く、全てのノード(62〜76)は、NCN60に1ホップ近い親ノードを有する。葉ノード(66、70、74および76)を除く全てのノードは、NCN60から1ホップ離れた子ノードを有する。ノードは、親を共通に持つきょうだいノードを持つことができ、または持たないことができる。第2図の他のスパンニングツリーはもちろん可能である。
論理区分されたスパンニングツリー(PAST)のネットワーク初期化プロセスの最後の段階では識別子がネットワークの各ノードに割当てられる。更に詳しくいえば、アドレスを各ノードに割当てることができる。この文書の残りではアドレスという用語を用いる。この割当て法では、各子はそれの親のアドレスを引き継ぐ。そのアドレスは、それのレベルにおけるそれ自体の独特のアドレスに組合わされる。このために、NCN60は、全部0ビットより成るアドレスをそれ自体に割当てられることによりスタートする(このアドレスの長さは、資源に乏しいノードへのアドレスの割当てを基にしており、長さはスパンニングツリーの葉ノード66、70、74および76のアドレスの長さと同じである)。
その後でNCN60は、NCN60のスパンニングツリー内の子ノードの実際の数に1を加えることにより子の数を計算する。この例ではこれは2である。その後で、各子ノードを一意にアドレスするために要するビットの最小数、たとえばnを計算する。スパンニングツリーの作成中に任意の付近ノードが子として除外されたとすると、↑2は、ここで計算したビットの数まで増加した2の累乗でなければならない。付近ノードが除外されないとすると、ビットの数は↓2まで、またはグラフ中の付近ノードの数に正確に等しい2の累乗まで進むべきである。第16図の例ではこれは1ビットである。各子ノードに割当てられる論理PASTアドレスは、それを他の全ての子ノードから区別する独特のnビットパターンで構成される。それらのnビットは独特の子部分と呼ばれる。第17図に示す例では、nビットはアドレスの最上位ビットを構成するから、最上位PASTビットとも呼ばれる。アドレスビットへの独特の部分の他の割当てが可能であることがわかるであろう。
NCN60のスパンニングツリー内のそれの子にPASTアドレスを割当てた後で、NCN60は各子ノードに根を生やしたサブツリーで上記手順を続行する。スパンニングツリー内の任意のノードのアドレスの独特の部分(第17図の例では、独特の部分はk個の最上位PASTビットにより構成される)はツリー内のそれの親ビットの、独特の子部分(この例では、独特のmビットパターン、mは各きょうだいを独特にアドレスするために必要なビットの再小数である)に連結された独特の部分を備える。したがって、この例では、きょうだいのアドレスはm個の最下位ビットだけ異なる。あらゆるノードのアドレスを同じ長さで出現させるために、kビットPASTアドレスの右に0ビットが付加ビットとして用いられる。
この手順の結果を第17図に示す。この図では最上位のPASTビットに実線下線を施している。各PASTアドレスに付加して同じ長さにするために用いる0ビットには下線を引いていない。第17図で、葉ノード76はそれのアドレスのために6ビットを要するから、全てのノードアドレスに0を付加して6ビットアドレスを得る。第17図を調べてわかるように、各子ノードは子の親の最上位ビットを含む。
前記したように、各ノードがアドレスを持つと、アドレスはネットワーク制御ノード(NCN)60により資源に乏しいノード62〜76に送られて、それのPROMに保存される。これで初期化段階は終る。
第18図に示すように、初期化段階と制御段階中はNCN60はユーザーからの入力を待つ。特定の動作などの動作を実行することをノードに命令(指令)するため、またはノードに質問してなんらかの情報を戻すことをそのノードに頼むために、NCN60は、適切なコマンドを中に持つ第19図に示すSEND_VALUEパケット360を作成する(342)。パケット360を送り(344)、NCN60は戻りパケットを待つ(346)。受けるノードは、動作が実行されるか、質問が終るかすると、第20図に示すRESPONSE_SEND_VALUEパケット362を用いて結果を戻す。このパケットがPASTプロトコルを用いて経路指定されたパケットであるかどうかを調べ(348)、もしそうでなければNCN60はそのパケットを捨てる(350)。NCN60は、パケットが応答パケット362であるかどうかも判定し(352)、もしそうであれば、表示または装置状態を更新するなどにより、パケット362をそれに応じて処理する(354)。
初期化段階が終った時に論理PASTアドレスを受信および保存した後では、各ノード(62〜76)は、パケットを区分したスパンニングツリー(PAST)プロトコルを用いて経路指定すべきであることをフラグバイトが指示するようなパケットを経路指定できる。NCN60から下流へ進んでいるパケットのモニタおよび制御段階中は、PASTを用いて各パケットを経路指定し、かつ各パケットは宛先ノードのPASTアドレス、たとえば、ノード70が宛先ノードである時は110111を含む。NCNまで上流に進むパケットは送り元ノードのPASTアドレス、たとえば、ノードが発信元ノードであれば111000を含む。第21図に示す中間ノードは、パケットを受けると(370)、そのパケットが正しいプロトコルを用いて経路指定されたかどうかを判定する(372)。プロトコルが正確であれば、パケットアドレスをノードアドレスと比較する(376)。もし一致しなければノードはそれ自体のPASTアドレスの最上位k個のビットをパケット内のPASTアドレス(下流パケットのための宛先ノードのPASTアドレス、または上流パケットのための送り元ノードのPASTアドレス)と比較する(378)。kビットの全てが2つのアドレスで一致したとすると、中間ノードはNCN60から宛先/送り元ノードまでの直接経路に明確に存在する。したがって、中間ノードはそれに送られたパケットを再送信する(380)。パケットのアドレスのkビットと一致しないkビットを有するPASTアドレスを持つパケットを受信しても、その受信した全てのパケットの再送信は止められて、そのパケットを捨てる(382)。宛先アドレスがノードアドレスに一致したとすると、パケットを処理し、それの内部コマンドを実行する(384)。実行された特定のプロセスを基にして、結果をRESPONSE_SEND_VALUEパケット362(第20図参照)に置き(386)、このパケットを送る(362)。経路指定プロトコルがPASTプロトコルでないとすると、ノードはそのプロトコルがホップカウントでのフラッディング(FHC)・プロトコルであるかどうかを判定し(390)、もしそうでなければパケットを捨てる(391)。パケットがFHCパケットであれば、そのパケットがINSERTパケット(第22図参照)であるかどうかについて判定する(392)。それがINSERTパケットでなければ、そのパケットがINITパケット120(第5図参照)であるかどうかについて判定する(394)。それがINITパケットであれば、ノードは初期化段階に入る(396)。パケットがINSERTパケットであれば、ノードはHEAR_INITパケット401(第25図参照)を作成する(398)。その後でそのパケットを送る(380)。
ネットワークを初期化した後で、すなわち、資源に乏しいノードがそれの論理PASTアドレスを受けた後で、新しい資源に乏しいノードをネットワークに付加する必要があるかもしれない。最も簡単な解決策は全ネットワークを上記のようにして再初期化することである。しかし、多くの環境ではこれは望ましくないことがある。代わりの解決策として、資源に乏しい各新しいノードはINSERTパケット400を放送できる(第22図参照)。このパケットはそれの付近ノード(既に初期化されている)により聴取される。付近ノードはHEAR_INITパケット401(第23図参照)を作成し、PASTプロトコルを用いてそれをNCN60へ送る。HEAR_INITパケットは新しいノードの物理的IDと、そのパケットを作成したノードのIDとを、NCN60までのそれのホップカウントと一緒に含む。NCN60は、新しいノードの多数の付近ノードからHEAR_INITパケットを集めた後で、スパンニングツリー内の新しいノードのための最良の場所を選択しようと試みる。良い場所というのは、PASTアドレスまたは他のノードのPASTアドレスの長さをほとんどまたは全く変更することなしに、論理PASTアドレスを新しいノードに割当てることができるような場所のことである。第17図の例では、新しいノードを、物理的IDが2であるノード(ノード64)の子としてスパンニングツリー内に容易に挿入できる。他のどのような配置も他のノードの論理PASTアドレスを変更することを要する。したがって、新しいコードをノード64の付近に挿入することを要するものとすると、NCNは論理PASTアドレス101000をこの新しいノードに割当てる。しかし、新しいノードをノード64の付近の外側に挿入することを求められたとすると、新しいノードのPASTアドレスに適合させるために、論理PASTアドレスのいくらかを変更することが求められる。NCN60は、新しいPASTアドレスをノードの全てまたは多くに再び割当てることを必要とすることがある。ノードの変更されたPASTアドレスと、新しいノードの新しいPASTアドレスとを、SET_ADDRSパケットを用いて広め、FHC経路指定を用いて送る。要求があれば、NCN60は初期化手順全体をスタートさせることができる。
ノードの障害を検出するために、本発明では端から端までの肯定応答を用いる。NCN60が情報についての要求または質問をあるノードに送り、応答を受けなかったとすると、宛先までの経路中のノードが障害を起こしたかもしれないとそのNCNは仮定する。その後でNCNは宛先ノードまで導くスパンニングツリー内の経路に沿う横断を開始し、それに続いてECHO(第24図参照)パケット402をPASTプロトコルを用いて経路中の各ノードまで送り、PASTプロトコル応答を待つ。ECHOパケット402を受けるノードは、それを単にコピーしてNCN60へ送り返すことにより、ノードが正しい動作状態にあることをNCN60に知らせる。ECHOパケット402が受けられないと、ECHOパケット402によりアドレスされたノードが故障したことをNCN60に指示する。そうすると、NCN60はスパンニングツリーを再構成して、故障したノードに根を生やしているスパンニングツリーをネットワークの異なる部分に接続して、サブツリーの新しい親が全ての新しい子の聴取範囲内にあるようにする。元のグラフ内の親ノードから下流ノードまでの弧を無くし、前記したスパンニングツリーおよびアドレス割当て動作をを行うことにより、この再構成は行われる。NCN60は、サブツリーの全てのノードをスパンニングツリーの他の部分に確実に再接続するために、サブツリーの部分を分解しなければならないことがある。その後でNCN60は新しい論理PASTアドレスをスパンニングツリーの再構成された部分に割当てパケット240を送り出して、影響を受けたノードにそれのPASTアドレスの変更について知らせる。また、故障したノードがネットワークの重要な部分にあるものとすると、ネットワークの完全な再初期化を必要とすることがある。
本発明で用いる暗黙のホップ−バイ−ホップ肯定応答(IHBH)法も、ノードの故障を検出することを支援する。パケットを送る各発信元ノードまたは中間ノードは、それの付近ノード(スパンニングツリー内の同じ経路にあるノード)により送られているパケットを聴取することを予測する。指定された時間内に、再送信が聴取されないとすると、発信元ノードまたは中間ノードは、ノードの障害がそれのパケットがスパンニングツリーの経路をたどることを阻止するものと仮定する。その後で、発信元ノードまたは中間ノードが、FLAGバイト中の放送ビットが適切にセットされているSQUEALパケット404(第25図参照)を送り出す。SQUEALパケット404は送りノードのPASTアドレスを含み、かつそれはホップカウントでのフラッディング・プロトコルを用いてNCN60へ経路指定される。その後でNCN60は、障害を訴えているノードまでの経路に沿うどのノードが故障したかを発見するためのそれの手順を開始する。それに、ネットワークの一部または全ての再構成が続く。
本発明の多くの特徴および利点が詳細な説明から明らかであり、したがって、本発明の範囲に含まれる本発明のそのような特徴および利点の全てを請求の範囲により包含することを意図するものである。更に、数多くの修正および変更が当業者には容易に浮かぶから、図示し、説明した構造および動作そのものに本発明を限定することを希望せず、したがって、本発明の範囲内に含まれる全ての適当な修正および均等物に頼ることができる。たとえば、各パケット内のデータ要素の機能性が新しいパケットフォーマットの類似の他のフィールドにより提供される限り、上記パケット構造を変更できる。NCNにおいて実行され、各ノードの子ノードを一意に識別するビットフィールドを有するPASTアドレスを新しいアルゴリズムが発生できる限り、ノードのためのPASTアドレスを発生するために使用されるアルゴリズムを変更できる。全てのノードはメモリおよび処理能力に関して資源に乏しくする必要はなく、プロトコルはどのようなタイプのノードに対しても働く。PASTプロトコルはネットワークをNCNのみと各ノードの間、およびバック、のみに限定しないが、非NCNノードの間の通信のために使用することもできる。2つの非NCNノードの間の通信はパケットをNCNへ最初に送ることにより達成できる。それはそれらを適切な宛先へ送ることができる。この説明は2の累乗を用いるスパンニングツリーの幅の最小化を記述する。この最小化は実行する必要はなく、PASTアドレスの長さを最適にするために設けられているものである。NCNにおいてグラフで表すために用いるリンクされたリストデータ構造を、他の任意のタイプのデータ構造(たとえば、アレイ)で置き換えることができ、リンクされたリストデータ構造の各要素の機能性が新しい要素または新たな順序にされた要素で満たされる限り、それらの要素の順序を変更できる。
Claims (21)
- 複数のノードからなるネットワーク内でメッセージを経路指定する方法であって、
ネットワークのどのノードが相互に通信できるかを決定すること、
相互に通信できるノードのスパンニングツリーを形成すること、
子ノードの論理ノード識別子の独特の部分が、前記子ノードの親ノードの論理ノード識別子の独特な部分を含むように、前記スパンニングツリーに基づき前記ノードに論理ノード識別子を割り当てること、
を行うことによって前記ネットワークを構成し、
メッセージアドレスが現在の論理ノード識別子の独特な部分を含む場合、前記メッセージアドレスをもつメッセージを別のノードに送信する、方法。 - 請求の範囲1に記載の方法であって、前記論理ノード識別子を割当てることは、
親ノードの各子ノードを一意に区別する独特の子部分を前記子ノードのために形成すること、
前記親ノードの論理ノード識別子の独特の部分を前記独特の子部分に組み合わせることにより、前記子ノードの論理ノード識別子の独特の部分を子ノードのために形成すること、
を含むことを特徴とする方法。 - 請求の範囲2に記載の方法であって、前記割当てることは、
子ノードの論理ノード識別子を前記子ノードへ送ることを含むことを特徴とする方法。 - 請求の範囲1、2、または3に記載の方法であって、前記決定することは、
初期化メッセージを全てのノードへ送ること、
前記初期化メッセージを送るノードの1つを親ノードとして記録すること、
を含むことを特徴とする方法。 - 請求の範囲3または4に記載の方法であって、前記送ることは、ホップカウント通信プロトコルでのフラッディングを用いることを含むことを特徴とする方法。
- 請求の範囲4または5に記載の方法であって、前記決定することは、初期化メッセージに応答することを更に含むことを特徴とする方法。
- 請求の範囲6に記載の方法であって、前記応答することは、親経路指定通信プロトコルを用いることを含むことを特徴とする方法。
- 請求の範囲1ないし7のいずれか1つに記載の方法であって、前記方法は、区分したスパンニングツリー通信プロトコルを用いて通信することにより、前記ネットワークにノードを加えること、前記ネットワークからノードを除去することのうちの1つに前記ネットワークを再構成することを更に備えることを特徴とする方法。
- 請求の範囲1ないし8のいずれか1つに記載の方法であって、前記形成することは、2の最小累乗に応答してノードを区分することにより前記ネットワークの幅を最小にすることを含むことを特徴とする方法。
- 請求の範囲1ないし9のいずれか1つに記載の方法であって、前記スパンニングツリーは、親ポインターと、子ポインターと、ノードのノード物理的識別子と、親物理的識別子と、ホップカウントと、区分したスパンニングツリー論理識別子とを含むエントリを有するリンクされたリストデータ構造を有することを特徴とする方法。
- 請求の範囲1ないし10のいずれかに記載の方法であって、前記メッセージアドレスと前記ノード識別子とのフォーマットがほぼ対応することを特徴とする方法。
- 請求の範囲1ないし11のいずれかに記載の方法であって、前記方法は、前記メッセージアドレスを、メッセージを受ける受信ノードの識別子とのみ比較することにより、前記受信ノードが、宛先ノードまでの経路内にあるかどうかを決定することを備えることを特徴とする方法。
- 請求の範囲1ないし12のいずれかに記載の方法であって、前記送信することは、
前記メッセージアドレスを前記現在のノード識別子と比較し、一致が起きたならば前記メッセージを処理すること、
前記現在のノード識別子の独特の部分を前記メッセージアドレスの対応する部分と比較すること、
前記対応する部分が一致しなければ前記メッセージを捨てること、
前記対応する部分が一致したならば前記メッセージを送信すること、
を含むことを特徴とする方法。 - 請求の範囲1ないし13のいずれかに記載の方法であって、前記方法は、
送信された前記メッセージが送信されたかどうかを決定すること、
前記メッセージが放送されなかった時は故障したノードを指示すること、
を更に備えることを特徴とする方法。 - 請求の範囲14に記載の方法であって、前記方法は、
前記故障したノードへの経路に沿った全てのノードに順次、ポーリングすること、
前記ポーリングに対する応答を基にして前記ネットワークを再構成すること、
を更に備えることを特徴とする方法。 - 請求の範囲1ないし15のいずれか1つに記載の方法であって、前記方法は、ノードにより受けられた全ての上流パケットを、前記ノードの親ノードへ送ること、を備えることを特徴とする方法。
- 複数のノードを備え、前記複数のノードが論理ノード識別子により識別される通信ネットワークであって、
相互に通信できるノードのスパンニングツリーを前記複数のノードが形成し、
子ノードの論理ノード識別子の独特の部分が、前記子ノードの親ノードの論理ノード識別子の独特の部分を含み、
前記ネットワークは、メッセージアドレスが現在の論理ノード識別子の独特な部分を含む場合、前記メッセージアドレスをもつメッセージを別のノードに送信するように構成されたことを特徴とする通信ネットワーク。 - 請求の範囲17に記載の通信ネットワークであって、前記ネットワークは、ネットワーク制御ノードを備え、前記ネットワーク制御ノードと前記ネットワークのノードとは無線送信器/受信器を含み、その無線送信器/受信器を介して前記ネットワーク制御ノードと前記ネットワークのノードとが通信することを特徴とする通信ネットワーク。
- 請求の範囲17または18に記載の通信ネットワークであって、前記ノードは、
前記ノードの論理識別子を記憶するメモリと、
前記メッセージのメッセージアドレスを前記ノードの論理識別子のみと比較することにより、前記ノードが宛先ノードまでの経路内にあるかどうかを決定するプロセッサと、
を含むことを特徴とする通信ネットワーク。 - 請求の範囲19に記載の通信ネットワークであって、前記プロセッサは前記論理識別子の独特の部分を、メッセージアドレスの対応する部分と比較することを特徴とする通信ネットワーク。
- 請求の範囲17、18、19または20に記載の通信ネットワークであって、
前記ノードは、
ネットワーク構成を記憶するメモリと、
前記ネットワークのノードの区分されたスパンニングツリー識別子を決定し、
前記識別子を前記ネットワーク構成に記憶し、前記ネットワーク構成を用いてメッセージを前記ノードへ送る、プロセッサと、
を含むことを特徴とする通信ネットワーク。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49828595A | 1995-06-30 | 1995-06-30 | |
US08/498,286 | 1995-06-30 | ||
US08/498,286 US5898733A (en) | 1995-06-30 | 1995-06-30 | Packet hopping system with sliding frequency, and transciever for the system |
US08/498,285 | 1995-06-30 | ||
US08/498,715 | 1995-06-30 | ||
US49871595A | 1995-07-03 | 1995-07-03 | |
US08/558,447 US5926101A (en) | 1995-11-16 | 1995-11-16 | Method and apparatus for routing messages in a network of nodes with minimal resources |
US08/558,447 | 1995-11-16 | ||
PCT/IB1996/000613 WO1997002680A1 (en) | 1995-06-30 | 1996-06-27 | A method and apparatus for routing messages in a network of nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002516037A JP2002516037A (ja) | 2002-05-28 |
JP3821847B2 true JP3821847B2 (ja) | 2006-09-13 |
Family
ID=27504395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50494397A Expired - Lifetime JP3821847B2 (ja) | 1995-06-30 | 1996-06-27 | ノードのネットワークにおいてメッセージを経路指定するための方法および装置 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0782802B1 (ja) |
JP (1) | JP3821847B2 (ja) |
KR (1) | KR100417672B1 (ja) |
CN (1) | CN1166118C (ja) |
DE (1) | DE69635511T2 (ja) |
WO (1) | WO1997002680A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI103544B1 (fi) * | 1996-03-25 | 1999-07-15 | Nokia Telecommunications Oy | Menetelmä osoitteiden määrittämiseksi tietoliikenneverkon solmuissa |
GB9715857D0 (en) * | 1997-07-29 | 1997-10-01 | Philips Electronics Nv | Wireless networked message routing |
US6442171B1 (en) * | 1998-05-26 | 2002-08-27 | Qualcomm Incorporated | Logical topology and address assignment for interconnected digital networks |
SE514727C2 (sv) | 1998-11-12 | 2001-04-09 | Ericsson Telefon Ab L M | Kommunikationsnät och förfarande för att dirigera meddelanden inom nätet |
KR100429185B1 (ko) * | 1998-12-16 | 2004-06-16 | 엘지전자 주식회사 | 패킷라우팅시스템 |
KR100349420B1 (ko) * | 1999-08-10 | 2002-08-19 | 정보통신연구진흥원 | 신뢰적 멀티캐스트를 위한 적응적 트리 기반 복구방법 |
JP2002026973A (ja) * | 2000-07-12 | 2002-01-25 | Nec Corp | 経路検索システム及びその方法並びにそれに使用するルータ装置 |
CN100337428C (zh) * | 2003-01-24 | 2007-09-12 | 华为技术有限公司 | 一种基于生成树协议的环网管理方法 |
US7564842B2 (en) | 2003-07-02 | 2009-07-21 | Mitsubishi Electric Research Laboratories, Inc. | Methods and apparatuses for routing data in a personal area network |
FR2858163B1 (fr) | 2003-07-23 | 2005-09-23 | Inst Nat Rech Inf Automat | Procede de localisation d'objets mobiles communicants au sein d'un reseau de communications, par transmission d'identifiants de localisation par des repeteurs et mise a jour de serveur |
CN100346618C (zh) * | 2003-12-10 | 2007-10-31 | 联想(北京)有限公司 | 无线网格的最佳路由选择方法 |
US7720054B2 (en) * | 2004-03-02 | 2010-05-18 | Cisco Technology, Inc. | Router configured for outputting update messages specifying a detected attribute change of a connected active path according to a prescribed routing protocol |
JP4514752B2 (ja) * | 2004-05-07 | 2010-07-28 | パナソニック株式会社 | 無線ノード装置及びマルチホップ型無線lanシステム |
KR100677754B1 (ko) | 2005-03-11 | 2007-02-02 | 삼성전자주식회사 | 무선 센서 네트워크에서의 아이디 생성방법 및 등록방법 |
US7804791B2 (en) * | 2005-10-11 | 2010-09-28 | Telefonaktiebolaget L M Ericsson (Publ) | Method of generating spanning trees to handle link and node failures in a network |
US7936703B2 (en) | 2006-09-20 | 2011-05-03 | Intel Corporation | Optimized cache consistency algorithm in a point-to-point interconnected multiple processor system |
US8040823B2 (en) | 2007-01-08 | 2011-10-18 | Industrial Technology Research Institute | Method and system for network data transmitting |
CN101227292A (zh) * | 2007-01-18 | 2008-07-23 | 华为技术有限公司 | 服务器、对等网络系统、路由与转移资源键值的方法 |
CN101645038A (zh) * | 2009-05-20 | 2010-02-10 | 中国科学院声学研究所 | 基于彼特森的网络存储结构的数据存储方法 |
FI125092B (fi) | 2012-07-18 | 2015-05-29 | Arm Finland Oy | Menetelmä, laite ja järjestelmä datapakettien lähettämiseksi ja vastaanottamiseksi |
CN104618980B (zh) * | 2015-03-05 | 2018-09-28 | 江苏中科羿链通信技术有限公司 | 无线多跳链状网的路由实现方法 |
FR3065342B1 (fr) * | 2017-04-12 | 2019-04-19 | Sagemcom Energy & Telecom Sas | Procede de configuration pour la diffusion de messages |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245609A (en) * | 1991-01-30 | 1993-09-14 | International Business Machines Corporation | Communication network and a method of regulating the transmission of data packets in a communication network |
DE4124227A1 (de) * | 1991-07-22 | 1993-01-28 | Datawatt Bv | Verfahren zum austauschen von daten |
DE69232639T2 (de) * | 1991-10-01 | 2003-02-20 | Norand Corp | Lokales funkfrequenznetzwerk |
CA2094409C (en) * | 1992-06-18 | 1998-07-14 | Joshua Seth Auerbach | Multicast communication tree creation and control method and apparatus |
ES2168093T3 (es) * | 1992-11-19 | 2002-06-01 | Ibm | Distribucion de funcion en una red de conmutacion de paquetes. |
FR2715787B1 (fr) * | 1994-01-31 | 1996-03-29 | Hussein Zoghaib | Système de transmission de trains d'impulsions. |
US5459725A (en) * | 1994-03-22 | 1995-10-17 | International Business Machines Corporation | Reliable multicasting over spanning trees in packet communications networks |
DE69429983T2 (de) * | 1994-05-25 | 2002-10-17 | Ibm | Datenübertragungsnetz und Verfahren zum Betreiben des Netzes |
-
1996
- 1996-06-27 KR KR1019970701435A patent/KR100417672B1/ko not_active IP Right Cessation
- 1996-06-27 JP JP50494397A patent/JP3821847B2/ja not_active Expired - Lifetime
- 1996-06-27 EP EP96917612A patent/EP0782802B1/en not_active Expired - Lifetime
- 1996-06-27 DE DE69635511T patent/DE69635511T2/de not_active Expired - Lifetime
- 1996-06-27 WO PCT/IB1996/000613 patent/WO1997002680A1/en active IP Right Grant
- 1996-06-27 CN CNB961908890A patent/CN1166118C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0782802A1 (en) | 1997-07-09 |
WO1997002680A1 (en) | 1997-01-23 |
CN1161119A (zh) | 1997-10-01 |
CN1166118C (zh) | 2004-09-08 |
KR970705885A (ko) | 1997-10-09 |
DE69635511D1 (de) | 2006-01-05 |
JP2002516037A (ja) | 2002-05-28 |
KR100417672B1 (ko) | 2004-05-31 |
EP0782802B1 (en) | 2005-11-30 |
DE69635511T2 (de) | 2006-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3821847B2 (ja) | ノードのネットワークにおいてメッセージを経路指定するための方法および装置 | |
US5926101A (en) | Method and apparatus for routing messages in a network of nodes with minimal resources | |
CN101663878B (zh) | 对用于自动前缀委派的IPv6邻居发现协议的扩展 | |
US7996558B2 (en) | Methods and systems for a routing protocol | |
US6704293B1 (en) | Broadcast as a triggering mechanism for route discovery in ad-hoc networks | |
KR101255857B1 (ko) | 트리-안내 분산 링크 스테이트 라우팅 방법 | |
US6982960B2 (en) | Protocol for self-organizing network using a logical spanning tree backbone | |
US6717919B1 (en) | Imprinting method for automated registration and configuration of network devices | |
US8107408B2 (en) | Route maintenance and update based on connection identifier in multi-hop relay systems | |
EP1224776B1 (en) | System for communicating labeled routing trees | |
US7548540B2 (en) | Dynamic discovery of ISO layer-2 topology | |
US7760666B2 (en) | Method of generating and managing connection identifiers for supporting multicast for each group in IPv6-based wireless network and network interface using the method | |
US7310761B2 (en) | Apparatus and method for retransmitting data packets in mobile ad hoc network environment | |
JP2000502544A (ja) | 無線マルチホップ網を構成し、その内部でデータをルーティングするための方法およびこの方法を実現するための無線網 | |
US7280489B2 (en) | Prime numbering address allocation method and unique numbering address allocation method using the same in wireless multi-hop network | |
EP1250777A1 (en) | Broadcast as a triggering mechanism for route discovery | |
JP2013522997A (ja) | アドレス空間を再配置するための方法と装置 | |
CN112887209B (zh) | 关于数据传输的表项建立方法及相关设备 | |
US8509238B2 (en) | Communication network, information processor and address assigning method | |
US10498632B2 (en) | Constrained reliable multicast in a directed acyclic graph based on deferred contention to higher devices | |
Park et al. | IPv6 address allocation in hybrid mobile ad-hoc networks | |
US20020093968A1 (en) | Dynamic LAN boundaries | |
CN109922442B (zh) | 无线多跳网络与全连接网络的异构网络的地址解析方法 | |
JP7010804B2 (ja) | 中継装置、ネットワークシステム、中継方法およびプログラム | |
WO2022228078A1 (zh) | 一种数据传输方法、装置、系统和通信设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050913 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060331 |
|
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: 20060523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060621 |
|
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: 20090630 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110630 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120630 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120630 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term | ||
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |