JP2536978B2 - デフ・ノ―ドのために好適な共有型ア―ビトレ―ション装置および方法 - Google Patents

デフ・ノ―ドのために好適な共有型ア―ビトレ―ション装置および方法

Info

Publication number
JP2536978B2
JP2536978B2 JP3161806A JP16180691A JP2536978B2 JP 2536978 B2 JP2536978 B2 JP 2536978B2 JP 3161806 A JP3161806 A JP 3161806A JP 16180691 A JP16180691 A JP 16180691A JP 2536978 B2 JP2536978 B2 JP 2536978B2
Authority
JP
Japan
Prior art keywords
node
arbitration
nodes
bus
quiet
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 - Lifetime
Application number
JP3161806A
Other languages
English (en)
Other versions
JPH04280348A (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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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
Priority claimed from US07/547,569 external-priority patent/US5230044A/en
Priority claimed from US07/547,571 external-priority patent/US5239630A/en
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH04280348A publication Critical patent/JPH04280348A/ja
Application granted granted Critical
Publication of JP2536978B2 publication Critical patent/JP2536978B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一本のバスを介して通信
を行うノードを有するコンピュータ・システム、特にど
のノードが次にバス上に送信を行うのかを決定するアー
ビトレーション装置に関するものである。
【0002】
【従来の技術】一つのコンピュータ・システムは一本の
バスを介して相互に通信を行う多数のノードを備え得
る。このノードは個別のコンピュータであったり、大容
量記憶装置のためのコントローラであったり、他のコン
ピュータ装置であったりする。そのようなシステム構成
において発生する問題はどのノードが次にバス上に送信
するかを決定するという問題である。たとえば、第一の
ノードがバス上に現在、メッセージを送信しているとす
る。この送信が終わると、送信開始を、要求するいくつ
かのノードが存在し得る。たとえば第一のノードが送信
を完了したとき、一つ以上のノードが同時に送信を開始
すると、データの衝突が発生するだろう。共有化された
マルチプル・アクセス・バス上に次にどのノードが送信
するかを決定する問題は“アービトレーション(arb
itration−調停)問題”と呼ばれる。
【0003】アービトレーション問題に対する解決法は
少なくとも三つの要件を満足しなければならない。第一
の要件は調停が実質的にデータの衝突を防止しなければ
ならないことである。第二の要件は調停が“公平”でな
ければならず、それは各ノードがそのノードで発生する
メッセージの伝送のために、バスへのアクセス権を得る
機会が均等でなければならないということを意味する。
そして、第三の要件は調停による解決法が“効率的”で
なければならず、それは調停に費やされる時間がバスの
有効なバンド幅を減らすこととなるので、調停に費やさ
れる時間は最少にされるべきである。
【0004】共有化された一本のバスのための調停問題
に対する解決法は1985年12月24日にストレッカ
ー(Strecker)、ブジンスキー(Buzyns
ki)、トンプソン(Thompson)に発行され
た、“Dual−Count,Round−Robin
Distributed ArbitrationT
echnique for Serial Buse
”と題する、米国特許第4,560,985の中で
述べられている(以下本特許を“ストレッカーら”の特
許と称する)。
【0005】ストレッカーらの特許により開示された、
調停問題に対する解決法は実質的に共有バス上へのデー
タ伝送の衝突を防止しており、それは公平なものであ
る。ストレッカーらの特許に開示された解決法はバスが
使用されているか、いないかを決定するために、各ノー
ドがキャリア信号を求めてバスを監視することを必要と
する。キャリア信号なければ他のノードがバス上にメ
ッセージを送信していないことを示し、従って、そのバ
スは使用されていないことを示している。バスが使用さ
れていないことが検出されると、すなわちバス上でキャ
リア信号が検出されないと、各ノードは一連の所定時間
間隔の計数を開始する。この所定の時間間隔は“クワイ
エット・スロット(quiet slot)”と称され
る。クワイエット・スロットの時間の長さはインターフ
ェース電子機器の速度およびバス上での信号の伝幡の最
大時間により決定される。バス上にキャリアがないこと
が検出されると、バスにアクセスを要求するノードは所
定数のクワイエット・スロットの間、待機する。別のノ
ードのキャリアが検出されることなく、所定数のクワイ
エット・スロット経過すればそのアクセスを要求して
いるノードは送信を開始する。各ノードについて、所定
のクワイエット・スロットの数の二つの値が設けられて
おり、一つはハイ・スロット・カウントダウン(hig
h slotcountdown)数(以下、低い優先
順位という)であり、もう一つはロースロット・カウン
トダウン(low slot countdown)数
(以下、高い優先順位という)である。各ノードには一
義的な“ノード番号”が割り付けられている。
【0006】ロー・カウントダウン数はN+1個のクワ
イエット・スロットである。なお,Nはノードの数であ
る。ハイ・スロット・カウントダウン数はN+M+1個
のクワイエット・スロットである。なお、Mはバスに接
続されるノードの最大数である。始めにあるノードが調
停を開始する時、それはクワイエット・スロットのハイ
・カウント数であるN+M+1個のクワイエット・スロ
ットを計数する。このカウントダウンが調停を獲得した
別のノード、すなわち、キャリアを検出したノードによ
り邪魔されると、そのあるノードは調停を獲得したノー
(以下、単に「獲得ノード」と呼ぶ)のノード番号を
決定する。その獲得ノードがそのあるノードより高いノ
ード番号ともっている時、そのあるノードはN+M+1
のカウントダウン値を維持する。獲得したノードが低い
ノード番号を有しているならば、そのあるノードはバス
が再び使用可能となった時にN+1のカウントダウン値
に変更する。この調停の結果として、いくつかのノード
がバスを求めて競合するときに、最も低いカウントダウ
ン値を有するノードがバスを獲得する。
【0007】各ノードがバスを獲得するときに、Mの数
そのカウントダウンの値に加算される。そして、次の
メッセージ伝送のために再びバスを獲得するために、そ
れはN+M+1個のクワイエット・スロットをカウント
ダウンしなければならない。このように、競合するノー
ドのそれぞれは最も低い番号のノードから始まり、最も
高いものへ行って、バスに対する自分の番を有すること
になる。
【0008】ストレッカーらの特許により開示されたア
ービトレーション装置はバスに対するアクセスを要求す
る異なるノードの送信において、データの衝突を実質的
に防ぐと共に、全てのノードについてバスに対して実質
的に公平なアクセスをもたらす。
【0009】
【発明が解決しようとする課題】しかしながら、ストレ
ッカーらの特許により示された装置はバンド幅の利用に
おいて不十分な物である。バンド幅の不十分な利用が特
に問題となるいくつかの状況がおこる。そのような状況
の一つは複数のノードによる多くの短いメッセージの伝
送である。メッセージを運ぶバスによって費やされる時
間はクワイエット・スロットを計数するのに費やされる
時間に比べて、小さいものである。バンド幅の不十分な
利用となる別の状況はある特定のノードがとても長いメ
ッセージを伝送することを要求し、そのメッセージの長
さがバス・プロトコルにより許容される最大長を越え、
他のノードがバス上への送信を要求できない場合であ
る。バス・プロトコによればその長いメッセージを送
信することを要求するノードは一連のより短いメッセー
ジ伝送となるようそのメッセージを分断しなければなら
ない。この状況において、そのノードはある送信の終わ
りとその次の送信の始まりとの間のN+M+1のクワイ
エット・スロットの数を計数しなければならない。ノー
ドに、この数のクワイエット・スロットを計数すること
を要求することは過度の時間の間、バスをアイドル状態
にしたままとなり、これにより不必要にバスの利用可能
なバンド幅を減らすこととなる。
【0010】
【課題を解決するための手段】バスのバンド幅を有効利
用するように、調停のために、短い時間のみ使うことに
より公平な調停をする装置をもたらすという課題は、本
発明により解決される。本発明は、共有された一本のバ
スによって通信を行なう複数の通信ノードを備えたタイ
プのコンピュータ・ネットワークのための改善されたア
ービトレーション装置であって、前記ノードは前記バス
上のキャリア信号を監視しており、前記キャリア信号の
存在は他のノードが前記バス上で送信を行っていること
を示すものであり、前記ノードにはユニークな初期アー
ビトレーション・カウント数が割り当てられている、ア
ービトレーション装置において、前記アービトレーショ
ン装置は各ノード内に位置し、前記アービトレーション
装置が、前記バス上に前記キャリア信号が存在しないこ
とに応じて、前記複数のノードの各々について所定時間
間隔(以下、クワイエット・スロットと称す)の数を計
数し、前記ノードの各々に関して計数されたクワイエッ
ト・スロットの数を前記ノードの各々の前記アービトレ
ーション・カウント数と比較する手段と、前記計数され
たクワイエット・スロットの数が前記アービトレーショ
ン・カウント数に等しいことに応じて、前記ノードの各
々に関して前記ノードが送信要求を有しているかどうか
を決定し、前記送信要求が存在している場合には前記バ
ス上におけるメッセージの送信を開始する手段と、前記
各ノードにあって、計数されたクワイエット・スロット
の数がそのアービトレーション・カウント数と等しくな
る前におけるキャリア信 号の存在に応じて、前記複数の
ノードの各ノードの前記アービトレーション・カウント
数を変更する手段と、を備えたアービトレーション装置
である。 また、本発明は、一本のバスを共有する複数の
ノードを備えたコンピュータシステムのノードに関して
アービトレート(調停)を行なう方法であって、前記各
ノードにはユニークな初期アービトレーション・カウン
ト数が割り当てられており、前記各ノードは前記バス上
のキャリア信号を検知しており、前記キャリア信号の存
在は他のノードが前記バス上で送信を行っていることを
示しているような、方法において、該方法が、前記各ノ
ードにおいて、前記バス上に前記キャリア信号が存在し
ないことに応じて、所定時間間隔(以下、クワイエット
・スロットと呼ぶ)の数を計数する段階と、前記各ノー
ドにおいて、計数されたクワイエット・スロットの数
を、前記ノードの前記アービトレーション・カウント数
と比較する段階と、前記各ノードにおいて、前記計数さ
れたクワイエット・スロットの数が、アービトレーショ
ン・カウント数と等しいことに応じて、前記ノードが送
信するメッセージを有しているかどうかを検知し、前記
メッセージが存在する場合には前記バス上で送信を開始
する段階と、計数されたクワイエット・スロットの数が
そのアービトレーション・カウント数と等しくなる前に
おけるキャリア信号の存在に応じて、前記複数のノード
の各ノードの前記アービトレーション・カウント数を変
更する段階と、を備えたことを特徴とする方法である。
【0011】
【実施例】本発明の詳細は添付の図面に関連して説明さ
れる、以下のより好ましい実施例により理解されるであ
ろう。図1は一本のバス100およびノード110A、
110B乃至110Nを備えたコンピュータ・システム
20の論理ブロック図である。ノード110A、・・・
110Nはバス100上を伝送される通信信号により通
信を行う。
【0012】図2はコンピュータ・システム20および
バス100の物理的なブロック図である。接続線100
A、100B、乃至100Nはそれらにつながれたノー
ドをスター・カプラ120に接続する。スター・カプラ
は接続線100A、・・・100Nの間で通信のための
相互接続をもたらし、これにより、通信を行うためのノ
ード110A、・・・100Nのための通信路が形成さ
れる。例えば、バス100は電気的同軸ケーブルであ
り、スター・カプラ120は同軸ケーブルを相互接続す
るためのインピーダンス・マッチング・ネットワークで
ある。
【0013】第一のノード、例えばノード110Aが別
のノード、例えばノード110Bにメッセージを送信す
ることを望むならば、ノード110Aはバス10に接続
された全てのノードにバス100を介してそのメッセー
ジを送信する。そのメッセージはノード110Bのみが
識別するアドレスを含んでいる。従って、ノード110
Bはそのメッセージを受けるよう、それ自身内部調整を
行う。他のノードはそのノードで採用されたプロトコル
に従い、そのメッセージの全て、若しくは、そのメッセ
ージの部分を受信するようにしてもよい。
【0014】ノード間の通信における問題は全てのノー
ドが同一のバス100上に送信を行うことであり、よっ
て、二つのノードが同時に送信を開始すると、その送信
はバス上でごちゃごちゃになってしまうであろう。二つ
のノードがメッセージを同時に送信するとき、データの
“衝突”が発生する。バスのための調停のプロセスがバ
ス上でのデータの衝突を処理するために取り入れられな
ければならない。
【0015】このデータ衝突の問題に対する共通の解決
策、それはイーサネット(ETHERNET)通信路の
ために取り入れられてきたものであるが、は各ノードが
送信を開始する前に“キャリア”信号をバス上で検出す
ることである。イーサネット・プロトコルについてはI
EEE標準規格802・3およびISO CSMA/C
D標準規格(キャリア・センス・マルチプル・アクセス
/衝突検出のためのCSMA/CD標準規格)の中で規
定されている。
【0016】イーサネット・プロトコルの下では、ノー
ドはバス上にキャリアがないことを見つけると、送信を
開始する。また、イーサネット・プロトコルの下では、
ノードが別のノードのキャリアをバス上で検出したと
き、多くの方策がバス上でのデータの衝突および渋帯を
低減するために取り入れられるかもしれない。例えば、
あるノードはバス上にキャリアが存在しないことを検知
すると、即座に送信を開始することができる。また、
ノードはまず、バス上にキャリアが存在しないことを
検出した後、送信を開始する前にランダムな時間待機す
ることができる。しかしながらこれらの解決策によると
二つのノードが実質的に同時にバスを調べ、他方のノー
ドが送信していることがわからずに、実質的に同時にメ
ッセージ送信を開始するかもしれない。しかしながら、
ノードはデータの衝突が発生しているという事実を検出
することはできる。ノードはデータの衝突が発生してい
ることを検出した後、そのノードは採用された所定のプ
ロトコルに従い、修正の動作を行う。例えばデータの衝
突を検出した後、ノードはエクスポネンシャル・バック
オフ(exponential backoff)プロ
トコルを用いることができる。このエクスポネンシャル
・バックオフ・プロトコルにおいては、ノードはデータ
衝突により破壊されたメッセージの再送信を試みる前
に、ランダムな時間、待機する。そして、第二のデータ
衝突が発生すると、そのノードはその選ばれたランダム
時間の時間間隔を倍にする。引き続き衝突が発生する
と、そのノードはデータの衝突が発生しなくなるまで、
その選ばれたランダム時間の時間間隔を倍にし続ける。
【0017】本発明はノードがかなり小さい発生確率の
データ衝突によりバス100上で通信を行うことができ
る調停方法である。図3は本発明を示すフロー図であ
る。各ノードには文字Iにより表わされるノード番号が
割り当てられている。さらに各ノードにはユニークなア
ービトレーション・カウント数C(I)が割り当てられ
ており、この(I)はそのアービトレーション・カウン
ト数番号がIのノードに割り当てられていることを示
している。
【0018】バス100およびノード110A、110
B、・・・110Nを含むコンピュータ・システムは動
作開始の前に初期化されなければならない。この初期化
のときに、ノードにはそれぞれ、初期アービトレーショ
ン・カウント数C(I)が割り当てられる。図3に示さ
れるように、初期化時に、システムは開始ブロック12
0の所で動作を開始する。システムは即座に初期化ブロ
ック130へ進み、そこでは各ノードに対するアービト
レーション・カウント数C(I)初期値としてI+1
の値が割り当てられる。すなわち、ノードNo.1には
アービトレーション・カウント数2が割り当てられ、ノ
ードNo.2にはアービトレーション・カウント数3が
割り当てられるという具合である。
【0019】そして、ノードはブロック135へ進み、
そこでは“クワイエット・スロット”のカウンタKの値
が初期値として0にセットされる。Kはバス上でキャリ
アが最後に検出されたときから経過したクワイエット・
スロットの数の値を保持するだろう。クワイエット・ス
ロットはあらかじめ定められた時間の長さである。ノー
ドは送信開始ができるようになる前に、そのノードのア
ービトレーション・カウント数に等しいクワイエット・
スロットの数を計数することが要求される。この計数が
そのノードが他のノードからのキャリアを検出すること
により中断されたならばそのノードは送信を行わない。
【0020】“クワイエット・スロット”の時間長はノ
ード内のインターフェース電子機器の速度およびノード
がバスの最大長だけ離れている第一のノードから第二の
ノードに電気信号伝搬するに必要な時間長に基づいて
選択される。例えば、最も離れたノード間の分離が10
0メートルであり、バス上での電気パルスの速度がおよ
そナノ秒当たり0.2メートルであれば、クワイエット
・スロットはおよそ500ナノ秒に、各ノードに用いら
れているインターフェース電子機器の応答時間を加えた
時間となるよう選ぶことができる
【0021】ストレッカーらの開示を組み込み、本特許
の譲受人により販売されている装置の一実施例におい
て、図2に示されるようなスター・カプラの物理的構成
が用いられており、全ての接続ケーブル100A・・・
100Nは45フィートの規定された長さに切断されて
おり、クワイエット・スロットは1.14マイクロ秒と
なるよう選択されている。1.14マイクロ秒という値
は上述したような伝幡時間およびインターフェース電気
機器の速度を考慮したものである。
【0022】ブロック135の後、システムはブロック
155へ進み、そこではノードは一つのクワイエット・
スロットの間、待機し、カウンターKをK+1に更新す
る。この後、システムはブロック157へ進み、キャリ
アが存在するか否かバスを調べる。このキャリアの検出
は、ノードが送信要求を有しているかどうかに係わらず
行われる。ブロック157でキャリアが検出されないと
きには、本システムはブロック160へ進み、このノー
ドが送信する番であるか否かのテストが行われる。この
テストはアービトレーション・カウント数C(I)に対
し、計数されたクワイエット・スロットの数、KをMの
剰余により比較することにより行われる。両者が等しけ
れば、ノードは送信する番が来たと判断し、ブロック1
40へ進み送信要求があるか否かのチェックを行う。M
の剰余よるKの値がアービトレーション・カウント数
C(I)に等しくないときは、ノードはブロック155
へ復帰し、クワイエット・スロットの計数を続ける。
【0023】ブロック140でシステムが送信要求を検
出すると、ブロック180へ進み、バス100へのメッ
セージ送信を開始する。送信が終了すると、ノードはブ
ロック215に示されるように、そのアービトレーショ
ン・カウント数をMにリセットし、ブロック135へ復
帰して、再びクワイエット・スロットの計数を開始す
る。
【0024】ブロック140で送信要求が検出されな
れば、システムはブロック150へ進み、そこでは送信
要求を受けたときからの経過時間が“リセット時間”を
越えたか否かを決定するために、経過時間カウンタが調
べられる。このリセット時間はあらかめ定められた時
間である。時間間隔がこのリセット時間を越えたときに
は、システムは151に沿って進み再初期化される。実
際のシステムにおいては、この再初期化はバス全体に
“リセット・メッセージ”を送信するノードによりなさ
れ得る。各ノードはバス上に送信されてくる全てのメッ
セージを受信するので、システム内の各ノードはこのリ
セット・メッセージを受信すると、そのアービトレーシ
ョン・カウント数をリセットすることができるであろ
う。
【0025】ブロック157でキャリアが検出されたと
きは、システムはブロック190へ進み、送信ノードの
ノード番号の決定が行われる。この決定は各ノードが全
てのノードにより送信される全てのメッセージを受信
し、システムにより採用されているプロトコルがメッセ
ージのヘッダー部分が送信ノードのアドレスを含んでい
ることを要求しているので、可能である。各ノードはブ
ロック190に示されるように、送信ノードのノード番
号の決定を行うために送信ノードにより生成されるヘッ
ダーを解読することができる。
【0026】システムはブロック200へ進み、そこで
は各ノードのアービトレーション・カウント数が更新さ
れる。ブロック200Aはアービトレーション・カウン
ト数を更新する第一の実施例を示している。ブロック2
00Bはアービトレーション・カウント数を更新する第
二の実施例を示している。ブロック200の後、システ
ムはブロック210へ進み、そこではノードはバス上の
キャリアが失くなるまで待機状態に入り、その後システ
ムはブロック135に復帰し、調停が再び始まる。 第一の実施例 図4の(A)、図4の(B)、および図4の(C)は本
発明の一実施例を示している。本実施例において、シス
テム内に16個のノードがあり0〜15のノード番号が
割り当てられているものとする。この図は一連の事象を
示しており、これらの事象はバス100への様々なノー
ドによる送信を表わしている。ノード4、6、9、およ
び15が送信要求をもっているものとする。図4の
(A)は番号250Aにより表わされるノードを示して
おり、番号250Aは一つのIにより示される。ノード
は0、1、2、3、・・・15と番号が付られる。すな
わち、図3のフロー図に示されるようなブロック140
はこれらのノードのそれぞれに対し“イエス”の回答を
するであろう。
【0027】ブロック200Aに示されるように、アー
ビトレーション・カウント数を更新する第一の選択的な
方法は各ノードについて、獲得ノードによって計数され
クワイエット・スロットの数を利用することである。
各ノードはアービトレーション(調停)をそれを獲得し
たノードに持って行かれる前に、いくつのクワイエット
・スロットが計数されたかを知っているので、各ノード
獲得ノードにより計数されクワイエット・スロット
の数を利用することは容易である。そして各ノードはそ
のアービトレーション・カウント数を得るために、剰余
Mにより、そのアービトレーション・カウント数C
(I)から、計数されたクワイエット・スロットの数を
減算する。この計算は剰余Mの等式により表わされ得
る: C(I)=(C(I)−(獲得ノードによって計数され
たクワイエット・スロットの数))Modulo M およびC(I)が、獲得ノードによって計数されたクワ
イエット・スロットの数に等しければ、 C(I)=M ノードはそのノードの番号プラスIに等しいアービトレ
ーション・カウント数が各ノードに割り当てられること
により初期化される。
【0028】図4の(A)、図4の(B)、図4の
(C)は各ノードが新しいアービトレーション・カウン
ト数を計算するために、獲得ノードによって計数される
クワイエット・スロットの数を計数するノードのプロセ
スを図示している。図4の(A)・・・図4の(C)に
示される例において、ノード4、6、9、および15は
送信要求を行っているものとしている。まず、ノード4
が送信を行う。ノード4が送信を行った後、アービトレ
ーション・カウント数の割り当ては図4の(A)に示さ
れる通りである。ノード5は1(C(5)=5−4=
1)、に等しいアービトレーション・カウント数を持
ち、ノード6は2(C(6)=6−4=2)、に等しい
アービトレーション・カウント数を持ち、このようにし
て(C(15)=15−4=11)11のアービトレー
ション・カウント数を持つノード15まで割り当てが行
われ、ノード3は(C(3)=(3−4)modulo
16=15)15のアービトレーション・カウント数
を持つ。従って、ノード4がその送信を終了した後、各
ノードはバス上にキャリアが存在しないことを検出し、
各ノードはクワイエット・スロットを計数し始める。ノ
ード5は一つのクワイエット・スロットを計数するがノ
ード5は送信要求を持っていないので、ノード5はバス
100上に送信を行う機会をパスする。ノード6は最初
のクワイエット・スロットおよび2番目のクワイエット
・スロットも計数し、ノード6には送信要求があるの
で、クワイエット・スロット数2を計数すると、ノード
6はバス100への送信を開始する。また、ノード9は
ノード6によってアービトレーションをわれる前に、
二つのクワイエット・スロットを計数しており、ノード
15もまたノード6にアービトレーションをわれる前
に二つのクワイエット・スロットを計数した。従って、
ノード9は3という新しいアービトレーション・カウン
ト数を計算するために、5というその現在のアービトレ
ーション・カウント数から2を減算し、ノード15は9
という新しいアービトレーション計数を計算するため
に、11という古いアービトレーション・カウント数か
ら2個のクワイエット・スロットを減算する。これらの
ことは全て図4の(B)に示される通りである。
【0029】さらに図4の(B)に示されるように、ノ
ード6による送信が完了すると、ノード7はアービトレ
ーション・カウント数1を有し、ノード8はアービトレ
ーション・カウント数2を有し、ノード9はアービトレ
ーション・カウント数3を有し、ノード15はアービト
レーション・カウント数9を有し、ノード6はアービト
レーション・カウント数16を有する。図4の(B)に
示されるアービトレーション・カウント数の全ては16
の剰余により、図4の(A)に示されたアービトレーシ
ョン・カウント数から2つのクワイエット・スロットを
減算することにより、図4の(A)に示されたアービト
レーション・カウント数から計算されたものである。
【0030】ノード6による送信が完了すると、各ノー
ドはバス100上にキャリアがないことを検出し、クワ
イエット・スロットを計数し始める。ノード7は一つの
クワイエット・スロットを計数し、送信要求を持ってい
ないので、送信する機会をパスする。また、ノード8も
二つのクワイエット・スロットを計数した後、送信要求
を持っていないので、送信する機会をパスする。ノード
9は係属中の送信要求を持っており、三つのクワイエッ
ト・スロットを計数した後、バス100への送信を開始
する。他の全てのノードはこの獲得ノードが三つのクワ
イエット・スロットを計数したことを覚えており、16
の算術剰余を用いて、図4の(B)に示されるアービト
レーション・カウント数から減算を行う。例えば、ノー
ド15は図4の(C)に示されるようなその新しいアー
ビトレーション・カウント数6を算出するために、図4
の(B)に示されるそのアービトレーション・カウント
数9から三つのクワイエット・スロットを減算する。
【0031】図4の(C)はノード9による送信が完了
した後に計算されるアービトレーション・カウント数を
示している。図4の(C)に示されたアービトレーショ
ン・カウント数は図4の(B)に示されるアービトレー
ション・カウント数から、ノード9により計数された三
つのクワイエット・スロットを減算することにより、図
4の(B)に示されるアービトレーション・カウント数
から計算されたものである。従って、ノード15、それ
は図4の(B)に示されるようにアービトレーション・
カウント数9を有するものであるが、はノード9による
送信の完了の後、6というアービトレーション・カウン
ト数を得る。
【0032】ノード9による送信が完了すると、各ノー
ドはクワイエット・スロットの計数を開始し、各ノード
が6個のクワイエット・スロットを計数した後、ノード
15は係属中の送信要求を有する第一のノードであった
ので送信を開始する。アービトレーション・カウント数
を更新する方法の第一の選択的な実施例を要約すると、
各ノードは獲得ノードにより計数されたクワイエット・
スロットの数を利用して、その新しいアービトレーショ
ン・カウント数を算出するためにその古いアービトレー
ション・カウント数から、獲得したクワイエット・スロ
ットの数を減算する。 第2の選択的な実施例 各ノードのためのアービトレーション・カウント数を更
新する第2の選択的な方法はMの算術的剰余を用いて、
ノード番号Iから送信ノードのノード番号、Pnを減算
することである。Mはバス100に接続されたノードの
数である。各ノードは送信されてくるメッセージのヘッ
ダーを解読することにより送信ノードのノードの番号P
nを決定する。バス100は共有化された一本のマルチ
プル・アクセス・バスであるので、各ノードは送信され
てくる全てのメッセージを受信する。
【0033】例えば、バス2に32個のノードが接続さ
れ、ノード5がバス上で送信を行っていると検出されて
いるとき、ノード番号5による送信が完了すると、ノー
ド番号6にはアービトレーション・カウント数(6−5
=1)1が割り当てられ、ノード番号13にはアービト
レーション・カウント数(13−5=8)が割り当てら
れ、8という新しいアービトレーション・カウント数が
与えられ、送信したばかりのノード5は最も大きいアー
ビトレーション・カウント数、32に、そのアービトレ
ーション・カウント数にセットし、次の送信を行うため
最も長くクワイエット・スロット分だけ待機し、これ
により他のノードの全てが先に送信する機会がもたらさ
れる。
【0034】各ノードIのアービトレーション・カウン
ト数C(I)の更新は次のMの剰余による等式により表
わされ得る。なお、Pnは現在送信を行っているノード
のノード番号である。IがPnに等しくなければ、 C(I)=(I−Pn)Modulo(M) IがPnに等しければ、 C(I)=M ノードIのアービトレーション・カウント数の更新を説
明するために、再び図4の(A)、図4の(B)、およ
び図4の(C)を参照する。再度、システムは16個の
ノードを有し、ノード4、6、9および15が送信要求
を持っているものと仮定する。
【0035】図4の(A)はノード4がその送信を完了
した後に、それらに割り当てられたアービトレーション
・カウント数C(I)、254Aを示している。同図
中、ノード5はアービトレーション・カウント数“1”
を有し、ノード6はアービトレーション・カウント数
“2”を有し、という具合にアービトレーション・カウ
ント数“16”を有するノード4まである。図4の
(A)に示されるアービトレーション・カウント数は図
3のブロック200Bに従って、割り当てられたもので
あり、ノード4による送信の完了に続くものである。す
なわち、アービトレーション・カウント数はMの剰余に
より、各ノードのノード番号から送信ノードのノード番
号を減算することにより、割り当てられた。
【0036】そして、ノード6は送信を開始する前に、
二つのクワイエット・スロット(C(6)=6−4=
2)分、待機する。ノード6が送信を完了した後は、ア
ービトレーション・カウント数の割り当ては図4の
(B)に示される通りである。同図中、ノード7はアー
ビトレーション・カウント数“1”を有し、ノード8は
アービトレーション・カウント数“2”を有し、という
具合にアービトレーション・カウント数“16”が割り
当てられたノード6まで行く。ノード6による送信が完
了すると、アービトレーション・カウント数は図3のブ
ロック200Bに示されるように割り当てられる。すな
わち、アービトレーション・カウント数はMの剰余によ
り、各ノードのノード番号から送信ノードのノード番号
を減算することにより割り当てられた。
【0037】そして、ノード9は送信を開始する前に、
図4Bに示されるアービトレーション・カウント数の割
り当てに従い、3(C(9)=9−6=3)つのクワイ
エット・スロットを計数する。ノード9による送信が完
了した後、アービトレーション・カウント数は図4の
(C)に示されるように、再割り当てされる。同図中、
ノード10にはアービトレーション・カウント数“1”
が割り当てられ、ノード11にはアービトレーション・
カウント数“1”が割り当てられ、ノード11はアービ
トレーション・カウント数“2”を持つこととなり、こ
のような具合にアービトレーション・カウント数“1
6”が割り当てられたノード9まで行く。図4の(C)
に示されたアービトレーション・カウント数も図3のブ
ロック200Bに従い割り当てられたものである。すな
わち、アービトレーション・カウント数はMの剰余によ
り、各ノードのノード番号から送信を行っているノード
のノード番号を減算することにより割り当てられた。
【0038】次に、ノード15は図4の(C)に示され
たアービトレーション・カウント数の割り当てに従い、
送信を行う前に、6(C(15)=15−9=6)つの
クワイエット・スロットを計数する。すなわち、アービ
トレーション・カウント数はMの剰余により、各ノード
のノード番号から送信ノードのノード番号を減算するこ
とにより割り当てられた。
【0039】本発明の第一の選択的な実施例および第二
の選択的な実施例はノードの新しいアービトレーション
数に関し同じ結果をもたらしている。第一および第二の
選択的実施例は本発明を異なった態様でとり扱ったにす
ぎない。動作性能バス100上のメッセージ伝送のため
に有用な実効バンド幅による本発明の動作性能は単純な
解析的方法により予測されうる。本発明の例示の実施例
の詳細は、実効バンド幅の解析的予測により進められる
ように仮定を必要とする。バスの長さは100メートル
と仮定され、バス100上の電気パルスの速度は0.2
メートル/ナノ秒と仮定される。よって、バスの一端か
ら他端への伝幡時間は(100メートル/0.2メート
ル/+1秒=500ナノ秒)0.5マイクロ秒である。
これに、これもまた0.5マイクロ秒であるが、インタ
ーフェース電子機器の遅延が加えられなければならな
い。従って、本特許出願の譲受人により販売されている
システムに接続され、上述の値に従う、本実施例でのク
ワイエット・スロットの時間間隔はおよそ1.14マイ
クロ秒となるよう選ばれる。Nはクラスタ(clust
er)のためのノードの最大数である。クラスタは一本
のバスを介して相互に通信を行う多数のノードからなる
一つのコンピュータ・システムである。Iは一つのクラ
スタ内の各ノードに割り当てられた識別番号であり、I
=0.1,・・・,N−1である。C(I)は各ノード
Iに割り当てられたアービトレーション・カウント数で
ある。一つのノードIはそれが送信を開始することが可
能となる前に、図3のフローチャートに示されるよう
に、送信を開始する前に、アービトレーション・カウン
ト数C(I)個のクワイエット・スロットの間、待機し
なければならない。実効バンド幅、EBはバス100の
利用性の尺度である。飽和状態においては、実効バンド
幅、EBは調停すると共にパケットを送信するのに要す
る合計時間に対する、バス100がパケットを送信する
ための時間の割合である。“飽和状態”とは全てのノー
ドが送信を要求していることを意味する。
【0040】飽和状態におけるバス100の実効バンド
幅は以下のように計算されうる。なお、符号Ttはマイ
クロ秒単位の1つのパケットの平均伝送時間;Taはマ
イクロ秒単位の1パケットの平均アービトレーション時
間;bはバイトによる1パケットの平均的サイズであ
る。1バイトの伝送時間は0.114マイクロ秒であ
る。実効バンド幅は符号EBにより表わされ、EBは%
の単位であり、EBは次式により表わされる。
【0041】 EB={Tt/(Tt+Ta)}×100% EB={(b×0.114)/(b×0.114+Ta)}×100% 本発明の実効バンド幅は“本発明の背景”のセクション
で説明された、ストレッカーらによる、1985年12
月24日に発行された米国特許第4,560,985号
により開示された調停技術による実効バンド幅比較さ
れうる。
【0042】1つのパケットの平均アービトレーション
時間、Taの推定は飽和状態の下に行われなければなら
ない。本発明については、各ノードは送信開始の前に1
クワイエット・スロット待機するであろうから、平均ア
ービトレーション時間Taは次式により求められる。T
a=クワイエット・スロットの期間) ×(クワイエット・スロットの平均数) =1.14マイクロ秒×1 =1.14マイクロ秒 ストレッカーらの特許に述べられている方法について、
平均アービトレーション時間Taは次式により求められ
る。
【0043】 Ta=(クワイエット・スロットの期間) ×(クワイエット・スロットの最もよいケースの平均番号) 飽和状態においては、送信を行う次のノードは送信を開
始する前に、(I+1)個のクワイエット・スロット
だけ待機するであろう。すなわち、“クワイエット・ス
ロットの平均数”=(1+2+・・・+16)/16。
【0044】Ta=1.14マイクロ秒×(1+16)
/2 Ta=1.14×8.5=9.7マイクロ秒 上記の値は16個のノードを有するシステムについてで
ある。32個のノードを有するシステムについても、同
式によって、ストレッカーらの方法によるTaが求めら
れ、16を32に置き代えて公式に適用すると、18.
8マイクロ秒のTaが求められる。
【0045】32個のノードを有するクラスタについ
て、本発明による平均アービトレーション時間Taは前
に計算されたように、1.14マイクロ秒にとどまる。
表Iはバイトによる1パケットの平均サイズの関数とし
て、16個のノードのクラスタについての実効バンド幅
を比較を示したものである。表2は32個のノードのク
ラスタについての実効バンド幅の比較を示したものであ
る。
【0046】 表2−32個のノードのクラスタについてのパーセント
によるEBの比較本発明によれば、16個のノードのク
ラスタおよび32個のノードのクラスタのいづれについ
ても、メッセージ内のバイト数の全てに対して、より良
好な実効バンド幅となっていることがおわかりいただけ
よう。例えば、1パケット内、100バイトのサイズの
メッセージに対し、本発明では91%のEBとなり、こ
れに対し、ストレッカーらの方法ではたった54%のE
Bである。より長いメッセージについては、本発明では
99%のEBとなり、これに対し、ストレッカーらの方
法は92%のEBにとどまる。
【0047】表2に示された、32個のノードのクラス
タについての比較は100バイトのサイズのパケットに
ついて次の結果となった。すなわち、本発明では91%
のEBとなり、これに対し、ストレッカーらの方法はた
った38%のEBである。また、表2はより長いメッセ
ージについても、本発明およびストレッカーらの方法の
いづれも良好な実効バンド幅をもたらすことを示してい
る。例えば、1パケット内に1000バイトのメッセー
ジ・サイズについて、本発明では99%のEBとなり、
これに対し、ストレッカーらの方法は86%のEBにと
どまる。
【0048】ストレッカーらの特許の開示および本発明
の両者の上述のような方策は“留保を伴なったキャリア
・センス・マルチプル・アクセス”(CSMA Wit
ha Reservation)の方策である。図1、
・・・図4に示されるように本発明の概要は次のように
表わされうる。M個のノードがありノードは符号I、I
=0,1,・・・M−1を用いて番号付けされており、
初期アービトレーション・カウント数は次のように割り
当てられる: C(I)=I+1 従って、C(I)の値は1からMまでである。C(I)
=0のクワイエット・スロットはバスが使用可能となっ
た後に即座に応答ができるように留保される。例示の実
施例においては、C(I)=0のクワイエット・スロッ
トは受信ノードによる認知信号、ACK又はNACKの
伝送に割り当てられる。デフ(DEAF)・ノードの実
施例 さて、この調停に参加し、本発明の調停アルゴリズムを
用いて通信を行っている一群のノードと通信を行うこと
を希望する新しいノードの問題を考えてみよう。この新
しいノードは共有化されたバス上での調停の正確な知識
をもち合わせていないので、それのアービトレーション
・カウント数の適切な値を知らない。このノードはデフ
・ノードと呼ばれる。また、ハードウェアの部品故障に
よって、ノードは“デフ(deaf)”、すなわち、誤
のあるアービトレーション・カウント数となる。
【0049】“デフ・ノード”がそれのアービトレーシ
ョン・カウント数C(I)の値を使うことができれば、
正しく機能している別のノードと同じアービトレーショ
ン・カウント数となってしまうこともありうる。このよ
うなアービトレーション・カウントの2重の割り当てに
よりバス上でのデータ衝突が発生しうる。デフ・ノード
の問題は割り当てのメカニズムにデフ・ノードのため
留保された(reserved)スロットを加えるとい
う方策により解決される。理由は何であれ、“デフ”と
なったノードはそれのメッセージを送信するために留保
されたスロットを使用することができる。この留保され
たスロットの間にキャリアを検出すると、システム内の
各ノードは図3のブロック130に示されるように、そ
のアービトレーション・カウントをI+1にリセットす
る。
【0050】M個のノードを有するシステムについて、
1からMのうちのどのスロットでもデフ・ノードのため
に留保されうる。K番目のスロットがデフ・ノードのた
めに留保されるとすると、アービトレーション・カウン
ト数C(I)K以上のノードはC(I)+1のスロッ
ト番号で送信しなければならない、すなわち、更に1つ
のクワイエット・スロット分待機しなければならない。
このように、デフ・ノードのスロットの選択により、次
の事項が設計上のひきかえとなる。すなわち、小さい番
号のスロットがデフ・ノードのために留保されると、そ
のデフ・ノードはいち早く送信する機会を得るであろう
し、大きい番号のスロットがデフ・ノードのために留保
されると、調停に費やされる平均時間はより短かくなる
であろう。
【0051】また、各ノードはクロックを持っており、
異なるノードのクロックは全く同じ周波数で動作するわ
けではない。あるノードは、例えば、製造上の誤差のた
めに、他のノードより少し早くまたは遅く動作するかも
しれず、このノードはクワイエット・スロット追従
失敗し、この結果、デフ・ノードのクワイエット・スロ
ットの期間に、誤まって送信を試みようとするかもしれ
ない。このノードはデフ・ノードのクワイエット・スロ
ットの期間にキャリアを検出し、図3のブロック130
に示されるように、アービトレーション・カウント数を
I+1にリセットせしめるだろう。
【0052】M個のノードを有するシステムについて、
1からMのうちのどのスロットデフ・ノードのために
留保されうる。K番目のスロットがデフ・ノードのため
に留保されるとすると、アービトレーション・カウント
数C(I)がK以上のノードはC(I)+1のスロット
番号で送信しなければならない。すなわち、更に1つの
クワイエット・スロット分、待機しなければならない。
このように、デフ・ノードのスロットの選択により、次
の事項が設計上のひきかえとなる。すなわち、小さい番
号のスロットがデフ・ノードのために留保されると、そ
のデフ・ノードはいち早く送信する機会を得るである
し、大きい番号のスロットがデフ・ノードのために留保
されると、調停に費やされる平均時間はより短くなるで
あろう。
【0053】また、デフ・ノードによる解決案はバス上
のアイドル時間がリセット時間を越えたならば、全ての
ノードのクロックをリセットするのにも用いられうる。
図3のブロック150へ行って、経過時間がリセット時
間を越えたことを検出した第一のノードにデフ・ノード
のスロットにおいてメッセージを送信することができ
る。このメッセージにより、全てのノードは図3のブロ
ック130のようにそれらのアービトレーション・カウ
ントを初期化する。
【0054】更なる実施例として、本装置はデータ衝突
が連続して所定回数、検出されたことに応じて、デフ・
ノード・スロットの期間に送信を行い、図3中のブロッ
ク130に示されるように、アービトレーション・カウ
ント数をリセットするようにしてもよい。図3中のブロ
ック130に示されるように、アービトレーション・カ
ウント数をリセットすることはアービトレーション・カ
ウント数の割り当てに入り込んでしまったかもしれない
誤まりを修正することである。
【0055】図5はアービトレーション・カウント数の
割り当てを示しており、アービトレーション・カウント
数“0”およびアービトレーション・カウント数“1”
は両者とも留保されている。ここでは、0番目のスロッ
トは通常通り、即時のアクノリッジ・メッセージのため
に留保され、1番目のスロットはデフ・ノードのために
留保される。ノード5は送信を行ったばかりであり、ノ
ード6は送信を開始する前に、2つのクワイエット・ス
ロット分待機しなければならず、ノード7は3つのクワ
イエット・スロット分、待機しなければならないという
具合である。衝突頻度2つの別個の送信が1つのクワイ
エット・スロットの間に発生すると、データの衝突が発
生する。図6は一つのクワイエット・スロットにおいて
発生する2つのメッセージ送信を示しており、これがデ
ータの衝突となる。ノード300およびノード302は
共に、同時にバス304上に送信を行なおうと試み、そ
の結果、バス304上のデータは破壊される。
【0056】以上のとおり、データの衝突を取り扱う本
発明のアプローチは留保策を伴ったキャリア・センス・
マルチプル・アクセス(CSMA With a Re
servation Strategy)である。本発
明の留保策を伴ったCSMAはイーサネット・プロトコ
ルにおいて用いられる通常のCSMA/CDプロトコル
に起こる衝突頻度よりデータ衝突の発生確率をかなり低
減する。事実、全てのノードが完全なクロックを備えて
いれば、そして、システムの故障の要素がなければ、通
常の動作期間中のデータ衝突の発生確率は本発明におい
てはゼロである。
【0057】本発明に比べ、ストレッカーらによる方法
は通常の動作中にデータ衝突が起きる可能性を残してい
る。ストレッカーらの方法によるデータ衝突の発生確率
は次式により与えられる。なお、各記号の意味は次のと
おりである。 T =1つのノードについての要求の間の実効時間 QS=1つのクワイエット・スロットの時間の長さ M =ノードの数 P =2つの要求が1つのクワイエット・スロット内に発生する確率 P =(M−1)(1−e(−2QS/T))。十分に近似させれば、 P =2(M−1)QS/Tとなる。 パラメータの値を次のように仮定した状態では、データ
衝突の発生確率の一例は: 16個のノードがあると、M=16:クワイエット・ス
ロットの長さ、Qは1.14マイクロ秒;T=7,50
0マイクロ秒(本装置はおよそ45%の稼動率である)
とすると、 P=0.004となる。 すなわち、上記のパラメータを有する16個のノードの
システムにおいては、通常動作の間のデータ衝突の発生
確率は0.004である。
【0058】各ノード内の衝突検出装置はデータ衝突が
発生したことを検出し、ノードはあらかじめ定められた
応答に従って反応する。例えば、イーサネットCSMA
/CDバックオフ・プロトコルにおいて用いられるエク
スポネンシャル・バックオフ応答が使用可能であり、ま
たは、更なる例として、ノードは図3のブロック130
に示されるように、そのアービトレーション・カウント
数を再初期化させることも可能である。
【0059】以上の実施例は本発明の原理を単に説明す
るためのものであることが理解されるべきである。様々
な他の変形、変更がこの分野の当業者によってなされる
であろうが、それは本発明の原理を具現化するものであ
り、本発明の意図および範囲内のものとなろう。
【図面の簡単な説明】
【図1】本発明を用いたコンピュータ・システムの論理
ブロック図である。
【図2】本発明を用いたコンピュータ・システムの物理
的なブロック図である。
【図3】本発明の一実施例を示すフローチャートであ
る。
【図4】本発明を用いたアービトレーション装置の状態
図である。
【図5】保存されたクワイエット・スロット0および1
を有するアービトレーション装置の状態図である。
【図6】同時に送信を行なおうとして、バス上に送出し
たデータを破壊した二つのノードを示すブロック図であ
る。
【符号の説明】
20 コンピュータ・システム 100 バス 110A、・・・110N ノード 120 スター・カプラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 シー レン カオ アメリカ合衆国 マサチューセッツ州 01720アクトン フリント ロード 39 (72)発明者 モハマド ヴィ アビディ アメリカ合衆国 マサチューセッツ州 01545シュローズバリー ヨークシャー テラス 35 アパートメント 8 (72)発明者 ニイ クウェイノール アメリカ合衆国 マサチューセッツ州 01545シュローズバリー ホリー レー ン 16 (56)参考文献 特開 昭59−41079(JP,A)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 共有された一本のバスによって通信を行
    なう複数の通信ノードを備えたタイプのコンピュータ・
    ネットワークのための改善されたアービトレーション装
    置であって、前記ノードは前記バス上のキャリア信号を
    監視しており、前記キャリア信号の存在は他のノードが
    前記バス上で送信を行っていることを示すものであり、
    前記ノードにはユニークな初期アービトレーション・カ
    ウント数が割り当てられている、アービトレーション装
    置において、前記アービトレーション装置は各ノード内
    に位置し、該アービトレーション装置が、 前記バス上に前記キャリア信号が存在しないことに応じ
    て、前記複数のノードの各々について所定時間間隔(以
    下、クワイエット・スロットと称す)の数を計数し、前
    記ノードの各々に関して計数されたクワイエット・スロ
    ットの数を前記ノードの各々の前記アービトレーション
    ・カウント数と比較する手段と、 前記計数されたクワイエット・スロットの数が前記アー
    ビトレーションカウント数に等しいことに応じて、前
    記ノードの各々に関して前記ノードが送信要求を有して
    いるかどうかを決定し、前記送信要求が存在している場
    合には前記バス上におけるメッセージの送信を開始する
    手段と、 前記各ノードにあって、計数されたクワイエット・スロ
    ットの数がそのアービトレーション・カウント数と等し
    くなる前におけるキャリア信号の存在に応じて、前記複
    数のノードの各ノードの前記アービトレーション・カウ
    ント数を変更する手段と、を備えたことを特徴とするア
    ービトレーション装置。
  2. 【請求項2】 請求項1記載の装置において、前記アー
    ビトレーション・カウント数を変更するための装置が、
    更に、 前記各ノード内にあって、前記システムバス上にキャリ
    ア信号が存在しないことを検知する前記ノードと前記バ
    ス上に前記キャリア信号が存在することを検知する前記
    ノードとの間のクワイエット・スロットの数を計数する
    手段であって、ここで計数されるクワイエット・スロッ
    トの数はアービトレーションを獲得した ノード(以下、
    単に「獲得ノード」と呼ぶ)によって計数されたクワイ
    エット・スロットの数と等しいものである、手段と、 前記システム内の前記複数のノード数による数学的剰余
    を用いて、獲得ノードによって計数された前記クワイエ
    ット・スロットの数を、前記ノードのアービトレーショ
    ン・カウント数から減算することにより、前記各ノード
    に関して新たなアービトレーション・カウント数を計算
    するための手段と、を含む装置。
  3. 【請求項3】 請求項2記載の装置において、新たなア
    ービトレーション・カウント数を計算するための装置
    は、更に、 前記システムの前記複数のノードの数が、Nによって示
    され、獲得ノード によって計数されたクワイエット・スロット
    の数が、Cによって示され、 前記新たなアービトレーション・カウント数が、(現在
    のアービトレーション数−C)modulo N、とし
    て計算される装置。
  4. 【請求項4】 請求項1記載の装置において、前記アー
    ビトレーション・カウント数を変更する前記装置は、更
    に、 前記各ノードにあって、前記バス上のメッセージに応じ
    て、前記複数のノードのうちの獲得ノードのノード番号
    を決定する手段と、 前記システムの前記複数のノード数による数学的剰余を
    用いて、前記複数のノードのうちの前記獲得ノードの前
    記ノード番号を、前記ノードの各々に割り当てられたノ
    ード番号から減算することにより、前記各ノードに関し
    て新たなアービトレーション・カウント数を計算する手
    段と、を含む装置。
  5. 【請求項5】 請求項4記載の装置において、各ノード
    に対する前記複数のノードのうちの獲得ノードのノード
    番号を決定する前記手段は、更に、 前記複数のノードの各ノードにあって、前記複数のノー
    ドのうちの前記獲得ノードによって送信されたメッセー
    ジを受け取る手段と、 前記各ノードにあって、前記獲得ノードの前記ノード番
    号を、前記メッセージから引き出す手段と、を有する装
    置。
  6. 【請求項6】 請求項4記載の装置において、新たなア
    ービトレーション・カウント数を計算する装置は、更
    に、 前記システムの前記複数のノードの数が、Nによって示
    され、 前記複数のノードのうちの前記獲得ノードのノード番号
    が、Cによって示され、 前記新たなアービトレーション・カウント数が、(現在
    のアービトレーション数−C)modulo N、とし
    て計算される装置。
  7. 【請求項7】 一本のバスを共有する複数のノードを備
    えたコンピュータシステムノードに関してアービトレ
    ート(調停)を行なう方法であって、前記各ノードには
    ユニークな初期アービトレーション・カウント数が割り
    当てられており、前記各ノードは前記バス上のキャリア
    信号を検知しており、前記キャリア信号の存在は他のノ
    ードが前記バス上で送信を行っていることを示している
    ような、方法において、該方法が、 前記各ノードにおいて、前記バス上に前記キャリア信号
    が存在しないことに応じて、所定時間間隔(以下、クワ
    イエット・スロットと呼ぶ)の数を計数する段階と、 前記各ノードにおいて、計数されたクワイエット・スロ
    ットの数を、前記ノードの前記アービトレーション・カ
    ウント数と比較する段階と、 前記各ノードにおいて、前記計数されたクワイエット・
    スロットの数が、アービトレーション・カウント数と等
    しいことに応じて、前記ノードが送信するメッセージを
    有しているかどうかを検知し、前記メッセージが存在す
    る場合には前記バス上送信を開始する段階と、 計数されたクワイエット・スロットの数がそのアービト
    レーション・カウント数と等しくなる前におけるキャリ
    ア信号の存在に応じて、前記複数のノードの各ノードの
    前記アービトレーション・カウント数を変更する段階
    と、を備えたことを特徴とする方法。
JP3161806A 1990-07-02 1991-07-02 デフ・ノ―ドのために好適な共有型ア―ビトレ―ション装置および方法 Expired - Lifetime JP2536978B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/547,569 US5230044A (en) 1990-07-02 1990-07-02 Arbitration apparatus for shared bus
US547569 1990-07-02
US07/547,571 US5239630A (en) 1990-07-02 1990-07-02 Shared bus arbitration apparatus having a deaf node
US547571 1995-10-24

Publications (2)

Publication Number Publication Date
JPH04280348A JPH04280348A (ja) 1992-10-06
JP2536978B2 true JP2536978B2 (ja) 1996-09-25

Family

ID=27068582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3161806A Expired - Lifetime JP2536978B2 (ja) 1990-07-02 1991-07-02 デフ・ノ―ドのために好適な共有型ア―ビトレ―ション装置および方法

Country Status (6)

Country Link
EP (1) EP0465206B1 (ja)
JP (1) JP2536978B2 (ja)
AU (1) AU636042B2 (ja)
CA (1) CA2045087A1 (ja)
DE (1) DE69127779T2 (ja)
IE (1) IE912302A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4199663A (en) * 1978-11-06 1980-04-22 The Boeing Company Autonomous terminal data communications system
US4471481A (en) * 1981-02-11 1984-09-11 The Boeing Company Autonomous terminal data communications system
US4560985B1 (en) * 1982-05-07 1994-04-12 Digital Equipment Corp Dual-count, round-robin ditributed arbitration technique for serial buses
DE3441930A1 (de) * 1984-11-16 1986-05-28 Fried. Krupp Gmbh, 4300 Essen Datentransfersystem

Also Published As

Publication number Publication date
EP0465206A3 (en) 1992-09-09
EP0465206B1 (en) 1997-10-01
AU7947291A (en) 1992-02-27
IE912302A1 (en) 1992-01-15
DE69127779T2 (de) 1998-04-30
AU636042B2 (en) 1993-04-08
EP0465206A2 (en) 1992-01-08
CA2045087A1 (en) 1992-01-03
DE69127779D1 (de) 1997-11-06
JPH04280348A (ja) 1992-10-06

Similar Documents

Publication Publication Date Title
EP0094180B1 (en) Dual-count, round-robin distributed arbitration technique for serial buses
EP0632621B1 (en) Interpacket gap management for ethernet
US4706082A (en) Serial data bus for intermodule data communications
EP0100662B1 (en) Digital communication system
CA2027230C (en) Station-to-station full duplex communication in a communications network
CA1225714A (en) Carrier sense multiple access with collision avoidance utilizing rotating time staggered access windows
US4719458A (en) Method of data arbitration and collision detection in a data bus
US5960001A (en) Apparatus and method for guaranteeing isochronous data flow on a CSMA/CD network
EP0632620B1 (en) Backoff time evaluation method and apparatus for ethernet
US4581734A (en) Multipriority communication system
US5850525A (en) Method and apparatus for adding a randomized propagation delay interval to an interframe spacing in a station accessing an ethernet network
CA1172719A (en) Distributed-structure message switching system on random-access channel for message dialogue among processing units
US5600651A (en) Binary logarithmic arbitration method for carrier sense multiple access with collision detection network medium access control protocols
US5230044A (en) Arbitration apparatus for shared bus
US6778551B1 (en) Collision control systems and methods utilizing an inter-frame gap code counter
US5742239A (en) Background arbitration monitoring to improve access on lightly consumed network
EP0237839B1 (en) Serial data bus for intermodule data communications and method of data arbitration and collision detection on a data bus
US5239630A (en) Shared bus arbitration apparatus having a deaf node
JP2536978B2 (ja) デフ・ノ―ドのために好適な共有型ア―ビトレ―ション装置および方法
JPH06101728B2 (ja) ロ−カルネツトワ−クの呼の衝突回避方法
JPS61227443A (ja) 伝送装置
JPS61227441A (ja) 伝送装置
JPH0234500B2 (ja)
JPS59107666A (ja) マルチアクセス通信装置
JP2001086121A (ja) データ通信装置