(57)【特許請求の範囲】
【請求項１】
リングを構成する複数のノードの間でメッセージを伝達する方法であって、
メッセージの経路がショートパスであるとき、ショートパスの指定およびメッセージの送信元のノードの識別子を含み宛先のノードの識別子を含まないメッセージを生成し、
メッセージの経路がロングパスであるとき、ロングパスの指定およびメッセージの宛先のノードの識別子を含み送信元のノードの識別子を含まないメッセージを生成し、
生成されたメッセージを送信するステップを具備する方法。
【請求項２】
リングを構成する複数のノードの間でメッセージを伝達する方法であって、各ノードには第１のノード識別子と第２のノード識別子とが割り当てられ、各ノードは自ノードに割り当てられた第１のノード識別子と両隣のノードに割り当てられた２つの第２のノード識別子との組み合わせにより一意に識別され、
メッセージの宛先ノードに割り当てられた第１のノード識別子および第２のノード識別子の一方と、メッセージの送信元ノードに割り当てられた第１のノード識別子および第２のノード識別子の他方と、ショートパスまたはロングパスの指定とを含むメッセージを生成し、
生成されたメッセージを送信するステップを具備する方法。
【請求項３】
リングを構成する複数のノードの間でメッセージを伝達するための装置であって、
メッセージの経路がショートパスであるとき、ショートパスの指定およびメッセージの送信元のノードの識別子を含み宛先のノードの識別子を含まないメッセージを生成する手段と、
メッセージの経路がロングパスであるとき、ロングパスの指定およびメッセージの宛先のノードの識別子を含み送信元のノードの識別子を含まないメッセージを生成する手段と、
生成されたメッセージを送信する手段とを具備する装置。
【請求項４】
リングを構成する複数のノードの間でメッセージを伝達するための装置であって、隣接する２つのノードの対の各々がグループを構成し、隣接する任意の２つのノードは相異なるノード識別子を有し、
メッセージの宛先のノードが属するグループのグループ識別子と、メッセージの送信元のノードが属するグループのグループ識別子と、メッセージの宛先のノードのノード識別子とを含むメッセージを生成する手段と、
生成されたメッセージを送信する手段とを具備する装置。
【請求項５】
リングを構成する複数のノードの間でメッセージを伝達するための装置であって、各ノードには第１のノード識別子と第２のノード識別子とが割り当てられ、各ノードは自ノードに割り当てられた第１のノード識別子と両隣のノードに割り当てられた２つの第２のノード識別子との組み合わせにより一意に識別され、
メッセージの宛先ノードに割り当てられた第１のノード識別子および第２のノード識別子の一方と、メッセージの送信元ノードに割り当てられた第１のノード識別子および第２のノード識別子の他方と、ショートパスまたはロングパスの指定とを含むメッセージを生成する手段と、
生成されたメッセージを送信する手段とを具備する装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、光伝送装置におけるメッセージ伝達方法および装置、特に、ＢＬＳＲ（Bi-directional Line Switched Ring）構成において、１リング上に設置できる装置（ノード）数の上限を増やすことの可能なメッセージ伝達方法に関する。
【０００２】
【従来の技術】
ＢＬＳＲ切替制御方式は、北米標準規格ＳＯＮＥＴ ｓｔａｎｄａｒｄ  ＧＲ−１２３０−ＣＯＲＥに従って実現されている。ＢＬＳＲ制御方式の主たる特徴は、障害発生時にリングを逆回りする保護回線で救済できることから、同じチャンネルの保護回線を別回線で使用できるので、回線利用効率が向上する。近年の光伝送装置のネットワーク構成として、技術革新に伴った「回線の大容量化」「構成の大規模化」が進んでおり、先の理由から、ＢＬＳＲ制御方式はますます需要を増しており、かつ、より大きなリング・ネットワークへの適用が切望されている。
【０００３】
ＢＬＳＲ制御方式では、主信号のラインオーバーヘッドに含まれる、Ｋ１／Ｋ２バイトを、ノード間でやりとりすることにより、切替制御を実現している。ＧＲ１２３０で規定されるＢＬＳＲ  Ｋ１／Ｋ２バイトフォーマットは図１に示す通りである。
図２に示すようなＢＬＳＲ構成のネットワークで回線障害等が発生した時、その障害スパンをはさむ隣接ノードが、このＫ１／Ｋ２バイトにて切替要求を示すことにより、隣接ノードが切替動作（および、中間ノードがスルー動作）をして障害を救済する。また、リング上で多重障害が発生したときでも、切替動作によるミス・コネクションなどが発生しないように、リング上の各ノードにはユニークなＩＤが設定されており、このＩＤの並び順を示すリング・マップをリング上の全ノードが認識することで、確実な切替動作を実現している。
【０００４】
各ノードは、受信したＫ１／Ｋ２バイトから自ノード宛てかを判断し、切替要求がどこからどの経路（図２参照）で到達したかをリングマップと整合した上で確実に認識し、切替動作（およびスルー動作）を制御しなければならない。そのため、Ｋ１／Ｋ２バイトには、図１に示すように、「切替要求」「切替ステータス」の他に、「宛先ノードＩＤ」「送信元ノードＩＤ」「経路」が設定される。
【０００５】
ＫバイトによるＡＰＳ（Automatic Prorection Switch）プロトコルの例として、図２のネットワークにおいて＃３→＃２方向の回線に障害が発生した場合のリング切替手順の概要を説明する。受信側のノード＃２が障害を検出すると、リング・マップから、隣接ノードが＃３であることを知って、ロング・パス（および、ショート・パス）で切替要求をノード＃３宛てに出す。中間のノードは、「宛先ノードＩＤ」が＃３を示していることから、これが他ノード宛てであることを認識して、このＫバイトを次々とスルーし、ノード＃３へ到達させる。ノード＃３はこれが自ノード宛てであることを認識し、自分の送信回線に障害が発生したことを認識する。そして、切替要求に対する応答を送信元のノード＃２へと送り返す。この切替要求応答が＃２〜＃３で確認できたら、両ノードはリング切替を実施する。
【０００６】
すなわち、ＢＬＳＲ切替制御のためには、リング上の各ノードがユニークなＩＤを持ち、リング上を飛び交うＫ１／Ｋ２バイトから一意に「送信元ノード」と「宛先ノード」を特定できることが必須となる。
【０００７】
【発明が解決しようとする課題】
図１に示した、従来のＫ１／Ｋ２バイトフォーマットでは、「宛先ノードＩＤ」と「送信元ノードＩＤ」にはそれぞれ４ビットしか割り当てられておらず、０〜１５しか表現できないことから、同一リング上に最大１６ノードまでしか構成できない制限がある。１６ノード以上のより大きなネットワーク・リングを構築したい場合、リング・インターコネクションといった、リング同士を相互接続する方式もＧＲ１２３０では記述されているが、１リングでのＢＬＳＲに比べ、制御が困難になるのは明らかであり、接続のための装備導入コストも肥大してしまう。また、これは単にリングを相互接続しているだけで、ネットワーク全体でみれば、リングを１周するというＢＬＳＲ特有の冗長構成を提供しているものではない。
【０００８】
ＢＬＳＲ構成の回線利用率向上メリットを活かしつつ、広域を１リングでサポートすることが強く要望されているものの、現状のＫ１／Ｋ２バイトフォーマットによるＡＰＳプロトコルでは、１リング１６ノードという制限が避けられないネックになっている。
なお、このＫ１／Ｋ２バイトの伝送には、主信号のラインオーバーヘッド内に定義されるＫ１／Ｋ２バイトの領域を使用しているため、Ｋ１／Ｋ２バイト自体を拡張することは、ハードに大きな変更を要するため極めて困難になる。また、「切替要求」「切替ステータス」のフィールドを変更すると、ＡＰＳプロトコルを変更しなければならないので、容易には変更することはできない。
【０００９】
既存のＫ１／Ｋ２バイトのフォーマットにおける、「切替要求」「切替ステータス」のフィールドはそのままに、「宛先ノードＩＤ」「送信元ノードＩＤ」「経路」のフィールドを巧く利用して、１６を超えるノードの識別ができれば、Ｋ１／Ｋ２バイトのフィールド拡張もなく、ＢＬＳＲ切替制御プロトコルの変更無しで、１リング上に１６ノードを超えるＢＬＳＲ構成が構築でき、ＧＲ１２３０規格からの変更点を最小限に留めたまま、従来のＢＬＳＲ切替がすべて実現できる。
【００１０】
したがって本発明の目的は、最小限のデータ量でより多くのノードを識別することができるメッセージ伝達方法および装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明によれば、リングを構成する複数のノードの間でメッセージを伝達するための装置であって、メッセージの経路がショートパスであるとき、ショートパスの指定およびメッセージの送信元のノードの識別子を含むメッセージを生成する手段と、メッセージの経路がロングパスであるとき、ロングパスの指定およびメッセージの宛先のノードの識別子を含むメッセージを生成する手段と生成されたメッセージを送信する手段とを具備する装置が提供される。
【００１２】
本発明によれば、リングを構成する複数のノードの間でメッセージを伝達するための装置であって、隣接する２つのノードの対の各々がグループを構成し、隣接する任意の２つのノードは相異なるノード識別子を有し、メッセージの宛先のノードが属するグループのグループ識別子と、メッセージの送信元のノードが属するグループのグループ識別子と、メッセージの宛先のノードのノード識別子とを含むメッセージを生成する手段と、生成されたメッセージを送信する手段とを具備する装置もまた提供される。
【００１３】
本発明によれば、リングを構成する複数のノードの間でメッセージを伝達するための装置であって、各ノードには第１のノード識別子と第２のノード識別子とが割り当てられ、各ノードは自ノードに割り当てられた第１のノード識別子と両隣のノードに割り当てられた２つの第２のノード識別子との組み合わせにより一意に識別され、メッセージの宛先ノードに割り当てられた第１のノード識別子および第２のノード識別子の一方と、メッセージの送信元ノードに割り当てられた第１のノード識別子および第２のノード識別子の他方と、ショートパスまたはロングパスの指定とを含むメッセージを生成する手段と、生成されたメッセージを送信する手段とを具備する装置もまた提供される。
【００１４】
【発明の実施の形態】
図３は本発明が適用されるノードの構成を示す。なお、図３中にはＡＰＳプロトコルに関連する機能ブロックのみが示されている。受信Ｋバイト読込部１０は受信フレームの所定の位置からＫ１／Ｋ２バイトを抽出してＡＰＳ制御部１２へ渡す。送信Ｋバイト送信部１４はＡＰＳ制御部１２からのＫ１／Ｋ２バイトを送信フレームの所定の位置へ挿入する。障害検出部１６は受信フレームについて障害の有無を検出し、結果をＡＰＳ制御部１２へ報告する。
【００１５】
本発明では、例えばＢＬＳＲ構成のネットワークにおけるＡＰＳプロトコルにおいて、Ｋ１／Ｋ２バイトの「切替要求」「切替ステータス」以外のフィールドを利用して、１６を超えるノードを識別を可能にする手法を提案する。なお、以下の実施形態において、「Ｋ１／Ｋ２バイトは必ず隣接ノード宛てに送信される（ＧＲ１２３０  Ｒ６−７２）」という前提があることを利用している。
【００１６】
本発明の第１の実施形態においては、図４に示すように、Ｋ１  bit５〜bit８と、Ｋ２  bit１〜bit４の４ビット／４ビットを合わせ、８ビットを「（宛先／送信元）ノードＩＤ」とし、Ｋ２  bit５の「ショート／ロング」経路情報をもとに、この「ノードＩＤ」フィールドを読み分ける。先のＧＲ１２３０の前提より、Ｋバイトは必ず隣接ノードに対して（ショートパスまたはロングパスを経て）送信されることから、Ｋバイトを受け取ったノードが、宛先、もしくは送信元の情報から、リング上の相手を特定できることを利用している。
【００１７】
なお、リング上の各ノードは、トポロジー等のリング・マップにより、両サイドの隣接ノードＩＤを認識しているが、この手法の実現のためには、リングマップ内のノードＩＤのフィールドを４ビットから８ビットへ拡張する必要がある。Ｋバイト送信の際のＡＰＳ制御部１２の処理を図５に示す。Ｋバイトを送信するノードでは、切替要求に応じて、宛先ノードと送信経路が決定されている。“ショート・パス”でＫバイトを送信する場合、「ノードＩＤ」に、自ノードＩＤを設定する（ステップ１０００）。“ロング・パス”でＫバイトを送信する場合、「ノードＩＤ」に、リング・マップより取得した宛先隣接ノードＩＤを設定する（ステップ１００２，１００４）。したがって、“ショート・パス”の場合にはＫバイトの「ノードＩＤ」フィールドには、「送信元ノードＩＤ」が設定され、“ロング・パス”の場合には、「宛先ノードＩＤ」が設定されて、送信される（ステップ１００６）。
【００１８】
図６にＫバイト受信時の処理を示す。Ｋバイトを受信したら、はじめに、「経路」のフィールドをチェックする（ステップ１１００）。「経路」が、“ショート・パス”なら、まずはこのＫバイトを、自ノード宛て、と判断する。さらに、「ノードＩＤ」に設定されている送信元ノードＩＤが自ノード受信サイドの隣接ノードＩＤであるかを、リング・マップと整合することで確認する（ステップ１１０２）。隣接ノードに一致すれば、このＫバイトを認め、取り込む（ステップ１１０４）。隣接ノードに一致しなければ、このＫバイトは異常（もしくはリング・マップが異常）と判断する（ステップ１１０６）。「経路」が、“ロング・パス”なら、「ノードＩＤ」を、宛先ノードＩＤと解釈する。「ノードＩＤ」が自ノードと一致すれば、このＫバイトを自ノード宛てと判断し、これを取り込む（ステップ１１０４）。「ノードＩＤ」が自ノードと一致しなければ、このＫバイトを他ノード宛てと判断し、これをスルーする（ステップ１１０８）。
【００１９】
以降の手法においても共通的なことだが、ＢＬＳＲ  ＡＰＳプロトコルでは、万が一異常なＡＰＳを受信した場合や、リング・マップに不一致が生じてしまった場合でも、間違った切替動作をしないために、これらを検出するメカニズムが必須となる。ミス・コネクションは、障害による信号断よりも深刻なため、異常検出時には切替を抑制しなければならないからである。従来のＫバイトフォーマットに、「宛先ノード」「送信元ノード」があるのはそのためで、この２つの情報をリング・マップと整合することで、これらの異常を検出していた。本手法では、ショート・パスのＫバイトには「送信元ノード」を設定することにより、「送信元ノード」と「経路（ショート）」の２つの情報を、リング・マップと整合することで、ＡＰＳ異常や不正リング・マップの検出を実現している。本手法でショート・パスとロング・パスで「ノードＩＤ」フィールドを使い分けるのは、この理由による。
【００２０】
本手法によれば、８ビットの「ノードＩＤ」で識別できる数だけのノードを、リング上で識別できる。ただし、従来のＫ１／Ｋ２バイトにおいて、Ｋ１  bit ５−８と、Ｋ２  bit １−４が、すべて０に設定されている場合、これを“Ｄｅｆａｕｌｔ  Ｋ  ｂｙｔｅ”として特殊な意味を持たせている（装置起動時など、Ｋバイトを正常に出せない過渡状態に適用されるコード）。したがって、本手法においては、Ｋ１  bit５−８と、Ｋ２  bit１−４が全て０となってしまう、ノードＩＤ“０”は使用できないことから、ノードＩＤとして有効な範囲は、１〜２５５までとなり、ノード識別の観点からだけ言えば、１リング上に最大２５５ノードまで設置可能となる。
【００２１】
１リング上に２５５ノードを設置した例を説明する。図７において、＃１〜＃２５５までのユニークなＩＤをもつノードで１リングが構成されている（中間ノードの一部は省略）。解り易いように、ノードはＩＤ順に時計回りに設置されているとし、従来のリング・マップ生成手法により、各ノードがすべてのノードのリング上の位置、例えば隣接ノードＩＤが何であるかを、認識しているものとする。（リング・マップ生成の際、従来のリング・マップ生成手法において、ノードＩＤフィールドの拡張が必要になる場合がある。）
リング上に何も障害がない場合、各ノードは自分の隣接ノードに対し、〔ＮＲ（Ｎｏ  Ｒｅｑｕｅｓｔ）〕のＫバイトを、ショート・パスで送信する。このショート・パスでの送信時は、「ノードＩＤ」フィールドに送信元ノードＩＤが設定される。
【００２２】
図８に示すように、例えば、＃６８、＃６９のノードに着目すると、＃６８は、「ノードＩＤ」フィールドに、自ノードＩＤである〔＃６８〕を設定して、両サイドに、ショート・パスでこれを送信する。＃６９も、「ノードＩＤ」に自ノードＩＤである〔＃６９〕を設定し送信する。
受信側では、「経路」の情報から、ショート・パスで受信したことを判別し、Ｋバイトの「ノードＩＤ」を「送信元ノードＩＤ」として認識する。さらに、これがリング・マップから認識している隣接ノードＩＤと整合するかをチェックする。＃６９に着目すると、受信したＫバイトは、〔ＮＲ／６８／Ｓ／Ｉｄｌｅ〕であり、隣接ノードＩＤが＃６８という情報と一致することから、これを正当なＫバイトと判断できる（もしくは、認識しているリング・マップが信頼できるものと判断できる。）。もし一致しなければ、受信したＫバイトを不正なものと判断するか、現在認識しているリング・マップが信頼できないものとして、その旨ユーザーに通知する事ができる。
【００２３】
図９に障害発生時のＫバイト送受信のシーケンスを示す。図９において、まず障害がない時、各ノード間ではＮＲのメッセージａ１，ａ２，ｂ１，ｂ２，ｃ１，ｃ２，ｄ１，ｄ２が送られている（ステップ２０００）。＃６９→＃６８の回線で、ライン障害が発生したと想定する。障害を検出したノード＃６８は、ＡＰＳプロトコルに従い、（２Ｆ−ＢＬＳＲの場合）これをリング切替で救済するために、ショート／ロングの両経路で、隣接＃６９に向けて切替要求のＫバイトｃ３，ｃ４を送信する（ステップ２００２）。ショート・パスのＫバイトｃ４には、「ノードＩＤ」フィールドに、送信元ノードである自ノードＩＤの＃６８を設定する。また、ロング・パスのＫバイトｃ３には、宛先ノードを示すために、リング・マップから獲得した、隣接ノードＩＤ  ＃６９を設定して、それぞれ送信し始める。
【００２４】
ノード＃６８からロング・パスで送信された切替要求のＫバイトｃ３（ＳＦ−Ｒ／６９／Ｌ／Ｉｄｌｅ）は、リング上の２５３ノード全てが一旦受信することになるが、「ノードＩＤ」フィールドには、「宛先ノードＩＤ」である＃６９が設定されているため、＃６９以外のこれら中間ノードは、これが自ノード宛てではないロング・パス要求であることを判断し、スルーしていく。
【００２５】
最終的に＃６９まで到達した、このロング・パスのＫバイトは、ノード＃６９にて自ノード宛てであると判断され、取り込まれる（ステップ２００４）。ノード＃６９は、このＫバイト受信により、リング切替を実施しなければならないことを認識して、＃６８に応答ｂ５，ｂ６を返す（ステップ２００６）。この時も、ショート・パスには自ノードＩＤである＃６９を、ロング・パスには応答宛先ノードの＃６８を設定して、返信する。図１０に、リング切替が完了したときの状態を示す。
【００２６】
本発明の第２の実施形態においては、図１１に示すように、「ノードＩＤ」として、＃０と＃１のように、相反するＩＤをリング上のノードに割り当てる。さらに、各ノードは必ず異なるＩＤをもつノードと隣接するように設置する。かつ、この相反するＩＤをもつ２ノードを、１グループにまとめ、このグループにＩＤ（図１１の例では＃Ａ，＃Ｂ，＃Ｃ）を割り当てて、リング構成を組む。
【００２７】
ノードは、＃０，＃１，＃０，＃１というように、交互に並ぶように配置され、その２ノードを１グループとして、リング構成を組んでいる。このリング構成時の条件をまとめると、
【００２８】
【表１】
0003789295.tif 000002
【００２９】
となるように構成する。もちろん、リング内で統一されているなら、＃０，＃１の位置は逆でもかまわない。
本手法における、Ｋ１／Ｋ２バイトのフォーマットを、図１２に示す。Ｋ１  Bit５〜Bit６は「宛先グループＩＤ」、Ｋ２  Bit１〜Bit４は「送信元グループＩＤ」、Ｋ２  Bit ５は「宛先ノードＩＤ（＃０か＃１）」を示している。従来のＫバイトフォーマットと比較すると、「送信元ノードＩＤ」情報と、「経路」情報がなくなっていることになる。
【００３０】
本手法において、「送信元ノードＩＤ」情報を必要としないのは、ノードＩＤを、＃０と＃１の相反する２種類に限定し、かつ、これが交互になるようにリング構成していることから、自ノードの隣接ノードは必ず相反するＩＤを持っており、ゆえに、「宛先ノードＩＤ」に示されたＩＤに相反するノードＩＤが、送信元ノードＩＤであることが自明となるからである。なお、本手法においては、リングは必ず偶数台のノードで構成される。
【００３１】
従って、本手法におけるＫ１／Ｋ２バイトフォーマットでは、宛先ノードが、「宛先グループＩＤ」と「宛先ノードＩＤ」から一意に識別され、送信元ノードが、「送信元グループ」と「宛先ノードＩＤ」の相反ノードＩＤ、ということで、識別されることになる。
また、本手法において、「経路」情報を必要としないのは、経路情報については、Ｋバイトを受信したサイドと、「宛先」「送信元」と、リング・マップを整合すれば、どちらの経路から到達したかが判定できるからである。これについては以下で詳細に説明していく。
【００３２】
まず、リング上の各ノードがもつ、ノードＩＤとグループＩＤの情報を、リング・マップに反映させる。そのためには、従来のトポロジー作成方法、たとえば特願平１２−６１０９２号「リング構成方式及びそのノード装置」に記載の手法などにおいて、ノードＩＤを設定してた個所に、グループＩＤとノードＩＤの両方を設定していくことで、リング・マップを生成する。
【００３３】
図１３に、８ノード４グループでのリング構成時のリング・マップ生成の手順の例を示す。リングマップ生成要求メッセージ２０をグループ＃１、ノード＃０を起点として周囲させ、各ノードは従来ノードＩＤを設定していた個所に、「グループＩＤ」と「ノードＩＤ」の２つのデータを設定し、これを周回させることにより各ノードにおいてリングマップを作成する。
【００３４】
リング上の各ノードはこのリング・マップにより、リング上での位置はもちろん、自ノードのどちらのサイドに、どんなグループの、どんなＩＤのノードがいるか、を認識している。
例えば、図１３におけるグループ＃１、ノード＃０，＃１は、このリング・マップにより、以下の認識をしている。
【００３５】
【表２】
0003789295.tif 000003
【００３６】
本発明の第２の実施形態におけるＫバイト送信の際のＡＰＳ制御部１２の処理を図１４に示す。Ｋバイトを送信するノードでは、切替要求に応じ、宛先ノードと、送信経路（送信サイド）が決定されている。隣接ノードは必ず、自ノードに相反するＩＤ（＃０なら＃１、＃１なら＃０）なので、「宛先ノード」に相反ノードＩＤを設定する（ステップ１２００）。「送信元グループＩＤ」に、自ノードのグループＩＤを設定する（ステップ１２０２）。“ショート・パス”でＫバイトを送信する場合、送信しようとするサイドの隣接グループＩＤをチェックする（ステップ１２０４）。同グループであれば、「宛先グループＩＤ」に、自ノードのグループＩＤ（＝宛先ノードのグループＩＤ）を設定する（ステップ１２０６）。異グループであれば、リング・マップより送信サイドの隣接グループＩＤを獲得し（ステップ１２０８）、「宛先グループＩＤ」に設定する（ステップ１２１０）。“ロング・パス”でＫバイトを送信する場合、送信しようとするサイドの反対側の隣接グループＩＤをチェックする（ステップ１２１２）。同グループであれば、「宛先グループＩＤ」に自ノードのグループＩＤを設定する（ステップ１２０６）。異グループであれば、リング・マップより、送信サイド反対側の隣接グループＩＤを獲得し（ステップ１２０８）、「宛先グループＩＤ」に設定する（ステップ１２１０）。
【００３７】
図１１の構成例において、グループ＃Ｂの各ノードでの送信Ｋバイトの「宛先グループＩＤ」は、以下のようになる。
【００３８】
【表３】
0003789295.tif 000004
【００３９】
Ｋバイト受信時の処理を図１５に示す。Ｋバイトを受信したノードは、はじめに、「宛先グループＩＤ」と、「宛先ノードＩＤ」をチェックし（ステップ１３００）、この両方が、自ノードと一致したら、まずはこのＫバイトを、自ノード宛て、と判断する。次に、このＫバイトを受信したサイドの、隣接グループＩＤをチェックする（ステップ１３０２）。受信サイドの隣接グループＩＤが自ノードと同じであれば、次に「送信元グループＩＤ」をチェックする（ステップ１３０４）。「送信元グループＩＤ」が、自ノードと同グループであれば、これを“ショート・パス”で受信したと解釈する（ステップ１３０６）。「送信元グループＩＤ」が、自ノードと異なるなら、リング・マップと整合し（ステップ１３０８）、受信サイド反対側の隣接グループＩＤと一致するかチェックする（ステップ１３１０）。一致すれば、これを“ロング・パス”で受信したと解釈する（ステップ１３１２）。一致しなければこれを異常なＫバイト（もしくは異常なリング・マップ）として、アラーム対象とする（ステップ１３１４）。
【００４０】
受信サイドの隣接グループが自ノードと異なれば、次に「送信元グループＩＤ」をチェックする（ステップ１３１４）。「送信元グループＩＤ」が自ノードと同グループであれば、これを“ロング・パス”で受信したと解釈する（ステップ１３１６）。「送信元グループＩＤ」が自ノードと異なるなら、リング・マップと整合し（ステップ１３１８）、受信サイドの隣接グループＩＤと一致するかチェックする（ステップ１３２０）。一致すれば、これを“ショート・パス”で受信したと解釈する（ステップ１３２２）。一致しなければこれをアラーム対象とする（ステップ１３１４）。
【００４１】
「宛先グループＩＤ」と「宛先ノードＩＤ」のいずれかが自ノードに一致しなければ、これを他ノード宛てと判断し、スルーする（ステップ１３２４）。
図１１の構成例において、＃Ｂの各ノードにおける各受信サイドの、有効な受信Ｋバイトの「送信元グループＩＤ」と、その解釈は、以下のようになる。
【００４２】
【表４】
0003789295.tif 000005
【００４３】
これ以外の「送信元グループＩＤ」については、異常なＫバイト（もしくは異常なリング・マップ）として、これを検出することができる。
本手法によれば、４ビットずつの「宛先・送信元グループＩＤ」で識別できる数だけのグループ数を、リング上で識別できる。すなわち、グループ数×２のノードをリング上に設置可能となる。ただし、従来のＫ１／Ｋ２バイトにおいて、Ｋ１  bit５−８と、Ｋ２  bit１−４がすべて０のものは、“Ｄｅｆａｕｌｔ  Ｋ  ｂｙｔｅ”と認識されるから、本手法におけるグループＩＤとして、“０”は使用できない。したがって、本手法では、１〜１５までの１５グループＩＤを設定できるから、１リング上に最大３０ノード（１５グループ×２ノード）までが設置可能となる。
【００４４】
１リング上に３０ノードを設置した例を図１６に示す。＃０と＃１の２種類のノードＩＤのいずれかを各ノードに設定し、かつ、図１６に示されるように、互いに異なるＩＤを持つノードが隣接するように設置する。また、＃０と＃１の２ノードを１グループにまとめ、＃０のＥ側に異グループが隣接するように設置し、かつ、各グループにＧ１〜Ｇ１５までのユニークなグループＩＤを割り当てる。（中間ノード・グループの一部は省略）。解り易いように、グループはＩＤ順に時計回りに設置されているとする。
【００４５】
リング・マップ生成のために、Ｇ１の＃０が起点となって、時計回りのリングマップ生成要求を出したとする。これを受信したリング上の各ノードは、自ノードに設定されている「グループＩＤ」と「ノードＩＤ」を設定し、結果、以下のようなリング・マップを全ノードが認識する（〔グループＩＤ、ノードＩＤ〕で表記）
←Ｅ〔１，０〕〔１，１〕〔２，０〕〔２，１〕〔  ，  〕〔  ，  〕〔７，０〕〔７，１〕〔８，０〕〔８，１〕〔９，０〕〔９，１〕〔  ，  〕〔  ，  〕〔１５，０〕〔１５，１〕Ｗ→
このリング・マップと、自分に割り当てられたノードＩＤ、グループＩＤにより、自分の各Ｅ／Ｗの隣接サイドに、どのグループＩＤのどのノードＩＤのノードがいるかが認識されている。細かく言えば、＃０，＃１のノードが交互に並んでいることから、隣接ノードＩＤは、自分ノードＩＤの相反ＩＤであることが自明である。また、隣接グループＩＤについては、隣接が同じグループであれば、自グループと同じであり、一方異なるグループであれば、リング・マップからこれを獲得できる。例えば、Ｇ１の＃１と、Ｇ２の＃０は、隣接サイドを以下のように認識している。
【００４６】
【表５】
0003789295.tif 000006
【００４７】
リング上に何も障害がない場合、各ノードは自分の隣接ノードに対し、〔ＮＲ（Ｎｏ  Ｒｅｑｕｅｓｔ）〕のＫバイトを、ショート・パスで送信している。例として、Ｇ１の＃１、Ｇ２の＃０が、両サイドに対し、ショート・パスで送信する際の、「宛先グループＩＤ」「送信元グループＩＤ」「ノードＩＤ」の設定を以下に示す。
【００４８】
【表６】
0003789295.tif 000007
【００４９】
障害発生時には、ロング・パスにて、切替要求のＫバイトを送信することになるが、両サイドに対し、ロング・パスで送信する際の、各フィールドの設定を以下に示す。
【００５０】
【表７】
0003789295.tif 000008
【００５１】
次に、Ｇ１ノード＃１→Ｇ２ノード＃０の回線で、障害が発生し、これをリング切替で救済するときの動作を説明する。Ｇ２ノード＃０が、Ｅ方向で障害を検出したことで、隣接Ｇ１ノード＃１を宛先とし、Ｅ方向へショート・パスで、Ｗ方向にロング・パスで、切替要求を送信しなければならないことを認識する。このときのＫバイトは、先の表に従い、Ｅ：〔ＳＦ−Ｒ／Ｇ１／Ｇ２／１／Ｉｄｌｅ〕、Ｗ：〔ＳＦ−Ｒ／Ｇ１／Ｇ２／１／Ｉｄｌｅ〕である。
【００５２】
ロング・パスで送信されたＫバイトは、リング上の中間ノードでも受信されるが、「宛先グループＩＤ」がＧ１を示していることから、自ノード宛てではないと判断して、これをスルーする。さらに、このロング・パスのＫバイトは、Ｇ１のノード＃０にも到達するが、この場合は「宛先グループＩＤ」は一致しても、「宛先ノードＩＤ」が一致しないため、これもスルーされ、最終的にＧ１のノード＃１のＥ側に到達する。
【００５３】
Ｇ１のノード＃１では、同グループに隣接しているはずのＥ側から、Ｇ２を送信元として示しているＫバイトを受信したので、これをロング・パスで到達したＫバイトと判断して、切替処理を実行する。一方、Ｇ１のノード＃１は、異グループに隣接しているＷ側から、Ｇ２を送信元としているＫバイトも受信しているので、こちらはショート・パスで到達したＫバイトと認識している。以上より、Ｇ１ノード＃１とＧ２ノード＃０における、（自ノード宛ての）有効なＫバイトは以下のようになる。
【００５４】
【表８】
0003789295.tif 000009
【００５５】
自ノード宛て（「宛先グループＩＤ」と「宛先ノードＩＤ」が一致）にもかかわらず、上記組み合わせに該当しないＫバイトについては、これを異常なＫバイトと判定できる。（もしくは、リング・マップが異常になっていると判定できる）
図１７に、Ｇ１＃１〜Ｇ２＃０間でのリング切替までのＡＰＳ切替シーケンスを示す。
【００５６】
図１８は本発明の第３の実施形態を説明する図である、本実施形態において、それぞれのノードに、２種類のノードＩＤが割り当てられており、かつ、それぞれ第一、第二ノードＩＤに対応する、２つリング・マップを、リング上の全ノードが認識している。
この第一、第二ノードＩＤの割り当ての条件は、２つのリング・マップを「第一リング・マップ」、「第二リング・マップ」とすると、第一リング・マップによる自ノードＩＤと、その両側隣接ノードの第二リング・マップによるノードＩＤの、組み合わせ（隣接関係）が、リング全体で一意であること、である。
【００５７】
図１８の例では、＃０（１）〜＃１５（１）の順のノード列の繰り返しによるノードＩＤ割り振りの第一リング・マップと、＃０（２）〜＃１４（２）の順のノード列の繰り返しによるノードＩＤ割り振りの第二リング・マップが使用されている。ここで括弧内は、リング・マップの種類（１または２）を意味する。図１８の例で、リング上に、ノードＩＤ＃５（１）が与えられたノードが複数存在するが、（ａ）の＃５（１）のノードは、＃４（２）と＃６（２）のノードを隣接ノードとして持ち、（ｂ）の＃５（１）のノードは、＃５（２）と＃７（２）ノードを隣接ノードとして持つため、第一第二リングマップによる隣接ノードの組み合わせを整合すれば、この２つの＃５（１）ノードは区別することができる。
【００５８】
本実施形態における、Ｋ１／Ｋ２バイトのフォーマットを図１９に示す。
本実施形態においては、「宛先ノードＩＤ」と「送信元グループＩＤ」の隣接関係を、メッセージに含まれるＩＤと第一第二リング・マップとの間で整合することで、ノードを特定していることから、メッセージに含まれる「宛先ノードＩＤ」と「送信元ノードＩＤ」については、図に示され例とは逆に、前者が第一ノードＩＤで、後者が第二ノードＩＤであってもよい。
【００５９】
第一、第二のＩＤに基づく、２つの第一、第二リング・マップを生成するために、従来のトポロジー作成方法、たとえば特願平１２−６１０９２号「リング構成方式及びそのノード装置」などにおいて、第一、第二のどちらのＩＤを要求しているかを示すフィールドを新たに設ける。
このリング・マップ生成要求を受けたノードは、このフィールド指定に従い、自ノードの第一、第二のいずれかのＩＤを設定する。この手順を第一、第二ノードＩＤそれぞれに対して実施し、リング・マップを２つ生成する。
【００６０】
図２０に、第一第二リングマップの生成手順の例を示す。例としてリングマップ生成要求メッセージ２２，２４の先頭フィールド２６に、第一、第二のいずれのＩＤを収集しようとしているかが示されている。メッセージ２２および２４のいずれも第一ノードＩＤ＃１のノードが起点となっているが、メッセージ２２は、第一ノードＩＤでのリングマップの生成を要求しているため、各ノードは、自ノードの第一ノードＩＤを設定し、第一リング・マップが生成される。メッセージ２４では、第二ノードＩＤでのリングマップの生成を要求しているため、各ノードは第二ノードＩＤを設定し、第二リング・マップが生成される。リング上の各ノードは、この第一、第二リング・マップによって、リング上のノードの位置はもちろん、隣接ノードを認識できる。
【００６１】
図２１にＫバイト送信時の処理を示す。Ｋバイトを送信するノードでは、切替要求に応じ、宛先ノードが決定されている。「送信元ノードＩＤ」には、リング・マップ（１）での、自ノードＩＤ（１）を設定する（ステップ１４００）。「宛先ノードＩＤ」には、リング・マップ（２）での、隣接する宛先ノードＩＤ（２）を設定する（ステップ１４０２）。
【００６２】
なおここで、先述したように、送受信で不一致がなければ、リングマップ（１）とリングマップ（２）を入れ替えて、リングマップ（２）での「送信元ノードＩＤ」とリングマップ（１）での「宛先ノードＩＤ」を送るようにしても良い。「送信ノードＩＤ」と「宛先ノードＩＤ」が異なるリング・マップでのノードＩＤであれば、その隣接関係から、リング上の特定ノードを識別できるからである。
【００６３】
図２２にＫバイト受信時の処理を示す。Ｋバイトを受信したノードは、はじめに「宛先ノードＩＤ」をチェックする（ステップ１５００）。「宛先ノードＩＤ」が、リング・マップ（２）での自ノードＩＤに一致したなら、「送信元ノードＩＤ」が、リング・マップ（１）での隣接ノードと整合するかをチェックする（ステップ１５０２）。隣接ノードと整合すれば（ステップ１５０４）、これを自ノード宛てと判断し、取り込む（ステップ１５０６）。隣接ノードと整合しなければ、リングマップ（１）（２）より、「送信元ノードＩＤ」と「宛先ノードＩＤ」の隣接関係に適合するノードがリング上に存在するかを確認する（ステップ１５０８）。もし存在しなければ、このＫバイトを不正（あるいはリング・マップが不正）とし、アラーム対象とする（ステップ１５１０）。リング上に該当するノードがあれば、そこへの他ノード宛てと判断し、スルーする（ステップ１５１２）。「宛先ノードＩＤ」がリング・マップ（２）での自ノードＩＤに一致しなければ（ステップ１５００）、これを他ノード宛てと判断、スルーする（ステップ１５１２）。
【００６４】
本手法によれば、４ビットずつの「宛先・送信元ノードＩＤ」の、隣接との組み合わせ数だけ、リング上のノードを識別できる。ただし、従来のＫ１／Ｋ２バイトにおいて、Ｋ１  bit５−８と、Ｋ２  bit１−４が、すべて“０”のものは、“Ｄｅｆａｕｌｔ  Ｋ  ｂｙｔｅ”と認識されるから、本手法における「宛先・送信元ノードＩＤ」として、“０”は使用できない。したがって、本手法では、１〜１５までのＩＤを順次並べたものと、１〜１４のＩＤを順次並べたものを使用すれば、１５と１４の最小公倍数まで、隣接関係は一意になるから、最大２１０（１５×１４）ノードを１リング上に設置できる。また、例えば、前述の第２の実施形態におけるグループＩＤの割り振りにおいて、本実施形態のように第一第二のグループＩＤをもってグループを識別するようにすれば、より多数のノード識別が可能になる。このように、本発明の第１〜第３の実施形態は併用することが可能であり、これらを組み合わせることによって、より多数のノード識別が実現できると言える。
【００６５】
第３の実施形態において、１リング上に２１０ノードを設置したときの動作を説明する。図２３には、左上隅のノードを起点とし、第一のノードＩＤとして、１〜１５までのＩＤを時計回りに順に設定したものと、第二のノードＩＤとして、起点を同じくし、１〜１４までのＩＤを時計回りに順に設定した時のリング構成の例を示す。
【００６６】
２つのリング・マップを生成するために、左上隅のノード〈１〉が、それぞれ時計回りの第一、第二リングマップ生成要求を出したとする。各ノードは、それぞれの生成要求に従い、自ノードの第一、第二ノードＩＤを設定していく。結果、リング上の全ノードは、以下のような２つのリング・マップを認識する。
【００６７】
【表９】
0003789295.tif 000010
【００６８】
このように設定すると、各ノードのもつ第一第二ノードＩＤの組み合わせは、リング上でユニークとなり、かつ隣接ノードとの組み合わせも一意となる。
例えば、表１０に示すように、第一／第二のように２つノードＩＤを記述するとすれば、
〈１〉のノードは、１／１のノードＩＤが設定されており、隣接ノードは、１５／１４と２／２となる。
〈２〉のノードは、１／２のノードＩＤが設定されており、隣接ノードは、１５／１と２／３となる。
第一ノードとして、“１”を持つノードは、この設定の場合、１４ノード存在することになるが、上記のように、隣接の第二ノードＩＤとの隣接関係を整合すれば、一意に特定できることになる。
【００６９】
【表１０】
0003789295.tif 000011
【００７０】
リング上に何も障害がない場合、各ノードは自分の隣接ノードに対し、〔ＮＲ〕のＫバイトをショート・パスで送信する。このとき、「宛先ノードＩＤ」には、宛先隣接ノードの第二ノードＩＤを、「送信元ノードＩＤ」には、自ノードの第一ノードＩＤを設定する。〈１〉のノードを例にとると、Ｅ：〔ＮＲ／１４／１／Ｓ／Ｉｄｌｅ〕、Ｗ：〔ＮＲ／２／２／Ｓ／Ｉｄｌｅ〕のＫバイトを送信する。
【００７１】
障害発生時の、ロング・パスでの送信においても、Ｋバイトの設定は同じである。例として、〈１〉のノードの、＃１→＃２の回線の障害が発生ときの切替動作を説明する。障害を検出した〈１〉に隣接した＃２ノードは、Ｅ方向へショート・パスで、Ｗ方向にロング・パスで、切替要求を送信することになる。Ｗ方向へロング・パスで送信するＫバイトの、「宛先ノードＩＤ」には、宛先ノードである＃１の第二ノードＩＤである“１”が設定され、「送信元ノードＩＤ」には、送信元ノードである＃２の第一ノードＩＤ、“２”が設定される。このロング・パスで送信されたＫバイトは、リング上の２０８ノードの全てを通過することになるが、「宛先ノードＩＤ」が“１”を示していることから、第二ノードＩＤが“１”ではないノードにおいては、これが自ノード宛てではないことを容易に判断し、これをスルーする。
【００７２】
〈２〉のＥ側に隣接しているノード＃１５は、第二ノードＩＤとして“１”をもつので、一旦このＫバイトを取り込む。しかし、「送信元ノードＩＤ」が、“２”を示しているにも関わらず、＃１５の認識している隣接ノードの第一ノードＩＤは、“１４”と“１”であるから、これが自ノード宛てではないことを知って、これをスルーする。またこの時、受信したＫバイトの「送信元ノードＩＤ」と「宛先ノードＩＤ」の隣接関係に一致するノードが、リング上に存在するかを、第一第二リングマップと整合することで判定する。もし、この隣接関係を満たすノードがリング上に存在しなければ、この受信Ｋバイトを異常なもの（もしくは第一第二リングマップが異常になっている）として、アラーム通知することができる。
【００７３】
〈１〉のノードへ辿りつくまでに、第二ノードＩＤとして“１”をもつ他の１４台がいることになるが、上記の判定により、最終的に〈１〉のノード＃１へ到達する。〈１〉のノード＃１は、「宛先ノードＩＤ」が“１”を示しており、自ノードの第二ノードＩＤが“１”であることから、まずはこれを取り込む。次に、「送信元ノードＩＤ」をチェックし、これが“２”を示しており、隣接ノードの第二ノードＩＤと一致することから、これが自ノード宛てであることを認識して、切替処理を行う。
【００７４】
図２４に、第３の実施形態における、切替シーケンスの例を示す。
〈付記１〉リングを構成する複数のノードの間でメッセージを伝達する方法であって、
メッセージの経路がショートパスであるとき、ショートパスの指定およびメッセージの送信元のノードの識別子を含むメッセージを生成し、
メッセージの経路がロングパスであるとき、ロングパスの指定およびメッセージの宛先のノードの識別子を含むメッセージを生成し、
生成されたメッセージを送信するステップを具備する方法。
【００７５】
〈付記２〉前記メッセージはＫ１／Ｋ２バイトであり、前記送信元ノード識別子および宛先ノード識別子は８ビットの長さを有する付記１記載の方法。
〈付記３〉リングを構成する複数のノードの間でメッセージを伝達する方法であって、隣接する２つのノードの対の各々がグループを構成し、隣接する任意の２つのノードは相異なるノード識別子を有し、
メッセージの宛先のノードが属するグループのグループ識別子と、メッセージの送信元のノードが属するグループのグループ識別子と、メッセージの宛先のノードのノード識別子とを含むメッセージを生成し、
生成されたメッセージを送信するステップを具備する方法。
【００７６】
〈付記４〉前記メッセージはＫ１／Ｋ２バイトであり、前記宛先ノード識別子は１ビットの長さを有する付記３記載の方法。
〈付記５〉リングを構成する複数のノードの間でメッセージを伝達する方法であって、各ノードには第１のノード識別子と第２のノード識別子とが割り当てられ、各ノードは自ノードに割り当てられた第１のノード識別子と両隣のノードに割り当てられた２つの第２のノード識別子との組み合わせにより一意に識別され、
メッセージの宛先ノードに割り当てられた第１のノード識別子および第２のノード識別子の一方と、メッセージの送信元ノードに割り当てられた第１のノード識別子および第２のノード識別子の他方と、ショートパスまたはロングパスの指定とを含むメッセージを生成し、
生成されたメッセージを送信するステップを具備する方法。
【００７７】
〈付記６〉前記メッセージではＫ１／Ｋ２バイトである付記５記載の方法。
〈付記７〉リングを構成する複数のノードの間でメッセージを伝達するための装置であって、
メッセージの経路がショートパスであるとき、ショートパスの指定およびメッセージの送信元のノードの識別子を含むメッセージを生成する手段と、
メッセージの経路がロングパスであるとき、ロングパスの指定およびメッセージの宛先のノードの識別子を含むメッセージを生成する手段と、
生成されたメッセージを送信する手段とを具備する装置。
【００７８】
〈付記８〉前記メッセージはＫ１／Ｋ２バイトであり、前記送信元ノード識別子および宛先ノード識別子は８ビットの長さを有する付記７記載の装置。
〈付記９〉リングを構成する複数のノードの間でメッセージを伝達するための装置であって、隣接する２つのノードの対の各々がグループを構成し、隣接する任意の２つのノードは相異なるノード識別子を有し、
メッセージの宛先のノードが属するグループのグループ識別子と、メッセージの送信元のノードが属するグループのグループ識別子と、メッセージの宛先のノードのノード識別子とを含むメッセージを生成する手段と、
生成されたメッセージを送信する手段とを具備する装置。
【００７９】
〈付記１０〉前記メッセージはＫ１／Ｋ２バイトであり、前記宛先ノード識別子は１ビットの長さを有する付記９記載の装置。
〈付記１１〉リングを構成する複数のノードの間でメッセージを伝達するための装置であって、各ノードには第１のノード識別子と第２のノード識別子とが割り当てられ、各ノードは自ノードに割り当てられた第１のノード識別子と両隣のノードに割り当てられた２つの第２のノード識別子との組み合わせにより一意に識別され、
メッセージの宛先ノードに割り当てられた第１のノード識別子および第２のノード識別子の一方と、メッセージの送信元ノードに割り当てられた第１のノード識別子および第２のノード識別子の他方と、ショートパスまたはロングパスの指定とを含むメッセージを生成する手段と、
生成されたメッセージを送信する手段とを具備する装置。
【００８０】
〈付記１２〉前記メッセージではＫ１／Ｋ２バイトである付記１１記載の装置。
【００８１】
【発明の効果】
以上の本発明により、同一リング上の１６を超えるノードが一意に識別されるため、Ｋ１／Ｋ２バイトの拡張無しに、またＡＰＳプロトコルとしての切替制御手順を全く変更することなしに、１６ノードを超えるＢＬＳＲ構成を組むことが可能となる。
【図面の簡単な説明】
【図１】従来のＢＬＳＲにおけるＫバイトのフォーマットを示す図である。
【図２】ＢＬＳＲ構成のネットワークの一例を示す図である。
【図３】ノードの構成の一例を示すブロック図である。
【図４】本発明の第１の実施形態におけるＫバイトのフォーマットを示す図である。
【図５】本発明の第１の実施形態におけるＫバイト送信のフローチャートである。
【図６】本発明の第１の実施形態におけるＫバイト受信のフローチャートである。
【図７】本発明の第１の実施形態におけるノードの配置の例を示す図である。
【図８】障害がないときのＫバイトの送受信を説明する図である。
【図９】障害発生時のＫバイト送受信のシーケンスを示す図である。
【図１０】リング切替完了後の状態を示す図である。
【図１１】本発明の第２の実施形態を説明するための図である。
【図１２】本発明の第２の実施形態におけるＫバイトのフォーマットを示す図である。
【図１３】本発明の第２の実施形態におけるリングマップの生成を説明する図である。
【図１４】本発明の第２の実施形態におけるＫバイト送信のフローチャートである。
【図１５】本発明の第２の実施形態におけるＫバイト受信のフローチャートである。
【図１６】本発明の第２の実施形態におけるノードの配置の例を示す図である。
【図１７】障害発生時のＫバイト送受信のシーケンスを示す図である。
【図１８】本発明の第３の実施形態を説明するための図である。
【図１９】本発明の第３の実施形態におけるＫバイトのフォーマットを示す図である。
【図２０】本発明の第３の実施形態におけるリングマップの生成を説明する図である。
【図２１】本発明の第３の実施形態におけるＫバイト送信のフローチャートである。
【図２２】本発明の第３の実施形態におけるＫバイト受信のフローチャートである。
【図２３】本発明の第３の実施形態におけるノードの配置の例を示す図である。
【図２４】障害発生時のＫバイト送受信のシーケンスを示す図である。
【図１】
0003789295.tif 000012
【図２】
0003789295.tif 000013
【図３】
0003789295.tif 000014
【図４】
0003789295.tif 000015
【図５】
0003789295.tif 000016
【図６】
0003789295.tif 000017
【図７】
0003789295.tif 000018
【図８】
0003789295.tif 000019
【図９】
0003789295.tif 000020
【図１０】
0003789295.tif 000021
【図１１】
0003789295.tif 000022
【図１２】
0003789295.tif 000023
【図１３】
0003789295.tif 000024
【図１４】
0003789295.tif 000025
【図１５】
0003789295.tif 000026
【図１６】
0003789295.tif 000027
【図１７】
0003789295.tif 000028
【図１８】
0003789295.tif 000029
【図１９】
0003789295.tif 000030
【図２０】
0003789295.tif 000031
【図２１】
0003789295.tif 000032
【図２２】
0003789295.tif 000033
【図２３】
0003789295.tif 000034
【図２４】
0003789295.tif 000035