以下、本発明の実施例を図面を参照して説明する。
図1(a)(b)は、本発明の一実施例に係る光通信システムの概略構成を示す図である。図1(a)において、波長多重光ネットワーク1には通信を行う一般ノード(n1 〜nn )2とネットワークコントローラ(NWC)3が接続されている。波長多重ネットワーク1は、例えば図2(a)に示すようなスターカップラ4と光ファイバ5からなるパッシブスター型ネットワークや、図2(b)に示すようなリングファイバ6を用いたリング型ネットワーク、あるいは他の形式のネットワークにより構成される。ネットワークコントローラ3は、図1(a)のように専用ノードでも良いし、図1(b)のようにいずれかの一般ノードを兼ねる構成でも良い。
ネットワークコントローラ3は、あるノードが他のノードに対してデータを伝送する際、図3に示すように波長多重光ネットワーク1で用いる波長λ1 〜λnの光伝送チャネルを時分割した複数のタイムスロットSijのうちのどれを用いるかを集中制御により決定するものである。
図4は、ネットワークコントローラ3の具体的な構成例を示すブロック図であり、制御信号受信器11、制御信号送信器12、信号処理部13、CPU14およびメモリ(RAM)15を主要構成としている。制御信号受信器11は、各ノード2からネットワークコントローラ3に対する送信要求発生通知などの制御信号を受信する。制御信号送信器12は、ネットワークコントローラ3から各ノード2へのタイムスロット割当て通知などの制御信号を送信する。
信号処理部13は、制御信号受信器11が受信した制御信号を分類し、CPU14で扱える形態のデータに変換する処理と、CPU14からのタイムスロット割当てなどのデータを制御信号送信器12での送信に適した形態の信号に変換する処理を主に行う。また、信号処理部13は後述するアラーム信号やエラー信号を受理し、これらを他に通知したり管理者に知らせるための表示部(図示せず)などに転送する処理も行う。
メモリ15は、ノード2に対するタイムスロット割当てテーブルを格納している。CPU14は、制御信号受信器11の受信データを信号処理部13から受け取ると、メモリ15を参照してタイムスロットの割当てを決定し、決定したタイムスロットを表す情報を信号処理部13を介して制御信号送信器12へ送出する。制御信号送信器12は、信号処理部13からの情報に基づいてタイムスロット割当て通知のための制御信号を送信する。
ノード2からネットワークコントローラ3に対するタイムスロット設定要求(送信要求発生)の制御信号や、ネットワークコントローラ3から各ノード2へのタイムスロット割当て通知の制御信号の伝送は、データを伝送するデータチャネルとは別の制御チャネルを通して行う。このように制御チャネルを使用すれば、制御信号の伝送によってデータの伝送が妨げられることはない。制御チャネルは、波長分割多重に供される複数の波長のうちのある特定の波長の光伝送チャネルを利用してもよいし、制御チャネル専用に光伝送路または電気伝送路を用意してもよい。また、制御信号の情報量が少ない場合は本来データの伝送に使用される伝送チャネルの中の特定のタイムスロットを制御チャネルとして用いてもよい。
図5は、図1における一般ノード2の構成例であり、データ送信器21、制御信号送信器22、データ受信器23、制御信号受信器24、WDM(波長分割多重)合波器25、WDM分波器26および光スイッチ27を有する。データ送信器21およびデータ受信器23は、例えば1.5μm帯で波長分割多重されたデータチャネルによってデータの送受信を行う。制御信号送信器22および制御信号受信器24は、例えば1.3μm帯の波長分割多重された制御チャネルによって制御信号の送受信を行う。WDM合波器25およびWDM分波器26は、データと制御信号を同一の光ファイバ5で伝送するためにデータチャネルと制御チャネルの合波および分波を行う。光スイッチ27については必要な場合とそうでない場合があり、詳しくは後述する。なお、図示されていないが、ノード内には制御部があり、各送受信器21ないし24を制御する。さらに、データ送受信器21、23にはデータの入線および出線がある。
次に、本実施例におけるネットワークコントローラ3によるタイムスロット割当て制御の概要を図6に示すフローチャートを参照して説明する。まず、ある一般ノード(送信ノード)から他の一般ノード(受信ノード)に対するネットワークコントローラのスロット割当要求発生を通知する制御信号が制御信号送信器22から送信され、これが制御信号受信器11で受信されると(S11)、その受信データが信号処理部13を介してCPU14に入力され、CPU14によって送信ノードと受信ノードに共通に空いているタイムスロット(共通空きタイムスロットという)があるかどうかがメモリ15を参照して判定される(S12)。ここで共通空きタイムスロットがあれば、その共通空きタイムスロットをデータの送受信に割当てる旨の情報がCPU14から信号処理部13を介して制御信号送信器12に出され、この制御信号送信器12から共通空きタイムスロットを送受信に割当てる旨の通知を行うための制御信号が送信ノードと受信ノードに対して送信される(S14)。一方、共通空きタイムスロットがない場合は、送信ノードあるいは受信ノードのタイムスロット割当てを変更し(S13)、その後S14に移る。また、S12、S13で割当が不可能であった場合は、スロット割当失敗の旨を送信ノードに通知する。送信ノードおよび受信ノードでは、ネットワークコントローラ3から送信されてきたタイムスロット割当て通知のための制御信号を制御信号受信器24で受信すると、そのタイムスロットを用いてデータ送信器21およびデータ受信器23によりデータの送受信を行う。
図7および図8は、送受信の具体的なタイムスケジュールの例であり、(a)は送信器のタイムスロット割当て、(b)は受信器のタイムスロット割当てを示している。S1 〜Sm がタイムスロットであり、○を付したタイムスロットは送信または受信に使用されているタイムスロットを表している。ここでは、各ノードの送信波長は固定で各ノード固有の値とし、受信器側で送信器毎に受信波長を切り替えて受信する方式をとっているが、形態としては送受信波長が共に可変であっても良い。但し、送信波長を変化させるときには、他の波長を横切ることが無いように、例えば図5に示したようにデータ送信器21とWDM合波器25との間に光スイッチ27を設け、波長が正しい値で安定するまでは、光を波長多重ネットワーク1に送り出さないようにする必要がある。
また、ここでは連続するm個のタイムスロットからなる単位をフレームとし、送受信はフレームの繰り返しで行なわれるものと仮定している。しかし、ある相手への送信は10タイムスロットおき、違う相手への送信は20タイムスロットおきというように決めて、特にフレームを決めることなく通信することも可能である。
今、図7(a)(b)の状態で例えばノードn1 からノードn3 に対する新たな送信要求が発生したとする。この場合、ノードn1 は送信要求としてどのノードに対してどのくらいのスロット数が必要であるかを示す制御信号を制御チャネルを通してネットワークコントローラ3に通知する。この通知を受けたネットワークコントローラ3は、ノードn1 の送信空きタイムスロットとノードn3 の受信空きタイムスロットの共通部分、つまり共通空きタイムスロットを探索する。ここで仮にノードn1 からの送信要求は1タイムスロット/1フレーム(1フレームにつき1タイムスロット)であったとすると、図7(a)(b)の状態では先頭から3つ目のタイムスロットS3 が空いているので、ネットワークコントローラ3はノードn1 に対しては次のフレームからタイムスロットS3 を使ってノードn3 にデータを送信するように制御チャネルで通知し、ノードn3 に対してはノードn1 からのデータ送信が次のフレームからタイムスロットS3 によって行われることを制御チャネルで通知する。また、もし送信要求が遅延のきびしいものであった場合は、可能であれば、次のフレームではなく、現在のフレームから送信が可能であるように、フレームの後ろの方を割り当てるという方法も考えられる。
このようにタイムスロットの割当てを決定してゆけば、あるノードni が他のあるノードnj に対して非常に多くのタイムスロットを使ってデータ送信を行うような送信要求を出したとしても、別のノードからもノードnj に対する送信要求が出ているか、あるいは出ると予想できる場合には、ノードni の送信要求の通信量を減らすようにネットワークコントローラ3がノードni に命令することもでき、ネットワーク1が一部のノードのために混乱することはない。
一方、共通空きタイムスロットが見付からないときには、動かせる他のタイムスロットを動かすことで共通空きタイムスロットを作り出すようにする。例えば、図7(a)(b)においてノードn2 がノードn4 に1タイムスロット/1フレームで送信をしたいが、ノードn2 の送信とノードn4 の受信とで共通タイムスロットが見付からなかったとする。ここで、ノードn2 からノードn1 への送信に着目すると、送信タイムスロットとしてS3 が使われているので、タイムスロットS3 での送信を矢印で示されるようにタイムスロットS2 へと移動する。この結果、図8(a)(b)に示されるように、ノードn2 の送信タイムスロットS3 とノードn4 の受信タイムスロットS3 は共に空きとなり、このタイムスロットS3 によってノードn2 からノードn4 への送信が可能となる。そこで、ネットワークコントローラ3は、ノードn2 からノードn1 への送信タイムスロットをS2 に移動することと、タイムスロットS3 をノードn2 からノードn4への送信タイムスロットとすることを該当する各ノードに通知することで、混乱無く事態を収集する。
ここで、もし同様のタイムスロット割当てをノード間で制御チャネルを通して話し合いで決定する分散制御で行おうとすると、例えばまずノードn2 がノードn4 に対して自分の送信空きタイムスロットの番号と通信に必要なタイムスロットの数を通知し、ノードn4 はそれを自分の受信空きタイムスロット番号と照らし合わせて、共通タイムスロットが取れない旨と自分の受信空きタイムスロット番号をノードn2 に通知する。そして、ノードn2 はノードn4 の受信空きタイムスロットを検討し、自分の送信タイムスロットのうちどこかに移動すればノードn4 と共通にとれるようなタイムスロットの候補を見出だし、その移動対象としたタイムスロットで送信している相手に対して、自分の送信空きタイムスロット番号を告げて、それをどこかに移動できないか打診する、などといった非常に複雑な一連の手続きが必要となる。
これに対し、本実施例のようにネットワークコントローラ3に全ての一般ノード2についてのタイムスロット割当てテーブルを備えておき、それをもとにタイムスロット割当てを集中制御する構成とすれば、ノード間で上述のような複雑な手続きを行う必要がなくなり、極めて簡単にタイムスロット割当てを行うことが可能となる。
なお、タイムスロット割当てテーブルを全ての一般ノード2に備えておき、それを基にタイムスロット割当ての交渉を行うことも可能であるが、この方法ではネットワーク1内の遅延の問題から、他ノードのタイムスロット割当てに変更・移動があった場合に、それが通知されないうちに行き違いで送信、変更要求を出してしまう可能性があり、交渉が混乱する可能性がある。混乱を生じさせないためには、一般ノード2が全てネットワークコントローラ3と同程度の機能を持ち、かつ共通で決定論的なアルゴリズムで動作するようにすれば良いが、装置が大掛かりになりコストが非常に高くなる。従って、本実施例のように一つのネットワークコントローラ3が全ての一般ノード2の送受信のタイムスロット割当てを決定する方法が有利となる。
共通空きタイムスロットが見付からなかったときの他の解決方法として、次の実施例のような方法をとることもできる。図9は、本発明の他の実施例に係る光通信システムの概略構成図であり、一般ノード2の一つ(nr)をバケツリレーノードとして用いている。本実施例では、ネットワークコントローラ3が共通空きタイムスロットを見付けられなかったとき、図10に示されるように送信ノードからの送信データをバケツリレーノードnrに一旦送信して、このノードnrから新たに目的のノードに送信させる方法をとる。図10は、図7の例と同様にノードn2 からノードn4 に1タイムスロット/1フレームで送信をしたいが、ノードn2 の送信とノードn4 の受信とで共通タイムスロットがない場合の例である。この場合は、送信ノードn2 からの送信データをタイムスロットS2 を使ってバケツリレーノードnrに送信した後、バケツリレーノードnrがこれを中継する形でタイムスロットS3 を用いて受信ノードn4 に送信している。
なお、図10では一般ノード2の一つがバケツリレーノードnrを兼ねるようにしたが、バケツリレー専用のノードとして用意してもよいし、予めネットワークコントローラ3内にバケツリレーの機能を持たせてもよい。
また、あるノードni から他のあるノードnj に対する送信が終了するか、あるいは使用中のタイムスロット数が少なくなって、それまで使用していたタイムスロットが空きになる場合には、空きになることが分かった時点でノードni からどのタイムスロットがいつ空きになるかをネットワークコントローラ3に通知する。あるいは、送信が終了した時点、つまりタイムスロットが空いた時点で、タイムスロットが空いたことをネットワークコントローラ3に通知してもよい。このようにして、ネットワークコントローラ3はタイムスロットの使用状況を常に把握していく。ネットワークコントローラ3の処理の範囲としては、呼単位で管理する方法もとり得るが、処理量が多くなるため、送信要求等はスロット単位で行い、スロットの内をいかに使用するかは、各一般ノード2が行うことが望ましい。新たな呼が発生したときに、すでに設定されているスロットの残った帯域でまにあうなら、新しくスロット要求をする必要がないからである。
本発明の光通信システムのように、各波長の光伝送チャネルを複数のタイムスロットに分割して使う場合、以下のようにしてタイムスロットのタイミングが波長毎に違わないようにタイミングを共通にとる必要がある。すなわち、波長多重光ネットワーク1が図2(a)のようなパッシブスター型の場合、スターカップラ4に光信号が到着した時点でタイミングが合っていれば、図7(a)(b)中に示した通りのタイミングでスターカップラ4により各ノードからの光信号を混合することができる。そのためには、スターカップラ4まで自ノードから光が進む時間ti が分かっていれば、いずれかがタイミング信号を与え、それに合わせれば良い。
例えば、ネットワークコントローラ3が制御チャネルを介してタイミング信号を与えるとすると、タイミング信号がスターカップラ4を通過した後ノードniに到着するまでti 秒、自ノードが送信したタイムスロットの先頭がスターカップラ4に到着するまで同じくti 秒をそれぞれ要する。従って、タイミング信号がノードni に届くより2ti 秒前にノードni がタイムスロットの先頭を送信すれば、スターカップラ4でノードni が送信したタイムスロットの先頭とタイミング信号が同じタイミングで混合されることになる。タイミング信号が1タイムスロットに1回、1フレームに1回、あるいは数タイムスロットに1回、といったように周期的に与えられれば、このように2ti 秒前にノードni がタイムスロットの先頭を送信するというようなことも可能である。
なお、時間ti は光ファイバ5の敷設時に予め測定しておいたケーブル長に基づいて計算で求めてもよいし、実際に信号が往復する時間を測ることで求めてもよい。タイミング信号は上述のように制御チャネルを通して与えてもよいし、例えばネットワークコントローラ3が1フレームに1回ずつデータチャネルでデータの送信を行って、それを基準にして求めてもよい。
波長多重光ネットワーク1が図2(b)のようなリング型ネットワークの場合も同様に、ネットワークコントローラ3が制御チャネルを介して周期的にタイミング信号を与え、それに合わせて各ノード2がデータを送信すればよい。
制御チャネルは、データチャネルよりも簡易な送受信系である。従って、制御チャネル自身が波長分割多重などにより複数のチャネルを持つことは基本的になく、複数のチャネルを持つとしても図11(b)に示すように上りと下りで波長を変えるか、あるいは上りと下りで別ケーブルを使用する程度である。その場合、全てのノードが同じ波長を使って制御チャネルで制御信号の送受信を行うため、送受信の順番などのプロトコルを決めておく必要がある。例えば、図11に示すように上り、つまり一般ノード2が制御信号を送信するときは、制御チャネルを複数のタイムスロットに時分割して各ノード2の送信順序を予め決めておくTDMA(時分割多元接続)とし、下り、つまりネットワークコントローラ3が制御信号を送信するときは、各ノード2に対して制御信号を順次送信するTDM(時分割多重)とするなどの方法を採用することが考えられる。また、制御チャンネルのフレーム長とデータチャンネルのフレーム長は等しくなくても良く、よりフレキシブルな管理をするためにも1データフレーム長に複数(できれば整数)の制御チャンネルフレームがあることが望ましい。
次に、ネットワークコントローラ3が故障した場合、あるいは後述する予備のネットワークコントローラが故障した場合の対策について説明する。このような場合、ネットワークコントローラ3やその予備機、あるいは一般ノード2にネットワークコントローラ3の故障検出機能を持たせ、ネットワークコントローラ3の故障を検出したときは、通信スループットが悪くなることを是認した上で、図12に示すようなプリアサイン方式や、分散制御方式に切り替えるものとする。
プリアサイン方式は、予め決められたタイムスロット割当てに従ってタイムスロットを割当てる方法であり、図12の例では一つのノードから他のノードへ均等にデータを送信するようにタイムスロットを割当て、受信時には他のノードからのデータを順番に受信するようにしておく。他の方法として、予め通信量を申告しておき、それに基づいて通信量の多いノードペアにより多くのタイムスロットを割当てるようにしてもよい。さらに、ネットワークコントローラ3が故障した時点でのタイムスロット割当てを変更しない、という方法をとってもよい。この方法は、廃棄率やスループットは低下するが、非常に簡単であるため、ネットワークコントローラ3の修復が比較的速やかに終わると予想される場合には有効である。
分散制御方式は、前述したように個々の一般ノード2が制御チャネルを通して話し合うことでタイムスロット割当てを決定する方法であり、空きタイムスロットが少ない場合には前述のように交渉が非常に複雑になり時間が掛かる。また、通信量の変化が大きい場合には複数の相手に同時に話しかけるようなことが起こり、返答が重なったりして混乱が起こる可能性がある。従って、分散制御を行うと事態を収集するための制御に時間が掛かるため、結果として廃棄が多くなり、スループットを低下させる。しかし、各ノードの送受信タイムスロットに比較的空きが多く、通信量の変化が緩やかな系であれば、この分散制御方式でも十分対応できる。また、分散制御方式はプリアサイン方式よりは廃棄率が小さく、スループットの低下が少ない。
ネットワークコントローラ3の故障時にタイムスロット割当て方式を上述したプリアサイン方式や分散制御方式に切り替えることを可能とするために、本実施例ではネットワークコントローラ3および一般ノード2に、基本的な故障を検出できる自己診断機能を持たせる。この自己診断で検出できない故障がネットワークコントローラ3に生じる場合も考えられるので、そのようなネットワークコントローラ3の故障を検出するために、例えば図14(a)に示すようにネットワークコントローラ3に接続され、独立した送受信器(少なくとも制御信号の送受信器)を備えた監視装置7を配置する。さらに、停電その他の電源故障の場合もあり得ることを考慮して、ネットワークコントローラ3と同じ場所に置かずに、図14(b)(c)のように異なった位置に監視装置7を配置するようにしてもよい。監視装置7は独立した専用の装置でも良いし、あるいは一般ノード2のいずれかが兼ねてもよい。
また、監視装置7自体の故障もあり得るので、コストに余裕のあるシステムにでは監視装置7を複数個設けることが望ましい。具体的には、例えば専用の監視装置7を複数用意するか、または予備のネットワークコントローラにも監視機能を持たせるか、あるいは監視装置7の機能を兼ねる一般ノード2を幾つか用意してもよい。
監視装置7あるいは監視機能を持つ一般ノード2が自分以外の装置あるいはノードの異常を検出した場合、自己診断機能によってそれが自分の故障によるものでないかを判断する。自分の故障でなかった場合で、システムの動作に大きな影響を与える動作、例えば後述するようなネットワークコントローラ3からの制御チャネルによる制御信号の送信を邪魔したり、あるいはネットワークコントローラ3を止めるなどの動作を行う場合には、自己診断機能の故障もあり得るので、故障が見付かった装置、ノードでない他の装置、ノードも同じ様に故障を検出しているかどうかなど制御チャネルを通して確かめる。これには、例えば自分以外の故障を見付けた場合に、制御チャネルで必ず報告しているようにしているのならば制御チャネルを監視しているのみでよいし、そうでない場合は制御チャネルを通して確かめるようにすればよい。故障を確かめたら、初めてシステムの動作に大きな影響を与える動作を行う。また、故障を確かめられなかった場合は、自分の故障の可能性があるので、その旨をネットワークコントローラ3やネットワーク管理者に通知するようにする。
監視装置7は、ネットワークコントローラ3の送受信内容から異常(故障)の有無を監視し、異常を確認した場合には、ネットワークコントローラ3、ネットワーク管理者およびシステム全体、のいずれかまたは全部に制御チャネルを通してアラーム信号を出す。ネットワークコントローラ3やネットワーク管理者に出すアラーム信号は、図14(a)(b)に示すように監視装置7がネットワークコントローラ3に直結されている場合には、直結線を使用して送出すればよいし、直結されていない場合には、例えば公衆網など外部の異なるネットワークを通してアラーム信号を送出するか、あるいはアラーム信号用に専用の波長を用意しておいたり、アラーム信号用に制御チャネルに専用のタイムスロットを用意しておくなどの方法がある。
監視装置7はネットワークコントローラ3の異常を検出すると、上記のようにまずネットワークコントローラ3にそれを通知し、ネットワークコントローラ3の自己診断機能で自己診断させる。このとき通信システム全体に対しては、図15(b)のように通信システムの機能を妨げない程度の短いアラーム信号を出してもよい。また、このアラームでは改善が見られず、前述のように故障検出機能自身の故障で無い場合で、かつネットワークコントローラ3の異常の程度が非常に大きく通信システムが動作できないような場合には、図15(a)のように制御信号に被せるようなアラーム信号を出し、また異常の程度が小さくあまり通信システムに影響しない場合には、図15(b)のように制御信号の合間、例えばTDMAのガードタイムの間などにアラーム信号をパルス状に出すようにしてもよい。この場合、異常の内容に応じて例えば図15(c)に示すように予めアラーム信号を構成するパルスの種類などを決めておくことにより、アラームによって異常の内容が分かるようにしておくことが好ましい。
さらに、ネットワークコントローラ3の異常の程度が大きく、かつ即座に修復できないような場合、ネットワークコントローラ3を止められる権限を与えておくとよい。また、図21に示すように予備のネットワークコントローラ9がある場合には、この予備機9に切り替え予備機9の故障を検出するためにのみ専用の監視装置が働くようにしてもよい。ネットワークコントローラ3を止める動作は、例えば図14(a)(b)に示すように監視装置7がネットワークコントローラ3に直結されている場合は簡単に実現でき、図14(c)に示すように直結されていない場合には、ネットワーク管理者にその旨を通知して止めてもらうようにすればよい。また、制御チャネルで特殊な信号を受信するとネットワークコントローラ3が止まるような機能(予備機9がある場合には、予備機9が動作を始めるような機能)を備えておき、その様な信号を監視装置7が出すようにしてもよい。
さらに、予備機9も含めてネットワークコントローラ3が止まるか、または人為的に止められた場合には、どのタイミングからどの様なプロトコル(前述)で通信を行うかを制御チャネルを通して各ノードに指示する。例えば、ネットワークコントローラ3が制御チャネルで制御信号を送信する時間またはその予定の送信時間に、その様な内容を監視装置7が送信すれば良い。また、一般ノード2はネットワークコントローラ3に重大な異常が発生した時点、すなわち監視装置7がその異常発生を通知した時点、あるいは監視装置7がネットワークコントローラ3を止める信号を出した時点から監視装置7からの指示が来るまでは、タイムスロット割当てを変化させないなどの対策をとるとよい。
なお、上述した監視装置7を特別に用意する必要は必ずしもない。一般ノード2は、少なくとも自ノードに関係するネットワークコントローラ3の動作異常、例えば自ノードが送信要求を出していないのに送信タイムスロットが割当てられたり、新たなタイムスロット割当てが使用中のものと重なっているなどの異常については検出することができる。このような場合、当該ノード2は取り敢えずネットワークコントローラ3に対して動作が異常である旨を制御チャネルを通して通知する。それでもネットワークコントローラ3の異常が改善されない場合には、制御チャネル上の制御信号の送信状態が図11のような形態であるならば、各ノード2はネットワークコントローラ3からの送信だけでなく、他ノードの送信も聞けるので、ある特定のノード(例えば、公衆網のゲートウェイになっているノードのような、停止することの少ないノードがよい)は、他ノードの送信も常に聞くようにして、異常を検出したノードは制御チャネルの自分の割当てタイムスロットの中で、ネットワークコントローラ3の異常とその程度をその特定のノードに通知する。通知を受けた特定ノードは、公衆網、ホットライン、あるいは波長多重光ネットワーク1を介してネットワーク管理者に通知する。
ネットワークコントローラ3がさらに深刻な異常を起こした場合には、上記特定ノードが制御チャネルを通して合図をすると、ネットワークコントローラ3が予備機9に切り替わるか、あるいは予備機9が故障したり、予備機9がない場合には、一斉に前述したバックアッププロトコルに切り替えるようにする。その判断は特定ノードの判断でも良いし、ネットワーク管理者の判断を待ってもよく、システムによって異なる。
この方法はネットワークコントローラ3の異常のみでなく、他ノードの異常の場合にも適用できる。自ノードとの通信を行うあるいは行う予定であったノードが正しく通信を行っていない場合には、その検出はデータが正しく受信されていないことから直ぐに行うことができる。この検出結果をネットワークコントローラ3に通知すれば、ネットワークコントローラ3は異常な通信を行っているノードに命令して改善させることができる。
ネットワークコントローラ3の異常に対する簡易な対処方法として、ネットワークコントローラ3がどのノードでもその異常が検知できる程度まで故障した場合のみ、その異常に対処するという方法も考えられる。例えば、ネットワークコントローラ3が制御チャネルで送信を行わない、制御チャネルでの送信パワーが異常に低下している、制御チャネルでの送信のタイミングが明らかに間違っているなどの場合である。また、ネットワークコントローラ3が自らの異常を検出して動作できない旨を通知してきた場合も含む。
これらの場合、各ノード2は取り敢えず異常を検出すると、その旨を制御チャネルでネットワークコントローラ3あるいは他ノードに通知する。修復不可能である場合、ネットワークコントローラ3自体が前述した方式のプロトコルの切り替えを指示できればすればよいし、指示が来ない場合には、例えば特定のノードを決めておき、そのノードでの判断によって各ノードへ切り替えを指示する。特定のノードは、いずれか一つを予め決めておいてもよいが、LAN(ローカルエリアネットワーク)、特に波長分割多重のLANではノードが休止していることがあり得るので、例えば指示を出す順番を決めて第1番目のノードが最初に指示を出すことにしておき、所定時間待っても第1番目のノードが指示を出さない時に、第2番目のノードが指示を出す、というようにしてもよい。指示を出すノードは、ネットワークコントローラ3の故障と思ったものが実は自ノードの故障であることもあり得るので、他ノードもネットワークコントローラ3の故障を制御チャネルで訴えているかどうか確認してから指示を出すことが好ましい。
また、自ノードの故障であることが分かった場合には、それをネットワークコントローラ3に通知し、自ノードの管理者がいれば通知する。ネットワークコントローラ3はネットワーク管理者に通知し、そのノードの故障の程度により対処をする。対処の内容は、例えばそのノードはタイムスロット割当てを変更させない、通信を中止させる、などであり、また他のノードに対してそのノードの異常と異常の程度を通知する。
さらに、以上述べたような光通信システムでは、制御信号はタイムスロット割当ての決定のみでなく、データの送出タイミングを示すタイミング信号の役割を果たすこともある。従って、ネットワークコントローラ3が故障してもタイミングが保持できるように、例えば監視装置7やプロトコルの切り替えを指示した一般ノードがネットワークコントローラ3に代わってタイミングを与えるようにするか、いずれかのノードに指示してタイミングを与えさせると良い。
次に、本発明の光通信システムでの同報・マルチキャスト機能について説明する。LANでは同報・マルチキャスト機能が重要であるが、本発明のような光通信システムでこれを実現しようとすると、複数の送信相手で受信空きタイムスロットが共通にとれない可能性がある。そのため、ネットワークコントローラ3は各ノードの送受信のタイムスロット割当てを管理・整理して、同報・マルチキャストの要求が起こったとき即座に対応できるようにしておく。
具体的には、例えばフレームの後ろの方の幾つかのタイムスロットは同報・マルチキャストの要求があったときのために常に空いているようにする。そのために、同報・マルチキャスト以外の通常の送信要求があった場合、出来るだけフレームの前の方から送信できるタイムスロットを探していく。また、同報・マルチキャスト用に確保しておいた幾つかのタイムスロットを使わなければデータを送信できない場合には、取り敢えずそのタイムスロットを使ってデータの送信を開始し、前述のタイムスロット割当て法で述べたように、前の方のタイムスロットのうち移動させられるものを移動させることにより、送受信の共通空きタイムスロットを作り出す。
また、このような事態ができるだけ起こらないように、例えばフレームの後ろに近いタイムスロットを使用してデータの送受信を行っている組は、出来るだけ前の方にずらしていくようにネットワークコントローラ3が制御を行うことが好ましい。例えば、タイムスロットの利用状況などから、移動した方が良い送受信タイムスロットの組をリストアップしておき、いずれかのタイムスロットが新たに空きタイムスロットになった場合に計算を開始し、その空きタイムスロットを利用してリストアップされた組の移動が可能かどうかを調べていく。ネットワークコントローラ3の処理能力に余裕があれば、空きタイムスロットが新たに発生したとき以外でも、より前方に詰められた効率の良いタイムスロット割当てが出来ないかどうかを調べていてもよい。これらの計算は、ネットワークコントローラ3の能力に応じてネットワークコントローラ3内に専用のプロセッサを設けて行ってもよいし、通常の制御の合間を縫って行ってもよい。
また、ここではタイムスロットは出来るだけフレームの前方に詰めるように説明したが、出来るだけ後方に詰めてもよいし、同報・マルチキャスト用に空けておきたいタイムスロットの番号と優先順位を決めておいて、同様の制御を行ってもよい。
ところで、本発明のような波長分割多重に時分割多重を併用した光通信システムでは、1タイムスロットがATM(非同期転送モード)交換における情報転送単位であるセルと比較して非常に長い(10倍〜100倍程度)時間になる可能性がある。本発明の光通信システムがバックボーンLANとして使用される場合、送信側に接続された下位ネットワークの異なる複数の端末からのデータが1タイムスロットの中にまとめられて入り、それが受信側に接続された下位ネットワークの複数の異なる端末に送信されることになる。
しかし、同報・マルチキャスト通信を行う場合には、同報・マルチキャスト通信に供される1ノードからの送信データが常に1タイムスロットを埋められるだけの量であればよいが、その送信データを出す端末が下位ネットワークの1端末のみである場合などでは、1タイムスロットが割当てられたにも拘らずタイムスロットはほとんど空同然であることもあり得る。さらに、放送のような一方通行の同報・マルチキャスト通信であれば良いが、複数箇所を接続したテレビ会議システムのようなそれぞれのノードが送信を行う系では、タイムスロットがほとんど空の状態で幾つも占有されることになり効率が悪い。
従って、同報・マルチキャスト通信用に空けておくタイムスロットは、図13(a)に示すように他のタイムスロットよりもタイムスロット長を短くするなどの工夫をしておくことが好ましい。勿論、他の部分で通常通信用のタイムスロットがとれない場合には、この短いタイムスロットを使って通常の送受信を行っても構わない。
また、上述のTV会議システムのような同報・マルチキャスト通信を行う場合には、具体的な通信量をそれぞれのノードに申請させて、それに見合った時間で新たにタイムスロットを区切り直してもよい。図13(b)はその様子を示したもので、例えば通常のタイムスロット1つ分を通信情報量に合せて細かく区切っている。通信情報量がタイムスロット1つに収まらなければ、収まるだけの数のタイムスロットを使用すればよい。
さらに、タイムスロットの空き部分に別の情報を乗せてもよい。例えば、1つのノードから複数の同報・マルチキャスト通信データが送信される場合には、その通信データを1タイムスロットにまとめればよいし、ある特定の相手に対するデータをタイムスロットの空き部分に入れて送信してもよい。
また、TV会議システムのように同報発信者が多数いて、かつ遅延が大きくてもよいアプリケーションでは、ある1つのノードにそのアプリケーションの他の同報発信者からのデータを通常の送受信で送り、そこで改めて1つのタイムスロットにまとめて送信しても良い。
ここで、全ての同報相手に共通の受信空きタイムスロットがとれない場合には、以下のような方法をとればよい。例えば、1個の共通空きタイムスロットがとれなくとも、グループ内でならば共通の空きタイムスロットがとれるようなグループに同報相手を分け、送信者はそのグループの数だけ同じ情報を送信する。このとき、同報の送信者がそれらのタイムスロットで送信タイムスロットが空いていない場合には、送信者が送信できないグループにはバケツリレーにより中継を行う。この中継は、前述したバケツリレー専用ノードが行ってもよいし、ネットワークコントローラ3あるいは他の一般ノードが行ってもよい。また、同報の送信者が送信できないグループの共通空きタイムスロットに送信できるノードが、同報の送信者が送信できるグループの中にあれば、そのノードが中継してもよい。さらに、一般ノード2にそのようなコピー機能がない場合には、やはりバケツリレー専用ノードで中継を行ってもよい。
次に、本発明において波長多重光ネットワーク1を拡張する場合を考える。波長多重光ネットワーク1が図2(a)に示したようなパッシブスター型ネットワークの場合は、スターカップラ4のポート数を越えてネットワーク1を拡張することは難しい。1つのポートにカップラを介して2つ以上のノードを接続することは可能であるが、それらのノードに関しては送受信の光強度が小さくなり、受信感度が劣化するという問題があるためである。また、この劣化を問題とする場合には、光伝送路にアンプを挿入したり、送信パワーが大きくかつ受信感度が良い送受信器を用意するなどの対策が必要で、コストが大きくなる。一方、送信波長固定方式では、1ノードに一つ波長を割り振るので、受信器の波長可変範囲などから、総波長数すなわちノード数に限界がある。
図16は、このような限界を越えて波長多重光ネットワーク1を拡張する場合の実施例であり、複数の波長多重光ネットワーク1間をゲートウェイ8で接続した構成となっている。ゲートウェイ8は例えば図17〜図20に示すように構成される。
図17に示すゲートウェイ8は、ゲートウェイ受信器31、信号処理部32およびゲートウェイ送信器33を縦続接続して構成され、送信側の波長多重光ネットワークから受信側の波長多重光ネットワーク宛の光信号をゲートウェイ受信器31により電気信号に変換し、信号処理部32で所定の処理を施した後、ゲートウェイ送信器33により光信号に変換して送信し直すようにしたものである。ゲートウェイ受信器31、信号処理部32およびゲートウェイ送信器33は、それぞれ1つまたはトラヒックに応じて複数個用意される。ゲートウェイ受信器31の受信波長と、ゲートウェイ送信器33の送信波長は、それぞれに接続されている側の波長多重光ネットワークの方式に従うものとする。
図18に示すゲートウェイ8は、波長選択装置41と波長変換装置42により構成され、波長選択装置41はネットワークコントローラ3から指示されている送信側のタイムスロットを選択し、これを波長変換装置42が受信側の波長多重光ネットワークで指定されている波長の光信号に変換して出力する。
より具体的には、図19に示すように送信側の波長多重光ネットワークからの光信号を波長分波器51で波長毎に分割し、これを光スイッチ52に入力して受信側の波長多重光ットワーク宛のタイムスロットを選択し、さらに波長変換装置53で波長変換して、波長合波器54で合波して出力する。さらに他の構成法として、図20に示すようにカップラ61とチューナブルフィルタ62に図19における波長分波器51と光スイッチ52の機能を兼ねさせ、チューナブルフィルタ62から出力される光信号を波長変換装置63により波長変換して、カップラ64で合波して出力するようにしてもよい。
次に、本発明の光通信システムでコネクションレスデータ(以下、CLデータという)をサポートする方法について説明する。CLデータをサポートする方法としては、例えば以下の方法がある。まず、図22に示すようにCLデータ中継用の中継ノード10を波長多重光ネットワーク1に接続する。CLデータは一旦それを発信する一般ノード2から中継ノード10へ送信し、中継ノード10から送信相手のノードへ転送する。データの送受信は、フレーム毎に中継ノード10と通信するノードを予め決めておいて行う。また、フレームという概念を導入していないネットワークでは、タイムスロット列を何個か毎に区切って同様のことを行う。
一般ノード2は、予め決められた送信順序に従って自ノードの順番が到来した時点、つまり自ノードがCLデータを送信できるフレームが到来した時点で送信すべきデータがあれば、自ノードの送信の空きタイムスロットにCLデータを挿入する。また、送るべきCLデータがあるのに空きタイムスロットがないと言うことが頻繁に起きると予想されるトラヒックの多いネットワークでは、空き帯域、即ち使用中のスロットの残余帯域を使用しても良い。このとき、通常のデータとしてCLデータが区別できるようにヘッダを付けるなどすると良い。
そのタイムスロットの内容がCLデータであることが中継ノード10に分かるように、例えばその旨を示す情報をデータのヘッダに書き込んでおいてもよいが、ハードウェアのレベルで簡単に判別できるようにしておいてもよい。
例えば波長多重光ネットワーク1が送信波長可変のネットワークの場合には、CLデータ専用の波長を決めておけば中継ノード10は受信器の受信波長をCLデータの送信波長に同調させておくことで、CLデータのみを受信することができる。また、波長多重光ネットワーク1が送信波長固定のネットワークの場合には、タイムスロットの先頭で、ある特定のパルス列を送信するなどの方法がある。さらに、中継ノード10が予めネットワークコントローラ3と連絡をとるか、あるいは制御チャネルをモニタするなどして、一般ノード2の送受信タイムスロット割当てを例えばタイムスロット割当てテーブルを内部に持つことで把握しておき、そのノードの送信空きタイムスロットにデータがあった場合に、それを受信する方法もある。
中継ノード10内の受信器は、一般ノード2のCLデータの送信順序に従い、あるフレームではある特定のノードの送信データを受信し、その中のCLデータのみを取り出し、メモリなどに保存する。このとき、CLデータの宛先を見て、宛先毎にデータを仕分けしておくとよい。これは具体的には、例えば一般ノード2が中継ノード10にCLデータを送信する段階で、宛先毎に異なるタイムスロットで送信するようにしてもよいし、あるいは一般ノード2は全く宛先などを気にせず単純に送信し、中継ノード10に仕分けを一任してもよい。これらはネットワーク毎に異なる。
また、中継ノード10内のメモリでは、例えば予めメモリ領域を宛先毎に区切っておき、その宛先のデータが来たらその領域にデータを格納するようにしてもよいし、データに宛先が即座に判別できるタグを付けておいてもよい。
中継ノード10から一般ノード2へのCLデータの転送も、同様にして行う。すなわち、一般ノード2はCLデータ受信の順番を決めておき、自ノードがCLデータを受信するフレームが来たならば自ノードの受信空きタイムスロットで中継ノード10からの送信に対して同調を行う。中継ノード10は、予めネットワークコントローラ3と連絡を取るか、あるいは制御チャネルをモニタするなどしてタイムスロット割当てを把握しておき、相手ノードの受信空きタイムスロットのタイミングでデータを送信する。このとき、中継ノード10はメモリ内に保存されたデータのうち、その時点でその相手ノードが宛先になっているデータを取り出して送信する。
このようにネットワーク内にCLデータ用の中継ノード10を設け、空きタイムスロットを用いてCLデータの送受信を行うことによって、CLデータ送受信のためにネットワークコントローラ3に要求を出して手続きをする必要がなくなり、またCLデータのために他の通常のデータの送受信のための帯域が制限されることもなくなる。もちろん、CLデータの中にも遅延のきびしいものがあるため、その様なデータは通常の手順で送るか、あるいは相手ノードとの間でタイムスロットが設定されていれば、その残余帯域を利用して送れば良い。このとき、統計多重効果で発生したタイムスロット内の残余帯域を使用しても良い。
次に、上述した光波長多重ネットワークの細部について説明する。
図23は、図24に示すようなノード数がnである波長多重光ネットワークのタイムスロットを分割する方法の一例を示している。図23(a)では、1フレーム中に2nのタイムスロット数がある。作用で述べたように、タイムスロット数がノード数の2倍以上あれば、著しい呼損が起きにくくなる。波長切り替えのためガードタイムが短いシステムならば、図23(b)の様にタイムスロット数を2nよりも多く設定することにより、よりスループットを上げることができる。
本発明のようなネットワークでは、実際にネットワークに接続されているノード2の数はその時々や場合によって異なることが多い。しかし、そのネットワークに接続できるノード2の最大数はほぼ決まっていることが多いので、予めその最大数を基準にしてタイムスロット数を決めれば良い。また、タイムスロットの数、長さ、あるいはフレーム長などが(日単位、月単位程度の)ゆっくりとした速さででも変更できるネットワークであれば、ノード数に変動が有ったときに変えても良い。あるいはノード数が変動する都度でなくても、タイムスロット数がノード数に対して多すぎたり少なすぎたりしてネットワーク1の効率やトータルのスループットが満足のいかない状態になった(またはなりそうな)時点で変えても良い。
図25は、トラヒックの偏りに対応するためにタイムスロットの大きさを2種類以上用意した例である。この場合でも勿論、1フレーム内のトータルのタイムスロット数はノード数の2倍以上あると良い。どの大きさのタイムスロットを何個ずつ用意するかに関してはそのネットワークのトラヒックの状況によって異なる。
例えば、比較的相手ノードの偏りの小さいネットワークでは、電話やメールなどの小さいファイルの転送に用いるための電話が数本から数十本通る程度のタイムスロットをノード数だけ用意して、後は、CADデータなど大きいバースト状のデータ送信に備えて1タイムスロットで画像データが通るような大きいタイムスロットにすることも考えられるし、偏りの大きいネットワークでは小さいタイムスロットをノードの数より少なめに用意し、後は、図25(c)の様に大きいタイムスロットと中程度のタイムスロットを用意しておいても良い。
図25(a)はその一例として細かいタイムスロットと大きいタイムスロットとの2種類有る例を示している。(b)はもう一つの例であって、上述した実施例で述べた同報のための細い区切りのタイムスロット(M1〜MM)と合わせて3種類用意した例を示している。(c)は大中小3種類のタイムスロットがある例を示している。(d)はフレームを非常に細いタイムスロットに分割し、トラヒック量に応じて細いタイムスロットを何個か続けて使用する(その間にはガードタイムを取らない)ようにすることで等価的にタイムスロットの長さを変えている例を示している。(d)の場合には、実際に受信波長を切り替えるのは矢印で示した部分だけであるので、ガードタイムの回数が増え過ぎて効率が悪くなるということはない。さらに、(e)のように細いタイムスロットに区切らないで、任意の位置で区切ることもできる。ただ、本発明の波長多重ネットワークでは、図37のように相手ごとに波長を切り替えて受信するために、その等価的なタイムスロットの区切り方が相手によって異なると、その調整をするために非常に複雑なアルゴリズムが必要となる可能性がある。
図26は、公衆網のクロックに本発明の波長多重ネットワークのクロックを同期させるために、ネットワークコントローラ3がクロックを公衆網から抽出して制御チャネルを通じて一般ノードに分配する系の構成例である。ネットワークコントローラ3は公衆網20に接続されており、さらに、公衆網20へのゲートウェイとなっている。あるいは公衆網20に接続されていなくても(公衆回線に接続できなくてもて)公衆網20に同期したクロックが入手できる回線と接続していればそれでも良い。図27は公衆網へのゲートウェイとネットワークコントローラ3が異なるノードである例を示しており、ここではネットワークコントローラは公衆回線への接続は請け負わない。
図28は、公衆網20へのゲートウェイのノードからホットラインなどでクロックのみをネットワークコントローラ3に送っている例を示している。
このようにしてネットワークコントローラ3は公衆網に同期したクロックを得て、ネットワークコントローラ3が制御チャネンルで送信するときにそのクロックの速度で送信を行い、それを各ノード2が受信してクロック抽出を行うことによって各ノードが、公衆網20に同期したクロックを得ている。
図29は、制御チャネルをWDMで多重する場合のノードの構成例である。この構成では、光ファイバ72に接続されたWDM合分波器71−1はデータ送信器76および制御信号送信器77に結合され、WDM合分波器77−2はデータ受信器78および制御信号受信器79に接続される。データ送信器76、制御信号送信器77、データ受信器78および制御信号受信器79はノードコントローラ80に結合される。この構成において、制御チャネルの波長は全てのノードで共用するため、通常のLANと同様に時分割に、ネットワークコントローラ、各一般ノードが送信を行い、送信されたそれら全ての制御情報を受信することになる。その時分割の方法の一例が図30に示されている。図30の(a)では、ネットワークコントローラ3からの情報を続けて送信し、各一般ノードからの送信をTDMAで行っていることが示されている。この方法は、ノードの数が比較的少ないか、一般ノードからの情報量が短いなど、NWCが送信していない時間が短くて、その間各ノードがクロックを正しく保持できる場合に有効である。そうでない場合には(b)のように一般ノードとネットワークコントローラの送信を交互に行うか、あるいは(c)のように一般ノードを幾つかのグループに分けて(a)と同様のことを何回か繰り返してそれを一周期とするなどの方法を取ってネットワークコントローラ3が送信していない時間をクロックが保持できる時間内に収めるとよい。
また、クロックの送信形態としては、前述のように制御チャネルのビットレートを公衆網20に同期したビットレートにするという方法の他に、公衆網のハイアラーキのどれかのビットレートの整数倍あるいは整数分の1などの分かりやすいビットレートにして送信するという方法もある。さらに、制御チャネルのビットレートは任意に設定して図31(a)の様に公衆網に同期したクロック周波数のマイクロ波を同時に制御チャネルの送信光に偏重することも可能であるし、また、図31(b)のようにクロック周波数のマイクロ波に制御情報を変調してその変調波で制御チャネルの送信光を変調しても良い(サブキャリア変調)。なお、図31はネットワークコントローラの制御チャネルでの電気段での送信スペクトルを示しているものである。
図31(a)のようにすると、制御チャンネルでの他のノードの送信時にもネットワークコントローラはクロックを送信し続けることができ、一般ノードは常時クロックを供給されることが可能となる。このとき、制御チャネルがある光波長を占有する形で時分割で使用されている場合には、その波長帯に同時に異なるノードからの送信があると、それらの送信光の光キャリア同士が干渉し合ってビート雑音が発生する。そのため、ネットワークコントローラが他のノードの制御情報伝送時にクロックのみを送信する場合には、ビート雑音が受信帯域内には入らない程度に、ネットワークコントローラ3の制御チャンネル用送信器の波長と他のノードの制御チャンネル用送信器の波長を遠ざけると良い。
また、図31のような方法をとると、制御チャンネル用送受信器の帯域を広げなければならないように思われ、図31(b)の例では、確かに帯域を広げなければならないが、図31(a)では、高周波部分にあるのがクロックのみであるため受信感度をほとんど気にしなくて良く、クロック周波数の正弦波が通りさえすれば良いので、フィルタの帯域や形を変更するなどの少々の変更は必要だが、そのために送受信器を高ビットレート用のものに取り替える必要はない。
図32はネットワーク内のパスを示すための説明図である。本発明のようなネットワークでは、実質的に図32(b)のように送信−受信のペアごとに線を張っているものと見なせる。パス識別子はその送信−受信ペアに対して(図32(b)の1本の線に対して)1つ以上の識別子を「ネットワーク」が与える。本発明の場合、「ネットワーク」とは具体的にはネットワークコントローラ3である。ただし、専用ノードがあるのなら専用ノード、または、一般ノード2のどれかがネットワークコントローラ3を兼ねても良い。
基本的にはネットワーク1内にパス識別子を発行するノードは1つとする。また、ノードi送信−ノードj受信とノードj送信−ノードi受信は別のものとし独立なパスとして扱う。
1つの送信−受信ペアに与えられるパス識別子は、そのペア内のトラヒック量に応じて1つ以上与えられるが、この時、送受信帯域の物理的な区切りであるタイムスロットとは独立に用いると良い。即ち、図33(a)のように異なるタイムスロットで同じ相手に送る場合があるが、同じ相手に送るこれらのタイムスロットを図33(b)のようにひとまとめとして扱い、その中でのパス識別子はタイムスロットの区切りとは全く独立に取り扱う。図33(b)のタイムスロットのまとまりは、図33(c)のような呼の集まりであり、各々の呼には図33(d)に示すようにヘッダを有する呼を識別するためのパス識別子およびチャネル識別子が記されている。同じタイムスロット内にある呼でも、パス識別子は異なることがあってよい。その様にタイムスロットとパスを独立にとると、例えば図34のようにいずれかの呼の終了が起こって、その相手に送るタイムスロットの数を減らせる場合に、パス識別子およびチャネル識別子の再発行をせずに済む。もちろん、呼の終了によってそのパスが使われなくなったのであれば、パス識別子はネットワークに返せば良い。
また、各ノード2の送信器ハードウェア内のバッファ構成が、図35のように(タイムスロットごとでなく)送信相手ごとにバッファリングする構成を取っており、これにより、各ノードはその様なタイムスロットの減少に速やかに対応できる。即ち、入力スイッチ116は複数のバッファ(B1 ないしBn ー1 )115を介して出力スイッチ114に接続される。出力スイッチの出力端子は送信器113に接続される。送信器113、スイッチ114および116並びにバッファ115はノードコントローラ110によって制御される。
通常、パスの中のチャネルを識別するチャネル識別子もネットワークが発行する。本発明のようなネットワークは、非常にスループットが高いため、1つの呼の大きさが小さいものでは電話程度の帯域である場合がある。その様な場合、ネットワーク内に存在する呼の数が非常に大きくなり、それらを全て1つのノードで集中して処理するのは大変な処理量になる。パス識別子はネットワークで統一して管理する必要があるためネットワークコントローラ(あるいは他のノード)が一括して管理するが、チャネル識別子の発行も同時に行おうとすると、ネットワークコントローラの規模が非常に大きくなり、また、制御チャネルなどでそのためにやり取りする情報量が非常に大きくなって効率が悪い。従って、本発明のようなネットワークではチャネル識別子は各送信−受信ペアを構成する各一般ノード2が独立に発行すると良い。
上述のようにネットワーク内に存在する呼の数は膨大な数となるため、それに対応するためのパス識別子およびチャネル識別子に使用するビット数も多くなるはずである。それらは実効的なデータレートを下げることになるので、できるだけビット数を下げるのが望ましい。一つのパスの中に含まれるチャンネル数にばらつきがあって少ないチャネル数しか含まれていないパスの数が多いと、結局パス全体の数を増やさねばならず、識別子のために使われるビット数が大きくなってしまう。そこで、パス識別子の割り振りはそのペア内の呼の数に応じて行われるのが望ましい。しかし、スループットが非常に大きく、データレートの少々の減少であればかまわないネットワークであるならば、下位ネットワークに対応してパス識別子を割り振る方法も考えられる。図36はその説明図であるが、(a)は本実施例のネットワークの論理構成図であり、各ノードに接続されている下位ネットワークを合わせて記してある。(b)は(a)からノード1からノード2への送信だけを抜き出したもので、下位ネットワーク17、即ちネットワークLNW1からLNW3への送信とLNW2からLNW3への送信は異なるパス識別子を与えている例を示している。これは、送信元の下位ネットワークごとに分けた例であるが、このほかに、送信先の下位ネットワークごとに分けても良いし、そのペアごとに分けるなどの分け方もある。
これらのパス識別子の要求は、一般ノードが新たなパス識別子が必要かどうか判断して行う。下位ネットワークからの新たな送信要求がノード2に上がってきた場合に、そのノードは自ノードの送信帯域の使用状況(その呼が新しく入る余地があるかどうか)を見て、ネットワークコントローラにタイムスロット要求、パス識別子要求をするかどうか決めると良い。つまり、要求された呼が入る余地がない場合には、ネットワークコントローラに要求は行わないようにし、ネットワークコントローラに断らなくてもその呼設定が行えるのならば、ネットワークコントローラには通知をしないようにして、できるだけネットワークコントローラの負荷を軽くすると良い。また、設定できなかった呼の処理をどの様にするか(待たせておくのか、諦めさせるのか)なども、各ノードの判断で行えばよく、特にネットワークで統一する必要はない。
しかし、タイムスロット要求がネットワークコントローラになされ、そのタイムスロットが設定できなかったときや、同時に他のノードからもタイムスロット要求があってどちらか一方しか設定できない場合も考えられる。その場合、その要求はどの程度までなら待つことができる、あるいはどちらを優先する、ということの判断材料としてネットワークに等級の概念を導入しておいても良い。すなわち、タイムスロット要求がなされてから、タイムスロットが設定されるまでに掛かっても良い時間や、その呼はどの程度の重要度であるかによって等級を定め、競合が起きたときに等級の高いものを優先させ、設定できなかったときに待てるものは、待ち行列に入れておく。
この場合、新たなタイムスロット要求は下位ネットワークから新たな呼設定要求があった場合に起こることを想定しているが、その呼設定要求は一つだけであると限らず、同時に同じ相手ノードへ送信される呼が複数発生し、その呼の等級が等しくないことも有り得る。その場合には、重要度は厳しい方を選び、呼設定時間までの待ち時間は長い方を選んでノードがネットワークコントローラに要求をする。後者の場合で、タイムスロット要求が待ち行列に入った場合、許容できる待ち時間が短い方の期限がきたらノードは自主的に呼損の通知を下位ネットワークに出す。さらに、そのことで、要求するタイムスロット数が変化したならば、そのことをネットワークコントローラに通知する。また、あるタイムスロット要求がネットワークコントローラで待ち行列に入っているときに、同じ相手ノードへの新たな呼設定要求が下位ネットワークからくる可能性もある。この時も同様にして、重要度、待てる時間などをノードが選択決定し、要求するタイムスロット数が変化するならば、そのことと合わせて、変更を(あれば)ネットワークコントローラに通知する。
さらに、呼設定が行われた後の品質クラスを導入すれば、統計多重効果によりトータルスループットを向上させることも可能である。呼内の情報損失や遅延ジッタを全く許容しない系では、ノードは下位ネットワークから呼設定要求があったとき、その最大ビットレートが常に保証されるようにタイムスロット内の帯域を割り当て、タイムスロットの要求を行わなければならない。このようにすると、当初は要求した帯域内であれば、どのような帯域変動があっても必ず対応ができるが、常に最大ビットレートで通信するとは限らない呼では、ほとんどの時間は帯域が余ってしまい、しかも、他の呼がその余った帯域を使用することができないので、効率が悪い。一方、今後の情報通信の発展の方向としては、ATMなどが多用され、帯域圧縮の技術も進み、固定ビットレートで伝送するよりは、送らなくても良い情報は極力送らずトータルの情報量を減らす向きに進むと考えられる。従って、そのような呼に効率よく対応するためには、ATM方式と同様に統計多重効果を利用する必要がある。
本発明のネットワークでは、タイムスロット要求があってからタイムスロットが設定されるまで、スムーズに行ったとしても少々の遅延があるし、また、タイムスロット要求が必ず通るとは限らない。従って、統計多重を期待して各呼の時間平均の帯域に基づいてただタイムスロットを埋めていくと、帯域変動があって1タイムスロットからはみ出してしまった場合に即座に対応できない。このため、呼の遅延優先度や許容廃棄率を定めておけば、帯域変動があって瞬時的に1タイムスロットからはみ出しそうな時でも、許容廃棄率の高い呼を廃棄する、新たなタイムスロット要求を出して遅延優先度の低い呼を設定されるまで待たせるなどの方法により対応できる。
しかし、本発明のネットワークは、もともと非常にスループットの大きいネットワークであり、帯域の大部分は未使用の状態で使用されている場合も考えられ、そのような時に無理に統計多重をおこなって廃棄などを起こす必要もない。従って、このような統計多重は、品質クラスだけは予め決めておき、ネットワークの帯域に十分余裕がある時には前述のような最大ビットレートによるタイムスロット申請を行って行き、ネットワークが混んできて、呼損が起こりそうになってきたら、統計多重の効果を利用するような帯域割り当てを行うと良い、この時も、単純に平均ビットレートで詰めて行っても良いが、絶対に廃棄を許さない呼に関してはそれまで通り最大ビットレートで帯域を確保し、そうでない呼に関して統計多重を行うと良い。
また、このように統計多重を行うと、瞬時的に1タイムスロット分よりも帯域がはみ出すことがあるのと同様に、帯域が平均よりも十分減っていることもある。品質クラス内に遅延はほとんど気にせず再送可にして廃棄率を低く保つクラスを設ければ、タイムスロット帯域が足りないときには、そのクラスの呼の内容をバッファにためてておき、帯域が余っているときに送信する方法もある。
ところで、同報でない通常のタイムスロット設定手順において、送信受信の共通空きタイムスロットが見つからなかった場合のより詳細なタイムスロット整理、移動の手順の一例を図39ないし図41を参照して説明する。
まず、送信および受信の空きタイムスロットの数を調べ、どちらかがまったく空きタイムスロットがない状態では、新たなタイムスロット設定は不可能なので、タイムスロット設定は失敗となり、ネットワークコントローラはこれを設定要求を出してきたノードに通知する。
次に、どちらにも空きタイムスロットがある場合には、送信ノード(T1)受信ノード(R1)どちらが先でも良いが、たとえば、送信ノードのある空きタイムスロットSiに注目し、このタイムスロットSiで受信ノードが送信を行っている相手を調べる。これがTiであるとすると、R1とTiの共通空きタイムスロットがないかどうか調べる。あれば、(これをSjとする)SjにSiを移すと、R1のSiが空くので、T1とR1で共通の空きタイムスロットができることになる。ネットワークコントローラはR1とTiにSiで行っていた通信をSjに移すように通知し、T1とR1にはSiで通信を行うように通知する。もし、R1とTiで共通空きタイムスロットが見つからなかった場合には、T1の別の空きタイムスロットで同様の手順を行う。全てのT1の空きタイムスロットでこの手順を行ってもT1とR1の共通空きタイムスロットが作り出せなかった場合には、R1の空きタイムスロットについて同様の手順を行う。それでも共通空きタイムスロットが作り出せなかった場合には、タイムスロット設定は失敗となり、その旨をタイムスロット設定要求を出してきたノードに通知する。
上記の例では、送信あるいは受信ノードの空きタイムスロットに注目して整理を行った。そのシステムのネットワークコントローラの能力に余裕がある場合や、あるいは成功した場合に送信されるはずの呼のプライオリティが高い場合などでは、上記の手順で設定できなかった場合に、さらに別のところを動かして共通空きタイムスロットを作り出すようにすることも可能である。上記の例では、例えば、R1とTiの共通空きタイムスロットが作り出せないかを同じ様な手順で調べたり、あるいはT1とR1のどちらにも使用中のタイムスロットに注目してその両方を他のタイムスロットに移動できないか調べるなどである。
また、そのシステムで同報用に共通空きタイムスロットを確保しておくようにする場合は、同報用のタイムスロットが空いていたとしても、ないものとして整理を行い、その結果、設定が不可能であった場合にのみ一時的に同報用のタイムスロットを使って送受信を行わせ、次に述べる同報のためのタイムスロット整理の手順でできるだけ早く、同報用のタイムスロットから移動させると良い。
次に、同報のためのタイムスロット整理および移動の詳細な手順の一例を述べる。同報用に空けておきたいタイムスロットに設定されている送受信ペアを他のタイムスロットに移動する手順をおこなう。ただし、同報用のタイムスロットに通常の送受信ペアが設定された時点から多少なりともタイムスロットの使用状況が変化した時点で行うか、あるいは同報用の整理の手順は通常呼の設定の手順よりもより調べる度合いを広くするのでなければ効果がない。
まず、その送受信ペアで共通空きタイムスロットがないかを調べ、ない場合には、上述の通常のタイムスロット設定と同様の手順で共通空きタイムスロットを同報用タイムスロットの他に作り出してペアの移動を行う。
また、タイムスロット整理のためにどこまで調べるかでネットワークコントローラの計算量が異なるため、そのシステムの負荷の状況や、ネットワークコントローラの処理能力によって調べる度合いを変えれば良い。例えば、単に共通空きタイムスロットが取れないかを探すだけの場合、共通空きタイムスロットがないときは、どちらかの空きタイムスロットに注目して他方が移動できないかを探すことまで行う場合、およびそれ以外のところを移動して共通空きタイムスロットを作り出せないかを探す場合など適宜使い分ける。
ネットワークコントローラ内でタイムスロット割り当てなどの処理を行う部分は専用の論理回路を用意する方法と、既製のプロセッサまたは、計算機を組み込む方法が考えられる。後者の方法を取った場合には、計算機を動かすソフトウェアが必要になる。この時、ソフトウェアは、どの程度までの処理(タイムスロット整理など)を行わせるかなどで、何種類か用意することになる。システムを導入したユーザに導入後にユーザの意志で変更が可能であるようにすることもできる。あるいは、専用の論理回路とプロセッサをハイブリッドに組み合わせることもできる。例えば非常に頻繁に行う処理で高速性を要求される部分のみを論理回路にし、それ以外の部分はプロセッサを用いてソフトウェアで処理するなどである。この場合も、ソフトウェアは変更可能にしておくことができる。
最後に、本発明の光通信システムでデータのセキュリティを守る方法について簡単に説明すると、例えばデータを暗号化する方法や、受信器に与える受信データ切り替えのための制御信号をネットワークコントローラ3が出し、各受信器が勝手にチャネルを切り替えられないようにする方法などを用いることができる。その他、本発明は種々変形して実施することが可能である。