JPH07200505A - 一斉同報通信方法およびその装置 - Google Patents

一斉同報通信方法およびその装置

Info

Publication number
JPH07200505A
JPH07200505A JP5351129A JP35112993A JPH07200505A JP H07200505 A JPH07200505 A JP H07200505A JP 5351129 A JP5351129 A JP 5351129A JP 35112993 A JP35112993 A JP 35112993A JP H07200505 A JPH07200505 A JP H07200505A
Authority
JP
Japan
Prior art keywords
site
packet
sites
packets
transmitting
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
JP5351129A
Other languages
English (en)
Inventor
Naoki Utsunomiya
直樹 宇都宮
Koji Sonoda
浩二 薗田
Takashi Nishikado
隆 西門
Fujio Fujita
不二男 藤田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5351129A priority Critical patent/JPH07200505A/ja
Publication of JPH07200505A publication Critical patent/JPH07200505A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】本発明の目的は、確認応答パケットの取りこぼ
しの可能性を軽減し、複数のパケットからなるデータを
効率的に、かつ、確実にブロードキャストすることにあ
る。 【構成】送信サイト上の送信ソフトウェア5で定義した
階層構造に基づいて、全サイトに対して配付した1ブロ
ック(複数パケット)のデータの確認応答を収集する。
最下位階層に属するサイトの受信ソフトウェア10は、
確認応答を中間サイト上の中継ソフトウェア9に送り、
中継ソフトウェア9は、必要であれば再送処理を行なっ
て、サイト2以下の全てのサイト(サイト54〜58)
からの確認応答を受けてから、上位階層のサイト1に確
認応答を送信する。送信ソフトウェア5は、全ての下位
階層からの確認応答を受けとってから、1ブロックのブ
ロードキャスト送信処理を終える。 【効果】本発明により、複数パケットから成るデータの
ブロードキャストを、各受信サイトへの到達を保証し、
かつ、効率的に行なうことが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分散/並列システムに
おけるデータの一斉同報通信方法およびその装置に関
し、特に、同報通信の信頼性を保証するための確認応答
の収集の改良に関する。
【0002】
【従来の技術】コンピュータネットワークの発展にとも
なって、ネットワークに接続された全サイトに同一デー
タを転送するブロードキャスト(一斉同報)通信は重要
な機能となってきている。ここで、サイトとは、ネット
ワークに接続された計算ユニットをいう。この計算ユニ
ットは、プロセッサとプロセッサが機械語レベルでアク
セス可能なメモリ(ローカルメモリ)を備えている。
【0003】従来のブロードキャスト通信では、ネット
ワーク上の全サイトにデータが届くことを保証する必要
はなかった。これに対し、すべてのサイトへのデータ到
着を保証するブロードキャスト機構を使用する例も存在
する。
【0004】近年、プロセッサとローカルメモリを備え
た複数のサイトを高速通信回線で接続した超並列計算機
システムを用いて、従来のスーパコンピュータの性能を
しのぐ計算を行うことが重要になってきている。このよ
うなシステムにおいては、OS(オペレーティングシス
テム)やユーザアプリケーションを、全サイトあるいは
全サイトのサブセットを成すサイトの集合に、いかに速
く、かつ、信頼性を保ちながら分配するかが重要な技術
課題である。
【0005】さらに、ワークステーションやパソコンが
ネットワークでつながれた分散環境においても、その上
で稼働するネームサーバやデータベース・マネッジメン
ト・システムに、更新データをいかに信頼性を保証しな
がら転送するかが、重要な技術課題である。
【0006】このような場合、信頼性のあるブロードキ
ャスト(Reliable Broadcast)機構
を用いてデータを分配する。信頼性のあるブロードキャ
スト機能は、K.P.バーマン(K.P. Birma
n)著「障害時における信頼性のある通信」という表題
の論文(article entitled ”Rel
iable Communication in th
e Presenceof Failures”,in
the ACM Transactionon Co
mputer Systems,Vol.5 No.
1,Feb.1987 at pp.47−76)で述
べられているように、プログラムの開発効率や、デバッ
グ作業の軽減にも役に立つ。
【0007】通常、信頼性のあるブロードキャスト機能
は、次の2点を保証することを目的とする。即ち、
(1)全ての受信サイトにデータが渡ること、(2)全
てのサイトでデータの受け取る順番が同じであること、
の2点である。しかし、(2)を保証することは、ブロ
ードキャスト通信のパフォーマンスの低下を招き、プロ
グラムや一塊のデータを高速に分散する目的には制約が
強すぎる。
【0008】(1)についての保証は、通常、送信サイ
トが受信サイトから確認応答(Acknowledge
ment)を受けることにより行われる。例えば、トラ
ンスポート層の1対1通信のプロトコルであるTCPで
は、複数の送信パケットに1つの確認応答を対応させる
遅延確認技法(delayed Ack)を用いて、確
認応答の数を減らし、性能向上を計っている。また、受
信データの取りこぼしのために再送が必要となるような
場合にのみ再送要求を送るネガティブ・アクノリッジメ
ント(negative acknowledgeme
nt)の方法も、応答メッセージを減らす目的で利用さ
れる。ただし、送信サイトでは送信したデータを再送用
としてバッファに保持しており、確認応答を受けてその
バッファを解放する必要があるため、全く確認応答を送
らないで通信を行うことは不可能である。
【0009】ネットワークアーキテクチャに関しては、
従来のブロードキャストプロトコルは、ハードウェアが
提供するブロードキャスト機能のないポイントツポイン
トの通信リンクを持つネットワークを前提としている。
例えば、ハイパーキューブの場合、奥川俊史著の「並列
計算機アーキテクチャ」の第67〜68に記載されてい
るように、木構造を作成して、その木構造に基づいてブ
ロードキャストを行う。
【0010】もっと一般的なネットワークの場合は、
「ミニマム・ウェイト・スパニング・ツリーの分散アル
ゴリズム」という表題の論文(article ent
itled ”A Distrituted Algo
rithm for Minimum−Weight
Spanning Trees”,by R.G. G
allager,P.A. Humblet,and
P.M. Spirain the ACM Tran
saction on Programming La
nguages and Systems,Vol.
5,No.1,Jan. 1983 at pp.66
−77)で示されているアルゴリズムを用いて、ミニマ
ム・ウェイト・スパニング・ツリーを作成し、その木構
造に基づいて通信コストが最少になるようにブロードキ
ャストメッセージを転送する。
【0011】LANの持つブロードキャスト機能を生か
して高速な信頼性のあるブロードキャスト機能を実現す
るプロトコルとしては、「効率的な信頼性のあるブロー
ドキャストプロトコル」と言う表題の論文(artic
le entitled ”An Efficient
Reliable Broadcast Proto
cols”,by M.Frans Kaashoe
k,Andrew S.Tanenbaum,and
et. in the ACM Operating
System Review,Vol.23,No.
4,Oct. 1989 at pp.5−20)に掲
載されたものや、「信頼性のあるブロードキャストプロ
トコル」という表題の論文(article enti
tled ”Reliable Broadcast
Protocols”,by Jo−Mei Chan
g and N.F. Maxemchuk in t
heACM Transaction on Comp
uter Systems,Vol.2,No.3,A
ug. 1984 at pp.251−273)に掲
載されたものがある。これらのプロトコルの特徴は、信
頼性を保証するために、1つの特別なサイトがパケット
転送の確認を代行して行うことである。
【0012】一方、特開平2−118763号では、分
散されたデータを木構造にしたがって効率的に集めるた
めに、木構造の各ノードで優先度付けや選択処理を行う
機構を開示している。また、特開平4−273736号
では、パケット再送専用のサイトを用意し、再送時の負
担を専用サイトに任せることにより、通信サイトの負荷
を下げる機能を提供している。
【0013】さらに、特開平4−13318号および特
開平3−277024号などでは、通信サイトをグルー
プ化し、グループごとに異るタイミングで確認応答を逐
次的に受けて、確認応答を収集する方法が開示されてい
る。特開平5−7652号および特開平1−49346
号では、各サイトをノードとする階層構造を作成し、そ
の階層構造にしたがってパケットをブロードキャストし
確認応答を収集する方法が開示されている。
【0014】上述の特許公開公報の技術は、いずれも、
基本的に1パケットのブロードキャストについてのみの
送信であり、再送について言及してあるものは特開平3
−277024号だけである。この特開平3−2770
24号では、データの送信元は、再送要求が送られてき
たとき、新たにグループを構成し直して再送を行なって
いる。
【0015】
【発明が解決しようとする課題】ブロードキャスト通信
において、すべての送信先サイトへのメッセージ到着の
保証を意味する信頼性を与えるために、従来は、送信サ
イトあるいは代行サイトが、送信したパケットに対応す
る確認応答を全てのサイトから受けていた。しかし、大
規模なネットワークで全サイト数が比較的大きい場合
は、確認応答パケットが1サイトに多数集中し、ネット
ワークの状態が通常の場合でも、即ち、特別にネットワ
ーク中の通信量が多くない場合でも、パケットを取りこ
ぼす可能性がある。
【0016】図26は、確認応答パケットの取りこぼし
の様子を示す図である。この図では、送信サイト522
からブロードキャストを行った後の確認応答パケットの
受信の様子を示している。ブロードキャストを行った送
信サイト522は、受信ノードから、確認応答パケット
を受信する。送信サイト522は、受信パケットのキュ
ー521を備えている。
【0017】超並列システムのように通信回線のスピー
ドがプロセッサの処理スピードに比べて高速なアーキテ
クチャの場合でも、始めの数パケットは送信サイト52
2のキュー521に挿入することで受信できる。しか
し、ブロードキャストの確認応答のように短時間に受信
するパケット数が多数の場合は、受信パケットキュー5
21が一杯になり、プロセッサによるパケットの処理ス
ピードに律速される。すなわち、プロセッサの処理スピ
ードよりも確認応答パケットの受信スピードの方が早い
場合は、パケット521のように、受信パケットキュー
521が一杯のため受信されずに破棄されてしまうパケ
ットが出現する。これがパケットの取りこぼしである。
【0018】確認応答用のパケットを取りこぼすと、上
述の通信手順を行なう送信サイトのプロトコルモジュー
ルは、タイムアウトによって取りこぼしたことを検出
し、同じデータを再送する必要がある。さらに、取りこ
ぼしたパケットが肯定応答(ACK)であったとして
も、送信サイトは不要な再送を行なってしまう。このよ
うに、パケットを取りこぼすと、同じ手順をもう一度繰
り返す必要があり性能が低下し、かつ、不要な負荷を通
信回線にかけてしまう。
【0019】従来方法のように、全サイトをグループに
分けグループ毎に異るタイミングで応答を待つか、また
は、全サイトを階層化しその階層構造に沿って応答を集
める方法が考えられる。しかし、これらの従来方法では
1つのパケットを単位として処理しており、1パケット
ごとに上記の確認応答収集方法を実行する必要がある。
上記の方法を1パケットずつ行なうと、複数パケットか
ら成るデータを高速に転送する場合は、確認応答収集に
時間がかかりすぎて問題である。
【0020】さらに、従来方法のように再送処理を1サ
イト(パケット再送専用のサイト)のみで行うと、再送
処理の負荷が1箇所に集中し、問題である。
【0021】さらに、階層構造を作成しその階層構造に
沿ってデータのブロードキャストおよび確認応答収集を
行う方法では、作成した階層構造が常に同じであると、
ネットワークアーキテクチャによっては効率的に動作し
ない場合があり、問題である。
【0022】本発明の目的は、ブロードキャスト通信に
おける確認応答パケットの収集を改良することにある。
また、本発明の目的は、確認応答パケットの取りこぼし
の可能性を軽減し、複数のパケットからなるデータを効
率的に、かつ、確実にブロードキャストすることにあ
る。
【課題を解決するための手段】
【0023】本発明では、プロセッサとローカルメモリ
からなる複数のサイトがネットワークで結合された計算
機システムにおいて、ある送信サイトが他の全てのサイ
トに複数パケットから成る同じデータを送る場合、送信
サイトは複数パケットを数パケットずつに分割してブロ
ックを構成し、各受信サイトからの確認応答を収集する
ために、送信サイトから成る階層を最上位階層とする階
層構造を作成し、作成した各ブロックに対して、階層構
造を含むデータの送信を行ない、その階層構造の各階層
について、その階層が最下位階層である場合は、その階
層中のサイトは、データ受信後、自サイトに対応する上
位階層中のサイトに、確認応答パケットを送り、階層が
最下位階層と送信サイトの中間である場合は、その階層
中のサイトは、確認応答パケットを受信したとき、下位
階層の全サイトからの確認応答パケットの到着と、自サ
イトへのデータ受信を確認してから、その上位階層中の
対応するサイトに確認応答パケットを送り、階層が最上
位階層である場合は、送信サイトは下位階層の全サイト
からの確認応答パケットを受信して、ブロードキャスト
通信を行なう。
【0024】さらに、送信データパケットが喪失し、再
送処理が必要な場合が、送信サイト以外の複数のサイト
で発生した場合、そのサイトに対応する上位階層のサイ
トが異なるときは、並列に再送処理を行うことによって
ブロードキャスト通信を提供する。
【0025】さらに、データ配付および確認応答用の階
層構造を計算機のネットワークアーキテクチャを考慮し
て作成し、ブロードキャスト通信を行なう。特に、送信
サイトからの送受信の遅れがより小さいサイトがより上
位になるように、階層構造を作成するとよい。
【0026】さらに、各サイトがブロードキャスト機能
を有するネットワークで結合されている場合、送信サイ
トはブロードキャスト機能を用いて送信し、パケット到
達の確認は上述の方法を用いて、ブロードキャスト通信
を行なう。
【0027】さらに、プロセッサとローカルメモリから
なる複数のサイトがネットワークで結合された計算機シ
ステムにおいて、ある送信サイトが他の全てのサイトに
複数のパケットから成る同じデータを送る場合、送信サ
イトは複数パケットを分割して数パケットずつのブロッ
クを構成し、各ブロックに対して全受信サイトから確認
応答を受けるために受信サイトをグループ化し、各グル
ープ中のサイトは、グループによって事なるタイミング
で送信サイトに確認応答パケットを応答することによ
り、データを分配し、ブロードキャスト通信を行なう。
【0028】
【作用】本発明では、プロセッサとローカルメモリから
なる複数のサイトがネットワークで結合された計算機シ
ステムにおいて、ある送信サイトが他の全てのサイトに
複数パケットから成る同じデータを送る場合、送信サイ
トは、まず、全データを複数パケットから成るブロック
に分割する。次に、各ブロックに対して、各受信サイト
からの確認応答を収集するために、送信サイトをトップ
(最上位階層)とする階層構造を作成する。この階層構
造に基づいて、各ブロックごとに、以下の手順でブロー
ドキャスト通信を行なう。
【0029】まず、作成した階層構造の各階層に対し
て、その階層が最下位階層である場合は、その階層中の
サイトは、1ブロックの全てのパケットの受信を確認し
た後、自サイトに対応する上位階層中のサイトに、確認
応答パケットを送る。その確認応答パケットを受信した
サイトが、送信サイトと最下位階層の中間階層に属する
場合は、下位階層の対応するサイト全てからの確認応答
パケットの到着と、自サイトへの1ブロックの全てのパ
ケットの受信を確認してから、上位階層中の対応するサ
イトに確認応答パケットを送る。これにより、中間階層
のサイトは自サイトの属する階層よりも下位の階層に存
在するすべてのサイトの受信と、自サイトの受信の確認
を、上位階層に伝達することができる。
【0030】従って、すべての階層のトップの階層にあ
る送信サイトは、下位階層の全サイトからの確認応答パ
ケットを確認することができる。しかも、各階層で確認
する下位階層のサイト数は、全サイト数よりも少ないこ
とが、階層構造作成時に保証されているので、確認応答
パケットのぶつかりによる取りこぼしの可能性が軽減す
る。
【0031】その上、複数パケットから成るデータに対
して、パケットをブロックに分割し、各ブロックに対し
てのみ確認応答の収集を行なうので、全体の処理に対す
る確認応答収集処理の割合を小さくでき、効率的な転送
が可能となる。
【0032】さらに、送信データパケットが喪失し、再
送処理が必要な場合が、送信サイト以外の複数のサイト
で発生した場合、そのサイトに対応する上位階層のサイ
トが異なるときは、並列に再送処理を行う。この方法に
より、再送処理を1サイトで逐次的に行なう場合に比べ
て、高速な再送処理が可能となる。
【0033】さらに、データ配付および確認応答用の階
層構造を計算機のネットワークアーキテクチャの構造を
考慮して作成し、送信サイトは階層構造にしたがってデ
ータを送信し、各中間階層のサイトは受信したデータ
を、自サイトに取り込むと共に次の階層へ転送する。こ
れにより、ネットワークの性質を利用した効率的なデー
タの配付および確認応答の収集が可能となり、全体とし
て高速な信頼性のあるブロードキャスト通信が可能とな
る。
【0034】さらに、各サイトがブロードキャスト機能
を有するネットワークで結合されている場合、送信サイ
トはブロードキャスト機能を用いて送信し、確認応答
は、送信サイトで構成した階層構造に基づいて収集する
ことにより、ブロードキャスト用のハードウェア資源を
利用した効率的なブロードキャスト通信が可能となる。
【0035】さらに、プロセッサとローカルメモリから
なる複数のサイトがネットワークで結合された計算機シ
ステムにおいて、ある送信サイトが他の全てのサイトに
複数のパケットから成る同じデータを大量に送る場合、
送信サイトは全データを数パケットから成るブロックへ
分割する。各ブロックに対して、全受信サイトから確認
応答を受けるために、受信サイトをグループ化し、各グ
ループによって異なるタイミングで送信サイトに確認応
答パケットを応答する。この方法により、受信の確認を
1サイトで行なった場合でも、確認応答パケットによる
ぶつかりの数を減らすことが可能となる。
【0036】
【実施例】以下、本発明の1実施例を詳細に説明する。
ここでは、1つのサイトから他の全てのサイトへプログ
ラムをロードする場合を例にとり説明する。
【0037】[プログラムのロードの実施例]図1は、
ネットワークトポロジーがメッシュ型で、かつ、軸方向
へのマルチキャスト機能を備えた並列計算機に、本発明
を適用してプログラムをロードする場合の構成図であ
る。図1では、注目するサイトのみをあげてあるが、実
際にはメッシュの各格子点上に各サイトが結合されてい
る。
【0038】外部記憶装置3に格納されているプログラ
ムが、サイト1からほかの全てのサイトに、ブロードキ
ャストされロードされる。サイト1は、通信線20を介
してサイト50〜53,2と接続している。これがX軸
方向の接続である。さらに、サイト1は、通信線23を
介してサイト59〜63に接続している。これがY軸方
向の接続である。サイト2は、Y軸方向の接続として、
通信線21を介してサイト54〜58と接続している。
【0039】各サイトには、X軸およびY軸方向へのブ
ロードキャスト通信ハードウェアが備えられている。1
1はサイト1のX軸方向のブロードキャスト通信ハード
ウェア、12はサイト1のY軸方向のブロードキャスト
通信ハードウェア、13はサイト2のY軸方向のブロー
ドキャスト通信ハードウェアである。
【0040】例えば、サイト1においては、ブロードキ
ャスト通信ハードウェア11によりX軸方向の全てのサ
イトへ一度にデータを転送することが可能である。ま
た、同ハードウェア12により、Y軸方向へのブロード
キャスト通信が可能である。但し、ブロードキャスト通
信ハードウェアは、同一軸上のサイトへデータを配付す
るだけで、ほかの軸上のサイトへの通信は行なわない。
【0041】サイト1からブロードキャスト通信を行な
う場合、サイト1では送信ソフトウェア5が動作し、サ
イト50〜53,2では中継ソフトウェア(例えば、サ
イト2の中継ソフトウェア9)が動作し、中継ソフトウ
ェアが動作するサイトにY軸を介して接続するサイト
(例えば、サイト54〜58)では、受信ソフトウェア
(サイト58の受信ソフトウェア10)が動作する。ど
このサイトでどのソフトウェアが動作するかは、構成し
た階層構造に依存する。詳細は、構造定義情報の配付方
法で述べる。
【0042】まず図1〜図4を用いて、図1の並列計算
機においてプログラムをブロードキャストして各サイト
にロードする場合の全体のおおまかな流れを説明する。
サイト1がプログラムの配付サイトで、その他のサイト
が受信サイトである。サイト1は、外部記憶装置3から
ロードするプログラムを自サイト1に読み込む。
【0043】次に、送信ソフトウェア5のブロック構成
118により、読み込んだ全データをブロックに分割す
る処理を行なう。ブロックとは、送信するデータの単位
である。送信したデータは、確認応答が送られてくるま
では再送用に保持しておく必要があるが、ブロックはそ
の保持の単位である。この例では、プログラムをロード
するが、プログラムの全データ量は決まっており、か
つ、全データをメモリ上に保持することが可能であるか
ら、全データを1ブロックとする。
【0044】次に、構造定義部100により、サイト1
を最上位階層とする階層構造を作成する。この階層構造
に沿って、サイト1から他のサイトへとデータを配付
し、確認応答パケットを収集する。
【0045】図2に、その階層構造を示す。階層構造は
木構造で、木構造の最上位階層のノード450は、送信
サイトであるサイト1に対応する。第2階層のノード4
51〜454は、軸20上のサイトに対応する。第3階
層のノード455〜458は、軸21上のサイト(54
〜58)に対応する。説明の都合で、ノード453が図
1のサイト2に、ノード457が図1のサイト58に、
それぞれ対応することとする。この様に、ある軸上のサ
イトをあるノードの子ノードとして構成することによ
り、あるノードからその子ノードへのブロードキャスト
を、ハードウェア装置を用いて高速に行なうことが可能
となる。
【0046】図2は、階層構造と共に、送信時の各階層
中のサイトにおけるソフトウェアの動作とデータの流れ
をも示している。特に、図2では、図1に図示した送信
ソフトウェア5、中継ソフトウェア9、および受信ソフ
トウェア10の各部のうち、ノード450(サイト1)
からデータを送信する際に着目すべき部分(図1の送信
ソフトウェア5のパケット送信部6、中継ソフトウェア
9のパケット受信部16とパケット送信部17、および
受信ソフトウェア10のパケット受信部19)を取り出
して図示している。
【0047】データの送信時の処理の流れを説明する。
ノード450(以下、各サイトをノード450のように
対応する木構造のノードで言及する)の送信ソフトウェ
ア5は、階層構造定義を行なったあと、パケット送信部
6で子ノード451〜454へのデータ配付を行なう。
このデータ配布は、1ブロック中の全データの送信完了
まで、軸方向のマルチキャストハードウェア(図1の1
1)を用いて、行なわれる。
【0048】ノード450の送信ソフトウェア5からデ
ータを受けたノード453の中継ソフトウェア9は、パ
ケット受信部16で、受信パケット管理表(図1の1
4)中の、入力パケットに対応するエントリにそのパケ
ットの受信を記録する。受信パケット管理表14の詳細
は、後に説明する。ノード453の中継ソフトウェア9
は、ローカルメモリ上に受信パケットをストアした後、
図2の木構造に従って、パケット送信部17でY軸方向
のマルチキャストを行い、受信したパケットの中継を行
なう。
【0049】中継されたパケットを受信したノード45
7の受信ソフトウェア10は、受け取ったパケットをロ
ーカルメモリ上にストアした後、ノード453と同じよ
うに、受信パケット管理表(図1の22)中の対応する
項目に、パケットの受信を記録する。
【0050】上述のようにして、単一送信サイトから各
受信サイトへ、1ブロック分のデータの送信が続く。1
ブロック分の全パケットの送信が終了すると、全ノード
は確認応答の受信処理に入る。
【0051】図3は、全体の確認応答受信時のソフトウ
ェアの動作とデータの流れを示す。特に、図3では、図
1に図示した送信ソフトウェア5、中継ソフトウェア
9、および受信ソフトウェア10の各部のうち、確認応
答の受信処理の際に着目すべき部分(図1の送信ソフト
ウェア5の応答受信部7、中継ソフトウェア9の応答受
信部25、および受信ソフトウェア10の再送要求部2
4)を取り出して図示している。さらに、図3では、図
1の中継ソフトウェア9では省略した再送要求部140
を図示している。
【0052】確認応答の受信処理時の処理の流れを説明
する。1ブロック中の最終パケットを受信したノード4
57の受信ソフトウェ10は、再送要求部24におい
て、受信パケット管理表22を調べ、全てのパケットが
受信できていれば、肯定の確認応答(ACK)を、親ノ
ード453の中継ソフトウェア9に送る。受信できてい
ないパケットを発見した場合は、親ノード453の受信
ソフトウェア9へ、そのパケットの再送要求を送る。
【0053】中継ソフトウェア9は子ノードからの確認
応答を応答受信部25で待つと共に、再送要求部140
により自ノードの再送要求処理を行なう。再送要求部1
40の再送要求処理は、基本的に、子ノード457の再
送要求部24の処理と同じである。但し、ACKを返す
条件が異る。中継ソフトウェア9は、当該ソフトウェア
が動作するノードに全パケットが到着し、かつ全ての子
ノードからACKを受信したときに、親ノードであるノ
ード450の送信ソフトウェア5にACKを応答する。
これにより、ノード453以下のノードでの1ブロック
分のデータ到達を確認することができる。
【0054】子ノードから確認応答パケットを受けたノ
ード453の中継ソフトウェア9は、応答受信部25で
確認応答パケットを調べる。ACKを受け取った場合
は、確認応答表(図1の15)にACK受理を記す。確
認応答表の詳細は、後に説明する。前記の条件を満たし
ていれば、ノード450に自サイトのACKを応答し、
ノード453における1ブロック分のプログラムのロー
ドは終了する。子ノードから再送要求を受けた場合は、
再送処理に入る。
【0055】ノード450の送信ソフトウェア5は、全
てのパケットを送り終わった後に、応答受信部7で、子
ノードからの確認応答を待つ。確認応答が再送要求であ
れば、再送処理に入る。確認応答がACKであれば、対
応する確認応答表8にACKを受け取ったことを記録す
る。全ての子ノードからACKを受け取ったことを確認
したら、ノード450のサイト1は1ブロック分のプロ
グラムのロードを終了する。
【0056】図4は、再送処理時のソフトウェアの動作
とデータの流れを示す図である。この図では、ノード4
53の中継ソフトウェア9が再送処理を行なっている。
特に、図4では、図1に図示した送信ソフトウェア5、
中継ソフトウェア9、および受信ソフトウェア10の各
部のうち、再送処理の際に着目すべき部分(図1の送信
ソフトウェア5の再送部18、および受信ソフトウェア
10の再送要求部24)を取り出して図示している。さ
らに、図4では、図1の中継ソフトウェア9では省略し
た再送要求部140と再送部151を図示している。
【0057】再送処理時の処理の流れを説明する。ノー
ド456から再送要求を受けた場合、ノード453の中
継ソフトウェア9は、要求されたデータをノード456
の受信ソフトウェア10に送り返す(矢印459)。
【0058】また、ノード453がノード457から再
送要求を受けた場合に、ノード457が要求した再送デ
ータが、ノード453にも未到着で、再送要求の対象と
なっていることがある。この場合、ノード453の中継
ソフトウェア9は、再送要求部140により、直ちに、
該当する再送要求をノード450に対して行なう(矢印
460)。ノード450から再送データが返答された
(矢印461)後に、ノード453の再送部151で、
ノード457へ、再送データを返答する(矢印46
2)。
【0059】再送データを受けとった中継ソフトウェア
9、および受信ソフトウェア10は、親ノードのソフト
ウェアに、再送データが全て正しく届いた場合は、AC
Kを応答する。
【0060】全てのノードで再送処理が終了して、1ブ
ロックの再送処理が終わる。
【0061】図5(a)は、本実施例においてプログラ
ム配付を行なう際に用いる木構造を示す。図5(a)の
各ノードの番号は、図1の各サイトに付した番号に等し
い。本実施例では、この図のように、送信サイト1をル
ートとする木構造を各サイト間に対応させ、この木構造
に基づいてプログラムの配付を行う。
【0062】木構造は、図1の構造定義部100で作成
するが、その際、プログラムの配付と確認応答の収集が
その木構造に沿って効率的に行なえるように構成する。
本実施例では、送信ノードであるサイト1の子ノードと
して、サイト1からマルチキャスト可能なサイト50〜
53,2,59を選ぶ。これにより、ルートノードから
子ノードへの送信処理を2回の通信(マルチキャスト通
信1回と、サイト59への送信1回)で行なうことが可
能となる。サイト1の子ノードとしてサイト59が必要
な理由は、後に構造定義の説明で述べる。同様に、サイ
ト1の孫ノードに関しても、マルチキャスト通信が有効
に利用できるように、木構造を構成する。例えば、サイ
ト2の子ノードには、図1の軸21上のサイト54〜5
8を対応させ、サイト2から子ノードへデータを配付す
る場合、軸方向のブロードキャストハードウェア13が
利用できるようにする。
【0063】図5(b)は、確認応答の収集の様子を示
す。構造定義部100で木構造を作成するに際しては、
確認応答を効率的に集めるために、子ノードの数を、親
ノードによる確認応答の取りこぼしが生じない程度に抑
えるようにする。また、子ノードと親ノードとの通信が
直接通信可能となるように、木構造を構成する。直接通
信可能とは、2点間の通信で、途中に他のノードやルー
ティング用の回路を経ずに通信できることを意味する。
例えば、図1において、サイト1からサイト56へ通信
を行なう場合は、データが軸20から軸21と他の軸へ
移るために、パケットは、ルーティング用の回路を最低
1つ通過する必要がある。従って、この2サイト間の通
信は直接通信可能ではない。
【0064】このような木構造に従ってデータを配付し
確認応答を収集するので、ルートとリーフ以外のノード
の動作は同じである。そこで、ノードを、ルートノー
ド、リーフノード、およびそれ以外のノード(中間ノー
ド)の3種類に分け、おのおのの場合について、各サイ
ト上でどのように処理が行われるかを詳細に説明する。
【0065】図6は、ルートノードであるサイト1の動
作を示す。なお、以降の説明では、1ブロックの転送に
ついてのみ説明する。複数のブロックから成るデータの
場合は、以降で説明する処理を、分割したブロックの個
数分、繰り返せばよい。
【0066】図6を参照して、送信元であるサイト1
は、構造定義部100で、まず木構造を実際のアーキテ
クチャにどのようにマッピングするかを決定する。図1
のアーキテクチャでは、各軸方向にマルチキャスト通信
機能があるので、上述した図5のようにマッピングを行
う。これにより、各階層でプログラムを子ノードに配付
するのにマルチキャスト通信機能を用いることができ、
高速なプログラム配付が可能となる。構造定義について
は、後に例を挙げて詳述する。
【0067】次に、外部記憶装置3からロードするプロ
グラムを読みだし(101)、全パケット量を算出する
(102)。プログラムの場合は、全データ量が既知で
あるため、全パケット量を計算することが可能である。
次に、全パケット量を基にブロックを構成する(11
8)。本実施例では全データを1ブロックとする。この
1ブロックに対して、確認応答表8を作成し初期化する
(103)。
【0068】図10(a)は、確認応答表の1つのエン
トリ200を示す。確認応答表は、このようなエントリ
200を要素とする配列であり、1ブロックのデータ送
信後に、子ノードからの確認応答の受理を記録するため
の表である。この表は、リーフノード以外の全てのノー
ドが保持する。配列の大きさは、定義した木構造におい
て、この表を保持するノードの子ノードの数である。各
エントリ200は、この表を保持するサイトの子ノード
となるサイトのサイト番号と、ACK(確認応答の肯定
応答)受理フラグとからなる。ACK受理フラグは、そ
のエントリに対応する子ノードからのACKを受信した
かどうかを示すフラグである。
【0069】始めはACKは受け取っていないので、確
認応答表のエントリ200のACK受理フラグは、全て
ACK未受理に初期化する。図10(b)および図10
(c)は、それぞれ、サイト1およびサイト2における
確認応答表を示した図である。図10(c)は、サイト
2が全ての子ノードに対応するサイトからACKを受信
し、親ノードにあたるサイト1へ自ノードのACKを応
答した後の状態である。サイト1ではサイト2からのA
CKを受信したので、図10(b)のように、対応する
エントリ203をACK受理と設定している。
【0070】再び図6を参照して、確認応答表の作成と
初期化(103)の後、パケット作成部4の処理を行な
う。パケット作成部4では、ロードデータを1つ1つの
パケットに分解してデータを配付する。
【0071】図12(a)に、送信パケットの構造を示
す。この図のように、送信パケットは、構造定義情報4
40、シーケンス番号441、ID442、ブロック長
443、フラグ444、およびデータ445からなる。
構造定義情報440は、構造定義部100により決定さ
れた構造定義情報(図5のような木構造を示す情報)で
ある。シーケンス番号441は、1パケット送出毎に付
加され、インクリメントされる値で、ある通信処理に関
与する複数パケットの順序と識別を表す。ID442
は、通信処理を識別する識別子である。ID442によ
り、本発明のプロトコルを用いる複数のブロードキャス
ト通信を、同時に支援することが可能となる。ブロック
長443は、送信するブロックの長さ(全パケットの数
で表す)である。フラグ444は、送信パケットがデー
タの終了か、または、確認応答の要求かどうかを示す。
データ445は、実際に配付するデータである。
【0072】図6において、パケット作成部4では、始
めに、図12(a)のパケットの構造定義情報440の
領域に構造定義部100で決定した構造定義情報を格納
する(104)。次に、パケットの順番を示すシーケン
ス番号を、図12(a)のパケットのシーケンス番号フ
ィールド441に格納する。また、ステップ102で計
算した全パケット量をブロック長フィールド443に格
納する(106)。次に、このパケットが最終パケット
かどうかを、全パケット量と現在までに送信したパケッ
トの量から判断する(107)。その判断結果をパケッ
トのフラグフィールド444に設定する(108,10
9)。以上で、送信すべき1パケットの準備が整う。
【0073】次に、パケット送信部6でパケットを転送
する。本実施例の計算機では、軸方向のマルチキャスト
ハードウェアがあるので、それを利用して、サイト1は
子ノードに対応するサイト50〜53,2,59にデー
タを送信する(110)。そして、送信したパケットが
1ブロック内の最終パケットかどうかを判断する(11
1)。最終パケットでない場合は、パケット作成部4か
らの処理を繰り返し、次のパケットを作成して送信す
る。ステップ111で最終パケットである場合は、処理
は応答受信部7へ進む。
【0074】応答受信部7では、子ノードからの確認応
答を受け、全ての子ノードからACKを受理したときに
処理を終了する。
【0075】図12(b)に、確認応答パケットの構造
を示す。この図のように、確認応答パケットは、構造定
義情報440、シーケンス番号441、ID442、ブ
ロック長443、フラグ446、および再送要求パケッ
ト番号447からなる。構造定義情報440、シーケン
ス番号441、ID442、およびブロック長443の
各フィールドは、図12(a)の送信パケットの対応す
るフィールドと同じ意味である。フラグ446は、この
パケットがACKか再送要求かを示すフラグである。再
送要求パケット番号447は、再送要求のときにのみ意
味をもち、再送要求が必要なパケットのシーケンス番号
が入る。
【0076】図6の応答受信部7では、まず、確認応答
の受信待ちに入る(112)。受信タイムアウトの場合
(113)は、最終パケットが届いていないと考えられ
るから、再送部18に進む。再送部18では、確認応答
表(図10)を調べて、ACKを受理していない子ノー
ドに対して最終パケットを再送する(116)。
【0077】パケットを受信した場合は、そのパケット
が子ノードからのACKかどうかを調べる(114)。
子ノードからのACKである場合は、確認応答表(図1
0)を検索して、対応する子ノードのエントリを探し出
し、そこのACK受理フラグをACK受理にする(11
5)。次に、確認応答表で、全ての子ノードからACK
を受理したかどうかを調べ(117)、全ての子ノード
からのACK受理であれば、サイト1は通信を終了し、
ロードプログラムの実行に移る。そうでない場合は、再
びステップ112で確認応答の受信を行う。ステップ1
14で調べたパケットが再送要求である場合は、そのパ
ケットの再送要求パケット番号447(図12(b))
のフィールドを参照し、そこに指定されたシーケンス番
号のパケットを再送する(116)。
【0078】以上が、送信ノードであるサイト1の動作
である。
【0079】図7は、中間ノード(図1のサイト50〜
53,2,59)の動作を示す。以下の説明では、代表
として、サイト2を例に取り説明する。
【0080】サイト2は、始めにパケット受信部16の
処理を行なう。パケット受信部16では、まず、ロード
するプログラムデータのパケットの到着を待つ(13
0)。タイムアウト(131)の場合は、受信パケット
管理表を調べ、再送する必要のあるパケットを選び(1
32)、その再送要求を親ノードであるサイト1に送る
(134)。その後、再び受信処理130へ戻る。パケ
ットが到着した場合は、受信パケット管理表を検索し
(133)、そのパケットが既に受信されていたら(1
35)、再び受信処理130へ戻る。始めて受信するパ
ケットであるならば、受信パケット管理表にそのパケッ
トの受信を記録し(136)、データをサイト2のロー
カルメモリ上にコピーする(137)。
【0081】図11は、受信パケット管理表の構造を示
す。受信パケット管理表は、データの受信最中にどこま
でデータを受信したかを記録するデータ構造である。そ
の構造は、図11の230に示すように、シーケンス番
号と受信完了フラグの対をエントリとする表である。1
ブロック中の最初のパケットを受信したときに、そのパ
ケット中のブロック長443の長さ分のエントリを作成
し、各エントリの受信完了フラグを未完に初期化する。
受信完了フラグは、完了と未完の2つの値を取り、完了
は、そのシーケンス番号が示すパケットを受信したこと
を示し、未完は、未受信であることを示す。
【0082】図7のステップ136の処理は、受信パケ
ットのパケットヘッダのシーケンス番号441と同じ番
号のエントリを受信パケット管理表から探索し、そのエ
ントリの受信完了フラグを完了に変える処理である。サ
イト2では、この処理を、パケットを受け取る度に行な
う。
【0083】図7のパケット受信部16の処理の後、パ
ケット送信部17の処理を行なう。パケット送信部17
では、サイト2の子ノード(サイト54〜58)へパケ
ットを配付する。サイト1における構造定義の際に、図
5のように、子ノードが同じ軸上にあるように階層構造
を作ったので、サイト2が子ノードにパケットを配付す
るときにも軸方向マルチキャスト機能が使用できる。そ
こで、サイト2は、軸方向マルチキャスト機能を用い
て、パケットを子ノードへ配付する(138)。次に、
送ったパケットが1ブロック中の最終パケットかどうか
を判断し(139)、最終パケットでなければ受信処理
130に戻る。最終パケットである場合は、再送要求部
140の処理に進む。
【0084】図8に、再送要求部140の処理を示す。
再送要求部140では、まず、受信パケット管理表(図
11)をチェックし(180)、取りこぼしたパケット
があるかどうか、すなわち再送が必要かどうかを判断す
る(181)。この判断は、受信パケット管理表の中
で、受信完了フラグが未完となっているエントリを全て
探し出すことにより行なう。そのエントリの存在は、パ
ケットの取りこぼしがあったことを意味し、再送要求を
する必要がある。例えば、受信パケット管理表が図11
に例示した内容である場合は、シーケンス番号1〜9
6,98が全て完了であり、他は未完であるから、再送
が必要なパケットのシーケンス番号は、97,99,1
00である。
【0085】取りこぼしたパケットがある場合は、再送
要求を親ノードであるサイト1へ送り(183)、再送
データを待つために、応答受信部25へ進む。再送が必
要でない、即ち、全てのパケットの受信を確認したら、
直ちに応答受信部25へ進む。
【0086】再び図7を参照して、応答受信部25の処
理を説明する。応答受信部25では、まず3種類のパケ
ットを待つ(141)。即ち、子ノードからのACK、
親ノードからの再送パケット、または子ノードからの再
送要求パケットである。
【0087】ステップ141でいずれのパケットも受け
取れずタイムアウトになった場合は(142)、最終パ
ケットを子ノード(サイト54〜58の中で、まだAC
Kを受理していないサイト)に再送し(144)、AC
Kの送信を促す。そして、1ブロックの全てのパケット
の受信が完了しているかどうかを判断し(154)、完
了していたら受信処理141に戻り、完了していなかっ
たら再送要求部140に戻って再送要求する。
【0088】受信処理141でパケットを受信した場合
は、そのパケットがACKであるかどうかを判断する
(143)。ACKであった場合は、確認応答表(図1
0)の該当するエントリにACK受理を記録する(14
6)。次に、確認応答表を調べ、子ノード全て(サイト
54〜58)からACKを受理しているかどうか判断す
る(147)。子ノード全てからACKを受理している
場合は、親ノード(サイト1)にACKを応答し(14
8)、処理を終える(149)。ステップ147で未だ
ACKを受理していない子ノードが存在する場合は、ス
テップ154に戻る。
【0089】受信処理141で受信したパケットがAC
Kでないとき(143)は、そのパケットが親ノード
(サイト1)から再送された再送パケットであるかどう
かを判断する(145)。再送パケットである場合は、
そのパケットについてステップ135〜137と同様の
処理を行ない(図7では不図示)、ステップ154に戻
る。受信したパケットが再送パケットでない場合は、そ
のパケットが子ノードからの再送要求パケットであるか
どうか判断する(150)。子ノードからの再送要求パ
ケットであれば、再送部151で、要求されたパケット
を1対1の通信を用いて再送する(152)。その後、
ステップ154に戻る。受信したパケットが子ノードか
らの再送要求パケットでないときは、3種類のいずれの
パケットでもないということであるから、そのパケット
を捨てる(153)。
【0090】以上が、中間ノードの動作である。
【0091】最後に、図9を用いてリーフノードにおけ
る処理について説明する。
【0092】始めに、パケット受信部19でパケットを
受信する。パケット受信部19の動作は、図7で説明し
た中間ノードのパケット受信部16と同じであるので、
説明は省略する。
【0093】パケット受信部19によりパケットを受信
した後、その受信したパケットが1ブロック中の最終パ
ケットであるかどうかをチェックする(170)。受信
パケットが最終パケットでなければ、パケット受信部1
9に戻り、パケットの受信を続ける。受信パケットが最
終パケットである場合は、再送要求部24の処理に入
る。
【0094】再送要求部24では、まず受信パケット管
理表22をチェックし(171)、取りこぼしたパケッ
トがあるかどうか、すなわち再送が必要かどうかを判断
する(172)。取りこぼしたパケットが存在する場合
は、再送要求を行い(175)、パケット受信部19の
処理により、要求したパケットを受理する。その後、再
び受信パケット管理表のチェック(171)からの処理
を行なう。全てのパケットの受理を確認した場合は(1
72)、親ノードにACKを応答し(173)、処理を
終わる(174)。
【0095】以上で、図5のような木構造に沿ってデー
タを配付し確認応答を収集する場合の、ルートノード、
中間ノード、およびリーフノードのおのおのについて、
各サイトでの処理を説明した。
【0096】(構造定義)次に、図1および図6に示し
た構造定義部100について詳しく説明する。構造定義
部100では、ブロードキャスト通信を用いてデータ配
付とACK(確認応答)収集とを高速に行なうために、
ネットワークの物理的な性質を考慮して、木構造へ各サ
イトをマッピングする。ここでは、代表的なネットワー
クトポロジーについて構造定義方法を述べる。
【0097】基本方針は、階層的にデータを配り、階層
的に確認応答を集めることである。従って、送信サイト
から近い順番に階層化することが好ましい。ここで、近
いということは、送信受信の遅れが小さいということで
ある。例えば、送信サイトと受信サイトとの間にルータ
が介在する場合は、ルータの存在の分だけ遅れが生じ
る。従って、ある送信サイトから最も近いサイトとは、
送信サイトとの間のルータの数が最も少い経路で通信可
能なサイトである。
【0098】この様な方針に基づいた木構造の定義方法
を、具体的なネットワークについて説明する。
【0099】(メッシュ)図13(b)は、2次元のメ
ッシュの構造を示す。各軸方向には有限個のサイトが接
続されている。ブロードキャストを行うサイト1は、自
サイトが属する軸のどれかを選び、それを木構造の始め
のレベルとする。木構造のレベルとは、ルートノードか
ら等しい距離にあるノードの集合である。ルートノード
はレベル0に属する。サイトが属する軸とは、そのサイ
トと接続されている軸である。図13(b)の場合、サ
イト1が属する軸は、軸A(273)と軸C(275)
である。この場合、サイト1は、軸Aを木構造の始めの
レベルに選び、図13(a)の様にマッピングする。
【0100】次に、軸A上のサイト1以外のサイト(例
えばサイト2)について、軸Aとは異なる次元の軸(サ
イト2については、軸B(274))上の当該サイト以
外のサイトを当該サイトの子ノードとなるようにマッピ
ングする。即ち、サイト2の子ノードが軸Bのサイト6
〜9となるようにマッピングする。メッシュの場合、軸
方向を基にしてマッピングを行なうのは、同じ軸上にあ
るサイト間の通信は、最も低い遅延時間で行なうことが
可能であるからである。
【0101】サイト1の軸C方向のサイト(図13の2
52〜255)については、上述のようにマッピングを
行った場合、マッピングされない。そこで、図13
(a)のように、サイト1の子ノードとしてC軸方向の
サイト1以外のサイトのマッピングを行う。あるいは、
図5(a)のように、軸C上のサイト1以外のサイトを
2階層に分けるマッピングも可能である。
【0102】図13(a)の木構造において、送信サイ
ト(サイト1)の1階層下には8つのノードが存在する
(軸Cにはサイト1以外に4サイト接続されている)か
ら、送信サイト(サイト1)における確認応答待ち数は
8になる。一方、他の中間ノードにマップされたサイト
(サイト2〜5)の確認応答待ち数は4である。したが
って、送信サイト(サイト1)の確認応答待ち数が、中
間ノードのサイトの確認応答待ち数に比べて、多い。し
かし、軸C上のサイトはリーフノードとしてマッピング
されるので、サイト1の他の子ノードやサイト2〜5に
比べて、時間的に早く確認応答を返すことが可能でな
る。従って、同時にぶつかる確認応答の数が増えるわけ
ではない。
【0103】(トーラス)図13(c)は、2次元のト
ーラス構造を示す。トーラスは、リングの直積で、メッ
シュの各軸がリングになったと見做せる。従って、基本
的な構造定義の方法はメッシュのときと同じである。ま
ず、ブロードキャストするサイト1は、サイト1が属す
るリングからリングA(276)を選び、そのリング上
のサイト1以外のサイト(258〜261)をサイト1
の子ノードとする。次に、サイト1の子ノードであるサ
イト2については、サイト2が属するリングでリングA
と異なるリングB(277)を選び、そのリング上のサ
イト2以外のサイト(サイト6〜9)をサイト2の子ノ
ードと定める。サイト1の他の子ノードについても同様
である。
【0104】(ファットツリー)図13(d)は、ファ
ットツリーの構造を示す。ファットツリーは、この図の
ように、クラスタ分けした各サイト間と、各クラスタ間
をツリー状に接続したトポロジーである。まず、ブロー
ドキャストを行うサイト1が属するクラスタ(280)
と同等な各クラスタ(279,281)を代表するサイ
ト(例えばサイト2)を選び、これをサイト1の子ノー
ドとする。次に、各代表サイトについて、そのサイトが
属するクラスタ中の他のサイトを代表サイトの子ノード
とする。例えば、クラスタ279ならば、代表サイトで
あるサイト2の子ノードを、サイト6〜9とする。
【0105】(ハイパーキューブ)ハイパーキューブの
構造を持つネットワークにおけるブロードキャスト通信
は、通常、GHC(Generalized hype
rcube)用のブロードキャストアルゴリズムを用い
て、木構造に基づいて行われる。このアルゴリズムを、
図14(a)の3次元ハイパーキューブ上で、サイト0
00からのブロードキャストに適用すると、木構造は図
14(b)のようになる。
【0106】別な木構造として、図14(c)を考えた
場合、この方が、信頼性のあるブロードキャストを高速
に行うことができる。なぜならば、図14(b)では、
ノード311は次のレベルにパケットを配送するのに2
回送信を行う必要があるのに対し、図14(c)では、
レベル2の各ノード317〜319は1回の送信のみで
よいからである。同じレベルの各ノードは並列に動作す
ることが可能であるので、レベル2の処理(サイト00
1,010,100の送信処理)が終了するために、図
14(b)の木構造の場合は送信2回分の時間が必要で
あるのに対し、図14(c)の方法では送信1回分の時
間ですむ。
【0107】さらに、本発明を適応してACKを集める
場合、図14(b)の木構造の場合は、2つのノードか
らACKを集めるノード311がこのレベルのACK収
集速度の律速段階となる。本発明の方法において、最終
的にルートノードがACKを集め終わる時間は、各レベ
ルで並列にACK収集を行なうことができることを考慮
すると、基本的に木構造の高さ(レベル数)に依存す
る。仮に、ACKを集めるのに必要な時間をTとする
と、図14(c)の場合は、T×(木の高さ)=3Tと
なる。ところが、図14(b)のように、途中のノード
で複数のACKを待つ場合は、そのレベルのACK収集
に要する時間はTよりも大きい。1つのノードで待つA
CK数(即ち、そのノードの子ノードの数)がk(k≧
2)のとき、その時間的な増分をT(k)とすると、図
14(b)の場合は、3T+T(2)の時間がかかる。
【0108】従って、図14(c)のように、なるべく
木がバランスするように木構造を決定することが望まし
い。
【0109】次に、図14(c)のようになるべくバラ
ンスするように木構造を作るアルゴリズムについて説明
する。
【0110】図17は、上述のアルゴリズムを説明する
ためのフローチャートである。図15は、4次元ハイパ
ーキューブに当該アルゴリズムを適用した場合におい
て、アルゴリズム中で使用するデータ構造を示す。図1
6は、4次元ハイパーキューブに当該アルゴリズムを適
用した結果、作成される木構造を示す。
【0111】図15は、送信サイトの番号を0000
(2進数)と仮定したときの、送信サイトからのハミン
グ距離毎に全てのサイトを分類した表である。ハミング
距離とは、2つのサイト番号で決まる量で、各々のサイ
ト番号を2進数で表した場合、その2つの2進数間で異
なるビットの数である。例えば、サイト0100とサイ
ト1010のハミング距離は3である。
【0112】図15において、列340は送信サイトか
らのハミング距離を表し、列341は列340で示され
るハミング距離にあるサイトの集合の要素を示す。例え
ば、344はサイト0000からのハミング距離が2で
あるサイトの集合を表す。
【0113】図16は、このアルゴリズムによって生成
される木構造である。363〜366は、同じレベルの
ノードを結ぶリンクを表す。このリンクをレベルリンク
と呼ぶ。
【0114】以下、図15〜17を用いて、一般的にア
ルゴリズムの説明をした後で、4次元のハイパーキュー
ブについて具体的な説明を行う。
【0115】図17において、始めに、送信サイトから
のハミング距離により全サイトを分類し、図15のテー
ブルを作成する(370)。次に、送信サイトを木構造
のルートノードと定める(371)。また、レベル0の
レベルリンク、即ち、送信サイトからなるレベルリンク
を作成する(372)。そして、処理するレベル数を特
定する変数kに初期値として1を代入する(373)。
レベルk−1のノードの子ノードをレベルkのノードか
ら選ぶ処理を行なうことになる。
【0116】次に、現処理中のレベル(レベルk−1)
のノードがバランス状態(図14で説明した木がバラン
スした状態)で取りうる子ノードの最大数を求めるた
め、ハミング距離kのサイト数を現レベルのレベルリン
クの長さ(現レベルのレベルリンク中にあるノードの
数)で割り、答えをnに代入する(374)。除算時に
余りがあった場合は、nを1つインクリメントする(3
83)。
【0117】バランスをなるべく保つために、現処理中
のレベルk−1が偶数か奇数かを判断し(375)、こ
れに基づいてレベルリンクのアクセス方向を決める。奇
数の場合は、レベルリンクを左からアクセスし(37
6)、偶数の場合は右からアクセスする(377)。
【0118】次に、レベルリンクのアクセスする方向の
先頭からノードを一つ選び、選んだノードの表すサイト
からハミング距離1のサイトを、図15のテーブルでル
ートからのハミング距離340がkであるエントリ34
1から、最大n個選ぶ。選び終わったら、そのサイトを
テーブルから削除する。選んだサイトを親ノードの子ノ
ードとする(378)。
【0119】次に、レベルk−1のレベルリンクのノー
ドを全てアクセスしたかどうか検査し(379)、全て
アクセスしていなかったら、ステップ375から処理を
繰り返す。全てアクセスし終わった場合は、次のレベル
に処理を進めるため、kを1つインクリメントする(3
80)。そして、kがハイパーキューブの次元数Dに達
したかどうか調べ(381)、達した場合は終了する
(382)。そうでない場合は、ステップ374から次
のレベルの処理を繰り返す。
【0120】次に、このアルゴリズムを、4次元のハイ
パーキューブの場合について具体的に説明する。
【0121】まず、図17のステップ372までで、図
16のルートノード347とレベルリンク366が作成
される。また、図15のテーブルが作成される。次に、
ステップ373でk=1とした後、ステップ374で、 n=(ハミング距離1のサイト数)÷(0レベルリンク
のサイト数)=4÷1=4 を計算し、n=4となる。
【0122】次に、ステップ375で、k−1=0は偶
数なので、ステップ377で0レベルリンク366を右
からアクセスする。そして、ステップ378でそのリン
クの先頭からノード347を取り出す。このノード(ル
ートノード)347が表すサイト番号0000からハミ
ング距離が1のサイト番号を、図15のテーブルのルー
トサイトからのハミング距離が1のテーブル343のサ
イトの集合から最大4サイト選ぶ。この場合は、全て選
ばれて、これが次のレベルのノードになる。
【0123】ここまでで、全木構造の中で、ルートノー
ドとレベル1のノード(348〜351)が完成する。
次に、ステップ380でk=2となり、ステップ374
に戻る。
【0124】ステップ374では、n=6÷4=1とな
り、今度の場合は、余りがあるので、ステップ383で
n=2となる。ステップ375でk−1=1は奇数と判
断されるから、ステップ376でk−1(=1)レベル
リンク363を左からアクセスする。
【0125】ステップ378では、始めに、左端のノー
ド348にアクセスする。このノード348が表すサイ
ト1000からのハミング距離が1のサイトを図15の
テーブル344から最大2つ選ぶ。サイト1000から
距離1のサイトは、テーブル344中には、サイト11
00,1010,1001の3つ存在する。ここでは、
サイト1100と1010を選び、サイト1000のノ
ード348の子ノード352,353とする。
【0126】次に、このレベルリンク363には未だア
クセスしていないノードがあるから、処理はステップ3
79→375→376→378と進み、次のノード34
9のアクセスに移る。ノード349の表すサイト010
0からのハミング距離が1のサイトは、図15のテーブ
ル344から、サイト1100,0110,0101で
ある。このうち、サイト1100は既にノード348の
アクセスのときに削除されているので、サイト0110
と0101を選び、サイト0100のノード349の子
ノード354,355とする。
【0127】同様にして、ノード350,351につい
ても子ノードを得る。ノード350,351のアクセス
の場合は、図15のテーブル中にこのノードが表すサイ
ト0010,0001からのハミング距離が1のサイト
は1つしか存在しないので、それぞれ、その1つを子ノ
ード356,357とする。
【0128】次に、k=3の場合に進む。この場合は、
レベルリンク364を右からアクセスする。n=1とな
るので、ノード357をアクセスしたときは、図15の
テーブル345から、ノード357の表すサイト100
1からハミング距離が1のサイトを選ぶ。この場合は、
候補が2つ、サイト1101と1011があり、ここで
はサイト1101を選ぶ。以下、ノード352まで同様
に処理する。
【0129】次のk=4の場合は、ノード358の子ノ
ードは、サイト1111の表すノード362となる。残
りのアクセスは、図15のテーブル346に要素がなく
なるので、なにもせずに終わる。最後に、D(次元)は
4、k=5なので、木構造作成処理は終了する。
【0130】(ハイパークロスバ)通常のハイパーキュ
ーブと呼ばれるトポロジーにおいて、あるノードに接続
する辺の数(次数)は、ハイパーキューブの次元に等し
い。このような通常のハイパーキューブをHC(2,
D)と表現する。Dはハイパーキューブの次元である。
ハイパークロスバのトポロジーはHC(N,M)であ
る。HCは一般化されたハイパーキューブで、各サイト
に付随する番号はN進数で表現される。Mは各サイトに
付随する番号の桁数を表す。
【0131】図18に、HC(4,2)の構成を示す。
各辺の番号は2桁の4進数で表現されている。
【0132】ハイパークロスバの場合も、GHCのブロ
ードキャストアルゴリズムを用いると、木構造のバラン
スが悪くなる問題が生じる。この場合も、上述のバラン
スのよいアルゴリズムを基本的には適用する。
【0133】(構造定義情報の配付方法)上述したよう
に、送信サイトは構造定義情報を各パケットのヘッダに
付加する(図12)。構造定義情報が全て同じであれ
ば、送り先ごとにパケットヘッダを変える必要がなくな
るので、送信サイトは、各パケットを送信するためにブ
ロードキャスト機能を用いることができる。
【0134】図19に、構造定義部100により定義さ
れた木構造の表現の一例を示す。図19(a)の構造を
持つエントリの集合として、木構造を表現する。各エン
トリは、親ノードのサイトを表す情報450とそのサイ
トの子ノードに対応するサイトの集合を表す情報451
から成る。全サイトに対応するエントリが全体の木構造
を決定する。
【0135】図19(b)は、図5の木構造を表現した
例である。但し、子ノードを持たないリーフノードに対
応するサイトについてのエントリは省いてある。エント
リ452は、サイト1の子ノードがサイト50〜53,
2,59であることを表す。エントリ453は、サイト
2の子ノードがサイト54〜58であることを表す。こ
のことから、サイト54〜58はサイト1の孫ノードを
構成することがわかる。
【0136】各受信サイトは、最初のパケット受信時
に、そのパケットの構造定義情報(図12の440)か
ら図19の構造を抜き出し、この構造と自サイトのサイ
ト番号から自サイトのアクションを定める。
【0137】例えば、本実施例において、サイト2は、
サイト1から初めてパケットを受信したとき、図19
(b)のような表を作成する。次に、この表から、サイ
ト2の下にサイト54〜58が子ノードとして構成さ
れ、サイト2の親ノードはサイト1として構成されてい
ると認識する。したがって、サイト2は中間ノードとし
て動作することがわかり、以降中継ソフトウェア9が動
作する。さらに、サイト2がパケットを中継するときに
は、中継ソフトウェア9は、図19(b)のエントリ4
53を参照して、サイト54〜58にパケットを中継す
べきことを、判断できる。
【0138】上述の表現方法においては、構造定義をパ
ケットのヘッダとして送る場合、ヘッダのサイズは小さ
いほうが好ましいので、リーフノード以外のノードにつ
いての情報のみ送る。
【0139】全体の構造定義情報を各パケットに付加す
るには大きすぎる場合は、あらかじめ、木構造を定義し
ておくか、配付に先立って、構造定義情報を配付する必
要がある。
【0140】[ずらしACKの実施例]次に、ACKの
収集を時間的にずらして、ACK収集の集中を排除する
実施例について説明する。
【0141】対象とするネットワークは、図1のような
構造を持ち、全サイトへのブロードキャスト機能が備わ
っていることを仮定する。はじめに、送信サイトでは構
造定義として、自サイト以外のサイトを複数のグループ
に分ける。
【0142】図19(c)は、グループ分けした構造定
義情報の表現の1例を示す。グループ1は図1の軸20
上のサイトから成り、グループ2は軸23のサイトから
成る。以降の説明は、グループ分けの仕方に依存しない
ので、図20(a)のように、要素として4サイトをも
つグループを3つ(401,402,403)作った例
で説明する。
【0143】この実施例の通信方法は、複数の基本フェ
ーズからなりたっている。1つは送信フェーズである。
図20(a)に、送信フェーズの動作の様子を示す。次
は、確認応答フェーズである。確認応答フェーズは、構
造定義時に定義したグループの数だけ存在する。図20
ではグループが3つなので、確認応答フェーズは3つ
(図20(b)〜(d))存在する。各確認応答フェー
ズでは確認応答は1つのグループとのみ行なう。例え
ば、図20(b)では、グループ401が送信サイト4
00に確認応答を行なっている。
【0144】各グループの要素数をACKの取りこぼし
が起こらない程度の数に設定しておけば、各確認応答フ
ェーズでACKの取りこぼしが発生することはない。
【0145】図21は、各フェーズがどのように組み合
わされて全体のプロトコルを構成するかを示す図であ
る。送信サイトは、上述の実施例と同様にして構造定義
およびブロックの構成を行った後、図21の転送部42
0でパケットを転送し、全データの終了を検知すると直
ちに終了部430の処理を行なう。
【0146】転送部420では、個々のパケット毎に確
認応答を受けるのではなく、固定数のパケット毎に確認
応答を受ける。常に全データ送信後に確認応答を受ける
ことにすると、送信データ量が既知であるという制約が
生じる。任意長のデータを送ることを可能とするため
に、固定数のパケットをブロックとしてまとめ、ブロッ
ク毎に確認応答を受けることにする。
【0147】本実施例では、ブロードキャスト機能が備
わったネットワークを仮定しているので、転送部420
の送信では、構成定義で決定したグループとは関係な
く、1パケット毎にブロードキャスト通信機能を用いて
全サイトへ送信を行なう。ブロック送信421,42
4,427では、この1パケットの送信を、1ブロック
分繰り返す。
【0148】送信パケットは、上記実施例と同様の図1
2(a)の構成である。1ブロック送信終了後、ステッ
プ422で、いま送ったブロックについて、グループ1
からのみ確認応答を受ける。確認応答パケットの構成
は、上記実施例と同様の図12(b)の構成である。
【0149】図12(b)の再送要求パケット番号44
7を元にして、ステップ423で、送信サイトは1対1
通信を用いて再送を行なう。ここまでは、グループ1に
属するサイトによる1ブロック分のデータ到着のみ保証
しており、グループ2,3については保証していない。
【0150】次に、再送終了後、ステップ424で次の
ブロックを送る。その後、ステップ425,426でグ
ループ2の確認応答を受ける。ここの確認応答は、ステ
ップ421でグループ2のサイトに送られたパケットの
確認応答をも含む。これを、グループの数だけ繰り返
す。当該例では、3グループなので、ステップ428,
429でグループ3からの確認応答を受けとった後、ス
テップ421の処理に戻る。
【0151】転送部420のブロック送信(421,4
24,427)のいずれかで送信終了が判明した場合、
直ちに終了部430の処理に入る。まだ確認応答がすん
でいないパケットが存在する可能性があるので、各グル
ープ毎に確認応答要求を送り(431,433,43
5)、確認応答を待つ(432,434,436)。確
認応答を調べて再送が必要であれば、再送処理を行な
う。全てのグループに対する確認応答の収集が終了した
ら、プロトコル処理を終了する(437)。
【0152】この実施例によれば、ACKの収集をグル
ープごとに時間的にずらして行なっているので、時間的
にACKが集中することが排除できる。
【0153】[信号収集用のハードウェアを用いた実施
例]次に、信号収集用のハードウェアを用いた実施例に
ついて説明する。
【0154】図22は、本実施例のハードウェア構成を
示す。1〜16の番号を付した矩形がサイトを示し、こ
れらの各サイトおよびコントロールサイト502は通信
線503により相互に接続されている。コントロールサ
イト502も含む各サイトは、通信線503を介して通
常の通信を行なう。
【0155】また、当該ハードウェアでは、各サイトと
コントロールサイト502とを接続する事象通知用の信
号線501が設けられている。コントロールサイト50
2のCPUは、インタフェースアダプタ500を介して
この信号線501にアクセスする。この信号線501を
用いて、各サイトはコントロールサイト502へ事象の
通知を行なう。逆にいえば、コントロールサイト502
上のソフトウェアは、各サイトからの信号線501を介
して、どのサイトがオン状態にあるかどのサイトがオフ
状態にあるかを検出することが可能となっている。さら
に、コントロールサイト502では、全サイトからの信
号線501のAND信号を簡単に取り出すことが可能で
ある。
【0156】図23は、上記のハードウェア上で、任意
のサイト(サイト1〜16中のいずれか)からブロード
キャスト転送を行なうときの様子を示す。送信を行なう
サイト上で動作する送信ソフトウェア511は、上記の
実施例と同様にして構造定義とブロック構成を行なった
後に、ブロードキャスト開始512を、図22の通信線
503を介して、コントロールサイト502上のコント
ロールソフトウェア510へ送信する。
【0157】その後、送信ソフトウェア511は、構造
定義情報に従って、通信線503を介してブロードキャ
ストを行なう。送信サイト以外のサイトでは受信ソフト
ウェア516が動作しており、送信ソフトウェア511
から送られたパケットを受信する。送信ソフトウェア5
11は、1ブロック送信完了後に直ちに信号線501を
オン517にする。また、各受信サイトの受信ソフトウ
ェア516は、1ブロックの受信中に取りこぼしがない
場合、信号線501をオンにする。各受信サイトの受信
ソフトウェア516からの信号線501のオン信号がA
CKに相当し、コントロールソフトウェア510はこれ
によりACK収集514を行なう。
【0158】送信開始512を受けたコントロールソフ
トウェア510は、送信ソフトウェア511の存在する
サイトの信号線501がオンになるのを待つ。これがオ
ンになったら、送信ソフトウェア511から1ブロック
送信完了したということになる。次に、コントロールソ
フトウェア510は、送信ソフトウェア511からの信
号線501のオン検出から一定時間経過した後に、イン
タフェースアダプタ500から信号線501のAND信
号を読み出す。
【0159】AND信号がオフであれば、いずれかの受
信サイトでパケットの取りこぼしが発生したことにな
る。従って、コントロールソフトウェア510は、各サ
イトに対応する信号線501を調べ、信号線501がオ
フのサイトを検索する。コントロールソフトウェア51
0は、信号線501がオフであるサイトは取りこぼしが
発生したサイトであるとみなし、送信ソフトウェア51
1に、当該サイトへの再送処理の要求を発行する。
【0160】以上のようにして、信号収集用のハードウ
ェアを利用して複数パケットから成るデータのブロード
キャスト転送を行なう。
【0161】[動的な構造定義の実施例]次に、構造定
義を動的に行なう実施例を説明する。
【0162】図24は、本実施例におけるソフトウェア
の構成を示す。この図は、1つのサイト530のソフト
ウェア構成を示し、各サイトごとにこの構成を備える。
531は構造定義部100を含むブロードキャスト実行
部、532はネットワーク状態監視部である。ブロード
キャスト実行部531は、上述したプログラムのロード
の実施例やずらしACKの実施例で説明した方法などを
用いてブロードキャストを実行する部分である。ネット
ワーク状態監視部532は、ネットワークの状態を監視
する部分で、ネットワークの混み具合や、受信パケット
用のキューの長さなどを監視する。
【0163】ブロードキャスト実行時には、構造定義部
100で、ネットワーク状態監視部532に問合せを行
ない、ネットワークの状態を得る。構造定義部100
は、この状態に基づいて構造定義を行なう。
【0164】図25は、このような構造定義の一例を示
す。始めに、ネットワーク状態監視部532へ監視情報
取得要求を出す(540)。次に、取得した情報から、
受信パケットキューの空きの長さの平均を求める(54
1)。この値の8割に相当する値を求め、その値をNと
する(542)。そして、Nを、各サイトにおける短時
間にパケットを受信しても取りこぼさない数の上限とみ
なす。次に、木構造を作成する際に、各レベルにおける
子ノードの最大数がN以下となるように、構造を決定す
る(543)。
【0165】なお、ずらしACKの実施例で、このよう
な動的な構造定義を行なう場合は、グループ化の際に、
グループに含まれる要素の数がN以下となるようにグル
ープ化を行なえばよい。
【0166】
【発明の効果】本発明によれば、単一のサイトから複数
のサイトへ同一データを転送する場合、データの取りこ
ぼしなく、確実に転送できる。また、複数パケットから
成るデータに対して、パケットをブロックに分割し、各
ブロックごとに確認応答の収集を行なうので、全体の処
理に対する確認応答収集処理の割合を小さくでき、効率
的な転送が可能となる。
【0167】さらに、再送処理が必要なサイトに対応す
る上位階層のサイトが異なるときは、並列に再送処理を
行うようにしているので、再送処理を1サイトで逐次的
に行なう場合に比べて、高速な再送処理が可能である。
計算機のネットワークアーキテクチャの構造を考慮して
階層構造を作成すれば、ネットワークの性質を利用した
効率的なデータの配付および確認応答の収集が可能とな
り、全体として高速な信頼性のあるブロードキャスト通
信が可能となる。
【0168】さらに、ハードウェアがブロードキャスト
やマルチキャスト機能をサポートしている場合は、当該
機能を効果的に利用した高速な通信を行なうことが可能
となる。
【0169】送信サイト以外のサイトをグループ化し、
各グループによって異なるタイミングで確認応答を行な
うようにすれば、確認応答パケットによるぶつかりの数
を減らすことが可能となる。
【図面の簡単な説明】
【図1】本発明の1実施例の構成を示すブロック図であ
る。
【図2】本発明の1実施例における、送信処理を示す図
である。
【図3】本発明の1実施例における、確認応答収集処理
を示す図である。
【図4】本発明の1実施例における、再送処理を示す図
である。
【図5】本発明の1実施例における、定義した階層構造
を示す図である。
【図6】本発明の1実施例における、送信サイトにおけ
るデータの送信手順を示す図である。
【図7】本発明の1実施例における、中間サイトにおけ
るデータの中継手順を示す図である。
【図8】本発明の1実施例における、中間サイトにおけ
る再送要求処理の手順を示す図である。
【図9】本発明の1実施例における、受信サイトにおけ
るデータの受信手順を示す図である。
【図10】本発明の1実施例における、確認応答表を示
す図である。
【図11】本発明の1実施例における、受信パケット管
理表を示す図である。
【図12】本発明の1実施例における、パケットの構造
を示す図である。
【図13】本発明の1実施例における、ネットワークト
ポロジーと木構造とのマッピングを示す図である。
【図14】本発明の1実施例における、ハイパーキュー
ブと木構造とのマッピングを示す図である。
【図15】本発明の1実施例における、ハイパーキュー
ブ上の各サイトの送信サイトからのハミング距離による
分類表を示す図である。
【図16】本発明の1実施例における、ハイパーキュー
ブ上の各サイトの木構造へのマッピングを示す図であ
る。
【図17】本発明の1実施例における、ハイパーキュー
ブ上の各サイトを木構造へマッピングする手順を示す図
である。
【図18】本発明の1実施例における、ハイパークロス
バのトポロジーを示す図である。
【図19】本発明の1実施例における、構造定義情報の
表現を示す図である。
【図20】本発明の1実施例における、ずらしACK処
理の各フェーズにおける動作を示す図である。
【図21】本発明の1実施例における、ずらしACK処
理の手順を示す図である。
【図22】本発明の1実施例における、事象通知用の信
号線をもつネットワークの構造を示す図である。
【図23】本発明の1実施例における、事象通知用の信
号線を利用したブロードキャスト方法を示す図である。
【図24】本発明の1実施例における、動的な構造定義
の構成を示すブロック図である。
【図25】本発明の1実施例における、動的な構造定義
の手順を示す図である。
【図26】確認応答の取りこぼしの動作を示す図であ
る。
【符合の説明】
1,2,50〜63…サイト、20,21,23…通信
線、3…外部記憶装置、5…送信ソフトウェア、9…中
継ソフトウェア、10…受信ソフトウェア、118…ブ
ロック構成部、100…構造定義部、6,17…パケッ
ト送信部、7,16,19…パケット受信部、7,25
…応答受信部、18…再送部、24…再送要求部、8,
15…確認応答表、14,22…受信パケット管理表。
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 12/18 8732−5K H04L 11/18 (72)発明者 藤田 不二男 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】プロセッサとローカルメモリとを備えた複
    数のサイトがネットワークで結合された計算機システム
    において、ある送信サイトから他の全てのサイトに複数
    パケットから成る同じデータを送信する一斉同報通信方
    法であって、 送信サイトにおいて、他サイトに送信すべき複数パケッ
    トを、所定数のパケットからなるブロックに分割するブ
    ロック構成ステップと、 送信サイトのみの階層を最上位階層とする階層構造を作
    成する構造定義ステップと、 前記階層構造を表す階層情報を各パケットに付加して、
    ブロックごとに、そのブロックの複数のパケットを送信
    サイトから他の全てのサイトに送信するパケット送信ス
    テップと、 前記階層構造の最下位階層に位置するサイトにおいて、
    前記パケット送信ステップにより送信された1ブロック
    の複数のパケットの受信を確認した後、自サイトに対応
    する上位階層のサイトに確認応答パケットを送信するス
    テップと、 前記階層構造中で最上位階層と最下位階層との中間の階
    層に位置するサイトにおいて、自サイトに対応する下位
    階層の全サイトからの確認応答パケットの到着と、自サ
    イトにおける前記1ブロックの複数のパケットの受信と
    を確認した後、自サイトに対応する上位階層のサイトに
    確認応答パケットを送信するステップと、 前記階層構造の最上位階層に位置する送信サイトにおい
    て、自サイトに対応する下位階層の全サイトからの確認
    応答パケットを受信して、送信を完了するステップとを
    備えたことを特徴とする一斉同報通信方法。
  2. 【請求項2】請求項1に記載の一斉同報通信方法におい
    て、 前記パケット送信ステップは、前記階層構造に沿って前
    記ブロックの複数のパケットを送信することを特徴とす
    る一斉同報通信方法。
  3. 【請求項3】請求項2に記載の一斉同報通信方法におい
    て、 前記階層構造の最上位階層に位置する送信サイトは、自
    サイトに対応する下位階層の全サイトに、前記ブロック
    の複数のパケットを一斉同報通信で送信し、 前記階層構造中で最上位階層と最下位階層との中間の階
    層に位置するサイトは、自サイトに対応する上位階層の
    サイトから一斉同報通信で送信された前記ブロックの複
    数のパケットを受信し、その複数のパケットを自サイト
    に対応する下位階層の全サイトに一斉同報通信で送信す
    ることを特徴とする一斉同報通信方法。
  4. 【請求項4】請求項3に記載の一斉同報通信方法におい
    て、 送信サイト以外のサイトで再送処理が必要になった場合
    は、そのサイトに対応する上位階層のサイトに再送要求
    を送信し、その再送要求を受信したサイトは再送を行な
    うことを特徴とする一斉同報通信方法。
  5. 【請求項5】請求項4に記載の一斉同報通信方法におい
    て、 送信サイト以外の複数のサイトで再送処理が必要になっ
    た場合、そのサイトに対応する上位階層のサイトが異な
    るときは、並列に再送処理を行なうことを特徴とする一
    斉同報通信方法。
  6. 【請求項6】請求項1から5のいずれか1つに記載の一
    斉同報通信方法において、 前記構造定義ステップは、計算機システムのネットワー
    クアーキテクチャの構造に基づいて前記階層構造を作成
    することを特徴とする一斉同報通信方法。
  7. 【請求項7】請求項6に記載の一斉同報通信方法におい
    て、 前記構造定義ステップは、前記送信サイトからの送受信
    の遅れがより小さいサイトがより上位になるように、前
    記階層構造を作成することを特徴とする一斉同報通信方
    法。
  8. 【請求項8】プロセッサとローカルメモリとを備えた複
    数のサイトがネットワークで結合された計算機システム
    において、ある送信サイトから他の全てのサイトに複数
    パケットから成る同じデータを送信する一斉同報通信方
    法であって、 送信サイトにおいて、他サイトに送信すべき複数パケッ
    トを、所定数のパケットからなるブロックに分割するブ
    ロック構成ステップと、 送信サイト以外のサイトを複数のグループに分割する構
    造定義ステップと、 前記送信サイトから、ブロックごとに、そのブロックの
    複数のパケットを他の全てのサイトに送信するパケット
    送信ステップと、 前記各グループ中のサイトにおいて、グループによって
    異なるタイミングで送信サイトに確認応答パケットを応
    答するステップとを備えたことを特徴とする一斉同報通
    信方法。
  9. 【請求項9】請求項8に記載の一斉同報通信方法におい
    て、 前記各グループの要素となるサイトの数を、前記確認応
    答パケットの取りこぼしが発生しない程度の数とするこ
    とを特徴とする一斉同報通信方法。
  10. 【請求項10】請求項1から9のいずれか1つに記載の
    一斉同報通信方法において、 前記確認応答パケットを送受するためのハードウェアを
    設けたことを特徴とする一斉同報通信方法。
  11. 【請求項11】請求項1から10のいずれか1つに記載
    の一斉同報通信方法において、 前記構造定義ステップは、ネットワークの状態に基づい
    て構造定義を行なうことを特徴とする一斉同報通信方
    法。
  12. 【請求項12】プロセッサとローカルメモリとを備えた
    複数のサイトがネットワークで結合された計算機システ
    ムにおいて、ある送信サイトから他の全てのサイトに複
    数パケットから成る同じデータを送信するための一斉同
    報通信装置であって、 送信サイトにおいて、他サイトに送信すべき複数パケッ
    トを、所定数のパケットからなるブロックに分割するブ
    ロック構成手段と、 送信サイトのみの階層を最上位階層とする階層構造を作
    成する構造定義手段と、 前記階層構造を表す階層情報を各パケットに付加して、
    ブロックごとに、そのブロックの複数のパケットを送信
    サイトから他の全てのサイトに送信するパケット送信手
    段と、 前記階層構造の最下位階層に位置するサイトにおいて、
    前記パケット送信ステップにより送信された1ブロック
    の複数のパケットの受信を確認した後、自サイトに対応
    する上位階層のサイトに確認応答パケットを送信する手
    段と、 前記階層構造中で最上位階層と最下位階層との中間の階
    層に位置するサイトにおいて、自サイトに対応する下位
    階層の全サイトからの確認応答パケットの到着と、自サ
    イトにおける前記1ブロックの複数のパケットの受信と
    を確認した後、自サイトに対応する上位階層のサイトに
    確認応答パケットを送信する手段と、 前記階層構造の最上位階層に位置する送信サイトにおい
    て、自サイトに対応する下位階層の全サイトからの確認
    応答パケットを受信して、送信を完了する手段とを備え
    たことを特徴とする一斉同報通信装置。
JP5351129A 1993-12-30 1993-12-30 一斉同報通信方法およびその装置 Pending JPH07200505A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5351129A JPH07200505A (ja) 1993-12-30 1993-12-30 一斉同報通信方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5351129A JPH07200505A (ja) 1993-12-30 1993-12-30 一斉同報通信方法およびその装置

Publications (1)

Publication Number Publication Date
JPH07200505A true JPH07200505A (ja) 1995-08-04

Family

ID=18415247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5351129A Pending JPH07200505A (ja) 1993-12-30 1993-12-30 一斉同報通信方法およびその装置

Country Status (1)

Country Link
JP (1) JPH07200505A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341279A (ja) * 1999-04-27 2000-12-08 Hewlett Packard Co <Hp> ネットワークにおけるループを防止する方法
WO2003005758A1 (fr) * 2001-07-03 2003-01-16 Matsushita Electric Industrial Co., Ltd. Systeme de radiocommunication et procede de radiocommunication
JP2005515551A (ja) * 2002-01-10 2005-05-26 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法
JP2006286002A (ja) * 2005-04-04 2006-10-19 Sony Computer Entertainment Inc 分散型のマルチプロセッサシステム内において一貫性管理を行う方法、システムおよび装置
JP2007148748A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2007287142A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> チケット・ベースの動作の追跡をサポートするデータを処理するためのデータ処理システムおよび方法
JP2007316956A (ja) * 2006-05-25 2007-12-06 Fujitsu Ltd 通信インターフェース装置及び通信方法
JP2007316955A (ja) * 2006-05-25 2007-12-06 Fujitsu Ltd 通信インターフェース装置及び通信方法
JP2008118351A (ja) * 2006-11-02 2008-05-22 National Institute Of Information & Communication Technology 無線通信システム
JP2009508211A (ja) * 2005-09-21 2009-02-26 ハリス コーポレイション エンドポイントに透過な独立したメッセージ処理システム及び方法
JP2009094863A (ja) * 2007-10-10 2009-04-30 Nippon Telegr & Teleph Corp <Ntt> 高信頼マルチキャストデータ配信システム,高信頼マルチキャストデータ配信方法および高信頼マルチキャストデータ配信プログラム
WO2010125859A1 (ja) * 2009-04-28 2010-11-04 日本電気株式会社 ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
JP2012010296A (ja) * 2010-06-28 2012-01-12 Toshiba Corp 無線通信システム及び中継装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341279A (ja) * 1999-04-27 2000-12-08 Hewlett Packard Co <Hp> ネットワークにおけるループを防止する方法
WO2003005758A1 (fr) * 2001-07-03 2003-01-16 Matsushita Electric Industrial Co., Ltd. Systeme de radiocommunication et procede de radiocommunication
US7174128B2 (en) 2001-07-03 2007-02-06 Matsushita Electric Industrial Co., Ltd. Radio communication system and radio communication method
JP2005515551A (ja) * 2002-01-10 2005-05-26 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法
JP2006286002A (ja) * 2005-04-04 2006-10-19 Sony Computer Entertainment Inc 分散型のマルチプロセッサシステム内において一貫性管理を行う方法、システムおよび装置
US7818507B2 (en) 2005-04-04 2010-10-19 Sony Computer Entertainment Inc. Methods and apparatus for facilitating coherency management in distributed multi-processor system
JP2009508211A (ja) * 2005-09-21 2009-02-26 ハリス コーポレイション エンドポイントに透過な独立したメッセージ処理システム及び方法
JP2007148748A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2007287142A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> チケット・ベースの動作の追跡をサポートするデータを処理するためのデータ処理システムおよび方法
US8139592B2 (en) 2006-04-13 2012-03-20 International Business Machines Corporation Ticket-based operation tracking
JP4696025B2 (ja) * 2006-05-25 2011-06-08 富士通株式会社 計算処理システムおよびデータ更新方法
JP2007316956A (ja) * 2006-05-25 2007-12-06 Fujitsu Ltd 通信インターフェース装置及び通信方法
JP2007316955A (ja) * 2006-05-25 2007-12-06 Fujitsu Ltd 通信インターフェース装置及び通信方法
US7853713B2 (en) 2006-05-25 2010-12-14 Fujitsu Limited Communication interface device and communication method
US7877574B2 (en) 2006-05-25 2011-01-25 Fujitsu Limited Relay node communication interface transmitting update packet to higher node by executing chain indivisibility instructions upon receiving data change notification from lower node
JP2008118351A (ja) * 2006-11-02 2008-05-22 National Institute Of Information & Communication Technology 無線通信システム
JP2009094863A (ja) * 2007-10-10 2009-04-30 Nippon Telegr & Teleph Corp <Ntt> 高信頼マルチキャストデータ配信システム,高信頼マルチキャストデータ配信方法および高信頼マルチキャストデータ配信プログラム
WO2010125859A1 (ja) * 2009-04-28 2010-11-04 日本電気株式会社 ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
JP5435024B2 (ja) * 2009-04-28 2014-03-05 日本電気株式会社 ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
US8792488B2 (en) 2009-04-28 2014-07-29 Nec Corporation Network switch, route setup method, program, and parallel computer system
JP2012010296A (ja) * 2010-06-28 2012-01-12 Toshiba Corp 無線通信システム及び中継装置

Similar Documents

Publication Publication Date Title
US5459725A (en) Reliable multicasting over spanning trees in packet communications networks
EP1323264B1 (en) Mechanism for completing messages in memory
US5404565A (en) Message tracking in a parallel network employing a status word at each node which reflects a message&#39;s progress
US4747100A (en) Token passing network utilizing active node table
US5167035A (en) Transferring messages between nodes in a network
US5621734A (en) Local area network with server and virtual circuits
US5931916A (en) Method for retransmitting data packet to a destination host by selecting a next network address of the destination host cyclically from an address list
US4823122A (en) Local area network for digital data processing system
JPH07200505A (ja) 一斉同報通信方法およびその装置
US5293377A (en) Network control information without reserved bandwidth
US5961659A (en) Independent simultaneous queueing of message descriptors
WO1999055042A1 (en) System and method for establishing a multicast message delivery error recovery tree in a digital network
Jones et al. Protocol design for large group multicasting: the message distribution protocol
Jia et al. RMP: fault-tolerant group communication
Danzig Flow control for limited buffer multicast
Garcia-Molina et al. An implementation of reliable broadcast using an unreliable multicast facility
JPH1198137A (ja) 通信ネットワークの構築方法
JPH02118760A (ja) マルチプロセッサシステム及びその利用方法
EP0358293B1 (en) Local area system transport
McQuillan et al. Some considerations for a high performance message-based interprocess communication system
JPH1188396A (ja) 通信装置
Jia et al. Design and analysis of an efficient and reliable atomic multicast protocol
Terry et al. The COSIE communications subsystem: support for distributed office applications
Mohammed et al. Highly reliable computer network for real time system
Shin Harts: A distributed real-time architecture