JP2006511115A - パケット交換方式ネットワークにおけるリターンパス導出 - Google Patents

パケット交換方式ネットワークにおけるリターンパス導出 Download PDF

Info

Publication number
JP2006511115A
JP2006511115A JP2004559991A JP2004559991A JP2006511115A JP 2006511115 A JP2006511115 A JP 2006511115A JP 2004559991 A JP2004559991 A JP 2004559991A JP 2004559991 A JP2004559991 A JP 2004559991A JP 2006511115 A JP2006511115 A JP 2006511115A
Authority
JP
Japan
Prior art keywords
node
packet
network
return path
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004559991A
Other languages
English (en)
Inventor
キーズ、ヘー.ウェー.ホーゼンズ
エドビン、リィプケマ
パウル、ビーラヘ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006511115A publication Critical patent/JP2006511115A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning

Abstract

データを転送するネットワークは、一体的に連結されたスイッチ、ルータまたはコンピュータシステムのような2つ以上のノードのグループにより構成される。データは、送信元ノードからネットワークを介して宛先ノードへ転送される。パケット交換方式ネットワークにおいて、パケットと称される小単位のデータは、ネットワークを介して送信元ノードから宛先ノードへ送られる。これらのパケットはネットワークをプログラムするためにも使用される。一部のケースでは、パケットは送信元ノードへのリターンパスを進むことが要求される。本発明において、リターンパスはネットワークのノードに記憶された情報から得られる。

Description

本発明は、複数のノードとノード間の複数のリンクとを有し、第1のノードが第2のノードとの間に少なくとも1本のリンクを有し、第1のノードそれぞれに対して第2のノードと第1のノートとの間にリンクが存在するネットワークにおいて、送信元ノードから宛先ノードへ少なくとも1台の中間ノードを介してパケットを送信するときに使用されるパケットのリターンパスを決定する方法に関する。
本発明はさらに、複数のノードとノード間の複数本のリンクとを有し、第1のノードが第2のノードとの間に少なくとも1本のリンクを有し、第1のノードそれぞれに対して第2のノードと第1のノートとの間にリンクが存在し、送信元ノードから宛先ノードへ少なくとも1台の中間ノードを介してパケットを送信するときにパケットのリターンパスを決定するように構成されたネットワークを具備する集積回路に関する。
一般に、データを転送するネットワークは、一体的に連結された、ノードと呼ばれる2台以上の装置のグループを具備する。ネットワーク内のノードは、スイッチ、ルータ、またはコンピュータシステムを含む。これらのコンピュータシステムは、また、コンピュータシステムを機能させるために必要である周辺装置を有する。ネットワーク内の2個の隣接ノード間の通信路はリンクと呼ばれる。リンクは単一伝送チャネルを用いて実施される。或いは、2個のノード間の2つのリンクが単一伝送チャネルに結合される。異なるネットワークでは、2個の隣接ノードは、通信の帯域幅を増加させるため、これらの2個のノード間の通信のための3つ以上のリンクを有する。これらのリンクすべてが同様に単一伝送チャネルで実施される。データはネットワークを介して送信元ノードから宛先ノードへ転送される。ネットワークは、例えば、集積回路上に集められた数個の素子間の通信のため、または、数台のコンピュータシステム間の通信のため使用される。データはメッセージまたはパケットとしてネットワークを介して転送される。メッセージはユーザ定義データ単位であり、一方、パケットはネットワーク定義データユニットである。いわゆるメッセージ−スイッチネットワークにおいて、メッセージはネットワークを介してそれらの宛先へ送られ、一方、パケット交換方式ネットワークでは、パケットはネットワークを介してそれらの宛先へ送られる。パケット交換方式ネットワークの場合に、所定の宛先へ送信されるべきメッセージは複数個のパケットに分割され、パケットが宛先へ送信される。宛先で、メッセージ内のパケットは集められ、元のメッセージに再組み立てされる。パケット交換方式ネットワークの利点は、送信元と宛先の間の通信をかなり小さいデータ単位に分解することにより、より細かい精度でネットワーク内の多数のユーザ間で同じデータパスの共有を可能にすることである。本明細書の残りの部分で、文言「パケット」および「パケット交換方式」は効率性の理由のため使用されるが、これらの語は「メッセージ」および「メッセージ交換方式」として読むことも可能である。
パケット交換方式ネットワークでは、データの送信に加えて、パケットはまたネットワークをプログラムするために、例えば、リソースを予約もしくは解放するために、または、コネクションを確立もしくは削除するために使用される。リソースの一例は、ルータ内のバッファ容量、または、コネクションの帯域幅である。コネクションを確立する一例は、1個以上のパケットがそのコネクションを介して送信元ノードから宛先ノードへ送信できるように、ネットワーク内の一連のルータを設定することである。多数のユーザの間でネットワークを共有するとき、アービトレーションスキームは、単一伝送チャネル上のパケットの送信を組み合わせる。例えば、各ストリームにセット内の異なるタイムスロットを割り当てることによりデータストリームを組み合わせる時分割多重(TDM)方式が使用される。TDM方式は単一伝送チャネルによるタイムスロットの固定シーケンスでデータを繰り返し送信する。
一部のケースでは、リソースの予約またはコネクションの確立は、例えば、そのパケットが送られるパス上の1個のノードでこのアクションが実行できないために失敗する。一例は、パスに沿ったノードにおけるバッファ容量のようなリソースの不足による失敗である。その結果として、希望のコネクションを確立できない。次に、パスの、そのポイントまでに行われたコネクションの確立のみならずリソースの予約は、解放されていなければならない。したがって、パケットが既に通過したパスのノードを再通過すること、すなわち、パケットが送信元ノードへのリターンパスを進むことは不可欠である。
米国特許出願公開第2002/0031095号明細書は、ネットワークを介してパケットを送信するときにリターンパスの内容を設定するための方法を開示する。ネットワークは、任意のネットワークトポロジー内の物理的なポイントツーポイントコネクションにおける少なくとも2台の双方向コネクションインタフェースを用いて柔軟にネットワーク化されたモジュールを具備する。モジュールがパケットを別のモジュールへ転送するとき、そのモジュールの受信用インタフェースの番号がパケットに格納される。このようにして、リターンパスは、パケットに格納され、パケットが既に通過したモジュールに対応する受信用インタフェースのリストから取得される。
従来技術のプロセッサの欠点は、リターンパス上の情報がパケットに格納され、これが、特に、ネットワークを通るパスの完全な記述の代わりに宛先アドレスだけを収容するパケットの場合に、パケットのサイズを増大させることである。
本発明の目的は、パケットのサイズを縮小することを可能にする、改良されたネットワークにおいてパケットのリターンパスを決定する方法を提供することである。
上記目的は、リターンパスを得るため中間ノードに情報を記憶するステップを含むことを特徴とする上記のネットワークにおいてパケットのリターンパスを決定する方法によって達成される。リターンパスに関する情報は、パケットが宛先ノードまでのパス上で通過したノードに記憶される。例えば、特定のノード内のリソースを予約できないという理由のため失敗が起こる場合、パケットはその宛先ノードまでのパス上で通過した1個以上のノードに保存された情報からそのリターンパスを得ることができる。リターンパスに関する情報を記憶するためにパケット内に付加的な空間は不要であり、これはパケットのサイズを縮小させる。
本発明の有利な実施形態は、この方法が、送信元ノードから宛先ノードへパケットを送信するときに、パケットが通過した制限された個数のノードだけに、または、1個のノードだけに集中的に情報を記憶するのではなく、パケットが通過した各ノードにリターンパスを得るための情報を記憶するステップをさらに含むことを特徴とする。リターンパスに関する情報はノードに分散して保存され、リターンパスを進むときに、パケットは、各ノードからリターンパスに関する情報を取得しながら、一方のノードから別のノードへ移動することができる。パケットが通過したすべてのノードにリターンパスに関する情報を記憶することにより、リターンパスを決定するオーバーヘッドは各個別のノードに関して削減することができる。
本発明の一実施形態は、中間ノードに記憶された情報が、パケットの識別子と、パケットを戻すため使用されるべき中間ノードの出力ポートを符号化する情報と、を含むことを特徴とする。利点は、この情報がノードにおいて容易に得られ、各パケットのリターンパスを一意に識別できることである。
本発明によれば、冒頭の段落に記載されたような集積回路は、中間ノードがリターンパスを得るための情報を記憶するため構成されることを特徴とする。その結果として、オンチップ通信ネットワークにおいて使用されるパケットのサイズを縮小し、通信オーバーヘッドを削減することが可能である。
本発明による集積回路の好適な実施形態は従属請求項に規定されている。
図1は、宛先ルーティングを使用して、すなわち、最終的な宛先に関する情報だけをパケットに記憶させて、送信元ノードから宛先ノードへパケットを送信するときに、本発明によるネットワークにおいてパケットのリターンパスを決定する方法を使用するネットワークの一実施形態を示す。101を参照すると、ノードS、R1、R2、R3およびDを含むネットワークが表され、これらのノードは、それらの入力ポートおよび出力ポートS_1、S_2、R1_1、R1_2、R1_3、R1_4、R2_1、R2_2、R2_3、R2_4、R3_1、R3_2、R3_3、R3_4、D_1およびD_2を介して、リンク107、109、111、113、115、117、119および121を用いて結合される。ネットワーク101は、集積回路のネットワークまたはネットワークの一部分でもよい。ノードS、R1、R2、R3およびDは、データユニットを次の宛先へ送信するルータまたはスイッチを含む。ノードS、R1、R2、R3およびDはまた、図1に示されていない他のノードへの結合のための、より多くの入力ポートおよび出力ポートを具備してもよい。すべてのノードS、R1、R2、R3およびDに関して、第1のノードが第2のノードとの間に少なくとも1本のリンクを有するならば、第2のノードと第1のノードとの間にもリンクが存在する。ノードS、R1、R2、R3およびDは、それぞれ、特定のノードから来る入力ポートでパケットを受信し、そのパケットを出力ポート経由で送信するとき、パケットがその特定のノードへ送信されるように、そのノードの各入力ポートをそのノードの出力ポートに関係付けるリターン関係を記憶する。ノードR1、R2およびR3はそれぞれメモリM1、M2およびM3を具備する。ノードDおよびSは同様にメモリを具備するが、図1には示されていない。パケット123は送信元ノードSから宛先ノードDへ送信される。パケット123は、ネットワークをプログラムするように、例えば、いくつかの例を挙げると、コネクションを確立もしくは削除するために、または、リソースを予約もしくは解放するために構成される。コネクションを確立する一例は、パケットを希望の方向へ送信するため、あるノードの入力ポートをそのノードの出力ポートに連結することである。リソースの例は、ルータ内のバッファ容量、または、コネクションの帯域幅である。ネットワークのプログラミングが各ノードで成功したとき、パケットは宛先ノードDへ送られる。しかし、ネットワークのプログラミングはある特定のノードで、例えば、バッファ容量のようなネットワークリソースの不足を原因として、失敗する場合がある。そのケースでは、パケットは、送信元ノードSへのリターンパスを進み、例えば、予約されたリソースを解放することによって、その特定のノードから前方へ送信元ノードSまでネットワークを再プログラムすることが不可欠である。この実施形態では、ネットワークのプログラミングが宛先ノードDまで成功したことを仮定している。パケット123は、ネットワークをプログラミングするため使用される識別子IDと、宛先アドレスDESTと、データDATとを含む。各ノードS、R1、R2、R3およびDは、パケットを希望の宛先へ送信するため使用する出力ポートを見分けるためにすべての宛先をそのノードの出力ポートに関係付ける宛先関係を記憶している。この情報を使用することにより、ノードは、そのノードによって受信されたパケットの宛先アドレスDESTが与えられるならば、パケットを隣接ノードうちの一つへ送信するために使用すべき出力ポートを決定することが可能である。宛先関係とリターン関係の両方は、図1には示されていないが、例えば、ノードS、R1、R2、R3およびDに存在するプログラマブルメモリにプログラムされる。宛先アドレスDESTは宛先ノードDのアドレスに一致する。103を参照すると、パケットを送信元ノードSから宛先ノードDへ送信するときに、そのパケット123が辿るパスが示されている。105を参照すると、パケット123を送信元ノードSから宛先ノードDへ送信するときのメモリM1、M2およびM3の内容が示されている。最初のステップ1において、パケット123は送信元ノードSによって、出力ポートS_1、リンク107および入力ポートR1_1を介して、ノードR1へ送信される。ノードR1はパケット123から識別子IDを読み、それを入力ポートR1_1からの識別子R1_1と組み合わせて、(ID,R1_1)のペアとしてメモリM1に格納する。パケット123に格納された宛先アドレスDESTおよびその宛先関係を使用して、ノードR1は、そのパケット123を転送するために使用すべき出力ポート、ここでは、出力ポートR1_3を決定する。次のステップ2において、パケット123は、出力ポートR1_3、リンク111および入力ポートR2_1を介して、ノードR2へ送信される。ノードR2はパケット123から識別子IDを読み、それを入力ポートR2_1からの識別子R2_1と組み合わせて、(ID,R2_1)のペアとしてメモリM2に格納する。パケット123に格納された宛先アドレスDESTおよびその宛先関係を使用して、ノードR2は、そのパケット123を転送するために使用すべき出力ポート、ここでは、出力ポートR2_3を決定する。次のステップ3において、パケット123は、出力ポートR2_3、リンク115および入力ポートR3_1を介して、ノードR3へ送信される。ノードR3はパケット123から識別子IDを読み、それを入力ポートR3_1からの識別子R3_1と組み合わせて、(ID,R3_1)のペアとしてメモリM3に格納する。パケット123に格納された宛先アドレスDESTおよびその宛先関係を使用して、ノードR3は、そのパケット123を転送するために使用すべき出力ポート、ここでは、出力ポートR3_3を決定する。次のステップ4において、パケット123は、出力ポートR3_3、リンク119および入力ポートD_1を介して、ノードDへ送信される。宛先ノードDはパケット123に格納された宛先アドレスDESTを読み、自分のアドレスと比較したときに、自ノードが宛先ノードであることを決定する。ネットワークのプログラミングがノードDにおいて失敗したケースでは、パケット123は、ネットワークの再プログラミングのため、分散して保存されたリターンパスを使用して、宛先ノードDから送信元ノードSへ戻される。宛先ノードDは、パケットを受信するときに用いられた入力ポートD_1の識別子D1と、宛先ノードDに記憶されたリターン関係との組み合わせから、パケット123を送信するため出力ポートD_2を使用することを決定する。次のステップ5において、パケット123は、出力ポートD_2、リンク121および入力ポートR3_4を介して、ノードR3へ送信される。ノードR3はパケット123から識別子IDを読み、この識別子が(ID,R3_1)のペアとしてメモリM3に記憶されていることを検証する。ノードR3は、入力ポートR3_1の識別子R3_1と、ノードR3に記憶されたリターン関係との組み合わせから、パケットを送信するため出力ポートR3_2を使用することを決定する。次に、識別子IDと識別子R3_1のペアの形でメモリM3に記憶されていたリターンパスに関する情報が削除される。次のステップ6において、パケット123は、出力ポートR3_2、リンク117および入力ポートR2_4を介して、ノードR2へ送信される。ノードR2はパケット123から識別子IDを読み、この識別子が(ID,R2_1)のペアとしてメモリM2に記憶されていることを検出する。ノードR2は、入力ポートR2_1の識別子R2_1と、ノードR2に記憶されたリターン関係との組み合わせから、パケットを送信するため出力ポートR2_2を使用することを決定する。次に、識別子IDと識別子R2_1のペアの形でメモリM2に記憶されていたリターンパスに関する情報が削除される。次のステップ7において、パケット123は、出力ポートR2_2、リンク113および入力ポートR1_4を介して、ノードR1へ送信される。ノードR1はパケット123から識別子IDを読み、この識別子が(ID,R1_1)のペアとしてメモリM1に記憶されていることを検出する。ノードR1は、入力ポートR1_1の識別子R1_1と、ノードR1に記憶されたリターン関係との組み合わせから、パケットを送信するため出力ポートR1_2を使用することを決定する。次に、識別子IDと識別子R1_1のペアの形でメモリM1に記憶されていたリターンパスに関する情報が削除される。次のステップ8において、パケット123は、出力ポートR1_2、リンク113および入力ポートS_2を介して、送信元ノードSへ送信される。送信元ノードSはパケット123から識別子IDを読み、識別子IDが、図1に示されていない内部メモリに記憶されていないことを検出した後、自ノードがパケット123の最終的な送信元であることを判定する。本実施形態において、メモリM1、M2およびM3は、「パケットの識別子と入力ポートの識別子」のペアの記憶を効率的に実施するため、ハッシュテーブル、または、内容のアドレス指定が可能であるメモリを含む。メモリM1、M2およびM3はまた、図1に示されていないが、パケット123以外の他のパケットリターンパスに関する情報を含む。
リターンパスに関する情報は、パケット123が送信元ノードDから宛先ノードSへ送られているときに、通過したノードから得られる。情報はノードに分散的に保存され、リターンパスを進むときに、パケットはあるノードから別のノードへ移動し、各ノードからリターンパスに関する情報を得ることができる。その結果として、リターンパスに関する情報を記憶するためにパケット内に余分な空間が要求されず、パケットのサイズの縮小を可能にさせる。
他の実施形態では、「パケットの識別子と出力ポートの識別子」のペアが、パケット123のリターンパスを決定するためメモリM1、M2およびM3に記憶される。出力ポートの識別子は、あるノードがパケットを受信したときに用いられた入力ポートの識別子と、そのノードに記憶されたリターン関係とから決定される。例えば、ステップ1の後、ノードR1は、パケット123から識別子IDを読み、識別子R1_2と共に、(ID,R1_2)のペアとしてメモリM1に記憶する。識別子R1_2は、入力ポートR1_1の識別子R1_1とノードR1に記憶されたリターン関係との組み合わせから決定される。ステップ7において、パケット123をノードR1へ送信した後、ノードR1はパケット123から識別子IDを読み、この識別子が(ID,R1_2)のペアとしてメモリM1に記憶されていることを検証する。出力ポートR1_2の識別子R1_2を使用して、ノードR1は、出力ポートR1_2、リンク109および入力ポートS_2を介意して、パケット123を送信元ノードSへ送信する。ノードR1、R2およびR3の入力ポートの個数が出力ポートの個数よりも多い場合、リターンパスの決定のため入力ポートの識別子の代わりに出力ポートの識別子をメモリM1、M2およびM3に記憶することにより必要な記憶空間が小さくなる。
他の実施形態では、ネットワークのプログラミングは、宛先ノードに到達する前に、あるノードで失敗することがある。図1を参照すると、ネットワークのプログラミングがノードR3において失敗したとき、このノードはパケット123を送信元ノードSへ送られる。上記のように、ネットワークを再プログラムするためにパケットがリターンパスを移動することは不可欠である。本実施形態において、ネットワークの再プログラミングは、パスのそのポイントまでになされた予約を取り消すことを伴う。別の実施形態では、ネットワークの再プログラミングは、リターンパスを移動する間に、宛先ノードへの代替パスを見つけることを含む。ノードR3は、パケットを受信するため使用された入力ポートR3_1の識別子R3_1と、ノードR3に記憶されているリターン関係との組み合わせから、パケットを送信するため出力ポートR3_2を使用することを決定する。次のステップ6において、パケットは、出力ポートR3_2、リンク117および入力ポートR2_4を介してノードR2へ送信される。次に、パケット123は前述の実施形態において説明したように、送信元ノードSへ送られる。
様々な実施形態では、ネットワークの再プログラミングは、例えば、ある特定のリソースへのアクセスがそのリソースが既に使用されているので拒絶されるため、ある種のノードで失敗することがある。図1を参照すると、パケットは宛先ノードDへ送られるが、ノードR3のプログラミングは失敗し、次に、パケットは、前述の実施形態において説明したように、ノードR1およびR2に記憶されたリターンパスに関する情報を使用して送信元ノードSへ送られる。ネットワークの再プログラミングがノードR2で失敗するのは、このノードのリソースへのアクセスが拒絶されるからである。ノードR2は、パケット123に格納された宛先アドレスDESTを読み、この宛先アドレスおよび宛先関係を使用して、ノードR2はパケットを宛先ノードDへ送るために出力ポートR2_4を使用することに決定する。(ID,R2_1)のペアの形でメモリM2に記憶されたリターンパスに関する情報は、そのままメモリM2に存在している。次のステップ3において、パケットは、出力ポートR2_3、リンク115および入力ポートR3_1を介して、ノードR3へ送信される。ノードR3において、ネットワークを再プログラミングすることが新たに試みられる。この試みが成功した場合、パケット123は、前述の実施形態において説明したように、宛先ノードDへ送信される。この試みが失敗した場合、パケットは、前述の実施形態において説明したように、送信元ノードSへ送られる。
他の実施形態では、パケットの固有識別子を得る別の方法が使用される。例えば、時分割多重方式アービトレーションスキームを使用するとき、スロットテーブルがルータのため使用され、所与のタイムスロットにおいて、そのルータのどの出力ポートがそのルータのどの固有入力ポートに接続されるかが決められる。その結果として、タイムスロットは、パケットを一意に識別し、以下の通りにリターンパスを決定するため使用される。送信元ノードから宛先ノードへ進むときに、パケットがノードによって送信する期間のタイムスロットがパケットに格納され、2台の隣接ノード間を移動するために1スロットが必要であるため、タイムスロットの値がノードごとに1ずつ増加させられる。パケットがリターンパスを進まなければならない場合、パケットは、あるノード、例えば、入力ポートR2_4を介して、ノードR2へ送信される。入力ポートR2_4のリターン関係が一意であると仮定するならば、出力ポートR2_3はリターン関係を入力ポートR2_4に適用することによって一意に識別される。次に、出力ポートR2_3と組み合わせてパケットに格納されたタイムスロットを使用して、送信元ノードから宛先ノードへ進むときにパケットを受信するため使用された入力ポートの識別子、すなわち、R2_1がルータテーブルから得られる。次に、リターン関係と入力ポートR2_1の識別子とを使用して、出力ポートR2_2の識別子が決定され、この出力ポートが送信元ノードの方向にパケットを送信するため、すなわち、リターンパスを進むため使用される。パケットを送信する前に、パケットに格納されたタイムスロットの値が1ずつ減少させられる。
図2は、送信元ルーティングを使用して、すなわち、パケットがそのパケットのルーティングに関する情報を含む場合に、送信元ノードから宛先ノードへパケットを送信するときに、本発明によるネットワークにおいてパケットのリターンパスを決定する方法を使用するネットワークの一実施形態を示す。ルーティングに関する情報は、後続のノードの出力ポートの系列の形でパケットに格納されるので、各ノードは、パケットを次のノードへ送信するため使用すべき出力ポートをそのパケットから検出する。パケットが宛先ノードへ送られている間に、リターンパスに関する情報はノードに記憶される。201を参照すると、ノードS1、R4、R5およびD1を含むネットワークが示され、これらのノードは、それらの入力ポートおよび出力ポートS1_1、S1_2、R4_1、R4_2、R4_3、R4_4、R5_1、R5_2、R5_3、R5_4、D1_1およびD_12を介して、リンク207、209、211、213、215および217を用いて接続される。ネットワーク201は、集積回路のネットワークまたはネットワークの一部分でもよい。ノードS1、R4、R5およびD1は、データユニットを次の宛先へ送信するルータまたはスイッチを含む。ノードS1、R4、R5およびD1はまた、図2に示されていない他のノードへの結合のためのより多くの入力ポートおよび出力ポートを具備してもよい。パケット219は送信元ノードS1から宛先ノードD1へ送信される。ノードR4およびR5はそれぞれメモリM4、およびM5を具備する。ノードS1およびD1は同様にメモリを具備するが、図2には示されていない。すべてのノードS1、R4、R5およびD1に関して、第1のノードが第2のノードとの間に少なくとも1本のリンクを有するならば、第2のノードと第1のノードとの間にもリンクが存在する。ノードS1、R4、R5およびD1は、それぞれ、特定のノードから来る入力ポートでパケットを受信し、そのパケットを出力ポート経由で送信するとき、パケットがその特定のノードへ送信されるように、そのノードの各入力ポートをそのノードの出力ポートに関係付けるリターン関係を記憶する。パケット219は、ネットワークをプログラムするように構成される。ネットワークのプログラミングが各ノードで成功したとき、パケットは宛先ノードDへ送られる。しかし、ネットワークのプログラミングはある特定のノードで、例えば、リソースの不足を原因として、失敗する場合がある。そのケースでは、パケットは、それまでに通過したネットワークの部分を再プログラムするため、送信元ノードへのリターンパスを進むことが不可欠である。この実施形態では、ネットワークのプログラミングが宛先ノードD1まで成功したことを仮定している。203を参照すると、パケット219を送信元ノードS1から宛先ノードD1へ送信するときにパケット219が辿るパスが示されている。205を参照すると、パケットを送信元ノードS1から宛先ノードD1へ送信するときのメモリM4およびM5の内容が示されている。パケット219は、識別子IDと、ポインタPと、出力ポート識別子A1およびA2と、カウンタCと、データDATとを含む。ポインタPは、パケットを送信するため使用されるべき出力ポートの出力ポート識別子が格納されているパケット219内の場所を指定する。出力ポート識別子A1およびA2は、パケットを送信するため経由させられるべき出力ポートを一意に識別する。カウンタCは宛先ノードDへ到達する前に通過されるべきノードの総数を決める。他の実施形態では、当業者によって知られているように、送信元ルーティングのための別の符号化方式が考えられる。送信元ノードS1から宛先ノードD1へパケット219を送信する前に、パケット219内の出力ポート識別子A1の場所を指定するようにポインタPが定義される。出力ポート識別子A1は出力ポートR4_3の出力ポート識別子R4_3と一致するように設定され、出力ポート識別子A2には出力ポートR5_3の出力ポート識別子R5_3が設定される。カウンタCには2が設定される。最初のステップ1において、パケット219は送信元ノードS1によって、出力ポートS1_1、リンク207および入力ポートR4_1を介して、ノードR4へ送信される。パケット219を送信するために適切な出力ポートを選択するため、送信元ノードS1は、それが接続されているネットワークに関する情報を、例えば、ノードS1に記憶された宛先関係の形で、保有することが必要である。ノードR4はカウンタCの値を読み、カウンタCの値がゼロに一致しないので、宛先ノードではないことを検出する。カウンタCの値は1ずつ減少させられる。ノードR4はパケット219から識別子IDを読み、それを入力ポートR4_1からの識別子R4_1と組み合わせて、(ID,R4_1)のペアとしてメモリM4に格納する。ノードR4は、ポインタPの値を読み、出力ポート識別子A1を読むためその値を使用することにより、パケット219を送信するため出力ポートR4_3を使用することに決定する。ノードR4は、出力ポート識別子A2が格納されているパケット219内の場所を指定するようにポインタPを更新する。次のステップ2において、パケット219は、出力ポートR4_3、リンク211および入力ポートR5_1を介して、ノードR5へ送信される。ノードR5はカウンタCの値を読み、カウンタCの値がゼロに一致しないので、宛先ノードではないことを検出する。カウンタCの値は1ずつ減少させられる。ノードR5はパケット219から識別子IDを読み、それを入力ポートR5_1からの識別子R5_1と組み合わせて、(ID,R5_1)のペアとしてメモリM5に格納する。ノードR5は、ポインタPの値を読み、出力ポート識別子A2を読むためその値を使用することにより、パケット219を送信するため出力ポートR5_3を使用することに決定する。ノードR5は、カウンタCの値がゼロに一致するので、ポインタPの更新が不要であることを決定する。次のステップ3において、パケット219は、出力ポートR5_3、リンク213および入力ポートD1_1を介して、ノードD1へ送信される。ノードD1はカウンタCの値を読み、カウンタCの値がゼロに一致するので、自ノードが宛先ノードであることを判定する。したがって、Cの値は更新する必要が無く、ポインタPの値は読まれない。ネットワークのプログラミングがノードD1において失敗したケースでは、パケット219は、ネットワークの再プログラミングのため分散して保存されたリターンパスを使用して、宛先ノードD1から送信元ノードS1へ送られる。ノードD1は、パケット219を受信する際に使用された入力ポートD1_1の識別子D1_1と、ノードD1に記憶されているリターン関係とを使用して、送信元ノードS1へパケット219を返信するため出力ポートD1_2を使用することを決定する。次のステップ4において、パケットは、出力ポートD1_2、リンク217および入力ポートR5_4を介して、ノードR5へ送信される。ノードR5はパケット219から識別子IDを読み、この識別子が(ID,R5_1)のペアとしてメモリM5に記憶されていることを検出する。ノードR5は、入力ポートR5_1の識別子R5_1と、ノードR5に記憶されたリターン関係との組み合わせから、パケット219を送信するため出力ポートR5_2を使用することを決定する。ノードR5は、カウンタCの値がゼロに一致するので、ポインタPの更新が不要であることを決定する。次に、ノードR5はカウンタCを1ずつ増加させる。識別子IDと識別子R5_1のペアの形でメモリM5に記憶されていたリターンパスに関する情報が削除される。次のステップ5において、パケットは、出力ポートR5_2、リンク211および入力ポートR4_4を介して、ノードR4へ送信される。ノードR4はパケット219から識別子IDを読み、この識別子が(ID,R4_1)のペアとしてメモリM4に記憶されていることを検出する。ノードR4は、入力ポートR4_1の識別子R4_1と、ノードR4に記憶されたリターン関係との組み合わせから、パケット219を送信するため出力ポートR4_2を使用することを決定する。ノードR4は、出力ポート識別子A1が記憶されている場所を指定するようにポインタPを更新し、カウンタ1を1ずつ増大させる。識別子IDと識別子R4_1のペアの形でメモリM4に記憶されていたリターンパスに関する情報が削除される。次のステップ6において、パケット123は、出力ポートR4_2、リンク209および入力ポートS1_2を介して、ノードS1へ送信される。送信元ノードS1は、パケット219から識別子IDを読み、この識別子が、図2に示されていないその内部メモリに記憶されていないことを検出し、自ノードが宛先ノードであることを判定する。
図2を参照すると、別の実施形態では、ネットワークのプログラミングは、宛先ノードD1に到達する前にあるノードで失敗することがある。図2を参照すると、ネットワークのプログラミングがノードR5において失敗する場合に、このノードはパケット219を送信元ノードS1へ送る。上記のように、ネットワークを再プログラムするためにパケット219が送信元ノードS1へのリターンパスを移動することは不可欠である。ノードR5は、入力ポートR5_1の入力ポート識別子R5_1と、ノードR5に記憶されたリターン関係との組み合わせを使用して、パケット219を送信元ノードS1へ送るため出力ポートR5_2を使用することを決定する。ノードR5は、カウンタCの値がゼロに一致するので、ポインタP5の値は更新する必要がないことを決定する。ノードR5はカウンタCを1ずつ増加させる。次のステップ5において、パケットは、出力ポートR5_1、リンク211および入力ポートR4_3を介してノードR4へ送信される。次に、パケット219は前述の実施形態において説明したように、送信元ノードS1へさらに送られる。
図2を参照すると、他の実施形態では、ネットワークの再プログラミングは、例えば、ある特定のリソースへのアクセスが特定のノードにおいて拒絶されるため、失敗することがある。パケット219は宛先ノードD1へ送られるが、ネットワークのプログラミングがノードR5において失敗し、次に、パケット219は、前述の実施形態において説明したように、ノードに記憶されたリターン情報を使用して送信元ノードSへ送られる。パケット219はノードR4へ送信される。ノードR4は、出力ポート識別子A1が記憶されているパケット219内の場所を指定するようにポインタPを更新し、カウンタCの値が1ずつ増加させられる。次に、ネットワークの再プログラミングがノードR4において失敗し、このノードはパケットを宛先ノードD1へ送る。ノードR4は、ポインタPの値を読み、出力ポート識別子A1を読むためにこの値を使用することによって、パケット219を送信するため出力ポートR4_3を使用することに決定する。ノードR4は、出力ポート識別子A2が記憶されている場所を指定するようにポインタPを更新し、カウンタCの値が1ずつ減少させられる。次のステップ2において、パケット219は、前述の実施形態において説明したように、出力ポートR4_3、リンク211および入力ポートR5_1を介して、ノードR5へ送信される。送信元ノードS1から宛先ノードD1へのパケットのルーティングのためパケット219に格納された情報はパケット219内にそのまま残り、リターンパスに関する情報はノードR4およびR5に記憶される。その結果として、パケット219は、本実施形態において説明したように、同じパスを介して、宛先ノードD1へ2回以上送られ、ネットワークをプログラムすることが毎回試される。
再度図1を参照すると、様々な実施形態において、リターンパスに関する情報は、送信元ノードSから宛先ノードDまでのパス上でパケット123が通過したすべてのノードに格納される。リターンパスの一部分が一意であり、パケットが送信元ノードSから宛先ノードDまで通過するパスに一致する場合、リターン情報はリターンパスのその部分に関連付けられたノードに格納する必要がない。例えば、ノードR2が2個の入力ポートR2_1およびR2_4と2個の出力ポートR2_3およびR2_2だけを有する実施形態では、リターンパスに関する情報は、送信元ノードSから宛先ノードDへパケット123を送信するときにノードR2のメモリM2に記憶されない。ネットワークのプログラミングがノードR3において失敗した場合、パケット123は、前述の実施形態において説明したように、送信元ノードSへ送られる。ノードR3は、出力ポートR3_2、リンク117および入力ポートR2_4を介して、ノードR2へパケット123を送信する。ノードR2は、その宛先関係から決定できるように、パケット123を送信元ノードSへ送るため出力ポートR2_2だけを使用し、パケット123を、出力ポートR2_2、リンク113および入力ポートR1_4を介して、ノードR1へ送信する。次に、ノードR1は、前述の実施形態において説明したように、パケット123を送信元ノードSへ送信する。本実施形態では、ノードR2は、ノードR2がノードR3からパケットを受信し、ノードR2におけるネットワークの再プログラミングが成功したときに、ノードR3へのパケットの返信を許可されないことが仮定される。
上記の実施形態は、本発明を限定するのではなく、明らかにするものであり、当業者は請求項に記載された事項の範囲から逸脱することなく多数の代替的な実施形態を設計し得ることに注意すべきである。請求項中、括弧内に収められた参照符号は請求項を限定するものと考えるべきではない。語「含む、具備する(comprising)」は請求項に列挙されていない要素またはステップの存在を除外しない。要素の前に置かれる冠詞(「a」または「an」)はこのような要素が複数個存在することを除外しない。複数の手段を列挙する装置クレームにおいて、これらの複数の手段は全く同一のハードウェアによって具現化することが可能である。ある種の手段が相互に異なる請求項で引用されるという単なる事実は、これらの手段を有利に組み合わせることができないということを示唆しない。
宛先ルーティングを使用して送信元ノードから宛先ノードへパケットを送信するときに、本発明によるネットワークにおいてパケットのリターンパスを決定する方法を使用するネットワークの一実施形態を示す図である。 送信元ルーティングを使用して送信元ノードから宛先ノードへパケットを送信するときに、本発明によるネットワークにおいてパケットのリターンパスを決定する方法を使用するネットワークの一実施形態を示す図である。

Claims (6)

  1. 複数のノードと前記ノード間の複数のリンクとを備え、第1のノードが第2のノードとの間に少なくとも1つのリンクを有し、第1のノードそれぞれに対して、前記第2のノードと前記第1のノードとの間にリンクが存在するネットワークにおいて、送信元ノードから宛先ノードへ少なくとも1つの中間ノードを介して前記パケットを送信するときに使用され、パケットのリターンパスを決定する方法であって、
    前記リターンパスを得るために情報を前記中間ノードに記憶するステップを含むことを特徴とするネットワークにおいてパケットのリターンパスを決定する方法。
  2. 送信元ノードから宛先ノードへパケットを送信するときに、前記リターンパスを得るために前記パケットが通過した各ノードに情報を記憶するステップをさらに含むことを特徴とする請求項1記載のネットワークにおいてパケットのリターンパスを決定する方法。
  3. 前記中間ノードに記憶された情報が、前記パケットの識別子と、前記パケットを戻すために使用される前記中間ノードの出力ポートを符号化する情報と、を含むことを特徴とする請求項1記載のネットワークにおいてパケットのリターンパスを決定する方法。
  4. 複数のノードと前記ノード間の複数のリンクとを有し、第1のノードが第2のノードとの間に少なくとも1本のリンクを有し、前記第1のノードそれぞれに対して前記第2のノードと前記第1のノートとの間にリンクが存在し、送信元ノードから宛先ノードへ少なくとも1つの中間ノードを介してパケットを送信するときに前記パケットのリターンパスを決定するように構成されたネットワークを備えている集積回路であって、
    前記中間ノードはリターンパスを得るための情報を記憶するように構成されることを特徴とする集積回路。
  5. 前記複数のノードのうちの各ノードは、前記リターンパスを得るための情報を記憶するように構成されることを特徴とする請求項4記載の集積回路。
  6. 前記中間ノードは、前記パケットの識別子と、前記パケットを戻すために使用される前記中間ノードの出力ポートを符号化する情報と、を記憶するように構成されることを特徴とする請求項4記載の集積回路。
JP2004559991A 2002-12-18 2003-11-18 パケット交換方式ネットワークにおけるリターンパス導出 Pending JP2006511115A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02080356 2002-12-18
PCT/IB2003/005261 WO2004056051A1 (en) 2002-12-18 2003-11-18 Return path derivation in packet-switched networks

Publications (1)

Publication Number Publication Date
JP2006511115A true JP2006511115A (ja) 2006-03-30

Family

ID=32524042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004559991A Pending JP2006511115A (ja) 2002-12-18 2003-11-18 パケット交換方式ネットワークにおけるリターンパス導出

Country Status (7)

Country Link
US (1) US20060077974A1 (ja)
EP (1) EP1576773A1 (ja)
JP (1) JP2006511115A (ja)
KR (1) KR20050087838A (ja)
CN (1) CN1729661A (ja)
AU (1) AU2003276606A1 (ja)
WO (1) WO2004056051A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2892877B1 (fr) * 2005-10-28 2008-01-11 Centre Nat Rech Scient Routeur et reseau de routage
US8634428B2 (en) 2009-09-21 2014-01-21 At&T Intellectual Property I, L.P. Method and system for symmetric routing
US8640221B2 (en) * 2009-12-11 2014-01-28 Juniper Networks, Inc. Media access control address translation in virtualized environments
CN103222241B (zh) * 2010-11-25 2017-10-03 飞利浦灯具控股公司 用于优化至无线网格网络的节点的数据传输的系统和方法
JP5836477B2 (ja) * 2012-03-09 2015-12-24 三菱電機株式会社 データ通信装置、データ通信システム及びデータ通信方法
US8989017B2 (en) * 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9282035B2 (en) 2013-02-20 2016-03-08 International Business Machines Corporation Directed route load/store packets for distributed switch initialization
US9252965B2 (en) 2013-03-15 2016-02-02 International Business Machines Corporation Directed route load/store packets for distributed switch initialization

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191650A (en) * 1989-08-16 1993-03-02 International Business Machines Corporation Virtual chains for session initiation in a distributed computer network
DE69233414T2 (de) * 1991-06-18 2005-09-29 Fujitsu Ltd., Kawasaki Verfahren zur bestimmung eines alternativen leitweges
JP2856050B2 (ja) * 1993-11-30 1999-02-10 日本電気株式会社 ルーティング制御方法
JP3615057B2 (ja) * 1998-07-17 2005-01-26 株式会社東芝 ラベルスイッチングパス設定方法及びノード装置
US6219161B1 (en) * 1999-01-25 2001-04-17 Telcordia Technologies, Inc. Optical layer survivability and security system
DE10037969C2 (de) * 2000-08-03 2002-10-24 Siemens Ag Verfahren zur Erkennung einer flexiblen Vernetzung von Baugruppen bei beliebiger Netztopologie sowie zum Informationsaustausch zwischen solchen Baugruppen

Also Published As

Publication number Publication date
KR20050087838A (ko) 2005-08-31
US20060077974A1 (en) 2006-04-13
EP1576773A1 (en) 2005-09-21
WO2004056051A1 (en) 2004-07-01
CN1729661A (zh) 2006-02-01
AU2003276606A1 (en) 2004-07-09

Similar Documents

Publication Publication Date Title
US5926101A (en) Method and apparatus for routing messages in a network of nodes with minimal resources
EP2521309B1 (en) Communications system and topology information generation method
CA2095053C (en) Network addressing
US5687168A (en) Link state routing device in ATM communication system
US6496510B1 (en) Scalable cluster-type router device and configuring method thereof
US5953312A (en) Method and apparatus for determining alternate routes in a network using a connection-oriented protocol
US9210070B2 (en) Implementing multiple portals into an RBRIDGE network
US5802054A (en) Atomic network switch with integrated circuit switch nodes
US5469432A (en) High-speed digital communications network
CN107517157B (zh) 一种路径确定方法、装置和系统
JPS62188450A (ja) 代替ル−ト決定方法
JPH0824304B2 (ja) 通信ネットワークから不要なデータパケットを破棄する方法
JPH09130401A (ja) 順方向及び逆方向仮想接続ラベルに基づくatmネットワークを走査するシステム及び方法
US7366112B2 (en) Communication network control system, control method, node and program
WO2007066766A1 (ja) ネットワークシステムおよび中継装置
JP4759135B2 (ja) デジタル通信ネットワークのための分散スイッチと接続制御構成および方法
US7133402B2 (en) Link identifier assignment system in connection-oriented communication network
JP2004146915A (ja) ネットワークを相互に接続する方法、及びそのための装置
JP2006511115A (ja) パケット交換方式ネットワークにおけるリターンパス導出
JP5029612B2 (ja) パケットリングネットワークシステム、パケット転送方法およびインタリンクノード
JP2780794B2 (ja) 通信システム及び通信システムに使用されるスイッチング素子
US8291113B2 (en) Communication transmitting apparatus and communication transmitting method
JP2000324127A (ja) 迂回経路選定方法及び装置、障害回復方法及び装置、ノード並びにネットワークシステム
Schwartz et al. Routing protocols
JP2010028777A (ja) リソース予約方法およびリソース予約装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061117

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100223