(57)【要約】本発明は、隣接したノード装置に複数リンクにより接続され、該複数リンクにパケットを振り分けて送信した場合においてもパケットの順序を保証できるノード装置に関する。ノード装置は、ユーザ識別情報と、該ユーザ識別情報のユーザのパケットを送信する１つリンクとを対応させたテーブルを保持する。ノード装置は、受信パケットに含まれるユーザ識別情報を抽出し、抽出したユーザ識別情報に対応するリンクをテーブルから求める。そして、ノード装置は、該求めたリンクに受信パケットを送信する。各ユーザには、１つのリンクが割り当てられているので、各ユーザのパケットの順序が保証される。
2004086697.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに設けられ、下流側に隣接するノード装置と複数のリンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置であって、
前記受信したパケットに含まれる、該パケットの送信元ユーザを示すユーザ識別情報を抽出するユーザ情報抽出部と、
パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた１つのリンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ情報抽出部により抽出されたユーザ識別情報に対応するリンクの識別情報を求めるデータ保持部と、
前記データ保持部により求められたリンクの識別情報に対応するリンクに、前記受信したパケットを送信するパケット送信部と、
を備えるノード装置。
【請求項２】
請求の範囲第１項において、
前記ユーザ識別情報のユーザに割り当てられた１つのリンクは、該ユーザの要求帯域を保証するリンクである、ノード装置。
【請求項３】
請求の範囲第１項において、
前記割り当てデータは、前記通信ネットワークを管理するネットワーク管理装置により生成され、該データ保持部に送信されて保持される、ノード装置。
【請求項４】
請求の範囲第１項において、
前記割り当てデータは、前記データ保持部により生成され、または、データ生成部により生成される、ノード装置。
【請求項５】
請求の範囲第１項において、
前記割り当てデータは、新たなユーザの要求帯域が前記複数のリンクのいずれかに割り当てられる場合に、該新たなユーザの要求帯域以上の空き帯域を有するリンクのうち、空き帯域の最も大きなリンクまたは最も小さなリンクに該新たなユーザの要求帯域が割り当てることにより生成される、ノード装置。
【請求項６】
請求の範囲第１項において、
前記割り当てデータは、新たなユーザの要求帯域が前記複数のリンクのいずれかに割り当てられる場合に、該新たなユーザの要求帯域以上の空き帯域を有するリンクのうち、使用率の最も低いリンクまたは最も高いリンクに該新たなユーザの要求帯域が割り当てられることにより生成される、ノード装置。
【請求項７】
請求の範囲第１項において、
前記割り当てデータは、新たなユーザの要求帯域が前記複数のリンクのいずれかに割り当てられる場合に、既に割り当てられているユーザおよび該新たなユーザを含めた全ユーザの要求帯域が、前記複数のリンクに新たに割り当て直されることにより生成される、ノード装置。
【請求項８】
請求の範囲第７項において、
前記割り当てデータは、前記全ユーザの要求帯域のうち、大きな要求帯域のユーザから小さな要求帯域のユーザへ向けて順に割り当て直すことにより生成される、ノード装置。
【請求項９】
請求の範囲第８項において、
前記割り当てデータは、前記大きな要求帯域のユーザから小さな要求帯域のユーザへ向けて順に選択されたユーザの要求帯域以上の空き帯域を有するリンクのうち、空き帯域の最も大きなリンクまたは最も小さなリンクに該選択されたユーザの要求帯域が割り当てられることにより生成される、ノード装置。
【請求項１０】
請求の範囲第８項において、
前記割り当てデータは、前記大きな要求帯域のユーザから小さな要求帯域のユーザへ向けて順に選択されたユーザの要求帯域以上の空き帯域を有するリンクのうち、使用率の最も低いリンクまたは最も高いリンクに該選択されたユーザの要求帯域が割り当てられることにより生成される、ノード装置。
【請求項１１】
請求の範囲第１項において、
前記データ保持部は、ユーザ識別情報と、前記複数のリンクに障害が発生していない通常時において該ユーザ識別情報のユーザに割り当てられる第１リンクの識別情報、および、前記複数のリンクの少なくとも１つに障害が発生した障害時において該ユーザ識別情報のユーザに割り当てられる第２リンクの識別情報とを対応させた割り当てデータを保持し、前記通常時には、前記ユーザ情報抽出部により抽出された前記ユーザ識別情報に対応する第１リンクの識別情報を求め、前記障害時には、前記ユーザ情報抽出部により抽出された前記ユーザ識別情報に対応する第２リンクの識別情報を求め、
前記パケット送信部は、前記データ保持部により求められた第１リンクまたは第２リンクの識別情報に対応するリンクに、前記受信したパケットを送信する、
ノード装置。
【請求項１２】
請求の範囲第１項において、
前記データ保持部は、前記複数のリンクの少なくとも１つに障害が発生した障害時には、前記割り当てデータの全てのユーザ識別情報が、障害が発生していないリンクに対応するように、前記割り当てデータの前記リンクの識別情報の全てまたは一部を書き換え、前記障害時には、書き換え後の割り当てデータに基づいて、前記ユーザ情報抽出部により抽出された前記ユーザ識別情報に対応するリンクの識別情報を求める、
ノード装置。
【請求項１３】
請求の範囲第１１または第１２項において、
前記複数のリンクの少なくとも１つは、障害時にのみ使用されるバックアップリンクであり、残りは、通常時に使用される現用リンクであり、前記第１リンクは、現用リンクのうちの１つであり、前記第２リンクは、バックアップリンクの１つまたは現用リンクの１つである、ノード装置。
【請求項１４】
請求の範囲第１１項または第１２項において、
前記複数のリンクの全てが、通常時に使用される現用リンクであり、前記第１リンクは、現用リンクのうちの１つであり、前記第２リンクは、障害時に障害が発生していない現用リンクの１つである、ノード装置。
【請求項１５】
請求の範囲第１４項において、
前記割り当てデータの第２リンクは、障害時に、障害が発生していない現用リンクのうち、要求帯域以上の空き帯域を有する１つのリンク、または、要求帯域以上の空き帯域を有するリンクが存在しない場合には障害が発生していない現用リンクの負荷が均等に近づくように選択された１つのリンクである、ノード装置。
【請求項１６】
請求の範囲第１５項において、
前記割り当てデータの第２リンクは、障害時に、障害が発生していない現用リンクのうち、要求帯域以上の空き帯域を有する１つのリンク、または、要求帯域以上の空き帯域を有するリンクが存在しない場合には障害が発生していない現用リンクのオーバーした帯域が均等に近づくように選択されたリンクである、ノード装置。
【請求項１７】
請求の範囲第１５項において、
前記割り当てデータの第２リンクは、障害時に、障害が発生していない現用リンクに対して、優先度の高いユーザの要求帯域を先に割り当て直し、優先度の低いユーザの要求帯域を後に割り当てなおすことにより決定される、ノード装置。
【請求項１８】
請求の範囲第１項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第１リンクの識別情報および第２リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第１および第２リンクの識別情報を求め、
前記パケット送信部は、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第１リンクに送信し、前記切り替え指令を受信すると、切り替え指令受信前において前記第１リンクに振り分けられるべきパケットが、所定の時間の間受信されるかどうかを判断し、該所定の時間の間受信されない場合に、それ以降に受信したパケットについては、前記データ保持部により求められた第２リンクに送信する、
ノード装置。
【請求項１９】
請求の範囲第１８項において、
前記パケット送信部は、前記切り替え指令を受信した後は、前記第１リンクに所定の時間の間該ユーザのパケットが受信されない場合に、それ以後受信したパケットについては、前記データ保持部に求められた第２リンクに送信する処理を各ユーザ毎に行う、
ノード装置。
【請求項２０】
請求の範囲第１項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第１リンクの識別情報および第２リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第１および第２リンクの識別情報を求め、
前記パケット送信部は、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第１リンクに送信し、前記切り替え指令を受信すると、前記複数のリンクにリンク切り替えを示す制御パケットを送信し、その後、前記データ保持部により求められた第２リンクにパケットを送信する、
ノード装置。
【請求項２１】
請求の範囲第１項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第１リンクの識別情報および第２リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第１および第２リンクの識別情報を求め、
前記パケット送信部は、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第１リンクに前記受信したパケットを送信し、前記切り替え指令を受信すると、前記複数のリンクのそれぞれについて所定の時間の間、パケットの送信を停止し、その後、前記データ保持部により求められた第２リンクにパケットの送信を開始する、
ノード装置。
【請求項２２】
請求の範囲第１項において、
前記データ保持部は、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた第１リンクの識別情報および第２リンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ識別情報に対応する第１および第２リンクの識別情報を求め、
前記データ送信部は、前記複数のリンクのそれぞれについての送信バッファを有し、前記通信ネットワークを管理するネットワーク管理装置または前記下流側に隣接するノード装置からのリンク切り替え指令を受信する前に受信したパケットについては、前記データ保持部により求められた第１リンクに前記受信したパケットを送信し、前記切り替え指令を受信すると、前記送信バッファのそれぞれが空になったかどうかを監視し、空になった送信バッファに対応する第１リンクに振り分けられるパケットについては、第２リンクに切り替えてパケットを送信する、
ノード装置。
【請求項２３】
通信ネットワークに設けられ、上流側に隣接するノード装置と複数のリンクを介して接続され、前記上流側に隣接するノードから受信したパケットをさらに下流側のノード装置に伝送するノード装置であって、
前記複数のリンクのそれぞれから受信されるパケットを一時的に記憶する複数の受信バッファと、
前記複数の受信バッファを監視し、前記上流側に隣接するノード装置がパケットを送信するリンクを切り替える場合に送信する、リンク切り替えを示す制御パケットが該複数の受信バッファの少なくとも１つに受信された場合には、前記複数の受信バッファのすべてに制御パケットが受信されるまで、該制御パケットが受信された受信バッファにその後に受信されるパケットの読み出しを停止し、前記複数の受信バッファのすべてに制御パケットが受信されると、前記複数の受信バッファからのパケットの読み出しを再開してパケットを送信する読み出し制御部と、
を備えるノード装置。
【請求項２４】
隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、
前記複数リンクのうち、ユーザの要求帯域以上の空き帯域を有するリンクを選択するステップと、
前記選択するステップにより１つのリンクが選択された場合には、該１つのリンクに前記ユーザの要求帯域を割り当て、２以上のリンクが選択された場合には、該２以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該ユーザの要求帯域を割り当てるステップと、
を備える方法。
【請求項２５】
請求の範囲第２４項において、
前記複数リンクに１または２以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、前記既に割り当てられているユーザの帯域の割り当ては変更せず、該新たに追加されるユーザの要求帯域を、前記選択するステップおよび前記割り当てるステップによって割り当てる、
方法。
【請求項２６】
隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、
前記複数リンクに１または２以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、該既に割り当てられているユーザの帯域の割り当てを解除するステップと、
前記解除したユーザの要求帯域および前記新たに追加されるユーザの要求帯域のうち、割り当てが決定されていないユーザの要求帯域の中から最大の要求帯域を選択するステップと、
前記複数リンクのうち、前記選択した最大の要求帯域以上の空き帯域を有するリンクを選択するステップと、
前記選択するステップにより１つのリンクが選択された場合には、該１つのリンクに前記最大の要求帯域を割り当て、前記選択するステップにより２以上のリンクが選択された場合には、該２以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該最大の要求帯域を割り当てるステップと、
を備える方法。
【発明の詳細な説明】
【技術分野】  本発明は、通信ネットワークに設けられ、下流側に隣接するノード装置と複数リンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置に関し、特に、複数リンクにパケットを振り分けて送信した場合においてもパケットの順序を保証できるノード装置に関する。また、本発明は、パケットの順序を保証できるユーザ帯域の複数リンクへの割り当て方法に関する。
【背景技術】  近年、インターネットの爆発的な普及や大容量・高品質な情報を扱う光等のメディアの登場により、大容量データを柔軟に扱うことのできる大規模な通信基盤の整備に期待が寄せられている。通信基盤において、拡大するトラヒックを収容する方法として、伝送装置間に複数のリンクを設ける方法がある。例えば、伝送装置間の１Ｇｂｐｓの帯域のリンクを１本から３本に増やすといった方法である。この方法は、イーサーネットでは、リンクアグリゲーションと呼ばれており、ＩＥＥＥ８０２．３で規定されている。
伝送装置間に複数のリンクが設けられた場合に、伝送装置から複数のリンクのいずれにパケット（フレーム）を振り分ける（割り当てる）かが、帯域保証サービスの実現、リンク（帯域）の有効利用の観点から重要となってくる。
ＩＥＥＥ８０２．３のリンクアグリゲーションでは、複数リンクを設けた場合に、（１）フロー毎のパケットの順序が保証されること、および（２）パケットの複製が無いこと、が条件となっているが、複数リンクへパケットをどのように振り分けて送信するかを示すアルゴリズムは規定されていない。
パケットを複数のリンクにどのように振り分けるかについての一方法として、パケットを送信するごとに、リンクをサイクリックに切り替えていく方法がある。しかし、この方法では、パケット長が可変であるため、パケットの順序が保証されない。例えば、同一ユーザの第１パケットが１番目のリンクに送信された後、第２パケットが２番目のリンクに送信された場合において、第１パケットが第２パケットよりパケット長が長いときは、後に送信された第２パケットが先に送信先の伝送装置に到達し、順序逆転が発生することがある。このような順序逆転を確実に防止するため、送信元伝送装置は、ＭＡＣアドレス、入力ポート、ＩＰアドレス、ポート番号等のパケットの属性を識別し、同一の属性値を持つパケットを同一のリンクに振り分けることで、フロー毎のパケットの順序を保証している。
また、複数のリンクにパケットを均等に分配するため、前記パケットの属性値をハッシュ関数に代入して求めたハッシュ値により、パケットをランダムにリンクに振り分ける方法がある。同一のフロー（またはユーザ）に属するパケットは、同一のハッシュ値を有するので、同一のリンクに振り分けられる。これにより、フロー毎のパケットの順序は保証される。しかし、パケットの属性値により求められるハッシュ値は、該属性値によっては偏る場合があり、その結果、特定のリンクにパケットが多く振り分けられ、均等に分散されるとは限らない。このため、拡張されたリンク帯域を有効に利用できないという問題がある。ベストエフォート（Ｂｅｓｔ  Ｅｆｆｏｒｔ）サービスに対してはこれでも良いが、帯域保証サービスで確実に帯域を保証できるのは、最悪ケースを考慮すると、どんなにリンク数を増やしても１リンク分の帯域に限られてしまう。
なお、帯域保証サービスを実現するための従来技術としては、ネットワーク管理システムに関するものがあるが、複数リンクを前提としておらず、したがって伝送装置間の複数のリンクへのパケットの振り分けについては考慮されていない（例えば特許文献１参照）。
また、従来の帯域制御装置としては、複数の物理リンクを１本の論理リンクにトランキングし、該論理リンクの中の特定のいくつかの物理リンクを、特定条件のトラフィックに合うように収束したサブ論理リンクに該トラフィックを分配するものがある（例えば特許文献２参照）。
【特許文献１】  特開平１１−１７７６１７号公報（第２頁）
【特許文献２】  特開２００２−２３２４２７号公報（第２頁）
【発明の開示】
本発明は、複数リンクを有するノードにおいて、パケットの順序を保証することを目的とする。
本発明によるノード装置は、通信ネットワークに設けられ、下流側に隣接するノード装置と複数のリンクを介して接続され、受信したパケットを該下流側に隣接するノード装置に伝送するノード装置であって、前記受信したパケットに含まれる、該パケットの送信元ユーザを示すユーザ識別情報を抽出するユーザ情報抽出部と、パケットの送信元ユーザのユーザ識別情報と、前記複数のリンクのうち、該ユーザ識別情報のユーザに割り当てられた１つのリンクの識別情報とを対応させた割り当てデータを保持し、前記ユーザ情報抽出部により抽出されたユーザ識別情報に対応するリンクの識別情報を求めるデータ保持部と、前記データ保持部により求められたリンクの識別情報に対応するリンクに、前記受信したパケットを送信するパケット送信部と、を備える。
本発明によると、あるユーザから送信されたパケットは、複数リンクのうちの所定の１つのリンクに振り分けられて送信される。これにより、ユーザのパケット間の順序逆転が回避され、パケットの順序を保証することができる。
好ましくは、前記ユーザ識別情報のユーザに割り当てられた１つのリンクは、該ユーザの要求帯域を保証するリンクである。これにより、帯域保証サービスが実現される。
また、本発明によるノード装置は、通信ネットワークに設けられ、上流側に隣接するノード装置と複数のリンクを介して接続され、前記上流側に隣接するノードから受信したパケットをさらに下流側のノード装置に伝送するノード装置であって、前記複数のリンクのそれぞれから受信されるパケットを一時的に記憶する複数の受信バッファと、前記複数の受信バッファを監視し、前記上流側に隣接するノード装置がパケットを送信するリンクを切り替える場合に送信する、リンク切り替えを示す制御パケットが該複数の受信バッファの少なくとも１つに受信された場合には、前記複数の受信バッファのすべてに制御パケットが受信されるまで、該制御パケットが受信された受信バッファにその後に受信されるパケットの読み出しを停止し、前記複数の受信バッファのすべてに制御パケットが受信されると、前記複数の受信バッファからのパケットの読み出しを再開してパケットを送信する読み出し制御部と、を備える。
本発明によるユーザ帯域割り当て方法は、隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、前記複数リンクのうち、ユーザの要求帯域以上の空き帯域を有するリンクを選択するステップと、前記選択するステップにより１つのリンクが選択された場合には、該１つのリンクに前記ユーザの要求帯域を割り当て、２以上のリンクが選択された場合には、該２以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該ユーザの要求帯域を割り当てるステップと、を備える。
本発明によると、ユーザの要求帯域は、複数リンクのうちの所定の１つのリンクに割り当てられる。これにより、あるユーザのパケットは、割り当てあられた１つのリンクを介して伝送され、該ユーザのパケットの順序を保証することができる。
また、本発明は、隣接するノード装置間に複数のリンクが設けられる通信ネットワークを管理するネットワーク管理装置で実行され、前記複数リンクへのユーザの帯域の割り当てを行うユーザ帯域割り当て方法であって、前記複数リンクに１または２以上のユーザの帯域が既に割り当てられている場合において、新たに追加されるユーザの要求帯域を割り当てるとき、該既に割り当てられているユーザの帯域の割り当てを解除するステップと、前記解除したユーザの要求帯域および前記新たに追加されるユーザの要求帯域のうち、割り当てが決定されていないユーザの要求帯域の中から最大の要求帯域を選択するステップと、前記複数リンクのうち、前記選択した最大の要求帯域以上の空き帯域を有するリンクを選択するステップと、前記選択するステップにより１つのリンクが選択された場合には、該１つのリンクに前記最大の要求帯域を割り当て、前記選択するステップにより２以上のリンクが選択された場合には、該２以上のリンクのうち、空き帯域の最も大きなリンク、空き帯域の最も小さなリンク、使用率の最も高いリンク、または使用率の最も低いリンクを選択し、選択したリンクに該最大の要求帯域を割り当てるステップと、を備える。
本発明によっても、ユーザの要求帯域は、複数リンクのうちの所定の１つのリンクに割り当てられるので、パケットの順序保証を図ることできる。
【図面の簡単な説明】  図１は、本発明が適用される通信ネットワークの一例を示す。
図２は、ＮＭＳの全体処理の流れを示すフローチャートである。
図３は、キャリアネットワークの各スイッチの構成を示すブロック図である。
図４は、ＮＭＳにより実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
図５は、１Ｇｂｐｓのリンクが４本設けられている場合の追加ユーザ帯域の収容例を示す。
図６は、１Ｇｂｐｓのリンクが１本、１００Ｍｂｐｓのリンクが３本の場合の追加ユーザ帯域の収容例を示す。
図７は、ＮＭＳにより実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
図８は、図７のフローチャートによる帯域割り当て例を示す。
図９は、スイッチの構成を示すブロック図である。
図１０は、スイッチの構成を示すブロック図である。
図１１は、ＮＭＳによるリンク障害発生時のリンク割り当て処理の流れを示すフローチャートである。
図１２は、図１１のフローチャートによる帯域割り当て例を示す。
図１３は、優先度に従って帯域を割り当てる処理の流れを示すフローチャートである。
図１４は、スイッチの構成を示すブロック図である。
図１５は、スイッチの構成を示すブロック図である。
図１６は、スイッチの構成を示すブロック図である。
図１７は、受信側スイッチの読み出し制御部の処理フローを示すフローチャートである。
図１８は、スイッチの構成を示すブロック図である。
図１９は、スイッチの構成を示すブロック図である。
【発明を実施するための最良の形態】  図１は、本発明が適用される通信ネットワークの一例を示し、バーチャルＬＡＮ（ＶＬＡＮ：Ｖｉｒｔｕａｌ  ＬＡＮ）を使用した広域ＬＡＮの構成例を示している。あるユーザ（例えば企業等）の例えば本社、支社、工場等の複数の拠点Ａ〜Ｅには、該ユーザのＬＡＮ（図示略）がそれぞれ配設されている。そして、これら拠点のＬＡＮがキャリアネットワーク１に接続されることにより、該ユーザの１つのＶＬＡＮ２が形成される。
図１では、１人のユーザのＶＬＡＮのみを図示しているが、キャリアネットワーク１には、他のユーザの拠点ＬＡＮも接続され、該他のユーザのＶＬＡＮが形成されてもよい。
キャリアネットワーク１は、ノード装置の一例としてのスイッチ１１〜１７を有し、このスイッチ間の一部に複数リンクが設けられている。例えば、スイッチ１１−１２間およびスイッチ１３−１６間には、１Ｇｂｐｓのリンクが２本設けられ、スイッチ１１−１３間には、１Ｇｂｐｓのリンクが３本設けられ、スイッチ１３−１７間には１００Ｍｂｐｓのリンクが２本設けられている。本実施の形態では、このスイッチ間の複数リンクにおけるパケットの振り分け（割り当て）に本発明が適用される。
各拠点からキャリアネットワーク１に入力されるパケットには、入口ノードであるスイッチ１４〜１７において、各ユーザにそれぞれ割り当てられたＶＬＡＮタグ（ＶＬＡＮ−ＴＡＧ）が付加される。ＶＬＡＮタグが付加されたパケットは、キャリアネットワーク１内をＶＬＡＮタグおよびパケットのヘッダに含まれるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスに基づいてスイッチングされ、目的の拠点ＬＡＮに転送される。転送先の拠点に接続された出口ノードであるスイッチ１４〜１７において、ＶＬＡＮタグは除去され、除去後のパケットが目的の拠点ＬＡＮに送信される。
本実施の形態では、あるユーザのパケットは、スイッチ間の複数リンクのうち選択された１つのリンクに振り分けられ、２以上のリンクに分散して振り分けられることはない。これにより、該ユーザのパケットの順序が保証される。このようなパケットの振り分けを行うために、本実施の形態ではＶＬＡＮタグが使用される。
各ユーザのパケットをどのリンクに振り分けるかの設定は、キャリアネットワーク１を管理するネットワーク管理システム（ＮＭＳ：Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）１０が行う。なお、大規模なキャリアネットワークでは、ＮＭＳが階層化され、上位ＮＭＳの下位にＥＭＳ（Ｅｌｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）が設けられる場合があるが、この場合には、ＥＭＳが該振り分けの設定を行ってもよい。以下では、ＮＭＳ１０が行う場合を例にして説明することとする。
まず、ＮＭＳ１０によるユーザ帯域の設定から、各スイッチへの振り分け設定までの全体フローについて説明した後、振り分けの具体的な方法について説明する。また、その後、ある振り分けから他の振り分けに変更する場合において、パケットの順序保証を図るための変更方法について説明する。
図２は、ＮＭＳ１０の全体処理の流れを示すフローチャートである。
あるユーザ（ここでは図１のＶＬＡＮ２のユーザとする。）がＶＬＡＮによる広域ＬＡＮサービスに加入すると、ＮＭＳ１０は、該ユーザについての拠点毎のユーザ帯域を設定する（Ｓ１）。例えば、図１では、拠点Ａ〜ＣおよびＥに１００Ｍｂｐｓ、拠点Ｄに１Ｇｂｐｓが設定される。
続いて、ＮＭＳ１０は、キャリネットワーク１のネットワーク構成により、ユーザが使用する各リンク束の帯域を算出する（Ｓ２）。例えば、図１では、スイッチ１１−１２間の１Ｇｂｐｓ×２の帯域のうちの３００Ｍｂｐｓが算出される。なお、図１のスイッチ間のリンクに隣接して示される数字のうち、分母はスイッチ間の全帯域を示し、分子は該ユーザ用に算出された帯域を示している。
続いて、ＮＭＳ１０は、各リンク束の各リンクの空き帯域を確認し、振り分けリンクを決定する（Ｓ３）。この方法には、いくつかの方法があり、後に詳述する。最後に、ＮＭＳ１０は、決定された振り分けリンクに基づいて、振り分けテーブルを各スイッチに対して作成し、各スイッチに設定する（Ｓ４）。なお、振り分けテーブルの各スイッチへの設定は、図１の破線の矢印で示す、ＮＭＳ１０と各スイッチとを接続する制御線を介して行われる。
図３は、キャリアネットワーク１の各スイッチの構成を示すブロック図である。スイッチは、振り分けテーブル保持部３１、ユーザ情報抽出部３２、および出力リンク振り分け部３３を有する。
振り分けテーブル保持部３１は、ＮＭＳ１０の上記ステップＳ４の処理により設定された振り分けテーブル３１ａを保持する。振り分けテーブル３１ａは、本実施の形態では、ユーザ情報（ユーザ識別情報）の一例としてのＶＬＡＮタグと、該ＶＬＡＮタグを有するユーザのパケットが振り分けられる割り当てリンク番号（リンク識別子）とからなる。図３では、ＶＬＡＮタグ＝１のユーザのパケットにはリンク２が、ＶＬＡＮタグ＝２または３のユーザのパケットにはリンク１が、ＶＬＡＮタグ＝４のユーザのパケットにはリンク３が、それぞれ割り当てられている。
スイッチに入力されたパケットは、ユーザ情報抽出部３２に入力される。ユーザ情報抽出部３２は、パケットに含まれるユーザ情報としてＶＬＡＮタグを抽出し、抽出したＶＬＡＮタグを振り分けテーブル保持部３１に与えると共に、入力されたパケットを出力リンク振り分け部３３に与える。振り分けテーブル保持部３１は、ユーザ情報抽出部３２から与えられたＶＬＡＮタグに対応する割り当てリンク番号を振り分けテーブル３１ａから求め、求めた割り当てリンク番号を出力リンク振り分け部３３に与える。
出力リンク振り分け部３３は、振り分けテーブル保持部３１から与えられた割り当てリンク番号に対応するリンクに、ユーザ情報抽出部３２から与えられたパケットを出力する。これにより、ＶＬＡＮタグ＝１のユーザのパケットはリンク２に出力され、ＶＬＡＮタグ＝２または３のユーザのパケットはリンク１に出力され、ＶＬＡＮタグ＝４のユーザのパケットはリンク３に出力される。その結果、各ユーザのパケットの順序保証が図られる。また、振り分けテーブルを適切なものとすることにより、各リンクの帯域を有効利用することもできる。
ここで、各ユーザのパケットを複数のリンクにどのように振り分けるか、換言すると、振り分けテーブルをどのように作成するか、すなわち、上記ステップＳ３の方法には、いくつかの方法があるので、以下では、これらの方法について説明する。
まず、スイッチ間に設けられた複数リンクへのユーザ帯域の割り当て方法について説明する。図４は、ＮＭＳ１０により実行されるユーザ帯域割り当て処理の流れを示すフローチャートである。
帯域保証サービスにおいては、ユーザが契約・加入する際に、該ユーザの保証帯域が決められる。ＮＭＳ１０は、キャリアネットワーク１において決定したルート上に存在するスイッチ間の複数リンクのうち、この保証帯域以上の空き帯域を有するリンクを選択する（Ｓ１１）。例えば、図１において、スイッチ１１−１３間の３本のリンクにユーザの保証帯域３００Ｍｂｐｓを割り当てる場合には、３本のリンク（リンク束）のうち、空き帯域３００Ｍｂｐｓ以上を有する１つのリンクが選択される。これにより、ユーザ毎の帯域を保証することが可能となり、また該ユーザのパケットの順序保証を実現することができる。
なお、保証帯域以上の空き帯域を有するリンクが存在しない場合には、該ユーザの保証帯域が確保できないので、ＮＭＳ１０は該ユーザのルートを変更し、他のルートについて、図４のフローチャートの処理を実行する。
ユーザ（追加ユーザ）の保証帯域以上の空き帯域を有するリンクが存在する場合には、ＮＭＳ１０は、このようなリンクが複数本存在するかどうかを判断し（Ｓ１２）、複数本存在する場合には（Ｓ１２でＹ）、（１）空き帯域が最も多いリンク、（２）空き帯域が最も少ないリンク、（３）負荷（使用率）が最も低いリンク、（４）負荷（使用率）が最も高いリンク、のいずれか選択基準に基づいてリンクを選択し、該選択したリンクにユーザを割り当てる（Ｓ１３）。選択基準（１）〜（４）のいずれにするかは、管理者等によって予め決められる。空き帯域がユーザの保証帯域以上残っているリンクが１本の場合には（Ｓ１２でＮ），選択されたリンク、すなわち該１本のリンクが最終的に選択され、該ユーザに割り当てられる。
選択基準（１）では、空き帯域の最も多いリンクが選択され、追加ユーザ帯域が割り当てられる。これにより、複数リンク間の負荷を均等にして行くことができる。選択基準（２）では、空き帯域が最も少ないリンクに追加ユーザ帯域が割り当てられる。これにより、空き帯域の大きなリンクが残され、後に、より大きな帯域を使用する別のユーザが加入した場合に、該別のユーザに、残しておいたリンクを割り当てることができる。
選択基準（３）によると、選択基準（１）と同様に、各リンクの負荷を均等にすることができる。ここで、負荷とは、該リンクの使用帯域を、該リンクの全帯域（＝使用帯域＋空き帯域）で割った値をいう。各リンクの全帯域が等しい場合には、選択基準（３）と（１）のいずれを使用しても、同じリンクが選択されることとになるが、各リンクの全帯域が異なる場合もあり、この場合には、両者の選択結果が異なることがある。選択基準（４）は、選択基準（２）と同様であるが、各リンクの全帯域が等しい場合には、選択基準（４）と選択基準（２）の選択結果とが一致するが、各リンクの全帯域が異なる場合には、両者の選択結果が異なることがある。
例えば、図５は、１Ｇｂｐｓのリンクが４本設けられている場合の追加ユーザ帯域の収容例を示し、図６は、１Ｇｂｐｓのリンクが１本、１００Ｍｂｐｓのリンクが３本の場合の追加ユーザ帯域の収容例を示している。図５において、追加ユーザ帯域を３００Ｍｂｐｓとすると、上記選択基準（１）または（３）を使用した場合、いずれの選択基準でも、該ユーザ帯域はリンク２に割り当てられ、上記選択基準（２）または（４）を使用した場合、いずれの方法でも、該ユーザ帯域はリンク３に割り当てられる。図６において、追加ユーザ帯域を５０Ｍｂｐｓとすると、上記選択基準（１）を使用した場合、該ユーザ帯域はリンク１に割り当てられる一方、上記選択基準（３）を使用した場合、該ユーザ帯域はリンク３に割り当てられる。また、上記選択基準（２）を使用した場合、該ユーザ帯域はリンク２に割り当てられ、上記選択基準（４）を使用した場合も同様、該ユーザ帯域はリンク２に割り当てられる。
図４のステップＳ１４により選択されたリンクに基づいて、振り分けテーブルが作成される。これにより、ユーザ毎に帯域を保証しつつ、リンク束の帯域を有効に使用することができる。
なお、ＭＰＬＳ（Ｍｕｌｔｉ−ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）を使用するキャリアネットワークでは、ＶＬＡＮタグに代えてラベルパス毎にリンクを割り当てることもできる。
また、各ユーザのパケットをどのリンクに振り分けるかの設定は、ノード自身（例えば振り分けテーブル保持部３１またはノードに設けられた図示しないテーブル生成部）が行ってもよい。この場合、リンク束の帯域はＮＭＳもしくはＥＭＳにより決定され、またはノード間のシグナリングにより決定され、ノードは振り分け判定のみを行う。
次に、追加ユーザ帯域をリンク束に割り当てる場合に、該リンク束に既に割り当てられているユーザ帯域についても再度割り当て直す方法について説明する。図７は、この方法によるＮＭＳ１０の処理フローを示すフローチャートである。
追加ユーザの保証帯域をリンク束に新たに割り当てる場合に、ＮＭＳ１０は、まず、該リンク束の設定をすべてクリアする（Ｓ２１）。これにより、該リンク束に既に設定されているユーザの帯域割り当てもクリアされる。続いて、ＮＭＳ１０は、未設定のユーザ（既に割り当てられていたユーザおよび追加ユーザの双方が含まれる）の中から、保証帯域が最大のユーザを選択し（Ｓ２２）、前述した図４の追加ユーザ帯域割り当てフローに基づきリンクを選択し、帯域を設定する（Ｓ２３）。このような処理が、該リンク束を使用する全ユーザについて行われる（Ｓ２４）。なお、図４のステップＳ１３の選択基準により選択されたリンクが２以上ある場合には、最小番号のリンクや最大番号のリンク等の基準に基づいていずれかリンクが選択される。
これにより、使用帯域の大きなユーザから順に割り振られるリンクが決定されて行く。既に設定されているユーザの帯域についても再設定を行うので、再設定前には、追加ユーザの帯域がリンク束のいずれのリンクにも割り当てることができない場合にも、再設定後には割り当て可能となる場合がある。これにより、リンク帯域の有効利用を図ることもできる。
図８は、図７のフローチャートによる帯域割り当て例を示している。図８上段に示すように、１Ｇｂｐｓの２本のリンク１および２からなるリンク束のうち、リンク１には、ユーザ１の帯域５００Ｍｂｐｓが既に割り当てられ、リンク２には、ユーザ２の帯域３００Ｍｂｐｓが既に割り当てられているものとする。この状況において、新たなユーザ３の追加帯域８００Ｍｂｐｓを割り当てる場合を考える。この場合、ユーザ３の帯域はリンク１および２のいずれにも割り当てることができない。一方、図７のフローチャートに従って再設定を行うと、図８下段に示すように、リンク１にユーザ３の帯域８００Ｍｂｐｓが割り当てられ、リンク２に、ユーザ１の帯域５００Ｍｂｐｓおよびユーザ２の帯域３００Ｍｂｐｓがそれぞれ割り当てられ、全てのユーザの帯域を２本のリンク内に割り当てることができる。
なお、本方法によっても、割り当て可能な空き帯域がないことにより、リンク割り当てを行うことができないユーザについては、ルートが変更され、変更されたルートにおいてリンク割り当てが行われることとなる。
次に、リンク束の１つのリンクに障害が発生した場合のリンク振り分け方法（割り当て方法）について説明する。図９は、リンク障害発生時のリンク振り分けの方法を説明するための送信側スイッチおよび受信側スイッチの構成を示すブロック図である。
障害時にも帯域を保証するには、通常使用しないバックアップ用リンクを用意しておく方法がある。図９では、３本のリンクのうち、リンク１および２が現用リンクであり、リンク３が障害時に使用されるバックアップ用リンクである。
例えば現用リンク２に障害が発生すると、受信側スイッチ（下流側スイッチ）４に設けられた障害検出部４１が障害を検知する。障害検出部４１は、送信側スイッチ（上流側隣接スイッチ）３に障害を通知する。この障害通知は、受信側スイッチ４から送信側スイッチ３に向かう上りリンク（図示略）を介して行うこともできるし、ＮＭＳ１０および制御線を介して行うこともできる。この障害通知には、障害が発生したリンクを示すリンク識別情報（例えばリンク番号等）が含まれる。
送信側スイッチ３には、バックアップ変換テーブル保持部３４が設けられる。このバックアップ変換テーブル保持部３４には、障害時に使用されるバックアップ変換テーブル３４ａが保持される。図９に示すように、このバックアップ変換テーブル３４ａには、通常（障害が発生していない時）使用されるリンクが設定（ＮＭＳ１０により設定）されているが、障害発生時に障害リンクを避けるように変更される。
バックアップ変換テーブル３４ａは、障害に備えて実際に使用しているリンクを示すテーブルであり、割り当てリンクと実使用リンクとの対応関係を示している。図９では、障害発生前にリンク１に振り分けられていたパケットが、障害発生後も同じリンク１に振り分けられ、障害発生前にリンク２に振り分けられていたパケットは、障害発生後はリンク３に振り分けられることが示されている。なお、障害発生リンクがリンク１の場合、割り当てリンク１の実使用リンクがリンク３に設定される。
バックアップ変換テーブル保持部３４は、受信側スイッチの障害検出部４１から送信された障害通知（障害リンク識別情報を含む。）を受信すると、バックアップ変換テーブルを変更すると共に、そのバックアップ変換テーブルに基づいて、パケットの出力リンクの振り分けの変更を出力リンク振り分け部３３に指示する。これにより、出力リンク振り分け部３３は、障害発生リンク２に振り分けるべきパケットをバックアップ用リンク３に振り分ける。このようにすることにより、障害発生時にも対応することができる。
なお、バックアップ変換テーブルを用いず、振り分けテーブルを直接変更してもよい。この場合、テーブル変更が障害リンク使用ユーザ分だけ必要になる。
次に、バックアップ用リンクが特に設けられていない場合における障害発生時のリンク変更方法について説明する。図１０は、リンク障害発生時のリンク割り当て方法を説明するための送信側スイッチおよび受信側スイッチのブロック図である。図１１は、ＮＭＳ１０によるリンク障害発生時のリンク割り当て処理の流れを示すフローチャートである。
送信側スイッチ３と受信側スイッチ４との間の３本の現用リンク１〜３のうち、リンク２に障害が発生したと仮定する。この場合、受信側スイッチ４の障害検出部４１は、障害発生リンクを示すリンク識別情報を含んだ障害通知を送信側スイッチ３およびＮＭＳ１０に送信する。なお、障害通知がＮＭＳ１０経由で送信側スイッチ３に与えられる場合には、該通知はＮＭＳ１０にのみ送信される。
ＮＭＳ１０は、この障害通知を受信することにより、送信側スイッチ３の振り分けテーブルを変更する。ここでは、障害が発生したリンクに割り当てられていたユーザのみの割り当て（振り分け）を見直し、障害が発生していないリンクに既に割り当てられているユーザの割り当ては現状のまま維持するものとする。
ＮＭＳ１０は、まず、障害が発生したリンクの設定をクリアする（Ｓ３１）。図１０の例では、リンク２の設定がクリアされる。続いて、ＮＭＳ１０は、クリアされた設定に関係するユーザ（すなわち未設定のユーザ）の中から保証帯域が最大のユーザを選択する（Ｓ３２）。続いて、ＮＭＳ１０は、障害が発生していないリンク（図１０ではリンク１および２）のうち、選択したユーザの帯域を割り当て可能かどうか、すなわち、障害が発生していないリンクのうち、選択したユーザの保証帯域以上の空き帯域を有するリンクが存在するかどうかを判断する（Ｓ３３）。
このようなリンクが複数存在する場合には（Ｓ３３でＹ）、ＮＭＳ１０は、前述した図４のステップＳ１４の選択基準（１）〜（４）のいずれかによりリンクを選択し、選択したリンクにユーザの帯域を割り当てる（Ｓ３４）。このようなリンクが１つ存在する場合には（Ｓ３３でＹ）、ＮＭＳ１０は、該１つのリンクにユーザの帯域を割り当てる。これらの場合には、該ユーザの帯域保証を図ることができる。
一方、このようなリンクが存在しない場合には（Ｓ３３でＮ）、ＮＭＳ１０は、帯域オーバ時割り当て処理によりリンクを選択し、設定を行う（Ｓ３５）。具体的には、（ａ）各リンクの負荷が均等になる、または、均等に近づくようにリンクを選択する方法と、（ｂ）オーバした帯域が均等になる、または、均等に近づくように振り分ける方法がある。両方法により選択されるリンクは、リンク束を構成する各リンクの全帯域が等しい場合には同じとなる。一方、各リンクの帯域が異なる場合には、（ａ）負荷が均等になる、または、均等に近づける方法が特性も均等になるため好ましい。なお、この場合には、該リンクに割り当てられた全てのユーザ（障害発生後に新たに割り当てられたユーザおよび障害発生前から割り当てられていたユーザの双方）に、特に優先順位がない場合には、全ユーザの帯域保証は必ずしも図られず、ベストエフォート型サービスとなる。
このような割り当て変更処理により、例えば図１０の振り分けテーブル３１ａは、振り分けテーブル３１ｂに変更される。この変更後のテーブル３１ｂが、ＮＭＳ１０により送信側スイッチ３の振り分けテーブル保持部３１に設定され、送信側スイッチの出力リンク振り分け部３３は、テーブル３１ｂに従って出力リンクを選択し、パケットを出力する。これにより、障害発生時も、パケットの順序保証を行い、また、リンクの帯域を有効利用したパケットの振り分けが可能となる。
また、テーブル３１ｂ´のように、変更前後（１リンク障害のみ）のテーブルを予め用意しておき、障害時の振り分け先を予め求めておいて設定しておくこともできる。これにより、１リンク障害時のみ高速にリンクの変更を行うことができる。
図１２は、図１１のフローチャートによる帯域割り当て例を示している。左側の３つのリンク１〜３が障害発生前の割り当てを示し、右側の３つのリンク１〜３がリンク２の障害発生後の割り当てを示している。この例では、リンク２の障害発生時に、できるだけ使用負荷が均等になるように、すなわち障害の影響がユーザ毎に同等になるように振り分けが行われる。まず、リンク２において、ユーザ帯域が最も大きい４００Ｍｂｐｓの帯域が、最も空き帯域の多い（最も使用負荷が低い）リンク３に割り当てられる。次に帯域が大きい３００Ｍｂｐｓの帯域が、最も空き帯域が多い（最も使用負荷が低い）リンク１に割り当てられる。これで、リンク１および３の双方で空き帯域が無くなったので、最後に残った２００Ｍｂｐｓの帯域は、もっとも帯域越えの少ない（最も使用負荷が低い）リンク３に割り当てられる。
次に、障害時のバックアップリンクが設けられていない場合において、障害発生時に、障害が発生していないリンクに既に割り当てられていたユーザを含め、全ユーザに対して割り当てを再設定する方法について説明する。
ユーザ間に優先度が設定されていない場合には、前述した図７に示すフローチャートにより、各ユーザの帯域を割り当てることができる。この場合に、帯域を確保できないユーザについては、前述した図１１のステップＳ３５の処理によりリンクを選択して割り当て、ベストエフォート型サービスを提供するか、あるいは、ルートを変更して、変更されたルート上のリンクで帯域を割り当てることもできる。
ユーザ間に優先度が設定されている場合には、優先度の高いユーザについて、先に帯域を割り当て、後に優先度の低いユーザについて、帯域を割り当てることもできる。図１３は、優先度に従って帯域を割り当てる処理の流れを示すフローチャートである。ここでは、優先度として、「高」と「低」の２つの優先度のいずれかがユーザに設定されているものとする。
ＮＭＳ１０は、障害発生リンクを含む全リンクの設定をクリアする（Ｓ４１）。続いて、ＮＭＳ１０は、優先度が「高」で、かつ、未設定のユーザの中で、保障帯域が最大のユーザを選択し（Ｓ４２）、前述した図４の処理（追加ユーザ帯域割り当てフロー）によりリンクを選択し、設定する（Ｓ４３）。ＮＭＳ１０は、優先度「高」のユーザのすべてについて割り当てを行い（Ｓ４２〜Ｓ４４）、割り当てが終了すると、続いて、優先度「低」のユーザについても同様にして帯域の割り当てを行う（Ｓ４５〜Ｓ４７）。
このような割り当てによって、優先度「高」および「低」の全ユーザの帯域が、障害の発生していないリンクにおいて確保できた場合には、全ユーザに対して帯域保証型のサービスを提供することができる。
優先度「高」の全ユーザについて帯域が確保できるが、優先度「低」の全ユーザについては帯域が確保できない場合には、優先度「低」のユーザには、ステップＳ４６の処理の代わりに、図１１のステップ３５の帯域オーバー時割り当てフローにより割り当てを行うことができる。この場合には、優先度「高」のユーザに対するサービスは帯域保証型サービスとなり、優先度「低」のユーザに対するサービスはベストエフォート型サービスとなる。また、優先度「低」のユーザには、ルートを変更して帯域割り当てを行ってもよい。
優先度「高」および「低」の双方のユーザの帯域が確保できない場合には、帯域オーバー時割り当てフローにより割り当てを行うことができ、この場合には、全ユーザに対してベストエフォート型とすることができる。
次に、リンクの割り当てを変更する場合の変更のタイミングについて説明する。図１４は、割り当て変更制御を行うタイマを有するスイッチの構成を示すブロック図である。
送信側スイッチには、振り分けテーブル３１、ユーザ情報抽出部３２、および出力リンク振り分け部３３に加えて、タイマ３５、セレクタ３６、およびリンク１〜３のそれぞれの送信用バッファ３７ａ〜３７ｃが設けられる。
リンク割り当てを変更する場合、変更の前後で、パケットの順序逆転が発生する可能性がある。これを防ぐため、タイマ３５には、リンクのそれぞれに対応した所定の時間がＮＭＳ１０により計算／設定され、リンク切り替えのタイミングが決定される。タイマ３５に設定される各リンクの所定の時間は、以下の式により求められる。
設定時間＝（パケットの最大長）÷（変更前リンクの速度）＋｜（変更前リンクの遅延時間）−（変更後リンクの遅延時間）｜＋α      …（１）
ここで、α（＞０）は、リンク速度や遅延時間の誤差を考慮し、設定時間を理論値よりも僅かに大きくするための値である。
例えば、パケットの振り分けをリンク１からリンク２に変更する場合、パケットの最大長（ビット数）をＬｍａｘ，リンク１のリンク速度（ｂｐｓ）をＢ１、リンク１の遅延時間τ１、リンク２の遅延時間をτ２とすると、タイマ３５には、リンク１の設定時間Ｔ１＝Ｌｍａｘ÷Ｂ１＋｜τ１−τ２｜＋αが設定される。なお、Ｌｍａｘ、Ｂ１，τ１、およびτ２の値は予め求めておくことができる。
ユーザ情報抽出部３２は、パケットを受信すると、受信パケットに含まれるＶＬＡＮタグを振り分けテーブル保持部３１に与える。
振り分けテーブル保持部３１は、各ユーザ（ＶＬＡＮタグ）の変更前リンクと変更後リンクとが規定された振り分けテーブル３１ｃを保持する。振り分けテーブル保持部３１は、ユーザ情報抽出部３２から受信したＶＬＡＮタグに対応する変更前リンク番号および変更後リンク番号の双方をセレクタ３６に与えると共に、変更前リンク番号をタイマ３５に与える。例えば、ＶＬＡＮタグ＝１の場合には、リンク番号１および２がセレクタ３６に与えられ、リンク番号１がタイマ３５に与えられる。
セレクタ３６は、タイマ３５からの切り替え信号が入力されていない状態（初期状態）では、変更前リンク番号を選択して、出力リンク振り分け部３３に出力する。これにより、初期状態では、変更前のリンクにパケットが送信される。
タイマ３５には、ＮＭＳ１０からリンク変更指示が入力される。タイマ３５は、この変更指示受信後、振り分けテーブル保持部３１から変更前リンク番号を受信すると直ちに、該変更前リンク番号に対応する設定時間の計時を開始する。そして、タイマ３５は、この時間が満了するまでの間に、同じ変更前リンク番号を振り分けテーブル保持部３１から受信しない場合（すなわち同じリンクに振り分けられる次のパケットが受信されない場合）には、時間の満了時に該変更前リンク番号の切り替え信号をセレクタ３６に出力する。一方、この時間の満了前に、同じ変更前リンク番号を受信した場合（すなわち同じリンクに振り分けられる次のパケットが受信された場合）には、タイマ３５は、計時をリセットして、０から新たに計時を繰り返す。例えば、リンク番号１がタイマ３５に与えられると、タイマ３５は上記設定時間Ｔ１の計時を開始し、この時間Ｔ１が満了するまでの間に、リンク番号１を受信しない場合には、時間Ｔ１の満了時にリンク１の切り替え信号をセレクタ３６に出力する一方、リンク番号１を受信した場合には、計時をリセットして、０から新たに計時を繰り返す。
セレクタ３６は、切り替え信号を受信すると、以後、該切り替え信号に対応するリンクについては、変更後リンク番号を選択して出力リンク振り分け部３３に出力する。これにより、パケットは、変更後リンク番号のリンクに送信される。
このように、タイマ３５により、最大パケット長Ｌｍａｘの送信に要する時間にリンク間の遅延時間差を考慮した時間が計時され、その間、パケットを受信しない場合にリンク切り替えが行われる。これにより、同一リンクのパケットの順序逆転を防止でき、順序を保証することができる。
なお、タイマ３５は、あるリンクについて切り替え信号を出力した後は、同一の変更前リンク番号を受信しても、時間の計時および切り替え信号の出力は行わない。これにより、リンクの再切り替えが防止される。
上記のタイマによる切り替えはリンク毎に行ったが、次に、ユーザ（すなわちＶＬＡＮタグ）毎にタイマの時間を設定し、ユーザ毎にリンクの切り替え制御を行う方法について説明する。
図１５は、ユーザ毎にリンクの切り替え制御を行う場合のスイッチの構成を示すブロック図である。
送信側スイッチには、振り分けテーブル３１、ユーザ情報抽出部３２、および出力リンク振り分け部３３に加えて、タイマ３５ａおよびリンク１〜３のそれぞれの送信用バッファ３７ａ〜３７ｃが設けられる。
タイマ３５には、ＶＬＡＮタグ（ユーザ）のそれぞれに対応した所定の時間がＮＭＳ１０により設定され、リンク切り替えのタイミングが決定される。タイマ３５に設定される各ＶＬＡＮタグの所定の時間は、上記式（１）と同じであるが、ＶＬＡＮタグ毎に設けられる点が異なる。
例えば、ＶＬＡＮタグ＝１のパケットをリンク１からリンク２に変更する場合、パケットの最大長（ビット数）をＬｍａｘ，リンク１のリンク速度（ｂｐｓ）をＢ１、リンク１の遅延時間τ１、リンク２の遅延時間をτ２とすると、タイマ３５には、ＶＬＡＮタグ＝１の設定時間Ｔ１＝Ｌｍａｘ÷Ｂ１＋｜τ１−τ２｜＋αが設定される。
ユーザ情報抽出部３２は、パケットを受信すると、受信パケットに含まれるＶＬＡＮタグを振り分けテーブル保持部３１およびタイマ３５に与える。
振り分けテーブル保持部３１は、各ユーザ（各ＶＬＡＮタグ）の変更前リンクと変更後リンクとが規定された振り分けテーブル３１ｃを保持する。振り分けテーブル保持部３１は、タイマ３５からの切り替え信号を受信していない状態（初期状態）では、ユーザ情報抽出部３２から受信したＶＬＡＮタグに対応する変更前リンク番号を出力リンク振り分け部３３に与える。例えば、ＶＬＡＮタグ＝１の場合には、変更前リンク番号１が出力リンク振り分け部３３に与えられる。これにより、出力リンク振り分け部３３は、受信パケットを変更前のリンク１にバッファ３７ａを介して出力する。
タイマ３５ａには、ＮＭＳ１０からリンク切り替え指示が入力される。タイマ３５ａは、この切り替え指示の受信後、全ＶＬＡＮタグに対応する設定時間の計時を開始する。そして、タイマ３５ａは、パケット受信時に、ユーザ情報抽出部３２から受信したＶＬＡＮタグに対応したタイマについて、時間の満了か否かを確認し、満了している場合には、該当ＶＬＡＮタグのテーブル切り替えを行う。一方、時間が満了していない場合には、タイマ３５ａは、計時をリセットして、０から新たに計時を繰り返す。例えば、タイマ３５ａは、ＶＬＡＮタグ＝１を受信した場合、該当するタイマ値が満了しているならば、ＶＬＡＮタグ＝１の切り替え信号を振り分けテーブルに出力する一方、該当するタイマ値が満了していなければ、計時をリセットして、０から新たに計時を繰り返す。
なお、この方法では、切り替えが受信パケットに依存するため、トラフィックによっては切り替え完了が遅くなる場合もある。そこで、並行して未切り替えのユーザ（ＶＬＡＮタグ）に対して順次タイマ値を確認し、タイマ値の満了したテーブルを切り替えていくことで、切り替え完了を高速化することができる。
振り分けテーブル保持部３１は、切り替え信号を受信すると、該切り替え信号に対応するＶＬＡＮタグのリンクを変更前リンクから変更後リンクに変更し、以後、ユーザ情報抽出部３２からＶＬＡＮタグを受信すると、該ＶＬＡＮタグに対応する変更リンク番号を出力リンク振り分け部３３に出力する。
このように、タイマ３５ａにより、最大パケット長Ｌｍａｘの送信に要する時間にリンク間の遅延時間差を考慮した時間が計時され、その間、パケットを受信しない場合にリンク切り替えが行われる。これにより、同一ユーザ（同一ＶＬＡＮタグ）のパケットの順序逆転を防止でき、順序を保証することができる。
なお、タイマ３５ａは、切り替え信号を出力した後は、同一のＶＬＡＮタグを受信しても、時間の計時および切り替え信号の出力は出力しない。これにより、リンクの再切り替えが防止される。
次に、リンクの変更を受信側スイッチに通知する制御パケット（以下「変更通知パケット」という。）による切り替え制御について説明する。
図１６は、変更通知パケットにより切り替え制御を行うスイッチの構成を示すブロック図である。図１７は、受信側スイッチの読み出し制御部４２の処理フローを示すフローチャートである。
送信側スイッチには、制御パケット挿入部３８が設けられる。ＮＭＳ１０は、この制御パケット挿入部３８および振り分けテーブル３１にリンク切り替え指示を与える。
振り分けテーブル保持部３１は、図１５に示す振り分けテーブル３１ｃと同様のテーブルを保持し、リンク切り替え指示により、変更前リンクから変更後リンクに変更したリンク番号を出力リンク振り分け部３３に与える。これにより、パケット（データパケット、ユーザパケット）は、切り替え後のリンクに振り分けられる。
一方、制御パケット挿入部３８は、ＮＭＳ１０からのリンク切り替え指示により、バッファ３７ａ〜３７ｃのそれぞれに変更通知パケット（制御パケット）を書き込む。変更通知パケットは、切り替え前に書き込まれたデータパケット（ユーザパケット）と、切り替え後に書き込まれたデータパケット（ユーザパケット）との間に挿入されるように書き込まれる。すなわち、切り替え指示受信時において、既に振り分け済みまたは振り分け中の最終データパケットの後に、変更通知パケットが挿入される。書き込まれた変更通知パケットは、データパケットと同様に、リンク１〜３をそれぞれ介して受信側スイッチに送信される。
受信側スイッチには、リンク１〜３を介してそれぞれ受信されたパケットを一時的に記憶するための受信用バッファ４３ａ〜４３ｃ、読み出し制御部４２、およびバッファ４３ａ〜４３ｃを多重化して１つの出力リンクに送信する多重化部４４が設けられる。
図１７を参照して、読み出し制御部４２は、バッファ４３ａ〜４３ｃにパケットが受信されると、受信パケットが変更通知パケット（制御パケット）かどうかを判断する（Ｓ５１）。制御パケットの場合（Ｓ５１でＹ），読み出し制御部４２は、バッファから制御パケットを除去し（Ｓ５８）、読み出し制御部４２内に設けられた切り替えフラグをＯＮに設定し、リンク切り替え中であることを示すと共に（Ｓ５９）、読み出し制御部４２内にリンク毎に設けられた制御パケット受信フラグのうち、変更通知パケットを受信したリンクの制御パケット受信フラグをＯＮに設定して、該リンクに変更通知パケットが受信されたことを示す（Ｓ６０）。その後、読み出し制御部４２は、次のパケットの受信待ち状態になる。
一方、受信パケットが変更通知パケットでない場合、すなわちデータパケットである場合（Ｓ５１でＮ）、読み出し制御部４２は、切り替えフラグに基づいて、現在、リンクの切り替え中かどうかを判断する（Ｓ５２）。
切り替えフラグがＯＮでない（すなわちリンクの切り替え中ではない）場合には（Ｓ５２でＮ）、読み出し制御部４２は、受信したデータパケットをバッファから読み出し、多重化部４４を介して送信する（Ｓ５５）。一方、切り替えフラグがＯＮの場合（すなわちリンクの切り替え中の場合）（Ｓ５２でＮ）、読み出し制御部４２は、全リンク（すなわちリンク１〜３の全て）の制御パケット受信フラグがＯＮであるかどうかを判断する（Ｓ５３）。すなわち、全リンクに、既に変更通知パケットが受信されているかどうかが判断される。
全リンクの制御パケット受信フラグがＯＮでない場合には（Ｓ５３でＮ）、読み出し制御部４２は、データパケットを受信したリンクの制御パケット受信フラグがＯＮであるかどうかを判断する（Ｓ５６）。制御パケット受信フラグがＯＮの場合（Ｓ５６でＹ）、すでにそのリンクには変更通知パケットが受信されているので、読み出し制御部４２は、受信したデータパケットがバッファから読み出されるのを一時的に停止する（Ｓ５７）。一方、制御パケット受信フラグがＯＦＦの場合（Ｓ５６でＮ）、そのリンクには、変更通知パケットがまだ受信されていないので、読み出し制御部４２は、受信データパケットをバッファから読み出し、多重化部４４を介して送信する（Ｓ５５）。
ステップＳ５３において、全リンクの制御パケット受信フラグがＯＮの場合には（Ｓ５４でＹ），全リンクについてのリンクの切り替えが終了しており、受信されたデータパケットを直ちに送信しても順序逆転の問題は生じない。したがって、読み出し制御部４２は、切り替えフラグおよび全リンクの制御パケット受信フラグをともにＯＦＦに戻し（Ｓ５４）、受信データパケットの読み出し／送信処理を行う（Ｓ５５）。これにより、ステップＳ５７で一時的に送信が停止されていたデータパケットも送信される。以後、受信データパケットは、通常通り、バッファから読み出され送信される。
これにより、あるリンクについて変更通知パケットが受信されると、それ以外のリンクについても変更通知パケットが受信されるまで、変更通知パケット以後の全リンクのデータパケットの読み出しおよび送信が一時停止される。そして、全リンクに変更通知パケットが受信された後、データパケットの読み出し／送信が再開される。変更通知パケットは、送信側スイッチにおいて、切り替えの前と後との境界を示す制御パケットであるので、この変更通知パケットの受信後に受信側スイッチで、送信を一時的に停止することにより、全リンクの割り当て変更前後でのデータパケットの順序を保証することができる。
なお、変更通知パケットではなく、データパケットのヘッダに変更通知を示すフラグないしはデータを送信側スイッチで書き込んで受信側スイッチに送信し、受信側スイッチの読み出し制御部４２は、ヘッダに含まれるフラグないしデータにより、上記同様の処理を行うこともできる。
また、上記説明では、制御パケットを各リンクに適用する場合について説明したが、制御パケットをユーザ毎に適用することもできる。
次に、送信側スイッチにおいて、リンクの割り当て変更の前後で所定の時間、パケットの送信を停止することにより、順序保証を実現する方法について説明する。
図１８は、送信側スイッチにおいてパケットの送信を停止することにより順序保証を実現するスイッチの構成を示すブロック図である。送信側スイッチには、読み出し制御部３９が設けられる。
振り分けテーブル保持部３１には、ＮＭＳ１０から切り替え指示が入力される。振り分けテーブル保持部３１は、ＮＭＳ１０から切り替え指示が入力されると、バッファ３７ａ〜３７ｃからのパケットの読み出し／送信を一時停止する一時停止信号を読み出し制御部３９に与える。
読み出し制御部３９は、振り分けテーブル保持部３１から一時停止信号を受信すると、出力リンク振り分け部３３により既に振り分けが完了したパケットまたは現在振り分け中のパケットがバッファ３７ａ〜３７ｃから送信された後、バッファ３７ａ〜３７ｃからのパケットの読み出し／送信を一定時間停止する。停止する時間は、振り分け済みまたは振り分け中のパケットの送信が完了する時間であり、好ましくは、最大パケット長に基づいた送信完了時間（前記式（１）により求められる時間）である。
振り分けテーブル保持部３１は、一時停止信号により読み出しが停止された後、振り分けテーブル３１ｃ（図１５参照）の変更前リンクから変更後リンクに切り替える。
このように切り替え前に送信されたデータパケットと切り替え後に送信されるデータパケットとの間に所定の時間が開けられるので、上記受信側スイッチで受信パケットの読み出しを一時停止する場合と同様に、パケットの順序逆転が回避される。
この方法による停止時間は、上記変更通知パケット（制御パケット）の送信時間よりも長く必要になるが、時間差はたかだか１パケット程度の差であるため影響は小さい。また、この方法では、変更通知パケットといった特殊なパケットが不要なこと、受信側で特殊な処理が不要なことから、メリットは大きい。なお、ここではリンク毎のバッファ３７ａ〜３７ｃの読み出しをそれぞれ停止しているが、バッファ３７ａ〜３７ｃの前段に共通のバッファを配置し、該共通のバッファの読み出しを停止してもよい。
次に、各リンクに対応するユーザの帯域変更を、該リンクのバッファが空きになったときに行うことで、順序保証を実現する方法について説明する。図１９は、この方法によりリンクの変更を行うスイッチの構成を示すブロック図である。送信側スイッチには、リンク１〜３のバッファ３７ａ〜３７ｃを管理するバッファ管理部４０が設けられる。
ユーザ情報抽出部３２は、受信パケットのＶＬＡＮタグを振り分けテーブル３１に与える。振り分けテーブル保持部３１には、前述したのと同様の振り分けテーブル３１ｃが保持される。振り分けテーブル保持部３１は、ユーザ情報抽出部３２からのＶＬＡＮタグに対応する変更前リンク番号および変更後リンク番号をセレクタ３６に与えると共に、変更前リンク番号をバッファ管理部４０に与える。
セレクタ３６は、バッファ管理部４０からの切り替え信号が入力されていない状態（初期状態）においては、変更前リンク番号を選択して出力リンク振り分け部３３に与えるように設定されている。これにより、出力リンク振り分け部３３は、変更前のリンクに対応するバッファを介して、変更前のリンクに受信パケットを送信する。
バッファ管理部４０には、ＮＭＳ１０から切り替え指示が入力される。切り替え指示の受信後、バッファ管理部４０は、変更前リンク番号を振り分けテーブル保持部３１から受け取ると、該受け取った変更前リンク番号に対応するバッファが空であるかどうかをチェックする。例えば、変更前リンク番号＝１の場合、バッファ管理部４０は、リンク１に対応するバッファ３７ａの状態をチェックする。バッファが空の場合、バッファ管理部４０は、セレクタ３６の切り替え信号を与える。これにより、セレクタ３６は、変更後リンクを選択して、出力リンク振り分け部３３に与える。これにより、受信バッファは変更後リンクに送信される。一方、バッファが空でない場合、バッファ管理部４０は、セレクタ３６に切り替え信号を与えない。
バッファが空である、すなわち、先に送信したパケットを構成するデータがすべて送信完了した後に、出力リンクを切り替えるので、先に送信したパケットと、リンク切り替え後に送信したパケットとの間で、順序逆転の問題は発生しない。本方法では、タイマ制御が不要になるため、回路を簡易に実現できるという利点がある。
これまで説明した実施の形態において、広域ＬＡＮサービスに加入していたユーザがサービス契約を解消し、あるいは、サービス期限が満了することにより、ＮＭＳ１０および各スイッチにおける該ユーザのデータが不要となった場合には、ＮＭＳ１０のデータおよび各スイッチの振り分けテーブルから該ユーザのデータを削除し、ＮＭＳ１０および各スイッチが管理しているリンクの空き帯域を増加することにより対処することができる。
なお、リンクは、双方向リンクでも、片方向リンクでもよい。また、キャリアネットワーク１のノード装置がスイッチである場合について説明したが、ノード装置はルータであってもよい。
【産業上の利用の可能性】
本発明は、通信ネットワークを構成するノード装置であって、複数のリンクを有するノード装置（例えばスイッチ、ルータ等）に利用することができる。また、本発明は、通信ネットワークを管理するネットワーク管理システムに利用することができる。
【図１】
2004086697.tif 000003
【図２】
2004086697.tif 000004
【図３】
2004086697.tif 000005
【図４】
2004086697.tif 000006
【図５】
2004086697.tif 000007
【図６】
2004086697.tif 000008
【図７】
2004086697.tif 000009
【図８】
2004086697.tif 000010
【図９】
2004086697.tif 000011
【図１０】
2004086697.tif 000012
【図１１】
2004086697.tif 000013
【図１２】
2004086697.tif 000014
【図１３】
2004086697.tif 000015
【図１４】
2004086697.tif 000016
【図１５】
2004086697.tif 000017
【図１６】
2004086697.tif 000018
【図１７】
2004086697.tif 000019
【図１８】
2004086697.tif 000020
【図１９】
2004086697.tif 000021
【国際調査報告】
2004086697.tif 000022
2004086697.tif 000023
2004086697.tif 000024
2004086697.tif 000025