(57)【特許請求の範囲】
【請求項１】
仮想コネクション型ネットワークとのインターフェースと、
このインターフェースを介して仮想コネクションを設定する際に該仮想コネクションを隣接するノード装置との間で一時的に共通に認識するための第１の識別子を含むメッセージを交換する第１のメッセージ交換手段と、
この第１の識別子と前記仮想コネクションを前記隣接ノード装置との間で共通に認識するための第２の識別子との対応関係を管理する管理手段と、
設定される前記仮想コネクションとは別の仮想コネクションで、前記第２の識別子を前記第１の識別子と対応可能なように含ませたメッセージを送信もしくは受信する第２のメッセージ交換手段とを具備することを特徴とするノード装置。
【請求項２】
前記管理手段は、前記第１のメッセージ交換手段により前記仮想コネクションが設定され、かつ前記第２のメッセージ交換手段により前記第２の識別子が前記隣接ノード装置との間で共有された後は、前記仮想コネクションを前記第２の識別子を用いて管理し、前記第１の識別子は他の仮想コネクションの認識のために利用可能とする手段を更に含むことを特徴とする請求項１記載のノード装置。
【請求項３】
前記第１の識別子を含むメッセージは、データリンク層シグナリングメッセージであり、
前記第２の識別子を含むメッセージは、ネットワーク層のメッセージであることを特徴とする請求項１記載のノード装置。
【請求項４】
前記第２のメッセージ交換手段は、設定された前記仮想コネクションで送信すべきパケットのフローを識別する情報を前記第２の識別子を含むメッセージにより送信もしくは受信する手段を更に含むことを特徴とする請求項１記載のノード装置。
【請求項５】
設定された前記仮想コネクションで送信すべきパケットのフローを識別する情報を前記第１もしくは第２の識別子と対応可能なように含ませたメッセージを送信もしくは受信する手段を更に具備することを特徴とする請求項１記載のノード装置。
【請求項６】
前記第２の識別子及び前記フローの識別情報が前記隣接ノード装置との間で共有された後、前記仮想コネクションで前記フローに属するパケットを送信する手段を更に具備することを特徴とする請求項４または５記載のノード装置。
【請求項７】
前記フローに属するパケットを送信する必要がなくなった場合に、設定された前記仮想コネクションを解放すると共に、前記第２の識別子を他の仮想コネクションの認識のために利用可能とする手段を更に具備することを特徴とする請求項４または５記載のノード装置。
【請求項８】
前記フローに属するパケットを送信する必要がなくなった場合に、設定された前記仮想コネクションは維持したまま、前記フローの識別情報と前記第２の識別子との対応関係を解除するメッセージを送信もしくは受信する手段と、
この対応関係の解除された仮想コネクションを他のフローに属するパケットの送信のために使用可能とする手段とを更に具備することを特徴とする請求項４または５記載のノード装置。
【請求項９】
前記仮想コネクションで受信されるパケットを前記フローに属するパケットであると解釈して処理する手段を更に具備することを特徴とする請求項４または５記載のノード装置。
【請求項１０】
前記管理手段は、設定された前記仮想コネクションに新たな枝を追加する可能性がある場合には前記第１の識別子を他の仮想コネクションのために利用可能とせずに保持し続ける手段を更に含むことを特徴とする請求項１記載のノード装置。
【請求項１１】
仮想コネクションを設定する際に、該仮想コネクションを隣接するノード装置との間で一時的に共通に認識するための第１の識別子を含むメッセージを交換し、
設定された前記仮想コネクションとは別の仮想コネクションで、前記第１の識別子と前記仮想コネクションを前記隣接ノード装置との間で共通に認識するための第２の識別子とを対応付けるためのメッセージを送信もしくは受信することを特徴とするメッセージ交換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮想コネクション型ネットワークとのインターフェイスを有するノード装置及び該ノード装置間でメッセージを交換する方法に関する。
【０００２】
【従来の技術】
現在、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）ネットワーク同士を接続する高速ルータとしてＣＳＲ（Ｃｅｌｌ  Ｓｗｉｔｃｈ  Ｒｏｕｔｅｒ）が提案されている。ＣＳＲは従来のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケット単位の転送機能に加えて、ＡＴＭスイッチを内蔵することでセル単位の転送機能を有する。
【０００３】
このセル転送機能を利用することで、ＩＰサブネットの境界においてルータを経由する場合にも必要に応じてＡＴＭのメリットを最大限に生かした高スループット・低遅延の通信を実現することが可能となる。すなわち、ＣＳＲにより構成されるＡＴＭインタネットでは、ある通信に対しては経由する各ＣＳＲにおいて従来と同様にパケットを組み立て、宛先ＩＰアドレスに基づくｈｏｐ−ｂｙ−ｈｏｐのＩＰ転送処理を行ない、またある通信に対しては経由する各ＣＳＲにおいて受信したセルのＶＰＩ／ＶＣＩ参照のみによるセルベースの転送処理を行ない、可能な限り各パケットのＩＰ転送処理を省く。
【０００４】
ホップバイホップのパケットを転送するＶＣ（仮想コネクション）は、デフォルトＶＣと呼び、セルベースの転送を行うＶＣは、専用ＶＣと呼ぶことにする。セルベースの転送では、パケットの内容を参照することが出来ないので、特定のパケットフロー毎に異なる専用ＶＣを使用することで、パケットの内容を参照すること無く、パケット転送を可能にする。
【０００５】
セルベース転送では、パケットの内容を見ることができないので、どの専用ＶＣにどの宛先のパケットを流すかを予め隣接ノード間で交換する必要がある。このメッセージに必要な、『どの専用ＶＣ』かを識別する識別子をＶＣＩＤと呼ぶことにする。ＶＣＩＤは、専用ＶＣの両端のノードで共通の識別子である必要がある。
【０００６】
ＡＴＭでは、セルヘッダに記載される仮想コネクション識別子の値（ＶＰＩ／ＶＣＩ）は、その両端で一般的に異なる。そこで、これとは異なるＶＣＩＤという識別子を新たに作り、仮想コネクション識別子と共通の識別子の対応を取るための方法が必要である。
【０００７】
両端で同一の識別子を持つ方法として、ＡＴＭシグナリングメッセージで同一の識別子を知らせる方法がある。例えば、ＢＬＬＩ（Ｂｒｏａｄｂａｎｄ  ｌｏｗ  ｌａｙｅｒ  ｉｎｆｏｒｍａｔｉｏｎ）などを共通の識別子（ＶＣＩＤ）として用いて仮想コネクション識別子との対応を取ることは可能である。
【０００８】
また、Ｆｌｏｗ  Ａｔｔｒｉｂｕｔｅ  ＮｏｔｉｆｉｃａｔｉｏｎＰｒｏｔｏｃｏｌ（ｄｒａｆｔ−ｒｆｃｅｄ−ｉｎｆｏ−ｎａｇａｍｉ−００．ｔｘｔ，ＩＥＴＦ  Ｄｒａｆｔ）で示されているように、専用ＶＣ（インバンド）に共通の識別子（ＶＣＩＤ）を含むメッセージを流すことで仮想コネクション識別子と共通の識別子の対応を取るようにする方法もある。
【０００９】
【発明が解決しようとする課題】
しかしながら、ＡＴＭシグナリングのメッセージで、仮想コネクション識別子と共通の識別子の対応を取る方法は、ＡＴＭシグナリング中で使用できる領域が小さいとき（例えば、ＢＬＬＩフィールドでは、ユーザが使える領域が７ｂｉｔしかない）、共通の識別子の領域が少なくなってしまう。このため、同時に使える専用ＶＣの数が限られてしまう問題がある。
【００１０】
一方、インバンドでメッセージを流す方法で、仮想コネクション識別子と共通の識別子の対応を取る方法では、ＣＳＲのようにセルベースの転送を行うノードでは、既にセルベースの転送を行っているＶＣに対して、メッセージパケットを送出することは難しい。この理由を、以下に述べる。
【００１１】
まず、パケットをＡＴＭネットワークに送出する場合には、パケットをＡＴＭセル（４８バイト）に分解する必要がある。ＡＴＭセルに分解する手段としていくつかあるが、一般的に、ＡＡＬ５と呼ばれるものが使われている。この方式は、パケットをＡＴＭセル（４８バイト）の大きさに分割し、メッセージの最後のＡＴＭセルにだけ、『パケットの最後』である印を付ける。受信ノードは、この方式で分割したパケットが連続して受信されれば、パケットの最後であるＡＴＭセルを認識し、ＡＴＭセルをパケットに組み立てることができる。しかし、分解したパケットに関係のないＡＴＭセルが途中に混じってしまうと、ＡＴＭセルからパケットに組み立てることは出来ない。
【００１２】
ここで、ＣＳＲでセルベースの転送を行っているＶＣにＶＣＩＤを付けるためのパケットを挿入することは、セルベースの転送で転送されているパケットに属するＡＴＭセルの途中に、ＶＣＩＤ交換のためのパケットのＡＴＭセルを交わらせることを意味する。このように、セルベースの転送を行っているＶＣに単純にメッセージパケットを流すことは、セルの混じりあいを引き起こしてしまうため、受信ノードでパケットに組み立てることが出来なくなる。
【００１３】
既にセルベースの転送を行っているＶＣにＶＣＩＤ交換パケットを送出する必要は、例えば、マルチキャスト用の仮想コネクションの設定の際に生じる。つまり、既に設定されているマルチキャスト用仮想コネクションで参加者に対してセルベースの転送を行っている最中に、新たな参加者（ノード）のために新たなリーフをこの仮想コネクションに追加する場合、インバンドでメッセージを流す方法では、新たなノードへのメッセージパケットが既にセルベースの転送を行っているＶＣに送出されることになる。
【００１４】
本発明は、以上の事情に鑑み、共通の識別子をつける必要のある仮想コネクションにインバンドでメッセージを流さずに仮想コネクションの両端のノードで識別子を共有でき、且つ十分な大きさの共通の識別子を仮想コネクションに付けることができる手法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明に係るノード装置は、仮想コネクション型ネットワークとのインターフェースと、このインターフェースを介して仮想コネクションを設定する際に該仮想コネクションを隣接するノード装置との間で一時的に共通に認識するための第１の識別子（例えばＢＬＬＩ）を含むメッセージ（例えばシグナリングメッセージ）を交換する第１のメッセージ交換手段と、この第１の識別子と前記仮想コネクションを前記隣接ノード装置との間で共通に認識するための第２の識別子（例えばＶＣＩＤ）との対応関係を管理する管理手段と、設定される前記仮想コネクションとは別の仮想コネクションで、前記第２の識別子を前記第１の識別子と対応可能なように含ませたメッセージ（例えばＶＣＩＤ  ＰＲＯＰＯＳＥやＶＣＩＤ  ＲＥＱＵＥＳＴ  ＡＣＫ）を送信または受信する第２のメッセージ交換手段とを具備する。
【００１６】
前記管理手段は、前記第１のメッセージ交換手段により前記仮想コネクションが設定され且つ前記第２のメッセージ交換手段により前記第２の識別子が隣接ノード装置間で共有された後は、前記仮想コネクションを前記第２の識別子を用いて管理する。そして、前記第１の識別子は他の仮想コネクションの認識のために利用可能とすれば、各仮想コネクションがビット数の少ない第１の識別子を占有している期間を短くすることができ、隣接ノード間でより多くの仮想コネクションを設定・認識することができる。
【００１７】
なお、設定された前記仮想コネクションに新たな枝を追加する可能性がある場合には、前記第１の識別子を他の仮想コネクションのために利用可能とせずに保持し続けるようにしても良い。
【００１８】
前記第１の識別子を含むメッセージとして、データリンク層シグナリングメッセージを用い、前記第２の識別子を含むメッセージとして、ネットワーク層のメッセージを用いてもよい。
【００１９】
上記のように設定・認識された仮想コネクションを特定のフローに属するパケットの送信専用に用いたい場合には、例えば以下の二通りの手法を採用可能である。
【００２０】
一つの手法によれば、前記第２のメッセージ交換手段が、前記第２の識別子を含むメッセージ（ＶＣＩＤ  ＰＲＯＰＯＳＥもしくはＶＣＩＤ  ＲＥＱＵＥＳＴＡＣＫ）内に、設定された仮想コネクションで送信すべきパケットのフローを識別する情報が記入されたものを送信もしくは受信する。
【００２１】
もう一つの手法によれば、上記ＶＣＩＤ  ＰＲＯＰＯＳＥ等とは別に、設定された前記仮想コネクションで送信すべきパケットのフローを識別する情報を前記第１もしくは第２の識別子と対応可能なように含ませたメッセージを送信もしくは受信する。
【００２２】
そして、前記第２の識別子及び前記フローの識別情報が隣接ノード装置間で共有された後、送信側ノードは、前記仮想コネクションで前記フローに属するパケットを送信し、受信側ノードは、前記仮想コネクションで受信されるパケットを前記フローに属するパケットであると解釈して処理（セルベースの転送、ＩＰ処理を一部省略した他ノードもしくはアプリケーションへの転送等）する。
【００２３】
上記のように仮想コネクションを使用する場合に、第２の識別子の用い方として、例えば以下の二通りの手法が提供可能である。
一つは、前記フローに属するパケットを送信する必要がなくなった場合に、設定された前記仮想コネクションを解放すると共に、前記第２の識別子を他の仮想コネクションの認識のために利用可能とするものである。この場合は、新たなパケット送信が必要になると、仮想コネクションの設定、第１の識別子、第２の識別子の交換が再度繰り返される。
【００２４】
もう一つは、前記フローに属するパケットを送信する必要がなくなった場合でも、設定された前記仮想コネクションは前記第２の識別子を持つものとして維持しておくものである。但し、前記フローの識別情報と前記第２の識別子との対応関係は、メッセージ交換により解除しておく。そして、新たに特定のフロー専用にある仮想コネクションを使用する必要が生じると、対応関係が解除された状態で維持されている仮想コネクションをそのフローに属するパケットの送信のために使用する。このためには、この仮想コネクションで新たに送信することになったパケットのフロー識別情報を前記第２の識別子と対応可能なように含ませたメッセージを新たに送信すればよい。
【００２５】
本発明はまた、メッセージ交換方法の発明としても把握され、一つは、例えば、仮想コネクションを設定する際に、該仮想コネクションを隣接するノード装置との間で一時的に共通に認識するための第１の識別子を含むメッセージを交換し、設定された前記仮想コネクションとは別の仮想コネクションで、前記第１の識別子と前記仮想コネクションを前記隣接ノード装置との間で共通に認識するための第２の識別子とを対応付けるためのメッセージを送信もしくは受信することを特徴とする。さらに別のものは、設定しようとする仮想コネクションを隣接するノード装置との間で一時的に共通に認識するための第１の識別子と前記仮想コネクションを前記隣接ノード装置との間で共通に認識するための第２の識別子とを対応付けるためのメッセージを送信もしくは受信し、前記仮想コネクションを設定する際に、この第１の識別子を含むメッセージを交換することを特徴とする。
【００２６】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
この実施の形態では、ＡＴＭネットワークに接続するノードについて説明する。しかし、この発明は、ＡＴＭネットワークに接続するノードのみでなく、仮想コネクション型ネットワークであり、仮想コネクション（以下、ＶＣと呼ぶ）の両端で仮想コネクション識別子（ＡＴＭでは、ＶＰＩ／ＶＣＩ）が異なる場合は、同様に適用可能である。
【００２７】
（具体例１）
はじめに、この発明の概要を説明する。ＡＴＭネットワークでは、一般的にＶＣの両端で仮想コネクション識別子（ＶＰＩ／ＶＣＩ）が異なる。このＶＣの両端で同一な識別子（以下、ＶＣＩＤと呼ぶ）を持つ手順を図１を用いて説明する。図１では、ノードＡ（１）とノードＢ（１）がＡＴＭスイッチ（２）を介して接続されている。ここで、ノードＡからノードＢへＶＣを設定し、このＶＣの両端で同一のＶＣＩＤを持つ手順を以下で述べる。
【００２８】
（Ｉ）  ＡＴＭシグナリング（ＡＴＭの場合のデータリンク層シグナリング）の設定メッセージ中の情報エレメント（例えば、ＢＬＬＩ）で一時的な共通識別子をノードＡからノードＢに伝える。これにより、一時的な共通識別子（ＢＬＬＩ＝ｘ）と実際のセルヘッダに付与されるＶＣの識別子（ＶＰＩ／ＶＣＩ）の対応が取れる。具体的には、ノードＡでは、ＢＬＬＩ＝ｘとＶＰＩ＝ｍ，ＶＣＩ＝ｎの対応が取れ、ノードＢでは、ＢＬＬＩ＝ｘとＶＰＩ＝ｙ，ＶＣＩ＝ｚの対応が取れる。ＢＬＬＩで渡される識別子を固定的な識別子として使わない理由は、この情報エレメント（ＢＬＬＩ）は、７ｂｉｔの空間（１２８通り）しかないことである。そのため、固定的な識別子として割り当ててしまうと１２８本のＶＣしか認識できないことになる。そこでＢＬＬＩを一時的な識別子として使い、この後の手順で固定的な識別子（ＶＣＩＤ）を割り当てる。
【００２９】
（ＩＩ）  新たに定義するメッセージ（ＶＣＩＤ  ＰＲＯＰＯＳＥ）に、（Ｉ）でやり取りした一時的な共通識別子（ＢＬＬＩ）と固定的に用いる両端で同一な識別子（ＶＣＩＤ）を記入する。このメッセージをノードＡ，Ｂの間でデフォルトＶＣ（識別子を付与しようとしている図示したＶＣ以外のＶＣ）で交換することによりＢＬＬＩとＶＣＩＤの対応が取れる。この対応と（Ｉ）での対応により、セルヘッダに付与されるＶＣの識別子（ＶＰＩ／ＶＣＩ）と固定的に用いる両端で同一な識別子（ＶＣＩＤ）の対応が取れる。このＶＣＩＤ  ＰＲＯＰＯＳＥは、ＩＰ（ネットワーク層）レベルで処理されるものとする（ノード（１）はネットワーク層処理能力を持つホストかルータとする）ことが可能である。
【００３０】
このように、新たに設定したＶＣ（インバンド）にメッセージを流してＶＣＩＤを交換すること無く、ＶＣＩＤを共有できるため、セルベースの転送をしているときに同じＶＣにメッセージを流す必要が生じるという問題が無くなる。
【００３１】
以下で具体的な手順とノードの構成を説明する。まず、図２でノードの構成を説明する。
ＡＴＭ  インターフェイス部（１０）は、ＶＣＩＤメッセージ送受信部（２０）及びＡＴＭシグナリング部（３０）からのメッセージ、及びその他のデータパケットをＡＴＭネットワークへ送出する。この時メッセージ、パケットをＡＴＭセルに分解する処理を行う。また、ＡＴＭネットワークから受信したＡＴＭセルをメッセージもしくはデータパケットに組み立て、メッセージはＶＣＩＤメッセージ送受信部（２０）もしくはＡＴＭシグナリング部（３０）へ渡す。その他のデータパケットは図示しないＩＰ処理部に渡す。この分解／組み立ての具体例としては、ＡＡＬ処理，シグナリング用のＳＳＣＯＰ処理，ＩＰ処理がある。
【００３２】
なお、ノードパケットに組み立てないセルベースの転送機能を持つものである場合は、全てのデータパケットが組み立てられてＩＰ処理部に渡されるわけではなく、特定のフローに属するパケットはＡＴＭセルのまま再度ＡＴＭネットワークへ送出される。
【００３３】
ＶＣＩＤメッセージ送受信部（２０）は、ＶＣＩＤ管理部（４０）からの指示に基づき、一時的な共通識別子（ＢＬＬＩ）とＶＣＩＤの対応を取るためのＶＣＩＤ  ＰＲＯＰＯＳＥメッセージ及びＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージの送受信を行う。ＡＴＭインターフェイス部（１０）にＶＣＩＤ  ＰＲＯＰＯＳＥメッセージもしくはＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージを送信し、ＡＴＭインターフェイス部（１０）からＶＣＩＤＰＲＯＰＯＳＥメッセージもしくはＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージを受信する。
【００３４】
ＡＴＭシグナリング部（３０）は、ＶＣＩＤ管理部（４０）からＡＴＭコネクションの設定／解放を指示されると、ＡＴＭシグナリング用のメッセージをＡＴＭインターフェイス部（３０）に送信する。また、ＡＴＭインターフェイス部（３０）からＡＴＭシグナリング用のメッセージを受信する。これにより、ＡＴＭのＶＣを設定／解放することができる。
【００３５】
ＶＣＩＤ管理部（４０）は、ＶＣの識別子（ＶＰＩ／ＶＣＩ）とＶＣＩＤの対応を取る。ＡＴＭのＶＣを設定するためにＡＴＭシグナリング部（３０）に指示し、ＶＣＩＤを交換するためにＶＣＩＤメッセージ送信部（２０）に指示する。これらの結果をＶＣＩＤ管理表（４１，４２）に記入する。
【００３６】
次に、ＶＣＩＤ管理部の動作を図３，４を使って説明する。図３がＶＣを設定するノード（以下、送信側ノードという）の動作であり、図４がＶＣを設定されるノード（以下、受信側ノードという）の動作である。メッセージの交換は、図１で示されているものと同様である。図１のノードＡが送信側ノードであり、ノードＢが受信側ノードである。
【００３７】
送信側ノードがＶＣを設定するときには、図３で示すフローチャートに従って処理する。まず、ＶＣＩＤ管理表（送信ＶＣ用）から相手アドレスＢで使われていないＢＬＬＩの値を検索する。ここでは、ＢＬＬＩ＝ｘが使われていなかったことにする（Ｓ１０１）。ＢＬＬＩの値は、隣接ノード間で使うだけなので、ノードＡとノードＢの間でユニークであれば良い。また、この値が７ｂｉｔであるとすると、同時には１２８本のＶＣを識別することができる。
【００３８】
次に、ＶＣＩＤ管理表（送信ＶＣ用）から使われていないＶＣＩＤを検索する。ここでは、ＶＣＩＤ＝ｃが使われていなかったとする（Ｓ１０２）。ＶＣＩＤのビット数は任意である（ＢＬＬＩのビット数より多い）。そのため、同時に必要なＶＣの数を考慮にいれてビット数を決定すれば良い。
【００３９】
ＶＣＩＤ管理表（送信ＶＣ用）に上記で決定したＶＣＩＤ＝ｃとＢＬＬＩ＝ｘを登録する。また、下記のＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージが返るまで、ｘの値のＢＬＬＩは使用されないようにするために、ＢＬＬＩをロックする（Ｓ１０３）。また、ＶＣＩＤ＝ｃは、後述する仮想コネクションの解放までは、他の仮想コネクションには使用されないようにする。
【００４０】
ＡＴＭシグナリング部（３０）にＢＬＬＩ＝ｘ，相手アドレスＢを指定してＶＣを設定するように指示する（Ｓ１０４）。ＡＴＭシグナリングが成功してＶＣが設定されると、ＡＴＭネットワークから通知されたそのＶＣのＶＰＩ／ＶＣＩをＶＣＩＤ管理表（送信ＶＣ用）にＢＬＬＩ＝ｘと対応させて記録する。ここでは、ＶＰＩ＝ｍ，ＶＣＩ＝ｎが設定されたとする（Ｓ１０５）。
【００４１】
この後、ＢＬＬＩ＝ｘ，ＶＣＩＤ＝ｃを記入したＶＣＩＤ  ＰＲＯＰＯＳＥメッセージを、図示しないデフォルトＶＣで、相手アドレスのノード（ノードＢ）に送信する（Ｓ１０６）。このメッセージの応答であるＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージを受信するとＶＣＩＤ管理表（送信ＶＣ用）のロックを解除する。ロックを解除することにより、一時的な共通識別子は解放され、再びＢＬＬＩ＝ｘを使用できるようになる（Ｓ１０７）。
【００４２】
ここで設定したＶＣＩＤは、仮想コネクションが設定されている間はその共通識別子として使用され続け、仮想コネクションを解放したときにＶＣＩＤも解放される。
【００４３】
次に、受信側ノードの手順を説明する（図４）。図４（ａ）に示すように、送信ノードからＡＴＭシグナリングを用いてＶＣ設定要求を受信すると、そのメッセージ中のＶＰＩ／ＶＣＩとＢＬＬＩと相手アドレスをＶＣＩＤ管理表（受信ＶＣ用）に登録する（Ｓ２０１）。
【００４４】
また、図４（ｂ）に示すように、ＶＣＩＤ  ＰＲＯＰＯＳＥメッセージを受信すると、そのメッセージに書かれたＢＬＬＩ＝ｘとＶＣＩＤ  ＰＲＯＰＯＳＥメッセージの送信ノード（Ａ）をキーとしてＶＣＩＤ管理表を検索する。検索されたエントリにＶＣＩＤ  ＰＲＯＰＯＳＥメッセージに記入されているＶＣＩＤ＝ｃを登録して（Ｓ２０２）、ＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージを返す（Ｓ２０３）。
【００４５】
以上の動作により、送信ノードでは、ＶＰＩ＝ｍ，ＶＣＩ＝ｎ，ＶＣＩＤ＝ｃの対応が取れ、受信ノードでは、ＶＰＩ＝ｙ，ＶＣＩ＝ｚ，ＶＣＩＤ＝ｃの対応が取れる。これにより、同一のＶＣに共通の識別子ＶＣＩＤ＝ｃが割り当てられる。
【００４６】
以下には、図５のようにノードＡとノードＢの間に設定されたコネクションに対して両者が共通のＶＣＩＤを持っているときに、ノードＣをリーフとして追加したポイントマルチポイントコネクションを設定して、そのコネクションに対してＶＣＩＤを割り当てる（ノードＡとノードＣの間でＶＣＩＤを共有する）手順を説明する。
【００４７】
ノードＡは、ノードＣをリーフとしたポイントマルチポイントＶＣを設定するときには、図６のフローチャートにしたがって動作する。まず、ＶＣＩＤ管理表からリーフを追加するＶＰＩ＝ｍ，ＶＣＩ＝ｎを検索する。このエントリのＢＬＬＩ＝ｘ，ＶＣＩＤ＝ｃを取り出し、ＢＬＬＩ＝ｘをロックする。また、相手アドレスにノードＣを登録する（Ｓ３０１）。
【００４８】
ここでＶＣＩＤ管理表に記入されているリーフを追加したいＶＣのＢＬＬＩ＝ｘが、ノードＡ〜Ｃ間の他のＶＣに関するＶＣＩＤ割り当て手順に利用されていてロックされている可能性がある。この場合には、利用中のＶＣによるロックが解除されるまでリーフを追加したいＶＣに関するＶＣＩＤ割り当て処理を待つ必要がある。こうしたＢＬＬＩ利用のぶつかりを避けるためには、ポイントマルチポイントＶＣ（後からリーフを追加削除する可能性のあるＶＣ）に関してはＶＣＩＤが割り当てられたあともＢＬＬＩのロックを解除しない（あるいはＢＬＬＩをそのままＶＣＩＤとして利用し続ける）方法が考えられる。
【００４９】
他の方法として、新たなリーフノードＣを追加する際に用いるＢＬＬＩの値を、最初にノードＡ〜Ｂ間でＶＣＩＤ割り当てをする際に用いた値と無関係に決定するという方法も考えられる。その場合には最初のノードＡ〜Ｂ間でＶＣを設定した際のＶＣＩＤ割当が終了するとＢＬＬＩの値のロックを解除すると同時にＶＣＩＤ管理表から削除することになる。
【００５０】
ノードＡ−Ｂ間でのＶＣＩＤ共有が完了してＢＬＬＩ＝ｘのロックを解除する際にＶＣＩＤ管理表からＢＬＬＩの値を削除する場合は、Ｓ３０１ではエントリのＢＬＬＩの欄は空欄であるので、ノードＡ−Ｃ間でＶＣＩＤメッセージ交換をする際に新たに相手アドレスＣで使われていないＢＬＬＩを検索して、ＶＰＩ＝ｍ，ＶＣＩ＝ｎのエントリに相手アドレスＣと共に登録し、この新たなＢＬＬＩを以下の手順で用いればよい。また、ＢＬＬＩ＝ｘがＶＣＩＤ管理表に残っている場合も、これを使う前に相手アドレスＣで使われていない値かどうかをチェックし、使われていれば別のＢＬＬＩを検索して登録する。
【００５１】
また、このときのＶＣＩＤは、ノードＡ−Ｂ間でＶＣＩＤメッセージ交換をする場合に用いた値と同じでなくてもよい。Ｓ３０１でＶＣＩＤ＝ｃを取り出す代わりに図３のＳ１０２と同様に使われていないＶＣＩＤを検索することにより、ノードＡ−Ｂ間と異なるＶＣＩＤと使うことが出来る。このときは、Ｓ３０１において、新しいＶＣＩＤをＶＣＩＤ管理表に登録する必要がある。
【００５２】
ＡＴＭシグナリング部にＢＬＬＩ＝ｘと相手アドレス＝Ｃを指定してリーフを追加する（Ｓ３０２）。リーフが設定されたことを認識すると、ＢＬＬＩ＝ｘ，ＶＣＩＤ＝ｃを記入したＶＣＩＤ  ＰＲＯＰＯＳＥメッセージを、図示しないノードＡ−Ｃ間のデフォルトＶＣで、相手アドレスのノード（ノードＣ）に送信する（Ｓ３０３）。このときのＶＣＩＤ＝ｃは、これにより認識しようとするＶＣが同一のポイントマルチポイントコネクションであるので、ノードＢとの間で共有されたＶＣＩＤと同じものである必要がある。そして、ＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫメッセージを受信するとＶＣＩＤ管理表のＢＬＬＩ＝ｘのロックを解除し、ＢＬＬＩ＝ｘを他の仮想コネクション用に使用可能にする（Ｓ３０４）。
【００５３】
ノードＣは、図４のフローチャートに従って動作するので、上記で説明したノードＢと同様の動作を行う。
この具体例で説明したメッセージは、新たに設定したＶＣではなく、デフォルトＶＣで送信する。これにより、図５でノードＡがＣＳＲのようなセルベースの転送機能を持ち、、ここで設定しているＶＣがセルベースの転送をするＶＣである場合に、新たに設定したＶＣ（リーフを追加したポイントマルチポイントコネクション）にメッセージを流さずに、新たなノードとＶＣＩＤ交換をすることが可能になる。
【００５４】
なお、図５では上流ノードＡがＢＬＬＩ＝ｘ、ＶＣＩＤ＝ｃの値を決定、通知する場合を示したが、下流ノードＣが両方の値を決定して上流ノードＡに通知する場合、上流ノードＡがＢＬＬＩ＝ｘを下流ノードＣに通知して下流ノードＣが上流ノードＡにＶＣＩＤ＝ｃを通知する場合、下流ノードＣがＢＬＬＩ＝ｘを上流ノードＡに通知して上流ノードＡが下流ノードＣにＶＣＩＤ＝ｃを通知する場合なども可能である。
【００５５】
（具体例２）
この具体例では、具体例１の手法をＣＳＲに適用した場合を説明する。特に、具体例１のＶＣＩＤ  ＰＲＯＰＯＳＥメッセージにＣＳＲ間で交換するフローＩＤの情報を記入することで、ＣＳＲ間で交換すべきメッセージの数を減らすことを実現する。
【００５６】
すなわち、ＣＳＲにおいては、そのＶＣ（専用ＶＣ）にどのフローのパケットを流すかを示す情報を隣接ノード間で交換する必要がある。これは、具体例１のようにＶＣＩＤが隣接ノード間で共有された後、ＶＣＩＤとフローＩＤとを含む別のメッセージをデフォルトＶＣで送信することでも実現できるが、ＶＣＩＤ  ＰＲＯＰＯＳＥにフローＩＤをも含めてしまうことでも実現できる。
【００５７】
まず、概要を説明する。図７のようにノードＡ（３）あるいはノードＢ（３）がＣＳＲの場合を考える。ＣＳＲでは、ＶＣの両端で共通の識別子（ＶＣＩＤ）とそのＶＣに流すパケットのフローの識別子（フローＩＤと呼ぶことにする）の対応を交換する必要がある。この具体例では、具体例１で述べたＶＣの両端で共通の識別子を交換するメッセージの中にフローの識別子を記入することで、一つのメッセージでＶＣＩＤの交換とフローＩＤの交換の両方を行うことができる。
【００５８】
ＣＳＲ間でフローＩＤとＶＣＩＤの対応が行われると、送信側でそのＶＣＩＤが付いているＶＣにフローＩＤで規定されたパケットのみを流す。受信側では、ＶＣＩＤが付いているＶＣから流れてきたパケットは、フローＩＤで規定されたパケットであることが分かる。つまり、パケットの中身を見ること無く、宛先等のフロー情報が分かる。したがって、例えばセルベースの転送を行うことができる。
【００５９】
図７では、具体例１の図１と同じように、ノードＡとノードＢがＡＴＭスイッチを介して接続されている。まず、ＡＴＭシグナリングメッセージにＢＬＬＩ＝ｘを記入してＶＣを設定する。その後、具体例１では、ＶＣＩＤ  ＰＲＯＰＯＳＥでＢＬＬＩとＶＣＩＤの２つの情報を運んでいた。ここでは、このメッセージにフローＩＤを含めることで、ＶＣＩＤとＶＰＩ／ＶＣＩとの対応を取ると同時に、ＶＣＩＤとフローＩＤの対応も取れる。このように新たに定義したＶＣＩＤＰＲＯＰＯＳＥにフローＩＤを入れることで、交換するメッセージの数を減らすことができる。
【００６０】
このメッセージ交換により対応づけられたＶＣＩＤとフローＩＤは、ＡＴＭコネクションを解放することにより対応が解除される。ＡＴＭコネクションの解放は、そのフローに対する専用ＶＣを維持しておく必要がなくなったと判断したときに行ってもよいし、隣接ノード間に設定しておく未使用の専用ＶＣの数が一定数を越えた場合に行ってもよい。ＡＴＭコネクションを解放した場合は、ＶＣＩＤも解放されるので、次にＡＴＭコネクションを設定したときに、上記と同じ手順を行う。
【００６１】
ここで、ＡＴＭコネクションの設定回数を減らしたい場合には、以下の手法を採ることができる。つまり、仮想コネクション及びそのＶＣＩＤは、今までこれを使用していたフローのパケットを送信する必要がなくなった場合でも、解放せずに（未使用のまま）残しておく。そして、この仮想コネクションのＶＣＩＤとフローＩＤの対応付けのみを、新たに定義するＲＥＭＯＶＥメッセージを使うことにより解除する。
【００６２】
ＲＥＭＯＶＥメッセージには、解放したいＶＣＩＤを記入する。このメッセージを受信すると、ＶＣＩＤ  ＰＲＯＰＯＳＥメッセージに基づいて保管しておいたＶＣＩＤとフローＩＤの対応付けを解除するが、ＶＣＩＤとＡＴＭコネクション（ＶＰＩ／ＶＣＩ）の対応関係はＶＣＩＤ管理表に残しておく。
【００６３】
そして、新たなフローに対して専用ＶＣを使用する必要が生じた場合には、ＶＣＩＤ管理表にＶＣＩＤが残っている未使用のＶＣの中からＶＣを選択し、このＶＣＩＤと新たなフローＩＤとを含むメッセージをデフォルトＶＣで送信する。これにより、ＶＣＩＤの交換手順を再度行うこと無く、ＡＴＭコネクションを再利用することができる。
【００６４】
なお、ＡＴＭコネクションの解放およびＲＥＭＯＶＥメッセージの送信は上流ノードＡか下流ノードＢのどちらから行なっても構わない。
以上述べた具体例１および２では、となり合うノードＡ、Ｂのうちパケットフローの転送に関する上流側ノード（ノードＡ）が主導でＢＬＬＩ、ＶＣＩＤ、フローＩＤのすべての通知を行なう場合を説明したが、これらは下流側ノードが主導で行なう場合も考えられる。またＡＴＭシグナリングによる専用ＶＣの設定とフローＩＤ等の通知の順序を入れ換えることも可能である。以下にその例をいくつか示す。
【００６５】
（具体例３）
図８では、まずＡＴＭシグナリングメッセージにＢＬＬＩ＝ｘを記入してＶＣを設定する。このＶＣの設定およびＢＬＬＩの指定は上流側から行なっても下流側から行なっても構わないが、ポイントマルチポイントコネクションの場合にはポイントマルチポイントコネクションのすべてのリーフノードに対して同一のＢＬＬＩ値を利用することが望ましいため、上流側がＢＬＬＩの値を決定する方が望ましい。いづれにせよ、この時点では各ノードの相手ノードに対するＶＣＩＤ管理表のＢＬＬＩ＝ｘの値は他に利用されないようにロックされる。次に上流ノードＡは下流ノードＢに向けて、設定したＶＣ（ＢＬＬＩ＝ｘ）とフローＩＤの対応を伝えるとともに固定的に使う識別子ＶＣＩＤの値の割り当てをノードＢに対して要求するメッセージを送信する（ＶＣＩＤ  ＲＥＱＵＥＳＴ）。ノードＢはこのＶＣに対して割り当てるＶＣＩＤの値を決定し、通知されたフローＩＤ、ＢＬＬＩの値とともにノードＡに通知する（ＶＣＩＤ  ＲＥＱＵＥＳＴ  ＡＣＫ）。この時点でＢＬＬＩ＝ｘのロックは解除され、以降の手順ではＶＣＩＤ＝ｃを用いてＶＣの識別をする。
【００６６】
図９では、ＡＴＭシグナリングにＢＬＬＩ＝ｘを記入してＶＣを設定後（この時点で各ノードの相手ノードに対するＢＬＬＩ＝ｘをロック）、下流ノードＢがＶＣＩＤ値ｃを決定し、ＢＬＬＩ＝ｘとともに上流ノードＡに通知している（ＶＣＩＤ  ＰＲＯＰＯＳＥ）。上流ノードＡはそれを受信すると、そのＶＣに流したいフローに関する情報をフローＩＤとしてＢＬＬＩ＝Ｘ、ＶＣＩＤ＝ｃとともにノードＢに通知する（ＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫ）。この時点でＢＬＬＩ＝ｘのロックは解除され、以降の手順ではＶＣＩＤ＝ｃを用いてＶＣの識別をする。
【００６７】
図１０では、上流ノードＡがあるフローのための専用ＶＣの設定を要求するメッセージを下流ノードＢに送信し（ＶＣＩＤ  ＲＥＱＵＥＳＴ）、それを受け付ける旨のメッセージをノードＢがノードＡに送信（ＶＣＩＤ  ＲＥＱＵＥＳＴ  ＡＣＫ）したのちに、ＡＴＭシグナリングにより専用ＶＣ（ＢＬＬＩ＝ｘ）を設定する場合を示している。ここでは、ＢＬＬＩ＝ｘ、ＶＣＩＤ＝ｃを下流ノードＢが決定してフローＩＤとともに上流ノードＡに通知する場合を示しているが、これらのいづれか、あるいは両方をノードＡが決定するケースも考えられる。つまり、ノードＡがフローＩＤと決定したＢＬＬＩの値をノードＢに通知し（ＶＣＩＤ  ＲＥＱＵＥＳＴ）、ノードＢがこれに応答して決定したＶＣＩＤの値をフローＩＤもしくはＢＬＬＩとともにノードＡに通知する（ＶＣＩＤ  ＲＥＱＵＥＳＴ  ＡＣＫ）か、もしくは、ノードＡがフローＩＤと決定したＶＣＩＤの値をノードＢに通知し（ＶＣＩＤ  ＰＲＯＰＯＳＥ）、ノードＢがこれに応答して決定したＢＬＬＩの値をフローＩＤもしくはＶＣＩＤとともにノードＡに通知する（ＶＣＩＤ  ＰＲＯＰＯＳＥ  ＡＣＫ）か、もしくは、ノードＡがフローＩＤと決定したＢＬＬＩ及びＶＣＩＤの値をノードＢに通知する（ＶＣＩＤ  ＰＲＯＰＯＳＥ）かした後に、そのＢＬＬＩを指定してシグナリングを行いＶＣを設定する。いづれにしてもＢＬＬＩ＝ｘ、ＶＣＩＤ＝ｃを決定し、相手ノードに通知した時点ではＢＬＬＩの値はこの送受信対の他のＶＣに利用されないようにロックし、ＡＴＭシグナリングによるＶＣ設定が無事に行なわれた時点で、ロックを解除する。
【００６８】
図１１では、ノードＡ〜Ｂ間に張られたポイントポイントＶＣに新たなリーフノードＣが追加される場合の他の実施形態を示している。ノードＣからノードＡへ送信されるマルチキャストへの参加を表すＰＩＭ  ＪＯＩＮメッセージの中にＢＬＬＩ＝ｘ、ＶＣＩＤ＝ｃ、フローＩＤ＝グループアドレスが記入される。この時点でＢＬＬＩ＝ｘの値がノードＡおよびＣのＶＣＩＤ管理部でロックされる。ノードＡが次にＡＴＭシグナリング（ＢＬＬＩ＝ｘを記入）によりリーフノードＣの追加を行ない、それが終了した時点でＢＬＬＩ＝ｘのロックが解除される。なお、この追加されたリーフを維持するために定期的に下流ノードＣから送られるＰＩＭ  ＪＯＩＮには、少なくともフローＩＤが含まれる。すでに述べたように、マルチキャストの場合にはＢＬＬＩの値のロックは解除せず、そのままＢＬＬＩの値をＶＣＩＤとして用いる方法も考えられる。なお、ＰＩＭ  ＪＯＩＮメッセージにはフローＩＤだけを記入して、以後のＡＴＭシグナリングでＢＬＬＩ＝ｘをノードＡ、Ｃ間で共有し、その後のメッセージでＢＬＬＩ＝ｘ、ＶＣＩＤ＝ｃ、フローＩＤの対応を通知し合う方法も考えられるが、その場合の手順は図５に示したものと等価となる。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【００６９】
【発明の効果】
本発明によれば、共通の識別子をつける必要のあるＶＣにメッセージを流すこと無く、十分な大きさの共通の識別子をＶＣに付けることができる。これにより、十分な数のＶＣを同時に識別することができる。
【図面の簡単な説明】
【図１】本実施形態が適用されるネットワーク構成とメッセージの例を示す図
【図２】本実施形態に係わるノード装置の構成例を示す図
【図３】ＶＣＩＤ交換の際に送信側ノードで行われる手順を示すフローチャート
【図４】ＶＣＩＤ交換の際に受信側ノードで行われる手順を示すフローチャート
【図５】本実施形態が適用されるネットワーク構成とメッセージの別の例を示す図
【図６】ＶＣＩＤ交換の際に送信側ノードで行われる別の手順を示すフローチャート
【図７】本実施形態が適用されるネットワーク構成とメッセージの更に別の例を示す図
【図８】本実施形態が適用されるネットワーク構成とメッセージの更に別の例を示す図
【図９】本実施形態が適用されるネットワーク構成とメッセージの更に別の例を示す図
【図１０】本実施形態が適用されるネットワーク構成とメッセージの更に別の例を示す図
【図１１】本実施形態が適用されるネットワーク構成とメッセージの更に別の例を示す図
【符号の説明】
１…ノード
２…ＡＴＭスイッチ
３…ノード（ＣＳＲ）
１０…ＡＴＭインターフェイス部
２０…ＶＣＩＤメッセージ送受信部
３０…ＡＴＭシグナリング部
４０…ＶＣＩＤ管理部
４１…ＶＣＩＤ管理表（送信ＶＣ用）
４２…ＶＣＩＤ管理表（受信ＶＣ用）
【図１】
0003579208.tif 000002
【図２】
0003579208.tif 000003
【図３】
0003579208.tif 000004
【図４】
0003579208.tif 000005
【図５】
0003579208.tif 000006
【図６】
0003579208.tif 000007
【図７】
0003579208.tif 000008
【図８】
0003579208.tif 000009
【図９】
0003579208.tif 000010
【図１０】
0003579208.tif 000011
【図１１】
0003579208.tif 000012