(57)【特許請求の範囲】
【請求項１】
上り通信を送信する少なくとも１つのドミナント・ノードと、
下り通信を送信する少なくとも１つのトニック・ノードと、
上り通信を送信する契機を与えるための上り通信督促メッセージと、下り通信を送信する契機を与えるための下り通信督促メッセージを送信する少なくとも１つのリズム・ノードと、
全二重の通信路と、を備え、
リズム・ノードが、上り通信督促メッセージと下り通信の衝突が発生しないよう、かつ、下り通信督促メッセージと上り通信の衝突が発生しないよう、上り通信督促メッセージと、下り通信督促メッセージを同期して送信し、
上り通信督促メッセージと下り通信督促メッセージを同期するために、リズム・ノードは、予め各トニック・ノードから送付された下り通信量通知メッセージによって下り通信量を計算し、
上り通信督促メッセージに対応する1サイクルの上り通信に必要な時間内に収まるように下り通信量を決定し、
リズム・ノードは、ある時点で通信が必要なドミナント・ノードにのみ上り通信権を与え、
ドミナント・ノードへの上り通信権の付与は、該当のドミナント・ノードがリズム・ノード宛てに上り通信権獲得メッセージを送信し、その上り通信権獲得メッセージを受信したリズム・ノードは、該ドミナント・ノードに上り通信順序番号を付与することにより上り通信権を与え、
ドミナント・ノードからの上り通信権の返上は、該当のドミナント・ノードがリズム・ノードに対して、上り通信権返上メッセージを送信し、リズム・ノードは、該ドミナント・ノードの上り通信順序番号を除くことにより、上り通信権をなくし、
リズム・ノードは、ある時点で通信が必要なトニック・ノードにのみ下り通信権を与え、
トニック・ノードへの下り通信権の付与は、該当のトニック・ノードがリズム・ノード宛てに下り通信権獲得メッセージを送信し、その下り通信権獲得メッセージを受信したリズム・ノードは、該トニック・ノードに下り通信順序番号を付与することにより下り通信権を与え、
トニック・ノードからの下り通信権の返上は、該当のトニック・ノードがリズム・ノードは、に対して、下り通信権返上メッセージを送信し、リズム・ノードは、該トニック・ノードの下り通信順序番号を除くことにより、下り通信権をなくし、
各ドミナント・ノードが上り通信督促メッセージを受信することを契機として、上り通信権のある各ドミナント・ノードがそれぞれ保有する所定の待ち時間後に、ドミナント・ノードからデータを上り通信として送信し、
各トニック・ノードが下り通信督促メッセージを受信することを契機として、下り通信権のある各トニック・ノードがそれぞれ保有する所定の待ち時間後に、トニック・ノードからデータを下り通信として送信する、通信システム。
【請求項２】
請求項１記載の通信システムにおいて、
前記リズム・ノードを１つ備えた通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信方式に関り、ノード間の高速な通信を実現するものである。
【背景技術】
【０００２】
従来の通信方式は、古くは主に汎用機で使用されたＢＳＣやＨＤＬＣから、最近ではインターネットで使用されているＴＣＰ／ＩＰが主流となってきている。ＴＣＰ／ＩＰが用いられている衝突検出型の通信（ＣＳＭＡ／ＣＤ）は、ＬＡＮやＷＡＮなど、様々な範囲の通信をカバーできるが、一方で、通信の衝突が発生しやすく、そのために通信路が持っている性能を十分に生かせていない。特に通信が混み始めるとその傾向は強まり、本来の通信能力の数十分の１程度の能力しか出なくなってしまう。本来、能力が必要な時に、能力低下が発生する、という面を有していた。そこで、本発明者は、通信を、上り通信と下り通信に分離し、リズム・ノードという上り通信督促メッセージを送信するノードを通信路中に入れることにより、通信の衝突を無くし、通信路の性能を最大限に発揮させる通信システムを発明した（特許文献１参照）。
【特許文献１】ＷＯ／２００５／０９４０１０
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、通信において、ノード間の高速な通信を実現することにある。また、本発明は、多数のノードが接続されている通信ネットワークにおいて、通信の衝突を少なくすることにより、効率的な通信を実現し、高速な通信が行えるようにすることにある。
【課題を解決するための手段】
【０００４】
本発明の特徴は、上り通信督促メッセージと下り通信督促メッセージを送信するリズム・ノードと、上り通信督促メッセージを受信したことを契機としてデータを送信する複数のドミナント・ノードと、下り通信督促メッセージを受信したことを契機としてデータを送信する複数のトニック・ノードと、通信路とを備え、リズム・ノードが上り通信督促メッセージを送信し、各ドミナント・ノードが上り通信督促メッセージを受信することを契機として、各ドミナント・ノードがそれぞれ保有する所定の待ち時間後に、ドミナント・ノードからデータを上り通信として送信し、リズム・ノードが下り通信督促メッセージを送信し、各トニック・ノードが下り通信督促メッセージを受信することを契機として、各トニック・ノードがそれぞれ保有する所定の待ち時間後に、トニック・ノードからデータを下り通信として送信し、上り通信督促メッセージの送信と、下り通信督促メッセージの送信の同期をとる通信システムおよび通信方式にある。
また、本発明の特徴は、上り通信を送信する少なくとも１つのドミナント・ノードと、
下り通信を送信する少なくとも１つのトニック・ノードと、
上り通信を送信する契機を与えるための上り通信督促メッセージと、下り通信を送信する契機を与えるための下り通信督促メッセージを送信する少なくとも１つのリズム・ノードと、
全二重の通信路と、を備え、
リズム・ノードが、上り通信督促メッセージと下り通信の衝突が発生しないよう、かつ、下り通信督促メッセージと上り通信の衝突が発生しないよう、上り通信督促メッセージと、下り通信督促メッセージを同期して送信し、
上り通信督促メッセージと下り通信督促メッセージを同期するために、リズム・ノードは、予め各トニック・ノードから送付された下り通信量通知メッセージによって下り通信量を計算し、
上り通信督促メッセージに対応する1サイクルの上り通信に必要な時間内に収まるように下り通信量を決定し、
リズム・ノードは、ある時点で通信が必要なドミナント・ノードにのみ上り通信権を与え、
ドミナント・ノードへの上り通信権の付与は、該当のドミナント・ノードがリズム・ノード宛てに上り通信権獲得メッセージを送信し、その上り通信権獲得メッセージを受信したリズム・ノードは、該ドミナント・ノードに上り通信順序番号を付与することにより上り通信権を与え、
ドミナント・ノードからの上り通信権の返上は、該当のドミナント・ノードがリズム・ノードに対して、上り通信権返上メッセージを送信し、リズム・ノードは、該ドミナント・ノードの上り通信順序番号を除くことにより、上り通信権をなくし、
リズム・ノードは、ある時点で通信が必要なトニック・ノードにのみ下り通信権を与え、
トニック・ノードへの下り通信権の付与は、該当のトニック・ノードがリズム・ノード宛てに下り通信権獲得メッセージを送信し、その下り通信権獲得メッセージを受信したリズム・ノードは、該トニック・ノードに下り通信順序番号を付与することにより下り通信権を与え、
トニック・ノードからの下り通信権の返上は、該当のトニック・ノードがリズム・ノードは、に対して、下り通信権返上メッセージを送信し、リズム・ノードは、該トニック・ノードの下り通信順序番号を除くことにより、下り通信権をなくし、
各ドミナント・ノードが上り通信督促メッセージを受信することを契機として、上り通信権のある各ドミナント・ノードがそれぞれ保有する所定の待ち時間後に、ドミナント・ノードからデータを上り通信として送信し、
各トニック・ノードが下り通信督促メッセージを受信することを契機として、下り通信権のある各トニック・ノードがそれぞれ保有する所定の待ち時間後に、トニック・ノードからデータを下り通信として送信する、通信システムにある。
【発明を実施するための最良の形態】
【０００５】
上記背景技術で示した通信システムは、通信を、上り通信と下り通信に分離し、リズム・ノードという上り通信督促メッセージを送信するノードを通信路中に入れることにより、通信の衝突を無くし、通信路の性能を最大限に発揮させるもので（図１参照）、全二重通信を行う場合、ネットワーク内の通信を上り通信と下り通信に分離し、上り通信は上り通信路、下り通信は下り通信路を使用する。また、ネットワークに接続するノードを、トニック・ノードとドミナント・ノードに分類する。ネットワークの一方にトニック・ノードを接続し、他方にドミナント・ノードを接続する。トニック・ノードからドミナント・ノードへの通信が下り通信であり、ドミナント・ノードからトニック・ノードへの通信が上り通信である。半二重通信の場合は、上り通信と下り通信に分離することは、全二重通信と同様であるが、通信路は１つしかないので、上り通信を行った後、下り通信を行う、というように、上り通信と下り通信を交互に行う。
【０００６】
トニック・ノードとは、一般的にサーバーに類するものである。ドミナント・ノードとは、一般的にクライアントＰＣに類するものである。しかしながら、サーバーをドミナント・ノードとして接続することは可能であり、クライアントＰＣをトニック・ノードとして接続することも可能である。また、トニック・ノードとドミナント・ノードは相対的なものであり、上り通信と下り通信を分離するための概念である。ドミナント・ノードは、リズム・ノードからの上り通信督促メッセージを受信することを契機として、上り通信を行うノードのことである。
【０００７】
上り通信は、リズム・ノードから上り通信督促メッセージを送信し、それを受信したドミナント・ノードが、各々が持っている所定の待ち時間後に順次上り通信を行うことにより、上り通信同士の衝突が発生しないようにしている。下り通信は、リズム・ノードが下り送信権をトニック・ノードに割当てて、順次、下り通信を行うことにより、下り通信同士の衝突が発生しないようにしている。ところが、上り通信督促メッセージは、本ネットワーク上では下り通信と同じ方向になるので、上り通信督促メッセージと下り通信の衝突が発生する可能性がある。また、下り通信権割当は、本ネットワーク上では上り通信と同じ方向になるため、これも上り通信と衝突する可能性がある。このような衝突を無くして、更に効率的な通信を実現するのが本発明である。
【０００８】
このように、リズム・ノードを用いて通信の制御を行うのは、サーバーやＰＣのタイマーの精度が、一日に１秒程度の誤差を生ずる程度のものであることからである。タイマーの誤差が無ければ、全ノードで共通の時刻によるタイムスロットを各ノードに割り当てて、各ノードのタイマーによって通信を行うことが可能であるか、誤差がある場合、タイマーのずれによって通信の衝突が発生する。リズム・ノードを用いた通信の場合、通信督促メッセージ受信から、通信を終了するまでの短時間にお互いが衝突しないようにすれば良いので、タイマーの誤差は大きな問題にならず、高速な通信を行うことが可能である。
【０００９】
つまり、上り通信督促メッセージと下り通信督促メッセージを送信するリズム・ノードと、上り通信督促メッセージを受信したことを契機としてデータを送信する複数のドミナント・ノードと、下り通信督促メッセージを受信したことを契機としてデータを送信する複数のトニック・ノードと、通信路とを備え、リズム・ノードが上り通信督促メッセージを送信し、各ドミナント・ノードが上り通信督促メッセージを受信することを契機として、各ドミナント・ノードがそれぞれ保有する所定の待ち時間後に、ドミナント・ノードからデータを上り通信として送信し、リズム・ノードが下り通信督促メッセージを送信し、各トニック・ノードが下り通信督促メッセージを受信することを契機として、各トニック・ノードがそれぞれ保有する所定の待ち時間後に、トニック・ノードからデータを下り通信として送信し、上り通信督促メッセージの送信と、下り通信督促メッセージの送信の同期をとることにある。代表的なネットワーク図が図２である。本発明が適用される通信システムおよび通信方式は、ＴＣＰ／ＩＰおよびＣＳＭＡ／ＣＤ方式に限定されない。
【００１０】
[用語の説明]
本明細書では、通信システムを実現するための方法を説明している。これは、その方法を適用した装置の動作を理解しやすくするためであり、方法又は方式に限定されず、装置も本発明の対象とするものである。本発明で用いる用語について説明する。本発明では、通信の衝突を最大限に減少させるため、ネットワークの通信方向を、上りと下りという方向性を持たせ、各々を、上り通信と下り通信と呼ぶ。本発明で、ネットワークを構成する要素としては、通信路、リズム・ノード、トニック・ノード、ドミナント・ノードがある。トニック・ノードとドミナント・ノードは通信路上に配置される。リズム・ノードは、有線方式の場合、通信路上に配置されるが、無線方式の場合は、トニック・ノードとドミナント・ノードが配置されている通信路上に配置せず、別の通信路に配置しても良い。ネットワークの片側にトニック・ノードを配置し、その反対側にドミナント・ノードを配置する。トニック・ノードを配置した側から、ドミナント・ノードを配置した側に対する通信を、下り通信と呼ぶ。その反対方向を上り通信と呼ぶ。リズム・ノードは上り通信督促メッセージと下り通信督促メッセージの何れか一方、または双方を送信する装置または機能である。トニック・ノードとは、リズム・ノードから送信される下り通信督促メッセージの受信を契機として、下り通信を行うノードのことである。ドミナント・ノードとは、リズム・ノードから送信される、上り通信督促メッセージの受信を契機として上り通信を行うノードのことである。
【００１１】
トニック・ノードの例としては、サーバーが挙げられる。ドミナント・ノードの例としては、クライアントとして稼動するパソコンが挙げられる。しかしながら、サーバーやパソコンなどに限定されず、例えば、コンピューターの内部で、ＣＰＵをトニック・ノードとし、ＩＯ装置をドミナント・ノードとする、とか、複数台のコンピューターを接続して大規模な計算機システムを構築しているような場合は、中央のコンピューターをトニック・ノードとし、従属的に計算を行うコンピューターをドミナント・ノードとする、などができる。このような理由で、本発明では、トニック・ノードとドミナント・ノードという名称を使用する。また、サーバーであってもドミナント・ノードとして接続すること、クライアントＰＣであってもトニック・ノードとして接続することは可能であるので、ネットワーク上の配置を制限するものではない。本発明の図面中の通信路は、特段の記載が無い限り、全二重通信が可能なものである。
【００１２】
[下り通信]
下り通信督促メッセージを用いて、トニック・ノードが下り通信を行う方法に関して、具体的な方法を説明する。図２は、この説明で使用するネットワーク全体の例である。まず、下り通信問合せメッセージと下り通信督促メッセージの双方を用いる方法を、図３と図４を用いて説明する。この２つ図は、それぞれ、上り通信と下り通信を表しており、２つの図の縦軸は時刻であり、２つの図の時刻は同じである。タイミング・チャートとしては、２つの図を重ねて書くべきであるが、図が見にくくなってしまうため２つの図に分離している。まず、リズム・ノード２１が下り通信問合わせメッセージを送信する（図４のＳ４１）。これは、トニック・ノードに対して、同報で行われる。この下り通信問合せメッセージに対して、すべてのトニック・ノードは所定の待ち時間後に、下り通信の量を下り通信量通知メッセージとしてリズム・ノードに送信する（図４のＳ４２，Ｓ４３）。ここで、所定の待ち時間に関して説明する。すべてのトニック・ノードに、下り通信問合せメッセージに対する通信順序番号を予め与えておく。通信順序番号を与える方法は、トニック・ノードを設置する際に固定的に与える方法と、トニック・ノードが起動するときに動的に与える方法などが採れる。動的に与える方法を使用する場合には、トニック・ノードが一定時間以上、下り通信問合せメッセージに対する応答をしない場合、そのトニック・ノードの通信順序番号を動的に削除するのが好ましい。
【００１３】
下り通信問合せメッセージ受信した後、所定の待ち時間後に下り通信量通知メッセージを送信するのは、各トニック・ノードからの下り通信量通知メッセージが一斉に送信されて衝突することを防ぐためで、順次、下り通信量通知メッセージが送信されるようにするためである。この通信順序番号に対して、所定の待ち時間は次のように求められる。各々のトニック・ノードから送信する下り通信量通知メッセージの長さを固定長としＦ（バイト）とする。通信路の伝送速度をＳ（ビット／秒）とする。これに対し、待ち時間をＴ（ナノ秒）とする。また、通信路６０、６１の各々の長さをＤｎとする。更に、トニック・ノードが持っているタイマーの誤差をＥ（１０万秒に対して１秒遅れる場合は、＋０．００００１、１０万秒に対して１秒進む場合は、−０．００００１）とする。ここでは、トニック・ノードの通信順序番号を１，２，３，・・・とする。各トニック・ノード０、１の待ち時間をＴ１、Ｔ２とした場合の所定の待ち時間は、次の式Ａが適用される。
【００１４】
ｎ＝１の場合、Ｔ＝０
【００１５】
ｎ＞１の場合、Tn = 8(1-En)(2(Dn-1-Dn)/(3x108)+(n-1)F/S)・・・式Ａ
【００１６】
式Ａは、通信路の長さが明確に分かることを前提にした式であるが、長さが明確に分からない場合は、上記の式を応用して、通信路の最大長、最小長が混在した場合に衝突しないように、調整することにより、衝突が無い通信を行える。また、ＨＵＢを使用している場合は、式Ａの通信路の長さは、サーバーからＨＵＢまでと、ＨＵＢから中間通信装置までの長さの和とする。各トニック・ノードは、下り通信問合せメッセージを受信したら、それを契機として、式Ａで示した所定の待ち時間後に、下り通信量通知メッセージをリズム・ノード宛に送信する。リズム・ノードは、各トニック・ノードから送られた下り通信量通知メッセージに基づき、下り通信の量の合計を計算する。この下り通信に要する時間をＴＴとする。
【００１７】
次回の上り通信督促メッセージを送信する時点までの時間を計算する。ここでは、上り通信順序番号の割当てを動的に行う方法を用いた上り通信を行うものであるとする。この方法は、ドミナント・ノードが上り通信を必要になった時点で、上り通信権要求メッセージをリズム・ノードに対して送信し、リズム・ノードから上り通信順序番号を割当てられる。その後、その上り通信順序番号に対する所定の待ち時間を計算し、上り通信督促メッセージ受信を契機として、所定の待ち時間後にそのドミナント・ノードからの上り通信を行うものである。上り通信メッセージが無くなった場合には、上り通信権返上メッセージを用いて、リズム・ノードに対して、上り通信権を返上する。なお、「通信システム」では、「上り通信順序番号」を、単に「通信順序番号」としていたが、本明細書では、上り通信順序番号と記述することにする。
【００１８】
図３、図４では、上り通信を行っているドミナント・ノードは４つであり、各々、１フレームずつの上り通信を行うとする。また、上り通信権要求メッセージ用のフレームを一つ用意する。このような条件で、上り通信督促メッセージを送信してから、この上り通信督促メッセージに対する上り通信が完了するまでの時間を計算することは簡単に行える。これは、上り通信権要求メッセージ用のフレームの送信に必要な時間と、各々のフレームの、所定の待ち時間と上り通信時間を合計したものである。この時間をＴＤとする。ＴＤ＜（ＴＴ―（ＴＤの起点から現時点までの時間））である場合は、下り通信量を（ＴＴ―（ＴＤの起点から現時点までの時間））以下にして、下り通信権を割当てる。この下り通信権の割当ては、下り通信督促メッセージ中に含めるのが効率的であるが、独立の下り通信権割当てメッセージとしてもよい。トニック・ノードは複数存在する場合が一般的であり、複数の場合は、１回の下り通信権割当てを、幾つかのトニック・ノードに対して行う。
【００１９】
（ＴＴ―（ＴＤの起点から現時点までの時間））＜ＴＤである場合は、要求されている下り通信量全体に対して、下り通信権を割当てる。図３、図４は、この場合を示している。下り通信権割当ては、下り通信督促メッセージ中に含む形式をとるものとする（図４のＳ４４）。形式は、図６に示す。各トニック・ノードは、下り通信督促メッセージを受信した後、所定の待ち時間後に下り通信を実行する。トニック・ノード０は、ドミナント・ノード１０、１１、１２に対して連続して下り通信を行っている（図４のＳ４５からＳ４７）。トニック・ノード１は、所定の待ち時間後に、ドミナント・ノード１３に対して連続して下り通信を行っている（図４のＳ４８、Ｓ４９）。
【００２０】
[上り通信督促メッセージとの同期]
下り通信督促メッセージを送信するのと前後して、リズム・ノード２１は、上り通信督促メッセージをドミナント・ノードに対して送信する（図３のＳ３１）。これを、上り通信督促メッセージの送信と下り通信督促メッセージの送信の同期をとる、と表現する。同期をとるためには、上り通信督促メッセージの送信と、下り通信督促メッセージの送信を同時に行うのが、最もシンプルである。しかしながら、例えば、上り通信督促メッセージを送信した場合、それをドミナント・ノードが受信して、最初の上り通信を行い、その上り通信メッセージが、リズム・ノードに到達するまでには、一定の時間が必要である。この時間はリズム・ノードとドミナント・ノードの距離によって定まる。下り通信督促メッセージは、この最初の上り通信メッセージがリズム・ノードに到達するまでに完了していれば良いことになる。つまり、上り通信督促メッセージに対して、下り通信督促メッセージを送信するタイミングは、同時ではなく、上り通信督促メッセージの送信に対して、下り通信督促メッセージの送信が一定の時間分遅れても良いことになる。同様に、上り通信督促メッセージを送信するタイミングは、下り通信督促メッセージの送信に対して、上り通信督促メッセージの送信が一定の時間分遅れても良いことになる。この時間は、下り通信督促メッセージを送信した場合、それをトニック・ノードが受信して、最初の下り通信を行い、その下り通信メッセージが、リズム・ノードに到達するまでの時間となる。このような時間の範囲内で、上り通信督促メッセージと、下り通信督促メッセージを送信する、つまり同期をとって送信することにより、ネットワーク上のすべての通信が衝突を起こさないように制御することができる。
【００２１】
上り通信督促メッセージを受信したドミナント・ノードは、その受信を契機として所定の待ち時間後に上り通信を行う（図３のＳ３２からＳ３５）。一回の上り通信督促メッセージに対して、上り通信を行うすべてのドミナント・ノードが、上り通信を終了した時点で、上記で説明したように、下り通信も終了していることになる。つまり、無通信状態になる。このように、上り通信督促メッセージの送信と、下り通信督促メッセージの送信の同期をとることにより、上り通信と下り通信督促、下り通信と上り通信督促の衝突が発生しない通信を実現できる。上り通信同士、下り通信同士の衝突も発生しない。ここで、リズム・ノードは、一つのリズム・ノードが上り通信督促メッセージを送信する機能と下り通信督促メッセージを送信する機能との双方を持つようにしてもよいし、ドミナント・ノードに対して上り通信督促メッセージを送信する機能を有する第一リズム・ノードと、トニック・ノードに対して下り通信督促メッセージを送信する機能を持つ第二リズム・ノードというように分離してもよい。このように、２つのリズム・ノードを使用する場合の例を、図５に示す。
【００２２】
下り通信量の割当を（ＴＴ―（ＴＤの起点から現時点までの時間））以下にした場合は、下り通信メッセージが、下り通信督促から次の下り通信督促までの１サイクルの中に納まらない状態である。この場合、次の下り通信督促では、前回の下り通信終了時の次の下り通信メッセージから送信を行うように指定することが好ましい。例えば、トニック・ノードが、ＴＮ０からＴＮ９まで１０台あるような場合で、直前のサイクルで、ＴＮ０、ＴＮ１に対して下り通信権を割当てた場合、次のサイクルで再度、ＴＮ０から下り通信権を割当てると、順序が後方のトニック・ノードは下り通信が出来なくなってしまう可能性がある。このようなことを避けるためには、前のサイクルで下り通信権を割当てたトニック・ノードを記憶しておき、次のトニック・ノードから下り通信権を割当てることが好ましい。
【００２３】
[所定の待ち時間]
次に、トニック・ノードの所定の待ち時間に関して述べる。下り通信問合わせメッセージに対するトニック・ノードからの送信と、下り通信督促メッセージに対するトニック・ノードからの送信の２つに対して、所定の待ち時間が使用されている。これらの所定の待ち時間は、次のようになる。図２において、各ノードの送信メッセージ長をＬｎ（バイト）、通信路の伝送速度をＳ（ビット／秒）とする。これに対し、待ち時間をＴ（ナノ秒）とする。トニック・ノードが持っているタイマーの誤差をＥとする。意味は式Ａと同様である。通信路６０、６１の各々の長さをＤｎとする。各トニック・ノード０、１の待ち時間をＴ１、Ｔ２とした場合の待ち時間は、次の式Ｂが適用される。なお、Ｌは、通信に必要なフレームを構成した場合の、一つまたは複数のフレームの合計長であり、正味のメッセージ長ではない。下り通信のフレーム割当てに関しては、上り通信のように１回に１フレーム分割当てるのではなく、複数フレーム割当てる方が効率的である。
【００２４】
ｎ＝１の場合、Ｔ＝０
【００２５】
ｎ＞１の場合、Tn = Tn-1+(1-En)(2(Dn-1-Dn)/(3x108)+8Ln-1/S)・・・式Ｂ
【００２６】
式Ｂは、通信路の長さが明確に分かることを前提にした式であるが、長さが明確に分からない場合は、上記の式を応用して、通信路の最大長、最小長が混在した場合に衝突しないように、調整することにより、衝突が無い通信を行える。また、ＨＵＢを使用している場合は、式Ｂの通信路の長さは、サーバーからＨＵＢまでと、ＨＵＢから中間通信装置までの長さの和とする。上記の式は、ドミナント・ノードの待ち時間にも適用できる。直前のノードの通信メッセージ長を得る方法としては、下り通信督促メッセージに、各通信順序番号毎に通信メッセージ長やフレーム数を入れる、という方法を採ることができる他、トニック・ノード毎の所定の待ち時間をリズム・ノードが計算して、それを情報として送信する方法が採れる。フレーム数を入れる場合はフレームを固定長とし、フレーム数とフレーム長を掛けてメッセージ長を計算する方法が好ましい。下り通信問合せメッセージに対するトニック・ノードからのメッセージ数は、トニック・ノード毎に１つであるので、特にフレーム数を情報として含む必要はない。下り通信督促メッセージの例を、図８に示す。この図は、以下に述べる、下り通信順序番号を用いた場合の例である。
【００２７】
[下り通信督促メッセージのみを用いる方法]
以上では、下り通信問合せメッセージと下り通信督促メッセージの双方を用いる方法について説明したが、次に下り通信督促メッセージのみを用いる方法について説明する。下り通信問合せメッセージを用いる場合、トニック・ノードが多いと、下り通信量通知メッセージの数が多くなるが、或る一時点では、下り通信を行うトニック・ノードの数は、全体のトニック・ノードの数に比べて少ないと考えられる。下り通信を必要としているトニック・ノードに対して、動的に下り通信順序番号を与えて、それらのトニック・ノードからのみ、下り通信量通知メッセージを送信するようにすると、１回の下り通信権問合せメッセージに対する下り通信量通知メッセージが少なくなる。
【００２８】
図７を用いて説明する。この図では、下り通信の２サイクルを表示している。リズム・ノード２１から下り通信督促メッセージを送信する（Ｓ５１）。下り通信の最初のフレームは、下り通信権要求メッセージ用である。ここでは、トニック・ノード１が下り通信権要求メッセージを送信している（Ｓ５２）。それを受けたリズム・ノードでは、トニック・ノード１に対して、下り通信権順序番号を与える。この下り通信順序番号は、トニック・ノード毎に異なった番号となるが、この下り通信順序番号を、自己の下り通信順序番号と表現する。一時点で下り通信順序番号を持っているトニック・ノードを記憶しておくため、リズム・ノードが参照可能で、更新可能である下り通信順序番号割当情報格納領域を設ける。この領域に記憶してないトニック・ノードに対して、通信順序番号を新たに割当て、通信順序番号割当情報格納領域に記憶する。下り通信権順序番号をトニック・ノードに通知する方法は、次回の下り通信督促メッセージ中に含めるのが効率的であるが、個別メッセージとして、そのトニック・ノードに送信しても良い。下り通信督促メッセージ中には、下り通信権を持っているトニック・ノードの送信可能なフレーム数またはメッセージ長を入れておく。
【００２９】
下り通信督促メッセージを受信したトニック・ノードは、下り通信督促メッセージ中の情報に基づき所定の待ち時間を計算し、下り通信督促メッセージ受信から所定の待ち時間後に、指定されたフレーム数またはメッセージ長の下り通信を行う。２番目のフレーム以降は、各々のトニック・ノードが、その下り通信順序番号に従って、所定の待ち時間後に下り通信を行う。この時点ではトニック・ノード０のみが下り通信権を持っているため、トニック・ノード０のみが下り通信を行っている。ドミナント・ノード１０に対して１フレーム（Ｓ５３）、ドミナント・ノード１１に対して１フレーム（Ｓ５４）、ドミナント・ノード１２に対して１フレーム（Ｓ５４）、の下り通信を行っている。次に、リズム・ノード２１に対して下り通信量通知メッセージを送信している（Ｓ５６）。ここで、下り通信の１サイクルが終了する。下り通信の１サイクルとは、下り通信督促メッセージを送信してから、次の下り通信督促メッセージを送信するまでをいう。
【００３０】
次に、リズム・ノード２１は、２サイクル目の下り通信督促メッセージを送信する（Ｓ６１）。ここでは、下り通信権要求は無い。２番目のフレームからは、各トニック・ノードが下り通信を行っている。トニック・ノード１は、ドミナント・ノード１に対して、１フレームの下り通信を行う（Ｓ６２）。その後、下り通信権返上メッセージをリズム・ノードに送信する（Ｓ６３）。これは、下り通信がなくなった時点で、下り通信権を返上するためのものである。これを受けて、リズム・ノード２１では、トニック・ノード０の下り通信順序番号の割当てを解除する。この場合、下り通信権を持っている他のトニック・ノードの下り通信順序番号を振り直すことが好ましい。この後、トニック・ノード１は、ドミナント・ノード１３に対して、２フレームの下り通信を行っている（Ｓ６４，Ｓ６５）。その後、トニック・ノード１は、リズム・ノード２１に対して、下り通信量通知メッセージを送信している（Ｓ６６）。
【００３１】
[フレーム長]
ＣＳＭＡ／ＣＤ方式において、通信速度が向上してくると衝突検出のために、フレーム長を長くする必要が出てくる。フレーム長が長くなるということは、短いメッセージが多い場合、フレームの中に無駄な領域が多くなる、ということであり、通信が非効率になる。しかしながら、本発明を適用すると、衝突が発生する可能性があるのは、上り通信権要求と下り通信権要求の２つになる。ここで衝突が発生した場合、各々の、ドミナント・ノードやトニック・ノードが衝突を検出する必要はなく、リズム・ノードが衝突を検出すればよいことになる。これは、衝突が発生した場合、結果的にリズム・ノードから下り通信権割当てメッセージや上り通信権割当てメッセージが返って来ないことになり、ドミナント・ノードやトニック・ノードにとって、通信権要求が満たされないことになることからである。また、上り通信権要求メッセージや下り通信権要求メッセージ中に、何らかの決められたビットパターンやＣＲＣなどを入れておくことにより、一層衝突の検出が容易になる。このため、通信が高速化しても、フレーム長を長くせずに対応することが可能となる。
【００３２】
[無線通信]
次に、無線の場合に関して述べる。「通信システム」では、無線の場合に関して説明しているが、リズム・ノードの機能をトニック・ノードに持たせるような説明が主体であった。しかしながら、リズム・ノードは、トニック・ノードやドミナント・ノードとは独立して存在することが可能である。例えば、人工衛星を使った通信を考える場合、地上にアンテナを立ててリズム・ノードとすることが可能である。特に静止衛星の場合、地球からの距離が約３６０００ｋｍと長距離であるため、リズム・ノードの特性を生かすことが容易ではないが、地上にアンテナを設置してリズム・ノードとすれば、アンテナとドミナント・ノードとの距離は短いものとなる。１つのリズム・ノードがカバーする範囲を、半径数ｋｍから数十ｋｍとし、複数のリズム・ノードで広範囲をカバーするように設置することができる。エリアの中心にマスター・リズム・ノードを設置し、マスター・リズム・ノードに対して、複数の従属リズム・ノードを同心円状に設置する。
【００３３】
マスター・リズム・ノードから各従属リズム・ノードに対して、上り通信督促メッセージと下り通信督促メッセージの双方または何れか一方を送信する。マスター・リズム・ノードから各従属リズム・ノードに対して送信する上り通信督促メッセージと下り通信督促メッセージは、トニック・ノードやドミナント・ノードが受信しないようにする。各従属リズム・ノードは、上り通信督促メッセージと下り通信督促メッセージの双方または何れか一方を受信した後、所定の待ち時間後に、自従属リズム・ノード配下のトニック・ノードやドミナント・ノードに対して、上り通信督促メッセージ、下り通信督促メッセージを送信する。マスター・リズム・ノードは、上り通信督促メッセージまたは下り通信督促メッセージの送信を、独立したタイミングで発行できるが、従属リズム・ノードは、マスター・リズム・ノードからの、上り通信督促メッセージまたは下り通信督促メッセージの受信後、所定の待ち時間後に、上り通信督促メッセージと下り通信督促メッセージの双方もしくはいずれか一方の送信を行う。各従属リズム・ノードが、上り通信督促メッセージまたは下り通信督促メッセージの双方もしくはいずれか一方の送信をしないのは、マスター・リズム・ノードから見て、同心円状にあるリズム・ノード配下のドミナント・ノードからの上り通信が衝突しないようにするためである。従属リズム・ノードが、下り通信権問合せメッセージや下り通信権割当てメッセージを送信する場合も、マスター・リズム・ノードと同期を取って送信する。
【００３４】
[大規模ネットワーク]
上記では、比較的小規模なネットワークの説明を主に行ったが、本発明は、大規模なネットワークに適用でき、効果が発揮できる。大規模ネットワークに適用する場合は、次の３つの方法を採用することができる。一つ目の方法は、図９で示すように、１つまたは１組のリズム・ノードで、ネットワーク全体をカバーする方法である。ネットワーク全体をコントロールするのは、中間通信装置５０にあるリズム・ノード２０である。更に図１０のように、リズム・ノードを組み込んだ終段通信装置を使用し、多階層リズム・ノードとすることができる。二つ目の方法は、図１１に例を示す。１つのマスター・リズム・ノード２７０と、それに従属する複数の従属リズム・ノード２７１、２７２を使用する方法である。この方法は、無線方式で説明したものを適用するものである。従属リズム・ノード２７１、２７２は自律的に動作するのではなく、例えば下り通信督促メッセージの例では、マスター・リズム・ノード２７０からの下り通信督促メッセージを受信した後、所定の待ち時間の後に、自従属リズム・ノード配下のトニック・ノードに対して下り通信督促メッセージを送信する。マスター・リズム・ノード２７０と従属リズム・ノード２７１、２７２が同期を取って動作する。上り通信督促メッセージも同様である。三つ目の方法は、図１２のように、中間通信装置を複数使用して、中間通信装置同士を通信路で結合する。中間通信装置に、通信メッセージ記憶領域（８５１，８５２，８５３）を設ける。点線で囲った範囲（Ａ１、Ａ２、Ａ３）の中のノードを一つの通信ユニットとする。通信ユニット内では、個別のリズム・ノード（２０１、２０２、２０３）が、上り通信と下り通信の制御を行う。通信ユニット間のメッセージは、通信メッセージ記憶領域（８５１，８５２，８５３）を経由して通信を行う、ことにより実現する。
【００３５】
[大規模通信に対応する中間通信装置]
次に、大規模通信へ適用する場合の、更に効果的な中間通信装置に関して説明する。図１３は、本説明の対象となる大規模ネットワークの例である。図１４は、中間通信装置の例である。中間通信装置は、トニック・ノード、ドミナント・ノード、ハブまたは終段通信装置の各々と通信を行うための装置である。図１４の中間通信装置では、１０組のソケット（７０１と７０２、７０３と７０４、・・・、７１９と７２０）が備わっている。ソケットとは、他のノードとの接続を行う機能を持った装置であるが、各々のソケットの組には、リズム・ノード（２０１、２０３、２０５、２０７、２０９、２１１、２１３、２１５、２１７、２１９）と、通信メッセージ記憶領域（８０１と８０２、８０３と８０４、・・・、８１９と８２０）を備えている。中間通信装置には、ブローカー（７５１と７５２）を備えている。ブローカーは、リズム・ノード２５１、通信メッセージ記憶領域（８５１と８５２）を備えている。このように、中間通信装置には、複数のリズム・ノードを備えている。この中間通信装置のソケットの組（７０１と７０２、７０３と７０４、・・・、７０７と７０８）は、トニック・ノード側の通信線を接続するためのものである。ソケットの組（７０９と７１０、・・・、７１５と７１６）は、ドミナント・ノード側の通信線を接続するためのものである。ソケットの組（７１７と７１８、７１９と７２０）は、他の中間通信装置と接続するための通信線用である。各々のソケットは、内部通信線によって接続されている。
【００３６】
トニック・ノード側のソケットは、直接トニック・ノードに接続しても良いが、図１３のようにＨＵＢ（４０１、４０２、４０３、・・・、４０８）を介してトニック・ノードに接続しても良い。同様に、ドミナント・ノード側のソケットも、ＨＵＢ（４０９、４１０、４１１、・・・４１６）を介してドミナント・ノードに接続しても良い。ここでは、一般的なＨＵＢという名称を使用するが、次の点において一般的なＨＵＢと機能が異なる。一般的なＨＵＢでは、自ＨＵＢ内のドミナント・ノードからドミナント・ノード宛、若しくは、トニック・ノードからトニック・ノード宛の通信が行えるが、本発明で使用するＨＵＢでは、そのような通信が行えないようにする。この理由は、ＨＵＢ外からの上り、または下り通信と、自ＨＵＢ内の上り、または下り通信が衝突しないようにするためである。更に、ＨＵＢの代わりに、終段通信装置を用いて、多階層リズム・ノードとすることが可能である。
【００３７】
通信を行う方法を具体的に説明する。ソケットの組（７０９と７１０）を例にとって説明する。ソケット７０９は、ドミナント・ノードから上り通信を行うためのものである。リズム・ノードは、ソケット７１０から上り通信督促メッセージを送信する。ソケット７０９に接続しているドミナント・ノードは、上り通信督促メッセージを受信したら、各々の所定の待ち時間後に、ソケット７０９に対して上り通信を行う。上り通信メッセージは、通信メッセージ記憶領域８０９にキューとして記憶する。また、上り通信督促メッセージを送信するのと同期して、ソケット７１０に接続しているドミナント・ノードに対して下り通信を行う。この下り通信は、通信メッセージ記憶領域８１０に記憶されている通信メッセージを、先入れ先出しの手法に従って送信する。下り通信を行う時間は、次回の上り通信督促メッセージを送信するまで、となる。ソケット（７１１、７１２、７１３、７１４、７１５、７１６）も同様に、上り通信と下り通信を行う。リズム・ノード（２０９、２１１、２１３、２１５）は、同期して動作しても良いが、非同期で動作する。つまり、ソケット（７０９、７１０）とソケット（７１１、７１２）、ソケット（７１３、７１４）、ソケット（７１５、７１６）の通信は非同期で行われる。
【００３８】
ここでは、ドミナント・ノードとソケットという形で説明を行ったが、本発明の定義を用いて、より詳細に説明すると、ソケットは、中間通信装置の外部のドミナント・ノードに対して、トニック・ノードになる。トニック・ノードやドミナント・ノードは相対的な意味である、ということを説明しているが、これは、その具体例である。少し後に、中間通信装置内の通信に関して、説明を行うが、中間通信装置内の通信では、ソケットの組（７０９と７１０）および通信メッセージ記憶領域（８０９と８１０）は、ドミナント・ノードとして稼動する。他のドミナント・ノードに接続するソケットの組も同様である。
【００３９】
ソケットの組（７０１と７０２、７０３と７０４、・・・７０８）は、トニック・ノードに接続されている。ソケットの組（７０１と７０２）の動作を説明する。リズム・ノード２０１が、下り通信督促メッセージをソケット７０１から送信する。ソケット７０１に接続されているトニック・ノードは、各々の所定の待ち時間後に下り通信を、ソケット７０２に対して行う。ソケット７０２に送信された下り通信メッセージは、通信メッセージ記憶領域８０２にキューとして記憶する。下り通信督促メッセージを送信するのと同期して、ソケット７０１に接続しているトニック・ノードに対して上り通信を行う。この上り通信は、通信メッセージ記憶領域８０１に記憶されている通信メッセージを、先入れ先出しの手法に従って送信する。上り通信を行う時間は、次回の下り通信督促メッセージを送信するまで、となる。ソケット（７０３、７０４、７０５、７０６、７０７、７０８）も同様に、上り通信と下り通信を行う。リズム・ノード（２０１、２０３、２０５、２０７）は、同期して動作しても良いが、非同期で動作する方が効率的である。つまり、ソケットの組（７０１、７０２）とソケットの組（７０３、７０４）、ソケットの組（７０５、７０６）、ソケットの組（７０７、７０８）の通信は非同期で行われる。中間通信装置は、トニック・ノード、ドミナント・ノード、リズム・ノードの各々と通信を行うためのものであり、ソケットは、トニック・ノード、ドミナント・ノードまたはハブとの通信を行うために各々との通信線を接続するためのものであり、通信メッセージ記憶領域はトニック・ノード、ドミナント・ノードまたはハブからの通信を蓄積するためのものであり、ブローカーとは中間通信装置内の通信を逆に接続するためのものである。
【００４０】
上記の説明で、中間通信装置の外部のトニック・ノードとソケットという説明にしてあるが、ソケットは、中間通信装置の外部のトニック・ノードに対して、ドミナント・ノードになる。中間通信装置内の通信では、ソケットの組（７０１と７０２）および通信メッセージ記憶領域（８０１と８０２）は、トニック・ノードとして稼動する。他のトニック・ノードに接続するソケットの組も同様である。
【００４１】
以上のようにして中間通信装置の外側との通信を行うが、中間通信装置の内部の動作は次のようになる。ブローカー（７５１と７５２）の内部のリズム・ノード２５１が、中間通信装置内部の通信制御を行う。中間通信装置の内部では、ソケットの組（７０９と７１０、７１１と７１２、・・・、７１９と７２０）がドミナント・ノードとなり、ソケットの組（７０１と７０２、７０３と７０４、・・・、７１７と７１８）がトニック・ノードとなる。またブローカーは特殊なノードとなる。各ノードに通信順序番号を付与する方法や各ノードの通信量を知る方法に関しては、これまでに説明した方法を使用する。
【００４２】
[中間通信装置内の上り通信]
中間通信装置内の上り通信に関して説明する。リズム・ノード２５１が、上り通信督促メッセージを、ドミナント・ノードであるソケット（７１０、７１２、７１４、７１６、７１９）とブローカー７５２に対して送信する。上り通信督促メッセージを受信したドミナント・ノードであるソケットの組（７０９と７１０、７１１と７１２、・・・、７１９と７２０）とブローカー７５２は、所定の待ち時間後に上り通信を行う。中間通信装置内の上り通信は、一回の上り通信督促メッセージに対してドミナント・ノードからのメッセージを一つずつとせず、複数まとめて送信するようにすると効率的であるので、所定の待ち時間は式Ｂを使用する。通信路（６０１、６０２、６０３、・・・、６１６、６６１、６６２）の長さを考慮して、その分を待ち時間に加える。上り通信は、通信メッセージ記憶領域（８０９、８１１、８１３、８１５、８２０、８５２）に記憶されている通信メッセージを、先入れ先出しの手法に従って送信する。例えば、ソケット８０９の通信メッセージ記憶領域８０９から送信される通信メッセージは、通信路６０９を通り、通信路６６２を通って、通信路（６０１、６０３、６０５、６０７）に流れる。ソケット（７０１、７０３、７０５、７０７、７１８）は、自ノード宛の通信メッセージがあれば、それを通信メッセージ記憶領域（８０１、８０３、８０５、８０７、８１８）にキューとして記憶する。自ノード宛以外の通信メッセージは破棄する。ソケット８０１にとって自ノードあての通信メッセージとは、ソケット８０１に接続されているトニック・ノード全体宛の通信メッセージのことである。
【００４３】
片方向通信器（９０９、９１１、９１３、９１５、９２０）は、通信が逆に流れないように、一方方向に通信が流れるようにするものである。例えば、ダイオードを使用して回路を作成することが出来る。ソケット７０９から上り通信を行うと、その通信メッセージは、通信路６６２を流れる。片方向通信器が無い場合、通信路６６２に接続している通信路（６１１，６１３，６１５）にもその通信メッセージが流れることになり、ソケット（７１１、７１３、７１５、７２０）からの上り通信と衝突しないようにするためには、所定の待ち時間を、通信路（６１１、６１３、６１５）の長さを電気が流れる時間分だけ長くする必要がある。片方向通信器が存在することにより、通信路（６１１，６１３，６１５）には、ソケット７０９からの通信が流れないことになり、所定の待ち時間を短縮することが可能になる。
【００４４】
[中間通信装置内の下り通信]
次に、下り通信に関して説明する。リズム・ノード２５１が、上り通信督促メッセージの送信と同期を取って、下り通信督促メッセージを送信する。トニック・ノードであるソケットの組（７０１と７０２、７０３と７０４、・・・、７１７と７１８）とブローカー（７５１と７５２）は、下り通信督促メッセージを受信後、各々の所定の待ち時間後に下り通信を行う。所定の待ち時間は式Ｂを使用するが、通信路の長さを考慮して、その分を待ち時間に加える。ドミナント・ノードは自ノード宛の通信メッセージを取り込み、通信メッセージ記憶領域（８１０、８１２、８１４、８１６、８１９）に、キューとして記憶する。トニック・ノード宛の通信メッセージは、ブローカー（７５１と７５２）が受信し、通信メッセージ記憶領域７５２に記憶する。下り通信の合計時間は、上り通信の合計時間と同等とし、下り通信督促メッセージと上り通信督促メッセージの送信の同期をとる。
【００４５】
[中間通信装置内のブローカー]
まず、ブローカー（７５１と７５２）に関して図１５を用いて説明する。ブローカーは、中間通信装置内の特殊なノードである。図１３のような構成をとった場合、トニック・ノードからトニック・ノード宛、ドミナント・ノードからドミナント・ノード宛の通信ができないことになるが、このような通信を実現する機能である。可逆通信装置と呼ぶことができる。例えば、ドミナント・ノードのソケット７１１からソケット７１４宛の通信は、一旦、ブローカー（７５１と７５２）が受け取り、通信メッセージ記憶領域８５１に記憶しておく(図１５のＳ７０)。次にブローカー７５２が下り通信として、通信メッセージ記憶領域８５１の情報を、通信路６５２に送信し、そのメッセージをソケット７１４が受信する（図１５のＳ７１）、という手順になる。
【００４６】
同様に、トニック・ノードのソケット７０４からソケット７０１宛の通信は、ブローカー（７５１と７５２）が受け取り、通信メッセージ記憶領域８５２に記憶しておく（図１５のＳ７２）。次にブローカー（７５１と７５２）が上り通信として、通信メッセージ記憶領域８５２の情報を、通信路６５１に送信し、ソケット７０１が受信する（図１５の７３）。ブローカー（７５１と７５２）は、特殊なドミナント・ノードであり、自中間通信装置内他のドミナント・ノードが上り通信を行っている時点では、自中間通信装置内のドミナント・ノード宛のメッセージを受信し、通信メッセージ記憶領域８５１に記憶しておく。この時点では、ブローカー（７５１と７５２）はトニック・ノードであるかのように振舞う。上り通信を行う場合は、ブローカー（７５１と７５２）が、通信メッセージ記憶領域８５２に記憶されている通信メッセージを送信する。
【００４７】
ブローカー（７５１と７５２）は、自中間通信装置内他のトニック・ノードが下り通信を行っている時点では、自中間通信装置内のトニック・ノード宛のメッセージを受信し、通信メッセージ記憶領域８５２に記憶しておく。下り通信を行う場合は、ブローカー７５２が、通信メッセージ記憶領域８５１に記憶されている通信メッセージを送信する。このようにブローカーは、トニック・ノードとドミナント・ノードの機能を併せ持っており、通信を行う場合には、リズム・ノード２５１からの、上り通信督促メッセージ、または下り通信督促メッセージを受信した後、所定の待ち時間後に通信を行う。また、上り通信で記憶したメッセージを、下り通信の際に送信し、下り通信で記憶したメッセージを、上り通信の際に送信する。
【００４８】
[通信メッセージ記憶領域]
次に、通信メッセージ記憶領域内に、キューとして通信メッセージを記憶し、先入れ先出しの手法によって送信を行う方法を説明する。図１６が、通信記憶領域８０１の例である。この領域には、スタート・ポインター３０とエンド・ポインター３１の２つのポインターが備わっている。この領域に新たに通信メッセージを追加する場合、エンド・ポインター３１が指している位置の直後に通信メッセージを記憶し、エンド・ポインター３１を、新たな通信メッセージの直後を指すように変更する。先入れ先出しの手法で、通信メッセージを送信するのは、スタート・ポインター３０の直後のメッセージから順に通信メッセージを読み出すことにより実行する。通信メッセージの送信が終了したら、スタート・ポインター３０を、送信し終わった通信メッセージの直後を指すように変更する。このように、通信メッセージ記憶領域では、スタート・ポインターとエンド・ポインターの間にある記憶領域（１１４から１２０）が、通信メッセージを記憶していることになる。
【００４９】
エンド・ポインター３１が通信メッセージ記憶領域８０１の最後（記憶領域１２９の後）まで行った場合は、エンド・ポインター３１は、通信メッセージ記憶領域の先頭を指すようにする。このような場合、スタート・ポインターから通信メッセージ記憶領域の最後までと、通信メッセージ記憶領域の先頭から、スタート・ポインターまでの間が、記憶されている通信メッセージである。この場合、いずれかの記憶領域に、エンド・ポインターが先頭に戻ったことを示すフラグをオンにしておくと、スタート・ポインターとエンド・ポインターの位置関係が逆転していることを識別する確実性が増す。このフラグは、スタート・ポインターが先頭に戻ったらオフにする。エンド・ポインターがスタート・ポインターを追い越すことはできない。そのような事象が発生すると、ポインター同士の位置関係が分からなるうえ、記憶領域の一部が破壊されてしまうからである。このような事象が発生した場合は、それ以上メッセージを記憶することを止めて、記憶領域が使用できるまで、通信メッセージを破棄する。破棄したメッセージは、通信プロトコルによって再送される。通信メッセージの破棄を防止するためには、記憶領域の大きさを十分にとり、中間通信装置内の通信速度を十分に早くすることが好ましい。
【００５０】
通信メッセージ記憶領域から読み出して送信したメッセージは、通信メッセージ記憶領域から削除することが好ましいが、スタート・ポインターをずらすことにより、通信メッセージを削除するとしてもよい。この図１６では、固定長の通信メッセージを扱うような図になっているが、これは図を簡潔にするためであり、可変長のメッセージであっても、同様に扱える。スタート・ポインターからエンド・ポインターの間にある通信メッセージが、通信量通知メッセージの値として使用できる。但し、通信量通知メッセージの値は、フレームを構成した後の値であることが好ましい。そうでない場合、通信量の計算をリズム・ノードで行うことになる。図１３では、中間通信装置を横方向に並べる例をあげたが、縦方向に複数の中間通信装置を使用して、更に大規模なネットワークに適用することが可能である。また、冗長化構成とすることも可能である。
【００５１】
[優先メッセージ]
通信メッセージの中には優先することが好ましいものがある。例えば、音声用のフレームなどは、通信が遅れると音声が途切れてしまう、という現象が発生するため、他のフレームに優先して送信することが好ましい。このような優先フレームの送信を行うためには、図１７のような方法で実現できる。図１７では、記憶領域１１４から記憶領域１２０までに一般の通信メッセージが記憶されている。ここに優先メッセージが発生した場合、その通信メッセージを記憶領域１２１に記憶する。更に、スタート・ポインター３０を、記憶領域１２１の先頭を指すようにする。先入れ先出しの手法で、通信メッセージを読み出す場合、スタート・ポインター３０が記憶領域１２１を指しているので、最初に記憶領域１２１に記憶されている通信メッセージを読み出し、次に、スタート・ポインターが指している記憶領域１１４に記憶されている通信メッセージを読み出し、次に記憶領域１１５の通信メッセージを読み出す。
【００５２】
このような方法を採ることにより、特定のメッセージを優先することが可能となる。このような場合、記憶領域１２１の通信メッセージを二重に送信しないように、そのメッセージの先頭に識別をつけておくことが好ましい。スタート・ポインター３０は、通常のメッセージの先頭のアドレスと、優先メッセージの先頭のアドレスの双方を記憶できるようにすることが好ましい。スタート・ポインターが２つのアドレスを持たないようにしたい場合は、記憶領域１２１に記憶される通信メッセージの一部に、記憶領域１１４を指すような領域を設ける。
【００５３】
[上り通信が存在しない場合]
以上のような通信方式、通信システムを用いた通信で、一時点に上り通信が全く存在しない場合、一回の上り通信督促メッセージにおいて、上り通信の対象となるのが、上り通信権要求メッセージのみとなる。しかしながら、このような状態で、何度も上り送信督促メッセージを発行すると、上り送信督促メッセージの間隔が短くなり、下り通信が効率的に行えない可能性がある。このような場合、次の上り通信督促メッセージを発行するタイミングを、例えば、１０フレーム分とる、などとして、効率的な下り通信が可能となるようにすることが好ましい。同様に、下り通信量に比べて上り通信量が少ない場合も、次の上り通信督促メッセージを発行するタイミングを遅らせることにより、効率的な下り通信が行える。
【００５４】
[検疫システム]
下り通信権や上り通信権を、下り通信順序番号、上り通信順序番号の付与によって行う事に関して、既に説明してあるが、この機能を使用すると、所謂、検疫システムの構築が容易に行える。従来は、ネットワークに追加された許可されていないノードが、そのネットワーク内で通信することを妨げるため、様々な工夫がされてきた。しかしながら、本発明を利用すると、下り通信権要求や上り通信権要求を行う際に、そのノードの識別情報（例えば、ＣＰＵ−ＩＤ）など固有の情報を付加する事を条件にすると、その情報を持っていない、もしくはリズム・ノードに登録されていないノードが下り通信権要求や上り通信権要求をしても、リズム・ノードが要求を拒否することにより、当該ノードがそのネットワーク内で一切通信を行えない状態を作り出すことができる。この際、ドミナント・ノードに関しては、持ち運びによる移動が発生するので、当該リズム・ノードだけでなく、閉域ネットワーク全体で識別することが好ましい。
【図面の簡単な説明】
【００５５】
【図１】「通信システム」における、衝突回避の仕組みを説明したタイムチャートである。
【図２】代表的なネットワーク図である。
【図３】上り通信のタイムチャートである。図４と一体である。
【図４】下り通信のタイムチャートである。図３と一体である。
【図５】下り通信督促メッセージ用のリズム・ノードと、上り通信督促メッセージ用のリズム・ノードを用いる場合の例である。
【図６】下り通信督促メッセージで通信権割り当ての例の図である。
【図７】下り通信において、下り通信順序番号を使用する際のタイムチャートである。
【図８】下り通信督促メッセージの例である。
【図９】大規模ネットワークで、単一のリズム・ノードを使用する場合の例である。
【図１０】大規模ネットワークで、単一のリズム・ノードを使用し、終段通信装置を使用する場合の例である。
【図１１】大規模ネットワークで、マスター・リズム・ノードと従属リズム・ノードを使用する場合の例である。
【図１２】大規模ネットワークで、複数のリズム・ノードを使用して、その間で非同期通信する場合の例である。
【図１３】大規模ネットワークの例である。
【図１４】中間通信装置の構成例である。
【図１５】ブローカーの機能を説明した例である。
【図１６】通信記憶領域の例である。
【図１７】通信記憶領域で優先フレームの送信を実現する場合の例である。
【符号の説明】
【００５６】
０、１、２、３―――トニック・ノード、
００１、００２、００３、・・・、０２０―――トニック・ノード、
１０、１１、１２、・・・、１９―――ドミナント・ノード、
１０１、１０２、１０３、・・・、１２０―――ドミナント・ノード、
２０、２１、２２、２３―――リズム・ノード、
４１、４２、４３、４４―――終段通信装置、
４０１、４０２、４０３、・・・、４１６―――ＨＵＢ、
５０、５１、５２―――中間通信装置、
６１、６２、６３、６４、６５、６６―――通信路、
２００、２０１、２０３、２０５、・・・２１９、２５１―――リズム・ノード、
２７０―――マスター・リズム・ノード
２７１、２７２―――従属リズム・ノード
６０１、６０２、６０３、・・・、６１６、６６１、６６２―――通信路、
７０１、７０２、７０３、・・・、７２０―――ソケット、
８０１、８０２、８０３、・・・、８２０、８５１，８５２―――通信メッセージ記憶領域、
９０１、９０３、９０５、・・・、９１７、９２０―――片方向通信器、
１１０、１１１、１１２、・・・、１２９―――記憶領域、
Ｓ１からＳ６３―――通信メッセージ
【図１】
0005038180.tif 000002
【図２】
0005038180.tif 000003
【図３】
0005038180.tif 000004
【図４】
0005038180.tif 000005
【図５】
0005038180.tif 000006
【図６】
0005038180.tif 000007
【図７】
0005038180.tif 000008
【図８】
0005038180.tif 000009
【図９】
0005038180.tif 000010
【図１０】
0005038180.tif 000011
【図１１】
0005038180.tif 000012
【図１２】
0005038180.tif 000013
【図１３】
0005038180.tif 000014
【図１４】
0005038180.tif 000015
【図１５】
0005038180.tif 000016
【図１６】
0005038180.tif 000017
【図１７】
0005038180.tif 000018