JP3156766B2 - デッドロックを回避するパケットルーティング方式 - Google Patents

デッドロックを回避するパケットルーティング方式

Info

Publication number
JP3156766B2
JP3156766B2 JP31994997A JP31994997A JP3156766B2 JP 3156766 B2 JP3156766 B2 JP 3156766B2 JP 31994997 A JP31994997 A JP 31994997A JP 31994997 A JP31994997 A JP 31994997A JP 3156766 B2 JP3156766 B2 JP 3156766B2
Authority
JP
Japan
Prior art keywords
packet
turn
node
cyclic
prohibited
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.)
Expired - Fee Related
Application number
JP31994997A
Other languages
English (en)
Other versions
JPH11154977A (ja
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP31994997A priority Critical patent/JP3156766B2/ja
Publication of JPH11154977A publication Critical patent/JPH11154977A/ja
Application granted granted Critical
Publication of JP3156766B2 publication Critical patent/JP3156766B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】パケット通信網におけるルー
ティング方式に関し、特にデドロックを回避するパケッ
トルーティング方式に関する。
【0002】
【従来の技術】複数のノードを接続するパケット通信網
では、複数パケットストリームが通信網上で循環状にリ
ソース競合を起こすとデッドロックが発生し、競合を起
こしたリソースの稼動が停止する。これを図14のよう
なパケット通信網を例に説明する。図における各ノード
には、パケットを格納するためのパケット格納バッファ
32が存在する。パケット格納バッファ32に格納され
たパケットは、その転送先であるノード上のパケット格
納バッファに空き容量が存在するときのみ、同転送先ノ
ードにパケットを転送することができるものとする。図
14におけるパケット通信網では、ノードAのパケット
格納バッファをノードCが要求し、ノードCのパケット
格納バッファをノードBが要求し、ノードBのパケット
格納バッファをノードAが要求している。従って、三つ
のノード内にあるパケット格納バッファの何れにもバッ
ファ空き容量が存在しないとき、三つのノード全てが転
送先ノードのパケット格納バッファの空き容量を永久に
待ち続けることとなり、デドロックが発生する。これ
は、これら三つのノードで形成されているパケット通信
網において、リソースの競合が循環状に発生しているか
らである。
【0003】従来このようなデッドロックを解消するた
め、定められたトポロジーの通信網において、各ノード
でのルーティングに予め制約を加えることによって循環
の発生を防いでいた。たとえば、天野英春「並列コンピ
ュータ」(昭晃堂)におけるターン(Turn)モデル
によるデッドロック解消法がそれに当たる。同方法の実
施例を図13に示す。同図によると、各ノード1におい
て、入力ポート3に入力されたポートのヘッダをルーテ
ィング手段6に入力し、ルーティング手段6では入力さ
れたパケットに格納された情報とルーティングテーブル
7と禁止ターンテーブル8を参照して転送先出力ポート
を算出し、同算出結果をもとにルーティングメディア5
を制御してパケットを出力ポート4に転送する。同方法
では、通信網を組む前にデッドロックの要因となるルー
ティングを全て調べ、禁止すべき転送経路を予め禁止タ
ーンテーブルに格納しておく必要がある。このため、任
意のトポロジーに対応する場合には手間がかかり、通信
網の稼働中にトポロジーが変更される場合には対応する
ことができない、といった課題があった。たとえば、特
願平2−184143「データ伝送方式」も、予めデッ
ドロックが発生しないようにルーティング情報を構成す
る点で、同じ課題を持つ。
【0004】また、天野英春「並列コンピュータ」(昭
晃堂)における構造化バッファ/チャネル法によってデ
ッドロックを回避する場合、各ノードのバッファを通信
網の直径+1(最大経由ノード数+1)に相当するクラ
スに分け、パケットを隣のノードに転送する度に格納す
るバッファのクラスを一つずつ上げていくことによりバ
ッファの循環を回避する。同方法ではバッファをクラス
に分けて使用するためリソースの使用率が低下するとい
う課題があった。
【0005】この他、天野英春「並列コンピュータ」
(昭晃堂)のサブネットワークによる方法で示すよう
に、仮想チャネルを使った方法も提案されているが、同
方法ではリソース使用率の低下、任意トポロジーへの未
対応、稼働中にトポロジーの変更ができない、といった
制約があった。
【0006】
【発明が解決しようとする課題】従来のパケット通信網
では、任意のトポロジーでノードが接続されている場合
にデッドロックを回避させることが困難であったこと、
また、パケット通信網の稼働中にトポロジーを変更する
とデッドロック回避が困難となったこと、さらに、デッ
ドロックを回避するためにパケット通信網のリソース使
用率が低下すること、という課題が存在した。
【0007】本発明の目的は、パケット通信網の稼働中
にトポロジーの変更に対応でき、パケット通信網のリソ
ース使用率低下をきたさないデッドロックを回避するパ
ケットルーティング方式を提供することである。
【0008】
【課題を解決するための手段】本発明では、特定の入力
ポートから特定の出力ポートへのパケット転送経路を禁
止する場合、その禁止される転送経路の情報を格納する
禁止ターンテーブルを各ノードに設け、前記禁止ターン
テーブルの内容をパケット通信網稼働中に更新する循環
排除手段を設ける。
【0009】具体的には、本発明のパケットルーティン
グ方式は、複数ノードのネットワーク結合により構成さ
れるパケット通信網の各ノードに複数の入力ポートと、
複数の出力ポートと、入力ポートから出力ポートへのパ
ケットの経路となるルーティングメディアと、入力ポー
トに入力されたパケットについて、パケット内に格納さ
れた情報と転送先となる出力ポートの対応関係を格納す
るルーティングテーブルと、特定の入力ポートから特定
の出力ポートへのパケット転送経路を禁止する場合、そ
の禁止される転送経路の情報を格納する禁止ターンテー
ブルと、パケットとルーティングテーブルと禁止ターン
テーブルの情報に基づきルーティングメディアを制御す
るルーティング手段を有するパケット通信網におけるパ
ケットルーティング方式において、禁止ターンテーブル
の内容をパケット通信網稼働中に更新する循環排除手段
を有することを特徴とする。
【0010】また、前記複数ノードの内特定ノードをベ
ースノードとする場合、ベースノードにおける循環排除
手段は、パケット通信網内で循環ターンを検出し、検出
された循環ターンの中から禁止ターン候補を選択し、ま
た、他のノードから禁止ターン候補の通知を受け、禁止
ターン候補の中から禁止ターンを選択して、該当するノ
ードに同禁止ターンを通知する禁止ターン登録手段と、
禁止ターン登録手段によってパケット通信網内で検出さ
れた循環の経路情報が記載された循環検索パケットを格
納する循環検索パケット格納メモリと、パケット通信網
内で検出された循環ターンを循環ターン数と共に格納す
る循環ターン格納メモリと、ある時刻までに他のノード
から通知を受けた禁止ターン候補の中から選択された禁
止ターンが格納され、新たに禁止ターン候補の通知を受
けるたびに更新される禁止ターン候補格納メモリを有す
る。
【0011】また、前記複数ノードの内特定ノードをベ
ースノードとする場合、各ノードにおける循環排除手段
は、パケット通信網内で循環ターンを検出し、検出され
た循環ターンの中から禁止ターン候補を選択してベース
ノードに通知し、ベースノードが選択した禁止ターンを
禁止ターンテーブルに登録する禁止ターン登録手段と、
禁止ターン登録手段によってパケット通信網内で検出さ
れた循環の経路情報が記載された循環検索パケットを格
納する循環検索パケット格納メモリと、パケット通信網
内で検出された循環ターンを循環ターン数と共に格納す
る循環ターン格納メモリを有する。
【0012】本発明では、循環排除手段が、パケット通
信網内でリソース競合の循環が発生するかどうかを、循
環検索用のパケットを使用してパケット通信網が稼働中
に検索する。そして、同循環排除手段はさらに、検索さ
れた循環を断ち切るため、同循環上に位置する特定のノ
ードにおいて特定の入力ポートから特定の出力ポートへ
の転送経路を禁止ターンテーブルに登録して同転送経路
を禁止する。このため、パケット通信網内で任意のトポ
ロジーでノードが結合されている場合でも、そのトポロ
ジーにおいて発生する循環を自動的に探索するので、デ
ッドロックが解消される。また、循環の検索と特定の転
送経路の禁止は、すべてパケット通信網が稼働中に実施
されるので、パケット通信網の稼働中にトポロジーを変
更した場合にもデッドロックが回避できる。また、検索
された循環を断ち切るのに最低限必要な転送経路のみを
禁止しているので、パケット通信網のリソースの使用率
を必要以上に低下させずに済む。
【0013】
【発明の実施の形態】発明の実施の形態の説明の前に、
説明に使用する用語について定義する。
【0014】パケット通信網上の各ノードにおいて、あ
る入力ポートと、その入力ポートから入力されたパケッ
トを転送することが可能な出力ポートとの組み合わせを
ターンと称する。
【0015】パケット通信網において、リソースの競合
が循環状を形成し、デドロックを引き起こす可能性のあ
る、パケット転送経路の一連の組み合わせを循環と称す
る。
【0016】各ノードにおける循環の経路上のターンを
循環ターンと称する。
【0017】パケット通信網の中で発生する循環を検索
した結果、あるノードにおけるあるターンが一つ或いは
複数の循環の経路上にある時、そのターンを経由する循
環の数を循環ターン数と称する。
【0018】次に、本発明の実施の形態について、図を
参照して、詳細に説明する。
【0019】図2は、本発明が適用されるパケット通信
網の構成例である。同図に示す通り、パケット通信網で
は、複数のノード1がリンク2によって接続されてい
る。
【0020】図1に、本発明によるノード1の構成の実
施例を示す。同図によると、ノード1では、入力ポート
3に入力されたパケットをルーティングメディア5を経
由して出力ポート4に転送する。ルーティング手段6
は、パケットのルーティング情報及びルーティングテー
ブル7及び禁止ターンテーブル8を参照してルーティン
グメディア5を制御する。循環排除手段9は、入力ポー
ト3から循環検索パケット21を入力し、また、循環検
索パケット21を出力ポート4へ出力し、パケット通信
網内で検出された循環ターンの中から選択された禁止タ
ーンを禁止ターンテーブル8に登録する。
【0021】次に、循環排除手段9の実施例の動作につ
いて、図を使って説明する。
【0022】まず、各ノード1を識別するために使用す
るノード番号について、図3を使用して説明する。パケ
ット通信網上に存在するノードの数をn個とする。n個
あるノードの内、その一つをベースノード30とし、そ
のノード番号をi0 とする。ベースノード30以外のノ
ードについては、ノード番号がベースノード30のノー
ド番号よりも大きく、しかも同じノード番号を持つノー
ドは一つしか存在しないようにノード番号を与える。ま
た、n個のノード番号を小さな順にi0 ,i1,…,i
n-1 と記すこととする。そして、小さな順にm個のノー
ド番号{i0 ,i1 ,…,im-1 }を取り出したとき、
同ノード番号に対応する複数ノードとそれら複数ノード
をつなぐリンクのみで構成されるサブ通信網31の任意
の2ノード間でパケットを転送するための経路が確保さ
れていること、さらにm+1番目に小さなノード番号i
m をノード番号とするノードは{i0 ,i1 ,…,i
m-1}で構成されるサブ通信網31上の少なくとも一つ
のノードとリンクで直接接続されていること、以上の二
つの条件を満たすようにノード番号を与える。
【0023】図4は、ベースノード30以外のノードに
おける循環排除手段9の構成の実施例を示す図である。
同図によると、循環排除手段9は、禁止ターン登録手段
10と、循環検索パケット格納メモリ11と、循環ター
ン格納メモリ12により構成される。禁止ターン登録手
段10は、パケット通信網内で循環ターンを検出し、検
出された循環ターンの中から禁止ターン候補を選択して
ベースノード30に通知し、ベースノード30が選択し
た禁止ターンを禁止ターンテーブル8に登録する。循環
検索パケット格納メモリ11は、禁止ターン登録手段1
0によってパケット通信網内で検出された循環の経路情
報が記載された循環検索パケット21を格納する。循環
ターン格納メモリ12は、パケット通信網内で検出され
た循環ターン36を循環ターン数と共に格納する。
【0024】図5は、ベースノード30における循環排
除手段9の構成の実施例を示す図である。同図による
と、循環排除手段9は、禁止ターン登録手段10と、循
環検索パケット格納メモリ11と、循環ターン格納メモ
リ12と、禁止ターン候補格納メモリ13により構成さ
れる。禁止ターン登録手段10は、パケット通信網内で
循環ターンを検出し、検出された循環ターンの中から禁
止ターン候補を選択し、また、他のノードから禁止ター
ン候補の通知を受け、禁止ターン候補の中から禁止ター
ンを選択して、該当するノードに同禁止ターンを通知す
る。循環検索パケット格納メモリ11は、禁止ターン登
録手段10によってパケット通信網内で検出された循環
の経路情報が記載された循環検索パケット21を格納す
る。循環ターン格納メモリ12は、パケット通信網内で
検出された循環ターン36を循環ターン数と共に格納す
る。禁止ターン候補格納メモリ13は、ある時刻までに
他のノードから通知を受けた禁止ターン候補の中から選
択された禁止ターンが格納される。禁止ターン候補格納
メモリ13の内容は、新たに禁止ターン候補の通知を受
けるたびに更新される。
【0025】ベースノード30における禁止ターン登録
手段10の実施例の動作について図6を使って説明す
る。同図によると、各ノード1の禁止ターン登録手段1
0では、まず、禁止ターンの選択の対象となるサブ通信
網31を初期化する(ステップA1)。具体的には、サ
ブ通信網31を構成するノードをベースノード30のみ
とする。この時、サブ通信網31を構成するノードはφ
={i0 }であり、サブ通信網31の最大ノード番号で
あるサブ通信内最大ノード番号34をim と記すと、i
m =i0 となる。次に、全てのノードを含む通信網内で
の循環を排除したかどうかを判断する(ステップA
2)。このため、パケット通信網全体における最大ノー
ド番号33とサブ通信網内最大ノード番号34との大小
比較を実施する。前者が後者よりも大きい場合は検索を
続行し、そうでないときには検索を終了する。禁止ター
ンの選択を続行する場合、禁止ターンの選択の対象とな
るサブ通信網を拡大する(ステップA3)。同ステップ
では、サブ通信網内最大ノード番号34を増やす。本実
施例ではサブ通信網内最大ノード番号34を1だけ増や
す、すなわちim :=im +1と処理することとした
が、ノード番号がim +1であるノードが存在しない場
合は、im より大きなノード番号の最小値を新たなサブ
通信網内最大ノード番号34とすることも可能である。
そして、サブ通信網31を構成するノードに、ノード番
号がim であるノードを追加する。したがって、新たな
サブ通信網を構成するノードの集合は、φ:={φ,i
m }に更新される。サブ通信網31を拡大した後、新た
なサブ通信網31を構成する全てのノードに対して循環
検索開始通知パケットを送信し(ステップA4)、サブ
通信網31内の循環経路を探索し(ステップA5)、循
環経路の探索が終了した後にサブ通信網31内の全ての
ノードに対して循環ターン登録開始通知パケットを送信
し(ステップA6)、循環経路の探索結果に基づき循環
ターンを登録し(ステップA7)、循環ターンの登録が
終了した後にサブ通信網31内の全てのノードに対して
禁止ターン登録開始通知パケットを送信し(ステップA
8)、登録された循環ターンの中から禁止ターンを選択
し、該当するノードに通知する(ステップA9)。禁止
ターンを選択した結果、登録されなかった禁止ターンの
候補が存在した場合、すなわち登録された禁止ターンだ
けでは検出された全ての循環が解消されない可能性があ
る場合は再びステップA4を実施し、そうでない場合は
ステップA2に戻る(ステップA10)。
【0026】ベースノード30以外のノードにおける循
環排除手段9の実施例の動作について、図7を用いて説
明する。同図によると、ノード1では入力ポート3にパ
ケットが到着するのを待ち(ステップ20)、パケット
が到着したら、そのパケットが循環検索開始通知パケッ
トであるかどうか判断する(ステップA21)。パケッ
トが循環検索開始通知パケットであると判断される場
合、循環検索パケット格納メモリ11を初期化し(ステ
ップ24)、循環ターン格納メモリ12を初期化し(ス
テップ25)、循環経路を探索し(ステップA26)、
再びパケットの到着を待つ(ステップA20)。パケッ
トが循環検索開始通知パケットでないと判断される場
合、パケットが循環ターン登録開始通知パケットである
かどうか判断する(ステップA22)。パケットが循環
ターン登録開始通知パケットであると判断される場合、
循環ターンの登録を開始し(ステップA7)、登録が終
了した後に再びパケットの到着を待つ(ステップA2
0)。パケットが循環ターン登録開始通知パケットでな
いと判断される場合、パケットが禁止ターン登録開始通
知パケットであるかどうか判断する(ステップA2
3)。禁止ターン登録開始通知パケットであると判断さ
れる場合、禁止ターン候補を選択してベースノードに通
知する(ステップA26)。禁止ターン候補の選択する
一実施例として、ノード1の中で循環ターン数が最も多
い循環ターンを禁止ターン候補とすることができる。禁
止ターン候補は、禁止ターン候補通知パケットによって
ベースノード30に通知する。処理終了後に再びパケッ
トの到着を待つ(ステップA20)。そうでないと判断
される場合、パケット内のルーティング情報をもとにパ
ケット出力ポート4にルーティングして出力し(ステッ
プA27)、再びパケットの到着を待つ(ステップA2
0)。
【0027】図8に、パケット通信網上のノード1にお
ける循環経路の探索に使用する循環検索パケット21の
構成の実施例を示す。同図によると、循環検索パケット
21は、その内部に循環経路上のノードのノード番号を
示すノードリスト22を備える。
【0028】図9に、パケット通信網上のノード1にお
ける循環経路の探索(ステップA5)の詳細を示す。同
図によると、ノード1では、循環経路を探索するに当た
って、まず循環検索パケット21を生成し(ステップA
30)、生成された循環検索パケット21の内部にある
ノードリスト22の先頭にノード番号を書き込む(ステ
ップA31)。そして、循環検索パケット21のコピー
を、ノード1にある複数の出力ポート全てを経由して隣
接するノードに転送する(ステップ32)。その後、循
環経路の探索を開始してから一定時間が経過しているか
どうか判断し(ステップA33)、一定時間が経過して
いると判断される場合は循環経路の探索を終了する。そ
うでない場合は、循環検索パケット21が入力されたか
どうか判断し(ステップA34)、入力されたと判断さ
れる場合は循環検索パケット21内のノードリスト22
の中にノード番号が登録されているかどうか判断する
(ステップA35)。登録されていると判断される場合
はステップA38に進み、登録されていないと判断され
る場合はステップA36に進む。ステップA38では、
ノードリスト22の先頭にノード番号が登録されている
かどうか判断し、登録されていると判断される場合はス
テップA39に、そうでない場合にはステップA42に
進む。ステップA39では、ノード番号がノードリスト
22の中で最小の番号であるかどうか判断する。最小の
番号である場合はステップA40に進み、そうでない場
合にはステップA42に進む。ステップA40ではノー
ドリスト22の末尾にノード番号を登録する。ステップ
A40の後、循環検索パケット21を循環検索パケット
格納メモリ11に格納し(ステップA41)、再びステ
ップA33に進む。ステップA42では循環検索パケッ
トを破棄し、その後、再びステップA33に進む。ステ
ップA36では、ノードリスト22の末尾にノード番号
を登録し、その後、循環検索パケット21のコピーを、
その循環検索パケット21の送信元であるノード以外の
隣接する全てのノードに対して出力ポートを経由して転
送し(ステップA37)、再びステップA33に進む。
【0029】図10は、ノード1における、循環ターン
を登録する手続きであるステップA7の詳細である。循
環検索パケット格納メモリ11の中に格納された循環検
索パケット21のノードリスト22には、その循環検索
パケット21が検出した循環経路上の各ノードが経由す
る順番で登録されている。図10によると、ステップA
7では、まず、循環検索パケット格納メモリ22に登録
された循環検索パケット21のうち、未だ循環経路上に
転送されていないパケットが有るかどうか判断する(ス
テップA50)。未だ有ると判断される場合はステップ
A51に進み、そうでないと判断される場合はステップ
A54に進む。ステップA51では、未だ循環経路上に
転送されていない循環検索パケット21を循環検索パケ
ット格納メモリ22から一つ取り出す。取り出された循
環検索パケット21のノードリスト22の先頭と末尾に
はノード1のノード番号が登録されている。循環検索パ
ケット21に記載された循環経路上にあるノード1上の
循環ターン25は、ノードリスト22の末尾から二番目
に登録されたノードからノード1を経由し、ノードリス
ト22の先頭から二番目に登録されたノードに出力され
る際のノード1上のターンである。ステップA51の次
に、循環ターン25を循環ターン格納メモリ12に登録
する(ステップA52)。登録する際、循環ターン25
がノード1において始めて登録される場合は循環ターン
数を1とする。それ以外の場合は循環ターン数を1増や
す。ステップA52を実施した後、循環検索パケットを
ノードリスト22の先頭から二番目のノードに転送する
(ステップA53)。転送した後、再びステップA50
を実施する。ステップA54では、循環ターン登録の手
続きを開始してから一定時間が経過したかどうかを判断
する。一定時間が経過したと判断される場合は、循環タ
ーン登録の手続きを終了する。一定時間が未だ経過して
いないと判断される場合は、循環検索パケット21がノ
ード1に入力されたかどうか判断する(ステップA5
5)。入力されていない場合は再びステップA54を実
行する。入力されたと判断される場合、循環検索パケッ
ト21がそのノードリスト22上に登録された全てのノ
ードを経由して再びノード1に戻ってきたか、すなわち
循環検索パケットが循環経路上を一周したかどうかを判
断する(ステップA56)。この判断をするには、循環
検索パケット21内にあるノードリスト22の末尾に登
録されたノード番号がノード1のノード番号と一致する
かどうかを見ることでわかる。一致する場合は循環経路
上を一周したものとし、一致しない場合は未だ一周して
いないものとする。一周したと判断される場合は、循環
検索パケット21を削除し(ステップA60)、処理を
終了する。そうでないと判断される場合は、ステップA
57に進む。ステップA57では、循環ターン25を循
環ターン格納メモリ12に登録する。ここで、循環検索
パケット21内にあるノードリスト22の先頭に登録さ
れたノードからノード1を経由してノードリスト22の
先頭から三番目のノードに転送されるノード1上のター
ンが循環ターン25である。登録する際、循環ターン2
5がノード1において始めて登録される場合は循環ター
ン数を1とする。それ以外の場合は循環ターン数を1増
やす。循環ターンを登録した後、循環検索パケット21
内にあるノードリスト22の先頭に登録されたノード番
号を削除し、それまでノードリスト22の先頭から二番
目に登録されていたノード番号が先頭にくるようにする
(ステップA58)。そして、循環検索パケット21を
出力ポート4経由でノードリスト22の先頭から二番目
に登録されたノードに転送する(ステップA59)。ス
テップA59が終了したら、再びステップA54を実施
する。
【0030】図11は、禁止ターンを登録するステップ
A5の実施例である。同図によると、禁止ターン登録の
開始から一定時間が経過したかどうかを判断し(ステッ
プA70)、経過していると判断される場合はステップ
A73に、そうでないと判断される場合はステップA7
1に進む。ステップA71では、ベースノード30に禁
止ターン候補通知パケットが入力されたかどうかを判断
し、入力されたと判断される場合はステップA72に、
そうでないと判断される場合はステップA70に進む。
ステップA72では、禁止ターン候補格納メモリ13に
格納された、パケット通信網上で次に登録すべき禁止タ
ーンの候補を更新する。更新の方法の一実施例として、
禁止ターン候補通知パケットが示す循環ターンの循環タ
ーン数が、既に禁止ターン候補格納メモリ13に格納さ
れている循環ターンの循環ターン数よりも大きいとき
に、禁止ターン候補格納メモリ13の内容を禁止ターン
候補通知パケットの内容で書き換え、そうでないときに
は書き換えない方法がある。また、別の一実施例とし
て、禁止ターン候補通知パケットが示す循環ターンが発
生するノードのノード番号と、既に禁止ターン候補格納
メモリ13に格納されている循環ターンが発生するノー
ドのノード番号の大小を比較して、禁止ターン候補格納
メモリ13の書き換えの是非を判断することでも、本発
明が目的とする効果が得られる。また、別の一実施例と
して、禁止ターン候補通知パケットが示す循環ターンが
発生するノードにおいて使用可能なターンの総数と、既
に禁止ターン候補格納メモリ13に格納されている循環
ターンが発生するノードにおいて使用可能なターンの総
数の大小を比較して禁止ターン候補格納メモリ13の書
き換えの是非を判断することでも、本発明が目的とする
効果が得られる。また、別の一実施例として、左記の三
通りの判断方法に優先順位をつけて組み合わせることで
も、本発明が目的とする効果が得られる。たとえば、二
つの禁止ターン候補における循環ターン数の大小を比較
し、両者が等しい場合には二つの禁止ターン候補の発生
するノードにおいて使用可能なターン数の大小を比較
し、それでも両者が等しいときにはノード番号の大小を
比較する、という方法でも、本発明が目的とする効果が
得られる。ステップA73では、禁止ターン候補格納メ
モリ13に格納された禁止ターン候補を禁止ターンと
し、禁止ターンを禁止ターン通知パケットによって禁止
ターンが発生するノードに通知し、処理を終了する。
【0031】図12は、禁止ターンをベースノード30
に通知するステップA26の一実施例を示す。それによ
ると、ノード1では、まず禁止ターン候補を禁止ターン
候補通知パケットによってベースノード30に通知す
る。禁止ターン候補の選択方法として、循環ターン格納
メモリ23に格納されている循環ターンの内でもっとも
循環ターン数が大きなものを選ぶ。また、禁止ターン候
補通知パケットには、パケット通信網上で同パケットを
ベースノード30まで転送するのに必要な情報のほか、
ノード1のノード番号、禁止ターン候補を特定するパラ
メータ、同禁止ターン候補の循環ターン数等を記載す
る。また、ノード1において使用可能なターンの数を記
載することによって、ベースノード30において禁止タ
ーンを選択する際に各ノードで使用可能なターンの数を
選択の判断基準とすることも可能となる。ステップA8
0を終了した後、禁止ターン通知の開始から一定時間が
経過したかどうか判断する(ステップA81)。経過し
たと判断される場合は処理を終了し、そうでないと判断
される場合は禁止ターン通知パケットが入力されたかど
うか判断する(ステップA82)。ステップA82で禁
止ターン通知パケットが入力されたと判断される場合
は、禁止ターン通知パケットに記載された禁止ターン
を、禁止ターンテーブル8に登録して処理を終了する。
入力されなかったと判断される場合はステップA81に
戻る。
【0032】以上の構成により、パケット通信網におい
て、デドロックを引き起こすリソース競合の循環が発生
しうる転送経路を自動的に検出し、同循環を形成する転
送経路上のターンを排除することによって、デドロック
を回避することが可能となる。
【0033】
【発明の効果】第1の効果は、本発明によるデッドロッ
クの解消を適用するパケット通信網について、特にノー
ド結合のトポロジーに制約が無いということである。こ
のため、任意のトポロジーでノードが結合されたパケッ
ト通信網に適用可能である。
【0034】第2の効果は、パケット通信網の稼働中に
デッドロックを解消するための禁止ターンテーブルを更
新する点である。従って、パケット通信網が稼動する前
に予めルーティング方法に制約を与える必要が無く、ま
た、稼働中にトポロジーが変化してもデッドロックの解
消が可能である。
【0035】第3の効果は、パケット通信網上でデッド
ロックを発生させる可能性がある循環について、それを
断ち切るのに最低限必要な転送経路のみに制約を与える
ということである。従って、パケット通信網上のリソー
スの使用率を必要以上に低下させるのを回避することが
できる。
【図面の簡単な説明】
【図1】本発明によるノードの構成の実施例を示す図で
ある。
【図2】パケット通信網の構成を示す図である。
【図3】ベースノード30とサブ通信網31を説明する
図である。
【図4】ベースノード30以外のノードにおける循環排
除手段9の構成の実施例を示す図である。
【図5】ベースノード30における循環排除手段9の構
成の実施例を示す図である。
【図6】ベースノード30における禁止ターン登録手段
10の動作の実施例を示す図である。
【図7】ベースノード30以外のノードにおける禁止タ
ーン登録手段10の動作の実施例を示す図である。
【図8】循環検索パケット21の構成の実施例を示す図
である。
【図9】ステップA5の実施例を示す図である。
【図10】ステップA7の実施例を示す図である。
【図11】ステップA9の実施例を示す図である。
【図12】ステップA26の実施例を示す図である。
【図13】従来のノードの構成を示す図である。
【図14】デドロックを引き起こす循環の例を示す図で
ある。
【符号の説明】
1 ノード 2 リンク 3 入力ポート 4 出力ポート 5 ルーティングメディア 6 ルーティング手段 7 ルーティングテーブル 8 禁止ターンテーブル 9 循環排除手段 10 禁止ターン登録手段 11 循環検索パケット格納メモリ 12 循環ターン格納メモリ 13 禁止ターン候補格納メモリ 21 循環検索パケット 22 ノードリスト 30 ベースノード 31 サブ通信網 32 パケット格納バッファ

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数ノードのネットワーク結合により構
    成されるパケット通信網の各ノードに複数の入力ポート
    と、複数の出力ポートと、前記入力ポートから前記出力
    ポートへのパケットの経路となるルーティングメディア
    と、前記入力ポートに入力されたパケットについて、前
    記パケット内に格納された情報と転送先となる前記出力
    ポートの対応関係を格納するルーティングテーブルと、
    特定の入力ポートから特定の出力ポートへのパケット転
    送経路を禁止する場合、その禁止される転送経路の情報
    を格納する禁止ターンテーブルと、前記パケットと前記
    ルーティングテーブルと前記禁止ターンテーブルの情報
    に基づき前記ルーティングメディアを制御するルーティ
    ング手段を有するパケット通信網におけるパケットルー
    ティング方式において、 前記禁止ターンテーブルの内容をパケット通信網稼働中
    に更新する循環排除手段を有することを特徴とするパケ
    ットルーティング方式。
  2. 【請求項2】 前記複数ノードの内特定ノードをベース
    ノードとする場合、ベースノードにおける前記循環排除
    手段が、 パケット通信網内で循環ターンを検出し、検出された循
    環ターンの中から禁止ターン候補を選択し、また、他の
    ノードから禁止ターン候補の通知を受け、禁止ターン候
    補の中から禁止ターンを選択して、該当するノードに同
    禁止ターンを通知する禁止ターン登録手段と、 禁止ターン登録手段によってパケット通信網内で検出さ
    れた循環の経路情報が記載された循環検索パケットを格
    納する循環検索パケット格納メモリと、 パケット通信網内で検出された循環ターンを循環ターン
    数と共に格納する循環ターン格納メモリと、 ある時刻までに他のノードから通知を受けた禁止ターン
    候補の中から選択された禁止ターンが格納され、新たに
    禁止ターン候補の通知を受けるたびに更新される禁止タ
    ーン候補格納メモリを有する請求項1記載のパケットル
    ーティング方式。
  3. 【請求項3】 前記複数ノードの内特定ノードをベー
    スノードとする場合、他の各ノードにおける前記循環排
    除手段が、 パケット通信網内で循環ターンを検出し、検出された循
    環ターンの中から禁止ターン候補を選択してベースノー
    ドに通知し、前記ベースノードが選択した禁止ターンを
    禁止ターンテーブルに登録する禁止ターン登録手段と、 禁止ターン登録手段によってパケット通信網内で検出さ
    れた循環の経路情報が記載された循環検索パケットを格
    納する循環検索パケット格納メモリと、 パケット通信網内で検出された循環ターンを循環ターン
    数と共に格納する循環ターン格納メモリを有する請求項
    1記載のパケットルーティング方式。
  4. 【請求項4】 ベースノードの前記禁止ターン登録手段
    が、 禁止ターンの選択の対象となるサブ通信網を初期化し、
    全てのノードを含む通信網内での循環を排除したかどう
    かを判断する手段と、 禁止ターンの選択を続行する場合、禁止ターンの選択の
    対象となるサブ通信網を拡大して、新たなサブ通信網を
    構成する全てのノードに対して循環検索開始通知パケッ
    トを送信する手段と、 サブ通信網内の循環経路を探索して、サブ通信網内の全
    てのノードに対して循環ターン登録開始通知パケットを
    送信する手段と、 循環経路の探索結果に基づき循環ターンを登録して、サ
    ブ通信網内の全てのノードに対して禁止ターン登録開始
    通知パケットを送信する手段と、 登録された循環ターンの中から禁止ターンを選択し、該
    当するノードに通知する手段と、 禁止ターンを選択した結果、登録されなかった禁止ター
    ンの候補の存在の有無によって、上記を繰り返す手段を
    有する請求項2記載のパケットルーティング方式。
  5. 【請求項5】 各ノードの前記禁止ターン登録手段
    が、 入力ポートにパケットが到着した後、前記パケットが循
    環検索開始通知パケットであるかどうか判断する手段
    と、 前記パケットが循環検索開始通知パケットである場合、
    循環検索パケット格納メモリを初期化し、循環ターン格
    納メモリを初期化し、循環経路を探索する手段と、 再びパケットの到着を待ち、パケットが循環検索開始通
    知パケットでないと判断される場合、パケットが循環タ
    ーン登録開始通知パケットであるかどうか判断する手段
    と、 パケットが循環ターン登録開始通知パケットであると判
    断される場合、循環ターンの登録を開始する手段と、 登録が終了した後に再びパケットの到着を待ち、パケッ
    トが循環ターン登録開始通知パケットでないと判断され
    る場合、パケットが禁止ターン登録開始通知パケットで
    あるかどうか判断する手段と、 禁止ターン登録開始通知パケットであると判断される場
    合、禁止ターン候補を選択してベースノードに通知する
    手段と、 処理終了後に再びパケットの到着を待ち、禁止ターン登
    録開始通知パケットでないと判断される場合、パケット
    内のルーティング情報をもとにパケット出力ポートにル
    ーティングして出力し、再びパケットの到着を待ち、上
    記を繰り返す手段を有する請求項3記載のパケットルー
    ティング方式。
  6. 【請求項6】 パケット通信網上のノードにおける循環
    経路の探索に使用する前記循環検索パケットが、 循環検索パケットの内部に循環経路上のノードのノード
    番号を示すノードリストを有する請求項2または3記載
    のパケットルーティング方式。
JP31994997A 1997-11-20 1997-11-20 デッドロックを回避するパケットルーティング方式 Expired - Fee Related JP3156766B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31994997A JP3156766B2 (ja) 1997-11-20 1997-11-20 デッドロックを回避するパケットルーティング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31994997A JP3156766B2 (ja) 1997-11-20 1997-11-20 デッドロックを回避するパケットルーティング方式

Publications (2)

Publication Number Publication Date
JPH11154977A JPH11154977A (ja) 1999-06-08
JP3156766B2 true JP3156766B2 (ja) 2001-04-16

Family

ID=18116050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31994997A Expired - Fee Related JP3156766B2 (ja) 1997-11-20 1997-11-20 デッドロックを回避するパケットルーティング方式

Country Status (1)

Country Link
JP (1) JP3156766B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4564278B2 (ja) * 2003-04-25 2010-10-20 アルカテル・アイ・ピー・ネツトワークス・インコーポレイテツド ソフト構成を用いたデータ交換
US7366166B2 (en) 2003-04-25 2008-04-29 Alcatel Usa Sourcing, L.P. Data switching using soft configuration
JP4374307B2 (ja) 2004-10-20 2009-12-02 株式会社日立コミュニケーションテクノロジー ラベルスイッチパスの経路制御方法
JP4621962B2 (ja) * 2007-09-27 2011-02-02 エヌイーシーコンピュータテクノ株式会社 ノードコントローラ及びノード並びにデッドロック検出方法
US8139490B2 (en) * 2009-12-21 2012-03-20 Google Inc. Deadlock prevention in direct networks of arbitrary topology
JP5552938B2 (ja) * 2010-07-23 2014-07-16 富士通株式会社 禁止ターン決定プログラムおよび禁止ターン決定装置

Also Published As

Publication number Publication date
JPH11154977A (ja) 1999-06-08

Similar Documents

Publication Publication Date Title
US8855121B2 (en) Congestion management in a network
US6956858B2 (en) Network routing table and packet routing method
US8762534B1 (en) Server load balancing using a fair weighted hashing technique
US7274693B1 (en) Search engine for forwarding table content addressable memory
US6775281B1 (en) Method and apparatus for a four-way hash table
US6161144A (en) Network switching device with concurrent key lookups
WO2017133623A1 (zh) 一种数据流处理方法、装置和系统
US8750144B1 (en) System and method for reducing required memory updates
US20070133593A1 (en) Searching Strings Representing a Regular Expression
EP2192725B1 (en) Packet switch being partitioned into virtual LANs (VLANs)
US7664040B2 (en) Method of accelerating the shortest path problem
US6580712B1 (en) System for controlling look-ups in a data table in a network switch
WO2000024159A2 (en) Method and apparatus for address lookup
JPH0897844A (ja) データ通路の設定方法及び装置
US7782831B1 (en) System and method for dynamically defining a TDMA management cycle for a wireless network
US7002958B1 (en) Method for load-balancing with FIFO guarantees in multipath networks
KR101754618B1 (ko) 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치
JP3156766B2 (ja) デッドロックを回避するパケットルーティング方式
US11329747B2 (en) Scheduling deterministic flows in time synchronized networks
US20120189012A1 (en) Providing Point To Point Communications Among Compute Nodes In A Global Combining Network Of A Parallel Computer
US6421660B1 (en) Enhanced searching method and apparatus for variable bit chains
JP2002016623A (ja) ネットワーク処理システム内でソフトウェア管理ツリーをダウンロードするための方法およびシステム
US7596135B1 (en) Method and apparatus for mixed-cast routing through a Clos-like network
JP2005310117A (ja) 動的分散環境におけるノードマッチング
US7111093B2 (en) Ping-pong buffer system having a buffer to store a subset of data from a data source

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080209

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090209

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140209

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees