JP3759708B2 - コンピュータネットワークにおけるスタベーションを回避する方法及び装置 - Google Patents
コンピュータネットワークにおけるスタベーションを回避する方法及び装置 Download PDFInfo
- Publication number
- JP3759708B2 JP3759708B2 JP2001264365A JP2001264365A JP3759708B2 JP 3759708 B2 JP3759708 B2 JP 3759708B2 JP 2001264365 A JP2001264365 A JP 2001264365A JP 2001264365 A JP2001264365 A JP 2001264365A JP 3759708 B2 JP3759708 B2 JP 3759708B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- target node
- service
- received
- retry
- 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
Links
- 238000000034 method Methods 0.000 title claims description 55
- 235000003642 hunger Nutrition 0.000 title claims description 38
- 230000037351 starvation Effects 0.000 title claims description 38
- 239000003999 initiator Substances 0.000 claims description 106
- 230000004044 response Effects 0.000 claims description 67
- 230000006870 function Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 9
- 230000007704 transition Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/74—Admission control; Resource allocation measures in reaction to resource unavailability
- H04L47/745—Reaction in network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/821—Prioritising resource allocation or reservation requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータネットワークにおけるスタベーション(starvation)を回避(avoid) する方法及び装置に関する。
【0002】
【従来の技術】
コンピュータネットワークにおいては、一般に、サービスを提供する少なくとも1つのターゲットノードと、そのターゲットノードに対しサービスを要求(request) する複数のイニシエータノードとが接続される。
【0003】
かかるコンピュータネットワークにおいては、長時間にわたって特定のイニシエータノードが送信するサービス要求がターゲットノードで拒絶(reject)され続けて受諾(accept)されないという事態が発生することがある。このような事態は、スタベーションと呼ばれている。
【0004】
かかるスタベーションを回避するための多くの方法が存在するが、いずれの方法を実施するにしても、ターゲットノードとイニシエータノードとの間で伝送されるパケットにスタベーション回避のための情報フィールドとしてある程度のビット数の領域を設ける必要がある。その結果、通信トラフィックの増大が招かれている。
【0005】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、その目的は、コンピュータネットワークにおけるスタベーションを回避する方法及び装置であってスタベーション回避のためにパケット内に設ける必要のあるフィールドのビット数を最小限に抑えることができるものを提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本発明によれば、サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答するオペレーションと、ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾するオペレーションと、ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答するオペレーションと、を具備するもの、が提供される。
【0007】
また、本発明によれば、サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、(a) サービス可能な状態にあるターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求を受諾するオペレーションと、(b) サービス不能な状態に移行したターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求に対し、少なくとも1ビットの拒絶時期情報を付して拒絶応答するオペレーションと、(c) サービス可能な状態に復帰したターゲットノードにおいて、リトライ要求が受信されたとき、該リトライ要求に付された拒絶時期情報に応じて該リトライ要求を受諾するオペレーションと、(d) サービス可能な状態にあるターゲットノードにおいて、リトライ要求に対してはオペレーション(c) と同様に処理する一方、最初の要求に対しては拒絶時期情報を付して拒絶応答するオペレーションと、を具備するもの、が提供される。
【0008】
また、本発明によれば、サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、(a) ターゲットノードにおいて、少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ、0に初期化するオペレーションと、(b) イニシエータノードからターゲットノードへ最初の要求を送信するオペレーションと、(c) ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾するオペレーションと、(d) ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答するオペレーションと、(e) ターゲットノードにおいて、最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答するオペレーションと、(f) 拒絶応答を受信したイニシエータノードからターゲットノードへ、該拒絶応答に付されたCEの値と等しい値の第5のパラメータREを付してリトライ要求を送信するオペレーションと、(g) ターゲットノードにおいて、リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾するオペレーションと、(h) ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾するオペレーションと、(i) ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾するオペレーションと、(j) ターゲットノードにおいて、リトライ要求が受信されたとき、オペレーション(g) 、(i) 及び(j) のいずれの実行条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答するオペレーションと、を具備するもの、が提供される。
【0009】
また、本発明によれば、上記の各方法を実施する装置が提供される。また、本発明によれば、それらの装置によって読み取り可能な記録媒体であって上記の各方法を実現させるプログラムを格納するものが提供される。
【0010】
【発明の実施の形態】
図1は、本発明が適用され得るコンピュータネットワーク10を示す図である。コンピュータネットワーク10には、サービスを提供する1つのターゲットノードとしてのコンピュータ12と、そのターゲットノードに対しサービスを要求する複数のイニシエータノードとしてのコンピュータ14とが接続されている。なお、図1に示されるコンピュータネットワーク10は、リング形のトポロジーを有するが、本発明は、少なくとも1つのターゲットノードと複数のイニシエータノードとが接続されるものであれば、スター形、バス形等のコンピュータネットワークに対しても適用可能である。
【0011】
図2は、図1におけるターゲットノード12のハードウェア構成の一例を示す図である。この図に示されるように、ターゲットノード12は、主として、中央処理装置(CPU)20と、メモリ22と、ネットワークインタフェースユニット24と、から構成される。CPU20は、各種の記録媒体からメモリ22上にロードされたプログラムを実行する。
【0012】
そして、ネットワークインタフェースユニット24には、後述する処理で使用される少なくとも1ビットのパラメータであるコレクトエポック(collect epoch) (CE)を格納するレジスタと、そのCEと等しいビット数のパラメータであるサービスエポック(service epoch) (SE)を格納するレジスタとが設けられている。さらに、ネットワークインタフェースユニット24には、CEに対応するカウンタCCと、SEに対応するカウンタSCとが設けられている。なお、カウンタCCのビット数とSCのビット数とは等しく、そのビット数はイニシエータノード14の数に応じて決定される。
【0013】
図3は、イニシエータノード14からターゲットノード12へ送信される要求パケットのフォーマットを示す図であり、本発明に関係する部分のみを示している。RETRYフィールドは、1ビットで構成され、その値が0のときには、要求パケットが最初の要求(First Request) に係るものであることを示す一方、その値が1のときには、要求が拒絶された後に発行されるリトライ要求(Retry Request) であることを示す。また、EPOCHフィールドは、前述したコレクトエポックCE及びサービスエポックSEのビット数に等しいビット数を有するフィールドであり、RETRYビットが1のときのみ意味を持つ。各フィールドの意義は、後の説明で明らかにされる。
【0014】
図4は、ターゲットノード12からイニシエータノード14に送信される応答パケットのフォーマットを示す図であり、本発明に関係する部分のみを示している。REJECTフィールドは、1ビットで構成される。ターゲットノード12は、イニシエータノード14からの要求を受諾(accept)するとき、このREJECTビットを0にして応答する一方、その要求を拒絶(reject)するとき、このREJECTビットを1にして応答する。そして、図4におけるEPOCHフィールドも、前述したコレクトエポックCEのビット数及びサービスエポックSEのビット数に等しいビット数を有するフィールドであり、REJECTビットが1のときのみ意味を持つ。各フィールドの意義は、後の説明で明らかにされる。
【0015】
図5及び図6は、ターゲットノード12において要求の受信時に実行される処理の手順を示すフローチャートである。なお、ターゲットノード12においては、前述のコレクトエポックCE、サービスエポックSE、コレクトカウンタCC及びサービスカウンタSCは、システム立ち上げ時に、全て0に初期化されている。
【0016】
あるイニシエータノード14からの要求が受信されると、まず、オペレーション102では、その要求パケット(図3)中のRETRYビットが1であるか否かが判定される。RETRY=1のとき、すなわち受信された要求がリトライ要求であるときには、オペレーション116に進む一方、RETRY=0のとき、すなわち受信された要求が最初の要求であるときには、オペレーション104に進む。
【0017】
オペレーション104では、コレクトエポックの値とサービスエポックの値とが等しいか否かが判定され、CE=SEのときにはオペレーション108に進む一方、CE≠SEのときにはオペレーション106に進む。オペレーション108では、サービスカウンタが0でかつサービス提供可能か否かが判定される。なお、サービス提供可能であることを、ルーム・アベイラブル(room available)とも呼ぶこととする。オペレーション108の判定条件が成立するときには、オペレーション112に進み、最初の要求を受諾し、REJECTビットを0にして応答パケット(図4)を要求元のイニシエータノード14に送信する。
【0018】
一方、オペレーション108の判定条件が成立しないときには、オペレーション110に進み、コレクトエポックCEをインクリメントし、コレクトカウンタCCに1をセットする。次いで、オペレーション114において、REJECTビットを1にして応答パケット(図4)を要求元のイニシエータノード14に送信する。なお、その際、応答パケット内のEPOCHフィールドには、現在のコレクトエポックCEの値を設定する。
【0019】
また、オペレーション104でCE≠SEと判定されたときに実行されるオペレーション106では、コレクトカウンタCCをインクリメントする。次いで、前述したオペレーション114の処理が実行される。
【0020】
ここで、図6の処理について説明する前に、イニシエータノード14において応答パケットの受信時に実行される処理について図7のフローチャートを用いて説明する。ターゲットノード12からの応答を受信すると、まず、オペレーション202では、その応答パケット(図4)中のREJECTビットが1であるか否かが判定される。REJECT=1のとき、すなわち先に送信した要求が拒絶されたときには、オペレーション204に進む一方、REJECT=0のとき、すなわち要求が受諾されたときには、何も実行しない。
【0021】
オペレーション204では、一定時間待機する。そして、次のオペレーション206では、リトライ要求を送信すべく、RETRYビットを1にして要求パケット(図3)をターゲットノード12へ送信する。なお、その際、要求パケット内のEPOCHフィールドには、受信した拒絶応答パケット内に設定されたEPOCHの値がコピーされる。
【0022】
再び、図5及び図6に戻って説明を続ける。オペレーション102でRETRY=1と判定されたときに実行されるオペレーション116では、ルーム・アベイラブルか否かが判定され、判定結果がYESのときにはオペレーション118に進む一方、判定結果がNOのときにはオペレーション128に進む。
【0023】
オペレーション118では、コレクトエポックCEの値とサービスエポックSEの値とが等しく、かつ、サービスカウンタSCが0であるか否かが判定される。判定結果がYESのとき、すなわちCE=SEかつSC=0のときには、オペレーション130に進む一方、判定結果がNOのときには、オペレーション120に進む。オペレーション130では、当該リトライ要求を受諾し、すなわち、REJECTビットを0にして応答パケット(図4)を要求元のイニシエータノード14に送信する。
【0024】
オペレーション120では、要求パケット内のEPOCHフィールドに示された値をリクエストエポックREとして、このREがSE+1に等しく、かつ、サービスカウンタSCが0であるか否かが判定される。判定結果がYESのとき、すなわちRE=SE+1かつSC=0のときには、オペレーション122に進む一方、判定結果がNOのときには、オペレーション124に進む。オペレーション122では、サービスエポックSEをインクリメントしかつサービスカウンタSCにCC−1をセットして、オペレーション130に進む。オペレーション130では、前述のように、当該リトライ要求を受諾する。
【0025】
オペレーション124では、RE=SEかつSC>0が成立するか否かが判定され、判定結果がYESのときにはオペレーション126に進む一方、判定結果がNOのときにはオペレーション128に進む。オペレーション126では、サービスカウンタSCをデクリメントしてオペレーション130に進む。オペレーション130では、前述のように、当該リトライ要求を受諾する。
【0026】
一方、オペレーション128では、REJECTビットを1にして応答パケット(図4)を要求元のイニシエータノード14に送信する。なお、その際、応答パケット内のEPOCHフィールドには、受信した要求パケット内のEPOCHフィールドに示されていた値すなわちリクエストエポックREの値をそのまま設定して戻す。かくして、最初の要求及びリトライ要求に対する一連の処理が終了する。
【0027】
さて、図5及び図6のアルゴリズムによって、ターゲットノード12がどのような状態をとることができ、そしてイニシエータノード14の要求に応じてどのような動作及び状態遷移をするかについて、図8を用いて説明する。なお、図8において、“A”はルーム・アベイラブル(Room Available)、“N”はルーム・ノット・アベイラブル(Room Not Available)、“F”は最初の要求(First Request) 、及び“R”はリトライ要求(Retry Request) を示す。
【0028】
まず、初期化後においては、CE=SEかつSC=0であり、この状態をアイドル状態と称する。アイドル状態かつルーム・アベイラブルのときに最初の要求又はリトライ要求が来ると、ターゲットノードは要求を受諾して、アイドル状態に止まる。図8では、このような動作及び状態遷移をアイドル状態の円から出る矢印と、その矢印に付された、
A: F or R; ACCEPT
なる表記で示している。
【0029】
また、アイドル状態かつルーム・ノット・アベイラブルのときにリトライ要求が来ると、ターゲットノードはリトライ要求に付されたリクエストエポックREをそのまま用いて拒絶応答をする。これは、図8では、アイドル状態の円から出る矢印と、その矢印に付された、
N: R; REJECT(RE)
なる表記で示している。以下、同様に動作及び状態遷移が示される。
【0030】
そして、アイドル状態かつルーム・ノット・アベイラブルのときに最初の要求が来ると、CEをインクリメントし、CCに1をセットし、現在のCEを付して拒絶応答をするとともに、コレクト(collect) 状態に移行する。なお、コレクト状態は、CE=SE+1かつSC=0である状態をいう。
【0031】
ルーム・アベイラブル又はルーム・ノット・アベイラブルにかかわらず、コレクト状態にあるときに、最初の要求が来ると、ターゲットノードは、CCをインクリメントし、現在のCEを付して拒絶応答をする。また、コレクト状態かつルーム・ノット・アベイラブルのときにリトライ要求が来ると、ターゲットノードはリトライ要求に付されたリクエストエポックREをそのまま付して拒絶応答をする。また、コレクト状態かつルーム・アベイラブルのときに、現在のCEと等しくないREを付したリトライ要求が来ると、ターゲットノードは、そのREを付して拒絶応答をする。
【0032】
そして、コレクト状態かつルーム・アベイラブルのときに、現在のCEと等しいREを付したリトライ要求が来ると、ターゲットノードは、SEをインクリメントし、SCにCC−1をセットし、当該リトライ要求を受諾して、サービス状態に移行する。なお、サービス状態は、CE=SEかつSC>0の状態をいう。図8において、この動作は、コレクト状態の円から出る矢印と、その矢印に付された、
A: R(RE=CE); SE ← SE+1, SC ←CC-1, ACCEPT
なる表記で示される。
【0033】
サービス状態かつルーム・ノット・アベイラブルのときにリトライ要求が来ると、リトライ要求に付されたREを付して拒絶応答をする。また、サービス状態かつルーム・アベイラブルのときに、現在のSEと等しくないREを付したリトライ要求が来ると、ターゲットノードはそのREを付して拒絶応答をする。
【0034】
さらに、サービス状態かつルーム・アベイラブルのときに、現在のSEと等しいREを付したリトライ要求が来ると、ターゲットノードは、SCをデクリメントし、当該リトライ要求を受諾する。なお、SCのデクリメントによってSC=0になると、アイドル状態へと移行することとなる。
【0035】
そして、ルーム・アベイラブル又はルーム・ノット・アベイラブルにかかわらず、サービス状態にあるときに、最初の要求が来ると、CEをインクリメントし、CCに1をセットし、現在のCEを付して拒絶応答をするとともに、サービス及びコレクト(service & collect) 状態に移行する。サービス及びコレクト状態は、CE=SE+1かつSC>0の状態をいう。サービス及びコレクト状態では、ルーム・アベイラブルのときに現在のSEと等しくないREを付したリトライ要求が来ると、ターゲットノードはそのREを付して拒絶応答をする。また、ルーム・ノット・アベイラブルのときにリトライ要求が来ると、そのリトライ要求に付されたREを付して拒絶応答をする。
【0036】
また、サービス及びコレクト状態では、ルーム・アベイラブル又はルーム・ノット・アベイラブルにかかわらず、最初の要求が来ると、ターゲットノードは、CCをインクリメントし、現在のCEを付して拒絶応答をする。ルーム・アベイラブルのときに、現在のSEと等しいREを付したリトライ要求が来ると、ターゲットノードは、SCをデクリメントし、当該リトライ要求を受諾する。なお、SCのデクリメントによってSC=0になると、コレクト状態へと移行することとなる。
【0037】
以上の説明からわかるように、CEは、常に、SEと等しいか又はSEより1だけ進んだ値をとることとなる。CEがSEより1だけ進んだ値をとるコレクト状態又はサービス及びコレクト状態では、最初の要求を拒絶するとともに、その拒絶した要求の数がCCとしてカウントされる。また、SC>0となるサービス状態又はサービス及びコレクト状態では、カウント結果たるCCを初期値とするSCが、SEに等しいREを有するリトライ要求を受諾する度に、デクリメントされていく。そして、サービス及びコレクト状態では、SC=0となるまで、最初の要求は、現在のCEを付されて拒絶されていく。かくして、ターゲットノードは、以前に拒絶した要求を優先して処理していくこととなり、結果的にスタベーションが回避される。そして、エポックは、拒絶時期情報を示すパラメータとして機能している。
【0038】
さらに、本発明の理解を容易にするため、典型的な動作例を図9及び図10のシーケンスチャートに示す。まず、図9の例について説明する。コレクトエポックCE、コレクトカウンタCC、サービスエポックSE及びサービスカウンタSCが初期化処理により全て0にされ、ターゲットノードがアイドル状態(CE=SEかつSC=0)にあるときに、最初の要求に係るパケットF1、F2及びF3が送信されて来て、それらが全て受諾される。
【0039】
やがて、ターゲットノードにおいてルーム・ノット・アベイラブルとなり、最初の要求に係るパケットF4が来ると、CEがインクリメントされて1となり、CCに1がセットされるとともに、CE=1が付されて拒絶応答がなされる。その結果、ターゲットノードは、コレクト状態(CE=SE+1かつSC=0)に移行する。
【0040】
このコレクト状態において、更に最初の要求に係るパケットF5及びF6が来ると、やはりCE=1が付されて拒絶応答がなされるとともに、CCが、1から2へ、2から3へとインクリメントされる。また、先に拒絶した最初の要求に係るパケットF4に対応するリトライ要求に係るパケットR4(RE=1がセットされている)が来ると、そのREをそのまま付して拒絶応答がなされる。
【0041】
やがて、ターゲットノードはルーム・アベイラブルとなる。そして、先に拒絶したF5に対応するリトライ要求に係るパケットR5(RE=1)が来ると、SEがインクリメントされて1となり、SCにCC−1=3−1=2がセットされ、当該リトライ要求が受諾される。その結果、ターゲットノードは、サービス状態(CE=SEかつSC>0)に移行する。
【0042】
このサービス状態において、更に先に拒絶したF4に対応するリトライ要求に係るパケットR4(RE=1)が来ると、当該リトライ要求が受諾されるとともに、SCがデクリメントされて1になる。次いで、同様に、更に先に拒絶したF6に対応するリトライ要求に係るパケットR6(RE=1)が来ると、当該リトライ要求が受諾されるとともに、SCがデクリメントされて0になる。その結果、ターゲットノードは、アイドル状態(CE=SEかつSC=0)に戻る。
【0043】
次に、図10のシーケンスチャートについて説明する。この例において、アイドル状態からコレクト状態、そしてサービス状態へと状態が変化していく様子は、図9の例と同様である。そして、この例では、サービス状態において、最初の要求に係るパケットF7が来たため、CEがインクリメントされて2となり、CCに1がセットされ、CE=2が付されてその要求が拒絶される。そして、ターゲットノードは、サービス及びコレクト状態(CE=SE+1かつSC>0)に移行する。
【0044】
このサービス及びコレクト状態では、現在のSE=1に等しいREを付したリトライ要求が受諾されてSCがデクリメントされる一方、最初の要求はCE=2を付されて拒絶される。そして、SC=0になると、ターゲットノードはコレクト状態(CE=SE+1かつSC=0)に移行する。その後の動作については、もはや説明は不要であろう。こうして、ターゲットノードは、4つの状態間を遷移することとなる。
【0045】
さて、以上の説明によれば、必ず、先に拒絶した要求に対応するリトライ要求を全て受諾してから、即ちSC=0になってから、最初の要求が受諾されるようになっており、かかる場合にはエポックは1ビットで足りる。しかし、システムによっては、何らかの理由でリトライ要求がされない事態が想定される。そのような事態においては、SC=0とならないために処理が先に進まなくなってしまう。
【0046】
そこで、SC=0になるまでの時間を監視するタイムアウト処理を設け、一定時間が経過したならば、強制的にSCに0をセットして処理を先に進ませることが有効である。そして、そのようなタイムアウト処理を設ける場合には、エポックを複数ビットで構成することが有意義となってくる。エポックが複数ビットを有していれば、リトライ要求が来たときに、いずれの時期に拒絶したものであるかを特定することができ、それに応じて適切な処理を施すことが可能となるからである。
【0047】
以上、本発明を特にその好ましい実施の形態を参照して詳細に説明した。本発明の容易な理解のため、本発明の具体的な形態を以下に付記する。
【0048】
(付記1) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、
ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答するオペレーションと、
ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾するオペレーションと、
ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答するオペレーションと、
を具備する方法。
【0049】
(付記2) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、
(a) サービス可能な状態にあるターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求を受諾するオペレーションと、
(b) サービス不能な状態に移行したターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求に対し、少なくとも1ビットの拒絶時期情報を付して拒絶応答するオペレーションと、
(c) サービス可能な状態に復帰したターゲットノードにおいて、リトライ要求が受信されたとき、該リトライ要求に付された拒絶時期情報に応じて該リトライ要求を受諾するオペレーションと、
(d) サービス可能な状態にあるターゲットノードにおいて、リトライ要求に対してはオペレーション(c) と同様に処理する一方、最初の要求に対しては拒絶時期情報を付して拒絶応答するオペレーションと、
を具備する方法。
【0050】
(付記3) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、
(a) ターゲットノードにおいて、少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ、0に初期化するオペレーションと、
(b) イニシエータノードからターゲットノードへ最初の要求を送信するオペレーションと、
(c) ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾するオペレーションと、
(d) ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答するオペレーションと、
(e) ターゲットノードにおいて、最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答するオペレーションと、
(f) 拒絶応答を受信したイニシエータノードからターゲットノードへ、該拒絶応答に付されたCEの値と等しい値の第5のパラメータREを付してリトライ要求を送信するオペレーションと、
(g) ターゲットノードにおいて、リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾するオペレーションと、
(h) ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾するオペレーションと、
(i) ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾するオペレーションと、
(j) ターゲットノードにおいて、リトライ要求が受信されたとき、オペレーション(g) 、(i) 及び(j) のいずれの実行条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答するオペレーションと、
を具備する方法。
【0051】
(付記4) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにターゲットノードにて実行される方法であって、
(a) 少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ0に初期化するオペレーションと、
(b) 最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾するオペレーションと、
(c) 最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答するオペレーションと、
(d) 最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答するオペレーションと、
(e) リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾するオペレーションと、
(f) リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾するオペレーションと、
(g) リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾するオペレーションと、
(h) リトライ要求が受信されたとき、オペレーション(e) 、(f) 及び(g) のいずれの実行条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答するオペレーションと、
を具備する方法。
【0052】
(付記5) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにイニシエータノードにて実行される方法であって、
(a) ターゲットノードへ最初の要求を送信するオペレーションと、
(b) 最初の要求に対する拒絶応答を受信したとき、該拒絶応答に付された拒絶時期情報のパラメータの値と等しい値のパラメータを付してリトライ要求を送信するオペレーションと、
を具備する方法。
【0053】
(付記6) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置であって、
ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答する手段と、
ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾する手段と、
ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答する手段と、
を具備する装置。
【0054】
(付記7) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置であって、
サービス可能な状態にあるターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求を受諾する第1手段と、
サービス不能な状態に移行したターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求に対し、少なくとも1ビットの拒絶時期情報を付して拒絶応答する第2手段と、
サービス可能な状態に復帰したターゲットノードにおいて、リトライ要求が受信されたとき、該リトライ要求に付された拒絶時期情報に応じて該リトライ要求を受諾する第3手段と、
サービス可能な状態にあるターゲットノードにおいて、リトライ要求に対しては第3手段と同様に処理する一方、最初の要求に対しては拒絶時期情報を付して拒絶応答する第4手段と、
を具備する装置。
【0055】
(付記8) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置であって、
ターゲットノードにおいて、少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ、0に初期化する第1手段と、
イニシエータノードからターゲットノードへ最初の要求を送信する第2手段と、
ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾する第3手段と、
ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答する第4手段と、
ターゲットノードにおいて、最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答する第5手段と、
拒絶応答を受信したイニシエータノードからターゲットノードへ、該拒絶応答に付されたCEの値と等しい値の第5のパラメータREを付してリトライ要求を送信する第6手段と、
ターゲットノードにおいて、リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾する第7手段と、ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾する第8手段と、
ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾する第9手段と、
ターゲットノードにおいて、リトライ要求が受信されたとき、第7手段、第8手段及び第9手段におけるいずれの動作条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答する第10手段と、
を具備する装置。
【0056】
(付記9) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにターゲットノードにおいて実装される装置であって、
少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ0に初期化する第1手段と、
最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾する第2手段と、
最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答する第3手段と、
最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答する第4手段と、
リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾する第5手段と、
リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾する第6手段と、
リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾する第7手段と、
リトライ要求が受信されたとき、第5手段、第6手段及び第7手段におけるいずれの動作条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答する第8手段と、
を具備する装置。
【0057】
(付記10) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにイニシエータノードに実装される装置であって、
ターゲットノードへ最初の要求を送信する手段と、
最初の要求に対する拒絶応答を受信したとき、該拒絶応答に付された拒絶時期情報のパラメータの値と等しい値のパラメータを付してリトライ要求を送信する手段と、
を具備する装置。
【0058】
(付記11) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置によって読み取り可能な記録媒体であって、
ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答する機能と、
ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾する機能と、
ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答する機能と、
を実現させるプログラムを格納する記録媒体。
【0059】
(付記12) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置によって読み取り可能な記録媒体であって、
サービス可能な状態にあるターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求を受諾する第1機能と、
サービス不能な状態に移行したターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求に対し、少なくとも1ビットの拒絶時期情報を付して拒絶応答する第2機能と、
サービス可能な状態に復帰したターゲットノードにおいて、リトライ要求が受信されたとき、該リトライ要求に付された拒絶時期情報に応じて該リトライ要求を受諾する第3機能と、
サービス可能な状態にあるターゲットノードにおいて、リトライ要求に対しては第3機能と同様に処理する一方、最初の要求に対しては拒絶時期情報を付して拒絶応答する第4機能と、
を実現させるプログラムを格納する記録媒体。
【0060】
(付記13) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置によって読み取り可能な記録媒体であって、
ターゲットノードにおいて、少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ、0に初期化する第1機能と、
イニシエータノードからターゲットノードへ最初の要求を送信する第2機能と、
ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾する第3機能と、
ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答する第4機能と、
ターゲットノードにおいて、最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答する第5機能と、
拒絶応答を受信したイニシエータノードからターゲットノードへ、該拒絶応答に付されたCEの値と等しい値の第5のパラメータREを付してリトライ要求を送信する第6機能と、
ターゲットノードにおいて、リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾する第7機能と、
ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾する第8機能と、
ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾する第9機能と、
ターゲットノードにおいて、リトライ要求が受信されたとき、第7機能、第8機能及び第9機能におけるいずれの動作条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答する第10機能と、
を実現させるプログラムを格納する記録媒体。
【0061】
(付記14) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおけるターゲットノードによって読み取り可能な記録媒体であって、
少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ0に初期化する第1機能と、
最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾する第2機能と、
最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答する第3機能と、
最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答する第4機能と、
リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾する第5機能と、
リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾する第6機能と、
リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾する第7機能と、
リトライ要求が受信されたとき、第5機能、第6機能及び第7機能におけるいずれの動作条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答する第8機能と、
を実現させるスタベーション回避用プログラムを格納する記録媒体。
【0062】
(付記15) サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおけるイニシエータノードによって読み取り可能な記録媒体であって、
ターゲットノードへ最初の要求を送信する機能と、
最初の要求に対する拒絶応答を受信したとき、該拒絶応答に付された拒絶時期情報のパラメータの値と等しい値のパラメータを付してリトライ要求を送信する機能と、
を実現させるスタベーション回避用プログラムを格納する記録媒体。
【0063】
【発明の効果】
以上説明したように、本発明によれば、コンピュータネットワークにおけるスタベーションを回避する方法及び装置であってスタベーション回避のためにパケット内に設ける必要のあるフィールドのビット数を最小限に抑えることができるものが提供される。
【図面の簡単な説明】
【図1】図1は、本発明が適用され得るコンピュータネットワークの一例を示す図である。
【図2】図2は、本発明を実施するターゲットノードのハードウェア構成の一例を示す図である。
【図3】図3は、イニシエータノードからターゲットノードへ送信される要求パケットのフォーマットを示す図である。
【図4】図4は、ターゲットノードからイニシエータノードに送信される応答パケットのフォーマットを示す図である。
【図5】図5は、ターゲットノードにおいて要求の受信時に実行される処理の手順を示すフローチャート(1/2)である。
【図6】図6は、ターゲットノードにおいて要求の受信時に実行される処理の手順を示すフローチャート(2/2)である。
【図7】図7は、イニシエータノードにおいて応答パケットの受信時に実行される処理の手順を示すフローチャートである。
【図8】図8は、ターゲットノードの各状態、動作及び状態遷移を示す図である。
【図9】図9は、典型的な動作の一例を示すシーケンスチャートである。
【図10】図10は、典型的な動作の他の例を示すシーケンスチャートである。
【符号の説明】
10…コンピュータネットワーク
12…ターゲットノード
14…イニシエータノード
20…中央処理装置(CPU)
22…メモリ
24…ネットワークインタフェースユニット
Claims (10)
- サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、
ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答するオペレーションと、
ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾するオペレーションと、
ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答するオペレーションと、
を具備する方法。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、
(a) サービス可能な状態にあるターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求を受諾するオペレーションと、
(b) サービス不能な状態に移行したターゲットノードにおいて、最初の要求が受信されたとき、該最初の要求に対し、少なくとも1ビットの拒絶時期情報を付して拒絶応答するオペレーションと、
(c) サービス可能な状態に復帰したターゲットノードにおいて、リトライ要求が受信されたとき、該リトライ要求に付された拒絶時期情報に応じて該リトライ要求を受諾するオペレーションと、
(d) サービス可能な状態にあるターゲットノードにおいて、リトライ要求に対してはオペレーション(c) と同様に処理する一方、最初の要求に対しては拒絶時期情報を付して拒絶応答するオペレーションと、
を具備する方法。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する方法であって、
(a) ターゲットノードにおいて、少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ、0に初期化するオペレーションと、
(b) イニシエータノードからターゲットノードへ最初の要求を送信するオペレーションと、
(c) ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾するオペレーションと、
(d) ターゲットノードにおいて、最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答するオペレーションと、
(e) ターゲットノードにおいて、最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答するオペレーションと、
(f) 拒絶応答を受信したイニシエータノードからターゲットノードへ、該拒絶応答に付されたCEの値と等しい値の第5のパラメータREを付してリトライ要求を送信するオペレーションと、
(g) ターゲットノードにおいて、リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾するオペレーションと、
(h) ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾するオペレーションと、
(i) ターゲットノードにおいて、リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾するオペレーションと、
(j) ターゲットノードにおいて、リトライ要求が受信されたとき、オペレーション(g) 、(i) 及び(j) のいずれの実行条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答するオペレーションと、
を具備する方法。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにターゲットノードにて実行される方法であって、
(a) 少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ0に初期化するオペレーションと、
(b) 最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾するオペレーションと、
(c) 最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答するオペレーションと、
(d) 最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答するオペレーションと、
(e) リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾するオペレーションと、
(f) リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾するオペレーションと、
(g) リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾するオペレーションと、
(h) リトライ要求が受信されたとき、オペレーション(e) 、(f) 及び(g) のいずれの実行条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答するオペレーションと、
を具備する方法。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにイニシエータノードにて実行される方法であって、
(a) ターゲットノードへ最初の要求を送信するオペレーションと、
(b) 最初の要求に対する拒絶応答を受信したとき、該拒絶応答に付された拒絶時期情報のパラメータの値と等しい値のパラメータを付してリトライ要求を送信するオペレーションと、
を具備する方法。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置であって、
ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答する手段と、
ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾する手段と、
ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答する手段と、
を具備する装置。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにターゲットノードにおいて実装される装置であって、
少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ0に初期化する第1手段と、
最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾する第2手段と、
最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答する第3手段と、
最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答する第4手段と、
リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾する第5手段と、
リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾する第6手段と、
リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾する第7手段と、
リトライ要求が受信されたとき、第5手段、第6手段及び第7手段におけるいずれの動作条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答する第8手段と、
を具備する装置。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避するためにイニシエータノードに実装される装置であって、
ターゲットノードへ最初の要求を送信する手段と、
最初の要求に対する拒絶応答を受信したとき、該拒絶応答に付された拒絶時期情報のパラメータの値と等しい値のパラメータを付してリトライ要求を送信する手段と、
を具備する装置。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおいて、イニシエータノードのスタベーションを回避する装置によって読み取り可能な記録媒体であって、
ターゲットノードがサービス不能な期間にあるとき、イニシエータノードからの要求に対し、該期間に応じた拒絶時期情報を付して拒絶応答する機能と、
ターゲットノードがサービス可能な状態にあるとき、より古い拒絶時期情報を伴うリトライ要求を優先的に受諾する機能と、
ターゲットノードがサービス可能な状態にあるとき、先に拒絶した全ての要求に対するリトライ要求を受諾する前には、最初の要求に対し、新たな拒絶時期情報を付して拒絶応答する機能と、
を実現させるプログラムを格納する記録媒体。 - サービスを提供する少なくとも1つのターゲットノード及び該ターゲットノードに対しサービスを要求する複数のイニシエータノードが接続されるコンピュータネットワークにおけるターゲットノードによって読み取り可能な記録媒体であって、
少なくとも1ビットの第1のパラメータCE、前記第1のパラメータと等しいビット数の第2のパラメータSE、前記複数のイニシエータノードの数に応じて決定されるビット数の第3のパラメータCC及び前記第3のパラメータと等しいビット数の第4のパラメータSCを、それぞれ0に初期化する第1機能と、
最初の要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該最初の要求を受諾する第2機能と、
最初の要求が受信されたとき、CE=SE及びSC>0であれば、又はCE=SE及びサービス提供不能であれば、CEをインクリメントし、CCに1をセットし、及び該最初の要求に対しCEの値を付して拒絶応答する第3機能と、
最初の要求が受信されたとき、CE≠SEであれば、CCをインクリメントし、及びCEの値を付して拒絶応答する第4機能と、
リトライ要求が受信されたとき、CE=SE、SC=0及びサービス提供可能であれば、該リトライ要求を受諾する第5機能と、
リトライ要求が受信されたとき、RE=SE+1、SC=0及びサービス提供可能であれば、SEをインクリメントし、SCにCC−1をセットし、及び該リトライ要求を受諾する第6機能と、
リトライ要求が受信されたとき、RE=SE、SC>0及びサービス提供可能であれば、SCをデクリメントし、及び該リトライ要求を受諾する第7機能と、
リトライ要求が受信されたとき、第5機能、第6機能及び第7機能におけるいずれの動作条件も満足されなければ、該リトライ要求に対しREの値を付して拒絶応答する第8機能と、
を実現させるスタベーション回避用プログラムを格納する記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/653,154 US6799219B1 (en) | 2000-08-31 | 2000-08-31 | Method and apparatus for avoiding starvation in computer network |
US09/653154 | 2000-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002141918A JP2002141918A (ja) | 2002-05-17 |
JP3759708B2 true JP3759708B2 (ja) | 2006-03-29 |
Family
ID=24619701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001264365A Expired - Fee Related JP3759708B2 (ja) | 2000-08-31 | 2001-08-31 | コンピュータネットワークにおけるスタベーションを回避する方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6799219B1 (ja) |
JP (1) | JP3759708B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097302A9 (en) * | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
US20060008256A1 (en) * | 2003-10-01 | 2006-01-12 | Khedouri Robert K | Audio visual player apparatus and system and method of content distribution using the same |
US8843630B1 (en) * | 2008-08-27 | 2014-09-23 | Amazon Technologies, Inc. | Decentralized request routing |
US8850095B2 (en) | 2011-02-08 | 2014-09-30 | International Business Machines Corporation | Livelock prevention mechanism in a ring shaped interconnect utilizing round robin sampling |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4754484A (en) | 1986-08-21 | 1988-06-28 | Acs Communications, Inc. | Convertible handset/headset for telephone |
US4882745A (en) | 1987-05-08 | 1989-11-21 | Silver Alan H | Cordless headset telephone |
US5117465A (en) | 1991-03-15 | 1992-05-26 | Unex Corporation | Earphone with adjustable headband with progressively shallow detents |
US5381486A (en) | 1992-07-08 | 1995-01-10 | Acs Communications, Inc. | Communications headset having a universal joint-mounted microphone boom |
US5369857A (en) | 1992-12-08 | 1994-12-06 | Hello Direct | Method of making a telephone headset |
USD361066S (en) | 1994-06-02 | 1995-08-08 | Gn Netcom, Inc. | Headset |
EP0813709B1 (en) * | 1995-03-03 | 2007-10-17 | Fujitsu Limited | Parallel access micro-tlb to speed up address translation |
US5961623A (en) * | 1996-08-29 | 1999-10-05 | Apple Computer, Inc. | Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system |
US6108713A (en) * | 1997-02-11 | 2000-08-22 | Xaqti Corporation | Media access control architectures and network management systems |
US6205119B1 (en) * | 1997-09-16 | 2001-03-20 | Silicon Graphics, Inc. | Adaptive bandwidth sharing |
JP4719957B2 (ja) * | 2000-05-24 | 2011-07-06 | 株式会社日立製作所 | 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法 |
US6647453B1 (en) * | 2000-08-31 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | System and method for providing forward progress and avoiding starvation and livelock in a multiprocessor computer system |
US6487643B1 (en) * | 2000-09-29 | 2002-11-26 | Intel Corporation | Method and apparatus for preventing starvation in a multi-node architecture |
-
2000
- 2000-08-31 US US09/653,154 patent/US6799219B1/en not_active Expired - Lifetime
-
2001
- 2001-08-31 JP JP2001264365A patent/JP3759708B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002141918A (ja) | 2002-05-17 |
US6799219B1 (en) | 2004-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6138185A (en) | High performance crossbar switch | |
US6810452B1 (en) | Method and system for quarantine during bus topology configuration | |
CN100367728C (zh) | 用于在通信环上同时管理多个令牌的方法和系统 | |
US20040023616A1 (en) | Method for connecting an ieee1394 remote device to a cluster of ieee1394 devices through a wireless link | |
US6374316B1 (en) | Method and system for circumscribing a topology to form ring structures | |
KR100232237B1 (ko) | 근거리 통신망 인터페이스 장치 및 방법 | |
JP2633900B2 (ja) | 共通バス制御方法 | |
JP4820940B2 (ja) | ポート群を動的に専用化するプロセッサ間通信ネットワーク | |
JP3782350B2 (ja) | ファイバーチャネルアービトレーテッドループの可変アクセス公平性 | |
US6647446B1 (en) | Method and system for using a new bus identifier resulting from a bus topology change | |
JP3759708B2 (ja) | コンピュータネットワークにおけるスタベーションを回避する方法及び装置 | |
US6751697B1 (en) | Method and system for a multi-phase net refresh on a bus bridge interconnect | |
JPH02228854A (ja) | データ通信システムおよびデータ通信方法 | |
US6584539B1 (en) | Method and system for message broadcast flow control on a bus bridge interconnect | |
JPH07297853A (ja) | 拡張可能なラウンドロビンローカルエリアハブネットワーク | |
CN115189977B (zh) | 一种基于axi协议的广播传输方法、系统及介质 | |
JP3275954B2 (ja) | サーバ多重化におけるサーバ登録方法 | |
JP2002217908A (ja) | データ伝送システム、コネクション回復方法及び情報伝送装置 | |
JP2002217907A (ja) | データ伝送システム、コネクション確立方法及び情報伝送装置 | |
WO2000057263A1 (en) | A method and system for a multi-phase net refresh on a bus bridge interconnect | |
JP4143881B2 (ja) | ネットワークシステム | |
JP3512164B2 (ja) | 通信ノードおよびネットワークシステム、並びにネットワークシステムの制御方法 | |
JP2928882B1 (ja) | ローカルエリアネットワークの帯域制御方式 | |
JP3223352B2 (ja) | ローカルエリアネットワークの帯域制御方式 | |
JPH11215132A (ja) | 情報処理装置および方法、並びに提供媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060104 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3759708 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130113 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130113 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140113 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |